v0.1 ⌊ALPHA⌉
On this page
  1. Related
  2. References
  3. Sources

Pokémon Emerald is a Generation III Game Boy Advance game, released in Japan in September 2004 and North America in May 20051. The code read here is pret’s pokeemerald decompilation, C that compiles to the original ROM.

Its type effectiveness table is Pokémon Crystal‘s, row for row2. Effectiveness text now comes from flags, where a ½ row and a 2× row cancel3. Levitate acts before the rows, and Wonder Guard after4,5.

References

  1. ^Pokémon Emerald (developer Game Freak, publisher Nintendo, Game Boy Advance, and Generation III core series) came out in Japan on 16 September 2004 and North America on 1 May 2005. T1Bulbapedia, “Pokémon Emerald Version” · infobox, Basic info and Release dates
  2. ^Emerald's table holds the same 110 rows as Crystal's, in the same order: no new type and no changed matchup. T4pret/pokecrystal · data/types/type_matchups.asm L1–118pret/pokeemerald · src/battle_main.c L335–449Bulbapedia, “Type/Type chart” · Type charts: Generations II-Vprobe probes/pokemon-types/type-charts.mjs
  3. ^The text comes from flags ModulateDmgByType sets per row: a 2× row cancels an earlier not-very-effective flag, a ½ row an earlier super-effective one, and ×0 sets "doesn't affect", clearing both. T3pret/pokeemerald · src/battle_script_commands.c L1327–1352
  4. ^Cmd_typecalc flags a Ground move against a Levitate target as missed and “doesn't affect”, and walks no type row. T3pret/pokeemerald · src/battle_script_commands.c L1375–1384
  5. ^After the rows, a Wonder Guard target makes a damaging move miss on the turn it attacks, unless the move carries the super-effective flag without the not-very-effective one. T3pret/pokeemerald · src/battle_script_commands.c L1409–1419

Sources

Code

Secondary