summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--audio/engine.asm2
-rw-r--r--battle/ai/items.asm2
-rw-r--r--battle/ai/scoring.asm8
-rwxr-xr-xbattle/ai/switch.asm36
-rw-r--r--battle/bg_effects.asm4
-rw-r--r--battle/core.asm488
-rw-r--r--battle/effect_commands.asm208
-rw-r--r--battle/effects/rollout.asm29
-rwxr-xr-xbattle/effects/transform.asm141
-rw-r--r--battle/misc.asm4
-rwxr-xr-xconstants/cgb_constants.asm2
-rw-r--r--constants/map_constants.asm61
-rw-r--r--constants/sprite_constants.asm84
-rw-r--r--data/base_stats.asm5776
-rw-r--r--data/base_stats/abra.asm22
-rw-r--r--data/base_stats/aerodactyl.asm22
-rw-r--r--data/base_stats/aipom.asm22
-rw-r--r--data/base_stats/alakazam.asm22
-rw-r--r--data/base_stats/ampharos.asm22
-rw-r--r--data/base_stats/arbok.asm22
-rw-r--r--data/base_stats/arcanine.asm22
-rw-r--r--data/base_stats/ariados.asm22
-rw-r--r--data/base_stats/articuno.asm22
-rw-r--r--data/base_stats/azumarill.asm22
-rw-r--r--data/base_stats/bayleef.asm22
-rw-r--r--data/base_stats/beedrill.asm22
-rw-r--r--data/base_stats/bellossom.asm22
-rw-r--r--data/base_stats/bellsprout.asm22
-rw-r--r--data/base_stats/blastoise.asm22
-rw-r--r--data/base_stats/blissey.asm22
-rw-r--r--data/base_stats/bulbasaur.asm22
-rw-r--r--data/base_stats/butterfree.asm22
-rw-r--r--data/base_stats/caterpie.asm22
-rw-r--r--data/base_stats/celebi.asm22
-rw-r--r--data/base_stats/chansey.asm22
-rw-r--r--data/base_stats/charizard.asm22
-rw-r--r--data/base_stats/charmander.asm22
-rw-r--r--data/base_stats/charmeleon.asm22
-rw-r--r--data/base_stats/chikorita.asm22
-rw-r--r--data/base_stats/chinchou.asm22
-rw-r--r--data/base_stats/clefable.asm22
-rw-r--r--data/base_stats/clefairy.asm22
-rw-r--r--data/base_stats/cleffa.asm22
-rw-r--r--data/base_stats/cloyster.asm22
-rw-r--r--data/base_stats/corsola.asm22
-rw-r--r--data/base_stats/crobat.asm22
-rw-r--r--data/base_stats/croconaw.asm22
-rw-r--r--data/base_stats/cubone.asm22
-rw-r--r--data/base_stats/cyndaquil.asm22
-rw-r--r--data/base_stats/delibird.asm22
-rw-r--r--data/base_stats/dewgong.asm22
-rw-r--r--data/base_stats/diglett.asm22
-rw-r--r--data/base_stats/ditto.asm22
-rw-r--r--data/base_stats/dodrio.asm22
-rw-r--r--data/base_stats/doduo.asm22
-rw-r--r--data/base_stats/donphan.asm22
-rw-r--r--data/base_stats/dragonair.asm22
-rw-r--r--data/base_stats/dragonite.asm22
-rw-r--r--data/base_stats/dratini.asm22
-rw-r--r--data/base_stats/drowzee.asm22
-rw-r--r--data/base_stats/dugtrio.asm22
-rw-r--r--data/base_stats/dunsparce.asm22
-rw-r--r--data/base_stats/eevee.asm22
-rw-r--r--data/base_stats/ekans.asm22
-rw-r--r--data/base_stats/electabuzz.asm22
-rw-r--r--data/base_stats/electrode.asm22
-rw-r--r--data/base_stats/elekid.asm22
-rw-r--r--data/base_stats/entei.asm22
-rw-r--r--data/base_stats/espeon.asm22
-rw-r--r--data/base_stats/exeggcute.asm22
-rw-r--r--data/base_stats/exeggutor.asm22
-rw-r--r--data/base_stats/farfetch_d.asm22
-rw-r--r--data/base_stats/fearow.asm22
-rw-r--r--data/base_stats/feraligatr.asm22
-rw-r--r--data/base_stats/flaaffy.asm22
-rw-r--r--data/base_stats/flareon.asm22
-rw-r--r--data/base_stats/forretress.asm22
-rw-r--r--data/base_stats/furret.asm22
-rw-r--r--data/base_stats/gastly.asm22
-rw-r--r--data/base_stats/gengar.asm22
-rw-r--r--data/base_stats/geodude.asm22
-rw-r--r--data/base_stats/girafarig.asm22
-rw-r--r--data/base_stats/gligar.asm22
-rw-r--r--data/base_stats/gloom.asm22
-rw-r--r--data/base_stats/golbat.asm22
-rw-r--r--data/base_stats/goldeen.asm22
-rw-r--r--data/base_stats/golduck.asm22
-rw-r--r--data/base_stats/golem.asm22
-rw-r--r--data/base_stats/granbull.asm22
-rw-r--r--data/base_stats/graveler.asm22
-rw-r--r--data/base_stats/grimer.asm22
-rw-r--r--data/base_stats/growlithe.asm22
-rw-r--r--data/base_stats/gyarados.asm22
-rw-r--r--data/base_stats/haunter.asm22
-rw-r--r--data/base_stats/heracross.asm22
-rw-r--r--data/base_stats/hitmonchan.asm22
-rw-r--r--data/base_stats/hitmonlee.asm22
-rw-r--r--data/base_stats/hitmontop.asm22
-rw-r--r--data/base_stats/ho_oh.asm22
-rw-r--r--data/base_stats/hoothoot.asm22
-rw-r--r--data/base_stats/hoppip.asm22
-rw-r--r--data/base_stats/horsea.asm22
-rw-r--r--data/base_stats/houndoom.asm22
-rw-r--r--data/base_stats/houndour.asm22
-rw-r--r--data/base_stats/hypno.asm22
-rw-r--r--data/base_stats/igglybuff.asm22
-rw-r--r--data/base_stats/ivysaur.asm22
-rw-r--r--data/base_stats/jigglypuff.asm22
-rw-r--r--data/base_stats/jolteon.asm22
-rw-r--r--data/base_stats/jumpluff.asm22
-rw-r--r--data/base_stats/jynx.asm22
-rw-r--r--data/base_stats/kabuto.asm22
-rw-r--r--data/base_stats/kabutops.asm22
-rw-r--r--data/base_stats/kadabra.asm22
-rw-r--r--data/base_stats/kakuna.asm22
-rw-r--r--data/base_stats/kangaskhan.asm22
-rw-r--r--data/base_stats/kingdra.asm22
-rw-r--r--data/base_stats/kingler.asm22
-rw-r--r--data/base_stats/koffing.asm22
-rw-r--r--data/base_stats/krabby.asm22
-rw-r--r--data/base_stats/lanturn.asm22
-rw-r--r--data/base_stats/lapras.asm22
-rw-r--r--data/base_stats/larvitar.asm22
-rw-r--r--data/base_stats/ledian.asm22
-rw-r--r--data/base_stats/ledyba.asm22
-rw-r--r--data/base_stats/lickitung.asm22
-rw-r--r--data/base_stats/lugia.asm22
-rw-r--r--data/base_stats/machamp.asm22
-rw-r--r--data/base_stats/machoke.asm22
-rw-r--r--data/base_stats/machop.asm22
-rw-r--r--data/base_stats/magby.asm22
-rw-r--r--data/base_stats/magcargo.asm22
-rw-r--r--data/base_stats/magikarp.asm22
-rw-r--r--data/base_stats/magmar.asm22
-rw-r--r--data/base_stats/magnemite.asm22
-rw-r--r--data/base_stats/magneton.asm22
-rw-r--r--data/base_stats/mankey.asm22
-rw-r--r--data/base_stats/mantine.asm22
-rw-r--r--data/base_stats/mareep.asm22
-rw-r--r--data/base_stats/marill.asm22
-rw-r--r--data/base_stats/marowak.asm22
-rw-r--r--data/base_stats/meganium.asm22
-rw-r--r--data/base_stats/meowth.asm22
-rw-r--r--data/base_stats/metapod.asm22
-rw-r--r--data/base_stats/mew.asm22
-rw-r--r--data/base_stats/mewtwo.asm22
-rw-r--r--data/base_stats/miltank.asm22
-rw-r--r--data/base_stats/misdreavus.asm22
-rw-r--r--data/base_stats/moltres.asm22
-rw-r--r--data/base_stats/mr__mime.asm22
-rw-r--r--data/base_stats/muk.asm22
-rw-r--r--data/base_stats/murkrow.asm22
-rw-r--r--data/base_stats/natu.asm22
-rw-r--r--data/base_stats/nidoking.asm22
-rw-r--r--data/base_stats/nidoqueen.asm22
-rw-r--r--data/base_stats/nidoran_f.asm22
-rw-r--r--data/base_stats/nidoran_m.asm22
-rw-r--r--data/base_stats/nidorina.asm22
-rw-r--r--data/base_stats/nidorino.asm22
-rw-r--r--data/base_stats/ninetales.asm22
-rw-r--r--data/base_stats/noctowl.asm22
-rw-r--r--data/base_stats/octillery.asm22
-rw-r--r--data/base_stats/oddish.asm22
-rw-r--r--data/base_stats/omanyte.asm22
-rw-r--r--data/base_stats/omastar.asm22
-rw-r--r--data/base_stats/onix.asm22
-rw-r--r--data/base_stats/paras.asm22
-rw-r--r--data/base_stats/parasect.asm22
-rw-r--r--data/base_stats/persian.asm22
-rw-r--r--data/base_stats/phanpy.asm22
-rw-r--r--data/base_stats/pichu.asm22
-rw-r--r--data/base_stats/pidgeot.asm22
-rw-r--r--data/base_stats/pidgeotto.asm22
-rw-r--r--data/base_stats/pidgey.asm22
-rw-r--r--data/base_stats/pikachu.asm22
-rw-r--r--data/base_stats/piloswine.asm22
-rw-r--r--data/base_stats/pineco.asm22
-rw-r--r--data/base_stats/pinsir.asm22
-rw-r--r--data/base_stats/politoed.asm22
-rw-r--r--data/base_stats/poliwag.asm22
-rw-r--r--data/base_stats/poliwhirl.asm22
-rw-r--r--data/base_stats/poliwrath.asm22
-rw-r--r--data/base_stats/ponyta.asm22
-rw-r--r--data/base_stats/porygon.asm22
-rw-r--r--data/base_stats/porygon2.asm22
-rw-r--r--data/base_stats/primeape.asm22
-rw-r--r--data/base_stats/psyduck.asm22
-rw-r--r--data/base_stats/pupitar.asm22
-rw-r--r--data/base_stats/quagsire.asm22
-rw-r--r--data/base_stats/quilava.asm22
-rw-r--r--data/base_stats/qwilfish.asm22
-rw-r--r--data/base_stats/raichu.asm22
-rw-r--r--data/base_stats/raikou.asm22
-rw-r--r--data/base_stats/rapidash.asm22
-rw-r--r--data/base_stats/raticate.asm22
-rw-r--r--data/base_stats/rattata.asm22
-rw-r--r--data/base_stats/remoraid.asm22
-rw-r--r--data/base_stats/rhydon.asm22
-rw-r--r--data/base_stats/rhyhorn.asm22
-rw-r--r--data/base_stats/sandshrew.asm22
-rw-r--r--data/base_stats/sandslash.asm22
-rw-r--r--data/base_stats/scizor.asm22
-rw-r--r--data/base_stats/scyther.asm22
-rw-r--r--data/base_stats/seadra.asm22
-rw-r--r--data/base_stats/seaking.asm22
-rw-r--r--data/base_stats/seel.asm22
-rw-r--r--data/base_stats/sentret.asm22
-rw-r--r--data/base_stats/shellder.asm22
-rw-r--r--data/base_stats/shuckle.asm22
-rw-r--r--data/base_stats/skarmory.asm22
-rw-r--r--data/base_stats/skiploom.asm22
-rw-r--r--data/base_stats/slowbro.asm22
-rw-r--r--data/base_stats/slowking.asm22
-rw-r--r--data/base_stats/slowpoke.asm22
-rw-r--r--data/base_stats/slugma.asm22
-rw-r--r--data/base_stats/smeargle.asm22
-rw-r--r--data/base_stats/smoochum.asm22
-rw-r--r--data/base_stats/sneasel.asm22
-rw-r--r--data/base_stats/snorlax.asm22
-rw-r--r--data/base_stats/snubbull.asm22
-rw-r--r--data/base_stats/spearow.asm22
-rw-r--r--data/base_stats/spinarak.asm22
-rw-r--r--data/base_stats/squirtle.asm22
-rw-r--r--data/base_stats/stantler.asm22
-rw-r--r--data/base_stats/starmie.asm22
-rw-r--r--data/base_stats/staryu.asm22
-rw-r--r--data/base_stats/steelix.asm22
-rw-r--r--data/base_stats/sudowoodo.asm22
-rw-r--r--data/base_stats/suicune.asm22
-rw-r--r--data/base_stats/sunflora.asm22
-rw-r--r--data/base_stats/sunkern.asm22
-rw-r--r--data/base_stats/swinub.asm22
-rw-r--r--data/base_stats/tangela.asm22
-rw-r--r--data/base_stats/tauros.asm22
-rw-r--r--data/base_stats/teddiursa.asm22
-rw-r--r--data/base_stats/tentacool.asm22
-rw-r--r--data/base_stats/tentacruel.asm22
-rw-r--r--data/base_stats/togepi.asm22
-rw-r--r--data/base_stats/togetic.asm22
-rw-r--r--data/base_stats/totodile.asm22
-rw-r--r--data/base_stats/typhlosion.asm22
-rw-r--r--data/base_stats/tyranitar.asm22
-rw-r--r--data/base_stats/tyrogue.asm22
-rw-r--r--data/base_stats/umbreon.asm22
-rw-r--r--data/base_stats/unown.asm22
-rw-r--r--data/base_stats/ursaring.asm22
-rw-r--r--data/base_stats/vaporeon.asm22
-rw-r--r--data/base_stats/venomoth.asm22
-rw-r--r--data/base_stats/venonat.asm22
-rw-r--r--data/base_stats/venusaur.asm22
-rw-r--r--data/base_stats/victreebel.asm22
-rw-r--r--data/base_stats/vileplume.asm22
-rw-r--r--data/base_stats/voltorb.asm22
-rw-r--r--data/base_stats/vulpix.asm22
-rw-r--r--data/base_stats/wartortle.asm22
-rw-r--r--data/base_stats/weedle.asm22
-rw-r--r--data/base_stats/weepinbell.asm22
-rw-r--r--data/base_stats/weezing.asm22
-rw-r--r--data/base_stats/wigglytuff.asm22
-rw-r--r--data/base_stats/wobbuffet.asm22
-rw-r--r--data/base_stats/wooper.asm22
-rw-r--r--data/base_stats/xatu.asm22
-rw-r--r--data/base_stats/yanma.asm22
-rw-r--r--data/base_stats/zapdos.asm22
-rw-r--r--data/base_stats/zubat.asm22
-rwxr-xr-xdata/sprite_engine.asm2
-rwxr-xr-xengine/breeding/egg.asm4
-rwxr-xr-xengine/compose_mail.asm517
-rwxr-xr-xengine/debug.asm8
-rwxr-xr-xengine/dummy_game.asm2
-rw-r--r--engine/engine_flags.asm2
-rw-r--r--engine/events.asm10
-rw-r--r--engine/events_2.asm4
-rwxr-xr-xengine/events_3.asm2
-rwxr-xr-xengine/evolve.asm19
-rwxr-xr-xengine/healmachineanim.asm46
-rwxr-xr-xengine/intro_menu.asm10
-rwxr-xr-xengine/link.asm4
-rw-r--r--engine/map_setup.asm2
-rwxr-xr-xengine/mon_icons.asm35
-rwxr-xr-xengine/money.asm2
-rwxr-xr-xengine/namingscreen.asm1057
-rwxr-xr-xengine/npc_movement.asm8
-rwxr-xr-xengine/npctrade.asm25
-rw-r--r--engine/phone.asm83
-rwxr-xr-xengine/player_movement.asm36
-rw-r--r--engine/pokedex.asm26
-rwxr-xr-xengine/pokegear.asm1138
-rw-r--r--engine/predef.asm6
-rwxr-xr-xengine/prof_oaks_pc.asm219
-rw-r--r--engine/scripting.asm4
-rwxr-xr-xengine/sprite_anims.asm14
-rwxr-xr-xengine/startmenu.asm4
-rwxr-xr-xengine/tile_events.asm10
-rwxr-xr-xengine/time.asm8
-rwxr-xr-xengine/time_capsule/conversion.asm4
-rwxr-xr-xengine/tmhm2.asm10
-rwxr-xr-xengine/town_map.asm171
-rwxr-xr-xengine/trade/animation.asm56
-rwxr-xr-xengine/trainer_card.asm4
-rwxr-xr-xengine/warp_connection.asm8
-rwxr-xr-xevent/celebi.asm4
-rwxr-xr-xevent/field_moves.asm4
-rwxr-xr-xevent/halloffame.asm56
-rw-r--r--event/kurt.asm2
-rwxr-xr-xevent/mom_phone.asm2
-rwxr-xr-xevent/photo.asm8
-rw-r--r--gfx/pics/animation.asm8
-rw-r--r--gfx/pokegear/clock.tilemap.rle (renamed from gfx/unknown/0915db.tilemap.rle)0
-rw-r--r--gfx/pokegear/phone.tilemap.rle (renamed from gfx/unknown/09158a.tilemap.rle)0
-rw-r--r--gfx/pokegear/radio.tilemap.rle (renamed from gfx/unknown/09150d.tilemap.rle)0
-rw-r--r--home.asm12
-rw-r--r--home/audio.asm30
-rw-r--r--home/battle.asm26
-rw-r--r--home/map.asm66
-rw-r--r--home/map_objects.asm55
-rw-r--r--home/mobile.asm4
-rw-r--r--home/text.asm4
-rw-r--r--hram.asm2
-rw-r--r--items/item_effects.asm18
-rwxr-xr-xmacros/wram.asm39
-rw-r--r--main.asm444
-rw-r--r--maps/EcruteakPokeCenter1F.asm68
-rw-r--r--misc/mobile_22.asm4
-rw-r--r--misc/mobile_40.asm797
-rw-r--r--misc/mobile_42.asm8
-rw-r--r--misc/mobile_45.asm1604
-rwxr-xr-xmisc/mobile_45_sprite_engine.asm923
-rwxr-xr-xmisc/mobile_46.asm32
-rwxr-xr-xmisc/mobile_5c.asm40
-rw-r--r--misc/mobile_5f.asm296
-rw-r--r--predef/cgb.asm4
-rw-r--r--sram.asm19
-rw-r--r--text/battle.asm8
-rw-r--r--text/common_1.asm48
-rwxr-xr-xtilesets/collision.asm264
-rw-r--r--wram.asm528
337 files changed, 10958 insertions, 10396 deletions
diff --git a/audio/engine.asm b/audio/engine.asm
index 8bec632ff..44bdfcc7c 100644
--- a/audio/engine.asm
+++ b/audio/engine.asm
@@ -1423,7 +1423,7 @@ MusicCommands: ; e8720
dw Music_ToggleNoise ; music noise sampling
dw Music_Panning ; force panning
dw Music_Volume ; volume
- dw Music_Tone ; tune
+ dw Music_Tone ; tone
dw MusicE7 ; unused
dw MusicE8 ; unused
dw Music_TempoRelative ; global tempo
diff --git a/battle/ai/items.asm b/battle/ai/items.asm
index 2fb479590..f5d22d786 100644
--- a/battle/ai/items.asm
+++ b/battle/ai/items.asm
@@ -549,7 +549,7 @@ AIUpdateHUD: ; 38387
callba UpdateEnemyHUD
ld a, $1
ld [hBGMapMode], a
- ld hl, wc6e6
+ ld hl, wEnemyItemState
dec [hl]
scf
ret
diff --git a/battle/ai/scoring.asm b/battle/ai/scoring.asm
index 5445671ac..e9df9c62a 100644
--- a/battle/ai/scoring.asm
+++ b/battle/ai/scoring.asm
@@ -982,7 +982,7 @@ AI_Smart_Whirlwind: ; 38a2a
push hl
callab CheckPlayerMoveTypeMatchups
- ld a, [wc716]
+ ld a, [wEnemyAISwitchScore]
cp 10 ; neutral
pop hl
ret c
@@ -1909,7 +1909,7 @@ AI_Smart_MeanLook: ; 38dfb
; Otherwise, discourage this move unless the player only has not very effective moves against the enemy.
push hl
callab CheckPlayerMoveTypeMatchups
- ld a, [wc716]
+ ld a, [wEnemyAISwitchScore]
cp $b ; not very effective
pop hl
ret nc
@@ -2170,7 +2170,7 @@ AI_Smart_PerishSong: ; 38f4a
push hl
callab CheckPlayerMoveTypeMatchups
- ld a, [wc716]
+ ld a, [wEnemyAISwitchScore]
cp 10 ; 1.0
pop hl
ret c
@@ -2432,7 +2432,7 @@ AI_Smart_BatonPass: ; 39062
push hl
callab CheckPlayerMoveTypeMatchups
- ld a, [wc716]
+ ld a, [wEnemyAISwitchScore]
cp 10 ; neutral
pop hl
ret c
diff --git a/battle/ai/switch.asm b/battle/ai/switch.asm
index 62a6bcd83..8209d8f2a 100755
--- a/battle/ai/switch.asm
+++ b/battle/ai/switch.asm
@@ -6,7 +6,7 @@ CheckPlayerMoveTypeMatchups: ; 3484e
push de
push bc
ld a, 10
- ld [wc716], a
+ ld [wEnemyAISwitchScore], a
ld hl, PlayerUsedMoves
ld a, [hl]
and a
@@ -167,17 +167,17 @@ endr
.DecreaseScore: ; 34931
- ld a, [wc716]
+ ld a, [wEnemyAISwitchScore]
dec a
- ld [wc716], a
+ ld [wEnemyAISwitchScore], a
ret
; 34939
.IncreaseScore: ; 34939
- ld a, [wc716]
+ ld a, [wEnemyAISwitchScore]
inc a
- ld [wc716], a
+ ld [wEnemyAISwitchScore], a
ret
; 34941
@@ -206,7 +206,7 @@ CheckAbleToSwitch: ; 34941
cp 2
jr nz, .not_2
- ld a, [wc716]
+ ld a, [wEnemyAISwitchScore]
add $30
ld [wEnemySwitchMonParam], a
ret
@@ -230,7 +230,7 @@ CheckAbleToSwitch: ; 34941
.no_perish
call CheckPlayerMoveTypeMatchups
- ld a, [wc716]
+ ld a, [wEnemyAISwitchScore]
cp 11
ret nc
@@ -239,13 +239,13 @@ CheckAbleToSwitch: ; 34941
jr z, .no_last_counter_move
call Function34a2a
- ld a, [wc716]
+ ld a, [wEnemyAISwitchScore]
and a
jr z, .no_last_counter_move
ld c, a
call Function34aa7
- ld a, [wc716]
+ ld a, [wEnemyAISwitchScore]
cp $ff
ret z
@@ -255,7 +255,7 @@ CheckAbleToSwitch: ; 34941
jr z, .not_2_again
call CheckPlayerMoveTypeMatchups
- ld a, [wc716]
+ ld a, [wEnemyAISwitchScore]
cp 10
ret nc
@@ -267,7 +267,7 @@ CheckAbleToSwitch: ; 34941
.not_2_again
ld c, $10
call CheckPlayerMoveTypeMatchups
- ld a, [wc716]
+ ld a, [wEnemyAISwitchScore]
cp 10
jr nc, .okay
ld c, $20
@@ -280,7 +280,7 @@ CheckAbleToSwitch: ; 34941
.no_last_counter_move
call CheckPlayerMoveTypeMatchups
- ld a, [wc716]
+ ld a, [wEnemyAISwitchScore]
cp 10
ret nc
@@ -293,7 +293,7 @@ CheckAbleToSwitch: ; 34941
cp $2
ret nz
- ld a, [wc716]
+ ld a, [wEnemyAISwitchScore]
add $10
ld [wEnemySwitchMonParam], a
ret
@@ -359,7 +359,7 @@ Function34a2a: ; 34a2a
ld c, 1 << (PARTY_LENGTH - 1)
ld d, 0
xor a
- ld [wc716], a
+ ld [wEnemyAISwitchScore], a
.asm_34a39
ld a, [CurOTMon]
@@ -395,9 +395,9 @@ Function34a2a: ; 34a2a
and a
jr nz, .asm_34a77
- ld a, [wc716]
+ ld a, [wEnemyAISwitchScore]
or c
- ld [wc716], a
+ ld [wEnemyAISwitchScore], a
.asm_34a77
pop hl
dec b
@@ -451,7 +451,7 @@ Function34a85: ; 34a85
Function34aa7: ; 34aa7
ld a, $ff
- ld [wc716], a
+ ld [wEnemyAISwitchScore], a
ld hl, OTPartyMon1Moves
ld b, 1 << (PARTY_LENGTH - 1)
ld d, 0
@@ -540,7 +540,7 @@ Function34aa7: ; 34aa7
jr nc, .loop2
ld a, c
- ld [wc716], a
+ ld [wEnemyAISwitchScore], a
pop bc
ret
; 34b20
diff --git a/battle/bg_effects.asm b/battle/bg_effects.asm
index 188a3e43d..b03e3aea5 100644
--- a/battle/bg_effects.asm
+++ b/battle/bg_effects.asm
@@ -748,7 +748,7 @@ endr
jr z, .clear
cp -3
jr z, .skip
- call .FillBox
+ call .PlaceGraphic
.skip
call BattleBGEffects_IncrementJumptable
ld a, $1
@@ -798,7 +798,7 @@ endr
pop bc
ret
-.FillBox
+.PlaceGraphic
; get dims
push bc
push hl
diff --git a/battle/core.asm b/battle/core.asm
index 9a464023b..7e6eea9c6 100644
--- a/battle/core.asm
+++ b/battle/core.asm
@@ -3,7 +3,7 @@ BattleCore:
DoBattle: ; 3c000
xor a
ld [wBattleParticipantsNotFainted], a
- ld [wc6fc], a
+ ld [wBattleParticipantsIncludingFainted], a
ld [wPlayerAction], a
ld [BattleEnded], a
inc a
@@ -1248,7 +1248,7 @@ HandlePerishSong: ; 3c801
res SUBSTATUS_PERISH, [hl]
ld a, [hBattleTurn]
and a
- jr nz, .asm_3c85c
+ jr nz, .kill_enemy
ld hl, BattleMonHP
xor a
ld [hli], a
@@ -1261,7 +1261,7 @@ HandlePerishSong: ; 3c801
ld [hl], a
ret
-.asm_3c85c
+.kill_enemy
ld hl, EnemyMonHP
xor a
ld [hli], a
@@ -1334,12 +1334,12 @@ HandleWrap: ; 3c874
call GetSixteenthMaxHP
call SubtractHPFromUser
ld hl, BattleText_UsersHurtByStringBuffer1
- jr .asm_3c8e1
+ jr .print_text
.release_from_bounds
ld hl, BattleText_UserWasReleasedFromStringBuffer1
-.asm_3c8e1
+.print_text
jp StdBattleTextBox
; 3c8e4
@@ -1396,7 +1396,7 @@ HandleLeftovers: ; 3c8eb
call GetSixteenthMaxHP
call SwitchTurnCore
call RestoreHP
- ld hl, BattleText_0x80880
+ ld hl, BattleText_TargetRecoveredWithItem
jp StdBattleTextBox
; 3c93c
@@ -1569,7 +1569,7 @@ HandleFutureSight: ; 3ca26
cp $1
ret nz
- ld hl, BattleText_0x808b6
+ ld hl, BattleText_TargetWasHitByFutureSight
call StdBattleTextBox
ld a, BATTLE_VARS_MOVE
@@ -1645,12 +1645,12 @@ HanleDefrost: ; 3ca8f
ld a, [wBattleMode]
dec a
- jr z, .asm_3caef
+ jr z, .wild
ld a, [CurOTMon]
ld hl, OTPartyMon1Status
call GetPartyLocation
ld [hl], 0
-.asm_3caef
+.wild
call UpdateBattleHuds
call SetPlayerTurn
@@ -1661,13 +1661,13 @@ HanleDefrost: ; 3ca8f
HandleSafeguard: ; 3cafb
ld a, [hLinkPlayerNumber]
cp $1
- jr z, .asm_3cb06
- call .asm_3cb09
- jr .asm_3cb1c
+ jr z, .player1
+ call .CheckPlayer
+ jr .CheckEnemy
-.asm_3cb06
- call .asm_3cb1c
-.asm_3cb09
+.player1
+ call .CheckEnemy
+.CheckPlayer
ld a, [PlayerScreens]
bit SCREENS_SAFEGUARD, a
ret z
@@ -1677,9 +1677,9 @@ HandleSafeguard: ; 3cafb
res SCREENS_SAFEGUARD, a
ld [PlayerScreens], a
xor a
- jr .asm_3cb2e
+ jr .print
-.asm_3cb1c
+.CheckEnemy
ld a, [EnemyScreens]
bit SCREENS_SAFEGUARD, a
ret z
@@ -1690,7 +1690,7 @@ HandleSafeguard: ; 3cafb
ld [EnemyScreens], a
ld a, $1
-.asm_3cb2e
+.print
ld [hBattleTurn], a
ld hl, BattleText_SafeguardFaded
jp StdBattleTextBox
@@ -1712,7 +1712,7 @@ HandleScreens: ; 3cb36
call .Copy
ld hl, PlayerScreens
ld de, PlayerLightScreenCount
- jr .FadeScreens
+ jr .TickScreens
.CheckEnemy
call SetEnemyTurn
@@ -1721,11 +1721,11 @@ HandleScreens: ; 3cb36
ld hl, EnemyScreens
ld de, EnemyLightScreenCount
-.FadeScreens
+.TickScreens
bit SCREENS_LIGHT_SCREEN, [hl]
- call nz, FadeLightScreen
+ call nz, .LightScreenTick
bit SCREENS_REFLECT, [hl]
- call nz, FadeReflect
+ call nz, .ReflectTick
ret
.Copy
@@ -1740,7 +1740,7 @@ HandleScreens: ; 3cb36
; 3cb80
-FadeLightScreen: ; 3cb80
+.LightScreenTick: ; 3cb80
ld a, [de]
dec a
ld [de], a
@@ -1748,21 +1748,21 @@ FadeLightScreen: ; 3cb80
res SCREENS_LIGHT_SCREEN, [hl]
push hl
push de
- ld hl, BattleText_PkmnnLightScreenFell
+ ld hl, BattleText_PkmnLightScreenFell
call StdBattleTextBox
pop de
pop hl
ret
; 3cb91
-FadeReflect: ; 3cb91
+.ReflectTick: ; 3cb91
inc de
ld a, [de]
dec a
ld [de], a
ret nz
res SCREENS_REFLECT, [hl]
- ld hl, BattleText_0x80905
+ ld hl, BattleText_PkmnReflectFaded
jp StdBattleTextBox
; 3cb9e
@@ -2110,8 +2110,8 @@ HandleEnemyMonFaint: ; 3cd55
or [hl]
call z, FaintYourPokemon
xor a
- ld [wc6f7], a
- call Function3ce01
+ ld [wWhichMonFaintedFirst], a
+ call UpdateBattleStateAndExperienceAfterEnemyFaint
call CheckPlayerPartyForFitPkmn
ld a, d
and a
@@ -2158,14 +2158,14 @@ HandleEnemyMonFaint: ; 3cd55
ld a, $1
ld [wPlayerAction], a
- call Function3cf4a
+ call HandleEnemySwitch
jp z, WildFled_EnemyFled_LinkBattleCanceled
jr DoubleSwitch
.player_mon_not_fainted
ld a, $1
ld [wPlayerAction], a
- call Function3cf4a
+ call HandleEnemySwitch
jp z, WildFled_EnemyFled_LinkBattleCanceled
xor a
ld [wPlayerAction], a
@@ -2202,7 +2202,7 @@ DoubleSwitch: ; 3cdca
ret
; 3ce01
-Function3ce01: ; 3ce01
+UpdateBattleStateAndExperienceAfterEnemyFaint: ; 3ce01
call UpdateBattleMonInParty
ld a, [wBattleMode]
dec a
@@ -2231,14 +2231,14 @@ Function3ce01: ; 3ce01
.wild2
call StopDangerSound
ld a, $1
- ld [wc6fd], a
+ ld [wDanger], a
.trainer
ld hl, BattleMonHP
ld a, [hli]
or [hl]
jr nz, .player_mon_did_not_faint
- ld a, [wc6f7]
+ ld a, [wWhichMonFaintedFirst]
and a
jr nz, .player_mon_did_not_faint
call PlayerMonFaintHappinessMod
@@ -2256,10 +2256,10 @@ Function3ce01: ; 3ce01
ld a, [wBattleResult]
and $c0
ld [wBattleResult], a
- call DoOthersShareExperience
+ call IsAnyMonHoldingExpShare
jr z, .skip_exp
ld hl, EnemyMonBaseStats
- ld b, $7
+ ld b, EnemyMonEnd - EnemyMonBaseStats
.loop
srl [hl]
inc hl
@@ -2268,32 +2268,32 @@ Function3ce01: ; 3ce01
.skip_exp
ld hl, EnemyMonBaseStats
- ld de, wc720
+ ld de, wBackupEnemyMonBaseStats
ld bc, EnemyMonEnd - EnemyMonBaseStats
call CopyBytes
xor a
- ld [wc71f], a
+ ld [wGivingExperienceToExpShareHolders], a
call GiveExperiencePoints
- call DoOthersShareExperience
+ call IsAnyMonHoldingExpShare
ret z
ld a, [wBattleParticipantsNotFainted]
push af
ld a, d
ld [wBattleParticipantsNotFainted], a
- ld hl, wc720
+ ld hl, wBackupEnemyMonBaseStats
ld de, EnemyMonBaseStats
ld bc, EnemyMonEnd - EnemyMonBaseStats
call CopyBytes
ld a, $1
- ld [wc71f], a
+ ld [wGivingExperienceToExpShareHolders], a
call GiveExperiencePoints
pop af
ld [wBattleParticipantsNotFainted], a
ret
; 3ceaa
-DoOthersShareExperience: ; 3ceaa
+IsAnyMonHoldingExpShare: ; 3ceaa
ld a, [PartyCount]
ld b, a
ld hl, PartyMon1
@@ -2406,7 +2406,7 @@ CheckEnemyTrainerDefeated: ; 3cf35
ret
; 3cf4a
-Function3cf4a: ; 3cf4a
+HandleEnemySwitch: ; 3cf4a
ld hl, EnemyHPPal
ld e, HP_BAR_LENGTH_PX
call UpdateHPPal
@@ -2442,15 +2442,13 @@ EnemyPartyMonEntrance: ; 3cf78
call BreakAttraction
pop af
and a
- jr nz, .asm_3cf8f
-
+ jr nz, .set
call EnemySwitch
- jr .asm_3cf92
+ jr .done_switch
-.asm_3cf8f
+.set
call EnemySwitch_SetMode
-
-.asm_3cf92
+.done_switch
call ResetBattleParticipants
call SetEnemyTurn
call SpikesDamage
@@ -2465,7 +2463,7 @@ WinTrainerBattle: ; 3cfa4
; Player won the battle
call StopDangerSound
ld a, $1
- ld [wc6fd], a
+ ld [wDanger], a
ld [BattleEnded], a
ld a, [wLinkMode]
and a
@@ -2499,7 +2497,7 @@ WinTrainerBattle: ; 3cfa4
call PrintWinLossText
.skip_win_loss_text
- jp Function3d02b
+ jp HandleBattleReward
.mobile
call BattleWinSlideInEnemyTrainerFrontpic
@@ -2528,7 +2526,7 @@ WinTrainerBattle: ; 3cfa4
ret
; 3d02b
-Function3d02b: ; 3d02b
+HandleBattleReward: ; 3d02b
ld a, [wAmuletCoin]
and a
call nz, .DoubleReward
@@ -2682,7 +2680,7 @@ PlayVictoryMusic: ; 3d0ea
dec a
jr nz, .trainer_victory
push de
- call DoOthersShareExperience
+ call IsAnyMonHoldingExpShare
pop de
jr nz, .play_music
ld hl, wPayDayMoney
@@ -2771,7 +2769,7 @@ HandlePlayerMonFaint: ; 3d14e
or [hl]
call z, FaintEnemyPokemon
ld a, $1
- ld [wc6f7], a
+ ld [wWhichMonFaintedFirst], a
call PlayerMonFaintHappinessMod
call CheckPlayerPartyForFitPkmn
ld a, d
@@ -2781,7 +2779,7 @@ HandlePlayerMonFaint: ; 3d14e
ld a, [hli]
or [hl]
jr nz, .notfainted
- call Function3ce01
+ call UpdateBattleStateAndExperienceAfterEnemyFaint
ld a, [wBattleMode]
dec a
jr nz, .trainer
@@ -2809,7 +2807,7 @@ HandlePlayerMonFaint: ; 3d14e
ret nz
ld a, $1
ld [wPlayerAction], a
- call Function3cf4a
+ call HandleEnemySwitch
jp z, WildFled_EnemyFled_LinkBattleCanceled
jp DoubleSwitch
; 3d1aa
@@ -2847,7 +2845,7 @@ PlayerMonFaintHappinessMod: ; 3d1aa
and %11000000
add $1
ld [wBattleResult], a
- ld a, [wc6f7]
+ ld a, [wWhichMonFaintedFirst]
and a
ret z
ret ; ??????????
@@ -2999,7 +2997,7 @@ SetUpBattlePartyMenu: ; switch to fullscreen menu?
ret
; 3d313
-Function3d313: ; 3d313
+JumpToPartyMenuAndPrintText: ; 3d313
callba WritePartyMenuTilemap
callba PrintPartyMenuText
call WaitBGMap
@@ -3008,14 +3006,14 @@ Function3d313: ; 3d313
ret
; 3d329
-Function3d329: ; 3d329
+SelectBattleMon: ; 3d329
call IsMobileBattle
jr z, .mobile
callba PartyMenuSelect
ret
.mobile
- callba Function100cb5
+ callba Mobile_PartyMenuSelect
ret
; 3d33c
@@ -3023,8 +3021,8 @@ PickPartyMonInBattle: ; 3d33c
.loop
ld a, $2 ; Which PKMN?
ld [PartyMenuActionText], a
- call Function3d313
- call Function3d329
+ call JumpToPartyMenuAndPrintText
+ call SelectBattleMon
ret c
call CheckIfPartyHasPkmnToBattleWith
jr z, .loop
@@ -3338,7 +3336,7 @@ EnemySwitch: ; 3d4e1
; If we're here, then we're switching too
xor a
ld [wBattleParticipantsNotFainted], a
- ld [wc6fc], a
+ ld [wBattleParticipantsIncludingFainted], a
ld [wPlayerAction], a
inc a
ld [wEnemyIsSwitching], a
@@ -3403,7 +3401,7 @@ ResetEnemyBattleVars: ; 3d557
ld [LastEnemyMove], a
ld [CurEnemyMove], a
dec a
- ld [wc6e6], a
+ ld [wEnemyItemState], a
xor a
ld [wPlayerWrapCount], a
hlcoord 18, 0
@@ -3416,7 +3414,7 @@ ResetEnemyBattleVars: ; 3d557
ResetBattleParticipants: ; 3d57a
xor a
ld [wBattleParticipantsNotFainted], a
- ld [wc6fc], a
+ ld [wBattleParticipantsIncludingFainted], a
AddBattleParticipant: ; 3d581
ld a, [CurBattleMon]
ld c, a
@@ -3425,7 +3423,7 @@ AddBattleParticipant: ; 3d581
push bc
predef FlagPredef
pop bc
- ld hl, wc6fc
+ ld hl, wBattleParticipantsIncludingFainted
predef_jump FlagPredef
; 3d599
@@ -3434,7 +3432,7 @@ FindPkmnInOTPartyToSwitchIntoBattle: ; 3d599
ld a, $1
ld [Buffer1], a
ld [Buffer2], a
-.asm_3d5a3
+.loop
ld hl, Buffer1
sla [hl]
inc hl
@@ -3442,10 +3440,10 @@ FindPkmnInOTPartyToSwitchIntoBattle: ; 3d599
inc b
ld a, [OTPartyCount]
cp b
- jp z, Function3d672
+ jp z, ScoreMonTypeMatchups
ld a, [CurOTMon]
cp b
- jr z, .asm_3d5d0
+ jr z, .discourage
ld hl, OTPartyMon1HP
push bc
ld a, b
@@ -3455,15 +3453,15 @@ FindPkmnInOTPartyToSwitchIntoBattle: ; 3d599
ld a, [hl]
or c
pop bc
- jr z, .asm_3d5d0
+ jr z, .discourage
call LookUpTheEffectivenessOfEveryMove
call IsThePlayerPkmnTypesEffectiveAgainstOTPkmn
- jr .asm_3d5a3
+ jr .loop
-.asm_3d5d0
+.discourage
ld hl, Buffer2
set 0, [hl]
- jr .asm_3d5a3
+ jr .loop
; 3d5d7
LookUpTheEffectivenessOfEveryMove: ; 3d5d7
@@ -3517,7 +3515,7 @@ IsThePlayerPkmnTypesEffectiveAgainstOTPkmn: ; 3d618
ld a, [hl]
dec a
ld hl, BaseData + 7 ; type
- ld bc, $20
+ ld bc, BaseData1 - BaseData0
call AddNTimes
ld de, EnemyMonType
ld bc, 2
@@ -3529,80 +3527,80 @@ IsThePlayerPkmnTypesEffectiveAgainstOTPkmn: ; 3d618
callab BattleCheckTypeMatchup
ld a, [wd265]
cp 10 + 1 ; 1.0 + 0.1
- jr nc, .asm_3d663
+ jr nc, .super_effective
ld a, [BattleMonType2]
ld [wPlayerMoveStruct + MOVE_TYPE], a
callab BattleCheckTypeMatchup
ld a, [wd265]
cp 10 + 1 ; 1.0 + 0.1
- jr nc, .asm_3d663
+ jr nc, .super_effective
pop bc
ret
-.asm_3d663
+.super_effective
pop bc
ld hl, Buffer1
bit 0, [hl]
- jr nz, .asm_3d66f
+ jr nz, .reset
inc hl
set 0, [hl]
ret
-.asm_3d66f
+.reset
res 0, [hl]
ret
; 3d672
-Function3d672: ; 3d672
-.asm_3d672
+ScoreMonTypeMatchups: ; 3d672
+.loop1
ld hl, Buffer1
sla [hl]
inc hl
sla [hl]
- jr nc, .asm_3d672
+ jr nc, .loop1
ld a, [OTPartyCount]
ld b, a
ld c, [hl]
-.asm_3d681
+.loop2
sla c
- jr nc, .asm_3d68a
+ jr nc, .okay
dec b
- jr z, .asm_3d6a7
- jr .asm_3d681
+ jr z, .loop5
+ jr .loop2
-.asm_3d68a
+.okay
ld a, [Buffer1]
and a
- jr z, .asm_3d69a
+ jr z, .okay2
ld b, $ff
ld c, a
-.asm_3d693
+.loop3
inc b
sla c
- jr nc, .asm_3d693
- jr .asm_3d6c9
+ jr nc, .loop3
+ jr .quit
-.asm_3d69a
+.okay2
ld b, $ff
ld a, [Buffer2]
ld c, a
-.asm_3d6a0
+.loop4
inc b
sla c
- jr c, .asm_3d6a0
- jr .asm_3d6c9
+ jr c, .loop4
+ jr .quit
-.asm_3d6a7
+.loop5
ld a, [OTPartyCount]
ld b, a
call BattleRandom
and $7
cp b
- jr nc, .asm_3d6a7
+ jr nc, .loop5
ld b, a
ld a, [CurOTMon]
cp b
- jr z, .asm_3d6a7
+ jr z, .loop5
ld hl, OTPartyMon1HP
push bc
ld a, b
@@ -3612,9 +3610,9 @@ Function3d672: ; 3d672
ld c, a
ld a, [hl]
or c
- jr z, .asm_3d6a7
+ jr z, .loop5
-.asm_3d6c9
+.quit
ret
; 3d6ca
@@ -3971,7 +3969,7 @@ TryToRunAwayFromBattle: ; 3d8b3
and a
jr z, .can_escape
ld [hDivisor], a
- ld b, $2
+ ld b, 2
call Divide
ld a, [hQuotient + 1]
and a
@@ -4142,7 +4140,7 @@ GetEnemyMonDVs: ; 3da97
ld a, [EnemySubStatus5]
bit SUBSTATUS_TRANSFORMED, a
ret z
- ld hl, wc6f2
+ ld hl, wEnemyBackupDVs
ld a, [wBattleMode]
dec a
ret z
@@ -4163,7 +4161,7 @@ ResetPlayerStatLevels: ; 3dab1
; 3dabd
-Function3dabd: ; 3dabd
+InitEnemyMon: ; 3dabd
ld a, [CurPartyMon]
ld hl, OTPartyMon1Species
call GetPartyLocation
@@ -4205,12 +4203,12 @@ endr
ld hl, BaseStats
ld de, EnemyMonBaseStats
ld b, 5
-.asm_3db25
+.loop
ld a, [hli]
ld [de], a
inc de
dec b
- jr nz, .asm_3db25
+ jr nz, .loop
ld a, [CurPartyMon]
ld [CurOTMon], a
ret
@@ -4250,7 +4248,7 @@ SendOutPlayerMon: ; 3db5f
ld [hBGMapMode], a
call GetMonBackpic
xor a
- ld [hFillBox], a
+ ld [hGraphicStartTile], a
ld [wd0d2], a
ld [CurMoveNum], a
ld [TypeModifier], a
@@ -4418,7 +4416,7 @@ PursuitSwitch: ; 3dc5b
ld [CryTracks], a
ld a, [BattleMonSpecies]
call PlayStereoCry
- ld a, [wc71a]
+ ld a, [LastPlayerMon]
ld c, a
ld hl, wBattleParticipantsNotFainted
ld b, RESET_FLAG
@@ -4452,7 +4450,7 @@ PursuitSwitch: ; 3dc5b
ret
; 3dce6
-Function3dce6: ; 3dce6
+RecallPlayerMon: ; 3dce6
ld a, [hBattleTurn]
push af
xor a
@@ -4887,7 +4885,7 @@ CheckDanger: ; 3df9e
ld a, [hli]
or [hl]
jr z, .no_danger
- ld a, [wc6fd]
+ ld a, [wDanger]
and a
jr nz, .done
ld a, [PlayerHPPal]
@@ -4943,16 +4941,16 @@ PrintPlayerHUD: ; 3dfbf
ld [MonType], a
callab GetGender
ld a, " "
- jr c, .asm_3e013
+ jr c, .got_gender_char
ld a, "♂"
- jr nz, .asm_3e013
+ jr nz, .got_gender_char
ld a, "♀"
-.asm_3e013
+.got_gender_char
hlcoord 17, 8
ld [hl], a
hlcoord 14, 8
- push af
+ push af ; back up gender
push hl
ld de, BattleMonStatus
predef PlaceNonFaintStatus
@@ -4961,10 +4959,10 @@ PrintPlayerHUD: ; 3dfbf
ret nz
ld a, b
cp " "
- jr nz, .asm_3e02d
- dec hl
+ jr nz, .copy_level ; male or female
+ dec hl ; genderless
-.asm_3e02d
+.copy_level
ld a, [BattleMonLevel]
ld [TempMonLevel], a
jp PrintLevel
@@ -5009,7 +5007,7 @@ DrawEnemyHUD: ; 3e043
ld a, [EnemySubStatus5]
bit SUBSTATUS_TRANSFORMED, a
jr z, .ok
- ld hl, wc6f2
+ ld hl, wEnemyBackupDVs
.ok
ld a, [hli]
ld [de], a
@@ -5322,7 +5320,7 @@ BattleMenu_Pack: ; 3e1c7
BattleMenu_PKMN: ; 3e28d
call LoadStandardMenuDataHeader
-Function3e290:
+BattleMenuPKMN_ReturnFromStats:
call ExitMenu
call LoadStandardMenuDataHeader
call ClearBGPalettes
@@ -5330,8 +5328,8 @@ BattleMenuPKMN_Loop:
call SetUpBattlePartyMenu
xor a
ld [PartyMenuActionText], a
- call Function3d313
- call Function3d329
+ call JumpToPartyMenuAndPrintText
+ call SelectBattleMon
jr c, .Cancel
.loop
callba FreezeMonIcons
@@ -5356,7 +5354,7 @@ BattleMenuPKMN_Loop:
call Battle_StatsScreen
call CheckMobileBattleError
jr c, .Cancel
- jp Function3e290
+ jp BattleMenuPKMN_ReturnFromStats
.Cancel
call ClearSprites
@@ -5519,7 +5517,7 @@ BattleMonEntrance: ; 3e40b
call SetEnemyTurn
call PursuitSwitch
jr c, .ok
- call Function3dce6
+ call RecallPlayerMon
.ok
hlcoord 9, 7
@@ -5771,7 +5769,7 @@ MoveSelectionScreen: ; 3e4bc
dec a
cp c
jr z, .move_disabled
- ld a, [wc6e1]
+ ld a, [wUnusedPlayerLockedMove]
and a
jr nz, .skip2
ld a, [wMenuCursorY]
@@ -6258,12 +6256,12 @@ LoadEnemyMon: ; 3e8eb
; We don't need to be here if we're in a link battle
ld a, [wLinkMode]
and a
- jp nz, Function3dabd
+ jp nz, InitEnemyMon
; and also not in a BattleTower-Battle
ld a, [InBattleTowerBattle] ; ????
bit 0, a
- jp nz, Function3dabd
+ jp nz, InitEnemyMon
; Make sure everything knows what species we're working with
ld a, [TempEnemyMonSpecies]
@@ -6336,7 +6334,7 @@ LoadEnemyMon: ; 3e8eb
jr z, .InitDVs
; Unknown
- ld hl, wc6f2
+ ld hl, wEnemyBackupDVs
ld de, EnemyMonDVs
ld a, [hli]
ld [de], a
@@ -6848,7 +6846,8 @@ CheckUnownLetter: ; 3eb75
; 3ebc7
-Function3ebc7: ; 3ebc7
+SwapBattlerLevels: ; 3ebc7
+; unreferenced
push bc
ld a, [BattleMonLevel]
ld b, a
@@ -7383,7 +7382,7 @@ GiveExperiencePoints: ; 3ee3b
bit 0, a
ret nz
- call Function3f0d4
+ call .EvenlyDivideExpAmongParticipants
xor a
ld [CurPartyMon], a
ld bc, PartyMon1Species
@@ -7407,6 +7406,7 @@ GiveExperiencePoints: ; 3ee3b
pop bc
jp z, .skip_stats
+; give stat exp
ld hl, MON_STAT_EXP + 1
add hl, bc
ld d, h
@@ -7472,6 +7472,7 @@ GiveExperiencePoints: ; 3ee3b
ld [hDivisor], a
ld b, 4
call Divide
+; Boost Experience for traded Pokemon
pop bc
ld hl, MON_ID
add hl, bc
@@ -7489,10 +7490,12 @@ GiveExperiencePoints: ; 3ee3b
ld a, $1
.no_boost
+; Boost experience for a Trainer Battle
ld [StringBuffer2 + 2], a
ld a, [wBattleMode]
dec a
call nz, BoostExp
+; Boost experience for Lucky Egg
push bc
ld a, MON_ITEM
call GetPartyParamLocation
@@ -7513,7 +7516,7 @@ GiveExperiencePoints: ; 3ee3b
ld a, [StringBuffer2]
ld [hQuotient + 1], a
pop bc
- call Function3f136
+ call AnimateExpBar
push bc
call LoadTileMapToTempTileMap
pop bc
@@ -7748,26 +7751,26 @@ GiveExperiencePoints: ; 3ee3b
jp ResetBattleParticipants
; 3f0d4
-Function3f0d4: ; 3f0d4
+.EvenlyDivideExpAmongParticipants
; count number of battle participants
ld a, [wBattleParticipantsNotFainted]
ld b, a
ld c, PARTY_LENGTH
ld d, 0
-.loop
+.count_loop
xor a
srl b
adc d
ld d, a
dec c
- jr nz, .loop
+ jr nz, .count_loop
cp 2
ret c
ld [wd265], a
ld hl, EnemyMonBaseStats
ld c, EnemyMonEnd - EnemyMonBaseStats
-.loop2
+.count_loop2
xor a
ld [hDividend + 0], a
ld a, [hl]
@@ -7779,7 +7782,7 @@ Function3f0d4: ; 3f0d4
ld a, [hQuotient + 2]
ld [hli], a
dec c
- jr nz, .loop2
+ jr nz, .count_loop2
ret
; 3f106
@@ -7827,7 +7830,7 @@ TextJump_StringBuffer2ExpPoints: ; 3f131
; 3f136
-Function3f136: ; 3f136
+AnimateExpBar: ; 3f136
push bc
ld hl, CurPartyMon
@@ -7864,15 +7867,15 @@ Function3f136: ; 3f136
ld a, [wd003]
adc [hl]
ld [hld], a
- jr nc, .asm_3f186
+ jr nc, .NoOverflow
inc [hl]
- jr nz, .asm_3f186
+ jr nz, .NoOverflow
ld a, $ff
ld [hli], a
ld [hli], a
ld [hl], a
-.asm_3f186
+.NoOverflow
ld d, MAX_LEVEL
callab CalcExpAtLevel
ld a, [hProduct + 1]
@@ -7888,7 +7891,7 @@ Function3f136: ; 3f136
sbc c
ld a, [hl]
sbc b
- jr c, .asm_3f1a8
+ jr c, .AlreadyAtMaxExp
ld a, b
ld [hli], a
ld a, c
@@ -7896,37 +7899,37 @@ Function3f136: ; 3f136
ld a, d
ld [hld], a
-.asm_3f1a8
+.AlreadyAtMaxExp
callab CalcLevel
ld a, d
pop bc
pop de
ld d, a
cp e
- jr nc, .asm_3f1b7
+ jr nc, .LoopLevels
ld a, e
ld d, a
-.asm_3f1b7
+.LoopLevels
ld a, e
cp MAX_LEVEL
- jr nc, .asm_3f1ff
+ jr nc, .FinishExpBar
cp d
- jr z, .asm_3f1ff
+ jr z, .FinishExpBar
inc a
ld [TempMonLevel], a
ld [CurPartyLevel], a
ld [BattleMonLevel], a
push de
- call Function3f21b
+ call .PlayExpBarSound
ld c, $40
- call Function3f22c
+ call .LoopBarAnimation
call PrintPlayerHUD
ld hl, BattleMonNick
ld de, StringBuffer1
ld bc, PKMN_NAME_LENGTH
call CopyBytes
- call Function3dfe
+ call TerminateExpBarSound
ld de, SFX_HIT_END_OF_EXP_BAR
call PlaySFX
callba AnimateEndOfExpBar
@@ -7936,9 +7939,9 @@ Function3f136: ; 3f136
pop de
inc e
ld b, $0
- jr .asm_3f1b7
+ jr .LoopLevels
-.asm_3f1ff
+.FinishExpBar
push bc
ld b, d
ld de, TempMonExp + 2
@@ -7946,9 +7949,9 @@ Function3f136: ; 3f136
ld a, b
pop bc
ld c, a
- call Function3f21b
- call Function3f22c
- call Function3dfe
+ call .PlayExpBarSound
+ call .LoopBarAnimation
+ call TerminateExpBarSound
pop af
ld [hProduct + 2], a
pop af
@@ -7957,9 +7960,8 @@ Function3f136: ; 3f136
.finish
pop bc
ret
-; 3f21b
-Function3f21b: ; 3f21b
+.PlayExpBarSound
push bc
call WaitSFX
ld de, SFX_EXP_BAR
@@ -7968,12 +7970,11 @@ Function3f21b: ; 3f21b
call DelayFrames
pop bc
ret
-; 3f22c
-Function3f22c: ; 3f22c
- ld d, $3
+.LoopBarAnimation
+ ld d, 3
dec b
-.asm_3f22f
+.anim_loop
inc b
push bc
push de
@@ -7989,7 +7990,7 @@ Function3f22c: ; 3f22c
pop bc
ld a, c
cp b
- jr z, .asm_3f268
+ jr z, .end_animation
inc b
push bc
push de
@@ -8003,16 +8004,14 @@ Function3f22c: ; 3f22c
xor a
ld [hBGMapMode], a
dec d
- jr nz, .asm_3f263
- ld d, $1
-
-.asm_3f263
+ jr nz, .min_number_of_frames
+ ld d, 1
+.min_number_of_frames
pop bc
ld a, c
cp b
- jr nz, .asm_3f22f
-
-.asm_3f268
+ jr nz, .anim_loop
+.end_animation
ld a, $1
ld [hBGMapMode], a
ret
@@ -8184,7 +8183,7 @@ TextJump_GoodComeBack: ; 3f352
db "@"
; 3f357
-Function_TextJump_ComeBack: ; 3f357
+UnusedFunction_TextJump_ComeBack: ; 3f357
; this function doesn't seem to be used
ld hl, TextJump_ComeBack
ret
@@ -8575,12 +8574,12 @@ InitEnemyTrainer: ; 3f594
ld de, VTiles2
callab GetTrainerPic
xor a
- ld [hFillBox], a
+ ld [hGraphicStartTile], a
dec a
- ld [wc6e6], a
+ ld [wEnemyItemState], a
hlcoord 12, 0
lb bc, 7, 7
- predef FillBox
+ predef PlaceGraphic
ld a, -1
ld [CurOTMon], a
ld a, TRAINER_BATTLE
@@ -8640,14 +8639,15 @@ InitEnemyWildmon: ; 3f607
predef FrontpicPredef
xor a
ld [TrainerClass], a
- ld [hFillBox], a
+ ld [hGraphicStartTile], a
hlcoord 12, 0
lb bc, 7, 7
- predef FillBox
+ predef PlaceGraphic
ret
; 3f662
Function3f662: ; 3f662
+; XXX
ld hl, EnemyMonMoves
ld de, wListMoves_MoveIndicesBuffer
ld b, NUM_MOVES
@@ -8852,8 +8852,8 @@ DetermineMobileBattleResult: ; 3f77c
ld a, BANK(sLinkBattleStats)
call GetSRAMBank
- call Function3fa42
- call Function3f85f
+ call AddLastMobileBattleToLinkRecord
+ call ReadAndPrintLinkBattleRecord
call CloseSRAM
@@ -8905,7 +8905,7 @@ DisplayLinkRecord: ; 3f836
ld a, BANK(sLinkBattleStats)
call GetSRAMBank
- call Function3f85f
+ call ReadAndPrintLinkBattleRecord
call CloseSRAM
hlcoord 0, 0, AttrMap
@@ -8916,86 +8916,85 @@ DisplayLinkRecord: ; 3f836
ld b, SCGB_08
call GetSGBLayout
call SetPalettes
- ld c, $8
+ ld c, 8
call DelayFrames
call WaitPressAorB_BlinkCursor
ret
; 3f85f
-Function3f85f: ; 3f85f
+ReadAndPrintLinkBattleRecord: ; 3f85f
call ClearTileMap
call ClearSprites
- call .asm_3f8e0
+ call .PrintBattleRecord
hlcoord 0, 8
- ld b, $5
- ld de, sLinkBattleStats + $8
-.asm_3f870
+ ld b, 5
+ ld de, sLinkBattleRecord + 2
+.loop
push bc
push hl
push de
ld a, [de]
and a
- jr z, .asm_3f8c9
+ jr z, .PrintFormatString
ld a, [wSavedAtLeastOnce]
and a
- jr z, .asm_3f8c9
+ jr z, .PrintFormatString
push hl
push hl
ld h, d
ld l, e
ld de, wd002
- ld bc, $000a
+ ld bc, 10
call CopyBytes
- ld a, $50
+ ld a, "@"
ld [de], a
inc de
- ld bc, $0006
+ ld bc, 6
call CopyBytes
ld de, wd002
pop hl
call PlaceString
pop hl
- ld de, $001a
+ ld de, 26
add hl, de
push hl
ld de, wd00d
lb bc, 2, 4
call PrintNum
pop hl
- ld de, $0005
+ ld de, 5
add hl, de
push hl
ld de, wd00f
lb bc, 2, 4
call PrintNum
pop hl
- ld de, $0005
+ ld de, 5
add hl, de
ld de, wd011
lb bc, 2, 4
call PrintNum
- jr .asm_3f8cf
+ jr .next
-.asm_3f8c9
+.PrintFormatString
ld de, .Format
call PlaceString
-
-.asm_3f8cf
+.next
pop hl
- ld bc, $0012
+ ld bc, 18
add hl, bc
ld d, h
ld e, l
pop hl
- ld bc, $0028
+ ld bc, 2 * SCREEN_WIDTH
add hl, bc
pop bc
dec b
- jr nz, .asm_3f870
+ jr nz, .loop
ret
-.asm_3f8e0
+.PrintBattleRecord
hlcoord 1, 0
ld de, .Record
call PlaceString
@@ -9010,30 +9009,30 @@ Function3f85f: ; 3f85f
hlcoord 6, 4
ld de, sLinkBattleWins
- call .asm_3f92b
- jr c, .asm_3f92a
+ call .PrintZerosIfNoSaveFileExists
+ jr c, .quit
lb bc, 2, 4
call PrintNum
hlcoord 11, 4
ld de, sLinkBattleLosses
- call .asm_3f92b
+ call .PrintZerosIfNoSaveFileExists
lb bc, 2, 4
call PrintNum
hlcoord 16, 4
ld de, sLinkBattleDraws
- call .asm_3f92b
+ call .PrintZerosIfNoSaveFileExists
lb bc, 2, 4
call PrintNum
-.asm_3f92a
+.quit
ret
-.asm_3f92b
+.PrintZerosIfNoSaveFileExists
ld a, [wSavedAtLeastOnce]
and a
ret nz
@@ -9048,7 +9047,8 @@ Function3f85f: ; 3f85f
; 3f947
.Format ; 3f947
- db " --- <LNBRK> - - -@"
+ db " --- <LNBRK>"
+ db " - - -@"
.Record ; 3f964
db "<PLAYER>'s RECORD@"
.Result ; 3f96e
@@ -9166,17 +9166,17 @@ GetRoamMonSpecies: ; 3fa31
; 3fa42
-Function3fa42: ; 3fa42
+AddLastMobileBattleToLinkRecord: ; 3fa42
ld hl, OTPlayerID
ld de, StringBuffer1
ld bc, 2
call CopyBytes
ld hl, OTPlayerName
- ld bc, 10
+ ld bc, NAME_LENGTH - 1
call CopyBytes
- ld hl, s1_b254
- call Function3faa0
- ld hl, s1_b266
+ ld hl, sLinkBattleResults
+ call .StoreResult
+ ld hl, sLinkBattleRecord
ld d, 5
.loop
push hl
@@ -9218,24 +9218,22 @@ Function3fa42: ; 3fa42
pop hl
.done
- call Function3faa0
- call Function3fac8
+ call .StoreResult
+ call .FindOpponentAndAppendRecord
ret
; 3faa0
-
-Function3faa0: ; 3faa0
+.StoreResult: ; 3faa0
ld a, [wBattleResult]
and $f
cp $1
- ld bc, 13
+ ld bc, sLinkBattleWins + 1 - sLinkBattleResults
jr c, .okay
- ld bc, 15
+ ld bc, sLinkBattleLosses + 1 - sLinkBattleResults
jr z, .okay
- ld bc, 17
-
+ ld bc, sLinkBattleDraws + 1 - sLinkBattleResults
.okay
add hl, bc
- call Function3fabe
+ call .CheckOverflow
ret nc
inc [hl]
ret nz
@@ -9244,26 +9242,26 @@ Function3faa0: ; 3faa0
ret
; 3fabe
-Function3fabe: ; 3fabe
+.CheckOverflow: ; 3fabe
dec hl
ld a, [hl]
inc hl
- cp $27
+ cp 9999 / $100
ret c
ld a, [hl]
- cp $f
+ cp 9999 % $100
ret
; 3fac8
-Function3fac8: ; 3fac8
- ld b, $5
- ld hl, s1_b277
+.FindOpponentAndAppendRecord: ; 3fac8
+ ld b, 5
+ ld hl, sLinkBattleRecord + 17
ld de, wd002
-.loop
+.loop3
push bc
push de
push hl
- call Function3fb54
+ call .LoadPointer
pop hl
ld a, e
pop de
@@ -9279,10 +9277,10 @@ Function3fac8: ; 3fac8
add hl, bc
pop bc
dec b
- jr nz, .loop
+ jr nz, .loop3
ld b, $0
ld c, $1
-.loop2
+.loop4
ld a, b
add b
add b
@@ -9302,30 +9300,30 @@ Function3fac8: ; 3fac8
ld e, l
pop hl
push bc
- ld c, $3
+ ld c, 3
call StringCmp
pop bc
jr z, .equal
- jr nc, .done
+ jr nc, .done2
.equal
inc c
ld a, c
cp $5
- jr nz, .loop2
+ jr nz, .loop4
inc b
ld c, b
inc c
ld a, b
cp $4
- jr nz, .loop2
+ jr nz, .loop4
ret
-.done
+.done2
push bc
ld a, b
ld bc, 18
- ld hl, s1_b266
+ ld hl, sLinkBattleRecord
call AddNTimes
push hl
ld de, wd002
@@ -9336,7 +9334,7 @@ Function3fac8: ; 3fac8
push hl
ld a, c
ld bc, 18
- ld hl, s1_b266
+ ld hl, sLinkBattleRecord
call AddNTimes
pop de
push hl
@@ -9349,7 +9347,7 @@ Function3fac8: ; 3fac8
ret
; 3fb54
-Function3fb54: ; 3fb54
+.LoadPointer: ; 3fb54
ld e, $0
ld a, [hld]
ld c, a
@@ -9361,10 +9359,10 @@ Function3fb54: ; 3fb54
ld a, [hld]
adc b
ld b, a
- jr nc, .okay
+ jr nc, .okay2
inc e
-.okay
+.okay2
ld a, [hld]
add c
ld c, a
@@ -9402,10 +9400,10 @@ InitBattleDisplay: ; 3fb6c
ld a, $1
ld [hBGMapMode], a
ld a, $31
- ld [hFillBox], a
+ ld [hGraphicStartTile], a
hlcoord 2, 6
lb bc, 6, 6
- predef FillBox
+ predef PlaceGraphic
xor a
ld [hWY], a
ld [rWY], a
@@ -9497,24 +9495,24 @@ CopyBackpic: ; 3fc30
call Get2bpp
pop af
ld [rSVBK], a
- call Function3fc5b
+ call .LoadTrainerBackpicAsOAM
ld a, $31
- ld [hFillBox], a
+ ld [hGraphicStartTile], a
hlcoord 2, 6
lb bc, 6, 6
- predef FillBox
+ predef PlaceGraphic
ret
; 3fc5b
-Function3fc5b: ; 3fc5b
+.LoadTrainerBackpicAsOAM: ; 3fc5b
ld hl, Sprites
xor a
ld [hMapObjectIndexBuffer], a
ld b, $6
- ld e, $a8
+ ld e, 21 * 8
.outer_loop
ld c, $3
- ld d, $40
+ ld d, 8 * 8
.inner_loop
ld [hl], d
inc hl
diff --git a/battle/effect_commands.asm b/battle/effect_commands.asm
index 0425cda5d..1350300ca 100644
--- a/battle/effect_commands.asm
+++ b/battle/effect_commands.asm
@@ -136,7 +136,7 @@ BattleCommand_CheckTurn: ; 34084
ld [wKickCounter], a
ld [AlreadyDisobeyed], a
ld [AlreadyFailed], a
- ld [wc73e], a
+ ld [wSomeoneIsRampaging], a
ld a, 10 ; 1.0
ld [TypeModifier], a
@@ -1928,6 +1928,7 @@ BattleCommand_CheckHit: ; 34d32
ld a, [hBattleTurn]
and a
+ ; load the user's accuracy into b and the opponent's evasion into c.
ld hl, wPlayerMoveStruct + MOVE_ACC
ld a, [PlayerAccLevel]
ld b, a
@@ -1944,26 +1945,31 @@ BattleCommand_CheckHit: ; 34d32
.got_acc_eva
cp b
- jr c, .eva_less_than_acc
+ jr c, .skip_foresight_check
+ ; if the target's evasion is greater than the user's accuracy,
+ ; check the target's foresight status
ld a, BATTLE_VARS_SUBSTATUS1_OPP
call GetBattleVar
bit SUBSTATUS_IDENTIFIED, a
ret nz
-.eva_less_than_acc
+.skip_foresight_check
+ ; subtract evasion from 14
ld a, 14
sub c
ld c, a
+ ; store the base move accuracy for math ops
xor a
ld [hMultiplicand + 0], a
ld [hMultiplicand + 1], a
ld a, [hl]
ld [hMultiplicand + 2], a
push hl
- ld d, 2
+ ld d, 2 ; do this twice, once for the user's accuracy and once for the target's evasion
.accuracy_loop
+ ; look up the multiplier from the table
push bc
ld hl, .AccProb
dec b
@@ -1972,27 +1978,32 @@ BattleCommand_CheckHit: ; 34d32
ld b, 0
add hl, bc
pop bc
+ ; multiply by the first byte in that row...
ld a, [hli]
ld [hMultiplier], a
call Multiply
+ ; ... and divide by the second byte
ld a, [hl]
ld [hDivisor], a
ld b, 4
call Divide
+ ; minimum accuracy is $0001
ld a, [hQuotient + 2]
ld b, a
ld a, [hQuotient + 1]
or b
jr nz, .min_accuracy
ld [hQuotient + 1], a
- ld a, $1
+ ld a, 1
ld [hQuotient + 2], a
.min_accuracy
+ ; do the same thing to the target's evasion
ld b, c
dec d
jr nz, .accuracy_loop
+ ; if the result is more than 2 bytes, max out at 100%
ld a, [hQuotient + 1]
and a
ld a, [hQuotient + 2]
@@ -2114,10 +2125,10 @@ BattleCommand_LowerSub: ; 34eee
ret
.rollout_rampage
- ld a, [wc73e]
+ ld a, [wSomeoneIsRampaging]
and a
ld a, 0
- ld [wc73e], a
+ ld [wSomeoneIsRampaging], a
ret
; 34f57
@@ -2799,7 +2810,7 @@ PlayerAttackDamage: ; 352e2
call ResetDamage
- ld hl, wPlayerMoveStruct + MOVE_POWER
+ ld hl, wPlayerMoveStructPower
ld a, [hli]
and a
ld d, a
@@ -2946,7 +2957,7 @@ GetDamageStats: ; 3537e
ld a, [hBattleTurn]
and a
jr nz, .enemy
- ld a, [wPlayerMoveStruct + MOVE_TYPE]
+ ld a, [wPlayerMoveStructType]
cp SPECIAL
; special
ld a, [PlayerSAtkLevel]
@@ -2960,7 +2971,7 @@ GetDamageStats: ; 3537e
jr .end
.enemy
- ld a, [wEnemyMoveStruct + MOVE_TYPE]
+ ld a, [wEnemyMoveStructType]
cp SPECIAL
; special
ld a, [EnemySAtkLevel]
@@ -3063,8 +3074,8 @@ EnemyAttackDamage: ; 353f6
call ResetDamage
; No damage dealt with 0 power.
- ld hl, wEnemyMoveStruct + MOVE_POWER
- ld a, [hli] ; hl = wEnemyMoveStruct + MOVE_TYPE
+ ld hl, wEnemyMoveStructPower
+ ld a, [hli] ; hl = wEnemyMoveStructType
ld d, a
and a
ret z
@@ -3155,7 +3166,7 @@ BattleCommand_BeatUp: ; 35461
xor a
ld [PlayerRolloutCount], a
ld [wd002], a
- ld [wc72d], a
+ ld [wBeatUpHitAtLeastOnce], a
jr .got_mon
.next_mon
@@ -3188,7 +3199,7 @@ BattleCommand_BeatUp: ; 35461
jp nz, .beatup_fail
ld a, $1
- ld [wc72d], a
+ ld [wBeatUpHitAtLeastOnce], a
ld hl, BeatUpAttackText
call StdBattleTextBox
ld a, [EnemyMonSpecies]
@@ -3211,7 +3222,7 @@ BattleCommand_BeatUp: ; 35461
ld a, [hl]
ld e, a
pop bc
- ld a, [wPlayerMoveStruct + MOVE_POWER]
+ ld a, [wPlayerMoveStructPower]
ld d, a
ret
@@ -3223,7 +3234,7 @@ BattleCommand_BeatUp: ; 35461
xor a
ld [EnemyRolloutCount], a
ld [wd002], a
- ld [wc72d], a
+ ld [wBeatUpHitAtLeastOnce], a
jr .enemy_continue
.not_first_enemy_beatup
@@ -3283,7 +3294,7 @@ BattleCommand_BeatUp: ; 35461
jr nz, .beatup_fail
ld a, $1
- ld [wc72d], a
+ ld [wBeatUpHitAtLeastOnce], a
jr .finish_beatup
.wild
@@ -3317,7 +3328,7 @@ BattleCommand_BeatUp: ; 35461
ld a, [hl]
ld e, a
pop bc
- ld a, [wEnemyMoveStruct + MOVE_POWER]
+ ld a, [wEnemyMoveStructPower]
ld d, a
ret
@@ -3332,7 +3343,7 @@ BattleCommand_BeatUp: ; 35461
BattleCommanda8: ; 355b5
- ld a, [wc72d]
+ ld a, [wBeatUpHitAtLeastOnce]
and a
ret nz
@@ -3401,7 +3412,7 @@ endr
ld l, [hl]
ld h, a
call TruncateHL_BC
- ld d, $28
+ ld d, 40
pop af
ld e, a
ret
@@ -3806,14 +3817,14 @@ BattleCommand_ConstantDamage: ; 35726
ld a, [hl]
jr nz, .notPlayersTurn
- ld hl, wPlayerMoveStruct + MOVE_POWER
+ ld hl, wPlayerMoveStructPower
ld [hl], a
push hl
call PlayerAttackDamage
jr .notEnemysTurn
.notPlayersTurn
- ld hl, wEnemyMoveStruct + MOVE_POWER
+ ld hl, wEnemyMoveStructPower
ld [hl], a
push hl
call EnemyAttackDamage
@@ -6521,8 +6532,8 @@ BattleCommand_UnleashEnergy: ; 366e5
ld [de], a
inc de
ld [de], a
- ld [wPlayerMoveStruct + MOVE_EFFECT], a
- ld [wEnemyMoveStruct + MOVE_EFFECT], a
+ ld [wPlayerMoveStructEffect], a
+ ld [wEnemyMoveStructEffect], a
call BattleRandom
and 1
inc a
@@ -6600,7 +6611,7 @@ BattleCommand_Rampage: ; 36751
inc a
ld [de], a
ld a, 1
- ld [wc73e], a
+ ld [wSomeoneIsRampaging], a
ret
; 36778
@@ -6752,7 +6763,7 @@ BattleCommand_ForceSwitch: ; 3680f
inc a
ld [wForcedSwitch], a
call SetBattleDraw
- ld a, [wPlayerMoveStruct + MOVE_ANIM]
+ ld a, [wPlayerMoveStructAnimation]
jp .succeed
.trainer
@@ -6845,7 +6856,7 @@ BattleCommand_ForceSwitch: ; 3680f
inc a
ld [wForcedSwitch], a
call SetBattleDraw
- ld a, [wEnemyMoveStruct + MOVE_ANIM]
+ ld a, [wEnemyMoveStructAnimation]
jr .succeed
.vs_trainer
@@ -8393,148 +8404,7 @@ BattleCommand_Heal: ; 3713e
; 371cd
-
-BattleCommand_Transform: ; 371cd
-; transform
-
- call ClearLastMove
- ld a, BATTLE_VARS_SUBSTATUS5_OPP
- call GetBattleVarAddr
- bit SUBSTATUS_TRANSFORMED, [hl]
- jp nz, BattleEffect_ButItFailed
- call CheckHiddenOpponent
- jp nz, BattleEffect_ButItFailed
- xor a
- ld [wNumHits], a
- ld [FXAnimIDHi], a
- ld a, $1
- ld [wKickCounter], a
- ld a, BATTLE_VARS_SUBSTATUS4
- call GetBattleVarAddr
- bit SUBSTATUS_SUBSTITUTE, [hl]
- push af
- jr z, .mimic_substitute
- call CheckUserIsCharging
- jr nz, .mimic_substitute
- ld a, SUBSTITUTE
- call LoadAnim
-.mimic_substitute
- ld a, BATTLE_VARS_SUBSTATUS5
- call GetBattleVarAddr
- set SUBSTATUS_TRANSFORMED, [hl]
- call ResetActorDisable
- ld hl, BattleMonSpecies
- ld de, EnemyMonSpecies
- ld a, [hBattleTurn]
- and a
- jr nz, .got_mon_species
- ld hl, EnemyMonSpecies
- ld de, BattleMonSpecies
- xor a
- ld [CurMoveNum], a
-.got_mon_species
- push hl
- ld a, [hli]
- ld [de], a
- inc hl
- inc de
- inc de
- ld bc, NUM_MOVES
- call CopyBytes
- ld a, [hBattleTurn]
- and a
- jr z, .mimic_enemy_backup
- ld a, [de]
- ld [wEnemyBackupDVs], a
- inc de
- ld a, [de]
- ld [wEnemyBackupDVs + 1], a
- dec de
-.mimic_enemy_backup
-; copy DVs
- ld a, [hli]
- ld [de], a
- inc de
- ld a, [hli]
- ld [de], a
- inc de
-; move pointer to stats
- ld bc, BattleMonStats - BattleMonPP
- add hl, bc
- push hl
- ld h, d
- ld l, e
- add hl, bc
- ld d, h
- ld e, l
- pop hl
- ld bc, BattleMonStructEnd - BattleMonStats
- call CopyBytes
-; init the power points
- ld bc, BattleMonMoves - BattleMonStructEnd
- add hl, bc
- push de
- ld d, h
- ld e, l
- pop hl
- ld bc, BattleMonPP - BattleMonStructEnd
- add hl, bc
- ld b, NUM_MOVES
-.pp_loop
- ld a, [de]
- inc de
- and a
- jr z, .done_move
- cp SKETCH
- ld a, 1
- jr z, .done_move
- ld a, 5
-.done_move
- ld [hli], a
- dec b
- jr nz, .pp_loop
- pop hl
- ld a, [hl]
- ld [wNamedObjectIndexBuffer], a
- call GetPokemonName
- ld hl, EnemyStats
- ld de, PlayerStats
- ld bc, 2 * 5
- call BattleSideCopy
- ld hl, EnemyStatLevels
- ld de, PlayerStatLevels
- ld bc, 8
- call BattleSideCopy
- call _CheckBattleScene
- jr c, .mimic_anims
- ld a, [hBattleTurn]
- and a
- ld a, [wPlayerMinimized]
- jr z, .got_byte
- ld a, [wEnemyMinimized]
-.got_byte
- and a
- jr nz, .mimic_anims
- call LoadMoveAnim
- jr .after_anim
-
-.mimic_anims
- call BattleCommand_MoveDelay
- call BattleCommand_RaiseSubNoAnim
-.after_anim
- xor a
- ld [wNumHits], a
- ld [FXAnimIDHi], a
- ld a, $2
- ld [wKickCounter], a
- pop af
- ld a, SUBSTITUTE
- call nz, LoadAnim
- ld hl, TransformedText
- jp StdBattleTextBox
-
-; 372c6
-
+INCLUDE "battle/effects/transform.asm"
BattleSideCopy: ; 372c6
; Copy bc bytes from hl to de if it's the player's turn.
diff --git a/battle/effects/rollout.asm b/battle/effects/rollout.asm
index fe4c9189b..4ce9ab3d8 100644
--- a/battle/effects/rollout.asm
+++ b/battle/effects/rollout.asm
@@ -36,17 +36,17 @@ BattleCommand_RolloutPower: ; 37734
ld hl, PlayerRolloutCount
ld a, [hBattleTurn]
and a
- jr z, .asm_37747
+ jr z, .got_rollout_count
ld hl, EnemyRolloutCount
-.asm_37747
+.got_rollout_count
ld a, [hl]
and a
- jr nz, .asm_37750
+ jr nz, .skip_set_rampage
ld a, 1
- ld [wc73e], a
+ ld [wSomeoneIsRampaging], a
-.asm_37750
+.skip_set_rampage
ld a, [AttackMissed]
and a
jr z, .hit
@@ -61,38 +61,39 @@ BattleCommand_RolloutPower: ; 37734
ld a, [hl]
ld b, a
cp MAX_ROLLOUT_COUNT
- jr c, .asm_3776e
+ jr c, .not_done_with_rollout
ld a, BATTLE_VARS_SUBSTATUS1
call GetBattleVarAddr
res SUBSTATUS_ROLLOUT, [hl]
- jr .asm_37775
+ jr .done_with_substatus_flag
-.asm_3776e
+.not_done_with_rollout
ld a, BATTLE_VARS_SUBSTATUS1
call GetBattleVarAddr
set SUBSTATUS_ROLLOUT, [hl]
-.asm_37775
+.done_with_substatus_flag
ld a, BATTLE_VARS_SUBSTATUS2
call GetBattleVar
bit SUBSTATUS_CURLED, a
- jr z, .asm_3777f
+ jr z, .not_curled
inc b
-.asm_3777f
+.not_curled
+.loop
dec b
- jr z, .asm_37790
+ jr z, .done_damage
ld hl, CurDamage + 1
sla [hl]
dec hl
rl [hl]
- jr nc, .asm_3777f
+ jr nc, .loop
ld a, $ff
ld [hli], a
ld [hl], a
-.asm_37790
+.done_damage
ret
; 37791
diff --git a/battle/effects/transform.asm b/battle/effects/transform.asm
new file mode 100755
index 000000000..eb80aea8a
--- /dev/null
+++ b/battle/effects/transform.asm
@@ -0,0 +1,141 @@
+
+BattleCommand_Transform: ; 371cd
+; transform
+
+ call ClearLastMove
+ ld a, BATTLE_VARS_SUBSTATUS5_OPP
+ call GetBattleVarAddr
+ bit SUBSTATUS_TRANSFORMED, [hl]
+ jp nz, BattleEffect_ButItFailed
+ call CheckHiddenOpponent
+ jp nz, BattleEffect_ButItFailed
+ xor a
+ ld [wNumHits], a
+ ld [FXAnimIDHi], a
+ ld a, $1
+ ld [wKickCounter], a
+ ld a, BATTLE_VARS_SUBSTATUS4
+ call GetBattleVarAddr
+ bit SUBSTATUS_SUBSTITUTE, [hl]
+ push af
+ jr z, .mimic_substitute
+ call CheckUserIsCharging
+ jr nz, .mimic_substitute
+ ld a, SUBSTITUTE
+ call LoadAnim
+.mimic_substitute
+ ld a, BATTLE_VARS_SUBSTATUS5
+ call GetBattleVarAddr
+ set SUBSTATUS_TRANSFORMED, [hl]
+ call ResetActorDisable
+ ld hl, BattleMonSpecies
+ ld de, EnemyMonSpecies
+ ld a, [hBattleTurn]
+ and a
+ jr nz, .got_mon_species
+ ld hl, EnemyMonSpecies
+ ld de, BattleMonSpecies
+ xor a
+ ld [CurMoveNum], a
+.got_mon_species
+ push hl
+ ld a, [hli]
+ ld [de], a
+ inc hl
+ inc de
+ inc de
+ ld bc, NUM_MOVES
+ call CopyBytes
+ ld a, [hBattleTurn]
+ and a
+ jr z, .mimic_enemy_backup
+ ld a, [de]
+ ld [wEnemyBackupDVs], a
+ inc de
+ ld a, [de]
+ ld [wEnemyBackupDVs + 1], a
+ dec de
+.mimic_enemy_backup
+; copy DVs
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hli]
+ ld [de], a
+ inc de
+; move pointer to stats
+ ld bc, BattleMonStats - BattleMonPP
+ add hl, bc
+ push hl
+ ld h, d
+ ld l, e
+ add hl, bc
+ ld d, h
+ ld e, l
+ pop hl
+ ld bc, BattleMonStructEnd - BattleMonStats
+ call CopyBytes
+; init the power points
+ ld bc, BattleMonMoves - BattleMonStructEnd
+ add hl, bc
+ push de
+ ld d, h
+ ld e, l
+ pop hl
+ ld bc, BattleMonPP - BattleMonStructEnd
+ add hl, bc
+ ld b, NUM_MOVES
+.pp_loop
+ ld a, [de]
+ inc de
+ and a
+ jr z, .done_move
+ cp SKETCH
+ ld a, 1
+ jr z, .done_move
+ ld a, 5
+.done_move
+ ld [hli], a
+ dec b
+ jr nz, .pp_loop
+ pop hl
+ ld a, [hl]
+ ld [wNamedObjectIndexBuffer], a
+ call GetPokemonName
+ ld hl, EnemyStats
+ ld de, PlayerStats
+ ld bc, 2 * 5
+ call BattleSideCopy
+ ld hl, EnemyStatLevels
+ ld de, PlayerStatLevels
+ ld bc, 8
+ call BattleSideCopy
+ call _CheckBattleScene
+ jr c, .mimic_anims
+ ld a, [hBattleTurn]
+ and a
+ ld a, [wPlayerMinimized]
+ jr z, .got_byte
+ ld a, [wEnemyMinimized]
+.got_byte
+ and a
+ jr nz, .mimic_anims
+ call LoadMoveAnim
+ jr .after_anim
+
+.mimic_anims
+ call BattleCommand_MoveDelay
+ call BattleCommand_RaiseSubNoAnim
+.after_anim
+ xor a
+ ld [wNumHits], a
+ ld [FXAnimIDHi], a
+ ld a, $2
+ ld [wKickCounter], a
+ pop af
+ ld a, SUBSTITUTE
+ call nz, LoadAnim
+ ld hl, TransformedText
+ jp StdBattleTextBox
+
+; 372c6
diff --git a/battle/misc.asm b/battle/misc.asm
index d47573df9..beb9ce333 100644
--- a/battle/misc.asm
+++ b/battle/misc.asm
@@ -32,8 +32,8 @@ AppearUser: ; fbd77 (3e:7d77)
call GetPlayerBackpicCoords
ld a, $31
.okay
- ld [hFillBox], a
- predef FillBox
+ ld [hGraphicStartTile], a
+ predef PlaceGraphic
FinishAppearDisappearUser: ; fbd91 (3e:7d91)
ld a, $1
ld [hBGMapMode], a
diff --git a/constants/cgb_constants.asm b/constants/cgb_constants.asm
index a0ecb5c1b..9363415a3 100755
--- a/constants/cgb_constants.asm
+++ b/constants/cgb_constants.asm
@@ -17,7 +17,7 @@
const SCGB_0F
const SCGB_POKEDEX_SEARCH_OPTION
const SCGB_11
- const SCGB_12
+ const SCGB_POKEPIC
const SCGB_13
const SCGB_PACKPALS
const SCGB_TRAINER_CARD
diff --git a/constants/map_constants.asm b/constants/map_constants.asm
index ede44c546..bedcf29dd 100644
--- a/constants/map_constants.asm
+++ b/constants/map_constants.asm
@@ -668,36 +668,37 @@ EMOTE_OBJECT EQU 7
; fruit trees
const_value SET 1
- const FRUITTREE_ROUTE_29
- const FRUITTREE_ROUTE_30_1
- const FRUITTREE_ROUTE_38
- const FRUITTREE_ROUTE_46_1
- const FRUITTREE_ROUTE_30_2
- const FRUITTREE_ROUTE_33
- const FRUITTREE_ROUTE_31
- const FRUITTREE_ROUTE_43
- const FRUITTREE_VIOLET_CITY
- const FRUITTREE_ROUTE_46_2
- const FRUITTREE_ROUTE_35
- const FRUITTREE_ROUTE_45
- const FRUITTREE_ROUTE_36
- const FRUITTREE_ROUTE_26
- const FRUITTREE_ROUTE_39
- const FRUITTREE_ROUTE_44
- const FRUITTREE_ROUTE_37_1
- const FRUITTREE_ROUTE_37_2
- const FRUITTREE_ROUTE_37_3
- const FRUITTREE_AZALEA_TOWN
- const FRUITTREE_ROUTE_42_1
- const FRUITTREE_ROUTE_42_2
- const FRUITTREE_ROUTE_42_3
- const FRUITTREE_ROUTE_11
- const FRUITTREE_ROUTE_2
- const FRUITTREE_ROUTE_1
- const FRUITTREE_ROUTE_8
- const FRUITTREE_PEWTER_CITY_1
- const FRUITTREE_PEWTER_CITY_2
- const FRUITTREE_FUCHSIA_CITY
+ const FRUITTREE_ROUTE_29 ; 01
+ const FRUITTREE_ROUTE_30_1 ; 02
+ const FRUITTREE_ROUTE_38 ; 03
+ const FRUITTREE_ROUTE_46_1 ; 04
+ const FRUITTREE_ROUTE_30_2 ; 05
+ const FRUITTREE_ROUTE_33 ; 06
+ const FRUITTREE_ROUTE_31 ; 07
+ const FRUITTREE_ROUTE_43 ; 08
+ const FRUITTREE_VIOLET_CITY ; 09
+ const FRUITTREE_ROUTE_46_2 ; 0a
+ const FRUITTREE_ROUTE_35 ; 0b
+ const FRUITTREE_ROUTE_45 ; 0c
+ const FRUITTREE_ROUTE_36 ; 0d
+ const FRUITTREE_ROUTE_26 ; 0e
+ const FRUITTREE_ROUTE_39 ; 0f
+ const FRUITTREE_ROUTE_44 ; 10
+ const FRUITTREE_ROUTE_37_1 ; 11
+ const FRUITTREE_ROUTE_37_2 ; 12
+ const FRUITTREE_ROUTE_37_3 ; 13
+ const FRUITTREE_AZALEA_TOWN ; 14
+ const FRUITTREE_ROUTE_42_1 ; 15
+ const FRUITTREE_ROUTE_42_2 ; 16
+ const FRUITTREE_ROUTE_42_3 ; 17
+ const FRUITTREE_ROUTE_11 ; 18
+ const FRUITTREE_ROUTE_2 ; 19
+ const FRUITTREE_ROUTE_1 ; 1a
+ const FRUITTREE_ROUTE_8 ; 1b
+ const FRUITTREE_PEWTER_CITY_1 ; 1c
+ const FRUITTREE_PEWTER_CITY_2 ; 1d
+ const FRUITTREE_FUCHSIA_CITY ; 1e
+NUM_FRUIT_TREES EQU const_value +- 1
CMDQUEUE_TYPE EQU 0
CMDQUEUE_ADDR EQU 1
diff --git a/constants/sprite_constants.asm b/constants/sprite_constants.asm
index 3d0c3919a..e7524cd58 100644
--- a/constants/sprite_constants.asm
+++ b/constants/sprite_constants.asm
@@ -193,44 +193,44 @@ NUM_SPRITEHEADER_FIELDS EQU const_value
; sprite movement data table indices
const_def
- const SPRITEMOVEDATA_00
- const SPRITEMOVEDATA_ITEM_TREE
- const SPRITEMOVEDATA_WANDER
- const SPRITEMOVEDATA_SPINRANDOM_SLOW
- const SPRITEMOVEDATA_WALK_UP_DOWN
- const SPRITEMOVEDATA_WALK_LEFT_RIGHT
- const SPRITEMOVEDATA_STANDING_DOWN
- const SPRITEMOVEDATA_STANDING_UP
- const SPRITEMOVEDATA_STANDING_LEFT
- const SPRITEMOVEDATA_STANDING_RIGHT
- const SPRITEMOVEDATA_SPINRANDOM_FAST
- const SPRITEMOVEDATA_PLAYER
- const SPRITEMOVEDATA_0C
- const SPRITEMOVEDATA_0D
- const SPRITEMOVEDATA_0E
- const SPRITEMOVEDATA_0F
- const SPRITEMOVEDATA_10
- const SPRITEMOVEDATA_11
- const SPRITEMOVEDATA_12
- const SPRITEMOVEDATA_FOLLOWING
- const SPRITEMOVEDATA_SCRIPTED
- const SPRITEMOVEDATA_SNORLAX
- const SPRITEMOVEDATA_POKEMON
- const SPRITEMOVEDATA_SUDOWOODO
- const SPRITEMOVEDATA_SMASHABLE_ROCK
- const SPRITEMOVEDATA_STRENGTH_BOULDER
- const SPRITEMOVEDATA_FOLLOWNOTEXACT
- const SPRITEMOVEDATA_SHADOW
- const SPRITEMOVEDATA_EMOTE
- const SPRITEMOVEDATA_SCREENSHAKE
- const SPRITEMOVEDATA_SPINCOUNTERCLOCKWISE
- const SPRITEMOVEDATA_SPINCLOCKWISE
- const SPRITEMOVEDATA_20
- const SPRITEMOVEDATA_BIGDOLL
- const SPRITEMOVEDATA_BOULDERDUST
- const SPRITEMOVEDATA_GRASS
- const SPRITEMOVEDATA_LAPRAS
- const SPRITEMOVEDATA_25
+ const SPRITEMOVEDATA_00 ; 00
+ const SPRITEMOVEDATA_ITEM_TREE ; 01
+ const SPRITEMOVEDATA_WANDER ; 02
+ const SPRITEMOVEDATA_SPINRANDOM_SLOW ; 03
+ const SPRITEMOVEDATA_WALK_UP_DOWN ; 04
+ const SPRITEMOVEDATA_WALK_LEFT_RIGHT ; 05
+ const SPRITEMOVEDATA_STANDING_DOWN ; 06
+ const SPRITEMOVEDATA_STANDING_UP ; 07
+ const SPRITEMOVEDATA_STANDING_LEFT ; 08
+ const SPRITEMOVEDATA_STANDING_RIGHT ; 09
+ const SPRITEMOVEDATA_SPINRANDOM_FAST ; 0a
+ const SPRITEMOVEDATA_PLAYER ; 0b
+ const SPRITEMOVEDATA_0C ; 0c
+ const SPRITEMOVEDATA_0D ; 0d
+ const SPRITEMOVEDATA_0E ; 0e
+ const SPRITEMOVEDATA_0F ; 0f
+ const SPRITEMOVEDATA_10 ; 10
+ const SPRITEMOVEDATA_11 ; 11
+ const SPRITEMOVEDATA_12 ; 12
+ const SPRITEMOVEDATA_FOLLOWING ; 13
+ const SPRITEMOVEDATA_SCRIPTED ; 14
+ const SPRITEMOVEDATA_SNORLAX ; 15
+ const SPRITEMOVEDATA_POKEMON ; 16
+ const SPRITEMOVEDATA_SUDOWOODO ; 17
+ const SPRITEMOVEDATA_SMASHABLE_ROCK ; 18
+ const SPRITEMOVEDATA_STRENGTH_BOULDER ; 19
+ const SPRITEMOVEDATA_FOLLOWNOTEXACT ; 1a
+ const SPRITEMOVEDATA_SHADOW ; 1b
+ const SPRITEMOVEDATA_EMOTE ; 1c
+ const SPRITEMOVEDATA_SCREENSHAKE ; 1d
+ const SPRITEMOVEDATA_SPINCOUNTERCLOCKWISE ; 1e
+ const SPRITEMOVEDATA_SPINCLOCKWISE ; 1f
+ const SPRITEMOVEDATA_20 ; 20
+ const SPRITEMOVEDATA_BIGDOLL ; 21
+ const SPRITEMOVEDATA_BOULDERDUST ; 22
+ const SPRITEMOVEDATA_GRASS ; 23
+ const SPRITEMOVEDATA_LAPRAS ; 24
+ const SPRITEMOVEDATA_25 ; 25
NUM_SPRITEMOVEDATA EQU const_value +- 1
SPRITEMOVEDATA_FIELDS EQU 6
@@ -477,14 +477,14 @@ MAX_OUTDOOR_SPRITES EQU 23
const SPRITE_ANIM_INDEX_02
const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
const SPRITE_ANIM_INDEX_04
- const SPRITE_ANIM_INDEX_05
+ const SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
const SPRITE_ANIM_INDEX_SLOT_GOLEM
const SPRITE_ANIM_INDEX_SLOTS_CHANSEY
const SPRITE_ANIM_INDEX_SLOTS_EGG
const SPRITE_ANIM_INDEX_09
- const SPRITE_ANIM_INDEX_WALK_CYCLE
+ const SPRITE_ANIM_INDEX_RED_WALK
const SPRITE_ANIM_INDEX_0B
- const SPRITE_ANIM_INDEX_0C
+ const SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
const SPRITE_ANIM_INDEX_0D
const SPRITE_ANIM_INDEX_0E
const SPRITE_ANIM_INDEX_0F
@@ -502,7 +502,7 @@ MAX_OUTDOOR_SPRITES EQU 23
const SPRITE_ANIM_INDEX_1B
const SPRITE_ANIM_INDEX_1C
const SPRITE_ANIM_INDEX_1D
- const SPRITE_ANIM_INDEX_1E
+ const SPRITE_ANIM_INDEX_BLUE_WALK
const SPRITE_ANIM_INDEX_1F
const SPRITE_ANIM_INDEX_20
const SPRITE_ANIM_INDEX_21
diff --git a/data/base_stats.asm b/data/base_stats.asm
index 7f6cebc01..3485e82a8 100644
--- a/data/base_stats.asm
+++ b/data/base_stats.asm
@@ -1,6027 +1,755 @@
BaseData0::
-
BulbasaurBaseData:: ; 0x51424
- db BULBASAUR ; 001
-
- db 45, 49, 49, 45, 65, 65
- ; hp atk def spd sat sdf
-
- db GRASS, POISON
- db 45 ; catch rate
- db 64 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn MONSTER, PLANT ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FURY_CUTTER, CUT, FLASH
- ; end
+INCLUDE "data/base_stats/bulbasaur.asm"
BaseData1::
-
IvysaurBaseData:: ; 0x51444
- db IVYSAUR ; 002
-
- db 60, 62, 63, 60, 80, 80
- ; hp atk def spd sat sdf
-
- db GRASS, POISON
- db 45 ; catch rate
- db 141 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn MONSTER, PLANT ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FURY_CUTTER, CUT, FLASH
- ; end
+INCLUDE "data/base_stats/ivysaur.asm"
VenusaurBaseData:: ; 0x51464
- db VENUSAUR ; 003
-
- db 80, 82, 83, 80, 100, 100
- ; hp atk def spd sat sdf
-
- db GRASS, POISON
- db 45 ; catch rate
- db 208 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn MONSTER, PLANT ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROAR, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FURY_CUTTER, CUT, FLASH
- ; end
+INCLUDE "data/base_stats/venusaur.asm"
CharmanderBaseData:: ; 0x51484
- db CHARMANDER ; 004
-
- db 39, 52, 43, 65, 60, 50
- ; hp atk def spd sat sdf
-
- db FIRE, FIRE
- db 45 ; catch rate
- db 65 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn MONSTER, REPTILE ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/charmander.asm"
CharmeleonBaseData:: ; 0x514a4
- db CHARMELEON ; 005
-
- db 58, 64, 58, 80, 80, 65
- ; hp atk def spd sat sdf
-
- db FIRE, FIRE
- db 45 ; catch rate
- db 142 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn MONSTER, REPTILE ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/charmeleon.asm"
CharizardBaseData:: ; 0x514c4
- db CHARIZARD ; 006
-
- db 78, 84, 78, 100, 109, 85
- ; hp atk def spd sat sdf
-
- db FIRE, FLYING
- db 45 ; catch rate
- db 209 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn MONSTER, REPTILE ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DEFENSE_CURL, REST, ATTRACT, STEEL_WING, FIRE_PUNCH, FURY_CUTTER, CUT, FLY, STRENGTH, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/charizard.asm"
SquirtleBaseData:: ; 0x514e4
- db SQUIRTLE ; 007
-
- db 44, 48, 65, 43, 50, 64
- ; hp atk def spd sat sdf
-
- db WATER, WATER
- db 45 ; catch rate
- db 66 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn MONSTER, AMPHIBIAN ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/squirtle.asm"
WartortleBaseData:: ; 0x51504
- db WARTORTLE ; 008
-
- db 59, 63, 80, 58, 65, 80
- ; hp atk def spd sat sdf
-
- db WATER, WATER
- db 45 ; catch rate
- db 143 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn MONSTER, AMPHIBIAN ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/wartortle.asm"
BlastoiseBaseData:: ; 0x51524
- db BLASTOISE ; 009
-
- db 79, 83, 100, 78, 85, 105
- ; hp atk def spd sat sdf
-
- db WATER, WATER
- db 45 ; catch rate
- db 210 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn MONSTER, AMPHIBIAN ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/blastoise.asm"
CaterpieBaseData:: ; 0x51544
- db CATERPIE ; 010
-
- db 45, 30, 35, 45, 20, 20
- ; hp atk def spd sat sdf
-
- db BUG, BUG
- db 255 ; catch rate
- db 53 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 15 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn INSECT, INSECT ; egg groups
-
- ; tmhm
- tmhm
- ; end
+INCLUDE "data/base_stats/caterpie.asm"
MetapodBaseData:: ; 0x51564
- db METAPOD ; 011
-
- db 50, 20, 55, 30, 25, 25
- ; hp atk def spd sat sdf
-
- db BUG, BUG
- db 120 ; catch rate
- db 72 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 15 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn INSECT, INSECT ; egg groups
-
- ; tmhm
- tmhm
- ; end
+INCLUDE "data/base_stats/metapod.asm"
ButterfreeBaseData:: ; 0x51584
- db BUTTERFREE ; 012
-
- db 60, 45, 50, 70, 80, 80
- ; hp atk def spd sat sdf
-
- db BUG, FLYING
- db 45 ; catch rate
- db 160 ; base exp
- db NO_ITEM ; item 1
- db SILVERPOWDER ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 15 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn INSECT, INSECT ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, NIGHTMARE, FLASH
- ; end
+INCLUDE "data/base_stats/butterfree.asm"
WeedleBaseData:: ; 0x515a4
- db WEEDLE ; 013
-
- db 40, 35, 30, 50, 20, 20
- ; hp atk def spd sat sdf
-
- db BUG, POISON
- db 255 ; catch rate
- db 52 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 15 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn INSECT, INSECT ; egg groups
-
- ; tmhm
- tmhm
- ; end
+INCLUDE "data/base_stats/weedle.asm"
KakunaBaseData:: ; 0x515c4
- db KAKUNA ; 014
-
- db 45, 25, 50, 35, 25, 25
- ; hp atk def spd sat sdf
-
- db BUG, POISON
- db 120 ; catch rate
- db 71 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 15 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn INSECT, INSECT ; egg groups
-
- ; tmhm
- tmhm
- ; end
+INCLUDE "data/base_stats/kakuna.asm"
BeedrillBaseData:: ; 0x515e4
- db BEEDRILL ; 015
-
- db 65, 80, 40, 75, 45, 80
- ; hp atk def spd sat sdf
-
- db BUG, POISON
- db 45 ; catch rate
- db 159 ; base exp
- db NO_ITEM ; item 1
- db POISON_BARB ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 15 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn INSECT, INSECT ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SWIFT, REST, ATTRACT, FURY_CUTTER, CUT
- ; end
+INCLUDE "data/base_stats/beedrill.asm"
PidgeyBaseData:: ; 0x51604
- db PIDGEY ; 016
-
- db 40, 45, 40, 56, 35, 35
- ; hp atk def spd sat sdf
-
- db NORMAL, FLYING
- db 255 ; catch rate
- db 55 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 15 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn AVIAN, AVIAN ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY
- ; end
+INCLUDE "data/base_stats/pidgey.asm"
PidgeottoBaseData:: ; 0x51624
- db PIDGEOTTO ; 017
-
- db 63, 60, 55, 71, 50, 50
- ; hp atk def spd sat sdf
-
- db NORMAL, FLYING
- db 120 ; catch rate
- db 113 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 15 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn AVIAN, AVIAN ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY
- ; end
+INCLUDE "data/base_stats/pidgeotto.asm"
PidgeotBaseData:: ; 0x51644
- db PIDGEOT ; 018
-
- db 83, 80, 75, 91, 70, 70
- ; hp atk def spd sat sdf
-
- db NORMAL, FLYING
- db 45 ; catch rate
- db 172 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 15 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn AVIAN, AVIAN ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY
- ; end
+INCLUDE "data/base_stats/pidgeot.asm"
RattataBaseData:: ; 0x51664
- db RATTATA ; 019
-
- db 30, 56, 35, 72, 25, 35
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 255 ; catch rate
- db 57 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 15 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, THIEF
- ; end
+INCLUDE "data/base_stats/rattata.asm"
RaticateBaseData:: ; 0x51684
- db RATICATE ; 020
-
- db 55, 81, 60, 97, 50, 70
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 90 ; catch rate
- db 116 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 15 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, THIEF, CUT, STRENGTH, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/raticate.asm"
SpearowBaseData:: ; 0x516a4
- db SPEAROW ; 021
-
- db 40, 60, 30, 70, 31, 31
- ; hp atk def spd sat sdf
-
- db NORMAL, FLYING
- db 255 ; catch rate
- db 58 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 15 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AVIAN, AVIAN ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY
- ; end
+INCLUDE "data/base_stats/spearow.asm"
FearowBaseData:: ; 0x516c4
- db FEAROW ; 022
-
- db 65, 90, 65, 100, 61, 61
- ; hp atk def spd sat sdf
-
- db NORMAL, FLYING
- db 90 ; catch rate
- db 162 ; base exp
- db NO_ITEM ; item 1
- db SHARP_BEAK ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 15 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AVIAN, AVIAN ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY
- ; end
+INCLUDE "data/base_stats/fearow.asm"
EkansBaseData:: ; 0x516e4
- db EKANS ; 023
-
- db 35, 60, 44, 55, 40, 54
- ; hp atk def spd sat sdf
-
- db POISON, POISON
- db 255 ; catch rate
- db 62 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, REPTILE ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, STRENGTH
- ; end
+INCLUDE "data/base_stats/ekans.asm"
ArbokBaseData:: ; 0x51704
- db ARBOK ; 024
-
- db 60, 85, 69, 80, 65, 79
- ; hp atk def spd sat sdf
-
- db POISON, POISON
- db 90 ; catch rate
- db 147 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, REPTILE ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, STRENGTH
- ; end
+INCLUDE "data/base_stats/arbok.asm"
PikachuBaseData:: ; 0x51724
- db PIKACHU ; 025
-
- db 35, 55, 30, 90, 50, 40
- ; hp atk def spd sat sdf
-
- db ELECTRIC, ELECTRIC
- db 190 ; catch rate
- db 82 ; base exp
- db NO_ITEM ; item 1
- db BERRY ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 10 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FAIRY ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, STRENGTH, FLASH, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/pikachu.asm"
RaichuBaseData:: ; 0x51744
- db RAICHU ; 026
-
- db 60, 90, 55, 100, 90, 80
- ; hp atk def spd sat sdf
-
- db ELECTRIC, ELECTRIC
- db 75 ; catch rate
- db 122 ; base exp
- db NO_ITEM ; item 1
- db BERRY ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 10 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FAIRY ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, STRENGTH, FLASH, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/raichu.asm"
SandshrewBaseData:: ; 0x51764
- db SANDSHREW ; 027
-
- db 50, 75, 85, 40, 20, 30
- ; hp atk def spd sat sdf
-
- db GROUND, GROUND
- db 255 ; catch rate
- db 93 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH
- ; end
+INCLUDE "data/base_stats/sandshrew.asm"
SandslashBaseData:: ; 0x51784
- db SANDSLASH ; 028
-
- db 75, 100, 110, 65, 45, 55
- ; hp atk def spd sat sdf
-
- db GROUND, GROUND
- db 90 ; catch rate
- db 163 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH
- ; end
+INCLUDE "data/base_stats/sandslash.asm"
Nidoran_FBaseData:: ; 0x517a4
- db NIDORAN_F ; 029
-
- db 55, 47, 52, 41, 40, 40
- ; hp atk def spd sat sdf
-
- db POISON, POISON
- db 235 ; catch rate
- db 59 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 254 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn MONSTER, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/nidoran_f.asm"
NidorinaBaseData:: ; 0x517c4
- db NIDORINA ; 030
-
- db 70, 62, 67, 56, 55, 55
- ; hp atk def spd sat sdf
-
- db POISON, POISON
- db 120 ; catch rate
- db 117 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 254 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn NO_EGGS, NO_EGGS ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, STRENGTH, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/nidorina.asm"
NidoqueenBaseData:: ; 0x517e4
- db NIDOQUEEN ; 031
-
- db 90, 82, 87, 76, 75, 85
- ; hp atk def spd sat sdf
-
- db POISON, GROUND
- db 45 ; catch rate
- db 194 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 254 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn NO_EGGS, NO_EGGS ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/nidoqueen.asm"
Nidoran_MBaseData:: ; 0x51804
- db NIDORAN_M ; 032
-
- db 46, 57, 40, 50, 40, 40
- ; hp atk def spd sat sdf
-
- db POISON, POISON
- db 235 ; catch rate
- db 60 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 0 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn MONSTER, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/nidoran_m.asm"
NidorinoBaseData:: ; 0x51824
- db NIDORINO ; 033
-
- db 61, 72, 57, 65, 55, 55
- ; hp atk def spd sat sdf
-
- db POISON, POISON
- db 120 ; catch rate
- db 118 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 0 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn MONSTER, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, STRENGTH, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/nidorino.asm"
NidokingBaseData:: ; 0x51844
- db NIDOKING ; 034
-
- db 81, 92, 77, 85, 85, 75
- ; hp atk def spd sat sdf
-
- db POISON, GROUND
- db 45 ; catch rate
- db 195 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 0 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn MONSTER, FIELD ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/nidoking.asm"
ClefairyBaseData:: ; 0x51864
- db CLEFAIRY ; 035
-
- db 70, 45, 48, 35, 60, 65
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 150 ; catch rate
- db 68 ; base exp
- db MYSTERYBERRY ; item 1
- db MOON_STONE ; item 2
- db 191 ; gender
- db 100 ; unknown
- db 10 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db SLOW ; growth rate
- dn FAIRY, FAIRY ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/clefairy.asm"
ClefableBaseData:: ; 0x51884
- db CLEFABLE ; 036
-
- db 95, 70, 73, 60, 85, 90
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 25 ; catch rate
- db 129 ; base exp
- db MYSTERYBERRY ; item 1
- db MOON_STONE ; item 2
- db 191 ; gender
- db 100 ; unknown
- db 10 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db SLOW ; growth rate
- dn FAIRY, FAIRY ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/clefable.asm"
VulpixBaseData:: ; 0x518a4
- db VULPIX ; 037
-
- db 38, 41, 40, 65, 50, 65
- ; hp atk def spd sat sdf
-
- db FIRE, FIRE
- db 190 ; catch rate
- db 63 ; base exp
- db BURNT_BERRY ; item 1
- db BURNT_BERRY ; item 2
- db 191 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/vulpix.asm"
NinetalesBaseData:: ; 0x518c4
- db NINETALES ; 038
-
- db 73, 76, 75, 100, 81, 100
- ; hp atk def spd sat sdf
-
- db FIRE, FIRE
- db 75 ; catch rate
- db 178 ; base exp
- db BURNT_BERRY ; item 1
- db BURNT_BERRY ; item 2
- db 191 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROAR, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/ninetales.asm"
JigglypuffBaseData:: ; 0x518e4
- db JIGGLYPUFF ; 039
-
- db 115, 45, 20, 20, 45, 25
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 170 ; catch rate
- db 76 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 191 ; gender
- db 100 ; unknown
- db 10 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db SLOW ; growth rate
- dn FAIRY, FAIRY ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/jigglypuff.asm"
WigglytuffBaseData:: ; 0x51904
- db WIGGLYTUFF ; 040
-
- db 140, 70, 45, 45, 75, 50
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 50 ; catch rate
- db 109 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 191 ; gender
- db 100 ; unknown
- db 10 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db SLOW ; growth rate
- dn FAIRY, FAIRY ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/wigglytuff.asm"
ZubatBaseData:: ; 0x51924
- db ZUBAT ; 041
-
- db 40, 45, 35, 55, 30, 40
- ; hp atk def spd sat sdf
-
- db POISON, FLYING
- db 255 ; catch rate
- db 54 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 15 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AVIAN, AVIAN ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING
- ; end
+INCLUDE "data/base_stats/zubat.asm"
GolbatBaseData:: ; 0x51944
- db GOLBAT ; 042
-
- db 75, 80, 70, 90, 65, 75
- ; hp atk def spd sat sdf
-
- db POISON, FLYING
- db 90 ; catch rate
- db 171 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 15 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AVIAN, AVIAN ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING
- ; end
+INCLUDE "data/base_stats/golbat.asm"
OddishBaseData:: ; 0x51964
- db ODDISH ; 043
-
- db 45, 50, 55, 30, 75, 65
- ; hp atk def spd sat sdf
-
- db GRASS, POISON
- db 255 ; catch rate
- db 78 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn PLANT, PLANT ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
- ; end
+INCLUDE "data/base_stats/oddish.asm"
GloomBaseData:: ; 0x51984
- db GLOOM ; 044
-
- db 60, 65, 70, 40, 85, 75
- ; hp atk def spd sat sdf
-
- db GRASS, POISON
- db 120 ; catch rate
- db 132 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn PLANT, PLANT ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
- ; end
+INCLUDE "data/base_stats/gloom.asm"
VileplumeBaseData:: ; 0x519a4
- db VILEPLUME ; 045
-
- db 75, 80, 85, 50, 100, 90
- ; hp atk def spd sat sdf
-
- db GRASS, POISON
- db 45 ; catch rate
- db 184 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn PLANT, PLANT ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
- ; end
+INCLUDE "data/base_stats/vileplume.asm"
ParasBaseData:: ; 0x519c4
- db PARAS ; 046
-
- db 35, 70, 55, 25, 45, 55
- ; hp atk def spd sat sdf
-
- db BUG, GRASS
- db 190 ; catch rate
- db 70 ; base exp
- db TINYMUSHROOM ; item 1
- db BIG_MUSHROOM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn INSECT, PLANT ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, FLASH
- ; end
+INCLUDE "data/base_stats/paras.asm"
ParasectBaseData:: ; 0x519e4
- db PARASECT ; 047
-
- db 60, 95, 80, 30, 60, 80
- ; hp atk def spd sat sdf
-
- db BUG, GRASS
- db 75 ; catch rate
- db 128 ; base exp
- db TINYMUSHROOM ; item 1
- db BIG_MUSHROOM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn INSECT, PLANT ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, FLASH
- ; end
+INCLUDE "data/base_stats/parasect.asm"
VenonatBaseData:: ; 0x51a04
- db VENONAT ; 048
-
- db 60, 55, 50, 45, 40, 55
- ; hp atk def spd sat sdf
-
- db BUG, POISON
- db 190 ; catch rate
- db 75 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn INSECT, INSECT ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SWIFT, REST, ATTRACT, THIEF
- ; end
+INCLUDE "data/base_stats/venonat.asm"
VenomothBaseData:: ; 0x51a24
- db VENOMOTH ; 049
-
- db 70, 65, 60, 90, 90, 75
- ; hp atk def spd sat sdf
-
- db BUG, POISON
- db 75 ; catch rate
- db 138 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn INSECT, INSECT ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SWIFT, REST, ATTRACT, THIEF, FLASH
- ; end
+INCLUDE "data/base_stats/venomoth.asm"
DiglettBaseData:: ; 0x51a44
- db DIGLETT ; 050
-
- db 10, 55, 25, 95, 35, 45
- ; hp atk def spd sat sdf
-
- db GROUND, GROUND
- db 255 ; catch rate
- db 81 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, CUT
- ; end
+INCLUDE "data/base_stats/diglett.asm"
DugtrioBaseData:: ; 0x51a64
- db DUGTRIO ; 051
-
- db 35, 80, 50, 120, 50, 70
- ; hp atk def spd sat sdf
-
- db GROUND, GROUND
- db 50 ; catch rate
- db 153 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, CUT
- ; end
+INCLUDE "data/base_stats/dugtrio.asm"
MeowthBaseData:: ; 0x51a84
- db MEOWTH ; 052
-
- db 40, 45, 35, 90, 40, 40
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 255 ; catch rate
- db 69 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/meowth.asm"
PersianBaseData:: ; 0x51aa4
- db PERSIAN ; 053
-
- db 65, 70, 60, 115, 65, 65
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 90 ; catch rate
- db 148 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/persian.asm"
PsyduckBaseData:: ; 0x51ac4
- db PSYDUCK ; 054
-
- db 50, 52, 48, 55, 65, 50
- ; hp atk def spd sat sdf
-
- db WATER, WATER
- db 190 ; catch rate
- db 80 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AMPHIBIAN, FIELD ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, STRENGTH, FLASH, WHIRLPOOL, WATERFALL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/psyduck.asm"
GolduckBaseData:: ; 0x51ae4
- db GOLDUCK ; 055
-
- db 80, 82, 78, 85, 95, 80
- ; hp atk def spd sat sdf
-
- db WATER, WATER
- db 75 ; catch rate
- db 174 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AMPHIBIAN, FIELD ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, FURY_CUTTER, SURF, STRENGTH, FLASH, WHIRLPOOL, WATERFALL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/golduck.asm"
MankeyBaseData:: ; 0x51b04
- db MANKEY ; 056
-
- db 40, 80, 35, 70, 35, 45
- ; hp atk def spd sat sdf
-
- db FIGHTING, FIGHTING
- db 190 ; catch rate
- db 74 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/mankey.asm"
PrimeapeBaseData:: ; 0x51b24
- db PRIMEAPE ; 057
-
- db 65, 105, 60, 95, 60, 70
- ; hp atk def spd sat sdf
-
- db FIGHTING, FIGHTING
- db 75 ; catch rate
- db 149 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/primeape.asm"
GrowlitheBaseData:: ; 0x51b44
- db GROWLITHE ; 058
-
- db 55, 70, 45, 60, 70, 50
- ; hp atk def spd sat sdf
-
- db FIRE, FIRE
- db 190 ; catch rate
- db 91 ; base exp
- db BURNT_BERRY ; item 1
- db BURNT_BERRY ; item 2
- db 63 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/growlithe.asm"
ArcanineBaseData:: ; 0x51b64
- db ARCANINE ; 059
-
- db 90, 110, 80, 95, 100, 80
- ; hp atk def spd sat sdf
-
- db FIRE, FIRE
- db 75 ; catch rate
- db 213 ; base exp
- db BURNT_BERRY ; item 1
- db BURNT_BERRY ; item 2
- db 63 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/arcanine.asm"
PoliwagBaseData:: ; 0x51b84
- db POLIWAG ; 060
-
- db 40, 50, 40, 90, 40, 40
- ; hp atk def spd sat sdf
-
- db WATER, WATER
- db 255 ; catch rate
- db 77 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn AMPHIBIAN, AMPHIBIAN ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/poliwag.asm"
PoliwhirlBaseData:: ; 0x51ba4
- db POLIWHIRL ; 061
-
- db 65, 65, 65, 90, 50, 50
- ; hp atk def spd sat sdf
-
- db WATER, WATER
- db 120 ; catch rate
- db 131 ; base exp
- db NO_ITEM ; item 1
- db KINGS_ROCK ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn AMPHIBIAN, AMPHIBIAN ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/poliwhirl.asm"
PoliwrathBaseData:: ; 0x51bc4
- db POLIWRATH ; 062
-
- db 90, 85, 95, 70, 70, 90
- ; hp atk def spd sat sdf
-
- db WATER, FIGHTING
- db 45 ; catch rate
- db 185 ; base exp
- db NO_ITEM ; item 1
- db KINGS_ROCK ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn AMPHIBIAN, AMPHIBIAN ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/poliwrath.asm"
AbraBaseData:: ; 0x51be4
- db ABRA ; 063
-
- db 25, 20, 15, 90, 105, 55
- ; hp atk def spd sat sdf
-
- db PSYCHIC, PSYCHIC
- db 200 ; catch rate
- db 73 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 63 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, FLASH
- ; end
+INCLUDE "data/base_stats/abra.asm"
KadabraBaseData:: ; 0x51c04
- db KADABRA ; 064
-
- db 40, 35, 30, 105, 120, 70
- ; hp atk def spd sat sdf
-
- db PSYCHIC, PSYCHIC
- db 100 ; catch rate
- db 145 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 63 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DIG, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, FLASH
- ; end
+INCLUDE "data/base_stats/kadabra.asm"
AlakazamBaseData:: ; 0x51c24
- db ALAKAZAM ; 065
-
- db 55, 50, 45, 120, 135, 85
- ; hp atk def spd sat sdf
-
- db PSYCHIC, PSYCHIC
- db 50 ; catch rate
- db 186 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 63 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DIG, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, FLASH
- ; end
+INCLUDE "data/base_stats/alakazam.asm"
MachopBaseData:: ; 0x51c44
- db MACHOP ; 066
-
- db 70, 80, 50, 35, 35, 35
- ; hp atk def spd sat sdf
-
- db FIGHTING, FIGHTING
- db 180 ; catch rate
- db 88 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 63 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/machop.asm"
MachokeBaseData:: ; 0x51c64
- db MACHOKE ; 067
-
- db 80, 100, 70, 45, 50, 60
- ; hp atk def spd sat sdf
-
- db FIGHTING, FIGHTING
- db 90 ; catch rate
- db 146 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 63 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/machoke.asm"
MachampBaseData:: ; 0x51c84
- db MACHAMP ; 068
-
- db 90, 130, 80, 55, 65, 85
- ; hp atk def spd sat sdf
-
- db FIGHTING, FIGHTING
- db 45 ; catch rate
- db 193 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 63 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/machamp.asm"
BellsproutBaseData:: ; 0x51ca4
- db BELLSPROUT ; 069
-
- db 50, 75, 35, 40, 70, 30
- ; hp atk def spd sat sdf
-
- db GRASS, POISON
- db 255 ; catch rate
- db 84 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn PLANT, PLANT ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
- ; end
+INCLUDE "data/base_stats/bellsprout.asm"
WeepinbellBaseData:: ; 0x51cc4
- db WEEPINBELL ; 070
-
- db 65, 90, 50, 55, 85, 45
- ; hp atk def spd sat sdf
-
- db GRASS, POISON
- db 120 ; catch rate
- db 151 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn PLANT, PLANT ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
- ; end
+INCLUDE "data/base_stats/weepinbell.asm"
VictreebelBaseData:: ; 0x51ce4
- db VICTREEBEL ; 071
-
- db 80, 105, 65, 70, 100, 60
- ; hp atk def spd sat sdf
-
- db GRASS, POISON
- db 45 ; catch rate
- db 191 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn PLANT, PLANT ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
- ; end
+INCLUDE "data/base_stats/victreebel.asm"
TentacoolBaseData:: ; 0x51d04
- db TENTACOOL ; 072
-
- db 40, 40, 35, 70, 50, 100
- ; hp atk def spd sat sdf
-
- db WATER, POISON
- db 190 ; catch rate
- db 105 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn INVERTEBRATE, INVERTEBRATE ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, SURF, WHIRLPOOL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/tentacool.asm"
TentacruelBaseData:: ; 0x51d24
- db TENTACRUEL ; 073
-
- db 80, 70, 65, 100, 80, 120
- ; hp atk def spd sat sdf
-
- db WATER, POISON
- db 60 ; catch rate
- db 205 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn INVERTEBRATE, INVERTEBRATE ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, SURF, WHIRLPOOL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/tentacruel.asm"
GeodudeBaseData:: ; 0x51d44
- db GEODUDE ; 074
-
- db 40, 80, 100, 20, 30, 30
- ; hp atk def spd sat sdf
-
- db ROCK, GROUND
- db 255 ; catch rate
- db 86 ; base exp
- db NO_ITEM ; item 1
- db EVERSTONE ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 15 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn INANIMATE, INANIMATE ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, STRENGTH, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/geodude.asm"
GravelerBaseData:: ; 0x51d64
- db GRAVELER ; 075
-
- db 55, 95, 115, 35, 45, 45
- ; hp atk def spd sat sdf
-
- db ROCK, GROUND
- db 120 ; catch rate
- db 134 ; base exp
- db NO_ITEM ; item 1
- db EVERSTONE ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 15 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn INANIMATE, INANIMATE ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, STRENGTH, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/graveler.asm"
GolemBaseData:: ; 0x51d84
- db GOLEM ; 076
-
- db 80, 110, 130, 45, 55, 65
- ; hp atk def spd sat sdf
-
- db ROCK, GROUND
- db 45 ; catch rate
- db 177 ; base exp
- db NO_ITEM ; item 1
- db EVERSTONE ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 15 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn INANIMATE, INANIMATE ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, STRENGTH, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/golem.asm"
PonytaBaseData:: ; 0x51da4
- db PONYTA ; 077
-
- db 50, 85, 55, 90, 65, 65
- ; hp atk def spd sat sdf
-
- db FIRE, FIRE
- db 190 ; catch rate
- db 152 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/ponyta.asm"
RapidashBaseData:: ; 0x51dc4
- db RAPIDASH ; 078
-
- db 65, 100, 70, 105, 80, 80
- ; hp atk def spd sat sdf
-
- db FIRE, FIRE
- db 60 ; catch rate
- db 192 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/rapidash.asm"
SlowpokeBaseData:: ; 0x51de4
- db SLOWPOKE ; 079
-
- db 90, 65, 65, 15, 40, 40
- ; hp atk def spd sat sdf
-
- db WATER, PSYCHIC
- db 190 ; catch rate
- db 99 ; base exp
- db NO_ITEM ; item 1
- db KINGS_ROCK ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn MONSTER, AMPHIBIAN ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DREAM_EATER, REST, ATTRACT, NIGHTMARE, SURF, STRENGTH, FLASH, FLAMETHROWER, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/slowpoke.asm"
SlowbroBaseData:: ; 0x51e04
- db SLOWBRO ; 080
-
- db 95, 75, 110, 30, 100, 80
- ; hp atk def spd sat sdf
-
- db WATER, PSYCHIC
- db 75 ; catch rate
- db 164 ; base exp
- db NO_ITEM ; item 1
- db KINGS_ROCK ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn MONSTER, AMPHIBIAN ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DREAM_EATER, REST, ATTRACT, FURY_CUTTER, NIGHTMARE, SURF, STRENGTH, FLASH, FLAMETHROWER, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/slowbro.asm"
MagnemiteBaseData:: ; 0x51e24
- db MAGNEMITE ; 081
-
- db 25, 35, 70, 45, 95, 55
- ; hp atk def spd sat sdf
-
- db ELECTRIC, STEEL
- db 190 ; catch rate
- db 89 ; base exp
- db NO_ITEM ; item 1
- db METAL_COAT ; item 2
- db 255 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn INANIMATE, INANIMATE ; egg groups
-
- ; tmhm
- tmhm CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, FLASH, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/magnemite.asm"
MagnetonBaseData:: ; 0x51e44
- db MAGNETON ; 082
-
- db 50, 60, 95, 70, 120, 70
- ; hp atk def spd sat sdf
-
- db ELECTRIC, STEEL
- db 60 ; catch rate
- db 161 ; base exp
- db NO_ITEM ; item 1
- db METAL_COAT ; item 2
- db 255 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn INANIMATE, INANIMATE ; egg groups
-
- ; tmhm
- tmhm CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, FLASH, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/magneton.asm"
Farfetch_DBaseData:: ; 0x51e64
- db FARFETCH_D ; 083
-
- db 52, 65, 55, 60, 58, 62
- ; hp atk def spd sat sdf
-
- db NORMAL, FLYING
- db 45 ; catch rate
- db 94 ; base exp
- db NO_ITEM ; item 1
- db STICK ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AVIAN, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, CUT, FLY
- ; end
+INCLUDE "data/base_stats/farfetch_d.asm"
DoduoBaseData:: ; 0x51e84
- db DODUO ; 084
-
- db 35, 85, 45, 75, 35, 35
- ; hp atk def spd sat sdf
-
- db NORMAL, FLYING
- db 190 ; catch rate
- db 96 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AVIAN, AVIAN ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, THIEF, STEEL_WING, FLY
- ; end
+INCLUDE "data/base_stats/doduo.asm"
DodrioBaseData:: ; 0x51ea4
- db DODRIO ; 085
-
- db 60, 110, 70, 100, 60, 60
- ; hp atk def spd sat sdf
-
- db NORMAL, FLYING
- db 45 ; catch rate
- db 158 ; base exp
- db NO_ITEM ; item 1
- db SHARP_BEAK ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AVIAN, AVIAN ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, THIEF, STEEL_WING, FLY
- ; end
+INCLUDE "data/base_stats/dodrio.asm"
SeelBaseData:: ; 0x51ec4
- db SEEL ; 086
-
- db 65, 45, 55, 45, 45, 70
- ; hp atk def spd sat sdf
-
- db WATER, WATER
- db 190 ; catch rate
- db 100 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AMPHIBIAN, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/seel.asm"
DewgongBaseData:: ; 0x51ee4
- db DEWGONG ; 087
-
- db 90, 70, 80, 70, 70, 95
- ; hp atk def spd sat sdf
-
- db WATER, ICE
- db 75 ; catch rate
- db 176 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AMPHIBIAN, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/dewgong.asm"
GrimerBaseData:: ; 0x51f04
- db GRIMER ; 088
-
- db 80, 80, 50, 25, 40, 50
- ; hp atk def spd sat sdf
-
- db POISON, POISON
- db 190 ; catch rate
- db 90 ; base exp
- db NO_ITEM ; item 1
- db NUGGET ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AMORPHOUS, AMORPHOUS ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, FLAMETHROWER, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/grimer.asm"
MukBaseData:: ; 0x51f24
- db MUK ; 089
-
- db 105, 105, 75, 50, 65, 100
- ; hp atk def spd sat sdf
-
- db POISON, POISON
- db 75 ; catch rate
- db 157 ; base exp
- db NO_ITEM ; item 1
- db NUGGET ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AMORPHOUS, AMORPHOUS ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, FLAMETHROWER, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/muk.asm"
ShellderBaseData:: ; 0x51f44
- db SHELLDER ; 090
-
- db 30, 65, 100, 40, 45, 25
- ; hp atk def spd sat sdf
-
- db WATER, WATER
- db 190 ; catch rate
- db 97 ; base exp
- db PEARL ; item 1
- db BIG_PEARL ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn INVERTEBRATE, INVERTEBRATE ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/shellder.asm"
CloysterBaseData:: ; 0x51f64
- db CLOYSTER ; 091
-
- db 50, 95, 180, 70, 85, 45
- ; hp atk def spd sat sdf
-
- db WATER, ICE
- db 60 ; catch rate
- db 203 ; base exp
- db PEARL ; item 1
- db BIG_PEARL ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn INVERTEBRATE, INVERTEBRATE ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/cloyster.asm"
GastlyBaseData:: ; 0x51f84
- db GASTLY ; 092
-
- db 30, 35, 30, 80, 100, 35
- ; hp atk def spd sat sdf
-
- db GHOST, POISON
- db 190 ; catch rate
- db 95 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn AMORPHOUS, AMORPHOUS ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/gastly.asm"
HaunterBaseData:: ; 0x51fa4
- db HAUNTER ; 093
-
- db 45, 50, 45, 95, 115, 55
- ; hp atk def spd sat sdf
-
- db GHOST, POISON
- db 90 ; catch rate
- db 126 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn AMORPHOUS, AMORPHOUS ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/haunter.asm"
GengarBaseData:: ; 0x51fc4
- db GENGAR ; 094
-
- db 60, 65, 60, 110, 130, 75
- ; hp atk def spd sat sdf
-
- db GHOST, POISON
- db 45 ; catch rate
- db 190 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn AMORPHOUS, AMORPHOUS ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, STRENGTH, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/gengar.asm"
OnixBaseData:: ; 0x51fe4
- db ONIX ; 095
-
- db 35, 45, 160, 70, 30, 45
- ; hp atk def spd sat sdf
-
- db ROCK, GROUND
- db 45 ; catch rate
- db 108 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 25 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn INANIMATE, INANIMATE ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, STRENGTH
- ; end
+INCLUDE "data/base_stats/onix.asm"
DrowzeeBaseData:: ; 0x52004
- db DROWZEE ; 096
-
- db 60, 48, 45, 42, 43, 90
- ; hp atk def spd sat sdf
-
- db PSYCHIC, PSYCHIC
- db 190 ; catch rate
- db 102 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, FLASH
- ; end
+INCLUDE "data/base_stats/drowzee.asm"
HypnoBaseData:: ; 0x52024
- db HYPNO ; 097
-
- db 85, 73, 70, 67, 73, 115
- ; hp atk def spd sat sdf
-
- db PSYCHIC, PSYCHIC
- db 75 ; catch rate
- db 165 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, FLASH
- ; end
+INCLUDE "data/base_stats/hypno.asm"
KrabbyBaseData:: ; 0x52044
- db KRABBY ; 098
-
- db 30, 105, 90, 50, 25, 25
- ; hp atk def spd sat sdf
-
- db WATER, WATER
- db 225 ; catch rate
- db 115 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn INVERTEBRATE, INVERTEBRATE ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/krabby.asm"
KinglerBaseData:: ; 0x52064
- db KINGLER ; 099
-
- db 55, 130, 115, 75, 50, 50
- ; hp atk def spd sat sdf
-
- db WATER, WATER
- db 60 ; catch rate
- db 206 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn INVERTEBRATE, INVERTEBRATE ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/kingler.asm"
VoltorbBaseData:: ; 0x52084
- db VOLTORB ; 100
-
- db 40, 30, 50, 100, 55, 55
- ; hp atk def spd sat sdf
-
- db ELECTRIC, ELECTRIC
- db 190 ; catch rate
- db 103 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 255 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn INANIMATE, INANIMATE ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, FLASH, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/voltorb.asm"
ElectrodeBaseData:: ; 0x520a4
- db ELECTRODE ; 101
-
- db 60, 50, 70, 140, 80, 80
- ; hp atk def spd sat sdf
-
- db ELECTRIC, ELECTRIC
- db 60 ; catch rate
- db 150 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 255 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn INANIMATE, INANIMATE ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, FLASH, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/electrode.asm"
ExeggcuteBaseData:: ; 0x520c4
- db EXEGGCUTE ; 102
-
- db 60, 40, 80, 40, 60, 45
- ; hp atk def spd sat sdf
-
- db GRASS, PSYCHIC
- db 90 ; catch rate
- db 98 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn PLANT, PLANT ; egg groups
-
- ; tmhm
- tmhm CURSE, ROLLOUT, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, FLASH
- ; end
+INCLUDE "data/base_stats/exeggcute.asm"
ExeggutorBaseData:: ; 0x520e4
- db EXEGGUTOR ; 103
-
- db 95, 95, 85, 55, 125, 65
- ; hp atk def spd sat sdf
-
- db GRASS, PSYCHIC
- db 45 ; catch rate
- db 212 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn PLANT, PLANT ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, FLASH
- ; end
+INCLUDE "data/base_stats/exeggutor.asm"
CuboneBaseData:: ; 0x52104
- db CUBONE ; 104
-
- db 50, 50, 95, 35, 40, 50
- ; hp atk def spd sat sdf
-
- db GROUND, GROUND
- db 190 ; catch rate
- db 87 ; base exp
- db NO_ITEM ; item 1
- db THICK_CLUB ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn MONSTER, MONSTER ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/cubone.asm"
MarowakBaseData:: ; 0x52124
- db MAROWAK ; 105
-
- db 60, 80, 110, 45, 50, 80
- ; hp atk def spd sat sdf
-
- db GROUND, GROUND
- db 75 ; catch rate
- db 124 ; base exp
- db NO_ITEM ; item 1
- db THICK_CLUB ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn MONSTER, MONSTER ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/marowak.asm"
HitmonleeBaseData:: ; 0x52144
- db HITMONLEE ; 106
-
- db 50, 120, 53, 87, 35, 110
- ; hp atk def spd sat sdf
-
- db FIGHTING, FIGHTING
- db 45 ; catch rate
- db 139 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 0 ; gender
- db 100 ; unknown
- db 25 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STRENGTH
- ; end
+INCLUDE "data/base_stats/hitmonlee.asm"
HitmonchanBaseData:: ; 0x52164
- db HITMONCHAN ; 107
-
- db 50, 105, 79, 76, 35, 110
- ; hp atk def spd sat sdf
-
- db FIGHTING, FIGHTING
- db 45 ; catch rate
- db 140 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 0 ; gender
- db 100 ; unknown
- db 25 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH
- ; end
+INCLUDE "data/base_stats/hitmonchan.asm"
LickitungBaseData:: ; 0x52184
- db LICKITUNG ; 108
-
- db 90, 55, 75, 30, 60, 75
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 45 ; catch rate
- db 127 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn MONSTER, MONSTER ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, CUT, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/lickitung.asm"
KoffingBaseData:: ; 0x521a4
- db KOFFING ; 109
-
- db 40, 65, 95, 35, 60, 45
- ; hp atk def spd sat sdf
-
- db POISON, POISON
- db 190 ; catch rate
- db 114 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AMORPHOUS, AMORPHOUS ; egg groups
-
- ; tmhm
- tmhm CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, REST, ATTRACT, THIEF, FLAMETHROWER, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/koffing.asm"
WeezingBaseData:: ; 0x521c4
- db WEEZING ; 110
-
- db 65, 90, 120, 60, 85, 70
- ; hp atk def spd sat sdf
-
- db POISON, POISON
- db 60 ; catch rate
- db 173 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AMORPHOUS, AMORPHOUS ; egg groups
-
- ; tmhm
- tmhm CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, REST, ATTRACT, THIEF, FLAMETHROWER, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/weezing.asm"
RhyhornBaseData:: ; 0x521e4
- db RHYHORN ; 111
-
- db 80, 85, 95, 25, 30, 30
- ; hp atk def spd sat sdf
-
- db GROUND, ROCK
- db 120 ; catch rate
- db 135 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn MONSTER, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, REST, ATTRACT, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/rhyhorn.asm"
RhydonBaseData:: ; 0x52204
- db RHYDON ; 112
-
- db 105, 130, 120, 40, 45, 45
- ; hp atk def spd sat sdf
-
- db GROUND, ROCK
- db 60 ; catch rate
- db 204 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn MONSTER, FIELD ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/rhydon.asm"
ChanseyBaseData:: ; 0x52224
- db CHANSEY ; 113
-
- db 250, 05, 05, 50, 35, 105
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 30 ; catch rate
- db 255 ; base exp
- db NO_ITEM ; item 1
- db LUCKY_EGG ; item 2
- db 254 ; gender
- db 100 ; unknown
- db 40 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db SLOW ; growth rate
- dn FAIRY, FAIRY ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, DREAM_EATER, REST, ATTRACT, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/chansey.asm"
TangelaBaseData:: ; 0x52244
- db TANGELA ; 114
-
- db 65, 55, 115, 60, 100, 40
- ; hp atk def spd sat sdf
-
- db GRASS, GRASS
- db 45 ; catch rate
- db 166 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn PLANT, PLANT ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, CUT, FLASH
- ; end
+INCLUDE "data/base_stats/tangela.asm"
KangaskhanBaseData:: ; 0x52264
- db KANGASKHAN ; 115
-
- db 105, 95, 80, 90, 40, 80
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 45 ; catch rate
- db 175 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 254 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn MONSTER, MONSTER ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/kangaskhan.asm"
HorseaBaseData:: ; 0x52284
- db HORSEA ; 116
-
- db 30, 40, 70, 60, 70, 25
- ; hp atk def spd sat sdf
-
- db WATER, WATER
- db 225 ; catch rate
- db 83 ; base exp
- db NO_ITEM ; item 1
- db DRAGON_SCALE ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AMPHIBIAN, REPTILE ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, DRAGONBREATH, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/horsea.asm"
SeadraBaseData:: ; 0x522a4
- db SEADRA ; 117
-
- db 55, 65, 95, 85, 95, 45
- ; hp atk def spd sat sdf
-
- db WATER, WATER
- db 75 ; catch rate
- db 155 ; base exp
- db NO_ITEM ; item 1
- db DRAGON_SCALE ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AMPHIBIAN, REPTILE ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, DRAGONBREATH, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/seadra.asm"
GoldeenBaseData:: ; 0x522c4
- db GOLDEEN ; 118
-
- db 45, 67, 60, 63, 35, 50
- ; hp atk def spd sat sdf
-
- db WATER, WATER
- db 225 ; catch rate
- db 111 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FISH, FISH ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WATERFALL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/goldeen.asm"
SeakingBaseData:: ; 0x522e4
- db SEAKING ; 119
-
- db 80, 92, 65, 68, 65, 80
- ; hp atk def spd sat sdf
-
- db WATER, WATER
- db 60 ; catch rate
- db 170 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FISH, FISH ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WATERFALL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/seaking.asm"
StaryuBaseData:: ; 0x52304
- db STARYU ; 120
-
- db 30, 45, 55, 85, 70, 55
- ; hp atk def spd sat sdf
-
- db WATER, WATER
- db 225 ; catch rate
- db 106 ; base exp
- db STARDUST ; item 1
- db STAR_PIECE ; item 2
- db 255 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn INVERTEBRATE, INVERTEBRATE ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, FLASH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/staryu.asm"
StarmieBaseData:: ; 0x52324
- db STARMIE ; 121
-
- db 60, 75, 85, 115, 100, 85
- ; hp atk def spd sat sdf
-
- db WATER, PSYCHIC
- db 60 ; catch rate
- db 207 ; base exp
- db STARDUST ; item 1
- db STAR_PIECE ; item 2
- db 255 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn INVERTEBRATE, INVERTEBRATE ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, REST, ATTRACT, NIGHTMARE, SURF, FLASH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/starmie.asm"
Mr__MimeBaseData:: ; 0x52344
- db MR__MIME ; 122
-
- db 40, 45, 65, 90, 100, 120
- ; hp atk def spd sat sdf
-
- db PSYCHIC, PSYCHIC
- db 45 ; catch rate
- db 136 ; base exp
- db NO_ITEM ; item 1
- db MYSTERYBERRY ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 25 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, FLASH, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/mr__mime.asm"
ScytherBaseData:: ; 0x52364
- db SCYTHER ; 123
-
- db 70, 110, 80, 105, 55, 80
- ; hp atk def spd sat sdf
-
- db BUG, FLYING
- db 45 ; catch rate
- db 187 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 25 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn INSECT, INSECT ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FURY_CUTTER, CUT
- ; end
+INCLUDE "data/base_stats/scyther.asm"
JynxBaseData:: ; 0x52384
- db JYNX ; 124
-
- db 65, 50, 35, 95, 115, 95
- ; hp atk def spd sat sdf
-
- db ICE, PSYCHIC
- db 45 ; catch rate
- db 137 ; base exp
- db ICE_BERRY ; item 1
- db ICE_BERRY ; item 2
- db 254 ; gender
- db 100 ; unknown
- db 25 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SWEET_SCENT, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/jynx.asm"
ElectabuzzBaseData:: ; 0x523a4
- db ELECTABUZZ ; 125
-
- db 65, 83, 57, 105, 95, 85
- ; hp atk def spd sat sdf
-
- db ELECTRIC, ELECTRIC
- db 45 ; catch rate
- db 156 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 63 ; gender
- db 100 ; unknown
- db 25 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLASH, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/electabuzz.asm"
MagmarBaseData:: ; 0x523c4
- db MAGMAR ; 126
-
- db 65, 95, 57, 93, 100, 85
- ; hp atk def spd sat sdf
-
- db FIRE, FIRE
- db 45 ; catch rate
- db 167 ; base exp
- db BURNT_BERRY ; item 1
- db BURNT_BERRY ; item 2
- db 63 ; gender
- db 100 ; unknown
- db 25 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/magmar.asm"
PinsirBaseData:: ; 0x523e4
- db PINSIR ; 127
-
- db 65, 125, 100, 85, 55, 70
- ; hp atk def spd sat sdf
-
- db BUG, BUG
- db 45 ; catch rate
- db 200 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 25 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn INSECT, INSECT ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH
- ; end
+INCLUDE "data/base_stats/pinsir.asm"
TaurosBaseData:: ; 0x52404
- db TAUROS ; 128
-
- db 75, 100, 95, 110, 40, 70
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 45 ; catch rate
- db 211 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 0 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, REST, ATTRACT, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/tauros.asm"
MagikarpBaseData:: ; 0x52424
- db MAGIKARP ; 129
-
- db 20, 10, 55, 80, 15, 20
- ; hp atk def spd sat sdf
-
- db WATER, WATER
- db 255 ; catch rate
- db 20 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 5 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn FISH, REPTILE ; egg groups
-
- ; tmhm
- tmhm
- ; end
+INCLUDE "data/base_stats/magikarp.asm"
GyaradosBaseData:: ; 0x52444
- db GYARADOS ; 130
-
- db 95, 125, 79, 81, 60, 100
- ; hp atk def spd sat sdf
-
- db WATER, FLYING
- db 45 ; catch rate
- db 214 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 5 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn FISH, REPTILE ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, DRAGONBREATH, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/gyarados.asm"
LaprasBaseData:: ; 0x52464
- db LAPRAS ; 131
-
- db 130, 85, 80, 60, 85, 95
- ; hp atk def spd sat sdf
-
- db WATER, ICE
- db 45 ; catch rate
- db 219 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 40 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn MONSTER, AMPHIBIAN ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, NIGHTMARE, SURF, STRENGTH, WHIRLPOOL, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/lapras.asm"
DittoBaseData:: ; 0x52484
- db DITTO ; 132
-
- db 48, 48, 48, 48, 48, 48
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 35 ; catch rate
- db 61 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 255 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn LADIES_MAN, LADIES_MAN ; egg groups
-
- ; tmhm
- tmhm
- ; end
+INCLUDE "data/base_stats/ditto.asm"
EeveeBaseData:: ; 0x524a4
- db EEVEE ; 133
-
- db 55, 55, 50, 55, 45, 65
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 45 ; catch rate
- db 92 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 35 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT
- ; end
+INCLUDE "data/base_stats/eevee.asm"
VaporeonBaseData:: ; 0x524c4
- db VAPOREON ; 134
-
- db 130, 65, 60, 65, 110, 95
- ; hp atk def spd sat sdf
-
- db WATER, WATER
- db 45 ; catch rate
- db 196 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 35 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROAR, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/vaporeon.asm"
JolteonBaseData:: ; 0x524e4
- db JOLTEON ; 135
-
- db 65, 65, 60, 130, 110, 95
- ; hp atk def spd sat sdf
-
- db ELECTRIC, ELECTRIC
- db 45 ; catch rate
- db 197 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 35 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, FLASH, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/jolteon.asm"
FlareonBaseData:: ; 0x52504
- db FLAREON ; 136
-
- db 65, 130, 60, 65, 95, 110
- ; hp atk def spd sat sdf
-
- db FIRE, FIRE
- db 45 ; catch rate
- db 198 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 35 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DETECT, REST, ATTRACT, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/flareon.asm"
PorygonBaseData:: ; 0x52524
- db PORYGON ; 137
-
- db 65, 60, 70, 40, 85, 75
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 45 ; catch rate
- db 130 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 255 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn INANIMATE, INANIMATE ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, REST, THIEF, NIGHTMARE, FLASH, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/porygon.asm"
OmanyteBaseData:: ; 0x52544
- db OMANYTE ; 138
-
- db 35, 40, 100, 35, 90, 55
- ; hp atk def spd sat sdf
-
- db ROCK, WATER
- db 45 ; catch rate
- db 120 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 30 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AMPHIBIAN, INVERTEBRATE ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/omanyte.asm"
OmastarBaseData:: ; 0x52564
- db OMASTAR ; 139
-
- db 70, 60, 125, 55, 115, 70
- ; hp atk def spd sat sdf
-
- db ROCK, WATER
- db 45 ; catch rate
- db 199 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 30 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AMPHIBIAN, INVERTEBRATE ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/omastar.asm"
KabutoBaseData:: ; 0x52584
- db KABUTO ; 140
-
- db 30, 80, 90, 55, 55, 45
- ; hp atk def spd sat sdf
-
- db ROCK, WATER
- db 45 ; catch rate
- db 119 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 30 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AMPHIBIAN, INVERTEBRATE ; egg groups
-
- ; tmhm
- tmhm CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, THIEF, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/kabuto.asm"
KabutopsBaseData:: ; 0x525a4
- db KABUTOPS ; 141
-
- db 60, 115, 105, 80, 65, 70
- ; hp atk def spd sat sdf
-
- db ROCK, WATER
- db 45 ; catch rate
- db 201 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 30 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AMPHIBIAN, INVERTEBRATE ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, SURF, WHIRLPOOL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/kabutops.asm"
AerodactylBaseData:: ; 0x525c4
- db AERODACTYL ; 142
-
- db 80, 105, 65, 130, 60, 75
- ; hp atk def spd sat sdf
-
- db ROCK, FLYING
- db 45 ; catch rate
- db 202 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 35 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn AVIAN, AVIAN ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, EARTHQUAKE, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DETECT, REST, ATTRACT, STEEL_WING, FLY, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/aerodactyl.asm"
SnorlaxBaseData:: ; 0x525e4
- db SNORLAX ; 143
-
- db 160, 110, 65, 30, 65, 110
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 25 ; catch rate
- db 154 ; base exp
- db LEFTOVERS ; item 1
- db LEFTOVERS ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 40 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn MONSTER, MONSTER ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, EARTHQUAKE, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/snorlax.asm"
ArticunoBaseData:: ; 0x52604
- db ARTICUNO ; 144
-
- db 90, 85, 100, 85, 95, 125
- ; hp atk def spd sat sdf
-
- db ICE, FLYING
- db 3 ; catch rate
- db 215 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 255 ; gender
- db 100 ; unknown
- db 80 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn NO_EGGS, NO_EGGS ; egg groups
-
- ; tmhm
- tmhm CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, STEEL_WING, FLY, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/articuno.asm"
ZapdosBaseData:: ; 0x52624
- db ZAPDOS ; 145
-
- db 90, 90, 85, 100, 125, 90
- ; hp atk def spd sat sdf
-
- db ELECTRIC, FLYING
- db 3 ; catch rate
- db 216 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 255 ; gender
- db 100 ; unknown
- db 80 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn NO_EGGS, NO_EGGS ; egg groups
-
- ; tmhm
- tmhm CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, STEEL_WING, FLY, FLASH, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/zapdos.asm"
MoltresBaseData:: ; 0x52644
- db MOLTRES ; 146
-
- db 90, 100, 90, 90, 125, 85
- ; hp atk def spd sat sdf
-
- db FIRE, FLYING
- db 3 ; catch rate
- db 217 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 255 ; gender
- db 100 ; unknown
- db 80 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn NO_EGGS, NO_EGGS ; egg groups
-
- ; tmhm
- tmhm CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DETECT, REST, STEEL_WING, FLY, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/moltres.asm"
DratiniBaseData:: ; 0x52664
- db DRATINI ; 147
-
- db 41, 64, 45, 50, 50, 50
- ; hp atk def spd sat sdf
-
- db DRAGON, DRAGON
- db 45 ; catch rate
- db 67 ; base exp
- db NO_ITEM ; item 1
- db DRAGON_SCALE ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 40 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn AMPHIBIAN, REPTILE ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DETECT, REST, ATTRACT, SURF, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/dratini.asm"
DragonairBaseData:: ; 0x52684
- db DRAGONAIR ; 148
-
- db 61, 84, 65, 70, 70, 70
- ; hp atk def spd sat sdf
-
- db DRAGON, DRAGON
- db 45 ; catch rate
- db 144 ; base exp
- db NO_ITEM ; item 1
- db DRAGON_SCALE ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 40 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn AMPHIBIAN, REPTILE ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DETECT, REST, ATTRACT, SURF, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/dragonair.asm"
DragoniteBaseData:: ; 0x526a4
- db DRAGONITE ; 149
-
- db 91, 134, 95, 80, 100, 100
- ; hp atk def spd sat sdf
-
- db DRAGON, FLYING
- db 45 ; catch rate
- db 218 ; base exp
- db NO_ITEM ; item 1
- db DRAGON_SCALE ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 40 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn AMPHIBIAN, REPTILE ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, THUNDERPUNCH, DETECT, REST, ATTRACT, STEEL_WING, FIRE_PUNCH, FURY_CUTTER, FLY, SURF, STRENGTH, WHIRLPOOL, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/dragonite.asm"
MewtwoBaseData:: ; 0x526c4
- db MEWTWO ; 150
-
- db 106, 110, 90, 130, 154, 90
- ; hp atk def spd sat sdf
-
- db PSYCHIC, PSYCHIC
- db 3 ; catch rate
- db 220 ; base exp
- db NO_ITEM ; item 1
- db BERSERK_GENE ; item 2
- db 255 ; gender
- db 100 ; unknown
- db 120 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn NO_EGGS, NO_EGGS ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, THUNDERPUNCH, DREAM_EATER, DETECT, REST, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/mewtwo.asm"
MewBaseData:: ; 0x526e4
- db MEW ; 151
-
- db 100, 100, 100, 100, 100, 100
- ; hp atk def spd sat sdf
-
- db PSYCHIC, PSYCHIC
- db 45 ; catch rate
- db 64 ; base exp
- db NO_ITEM ; item 1
- db MIRACLEBERRY ; item 2
- db 255 ; gender
- db 100 ; unknown
- db 120 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn NO_EGGS, NO_EGGS ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, DRAGONBREATH, THUNDER, EARTHQUAKE, RETURN, DIG, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, FIRE_BLAST, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FIRE_PUNCH, FURY_CUTTER, NIGHTMARE, CUT, FLY, SURF, STRENGTH, FLASH, WHIRLPOOL, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/mew.asm"
ChikoritaBaseData:: ; 0x52704
- db CHIKORITA ; 152
-
- db 45, 49, 65, 45, 49, 65
- ; hp atk def spd sat sdf
-
- db GRASS, GRASS
- db 45 ; catch rate
- db 64 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn MONSTER, PLANT ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, CUT, FLASH
- ; end
+INCLUDE "data/base_stats/chikorita.asm"
BayleefBaseData:: ; 0x52724
- db BAYLEEF ; 153
-
- db 60, 62, 80, 60, 63, 80
- ; hp atk def spd sat sdf
-
- db GRASS, GRASS
- db 45 ; catch rate
- db 141 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn MONSTER, PLANT ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, STRENGTH, FLASH
- ; end
+INCLUDE "data/base_stats/bayleef.asm"
MeganiumBaseData:: ; 0x52744
- db MEGANIUM ; 154
-
- db 80, 82, 100, 80, 83, 100
- ; hp atk def spd sat sdf
-
- db GRASS, GRASS
- db 45 ; catch rate
- db 208 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn MONSTER, PLANT ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, STRENGTH, FLASH
- ; end
+INCLUDE "data/base_stats/meganium.asm"
CyndaquilBaseData:: ; 0x52764
- db CYNDAQUIL ; 155
-
- db 39, 52, 43, 65, 60, 50
- ; hp atk def spd sat sdf
-
- db FIRE, FIRE
- db 45 ; catch rate
- db 65 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, CUT, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/cyndaquil.asm"
QuilavaBaseData:: ; 0x52784
- db QUILAVA ; 156
-
- db 58, 64, 58, 80, 80, 65
- ; hp atk def spd sat sdf
-
- db FIRE, FIRE
- db 45 ; catch rate
- db 142 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, STRENGTH, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/quilava.asm"
TyphlosionBaseData:: ; 0x527a4
- db TYPHLOSION ; 157
-
- db 78, 84, 78, 100, 109, 85
- ; hp atk def spd sat sdf
-
- db FIRE, FIRE
- db 45 ; catch rate
- db 209 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/typhlosion.asm"
TotodileBaseData:: ; 0x527c4
- db TOTODILE ; 158
-
- db 50, 65, 64, 43, 44, 48
- ; hp atk def spd sat sdf
-
- db WATER, WATER
- db 45 ; catch rate
- db 66 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn MONSTER, AMPHIBIAN ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, CUT, SURF, WHIRLPOOL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/totodile.asm"
CroconawBaseData:: ; 0x527e4
- db CROCONAW ; 159
-
- db 65, 80, 80, 58, 59, 63
- ; hp atk def spd sat sdf
-
- db WATER, WATER
- db 45 ; catch rate
- db 143 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn MONSTER, AMPHIBIAN ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/croconaw.asm"
FeraligatrBaseData:: ; 0x52804
- db FERALIGATR ; 160
-
- db 85, 105, 100, 78, 79, 83
- ; hp atk def spd sat sdf
-
- db WATER, WATER
- db 45 ; catch rate
- db 210 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn MONSTER, AMPHIBIAN ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/feraligatr.asm"
SentretBaseData:: ; 0x52824
- db SENTRET ; 161
-
- db 35, 46, 34, 20, 35, 45
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 255 ; catch rate
- db 57 ; base exp
- db NO_ITEM ; item 1
- db BERRY ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 15 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, CUT, SURF
- ; end
+INCLUDE "data/base_stats/sentret.asm"
FurretBaseData:: ; 0x52844
- db FURRET ; 162
-
- db 85, 76, 64, 90, 45, 55
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 90 ; catch rate
- db 116 ; base exp
- db BERRY ; item 1
- db GOLD_BERRY ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 15 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, CUT, SURF, STRENGTH
- ; end
+INCLUDE "data/base_stats/furret.asm"
HoothootBaseData:: ; 0x52864
- db HOOTHOOT ; 163
-
- db 60, 30, 30, 50, 36, 56
- ; hp atk def spd sat sdf
-
- db NORMAL, FLYING
- db 255 ; catch rate
- db 58 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 15 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AVIAN, AVIAN ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, STEEL_WING, NIGHTMARE, FLY, FLASH
- ; end
+INCLUDE "data/base_stats/hoothoot.asm"
NoctowlBaseData:: ; 0x52884
- db NOCTOWL ; 164
-
- db 100, 50, 50, 70, 76, 96
- ; hp atk def spd sat sdf
-
- db NORMAL, FLYING
- db 90 ; catch rate
- db 162 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 15 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AVIAN, AVIAN ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, STEEL_WING, NIGHTMARE, FLY, FLASH
- ; end
+INCLUDE "data/base_stats/noctowl.asm"
LedybaBaseData:: ; 0x528a4
- db LEDYBA ; 165
-
- db 40, 20, 30, 55, 40, 80
- ; hp atk def spd sat sdf
-
- db BUG, FLYING
- db 255 ; catch rate
- db 54 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 15 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db SLOW ; growth rate
- dn INSECT, INSECT ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, REST, ATTRACT, THIEF, FLASH
- ; end
+INCLUDE "data/base_stats/ledyba.asm"
LedianBaseData:: ; 0x528c4
- db LEDIAN ; 166
-
- db 55, 35, 50, 85, 55, 110
- ; hp atk def spd sat sdf
-
- db BUG, FLYING
- db 90 ; catch rate
- db 134 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 15 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db SLOW ; growth rate
- dn INSECT, INSECT ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, REST, ATTRACT, THIEF, FLASH
- ; end
+INCLUDE "data/base_stats/ledian.asm"
SpinarakBaseData:: ; 0x528e4
- db SPINARAK ; 167
-
- db 40, 60, 40, 30, 40, 40
- ; hp atk def spd sat sdf
-
- db BUG, POISON
- db 255 ; catch rate
- db 54 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 15 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db SLOW ; growth rate
- dn INSECT, INSECT ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, FLASH
- ; end
+INCLUDE "data/base_stats/spinarak.asm"
AriadosBaseData:: ; 0x52904
- db ARIADOS ; 168
-
- db 70, 90, 70, 40, 60, 60
- ; hp atk def spd sat sdf
-
- db BUG, POISON
- db 90 ; catch rate
- db 134 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 15 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db SLOW ; growth rate
- dn INSECT, INSECT ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, FLASH
- ; end
+INCLUDE "data/base_stats/ariados.asm"
CrobatBaseData:: ; 0x52924
- db CROBAT ; 169
-
- db 85, 90, 80, 130, 70, 80
- ; hp atk def spd sat sdf
-
- db POISON, FLYING
- db 90 ; catch rate
- db 204 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 15 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AVIAN, AVIAN ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY
- ; end
+INCLUDE "data/base_stats/crobat.asm"
ChinchouBaseData:: ; 0x52944
- db CHINCHOU ; 170
-
- db 75, 38, 38, 67, 56, 56
- ; hp atk def spd sat sdf
-
- db WATER, ELECTRIC
- db 190 ; catch rate
- db 90 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn FISH, FISH ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, SURF, FLASH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/chinchou.asm"
LanturnBaseData:: ; 0x52964
- db LANTURN ; 171
-
- db 125, 58, 58, 67, 76, 76
- ; hp atk def spd sat sdf
-
- db WATER, ELECTRIC
- db 75 ; catch rate
- db 156 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn FISH, FISH ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, SURF, FLASH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/lanturn.asm"
PichuBaseData:: ; 0x52984
- db PICHU ; 172
-
- db 20, 40, 15, 60, 35, 35
- ; hp atk def spd sat sdf
-
- db ELECTRIC, ELECTRIC
- db 190 ; catch rate
- db 42 ; base exp
- db NO_ITEM ; item 1
- db BERRY ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 10 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn NO_EGGS, NO_EGGS ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, FLASH, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/pichu.asm"
CleffaBaseData:: ; 0x529a4
- db CLEFFA ; 173
-
- db 50, 25, 28, 15, 45, 55
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 150 ; catch rate
- db 37 ; base exp
- db MYSTERYBERRY ; item 1
- db MOON_STONE ; item 2
- db 191 ; gender
- db 100 ; unknown
- db 10 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db SLOW ; growth rate
- dn NO_EGGS, NO_EGGS ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, NIGHTMARE, FLASH, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/cleffa.asm"
IgglybuffBaseData:: ; 0x529c4
- db IGGLYBUFF ; 174
-
- db 90, 30, 15, 15, 40, 20
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 170 ; catch rate
- db 39 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 191 ; gender
- db 100 ; unknown
- db 10 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db SLOW ; growth rate
- dn NO_EGGS, NO_EGGS ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, NIGHTMARE, FLASH, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/igglybuff.asm"
TogepiBaseData:: ; 0x529e4
- db TOGEPI ; 175
-
- db 35, 20, 65, 20, 40, 65
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 190 ; catch rate
- db 74 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 10 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db SLOW ; growth rate
- dn NO_EGGS, NO_EGGS ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, FLASH, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/togepi.asm"
TogeticBaseData:: ; 0x52a04
- db TOGETIC ; 176
-
- db 55, 40, 85, 40, 80, 105
- ; hp atk def spd sat sdf
-
- db NORMAL, FLYING
- db 75 ; catch rate
- db 114 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 10 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db SLOW ; growth rate
- dn AVIAN, FAIRY ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, STEEL_WING, FLY, FLASH, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/togetic.asm"
NatuBaseData:: ; 0x52a24
- db NATU ; 177
-
- db 40, 50, 45, 70, 70, 45
- ; hp atk def spd sat sdf
-
- db PSYCHIC, FLYING
- db 190 ; catch rate
- db 73 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AVIAN, AVIAN ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, FLASH
- ; end
+INCLUDE "data/base_stats/natu.asm"
XatuBaseData:: ; 0x52a44
- db XATU ; 178
-
- db 65, 75, 70, 95, 95, 70
- ; hp atk def spd sat sdf
-
- db PSYCHIC, FLYING
- db 75 ; catch rate
- db 171 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AVIAN, AVIAN ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, FLY, FLASH
- ; end
+INCLUDE "data/base_stats/xatu.asm"
MareepBaseData:: ; 0x52a64
- db MAREEP ; 179
-
- db 55, 40, 40, 35, 65, 45
- ; hp atk def spd sat sdf
-
- db ELECTRIC, ELECTRIC
- db 235 ; catch rate
- db 59 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn MONSTER, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, FLASH, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/mareep.asm"
FlaaffyBaseData:: ; 0x52a84
- db FLAAFFY ; 180
-
- db 70, 55, 55, 45, 80, 60
- ; hp atk def spd sat sdf
-
- db ELECTRIC, ELECTRIC
- db 120 ; catch rate
- db 117 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn MONSTER, FIELD ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, STRENGTH, FLASH, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/flaaffy.asm"
AmpharosBaseData:: ; 0x52aa4
- db AMPHAROS ; 181
-
- db 90, 75, 75, 55, 115, 90
- ; hp atk def spd sat sdf
-
- db ELECTRIC, ELECTRIC
- db 45 ; catch rate
- db 194 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn MONSTER, FIELD ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, STRENGTH, FLASH, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/ampharos.asm"
BellossomBaseData:: ; 0x52ac4
- db BELLOSSOM ; 182
-
- db 75, 80, 85, 50, 90, 100
- ; hp atk def spd sat sdf
-
- db GRASS, GRASS
- db 45 ; catch rate
- db 184 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn PLANT, PLANT ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, CUT, FLASH
- ; end
+INCLUDE "data/base_stats/bellossom.asm"
MarillBaseData:: ; 0x52ae4
- db MARILL ; 183
-
- db 70, 20, 50, 40, 20, 50
- ; hp atk def spd sat sdf
-
- db WATER, WATER
- db 190 ; catch rate
- db 58 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db SLOW ; growth rate
- dn AMPHIBIAN, FAIRY ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/marill.asm"
AzumarillBaseData:: ; 0x52b04
- db AZUMARILL ; 184
-
- db 100, 50, 80, 50, 50, 80
- ; hp atk def spd sat sdf
-
- db WATER, WATER
- db 75 ; catch rate
- db 153 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db SLOW ; growth rate
- dn AMPHIBIAN, FAIRY ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/azumarill.asm"
SudowoodoBaseData:: ; 0x52b24
- db SUDOWOODO ; 185
-
- db 70, 100, 115, 30, 30, 65
- ; hp atk def spd sat sdf
-
- db ROCK, ROCK
- db 65 ; catch rate
- db 135 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn INANIMATE, INANIMATE ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH
- ; end
+INCLUDE "data/base_stats/sudowoodo.asm"
PolitoedBaseData:: ; 0x52b44
- db POLITOED ; 186
-
- db 90, 75, 75, 70, 90, 100
- ; hp atk def spd sat sdf
-
- db WATER, WATER
- db 45 ; catch rate
- db 185 ; base exp
- db NO_ITEM ; item 1
- db KINGS_ROCK ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn AMPHIBIAN, AMPHIBIAN ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/politoed.asm"
HoppipBaseData:: ; 0x52b64
- db HOPPIP ; 187
-
- db 35, 35, 40, 50, 35, 55
- ; hp atk def spd sat sdf
-
- db GRASS, FLYING
- db 255 ; catch rate
- db 74 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn FAIRY, PLANT ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FLASH
- ; end
+INCLUDE "data/base_stats/hoppip.asm"
SkiploomBaseData:: ; 0x52b84
- db SKIPLOOM ; 188
-
- db 55, 45, 50, 80, 45, 65
- ; hp atk def spd sat sdf
-
- db GRASS, FLYING
- db 120 ; catch rate
- db 136 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn FAIRY, PLANT ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FLASH
- ; end
+INCLUDE "data/base_stats/skiploom.asm"
JumpluffBaseData:: ; 0x52ba4
- db JUMPLUFF ; 189
-
- db 75, 55, 70, 110, 55, 85
- ; hp atk def spd sat sdf
-
- db GRASS, FLYING
- db 45 ; catch rate
- db 176 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn FAIRY, PLANT ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FLASH
- ; end
+INCLUDE "data/base_stats/jumpluff.asm"
AipomBaseData:: ; 0x52bc4
- db AIPOM ; 190
-
- db 55, 70, 55, 85, 40, 55
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 45 ; catch rate
- db 94 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db SLOW ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, NIGHTMARE, CUT, STRENGTH, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/aipom.asm"
SunkernBaseData:: ; 0x52be4
- db SUNKERN ; 191
-
- db 30, 30, 30, 30, 30, 30
- ; hp atk def spd sat sdf
-
- db GRASS, GRASS
- db 235 ; catch rate
- db 52 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn PLANT, PLANT ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
- ; end
+INCLUDE "data/base_stats/sunkern.asm"
SunfloraBaseData:: ; 0x52c04
- db SUNFLORA ; 192
-
- db 75, 75, 55, 30, 105, 85
- ; hp atk def spd sat sdf
-
- db GRASS, GRASS
- db 120 ; catch rate
- db 146 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn PLANT, PLANT ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
- ; end
+INCLUDE "data/base_stats/sunflora.asm"
YanmaBaseData:: ; 0x52c24
- db YANMA ; 193
-
- db 65, 65, 45, 95, 75, 45
- ; hp atk def spd sat sdf
-
- db BUG, FLYING
- db 75 ; catch rate
- db 147 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn INSECT, INSECT ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, FLASH
- ; end
+INCLUDE "data/base_stats/yanma.asm"
WooperBaseData:: ; 0x52c44
- db WOOPER ; 194
-
- db 55, 45, 45, 15, 25, 25
- ; hp atk def spd sat sdf
-
- db WATER, GROUND
- db 255 ; catch rate
- db 52 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AMPHIBIAN, FIELD ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, SURF, FLASH, WHIRLPOOL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/wooper.asm"
QuagsireBaseData:: ; 0x52c64
- db QUAGSIRE ; 195
-
- db 95, 85, 85, 35, 65, 65
- ; hp atk def spd sat sdf
-
- db WATER, GROUND
- db 90 ; catch rate
- db 137 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AMPHIBIAN, FIELD ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, FLASH, WHIRLPOOL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/quagsire.asm"
EspeonBaseData:: ; 0x52c84
- db ESPEON ; 196
-
- db 65, 65, 60, 110, 130, 95
- ; hp atk def spd sat sdf
-
- db PSYCHIC, PSYCHIC
- db 45 ; catch rate
- db 197 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 35 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, NIGHTMARE, CUT, FLASH
- ; end
+INCLUDE "data/base_stats/espeon.asm"
UmbreonBaseData:: ; 0x52ca4
- db UMBREON ; 197
-
- db 95, 65, 110, 65, 60, 130
- ; hp atk def spd sat sdf
-
- db DARK, DARK
- db 45 ; catch rate
- db 197 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 31 ; gender
- db 100 ; unknown
- db 35 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, NIGHTMARE, CUT, FLASH
- ; end
+INCLUDE "data/base_stats/umbreon.asm"
MurkrowBaseData:: ; 0x52cc4
- db MURKROW ; 198
-
- db 60, 85, 42, 91, 85, 42
- ; hp atk def spd sat sdf
-
- db DARK, FLYING
- db 30 ; catch rate
- db 107 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn AVIAN, AVIAN ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, STEEL_WING, NIGHTMARE, FLY
- ; end
+INCLUDE "data/base_stats/murkrow.asm"
SlowkingBaseData:: ; 0x52ce4
- db SLOWKING ; 199
-
- db 95, 75, 80, 30, 100, 110
- ; hp atk def spd sat sdf
-
- db WATER, PSYCHIC
- db 70 ; catch rate
- db 164 ; base exp
- db NO_ITEM ; item 1
- db KINGS_ROCK ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn MONSTER, AMPHIBIAN ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DREAM_EATER, REST, ATTRACT, FURY_CUTTER, NIGHTMARE, SURF, STRENGTH, FLASH, WHIRLPOOL, FLAMETHROWER, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/slowking.asm"
MisdreavusBaseData:: ; 0x52d04
- db MISDREAVUS ; 200
-
- db 60, 60, 60, 85, 85, 85
- ; hp atk def spd sat sdf
-
- db GHOST, GHOST
- db 45 ; catch rate
- db 147 ; base exp
- db NO_ITEM ; item 1
- db SPELL_TAG ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 25 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db SLOW ; growth rate
- dn AMORPHOUS, AMORPHOUS ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, FLASH, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/misdreavus.asm"
UnownBaseData:: ; 0x52d24
- db UNOWN ; 201
-
- db 48, 72, 48, 48, 72, 48
- ; hp atk def spd sat sdf
-
- db PSYCHIC, PSYCHIC
- db 225 ; catch rate
- db 61 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 255 ; gender
- db 100 ; unknown
- db 40 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn NO_EGGS, NO_EGGS ; egg groups
-
- ; tmhm
- tmhm
- ; end
+INCLUDE "data/base_stats/unown.asm"
WobbuffetBaseData:: ; 0x52d44
- db WOBBUFFET ; 202
-
- db 190, 33, 58, 33, 33, 58
- ; hp atk def spd sat sdf
-
- db PSYCHIC, PSYCHIC
- db 45 ; catch rate
- db 177 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AMORPHOUS, AMORPHOUS ; egg groups
-
- ; tmhm
- tmhm
- ; end
+INCLUDE "data/base_stats/wobbuffet.asm"
GirafarigBaseData:: ; 0x52d64
- db GIRAFARIG ; 203
-
- db 70, 80, 65, 85, 90, 65
- ; hp atk def spd sat sdf
-
- db NORMAL, PSYCHIC
- db 60 ; catch rate
- db 149 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/girafarig.asm"
PinecoBaseData:: ; 0x52d84
- db PINECO ; 204
-
- db 50, 65, 90, 15, 35, 35
- ; hp atk def spd sat sdf
-
- db BUG, BUG
- db 190 ; catch rate
- db 60 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn INSECT, INSECT ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, STRENGTH
- ; end
+INCLUDE "data/base_stats/pineco.asm"
ForretressBaseData:: ; 0x52da4
- db FORRETRESS ; 205
-
- db 75, 90, 140, 40, 60, 60
- ; hp atk def spd sat sdf
-
- db BUG, STEEL
- db 75 ; catch rate
- db 118 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn INSECT, INSECT ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, STRENGTH
- ; end
+INCLUDE "data/base_stats/forretress.asm"
DunsparceBaseData:: ; 0x52dc4
- db DUNSPARCE ; 206
-
- db 100, 70, 70, 45, 65, 65
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 190 ; catch rate
- db 75 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, FLAMETHROWER, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/dunsparce.asm"
GligarBaseData:: ; 0x52de4
- db GLIGAR ; 207
-
- db 65, 75, 105, 85, 35, 65
- ; hp atk def spd sat sdf
-
- db GROUND, FLYING
- db 60 ; catch rate
- db 108 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn INSECT, INSECT ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, SWIFT, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH
- ; end
+INCLUDE "data/base_stats/gligar.asm"
SteelixBaseData:: ; 0x52e04
- db STEELIX ; 208
-
- db 75, 85, 200, 30, 55, 65
- ; hp atk def spd sat sdf
-
- db STEEL, GROUND
- db 25 ; catch rate
- db 196 ; base exp
- db NO_ITEM ; item 1
- db METAL_COAT ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 25 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn INANIMATE, INANIMATE ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, CUT, STRENGTH
- ; end
+INCLUDE "data/base_stats/steelix.asm"
SnubbullBaseData:: ; 0x52e24
- db SNUBBULL ; 209
-
- db 60, 80, 50, 30, 40, 40
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 190 ; catch rate
- db 63 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 191 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db SLOW ; growth rate
- dn FIELD, FAIRY ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/snubbull.asm"
GranbullBaseData:: ; 0x52e44
- db GRANBULL ; 210
-
- db 90, 120, 75, 45, 60, 60
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 75 ; catch rate
- db 178 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 191 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db SLOW ; growth rate
- dn FIELD, FAIRY ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/granbull.asm"
QwilfishBaseData:: ; 0x52e64
- db QWILFISH ; 211
-
- db 65, 95, 75, 85, 55, 55
- ; hp atk def spd sat sdf
-
- db WATER, POISON
- db 45 ; catch rate
- db 100 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FISH, FISH ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SWIFT, DEFENSE_CURL, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/qwilfish.asm"
ScizorBaseData:: ; 0x52e84
- db SCIZOR ; 212
-
- db 70, 130, 100, 65, 55, 80
- ; hp atk def spd sat sdf
-
- db BUG, STEEL
- db 25 ; catch rate
- db 200 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 25 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn INSECT, INSECT ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FURY_CUTTER, CUT, STRENGTH
- ; end
+INCLUDE "data/base_stats/scizor.asm"
ShuckleBaseData:: ; 0x52ea4
- db SHUCKLE ; 213
-
- db 20, 10, 230, 05, 10, 230
- ; hp atk def spd sat sdf
-
- db BUG, ROCK
- db 190 ; catch rate
- db 80 ; base exp
- db BERRY ; item 1
- db BERRY ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn INSECT, INSECT ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, STRENGTH, FLASH
- ; end
+INCLUDE "data/base_stats/shuckle.asm"
HeracrossBaseData:: ; 0x52ec4
- db HERACROSS ; 214
-
- db 80, 125, 75, 85, 40, 95
- ; hp atk def spd sat sdf
-
- db BUG, FIGHTING
- db 45 ; catch rate
- db 200 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 25 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn INSECT, INSECT ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH
- ; end
+INCLUDE "data/base_stats/heracross.asm"
SneaselBaseData:: ; 0x52ee4
- db SNEASEL ; 215
-
- db 55, 95, 55, 115, 35, 75
- ; hp atk def spd sat sdf
-
- db DARK, ICE
- db 60 ; catch rate
- db 132 ; base exp
- db NO_ITEM ; item 1
- db QUICK_CLAW ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, NIGHTMARE, CUT, SURF, STRENGTH, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/sneasel.asm"
TeddiursaBaseData:: ; 0x52f04
- db TEDDIURSA ; 216
-
- db 60, 80, 50, 40, 50, 50
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 120 ; catch rate
- db 124 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH
- ; end
+INCLUDE "data/base_stats/teddiursa.asm"
UrsaringBaseData:: ; 0x52f24
- db URSARING ; 217
-
- db 90, 130, 75, 55, 75, 75
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 60 ; catch rate
- db 189 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH
- ; end
+INCLUDE "data/base_stats/ursaring.asm"
SlugmaBaseData:: ; 0x52f44
- db SLUGMA ; 218
-
- db 40, 40, 40, 20, 70, 40
- ; hp atk def spd sat sdf
-
- db FIRE, FIRE
- db 190 ; catch rate
- db 78 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AMORPHOUS, AMORPHOUS ; egg groups
-
- ; tmhm
- tmhm CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/slugma.asm"
MagcargoBaseData:: ; 0x52f64
- db MAGCARGO ; 219
-
- db 50, 50, 120, 30, 80, 80
- ; hp atk def spd sat sdf
-
- db FIRE, ROCK
- db 75 ; catch rate
- db 154 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AMORPHOUS, AMORPHOUS ; egg groups
-
- ; tmhm
- tmhm CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, STRENGTH, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/magcargo.asm"
SwinubBaseData:: ; 0x52f84
- db SWINUB ; 220
-
- db 50, 50, 40, 50, 30, 30
- ; hp atk def spd sat sdf
-
- db ICE, GROUND
- db 225 ; catch rate
- db 78 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, STRENGTH, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/swinub.asm"
PiloswineBaseData:: ; 0x52fa4
- db PILOSWINE ; 221
-
- db 100, 100, 80, 50, 60, 60
- ; hp atk def spd sat sdf
-
- db ICE, GROUND
- db 75 ; catch rate
- db 160 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, STRENGTH, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/piloswine.asm"
CorsolaBaseData:: ; 0x52fc4
- db CORSOLA ; 222
-
- db 55, 55, 85, 35, 65, 85
- ; hp atk def spd sat sdf
-
- db WATER, ROCK
- db 60 ; catch rate
- db 113 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 191 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db SLOW ; growth rate
- dn AMPHIBIAN, INVERTEBRATE ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/corsola.asm"
RemoraidBaseData:: ; 0x52fe4
- db REMORAID ; 223
-
- db 35, 65, 35, 65, 65, 35
- ; hp atk def spd sat sdf
-
- db WATER, WATER
- db 190 ; catch rate
- db 78 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AMPHIBIAN, FISH ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, FLAMETHROWER, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/remoraid.asm"
OctilleryBaseData:: ; 0x53004
- db OCTILLERY ; 224
-
- db 75, 105, 75, 45, 105, 75
- ; hp atk def spd sat sdf
-
- db WATER, WATER
- db 75 ; catch rate
- db 164 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AMPHIBIAN, FISH ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, FLAMETHROWER, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/octillery.asm"
DelibirdBaseData:: ; 0x53024
- db DELIBIRD ; 225
-
- db 45, 55, 45, 75, 65, 45
- ; hp atk def spd sat sdf
-
- db ICE, FLYING
- db 45 ; catch rate
- db 183 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db SLOW ; growth rate
- dn AMPHIBIAN, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, FLY, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/delibird.asm"
MantineBaseData:: ; 0x53044
- db MANTINE ; 226
-
- db 65, 40, 70, 70, 80, 140
- ; hp atk def spd sat sdf
-
- db WATER, FLYING
- db 25 ; catch rate
- db 168 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 25 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn AMPHIBIAN, AMPHIBIAN ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/mantine.asm"
SkarmoryBaseData:: ; 0x53064
- db SKARMORY ; 227
-
- db 65, 80, 140, 70, 40, 70
- ; hp atk def spd sat sdf
-
- db STEEL, FLYING
- db 25 ; catch rate
- db 168 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 25 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn AVIAN, AVIAN ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, CUT, FLY
- ; end
+INCLUDE "data/base_stats/skarmory.asm"
HoundourBaseData:: ; 0x53084
- db HOUNDOUR ; 228
-
- db 45, 60, 30, 65, 80, 50
- ; hp atk def spd sat sdf
-
- db DARK, FIRE
- db 120 ; catch rate
- db 114 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/houndour.asm"
HoundoomBaseData:: ; 0x530a4
- db HOUNDOOM ; 229
-
- db 75, 90, 50, 95, 110, 80
- ; hp atk def spd sat sdf
-
- db DARK, FIRE
- db 45 ; catch rate
- db 204 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/houndoom.asm"
KingdraBaseData:: ; 0x530c4
- db KINGDRA ; 230
-
- db 75, 95, 95, 85, 95, 95
- ; hp atk def spd sat sdf
-
- db WATER, DRAGON
- db 45 ; catch rate
- db 207 ; base exp
- db NO_ITEM ; item 1
- db DRAGON_SCALE ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn AMPHIBIAN, REPTILE ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, DRAGONBREATH, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/kingdra.asm"
PhanpyBaseData:: ; 0x530e4
- db PHANPY ; 231
-
- db 90, 60, 60, 40, 40, 40
- ; hp atk def spd sat sdf
-
- db GROUND, GROUND
- db 120 ; catch rate
- db 124 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, STRENGTH
- ; end
+INCLUDE "data/base_stats/phanpy.asm"
DonphanBaseData:: ; 0x53104
- db DONPHAN ; 232
-
- db 90, 120, 120, 50, 60, 60
- ; hp atk def spd sat sdf
-
- db GROUND, GROUND
- db 60 ; catch rate
- db 189 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, STRENGTH
- ; end
+INCLUDE "data/base_stats/donphan.asm"
Porygon2BaseData:: ; 0x53124
- db PORYGON2 ; 233
-
- db 85, 80, 90, 60, 105, 95
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 45 ; catch rate
- db 180 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 255 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn INANIMATE, INANIMATE ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, REST, THIEF, NIGHTMARE, FLASH, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/porygon2.asm"
StantlerBaseData:: ; 0x53144
- db STANTLER ; 234
-
- db 73, 95, 62, 85, 85, 65
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 45 ; catch rate
- db 165 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROAR, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, FLASH
- ; end
+INCLUDE "data/base_stats/stantler.asm"
SmeargleBaseData:: ; 0x53164
- db SMEARGLE ; 235
-
- db 55, 20, 35, 75, 20, 45
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 45 ; catch rate
- db 106 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db SLOW ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm
- ; end
+INCLUDE "data/base_stats/smeargle.asm"
TyrogueBaseData:: ; 0x53184
- db TYROGUE ; 236
-
- db 35, 35, 35, 35, 35, 35
- ; hp atk def spd sat sdf
-
- db FIGHTING, FIGHTING
- db 75 ; catch rate
- db 91 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 0 ; gender
- db 100 ; unknown
- db 25 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn NO_EGGS, NO_EGGS ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STRENGTH
- ; end
+INCLUDE "data/base_stats/tyrogue.asm"
HitmontopBaseData:: ; 0x531a4
- db HITMONTOP ; 237
-
- db 50, 95, 95, 70, 35, 110
- ; hp atk def spd sat sdf
-
- db FIGHTING, FIGHTING
- db 45 ; catch rate
- db 138 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 0 ; gender
- db 100 ; unknown
- db 25 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STRENGTH
- ; end
+INCLUDE "data/base_stats/hitmontop.asm"
SmoochumBaseData:: ; 0x531c4
- db SMOOCHUM ; 238
-
- db 45, 30, 15, 65, 85, 65
- ; hp atk def spd sat sdf
-
- db ICE, PSYCHIC
- db 45 ; catch rate
- db 87 ; base exp
- db ICE_BERRY ; item 1
- db ICE_BERRY ; item 2
- db 254 ; gender
- db 100 ; unknown
- db 25 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn NO_EGGS, NO_EGGS ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SWEET_SCENT, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/smoochum.asm"
ElekidBaseData:: ; 0x531e4
- db ELEKID ; 239
-
- db 45, 63, 37, 95, 65, 55
- ; hp atk def spd sat sdf
-
- db ELECTRIC, ELECTRIC
- db 45 ; catch rate
- db 106 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 63 ; gender
- db 100 ; unknown
- db 25 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn NO_EGGS, NO_EGGS ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FLASH, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/elekid.asm"
MagbyBaseData:: ; 0x53204
- db MAGBY ; 240
-
- db 45, 75, 37, 83, 70, 55
- ; hp atk def spd sat sdf
-
- db FIRE, FIRE
- db 45 ; catch rate
- db 117 ; base exp
- db BURNT_BERRY ; item 1
- db BURNT_BERRY ; item 2
- db 63 ; gender
- db 100 ; unknown
- db 25 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_FAST ; growth rate
- dn NO_EGGS, NO_EGGS ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/magby.asm"
MiltankBaseData:: ; 0x53224
- db MILTANK ; 241
-
- db 95, 80, 105, 100, 40, 70
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 45 ; catch rate
- db 200 ; base exp
- db MOOMOO_MILK ; item 1
- db MOOMOO_MILK ; item 2
- db 254 ; gender
- db 100 ; unknown
- db 20 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn FIELD, FIELD ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, SURF, STRENGTH, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/miltank.asm"
BlisseyBaseData:: ; 0x53244
- db BLISSEY ; 242
-
- db 255, 10, 10, 55, 75, 135
- ; hp atk def spd sat sdf
-
- db NORMAL, NORMAL
- db 30 ; catch rate
- db 255 ; base exp
- db NO_ITEM ; item 1
- db LUCKY_EGG ; item 2
- db 254 ; gender
- db 100 ; unknown
- db 40 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db SLOW ; growth rate
- dn FAIRY, FAIRY ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, DREAM_EATER, REST, ATTRACT, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/blissey.asm"
RaikouBaseData:: ; 0x53264
- db RAIKOU ; 243
-
- db 90, 85, 75, 115, 115, 100
- ; hp atk def spd sat sdf
-
- db ELECTRIC, ELECTRIC
- db 3 ; catch rate
- db 216 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 255 ; gender
- db 100 ; unknown
- db 80 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn NO_EGGS, NO_EGGS ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, CUT, STRENGTH, FLASH, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/raikou.asm"
EnteiBaseData:: ; 0x53284
- db ENTEI ; 244
-
- db 115, 115, 85, 100, 90, 75
- ; hp atk def spd sat sdf
-
- db FIRE, FIRE
- db 3 ; catch rate
- db 217 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 255 ; gender
- db 100 ; unknown
- db 80 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn NO_EGGS, NO_EGGS ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DETECT, REST, CUT, STRENGTH, FLASH, FLAMETHROWER
- ; end
+INCLUDE "data/base_stats/entei.asm"
SuicuneBaseData:: ; 0x532a4
- db SUICUNE ; 245
-
- db 100, 75, 115, 85, 90, 115
- ; hp atk def spd sat sdf
-
- db WATER, WATER
- db 3 ; catch rate
- db 215 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 255 ; gender
- db 100 ; unknown
- db 80 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn NO_EGGS, NO_EGGS ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, CUT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/suicune.asm"
LarvitarBaseData:: ; 0x532c4
- db LARVITAR ; 246
-
- db 50, 64, 50, 41, 45, 50
- ; hp atk def spd sat sdf
-
- db ROCK, GROUND
- db 45 ; catch rate
- db 67 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 40 ; step cycles to hatch
- db 5 ; unknown
- dn 5, 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn MONSTER, MONSTER ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DETECT, REST, ATTRACT
- ; end
+INCLUDE "data/base_stats/larvitar.asm"
PupitarBaseData:: ; 0x532e4
- db PUPITAR ; 247
-
- db 70, 84, 70, 51, 65, 70
- ; hp atk def spd sat sdf
-
- db ROCK, GROUND
- db 45 ; catch rate
- db 144 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 40 ; step cycles to hatch
- db 5 ; unknown
- dn 6, 6 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn MONSTER, MONSTER ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DETECT, REST, ATTRACT
- ; end
+INCLUDE "data/base_stats/pupitar.asm"
TyranitarBaseData:: ; 0x53304
- db TYRANITAR ; 248
-
- db 100, 134, 110, 61, 95, 100
- ; hp atk def spd sat sdf
-
- db ROCK, DARK
- db 45 ; catch rate
- db 218 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 127 ; gender
- db 100 ; unknown
- db 40 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn MONSTER, MONSTER ; egg groups
-
- ; tmhm
- tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DETECT, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, NIGHTMARE, CUT, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/tyranitar.asm"
LugiaBaseData:: ; 0x53324
- db LUGIA ; 249
-
- db 106, 90, 130, 110, 90, 154
- ; hp atk def spd sat sdf
-
- db PSYCHIC, FLYING
- db 3 ; catch rate
- db 220 ; base exp
- db NO_ITEM ; item 1
- db NO_ITEM ; item 2
- db 255 ; gender
- db 100 ; unknown
- db 120 ; step cycles to hatch
- db 5 ; unknown
- dn 7, 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn NO_EGGS, NO_EGGS ; egg groups
-
- ; tmhm
- tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, EARTHQUAKE, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DREAM_EATER, DETECT, REST, STEEL_WING, NIGHTMARE, FLY, SURF, STRENGTH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM
- ; end
+INCLUDE "data/base_stats/lugia.asm"
Ho_OhBaseData:: ; 0x53344
- db HO_OH ; 250
-
- db 106, 130, 90, 90, 110, 154
- ; hp atk def spd sat sdf
-
- db FIRE, FLYING
- db 3 ; catch rate
- db 220 ; base exp
- db SACRED_ASH ; item 1
- db SACRED_ASH ; item 2
- db 255 ; gender
- db 100 ; unknown
- db 120 ; step cycles to hatch
- db 5 ; unknown
- dn 7 , 7 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db FAST ; growth rate
- dn NO_EGGS, NO_EGGS ; egg groups
-
- ; tmhm
- tmhm CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, DRAGONBREATH, THUNDER, EARTHQUAKE, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DREAM_EATER, DETECT, REST, STEEL_WING, NIGHTMARE, FLY, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT
- ; end
+INCLUDE "data/base_stats/ho_oh.asm"
CelebiBaseData:: ; 0x53364
- db CELEBI ; 251
-
- db 100, 100, 100, 100, 100, 100
- ; hp atk def spd sat sdf
-
- db PSYCHIC, GRASS
- db 45 ; catch rate
- db 64 ; base exp
- db NO_ITEM ; item 1
- db MIRACLEBERRY ; item 2
- db 255 ; gender
- db 100 ; unknown
- db 120 ; step cycles to hatch
- db 5 ; unknown
- dn 5 , 5 ; frontpic dimensions
- db 0, 0, 0, 0 ; padding
- db MEDIUM_SLOW ; growth rate
- dn NO_EGGS, NO_EGGS ; egg groups
-
- ; tmhm
- tmhm CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, NIGHTMARE, FLASH
- ; end
+INCLUDE "data/base_stats/celebi.asm"
+
diff --git a/data/base_stats/abra.asm b/data/base_stats/abra.asm
new file mode 100644
index 000000000..1856a2fd6
--- /dev/null
+++ b/data/base_stats/abra.asm
@@ -0,0 +1,22 @@
+ db ABRA ; 063
+
+ db 25, 20, 15, 90, 105, 55
+ ; hp atk def spd sat sdf
+
+ db PSYCHIC, PSYCHIC
+ db 200 ; catch rate
+ db 73 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 63 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, FLASH
+ ; end
diff --git a/data/base_stats/aerodactyl.asm b/data/base_stats/aerodactyl.asm
new file mode 100644
index 000000000..226f10365
--- /dev/null
+++ b/data/base_stats/aerodactyl.asm
@@ -0,0 +1,22 @@
+ db AERODACTYL ; 142
+
+ db 80, 105, 65, 130, 60, 75
+ ; hp atk def spd sat sdf
+
+ db ROCK, FLYING
+ db 45 ; catch rate
+ db 202 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 35 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn AVIAN, AVIAN ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, EARTHQUAKE, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DETECT, REST, ATTRACT, STEEL_WING, FLY, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/aipom.asm b/data/base_stats/aipom.asm
new file mode 100644
index 000000000..8e1f5853f
--- /dev/null
+++ b/data/base_stats/aipom.asm
@@ -0,0 +1,22 @@
+ db AIPOM ; 190
+
+ db 55, 70, 55, 85, 40, 55
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 45 ; catch rate
+ db 94 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db SLOW ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, NIGHTMARE, CUT, STRENGTH, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/alakazam.asm b/data/base_stats/alakazam.asm
new file mode 100644
index 000000000..086a1bb43
--- /dev/null
+++ b/data/base_stats/alakazam.asm
@@ -0,0 +1,22 @@
+ db ALAKAZAM ; 065
+
+ db 55, 50, 45, 120, 135, 85
+ ; hp atk def spd sat sdf
+
+ db PSYCHIC, PSYCHIC
+ db 50 ; catch rate
+ db 186 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 63 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DIG, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, FLASH
+ ; end
diff --git a/data/base_stats/ampharos.asm b/data/base_stats/ampharos.asm
new file mode 100644
index 000000000..3c5626d81
--- /dev/null
+++ b/data/base_stats/ampharos.asm
@@ -0,0 +1,22 @@
+ db AMPHAROS ; 181
+
+ db 90, 75, 75, 55, 115, 90
+ ; hp atk def spd sat sdf
+
+ db ELECTRIC, ELECTRIC
+ db 45 ; catch rate
+ db 194 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn MONSTER, FIELD ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, STRENGTH, FLASH, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/arbok.asm b/data/base_stats/arbok.asm
new file mode 100644
index 000000000..3b82c1801
--- /dev/null
+++ b/data/base_stats/arbok.asm
@@ -0,0 +1,22 @@
+ db ARBOK ; 024
+
+ db 60, 85, 69, 80, 65, 79
+ ; hp atk def spd sat sdf
+
+ db POISON, POISON
+ db 90 ; catch rate
+ db 147 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, REPTILE ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, STRENGTH
+ ; end
diff --git a/data/base_stats/arcanine.asm b/data/base_stats/arcanine.asm
new file mode 100644
index 000000000..5fc7734d3
--- /dev/null
+++ b/data/base_stats/arcanine.asm
@@ -0,0 +1,22 @@
+ db ARCANINE ; 059
+
+ db 90, 110, 80, 95, 100, 80
+ ; hp atk def spd sat sdf
+
+ db FIRE, FIRE
+ db 75 ; catch rate
+ db 213 ; base exp
+ db BURNT_BERRY ; item 1
+ db BURNT_BERRY ; item 2
+ db 63 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/ariados.asm b/data/base_stats/ariados.asm
new file mode 100644
index 000000000..174de5fab
--- /dev/null
+++ b/data/base_stats/ariados.asm
@@ -0,0 +1,22 @@
+ db ARIADOS ; 168
+
+ db 70, 90, 70, 40, 60, 60
+ ; hp atk def spd sat sdf
+
+ db BUG, POISON
+ db 90 ; catch rate
+ db 134 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 15 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db SLOW ; growth rate
+ dn INSECT, INSECT ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, FLASH
+ ; end
diff --git a/data/base_stats/articuno.asm b/data/base_stats/articuno.asm
new file mode 100644
index 000000000..3001e67c1
--- /dev/null
+++ b/data/base_stats/articuno.asm
@@ -0,0 +1,22 @@
+ db ARTICUNO ; 144
+
+ db 90, 85, 100, 85, 95, 125
+ ; hp atk def spd sat sdf
+
+ db ICE, FLYING
+ db 3 ; catch rate
+ db 215 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 255 ; gender
+ db 100 ; unknown
+ db 80 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn NO_EGGS, NO_EGGS ; egg groups
+
+ ; tmhm
+ tmhm CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, STEEL_WING, FLY, ICE_BEAM
+ ; end
diff --git a/data/base_stats/azumarill.asm b/data/base_stats/azumarill.asm
new file mode 100644
index 000000000..3aaa8b9a1
--- /dev/null
+++ b/data/base_stats/azumarill.asm
@@ -0,0 +1,22 @@
+ db AZUMARILL ; 184
+
+ db 100, 50, 80, 50, 50, 80
+ ; hp atk def spd sat sdf
+
+ db WATER, WATER
+ db 75 ; catch rate
+ db 153 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db SLOW ; growth rate
+ dn AMPHIBIAN, FAIRY ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/bayleef.asm b/data/base_stats/bayleef.asm
new file mode 100644
index 000000000..e94ecaa34
--- /dev/null
+++ b/data/base_stats/bayleef.asm
@@ -0,0 +1,22 @@
+ db BAYLEEF ; 153
+
+ db 60, 62, 80, 60, 63, 80
+ ; hp atk def spd sat sdf
+
+ db GRASS, GRASS
+ db 45 ; catch rate
+ db 141 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn MONSTER, PLANT ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, STRENGTH, FLASH
+ ; end
diff --git a/data/base_stats/beedrill.asm b/data/base_stats/beedrill.asm
new file mode 100644
index 000000000..254ee749e
--- /dev/null
+++ b/data/base_stats/beedrill.asm
@@ -0,0 +1,22 @@
+ db BEEDRILL ; 015
+
+ db 65, 80, 40, 75, 45, 80
+ ; hp atk def spd sat sdf
+
+ db BUG, POISON
+ db 45 ; catch rate
+ db 159 ; base exp
+ db NO_ITEM ; item 1
+ db POISON_BARB ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 15 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn INSECT, INSECT ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SWIFT, REST, ATTRACT, FURY_CUTTER, CUT
+ ; end
diff --git a/data/base_stats/bellossom.asm b/data/base_stats/bellossom.asm
new file mode 100644
index 000000000..0dde920c8
--- /dev/null
+++ b/data/base_stats/bellossom.asm
@@ -0,0 +1,22 @@
+ db BELLOSSOM ; 182
+
+ db 75, 80, 85, 50, 90, 100
+ ; hp atk def spd sat sdf
+
+ db GRASS, GRASS
+ db 45 ; catch rate
+ db 184 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn PLANT, PLANT ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, CUT, FLASH
+ ; end
diff --git a/data/base_stats/bellsprout.asm b/data/base_stats/bellsprout.asm
new file mode 100644
index 000000000..d8f6c6c13
--- /dev/null
+++ b/data/base_stats/bellsprout.asm
@@ -0,0 +1,22 @@
+ db BELLSPROUT ; 069
+
+ db 50, 75, 35, 40, 70, 30
+ ; hp atk def spd sat sdf
+
+ db GRASS, POISON
+ db 255 ; catch rate
+ db 84 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn PLANT, PLANT ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
+ ; end
diff --git a/data/base_stats/blastoise.asm b/data/base_stats/blastoise.asm
new file mode 100644
index 000000000..122e4c65b
--- /dev/null
+++ b/data/base_stats/blastoise.asm
@@ -0,0 +1,22 @@
+ db BLASTOISE ; 009
+
+ db 79, 83, 100, 78, 85, 105
+ ; hp atk def spd sat sdf
+
+ db WATER, WATER
+ db 45 ; catch rate
+ db 210 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn MONSTER, AMPHIBIAN ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/blissey.asm b/data/base_stats/blissey.asm
new file mode 100644
index 000000000..39542bc1e
--- /dev/null
+++ b/data/base_stats/blissey.asm
@@ -0,0 +1,22 @@
+ db BLISSEY ; 242
+
+ db 255, 10, 10, 55, 75, 135
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 30 ; catch rate
+ db 255 ; base exp
+ db NO_ITEM ; item 1
+ db LUCKY_EGG ; item 2
+ db 254 ; gender
+ db 100 ; unknown
+ db 40 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db SLOW ; growth rate
+ dn FAIRY, FAIRY ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, DREAM_EATER, REST, ATTRACT, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/bulbasaur.asm b/data/base_stats/bulbasaur.asm
new file mode 100644
index 000000000..70a264a60
--- /dev/null
+++ b/data/base_stats/bulbasaur.asm
@@ -0,0 +1,22 @@
+ db BULBASAUR ; 001
+
+ db 45, 49, 49, 45, 65, 65
+ ; hp atk def spd sat sdf
+
+ db GRASS, POISON
+ db 45 ; catch rate
+ db 64 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn MONSTER, PLANT ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FURY_CUTTER, CUT, FLASH
+ ; end
diff --git a/data/base_stats/butterfree.asm b/data/base_stats/butterfree.asm
new file mode 100644
index 000000000..80f288967
--- /dev/null
+++ b/data/base_stats/butterfree.asm
@@ -0,0 +1,22 @@
+ db BUTTERFREE ; 012
+
+ db 60, 45, 50, 70, 80, 80
+ ; hp atk def spd sat sdf
+
+ db BUG, FLYING
+ db 45 ; catch rate
+ db 160 ; base exp
+ db NO_ITEM ; item 1
+ db SILVERPOWDER ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 15 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn INSECT, INSECT ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, NIGHTMARE, FLASH
+ ; end
diff --git a/data/base_stats/caterpie.asm b/data/base_stats/caterpie.asm
new file mode 100644
index 000000000..ebaee52f1
--- /dev/null
+++ b/data/base_stats/caterpie.asm
@@ -0,0 +1,22 @@
+ db CATERPIE ; 010
+
+ db 45, 30, 35, 45, 20, 20
+ ; hp atk def spd sat sdf
+
+ db BUG, BUG
+ db 255 ; catch rate
+ db 53 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 15 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn INSECT, INSECT ; egg groups
+
+ ; tmhm
+ tmhm
+ ; end
diff --git a/data/base_stats/celebi.asm b/data/base_stats/celebi.asm
new file mode 100644
index 000000000..29f61843f
--- /dev/null
+++ b/data/base_stats/celebi.asm
@@ -0,0 +1,22 @@
+ db CELEBI ; 251
+
+ db 100, 100, 100, 100, 100, 100
+ ; hp atk def spd sat sdf
+
+ db PSYCHIC, GRASS
+ db 45 ; catch rate
+ db 64 ; base exp
+ db NO_ITEM ; item 1
+ db MIRACLEBERRY ; item 2
+ db 255 ; gender
+ db 100 ; unknown
+ db 120 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5 , 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn NO_EGGS, NO_EGGS ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, NIGHTMARE, FLASH
+ ; end
diff --git a/data/base_stats/chansey.asm b/data/base_stats/chansey.asm
new file mode 100644
index 000000000..e4037d41d
--- /dev/null
+++ b/data/base_stats/chansey.asm
@@ -0,0 +1,22 @@
+ db CHANSEY ; 113
+
+ db 250, 05, 05, 50, 35, 105
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 30 ; catch rate
+ db 255 ; base exp
+ db NO_ITEM ; item 1
+ db LUCKY_EGG ; item 2
+ db 254 ; gender
+ db 100 ; unknown
+ db 40 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db SLOW ; growth rate
+ dn FAIRY, FAIRY ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, DREAM_EATER, REST, ATTRACT, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/charizard.asm b/data/base_stats/charizard.asm
new file mode 100644
index 000000000..522d213e4
--- /dev/null
+++ b/data/base_stats/charizard.asm
@@ -0,0 +1,22 @@
+ db CHARIZARD ; 006
+
+ db 78, 84, 78, 100, 109, 85
+ ; hp atk def spd sat sdf
+
+ db FIRE, FLYING
+ db 45 ; catch rate
+ db 209 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn MONSTER, REPTILE ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DEFENSE_CURL, REST, ATTRACT, STEEL_WING, FIRE_PUNCH, FURY_CUTTER, CUT, FLY, STRENGTH, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/charmander.asm b/data/base_stats/charmander.asm
new file mode 100644
index 000000000..34c14cb81
--- /dev/null
+++ b/data/base_stats/charmander.asm
@@ -0,0 +1,22 @@
+ db CHARMANDER ; 004
+
+ db 39, 52, 43, 65, 60, 50
+ ; hp atk def spd sat sdf
+
+ db FIRE, FIRE
+ db 45 ; catch rate
+ db 65 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn MONSTER, REPTILE ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/charmeleon.asm b/data/base_stats/charmeleon.asm
new file mode 100644
index 000000000..5c7794cdd
--- /dev/null
+++ b/data/base_stats/charmeleon.asm
@@ -0,0 +1,22 @@
+ db CHARMELEON ; 005
+
+ db 58, 64, 58, 80, 80, 65
+ ; hp atk def spd sat sdf
+
+ db FIRE, FIRE
+ db 45 ; catch rate
+ db 142 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn MONSTER, REPTILE ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/chikorita.asm b/data/base_stats/chikorita.asm
new file mode 100644
index 000000000..c572e8667
--- /dev/null
+++ b/data/base_stats/chikorita.asm
@@ -0,0 +1,22 @@
+ db CHIKORITA ; 152
+
+ db 45, 49, 65, 45, 49, 65
+ ; hp atk def spd sat sdf
+
+ db GRASS, GRASS
+ db 45 ; catch rate
+ db 64 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn MONSTER, PLANT ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, CUT, FLASH
+ ; end
diff --git a/data/base_stats/chinchou.asm b/data/base_stats/chinchou.asm
new file mode 100644
index 000000000..522671554
--- /dev/null
+++ b/data/base_stats/chinchou.asm
@@ -0,0 +1,22 @@
+ db CHINCHOU ; 170
+
+ db 75, 38, 38, 67, 56, 56
+ ; hp atk def spd sat sdf
+
+ db WATER, ELECTRIC
+ db 190 ; catch rate
+ db 90 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn FISH, FISH ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, SURF, FLASH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/clefable.asm b/data/base_stats/clefable.asm
new file mode 100644
index 000000000..693050b00
--- /dev/null
+++ b/data/base_stats/clefable.asm
@@ -0,0 +1,22 @@
+ db CLEFABLE ; 036
+
+ db 95, 70, 73, 60, 85, 90
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 25 ; catch rate
+ db 129 ; base exp
+ db MYSTERYBERRY ; item 1
+ db MOON_STONE ; item 2
+ db 191 ; gender
+ db 100 ; unknown
+ db 10 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db SLOW ; growth rate
+ dn FAIRY, FAIRY ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/clefairy.asm b/data/base_stats/clefairy.asm
new file mode 100644
index 000000000..3d2582ca2
--- /dev/null
+++ b/data/base_stats/clefairy.asm
@@ -0,0 +1,22 @@
+ db CLEFAIRY ; 035
+
+ db 70, 45, 48, 35, 60, 65
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 150 ; catch rate
+ db 68 ; base exp
+ db MYSTERYBERRY ; item 1
+ db MOON_STONE ; item 2
+ db 191 ; gender
+ db 100 ; unknown
+ db 10 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db SLOW ; growth rate
+ dn FAIRY, FAIRY ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/cleffa.asm b/data/base_stats/cleffa.asm
new file mode 100644
index 000000000..f0afdd4fd
--- /dev/null
+++ b/data/base_stats/cleffa.asm
@@ -0,0 +1,22 @@
+ db CLEFFA ; 173
+
+ db 50, 25, 28, 15, 45, 55
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 150 ; catch rate
+ db 37 ; base exp
+ db MYSTERYBERRY ; item 1
+ db MOON_STONE ; item 2
+ db 191 ; gender
+ db 100 ; unknown
+ db 10 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db SLOW ; growth rate
+ dn NO_EGGS, NO_EGGS ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, NIGHTMARE, FLASH, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/cloyster.asm b/data/base_stats/cloyster.asm
new file mode 100644
index 000000000..1a433253b
--- /dev/null
+++ b/data/base_stats/cloyster.asm
@@ -0,0 +1,22 @@
+ db CLOYSTER ; 091
+
+ db 50, 95, 180, 70, 85, 45
+ ; hp atk def spd sat sdf
+
+ db WATER, ICE
+ db 60 ; catch rate
+ db 203 ; base exp
+ db PEARL ; item 1
+ db BIG_PEARL ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn INVERTEBRATE, INVERTEBRATE ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/corsola.asm b/data/base_stats/corsola.asm
new file mode 100644
index 000000000..660e9efcc
--- /dev/null
+++ b/data/base_stats/corsola.asm
@@ -0,0 +1,22 @@
+ db CORSOLA ; 222
+
+ db 55, 55, 85, 35, 65, 85
+ ; hp atk def spd sat sdf
+
+ db WATER, ROCK
+ db 60 ; catch rate
+ db 113 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 191 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db SLOW ; growth rate
+ dn AMPHIBIAN, INVERTEBRATE ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/crobat.asm b/data/base_stats/crobat.asm
new file mode 100644
index 000000000..c2e9b310d
--- /dev/null
+++ b/data/base_stats/crobat.asm
@@ -0,0 +1,22 @@
+ db CROBAT ; 169
+
+ db 85, 90, 80, 130, 70, 80
+ ; hp atk def spd sat sdf
+
+ db POISON, FLYING
+ db 90 ; catch rate
+ db 204 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 15 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AVIAN, AVIAN ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY
+ ; end
diff --git a/data/base_stats/croconaw.asm b/data/base_stats/croconaw.asm
new file mode 100644
index 000000000..ce22048e1
--- /dev/null
+++ b/data/base_stats/croconaw.asm
@@ -0,0 +1,22 @@
+ db CROCONAW ; 159
+
+ db 65, 80, 80, 58, 59, 63
+ ; hp atk def spd sat sdf
+
+ db WATER, WATER
+ db 45 ; catch rate
+ db 143 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn MONSTER, AMPHIBIAN ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/cubone.asm b/data/base_stats/cubone.asm
new file mode 100644
index 000000000..9a87a8a65
--- /dev/null
+++ b/data/base_stats/cubone.asm
@@ -0,0 +1,22 @@
+ db CUBONE ; 104
+
+ db 50, 50, 95, 35, 40, 50
+ ; hp atk def spd sat sdf
+
+ db GROUND, GROUND
+ db 190 ; catch rate
+ db 87 ; base exp
+ db NO_ITEM ; item 1
+ db THICK_CLUB ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn MONSTER, MONSTER ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER, ICE_BEAM
+ ; end
diff --git a/data/base_stats/cyndaquil.asm b/data/base_stats/cyndaquil.asm
new file mode 100644
index 000000000..d6a9f865b
--- /dev/null
+++ b/data/base_stats/cyndaquil.asm
@@ -0,0 +1,22 @@
+ db CYNDAQUIL ; 155
+
+ db 39, 52, 43, 65, 60, 50
+ ; hp atk def spd sat sdf
+
+ db FIRE, FIRE
+ db 45 ; catch rate
+ db 65 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, CUT, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/delibird.asm b/data/base_stats/delibird.asm
new file mode 100644
index 000000000..0c14cfe74
--- /dev/null
+++ b/data/base_stats/delibird.asm
@@ -0,0 +1,22 @@
+ db DELIBIRD ; 225
+
+ db 45, 55, 45, 75, 65, 45
+ ; hp atk def spd sat sdf
+
+ db ICE, FLYING
+ db 45 ; catch rate
+ db 183 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db SLOW ; growth rate
+ dn AMPHIBIAN, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, FLY, ICE_BEAM
+ ; end
diff --git a/data/base_stats/dewgong.asm b/data/base_stats/dewgong.asm
new file mode 100644
index 000000000..19135700d
--- /dev/null
+++ b/data/base_stats/dewgong.asm
@@ -0,0 +1,22 @@
+ db DEWGONG ; 087
+
+ db 90, 70, 80, 70, 70, 95
+ ; hp atk def spd sat sdf
+
+ db WATER, ICE
+ db 75 ; catch rate
+ db 176 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AMPHIBIAN, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/diglett.asm b/data/base_stats/diglett.asm
new file mode 100644
index 000000000..3bcc864e0
--- /dev/null
+++ b/data/base_stats/diglett.asm
@@ -0,0 +1,22 @@
+ db DIGLETT ; 050
+
+ db 10, 55, 25, 95, 35, 45
+ ; hp atk def spd sat sdf
+
+ db GROUND, GROUND
+ db 255 ; catch rate
+ db 81 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, CUT
+ ; end
diff --git a/data/base_stats/ditto.asm b/data/base_stats/ditto.asm
new file mode 100644
index 000000000..fda952a08
--- /dev/null
+++ b/data/base_stats/ditto.asm
@@ -0,0 +1,22 @@
+ db DITTO ; 132
+
+ db 48, 48, 48, 48, 48, 48
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 35 ; catch rate
+ db 61 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 255 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn LADIES_MAN, LADIES_MAN ; egg groups
+
+ ; tmhm
+ tmhm
+ ; end
diff --git a/data/base_stats/dodrio.asm b/data/base_stats/dodrio.asm
new file mode 100644
index 000000000..5530f780e
--- /dev/null
+++ b/data/base_stats/dodrio.asm
@@ -0,0 +1,22 @@
+ db DODRIO ; 085
+
+ db 60, 110, 70, 100, 60, 60
+ ; hp atk def spd sat sdf
+
+ db NORMAL, FLYING
+ db 45 ; catch rate
+ db 158 ; base exp
+ db NO_ITEM ; item 1
+ db SHARP_BEAK ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AVIAN, AVIAN ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, THIEF, STEEL_WING, FLY
+ ; end
diff --git a/data/base_stats/doduo.asm b/data/base_stats/doduo.asm
new file mode 100644
index 000000000..554bb5dba
--- /dev/null
+++ b/data/base_stats/doduo.asm
@@ -0,0 +1,22 @@
+ db DODUO ; 084
+
+ db 35, 85, 45, 75, 35, 35
+ ; hp atk def spd sat sdf
+
+ db NORMAL, FLYING
+ db 190 ; catch rate
+ db 96 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AVIAN, AVIAN ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, THIEF, STEEL_WING, FLY
+ ; end
diff --git a/data/base_stats/donphan.asm b/data/base_stats/donphan.asm
new file mode 100644
index 000000000..28517d41d
--- /dev/null
+++ b/data/base_stats/donphan.asm
@@ -0,0 +1,22 @@
+ db DONPHAN ; 232
+
+ db 90, 120, 120, 50, 60, 60
+ ; hp atk def spd sat sdf
+
+ db GROUND, GROUND
+ db 60 ; catch rate
+ db 189 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, STRENGTH
+ ; end
diff --git a/data/base_stats/dragonair.asm b/data/base_stats/dragonair.asm
new file mode 100644
index 000000000..0361669c5
--- /dev/null
+++ b/data/base_stats/dragonair.asm
@@ -0,0 +1,22 @@
+ db DRAGONAIR ; 148
+
+ db 61, 84, 65, 70, 70, 70
+ ; hp atk def spd sat sdf
+
+ db DRAGON, DRAGON
+ db 45 ; catch rate
+ db 144 ; base exp
+ db NO_ITEM ; item 1
+ db DRAGON_SCALE ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 40 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn AMPHIBIAN, REPTILE ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DETECT, REST, ATTRACT, SURF, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/dragonite.asm b/data/base_stats/dragonite.asm
new file mode 100644
index 000000000..d2b9eb88d
--- /dev/null
+++ b/data/base_stats/dragonite.asm
@@ -0,0 +1,22 @@
+ db DRAGONITE ; 149
+
+ db 91, 134, 95, 80, 100, 100
+ ; hp atk def spd sat sdf
+
+ db DRAGON, FLYING
+ db 45 ; catch rate
+ db 218 ; base exp
+ db NO_ITEM ; item 1
+ db DRAGON_SCALE ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 40 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn AMPHIBIAN, REPTILE ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, THUNDERPUNCH, DETECT, REST, ATTRACT, STEEL_WING, FIRE_PUNCH, FURY_CUTTER, FLY, SURF, STRENGTH, WHIRLPOOL, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/dratini.asm b/data/base_stats/dratini.asm
new file mode 100644
index 000000000..a4ce9ee1a
--- /dev/null
+++ b/data/base_stats/dratini.asm
@@ -0,0 +1,22 @@
+ db DRATINI ; 147
+
+ db 41, 64, 45, 50, 50, 50
+ ; hp atk def spd sat sdf
+
+ db DRAGON, DRAGON
+ db 45 ; catch rate
+ db 67 ; base exp
+ db NO_ITEM ; item 1
+ db DRAGON_SCALE ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 40 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn AMPHIBIAN, REPTILE ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DETECT, REST, ATTRACT, SURF, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/drowzee.asm b/data/base_stats/drowzee.asm
new file mode 100644
index 000000000..31b6da7e8
--- /dev/null
+++ b/data/base_stats/drowzee.asm
@@ -0,0 +1,22 @@
+ db DROWZEE ; 096
+
+ db 60, 48, 45, 42, 43, 90
+ ; hp atk def spd sat sdf
+
+ db PSYCHIC, PSYCHIC
+ db 190 ; catch rate
+ db 102 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, FLASH
+ ; end
diff --git a/data/base_stats/dugtrio.asm b/data/base_stats/dugtrio.asm
new file mode 100644
index 000000000..4a6073655
--- /dev/null
+++ b/data/base_stats/dugtrio.asm
@@ -0,0 +1,22 @@
+ db DUGTRIO ; 051
+
+ db 35, 80, 50, 120, 50, 70
+ ; hp atk def spd sat sdf
+
+ db GROUND, GROUND
+ db 50 ; catch rate
+ db 153 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, CUT
+ ; end
diff --git a/data/base_stats/dunsparce.asm b/data/base_stats/dunsparce.asm
new file mode 100644
index 000000000..6ba6fc527
--- /dev/null
+++ b/data/base_stats/dunsparce.asm
@@ -0,0 +1,22 @@
+ db DUNSPARCE ; 206
+
+ db 100, 70, 70, 45, 65, 65
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 190 ; catch rate
+ db 75 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, FLAMETHROWER, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/eevee.asm b/data/base_stats/eevee.asm
new file mode 100644
index 000000000..b13c544b0
--- /dev/null
+++ b/data/base_stats/eevee.asm
@@ -0,0 +1,22 @@
+ db EEVEE ; 133
+
+ db 55, 55, 50, 55, 45, 65
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 45 ; catch rate
+ db 92 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 35 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT
+ ; end
diff --git a/data/base_stats/ekans.asm b/data/base_stats/ekans.asm
new file mode 100644
index 000000000..81ee35558
--- /dev/null
+++ b/data/base_stats/ekans.asm
@@ -0,0 +1,22 @@
+ db EKANS ; 023
+
+ db 35, 60, 44, 55, 40, 54
+ ; hp atk def spd sat sdf
+
+ db POISON, POISON
+ db 255 ; catch rate
+ db 62 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, REPTILE ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, STRENGTH
+ ; end
diff --git a/data/base_stats/electabuzz.asm b/data/base_stats/electabuzz.asm
new file mode 100644
index 000000000..e584527e8
--- /dev/null
+++ b/data/base_stats/electabuzz.asm
@@ -0,0 +1,22 @@
+ db ELECTABUZZ ; 125
+
+ db 65, 83, 57, 105, 95, 85
+ ; hp atk def spd sat sdf
+
+ db ELECTRIC, ELECTRIC
+ db 45 ; catch rate
+ db 156 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 63 ; gender
+ db 100 ; unknown
+ db 25 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLASH, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/electrode.asm b/data/base_stats/electrode.asm
new file mode 100644
index 000000000..771780a7f
--- /dev/null
+++ b/data/base_stats/electrode.asm
@@ -0,0 +1,22 @@
+ db ELECTRODE ; 101
+
+ db 60, 50, 70, 140, 80, 80
+ ; hp atk def spd sat sdf
+
+ db ELECTRIC, ELECTRIC
+ db 60 ; catch rate
+ db 150 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 255 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn INANIMATE, INANIMATE ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, FLASH, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/elekid.asm b/data/base_stats/elekid.asm
new file mode 100644
index 000000000..c0d30fcdf
--- /dev/null
+++ b/data/base_stats/elekid.asm
@@ -0,0 +1,22 @@
+ db ELEKID ; 239
+
+ db 45, 63, 37, 95, 65, 55
+ ; hp atk def spd sat sdf
+
+ db ELECTRIC, ELECTRIC
+ db 45 ; catch rate
+ db 106 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 63 ; gender
+ db 100 ; unknown
+ db 25 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn NO_EGGS, NO_EGGS ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FLASH, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/entei.asm b/data/base_stats/entei.asm
new file mode 100644
index 000000000..24dc4e69b
--- /dev/null
+++ b/data/base_stats/entei.asm
@@ -0,0 +1,22 @@
+ db ENTEI ; 244
+
+ db 115, 115, 85, 100, 90, 75
+ ; hp atk def spd sat sdf
+
+ db FIRE, FIRE
+ db 3 ; catch rate
+ db 217 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 255 ; gender
+ db 100 ; unknown
+ db 80 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn NO_EGGS, NO_EGGS ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DETECT, REST, CUT, STRENGTH, FLASH, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/espeon.asm b/data/base_stats/espeon.asm
new file mode 100644
index 000000000..33f50bfb6
--- /dev/null
+++ b/data/base_stats/espeon.asm
@@ -0,0 +1,22 @@
+ db ESPEON ; 196
+
+ db 65, 65, 60, 110, 130, 95
+ ; hp atk def spd sat sdf
+
+ db PSYCHIC, PSYCHIC
+ db 45 ; catch rate
+ db 197 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 35 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, NIGHTMARE, CUT, FLASH
+ ; end
diff --git a/data/base_stats/exeggcute.asm b/data/base_stats/exeggcute.asm
new file mode 100644
index 000000000..a83114771
--- /dev/null
+++ b/data/base_stats/exeggcute.asm
@@ -0,0 +1,22 @@
+ db EXEGGCUTE ; 102
+
+ db 60, 40, 80, 40, 60, 45
+ ; hp atk def spd sat sdf
+
+ db GRASS, PSYCHIC
+ db 90 ; catch rate
+ db 98 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn PLANT, PLANT ; egg groups
+
+ ; tmhm
+ tmhm CURSE, ROLLOUT, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, FLASH
+ ; end
diff --git a/data/base_stats/exeggutor.asm b/data/base_stats/exeggutor.asm
new file mode 100644
index 000000000..dcb07df7b
--- /dev/null
+++ b/data/base_stats/exeggutor.asm
@@ -0,0 +1,22 @@
+ db EXEGGUTOR ; 103
+
+ db 95, 95, 85, 55, 125, 65
+ ; hp atk def spd sat sdf
+
+ db GRASS, PSYCHIC
+ db 45 ; catch rate
+ db 212 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn PLANT, PLANT ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, FLASH
+ ; end
diff --git a/data/base_stats/farfetch_d.asm b/data/base_stats/farfetch_d.asm
new file mode 100644
index 000000000..55c12ffcc
--- /dev/null
+++ b/data/base_stats/farfetch_d.asm
@@ -0,0 +1,22 @@
+ db FARFETCH_D ; 083
+
+ db 52, 65, 55, 60, 58, 62
+ ; hp atk def spd sat sdf
+
+ db NORMAL, FLYING
+ db 45 ; catch rate
+ db 94 ; base exp
+ db NO_ITEM ; item 1
+ db STICK ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AVIAN, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, CUT, FLY
+ ; end
diff --git a/data/base_stats/fearow.asm b/data/base_stats/fearow.asm
new file mode 100644
index 000000000..2d6af3436
--- /dev/null
+++ b/data/base_stats/fearow.asm
@@ -0,0 +1,22 @@
+ db FEAROW ; 022
+
+ db 65, 90, 65, 100, 61, 61
+ ; hp atk def spd sat sdf
+
+ db NORMAL, FLYING
+ db 90 ; catch rate
+ db 162 ; base exp
+ db NO_ITEM ; item 1
+ db SHARP_BEAK ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 15 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AVIAN, AVIAN ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY
+ ; end
diff --git a/data/base_stats/feraligatr.asm b/data/base_stats/feraligatr.asm
new file mode 100644
index 000000000..78263e349
--- /dev/null
+++ b/data/base_stats/feraligatr.asm
@@ -0,0 +1,22 @@
+ db FERALIGATR ; 160
+
+ db 85, 105, 100, 78, 79, 83
+ ; hp atk def spd sat sdf
+
+ db WATER, WATER
+ db 45 ; catch rate
+ db 210 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn MONSTER, AMPHIBIAN ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/flaaffy.asm b/data/base_stats/flaaffy.asm
new file mode 100644
index 000000000..9ac1d8e00
--- /dev/null
+++ b/data/base_stats/flaaffy.asm
@@ -0,0 +1,22 @@
+ db FLAAFFY ; 180
+
+ db 70, 55, 55, 45, 80, 60
+ ; hp atk def spd sat sdf
+
+ db ELECTRIC, ELECTRIC
+ db 120 ; catch rate
+ db 117 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn MONSTER, FIELD ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, STRENGTH, FLASH, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/flareon.asm b/data/base_stats/flareon.asm
new file mode 100644
index 000000000..3c0312d19
--- /dev/null
+++ b/data/base_stats/flareon.asm
@@ -0,0 +1,22 @@
+ db FLAREON ; 136
+
+ db 65, 130, 60, 65, 95, 110
+ ; hp atk def spd sat sdf
+
+ db FIRE, FIRE
+ db 45 ; catch rate
+ db 198 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 35 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DETECT, REST, ATTRACT, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/forretress.asm b/data/base_stats/forretress.asm
new file mode 100644
index 000000000..9a8e56e84
--- /dev/null
+++ b/data/base_stats/forretress.asm
@@ -0,0 +1,22 @@
+ db FORRETRESS ; 205
+
+ db 75, 90, 140, 40, 60, 60
+ ; hp atk def spd sat sdf
+
+ db BUG, STEEL
+ db 75 ; catch rate
+ db 118 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn INSECT, INSECT ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, STRENGTH
+ ; end
diff --git a/data/base_stats/furret.asm b/data/base_stats/furret.asm
new file mode 100644
index 000000000..2344f62d6
--- /dev/null
+++ b/data/base_stats/furret.asm
@@ -0,0 +1,22 @@
+ db FURRET ; 162
+
+ db 85, 76, 64, 90, 45, 55
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 90 ; catch rate
+ db 116 ; base exp
+ db BERRY ; item 1
+ db GOLD_BERRY ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 15 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, CUT, SURF, STRENGTH
+ ; end
diff --git a/data/base_stats/gastly.asm b/data/base_stats/gastly.asm
new file mode 100644
index 000000000..69cf1bad5
--- /dev/null
+++ b/data/base_stats/gastly.asm
@@ -0,0 +1,22 @@
+ db GASTLY ; 092
+
+ db 30, 35, 30, 80, 100, 35
+ ; hp atk def spd sat sdf
+
+ db GHOST, POISON
+ db 190 ; catch rate
+ db 95 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn AMORPHOUS, AMORPHOUS ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/gengar.asm b/data/base_stats/gengar.asm
new file mode 100644
index 000000000..6659adfc3
--- /dev/null
+++ b/data/base_stats/gengar.asm
@@ -0,0 +1,22 @@
+ db GENGAR ; 094
+
+ db 60, 65, 60, 110, 130, 75
+ ; hp atk def spd sat sdf
+
+ db GHOST, POISON
+ db 45 ; catch rate
+ db 190 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn AMORPHOUS, AMORPHOUS ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, STRENGTH, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/geodude.asm b/data/base_stats/geodude.asm
new file mode 100644
index 000000000..030e56477
--- /dev/null
+++ b/data/base_stats/geodude.asm
@@ -0,0 +1,22 @@
+ db GEODUDE ; 074
+
+ db 40, 80, 100, 20, 30, 30
+ ; hp atk def spd sat sdf
+
+ db ROCK, GROUND
+ db 255 ; catch rate
+ db 86 ; base exp
+ db NO_ITEM ; item 1
+ db EVERSTONE ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 15 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn INANIMATE, INANIMATE ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, STRENGTH, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/girafarig.asm b/data/base_stats/girafarig.asm
new file mode 100644
index 000000000..0b114eff5
--- /dev/null
+++ b/data/base_stats/girafarig.asm
@@ -0,0 +1,22 @@
+ db GIRAFARIG ; 203
+
+ db 70, 80, 65, 85, 90, 65
+ ; hp atk def spd sat sdf
+
+ db NORMAL, PSYCHIC
+ db 60 ; catch rate
+ db 149 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/gligar.asm b/data/base_stats/gligar.asm
new file mode 100644
index 000000000..527f022a1
--- /dev/null
+++ b/data/base_stats/gligar.asm
@@ -0,0 +1,22 @@
+ db GLIGAR ; 207
+
+ db 65, 75, 105, 85, 35, 65
+ ; hp atk def spd sat sdf
+
+ db GROUND, FLYING
+ db 60 ; catch rate
+ db 108 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn INSECT, INSECT ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, SWIFT, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH
+ ; end
diff --git a/data/base_stats/gloom.asm b/data/base_stats/gloom.asm
new file mode 100644
index 000000000..f0238e12f
--- /dev/null
+++ b/data/base_stats/gloom.asm
@@ -0,0 +1,22 @@
+ db GLOOM ; 044
+
+ db 60, 65, 70, 40, 85, 75
+ ; hp atk def spd sat sdf
+
+ db GRASS, POISON
+ db 120 ; catch rate
+ db 132 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn PLANT, PLANT ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
+ ; end
diff --git a/data/base_stats/golbat.asm b/data/base_stats/golbat.asm
new file mode 100644
index 000000000..7f0552c23
--- /dev/null
+++ b/data/base_stats/golbat.asm
@@ -0,0 +1,22 @@
+ db GOLBAT ; 042
+
+ db 75, 80, 70, 90, 65, 75
+ ; hp atk def spd sat sdf
+
+ db POISON, FLYING
+ db 90 ; catch rate
+ db 171 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 15 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AVIAN, AVIAN ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING
+ ; end
diff --git a/data/base_stats/goldeen.asm b/data/base_stats/goldeen.asm
new file mode 100644
index 000000000..81dfed80e
--- /dev/null
+++ b/data/base_stats/goldeen.asm
@@ -0,0 +1,22 @@
+ db GOLDEEN ; 118
+
+ db 45, 67, 60, 63, 35, 50
+ ; hp atk def spd sat sdf
+
+ db WATER, WATER
+ db 225 ; catch rate
+ db 111 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FISH, FISH ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WATERFALL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/golduck.asm b/data/base_stats/golduck.asm
new file mode 100644
index 000000000..bced4b43d
--- /dev/null
+++ b/data/base_stats/golduck.asm
@@ -0,0 +1,22 @@
+ db GOLDUCK ; 055
+
+ db 80, 82, 78, 85, 95, 80
+ ; hp atk def spd sat sdf
+
+ db WATER, WATER
+ db 75 ; catch rate
+ db 174 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AMPHIBIAN, FIELD ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, FURY_CUTTER, SURF, STRENGTH, FLASH, WHIRLPOOL, WATERFALL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/golem.asm b/data/base_stats/golem.asm
new file mode 100644
index 000000000..d27186c20
--- /dev/null
+++ b/data/base_stats/golem.asm
@@ -0,0 +1,22 @@
+ db GOLEM ; 076
+
+ db 80, 110, 130, 45, 55, 65
+ ; hp atk def spd sat sdf
+
+ db ROCK, GROUND
+ db 45 ; catch rate
+ db 177 ; base exp
+ db NO_ITEM ; item 1
+ db EVERSTONE ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 15 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn INANIMATE, INANIMATE ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, STRENGTH, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/granbull.asm b/data/base_stats/granbull.asm
new file mode 100644
index 000000000..2a9e4728c
--- /dev/null
+++ b/data/base_stats/granbull.asm
@@ -0,0 +1,22 @@
+ db GRANBULL ; 210
+
+ db 90, 120, 75, 45, 60, 60
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 75 ; catch rate
+ db 178 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 191 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db SLOW ; growth rate
+ dn FIELD, FAIRY ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/graveler.asm b/data/base_stats/graveler.asm
new file mode 100644
index 000000000..834a1c97b
--- /dev/null
+++ b/data/base_stats/graveler.asm
@@ -0,0 +1,22 @@
+ db GRAVELER ; 075
+
+ db 55, 95, 115, 35, 45, 45
+ ; hp atk def spd sat sdf
+
+ db ROCK, GROUND
+ db 120 ; catch rate
+ db 134 ; base exp
+ db NO_ITEM ; item 1
+ db EVERSTONE ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 15 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn INANIMATE, INANIMATE ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, STRENGTH, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/grimer.asm b/data/base_stats/grimer.asm
new file mode 100644
index 000000000..2b289ede9
--- /dev/null
+++ b/data/base_stats/grimer.asm
@@ -0,0 +1,22 @@
+ db GRIMER ; 088
+
+ db 80, 80, 50, 25, 40, 50
+ ; hp atk def spd sat sdf
+
+ db POISON, POISON
+ db 190 ; catch rate
+ db 90 ; base exp
+ db NO_ITEM ; item 1
+ db NUGGET ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AMORPHOUS, AMORPHOUS ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, FLAMETHROWER, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/growlithe.asm b/data/base_stats/growlithe.asm
new file mode 100644
index 000000000..1298bd07d
--- /dev/null
+++ b/data/base_stats/growlithe.asm
@@ -0,0 +1,22 @@
+ db GROWLITHE ; 058
+
+ db 55, 70, 45, 60, 70, 50
+ ; hp atk def spd sat sdf
+
+ db FIRE, FIRE
+ db 190 ; catch rate
+ db 91 ; base exp
+ db BURNT_BERRY ; item 1
+ db BURNT_BERRY ; item 2
+ db 63 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/gyarados.asm b/data/base_stats/gyarados.asm
new file mode 100644
index 000000000..1af166cdf
--- /dev/null
+++ b/data/base_stats/gyarados.asm
@@ -0,0 +1,22 @@
+ db GYARADOS ; 130
+
+ db 95, 125, 79, 81, 60, 100
+ ; hp atk def spd sat sdf
+
+ db WATER, FLYING
+ db 45 ; catch rate
+ db 214 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 5 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn FISH, REPTILE ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, DRAGONBREATH, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/haunter.asm b/data/base_stats/haunter.asm
new file mode 100644
index 000000000..a75cf79db
--- /dev/null
+++ b/data/base_stats/haunter.asm
@@ -0,0 +1,22 @@
+ db HAUNTER ; 093
+
+ db 45, 50, 45, 95, 115, 55
+ ; hp atk def spd sat sdf
+
+ db GHOST, POISON
+ db 90 ; catch rate
+ db 126 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn AMORPHOUS, AMORPHOUS ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/heracross.asm b/data/base_stats/heracross.asm
new file mode 100644
index 000000000..69520b350
--- /dev/null
+++ b/data/base_stats/heracross.asm
@@ -0,0 +1,22 @@
+ db HERACROSS ; 214
+
+ db 80, 125, 75, 85, 40, 95
+ ; hp atk def spd sat sdf
+
+ db BUG, FIGHTING
+ db 45 ; catch rate
+ db 200 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 25 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn INSECT, INSECT ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH
+ ; end
diff --git a/data/base_stats/hitmonchan.asm b/data/base_stats/hitmonchan.asm
new file mode 100644
index 000000000..7753c3bd1
--- /dev/null
+++ b/data/base_stats/hitmonchan.asm
@@ -0,0 +1,22 @@
+ db HITMONCHAN ; 107
+
+ db 50, 105, 79, 76, 35, 110
+ ; hp atk def spd sat sdf
+
+ db FIGHTING, FIGHTING
+ db 45 ; catch rate
+ db 140 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 0 ; gender
+ db 100 ; unknown
+ db 25 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH
+ ; end
diff --git a/data/base_stats/hitmonlee.asm b/data/base_stats/hitmonlee.asm
new file mode 100644
index 000000000..a2c53ca32
--- /dev/null
+++ b/data/base_stats/hitmonlee.asm
@@ -0,0 +1,22 @@
+ db HITMONLEE ; 106
+
+ db 50, 120, 53, 87, 35, 110
+ ; hp atk def spd sat sdf
+
+ db FIGHTING, FIGHTING
+ db 45 ; catch rate
+ db 139 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 0 ; gender
+ db 100 ; unknown
+ db 25 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STRENGTH
+ ; end
diff --git a/data/base_stats/hitmontop.asm b/data/base_stats/hitmontop.asm
new file mode 100644
index 000000000..af3eb7c88
--- /dev/null
+++ b/data/base_stats/hitmontop.asm
@@ -0,0 +1,22 @@
+ db HITMONTOP ; 237
+
+ db 50, 95, 95, 70, 35, 110
+ ; hp atk def spd sat sdf
+
+ db FIGHTING, FIGHTING
+ db 45 ; catch rate
+ db 138 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 0 ; gender
+ db 100 ; unknown
+ db 25 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STRENGTH
+ ; end
diff --git a/data/base_stats/ho_oh.asm b/data/base_stats/ho_oh.asm
new file mode 100644
index 000000000..fc968b16c
--- /dev/null
+++ b/data/base_stats/ho_oh.asm
@@ -0,0 +1,22 @@
+ db HO_OH ; 250
+
+ db 106, 130, 90, 90, 110, 154
+ ; hp atk def spd sat sdf
+
+ db FIRE, FLYING
+ db 3 ; catch rate
+ db 220 ; base exp
+ db SACRED_ASH ; item 1
+ db SACRED_ASH ; item 2
+ db 255 ; gender
+ db 100 ; unknown
+ db 120 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7 , 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn NO_EGGS, NO_EGGS ; egg groups
+
+ ; tmhm
+ tmhm CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, DRAGONBREATH, THUNDER, EARTHQUAKE, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DREAM_EATER, DETECT, REST, STEEL_WING, NIGHTMARE, FLY, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/hoothoot.asm b/data/base_stats/hoothoot.asm
new file mode 100644
index 000000000..a9574bce8
--- /dev/null
+++ b/data/base_stats/hoothoot.asm
@@ -0,0 +1,22 @@
+ db HOOTHOOT ; 163
+
+ db 60, 30, 30, 50, 36, 56
+ ; hp atk def spd sat sdf
+
+ db NORMAL, FLYING
+ db 255 ; catch rate
+ db 58 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 15 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AVIAN, AVIAN ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, STEEL_WING, NIGHTMARE, FLY, FLASH
+ ; end
diff --git a/data/base_stats/hoppip.asm b/data/base_stats/hoppip.asm
new file mode 100644
index 000000000..2c284096c
--- /dev/null
+++ b/data/base_stats/hoppip.asm
@@ -0,0 +1,22 @@
+ db HOPPIP ; 187
+
+ db 35, 35, 40, 50, 35, 55
+ ; hp atk def spd sat sdf
+
+ db GRASS, FLYING
+ db 255 ; catch rate
+ db 74 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn FAIRY, PLANT ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FLASH
+ ; end
diff --git a/data/base_stats/horsea.asm b/data/base_stats/horsea.asm
new file mode 100644
index 000000000..3339872fe
--- /dev/null
+++ b/data/base_stats/horsea.asm
@@ -0,0 +1,22 @@
+ db HORSEA ; 116
+
+ db 30, 40, 70, 60, 70, 25
+ ; hp atk def spd sat sdf
+
+ db WATER, WATER
+ db 225 ; catch rate
+ db 83 ; base exp
+ db NO_ITEM ; item 1
+ db DRAGON_SCALE ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AMPHIBIAN, REPTILE ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, DRAGONBREATH, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/houndoom.asm b/data/base_stats/houndoom.asm
new file mode 100644
index 000000000..c79b075ed
--- /dev/null
+++ b/data/base_stats/houndoom.asm
@@ -0,0 +1,22 @@
+ db HOUNDOOM ; 229
+
+ db 75, 90, 50, 95, 110, 80
+ ; hp atk def spd sat sdf
+
+ db DARK, FIRE
+ db 45 ; catch rate
+ db 204 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/houndour.asm b/data/base_stats/houndour.asm
new file mode 100644
index 000000000..18cb6884a
--- /dev/null
+++ b/data/base_stats/houndour.asm
@@ -0,0 +1,22 @@
+ db HOUNDOUR ; 228
+
+ db 45, 60, 30, 65, 80, 50
+ ; hp atk def spd sat sdf
+
+ db DARK, FIRE
+ db 120 ; catch rate
+ db 114 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/hypno.asm b/data/base_stats/hypno.asm
new file mode 100644
index 000000000..85dcc73e6
--- /dev/null
+++ b/data/base_stats/hypno.asm
@@ -0,0 +1,22 @@
+ db HYPNO ; 097
+
+ db 85, 73, 70, 67, 73, 115
+ ; hp atk def spd sat sdf
+
+ db PSYCHIC, PSYCHIC
+ db 75 ; catch rate
+ db 165 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, FLASH
+ ; end
diff --git a/data/base_stats/igglybuff.asm b/data/base_stats/igglybuff.asm
new file mode 100644
index 000000000..6e8d42efc
--- /dev/null
+++ b/data/base_stats/igglybuff.asm
@@ -0,0 +1,22 @@
+ db IGGLYBUFF ; 174
+
+ db 90, 30, 15, 15, 40, 20
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 170 ; catch rate
+ db 39 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 191 ; gender
+ db 100 ; unknown
+ db 10 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db SLOW ; growth rate
+ dn NO_EGGS, NO_EGGS ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, NIGHTMARE, FLASH, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/ivysaur.asm b/data/base_stats/ivysaur.asm
new file mode 100644
index 000000000..aebfce677
--- /dev/null
+++ b/data/base_stats/ivysaur.asm
@@ -0,0 +1,22 @@
+ db IVYSAUR ; 002
+
+ db 60, 62, 63, 60, 80, 80
+ ; hp atk def spd sat sdf
+
+ db GRASS, POISON
+ db 45 ; catch rate
+ db 141 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn MONSTER, PLANT ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FURY_CUTTER, CUT, FLASH
+ ; end
diff --git a/data/base_stats/jigglypuff.asm b/data/base_stats/jigglypuff.asm
new file mode 100644
index 000000000..4fe9a75d2
--- /dev/null
+++ b/data/base_stats/jigglypuff.asm
@@ -0,0 +1,22 @@
+ db JIGGLYPUFF ; 039
+
+ db 115, 45, 20, 20, 45, 25
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 170 ; catch rate
+ db 76 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 191 ; gender
+ db 100 ; unknown
+ db 10 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db SLOW ; growth rate
+ dn FAIRY, FAIRY ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/jolteon.asm b/data/base_stats/jolteon.asm
new file mode 100644
index 000000000..060c13a6f
--- /dev/null
+++ b/data/base_stats/jolteon.asm
@@ -0,0 +1,22 @@
+ db JOLTEON ; 135
+
+ db 65, 65, 60, 130, 110, 95
+ ; hp atk def spd sat sdf
+
+ db ELECTRIC, ELECTRIC
+ db 45 ; catch rate
+ db 197 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 35 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, FLASH, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/jumpluff.asm b/data/base_stats/jumpluff.asm
new file mode 100644
index 000000000..948d89ae9
--- /dev/null
+++ b/data/base_stats/jumpluff.asm
@@ -0,0 +1,22 @@
+ db JUMPLUFF ; 189
+
+ db 75, 55, 70, 110, 55, 85
+ ; hp atk def spd sat sdf
+
+ db GRASS, FLYING
+ db 45 ; catch rate
+ db 176 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn FAIRY, PLANT ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FLASH
+ ; end
diff --git a/data/base_stats/jynx.asm b/data/base_stats/jynx.asm
new file mode 100644
index 000000000..23f37107a
--- /dev/null
+++ b/data/base_stats/jynx.asm
@@ -0,0 +1,22 @@
+ db JYNX ; 124
+
+ db 65, 50, 35, 95, 115, 95
+ ; hp atk def spd sat sdf
+
+ db ICE, PSYCHIC
+ db 45 ; catch rate
+ db 137 ; base exp
+ db ICE_BERRY ; item 1
+ db ICE_BERRY ; item 2
+ db 254 ; gender
+ db 100 ; unknown
+ db 25 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SWEET_SCENT, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, ICE_BEAM
+ ; end
diff --git a/data/base_stats/kabuto.asm b/data/base_stats/kabuto.asm
new file mode 100644
index 000000000..036821999
--- /dev/null
+++ b/data/base_stats/kabuto.asm
@@ -0,0 +1,22 @@
+ db KABUTO ; 140
+
+ db 30, 80, 90, 55, 55, 45
+ ; hp atk def spd sat sdf
+
+ db ROCK, WATER
+ db 45 ; catch rate
+ db 119 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 30 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AMPHIBIAN, INVERTEBRATE ; egg groups
+
+ ; tmhm
+ tmhm CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, THIEF, ICE_BEAM
+ ; end
diff --git a/data/base_stats/kabutops.asm b/data/base_stats/kabutops.asm
new file mode 100644
index 000000000..b0cdf9a76
--- /dev/null
+++ b/data/base_stats/kabutops.asm
@@ -0,0 +1,22 @@
+ db KABUTOPS ; 141
+
+ db 60, 115, 105, 80, 65, 70
+ ; hp atk def spd sat sdf
+
+ db ROCK, WATER
+ db 45 ; catch rate
+ db 201 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 30 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AMPHIBIAN, INVERTEBRATE ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, SURF, WHIRLPOOL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/kadabra.asm b/data/base_stats/kadabra.asm
new file mode 100644
index 000000000..0cdf2b74f
--- /dev/null
+++ b/data/base_stats/kadabra.asm
@@ -0,0 +1,22 @@
+ db KADABRA ; 064
+
+ db 40, 35, 30, 105, 120, 70
+ ; hp atk def spd sat sdf
+
+ db PSYCHIC, PSYCHIC
+ db 100 ; catch rate
+ db 145 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 63 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DIG, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, FLASH
+ ; end
diff --git a/data/base_stats/kakuna.asm b/data/base_stats/kakuna.asm
new file mode 100644
index 000000000..c48ad4c6c
--- /dev/null
+++ b/data/base_stats/kakuna.asm
@@ -0,0 +1,22 @@
+ db KAKUNA ; 014
+
+ db 45, 25, 50, 35, 25, 25
+ ; hp atk def spd sat sdf
+
+ db BUG, POISON
+ db 120 ; catch rate
+ db 71 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 15 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn INSECT, INSECT ; egg groups
+
+ ; tmhm
+ tmhm
+ ; end
diff --git a/data/base_stats/kangaskhan.asm b/data/base_stats/kangaskhan.asm
new file mode 100644
index 000000000..1958b1ce3
--- /dev/null
+++ b/data/base_stats/kangaskhan.asm
@@ -0,0 +1,22 @@
+ db KANGASKHAN ; 115
+
+ db 105, 95, 80, 90, 40, 80
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 45 ; catch rate
+ db 175 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 254 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn MONSTER, MONSTER ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/kingdra.asm b/data/base_stats/kingdra.asm
new file mode 100644
index 000000000..ac049ac4a
--- /dev/null
+++ b/data/base_stats/kingdra.asm
@@ -0,0 +1,22 @@
+ db KINGDRA ; 230
+
+ db 75, 95, 95, 85, 95, 95
+ ; hp atk def spd sat sdf
+
+ db WATER, DRAGON
+ db 45 ; catch rate
+ db 207 ; base exp
+ db NO_ITEM ; item 1
+ db DRAGON_SCALE ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AMPHIBIAN, REPTILE ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, DRAGONBREATH, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/kingler.asm b/data/base_stats/kingler.asm
new file mode 100644
index 000000000..bb0e19904
--- /dev/null
+++ b/data/base_stats/kingler.asm
@@ -0,0 +1,22 @@
+ db KINGLER ; 099
+
+ db 55, 130, 115, 75, 50, 50
+ ; hp atk def spd sat sdf
+
+ db WATER, WATER
+ db 60 ; catch rate
+ db 206 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn INVERTEBRATE, INVERTEBRATE ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/koffing.asm b/data/base_stats/koffing.asm
new file mode 100644
index 000000000..9851a985e
--- /dev/null
+++ b/data/base_stats/koffing.asm
@@ -0,0 +1,22 @@
+ db KOFFING ; 109
+
+ db 40, 65, 95, 35, 60, 45
+ ; hp atk def spd sat sdf
+
+ db POISON, POISON
+ db 190 ; catch rate
+ db 114 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AMORPHOUS, AMORPHOUS ; egg groups
+
+ ; tmhm
+ tmhm CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, REST, ATTRACT, THIEF, FLAMETHROWER, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/krabby.asm b/data/base_stats/krabby.asm
new file mode 100644
index 000000000..54ec9eab4
--- /dev/null
+++ b/data/base_stats/krabby.asm
@@ -0,0 +1,22 @@
+ db KRABBY ; 098
+
+ db 30, 105, 90, 50, 25, 25
+ ; hp atk def spd sat sdf
+
+ db WATER, WATER
+ db 225 ; catch rate
+ db 115 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn INVERTEBRATE, INVERTEBRATE ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/lanturn.asm b/data/base_stats/lanturn.asm
new file mode 100644
index 000000000..3c0f47569
--- /dev/null
+++ b/data/base_stats/lanturn.asm
@@ -0,0 +1,22 @@
+ db LANTURN ; 171
+
+ db 125, 58, 58, 67, 76, 76
+ ; hp atk def spd sat sdf
+
+ db WATER, ELECTRIC
+ db 75 ; catch rate
+ db 156 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn FISH, FISH ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, SURF, FLASH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/lapras.asm b/data/base_stats/lapras.asm
new file mode 100644
index 000000000..8ff69c1de
--- /dev/null
+++ b/data/base_stats/lapras.asm
@@ -0,0 +1,22 @@
+ db LAPRAS ; 131
+
+ db 130, 85, 80, 60, 85, 95
+ ; hp atk def spd sat sdf
+
+ db WATER, ICE
+ db 45 ; catch rate
+ db 219 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 40 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn MONSTER, AMPHIBIAN ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, NIGHTMARE, SURF, STRENGTH, WHIRLPOOL, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/larvitar.asm b/data/base_stats/larvitar.asm
new file mode 100644
index 000000000..db4f6a103
--- /dev/null
+++ b/data/base_stats/larvitar.asm
@@ -0,0 +1,22 @@
+ db LARVITAR ; 246
+
+ db 50, 64, 50, 41, 45, 50
+ ; hp atk def spd sat sdf
+
+ db ROCK, GROUND
+ db 45 ; catch rate
+ db 67 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 40 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn MONSTER, MONSTER ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DETECT, REST, ATTRACT
+ ; end
diff --git a/data/base_stats/ledian.asm b/data/base_stats/ledian.asm
new file mode 100644
index 000000000..c4fdb8f06
--- /dev/null
+++ b/data/base_stats/ledian.asm
@@ -0,0 +1,22 @@
+ db LEDIAN ; 166
+
+ db 55, 35, 50, 85, 55, 110
+ ; hp atk def spd sat sdf
+
+ db BUG, FLYING
+ db 90 ; catch rate
+ db 134 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 15 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db SLOW ; growth rate
+ dn INSECT, INSECT ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, REST, ATTRACT, THIEF, FLASH
+ ; end
diff --git a/data/base_stats/ledyba.asm b/data/base_stats/ledyba.asm
new file mode 100644
index 000000000..1f7f82ebf
--- /dev/null
+++ b/data/base_stats/ledyba.asm
@@ -0,0 +1,22 @@
+ db LEDYBA ; 165
+
+ db 40, 20, 30, 55, 40, 80
+ ; hp atk def spd sat sdf
+
+ db BUG, FLYING
+ db 255 ; catch rate
+ db 54 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 15 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db SLOW ; growth rate
+ dn INSECT, INSECT ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, REST, ATTRACT, THIEF, FLASH
+ ; end
diff --git a/data/base_stats/lickitung.asm b/data/base_stats/lickitung.asm
new file mode 100644
index 000000000..14bb7160b
--- /dev/null
+++ b/data/base_stats/lickitung.asm
@@ -0,0 +1,22 @@
+ db LICKITUNG ; 108
+
+ db 90, 55, 75, 30, 60, 75
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 45 ; catch rate
+ db 127 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn MONSTER, MONSTER ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, CUT, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/lugia.asm b/data/base_stats/lugia.asm
new file mode 100644
index 000000000..a6bf1f5c2
--- /dev/null
+++ b/data/base_stats/lugia.asm
@@ -0,0 +1,22 @@
+ db LUGIA ; 249
+
+ db 106, 90, 130, 110, 90, 154
+ ; hp atk def spd sat sdf
+
+ db PSYCHIC, FLYING
+ db 3 ; catch rate
+ db 220 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 255 ; gender
+ db 100 ; unknown
+ db 120 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn NO_EGGS, NO_EGGS ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, EARTHQUAKE, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DREAM_EATER, DETECT, REST, STEEL_WING, NIGHTMARE, FLY, SURF, STRENGTH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/machamp.asm b/data/base_stats/machamp.asm
new file mode 100644
index 000000000..091fe7391
--- /dev/null
+++ b/data/base_stats/machamp.asm
@@ -0,0 +1,22 @@
+ db MACHAMP ; 068
+
+ db 90, 130, 80, 55, 65, 85
+ ; hp atk def spd sat sdf
+
+ db FIGHTING, FIGHTING
+ db 45 ; catch rate
+ db 193 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 63 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/machoke.asm b/data/base_stats/machoke.asm
new file mode 100644
index 000000000..355aee6d8
--- /dev/null
+++ b/data/base_stats/machoke.asm
@@ -0,0 +1,22 @@
+ db MACHOKE ; 067
+
+ db 80, 100, 70, 45, 50, 60
+ ; hp atk def spd sat sdf
+
+ db FIGHTING, FIGHTING
+ db 90 ; catch rate
+ db 146 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 63 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/machop.asm b/data/base_stats/machop.asm
new file mode 100644
index 000000000..60f0ae04a
--- /dev/null
+++ b/data/base_stats/machop.asm
@@ -0,0 +1,22 @@
+ db MACHOP ; 066
+
+ db 70, 80, 50, 35, 35, 35
+ ; hp atk def spd sat sdf
+
+ db FIGHTING, FIGHTING
+ db 180 ; catch rate
+ db 88 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 63 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/magby.asm b/data/base_stats/magby.asm
new file mode 100644
index 000000000..84c9c30a0
--- /dev/null
+++ b/data/base_stats/magby.asm
@@ -0,0 +1,22 @@
+ db MAGBY ; 240
+
+ db 45, 75, 37, 83, 70, 55
+ ; hp atk def spd sat sdf
+
+ db FIRE, FIRE
+ db 45 ; catch rate
+ db 117 ; base exp
+ db BURNT_BERRY ; item 1
+ db BURNT_BERRY ; item 2
+ db 63 ; gender
+ db 100 ; unknown
+ db 25 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn NO_EGGS, NO_EGGS ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/magcargo.asm b/data/base_stats/magcargo.asm
new file mode 100644
index 000000000..6a245c784
--- /dev/null
+++ b/data/base_stats/magcargo.asm
@@ -0,0 +1,22 @@
+ db MAGCARGO ; 219
+
+ db 50, 50, 120, 30, 80, 80
+ ; hp atk def spd sat sdf
+
+ db FIRE, ROCK
+ db 75 ; catch rate
+ db 154 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AMORPHOUS, AMORPHOUS ; egg groups
+
+ ; tmhm
+ tmhm CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, STRENGTH, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/magikarp.asm b/data/base_stats/magikarp.asm
new file mode 100644
index 000000000..57a2b847c
--- /dev/null
+++ b/data/base_stats/magikarp.asm
@@ -0,0 +1,22 @@
+ db MAGIKARP ; 129
+
+ db 20, 10, 55, 80, 15, 20
+ ; hp atk def spd sat sdf
+
+ db WATER, WATER
+ db 255 ; catch rate
+ db 20 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 5 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn FISH, REPTILE ; egg groups
+
+ ; tmhm
+ tmhm
+ ; end
diff --git a/data/base_stats/magmar.asm b/data/base_stats/magmar.asm
new file mode 100644
index 000000000..9b1e15ac1
--- /dev/null
+++ b/data/base_stats/magmar.asm
@@ -0,0 +1,22 @@
+ db MAGMAR ; 126
+
+ db 65, 95, 57, 93, 100, 85
+ ; hp atk def spd sat sdf
+
+ db FIRE, FIRE
+ db 45 ; catch rate
+ db 167 ; base exp
+ db BURNT_BERRY ; item 1
+ db BURNT_BERRY ; item 2
+ db 63 ; gender
+ db 100 ; unknown
+ db 25 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/magnemite.asm b/data/base_stats/magnemite.asm
new file mode 100644
index 000000000..e7ba32b37
--- /dev/null
+++ b/data/base_stats/magnemite.asm
@@ -0,0 +1,22 @@
+ db MAGNEMITE ; 081
+
+ db 25, 35, 70, 45, 95, 55
+ ; hp atk def spd sat sdf
+
+ db ELECTRIC, STEEL
+ db 190 ; catch rate
+ db 89 ; base exp
+ db NO_ITEM ; item 1
+ db METAL_COAT ; item 2
+ db 255 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn INANIMATE, INANIMATE ; egg groups
+
+ ; tmhm
+ tmhm CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, FLASH, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/magneton.asm b/data/base_stats/magneton.asm
new file mode 100644
index 000000000..dbe564757
--- /dev/null
+++ b/data/base_stats/magneton.asm
@@ -0,0 +1,22 @@
+ db MAGNETON ; 082
+
+ db 50, 60, 95, 70, 120, 70
+ ; hp atk def spd sat sdf
+
+ db ELECTRIC, STEEL
+ db 60 ; catch rate
+ db 161 ; base exp
+ db NO_ITEM ; item 1
+ db METAL_COAT ; item 2
+ db 255 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn INANIMATE, INANIMATE ; egg groups
+
+ ; tmhm
+ tmhm CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, FLASH, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/mankey.asm b/data/base_stats/mankey.asm
new file mode 100644
index 000000000..50c0e6c69
--- /dev/null
+++ b/data/base_stats/mankey.asm
@@ -0,0 +1,22 @@
+ db MANKEY ; 056
+
+ db 40, 80, 35, 70, 35, 45
+ ; hp atk def spd sat sdf
+
+ db FIGHTING, FIGHTING
+ db 190 ; catch rate
+ db 74 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/mantine.asm b/data/base_stats/mantine.asm
new file mode 100644
index 000000000..b340b4090
--- /dev/null
+++ b/data/base_stats/mantine.asm
@@ -0,0 +1,22 @@
+ db MANTINE ; 226
+
+ db 65, 40, 70, 70, 80, 140
+ ; hp atk def spd sat sdf
+
+ db WATER, FLYING
+ db 25 ; catch rate
+ db 168 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 25 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn AMPHIBIAN, AMPHIBIAN ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/mareep.asm b/data/base_stats/mareep.asm
new file mode 100644
index 000000000..46b26f018
--- /dev/null
+++ b/data/base_stats/mareep.asm
@@ -0,0 +1,22 @@
+ db MAREEP ; 179
+
+ db 55, 40, 40, 35, 65, 45
+ ; hp atk def spd sat sdf
+
+ db ELECTRIC, ELECTRIC
+ db 235 ; catch rate
+ db 59 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn MONSTER, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, FLASH, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/marill.asm b/data/base_stats/marill.asm
new file mode 100644
index 000000000..b79f2c153
--- /dev/null
+++ b/data/base_stats/marill.asm
@@ -0,0 +1,22 @@
+ db MARILL ; 183
+
+ db 70, 20, 50, 40, 20, 50
+ ; hp atk def spd sat sdf
+
+ db WATER, WATER
+ db 190 ; catch rate
+ db 58 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db SLOW ; growth rate
+ dn AMPHIBIAN, FAIRY ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/marowak.asm b/data/base_stats/marowak.asm
new file mode 100644
index 000000000..d8f45a05d
--- /dev/null
+++ b/data/base_stats/marowak.asm
@@ -0,0 +1,22 @@
+ db MAROWAK ; 105
+
+ db 60, 80, 110, 45, 50, 80
+ ; hp atk def spd sat sdf
+
+ db GROUND, GROUND
+ db 75 ; catch rate
+ db 124 ; base exp
+ db NO_ITEM ; item 1
+ db THICK_CLUB ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn MONSTER, MONSTER ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER, ICE_BEAM
+ ; end
diff --git a/data/base_stats/meganium.asm b/data/base_stats/meganium.asm
new file mode 100644
index 000000000..952f53a07
--- /dev/null
+++ b/data/base_stats/meganium.asm
@@ -0,0 +1,22 @@
+ db MEGANIUM ; 154
+
+ db 80, 82, 100, 80, 83, 100
+ ; hp atk def spd sat sdf
+
+ db GRASS, GRASS
+ db 45 ; catch rate
+ db 208 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn MONSTER, PLANT ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, STRENGTH, FLASH
+ ; end
diff --git a/data/base_stats/meowth.asm b/data/base_stats/meowth.asm
new file mode 100644
index 000000000..159c7525c
--- /dev/null
+++ b/data/base_stats/meowth.asm
@@ -0,0 +1,22 @@
+ db MEOWTH ; 052
+
+ db 40, 45, 35, 90, 40, 40
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 255 ; catch rate
+ db 69 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/metapod.asm b/data/base_stats/metapod.asm
new file mode 100644
index 000000000..100c33f41
--- /dev/null
+++ b/data/base_stats/metapod.asm
@@ -0,0 +1,22 @@
+ db METAPOD ; 011
+
+ db 50, 20, 55, 30, 25, 25
+ ; hp atk def spd sat sdf
+
+ db BUG, BUG
+ db 120 ; catch rate
+ db 72 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 15 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn INSECT, INSECT ; egg groups
+
+ ; tmhm
+ tmhm
+ ; end
diff --git a/data/base_stats/mew.asm b/data/base_stats/mew.asm
new file mode 100644
index 000000000..26405aa5d
--- /dev/null
+++ b/data/base_stats/mew.asm
@@ -0,0 +1,22 @@
+ db MEW ; 151
+
+ db 100, 100, 100, 100, 100, 100
+ ; hp atk def spd sat sdf
+
+ db PSYCHIC, PSYCHIC
+ db 45 ; catch rate
+ db 64 ; base exp
+ db NO_ITEM ; item 1
+ db MIRACLEBERRY ; item 2
+ db 255 ; gender
+ db 100 ; unknown
+ db 120 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn NO_EGGS, NO_EGGS ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, DRAGONBREATH, THUNDER, EARTHQUAKE, RETURN, DIG, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, FIRE_BLAST, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FIRE_PUNCH, FURY_CUTTER, NIGHTMARE, CUT, FLY, SURF, STRENGTH, FLASH, WHIRLPOOL, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/mewtwo.asm b/data/base_stats/mewtwo.asm
new file mode 100644
index 000000000..f885a3ee8
--- /dev/null
+++ b/data/base_stats/mewtwo.asm
@@ -0,0 +1,22 @@
+ db MEWTWO ; 150
+
+ db 106, 110, 90, 130, 154, 90
+ ; hp atk def spd sat sdf
+
+ db PSYCHIC, PSYCHIC
+ db 3 ; catch rate
+ db 220 ; base exp
+ db NO_ITEM ; item 1
+ db BERSERK_GENE ; item 2
+ db 255 ; gender
+ db 100 ; unknown
+ db 120 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn NO_EGGS, NO_EGGS ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, THUNDERPUNCH, DREAM_EATER, DETECT, REST, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/miltank.asm b/data/base_stats/miltank.asm
new file mode 100644
index 000000000..aed00e9f2
--- /dev/null
+++ b/data/base_stats/miltank.asm
@@ -0,0 +1,22 @@
+ db MILTANK ; 241
+
+ db 95, 80, 105, 100, 40, 70
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 45 ; catch rate
+ db 200 ; base exp
+ db MOOMOO_MILK ; item 1
+ db MOOMOO_MILK ; item 2
+ db 254 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, SURF, STRENGTH, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/misdreavus.asm b/data/base_stats/misdreavus.asm
new file mode 100644
index 000000000..7f3405626
--- /dev/null
+++ b/data/base_stats/misdreavus.asm
@@ -0,0 +1,22 @@
+ db MISDREAVUS ; 200
+
+ db 60, 60, 60, 85, 85, 85
+ ; hp atk def spd sat sdf
+
+ db GHOST, GHOST
+ db 45 ; catch rate
+ db 147 ; base exp
+ db NO_ITEM ; item 1
+ db SPELL_TAG ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 25 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db SLOW ; growth rate
+ dn AMORPHOUS, AMORPHOUS ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, FLASH, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/moltres.asm b/data/base_stats/moltres.asm
new file mode 100644
index 000000000..725fd72cf
--- /dev/null
+++ b/data/base_stats/moltres.asm
@@ -0,0 +1,22 @@
+ db MOLTRES ; 146
+
+ db 90, 100, 90, 90, 125, 85
+ ; hp atk def spd sat sdf
+
+ db FIRE, FLYING
+ db 3 ; catch rate
+ db 217 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 255 ; gender
+ db 100 ; unknown
+ db 80 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn NO_EGGS, NO_EGGS ; egg groups
+
+ ; tmhm
+ tmhm CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DETECT, REST, STEEL_WING, FLY, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/mr__mime.asm b/data/base_stats/mr__mime.asm
new file mode 100644
index 000000000..4c692f739
--- /dev/null
+++ b/data/base_stats/mr__mime.asm
@@ -0,0 +1,22 @@
+ db MR__MIME ; 122
+
+ db 40, 45, 65, 90, 100, 120
+ ; hp atk def spd sat sdf
+
+ db PSYCHIC, PSYCHIC
+ db 45 ; catch rate
+ db 136 ; base exp
+ db NO_ITEM ; item 1
+ db MYSTERYBERRY ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 25 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, FLASH, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/muk.asm b/data/base_stats/muk.asm
new file mode 100644
index 000000000..d041042e4
--- /dev/null
+++ b/data/base_stats/muk.asm
@@ -0,0 +1,22 @@
+ db MUK ; 089
+
+ db 105, 105, 75, 50, 65, 100
+ ; hp atk def spd sat sdf
+
+ db POISON, POISON
+ db 75 ; catch rate
+ db 157 ; base exp
+ db NO_ITEM ; item 1
+ db NUGGET ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AMORPHOUS, AMORPHOUS ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, FLAMETHROWER, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/murkrow.asm b/data/base_stats/murkrow.asm
new file mode 100644
index 000000000..d13e9607c
--- /dev/null
+++ b/data/base_stats/murkrow.asm
@@ -0,0 +1,22 @@
+ db MURKROW ; 198
+
+ db 60, 85, 42, 91, 85, 42
+ ; hp atk def spd sat sdf
+
+ db DARK, FLYING
+ db 30 ; catch rate
+ db 107 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn AVIAN, AVIAN ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, STEEL_WING, NIGHTMARE, FLY
+ ; end
diff --git a/data/base_stats/natu.asm b/data/base_stats/natu.asm
new file mode 100644
index 000000000..8739ce260
--- /dev/null
+++ b/data/base_stats/natu.asm
@@ -0,0 +1,22 @@
+ db NATU ; 177
+
+ db 40, 50, 45, 70, 70, 45
+ ; hp atk def spd sat sdf
+
+ db PSYCHIC, FLYING
+ db 190 ; catch rate
+ db 73 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AVIAN, AVIAN ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, FLASH
+ ; end
diff --git a/data/base_stats/nidoking.asm b/data/base_stats/nidoking.asm
new file mode 100644
index 000000000..0c004b1f4
--- /dev/null
+++ b/data/base_stats/nidoking.asm
@@ -0,0 +1,22 @@
+ db NIDOKING ; 034
+
+ db 81, 92, 77, 85, 85, 75
+ ; hp atk def spd sat sdf
+
+ db POISON, GROUND
+ db 45 ; catch rate
+ db 195 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 0 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn MONSTER, FIELD ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/nidoqueen.asm b/data/base_stats/nidoqueen.asm
new file mode 100644
index 000000000..a946e8837
--- /dev/null
+++ b/data/base_stats/nidoqueen.asm
@@ -0,0 +1,22 @@
+ db NIDOQUEEN ; 031
+
+ db 90, 82, 87, 76, 75, 85
+ ; hp atk def spd sat sdf
+
+ db POISON, GROUND
+ db 45 ; catch rate
+ db 194 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 254 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn NO_EGGS, NO_EGGS ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/nidoran_f.asm b/data/base_stats/nidoran_f.asm
new file mode 100644
index 000000000..c336a6330
--- /dev/null
+++ b/data/base_stats/nidoran_f.asm
@@ -0,0 +1,22 @@
+ db NIDORAN_F ; 029
+
+ db 55, 47, 52, 41, 40, 40
+ ; hp atk def spd sat sdf
+
+ db POISON, POISON
+ db 235 ; catch rate
+ db 59 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 254 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn MONSTER, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/nidoran_m.asm b/data/base_stats/nidoran_m.asm
new file mode 100644
index 000000000..be3c87d0a
--- /dev/null
+++ b/data/base_stats/nidoran_m.asm
@@ -0,0 +1,22 @@
+ db NIDORAN_M ; 032
+
+ db 46, 57, 40, 50, 40, 40
+ ; hp atk def spd sat sdf
+
+ db POISON, POISON
+ db 235 ; catch rate
+ db 60 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 0 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn MONSTER, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/nidorina.asm b/data/base_stats/nidorina.asm
new file mode 100644
index 000000000..238144bc8
--- /dev/null
+++ b/data/base_stats/nidorina.asm
@@ -0,0 +1,22 @@
+ db NIDORINA ; 030
+
+ db 70, 62, 67, 56, 55, 55
+ ; hp atk def spd sat sdf
+
+ db POISON, POISON
+ db 120 ; catch rate
+ db 117 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 254 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn NO_EGGS, NO_EGGS ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, STRENGTH, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/nidorino.asm b/data/base_stats/nidorino.asm
new file mode 100644
index 000000000..307382c45
--- /dev/null
+++ b/data/base_stats/nidorino.asm
@@ -0,0 +1,22 @@
+ db NIDORINO ; 033
+
+ db 61, 72, 57, 65, 55, 55
+ ; hp atk def spd sat sdf
+
+ db POISON, POISON
+ db 120 ; catch rate
+ db 118 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 0 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn MONSTER, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, STRENGTH, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/ninetales.asm b/data/base_stats/ninetales.asm
new file mode 100644
index 000000000..34befe1d6
--- /dev/null
+++ b/data/base_stats/ninetales.asm
@@ -0,0 +1,22 @@
+ db NINETALES ; 038
+
+ db 73, 76, 75, 100, 81, 100
+ ; hp atk def spd sat sdf
+
+ db FIRE, FIRE
+ db 75 ; catch rate
+ db 178 ; base exp
+ db BURNT_BERRY ; item 1
+ db BURNT_BERRY ; item 2
+ db 191 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROAR, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/noctowl.asm b/data/base_stats/noctowl.asm
new file mode 100644
index 000000000..fedbc1228
--- /dev/null
+++ b/data/base_stats/noctowl.asm
@@ -0,0 +1,22 @@
+ db NOCTOWL ; 164
+
+ db 100, 50, 50, 70, 76, 96
+ ; hp atk def spd sat sdf
+
+ db NORMAL, FLYING
+ db 90 ; catch rate
+ db 162 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 15 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AVIAN, AVIAN ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, STEEL_WING, NIGHTMARE, FLY, FLASH
+ ; end
diff --git a/data/base_stats/octillery.asm b/data/base_stats/octillery.asm
new file mode 100644
index 000000000..24910f46b
--- /dev/null
+++ b/data/base_stats/octillery.asm
@@ -0,0 +1,22 @@
+ db OCTILLERY ; 224
+
+ db 75, 105, 75, 45, 105, 75
+ ; hp atk def spd sat sdf
+
+ db WATER, WATER
+ db 75 ; catch rate
+ db 164 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AMPHIBIAN, FISH ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, FLAMETHROWER, ICE_BEAM
+ ; end
diff --git a/data/base_stats/oddish.asm b/data/base_stats/oddish.asm
new file mode 100644
index 000000000..d0db4bd32
--- /dev/null
+++ b/data/base_stats/oddish.asm
@@ -0,0 +1,22 @@
+ db ODDISH ; 043
+
+ db 45, 50, 55, 30, 75, 65
+ ; hp atk def spd sat sdf
+
+ db GRASS, POISON
+ db 255 ; catch rate
+ db 78 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn PLANT, PLANT ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
+ ; end
diff --git a/data/base_stats/omanyte.asm b/data/base_stats/omanyte.asm
new file mode 100644
index 000000000..b1a81d7e5
--- /dev/null
+++ b/data/base_stats/omanyte.asm
@@ -0,0 +1,22 @@
+ db OMANYTE ; 138
+
+ db 35, 40, 100, 35, 90, 55
+ ; hp atk def spd sat sdf
+
+ db ROCK, WATER
+ db 45 ; catch rate
+ db 120 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 30 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AMPHIBIAN, INVERTEBRATE ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/omastar.asm b/data/base_stats/omastar.asm
new file mode 100644
index 000000000..69e4317a3
--- /dev/null
+++ b/data/base_stats/omastar.asm
@@ -0,0 +1,22 @@
+ db OMASTAR ; 139
+
+ db 70, 60, 125, 55, 115, 70
+ ; hp atk def spd sat sdf
+
+ db ROCK, WATER
+ db 45 ; catch rate
+ db 199 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 30 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AMPHIBIAN, INVERTEBRATE ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/onix.asm b/data/base_stats/onix.asm
new file mode 100644
index 000000000..dc937f1ad
--- /dev/null
+++ b/data/base_stats/onix.asm
@@ -0,0 +1,22 @@
+ db ONIX ; 095
+
+ db 35, 45, 160, 70, 30, 45
+ ; hp atk def spd sat sdf
+
+ db ROCK, GROUND
+ db 45 ; catch rate
+ db 108 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 25 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn INANIMATE, INANIMATE ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, STRENGTH
+ ; end
diff --git a/data/base_stats/paras.asm b/data/base_stats/paras.asm
new file mode 100644
index 000000000..1051395ab
--- /dev/null
+++ b/data/base_stats/paras.asm
@@ -0,0 +1,22 @@
+ db PARAS ; 046
+
+ db 35, 70, 55, 25, 45, 55
+ ; hp atk def spd sat sdf
+
+ db BUG, GRASS
+ db 190 ; catch rate
+ db 70 ; base exp
+ db TINYMUSHROOM ; item 1
+ db BIG_MUSHROOM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn INSECT, PLANT ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, FLASH
+ ; end
diff --git a/data/base_stats/parasect.asm b/data/base_stats/parasect.asm
new file mode 100644
index 000000000..7ec7f8837
--- /dev/null
+++ b/data/base_stats/parasect.asm
@@ -0,0 +1,22 @@
+ db PARASECT ; 047
+
+ db 60, 95, 80, 30, 60, 80
+ ; hp atk def spd sat sdf
+
+ db BUG, GRASS
+ db 75 ; catch rate
+ db 128 ; base exp
+ db TINYMUSHROOM ; item 1
+ db BIG_MUSHROOM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn INSECT, PLANT ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, FLASH
+ ; end
diff --git a/data/base_stats/persian.asm b/data/base_stats/persian.asm
new file mode 100644
index 000000000..d945188d0
--- /dev/null
+++ b/data/base_stats/persian.asm
@@ -0,0 +1,22 @@
+ db PERSIAN ; 053
+
+ db 65, 70, 60, 115, 65, 65
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 90 ; catch rate
+ db 148 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/phanpy.asm b/data/base_stats/phanpy.asm
new file mode 100644
index 000000000..40a9a5fb6
--- /dev/null
+++ b/data/base_stats/phanpy.asm
@@ -0,0 +1,22 @@
+ db PHANPY ; 231
+
+ db 90, 60, 60, 40, 40, 40
+ ; hp atk def spd sat sdf
+
+ db GROUND, GROUND
+ db 120 ; catch rate
+ db 124 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, STRENGTH
+ ; end
diff --git a/data/base_stats/pichu.asm b/data/base_stats/pichu.asm
new file mode 100644
index 000000000..be3607b36
--- /dev/null
+++ b/data/base_stats/pichu.asm
@@ -0,0 +1,22 @@
+ db PICHU ; 172
+
+ db 20, 40, 15, 60, 35, 35
+ ; hp atk def spd sat sdf
+
+ db ELECTRIC, ELECTRIC
+ db 190 ; catch rate
+ db 42 ; base exp
+ db NO_ITEM ; item 1
+ db BERRY ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 10 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn NO_EGGS, NO_EGGS ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, FLASH, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/pidgeot.asm b/data/base_stats/pidgeot.asm
new file mode 100644
index 000000000..9689c83b9
--- /dev/null
+++ b/data/base_stats/pidgeot.asm
@@ -0,0 +1,22 @@
+ db PIDGEOT ; 018
+
+ db 83, 80, 75, 91, 70, 70
+ ; hp atk def spd sat sdf
+
+ db NORMAL, FLYING
+ db 45 ; catch rate
+ db 172 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 15 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn AVIAN, AVIAN ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY
+ ; end
diff --git a/data/base_stats/pidgeotto.asm b/data/base_stats/pidgeotto.asm
new file mode 100644
index 000000000..5dfc5494a
--- /dev/null
+++ b/data/base_stats/pidgeotto.asm
@@ -0,0 +1,22 @@
+ db PIDGEOTTO ; 017
+
+ db 63, 60, 55, 71, 50, 50
+ ; hp atk def spd sat sdf
+
+ db NORMAL, FLYING
+ db 120 ; catch rate
+ db 113 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 15 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn AVIAN, AVIAN ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY
+ ; end
diff --git a/data/base_stats/pidgey.asm b/data/base_stats/pidgey.asm
new file mode 100644
index 000000000..e5a110c14
--- /dev/null
+++ b/data/base_stats/pidgey.asm
@@ -0,0 +1,22 @@
+ db PIDGEY ; 016
+
+ db 40, 45, 40, 56, 35, 35
+ ; hp atk def spd sat sdf
+
+ db NORMAL, FLYING
+ db 255 ; catch rate
+ db 55 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 15 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn AVIAN, AVIAN ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY
+ ; end
diff --git a/data/base_stats/pikachu.asm b/data/base_stats/pikachu.asm
new file mode 100644
index 000000000..0c1306eee
--- /dev/null
+++ b/data/base_stats/pikachu.asm
@@ -0,0 +1,22 @@
+ db PIKACHU ; 025
+
+ db 35, 55, 30, 90, 50, 40
+ ; hp atk def spd sat sdf
+
+ db ELECTRIC, ELECTRIC
+ db 190 ; catch rate
+ db 82 ; base exp
+ db NO_ITEM ; item 1
+ db BERRY ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 10 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FAIRY ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, STRENGTH, FLASH, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/piloswine.asm b/data/base_stats/piloswine.asm
new file mode 100644
index 000000000..460f694ca
--- /dev/null
+++ b/data/base_stats/piloswine.asm
@@ -0,0 +1,22 @@
+ db PILOSWINE ; 221
+
+ db 100, 100, 80, 50, 60, 60
+ ; hp atk def spd sat sdf
+
+ db ICE, GROUND
+ db 75 ; catch rate
+ db 160 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, STRENGTH, ICE_BEAM
+ ; end
diff --git a/data/base_stats/pineco.asm b/data/base_stats/pineco.asm
new file mode 100644
index 000000000..2711aa89a
--- /dev/null
+++ b/data/base_stats/pineco.asm
@@ -0,0 +1,22 @@
+ db PINECO ; 204
+
+ db 50, 65, 90, 15, 35, 35
+ ; hp atk def spd sat sdf
+
+ db BUG, BUG
+ db 190 ; catch rate
+ db 60 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn INSECT, INSECT ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, STRENGTH
+ ; end
diff --git a/data/base_stats/pinsir.asm b/data/base_stats/pinsir.asm
new file mode 100644
index 000000000..04e8a5398
--- /dev/null
+++ b/data/base_stats/pinsir.asm
@@ -0,0 +1,22 @@
+ db PINSIR ; 127
+
+ db 65, 125, 100, 85, 55, 70
+ ; hp atk def spd sat sdf
+
+ db BUG, BUG
+ db 45 ; catch rate
+ db 200 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 25 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn INSECT, INSECT ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH
+ ; end
diff --git a/data/base_stats/politoed.asm b/data/base_stats/politoed.asm
new file mode 100644
index 000000000..889b4a56c
--- /dev/null
+++ b/data/base_stats/politoed.asm
@@ -0,0 +1,22 @@
+ db POLITOED ; 186
+
+ db 90, 75, 75, 70, 90, 100
+ ; hp atk def spd sat sdf
+
+ db WATER, WATER
+ db 45 ; catch rate
+ db 185 ; base exp
+ db NO_ITEM ; item 1
+ db KINGS_ROCK ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn AMPHIBIAN, AMPHIBIAN ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/poliwag.asm b/data/base_stats/poliwag.asm
new file mode 100644
index 000000000..818e7ff56
--- /dev/null
+++ b/data/base_stats/poliwag.asm
@@ -0,0 +1,22 @@
+ db POLIWAG ; 060
+
+ db 40, 50, 40, 90, 40, 40
+ ; hp atk def spd sat sdf
+
+ db WATER, WATER
+ db 255 ; catch rate
+ db 77 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn AMPHIBIAN, AMPHIBIAN ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/poliwhirl.asm b/data/base_stats/poliwhirl.asm
new file mode 100644
index 000000000..e26cfc4af
--- /dev/null
+++ b/data/base_stats/poliwhirl.asm
@@ -0,0 +1,22 @@
+ db POLIWHIRL ; 061
+
+ db 65, 65, 65, 90, 50, 50
+ ; hp atk def spd sat sdf
+
+ db WATER, WATER
+ db 120 ; catch rate
+ db 131 ; base exp
+ db NO_ITEM ; item 1
+ db KINGS_ROCK ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn AMPHIBIAN, AMPHIBIAN ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/poliwrath.asm b/data/base_stats/poliwrath.asm
new file mode 100644
index 000000000..6b90592d1
--- /dev/null
+++ b/data/base_stats/poliwrath.asm
@@ -0,0 +1,22 @@
+ db POLIWRATH ; 062
+
+ db 90, 85, 95, 70, 70, 90
+ ; hp atk def spd sat sdf
+
+ db WATER, FIGHTING
+ db 45 ; catch rate
+ db 185 ; base exp
+ db NO_ITEM ; item 1
+ db KINGS_ROCK ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn AMPHIBIAN, AMPHIBIAN ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/ponyta.asm b/data/base_stats/ponyta.asm
new file mode 100644
index 000000000..f8df9a0f2
--- /dev/null
+++ b/data/base_stats/ponyta.asm
@@ -0,0 +1,22 @@
+ db PONYTA ; 077
+
+ db 50, 85, 55, 90, 65, 65
+ ; hp atk def spd sat sdf
+
+ db FIRE, FIRE
+ db 190 ; catch rate
+ db 152 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/porygon.asm b/data/base_stats/porygon.asm
new file mode 100644
index 000000000..828e813aa
--- /dev/null
+++ b/data/base_stats/porygon.asm
@@ -0,0 +1,22 @@
+ db PORYGON ; 137
+
+ db 65, 60, 70, 40, 85, 75
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 45 ; catch rate
+ db 130 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 255 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn INANIMATE, INANIMATE ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, REST, THIEF, NIGHTMARE, FLASH, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/porygon2.asm b/data/base_stats/porygon2.asm
new file mode 100644
index 000000000..d180b44ac
--- /dev/null
+++ b/data/base_stats/porygon2.asm
@@ -0,0 +1,22 @@
+ db PORYGON2 ; 233
+
+ db 85, 80, 90, 60, 105, 95
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 45 ; catch rate
+ db 180 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 255 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn INANIMATE, INANIMATE ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, REST, THIEF, NIGHTMARE, FLASH, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/primeape.asm b/data/base_stats/primeape.asm
new file mode 100644
index 000000000..7a7e753f0
--- /dev/null
+++ b/data/base_stats/primeape.asm
@@ -0,0 +1,22 @@
+ db PRIMEAPE ; 057
+
+ db 65, 105, 60, 95, 60, 70
+ ; hp atk def spd sat sdf
+
+ db FIGHTING, FIGHTING
+ db 75 ; catch rate
+ db 149 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/psyduck.asm b/data/base_stats/psyduck.asm
new file mode 100644
index 000000000..d95ff0e92
--- /dev/null
+++ b/data/base_stats/psyduck.asm
@@ -0,0 +1,22 @@
+ db PSYDUCK ; 054
+
+ db 50, 52, 48, 55, 65, 50
+ ; hp atk def spd sat sdf
+
+ db WATER, WATER
+ db 190 ; catch rate
+ db 80 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AMPHIBIAN, FIELD ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, STRENGTH, FLASH, WHIRLPOOL, WATERFALL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/pupitar.asm b/data/base_stats/pupitar.asm
new file mode 100644
index 000000000..4a6ecc37c
--- /dev/null
+++ b/data/base_stats/pupitar.asm
@@ -0,0 +1,22 @@
+ db PUPITAR ; 247
+
+ db 70, 84, 70, 51, 65, 70
+ ; hp atk def spd sat sdf
+
+ db ROCK, GROUND
+ db 45 ; catch rate
+ db 144 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 40 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn MONSTER, MONSTER ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DETECT, REST, ATTRACT
+ ; end
diff --git a/data/base_stats/quagsire.asm b/data/base_stats/quagsire.asm
new file mode 100644
index 000000000..5ffaf7dab
--- /dev/null
+++ b/data/base_stats/quagsire.asm
@@ -0,0 +1,22 @@
+ db QUAGSIRE ; 195
+
+ db 95, 85, 85, 35, 65, 65
+ ; hp atk def spd sat sdf
+
+ db WATER, GROUND
+ db 90 ; catch rate
+ db 137 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AMPHIBIAN, FIELD ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, FLASH, WHIRLPOOL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/quilava.asm b/data/base_stats/quilava.asm
new file mode 100644
index 000000000..58662b46a
--- /dev/null
+++ b/data/base_stats/quilava.asm
@@ -0,0 +1,22 @@
+ db QUILAVA ; 156
+
+ db 58, 64, 58, 80, 80, 65
+ ; hp atk def spd sat sdf
+
+ db FIRE, FIRE
+ db 45 ; catch rate
+ db 142 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, STRENGTH, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/qwilfish.asm b/data/base_stats/qwilfish.asm
new file mode 100644
index 000000000..5bd9e1c5e
--- /dev/null
+++ b/data/base_stats/qwilfish.asm
@@ -0,0 +1,22 @@
+ db QWILFISH ; 211
+
+ db 65, 95, 75, 85, 55, 55
+ ; hp atk def spd sat sdf
+
+ db WATER, POISON
+ db 45 ; catch rate
+ db 100 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FISH, FISH ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SWIFT, DEFENSE_CURL, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/raichu.asm b/data/base_stats/raichu.asm
new file mode 100644
index 000000000..c63552517
--- /dev/null
+++ b/data/base_stats/raichu.asm
@@ -0,0 +1,22 @@
+ db RAICHU ; 026
+
+ db 60, 90, 55, 100, 90, 80
+ ; hp atk def spd sat sdf
+
+ db ELECTRIC, ELECTRIC
+ db 75 ; catch rate
+ db 122 ; base exp
+ db NO_ITEM ; item 1
+ db BERRY ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 10 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FAIRY ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, STRENGTH, FLASH, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/raikou.asm b/data/base_stats/raikou.asm
new file mode 100644
index 000000000..18a825551
--- /dev/null
+++ b/data/base_stats/raikou.asm
@@ -0,0 +1,22 @@
+ db RAIKOU ; 243
+
+ db 90, 85, 75, 115, 115, 100
+ ; hp atk def spd sat sdf
+
+ db ELECTRIC, ELECTRIC
+ db 3 ; catch rate
+ db 216 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 255 ; gender
+ db 100 ; unknown
+ db 80 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn NO_EGGS, NO_EGGS ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, CUT, STRENGTH, FLASH, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/rapidash.asm b/data/base_stats/rapidash.asm
new file mode 100644
index 000000000..e3684e5e9
--- /dev/null
+++ b/data/base_stats/rapidash.asm
@@ -0,0 +1,22 @@
+ db RAPIDASH ; 078
+
+ db 65, 100, 70, 105, 80, 80
+ ; hp atk def spd sat sdf
+
+ db FIRE, FIRE
+ db 60 ; catch rate
+ db 192 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/raticate.asm b/data/base_stats/raticate.asm
new file mode 100644
index 000000000..361e003aa
--- /dev/null
+++ b/data/base_stats/raticate.asm
@@ -0,0 +1,22 @@
+ db RATICATE ; 020
+
+ db 55, 81, 60, 97, 50, 70
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 90 ; catch rate
+ db 116 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 15 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, THIEF, CUT, STRENGTH, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/rattata.asm b/data/base_stats/rattata.asm
new file mode 100644
index 000000000..ac5ac1acb
--- /dev/null
+++ b/data/base_stats/rattata.asm
@@ -0,0 +1,22 @@
+ db RATTATA ; 019
+
+ db 30, 56, 35, 72, 25, 35
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 255 ; catch rate
+ db 57 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 15 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, THIEF
+ ; end
diff --git a/data/base_stats/remoraid.asm b/data/base_stats/remoraid.asm
new file mode 100644
index 000000000..9218ba8c1
--- /dev/null
+++ b/data/base_stats/remoraid.asm
@@ -0,0 +1,22 @@
+ db REMORAID ; 223
+
+ db 35, 65, 35, 65, 65, 35
+ ; hp atk def spd sat sdf
+
+ db WATER, WATER
+ db 190 ; catch rate
+ db 78 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AMPHIBIAN, FISH ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, FLAMETHROWER, ICE_BEAM
+ ; end
diff --git a/data/base_stats/rhydon.asm b/data/base_stats/rhydon.asm
new file mode 100644
index 000000000..894b2c53c
--- /dev/null
+++ b/data/base_stats/rhydon.asm
@@ -0,0 +1,22 @@
+ db RHYDON ; 112
+
+ db 105, 130, 120, 40, 45, 45
+ ; hp atk def spd sat sdf
+
+ db GROUND, ROCK
+ db 60 ; catch rate
+ db 204 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn MONSTER, FIELD ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/rhyhorn.asm b/data/base_stats/rhyhorn.asm
new file mode 100644
index 000000000..0aeb8f06a
--- /dev/null
+++ b/data/base_stats/rhyhorn.asm
@@ -0,0 +1,22 @@
+ db RHYHORN ; 111
+
+ db 80, 85, 95, 25, 30, 30
+ ; hp atk def spd sat sdf
+
+ db GROUND, ROCK
+ db 120 ; catch rate
+ db 135 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn MONSTER, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, REST, ATTRACT, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/sandshrew.asm b/data/base_stats/sandshrew.asm
new file mode 100644
index 000000000..53288890e
--- /dev/null
+++ b/data/base_stats/sandshrew.asm
@@ -0,0 +1,22 @@
+ db SANDSHREW ; 027
+
+ db 50, 75, 85, 40, 20, 30
+ ; hp atk def spd sat sdf
+
+ db GROUND, GROUND
+ db 255 ; catch rate
+ db 93 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH
+ ; end
diff --git a/data/base_stats/sandslash.asm b/data/base_stats/sandslash.asm
new file mode 100644
index 000000000..1067ccb3e
--- /dev/null
+++ b/data/base_stats/sandslash.asm
@@ -0,0 +1,22 @@
+ db SANDSLASH ; 028
+
+ db 75, 100, 110, 65, 45, 55
+ ; hp atk def spd sat sdf
+
+ db GROUND, GROUND
+ db 90 ; catch rate
+ db 163 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH
+ ; end
diff --git a/data/base_stats/scizor.asm b/data/base_stats/scizor.asm
new file mode 100644
index 000000000..af9bfc938
--- /dev/null
+++ b/data/base_stats/scizor.asm
@@ -0,0 +1,22 @@
+ db SCIZOR ; 212
+
+ db 70, 130, 100, 65, 55, 80
+ ; hp atk def spd sat sdf
+
+ db BUG, STEEL
+ db 25 ; catch rate
+ db 200 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 25 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn INSECT, INSECT ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FURY_CUTTER, CUT, STRENGTH
+ ; end
diff --git a/data/base_stats/scyther.asm b/data/base_stats/scyther.asm
new file mode 100644
index 000000000..7de348478
--- /dev/null
+++ b/data/base_stats/scyther.asm
@@ -0,0 +1,22 @@
+ db SCYTHER ; 123
+
+ db 70, 110, 80, 105, 55, 80
+ ; hp atk def spd sat sdf
+
+ db BUG, FLYING
+ db 45 ; catch rate
+ db 187 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 25 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn INSECT, INSECT ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FURY_CUTTER, CUT
+ ; end
diff --git a/data/base_stats/seadra.asm b/data/base_stats/seadra.asm
new file mode 100644
index 000000000..f43abfaa0
--- /dev/null
+++ b/data/base_stats/seadra.asm
@@ -0,0 +1,22 @@
+ db SEADRA ; 117
+
+ db 55, 65, 95, 85, 95, 45
+ ; hp atk def spd sat sdf
+
+ db WATER, WATER
+ db 75 ; catch rate
+ db 155 ; base exp
+ db NO_ITEM ; item 1
+ db DRAGON_SCALE ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AMPHIBIAN, REPTILE ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, DRAGONBREATH, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/seaking.asm b/data/base_stats/seaking.asm
new file mode 100644
index 000000000..9543366bf
--- /dev/null
+++ b/data/base_stats/seaking.asm
@@ -0,0 +1,22 @@
+ db SEAKING ; 119
+
+ db 80, 92, 65, 68, 65, 80
+ ; hp atk def spd sat sdf
+
+ db WATER, WATER
+ db 60 ; catch rate
+ db 170 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FISH, FISH ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WATERFALL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/seel.asm b/data/base_stats/seel.asm
new file mode 100644
index 000000000..873d410aa
--- /dev/null
+++ b/data/base_stats/seel.asm
@@ -0,0 +1,22 @@
+ db SEEL ; 086
+
+ db 65, 45, 55, 45, 45, 70
+ ; hp atk def spd sat sdf
+
+ db WATER, WATER
+ db 190 ; catch rate
+ db 100 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AMPHIBIAN, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/sentret.asm b/data/base_stats/sentret.asm
new file mode 100644
index 000000000..1b66348e2
--- /dev/null
+++ b/data/base_stats/sentret.asm
@@ -0,0 +1,22 @@
+ db SENTRET ; 161
+
+ db 35, 46, 34, 20, 35, 45
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 255 ; catch rate
+ db 57 ; base exp
+ db NO_ITEM ; item 1
+ db BERRY ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 15 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, CUT, SURF
+ ; end
diff --git a/data/base_stats/shellder.asm b/data/base_stats/shellder.asm
new file mode 100644
index 000000000..17f4bc8d0
--- /dev/null
+++ b/data/base_stats/shellder.asm
@@ -0,0 +1,22 @@
+ db SHELLDER ; 090
+
+ db 30, 65, 100, 40, 45, 25
+ ; hp atk def spd sat sdf
+
+ db WATER, WATER
+ db 190 ; catch rate
+ db 97 ; base exp
+ db PEARL ; item 1
+ db BIG_PEARL ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn INVERTEBRATE, INVERTEBRATE ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/shuckle.asm b/data/base_stats/shuckle.asm
new file mode 100644
index 000000000..ef76037fd
--- /dev/null
+++ b/data/base_stats/shuckle.asm
@@ -0,0 +1,22 @@
+ db SHUCKLE ; 213
+
+ db 20, 10, 230, 05, 10, 230
+ ; hp atk def spd sat sdf
+
+ db BUG, ROCK
+ db 190 ; catch rate
+ db 80 ; base exp
+ db BERRY ; item 1
+ db BERRY ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn INSECT, INSECT ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, STRENGTH, FLASH
+ ; end
diff --git a/data/base_stats/skarmory.asm b/data/base_stats/skarmory.asm
new file mode 100644
index 000000000..ac5a2c701
--- /dev/null
+++ b/data/base_stats/skarmory.asm
@@ -0,0 +1,22 @@
+ db SKARMORY ; 227
+
+ db 65, 80, 140, 70, 40, 70
+ ; hp atk def spd sat sdf
+
+ db STEEL, FLYING
+ db 25 ; catch rate
+ db 168 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 25 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn AVIAN, AVIAN ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, CUT, FLY
+ ; end
diff --git a/data/base_stats/skiploom.asm b/data/base_stats/skiploom.asm
new file mode 100644
index 000000000..dab6b1acd
--- /dev/null
+++ b/data/base_stats/skiploom.asm
@@ -0,0 +1,22 @@
+ db SKIPLOOM ; 188
+
+ db 55, 45, 50, 80, 45, 65
+ ; hp atk def spd sat sdf
+
+ db GRASS, FLYING
+ db 120 ; catch rate
+ db 136 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn FAIRY, PLANT ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FLASH
+ ; end
diff --git a/data/base_stats/slowbro.asm b/data/base_stats/slowbro.asm
new file mode 100644
index 000000000..1a1743ceb
--- /dev/null
+++ b/data/base_stats/slowbro.asm
@@ -0,0 +1,22 @@
+ db SLOWBRO ; 080
+
+ db 95, 75, 110, 30, 100, 80
+ ; hp atk def spd sat sdf
+
+ db WATER, PSYCHIC
+ db 75 ; catch rate
+ db 164 ; base exp
+ db NO_ITEM ; item 1
+ db KINGS_ROCK ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn MONSTER, AMPHIBIAN ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DREAM_EATER, REST, ATTRACT, FURY_CUTTER, NIGHTMARE, SURF, STRENGTH, FLASH, FLAMETHROWER, ICE_BEAM
+ ; end
diff --git a/data/base_stats/slowking.asm b/data/base_stats/slowking.asm
new file mode 100644
index 000000000..699bf8467
--- /dev/null
+++ b/data/base_stats/slowking.asm
@@ -0,0 +1,22 @@
+ db SLOWKING ; 199
+
+ db 95, 75, 80, 30, 100, 110
+ ; hp atk def spd sat sdf
+
+ db WATER, PSYCHIC
+ db 70 ; catch rate
+ db 164 ; base exp
+ db NO_ITEM ; item 1
+ db KINGS_ROCK ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn MONSTER, AMPHIBIAN ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DREAM_EATER, REST, ATTRACT, FURY_CUTTER, NIGHTMARE, SURF, STRENGTH, FLASH, WHIRLPOOL, FLAMETHROWER, ICE_BEAM
+ ; end
diff --git a/data/base_stats/slowpoke.asm b/data/base_stats/slowpoke.asm
new file mode 100644
index 000000000..250d37fd7
--- /dev/null
+++ b/data/base_stats/slowpoke.asm
@@ -0,0 +1,22 @@
+ db SLOWPOKE ; 079
+
+ db 90, 65, 65, 15, 40, 40
+ ; hp atk def spd sat sdf
+
+ db WATER, PSYCHIC
+ db 190 ; catch rate
+ db 99 ; base exp
+ db NO_ITEM ; item 1
+ db KINGS_ROCK ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn MONSTER, AMPHIBIAN ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DREAM_EATER, REST, ATTRACT, NIGHTMARE, SURF, STRENGTH, FLASH, FLAMETHROWER, ICE_BEAM
+ ; end
diff --git a/data/base_stats/slugma.asm b/data/base_stats/slugma.asm
new file mode 100644
index 000000000..2694300dd
--- /dev/null
+++ b/data/base_stats/slugma.asm
@@ -0,0 +1,22 @@
+ db SLUGMA ; 218
+
+ db 40, 40, 40, 20, 70, 40
+ ; hp atk def spd sat sdf
+
+ db FIRE, FIRE
+ db 190 ; catch rate
+ db 78 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AMORPHOUS, AMORPHOUS ; egg groups
+
+ ; tmhm
+ tmhm CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/smeargle.asm b/data/base_stats/smeargle.asm
new file mode 100644
index 000000000..a8d1ecd54
--- /dev/null
+++ b/data/base_stats/smeargle.asm
@@ -0,0 +1,22 @@
+ db SMEARGLE ; 235
+
+ db 55, 20, 35, 75, 20, 45
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 45 ; catch rate
+ db 106 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db SLOW ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm
+ ; end
diff --git a/data/base_stats/smoochum.asm b/data/base_stats/smoochum.asm
new file mode 100644
index 000000000..20b79b263
--- /dev/null
+++ b/data/base_stats/smoochum.asm
@@ -0,0 +1,22 @@
+ db SMOOCHUM ; 238
+
+ db 45, 30, 15, 65, 85, 65
+ ; hp atk def spd sat sdf
+
+ db ICE, PSYCHIC
+ db 45 ; catch rate
+ db 87 ; base exp
+ db ICE_BERRY ; item 1
+ db ICE_BERRY ; item 2
+ db 254 ; gender
+ db 100 ; unknown
+ db 25 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn NO_EGGS, NO_EGGS ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SWEET_SCENT, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, ICE_BEAM
+ ; end
diff --git a/data/base_stats/sneasel.asm b/data/base_stats/sneasel.asm
new file mode 100644
index 000000000..939c11b5a
--- /dev/null
+++ b/data/base_stats/sneasel.asm
@@ -0,0 +1,22 @@
+ db SNEASEL ; 215
+
+ db 55, 95, 55, 115, 35, 75
+ ; hp atk def spd sat sdf
+
+ db DARK, ICE
+ db 60 ; catch rate
+ db 132 ; base exp
+ db NO_ITEM ; item 1
+ db QUICK_CLAW ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, NIGHTMARE, CUT, SURF, STRENGTH, ICE_BEAM
+ ; end
diff --git a/data/base_stats/snorlax.asm b/data/base_stats/snorlax.asm
new file mode 100644
index 000000000..d8e669500
--- /dev/null
+++ b/data/base_stats/snorlax.asm
@@ -0,0 +1,22 @@
+ db SNORLAX ; 143
+
+ db 160, 110, 65, 30, 65, 110
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 25 ; catch rate
+ db 154 ; base exp
+ db LEFTOVERS ; item 1
+ db LEFTOVERS ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 40 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn MONSTER, MONSTER ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, EARTHQUAKE, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/snubbull.asm b/data/base_stats/snubbull.asm
new file mode 100644
index 000000000..cacd6345f
--- /dev/null
+++ b/data/base_stats/snubbull.asm
@@ -0,0 +1,22 @@
+ db SNUBBULL ; 209
+
+ db 60, 80, 50, 30, 40, 40
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 190 ; catch rate
+ db 63 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 191 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db SLOW ; growth rate
+ dn FIELD, FAIRY ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/spearow.asm b/data/base_stats/spearow.asm
new file mode 100644
index 000000000..e422d750f
--- /dev/null
+++ b/data/base_stats/spearow.asm
@@ -0,0 +1,22 @@
+ db SPEAROW ; 021
+
+ db 40, 60, 30, 70, 31, 31
+ ; hp atk def spd sat sdf
+
+ db NORMAL, FLYING
+ db 255 ; catch rate
+ db 58 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 15 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AVIAN, AVIAN ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY
+ ; end
diff --git a/data/base_stats/spinarak.asm b/data/base_stats/spinarak.asm
new file mode 100644
index 000000000..1f7412e2a
--- /dev/null
+++ b/data/base_stats/spinarak.asm
@@ -0,0 +1,22 @@
+ db SPINARAK ; 167
+
+ db 40, 60, 40, 30, 40, 40
+ ; hp atk def spd sat sdf
+
+ db BUG, POISON
+ db 255 ; catch rate
+ db 54 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 15 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db SLOW ; growth rate
+ dn INSECT, INSECT ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, FLASH
+ ; end
diff --git a/data/base_stats/squirtle.asm b/data/base_stats/squirtle.asm
new file mode 100644
index 000000000..0ba0d4b81
--- /dev/null
+++ b/data/base_stats/squirtle.asm
@@ -0,0 +1,22 @@
+ db SQUIRTLE ; 007
+
+ db 44, 48, 65, 43, 50, 64
+ ; hp atk def spd sat sdf
+
+ db WATER, WATER
+ db 45 ; catch rate
+ db 66 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn MONSTER, AMPHIBIAN ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/stantler.asm b/data/base_stats/stantler.asm
new file mode 100644
index 000000000..e4078278a
--- /dev/null
+++ b/data/base_stats/stantler.asm
@@ -0,0 +1,22 @@
+ db STANTLER ; 234
+
+ db 73, 95, 62, 85, 85, 65
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 45 ; catch rate
+ db 165 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROAR, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, FLASH
+ ; end
diff --git a/data/base_stats/starmie.asm b/data/base_stats/starmie.asm
new file mode 100644
index 000000000..49502c0f2
--- /dev/null
+++ b/data/base_stats/starmie.asm
@@ -0,0 +1,22 @@
+ db STARMIE ; 121
+
+ db 60, 75, 85, 115, 100, 85
+ ; hp atk def spd sat sdf
+
+ db WATER, PSYCHIC
+ db 60 ; catch rate
+ db 207 ; base exp
+ db STARDUST ; item 1
+ db STAR_PIECE ; item 2
+ db 255 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn INVERTEBRATE, INVERTEBRATE ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, REST, ATTRACT, NIGHTMARE, SURF, FLASH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/staryu.asm b/data/base_stats/staryu.asm
new file mode 100644
index 000000000..15768a33c
--- /dev/null
+++ b/data/base_stats/staryu.asm
@@ -0,0 +1,22 @@
+ db STARYU ; 120
+
+ db 30, 45, 55, 85, 70, 55
+ ; hp atk def spd sat sdf
+
+ db WATER, WATER
+ db 225 ; catch rate
+ db 106 ; base exp
+ db STARDUST ; item 1
+ db STAR_PIECE ; item 2
+ db 255 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn INVERTEBRATE, INVERTEBRATE ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, FLASH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/steelix.asm b/data/base_stats/steelix.asm
new file mode 100644
index 000000000..11c3d031c
--- /dev/null
+++ b/data/base_stats/steelix.asm
@@ -0,0 +1,22 @@
+ db STEELIX ; 208
+
+ db 75, 85, 200, 30, 55, 65
+ ; hp atk def spd sat sdf
+
+ db STEEL, GROUND
+ db 25 ; catch rate
+ db 196 ; base exp
+ db NO_ITEM ; item 1
+ db METAL_COAT ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 25 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn INANIMATE, INANIMATE ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, CUT, STRENGTH
+ ; end
diff --git a/data/base_stats/sudowoodo.asm b/data/base_stats/sudowoodo.asm
new file mode 100644
index 000000000..9d13d5628
--- /dev/null
+++ b/data/base_stats/sudowoodo.asm
@@ -0,0 +1,22 @@
+ db SUDOWOODO ; 185
+
+ db 70, 100, 115, 30, 30, 65
+ ; hp atk def spd sat sdf
+
+ db ROCK, ROCK
+ db 65 ; catch rate
+ db 135 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn INANIMATE, INANIMATE ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH
+ ; end
diff --git a/data/base_stats/suicune.asm b/data/base_stats/suicune.asm
new file mode 100644
index 000000000..28a5e2f72
--- /dev/null
+++ b/data/base_stats/suicune.asm
@@ -0,0 +1,22 @@
+ db SUICUNE ; 245
+
+ db 100, 75, 115, 85, 90, 115
+ ; hp atk def spd sat sdf
+
+ db WATER, WATER
+ db 3 ; catch rate
+ db 215 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 255 ; gender
+ db 100 ; unknown
+ db 80 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn NO_EGGS, NO_EGGS ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, CUT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/sunflora.asm b/data/base_stats/sunflora.asm
new file mode 100644
index 000000000..8ec14fb96
--- /dev/null
+++ b/data/base_stats/sunflora.asm
@@ -0,0 +1,22 @@
+ db SUNFLORA ; 192
+
+ db 75, 75, 55, 30, 105, 85
+ ; hp atk def spd sat sdf
+
+ db GRASS, GRASS
+ db 120 ; catch rate
+ db 146 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn PLANT, PLANT ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
+ ; end
diff --git a/data/base_stats/sunkern.asm b/data/base_stats/sunkern.asm
new file mode 100644
index 000000000..c75e83a36
--- /dev/null
+++ b/data/base_stats/sunkern.asm
@@ -0,0 +1,22 @@
+ db SUNKERN ; 191
+
+ db 30, 30, 30, 30, 30, 30
+ ; hp atk def spd sat sdf
+
+ db GRASS, GRASS
+ db 235 ; catch rate
+ db 52 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn PLANT, PLANT ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
+ ; end
diff --git a/data/base_stats/swinub.asm b/data/base_stats/swinub.asm
new file mode 100644
index 000000000..80df33944
--- /dev/null
+++ b/data/base_stats/swinub.asm
@@ -0,0 +1,22 @@
+ db SWINUB ; 220
+
+ db 50, 50, 40, 50, 30, 30
+ ; hp atk def spd sat sdf
+
+ db ICE, GROUND
+ db 225 ; catch rate
+ db 78 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, STRENGTH, ICE_BEAM
+ ; end
diff --git a/data/base_stats/tangela.asm b/data/base_stats/tangela.asm
new file mode 100644
index 000000000..bf539b28a
--- /dev/null
+++ b/data/base_stats/tangela.asm
@@ -0,0 +1,22 @@
+ db TANGELA ; 114
+
+ db 65, 55, 115, 60, 100, 40
+ ; hp atk def spd sat sdf
+
+ db GRASS, GRASS
+ db 45 ; catch rate
+ db 166 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn PLANT, PLANT ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, CUT, FLASH
+ ; end
diff --git a/data/base_stats/tauros.asm b/data/base_stats/tauros.asm
new file mode 100644
index 000000000..fbc2ad6dc
--- /dev/null
+++ b/data/base_stats/tauros.asm
@@ -0,0 +1,22 @@
+ db TAUROS ; 128
+
+ db 75, 100, 95, 110, 40, 70
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 45 ; catch rate
+ db 211 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 0 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, REST, ATTRACT, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/teddiursa.asm b/data/base_stats/teddiursa.asm
new file mode 100644
index 000000000..81eebe7ba
--- /dev/null
+++ b/data/base_stats/teddiursa.asm
@@ -0,0 +1,22 @@
+ db TEDDIURSA ; 216
+
+ db 60, 80, 50, 40, 50, 50
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 120 ; catch rate
+ db 124 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH
+ ; end
diff --git a/data/base_stats/tentacool.asm b/data/base_stats/tentacool.asm
new file mode 100644
index 000000000..533c0538e
--- /dev/null
+++ b/data/base_stats/tentacool.asm
@@ -0,0 +1,22 @@
+ db TENTACOOL ; 072
+
+ db 40, 40, 35, 70, 50, 100
+ ; hp atk def spd sat sdf
+
+ db WATER, POISON
+ db 190 ; catch rate
+ db 105 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn INVERTEBRATE, INVERTEBRATE ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, SURF, WHIRLPOOL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/tentacruel.asm b/data/base_stats/tentacruel.asm
new file mode 100644
index 000000000..3f316f5d9
--- /dev/null
+++ b/data/base_stats/tentacruel.asm
@@ -0,0 +1,22 @@
+ db TENTACRUEL ; 073
+
+ db 80, 70, 65, 100, 80, 120
+ ; hp atk def spd sat sdf
+
+ db WATER, POISON
+ db 60 ; catch rate
+ db 205 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn INVERTEBRATE, INVERTEBRATE ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, SURF, WHIRLPOOL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/togepi.asm b/data/base_stats/togepi.asm
new file mode 100644
index 000000000..18e13c657
--- /dev/null
+++ b/data/base_stats/togepi.asm
@@ -0,0 +1,22 @@
+ db TOGEPI ; 175
+
+ db 35, 20, 65, 20, 40, 65
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 190 ; catch rate
+ db 74 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 10 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db SLOW ; growth rate
+ dn NO_EGGS, NO_EGGS ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, FLASH, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/togetic.asm b/data/base_stats/togetic.asm
new file mode 100644
index 000000000..6cd1b55a8
--- /dev/null
+++ b/data/base_stats/togetic.asm
@@ -0,0 +1,22 @@
+ db TOGETIC ; 176
+
+ db 55, 40, 85, 40, 80, 105
+ ; hp atk def spd sat sdf
+
+ db NORMAL, FLYING
+ db 75 ; catch rate
+ db 114 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 10 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db SLOW ; growth rate
+ dn AVIAN, FAIRY ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, STEEL_WING, FLY, FLASH, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/totodile.asm b/data/base_stats/totodile.asm
new file mode 100644
index 000000000..46521a06c
--- /dev/null
+++ b/data/base_stats/totodile.asm
@@ -0,0 +1,22 @@
+ db TOTODILE ; 158
+
+ db 50, 65, 64, 43, 44, 48
+ ; hp atk def spd sat sdf
+
+ db WATER, WATER
+ db 45 ; catch rate
+ db 66 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn MONSTER, AMPHIBIAN ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, CUT, SURF, WHIRLPOOL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/typhlosion.asm b/data/base_stats/typhlosion.asm
new file mode 100644
index 000000000..31adbd154
--- /dev/null
+++ b/data/base_stats/typhlosion.asm
@@ -0,0 +1,22 @@
+ db TYPHLOSION ; 157
+
+ db 78, 84, 78, 100, 109, 85
+ ; hp atk def spd sat sdf
+
+ db FIRE, FIRE
+ db 45 ; catch rate
+ db 209 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/tyranitar.asm b/data/base_stats/tyranitar.asm
new file mode 100644
index 000000000..68eccad67
--- /dev/null
+++ b/data/base_stats/tyranitar.asm
@@ -0,0 +1,22 @@
+ db TYRANITAR ; 248
+
+ db 100, 134, 110, 61, 95, 100
+ ; hp atk def spd sat sdf
+
+ db ROCK, DARK
+ db 45 ; catch rate
+ db 218 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 40 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn MONSTER, MONSTER ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DETECT, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, NIGHTMARE, CUT, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/tyrogue.asm b/data/base_stats/tyrogue.asm
new file mode 100644
index 000000000..c128a7b9c
--- /dev/null
+++ b/data/base_stats/tyrogue.asm
@@ -0,0 +1,22 @@
+ db TYROGUE ; 236
+
+ db 35, 35, 35, 35, 35, 35
+ ; hp atk def spd sat sdf
+
+ db FIGHTING, FIGHTING
+ db 75 ; catch rate
+ db 91 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 0 ; gender
+ db 100 ; unknown
+ db 25 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn NO_EGGS, NO_EGGS ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STRENGTH
+ ; end
diff --git a/data/base_stats/umbreon.asm b/data/base_stats/umbreon.asm
new file mode 100644
index 000000000..fadc9d9f8
--- /dev/null
+++ b/data/base_stats/umbreon.asm
@@ -0,0 +1,22 @@
+ db UMBREON ; 197
+
+ db 95, 65, 110, 65, 60, 130
+ ; hp atk def spd sat sdf
+
+ db DARK, DARK
+ db 45 ; catch rate
+ db 197 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 35 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, NIGHTMARE, CUT, FLASH
+ ; end
diff --git a/data/base_stats/unown.asm b/data/base_stats/unown.asm
new file mode 100644
index 000000000..0b5308aa9
--- /dev/null
+++ b/data/base_stats/unown.asm
@@ -0,0 +1,22 @@
+ db UNOWN ; 201
+
+ db 48, 72, 48, 48, 72, 48
+ ; hp atk def spd sat sdf
+
+ db PSYCHIC, PSYCHIC
+ db 225 ; catch rate
+ db 61 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 255 ; gender
+ db 100 ; unknown
+ db 40 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn NO_EGGS, NO_EGGS ; egg groups
+
+ ; tmhm
+ tmhm
+ ; end
diff --git a/data/base_stats/ursaring.asm b/data/base_stats/ursaring.asm
new file mode 100644
index 000000000..5e9171366
--- /dev/null
+++ b/data/base_stats/ursaring.asm
@@ -0,0 +1,22 @@
+ db URSARING ; 217
+
+ db 90, 130, 75, 55, 75, 75
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 60 ; catch rate
+ db 189 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH
+ ; end
diff --git a/data/base_stats/vaporeon.asm b/data/base_stats/vaporeon.asm
new file mode 100644
index 000000000..981fdc314
--- /dev/null
+++ b/data/base_stats/vaporeon.asm
@@ -0,0 +1,22 @@
+ db VAPOREON ; 134
+
+ db 130, 65, 60, 65, 110, 95
+ ; hp atk def spd sat sdf
+
+ db WATER, WATER
+ db 45 ; catch rate
+ db 196 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 35 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROAR, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/venomoth.asm b/data/base_stats/venomoth.asm
new file mode 100644
index 000000000..c31068c8f
--- /dev/null
+++ b/data/base_stats/venomoth.asm
@@ -0,0 +1,22 @@
+ db VENOMOTH ; 049
+
+ db 70, 65, 60, 90, 90, 75
+ ; hp atk def spd sat sdf
+
+ db BUG, POISON
+ db 75 ; catch rate
+ db 138 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn INSECT, INSECT ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SWIFT, REST, ATTRACT, THIEF, FLASH
+ ; end
diff --git a/data/base_stats/venonat.asm b/data/base_stats/venonat.asm
new file mode 100644
index 000000000..92e7de208
--- /dev/null
+++ b/data/base_stats/venonat.asm
@@ -0,0 +1,22 @@
+ db VENONAT ; 048
+
+ db 60, 55, 50, 45, 40, 55
+ ; hp atk def spd sat sdf
+
+ db BUG, POISON
+ db 190 ; catch rate
+ db 75 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn INSECT, INSECT ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SWIFT, REST, ATTRACT, THIEF
+ ; end
diff --git a/data/base_stats/venusaur.asm b/data/base_stats/venusaur.asm
new file mode 100644
index 000000000..88b839a08
--- /dev/null
+++ b/data/base_stats/venusaur.asm
@@ -0,0 +1,22 @@
+ db VENUSAUR ; 003
+
+ db 80, 82, 83, 80, 100, 100
+ ; hp atk def spd sat sdf
+
+ db GRASS, POISON
+ db 45 ; catch rate
+ db 208 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn MONSTER, PLANT ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROAR, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FURY_CUTTER, CUT, FLASH
+ ; end
diff --git a/data/base_stats/victreebel.asm b/data/base_stats/victreebel.asm
new file mode 100644
index 000000000..85701718f
--- /dev/null
+++ b/data/base_stats/victreebel.asm
@@ -0,0 +1,22 @@
+ db VICTREEBEL ; 071
+
+ db 80, 105, 65, 70, 100, 60
+ ; hp atk def spd sat sdf
+
+ db GRASS, POISON
+ db 45 ; catch rate
+ db 191 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn PLANT, PLANT ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
+ ; end
diff --git a/data/base_stats/vileplume.asm b/data/base_stats/vileplume.asm
new file mode 100644
index 000000000..5160c052c
--- /dev/null
+++ b/data/base_stats/vileplume.asm
@@ -0,0 +1,22 @@
+ db VILEPLUME ; 045
+
+ db 75, 80, 85, 50, 100, 90
+ ; hp atk def spd sat sdf
+
+ db GRASS, POISON
+ db 45 ; catch rate
+ db 184 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn PLANT, PLANT ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
+ ; end
diff --git a/data/base_stats/voltorb.asm b/data/base_stats/voltorb.asm
new file mode 100644
index 000000000..b4d9b1538
--- /dev/null
+++ b/data/base_stats/voltorb.asm
@@ -0,0 +1,22 @@
+ db VOLTORB ; 100
+
+ db 40, 30, 50, 100, 55, 55
+ ; hp atk def spd sat sdf
+
+ db ELECTRIC, ELECTRIC
+ db 190 ; catch rate
+ db 103 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 255 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn INANIMATE, INANIMATE ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, FLASH, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/vulpix.asm b/data/base_stats/vulpix.asm
new file mode 100644
index 000000000..f0bd24047
--- /dev/null
+++ b/data/base_stats/vulpix.asm
@@ -0,0 +1,22 @@
+ db VULPIX ; 037
+
+ db 38, 41, 40, 65, 50, 65
+ ; hp atk def spd sat sdf
+
+ db FIRE, FIRE
+ db 190 ; catch rate
+ db 63 ; base exp
+ db BURNT_BERRY ; item 1
+ db BURNT_BERRY ; item 2
+ db 191 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn FIELD, FIELD ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER
+ ; end
diff --git a/data/base_stats/wartortle.asm b/data/base_stats/wartortle.asm
new file mode 100644
index 000000000..28b0d42c2
--- /dev/null
+++ b/data/base_stats/wartortle.asm
@@ -0,0 +1,22 @@
+ db WARTORTLE ; 008
+
+ db 59, 63, 80, 58, 65, 80
+ ; hp atk def spd sat sdf
+
+ db WATER, WATER
+ db 45 ; catch rate
+ db 143 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 31 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn MONSTER, AMPHIBIAN ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/weedle.asm b/data/base_stats/weedle.asm
new file mode 100644
index 000000000..f11ee09e3
--- /dev/null
+++ b/data/base_stats/weedle.asm
@@ -0,0 +1,22 @@
+ db WEEDLE ; 013
+
+ db 40, 35, 30, 50, 20, 20
+ ; hp atk def spd sat sdf
+
+ db BUG, POISON
+ db 255 ; catch rate
+ db 52 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 15 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn INSECT, INSECT ; egg groups
+
+ ; tmhm
+ tmhm
+ ; end
diff --git a/data/base_stats/weepinbell.asm b/data/base_stats/weepinbell.asm
new file mode 100644
index 000000000..c85075e92
--- /dev/null
+++ b/data/base_stats/weepinbell.asm
@@ -0,0 +1,22 @@
+ db WEEPINBELL ; 070
+
+ db 65, 90, 50, 55, 85, 45
+ ; hp atk def spd sat sdf
+
+ db GRASS, POISON
+ db 120 ; catch rate
+ db 151 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_SLOW ; growth rate
+ dn PLANT, PLANT ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
+ ; end
diff --git a/data/base_stats/weezing.asm b/data/base_stats/weezing.asm
new file mode 100644
index 000000000..8a0d25bcb
--- /dev/null
+++ b/data/base_stats/weezing.asm
@@ -0,0 +1,22 @@
+ db WEEZING ; 110
+
+ db 65, 90, 120, 60, 85, 70
+ ; hp atk def spd sat sdf
+
+ db POISON, POISON
+ db 60 ; catch rate
+ db 173 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AMORPHOUS, AMORPHOUS ; egg groups
+
+ ; tmhm
+ tmhm CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, REST, ATTRACT, THIEF, FLAMETHROWER, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/wigglytuff.asm b/data/base_stats/wigglytuff.asm
new file mode 100644
index 000000000..61d6f69de
--- /dev/null
+++ b/data/base_stats/wigglytuff.asm
@@ -0,0 +1,22 @@
+ db WIGGLYTUFF ; 040
+
+ db 140, 70, 45, 45, 75, 50
+ ; hp atk def spd sat sdf
+
+ db NORMAL, NORMAL
+ db 50 ; catch rate
+ db 109 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 191 ; gender
+ db 100 ; unknown
+ db 10 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db SLOW ; growth rate
+ dn FAIRY, FAIRY ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+ ; end
diff --git a/data/base_stats/wobbuffet.asm b/data/base_stats/wobbuffet.asm
new file mode 100644
index 000000000..526139934
--- /dev/null
+++ b/data/base_stats/wobbuffet.asm
@@ -0,0 +1,22 @@
+ db WOBBUFFET ; 202
+
+ db 190, 33, 58, 33, 33, 58
+ ; hp atk def spd sat sdf
+
+ db PSYCHIC, PSYCHIC
+ db 45 ; catch rate
+ db 177 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AMORPHOUS, AMORPHOUS ; egg groups
+
+ ; tmhm
+ tmhm
+ ; end
diff --git a/data/base_stats/wooper.asm b/data/base_stats/wooper.asm
new file mode 100644
index 000000000..8449cda10
--- /dev/null
+++ b/data/base_stats/wooper.asm
@@ -0,0 +1,22 @@
+ db WOOPER ; 194
+
+ db 55, 45, 45, 15, 25, 25
+ ; hp atk def spd sat sdf
+
+ db WATER, GROUND
+ db 255 ; catch rate
+ db 52 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AMPHIBIAN, FIELD ; egg groups
+
+ ; tmhm
+ tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, SURF, FLASH, WHIRLPOOL, ICE_BEAM
+ ; end
diff --git a/data/base_stats/xatu.asm b/data/base_stats/xatu.asm
new file mode 100644
index 000000000..b5ef96969
--- /dev/null
+++ b/data/base_stats/xatu.asm
@@ -0,0 +1,22 @@
+ db XATU ; 178
+
+ db 65, 75, 70, 95, 95, 70
+ ; hp atk def spd sat sdf
+
+ db PSYCHIC, FLYING
+ db 75 ; catch rate
+ db 171 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AVIAN, AVIAN ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, FLY, FLASH
+ ; end
diff --git a/data/base_stats/yanma.asm b/data/base_stats/yanma.asm
new file mode 100644
index 000000000..6fe69d8c5
--- /dev/null
+++ b/data/base_stats/yanma.asm
@@ -0,0 +1,22 @@
+ db YANMA ; 193
+
+ db 65, 65, 45, 95, 75, 45
+ ; hp atk def spd sat sdf
+
+ db BUG, FLYING
+ db 75 ; catch rate
+ db 147 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 20 ; step cycles to hatch
+ db 5 ; unknown
+ dn 6, 6 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn INSECT, INSECT ; egg groups
+
+ ; tmhm
+ tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, FLASH
+ ; end
diff --git a/data/base_stats/zapdos.asm b/data/base_stats/zapdos.asm
new file mode 100644
index 000000000..c3fa8a742
--- /dev/null
+++ b/data/base_stats/zapdos.asm
@@ -0,0 +1,22 @@
+ db ZAPDOS ; 145
+
+ db 90, 90, 85, 100, 125, 90
+ ; hp atk def spd sat sdf
+
+ db ELECTRIC, FLYING
+ db 3 ; catch rate
+ db 216 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 255 ; gender
+ db 100 ; unknown
+ db 80 ; step cycles to hatch
+ db 5 ; unknown
+ dn 7, 7 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db FAST ; growth rate
+ dn NO_EGGS, NO_EGGS ; egg groups
+
+ ; tmhm
+ tmhm CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, STEEL_WING, FLY, FLASH, THUNDERBOLT
+ ; end
diff --git a/data/base_stats/zubat.asm b/data/base_stats/zubat.asm
new file mode 100644
index 000000000..882d8d436
--- /dev/null
+++ b/data/base_stats/zubat.asm
@@ -0,0 +1,22 @@
+ db ZUBAT ; 041
+
+ db 40, 45, 35, 55, 30, 40
+ ; hp atk def spd sat sdf
+
+ db POISON, FLYING
+ db 255 ; catch rate
+ db 54 ; base exp
+ db NO_ITEM ; item 1
+ db NO_ITEM ; item 2
+ db 127 ; gender
+ db 100 ; unknown
+ db 15 ; step cycles to hatch
+ db 5 ; unknown
+ dn 5, 5 ; frontpic dimensions
+ db 0, 0, 0, 0 ; padding
+ db MEDIUM_FAST ; growth rate
+ dn AVIAN, AVIAN ; egg groups
+
+ ; tmhm
+ tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING
+ ; end
diff --git a/data/sprite_engine.asm b/data/sprite_engine.asm
index 715ff309a..4396e1745 100755
--- a/data/sprite_engine.asm
+++ b/data/sprite_engine.asm
@@ -66,7 +66,7 @@ SpriteAnimFrameData: ; 8d6e6
dw .Frameset_40 ; 40 celebi on the left
dw .Frameset_41 ; 41 celebi on the right
; 8d76a
- ; OAM idx (see SpriteAnimOAMData), flip flags/duration
+; OAM idx (see SpriteAnimOAMData), flip flags/duration
.Frameset_00:
db $00, $20
db -1
diff --git a/engine/breeding/egg.asm b/engine/breeding/egg.asm
index 0573e2ecd..cfe4d9a1c 100755
--- a/engine/breeding/egg.asm
+++ b/engine/breeding/egg.asm
@@ -677,9 +677,9 @@ Hatch_UpdateFrontpicBGMapCenter: ; 17254 (5:7254)
ld a, b
ld [hBGMapAddress + 1], a
ld a, c
- ld [hFillBox], a
+ ld [hGraphicStartTile], a
lb bc, 7, 7
- predef FillBox
+ predef PlaceGraphic
pop af
call Hatch_LoadFrontpicPal
call SetPalettes
diff --git a/engine/compose_mail.asm b/engine/compose_mail.asm
deleted file mode 100755
index 64165a13a..000000000
--- a/engine/compose_mail.asm
+++ /dev/null
@@ -1,517 +0,0 @@
-_ComposeMailMessage: ; 11e75 (mail?)
- ld hl, wc6d0
- ld [hl], e
- inc hl
- ld [hl], d
- ld a, [hMapAnims]
- push af
- xor a
- ld [hMapAnims], a
- ld a, [hInMenu]
- push af
- ld a, $1
- ld [hInMenu], a
- call .InitBlankMail
- call DelayFrame
-
-.loop
- call .DoMailEntry
- jr nc, .loop
-
- pop af
- ld [hInMenu], a
- pop af
- ld [hMapAnims], a
- ret
-
-.InitBlankMail: ; 11e9a (4:5e9a)
- call ClearBGPalettes
- call DisableLCD
- call Function11c51
- ld de, VTiles0 tile $00
- ld hl, .MailIcon
- ld bc, 8 tiles
- ld a, BANK(.MailIcon)
- call FarCopyBytes
- xor a
- ld hl, wSpriteAnimDict
- ld [hli], a
- ld [hl], a
-
- ; init mail icon
- depixel 3, 2
- ld a, SPRITE_ANIM_INDEX_00
- call _InitSpriteAnimStruct
-
- ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
- add hl, bc
- ld [hl], $0
- call .InitCharset
- ld a, $e3
- ld [rLCDC], a
- call .initwc6d3
- ld b, SCGB_08
- call GetSGBLayout
- call WaitBGMap
- call WaitTop
- ld a, %11100100
- call DmgToCgbBGPals
- ld a, %11100100
- call DmgToCgbObjPal0
- call Function11be0
- ld hl, wc6d0
- ld e, [hl]
- inc hl
- ld d, [hl]
- ld hl, $10
- add hl, de
- ld [hl], $4e
- ret
-
-; 11ef4 (4:5ef4)
-
-.MailIcon: ; 11ef4
-INCBIN "gfx/icon/mail2.2bpp"
-; 11f74
-
-.initwc6d3: ; 11f74 (4:5f74)
- ld a, $21
- ld [wc6d3], a
- ret
-
-; 11f7a (4:5f7a)
-
-.Dummy: ; dummied out
- db "メールを かいてね@"
-; 11f84
-
-.InitCharset: ; 11f84 (4:5f84)
- call WaitTop
- hlcoord 0, 0
- ld bc, 6 * SCREEN_WIDTH
- ld a, $60 ; border
- call ByteFill
- hlcoord 0, 6
- ld bc, 12 * SCREEN_WIDTH
- ld a, " "
- call ByteFill
- hlcoord 1, 1
- lb bc, 4, SCREEN_WIDTH - 2
- call ClearBox
- ld de, MailEntry_Uppercase
-
-.PlaceMailCharset: ; 11fa9 (4:5fa9)
- hlcoord 1, 7
- ld b, 6
-.next
- ld c, SCREEN_WIDTH - 1
-.loop_
- ld a, [de]
- ld [hli], a
- inc de
- dec c
- jr nz, .loop_
- push de
- ld de, SCREEN_WIDTH + 1
- add hl, de
- pop de
- dec b
- jr nz, .next
- ret
-
-.DoMailEntry: ; 11fc0 (4:5fc0)
- call JoyTextDelay
- ld a, [wJumptableIndex]
- bit 7, a
- jr nz, .exit_mail
- call .DoJumptable
- callba PlaySpriteAnimationsAndDelayFrame
- call .Update
- call DelayFrame
- and a
- ret
-
-.exit_mail
- callab ClearSpriteAnims
- call ClearSprites
- xor a
- ld [hSCX], a
- ld [hSCY], a
- scf
- ret
-
-.Update: ; 11feb (4:5feb)
- xor a
- ld [hBGMapMode], a
- hlcoord 1, 1
- lb bc, 4, 18
- call ClearBox
- ld hl, wc6d0
- ld e, [hl]
- inc hl
- ld d, [hl]
- hlcoord 2, 2
- call PlaceString
- ld a, $1
- ld [hBGMapMode], a
- ret
-
-.DoJumptable: ; 12008 (4:6008)
- ld a, [wJumptableIndex]
- ld e, a
- ld d, 0
- ld hl, .Jumptable
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
-
-.Jumptable: ; 12017 (4:6017)
- dw .init_blinking_cursor
- dw .process_joypad
-
-
-.init_blinking_cursor: ; 1201b (4:601b)
- depixel 9, 2
- ld a, SPRITE_ANIM_INDEX_09
- call _InitSpriteAnimStruct
- ld a, c
- ld [wc6d5], a
- ld a, b
- ld [wc6d6], a
- ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
- add hl, bc
- ld a, [hl]
- ld hl, SPRITEANIMSTRUCT_0E
- add hl, bc
- ld [hl], a
- ld hl, wJumptableIndex
- inc [hl]
- ret
-
-.process_joypad: ; 1203a (4:603a)
- ld hl, hJoyPressed ; $ffa7
- ld a, [hl]
- and A_BUTTON
- jr nz, .a
- ld a, [hl]
- and B_BUTTON
- jr nz, .b
- ld a, [hl]
- and START
- jr nz, .start
- ld a, [hl]
- and SELECT
- jr nz, .select
- ret
-
-.a
- call Function12185
- cp $1
- jr z, .select
- cp $2
- jr z, .b
- cp $3
- jr z, .finished
- call Function11c11
- call Function121ac
- jr c, .start
- ld hl, wc6d2
- ld a, [hl]
- cp $10
- ret nz
- inc [hl]
- call Function11bd0
- ld [hl], $f2
- dec hl
- ld [hl], $4e
- ret
-
-.start
- ld hl, wc6d5
- ld c, [hl]
- inc hl
- ld b, [hl]
- ld hl, SPRITEANIMSTRUCT_0C
- add hl, bc
- ld [hl], $9
- ld hl, SPRITEANIMSTRUCT_0D
- add hl, bc
- ld [hl], $5
- ret
-
-.b
- call Function11bbc
- ld hl, wc6d2
- ld a, [hl]
- cp $10
- ret nz
- dec [hl]
- call Function11bd0
- ld [hl], $f2
- inc hl
- ld [hl], $4e
- ret
-
-.finished
- call Function11bf7
- ld hl, wJumptableIndex
- set 7, [hl]
- ret
-
-.select
- ld hl, wcf64
- ld a, [hl]
- xor $1
- ld [hl], a
- jr nz, .switch_to_lowercase
- ld de, MailEntry_Uppercase
- call .PlaceMailCharset
- ret
-
-.switch_to_lowercase
- ld de, MailEntry_Lowercase
- call .PlaceMailCharset
- ret
-
-; called from engine/sprite_anims.asm
-Function120c1: ; 120c1 (4:60c1)
- call Function1210c
- ld hl, SPRITEANIMSTRUCT_0D
- add hl, bc
- ld a, [hl]
- ld e, a
- swap e
- ld hl, SPRITEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], e
- cp $5
- ld de, Unknown_120f8
- ld a, 0
- jr nz, .asm_120df
- ld de, Unknown_12102
- ld a, 1
-.asm_120df
- ld hl, SPRITEANIMSTRUCT_0E
- add hl, bc
- add [hl]
- ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
- add hl, bc
- ld [hl], a
- ld hl, SPRITEANIMSTRUCT_0C
- add hl, bc
- ld l, [hl]
- ld h, 0
- add hl, de
- ld a, [hl]
- ld hl, SPRITEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ret
-
-; 120f8 (4:60f8)
-
-Unknown_120f8: ; 120f8
- db $00, $10, $20, $30, $40, $50, $60, $70, $80, $90
-Unknown_12102: ; 12102
- db $00, $00, $00, $30, $30, $30, $60, $60, $60, $60
-; 1210c
-
-Function1210c: ; 1210c (4:610c)
- ld hl, hJoyLast
- ld a, [hl]
- and D_UP
- jr nz, .up
- ld a, [hl]
- and D_DOWN
- jr nz, .down
- ld a, [hl]
- and D_LEFT
- jr nz, .left
- ld a, [hl]
- and D_RIGHT
- jr nz, .right
- ret
-
-.right
- call Function1218b
- and a
- jr nz, .asm_12138
- ld hl, SPRITEANIMSTRUCT_0C
- add hl, bc
- ld a, [hl]
- cp $9
- jr nc, .asm_12135
- inc [hl]
- ret
-
-.asm_12135
- ld [hl], $0
- ret
-
-.asm_12138
- cp $3
- jr nz, .asm_1213d
- xor a
-.asm_1213d
- ld e, a
- add a
- add e
- ld hl, SPRITEANIMSTRUCT_0C
- add hl, bc
- ld [hl], a
- ret
-
-.left
- call Function1218b
- and a
- jr nz, .asm_12159
- ld hl, SPRITEANIMSTRUCT_0C
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_12156
- dec [hl]
- ret
-
-.asm_12156
- ld [hl], $9
- ret
-
-.asm_12159
- cp $1
- jr nz, .asm_1215f
- ld a, $4
-.asm_1215f
-rept 2
- dec a
-endr
- ld e, a
- add a
- add e
- ld hl, SPRITEANIMSTRUCT_0C
- add hl, bc
- ld [hl], a
- ret
-
-.down
- ld hl, SPRITEANIMSTRUCT_0D
- add hl, bc
- ld a, [hl]
- cp $5
- jr nc, .asm_12175
- inc [hl]
- ret
-
-.asm_12175
- ld [hl], $0
- ret
-
-.up
- ld hl, SPRITEANIMSTRUCT_0D
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_12182
- dec [hl]
- ret
-
-.asm_12182
- ld [hl], $5
- ret
-
-Function12185: ; 12185 (4:6185)
- ld hl, wc6d5
- ld c, [hl]
- inc hl
- ld b, [hl]
-
-Function1218b: ; 1218b (4:618b)
- ld hl, SPRITEANIMSTRUCT_0D
- add hl, bc
- ld a, [hl]
- cp $5
- jr nz, .asm_121aa
- ld hl, SPRITEANIMSTRUCT_0C
- add hl, bc
- ld a, [hl]
- cp $3
- jr c, .asm_121a4
- cp $6
- jr c, .asm_121a7
- ld a, $3
- ret
-
-.asm_121a4
- ld a, $1
- ret
-
-.asm_121a7
- ld a, $2
- ret
-
-.asm_121aa
- xor a
- ret
-
-Function121ac: ; 121ac (4:61ac)
- ld a, [wc6d7]
- jp Function11b17
-; 121b2 (4:61b2)
-
-Function121b2: ; unreferenced
- ld a, [wc6d2]
- and a
- ret z
- cp $11
- jr nz, .asm_121c3
- push hl
- ld hl, wc6d2
-rept 2
- dec [hl]
-endr
- jr .asm_121c8
-
-.asm_121c3
- push hl
- ld hl, wc6d2
- dec [hl]
-
-.asm_121c8
- call Function11bd0
- ld c, [hl]
- pop hl
-.asm_121cd
- ld a, [hli]
- cp $ff
- jp z, Function11b27
- cp c
- jr z, .asm_121d9
- inc hl
- jr .asm_121cd
-
-.asm_121d9
- ld a, [hl]
- jp Function11b23
-; 121dd
-
-MailEntry_Uppercase: ; 122dd
- db "A B C D E F G H I J"
- db "K L M N O P Q R S T"
- db "U V W X Y Z , ? !"
- db "1 2 3 4 5 6 7 8 9 0"
- db "<PK> <MN> <PO> <KE> é ♂ ♀ ¥ … ×"
- db "lower DEL END "
-; 1224f
-
-MailEntry_Lowercase: ; 1224f
- db "a b c d e f g h i j"
- db "k l m n o p q r s t"
- db "u v w x y z . - /"
- db "'d 'l 'm 'r 's 't 'v & ( )"
- db "<``> <''> [ ] ' : ; "
- db "UPPER DEL END "
-; 122c1
diff --git a/engine/debug.asm b/engine/debug.asm
index df5dbee56..d69cd254b 100755
--- a/engine/debug.asm
+++ b/engine/debug.asm
@@ -401,10 +401,10 @@ Function81adb: ; 81adb
ld de, VTiles2 tile $31
predef GetBackpic
ld a, $31
- ld [hFillBox], a
+ ld [hGraphicStartTile], a
hlcoord 2, 4
lb bc, 6, 6
- predef FillBox
+ predef PlaceGraphic
ld a, [wd003]
and a
jr z, .asm_81b66
@@ -433,10 +433,10 @@ Function81adb: ; 81adb
callab GetTrainerPic
xor a
ld [TempEnemyMonSpecies], a
- ld [hFillBox], a
+ ld [hGraphicStartTile], a
hlcoord 2, 3
lb bc, 7, 7
- predef FillBox
+ predef PlaceGraphic
.asm_81ba9
ld a, $1
diff --git a/engine/dummy_game.asm b/engine/dummy_game.asm
index 4e2e189da..116ad9439 100755
--- a/engine/dummy_game.asm
+++ b/engine/dummy_game.asm
@@ -109,7 +109,7 @@ endr
.spawn_object
depixel 6, 3, 4, 4
- ld a, SPRITE_ANIM_INDEX_0C
+ ld a, SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
call _InitSpriteAnimStruct
ld a, 5
ld [wDummyGameNumberTriesRemaining], a
diff --git a/engine/engine_flags.asm b/engine/engine_flags.asm
index d8be9c494..2b441bab4 100644
--- a/engine/engine_flags.asm
+++ b/engine/engine_flags.asm
@@ -108,7 +108,7 @@ ENDM
engine_flag wMomSavingMoney, 0 ; mom saving money ; $8
engine_flag wMomSavingMoney, 7 ; dst
- engine_flag wdc39, 0 ; unused, possibly related to a 2-day timer
+ engine_flag wUnusedTwoDayTimerOn, 0 ; unused, possibly related to a 2-day timer
engine_flag StatusFlags, 0 ; pokedex
engine_flag StatusFlags, 1 ; unown dex
diff --git a/engine/events.asm b/engine/events.asm
index 9b4062aea..9b701be8a 100644
--- a/engine/events.asm
+++ b/engine/events.asm
@@ -124,8 +124,8 @@ StartMap: ; 96724
call ClearJoypad
EnterMap: ; 9673e
xor a
- ld [wd453], a
- ld [wd454], a
+ ld [wXYComparePointer], a
+ ld [wXYComparePointer + 1], a
call SetUpFiveStepWildEncounterCooldown
callba RunMapSetupScript
call DisableEvents
@@ -378,7 +378,7 @@ CheckTileEvent: ; 96874
ret
.warp_tile
- ld a, [PlayerNextTile]
+ ld a, [PlayerStandingTile]
call CheckPitTile
jr nz, .not_pit
ld a, PLAYEREVENT_FALL
@@ -454,7 +454,7 @@ DoMapTrigger: ; 968ec
ld h, [hl]
ld l, a
rept 4
- add hl,de
+ add hl, de
endr
call GetMapScriptHeaderBank
@@ -1031,7 +1031,7 @@ DoPlayerEvent: ; 96beb
ld b, 0
ld hl, PlayerEventScriptPointers
rept 3
- add hl,bc
+ add hl, bc
endr
ld a, [hli]
ld [ScriptBank], a
diff --git a/engine/events_2.asm b/engine/events_2.asm
index 9d2763ac8..ec5026e40 100644
--- a/engine/events_2.asm
+++ b/engine/events_2.asm
@@ -161,7 +161,7 @@ CanUseSweetScent:: ; 97cfd
jr nc, .no
.ice_check
- ld a, [PlayerNextTile]
+ ld a, [PlayerStandingTile]
call CheckIceTile
jr z, .no
scf
@@ -235,7 +235,7 @@ ChooseWildEncounter_BugContest:: ; 97d31
; 97d64
TryWildEncounter_BugContest: ; 97d64
- ld a, [PlayerNextTile]
+ ld a, [PlayerStandingTile]
call CheckSuperTallGrassTile
ld b, 40 percent
jr z, .ok
diff --git a/engine/events_3.asm b/engine/events_3.asm
index 57554d3f1..55dc59a1a 100755
--- a/engine/events_3.asm
+++ b/engine/events_3.asm
@@ -288,7 +288,7 @@ CheckForHiddenItems: ; b8172
add SCREEN_HEIGHT / 4
ld [wd1ec], a
; Get the pointer for the first signpost header in the map...
- ld hl, wdc02
+ ld hl, wCurrentMapSignpostHeaderPointer
ld a, [hli]
ld h, [hl]
ld l, a
diff --git a/engine/evolve.asm b/engine/evolve.asm
index 4a959529a..b04a245e0 100755
--- a/engine/evolve.asm
+++ b/engine/evolve.asm
@@ -6,7 +6,6 @@ EvolvePokemon: ; 421d8
ld c, a
ld b, SET_FLAG
call EvoFlagAction
-
EvolveAfterBattle: ; 421e6
xor a
ld [wMonTriedToEvolve], a
@@ -19,7 +18,7 @@ EvolveAfterBattle: ; 421e6
push hl
-CheckForEvolvablePokemon: ; 421f5
+EvolveAfterBattle_MasterLoop
ld hl, CurPartyMon
inc [hl]
@@ -28,7 +27,7 @@ CheckForEvolvablePokemon: ; 421f5
inc hl
ld a, [hl]
cp $ff
- jp z, Evolution_ReturnToMap
+ jp z, .ReturnToMap
ld [Buffer1], a
@@ -40,7 +39,7 @@ CheckForEvolvablePokemon: ; 421f5
call EvoFlagAction
ld a, c
and a
- jp z, CheckForEvolvablePokemon
+ jp z, EvolveAfterBattle_MasterLoop
ld a, [Buffer1]
dec a
@@ -63,7 +62,7 @@ endr
.loop
ld a, [hli]
and a
- jr z, CheckForEvolvablePokemon
+ jr z, EvolveAfterBattle_MasterLoop
ld b, a
@@ -324,7 +323,7 @@ endr
push hl
ld l, e
ld h, d
- jp CheckForEvolvablePokemon
+ jp EvolveAfterBattle_MasterLoop
; 423f8
.dont_evolve_1
@@ -334,12 +333,10 @@ endr
.dont_evolve_3
inc hl
jp .loop
-; 423fe
-; dummy pop
+; XXX
pop hl
-
-Evolution_ReturnToMap: ; 423ff
+.ReturnToMap
pop de
pop bc
pop hl
@@ -393,7 +390,7 @@ CancelEvolution: ; 42454
call PrintText
call ClearTileMap
pop hl
- jp CheckForEvolvablePokemon
+ jp EvolveAfterBattle_MasterLoop
; 42461
IsMonHoldingEverstone: ; 42461
diff --git a/engine/healmachineanim.asm b/engine/healmachineanim.asm
index 57f03a8df..b4e0be1cf 100755
--- a/engine/healmachineanim.asm
+++ b/engine/healmachineanim.asm
@@ -19,7 +19,7 @@ HealMachineAnim: ; 12324
.DoJumptableFunctions: ; 1233e
xor a
- ld [wd1ec], a
+ ld [Buffer3], a
.jumpable_loop
ld a, [Buffer1]
ld e, a
@@ -31,10 +31,10 @@ endr
ld a, [hli]
ld h, [hl]
ld l, a
- ld a, [wd1ec]
+ ld a, [Buffer3]
ld e, a
inc a
- ld [wd1ec], a
+ ld [Buffer3], a
add hl, de
ld a, [hl]
cp 5
@@ -81,14 +81,14 @@ endr
.PC_LoadBallsOntoMachine: ; 12393
ld hl, Sprites + $80
- ld de, .PC_ElmsLab_TileMap
+ ld de, .PC_ElmsLab_OAM
call .PlaceHealingMachineTile
call .PlaceHealingMachineTile
jr .LoadBallsOntoMachine
.HOF_LoadBallsOntoMachine: ; 123a1
ld hl, Sprites + $80
- ld de, .HOF_TileMap
+ ld de, .HOF_OAM
.LoadBallsOntoMachine: ; 123a7
ld a, [PartyCount]
@@ -126,28 +126,28 @@ endr
ret
; 123dc
-.PC_ElmsLab_TileMap: ; 123dc
- db $20, $22, $7c, $16
- db $20, $26, $7c, $16
- db $26, $20, $7d, $16
- db $26, $28, $7d, $36
- db $2b, $20, $7d, $16
- db $2b, $28, $7d, $36
- db $30, $20, $7d, $16
- db $30, $28, $7d, $36
+.PC_ElmsLab_OAM: ; 123dc
+ dsprite 4, 0, 4, 2, $7c, $16
+ dsprite 4, 0, 4, 6, $7c, $16
+ dsprite 4, 6, 4, 0, $7d, $16
+ dsprite 4, 6, 5, 0, $7d, $36 ; xflip
+ dsprite 5, 3, 4, 0, $7d, $16
+ dsprite 5, 3, 5, 0, $7d, $36 ; xflip
+ dsprite 6, 0, 4, 0, $7d, $16
+ dsprite 6, 0, 5, 0, $7d, $36 ; xflip
; 123fc
.HealMachineGFX: ; 123fc
INCBIN "gfx/unknown/0123fc.2bpp"
; 1241c
-.HOF_TileMap: ; 1241c
- db $3c, $51, $7d, $16
- db $3c, $56, $7d, $16
- db $3b, $4d, $7d, $16
- db $3b, $5a, $7d, $16
- db $39, $49, $7d, $16
- db $39, $5d, $7d, $16
+.HOF_OAM: ; 1241c
+ dsprite 7, 4, 10, 1, $7d, $16
+ dsprite 7, 4, 10, 6, $7d, $16
+ dsprite 7, 3, 9, 5, $7d, $16
+ dsprite 7, 3, 11, 2, $7d, $16
+ dsprite 7, 1, 9, 1, $7d, $16
+ dsprite 7, 1, 11, 5, $7d, $16
; 12434
.LoadPalettes: ; 12434
@@ -241,10 +241,10 @@ endr
.PlaceHealingMachineTile: ; 124a3
push bc
ld a, [Buffer1]
- lb bc, $10, $20
+ bcpixel 2, 4
cp $1 ; ElmsLab
jr z, .okay
- lb bc, $00, $00
+ bcpixel 0, 0
.okay
ld a, [de]
diff --git a/engine/intro_menu.asm b/engine/intro_menu.asm
index 46c573483..6ece8e384 100755
--- a/engine/intro_menu.asm
+++ b/engine/intro_menu.asm
@@ -318,7 +318,7 @@ InitializeNPCNames: ; 5ce9
InitializeWorld: ; 5d23
call ShrinkPlayer
- callba GetSpawnCoord
+ callba SpawnPlayer
callba _InitializeStartDay
ret
; 5d33
@@ -947,10 +947,10 @@ Intro_PrepTrainerPic: ; 619c
ld de, VTiles2
callba GetTrainerPic
xor a
- ld [hFillBox], a
+ ld [hGraphicStartTile], a
hlcoord 6, 4
lb bc, 7, 7
- predef FillBox
+ predef PlaceGraphic
ret
; 61b4
@@ -959,10 +959,10 @@ ShrinkFrame: ; 61b4
ld c, $31
predef DecompressPredef
xor a
- ld [hFillBox], a
+ ld [hGraphicStartTile], a
hlcoord 6, 4
lb bc, 7, 7
- predef FillBox
+ predef PlaceGraphic
ret
; 61cd
diff --git a/engine/link.asm b/engine/link.asm
index a4d23762b..e425ce4d8 100755
--- a/engine/link.asm
+++ b/engine/link.asm
@@ -427,7 +427,7 @@ Gen2ToGen2LinkComms: ; 28177
or $3
ld [hl], a
ld hl, OTPlayerName
- ld de, OTName
+ ld de, OTClassName
ld bc, NAME_LENGTH
call CopyBytes
call ReturnToMapFromSubmenu
@@ -578,7 +578,7 @@ FixDataForLinkTransfer: ; 28434
rept 3
ld [hli], a
endr
- ld b, wc6d3 - (wMisc + 3)
+ ld b, $c8
xor a
.loop3
ld [hli], a
diff --git a/engine/map_setup.asm b/engine/map_setup.asm
index 50ab18335..8fa768c87 100644
--- a/engine/map_setup.asm
+++ b/engine/map_setup.asm
@@ -272,7 +272,7 @@ MapSetupCommands: ; 15440
dba GetCoordOfUpperLeftCorner ; 1f
dba RestoreFacingAfterWarp ; 20
dba SpawnInFacingDown ; 21
- dba GetSpawnCoord ; 22
+ dba SpawnPlayer ; 22
dba RefreshPlayerCoords ; 23
dba DelayClearingOldSprites ; 24
dba DelayLoadingNewSprites ; 25
diff --git a/engine/mon_icons.asm b/engine/mon_icons.asm
index f579d0cd5..5e41cd4a1 100755
--- a/engine/mon_icons.asm
+++ b/engine/mon_icons.asm
@@ -18,16 +18,16 @@ Function8e83f: ; 8e83f
push hl
push de
push bc
- call Function8e849
+ call .LoadIcon
pop bc
pop de
pop hl
ret
; 8e849
-Function8e849: ; 8e849
+.LoadIcon: ; 8e849
ld d, 0
- ld hl, .dw
+ ld hl, .Jumptable
rept 2
add hl, de
endr
@@ -38,23 +38,23 @@ endr
; 8e854
-.dw: ; 8e854 (23:6854)
+.Jumptable: ; 8e854 (23:6854)
dw Function8e8d5 ; init
dw Function8e961
dw Function8e97d
- dw Function8e99a
+ dw Trade_LoadMonIconGFX
dw Function8e898
dw Mobile_InitPartyMenuBGPal71
- dw Function8e862
+ dw .GetPartyMenuMonIcon
-Function8e862: ; 8e862 (23:6862)
+.GetPartyMenuMonIcon: ; 8e862 (23:6862)
call InitPartyMenuIcon
- call Function8e86c
+ call .GetPartyMonItemGFX
call SetPartyMonIconAnimSpeed
ret
-Function8e86c: ; 8e86c (23:686c)
+.GetPartyMonItemGFX: ; 8e86c (23:686c)
push bc
ld a, [hObjectStructIndexBuffer]
ld hl, PartyMon1Item
@@ -63,22 +63,23 @@ Function8e86c: ; 8e86c (23:686c)
pop bc
ld a, [hl]
and a
- jr z, .asm_8e890
+ jr z, .no_item
push hl
push bc
ld d, a
callab ItemIsMail
pop bc
pop hl
- jr c, .asm_8e88e
+ jr c, .not_mail
ld a, $6
- jr .asm_8e892
-.asm_8e88e
+ jr .got_tile
+.not_mail
ld a, $5
- ; jr .asm_8e892
-.asm_8e890
+ ; jr .got_tile
+
+.no_item
ld a, $4
-.asm_8e892
+.got_tile
ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc
ld [hl], a
@@ -246,7 +247,7 @@ Function8e97d: ; 8e97d (23:697d)
ld [hl], SPRITE_ANIM_SEQ_NULL
ret
-Function8e99a: ; 8e99a (23:699a)
+Trade_LoadMonIconGFX: ; 8e99a (23:699a)
ld a, [wd265]
call ReadMonMenuIcon
ld [CurIcon], a
diff --git a/engine/money.asm b/engine/money.asm
index d5d9b5c5c..aa1d7b696 100755
--- a/engine/money.asm
+++ b/engine/money.asm
@@ -86,7 +86,7 @@ CompareFunds: ; 1600d
jr .skip_carry
.set_carry
- ld a, TRUE
+ ld a, 1
and a
scf
.skip_carry
diff --git a/engine/namingscreen.asm b/engine/namingscreen.asm
index f36e9b5eb..aac059a18 100755
--- a/engine/namingscreen.asm
+++ b/engine/namingscreen.asm
@@ -3,14 +3,15 @@ _NamingScreen: ; 0x116b7
call NamingScreen
call ReturnToMapWithSpeechTextbox
ret
+
; 0x116c1
NamingScreen: ; 116c1
- ld hl, wc6d0
+ ld hl, wNamingScreenDestinationPointer
ld [hl], e
inc hl
ld [hl], d
- ld hl, wc6d4
+ ld hl, wNamingScreenType
ld [hl], b
ld hl, Options
ld a, [hl]
@@ -24,11 +25,11 @@ NamingScreen: ; 116c1
push af
ld a, $1
ld [hInMenu], a
- call Function116f8
+ call .SetUpNamingScreen
call DelayFrame
-.asm_116e5
- call Function11915
- jr nc, .asm_116e5
+.loop
+ call NamingScreenJoypadLoop
+ jr nc, .loop
pop af
ld [hInMenu], a
pop af
@@ -37,31 +38,33 @@ NamingScreen: ; 116c1
ld [Options], a
call ClearJoypad
ret
+
; 116f8
-Function116f8: ; 116f8
+.SetUpNamingScreen: ; 116f8
call ClearBGPalettes
ld b, SCGB_08
call GetSGBLayout
call DisableLCD
- call Function11c51
- call Function118a8
+ call LoadNamingScreenGFX
+ call NamingScreen_InitText
ld a, $e3
ld [rLCDC], a
- call Function1171d
+ call .GetNamingScreenSetup
call WaitBGMap
call WaitTop
call SetPalettes
- call Function11be0
+ call NamingScreen_InitNameEntry
ret
+
; 1171d
-Function1171d: ; 1171d
- ld a, [wc6d4]
+.GetNamingScreenSetup: ; 1171d
+ ld a, [wNamingScreenType]
and 7
ld e, a
ld d, 0
- ld hl, Jumptable_1172e
+ ld hl, .Jumptable
rept 2
add hl, de
endr
@@ -69,21 +72,20 @@ endr
ld h, [hl]
ld l, a
jp [hl]
-; 1172e
-
-
-Jumptable_1172e: ; 1172e (4:572e)
- dw Function1173e
- dw Function1178d
- dw Function117ae
- dw Function117d1
- dw Function117f5
- dw Function1182c
- dw Function1173e
- dw Function1173e
+; 1172e
-Function1173e: ; 1173e (4:573e)
+.Jumptable: ; 1172e (4:572e)
+ dw .Pokemon
+ dw .Player
+ dw .Rival
+ dw .Mom
+ dw .Box
+ dw .Tomodachi
+ dw .Pokemon
+ dw .Pokemon
+
+.Pokemon: ; 1173e (4:573e)
ld a, [CurPartySpecies]
ld [wd265], a
ld hl, Function8e83f
@@ -97,180 +99,192 @@ Function1173e: ; 1173e (4:573e)
call PlaceString
ld l, c
ld h, b
- ld de, Strings_11780
+ ld de, .NicknameStrings
call PlaceString
inc de
hlcoord 5, 4
call PlaceString
callba GetGender
- jr c, .asm_1177c
- ld a, $ef
- jr nz, .asm_11778
- ld a, $f5
-.asm_11778
+ jr c, .genderless
+ ld a, "♂"
+ jr nz, .place_gender
+ ld a, "♀"
+.place_gender
hlcoord 1, 2
ld [hl], a
-.asm_1177c
- call Function1187b
+.genderless
+ call .StoreMonIconParams
ret
+
; 11780 (4:5780)
-Strings_11780: ; 11780
+.NicknameStrings: ; 11780
db "'S@"
db "NICKNAME?@"
+
; 1178d
-Function1178d: ; 1178d (4:578d)
+.Player: ; 1178d (4:578d)
callba GetPlayerIcon
- call Function11847
+ call .LoadSprite
hlcoord 5, 2
- ld de, String_117a3
+ ld de, .PlayerNameString
call PlaceString
- call Function11882
+ call .StoreSpriteIconParams
ret
+
; 117a3 (4:57a3)
-String_117a3: ; 117a3
+.PlayerNameString: ; 117a3
db "YOUR NAME?@"
+
; 117ae
-Function117ae: ; 117ae (4:57ae)
+.Rival: ; 117ae (4:57ae)
ld de, SilverSpriteGFX
ld b, BANK(SilverSpriteGFX)
- call Function11847
+ call .LoadSprite
hlcoord 5, 2
- ld de, String_117c3
+ ld de, .RivalNameString
call PlaceString
- call Function11882
+ call .StoreSpriteIconParams
ret
+
; 117c3 (4:57c3)
-String_117c3: ; 117c3
+.RivalNameString: ; 117c3
db "RIVAL'S NAME?@"
+
; 117d1
-Function117d1: ; 117d1 (4:57d1)
+.Mom: ; 117d1 (4:57d1)
ld de, MomSpriteGFX
ld b, BANK(MomSpriteGFX)
- call Function11847
+ call .LoadSprite
hlcoord 5, 2
- ld de, String_117e6
+ ld de, .MomNameString
call PlaceString
- call Function11882
+ call .StoreSpriteIconParams
ret
+
; 117e6 (4:57e6)
-String_117e6: ; 117e6
+.MomNameString: ; 117e6
db "MOTHER'S NAME?@"
+
; 117f5
-Function117f5: ; 117f5 (4:57f5)
+.Box: ; 117f5 (4:57f5)
ld de, PokeBallSpriteGFX
ld hl, VTiles0 tile $00
lb bc, BANK(PokeBallSpriteGFX), $4
call Request2bpp
xor a
- ld hl, wc300
+ ld hl, wSpriteAnimDict
ld [hli], a
ld [hl], a
depixel 4, 4, 4, 0
- ld a, SPRITE_ANIM_INDEX_WALK_CYCLE
+ ld a, SPRITE_ANIM_INDEX_RED_WALK
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc
ld [hl], $0
hlcoord 5, 2
- ld de, String_11822
+ ld de, .BoxNameString
call PlaceString
- call Function11889
+ call .StoreBoxIconParams
ret
+
; 11822 (4:5822)
-String_11822: ; 11822
+.BoxNameString: ; 11822
db "BOX NAME?@"
+
; 1182c
-Function1182c: ; 1182c (4:582c)
+.Tomodachi: ; 1182c (4:582c)
hlcoord 3, 2
- ld de, String_11839
+ ld de, .oTomodachi_no_namae_sutoringu
call PlaceString
- call Function11882
+ call .StoreSpriteIconParams
ret
+
; 11839 (4:5839)
-String_11839: ; 11839
+.oTomodachi_no_namae_sutoringu: ; 11839
db "おともだち の なまえは?@"
+
; 11847
-Function11847: ; 11847 (4:5847)
+.LoadSprite: ; 11847 (4:5847)
push de
ld hl, VTiles0 tile $00
ld c, $4
push bc
call Request2bpp
pop bc
- ld hl, $c0
+ ld hl, 12 tiles
add hl, de
ld e, l
ld d, h
ld hl, VTiles0 tile $04
call Request2bpp
xor a
- ld hl, wc300
+ ld hl, wSpriteAnimDict
ld [hli], a
ld [hl], a
pop de
- ld b, SPRITE_ANIM_INDEX_WALK_CYCLE
+ ld b, SPRITE_ANIM_INDEX_RED_WALK
ld a, d
- cp $7a
- jr nz, .asm_11873
+ cp KrisSpriteGFX / $100
+ jr nz, .not_kris
ld a, e
- cp $40
- jr nz, .asm_11873
- ld b, SPRITE_ANIM_INDEX_1E
-.asm_11873
+ cp KrisSpriteGFX % $100
+ jr nz, .not_kris
+ ld b, SPRITE_ANIM_INDEX_BLUE_WALK
+.not_kris
ld a, b
depixel 4, 4, 4, 0
call _InitSpriteAnimStruct
ret
-Function1187b: ; 1187b (4:587b)
- ld a, $a
+.StoreMonIconParams: ; 1187b (4:587b)
+ ld a, PKMN_NAME_LENGTH - 1
hlcoord 5, 6
- jr Function11890
+ jr .StoreParams
-Function11882: ; 11882 (4:5882)
- ld a, $7
+.StoreSpriteIconParams: ; 11882 (4:5882)
+ ld a, PLAYER_NAME_LENGTH - 1
hlcoord 5, 6
- jr Function11890
+ jr .StoreParams
-Function11889: ; 11889 (4:5889)
- ld a, $8
+.StoreBoxIconParams: ; 11889 (4:5889)
+ ld a, BOX_NAME_LENGTH - 1
hlcoord 5, 4
- jr Function11890
+ jr .StoreParams
-Function11890: ; 11890 (4:5890)
- ld [wc6d3], a
+.StoreParams: ; 11890 (4:5890)
+ ld [wNamingScreenMaxNameLength], a
ld a, l
- ld [wc6d8], a
+ ld [wNamingScreenStringEntryCoord], a
ld a, h
- ld [wc6d9], a
+ ld [wNamingScreenStringEntryCoord + 1], a
ret
-
-Function1189c: ; 1189c
+NamingScreen_IsTargetBox: ; 1189c
push bc
push af
- ld a, [wc6d4]
+ ld a, [wNamingScreenType]
sub $3
ld b, a
pop af
dec b
pop bc
ret
+
; 118a8
-Function118a8: ; 118a8
+NamingScreen_InitText: ; 118a8
call WaitTop
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
@@ -278,31 +292,31 @@ Function118a8: ; 118a8
call ByteFill
hlcoord 1, 1
lb bc, 6, 18
- call Function1189c
- jr nz, .asm_118c4
+ call NamingScreen_IsTargetBox
+ jr nz, .not_box
lb bc, 4, 18
-.asm_118c4
+.not_box
call ClearBox
ld de, NameInputUpper
-Function118ca: ; 118ca
- call Function1189c
- jr nz, .asm_118d5
+NamingScreen_ApplyTextInputMode: ; 118ca
+ call NamingScreen_IsTargetBox
+ jr nz, .not_box
ld hl, BoxNameInputLower - NameInputLower
add hl, de
ld d, h
ld e, l
-.asm_118d5
+.not_box
push de
hlcoord 1, 8
lb bc, 7, 18
- call Function1189c
- jr nz, .asm_118e7
+ call NamingScreen_IsTargetBox
+ jr nz, .not_box_2
hlcoord 1, 6
lb bc, 9, 18
-.asm_118e7
+.not_box_2
call ClearBox
hlcoord 1, 16
lb bc, 1, 18
@@ -310,41 +324,42 @@ Function118ca: ; 118ca
pop de
hlcoord 2, 8
ld b, $5
- call Function1189c
- jr nz, .asm_11903
+ call NamingScreen_IsTargetBox
+ jr nz, .row
hlcoord 2, 6
ld b, $6
-.asm_11903
+.row
ld c, $11
-.asm_11905
+.col
ld a, [de]
ld [hli], a
inc de
dec c
- jr nz, .asm_11905
+ jr nz, .col
push de
- ld de, $17
+ ld de, 2 * SCREEN_WIDTH - $11
add hl, de
pop de
dec b
- jr nz, .asm_11903
+ jr nz, .row
ret
+
; 11915
-Function11915: ; 11915
+NamingScreenJoypadLoop: ; 11915
call JoyTextDelay
ld a, [wJumptableIndex]
bit 7, a
- jr nz, .asm_11930
- call Function11968
+ jr nz, .quit
+ call .RunJumptable
callba PlaySpriteAnimationsAndDelayFrame
- call Function11940
+ call .UpdateStringEntry
call DelayFrame
and a
ret
-.asm_11930
+.quit
callab ClearSpriteAnims
call ClearSprites
xor a
@@ -352,24 +367,25 @@ Function11915: ; 11915
ld [hSCY], a
scf
ret
+
; 11940
-Function11940: ; 11940
+.UpdateStringEntry: ; 11940
xor a
ld [hBGMapMode], a
hlcoord 1, 5
- call Function1189c
- jr nz, .asm_1194e
+ call NamingScreen_IsTargetBox
+ jr nz, .got_coords
hlcoord 1, 3
-.asm_1194e
+.got_coords
lb bc, 1, 18
call ClearBox
- ld hl, wc6d0
+ ld hl, wNamingScreenDestinationPointer
ld e, [hl]
inc hl
ld d, [hl]
- ld hl, wc6d8
+ ld hl, wNamingScreenStringEntryCoord
ld a, [hli]
ld h, [hl]
ld l, a
@@ -377,13 +393,14 @@ Function11940: ; 11940
ld a, $1
ld [hBGMapMode], a
ret
+
; 11968
-Function11968: ; 11968
+.RunJumptable: ; 11968
ld a, [wJumptableIndex]
ld e, a
ld d, $0
- ld hl, Jumptable_11977
+ ld hl, .Jumptable
rept 2
add hl, de
endr
@@ -391,26 +408,25 @@ endr
ld h, [hl]
ld l, a
jp [hl]
-; 11977
-
-Jumptable_11977: ; 11977 (4:5977)
- dw Function1197b
- dw Function119a1
+; 11977
+.Jumptable: ; 11977 (4:5977)
+ dw .InitCursor
+ dw .ReadButtons
-Function1197b: ; 1197b (4:597b)
+.InitCursor: ; 1197b (4:597b)
depixel 10, 3
- call Function1189c
- jr nz, .asm_11985
+ call NamingScreen_IsTargetBox
+ jr nz, .got_cursor_position
ld d, 8 * 8
-.asm_11985
+.got_cursor_position
ld a, SPRITE_ANIM_INDEX_02
call _InitSpriteAnimStruct
ld a, c
- ld [wc6d5], a
+ ld [wNamingScreenCursorObjectPointer], a
ld a, b
- ld [wc6d6], a
+ ld [wNamingScreenCursorObjectPointer + 1], a
ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc
ld a, [hl]
@@ -421,7 +437,7 @@ Function1197b: ; 1197b (4:597b)
inc [hl]
ret
-Function119a1: ; 119a1 (4:59a1)
+.ReadButtons: ; 119a1 (4:59a1)
ld hl, hJoyPressed ; $ffa7
ld a, [hl]
and A_BUTTON
@@ -438,19 +454,19 @@ Function119a1: ; 119a1 (4:59a1)
ret
.a
- call Function11a0b
+ call .GetCursorPosition
cp $1
jr z, .select
cp $2
jr z, .b
cp $3
- jr z, .asm_119eb
- call Function11c11
- call Function11b14
+ jr z, .end
+ call NamingScreen_GetLastCharacter
+ call NamingScreen_TryAddCharacter
ret nc
.start
- ld hl, wc6d5
+ ld hl, wNamingScreenCursorObjectPointer
ld c, [hl]
inc hl
ld b, [hl]
@@ -460,17 +476,17 @@ Function119a1: ; 119a1 (4:59a1)
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld [hl], $4
- call Function1189c
+ call NamingScreen_IsTargetBox
ret nz
inc [hl]
ret
.b
- call Function11bbc
+ call NamingScreen_DeleteCharacter
ret
-.asm_119eb
- call Function11bf7
+.end
+ call NamingScreen_StoreEntry
ld hl, wJumptableIndex
set 7, [hl]
ret
@@ -480,56 +496,59 @@ Function119a1: ; 119a1 (4:59a1)
ld a, [hl]
xor 1
ld [hl], a
- jr z, .asm_11a04
+ jr z, .upper
ld de, NameInputLower
- call Function118ca
+ call NamingScreen_ApplyTextInputMode
ret
-.asm_11a04
+.upper
ld de, NameInputUpper
- call Function118ca
+ call NamingScreen_ApplyTextInputMode
ret
-Function11a0b: ; 11a0b (4:5a0b)
- ld hl, wc6d5
+.GetCursorPosition: ; 11a0b (4:5a0b)
+ ld hl, wNamingScreenCursorObjectPointer
ld c, [hl]
inc hl
ld b, [hl]
-Function11a11: ; 11a11 (4:5a11)
+NamingScreen_GetCursorPosition: ; 11a11 (4:5a11)
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
push bc
ld b, $4
- call Function1189c
- jr nz, .asm_11a1f
+ call NamingScreen_IsTargetBox
+ jr nz, .not_box
inc b
-.asm_11a1f
+.not_box
cp b
pop bc
- jr nz, .asm_11a39
+ jr nz, .not_bottom_row
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
cp $3
- jr c, .asm_11a33
+ jr c, .case_switch
cp $6
- jr c, .asm_11a36
+ jr c, .delete
ld a, $3
ret
-.asm_11a33
+
+.case_switch
ld a, $1
ret
-.asm_11a36
+
+.delete
ld a, $2
ret
-.asm_11a39
+
+.not_bottom_row
xor a
ret
-Function11a3b: ; 11a3b (4:5a3b)
- call Function11a8b
+NamingScreen_AnimateCursor: ; 11a3b (4:5a3b)
+ call .GetDPad
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
@@ -539,17 +558,17 @@ Function11a3b: ; 11a3b (4:5a3b)
add hl, bc
ld [hl], e
ld d, $4
- call Function1189c
- jr nz, .asm_11a53
+ call NamingScreen_IsTargetBox
+ jr nz, .ok
inc d
-.asm_11a53
+.ok
cp d
- ld de, Unknown_11a79
+ ld de, .LetterEntries
ld a, $0
- jr nz, .asm_11a60
- ld de, Unknown_11a82
+ jr nz, .ok2
+ ld de, .CaseDelEnd
ld a, $1
-.asm_11a60
+.ok2
ld hl, SPRITEANIMSTRUCT_0E
add hl, bc
add [hl]
@@ -566,15 +585,18 @@ Function11a3b: ; 11a3b (4:5a3b)
add hl, bc
ld [hl], a
ret
+
; 11a79 (4:5a79)
-Unknown_11a79: ; 11a79
+.LetterEntries: ; 11a79
db $00, $10, $20, $30, $40, $50, $60, $70, $80
-Unknown_11a82: ; 11a82
+
+.CaseDelEnd: ; 11a82
db $00, $00, $00, $30, $30, $30, $60, $60, $60
+
; 11a8b
-Function11a8b: ; 11a8b (4:5a8b)
+.GetDPad: ; 11a8b (4:5a8b)
ld hl, hJoyLast
ld a, [hl]
and D_UP
@@ -589,8 +611,9 @@ Function11a8b: ; 11a8b (4:5a8b)
and D_RIGHT
jr nz, .right
ret
+
.right
- call Function11a11
+ call NamingScreen_GetCursorPosition
and a
jr nz, .asm_11ab7
ld hl, SPRITEANIMSTRUCT_0C
@@ -600,9 +623,11 @@ Function11a8b: ; 11a8b (4:5a8b)
jr nc, .asm_11ab4
inc [hl]
ret
+
.asm_11ab4
ld [hl], $0
ret
+
.asm_11ab7
cp $3
jr nz, .asm_11abc
@@ -615,8 +640,9 @@ Function11a8b: ; 11a8b (4:5a8b)
add hl, bc
ld [hl], a
ret
+
.left
- call Function11a11
+ call NamingScreen_GetCursorPosition
and a
jr nz, .asm_11ad8
ld hl, SPRITEANIMSTRUCT_0C
@@ -626,9 +652,11 @@ Function11a8b: ; 11a8b (4:5a8b)
jr z, .asm_11ad5
dec [hl]
ret
+
.asm_11ad5
ld [hl], $8
ret
+
.asm_11ad8
cp $1
jr nz, .asm_11ade
@@ -644,24 +672,28 @@ endr
add hl, bc
ld [hl], a
ret
+
.down
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
- call Function1189c
+ call NamingScreen_IsTargetBox
jr nz, .asm_11af9
cp $5
jr nc, .asm_11aff
inc [hl]
ret
+
.asm_11af9
cp $4
jr nc, .asm_11aff
inc [hl]
ret
+
.asm_11aff
ld [hl], $0
ret
+
.up
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
@@ -670,67 +702,70 @@ endr
jr z, .asm_11b0c
dec [hl]
ret
+
.asm_11b0c
ld [hl], $4
- call Function1189c
+ call NamingScreen_IsTargetBox
ret nz
inc [hl]
ret
-Function11b14: ; 11b14 (4:5b14)
- ld a, [wc6d7]
-
-Function11b17: ; 11b17 (4:5b17)
- ld a, [wc6d3]
+NamingScreen_TryAddCharacter: ; 11b14 (4:5b14)
+ ld a, [wNamingScreenLastCharacter] ; lost
+MailComposition_TryAddCharacter: ; 11b17 (4:5b17)
+ ld a, [wNamingScreenMaxNameLength]
ld c, a
- ld a, [wc6d2]
+ ld a, [wNamingScreenCurrNameLength]
cp c
ret nc
- ld a, [wc6d7]
+ ld a, [wNamingScreenLastCharacter]
-Function11b23: ; 11b23
- call Function11bd0
+NamingScreen_LoadNextCharacter: ; 11b23
+ call NamingScreen_GetTextCursorPosition
ld [hl], a
-Function11b27: ; 11b27
- ld hl, wc6d2
+NamingScreen_AdvanceCursor_CheckEndOfString: ; 11b27
+ ld hl, wNamingScreenCurrNameLength
inc [hl]
- call Function11bd0
+ call NamingScreen_GetTextCursorPosition
ld a, [hl]
- cp $50
- jr z, .asm_11b37
+ cp "@"
+ jr z, .end_of_string
ld [hl], $f2
and a
ret
-.asm_11b37
+
+.end_of_string
scf
ret
+
; 11b39 (4:5b39)
-Function11b39: ; 11b39
- ld a, [wc6d2]
+; XXX
+ ld a, [wNamingScreenCurrNameLength]
and a
ret z
push hl
- ld hl, wc6d2
+ ld hl, wNamingScreenCurrNameLength
dec [hl]
- call Function11bd0
+ call NamingScreen_GetTextCursorPosition
ld c, [hl]
pop hl
-.asm_11b48
+.loop
ld a, [hli]
cp $ff
- jr z, Function11b27
+ jr z, NamingScreen_AdvanceCursor_CheckEndOfString
cp c
- jr z, .asm_11b53
+ jr z, .done
inc hl
- jr .asm_11b48
+ jr .loop
-.asm_11b53
+.done
ld a, [hl]
- jr Function11b23
+ jr NamingScreen_LoadNextCharacter
+
; 11b56
Dakutens: ; Dummied out
@@ -748,15 +783,16 @@ Handakutens: ; Dummied out
db "はぱ", "ひぴ", "ふぷ", "へぺ", "ほぽ"
db "ハパ", "ヒピ", "フプ", "へぺ", "ホポ"
db $ff
+
; 11bbc
-Function11bbc: ; 11bbc (4:5bbc)
- ld hl, wc6d2
+NamingScreen_DeleteCharacter: ; 11bbc (4:5bbc)
+ ld hl, wNamingScreenCurrNameLength
ld a, [hl]
and a
ret z
dec [hl]
- call Function11bd0
+ call NamingScreen_GetTextCursorPosition
ld [hl], $f2
inc hl
ld a, [hl]
@@ -765,64 +801,65 @@ Function11bbc: ; 11bbc (4:5bbc)
ld [hl], $eb
ret
-Function11bd0: ; 11bd0 (4:5bd0)
+NamingScreen_GetTextCursorPosition: ; 11bd0 (4:5bd0)
push af
- ld hl, wc6d0
+ ld hl, wNamingScreenDestinationPointer
ld a, [hli]
ld h, [hl]
ld l, a
- ld a, [wc6d2]
+ ld a, [wNamingScreenCurrNameLength]
ld e, a
ld d, 0
add hl, de
pop af
ret
+
; 11be0
-Function11be0: ; 11be0
-; load $f2, ($eb * [wc6d3]), $50 into the dw address at wc6d0
- ld hl, wc6d0
+NamingScreen_InitNameEntry: ; 11be0
+; load $f2, ($eb * [wNamingScreenMaxNameLength]), $50 into the dw address at wNamingScreenDestinationPointer
+ ld hl, wNamingScreenDestinationPointer
ld a, [hli]
ld h, [hl]
ld l, a
- ld [hl], "·"
+ ld [hl], $f2
inc hl
- ld a, [wc6d3]
+ ld a, [wNamingScreenMaxNameLength]
dec a
ld c, a
- ld a, "→"
+ ld a, $eb
.loop
ld [hli], a
dec c
jr nz, .loop
ld [hl], "@"
ret
-; 11bf7
+; 11bf7
-Function11bf7: ; 11bf7 (4:5bf7)
- ld hl, wc6d0
+NamingScreen_StoreEntry: ; 11bf7 (4:5bf7)
+ ld hl, wNamingScreenDestinationPointer
ld a, [hli]
ld h, [hl]
ld l, a
- ld a, [wc6d3]
+ ld a, [wNamingScreenMaxNameLength]
ld c, a
-.asm_11c01
+.loop
ld a, [hl]
cp $eb
- jr z, .asm_11c0a
+ jr z, .terminator
cp $f2
- jr nz, .asm_11c0c
-.asm_11c0a
- ld [hl], $50
-.asm_11c0c
+ jr nz, .not_terminator
+.terminator
+ ld [hl], "@"
+.not_terminator
inc hl
dec c
- jr nz, .asm_11c01
+ jr nz, .loop
ret
-Function11c11: ; 11c11 (4:5c11)
- ld hl, wc6d5
+NamingScreen_GetLastCharacter: ; 11c11 (4:5c11)
+ ld hl, wNamingScreenCursorObjectPointer
ld c, [hl]
inc hl
ld b, [hl]
@@ -849,51 +886,51 @@ Function11c11: ; 11c11 (4:5c11)
srl a
ld d, a
hlcoord 0, 0
- ld bc, $14
-.asm_11c43
+ ld bc, SCREEN_WIDTH
+.loop
ld a, d
and a
- jr z, .asm_11c4b
+ jr z, .done
add hl, bc
dec d
- jr .asm_11c43
-.asm_11c4b
+ jr .loop
+
+.done
add hl, de
ld a, [hl]
- ld [wc6d7], a
+ ld [wNamingScreenLastCharacter], a
ret
-
-Function11c51: ; 11c51
+LoadNamingScreenGFX: ; 11c51
call ClearSprites
callab ClearSpriteAnims
call LoadStandardFont
call LoadFontsExtra
- ld de, GFX_11e65
+ ld de, NamingScreenGFX_MiddleLine
ld hl, VTiles1 tile $6b
- lb bc, BANK(GFX_11e65), 1
+ lb bc, BANK(NamingScreenGFX_MiddleLine), 1
call Get1bpp
- ld de, GFX_11e6d
+ ld de, NamingScreenGFX_UnderLine
ld hl, VTiles1 tile $72
- lb bc, BANK(GFX_11e6d), 1
+ lb bc, BANK(NamingScreenGFX_UnderLine), 1
call Get1bpp
ld de, VTiles2 tile $60
- ld hl, GFX_11cb7
- ld bc, $10
- ld a, BANK(GFX_11cb7)
+ ld hl, NamingScreenGFX_Border
+ ld bc, 1 tiles
+ ld a, BANK(NamingScreenGFX_Border)
call FarCopyBytes
ld de, VTiles0 tile $7e
- ld hl, GFX_11cc7
- ld bc, $20
- ld a, BANK(GFX_11cc7)
+ ld hl, NamingScreenGFX_Cursor
+ ld bc, 2 tiles
+ ld a, BANK(NamingScreenGFX_Cursor)
call FarCopyBytes
ld a, $5
- ld hl, wc312
+ ld hl, wSpriteAnimDict + 9 * 2
ld [hli], a
ld [hl], $7e
xor a
@@ -904,17 +941,18 @@ Function11c51: ; 11c51
ld [wJumptableIndex], a
ld [wcf64], a
ld [hBGMapMode], a
- ld [wc6d2], a
+ ld [wNamingScreenCurrNameLength], a
ld a, $7
ld [hWX], a
ret
+
; 11cb7
-GFX_11cb7: ; 11cb7
+NamingScreenGFX_Border: ; 11cb7
INCBIN "gfx/unknown/011cb7.2bpp"
; 11cc7
-GFX_11cc7: ; 11cc7
+NamingScreenGFX_Cursor: ; 11cc7
INCBIN "gfx/unknown/011cc7.2bpp"
; 11ce7
@@ -924,6 +962,7 @@ NameInputLower:
db "s t u v w x y z "
db "× ( ) : ; [ ] <PK> <MN>"
db "UPPER DEL END "
+
BoxNameInputLower:
db "a b c d e f g h i"
db "j k l m n o p q r"
@@ -931,12 +970,14 @@ BoxNameInputLower:
db "é 'd 'l 'm 'r 's 't 'v 0"
db "1 2 3 4 5 6 7 8 9"
db "UPPER DEL END "
+
NameInputUpper: ; Unreferenced?
db "A B C D E F G H I"
db "J K L M N O P Q R"
db "S T U V W X Y Z "
db "- ? ! / . , "
db "lower DEL END "
+
BoxNameInputUpper:
db "A B C D E F G H I"
db "J K L M N O P Q R"
@@ -944,16 +985,542 @@ BoxNameInputUpper:
db "× ( ) : ; [ ] <PK> <MN>"
db "- ? ! ♂ ♀ / . , &"
db "lower DEL END "
+
; 11e5d
GFX_11e5d: ; ????
INCBIN "gfx/unknown/011e5d.2bpp"
; 11e6d
-GFX_11e65:
+NamingScreenGFX_MiddleLine:
INCBIN "gfx/unknown/011e65.2bpp"
; 11e6d
-GFX_11e6d: ; 11e6d
+NamingScreenGFX_UnderLine: ; 11e6d
INCBIN "gfx/unknown/011e6d.2bpp"
; 11e75
+
+_ComposeMailMessage: ; 11e75 (mail?)
+ ld hl, wNamingScreenDestinationPointer
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ld a, [hMapAnims]
+ push af
+ xor a
+ ld [hMapAnims], a
+ ld a, [hInMenu]
+ push af
+ ld a, $1
+ ld [hInMenu], a
+ call .InitBlankMail
+ call DelayFrame
+
+.loop
+ call .DoMailEntry
+ jr nc, .loop
+
+ pop af
+ ld [hInMenu], a
+ pop af
+ ld [hMapAnims], a
+ ret
+
+.InitBlankMail: ; 11e9a (4:5e9a)
+ call ClearBGPalettes
+ call DisableLCD
+ call LoadNamingScreenGFX
+ ld de, VTiles0 tile $00
+ ld hl, .MailIcon
+ ld bc, 8 tiles
+ ld a, BANK(.MailIcon)
+ call FarCopyBytes
+ xor a
+ ld hl, wSpriteAnimDict
+ ld [hli], a
+ ld [hl], a
+
+ ; init mail icon
+ depixel 3, 2
+ ld a, SPRITE_ANIM_INDEX_00
+ call _InitSpriteAnimStruct
+
+ ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
+ add hl, bc
+ ld [hl], $0
+ call .InitCharset
+ ld a, $e3
+ ld [rLCDC], a
+ call .initwNamingScreenMaxNameLength
+ ld b, SCGB_08
+ call GetSGBLayout
+ call WaitBGMap
+ call WaitTop
+ ld a, %11100100
+ call DmgToCgbBGPals
+ ld a, %11100100
+ call DmgToCgbObjPal0
+ call NamingScreen_InitNameEntry
+ ld hl, wNamingScreenDestinationPointer
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, $10
+ add hl, de
+ ld [hl], $4e
+ ret
+
+; 11ef4 (4:5ef4)
+
+.MailIcon: ; 11ef4
+INCBIN "gfx/icon/mail2.2bpp"
+; 11f74
+
+.initwNamingScreenMaxNameLength: ; 11f74 (4:5f74)
+ ld a, MAIL_MSG_LENGTH + 1
+ ld [wNamingScreenMaxNameLength], a
+ ret
+
+; 11f7a (4:5f7a)
+
+.Dummy: ; dummied out
+ db "メールを かいてね@"
+
+; 11f84
+
+.InitCharset: ; 11f84 (4:5f84)
+ call WaitTop
+ hlcoord 0, 0
+ ld bc, 6 * SCREEN_WIDTH
+ ld a, $60 ; border
+ call ByteFill
+ hlcoord 0, 6
+ ld bc, 12 * SCREEN_WIDTH
+ ld a, " "
+ call ByteFill
+ hlcoord 1, 1
+ lb bc, 4, SCREEN_WIDTH - 2
+ call ClearBox
+ ld de, MailEntry_Uppercase
+
+.PlaceMailCharset: ; 11fa9 (4:5fa9)
+ hlcoord 1, 7
+ ld b, 6
+.next
+ ld c, SCREEN_WIDTH - 1
+.loop_
+ ld a, [de]
+ ld [hli], a
+ inc de
+ dec c
+ jr nz, .loop_
+ push de
+ ld de, SCREEN_WIDTH + 1
+ add hl, de
+ pop de
+ dec b
+ jr nz, .next
+ ret
+
+.DoMailEntry: ; 11fc0 (4:5fc0)
+ call JoyTextDelay
+ ld a, [wJumptableIndex]
+ bit 7, a
+ jr nz, .exit_mail
+ call .DoJumptable
+ callba PlaySpriteAnimationsAndDelayFrame
+ call .Update
+ call DelayFrame
+ and a
+ ret
+
+.exit_mail
+ callab ClearSpriteAnims
+ call ClearSprites
+ xor a
+ ld [hSCX], a
+ ld [hSCY], a
+ scf
+ ret
+
+.Update: ; 11feb (4:5feb)
+ xor a
+ ld [hBGMapMode], a
+ hlcoord 1, 1
+ lb bc, 4, 18
+ call ClearBox
+ ld hl, wNamingScreenDestinationPointer
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ hlcoord 2, 2
+ call PlaceString
+ ld a, $1
+ ld [hBGMapMode], a
+ ret
+
+.DoJumptable: ; 12008 (4:6008)
+ ld a, [wJumptableIndex]
+ ld e, a
+ ld d, 0
+ ld hl, .Jumptable
+rept 2
+ add hl, de
+endr
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+.Jumptable: ; 12017 (4:6017)
+ dw .init_blinking_cursor
+ dw .process_joypad
+
+.init_blinking_cursor: ; 1201b (4:601b)
+ depixel 9, 2
+ ld a, SPRITE_ANIM_INDEX_09
+ call _InitSpriteAnimStruct
+ ld a, c
+ ld [wNamingScreenCursorObjectPointer], a
+ ld a, b
+ ld [wNamingScreenCursorObjectPointer + 1], a
+ ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
+ add hl, bc
+ ld a, [hl]
+ ld hl, SPRITEANIMSTRUCT_0E
+ add hl, bc
+ ld [hl], a
+ ld hl, wJumptableIndex
+ inc [hl]
+ ret
+
+.process_joypad: ; 1203a (4:603a)
+ ld hl, hJoyPressed ; $ffa7
+ ld a, [hl]
+ and A_BUTTON
+ jr nz, .a
+ ld a, [hl]
+ and B_BUTTON
+ jr nz, .b
+ ld a, [hl]
+ and START
+ jr nz, .start
+ ld a, [hl]
+ and SELECT
+ jr nz, .select
+ ret
+
+.a
+ call NamingScreen_PressedA_GetCursorCommand
+ cp $1
+ jr z, .select
+ cp $2
+ jr z, .b
+ cp $3
+ jr z, .finished
+ call NamingScreen_GetLastCharacter
+ call MailComposition_TryAddLastCharacter
+ jr c, .start
+ ld hl, wNamingScreenCurrNameLength
+ ld a, [hl]
+ cp $10
+ ret nz
+ inc [hl]
+ call NamingScreen_GetTextCursorPosition
+ ld [hl], $f2
+ dec hl
+ ld [hl], $4e
+ ret
+
+.start
+ ld hl, wNamingScreenCursorObjectPointer
+ ld c, [hl]
+ inc hl
+ ld b, [hl]
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld [hl], $9
+ ld hl, SPRITEANIMSTRUCT_0D
+ add hl, bc
+ ld [hl], $5
+ ret
+
+.b
+ call NamingScreen_DeleteCharacter
+ ld hl, wNamingScreenCurrNameLength
+ ld a, [hl]
+ cp $10
+ ret nz
+ dec [hl]
+ call NamingScreen_GetTextCursorPosition
+ ld [hl], $f2
+ inc hl
+ ld [hl], $4e
+ ret
+
+.finished
+ call NamingScreen_StoreEntry
+ ld hl, wJumptableIndex
+ set 7, [hl]
+ ret
+
+.select
+ ld hl, wcf64
+ ld a, [hl]
+ xor $1
+ ld [hl], a
+ jr nz, .switch_to_lowercase
+ ld de, MailEntry_Uppercase
+ call .PlaceMailCharset
+ ret
+
+.switch_to_lowercase
+ ld de, MailEntry_Lowercase
+ call .PlaceMailCharset
+ ret
+
+; called from engine/sprite_anims.asm
+
+ComposeMail_AnimateCursor: ; 120c1 (4:60c1)
+ call .GetDPad
+ ld hl, SPRITEANIMSTRUCT_0D
+ add hl, bc
+ ld a, [hl]
+ ld e, a
+ swap e
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], e
+ cp $5
+ ld de, .LetterEntries
+ ld a, 0
+ jr nz, .got_pointer
+ ld de, .CaseDelEnd
+ ld a, 1
+.got_pointer
+ ld hl, SPRITEANIMSTRUCT_0E
+ add hl, bc
+ add [hl]
+ ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
+ add hl, bc
+ ld [hl], a
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld l, [hl]
+ ld h, 0
+ add hl, de
+ ld a, [hl]
+ ld hl, SPRITEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+; 120f8 (4:60f8)
+
+.LetterEntries: ; 120f8
+ db $00, $10, $20, $30, $40, $50, $60, $70, $80, $90
+
+.CaseDelEnd: ; 12102
+ db $00, $00, $00, $30, $30, $30, $60, $60, $60, $60
+
+; 1210c
+
+.GetDPad: ; 1210c (4:610c)
+ ld hl, hJoyLast
+ ld a, [hl]
+ and D_UP
+ jr nz, .up
+ ld a, [hl]
+ and D_DOWN
+ jr nz, .down
+ ld a, [hl]
+ and D_LEFT
+ jr nz, .left
+ ld a, [hl]
+ and D_RIGHT
+ jr nz, .right
+ ret
+
+.right
+ call ComposeMail_GetCursorPosition
+ and a
+ jr nz, .case_del_done_right
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld a, [hl]
+ cp $9
+ jr nc, .wrap_around_letter_right
+ inc [hl]
+ ret
+
+.wrap_around_letter_right
+ ld [hl], $0
+ ret
+
+.case_del_done_right
+ cp $3
+ jr nz, .wrap_around_command_right
+ xor a
+.wrap_around_command_right
+ ld e, a
+ add a
+ add e
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld [hl], a
+ ret
+
+.left
+ call ComposeMail_GetCursorPosition
+ and a
+ jr nz, .caps_del_done_left
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .wrap_around_letter_left
+ dec [hl]
+ ret
+
+.wrap_around_letter_left
+ ld [hl], $9
+ ret
+
+.caps_del_done_left
+ cp $1
+ jr nz, .wrap_around_command_left
+ ld a, $4
+.wrap_around_command_left
+rept 2
+ dec a
+endr
+ ld e, a
+ add a
+ add e
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld [hl], a
+ ret
+
+.down
+ ld hl, SPRITEANIMSTRUCT_0D
+ add hl, bc
+ ld a, [hl]
+ cp $5
+ jr nc, .wrap_around_down
+ inc [hl]
+ ret
+
+.wrap_around_down
+ ld [hl], $0
+ ret
+
+.up
+ ld hl, SPRITEANIMSTRUCT_0D
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .wrap_around_up
+ dec [hl]
+ ret
+
+.wrap_around_up
+ ld [hl], $5
+ ret
+
+NamingScreen_PressedA_GetCursorCommand: ; 12185 (4:6185)
+ ld hl, wNamingScreenCursorObjectPointer
+ ld c, [hl]
+ inc hl
+ ld b, [hl]
+
+ComposeMail_GetCursorPosition: ; 1218b (4:618b)
+ ld hl, SPRITEANIMSTRUCT_0D
+ add hl, bc
+ ld a, [hl]
+ cp $5
+ jr nz, .letter
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld a, [hl]
+ cp $3
+ jr c, .case
+ cp $6
+ jr c, .del
+ ld a, $3
+ ret
+
+.case
+ ld a, $1
+ ret
+
+.del
+ ld a, $2
+ ret
+
+.letter
+ xor a
+ ret
+
+MailComposition_TryAddLastCharacter: ; 121ac (4:61ac)
+ ld a, [wNamingScreenLastCharacter]
+ jp MailComposition_TryAddCharacter
+
+; 121b2 (4:61b2)
+
+; XXX
+ ld a, [wNamingScreenCurrNameLength]
+ and a
+ ret z
+ cp $11
+ jr nz, .asm_121c3
+ push hl
+ ld hl, wNamingScreenCurrNameLength
+rept 2
+ dec [hl]
+endr
+ jr .asm_121c8
+
+.asm_121c3
+ push hl
+ ld hl, wNamingScreenCurrNameLength
+ dec [hl]
+
+.asm_121c8
+ call NamingScreen_GetTextCursorPosition
+ ld c, [hl]
+ pop hl
+.asm_121cd
+ ld a, [hli]
+ cp $ff
+ jp z, NamingScreen_AdvanceCursor_CheckEndOfString
+ cp c
+ jr z, .asm_121d9
+ inc hl
+ jr .asm_121cd
+
+.asm_121d9
+ ld a, [hl]
+ jp NamingScreen_LoadNextCharacter
+
+; 121dd
+
+MailEntry_Uppercase: ; 122dd
+ db "A B C D E F G H I J"
+ db "K L M N O P Q R S T"
+ db "U V W X Y Z , ? !"
+ db "1 2 3 4 5 6 7 8 9 0"
+ db "<PK> <MN> <PO> <KE> é ♂ ♀ ¥ … ×"
+ db "lower DEL END "
+
+; 1224f
+
+MailEntry_Lowercase: ; 1224f
+ db "a b c d e f g h i j"
+ db "k l m n o p q r s t"
+ db "u v w x y z . - /"
+ db "'d 'l 'm 'r 's 't 'v & ( )"
+ db "<``> <''> [ ] ' : ; "
+ db "UPPER DEL END "
+
+; 122c1
diff --git a/engine/npc_movement.asm b/engine/npc_movement.asm
index bc270305b..097c62017 100755
--- a/engine/npc_movement.asm
+++ b/engine/npc_movement.asm
@@ -234,14 +234,14 @@ CheckFacingObject:: ; 6fd9
call CheckCounterTile
jr nz, .asm_6ff1
- ld a, [PlayerNextMapX]
+ ld a, [PlayerStandingMapX]
sub d
cpl
inc a
add d
ld d, a
- ld a, [PlayerNextMapY]
+ ld a, [PlayerStandingMapY]
sub e
cpl
inc a
@@ -482,9 +482,9 @@ IsPersonMovingOffEdgeOfScreen: ; 70ed
; 7113
Function7113: ; unreferenced
- ld a, [PlayerNextMapX]
+ ld a, [PlayerStandingMapX]
ld d, a
- ld a, [PlayerNextMapY]
+ ld a, [PlayerStandingMapY]
ld e, a
ld bc, ObjectStructs
xor a
diff --git a/engine/npctrade.asm b/engine/npctrade.asm
index 7342f8a6c..a8d3b71aa 100755
--- a/engine/npctrade.asm
+++ b/engine/npctrade.asm
@@ -430,21 +430,22 @@ GetTradeMonNames: ; fce1b
NPCTrades: ; fce58
npctrade: MACRO
- db \1, \2, \3, \4
- dw \5
- db \6
- dw \7
- db \8, \9, 0
+ db \1, \2, \3, \4 ; dialog set, requested mon, offered mon, nickname
+ db \5, \6 ; dvs
+ shift
+ db \6 ; item
+ dw \7 ; OT ID
+ db \8, \9, 0 ; OT name, gender requested
ENDM
- npctrade 0, ABRA, MACHOP, "MUSCLE@@@@@", $6637, GOLD_BERRY, 37460, "MIKE@@@@@@@", TRADE_EITHER_GENDER
- npctrade 0, BELLSPROUT, ONIX, "ROCKY@@@@@@", $6696, BITTER_BERRY, 48926, "KYLE@@@@@@@", TRADE_EITHER_GENDER
- npctrade 1, KRABBY, VOLTORB, "VOLTY@@@@@@", $8898, PRZCUREBERRY, 29189, "TIM@@@@@@@@", TRADE_EITHER_GENDER
- npctrade 3, DRAGONAIR, DODRIO, "DORIS@@@@@@", $6677, SMOKE_BALL, 00283, "EMY@@@@@@@@", TRADE_FEMALE_ONLY
- npctrade 2, HAUNTER, XATU, "PAUL@@@@@@@", $8696, MYSTERYBERRY, 15616, "CHRIS@@@@@@", TRADE_EITHER_GENDER
- npctrade 3, CHANSEY, AERODACTYL, "AEROY@@@@@@", $6696, GOLD_BERRY, 26491, "KIM@@@@@@@@", TRADE_EITHER_GENDER
- npctrade 0, DUGTRIO, MAGNETON, "MAGGIE@@@@@", $6696, METAL_COAT, 50082, "FOREST@@@@@", TRADE_EITHER_GENDER
+ npctrade 0, ABRA, MACHOP, "MUSCLE@@@@@", $37, $66, GOLD_BERRY, 37460, "MIKE@@@@@@@", TRADE_EITHER_GENDER
+ npctrade 0, BELLSPROUT, ONIX, "ROCKY@@@@@@", $96, $66, BITTER_BERRY, 48926, "KYLE@@@@@@@", TRADE_EITHER_GENDER
+ npctrade 1, KRABBY, VOLTORB, "VOLTY@@@@@@", $98, $88, PRZCUREBERRY, 29189, "TIM@@@@@@@@", TRADE_EITHER_GENDER
+ npctrade 3, DRAGONAIR, DODRIO, "DORIS@@@@@@", $77, $66, SMOKE_BALL, 00283, "EMY@@@@@@@@", TRADE_FEMALE_ONLY
+ npctrade 2, HAUNTER, XATU, "PAUL@@@@@@@", $96, $86, MYSTERYBERRY, 15616, "CHRIS@@@@@@", TRADE_EITHER_GENDER
+ npctrade 3, CHANSEY, AERODACTYL, "AEROY@@@@@@", $96, $66, GOLD_BERRY, 26491, "KIM@@@@@@@@", TRADE_EITHER_GENDER
+ npctrade 0, DUGTRIO, MAGNETON, "MAGGIE@@@@@", $96, $66, METAL_COAT, 50082, "FOREST@@@@@", TRADE_EITHER_GENDER
; fcf38
diff --git a/engine/phone.asm b/engine/phone.asm
index 805f221a7..1a3023bf1 100644
--- a/engine/phone.asm
+++ b/engine/phone.asm
@@ -651,15 +651,16 @@ Function90380: ; 90380 (24:4380)
call GetCallerName
ret
-Function9038a: ; 9038a (24:438a)
+CheckCanDeletePhoneNumber: ; 9038a (24:438a)
ld a, c
call GetCallerTrainerClass
ld a, c
+ ; and a
ret nz
ld a, b
- cp $1
+ cp PHONECONTACT_MOM
ret z
- cp $4
+ cp PHONECONTACT_ELM
ret z
ld c, $1
ret
@@ -776,44 +777,44 @@ phone: MACRO
dba \7 ; script 2
ENDM
- phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
- phone TRAINER_NONE, PHONECONTACT_MOM, KRISS_HOUSE_1F, 7, MomPhoneScript, 0, UnusedPhoneScript
- phone TRAINER_NONE, PHONECONTACT_BIKESHOP, OAKS_LAB, 0, UnusedPhoneScript, 0, UnusedPhoneScript
- phone TRAINER_NONE, PHONECONTACT_BILL, N_A, 7, BillPhoneScript1, 0, BillPhoneScript2
- phone TRAINER_NONE, PHONECONTACT_ELM, ELMS_LAB, 7, ElmPhoneScript1, 0, ElmPhoneScript2
- phone SCHOOLBOY, JACK1, NATIONAL_PARK, 7, JackPhoneScript1, 7, JackPhoneScript2
- phone POKEFANF, BEVERLY1, NATIONAL_PARK, 7, BeverlyPhoneScript1, 7, BeverlyPhoneScript2
- phone SAILOR, HUEY1, OLIVINE_LIGHTHOUSE_2F, 7, HueyPhoneScript1, 7, HueyPhoneScript2
- phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
- phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
- phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
- phone COOLTRAINERM, GAVEN3, ROUTE_26, 7, GavenPhoneScript1, 7, GavenPhoneScript2
- phone COOLTRAINERF, BETH1, ROUTE_26, 7, BethPhoneScript1, 7, BethPhoneScript2
- phone BIRD_KEEPER, JOSE2, ROUTE_27, 7, JosePhoneScript1, 7, JosePhoneScript2
- phone COOLTRAINERF, REENA1, ROUTE_27, 7, ReenaPhoneScript1, 7, ReenaPhoneScript2
- phone YOUNGSTER, JOEY1, ROUTE_30, 7, JoeyPhoneScript1, 7, JoeyPhoneScript2
- phone BUG_CATCHER, WADE1, ROUTE_31, 7, WadePhoneScript1, 7, WadePhoneScript2
- phone FISHER, RALPH1, ROUTE_32, 7, RalphPhoneScript1, 7, RalphPhoneScript2
- phone PICNICKER, LIZ1, ROUTE_32, 7, LizPhoneScript1, 7, LizPhoneScript2
- phone HIKER, ANTHONY2, ROUTE_33, 7, AnthonyPhoneScript1, 7, AnthonyPhoneScript2
- phone CAMPER, TODD1, ROUTE_34, 7, ToddPhoneScript1, 7, ToddPhoneScript2
- phone PICNICKER, GINA1, ROUTE_34, 7, GinaPhoneScript1, 7, GinaPhoneScript2
- phone JUGGLER, IRWIN1, ROUTE_35, 7, IrwinPhoneScript1, 7, IrwinPhoneScript2
- phone BUG_CATCHER, ARNIE1, ROUTE_35, 7, ArniePhoneScript1, 7, ArniePhoneScript2
- phone SCHOOLBOY, ALAN1, ROUTE_36, 7, AlanPhoneScript1, 7, AlanPhoneScript2
- phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
- phone LASS, DANA1, ROUTE_38, 7, DanaPhoneScript1, 7, DanaPhoneScript2
- phone SCHOOLBOY, CHAD1, ROUTE_38, 7, ChadPhoneScript1, 7, ChadPhoneScript2
- phone POKEFANM, DEREK1, ROUTE_39, 7, DerekPhoneScript1, 7, DerekPhoneScript2
- phone FISHER, TULLY1, ROUTE_42, 7, TullyPhoneScript1, 7, TullyPhoneScript2
- phone POKEMANIAC, BRENT1, ROUTE_43, 7, BrentPhoneScript1, 7, BrentPhoneScript2
- phone PICNICKER, TIFFANY3, ROUTE_43, 7, TiffanyPhoneScript1, 7, TiffanyPhoneScript2
- phone BIRD_KEEPER, VANCE1, ROUTE_44, 7, VancePhoneScript1, 7, VancePhoneScript2
- phone FISHER, WILTON1, ROUTE_44, 7, WiltonPhoneScript1, 7, WiltonPhoneScript2
- phone BLACKBELT_T, KENJI3, ROUTE_45, 7, KenjiPhoneScript1, 7, KenjiPhoneScript2
- phone HIKER, PARRY1, ROUTE_45, 7, ParryPhoneScript1, 7, ParryPhoneScript2
- phone PICNICKER, ERIN1, ROUTE_46, 7, ErinPhoneScript1, 7, ErinPhoneScript2
- phone TRAINER_NONE, PHONECONTACT_BUENA, GOLDENROD_DEPT_STORE_ROOF, 7, BuenaPhoneScript1, 7, BuenaPhoneScript2
+ phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
+ phone TRAINER_NONE, PHONECONTACT_MOM, KRISS_HOUSE_1F, 7, MomPhoneScript, 0, UnusedPhoneScript
+ phone TRAINER_NONE, PHONECONTACT_BIKESHOP, OAKS_LAB, 0, UnusedPhoneScript, 0, UnusedPhoneScript
+ phone TRAINER_NONE, PHONECONTACT_BILL, N_A, 7, BillPhoneScript1, 0, BillPhoneScript2
+ phone TRAINER_NONE, PHONECONTACT_ELM, ELMS_LAB, 7, ElmPhoneScript1, 0, ElmPhoneScript2
+ phone SCHOOLBOY, JACK1, NATIONAL_PARK, 7, JackPhoneScript1, 7, JackPhoneScript2
+ phone POKEFANF, BEVERLY1, NATIONAL_PARK, 7, BeverlyPhoneScript1, 7, BeverlyPhoneScript2
+ phone SAILOR, HUEY1, OLIVINE_LIGHTHOUSE_2F, 7, HueyPhoneScript1, 7, HueyPhoneScript2
+ phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
+ phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
+ phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
+ phone COOLTRAINERM, GAVEN3, ROUTE_26, 7, GavenPhoneScript1, 7, GavenPhoneScript2
+ phone COOLTRAINERF, BETH1, ROUTE_26, 7, BethPhoneScript1, 7, BethPhoneScript2
+ phone BIRD_KEEPER, JOSE2, ROUTE_27, 7, JosePhoneScript1, 7, JosePhoneScript2
+ phone COOLTRAINERF, REENA1, ROUTE_27, 7, ReenaPhoneScript1, 7, ReenaPhoneScript2
+ phone YOUNGSTER, JOEY1, ROUTE_30, 7, JoeyPhoneScript1, 7, JoeyPhoneScript2
+ phone BUG_CATCHER, WADE1, ROUTE_31, 7, WadePhoneScript1, 7, WadePhoneScript2
+ phone FISHER, RALPH1, ROUTE_32, 7, RalphPhoneScript1, 7, RalphPhoneScript2
+ phone PICNICKER, LIZ1, ROUTE_32, 7, LizPhoneScript1, 7, LizPhoneScript2
+ phone HIKER, ANTHONY2, ROUTE_33, 7, AnthonyPhoneScript1, 7, AnthonyPhoneScript2
+ phone CAMPER, TODD1, ROUTE_34, 7, ToddPhoneScript1, 7, ToddPhoneScript2
+ phone PICNICKER, GINA1, ROUTE_34, 7, GinaPhoneScript1, 7, GinaPhoneScript2
+ phone JUGGLER, IRWIN1, ROUTE_35, 7, IrwinPhoneScript1, 7, IrwinPhoneScript2
+ phone BUG_CATCHER, ARNIE1, ROUTE_35, 7, ArniePhoneScript1, 7, ArniePhoneScript2
+ phone SCHOOLBOY, ALAN1, ROUTE_36, 7, AlanPhoneScript1, 7, AlanPhoneScript2
+ phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
+ phone LASS, DANA1, ROUTE_38, 7, DanaPhoneScript1, 7, DanaPhoneScript2
+ phone SCHOOLBOY, CHAD1, ROUTE_38, 7, ChadPhoneScript1, 7, ChadPhoneScript2
+ phone POKEFANM, DEREK1, ROUTE_39, 7, DerekPhoneScript1, 7, DerekPhoneScript2
+ phone FISHER, TULLY1, ROUTE_42, 7, TullyPhoneScript1, 7, TullyPhoneScript2
+ phone POKEMANIAC, BRENT1, ROUTE_43, 7, BrentPhoneScript1, 7, BrentPhoneScript2
+ phone PICNICKER, TIFFANY3, ROUTE_43, 7, TiffanyPhoneScript1, 7, TiffanyPhoneScript2
+ phone BIRD_KEEPER, VANCE1, ROUTE_44, 7, VancePhoneScript1, 7, VancePhoneScript2
+ phone FISHER, WILTON1, ROUTE_44, 7, WiltonPhoneScript1, 7, WiltonPhoneScript2
+ phone BLACKBELT_T, KENJI3, ROUTE_45, 7, KenjiPhoneScript1, 7, KenjiPhoneScript2
+ phone HIKER, PARRY1, ROUTE_45, 7, ParryPhoneScript1, 7, ParryPhoneScript2
+ phone PICNICKER, ERIN1, ROUTE_46, 7, ErinPhoneScript1, 7, ErinPhoneScript2
+ phone TRAINER_NONE, PHONECONTACT_BUENA, GOLDENROD_DEPT_STORE_ROOF, 7, BuenaPhoneScript1, 7, BuenaPhoneScript2
; 90627
SpecialPhoneCallList: ; 90627
diff --git a/engine/player_movement.asm b/engine/player_movement.asm
index a57e5cef1..4bc4c483e 100755
--- a/engine/player_movement.asm
+++ b/engine/player_movement.asm
@@ -118,7 +118,7 @@ DoPlayerMovement:: ; 80000
; Tiles such as waterfalls and warps move the player
; in a given direction, overriding input.
- ld a, [PlayerNextTile]
+ ld a, [PlayerStandingTile]
ld c, a
call CheckWhirlpoolTile
jr c, .asm_800c4
@@ -136,7 +136,7 @@ DoPlayerMovement:: ; 80000
jr z, .land2
cp $70 ; warps
jr z, .warps
- jr .asm_8013c
+ jr .no_walk
.water
ld a, c
@@ -147,7 +147,7 @@ DoPlayerMovement:: ; 80000
add hl, bc
ld a, [hl]
ld [WalkingDirection], a
- jr .asm_8013e
+ jr .continue_walk
.water_table
db RIGHT
@@ -164,9 +164,9 @@ DoPlayerMovement:: ; 80000
add hl, bc
ld a, [hl]
cp STANDING
- jr z, .asm_8013c
+ jr z, .no_walk
ld [WalkingDirection], a
- jr .asm_8013e
+ jr .continue_walk
.land1_table
db STANDING
@@ -187,9 +187,9 @@ DoPlayerMovement:: ; 80000
add hl, bc
ld a, [hl]
cp STANDING
- jr z, .asm_8013c
+ jr z, .no_walk
ld [WalkingDirection], a
- jr .asm_8013e
+ jr .continue_walk
.land2_table
db RIGHT
@@ -210,18 +210,18 @@ DoPlayerMovement:: ; 80000
cp $7a ; stairs
jr z, .down
cp $7b ; cave
- jr nz, .asm_8013c
+ jr nz, .no_walk
.down
ld a, DOWN
ld [WalkingDirection], a
- jr .asm_8013e
+ jr .continue_walk
-.asm_8013c
+.no_walk
xor a
ret
-.asm_8013e
+.continue_walk
ld a, STEP_WALK
call .DoStep
ld a, 5
@@ -277,7 +277,7 @@ DoPlayerMovement:: ; 80000
cp 2
jr z, .bump
- ld a, [PlayerNextTile]
+ ld a, [PlayerStandingTile]
call CheckIceTile
jr nc, .ice
@@ -362,7 +362,7 @@ DoPlayerMovement:: ; 80000
; 801f3
.TryJump: ; 801f3
- ld a, [PlayerNextTile]
+ ld a, [PlayerStandingTile]
ld e, a
and $f0
cp $a0 ; ledge
@@ -413,7 +413,7 @@ DoPlayerMovement:: ; 80000
ld d, 0
ld hl, .EdgeWarps
add hl, de
- ld a, [PlayerNextTile]
+ ld a, [PlayerStandingTile]
cp [hl]
jr nz, .not_warp
@@ -615,7 +615,7 @@ DoPlayerMovement:: ; 80000
; tile collision pointer
.table1
db STANDING, FACE_CURRENT, 0, 0
- dw PlayerNextTile
+ dw PlayerStandingTile
.table2
db RIGHT, FACE_RIGHT, 1, 0
dw TileRight
@@ -634,13 +634,13 @@ DoPlayerMovement:: ; 80000
ld a, 0
ld [hMapObjectIndexBuffer], a
; Load the next X coordinate into d
- ld a, [PlayerNextMapX]
+ ld a, [PlayerStandingMapX]
ld d, a
ld a, [WalkingX]
add d
ld d, a
; Load the next Y coordinate into e
- ld a, [PlayerNextMapY]
+ ld a, [PlayerStandingMapY]
ld e, a
ld a, [WalkingY]
add e
@@ -817,7 +817,7 @@ CheckStandingOnIce:: ; 80404
jr z, .not_ice
cp $f0
jr z, .not_ice
- ld a, [PlayerNextTile]
+ ld a, [PlayerStandingTile]
call CheckIceTile
jr nc, .yep
ld a, [PlayerState]
diff --git a/engine/pokedex.asm b/engine/pokedex.asm
index 7dcfd2fdf..b7125d85a 100644
--- a/engine/pokedex.asm
+++ b/engine/pokedex.asm
@@ -1079,7 +1079,7 @@ Pokedex_DrawMainScreenBG: ; 4074c (10:474c)
lb bc, 7, 7
call Pokedex_PlaceBorder
hlcoord 0, 9
- ld bc, $607
+ lb bc, 6, 7
call Pokedex_PlaceBorder
hlcoord 1, 11
ld de, String_SEEN
@@ -1105,11 +1105,11 @@ Pokedex_DrawMainScreenBG: ; 4074c (10:474c)
ld de, String_SELECT_OPTION
call Pokedex_PlaceString
hlcoord 8, 1
- ld b, $7
+ ld b, 7
ld a, $5a
call Pokedex_HLDownBRows
hlcoord 8, 10
- ld b, $6
+ ld b, 6
ld a, $5a
call Pokedex_HLDownBRows
hlcoord 8, 0
@@ -1135,22 +1135,22 @@ String_START_SEARCH: ; 407f2
Pokedex_DrawDexEntryScreenBG: ; 407fd
call Pokedex_FillBackgroundColor2
hlcoord 0, 0
- ld bc, $0f12
+ lb bc, 15, 18
call Pokedex_PlaceBorder
hlcoord 19, 0
ld [hl], $34
hlcoord 19, 1
- ld a, $7f
- ld b, $f
+ ld a, " "
+ ld b, 15
call Pokedex_HLDownBRows
ld [hl], $39
hlcoord 1, 10
- ld bc, $0013
+ ld bc, 19
ld a, $61
call ByteFill
hlcoord 1, 17
- ld bc, $0012
- ld a, $7f
+ ld bc, 18
+ ld a, " "
call ByteFill
hlcoord 9, 7
ld de, .Height
@@ -1263,7 +1263,7 @@ Pokedex_DrawSearchResultsScreenBG: ; 40962 (10:4962)
hlcoord 8, 0
ld [hl], $59
hlcoord 8, 1
- ld b, $7
+ ld b, 7
ld a, $5a
call Pokedex_HLDownBRows
hlcoord 8, 8
@@ -1717,7 +1717,7 @@ Pokedex_DisplayModeDescription: ; 40e5b
xor a
ld [hBGMapMode], a
hlcoord 0, 12
- lb bc, 4, SCREEN_WIDTH - 2
+ lb bc, 4, 18
call Pokedex_PlaceBorder
ld a, [wDexArrowCursorPosIndex]
ld hl, .Modes
@@ -1756,7 +1756,7 @@ Pokedex_DisplayChangingModesMessage: ; 40f08 (10:4f08)
xor a
ld [hBGMapMode], a
hlcoord 0, 12
- lb bc, 4, SCREEN_WIDTH - 2
+ lb bc, 4, 18
call Pokedex_PlaceBorder
ld de, String_ChangingModesPleaseWait
hlcoord 1, 14
@@ -1995,7 +1995,7 @@ Pokedex_DisplayTypeNotFoundMessage: ; 41107
xor a
ld [hBGMapMode], a
hlcoord 0, 12
- ld bc, $0412
+ lb bc, 4, 18
call Pokedex_PlaceBorder
ld de, .TypeNotFound
hlcoord 1, 14
diff --git a/engine/pokegear.asm b/engine/pokegear.asm
index 4ef65da8c..5379734e6 100755
--- a/engine/pokegear.asm
+++ b/engine/pokegear.asm
@@ -3,27 +3,23 @@ PokeGear: ; 90b8d (24:4b8d)
ld a, [hl]
push af
set NO_TEXT_SCROLL, [hl]
-
ld a, [hInMenu]
push af
ld a, $1
ld [hInMenu], a
-
ld a, [VramState]
push af
xor a
ld [VramState], a
-
- call Function90bea
+ call .InitTilemap
call DelayFrame
-
.loop
call UpdateTime
call JoyTextDelay
ld a, [wJumptableIndex]
bit 7, a
jr nz, .done
- call Function90f04
+ call PokegearJumptable
callba PlaySpriteAnimations
call DelayFrame
jr .loop
@@ -45,10 +41,10 @@ PokeGear: ; 90b8d (24:4b8d)
ld [hBGMapAddress + 1], a
ld a, $90
ld [hWY], a
- call Function91492
+ call ExitPokegearRadio_HandleMusic
ret
-Function90bea: ; 90bea (24:4bea)
+.InitTilemap: ; 90bea (24:4bea)
call ClearBGPalettes
call ClearTileMap
call ClearSprites
@@ -58,27 +54,27 @@ Function90bea: ; 90bea (24:4bea)
ld [hSCX], a
ld a, $7
ld [hWX], a
- call Function90c4e
+ call Pokegear_LoadGFX
callba ClearSpriteAnims
call InitPokegearModeIndicatorArrow
ld a, 8
call SkipMusic
ld a, $e3
ld [rLCDC], a
- call Function90d70
+ call TownMap_InitCursorAndPlayerIconPositions
xor a
ld [wJumptableIndex], a
ld [wcf64], a
ld [wcf65], a
ld [wcf66], a
- ld [wc6d2], a
- ld [wc6d1], a
- ld [wc6d3], a
- ld [wc6d9], a
- ld [wc6da], a
- ld [wc6db], a
- call Function90d9e
- call Function90da8
+ ld [wPokegearPhoneScrollPosition], a
+ ld [wPokegearPhoneCursorPosition], a
+ ld [wPokegearPhoneSelectedPerson], a
+ ld [wPokegearRadioChannelBank], a
+ ld [wPokegearRadioChannelAddr], a
+ ld [wPokegearRadioChannelAddr + 1], a
+ call Pokegear_InitJumptableIndices
+ call InitPokegearTilemap
ld b, SCGB_POKEGEAR_PALS
call GetSGBLayout
call SetPalettes
@@ -89,23 +85,20 @@ Function90bea: ; 90bea (24:4bea)
call DmgToCgbObjPal0
ret
-Function90c4e: ; 90c4e
+Pokegear_LoadGFX: ; 90c4e
call ClearVBank1
ld hl, TownMapGFX
ld de, VTiles2
ld a, BANK(TownMapGFX)
call FarDecompress
-
ld hl, PokegearGFX
ld de, VTiles2 + $30 tiles
ld a, BANK(PokegearGFX)
call FarDecompress
-
ld hl, PokegearSpritesGFX
ld de, VTiles0
ld a, BANK(PokegearSpritesGFX)
call Decompress
-
ld a, [MapGroup]
ld b, a
ld a, [MapNumber]
@@ -113,23 +106,18 @@ Function90c4e: ; 90c4e
call GetWorldMapLocation
cp FAST_SHIP
jr z, .ssaqua
-
callba GetPlayerIcon
-
push de
ld h, d
ld l, e
ld a, b
-
; standing sprite
push af
ld de, VTiles0 tile $10
ld bc, 4 tiles
call FarCopyBytes
pop af
-
pop hl
-
; walking sprite
ld de, 12 tiles
add hl, de
@@ -144,6 +132,7 @@ Function90c4e: ; 90c4e
ld bc, 8 tiles
call CopyBytes
ret
+
; 90cb2
FastShipGFX: ; 90cb2
@@ -159,24 +148,25 @@ InitPokegearModeIndicatorArrow: ; 90d32 (24:4d32)
ld [hl], $0
ret
-Function90d41: ; 90d41 (24:4d41)
+AnimatePokegearModeIndicatorArrow: ; 90d41 (24:4d41)
ld hl, wcf64
ld e, [hl]
ld d, 0
- ld hl, Unknown_90d52
+ ld hl, .XCoords
add hl, de
ld a, [hl]
- ld hl, $6
+ ld hl, SPRITEANIMSTRUCT_XOFFSET
add hl, bc
ld [hl], a
ret
+
; 90d52 (24:4d52)
-Unknown_90d52: ; 90d52
+.XCoords: ; 90d52
db $00, $10, $20, $30
; 90d56
-Function90d56: ; 90d56
+TownMap_GetCurrentLandmark: ; 90d56
ld a, [MapGroup]
ld b, a
ld a, [MapNumber]
@@ -190,47 +180,43 @@ Function90d56: ; 90d56
ld c, a
call GetWorldMapLocation
ret
-; 90d70
+; 90d70
-Function90d70: ; 90d70 (24:4d70)
+TownMap_InitCursorAndPlayerIconPositions: ; 90d70 (24:4d70)
ld a, [MapGroup]
ld b, a
ld a, [MapNumber]
ld c, a
call GetWorldMapLocation
-
cp FAST_SHIP
jr z, .FastShip
-
cp SPECIAL_MAP
jr nz, .LoadLandmark
-
ld a, [BackupMapGroup]
ld b, a
ld a, [BackupMapNumber]
ld c, a
call GetWorldMapLocation
-
.LoadLandmark
- ld [wTownMapPlayerIconLandmark], a
- ld [wTownMapCursorLandmark], a
+ ld [wPokegearMapPlayerIconLandmark], a
+ ld [wPokegearMapCursorLandmark], a
ret
.FastShip
- ld [wTownMapPlayerIconLandmark], a
+ ld [wPokegearMapPlayerIconLandmark], a
ld a, NEW_BARK_TOWN
- ld [wTownMapCursorLandmark], a
+ ld [wPokegearMapCursorLandmark], a
ret
-Function90d9e: ; 90d9e (24:4d9e)
+Pokegear_InitJumptableIndices: ; 90d9e (24:4d9e)
ld a, $0
ld [wJumptableIndex], a
xor a
ld [wcf64], a
ret
-Function90da8: ; 90da8 (24:4da8)
+InitPokegearTilemap: ; 90da8 (24:4da8)
xor a
ld [hBGMapMode], a
hlcoord 0, 0
@@ -242,39 +228,37 @@ Function90da8: ; 90da8 (24:4da8)
add a
ld e, a
ld d, 0
- ld hl, Jumptable_90e12
+ ld hl, .Jumptable
add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
- ld de, .asm_90dcb
+ ld de, .return_from_jumptable
push de
jp [hl]
-.asm_90dcb
- call Function90eb0
+.return_from_jumptable
+ call Pokegear_FinishTilemap
callba TownMapPals
ld a, [wcf65]
and a
- jr nz, .asm_90de8
-
+ jr nz, .kanto_0
xor a
ld [hBGMapAddress], a
ld a, VBGMap0 / $100
ld [hBGMapAddress + 1], a
- call Function90e00
+ call .UpdateBGMap
ld a, $90
- jr .asm_90df3
+ jr .finish
-.asm_90de8
+.kanto_0
xor a
ld [hBGMapAddress], a
ld a, VBGMap1 / $100
ld [hBGMapAddress + 1], a
- call Function90e00
+ call .UpdateBGMap
xor a
-
-.asm_90df3
+.finish
ld [hWY], a
ld a, [wcf65]
and 1
@@ -282,46 +266,48 @@ Function90da8: ; 90da8 (24:4da8)
ld [wcf65], a
ret
-Function90e00: ; 90e00 (24:4e00)
+.UpdateBGMap: ; 90e00 (24:4e00)
ld a, [hCGB]
and a
- jr z, .asm_90e0e
+ jr z, .dmg
ld a, $2
ld [hBGMapMode], a
ld c, 3
call DelayFrames
-.asm_90e0e
+.dmg
call WaitBGMap
ret
+
; 90e12 (24:4e12)
-Jumptable_90e12: ; 90e12
- dw Function90e1a
- dw Function90e3f
- dw Function90e82
- dw Function90e72
+.Jumptable: ; 90e12
+ dw .Clock
+ dw .Map
+ dw .Phone
+ dw .Radio
+
; 90e1a
-Function90e1a: ; 90e1a
+.Clock: ; 90e1a
ld de, ClockTilemapRLE
- call Function914bb
+ call Pokegear_LoadTilemapRLE
hlcoord 12, 1
ld de, .switch
call PlaceString
hlcoord 0, 12
lb bc, 4, 18
call TextBox
- call Function90f86
+ call Pokegear_UpdateClock
ret
+
; 90e36 (24:4e36)
.switch
db " SWITCH▶@"
; 90e3f
-Function90e3f: ; 90e3f
-
- ld a, [wTownMapPlayerIconLandmark]
+.Map: ; 90e3f
+ ld a, [wPokegearMapPlayerIconLandmark]
cp FAST_SHIP
jr z, .johto
cp KANTO_LANDMARK
@@ -329,6 +315,7 @@ Function90e3f: ; 90e3f
.johto
ld e, 0
jr .ok
+
.kanto
ld e, 1
.ok
@@ -341,32 +328,35 @@ Function90e3f: ; 90e3f
ld [hl], $6
hlcoord 19, 2
ld [hl], $17
- ld a, [wTownMapCursorLandmark]
- call Function910b4
+ ld a, [wPokegearMapCursorLandmark]
+ call PokegearMap_UpdateLandmarkName
ret
+
; 90e72
-Function90e72: ; 90e72
+.Radio: ; 90e72
ld de, RadioTilemapRLE
- call Function914bb
+ call Pokegear_LoadTilemapRLE
hlcoord 0, 12
lb bc, 4, 18
call TextBox
ret
+
; 90e82
-Function90e82: ; 90e82
+.Phone: ; 90e82
ld de, PhoneTilemapRLE
- call Function914bb
+ call Pokegear_LoadTilemapRLE
hlcoord 0, 12
lb bc, 4, 18
call TextBox
- call Function90e98
- call Function912d8
+ call .PlacePhoneBars
+ call PokegearPhone_UpdateDisplayList
ret
+
; 90e98
-Function90e98: ; 90e98 (24:4e98)
+.PlacePhoneBars: ; 90e98 (24:4e98)
hlcoord 17, 1
ld a, $3c
ld [hli], a
@@ -382,7 +372,7 @@ Function90e98: ; 90e98 (24:4e98)
ld [hl], $3f
ret
-Function90eb0: ; 90eb0 (24:4eb0)
+Pokegear_FinishTilemap: ; 90eb0 (24:4eb0)
hlcoord 0, 0
ld bc, $8
ld a, $4f
@@ -394,33 +384,32 @@ Function90eb0: ; 90eb0 (24:4eb0)
ld de, wPokegearFlags
ld a, [de]
bit 0, a
- call nz, Function90ee4
+ call nz, .PlaceMapIcon
ld a, [de]
bit 2, a
- call nz, Function90eeb
+ call nz, .PlacePhoneIcon
ld a, [de]
bit 1, a
- call nz, Function90ef2
+ call nz, .PlaceRadioIcon
hlcoord 0, 0
ld a, $46
- call Function90ef7
+ call .PlacePokegearCardIcon
ret
-Function90ee4: ; 90ee4 (24:4ee4)
+.PlaceMapIcon: ; 90ee4 (24:4ee4)
hlcoord 2, 0
ld a, $40
- jr Function90ef7
+ jr .PlacePokegearCardIcon
-Function90eeb: ; 90eeb (24:4eeb)
+.PlacePhoneIcon: ; 90eeb (24:4eeb)
hlcoord 4, 0
ld a, $44
- jr Function90ef7
+ jr .PlacePokegearCardIcon
-Function90ef2: ; 90ef2 (24:4ef2)
+.PlaceRadioIcon: ; 90ef2 (24:4ef2)
hlcoord 6, 0
ld a, $42
-
-Function90ef7: ; 90ef7 (24:4ef7)
+.PlacePokegearCardIcon: ; 90ef7 (24:4ef7)
ld [hli], a
inc a
ld [hld], a
@@ -432,97 +421,90 @@ Function90ef7: ; 90ef7 (24:4ef7)
ld [hld], a
ret
-Function90f04: ; 90f04 (24:4f04)
+PokegearJumptable: ; 90f04 (24:4f04)
ld a, [wJumptableIndex]
ld e, a
ld d, 0
- ld hl, Jumptable_90f13
-rept 2
+ ld hl, .Jumptable
+ add hl, de
add hl, de
-endr
ld a, [hli]
ld h, [hl]
ld l, a
jp [hl]
-Jumptable_90f13: ; 90f13 (24:4f13)
- dw Function90f2d
- dw Function90f3e
- dw Function90fb4
- dw Function90fcd
- dw Function90fee
- dw Function90fcd
- dw Function90fe9
- dw Function91156
- dw Function91171
- dw Function911eb
- dw Function91256
- dw Function910f9
- dw Function91112
-
-
-Function90f2d: ; 90f2d (24:4f2d)
- call Function90da8
- ld hl, UnknownText_0x914d3
+.Jumptable: ; 90f13 (24:4f13)
+ dw PokegearClock_Init
+ dw PokegearClock_Joypad
+ dw PokegearMap_CheckRegion
+ dw PokegearMap_Init
+ dw PokegearMap_JohtoMap
+ dw PokegearMap_Init
+ dw PokegearMap_KantoMap
+ dw PokegearPhone_Init
+ dw PokegearPhone_Joypad
+ dw PokegearPhone_MakePhoneCall
+ dw PokegearPhone_FinishPhoneCall
+ dw PokegearRadio_Init
+ dw PokegearRadio_Joypad
+
+PokegearClock_Init: ; 90f2d (24:4f2d)
+ call InitPokegearTilemap
+ ld hl, PokegearText_PressAnyButtonToExit
call PrintText
ld hl, wJumptableIndex
inc [hl]
- call Function91492
+ call ExitPokegearRadio_HandleMusic
ret
-Function90f3e: ; 90f3e (24:4f3e)
- call Function90f7b
+PokegearClock_Joypad: ; 90f3e (24:4f3e)
+ call .UpdateClock
ld hl, hJoyLast
-
ld a, [hl]
and A_BUTTON + B_BUTTON + START + SELECT
- jr nz, .asm_90f75
-
+ jr nz, .quit
ld a, [hl]
and D_RIGHT
ret z
-
ld a, [wPokegearFlags]
bit 0, a
- jr z, .asm_90f5a
+ jr z, .no_map_card
ld c, $2
ld b, $1
- jr .asm_90f71
-.asm_90f5a
+ jr .done
+.no_map_card
ld a, [wPokegearFlags]
bit 2, a
- jr z, .asm_90f67
+ jr z, .no_phone_card
ld c, $7
ld b, $2
- jr .asm_90f71
-.asm_90f67
+ jr .done
+.no_phone_card
ld a, [wPokegearFlags]
bit 1, a
ret z
-
ld c, $b
ld b, $3
-
-.asm_90f71
- call Function91480
+.done
+ call Pokegear_SwitchPage
ret
-.asm_90f75
+.quit
ld hl, wJumptableIndex
set 7, [hl]
ret
-Function90f7b: ; 90f7b (24:4f7b)
+.UpdateClock: ; 90f7b (24:4f7b)
xor a
ld [hBGMapMode], a
- call Function90f86
+ call Pokegear_UpdateClock
ld a, $1
ld [hBGMapMode], a
ret
-Function90f86: ; 90f86 (24:4f86)
+Pokegear_UpdateClock: ; 90f86 (24:4f86)
hlcoord 3, 5
lb bc, 5, 14
call ClearBox
@@ -532,22 +514,23 @@ Function90f86: ; 90f86 (24:4f86)
ld c, a
decoord 6, 8
callba PrintHoursMins
- ld hl, UnknownText_0x90faf
+ ld hl, .DayText
bccoord 6, 6
call PlaceWholeStringInBoxAtOnce
ret
-; 90fa8 (24:4fa8)
-String_90fa8: db "ごぜん@"
-String_90fac: db "ごご@"
+; 90fa8 (24:4fa8)
+ db "ごぜん@"
+ db "ごご@"
-UnknownText_0x90faf: ; 0x90faf
+.DayText: ; 0x90faf
text_jump UnknownText_0x1c5821
db "@"
+
; 0x90fb4
-Function90fb4: ; 90fb4 (24:4fb4)
- ld a, [wTownMapPlayerIconLandmark]
+PokegearMap_CheckRegion: ; 90fb4 (24:4fb4)
+ ld a, [wPokegearMapPlayerIconLandmark]
cp FAST_SHIP
jr z, .johto
cp KANTO_LANDMARK
@@ -555,38 +538,37 @@ Function90fb4: ; 90fb4 (24:4fb4)
.johto
ld a, 3
jr .done
-
ret
.kanto
ld a, 5
.done
ld [wJumptableIndex], a
- call Function91492
+ call ExitPokegearRadio_HandleMusic
ret
-Function90fcd: ; 90fcd (24:4fcd)
- call Function90da8
- ld a, [wTownMapPlayerIconLandmark]
- call Function9106a
- ld a, [wTownMapCursorLandmark]
- call Function91098
+PokegearMap_Init: ; 90fcd (24:4fcd)
+ call InitPokegearTilemap
+ ld a, [wPokegearMapPlayerIconLandmark]
+ call PokegearMap_InitPlayerIcon
+ ld a, [wPokegearMapCursorLandmark]
+ call PokegearMap_InitCursor
ld a, c
- ld [wc6d5], a
+ ld [wPokegearMapCursorObjectPointer], a
ld a, b
- ld [wc6d6], a
+ ld [wPokegearMapCursorObjectPointer + 1], a
ld hl, wJumptableIndex
inc [hl]
ret
-Function90fe9: ; 90fe9 (24:4fe9)
+PokegearMap_KantoMap: ; 90fe9 (24:4fe9)
call TownMap_GetKantoLandmarkLimits
- jr Function90ff2
+ jr PokegearMap_ContinueMap
-Function90fee: ; 90fee (24:4fee)
- ld d, $2e
- ld e, $1
-Function90ff2: ; 90ff2 (24:4ff2)
+PokegearMap_JohtoMap: ; 90fee (24:4fee)
+ ld d, SILVER_CAVE
+ ld e, NEW_BARK_TOWN
+PokegearMap_ContinueMap: ; 90ff2 (24:4ff2)
ld hl, hJoyLast
ld a, [hl]
and B_BUTTON
@@ -597,18 +579,18 @@ Function90ff2: ; 90ff2 (24:4ff2)
ld a, [hl]
and D_LEFT
jr nz, .left
- call Function9102f
+ call .DPad
ret
.right
ld a, [wPokegearFlags]
bit 2, a
- jr z, .asm_91015
+ jr z, .no_phone
ld c, $7
ld b, $2
jr .done
-.asm_91015
+.no_phone
ld a, [wPokegearFlags]
bit 1, a
ret z
@@ -620,14 +602,15 @@ Function90ff2: ; 90ff2 (24:4ff2)
ld c, $0
ld b, $0
.done
- call Function91480
+ call Pokegear_SwitchPage
ret
+
.cancel
ld hl, wJumptableIndex
set 7, [hl]
ret
-Function9102f: ; 9102f (24:502f)
+.DPad: ; 9102f (24:502f)
ld hl, hJoyLast
ld a, [hl]
and D_UP
@@ -636,50 +619,49 @@ Function9102f: ; 9102f (24:502f)
and D_DOWN
jr nz, .down
ret
+
.up
- ld hl, wTownMapCursorLandmark
+ ld hl, wPokegearMapCursorLandmark
ld a, [hl]
cp d
- jr c, .asm_91047
+ jr c, .wrap_around_up
ld a, e
dec a
ld [hl], a
-.asm_91047
+.wrap_around_up
inc [hl]
- jr .done
+ jr .done_dpad
.down
- ld hl, wTownMapCursorLandmark
+ ld hl, wPokegearMapCursorLandmark
ld a, [hl]
cp e
- jr nz, .asm_91054
+ jr nz, .wrap_around_down
ld a, d
inc a
ld [hl], a
-.asm_91054
+.wrap_around_down
dec [hl]
-
-.done
- ld a, [wTownMapCursorLandmark]
- call Function910b4
- ld a, [wc6d5]
+.done_dpad
+ ld a, [wPokegearMapCursorLandmark]
+ call PokegearMap_UpdateLandmarkName
+ ld a, [wPokegearMapCursorObjectPointer]
ld c, a
- ld a, [wc6d6]
+ ld a, [wPokegearMapCursorObjectPointer + 1]
ld b, a
- ld a, [wTownMapCursorLandmark]
- call Function910d4
+ ld a, [wPokegearMapCursorLandmark]
+ call PokegearMap_UpdateCursorPosition
ret
-Function9106a: ; 9106a
+PokegearMap_InitPlayerIcon: ; 9106a
push af
depixel 0, 0
- ld b, SPRITE_ANIM_INDEX_WALK_CYCLE
+ ld b, SPRITE_ANIM_INDEX_RED_WALK
ld a, [PlayerGender]
bit 0, a
- jr z, .asm_91079
- ld b, SPRITE_ANIM_INDEX_1E
-
-.asm_91079
+ jr z, .got_gender
+ ld b, SPRITE_ANIM_INDEX_BLUE_WALK
+.got_gender
ld a, b
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
@@ -697,9 +679,10 @@ Function9106a: ; 9106a
add hl, bc
ld [hl], d
ret
+
; 91098
-Function91098: ; 91098
+PokegearMap_InitCursor: ; 91098
push af
depixel 0, 0
ld a, SPRITE_ANIM_INDEX_0D
@@ -712,12 +695,13 @@ Function91098: ; 91098
ld [hl], SPRITE_ANIM_SEQ_NULL
pop af
push bc
- call Function910d4
+ call PokegearMap_UpdateCursorPosition
pop bc
ret
+
; 910b4
-Function910b4: ; 910b4
+PokegearMap_UpdateLandmarkName: ; 910b4
push af
hlcoord 8, 0
lb bc, 2, 12
@@ -731,9 +715,10 @@ Function910b4: ; 910b4
hlcoord 8, 0
ld [hl], $34
ret
+
; 910d4
-Function910d4: ; 910d4
+PokegearMap_UpdateCursorPosition: ; 910d4
push bc
ld e, a
callba GetLandmarkCoords
@@ -745,6 +730,7 @@ Function910d4: ; 910d4
add hl, bc
ld [hl], d
ret
+
; 910e8
TownMap_GetKantoLandmarkLimits: ; 910e8
@@ -759,11 +745,11 @@ TownMap_GetKantoLandmarkLimits: ; 910e8
ld d, ROUTE_28
ld e, VICTORY_ROAD
ret
-; 910f9
+; 910f9
-Function910f9: ; 910f9 (24:50f9)
- call Function90da8
+PokegearRadio_Init: ; 910f9 (24:50f9)
+ call InitPokegearTilemap
depixel 4, 10, 4, 4
ld a, SPRITE_ANIM_INDEX_14
call _InitSpriteAnimStruct
@@ -775,7 +761,7 @@ Function910f9: ; 910f9 (24:50f9)
inc [hl]
ret
-Function91112: ; 91112 (24:5112)
+PokegearRadio_Joypad: ; 91112 (24:5112)
ld hl, hJoyLast
ld a, [hl]
and B_BUTTON
@@ -783,11 +769,11 @@ Function91112: ; 91112 (24:5112)
ld a, [hl]
and D_LEFT
jr nz, .left
- ld a, [wc6da]
+ ld a, [wPokegearRadioChannelAddr]
ld l, a
- ld a, [wc6db]
+ ld a, [wPokegearRadioChannelAddr + 1]
ld h, a
- ld a, [wc6d9]
+ ld a, [wPokegearRadioChannelBank]
and a
ret z
rst FarCall
@@ -796,24 +782,24 @@ Function91112: ; 91112 (24:5112)
.left
ld a, [wPokegearFlags]
bit 2, a
- jr z, .asm_9113b
+ jr z, .no_phone
ld c, $7
ld b, $2
- jr .asm_9114c
+ jr .switch_page
-.asm_9113b
+.no_phone
ld a, [wPokegearFlags]
bit 0, a
- jr z, .asm_91148
+ jr z, .no_map
ld c, $2
ld b, $1
- jr .asm_9114c
+ jr .switch_page
-.asm_91148
+.no_map
ld c, $0
ld b, $0
-.asm_9114c
- call Function91480
+.switch_page
+ call Pokegear_SwitchPage
ret
.cancel
@@ -821,20 +807,20 @@ Function91112: ; 91112 (24:5112)
set 7, [hl]
ret
-Function91156: ; 91156 (24:5156)
+PokegearPhone_Init: ; 91156 (24:5156)
ld hl, wJumptableIndex
inc [hl]
xor a
- ld [wc6d2], a
- ld [wc6d1], a
- ld [wc6d3], a
- call Function90da8
- call Function91492
- ld hl, UnknownText_0x914ce
+ ld [wPokegearPhoneScrollPosition], a
+ ld [wPokegearPhoneCursorPosition], a
+ ld [wPokegearPhoneSelectedPerson], a
+ call InitPokegearTilemap
+ call ExitPokegearRadio_HandleMusic
+ ld hl, PokegearText_WhomToCall
call PrintText
ret
-Function91171: ; 91171 (24:5171)
+PokegearPhone_Joypad: ; 91171 (24:5171)
ld hl, hJoyPressed
ld a, [hl]
and B_BUTTON
@@ -849,20 +835,21 @@ Function91171: ; 91171 (24:5171)
ld a, [hl]
and D_RIGHT
jr nz, .right
- call Function9126d
+ call PokegearPhone_GetDPad
ret
.left
ld a, [wPokegearFlags]
bit 0, a
- jr z, .asm_9119c
+ jr z, .no_map
ld c, $2
ld b, $1
- jr .asm_911ac
-.asm_9119c
+ jr .switch_page
+
+.no_map
ld c, $0
ld b, $0
- jr .asm_911ac
+ jr .switch_page
.right
ld a, [wPokegearFlags]
@@ -870,8 +857,8 @@ Function91171: ; 91171 (24:5171)
ret z
ld c, $b
ld b, $3
-.asm_911ac
- call Function91480
+.switch_page
+ call Pokegear_SwitchPage
ret
.b
@@ -881,55 +868,53 @@ Function91171: ; 91171 (24:5171)
.a
ld hl, wPhoneList
- ld a, [wc6d2]
+ ld a, [wPokegearPhoneScrollPosition]
ld e, a
ld d, 0
add hl, de
- ld a, [wc6d1]
+ ld a, [wPokegearPhoneCursorPosition]
ld e, a
ld d, 0
add hl, de
ld a, [hl]
and a
ret z
-
- ld [wc6d3], a
+ ld [wPokegearPhoneSelectedPerson], a
hlcoord 1, 4
- ld a, [wc6d1]
+ ld a, [wPokegearPhoneCursorPosition]
ld bc, 20 * 2
call AddNTimes
ld [hl], "▷"
- call Function91342
- jr c, .asm_911e5
-
+ call PokegearPhoneContactSubmenu
+ jr c, .quit_submenu
ld hl, wJumptableIndex
inc [hl]
ret
-.asm_911e5
+.quit_submenu
ld a, $8
ld [wJumptableIndex], a
ret
-Function911eb: ; 911eb (24:51eb)
+PokegearPhone_MakePhoneCall: ; 911eb (24:51eb)
call GetMapHeaderPhoneServiceNybble
and a
- jr nz, .asm_91234
+ jr nz, .no_service
ld hl, Options
res NO_TEXT_SCROLL, [hl]
xor a
ld [hInMenu], a
ld de, SFX_CALL
call PlaySFX
- ld hl, UnknownText_0x9124c
+ ld hl, .dotdotdot
call PrintText
call WaitSFX
ld de, SFX_CALL
call PlaySFX
- ld hl, UnknownText_0x9124c
+ ld hl, .dotdotdot
call PrintText
call WaitSFX
- ld a, [wc6d3]
+ ld a, [wPokegearPhoneSelectedPerson]
ld b, a
call Function90199
ld c, 10
@@ -938,45 +923,49 @@ Function911eb: ; 911eb (24:51eb)
set NO_TEXT_SCROLL, [hl]
ld a, $1
ld [hInMenu], a
- call Function912b7
+ call PokegearPhone_UpdateCursor
ld hl, wJumptableIndex
inc [hl]
ret
-.asm_91234
+
+.no_service
callba Phone_NoSignal
- ld hl, OutOfServiceAreaText
+ ld hl, .OutOfServiceArea
call PrintText
ld a, $8
ld [wJumptableIndex], a
- ld hl, UnknownText_0x914ce
+ ld hl, PokegearText_WhomToCall
call PrintText
ret
+
; 9124c (24:524c)
-UnknownText_0x9124c: ; 0x9124c
+.dotdotdot: ; 0x9124c
;
text_jump UnknownText_0x1c5824
db "@"
+
; 0x91251
-OutOfServiceAreaText: ; 0x91251
+.OutOfServiceArea: ; 0x91251
; You're out of the service area.
text_jump UnknownText_0x1c5827
db "@"
+
; 0x91256
-Function91256: ; 91256 (24:5256)
+PokegearPhone_FinishPhoneCall: ; 91256 (24:5256)
ld a, [hJoyPressed]
and A_BUTTON | B_BUTTON
ret z
callba HangUp
ld a, $8
ld [wJumptableIndex], a
- ld hl, UnknownText_0x914ce
+ ld hl, PokegearText_WhomToCall
call PrintText
ret
-Function9126d: ; 9126d (24:526d)
+PokegearPhone_GetDPad: ; 9126d (24:526d)
ld hl, hJoyLast
ld a, [hl]
and D_UP
@@ -987,52 +976,52 @@ Function9126d: ; 9126d (24:526d)
ret
.up
- ld hl, wc6d1
+ ld hl, wPokegearPhoneCursorPosition
ld a, [hl]
and a
- jr z, .asm_91285
+ jr z, .scroll_page_up
dec [hl]
- jr .asm_912a3
+ jr .done_joypad_same_page
-.asm_91285
- ld hl, wc6d2
+.scroll_page_up
+ ld hl, wPokegearPhoneScrollPosition
ld a, [hl]
and a
ret z
dec [hl]
- jr .asm_912ad
+ jr .done_joypad_update_page
.down
- ld hl, wc6d1
+ ld hl, wPokegearPhoneCursorPosition
ld a, [hl]
cp $3
- jr nc, .asm_91299
+ jr nc, .scroll_page_down
inc [hl]
- jr .asm_912a3
+ jr .done_joypad_same_page
-.asm_91299
- ld hl, wc6d2
+.scroll_page_down
+ ld hl, wPokegearPhoneScrollPosition
ld a, [hl]
cp $6
ret nc
inc [hl]
- jr .asm_912ad
+ jr .done_joypad_update_page
-.asm_912a3
+.done_joypad_same_page
xor a
ld [hBGMapMode], a
- call Function912b7
+ call PokegearPhone_UpdateCursor
call WaitBGMap
ret
-.asm_912ad
+.done_joypad_update_page
xor a
ld [hBGMapMode], a
- call Function912d8
+ call PokegearPhone_UpdateDisplayList
call WaitBGMap
ret
-Function912b7: ; 912b7 (24:52b7)
+PokegearPhone_UpdateCursor: ; 912b7 (24:52b7)
ld a, " "
hlcoord 1, 4
ld [hl], a
@@ -1043,41 +1032,40 @@ Function912b7: ; 912b7 (24:52b7)
hlcoord 1, 10
ld [hl], a
hlcoord 1, 4
- ld a, [wc6d1]
- ld bc, $28
+ ld a, [wPokegearPhoneCursorPosition]
+ ld bc, 2 * SCREEN_WIDTH
call AddNTimes
ld [hl], "▶"
ret
-Function912d8: ; 912d8 (24:52d8)
+PokegearPhone_UpdateDisplayList: ; 912d8 (24:52d8)
hlcoord 1, 3
- ld b, $9
- ld a, $7f
-.asm_912df
- ld c, $12
-.asm_912e1
+ ld b, 9
+ ld a, " "
+.row
+ ld c, 18
+.col
ld [hli], a
dec c
- jr nz, .asm_912e1
-rept 2
+ jr nz, .col
+ inc hl
inc hl
-endr
dec b
- jr nz, .asm_912df
- ld a, [wc6d2]
+ jr nz, .row
+ ld a, [wPokegearPhoneScrollPosition]
ld e, a
ld d, $0
ld hl, wPhoneList
add hl, de
xor a
- ld [wc6d0], a
-.asm_912f8
+ ld [wPokegearPhoneLoadNameBuffer], a
+.loop
ld a, [hli]
push hl
push af
hlcoord 2, 4
- ld a, [wc6d0]
- ld bc, $28
+ ld a, [wPokegearPhoneLoadNameBuffer]
+ ld bc, 2 * SCREEN_WIDTH
call AddNTimes
ld d, h
ld e, l
@@ -1085,66 +1073,66 @@ endr
ld b, a
call Function90380
pop hl
- ld a, [wc6d0]
+ ld a, [wPokegearPhoneLoadNameBuffer]
inc a
- ld [wc6d0], a
+ ld [wPokegearPhoneLoadNameBuffer], a
cp $4
- jr c, .asm_912f8
- call Function912b7
+ jr c, .loop
+ call PokegearPhone_UpdateCursor
ret
+
; 9131e (24:531e)
-Function9131e: ; 9131e
+PokegearPhone_DeletePhoneNumber: ; 9131e
ld hl, wPhoneList
- ld a, [wc6d2]
+ ld a, [wPokegearPhoneScrollPosition]
ld e, a
ld d, 0
add hl, de
- ld a, [wc6d1]
+ ld a, [wPokegearPhoneCursorPosition]
ld e, a
ld d, 0
add hl, de
ld [hl], 0
ld hl, wPhoneList
- ld c, $a
-.asm_91336
+ ld c, CONTACT_LIST_SIZE
+.loop
ld a, [hli]
and a
- jr nz, .asm_9133e
+ jr nz, .skip
ld a, [hld]
ld [hli], a
ld [hl], 0
-.asm_9133e
+.skip
dec c
- jr nz, .asm_91336
+ jr nz, .loop
ret
+
; 91342
-Function91342: ; 91342 (24:5342)
+PokegearPhoneContactSubmenu: ; 91342 (24:5342)
ld hl, wPhoneList
- ld a, [wc6d2]
+ ld a, [wPokegearPhoneScrollPosition]
ld e, a
ld d, 0
add hl, de
- ld a, [wc6d1]
+ ld a, [wPokegearPhoneCursorPosition]
ld e, a
ld d, 0
add hl, de
ld c, [hl]
- callba Function9038a
+ callba CheckCanDeletePhoneNumber
ld a, c
and a
- jr z, .asm_91366
-
- ld hl, Jumptable_91455
- ld de, Unknown_9143f
- jr .asm_9136c
-
-.asm_91366
- ld hl, Jumptable_9146a
- ld de, Unknown_9145b
-
-.asm_9136c
+ jr z, .cant_delete
+ ld hl, .CallDeleteCancelJumptable
+ ld de, .CallDeleteCancelStrings
+ jr .got_menu_data
+
+.cant_delete
+ ld hl, .CallCancelJumptable
+ ld de, .CallCancelStrings
+.got_menu_data
xor a
ld [hBGMapMode], a
push hl
@@ -1171,100 +1159,100 @@ Function91342: ; 91342 (24:5342)
call PlaceString
pop de
xor a
- ld [wc6d4], a
- call Function9141d
+ ld [wPokegearPhoneSubmenuCursor], a
+ call .UpdateCursor
call WaitBGMap
-
-.asm_91398
+.loop
push de
call JoyTextDelay
pop de
ld hl, hJoyPressed
ld a, [hl]
and D_UP
- jr nz, .asm_913b4
+ jr nz, .d_up
ld a, [hl]
and D_DOWN
- jr nz, .asm_913c1
+ jr nz, .d_down
ld a, [hl]
and A_BUTTON | B_BUTTON
- jr nz, .asm_913d4
+ jr nz, .a_b
call DelayFrame
- jr .asm_91398
+ jr .loop
-.asm_913b4
- ld hl, wc6d4
+.d_up
+ ld hl, wPokegearPhoneSubmenuCursor
ld a, [hl]
and a
- jr z, .asm_91398
+ jr z, .loop
dec [hl]
- call Function9141d
- jr .asm_91398
+ call .UpdateCursor
+ jr .loop
-.asm_913c1
+.d_down
ld hl, 2
add hl, de
- ld a, [wc6d4]
+ ld a, [wPokegearPhoneSubmenuCursor]
inc a
cp [hl]
- jr nc, .asm_91398
- ld [wc6d4], a
- call Function9141d
- jr .asm_91398
+ jr nc, .loop
+ ld [wPokegearPhoneSubmenuCursor], a
+ call .UpdateCursor
+ jr .loop
-.asm_913d4
+.a_b
xor a
ld [hBGMapMode], a
- call Function912d8
+ call PokegearPhone_UpdateDisplayList
ld a, $1
ld [hBGMapMode], a
pop hl
ld a, [hJoyPressed]
and B_BUTTON
- jr nz, Function913f1
-
- ld a, [wc6d4]
+ jr nz, .Cancel
+ ld a, [wPokegearPhoneSubmenuCursor]
ld e, a
ld d, 0
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
jp [hl]
-Function913f1: ; 913f1
- ld hl, UnknownText_0x914ce
+.Cancel: ; 913f1
+ ld hl, PokegearText_WhomToCall
call PrintText
scf
ret
+
; 913f9 (24:53f9)
-Function913f9: ; 913f9
- ld hl, UnknownText_0x914d8
+.Delete: ; 913f9
+ ld hl, PokegearText_DeleteStoredNumber
call MenuTextBox
call YesNoBox
call ExitMenu
- jr c, .asm_91419
- call Function9131e
+ jr c, .CancelDelete
+ call PokegearPhone_DeletePhoneNumber
xor a
ld [hBGMapMode], a
- call Function912d8
- ld hl, UnknownText_0x914ce
+ call PokegearPhone_UpdateDisplayList
+ ld hl, PokegearText_WhomToCall
call PrintText
call WaitBGMap
-.asm_91419
+.CancelDelete
scf
ret
+
; 9141b
-Function9141b: ; 9141b
+.Call: ; 9141b
and a
ret
+
; 9141d
-Function9141d: ; 9141d (24:541d)
+.UpdateCursor: ; 9141d (24:541d)
push de
ld a, [de]
inc de
@@ -1276,22 +1264,23 @@ Function9141d: ; 9141d (24:541d)
ld c, a
push hl
ld a, " "
- ld de, 20 * 2
-.asm_9142c
+ ld de, SCREEN_WIDTH * 2
+.clear_column
ld [hl], a
add hl, de
dec c
- jr nz, .asm_9142c
+ jr nz, .clear_column
pop hl
- ld a, [wc6d4]
- ld bc, 20 * 2
+ ld a, [wPokegearPhoneSubmenuCursor]
+ ld bc, SCREEN_WIDTH * 2
call AddNTimes
ld [hl], "▶"
pop de
ret
+
; 9143f (24:543f)
-Unknown_9143f: ; 9143f
+.CallDeleteCancelStrings: ; 9143f
dwcoord 10, 6
db 3
db "CALL"
@@ -1300,13 +1289,14 @@ Unknown_9143f: ; 9143f
db "@"
; 91455
-Jumptable_91455: ; 91455
- dw Function9141b
- dw Function913f9
- dw Function913f1
+.CallDeleteCancelJumptable: ; 91455
+ dw .Call
+ dw .Delete
+ dw .Cancel
+
; 9145b
-Unknown_9145b: ; 9145b
+.CallCancelStrings: ; 9145b
dwcoord 10, 8
db 2
db "CALL"
@@ -1314,29 +1304,29 @@ Unknown_9145b: ; 9145b
db "@"
; 9146a
-Jumptable_9146a: ; 9146a
- dw Function9141b
- dw Function913f1
-; 9146e
+.CallCancelJumptable: ; 9146a
+ dw .Call
+ dw .Cancel
+; 9146e
-Function9146e: ; 9146e
+; XXX
ld a, [hHours]
cp 12
- jr c, .asm_9147b
+ jr c, .am
sub 12
ld [wd265], a
scf
ret
-.asm_9147b
+.am
ld [wd265], a
and a
ret
-; 91480
+; 91480
-Function91480: ; 91480 (24:5480)
+Pokegear_SwitchPage: ; 91480 (24:5480)
ld de, SFX_READ_TEXT_2
call PlaySFX
ld a, c
@@ -1346,23 +1336,23 @@ Function91480: ; 91480 (24:5480)
call DeleteSpriteAnimStruct2ToEnd
ret
-Function91492: ; 91492
- ld a, [wc6dc]
+ExitPokegearRadio_HandleMusic: ; 91492
+ ld a, [wPokegearRadioMusicPlaying]
cp $fe
- jr z, .asm_914a3
+ jr z, .restart_map_music
cp $ff
call z, EnterMapMusic
xor a
- ld [wc6dc], a
+ ld [wPokegearRadioMusicPlaying], a
ret
-.asm_914a3
+.restart_map_music
call RestartMapMusic
xor a
- ld [wc6dc], a
+ ld [wPokegearRadioMusicPlaying], a
ret
-; 914ab
+; 914ab
DeleteSpriteAnimStruct2ToEnd: ; 914ab (24:54ab)
ld hl, SpriteAnim2
@@ -1373,9 +1363,11 @@ DeleteSpriteAnimStruct2ToEnd: ; 914ab (24:54ab)
ld [wSpriteAnimCount], a
ret
-Function914bb: ; 914bb (24:54bb)
+Pokegear_LoadTilemapRLE: ; 914bb (24:54bb)
+ ; Format: repeat count, tile ID
+ ; Terminated with $FF
hlcoord 0, 0
-.asm_914be
+.loop
ld a, [de]
cp $ff
ret z
@@ -1385,49 +1377,52 @@ Function914bb: ; 914bb (24:54bb)
ld c, a
inc de
ld a, b
-.asm_914c8
+.load
ld [hli], a
dec c
- jr nz, .asm_914c8
- jr .asm_914be
+ jr nz, .load
+ jr .loop
+
; 914ce (24:54ce)
-UnknownText_0x914ce: ; 0x914ce
+PokegearText_WhomToCall: ; 0x914ce
; Whom do you want to call?
text_jump UnknownText_0x1c5847
db "@"
+
; 0x914d3
-UnknownText_0x914d3: ; 0x914d3
+PokegearText_PressAnyButtonToExit: ; 0x914d3
; Press any button to exit.
text_jump UnknownText_0x1c5862
db "@"
+
; 0x914d8
-UnknownText_0x914d8: ; 0x914d8
+PokegearText_DeleteStoredNumber: ; 0x914d8
; Delete this stored phone number?
text_jump UnknownText_0x1c587d
db "@"
-; 0x914dd
+; 0x914dd
PokegearSpritesGFX: ; 914dd
INCBIN "gfx/misc/pokegear_sprites.2bpp.lz"
; 9150d
RadioTilemapRLE: ; 9150d
-INCBIN "gfx/unknown/09150d.tilemap.rle"
-
+INCBIN "gfx/pokegear/radio.tilemap.rle"
PhoneTilemapRLE: ; 9158a
-INCBIN "gfx/unknown/09158a.tilemap.rle"
-
+INCBIN "gfx/pokegear/phone.tilemap.rle"
ClockTilemapRLE: ; 915db
-INCBIN "gfx/unknown/0915db.tilemap.rle"
+INCBIN "gfx/pokegear/clock.tilemap.rle"
; 9163e
+
_UpdateRadioStation: ; 9163e (24:563e)
jr UpdateRadioStation
; called from engine/sprite_anims.asm
+
AnimateTuningKnob: ; 91640 (24:5640)
push bc
call .TuningKnob
@@ -1453,9 +1448,8 @@ AnimateTuningKnob: ; 91640 (24:5640)
ld a, [hl]
and a
ret z
-rept 2
dec [hl]
-endr
+ dec [hl]
jr .update
.up
@@ -1463,12 +1457,9 @@ endr
ld a, [hl]
cp 80
ret nc
-rept 2
inc [hl]
-endr
-
+ inc [hl]
.update
-
UpdateRadioStation: ; 9166f (24:566f)
ld hl, wRadioTuningKnob
ld d, [hl]
@@ -1479,9 +1470,8 @@ UpdateRadioStation: ; 9166f (24:566f)
jr z, .nostation
cp d
jr z, .foundstation
-rept 2
inc hl
-endr
+ inc hl
jr .loop
.nostation
@@ -1495,8 +1485,9 @@ endr
ld de, .returnafterstation
push de
jp [hl]
+
.returnafterstation
- ld a, [wc6d9]
+ ld a, [wPokegearRadioChannelBank]
and a
ret z
xor a
@@ -1506,20 +1497,22 @@ endr
ld a, $1
ld [hBGMapMode], a
ret
+
; 916a1 (24:56a1)
-Function916a1: ; 916a1
- ld [wc6d9], a
+; XXX
+ ld [wPokegearRadioChannelBank], a
ld a, [hli]
- ld [wc6da], a
+ ld [wPokegearRadioChannelAddr], a
ld a, [hli]
- ld [wc6db], a
+ ld [wPokegearRadioChannelAddr + 1], a
ret
-; 916ad
+; 916ad
RadioChannels:
; frequencies and the shows that play on them.
+
; frequency value given here = 4 × ingame_frequency − 2
dbw 16, .PkmnTalkAndPokedexShow
dbw 28, .PokemonMusic
@@ -1534,6 +1527,7 @@ RadioChannels:
.PkmnTalkAndPokedexShow
; Pokédex Show in the morning
+
; Oak's Pokémon Talk in the afternoon and evening
call .InJohto
jr nc, .NoSignal
@@ -1558,7 +1552,7 @@ RadioChannels:
jp LoadStation_BuenasPassword
.RuinsOfAlphRadio
- ld a, [wTownMapPlayerIconLandmark]
+ ld a, [wPokegearMapPlayerIconLandmark]
cp RUINS_OF_ALPH
jr nz, .NoSignal
jp LoadStation_UnownRadio
@@ -1589,12 +1583,10 @@ RadioChannels:
.EvolutionRadio
; This station airs in the Lake of Rage area when Rocket are still in Mahogany.
-
ld a, [StatusFlags]
bit 4, a
jr z, .NoSignal
-
- ld a, [wTownMapPlayerIconLandmark]
+ ld a, [wPokegearMapPlayerIconLandmark]
cp MAHOGANY_TOWN
jr z, .ok
cp ROUTE_43
@@ -1610,8 +1602,9 @@ RadioChannels:
.InJohto
; if in Johto or on the S.S. Aqua, set carry
+
; otherwise clear carry
- ld a, [wTownMapPlayerIconLandmark]
+ ld a, [wPokegearMapPlayerIconLandmark]
cp FAST_SHIP
jr z, .johto
cp KANTO_LANDMARK
@@ -1619,12 +1612,11 @@ RadioChannels:
.kanto
and a
ret
+
.johto
scf
ret
-
-
LoadStation_OaksPokemonTalk: ; 91753 (24:5753)
xor a ; OAKS_POKEMON_TALK
ld [wd002], a
@@ -1682,6 +1674,7 @@ LoadStation_BuenasPassword: ; 917a5 (24:57a5)
ret z
ld de, BuenasPasswordName
ret
+
; 917c3 (24:57c3)
BuenasPasswordName: db "BUENA'S PASSWORD@"
@@ -1719,6 +1712,7 @@ LoadStation_LetsAllSing: ; 917ff (24:57ff)
call Radio_BackUpFarCallParams
ld de, LetsAllSingName
ret
+
; 91814 (24:5814)
LoadStation_RocketRadio: ; 91814
@@ -1731,6 +1725,7 @@ LoadStation_RocketRadio: ; 91814
call Radio_BackUpFarCallParams
ld de, LetsAllSingName
ret
+
; 91829
LoadStation_PokeFluteRadio: ; 91829 (24:5829)
@@ -1754,6 +1749,7 @@ LoadStation_EvolutionRadio: ; 9183e (24:583e)
call Radio_BackUpFarCallParams
ld de, UnknownStationName
ret
+
; 91853 (24:5853)
LoadStation_Dummy: ; 91853
@@ -1762,7 +1758,7 @@ LoadStation_Dummy: ; 91853
RadioMusicRestartDE: ; 91854 (24:5854)
push de
ld a, e
- ld [wc6dc], a
+ ld [wPokegearRadioMusicPlaying], a
ld de, MUSIC_NONE
call PlayMusic
pop de
@@ -1774,7 +1770,7 @@ RadioMusicRestartDE: ; 91854 (24:5854)
RadioMusicRestartPokemonChannel: ; 91868 (24:5868)
push de
ld a, $fe
- ld [wc6dc], a
+ ld [wPokegearRadioMusicPlaying], a
ld de, MUSIC_NONE
call PlayMusic
pop de
@@ -1783,20 +1779,20 @@ RadioMusicRestartPokemonChannel: ; 91868 (24:5868)
ret
Radio_BackUpFarCallParams: ; 9187c (24:587c)
- ld [wc6d9], a
+ ld [wPokegearRadioChannelBank], a
ld a, l
- ld [wc6da], a
+ ld [wPokegearRadioChannelAddr], a
ld a, h
- ld [wc6db], a
+ ld [wPokegearRadioChannelAddr + 1], a
ret
NoRadioStation: ; 91888 (24:5888)
call NoRadioMusic
call NoRadioName
xor a
- ld [wc6d9], a
- ld [wc6da], a
- ld [wc6db], a
+ ld [wPokegearRadioChannelBank], a
+ ld [wPokegearRadioChannelAddr], a
+ ld [wPokegearRadioChannelAddr + 1], a
ld a, $1
ld [hBGMapMode], a
ret
@@ -1805,7 +1801,7 @@ NoRadioMusic: ; 9189d (24:589d)
ld de, MUSIC_NONE
call PlayMusic
ld a, $ff
- ld [wc6dc], a
+ ld [wPokegearRadioMusicPlaying], a
ret
NoRadioName: ; 918a9 (24:58a9)
@@ -1818,6 +1814,7 @@ NoRadioName: ; 918a9 (24:58a9)
ld bc, $412
call TextBox
ret
+
; 918bf
OaksPkmnTalkName: db "OAK's <PK><MN> Talk@"
@@ -1825,12 +1822,181 @@ PokedexShowName: db "#DEX Show@"
PokemonMusicName: db "#MON Music@"
LuckyChannelName: db "Lucky Channel@"
UnknownStationName: db "?????@"
+
PlacesAndPeopleName: db "Places & People@"
LetsAllSingName: db "Let's All Sing!@"
PokeFluteStationName: db "# FLUTE@"
; 9191c
-INCLUDE "engine/town_map.asm"
+_TownMap: ; 9191c
+ ld hl, Options
+ ld a, [hl]
+ push af
+ set NO_TEXT_SCROLL, [hl]
+
+ ld a, [hInMenu]
+ push af
+ ld a, $1
+ ld [hInMenu], a
+
+ ld a, [VramState]
+ push af
+ xor a
+ ld [VramState], a
+
+ call ClearBGPalettes
+ call ClearTileMap
+ call ClearSprites
+ call DisableLCD
+ call Pokegear_LoadGFX
+ callba ClearSpriteAnims
+ ld a, 8
+ call SkipMusic
+ ld a, $e3
+ ld [rLCDC], a
+ call TownMap_GetCurrentLandmark
+ ld [wd002], a
+ ld [wd003], a
+ xor a
+ ld [hBGMapMode], a
+ call .InitTilemap
+ call WaitBGMap2
+ ld a, [wd002]
+ call PokegearMap_InitPlayerIcon
+ ld a, [wd003]
+ call PokegearMap_InitCursor
+ ld a, c
+ ld [wd004], a
+ ld a, b
+ ld [wd005], a
+ ld b, SCGB_POKEGEAR_PALS
+ call GetSGBLayout
+ call SetPalettes
+ ld a, [hCGB]
+ and a
+ jr z, .dmg
+ ld a, %11100100
+ call DmgToCgbObjPal0
+ call DelayFrame
+
+.dmg
+ ld a, [wd002]
+ cp KANTO_LANDMARK
+ jr nc, .kanto
+ ld d, KANTO_LANDMARK - 1
+ ld e, 1
+ call .loop
+ jr .resume
+
+.kanto
+ call TownMap_GetKantoLandmarkLimits
+ call .loop
+
+.resume
+ pop af
+ ld [VramState], a
+ pop af
+ ld [hInMenu], a
+ pop af
+ ld [Options], a
+ call ClearBGPalettes
+ ret
+
+.loop
+ call JoyTextDelay
+ ld hl, hJoyPressed
+ ld a, [hl]
+ and B_BUTTON
+ ret nz
+
+ ld hl, hJoyLast
+ ld a, [hl]
+ and D_UP
+ jr nz, .pressed_up
+
+ ld a, [hl]
+ and D_DOWN
+ jr nz, .pressed_down
+.loop2
+ push de
+ callba PlaySpriteAnimations
+ pop de
+ call DelayFrame
+ jr .loop
+
+.pressed_up
+ ld hl, wd003
+ ld a, [hl]
+ cp d
+ jr c, .okay
+ ld a, e
+ dec a
+ ld [hl], a
+
+.okay
+ inc [hl]
+ jr .next
+
+.pressed_down
+ ld hl, wd003
+ ld a, [hl]
+ cp e
+ jr nz, .okay2
+ ld a, d
+ inc a
+ ld [hl], a
+
+.okay2
+ dec [hl]
+
+.next
+ push de
+ ld a, [wd003]
+ call PokegearMap_UpdateLandmarkName
+ ld a, [wd004]
+ ld c, a
+ ld a, [wd005]
+ ld b, a
+ ld a, [wd003]
+ call PokegearMap_UpdateCursorPosition
+ pop de
+ jr .loop2
+; 91a04
+
+.InitTilemap: ; 91a04
+ ld a, [wd002]
+ cp KANTO_LANDMARK
+ jr nc, .kanto2
+ ld e, $0
+ jr .okay_tilemap
+
+.kanto2
+ ld e, $1
+.okay_tilemap
+ callba PokegearMap
+ ld a, $7
+ ld bc, 6
+ hlcoord 1, 0
+ call ByteFill
+ hlcoord 0, 0
+ ld [hl], $6
+ hlcoord 7, 0
+ ld [hl], $17
+ hlcoord 7, 1
+ ld [hl], $16
+ hlcoord 7, 2
+ ld [hl], $26
+ ld a, $7
+ ld bc, NAME_LENGTH
+ hlcoord 8, 2
+ call ByteFill
+ hlcoord 19, 2
+ ld [hl], $17
+ ld a, [wd003]
+ call PokegearMap_UpdateLandmarkName
+ callba TownMapPals
+ ret
+; 91a53
PlayRadio: ; 91a53
ld hl, Options
@@ -1845,15 +2011,14 @@ PlayRadio: ; 91a53
ld a, [hJoyPressed]
and A_BUTTON | B_BUTTON
jr nz, .stop
- ld a, [wc6da]
+ ld a, [wPokegearRadioChannelAddr]
ld l, a
- ld a, [wc6db]
+ ld a, [wPokegearRadioChannelAddr + 1]
ld h, a
- ld a, [wc6d9]
+ ld a, [wPokegearRadioChannelBank]
and a
jr z, .zero
rst FarCall
-
.zero
call DelayFrame
jr .loop
@@ -1861,8 +2026,9 @@ PlayRadio: ; 91a53
.stop
pop af
ld [Options], a
- call Function91492
+ call ExitPokegearRadio_HandleMusic
ret
+
; 91a87
.PlayStation: ; 91a87
@@ -1870,9 +2036,8 @@ PlayRadio: ; 91a53
ld [EnemyTurnsTaken], a
ld hl, .StationPointers
ld d, $0
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -1895,6 +2060,7 @@ endr
ld [hl], $73
call WaitBGMap
ret
+
; 91ab9
.StationPointers: ; 91ab9
@@ -1907,6 +2073,7 @@ endr
dw LoadStation_PlacesAndPeople
dw LoadStation_LetsAllSing
dw LoadStation_RocketRadio
+
; 91acb
.OakOrPnP: ; 91acb
@@ -1921,6 +2088,7 @@ endr
.kanto
jp LoadStation_PlacesAndPeople
+
; 91ae1
PokegearMap: ; 91ae1
@@ -1935,6 +2103,7 @@ PokegearMap: ; 91ae1
call LoadTownMapGFX
call FillKantoMap
ret
+
; 91af3
_FlyMap: ; 91af3
@@ -1985,7 +2154,6 @@ _FlyMap: ; 91af3
ld de, Flypoints + 1
add hl, de
ld a, [hl]
-
.exit
ld [wd002], a
pop af
@@ -2000,6 +2168,7 @@ _FlyMap: ; 91af3
ld a, [wd002]
ld e, a
ret
+
; 91b73
FlyMapScroll: ; 91b73
@@ -2024,7 +2193,6 @@ FlyMapScroll: ; 91b73
ld a, e
dec a
ld [hl], a
-
.NotAtEndYet
inc [hl]
call CheckIfVisitedFlypoint
@@ -2039,18 +2207,17 @@ FlyMapScroll: ; 91b73
ld a, d
inc a
ld [hl], a
-
.NotAtStartYet
dec [hl]
call CheckIfVisitedFlypoint
jr z, .ScrollPrev
-
.Finally
call TownMapBubble
call WaitBGMap
xor a
ld [hBGMapMode], a
ret
+
; 91bb5
TownMapBubble: ; 91bb5
@@ -2060,47 +2227,38 @@ TownMapBubble: ; 91bb5
hlcoord 1, 0
ld a, $30
ld [hli], a
-
; Top row
ld bc, 16
ld a, " "
call ByteFill
-
; Top-right corner
ld a, $31
ld [hl], a
hlcoord 1, 1
-
; Middle row
ld bc, 18
ld a, " "
call ByteFill
-
; Bottom-left corner
hlcoord 1, 2
ld a, $32
ld [hli], a
-
; Bottom row
ld bc, 16
ld a, " "
call ByteFill
-
; Bottom-right corner
ld a, $33
ld [hl], a
-
; Print "Where?"
hlcoord 2, 0
ld de, .Where
call PlaceString
-
; Print the name of the default flypoint
call .Name
-
; Up/down arrows
hlcoord 18, 1
ld [hl], $34
@@ -2118,13 +2276,12 @@ TownMapBubble: ; 91bb5
ld de, Flypoints
add hl, de
ld e, [hl]
-
callba GetLandmarkName
-
hlcoord 2, 1
ld de, StringBuffer1
call PlaceString
ret
+
; 91c17
GetMapCursorCoordinates: ; 91c17
@@ -2147,6 +2304,7 @@ GetMapCursorCoordinates: ; 91c17
add hl, bc
ld [hl], d
ret
+
; 91c3c
CheckIfVisitedFlypoint: ; 91c3c
@@ -2166,6 +2324,7 @@ CheckIfVisitedFlypoint: ; 91c3c
pop bc
and a
ret
+
; 91c50
HasVisitedSpawn: ; 91c50
@@ -2176,18 +2335,16 @@ HasVisitedSpawn: ; 91c50
predef FlagPredef
ld a, c
ret
+
; 91c5e
Flypoints: ; 91c5e
; landmark, spawn point
-
const_def
-
flypoint: MACRO
const FLY_\1
db \2, SPAWN_\1
ENDM
-
; Johto
flypoint NEW_BARK, NEW_BARK_TOWN
flypoint CHERRYGROVE, CHERRYGROVE_CITY
@@ -2201,10 +2358,9 @@ ENDM
flypoint LAKE, LAKE_OF_RAGE
flypoint BLACKTHORN, BLACKTHORN_CITY
flypoint MT_SILVER, SILVER_CAVE
-
; Kanto
-KANTO_FLYPOINT EQU const_value
+KANTO_FLYPOINT EQU const_value
flypoint PALLET, PALLET_TOWN
flypoint VIRIDIAN, VIRIDIAN_CITY
flypoint PEWTER, PEWTER_CITY
@@ -2217,54 +2373,46 @@ KANTO_FLYPOINT EQU const_value
flypoint FUCHSIA, FUCHSIA_CITY
flypoint CINNABAR, CINNABAR_ISLAND
flypoint INDIGO, INDIGO_PLATEAU
-
db -1
+
; 91c8f
ret_91c8f: ; 91c8f
ret
+
; 91c90
FlyMap: ; 91c90
-
ld a, [MapGroup]
ld b, a
ld a, [MapNumber]
ld c, a
call GetWorldMapLocation
-
; If we're not in a valid location, i.e. Pokecenter floor 2F,
-; the backup map information is used
+; the backup map information is used
cp SPECIAL_MAP
jr nz, .CheckRegion
-
ld a, [BackupMapGroup]
ld b, a
ld a, [BackupMapNumber]
ld c, a
call GetWorldMapLocation
-
.CheckRegion
; The first 46 locations are part of Johto. The rest are in Kanto
cp KANTO_LANDMARK
jr nc, .KantoFlyMap
-
.JohtoFlyMap
; Note that .NoKanto should be modified in tandem with this branch
-
push af
-
; Start from New Bark Town
ld a, FLY_NEW_BARK
ld [wd002], a
-
; Flypoints begin at New Bark Town...
ld [StartFlypoint], a
; ..and end at Silver Cave
ld a, FLY_MT_SILVER
ld [EndFlypoint], a
-
; Fill out the map
call FillJohtoMap
call .MapHud
@@ -2273,23 +2421,23 @@ FlyMap: ; 91c90
ret
.KantoFlyMap
-
; The event that there are no flypoints enabled in a map is not
+
; accounted for. As a result, if you attempt to select a flypoint
; when there are none enabled, the game will crash. Additionally,
+
; the flypoint selection has a default starting point that
; can be flown to even if none are enabled
; To prevent both of these things from happening when the player
; enters Kanto, fly access is restricted until Indigo Plateau is
-; visited and its flypoint enabled
+; visited and its flypoint enabled
push af
ld c, SPAWN_INDIGO
call HasVisitedSpawn
and a
jr z, .NoKanto
-
; Kanto's map is only loaded if we've visited Indigo Plateau
; Flypoints begin at Pallet Town...
@@ -2298,11 +2446,10 @@ FlyMap: ; 91c90
; ...and end at Indigo Plateau
ld a, FLY_INDIGO
ld [EndFlypoint], a
-
; Because Indigo Plateau is the first flypoint the player
+
; visits, it's made the default flypoint
ld [wd002], a
-
; Fill out the map
call FillKantoMap
call .MapHud
@@ -2316,30 +2463,25 @@ FlyMap: ; 91c90
; Start from New Bark Town
ld a, FLY_NEW_BARK
ld [wd002], a
-
; Flypoints begin at New Bark Town...
ld [StartFlypoint], a
; ..and end at Silver Cave
ld a, FLY_MT_SILVER
ld [EndFlypoint], a
-
call FillJohtoMap
-
pop af
-
.MapHud
call TownMapBubble
call TownMapPals
-
hlbgcoord 0, 0 ; BG Map 0
call TownMapBGUpdate
-
call TownMapMon
ld a, c
ld [wd003], a
ld a, b
ld [wd004], a
ret
+
; 91d11
_Area: ; 91d11
@@ -2355,17 +2497,14 @@ _Area: ; 91d11
ld [hBGMapMode], a
ld a, $1
ld [hInMenu], a
-
ld de, PokedexNestIconGFX
ld hl, VTiles0 tile $7f
lb bc, BANK(PokedexNestIconGFX), 1
call Request2bpp
-
call .GetPlayerOrFastShipIcon
ld hl, VTiles0 tile $78
ld c, 4
call Request2bpp
-
call LoadTownMapGFX
call FillKantoMap
call .PlaceString_MonsNest
@@ -2399,7 +2538,6 @@ _Area: ; 91d11
.select
call .HideNestsShowPlayer
-
.next
call DelayFrame
jr .loop
@@ -2411,6 +2549,7 @@ _Area: ; 91d11
pop af
ld [wd002], a
ret
+
; 91d9b
.LeftRightInput: ; 91d9b
@@ -2446,6 +2585,7 @@ _Area: ; 91d11
ld a, 1 ; Kanto
call .GetAndPlaceNest
ret
+
; 91dcd
.BlinkNestIcons: ; 91dcd
@@ -2465,6 +2605,7 @@ _Area: ; 91d11
ld bc, SpritesEnd - Sprites
call CopyBytes
ret
+
; 91de9
.PlaceString_MonsNest: ; 91de9
@@ -2487,6 +2628,7 @@ _Area: ; 91d11
ld de, .String_SNest
call PlaceString
ret
+
; 91e16
.String_SNest:
@@ -2530,12 +2672,12 @@ _Area: ; 91d11
ld bc, SpritesEnd - Sprites
call CopyBytes
ret
+
; 91e5a
.HideNestsShowPlayer: ; 91e5a
call .CheckPlayerLocation
ret c
-
ld a, [wd002]
ld e, a
callba GetLandmarkCoords
@@ -2546,22 +2688,18 @@ _Area: ; 91d11
.ShowPlayerLoop
ld a, [de]
cp $80
- jr z, .copy
-
+ jr z, .clear_oam
add b
ld [hli], a
inc de
-
ld a, [de]
add c
ld [hli], a
inc de
-
ld a, [de]
add $78 ; where the player's sprite is loaded
ld [hli], a
inc de
-
push bc
ld c, 0 ; RED
ld a, [PlayerGender]
@@ -2572,15 +2710,15 @@ _Area: ; 91d11
ld a, c
ld [hli], a
pop bc
-
jr .ShowPlayerLoop
-.copy
- ld hl, Sprites + $10
- ld bc, SpritesEnd - (Sprites + $10)
+.clear_oam
+ ld hl, Sprites + 4 * 4
+ ld bc, SpritesEnd - (Sprites + 4 * 4)
xor a
call ByteFill
ret
+
; 91e9c
.PlayerOAM: ; 91e9c
@@ -2593,6 +2731,7 @@ _Area: ; 91d11
.CheckPlayerLocation: ; 91ea9
; Don't show the player's sprite if you're
+
; not in the same region as what's currently
; on the screen.
ld a, [wd002]
@@ -2600,7 +2739,6 @@ _Area: ; 91d11
jr z, .johto
cp KANTO_LANDMARK
jr c, .johto
-
.kanto
ld a, [wd003]
and a
@@ -2611,7 +2749,6 @@ _Area: ; 91d11
ld a, [wd003]
and a
jr nz, .clear
-
.ok
and a
ret
@@ -2623,6 +2760,7 @@ _Area: ; 91d11
call ByteFill
scf
ret
+
; 91ed0
.GetPlayerOrFastShipIcon: ; 91ed0
@@ -2636,6 +2774,7 @@ _Area: ; 91d11
ld de, FastShipGFX
ld b, BANK(FastShipGFX)
ret
+
; 91ee4
TownMapBGUpdate: ; 91ee4
@@ -2646,29 +2785,26 @@ TownMapBGUpdate: ; 91ee4
ld [hBGMapAddress], a
ld a, h
ld [hBGMapAddress + 1], a
-
; Only update palettes on CGB
ld a, [hCGB]
and a
jr z, .tiles
-
; BG Map mode 2 (palettes)
ld a, 2
ld [hBGMapMode], a
-
; The BG Map is updated in thirds, so we wait
+
; 3 frames to update the whole screen's palettes.
ld c, 3
call DelayFrames
-
.tiles
; Update BG Map tiles
call WaitBGMap
-
; Turn off BG Map update
xor a
ld [hBGMapMode], a
ret
+
; 91eff
FillJohtoMap: ; 91eff
@@ -2677,7 +2813,6 @@ FillJohtoMap: ; 91eff
FillKantoMap: ; 91f04
ld de, KantoMap
-
FillTownMap: ; 91f07
hlcoord 0, 0
.loop
@@ -2688,11 +2823,11 @@ FillTownMap: ; 91f07
ld [hli], a
inc de
jr .loop
+
; 91f13
TownMapPals: ; 91f13
; Assign palettes based on tile ids
-
hlcoord 0, 0
decoord 0, 0, AttrMap
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
@@ -2700,17 +2835,15 @@ TownMapPals: ; 91f13
; Current tile
ld a, [hli]
push hl
-
; HP/borders use palette 0
cp $60
jr nc, .pal0
-
; The palette data is condensed to nybbles,
+
; least-significant first.
ld hl, TownMapPalMap
srl a
jr c, .odd
-
; Even-numbered tile ids take the bottom nybble...
add l
ld l, a
@@ -2735,7 +2868,6 @@ TownMapPals: ; 91f13
.pal0
xor a
-
.update
pop hl
ld [de], a
@@ -2766,16 +2898,13 @@ TownMapMon: ; 91f7b
add hl, de
ld a, [hl]
ld [wd265], a
-
; Get FlyMon icon
ld e, 8 ; starting tile in VRAM
callba GetSpeciesIcon
-
; Animation/palette
depixel 0, 0
ld a, SPRITE_ANIM_INDEX_00
call _InitSpriteAnimStruct
-
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $8
@@ -2783,19 +2912,17 @@ TownMapMon: ; 91f7b
add hl, bc
ld [hl], SPRITE_ANIM_SEQ_NULL
ret
+
; 91fa6
TownMapPlayerIcon: ; 91fa6
; Draw the player icon at town map location in a
push af
-
callba GetPlayerIcon
-
; Standing icon
ld hl, VTiles0 tile $10
ld c, 4 ; # tiles
call Request2bpp
-
; Walking icon
ld hl, $c0
add hl, de
@@ -2805,28 +2932,24 @@ TownMapPlayerIcon: ; 91fa6
ld c, 4 ; # tiles
ld a, BANK(ChrisSpriteGFX) ; does nothing
call Request2bpp
-
; Animation/palette
depixel 0, 0
- ld b, SPRITE_ANIM_INDEX_WALK_CYCLE ; Male
+ ld b, SPRITE_ANIM_INDEX_RED_WALK ; Male
ld a, [PlayerGender]
bit 0, a
jr z, .got_gender
- ld b, SPRITE_ANIM_INDEX_1E ; Female
+ ld b, SPRITE_ANIM_INDEX_BLUE_WALK ; Female
.got_gender
ld a, b
call _InitSpriteAnimStruct
-
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $10
-
pop af
ld e, a
push bc
callba GetLandmarkCoords
pop bc
-
ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
ld [hl], e
@@ -2834,6 +2957,7 @@ TownMapPlayerIcon: ; 91fa6
add hl, bc
ld [hl], d
ret
+
; 0x91ff2
LoadTownMapGFX: ; 91ff2
@@ -2842,8 +2966,8 @@ LoadTownMapGFX: ; 91ff2
lb bc, BANK(TownMapGFX), $30
call DecompressRequest2bpp
ret
-; 91fff
+; 91fff
JohtoMap: ; 91fff
INCBIN "gfx/misc/johto.bin"
@@ -2855,12 +2979,10 @@ INCBIN "gfx/misc/kanto.bin"
PokedexNestIconGFX: ; 922d1
INCBIN "gfx/pokegear/dexmap_nest_icon.2bpp"
-
FlyMapLabelBorderGFX: ; 922e1
INCBIN "gfx/pokegear/flymap_label_border.2bpp"
-Function92311: ; 92311
-; unreferenced
+; XXX
xor a
ld [wd002], a
call ClearBGPalettes
@@ -2913,7 +3035,7 @@ Function92311: ; 92311
.pressedB
ld a, -1
- jr .asm_9239f
+ jr .finished_a_b
.pressedA
ld a, [wd002]
@@ -2923,8 +3045,7 @@ Function92311: ; 92311
ld de, Flypoints + 1
add hl, de
ld a, [hl]
-
-.asm_9239f
+.finished_a_b
ld [wd002], a
pop af
ld [hInMenu], a
@@ -2938,6 +3059,7 @@ Function92311: ; 92311
ld a, [wd002]
ld e, a
ret
+
; 923b8
.HandleDPad: ; 923b8
@@ -2968,12 +3090,10 @@ Function92311: ; 92311
ld [hl], FLY_INDIGO + 1
.okay_ul
dec [hl]
-
.continue
ld a, [wd002]
cp KANTO_FLYPOINT
jr c, .johto
-
call FillKantoMap
xor a
ld b, $9c
@@ -2983,7 +3103,6 @@ Function92311: ; 92311
call FillJohtoMap
ld a, $90
ld b, $98
-
.finish
ld [hWY], a
ld a, b
@@ -2993,4 +3112,5 @@ Function92311: ; 92311
xor a
ld [hBGMapMode], a
ret
+
; 92402
diff --git a/engine/predef.asm b/engine/predef.asm
index f459747bb..f52127311 100644
--- a/engine/predef.asm
+++ b/engine/predef.asm
@@ -49,7 +49,7 @@ PredefPointers:: ; 856b
add_predef Predef_LinkTextbox ; $ 10
add_predef PrintMoveDesc
add_predef UpdatePlayerHUD
- add_predef FillBox
+ add_predef PlaceGraphic
add_predef CheckPlayerPartyForFitPkmn
add_predef UpdateEnemyHUD
add_predef StartBattle
@@ -88,7 +88,7 @@ PredefPointers:: ; 856b
add_predef PlayBattleAnim
add_predef Predef38 ; $38
add_predef Predef39
- add_predef Functionfd1d0
+ add_predef Predef3A
add_predef PartyMonItemName
add_predef GetFrontpic
add_predef GetBackpic
@@ -103,6 +103,6 @@ PredefPointers:: ; 856b
add_predef LoadMonAnimation
add_predef AnimateFrontpic
add_predef Functiond0669 ; $48
- add_predef Functiond066e
+ add_predef HOF_AnimateFrontpic
dbw $ff, Function2d43 ; ????
; 864c
diff --git a/engine/prof_oaks_pc.asm b/engine/prof_oaks_pc.asm
new file mode 100755
index 000000000..05ff2b691
--- /dev/null
+++ b/engine/prof_oaks_pc.asm
@@ -0,0 +1,219 @@
+
+ProfOaksPC: ; 0x265d3
+ ld hl, OakPCText1
+ call MenuTextBox
+ call YesNoBox
+ jr c, .shutdown
+ call ProfOaksPCBoot ; player chose "yes"?
+.shutdown
+ ld hl, OakPCText4
+ call PrintText
+ call JoyWaitAorB
+ call ExitMenu
+ ret
+
+ProfOaksPCBoot ; 0x265ee
+ ld hl, OakPCText2
+ call PrintText
+ call Rate
+ call PlaySFX ; sfx loaded by previous Rate function call
+ call JoyWaitAorB
+ call WaitSFX
+ ret
+
+ProfOaksPCRating: ; 0x26601
+ call Rate
+ push de
+ ld de, MUSIC_NONE
+ call PlayMusic
+ pop de
+ call PlaySFX
+ call JoyWaitAorB
+ call WaitSFX
+ ret
+
+Rate: ; 0x26616
+; calculate Seen/Owned
+ ld hl, PokedexSeen
+ ld b, EndPokedexSeen - PokedexSeen
+ call CountSetBits
+ ld [wd002], a
+ ld hl, PokedexCaught
+ ld b, EndPokedexCaught - PokedexCaught
+ call CountSetBits
+ ld [wd003], a
+
+; print appropriate rating
+ call .UpdateRatingBuffers
+ ld hl, OakPCText3
+ call PrintText
+ call JoyWaitAorB
+ ld a, [wd003]
+ ld hl, OakRatings
+ call FindOakRating
+ push de
+ call PrintText
+ pop de
+ ret
+
+.UpdateRatingBuffers: ; 0x26647
+ ld hl, StringBuffer3
+ ld de, wd002
+ call .UpdateRatingBuffer
+ ld hl, StringBuffer4
+ ld de, wd003
+ call .UpdateRatingBuffer
+ ret
+
+.UpdateRatingBuffer: ; 0x2665a
+ push hl
+ ld a, "@"
+ ld bc, ITEM_NAME_LENGTH
+ call ByteFill
+ pop hl
+ lb bc, PRINTNUM_RIGHTALIGN | 1, 3
+ call PrintNum
+ ret
+
+FindOakRating: ; 0x2666b
+; return sound effect in de
+; return text pointer in hl
+ nop
+ ld c, a
+.loop
+ ld a, [hli]
+ cp c
+ jr nc, .match
+rept 4
+ inc hl
+endr
+ jr .loop
+
+.match
+ ld a, [hli]
+ ld e, a
+ ld a, [hli]
+ ld d, a
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ret
+
+OakRatings: ; 0x2667f
+oakrating: MACRO
+ db \1
+ dw \2, \3
+endm
+
+; if you caught at most this many, play this sound, load this text
+ oakrating 9, SFX_DEX_FANFARE_LESS_THAN_20, OakRating01
+ oakrating 19, SFX_DEX_FANFARE_LESS_THAN_20, OakRating02
+ oakrating 34, SFX_DEX_FANFARE_20_49, OakRating03
+ oakrating 49, SFX_DEX_FANFARE_20_49, OakRating04
+ oakrating 64, SFX_DEX_FANFARE_50_79, OakRating05
+ oakrating 79, SFX_DEX_FANFARE_50_79, OakRating06
+ oakrating 94, SFX_DEX_FANFARE_80_109, OakRating07
+ oakrating 109, SFX_DEX_FANFARE_80_109, OakRating08
+ oakrating 124, SFX_CAUGHT_MON, OakRating09
+ oakrating 139, SFX_CAUGHT_MON, OakRating10
+ oakrating 154, SFX_DEX_FANFARE_140_169, OakRating11
+ oakrating 169, SFX_DEX_FANFARE_140_169, OakRating12
+ oakrating 184, SFX_DEX_FANFARE_170_199, OakRating13
+ oakrating 199, SFX_DEX_FANFARE_170_199, OakRating14
+ oakrating 214, SFX_DEX_FANFARE_200_229, OakRating15
+ oakrating 229, SFX_DEX_FANFARE_200_229, OakRating16
+ oakrating 239, SFX_DEX_FANFARE_230_PLUS, OakRating17
+ oakrating 248, SFX_DEX_FANFARE_230_PLUS, OakRating18
+ oakrating 255, SFX_DEX_FANFARE_230_PLUS, OakRating19
+
+OakPCText1: ; 0x266de
+ text_jump _OakPCText1
+ db "@"
+
+OakPCText2: ; 0x266e3
+ text_jump _OakPCText2
+ db "@"
+
+OakPCText3: ; 0x266e8
+ text_jump _OakPCText3
+ db "@"
+
+OakRating01:
+ text_jump _OakRating01
+ db "@"
+
+OakRating02:
+ text_jump _OakRating02
+ db "@"
+
+OakRating03:
+ text_jump _OakRating03
+ db "@"
+
+OakRating04:
+ text_jump _OakRating04
+ db "@"
+
+OakRating05:
+ text_jump _OakRating05
+ db "@"
+
+OakRating06:
+ text_jump _OakRating06
+ db "@"
+
+OakRating07:
+ text_jump _OakRating07
+ db "@"
+
+OakRating08:
+ text_jump _OakRating08
+ db "@"
+
+OakRating09:
+ text_jump _OakRating09
+ db "@"
+
+OakRating10:
+ text_jump _OakRating10
+ db "@"
+
+OakRating11:
+ text_jump _OakRating11
+ db "@"
+
+OakRating12:
+ text_jump _OakRating12
+ db "@"
+
+OakRating13:
+ text_jump _OakRating13
+ db "@"
+
+OakRating14:
+ text_jump _OakRating14
+ db "@"
+
+OakRating15:
+ text_jump _OakRating15
+ db "@"
+
+OakRating16:
+ text_jump _OakRating16
+ db "@"
+
+OakRating17:
+ text_jump _OakRating17
+ db "@"
+
+OakRating18:
+ text_jump _OakRating18
+ db "@"
+
+OakRating19:
+ text_jump _OakRating19
+ db "@"
+
+OakPCText4: ; 0x2674c
+ text_jump _OakPCText4
+ db "@"
diff --git a/engine/scripting.asm b/engine/scripting.asm
index 0a68243d3..42d060e9b 100644
--- a/engine/scripting.asm
+++ b/engine/scripting.asm
@@ -2806,9 +2806,9 @@ Script_xycompare: ; 97a01
; pointer (MultiByteParam)
call GetScriptByte
- ld [wd453], a
+ ld [wXYComparePointer], a
call GetScriptByte
- ld [wd454], a
+ ld [wXYComparePointer + 1], a
ret
; 97a0e
diff --git a/engine/sprite_anims.asm b/engine/sprite_anims.asm
index 827626114..50eb61df6 100755
--- a/engine/sprite_anims.asm
+++ b/engine/sprite_anims.asm
@@ -19,14 +19,14 @@ DoAnimFrame: ; 8d24b
dw .two ; bouncing mon icon, selected
dw .three ; bouncing mon icon, menu open
dw .four
- dw .five
+ dw .namingscreencursor
dw .GameFreakLogo ; Game Freak logo
dw .seven
dw .eight
dw .SlotsGolem ; Something to do with slots
dw .SlotsChansey ; Something to do with slots
dw .SlotsChanseyEgg ; Something to do with slots
- dw .twelve ; blinking cursor
+ dw .mailcompositioncursor ; blinking cursor
dw .thirteen
dw .fourteen
dw .fifteen
@@ -217,12 +217,12 @@ DoAnimFrame: ; 8d24b
ld [hl], a
ret
-.five: ; 8d36c (23:536c)
- callab Function11a3b
+.namingscreencursor: ; 8d36c (23:536c)
+ callab NamingScreen_AnimateCursor
ret
-.twelve: ; 8d373 (23:5373)
- callab Function120c1
+.mailcompositioncursor: ; 8d373 (23:5373)
+ callab ComposeMail_AnimateCursor
ret
.GameFreakLogo: ; 8d37a (23:537a)
@@ -409,7 +409,7 @@ DoAnimFrame: ; 8d24b
ret
.fifteen: ; 8d475 (23:5475)
- callab Function90d41
+ callab AnimatePokegearModeIndicatorArrow
ret
.fourteen: ; 8d47c (23:547c)
diff --git a/engine/startmenu.asm b/engine/startmenu.asm
index 6ba60af36..25a3eee39 100755
--- a/engine/startmenu.asm
+++ b/engine/startmenu.asm
@@ -393,7 +393,7 @@ endr
ld hl, StatusFlags2
bit 2, [hl] ; bug catching contest
ret z
- callba Function24bdc
+ callba StartMenu_DrawBugContestStatusBox
ret
; 128de
@@ -403,7 +403,7 @@ endr
jr nz, .contest
ret
.contest
- callba Function24be7
+ callba StartMenu_PrintBugContestStatus
ret
; 128ed
diff --git a/engine/tile_events.asm b/engine/tile_events.asm
index 8a6f2bc66..a6794e817 100755
--- a/engine/tile_events.asm
+++ b/engine/tile_events.asm
@@ -1,6 +1,6 @@
CheckWarpCollision:: ; 1499a
; Is this tile a warp?
- ld a, [PlayerNextTile]
+ ld a, [PlayerStandingTile]
cp $60
jr z, .warp
cp $68
@@ -19,7 +19,7 @@ CheckWarpCollision:: ; 1499a
CheckDirectionalWarp:: ; 149af
; If this is a directional warp, clear carry (press the designated button to warp).
; Else, set carry (immediate warp).
- ld a, [PlayerNextTile]
+ ld a, [PlayerStandingTile]
cp $70 ; Warp on down
jr z, .not_warp
cp $76 ; Warp on left
@@ -39,7 +39,7 @@ CheckDirectionalWarp:: ; 149af
CheckWarpFacingDown: ; 149c6
ld de, 1
ld hl, .blocks
- ld a, [PlayerNextTile]
+ ld a, [PlayerStandingTile]
call IsInArray
ret
; 149d3
@@ -58,7 +58,7 @@ CheckWarpFacingDown: ; 149c6
; 149dd
CheckGrassCollision:: ; 149dd
- ld a, [PlayerNextTile]
+ ld a, [PlayerStandingTile]
ld hl, .blocks
ld de, 1
call IsInArray
@@ -98,7 +98,7 @@ CheckCutCollision: ; 149f5
; 14a07
Function14a07:: ; 14a07
- ld a, [PlayerNextTile]
+ ld a, [PlayerStandingTile]
ld de, $1f
cp $71 ; door
ret z
diff --git a/engine/time.asm b/engine/time.asm
index 542141198..4240522c2 100755
--- a/engine/time.asm
+++ b/engine/time.asm
@@ -200,11 +200,9 @@ CheckPokerusTick:: ; 114e7
call CalcDaysSince
call GetDaysSince
and a
- jr z, .done
-
+ jr z, .done ; not even a day has passed since game start
ld b, a
callba ApplyPokerusTick
-
.done
xor a
ret
@@ -229,13 +227,13 @@ CheckUnusedTwoDayTimer: ; 1150c
ret
; 1151c
-Function1151c: ; unreferenced
+; XXX
ld hl, DailyFlags
set 2, [hl]
ret
; 11522
-Function11522: ; unreferenced
+; XXX
and a
ld hl, DailyFlags
bit 2, [hl]
diff --git a/engine/time_capsule/conversion.asm b/engine/time_capsule/conversion.asm
index e2c545c48..5d093d515 100755
--- a/engine/time_capsule/conversion.asm
+++ b/engine/time_capsule/conversion.asm
@@ -367,13 +367,13 @@ NewPokedexEntry: ; fb877
ld a, [hSCX]
add -5 ; 251 ; NUM_POKEMON
ld [hSCX], a
- call Functionfb8c8
+ call .ReturnFromDexRegistration
pop af
ld [hMapAnims], a
ret
; fb8c8
-Functionfb8c8: ; fb8c8
+.ReturnFromDexRegistration: ; fb8c8
call ClearTileMap
call LoadFontsExtra
call LoadStandardFont
diff --git a/engine/tmhm2.asm b/engine/tmhm2.asm
index fdb829034..94de4f3e3 100755
--- a/engine/tmhm2.asm
+++ b/engine/tmhm2.asm
@@ -196,16 +196,16 @@ TMHM_PocketLoop: ; 2c8d3 (b:48d3)
xor a
ld [hBGMapMode], a
call TMHM_DisplayPocketItems
- ld a, $2
+ ld a, 2
ld [w2DMenuCursorInitY], a
- ld a, $7
+ ld a, 7
ld [w2DMenuCursorInitX], a
- ld a, $1
+ ld a, 1
ld [w2DMenuNumCols], a
- ld a, $5
+ ld a, 5
sub d
inc a
- cp $6
+ cp 6
jr nz, .okay
dec a
.okay
diff --git a/engine/town_map.asm b/engine/town_map.asm
deleted file mode 100755
index 100aaae17..000000000
--- a/engine/town_map.asm
+++ /dev/null
@@ -1,171 +0,0 @@
-
-_TownMap: ; 9191c
- ld hl, Options
- ld a, [hl]
- push af
- set NO_TEXT_SCROLL, [hl]
-
- ld a, [hInMenu]
- push af
- ld a, $1
- ld [hInMenu], a
-
- ld a, [VramState]
- push af
- xor a
- ld [VramState], a
-
- call ClearBGPalettes
- call ClearTileMap
- call ClearSprites
- call DisableLCD
- call Function90c4e
- callba ClearSpriteAnims
- ld a, 8
- call SkipMusic
- ld a, $e3
- ld [rLCDC], a
- call Function90d56
- ld [wd002], a
- ld [wd003], a
- xor a
- ld [hBGMapMode], a
- call Function91a04
- call WaitBGMap2
- ld a, [wd002]
- call Function9106a
- ld a, [wd003]
- call Function91098
- ld a, c
- ld [wd004], a
- ld a, b
- ld [wd005], a
- ld b, SCGB_POKEGEAR_PALS
- call GetSGBLayout
- call SetPalettes
- ld a, [hCGB]
- and a
- jr z, .dmg
- ld a, %11100100
- call DmgToCgbObjPal0
- call DelayFrame
-
-.dmg
- ld a, [wd002]
- cp KANTO_LANDMARK
- jr nc, .kanto
- ld d, KANTO_LANDMARK - 1
- ld e, 1
- call .loop
- jr .resume
-
-.kanto
- call TownMap_GetKantoLandmarkLimits
- call .loop
-
-.resume
- pop af
- ld [VramState], a
- pop af
- ld [hInMenu], a
- pop af
- ld [Options], a
- call ClearBGPalettes
- ret
-
-.loop
- call JoyTextDelay
- ld hl, hJoyPressed
- ld a, [hl]
- and B_BUTTON
- ret nz
-
- ld hl, hJoyLast
- ld a, [hl]
- and D_UP
- jr nz, .pressed_up
-
- ld a, [hl]
- and D_DOWN
- jr nz, .pressed_down
-.loop2
- push de
- callba PlaySpriteAnimations
- pop de
- call DelayFrame
- jr .loop
-
-.pressed_up
- ld hl, wd003
- ld a, [hl]
- cp d
- jr c, .okay
- ld a, e
- dec a
- ld [hl], a
-
-.okay
- inc [hl]
- jr .next
-
-.pressed_down
- ld hl, wd003
- ld a, [hl]
- cp e
- jr nz, .okay2
- ld a, d
- inc a
- ld [hl], a
-
-.okay2
- dec [hl]
-
-.next
- push de
- ld a, [wd003]
- call Function910b4
- ld a, [wd004]
- ld c, a
- ld a, [wd005]
- ld b, a
- ld a, [wd003]
- call Function910d4
- pop de
- jr .loop2
-; 91a04
-
-Function91a04: ; 91a04
- ld a, [wd002]
- cp KANTO_LANDMARK
- jr nc, .kanto
- ld e, $0
- jr .okay
-
-.kanto
- ld e, $1
-
-.okay
- callba PokegearMap
- ld a, $7
- ld bc, 6
- hlcoord 1, 0
- call ByteFill
- hlcoord 0, 0
- ld [hl], $6
- hlcoord 7, 0
- ld [hl], $17
- hlcoord 7, 1
- ld [hl], $16
- hlcoord 7, 2
- ld [hl], $26
- ld a, $7
- ld bc, NAME_LENGTH
- hlcoord 8, 2
- call ByteFill
- hlcoord 19, 2
- ld [hl], $17
- ld a, [wd003]
- call Function910b4
- callba TownMapPals
- ret
-; 91a53
diff --git a/engine/trade/animation.asm b/engine/trade/animation.asm
index a084fc3be..719a230ff 100755
--- a/engine/trade/animation.asm
+++ b/engine/trade/animation.asm
@@ -3,12 +3,12 @@ TradeAnimation: ; 28f24
ld [wcf66], a
ld hl, wPlayerTrademonSenderName
ld de, wOTTrademonSenderName
- call Function297ff
+ call LinkTradeAnim_LoadTradePlayerNames
ld hl, wPlayerTrademonSpecies
ld de, wOTTrademonSpecies
- call Function29814
+ call LinkTradeAnim_LoadTradeMonSpecies
ld de, .data_28f3f
- jr Function28fa1
+ jr RunTradeAnimSequence
.data_28f3f
tradeanim_setup_givemon_scroll
@@ -54,12 +54,12 @@ TradeAnimationPlayer2: ; 28f63
ld [wcf66], a
ld hl, wOTTrademonSenderName
ld de, wPlayerTrademonSenderName
- call Function297ff
+ call LinkTradeAnim_LoadTradePlayerNames
ld hl, wOTTrademonSpecies
ld de, wPlayerTrademonSpecies
- call Function29814
+ call LinkTradeAnim_LoadTradeMonSpecies
ld de, .data_28f7e
- jr Function28fa1
+ jr RunTradeAnimSequence
.data_28f7e
tradeanim_ot_sends_text_2
@@ -99,7 +99,7 @@ TradeAnimationPlayer2: ; 28f63
tradeanim_scroll_out_right
tradeanim_end
-Function28fa1: ; 28fa1
+RunTradeAnimSequence: ; 28fa1
ld hl, wTradeAnimPointer
ld [hl], e
inc hl
@@ -116,7 +116,7 @@ Function28fa1: ; 28fa1
ld a, [hl]
push af
set 4, [hl]
- call Function28fdb
+ call .TradeAnimLayout
ld a, [wcf66]
and a
jr nz, .anim_loop
@@ -134,7 +134,7 @@ Function28fa1: ; 28fa1
ret
; 28fdb
-Function28fdb: ; 28fdb
+.TradeAnimLayout: ; 28fdb
xor a
ld [wJumptableIndex], a
call ClearBGPalettes
@@ -145,7 +145,7 @@ Function28fdb: ; 28fdb
callab ClearSpriteAnims
ld a, [hCGB]
and a
- jr z, .asm_2900b
+ jr z, .NotCGB
ld a, $1
ld [rVBK], a
ld hl, VTiles0
@@ -155,7 +155,7 @@ Function28fdb: ; 28fdb
ld a, $0
ld [rVBK], a
-.asm_2900b
+.NotCGB
hlbgcoord 0, 0
ld bc, sScratch - VBGMap0
ld a, " "
@@ -182,7 +182,7 @@ Function28fdb: ; 28fdb
ld [hWY], a
callba GetTrademonFrontpic
call EnableLCD
- call Function2982b
+ call LoadTradeBallAndCableGFX
ld a, [wPlayerTrademonSpecies]
ld hl, wPlayerTrademonDVs
ld de, VTiles0
@@ -313,7 +313,7 @@ TradeAnim_End: ; 29123
TradeAnim_TubeToOT1: ; 29129
ld a, $ed
call Function292f6
- ld a, [wc74c]
+ ld a, [wLinkTradeSendmonSpecies]
ld [wd265], a
xor a
depixel 5, 11, 4, 0
@@ -323,7 +323,7 @@ TradeAnim_TubeToOT1: ; 29129
TradeAnim_TubeToPlayer1: ; 2913c
ld a, $ee
call Function292f6
- ld a, [wc74d]
+ ld a, [wLinkTradeGetmonSpecies]
ld [wd265], a
ld a, $2
depixel 9, 18, 4, 4
@@ -350,7 +350,7 @@ Function2914e: ; 2914e
ld a, $70
ld [hWY], a
call EnableLCD
- call Function2985a
+ call LoadTradeBubbleGFX
pop de
ld a, SPRITE_ANIM_INDEX_11
call _InitSpriteAnimStruct
@@ -476,7 +476,7 @@ TradeAnim_TubeToPlayer8: ; 29229
ld a, $90
ld [hWY], a
call EnableLCD
- call Function2982b
+ call LoadTradeBallAndCableGFX
call WaitBGMap
call Function297ed
call TradeAnim_Next
@@ -864,9 +864,9 @@ TradeAnim_ShowFrontpic: ; 294c3
call Function297cf
hlcoord 7, 2
xor a
- ld [hFillBox], a
+ ld [hGraphicStartTile], a
lb bc, 7, 7
- predef FillBox
+ predef PlaceGraphic
call WaitBGMap
ret
; 294e7
@@ -1376,17 +1376,17 @@ Function297ed: ; 297ed
ld a, [hSGB]
and a
ld a, %11100100 ; 3,2,1,0
- jr z, .asm_297f6
+ jr z, .not_sgb
ld a, $f0
-.asm_297f6
+.not_sgb
call DmgToCgbObjPal0
ld a, %11100100 ; 3,2,1,0
call DmgToCgbBGPals
ret
; 297ff
-Function297ff: ; 297ff
+LinkTradeAnim_LoadTradePlayerNames: ; 297ff
push de
ld de, wLinkPlayer1Name
ld bc, NAME_LENGTH
@@ -1398,11 +1398,11 @@ Function297ff: ; 297ff
ret
; 29814
-Function29814: ; 29814
+LinkTradeAnim_LoadTradeMonSpecies: ; 29814
ld a, [hl]
- ld [wc74c], a
+ ld [wLinkTradeSendmonSpecies], a
ld a, [de]
- ld [wc74d], a
+ ld [wLinkTradeGetmonSpecies], a
ret
; 2981d
@@ -1416,7 +1416,7 @@ Function2981d: ; 2981d
ret
; 2982b
-Function2982b: ; 2982b
+LoadTradeBallAndCableGFX: ; 2982b
call DelayFrame
ld de, TradeBallGFX
ld hl, VTiles0 tile $62
@@ -1431,13 +1431,13 @@ Function2982b: ; 2982b
lb bc, BANK(TradeCableGFX), $4
call Request2bpp
xor a
- ld hl, wc300
+ ld hl, wSpriteAnimDict
ld [hli], a
ld [hl], $62
ret
; 2985a
-Function2985a: ; 2985a
+LoadTradeBubbleGFX: ; 2985a
call DelayFrame
ld e, $3
callab Function8e83f
@@ -1446,7 +1446,7 @@ Function2985a: ; 2985a
lb bc, BANK(TradeBubbleGFX), $4
call Request2bpp
xor a
- ld hl, wc300
+ ld hl, wSpriteAnimDict
ld [hli], a
ld [hl], $62
ret
diff --git a/engine/trainer_card.asm b/engine/trainer_card.asm
index ae8ad2aa5..4898d657a 100755
--- a/engine/trainer_card.asm
+++ b/engine/trainer_card.asm
@@ -245,8 +245,8 @@ TrainerCard_PrintTopHalfOfCard: ; 25299 (9:5299)
hlcoord 14, 1
lb bc, 5, 7
xor a
- ld [hFillBox], a
- predef FillBox
+ ld [hGraphicStartTile], a
+ predef PlaceGraphic
ret
; 252ec (9:52ec)
diff --git a/engine/warp_connection.asm b/engine/warp_connection.asm
index 7df4fc35b..6d7e00181 100755
--- a/engine/warp_connection.asm
+++ b/engine/warp_connection.asm
@@ -349,7 +349,7 @@ CheckMovingOffEdgeOfMap:: ; 104820 (41:4820)
ret
.down
- ld a, [PlayerNextMapY]
+ ld a, [PlayerStandingMapY]
sub 4
ld b, a
ld a, [MapHeight]
@@ -360,7 +360,7 @@ CheckMovingOffEdgeOfMap:: ; 104820 (41:4820)
ret
.up
- ld a, [PlayerNextMapY]
+ ld a, [PlayerStandingMapY]
sub 4
cp -1
jr z, .ok
@@ -368,7 +368,7 @@ CheckMovingOffEdgeOfMap:: ; 104820 (41:4820)
ret
.left
- ld a, [PlayerNextMapX]
+ ld a, [PlayerStandingMapX]
sub $4
cp -1
jr z, .ok
@@ -376,7 +376,7 @@ CheckMovingOffEdgeOfMap:: ; 104820 (41:4820)
ret
.right
- ld a, [PlayerNextMapX]
+ ld a, [PlayerStandingMapX]
sub 4
ld b, a
ld a, [MapWidth]
diff --git a/event/celebi.asm b/event/celebi.asm
index d9c188f1a..3e01e31f6 100755
--- a/event/celebi.asm
+++ b/event/celebi.asm
@@ -61,8 +61,8 @@ endr
inc a
dec c
jr nz, .OAMloop
- ld hl, Sprites + $10
- ld bc, $90
+ ld hl, Sprites + 4 * 4
+ ld bc, 36 * 4
xor a
call ByteFill
ret
diff --git a/event/field_moves.asm b/event/field_moves.asm
index d2125b16e..658a21698 100755
--- a/event/field_moves.asm
+++ b/event/field_moves.asm
@@ -330,7 +330,7 @@ FlyFromAnim: ; 8caed
ld [VramState], a
call FlyFunction_InitGFX
depixel 10, 10, 4, 0
- ld a, SPRITE_ANIM_INDEX_WALK_CYCLE
+ ld a, SPRITE_ANIM_INDEX_RED_WALK
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
@@ -365,7 +365,7 @@ FlyToAnim: ; 8cb33
ld [VramState], a
call FlyFunction_InitGFX
depixel 31, 10, 4, 0
- ld a, SPRITE_ANIM_INDEX_WALK_CYCLE
+ ld a, SPRITE_ANIM_INDEX_RED_WALK
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
diff --git a/event/halloffame.asm b/event/halloffame.asm
index 95554a870..00716e20c 100755
--- a/event/halloffame.asm
+++ b/event/halloffame.asm
@@ -111,7 +111,7 @@ AnimateHallOfFame: ; 864c3
jr .loop
.done
- call Function86810
+ call HOF_AnimatePlayerPic
ld a, $4
ld [MusicFade], a
call RotateThreePalettesRight
@@ -128,7 +128,7 @@ AnimateHallOfFame: ; 864c3
call WaitBGMap
decoord 6, 5
ld c, $6
- predef Functiond066e
+ predef HOF_AnimateFrontpic
ld c, 60
call DelayFrames
and a
@@ -251,10 +251,10 @@ endr
ld de, VTiles2 tile $31
predef GetBackpic
ld a, $31
- ld [hFillBox], a
+ ld [hGraphicStartTile], a
hlcoord 6, 6
lb bc, 6, 6
- predef FillBox
+ predef PlaceGraphic
ld a, $d0
ld [hSCY], a
ld a, $90
@@ -310,21 +310,20 @@ _HallOfFamePC: ; 86650
call LoadFontsBattleExtra
xor a
ld [wJumptableIndex], a
-.loop
+.MasterLoop
call LoadHOFTeam
ret c
- call Function86665
+ call .DisplayTeam
ret c
ld hl, wJumptableIndex
inc [hl]
- jr .loop
-; 86665
+ jr .MasterLoop
-Function86665: ; 86665
+.DisplayTeam
xor a
ld [wcf64], a
.next
- call Function86692
+ call .DisplayMonAndStrings
jr c, .start_button
.loop
call JoyTextDelay
@@ -353,19 +352,18 @@ Function86665: ; 86665
.start_button
and a
ret
-; 86692
-Function86692: ; 86692
+.DisplayMonAndStrings
; Print the number of times the player has entered the Hall of Fame.
; If that number is above 200, print "HOF Master!" instead.
ld a, [wcf64]
- cp $6
+ cp PARTY_LENGTH
jr nc, .fail
ld hl, wHallOfFameTempMon1
ld bc, wHallOfFameTempMon1End - wHallOfFameTempMon1
call AddNTimes
ld a, [hl]
- cp $ff
+ cp -1
jr nz, .okay
.fail
@@ -380,14 +378,14 @@ Function86692: ; 86692
ld a, [wHallOfFameTempWinCount]
cp 200 + 1
jr c, .print_num_hof
- ld de, String_866fc
+ ld de, .HOFMaster
hlcoord 1, 2
call PlaceString
hlcoord 13, 2
jr .finish
.print_num_hof
- ld de, String_8670c
+ ld de, .TimeFamer
hlcoord 1, 2
call PlaceString
hlcoord 2, 2
@@ -397,7 +395,7 @@ Function86692: ; 86692
hlcoord 11, 2
.finish
- ld de, String_866fb
+ ld de, .EmptyString
call PlaceString
call WaitBGMap
ld b, SCGB_1A
@@ -405,24 +403,20 @@ Function86692: ; 86692
call SetPalettes
decoord 6, 5
ld c, $6
- predef Functiond066e
+ predef HOF_AnimateFrontpic
and a
ret
-; 866fb
-String_866fb:
+.EmptyString:
db "@"
-; 866fc
-String_866fc:
+.HOFMaster:
db " HOF Master!@"
-; 8670c
-String_8670c:
+.TimeFamer:
db " -Time Famer@"
; 8671c
-
LoadHOFTeam: ; 8671c
ld a, [wJumptableIndex]
cp NUM_HOF_TEAMS
@@ -537,7 +531,7 @@ DisplayHOFMon: ; 86748
ret
; 86810
-Function86810: ; 86810
+HOF_AnimatePlayerPic: ; 86810
call ClearBGPalettes
ld hl, VTiles2 tile $63
ld de, FontExtra + 13 tiles
@@ -549,10 +543,10 @@ Function86810: ; 86810
call ByteFill
callba GetPlayerBackpic
ld a, $31
- ld [hFillBox], a
+ ld [hGraphicStartTile], a
hlcoord 6, 6
lb bc, 6, 6
- predef FillBox
+ predef PlaceGraphic
ld a, $d0
ld [hSCY], a
ld a, $90
@@ -571,12 +565,12 @@ Function86810: ; 86810
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
ld a, " "
call ByteFill
- callba Function88840
+ callba HOF_LoadTrainerFrontpic
xor a
- ld [hFillBox], a
+ ld [hGraphicStartTile], a
hlcoord 12, 5
lb bc, 7, 7
- predef FillBox
+ predef PlaceGraphic
ld a, $c0
ld [hSCX], a
call WaitBGMap
diff --git a/event/kurt.asm b/event/kurt.asm
index d9239b7fa..1473e4631 100644
--- a/event/kurt.asm
+++ b/event/kurt.asm
@@ -140,7 +140,7 @@ Kurt_SelectQuantity: ; 880c2
call .PlaceApricornName
call PlaceApricornQuantity
call ApplyTilemap
- callba Function27a28
+ callba Kurt_SelectQuantity_InterpretJoypad
jr nc, .loop
push bc
diff --git a/event/mom_phone.asm b/event/mom_phone.asm
index e7d2a1493..a750b7475 100755
--- a/event/mom_phone.asm
+++ b/event/mom_phone.asm
@@ -275,7 +275,7 @@ _MomText_ItsInRoom: ; 0xfd1ca
db 0 ; XXX
-Functionfd1d0: ; fd1d0
+Predef3A: ; fd1d0
ret
; fd1d1
diff --git a/event/photo.asm b/event/photo.asm
index 75915716a..7f6ec9e66 100755
--- a/event/photo.asm
+++ b/event/photo.asm
@@ -144,9 +144,9 @@ UnownPrinter: ; 16be4
call Function16cff
hlcoord 1, 6
xor a
- ld [hFillBox], a
+ ld [hGraphicStartTile], a
lb bc, 7, 7
- predef FillBox
+ predef PlaceGraphic
ld de, VTiles2 tile $31
callba Functione0000
ret
@@ -228,9 +228,9 @@ Function16dac: ; 16dac
call ByteFill
hlcoord 7, 11
ld a, $31
- ld [hFillBox], a
+ ld [hGraphicStartTile], a
lb bc, 7, 7
- predef FillBox
+ predef PlaceGraphic
ret
; 16dc7
diff --git a/gfx/pics/animation.asm b/gfx/pics/animation.asm
index ae207a790..3284a271b 100644
--- a/gfx/pics/animation.asm
+++ b/gfx/pics/animation.asm
@@ -1115,13 +1115,13 @@ PokeAnim_GetSpeciesOrUnown: ; d065c
ret
; d0669
-Functiond0669: ; d0669
+Functiond0669: ; d0669 Predef 48
ld a, $1
ld [wBoxAlignment], a
-Functiond066e: ; d066e
+HOF_AnimateFrontpic: ; d066e Predef 49
call AnimateMon_CheckIfPokemon
- jr c, .asm_d068c
+ jr c, .fail
ld h, d
ld l, e
push bc
@@ -1137,7 +1137,7 @@ Functiond066e: ; d066e
ld [wBoxAlignment], a
ret
-.asm_d068c
+.fail
xor a
ld [wBoxAlignment], a
inc a
diff --git a/gfx/unknown/0915db.tilemap.rle b/gfx/pokegear/clock.tilemap.rle
index ff8a50fa2..ff8a50fa2 100644
--- a/gfx/unknown/0915db.tilemap.rle
+++ b/gfx/pokegear/clock.tilemap.rle
diff --git a/gfx/unknown/09158a.tilemap.rle b/gfx/pokegear/phone.tilemap.rle
index 4dffbc4cc..4dffbc4cc 100644
--- a/gfx/unknown/09158a.tilemap.rle
+++ b/gfx/pokegear/phone.tilemap.rle
diff --git a/gfx/unknown/09150d.tilemap.rle b/gfx/pokegear/radio.tilemap.rle
index b181ed75d..b181ed75d 100644
--- a/gfx/unknown/09150d.tilemap.rle
+++ b/gfx/pokegear/radio.tilemap.rle
diff --git a/home.asm b/home.asm
index c000fb3d1..42feefde4 100644
--- a/home.asm
+++ b/home.asm
@@ -1462,11 +1462,11 @@ FacingPlayerDistance:: ; 36ad
add hl, bc
ld e, [hl]
- ld a, [PlayerNextMapX]
+ ld a, [PlayerStandingMapX]
cp d
jr z, .CheckY
- ld a, [PlayerNextMapY]
+ ld a, [PlayerStandingMapY]
cp e
jr z, .CheckX
@@ -1474,7 +1474,7 @@ FacingPlayerDistance:: ; 36ad
ret
.CheckY
- ld a, [PlayerNextMapY]
+ ld a, [PlayerStandingMapY]
sub e
jr z, .NotFacing
jr nc, .Above
@@ -1492,7 +1492,7 @@ FacingPlayerDistance:: ; 36ad
jr .CheckFacing
.CheckX
- ld a, [PlayerNextMapX]
+ ld a, [PlayerStandingMapX]
sub d
jr z, .NotFacing
jr nc, .Left
@@ -1665,9 +1665,9 @@ _PrepMonFrontpic:: ; 378b
predef GetFrontpic
pop hl
xor a
- ld [hFillBox], a
+ ld [hGraphicStartTile], a
lb bc, 7, 7
- predef FillBox
+ predef PlaceGraphic
xor a
ld [wBoxAlignment], a
ret
diff --git a/home/audio.asm b/home/audio.asm
index 63489cf68..c7bb7fed3 100644
--- a/home/audio.asm
+++ b/home/audio.asm
@@ -506,18 +506,18 @@ Function3d9f:: ; 3d9f
; Places a BCD number at the
; upper center of the screen.
; Unreferenced.
- ld a, $20
- ld [Sprites + $98], a
- ld [Sprites + $9c], a
- ld a, $50
- ld [Sprites + $99], a
- ld a, $58
- ld [Sprites + $9d], a
+ ld a, 4 * 8
+ ld [Sprites + 38 * 4], a
+ ld [Sprites + 39 * 4], a
+ ld a, 10 * 8
+ ld [Sprites + 38 * 4 + 1], a
+ ld a, 11 * 8
+ ld [Sprites + 39 * 4 + 1], a
xor a
- ld [Sprites + $9b], a
- ld [Sprites + $9f], a
+ ld [Sprites + 38 * 4 + 3], a
+ ld [Sprites + 39 * 4 + 3], a
ld a, [wc296]
- cp $64
+ cp 100
jr nc, .max
add 1
daa
@@ -525,17 +525,17 @@ Function3d9f:: ; 3d9f
swap a
and $f
add "0"
- ld [Sprites + $9a], a
+ ld [Sprites + 38 * 4 + 2], a
ld a, b
and $f
add "0"
- ld [Sprites + $9e], a
+ ld [Sprites + 39 * 4 + 2], a
ret
.max
ld a, "9"
- ld [Sprites + $9a], a
- ld [Sprites + $9e], a
+ ld [Sprites + 38 * 4 + 2], a
+ ld [Sprites + 39 * 4 + 2], a
ret
; 3dde
@@ -560,7 +560,7 @@ CheckSFX:: ; 3dde
ret
; 3dfe
-Function3dfe:: ; 3dfe
+TerminateExpBarSound:: ; 3dfe
xor a
ld [Channel5Flags], a
ld [SoundInput], a
diff --git a/home/battle.asm b/home/battle.asm
index 4786cc4d3..3fd593630 100644
--- a/home/battle.asm
+++ b/home/battle.asm
@@ -218,19 +218,19 @@ endr
.lastmoveopp db ENEMY_LAST_MOVE, PLAYER_LAST_MOVE
.vars
- dw PlayerSubStatus1, EnemySubStatus1
- dw PlayerSubStatus2, EnemySubStatus2
- dw PlayerSubStatus3, EnemySubStatus3
- dw PlayerSubStatus4, EnemySubStatus4
- dw PlayerSubStatus5, EnemySubStatus5
- dw BattleMonStatus, EnemyMonStatus
- dw wPlayerMoveStruct + MOVE_ANIM, wEnemyMoveStruct + MOVE_ANIM
- dw wPlayerMoveStruct + MOVE_EFFECT, wEnemyMoveStruct + MOVE_EFFECT
- dw wPlayerMoveStruct + MOVE_POWER, wEnemyMoveStruct + MOVE_POWER
- dw wPlayerMoveStruct + MOVE_TYPE, wEnemyMoveStruct + MOVE_TYPE
- dw CurPlayerMove, CurEnemyMove
- dw LastEnemyCounterMove, LastPlayerCounterMove
- dw LastPlayerMove, LastEnemyMove
+ dw PlayerSubStatus1, EnemySubStatus1
+ dw PlayerSubStatus2, EnemySubStatus2
+ dw PlayerSubStatus3, EnemySubStatus3
+ dw PlayerSubStatus4, EnemySubStatus4
+ dw PlayerSubStatus5, EnemySubStatus5
+ dw BattleMonStatus, EnemyMonStatus
+ dw wPlayerMoveStructAnimation, wEnemyMoveStructAnimation
+ dw wPlayerMoveStructEffect, wEnemyMoveStructEffect
+ dw wPlayerMoveStructPower, wEnemyMoveStructPower
+ dw wPlayerMoveStructType, wEnemyMoveStructType
+ dw CurPlayerMove, CurEnemyMove
+ dw LastEnemyCounterMove, LastPlayerCounterMove
+ dw LastPlayerMove, LastEnemyMove
; 3a90
diff --git a/home/map.asm b/home/map.asm
index 7b70c02b5..c51f9c48a 100644
--- a/home/map.asm
+++ b/home/map.asm
@@ -256,10 +256,10 @@ GetDestinationWarpNumber:: ; 2252
; 2266
.GetDestinationWarpNumber ; 2266
- ld a, [PlayerNextMapY]
+ ld a, [PlayerStandingMapY]
sub $4
ld e, a
- ld a, [PlayerNextMapX]
+ ld a, [PlayerStandingMapX]
sub $4
ld d, a
ld a, [wCurrMapWarpCount]
@@ -381,7 +381,7 @@ CheckIndoorMap:: ; 22f4
ret
; 2300
-Function2300:: ; unreferenced
+; XXX
cp INDOOR
ret z
cp GATE
@@ -549,11 +549,11 @@ ReadWarps:: ; 23da
ld a, l
ld [wCurrMapWarpHeaderPointer], a
ld a, h
- ld [wdbfd], a
+ ld [wCurrMapWarpHeaderPointer + 1], a
ld a, c
and a
ret z
- ld bc, $0005
+ ld bc, 5
call AddNTimes
ret
; 23f1
@@ -765,25 +765,25 @@ endr
ld d, a
ld a, [MapHeight]
ld b, a
-.asm_250c
+.row
push hl
ld a, [hConnectedMapWidth]
ld c, a
-.asm_2510
+.col
ld a, [de]
inc de
ld [hli], a
dec c
- jr nz, .asm_2510
+ jr nz, .col
pop hl
ld a, [hConnectionStripLength]
add l
ld l, a
- jr nc, .asm_251e
+ jr nc, .okay
inc h
-.asm_251e
+.okay
dec b
- jr nz, .asm_250c
+ jr nz, .row
pop af
rst Bankswitch
@@ -916,9 +916,9 @@ FillSouthConnectionStrip:: ; 25d3
add 6
add e
ld e, a
- jr nc, .asm_25f2
+ jr nc, .okay
inc d
-.asm_25f2
+.okay
dec c
jr nz, .y
ret
@@ -927,7 +927,7 @@ FillSouthConnectionStrip:: ; 25d3
FillWestConnectionStrip::
FillEastConnectionStrip:: ; 25f6
-.asm_25f6
+.loop
ld a, [MapWidth]
add 6
ld [hConnectedMapWidth], a
@@ -955,11 +955,11 @@ FillEastConnectionStrip:: ; 25f6
ld a, [hConnectedMapWidth]
add e
ld e, a
- jr nc, .asm_2617
+ jr nc, .okay
inc d
-.asm_2617
+.okay
dec b
- jr nz, .asm_25f6
+ jr nz, .loop
ret
; 261b
@@ -1452,15 +1452,15 @@ BufferScreen:: ; 2879
ld de, wScreenSave
ld c, $5
ld b, $6
-.asm_2886
+.row
push bc
push hl
-.asm_2888
+.col
ld a, [hli]
ld [de], a
inc de
dec b
- jr nz, .asm_2888
+ jr nz, .col
pop hl
ld a, [MapWidth]
add $6
@@ -1469,7 +1469,7 @@ BufferScreen:: ; 2879
add hl, bc
pop bc
dec c
- jr nz, .asm_2886
+ jr nz, .row
ret
; 289d
@@ -1568,16 +1568,16 @@ GetMovementPermissions:: ; 2914
call .LeftRight
call .UpDown
; get coords of current tile
- ld a, [PlayerNextMapX]
+ ld a, [PlayerStandingMapX]
ld d, a
- ld a, [PlayerNextMapY]
+ ld a, [PlayerStandingMapY]
ld e, a
call GetCoordTile
- ld [PlayerNextTile], a
+ ld [PlayerStandingTile], a
call .CheckHiNybble
ret nz
- ld a, [PlayerNextTile]
+ ld a, [PlayerStandingTile]
and 7
ld hl, .MovementPermissionsData
add l
@@ -1597,9 +1597,9 @@ GetMovementPermissions:: ; 2914
; 294d
.UpDown
- ld a, [PlayerNextMapX]
+ ld a, [PlayerStandingMapX]
ld d, a
- ld a, [PlayerNextMapY]
+ ld a, [PlayerStandingMapY]
ld e, a
push de
@@ -1617,9 +1617,9 @@ GetMovementPermissions:: ; 2914
; 296c
.LeftRight
- ld a, [PlayerNextMapX]
+ ld a, [PlayerStandingMapX]
ld d, a
- ld a, [PlayerNextMapY]
+ ld a, [PlayerStandingMapY]
ld e, a
push de
@@ -1744,10 +1744,10 @@ GetFacingTileCoord:: ; 2a07
ld h, [hl]
ld l, a
- ld a, [PlayerNextMapX]
+ ld a, [PlayerStandingMapX]
add d
ld d, a
- ld a, [PlayerNextMapY]
+ ld a, [PlayerStandingMapY]
add e
ld e, a
ld a, [hl]
@@ -1922,10 +1922,10 @@ CheckCurrentMapXYTriggers:: ; 2ad4
call CheckTriggers
ld b, a
; Load your current coordinates into de. This will be used to check if your position is in the xy-trigger table for the current map.
- ld a, [PlayerNextMapX]
+ ld a, [PlayerStandingMapX]
sub 4
ld d, a
- ld a, [PlayerNextMapY]
+ ld a, [PlayerStandingMapY]
sub 4
ld e, a
diff --git a/home/map_objects.asm b/home/map_objects.asm
index be2c8553a..f4a4d6d5b 100644
--- a/home/map_objects.asm
+++ b/home/map_objects.asm
@@ -1,6 +1,5 @@
; Functions handling map objects.
-
GetSpritePalette:: ; 17ff
push hl
push de
@@ -16,7 +15,6 @@ GetSpritePalette:: ; 17ff
ret
; 180e
-
GetSpriteVTile:: ; 180e
push hl
push bc
@@ -77,17 +75,15 @@ DoesSpriteHaveFacings:: ; 1836
ret
; 184a
-
-
-Function184a:: ; 184a
- ld a, [PlayerNextTile]
+GetPlayerStandingTile:: ; 184a
+ ld a, [PlayerStandingTile]
call GetTileCollision
ld b, a
ret
; 1852
CheckOnWater:: ; 1852
- ld a, [PlayerNextTile]
+ ld a, [PlayerStandingTile]
call GetTileCollision
sub 1
ret z
@@ -95,7 +91,6 @@ CheckOnWater:: ; 1852
ret
; 185d
-
GetTileCollision:: ; 185d
; Get the collision type of tile a.
@@ -123,19 +118,7 @@ GetTileCollision:: ; 185d
ret
; 1875
-
CheckGrassTile:: ; 1875
- ; and %00110111
- ; cp $10
- ; ret c
- ; cp $30
- ; jr nc, .okay
- ; scf
- ; ret
- ; .okay
- ; xor a
- ; ret
-
ld d, a
and $f0
cp $10
@@ -222,7 +205,7 @@ CheckWaterfallTile:: ; 18bd
; 18c3
CheckStandingOnEntrance:: ; 18c3
- ld a, [PlayerNextTile]
+ ld a, [PlayerStandingTile]
cp $71 ; door
ret z
cp $79
@@ -233,7 +216,6 @@ CheckStandingOnEntrance:: ; 18c3
ret
; 18d2
-
GetMapObject:: ; 18d2
; Return the location of map object a in bc.
ld hl, MapObjects
@@ -244,7 +226,6 @@ GetMapObject:: ; 18d2
ret
; 18de
-
CheckObjectVisibility:: ; 18de
; Sets carry if the object is not visible on the screen.
ld [hMapObjectIndexBuffer], a
@@ -338,15 +319,13 @@ CheckObjectTime:: ; 18f5
ret
; 194d
-Function194d:: ; 194d
+; XXX
ld [hMapObjectIndexBuffer], a
call GetMapObject
call CopyObjectStruct
ret
; 1956
-
-
_CopyObjectStruct:: ; 1956
ld [hMapObjectIndexBuffer], a
call UnmaskObject
@@ -356,7 +335,7 @@ _CopyObjectStruct:: ; 1956
ret
; 1967
-Function1967:: ; 1967
+ApplyDeletionToMapObject:: ; 1967
ld [hMapObjectIndexBuffer], a
call GetMapObject
ld hl, MAPOBJECT_OBJECT_STRUCT_ID
@@ -366,21 +345,19 @@ Function1967:: ; 1967
ret z ; already hidden
ld [hl], -1
push af
- call Function1985
+ call .CheckStopFollow
pop af
call GetObjectStruct
callba DeleteMapObject
ret
-; 1985
-Function1985:: ; 1985
+.CheckStopFollow
ld hl, wObjectFollow_Leader
cp [hl]
jr z, .ok
ld hl, wObjectFollow_Follower
cp [hl]
ret nz
-
.ok
callba StopFollow
ld a, -1
@@ -390,12 +367,12 @@ Function1985:: ; 1985
; 199f
DeleteObjectStruct:: ; 199f
- call Function1967
+ call ApplyDeletionToMapObject
call MaskObject
ret
; 19a6
-Function19a6:: ; 19a6
+CopyPlayerObjectTemplate:: ; 19a6
push hl
call GetMapObject
ld d, b
@@ -409,7 +386,7 @@ Function19a6:: ; 19a6
ret
; 19b8
-Function19b8:: ; 19b8
+; XXX
call GetMapObject
ld hl, MAPOBJECT_OBJECT_STRUCT_ID
add hl, bc
@@ -439,8 +416,6 @@ Function19b8:: ; 19b8
ret
; 19e9
-
-
LoadMovementDataPointer:: ; 19e9
; Load the movement data pointer for person a.
ld [wMovementPerson], a
@@ -468,8 +443,6 @@ LoadMovementDataPointer:: ; 19e9
ret
; 1a13
-
-
FindFirstEmptyObjectStruct:: ; 1a13
; Returns the index of the first empty object struct in A and its address in HL, then sets carry.
; If all object structs are occupied, A = 0 and Z is set.
@@ -500,8 +473,6 @@ FindFirstEmptyObjectStruct:: ; 1a13
ret
; 1a2f
-
-
GetSpriteMovementFunction:: ; 1a2f
ld hl, OBJECT_MOVEMENTTYPE
add hl, bc
@@ -541,7 +512,6 @@ endr
ret
; 1a61
-
CopySpriteMovementData:: ; 1a61
ld l, a
ld a, [hROMBank]
@@ -649,7 +619,6 @@ ResetVramState_Bit0:: ; 1acc
ret
; 1ad2
-
UpdateSprites:: ; 1ad2
ld a, [VramState]
bit 0, a
@@ -660,7 +629,6 @@ UpdateSprites:: ; 1ad2
ret
; 1ae5
-
GetObjectStruct:: ; 1ae5
ld bc, OBJECT_STRUCT_LENGTH
ld hl, ObjectStructs
@@ -693,7 +661,6 @@ SetSpriteDirection:: ; 1af8
ret
; 1b07
-
GetSpriteDirection:: ; 1b07
ld hl, OBJECT_FACING
add hl, bc
diff --git a/home/mobile.asm b/home/mobile.asm
index 6faecfbff..32692f6a9 100644
--- a/home/mobile.asm
+++ b/home/mobile.asm
@@ -128,7 +128,7 @@ Timer:: ; 3e93
Function3ed7:: ; 3ed7
; unreferenced
- ld [wdc02], a
+ ld [$dc02], a
ld a, [hROMBank]
push af
ld a, BANK(Function114243)
@@ -139,7 +139,7 @@ Function3ed7:: ; 3ed7
ld a, b
rst Bankswitch
- ld a, [wdc02]
+ ld a, [$dc02]
ret
; 3eea
diff --git a/home/text.asm b/home/text.asm
index 054151ff4..e3dacb478 100644
--- a/home/text.asm
+++ b/home/text.asm
@@ -399,7 +399,7 @@ PlaceEnemysName:: ; 121b
cp RIVAL2
jr z, .rival
- ld de, OTName
+ ld de, OTClassName
call PlaceString
ld h, b
ld l, c
@@ -416,7 +416,7 @@ PlaceEnemysName:: ; 121b
jr PlaceCommandCharacter
.linkbattle
- ld de, OTName
+ ld de, OTClassName
jr PlaceCommandCharacter
diff --git a/hram.asm b/hram.asm
index 2032a74cc..3e921f78e 100644
--- a/hram.asm
+++ b/hram.asm
@@ -34,7 +34,7 @@ hJoyLast EQU $ffa9
hInMenu EQU $ffaa
hPrinter EQU $ffac
-hFillBox EQU $ffad
+hGraphicStartTile EQU $ffad
hMoveMon EQU $ffae
hMapObjectIndexBuffer EQU $ffaf
hObjectStructIndexBuffer EQU $ffb0
diff --git a/items/item_effects.asm b/items/item_effects.asm
index 8cabdc7e8..5ba74eb8c 100644
--- a/items/item_effects.asm
+++ b/items/item_effects.asm
@@ -452,23 +452,23 @@ endr
push af
set SUBSTATUS_TRANSFORMED, [hl]
bit SUBSTATUS_TRANSFORMED, a
- jr nz, .asm_ea13
- jr .asm_ea1a
+ jr nz, .ditto
+ jr .not_ditto
-.asm_ea13
+.ditto
ld a, DITTO
ld [TempEnemyMonSpecies], a
- jr .asm_ea27
+ jr .load_data
-.asm_ea1a
- set 3, [hl]
- ld hl, wc6f2
+.not_ditto
+ set SUBSTATUS_TRANSFORMED, [hl]
+ ld hl, wEnemyBackupDVs
ld a, [EnemyMonDVs]
ld [hli], a
ld a, [EnemyMonDVs + 1]
ld [hl], a
-.asm_ea27
+.load_data
ld a, [TempEnemyMonSpecies]
ld [CurPartySpecies], a
ld a, [EnemyMonLevel]
@@ -1665,7 +1665,7 @@ RevivePokemon: ; f0d6
ld a, [CurPartyMon]
ld c, a
ld d, 0
- ld hl, wc6fc
+ ld hl, wBattleParticipantsIncludingFainted
ld b, CHECK_FLAG
predef FlagPredef
ld a, c
diff --git a/macros/wram.asm b/macros/wram.asm
index 8e5e55cba..175fc4dea 100755
--- a/macros/wram.asm
+++ b/macros/wram.asm
@@ -210,3 +210,42 @@ hall_of_fame: MACRO
\1Mon6:: hof_mon \1Mon6
\1End:: ds 1
ENDM
+
+trademon: MACRO
+\1Species:: ds 1 ; wc6d0 | wc702
+\1SpeciesName:: ds PKMN_NAME_LENGTH ; wc6d1 | wc703
+\1Nickname:: ds PKMN_NAME_LENGTH ; wc6dc | wc70e
+\1SenderName:: ds NAME_LENGTH ; wc6e7 | wc719
+\1OTName:: ds NAME_LENGTH ; wc6f2 | wc724
+\1DVs:: ds 2 ; wc6fd | wc72f
+\1ID:: ds 2 ; wc6ff | wc731
+\1CaughtData:: ds 1 ; wc701 | wc733
+\1End::
+ENDM
+
+move_struct: MACRO
+\1Animation:: ds 1
+\1Effect:: ds 1
+\1Power:: ds 1
+\1Type:: ds 1
+\1Accuracy:: ds 1
+\1PP:: ds 1
+\1EffectChance:: ds 1
+endm
+
+slot_reel: MACRO
+\1ReelAction:: db
+\1TilemapAddr:: dw
+\1Position:: db
+\1SpinDistance:: db
+\1SpinRate:: db
+\1OAMAddr:: dw
+\1XCoord:: db
+\1Slot09:: ds 1
+\1Slot0a:: ds 1
+\1Slot0b:: ds 1
+\1Slot0c:: ds 1
+\1Slot0d:: ds 1
+\1Slot0e:: ds 1
+\1Slot0f:: ds 1
+endm \ No newline at end of file
diff --git a/main.asm b/main.asm
index aa000622b..749427da2 100644
--- a/main.asm
+++ b/main.asm
@@ -734,13 +734,13 @@ BlankScreen: ; 8000
call SetPalettes
ret
-GetSpawnCoord: ; 8029
+SpawnPlayer: ; 8029
ld a, -1
ld [wObjectFollow_Leader], a
ld [wObjectFollow_Follower], a
ld a, $0
ld hl, PlayerObjectTemplate
- call Function19a6
+ call CopyPlayerObjectTemplate
ld b, $0
call PlayerSpawn_ConvertCoords
ld a, $0
@@ -821,23 +821,23 @@ RefreshPlayerCoords: ; 80b8
ld a, [XCoord]
add 4
ld d, a
- ld hl, PlayerNextMapX
+ ld hl, PlayerStandingMapX
sub [hl]
ld [hl], d
ld hl, MapObjects + MAPOBJECT_X_COORD
ld [hl], d
- ld hl, PlayerMapX
+ ld hl, PlayerLastMapX
ld [hl], d
ld d, a
ld a, [YCoord]
add 4
ld e, a
- ld hl, PlayerNextMapY
+ ld hl, PlayerStandingMapY
sub [hl]
ld [hl], e
ld hl, MapObjects + MAPOBJECT_Y_COORD
ld [hl], e
- ld hl, PlayerMapY
+ ld hl, PlayerLastMapY
ld [hl], e
ld e, a
ld a, [wObjectFollow_Leader]
@@ -2525,7 +2525,7 @@ UsedSurfScript: ; c986
waitbutton
closetext
- callasm Functionc9a2 ; empty function
+ callasm .empty_fn ; empty function
copybytetovar Buffer2
writevarcode VAR_MOVEMENT
@@ -2537,7 +2537,7 @@ UsedSurfScript: ; c986
applymovement PLAYER, MovementBuffer ; PLAYER, MovementBuffer
end
-Functionc9a2: ; c9a2
+.empty_fn: ; c9a2
callba MobileFn_1060bb ; empty
ret
@@ -2808,7 +2808,7 @@ Script_UsedWaterfall: ; 0xcb20
.CheckContinueWaterfall: ; cb38
xor a
ld [ScriptVar], a
- ld a, [PlayerNextTile]
+ ld a, [PlayerStandingTile]
call CheckWaterfallTile
ret z
callba MobileFn_1060c1
@@ -3804,7 +3804,7 @@ BikeFunction: ; d0b3
jr .done
.CantGetOffBike
- ld hl, UnknownScript_0xd171
+ ld hl, Script_CantGetOffBike
jr .done
.CannotUseBike
@@ -3835,8 +3835,8 @@ BikeFunction: ; d0b3
jr .nope
.ok
- call Function184a
- and $f
+ call GetPlayerStandingTile
+ and $f ; can't use our bike in a wall or on water
jr nz, .nope
xor a
ret
@@ -3849,7 +3849,7 @@ Script_GetOnBike: ; 0xd13e
reloadmappart
special UpdateTimePals
writecode VAR_MOVEMENT, PLAYER_BIKE
- writetext UnknownText_0xd17c
+ writetext GotOnTheBikeText
waitbutton
closetext
special ReplaceKrisSprite
@@ -3861,7 +3861,7 @@ Script_GetOnBike_Register: ; 0xd14e
special ReplaceKrisSprite
end
-Functiond156: ; unreferenced
+; XXX
nop
ret
@@ -3869,7 +3869,7 @@ Script_GetOffBike: ; 0xd158
reloadmappart
special UpdateTimePals
writecode VAR_MOVEMENT, PLAYER_NORMAL
- writetext UnknownText_0xd181
+ writetext GotOffTheBikeText
waitbutton
FinishGettingOffBike:
@@ -3882,23 +3882,23 @@ Script_GetOffBike_Register: ; 0xd16b
writecode VAR_MOVEMENT, PLAYER_NORMAL
jump FinishGettingOffBike
-UnknownScript_0xd171: ; 0xd171
- writetext UnknownText_0xd177
+Script_CantGetOffBike: ; 0xd171
+ writetext .CantGetOffBikeText
waitbutton
closetext
end
-UnknownText_0xd177: ; 0xd177
+.CantGetOffBikeText: ; 0xd177
; You can't get off here!
text_jump UnknownText_0x1c099a
db "@"
-UnknownText_0xd17c: ; 0xd17c
+GotOnTheBikeText: ; 0xd17c
; got on the @ .
text_jump UnknownText_0x1c09b2
db "@"
-UnknownText_0xd181: ; 0xd181
+GotOffTheBikeText: ; 0xd181
; got off the @ .
text_jump UnknownText_0x1c09c7
db "@"
@@ -5124,7 +5124,6 @@ INCLUDE "engine/pack.asm"
INCLUDE "engine/time.asm"
INCLUDE "engine/tmhm.asm"
INCLUDE "engine/namingscreen.asm"
-INCLUDE "engine/compose_mail.asm"
Script_AbortBugContest: ; 0x122c1
checkflag ENGINE_BUG_CONTEST_TIMER
@@ -5280,29 +5279,27 @@ Script_JumpStdFromRAM: ; 0x1369a
INCLUDE "event/bug_contest_judging.asm"
-; decreases all pokemon's pokerus counter by b. if the lower nybble reaches zero, the pokerus is cured.
ApplyPokerusTick: ; 13988
+; decreases all pokemon's pokerus counter by b. if the lower nybble reaches zero, the pokerus is cured.
ld hl, PartyMon1PokerusStatus ; PartyMon1 + MON_PKRS
ld a, [PartyCount]
and a
- ret z
+ ret z ; make sure it's not wasting time on an empty party
ld c, a
.loop
ld a, [hl]
- and $f
- jr z, .does_not_have_pokerus
- sub b
- jr nc, .ok
+ and $f ; lower nybble is the number of days remaining
+ jr z, .next ; if already 0, skip
+ sub b ; subtract the number of days
+ jr nc, .ok ; max(result, 0)
xor a
-
.ok
- ld d, a
+ ld d, a ; back up this value because we need to preserve the strain (upper nybble)
ld a, [hl]
and $f0
add d
- ld [hl], a
-
-.does_not_have_pokerus
+ ld [hl], a ; this prevents a cured pokemon from recontracting pokerus
+.next
ld de, PARTYMON_STRUCT_LENGTH
add hl, de
dec c
@@ -5414,7 +5411,7 @@ Pokepic:: ; 244e3
call MenuBox
call UpdateSprites
call ApplyTilemap
- ld b, SCGB_12
+ ld b, SCGB_POKEPIC
call GetSGBLayout
xor a
ld [hBGMapMode], a
@@ -5431,9 +5428,9 @@ Pokepic:: ; 244e3
ld c, a
call Coord2Tile
ld a, $80
- ld [hFillBox], a
+ ld [hGraphicStartTile], a
lb bc, 7, 7
- predef FillBox
+ predef PlaceGraphic
call WaitBGMap
ret
@@ -5679,44 +5676,44 @@ Function24b8f: ; 24b8f
.booru_ko: ; 24bd4
db "ボール こ@"
-Function24bdc: ; 24bdc
+StartMenu_DrawBugContestStatusBox: ; 24bdc
hlcoord 0, 0
- ld b, $5
- ld c, $11
+ ld b, 5
+ ld c, 17
call TextBox
ret
-Function24be7: ; 24be7
+StartMenu_PrintBugContestStatus: ; 24be7
ld hl, Options
ld a, [hl]
push af
- set 4, [hl]
- call Function24bdc
+ set NO_TEXT_SCROLL, [hl]
+ call StartMenu_DrawBugContestStatusBox
hlcoord 1, 5
- ld de, String24c52
+ ld de, .Balls_EN
call PlaceString
hlcoord 8, 5
- ld de, wSafariBallsRemaining
+ ld de, wParkBallsRemaining
lb bc, PRINTNUM_RIGHTALIGN | 1, 2
call PrintNum
hlcoord 1, 1
- ld de, String24c4b
+ ld de, .CAUGHT
call PlaceString
ld a, [wContestMon]
and a
- ld de, String24c59
- jr z, .asm_24c1e
+ ld de, .None
+ jr z, .no_contest_mon
ld [wd265], a
call GetPokemonName
-.asm_24c1e
+.no_contest_mon
hlcoord 8, 1
call PlaceString
ld a, [wContestMon]
and a
- jr z, .asm_24c3e
+ jr z, .skip_level
hlcoord 1, 3
- ld de, String24c5e
+ ld de, .LEVEL
call PlaceString
ld a, [wContestMonLevel]
ld h, b
@@ -5725,20 +5722,20 @@ Function24be7: ; 24be7
ld c, $3
call Function3842
-.asm_24c3e
+.skip_level
pop af
ld [Options], a
ret
-String24c43: ; 24c43
+.Balls_JP: ; 24c43
db "ボール こ@"
-String24c4b: ; 24c4b
+.CAUGHT: ; 24c4b
db "CAUGHT@"
-String24c52: ; 24c52
+.Balls_EN: ; 24c52
db "BALLS:@"
-String24c59: ; 24c59
+.None: ; 24c59
db "None@"
-String24c5e: ; 24c5e
+.LEVEL: ; 24c5e
db "LEVEL@"
FindApricornsInBag: ; 24c64
@@ -5800,226 +5797,7 @@ INCLUDE "engine/mon_menu.asm"
INCLUDE "battle/menu.asm"
INCLUDE "engine/buy_sell_toss.asm"
INCLUDE "engine/trainer_card.asm"
-
-ProfOaksPC: ; 0x265d3
- ld hl, OakPCText1
- call MenuTextBox
- call YesNoBox
- jr c, .shutdown
- call ProfOaksPCBoot ; player chose "yes"?
-.shutdown
- ld hl, OakPCText4
- call PrintText
- call JoyWaitAorB
- call ExitMenu
- ret
-
-ProfOaksPCBoot ; 0x265ee
- ld hl, OakPCText2
- call PrintText
- call Rate
- call PlaySFX ; sfx loaded by previous Rate function call
- call JoyWaitAorB
- call WaitSFX
- ret
-
-ProfOaksPCRating: ; 0x26601
- call Rate
- push de
- ld de, MUSIC_NONE
- call PlayMusic
- pop de
- call PlaySFX
- call JoyWaitAorB
- call WaitSFX
- ret
-
-Rate: ; 0x26616
-; calculate Seen/Owned
- ld hl, PokedexSeen
- ld b, EndPokedexSeen - PokedexSeen
- call CountSetBits
- ld [wd002], a
- ld hl, PokedexCaught
- ld b, EndPokedexCaught - PokedexCaught
- call CountSetBits
- ld [wd003], a
-
-; print appropriate rating
- call .UpdateRatingBuffers
- ld hl, OakPCText3
- call PrintText
- call JoyWaitAorB
- ld a, [wd003]
- ld hl, OakRatings
- call FindOakRating
- push de
- call PrintText
- pop de
- ret
-
-.UpdateRatingBuffers: ; 0x26647
- ld hl, StringBuffer3
- ld de, wd002
- call .UpdateRatingBuffer
- ld hl, StringBuffer4
- ld de, wd003
- call .UpdateRatingBuffer
- ret
-
-.UpdateRatingBuffer: ; 0x2665a
- push hl
- ld a, "@"
- ld bc, ITEM_NAME_LENGTH
- call ByteFill
- pop hl
- lb bc, PRINTNUM_RIGHTALIGN | 1, 3
- call PrintNum
- ret
-
-FindOakRating: ; 0x2666b
-; return sound effect in de
-; return text pointer in hl
- nop
- ld c, a
-.loop
- ld a, [hli]
- cp c
- jr nc, .match
-rept 4
- inc hl
-endr
- jr .loop
-
-.match
- ld a, [hli]
- ld e, a
- ld a, [hli]
- ld d, a
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ret
-
-OakRatings: ; 0x2667f
-oakrating: MACRO
- db \1
- dw \2, \3
-endm
-
-; if you caught at most this many, play this sound, load this text
- oakrating 9, SFX_DEX_FANFARE_LESS_THAN_20, OakRating01
- oakrating 19, SFX_DEX_FANFARE_LESS_THAN_20, OakRating02
- oakrating 34, SFX_DEX_FANFARE_20_49, OakRating03
- oakrating 49, SFX_DEX_FANFARE_20_49, OakRating04
- oakrating 64, SFX_DEX_FANFARE_50_79, OakRating05
- oakrating 79, SFX_DEX_FANFARE_50_79, OakRating06
- oakrating 94, SFX_DEX_FANFARE_80_109, OakRating07
- oakrating 109, SFX_DEX_FANFARE_80_109, OakRating08
- oakrating 124, SFX_CAUGHT_MON, OakRating09
- oakrating 139, SFX_CAUGHT_MON, OakRating10
- oakrating 154, SFX_DEX_FANFARE_140_169, OakRating11
- oakrating 169, SFX_DEX_FANFARE_140_169, OakRating12
- oakrating 184, SFX_DEX_FANFARE_170_199, OakRating13
- oakrating 199, SFX_DEX_FANFARE_170_199, OakRating14
- oakrating 214, SFX_DEX_FANFARE_200_229, OakRating15
- oakrating 229, SFX_DEX_FANFARE_200_229, OakRating16
- oakrating 239, SFX_DEX_FANFARE_230_PLUS, OakRating17
- oakrating 248, SFX_DEX_FANFARE_230_PLUS, OakRating18
- oakrating 255, SFX_DEX_FANFARE_230_PLUS, OakRating19
-
-OakPCText1: ; 0x266de
- text_jump _OakPCText1
- db "@"
-
-OakPCText2: ; 0x266e3
- text_jump _OakPCText2
- db "@"
-
-OakPCText3: ; 0x266e8
- text_jump _OakPCText3
- db "@"
-
-OakRating01:
- text_jump _OakRating01
- db "@"
-
-OakRating02:
- text_jump _OakRating02
- db "@"
-
-OakRating03:
- text_jump _OakRating03
- db "@"
-
-OakRating04:
- text_jump _OakRating04
- db "@"
-
-OakRating05:
- text_jump _OakRating05
- db "@"
-
-OakRating06:
- text_jump _OakRating06
- db "@"
-
-OakRating07:
- text_jump _OakRating07
- db "@"
-
-OakRating08:
- text_jump _OakRating08
- db "@"
-
-OakRating09:
- text_jump _OakRating09
- db "@"
-
-OakRating10:
- text_jump _OakRating10
- db "@"
-
-OakRating11:
- text_jump _OakRating11
- db "@"
-
-OakRating12:
- text_jump _OakRating12
- db "@"
-
-OakRating13:
- text_jump _OakRating13
- db "@"
-
-OakRating14:
- text_jump _OakRating14
- db "@"
-
-OakRating15:
- text_jump _OakRating15
- db "@"
-
-OakRating16:
- text_jump _OakRating16
- db "@"
-
-OakRating17:
- text_jump _OakRating17
- db "@"
-
-OakRating18:
- text_jump _OakRating18
- db "@"
-
-OakRating19:
- text_jump _OakRating19
- db "@"
-
-OakPCText4: ; 0x2674c
- text_jump _OakPCText4
- db "@"
-
+INCLUDE "engine/prof_oaks_pc.asm"
INCLUDE "engine/decorations.asm"
PadCoords_de: ; 27092
@@ -6162,7 +5940,7 @@ INCLUDE "battle/moves/move_effects_pointers.asm"
MoveEffects: ; 2732e
INCLUDE "battle/moves/move_effects.asm"
-Function27a28: ; 27a28
+Kurt_SelectQuantity_InterpretJoypad: ; 27a28
call BuySellToss_InterpretJoypad
ld b, a
ret
@@ -6731,9 +6509,9 @@ endr
ld [hl], VBGMap0 / $100
ret
-FillBox: ; 2ef6e
+PlaceGraphic: ; 2ef6e
; Fill wBoxAlignment-aligned box width b height c
-; with iterating tile starting from hFillBox at hl.
+; with iterating tile starting from hGraphicStartTile at hl.
; Predef $13
ld de, SCREEN_WIDTH
@@ -6742,7 +6520,7 @@ FillBox: ; 2ef6e
and a
jr nz, .right
- ld a, [hFillBox]
+ ld a, [hGraphicStartTile]
.x1
push bc
push hl
@@ -6769,7 +6547,7 @@ FillBox: ; 2ef6e
add hl, bc
pop bc
- ld a, [hFillBox]
+ ld a, [hGraphicStartTile]
.x2
push bc
push hl
@@ -6843,7 +6621,7 @@ GetOTName: ; 39550
.ok
ld bc, TRAINER_CLASS_NAME_LENGTH
- ld de, OTName
+ ld de, OTClassName
push de
call CopyBytes
pop de
@@ -7487,47 +7265,7 @@ ScrollBGMapPalettes:: ; 4c03f
INCLUDE "tilesets/palette_maps.asm"
TileCollisionTable:: ; 4ce1f
-; 00 land
-; 01 water
-; 0f wall
-; 11 talkable water
-; 1f talkable wall
-
- db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + WATRTILE
- db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + WATRTILE
- db NULL + LANDTILE, NULL + LANDTILE, TALK + WATRTILE, NULL + LANDTILE, NULL + LANDTILE, TALK + WATRTILE, NULL + LANDTILE, NULL + LANDTILE
- db NULL + LANDTILE, NULL + LANDTILE, TALK + WATRTILE, NULL + LANDTILE, NULL + LANDTILE, TALK + WATRTILE, NULL + LANDTILE, NULL + LANDTILE
- db NULL + WALLTILE, NULL + WALLTILE, TALK + WALLTILE, NULL + LANDTILE, TALK + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WATRTILE
- db NULL + WALLTILE, NULL + WALLTILE, TALK + WALLTILE, NULL + LANDTILE, TALK + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WATRTILE
- db NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE
- db NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE
-
- db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
- db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
- db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
- db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
- db NULL + LANDTILE, NULL + LANDTILE, NULL + WATRTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
- db NULL + LANDTILE, NULL + LANDTILE, NULL + WATRTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
- db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
- db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
-
- db NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
- db NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
- db NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE
- db NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE
- db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
- db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
- db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
- db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
-
- db NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE
- db NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE
- db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
- db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
- db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
- db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
- db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
- db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + WATRTILE
+INCLUDE "tilesets/collision.asm"
EmptyAllSRAMBanks: ; 4cf1f
ld a, $0
@@ -9235,7 +8973,7 @@ CheckBattleScene: ; 4ea44
.asm_4ea72
ld a, $5
- ld hl, wdc00
+ ld hl, w5_dc00
call GetFarWRAMByte
bit 0, a
jr z, .off
@@ -9416,50 +9154,50 @@ Strings50a42: ; 50a42
dw .Youngster
dw .BugCatcher
dw .Lass
- dw OTName
+ dw OTClassName
dw .JrTrainerM
dw .JrTrainerF
dw .Pokemaniac
dw .SuperNerd
- dw OTName
- dw OTName
+ dw OTClassName
+ dw OTClassName
dw .Burglar
dw .Engineer
dw .Jack
- dw OTName
+ dw OTClassName
dw .Swimmer
- dw OTName
- dw OTName
+ dw OTClassName
+ dw OTClassName
dw .Beauty
- dw OTName
+ dw OTClassName
dw .Rocker
dw .Juggler
- dw OTName
- dw OTName
+ dw OTClassName
+ dw OTClassName
dw .Blackbelt
- dw OTName
+ dw OTClassName
dw .ProfOak
dw .Chief
dw .Scientist
- dw OTName
+ dw OTClassName
dw .Rocket
dw .CooltrainerM
dw .CooltrainerF
- dw OTName
- dw OTName
- dw OTName
- dw OTName
- dw OTName
- dw OTName
- dw OTName
- dw OTName
- dw OTName
- dw OTName
- dw OTName
- dw OTName
- dw OTName
- dw OTName
- dw OTName
+ dw OTClassName
+ dw OTClassName
+ dw OTClassName
+ dw OTClassName
+ dw OTClassName
+ dw OTClassName
+ dw OTClassName
+ dw OTClassName
+ dw OTClassName
+ dw OTClassName
+ dw OTClassName
+ dw OTClassName
+ dw OTClassName
+ dw OTClassName
+ dw OTClassName
.Youngster db "たんパン@"
.BugCatcher db "むしとり@"
@@ -11061,7 +10799,7 @@ MovePlayerPic: ; 88266
xor a
ld [hBGMapMode], a
lb bc, 7, 7
- predef FillBox
+ predef PlaceGraphic
xor a
ld [hBGMapThird], a
call WaitBGMap
@@ -11213,7 +10951,7 @@ GetChrisBackpic: ; 88830
predef DecompressPredef
ret
-Function88840: ; 88840
+HOF_LoadTrainerFrontpic: ; 88840
call WaitBGMap
xor a
ld [hBGMapMode], a
@@ -11269,10 +11007,10 @@ DrawIntroPlayerPic: ; 88874
; Draw
xor a
- ld [hFillBox], a
+ ld [hGraphicStartTile], a
hlcoord 6, 4
lb bc, 7, 7
- predef FillBox
+ predef PlaceGraphic
ret
ChrisPic: ; 888a9
diff --git a/maps/EcruteakPokeCenter1F.asm b/maps/EcruteakPokeCenter1F.asm
index cc116f862..841e27079 100644
--- a/maps/EcruteakPokeCenter1F.asm
+++ b/maps/EcruteakPokeCenter1F.asm
@@ -10,26 +10,26 @@ EcruteakPokeCenter1F_MapScriptHeader:
db 2
; triggers
- dw UnknownScript_0x98e5f, 0
- dw UnknownScript_0x98e63, 0
+ maptrigger .Trigger0
+ maptrigger .Trigger1
.MapCallbacks:
db 0
-UnknownScript_0x98e5f:
- priorityjump UnknownScript_0x98e64
+.Trigger0:
+ priorityjump .BillActivatesTimeCapsule
end
-UnknownScript_0x98e63:
+.Trigger1:
end
-UnknownScript_0x98e64:
+.BillActivatesTimeCapsule:
pause 30
playsound SFX_EXIT_BUILDING
appear ECRUTEAKPOKECENTER1F_BILL
waitsfx
- applymovement ECRUTEAKPOKECENTER1F_BILL, MovementData_0x98ec5
- applymovement PLAYER, MovementData_0x98ed4
+ applymovement ECRUTEAKPOKECENTER1F_BILL, EcruteakPokeCenter1FBillMovement1
+ applymovement PLAYER, EcruteakPokeCenter1FPlayerMovement1
spriteface ECRUTEAKPOKECENTER1F_NURSE, UP
pause 10
spriteface ECRUTEAKPOKECENTER1F_NURSE, DOWN
@@ -41,16 +41,16 @@ UnknownScript_0x98e64:
spriteface ECRUTEAKPOKECENTER1F_BILL, DOWN
pause 10
opentext
- writetext UnknownText_0x98ed8
+ writetext EcruteakPokeCenter1F_BillText1
buttonsound
- jump UnknownScript_0x98e95
+ jump .PointlessJump
-UnknownScript_0x98e95:
- writetext UnknownText_0x98f22
+.PointlessJump
+ writetext EcruteakPokeCenter1F_BillText2
waitbutton
closetext
spriteface PLAYER, DOWN
- applymovement ECRUTEAKPOKECENTER1F_BILL, MovementData_0x98ece
+ applymovement ECRUTEAKPOKECENTER1F_BILL, EcruteakPokeCenter1FBillMovement2
playsound SFX_EXIT_BUILDING
disappear ECRUTEAKPOKECENTER1F_BILL
clearevent EVENT_MET_BILL
@@ -59,24 +59,24 @@ UnknownScript_0x98e95:
waitsfx
end
-NurseScript_0x98eb0:
+EcruteakPokeCenter1FNurseScript:
jumpstd pokecenternurse
-PokefanMScript_0x98eb3:
+EcruteakPokeCenter1FPokefanMScript:
special Mobile_DummyReturnFalse
iftrue .mobile
- jumptextfaceplayer UnknownText_0x99155
+ jumptextfaceplayer EcruteakPokeCenter1FPokefanMText
.mobile:
- jumptextfaceplayer UnknownText_0x991aa
+ jumptextfaceplayer EcruteakPokeCenter1FPokefanMTextMobile
-CooltrainerFScript_0x98ebf:
- jumptextfaceplayer UnknownText_0x99240
+EcruteakPokeCenter1FCooltrainerFScript:
+ jumptextfaceplayer EcruteakPokeCenter1FCooltrainerFText
-GymGuyScript_0x98ec2:
- jumptextfaceplayer UnknownText_0x99286
+EcruteakPokeCenter1FGymGuyScript:
+ jumptextfaceplayer EcruteakPokeCenter1FGymGuyText
-MovementData_0x98ec5:
+EcruteakPokeCenter1FBillMovement1:
step_up
step_up
step_up
@@ -87,7 +87,7 @@ MovementData_0x98ec5:
turn_head_up
step_end
-MovementData_0x98ece:
+EcruteakPokeCenter1FBillMovement2:
step_right
step_down
step_down
@@ -95,13 +95,13 @@ MovementData_0x98ece:
step_down
step_end
-MovementData_0x98ed4:
+EcruteakPokeCenter1FPlayerMovement1:
step_up
step_up
step_up
step_end
-UnknownText_0x98ed8:
+EcruteakPokeCenter1F_BillText1:
text "Hi, I'm BILL. And"
line "who are you?"
@@ -110,7 +110,7 @@ UnknownText_0x98ed8:
cont "right time."
done
-UnknownText_0x98f22:
+EcruteakPokeCenter1F_BillText2:
text "I just finished"
line "adjustments on my"
cont "TIME CAPSULE."
@@ -164,7 +164,7 @@ UnknownText_0x98f22:
para "Buh-bye!"
done
-UnknownText_0x99155:
+EcruteakPokeCenter1FPokefanMText:
text "The way the KIMONO"
line "GIRLS dance is"
@@ -173,7 +173,7 @@ UnknownText_0x99155:
cont "use their #MON."
done
-UnknownText_0x991aa:
+EcruteakPokeCenter1FPokefanMTextMobile:
text "You must be hoping"
line "to battle more"
@@ -189,7 +189,7 @@ UnknownText_0x991aa:
line "OLIVINE CITY."
done
-UnknownText_0x99240:
+EcruteakPokeCenter1FCooltrainerFText:
text "MORTY, the GYM"
line "LEADER, is soooo"
cont "cool."
@@ -198,7 +198,7 @@ UnknownText_0x99240:
line "really tough too."
done
-UnknownText_0x99286:
+EcruteakPokeCenter1FGymGuyText:
text "LAKE OF RAGE…"
para "The appearance of"
@@ -226,8 +226,8 @@ EcruteakPokeCenter1F_MapEventHeader:
.PersonEvents:
db 5
- person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, NurseScript_0x98eb0, -1
- person_event SPRITE_POKEFAN_M, 6, 7, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x98eb3, -1
- person_event SPRITE_COOLTRAINER_F, 4, 1, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CooltrainerFScript_0x98ebf, -1
- person_event SPRITE_GYM_GUY, 1, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, GymGuyScript_0x98ec2, -1
+ person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, EcruteakPokeCenter1FNurseScript, -1
+ person_event SPRITE_POKEFAN_M, 6, 7, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, EcruteakPokeCenter1FPokefanMScript, -1
+ person_event SPRITE_COOLTRAINER_F, 4, 1, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, EcruteakPokeCenter1FCooltrainerFScript, -1
+ person_event SPRITE_GYM_GUY, 1, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, EcruteakPokeCenter1FGymGuyScript, -1
person_event SPRITE_BILL, 7, 0, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ObjectEvent, EVENT_ECRUTEAK_POKE_CENTER_BILL
diff --git a/misc/mobile_22.asm b/misc/mobile_22.asm
index 64cb84dc3..b849b8405 100644
--- a/misc/mobile_22.asm
+++ b/misc/mobile_22.asm
@@ -1255,10 +1255,10 @@ Function897d5: ; 897d5
.asm_897f3
ld a, $37
- ld [hFillBox], a
+ ld [hGraphicStartTile], a
hlcoord 12, 3
lb bc, 7, 7
- predef FillBox
+ predef PlaceGraphic
call Function8963d
pop bc
ret
diff --git a/misc/mobile_40.asm b/misc/mobile_40.asm
index 70b069881..8594f0044 100644
--- a/misc/mobile_40.asm
+++ b/misc/mobile_40.asm
@@ -4,7 +4,7 @@ Function100000: ; 100000
; bc: addr
ld a, [rSVBK]
push af
- ld a, $1
+ ld a, $01
ld [rSVBK], a
call Function100022
@@ -85,7 +85,7 @@ Function100082: ; 100082
xor a
ld [hMapAnims], a
ld [hFFC6], a
- ld a, $1
+ ld a, $01
ld [hMobileReceive], a
ld [hMobile], a
ei
@@ -177,7 +177,7 @@ Function1000fa: ; 1000fa
push af
xor a
ld [wLinkMode], a
- ld a, $4
+ ld a, $04
ld [wc314 + 5], a
callba Function11619d
ld hl, wcd29
@@ -217,9 +217,9 @@ Function100163: ; 100163
Function10016f: ; 10016f
ld a, [wcd2b]
- cp $1
+ cp $01
ret z
- cp $2
+ cp $02
ret z
cp $ff
jp z, .asm_1001f5
@@ -321,7 +321,7 @@ Function10020b: ; 10020b
ld a, [rSVBK]
push af
- ld a, $1
+ ld a, $01
ld [rSVBK], a
callba Function17f555
@@ -355,9 +355,9 @@ String10025e: ; 10025e
Function100276: ; 100276
ld a, [wcd2b]
- cp $1
+ cp $01
jr z, .asm_10029f
- cp $2
+ cp $02
jr z, .asm_100296
cp $f5
jr z, .asm_1002a5
@@ -370,12 +370,12 @@ Function100276: ; 100276
jr .asm_1002c0
.asm_100293
- ld c, $2
+ ld c, $02
ret
.asm_100296
callba Script_reloadmappart
- ld c, $4
+ ld c, $04
ret
.asm_10029f
@@ -386,7 +386,7 @@ Function100276: ; 100276
.asm_1002a5
callba Script_reloadmappart
call Function1002ed
- ld c, $3
+ ld c, $03
ret
.asm_1002b1
@@ -394,13 +394,13 @@ Function100276: ; 100276
call Function1002dc
ld de, String10024d
call Function100232
- ld c, $2
+ ld c, $02
ret
.asm_1002c0
call Function1002c9
call Function1002dc
- ld c, $1
+ ld c, $01
ret
; 1002c9
@@ -426,7 +426,7 @@ Function1002dc: ; 1002dc
Function1002ed: ; 1002ed
callba LoadOW_BGPal7
callba ApplyPals
- ld a, $1
+ ld a, $01
ld [hCGBPalUpdate], a
call DelayFrame
ret
@@ -491,7 +491,7 @@ Function10034d: ; 10034d
jr nz, .asm_100366
bit 0, a
jr nz, .asm_100364
- ld a, $1
+ ld a, $01
and a
ret
@@ -500,7 +500,7 @@ Function10034d: ; 10034d
ret
.asm_100366
- ld a, $2
+ ld a, $02
and a
ret
@@ -547,7 +547,7 @@ Function10039c: ; 10039c
ld hl, wcc60
ld de, w3_d000
ld bc, $54
- ld a, $3
+ ld a, $03
call FarCopyWRAM
ret
; 1003ab
@@ -556,7 +556,7 @@ Function1003ab: ; 1003ab
ld hl, w3_d000
ld de, wcc60
ld bc, $54
- ld a, $3
+ ld a, $03
call FarCopyWRAM
ret
; 1003ba
@@ -565,7 +565,7 @@ Function1003ba: ; 1003ba
ld hl, wccb4
ld de, w3_d080
ld bc, $54
- ld a, $3
+ ld a, $03
call FarCopyWRAM
ret
; 1003c9
@@ -574,7 +574,7 @@ Function1003c9: ; 1003c9
ld hl, w3_d080
ld de, wccb4
ld bc, $54
- ld a, $3
+ ld a, $03
call FarCopyWRAM
ret
; 1003d8
@@ -596,24 +596,24 @@ Function1003d8: ; 1003d8
inc hl
ld [hl], d
ld a, c
- add $2
+ add $02
ld [wccb4], a
ret
; 1003f5
Function1003f5: ; 1003f5
ld a, [wcc60]
- sub $3
+ sub $03
ld [wcc60], a
ld a, [wccb4]
- sub $3
+ sub $03
ld [wccb4], a
ret
; 100406
Function100406: ; 100406
ld a, [wcc60]
- sub $2
+ sub $02
ld c, a
ld b, 0
ld hl, wcc61
@@ -702,17 +702,17 @@ Function10047c: ; 10047c
call Function100337
ret c
ret z
- cp $2
+ cp $02
jr z, .asm_100487
jr .asm_10048d
.asm_100487
- ld a, $8
+ ld a, $08
ld [wcd27], a
ret
.asm_10048d
- ld a, $2
+ ld a, $02
ld [wcd27], a
ret
; 100493
@@ -758,7 +758,7 @@ Function1004ba: ; 1004ba
ret
.asm_1004c8
- ld a, $8
+ ld a, $08
ld [wcd27], a
ret
; 1004ce
@@ -767,7 +767,7 @@ Function1004ce: ; 1004ce
call Function100337
ret c
ret z
- cp $2
+ cp $02
ret nz
ld a, [wcd27]
inc a
@@ -986,8 +986,8 @@ MenuData2_100604: ; 100604
Function10060d: ; 10060d
hlcoord 3, 10
- ld b, $1
- ld c, $b
+ ld b, $01
+ ld c, $0b
call Function3eea
ld de, String_100621
hlcoord 4, 11
@@ -1162,7 +1162,7 @@ Function1006dc: ; 1006dc
; 1006fd
Function1006fd: ; 1006fd
- ld a, $4
+ ld a, $04
ld hl, $a800
call GetSRAMBank
xor a
@@ -1174,12 +1174,12 @@ endr
; 10070d
Function10070d: ; 10070d
- ld a, $4
+ ld a, $04
ld hl, $a800
call GetSRAMBank
xor a
ld [hli], a
- ld a, $a
+ ld a, $0a
ld [hli], a
xor a
ld [hli], a
@@ -1197,7 +1197,7 @@ Function100720: ; 100720
ld [wcd73], a
ld a, [hSeconds]
ld [wcd74], a
- ld a, $4
+ ld a, $04
ld hl, $a800
call GetSRAMBank
ld a, [hli]
@@ -1265,7 +1265,7 @@ Function100772: ; 100772
Function10079c: ; 10079c
ld a, [wcd21]
- cp $1
+ cp $01
jr nz, .asm_1007f4
ld hl, wcd2a
bit 5, [hl]
@@ -1293,7 +1293,7 @@ Function10079c: ; 10079c
and a
jr nz, .asm_1007e5
ld a, b
- cp $a
+ cp $0a
jr nc, .asm_1007e5
ld a, d
and a
@@ -1326,7 +1326,7 @@ Function1007f6: ; 1007f6
ld hl, wcd74
ld de, wcd71
call Function1006dc
- ld a, $4
+ ld a, $04
call GetSRAMBank
ld hl, $a802
call Function100826
@@ -1384,7 +1384,7 @@ Function100846: ; 100846
ld [StringBuffer2 + 2], a
ld a, [wcd6d]
ld c, a
- ld a, $a
+ ld a, $0a
sbc c
ld [StringBuffer2 + 1], a
xor a
@@ -1418,7 +1418,7 @@ String_10089f: ; 10089f
; 1008a6
Function1008a6: ; 1008a6
- ld a, $4
+ ld a, $04
ld hl, $a800
call GetSRAMBank
ld a, [hli]
@@ -1439,7 +1439,7 @@ Function1008a6: ; 1008a6
ld b, a
ld a, [StringBuffer2 + 1]
ld c, a
- ld a, $a
+ ld a, $0a
sbc c
ld c, a
jr c, .asm_1008da
@@ -1463,7 +1463,7 @@ Function1008e0: ; 1008e0
push bc
xor a
ld [hBGMapMode], a
- ld a, $3
+ ld a, $03
ld [hVBlank], a
call Function100970
call Function100902
@@ -1479,12 +1479,12 @@ Function1008e0: ; 1008e0
Function100902: ; 100902
hlcoord 3, 10
- ld b, $1
- ld c, $b
+ ld b, $01
+ ld c, $0b
call TextBox
ld a, [wcd6d]
ld c, a
- ld a, $a
+ ld a, $0a
sub c
ld [StringBuffer2], a
jr z, .asm_10093f
@@ -1547,7 +1547,7 @@ Function100989: ; 100989
Function1009a5: ; 1009a5
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
- ld a, $3
+ ld a, $03
call FarCopyWRAM
ret
; 1009ae
@@ -1555,7 +1555,7 @@ Function1009a5: ; 1009a5
Function1009ae: ; 1009ae
ld a, [rSVBK]
push af
- ld a, $3
+ ld a, $03
ld [rSVBK], a
ld hl, w3_d800
@@ -1584,17 +1584,17 @@ Function1009ae: ; 1009ae
Function1009d2: ; 1009d2
ld a, [rSVBK]
push af
- ld a, $3
+ ld a, $03
ld [rSVBK], a
ld a, [rVBK]
push af
- ld a, $1
+ ld a, $01
ld [rVBK], a
ld hl, w3_d800
debgcoord 0, 0
- lb bc, $3, $24
+ lb bc, $03, $24
call Get2bpp
pop af
@@ -1665,7 +1665,7 @@ _LinkBattleSendReceiveAction: ; 100a09
ld a, b
.use_move
- and $f
+ and $0f
ret
; 100a53
@@ -1709,13 +1709,13 @@ _LinkBattleSendReceiveAction: ; 100a09
call DelayFrame
call GetJoypad
callba Function100382
- ld c, $1
- ld b, $3
+ ld c, $01
+ ld b, $03
push bc
call Function10062d
pop bc
jr c, .asm_100ac7
- ld b, $1
+ ld b, $01
call Function10079c
jr c, .asm_100ac7
call Function1009f3
@@ -1730,7 +1730,7 @@ _LinkBattleSendReceiveAction: ; 100a09
jr .asm_100ace
.asm_100ac7
- ld a, $f
+ ld a, $0f
ld [wd430], a
jr .asm_100ace
@@ -1743,7 +1743,7 @@ Function100acf: ; 100acf
ld hl, wccb5
ld a, [wd431]
ld [hli], a
- ld c, $1
+ ld c, $01
.asm_100adb
ld a, [de]
inc de
@@ -1775,7 +1775,7 @@ Function100ae7: ; 100ae7
ret
.asm_100aff
- ld a, $f
+ ld a, $0f
ld [wd430], a
ld a, $f1
ld [wcd2b], a
@@ -1915,7 +1915,7 @@ MobileMoveSelectionScreen: ; 100b9f
inc a
cp b
jp nz, .master_loop
- ld a, $1
+ ld a, $01
ld [wMenuCursorY], a
jp .master_loop
@@ -1923,7 +1923,7 @@ MobileMoveSelectionScreen: ; 100b9f
ld a, [wMenuCursorY]
dec a
ld [CurMoveNum], a
- ld a, $1
+ ld a, $01
and a
ret
@@ -1942,7 +1942,7 @@ MobileMoveSelectionScreen: ; 100b9f
jr z, .no_pp_left
ld a, [PlayerDisableCount]
swap a
- and $f
+ and $0f
dec a
cp c
jr z, .move_disabled
@@ -2005,7 +2005,7 @@ Function100c98: ; 100c98
dn 2, 0
db D_UP | D_DOWN | A_BUTTON | B_BUTTON
-Function100cb5: ; 100cb5
+Mobile_PartyMenuSelect: ; 100cb5
call Function100dd8
ret c
ld hl, w2DMenuFlags1
@@ -2176,12 +2176,12 @@ Mobile_SetOverworldDelay: ; 100dd2
; 100dd8
Function100dd8: ; 100dd8
- ld c, $1
- ld b, $3
+ ld c, $01
+ ld b, $03
callba Function10062d
jr c, .asm_100dfb
ld c, $3c
- ld b, $1
+ ld b, $01
call Function10079c
jr c, .asm_100dfb
callba Function10032e
@@ -2256,7 +2256,7 @@ Function100e2d: ; 100e2d
Function100e63: ; 100e63
ld a, e
- cp $2
+ cp $02
ret nz
call Function100db0
ret nc
@@ -2270,7 +2270,7 @@ Function100e72: ; 100e72
ld hl, wcd29
bit 0, [hl]
jr z, .asm_100e7c
- ld a, $a
+ ld a, $0a
.asm_100e7c
ld [wcd67], a
@@ -2322,7 +2322,7 @@ asm_100eb8
ld hl, wcd68
inc [hl]
ld a, [hl]
- cp $2
+ cp $02
ret c
ld [hl], 0
jr Function100ec5
@@ -2344,7 +2344,7 @@ Function100eca: ; 100eca
Function100ed4: ; 100ed4
callba ApplyPals
- ld a, $1
+ ld a, $01
ld [hCGBPalUpdate], a
ret
; 100edf
@@ -2426,11 +2426,11 @@ asm_100f02:
Function100f3d: ; 100f3d
; parameter
ld a, [StringBuffer2]
- cp $2
+ cp $02
jr z, .two
- cp $1
+ cp $01
jr z, .one
- cp $3
+ cp $03
jr z, .three
ret
@@ -2501,11 +2501,11 @@ Function100f8d: ; 100f8d
res 7, a
jr z, .sram
and a
- jr nz, .wram
+ jr nz, .far_wram
call CopyBytes
ret
-.wram
+.far_wram
and $7f
call FarCopyWRAM
ret
@@ -2531,7 +2531,7 @@ Unknown_100fc0: ; 100fc0
db -1
Unknown_100feb: ; 100feb
- dbwww $0, sPartyMail, MAIL_STRUCT_LENGTH * PARTY_LENGTH, NULL
+ dbwww $00, sPartyMail, MAIL_STRUCT_LENGTH * PARTY_LENGTH, NULL
db -1
Unknown_100ff3: ; 100ff3
@@ -2541,12 +2541,12 @@ Unknown_100ff3: ; 100ff3
dbwww $80, PlayerID, 2, NULL
dbwww $80, wSecretID, 2, NULL
dbwww $80, PlayerGender, 1, NULL
- dbwww $4, $a603, 8, NULL
- dbwww $4, $a007, PARTYMON_STRUCT_LENGTH, NULL
+ dbwww $04, $a603, 8, NULL
+ dbwww $04, $a007, PARTYMON_STRUCT_LENGTH, NULL
db -1
Unknown_10102c: ; 10102c
- dbwww $80, OTPlayerName, 11, NULL
+ dbwww $80, OTPlayerName, NAME_LENGTH, NULL
dbwww $80, OTPlayerID, 2, NULL
dbwww $80, OTPartyMonNicknames, PKMN_NAME_LENGTH * PARTY_LENGTH, NULL
dbwww $80, OTPartyMonOT, NAME_LENGTH * PARTY_LENGTH, NULL
@@ -2566,7 +2566,7 @@ endr
ld [hl], e
inc hl
ld [hl], d
- ld a, $7
+ ld a, $07
call GetSRAMBank
ld hl, wc608
ld de, $a001
@@ -2595,11 +2595,11 @@ Function10107d: ; 10107d
ld bc, NAME_LENGTH
call .CopyAllFromOT
ld hl, OTPartyMonOT
- ld de, OTName + 1
+ ld de, OTClassName + 1
ld bc, NAME_LENGTH
call .CopyAllFromOT
ld hl, OTPartyMon1Species
- ld de, wc68a + 15
+ ld de, $c699
ld bc, PARTYMON_STRUCT_LENGTH
call .CopyAllFromOT
ld a, $50
@@ -2684,10 +2684,10 @@ Function101145: ; 101145
inc bc
pop af
inc a
- cp $3
+ cp $03
jr nz, .asm_10114a
pop de
- ld a, $3
+ ld a, $03
ld [de], a
inc de
ld hl, StringBuffer2 + 6
@@ -2739,7 +2739,7 @@ asm_101184:
ld [StringBuffer2 + 4], a
ld a, d
ld [StringBuffer2 + 5], a
- ld a, $3
+ ld a, $03
.asm_1011a0
push af
ld a, [hli]
@@ -2793,7 +2793,7 @@ Function1011e8: ; 1011e8
; 1011f1
Function1011f1: ; 1011f1
- ld a, $4
+ ld a, $04
call GetSRAMBank
ld a, [$a60c]
ld [wdc41], a
@@ -2890,10 +2890,10 @@ Function10127e: ; 10127e
ld a, [wdc5f]
and a
jr z, .asm_101290
- cp $1
+ cp $01
ld c, $27
jr z, .asm_101292
- cp $2
+ cp $02
ld c, $37
jr z, .asm_101292
@@ -3047,7 +3047,7 @@ Function10138b: ; 10138b
.asm_10139f
sla c
ld a, [wcd21]
- cp $1
+ cp $01
jr z, .asm_1013a9
inc c
@@ -3165,7 +3165,7 @@ Function101418: ; 101418
; 10142c
Function10142c: ; 10142c
- ld a, $1
+ ld a, $01
ld [wc305], a
callba Function115e18
ret
@@ -3253,7 +3253,7 @@ Function1014a6: ; 1014a6
Function1014b7: ; 1014b7
call GetJoypad
ld a, [hJoyPressed]
- and $3
+ and $03
jr nz, .asm_1014c5
ld hl, wcd42
dec [hl]
@@ -3300,7 +3300,7 @@ Function101507: ; 101507
ld de, wcd30
ld hl, $40
ld bc, $40
- ld a, $2
+ ld a, $02
call Function3e32
ld a, [wcd25]
inc a
@@ -3327,7 +3327,7 @@ Function10152a: ; 10152a
; 101537
Function101537: ; 101537
- ld a, $a
+ ld a, $0a
call Function3e32
ld a, [wcd25]
inc a
@@ -3348,7 +3348,7 @@ Function101544: ; 101544
Function101557: ; 101557
callba Function100641
ld hl, wcd53
- ld a, $8
+ ld a, $08
call Function3e32
ld a, [wcd25]
inc a
@@ -3365,7 +3365,7 @@ Function101571: ; 101571
ret c
ret z
ld a, e
- cp $1
+ cp $01
jr z, .asm_101582
ld [wcd2b], a
ret
@@ -3380,7 +3380,7 @@ Function101571: ; 101571
Function10158a: ; 10158a
callba Function10064c
ld a, [wcd44]
- cp $a
+ cp $0a
jr c, Function10156d
ld a, $fb
ld [wcd2b], a
@@ -3391,7 +3391,7 @@ Function10159d: ; 10159d
ld de, wc608
callba Function100edf
ld de, wc608
- ld a, $5
+ ld a, $05
ld hl, w5_d800
call Function10174c
ld a, 0
@@ -3406,7 +3406,7 @@ Function1015be: ; 1015be
ld de, wc608
callba Function100eed
ld de, wc608
- ld a, $5
+ ld a, $05
ld hl, w5_d800
call Function10174c
ld a, 0
@@ -3421,7 +3421,7 @@ Function1015df: ; 1015df
ld de, wc608
callba Function100ef4
ld de, wc608
- ld a, $5
+ ld a, $05
ld hl, w5_d800
call Function10174c
ld a, 0
@@ -3436,7 +3436,7 @@ Function101600: ; 101600
ld hl, w5_d800
ld de, wc608
ld bc, $1e0
- ld a, $5
+ ld a, $05
call FarCopyWRAM
ld de, wc608
callba Function100ee6
@@ -3477,34 +3477,34 @@ Function10163f: ; 10163f
; 101649
Function101649: ; 101649
- ld a, $5
+ ld a, $05
ld hl, w5_d800
call Function101635
- ld a, $5
+ ld a, $05
ld de, w5_da00
call Function10163f
ret
; 10165a
Function10165a: ; 10165a
- ld a, $5
+ ld a, $05
ld hl, w5_da00
call Function101635
ret
; 101663
Function101663: ; 101663
- ld a, $5
+ ld a, $05
ld hl, w5_d800
call Function101635
- ld a, $5
+ ld a, $05
ld de, w5_dc00
call Function10163f
ret
; 101674
Function101674: ; 101674 ; unreferenced
- ld a, $5
+ ld a, $05
ld hl, w5_dc00
call Function101635
ret
@@ -3525,11 +3525,11 @@ Function10168a: ; 10168a
Function10168e: ; 10168e
ld b, 0
- ld c, $1
+ ld c, $01
callba Function10079c
ret c
- ld c, $1
- ld b, $3
+ ld c, $01
+ ld b, $03
callba Function10062d
ret c
ld a, [wcd26]
@@ -3758,11 +3758,11 @@ Function1017f1: ; 1017f1
Function1017f5: ; 1017f5
ld b, 0
- ld c, $1
+ ld c, $01
callba Function10079c
ret c
- ld c, $1
- ld b, $3
+ ld c, $01
+ ld b, $03
callba Function10062d
ret c
callba Function100382
@@ -3782,9 +3782,9 @@ Function1017f5: ; 1017f5
Function101826: ; 101826
ld a, [wcd21]
- cp $2
+ cp $02
jr z, .asm_101833
- cp $1
+ cp $01
jr z, .asm_101844
jr .asm_101869
@@ -3801,10 +3801,10 @@ Function101826: ; 101826
callba Function103654
ld a, c
ld hl, Unknown_101882
- cp $1
+ cp $01
jr z, .asm_10185b
ld hl, Unknown_101895
- cp $2
+ cp $02
jr z, .asm_10185b
jr .asm_101869
@@ -3829,17 +3829,17 @@ SECTION "ascii 10186f", ROMX, BANK[$40]
Unknown_10186f:
db .end - @
- db $19, $73, $9, $13, "trade_crystal"
+ db $19, $73, $09, $13, "trade_crystal"
.end db 0
Unknown_101882:
db .end - @
- db $19, $67, $10, $1, "free__crystal"
+ db $19, $67, $10, $01, "free__crystal"
.end db 0
Unknown_101895:
db .end - @
- db $19, $67, $10, $1, "limit_crystal"
+ db $19, $67, $10, $01, "limit_crystal"
.end db 0
; 1018a8
@@ -3849,12 +3849,12 @@ SECTION "bank40_3", ROMX, BANK[$40]
Function1018a8: ; 1018a8
ld hl, wccb5
ld de, wcc61
- ld a, $4
+ ld a, $04
call Function101406
jr c, .asm_1018d0
ld hl, wccb9
ld de, wcc65
- ld a, $6
+ ld a, $06
call Function101406
jr c, .asm_1018ca
ld a, [wcd25]
@@ -3890,7 +3890,7 @@ Function1018e1: ; 1018e1
; 1018ec
Function1018ec: ; 1018ec
- ld a, $a
+ ld a, $0a
ld hl, wccb4
ld [hli], a
ld c, a
@@ -3933,9 +3933,9 @@ Function101913: ; 101913
ld a, $90
ld [hWY], a
ld a, [wcd21]
- cp $1
+ cp $01
jr z, .asm_10193f
- cp $2
+ cp $02
jr z, .asm_101945
ld a, $71
ld [wcd25], a
@@ -3977,7 +3977,7 @@ Function10196d: ; 10196d
set 5, [hl]
ld hl, wcd2a
set 6, [hl]
- ld a, $6
+ ld a, $06
ld [wccb4], a
ld hl, wdc5c
ld de, wccb5
@@ -4026,7 +4026,7 @@ Function1019ab: ; 1019ab
Function1019ee: ; 1019ee
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, $05
ld [rSVBK], a
ld bc, w5_dc0d
@@ -4039,14 +4039,14 @@ Function1019ee: ; 1019ee
ld a, c
ld [OtherTrainerClass], a
ld hl, OTPlayerName
- ld de, OTName
+ ld de, OTClassName
ld bc, NAME_LENGTH
call CopyBytes
ld a, [wcd2f]
and a
- ld a, $2
+ ld a, $02
jr z, .asm_101a1e
- ld a, $1
+ ld a, $01
.asm_101a1e
ld [hLinkPlayerNumber], a
@@ -4058,9 +4058,9 @@ Function101a21: ; 101a21
ld a, [hl]
push af
and $20
- or $1
+ or $01
ld [hl], a
- ld a, $1
+ ld a, $01
ld [wc2d7], a
callba BattleIntro
callba DoBattle
@@ -4075,7 +4075,7 @@ Function101a21: ; 101a21
; 101a4f
Function101a4f: ; 101a4f
- ld a, $1
+ ld a, $01
ld [wc2d7], a
callba DetermineMobileBattleResult
xor a
@@ -4105,7 +4105,7 @@ Function101a97: ; 101a97
callba Function115d99
ld hl, wcd29
set 7, [hl]
- ld c, $2
+ ld c, $02
call Function10142c
ld hl, wcd29
set 6, [hl]
@@ -4116,7 +4116,7 @@ Function101a97: ; 101a97
; 101ab4
Function101ab4: ; 101ab4
- ld e, $1
+ ld e, $01
call Function101ee4
ld hl, wcd29
set 5, [hl]
@@ -4130,7 +4130,7 @@ Function101ac6: ; 101ac6
callba Function115d99
ld hl, wcd29
set 7, [hl]
- ld c, $2
+ ld c, $02
call Function10142c
ld hl, wcd29
set 6, [hl]
@@ -4148,11 +4148,11 @@ Function101aed: ; 101aed
callba Function115d99
ld hl, wcd29
set 7, [hl]
- ld c, $2
+ ld c, $02
call Function10142c
ld hl, wcd29
set 6, [hl]
- ld a, $1
+ ld a, $01
ld [wcd2f], a
ld a, [wcd25]
inc a
@@ -4163,7 +4163,7 @@ Function101aed: ; 101aed
Function101b0f: ; 101b0f
ld c, 0
call Function10142c
- ld e, $3
+ ld e, $03
call Function101ee4
ld hl, wcd29
set 5, [hl]
@@ -4186,9 +4186,9 @@ Function101b2b: ; 101b2b
ld a, 0
ld [wcd26], a
ld a, [wMenuCursorY]
- cp $1
+ cp $01
jr z, .asm_101b51
- ld a, $2
+ ld a, $02
ld [wcd2b], a
ret
@@ -4200,9 +4200,9 @@ Function101b2b: ; 101b2b
; 101b59
Function101b59: ; 101b59
- ld c, $2
+ ld c, $02
call Function10142c
- ld e, $2
+ ld e, $02
call Function101ee4
ld hl, wcd29
set 5, [hl]
@@ -4213,9 +4213,9 @@ Function101b59: ; 101b59
; 101b70
Function101b70: ; 101b70
- ld c, $2
+ ld c, $02
call Function10142c
- ld e, $4
+ ld e, $04
call Function101ee4
ld hl, wcd29
set 5, [hl]
@@ -4239,9 +4239,9 @@ Function101b8f: ; 101b8f
ld a, 0
ld [wcd26], a
ld a, [wMenuCursorY]
- cp $1
+ cp $01
jr z, .asm_101bbc
- ld a, $1
+ ld a, $01
ld [wcd2f], a
ld a, [wcd25]
inc a
@@ -4258,9 +4258,9 @@ Function101b8f: ; 101b8f
; 101bc8
Function101bc8: ; 101bc8
- ld c, $2
+ ld c, $02
call Function10142c
- ld e, $8
+ ld e, $08
call Function101ee4
call Function102048
call Function1013dd
@@ -4283,22 +4283,22 @@ Function101be5: ; 101be5
ld a, 0
ld [wcd26], a
ld a, [wMenuCursorY]
- cp $1
+ cp $01
jr nz, .asm_101c0b
ld a, $2a
ld [wcd25], a
ret
.asm_101c0b
- ld a, $2
+ ld a, $02
ld [wcd2b], a
ret
; 101c11
Function101c11: ; 101c11
- ld a, $1
+ ld a, $01
ld [wdc5f], a
- ld e, $9
+ ld e, $09
call Function101ee4
call Function102048
ld hl, wcd29
@@ -4310,9 +4310,9 @@ Function101c11: ; 101c11
; 101c2b
Function101c2b: ; 101c2b
- ld a, $2
+ ld a, $02
ld [wdc5f], a
- ld e, $7
+ ld e, $07
call Function101ee4
ld hl, wcd29
set 5, [hl]
@@ -4332,7 +4332,7 @@ Function101c42: ; 101c42
; 101c50
Function101c50: ; 101c50
- ld e, $a
+ ld e, $0a
call Function101ee4
ld hl, wcd29
set 2, [hl]
@@ -4346,13 +4346,13 @@ Function101c62: ; 101c62
callba Function115d99
ld hl, wcd29
set 7, [hl]
- ld c, $1
+ ld c, $01
call Function10142c
xor a
ld [wc30d], a
ld hl, wcd29
res 4, [hl]
- ld e, $b
+ ld e, $0b
call Function101ee4
ld hl, wcd29
set 5, [hl]
@@ -4373,9 +4373,9 @@ Function101c92: ; 101c92
; 101ca0
Function101ca0: ; 101ca0
- ld c, $2
+ ld c, $02
call Function10142c
- ld e, $c
+ ld e, $0c
call Function101ee4
ld hl, wcd29
set 5, [hl]
@@ -4388,21 +4388,21 @@ Function101ca0: ; 101ca0
; 101cbc
Function101cbc: ; 101cbc
- ld a, $1
+ ld a, $01
ld [wcd2b], a
ret
; 101cc2
Function101cc2: ; 101cc2 ; unreferenced
- ld a, $2
+ ld a, $02
ld [wcd2b], a
ret
; 101cc8
Function101cc8: ; 101cc8
- ld a, $1
+ ld a, $01
ld [wc314], a
- ld a, $1
+ ld a, $01
ld [wc30d], a
ld hl, wcd29
set 4, [hl]
@@ -4413,9 +4413,9 @@ Function101cc8: ; 101cc8
; 101cdf
Function101cdf: ; 101cdf
- ld a, $6
+ ld a, $06
ld [wc314], a
- ld a, $1
+ ld a, $01
ld [wc30d], a
ld hl, wcd29
set 4, [hl]
@@ -4426,7 +4426,7 @@ Function101cdf: ; 101cdf
; 101cf6
Function101cf6: ; 101cf6
- ld a, $b
+ ld a, $0b
ld [wc314 + 1], a
ld a, [wcd25]
inc a
@@ -4435,7 +4435,7 @@ Function101cf6: ; 101cf6
; 101d03
Function101d03: ; 101d03
- ld a, $e
+ ld a, $0e
ld [wc314 + 1], a
ld a, [wcd25]
inc a
@@ -4444,7 +4444,7 @@ Function101d03: ; 101d03
; 101d10
Function101d10: ; 101d10
- ld c, $1
+ ld c, $01
call Function10142c
ld a, [wcd25]
inc a
@@ -4452,7 +4452,7 @@ Function101d10: ; 101d10
jr Function101d2a
Function101d1e: ; 101d1e
- ld c, $3
+ ld c, $03
call Function10142c
ld a, [wcd25]
inc a
@@ -4522,13 +4522,13 @@ Function101d7b: ; 101d7b
; 101d8d
Unknown_101d8d: ; 101d8d
- db $15, $15, $1f, $1f, $c, $12, $3a, $3a
+ db $15, $15, $1f, $1f, $0c, $12, $3a, $3a
; 101d95
Function101d95: ; 101d95
call Function101ee2
call LoadStandardMenuDataHeader
- ld e, $e
+ ld e, $0e
call Function101ee4
ld hl, wcd29
set 5, [hl]
@@ -4552,7 +4552,7 @@ Function101db2: ; 101db2
ret
.asm_101dca
- ld a, $2
+ ld a, $02
ld [wcd2b], a
ret
; 101dd0
@@ -4590,7 +4590,7 @@ Function101de3: ; 101de3
.asm_101e00
call Function101ed3
- ld a, $2
+ ld a, $02
ld [wcd2b], a
ret
; 101e09
@@ -4616,7 +4616,7 @@ Function101e09: ; 101e09
ret
.asm_101e2b
- ld a, $2
+ ld a, $02
ld [wcd2b], a
ret
; 101e31
@@ -4638,13 +4638,13 @@ Function101e39: ; 101e39
ret
.asm_101e49
- ld a, $2
+ ld a, $02
ld [wcd2b], a
ret
; 101e4f
Function101e4f: ; 101e4f
- ld e, $6
+ ld e, $06
call Function101ee4
call Function1013d6
ld a, [wcd25]
@@ -4669,7 +4669,7 @@ Function101e64: ; 101e64
.asm_101e77
ld hl, wcd29
set 5, [hl]
- ld a, $2
+ ld a, $02
ld [wcd2b], a
ret
; 101e82
@@ -4829,9 +4829,9 @@ Function10202c: ; 10202c
callba Function115d99
ld hl, wcd29
set 7, [hl]
- ld c, $2
+ ld c, $02
call Function10142c
- ld e, $d
+ ld e, $0d
call Function101ee4
hlcoord 4, 4
call Function100681
@@ -4854,7 +4854,7 @@ Function10204c: ; 10204c
jr z, .asm_102067
sub $30
jr c, .asm_102067
- cp $a
+ cp $0a
jr nc, .asm_102067
add $f6
ld [hli], a
@@ -4867,7 +4867,7 @@ Function10204c: ; 10204c
Function102068: ; 102068
ld hl, wcd53
- ld c, $8
+ ld c, $08
.asm_10206d
ld a, [de]
call Function102080
@@ -4885,8 +4885,8 @@ Function102068: ; 102068
; 102080
Function102080: ; 102080
- and $f
- cp $f
+ and $0f
+ cp $0f
jr z, .asm_10208a
add $30
ld [hli], a
@@ -4919,7 +4919,7 @@ Function10209c: ; 10209c
Function1020a8: ; 1020a8
call Function10209c
- ld c, $1
+ ld c, $01
ld de, wdc42
callba Function17a68f
ret c
@@ -4941,7 +4941,7 @@ Function1020bf: ; 1020bf
call AddNTimes
ld d, h
ld e, l
- ld a, $4
+ ld a, $04
call GetSRAMBank
call Function10208e
call Function102068
@@ -4957,59 +4957,59 @@ Function1020bf: ; 1020bf
Function1020ea: ; 1020ea
ld hl, wdc41
bit 4, [hl]
- jr z, .asm_102110
+ jr z, .quit
ld hl, wdc41
bit 2, [hl]
- jr nz, .asm_102110
+ jr nz, .quit
call Function10218d
ld hl, wc608
bit 4, [hl]
- jr z, .asm_102110
+ jr z, .quit
ld hl, wc608
bit 2, [hl]
- jr nz, .asm_102110
+ jr nz, .quit
call Function102112
- jr z, .asm_102110
+ jr z, .quit
and a
ret
-.asm_102110
+.quit
scf
ret
; 102112
Function102112: ; 102112
- ld a, $4
+ ld a, $04
call GetSRAMBank
ld hl, $a041
- ld c, $28
-.asm_10211c
+ ld c, 40
+.outer_loop
push hl
- ld de, wc60f
- ld b, $1f
-.asm_102122
+ ld de, $c60f
+ ld b, 31
+.inner_loop
ld a, [de]
cp [hl]
- jr nz, .asm_10212f
+ jr nz, .not_matching
inc de
inc hl
dec b
- jr nz, .asm_102122
+ jr nz, .inner_loop
pop hl
xor a
- jr .asm_10213c
+ jr .done
-.asm_10212f
+.not_matching
pop hl
- ld de, $25
+ ld de, 37
add hl, de
dec c
- jr nz, .asm_10211c
- ld a, $1
+ jr nz, .outer_loop
+ ld a, $01
and a
- jr .asm_10213c
+ jr .done ; useless jr
-.asm_10213c
+.done
push af
call CloseSRAM
pop af
@@ -5052,12 +5052,12 @@ Function102180: ; 102180
; 10218d
Function10218d: ; 10218d
- ld hl, wdc00
+ ld hl, w5_dc00
ld de, wc608
ld bc, $26
- ld a, $5
+ ld a, $05
call FarCopyWRAM
- ld de, wc608 + 1
+ ld de, wc608 + 1 ; useless
ret
; 10219f
@@ -5075,7 +5075,7 @@ Function10219f: ; 10219f
Function1021b8: ; 1021b8
call FadeToMenu
call Function10218d
- ld de, wc60f
+ ld de, wPlayerMoveStruct
callba Function8ac70
ld a, c
ld [StringBuffer1], a
@@ -5206,7 +5206,7 @@ Function102274: ; 102274
; 102283
Function102283: ; 102283
- ld a, $1
+ ld a, $01
ld [AttrMapEnd], a
ld hl, wcd4b
set 0, [hl]
@@ -5223,7 +5223,7 @@ Function10228e: ; 10228e
Function102298: ; 102298
ld a, e
- cp $2
+ cp $02
ret nz
ld hl, wcd4b
bit 6, [hl]
@@ -5246,7 +5246,7 @@ Function102298: ; 102298
.asm_1022c1
call Function10304f
- ld a, $1
+ ld a, $01
ld [AttrMapEnd], a
ret
; 1022ca
@@ -5268,7 +5268,7 @@ Function1022d0: ; 1022d0
ld a, 30
sub c
ld c, a
- ld b, $3
+ ld b, $03
callba Function10062d
jr c, .asm_1022f3
xor a
@@ -5372,7 +5372,7 @@ Function102387: ; 102387
call PlayMusic
call Function102d9a
call Function102dd3
- ld a, $1
+ ld a, $01
ld [wMenuCursorY], a
Function1023a1: ; 1023a1
@@ -5582,13 +5582,13 @@ Function10250c: ; 10250c
call Function1028fc
ret nc
ld a, [wcd51]
- cp $f
+ cp $0f
jr z, .asm_10254b
and a
jr z, .asm_102572
cp $aa
jr z, .asm_102572
- cp $7
+ cp $07
jr nc, .asm_102572
ld [wcd4d], a
dec a
@@ -5603,7 +5603,7 @@ Function10250c: ; 10250c
jr c, .asm_102568
ld hl, wcd4b
set 1, [hl]
- ld a, $e
+ ld a, $0e
ld [wcd49], a
ret
@@ -5642,7 +5642,7 @@ Function10250c: ; 10250c
ld [wcd4e], a
ld a, $3c
ld [wcd4f], a
- ld a, $9
+ ld a, $09
ld [wcd49], a
ret
; 102591
@@ -5664,7 +5664,7 @@ Function102591: ; 102591
; 1025b0
Function1025b0: ; 1025b0
- ld a, $9
+ ld a, $09
call Function1028e8
ld a, [wcd49]
inc a
@@ -5675,7 +5675,7 @@ Function1025b0: ; 1025b0
Function1025bd: ; 1025bd
call Function1028fc
ret nc
- ld a, $4
+ ld a, $04
ld [wcd49], a
ret
; 1025c7
@@ -5684,7 +5684,7 @@ Function1025c7: ; 1025c7
call Function102f6d
ld hl, wcd4b
set 1, [hl]
- ld a, $f
+ ld a, $0f
call Function1028e8
ld a, [wcd49]
inc a
@@ -5753,7 +5753,7 @@ Function1025ff: ; 1025ff
.d_down
ld a, [wMenuCursorY]
- cp $1
+ cp $01
ret nz
ld a, $23 ; Function1026b7
ld [wcd49], a
@@ -5869,7 +5869,7 @@ Function1026f3: ; 1026f3
.asm_102702
hlcoord 9, 17
ld [hl], " "
- ld a, $1
+ ld a, $01
ld [wMenuCursorY], a
ld a, $1d ; Function102652
ld [wcd49], a
@@ -5928,7 +5928,7 @@ Jumptable_102766: ; 102766
; 102770
Function102770: ; 102770
- ld a, $1
+ ld a, $01
ld [wcd4a], a
Function102775: ; 102775
@@ -5955,7 +5955,7 @@ Function10278c: ; 10278c
ret
.asm_10279b
- ld a, $3
+ ld a, $03
ld [wcd4a], a
Function1027a0: ; 1027a0
hlcoord 1, 16
@@ -6060,7 +6060,7 @@ Function10283c: ; 10283c
; 102862
Function102862: ; 102862
- ld a, $8
+ ld a, $08
call Function1028e8
ld a, [wcd49]
inc a
@@ -6074,7 +6074,7 @@ Function10286f: ; 10286f
ld a, [wcd52]
ld [wMenuCursorY], a
ld a, [wcd51]
- cp $8
+ cp $08
jr nz, .asm_102886
ld a, $15 ; Function1023b5
ld [wcd49], a
@@ -6260,7 +6260,7 @@ Function102996: ; 102996
; 10299e
Function10299e: ; 10299e
- ld a, $1
+ ld a, $01
ld [wccb4], a
ld a, [wcd50]
ld [wccb5], a
@@ -6331,14 +6331,14 @@ Function1029fe: ; 1029fe
call ExitMenu
pop af
ld a, [wMenuCursorY]
- cp $1
+ cp $01
jr nz, .asm_102a21
- ld a, $1
+ ld a, $01
and a
ret
.asm_102a21
- ld a, $1
+ ld a, $01
and a
scf
ret
@@ -6361,7 +6361,7 @@ Function102a3b: ; 102a3b
ld a, [wcd30]
ld [wc74e], a
ld hl, PlayerName
- ld de, wc6e7
+ ld de, wPlayerTrademonSenderName
ld bc, NAME_LENGTH
call CopyBytes
ld a, [wcd4c]
@@ -6474,7 +6474,7 @@ Function102b32: ; 102b32
ld a, [wcd4c]
dec a
ld [CurPartyMon], a
- ld a, $1
+ ld a, $01
ld [wForceEvolution], a
callba EvolvePokemon
call Function102d9a
@@ -6645,9 +6645,9 @@ Function102c48: ; 102c48
call Function102c71
call CloseSRAM
ld hl, wc608
- ld de, wda00
+ ld de, w5_da00
ld bc, $1e0
- ld a, $5
+ ld a, $05
call FarCopyWRAM
ret
; 102c71
@@ -6691,15 +6691,15 @@ Function102c87: ; 102c87
ld [wJumptableIndex], a
ld a, [OTPartyCount]
ld [wcf64], a
- ld a, $5
- ld hl, wda00
+ ld a, $05
+ ld hl, w5_da00
ld de, wc608
ld bc, $11a
call FarCopyWRAM
call Function102cee
- ld a, $5
+ ld a, $05
ld hl, wc608
- ld de, wda00
+ ld de, w5_da00
ld bc, $11a
call FarCopyWRAM
pop af
@@ -6718,7 +6718,7 @@ Function102cee: ; 102cee
call CopyBytes
ld a, [wJumptableIndex]
ld c, a
- ld a, $6
+ ld a, $06
sub c
ret z
ld bc, $2f
@@ -6801,11 +6801,11 @@ Function102d48: ; 102d48
; 102d9a
Function102d9a: ; 102d9a
- ld a, $7f
- ld hl, SpritesEnd
+ ld a, " "
+ hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
call ByteFill
- ld a, $7
+ ld a, $07
hlcoord 0, 0, AttrMap
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
call ByteFill
@@ -6823,8 +6823,8 @@ Function102db7: ; 102db7
Function102dc3: ; 102dc3
hlcoord 0, 12
- ld b, $4
- ld c, $12
+ ld b, 4
+ ld c, 18
ld d, h
ld e, l
callba _LinkTextbox
@@ -6843,10 +6843,10 @@ Function102dd3: ; 102dd3
; 102dec
Function102dec: ; 102dec
- ld hl, Unknown_1032e2
+ ld hl, Palettes_1032e2
ld de, UnknOBPals
- ld bc, $20
- ld a, $5
+ ld bc, 4 palettes
+ ld a, $05
call FarCopyWRAM
callba Function49742
call SetPalettes
@@ -6856,41 +6856,42 @@ Function102dec: ; 102dec
Function102e07: ; 102e07
hlcoord 3, 10
- ld b, $1
- ld c, $b
+ ld b, 1
+ ld c, 11
ld a, [wBattleMode]
and a
- jr z, .asm_102e19
+ jr z, .link_battle
call TextBox
- jr .asm_102e28
+ jr .okay
-.asm_102e19
+.link_battle
+; this is idiotic
hlcoord 3, 10
- ld b, $1
- ld c, $b
+ ld b, 1
+ ld c, 11
ld d, h
ld e, l
callba _LinkTextbox
-.asm_102e28
- ld de, String_102e32
+.okay
+ ld de, .waiting
hlcoord 4, 11
call PlaceString
ret
; 102e32
-String_102e32: ; 102e32
+.waiting: ; 102e32
db "Waiting...!@"
; 102e3e
Function102e3e: ; 102e3e
- ld de, String_102e48
+ ld de, .CANCEL
hlcoord 10, 17
call PlaceString
ret
; 102e48
-String_102e48: ; 102e48
+.CANCEL: ; 102e48
db "CANCEL@"
; 102e4f
@@ -6909,16 +6910,16 @@ Function102e4f: ; 102e4f
ld [bc], a
hlcoord 7, 1
ld de, PartySpecies
- call Function102e86
+ call .PlaceSpeciesNames
hlcoord 7, 9
ld de, OTPartySpecies
- call Function102e86
+ call .PlaceSpeciesNames
ret
; 102e86
-Function102e86: ; 102e86
+.PlaceSpeciesNames: ; 102e86
ld c, 0
-.asm_102e88
+.count_loop
ld a, [de]
cp $ff
ret z
@@ -6935,11 +6936,11 @@ Function102e86: ; 102e86
pop de
inc de
pop hl
- ld bc, $14
+ ld bc, SCREEN_WIDTH
add hl, bc
pop bc
inc c
- jr .asm_102e88
+ jr .count_loop
; 102ea8
Function102ea8: ; 102ea8
@@ -6991,49 +6992,49 @@ String_102ef4: ; 102ef4
Function102f15: ; 102f15
call Function102dc3
- ld de, String_102f22
+ ld de, .TooBadTheTradeWasCanceled
hlcoord 1, 14
call PlaceString
ret
; 102f22
-String_102f22: ; 102f22
+.TooBadTheTradeWasCanceled: ; 102f22
db "こうかんを キャンセルしました@"
; 102f32
Function102f32: ; 102f32
call Function102dc3
- ld de, String_102f3f
+ ld de, .TradeCompleted
hlcoord 1, 14
call PlaceString
ret
; 102f3f
-String_102f3f: ; 102f3f
+.TradeCompleted: ; 102f3f
db "Trade completed!@"
; 102f50
Function102f50: ; 102f50
call Function102dc3
- ld de, String_102f5d
+ ld de, .PleaseWait
hlcoord 1, 14
call PlaceString
ret
; 102f5d
-String_102f5d: ; 102f5d
+.PleaseWait: ; 102f5d
db "しょうしょう おまち ください@"
; 102f6d
Function102f6d: ; 102f6d
call Function102dc3
- ld de, String_102f7a
+ ld de, .Finished
hlcoord 1, 14
call PlaceString
ret
; 102f7a
-String_102f7a: ; 102f7a
+.Finished: ; 102f7a
db "しゅうりょう します@"
; 102f85
@@ -7059,8 +7060,8 @@ Function102f85: ; 102f85
; 102fb2
String_102fb2: ; 102fb2
- db "あいてがわ", $4a, "えらんだ "
- next "いじょう", $4a, "あるようです!!"
+ db "あいてがわ<PKMN>えらんだ "
+ next "いじょう<PKMN>あるようです!!"
db "@"
; 102fcc
@@ -7077,8 +7078,8 @@ Function102fce: ; 102fce
; 102fdb
String_102fdb: ; 102fdb
- db "あいてがわ", $25, "せんたくに"
- next "いじょう", $4a, "あるようです!!"
+ db "あいてがわ%せんたくに"
+ next "いじょう<PKMN>あるようです!!"
done
; 102ff5
@@ -7132,7 +7133,7 @@ Function10305d: ; 10305d
; 10306e
Function10306e: ; 10306e
- ld a, $1
+ ld a, $01
ld [hOAMUpdate], a
call ClearSprites
ld de, Sprites
@@ -7143,11 +7144,11 @@ Function10306e: ; 10306e
; 10307f
Function10307f: ; 10307f
- ld c, $2
+ ld c, $02
ld hl, wcd4b
bit 7, [hl]
jr z, .asm_10308a
- ld c, $1
+ ld c, $01
.asm_10308a
ld hl, wcf45
@@ -7209,7 +7210,7 @@ endr
ld bc, Unknown_103112
add hl, bc
ld b, $30
- ld c, $8
+ ld c, $08
.asm_1030de
push hl
ld hl, wcd4b
@@ -7217,7 +7218,7 @@ endr
pop hl
ld a, 0
jr z, .asm_1030eb
- ld a, $5
+ ld a, $05
.asm_1030eb
add [hl]
@@ -7238,7 +7239,7 @@ endr
inc hl
ld [de], a
inc de
- ld a, $a
+ ld a, $0a
add [hl]
inc hl
ld [de], a
@@ -7251,7 +7252,7 @@ endr
inc de
pop hl
ld a, b
- add $8
+ add $08
ld b, a
dec c
jr nz, .asm_1030de
@@ -7259,77 +7260,89 @@ endr
; 103112
Unknown_103112: ; 103112
- db $0, $0, $0, $0, $0, $0, $0, $
- db $0, $0, $0, $0, $0, $0, $0, $
- db $0, $0, $0, $0, $0, $0, $0, $
- db $0, $0, $0, $0, $0, $0, $0, $
- db $0, $0, $0, $0, $0, $0, $0, $
- db $0, $0, $0, $0, $0, $0, $0, $
- db $0, $0, $0, $0, $0, $0, $0, $
- db $0, $0, $0, $0, $0, $0, $0, $
- db $1, $0, $0, $0, $0, $0, $0, $
- db $2, $1, $0, $0, $0, $0, $0, $
- db $3, $2, $1, $0, $0, $0, $0, $
- db $4, $3, $2, $1, $0, $0, $0, $
- db $4, $4, $3, $2, $1, $0, $0, $
- db $4, $4, $4, $3, $2, $1, $0, $
- db $4, $4, $4, $4, $3, $2, $1, $
- db $4, $4, $4, $4, $4, $3, $2, $1
- db $4, $4, $4, $4, $4, $4, $3, $2
- db $4, $4, $4, $4, $4, $4, $4, $3
- db $4, $4, $4, $4, $4, $4, $4, $4
- db $4, $4, $4, $4, $4, $4, $4, $4
- db $4, $4, $4, $4, $4, $4, $4, $4
- db $4, $4, $4, $4, $4, $4, $4, $4
- db $4, $4, $4, $4, $4, $4, $4, $4
- db $4, $4, $4, $4, $4, $4, $4, $4
- db $4, $4, $4, $4, $4, $4, $4, $4
- db $4, $4, $4, $4, $4, $4, $4, $4
- db $3, $4, $4, $4, $4, $4, $4, $4
- db $2, $3, $4, $4, $4, $4, $4, $4
- db $1, $2, $3, $4, $4, $4, $4, $4
- db $0, $1, $2, $3, $4, $4, $4, $4
- db $0, $0, $1, $2, $3, $4, $4, $4
- db $0, $0, $0, $1, $2, $3, $4, $4
- db $0, $0, $0, $0, $1, $2, $3, $4
- db $0, $0, $0, $0, $0, $1, $2, $3
- db $0, $0, $0, $0, $0, $0, $1, $2
- db $0, $0, $0, $0, $0, $0, $0, $1
- db $0, $0, $0, $0, $0, $0, $0, $
- db $0, $0, $0, $0, $0, $0, $0, $
- db $0, $0, $0, $0, $0, $0, $0, $
- db $0, $0, $0, $0, $0, $0, $0, $
- db $0, $0, $0, $0, $0, $0, $0, $
- db $0, $0, $0, $0, $0, $0, $0, $
- db $0, $0, $0, $0, $0, $0, $0, $
- db $0, $0, $0, $0, $0, $0, $0, $
- db $0, $0, $0, $0, $0, $0, $0, $
+ db $00, $00, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+ db $01, $00, $00, $00, $00, $00, $00, $00
+ db $02, $01, $00, $00, $00, $00, $00, $00
+ db $03, $02, $01, $00, $00, $00, $00, $00
+ db $04, $03, $02, $01, $00, $00, $00, $00
+ db $04, $04, $03, $02, $01, $00, $00, $00
+ db $04, $04, $04, $03, $02, $01, $00, $00
+ db $04, $04, $04, $04, $03, $02, $01, $00
+ db $04, $04, $04, $04, $04, $03, $02, $01
+ db $04, $04, $04, $04, $04, $04, $03, $02
+ db $04, $04, $04, $04, $04, $04, $04, $03
+ db $04, $04, $04, $04, $04, $04, $04, $04
+ db $04, $04, $04, $04, $04, $04, $04, $04
+ db $04, $04, $04, $04, $04, $04, $04, $04
+ db $04, $04, $04, $04, $04, $04, $04, $04
+ db $04, $04, $04, $04, $04, $04, $04, $04
+ db $04, $04, $04, $04, $04, $04, $04, $04
+ db $04, $04, $04, $04, $04, $04, $04, $04
+ db $04, $04, $04, $04, $04, $04, $04, $04
+ db $03, $04, $04, $04, $04, $04, $04, $04
+ db $02, $03, $04, $04, $04, $04, $04, $04
+ db $01, $02, $03, $04, $04, $04, $04, $04
+ db $00, $01, $02, $03, $04, $04, $04, $04
+ db $00, $00, $01, $02, $03, $04, $04, $04
+ db $00, $00, $00, $01, $02, $03, $04, $04
+ db $00, $00, $00, $00, $01, $02, $03, $04
+ db $00, $00, $00, $00, $00, $01, $02, $03
+ db $00, $00, $00, $00, $00, $00, $01, $02
+ db $00, $00, $00, $00, $00, $00, $00, $01
+ db $00, $00, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
; 10327a
Unknown_10327a: ; 10327a
- db $0, $0, $0, $
- db $0, $0, $1, $
- db $0, $0, $2, $
- db $0, $0, $3, $
- db $0, $0, $1, $1
- db $0, $0, $0, $
- db $0, $0, $1, $2
- db $0, $0, $2, $2
- db $0, $0, $3, $2
- db $0, $0, $1, $3
+ db $00, $00, $00, $00
+ db $00, $00, $01, $00
+ db $00, $00, $02, $00
+ db $00, $00, $03, $00
+ db $00, $00, $01, $01
+ db $00, $00, $00, $00
+ db $00, $00, $01, $02
+ db $00, $00, $02, $02
+ db $00, $00, $03, $02
+ db $00, $00, $01, $03
GFX_1032a2:
INCBIN "gfx/unknown/1032a2.2bpp"
-Unknown_1032e2:
- db $0, $0, $ff, $1f
- db $f4, $1b, $8d, $42
- db $0, $0, $67, $45
- db $0, $0, $0, $
- db $0, $0, $1f, $13
- db $99, $1, $ff, $10
- db $0, $0, $19, $
- db $0, $0, $0, $
+Palettes_1032e2:
+ RGB 0, 0, 0
+ RGB 31, 31, 7
+ RGB 20, 31, 6
+ RGB 13, 20, 16
+
+ RGB 0, 0, 0
+ RGB 7, 11, 17
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+
+ RGB 0, 0, 0
+ RGB 31, 24, 4
+ RGB 25, 12, 0
+ RGB 31, 7, 4
+
+ RGB 0, 0, 0
+ RGB 25, 0, 0
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+
; 103302
Function103302: ; 103302
@@ -7345,7 +7358,7 @@ Function103309: ; 103309
ld bc, 10
xor a
call ByteFill
- ld a, $4
+ ld a, $04
call GetSRAMBank
ld a, [wdc41]
ld [$a60c], a
@@ -7378,7 +7391,7 @@ Function103309: ; 103309
call Function1034be
call UpdateSprites
callba Function104000
- ld a, $1
+ ld a, $01
ld [wd1f0], a
call Function10339a
ret
@@ -7398,7 +7411,7 @@ Function103362: ; 103362
ld hl, Buffer2
bit 6, [hl]
jr z, .asm_103398
- ld a, $4
+ ld a, $04
call GetSRAMBank
ld a, [Buffer1]
ld [$a60c], a
@@ -7448,7 +7461,7 @@ Function1033af: ; 1033af
ld a, [wd1f0]
dec a
ld [wd1f0], a
- cp $1
+ cp $01
ret nc
ld a, [wd1ee]
ld [wd1f0], a
@@ -7462,7 +7475,7 @@ Function1033af: ; 1033af
ld a, [wd1ee]
cp c
ret nc
- ld a, $1
+ ld a, $01
ld [wd1f0], a
ret
@@ -7474,7 +7487,7 @@ Function1033af: ; 1033af
.a
ld a, [wd1f3]
- cp $3
+ cp $03
jr nz, .asm_103412
ld de, SFX_TRANSACTION
call PlaySFX
@@ -7488,7 +7501,7 @@ Function1033af: ; 1033af
.right
.asm_103412
ld a, [wd1f3]
- cp $3
+ cp $03
ret z
ld de, SFX_PUSH_BUTTON
call PlaySFX
@@ -7511,12 +7524,12 @@ Function10342c: ; 10342c
Function10343c: ; 10343c
ld a, [wd1f3]
- cp $2
+ cp $02
jr nz, .asm_103452
ld bc, 1
call Function1034f7
ld c, $12
- ld b, $1
+ ld b, $01
call Function1034e0
jr .asm_10345f
@@ -7524,7 +7537,7 @@ Function10343c: ; 10343c
ld bc, $ffed
call Function1034f7
ld c, $12
- ld b, $2
+ ld b, $02
call Function1034e0
.asm_10345f
@@ -7558,7 +7571,7 @@ Function103487: ; 103487
Function103490: ; 103490
hlcoord 0, 15
ld c, $14
- ld b, $3
+ ld b, $03
call Function1034e0
ld bc, 6
call Function10350f
@@ -7580,7 +7593,7 @@ Function1034a7: ; 1034a7
; 1034be
Function1034be: ; 1034be
- ld a, $1
+ ld a, $01
ld [wd1f2], a
ld hl, wd1ec
ld a, [hli]
@@ -7611,7 +7624,7 @@ Function1034e0: ; 1034e0
ld bc, AttrMap - TileMap
add hl, bc
pop bc
- ld a, $6
+ ld a, $06
call FillBoxWithByte
ret
; 1034f1
@@ -7652,17 +7665,17 @@ Unknown_103522: ; 103522
dw String_103598
dw String_1035a0
dw String_10355f
- db $1
+ db $01
dw String_10354f
dw String_1035a8
dw String_1035b1
dw String_103571
- db $2
+ db $02
dw String_103557
dw String_1035ba
dw String_1035bd
dw String_103585
- db $4
+ db $04
dw String_103545
dw String_1035c1
dw String_1035c1
@@ -7708,28 +7721,28 @@ Unknown_1035d7: ; 1035d7
Unknown_1035e7: ; 1035e7
dwcoord 0, 6
- db $12, $7, $7
+ db $12, $07, $07
dw .this
.this
db 4, 2, 1, 0, 3
Unknown_1035f3: ; 1035f3
dwcoord 0, 7
- db $12, $6, $9
+ db $12, $06, $09
dw .this
.this
db 3, 2, 1, 3
Unknown_1035fe: ; 1035fe
dwcoord 0, 9
- db $12, $4, $b
+ db $12, $04, $0b
dw .this
.this
db 2, 0, 3
Unknown_103608: ; 103608
dwcoord 0, 9
- db $12, $4, $b
+ db $12, $04, $0b
dw .this
.this
db 2, 2, 3
@@ -7738,8 +7751,8 @@ Unknown_103608: ; 103608
AskMobileOrCable: ; 103612
ld hl, MenuDataHeader_103640
call LoadMenuDataHeader
- ld a, [wdc40]
- and $f
+ ld a, [wMobileOrCable_LastSelection]
+ and $0f
jr z, .skip_load
ld [wMenuCursorBuffer], a
@@ -7750,10 +7763,10 @@ AskMobileOrCable: ; 103612
ld a, [wMenuCursorY]
ld [ScriptVar], a
ld c, a
- ld a, [wdc40]
+ ld a, [wMobileOrCable_LastSelection]
and $f0
or c
- ld [wdc40], a
+ ld [wMobileOrCable_LastSelection], a
ret
.pressed_b
@@ -7782,13 +7795,13 @@ Function103654: ; 103654
jr nz, .asm_103666
ld hl, wcd2a
res 5, [hl]
- ld c, $2
+ ld c, $02
ret
.asm_103666
ld hl, wcd2a
set 5, [hl]
- ld c, $1
+ ld c, $01
ret
; 10366e
@@ -7806,7 +7819,7 @@ Mobile_SelectThreeMons: ; 10366e
jr .asm_103696
.asm_103690
- ld a, $1
+ ld a, $01
ld [ScriptVar], a
ret
@@ -7816,7 +7829,7 @@ Mobile_SelectThreeMons: ; 10366e
ret
.asm_10369b
- ld hl, wdc40
+ ld hl, wMobileOrCable_LastSelection
bit 7, [hl]
set 7, [hl]
jr nz, .asm_1036b5
@@ -7836,11 +7849,11 @@ Mobile_SelectThreeMons: ; 10366e
call ExitMenu
jr c, .asm_1036f4
ld a, [wMenuCursorY]
- cp $1
+ cp $01
jr z, .asm_1036d9
- cp $2
+ cp $02
jr z, .asm_1036f4
- cp $3
+ cp $03
jr z, .asm_1036ec
jr .asm_1036b5
@@ -7851,7 +7864,7 @@ Mobile_SelectThreeMons: ; 10366e
jr .asm_1036f4
.asm_1036e6
- ld a, $1
+ ld a, $01
ld [ScriptVar], a
ret
@@ -7873,7 +7886,7 @@ Function1036f9: ; 1036f9
; 103700
Function103700: ; 103700
- ld c, $a
+ ld c, $0a
ld hl, SwarmFlags
bit 4, [hl]
jr z, .asm_10370f
@@ -7883,11 +7896,11 @@ Function103700: ; 103700
ld a, c
ld [StringBuffer2], a
ld a, [StringBuffer2]
- cp $5
+ cp $05
jr nc, .asm_103724
- cp $2
+ cp $02
jr nc, .asm_10372c
- cp $1
+ cp $01
jr nc, .asm_103734
jr .asm_10373c
@@ -7975,7 +7988,7 @@ Function10378c: ; 10378c
ld hl, SwarmFlags
bit 4, [hl]
jr nz, .already_set
- ld c, $1
+ ld c, $01
ld hl, SwarmFlags
set 4, [hl]
@@ -7984,7 +7997,7 @@ Function10378c: ; 10378c
callba Link_SaveGame
pop bc
jr c, .failed_to_save
- ld a, $1
+ ld a, $01
ld [ScriptVar], a
ld a, c
and a
@@ -8013,7 +8026,7 @@ Function1037c2: ; 1037c2
call PrintText
call YesNoBox
jr c, .nope
- ld a, $1
+ ld a, $01
ld [ScriptVar], a
ret
@@ -8046,12 +8059,12 @@ Function1037eb: ; 1037eb
ld a, [wdc60]
and a
jr nz, .asm_103813
- ld a, $1
+ ld a, $01
ld [ScriptVar], a
ret
.asm_103813
- ld a, $2
+ ld a, $02
ld [ScriptVar], a
ret
; 103819
@@ -8072,7 +8085,7 @@ Function103823: ; 103823
jr nz, .asm_103838
callba Function1008a6
ld a, c
- cp $1
+ cp $01
jr c, .asm_10383a
.asm_103838
@@ -8085,7 +8098,7 @@ Function103823: ; 103823
; 10383c
Function10383c: ; 10383c
- ld a, $1
+ ld a, $01
ld [wdc60], a
xor a
ld hl, wdc5c
@@ -8107,7 +8120,7 @@ Function10383c: ; 10383c
ret
.asm_103870
- ld a, $1
+ ld a, $01
ld [ScriptVar], a
ret
; 103876
diff --git a/misc/mobile_42.asm b/misc/mobile_42.asm
index f5ed53c81..950a3f0c2 100644
--- a/misc/mobile_42.asm
+++ b/misc/mobile_42.asm
@@ -1242,9 +1242,9 @@ asm_108966
call MobileTradeAnim_ClearTilemap
hlcoord 7, 2
xor a
- ld [hFillBox], a
+ ld [hGraphicStartTile], a
lb bc, 7, 7
- predef FillBox
+ predef PlaceGraphic
call WaitBGMap
ret
; 10898a
@@ -1256,9 +1256,9 @@ Function10898a: ; 10898a
call MobileTradeAnim_ClearTilemap
hlcoord 7, 2
xor a
- ld [hFillBox], a
+ ld [hGraphicStartTile], a
lb bc, 7, 7
- predef FillBox
+ predef PlaceGraphic
call WaitBGMap
ret
; 1089a8
diff --git a/misc/mobile_45.asm b/misc/mobile_45.asm
index 6e2c165f7..39d1f46ed 100644
--- a/misc/mobile_45.asm
+++ b/misc/mobile_45.asm
@@ -134,9 +134,9 @@ Function114243:: ; 114243
ld a, SRAM_ENABLE
ld [MBC3SRamEnable], a
ld a, [hFF8C]
- push af ; if [wdc02] == 0, this is popped to pc.
+ push af ; if [$dc02] == 0, this is popped to pc.
push de
- ld a, [wdc02]
+ ld a, [$dc02]
add a
ld e, a
ld d, 0
@@ -147,30 +147,32 @@ Function114243:: ; 114243
ld l, a
pop de
jp [hl]
+
; 11425c
Function11425c: ; 11425c
- ld [wdc02], a
+ ld [$dc02], a
pop af
rept 2
ld [hFF8C], a
endr
ld [MBC3SRamBank], a
ret
+
; 114268
-Function114268: ; 114268
- ret
+Function114268: mobile
+
; 114269
Function114269: ; 114269
ld h, d
ld l, e
xor a
- ld [wdc02], a
- ld [wdc03], a
+ ld [$dc02], a
+ ld [$dc03], a
ld a, [hli]
- ld [wdc00], a
+ ld [$dc00], a
ld [hFF8C], a
ld [MBC3SRamBank], a
ld e, [hl]
@@ -185,7 +187,7 @@ Function114269: ; 114269
and a
jr z, .asm_1142a4
ld h, a
- ld a, [wdc03]
+ ld a, [$dc03]
and a
jr nz, .asm_114292
ld a, h
@@ -197,7 +199,7 @@ Function114269: ; 114269
cp $d
jr z, .asm_1142bb
xor a
- ld [wdc02], a
+ ld [$dc02], a
.asm_11429b
inc e
call z, Function114333
@@ -207,7 +209,7 @@ Function114269: ; 114269
jr nz, .asm_114282
.asm_1142a4
- ld a, [wdc03]
+ ld a, [$dc03]
and a
jr nz, .asm_114303
ld b, $80
@@ -217,7 +219,7 @@ Function114269: ; 114269
ld b, $81
.asm_1142b0
- ld a, [wdc00]
+ ld a, [$dc00]
ld c, a
ld a, $1
ld h, d
@@ -235,7 +237,7 @@ Function114269: ; 114269
jr z, .asm_1142a4
ld a, [de]
ld h, a
- ld a, [wdc03]
+ ld a, [$dc03]
and a
jr nz, .asm_1142d4
ld a, h
@@ -246,14 +248,14 @@ Function114269: ; 114269
ld a, h
cp $a
jr nz, .asm_1142ae
- ld a, [wdc03]
+ ld a, [$dc03]
and a
jr nz, .asm_11430d
- ld a, [wdc02]
+ ld a, [$dc02]
and a
jr nz, .asm_114309
ld a, $1
- ld [wdc02], a
+ ld [$dc02], a
inc e
call z, Function114333
dec bc
@@ -279,14 +281,14 @@ Function114269: ; 114269
.asm_114309
xor a
- ld [wdc02], a
+ ld [$dc02], a
.asm_11430d
- ld a, [wdc02]
+ ld a, [$dc02]
and a
jr nz, .asm_1142fe
ld a, $1
- ld [wdc03], a
+ ld [$dc03], a
inc e
call z, Function114333
dec bc
@@ -299,16 +301,18 @@ Function114269: ; 114269
cp $2e
jp nz, .asm_114282
ld a, $1
- ld [wdc02], a
+ ld [$dc02], a
jp .asm_11429b
+
; 114333
Function114333: ; 114333
push bc
- ld bc, wdc00
+ ld bc, $dc00
call Function115d80
pop bc
ret
+
; 11433c
Function11433c: ; 11433c
@@ -343,7 +347,7 @@ Function11433c: ; 11433c
.asm_114360
ld a, h
- ld [wdc03], a
+ ld [$dc03], a
pop hl
push bc
push de
@@ -368,14 +372,14 @@ Function11433c: ; 11433c
.asm_114381
pop de
pop bc
- ld a, [wdc03]
- ld [wdc00], a
+ ld a, [$dc03]
+ ld [$dc00], a
ld [hFF8C], a
ld [MBC3SRamBank], a
call Function114c0b
ld hl, String_114004
.asm_114394
- ld de, wdc24
+ ld de, $dc24
.asm_114397
ld a, [hli]
and a
@@ -402,6 +406,7 @@ Function11433c: ; 11433c
xor a
ld b, $1
jp Function11425c
+
; 1143b7
Function1143b7: ; 1143b7
@@ -453,6 +458,7 @@ Function1143b7: ; 1143b7
ld a, $1
pop hl
jp Function11425c
+
; 1143f3
Function1143f3: ; 1143f3
@@ -481,11 +487,12 @@ Function1143f3: ; 1143f3
ld a, $1
ld b, $84
ret
+
; 114412
Function114412: ; 114412
ld a, c
- ld [wdc00], a
+ ld [$dc00], a
ld [hFF8C], a
ld [MBC3SRamBank], a
ld hl, Unknown_11417f
@@ -520,8 +527,8 @@ Function114412: ; 114412
jr z, .asm_1144b8
.asm_11444a
- ld a, [wdc00]
- ld [wdc02], a
+ ld a, [$dc00]
+ ld [$dc02], a
ld a, [de]
and a
jr z, .asm_1144c2
@@ -587,7 +594,7 @@ Function114412: ; 114412
jr z, .asm_114486
ld d, h
ld e, l
- ld a, [wdc02]
+ ld a, [$dc02]
ld h, a
xor a
ret
@@ -611,14 +618,16 @@ Function114412: ; 114412
ld [hl], a
ld a, $1
ret
+
; 1144c8
Function1144c8: ; 1144c8
push bc
- ld bc, wdc00
+ ld bc, $dc00
call Function115d80
pop bc
ret
+
; 1144d1
Function1144d1: ; 1144d1
@@ -644,10 +653,10 @@ endr
ld [hl], a
xor a
ld [BigDoll], a
- ld [wdc17], a
+ ld [$dc17], a
ld a, $2
- ld [wdc0e], a
- ld hl, wdc03
+ ld [$dc0e], a
+ ld hl, $dc03
ld c, [hl]
inc hl
ld e, [hl]
@@ -659,7 +668,7 @@ endr
and a
jr z, .asm_114511
ld a, $1
- ld [wdc0d], a
+ ld [$dc0d], a
call Function1146fa
and a
jr nz, .asm_11455b
@@ -670,7 +679,7 @@ endr
and a
jr nz, .asm_11455b
ld a, $2
- ld [wdc0d], a
+ ld [$dc0d], a
.asm_11451c
pop hl
@@ -681,7 +690,7 @@ endr
ld e, [hl]
inc hl
ld d, [hl]
- ld a, [wdc0d]
+ ld a, [$dc0d]
ld [de], a
ld b, $0
ld a, [BigDoll]
@@ -690,12 +699,12 @@ endr
ld b, $1
.asm_114537
- ld hl, wdc06
+ ld hl, $dc06
ld a, [hl]
ld [wCurrentMapSignpostCount], a
ld [hFF8C], a
ld [MBC3SRamBank], a
- ld hl, wdc09
+ ld hl, $dc09
ld e, [hl]
inc hl
ld d, [hl]
@@ -718,10 +727,11 @@ endr
pop hl
ld a, $1
jp Function11425c
+
; 114561
Function114561: ; 114561
- ld hl, wdc03
+ ld hl, $dc03
ld a, [de]
ld [hli], a
inc de
@@ -740,6 +750,7 @@ Function114561: ; 114561
ld a, [de]
ld [hl], a
ret
+
; 114576
Function114576: ; 114576
@@ -752,13 +763,13 @@ Function114576: ; 114576
and a
jr nz, .asm_1145b4
ld a, h
- ld [wdc00], a
+ ld [$dc00], a
ld [hFF8C], a
ld [MBC3SRamBank], a
push hl
push de
push bc
- ld hl, wdc24
+ ld hl, $dc24
call Function115d53
call Function1145c5
pop bc
@@ -770,7 +781,7 @@ Function114576: ; 114576
and a
jr nz, .asm_1145ba
ld a, h
- ld [wdc00], a
+ ld [$dc00], a
ld [hFF8C], a
ld [MBC3SRamBank], a
ld hl, String_114218
@@ -795,10 +806,11 @@ Function114576: ; 114576
ld a, $1
ld [Bed], a
ret
+
; 1145c5
Function1145c5: ; 1145c5
- ld hl, wdc24
+ ld hl, $dc24
ld de, String_11421e
ld c, $0
.asm_1145cd
@@ -888,10 +900,11 @@ Function1145c5: ; 1145c5
ld [PartyMon5Defense], a
xor a
ret
+
; 11463c
Function11463c: ; 11463c
- ld a, [wdc00]
+ ld a, [$dc00]
push af
push de
ld hl, $ddc8
@@ -944,30 +957,32 @@ Function11463c: ; 11463c
.asm_11468a
pop de
pop af
- ld [wdc00], a
+ ld [$dc00], a
ld [hFF8C], a
ld [MBC3SRamBank], a
xor a
ld [Carpet], a
ld a, $1
ret
+
; 11469b
Function11469b: ; 11469b
push bc
- ld bc, wdc00
+ ld bc, $dc00
call Function115d80
pop bc
ret
+
; 1146a4
Function1146a4: ; 1146a4
call Function114867
and a
jr nz, .asm_1146e4
- ld hl, wdc03
+ ld hl, $dc03
ld a, [hli]
- ld [wdc00], a
+ ld [$dc00], a
ld [hFF8C], a
ld [MBC3SRamBank], a
ld e, [hl]
@@ -979,9 +994,9 @@ Function1146a4: ; 1146a4
call Function1148c2
and a
jr nz, .asm_1146e4
- ld hl, wdc03
+ ld hl, $dc03
ld a, [hli]
- ld [wdc00], a
+ ld [$dc00], a
ld [hFF8C], a
ld [MBC3SRamBank], a
ld e, [hl]
@@ -1005,7 +1020,7 @@ endr
jr .asm_1146f7
.asm_1146e8
- ld a, [wdc17]
+ ld a, [$dc17]
and a
jr z, .asm_1146f5
ld a, $1
@@ -1018,15 +1033,16 @@ endr
.asm_1146f7
ld a, $1
ret
+
; 1146fa
Function1146fa: ; 1146fa
call Function114867
and a
jp nz, .asm_11478a
- ld hl, wdc03
+ ld hl, $dc03
ld a, [hli]
- ld [wdc00], a
+ ld [$dc00], a
ld [hFF8C], a
ld [MBC3SRamBank], a
ld e, [hl]
@@ -1039,8 +1055,8 @@ Function1146fa: ; 1146fa
and a
jp nz, .asm_11478a
ld a, $1
- ld [wdc0e], a
- ld a, [wdc00]
+ ld [$dc0e], a
+ ld a, [$dc00]
ld [hFF8C], a
ld [MBC3SRamBank], a
ld a, $1
@@ -1052,7 +1068,7 @@ Function1146fa: ; 1146fa
call Function114843
cp $1
jr nz, .asm_114749
- ld a, [wdc17]
+ ld a, [$dc17]
and a
jr z, .asm_114794
ld a, $1
@@ -1065,9 +1081,9 @@ Function1146fa: ; 1146fa
ld a, [BigDoll]
and a
jr nz, .asm_114786
- ld hl, wdc03
+ ld hl, $dc03
ld a, [hli]
- ld [wdc00], a
+ ld [$dc00], a
ld [hFF8C], a
ld [MBC3SRamBank], a
ld e, [hl]
@@ -1076,7 +1092,7 @@ Function1146fa: ; 1146fa
call Function1147cd
and a
jr nz, .asm_1147b7
- ld a, [wdc0e]
+ ld a, [$dc0e]
cp $3
jr nz, .asm_114773
rept 2
@@ -1087,9 +1103,9 @@ endr
call Function1149cc
and a
jr nz, .asm_11478a
- ld a, [wdc0d]
+ ld a, [$dc0d]
inc a
- ld [wdc0d], a
+ ld [$dc0d], a
ld a, [BigDoll]
and a
jr z, .asm_114799
@@ -1103,7 +1119,7 @@ endr
jr .asm_114796
.asm_11478e
- ld a, [wdc17]
+ ld a, [$dc17]
and a
jr nz, .asm_114796
@@ -1120,9 +1136,9 @@ endr
jr z, .asm_114737
jr .asm_1147cb
- ld hl, wdc03
+ ld hl, $dc03
ld a, [hli]
- ld [wdc00], a
+ ld [$dc00], a
ld [hFF8C], a
ld [MBC3SRamBank], a
call Function114a7a
@@ -1132,12 +1148,12 @@ endr
ld [BigDoll], a
.asm_1147b7
- ld a, [wdc17]
+ ld a, [$dc17]
and a
jr z, .asm_114794
ld a, $1
ld [BigDoll], a
- ld a, [wdc0d]
+ ld a, [$dc0d]
cp $1
jr nz, .asm_114773
ld b, $1
@@ -1145,6 +1161,7 @@ endr
.asm_1147cb
xor a
ret
+
; 1147cd
Function1147cd: ; 1147cd
@@ -1217,23 +1234,25 @@ Function1147cd: ; 1147cd
and a
jr nz, .asm_114837
ld a, $1
- ld [wdc17], a
+ ld [$dc17], a
.asm_114837
ld a, $1
ret
+
; 11483a
Function11483a: ; 11483a
push bc
- ld bc, wdc00
+ ld bc, $dc00
call Function115d80
pop bc
ret
+
; 114843
Function114843: ; 114843
- ld a, [wdc00]
+ ld a, [$dc00]
push af
push de
ld [hFF8C], a
@@ -1243,7 +1262,7 @@ Function114843: ; 114843
jr nz, .asm_11485f
pop de
pop af
- ld [wdc00], a
+ ld [$dc00], a
ld hl, String_114218
call Function114acf
ret
@@ -1251,13 +1270,14 @@ Function114843: ; 114843
.asm_11485f
pop de
pop af
- ld [wdc00], a
+ ld [$dc00], a
ld a, $1
ret
+
; 114867
Function114867: ; 114867
- ld hl, wdc06
+ ld hl, $dc06
ld a, [hli]
ld [wCurrentMapSignpostCount], a
ld [hFF8C], a
@@ -1273,7 +1293,7 @@ Function114867: ; 114867
ld [de], a
inc e
call z, Function1148b9
- ld hl, wdc03
+ ld hl, $dc03
ld a, [hli]
ld [de], a
inc e
@@ -1286,7 +1306,7 @@ Function114867: ; 114867
ld [de], a
inc e
call z, Function1148b9
- ld hl, wdc06
+ ld hl, $dc06
ld a, [wCurrentMapSignpostCount]
ld [hli], a
ld [hl], e
@@ -1313,6 +1333,7 @@ Function114867: ; 114867
.asm_1148b6
ld a, $1
ret
+
; 1148b9
Function1148b9: ; 1148b9
@@ -1321,10 +1342,11 @@ Function1148b9: ; 1148b9
call Function115d80
pop bc
ret
+
; 1148c2
Function1148c2: ; 1148c2
- ld hl, wdc06
+ ld hl, $dc06
ld a, [hli]
ld [wCurrentMapSignpostCount], a
ld [hFF8C], a
@@ -1340,7 +1362,7 @@ Function1148c2: ; 1148c2
ld [de], a
inc e
call z, Function114944
- ld a, [wdc0e]
+ ld a, [$dc0e]
ld [de], a
inc e
call z, Function114944
@@ -1365,7 +1387,7 @@ Function1148c2: ; 1148c2
call z, Function114944
.asm_114904
- ld hl, wdc03
+ ld hl, $dc03
ld a, [hli]
ld [de], a
inc e
@@ -1378,7 +1400,7 @@ Function1148c2: ; 1148c2
ld [de], a
inc e
call z, Function114944
- ld hl, wdc06
+ ld hl, $dc06
ld a, [wCurrentMapSignpostCount]
ld [hli], a
ld [hl], e
@@ -1388,7 +1410,7 @@ Function1148c2: ; 1148c2
ld c, [hl]
inc hl
ld b, [hl]
- ld a, [wdc0e]
+ ld a, [$dc0e]
cp $3
jr z, .asm_114932
ld d, $6
@@ -1413,6 +1435,7 @@ Function1148c2: ; 1148c2
.asm_114941
ld a, $1
ret
+
; 114944
Function114944: ; 114944
@@ -1421,10 +1444,11 @@ Function114944: ; 114944
call Function115d80
pop bc
ret
+
; 11494d
Function11494d: ; 11494d
- ld hl, wdc06
+ ld hl, $dc06
ld a, [hli]
ld [wCurrentMapSignpostCount], a
ld [hFF8C], a
@@ -1432,7 +1456,7 @@ Function11494d: ; 11494d
ld e, [hl]
inc hl
ld d, [hl]
- ld a, [wdc0e]
+ ld a, [$dc0e]
ld [de], a
inc e
call z, Function1149c3
@@ -1457,7 +1481,7 @@ Function11494d: ; 11494d
call z, Function1149c3
.asm_114983
- ld hl, wdc03
+ ld hl, $dc03
ld a, [hli]
ld [de], a
inc e
@@ -1470,7 +1494,7 @@ Function11494d: ; 11494d
ld [de], a
inc e
call z, Function1149c3
- ld hl, wdc06
+ ld hl, $dc06
ld a, [wCurrentMapSignpostCount]
ld [hli], a
ld [hl], e
@@ -1480,7 +1504,7 @@ Function11494d: ; 11494d
ld c, [hl]
inc hl
ld b, [hl]
- ld a, [wdc0e]
+ ld a, [$dc0e]
cp $3
jr z, .asm_1149b1
ld d, $4
@@ -1505,6 +1529,7 @@ Function11494d: ; 11494d
.asm_1149c0
ld a, $1
ret
+
; 1149c3
Function1149c3: ; 1149c3
@@ -1513,16 +1538,17 @@ Function1149c3: ; 1149c3
call Function115d80
pop bc
ret
+
; 1149cc
Function1149cc: ; 1149cc
- ld hl, wdc06
+ ld hl, $dc06
ld a, [hl]
ld [wCurrentMapSignpostCount], a
ld [hFF8C], a
ld [MBC3SRamBank], a
push de
- ld hl, wdc09
+ ld hl, $dc09
ld e, [hl]
inc hl
ld d, [hl]
@@ -1549,7 +1575,7 @@ Function1149cc: ; 1149cc
ld [de], a
inc e
call z, Function114a0f
- ld hl, wdc06
+ ld hl, $dc06
ld a, [wCurrentMapSignpostCount]
ld [hli], a
ld [hl], e
@@ -1563,6 +1589,7 @@ Function1149cc: ; 1149cc
pop de
ld a, $1
ret
+
; 114a0f
Function114a0f: ; 114a0f
@@ -1571,6 +1598,7 @@ Function114a0f: ; 114a0f
call Function115d80
pop bc
ret
+
; 114a18
Function114a18: ; 114a18
@@ -1612,8 +1640,8 @@ Function114a18: ; 114a18
dec bc
.asm_114a52
- ld hl, wdc03
- ld a, [wdc00]
+ ld hl, $dc03
+ ld a, [$dc00]
ld [hli], a
ld [hl], e
inc hl
@@ -1633,19 +1661,21 @@ Function114a18: ; 114a18
and a
jr nz, .asm_114a6e
ld a, $1
- ld [wdc17], a
+ ld [$dc17], a
.asm_114a6e
ld a, $1
ret
+
; 114a71
Function114a71: ; 114a71
push bc
- ld bc, wdc00
+ ld bc, $dc00
call Function115d80
pop bc
ret
+
; 114a7a
Function114a7a: ; 114a7a
@@ -1680,8 +1710,8 @@ Function114a7a: ; 114a7a
jr nz, .asm_114abb
inc e
call z, Function114ac6
- ld hl, wdc03
- ld a, [wdc00]
+ ld hl, $dc03
+ ld a, [$dc00]
ld [hli], a
ld [hl], e
inc hl
@@ -1693,19 +1723,21 @@ Function114a7a: ; 114a7a
and a
jr nz, .asm_114ac3
ld a, $1
- ld [wdc17], a
+ ld [$dc17], a
.asm_114ac3
ld a, $1
ret
+
; 114ac6
Function114ac6: ; 114ac6
push bc
- ld bc, wdc00
+ ld bc, $dc00
call Function115d80
pop bc
ret
+
; 114acf
Function114acf: ; 114acf
@@ -1735,7 +1767,7 @@ Function114acf: ; 114acf
jr nz, .asm_114ad1
.asm_114aec
ld a, $2
- ld [wdc0e], a
+ ld [$dc0e], a
pop bc
pop hl
ret
@@ -1783,7 +1815,7 @@ Function114acf: ; 114acf
.asm_114b26
ld hl, Plant
- ld a, [wdc00]
+ ld a, [$dc00]
ld [hli], a
ld [hl], e
inc hl
@@ -1806,29 +1838,31 @@ Function114acf: ; 114acf
pop bc
pop hl
ld a, $3
- ld [wdc0e], a
+ ld [$dc0e], a
xor a
ret
+
; 114b4c
Function114b4c: ; 114b4c
push bc
- ld bc, wdc00
+ ld bc, $dc00
call Function115d80
pop bc
ret
+
; 114b55
Function114b55: ; 114b55
call Function114561
ld b, $0
- ld hl, wdc03
+ ld hl, $dc03
ld c, [hl]
inc hl
ld e, [hl]
inc hl
ld d, [hl]
- ld hl, wdc24
+ ld hl, $dc24
.asm_114b65
push de
push bc
@@ -1871,7 +1905,7 @@ endr
jr .asm_114b82
.asm_114b96
- ld hl, wdc06
+ ld hl, $dc06
ld a, [hli]
ld [wCurrentMapSignpostCount], a
ld [hFF8C], a
@@ -1881,7 +1915,7 @@ endr
ld d, [hl]
inc hl
ld bc, $004e
- ld hl, wdc24
+ ld hl, $dc24
call Function115d6a
jp Function11425c
@@ -1892,6 +1926,7 @@ endr
pop bc
ld b, $82
jp Function11425c
+
; 114bbc
Function114bbc: ; 114bbc
@@ -1912,11 +1947,11 @@ Function114bbc: ; 114bbc
and a
jr nz, .asm_114bff
ld a, h
- ld [wdc00], a
+ ld [$dc00], a
ld [hFF8C], a
ld [MBC3SRamBank], a
call Function114c0b
- ld hl, wdc24
+ ld hl, $dc24
call Function114c5e
ld a, b
or c
@@ -1929,7 +1964,7 @@ Function114bbc: ; 114bbc
ld a, [hli]
ld e, a
ld d, [hl]
- ld hl, wdc24
+ ld hl, $dc24
push bc
call Function115d6a
pop hl
@@ -1946,14 +1981,15 @@ Function114bbc: ; 114bbc
ld a, $1
pop hl
jp Function11425c
+
; 114c0b
Function114c0b: ; 114c0b
- ld hl, wdc24
+ ld hl, $dc24
push bc
call Function115d53
pop bc
- ld hl, wdc24
+ ld hl, $dc24
ld d, h
ld e, l
.asm_114c18
@@ -1969,7 +2005,7 @@ Function114c0b: ; 114c0b
.asm_114c24
xor a
ld [de], a
- ld hl, wdc24
+ ld hl, $dc24
ld bc, NULL
.asm_114c2c
ld a, [hli]
@@ -2005,14 +2041,16 @@ Function114c0b: ; 114c0b
or c
jr z, .asm_114c24
jr .asm_114c18
+
; 114c55
Function114c55: ; 114c55
push bc
- ld bc, wdc00
+ ld bc, $dc00
call Function115d80
pop bc
ret
+
; 114c5e
Function114c5e: ; 114c5e
@@ -2057,9 +2095,9 @@ rept 2
dec bc
endr
ld a, l
- ld [wdc03], a
+ ld [$dc03], a
ld a, h
- ld [wdc04], a
+ ld [$dc04], a
pop hl
push de
call Function115c49
@@ -2078,9 +2116,9 @@ endr
ld a, b
or c
jr nz, .asm_114ca6
- ld a, [wdc03]
+ ld a, [$dc03]
ld l, a
- ld a, [wdc04]
+ ld a, [$dc04]
ld h, a
jr .asm_114c62
@@ -2115,6 +2153,7 @@ endr
.asm_114cd7
dec bc
ret
+
; 114cd9
Function114cd9: ; 114cd9
@@ -2132,15 +2171,15 @@ Function114cd9: ; 114cd9
call Function1143f3
and a
jr nz, .asm_114d33
- ld [wdc03], a
- ld [wdc04], a
+ ld [$dc03], a
+ ld [$dc04], a
ld a, h
- ld [wdc00], a
+ ld [$dc00], a
ld [hFF8C], a
ld [MBC3SRamBank], a
- ld hl, wdc24
+ ld hl, $dc24
call Function114d39
- ld hl, wdc24
+ ld hl, $dc24
call Function114d99
pop hl
push hl
@@ -2181,11 +2220,12 @@ endr
pop hl
ld a, $1
jp Function11425c
+
; 114d39
Function114d39: ; 114d39
.asm_114d39
- ld a, [wdc04]
+ ld a, [$dc04]
and a
jr nz, .asm_114d4a
ld a, [de]
@@ -2204,27 +2244,27 @@ Function114d39: ; 114d39
jr .asm_114d84
.asm_114d55
- ld [wdc03], a
+ ld [$dc03], a
ld a, $1
- ld [wdc04], a
+ ld [$dc04], a
jr .asm_114d84
.asm_114d5f
- ld a, [wdc03]
+ ld a, [$dc03]
cp $28
jr nz, .asm_114d84
xor a
- ld [wdc03], a
- ld [wdc04], a
+ ld [$dc03], a
+ ld [$dc04], a
jr .asm_114d84
.asm_114d6f
- ld a, [wdc03]
+ ld a, [$dc03]
cp $22
jr nz, .asm_114d84
xor a
- ld [wdc03], a
- ld [wdc04], a
+ ld [$dc03], a
+ ld [$dc04], a
jr .asm_114d84
.asm_114d7f
@@ -2240,7 +2280,7 @@ Function114d39: ; 114d39
inc e
jr nz, .asm_114d39
push bc
- ld bc, wdc00
+ ld bc, $dc00
call Function115d80
pop bc
jr .asm_114d39
@@ -2249,6 +2289,7 @@ Function114d39: ; 114d39
xor a
ld [hli], a
ret
+
; 114d99
Function114d99: ; 114d99
@@ -2324,6 +2365,7 @@ rept 2
endr
xor a
ret
+
; 114df1
Function114df1: ; 114df1
@@ -2374,6 +2416,7 @@ Function114df1: ; 114df1
.asm_114e2b
xor a
ret
+
; 114e2d
Function114e2d: ; 114e2d
@@ -2410,6 +2453,7 @@ Function114e2d: ; 114e2d
jr z, .asm_114e55
xor a
ret
+
; 114e62
Function114e62: ; 114e62
@@ -2435,7 +2479,7 @@ Function114e62: ; 114e62
call Function114ea0
and a
jr nz, .asm_114e99
- ld hl, wdc09
+ ld hl, $dc09
ld a, [hli]
cpl
ld e, a
@@ -2454,10 +2498,11 @@ Function114e62: ; 114e62
ld a, $1
ld b, $83
jp Function11425c
+
; 114ea0
Function114ea0: ; 114ea0
- ld hl, wdc06
+ ld hl, $dc06
ld a, [hli]
ld [wCurrentMapSignpostCount], a
ld [hFF8C], a
@@ -2483,7 +2528,7 @@ Function114ea0: ; 114ea0
dec bc
inc e
call z, Function114ee0
- ld hl, wdc06
+ ld hl, $dc06
ld a, [wCurrentMapSignpostCount]
ld [hli], a
ld a, e
@@ -2501,6 +2546,7 @@ Function114ea0: ; 114ea0
ld a, $1
ld b, $83
ret
+
; 114ee0
Function114ee0: ; 114ee0
@@ -2509,10 +2555,11 @@ Function114ee0: ; 114ee0
call Function115d80
pop bc
ret
+
; 114ee9
Function114ee9: ; 114ee9
- ld hl, wdc03
+ ld hl, $dc03
ld a, b
ld [hli], a
ld a, c
@@ -2544,13 +2591,14 @@ endr
ld [hli], a
ld [hl], d
ret
+
; 114f0a
Function114f0a: ; 114f0a
call Function114f39
and a
jr nz, .asm_114f26
- ld a, [wdc03]
+ ld a, [$dc03]
cp $6
jr c, .asm_114f21
cp $c
@@ -2571,7 +2619,7 @@ Function114f0a: ; 114f0a
call Function114f59
and a
jr nz, .asm_114f23
- ld hl, wdc0d
+ ld hl, $dc0d
ld e, [hl]
inc hl
ld d, [hl]
@@ -2580,10 +2628,11 @@ Function114f0a: ; 114f0a
jr z, .asm_114f21
ld a, $ff
ret
+
; 114f39
Function114f39: ; 114f39
- ld hl, wdc0d
+ ld hl, $dc0d
ld e, [hl]
inc hl
ld d, [hl]
@@ -2602,7 +2651,7 @@ Function114f39: ; 114f39
ld a, [de]
ld [hli], a
inc de
- ld hl, wdc0d
+ ld hl, $dc0d
ld [hl], e
inc hl
ld [hl], d
@@ -2611,13 +2660,14 @@ Function114f39: ; 114f39
.asm_114f58
ret
+
; 114f59
Function114f59: ; 114f59
ld a, [wStartDay]
and a
jr nz, .asm_114f7c
- ld a, [wdc03]
+ ld a, [$dc03]
cp $11
jr z, .asm_114fa7
add a
@@ -2635,7 +2685,7 @@ Function114f59: ; 114f59
ld [wStartDay], a
.asm_114f7c
- ld a, [wdc03]
+ ld a, [$dc03]
cp $5
jr c, .asm_114fc9
jr z, .asm_114fec
@@ -2665,15 +2715,15 @@ Function114f59: ; 114f59
ld c, [hl]
inc hl
ld a, [hli]
- ld [wdc00], a
+ ld [$dc00], a
ld [hFF8C], a
ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
- ld hl, wdc24
+ ld hl, $dc24
call Function115d53
- ld hl, wdc24
+ ld hl, $dc24
call Function115020
and a
jr nz, .asm_114fe7
@@ -2683,9 +2733,9 @@ Function114f59: ; 114f59
call Function115062
and a
jr nz, .asm_114fe7
- ld a, [wdc04]
+ ld a, [$dc04]
dec a
- ld [wdc04], a
+ ld [$dc04], a
and a
jr z, .asm_114fdf
call Function114f39
@@ -2693,8 +2743,8 @@ Function114f59: ; 114f59
jr nz, .asm_114fc9
.asm_114fdf
- ld a, [wdc05]
- ld [wdc04], a
+ ld a, [$dc05]
+ ld [$dc04], a
jr .asm_11501e
.asm_114fe7
@@ -2723,7 +2773,7 @@ Function114f59: ; 114f59
.asm_115007
call Function11528f
- ld hl, wdc24
+ ld hl, $dc24
call Function115217
and a
jr nz, .asm_114fe7
@@ -2738,11 +2788,12 @@ Function114f59: ; 114f59
.asm_11501e
xor a
ret
+
; 115020
Function115020: ; 115020
push hl
- ld hl, wdc06
+ ld hl, $dc06
ld a, [hli]
ld [wCurrentMapSignpostCount], a
ld [hFF8C], a
@@ -2770,7 +2821,7 @@ Function115020: ; 115020
jr .asm_115036
.asm_115046
- ld hl, wdc06
+ ld hl, $dc06
ld a, [wCurrentMapSignpostCount]
ld [hli], a
ld a, e
@@ -2786,6 +2837,7 @@ Function115020: ; 115020
.asm_115056
ld a, $1
ret
+
; 115059
Function115059: ; 115059
@@ -2794,6 +2846,7 @@ Function115059: ; 115059
call Function115d80
pop bc
ret
+
; 115062
Function115062: ; 115062
@@ -2803,14 +2856,14 @@ Function115062: ; 115062
jr z, .asm_1150ae
ld c, a
ld a, [hli]
- ld [wdc00], a
+ ld [$dc00], a
ld [hFF8C], a
ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
ld b, $0
- ld hl, wdc24
+ ld hl, $dc24
ld a, [wStartDay]
cp $1
jr z, .asm_11509b
@@ -2848,10 +2901,11 @@ Function115062: ; 115062
.asm_1150b2
ret
+
; 1150b3
Function1150b3: ; 1150b3
- ld hl, wdc24
+ ld hl, $dc24
ld de, PartyMon5Defense
ld b, $0
.asm_1150bb
@@ -2952,10 +3006,11 @@ endr
xor a
ld [de], a
ret
+
; 115136
Function115136: ; 115136
- ld hl, wdc06
+ ld hl, $dc06
ld a, [hli]
ld [wCurrentMapSignpostCount], a
ld [hFF8C], a
@@ -2983,7 +3038,7 @@ Function115136: ; 115136
jr .asm_11514d
.asm_11515d
- ld hl, wdc06
+ ld hl, $dc06
ld a, [wCurrentMapSignpostCount]
ld [hli], a
ld a, e
@@ -2999,6 +3054,7 @@ Function115136: ; 115136
.asm_11516d
ld a, $1
ret
+
; 115170
Function115170: ; 115170
@@ -3007,10 +3063,11 @@ Function115170: ; 115170
call Function115d80
pop bc
ret
+
; 115179
Function115179: ; 115179
- ld hl, wdc06
+ ld hl, $dc06
ld a, [hli]
ld [wCurrentMapSignpostCount], a
ld [hFF8C], a
@@ -3106,7 +3163,7 @@ Function115179: ; 115179
jr z, .asm_1151ef
inc e
call z, Function11520e
- ld hl, wdc06
+ ld hl, $dc06
ld a, [wCurrentMapSignpostCount]
ld [hli], a
ld a, e
@@ -3118,6 +3175,7 @@ Function115179: ; 115179
ld [hl], b
xor a
ret
+
; 11520e
Function11520e: ; 11520e
@@ -3126,11 +3184,12 @@ Function11520e: ; 11520e
call Function115d80
pop bc
ret
+
; 115217
Function115217: ; 115217
push hl
- ld hl, wdc06
+ ld hl, $dc06
ld a, [hli]
ld [wCurrentMapSignpostCount], a
ld [hFF8C], a
@@ -3158,7 +3217,7 @@ Function115217: ; 115217
jr .asm_11522d
.asm_11523d
- ld a, [wdc03]
+ ld a, [$dc03]
cp $b
jr z, .asm_115278
cp $c
@@ -3170,7 +3229,7 @@ Function115217: ; 115217
jr .asm_115262
.asm_115252
- ld hl, wdc06
+ ld hl, $dc06
ld a, [wCurrentMapSignpostCount]
ld [hli], a
ld a, e
@@ -3212,6 +3271,7 @@ Function115217: ; 115217
inc e
call z, Function115286
jr .asm_115252
+
; 115286
Function115286: ; 115286
@@ -3220,6 +3280,7 @@ Function115286: ; 115286
call Function115d80
pop bc
ret
+
; 11528f
Function11528f: ; 11528f
@@ -3227,14 +3288,14 @@ Function11528f: ; 11528f
ld c, [hl]
inc hl
ld a, [hli]
- ld [wdc00], a
+ ld [$dc00], a
ld [hFF8C], a
ld [MBC3SRamBank], a
ld a, [hli]
ld e, a
ld a, [hli]
ld d, a
- ld hl, wdc24
+ ld hl, $dc24
.asm_1152a4
ld a, [de]
ld [hli], a
@@ -3244,14 +3305,16 @@ Function11528f: ; 11528f
jr nz, .asm_1152a4
ld [hl], c
ret
+
; 1152af
Function1152af: ; 1152af
push bc
- ld bc, wdc00
+ ld bc, $dc00
call Function115d80
pop bc
ret
+
; 1152b8
Function1152b8: ; 1152b8
@@ -3268,12 +3331,12 @@ Function1152b8: ; 1152b8
and a
jr nz, .asm_1152f9
.asm_1152ca
- ld hl, wdc0d
+ ld hl, $dc0d
ld e, [hl]
inc hl
ld d, [hl]
.asm_1152d0
- ld a, [wdc03]
+ ld a, [$dc03]
cp $3
jr nz, .asm_1152d8
push de
@@ -3294,11 +3357,11 @@ Function1152b8: ; 1152b8
inc de
and a
jr nz, .asm_115301
- ld a, [wdc03]
+ ld a, [$dc03]
cp $6
jr z, .asm_115335
inc a
- ld [wdc03], a
+ ld [$dc03], a
jr .asm_1152d0
.asm_1152f9
@@ -3308,29 +3371,29 @@ Function1152b8: ; 1152b8
jp Function11425c
.asm_115301
- ld hl, wdc0d
+ ld hl, $dc0d
ld [hl], e
inc hl
ld [hl], d
.asm_115307
- ld [wdc05], a
+ ld [$dc05], a
ld a, $1
- ld [wdc04], a
+ ld [$dc04], a
call Function1153b5
call Function114f59
and a
jr nz, .asm_1152f9
- ld a, [wdc05]
+ ld a, [$dc05]
dec a
jr nz, .asm_115307
- ld a, [wdc03]
+ ld a, [$dc03]
inc a
- ld [wdc03], a
+ ld [$dc03], a
call Function114ea0
and a
jr nz, .asm_1152f9
ld [wStartDay], a
- ld a, [wdc03]
+ ld a, [$dc03]
cp $6
jr nz, .asm_1152ca
@@ -3344,9 +3407,9 @@ Function1152b8: ; 1152b8
call Function114ea0
and a
jr nz, .asm_1152f9
- ld a, [wdc03]
+ ld a, [$dc03]
inc a
- ld [wdc03], a
+ ld [$dc03], a
cp $9
jr nz, .asm_115335
pop bc
@@ -3364,7 +3427,7 @@ Function1152b8: ; 1152b8
jr nz, .asm_1152f9
.asm_11536b
- ld hl, wdc09
+ ld hl, $dc09
ld a, [hli]
cpl
ld e, a
@@ -3378,10 +3441,11 @@ Function1152b8: ; 1152b8
add hl, de
xor a
jp Function11425c
+
; 11537d
Function11537d: ; 11537d
- ld hl, wdc06
+ ld hl, $dc06
ld a, [de]
ld [hli], a
inc de
@@ -3419,18 +3483,19 @@ Function11537d: ; 11537d
ld a, [de]
ld [hli], a
inc de
- ld hl, wdc0d
+ ld hl, $dc0d
ld [hl], e
inc hl
ld [hl], d
xor a
- ld [wdc03], a
+ ld [$dc03], a
ld [wStartDay], a
ret
+
; 1153b5
Function1153b5: ; 1153b5
- ld hl, wdc0d
+ ld hl, $dc0d
ld e, [hl]
inc hl
ld d, [hl]
@@ -3449,22 +3514,23 @@ endr
ld a, [de]
ld [Bed], a
inc de
- ld hl, wdc0d
+ ld hl, $dc0d
ld [hl], e
inc hl
ld [hl], d
ret
+
; 1153d2
Function1153d2: ; 1153d2
- ld a, [wdc03]
+ ld a, [$dc03]
ld d, a
- ld a, [wdc04]
+ ld a, [$dc04]
ld e, a
push de
xor a
- ld [wdc03], a
- ld [wdc04], a
+ ld [$dc03], a
+ ld [$dc04], a
ld a, $24
ld [Console], a
ld a, $dc
@@ -3482,7 +3548,7 @@ Function1153d2: ; 1153d2
push bc
.asm_1153f5
ld a, [hli]
- ld [wdc00], a
+ ld [$dc00], a
ld [hFF8C], a
ld [MBC3SRamBank], a
ld e, [hl]
@@ -3531,7 +3597,7 @@ Function1153d2: ; 1153d2
ld [LeftOrnament], a
xor a
ld [de], a
- ld hl, wdc24
+ ld hl, $dc24
.asm_11543d
ld a, [hli]
and a
@@ -3547,14 +3613,14 @@ Function1153d2: ; 1153d2
.asm_11544b
pop hl
ld a, h
- ld [wdc03], a
+ ld [$dc03], a
ld a, l
- ld [wdc04], a
+ ld [$dc04], a
ld a, $1
ret
.asm_115457
- ld hl, wdc24
+ ld hl, $dc24
call Function114d99
ld hl, $ddc8
.asm_115460
@@ -3636,11 +3702,12 @@ Function1153d2: ; 1153d2
ld d, a
pop hl
ld a, h
- ld [wdc03], a
+ ld [$dc03], a
ld a, l
- ld [wdc04], a
+ ld [$dc04], a
xor a
ret
+
; 1154d4
Function1154d4: ; 1154d4
@@ -3669,7 +3736,7 @@ Function1154d4: ; 1154d4
.asm_115502
ld a, $a
- ld [wdc03], a
+ ld [$dc03], a
call Function114f59
and a
jr z, .asm_11551a
@@ -3677,7 +3744,7 @@ Function1154d4: ; 1154d4
.asm_11550f
ld a, $c
- ld [wdc03], a
+ ld [$dc03], a
call Function114f59
and a
jr nz, .asm_11552c
@@ -3701,7 +3768,7 @@ Function1154d4: ; 1154d4
ld a, $1
ld [wDailyResetTimer], a
ld a, $b
- ld [wdc03], a
+ ld [$dc03], a
call Function114f59
and a
jr nz, .asm_11552c
@@ -3713,7 +3780,7 @@ Function1154d4: ; 1154d4
and a
jr nz, .asm_11552c
ld a, $e
- ld [wdc03], a
+ ld [$dc03], a
call Function114f59
and a
jr nz, .asm_11552c
@@ -3730,7 +3797,7 @@ Function1154d4: ; 1154d4
and a
jr z, .asm_11557d
ld a, $f
- ld [wdc03], a
+ ld [$dc03], a
call Function114f59
and a
jr nz, .asm_11552c
@@ -3742,14 +3809,14 @@ Function1154d4: ; 1154d4
.asm_11557d
ld a, $10
- ld [wdc03], a
+ ld [$dc03], a
call Function114f59
and a
jr nz, .asm_11552c
call Function114ea0
and a
jr nz, .asm_11552c
- ld hl, wdc09
+ ld hl, $dc09
ld a, [hli]
cpl
ld e, a
@@ -3772,10 +3839,11 @@ Function1154d4: ; 1154d4
jr z, .asm_115560
call Function1155d1
jr .asm_115547
+
; 1155af
Function1155af: ; 1155af
- ld hl, wdc06
+ ld hl, $dc06
ld a, [de]
ld [hli], a
inc de
@@ -3803,12 +3871,13 @@ Function1155af: ; 1155af
ld [hl], d
call Function1155d1
ret
+
; 1155d1
Function1155d1: ; 1155d1
- ld a, [wdc0d]
+ ld a, [$dc0d]
ld l, a
- ld a, [wdc0e]
+ ld a, [$dc0e]
ld h, a
ld a, [hli]
ld [BigDoll], a
@@ -3827,7 +3896,7 @@ Function1155d1: ; 1155d1
ld [Bed], a
.asm_1155f0
- ld de, wdc17
+ ld de, $dc17
ld a, [hli]
ld [de], a
inc de
@@ -3843,20 +3912,21 @@ Function1155d1: ; 1155d1
ld a, [hli]
ld [de], a
ld a, l
- ld [wdc0d], a
+ ld [$dc0d], a
ld a, h
- ld [wdc0e], a
+ ld [$dc0e], a
ret
+
; 11560a
Function11560a: ; 11560a
- ld a, [wdc06]
+ ld a, [$dc06]
ld [wCurrentMapSignpostCount], a
- ld a, [wdc17]
- ld [wdc00], a
+ ld a, [$dc17]
+ ld [$dc00], a
ld [hFF8C], a
ld [MBC3SRamBank], a
- ld hl, wdc1a
+ ld hl, $dc1a
ld c, [hl]
inc hl
ld b, [hl]
@@ -3864,7 +3934,7 @@ Function11560a: ; 11560a
cp b
jp c, .asm_1156b1
jr nz, .asm_115631
- ld a, [wdc09]
+ ld a, [$dc09]
cp c
jp c, .asm_1156b1
@@ -3872,7 +3942,7 @@ Function11560a: ; 11560a
ld a, b
or c
jr z, .asm_1156a9
- ld a, [wdc09]
+ ld a, [$dc09]
ld l, a
ld a, [wCurrMapCallbackCount]
ld h, a
@@ -3885,7 +3955,7 @@ Function11560a: ; 11560a
inc de
add hl, de
ld a, l
- ld [wdc09], a
+ ld [$dc09], a
ld a, h
ld [wCurrMapCallbackCount], a
.asm_11564d
@@ -3898,9 +3968,9 @@ Function11560a: ; 11560a
jr c, .asm_1156b6
.asm_115659
- ld a, [wdc1a]
+ ld a, [$dc1a]
ld e, a
- ld a, [wdc1b]
+ ld a, [$dc1b]
ld d, a
ld a, c
cpl
@@ -3911,15 +3981,15 @@ Function11560a: ; 11560a
inc hl
add hl, de
ld a, l
- ld [wdc1a], a
+ ld [$dc1a], a
ld a, h
- ld [wdc1b], a
+ ld [$dc1b], a
push bc
ld hl, $dc18
ld e, [hl]
inc hl
ld d, [hl]
- ld hl, wdc24
+ ld hl, $dc24
call Function115d53
ld hl, $dc18
ld [hl], e
@@ -3933,13 +4003,13 @@ Function11560a: ; 11560a
ld e, [hl]
inc hl
ld d, [hl]
- ld hl, wdc24
+ ld hl, $dc24
call Function115d6a
ld hl, wCurrMapTriggerCount
ld [hl], e
inc hl
ld [hl], d
- ld hl, wdc1a
+ ld hl, $dc1a
ld c, [hl]
inc hl
ld b, [hl]
@@ -3949,7 +4019,7 @@ Function11560a: ; 11560a
.asm_1156a9
ld a, [wCurrentMapSignpostCount]
- ld [wdc06], a
+ ld [$dc06], a
xor a
ret
@@ -3966,7 +4036,7 @@ Function11560a: ; 11560a
cpl
ld l, a
add hl, bc
- ld de, wdc1a
+ ld de, $dc1a
ld a, l
ld [de], a
inc de
@@ -3974,6 +4044,7 @@ Function11560a: ; 11560a
ld [de], a
ld bc, $03db
jr .asm_115659
+
; 1156cc
Function1156cc: ; 1156cc
@@ -4037,10 +4108,11 @@ Function1156cc: ; 1156cc
ld a, $1
ld b, $83
jp Function11425c
+
; 115732
Function115732: ; 115732
- ld hl, wdc02
+ ld hl, $dc02
ld a, [de]
ld [hli], a
inc de
@@ -4080,10 +4152,11 @@ Function115732: ; 115732
ld [hli], a
ld [hl], b
ret
+
; 11575c
Function11575c: ; 11575c
- ld hl, wdc05
+ ld hl, $dc05
ld a, [hli]
ld h, [hl]
ld l, a
@@ -4167,14 +4240,15 @@ Function11575c: ; 11575c
ld a, $2
ld [wStartDay], a
ret
+
; 1157d0
Function1157d0: ; 1157d0
- ld hl, wdc05
+ ld hl, $dc05
ld a, [hli]
ld h, [hl]
ld l, a
- ld a, [wdc0e]
+ ld a, [$dc0e]
ld c, a
ld a, [Bed]
ld b, a
@@ -4201,15 +4275,15 @@ Function1157d0: ; 1157d0
inc bc
add hl, bc
ld a, l
- ld [wdc05], a
+ ld [$dc05], a
ld a, h
- ld [wdc06], a
+ ld [$dc06], a
ld a, h
or l
jr nz, .asm_11580f
pop bc
ld a, c
- ld [wdc0e], a
+ ld [$dc0e], a
ld a, b
ld [Bed], a
ld a, $4
@@ -4219,41 +4293,42 @@ Function1157d0: ; 1157d0
.asm_11580f
pop bc
ld a, c
- ld [wdc0e], a
+ ld [$dc0e], a
ld a, b
ld [Bed], a
ld a, $3
ld [wStartDay], a
ret
+
; 11581e
Function11581e: ; 11581e
ld a, [wStartDay]
and a
ret z
- ld a, [wdc0e]
+ ld a, [$dc0e]
ld c, a
ld a, [Bed]
ld b, a
- ld hl, wdc02
+ ld hl, $dc02
ld a, [hli]
- ld [wdc00], a
+ ld [$dc00], a
ld [hFF8C], a
ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
- ld hl, wdc24
+ ld hl, $dc24
push bc
call Function115d53
pop bc
- ld hl, wdc02
- ld a, [wdc00]
+ ld hl, $dc02
+ ld a, [$dc00]
ld [hli], a
ld [hl], e
inc hl
ld [hl], d
- ld hl, wdc24
+ ld hl, $dc24
ld de, PartyMon5Defense
call Function1158c2
ld hl, PartyMon5Defense
@@ -4332,24 +4407,25 @@ Function11581e: ; 11581e
ld a, $ff
ld [wStartDay], a
ret
+
; 1158c2
Function1158c2: ; 1158c2
ld a, e
ld [SwarmFlags], a
ld a, d
- ld [wdc21], a
+ ld [$dc21], a
xor a
- ld [wdc22], a
+ ld [$dc22], a
xor a
ld [de], a
inc de
ld [de], a
inc de
ld a, c
- ld [wdc19], a
+ ld [$dc19], a
ld a, b
- ld [wdc1a], a
+ ld [$dc1a], a
ld c, e
ld b, d
ld e, l
@@ -4362,16 +4438,16 @@ Function1158c2: ; 1158c2
.asm_1158e5
ld b, $3
push hl
- ld hl, wdc1b
+ ld hl, $dc1b
.asm_1158eb
ld a, [de]
inc de
ld [hli], a
dec b
jr nz, .asm_1158eb
- ld a, [wdc19]
+ ld a, [$dc19]
ld c, a
- ld a, [wdc1a]
+ ld a, [$dc1a]
ld b, a
xor a
or b
@@ -4398,9 +4474,9 @@ rept 3
dec bc
endr
ld a, c
- ld [wdc19], a
+ ld [$dc19], a
ld a, b
- ld [wdc1a], a
+ ld [$dc1a], a
push de
push hl
ld hl, SwarmFlags
@@ -4470,20 +4546,20 @@ endr
inc bc
call Function1159dc
ld [hli], a
- ld a, [wdc22]
+ ld a, [$dc22]
inc a
cp $10
jr nz, .asm_1159b1
push af
push bc
- ld a, [wdc19]
+ ld a, [$dc19]
ld b, a
- ld a, [wdc1a]
+ ld a, [$dc1a]
or b
jr nz, .asm_115998
- ld a, [wdc05]
+ ld a, [$dc05]
ld b, a
- ld a, [wdc06]
+ ld a, [$dc06]
or b
jr nz, .asm_115998
pop bc
@@ -4515,11 +4591,11 @@ endr
xor a
.asm_1159b1
- ld [wdc22], a
- ld a, [wdc19]
+ ld [$dc22], a
+ ld a, [$dc19]
cp $0
jp nz, .asm_1158e5
- ld a, [wdc1a]
+ ld a, [$dc1a]
cp $0
jp nz, .asm_1158e5
@@ -4543,6 +4619,7 @@ endr
ld a, $0
ld [hl], a
ret
+
; 1159dc
Function1159dc: ; 1159dc
@@ -4572,6 +4649,7 @@ Function1159dc: ; 1159dc
.asm_1159f8
ld a, $2b
ret
+
; 1159fb
Function1159fb: ; 1159fb
@@ -4634,10 +4712,11 @@ Function1159fb: ; 1159fb
.asm_115a5a
ld a, $1
jp Function11425c
+
; 115a5f
Function115a5f: ; 115a5f
- ld hl, wdc05
+ ld hl, $dc05
ld a, [hli]
ld h, [hl]
ld l, a
@@ -4694,14 +4773,15 @@ Function115a5f: ; 115a5f
ld a, $2
ld [wStartDay], a
ret
+
; 115ab0
Function115ab0: ; 115ab0
- ld hl, wdc05
+ ld hl, $dc05
ld a, [hli]
ld h, [hl]
ld l, a
- ld a, [wdc0e]
+ ld a, [$dc0e]
ld c, a
ld a, [Bed]
ld b, a
@@ -4728,15 +4808,15 @@ Function115ab0: ; 115ab0
inc bc
add hl, bc
ld a, l
- ld [wdc05], a
+ ld [$dc05], a
ld a, h
- ld [wdc06], a
+ ld [$dc06], a
ld a, h
or l
jr nz, .asm_115af0
pop bc
ld a, c
- ld [wdc0e], a
+ ld [$dc0e], a
ld a, b
ld [Bed], a
ld a, $4
@@ -4747,26 +4827,27 @@ Function115ab0: ; 115ab0
.asm_115af0
pop bc
ld a, c
- ld [wdc0e], a
+ ld [$dc0e], a
ld a, b
ld [Bed], a
ld a, $3
ld [wStartDay], a
xor a
ret
+
; 115b00
Function115b00: ; 115b00
ld a, [wStartDay]
and a
ret z
- ld a, [wdc0e]
+ ld a, [$dc0e]
ld c, a
ld a, [Bed]
ld b, a
- ld hl, wdc02
+ ld hl, $dc02
ld a, [hli]
- ld [wdc00], a
+ ld [$dc00], a
ld [hFF8C], a
ld [MBC3SRamBank], a
ld e, [hl]
@@ -4811,16 +4892,16 @@ endr
add hl, bc
ld b, h
ld c, l
- ld hl, wdc02
- ld a, [wdc00]
+ ld hl, $dc02
+ ld a, [$dc00]
ld [hli], a
ld [hl], e
inc hl
ld [hl], d
ld hl, PartyMon5Defense
- ld de, wdc24
+ ld de, $dc24
call Function115c49
- ld hl, wdc24
+ ld hl, $dc24
ld c, [hl]
inc hl
ld b, [hl]
@@ -4861,7 +4942,7 @@ endr
ld e, [hl]
inc hl
ld d, [hl]
- ld hl, wdc26
+ ld hl, $dc26
call Function115d6a
ld hl, wCurrMapTriggerCount
ld a, [wCurrentMapSignpostCount]
@@ -4888,6 +4969,7 @@ endr
.asm_115bc6
xor a
ret
+
; 115bc8
Function115bc8: ; 115bc8
@@ -4981,7 +5063,7 @@ endr
.Function115c3d:
push bc
- ld bc, wdc00
+ ld bc, $dc00
call Function115d80
pop bc
ret
@@ -4989,6 +5071,7 @@ endr
.asm_115c46
ld a, $2
ret
+
; 115c49
Function115c49: ; 115c49
@@ -5003,9 +5086,9 @@ Function115c49: ; 115c49
inc de
ld a, c
- ld [wdc19], a
+ ld [$dc19], a
ld a, b
- ld [wdc1a], a
+ ld [$dc1a], a
ld c, e
ld b, d
ld e, l
@@ -5014,17 +5097,17 @@ Function115c49: ; 115c49
ld h, b
.asm_115c64
- ld a, [wdc1a]
+ ld a, [$dc1a]
or a
jr nz, .asm_115c71
- ld a, [wdc19]
+ ld a, [$dc19]
cp $4
jr c, .asm_115c99
.asm_115c71
ld b, $4
push hl
- ld hl, wdc1b
+ ld hl, $dc1b
.asm_115c77
ld a, [de]
inc de
@@ -5032,9 +5115,9 @@ Function115c49: ; 115c49
ld [hli], a
dec b
jr nz, .asm_115c77
- ld a, [wdc19]
+ ld a, [$dc19]
ld c, a
- ld a, [wdc1a]
+ ld a, [$dc1a]
ld b, a
rept 4
dec bc
@@ -5058,9 +5141,9 @@ endr
.asm_115c9f
ld a, c
- ld [wdc19], a
+ ld [$dc19], a
ld a, b
- ld [wdc1a], a
+ ld [$dc1a], a
push de
push hl
ld hl, WeeklyFlags
@@ -5120,13 +5203,14 @@ endr
inc bc
ld a, [bc]
ld [hli], a
- ld a, [wdc19]
+ ld a, [$dc19]
cp $0
jp nz, .asm_115c64
- ld a, [wdc1a]
+ ld a, [$dc1a]
cp $0
jp nz, .asm_115c64
ret
+
; 115cfd
Function115cfd: ; 115cfd
@@ -5197,6 +5281,7 @@ Function115cfd: ; 115cfd
.asm_115d50
sub $47
ret
+
; 115d53
Function115d53: ; 115d53
@@ -5212,14 +5297,16 @@ Function115d53: ; 115d53
xor a
ld [hl], a
ret
+
; 115d61
Function115d61: ; 115d61
push bc
- ld bc, wdc00
+ ld bc, $dc00
call Function115d80
pop bc
ret
+
; 115d6a
Function115d6a: ; 115d6a
@@ -5234,6 +5321,7 @@ Function115d6a: ; 115d6a
jr nz, .asm_115d6a
xor a
ret
+
; 115d77
Function115d77: ; 115d77
@@ -5242,6 +5330,7 @@ Function115d77: ; 115d77
call Function115d80
pop bc
ret
+
; 115d80
Function115d80: ; 115d80
@@ -5264,915 +5353,11 @@ Function115d80: ; 115d80
ld d, $a0
ld e, $0
ret
-; 115d99
-
-Function115d99: ; 115d99
- ld de, GFX_11601a
- ld hl, VTiles0 tile $60
- lb bc, BANK(GFX_11601a), $14
- call Get2bpp
- xor a
- ld [wc305], a
- ld [wc306], a
- ld [wc309], a
- ld [wc30a], a
- ld [wc30b], a
- ld [wc30c], a
- ld a, $10
- ld [wc307], a
- ld a, $18
- ld [wc308], a
- ret
-; 115dc3
-
-Function115dc3: ; 115dc3
- xor a
- ld [wc305], a
- ld a, $a0
- ld hl, Sprites + $7c
- ld bc, $0020
- call ByteFill
- ret
-; 115dd3
-
-Function115dd3: ; 115dd3
- ld a, [wc305]
- and a
- ret z
- ld a, $a0
- ld hl, Sprites + $7c
- ld bc, $0020
- call ByteFill
- call Function115e22
- ld a, [wc309]
- sla a
- ld c, a
- ld b, 0
- ld hl, Unknown_115e86
- add hl, bc
- ld a, [hli]
- ld e, a
- ld a, [hl]
- ld d, a
- push de
- pop hl
- ld de, Sprites + $7c
- ld a, [wc307]
- ld c, a
- ld a, [wc308]
- ld b, a
- ld a, [hli]
-.asm_115e04
- push af
- ld a, [hli]
- add b
- ld [de], a
- inc de
- ld a, [hli]
- add c
- ld [de], a
- inc de
- ld a, [hli]
- ld [de], a
- inc de
- ld a, [hli]
- ld [de], a
- inc de
- pop af
- dec a
- jr nz, .asm_115e04
- ret
-; 115e18
-
-Function115e18: ; 115e18
- ld a, c
- ld [wc30a], a
- xor a
- ld [wc30b], a
- jr Function115e2b
-; 115e22
-
-Function115e22: ; 115e22
- ld hl, wc30c
- dec [hl]
- ret nz
- ld hl, wc30b
- inc [hl]
-
-Function115e2b: ; 115e2b
- ld a, [wc30a]
- sla a
- ld c, a
- ld b, 0
- ld hl, Unknown_115e59
- add hl, bc
- ld a, [hli]
- ld e, a
- ld a, [hli]
- ld d, a
- push de
- pop hl
- ld a, [wc30b]
- sla a
- ld c, a
- ld b, $0
- add hl, bc
- ld a, [hli]
- cp $ff
- jr nz, .asm_115e51
- xor a
- ld [wc30b], a
- jr Function115e2b
-
-.asm_115e51
- ld [wc309], a
- ld a, [hl]
- ld [wc30c], a
- ret
-; 115e59
-
-Unknown_115e59:
- dw Unknown_115e61
- dw Unknown_115e6c
- dw Unknown_115e76
- dw Unknown_115e79
-
-Unknown_115e61: ; 115e61
- db $4, $8
- db $5, $8
- db $6, $8
- db $7, $8
- db $8, $8
- db $ff
-
-Unknown_115e6c: ; 115e6c
- db $1, $8
- db $2, $8
- db $3, $8
- db $9, $8
- db $a, $8
-
-Unknown_115e76: ; 115e76
- db $0, $8
- db $ff
-
-Unknown_115e79: ; 115e79
- db $b, $8
- db $c, $8
- db $d, $8
- db $e, $8
- db $f, $8
- db $0, $8
- db $ff
-; 115e86
-
-Unknown_115e86:
- dw Unknown_115ea6
- dw Unknown_115eb7
- dw Unknown_115ecc
- dw Unknown_115ee1
- dw Unknown_115ef6
- dw Unknown_115f13
- dw Unknown_115f30
- dw Unknown_115f4d
- dw Unknown_115f6a
- dw Unknown_115f87
- dw Unknown_115f9c
- dw Unknown_115fb1
- dw Unknown_115fc6
- dw Unknown_115fdb
- dw Unknown_115ff0
- dw Unknown_116005
-
-Unknown_115ea6: ; 115ea6
- db $4
- db $8, $0, $60, $1
- db $8, $8, $61, $1
- db $10, $0, $62, $1
- db $10, $8, $63, $1
-
-Unknown_115eb7: ; 115eb7
- db $5
- db $0, $8, $64, $0
- db $8, $0, $60, $1
- db $8, $8, $61, $1
- db $10, $0, $62, $1
- db $10, $8, $63, $1
-
-Unknown_115ecc: ; 115ecc
- db $5
- db $0, $8, $65, $0
- db $8, $0, $60, $1
- db $8, $8, $61, $1
- db $10, $0, $62, $1
- db $10, $8, $63, $1
-
-Unknown_115ee1: ; 115ee1
- db $5
- db $0, $8, $66, $0
- db $8, $0, $60, $1
- db $8, $8, $61, $1
- db $10, $0, $62, $1
- db $10, $8, $63, $1
-
-Unknown_115ef6: ; 115ef6
- db $7
- db $0, $0, $67, $1
- db $8, $0, $68, $1
- db $10, $0, $6d, $0
- db $10, $8, $69, $0
- db $10, $10, $6a, $0
- db $18, $8, $6b, $0
- db $18, $10, $6c, $0
-
-Unknown_115f13: ; 115f13
- db $7
- db $0, $0, $67, $1
- db $8, $0, $68, $1
- db $10, $0, $6e, $0
- db $10, $8, $69, $0
- db $10, $10, $6a, $0
- db $18, $8, $6b, $0
- db $18, $10, $6c, $0
-
-Unknown_115f30: ; 115f30
- db $7
- db $0, $0, $67, $1
- db $8, $0, $68, $1
- db $10, $0, $6f, $0
- db $10, $8, $69, $0
- db $10, $10, $6a, $0
- db $18, $8, $6b, $0
- db $18, $10, $6c, $0
-
-Unknown_115f4d: ; 115f4d
- db $7
- db $0, $0, $67, $1
- db $8, $0, $68, $1
- db $10, $0, $70, $0
- db $10, $8, $69, $0
- db $10, $10, $6a, $0
- db $18, $8, $6b, $0
- db $18, $10, $6c, $0
-
-Unknown_115f6a: ; 115f6a
- db $7
- db $0, $0, $67, $1
- db $8, $0, $68, $1
- db $10, $0, $71, $0
- db $10, $8, $69, $0
- db $10, $10, $6a, $0
- db $18, $8, $6b, $0
- db $18, $10, $6c, $0
-
-Unknown_115f87: ; 115f87
- db $5
- db $0, $8, $72, $0
- db $8, $0, $60, $1
- db $8, $8, $61, $1
- db $10, $0, $62, $1
- db $10, $8, $63, $1
-
-Unknown_115f9c: ; 115f9c
- db $5
- db $0, $8, $73, $0
- db $8, $0, $60, $1
- db $8, $8, $61, $1
- db $10, $0, $62, $1
- db $10, $8, $63, $1
-
-Unknown_115fb1: ; 115fb1
- db $5
- db $1, $8, $64, $60
- db $8, $0, $60, $1
- db $8, $8, $61, $1
- db $10, $0, $62, $1
- db $10, $8, $63, $1
-
-Unknown_115fc6: ; 115fc6
- db $5
- db $1, $8, $65, $60
- db $8, $0, $60, $1
- db $8, $8, $61, $1
- db $10, $0, $62, $1
- db $10, $8, $63, $1
-
-Unknown_115fdb: ; 115fdb
- db $5
- db $1, $8, $66, $60
- db $8, $0, $60, $1
- db $8, $8, $61, $1
- db $10, $0, $62, $1
- db $10, $8, $63, $1
-
-Unknown_115ff0: ; 115ff0
- db $5
- db $1, $8, $72, $60
- db $8, $0, $60, $1
- db $8, $8, $61, $1
- db $10, $0, $62, $1
- db $10, $8, $63, $1
-
-Unknown_116005: ; 116005
- db $5
- db $1, $8, $73, $60
- db $8, $0, $60, $1
- db $8, $8, $61, $1
- db $10, $0, $62, $1
- db $10, $8, $63, $1
-; 11601a
-
-GFX_11601a:: ; 11601a
-INCBIN "gfx/unknown/11601a.2bpp"
-
-Function11615a: ; 11615a
- xor a
- ld [wc30d], a
- ld [$c319], a
- ld [wc310], a
- ld [wc311], a
- ld [wc312], a
- ld [wc313], a
- ld [wc314], a
- ld [wc314 + 1], a
- ld [wc314 + 4], a
- ld [wc3f6], a
- ld [wc3f8], a
- ld [wc3f2], a
- ld [wc3f4], a
- ld a, $24
- ld [wc3f5], a
- ld a, $7
- ld [wc3f7], a
- ld a, $b0
- ld [wc30e], a
- ld [wc3f1], a
- ld a, $48
- ld [wc30f], a
- ld [wc3f3], a
- ret
-; 11619d
-
-Function11619d: ; 11619d
- ld a, [wc30d]
- and a
- ret z
- ld a, [$c319]
- cp $2
- jr c, .asm_1161b4
- ld a, $a0
- ld hl, Sprites
- ld bc, $0064
- call ByteFill
-
-.asm_1161b4
- call Function1161b8
- ret
-; 1161b8
-
-Function1161b8: ; 1161b8
- ld a, [$c319]
- ld e, a
- ld d, 0
- ld hl, .Jumptable
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
-; 1161c7
-
-.Jumptable: ; 1161c7
- dw Function1161d5
- dw Function116294
- dw Function1162cb
- dw Function1162f2
- dw Function1163c0
- dw Function11636e
- dw Function116441
-; 1161d5
-
-Function1161d5: ; 1161d5
- ld a, [rSVBK]
- push af
-
- ld a, $6
- ld [rSVBK], a
-
- ld hl, Unknown_117356
- ld de, wDecompressScratch
- ld bc, $0300
- call CopyBytes
-
- di
-
-.wait_for_vblank
-; Wait until a vblank would occur had interrupts not just been disabled.
- ld a, [rLY]
- cp $91
- jr nz, .wait_for_vblank
-
- ld a, $d0
- ld [rHDMA1], a
- ld a, $0
- ld [rHDMA2], a
- ld a, $1c
- ld [rHDMA3], a
- xor a
- ld [rHDMA4], a
- ld a, $8
- ld [rHDMA5], a
-
- ld a, $d0
- ld [rHDMA1], a
- ld a, $80
- ld [rHDMA2], a
- ld a, $1c
- ld [rHDMA3], a
- ld a, $80
- ld [rHDMA4], a
- ld a, $8
- ld [rHDMA5], a
-
- ld a, $d1
- ld [rHDMA1], a
- ld a, $0
- ld [rHDMA2], a
- ld a, $1d
- ld [rHDMA3], a
- xor a
- ld [rHDMA4], a
- ld a, $8
- ld [rHDMA5], a
-
- ld a, $1
- ld [rVBK], a
-
- ld a, $d1
- ld [rHDMA1], a
- ld a, $80
- ld [rHDMA2], a
- ld a, $1c
- ld [rHDMA3], a
- xor a
- ld [rHDMA4], a
- ld a, $8
- ld [rHDMA5], a
-
- ld a, $d2
- ld [rHDMA1], a
- ld a, $0
- ld [rHDMA2], a
- ld a, $1c
- ld [rHDMA3], a
- ld a, $80
- ld [rHDMA4], a
- ld a, $8
- ld [rHDMA5], a
-
- ld a, $d2
- ld [rHDMA1], a
- ld a, $80
- ld [rHDMA2], a
- ld a, $1d
- ld [rHDMA3], a
- xor a
- ld [rHDMA4], a
- ld a, $8
- ld [rHDMA5], a
-
- xor a
- ld [rVBK], a
-
- ei
-
- pop af
- ld [rSVBK], a
- callba ReloadMapPart
- ld a, $8
- ld [MusicFade], a
- ld de, MUSIC_MOBILE_ADAPTER
- ld a, e
- ld [MusicFadeIDLo], a
- ld a, d
- ld [MusicFadeIDHi], a
- ld a, [$c319]
- inc a
- ld [$c319], a
- ret
-; 11628c
-
-MenuDataHeader_11628c: ; 11628c
- db $40 ; flags
- db 6, 0 ; start coords
- db 17, 19 ; end coords
- dw NULL
- db 0 ; default option
-; 116294
-
-Function116294: ; 116294
- callba Function170d02
- ld a, [$c319]
- inc a
- ld [$c319], a
- ld a, [rSVBK]
- push af
- ld a, $5
- ld [rSVBK], a
- ld hl, UnknBGPals + 8 * 6
- ld de, $c320
- ld bc, 2 palettes
- call CopyBytes
- ld hl, Palette_11734e
- ld de, UnknBGPals + 8 * 7
- ld bc, 1 palettes
- call CopyBytes
- call SetPalettes
- pop af
- ld [rSVBK], a
- ld a, $30
- ld [hWY], a
- ret
-; 1162cb
-
-Function1162cb: ; 1162cb
- callba Function170cc6
- ld a, [$c319]
- inc a
- ld [$c319], a
- ld a, [rSVBK]
- push af
- ld a, $5
- ld [rSVBK], a
- ld hl, Palette_11730e
- ld de, UnknOBPals + 2 palettes
- ld bc, 6 palettes
- call CopyBytes
- call SetPalettes
- pop af
- ld [rSVBK], a
- ret
-; 1162f2
-
-Function1162f2: ; 1162f2
- call Function11659d
- call Function116758
- call Function1167a6
- ld a, [wc310]
- cp EGG
- ret z
- sla a
- ld c, a
- ld b, 0
- ld hl, Unknown_1168c5
- add hl, bc
- ld a, [hli]
- ld e, a
- ld a, [hl]
- ld d, a
- push de
- pop hl
- ld a, [wc30e]
- ld c, a
- ld a, [wc30f]
- ld b, a
- ld a, [wc314 + 4]
- ld e, a
- ld a, [hli]
- sub e
- ld de, Sprites + $24
-.asm_116321
- push af
- ld a, [hli]
- add b
- ld [de], a
- inc de
- ld a, [hli]
- add c
- ld [de], a
- inc de
- ld a, [hli]
- ld [de], a
- inc de
- ld a, [hli]
- ld [de], a
- inc de
- pop af
- dec a
- jr nz, .asm_116321
- call Function116468
- ld a, [wc3f5]
- sla a
- ld c, a
- ld b, 0
- ld hl, Unknown_1168c5
- add hl, bc
- ld a, [hli]
- ld e, a
- ld a, [hl]
- ld d, a
- push de
- pop hl
- ld a, [wc3f1]
- ld c, a
- ld a, [wc3f3]
- ld b, a
- ld a, [wc3f8]
- ld e, a
- ld a, [hli]
- sub e
- ld de, Sprites
-.asm_11635a
- push af
- ld a, [hli]
- add b
- ld [de], a
- inc de
- ld a, [hli]
- add c
- ld [de], a
- inc de
- ld a, [hli]
- ld [de], a
- inc de
- ld a, [hli]
- ld [de], a
- inc de
- pop af
- dec a
- jr nz, .asm_11635a
- ret
-; 11636e
-
-Function11636e: ; 11636e
- ld a, [rSVBK]
- push af
- ld a, $5
- ld [rSVBK], a
- ld hl, BGPals
- ld de, UnknBGPals
- ld bc, $0040
- call CopyBytes
- pop af
- ld [rSVBK], a
- call SetPalettes
- ld a, [rSVBK]
- push af
- ld a, $1
- ld [rSVBK], a
- ld a, $a0
- ld hl, Sprites
- ld bc, 16 * 4
- call ByteFill
- ld a, $90
- ld [hWY], a
- call UpdateSprites
- pop af
- ld [rSVBK], a
- callba ReloadMapPart
- ld a, $8
- ld [MusicFade], a
- ld a, [wMapMusic]
- ld [MusicFadeIDLo], a
- xor a
- ld [MusicFadeIDHi], a
- xor a
- ld [$c319], a
- ld [wc30d], a
- ret
-; 1163c0
-
-Function1163c0: ; 1163c0
- ld a, [rSVBK]
- push af
- ld a, $1
- ld [rSVBK], a
- ld a, $a0
- ld hl, Sprites
- ld bc, 16 * 4
- call ByteFill
- call DelayFrame
- callba Function14146
- ld b, SCGB_MAPPALS
- call GetSGBLayout
- ld a, [rSVBK]
- push af
- ld a, $5
- ld [rSVBK], a
- ld hl, $c320
- ld de, wd030
- ld bc, $0010
- call CopyBytes
- pop af
- ld [rSVBK], a
- call SetPalettes
- call DelayFrame
- ld a, $90
- ld [hWY], a
- call UpdateSprites
- callba Function14157
- pop af
- ld [rSVBK], a
- callba ReloadMapPart
- ld a, [wLinkMode]
- cp $4
- jr z, .asm_11642a
- ld a, $8
- ld [MusicFade], a
- ld a, [wMapMusic]
- ld [MusicFadeIDLo], a
- xor a
- ld [MusicFadeIDHi], a
- jr .asm_116439
-
-.asm_11642a
- ld a, $8
- ld [MusicFade], a
- ld a, $0
- ld [MusicFadeIDLo], a
- ld a, $0
- ld [MusicFadeIDHi], a
-
-.asm_116439
- xor a
- ld [$c319], a
- ld [wc30d], a
- ret
-; 116441
-
-Function116441: ; 116441
- callba Function17d405
- ld a, $90
- ld [hWY], a
- callba ReloadMapPart
- ld a, $8
- ld [MusicFade], a
- ld a, [wMapMusic]
- ld [MusicFadeIDLo], a
- xor a
- ld [MusicFadeIDHi], a
- xor a
- ld [$c319], a
- ld [wc30d], a
- ret
-; 116468
-
-Function116468: ; 116468
- call Function116567
- ld a, [wc314]
- cp $d
- jr nz, .asm_1164a8
- ld hl, wc30e
- ld a, [hl]
- cp $50
- jr nc, .asm_116484
- ld a, $50
- sub [hl]
- add $50
- ld [wc3f1], a
- jr .asm_11648d
-
-.asm_116484
- sub $50
- ld c, a
- ld a, $50
- sub c
- ld [wc3f1], a
-
-.asm_11648d
- ld hl, wc30f
- ld a, [hl]
- cp $60
- jr nc, .asm_11649e
- ld a, $60
- sub [hl]
- add $60
- ld [wc3f3], a
- ret
-
-.asm_11649e
- sub $60
- ld c, a
- ld a, $60
- sub c
- ld [wc3f3], a
- ret
-
-.asm_1164a8
- ld hl, wc30e
- ld a, $b0
- cp [hl]
- jr nc, .asm_1164b8
- ld a, [wc3f1]
- and a
- jr z, .asm_11650b
- jr .asm_1164f2
-
-.asm_1164b8
- ld a, [wc3f1]
- sub [hl]
- jr nc, .asm_1164c1
- xor $ff
- inc a
-
-.asm_1164c1
- ld b, a
- ld c, $0
- ld a, $5
-.asm_1164c6
- srl b
- rr c
- dec a
- jr nz, .asm_1164c6
- ld a, c
- ld [wc3fa], a
- ld a, b
- ld [wc3f9], a
- ld a, [wc3f1]
- sub [hl]
- jr c, .asm_1164f2
- ld c, $0
- ld a, [wc3fa]
- xor $ff
- add $1
- rl c
- ld [wc3fa], a
- ld a, [wc3f9]
- xor $ff
- add c
- ld [wc3f9], a
-
-.asm_1164f2
- ld a, [wc3f2]
- ld l, a
- ld a, [wc3f1]
- ld h, a
- ld a, [wc3fa]
- ld e, a
- ld a, [wc3f9]
- ld d, a
- add hl, de
- ld a, l
- ld [wc3f2], a
- ld a, h
- ld [wc3f1], a
+; 115d99
-.asm_11650b
- ld hl, wc30f
- ld a, $b0
- cp [hl]
- jr c, .asm_11654d
- ld a, [wc3f3]
- sub [hl]
- jr nc, .asm_11651c
- xor $ff
- inc a
+INCLUDE "misc/mobile_45_sprite_engine.asm"
-.asm_11651c
- ld b, a
- ld c, $0
- ld a, $5
-.asm_116521
- srl b
- rr c
- dec a
- jr nz, .asm_116521
- ld a, c
- ld [wc3fc], a
- ld a, b
- ld [wc3fb], a
- ld a, [wc3f3]
- sub [hl]
- jr c, .asm_11654d
- ld c, $0
- ld a, [wc3fc]
- xor $ff
- add $1
- rl c
- ld [wc3fc], a
- ld a, [wc3fb]
- xor $ff
- add c
- ld [wc3fb], a
-
-.asm_11654d
- ld a, [wc3f4]
- ld l, a
- ld a, [wc3f3]
- ld h, a
- ld a, [wc3fc]
- ld e, a
- ld a, [wc3fb]
- ld d, a
- add hl, de
- ld a, l
- ld [wc3f4], a
- ld a, h
- ld [wc3f3], a
- ret
; 116567
Function116567: ; 116567
@@ -6211,6 +5396,7 @@ Function116567: ; 116567
ld a, [hl]
ld [wc3f7], a
ret
+
; 11659d
Function11659d: ; 11659d
@@ -6227,6 +5413,7 @@ endr
ld h, [hl]
ld l, a
jp [hl]
+
; 1165af
Jumptable_1165af: ; 1165af
@@ -6271,6 +5458,7 @@ Function1165e3:
call Function116780
ret c
jp Function116797
+
; 1165f5
Function1165f5: ; 1165f5
@@ -6292,6 +5480,7 @@ Function116600:
ld a, $2
ld [wc314], a
ret
+
; 116615
Function116615: ; 116615
@@ -6314,6 +5503,7 @@ Function116623:
call Function116780
ret c
jp Function116797
+
; 116635
Function116635: ; 116635
@@ -6335,6 +5525,7 @@ Function116640:
ld a, $7
ld [wc314], a
ret
+
; 116655
Function116655: ; 116655
@@ -6381,6 +5572,7 @@ Function11668d:
ld a, $c
ld [wc314], a
ret
+
; 11669f
Function11669f: ; 11669f
@@ -6429,6 +5621,7 @@ Function1166d6:
xor a
ld [wc314], a
ret
+
; 1166f4
Function1166f4: ; 1166f4
@@ -6456,6 +5649,7 @@ Function1166f4: ; 1166f4
call Function11679c
call Function116797
ret
+
; 11671f
Function11671f: ; 11671f
@@ -6479,6 +5673,7 @@ Function11671f: ; 11671f
call Function11679c
call Function116797
ret
+
; 116747
Function116747: ; 116747
@@ -6491,6 +5686,7 @@ Function116747: ; 116747
add [hl]
ld [hl], a
ret
+
; 116758
Function116758: ; 116758
@@ -6521,6 +5717,7 @@ Function116758: ; 116758
.asm_11677a
ld [wc314 + 4], a
ret
+
; 11677e
Function11677e: ; 11677e
@@ -6538,6 +5735,7 @@ Function116780:
.asm_11678c
and a
ret
+
; 11678e
Function11678e: ; 11678e
@@ -6546,12 +5744,14 @@ Function11678e: ; 11678e
ld [wc314 + 1], a
inc [hl]
ret
+
; 116797
Function116797: ; 116797
ld hl, wc314
inc [hl]
ret
+
; 11679c
Function11679c:
@@ -6608,6 +5808,7 @@ asm_1167af
ld a, [hl]
ld [wc313], a
ret
+
; 1167eb
Unknown_1167eb:
@@ -7654,6 +6855,7 @@ SECTION "Mobile Stadium", ROMX, BANK[$45]
Special_GiveOddEgg: ; 117656
callba GiveOddEgg
ret
+
; 11765d
Function11765d: ; 11765d (45:765d)
@@ -7679,7 +6881,7 @@ Function11766b: ; 11766b (45:766b)
ld de, wcd49
ld bc, $8
call CopyBytes
- ld de, wc708
+ ld de, $c708
ld bc, $11
call CopyBytes
call CloseSRAM
@@ -7694,7 +6896,7 @@ Function117699: ; 117699 (45:7699)
ld de, $b1f3
ld bc, $8
call CopyBytes
- ld hl, wc708
+ ld hl, $c708
ld bc, $11
call CopyBytes
call CloseSRAM
@@ -7706,7 +6908,7 @@ Function117699: ; 117699 (45:7699)
ld [wcd4d], a
ld [wcd4e], a
ld [wcd4f], a
- ld hl, wc708
+ ld hl, $c708
ld bc, $11
call ByteFill
call ClearBGPalettes
@@ -7784,6 +6986,7 @@ Function117764: ; 117764 (45:7764)
jr nz, .asm_11776f
ld a, $1
jr .asm_117770
+
.asm_11776f
xor a
.asm_117770
@@ -7855,7 +7058,7 @@ Function117764_b_button: ; 1177d6 (45:77d6)
ld [wcd4a], a
ld e, a
ld d, $0
- ld hl, wc708
+ ld hl, $c708
add hl, de
xor a
ld [hl], a
@@ -7880,6 +7083,7 @@ Function117764_d_up: ; 1177f1 (45:77f1)
Function117764_d_vertical_load: ; 117806 (45:7806)
ld [wcd4c], a
ret
+
Function117764_d_down: ; 11780a (45:780a)
ld a, [wcd4d]
cp $4
@@ -7895,9 +7099,11 @@ Function117764_d_down: ; 11780a (45:780a)
jr nc, .asm_117829
xor a
jr Function117764_d_vertical_load
+
.asm_117825
ld a, $2
jr Function117764_d_vertical_load
+
.asm_117829
ld a, $1
jr Function117764_d_vertical_load
@@ -7949,6 +7155,7 @@ Function117764_a_button: ; 11784c (45:784c)
jr nz, .ascii_symbols
ld hl, Unknown_117a0f
jr .got_ascii
+
.ascii_symbols
ld hl, Unknown_117a47
.got_ascii
@@ -7963,7 +7170,7 @@ Function117764_a_button: ; 11784c (45:784c)
ld b, $0
add hl, bc
ld a, [hl]
- ld hl, wc708
+ ld hl, $c708
add hl, de
ld [hl], a
pop de
@@ -8062,7 +7269,7 @@ Function117942: ; 117942 (45:7942)
call GetSRAMBank
ld a, [wcd4f]
ld [sMobileLoginPassword], a
- ld hl, wc708
+ ld hl, $c708
ld de, sMobileLoginPassword + 1
ld bc, LOGIN_PASSWORD_LENGTH
call CopyBytes
@@ -8103,6 +7310,7 @@ Function1179a7: ; 1179a7 (45:79a7)
ld a, $1
ld [wcd49], a
ret
+
; 1179b5 (45:79b5)
MenuDataHeader_1179b5: ; 1179b5
@@ -8146,6 +7354,7 @@ MobilePassword_IncrementJumptable: ; 117a0a (45:7a0a)
ld hl, wcd49
inc [hl]
ret
+
; 117a0f (45:7a0f)
Unknown_117a0f:
@@ -8168,12 +7377,14 @@ MobileStudium: ; 0x117a7f
pop af
ld [hInMenu], a
ret
+
; 0x117a8d
Function117a8d: ; 0x117a8d
call Function117a94
call Function117acd
ret
+
; 0x117a94
Function117a94: ; 0x117a94
@@ -8187,6 +7398,7 @@ Function117a94: ; 0x117a94
callba Function172e78
callba Function104000
ret
+
; 0x117ab4
Function117ab4: ; 0x117ab4
@@ -8196,6 +7408,7 @@ Function117ab4: ; 0x117ab4
callba Function172eb9
callba ReloadMapPart
ret
+
; 0x117acd
Function117acd: ; 0x117acd
@@ -8206,6 +7419,7 @@ Function117acd: ; 0x117acd
call Function117ae9
callba Function104000
jr Function117acd
+
.asm_117ae2
call ClearBGPalettes
call ClearSprites
@@ -8340,10 +7554,12 @@ Function117bb6:
ld a, $80
ld [wJumptableIndex], a
ret
+
.asm_117be1
ld a, $80
ld [wJumptableIndex], a
ret
+
.asm_117be7
ld a, [rSVBK]
push af
@@ -8370,12 +7586,14 @@ Function117bb6:
dec c
jr nz, .asm_117c0b
jr .asm_117c20
+
.asm_117c16
pop af
ld [rSVBK], a
ld a, $d3
ld [wc300], a
jr .asm_117bd0
+
.asm_117c20
pop af
ld [rSVBK], a
diff --git a/misc/mobile_45_sprite_engine.asm b/misc/mobile_45_sprite_engine.asm
new file mode 100755
index 000000000..ab31a9bb9
--- /dev/null
+++ b/misc/mobile_45_sprite_engine.asm
@@ -0,0 +1,923 @@
+Function115d99: ; 115d99
+ ld de, GFX_11601a
+ ld hl, VTiles0 tile $60
+ lb bc, BANK(GFX_11601a), $14
+ call Get2bpp
+ xor a
+ ld [wc305], a
+ ld [wc306], a
+ ld [wc309], a
+ ld [wc30a], a
+ ld [wc30b], a
+ ld [wc30c], a
+ ld a, $10
+ ld [wc307], a
+ ld a, $18
+ ld [wc308], a
+ ret
+
+; 115dc3
+
+Function115dc3: ; 115dc3
+ xor a
+ ld [wc305], a
+ ld a, $a0
+ ld hl, Sprites + 31 * 4
+ ld bc, 8 * 4
+ call ByteFill
+ ret
+
+; 115dd3
+
+Function115dd3: ; 115dd3
+ ld a, [wc305]
+ and a
+ ret z
+ ld a, $a0
+ ld hl, Sprites + 31 * 4
+ ld bc, 8 * 4
+ call ByteFill
+ call Function115e22
+ ld a, [wc309]
+ sla a
+ ld c, a
+ ld b, 0
+ ld hl, Unknown_115e86
+ add hl, bc
+ ld a, [hli]
+ ld e, a
+ ld a, [hl]
+ ld d, a
+ push de
+ pop hl
+ ld de, Sprites + 31 * 4
+ ld a, [wc307]
+ ld c, a
+ ld a, [wc308]
+ ld b, a
+ ld a, [hli]
+.asm_115e04
+ push af
+ ld a, [hli]
+ add b
+ ld [de], a
+ inc de
+ ld a, [hli]
+ add c
+ ld [de], a
+ inc de
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hli]
+ ld [de], a
+ inc de
+ pop af
+ dec a
+ jr nz, .asm_115e04
+ ret
+
+; 115e18
+
+Function115e18: ; 115e18
+ ld a, c
+ ld [wc30a], a
+ xor a
+ ld [wc30b], a
+ jr Function115e2b
+
+; 115e22
+
+Function115e22: ; 115e22
+ ld hl, wc30c
+ dec [hl]
+ ret nz
+ ld hl, wc30b
+ inc [hl]
+
+Function115e2b: ; 115e2b
+ ld a, [wc30a]
+ sla a
+ ld c, a
+ ld b, 0
+ ld hl, Unknown_115e59
+ add hl, bc
+ ld a, [hli]
+ ld e, a
+ ld a, [hli]
+ ld d, a
+ push de
+ pop hl
+ ld a, [wc30b]
+ sla a
+ ld c, a
+ ld b, $0
+ add hl, bc
+ ld a, [hli]
+ cp $ff
+ jr nz, .not_end
+ xor a
+ ld [wc30b], a
+ jr Function115e2b
+
+.not_end
+ ld [wc309], a
+ ld a, [hl]
+ ld [wc30c], a
+ ret
+
+; 115e59
+
+Unknown_115e59:
+ dw Unknown_115e61
+ dw Unknown_115e6c
+ dw Unknown_115e76
+ dw Unknown_115e79
+
+; OAM idx (see Unknown_115e86), flip flags/duration
+Unknown_115e61: ; 115e61
+ db $04, $08
+ db $05, $08
+ db $06, $08
+ db $07, $08
+ db $08, $08
+ db -1
+
+Unknown_115e6c: ; 115e6c
+ db $01, $08
+ db $02, $08
+ db $03, $08
+ db $09, $08
+ db $0a, $08
+Unknown_115e76: ; 115e76
+ db $00, $08
+ db -1
+
+Unknown_115e79: ; 115e79
+ db $0b, $08
+ db $0c, $08
+ db $0d, $08
+ db $0e, $08
+ db $0f, $08
+ db $00, $08
+ db -1
+; 115e86
+
+Unknown_115e86:
+ dw Unknown_115ea6
+ dw Unknown_115eb7
+ dw Unknown_115ecc
+ dw Unknown_115ee1
+ dw Unknown_115ef6
+ dw Unknown_115f13
+ dw Unknown_115f30
+ dw Unknown_115f4d
+ dw Unknown_115f6a
+ dw Unknown_115f87
+ dw Unknown_115f9c
+ dw Unknown_115fb1
+ dw Unknown_115fc6
+ dw Unknown_115fdb
+ dw Unknown_115ff0
+ dw Unknown_116005
+
+Unknown_115ea6: ; 115ea6
+ db 4
+ dsprite 1, 0, 0, 0, $60, $01
+ dsprite 1, 0, 1, 0, $61, $01
+ dsprite 2, 0, 0, 0, $62, $01
+ dsprite 2, 0, 1, 0, $63, $01
+
+Unknown_115eb7: ; 115eb7
+ db 5
+ dsprite 0, 0, 1, 0, $64, $00
+ dsprite 1, 0, 0, 0, $60, $01
+ dsprite 1, 0, 1, 0, $61, $01
+ dsprite 2, 0, 0, 0, $62, $01
+ dsprite 2, 0, 1, 0, $63, $01
+
+Unknown_115ecc: ; 115ecc
+ db 5
+ dsprite 0, 0, 1, 0, $65, $00
+ dsprite 1, 0, 0, 0, $60, $01
+ dsprite 1, 0, 1, 0, $61, $01
+ dsprite 2, 0, 0, 0, $62, $01
+ dsprite 2, 0, 1, 0, $63, $01
+
+Unknown_115ee1: ; 115ee1
+ db 5
+ dsprite 0, 0, 1, 0, $66, $00
+ dsprite 1, 0, 0, 0, $60, $01
+ dsprite 1, 0, 1, 0, $61, $01
+ dsprite 2, 0, 0, 0, $62, $01
+ dsprite 2, 0, 1, 0, $63, $01
+
+Unknown_115ef6: ; 115ef6
+ db 7
+ dsprite 0, 0, 0, 0, $67, $01
+ dsprite 1, 0, 0, 0, $68, $01
+ dsprite 2, 0, 0, 0, $6d, $00
+ dsprite 2, 0, 1, 0, $69, $00
+ dsprite 2, 0, 2, 0, $6a, $00
+ dsprite 3, 0, 1, 0, $6b, $00
+ dsprite 3, 0, 2, 0, $6c, $00
+
+Unknown_115f13: ; 115f13
+ db 7
+ dsprite 0, 0, 0, 0, $67, $01
+ dsprite 1, 0, 0, 0, $68, $01
+ dsprite 2, 0, 0, 0, $6e, $00
+ dsprite 2, 0, 1, 0, $69, $00
+ dsprite 2, 0, 2, 0, $6a, $00
+ dsprite 3, 0, 1, 0, $6b, $00
+ dsprite 3, 0, 2, 0, $6c, $00
+
+Unknown_115f30: ; 115f30
+ db 7
+ dsprite 0, 0, 0, 0, $67, $01
+ dsprite 1, 0, 0, 0, $68, $01
+ dsprite 2, 0, 0, 0, $6f, $00
+ dsprite 2, 0, 1, 0, $69, $00
+ dsprite 2, 0, 2, 0, $6a, $00
+ dsprite 3, 0, 1, 0, $6b, $00
+ dsprite 3, 0, 2, 0, $6c, $00
+
+Unknown_115f4d: ; 115f4d
+ db 7
+ dsprite 0, 0, 0, 0, $67, $01
+ dsprite 1, 0, 0, 0, $68, $01
+ dsprite 2, 0, 0, 0, $70, $00
+ dsprite 2, 0, 1, 0, $69, $00
+ dsprite 2, 0, 2, 0, $6a, $00
+ dsprite 3, 0, 1, 0, $6b, $00
+ dsprite 3, 0, 2, 0, $6c, $00
+
+Unknown_115f6a: ; 115f6a
+ db 7
+ dsprite 0, 0, 0, 0, $67, $01
+ dsprite 1, 0, 0, 0, $68, $01
+ dsprite 2, 0, 0, 0, $71, $00
+ dsprite 2, 0, 1, 0, $69, $00
+ dsprite 2, 0, 2, 0, $6a, $00
+ dsprite 3, 0, 1, 0, $6b, $00
+ dsprite 3, 0, 2, 0, $6c, $00
+
+Unknown_115f87: ; 115f87
+ db 5
+ dsprite 0, 0, 1, 0, $72, $00
+ dsprite 1, 0, 0, 0, $60, $01
+ dsprite 1, 0, 1, 0, $61, $01
+ dsprite 2, 0, 0, 0, $62, $01
+ dsprite 2, 0, 1, 0, $63, $01
+
+Unknown_115f9c: ; 115f9c
+ db 5
+ dsprite 0, 0, 1, 0, $73, $00
+ dsprite 1, 0, 0, 0, $60, $01
+ dsprite 1, 0, 1, 0, $61, $01
+ dsprite 2, 0, 0, 0, $62, $01
+ dsprite 2, 0, 1, 0, $63, $01
+
+Unknown_115fb1: ; 115fb1
+ db 5
+ dsprite 0, 1, 1, 0, $64, $60
+ dsprite 1, 0, 0, 0, $60, $01
+ dsprite 1, 0, 1, 0, $61, $01
+ dsprite 2, 0, 0, 0, $62, $01
+ dsprite 2, 0, 1, 0, $63, $01
+
+Unknown_115fc6: ; 115fc6
+ db 5
+ dsprite 0, 1, 1, 0, $65, $60
+ dsprite 1, 0, 0, 0, $60, $01
+ dsprite 1, 0, 1, 0, $61, $01
+ dsprite 2, 0, 0, 0, $62, $01
+ dsprite 2, 0, 1, 0, $63, $01
+
+Unknown_115fdb: ; 115fdb
+ db 5
+ dsprite 0, 1, 1, 0, $66, $60
+ dsprite 1, 0, 0, 0, $60, $01
+ dsprite 1, 0, 1, 0, $61, $01
+ dsprite 2, 0, 0, 0, $62, $01
+ dsprite 2, 0, 1, 0, $63, $01
+
+Unknown_115ff0: ; 115ff0
+ db 5
+ dsprite 0, 1, 1, 0, $72, $60
+ dsprite 1, 0, 0, 0, $60, $01
+ dsprite 1, 0, 1, 0, $61, $01
+ dsprite 2, 0, 0, 0, $62, $01
+ dsprite 2, 0, 1, 0, $63, $01
+
+Unknown_116005: ; 116005
+ db 5
+ dsprite 0, 1, 1, 0, $73, $60
+ dsprite 1, 0, 0, 0, $60, $01
+ dsprite 1, 0, 1, 0, $61, $01
+ dsprite 2, 0, 0, 0, $62, $01
+ dsprite 2, 0, 1, 0, $63, $01
+; 11601a
+
+GFX_11601a:: ; 11601a
+INCBIN "gfx/unknown/11601a.2bpp"
+
+
+Function11615a: ; 11615a
+ xor a
+ ld [wc30d], a
+ ld [$c319], a
+ ld [wc310], a
+ ld [wc311], a
+ ld [wc312], a
+ ld [wc313], a
+ ld [wc314], a
+ ld [wc314 + 1], a
+ ld [wc314 + 4], a
+ ld [wc3f6], a
+ ld [wc3f8], a
+ ld [wc3f2], a
+ ld [wc3f4], a
+ ld a, $24
+ ld [wc3f5], a
+ ld a, $7
+ ld [wc3f7], a
+ ld a, $b0
+ ld [wc30e], a
+ ld [wc3f1], a
+ ld a, $48
+ ld [wc30f], a
+ ld [wc3f3], a
+ ret
+
+; 11619d
+
+Function11619d: ; 11619d
+ ld a, [wc30d]
+ and a
+ ret z
+ ld a, [$c319]
+ cp $2
+ jr c, .asm_1161b4
+ ld a, $a0
+ ld hl, Sprites
+ ld bc, $0064
+ call ByteFill
+
+.asm_1161b4
+ call Function1161b8
+ ret
+
+; 1161b8
+
+Function1161b8: ; 1161b8
+ ld a, [$c319]
+ ld e, a
+ ld d, 0
+ ld hl, .Jumptable
+rept 2
+ add hl, de
+endr
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+; 1161c7
+
+.Jumptable: ; 1161c7
+ dw Function1161d5
+ dw Function116294
+ dw Function1162cb
+ dw Function1162f2
+ dw Function1163c0
+ dw Function11636e
+ dw Function116441
+; 1161d5
+
+Function1161d5: ; 1161d5
+ ld a, [rSVBK]
+ push af
+
+ ld a, $6
+ ld [rSVBK], a
+
+ ld hl, Unknown_117356
+ ld de, wDecompressScratch
+ ld bc, $0300
+ call CopyBytes
+
+ di
+
+.wait_for_vblank
+; Wait until a vblank would occur had interrupts not just been disabled.
+ ld a, [rLY]
+ cp $91
+ jr nz, .wait_for_vblank
+
+ ld a, $d0
+ ld [rHDMA1], a
+ ld a, $0
+ ld [rHDMA2], a
+ ld a, $1c
+ ld [rHDMA3], a
+ xor a
+ ld [rHDMA4], a
+ ld a, $8
+ ld [rHDMA5], a
+
+ ld a, $d0
+ ld [rHDMA1], a
+ ld a, $80
+ ld [rHDMA2], a
+ ld a, $1c
+ ld [rHDMA3], a
+ ld a, $80
+ ld [rHDMA4], a
+ ld a, $8
+ ld [rHDMA5], a
+
+ ld a, $d1
+ ld [rHDMA1], a
+ ld a, $0
+ ld [rHDMA2], a
+ ld a, $1d
+ ld [rHDMA3], a
+ xor a
+ ld [rHDMA4], a
+ ld a, $8
+ ld [rHDMA5], a
+
+ ld a, $1
+ ld [rVBK], a
+
+ ld a, $d1
+ ld [rHDMA1], a
+ ld a, $80
+ ld [rHDMA2], a
+ ld a, $1c
+ ld [rHDMA3], a
+ xor a
+ ld [rHDMA4], a
+ ld a, $8
+ ld [rHDMA5], a
+
+ ld a, $d2
+ ld [rHDMA1], a
+ ld a, $0
+ ld [rHDMA2], a
+ ld a, $1c
+ ld [rHDMA3], a
+ ld a, $80
+ ld [rHDMA4], a
+ ld a, $8
+ ld [rHDMA5], a
+
+ ld a, $d2
+ ld [rHDMA1], a
+ ld a, $80
+ ld [rHDMA2], a
+ ld a, $1d
+ ld [rHDMA3], a
+ xor a
+ ld [rHDMA4], a
+ ld a, $8
+ ld [rHDMA5], a
+
+ xor a
+ ld [rVBK], a
+
+ ei
+
+ pop af
+ ld [rSVBK], a
+
+ callba ReloadMapPart
+ ld a, $8
+ ld [MusicFade], a
+ ld de, MUSIC_MOBILE_ADAPTER
+ ld a, e
+ ld [MusicFadeIDLo], a
+ ld a, d
+ ld [MusicFadeIDHi], a
+ ld a, [$c319]
+ inc a
+ ld [$c319], a
+ ret
+
+; 11628c
+
+MenuDataHeader_11628c: ; 11628c
+ db $40 ; flags
+ db 6, 0 ; start coords
+ db 17, 19 ; end coords
+ dw NULL
+ db 0 ; default option
+; 116294
+
+Function116294: ; 116294
+ callba Function170d02
+ ld a, [$c319]
+ inc a
+ ld [$c319], a
+ ld a, [rSVBK]
+ push af
+ ld a, $5
+ ld [rSVBK], a
+ ld hl, UnknBGPals + 8 * 6
+ ld de, $c320
+ ld bc, 2 palettes
+ call CopyBytes
+ ld hl, Palette_11734e
+ ld de, UnknBGPals + 8 * 7
+ ld bc, 1 palettes
+ call CopyBytes
+ call SetPalettes
+ pop af
+ ld [rSVBK], a
+ ld a, $30
+ ld [hWY], a
+ ret
+
+; 1162cb
+
+Function1162cb: ; 1162cb
+ callba Function170cc6
+ ld a, [$c319]
+ inc a
+ ld [$c319], a
+ ld a, [rSVBK]
+ push af
+ ld a, $5
+ ld [rSVBK], a
+ ld hl, Palette_11730e
+ ld de, UnknOBPals + 2 palettes
+ ld bc, 6 palettes
+ call CopyBytes
+ call SetPalettes
+ pop af
+ ld [rSVBK], a
+ ret
+
+; 1162f2
+
+Function1162f2: ; 1162f2
+ call Function11659d
+ call Function116758
+ call Function1167a6
+ ld a, [wc310]
+ cp EGG
+ ret z
+ sla a
+ ld c, a
+ ld b, 0
+ ld hl, Unknown_1168c5
+ add hl, bc
+ ld a, [hli]
+ ld e, a
+ ld a, [hl]
+ ld d, a
+ push de
+ pop hl
+ ld a, [wc30e]
+ ld c, a
+ ld a, [wc30f]
+ ld b, a
+ ld a, [wc314 + 4]
+ ld e, a
+ ld a, [hli]
+ sub e
+ ld de, Sprites + $24
+.asm_116321
+ push af
+ ld a, [hli]
+ add b
+ ld [de], a
+ inc de
+ ld a, [hli]
+ add c
+ ld [de], a
+ inc de
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hli]
+ ld [de], a
+ inc de
+ pop af
+ dec a
+ jr nz, .asm_116321
+ call Function116468
+ ld a, [wc3f5]
+ sla a
+ ld c, a
+ ld b, 0
+ ld hl, Unknown_1168c5
+ add hl, bc
+ ld a, [hli]
+ ld e, a
+ ld a, [hl]
+ ld d, a
+ push de
+ pop hl
+ ld a, [wc3f1]
+ ld c, a
+ ld a, [wc3f3]
+ ld b, a
+ ld a, [wc3f8]
+ ld e, a
+ ld a, [hli]
+ sub e
+ ld de, Sprites
+.asm_11635a
+ push af
+ ld a, [hli]
+ add b
+ ld [de], a
+ inc de
+ ld a, [hli]
+ add c
+ ld [de], a
+ inc de
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hli]
+ ld [de], a
+ inc de
+ pop af
+ dec a
+ jr nz, .asm_11635a
+ ret
+
+; 11636e
+
+Function11636e: ; 11636e
+ ld a, [rSVBK]
+ push af
+ ld a, $5
+ ld [rSVBK], a
+ ld hl, BGPals
+ ld de, UnknBGPals
+ ld bc, $0040
+ call CopyBytes
+ pop af
+ ld [rSVBK], a
+ call SetPalettes
+ ld a, [rSVBK]
+ push af
+ ld a, $1
+ ld [rSVBK], a
+ ld a, $a0
+ ld hl, Sprites
+ ld bc, 16 * 4
+ call ByteFill
+ ld a, $90
+ ld [hWY], a
+ call UpdateSprites
+ pop af
+ ld [rSVBK], a
+ callba ReloadMapPart
+ ld a, $8
+ ld [MusicFade], a
+ ld a, [wMapMusic]
+ ld [MusicFadeIDLo], a
+ xor a
+ ld [MusicFadeIDHi], a
+ xor a
+ ld [$c319], a
+ ld [wc30d], a
+ ret
+
+; 1163c0
+
+Function1163c0: ; 1163c0
+ ld a, [rSVBK]
+ push af
+ ld a, $1
+ ld [rSVBK], a
+ ld a, $a0
+ ld hl, Sprites
+ ld bc, 16 * 4
+ call ByteFill
+ call DelayFrame
+ callba Function14146
+ ld b, SCGB_MAPPALS
+ call GetSGBLayout
+ ld a, [rSVBK]
+ push af
+ ld a, $5
+ ld [rSVBK], a
+ ld hl, $c320
+ ld de, wd030
+ ld bc, $0010
+ call CopyBytes
+ pop af
+ ld [rSVBK], a
+ call SetPalettes
+ call DelayFrame
+ ld a, $90
+ ld [hWY], a
+ call UpdateSprites
+ callba Function14157
+ pop af
+ ld [rSVBK], a
+ callba ReloadMapPart
+ ld a, [wLinkMode]
+ cp $4
+ jr z, .asm_11642a
+ ld a, $8
+ ld [MusicFade], a
+ ld a, [wMapMusic]
+ ld [MusicFadeIDLo], a
+ xor a
+ ld [MusicFadeIDHi], a
+ jr .asm_116439
+
+.asm_11642a
+ ld a, $8
+ ld [MusicFade], a
+ ld a, $0
+ ld [MusicFadeIDLo], a
+ ld a, $0
+ ld [MusicFadeIDHi], a
+
+.asm_116439
+ xor a
+ ld [$c319], a
+ ld [wc30d], a
+ ret
+
+; 116441
+
+Function116441: ; 116441
+ callba Function17d405
+ ld a, $90
+ ld [hWY], a
+ callba ReloadMapPart
+ ld a, $8
+ ld [MusicFade], a
+ ld a, [wMapMusic]
+ ld [MusicFadeIDLo], a
+ xor a
+ ld [MusicFadeIDHi], a
+ xor a
+ ld [$c319], a
+ ld [wc30d], a
+ ret
+
+; 116468
+
+Function116468: ; 116468
+ call Function116567
+ ld a, [wc314]
+ cp $d
+ jr nz, .asm_1164a8
+ ld hl, wc30e
+ ld a, [hl]
+ cp $50
+ jr nc, .asm_116484
+ ld a, $50
+ sub [hl]
+ add $50
+ ld [wc3f1], a
+ jr .asm_11648d
+
+.asm_116484
+ sub $50
+ ld c, a
+ ld a, $50
+ sub c
+ ld [wc3f1], a
+
+.asm_11648d
+ ld hl, wc30f
+ ld a, [hl]
+ cp $60
+ jr nc, .asm_11649e
+ ld a, $60
+ sub [hl]
+ add $60
+ ld [wc3f3], a
+ ret
+
+.asm_11649e
+ sub $60
+ ld c, a
+ ld a, $60
+ sub c
+ ld [wc3f3], a
+ ret
+
+.asm_1164a8
+ ld hl, wc30e
+ ld a, $b0
+ cp [hl]
+ jr nc, .asm_1164b8
+ ld a, [wc3f1]
+ and a
+ jr z, .asm_11650b
+ jr .asm_1164f2
+
+.asm_1164b8
+ ld a, [wc3f1]
+ sub [hl]
+ jr nc, .asm_1164c1
+ xor $ff
+ inc a
+
+.asm_1164c1
+ ld b, a
+ ld c, $0
+ ld a, $5
+.asm_1164c6
+ srl b
+ rr c
+ dec a
+ jr nz, .asm_1164c6
+ ld a, c
+ ld [wc3fa], a
+ ld a, b
+ ld [wc3f9], a
+ ld a, [wc3f1]
+ sub [hl]
+ jr c, .asm_1164f2
+ ld c, $0
+ ld a, [wc3fa]
+ xor $ff
+ add $1
+ rl c
+ ld [wc3fa], a
+ ld a, [wc3f9]
+ xor $ff
+ add c
+ ld [wc3f9], a
+
+.asm_1164f2
+ ld a, [wc3f2]
+ ld l, a
+ ld a, [wc3f1]
+ ld h, a
+ ld a, [wc3fa]
+ ld e, a
+ ld a, [wc3f9]
+ ld d, a
+ add hl, de
+ ld a, l
+ ld [wc3f2], a
+ ld a, h
+ ld [wc3f1], a
+
+.asm_11650b
+ ld hl, wc30f
+ ld a, $b0
+ cp [hl]
+ jr c, .asm_11654d
+ ld a, [wc3f3]
+ sub [hl]
+ jr nc, .asm_11651c
+ xor $ff
+ inc a
+
+.asm_11651c
+ ld b, a
+ ld c, $0
+ ld a, $5
+.asm_116521
+ srl b
+ rr c
+ dec a
+ jr nz, .asm_116521
+ ld a, c
+ ld [wc3fc], a
+ ld a, b
+ ld [wc3fb], a
+ ld a, [wc3f3]
+ sub [hl]
+ jr c, .asm_11654d
+ ld c, $0
+ ld a, [wc3fc]
+ xor $ff
+ add $1
+ rl c
+ ld [wc3fc], a
+ ld a, [wc3fb]
+ xor $ff
+ add c
+ ld [wc3fb], a
+
+.asm_11654d
+ ld a, [wc3f4]
+ ld l, a
+ ld a, [wc3f3]
+ ld h, a
+ ld a, [wc3fc]
+ ld e, a
+ ld a, [wc3fb]
+ ld d, a
+ add hl, de
+ ld a, l
+ ld [wc3f4], a
+ ld a, h
+ ld [wc3f3], a
+ ret
diff --git a/misc/mobile_46.asm b/misc/mobile_46.asm
index 95608e2a5..a5f9bbddb 100755
--- a/misc/mobile_46.asm
+++ b/misc/mobile_46.asm
@@ -1118,7 +1118,7 @@ Function1188c8: ; 1188c8 (46:48c8)
ld a, $1
ld [wcd65], a
call Function1188e7
- ld hl, wc708
+ ld hl, $c708
.asm_1188d3
ld a, [de]
inc de
@@ -1127,7 +1127,7 @@ Function1188c8: ; 1188c8 (46:48c8)
jr nz, .asm_1188d3
call Function119eb4
call Function119ec2
- ld hl, wc708
+ ld hl, $c708
ld a, $6
jp Function119e2b
@@ -1908,9 +1908,9 @@ Function118f68:
ld [hli], a
ld a, [wcd4c]
ld [hli], a
- ld a, wc708 % $100
+ ld a, $c708 % $100
ld [hli], a
- ld a, wc708 / $100
+ ld a, $c708 / $100
ld [hli], a
ld a, $60
ld [hli], a
@@ -2537,9 +2537,9 @@ Function1193a0:
ld [hli], a
xor a
ld [hli], a
- ld a, wc708 % $100
+ ld a, $c708 % $100
ld [hli], a
- ld a, wc708 / $100
+ ld a, $c708 / $100
ld [hli], a
ld a, $60
ld [hli], a
@@ -2975,7 +2975,7 @@ Function119694: ; 119694 (46:5694)
ld b, 0
ld hl, Unknown_1196b8
.asm_119699
- ld de, wc708
+ ld de, $c708
ld a, [de]
inc de
cp [hl]
@@ -3018,7 +3018,7 @@ SECTION "bank46_2", ROMX, BANK[$46]
; A hack to use ascii above.
Function1196cd: ; 1196cd (46:56cd)
- ld de, wc719
+ ld de, $c719
call Function1196de
ld [wcd4a], a
inc de
@@ -3029,6 +3029,8 @@ Function1196cd: ; 1196cd (46:56cd)
Function1196de: ; 1196de (46:56de)
ld a, [de]
inc de
+ ; b = ([de] - 48) * 2
+ ; c = ([de] - 48) * 10
sub $30
sla a
ld b, a
@@ -3362,9 +3364,9 @@ Function1198f7:
ld [hli], a
xor a
ld [hli], a
- ld a, wc708 % $100
+ ld a, $c708 % $100
ld [hli], a
- ld a, wc708 / $100
+ ld a, $c708 / $100
ld [hli], a
ld a, [wcd51]
ld [hli], a
@@ -7231,7 +7233,7 @@ Function11b483: ; 11b483
jp Function11ad8a
.InitRAM
- ld bc, wc626
+ ld bc, $c626
ld a, [PlayerID]
ld [wcd2a], a
ld [bc], a
@@ -7444,9 +7446,9 @@ Function11b6b4: ; 11b6b4
ld a, $5
call GetSRAMBank
ld a, [wcd30]
- ld [wc708], a
+ ld [$c708], a
ld a, [wcd31]
- ld [wc709], a
+ ld [$c709], a
ld a, $c708 % $100
ld [wMobileMonSpeciesPointerBuffer], a
@@ -7735,8 +7737,8 @@ Function11b920: ; 11b920
ld a, $5
call GetSRAMBank
ld hl, $a81f
- ld de, wc626
- ld bc, $0008
+ ld de, $c626
+ ld bc, 8
call CopyBytes
call CloseSRAM
call Function118000
diff --git a/misc/mobile_5c.asm b/misc/mobile_5c.asm
index 321ea9382..b8710a78a 100755
--- a/misc/mobile_5c.asm
+++ b/misc/mobile_5c.asm
@@ -1,32 +1,32 @@
Function170000: ; 170000
ld a, [$c62b]
- ld [$c6d0], a
+ ld [wPlayerTrademonSpecies], a
ld hl, $c62e
- ld de, $c6e7
+ ld de, wPlayerTrademonSenderName
ld bc, $0005
call CopyBytes
ld a, $50
ld [de], a
ld hl, $c663
- ld de, $c6f2
+ ld de, wPlayerTrademonOTName
ld bc, $0005
call CopyBytes
ld a, $50
ld [de], a
ld hl, $c648
ld a, [hli]
- ld [$c6fd], a
+ ld [wPlayerTrademonDVs], a
ld a, [hl]
- ld [$c6fe], a
+ ld [wPlayerTrademonDVs + 1], a
ld hl, $c639
ld a, [hli]
- ld [$c6ff], a
+ ld [wPlayerTrademonID], a
ld a, [hl]
- ld [wc700], a
+ ld [wPlayerTrademonID + 1], a
ld bc, $c633
callba GetCaughtGender
ld a, c
- ld [wc701], a
+ ld [wPlayerTrademonCaughtData], a
ld a, [wcd81]
ld [wc74e], a
ld hl, $c608
@@ -41,33 +41,33 @@ Function17005a: ; 17005a
ld a, $5
call GetSRAMBank
ld a, [$a824]
- ld [wc702], a
+ ld [wOTTrademonSpecies], a
ld hl, $a827
- ld de, wc719
- ld bc, $0005
+ ld de, wOTTrademonSenderName
+ ld bc, 5 ; Japanese Name Length
call CopyBytes
- ld a, $50
+ ld a, "@"
ld [de], a
ld hl, $a85c
- ld de, wc724
- ld bc, $0005
+ ld de, wOTTrademonOTName
+ ld bc, 5 ; Japanese Name Length
call CopyBytes
- ld a, $50
+ ld a, "@"
ld [de], a
ld hl, $a841
ld a, [hli]
- ld [wEnemyTrappingMove], a
+ ld [wOTTrademonDVs], a
ld a, [hl]
- ld [wPlayerWrapCount], a
+ ld [wOTTrademonDVs + 1], a
ld hl, $a832
ld a, [hli]
- ld [wEnemyWrapCount], a
+ ld [wOTTrademonID], a
ld a, [hl]
- ld [wPlayerCharging], a
+ ld [wOTTrademonID + 1], a
ld bc, $a82c
callba GetCaughtGender
ld a, c
- ld [wEnemyCharging], a
+ ld [wOTTrademonCaughtData], a
ld a, [wcd81]
ld [wc74e], a
call CloseSRAM
diff --git a/misc/mobile_5f.asm b/misc/mobile_5f.asm
index 044038e38..e031d962c 100644
--- a/misc/mobile_5f.asm
+++ b/misc/mobile_5f.asm
@@ -277,7 +277,7 @@ Function17d0f3: ; 17d0f3
ld [wOTTrademonSpecies], a
ld [CurPartySpecies], a
ld a, [wcd81]
- ld [wc74e], a
+ ld [$c74e], a
ld hl, $c63d
ld de, wOTTrademonOTName
ld bc, 5
@@ -1000,7 +1000,7 @@ Function17d60b: ; 17d60b
call CloseSRAM
ld a, $6
call GetSRAMBank
- ld de, wc708
+ ld de, $c708
ld a, c
and a
jr z, .asm_17d684
@@ -1060,7 +1060,7 @@ Function17d60b: ; 17d60b
call CloseSRAM
ld a, $5
call GetSRAMBank
- ld hl, wc708
+ ld hl, $c708
ld de, $b1b3
ld a, [$b1b1]
ld c, a
@@ -1477,7 +1477,7 @@ Function17d902: ; 17d902
Function17d93a: ; 17d93a
call Function17e415
- ld de, wc708
+ ld de, $c708
ld bc, $0005
call CopyBytes
call Function17e41e
@@ -1486,25 +1486,25 @@ Function17d93a: ; 17d93a
push af
ld a, $1
ld [rSVBK], a
- ld a, [wc70c]
+ ld a, [$c70c]
call Function17e6de
- ld a, [wc70a]
+ ld a, [$c70a]
ld [CurPartySpecies], a
- ld a, [wc70c]
+ ld a, [$c70c]
ld e, a
callba Function8bc6
call SetPalettes
- ld a, [wc708]
+ ld a, [$c708]
ld l, a
- ld a, [wc709]
+ ld a, [$c709]
ld h, a
- ld a, [wc70b]
+ ld a, [$c70b]
ld c, a
decoord 0, 0
add hl, de
ld e, l
ld d, h
- callba Functiond066e
+ callba HOF_AnimateFrontpic
pop af
ld [rSVBK], a
call Function17e349
@@ -1513,7 +1513,7 @@ Function17d93a: ; 17d93a
Function17d98b: ; 17d98b
call Function17e415
- ld de, wc708
+ ld de, $c708
ld bc, $0004
call CopyBytes
call Function17e41e
@@ -1522,17 +1522,17 @@ Function17d98b: ; 17d98b
push af
ld a, $1
ld [rSVBK], a
- ld a, [wc70b]
+ ld a, [$c70b]
call Function17e6de
- ld a, [wc70a]
+ ld a, [$c70a]
ld [TrainerClass], a
- ld a, [wc70b]
+ ld a, [$c70b]
ld e, a
callba Function8bbd
call SetPalettes
- ld a, [wc708]
+ ld a, [$c708]
ld e, a
- ld a, [wc709]
+ ld a, [$c709]
ld d, a
push de
ld de, VTiles2
@@ -1541,7 +1541,7 @@ Function17d98b: ; 17d98b
decoord 0, 0
add hl, de
ld bc, $0707
- predef FillBox
+ predef PlaceGraphic
pop af
ld [rSVBK], a
call Function17e349
@@ -1550,34 +1550,34 @@ Function17d98b: ; 17d98b
Function17d9e3: ; 17d9e3
call Function17e415
- ld de, wc708
+ ld de, $c708
ld bc, $0007
call CopyBytes
call Function17e41e
- ld a, [wc70b]
+ ld a, [$c70b]
push af
cp $c0
jr c, .asm_17da01
- ld a, [wc70c]
+ ld a, [$c70c]
ld [rSVBK], a
jr .asm_17da07
.asm_17da01
- ld a, [wc70c]
+ ld a, [$c70c]
call GetSRAMBank
.asm_17da07
- ld a, [wc708]
+ ld a, [$c708]
ld l, a
- ld a, [wc709]
+ ld a, [$c709]
ld h, a
- ld a, [wc70a]
+ ld a, [$c70a]
ld e, a
- ld a, [wc70b]
+ ld a, [$c70b]
ld d, a
- ld a, [wc70d]
+ ld a, [$c70d]
ld c, a
- ld a, [wc70e]
+ ld a, [$c70e]
ld b, a
call CopyBytes
pop af
@@ -1596,28 +1596,28 @@ Function17d9e3: ; 17d9e3
Function17da31: ; 17da31
call Function17e415
- ld de, wc708
+ ld de, $c708
ld bc, $0004
call CopyBytes
call Function17e41e
- ld a, [wc709]
+ ld a, [$c709]
push af
cp $c0
jr c, .asm_17da4f
- ld a, [wc70a]
+ ld a, [$c70a]
ld [rSVBK], a
jr .asm_17da55
.asm_17da4f
- ld a, [wc70a]
+ ld a, [$c70a]
call GetSRAMBank
.asm_17da55
- ld a, [wc708]
+ ld a, [$c708]
ld e, a
- ld a, [wc709]
+ ld a, [$c709]
ld d, a
- ld a, [wc70b]
+ ld a, [$c70b]
ld c, a
bit 7, c
jr nz, .asm_17da70
@@ -1897,22 +1897,22 @@ Function17dc1f: ; 17dc1f
ld [rSVBK], a
ld hl, $c688
ld a, $40
- ld [wc708], a
+ ld [$c708], a
ld a, [hli]
- ld [wc70a], a
+ ld [$c70a], a
add $5
- ld [wc70c], a
+ ld [$c70c], a
ld a, [hli]
- ld [wc709], a
+ ld [$c709], a
add $4
- ld [wc70b], a
+ ld [$c70b], a
ld a, $96
- ld [wc70d], a
+ ld [$c70d], a
ld a, $5c
- ld [wc70e], a
+ ld [$c70e], a
ld a, $1
- ld [wEnemyGoesFirst], a
- ld hl, wc708
+ ld [$c70f], a
+ ld hl, $c708
call LoadMenuDataHeader
call VerticalMenu
jr nc, .asm_17dc6e
@@ -2075,112 +2075,112 @@ Function17dd30: ; 17dd30
Function17dd49: ; 17dd49
call Function17e415
- ld de, wc708
+ ld de, $c708
ld bc, $000a
call CopyBytes
- ld a, [wc711]
+ ld a, [$c711]
ld c, a
ld b, $0
call CopyBytes
- ld a, [wc70a]
+ ld a, [$c70a]
cp $c0
- jr c, .asm_17dd6c
- ld a, [wc708]
+ jr c, .sram
+ ld a, [$c708]
ld [rSVBK], a
- jr .asm_17dd72
+ jr .got_bank
-.asm_17dd6c
- ld a, [wc708]
+.sram
+ ld a, [$c708]
call GetSRAMBank
-.asm_17dd72
- ld a, [wc709]
+.got_bank
+ ld a, [$c709]
ld l, a
- ld a, [wc70a]
+ ld a, [$c70a]
ld h, a
ld de, $c688
- ld a, [wc711]
+ ld a, [$c711]
ld c, a
ld b, $0
call CopyBytes
- ld a, [wc70a]
+ ld a, [$c70a]
cp $c0
- jr c, .asm_17dd93
+ jr c, .close_sram
ld a, $4
ld [rSVBK], a
- jr .asm_17dd96
+ jr .exited_bank
-.asm_17dd93
+.close_sram
call CloseSRAM
-.asm_17dd96
- ld a, [wc711]
+.exited_bank
+ ld a, [$c711]
ld c, a
- ld hl, wc712
+ ld hl, $c712
ld de, $c688
-.asm_17dda0
+.loop
ld a, [de]
inc de
cp [hl]
inc hl
- jr z, .asm_17ddaa
- jr c, .asm_17ddc1
- jr .asm_17ddb7
+ jr z, .next
+ jr c, .load
+ jr .load2
-.asm_17ddaa
+.next
dec c
- jr nz, .asm_17dda0
- ld a, [wc70d]
+ jr nz, .loop
+ ld a, [$c70d]
ld l, a
- ld a, [wc70e]
+ ld a, [$c70e]
ld h, a
- jr .asm_17ddc9
+ jr .done
-.asm_17ddb7
- ld a, [wEnemyGoesFirst]
+.load2
+ ld a, [$c70f]
ld l, a
- ld a, [wc710]
+ ld a, [$c710]
ld h, a
- jr .asm_17ddc9
+ jr .done
-.asm_17ddc1
- ld a, [wc70b]
+.load
+ ld a, [$c70b]
ld l, a
- ld a, [wc70c]
+ ld a, [$c70c]
ld h, a
-.asm_17ddc9
+.done
call Function17e40f
ret
; 17ddcd
Function17ddcd: ; 17ddcd
call Function17e415
- ld de, wc708
+ ld de, $c708
ld bc, $0008
call CopyBytes
- ld a, [wc70a]
+ ld a, [$c70a]
cp $c0
jr c, .asm_17dde7
- ld a, [wc708]
+ ld a, [$c708]
ld [rSVBK], a
jr .asm_17dded
.asm_17dde7
- ld a, [wc708]
+ ld a, [$c708]
call GetSRAMBank
.asm_17dded
- ld a, [wc709]
+ ld a, [$c709]
ld e, a
- ld a, [wc70a]
+ ld a, [$c70a]
ld d, a
ld a, [de]
- ld [wc710], a
- ld a, [wc70b]
+ ld [$c710], a
+ ld a, [$c70b]
ld c, a
ld b, $0
- ld a, [wc70a]
+ ld a, [$c70a]
cp $c0
jr c, .asm_17de0c
ld a, $4
@@ -2195,20 +2195,20 @@ Function17ddcd: ; 17ddcd
ld hl, Unknown_17da8c
add hl, bc
ld a, [hl]
- ld hl, wc710
+ ld hl, $c710
and [hl]
pop hl
jr nz, .asm_17de26
- ld a, [wc70e]
+ ld a, [$c70e]
ld l, a
- ld a, [wEnemyGoesFirst]
+ ld a, [$c70f]
ld h, a
jr .asm_17de2e
.asm_17de26
- ld a, [wc70c]
+ ld a, [$c70c]
ld l, a
- ld a, [wc70d]
+ ld a, [$c70d]
ld h, a
.asm_17de2e
@@ -2218,26 +2218,26 @@ Function17ddcd: ; 17ddcd
Function17de32: ; 17de32
call Function17e415
- ld de, wc708
+ ld de, $c708
ld bc, $0009
call CopyBytes
- ld a, [wc710]
+ ld a, [$c710]
ld c, a
ld b, $0
call CopyBytes
ld a, $6
call GetSRAMBank
call Function17f4f6
- ld a, [wc708]
+ ld a, [$c708]
ld e, a
- ld a, [wc709]
+ ld a, [$c709]
ld d, a
add hl, de
ld e, l
ld d, h
- ld a, [wc710]
+ ld a, [$c710]
ld c, a
- ld hl, wc711
+ ld hl, $c711
.asm_17de61
ld a, [de]
inc de
@@ -2250,23 +2250,23 @@ Function17de32: ; 17de32
.asm_17de6b
dec c
jr nz, .asm_17de61
- ld a, [wc70c]
+ ld a, [$c70c]
ld l, a
- ld a, [wc70d]
+ ld a, [$c70d]
ld h, a
jr .asm_17de8a
.asm_17de78
- ld a, [wc70e]
+ ld a, [$c70e]
ld l, a
- ld a, [wEnemyGoesFirst]
+ ld a, [$c70f]
ld h, a
jr .asm_17de8a
.asm_17de82
- ld a, [wc70a]
+ ld a, [$c70a]
ld l, a
- ld a, [wc70b]
+ ld a, [$c70b]
ld h, a
.asm_17de8a
@@ -2277,20 +2277,20 @@ Function17de32: ; 17de32
Function17de91: ; 17de91
call Function17e415
- ld de, wc708
+ ld de, $c708
ld bc, $0007
call CopyBytes
ld a, $6
call GetSRAMBank
call Function17f4f6
- ld a, [wc708]
+ ld a, [$c708]
ld e, a
- ld a, [wc709]
+ ld a, [$c709]
ld d, a
add hl, de
ld e, l
ld d, h
- ld a, [wc70a]
+ ld a, [$c70a]
ld c, a
ld b, $0
ld hl, Unknown_17da8c
@@ -2300,16 +2300,16 @@ Function17de91: ; 17de91
ld h, d
and [hl]
jr nz, .asm_17deca
- ld a, [wc70d]
+ ld a, [$c70d]
ld l, a
- ld a, [wc70e]
+ ld a, [$c70e]
ld h, a
jr .asm_17ded2
.asm_17deca
- ld a, [wc70b]
+ ld a, [$c70b]
ld l, a
- ld a, [wc70c]
+ ld a, [$c70c]
ld h, a
.asm_17ded2
@@ -2320,7 +2320,7 @@ Function17de91: ; 17de91
Function17ded9: ; 17ded9
call Function17e415
- ld de, wc708
+ ld de, $c708
ld bc, $001f
call CopyBytes
call Function17e32b
@@ -2328,7 +2328,7 @@ Function17ded9: ; 17ded9
push af
ld a, $1
ld [rSVBK], a
- ld hl, wc708
+ ld hl, $c708
ld a, [hli]
ld [CurPartySpecies], a
ld [TempEnemyMonSpecies], a
@@ -2661,14 +2661,14 @@ asm_17e0ee
Function17e0fd: ; 17e0fd
call Function17e415
- ld de, wc708
+ ld de, $c708
ld bc, $0006
call CopyBytes
ld a, [rSVBK]
push af
ld a, $1
ld [rSVBK], a
- ld hl, wc708
+ ld hl, $c708
ld a, [hli]
ld [CurItem], a
ld a, [hli]
@@ -2695,14 +2695,14 @@ Function17e0fd: ; 17e0fd
Function17e133: ; 17e133
call Function17e415
- ld de, wc708
+ ld de, $c708
ld bc, $0005
call CopyBytes
ld a, [rSVBK]
push af
ld a, $1
ld [rSVBK], a
- ld hl, wc708
+ ld hl, $c708
ld a, [hli]
ld [ScriptVar], a
push hl
@@ -2726,14 +2726,14 @@ Function17e133: ; 17e133
Function17e165: ; 17e165
call Function17e415
- ld de, wc708
+ ld de, $c708
ld bc, $0005
call CopyBytes
ld a, [rSVBK]
push af
ld a, $1
ld [rSVBK], a
- ld hl, wc708
+ ld hl, $c708
ld a, [hli]
ld [CurItem], a
push hl
@@ -2763,31 +2763,31 @@ Function17e165: ; 17e165
Function17e1a1: ; 17e1a1
call Function17e415
- ld de, wc708
+ ld de, $c708
ld bc, $000d
call CopyBytes
- ld a, [wc70a]
+ ld a, [$c70a]
cp $c0
jr c, .asm_17e1bb
- ld a, [wc708]
+ ld a, [$c708]
ld [rSVBK], a
jr .asm_17e1c1
.asm_17e1bb
- ld a, [wc708]
+ ld a, [$c708]
call GetSRAMBank
.asm_17e1c1
- ld a, [wc709]
+ ld a, [$c709]
ld l, a
- ld a, [wc70a]
+ ld a, [$c70a]
ld h, a
ld de, $c608
- ld a, [wc70b]
+ ld a, [$c70b]
ld c, a
ld b, $0
call CopyBytes
- ld a, [wc70a]
+ ld a, [$c70a]
cp $c0
jr c, .asm_17e1e2
ld a, $4
@@ -2798,28 +2798,28 @@ Function17e1a1: ; 17e1a1
call CloseSRAM
.asm_17e1e5
- ld a, [wc70e]
+ ld a, [$c70e]
cp $c0
jr c, .asm_17e1f3
- ld a, [wc70c]
+ ld a, [$c70c]
ld [rSVBK], a
jr .asm_17e1f9
.asm_17e1f3
- ld a, [wc70c]
+ ld a, [$c70c]
call GetSRAMBank
.asm_17e1f9
- ld a, [wc70d]
+ ld a, [$c70d]
ld l, a
- ld a, [wc70e]
+ ld a, [$c70e]
ld h, a
ld de, $c688
- ld a, [wc70b]
+ ld a, [$c70b]
ld c, a
ld b, $0
call CopyBytes
- ld a, [wc70e]
+ ld a, [$c70e]
cp $c0
jr c, .asm_17e21a
ld a, $4
@@ -2830,7 +2830,7 @@ Function17e1a1: ; 17e1a1
call CloseSRAM
.asm_17e21d
- ld a, [wc70b]
+ ld a, [$c70b]
ld c, a
ld hl, $c688
ld de, $c608
@@ -2846,23 +2846,23 @@ Function17e1a1: ; 17e1a1
.asm_17e231
dec c
jr nz, .asm_17e227
- ld a, [wc711]
+ ld a, [$c711]
ld l, a
- ld a, [wc712]
+ ld a, [$c712]
ld h, a
jr .asm_17e250
.asm_17e23e
- ld a, [wEnemyGoesFirst]
+ ld a, [$c70f]
ld l, a
- ld a, [wc710]
+ ld a, [$c710]
ld h, a
jr .asm_17e250
.asm_17e248
- ld a, [wc712 + 1]
+ ld a, [$c712 + 1]
ld l, a
- ld a, [wc712 + 2]
+ ld a, [$c712 + 2]
ld h, a
.asm_17e250
@@ -3647,9 +3647,9 @@ Function17e691: ; 17e691
Function17e6de: ; 17e6de
push af
- ld a, [wc708]
+ ld a, [$c708]
ld l, a
- ld a, [wc709]
+ ld a, [$c709]
ld h, a
decoord 0, 0, AttrMap
add hl, de
@@ -4345,14 +4345,14 @@ Function17f382: ; 17f382
Function17f3c9: ; 17f3c9
push bc
ld hl, wcd36
- ld de, wc708
+ ld de, $c708
ld bc, $000c
call CopyBytes
pop de
ld c, $0
callba Function11c075
push hl
- ld hl, wc708
+ ld hl, $c708
ld de, wcd36
ld bc, $000c
call CopyBytes
diff --git a/predef/cgb.asm b/predef/cgb.asm
index 9554dd9c8..e945c4062 100644
--- a/predef/cgb.asm
+++ b/predef/cgb.asm
@@ -51,7 +51,7 @@ Predef_LoadSGBLayoutCGB: ; 8d59
dw _CGB0f
dw _CGB_PokedexSearchOption
dw _CGB11
- dw _CGB12
+ dw _CGB_Pokepic
dw _CGB13
dw _CGB_PackPals
dw _CGB_TrainerCard
@@ -948,7 +948,7 @@ _CGB_PackPals: ; 93d3
RGB 00, 00, 00
; 9499
-_CGB12: ; 9499
+_CGB_Pokepic: ; 9499
call _CGB_MapPals
ld de, SCREEN_WIDTH
hlcoord 0, 0, AttrMap
diff --git a/sram.asm b/sram.asm
index b103e7bc7..7e52d92c1 100644
--- a/sram.asm
+++ b/sram.asm
@@ -122,16 +122,25 @@ s1_ad0f:: ds 1 ; loaded with 0x7f, used to check save corruption
; b160
ds $f4
-s1_b254:: ds $c
+sLinkBattleResults:: ds $c
sLinkBattleStats:: ; b260
sLinkBattleWins:: ds 2
sLinkBattleLosses:: ds 2 ; b262
sLinkBattleDraws:: ds 2 ; b264
-s1_b266::
- ds 17
-s1_b277::
- ds 73
+link_battle_record: MACRO
+\1Name:: ds NAME_LENGTH +- 1
+\1ID:: ds 2
+\1Wins:: ds 2
+\1Losses:: ds 2
+\1Draws:: ds 2
+endm
+sLinkBattleRecord::
+sLinkBattleRecord1:: link_battle_record sLinkBattleRecord1
+sLinkBattleRecord2:: link_battle_record sLinkBattleRecord2
+sLinkBattleRecord3:: link_battle_record sLinkBattleRecord3
+sLinkBattleRecord4:: link_battle_record sLinkBattleRecord4
+sLinkBattleRecord5:: link_battle_record sLinkBattleRecord5
sLinkBattleStatsEnd::
sHallOfFame:: ; b2c0
diff --git a/text/battle.asm b/text/battle.asm
index 42bf2b7c0..b9b121455 100644
--- a/text/battle.asm
+++ b/text/battle.asm
@@ -104,7 +104,7 @@ PerishCountText: ; 0x80864
prompt
; 0x80880
-BattleText_0x80880: ; 0x80880
+BattleText_TargetRecoveredWithItem: ; 0x80880
text "<TARGET>"
line "recovered with"
cont "@"
@@ -122,7 +122,7 @@ BattleText_UserRecoveredPPUsing: ; 0x80899
prompt
; 0x808b6
-BattleText_0x808b6: ; 0x808b6
+BattleText_TargetWasHitByFutureSight: ; 0x808b6
text "<TARGET>"
line "was hit by FUTURE"
cont "SIGHT!"
@@ -135,14 +135,14 @@ BattleText_SafeguardFaded: ; 0x808d2
prompt
; 0x808e7
-BattleText_PkmnnLightScreenFell: ; 0x808e7
+BattleText_PkmnLightScreenFell: ; 0x808e7
text_from_ram StringBuffer1
text " #MON's"
line "LIGHT SCREEN fell!"
prompt
; 0x80905
-BattleText_0x80905: ; 0x80905
+BattleText_PkmnReflectFaded: ; 0x80905
text_from_ram StringBuffer1
text " #MON's"
line "REFLECT faded!"
diff --git a/text/common_1.asm b/text/common_1.asm
index 21150ab53..34694b31e 100644
--- a/text/common_1.asm
+++ b/text/common_1.asm
@@ -368,10 +368,10 @@ UnknownText_0x1bc6c7::
done
UnknownText_0x1bc6e9::
- text_from_ram wc6d1
+ text_from_ram wPlayerTrademonSpeciesName
text " was"
line "sent to @"
- text_from_ram wc719
+ text_from_ram wOTTrademonSenderName
text "."
done
@@ -380,104 +380,104 @@ UnknownText_0x1bc701::
done
UnknownText_0x1bc703::
- text_from_ram wc719
+ text_from_ram wOTTrademonSenderName
text " bids"
line "farewell to"
done
UnknownText_0x1bc719::
- text_from_ram wc703
+ text_from_ram wOTTrademonSpeciesName
text "."
done
UnknownText_0x1bc71f::
text "Take good care of"
line "@"
- text_from_ram wc703
+ text_from_ram wOTTrademonSpeciesName
text "."
done
UnknownText_0x1bc739::
text "For @"
- text_from_ram wc6e7
+ text_from_ram wPlayerTrademonSenderName
text "'s"
line "@"
- text_from_ram wc6d1
+ text_from_ram wPlayerTrademonSpeciesName
text ","
done
UnknownText_0x1bc74c::
- text_from_ram wc719
+ text_from_ram wOTTrademonSenderName
text " sends"
line "@"
- text_from_ram wc703
+ text_from_ram wOTTrademonSpeciesName
text "."
done
UnknownText_0x1bc75e::
- text_from_ram wc719
+ text_from_ram wOTTrademonSenderName
text " will"
line "trade @"
- text_from_ram wc703
+ text_from_ram wOTTrademonSpeciesName
db "@@"
UnknownText_0x1bc774::
text "for @"
- text_from_ram wc6e7
+ text_from_ram wPlayerTrademonSenderName
text "'s"
line "@"
- text_from_ram wc6d1
+ text_from_ram wPlayerTrademonSpeciesName
text "."
done
UnknownText_0x1bc787::
- text_from_ram wc6e7
+ text_from_ram wPlayerTrademonSenderName
text " will"
line "trade @"
- text_from_ram wc6d1
+ text_from_ram wPlayerTrademonSpeciesName
db "@@"
UnknownText_0x1bc79d::
text "for @"
- text_from_ram wc719
+ text_from_ram wOTTrademonSenderName
text "'s"
line "@"
- text_from_ram wc703
+ text_from_ram wOTTrademonSpeciesName
text "."
done
UnknownText_0x1bc7b0::
- text_from_ram wc6e7
+ text_from_ram wPlayerTrademonSenderName
text "'s"
line "@"
- text_from_ram wc6d1
+ text_from_ram wPlayerTrademonSpeciesName
text " trade…"
done
UnknownText_0x1bc7c3::
text "Take good care of"
line "@"
- text_from_ram wc703
+ text_from_ram wOTTrademonSpeciesName
text "."
done
UnknownText_0x1bc7dd::
- text_from_ram wc6e7
+ text_from_ram wPlayerTrademonSenderName
text "'s"
line "@"
- text_from_ram wc6d1
+ text_from_ram wPlayerTrademonSpeciesName
text " trade…"
done
UnknownText_0x1bc7f0::
text "Take good care of"
line "@"
- text_from_ram wc703
+ text_from_ram wOTTrademonSpeciesName
text "."
done
UnknownText_0x1bc80a::
- text_from_ram wc703
+ text_from_ram wOTTrademonSpeciesName
text " came"
line "back!"
done
diff --git a/tilesets/collision.asm b/tilesets/collision.asm
new file mode 100755
index 000000000..879d44e72
--- /dev/null
+++ b/tilesets/collision.asm
@@ -0,0 +1,264 @@
+
+; 00 land
+; 01 water
+; 0f wall
+; 11 talkable water
+; 1f talkable wall
+NONTALKABLE EQUS "db"
+TALKABLE EQUS "db TALK +"
+ NONTALKABLE LANDTILE ; 00
+ NONTALKABLE LANDTILE ; 01
+ NONTALKABLE LANDTILE ; 02
+ NONTALKABLE LANDTILE ; 03
+ NONTALKABLE LANDTILE ; 04
+ NONTALKABLE LANDTILE ; 05
+ NONTALKABLE LANDTILE ; 06
+ NONTALKABLE WATRTILE ; 07
+ NONTALKABLE LANDTILE ; 08
+ NONTALKABLE LANDTILE ; 09
+ NONTALKABLE LANDTILE ; 0a
+ NONTALKABLE LANDTILE ; 0b
+ NONTALKABLE LANDTILE ; 0c
+ NONTALKABLE LANDTILE ; 0d
+ NONTALKABLE LANDTILE ; 0e
+ NONTALKABLE WATRTILE ; 0f
+ NONTALKABLE LANDTILE ; 10
+ NONTALKABLE LANDTILE ; 11
+ TALKABLE WATRTILE ; 12
+ NONTALKABLE LANDTILE ; 13
+ NONTALKABLE LANDTILE ; 14
+ TALKABLE WATRTILE ; 15
+ NONTALKABLE LANDTILE ; 16
+ NONTALKABLE LANDTILE ; 17
+ NONTALKABLE LANDTILE ; 18
+ NONTALKABLE LANDTILE ; 19
+ TALKABLE WATRTILE ; 1a
+ NONTALKABLE LANDTILE ; 1b
+ NONTALKABLE LANDTILE ; 1c
+ TALKABLE WATRTILE ; 1d
+ NONTALKABLE LANDTILE ; 1e
+ NONTALKABLE LANDTILE ; 1f
+ NONTALKABLE WALLTILE ; 20
+ NONTALKABLE WALLTILE ; 21
+ TALKABLE WALLTILE ; 22
+ NONTALKABLE LANDTILE ; 23
+ TALKABLE WALLTILE ; 24
+ NONTALKABLE WALLTILE ; 25
+ NONTALKABLE WALLTILE ; 26
+ NONTALKABLE WATRTILE ; 27
+ NONTALKABLE WALLTILE ; 28
+ NONTALKABLE WALLTILE ; 29
+ TALKABLE WALLTILE ; 2a
+ NONTALKABLE LANDTILE ; 2b
+ TALKABLE WALLTILE ; 2c
+ NONTALKABLE WALLTILE ; 2d
+ NONTALKABLE WALLTILE ; 2e
+ NONTALKABLE WATRTILE ; 2f
+ NONTALKABLE WALLTILE ; 30
+ NONTALKABLE WALLTILE ; 31
+ NONTALKABLE WALLTILE ; 32
+ NONTALKABLE WALLTILE ; 33
+ NONTALKABLE WALLTILE ; 34
+ NONTALKABLE WALLTILE ; 35
+ NONTALKABLE WALLTILE ; 36
+ NONTALKABLE WALLTILE ; 37
+ NONTALKABLE WALLTILE ; 38
+ NONTALKABLE WALLTILE ; 39
+ NONTALKABLE WALLTILE ; 3a
+ NONTALKABLE WALLTILE ; 3b
+ NONTALKABLE WALLTILE ; 3c
+ NONTALKABLE WALLTILE ; 3d
+ NONTALKABLE WALLTILE ; 3e
+ NONTALKABLE WALLTILE ; 3f
+ NONTALKABLE LANDTILE ; 40
+ NONTALKABLE LANDTILE ; 41
+ NONTALKABLE LANDTILE ; 42
+ NONTALKABLE LANDTILE ; 43
+ NONTALKABLE LANDTILE ; 44
+ NONTALKABLE LANDTILE ; 45
+ NONTALKABLE LANDTILE ; 46
+ NONTALKABLE LANDTILE ; 47
+ NONTALKABLE LANDTILE ; 48
+ NONTALKABLE LANDTILE ; 49
+ NONTALKABLE LANDTILE ; 4a
+ NONTALKABLE LANDTILE ; 4b
+ NONTALKABLE LANDTILE ; 4c
+ NONTALKABLE LANDTILE ; 4d
+ NONTALKABLE LANDTILE ; 4e
+ NONTALKABLE LANDTILE ; 4f
+ NONTALKABLE LANDTILE ; 50
+ NONTALKABLE LANDTILE ; 51
+ NONTALKABLE LANDTILE ; 52
+ NONTALKABLE LANDTILE ; 53
+ NONTALKABLE LANDTILE ; 54
+ NONTALKABLE LANDTILE ; 55
+ NONTALKABLE LANDTILE ; 56
+ NONTALKABLE LANDTILE ; 57
+ NONTALKABLE LANDTILE ; 58
+ NONTALKABLE LANDTILE ; 59
+ NONTALKABLE LANDTILE ; 5a
+ NONTALKABLE LANDTILE ; 5b
+ NONTALKABLE LANDTILE ; 5c
+ NONTALKABLE LANDTILE ; 5d
+ NONTALKABLE LANDTILE ; 5e
+ NONTALKABLE LANDTILE ; 5f
+ NONTALKABLE LANDTILE ; 60
+ NONTALKABLE LANDTILE ; 61
+ NONTALKABLE WATRTILE ; 62
+ NONTALKABLE LANDTILE ; 63
+ NONTALKABLE LANDTILE ; 64
+ NONTALKABLE LANDTILE ; 65
+ NONTALKABLE LANDTILE ; 66
+ NONTALKABLE LANDTILE ; 67
+ NONTALKABLE LANDTILE ; 68
+ NONTALKABLE LANDTILE ; 69
+ NONTALKABLE WATRTILE ; 6a
+ NONTALKABLE LANDTILE ; 6b
+ NONTALKABLE LANDTILE ; 6c
+ NONTALKABLE LANDTILE ; 6d
+ NONTALKABLE LANDTILE ; 6e
+ NONTALKABLE LANDTILE ; 6f
+ NONTALKABLE LANDTILE ; 70
+ NONTALKABLE LANDTILE ; 71
+ NONTALKABLE LANDTILE ; 72
+ NONTALKABLE LANDTILE ; 73
+ NONTALKABLE LANDTILE ; 74
+ NONTALKABLE LANDTILE ; 75
+ NONTALKABLE LANDTILE ; 76
+ NONTALKABLE LANDTILE ; 77
+ NONTALKABLE LANDTILE ; 78
+ NONTALKABLE LANDTILE ; 79
+ NONTALKABLE LANDTILE ; 7a
+ NONTALKABLE LANDTILE ; 7b
+ NONTALKABLE LANDTILE ; 7c
+ NONTALKABLE LANDTILE ; 7d
+ NONTALKABLE LANDTILE ; 7e
+ NONTALKABLE LANDTILE ; 7f
+ NONTALKABLE WATRTILE ; 80
+ NONTALKABLE WATRTILE ; 81
+ NONTALKABLE WATRTILE ; 82
+ NONTALKABLE WATRTILE ; 83
+ NONTALKABLE WATRTILE ; 84
+ NONTALKABLE LANDTILE ; 85
+ NONTALKABLE LANDTILE ; 86
+ NONTALKABLE LANDTILE ; 87
+ NONTALKABLE WATRTILE ; 88
+ NONTALKABLE WATRTILE ; 89
+ NONTALKABLE WATRTILE ; 8a
+ NONTALKABLE WATRTILE ; 8b
+ NONTALKABLE WATRTILE ; 8c
+ NONTALKABLE LANDTILE ; 8d
+ NONTALKABLE LANDTILE ; 8e
+ NONTALKABLE LANDTILE ; 8f
+ NONTALKABLE WATRTILE ; 90
+ NONTALKABLE WATRTILE ; 91
+ NONTALKABLE WATRTILE ; 92
+ NONTALKABLE WATRTILE ; 93
+ NONTALKABLE WATRTILE ; 94
+ NONTALKABLE WATRTILE ; 95
+ NONTALKABLE WATRTILE ; 96
+ NONTALKABLE WATRTILE ; 97
+ NONTALKABLE WATRTILE ; 98
+ NONTALKABLE WATRTILE ; 99
+ NONTALKABLE WATRTILE ; 9a
+ NONTALKABLE WATRTILE ; 9b
+ NONTALKABLE WATRTILE ; 9c
+ NONTALKABLE WATRTILE ; 9d
+ NONTALKABLE WATRTILE ; 9e
+ NONTALKABLE WATRTILE ; 9f
+ NONTALKABLE LANDTILE ; a0
+ NONTALKABLE LANDTILE ; a1
+ NONTALKABLE LANDTILE ; a2
+ NONTALKABLE LANDTILE ; a3
+ NONTALKABLE LANDTILE ; a4
+ NONTALKABLE LANDTILE ; a5
+ NONTALKABLE LANDTILE ; a6
+ NONTALKABLE LANDTILE ; a7
+ NONTALKABLE LANDTILE ; a8
+ NONTALKABLE LANDTILE ; a9
+ NONTALKABLE LANDTILE ; aa
+ NONTALKABLE LANDTILE ; ab
+ NONTALKABLE LANDTILE ; ac
+ NONTALKABLE LANDTILE ; ad
+ NONTALKABLE LANDTILE ; ae
+ NONTALKABLE LANDTILE ; af
+ NONTALKABLE LANDTILE ; b0
+ NONTALKABLE LANDTILE ; b1
+ NONTALKABLE LANDTILE ; b2
+ NONTALKABLE LANDTILE ; b3
+ NONTALKABLE LANDTILE ; b4
+ NONTALKABLE LANDTILE ; b5
+ NONTALKABLE LANDTILE ; b6
+ NONTALKABLE LANDTILE ; b7
+ NONTALKABLE LANDTILE ; b8
+ NONTALKABLE LANDTILE ; b9
+ NONTALKABLE LANDTILE ; ba
+ NONTALKABLE LANDTILE ; bb
+ NONTALKABLE LANDTILE ; bc
+ NONTALKABLE LANDTILE ; bd
+ NONTALKABLE LANDTILE ; be
+ NONTALKABLE LANDTILE ; bf
+ NONTALKABLE WALLTILE ; c0
+ NONTALKABLE WALLTILE ; c1
+ NONTALKABLE WALLTILE ; c2
+ NONTALKABLE WALLTILE ; c3
+ NONTALKABLE WALLTILE ; c4
+ NONTALKABLE WALLTILE ; c5
+ NONTALKABLE WALLTILE ; c6
+ NONTALKABLE WALLTILE ; c7
+ NONTALKABLE WALLTILE ; c8
+ NONTALKABLE WALLTILE ; c9
+ NONTALKABLE WALLTILE ; ca
+ NONTALKABLE WALLTILE ; cb
+ NONTALKABLE WALLTILE ; cc
+ NONTALKABLE WALLTILE ; cd
+ NONTALKABLE WALLTILE ; ce
+ NONTALKABLE WALLTILE ; cf
+ NONTALKABLE LANDTILE ; d0
+ NONTALKABLE LANDTILE ; d1
+ NONTALKABLE LANDTILE ; d2
+ NONTALKABLE LANDTILE ; d3
+ NONTALKABLE LANDTILE ; d4
+ NONTALKABLE LANDTILE ; d5
+ NONTALKABLE LANDTILE ; d6
+ NONTALKABLE LANDTILE ; d7
+ NONTALKABLE LANDTILE ; d8
+ NONTALKABLE LANDTILE ; d9
+ NONTALKABLE LANDTILE ; da
+ NONTALKABLE LANDTILE ; db
+ NONTALKABLE LANDTILE ; dc
+ NONTALKABLE LANDTILE ; dd
+ NONTALKABLE LANDTILE ; de
+ NONTALKABLE LANDTILE ; df
+ NONTALKABLE LANDTILE ; e0
+ NONTALKABLE LANDTILE ; e1
+ NONTALKABLE LANDTILE ; e2
+ NONTALKABLE LANDTILE ; e3
+ NONTALKABLE LANDTILE ; e4
+ NONTALKABLE LANDTILE ; e5
+ NONTALKABLE LANDTILE ; e6
+ NONTALKABLE LANDTILE ; e7
+ NONTALKABLE LANDTILE ; e8
+ NONTALKABLE LANDTILE ; e9
+ NONTALKABLE LANDTILE ; ea
+ NONTALKABLE LANDTILE ; eb
+ NONTALKABLE LANDTILE ; ec
+ NONTALKABLE LANDTILE ; ed
+ NONTALKABLE LANDTILE ; ee
+ NONTALKABLE LANDTILE ; ef
+ NONTALKABLE LANDTILE ; f0
+ NONTALKABLE LANDTILE ; f1
+ NONTALKABLE LANDTILE ; f2
+ NONTALKABLE LANDTILE ; f3
+ NONTALKABLE LANDTILE ; f4
+ NONTALKABLE LANDTILE ; f5
+ NONTALKABLE LANDTILE ; f6
+ NONTALKABLE LANDTILE ; f7
+ NONTALKABLE LANDTILE ; f8
+ NONTALKABLE LANDTILE ; f9
+ NONTALKABLE LANDTILE ; fa
+ NONTALKABLE LANDTILE ; fb
+ NONTALKABLE LANDTILE ; fc
+ NONTALKABLE LANDTILE ; fd
+ NONTALKABLE LANDTILE ; fe
+ NONTALKABLE WATRTILE ; ff
diff --git a/wram.asm b/wram.asm
index 1677f982d..4fa8e282c 100644
--- a/wram.asm
+++ b/wram.asm
@@ -12,7 +12,7 @@ StackTop::
SECTION "Audio", WRAM0
-
+wMusic::
MusicPlaying:: ; c100
; nonzero if playing
ds 1
@@ -33,7 +33,7 @@ Channel8:: channel_struct Channel8 ; c25f
wCurTrackDuty:: ds 1
wCurTrackIntensity:: ds 1
wCurTrackFrequency:: dw
-wc296:: ds 1 ; used only in an unused script
+wc296:: ds 1 ; BCD value, dummied out
wc297:: ds 1 ; used in MusicE0 and LoadNote
CurMusicByte:: ; c298
@@ -132,7 +132,7 @@ wMapMusic:: ; c2c0
ds 1
wDontPlayMapMusicOnReload:: ds 1
-
+wMusicEnd::
SECTION "WRAM", WRAM0
@@ -308,7 +308,7 @@ wGlobalAnimYOffset:: ds 1
wGlobalAnimXOffset:: ds 1
wSpriteAnimsEnd::
-wc3c1:: ds 11
+ ds 11
wc3cc:: ds 1
wc3cd:: ds 31
wc3ec:: ds 1
@@ -359,33 +359,33 @@ TileMapEnd::
SECTION "Battle", WRAM0
+wc608::
wOddEgg:: party_struct OddEgg
wOddEggName:: ds PKMN_NAME_LENGTH
wOddEggOTName:: ds PKMN_NAME_LENGTH
- ds wOddEgg - @
+ ds wc608 - @
wBT_OTTemp:: battle_tower_struct wBT_OTTemp
- ds wBT_OTTemp - @
+ ds wc608 - @
hall_of_fame wHallOfFameTemp
- ds wHallOfFameTemp - @
+ ds wc608 - @
wMisc:: ; ds (SCREEN_WIDTH + 4) * (SCREEN_HEIGHT + 2)
+ ds 10
+wc612::
+ ds 10
+wInitHourBuffer:: ; c61c
+ ds 10
+wc626::
+ ds wc608 - @
+
wBattle::
-wc608::
+wEnemyMoveStruct:: move_struct wEnemyMoveStruct ; c608
+wPlayerMoveStruct:: move_struct wPlayerMoveStruct ; c60f
-wEnemyMoveStruct:: ds MOVE_LENGTH ; c608
-wc60f::
-wPlayerMoveStruct:: ds MOVE_LENGTH ; c60f
-wc616::
- ds -4
-wc612:: ds 4
EnemyMonNick:: ds PKMN_NAME_LENGTH ; c616
- ds -5
-wInitHourBuffer:: ds 5
BattleMonNick:: ds PKMN_NAME_LENGTH ; c621
- ds -6
-wc626:: ds 6
BattleMon:: battle_struct BattleMon ; c62c
@@ -397,7 +397,7 @@ wEnemyTrainerItem1:: ds 1
wEnemyTrainerItem2:: ds 1
wEnemyTrainerBaseReward:: ds 1
wEnemyTrainerAIFlags:: ds 3
-OTName:: ds NAME_LENGTH ; c656
+OTClassName:: ds NAME_LENGTH ; c656
ds 2
@@ -429,7 +429,6 @@ AttackMissed:: ; c667
; nonzero for a miss
ds 1
-wc668::
PlayerSubStatus1:: ; c668
; bit
; 7 attract
@@ -527,7 +526,6 @@ EnemyToxicCount:: ; c67c
ds 1
EnemyDisableCount:: ; c67d
ds 1
-wc67e::
EnemyEncoreCount:: ; c67e
ds 1
EnemyPerishCount:: ; c67f
@@ -542,18 +540,17 @@ PlayerDamageTaken:: ; c682
EnemyDamageTaken:: ; c684
ds 2
-wBattleReward:: ds 3
+wBattleReward:: ds 3 ; c686
wBattleAnimParam::
wKickCounter::
-wPresentPower:: ds 1
-wc68a::
+wPresentPower:: ds 1 ; c689
BattleScriptBuffer:: ; c68a
ds 40
BattleScriptBufferLoc:: ; c6b2
ds 2
-wTurnEnded:: ds 1
+wTurnEnded:: ds 1 ; c6b4
ds 1
PlayerStats:: ; c6b6
@@ -574,143 +571,35 @@ PlayerSpdLevel:: ; c6ce
PlayerSAtkLevel:: ; c6cf
ds 1
-trademon: MACRO
-\1Species:: ds 1 ; wc6d0 | wDummyGameNumberTriesRemaining
-\1SpeciesName:: ds PKMN_NAME_LENGTH ; wc6d1 | wDummyGameLastMatches
-\1Nickname:: ds PKMN_NAME_LENGTH ; wc6dc | wc70e
-\1SenderName:: ds NAME_LENGTH ; wc6e7 | wc719
-\1OTName:: ds NAME_LENGTH ; wc6f2 | wc724
-\1DVs:: ds 2 ; wc6fd | wc72f
-\1ID:: ds 2 ; wc6ff | wc731
-\1CaughtData:: ds 1 ; wc701 | wc733
-\1End::
-ENDM
-wTrademons::
-wPlayerTrademon:: trademon wPlayerTrademon
-wOTTrademon:: trademon wOTTrademon
-wTrademonsEnd::
- ds wTrademons - @
-
-; Slot Machine
-wSlots::
-slot_reel: MACRO
-\1ReelAction:: db
-\1TilemapAddr:: dw
-\1Position:: db
-\1SpinDistance:: db
-\1SpinRate:: db
-\1OAMAddr:: dw
-\1XCoord:: db
-\1Slot09:: ds 1
-\1Slot0a:: ds 1
-\1Slot0b:: ds 1
-\1Slot0c:: ds 1
-\1Slot0d:: ds 1
-\1Slot0e:: ds 1
-\1Slot0f:: ds 1
-endm
-; c6d0
-wReel1:: slot_reel wReel1
-wReel2:: slot_reel wReel2
-wReel3:: slot_reel wReel3
-; c700
-wReel1Stopped:: ds 3
-wReel2Stopped:: ds 3
-wReel3Stopped:: ds 3
-wSlotBias:: ds 1
-wSlotBet:: ds 1
-wFirstTwoReelsMatching:: ds 1
-wFirstTwoReelsMatchingSevens:: ds 1
-wSlotMatched:: ds 1
-wCurrReelStopped:: ds 3
-wPayout:: ds 2
-wCurrReelXCoord:: ds 1
-wCurrReelYCoord:: ds 1
- ds 2
-wSlotBuildingMatch:: ds 1
-wSlotsDataEnd::
- ds 28
-wSlotsEnd::
- ds wSlots - @
-
-; Card Flip
-; c6d0
-wCardFlip::
-wDeck:: ds 24
-wDeckEnd::
-; c6e8
-wCardFlipNumCardsPlayed:: ds 1
-wCardFlipFaceUpCard:: ds 1
-wDiscardPile:: ds 24
-wDiscardPileEnd::
-wCardFlipEnd::
- ds wCardFlip - @
-
-; Dummy Game
-; c6d0
-wDummyGame::
-wDummyGameCards:: ds 9 * 5
-wDummyGameCardsEnd::
-wDummyGameLastCardPicked:: ds 1 ; c6fd
-wDummyGameCard1:: ds 1 ; c6fe
-wDummyGameCard2:: ds 1 ; c6ff
-wDummyGameCard1Location:: ds 1 ; c700
-wDummyGameCard2Location:: ds 1 ; c701
-wDummyGameNumberTriesRemaining:: ds 1 ; c702
-wDummyGameLastMatches:: ds 5 ; c703
-wDummyGameCounter:: ds 1 ; c708
-wDummyGameNumCardsMatched:: ds 1 ; c709
-wDummyGameEnd::
- ds wDummyGame - @
-; Unown Puzzle
-wUnownPuzzle::
-wPuzzlePieces::
- ds 6 * 6
-wUnownPuzzleEnd::
- ds wUnownPuzzle - @
-
-; Battle RAM
wc6d0::
PlayerSDefLevel:: ; c6d0
ds 1
-wc6d1::
PlayerAccLevel:: ; c6d1
ds 1
-wc6d2::
PlayerEvaLevel:: ; c6d2
ds 1
; c6d3
-wc6d3:: ds 1
-wc6d4::
+ ds 1
PlayerStatLevelsEnd::
EnemyStatLevels:: ; c6d4
; 07 neutral
EnemyAtkLevel:: ; c6d4
ds 1
-wc6d5::
EnemyDefLevel:: ; c6d5
ds 1
-wc6d6::
EnemySpdLevel:: ; c6d6
ds 1
-wc6d7::
-wTownMapCursorLandmark::
EnemySAtkLevel:: ; c6d7
ds 1
-wc6d8::
-wTownMapPlayerIconLandmark::
EnemySDefLevel:: ; c6d8
ds 1
-wc6d9::
EnemyAccLevel:: ; c6d9
ds 1
-wc6da::
EnemyEvaLevel:: ; c6da
ds 1
-wc6db:: ds 1
-wc6dc::
+ ds 1
EnemyTurnsTaken:: ; c6dc
ds 1
PlayerTurnsTaken:: ; c6dd
@@ -720,11 +609,11 @@ PlayerTurnsTaken:: ; c6dd
PlayerSubstituteHP:: ; c6df
ds 1
-wc6e0::
EnemySubstituteHP:: ; c6e0
ds 1
-wc6e1:: ds 2
+wUnusedPlayerLockedMove:: ds 1 ; c6e1
+ ds 1
CurPlayerMove:: ; c6e3
ds 1
CurEnemyMove:: ; c6e4
@@ -734,23 +623,18 @@ LinkBattleRNCount:: ; c6e5
; how far through the prng stream
ds 1
-wc6e6:: ds 1
-wc6e7:: ds 1
-wc6e8:: ds 1
-wc6e9::
+wEnemyItemState:: ds 1 ; c6e6
+ ds 2
CurEnemyMoveNum:: ; c6e9
ds 1
-wEnemyHPAtTimeOfPlayerSwitch::
-wc6ea:: ds 1
-wc6eb:: ds 1
+wEnemyHPAtTimeOfPlayerSwitch:: ds 2 ; c6ea
wPayDayMoney:: ds 3 ; c6ec
wSafariMonAngerCount:: ds 1
-wSafariMonEating::
-wc6f0:: ds 2
+wSafariMonEating:: ds 2
wEnemyBackupDVs:: ; used when enemy is transformed
-wc6f2:: ds 2
+ ds 2
AlreadyDisobeyed:: ; c6f4
ds 1
@@ -758,12 +642,11 @@ DisabledMove:: ; c6f5
ds 1
EnemyDisabledMove:: ; c6f6
ds 1
-wc6f7:: ds 1
+wWhichMonFaintedFirst:: ds 1
; exists so you can't counter on switch
LastEnemyCounterMove:: ; c6f8
ds 1
-wc6f9::
LastPlayerCounterMove:: ; c6f9
ds 1
@@ -772,11 +655,9 @@ wEnemyMinimized:: ds 1 ; c6fa
AlreadyFailed:: ; c6fb
ds 1
-wc6fc:: ds 1
-wc6fd:: ds 1
-wc6fe::
+wBattleParticipantsIncludingFainted:: ds 1 ; c6fc
+wDanger:: ds 1 ; c6fd
wPlayerMinimized:: ds 1 ; c6fe
-wc6ff::
PlayerScreens:: ; c6ff
; bit
; 4 reflect
@@ -785,34 +666,25 @@ PlayerScreens:: ; c6ff
; 0 spikes
ds 1
-wc700::
EnemyScreens:: ; c700
; see PlayerScreens
ds 1
-wc701::
PlayerSafeguardCount:: ; c701
ds 1
-wc702::
PlayerLightScreenCount:: ; c702
ds 1
-wc703::
PlayerReflectCount:: ; c703
ds 1
-wc704:: ds 1
-wc705::
+ ds 1
EnemySafeguardCount:: ; c705
ds 1
-wc706::
EnemyLightScreenCount:: ; c706
ds 1
EnemyReflectCount:: ; c707
ds 1
-
-wc708:: ds 1
-wc709:: ds 1
-wc70a::
+ ds 2
Weather:: ; c70a
; 00 normal
; 01 rain
@@ -823,93 +695,77 @@ Weather:: ; c70a
; 06 sandstorm subsided
ds 1
-wc70b::
WeatherCount:: ; c70b
; # turns remaining
ds 1
-wc70c::
LoweredStat:: ; c70c
ds 1
-wc70d::
EffectFailed:: ; c70d
ds 1
-wc70e::
FailedMessage:: ; c70e
ds 1
-wc70f::
-wEnemyGoesFirst::
+wEnemyGoesFirst:: ; c70f
ds 1
-wc710::
wPlayerIsSwitching:: ds 1 ; c710
-wc711::
wEnemyIsSwitching:: ds 1 ; c711
-wc712::
PlayerUsedMoves:: ; c712
; add a move that has been used once by the player
; added in order of use
ds NUM_MOVES
-wc716:: ds 1
-wEnemySwitchMonParam::
-wc717:: ds 1
-wc718::
-wEnemySwitchMonIndex:: ds 1
-wTempLevel::
-wc719:: ds 1
-LastPlayerMon:: ; c71a
-wc71a:: ds 1
+wEnemyAISwitchScore:: ds 1 ; c716
+wEnemySwitchMonParam:: ds 1 ; c717
+wEnemySwitchMonIndex:: ds 1 ; c718
+wTempLevel:: ds 1 ; c719
+LastPlayerMon:: ds 1 ; c71a
LastPlayerMove:: ; c71b
ds 1
LastEnemyMove:: ; c71c
ds 1
-wPlayerFutureSightCount:: ds 1
-wEnemyFutureSightCount:: ds 1
-wc71f:: ds 1
-wc720:: ds 4 ; copy from/to EnemyMonBaseStats, length=7
-wc724:: ds 3
-wPlayerFutureSightDamage:: ds 2
-wEnemyFutureSightDamage:: ds 2
-wPlayerRageCounter:: ds 1
-wEnemyRageCounter:: ds 1
-wc72d:: ds 1 ; if 0 then PrintButItFailed
-wc72e::
-wPlayerTrappingMove:: ds 1
-wc72f::
-wEnemyTrappingMove:: ds 1
-wc730::
-wPlayerWrapCount:: ds 1
-wc731::
-wEnemyWrapCount:: ds 1
-wc732::
-wPlayerCharging:: ds 1
-wEnemyCharging::
-wc733:: ds 1
-wTradeAnimPointer::
-wc734::
+wPlayerFutureSightCount:: ds 1 ; c71d
+wEnemyFutureSightCount:: ds 1 ; c71e
+wGivingExperienceToExpShareHolders:: ds 1 ; c71f
+wBackupEnemyMonBaseStats:: ds 5 ; c720
+wBackupEnemyMonCatchRate:: db ; c725
+wBackupEnemyMonBaseExp:: db ; c726
+wPlayerFutureSightDamage:: ds 2 ; c727
+wEnemyFutureSightDamage:: ds 2 ; c729
+wPlayerRageCounter:: ds 1 ; c72b
+wEnemyRageCounter:: ds 1 ; c72c
+wBeatUpHitAtLeastOnce:: ds 1 ; c72d
+wPlayerTrappingMove:: ds 1 ; c72e
+wEnemyTrappingMove:: ds 1 ; c72f
+wPlayerWrapCount:: ds 1 ; c730
+wEnemyWrapCount:: ds 1 ; c731
+wPlayerCharging:: ds 1 ; c732
+wEnemyCharging:: ds 1 ; c733
BattleEnded:: ; c734
ds 1
-wWildMonMoves::
-wc735:: ds 1
-wLinkPlayer1Name:: ds NAME_LENGTH
-wLinkPlayer2Name:: ds NAME_LENGTH
- ds wLinkPlayer1Name - @
-wc736:: ds 3
-wWildMonPP:: ds NUM_MOVES
-wAmuletCoin:: ds 1
-wc73e:: ds 1
-wPlayerJustGotFrozen:: ds 1
-wEnemyJustGotFrozen:: ds 1
-wc741::
+wWildMonMoves:: ds NUM_MOVES ; c735
+wWildMonPP:: ds NUM_MOVES ; c739
+wAmuletCoin:: ds 1 ; c73a
+wSomeoneIsRampaging:: ds 1 ; c73b
+wPlayerJustGotFrozen:: ds 1 ; c73c
+wEnemyJustGotFrozen:: ds 1 ; c73d
wBattleEnd::
-; c741
+; Battle RAM
- ds 11
-wc74c:: ds 1
-wc74d:: ds 1
+; c741
+ ds wc6d0 - @
+wTrademons::
+wPlayerTrademon:: trademon wPlayerTrademon
+wOTTrademon:: trademon wOTTrademon
+wTrademonsEnd::
+wTradeAnimPointer::
+ ds 2
+wLinkPlayer1Name:: ds NAME_LENGTH
+wLinkPlayer2Name:: ds NAME_LENGTH
+wLinkTradeSendmonSpecies:: ds 1
+wLinkTradeGetmonSpecies:: ds 1
wc74e:: ds 107
wc7b9:: ds 1
wc7ba:: ds 1
@@ -917,6 +773,93 @@ wc7bb:: ds 2
wc7bd::
ds wc6d0 - @
+; naming screen
+wNamingScreenDestinationPointer:: ds 2 ; c6d0
+wNamingScreenCurrNameLength:: ds 1 ; c6d2
+wNamingScreenMaxNameLength:: ds 1 ; c6d3
+wNamingScreenType:: ds 1 ; c6d4
+wNamingScreenCursorObjectPointer:: ds 2 ; c6d5
+wNamingScreenLastCharacter:: ds 1 ; c6d7
+wNamingScreenStringEntryCoord:: ds 2 ; c6d8
+ ds wc6d0 - @
+
+; pokegear
+wPokegearPhoneLoadNameBuffer:: ds 1 ; c6d0
+wPokegearPhoneCursorPosition:: ds 1 ; c6d1
+wPokegearPhoneScrollPosition:: ds 1 ; c6d2
+wPokegearPhoneSelectedPerson:: ds 1 ; c6d3
+wPokegearPhoneSubmenuCursor:: ds 1 ; c6d4
+wPokegearMapCursorObjectPointer:: ds 2 ; c6d5
+wPokegearMapCursorLandmark:: ds 1 ; c6d7
+wPokegearMapPlayerIconLandmark:: ds 1 ; c6d8
+wPokegearRadioChannelBank:: ds 1 ; c6d9
+wPokegearRadioChannelAddr:: ds 2 ; c6da
+wPokegearRadioMusicPlaying:: ds 1 ; c6dc
+ ds wc6d0 - @
+
+wSlots::
+; Slot Machine
+; c6d0
+wReel1:: slot_reel wReel1
+wReel2:: slot_reel wReel2
+wReel3:: slot_reel wReel3
+; c700
+wReel1Stopped:: ds 3
+wReel2Stopped:: ds 3
+wReel3Stopped:: ds 3
+wSlotBias:: ds 1
+wSlotBet:: ds 1
+wFirstTwoReelsMatching:: ds 1
+wFirstTwoReelsMatchingSevens:: ds 1
+wSlotMatched:: ds 1
+wCurrReelStopped:: ds 3
+wPayout:: ds 2
+wCurrReelXCoord:: ds 1
+wCurrReelYCoord:: ds 1
+ ds 2
+wSlotBuildingMatch:: ds 1
+wSlotsDataEnd::
+ ds 28
+wSlotsEnd::
+ ds wSlots - @
+
+; Card Flip
+; c6d0
+wCardFlip::
+wDeck:: ds 24
+wDeckEnd::
+; c6e8
+wCardFlipNumCardsPlayed:: ds 1
+wCardFlipFaceUpCard:: ds 1
+wDiscardPile:: ds 24
+wDiscardPileEnd::
+wCardFlipEnd::
+ ds wCardFlip - @
+
+; Dummy Game
+; c6d0
+wDummyGame::
+wDummyGameCards:: ds 9 * 5
+wDummyGameCardsEnd::
+wDummyGameLastCardPicked:: ds 1 ; c6fd
+wDummyGameCard1:: ds 1 ; c6fe
+wDummyGameCard2:: ds 1 ; c6ff
+wDummyGameCard1Location:: ds 1 ; c700
+wDummyGameCard2Location:: ds 1 ; c701
+wDummyGameNumberTriesRemaining:: ds 1 ; c702
+wDummyGameLastMatches:: ds 5 ; c703
+wDummyGameCounter:: ds 1 ; c708
+wDummyGameNumCardsMatched:: ds 1 ; c709
+wDummyGameEnd::
+ ds wDummyGame - @
+; Unown Puzzle
+wUnownPuzzle::
+wPuzzlePieces::
+ ds 6 * 6
+wUnownPuzzleEnd::
+
+ ds wc6d0 - @
+
wPokedexDataStart::
wPokedexOrder:: ds NUM_POKEMON +- 1
wPokedexOrderEnd:: ds 6
@@ -1875,9 +1818,9 @@ wItemQuantityBuffer:: ds 1
TempMon:: ; d10e
party_struct TempMon
-wSpriteFlags:: ds 1
+wSpriteFlags:: ds 1 ; d13e
-wHandlePlayerStep:: ds 2
+wHandlePlayerStep:: ds 2 ; d13f
PartyMenuActionText:: ; d141
ds 1
@@ -2232,8 +2175,8 @@ wd271:: ds 5
; SECTION "Enemy Party", WRAMX, BANK [1]
-OTPlayerName:: ds NAME_LENGTH
-OTPlayerID:: ds 2
+OTPlayerName:: ds NAME_LENGTH ; d26b
+OTPlayerID:: ds 2 ; d276
ds 8
OTPartyCount:: ds 1 ; d280
OTPartySpecies:: ds PARTY_LENGTH ; d281
@@ -2249,8 +2192,8 @@ wDudeKeyItems:: ds 18
wDudeKeyItemsEnd:: ds 1
wDudeNumBalls:: ds 1 ; d2a6
-wDudeBalls:: ds 2 * 4
-wDudeBallsEnd:: ds 1
+wDudeBalls:: ds 2 * 4 ; d2a7
+wDudeBallsEnd:: ds 1 ; d2af
wDudeBagEnd::
ds wDudeBag - @
@@ -2309,15 +2252,12 @@ ScriptDelay:: ; d44d
wPriorityScriptBank::
wScriptTextBank::
-wd44e:: ds 1
+ ds 1 ; d44e
wPriorityScriptAddr::
-wScriptTextAddr::
-wd44f:: ds 1
-wd450:: ds 1
-wd451:: ds 1
+wScriptTextAddr:: ds 2 ; d44f
+ ds 1
wWildEncounterCooldown:: ds 1
-wd453:: ds 1
-wd454:: ds 1
+wXYComparePointer:: ds 2
ds 4
wBattleScriptFlags:: ds 2
@@ -2422,12 +2362,12 @@ object_struct: MACRO
\1Action:: ds 1
\1ObjectStepFrame:: ds 1
\1Facing:: ds 1
-\1NextTile:: ds 1 ; collision
\1StandingTile:: ds 1 ; collision
-\1NextMapX:: ds 1
-\1NextMapY:: ds 1
-\1MapX:: ds 1
-\1MapY:: ds 1
+\1LastTile:: ds 1 ; collision
+\1StandingMapX:: ds 1
+\1StandingMapY:: ds 1
+\1LastMapX:: ds 1
+\1LastMapY:: ds 1
\1ObjectInitX:: ds 1
\1ObjectInitY:: ds 1
\1Radius:: ds 1
@@ -2517,8 +2457,7 @@ CurTimeOfDay:: ; d848
ds 1
-wSecretID:: ds 1
-wd84b:: ds 1
+wSecretID:: ds 2
StatusFlags:: ; d84c
; 0 - pokedex
; 1 - unown dex
@@ -2588,6 +2527,11 @@ PCItemsEnd::
ds 1
wPokegearFlags:: ds 1
+; bit 0: map
+; bit 1: radio
+; bit 2: phone
+; bit 3: expn
+; bit 7: on/off
wRadioTuningKnob:: ds 1
wLastDexMode:: ds 2
WhichRegisteredItem:: ; d95b
@@ -2599,7 +2543,8 @@ PlayerState:: ; d95d
ds 1
wHallOfFameCount:: ds 2
-wTradeFlags:: ds 2
+wTradeFlags:: flag_array 6 ; d960
+ ds 1
MooMooBerries:: ; d962
ds 1 ; how many berries fed to MooMoo
UndergroundSwitchPositions:: ; d963
@@ -2697,8 +2642,8 @@ wMobileBattleRoomTrigger:: ds 1 ; d9c0
;SECTION "Events", WRAMX, BANK [1]
-wJackFightCount:: ds 1
- ds 1
+wJackFightCount:: ds 1 ; d9f2
+wBeverlyFightCount:: ds 1 ; unused
wHueyFightCount:: ds 1
wGavenFightCount:: ds 1
wBethFightCount:: ds 1
@@ -2711,23 +2656,21 @@ wLizFightCount:: ds 1
wAnthonyFightCount:: ds 1
wToddFightCount:: ds 1
wGinaFightCount:: ds 1
-
-wda00:: ds 1
-
+wIrwinFightCount:: ds 1 ; unused
wArnieFightCount:: ds 1
wAlanFightCount:: ds 1
wDanaFightCount:: ds 1
wChadFightCount:: ds 1
- ds 1
+wDerekFightCount:: ds 1 ; unused
wTullyFightCount:: ds 1
wBrentFightCount:: ds 1
wTiffanyFightCount:: ds 1
wVanceFightCount:: ds 1
wWiltonFightCount:: ds 1
- ds 1
+wKenjiFightCount:: ds 1 ; unused
wParryFightCount:: ds 1
wErinFightCount:: ds 1
-
+; da0e
ds 100
EventFlags:: ; da72
@@ -2754,43 +2697,30 @@ BikeFlags:: ; dbf5
ds 1
ds 1
-wCurrentMapTriggerPointer:: ; dbf7
- ds 2
-
-wCurrentCaller:: ds 2
-wCurrMapWarpCount:: ds 1
-wCurrMapWarpHeaderPointer:: ds 1
-wdbfd:: ds 1
-wCurrentMapXYTriggerCount:: ds 1
-wCurrentMapXYTriggerHeaderPointer:: ds 1
-wdc00:: ds 1
-wCurrentMapSignpostCount:: ds 1
-wCurrentMapSignpostHeaderPointer::
-wdc02:: ds 1
-wdc03:: ds 1
-wCurrentMapPersonEventCount::
-wdc04:: ds 1
-wCurrentMapPersonEventHeaderPointer::
-wdc05:: ds 1
-wdc06:: ds 1
-wCurrMapTriggerCount:: ds 1
-wCurrMapTriggerHeaderPointer:: ds 1
-wdc09:: ds 1
-wCurrMapCallbackCount:: ds 1
-wCurrMapCallbackHeaderPointer:: ds 2
-wdc0d:: ds 1
-wdc0e:: ds 1
+wCurrentMapTriggerPointer:: ds 2 ; dbf7
+
+wCurrentCaller:: ds 2 ; dbf9
+wCurrMapWarpCount:: ds 1 ; dbfb
+wCurrMapWarpHeaderPointer:: ds 2 ; dbfc
+wCurrentMapXYTriggerCount:: ds 1 ; dbfe
+wCurrentMapXYTriggerHeaderPointer:: ds 2 ; dbff
+wCurrentMapSignpostCount:: ds 1 ; dc01
+wCurrentMapSignpostHeaderPointer:: ds 2 ; dc02
+wCurrentMapPersonEventCount:: ds 1 ; dc04
+wCurrentMapPersonEventHeaderPointer:: ds 2 ; dc05
+wCurrMapTriggerCount:: ds 1 ; dc07
+wCurrMapTriggerHeaderPointer:: ds 2 ; dc08
+wCurrMapCallbackCount:: ds 1 ; dc0a
+wCurrMapCallbackHeaderPointer:: ds 2 ; dc0b
+ ds 2
; Sprite id of each decoration
-wdc0f::
Bed:: ; dc0f
ds 1
Carpet:: ; dc10
ds 1
-wdc11::
Plant:: ; dc11
ds 1
-wdc12::
Poster:: ; dc12
ds 1
Console:: ; dc13
@@ -2803,40 +2733,32 @@ BigDoll:: ; dc16
ds 1
; Items bought from Mom
-wWhichMomItem::
-wdc17:: ds 1
-wWhichMomItemSet::
- ds 1
-MomItemTriggerBalance::
-wdc19:: ds 1
-wdc1a:: ds 1
-wdc1b:: ds 1
+wWhichMomItem:: ds 1 ; dc17
+wWhichMomItemSet:: ds 1 ; dc18
+MomItemTriggerBalance:: ds 3 ; dc19
wDailyResetTimer:: ds 2
DailyFlags:: ds 1
WeeklyFlags:: ds 1
SwarmFlags:: ds 1
-wdc21:: ds 1
-wdc22:: ds 1
+ ds 2
wStartDay:: ds 1
-wdc24:: ds 2
-wdc26:: ds 1
+ ds 3
-FruitTreeFlags:: ; dc27
- ds 1
+FruitTreeFlags:: flag_array NUM_FRUIT_TREES ; dc27
- ds 5
+ ds 2
wLuckyNumberDayBuffer:: ds 2
ds 2
-wSpecialPhoneCallID:: ds 2
-wdc33:: ds 2
+wSpecialPhoneCallID:: ds 1
+ ds 3
wBugContestStartTime:: ds 4 ; day, hour, min, sec
-wdc39:: ds 1
+wUnusedTwoDayTimerOn:: ds 1 ; dc39
wUnusedTwoDayTimer:: ds 1
wUnusedTwoDayTimerStartDate:: ds 1
ds 4
-wdc40:: ds 1
+wMobileOrCable_LastSelection:: ds 1
wdc41:: ds 1
wdc42:: ds 8
wBuenasPassword:: ds 1
@@ -2863,6 +2785,7 @@ wParkBallsRemaining::
wSafariBallsRemaining:: ds 1 ; dc79
wSafariTimeRemaining:: ds 2 ; dc7a
wPhoneList:: ds CONTACT_LIST_SIZE ; dc7c
+; dc86
ds 23
wLuckyNumberShowFlag:: ds 2 ; dc9d
wLuckyIDNumber:: ds 2 ; dc9f
@@ -2987,11 +2910,7 @@ wEggNick:: ds PKMN_NAME_LENGTH ; df65
wEggOT:: ds NAME_LENGTH ; df70
wEggMon:: box_struct wEggMon ; df7b
-wdf9b::
wBugContestSecondPartySpecies:: ds 1
-
-
-wdf9c::
wContestMon:: party_struct wContestMon ; df9c
wDunsparceMapGroup:: ds 1
@@ -3018,8 +2937,7 @@ wRoamMons_LastMapGroup:: ds 1
wBestMagikarpLengthFeet:: ds 1
wBestMagikarpLengthInches:: ds 1
wMagikarpRecordHoldersName:: ds NAME_LENGTH
-wdff5::
-
+; dff5
wPokemonDataEnd::
wGameDataEnd::