# HG changeset patch # User Dylan Holmes # Date 1336006326 18000 # Node ID 69d1787522c7a25c6c711a59040cf95a9f95c041 # Parent 5f87c3e46c22e32a2cb64e6e421dfb2a42712ca8 Fixed type effectiveness; added it to the ROM map. (I've been remiss...) diff -r 5f87c3e46c22 -r 69d1787522c7 org/rom.org --- a/org/rom.org Sun Apr 29 20:35:58 2012 -0500 +++ b/org/rom.org Wed May 02 19:52:06 2012 -0500 @@ -930,8 +930,8 @@ ;;; TYPE EFFECTIVENESS -(println (take 15 (drop 0x3E62D (rom)))) -(println (partition 3 (take 15 (drop 0x3E62D (rom))))) +(println (take 15 (drop 0x3E5FA (rom)))) +(println (partition 3 (take 15 (drop 0x3E5FA (rom))))) (println (map @@ -939,7 +939,7 @@ (list atk-type def-type (/ multiplier 10.))) (partition 3 - (take 15 (drop 0x3E62D (rom)))))) + (take 15 (drop 0x3E5FA (rom)))))) (println @@ -952,7 +952,7 @@ ]) (partition 3 - (take 15 (drop 0x3E62D (rom)))))) + (take 15 (drop 0x3E5FA (rom)))))) #+end_src @@ -960,10 +960,10 @@ : [: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] : ([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]) : -: (0 5 5 0 8 0 8 8 20 20 7 20 20 5 5) -: ((0 5 5) (0 8 0) (8 8 20) (20 7 20) (20 5 5)) -: ((0 5 0.5) (0 8 0.0) (8 8 2.0) (20 7 2.0) (20 5 0.5)) -: ([:normal :rock 0.5] [:normal :ghost 0.0] [:ghost :ghost 2.0] [:fire :bug 2.0] [:fire :rock 0.5]) +: (21 20 20 20 22 20 20 25 20 22 21 20 23 21 20) +: ((21 20 20) (20 22 20) (20 25 20) (22 21 20) (23 21 20)) +: ((21 20 2.0) (20 22 2.0) (20 25 2.0) (22 21 2.0) (23 21 2.0)) +: ([:water :fire 2.0] [:fire :grass 2.0] [:fire :ice 2.0] [:grass :water 2.0] [:electric :water 2.0]) *** @@ -985,11 +985,12 @@ (/ mult 10)]) (partition 3 (take-while (partial not= 0xFF) - (drop 0x3E62D rom)))))) + (drop 0x3E5FA rom)))))) #+end_src + * Moves ** Names of moves *** See the data @@ -1470,7 +1471,7 @@ | 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.].) | | 3B1E5-3B361 | Pointers to evolution/learnset data. | One high-low byte pair for each of the 190 Pok\eacute{}mon in internal order. | | |-----------------------+-----------------+-----------------+-----------------| -| 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. | | +| 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. | | | 3BBAA-3C000 | (empty) | | 0 0 0 0 ... | |-----------------------+-----------------+-----------------+-----------------| | 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.]. | @@ -1478,6 +1479,7 @@ | 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. | | 3E200-3E204 | " (???) | " | " | | 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. | +| 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] | |-----------------------+-----------------+-----------------+-----------------| | 40252-4027B | Pok\eacute{}dex menu text | Variable-length strings separated by 0x50. | SEEN#OWN#CONTENTS#... | | 40370-40386 | Important constants for Pok\eacute{}dex entries | | HT _ _ *?′??″* [newline] WT _ _ _ *???* lb [0x50] *POK\Eacute{}* [0x50] | @@ -1510,7 +1512,7 @@ | E9BD5- | The text PLAY TIME (see above, 70442) | | | | F1A44-F1A45 | Which Pok\eacute{}mon does Officer Jenny give you? | A level/internal-id pair. | (10 177), corresponding to a level 10 Squirtle. | | 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. | - | | | +| | | | | #+TBLFM: ** COMMENT