diff org/rom.org @ 472:69d1787522c7

Fixed type effectiveness; added it to the ROM map. (I've been remiss...)
author Dylan Holmes <ocsenave@gmail.com>
date Wed, 02 May 2012 19:52:06 -0500
parents 5f87c3e46c22
children 9a7fae5afd8f
line wrap: on
line diff
     1.1 --- a/org/rom.org	Sun Apr 29 20:35:58 2012 -0500
     1.2 +++ b/org/rom.org	Wed May 02 19:52:06 2012 -0500
     1.3 @@ -930,8 +930,8 @@
     1.4  
     1.5  ;;; TYPE EFFECTIVENESS
     1.6  
     1.7 -(println (take 15 (drop 0x3E62D (rom))))
     1.8 -(println (partition 3 (take 15 (drop 0x3E62D (rom)))))
     1.9 +(println (take 15 (drop 0x3E5FA (rom))))
    1.10 +(println (partition 3 (take 15 (drop 0x3E5FA (rom)))))
    1.11  
    1.12  (println
    1.13   (map
    1.14 @@ -939,7 +939,7 @@
    1.15      (list atk-type def-type (/ multiplier 10.)))
    1.16  
    1.17    (partition 3
    1.18 -             (take 15 (drop 0x3E62D (rom))))))
    1.19 +             (take 15 (drop 0x3E5FA (rom))))))
    1.20  
    1.21  
    1.22  (println
    1.23 @@ -952,7 +952,7 @@
    1.24      ])
    1.25    
    1.26    (partition 3
    1.27 -             (take 15 (drop 0x3E62D (rom))))))
    1.28 +             (take 15 (drop 0x3E5FA (rom))))))
    1.29  
    1.30  #+end_src
    1.31  
    1.32 @@ -960,10 +960,10 @@
    1.33  : [:normal :fighting :flying :poison :ground :rock :bird :bug :ghost :A :B :C :D :E :F :G :H :I :J :K :fire :water :grass :electric :psychic :ice :dragon]
    1.34  : ([0 :normal] [1 :fighting] [2 :flying] [3 :poison] [4 :ground] [5 :rock] [6 :bird] [7 :bug] [8 :ghost] [9 :A] [10 :B] [11 :C] [12 :D] [13 :E] [14 :F] [15 :G] [16 :H] [17 :I] [18 :J] [19 :K] [20 :fire] [21 :water] [22 :grass] [23 :electric] [24 :psychic] [25 :ice] [26 :dragon])
    1.35  : 
    1.36 -: (0 5 5 0 8 0 8 8 20 20 7 20 20 5 5)
    1.37 -: ((0 5 5) (0 8 0) (8 8 20) (20 7 20) (20 5 5))
    1.38 -: ((0 5 0.5) (0 8 0.0) (8 8 2.0) (20 7 2.0) (20 5 0.5))
    1.39 -: ([:normal :rock 0.5] [:normal :ghost 0.0] [:ghost :ghost 2.0] [:fire :bug 2.0] [:fire :rock 0.5])
    1.40 +: (21 20 20 20 22 20 20 25 20 22 21 20 23 21 20)
    1.41 +: ((21 20 20) (20 22 20) (20 25 20) (22 21 20) (23 21 20))
    1.42 +: ((21 20 2.0) (20 22 2.0) (20 25 2.0) (22 21 2.0) (23 21 2.0))
    1.43 +: ([:water :fire 2.0] [:fire :grass 2.0] [:fire :ice 2.0] [:grass :water 2.0] [:electric :water 2.0])
    1.44  
    1.45  
    1.46  ***
    1.47 @@ -985,11 +985,12 @@
    1.48                              (/ mult 10)])
    1.49        (partition 3
    1.50                   (take-while (partial not= 0xFF)
    1.51 -                             (drop 0x3E62D rom))))))
    1.52 +                             (drop 0x3E5FA rom))))))
    1.53  #+end_src
    1.54  
    1.55  
    1.56  
    1.57 +
    1.58  * Moves
    1.59  ** Names of moves
    1.60  *** See the data
    1.61 @@ -1470,7 +1471,7 @@
    1.62  | 39E2F-3A5B2           | Trainer Pok\eacute{}mon | Specially-formatted lists of various length, separated by 0x00. If the list starts with 0xFF, the rest of the list will alternate between levels and internal-ids. Otherwise, start of the list is the level of the whole team, and the rest of the list is internal-ids. | The first entry is (11 165 108 0), which means a level 11 team consisting of Rattata and Ekans. The entry for MISTY is (255 18 27 21 152 0), which means a team of various levels consisting of level 18 Staryu and level 21 Starmie. [fn::Incidentally, if you want to change your rival's starter Pok\eacute{}mon, it's enough just to change its species in all of your battles with him.].) |
    1.63  | 3B1E5-3B361           | Pointers to evolution/learnset data. | One high-low byte pair for each of the 190 Pok\eacute{}mon in internal order. |                 |
    1.64  |-----------------------+-----------------+-----------------+-----------------|
    1.65 -| 3B361-3BBAA           | Evolution and learnset data. [fn::Evolution data consists of how to make Pok\eacute{}mon evolve, and what they evolve into. Learnset data consists of the moves that Pok\eacute{}mon learn as they level up.] | Variable-length evolution information (see below), followed by a list of level/move-id learnset pairs. |                 |
    1.66 +| 3B361-3BBAA           | *Evolution and learnset data*. [fn::Evolution data consists of how to make Pok\eacute{}mon evolve, and what they evolve into. Learnset data consists of the moves that Pok\eacute{}mon learn as they level up.] | Variable-length evolution information (see below), followed by a list of level/move-id learnset pairs. |                 |
    1.67  | 3BBAA-3C000           | (empty)         |                 | 0 0 0 0 ...     |
    1.68  |-----------------------+-----------------+-----------------+-----------------|
    1.69  | 3D131-3D133           | The inventory of both OLD MAN and PROF. OAK when they battle for you. | Pairs of [item-id quantity], terminated by 0xFF. | (0x04 0x01 0xFF) They only have one Pok\eacute{}ball [fn::If you give them any ball, OAK will catch the enemy Pok\eacute{}mon and OLD MAN will miss. (OLD MAN misses even if he throws a MASTER BALL, which is a sight to see!) If you give them some other item first in the list, you'll be able to use that item normally but then you'll trigger the Safari Zone message: Pa will claim you're out of SAFARI BALLs and the battle will end. If you engage in either an OLD MAN or OAK battle with a Gym Leader, you will [1] get reprimanded if you try to throw a ball [2] incur the Safari Zone message [3] automatically win no matter which item you use [4] earn whichever reward they give you as usual [5] permanently retain the name OLD MAN / PROF. OAK.]. |
    1.70 @@ -1478,6 +1479,7 @@
    1.71  | 3E190-3E194           | Which moves have an increased critical-hit ratio? | List of move ids, terminated by 0xFF. | (0x02 0x4B 0x98 0xA3 0xFF) corresponding to karate-chop, razor-leaf, crabhammer, slash, end-of-list. |
    1.72  | 3E200-3E204           | " (???)         | "               | "               |
    1.73  | 3E231.                | Besides normal-type, which type of move can COUNTER counter? | A single byte representing a type id. | This is set to 1, the id of the FIGHTING type. |
    1.74 +| 3E5FA-3E6F0.          | *Type effectiveness* | Triples of bytes: =atk-type=, =def-type=, =multiplier=. The multiplier is stored as 10x its actual value to allow for fractions; so, 20 means 2.0x effective, 5 means 0.5x effective. Unlisted type combinations have 1.0x effectiveness by default. | The first few entries are (21 20 20) (20 22 20) (20 25 20) (22 21 20) (23 21 20), corresponding to [:water :fire 2.0] [:fire :grass 2.0] [:fire :ice 2.0] |
    1.75  |-----------------------+-----------------+-----------------+-----------------|
    1.76  | 40252-4027B           | Pok\eacute{}dex menu text | Variable-length strings separated by 0x50. | SEEN#OWN#CONTENTS#... |
    1.77  | 40370-40386           | Important constants for Pok\eacute{}dex entries |                 | HT _ _ *?′??″* [newline] WT _ _ _ *???* lb [0x50] *POK\Eacute{}* [0x50] |
    1.78 @@ -1510,7 +1512,7 @@
    1.79  | E9BD5-                | The text PLAY TIME (see above, 70442) |                 |                 |
    1.80  | F1A44-F1A45           | Which Pok\eacute{}mon does Officer Jenny give you? | A level/internal-id pair. | (10 177), corresponding to a level 10 Squirtle. |
    1.81  | F21BF-F21C0           | Which Pok\eacute{}mon does the salesman at the Mt. Moon Pok\eacute{}mon center give you? | A level/internal-id pair | (5 133), corresponding to a level 5 Magikarp. |
    1.82 -                                          |                 |                 |
    1.83 +|                       |                 |                 |                 |
    1.84     #+TBLFM: 
    1.85  
    1.86  ** COMMENT