Post by goldensandslash on May 22, 2020 23:01:10 GMT
Well, my last thread went over well, where I analyzed a Gen 1 Pokémon, so let's take a look at a Gen 2 Pokémon and compare it to a Gen 1 Pokémon.
Gen 1 Example Pokémon: 2F004422401515BE05273239CEB2009D0F005B0091001600C8036D4C90121E120622502C2E3129
Gen 2 Example Pokémon: C075CAF14A4C479B01FACF24B802FE13B22708A8D2934A01032408EB208D1333080095A25E49349480
You may notice that Gen 2's Pokémon has four extra digits. This makes sense, as there's now more data that each Pokémon has: gender, friendship, held items, shinyness, two different "Special" stats, and so forth. And yet... it fits it all within just four characters. How so?
Well, first of all, bear in mind that those "four digits" are actually sixteen digits, as the game works in binary. The true nature of the Gen 2 Pokémon is:
1011110000000001000100001000100100000000010101000101011011111000000101001001110011001000111001110011101011001000000000100111010000111100000000010110110000000010010001000000000001011000000000110010000000001101101101010011001001000000010010000111100001001000000110001000100101000000101100001011100011000100101001
But even so, sixteen digits isn't much to work with. So how did the programmers get this to work, while still maintaining compatibility with Gen 1? Well, the answer is that they completely overhauled Gen 1's system. Gen 1 had a lot of redundant data, and that redundant data was repurposed for Gen 2. As such, I can't just tell you what the last four hex digits are for and you can figure out the rest from Gen 1. So instead, we're gonna take it from the top.
Starting from the beginning, we see C0. This is the Pokémon's species. C0 is 192. So this is Pokémon number 192. Unlike in Gen 1, where this list of Pokémon was seemingly-random, Gen 2 is sensible and uses National Pokédex order. Pokémon 192 in the Pokédex is Sunflora. So this is a Sunflora.
The next digits are 75. This is the Pokémon's held item. 75 in hex is 117 in our traditional decimal system, so it is holding item number 117. Which item is that? Well, get ready for a long list...
1. Master Ball
2. Ultra Ball
3. Brightpowder
4. Great Ball
5. Poké Ball
7. Bicycle
8. Moon Stone
9. Antidote
10. Burn Heal
11. Ice Heal
12. Awakening
13. Parlyz Heal
14. Full Restore
15. Max Potion
16. Hyper Potion
17. Super Potion
18. Potion
19. Escape Rope
20. Repel
21. Max Elixer
22. Fire Stone
23. Thunderstone
24. Water Stone
26. HP Up
27. Protein
28. Iron
29. Carbos
30. Lucky Punch
31. Calcium
32. Rare Candy
33. X Accuracy
34. Leaf Stone
35. Metal Powder
36. Nugget
37. Poké Doll
38. Full Heal
39. Revive
40. Max Revive
41. Guard Spec.
42. Super Repel
43. Max Repel
44. Dire Hit
46. Fresh Water
47. Soda Pop
48. Lemonade
49. X Attack
51. X Defend
52. X Speed
53. X Special
54. Coin Case
55. Itemfinder
57. Exp.Share
58. Old Rod
59. Good Rod
60. Silver Leaf
61. Super Rod
62. PP Up
63. Ether
64. Max Ether
65. Elixer
66. Red Scale
67. Secretpotion
68. S.S. Ticket
69. Mystery Egg
70. Clear Bell (Crystal only)
71. Silver Wing
72. Moomoo Milk
73. Quick Claw
74. PSNCureBerry
75. Gold Leaf
76. Soft Sand
77. Sharp Beak
78. PRZCureBerry
79. Burnt Berry
80. Ice Berry
81. Poison Barb
82. King's Rock
83. Bitter Berry
84. Mint Berry
85. Red Apricorn
86. Tinymushroom
87. Big Mushroom
88. Silverpowder
89. Blu Apricorn
91. Amulet Coin
92. Ylw Apricorn
93. Grn Apricorn
94. Cleanse Tag
95. Mystic Water
96. Twistedspoon
97. Wht Apricorn
98. Blackbelt
99. Blk Apricorn
101. Pnk Apricorn
102. Blackglasses
103. Slowpoketail
104. Pink Bow
105. Stick
106. Smoke Ball
107. Nevermeltice
108. Magnet
109. MiracleBerry
110. Pearl
111. Big Pearl
112. Everstone
113. Spell Tag
114. Ragecandybar
115. GS Ball (Crystal only)
116. Blue Card (Crystal only)
117. Miracle Seed
118. Thick Club
119. Focus Band
121. Energypowder
122. Energy Root
123. Heal Powder
124. Revival Herb
125. Hard Stone
126. Lucky Egg
127. Card Key
128. Machine Part
129. Egg Ticket (Crystal only)
130. Lost Item
131. Stardust
132. Star Piece
133. Basement Key
134. Pass
138. Charcoal
139. Berry Juice
140. Scope Lens
143. Metal Coat
144. Dragon Fang
146. Leftovers
150. MysteryBerry
151. Dragon Scale
152. Berserk Gene
156. Sacred Ash
157. Heavy Ball
158. Flower Mail
159. Level Ball
160. Lure Ball
161. Fast Ball
163. Light Ball
164. Friend Ball
165. Moon Ball
166. Love Ball
167. Normal Box
168. Gorgeous Box
169. Sun Stone
170. Polkadot Bow
172. Up-Grade
173. Berry
174. Gold Berry
175. Squirtbottle
178. Rainbow Wing
180. Brick Piece
181. Surf Mail
182. Litebluemail
184. Lovely Mail
185. Eon Mail
186. Morph Mail
187. Bluesky Mail
188. Music Mail
189. Mirage Mail
191. TM01
192. TM02
193. TM03
194. TM04
196. TM05
197. TM06
198. TM07
199. TM08
200. TM09
201. TM10
202. TM11
203. TM12
204. TM13
205. TM14
206. TM15
207. TM16
208. TM17
209. TM18
210. TM19
211. TM20
212. TM21
213. TM22
214. TM23
215. TM24
216. TM25
217. TM26
218. TM27
219. TM28
221. TM29
222. TM30
223. TM31
224. TM32
225. TM33
226. TM34
227. TM35
228. TM36
229. TM37
230. TM38
231. TM39
232. TM40
233. TM41
234. TM42
235. TM43
236. TM44
237. TM45
238. TM46
239. TM47
240. TM48
241. TM49
242. TM50
243. HM01
244. HM02
245. HM03
246. HM04
247. HM05
248. HM06
249. HM07
Note that of the 256 possible values, there are a few numbers that don't have items corresponding to them, specifically 0, 6, 25, 45, 50, 56, 90, 100, 120, 135, 136, 137, 141, 142, 145, 147, 148, 149, 153, 154, 155, 162, 171, 176, 177, 179, 190, 195, 220, 250, 251, 252, 253, 254, and 255. 0 is used for when the Pokémon is holding no item. The others are glitchy items that don't do anything (though some can be sold for large amounts of money). Glitchy items also exist in Gold/Silver if the value of a Crystal-only item is used (70, 115, 116, or 129).
In our case, our Sunflora has item number 117, which is a Miracle Seed.
I already talked about this in my Gen 1 thread, but the value of a Pokémon's held item is stored in its catch rate in Gen 1. Thus, sending a Pokémon back to Gen 1 will give it a catch rate that is unusual for its species. But this will allow it to keep its held item when being traded back. It also means that any Pokémon that you catch in Gen 1 will have a held item, you just need to trade it over to Gen 2 to see what it is. If the item is then removed, it will have a held item value of 0. From there, it can be traded back to Gen 1, where it will have a catch rate of 0. This means that if traded back to Gen 2 again, it will still have no item.
After held item is CAF14A4C. This is the data for the Pokémon's moves. Our Sunflora has Move CA, Move F1, Move 4A, and Move 4C. These moves, in decimal, are 202, 241, 74, and 76. Which move corresponds to which number? Well, to preserve compatibility with Gen 1, moves 1 to 165 are the same as they were in Gen 1. Moves that are numbered 166 or higher are the new moves from Gen 2.
1. Pound
2. Karate Chop
3. Doubleslap
4. Comet Punch
5. Mega Punch
6. Pay Day
7. Fire Punch
8. Ice Punch
9. Thunderpunch
10. Scratch
11. Vicegrip
12. Guillotine
13. Razor Wind
14. Swords Dance
15. Cut
16. Gust
17. Wing Attack
18. Whirlwind
19. Fly
20. Bind
21. Slam
22. Vine Whip
23. Stomp
24. Double Kick
25. Mega Kick
26. Jump Kick
27. Rolling Kick
28. Sand-Attack
29. Headbutt
30. Horn Attack
31. Fury Attack
32. Horn Drill
33. Tackle
34. Body Slam
35. Wrap
36. Take Down
37. Thrash
38. Double-Edge
39. Tail Whip
40. Poison Sting
41. Twineedle
42. Pin Missile
43. Leer
44. Bite
45. Growl
46. Roar
47. Sing
48. Supersonic
49. Sonicboom
50. Disable
51. Acid
52. Ember
53. Flamethrower
54. Mist
55. Water Gun
56. Hydro Pump
57. Surf
58. Ice Beam
59. Blizzard
60. Psybeam
61. Bubblebeam
62. Aurora Beam
63. Hyper Beam
64. Peck
65. Drill Peck
66. Submission
67. Low Kick
68. Counter
69. Seismic Toss
70. Strength
71. Absorb
72. Mega Drain
73. Leech Seed
74. Growth
75. Razor Leaf
76. Solarbeam
77. Poisonpowder
78. Stun Spore
79. Sleep Powder
80. Petal Dance
81. String Shot
82. Dragon Rage
83. Fire Spin
84. Thundershock
85. Thunderbolt
86. Thunder Wave
87. Thunder
88. Rock Throw
89. Earthquake
90. Fissure
91. Dig
92. Toxic
93. Confusion
94. Psychic
95. Hypnosis
96. Meditate
97. Agility
98. Quick Attack
99. Rage
100. Teleport
101. Night Shade
102. Mimic
103. Screech
104. Double Team
105. Recover
106. Harden
107. Minimize
108. Smokescreen
109. Confuse Ray
110. Withdraw
111. Defense Curl
112. Barrier
113. Light Screen
114. Haze
115. Reflect
116. Focus Energy
117. Bide
118. Metronome
119. Mirror Move
120. Selfdestruct
121. Egg Bomb
122. Lick
123. Smog
124. Sludge
125. Bone Club
126. Fire Blast
127. Waterfall
128. Clamp
129. Swift
130. Skull Bash
131. Spike Cannon
132. Constrict
133. Amnesia
134. Kinesis
135. Softboiled
136. Hi Jump Kick
137. Glare
138. Dream Eater
139. Poison Gas
140. Barrage
141. Leech Life
142. Lovely Kiss
143. Sky Attack
144. Transform
145. Bubble
146. Dizzy Punch
147. Spore
148. Flash
149. Psywave
150. Splash
151. Acid Armor
152. Crabhammer
153. Explosion
154. Fury Swipes
155. Bonemerang
156. Rest
157. Rock Slide
158. Hyper Fang
159. Sharpen
160. Conversion
161. Tri Attack
162. Super Fang
163. Slash
164. Substitute
165. Struggle
166. Sketch
167. Triple Kick
168. Thief
169. Spider Web
170. Mind Reader
171. Nightmare
172. Flame Wheel
173. Snore
174. Curse
175. Flail
176. Conversion 2
177. Aeroblast
178. Cotton Spore
179. Reversal
180. Spite
181. Powder Snow
182. Protect
183. Mach Punch
184. Scary Face
185. Faint Attack
186. Sweet Kiss
187. Belly Drum
188. Sludge Bomb
189. Mud-Slap
190. Octazooka
191. Spikes
192. Zap Cannon
193. Foresight
194. Destiny Bond
195. Perish Song
196. Icy Wind
197. Detect
198. Bone Rush
199. Lock-On
200. Outrage
201. Sandstorm
202. Giga Drain
203. Endure
204. Charm
205. Rollout
206. False Swipe
207. Swagger
208. Milk Drink
209. Spark
210. Fury Cutter
211. Steel Wing
212. Mean Look
213. Attract
214. Sleep Talk
215. Heal Bell
216. Return
217. Present
218. Frustration
219. Safeguard
220. Pain Split
221. Sacred Fire
222. Magnitude
223. Dynamicpunch
224. Megahorn
225. Dragonbreath
226. Baton Pass
227. Encore
228. Pursuit
229. Rapid Spin
230. Sweet Scent
231. Iron Tail
232. Metal Claw
233. Vital Throw
234. Morning Sun
235. Synthesis
236. Moonlight
237. Hidden Power
238. Cross Chop
239. Twister
240. Rain Dance
241. Sunny Day
242. Crunch
243. Mirror Coat
244. Psych Up
245. Extremespeed
246. Ancientpower
247. Shadow Ball
248. Future Sight
249. Rock Smash
250. Whirlpool
251. Beat Up
So this Sunflora's moveset is Giga Drain, Sunny Day, Growth, and Solarbeam, in that order.
The next part of the number is 479B. This is the ID number of Sunflora's OT. In decimal, that's 18331.
The next chunk of digits is 01FACF. This is Sunflora's total amount of experience: 129743 in decimal.
After that is 24B802FE13B22708A8D2. This the data for stat experience. Broken into pieces, it'd be 24B8, 02FE, 13B2, 2708, and A8D2. This is how much stat experience the Sunflora has in each stat (equivalent to EVs today). They're in order of HP, Attack, Defense, Speed, and Special. As a quick note: the "Special" stat experience stat applies to both Special Attack and Special Defense, and it is calculated based on the Special Attack of the Pokémon that you defeat. Again, this is done to preserve compatibility with Gen 1. We can't trade our Sunflora back to Gen 1, both because it's a Gen 2 Pokémon and because it has a Gen 2 move, but if we take that Psyduck that we looked at last time, and trade it over to Gen 2, and then do some battling with it, and then trade it back, it will still keep its stat experience. You don't have to worry about conversion from a six-stat system to a five-stat system, because Gen 2 is secretly a five-stat system under the hood. Special Attack and Special Defense share both a DV and stat experience. The only reason a Pokémon would ever have a different number on its Special Attack stat and its Special Defense stat is if its species' base stats are different in those two numbers. Go ahead and catch a Pokémon that has equal base stats on Special Attack and Special Defense in Gen 2, such as Ditto or Mew. Do whatever you want with it, and no matter what you try, its Special Attack and Special Defense will ALWAYS be equal. You can't get one to be bigger than the other for any member of that species.
The next part is 934A. This is the Pokémon's DVs. Just like in Gen 1, they are listed in the order of Attack, Defense, Speed, and Special. Once again the "Special" DV is used to calculate both a Pokémon's Special Attack and its Special Defense. And just like in Gen 1, the HP DV is calculated based on the values of the other four. This ensures that stats won't change upon being traded back to Gen 1. (Sunflora's HP DV is 12.)
What's interesting is that DVs determine a lot more than just stats in Gen 2. They also determine a Pokémon's gender, a Pokémon's type and power of Hidden Power, a Pokémon's shinyness, and, in the case of Unown, which letter it will be. Why put all this information here? Why not make it so that this is stored elsewhere? Yet again, because of Gen 1 compatibility. If I take a male Pokémon and trade it to Gen 1, where there is no gender, that information will be lost. Then when I trade it back, the game would have to generate the gender again, and it might be female this time. That's no good. A Pokémon's gender should be preserved, thus they need to store that data in an area where a Gen 1 game can read it.
So, here's how it works. Every Pokémon in Gen 1-2 has a different gender ratio. They could be genderless, male-only, 87.5% male/12.5% female, 75% male/25% female, 50% male/50% female, 25% male/75% female, or female-only. In future generations, this is determined by a separate string of data, but here in Gen 2, we use DVs. Specifically the Attack DV. Each gender ratio has a certain "threshold", above which the Pokémon will be male and below which it will be female. Sunflora is in the 50/50 category. Thus, if its Attack DV is in the top 50% (8 to 15), then it will be male, and if it is in the bottom 50% (0 to 7), it will be female (in this case, it's 9, so it's male). Now you may think that this is REALLY sexist, since, all other factors being equal, a female Pokémon will never be able to have a higher Attack stat than a male of the same species.
Yep.
I'm willing to bet that's why they changed it. It's especially bad with your starter Pokémon since all starters have a 7:1 male:female ratio. This means that a female starter's Attack DV will max out at 1. Utterly pathetic. If you ever watch a Gen 2 competitive multiplayer match, you'll notice that all players use male Pokémon (except those of female-only species, like Chansey and Jynx). This is why. In Gen 2 Pokémon, males are superior to females. It's stupidly sexist and I'm glad it's gone. But, again, it had to be this way to preserve Gen 1 compatibility. Otherwise your Pokémon could randomly change gender upon being traded to Gen 1 and then traded back.
Similarly, let's talk about shinies. A Pokémon in Gen 2 is shiny if its DVs in Defense, Speed, and Special are all exactly 10 and its Attack DV is 2, 3, 6, 7, 10, 11, 14, or 15. Again, this is for the sake of Gen 1 compatibility. If you trade a shiny to Gen 1 and then trade it back, it will still be shiny. On the other hand, if you trade a non-shiny to Gen 1 and then trade it back, it will also never be shiny upon its return. This, again, means that shiny Pokémon are never used in competitive play, as they lack the optimal DVs of 15 in all stats. You may notice that the lowest Attack stat that a shiny Pokémon can have is 2. This means that if it's a Pokémon with a 7:1 male:female gender ratio, it can NEVER be a shiny female. Finally, if you're wondering about the Red Gyarados at the Lake of Rage, that is just hard-coded to always spawn with the DVs needed for shinyness. Any other Pokémon that you randomly find in the wild has a 1-in-8192 chance of being shiny, just by the nature of these numbers being randomly generated correctly. (In our case, by the way, Sunflora is not shiny.)
Now let's talk about Unown's letter. This, too, is calculated based on DVs. Hmmm... it would help to have an example here, so let's say the DV data is A91E. What's Unown's letter here? Well, we have to go through a complicated process to figure that out. First, we need to convert that string back into ones and zeroes. 1010100100011110. Split that up into four four-digit numbers: 1010, 1001, 0001, 1110. Then take the middle two digits of each number and string them together: 01000011. Then convert that binary number into our standard decimal system: 67. Next, divide by 10. You get 6.7. Remove any decimal places you have (don't round, just get rid of them entirely). Now we're at 6. Thus, Unown's letter is the 6th letter of the alphabet, which you'd think is F. But it's not. It's actually G. This is because the game's alphabet labels A as being 0, B as being 1, C as being 2, and so forth. So each letter is off-set by 1. This actually makes Unown Z less common than all the other Unown. There are 256 different possible Unown, and of them, the first 250 correspond to 10 copies of each of the first 25 letters of the alphabet, and only the final 6 are for Unown Z. Another interesting fact is that there are only two possible Unown that can be shiny in Gen 2: Unown I and Unown V.
Finally, let's talk about Hidden Power. Let's take a look at Sunflora and see if we can calculate what the power and type would be of Hidden Power if we were to teach it. As a reminder, Sunflora's DVs are 9 Attack, 3 Defense, 4 Speed, and 10 Special.
First up, the easy part, calculating Hidden Power's type. You just run the Attack and Defense DVs (which I will call "A" and "D") through the simple formula: 4 * (A mod 4) + (D mod 4). Whatever you get will be a number between 0 and 15. Then you just check which type that is. 0 is Fighting, 1 is Flying, 2 is Poison, 3 is Ground, 4 is Rock, 5 is Bug, 6 is Ghost, 7 is Steel, 8 is Fire, 9 is Water, 10 is Grass, 11 is Electric, 12 is Psychic, 13 is Ice, 14 is Dragon, and 15 is Dark. In the case of our Sunflora, it will have a Steel-type Hidden Power.
Now let's calculate Hidden Power's power, which is a lot harder. First, you see which DVs are 8 or higher. Those DVs are given a value of "1", and the others are given a value of "0". Put them in the order of Attack, Defense, Speed, and Special. In our example, we get 1001. This is a binary number. It corresponds to 9. Take whatever result you got (9 in our case), and multiply it by 5. Then you add X, where X is the Pokémon's Special DV mod 4. After that, cut the result in half, add 31, and then floor the final result. In our case, we got 54. Thus, Sunflora's Steel-type Hidden Power will have 54 power. The lowest you can get here is 31 and the highest is 70. Why is Hidden Power stored in DVs? I'm not sure. It's not like a Pokémon with Hidden Power can be traded to Gen 1, but I suppose if you taught it Hidden Power, deleted the move, traded it, traded it back, and then relearn the move, then it will be the same type as it was the first time you learned it. I don't know how necessary it was to preserve that in the intergenerational trade, but hey, it works.
So, to recap, those four numbers that were in that giant number at the top of the page were able to...
...determine our Sunflora's DVs.
...determine our Sunflora's gender.
...determine our Sunflora's shininess.
...determine what letter the Pokémon would be if it were an Unown. (Doesn't apply to Sunflora)
...determine what type Hidden Power would be if Sunflora were to learn it.
...determine how powerful Hidden Power would be if Sunflora were to learn it.
...determine who Sunflora can breed with. (I didn't mention this, but Gen 2 has a weird thing that later generations don't -- you can't do incest-breeding. The way it determines this is by looking at the DVs that could be passed on through breeding, and if there are two Pokémon that seem to be related, it won't ever generate an Egg even if they're in the same Egg Group. Of course, there's a small chance that two random individuals you caught in the wild happen to have DVs that line up in this way as well.)
That's a heck of a lot of data for just four digits. They compressed a lot of information into this. I'm impressed.
Now we can finally get back to that giant number and see what comes next.
01032408. This is the data for Sunflora's PP. It has 1 PP remaining on its first move, 3 on its second, 36 on its third, and 8 on its fourth. Just like in Gen 1, PP Up data is stored here by adding 64 to the value for each PP Up that has been used.
Next up is EB. This is the amount of Friendship that Sunflora has. In decimal, that's 235. That'll be good to know if we ever teach it Return or Frustration. Now, obviously, upon being traded to Gen 1, this value is lost. But that's okay, because any Pokémon that's traded to another game, even another Gen 2 game, has its happiness reset anyways. So it works out. Trade it to Gen 1 and back again, and the value will become 46 (which is 70 in decimal), the default happiness for all Pokémon in this generation. (Well, kinda. Pokémon hatched from an Egg start at 78 (which is 120) and Pokémon caught in a Friend Ball start at C8 (which is 200), but those are just outliers.)
Next we have 20. This is Pokérus data. So here's something that not a lot of people know about. There are actually four different strains of Pokérus that your Pokémon can get. More on this in a second. First of all, for a Pokémon that has never had the Pokérus before, it will have a value of 00. If it has, at any point in its life, had the Pokérus (whether currently or not), then the first digit will be a number other than 0. If the digit is 4, 8, or C, then it has/had Strain A. If it is 1, 5, 9, or D, then it has/had Strain B. If it is 2, 6, A, or E, then it has/had Strain C. And if it is 3, 7, B, or F, then it has/had Strain D. When a Pokémon spreads the Pokérus to another Pokémon, the new Pokémon gets the same strain that the old one has.
The only differences between the strains are how long it takes a Pokémon to recover from them, with Strain A taking a day, Strain B taking 2 days, Strain C taking 3 days, and Strain D taking 4 days. When a new Pokémon gets infected with the Pokérus, it sets the second digit equal to the number of days that it takes to recover from that strain. For example, if a Pokémon with the Pokérus data of 00 (never had Pokérus) were to get infected with strain C, then that data would change from 00 to 63. Once a day goes by, the last digit lowers by 1. It becomes 62. Then 61. And then 60. This is when you know the Pokémon is cured of the Pokérus: it has a leading digit that is nonzero and a last digit that is zero. When this occurs, a Pokémon can never get the Pokérus again.
Of course, Pokérus isn't in Gen 1, so when you trade it to Gen 1, this information is lost. Upon being traded back, it will have a Pokérus value of 00, and it'll be as though it had never had the Pokérus in the first place. This is a bit of a bummer, as so much other information was able to be preserved through Gen 1's tradeback feature, but sadly... this is one area where they had to give up their data.
The next chunk of data to analyze is 8D13. This is the "met at" location data. Note that it is only available in Crystal. If a Pokémon was originally caught in Red/Green/Blue/Yellow/Gold/Silver, then this data will be 0000. However, a Pokémon caught in Crystal and then traded to Gold/Silver will still preserve its location data, and it will be there when traded back. Trading to Gen 1, however, will erase the location data permanently. This information is normally inaccessible to the player, but there is one woman in Cianwood City in Crystal who will tell you a Pokémon's location data. Let's take a look at how it works, because there's quite a lot to unpack here.
Let's start with the first part: 8D. In decimal, that's 141. This is the level that we met Sunflora at. Um... yeah, that's clearly not correct. What's going on here? Well, there's more data here than just level. It also stores what time we met Sunflora. Whatever level we met Sunflora at? They add 64 to it if we met during the morning, 128 if we met during the day, and 192 if we met during the night. In this case, we met during the day at Level 13. By the way, Pokémon that are hatched from Eggs are given a value of 01 here, even though Eggs hatch at Level 5 in this generation.
The next part is 13. This is 19 in decimal. Thus, we met Sunflora at Location #18. Which one is that? Well, there's a list and it's basically all the Johto locations in the order that the player is expected to explore them in, followed by all the Kanto locations in the order that a Gen 1 player would explore them in, followed by all of the in-between areas of Kanto and Johto.
1. New Bark Town
2. Route 29
3. Cherrygrove City
4. Route 30
5. Route 31
6. Violet City
7. Sprout Tower
8. Route 32
9. Ruins of Alph
10. Union Cave
11. Route 33
12. Azalea Town
13. Slowpoke Well
14. Ilex Forest
15. Route 34
16. Goldenrod City
17. Radio Tower
18. Route 35
19. National Park
20. Route 36
21. Route 37
22. Ecruteak City
23. Tin Tower
24. Burned Tower
25. Route 38
26. Route 39
27. Olivine City
28. Lighthouse
29. Battle Tower
30. Route 40
31. Whirl Islands
32. Route 41
33. Cianwood City
34. Route 42
35. Mt. Mortar
36. Mahogany Town
37. Route 43
38. Lake of Rage
39. Route 44
40. Ice Path
41. Blackthorn City
42. Dragon's Den
43. Route 45
44. Dark Cave
45. Route 46
46. Silver Cave
47. Pallet Town
48. Route 1
49. Viridian City
50. Route 2
51. Pewter City
52. Route 3
53. Mt. Moon
54. Route 4
55. Cerulean City
56. Route 24
57. Route 25
58. Route 5
59. Underground
60. Route 6
61. Vermillion City
62. Diglett's Cave
63. Route 7
64. Route 8
65. Route 9
66. Rock Tunnel
67. Route 10
68. Power Plant
69. Lavender Town
70. Lav Radio Tower
71. Celadon City
72. Saffron City
73. Route 11
74. Route 12
75. Route 13
76. Route 14
77. Route 15
78. Route 16
79. Route 17
80. Route 18
81. Fuchsia City
82. Route 19
83. Route 20
84. Seafoam Islands
85. Cinnabar Island
86. Route 21
87. Route 22
88. Victory Road
89. Route 23
90. Indigo Plateau
91. Route 26
92. Route 27
93. Tohjo Falls
94. Route 28
95. Fast Ship
Thus, we met our Sunflora at National Park. There is one more thing of note: what gender was the Trainer that originally caught Sunflora? Well, because we got a nice normal number here, it was a male trainer. But female trainers are marked by adding 128 to the location's number. Thus, this same Sunflora, had it been caught by a female Trainer, would have had a number of 147.
Again, lots of compressed data. Just four digits told us the gender of the Trainer that caught Sunflora, where they were at the time, what level the Sunflora was, and what time of day it was. Damn.
Next up is 33. This is just Sunflora's current level. In decimal, that's 51.
At this point, Pokémon in Bill's PC terminate their code. Everything listed below applies only to Pokémon in your party. This includes current HP and status ailments. That means that you can fully heal a Pokémon (except for its PP) by simply depositing and withdrawing it. This is not a thing in Gen 1, but it is in Gen 2. Also, because we still have not yet calculated stats, it means that same deposit-withdraw exploit from Gen 1 will continue to work in Gen 2.
Anyways, next is 08, which is Sunflora's current status ailment. It's calculated the same way as in Gen 1. Next!
Next is... an oddball. It's 00. What does this mean? Absolutely nothing. Every single Pokémon in all of Gen 2 has a value of 00 here, and if you hack the game to change this number, it does nothing. This is literally just a bunch of unused data.
Next is 95. This is Sunflora's current HP. In decimal, that's 149.
The rest of the number is A25E49349480. This is Sunflora's stats: A2, 5E, 49, 34, 94, and 80. In order, that's HP, Attack, Defense, Speed, Special Attack, and Special Defense. A bit odd to put Speed before the Special stats, but it's what they do. To put this in actual numbers, our Sunflora's stats are:
162 HP, 94 Attack, 73 Defense, 148 Special Attack, 128 Special Defense, and 52 Speed. (I'm putting them in their more standardized order.)
Gen 1 Example Pokémon: 2F004422401515BE05273239CEB2009D0F005B0091001600C8036D4C90121E120622502C2E3129
Gen 2 Example Pokémon: C075CAF14A4C479B01FACF24B802FE13B22708A8D2934A01032408EB208D1333080095A25E49349480
You may notice that Gen 2's Pokémon has four extra digits. This makes sense, as there's now more data that each Pokémon has: gender, friendship, held items, shinyness, two different "Special" stats, and so forth. And yet... it fits it all within just four characters. How so?
Well, first of all, bear in mind that those "four digits" are actually sixteen digits, as the game works in binary. The true nature of the Gen 2 Pokémon is:
1011110000000001000100001000100100000000010101000101011011111000000101001001110011001000111001110011101011001000000000100111010000111100000000010110110000000010010001000000000001011000000000110010000000001101101101010011001001000000010010000111100001001000000110001000100101000000101100001011100011000100101001
But even so, sixteen digits isn't much to work with. So how did the programmers get this to work, while still maintaining compatibility with Gen 1? Well, the answer is that they completely overhauled Gen 1's system. Gen 1 had a lot of redundant data, and that redundant data was repurposed for Gen 2. As such, I can't just tell you what the last four hex digits are for and you can figure out the rest from Gen 1. So instead, we're gonna take it from the top.
Starting from the beginning, we see C0. This is the Pokémon's species. C0 is 192. So this is Pokémon number 192. Unlike in Gen 1, where this list of Pokémon was seemingly-random, Gen 2 is sensible and uses National Pokédex order. Pokémon 192 in the Pokédex is Sunflora. So this is a Sunflora.
The next digits are 75. This is the Pokémon's held item. 75 in hex is 117 in our traditional decimal system, so it is holding item number 117. Which item is that? Well, get ready for a long list...
1. Master Ball
2. Ultra Ball
3. Brightpowder
4. Great Ball
5. Poké Ball
7. Bicycle
8. Moon Stone
9. Antidote
10. Burn Heal
11. Ice Heal
12. Awakening
13. Parlyz Heal
14. Full Restore
15. Max Potion
16. Hyper Potion
17. Super Potion
18. Potion
19. Escape Rope
20. Repel
21. Max Elixer
22. Fire Stone
23. Thunderstone
24. Water Stone
26. HP Up
27. Protein
28. Iron
29. Carbos
30. Lucky Punch
31. Calcium
32. Rare Candy
33. X Accuracy
34. Leaf Stone
35. Metal Powder
36. Nugget
37. Poké Doll
38. Full Heal
39. Revive
40. Max Revive
41. Guard Spec.
42. Super Repel
43. Max Repel
44. Dire Hit
46. Fresh Water
47. Soda Pop
48. Lemonade
49. X Attack
51. X Defend
52. X Speed
53. X Special
54. Coin Case
55. Itemfinder
57. Exp.Share
58. Old Rod
59. Good Rod
60. Silver Leaf
61. Super Rod
62. PP Up
63. Ether
64. Max Ether
65. Elixer
66. Red Scale
67. Secretpotion
68. S.S. Ticket
69. Mystery Egg
70. Clear Bell (Crystal only)
71. Silver Wing
72. Moomoo Milk
73. Quick Claw
74. PSNCureBerry
75. Gold Leaf
76. Soft Sand
77. Sharp Beak
78. PRZCureBerry
79. Burnt Berry
80. Ice Berry
81. Poison Barb
82. King's Rock
83. Bitter Berry
84. Mint Berry
85. Red Apricorn
86. Tinymushroom
87. Big Mushroom
88. Silverpowder
89. Blu Apricorn
91. Amulet Coin
92. Ylw Apricorn
93. Grn Apricorn
94. Cleanse Tag
95. Mystic Water
96. Twistedspoon
97. Wht Apricorn
98. Blackbelt
99. Blk Apricorn
101. Pnk Apricorn
102. Blackglasses
103. Slowpoketail
104. Pink Bow
105. Stick
106. Smoke Ball
107. Nevermeltice
108. Magnet
109. MiracleBerry
110. Pearl
111. Big Pearl
112. Everstone
113. Spell Tag
114. Ragecandybar
115. GS Ball (Crystal only)
116. Blue Card (Crystal only)
117. Miracle Seed
118. Thick Club
119. Focus Band
121. Energypowder
122. Energy Root
123. Heal Powder
124. Revival Herb
125. Hard Stone
126. Lucky Egg
127. Card Key
128. Machine Part
129. Egg Ticket (Crystal only)
130. Lost Item
131. Stardust
132. Star Piece
133. Basement Key
134. Pass
138. Charcoal
139. Berry Juice
140. Scope Lens
143. Metal Coat
144. Dragon Fang
146. Leftovers
150. MysteryBerry
151. Dragon Scale
152. Berserk Gene
156. Sacred Ash
157. Heavy Ball
158. Flower Mail
159. Level Ball
160. Lure Ball
161. Fast Ball
163. Light Ball
164. Friend Ball
165. Moon Ball
166. Love Ball
167. Normal Box
168. Gorgeous Box
169. Sun Stone
170. Polkadot Bow
172. Up-Grade
173. Berry
174. Gold Berry
175. Squirtbottle
178. Rainbow Wing
180. Brick Piece
181. Surf Mail
182. Litebluemail
184. Lovely Mail
185. Eon Mail
186. Morph Mail
187. Bluesky Mail
188. Music Mail
189. Mirage Mail
191. TM01
192. TM02
193. TM03
194. TM04
196. TM05
197. TM06
198. TM07
199. TM08
200. TM09
201. TM10
202. TM11
203. TM12
204. TM13
205. TM14
206. TM15
207. TM16
208. TM17
209. TM18
210. TM19
211. TM20
212. TM21
213. TM22
214. TM23
215. TM24
216. TM25
217. TM26
218. TM27
219. TM28
221. TM29
222. TM30
223. TM31
224. TM32
225. TM33
226. TM34
227. TM35
228. TM36
229. TM37
230. TM38
231. TM39
232. TM40
233. TM41
234. TM42
235. TM43
236. TM44
237. TM45
238. TM46
239. TM47
240. TM48
241. TM49
242. TM50
243. HM01
244. HM02
245. HM03
246. HM04
247. HM05
248. HM06
249. HM07
Note that of the 256 possible values, there are a few numbers that don't have items corresponding to them, specifically 0, 6, 25, 45, 50, 56, 90, 100, 120, 135, 136, 137, 141, 142, 145, 147, 148, 149, 153, 154, 155, 162, 171, 176, 177, 179, 190, 195, 220, 250, 251, 252, 253, 254, and 255. 0 is used for when the Pokémon is holding no item. The others are glitchy items that don't do anything (though some can be sold for large amounts of money). Glitchy items also exist in Gold/Silver if the value of a Crystal-only item is used (70, 115, 116, or 129).
In our case, our Sunflora has item number 117, which is a Miracle Seed.
I already talked about this in my Gen 1 thread, but the value of a Pokémon's held item is stored in its catch rate in Gen 1. Thus, sending a Pokémon back to Gen 1 will give it a catch rate that is unusual for its species. But this will allow it to keep its held item when being traded back. It also means that any Pokémon that you catch in Gen 1 will have a held item, you just need to trade it over to Gen 2 to see what it is. If the item is then removed, it will have a held item value of 0. From there, it can be traded back to Gen 1, where it will have a catch rate of 0. This means that if traded back to Gen 2 again, it will still have no item.
After held item is CAF14A4C. This is the data for the Pokémon's moves. Our Sunflora has Move CA, Move F1, Move 4A, and Move 4C. These moves, in decimal, are 202, 241, 74, and 76. Which move corresponds to which number? Well, to preserve compatibility with Gen 1, moves 1 to 165 are the same as they were in Gen 1. Moves that are numbered 166 or higher are the new moves from Gen 2.
1. Pound
2. Karate Chop
3. Doubleslap
4. Comet Punch
5. Mega Punch
6. Pay Day
7. Fire Punch
8. Ice Punch
9. Thunderpunch
10. Scratch
11. Vicegrip
12. Guillotine
13. Razor Wind
14. Swords Dance
15. Cut
16. Gust
17. Wing Attack
18. Whirlwind
19. Fly
20. Bind
21. Slam
22. Vine Whip
23. Stomp
24. Double Kick
25. Mega Kick
26. Jump Kick
27. Rolling Kick
28. Sand-Attack
29. Headbutt
30. Horn Attack
31. Fury Attack
32. Horn Drill
33. Tackle
34. Body Slam
35. Wrap
36. Take Down
37. Thrash
38. Double-Edge
39. Tail Whip
40. Poison Sting
41. Twineedle
42. Pin Missile
43. Leer
44. Bite
45. Growl
46. Roar
47. Sing
48. Supersonic
49. Sonicboom
50. Disable
51. Acid
52. Ember
53. Flamethrower
54. Mist
55. Water Gun
56. Hydro Pump
57. Surf
58. Ice Beam
59. Blizzard
60. Psybeam
61. Bubblebeam
62. Aurora Beam
63. Hyper Beam
64. Peck
65. Drill Peck
66. Submission
67. Low Kick
68. Counter
69. Seismic Toss
70. Strength
71. Absorb
72. Mega Drain
73. Leech Seed
74. Growth
75. Razor Leaf
76. Solarbeam
77. Poisonpowder
78. Stun Spore
79. Sleep Powder
80. Petal Dance
81. String Shot
82. Dragon Rage
83. Fire Spin
84. Thundershock
85. Thunderbolt
86. Thunder Wave
87. Thunder
88. Rock Throw
89. Earthquake
90. Fissure
91. Dig
92. Toxic
93. Confusion
94. Psychic
95. Hypnosis
96. Meditate
97. Agility
98. Quick Attack
99. Rage
100. Teleport
101. Night Shade
102. Mimic
103. Screech
104. Double Team
105. Recover
106. Harden
107. Minimize
108. Smokescreen
109. Confuse Ray
110. Withdraw
111. Defense Curl
112. Barrier
113. Light Screen
114. Haze
115. Reflect
116. Focus Energy
117. Bide
118. Metronome
119. Mirror Move
120. Selfdestruct
121. Egg Bomb
122. Lick
123. Smog
124. Sludge
125. Bone Club
126. Fire Blast
127. Waterfall
128. Clamp
129. Swift
130. Skull Bash
131. Spike Cannon
132. Constrict
133. Amnesia
134. Kinesis
135. Softboiled
136. Hi Jump Kick
137. Glare
138. Dream Eater
139. Poison Gas
140. Barrage
141. Leech Life
142. Lovely Kiss
143. Sky Attack
144. Transform
145. Bubble
146. Dizzy Punch
147. Spore
148. Flash
149. Psywave
150. Splash
151. Acid Armor
152. Crabhammer
153. Explosion
154. Fury Swipes
155. Bonemerang
156. Rest
157. Rock Slide
158. Hyper Fang
159. Sharpen
160. Conversion
161. Tri Attack
162. Super Fang
163. Slash
164. Substitute
165. Struggle
166. Sketch
167. Triple Kick
168. Thief
169. Spider Web
170. Mind Reader
171. Nightmare
172. Flame Wheel
173. Snore
174. Curse
175. Flail
176. Conversion 2
177. Aeroblast
178. Cotton Spore
179. Reversal
180. Spite
181. Powder Snow
182. Protect
183. Mach Punch
184. Scary Face
185. Faint Attack
186. Sweet Kiss
187. Belly Drum
188. Sludge Bomb
189. Mud-Slap
190. Octazooka
191. Spikes
192. Zap Cannon
193. Foresight
194. Destiny Bond
195. Perish Song
196. Icy Wind
197. Detect
198. Bone Rush
199. Lock-On
200. Outrage
201. Sandstorm
202. Giga Drain
203. Endure
204. Charm
205. Rollout
206. False Swipe
207. Swagger
208. Milk Drink
209. Spark
210. Fury Cutter
211. Steel Wing
212. Mean Look
213. Attract
214. Sleep Talk
215. Heal Bell
216. Return
217. Present
218. Frustration
219. Safeguard
220. Pain Split
221. Sacred Fire
222. Magnitude
223. Dynamicpunch
224. Megahorn
225. Dragonbreath
226. Baton Pass
227. Encore
228. Pursuit
229. Rapid Spin
230. Sweet Scent
231. Iron Tail
232. Metal Claw
233. Vital Throw
234. Morning Sun
235. Synthesis
236. Moonlight
237. Hidden Power
238. Cross Chop
239. Twister
240. Rain Dance
241. Sunny Day
242. Crunch
243. Mirror Coat
244. Psych Up
245. Extremespeed
246. Ancientpower
247. Shadow Ball
248. Future Sight
249. Rock Smash
250. Whirlpool
251. Beat Up
So this Sunflora's moveset is Giga Drain, Sunny Day, Growth, and Solarbeam, in that order.
The next part of the number is 479B. This is the ID number of Sunflora's OT. In decimal, that's 18331.
The next chunk of digits is 01FACF. This is Sunflora's total amount of experience: 129743 in decimal.
After that is 24B802FE13B22708A8D2. This the data for stat experience. Broken into pieces, it'd be 24B8, 02FE, 13B2, 2708, and A8D2. This is how much stat experience the Sunflora has in each stat (equivalent to EVs today). They're in order of HP, Attack, Defense, Speed, and Special. As a quick note: the "Special" stat experience stat applies to both Special Attack and Special Defense, and it is calculated based on the Special Attack of the Pokémon that you defeat. Again, this is done to preserve compatibility with Gen 1. We can't trade our Sunflora back to Gen 1, both because it's a Gen 2 Pokémon and because it has a Gen 2 move, but if we take that Psyduck that we looked at last time, and trade it over to Gen 2, and then do some battling with it, and then trade it back, it will still keep its stat experience. You don't have to worry about conversion from a six-stat system to a five-stat system, because Gen 2 is secretly a five-stat system under the hood. Special Attack and Special Defense share both a DV and stat experience. The only reason a Pokémon would ever have a different number on its Special Attack stat and its Special Defense stat is if its species' base stats are different in those two numbers. Go ahead and catch a Pokémon that has equal base stats on Special Attack and Special Defense in Gen 2, such as Ditto or Mew. Do whatever you want with it, and no matter what you try, its Special Attack and Special Defense will ALWAYS be equal. You can't get one to be bigger than the other for any member of that species.
The next part is 934A. This is the Pokémon's DVs. Just like in Gen 1, they are listed in the order of Attack, Defense, Speed, and Special. Once again the "Special" DV is used to calculate both a Pokémon's Special Attack and its Special Defense. And just like in Gen 1, the HP DV is calculated based on the values of the other four. This ensures that stats won't change upon being traded back to Gen 1. (Sunflora's HP DV is 12.)
What's interesting is that DVs determine a lot more than just stats in Gen 2. They also determine a Pokémon's gender, a Pokémon's type and power of Hidden Power, a Pokémon's shinyness, and, in the case of Unown, which letter it will be. Why put all this information here? Why not make it so that this is stored elsewhere? Yet again, because of Gen 1 compatibility. If I take a male Pokémon and trade it to Gen 1, where there is no gender, that information will be lost. Then when I trade it back, the game would have to generate the gender again, and it might be female this time. That's no good. A Pokémon's gender should be preserved, thus they need to store that data in an area where a Gen 1 game can read it.
So, here's how it works. Every Pokémon in Gen 1-2 has a different gender ratio. They could be genderless, male-only, 87.5% male/12.5% female, 75% male/25% female, 50% male/50% female, 25% male/75% female, or female-only. In future generations, this is determined by a separate string of data, but here in Gen 2, we use DVs. Specifically the Attack DV. Each gender ratio has a certain "threshold", above which the Pokémon will be male and below which it will be female. Sunflora is in the 50/50 category. Thus, if its Attack DV is in the top 50% (8 to 15), then it will be male, and if it is in the bottom 50% (0 to 7), it will be female (in this case, it's 9, so it's male). Now you may think that this is REALLY sexist, since, all other factors being equal, a female Pokémon will never be able to have a higher Attack stat than a male of the same species.
Yep.
I'm willing to bet that's why they changed it. It's especially bad with your starter Pokémon since all starters have a 7:1 male:female ratio. This means that a female starter's Attack DV will max out at 1. Utterly pathetic. If you ever watch a Gen 2 competitive multiplayer match, you'll notice that all players use male Pokémon (except those of female-only species, like Chansey and Jynx). This is why. In Gen 2 Pokémon, males are superior to females. It's stupidly sexist and I'm glad it's gone. But, again, it had to be this way to preserve Gen 1 compatibility. Otherwise your Pokémon could randomly change gender upon being traded to Gen 1 and then traded back.
Similarly, let's talk about shinies. A Pokémon in Gen 2 is shiny if its DVs in Defense, Speed, and Special are all exactly 10 and its Attack DV is 2, 3, 6, 7, 10, 11, 14, or 15. Again, this is for the sake of Gen 1 compatibility. If you trade a shiny to Gen 1 and then trade it back, it will still be shiny. On the other hand, if you trade a non-shiny to Gen 1 and then trade it back, it will also never be shiny upon its return. This, again, means that shiny Pokémon are never used in competitive play, as they lack the optimal DVs of 15 in all stats. You may notice that the lowest Attack stat that a shiny Pokémon can have is 2. This means that if it's a Pokémon with a 7:1 male:female gender ratio, it can NEVER be a shiny female. Finally, if you're wondering about the Red Gyarados at the Lake of Rage, that is just hard-coded to always spawn with the DVs needed for shinyness. Any other Pokémon that you randomly find in the wild has a 1-in-8192 chance of being shiny, just by the nature of these numbers being randomly generated correctly. (In our case, by the way, Sunflora is not shiny.)
Now let's talk about Unown's letter. This, too, is calculated based on DVs. Hmmm... it would help to have an example here, so let's say the DV data is A91E. What's Unown's letter here? Well, we have to go through a complicated process to figure that out. First, we need to convert that string back into ones and zeroes. 1010100100011110. Split that up into four four-digit numbers: 1010, 1001, 0001, 1110. Then take the middle two digits of each number and string them together: 01000011. Then convert that binary number into our standard decimal system: 67. Next, divide by 10. You get 6.7. Remove any decimal places you have (don't round, just get rid of them entirely). Now we're at 6. Thus, Unown's letter is the 6th letter of the alphabet, which you'd think is F. But it's not. It's actually G. This is because the game's alphabet labels A as being 0, B as being 1, C as being 2, and so forth. So each letter is off-set by 1. This actually makes Unown Z less common than all the other Unown. There are 256 different possible Unown, and of them, the first 250 correspond to 10 copies of each of the first 25 letters of the alphabet, and only the final 6 are for Unown Z. Another interesting fact is that there are only two possible Unown that can be shiny in Gen 2: Unown I and Unown V.
Finally, let's talk about Hidden Power. Let's take a look at Sunflora and see if we can calculate what the power and type would be of Hidden Power if we were to teach it. As a reminder, Sunflora's DVs are 9 Attack, 3 Defense, 4 Speed, and 10 Special.
First up, the easy part, calculating Hidden Power's type. You just run the Attack and Defense DVs (which I will call "A" and "D") through the simple formula: 4 * (A mod 4) + (D mod 4). Whatever you get will be a number between 0 and 15. Then you just check which type that is. 0 is Fighting, 1 is Flying, 2 is Poison, 3 is Ground, 4 is Rock, 5 is Bug, 6 is Ghost, 7 is Steel, 8 is Fire, 9 is Water, 10 is Grass, 11 is Electric, 12 is Psychic, 13 is Ice, 14 is Dragon, and 15 is Dark. In the case of our Sunflora, it will have a Steel-type Hidden Power.
Now let's calculate Hidden Power's power, which is a lot harder. First, you see which DVs are 8 or higher. Those DVs are given a value of "1", and the others are given a value of "0". Put them in the order of Attack, Defense, Speed, and Special. In our example, we get 1001. This is a binary number. It corresponds to 9. Take whatever result you got (9 in our case), and multiply it by 5. Then you add X, where X is the Pokémon's Special DV mod 4. After that, cut the result in half, add 31, and then floor the final result. In our case, we got 54. Thus, Sunflora's Steel-type Hidden Power will have 54 power. The lowest you can get here is 31 and the highest is 70. Why is Hidden Power stored in DVs? I'm not sure. It's not like a Pokémon with Hidden Power can be traded to Gen 1, but I suppose if you taught it Hidden Power, deleted the move, traded it, traded it back, and then relearn the move, then it will be the same type as it was the first time you learned it. I don't know how necessary it was to preserve that in the intergenerational trade, but hey, it works.
So, to recap, those four numbers that were in that giant number at the top of the page were able to...
...determine our Sunflora's DVs.
...determine our Sunflora's gender.
...determine our Sunflora's shininess.
...determine what letter the Pokémon would be if it were an Unown. (Doesn't apply to Sunflora)
...determine what type Hidden Power would be if Sunflora were to learn it.
...determine how powerful Hidden Power would be if Sunflora were to learn it.
...determine who Sunflora can breed with. (I didn't mention this, but Gen 2 has a weird thing that later generations don't -- you can't do incest-breeding. The way it determines this is by looking at the DVs that could be passed on through breeding, and if there are two Pokémon that seem to be related, it won't ever generate an Egg even if they're in the same Egg Group. Of course, there's a small chance that two random individuals you caught in the wild happen to have DVs that line up in this way as well.)
That's a heck of a lot of data for just four digits. They compressed a lot of information into this. I'm impressed.
Now we can finally get back to that giant number and see what comes next.
01032408. This is the data for Sunflora's PP. It has 1 PP remaining on its first move, 3 on its second, 36 on its third, and 8 on its fourth. Just like in Gen 1, PP Up data is stored here by adding 64 to the value for each PP Up that has been used.
Next up is EB. This is the amount of Friendship that Sunflora has. In decimal, that's 235. That'll be good to know if we ever teach it Return or Frustration. Now, obviously, upon being traded to Gen 1, this value is lost. But that's okay, because any Pokémon that's traded to another game, even another Gen 2 game, has its happiness reset anyways. So it works out. Trade it to Gen 1 and back again, and the value will become 46 (which is 70 in decimal), the default happiness for all Pokémon in this generation. (Well, kinda. Pokémon hatched from an Egg start at 78 (which is 120) and Pokémon caught in a Friend Ball start at C8 (which is 200), but those are just outliers.)
Next we have 20. This is Pokérus data. So here's something that not a lot of people know about. There are actually four different strains of Pokérus that your Pokémon can get. More on this in a second. First of all, for a Pokémon that has never had the Pokérus before, it will have a value of 00. If it has, at any point in its life, had the Pokérus (whether currently or not), then the first digit will be a number other than 0. If the digit is 4, 8, or C, then it has/had Strain A. If it is 1, 5, 9, or D, then it has/had Strain B. If it is 2, 6, A, or E, then it has/had Strain C. And if it is 3, 7, B, or F, then it has/had Strain D. When a Pokémon spreads the Pokérus to another Pokémon, the new Pokémon gets the same strain that the old one has.
The only differences between the strains are how long it takes a Pokémon to recover from them, with Strain A taking a day, Strain B taking 2 days, Strain C taking 3 days, and Strain D taking 4 days. When a new Pokémon gets infected with the Pokérus, it sets the second digit equal to the number of days that it takes to recover from that strain. For example, if a Pokémon with the Pokérus data of 00 (never had Pokérus) were to get infected with strain C, then that data would change from 00 to 63. Once a day goes by, the last digit lowers by 1. It becomes 62. Then 61. And then 60. This is when you know the Pokémon is cured of the Pokérus: it has a leading digit that is nonzero and a last digit that is zero. When this occurs, a Pokémon can never get the Pokérus again.
Of course, Pokérus isn't in Gen 1, so when you trade it to Gen 1, this information is lost. Upon being traded back, it will have a Pokérus value of 00, and it'll be as though it had never had the Pokérus in the first place. This is a bit of a bummer, as so much other information was able to be preserved through Gen 1's tradeback feature, but sadly... this is one area where they had to give up their data.
The next chunk of data to analyze is 8D13. This is the "met at" location data. Note that it is only available in Crystal. If a Pokémon was originally caught in Red/Green/Blue/Yellow/Gold/Silver, then this data will be 0000. However, a Pokémon caught in Crystal and then traded to Gold/Silver will still preserve its location data, and it will be there when traded back. Trading to Gen 1, however, will erase the location data permanently. This information is normally inaccessible to the player, but there is one woman in Cianwood City in Crystal who will tell you a Pokémon's location data. Let's take a look at how it works, because there's quite a lot to unpack here.
Let's start with the first part: 8D. In decimal, that's 141. This is the level that we met Sunflora at. Um... yeah, that's clearly not correct. What's going on here? Well, there's more data here than just level. It also stores what time we met Sunflora. Whatever level we met Sunflora at? They add 64 to it if we met during the morning, 128 if we met during the day, and 192 if we met during the night. In this case, we met during the day at Level 13. By the way, Pokémon that are hatched from Eggs are given a value of 01 here, even though Eggs hatch at Level 5 in this generation.
The next part is 13. This is 19 in decimal. Thus, we met Sunflora at Location #18. Which one is that? Well, there's a list and it's basically all the Johto locations in the order that the player is expected to explore them in, followed by all the Kanto locations in the order that a Gen 1 player would explore them in, followed by all of the in-between areas of Kanto and Johto.
1. New Bark Town
2. Route 29
3. Cherrygrove City
4. Route 30
5. Route 31
6. Violet City
7. Sprout Tower
8. Route 32
9. Ruins of Alph
10. Union Cave
11. Route 33
12. Azalea Town
13. Slowpoke Well
14. Ilex Forest
15. Route 34
16. Goldenrod City
17. Radio Tower
18. Route 35
19. National Park
20. Route 36
21. Route 37
22. Ecruteak City
23. Tin Tower
24. Burned Tower
25. Route 38
26. Route 39
27. Olivine City
28. Lighthouse
29. Battle Tower
30. Route 40
31. Whirl Islands
32. Route 41
33. Cianwood City
34. Route 42
35. Mt. Mortar
36. Mahogany Town
37. Route 43
38. Lake of Rage
39. Route 44
40. Ice Path
41. Blackthorn City
42. Dragon's Den
43. Route 45
44. Dark Cave
45. Route 46
46. Silver Cave
47. Pallet Town
48. Route 1
49. Viridian City
50. Route 2
51. Pewter City
52. Route 3
53. Mt. Moon
54. Route 4
55. Cerulean City
56. Route 24
57. Route 25
58. Route 5
59. Underground
60. Route 6
61. Vermillion City
62. Diglett's Cave
63. Route 7
64. Route 8
65. Route 9
66. Rock Tunnel
67. Route 10
68. Power Plant
69. Lavender Town
70. Lav Radio Tower
71. Celadon City
72. Saffron City
73. Route 11
74. Route 12
75. Route 13
76. Route 14
77. Route 15
78. Route 16
79. Route 17
80. Route 18
81. Fuchsia City
82. Route 19
83. Route 20
84. Seafoam Islands
85. Cinnabar Island
86. Route 21
87. Route 22
88. Victory Road
89. Route 23
90. Indigo Plateau
91. Route 26
92. Route 27
93. Tohjo Falls
94. Route 28
95. Fast Ship
Thus, we met our Sunflora at National Park. There is one more thing of note: what gender was the Trainer that originally caught Sunflora? Well, because we got a nice normal number here, it was a male trainer. But female trainers are marked by adding 128 to the location's number. Thus, this same Sunflora, had it been caught by a female Trainer, would have had a number of 147.
Again, lots of compressed data. Just four digits told us the gender of the Trainer that caught Sunflora, where they were at the time, what level the Sunflora was, and what time of day it was. Damn.
Next up is 33. This is just Sunflora's current level. In decimal, that's 51.
At this point, Pokémon in Bill's PC terminate their code. Everything listed below applies only to Pokémon in your party. This includes current HP and status ailments. That means that you can fully heal a Pokémon (except for its PP) by simply depositing and withdrawing it. This is not a thing in Gen 1, but it is in Gen 2. Also, because we still have not yet calculated stats, it means that same deposit-withdraw exploit from Gen 1 will continue to work in Gen 2.
Anyways, next is 08, which is Sunflora's current status ailment. It's calculated the same way as in Gen 1. Next!
Next is... an oddball. It's 00. What does this mean? Absolutely nothing. Every single Pokémon in all of Gen 2 has a value of 00 here, and if you hack the game to change this number, it does nothing. This is literally just a bunch of unused data.
Next is 95. This is Sunflora's current HP. In decimal, that's 149.
The rest of the number is A25E49349480. This is Sunflora's stats: A2, 5E, 49, 34, 94, and 80. In order, that's HP, Attack, Defense, Speed, Special Attack, and Special Defense. A bit odd to put Speed before the Special stats, but it's what they do. To put this in actual numbers, our Sunflora's stats are:
162 HP, 94 Attack, 73 Defense, 148 Special Attack, 128 Special Defense, and 52 Speed. (I'm putting them in their more standardized order.)