diff options
author | surskitty <surskitty@gmail.com> | 2017-12-12 00:50:55 -0500 |
---|---|---|
committer | surskitty <surskitty@gmail.com> | 2017-12-12 00:50:55 -0500 |
commit | 096afdcdaca0714612f3670a3c4a670f312c1c3f (patch) | |
tree | 0c0bedcd311ab83262e31cf6d9d4c37257143acc /data | |
parent | 98128cd4d8457948e7136a16e08bacff0bc3529d (diff) | |
parent | f6942b9a136b2ee3b25159ebc4d54509a42c5266 (diff) |
Merge branch 'master' of github.com:pret/pokecrystal
Diffstat (limited to 'data')
63 files changed, 4065 insertions, 1164 deletions
diff --git a/data/audio/notes.asm b/data/audio/notes.asm new file mode 100644 index 000000000..543672a4a --- /dev/null +++ b/data/audio/notes.asm @@ -0,0 +1,27 @@ +FrequencyTable: ; e8d80 + dw 0 ; __ + dw $f82c ; C_ + dw $f89d ; C# + dw $f907 ; D_ + dw $f96b ; D# + dw $f9ca ; E_ + dw $fa23 ; F_ + dw $fa77 ; F# + dw $fac7 ; G_ + dw $fb12 ; G# + dw $fb58 ; A_ + dw $fb9b ; A# + dw $fbda ; B_ + dw $fc16 ; C_ + dw $fc4e ; C# + dw $fc83 ; D_ + dw $fcb5 ; D# + dw $fce5 ; E_ + dw $fd11 ; F_ + dw $fd3b ; F# + dw $fd63 ; G_ + dw $fd89 ; G# + dw $fdac ; A_ + dw $fdcd ; A# + dw $fded ; B_ +; e8db2 diff --git a/data/audio/wave_samples.asm b/data/audio/wave_samples.asm new file mode 100644 index 000000000..8c5bafa75 --- /dev/null +++ b/data/audio/wave_samples.asm @@ -0,0 +1,14 @@ +WaveSamples: ; e8db2 + ; these are streams of 32 4-bit values used as wavepatterns + ; nothing interesting here! + dn 0, 2, 4, 6, 8, 10, 12, 14, 15, 15, 15, 14, 14, 13, 13, 12, 12, 11, 10, 9, 8, 7, 6, 5, 4, 4, 3, 3, 2, 2, 1, 1 + dn 0, 2, 4, 6, 8, 10, 12, 14, 14, 15, 15, 15, 15, 14, 14, 14, 13, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 2, 1, 1 + dn 1, 3, 6, 9, 11, 13, 14, 14, 14, 14, 15, 15, 15, 15, 14, 13, 13, 14, 15, 15, 15, 15, 14, 14, 14, 14, 13, 11, 9, 6, 3, 1 + dn 0, 2, 4, 6, 8, 10, 12, 13, 14, 15, 15, 14, 13, 14, 15, 15, 14, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 + dn 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 14, 15, 7, 7, 15, 14, 14, 13, 12, 10, 8, 7, 6, 5, 4, 3, 2, 1, 0 + dn 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 3, 3, 2, 2, 1, 1, 15, 15, 14, 14, 12, 12, 10, 10, 8, 8, 10, 10, 12, 12, 14, 14 + dn 0, 2, 4, 6, 8, 10, 12, 14, 12, 11, 10, 9, 8, 7, 6, 5, 15, 15, 15, 14, 14, 13, 13, 12, 4, 4, 3, 3, 2, 2, 1, 1 + dn 12, 0, 10, 9, 8, 7, 15, 5, 15, 15, 15, 14, 14, 13, 13, 12, 4, 4, 3, 3, 2, 2, 15, 1, 0, 2, 4, 6, 8, 10, 12, 14 + dn 4, 4, 3, 3, 2, 2, 1, 15, 0, 0, 4, 6, 8, 10, 12, 14, 15, 8, 15, 14, 14, 13, 13, 12, 12, 11, 10, 9, 8, 7, 6, 5 + dn 1, 1, 0, 0, 0, 0, 0, 8, 0, 0, 1, 3, 5, 7, 9, 10, 11, 4, 11, 10, 10, 9, 9, 8, 8, 7, 6, 5, 4, 3, 2, 1 +; e8e52 diff --git a/data/ball_colors.asm b/data/ball_colors.asm new file mode 100644 index 000000000..c3ba9d2b4 --- /dev/null +++ b/data/ball_colors.asm @@ -0,0 +1,16 @@ +; colors of balls thrown in battle + +BallColors: ; cd26c (33:526c) + db MASTER_BALL, PAL_BATTLE_OB_GREEN + db ULTRA_BALL, PAL_BATTLE_OB_YELLOW + db GREAT_BALL, PAL_BATTLE_OB_BLUE + db POKE_BALL, PAL_BATTLE_OB_RED + db HEAVY_BALL, PAL_BATTLE_OB_GRAY + db LEVEL_BALL, PAL_BATTLE_OB_BROWN + db LURE_BALL, PAL_BATTLE_OB_BLUE + db FAST_BALL, PAL_BATTLE_OB_BLUE + db FRIEND_BALL, PAL_BATTLE_OB_YELLOW + db MOON_BALL, PAL_BATTLE_OB_GRAY + db LOVE_BALL, PAL_BATTLE_OB_RED + db -1, PAL_BATTLE_OB_GRAY +; cd284 diff --git a/data/base_stats.asm b/data/base_stats.asm index b3e67d9a8..808a996a6 100644 --- a/data/base_stats.asm +++ b/data/base_stats.asm @@ -1,6 +1,5 @@ -BaseData0:: +BaseData:: INCLUDE "data/base_stats/bulbasaur.asm" -BaseData1:: INCLUDE "data/base_stats/ivysaur.asm" INCLUDE "data/base_stats/venusaur.asm" INCLUDE "data/base_stats/charmander.asm" diff --git a/data/battle_tower.asm b/data/battle_tower.asm index 8997a53b8..2c78ffb82 100644 --- a/data/battle_tower.asm +++ b/data/battle_tower.asm @@ -1,212 +1,3 @@ -Function_LoadOpponentTrainerAndPokemons: ; 1f8000 - ld a, [rSVBK] - push af - ld a, BANK(BT_OTTrainer) - ld [rSVBK], a - - ; Fill BT_OTTrainer with zeros - xor a - ld hl, BT_OTTrainer - ld bc, BT_OTTrainerEnd - BT_OTTrainer - call ByteFill - - ; Write $ff into the Item-Slots - ld a, $ff - ld [BT_OTPkmn1Item], a - ld [BT_OTPkmn2Item], a - ld [BT_OTPkmn3Item], a - - ; Set BT_OTTrainer as start address to write the following data to - ld de, BT_OTTrainer - - ld a, [hRandomAdd] - ld b, a -.resample ; loop to find a random trainer - call Random - ld a, [hRandomAdd] - add b - ld b, a ; b contains the nr of the trainer -IF DEF(CRYSTAL11) - and (1 << 7) - 1 - cp 70 -ELSE - and (1 << 5) - 1 - cp 21 -ENDC - jr nc, .resample - ld b, a - - ld a, BANK(sBTTrainers) - call GetSRAMBank - - ld c, BATTLETOWER_NROFTRAINERS - ld hl, sBTTrainers -.next_trainer - ld a, [hli] - cp b - jr z, .resample - dec c - jr nz, .next_trainer ; c <= 7 initialise all 7 trainers? - - ld hl, sBTTrainers - ld a, [sNrOfBeatenBattleTowerTrainers] - ld c, a - ld a, b - ld b, 0 - add hl, bc - ld [hl], a - - call CloseSRAM - - push af -; Copy name (10 bytes) and class (1 byte) of trainer - ld hl, BattleTowerTrainers - ld bc, NAME_LENGTH - call AddNTimes - ld bc, NAME_LENGTH - call CopyBytes - - call Function_LoadRandomBattleTowerPkmn - pop af - - ld hl, BattleTowerTrainerData - ld bc, BATTLETOWER_TRAINERDATALENGTH - call AddNTimes - ld bc, BATTLETOWER_TRAINERDATALENGTH -.copy_bt_trainer_data_loop - ld a, BANK(BattleTowerTrainerData) - call GetFarByte - ld [de], a - inc hl - inc de - dec bc - ld a, b - or c - jr nz, .copy_bt_trainer_data_loop - - pop af - ld [rSVBK], a - - ret - - -Function_LoadRandomBattleTowerPkmn: ; 1f8081 - ld c, BATTLETOWER_NROFPKMNS -.loop - push bc - ld a, BANK(sBTPkmnPrevTrainer1) - call GetSRAMBank - -.FindARandomBattleTowerPkmn: - ; From Which LevelGroup are the Pkmn loaded - ; a = 1..10 - ld a, [wBTChoiceOfLvlGroup] ; [$d800] - dec a - ld hl, BattleTowerMons - ld bc, BattleTowerMons2 - BattleTowerMons1 - call AddNTimes - - ld a, [hRandomAdd] - ld b, a -.resample - call Random - ld a, [hRandomAdd] - add b - ld b, a - and $1f - cp BATTLETOWER_NRMONSPERLEVELBRACKET - jr nc, .resample - ; in register 'a' is the chosen Pkmn of the LevelGroup - - ; Check if Pkmn was already loaded before - ; Check current and the 2 previous teams - ; includes check if item is double at the current team - ld bc, PARTYMON_STRUCT_LENGTH + PKMN_NAME_LENGTH - call AddNTimes - ld a, [hli] - ld b, a - ld a, [hld] - ld c, a - ld a, [BT_OTPkmn1] - cp b - jr z, .FindARandomBattleTowerPkmn - ld a, [BT_OTPkmn1Item] - cp c - jr z, .FindARandomBattleTowerPkmn - ld a, [BT_OTPkmn2] - cp b - jr z, .FindARandomBattleTowerPkmn - ld a, [BT_OTPkmn2Item] - cp c - jr z, .FindARandomBattleTowerPkmn - ld a, [BT_OTPkmn3] - cp b - jr z, .FindARandomBattleTowerPkmn - ld a, [BT_OTPkmn3Item] - cp c - jr z, .FindARandomBattleTowerPkmn - ld a, [sBTPkmnPrevTrainer1] - cp b - jr z, .FindARandomBattleTowerPkmn - ld a, [sBTPkmnPrevTrainer2] - cp b - jr z, .FindARandomBattleTowerPkmn - ld a, [sBTPkmnPrevTrainer3] - cp b - jr z, .FindARandomBattleTowerPkmn - ld a, [sBTPkmnPrevPrevTrainer1] - cp b - jr z, .FindARandomBattleTowerPkmn - ld a, [sBTPkmnPrevPrevTrainer2] - cp b - jr z, .FindARandomBattleTowerPkmn - ld a, [sBTPkmnPrevPrevTrainer3] - cp b - jr z, .FindARandomBattleTowerPkmn - - ld bc, PARTYMON_STRUCT_LENGTH + PKMN_NAME_LENGTH - call CopyBytes - - ld a, [wNamedObjectIndexBuffer] - push af - push de - ld hl, - (PARTYMON_STRUCT_LENGTH + PKMN_NAME_LENGTH) - add hl, de - ld a, [hl] - ld [wNamedObjectIndexBuffer], a - ld bc, PARTYMON_STRUCT_LENGTH - add hl, bc - push hl - call GetPokemonName - ld h, d - ld l, e - pop de - ld bc, PKMN_NAME_LENGTH - call CopyBytes - - pop de - pop af - ld [wNamedObjectIndexBuffer], a - pop bc - dec c - jp nz, .loop - - ld a, [sBTPkmnPrevTrainer1] - ld [sBTPkmnPrevPrevTrainer1], a - ld a, [sBTPkmnPrevTrainer2] - ld [sBTPkmnPrevPrevTrainer2], a - ld a, [sBTPkmnPrevTrainer3] - ld [sBTPkmnPrevPrevTrainer3], a - ld a, [BT_OTPkmn1] - ld [sBTPkmnPrevTrainer1], a - ld a, [BT_OTPkmn2] - ld [sBTPkmnPrevTrainer2], a - ld a, [BT_OTPkmn3] - ld [sBTPkmnPrevTrainer3], a - call CloseSRAM - ret -; 1f814e - BattleTowerTrainers: ; 1f814e ; The trainer class is not used in Crystal 1.0 due to a bug. ; Instead, the sixth character in the trainer's name is used. diff --git a/data/bug_contest_winners.asm b/data/bug_contest_winners.asm new file mode 100644 index 000000000..8529ed0f0 --- /dev/null +++ b/data/bug_contest_winners.asm @@ -0,0 +1,74 @@ +BugContestantPointers: ; 13783 + dw BugContestant_BugCatcherDon ; This reverts back to the player + dw BugContestant_BugCatcherDon + dw BugContestant_BugCatcherEd + dw BugContestant_CooltrainerMNick + dw BugContestant_PokefanMWilliam + dw BugContestant_BugCatcherBenny + dw BugContestant_CamperBarry + dw BugContestant_PicnickerCindy + dw BugContestant_BugCatcherJosh + dw BugContestant_YoungsterSamuel + dw BugContestant_SchoolboyKipp +; 13799 + +BugContestant_BugCatcherDon: + db BUG_CATCHER, DON + dbw KAKUNA, 300 + dbw METAPOD, 285 + dbw CATERPIE, 226 + +BugContestant_BugCatcherEd: + db BUG_CATCHER, ED + dbw BUTTERFREE, 286 + dbw BUTTERFREE, 251 + dbw CATERPIE, 237 + +BugContestant_CooltrainerMNick: + db COOLTRAINERM, NICK + dbw SCYTHER, 357 + dbw BUTTERFREE, 349 + dbw PINSIR, 368 + +BugContestant_PokefanMWilliam: + db POKEFANM, WILLIAM + dbw PINSIR, 332 + dbw BUTTERFREE, 324 + dbw VENONAT, 321 + +BugContestant_BugCatcherBenny: + db BUG_CATCHER, BUG_CATCHER_BENNY + dbw BUTTERFREE, 318 + dbw WEEDLE, 295 + dbw CATERPIE, 285 + +BugContestant_CamperBarry: + db CAMPER, BARRY + dbw PINSIR, 366 + dbw VENONAT, 329 + dbw KAKUNA, 314 + +BugContestant_PicnickerCindy: + db PICNICKER, CINDY + dbw BUTTERFREE, 341 + dbw METAPOD, 301 + dbw CATERPIE, 264 + +BugContestant_BugCatcherJosh: + db BUG_CATCHER, JOSH + dbw SCYTHER, 326 + dbw BUTTERFREE, 292 + dbw METAPOD, 282 + +BugContestant_YoungsterSamuel: + db YOUNGSTER, SAMUEL + dbw WEEDLE, 270 + dbw PINSIR, 282 + dbw CATERPIE, 251 + +BugContestant_SchoolboyKipp: + db SCHOOLBOY, KIPP + dbw VENONAT, 267 + dbw PARAS, 254 + dbw KAKUNA, 259 +; 13807 diff --git a/data/decoration_attributes.asm b/data/decoration_attributes.asm new file mode 100644 index 000000000..209662a6f --- /dev/null +++ b/data/decoration_attributes.asm @@ -0,0 +1,63 @@ +decoration: MACRO + ; type, name, command, event flag, tile/sprite + db \1, \2, \3 + dw \4 + db \5 +ENDM + +DecorationAttributes: ; 26a4f +; entries correspond to deco constants + decoration DECO_PLANT, $00, $0, EVENT_GAVE_KURT_APRICORNS, $00 + decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_BED, EVENT_GAVE_KURT_APRICORNS, $00 + decoration DECO_BED, FEATHERY_BED, SET_UP_BED, EVENT_DECO_BED_1, $1b + decoration DECO_BED, PINK_BED, SET_UP_BED, EVENT_DECO_BED_2, $1c + decoration DECO_BED, POLKADOT_BED, SET_UP_BED, EVENT_DECO_BED_3, $1d + decoration DECO_BED, PIKACHU_BED, SET_UP_BED, EVENT_DECO_BED_4, $1e + decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_CARPET, EVENT_GAVE_KURT_APRICORNS, $00 + decoration DECO_CARPET, RED_CARPET, SET_UP_CARPET, EVENT_DECO_CARPET_1, $08 + decoration DECO_CARPET, BLUE_CARPET, SET_UP_CARPET, EVENT_DECO_CARPET_2, $0b + decoration DECO_CARPET, YELLOW_CARPET, SET_UP_CARPET, EVENT_DECO_CARPET_3, $0e + decoration DECO_CARPET, GREEN_CARPET, SET_UP_CARPET, EVENT_DECO_CARPET_4, $11 + decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_PLANT, EVENT_GAVE_KURT_APRICORNS, $00 + decoration DECO_PLANT, MAGNAPLANT, SET_UP_PLANT, EVENT_DECO_PLANT_1, $20 + decoration DECO_PLANT, TROPICPLANT, SET_UP_PLANT, EVENT_DECO_PLANT_2, $21 + decoration DECO_PLANT, JUMBOPLANT, SET_UP_PLANT, EVENT_DECO_PLANT_3, $22 + decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_POSTER, EVENT_GAVE_KURT_APRICORNS, $00 + decoration DECO_PLANT, TOWN_MAP_D, SET_UP_POSTER, EVENT_DECO_PLANT_4, $1f + decoration DECO_POSTER, PIKACHU, SET_UP_POSTER, EVENT_DECO_POSTER_1, $23 + decoration DECO_POSTER, CLEFAIRY, SET_UP_POSTER, EVENT_DECO_POSTER_2, $24 + decoration DECO_POSTER, JIGGLYPUFF, SET_UP_POSTER, EVENT_DECO_POSTER_3, $25 + decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_CONSOLE, EVENT_GAVE_KURT_APRICORNS, $00 + decoration DECO_PLANT, FAMICOM, SET_UP_CONSOLE, EVENT_DECO_FAMICOM, SPRITE_FAMICOM + decoration DECO_PLANT, SUPER_NES, SET_UP_CONSOLE, EVENT_DECO_SNES, SPRITE_SNES + decoration DECO_PLANT, NINTENDO_64, SET_UP_CONSOLE, EVENT_DECO_N64, SPRITE_N64 + decoration DECO_PLANT, VIRTUAL_BOY, SET_UP_CONSOLE, EVENT_DECO_VIRTUAL_BOY, SPRITE_VIRTUAL_BOY + decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_BIG_DOLL, EVENT_GAVE_KURT_APRICORNS, $00 + decoration DECO_BIGDOLL, SNORLAX, SET_UP_BIG_DOLL, EVENT_DECO_BIG_SNORLAX_DOLL, SPRITE_BIG_SNORLAX + decoration DECO_BIGDOLL, ONIX, SET_UP_BIG_DOLL, EVENT_DECO_BIG_ONIX_DOLL, SPRITE_BIG_ONIX + decoration DECO_BIGDOLL, LAPRAS, SET_UP_BIG_DOLL, EVENT_DECO_BIG_LAPRAS_DOLL, SPRITE_BIG_LAPRAS + decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_DOLL, EVENT_GAVE_KURT_APRICORNS, $00 + decoration DECO_DOLL, PIKACHU, SET_UP_DOLL, EVENT_DECO_PIKACHU_DOLL, SPRITE_PIKACHU + decoration DECO_PLANT, SURF_PIKA_DOLL, SET_UP_DOLL, EVENT_DECO_SURFING_PIKACHU_DOLL, SPRITE_SURFING_PIKACHU + decoration DECO_DOLL, CLEFAIRY, SET_UP_DOLL, EVENT_DECO_CLEFAIRY_DOLL, SPRITE_CLEFAIRY + decoration DECO_DOLL, JIGGLYPUFF, SET_UP_DOLL, EVENT_DECO_JIGGLYPUFF_DOLL, SPRITE_JIGGLYPUFF + decoration DECO_DOLL, BULBASAUR, SET_UP_DOLL, EVENT_DECO_BULBASAUR_DOLL, SPRITE_BULBASAUR + decoration DECO_DOLL, CHARMANDER, SET_UP_DOLL, EVENT_DECO_CHARMANDER_DOLL, SPRITE_CHARMANDER + decoration DECO_DOLL, SQUIRTLE, SET_UP_DOLL, EVENT_DECO_SQUIRTLE_DOLL, SPRITE_SQUIRTLE + decoration DECO_DOLL, POLIWAG, SET_UP_DOLL, EVENT_DECO_POLIWAG_DOLL, SPRITE_POLIWAG + decoration DECO_DOLL, DIGLETT, SET_UP_DOLL, EVENT_DECO_DIGLETT_DOLL, SPRITE_DIGLETT + decoration DECO_DOLL, STARYU, SET_UP_DOLL, EVENT_DECO_STARMIE_DOLL, SPRITE_STARMIE + decoration DECO_DOLL, MAGIKARP, SET_UP_DOLL, EVENT_DECO_MAGIKARP_DOLL, SPRITE_MAGIKARP + decoration DECO_DOLL, ODDISH, SET_UP_DOLL, EVENT_DECO_ODDISH_DOLL, SPRITE_ODDISH + decoration DECO_DOLL, GENGAR, SET_UP_DOLL, EVENT_DECO_GENGAR_DOLL, SPRITE_GENGAR + decoration DECO_DOLL, SHELLDER, SET_UP_DOLL, EVENT_DECO_SHELLDER_DOLL, SPRITE_SHELLDER + decoration DECO_DOLL, GRIMER, SET_UP_DOLL, EVENT_DECO_GRIMER_DOLL, SPRITE_GRIMER + decoration DECO_DOLL, VOLTORB, SET_UP_DOLL, EVENT_DECO_VOLTORB_DOLL, SPRITE_VOLTORB + decoration DECO_DOLL, WEEDLE, SET_UP_DOLL, EVENT_DECO_WEEDLE_DOLL, SPRITE_WEEDLE + decoration DECO_DOLL, UNOWN, SET_UP_DOLL, EVENT_DECO_UNOWN_DOLL, SPRITE_UNOWN + decoration DECO_DOLL, GEODUDE, SET_UP_DOLL, EVENT_DECO_GEODUDE_DOLL, SPRITE_GEODUDE + decoration DECO_DOLL, MACHOP, SET_UP_DOLL, EVENT_DECO_MACHOP_DOLL, SPRITE_MACHOP + decoration DECO_DOLL, TENTACOOL, SET_UP_DOLL, EVENT_DECO_TENTACOOL_DOLL, SPRITE_TENTACOOL + decoration DECO_PLANT, GOLD_TROPHY, SET_UP_DOLL, EVENT_DECO_GOLD_TROPHY, SPRITE_GOLD_TROPHY + decoration DECO_PLANT, SILVER_TROPHY, SET_UP_DOLL, EVENT_DECO_SILVER_TROPHY, SPRITE_SILVER_TROPHY +; 26b8d diff --git a/data/default_options.asm b/data/default_options.asm new file mode 100644 index 000000000..b1916b88c --- /dev/null +++ b/data/default_options.asm @@ -0,0 +1,18 @@ +DefaultOptions: ; 14f7c +; Options: med text speed + db TEXT_DELAY_MED +; wSaveFileExists: no + db $00 +; TextBoxFrame: frame 1 + db FRAME_1 +; TextBoxFlags: ?? + db $01 +; GBPrinter: normal brightness + db GBPRINTER_NORMAL +; Options2: menu account on + db $01 +; $cfd2: ?? + db $00 +; $cfd3: ?? + db $00 +; 14f84 diff --git a/data/egg_move_pointers.asm b/data/egg_move_pointers.asm index 11665f23e..caa9ed7c0 100644 --- a/data/egg_move_pointers.asm +++ b/data/egg_move_pointers.asm @@ -254,3 +254,4 @@ endc dw NoEggMoves dw NoEggMoves dw NoEggMoves +; 0x23d07 diff --git a/data/emote_headers.asm b/data/emote_headers.asm new file mode 100644 index 000000000..2618d3b0a --- /dev/null +++ b/data/emote_headers.asm @@ -0,0 +1,22 @@ +emote_header: MACRO +; graphics pointer, length, starting tile + dw \1 + db \2 tiles, BANK(\1) + dw VTiles1 tile \3 +ENDM + +EmotesPointers: ; 144d +; entries correspond to EMOTE_* constants + emote_header ShockEmote, 4, $78 + emote_header QuestionEmote, 4, $78 + emote_header HappyEmote, 4, $78 + emote_header SadEmote, 4, $78 + emote_header HeartEmote, 4, $78 + emote_header BoltEmote, 4, $78 + emote_header SleepEmote, 4, $78 + emote_header FishEmote, 4, $78 + emote_header JumpShadowGFX, 1, $7c + emote_header FishingRodGFX, 2, $7c + emote_header BoulderDustGFX, 2, $7e + emote_header GrassRustleGFX, 1, $7e +; 14495 diff --git a/data/engine_flags.asm b/data/engine_flags.asm new file mode 100644 index 000000000..6eb5f6065 --- /dev/null +++ b/data/engine_flags.asm @@ -0,0 +1,206 @@ +engine_flag: MACRO + dwb \1, 1 << \2 +ENDM + +EngineFlags: ; 80462 + ; location, bit + ; (all locations are in WRAM bank 1) + + ; pokegear + engine_flag wPokegearFlags, 1 ; radio card ; $0 + engine_flag wPokegearFlags, 0 ; map card + engine_flag wPokegearFlags, 2 ; phone card + engine_flag wPokegearFlags, 3 ; expn card + engine_flag wPokegearFlags, 7 ; on/off + + ; wDayCareMan, 7 ; day-care 1 on + engine_flag wDayCareMan, 6 ; egg is ready + ; wDayCareMan, 5 ; monster 1 and 2 are compatible + engine_flag wDayCareMan, 0 ; monster 1 in day-care + + ; wDayCareLady, 7 = day-care 2 on + engine_flag wDayCareLady, 0 ; monster 2 in day-care + + engine_flag wMomSavingMoney, 0 ; mom saving money ; $8 + engine_flag wMomSavingMoney, 7 ; dst + + engine_flag wUnusedTwoDayTimerOn, 0 ; unused, possibly related to a 2-day timer + + engine_flag StatusFlags, 0 ; pokedex + engine_flag StatusFlags, 1 ; unown dex + engine_flag StatusFlags, 3 ; pokerus + engine_flag StatusFlags, 4 ; rocket signal on ch20 + engine_flag StatusFlags, 6 ; credits skip + engine_flag StatusFlags, 7 ; bug contest on ; $10 + engine_flag StatusFlags2, 2 ; bug contest timer + engine_flag StatusFlags2, 1 ; safari zone? + engine_flag StatusFlags2, 0 ; rockets in radio tower + engine_flag StatusFlags2, 4 ; bike shop call enabled (1024 bike steps reqd) + engine_flag StatusFlags2, 5 ; give pokerus + engine_flag StatusFlags2, 6 ; berry -> berry juice when trading? + engine_flag StatusFlags2, 7 ; rockets in mahogany + + engine_flag BikeFlags, 0 ; strength active ; $18 + engine_flag BikeFlags, 1 ; always on bike (cant surf) + engine_flag BikeFlags, 2 ; downhill (cycling road) + + engine_flag JohtoBadges, 0 ; zephyrbadge + engine_flag JohtoBadges, 1 ; hivebadge + engine_flag JohtoBadges, 2 ; plainbadge + engine_flag JohtoBadges, 3 ; fogbadge + engine_flag JohtoBadges, 4 ; mineralbadge + engine_flag JohtoBadges, 5 ; stormbadge ; $20 + engine_flag JohtoBadges, 6 ; glacierbadge + engine_flag JohtoBadges, 7 ; risingbadge + + engine_flag KantoBadges, 0 ; boulderbadge + engine_flag KantoBadges, 1 ; cascadebadge + engine_flag KantoBadges, 2 ; thunderbadge + engine_flag KantoBadges, 3 ; rainbowbadge + engine_flag KantoBadges, 4 ; soulbadge + engine_flag KantoBadges, 5 ; marshbadge ; $28 + engine_flag KantoBadges, 6 ; volcanobadge + engine_flag KantoBadges, 7 ; earthbadge + + ; unown sets + engine_flag UnlockedUnowns, 0 ; 1 + engine_flag UnlockedUnowns, 1 ; 2 + engine_flag UnlockedUnowns, 2 ; 3 + engine_flag UnlockedUnowns, 3 ; 4 + engine_flag UnlockedUnowns, 4 ; 5 + engine_flag UnlockedUnowns, 5 ; 6 ; $30 + engine_flag UnlockedUnowns, 6 ; 7 + engine_flag UnlockedUnowns, 7 ; 8 + + ; fly + engine_flag VisitedSpawns, 0 ; your house + engine_flag VisitedSpawns, 1 ; viridian pokecenter + engine_flag VisitedSpawns, 2 ; pallet + engine_flag VisitedSpawns, 3 ; viridian + engine_flag VisitedSpawns, 4 ; pewter + engine_flag VisitedSpawns, 5 ; cerulean ; $38 + engine_flag VisitedSpawns, 6 ; rock tunnel + engine_flag VisitedSpawns, 7 ; vermilion + engine_flag VisitedSpawns + 1, 0 ; lavender + engine_flag VisitedSpawns + 1, 1 ; saffron + engine_flag VisitedSpawns + 1, 2 ; celadon + engine_flag VisitedSpawns + 1, 3 ; fuchsia + engine_flag VisitedSpawns + 1, 4 ; cinnabar + engine_flag VisitedSpawns + 1, 5 ; indigo plateau ; $40 + engine_flag VisitedSpawns + 1, 6 ; new bark + engine_flag VisitedSpawns + 1, 7 ; cherrygrove + engine_flag VisitedSpawns + 2, 0 ; violet + ; union cave + engine_flag VisitedSpawns + 2, 2 ; azalea + engine_flag VisitedSpawns + 2, 3 ; cianwood + engine_flag VisitedSpawns + 2, 4 ; goldenrod + engine_flag VisitedSpawns + 2, 5 ; olivine + engine_flag VisitedSpawns + 2, 6 ; ecruteak ; $48 + engine_flag VisitedSpawns + 2, 7 ; mahogany + engine_flag VisitedSpawns + 3, 0 ; lake of rage + engine_flag VisitedSpawns + 3, 1 ; blackthorn + engine_flag VisitedSpawns + 3, 2 ; silver cave + ; fast ship + engine_flag VisitedSpawns + 3, 4 ; unused + + engine_flag wLuckyNumberShowFlag, 0 ; lucky number show + engine_flag StatusFlags2, 3 ; ???? + + engine_flag DailyFlags, 0 ; kurt making balls ; $50 + engine_flag DailyFlags, 1 ; ???? + engine_flag DailyFlags, 2 ; special wilddata? + engine_flag DailyFlags, 3 ; time capsule (24h wait) + engine_flag DailyFlags, 4 ; all fruit trees + engine_flag DailyFlags, 5 ; shuckle given + engine_flag DailyFlags, 6 ; goldenrod underground merchant closed + engine_flag DailyFlags, 7 ; fought in trainer hall today + + engine_flag WeeklyFlags, 0 ; mt moon square clefairy ; $58 + engine_flag WeeklyFlags, 1 ; union cave lapras + engine_flag WeeklyFlags, 2 ; goldenrod underground haircut used + engine_flag WeeklyFlags, 3 ; goldenrod mall happiness event floor05 person07 + engine_flag WeeklyFlags, 4 ; tea in blues house + engine_flag WeeklyFlags, 5 ; indigo plateau rival fight + engine_flag WeeklyFlags, 6 ; move tutor + engine_flag WeeklyFlags, 7 ; buenas password + + engine_flag SwarmFlags, 0 ; buenas password 2 + engine_flag SwarmFlags, 1 ; goldenrod dept store sale is on + + engine_flag GameTimerPause, 7 ; $62 + + engine_flag PlayerGender, 0 ; player is female + + engine_flag wCelebiEvent, 2 ; have gs ball after kurt examined it + + ; rematches + engine_flag wDailyRematchFlags, 0 ; jack + engine_flag wDailyRematchFlags, 1 ; huey + engine_flag wDailyRematchFlags, 2 ; gaven + engine_flag wDailyRematchFlags, 3 ; beth ; $68 + engine_flag wDailyRematchFlags, 4 ; jose + engine_flag wDailyRematchFlags, 5 ; reena + engine_flag wDailyRematchFlags, 6 ; joey + engine_flag wDailyRematchFlags, 7 ; wade + engine_flag wDailyRematchFlags + 1, 0 ; ralph + engine_flag wDailyRematchFlags + 1, 1 ; liz + engine_flag wDailyRematchFlags + 1, 2 ; anthony + engine_flag wDailyRematchFlags + 1, 3 ; todd ; $70 + engine_flag wDailyRematchFlags + 1, 4 ; gina + engine_flag wDailyRematchFlags + 1, 5 ; arnie + engine_flag wDailyRematchFlags + 1, 6 ; alan + engine_flag wDailyRematchFlags + 1, 7 ; dana + engine_flag wDailyRematchFlags + 2, 0 ; chad + engine_flag wDailyRematchFlags + 2, 1 ; tully + engine_flag wDailyRematchFlags + 2, 2 ; brent + engine_flag wDailyRematchFlags + 2, 3 ; tiffany ; $78 + engine_flag wDailyRematchFlags + 2, 4 ; vance + engine_flag wDailyRematchFlags + 2, 5 ; wilton + engine_flag wDailyRematchFlags + 2, 6 ; parry + engine_flag wDailyRematchFlags + 2, 7 ; erin + + engine_flag wDailyPhoneItemFlags, 0 ; beverly has nugget + engine_flag wDailyPhoneItemFlags, 1 ; jose has star piece + engine_flag wDailyPhoneItemFlags, 2 ; wade has item (see EVENT_WADE_HAS_*** in constants/event_flags.asm) + engine_flag wDailyPhoneItemFlags, 3 ; gina has leaf stone ; $80 + engine_flag wDailyPhoneItemFlags, 4 ; alan has fire stone + engine_flag wDailyPhoneItemFlags, 5 ; liz has thunderstone + engine_flag wDailyPhoneItemFlags, 6 ; derek has nugget + engine_flag wDailyPhoneItemFlags, 7 ; tully has water stone + + engine_flag wDailyPhoneItemFlags + 1, 0 ; tiffany has pink bow + engine_flag wDailyPhoneItemFlags + 1, 1 ; wilton has item (see EVENT_WILTON_HAS_*** in constants/event_flags.asm) + + engine_flag wDailyPhoneTimeOfDayFlags, 0 + engine_flag wDailyPhoneTimeOfDayFlags, 1 ; $88 + engine_flag wDailyPhoneTimeOfDayFlags, 2 + engine_flag wDailyPhoneTimeOfDayFlags, 3 + engine_flag wDailyPhoneTimeOfDayFlags, 4 + engine_flag wDailyPhoneTimeOfDayFlags, 5 + engine_flag wDailyPhoneTimeOfDayFlags, 6 + engine_flag wDailyPhoneTimeOfDayFlags, 7 + + engine_flag wDailyPhoneTimeOfDayFlags + 1, 0 + engine_flag wDailyPhoneTimeOfDayFlags + 1, 1 ; $90 + engine_flag wDailyPhoneTimeOfDayFlags + 1, 2 + engine_flag wDailyPhoneTimeOfDayFlags + 1, 3 + engine_flag wDailyPhoneTimeOfDayFlags + 1, 4 + engine_flag wDailyPhoneTimeOfDayFlags + 1, 5 + engine_flag wDailyPhoneTimeOfDayFlags + 1, 6 + engine_flag wDailyPhoneTimeOfDayFlags + 1, 7 + + engine_flag wDailyPhoneTimeOfDayFlags + 2, 0 + engine_flag wDailyPhoneTimeOfDayFlags + 2, 1 ; $98 + engine_flag wDailyPhoneTimeOfDayFlags + 2, 2 + engine_flag wDailyPhoneTimeOfDayFlags + 2, 3 + engine_flag wDailyPhoneTimeOfDayFlags + 2, 4 + engine_flag wDailyPhoneTimeOfDayFlags + 2, 5 + engine_flag wDailyPhoneTimeOfDayFlags + 2, 6 + engine_flag wDailyPhoneTimeOfDayFlags + 2, 7 + + engine_flag wPlayerSpriteSetupFlags, 2 ; female player has been transformed into male + + engine_flag SwarmFlags, 2 ; dunsparce swarm ; $a0 + engine_flag SwarmFlags, 3 ; yanma swarm + +; 80648 diff --git a/data/evos_attacks_pointers.asm b/data/evos_attacks_pointers.asm index 4ce10b105..f6582e786 100644 --- a/data/evos_attacks_pointers.asm +++ b/data/evos_attacks_pointers.asm @@ -1,6 +1,4 @@ -; Pointer table for evolutions and attacks. - -; These are grouped together since they're both checked at level-up. +; Evolutions and attacks are grouped together since they're both checked at level-up. EvosAttacksPointers:: ; 0x425b1 dw BulbasaurEvosAttacks @@ -254,3 +252,4 @@ EvosAttacksPointers:: ; 0x425b1 dw LugiaEvosAttacks dw HoOhEvosAttacks dw CelebiEvosAttacks +; 0x427a7 diff --git a/data/facings.asm b/data/facings.asm new file mode 100644 index 000000000..4d2a55364 --- /dev/null +++ b/data/facings.asm @@ -0,0 +1,264 @@ +Facings: ; 4049 +; entries correspond to FACING_* constants + dw FacingStepDown0 + dw FacingStepDown1 + dw FacingStepDown2 + dw FacingStepDown3 + dw FacingStepUp0 + dw FacingStepUp1 + dw FacingStepUp2 + dw FacingStepUp3 + dw FacingStepLeft0 + dw FacingStepLeft1 + dw FacingStepLeft2 + dw FacingStepLeft3 + dw FacingStepRight0 + dw FacingStepRight1 + dw FacingStepRight2 + dw FacingStepRight3 + dw FacingFishDown + dw FacingFishUp + dw FacingFishLeft + dw FacingFishRight + dw FacingEmote + dw FacingShadow + dw FacingBigDollAsymmetric + dw FacingBigDollSymmetric + dw FacingWeirdTree0 + dw FacingWeirdTree1 + dw FacingWeirdTree2 + dw FacingWeirdTree3 + dw FacingBoulderDust1 + dw FacingBoulderDust2 + dw FacingGrass1 + dw FacingGrass2 +FacingsEnd: + dw 0 + +NUM_FACINGS EQU (FacingsEnd - Facings) / 2 + + +; Tables used as a reference to transform OAM data. + +; Format: +; db y, x, attributes, tile index + +FacingStepDown0: +FacingStepDown2: +FacingWeirdTree0: +FacingWeirdTree2: ; standing down + db 4 ; # + db 0, 0, 0, $00 + db 0, 8, 0, $01 + db 8, 0, 2, $02 + db 8, 8, 2, $03 +; 409c + +FacingStepDown1: ; walking down 1 + db 4 ; # + db 0, 0, 0, $80 + db 0, 8, 0, $81 + db 8, 0, 2, $82 + db 8, 8, 2, $83 +; 40ad + +FacingStepDown3: ; walking down 2 + db 4 ; # + db 0, 8, X_FLIP, $80 + db 0, 0, X_FLIP, $81 + db 8, 8, 2 | X_FLIP, $82 + db 8, 0, 2 | X_FLIP, $83 +; 40be + +FacingStepUp0: +FacingStepUp2: ; standing up + db 4 ; # + db 0, 0, 0, $04 + db 0, 8, 0, $05 + db 8, 0, 2, $06 + db 8, 8, 2, $07 +; 40cf + +FacingStepUp1: ; walking up 1 + db 4 ; # + db 0, 0, 0, $84 + db 0, 8, 0, $85 + db 8, 0, 2, $86 + db 8, 8, 2, $87 +; 40e0 + +FacingStepUp3: ; walking up 2 + db 4 ; # + db 0, 8, X_FLIP, $84 + db 0, 0, X_FLIP, $85 + db 8, 8, 2 | X_FLIP, $86 + db 8, 0, 2 | X_FLIP, $87 +; 40f1 + +FacingStepLeft0: +FacingStepLeft2: ; standing left + db 4 ; # + db 0, 0, 0, $08 + db 0, 8, 0, $09 + db 8, 0, 2, $0a + db 8, 8, 2, $0b +; 4102 + +FacingStepRight0: +FacingStepRight2: ; standing right + db 4 ; # + db 0, 8, X_FLIP, $08 + db 0, 0, X_FLIP, $09 + db 8, 8, 2 | X_FLIP, $0a + db 8, 0, 2 | X_FLIP, $0b +; 4113 + +FacingStepLeft1: +FacingStepLeft3: ; walking left + db 4 ; # + db 0, 0, 0, $88 + db 0, 8, 0, $89 + db 8, 0, 2, $8a + db 8, 8, 2, $8b +; 4124 + +FacingStepRight1: +FacingStepRight3: ; walking right + db 4 ; # + db 0, 8, X_FLIP, $88 + db 0, 0, X_FLIP, $89 + db 8, 8, 2 | X_FLIP, $8a + db 8, 0, 2 | X_FLIP, $8b +; 4135 + +FacingFishDown: ; fishing down + db 5 ; # + db 0, 0, 0, $00 + db 0, 8, 0, $01 + db 8, 0, 2, $02 + db 8, 8, 2, $03 + db 16, 0, 4, $fc +; 414a + +FacingFishUp: ; fishing up + db 5 ; # + db 0, 0, 0, $04 + db 0, 8, 0, $05 + db 8, 0, 2, $06 + db 8, 8, 2, $07 + db -8, 0, 4, $fc +; 415f + +FacingFishLeft: ; fishing left + db 5 ; # + db 0, 0, 0, $08 + db 0, 8, 0, $09 + db 8, 0, 2, $0a + db 8, 8, 2, $0b + db 5, -8, 4 | X_FLIP, $fd +; 4174 + +FacingFishRight: ; fishing right + db 5 ; # + db 0, 8, X_FLIP, $08 + db 0, 0, X_FLIP, $09 + db 8, 8, 2 | X_FLIP, $0a + db 8, 0, 2 | X_FLIP, $0b + db 5, 16, 4, $fd +; 4189 + +FacingEmote: ; emote + db 4 ; # + db 0, 0, 4, $f8 + db 0, 8, 4, $f9 + db 8, 0, 4, $fa + db 8, 8, 4, $fb +; 419a + +FacingShadow: ; shadow + db 2 ; # + db 0, 0, 4, $fc + db 0, 8, 4 | X_FLIP, $fc +; 41a3 + +FacingBigDollSymmetric: ; big snorlax or lapras doll + db 16 ; # + db 0, 0, 0, $00 + db 0, 8, 0, $01 + db 8, 0, 0, $02 + db 8, 8, 0, $03 + db 16, 0, 0, $04 + db 16, 8, 0, $05 + db 24, 0, 0, $06 + db 24, 8, 0, $07 + db 0, 24, X_FLIP, $00 + db 0, 16, X_FLIP, $01 + db 8, 24, X_FLIP, $02 + db 8, 16, X_FLIP, $03 + db 16, 24, X_FLIP, $04 + db 16, 16, X_FLIP, $05 + db 24, 24, X_FLIP, $06 + db 24, 16, X_FLIP, $07 +; 41e4 + +FacingWeirdTree1: ; 41e4 + db 4 ; # + db 0, 0, 0, $04 + db 0, 8, 0, $05 + db 8, 0, 0, $06 + db 8, 8, 0, $07 +; 41f5 + +FacingWeirdTree3: ; 41f5 + db 4 ; # + db 0, 8, X_FLIP, $04 + db 0, 0, X_FLIP, $05 + db 8, 8, X_FLIP, $06 + db 8, 0, X_FLIP, $07 +; 4206 + +FacingBigDollAsymmetric: ; big doll other than snorlax or lapras + db 14 ; # + db 0, 0, 0, $00 + db 0, 8, 0, $01 + db 8, 0, 0, $04 + db 8, 8, 0, $05 + db 16, 8, 0, $07 + db 24, 8, 0, $0a + db 0, 24, 0, $03 + db 0, 16, 0, $02 + db 8, 24, X_FLIP, $02 + db 8, 16, 0, $06 + db 16, 24, 0, $09 + db 16, 16, 0, $08 + db 24, 24, X_FLIP, $04 + db 24, 16, 0, $0b +; 423f + +FacingBoulderDust1: ; boulder dust 1 + db 4 ; # + db 0, 0, 4, $fe + db 0, 8, 4, $fe + db 8, 0, 4, $fe + db 8, 8, 4, $fe +; 4250 + +FacingBoulderDust2: ; boulder dust 2 + db 4 ; # + db 0, 0, 4, $ff + db 0, 8, 4, $ff + db 8, 0, 4, $ff + db 8, 8, 4, $ff +; 4261 + +FacingGrass1: ; 4261 + db 2 ; # + db 8, 0, 4, $fe + db 8, 8, 4 | X_FLIP, $fe +; 426a + +FacingGrass2: ; 426a + db 2 ; # + db 9, -1, 4, $fe + db 9, 9, 4 | X_FLIP, $fe +; 4273 diff --git a/data/field_move_blocks.asm b/data/field_move_blocks.asm new file mode 100644 index 000000000..5e9bbc1f4 --- /dev/null +++ b/data/field_move_blocks.asm @@ -0,0 +1,53 @@ +CutTreeBlockPointers: ; c862 +; tileset, block list pointer + dbw TILESET_JOHTO_1, .johto1 + dbw TILESET_JOHTO_2, .johto2 + dbw TILESET_KANTO, .kanto + dbw TILESET_PARK, .park + dbw TILESET_ILEX_FOREST, .ilex + db -1 + +.johto1 ; Johto OW +; facing block, replacement block, animation + db $03, $02, $01 ; grass + db $5b, $3c, $00 ; tree + db $5f, $3d, $00 ; tree + db $63, $3f, $00 ; tree + db $67, $3e, $00 ; tree + db -1 + +.johto2 ; Goldenrod area +; facing block, replacement block, animation + db $03, $02, $01 ; grass + db -1 + +.kanto ; Kanto OW +; facing block, replacement block, animation + db $0b, $0a, $01 ; grass + db $32, $6d, $00 ; tree + db $33, $6c, $00 ; tree + db $34, $6f, $00 ; tree + db $35, $4c, $00 ; tree + db $60, $6e, $00 ; tree + db -1 + +.park ; National Park +; facing block, replacement block, animation + db $13, $03, $01 ; grass + db $03, $04, $01 ; grass + db -1 + +.ilex ; Ilex Forest +; facing block, replacement block, animation + db $0f, $17, $00 + db -1 + + +WhirlpoolBlockPointers: ; c8a4 + dbw TILESET_JOHTO_1, .johto + db -1 + +.johto ; c8a8 +; facing block, replacement block, animation + db $07, $36, $00 + db -1 diff --git a/data/fruit_tree_items.asm b/data/fruit_tree_items.asm new file mode 100644 index 000000000..67b8f51ad --- /dev/null +++ b/data/fruit_tree_items.asm @@ -0,0 +1,33 @@ +FruitTreeItems: ; 44097 +; entries correspond to FRUITTREE_* constants + db BERRY ; ROUTE_29 + db BERRY ; ROUTE_30_1 + db BERRY ; ROUTE_38 + db BERRY ; ROUTE_46_1 + db PSNCUREBERRY ; ROUTE_30_2 + db PSNCUREBERRY ; ROUTE_33 + db BITTER_BERRY ; ROUTE_31 + db BITTER_BERRY ; ROUTE_43 + db PRZCUREBERRY ; VIOLET_CITY + db PRZCUREBERRY ; ROUTE_46_2 + db MYSTERYBERRY ; ROUTE_35 + db MYSTERYBERRY ; ROUTE_45 + db ICE_BERRY ; ROUTE_36 + db ICE_BERRY ; ROUTE_26 + db MINT_BERRY ; ROUTE_39 + db BURNT_BERRY ; ROUTE_44 + db RED_APRICORN ; ROUTE_37_1 + db BLU_APRICORN ; ROUTE_37_2 + db BLK_APRICORN ; ROUTE_37_3 + db WHT_APRICORN ; AZALEA_TOWN + db PNK_APRICORN ; ROUTE_42_1 + db GRN_APRICORN ; ROUTE_42_2 + db YLW_APRICORN ; ROUTE_42_3 + db BERRY ; ROUTE_11 + db PSNCUREBERRY ; ROUTE_2 + db BITTER_BERRY ; ROUTE_1 + db PRZCUREBERRY ; ROUTE_8 + db ICE_BERRY ; PEWTER_CITY_1 + db MINT_BERRY ; PEWTER_CITY_2 + db BURNT_BERRY ; FUCHSIA_CITY +; 440b5 diff --git a/data/growth_rates.asm b/data/growth_rates.asm new file mode 100644 index 000000000..4a1564515 --- /dev/null +++ b/data/growth_rates.asm @@ -0,0 +1,20 @@ +growth_rate: MACRO +; [1]/[2]*n**3 + [3]*n**2 + [4]*n - [5] + dn \1, \2 + if \3 & $80 ; signed + db -\3 | $80 + else + db \3 + endc + db \4, \5 +ENDM + +GrowthRates: ; 50efa +; entries correspond to base growth rate constants (see constants/pokemon_data_constants.asm) + growth_rate 1, 1, 0, 0, 0 ; Medium Fast + growth_rate 3, 4, 10, 0, 30 ; Slightly Fast + growth_rate 3, 4, 20, 0, 70 ; Slightly Slow + growth_rate 6, 5, -15, 100, 140 ; Medium Slow + growth_rate 4, 5, 0, 0, 0 ; Fast + growth_rate 5, 4, 0, 0, 0 ; Slow +; 50f12 diff --git a/data/happiness_changes.asm b/data/happiness_changes.asm new file mode 100644 index 000000000..de60ea32d --- /dev/null +++ b/data/happiness_changes.asm @@ -0,0 +1,22 @@ +HappinessChanges: +; entries correspond to HAPPINESS_* constants +; change if happiness < 100, change if happiness < 200, change otherwise + db +5, +3, +2 ; Gained a level + db +5, +3, +2 ; Vitamin + db +1, +1, +0 ; X Item + db +3, +2, +1 ; Battled a Gym Leader + db +1, +1, +0 ; Learned a move + db -1, -1, -1 ; Lost to an enemy + db -5, -5, -10 ; Fainted due to poison + db -5, -5, -10 ; Lost to a much stronger enemy + db +1, +1, +1 ; Haircut (Y1) + db +3, +3, +1 ; Haircut (Y2) + db +5, +5, +2 ; Haircut (Y3) + db +1, +1, +1 ; Haircut (O1) + db +3, +3, +1 ; Haircut (O2) + db +10, +10, +4 ; Haircut (O3) + db -5, -5, -10 ; Used Heal Powder or Energypowder (bitter) + db -10, -10, -15 ; Used Energy Root (bitter) + db -15, -15, -20 ; Used Revival Herb (bitter) + db +3, +3, +1 ; Grooming + db +10, +6, +4 ; Gained a level in the place where it was caught diff --git a/data/hm_moves.asm b/data/hm_moves.asm new file mode 100644 index 000000000..ac9f1f542 --- /dev/null +++ b/data/hm_moves.asm @@ -0,0 +1,12 @@ +; HM moves can't be forgotten + +HMMoves: ; 34f0 + db CUT + db FLY + db SURF + db STRENGTH + db FLASH + db WATERFALL + db WHIRLPOOL + db -1 ; end +; 34f8 diff --git a/data/landmarks.asm b/data/landmarks.asm new file mode 100644 index 000000000..0b927aaf6 --- /dev/null +++ b/data/landmarks.asm @@ -0,0 +1,208 @@ +landmark: MACRO +; x, y, name + db \1, \2 + dw \3 +ENDM + +Landmarks: ; 0x1ca8c3 +; entries correspond to constants/landmark_constants.asm + landmark 0, 0, SpecialMapName + landmark 148, 116, NewBarkTownName + landmark 136, 116, Route29Name + landmark 108, 116, CherrygroveCityName + landmark 108, 96, Route30Name + landmark 104, 76, Route31Name + landmark 92, 76, VioletCityName + landmark 93, 74, SproutTowerName + landmark 92, 108, Route32Name + landmark 84, 92, RuinsOfAlphName + landmark 92, 140, UnionCaveName + landmark 90, 140, Route33Name + landmark 76, 140, AzaleaTownName + landmark 78, 138, SlowpokeWellName + landmark 60, 136, IlexForestName + landmark 60, 128, Route34Name + landmark 60, 108, GoldenrodCityName + landmark 58, 108, RadioTowerName + landmark 60, 92, Route35Name + landmark 60, 76, NationalParkName + landmark 72, 76, Route36Name + landmark 76, 68, Route37Name + landmark 76, 60, EcruteakCityName + landmark 78, 58, TinTowerName + landmark 74, 58, BurnedTowerName + landmark 60, 60, Route38Name + landmark 44, 64, Route39Name + landmark 44, 76, OlivineCityName + landmark 46, 78, LighthouseName + landmark 36, 72, BattleTowerName + landmark 36, 80, Route40Name + landmark 36, 108, WhirlIslandsName + landmark 36, 116, Route41Name + landmark 28, 116, CianwoodCityName + landmark 100, 60, Route42Name + landmark 92, 60, MtMortarName + landmark 116, 60, MahoganyTownName + landmark 116, 52, Route43Name + landmark 116, 44, LakeOfRageName + landmark 128, 60, Route44Name + landmark 138, 54, IcePathName + landmark 140, 60, BlackthornCityName + landmark 140, 52, DragonsDenName + landmark 140, 80, Route45Name + landmark 120, 88, DarkCaveName + landmark 132, 104, Route46Name + landmark 156, 84, SilverCaveName + landmark 60, 124, PalletTownName + landmark 60, 108, Route1Name + landmark 60, 92, ViridianCityName + landmark 60, 80, Route2Name + landmark 60, 68, PewterCityName + landmark 72, 68, Route3Name + landmark 84, 68, MtMoonName + landmark 96, 68, Route4Name + landmark 108, 68, CeruleanCityName + landmark 108, 60, Route24Name + landmark 116, 52, Route25Name + landmark 108, 76, Route5Name + landmark 116, 92, UndergroundName + landmark 108, 92, Route6Name + landmark 108, 100, VermilionCityName + landmark 96, 76, DiglettsCaveName + landmark 96, 84, Route7Name + landmark 124, 84, Route8Name + landmark 124, 68, Route9Name + landmark 140, 68, RockTunnelName + landmark 140, 72, Route10Name + landmark 140, 76, PowerPlantName + landmark 140, 84, LavenderTownName + landmark 148, 84, LavRadioTowerName + landmark 84, 84, CeladonCityName + landmark 108, 84, SaffronCityName + landmark 124, 100, Route11Name + landmark 140, 96, Route12Name + landmark 132, 116, Route13Name + landmark 124, 128, Route14Name + landmark 112, 132, Route15Name + landmark 76, 84, Route16Name + landmark 76, 108, Route17Name + landmark 88, 132, Route18Name + landmark 100, 132, FuchsiaCityName + landmark 100, 144, Route19Name + landmark 84, 148, Route20Name + landmark 76, 148, SeafoamIslandsName + landmark 60, 148, CinnabarIslandName + landmark 60, 136, Route21Name + landmark 44, 84, Route22Name + landmark 36, 68, VictoryRoadName + landmark 36, 60, Route23Name + landmark 36, 52, IndigoPlateauName + landmark 36, 108, Route26Name + landmark 28, 116, Route27Name + landmark 20, 116, TohjoFallsName + landmark 28, 84, Route28Name + landmark 148, 132, FastShipName +; 0x1caa43 + +NewBarkTownName: db "NEW BARK¯TOWN@" +CherrygroveCityName: db "CHERRYGROVE¯CITY@" +VioletCityName: db "VIOLET CITY@" +AzaleaTownName: db "AZALEA TOWN@" +GoldenrodCityName: db "GOLDENROD¯CITY@" +EcruteakCityName: db "ECRUTEAK¯CITY@" +OlivineCityName: db "OLIVINE¯CITY@" +CianwoodCityName: db "CIANWOOD¯CITY@" +MahoganyTownName: db "MAHOGANY¯TOWN@" +BlackthornCityName: db "BLACKTHORN¯CITY@" +LakeOfRageName: db "LAKE OF¯RAGE@" +SilverCaveName: db "SILVER CAVE@" +SproutTowerName: db "SPROUT¯TOWER@" +RuinsOfAlphName: db "RUINS¯OF ALPH@" +UnionCaveName: db "UNION CAVE@" +SlowpokeWellName: db "SLOWPOKE¯WELL@" +RadioTowerName: db "RADIO TOWER@" +PowerPlantName: db "POWER PLANT@" +NationalParkName: db "NATIONAL¯PARK@" +TinTowerName: db "TIN TOWER@" +LighthouseName: db "LIGHTHOUSE@" +WhirlIslandsName: db "WHIRL¯ISLANDS@" +MtMortarName: db "MT.MORTAR@" +DragonsDenName: db "DRAGON'S¯DEN@" +IcePathName: db "ICE PATH@" +NotApplicableName: db "N/A@" +PalletTownName: db "PALLET TOWN@" +ViridianCityName: db "VIRIDIAN¯CITY@" +PewterCityName: db "PEWTER CITY@" +CeruleanCityName: db "CERULEAN¯CITY@" +LavenderTownName: db "LAVENDER¯TOWN@" +VermilionCityName: db "VERMILION¯CITY@" +CeladonCityName: db "CELADON¯CITY@" +SaffronCityName: db "SAFFRON¯CITY@" +FuchsiaCityName: db "FUCHSIA¯CITY@" +CinnabarIslandName: db "CINNABAR¯ISLAND@" +IndigoPlateauName: db "INDIGO¯PLATEAU@" +VictoryRoadName: db "VICTORY¯ROAD@" +MtMoonName: db "MT.MOON@" +RockTunnelName: db "ROCK TUNNEL@" +LavRadioTowerName: db "LAV¯RADIO TOWER@" +SilphCoName: db "SILPH CO.@" +SafariZoneName: db "SAFARI ZONE@" +SeafoamIslandsName: db "SEAFOAM¯ISLANDS@" +PokemonMansionName: db "#MON¯MANSION@" +CeruleanCaveName: db "CERULEAN¯CAVE@" +Route1Name: db "ROUTE 1@" +Route2Name: db "ROUTE 2@" +Route3Name: db "ROUTE 3@" +Route4Name: db "ROUTE 4@" +Route5Name: db "ROUTE 5@" +Route6Name: db "ROUTE 6@" +Route7Name: db "ROUTE 7@" +Route8Name: db "ROUTE 8@" +Route9Name: db "ROUTE 9@" +Route10Name: db "ROUTE 10@" +Route11Name: db "ROUTE 11@" +Route12Name: db "ROUTE 12@" +Route13Name: db "ROUTE 13@" +Route14Name: db "ROUTE 14@" +Route15Name: db "ROUTE 15@" +Route16Name: db "ROUTE 16@" +Route17Name: db "ROUTE 17@" +Route18Name: db "ROUTE 18@" +Route19Name: db "ROUTE 19@" +Route20Name: db "ROUTE 20@" +Route21Name: db "ROUTE 21@" +Route22Name: db "ROUTE 22@" +Route23Name: db "ROUTE 23@" +Route24Name: db "ROUTE 24@" +Route25Name: db "ROUTE 25@" +Route26Name: db "ROUTE 26@" +Route27Name: db "ROUTE 27@" +Route28Name: db "ROUTE 28@" +Route29Name: db "ROUTE 29@" +Route30Name: db "ROUTE 30@" +Route31Name: db "ROUTE 31@" +Route32Name: db "ROUTE 32@" +Route33Name: db "ROUTE 33@" +Route34Name: db "ROUTE 34@" +Route35Name: db "ROUTE 35@" +Route36Name: db "ROUTE 36@" +Route37Name: db "ROUTE 37@" +Route38Name: db "ROUTE 38@" +Route39Name: db "ROUTE 39@" +Route40Name: db "ROUTE 40@" +Route41Name: db "ROUTE 41@" +Route42Name: db "ROUTE 42@" +Route43Name: db "ROUTE 43@" +Route44Name: db "ROUTE 44@" +Route45Name: db "ROUTE 45@" +Route46Name: db "ROUTE 46@" +DarkCaveName: db "DARK CAVE@" +IlexForestName: db "ILEX¯FOREST@" +BurnedTowerName: db "BURNED¯TOWER@" +FastShipName: db "FAST SHIP@" +ViridianForestName: db "VIRIDIAN¯FOREST@" +DiglettsCaveName: db "DIGLETT'S¯CAVE@" +TohjoFallsName: db "TOHJO FALLS@" +UndergroundName: db "UNDERGROUND@" +BattleTowerName: db "BATTLE¯TOWER@" +SpecialMapName: db "SPECIAL@" diff --git a/data/mail_input_chars.asm b/data/mail_input_chars.asm new file mode 100644 index 000000000..befdc0cf7 --- /dev/null +++ b/data/mail_input_chars.asm @@ -0,0 +1,19 @@ +; see engine/naming_screen.asm + +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/data/map_objects.asm b/data/map_objects.asm index 9cc495b7f..6bf9aeaa1 100755 --- a/data/map_objects.asm +++ b/data/map_objects.asm @@ -1,10 +1,10 @@ -; entries correspond to SPRITEMOVEDATA_* constants - sprite_movement_data: macro db \1, \2, \3, \4, \5 dn \6, 0 endm +SpriteMovementData:: ; 4273 +; entries correspond to SPRITEMOVEDATA_* constants ; function, facing, action, flags1, flags2, palette flags sprite_movement_data SPRITEMOVEFN_00, DOWN, PERSON_ACTION_STAND, $02, $00, %0000 ; 00 sprite_movement_data SPRITEMOVEFN_STANDING, DOWN, PERSON_ACTION_STAND, $0c, $00, %0000 ; 01 @@ -44,3 +44,4 @@ endm sprite_movement_data SPRITEMOVEFN_GRASS, DOWN, PERSON_ACTION_GRASS_SHAKE, $8e, $02, %0000 ; 23 sprite_movement_data SPRITEMOVEFN_RANDOM_WALK_XY, DOWN, PERSON_ACTION_STAND, $00, $00, %0010 ; 24 sprite_movement_data SPRITEMOVEFN_00, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 25 +; 4357 diff --git a/data/map_triggers.asm b/data/map_triggers.asm new file mode 100644 index 000000000..b2ba1222a --- /dev/null +++ b/data/map_triggers.asm @@ -0,0 +1,89 @@ +trigger_def: MACRO +; db group, map +; dw address + map \1 + dw \2 +ENDM + +MapTriggers:: ; 4d01e + trigger_def POKECENTER_2F, wPokecenter2FTrigger + trigger_def TRADE_CENTER, wTradeCenterTrigger + trigger_def COLOSSEUM, wColosseumTrigger + trigger_def TIME_CAPSULE, wTimeCapsuleTrigger + trigger_def POWER_PLANT, wPowerPlantTrigger + trigger_def CERULEAN_GYM, wCeruleanGymTrigger + trigger_def ROUTE_25, wRoute25Trigger + trigger_def TRAINER_HOUSE_B1F, wTrainerHouseB1FTrigger + trigger_def VICTORY_ROAD_GATE, wVictoryRoadGateTrigger + trigger_def SAFFRON_TRAIN_STATION, wSaffronTrainStationTrigger + trigger_def ROUTE_16_GATE, wRoute16GateTrigger + trigger_def ROUTE_17_18_GATE, wRoute1718GateTrigger + trigger_def INDIGO_PLATEAU_POKECENTER_1F, wIndigoPlateauPokecenter1FTrigger + trigger_def WILLS_ROOM, wWillsRoomTrigger + trigger_def KOGAS_ROOM, wKogasRoomTrigger + trigger_def BRUNOS_ROOM, wBrunosRoomTrigger + trigger_def KARENS_ROOM, wKarensRoomTrigger + trigger_def LANCES_ROOM, wLancesRoomTrigger + trigger_def HALL_OF_FAME, wHallOfFameTrigger + trigger_def ROUTE_27, wRoute27Trigger + trigger_def NEW_BARK_TOWN, wNewBarkTownTrigger + trigger_def ELMS_LAB, wElmsLabTrigger + trigger_def KRISS_HOUSE_1F, wKrissHouse1FTrigger + trigger_def ROUTE_29, wRoute29Trigger + trigger_def CHERRYGROVE_CITY, wCherrygroveCityTrigger + trigger_def MR_POKEMONS_HOUSE, wMrPokemonsHouseTrigger + trigger_def ROUTE_32, wRoute32Trigger + trigger_def ROUTE_35_NATIONAL_PARK_GATE, wRoute35NationalParkGateTrigger + trigger_def ROUTE_36, wRoute36Trigger + trigger_def ROUTE_36_NATIONAL_PARK_GATE, wRoute36NationalParkGateTrigger + trigger_def AZALEA_TOWN, wAzaleaTownTrigger + trigger_def GOLDENROD_GYM, wGoldenrodGymTrigger + trigger_def GOLDENROD_MAGNET_TRAIN_STATION, wGoldenrodMagnetTrainStationTrigger + trigger_def GOLDENROD_POKECENTER_1F, wGoldenrodPokecenter1FTrigger + trigger_def OLIVINE_CITY, wOlivineCityTrigger + trigger_def ROUTE_34, wRoute34Trigger + trigger_def ROUTE_34_ILEX_FOREST_GATE, wRoute34IlexForestGateTrigger + trigger_def ECRUTEAK_HOUSE, wEcruteakHouseTrigger + trigger_def WISE_TRIOS_ROOM, wWiseTriosRoomTrigger + trigger_def ECRUTEAK_POKECENTER_1F, wEcruteakPokecenter1FTrigger + trigger_def ECRUTEAK_GYM, wEcruteakGymTrigger + trigger_def MAHOGANY_TOWN, wMahoganyTownTrigger + trigger_def ROUTE_42, wRoute42Trigger + trigger_def CIANWOOD_CITY, wCianwoodCityTrigger + trigger_def BATTLE_TOWER_1F, wBattleTower1FTrigger + trigger_def BATTLE_TOWER_BATTLE_ROOM, wBattleTowerBattleRoomTrigger + trigger_def BATTLE_TOWER_ELEVATOR, wBattleTowerElevatorTrigger + trigger_def BATTLE_TOWER_HALLWAY, wBattleTowerHallwayTrigger + trigger_def BATTLE_TOWER_OUTSIDE, wBattleTowerOutsideTrigger + trigger_def ROUTE_43_GATE, wRoute43GateTrigger + trigger_def MOUNT_MOON, wMountMoonTrigger + trigger_def SPROUT_TOWER_3F, wSproutTower3FTrigger + trigger_def TIN_TOWER_1F, wTinTower1FTrigger + trigger_def BURNED_TOWER_1F, wBurnedTower1FTrigger + trigger_def BURNED_TOWER_B1F, wBurnedTowerB1FTrigger + trigger_def RADIO_TOWER_5F, wRadioTower5FTrigger + trigger_def RUINS_OF_ALPH_OUTSIDE, wRuinsOfAlphOutsideTrigger + trigger_def RUINS_OF_ALPH_RESEARCH_CENTER, wRuinsOfAlphResearchCenterTrigger + trigger_def RUINS_OF_ALPH_HO_OH_CHAMBER, wRuinsOfAlphHoOhChamberTrigger + trigger_def RUINS_OF_ALPH_KABUTO_CHAMBER, wRuinsOfAlphKabutoChamberTrigger + trigger_def RUINS_OF_ALPH_OMANYTE_CHAMBER, wRuinsOfAlphOmanyteChamberTrigger + trigger_def RUINS_OF_ALPH_AERODACTYL_CHAMBER, wRuinsOfAlphAerodactylChamberTrigger + trigger_def RUINS_OF_ALPH_INNER_CHAMBER, wRuinsOfAlphInnerChamberTrigger + trigger_def MAHOGANY_MART_1F, wMahoganyMart1FTrigger + trigger_def TEAM_ROCKET_BASE_B1F, wTeamRocketBaseB1FTrigger + trigger_def TEAM_ROCKET_BASE_B2F, wTeamRocketBaseB2FTrigger + trigger_def TEAM_ROCKET_BASE_B3F, wTeamRocketBaseB3FTrigger + trigger_def UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES, wUndergroundPathSwitchRoomEntrancesTrigger + trigger_def SILVER_CAVE_ROOM_3, wSilverCaveRoom3Trigger + trigger_def VICTORY_ROAD, wVictoryRoadTrigger + trigger_def DRAGONS_DEN_B1F, wDragonsDenB1FTrigger + trigger_def DRAGON_SHRINE, wDragonShrineTrigger + trigger_def OLIVINE_PORT, wOlivinePortTrigger + trigger_def VERMILION_PORT, wVermilionPortTrigger + trigger_def FAST_SHIP_1F, wFastShip1FTrigger + trigger_def FAST_SHIP_B1F, wFastShipB1FTrigger + trigger_def MOUNT_MOON_SQUARE, wMountMoonSquareTrigger + trigger_def MOBILE_TRADE_ROOM_MOBILE, wMobileTradeRoomMobileTrigger + trigger_def MOBILE_BATTLE_ROOM, wMobileBattleRoomTrigger + db -1 +; 4d15b diff --git a/data/mapgroup_roofs.asm b/data/mapgroup_roofs.asm new file mode 100644 index 000000000..0cad8a0e3 --- /dev/null +++ b/data/mapgroup_roofs.asm @@ -0,0 +1,31 @@ +; valid roofs: 0, 1, 2, 3, 4, or -1 for none + +MapGroupRoofs: ; 1c021i + db -1 ; group 0 (unused) + db 3 ; group 1 (Olivine) + db 2 ; group 2 (Mahogany) + db -1 ; group 3 + db 1 ; group 4 (Ecruteak) + db 2 ; group 5 (Blackthorn) + db -1 ; group 6 + db -1 ; group 7 + db 2 ; group 8 (Azalea) + db 2 ; group 9 (Lake of Rage) + db 1 ; group 10 (Violet) + db 4 ; group 11 (Goldenrod) + db -1 ; group 12 + db -1 ; group 13 + db -1 ; group 14 + db -1 ; group 15 + db -1 ; group 16 + db -1 ; group 17 + db -1 ; group 18 + db 0 ; group 19 (Silver Cave) + db -1 ; group 20 + db -1 ; group 21 + db 3 ; group 22 (Cianwood) + db -1 ; group 23 + db 0 ; group 24 (New Bark) + db -1 ; group 25 + db 0 ; group 26 (Cherrygrove) +; 1c03c diff --git a/data/mom_phone_items.asm b/data/mom_phone_items.asm new file mode 100644 index 000000000..533241ca1 --- /dev/null +++ b/data/mom_phone_items.asm @@ -0,0 +1,27 @@ +momitem: macro +; money to trigger, cost, kind, item + dt \1 + dt \2 + db \3, \4 +ENDM + +MomItems_1: ; fd136 + momitem 0, 600, MOM_ITEM, SUPER_POTION + momitem 0, 90, MOM_ITEM, ANTIDOTE + momitem 0, 180, MOM_ITEM, POKE_BALL + momitem 0, 450, MOM_ITEM, ESCAPE_ROPE + momitem 0, 500, MOM_ITEM, GREAT_BALL +MomItems_1End: ; fd15e + +MomItems_2: ; fd15e + momitem 900, 600, MOM_ITEM, SUPER_POTION + momitem 4000, 270, MOM_ITEM, REPEL + momitem 7000, 600, MOM_ITEM, SUPER_POTION + momitem 10000, 1800, MOM_DOLL, DECO_CHARMANDER_DOLL + momitem 15000, 3000, MOM_ITEM, MOON_STONE + momitem 19000, 600, MOM_ITEM, SUPER_POTION + momitem 30000, 4800, MOM_DOLL, DECO_CLEFAIRY_DOLL + momitem 40000, 900, MOM_ITEM, HYPER_POTION + momitem 50000, 8000, MOM_DOLL, DECO_PIKACHU_DOLL + momitem 100000, 22800, MOM_DOLL, DECO_BIG_SNORLAX_DOLL +MomItems_2End: ; fd1ae diff --git a/data/mon_menu_icons.asm b/data/mon_menu_icons.asm new file mode 100644 index 000000000..360b206a2 --- /dev/null +++ b/data/mon_menu_icons.asm @@ -0,0 +1,255 @@ +; party menu icons + +MonMenuIcons: ; 8eac4 + db ICON_BULBASAUR ; BULBASAUR + db ICON_BULBASAUR ; IVYSAUR + db ICON_BULBASAUR ; VENUSAUR + db ICON_CHARMANDER ; CHARMANDER + db ICON_CHARMANDER ; CHARMELEON + db ICON_BIGMON ; CHARIZARD + db ICON_SQUIRTLE ; SQUIRTLE + db ICON_SQUIRTLE ; WARTORTLE + db ICON_SQUIRTLE ; BLASTOISE + db ICON_CATERPILLAR ; CATERPIE + db ICON_CATERPILLAR ; METAPOD + db ICON_MOTH ; BUTTERFREE + db ICON_CATERPILLAR ; WEEDLE + db ICON_CATERPILLAR ; KAKUNA + db ICON_BUG ; BEEDRILL + db ICON_BIRD ; PIDGEY + db ICON_BIRD ; PIDGEOTTO + db ICON_BIRD ; PIDGEOT + db ICON_FOX ; RATTATA + db ICON_FOX ; RATICATE + db ICON_BIRD ; SPEAROW + db ICON_BIRD ; FEAROW + db ICON_SERPENT ; EKANS + db ICON_SERPENT ; ARBOK + db ICON_PIKACHU ; PIKACHU + db ICON_PIKACHU ; RAICHU + db ICON_MONSTER ; SANDSHREW + db ICON_MONSTER ; SANDSLASH + db ICON_FOX ; NIDORAN_F + db ICON_FOX ; NIDORINA + db ICON_MONSTER ; NIDOQUEEN + db ICON_FOX ; NIDORAN_M + db ICON_FOX ; NIDORINO + db ICON_MONSTER ; NIDOKING + db ICON_CLEFAIRY ; CLEFAIRY + db ICON_CLEFAIRY ; CLEFABLE + db ICON_FOX ; VULPIX + db ICON_FOX ; NINETALES + db ICON_JIGGLYPUFF ; JIGGLYPUFF + db ICON_JIGGLYPUFF ; WIGGLYTUFF + db ICON_BAT ; ZUBAT + db ICON_BAT ; GOLBAT + db ICON_ODDISH ; ODDISH + db ICON_ODDISH ; GLOOM + db ICON_ODDISH ; VILEPLUME + db ICON_BUG ; PARAS + db ICON_BUG ; PARASECT + db ICON_CATERPILLAR ; VENONAT + db ICON_MOTH ; VENOMOTH + db ICON_DIGLETT ; DIGLETT + db ICON_DIGLETT ; DUGTRIO + db ICON_FOX ; MEOWTH + db ICON_FOX ; PERSIAN + db ICON_MONSTER ; PSYDUCK + db ICON_MONSTER ; GOLDUCK + db ICON_FIGHTER ; MANKEY + db ICON_FIGHTER ; PRIMEAPE + db ICON_FOX ; GROWLITHE + db ICON_FOX ; ARCANINE + db ICON_POLIWAG ; POLIWAG + db ICON_POLIWAG ; POLIWHIRL + db ICON_POLIWAG ; POLIWRATH + db ICON_HUMANSHAPE ; ABRA + db ICON_HUMANSHAPE ; KADABRA + db ICON_HUMANSHAPE ; ALAKAZAM + db ICON_FIGHTER ; MACHOP + db ICON_FIGHTER ; MACHOKE + db ICON_FIGHTER ; MACHAMP + db ICON_ODDISH ; BELLSPROUT + db ICON_ODDISH ; WEEPINBELL + db ICON_ODDISH ; VICTREEBEL + db ICON_JELLYFISH ; TENTACOOL + db ICON_JELLYFISH ; TENTACRUEL + db ICON_GEODUDE ; GEODUDE + db ICON_GEODUDE ; GRAVELER + db ICON_GEODUDE ; GOLEM + db ICON_EQUINE ; PONYTA + db ICON_EQUINE ; RAPIDASH + db ICON_SLOWPOKE ; SLOWPOKE + db ICON_SLOWPOKE ; SLOWBRO + db ICON_VOLTORB ; MAGNEMITE + db ICON_VOLTORB ; MAGNETON + db ICON_BIRD ; FARFETCH_D + db ICON_BIRD ; DODUO + db ICON_BIRD ; DODRIO + db ICON_LAPRAS ; SEEL + db ICON_LAPRAS ; DEWGONG + db ICON_BLOB ; GRIMER + db ICON_BLOB ; MUK + db ICON_SHELL ; SHELLDER + db ICON_SHELL ; CLOYSTER + db ICON_GHOST ; GASTLY + db ICON_GHOST ; HAUNTER + db ICON_GHOST ; GENGAR + db ICON_SERPENT ; ONIX + db ICON_HUMANSHAPE ; DROWZEE + db ICON_HUMANSHAPE ; HYPNO + db ICON_SHELL ; KRABBY + db ICON_SHELL ; KINGLER + db ICON_VOLTORB ; VOLTORB + db ICON_VOLTORB ; ELECTRODE + db ICON_ODDISH ; EXEGGCUTE + db ICON_ODDISH ; EXEGGUTOR + db ICON_MONSTER ; CUBONE + db ICON_MONSTER ; MAROWAK + db ICON_FIGHTER ; HITMONLEE + db ICON_FIGHTER ; HITMONCHAN + db ICON_MONSTER ; LICKITUNG + db ICON_BLOB ; KOFFING + db ICON_BLOB ; WEEZING + db ICON_EQUINE ; RHYHORN + db ICON_MONSTER ; RHYDON + db ICON_CLEFAIRY ; CHANSEY + db ICON_ODDISH ; TANGELA + db ICON_MONSTER ; KANGASKHAN + db ICON_FISH ; HORSEA + db ICON_FISH ; SEADRA + db ICON_FISH ; GOLDEEN + db ICON_FISH ; SEAKING + db ICON_STARYU ; STARYU + db ICON_STARYU ; STARMIE + db ICON_HUMANSHAPE ; MR__MIME + db ICON_BUG ; SCYTHER + db ICON_HUMANSHAPE ; JYNX + db ICON_HUMANSHAPE ; ELECTABUZZ + db ICON_HUMANSHAPE ; MAGMAR + db ICON_BUG ; PINSIR + db ICON_EQUINE ; TAUROS + db ICON_FISH ; MAGIKARP + db ICON_GYARADOS ; GYARADOS + db ICON_LAPRAS ; LAPRAS + db ICON_BLOB ; DITTO + db ICON_FOX ; EEVEE + db ICON_FOX ; VAPOREON + db ICON_FOX ; JOLTEON + db ICON_FOX ; FLAREON + db ICON_VOLTORB ; PORYGON + db ICON_SHELL ; OMANYTE + db ICON_SHELL ; OMASTAR + db ICON_SHELL ; KABUTO + db ICON_SHELL ; KABUTOPS + db ICON_BIRD ; AERODACTYL + db ICON_SNORLAX ; SNORLAX + db ICON_BIRD ; ARTICUNO + db ICON_BIRD ; ZAPDOS + db ICON_BIRD ; MOLTRES + db ICON_SERPENT ; DRATINI + db ICON_SERPENT ; DRAGONAIR + db ICON_BIGMON ; DRAGONITE + db ICON_HUMANSHAPE ; MEWTWO + db ICON_HUMANSHAPE ; MEW + db ICON_ODDISH ; CHIKORITA + db ICON_ODDISH ; BAYLEEF + db ICON_ODDISH ; MEGANIUM + db ICON_FOX ; CYNDAQUIL + db ICON_FOX ; QUILAVA + db ICON_FOX ; TYPHLOSION + db ICON_MONSTER ; TOTODILE + db ICON_MONSTER ; CROCONAW + db ICON_MONSTER ; FERALIGATR + db ICON_FOX ; SENTRET + db ICON_FOX ; FURRET + db ICON_BIRD ; HOOTHOOT + db ICON_BIRD ; NOCTOWL + db ICON_BUG ; LEDYBA + db ICON_BUG ; LEDIAN + db ICON_BUG ; SPINARAK + db ICON_BUG ; ARIADOS + db ICON_BAT ; CROBAT + db ICON_FISH ; CHINCHOU + db ICON_FISH ; LANTURN + db ICON_PIKACHU ; PICHU + db ICON_CLEFAIRY ; CLEFFA + db ICON_JIGGLYPUFF ; IGGLYBUFF + db ICON_CLEFAIRY ; TOGEPI + db ICON_BIRD ; TOGETIC + db ICON_BIRD ; NATU + db ICON_BIRD ; XATU + db ICON_FOX ; MAREEP + db ICON_MONSTER ; FLAAFFY + db ICON_MONSTER ; AMPHAROS + db ICON_ODDISH ; BELLOSSOM + db ICON_JIGGLYPUFF ; MARILL + db ICON_JIGGLYPUFF ; AZUMARILL + db ICON_SUDOWOODO ; SUDOWOODO + db ICON_POLIWAG ; POLITOED + db ICON_ODDISH ; HOPPIP + db ICON_ODDISH ; SKIPLOOM + db ICON_ODDISH ; JUMPLUFF + db ICON_MONSTER ; AIPOM + db ICON_ODDISH ; SUNKERN + db ICON_ODDISH ; SUNFLORA + db ICON_BUG ; YANMA + db ICON_MONSTER ; WOOPER + db ICON_MONSTER ; QUAGSIRE + db ICON_FOX ; ESPEON + db ICON_FOX ; UMBREON + db ICON_BIRD ; MURKROW + db ICON_SLOWPOKE ; SLOWKING + db ICON_GHOST ; MISDREAVUS + db ICON_UNOWN ; UNOWN + db ICON_GHOST ; WOBBUFFET + db ICON_EQUINE ; GIRAFARIG + db ICON_BUG ; PINECO + db ICON_BUG ; FORRETRESS + db ICON_SERPENT ; DUNSPARCE + db ICON_BUG ; GLIGAR + db ICON_SERPENT ; STEELIX + db ICON_MONSTER ; SNUBBULL + db ICON_MONSTER ; GRANBULL + db ICON_FISH ; QWILFISH + db ICON_BUG ; SCIZOR + db ICON_BUG ; SHUCKLE + db ICON_BUG ; HERACROSS + db ICON_FOX ; SNEASEL + db ICON_MONSTER ; TEDDIURSA + db ICON_MONSTER ; URSARING + db ICON_BLOB ; SLUGMA + db ICON_BLOB ; MAGCARGO + db ICON_EQUINE ; SWINUB + db ICON_EQUINE ; PILOSWINE + db ICON_SHELL ; CORSOLA + db ICON_FISH ; REMORAID + db ICON_FISH ; OCTILLERY + db ICON_MONSTER ; DELIBIRD + db ICON_FISH ; MANTINE + db ICON_BIRD ; SKARMORY + db ICON_FOX ; HOUNDOUR + db ICON_FOX ; HOUNDOOM + db ICON_BIGMON ; KINGDRA + db ICON_EQUINE ; PHANPY + db ICON_EQUINE ; DONPHAN + db ICON_VOLTORB ; PORYGON2 + db ICON_EQUINE ; STANTLER + db ICON_MONSTER ; SMEARGLE + db ICON_FIGHTER ; TYROGUE + db ICON_FIGHTER ; HITMONTOP + db ICON_HUMANSHAPE ; SMOOCHUM + db ICON_HUMANSHAPE ; ELEKID + db ICON_HUMANSHAPE ; MAGBY + db ICON_EQUINE ; MILTANK + db ICON_CLEFAIRY ; BLISSEY + db ICON_FOX ; RAIKOU + db ICON_FOX ; ENTEI + db ICON_FOX ; SUICUNE + db ICON_MONSTER ; LARVITAR + db ICON_MONSTER ; PUPITAR + db ICON_MONSTER ; TYRANITAR + db ICON_LUGIA ; LUGIA + db ICON_HO_OH ; HO_OH + db ICON_HUMANSHAPE ; CELEBI +; 8ebbf diff --git a/data/mystery_gift/decos.asm b/data/mystery_gift/decos.asm new file mode 100644 index 000000000..bdd4694c6 --- /dev/null +++ b/data/mystery_gift/decos.asm @@ -0,0 +1,40 @@ +MysteryGiftDecos: ; 2c74a + db DECOFLAG_PIKACHU_DOLL + db DECOFLAG_BULBASAUR_DOLL + db DECOFLAG_CHARMANDER_DOLL + db DECOFLAG_SQUIRTLE_DOLL + db DECOFLAG_POLIWAG_DOLL + db DECOFLAG_DIGLETT_DOLL + db DECOFLAG_STARMIE_DOLL + db DECOFLAG_MAGIKARP_DOLL + db DECOFLAG_ODDISH_DOLL + db DECOFLAG_GENGAR_DOLL + db DECOFLAG_CLEFAIRY_POSTER + db DECOFLAG_JIGGLYPUFF_POSTER + db DECOFLAG_SNES + db DECOFLAG_SHELLDER_DOLL + db DECOFLAG_VOLTORB_DOLL + db DECOFLAG_WEEDLE_DOLL + db DECOFLAG_MAGNAPLANT + db DECOFLAG_TROPICPLANT + db DECOFLAG_FAMICOM + db DECOFLAG_N64 + db DECOFLAG_SURF_PIKACHU_DOLL + db DECOFLAG_JIGGLYPUFF_DOLL + db DECOFLAG_PINK_BED + db DECOFLAG_POLKADOT_BED + db DECOFLAG_RED_CARPET + db DECOFLAG_BLUE_CARPET + db DECOFLAG_YELLOW_CARPET + db DECOFLAG_GREEN_CARPET + db DECOFLAG_JUMBOPLANT + db DECOFLAG_VIRTUAL_BOY + db DECOFLAG_MACHOP_DOLL + db DECOFLAG_PIKACHU_POSTER + db DECOFLAG_TENTACOOL_DOLL + db DECOFLAG_BIG_ONIX_DOLL + db DECOFLAG_PIKACHU_BED + db DECOFLAG_GRIMER_DOLL + db DECOFLAG_UNOWN_DOLL +MysteryGiftDecosEnd +; 2c76f diff --git a/data/mystery_gift/items.asm b/data/mystery_gift/items.asm new file mode 100644 index 000000000..b2379071e --- /dev/null +++ b/data/mystery_gift/items.asm @@ -0,0 +1,40 @@ +MysteryGiftItems: ; 2c725 + db BERRY + db PRZCUREBERRY + db MINT_BERRY + db ICE_BERRY + db BURNT_BERRY + db PSNCUREBERRY + db GUARD_SPEC + db X_DEFEND + db X_ATTACK + db BITTER_BERRY + db DIRE_HIT + db X_SPECIAL + db X_ACCURACY + db EON_MAIL + db MORPH_MAIL + db MUSIC_MAIL + db MIRACLEBERRY + db GOLD_BERRY + db REVIVE + db GREAT_BALL + db SUPER_REPEL + db MAX_REPEL + db ELIXER + db ETHER + db WATER_STONE + db FIRE_STONE + db LEAF_STONE + db THUNDERSTONE + db MAX_ETHER + db MAX_ELIXER + db MAX_REVIVE + db SCOPE_LENS + db HP_UP + db PP_UP + db RARE_CANDY + db BLUESKY_MAIL + db MIRAGE_MAIL +MysteryGiftItemsEnd: +; 2c74a diff --git a/data/name_input_chars.asm b/data/name_input_chars.asm new file mode 100644 index 000000000..d89289142 --- /dev/null +++ b/data/name_input_chars.asm @@ -0,0 +1,31 @@ +; see engine/naming_screen.asm + +NameInputLower: + 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 "× ( ) : ; [ ] <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" + db "s t u v w x y z " + db "é 'd 'l 'm 'r 's 't 'v 0" + db "1 2 3 4 5 6 7 8 9" + db "UPPER DEL END " + +NameInputUpper: + 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" + db "S T U V W X Y Z " + db "× ( ) : ; [ ] <PK> <MN>" + db "- ? ! ♂ ♀ / . , &" + db "lower DEL END " diff --git a/data/npc_trades.asm b/data/npc_trades.asm new file mode 100644 index 000000000..57b2411d3 --- /dev/null +++ b/data/npc_trades.asm @@ -0,0 +1,22 @@ +TRADE_EITHER_GENDER EQU 0 +TRADE_MALE_ONLY EQU 1 +TRADE_FEMALE_ONLY EQU 2 + +npctrade: MACRO +; dialog set, requested mon, offered mon, nickname, dvs, item, OT ID, OT name, gender requested + db \1, \2, \3, \4, \5, \6, \7 + shift + dw \7 + db \8, \9, 0 +ENDM + +NPCTrades: ; fce58 +; entries correspond to NPCTRADE_* constants + 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/data/odd_eggs.asm b/data/odd_eggs.asm index 2a1e7d997..a46d84bdc 100644 --- a/data/odd_eggs.asm +++ b/data/odd_eggs.asm @@ -1,106 +1,9 @@ -GiveOddEgg: ; 1fb4b6 - - ; Figure out which egg to give. - - ; Compare a random word to - ; probabilities out of 0xffff. - call Random - ld hl, .Probabilities - ld c, 0 - ld b, c -.loop - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - - ; Break on $ffff. - ld a, d - cp $ffff / $100 - jr nz, .not_done - ld a, e - cp $ffff % $100 - jr z, .done -.not_done - - ; Break when [hRandom] <= de. - ld a, [hRandom + 1] - cp d - jr c, .done - jr z, .ok - jr .next -.ok - ld a, [hRandom + 0] - cp e - jr c, .done - jr z, .done -.next - inc bc - jr .loop -.done - - ld hl, OddEggs - ld a, OddEgg2 - OddEgg1 - call AddNTimes - - ld de, OddEggSpecies - ld bc, PARTYMON_STRUCT_LENGTH + 2 * PKMN_NAME_LENGTH - call CopyBytes - - ld a, EGG_TICKET - ld [CurItem], a - ld a, 1 - ld [wItemQuantityChangeBuffer], a - ld a, -1 - ld [CurItemQuantity], a - ld hl, NumItems - call TossItem - - ; load species in wcd2a - ld a, EGG - ld [wMobileMonSpeciesBuffer], a - - ; load pointer to (wMobileMonSpeciesBuffer - 1) in wMobileMonSpeciesPointerBuffer - ld a, (wMobileMonSpeciesBuffer - 1) % $100 - ld [wMobileMonSpeciesPointerBuffer], a - ld a, (wMobileMonSpeciesBuffer - 1) / $100 - ld [wMobileMonSpeciesPointerBuffer + 1], a - ; load pointer to OddEggSpecies in wMobileMonStructurePointerBuffer - ld a, OddEggSpecies % $100 - ld [wMobileMonStructurePointerBuffer], a - ld a, OddEggSpecies / $100 - ld [wMobileMonStructurePointerBuffer + 1], a - - ; load Odd Egg Name in wTempOddEggNickname - ld hl, .Odd - ld de, wTempOddEggNickname - ld bc, PKMN_NAME_LENGTH - call CopyBytes - - ; load pointer to wTempOddEggNickname in wMobileMonOTNamePointerBuffer - ld a, wTempOddEggNickname % $100 - ld [wMobileMonOTNamePointerBuffer], a - ld a, wTempOddEggNickname / $100 - ld [wMobileMonOTNamePointerBuffer + 1], a - ; load pointer to wOddEggName in wMobileMonNicknamePointerBuffer - ld a, wOddEggName % $100 - ld [wMobileMonNicknamePointerBuffer], a - ld a, wOddEggName / $100 - ld [wMobileMonNicknamePointerBuffer + 1], a - callba AddMobileMonToParty - ret -; 1fb546 - -.Odd: - db "ODD@@@@@@@@@" - -.Probabilities: - -prob: MACRO +prob: macro prob_total = prob_total + (\1) dw prob_total * $ffff / 100 -ENDM +endm +OddEggProbabilities: prob_total = 0 ; Pichu prob 8 diff --git a/data/outdoor_sprites.asm b/data/outdoor_sprites.asm new file mode 100644 index 000000000..b99efcfe7 --- /dev/null +++ b/data/outdoor_sprites.asm @@ -0,0 +1,696 @@ +; Valid sprite IDs for each map group. +; Maps with permission ROUTE or TOWN can only use these sprites. + +OutdoorSprites: ; 144b8 + dw Group1Sprites + dw Group2Sprites + dw Group3Sprites + dw Group4Sprites + dw Group5Sprites + dw Group6Sprites + dw Group7Sprites + dw Group8Sprites + dw Group9Sprites + dw Group10Sprites + dw Group11Sprites + dw Group12Sprites + dw Group13Sprites + dw Group14Sprites + dw Group15Sprites + dw Group16Sprites + dw Group17Sprites + dw Group18Sprites + dw Group19Sprites + dw Group20Sprites + dw Group21Sprites + dw Group22Sprites + dw Group23Sprites + dw Group24Sprites + dw Group25Sprites + dw Group26Sprites +; 144ec + + +Group13Sprites: ; 144ec + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_YOUNGSTER + db SPRITE_BLUE + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_SWIMMER_GIRL + db SPRITE_SWIMMER_GUY + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE +; 14503 + +Group23Sprites: ; 14503 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_YOUNGSTER + db SPRITE_BLUE + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_SWIMMER_GIRL + db SPRITE_SWIMMER_GUY + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE +; 1451a + +Group14Sprites: ; 1451a + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_YOUNGSTER + db SPRITE_BLUE + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_SWIMMER_GIRL + db SPRITE_SWIMMER_GUY + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE +; 14531 + +Group6Sprites: ; 14531 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_YOUNGSTER + db SPRITE_BLUE + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_SWIMMER_GIRL + db SPRITE_SWIMMER_GUY + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE +; 14548 + +Group7Sprites: ; 14548 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_COOLTRAINER_M + db SPRITE_SUPER_NERD + db SPRITE_COOLTRAINER_F + db SPRITE_FISHER + db SPRITE_YOUNGSTER + db SPRITE_LASS + db SPRITE_POKEFAN_M + db SPRITE_ROCKET + db SPRITE_MISTY + db SPRITE_POKE_BALL + db SPRITE_SLOWPOKE +; 1455f + +Group25Sprites: ; 1455f + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_COOLTRAINER_M + db SPRITE_SUPER_NERD + db SPRITE_COOLTRAINER_F + db SPRITE_FISHER + db SPRITE_YOUNGSTER + db SPRITE_LASS + db SPRITE_POKEFAN_M + db SPRITE_ROCKET + db SPRITE_MISTY + db SPRITE_POKE_BALL + db SPRITE_SLOWPOKE +; 14576 + +Group21Sprites: ; 14576 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_FISHER + db SPRITE_POLIWAG + db SPRITE_TEACHER + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_LASS + db SPRITE_BIKER + db SPRITE_SILVER + db SPRITE_BLUE + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE +; 1458d + +Group18Sprites: ; 1458d + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_POKEFAN_M + db SPRITE_MACHOP + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_FISHER + db SPRITE_TEACHER + db SPRITE_SUPER_NERD + db SPRITE_BIG_SNORLAX + db SPRITE_BIKER + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE +; 145a4 + +Group12Sprites: ; 145a4 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_POKEFAN_M + db SPRITE_MACHOP + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_FISHER + db SPRITE_TEACHER + db SPRITE_SUPER_NERD + db SPRITE_BIG_SNORLAX + db SPRITE_BIKER + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE +; 145bb + +Group17Sprites: ; 145bb + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_POKEFAN_M + db SPRITE_MACHOP + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_FISHER + db SPRITE_TEACHER + db SPRITE_SUPER_NERD + db SPRITE_BIG_SNORLAX + db SPRITE_BIKER + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE +; 145d2 + +Group16Sprites: ; 145d2 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_POKEFAN_M + db SPRITE_BUENA + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_FISHER + db SPRITE_TEACHER + db SPRITE_SUPER_NERD + db SPRITE_MACHOP + db SPRITE_BIKER + db SPRITE_POKE_BALL + db SPRITE_BOULDER +; 145e9 + +Group24Sprites: ; 145e9 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_SILVER + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_COOLTRAINER_M + db SPRITE_YOUNGSTER + db SPRITE_MONSTER + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE +; 14600 + +Group26Sprites: ; 14600 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_SILVER + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_COOLTRAINER_M + db SPRITE_YOUNGSTER + db SPRITE_MONSTER + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE +; 14617 + +Group19Sprites: ; 14617 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_SILVER + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_COOLTRAINER_M + db SPRITE_YOUNGSTER + db SPRITE_MONSTER + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE +; 1462e + +Group10Sprites: ; 1462e + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_FISHER + db SPRITE_LASS + db SPRITE_OFFICER + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_COOLTRAINER_M + db SPRITE_BUG_CATCHER + db SPRITE_SUPER_NERD + db SPRITE_WEIRD_TREE + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE +; 14645 + +Group4Sprites: ; 14645 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_FISHER + db SPRITE_LASS + db SPRITE_OFFICER + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_COOLTRAINER_M + db SPRITE_BUG_CATCHER + db SPRITE_SUPER_NERD + db SPRITE_WEIRD_TREE + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE +; 1465c + +Group8Sprites: ; 1465c + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_KURT_OUTSIDE + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_OFFICER + db SPRITE_POKEFAN_M + db SPRITE_BLACK_BELT + db SPRITE_TEACHER + db SPRITE_AZALEA_ROCKET + db SPRITE_LASS + db SPRITE_SILVER + db SPRITE_FRUIT_TREE + db SPRITE_SLOWPOKE +; 14673 + +Group11Sprites: ; 14673 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_POKE_BALL + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_OFFICER + db SPRITE_POKEFAN_M + db SPRITE_DAY_CARE_MON_1 + db SPRITE_COOLTRAINER_F + db SPRITE_ROCKET + db SPRITE_LASS + db SPRITE_DAY_CARE_MON_2 + db SPRITE_FRUIT_TREE + db SPRITE_SLOWPOKE +; 1468a + +Group22Sprites: ; 1468a + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_STANDING_YOUNGSTER + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_OLIVINE_RIVAL + db SPRITE_POKEFAN_M + db SPRITE_LASS + db SPRITE_BUENA + db SPRITE_SWIMMER_GIRL + db SPRITE_SAILOR + db SPRITE_POKEFAN_F + db SPRITE_SUPER_NERD + db SPRITE_TAUROS + db SPRITE_FRUIT_TREE + db SPRITE_ROCK +; 146a1 + +Group1Sprites: ; 146a1 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_STANDING_YOUNGSTER + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_OLIVINE_RIVAL + db SPRITE_POKEFAN_M + db SPRITE_LASS + db SPRITE_BUENA + db SPRITE_SWIMMER_GIRL + db SPRITE_SAILOR + db SPRITE_POKEFAN_F + db SPRITE_SUPER_NERD + db SPRITE_TAUROS + db SPRITE_FRUIT_TREE + db SPRITE_ROCK +; 146b8 + +Group9Sprites: ; 146b8 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_LANCE + db SPRITE_GRAMPS + db SPRITE_SUPER_NERD + db SPRITE_COOLTRAINER_F + db SPRITE_FISHER + db SPRITE_COOLTRAINER_M + db SPRITE_LASS + db SPRITE_YOUNGSTER + db SPRITE_GYARADOS + db SPRITE_FRUIT_TREE + db SPRITE_POKE_BALL +; 146cf + +Group2Sprites: ; 146cf + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_LASS + db SPRITE_SUPER_NERD + db SPRITE_COOLTRAINER_M + db SPRITE_POKEFAN_M + db SPRITE_BLACK_BELT + db SPRITE_COOLTRAINER_F + db SPRITE_FISHER + db SPRITE_FRUIT_TREE + db SPRITE_POKE_BALL +; 146e6 + +Group5Sprites: ; 146e6 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_LASS + db SPRITE_SUPER_NERD + db SPRITE_COOLTRAINER_M + db SPRITE_POKEFAN_M + db SPRITE_BLACK_BELT + db SPRITE_COOLTRAINER_F + db SPRITE_FISHER + db SPRITE_FRUIT_TREE + db SPRITE_POKE_BALL +; 146fd + +Group3Sprites: ; 146fd + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_GAMEBOY_KID + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_LASS + db SPRITE_POKEFAN_F + db SPRITE_TEACHER + db SPRITE_YOUNGSTER + db SPRITE_GROWLITHE + db SPRITE_POKEFAN_M + db SPRITE_ROCKER + db SPRITE_FISHER + db SPRITE_SCIENTIST + db SPRITE_POKE_BALL + db SPRITE_BOULDER +; 14714 + +Group15Sprites: ; 14714 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_SAILOR + db SPRITE_FISHING_GURU + db SPRITE_GENTLEMAN + db SPRITE_SUPER_NERD + db SPRITE_HO_OH + db SPRITE_TEACHER + db SPRITE_COOLTRAINER_F + db SPRITE_YOUNGSTER + db SPRITE_FAIRY + db SPRITE_POKE_BALL + db SPRITE_ROCK +; 1472b + +Group20Sprites: ; 1472b + db SPRITE_OAK + db SPRITE_FISHER + db SPRITE_TEACHER + db SPRITE_TWIN + db SPRITE_POKEFAN_M + db SPRITE_GRAMPS + db SPRITE_FAIRY + db SPRITE_SILVER + db SPRITE_FISHING_GURU + db SPRITE_POKE_BALL + db SPRITE_POKEDEX +; 14736 diff --git a/data/phone_contacts.asm b/data/phone_contacts.asm new file mode 100644 index 000000000..0c21049bb --- /dev/null +++ b/data/phone_contacts.asm @@ -0,0 +1,51 @@ +phone: macro +; trainer class, trainer id, map, ?, script 1, ?, script 2 + db \1, \2 + map \3 + db \4 + dba \5 + db \6 + dba \7 +endm + +PhoneContacts: ; 9045f +; entries correspond to PHONE_* constants + 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 diff --git a/data/phone_special.asm b/data/phone_special.asm new file mode 100644 index 000000000..c66c9ff77 --- /dev/null +++ b/data/phone_special.asm @@ -0,0 +1,18 @@ +specialcall: macro +; condition, contact, script + dw \1 + db \2 + dba \3 +endm + +SpecialPhoneCallList: ; 90627 +; entries correspond to SPECIALCALL_* constants + specialcall SpecialCallOnlyWhenOutside, PHONE_ELM, ElmPhoneScript2 + specialcall SpecialCallOnlyWhenOutside, PHONE_ELM, ElmPhoneScript2 + specialcall SpecialCallOnlyWhenOutside, PHONE_ELM, ElmPhoneScript2 + specialcall SpecialCallOnlyWhenOutside, PHONE_ELM, ElmPhoneScript2 + specialcall SpecialCallWhereverYouAre, PHONE_ELM, ElmPhoneScript2 + specialcall SpecialCallWhereverYouAre, PHONE_OAK, BikeShopPhoneScript + specialcall SpecialCallWhereverYouAre, PHONE_MOM, MomPhoneLectureScript + specialcall SpecialCallOnlyWhenOutside, PHONE_ELM, ElmPhoneScript2 +; 90657 diff --git a/data/pokedex/entries.asm b/data/pokedex/entries.asm index c54f5e245..a12cdd3f4 100644 --- a/data/pokedex/entries.asm +++ b/data/pokedex/entries.asm @@ -4,22 +4,269 @@ INCLUDE "includes.asm" SECTION "Pokedex Entries 001-064", ROMX PokedexEntries1:: -INCLUDE "data/pokedex/entries_1.asm" +BulbasaurPokedexEntry:: INCLUDE "data/pokedex/entries/bulbasaur.asm" +IvysaurPokedexEntry:: INCLUDE "data/pokedex/entries/ivysaur.asm" +VenusaurPokedexEntry:: INCLUDE "data/pokedex/entries/venusaur.asm" +CharmanderPokedexEntry:: INCLUDE "data/pokedex/entries/charmander.asm" +CharmeleonPokedexEntry:: INCLUDE "data/pokedex/entries/charmeleon.asm" +CharizardPokedexEntry:: INCLUDE "data/pokedex/entries/charizard.asm" +SquirtlePokedexEntry:: INCLUDE "data/pokedex/entries/squirtle.asm" +WartortlePokedexEntry:: INCLUDE "data/pokedex/entries/wartortle.asm" +BlastoisePokedexEntry:: INCLUDE "data/pokedex/entries/blastoise.asm" +CaterpiePokedexEntry:: INCLUDE "data/pokedex/entries/caterpie.asm" +MetapodPokedexEntry:: INCLUDE "data/pokedex/entries/metapod.asm" +ButterfreePokedexEntry:: INCLUDE "data/pokedex/entries/butterfree.asm" +WeedlePokedexEntry:: INCLUDE "data/pokedex/entries/weedle.asm" +KakunaPokedexEntry:: INCLUDE "data/pokedex/entries/kakuna.asm" +BeedrillPokedexEntry:: INCLUDE "data/pokedex/entries/beedrill.asm" +PidgeyPokedexEntry:: INCLUDE "data/pokedex/entries/pidgey.asm" +PidgeottoPokedexEntry:: INCLUDE "data/pokedex/entries/pidgeotto.asm" +PidgeotPokedexEntry:: INCLUDE "data/pokedex/entries/pidgeot.asm" +RattataPokedexEntry:: INCLUDE "data/pokedex/entries/rattata.asm" +RaticatePokedexEntry:: INCLUDE "data/pokedex/entries/raticate.asm" +SpearowPokedexEntry:: INCLUDE "data/pokedex/entries/spearow.asm" +FearowPokedexEntry:: INCLUDE "data/pokedex/entries/fearow.asm" +EkansPokedexEntry:: INCLUDE "data/pokedex/entries/ekans.asm" +ArbokPokedexEntry:: INCLUDE "data/pokedex/entries/arbok.asm" +PikachuPokedexEntry:: INCLUDE "data/pokedex/entries/pikachu.asm" +RaichuPokedexEntry:: INCLUDE "data/pokedex/entries/raichu.asm" +SandshrewPokedexEntry:: INCLUDE "data/pokedex/entries/sandshrew.asm" +SandslashPokedexEntry:: INCLUDE "data/pokedex/entries/sandslash.asm" +NidoranFPokedexEntry:: INCLUDE "data/pokedex/entries/nidoran_f.asm" +NidorinaPokedexEntry:: INCLUDE "data/pokedex/entries/nidorina.asm" +NidoqueenPokedexEntry:: INCLUDE "data/pokedex/entries/nidoqueen.asm" +NidoranMPokedexEntry:: INCLUDE "data/pokedex/entries/nidoran_m.asm" +NidorinoPokedexEntry:: INCLUDE "data/pokedex/entries/nidorino.asm" +NidokingPokedexEntry:: INCLUDE "data/pokedex/entries/nidoking.asm" +ClefairyPokedexEntry:: INCLUDE "data/pokedex/entries/clefairy.asm" +ClefablePokedexEntry:: INCLUDE "data/pokedex/entries/clefable.asm" +VulpixPokedexEntry:: INCLUDE "data/pokedex/entries/vulpix.asm" +NinetalesPokedexEntry:: INCLUDE "data/pokedex/entries/ninetales.asm" +JigglypuffPokedexEntry:: INCLUDE "data/pokedex/entries/jigglypuff.asm" +WigglytuffPokedexEntry:: INCLUDE "data/pokedex/entries/wigglytuff.asm" +ZubatPokedexEntry:: INCLUDE "data/pokedex/entries/zubat.asm" +GolbatPokedexEntry:: INCLUDE "data/pokedex/entries/golbat.asm" +OddishPokedexEntry:: INCLUDE "data/pokedex/entries/oddish.asm" +GloomPokedexEntry:: INCLUDE "data/pokedex/entries/gloom.asm" +VileplumePokedexEntry:: INCLUDE "data/pokedex/entries/vileplume.asm" +ParasPokedexEntry:: INCLUDE "data/pokedex/entries/paras.asm" +ParasectPokedexEntry:: INCLUDE "data/pokedex/entries/parasect.asm" +VenonatPokedexEntry:: INCLUDE "data/pokedex/entries/venonat.asm" +VenomothPokedexEntry:: INCLUDE "data/pokedex/entries/venomoth.asm" +DiglettPokedexEntry:: INCLUDE "data/pokedex/entries/diglett.asm" +DugtrioPokedexEntry:: INCLUDE "data/pokedex/entries/dugtrio.asm" +MeowthPokedexEntry:: INCLUDE "data/pokedex/entries/meowth.asm" +PersianPokedexEntry:: INCLUDE "data/pokedex/entries/persian.asm" +PsyduckPokedexEntry:: INCLUDE "data/pokedex/entries/psyduck.asm" +GolduckPokedexEntry:: INCLUDE "data/pokedex/entries/golduck.asm" +MankeyPokedexEntry:: INCLUDE "data/pokedex/entries/mankey.asm" +PrimeapePokedexEntry:: INCLUDE "data/pokedex/entries/primeape.asm" +GrowlithePokedexEntry:: INCLUDE "data/pokedex/entries/growlithe.asm" +ArcaninePokedexEntry:: INCLUDE "data/pokedex/entries/arcanine.asm" +PoliwagPokedexEntry:: INCLUDE "data/pokedex/entries/poliwag.asm" +PoliwhirlPokedexEntry:: INCLUDE "data/pokedex/entries/poliwhirl.asm" +PoliwrathPokedexEntry:: INCLUDE "data/pokedex/entries/poliwrath.asm" +AbraPokedexEntry:: INCLUDE "data/pokedex/entries/abra.asm" +KadabraPokedexEntry:: INCLUDE "data/pokedex/entries/kadabra.asm" SECTION "Pokedex Entries 065-128", ROMX PokedexEntries2:: -INCLUDE "data/pokedex/entries_2.asm" +AlakazamPokedexEntry:: INCLUDE "data/pokedex/entries/alakazam.asm" +MachopPokedexEntry:: INCLUDE "data/pokedex/entries/machop.asm" +MachokePokedexEntry:: INCLUDE "data/pokedex/entries/machoke.asm" +MachampPokedexEntry:: INCLUDE "data/pokedex/entries/machamp.asm" +BellsproutPokedexEntry:: INCLUDE "data/pokedex/entries/bellsprout.asm" +WeepinbellPokedexEntry:: INCLUDE "data/pokedex/entries/weepinbell.asm" +VictreebelPokedexEntry:: INCLUDE "data/pokedex/entries/victreebel.asm" +TentacoolPokedexEntry:: INCLUDE "data/pokedex/entries/tentacool.asm" +TentacruelPokedexEntry:: INCLUDE "data/pokedex/entries/tentacruel.asm" +GeodudePokedexEntry:: INCLUDE "data/pokedex/entries/geodude.asm" +GravelerPokedexEntry:: INCLUDE "data/pokedex/entries/graveler.asm" +GolemPokedexEntry:: INCLUDE "data/pokedex/entries/golem.asm" +PonytaPokedexEntry:: INCLUDE "data/pokedex/entries/ponyta.asm" +RapidashPokedexEntry:: INCLUDE "data/pokedex/entries/rapidash.asm" +SlowpokePokedexEntry:: INCLUDE "data/pokedex/entries/slowpoke.asm" +SlowbroPokedexEntry:: INCLUDE "data/pokedex/entries/slowbro.asm" +MagnemitePokedexEntry:: INCLUDE "data/pokedex/entries/magnemite.asm" +MagnetonPokedexEntry:: INCLUDE "data/pokedex/entries/magneton.asm" +FarfetchDPokedexEntry:: INCLUDE "data/pokedex/entries/farfetch_d.asm" +DoduoPokedexEntry:: INCLUDE "data/pokedex/entries/doduo.asm" +DodrioPokedexEntry:: INCLUDE "data/pokedex/entries/dodrio.asm" +SeelPokedexEntry:: INCLUDE "data/pokedex/entries/seel.asm" +DewgongPokedexEntry:: INCLUDE "data/pokedex/entries/dewgong.asm" +GrimerPokedexEntry:: INCLUDE "data/pokedex/entries/grimer.asm" +MukPokedexEntry:: INCLUDE "data/pokedex/entries/muk.asm" +ShellderPokedexEntry:: INCLUDE "data/pokedex/entries/shellder.asm" +CloysterPokedexEntry:: INCLUDE "data/pokedex/entries/cloyster.asm" +GastlyPokedexEntry:: INCLUDE "data/pokedex/entries/gastly.asm" +HaunterPokedexEntry:: INCLUDE "data/pokedex/entries/haunter.asm" +GengarPokedexEntry:: INCLUDE "data/pokedex/entries/gengar.asm" +OnixPokedexEntry:: INCLUDE "data/pokedex/entries/onix.asm" +DrowzeePokedexEntry:: INCLUDE "data/pokedex/entries/drowzee.asm" +HypnoPokedexEntry:: INCLUDE "data/pokedex/entries/hypno.asm" +KrabbyPokedexEntry:: INCLUDE "data/pokedex/entries/krabby.asm" +KinglerPokedexEntry:: INCLUDE "data/pokedex/entries/kingler.asm" +VoltorbPokedexEntry:: INCLUDE "data/pokedex/entries/voltorb.asm" +ElectrodePokedexEntry:: INCLUDE "data/pokedex/entries/electrode.asm" +ExeggcutePokedexEntry:: INCLUDE "data/pokedex/entries/exeggcute.asm" +ExeggutorPokedexEntry:: INCLUDE "data/pokedex/entries/exeggutor.asm" +CubonePokedexEntry:: INCLUDE "data/pokedex/entries/cubone.asm" +MarowakPokedexEntry:: INCLUDE "data/pokedex/entries/marowak.asm" +HitmonleePokedexEntry:: INCLUDE "data/pokedex/entries/hitmonlee.asm" +HitmonchanPokedexEntry:: INCLUDE "data/pokedex/entries/hitmonchan.asm" +LickitungPokedexEntry:: INCLUDE "data/pokedex/entries/lickitung.asm" +KoffingPokedexEntry:: INCLUDE "data/pokedex/entries/koffing.asm" +WeezingPokedexEntry:: INCLUDE "data/pokedex/entries/weezing.asm" +RhyhornPokedexEntry:: INCLUDE "data/pokedex/entries/rhyhorn.asm" +RhydonPokedexEntry:: INCLUDE "data/pokedex/entries/rhydon.asm" +ChanseyPokedexEntry:: INCLUDE "data/pokedex/entries/chansey.asm" +TangelaPokedexEntry:: INCLUDE "data/pokedex/entries/tangela.asm" +KangaskhanPokedexEntry:: INCLUDE "data/pokedex/entries/kangaskhan.asm" +HorseaPokedexEntry:: INCLUDE "data/pokedex/entries/horsea.asm" +SeadraPokedexEntry:: INCLUDE "data/pokedex/entries/seadra.asm" +GoldeenPokedexEntry:: INCLUDE "data/pokedex/entries/goldeen.asm" +SeakingPokedexEntry:: INCLUDE "data/pokedex/entries/seaking.asm" +StaryuPokedexEntry:: INCLUDE "data/pokedex/entries/staryu.asm" +StarmiePokedexEntry:: INCLUDE "data/pokedex/entries/starmie.asm" +MrMimePokedexEntry:: INCLUDE "data/pokedex/entries/mr__mime.asm" +ScytherPokedexEntry:: INCLUDE "data/pokedex/entries/scyther.asm" +JynxPokedexEntry:: INCLUDE "data/pokedex/entries/jynx.asm" +ElectabuzzPokedexEntry:: INCLUDE "data/pokedex/entries/electabuzz.asm" +MagmarPokedexEntry:: INCLUDE "data/pokedex/entries/magmar.asm" +PinsirPokedexEntry:: INCLUDE "data/pokedex/entries/pinsir.asm" +TaurosPokedexEntry:: INCLUDE "data/pokedex/entries/tauros.asm" SECTION "Pokedex Entries 129-192", ROMX PokedexEntries3:: -INCLUDE "data/pokedex/entries_3.asm" +MagikarpPokedexEntry:: INCLUDE "data/pokedex/entries/magikarp.asm" +GyaradosPokedexEntry:: INCLUDE "data/pokedex/entries/gyarados.asm" +LaprasPokedexEntry:: INCLUDE "data/pokedex/entries/lapras.asm" +DittoPokedexEntry:: INCLUDE "data/pokedex/entries/ditto.asm" +EeveePokedexEntry:: INCLUDE "data/pokedex/entries/eevee.asm" +VaporeonPokedexEntry:: INCLUDE "data/pokedex/entries/vaporeon.asm" +JolteonPokedexEntry:: INCLUDE "data/pokedex/entries/jolteon.asm" +FlareonPokedexEntry:: INCLUDE "data/pokedex/entries/flareon.asm" +PorygonPokedexEntry:: INCLUDE "data/pokedex/entries/porygon.asm" +OmanytePokedexEntry:: INCLUDE "data/pokedex/entries/omanyte.asm" +OmastarPokedexEntry:: INCLUDE "data/pokedex/entries/omastar.asm" +KabutoPokedexEntry:: INCLUDE "data/pokedex/entries/kabuto.asm" +KabutopsPokedexEntry:: INCLUDE "data/pokedex/entries/kabutops.asm" +AerodactylPokedexEntry:: INCLUDE "data/pokedex/entries/aerodactyl.asm" +SnorlaxPokedexEntry:: INCLUDE "data/pokedex/entries/snorlax.asm" +ArticunoPokedexEntry:: INCLUDE "data/pokedex/entries/articuno.asm" +ZapdosPokedexEntry:: INCLUDE "data/pokedex/entries/zapdos.asm" +MoltresPokedexEntry:: INCLUDE "data/pokedex/entries/moltres.asm" +DratiniPokedexEntry:: INCLUDE "data/pokedex/entries/dratini.asm" +DragonairPokedexEntry:: INCLUDE "data/pokedex/entries/dragonair.asm" +DragonitePokedexEntry:: INCLUDE "data/pokedex/entries/dragonite.asm" +MewtwoPokedexEntry:: INCLUDE "data/pokedex/entries/mewtwo.asm" +MewPokedexEntry:: INCLUDE "data/pokedex/entries/mew.asm" +ChikoritaPokedexEntry:: INCLUDE "data/pokedex/entries/chikorita.asm" +BayleefPokedexEntry:: INCLUDE "data/pokedex/entries/bayleef.asm" +MeganiumPokedexEntry:: INCLUDE "data/pokedex/entries/meganium.asm" +CyndaquilPokedexEntry:: INCLUDE "data/pokedex/entries/cyndaquil.asm" +QuilavaPokedexEntry:: INCLUDE "data/pokedex/entries/quilava.asm" +TyphlosionPokedexEntry:: INCLUDE "data/pokedex/entries/typhlosion.asm" +TotodilePokedexEntry:: INCLUDE "data/pokedex/entries/totodile.asm" +CroconawPokedexEntry:: INCLUDE "data/pokedex/entries/croconaw.asm" +FeraligatrPokedexEntry:: INCLUDE "data/pokedex/entries/feraligatr.asm" +SentretPokedexEntry:: INCLUDE "data/pokedex/entries/sentret.asm" +FurretPokedexEntry:: INCLUDE "data/pokedex/entries/furret.asm" +HoothootPokedexEntry:: INCLUDE "data/pokedex/entries/hoothoot.asm" +NoctowlPokedexEntry:: INCLUDE "data/pokedex/entries/noctowl.asm" +LedybaPokedexEntry:: INCLUDE "data/pokedex/entries/ledyba.asm" +LedianPokedexEntry:: INCLUDE "data/pokedex/entries/ledian.asm" +SpinarakPokedexEntry:: INCLUDE "data/pokedex/entries/spinarak.asm" +AriadosPokedexEntry:: INCLUDE "data/pokedex/entries/ariados.asm" +CrobatPokedexEntry:: INCLUDE "data/pokedex/entries/crobat.asm" +ChinchouPokedexEntry:: INCLUDE "data/pokedex/entries/chinchou.asm" +LanturnPokedexEntry:: INCLUDE "data/pokedex/entries/lanturn.asm" +PichuPokedexEntry:: INCLUDE "data/pokedex/entries/pichu.asm" +CleffaPokedexEntry:: INCLUDE "data/pokedex/entries/cleffa.asm" +IgglybuffPokedexEntry:: INCLUDE "data/pokedex/entries/igglybuff.asm" +TogepiPokedexEntry:: INCLUDE "data/pokedex/entries/togepi.asm" +TogeticPokedexEntry:: INCLUDE "data/pokedex/entries/togetic.asm" +NatuPokedexEntry:: INCLUDE "data/pokedex/entries/natu.asm" +XatuPokedexEntry:: INCLUDE "data/pokedex/entries/xatu.asm" +MareepPokedexEntry:: INCLUDE "data/pokedex/entries/mareep.asm" +FlaaffyPokedexEntry:: INCLUDE "data/pokedex/entries/flaaffy.asm" +AmpharosPokedexEntry:: INCLUDE "data/pokedex/entries/ampharos.asm" +BellossomPokedexEntry:: INCLUDE "data/pokedex/entries/bellossom.asm" +MarillPokedexEntry:: INCLUDE "data/pokedex/entries/marill.asm" +AzumarillPokedexEntry:: INCLUDE "data/pokedex/entries/azumarill.asm" +SudowoodoPokedexEntry:: INCLUDE "data/pokedex/entries/sudowoodo.asm" +PolitoedPokedexEntry:: INCLUDE "data/pokedex/entries/politoed.asm" +HoppipPokedexEntry:: INCLUDE "data/pokedex/entries/hoppip.asm" +SkiploomPokedexEntry:: INCLUDE "data/pokedex/entries/skiploom.asm" +JumpluffPokedexEntry:: INCLUDE "data/pokedex/entries/jumpluff.asm" +AipomPokedexEntry:: INCLUDE "data/pokedex/entries/aipom.asm" +SunkernPokedexEntry:: INCLUDE "data/pokedex/entries/sunkern.asm" +SunfloraPokedexEntry:: INCLUDE "data/pokedex/entries/sunflora.asm" SECTION "Pokedex Entries 193-251", ROMX PokedexEntries4:: -INCLUDE "data/pokedex/entries_4.asm" +YanmaPokedexEntry:: INCLUDE "data/pokedex/entries/yanma.asm" +WooperPokedexEntry:: INCLUDE "data/pokedex/entries/wooper.asm" +QuagsirePokedexEntry:: INCLUDE "data/pokedex/entries/quagsire.asm" +EspeonPokedexEntry:: INCLUDE "data/pokedex/entries/espeon.asm" +UmbreonPokedexEntry:: INCLUDE "data/pokedex/entries/umbreon.asm" +MurkrowPokedexEntry:: INCLUDE "data/pokedex/entries/murkrow.asm" +SlowkingPokedexEntry:: INCLUDE "data/pokedex/entries/slowking.asm" +MisdreavusPokedexEntry:: INCLUDE "data/pokedex/entries/misdreavus.asm" +UnownPokedexEntry:: INCLUDE "data/pokedex/entries/unown.asm" +WobbuffetPokedexEntry:: INCLUDE "data/pokedex/entries/wobbuffet.asm" +GirafarigPokedexEntry:: INCLUDE "data/pokedex/entries/girafarig.asm" +PinecoPokedexEntry:: INCLUDE "data/pokedex/entries/pineco.asm" +ForretressPokedexEntry:: INCLUDE "data/pokedex/entries/forretress.asm" +DunsparcePokedexEntry:: INCLUDE "data/pokedex/entries/dunsparce.asm" +GligarPokedexEntry:: INCLUDE "data/pokedex/entries/gligar.asm" +SteelixPokedexEntry:: INCLUDE "data/pokedex/entries/steelix.asm" +SnubbullPokedexEntry:: INCLUDE "data/pokedex/entries/snubbull.asm" +GranbullPokedexEntry:: INCLUDE "data/pokedex/entries/granbull.asm" +QwilfishPokedexEntry:: INCLUDE "data/pokedex/entries/qwilfish.asm" +ScizorPokedexEntry:: INCLUDE "data/pokedex/entries/scizor.asm" +ShucklePokedexEntry:: INCLUDE "data/pokedex/entries/shuckle.asm" +HeracrossPokedexEntry:: INCLUDE "data/pokedex/entries/heracross.asm" +SneaselPokedexEntry:: INCLUDE "data/pokedex/entries/sneasel.asm" +TeddiursaPokedexEntry:: INCLUDE "data/pokedex/entries/teddiursa.asm" +UrsaringPokedexEntry:: INCLUDE "data/pokedex/entries/ursaring.asm" +SlugmaPokedexEntry:: INCLUDE "data/pokedex/entries/slugma.asm" +MagcargoPokedexEntry:: INCLUDE "data/pokedex/entries/magcargo.asm" +SwinubPokedexEntry:: INCLUDE "data/pokedex/entries/swinub.asm" +PiloswinePokedexEntry:: INCLUDE "data/pokedex/entries/piloswine.asm" +CorsolaPokedexEntry:: INCLUDE "data/pokedex/entries/corsola.asm" +RemoraidPokedexEntry:: INCLUDE "data/pokedex/entries/remoraid.asm" +OctilleryPokedexEntry:: INCLUDE "data/pokedex/entries/octillery.asm" +DelibirdPokedexEntry:: INCLUDE "data/pokedex/entries/delibird.asm" +MantinePokedexEntry:: INCLUDE "data/pokedex/entries/mantine.asm" +SkarmoryPokedexEntry:: INCLUDE "data/pokedex/entries/skarmory.asm" +HoundourPokedexEntry:: INCLUDE "data/pokedex/entries/houndour.asm" +HoundoomPokedexEntry:: INCLUDE "data/pokedex/entries/houndoom.asm" +KingdraPokedexEntry:: INCLUDE "data/pokedex/entries/kingdra.asm" +PhanpyPokedexEntry:: INCLUDE "data/pokedex/entries/phanpy.asm" +DonphanPokedexEntry:: INCLUDE "data/pokedex/entries/donphan.asm" +Porygon2PokedexEntry:: INCLUDE "data/pokedex/entries/porygon2.asm" +StantlerPokedexEntry:: INCLUDE "data/pokedex/entries/stantler.asm" +SmearglePokedexEntry:: INCLUDE "data/pokedex/entries/smeargle.asm" +TyroguePokedexEntry:: INCLUDE "data/pokedex/entries/tyrogue.asm" +HitmontopPokedexEntry:: INCLUDE "data/pokedex/entries/hitmontop.asm" +SmoochumPokedexEntry:: INCLUDE "data/pokedex/entries/smoochum.asm" +ElekidPokedexEntry:: INCLUDE "data/pokedex/entries/elekid.asm" +MagbyPokedexEntry:: INCLUDE "data/pokedex/entries/magby.asm" +MiltankPokedexEntry:: INCLUDE "data/pokedex/entries/miltank.asm" +BlisseyPokedexEntry:: INCLUDE "data/pokedex/entries/blissey.asm" +RaikouPokedexEntry:: INCLUDE "data/pokedex/entries/raikou.asm" +EnteiPokedexEntry:: INCLUDE "data/pokedex/entries/entei.asm" +SuicunePokedexEntry:: INCLUDE "data/pokedex/entries/suicune.asm" +LarvitarPokedexEntry:: INCLUDE "data/pokedex/entries/larvitar.asm" +PupitarPokedexEntry:: INCLUDE "data/pokedex/entries/pupitar.asm" +TyranitarPokedexEntry:: INCLUDE "data/pokedex/entries/tyranitar.asm" +LugiaPokedexEntry:: INCLUDE "data/pokedex/entries/lugia.asm" +HoOhPokedexEntry:: INCLUDE "data/pokedex/entries/ho_oh.asm" +CelebiPokedexEntry:: INCLUDE "data/pokedex/entries/celebi.asm" diff --git a/data/pokedex/entries_1.asm b/data/pokedex/entries_1.asm deleted file mode 100644 index 7f3c04cd6..000000000 --- a/data/pokedex/entries_1.asm +++ /dev/null @@ -1,64 +0,0 @@ -BulbasaurPokedexEntry:: INCLUDE "data/pokedex/entries/bulbasaur.asm" -IvysaurPokedexEntry:: INCLUDE "data/pokedex/entries/ivysaur.asm" -VenusaurPokedexEntry:: INCLUDE "data/pokedex/entries/venusaur.asm" -CharmanderPokedexEntry:: INCLUDE "data/pokedex/entries/charmander.asm" -CharmeleonPokedexEntry:: INCLUDE "data/pokedex/entries/charmeleon.asm" -CharizardPokedexEntry:: INCLUDE "data/pokedex/entries/charizard.asm" -SquirtlePokedexEntry:: INCLUDE "data/pokedex/entries/squirtle.asm" -WartortlePokedexEntry:: INCLUDE "data/pokedex/entries/wartortle.asm" -BlastoisePokedexEntry:: INCLUDE "data/pokedex/entries/blastoise.asm" -CaterpiePokedexEntry:: INCLUDE "data/pokedex/entries/caterpie.asm" -MetapodPokedexEntry:: INCLUDE "data/pokedex/entries/metapod.asm" -ButterfreePokedexEntry:: INCLUDE "data/pokedex/entries/butterfree.asm" -WeedlePokedexEntry:: INCLUDE "data/pokedex/entries/weedle.asm" -KakunaPokedexEntry:: INCLUDE "data/pokedex/entries/kakuna.asm" -BeedrillPokedexEntry:: INCLUDE "data/pokedex/entries/beedrill.asm" -PidgeyPokedexEntry:: INCLUDE "data/pokedex/entries/pidgey.asm" -PidgeottoPokedexEntry:: INCLUDE "data/pokedex/entries/pidgeotto.asm" -PidgeotPokedexEntry:: INCLUDE "data/pokedex/entries/pidgeot.asm" -RattataPokedexEntry:: INCLUDE "data/pokedex/entries/rattata.asm" -RaticatePokedexEntry:: INCLUDE "data/pokedex/entries/raticate.asm" -SpearowPokedexEntry:: INCLUDE "data/pokedex/entries/spearow.asm" -FearowPokedexEntry:: INCLUDE "data/pokedex/entries/fearow.asm" -EkansPokedexEntry:: INCLUDE "data/pokedex/entries/ekans.asm" -ArbokPokedexEntry:: INCLUDE "data/pokedex/entries/arbok.asm" -PikachuPokedexEntry:: INCLUDE "data/pokedex/entries/pikachu.asm" -RaichuPokedexEntry:: INCLUDE "data/pokedex/entries/raichu.asm" -SandshrewPokedexEntry:: INCLUDE "data/pokedex/entries/sandshrew.asm" -SandslashPokedexEntry:: INCLUDE "data/pokedex/entries/sandslash.asm" -NidoranFPokedexEntry:: INCLUDE "data/pokedex/entries/nidoran_f.asm" -NidorinaPokedexEntry:: INCLUDE "data/pokedex/entries/nidorina.asm" -NidoqueenPokedexEntry:: INCLUDE "data/pokedex/entries/nidoqueen.asm" -NidoranMPokedexEntry:: INCLUDE "data/pokedex/entries/nidoran_m.asm" -NidorinoPokedexEntry:: INCLUDE "data/pokedex/entries/nidorino.asm" -NidokingPokedexEntry:: INCLUDE "data/pokedex/entries/nidoking.asm" -ClefairyPokedexEntry:: INCLUDE "data/pokedex/entries/clefairy.asm" -ClefablePokedexEntry:: INCLUDE "data/pokedex/entries/clefable.asm" -VulpixPokedexEntry:: INCLUDE "data/pokedex/entries/vulpix.asm" -NinetalesPokedexEntry:: INCLUDE "data/pokedex/entries/ninetales.asm" -JigglypuffPokedexEntry:: INCLUDE "data/pokedex/entries/jigglypuff.asm" -WigglytuffPokedexEntry:: INCLUDE "data/pokedex/entries/wigglytuff.asm" -ZubatPokedexEntry:: INCLUDE "data/pokedex/entries/zubat.asm" -GolbatPokedexEntry:: INCLUDE "data/pokedex/entries/golbat.asm" -OddishPokedexEntry:: INCLUDE "data/pokedex/entries/oddish.asm" -GloomPokedexEntry:: INCLUDE "data/pokedex/entries/gloom.asm" -VileplumePokedexEntry:: INCLUDE "data/pokedex/entries/vileplume.asm" -ParasPokedexEntry:: INCLUDE "data/pokedex/entries/paras.asm" -ParasectPokedexEntry:: INCLUDE "data/pokedex/entries/parasect.asm" -VenonatPokedexEntry:: INCLUDE "data/pokedex/entries/venonat.asm" -VenomothPokedexEntry:: INCLUDE "data/pokedex/entries/venomoth.asm" -DiglettPokedexEntry:: INCLUDE "data/pokedex/entries/diglett.asm" -DugtrioPokedexEntry:: INCLUDE "data/pokedex/entries/dugtrio.asm" -MeowthPokedexEntry:: INCLUDE "data/pokedex/entries/meowth.asm" -PersianPokedexEntry:: INCLUDE "data/pokedex/entries/persian.asm" -PsyduckPokedexEntry:: INCLUDE "data/pokedex/entries/psyduck.asm" -GolduckPokedexEntry:: INCLUDE "data/pokedex/entries/golduck.asm" -MankeyPokedexEntry:: INCLUDE "data/pokedex/entries/mankey.asm" -PrimeapePokedexEntry:: INCLUDE "data/pokedex/entries/primeape.asm" -GrowlithePokedexEntry:: INCLUDE "data/pokedex/entries/growlithe.asm" -ArcaninePokedexEntry:: INCLUDE "data/pokedex/entries/arcanine.asm" -PoliwagPokedexEntry:: INCLUDE "data/pokedex/entries/poliwag.asm" -PoliwhirlPokedexEntry:: INCLUDE "data/pokedex/entries/poliwhirl.asm" -PoliwrathPokedexEntry:: INCLUDE "data/pokedex/entries/poliwrath.asm" -AbraPokedexEntry:: INCLUDE "data/pokedex/entries/abra.asm" -KadabraPokedexEntry:: INCLUDE "data/pokedex/entries/kadabra.asm" diff --git a/data/pokedex/entries_2.asm b/data/pokedex/entries_2.asm deleted file mode 100644 index 881986d92..000000000 --- a/data/pokedex/entries_2.asm +++ /dev/null @@ -1,64 +0,0 @@ -AlakazamPokedexEntry:: INCLUDE "data/pokedex/entries/alakazam.asm" -MachopPokedexEntry:: INCLUDE "data/pokedex/entries/machop.asm" -MachokePokedexEntry:: INCLUDE "data/pokedex/entries/machoke.asm" -MachampPokedexEntry:: INCLUDE "data/pokedex/entries/machamp.asm" -BellsproutPokedexEntry:: INCLUDE "data/pokedex/entries/bellsprout.asm" -WeepinbellPokedexEntry:: INCLUDE "data/pokedex/entries/weepinbell.asm" -VictreebelPokedexEntry:: INCLUDE "data/pokedex/entries/victreebel.asm" -TentacoolPokedexEntry:: INCLUDE "data/pokedex/entries/tentacool.asm" -TentacruelPokedexEntry:: INCLUDE "data/pokedex/entries/tentacruel.asm" -GeodudePokedexEntry:: INCLUDE "data/pokedex/entries/geodude.asm" -GravelerPokedexEntry:: INCLUDE "data/pokedex/entries/graveler.asm" -GolemPokedexEntry:: INCLUDE "data/pokedex/entries/golem.asm" -PonytaPokedexEntry:: INCLUDE "data/pokedex/entries/ponyta.asm" -RapidashPokedexEntry:: INCLUDE "data/pokedex/entries/rapidash.asm" -SlowpokePokedexEntry:: INCLUDE "data/pokedex/entries/slowpoke.asm" -SlowbroPokedexEntry:: INCLUDE "data/pokedex/entries/slowbro.asm" -MagnemitePokedexEntry:: INCLUDE "data/pokedex/entries/magnemite.asm" -MagnetonPokedexEntry:: INCLUDE "data/pokedex/entries/magneton.asm" -FarfetchDPokedexEntry:: INCLUDE "data/pokedex/entries/farfetch_d.asm" -DoduoPokedexEntry:: INCLUDE "data/pokedex/entries/doduo.asm" -DodrioPokedexEntry:: INCLUDE "data/pokedex/entries/dodrio.asm" -SeelPokedexEntry:: INCLUDE "data/pokedex/entries/seel.asm" -DewgongPokedexEntry:: INCLUDE "data/pokedex/entries/dewgong.asm" -GrimerPokedexEntry:: INCLUDE "data/pokedex/entries/grimer.asm" -MukPokedexEntry:: INCLUDE "data/pokedex/entries/muk.asm" -ShellderPokedexEntry:: INCLUDE "data/pokedex/entries/shellder.asm" -CloysterPokedexEntry:: INCLUDE "data/pokedex/entries/cloyster.asm" -GastlyPokedexEntry:: INCLUDE "data/pokedex/entries/gastly.asm" -HaunterPokedexEntry:: INCLUDE "data/pokedex/entries/haunter.asm" -GengarPokedexEntry:: INCLUDE "data/pokedex/entries/gengar.asm" -OnixPokedexEntry:: INCLUDE "data/pokedex/entries/onix.asm" -DrowzeePokedexEntry:: INCLUDE "data/pokedex/entries/drowzee.asm" -HypnoPokedexEntry:: INCLUDE "data/pokedex/entries/hypno.asm" -KrabbyPokedexEntry:: INCLUDE "data/pokedex/entries/krabby.asm" -KinglerPokedexEntry:: INCLUDE "data/pokedex/entries/kingler.asm" -VoltorbPokedexEntry:: INCLUDE "data/pokedex/entries/voltorb.asm" -ElectrodePokedexEntry:: INCLUDE "data/pokedex/entries/electrode.asm" -ExeggcutePokedexEntry:: INCLUDE "data/pokedex/entries/exeggcute.asm" -ExeggutorPokedexEntry:: INCLUDE "data/pokedex/entries/exeggutor.asm" -CubonePokedexEntry:: INCLUDE "data/pokedex/entries/cubone.asm" -MarowakPokedexEntry:: INCLUDE "data/pokedex/entries/marowak.asm" -HitmonleePokedexEntry:: INCLUDE "data/pokedex/entries/hitmonlee.asm" -HitmonchanPokedexEntry:: INCLUDE "data/pokedex/entries/hitmonchan.asm" -LickitungPokedexEntry:: INCLUDE "data/pokedex/entries/lickitung.asm" -KoffingPokedexEntry:: INCLUDE "data/pokedex/entries/koffing.asm" -WeezingPokedexEntry:: INCLUDE "data/pokedex/entries/weezing.asm" -RhyhornPokedexEntry:: INCLUDE "data/pokedex/entries/rhyhorn.asm" -RhydonPokedexEntry:: INCLUDE "data/pokedex/entries/rhydon.asm" -ChanseyPokedexEntry:: INCLUDE "data/pokedex/entries/chansey.asm" -TangelaPokedexEntry:: INCLUDE "data/pokedex/entries/tangela.asm" -KangaskhanPokedexEntry:: INCLUDE "data/pokedex/entries/kangaskhan.asm" -HorseaPokedexEntry:: INCLUDE "data/pokedex/entries/horsea.asm" -SeadraPokedexEntry:: INCLUDE "data/pokedex/entries/seadra.asm" -GoldeenPokedexEntry:: INCLUDE "data/pokedex/entries/goldeen.asm" -SeakingPokedexEntry:: INCLUDE "data/pokedex/entries/seaking.asm" -StaryuPokedexEntry:: INCLUDE "data/pokedex/entries/staryu.asm" -StarmiePokedexEntry:: INCLUDE "data/pokedex/entries/starmie.asm" -MrMimePokedexEntry:: INCLUDE "data/pokedex/entries/mr__mime.asm" -ScytherPokedexEntry:: INCLUDE "data/pokedex/entries/scyther.asm" -JynxPokedexEntry:: INCLUDE "data/pokedex/entries/jynx.asm" -ElectabuzzPokedexEntry:: INCLUDE "data/pokedex/entries/electabuzz.asm" -MagmarPokedexEntry:: INCLUDE "data/pokedex/entries/magmar.asm" -PinsirPokedexEntry:: INCLUDE "data/pokedex/entries/pinsir.asm" -TaurosPokedexEntry:: INCLUDE "data/pokedex/entries/tauros.asm" diff --git a/data/pokedex/entries_3.asm b/data/pokedex/entries_3.asm deleted file mode 100644 index 869252baa..000000000 --- a/data/pokedex/entries_3.asm +++ /dev/null @@ -1,64 +0,0 @@ -MagikarpPokedexEntry:: INCLUDE "data/pokedex/entries/magikarp.asm" -GyaradosPokedexEntry:: INCLUDE "data/pokedex/entries/gyarados.asm" -LaprasPokedexEntry:: INCLUDE "data/pokedex/entries/lapras.asm" -DittoPokedexEntry:: INCLUDE "data/pokedex/entries/ditto.asm" -EeveePokedexEntry:: INCLUDE "data/pokedex/entries/eevee.asm" -VaporeonPokedexEntry:: INCLUDE "data/pokedex/entries/vaporeon.asm" -JolteonPokedexEntry:: INCLUDE "data/pokedex/entries/jolteon.asm" -FlareonPokedexEntry:: INCLUDE "data/pokedex/entries/flareon.asm" -PorygonPokedexEntry:: INCLUDE "data/pokedex/entries/porygon.asm" -OmanytePokedexEntry:: INCLUDE "data/pokedex/entries/omanyte.asm" -OmastarPokedexEntry:: INCLUDE "data/pokedex/entries/omastar.asm" -KabutoPokedexEntry:: INCLUDE "data/pokedex/entries/kabuto.asm" -KabutopsPokedexEntry:: INCLUDE "data/pokedex/entries/kabutops.asm" -AerodactylPokedexEntry:: INCLUDE "data/pokedex/entries/aerodactyl.asm" -SnorlaxPokedexEntry:: INCLUDE "data/pokedex/entries/snorlax.asm" -ArticunoPokedexEntry:: INCLUDE "data/pokedex/entries/articuno.asm" -ZapdosPokedexEntry:: INCLUDE "data/pokedex/entries/zapdos.asm" -MoltresPokedexEntry:: INCLUDE "data/pokedex/entries/moltres.asm" -DratiniPokedexEntry:: INCLUDE "data/pokedex/entries/dratini.asm" -DragonairPokedexEntry:: INCLUDE "data/pokedex/entries/dragonair.asm" -DragonitePokedexEntry:: INCLUDE "data/pokedex/entries/dragonite.asm" -MewtwoPokedexEntry:: INCLUDE "data/pokedex/entries/mewtwo.asm" -MewPokedexEntry:: INCLUDE "data/pokedex/entries/mew.asm" -ChikoritaPokedexEntry:: INCLUDE "data/pokedex/entries/chikorita.asm" -BayleefPokedexEntry:: INCLUDE "data/pokedex/entries/bayleef.asm" -MeganiumPokedexEntry:: INCLUDE "data/pokedex/entries/meganium.asm" -CyndaquilPokedexEntry:: INCLUDE "data/pokedex/entries/cyndaquil.asm" -QuilavaPokedexEntry:: INCLUDE "data/pokedex/entries/quilava.asm" -TyphlosionPokedexEntry:: INCLUDE "data/pokedex/entries/typhlosion.asm" -TotodilePokedexEntry:: INCLUDE "data/pokedex/entries/totodile.asm" -CroconawPokedexEntry:: INCLUDE "data/pokedex/entries/croconaw.asm" -FeraligatrPokedexEntry:: INCLUDE "data/pokedex/entries/feraligatr.asm" -SentretPokedexEntry:: INCLUDE "data/pokedex/entries/sentret.asm" -FurretPokedexEntry:: INCLUDE "data/pokedex/entries/furret.asm" -HoothootPokedexEntry:: INCLUDE "data/pokedex/entries/hoothoot.asm" -NoctowlPokedexEntry:: INCLUDE "data/pokedex/entries/noctowl.asm" -LedybaPokedexEntry:: INCLUDE "data/pokedex/entries/ledyba.asm" -LedianPokedexEntry:: INCLUDE "data/pokedex/entries/ledian.asm" -SpinarakPokedexEntry:: INCLUDE "data/pokedex/entries/spinarak.asm" -AriadosPokedexEntry:: INCLUDE "data/pokedex/entries/ariados.asm" -CrobatPokedexEntry:: INCLUDE "data/pokedex/entries/crobat.asm" -ChinchouPokedexEntry:: INCLUDE "data/pokedex/entries/chinchou.asm" -LanturnPokedexEntry:: INCLUDE "data/pokedex/entries/lanturn.asm" -PichuPokedexEntry:: INCLUDE "data/pokedex/entries/pichu.asm" -CleffaPokedexEntry:: INCLUDE "data/pokedex/entries/cleffa.asm" -IgglybuffPokedexEntry:: INCLUDE "data/pokedex/entries/igglybuff.asm" -TogepiPokedexEntry:: INCLUDE "data/pokedex/entries/togepi.asm" -TogeticPokedexEntry:: INCLUDE "data/pokedex/entries/togetic.asm" -NatuPokedexEntry:: INCLUDE "data/pokedex/entries/natu.asm" -XatuPokedexEntry:: INCLUDE "data/pokedex/entries/xatu.asm" -MareepPokedexEntry:: INCLUDE "data/pokedex/entries/mareep.asm" -FlaaffyPokedexEntry:: INCLUDE "data/pokedex/entries/flaaffy.asm" -AmpharosPokedexEntry:: INCLUDE "data/pokedex/entries/ampharos.asm" -BellossomPokedexEntry:: INCLUDE "data/pokedex/entries/bellossom.asm" -MarillPokedexEntry:: INCLUDE "data/pokedex/entries/marill.asm" -AzumarillPokedexEntry:: INCLUDE "data/pokedex/entries/azumarill.asm" -SudowoodoPokedexEntry:: INCLUDE "data/pokedex/entries/sudowoodo.asm" -PolitoedPokedexEntry:: INCLUDE "data/pokedex/entries/politoed.asm" -HoppipPokedexEntry:: INCLUDE "data/pokedex/entries/hoppip.asm" -SkiploomPokedexEntry:: INCLUDE "data/pokedex/entries/skiploom.asm" -JumpluffPokedexEntry:: INCLUDE "data/pokedex/entries/jumpluff.asm" -AipomPokedexEntry:: INCLUDE "data/pokedex/entries/aipom.asm" -SunkernPokedexEntry:: INCLUDE "data/pokedex/entries/sunkern.asm" -SunfloraPokedexEntry:: INCLUDE "data/pokedex/entries/sunflora.asm" diff --git a/data/pokedex/entries_4.asm b/data/pokedex/entries_4.asm deleted file mode 100644 index 240f87e3e..000000000 --- a/data/pokedex/entries_4.asm +++ /dev/null @@ -1,59 +0,0 @@ -YanmaPokedexEntry:: INCLUDE "data/pokedex/entries/yanma.asm" -WooperPokedexEntry:: INCLUDE "data/pokedex/entries/wooper.asm" -QuagsirePokedexEntry:: INCLUDE "data/pokedex/entries/quagsire.asm" -EspeonPokedexEntry:: INCLUDE "data/pokedex/entries/espeon.asm" -UmbreonPokedexEntry:: INCLUDE "data/pokedex/entries/umbreon.asm" -MurkrowPokedexEntry:: INCLUDE "data/pokedex/entries/murkrow.asm" -SlowkingPokedexEntry:: INCLUDE "data/pokedex/entries/slowking.asm" -MisdreavusPokedexEntry:: INCLUDE "data/pokedex/entries/misdreavus.asm" -UnownPokedexEntry:: INCLUDE "data/pokedex/entries/unown.asm" -WobbuffetPokedexEntry:: INCLUDE "data/pokedex/entries/wobbuffet.asm" -GirafarigPokedexEntry:: INCLUDE "data/pokedex/entries/girafarig.asm" -PinecoPokedexEntry:: INCLUDE "data/pokedex/entries/pineco.asm" -ForretressPokedexEntry:: INCLUDE "data/pokedex/entries/forretress.asm" -DunsparcePokedexEntry:: INCLUDE "data/pokedex/entries/dunsparce.asm" -GligarPokedexEntry:: INCLUDE "data/pokedex/entries/gligar.asm" -SteelixPokedexEntry:: INCLUDE "data/pokedex/entries/steelix.asm" -SnubbullPokedexEntry:: INCLUDE "data/pokedex/entries/snubbull.asm" -GranbullPokedexEntry:: INCLUDE "data/pokedex/entries/granbull.asm" -QwilfishPokedexEntry:: INCLUDE "data/pokedex/entries/qwilfish.asm" -ScizorPokedexEntry:: INCLUDE "data/pokedex/entries/scizor.asm" -ShucklePokedexEntry:: INCLUDE "data/pokedex/entries/shuckle.asm" -HeracrossPokedexEntry:: INCLUDE "data/pokedex/entries/heracross.asm" -SneaselPokedexEntry:: INCLUDE "data/pokedex/entries/sneasel.asm" -TeddiursaPokedexEntry:: INCLUDE "data/pokedex/entries/teddiursa.asm" -UrsaringPokedexEntry:: INCLUDE "data/pokedex/entries/ursaring.asm" -SlugmaPokedexEntry:: INCLUDE "data/pokedex/entries/slugma.asm" -MagcargoPokedexEntry:: INCLUDE "data/pokedex/entries/magcargo.asm" -SwinubPokedexEntry:: INCLUDE "data/pokedex/entries/swinub.asm" -PiloswinePokedexEntry:: INCLUDE "data/pokedex/entries/piloswine.asm" -CorsolaPokedexEntry:: INCLUDE "data/pokedex/entries/corsola.asm" -RemoraidPokedexEntry:: INCLUDE "data/pokedex/entries/remoraid.asm" -OctilleryPokedexEntry:: INCLUDE "data/pokedex/entries/octillery.asm" -DelibirdPokedexEntry:: INCLUDE "data/pokedex/entries/delibird.asm" -MantinePokedexEntry:: INCLUDE "data/pokedex/entries/mantine.asm" -SkarmoryPokedexEntry:: INCLUDE "data/pokedex/entries/skarmory.asm" -HoundourPokedexEntry:: INCLUDE "data/pokedex/entries/houndour.asm" -HoundoomPokedexEntry:: INCLUDE "data/pokedex/entries/houndoom.asm" -KingdraPokedexEntry:: INCLUDE "data/pokedex/entries/kingdra.asm" -PhanpyPokedexEntry:: INCLUDE "data/pokedex/entries/phanpy.asm" -DonphanPokedexEntry:: INCLUDE "data/pokedex/entries/donphan.asm" -Porygon2PokedexEntry:: INCLUDE "data/pokedex/entries/porygon2.asm" -StantlerPokedexEntry:: INCLUDE "data/pokedex/entries/stantler.asm" -SmearglePokedexEntry:: INCLUDE "data/pokedex/entries/smeargle.asm" -TyroguePokedexEntry:: INCLUDE "data/pokedex/entries/tyrogue.asm" -HitmontopPokedexEntry:: INCLUDE "data/pokedex/entries/hitmontop.asm" -SmoochumPokedexEntry:: INCLUDE "data/pokedex/entries/smoochum.asm" -ElekidPokedexEntry:: INCLUDE "data/pokedex/entries/elekid.asm" -MagbyPokedexEntry:: INCLUDE "data/pokedex/entries/magby.asm" -MiltankPokedexEntry:: INCLUDE "data/pokedex/entries/miltank.asm" -BlisseyPokedexEntry:: INCLUDE "data/pokedex/entries/blissey.asm" -RaikouPokedexEntry:: INCLUDE "data/pokedex/entries/raikou.asm" -EnteiPokedexEntry:: INCLUDE "data/pokedex/entries/entei.asm" -SuicunePokedexEntry:: INCLUDE "data/pokedex/entries/suicune.asm" -LarvitarPokedexEntry:: INCLUDE "data/pokedex/entries/larvitar.asm" -PupitarPokedexEntry:: INCLUDE "data/pokedex/entries/pupitar.asm" -TyranitarPokedexEntry:: INCLUDE "data/pokedex/entries/tyranitar.asm" -LugiaPokedexEntry:: INCLUDE "data/pokedex/entries/lugia.asm" -HoOhPokedexEntry:: INCLUDE "data/pokedex/entries/ho_oh.asm" -CelebiPokedexEntry:: INCLUDE "data/pokedex/entries/celebi.asm" diff --git a/data/pokedex/entries_crystal.asm b/data/pokedex/entries_crystal.asm deleted file mode 100644 index fc38b063d..000000000 --- a/data/pokedex/entries_crystal.asm +++ /dev/null @@ -1,2 +0,0 @@ -INCLUDE "pokecrystal.asm" -INCLUDE "data/pokedex/entries.asm" diff --git a/data/pokedex/entry_pointers.asm b/data/pokedex/entry_pointers.asm index 5a432e661..c4ddc7280 100644 --- a/data/pokedex/entry_pointers.asm +++ b/data/pokedex/entry_pointers.asm @@ -1,77 +1,5 @@ -GetDexEntryPointer: ; 44333 -; return dex entry pointer b:de - push hl - ld hl, PokedexDataPointerTable - ld a, b - dec a - ld d, 0 - ld e, a - add hl, de - add hl, de - ld e, [hl] - inc hl - ld d, [hl] - push de - rlca - rlca - and $3 - ld hl, .PokedexEntryBanks - ld d, 0 - ld e, a - add hl, de - ld b, [hl] - pop de - pop hl - ret - -.PokedexEntryBanks: ; 44351 - -GLOBAL PokedexEntries1 -GLOBAL PokedexEntries2 -GLOBAL PokedexEntries3 -GLOBAL PokedexEntries4 - - db BANK(PokedexEntries1) - db BANK(PokedexEntries2) - db BANK(PokedexEntries3) - db BANK(PokedexEntries4) - -GetDexEntryPagePointer: ; 44355 - call GetDexEntryPointer ; b:de - push hl - ld h, d - ld l, e -; skip species name -.loop1 - ld a, b - call GetFarByte - inc hl - cp "@" - jr nz, .loop1 -; skip height and weight -rept 4 - inc hl -endr -; if c != 1: skip entry - dec c - jr z, .done -; skip entry -.loop2 - ld a, b - call GetFarByte - inc hl - cp "@" - jr nz, .loop2 - -.done - ld d, h - ld e, l - pop hl - ret - PokedexDataPointerTable: ; 0x44378 -; Pointers to all the Pokedex entries. - +; entries correspond to constants/pokemon_constants.asm dw BulbasaurPokedexEntry dw IvysaurPokedexEntry dw VenusaurPokedexEntry @@ -323,3 +251,4 @@ PokedexDataPointerTable: ; 0x44378 dw LugiaPokedexEntry dw HoOhPokedexEntry dw CelebiPokedexEntry +; 0x4456e diff --git a/data/pokedex/order_alpha.asm b/data/pokedex/order_alpha.asm index bab0a981d..8fcb0acd1 100644 --- a/data/pokedex/order_alpha.asm +++ b/data/pokedex/order_alpha.asm @@ -1,5 +1,6 @@ -; Every Pokemon sorted alphabetically by name. +; Every Pokémon sorted alphabetically by name. +AlphabeticalPokedexOrder: ; 0x40c65 db ABRA db AERODACTYL db AIPOM @@ -251,3 +252,4 @@ db YANMA db ZAPDOS db ZUBAT +; 0x40d60 diff --git a/data/pokedex/order_new.asm b/data/pokedex/order_new.asm index a98a658cd..bf7e3d298 100644 --- a/data/pokedex/order_new.asm +++ b/data/pokedex/order_new.asm @@ -1,5 +1,6 @@ -; Every Pokemon sorted in New Pokedex Order. +; Every Pokémon sorted in New Pokédex Order. +NewPokedexOrder: ; 0x40d60 db CHIKORITA db BAYLEEF db MEGANIUM @@ -251,3 +252,4 @@ db MEWTWO db MEW db CELEBI +; 0x40e5b diff --git a/data/pokemon_names.asm b/data/pokemon_names.asm index 06b1a6e55..266b0c020 100644 --- a/data/pokemon_names.asm +++ b/data/pokemon_names.asm @@ -1,3 +1,4 @@ +PokemonNames:: db "BULBASAUR@" db "IVYSAUR@@@" db "VENUSAUR@@" diff --git a/data/spawn_points.asm b/data/spawn_points.asm new file mode 100644 index 000000000..49ba362d7 --- /dev/null +++ b/data/spawn_points.asm @@ -0,0 +1,41 @@ +spawn: MACRO +; map, y, x + map \1 + db \2, \3 +ENDM + +SpawnPoints: ; 0x152ab +; entries correspond to SPAWN_* constants + + spawn KRISS_HOUSE_2F, 3, 3 + spawn VIRIDIAN_POKECENTER_1F, 5, 3 + + spawn PALLET_TOWN, 5, 6 + spawn VIRIDIAN_CITY, 23, 26 + spawn PEWTER_CITY, 13, 26 + spawn CERULEAN_CITY, 19, 22 + spawn ROUTE_10_NORTH, 11, 2 + spawn VERMILION_CITY, 9, 6 + spawn LAVENDER_TOWN, 5, 6 + spawn SAFFRON_CITY, 9, 30 + spawn CELADON_CITY, 29, 10 + spawn FUCHSIA_CITY, 19, 28 + spawn CINNABAR_ISLAND, 11, 12 + spawn ROUTE_23, 9, 6 + + spawn NEW_BARK_TOWN, 13, 6 + spawn CHERRYGROVE_CITY, 29, 4 + spawn VIOLET_CITY, 31, 26 + spawn ROUTE_32, 11, 74 + spawn AZALEA_TOWN, 15, 10 + spawn CIANWOOD_CITY, 23, 44 + spawn GOLDENROD_CITY, 15, 28 + spawn OLIVINE_CITY, 13, 22 + spawn ECRUTEAK_CITY, 23, 28 + spawn MAHOGANY_TOWN, 15, 14 + spawn LAKE_OF_RAGE, 21, 29 + spawn BLACKTHORN_CITY, 21, 30 + spawn SILVER_CAVE_OUTSIDE, 23, 20 + spawn FAST_SHIP_CABINS_SW_SSW_NW, 6, 2 + spawn N_A, -1, -1 +; 1531f diff --git a/data/sprite_anim_frames.asm b/data/sprite_anim_frames.asm new file mode 100755 index 000000000..0111a5bc2 --- /dev/null +++ b/data/sprite_anim_frames.asm @@ -0,0 +1,499 @@ +SpriteAnimFrameData: ; 8d6e6 +; entries correspond to SPRITE_ANIM_FRAMESET_* constants + dw .Frameset_00 + dw .Frameset_PartyMon + dw .Frameset_02 + dw .Frameset_03 + dw .Frameset_04 + dw .Frameset_05 + dw .Frameset_06 + dw .Frameset_07 + dw .Frameset_TextEntryCursor + dw .Frameset_09 + dw .Frameset_GameFreakLogo + dw .Frameset_GSIntroStar + dw .Frameset_GSIntroSparkle + dw .Frameset_SlotsGolem + dw .Frameset_SlotsChansey + dw .Frameset_SlotsChansey2 + dw .Frameset_SlotsEgg + dw .Frameset_RedWalk + dw .Frameset_StillCursor + dw .Frameset_TradePokeBall + dw .Frameset_TradePokeBall0 + dw .Frameset_TradePoof + dw .Frameset_TradeTubeBulge + dw .Frameset_TrademonIcon + dw .Frameset_TrademonBubble + dw .Frameset_EvolutionBallOfLight + dw .Frameset_RadioTuningKnob + dw .Frameset_MagnetTrainRed + dw .Frameset_1c + dw .Frameset_Leaf + dw .Frameset_CutTree + dw .Frameset_EggCrack + dw .Frameset_EggHatch + dw .Frameset_21 + dw .Frameset_22 + dw .Frameset_23 + dw .Frameset_24 + dw .Frameset_HeadbuttTree + dw .Frameset_26 + dw .Frameset_27 + dw .Frameset_28 + dw .Frameset_29 + dw .Frameset_2a + dw .Frameset_2b + dw .Frameset_2c + dw .Frameset_BlueWalk + dw .Frameset_MagnetTrainBlue + dw .Frameset_2f + dw .Frameset_30 + dw .Frameset_31 + dw .Frameset_32 + dw .Frameset_33 + dw .Frameset_34 + dw .Frameset_IntroSuicune + dw .Frameset_IntroSuicune2 + dw .Frameset_IntroPichu + dw .Frameset_IntroWooper + dw .Frameset_IntroUnown1 + dw .Frameset_IntroUnown2 + dw .Frameset_IntroUnown3 + dw .Frameset_IntroUnown4 + dw .Frameset_IntroUnownF2 + dw .Frameset_IntroSuicuneAway + dw .Frameset_IntroUnownF + dw .Frameset_CelebiLeft + dw .Frameset_CelebiRight +; 8d76a + +.Frameset_00: + frame SPRITE_ANIM_FRAME_IDX_00, 32 + endanim + +.Frameset_PartyMon: + frame SPRITE_ANIM_FRAME_IDX_00, 8 + frame SPRITE_ANIM_FRAME_IDX_01, 8 + dorestart + +.Frameset_02: + frame SPRITE_ANIM_FRAME_IDX_3D, 8 + frame SPRITE_ANIM_FRAME_IDX_3E, 8 + dorestart + +.Frameset_03: + frame SPRITE_ANIM_FRAME_IDX_3F, 8 + frame SPRITE_ANIM_FRAME_IDX_40, 8 + dorestart + +.Frameset_04: + frame SPRITE_ANIM_FRAME_IDX_00, 4 + frame SPRITE_ANIM_FRAME_IDX_01, 4 + dorestart + +.Frameset_05: + frame SPRITE_ANIM_FRAME_IDX_3D, 4 + frame SPRITE_ANIM_FRAME_IDX_3E, 4 + dorestart + +.Frameset_06: + frame SPRITE_ANIM_FRAME_IDX_3F, 4 + frame SPRITE_ANIM_FRAME_IDX_40, 4 + dorestart + +.Frameset_RedWalk: + frame SPRITE_ANIM_FRAME_IDX_00, 8 + frame SPRITE_ANIM_FRAME_IDX_01, 8 + frame SPRITE_ANIM_FRAME_IDX_00, 8 + frame SPRITE_ANIM_FRAME_IDX_01, 8, OAM_X_FLIP + dorestart + +.Frameset_BlueWalk: + frame SPRITE_ANIM_FRAME_IDX_63, 8 + frame SPRITE_ANIM_FRAME_IDX_64, 8 + frame SPRITE_ANIM_FRAME_IDX_63, 8 + frame SPRITE_ANIM_FRAME_IDX_64, 8, OAM_X_FLIP + dorestart + +.Frameset_MagnetTrainBlue: + frame SPRITE_ANIM_FRAME_IDX_65, 8 + frame SPRITE_ANIM_FRAME_IDX_66, 8 + frame SPRITE_ANIM_FRAME_IDX_65, 8 + frame SPRITE_ANIM_FRAME_IDX_66, 8, OAM_X_FLIP + dorestart + +.Frameset_07: + frame SPRITE_ANIM_FRAME_IDX_1E, 1 + frame SPRITE_ANIM_FRAME_IDX_1F, 1 + dorestart + +.Frameset_TextEntryCursor: + frame SPRITE_ANIM_FRAME_IDX_20, 1 + dorepeat 1 + dorestart + +.Frameset_09: + frame SPRITE_ANIM_FRAME_IDX_21, 1 + dorepeat 1 + dorestart + +.Frameset_GameFreakLogo: + frame SPRITE_ANIM_FRAME_IDX_81, 12 + frame SPRITE_ANIM_FRAME_IDX_82, 1 + frame SPRITE_ANIM_FRAME_IDX_83, 1 + frame SPRITE_ANIM_FRAME_IDX_82, 4 + frame SPRITE_ANIM_FRAME_IDX_81, 12 + frame SPRITE_ANIM_FRAME_IDX_82, 12 + frame SPRITE_ANIM_FRAME_IDX_83, 4 + frame SPRITE_ANIM_FRAME_IDX_84, 32 + frame SPRITE_ANIM_FRAME_IDX_85, 3 + frame SPRITE_ANIM_FRAME_IDX_86, 3 + frame SPRITE_ANIM_FRAME_IDX_87, 4 + frame SPRITE_ANIM_FRAME_IDX_88, 4 + frame SPRITE_ANIM_FRAME_IDX_89, 4 + frame SPRITE_ANIM_FRAME_IDX_8A, 10 + frame SPRITE_ANIM_FRAME_IDX_8B, 7 + endanim + +.Frameset_GSIntroStar: + frame SPRITE_ANIM_FRAME_IDX_23, 3 + frame SPRITE_ANIM_FRAME_IDX_23, 3, OAM_Y_FLIP + dorestart + +.Frameset_GSIntroSparkle: + frame SPRITE_ANIM_FRAME_IDX_24, 2 + frame SPRITE_ANIM_FRAME_IDX_25, 2 + frame SPRITE_ANIM_FRAME_IDX_26, 2 + frame SPRITE_ANIM_FRAME_IDX_25, 2 + dorestart + +.Frameset_SlotsGolem: + frame SPRITE_ANIM_FRAME_IDX_27, 7 + frame SPRITE_ANIM_FRAME_IDX_28, 7 + frame SPRITE_ANIM_FRAME_IDX_27, 7, OAM_Y_FLIP + frame SPRITE_ANIM_FRAME_IDX_28, 7, OAM_X_FLIP + dorestart + +.Frameset_SlotsChansey: + frame SPRITE_ANIM_FRAME_IDX_29, 7 + frame SPRITE_ANIM_FRAME_IDX_2A, 7 + frame SPRITE_ANIM_FRAME_IDX_29, 7 + frame SPRITE_ANIM_FRAME_IDX_2B, 7 + dorestart + +.Frameset_SlotsChansey2: + frame SPRITE_ANIM_FRAME_IDX_29, 7 + frame SPRITE_ANIM_FRAME_IDX_2C, 7 + frame SPRITE_ANIM_FRAME_IDX_2D, 7 + frame SPRITE_ANIM_FRAME_IDX_2C, 7 + frame SPRITE_ANIM_FRAME_IDX_29, 7 + endanim + +.Frameset_SlotsEgg: + frame SPRITE_ANIM_FRAME_IDX_2E, 20 + endanim + +.Frameset_StillCursor: + frame SPRITE_ANIM_FRAME_IDX_2F, 32 + endanim + +.Frameset_TradePokeBall: + frame SPRITE_ANIM_FRAME_IDX_30, 32 + endanim + +.Frameset_TradePokeBall0: + frame SPRITE_ANIM_FRAME_IDX_30, 3 + frame SPRITE_ANIM_FRAME_IDX_31, 3 + frame SPRITE_ANIM_FRAME_IDX_30, 3 + frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP + dorestart + +.Frameset_TradePoof: + frame SPRITE_ANIM_FRAME_IDX_32, 4 + frame SPRITE_ANIM_FRAME_IDX_33, 4 + frame SPRITE_ANIM_FRAME_IDX_34, 4 + delanim + +.Frameset_TradeTubeBulge: + frame SPRITE_ANIM_FRAME_IDX_35, 3 + frame SPRITE_ANIM_FRAME_IDX_36, 3 + dorestart + +.Frameset_TrademonIcon: + frame SPRITE_ANIM_FRAME_IDX_37, 7 + frame SPRITE_ANIM_FRAME_IDX_38, 7 + dorestart + +.Frameset_TrademonBubble: + frame SPRITE_ANIM_FRAME_IDX_39, 32 + endanim + +.Frameset_EvolutionBallOfLight: + frame SPRITE_ANIM_FRAME_IDX_3B, 2 + frame SPRITE_ANIM_FRAME_IDX_3A, 2 + frame SPRITE_ANIM_FRAME_IDX_3B, 2 + endanim + +.Frameset_RadioTuningKnob: + frame SPRITE_ANIM_FRAME_IDX_3C, 32 + endanim + +.Frameset_MagnetTrainRed: + frame SPRITE_ANIM_FRAME_IDX_41, 8 + frame SPRITE_ANIM_FRAME_IDX_42, 8 + frame SPRITE_ANIM_FRAME_IDX_41, 8 + frame SPRITE_ANIM_FRAME_IDX_42, 8, OAM_X_FLIP + dorestart + +; XXX + frame SPRITE_ANIM_FRAME_IDX_43, 8 + frame SPRITE_ANIM_FRAME_IDX_44, 8 + dorestart + +; XXX + frame SPRITE_ANIM_FRAME_IDX_45, 8 + frame SPRITE_ANIM_FRAME_IDX_46, 8 + dorestart + +; XXX + frame SPRITE_ANIM_FRAME_IDX_47, 8 + frame SPRITE_ANIM_FRAME_IDX_48, 8 + dorestart + +; XXX + frame SPRITE_ANIM_FRAME_IDX_49, 1 + frame SPRITE_ANIM_FRAME_IDX_49, 1, OAM_X_FLIP + frame SPRITE_ANIM_FRAME_IDX_49, 1, OAM_X_FLIP, OAM_Y_FLIP + frame SPRITE_ANIM_FRAME_IDX_49, 1, OAM_Y_FLIP + dorestart + +; XXX + frame SPRITE_ANIM_FRAME_IDX_4A, 32 + endanim + +; XXX + frame SPRITE_ANIM_FRAME_IDX_4B, 32 + endanim + +; XXX + frame SPRITE_ANIM_FRAME_IDX_4C, 32 + endanim + +; XXX + frame SPRITE_ANIM_FRAME_IDX_4D, 32 + endanim + +; XXX + frame SPRITE_ANIM_FRAME_IDX_4E, 3 + dorepeat 3 + dorestart + +.Frameset_1c: + dorepeat 32 + endanim + +.Frameset_Leaf: + frame SPRITE_ANIM_FRAME_IDX_4F, 32 + endanim + +.Frameset_CutTree: + frame SPRITE_ANIM_FRAME_IDX_50, 2 + frame SPRITE_ANIM_FRAME_IDX_51, 16 + dorepeat 1 + frame SPRITE_ANIM_FRAME_IDX_52, 1 + dorepeat 1 + frame SPRITE_ANIM_FRAME_IDX_53, 1 + delanim + +.Frameset_EggCrack: + frame SPRITE_ANIM_FRAME_IDX_54, 32 + endanim + +.Frameset_EggHatch: + frame SPRITE_ANIM_FRAME_IDX_55, 32 + endanim + +.Frameset_21: + frame SPRITE_ANIM_FRAME_IDX_55, 32, OAM_X_FLIP + endanim + +.Frameset_22: + frame SPRITE_ANIM_FRAME_IDX_55, 32, OAM_Y_FLIP + endanim + +.Frameset_23: + frame SPRITE_ANIM_FRAME_IDX_55, 32, OAM_X_FLIP, OAM_Y_FLIP + endanim + +.Frameset_24: + frame SPRITE_ANIM_FRAME_IDX_56, 10 + frame SPRITE_ANIM_FRAME_IDX_57, 9 + frame SPRITE_ANIM_FRAME_IDX_58, 10 + frame SPRITE_ANIM_FRAME_IDX_59, 10 + frame SPRITE_ANIM_FRAME_IDX_58, 9 + frame SPRITE_ANIM_FRAME_IDX_5A, 10 + dorestart + +.Frameset_HeadbuttTree: + frame SPRITE_ANIM_FRAME_IDX_50, 2 + frame SPRITE_ANIM_FRAME_IDX_5B, 2 + frame SPRITE_ANIM_FRAME_IDX_50, 2 + frame SPRITE_ANIM_FRAME_IDX_5B, 2, OAM_X_FLIP + dorestart + +.Frameset_26: + frame SPRITE_ANIM_FRAME_IDX_5C, 2 + endanim + +.Frameset_27: + frame SPRITE_ANIM_FRAME_IDX_5D, 2 + endanim + +.Frameset_28: + frame SPRITE_ANIM_FRAME_IDX_5E, 2 + endanim + +.Frameset_29: + frame SPRITE_ANIM_FRAME_IDX_5F, 2 + endanim + +.Frameset_2a: + frame SPRITE_ANIM_FRAME_IDX_60, 2 + endanim + +.Frameset_2b: + frame SPRITE_ANIM_FRAME_IDX_61, 2 + endanim + +.Frameset_2c: + frame SPRITE_ANIM_FRAME_IDX_62, 2 + endanim + +.Frameset_2f: + frame SPRITE_ANIM_FRAME_IDX_32, 3 + frame SPRITE_ANIM_FRAME_IDX_33, 3 + frame SPRITE_ANIM_FRAME_IDX_34, 3 + frame SPRITE_ANIM_FRAME_IDX_30, 3 + frame SPRITE_ANIM_FRAME_IDX_31, 3 + frame SPRITE_ANIM_FRAME_IDX_30, 3 + frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP + frame SPRITE_ANIM_FRAME_IDX_30, 3 + frame SPRITE_ANIM_FRAME_IDX_31, 3 + frame SPRITE_ANIM_FRAME_IDX_30, 3 + frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP + frame SPRITE_ANIM_FRAME_IDX_30, 3 + frame SPRITE_ANIM_FRAME_IDX_31, 3 + frame SPRITE_ANIM_FRAME_IDX_30, 3 + frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP + endanim + +.Frameset_30: + frame SPRITE_ANIM_FRAME_IDX_30, 3 + frame SPRITE_ANIM_FRAME_IDX_31, 3 + frame SPRITE_ANIM_FRAME_IDX_30, 3 + frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP + frame SPRITE_ANIM_FRAME_IDX_30, 3 + frame SPRITE_ANIM_FRAME_IDX_31, 3 + frame SPRITE_ANIM_FRAME_IDX_30, 3 + frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP + frame SPRITE_ANIM_FRAME_IDX_30, 3 + frame SPRITE_ANIM_FRAME_IDX_31, 3 + frame SPRITE_ANIM_FRAME_IDX_30, 3 + frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP + frame SPRITE_ANIM_FRAME_IDX_32, 3 + frame SPRITE_ANIM_FRAME_IDX_33, 3 + frame SPRITE_ANIM_FRAME_IDX_34, 3 + delanim + +.Frameset_31: + frame SPRITE_ANIM_FRAME_IDX_67, 3 + frame SPRITE_ANIM_FRAME_IDX_68, 3 + dorestart + +.Frameset_32: + frame SPRITE_ANIM_FRAME_IDX_6C, 3 + endanim + +.Frameset_33: + frame SPRITE_ANIM_FRAME_IDX_6D, 3 + endanim + +.Frameset_34: + frame SPRITE_ANIM_FRAME_IDX_69, 2 + frame SPRITE_ANIM_FRAME_IDX_6A, 2 + frame SPRITE_ANIM_FRAME_IDX_6B, 2 + delanim + +.Frameset_IntroSuicune: + frame SPRITE_ANIM_FRAME_IDX_6E, 3 + frame SPRITE_ANIM_FRAME_IDX_6F, 3 + frame SPRITE_ANIM_FRAME_IDX_70, 3 + frame SPRITE_ANIM_FRAME_IDX_71, 3 + dorestart + +.Frameset_IntroSuicune2: + frame SPRITE_ANIM_FRAME_IDX_71, 3 + frame SPRITE_ANIM_FRAME_IDX_6E, 7 + endanim + +.Frameset_IntroPichu: + frame SPRITE_ANIM_FRAME_IDX_72, 32 + frame SPRITE_ANIM_FRAME_IDX_73, 7 + frame SPRITE_ANIM_FRAME_IDX_74, 7 + endanim + +.Frameset_IntroWooper: + frame SPRITE_ANIM_FRAME_IDX_75, 3 + endanim + +.Frameset_IntroUnown1: + frame SPRITE_ANIM_FRAME_IDX_76, 3 + frame SPRITE_ANIM_FRAME_IDX_77, 3 + frame SPRITE_ANIM_FRAME_IDX_78, 7 + delanim + +.Frameset_IntroUnown2: + frame SPRITE_ANIM_FRAME_IDX_76, 3, OAM_X_FLIP + frame SPRITE_ANIM_FRAME_IDX_77, 3, OAM_X_FLIP + frame SPRITE_ANIM_FRAME_IDX_78, 7, OAM_X_FLIP + delanim + +.Frameset_IntroUnown3: + frame SPRITE_ANIM_FRAME_IDX_76, 3, OAM_Y_FLIP + frame SPRITE_ANIM_FRAME_IDX_77, 3, OAM_Y_FLIP + frame SPRITE_ANIM_FRAME_IDX_78, 7, OAM_Y_FLIP + delanim + +.Frameset_IntroUnown4: + frame SPRITE_ANIM_FRAME_IDX_76, 3, OAM_X_FLIP, OAM_Y_FLIP + frame SPRITE_ANIM_FRAME_IDX_77, 3, OAM_X_FLIP, OAM_Y_FLIP + frame SPRITE_ANIM_FRAME_IDX_78, 7, OAM_X_FLIP, OAM_Y_FLIP + delanim + +.Frameset_IntroUnownF2: + frame SPRITE_ANIM_FRAME_IDX_79, 3 + frame SPRITE_ANIM_FRAME_IDX_7A, 3 + frame SPRITE_ANIM_FRAME_IDX_7B, 3 + frame SPRITE_ANIM_FRAME_IDX_7C, 7 + frame SPRITE_ANIM_FRAME_IDX_7D, 7 + endanim + +.Frameset_IntroSuicuneAway: + frame SPRITE_ANIM_FRAME_IDX_7E, 3 + endanim + +.Frameset_IntroUnownF: + dorepeat 0 + endanim + +.Frameset_CelebiLeft: + frame SPRITE_ANIM_FRAME_IDX_7F, 8 + frame SPRITE_ANIM_FRAME_IDX_80, 8 + endanim + +.Frameset_CelebiRight: + frame SPRITE_ANIM_FRAME_IDX_7F, 8, OAM_X_FLIP + frame SPRITE_ANIM_FRAME_IDX_80, 8, OAM_X_FLIP + endanim +; 8d94d diff --git a/data/sprite_engine.asm b/data/sprite_anim_oam.asm index 31872d531..304151e8c 100755..100644 --- a/data/sprite_engine.asm +++ b/data/sprite_anim_oam.asm @@ -1,503 +1,3 @@ -SpriteAnimFrameData: ; 8d6e6 -; entries correspond to SPRITE_ANIM_FRAMESET_* constants - dw .Frameset_00 - dw .Frameset_PartyMon - dw .Frameset_02 - dw .Frameset_03 - dw .Frameset_04 - dw .Frameset_05 - dw .Frameset_06 - dw .Frameset_07 - dw .Frameset_TextEntryCursor - dw .Frameset_09 - dw .Frameset_GameFreakLogo - dw .Frameset_GSIntroStar - dw .Frameset_GSIntroSparkle - dw .Frameset_SlotsGolem - dw .Frameset_SlotsChansey - dw .Frameset_SlotsChansey2 - dw .Frameset_SlotsEgg - dw .Frameset_RedWalk - dw .Frameset_StillCursor - dw .Frameset_TradePokeBall - dw .Frameset_TradePokeBall0 - dw .Frameset_TradePoof - dw .Frameset_TradeTubeBulge - dw .Frameset_TrademonIcon - dw .Frameset_TrademonBubble - dw .Frameset_EvolutionBallOfLight - dw .Frameset_RadioTuningKnob - dw .Frameset_MagnetTrainRed - dw .Frameset_1c - dw .Frameset_Leaf - dw .Frameset_CutTree - dw .Frameset_EggCrack - dw .Frameset_EggHatch - dw .Frameset_21 - dw .Frameset_22 - dw .Frameset_23 - dw .Frameset_24 - dw .Frameset_HeadbuttTree - dw .Frameset_26 - dw .Frameset_27 - dw .Frameset_28 - dw .Frameset_29 - dw .Frameset_2a - dw .Frameset_2b - dw .Frameset_2c - dw .Frameset_BlueWalk - dw .Frameset_MagnetTrainBlue - dw .Frameset_2f - dw .Frameset_30 - dw .Frameset_31 - dw .Frameset_32 - dw .Frameset_33 - dw .Frameset_34 - dw .Frameset_IntroSuicune - dw .Frameset_IntroSuicune2 - dw .Frameset_IntroPichu - dw .Frameset_IntroWooper - dw .Frameset_IntroUnown1 - dw .Frameset_IntroUnown2 - dw .Frameset_IntroUnown3 - dw .Frameset_IntroUnown4 - dw .Frameset_IntroUnownF2 - dw .Frameset_IntroSuicuneAway - dw .Frameset_IntroUnownF - dw .Frameset_CelebiLeft - dw .Frameset_CelebiRight -; 8d76a - -.Frameset_00: - frame SPRITE_ANIM_FRAME_IDX_00, 32 - endanim - -.Frameset_PartyMon: - frame SPRITE_ANIM_FRAME_IDX_00, 8 - frame SPRITE_ANIM_FRAME_IDX_01, 8 - dorestart - -.Frameset_02: - frame SPRITE_ANIM_FRAME_IDX_3D, 8 - frame SPRITE_ANIM_FRAME_IDX_3E, 8 - dorestart - -.Frameset_03: - frame SPRITE_ANIM_FRAME_IDX_3F, 8 - frame SPRITE_ANIM_FRAME_IDX_40, 8 - dorestart - -.Frameset_04: - frame SPRITE_ANIM_FRAME_IDX_00, 4 - frame SPRITE_ANIM_FRAME_IDX_01, 4 - dorestart - -.Frameset_05: - frame SPRITE_ANIM_FRAME_IDX_3D, 4 - frame SPRITE_ANIM_FRAME_IDX_3E, 4 - dorestart - -.Frameset_06: - frame SPRITE_ANIM_FRAME_IDX_3F, 4 - frame SPRITE_ANIM_FRAME_IDX_40, 4 - dorestart - -.Frameset_RedWalk: - frame SPRITE_ANIM_FRAME_IDX_00, 8 - frame SPRITE_ANIM_FRAME_IDX_01, 8 - frame SPRITE_ANIM_FRAME_IDX_00, 8 - frame SPRITE_ANIM_FRAME_IDX_01, 8, OAM_X_FLIP - dorestart - -.Frameset_BlueWalk: - frame SPRITE_ANIM_FRAME_IDX_63, 8 - frame SPRITE_ANIM_FRAME_IDX_64, 8 - frame SPRITE_ANIM_FRAME_IDX_63, 8 - frame SPRITE_ANIM_FRAME_IDX_64, 8, OAM_X_FLIP - dorestart - -.Frameset_MagnetTrainBlue: - frame SPRITE_ANIM_FRAME_IDX_65, 8 - frame SPRITE_ANIM_FRAME_IDX_66, 8 - frame SPRITE_ANIM_FRAME_IDX_65, 8 - frame SPRITE_ANIM_FRAME_IDX_66, 8, OAM_X_FLIP - dorestart - -.Frameset_07: - frame SPRITE_ANIM_FRAME_IDX_1E, 1 - frame SPRITE_ANIM_FRAME_IDX_1F, 1 - dorestart - -.Frameset_TextEntryCursor: - frame SPRITE_ANIM_FRAME_IDX_20, 1 - dorepeat 1 - dorestart - -.Frameset_09: - frame SPRITE_ANIM_FRAME_IDX_21, 1 - dorepeat 1 - dorestart - -.Frameset_GameFreakLogo: - frame SPRITE_ANIM_FRAME_IDX_81, 12 - frame SPRITE_ANIM_FRAME_IDX_82, 1 - frame SPRITE_ANIM_FRAME_IDX_83, 1 - frame SPRITE_ANIM_FRAME_IDX_82, 4 - frame SPRITE_ANIM_FRAME_IDX_81, 12 - frame SPRITE_ANIM_FRAME_IDX_82, 12 - frame SPRITE_ANIM_FRAME_IDX_83, 4 - frame SPRITE_ANIM_FRAME_IDX_84, 32 - frame SPRITE_ANIM_FRAME_IDX_85, 3 - frame SPRITE_ANIM_FRAME_IDX_86, 3 - frame SPRITE_ANIM_FRAME_IDX_87, 4 - frame SPRITE_ANIM_FRAME_IDX_88, 4 - frame SPRITE_ANIM_FRAME_IDX_89, 4 - frame SPRITE_ANIM_FRAME_IDX_8A, 10 - frame SPRITE_ANIM_FRAME_IDX_8B, 7 - endanim - -.Frameset_GSIntroStar: - frame SPRITE_ANIM_FRAME_IDX_23, 3 - frame SPRITE_ANIM_FRAME_IDX_23, 3, OAM_Y_FLIP - dorestart - -.Frameset_GSIntroSparkle: - frame SPRITE_ANIM_FRAME_IDX_24, 2 - frame SPRITE_ANIM_FRAME_IDX_25, 2 - frame SPRITE_ANIM_FRAME_IDX_26, 2 - frame SPRITE_ANIM_FRAME_IDX_25, 2 - dorestart - -.Frameset_SlotsGolem: - frame SPRITE_ANIM_FRAME_IDX_27, 7 - frame SPRITE_ANIM_FRAME_IDX_28, 7 - frame SPRITE_ANIM_FRAME_IDX_27, 7, OAM_Y_FLIP - frame SPRITE_ANIM_FRAME_IDX_28, 7, OAM_X_FLIP - dorestart - -.Frameset_SlotsChansey: - frame SPRITE_ANIM_FRAME_IDX_29, 7 - frame SPRITE_ANIM_FRAME_IDX_2A, 7 - frame SPRITE_ANIM_FRAME_IDX_29, 7 - frame SPRITE_ANIM_FRAME_IDX_2B, 7 - dorestart - -.Frameset_SlotsChansey2: - frame SPRITE_ANIM_FRAME_IDX_29, 7 - frame SPRITE_ANIM_FRAME_IDX_2C, 7 - frame SPRITE_ANIM_FRAME_IDX_2D, 7 - frame SPRITE_ANIM_FRAME_IDX_2C, 7 - frame SPRITE_ANIM_FRAME_IDX_29, 7 - endanim - -.Frameset_SlotsEgg: - frame SPRITE_ANIM_FRAME_IDX_2E, 20 - endanim - -.Frameset_StillCursor: - frame SPRITE_ANIM_FRAME_IDX_2F, 32 - endanim - -.Frameset_TradePokeBall: - frame SPRITE_ANIM_FRAME_IDX_30, 32 - endanim - -.Frameset_TradePokeBall0: - frame SPRITE_ANIM_FRAME_IDX_30, 3 - frame SPRITE_ANIM_FRAME_IDX_31, 3 - frame SPRITE_ANIM_FRAME_IDX_30, 3 - frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP - dorestart - -.Frameset_TradePoof: - frame SPRITE_ANIM_FRAME_IDX_32, 4 - frame SPRITE_ANIM_FRAME_IDX_33, 4 - frame SPRITE_ANIM_FRAME_IDX_34, 4 - delanim - -.Frameset_TradeTubeBulge: - frame SPRITE_ANIM_FRAME_IDX_35, 3 - frame SPRITE_ANIM_FRAME_IDX_36, 3 - dorestart - -.Frameset_TrademonIcon: - frame SPRITE_ANIM_FRAME_IDX_37, 7 - frame SPRITE_ANIM_FRAME_IDX_38, 7 - dorestart - -.Frameset_TrademonBubble: - frame SPRITE_ANIM_FRAME_IDX_39, 32 - endanim - -.Frameset_EvolutionBallOfLight: - frame SPRITE_ANIM_FRAME_IDX_3B, 2 - frame SPRITE_ANIM_FRAME_IDX_3A, 2 - frame SPRITE_ANIM_FRAME_IDX_3B, 2 - endanim - -.Frameset_RadioTuningKnob: - frame SPRITE_ANIM_FRAME_IDX_3C, 32 - endanim - -.Frameset_MagnetTrainRed: - frame SPRITE_ANIM_FRAME_IDX_41, 8 - frame SPRITE_ANIM_FRAME_IDX_42, 8 - frame SPRITE_ANIM_FRAME_IDX_41, 8 - frame SPRITE_ANIM_FRAME_IDX_42, 8, OAM_X_FLIP - dorestart - -; XXX - frame SPRITE_ANIM_FRAME_IDX_43, 8 - frame SPRITE_ANIM_FRAME_IDX_44, 8 - dorestart - -; XXX - frame SPRITE_ANIM_FRAME_IDX_45, 8 - frame SPRITE_ANIM_FRAME_IDX_46, 8 - dorestart - -; XXX - frame SPRITE_ANIM_FRAME_IDX_47, 8 - frame SPRITE_ANIM_FRAME_IDX_48, 8 - dorestart - -; XXX - frame SPRITE_ANIM_FRAME_IDX_49, 1 - frame SPRITE_ANIM_FRAME_IDX_49, 1, OAM_X_FLIP - frame SPRITE_ANIM_FRAME_IDX_49, 1, OAM_X_FLIP, OAM_Y_FLIP - frame SPRITE_ANIM_FRAME_IDX_49, 1, OAM_Y_FLIP - dorestart - -; XXX - frame SPRITE_ANIM_FRAME_IDX_4A, 32 - endanim - -; XXX - frame SPRITE_ANIM_FRAME_IDX_4B, 32 - endanim - -; XXX - frame SPRITE_ANIM_FRAME_IDX_4C, 32 - endanim - -; XXX - frame SPRITE_ANIM_FRAME_IDX_4D, 32 - endanim - -; XXX - frame SPRITE_ANIM_FRAME_IDX_4E, 3 - dorepeat 3 - dorestart - -.Frameset_1c: - dorepeat 32 - endanim - -.Frameset_Leaf: - frame SPRITE_ANIM_FRAME_IDX_4F, 32 - endanim - -.Frameset_CutTree: - frame SPRITE_ANIM_FRAME_IDX_50, 2 - frame SPRITE_ANIM_FRAME_IDX_51, 16 - dorepeat 1 - frame SPRITE_ANIM_FRAME_IDX_52, 1 - dorepeat 1 - frame SPRITE_ANIM_FRAME_IDX_53, 1 - delanim - -.Frameset_EggCrack: - frame SPRITE_ANIM_FRAME_IDX_54, 32 - endanim - -.Frameset_EggHatch: - frame SPRITE_ANIM_FRAME_IDX_55, 32 - endanim - -.Frameset_21: - frame SPRITE_ANIM_FRAME_IDX_55, 32, OAM_X_FLIP - endanim - -.Frameset_22: - frame SPRITE_ANIM_FRAME_IDX_55, 32, OAM_Y_FLIP - endanim - -.Frameset_23: - frame SPRITE_ANIM_FRAME_IDX_55, 32, OAM_X_FLIP, OAM_Y_FLIP - endanim - -.Frameset_24: - frame SPRITE_ANIM_FRAME_IDX_56, 10 - frame SPRITE_ANIM_FRAME_IDX_57, 9 - frame SPRITE_ANIM_FRAME_IDX_58, 10 - frame SPRITE_ANIM_FRAME_IDX_59, 10 - frame SPRITE_ANIM_FRAME_IDX_58, 9 - frame SPRITE_ANIM_FRAME_IDX_5A, 10 - dorestart - -.Frameset_HeadbuttTree: - frame SPRITE_ANIM_FRAME_IDX_50, 2 - frame SPRITE_ANIM_FRAME_IDX_5B, 2 - frame SPRITE_ANIM_FRAME_IDX_50, 2 - frame SPRITE_ANIM_FRAME_IDX_5B, 2, OAM_X_FLIP - dorestart - -.Frameset_26: - frame SPRITE_ANIM_FRAME_IDX_5C, 2 - endanim - -.Frameset_27: - frame SPRITE_ANIM_FRAME_IDX_5D, 2 - endanim - -.Frameset_28: - frame SPRITE_ANIM_FRAME_IDX_5E, 2 - endanim - -.Frameset_29: - frame SPRITE_ANIM_FRAME_IDX_5F, 2 - endanim - -.Frameset_2a: - frame SPRITE_ANIM_FRAME_IDX_60, 2 - endanim - -.Frameset_2b: - frame SPRITE_ANIM_FRAME_IDX_61, 2 - endanim - -.Frameset_2c: - frame SPRITE_ANIM_FRAME_IDX_62, 2 - endanim - -.Frameset_2f: - frame SPRITE_ANIM_FRAME_IDX_32, 3 - frame SPRITE_ANIM_FRAME_IDX_33, 3 - frame SPRITE_ANIM_FRAME_IDX_34, 3 - frame SPRITE_ANIM_FRAME_IDX_30, 3 - frame SPRITE_ANIM_FRAME_IDX_31, 3 - frame SPRITE_ANIM_FRAME_IDX_30, 3 - frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP - frame SPRITE_ANIM_FRAME_IDX_30, 3 - frame SPRITE_ANIM_FRAME_IDX_31, 3 - frame SPRITE_ANIM_FRAME_IDX_30, 3 - frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP - frame SPRITE_ANIM_FRAME_IDX_30, 3 - frame SPRITE_ANIM_FRAME_IDX_31, 3 - frame SPRITE_ANIM_FRAME_IDX_30, 3 - frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP - endanim - -.Frameset_30: - frame SPRITE_ANIM_FRAME_IDX_30, 3 - frame SPRITE_ANIM_FRAME_IDX_31, 3 - frame SPRITE_ANIM_FRAME_IDX_30, 3 - frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP - frame SPRITE_ANIM_FRAME_IDX_30, 3 - frame SPRITE_ANIM_FRAME_IDX_31, 3 - frame SPRITE_ANIM_FRAME_IDX_30, 3 - frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP - frame SPRITE_ANIM_FRAME_IDX_30, 3 - frame SPRITE_ANIM_FRAME_IDX_31, 3 - frame SPRITE_ANIM_FRAME_IDX_30, 3 - frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP - frame SPRITE_ANIM_FRAME_IDX_32, 3 - frame SPRITE_ANIM_FRAME_IDX_33, 3 - frame SPRITE_ANIM_FRAME_IDX_34, 3 - delanim - -.Frameset_31: - frame SPRITE_ANIM_FRAME_IDX_67, 3 - frame SPRITE_ANIM_FRAME_IDX_68, 3 - dorestart - -.Frameset_32: - frame SPRITE_ANIM_FRAME_IDX_6C, 3 - endanim - -.Frameset_33: - frame SPRITE_ANIM_FRAME_IDX_6D, 3 - endanim - -.Frameset_34: - frame SPRITE_ANIM_FRAME_IDX_69, 2 - frame SPRITE_ANIM_FRAME_IDX_6A, 2 - frame SPRITE_ANIM_FRAME_IDX_6B, 2 - delanim - -.Frameset_IntroSuicune: - frame SPRITE_ANIM_FRAME_IDX_6E, 3 - frame SPRITE_ANIM_FRAME_IDX_6F, 3 - frame SPRITE_ANIM_FRAME_IDX_70, 3 - frame SPRITE_ANIM_FRAME_IDX_71, 3 - dorestart - -.Frameset_IntroSuicune2: - frame SPRITE_ANIM_FRAME_IDX_71, 3 - frame SPRITE_ANIM_FRAME_IDX_6E, 7 - endanim - -.Frameset_IntroPichu: - frame SPRITE_ANIM_FRAME_IDX_72, 32 - frame SPRITE_ANIM_FRAME_IDX_73, 7 - frame SPRITE_ANIM_FRAME_IDX_74, 7 - endanim - -.Frameset_IntroWooper: - frame SPRITE_ANIM_FRAME_IDX_75, 3 - endanim - -.Frameset_IntroUnown1: - frame SPRITE_ANIM_FRAME_IDX_76, 3 - frame SPRITE_ANIM_FRAME_IDX_77, 3 - frame SPRITE_ANIM_FRAME_IDX_78, 7 - delanim - -.Frameset_IntroUnown2: - frame SPRITE_ANIM_FRAME_IDX_76, 3, OAM_X_FLIP - frame SPRITE_ANIM_FRAME_IDX_77, 3, OAM_X_FLIP - frame SPRITE_ANIM_FRAME_IDX_78, 7, OAM_X_FLIP - delanim - -.Frameset_IntroUnown3: - frame SPRITE_ANIM_FRAME_IDX_76, 3, OAM_Y_FLIP - frame SPRITE_ANIM_FRAME_IDX_77, 3, OAM_Y_FLIP - frame SPRITE_ANIM_FRAME_IDX_78, 7, OAM_Y_FLIP - delanim - -.Frameset_IntroUnown4: - frame SPRITE_ANIM_FRAME_IDX_76, 3, OAM_X_FLIP, OAM_Y_FLIP - frame SPRITE_ANIM_FRAME_IDX_77, 3, OAM_X_FLIP, OAM_Y_FLIP - frame SPRITE_ANIM_FRAME_IDX_78, 7, OAM_X_FLIP, OAM_Y_FLIP - delanim - -.Frameset_IntroUnownF2: - frame SPRITE_ANIM_FRAME_IDX_79, 3 - frame SPRITE_ANIM_FRAME_IDX_7A, 3 - frame SPRITE_ANIM_FRAME_IDX_7B, 3 - frame SPRITE_ANIM_FRAME_IDX_7C, 7 - frame SPRITE_ANIM_FRAME_IDX_7D, 7 - endanim - -.Frameset_IntroSuicuneAway: - frame SPRITE_ANIM_FRAME_IDX_7E, 3 - endanim - -.Frameset_IntroUnownF: - dorepeat 0 - endanim - -.Frameset_CelebiLeft: - frame SPRITE_ANIM_FRAME_IDX_7F, 8 - frame SPRITE_ANIM_FRAME_IDX_80, 8 - endanim - -.Frameset_CelebiRight: - frame SPRITE_ANIM_FRAME_IDX_7F, 8, OAM_X_FLIP - frame SPRITE_ANIM_FRAME_IDX_80, 8, OAM_X_FLIP - endanim -; 8d94d - SpriteAnimOAMData: ; 8d94d ; entries correspond to SPRITE_ANIM_FRAME_IDX_* constants ; vtile offset, pointer @@ -1634,17 +1134,3 @@ SpriteAnimOAMData: ; 8d94d dsprite 0, 0, 0, 4, $52, $01 dsprite 0, 0, 1, 4, $53, $01 ; 8e706 - -BrokenStdGFXPointers: ; Broken 2bpp pointers - dbbw $80, $01, .deleted ; 128-tile 2bpp at 1:672a (inside Multiply) - dbbw $80, $01, .deleted - dbbw $80, $01, .deleted - dbbw $80, $01, .deleted - dbbw $10, $37, .deleted ; 16-tile 2bpp at 37:672a (within Tileset11GFX) - dbbw $10, $11, .deleted ; 16-tile 2bpp at 11:672a (empty data) - dbbw $10, $39, .deleted ; 16-tile 2bpp at 39:672a (empty data) - dbbw $10, $24, .deleted ; 16-tile 2bpp at 24:672a (inside Function926f7) - dbbw $10, $21, .deleted ; 16-tile 2bpp at 21:672a (inside Function8671c) - -.deleted -; 8e72a (23:672a) diff --git a/data/sprite_anim_seqs.asm b/data/sprite_anim_seqs.asm new file mode 100644 index 000000000..8f8d89aaf --- /dev/null +++ b/data/sprite_anim_seqs.asm @@ -0,0 +1,94 @@ +SpriteAnimSeqData: ; 8d1c4 +; entries correspond to SPRITE_ANIM_INDEX_* constants + ; frameset sequence, tile +; SPRITE_ANIM_INDEX_PARTY_MON + db SPRITE_ANIM_FRAMESET_PARTY_MON, SPRITE_ANIM_SEQ_PARTY_MON, $00 +; SPRITE_ANIM_INDEX_01 + db SPRITE_ANIM_FRAMESET_07, SPRITE_ANIM_SEQ_04, $00 +; SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR + db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR, $05 +; SPRITE_ANIM_INDEX_GAMEFREAK_LOGO + db SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO, SPRITE_ANIM_SEQ_GAMEFREAK_LOGO, $00 +; SPRITE_ANIM_INDEX_GS_INTRO_STAR + db SPRITE_ANIM_FRAMESET_GS_INTRO_STAR, SPRITE_ANIM_SEQ_GS_INTRO_STAR, $06 +; SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE + db SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE, SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE, $06 +; SPRITE_ANIM_INDEX_SLOTS_GOLEM + db SPRITE_ANIM_FRAMESET_SLOTS_GOLEM, SPRITE_ANIM_SEQ_SLOTS_GOLEM, $07 +; SPRITE_ANIM_INDEX_SLOTS_CHANSEY + db SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY, SPRITE_ANIM_SEQ_SLOTS_CHANSEY, $07 +; SPRITE_ANIM_INDEX_SLOTS_EGG + db SPRITE_ANIM_FRAMESET_SLOTS_EGG, SPRITE_ANIM_SEQ_SLOTS_EGG, $07 +; SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR + db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_MAIL_CURSOR, $05 +; SPRITE_ANIM_INDEX_RED_WALK + db SPRITE_ANIM_FRAMESET_RED_WALK, SPRITE_ANIM_SEQ_NULL, $00 +; SPRITE_ANIM_INDEX_0B + db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0D, $08 +; SPRITE_ANIM_INDEX_DUMMY_GAME + db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0E, $08 +; SPRITE_ANIM_INDEX_0D + db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0F, $08 +; SPRITE_ANIM_INDEX_TRADE_POKE_BALL + db SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL, SPRITE_ANIM_SEQ_TRADE_POKE_BALL, $00 +; SPRITE_ANIM_INDEX_TRADE_POOF + db SPRITE_ANIM_FRAMESET_TRADE_POOF, SPRITE_ANIM_SEQ_NULL, $00 +; SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE + db SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE, SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE, $00 +; SPRITE_ANIM_INDEX_TRADEMON_ICON + db SPRITE_ANIM_FRAMESET_TRADEMON_ICON, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 +; SPRITE_ANIM_INDEX_TRADEMON_BUBBLE + db SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 +; SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT + db SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00 +; SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB + db SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB, SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB, $00 +; SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED + db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED, SPRITE_ANIM_SEQ_NULL, $00 +; SPRITE_ANIM_INDEX_LEAF + db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_CUT_LEAVES, $00 +; SPRITE_ANIM_INDEX_CUT_TREE + db SPRITE_ANIM_FRAMESET_CUT_TREE, SPRITE_ANIM_SEQ_NULL, $00 +; SPRITE_ANIM_INDEX_FLY_LEAF + db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_FLY_LEAF, $00 +; SPRITE_ANIM_INDEX_EGG_CRACK + db SPRITE_ANIM_FRAMESET_EGG_CRACK, SPRITE_ANIM_SEQ_NULL, $00 +; SPRITE_ANIM_INDEX_1A + db SPRITE_ANIM_FRAMESET_24, SPRITE_ANIM_SEQ_19, $00 +; SPRITE_ANIM_INDEX_HEADBUTT + db SPRITE_ANIM_FRAMESET_HEADBUTT, SPRITE_ANIM_SEQ_NULL, $00 +; SPRITE_ANIM_INDEX_EGG_HATCH + db SPRITE_ANIM_FRAMESET_EGG_HATCH, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00 +; SPRITE_ANIM_INDEX_1D + db SPRITE_ANIM_FRAMESET_26, SPRITE_ANIM_SEQ_1A, $00 +; SPRITE_ANIM_INDEX_BLUE_WALK + db SPRITE_ANIM_FRAMESET_BLUE_WALK, SPRITE_ANIM_SEQ_NULL, $00 +; SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE + db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE, SPRITE_ANIM_SEQ_NULL, $00 +; SPRITE_ANIM_INDEX_20 + db SPRITE_ANIM_FRAMESET_2F, SPRITE_ANIM_SEQ_NULL, $00 +; SPRITE_ANIM_INDEX_21 + db SPRITE_ANIM_FRAMESET_30, SPRITE_ANIM_SEQ_NULL, $00 +; SPRITE_ANIM_INDEX_22 + db SPRITE_ANIM_FRAMESET_31, SPRITE_ANIM_SEQ_NULL, $00 +; SPRITE_ANIM_INDEX_23 + db SPRITE_ANIM_FRAMESET_32, SPRITE_ANIM_SEQ_1B, $00 +; SPRITE_ANIM_INDEX_24 + db SPRITE_ANIM_FRAMESET_33, SPRITE_ANIM_SEQ_1C, $00 +; SPRITE_ANIM_INDEX_25 + db SPRITE_ANIM_FRAMESET_34, SPRITE_ANIM_SEQ_NULL, $00 +; SPRITE_ANIM_INDEX_INTRO_SUICUNE + db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE, SPRITE_ANIM_SEQ_INTRO_SUICUNE, $00 +; SPRITE_ANIM_INDEX_INTRO_PICHU + db SPRITE_ANIM_FRAMESET_INTRO_PICHU, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00 +; SPRITE_ANIM_INDEX_INTRO_WOOPER + db SPRITE_ANIM_FRAMESET_INTRO_WOOPER, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00 +; SPRITE_ANIM_INDEX_INTRO_UNOWN + db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1, SPRITE_ANIM_SEQ_INTRO_UNOWN, $00 +; SPRITE_ANIM_INDEX_INTRO_UNOWN_F + db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F, SPRITE_ANIM_SEQ_INTRO_UNOWN_F, $00 +; SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY + db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY, SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY, $00 +; SPRITE_ANIM_INDEX_CELEBI + db SPRITE_ANIM_FRAMESET_CELEBI_LEFT, SPRITE_ANIM_SEQ_NULL, $00 ; 2c +; 8d24b diff --git a/data/sprite_mons.asm b/data/sprite_mons.asm new file mode 100644 index 000000000..d3000e2b7 --- /dev/null +++ b/data/sprite_mons.asm @@ -0,0 +1,38 @@ +SpriteMons: ; 14495 +; entries correspond to SPRITE_* constants past SPRITE_POKEMON + db UNOWN + db GEODUDE + db GROWLITHE + db WEEDLE + db SHELLDER + db ODDISH + db GENGAR + db ZUBAT + db MAGIKARP + db SQUIRTLE + db TOGEPI + db BUTTERFREE + db DIGLETT + db POLIWAG + db PIKACHU + db CLEFAIRY + db CHARMANDER + db JYNX + db STARMIE + db BULBASAUR + db JIGGLYPUFF + db GRIMER + db EKANS + db PARAS + db TENTACOOL + db TAUROS + db MACHOP + db VOLTORB + db LAPRAS + db RHYDON + db MOLTRES + db SNORLAX + db GYARADOS + db LUGIA + db HO_OH +; 144b8 diff --git a/data/time_capsule/catch_rate_items.asm b/data/time_capsule/catch_rate_items.asm new file mode 100644 index 000000000..fbab7d434 --- /dev/null +++ b/data/time_capsule/catch_rate_items.asm @@ -0,0 +1,19 @@ +; Pokémon traded from RBY do not have held items, so GSC usually interprets the +; catch rate as an item. However, if the catch rate appears in this table, the +; item associated with the table entry is used instead. + +TimeCapsule_CatchRateItems: ; 28785 + db ITEM_19, LEFTOVERS + db ITEM_2D, BITTER_BERRY + db ITEM_32, GOLD_BERRY + db ITEM_5A, BERRY + db ITEM_64, BERRY + db ITEM_78, BERRY + db ITEM_87, BERRY + db ITEM_BE, BERRY + db ITEM_C3, BERRY + db ITEM_DC, BERRY + db ITEM_FA, BERRY + db -1, BERRY + db 0 ; end +; 2879e diff --git a/data/time_capsule/mon_order.asm b/data/time_capsule/mon_order.asm new file mode 100644 index 000000000..e40ba0273 --- /dev/null +++ b/data/time_capsule/mon_order.asm @@ -0,0 +1,255 @@ +Pokered_MonIndices: ; fb91c + db RHYDON + db KANGASKHAN + db NIDORAN_M + db CLEFAIRY + db SPEAROW + db VOLTORB + db NIDOKING + db SLOWBRO + db IVYSAUR + db EXEGGUTOR + db LICKITUNG + db EXEGGCUTE + db GRIMER + db GENGAR + db NIDORAN_F + db NIDOQUEEN + db CUBONE + db RHYHORN + db LAPRAS + db ARCANINE + db MEW + db GYARADOS + db SHELLDER + db TENTACOOL + db GASTLY + db SCYTHER + db STARYU + db BLASTOISE + db PINSIR + db TANGELA + db SCIZOR ; MISSINGNO. + db SHUCKLE ; MISSINGNO. + db GROWLITHE + db ONIX + db FEAROW + db PIDGEY + db SLOWPOKE + db KADABRA + db GRAVELER + db CHANSEY + db MACHOKE + db MR__MIME + db HITMONLEE + db HITMONCHAN + db ARBOK + db PARASECT + db PSYDUCK + db DROWZEE + db GOLEM + db HERACROSS ; MISSINGNO. + db MAGMAR + db HO_OH ; MISSINGNO. + db ELECTABUZZ + db MAGNETON + db KOFFING + db SNEASEL ; MISSINGNO. + db MANKEY + db SEEL + db DIGLETT + db TAUROS + db TEDDIURSA ; MISSINGNO. + db URSARING ; MISSINGNO. + db SLUGMA ; MISSINGNO. + db FARFETCH_D + db VENONAT + db DRAGONITE + db MAGCARGO ; MISSINGNO. + db SWINUB ; MISSINGNO. + db PILOSWINE ; MISSINGNO. + db DODUO + db POLIWAG + db JYNX + db MOLTRES + db ARTICUNO + db ZAPDOS + db DITTO + db MEOWTH + db KRABBY + db CORSOLA ; MISSINGNO. + db REMORAID ; MISSINGNO. + db OCTILLERY ; MISSINGNO. + db VULPIX + db NINETALES + db PIKACHU + db RAICHU + db DELIBIRD ; MISSINGNO. + db MANTINE ; MISSINGNO. + db DRATINI + db DRAGONAIR + db KABUTO + db KABUTOPS + db HORSEA + db SEADRA + db SKARMORY ; MISSINGNO. + db HOUNDOUR ; MISSINGNO. + db SANDSHREW + db SANDSLASH + db OMANYTE + db OMASTAR + db JIGGLYPUFF + db WIGGLYTUFF + db EEVEE + db FLAREON + db JOLTEON + db VAPOREON + db MACHOP + db ZUBAT + db EKANS + db PARAS + db POLIWHIRL + db POLIWRATH + db WEEDLE + db KAKUNA + db BEEDRILL + db HOUNDOOM ; MISSINGNO. + db DODRIO + db PRIMEAPE + db DUGTRIO + db VENOMOTH + db DEWGONG + db KINGDRA ; MISSINGNO. + db PHANPY ; MISSINGNO. + db CATERPIE + db METAPOD + db BUTTERFREE + db MACHAMP + db DONPHAN ; MISSINGNO. + db GOLDUCK + db HYPNO + db GOLBAT + db MEWTWO + db SNORLAX + db MAGIKARP + db PORYGON2 ; MISSINGNO. + db STANTLER ; MISSINGNO. + db MUK + db SMEARGLE ; MISSINGNO. + db KINGLER + db CLOYSTER + db TYROGUE ; MISSINGNO. + db ELECTRODE + db CLEFABLE + db WEEZING + db PERSIAN + db MAROWAK + db HITMONTOP ; MISSINGNO. + db HAUNTER + db ABRA + db ALAKAZAM + db PIDGEOTTO + db PIDGEOT + db STARMIE + db BULBASAUR + db VENUSAUR + db TENTACRUEL + db SMOOCHUM ; MISSINGNO. + db GOLDEEN + db SEAKING + db ELEKID ; MISSINGNO. + db MAGBY ; MISSINGNO. + db MILTANK ; MISSINGNO. + db BLISSEY ; MISSINGNO. + db PONYTA + db RAPIDASH + db RATTATA + db RATICATE + db NIDORINO + db NIDORINA + db GEODUDE + db PORYGON + db AERODACTYL + db RAIKOU ; MISSINGNO. + db MAGNEMITE + db ENTEI ; MISSINGNO. + db SUICUNE ; MISSINGNO. + db CHARMANDER + db SQUIRTLE + db CHARMELEON + db WARTORTLE + db CHARIZARD + db LARVITAR ; MISSINGNO. + db PUPITAR ; MISSINGNO. KABUTOPS FOSSIL + db TYRANITAR ; MISSINGNO. AERODACTYL FOSSIL + db LUGIA ; MISSINGNO. GHOST + db ODDISH + db GLOOM + db VILEPLUME + db BELLSPROUT + db WEEPINBELL + db VICTREEBEL + + db CHIKORITA + db BAYLEEF + db MEGANIUM + db CYNDAQUIL + db QUILAVA + db TYPHLOSION + db TOTODILE + db CROCONAW + db FERALIGATR + db SENTRET + db FURRET + db HOOTHOOT + db NOCTOWL + db LEDYBA + db LEDIAN + db SPINARAK + db ARIADOS + db CROBAT + db CHINCHOU + db LANTURN + db PICHU + db CLEFFA + db IGGLYBUFF + db TOGEPI + db TOGETIC + db NATU + db XATU + db MAREEP + db FLAAFFY + db AMPHAROS + db BELLOSSOM + db MARILL + db AZUMARILL + db SUDOWOODO + db POLITOED + db HOPPIP + db SKIPLOOM + db JUMPLUFF + db AIPOM + db SUNKERN + db SUNFLORA + db YANMA + db WOOPER + db QUAGSIRE + db ESPEON + db UMBREON + db MURKROW + db SLOWKING + db MISDREAVUS + db UNOWN + db WOBBUFFET + db GIRAFARIG + db PINECO + db FORRETRESS + db DUNSPARCE + db GLIGAR + db STEELIX + db SNUBBULL + db GRANBULL + db QWILFISH + db WOBBUFFET + db WOBBUFFET +; fba18 diff --git a/data/time_capsule/special_stats.asm b/data/time_capsule/special_stats.asm new file mode 100644 index 000000000..9998692ab --- /dev/null +++ b/data/time_capsule/special_stats.asm @@ -0,0 +1,155 @@ +; The original base Special stat for each Pokémon from Red/Blue + +KantoMonSpecials: ; fb656 + db 65 ; BULBASAUR + db 80 ; IVYSAUR + db 100 ; VENUSAUR + db 50 ; CHARMANDER + db 65 ; CHARMELEON + db 85 ; CHARIZARD + db 50 ; SQUIRTLE + db 65 ; WARTORTLE + db 85 ; BLASTOISE + db 20 ; CATERPIE + db 25 ; METAPOD + db 80 ; BUTTERFREE + db 20 ; WEEDLE + db 25 ; KAKUNA + db 45 ; BEEDRILL + db 35 ; PIDGEY + db 50 ; PIDGEOTTO + db 70 ; PIDGEOT + db 25 ; RATTATA + db 50 ; RATICATE + db 31 ; SPEAROW + db 61 ; FEAROW + db 40 ; EKANS + db 65 ; ARBOK + db 50 ; PIKACHU + db 90 ; RAICHU + db 30 ; SANDSHREW + db 55 ; SANDSLASH + db 40 ; NIDORAN_F + db 55 ; NIDORINA + db 75 ; NIDOQUEEN + db 40 ; NIDORAN_M + db 55 ; NIDORINO + db 75 ; NIDOKING + db 60 ; CLEFAIRY + db 85 ; CLEFABLE + db 65 ; VULPIX + db 100 ; NINETALES + db 25 ; JIGGLYPUFF + db 50 ; WIGGLYTUFF + db 40 ; ZUBAT + db 75 ; GOLBAT + db 75 ; ODDISH + db 85 ; GLOOM + db 100 ; VILEPLUME + db 55 ; PARAS + db 80 ; PARASECT + db 40 ; VENONAT + db 90 ; VENOMOTH + db 45 ; DIGLETT + db 70 ; DUGTRIO + db 40 ; MEOWTH + db 65 ; PERSIAN + db 50 ; PSYDUCK + db 80 ; GOLDUCK + db 35 ; MANKEY + db 60 ; PRIMEAPE + db 50 ; GROWLITHE + db 80 ; ARCANINE + db 40 ; POLIWAG + db 50 ; POLIWHIRL + db 70 ; POLIWRATH + db 105 ; ABRA + db 120 ; KADABRA + db 135 ; ALAKAZAM + db 35 ; MACHOP + db 50 ; MACHOKE + db 65 ; MACHAMP + db 70 ; BELLSPROUT + db 85 ; WEEPINBELL + db 100 ; VICTREEBEL + db 100 ; TENTACOOL + db 120 ; TENTACRUEL + db 30 ; GEODUDE + db 45 ; GRAVELER + db 55 ; GOLEM + db 65 ; PONYTA + db 80 ; RAPIDASH + db 40 ; SLOWPOKE + db 80 ; SLOWBRO + db 95 ; MAGNEMITE + db 120 ; MAGNETON + db 58 ; FARFETCH_D + db 35 ; DODUO + db 60 ; DODRIO + db 70 ; SEEL + db 95 ; DEWGONG + db 40 ; GRIMER + db 65 ; MUK + db 45 ; SHELLDER + db 85 ; CLOYSTER + db 100 ; GASTLY + db 115 ; HAUNTER + db 130 ; GENGAR + db 30 ; ONIX + db 90 ; DROWZEE + db 115 ; HYPNO + db 25 ; KRABBY + db 50 ; KINGLER + db 55 ; VOLTORB + db 80 ; ELECTRODE + db 60 ; EXEGGCUTE + db 125 ; EXEGGUTOR + db 40 ; CUBONE + db 50 ; MAROWAK + db 35 ; HITMONLEE + db 35 ; HITMONCHAN + db 60 ; LICKITUNG + db 60 ; KOFFING + db 85 ; WEEZING + db 30 ; RHYHORN + db 45 ; RHYDON + db 105 ; CHANSEY + db 100 ; TANGELA + db 40 ; KANGASKHAN + db 70 ; HORSEA + db 95 ; SEADRA + db 50 ; GOLDEEN + db 80 ; SEAKING + db 70 ; STARYU + db 100 ; STARMIE + db 100 ; MR__MIME + db 55 ; SCYTHER + db 95 ; JYNX + db 85 ; ELECTABUZZ + db 85 ; MAGMAR + db 55 ; PINSIR + db 70 ; TAUROS + db 20 ; MAGIKARP + db 100 ; GYARADOS + db 95 ; LAPRAS + db 48 ; DITTO + db 65 ; EEVEE + db 110 ; VAPOREON + db 110 ; JOLTEON + db 110 ; FLAREON + db 75 ; PORYGON + db 90 ; OMANYTE + db 115 ; OMASTAR + db 45 ; KABUTO + db 70 ; KABUTOPS + db 60 ; AERODACTYL + db 65 ; SNORLAX + db 125 ; ARTICUNO + db 125 ; ZAPDOS + db 125 ; MOLTRES + db 50 ; DRATINI + db 70 ; DRAGONAIR + db 100 ; DRAGONITE + db 154 ; MEWTWO + db 100 ; MEW +; fb6ed diff --git a/data/tmhm_moves.asm b/data/tmhm_moves.asm new file mode 100644 index 000000000..c1af85ec5 --- /dev/null +++ b/data/tmhm_moves.asm @@ -0,0 +1,69 @@ +TMHMMoves: ; 1167a +; TMs + db DYNAMICPUNCH + db HEADBUTT + db CURSE + db ROLLOUT + db ROAR + db TOXIC + db ZAP_CANNON + db ROCK_SMASH + db PSYCH_UP + db HIDDEN_POWER + db SUNNY_DAY + db SWEET_SCENT + db SNORE + db BLIZZARD + db HYPER_BEAM + db ICY_WIND + db PROTECT + db RAIN_DANCE + db GIGA_DRAIN + db ENDURE + db FRUSTRATION + db SOLARBEAM + db IRON_TAIL + db DRAGONBREATH + db THUNDER + db EARTHQUAKE + db RETURN + db DIG + db PSYCHIC_M + db SHADOW_BALL + db MUD_SLAP + db DOUBLE_TEAM + db ICE_PUNCH + db SWAGGER + db SLEEP_TALK + db SLUDGE_BOMB + db SANDSTORM + db FIRE_BLAST + db SWIFT + db DEFENSE_CURL + db THUNDERPUNCH + db DREAM_EATER + db DETECT + db REST + db ATTRACT + db THIEF + db STEEL_WING + db FIRE_PUNCH + db FURY_CUTTER + db NIGHTMARE + +; HMs + db CUT + db FLY + db SURF + db STRENGTH + db FLASH + db WHIRLPOOL + db WATERFALL + +; Move tutor + db FLAMETHROWER + db THUNDERBOLT + db ICE_BEAM + + db 0 ; end +; 116b7 diff --git a/data/wild/bug_contest_mons.asm b/data/wild/bug_contest_mons.asm new file mode 100644 index 000000000..c3cdeaa8a --- /dev/null +++ b/data/wild/bug_contest_mons.asm @@ -0,0 +1,14 @@ +ContestMons: ; 97d87 + ; %, species, min, max + db 20, CATERPIE, 7, 18 + db 20, WEEDLE, 7, 18 + db 10, METAPOD, 9, 18 + db 10, KAKUNA, 9, 18 + db 5, BUTTERFREE, 12, 15 + db 5, BEEDRILL, 12, 15 + db 10, VENONAT, 10, 16 + db 10, PARAS, 10, 17 + db 5, SCYTHER, 13, 14 + db 5, PINSIR, 13, 14 + db -1, VENOMOTH, 30, 40 +; 97db3 diff --git a/data/wild/johto_grass.asm b/data/wild/johto_grass.asm index f241dd5d8..be435b048 100644 --- a/data/wild/johto_grass.asm +++ b/data/wild/johto_grass.asm @@ -1,5 +1,7 @@ ; Johto Pokémon in grass +JohtoGrassWildMons: ; 0x2a5e9 + map SPROUT_TOWER_2F db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite ; morn diff --git a/data/wild/johto_water.asm b/data/wild/johto_water.asm index a4d957ef0..d6e11c3a0 100644 --- a/data/wild/johto_water.asm +++ b/data/wild/johto_water.asm @@ -1,5 +1,7 @@ ; Johto Pokémon in water +JohtoWaterWildMons: ; 0x2b11d + map RUINS_OF_ALPH_OUTSIDE db 2 percent ; encounter rate db 15, WOOPER diff --git a/data/wild/kanto_grass.asm b/data/wild/kanto_grass.asm index e06627d19..415514748 100644 --- a/data/wild/kanto_grass.asm +++ b/data/wild/kanto_grass.asm @@ -1,5 +1,7 @@ ; Kanto Pokémon in grass +KantoGrassWildMons: ; 0x2b274 + map DIGLETTS_CAVE db 4 percent, 2 percent, 8 percent ; encounter rates: morn/day/nite ; morn diff --git a/data/wild/kanto_water.asm b/data/wild/kanto_water.asm index 558d56a26..71fab48fb 100644 --- a/data/wild/kanto_water.asm +++ b/data/wild/kanto_water.asm @@ -1,5 +1,7 @@ ; Kanto Pokémon in water +KantoWaterWildMons: ; 0x2b7f7 + map TOHJO_FALLS db 4 percent ; encounter rate db 20, GOLDEEN diff --git a/data/wild/probabilities.asm b/data/wild/probabilities.asm new file mode 100644 index 000000000..a18e9d336 --- /dev/null +++ b/data/wild/probabilities.asm @@ -0,0 +1,15 @@ +GrassMonProbTable: ; 2a1cb + db 30, $0 ; 30% chance + db 60, $2 ; 30% chance + db 80, $4 ; 20% chance + db 90, $6 ; 10% chance + db 95, $8 ; 5% chance + db 99, $a ; 4% chance + db 100, $c ; 1% chance +; 2a1d9 + +WaterMonProbTable: ; 2a1d9 + db 60, $0 ; 60% chance + db 90, $2 ; 30% chance + db 100, $4 ; 10% chance +; 2a1df diff --git a/data/wild/roammon_maps.asm b/data/wild/roammon_maps.asm new file mode 100644 index 000000000..ee213bff5 --- /dev/null +++ b/data/wild/roammon_maps.asm @@ -0,0 +1,33 @@ +; Maps that roaming monsters can be on, and possible maps they can jump to. +; Notably missing are Route 40 and Route 41, which are water routes. + +roam_map: macro +; map, # of other maps, other maps + map \1 + db \2 +rept \2 + map \3 + shift +endr + db 0 +endm + +RoamMaps: ; 2a40f + roam_map ROUTE_29, 2, ROUTE_30, ROUTE_46 + roam_map ROUTE_30, 2, ROUTE_29, ROUTE_31 + roam_map ROUTE_31, 3, ROUTE_30, ROUTE_32, ROUTE_36 + roam_map ROUTE_32, 3, ROUTE_36, ROUTE_31, ROUTE_33 + roam_map ROUTE_33, 2, ROUTE_32, ROUTE_34 + roam_map ROUTE_34, 2, ROUTE_33, ROUTE_35 + roam_map ROUTE_35, 2, ROUTE_34, ROUTE_36 + roam_map ROUTE_36, 4, ROUTE_35, ROUTE_31, ROUTE_32, ROUTE_37 + roam_map ROUTE_37, 3, ROUTE_36, ROUTE_38, ROUTE_42 + roam_map ROUTE_38, 3, ROUTE_37, ROUTE_39, ROUTE_42 + roam_map ROUTE_39, 1, ROUTE_38 + roam_map ROUTE_42, 4, ROUTE_43, ROUTE_44, ROUTE_37, ROUTE_38 + roam_map ROUTE_43, 2, ROUTE_42, ROUTE_44 + roam_map ROUTE_44, 3, ROUTE_42, ROUTE_43, ROUTE_45 + roam_map ROUTE_45, 2, ROUTE_44, ROUTE_46 + roam_map ROUTE_46, 2, ROUTE_45, ROUTE_29 + db -1 ; end +; 2a4a0 diff --git a/data/wild/swarm_grass.asm b/data/wild/swarm_grass.asm index 61d0d8532..a26417f64 100644 --- a/data/wild/swarm_grass.asm +++ b/data/wild/swarm_grass.asm @@ -1,4 +1,6 @@ -; swarms in grass +; Pokémon swarms in grass + +SwarmGrassWildMons: ; 0x2b8d0 ; Dunsparce swarm map DARK_CAVE_VIOLET_ENTRANCE diff --git a/data/wild/swarm_water.asm b/data/wild/swarm_water.asm index 67751b2bd..3f69af512 100644 --- a/data/wild/swarm_water.asm +++ b/data/wild/swarm_water.asm @@ -1,4 +1,6 @@ -; swarms in water +; Pokémon swarms in water + +SwarmWaterWildMons: ; 0x2b92f ; No swarms encountered while surfing in Crystal diff --git a/data/wild/treemon_maps.asm b/data/wild/treemon_maps.asm new file mode 100644 index 000000000..47491c2c9 --- /dev/null +++ b/data/wild/treemon_maps.asm @@ -0,0 +1,50 @@ +treemon_map: macro + map \1 + db \2 ; treemon set +endm + +TreeMonMaps: ; b825e + treemon_map ROUTE_26, 4 + treemon_map ROUTE_27, 4 + treemon_map ROUTE_28, 0 + treemon_map ROUTE_29, 3 + treemon_map ROUTE_30, 3 + treemon_map ROUTE_31, 3 + treemon_map ROUTE_32, 4 + treemon_map ROUTE_33, 2 + treemon_map ROUTE_34, 3 + treemon_map ROUTE_35, 3 + treemon_map ROUTE_36, 3 + treemon_map ROUTE_37, 3 + treemon_map ROUTE_38, 3 + treemon_map ROUTE_39, 3 + treemon_map ROUTE_40, 0 + treemon_map ROUTE_41, 0 + treemon_map ROUTE_42, 2 + treemon_map ROUTE_43, 5 + treemon_map ROUTE_44, 1 + treemon_map ROUTE_45, 1 + treemon_map ROUTE_46, 1 + treemon_map NEW_BARK_TOWN, 0 + treemon_map CHERRYGROVE_CITY, 0 + treemon_map VIOLET_CITY, 0 + treemon_map AZALEA_TOWN, 2 + treemon_map CIANWOOD_CITY, 0 + treemon_map GOLDENROD_CITY, 0 + treemon_map OLIVINE_CITY, 0 + treemon_map ECRUTEAK_CITY, 0 + treemon_map MAHOGANY_TOWN, 0 + treemon_map LAKE_OF_RAGE, 5 + treemon_map BLACKTHORN_CITY, 0 + treemon_map SILVER_CAVE_OUTSIDE, 0 + treemon_map ILEX_FOREST, 6 + db -1 +; b82c5 + +RockMonMaps: ; b82c5 + treemon_map CIANWOOD_CITY, 7 + treemon_map ROUTE_40, 7 + treemon_map DARK_CAVE_VIOLET_ENTRANCE, 7 + treemon_map SLOWPOKE_WELL_B1F, 7 + db -1 +; b82d2 diff --git a/data/wild/treemons.asm b/data/wild/treemons.asm new file mode 100644 index 000000000..0cb8fa83d --- /dev/null +++ b/data/wild/treemons.asm @@ -0,0 +1,128 @@ +TreeMons: ; b82e8 + dw TreeMons1 + dw TreeMons1 + dw TreeMons2 + dw TreeMons3 + dw TreeMons4 + dw TreeMons5 + dw TreeMons6 + dw RockMons + dw TreeMons1 + +; Two tables each (common, rare). +; Structure: +; db %, species, level + +TreeMons1: ; b82fa +; common + db 50, SPEAROW, 10 + db 15, SPEAROW, 10 + db 15, SPEAROW, 10 + db 10, AIPOM, 10 + db 5, AIPOM, 10 + db 5, AIPOM, 10 + db -1 +; rare + db 50, SPEAROW, 10 + db 15, HERACROSS, 10 + db 15, HERACROSS, 10 + db 10, AIPOM, 10 + db 5, AIPOM, 10 + db 5, AIPOM, 10 + db -1 + +TreeMons2: ; b8320 +; common + db 50, SPEAROW, 10 + db 15, EKANS, 10 + db 15, SPEAROW, 10 + db 10, AIPOM, 10 + db 5, AIPOM, 10 + db 5, AIPOM, 10 + db -1 +; rare + db 50, SPEAROW, 10 + db 15, HERACROSS, 10 + db 15, HERACROSS, 10 + db 10, AIPOM, 10 + db 5, AIPOM, 10 + db 5, AIPOM, 10 + db -1 + +TreeMons3: ; b8346 +; common + db 50, HOOTHOOT, 10 + db 15, SPINARAK, 10 + db 15, LEDYBA, 10 + db 10, EXEGGCUTE, 10 + db 5, EXEGGCUTE, 10 + db 5, EXEGGCUTE, 10 + db -1 +; rare + db 50, HOOTHOOT, 10 + db 15, PINECO, 10 + db 15, PINECO, 10 + db 10, EXEGGCUTE, 10 + db 5, EXEGGCUTE, 10 + db 5, EXEGGCUTE, 10 + db -1 + +TreeMons4: ; b836c +; common + db 50, HOOTHOOT, 10 + db 15, EKANS, 10 + db 15, HOOTHOOT, 10 + db 10, EXEGGCUTE, 10 + db 5, EXEGGCUTE, 10 + db 5, EXEGGCUTE, 10 + db -1 +; rare + db 50, HOOTHOOT, 10 + db 15, PINECO, 10 + db 15, PINECO, 10 + db 10, EXEGGCUTE, 10 + db 5, EXEGGCUTE, 10 + db 5, EXEGGCUTE, 10 + db -1 + +TreeMons5: ; b8392 +; common + db 50, HOOTHOOT, 10 + db 15, VENONAT, 10 + db 15, HOOTHOOT, 10 + db 10, EXEGGCUTE, 10 + db 5, EXEGGCUTE, 10 + db 5, EXEGGCUTE, 10 + db -1 +; rare + db 50, HOOTHOOT, 10 + db 15, PINECO, 10 + db 15, PINECO, 10 + db 10, EXEGGCUTE, 10 + db 5, EXEGGCUTE, 10 + db 5, EXEGGCUTE, 10 + db -1 + +TreeMons6: ; b83b8 +; common + db 50, HOOTHOOT, 10 + db 15, PINECO, 10 + db 15, PINECO, 10 + db 10, NOCTOWL, 10 + db 5, BUTTERFREE, 10 + db 5, BEEDRILL, 10 + db -1 +; rare + db 50, HOOTHOOT, 10 + db 15, CATERPIE, 10 + db 15, WEEDLE, 10 + db 10, HOOTHOOT, 10 + db 5, METAPOD, 10 + db 5, KAKUNA, 10 + db -1 + +RockMons: ; b83de + db 90, KRABBY, 15 + db 10, SHUCKLE, 15 + db -1 +; b83e5 |