From 4f7a07efa9e93d491c6efcc14994b19cd794d3f6 Mon Sep 17 00:00:00 2001 From: Bryan Bishop Date: Wed, 25 Jan 2012 22:33:42 -0600 Subject: rename common.asm -> main.asm hg-commit-id: adec8319c54b --- Makefile | 6 +- common.asm | 72641 ------------------------------------ extras/analyze_incbins.py | 14 +- extras/insert_texts.py | 2 +- extras/make_map_size_constants.py | 4 +- extras/replace_dimensions.py | 2 +- extras/romvisualizer.py | 6 +- main.asm | 72641 ++++++++++++++++++++++++++++++++++++ pokeblue.asm | 2 +- pokered.asm | 2 +- 10 files changed, 72660 insertions(+), 72660 deletions(-) delete mode 100644 common.asm create mode 100644 main.asm diff --git a/Makefile b/Makefile index c4bc6ce7..63787251 100644 --- a/Makefile +++ b/Makefile @@ -8,10 +8,10 @@ TEXTFILES = text/oakspeech.tx text/pokedex.tx text/mapRedsHouse1F.tx \ all: pokered.gbc -pokered.o: pokered.asm common.tx constants.asm ${TEXTFILES} +pokered.o: pokered.asm main.tx constants.asm ${TEXTFILES} rgbasm -o pokered.o pokered.asm -pokeblue.o: pokeblue.asm common.tx constants.asm ${TEXTFILES} +pokeblue.o: pokeblue.asm main.tx constants.asm ${TEXTFILES} rgbasm -o pokeblue.o pokeblue.asm redrle: extras/redrle.c @@ -30,6 +30,6 @@ pokeblue.gbc: pokeblue.o rgbfix -jsv -k 01 -l 0x33 -m 0x13 -p 0 -r 03 -t "POKEMON BLUE" $@ clean: - rm -f common.tx pokered.o pokered.gbc pokeblue.o pokeblue.gbc redrle ${TEXTFILES} + rm -f main.tx pokered.o pokered.gbc pokeblue.o pokeblue.gbc redrle ${TEXTFILES} more: pokered.gbc pokeblue.gbc diff --git a/common.asm b/common.asm deleted file mode 100644 index 97dd3d57..00000000 --- a/common.asm +++ /dev/null @@ -1,72641 +0,0 @@ -INCLUDE "constants.asm" - -; the rst vectors are unused -SECTION "rst00",HOME[0] - db $FF -SECTION "rst08",HOME[8] - db $FF -SECTION "rst10",HOME[$10] - db $FF -SECTION "rst18",HOME[$18] - db $FF -SECTION "rst20",HOME[$20] - db $FF -SECTION "rst28",HOME[$28] - db $FF -SECTION "rst30",HOME[$30] - db $FF -SECTION "rst38",HOME[$38] - db $FF - -; interrupts -SECTION "vblank",HOME[$40] - jp $2024 -SECTION "lcdc",HOME[$48] - db $FF -SECTION "timer",HOME[$50] - jp $2306 -SECTION "serial",HOME[$58] - jp $2125 -SECTION "joypad",HOME[$60] - reti - -SECTION "bank0",HOME[$61] - -DisableLCD: ; $0061 - xor a - ld [$ff0f],a - ld a,[$ffff] - ld b,a - res 0,a - ld [$ffff],a -.jr0\@ - ld a,[$ff44] - cp a,$91 - jr nz,.jr0\@ - ld a,[$ff40] - and a,$7f ; res 7,a - ld [$ff40],a - ld a,b - ld [$ffff],a - ret - -EnableLCD: ; $007b - ld a,[$ff40] - set 7,a - ld [$ff40],a - ret - -CleanLCD_OAM: ; $0082 - xor a - ld hl,$c300 - ld b,$a0 -.jr0\@ - ld [hli],a - dec b - jr nz,.jr0\@ - ret - -ResetLCD_OAM: ; $008d - ld a,$a0 - ld hl,$c300 - ld de,$0004 - ld b,$28 -.jr0\@ - ld [hl],a - add hl,de - dec b - jr nz,.jr0\@ - ret - -FarCopyData: ; 009D -; copy bc bytes of data from a:hl to de - ld [$CEE9],a ; save future bank # for later - ld a,[$FFB8] ; get current bank # - push af - ld a,[$CEE9] ; get future bank #, switch - ld [$FFB8],a - ld [$2000],a - call CopyData - pop af ; okay, done, time to switch back - ld [$FFB8],a - ld [$2000],a - ret -CopyData: ; 00B5 -; copy bc bytes of data from hl to de - ld a,[hli] - ld [de],a - inc de - dec bc - ld a,c - or b - jr nz,CopyData - ret - -SECTION "romheader",HOME[$100] -nop -jp Start - -Section "start",HOME[$150] -Start: ; 0x150 - cp $11 ; value that indicates Gameboy Color - jr z,.gbcDetected\@ - xor a - jr .storeValue\@ -.gbcDetected\@ - ld a,$00 -.storeValue\@ - ld [$cf1a],a ; same value ($00) either way - jp InitGame - -; this function directly reads the joypad I/O register -; it reads many times in order to give the joypad a chance to stabilize -; it saves a result in [$fff8] in the following format -; (set bit indicates pressed button) -; bit 0 - A button -; bit 1 - B button -; bit 2 - Select button -; bit 3 - Start button -; bit 4 - Right -; bit 5 - Left -; bit 6 - Up -; bit 7 - Down -ReadJoypadRegister: ; 15F - ld a,%00100000 ; select direction keys - ld c,$00 - ld [rJOYP],a - ld a,[rJOYP] - ld a,[rJOYP] - ld a,[rJOYP] - ld a,[rJOYP] - ld a,[rJOYP] - ld a,[rJOYP] - cpl ; complement the result so that a set bit indicates a pressed key - and a,%00001111 - swap a ; put direction keys in upper nibble - ld b,a - ld a,%00010000 ; select button keys - ld [rJOYP],a - ld a,[rJOYP] - ld a,[rJOYP] - ld a,[rJOYP] - ld a,[rJOYP] - ld a,[rJOYP] - ld a,[rJOYP] - ld a,[rJOYP] - ld a,[rJOYP] - ld a,[rJOYP] - ld a,[rJOYP] - cpl ; complement the result so that a set bit indicates a pressed key - and a,%00001111 - or b ; put button keys in lower nibble - ld [$fff8],a ; save joypad state - ld a,%00110000 ; unselect all keys - ld [rJOYP],a - ret - -; function to update the joypad state variables -; output: -; [$ffb2] = keys released since last time -; [$ffb3] = keys pressed since last time -; [$ffb4] = currently pressed keys -GetJoypadState: ; 19A - ld a, [$ffb8] - push af - ld a,$3 - ld [$ffb8],a - ld [$2000],a - call $4000 - pop af - ld [$ff00+$b8],a - ld [$2000],a - ret - -; see also MapHeaderBanks -MapHeaderPointers: ; $01AE - dw PalletTown_h - dw ViridianCity_h - dw PewterCity_h - dw CeruleanCity_h - dw LavenderTown_h - dw VermilionCity_h - dw CeladonCity_h - dw FuchsiaCity_h - dw CinnabarIsland_h - dw IndigoPlateau_h - dw SaffronCity_h - dw SaffronCity_h - dw Route1_h - dw Route2_h - dw Route3_h - dw Route4_h - dw Route5_h - dw Route6_h - dw Route7_h - dw Route8_h - dw Route9_h - dw Route10_h - dw Route11_h - dw Route12_h - dw Route13_h - dw Route14_h - dw Route15_h - dw Route16_h - dw Route17_h - dw Route18_h - dw Route19_h - dw Route20_h - dw Route21_h - dw Route22_h - dw Route23_h - dw Route24_h - dw Route25_h - dw RedsHouse1F_h - dw RedsHouse2F_h - dw BluesHouse_h - dw OaksLab_h ;id=40 - dw ViridianPokecenter_h - dw ViridianMart_h - dw School_h - dw ViridianHouse_h - dw ViridianGym_h - dw DiglettsCaveRoute2_h - dw ViridianForestexit_h - dw Route2House_h - dw Route2Gate_h - dw ViridianForestEntrance_h ;id=50 - dw ViridianForest_h - dw MuseumF1_h - dw MuseumF2_h - dw PewterGym_h - dw PewterHouse1_h - dw PewterMart_h - dw PewterHouse2_h - dw PewterPokecenter_h - dw MtMoon1_h - dw MtMoon2_h ;id=60 - dw MtMoon3_h - dw CeruleanHouseTrashed_h - dw CeruleanHouse2_h - dw CeruleanPokecenter_h - dw CeruleanGym_h - dw BikeShop_h - dw CeruleanMart_h - dw MtMoonPokecenter_h - dw CeruleanHouseTrashed_h ; copy - dw Route5Gate_h - dw UndergroundTunnelEntranceRoute5_h - dw DayCareM_h - dw Route6Gate_h - dw UndergroundTunnelEntranceRoute6_h - dw UndergroundTunnelEntranceRoute6_h ; unused - dw Route7Gate_h - dw UndergroundPathEntranceRoute7_h - dw $575d - dw Route8Gate_h - dw UndergroundPathEntranceRoute8_h ;id=80 - dw RockTunnelPokecenter_h - dw RockTunnel1_h - dw PowerPlant_h - dw Route11Gate_h - dw DiglettsCaveEntranceRoute11_h - dw Route11GateUpstairs_h - dw Route12Gate_h - dw BillsHouse_h - dw VermilionPokecenter_h - dw FanClub_h ;id=90 - dw VermilionMart_h - dw VermilionGym_h - dw VermilionHouse1_h - dw VermilionDock_h - dw SSAnne1_h - dw SSAnne2_h - dw SSAnne3_h - dw SSAnne4_h - dw SSAnne5_h - dw SSAnne6_h ;id=100 - dw SSAnne7_h - dw SSAnne8_h - dw SSAnne9_h - dw SSAnne10_h - dw Lance_h ; unused - dw Lance_h ; unused - dw Lance_h ; unused - dw VictoryRoad1_h - dw Lance_h ; unused - dw Lance_h ; unused ;id=110 - dw Lance_h ; unused - dw Lance_h ; unused - dw Lance_h - dw Lance_h ; unused - dw Lance_h ; unused - dw Lance_h ; unused - dw Lance_h ; unused - dw HallofFameRoom_h - dw UndergroundPathNS_h - dw Gary_h ;id=120 - dw UndergroundPathWE_h - dw CeladonMart1_h - dw CeladonMart2_h - dw CeladonMart3_h - dw CeladonMart4_h - dw CeladonMartRoof_h - dw CeladonMartElevator_h - dw CeladonMansion1_h - dw CeladonMansion2_h - dw CeladonMansion3_h ;id=130 - dw CeladonMansion4_h - dw CeladonMansion5_h - dw CeladonPokecenter_h - dw CeladonGym_h - dw CeladonGameCorner_h - dw CeladonMart5_h - dw CeladonPrizeRoom_h - dw CeladonDiner_h - dw CeladonHouse_h - dw CeladonHotel_h ;id=140 - dw LavenderPokecenter_h - dw PokemonTower1_h - dw PokemonTower2_h - dw PokemonTower3_h - dw PokemonTower4_h - dw PokemonTower5_h - dw PokemonTower6_h - dw PokemonTower7_h - dw LavenderHouse1_h - dw LavenderMart_h ;id=150 - dw LavenderHouse2_h - dw FuchsiaMart_h - dw FuchsiaHouse1_h - dw FuchsiaPokecenter_h - dw FuchsiaHouse2_h - dw SafariZoneEntrance_h - dw FuchsiaGym_h - dw FuchsiaMeetingRoom_h - dw SeafoamIslands2_h - dw SeafoamIslands3_h ;id=160 - dw SeafoamIslands4_h - dw SeafoamIslands5_h - dw VermilionHouse2_h - dw FuchsiaHouse3_h - dw Mansion1_h - dw CinnabarGym_h - dw Lab1_h - dw Lab2_h - dw Lab3_h - dw Lab4_h ;id=170 - dw CinnabarPokecenter_h - dw CinnabarMart_h - dw CinnabarMart_h ; unused - dw IndigoPlateauLobby_h - dw CopycatsHouseF1_h - dw CopycatsHouseF2_h - dw FightingDojo_h - dw SaffronGym_h - dw SaffronHouse1_h - dw SaffronMart_h ;id=180 - dw SilphCo1_h - dw SaffronPokecenter_h - dw SaffronHouse2_h - dw Route15Gate_h - dw $563e - dw Route16GateMap_h - dw Route16GateUpstairs_h - dw Route16House_h - dw Route12House_h - dw Route18Gate_h ;id=190 - dw Route18GateHeader_h - dw SeafoamIslands1_h - dw Route22Gate_h - dw VictoryRoad2_h - dw Route12GateUpstairs_h - dw VermilionHouse3_h - dw DiglettsCave_h - dw VictoryRoad3_h - dw RocketHideout1_h - dw RocketHideout2_h ;200 - dw RocketHideout3_h - dw RocketHideout4_h - dw RocketHideoutElevator_h - dw RocketHideoutElevator_h ; unused - dw RocketHideoutElevator_h ; unused - dw RocketHideoutElevator_h ; unused - dw SilphCo2_h - dw SilphCo3_h - dw SilphCo4_h - dw SilphCo5_h ;210 - dw SilphCo6_h - dw SilphCo7_h - dw SilphCo8_h - dw Mansion2_h - dw Mansion3_h - dw Mansion4_h - dw SafariZoneEast_h - dw SafariZoneNorth_h - dw SafariZoneWest_h - dw SafariZoneCenter_h ;220 - dw SafariZoneRestHouse1_h - dw SafariZoneSecretHouse_h - dw SafariZoneRestHouse2_h - dw SafariZoneRestHouse3_h - dw SafariZoneRestHouse4_h - dw UnknownDungeon2_h - dw UnknownDungeon3_h - dw UnknownDungeon1_h - dw NameRater_h - dw CeruleanHouse3_h - dw Route16GateMap_h ; unused - dw RockTunnel2_h - dw SilphCo9_h - dw SilphCo10_h - dw SilphCo11_h - dw SilphCoElevator_h - dw SilphCo2_h ; unused - dw SilphCo2_h ; unused - dw BattleCenterM_h - dw TradeCenterM_h - dw SilphCo2_h ; unused - dw SilphCo2_h ; unused - dw SilphCo2_h ; unused - dw SilphCo2_h ; unused - dw Lorelei_h - dw Bruno_h - dw Agatha_h ;247 - -; this function calls a function that takes necessary actions -; at the beginning of each overworld loop iteration as the player jumps -; down a ledge -; it also ends the jump when it's completed -HandleMidJump: ; 39E - ld b,$1c - ld hl,$487e - jp Bankswitch - -; this is jumped to immediately after loading a save / starting a new game / loading a new map -EnterMap: ; 3A6 - ld a,$ff - ld [$cd6b],a - call LoadMapData ; load map data - ld b,$03 - ld hl,$4335 - call Bankswitch ; initialize some variables - ld hl,$d72c - bit 0,[hl] - jr z,.doNotCountSteps\@ - ld a,$03 - ld [$d13c],a ; some kind of step counter (counts up to 3 steps?) -.doNotCountSteps\@ - ld hl,$d72e - bit 5,[hl] ; did a battle happen immediately before this? - res 5,[hl] ; unset the "battle just happened" flag - call z,$12e7 - call nz,MapEntryAfterBattle - ld hl,$d732 - ld a,[hl] - and a,$18 - jr z,.didNotFlyOrTeleportIn\@ - res 3,[hl] - ld b,$1c - ld hl,$4510 - call Bankswitch ; display fly/teleport in graphical effect - call $2429 ; move sprites -.didNotFlyOrTeleportIn\@ - ld b,$03 - ld hl,$438b - call Bankswitch ; handle currents in SF islands and forced bike riding in cycling road - ld hl,$d72d - res 5,[hl] - call $2429 ; move sprites - ld hl,$d126 - set 5,[hl] - set 6,[hl] - xor a - ld [$cd6b],a - -OverworldLoop: ; 3FF - call DelayFrame -OverworldLoopLessDelay: ; 402 - call DelayFrame - call LoadGBPal - ld a,[$d736] - bit 6,a ; jumping down a ledge? - call nz, HandleMidJump - ld a,[W_WALKCOUNTER] - and a - jp nz,.moveAhead\@ ; if the player sprite has not yet completed the walking animation - call GetJoypadStateOverworld ; get joypad state (which is possibly simulated) - ld b,$07 - ld hl,$6988 - call Bankswitch - ld a,[$da46] - and a - jp nz,WarpFound2 - ld hl,$d72d - bit 3,[hl] - res 3,[hl] - jp nz,WarpFound2 - ld a,[$d732] - and a,$18 - jp nz,HandleFlyOrTeleportAway - ld a,[W_CUROPPONENT] - and a - jp nz,.newBattle\@ - ld a,[$d730] - bit 7,a ; are we simulating button presses? - jr z,.notSimulating\@ - ld a,[$ffb4] - jr .checkIfStartIsPressed\@ -.notSimulating\@ - ld a,[$ffb3] -.checkIfStartIsPressed\@ - bit 3,a ; start button - jr z,.startButtonNotPressed\@ -; if START is pressed - xor a - ld [$ff8c],a ; the $2920 ID for the start menu is 0 - jp .displayDialogue\@ -.startButtonNotPressed\@ - bit 0,a ; A button - jp z,.checkIfDownButtonIsPressed\@ -; if A is pressed - ld a,[$d730] - bit 2,a - jp nz,.noDirectionButtonsPressed\@ - call $30fd - jr nz,.checkForOpponent\@ - call $3eb5 ; check for hidden items, PC's, etc. - ld a,[$ffeb] - and a - jp z,OverworldLoop - call IsSpriteOrSignInFrontOfPlayer ; check for sign or sprite in front of the player - ld a,[$ff8c] ; $2920 ID for NPC/sign text, if any - and a - jp z,OverworldLoop -.displayDialogue\@ - ld a,$35 - call Predef ; check what is in front of the player - call $2429 ; move sprites - ld a,[$cd60] - bit 2,a - jr nz,.checkForOpponent\@ - bit 0,a - jr nz,.checkForOpponent\@ - ld a,[$c45c] - ld [$cf0e],a - call $2920 ; display either the start menu or the NPC/sign text - ld a,[$cc47] - and a - jr z,.checkForOpponent\@ - dec a - ld a,$00 - ld [$cc47],a - jr z,.changeMap\@ - ld a,$52 - call Predef - ld a,[W_CURMAP] - ld [$d71a],a - call $62ce - ld a,[W_CURMAP] - call SwitchToMapRomBank ; switch to the ROM bank of the current map - ld hl,$d367 - set 7,[hl] -.changeMap\@ - jp EnterMap -.checkForOpponent\@ - ld a,[W_CUROPPONENT] - and a - jp nz,.newBattle\@ - jp OverworldLoop -.noDirectionButtonsPressed\@ - ld hl,$cd60 - res 2,[hl] - call $2429 ; move sprites - ld a,$01 - ld [$cc4b],a - ld a,[$d528] ; the direction that was pressed last time - and a - jp z,OverworldLoop -; if a direction was pressed last time - ld [$d529],a ; save the last direction - xor a - ld [$d528],a ; zero the direction - jp OverworldLoop -.checkIfDownButtonIsPressed\@ - ld a,[$ffb4] ; current joypad state - bit 7,a ; down button - jr z,.checkIfUpButtonIsPressed\@ - ld a,$01 - ld [$c103],a - ld a,$04 - jr .handleDirectionButtonPress\@ -.checkIfUpButtonIsPressed\@ - bit 6,a ; up button - jr z,.checkIfLeftButtonIsPressed\@ - ld a,$ff - ld [$c103],a - ld a,$08 - jr .handleDirectionButtonPress\@ -.checkIfLeftButtonIsPressed\@ - bit 5,a ; left button - jr z,.checkIfRightButtonIsPressed\@ - ld a,$ff - ld [$c105],a - ld a,$02 - jr .handleDirectionButtonPress\@ -.checkIfRightButtonIsPressed\@ - bit 4,a ; right button - jr z,.noDirectionButtonsPressed\@ - ld a,$01 - ld [$c105],a -.handleDirectionButtonPress\@ - ld [$d52a],a ; new direction - ld a,[$d730] - bit 7,a ; are we simulating button presses? - jr nz,.noDirectionChange\@ ; ignore direction changes if we are - ld a,[$cc4b] - and a - jr z,.noDirectionChange\@ - ld a,[$d52a] ; new direction - ld b,a - ld a,[$d529] ; old direction - cp b - jr z,.noDirectionChange\@ -; the code below is strange -; it computes whether or not the player did a 180 degree turn, but then overwrites the result -; also, it does a seemingly pointless loop afterwards - swap a ; put old direction in upper half - or b ; put new direction in lower half - cp a,$48 ; change dir from down to up - jr nz,.notDownToUp\@ - ld a,$02 - ld [$d528],a - jr .oddLoop\@ -.notDownToUp\@ - cp a,$84 ; change dir from up to down - jr nz,.notUpToDown\@ - ld a,$01 - ld [$d528],a - jr .oddLoop\@ -.notUpToDown\@ - cp a,$12 ; change dir from right to left - jr nz,.notRightToLeft\@ - ld a,$04 - ld [$d528],a - jr .oddLoop\@ -.notRightToLeft\@ - cp a,$21 ; change dir from left to right - jr nz,.oddLoop\@ - ld a,$08 - ld [$d528],a -.oddLoop\@ - ld hl,$cd60 - set 2,[hl] - ld hl,$cc4b - dec [hl] - jr nz,.oddLoop\@ - ld a,[$d52a] - ld [$d528],a - call NewBattle - jp c,.battleOccurred\@ - jp OverworldLoop -.noDirectionChange\@ - ld a,[$d52a] ; current direction - ld [$d528],a ; save direction - call $2429 ; move sprites - ld a,[$d700] - cp a,$02 ; surfing - jr z,.surfing\@ -; not surfing - call CollisionCheckOnLand - jr nc,.noCollision\@ - push hl - ld hl,$d736 - bit 2,[hl] - pop hl - jp z,OverworldLoop - push hl - call ExtraWarpCheck ; sets carry if there is a potential to warp - pop hl - jp c,CheckWarpsCollision - jp OverworldLoop -.surfing\@ - call CollisionCheckOnWater - jp c,OverworldLoop -.noCollision\@ - ld a,$08 - ld [W_WALKCOUNTER],a - jr .moveAhead2\@ -.moveAhead\@ - ld a,[$d736] - bit 7,a - jr z,.noSpinning\@ - ld b,$11 - ld hl,$4fd7 - call Bankswitch ; spin while moving -.noSpinning\@ - call $2429 ; move sprites -.moveAhead2\@ - ld hl,$cd60 - res 2,[hl] - ld a,[$d700] - dec a ; riding a bike? - jr nz,.normalPlayerSpriteAdvancement\@ - ld a,[$d736] - bit 6,a ; jumping a ledge? - jr nz,.normalPlayerSpriteAdvancement\@ - call BikeSpeedup ; if riding a bike and not jumping a ledge -.normalPlayerSpriteAdvancement\@ - call AdvancePlayerSprite - ld a,[W_WALKCOUNTER] - and a - jp nz,CheckMapConnections ; it seems like this check will never succeed (the other place where CheckMapConnections is run works) -; walking animation finished - ld a,[$d730] - bit 7,a - jr nz,.doneStepCounting\@ ; if button presses are being simulated, don't count steps -; step counting - ld hl,$d13b ; step counter - dec [hl] - ld a,[$d72c] - bit 0,a - jr z,.doneStepCounting\@ - ld hl,$d13c - dec [hl] - jr nz,.doneStepCounting\@ - ld hl,$d72c - res 0,[hl] -.doneStepCounting\@ - ld a,[$d790] - bit 7,a ; in the safari zone? - jr z,.notSafariZone\@ - ld b,$07 - ld hl,$6997 - call Bankswitch - ld a,[$da46] - and a - jp nz,WarpFound2 -.notSafariZone\@ - ld a,[W_ISINBATTLE] - and a - jp nz,CheckWarpsNoCollision - ld a,$13 - call Predef ; decrement HP of poisoned pokemon - ld a,[$d12d] - and a - jp nz,HandleBlackOut ; if all pokemon fainted -.newBattle\@ - call NewBattle - ld hl,$d736 - res 2,[hl] - jp nc,CheckWarpsNoCollision ; check for warps if there was no battle -.battleOccurred\@ - ld hl,$d72d - res 6,[hl] - ld hl,$d733 - res 3,[hl] - ld hl,$d126 - set 5,[hl] - set 6,[hl] - xor a - ld [$ffb4],a ; clear joypad state - ld a,[W_CURMAP] - cp a,CINNABAR_GYM - jr nz,.notCinnabarGym\@ - ld hl,$d79b - set 7,[hl] -.notCinnabarGym\@ - ld hl,$d72e - set 5,[hl] - ld a,[W_CURMAP] - cp a,OAKS_LAB - jp z,.noFaintCheck\@ - ld hl,$4a83 - ld b,$0f - call Bankswitch ; check if all the player's pokemon fainted - ld a,d - and a - jr z,.allPokemonFainted\@ -.noFaintCheck\@ - ld c,$0a - call DelayFrames - jp EnterMap -.allPokemonFainted\@ - ld a,$ff - ld [$d057],a - call RunMapScript - jp HandleBlackOut - -; function to determine if there will be a battle and execute it (either a trainer battle or wild battle) -; sets carry if a battle occurred and unsets carry if not -NewBattle: ; 683 - ld a,[$d72d] - bit 4,a - jr nz,.noBattle\@ - call $30fd - jr nz,.noBattle\@ - ld a,[$d72e] - bit 4,a - jr nz,.noBattle\@ - ld b,$0f - ld hl,$6f12 - jp Bankswitch ; determines if a battle will occurr and runs the battle if so -.noBattle\@ - and a - ret - -; function to make bikes twice as fast as walking -BikeSpeedup: ; 6A0 - ld a,[$cc57] - and a - ret nz - ld a,[W_CURMAP] - cp a,ROUTE_17 ; Cycling Road - jr nz,.goFaster\@ - ld a,[$ffb4] ; current joypad state - and a,%01110000 ; bit mask for up, left, right buttons - ret nz -.goFaster\@ - jp AdvancePlayerSprite - -; check if the player has stepped onto a warp after having not collided -CheckWarpsNoCollision: ; 6B4 - ld a,[$d3ae] ; number of warps - and a - jp z,CheckMapConnections - ld a,[$d3ae] ; number of warps - ld b,$00 - ld c,a - ld a,[W_YCOORD] - ld d,a - ld a,[W_XCOORD] - ld e,a - ld hl,$d3af ; start of warp entries -CheckWarpsNoCollisionLoop: ; 6CC - ld a,[hli] ; check if the warp's Y position matches - cp d - jr nz,CheckWarpsNoCollisionRetry1 - ld a,[hli] ; check if the warp's X position matches - cp e - jr nz,CheckWarpsNoCollisionRetry2 -; if a match was found - push hl - push bc - ld hl,$d736 - set 2,[hl] - ld b,$03 - ld hl,$449d - call Bankswitch ; check if the player sprite is standing on a "door" tile - pop bc - pop hl - jr c,WarpFound1 ; if it is, go to 0735 - push hl - push bc - call ExtraWarpCheck ; sets carry if the warp is confirmed - pop bc - pop hl - jr nc,CheckWarpsNoCollisionRetry2 -; if the extra check passed - ld a,[$d733] - bit 2,a - jr nz,WarpFound1 - push de - push bc - call GetJoypadState - pop bc - pop de - ld a,[$ffb4] ; current joypad state - and a,%11110000 ; bit mask for directional buttons - jr z,CheckWarpsNoCollisionRetry2 ; if directional buttons aren't being pressed, do not pass through the warp - jr WarpFound1 - -; check if the player has stepped onto a warp after having collided -CheckWarpsCollision: ; 706 - ld a,[$d3ae] ; number of warps - ld c,a - ld hl,$d3af ; start of warp entries -.loop\@ - ld a,[hli] ; Y coordinate of warp - ld b,a - ld a,[W_YCOORD] - cp b - jr nz,.retry1\@ - ld a,[hli] ; X coordinate of warp - ld b,a - ld a,[W_XCOORD] - cp b - jr nz,.retry2\@ - ld a,[hli] - ld [$d42f],a ; save target warp ID - ld a,[hl] - ld [$ff8b],a ; save target map - jr WarpFound2 -.retry1\@ - inc hl -.retry2\@ - inc hl - inc hl - dec c - jr nz,.loop\@ - jp OverworldLoop - -CheckWarpsNoCollisionRetry1: ; 72F - inc hl -CheckWarpsNoCollisionRetry2: ; 730 - inc hl - inc hl - jp ContinueCheckWarpsNoCollisionLoop - -WarpFound1: ; 735 - ld a,[hli] - ld [$d42f],a ; save target warp ID - ld a,[hli] - ld [$ff8b],a ; save target map - -WarpFound2: ; 73C - ld a,[$d3ae] ; number of warps - sub c - ld [$d73b],a ; save ID of used warp - ld a,[W_CURMAP] - ld [$d73c],a - call CheckIfInOutsideMap ; check if the tileset number is 0 or the map is Route 12 - jr nz,.indoorMaps\@ -; this is for handling "outside" maps that can't have the 0xFF destination map - ld a,[W_CURMAP] - ld [$d365],a ; save current map as previous map - ld a,[W_CURMAPWIDTH] - ld [$d366],a - ld a,[$ff8b] ; destination map number - ld [W_CURMAP],a ; change current map to destination map - cp a,ROCK_TUNNEL_1 - jr nz,.notRockTunnel\@ - ld a,$06 - ld [$d35d],a - call GBFadeIn1 -.notRockTunnel\@ - call PlayMapChangeSound - jr .done\@ -; for maps that can have the 0xFF destination map, which means to return to the outside map; not all these maps are necessarily indoors, though -.indoorMaps\@ - ld a,[$ff8b] ; destination map - cp a,$ff - jr z,.goBackOutside\@ -; if not going back to the previous map - ld [W_CURMAP],a ; current map number - ld b,$1c - ld hl,$4787 - call Bankswitch ; check if the warp was a Silph Co. teleporter - ld a,[$cd5b] - dec a - jr nz,.notTeleporter\@ -; if it's a Silph Co. teleporter - ld hl,$d732 - set 3,[hl] - call DoFlyOrTeleportAwayGraphics - jr .skipMapChangeSound\@ -.notTeleporter\@ - call PlayMapChangeSound -.skipMapChangeSound\@ - ld hl,$d736 - res 0,[hl] - res 1,[hl] - jr .done\@ -.goBackOutside\@ - ld a,[$d365] ; previous map - ld [W_CURMAP],a - call PlayMapChangeSound - xor a - ld [$d35d],a -.done\@ - ld hl,$d736 - set 0,[hl] - call $12da - jp EnterMap - -ContinueCheckWarpsNoCollisionLoop: ; 7B5 - inc b ; increment warp number - dec c ; decrement number of warps - jp nz,CheckWarpsNoCollisionLoop - -; if no matching warp was found -CheckMapConnections: ; 7BA -.checkWestMap\@ - ld a,[W_XCOORD] - cp a,$ff - jr nz,.checkEastMap\@ - ld a,[$d387] - ld [W_CURMAP],a - ld a,[$d38f] ; new X coordinate upon entering west map - ld [W_XCOORD],a - ld a,[W_YCOORD] - ld c,a - ld a,[$d38e] ; Y adjustment upon entering west map - add c - ld c,a - ld [W_YCOORD],a - ld a,[$d390] ; pointer to upper left corner of map without adjustment for Y position - ld l,a - ld a,[$d391] - ld h,a - srl c - jr z,.savePointer1\@ -.pointerAdjustmentLoop1\@ - ld a,[$d38d] ; width of connected map - add a,$06 - ld e,a - ld d,$00 - ld b,$00 - add hl,de - dec c - jr nz,.pointerAdjustmentLoop1\@ -.savePointer1\@ - ld a,l - ld [$d35f],a ; pointer to upper left corner of current tile block map section - ld a,h - ld [$d360],a - jp .loadNewMap\@ -.checkEastMap\@ - ld b,a - ld a,[$d525] ; map width - cp b - jr nz,.checkNorthMap\@ - ld a,[$d392] - ld [W_CURMAP],a - ld a,[$d39a] ; new X coordinate upon entering east map - ld [W_XCOORD],a - ld a,[W_YCOORD] - ld c,a - ld a,[$d399] ; Y adjustment upon entering east map - add c - ld c,a - ld [W_YCOORD],a - ld a,[$d39b] ; pointer to upper left corner of map without adjustment for Y position - ld l,a - ld a,[$d39c] - ld h,a - srl c - jr z,.savePointer2\@ -.pointerAdjustmentLoop2\@ - ld a,[$d398] - add a,$06 - ld e,a - ld d,$00 - ld b,$00 - add hl,de - dec c - jr nz,.pointerAdjustmentLoop2\@ -.savePointer2\@ - ld a,l - ld [$d35f],a ; pointer to upper left corner of current tile block map section - ld a,h - ld [$d360],a - jp .loadNewMap\@ -.checkNorthMap\@ - ld a,[W_YCOORD] - cp a,$ff - jr nz,.checkSouthMap\@ - ld a,[$d371] - ld [W_CURMAP],a - ld a,[$d378] ; new Y coordinate upon entering north map - ld [W_YCOORD],a - ld a,[W_XCOORD] - ld c,a - ld a,[$d379] ; X adjustment upon entering north map - add c - ld c,a - ld [W_XCOORD],a - ld a,[$d37a] ; pointer to upper left corner of map without adjustment for X position - ld l,a - ld a,[$d37b] - ld h,a - ld b,$00 - srl c - add hl,bc - ld a,l - ld [$d35f],a ; pointer to upper left corner of current tile block map section - ld a,h - ld [$d360],a - jp .loadNewMap\@ -.checkSouthMap\@ - ld b,a - ld a,[$d524] - cp b - jr nz,.didNotEnterConnectedMap\@ - ld a,[$d37c] - ld [W_CURMAP],a - ld a,[$d383] ; new Y coordinate upon entering south map - ld [W_YCOORD],a - ld a,[W_XCOORD] - ld c,a - ld a,[$d384] ; X adjustment upon entering south map - add c - ld c,a - ld [W_XCOORD],a - ld a,[$d385] ; pointer to upper left corner of map without adjustment for X position - ld l,a - ld a,[$d386] - ld h,a - ld b,$00 - srl c - add hl,bc - ld a,l - ld [$d35f],a ; pointer to upper left corner of current tile block map section - ld a,h - ld [$d360],a -.loadNewMap\@ ; load the connected map that was entered - call LoadMapHeader - call $2312 ; music - ld b,$09 - call $3def ; SGB palette - ld b,$05 - ld hl,$785b ; load tile pattern data for sprites - call Bankswitch - call LoadTileBlockMap - jp OverworldLoopLessDelay -.didNotEnterConnectedMap\@ - jp OverworldLoop - -; function to play a sound when changing maps -PlayMapChangeSound: ; 8c9 - ld a,[$c448] ; upper left tile of the 4x4 square the player's sprite is standing on - cp a,$0b ; door tile in tileset 0 - jr nz,.didNotGoThroughDoor\@ - ld a,$ad - jr .playSound\@ -.didNotGoThroughDoor\@ - ld a,$b5 -.playSound\@ - call $23b1 - ld a,[$d35d] - and a - ret nz - jp GBFadeIn1 - -; function to set the Z flag if the tileset number is 0 or the map is Route 12 -; strangely, Route 12 has tileset 0, so the check is redundant -CheckIfInOutsideMap: ; 8E1 - ld a,[W_CURMAPTILESET] - and a - ret z - cp a,ROUTE_12 - ret - -; this function is an extra check that sometimes has to pass in order to warp, beyond just standing on a warp -; the "sometimes" qualification is necessary because of CheckWarpsNoCollision's behavior -; depending on the map, either "function 1" or "function 2" is used for the check -; "function 1" passes when the player is at the edge of the map and is facing towards the outside of the map -; "function 2" passes when the the tile in front of the player is among a certain set -; sets carry if the check passes, otherwise clears carry -ExtraWarpCheck: ; 8E9 - ld a,[W_CURMAP] - cp a,SS_ANNE_3 - jr z,.useFunction1\@ - cp a,ROCKET_HIDEOUT_1 - jr z,.useFunction2\@ - cp a,ROCKET_HIDEOUT_2 - jr z,.useFunction2\@ - cp a,ROCKET_HIDEOUT_4 - jr z,.useFunction2\@ - cp a,ROCK_TUNNEL_1 - jr z,.useFunction2\@ - ld a,[W_CURMAPTILESET] - and a ; outside tileset - jr z,.useFunction2\@ - cp a,$0d ; S.S. Anne tileset - jr z,.useFunction2\@ - cp a,$0e ; Vermilion Port tileset - jr z,.useFunction2\@ - cp a,$17 ; Indigo Plateau tileset - jr z,.useFunction2\@ -.useFunction1\@ - ld hl,$43ff - jr .doBankswitch\@ -.useFunction2\@ - ld hl,$444e -.doBankswitch\@ - ld b,$03 - jp Bankswitch - -MapEntryAfterBattle: ; 91F - ld b,$03 - ld hl,$435f - call Bankswitch ; function that appears to disable warp testing after collisions if the player is standing on a warp - ld a,[$d35d] - and a - jp z,GBFadeIn2 - jp LoadGBPal - -; for when all the player's pokemon faint -; other code prints the "you blacked out" message before this is called -HandleBlackOut: ; 931 - call GBFadeIn1 - ld a,$08 - call StopMusic - ld hl,$d72e - res 5,[hl] - ld a,$01 - ld [$ffb8],a - ld [$2000],a - call $40b0 - call $62ce - call $2312 - jp $5d5f - -StopMusic: ; 951 - ld [$cfc7],a - ld a,$ff - ld [$c0ee],a - call $23b1 -.waitLoop\@ - ld a,[$cfc7] - and a - jr nz,.waitLoop\@ - jp $200e - -HandleFlyOrTeleportAway: ; 965 - call $2429 ; move sprites - call $3dd7 - xor a - ld [$cf0b],a - ld [$d700],a - ld [$d057],a - ld [$d35d],a - ld hl,$d732 - set 2,[hl] - res 5,[hl] - call DoFlyOrTeleportAwayGraphics - ld a,$01 - ld [$ffb8],a - ld [$2000],a - call $62ce - jp $5d5f - -; function that calls a function to do fly away or teleport away graphics -DoFlyOrTeleportAwayGraphics: ; 98F - ld b,$1c - ld hl,$45ba - jp Bankswitch - -; load sprite graphics based on whether the player is standing, biking, or surfing -LoadPlayerSpriteGraphics: ; 997 - ld a,[$d700] - dec a - jr z,.ridingBike\@ - ld a,[$ffd7] - and a - jr nz,.determineGraphics\@ - jr .startWalking\@ -.ridingBike\@ - call IsBikeRidingAllowed - jr c,.determineGraphics\@ ; don't start walking if bike riding is allowed -.startWalking\@ - xor a - ld [$d700],a - ld [$d11a],a - jp LoadWalkingPlayerSpriteGraphics -.determineGraphics\@ - ld a,[$d700] - and a - jp z,LoadWalkingPlayerSpriteGraphics - dec a - jp z,LoadBikePlayerSpriteGraphics - dec a - jp z,LoadSurfingPlayerSpriteGraphics - jp LoadWalkingPlayerSpriteGraphics - -; function to check if bike riding is allowed on the current map -; sets carry if bike is allowed, clears carry otherwise -IsBikeRidingAllowed: ; 9c5 - ld a,[W_CURMAP] - cp a,ROUTE_23 - jr z,.allowed\@ - cp a,INDIGO_PLATEAU - jr z,.allowed\@ - ld a,[W_CURMAPTILESET] - ld b,a - ld hl,BikeRidingTilesets -.loop\@ - ld a,[hli] - cp b - jr z,.allowed\@ - inc a - jr nz,.loop\@ - and a - ret -.allowed\@ - scf - ret - -BikeRidingTilesets: ; 9E2 -db $00, $03, $0B, $0E, $11, $FF - -; load the tile pattern data of the current tileset into VRAM -LoadTilesetTilePatternData: ; 9E8 - ld a,[$d52e] - ld l,a - ld a,[$d52f] - ld h,a - ld de,$9000 - ld bc,$0600 - ld a,[$d52b] - jp $17f7 - -; this loads the current maps complete tile map (which references blocks, not individual tiles) to C6E8 -; it can also load partial tile maps of connected maps into a border of length 3 around the current map -LoadTileBlockMap: ; 9FC -; fill C6E8-CBFB with the background tile - ld hl,$c6e8 - ld a,[$d3ad] ; background tile number - ld d,a - ld bc,$0514 -.backgroundTileLoop\@ - ld a,d - ld [hli],a - dec bc - ld a,c - or b - jr nz,.backgroundTileLoop\@ -; load tile map of current map (made of tile block IDs) -; a 3-byte border at the edges of the map is kept so that there is space for map connections - ld hl,$c6e8 - ld a,[W_CURMAPWIDTH] - ld [$ff8c],a - add a,$06 ; border (east and west) - ld [$ff8b],a ; map width + border - ld b,$00 - ld c,a -; make space for north border (next 3 lines) - add hl,bc - add hl,bc - add hl,bc - ld c,$03 - add hl,bc ; this puts us past the (west) border - ld a,[$d36a] ; tile map pointer - ld e,a - ld a,[$d36b] - ld d,a ; de = tile map pointer - ld a,[W_CURMAPHEIGHT] - ld b,a -.rowLoop\@ ; copy one row each iteration - push hl - ld a,[$ff8c] ; map width (without border) - ld c,a -.rowInnerLoop\@ - ld a,[de] - inc de - ld [hli],a - dec c - jr nz,.rowInnerLoop\@ -; add the map width plus the border to the base address of the current row to get the next row's address - pop hl - ld a,[$ff8b] ; map width + border - add l - ld l,a - jr nc,.noCarry\@ - inc h -.noCarry\@ - dec b - jr nz,.rowLoop\@ -.northConnection\@ - ld a,[$d371] - cp a,$ff - jr z,.southConnection\@ - call SwitchToMapRomBank - ld a,[$d372] - ld l,a - ld a,[$d373] - ld h,a - ld a,[$d374] - ld e,a - ld a,[$d375] - ld d,a - ld a,[$d376] - ld [$ff8b],a - ld a,[$d377] - ld [$ff8c],a - call LoadNorthSouthConnectionsTileMap -.southConnection\@ - ld a,[$d37c] - cp a,$ff - jr z,.westConnection\@ - call SwitchToMapRomBank - ld a,[$d37d] - ld l,a - ld a,[$d37e] - ld h,a - ld a,[$d37f] - ld e,a - ld a,[$d380] - ld d,a - ld a,[$d381] - ld [$ff8b],a - ld a,[$d382] - ld [$ff8c],a - call LoadNorthSouthConnectionsTileMap -.westConnection\@ - ld a,[$d387] - cp a,$ff - jr z,.eastConnection\@ - call SwitchToMapRomBank - ld a,[$d388] - ld l,a - ld a,[$d389] - ld h,a - ld a,[$d38a] - ld e,a - ld a,[$d38b] - ld d,a - ld a,[$d38c] - ld b,a - ld a,[$d38d] - ld [$ff8b],a - call LoadEastWestConnectionsTileMap -.eastConnection\@ - ld a,[$d392] - cp a,$ff - jr z,.done\@ - call SwitchToMapRomBank - ld a,[$d393] - ld l,a - ld a,[$d394] - ld h,a - ld a,[$d395] - ld e,a - ld a,[$d396] - ld d,a - ld a,[$d397] - ld b,a - ld a,[$d398] - ld [$ff8b],a - call LoadEastWestConnectionsTileMap -.done\@ - ret - -LoadNorthSouthConnectionsTileMap: ; ADE - ld c,$03 -.loop\@ - push de - push hl - ld a,[$ff8b] ; width of connection - ld b,a -.innerLoop\@ - ld a,[hli] - ld [de],a - inc de - dec b - jr nz,.innerLoop\@ - pop hl - pop de - ld a,[$ff8c] ; width of connected map - add l - ld l,a - jr nc,.noCarry1\@ - inc h -.noCarry1\@ - ld a,[W_CURMAPWIDTH] - add a,$06 - add e - ld e,a - jr nc,.noCarry2\@ - inc d -.noCarry2\@ - dec c - jr nz,.loop\@ - ret - -LoadEastWestConnectionsTileMap: ; B02 - push hl - push de - ld c,$03 -.innerLoop\@ - ld a,[hli] - ld [de],a - inc de - dec c - jr nz,.innerLoop\@ - pop de - pop hl - ld a,[$ff8b] ; width of connected map - add l - ld l,a - jr nc,.noCarry1\@ - inc h -.noCarry1\@ - ld a,[W_CURMAPWIDTH] - add a,$06 - add e - ld e,a - jr nc,.noCarry2\@ - inc d -.noCarry2\@ - dec b - jr nz,LoadEastWestConnectionsTileMap - ret - -; function to check if there is a sign or sprite in front of the player -; if so, it is stored in [$FF8C] -; if not, [$FF8C] is set to 0 -IsSpriteOrSignInFrontOfPlayer: ; B23 - xor a - ld [$ff8c],a - ld a,[$d4b0] ; number of signs in the map - and a - jr z,.extendRangeOverCounter\@ -; if there are signs - ld a,$35 - call Predef ; get the coordinates in front of the player in de - ld hl,$d4b1 ; start of sign coordinates - ld a,[$d4b0] ; number of signs in the map - ld b,a - ld c,$00 -.signLoop\@ - inc c - ld a,[hli] ; sign Y - cp d - jr z,.yCoordMatched\@ - inc hl - jr .retry\@ -.yCoordMatched\@ - ld a,[hli] ; sign X - cp e - jr nz,.retry\@ -.xCoordMatched\@ -; found sign - push hl - push bc - ld hl,$d4d1 ; start of sign text ID's - ld b,$00 - dec c - add hl,bc - ld a,[hl] - ld [$ff8c],a ; store sign text ID - pop bc - pop hl - ret -.retry\@ - dec b - jr nz,.signLoop\@ -; check if the player is front of a counter in a pokemon center, pokemart, etc. and if so, extend the range at which he can talk to the NPC -.extendRangeOverCounter\@ - ld a,$35 - call Predef ; get the tile in front of the player in c - ld hl,$d532 ; list of tiles that extend talking range (counter tiles) - ld b,$03 - ld d,$20 ; talking range in pixels (long range) -.counterTilesLoop\@ - ld a,[hli] - cp c - jr z,IsSpriteInFrontOfPlayer2 ; jumps if the tile in front of the player is a counter tile - dec b - jr nz,.counterTilesLoop\@ - -; part of the above function, but sometimes its called on its own, when signs are irrelevant -; the caller must zero [$FF8C] -IsSpriteInFrontOfPlayer: ; B6B - ld d,$10 ; talking range in pixels (normal range) -IsSpriteInFrontOfPlayer2: ; B6D - ld bc,$3c40 ; Y and X position of player sprite - ld a,[$c109] ; direction the player is facing -.checkIfPlayerFacingUp\@ - cp a,$04 - jr nz,.checkIfPlayerFacingDown\@ -; facing up - ld a,b - sub d - ld b,a - ld a,$08 - jr .doneCheckingDirection\@ -.checkIfPlayerFacingDown\@ - cp a,$00 - jr nz,.checkIfPlayerFacingRight\@ -; facing down - ld a,b - add d - ld b,a - ld a,$04 - jr .doneCheckingDirection\@ -.checkIfPlayerFacingRight\@ - cp a,$0c - jr nz,.playerFacingLeft\@ -; facing right - ld a,c - add d - ld c,a - ld a,$01 - jr .doneCheckingDirection\@ -.playerFacingLeft\@ -; facing left - ld a,c - sub d - ld c,a - ld a,$02 -.doneCheckingDirection\@ - ld [$d52a],a - ld a,[$d4e1] ; number of sprites - and a - ret z -; if there are sprites - ld hl,$c110 - ld d,a - ld e,$01 -.spriteLoop\@ - push hl - ld a,[hli] ; image (0 if no sprite) - and a - jr z,.nextSprite\@ - inc l - ld a,[hli] ; sprite visibility - inc a - jr z,.nextSprite\@ - inc l - ld a,[hli] ; Y location - cp b - jr nz,.nextSprite\@ - inc l - ld a,[hl] ; X location - cp c - jr z,.foundSpriteInFrontOfPlayer\@ -.nextSprite\@ - pop hl - ld a,l - add a,$10 - ld l,a - inc e - dec d - jr nz,.spriteLoop\@ - ret -.foundSpriteInFrontOfPlayer\@ - pop hl - ld a,l - and a,$f0 - inc a - ld l,a - set 7,[hl] - ld a,e - ld [$ff8c],a ; store sprite ID - ret - -; function to check if the player will jump down a ledge and check if the tile ahead is passable (when not surfing) -; sets the carry flag if there is a collision, and unsets it if there isn't a collision -CollisionCheckOnLand: ; BD1 - ld a,[$d736] - bit 6,a ; is the player jumping? - jr nz,.noCollision\@ -; if not jumping a ledge - ld a,[$cd38] - and a - jr nz,.noCollision\@ - ld a,[$d52a] ; the direction that the player is trying to go in - ld d,a - ld a,[$c10c] ; the player sprite's collision data (bit field) (set in the sprite movement code) - and d ; check if a sprite is in the direction the player is trying to go - jr nz,.collision\@ - xor a - ld [$ff8c],a - call IsSpriteInFrontOfPlayer ; check for sprite collisions again? when does the above check fail to detect a sprite collision? - ld a,[$ff8c] - and a ; was there a sprite collision? - jr nz,.collision\@ -; if no sprite collision - ld hl,TilePairCollisionsLand - call CheckForJumpingAndTilePairCollisions - jr c,.collision\@ - call CheckTilePassable - jr nc,.noCollision\@ -.collision\@ - ld a,[$c02a] - cp a,$b4 ; check if collision sound is already playing - jr z,.setCarry\@ - ld a,$b4 - call $23b1 ; play collision sound (if it's not already playing) -.setCarry\@ - scf - ret -.noCollision\@ - and a - ret - -; function that checks if the tile in front of the player is passable -; clears carry if it is, sets carry if not -CheckTilePassable: ; C10 - ld a,$35 - call Predef ; get tile in front of player - ld a,[$cfc6] ; tile in front of player - ld c,a - ld hl,$d530 ; pointer to list of passable tiles - ld a,[hli] - ld h,[hl] - ld l,a ; hl now points to passable tiles -.loop\@ - ld a,[hli] - cp a,$ff - jr z,.tileNotPassable\@ - cp c - ret z - jr .loop\@ -.tileNotPassable\@ - scf - ret - -; check if the player is going to jump down a small ledge -; and check for collisions that only occur between certain pairs of tiles -; Input: hl - address of directional collision data -; sets carry if there is a collision and unsets carry if not -CheckForJumpingAndTilePairCollisions: ; C2A - push hl - ld a,$35 - call Predef ; get the tile in front of the player - push de - push bc - ld b,$06 - ld hl,$6672 - call Bankswitch ; check if the player is trying to jump a ledge - pop bc - pop de - pop hl - and a - ld a,[$d736] - bit 6,a ; is the player jumping? - ret nz -; if not jumping - ld a,[$c45c] ; tile the player is on - ld [$cf0e],a - ld a,[$cfc6] ; tile in front of the player - ld c,a -.tilePairCollisionLoop\@ - ld a,[W_CURMAPTILESET] ; tileset number - ld b,a - ld a,[hli] - cp a,$ff - jr z,.noMatch\@ - cp b - jr z,.tilesetMatches\@ - inc hl -.retry\@ - inc hl - jr .tilePairCollisionLoop\@ -.tilesetMatches\@ - ld a,[$cf0e] ; tile the player is on - ld b,a - ld a,[hl] - cp b - jr z,.currentTileMatchesFirstInPair\@ - inc hl - ld a,[hl] - cp b - jr z,.currentTileMatchesSecondInPair\@ - jr .retry\@ -.currentTileMatchesFirstInPair\@ - inc hl - ld a,[hl] - cp c - jr z,.foundMatch\@ - jr .tilePairCollisionLoop\@ -.currentTileMatchesSecondInPair\@ - dec hl - ld a,[hli] - cp c - inc hl - jr nz,.tilePairCollisionLoop\@ -.foundMatch\@ - scf - ret -.noMatch\@ - and a - ret - -; FORMAT: tileset number, tile 1, tile 2 -; terminated by 0xFF -; these entries indicate that the player may not cross between tile 1 and tile 2 -; it's mainly used to simulate differences in elevation - -TilePairCollisionsLand: ; C7E -db $11, $20, $05; -db $11, $41, $05; -db $03, $30, $2E; -db $11, $2A, $05; -db $11, $05, $21; -db $03, $52, $2E; -db $03, $55, $2E; -db $03, $56, $2E; -db $03, $20, $2E; -db $03, $5E, $2E; -db $03, $5F, $2E; -db $FF; - -TilePairCollisionsWater: ; CA0 -db $03, $14, $2E; -db $03, $48, $2E; -db $11, $14, $05; -db $FF; - -; this builds a tile map from the tile block map based on the current X/Y coordinates of the player's character -LoadCurrentMapView: ; CAA - ld a,[$ffb8] - push af - ld a,[$d52b] ; tile data ROM bank - ld [$ffb8],a - ld [$2000],a ; switch to ROM bank that contains tile data - ld a,[$d35f] ; address of upper left corner of current map view - ld e,a - ld a,[$d360] - ld d,a - ld hl,$c508 - ld b,$05 -.rowLoop\@ ; each loop iteration fills in one row of tile blocks - push hl - push de - ld c,$06 -.rowInnerLoop\@ ; loop to draw each tile block of the current row - push bc - push de - push hl - ld a,[de] - ld c,a ; tile block number - call DrawTileBlock - pop hl - pop de - pop bc - inc hl - inc hl - inc hl - inc hl - inc de - dec c - jr nz,.rowInnerLoop\@ -; update tile block map pointer to next row's address - pop de - ld a,[W_CURMAPWIDTH] - add a,$06 - add e - ld e,a - jr nc,.noCarry\@ - inc d -.noCarry\@ -; update tile map pointer to next row's address - pop hl - ld a,$60 - add l - ld l,a - jr nc,.noCarry2\@ - inc h -.noCarry2\@ - dec b - jr nz,.rowLoop\@ - ld hl,$c508 - ld bc,$0000 -.adjustForYCoordWithinTileBlock\@ - ld a,[W_YBLOCKCOORD] - and a - jr z,.adjustForXCoordWithinTileBlock\@ - ld bc,$0030 - add hl,bc -.adjustForXCoordWithinTileBlock\@ - ld a,[W_XBLOCKCOORD] - and a - jr z,.copyToVisibleAreaBuffer\@ - ld bc,$0002 - add hl,bc -.copyToVisibleAreaBuffer\@ - ld de,$c3a0 ; base address for the tiles that are directly transfered to VRAM during V-blank - ld b,$12 -.rowLoop2\@ - ld c,$14 -.rowInnerLoop2\@ - ld a,[hli] - ld [de],a - inc de - dec c - jr nz,.rowInnerLoop2\@ - ld a,$04 - add l - ld l,a - jr nc,.noCarry3\@ - inc h -.noCarry3\@ - dec b - jr nz,.rowLoop2\@ - pop af - ld [$ffb8],a - ld [$2000],a ; restore previous ROM bank - ret - -AdvancePlayerSprite: ; D27 - ld a,[$c103] ; delta Y - ld b,a - ld a,[$c105] ; delta X - ld c,a - ld hl,W_WALKCOUNTER ; walking animation counter - dec [hl] - jr nz,.afterUpdateMapCoords\@ -; if it's the end of the animation, update the player's map coordinates - ld a,[W_YCOORD] - add b - ld [W_YCOORD],a - ld a,[W_XCOORD] - add c - ld [W_XCOORD],a -.afterUpdateMapCoords\@ - ld a,[W_WALKCOUNTER] ; walking animation counter - cp a,$07 - jp nz,.scrollBackgroundAndSprites\@ -; if this is the first iteration of the animation - ld a,c - cp a,$01 - jr nz,.checkIfMovingWest\@ -; moving east - ld a,[$d526] - ld e,a - and a,$e0 - ld d,a - ld a,e - add a,$02 - and a,$1f - or d - ld [$d526],a - jr .adjustXCoordWithinBlock\@ -.checkIfMovingWest\@ - cp a,$ff - jr nz,.checkIfMovingSouth\@ -; moving west - ld a,[$d526] - ld e,a - and a,$e0 - ld d,a - ld a,e - sub a,$02 - and a,$1f - or d - ld [$d526],a - jr .adjustXCoordWithinBlock\@ -.checkIfMovingSouth\@ - ld a,b - cp a,$01 - jr nz,.checkIfMovingNorth\@ -; moving south - ld a,[$d526] - add a,$40 - ld [$d526],a - jr nc,.adjustXCoordWithinBlock\@ - ld a,[$d527] - inc a - and a,$03 - or a,$98 - ld [$d527],a - jr .adjustXCoordWithinBlock\@ -.checkIfMovingNorth\@ - cp a,$ff - jr nz,.adjustXCoordWithinBlock\@ -; moving north - ld a,[$d526] - sub a,$40 - ld [$d526],a - jr nc,.adjustXCoordWithinBlock\@ - ld a,[$d527] - dec a - and a,$03 - or a,$98 - ld [$d527],a -.adjustXCoordWithinBlock\@ - ld a,c - and a - jr z,.pointlessJump\@ ; mistake? -.pointlessJump\@ - ld hl,W_XBLOCKCOORD - ld a,[hl] - add c - ld [hl],a - cp a,$02 - jr nz,.checkForMoveToWestBlock\@ -; moved into the tile block to the east - xor a - ld [hl],a - ld hl,$d4e3 - inc [hl] - ld de,$d35f - call MoveTileBlockMapPointerEast - jr .updateMapView\@ -.checkForMoveToWestBlock\@ - cp a,$ff - jr nz,.adjustYCoordWithinBlock\@ -; moved into the tile block to the west - ld a,$01 - ld [hl],a - ld hl,$d4e3 - dec [hl] - ld de,$d35f - call MoveTileBlockMapPointerWest - jr .updateMapView\@ -.adjustYCoordWithinBlock\@ - ld hl,W_YBLOCKCOORD - ld a,[hl] - add b - ld [hl],a - cp a,$02 - jr nz,.checkForMoveToNorthBlock\@ -; moved into the tile block to the south - xor a - ld [hl],a - ld hl,$d4e2 - inc [hl] - ld de,$d35f - ld a,[W_CURMAPWIDTH] - call MoveTileBlockMapPointerSouth - jr .updateMapView\@ -.checkForMoveToNorthBlock\@ - cp a,$ff - jr nz,.updateMapView\@ -; moved into the tile block to the north - ld a,$01 - ld [hl],a - ld hl,$d4e2 - dec [hl] - ld de,$d35f - ld a,[W_CURMAPWIDTH] - call MoveTileBlockMapPointerNorth -.updateMapView\@ - call LoadCurrentMapView - ld a,[$c103] ; delta Y - cp a,$01 - jr nz,.checkIfMovingNorth2\@ -; if moving south - call ScheduleSouthRowRedraw - jr .scrollBackgroundAndSprites\@ -.checkIfMovingNorth2\@ - cp a,$ff - jr nz,.checkIfMovingEast2\@ -; if moving north - call ScheduleNorthRowRedraw - jr .scrollBackgroundAndSprites\@ -.checkIfMovingEast2\@ - ld a,[$c105] ; delta X - cp a,$01 - jr nz,.checkIfMovingWest2\@ -; if moving east - call ScheduleEastColumnRedraw - jr .scrollBackgroundAndSprites\@ -.checkIfMovingWest2\@ - cp a,$ff - jr nz,.scrollBackgroundAndSprites\@ -; if moving west - call ScheduleWestColumnRedraw -.scrollBackgroundAndSprites\@ - ld a,[$c103] ; delta Y - ld b,a - ld a,[$c105] ; delta X - ld c,a - sla b - sla c - ld a,[$ffaf] - add b - ld [$ffaf],a ; update background scroll Y - ld a,[$ffae] - add c - ld [$ffae],a ; update background scroll X -; shift all the sprites in the direction opposite of the player's motion -; so that the player appears to move relative to them - ld hl,$c114 - ld a,[$d4e1] ; number of sprites - and a ; are there any sprites? - jr z,.done\@ - ld e,a -.spriteShiftLoop\@ - ld a,[hl] - sub b - ld [hli],a - inc l - ld a,[hl] - sub c - ld [hl],a - ld a,$0e - add l - ld l,a - dec e - jr nz,.spriteShiftLoop\@ -.done\@ - ret - -; the following four functions are used to move the pointer to the upper left -; corner of the tile block map in the direction of motion - -MoveTileBlockMapPointerEast: ; E65 - ld a,[de] - add a,$01 - ld [de],a - ret nc - inc de - ld a,[de] - inc a - ld [de],a - ret - -MoveTileBlockMapPointerWest: ; E6F - ld a,[de] - sub a,$01 - ld [de],a - ret nc - inc de - ld a,[de] - dec a - ld [de],a - ret - -MoveTileBlockMapPointerSouth: ; E79 - add a,$06 - ld b,a - ld a,[de] - add b - ld [de],a - ret nc - inc de - ld a,[de] - inc a - ld [de],a - ret - -MoveTileBlockMapPointerNorth: ; E85 - add a,$06 - ld b,a - ld a,[de] - sub b - ld [de],a - ret nc - inc de - ld a,[de] - dec a - ld [de],a - ret - -; the following 6 functions are used to tell the V-blank handler to redraw -; the portion of the map that was newly exposed due to the player's movement - -ScheduleNorthRowRedraw: ; E91 - ld hl,$c3a0 - call ScheduleRowRedrawHelper - ld a,[$d526] - ld [$ffd1],a - ld a,[$d527] - ld [$ffd2],a - ld a,$02 - ld [$ffd0],a - ret - -ScheduleRowRedrawHelper: ; EA6 - ld de,$cbfc - ld c,$28 -.loop\@ - ld a,[hli] - ld [de],a - inc de - dec c - jr nz,.loop\@ - ret - -ScheduleSouthRowRedraw: ; EB2 - ld hl,$c4e0 - call $0ea6 - ld a,[$d526] - ld l,a - ld a,[$d527] - ld h,a - ld bc,$0200 - add hl,bc - ld a,h - and a,$03 - or a,$98 - ld [$ffd2],a - ld a,l - ld [$ffd1],a - ld a,$02 - ld [$ffd0],a - ret - -ScheduleEastColumnRedraw: ; ED3 - ld hl,$c3b2 - call ScheduleColumnRedrawHelper - ld a,[$d526] - ld c,a - and a,$e0 - ld b,a - ld a,c - add a,$12 - and a,$1f - or b - ld [$ffd1],a - ld a,[$d527] - ld [$ffd2],a - ld a,$01 - ld [$ffd0],a - ret - -ScheduleColumnRedrawHelper: ; EF2 - ld de,$cbfc - ld c,$12 -.loop\@ - ld a,[hli] - ld [de],a - inc de - ld a,[hl] - ld [de],a - inc de - ld a,$13 - add l - ld l,a - jr nc,.noCarry\@ - inc h -.noCarry\@ - dec c - jr nz,.loop\@ - ret - -ScheduleWestColumnRedraw: ; F08 - ld hl,$c3a0 - call ScheduleColumnRedrawHelper - ld a,[$d526] - ld [$ffd1],a - ld a,[$d527] - ld [$ffd2],a - ld a,$01 - ld [$ffd0],a - ret - -; function to write the tiles that make up a tile block to memory -; Input: c = tile block ID, hl = destination address -DrawTileBlock: ; F1D - push hl - ld a,[$d52c] ; pointer to tiles - ld l,a - ld a,[$d52d] - ld h,a - ld a,c - swap a - ld b,a - and a,$f0 - ld c,a - ld a,b - and a,$0f - ld b,a ; bc = tile block ID * 0x10 - add hl,bc - ld d,h - ld e,l ; de = address of the tile block's tiles - pop hl - ld c,$04 ; 4 loop iterations -.loop\@ ; each loop iteration, write 4 tile numbers - push bc - ld a,[de] - ld [hli],a - inc de - ld a,[de] - ld [hli],a - inc de - ld a,[de] - ld [hli],a - inc de - ld a,[de] - ld [hl],a - inc de - ld bc,$0015 - add hl,bc - pop bc - dec c - jr nz,.loop\@ - ret - -; function to update joypad state and simulate button presses -GetJoypadStateOverworld: ; F4D - xor a - ld [$c103],a - ld [$c105],a - call RunMapScript - call GetJoypadState - ld a,[$d733] - bit 3,a ; check if a trainer wants a challenge - jr nz,.notForcedDownwards\@ - ld a,[W_CURMAP] - cp a,ROUTE_17 ; Cycling Road - jr nz,.notForcedDownwards\@ - ld a,[$ffb4] ; current joypad state - and a,%11110011 ; bit mask for all directions and A/B - jr nz,.notForcedDownwards\@ - ld a,%10000000 ; down pressed - ld [$ffb4],a ; on the cycling road, if there isn't a trainer and the player isn't pressing buttons, simulate a down press -.notForcedDownwards\@ - ld a,[$d730] - bit 7,a - ret z -; if simulating button presses - ld a,[$ffb4] ; current joypad state - ld b,a - ld a,[$cd3b] ; bit mask for button presses that override simulated ones - and b - ret nz ; return if the simulated button presses are overridden - ld hl,$cd38 ; index of current simulated button press - dec [hl] - ld a,[hl] - cp a,$ff - jr z,.doneSimulating\@ ; if the end of the simulated button presses has been reached - ld hl,$ccd3 ; base address of simulated button presses -; add offset to base address - add l - ld l,a - jr nc,.noCarry\@ - inc h -.noCarry\@ - ld a,[hl] - ld [$ffb4],a ; store simulated button press in joypad state - and a - ret nz - ld [$ffb3],a - ld [$ffb2],a - ret -; if done simulating button presses -.doneSimulating\@ - xor a - ld [$cd3a],a - ld [$cd38],a - ld [$ccd3],a - ld [$cd6b],a - ld [$ffb4],a - ld hl,$d736 - ld a,[hl] - and a,$f8 - ld [hl],a - ld hl,$d730 - res 7,[hl] - ret - -; function to check the tile ahead to determine if the character should get on land or keep surfing -; sets carry if there is a collision and clears carry otherwise -; It seems that this function has a bug in it, but due to luck, it doesn't -; show up. After detecting a sprite collision, it jumps to the code that -; checks if the next tile is passable instead of just directly jumping to the -; "collision detected" code. However, it doesn't store the next tile in c, -; so the old value of c is used. 2429 is always called before this function, -; and 2429 always sets c to 0xF0. There is no 0xF0 background tile, so it -; is considered impassable and it is detected as a collision. -CollisionCheckOnWater: ; FB7 - ld a,[$d730] - bit 7,a - jp nz,.noCollision\@ ; return and clear carry if button presses are being simulated - ld a,[$d52a] ; the direction that the player is trying to go in - ld d,a - ld a,[$c10c] ; the player sprite's collision data (bit field) (set in the sprite movement code) - and d ; check if a sprite is in the direction the player is trying to go - jr nz,.checkIfNextTileIsPassable\@ ; bug? - ld hl,TilePairCollisionsWater - call CheckForJumpingAndTilePairCollisions - jr c,.collision\@ - ld a,$35 - call Predef ; get tile in front of player (puts it in c and [$CFC6]) - ld a,[$cfc6] ; tile in front of player - cp a,$14 ; water tile - jr z,.noCollision\@ ; keep surfing if it's a water tile - cp a,$32 ; either the left tile of the S.S. Anne boarding platform or the tile on eastern coastlines (depending on the current tileset) - jr z,.checkIfVermilionDockTileset\@ - cp a,$48 ; tile on right on coast lines in Safari Zone - jr z,.noCollision\@ ; keep surfing -; check if the [land] tile in front of the player is passable -.checkIfNextTileIsPassable\@ - ld hl,$d530 ; pointer to list of passable tiles - ld a,[hli] - ld h,[hl] - ld l,a -.loop\@ - ld a,[hli] - cp a,$ff - jr z,.collision\@ - cp c - jr z,.stopSurfing\@ ; stop surfing if the tile is passable - jr .loop\@ -.collision\@ - ld a,[$c02a] - cp a,$b4 ; check if collision sound is already playing - jr z,.setCarry\@ - ld a,$b4 - call $23b1 ; play collision sound (if it's not already playing) -.setCarry\@ - scf - jr .done\@ -.noCollision\@ - and a -.done\@ - ret -.stopSurfing\@ - xor a - ld [$d700],a - call LoadPlayerSpriteGraphics - call $2307 - jr .noCollision\@ -.checkIfVermilionDockTileset\@ - ld a,[W_CURMAPTILESET] ; tileset - cp a,$0e ; Vermilion Dock tileset - jr nz,.noCollision\@ ; keep surfing if it's not the boarding platform tile - jr .stopSurfing\@ ; if it is the boarding platform tile, stop surfing - -; function to run the current map's script -RunMapScript: ; 101B - push hl - push de - push bc - ld b,$03 - ld hl,$7225 - call Bankswitch ; check if the player is pushing a boulder - ld a,[$cd60] - bit 1,a ; is the player pushing a boulder? - jr z,.afterBoulderEffect\@ - ld b,$03 - ld hl,$72b5 - call Bankswitch ; displays dust effect when pushing a boulder -.afterBoulderEffect\@ - pop bc - pop de - pop hl - call $310e - ld a,[W_CURMAP] ; current map number - call SwitchToMapRomBank ; change to the ROM bank the map's data is in - ld hl,W_MAPSCRIPTPTR - ld a,[hli] - ld h,[hl] - ld l,a - ld de,.return\@ - push de - jp [hl] ; jump to script -.return\@ - ret - -LoadWalkingPlayerSpriteGraphics: ; 0x104d - ld de,$4180 - ld hl,$8000 - jr LoadPlayerSpriteGraphicsCommon - -LoadSurfingPlayerSpriteGraphics: ; 0x1055 - ld de,$76c0 - ld hl,$8000 - jr LoadPlayerSpriteGraphicsCommon - -LoadBikePlayerSpriteGraphics: ; 0x105d - ld de,$4000 - ld hl,$8000 - -LoadPlayerSpriteGraphicsCommon: ; 0x1063 - push de - push hl - ld bc,$050c - call $1848 - pop hl - pop de - ld a,$c0 - add e - ld e,a - jr nc,.noCarry\@ - inc d -.noCarry\@ - set 3,h - ld bc,$050c - jp $1848 - -; function to load data from the map header -LoadMapHeader: ; 107C - ld b,$03 - ld hl,$7113 - call Bankswitch - ld a,[W_CURMAPTILESET] - ld [$d119],a - ld a,[W_CURMAP] - call SwitchToMapRomBank - ld a,[W_CURMAPTILESET] - ld b,a - res 7,a - ld [W_CURMAPTILESET],a - ld [$ff8b],a - bit 7,b - ret nz - ld hl,MapHeaderPointers - ld a,[W_CURMAP] - sla a - jr nc,.noCarry1\@ - inc h -.noCarry1\@ - add l - ld l,a - jr nc,.noCarry2\@ - inc h -.noCarry2\@ - ld a,[hli] - ld h,[hl] - ld l,a ; hl = base of map header -; copy the first 10 bytes (the fixed area) of the map data to D367-D370 - ld de,$d367 - ld c,$0a -.copyFixedHeaderLoop\@ - ld a,[hli] - ld [de],a - inc de - dec c - jr nz,.copyFixedHeaderLoop\@ -; initialize all the connected maps to disabled at first, before loading the actual values - ld a,$ff - ld [$d371],a - ld [$d37c],a - ld [$d387],a - ld [$d392],a -; copy connection data (if any) to WRAM - ld a,[W_MAPCONNECTIONS] - ld b,a -.checkNorth\@ - bit 3,b - jr z,.checkSouth\@ - ld de,W_MAPCONN1PTR - call CopyMapConnectionHeader -.checkSouth\@ - bit 2,b - jr z,.checkWest\@ - ld de,W_MAPCONN2PTR - call CopyMapConnectionHeader -.checkWest\@ - bit 1,b - jr z,.checkEast\@ - ld de,W_MAPCONN3PTR - call CopyMapConnectionHeader -.checkEast\@ - bit 0,b - jr z,.getObjectDataPointer\@ - ld de,W_MAPCONN4PTR - call CopyMapConnectionHeader -.getObjectDataPointer\@ - ld a,[hli] - ld [$d3a9],a - ld a,[hli] - ld [$d3aa],a - push hl - ld a,[$d3a9] - ld l,a - ld a,[$d3aa] - ld h,a ; hl = base of object data - ld de,$d3ad ; background tile ID - ld a,[hli] - ld [de],a ; save background tile ID -.loadWarpData\@ - ld a,[hli] ; number of warps - ld [$d3ae],a ; save the number of warps - and a ; are there any warps? - jr z,.loadSignData\@ ; if not, skip this - ld c,a - ld de,$d3af ; base address of warps -.warpLoop\@ ; one warp per loop iteration - ld b,$04 -.warpInnerLoop\@ - ld a,[hli] - ld [de],a - inc de - dec b - jr nz,.warpInnerLoop\@ - dec c - jr nz,.warpLoop\@ -.loadSignData\@ - ld a,[hli] ; number of signs - ld [$d4b0],a ; save the number of signs - and a ; are there any signs? - jr z,.loadSpriteData\@ ; if not, skip this - ld c,a - ld de,$d4d1 ; base address of sign text IDs - ld a,d - ld [$ff95],a - ld a,e - ld [$ff96],a - ld de,$d4b1 ; base address of sign coordinates -.signLoop\@ - ld a,[hli] - ld [de],a - inc de - ld a,[hli] - ld [de],a - inc de - push de - ld a,[$ff95] - ld d,a - ld a,[$ff96] - ld e,a - ld a,[hli] - ld [de],a - inc de - ld a,d - ld [$ff95],a - ld a,e - ld [$ff96],a - pop de - dec c - jr nz,.signLoop\@ -.loadSpriteData\@ - ld a,[$d72e] - bit 5,a ; did a battle happen immediately before this? - jp nz,.finishUp\@ ; if so, skip this because battles don't destroy this data - ld a,[hli] - ld [$d4e1],a ; save the number of sprites - push hl -; zero C110-C1FF and C210-C2FF - ld hl,$c110 - ld de,$c210 - xor a - ld b,$f0 -.zeroSpriteDataLoop\@ - ld [hli],a - ld [de],a - inc e - dec b - jr nz,.zeroSpriteDataLoop\@ -; initialize all C100-C1FF sprite entries to disabled (other than player's) - ld hl,$c112 - ld de,$0010 - ld c,$0f -.disableSpriteEntriesLoop\@ - ld [hl],$ff - add hl,de - dec c - jr nz,.disableSpriteEntriesLoop\@ - pop hl - ld de,$c110 - ld a,[$d4e1] ; number of sprites - and a ; are there any sprites? - jp z,.finishUp\@ ; if there are no sprites, skip the rest - ld b,a - ld c,$00 -.loadSpriteLoop\@ - ld a,[hli] - ld [de],a ; store picture ID at C1X0 - inc d - ld a,$04 - add e - ld e,a - ld a,[hli] - ld [de],a ; store Y position at C2X4 - inc e - ld a,[hli] - ld [de],a ; store X position at C2X5 - inc e - ld a,[hli] - ld [de],a ; store movement byte 1 at C2X6 - ld a,[hli] - ld [$ff8d],a ; save movement byte 2 - ld a,[hli] - ld [$ff8e],a ; save text ID and flags byte - push bc - push hl - ld b,$00 - ld hl,$d4e4 ; base address of sprite entries - add hl,bc - ld a,[$ff8d] - ld [hli],a ; store movement byte 2 in byte 0 of sprite entry - ld a,[$ff8e] - ld [hl],a ; this appears pointless, since the value is overwritten immediately after - ld a,[$ff8e] - ld [$ff8d],a - and a,$3f - ld [hl],a ; store text ID in byte 1 of sprite entry - pop hl - ld a,[$ff8d] - bit 6,a - jr nz,.trainerSprite\@ - bit 7,a - jr nz,.itemBallSprite\@ - jr .regularSprite\@ -.trainerSprite\@ - ld a,[hli] - ld [$ff8d],a ; save trainer class - ld a,[hli] - ld [$ff8e],a ; save trainer number (within class) - push hl - ld hl,$d504 ; base address of extra sprite info entries - add hl,bc - ld a,[$ff8d] - ld [hli],a ; store trainer class in byte 0 of the entry - ld a,[$ff8e] - ld [hl],a ; store trainer number in byte 1 of the entry - pop hl - jr .nextSprite\@ -.itemBallSprite\@ - ld a,[hli] - ld [$ff8d],a ; save item number - push hl - ld hl,$d504 ; base address of extra sprite info - add hl,bc - ld a,[$ff8d] - ld [hli],a ; store item number in byte 0 of the entry - xor a - ld [hl],a ; zero byte 1, since it is not used - pop hl - jr .nextSprite\@ -.regularSprite\@ - push hl - ld hl,$d504 ; base address of extra sprite info - add hl,bc -; zero both bytes, since regular sprites don't use this extra space - xor a - ld [hli],a - ld [hl],a - pop hl -.nextSprite\@ - pop bc - dec d - ld a,$0a - add e - ld e,a - inc c - inc c - dec b - jp nz,.loadSpriteLoop\@ -.finishUp\@ - ld a,$19 - call Predef ; load tileset data - ld hl,$4eb8 - ld b,$03 - call Bankswitch ; load wild pokemon data - pop hl ; restore hl from before going to the warp/sign/sprite data (this value was saved for seemingly no purpose) - ld a,[W_CURMAPHEIGHT] ; map height in 4x4 tile blocks - add a ; double it - ld [$d524],a ; store map height in 2x2 tile blocks - ld a,[W_CURMAPWIDTH] ; map width in 4x4 tile blocks - add a ; double it - ld [$d525],a ; map width in 2x2 tile blocks - ld a,[W_CURMAP] - ld c,a - ld b,$00 - ld a,[$ffb8] - push af - ld a,$03 - ld [$ffb8],a - ld [$2000],a - ld hl,$404d - add hl,bc - add hl,bc - ld a,[hli] - ld [$d35b],a ; music 1 - ld a,[hl] - ld [$d35c],a ; music 2 - pop af - ld [$ffb8],a - ld [$2000],a - ret - -; function to copy map connection data from ROM to WRAM -; Input: hl = source, de = destination -CopyMapConnectionHeader: ; 1238 - ld c,$0b -.loop\@ - ld a,[hli] - ld [de],a - inc de - dec c - jr nz,.loop\@ - ret - -; function to load map data -LoadMapData: ; 1241 - ld a,[$ffb8] - push af - call DisableLCD - ld a,$98 - ld [$d527],a - xor a - ld [$d526],a - ld [$ffaf],a - ld [$ffae],a - ld [W_WALKCOUNTER],a - ld [$d119],a - ld [$d11a],a - ld [$d3a8],a - call $36a0 ; transfer tile pattern data for text windows into VRAM - call LoadMapHeader - ld b,$05 - ld hl,$785b - call Bankswitch ; load tile pattern data for sprites - call LoadTileBlockMap - call LoadTilesetTilePatternData - call LoadCurrentMapView -; copy current map view to VRAM - ld hl,$c3a0 - ld de,$9800 - ld b,$12 -.vramCopyLoop\@ - ld c,$14 -.vramCopyInnerLoop\@ - ld a,[hli] - ld [de],a - inc e - dec c - jr nz,.vramCopyInnerLoop\@ - ld a,$0c - add e - ld e,a - jr nc,.noCarry\@ - inc d -.noCarry\@ - dec b - jr nz,.vramCopyLoop\@ - ld a,$01 - ld [$cfcb],a - call EnableLCD - ld b,$09 - call $3def ; handle SGB palette - call LoadPlayerSpriteGraphics - ld a,[$d732] - and a,$18 ; did the player fly or teleport in? - jr nz,.restoreRomBank\@ - ld a,[$d733] - bit 1,a - jr nz,.restoreRomBank\@ - call $235f ; music related - call $2312 ; music related -.restoreRomBank\@ - pop af - ld [$ffb8],a - ld [$2000],a - ret - -; function to switch to the ROM bank that a map is stored in -; Input: a = map number -SwitchToMapRomBank: ; 12BC - push hl - push bc - ld c,a - ld b,$00 - ld a,$03 - call BankswitchHome ; switch to ROM bank 3 - ld hl,MapHeaderBanks - add hl,bc - ld a,[hl] - ld [$ffe8],a ; save map ROM bank - call BankswitchBack - ld a,[$ffe8] - ld [$ffb8],a - ld [$2000],a ; switch to map ROM bank - pop bc - pop hl - ret - -INCBIN "baserom.gbc",$12DA,$1627 - $12DA - -;XXX what does this do -;XXX what points to this -Unknown_1627: ; 0x1627 - ld bc,$D0B8 - add hl,bc - ld a,[hli] - ld [$D0AB],a - ld a,[hl] - ld [$D0AC],a - -Unknown_1633: ; 0x1633 -; define (by index number) the bank that a pokemon's image is in -; index = Mew, bank 1 -; index = Kabutops fossil, bank $B -; index < $1F, bank 9 -; $1F ≤ index < $4A, bank $A -; $4A ≤ index < $74, bank $B -; $74 ≤ index < $99, bank $C -; $99 ≤ index, bank $D - ld a,[$CF91] ; XXX name for this ram location - ld b,a - cp $15 - ld a,$01 - jr z,.GotBank\@ - ld a,b - cp $B6 - ld a,$0B - jr z,.GotBank\@ - ld a,b - cp $1F - ld a,$09 - jr c,.GotBank\@ - ld a,b - cp $4A - ld a,$0A - jr c,.GotBank\@ - ld a,b - cp $74 - ld a,$0B - jr c,.GotBank\@ - ld a,b - cp $99 - ld a,$0C - jr c,.GotBank\@ - ld a,$0D -.GotBank\@ - jp $24FD - -INCBIN "baserom.gbc",$1665,$172F - $1665 - -Tset0B_Coll: ; 0x172F - INCBIN "gfx/tilesets/0b.tilecoll" -Tset00_Coll: ; 0x1735 - INCBIN "gfx/tilesets/00.tilecoll" -Tset01_Coll: ; 0x1749 - INCBIN "gfx/tilesets/01.tilecoll" -Tset02_Coll: ; 0x1753 - INCBIN "gfx/tilesets/02.tilecoll" -Tset05_Coll: ; 0x1759 - INCBIN "gfx/tilesets/05.tilecoll" -Tset03_Coll: ; 0x1765 - INCBIN "gfx/tilesets/03.tilecoll" -Tset08_Coll: ; 0x1775 - INCBIN "gfx/tilesets/08.tilecoll" -Tset09_Coll: ; 0x177f - INCBIN "gfx/tilesets/09.tilecoll" -Tset0D_Coll: ; 0x178a - INCBIN "gfx/tilesets/0d.tilecoll" -Tset0E_Coll: ; 0x1795 - INCBIN "gfx/tilesets/0e.tilecoll" -Tset0F_Coll: ; 0x179a - INCBIN "gfx/tilesets/0f.tilecoll" -Tset10_Coll: ; 0x17a2 - INCBIN "gfx/tilesets/10.tilecoll" -Tset11_Coll: ; 0x17ac - INCBIN "gfx/tilesets/11.tilecoll" -Tset12_Coll: ; 0x17b8 - INCBIN "gfx/tilesets/12.tilecoll" -Tset13_Coll: ; 0x17c0 - INCBIN "gfx/tilesets/13.tilecoll" -Tset14_Coll: ; 0x17ca - INCBIN "gfx/tilesets/14.tilecoll" -Tset15_Coll: ; 0x17d1 - INCBIN "gfx/tilesets/15.tilecoll" -Tset16_Coll: ; 0x17dd - INCBIN "gfx/tilesets/16.tilecoll" -Tset17_Coll: ; 0x17f0 - INCBIN "gfx/tilesets/17.tilecoll" -;Tile Collision ends 0x17f7 - -INCBIN "baserom.gbc",$17F7,$190F-$17F7 - -ClearScreen: ; 190F -; clears all tiles in the tilemap, -; then wait three frames - ld bc,$0168 ; tilemap size - inc b - ld hl,$C3A0 ; TILEMAP_START - ld a,$7F ; $7F is blank tile -.loop\@ - ld [hli],a - dec c - jr nz,.loop\@ - dec b - jr nz,.loop\@ - jp Delay3 - -TextBoxBorder: ; 1922 -; draw a text box -; upper-left corner at coordinates hl -; height b -; width c - - ; first row - push hl - ld a,"┌" - ld [hli],a - inc a ; horizontal border ─ - call NPlaceChar - inc a ; upper-right border ┐ - ld [hl],a - - ; middle rows - pop hl - ld de,20 - add hl,de ; skip the top row - -.PlaceRow\@ - push hl - ld a,"│" - ld [hli],a - ld a," " - call NPlaceChar - ld [hl],"│" - - pop hl - ld de,20 - add hl,de ; move to next row - dec b - jr nz,.PlaceRow\@ - - ; bottom row - ld a,"└" - ld [hli],a - ld a,"─" - call NPlaceChar - ld [hl],"┘" - ret -; -NPlaceChar: ; 0x194f -; place a row of width c of identical characters - ld d,c -.loop\@ - ld [hli],a - dec d - jr nz,.loop\@ - ret - -PlaceString: ; 1955 - push hl -PlaceNextChar: ; 1956 - ld a,[de] - - cp "@" - jr nz,.PlaceText\@ - ld b,h - ld c,l - pop hl - ret - -.PlaceText\@ - cp $4E - jr nz,.next\@ - ld bc,$0028 - ld a,[$FFF6] - bit 2,a - jr z,.next2\@ - ld bc,$14 -.next2\@ - pop hl - add hl,bc - push hl - jp Next19E8 - -.next\@ - cp $4F - jr nz,.next3\@ - pop hl - ld hl,$C4E1 - push hl - jp Next19E8 - -.next3\@ ; Check against a dictionary - and a - jp z,Char00 - cp $4C - jp z,$1B0A - cp $4B - jp z,Char4B - cp $51 - jp z,Char51 - cp $49 - jp z,Char49 - cp $52 - jp z,Char52 - cp $53 - jp z,Char53 - cp $54 - jp z,Char54 - cp $5B - jp z,Char5B - cp $5E - jp z,Char5E - cp $5C - jp z,Char5C - cp $5D - jp z,Char5D - cp $55 - jp z,$1A7C - cp $56 - jp z,Char56 - cp $57 - jp z,$1AAD - cp $58 - jp z,Char58 - cp $4A - jp z,Char4A - cp $5F - jp z,Char5F - cp $59 - jp z,Char59 - cp $5A - jp z,Char5A - ld [hli],a - call $38D3 -Next19E8: ; 0x19e8 - inc de - jp PlaceNextChar - -Char00: ; 0x19ec - ld b,h - ld c,l - pop hl - ld de,Char00Text - dec de - ret - -Char00Text: ; 0x19f4 “%d ERROR.” - TX_FAR _Char00Text - db "@" - -Char52: ; 0x19f9 player’s name - push de - ld de,W_PLAYERNAME - jr FinishDTE - -Char53: ; rival’s name - push de - ld de,W_RIVALNAME - jr FinishDTE - -Char5D: ; TRAINER - push de - ld de,Char5DText - jr FinishDTE - -Char5C: ; TM - push de - ld de,Char5CText - jr FinishDTE - -Char5B: ; PC - push de - ld de,Char5BText - jr FinishDTE - -Char5E: ; ROCKET - push de - ld de,Char5EText - jr FinishDTE - -Char54: ; POKé - push de - ld de,Char54Text - jr FinishDTE - -Char56: ; …… - push de - ld de,Char56Text - jr FinishDTE - -Char4A: ; PKMN - push de - ld de,Char4AText - jr FinishDTE - -Char59: -; depending on whose turn it is, print -; enemy active monster’s name, prefixed with “Enemy ” -; or -; player active monster’s name -; (like Char5A but flipped) - ld a,[H_WHOSETURN] - xor 1 - jr MonsterNameCharsCommon - -Char5A: -; depending on whose turn it is, print -; player active monster’s name -; or -; enemy active monster’s name, prefixed with “Enemy ” - ld a,[H_WHOSETURN] -MonsterNameCharsCommon: - push de - and a - jr nz,.Enemy\@ - ld de,$D009 ; player active monster name - jr FinishDTE - -.Enemy\@ ; 1A40 - ; print “Enemy ” - ld de,Char5AText - call PlaceString - - ld h,b - ld l,c - ld de,$CFDA ; enemy active monster name - -FinishDTE: - call PlaceString - ld h,b - ld l,c - pop de - inc de - jp PlaceNextChar - -Char5CText: ; 0x1a55 - db "TM@" -Char5DText: ; 0x1a58 - db "TRAINER@" -Char5BText: ; 0x1a60 - db "PC@" -Char5EText: ; 0x1a63 - db "ROCKET@" -Char54Text: ; 0x1a6a - db "POKé@" -Char56Text: ; 0x1a70 - db "……@" -Char5AText: ; 0x1a72 - db "Enemy @" -Char4AText: ; 0x1a79 - db $E1,$E2,"@" ; PKMN - -Char55: ; 0x1a7c - push de - ld b,h - ld c,l - ld hl,Char55Text - call $1B40 - ld h,b - ld l,c - pop de - inc de - jp PlaceNextChar - -Char55Text: ; 0x1a8c -; equivalent to Char4B - TX_FAR _Char55Text - db "@" - -Char5F: ; 0x1a91 -; ends a Pokédex entry - ld [hl],"." - pop hl - ret - -Char58: ; 0x1a95 - ld a,[$D12B] - cp 4 - jp z,Next1AA2 - ld a,$EE - ld [$C4F2],a -Next1AA2: ; 0x1aa2 - call ProtectedDelay3 - call $3898 - ld a,$7F - ld [$C4F2],a - pop hl - ld de,Char58Text - dec de - ret - -Char58Text: ; 0x1ab3 - db "@" - -Char51: ; 0x1ab4 - push de - ld a,$EE - ld [$C4F2],a - call ProtectedDelay3 - call $3898 - ld hl,$C4A5 - ld bc,$0412 - call $18C4 - ld c,$14 - call DelayFrames - pop de - ld hl,$C4B9 - jp Next19E8 - -Char49: ; 0x1ad5 - push de - ld a,$EE - ld [$C4F2],a - call ProtectedDelay3 - call $3898 - ld hl,$C469 - ld bc,$0712 - call $18C4 - ld c,$14 - call DelayFrames - pop de - pop hl - ld hl,$C47D - push hl - jp Next19E8 - -Char4B: ; 0x1af8 - ld a,$EE - ld [$C4F2],a - call ProtectedDelay3 - push de - call $3898 - pop de - ld a,$7F - ld [$C4F2],a - push de - call Next1B18 - call Next1B18 - ld hl,$C4E1 - pop de - jp Next19E8 - -Next1B18: ; 0x1b18 - ld hl,$C4B8 - ld de,$C4A4 - ld b,$3C -.next\@ - ld a,[hli] - ld [de],a - inc de - dec b - jr nz,.next\@ - ld hl,$C4E1 - ld a,$7F - ld b,$12 -.next2\@ - ld [hli],a - dec b - jr nz,.next2\@ - - ; wait five frames - ld b,5 -.WaitFrame\@ - call DelayFrame - dec b - jr nz,.WaitFrame\@ - - ret - -ProtectedDelay3: ; 0x1b3a - push bc - call Delay3 - pop bc - ret - -TextCommandProcessor: ; 1B40 - ld a,[$d358] - push af - set 1,a - ld e,a - ld a,[$fff4] - xor e - ld [$d358],a - ld a,c - ld [$cc3a],a - ld a,b - ld [$cc3b],a - -NextTextCommand: ; 1B55 - ld a,[hli] - cp a,$50 ; terminator - jr nz,.doTextCommand\@ - pop af - ld [$d358],a - ret -.doTextCommand\@ - push hl - cp a,$17 - jp z,TextCommand17 - cp a,$0e - jp nc,TextCommand0B ; if a != 0x17 and a >= 0xE, go to command 0xB -; if a < 0xE, use a jump table - ld hl,TextCommandJumpTable - push bc - add a - ld b,$00 - ld c,a - add hl,bc - pop bc - ld a,[hli] - ld h,[hl] - ld l,a - jp [hl] - -; draw box -; 04AAAABBCC -; AAAA = address of upper left corner -; BB = height -; CC = width -TextCommand04: ; 1B78 - pop hl - ld a,[hli] - ld e,a - ld a,[hli] - ld d,a - ld a,[hli] - ld b,a - ld a,[hli] - ld c,a - push hl - ld h,d - ld l,e - call TextBoxBorder - pop hl - jr NextTextCommand - -; place string inline -; 00{string} -TextCommand00: ; 1B8A - pop hl - ld d,h - ld e,l - ld h,b - ld l,c - call PlaceString - ld h,d - ld l,e - inc hl - jr NextTextCommand - -; place string from RAM -; 01AAAA -; AAAA = address of string -TextCommand01: ; 1B97 - pop hl - ld a,[hli] - ld e,a - ld a,[hli] - ld d,a - push hl - ld h,b - ld l,c - call PlaceString - pop hl - jr NextTextCommand - -; print BCD number -; 02AAAABB -; AAAA = address of BCD number -; BB -; bits 0-4 = length in bytes -; bits 5-7 = unknown flags -TextCommand02: ; 1BA5 - pop hl - ld a,[hli] - ld e,a - ld a,[hli] - ld d,a - ld a,[hli] - push hl - ld h,b - ld l,c - ld c,a - call $15cd - ld b,h - ld c,l - pop hl - jr NextTextCommand - -; repoint destination address -; 03AAAA -; AAAA = new destination address -TextCommand03: ; 1BB7 - pop hl - ld a,[hli] - ld [$cc3a],a - ld c,a - ld a,[hli] - ld [$cc3b],a - ld b,a - jp NextTextCommand - -; repoint destination to second line of dialogue text box -; 05 -; (no arguments) -TextCommand05: ; 1BC5 - pop hl - ld bc,$c4e1 ; address of second line of dialogue text box - jp NextTextCommand - -; blink arrow and wait for A or B to be pressed -; 06 -; (no arguments) -TextCommand06: ; 1BCC - ld a,[W_ISLINKBATTLE] - cp a,$04 - jp z,TextCommand0D - ld a,$ee ; down arrow - ld [$c4f2],a ; place down arrow in lower right corner of dialogue text box - push bc - call $3898 ; blink arrow and wait for A or B to be pressed - pop bc - ld a,$7f ; blank space - ld [$c4f2],a ; overwrite down arrow with blank space - pop hl - jp NextTextCommand - -; scroll text up one line -; 07 -; (no arguments) -TextCommand07: ; 1BE7 - ld a,$7f ; blank space - ld [$c4f2],a ; place blank space in lower right corner of dialogue text box - call $1b18 ; scroll up text - call $1b18 - pop hl - ld bc,$c4e1 ; address of second line of dialogue text box - jp NextTextCommand - -; execute asm inline -; 08{code} -TextCommand08: ; 1BF9 - pop hl - ld de,NextTextCommand - push de ; return address - jp [hl] - -; print decimal number (converted from binary number) -; 09AAAABB -; AAAA = address of number -; BB -; bits 0-3 = how many digits to display -; bits 4-7 = how long the number is in bytes -TextCommand09: ; 1BFF - pop hl - ld a,[hli] - ld e,a - ld a,[hli] - ld d,a - ld a,[hli] - push hl - ld h,b - ld l,c - ld b,a - and a,$0f - ld c,a - ld a,b - and a,$f0 - swap a - set 6,a - ld b,a - call $3c5f - ld b,h - ld c,l - pop hl - jp NextTextCommand - -; wait half a second if the user doesn't hold A or B -; 0A -; (no arguments) -TextCommand0A: ; 1C1D - push bc - call GetJoypadState - ld a,[$ffb4] - and a,%00000011 ; A and B buttons - jr nz,.skipDelay\@ - ld c,30 - call DelayFrames -.skipDelay\@ - pop bc - pop hl - jp NextTextCommand - -; plays sounds -; this actually handles various command ID's, not just 0B -; (no arguments) -TextCommand0B: ; 1C31 - pop hl - push bc - dec hl - ld a,[hli] - ld b,a ; b = command number that got us here - push hl - ld hl,TextCommandSounds -.loop\@ - ld a,[hli] - cp b - jr z,.matchFound\@ - inc hl - jr .loop\@ -.matchFound\@ - cp a,$14 - jr z,.pokemonCry\@ - cp a,$15 - jr z,.pokemonCry\@ - cp a,$16 - jr z,.pokemonCry\@ - ld a,[hl] - call $23b1 - call $3748 - pop hl - pop bc - jp NextTextCommand -.pokemonCry\@ - push de - ld a,[hl] - call $13d0 - pop de - pop hl - pop bc - jp NextTextCommand - -; format: text command ID, sound ID or cry ID -TextCommandSounds: ; 1C64 -db $0B,$86 -db $12,$9A -db $0E,$91 -db $0F,$86 -db $10,$89 -db $11,$94 -db $13,$98 -db $14,$A8 -db $15,$97 -db $16,$78 - -; draw ellipses -; 0CAA -; AA = number of ellipses to draw -TextCommand0C: ; 1C78 - pop hl - ld a,[hli] - ld d,a - push hl - ld h,b - ld l,c -.loop\@ - ld a,$75 ; ellipsis - ld [hli],a - push de - call GetJoypadState - pop de - ld a,[$ffb4] ; joypad state - and a,%00000011 ; is A or B button pressed? - jr nz,.skipDelay\@ ; if so, skip the delay - ld c,10 - call DelayFrames -.skipDelay\@ - dec d - jr nz,.loop\@ - ld b,h - ld c,l - pop hl - jp NextTextCommand - -; wait for A or B to be pressed -; 0D -; (no arguments) -TextCommand0D: ; 1C9A - push bc - call $3898 ; wait for A or B to be pressed - pop bc - pop hl - jp NextTextCommand - -; process text commands in another ROM bank -; 17AAAABB -; AAAA = address of text commands -; BB = bank -TextCommand17: ; 1CA3 - pop hl - ld a,[$ffb8] - push af - ld a,[hli] - ld e,a - ld a,[hli] - ld d,a - ld a,[hli] - ld [$ffb8],a - ld [$2000],a - push hl - ld l,e - ld h,d - call TextCommandProcessor - pop hl - pop af - ld [$ffb8],a - ld [$2000],a - jp NextTextCommand - -TextCommandJumpTable: ; 1CC1 -dw TextCommand00 -dw TextCommand01 -dw TextCommand02 -dw TextCommand03 -dw TextCommand04 -dw TextCommand05 -dw TextCommand06 -dw TextCommand07 -dw TextCommand08 -dw TextCommand09 -dw TextCommand0A -dw TextCommand0B -dw TextCommand0C -dw TextCommand0D - -; this function seems to be used only once -; it store the address of a row and column of the VRAM background map in hl -; INPUT: h - row, l - column, b - high byte of background tile map address in VRAM -GetRowColAddressBgMap: ; 1CDD - xor a - srl h - rr a - srl h - rr a - srl h - rr a - or l - ld l,a - ld a,b - or h - ld h,a - ret - -; clears a VRAM background map with blank space tiles -; INPUT: h - high byte of background tile map address in VRAM -ClearBgMap: ; 1CF0 - ld a,$7f ; blank space - jr .next\@ - ld a,l ; XXX does anything call this? -.next\@ - ld de,$400 ; size of VRAM background map - ld l,e -.loop\@ - ld [hli],a - dec e - jr nz,.loop\@ - dec d - jr nz,.loop\@ - ret - -INCBIN "baserom.gbc",$1D01,$1F54 - $1D01 - -; initialization code -; explanation for %11100011 (value stored in rLCDC) -; * LCD enabled -; * Window tile map at $9C00 -; * Window display enabled -; * BG and window tile data at $8800 -; * BG tile map at $9800 -; * 8x8 OBJ size -; * OBJ display enabled -; * BG display enabled -InitGame: ; 1F54 - di -; zero I/O registers - xor a - ld [$ff0f],a - ld [$ffff],a - ld [$ff43],a - ld [$ff42],a - ld [$ff01],a - ld [$ff02],a - ld [$ff4b],a - ld [$ff4a],a - ld [$ff06],a - ld [$ff07],a - ld [$ff47],a - ld [$ff48],a - ld [$ff49],a - ld a,%10000000 ; enable LCD - ld [rLCDC],a - call DisableLCD ; why enable then disable? - ld sp,$dfff ; initialize stack pointer - ld hl,$c000 ; start of WRAM - ld bc,$2000 ; size of WRAM -.zeroWramLoop\@ - ld [hl],0 - inc hl - dec bc - ld a,b - or c - jr nz,.zeroWramLoop\@ - call ZeroVram - ld hl,$ff80 - ld bc,$007f - call $36e0 ; zero HRAM - call CleanLCD_OAM ; this is unnecessary since it was already cleared above - ld a,$01 - ld [$ffb8],a - ld [$2000],a - call $4bed ; copy DMA code to HRAM - xor a - ld [$ffd7],a - ld [$ff41],a - ld [$ffae],a - ld [$ffaf],a - ld [$ff0f],a - ld a,%00001101 ; enable V-blank, timer, and serial interrupts - ld [rIE],a - ld a,$90 ; put the window off the screen - ld [$ffb0],a - ld [rWX],a - ld a,$07 - ld [rWY],a - ld a,$ff - ld [$ffaa],a - ld h,$98 - call ClearBgMap ; fill $9800-$9BFF (BG tile map) with $7F tiles - ld h,$9c - call ClearBgMap ; fill $9C00-$9FFF (Window tile map) with $7F tiles - ld a,%11100011 - ld [rLCDC],a ; enabled LCD - ld a,$10 - ld [$ff8a],a - call $200e - ei - ld a,$40 - call Predef ; SGB border - ld a,$1f - ld [$c0ef],a - ld [$c0f0],a - ld a,$9c - ld [$ffbd],a - xor a - ld [$ffbc],a - dec a - ld [$cfcb],a - ld a,$32 - call Predef ; display the copyrights, GameFreak logo, and battle animation - call DisableLCD - call ZeroVram - call $3ddc - call CleanLCD_OAM - ld a,%11100011 - ld [rLCDC],a ; enable LCD - jp $42b7 - -; zeroes all VRAM -ZeroVram: ; 2004 - ld hl,$8000 - ld bc,$2000 - xor a - jp $36e0 - -INCBIN "baserom.gbc",$200E,$20AF - $200E - -DelayFrame: ; 20AF -; delay for one frame - ld a,1 - ld [$FFD6],a - -; wait for the next Vblank, halting to conserve battery -.halt\@ - db $76 ; XXX this is a hack--rgbasm adds a nop after this instr even when ints are enabled - ld a,[$FFD6] - and a - jr nz,.halt\@ - - ret - -; These routines manage gradual fading -; (e.g., entering a doorway) -LoadGBPal: ; 20BA - ld a,[$d35d] ;tells if cur.map is dark (requires HM5_FLASH?) - ld b,a - ld hl,GBPalTable_00 ;16 - ld a,l - sub b - ld l,a - jr nc,.jr0\@ - dec h -.jr0\@ - ld a,[hli] - ld [rBGP],a - ld a,[hli] - ld [rOBP0],a - ld a,[hli] - ld [rOBP1],a - ret - -GBFadeOut1: ; 20D1 - ld hl,IncGradGBPalTable_01 ;0d - ld b,$04 - jr GBFadeOutCommon - -GBFadeOut2: ; 20D8 - ld hl,IncGradGBPalTable_02 ;1c - ld b,$03 - -GBFadeOutCommon: ; 0x20dd - ld a,[hli] - ld [rBGP],a - ld a,[hli] - ld [rOBP0],a - ld a,[hli] - ld [rOBP1],a - ld c,8 - call DelayFrames - dec b - jr nz,GBFadeOutCommon - ret - -GBFadeIn1: ; 20EF - ld hl,DecGradGBPalTable_01 ;18 - ld b,$04 - jr GBFadeInCommon - -GBFadeIn2: ; 20F6 - ld hl,DecGradGBPalTable_02 ;21 - ld b,$03 - -GBFadeInCommon: ; 0x20fb - ld a,[hld] - ld [rOBP1],a - ld a,[hld] - ld [rOBP0],a - ld a,[hld] - ld [rBGP],a - ld c,8 - call DelayFrames - dec b - jr nz,GBFadeInCommon - ret - -IncGradGBPalTable_01: ; 210D - db %11111111 ;BG Pal - db %11111111 ;OBJ Pal 1 - db %11111111 ;OBJ Pal 2 - ;and so on... - db %11111110 - db %11111110 - db %11111000 - - db %11111001 - db %11100100 - db %11100100 -GBPalTable_00: ; 0x2116 16 - db %11100100 - db %11010000 -DecGradGBPalTable_01: ; 0x2118 18 - db %11100000 - ;19 - db %11100100 - db %11010000 - db %11100000 -IncGradGBPalTable_02: ; 0x211c - db %10010000 - db %10000000 - db %10010000 - - db %01000000 - db %01000000 -DecGradGBPalTable_02: ; 0x2121 - db %01000000 - - db %00000000 - db %00000000 - db %00000000 - -INCBIN "baserom.gbc",$2125,$2442 - $2125 - -; XXX where is the pointer to this data? -MartInventories: ; 2442 - ; first byte $FE, next byte # of items, last byte $FF - -; Viridian -ViridianMartText4: ; 2442 XXX confirm - db $FE,4,POKE_BALL,ANTIDOTE,PARLYZ_HEAL,BURN_HEAL,$FF - -; Pewter -PewterMartText1: ; 2449 - db $FE,7,POKE_BALL,POTION,ESCAPE_ROPE,ANTIDOTE,BURN_HEAL,AWAKENING - db PARLYZ_HEAL,$FF - -; Cerulean -CeruleanMartText1: ; 2453 - db $FE,7,POKE_BALL,POTION,REPEL,ANTIDOTE,BURN_HEAL,AWAKENING - db PARLYZ_HEAL,$FF - -; Bike shop - db $FE,1,BICYCLE,$FF - -; Vermilion -VermilionMartText1: ; 2461 - db $FE,6,POKE_BALL,SUPER_POTION,ICE_HEAL,AWAKENING,PARLYZ_HEAL - db REPEL,$FF - -; Lavender -LavenderMartText1: ; 246a - db $FE,9,GREAT_BALL,SUPER_POTION,REVIVE,ESCAPE_ROPE,SUPER_REPEL - db ANTIDOTE,BURN_HEAL,ICE_HEAL,PARLYZ_HEAL,$FF - -; Celadon Dept. Store 2F (1) -CeladonMart2Text1: ; 2476 - db $FE,9,GREAT_BALL,SUPER_POTION,REVIVE,SUPER_REPEL,ANTIDOTE - db BURN_HEAL,ICE_HEAL,AWAKENING,PARLYZ_HEAL,$FF - -; Celadon Dept. Store 2F (2) -CeladonMart2Text2: ; 2482 - db $FE,9,TM_32,TM_33,TM_02,TM_07,TM_37,TM_01,TM_05,TM_09,TM_17,$FF - -; Celadon Dept. Store 4F -CeladonMart4Text1: ; 248e - db $FE,5,POKE_DOLL,FIRE_STONE,THUNDER_STONE,WATER_STONE,LEAF_STONE,$FF - -; Celadon Dept. Store 5F (1) -CeladonMart5Text3: ; 2496 - db $FE,7,X_ACCURACY,GUARD_SPEC_,DIRE_HIT,X_ATTACK,X_DEFEND,X_SPEED - db X_SPECIAL,$FF - -; Celadon Dept. Store 5F (2) -CeladonMart5Text4: ; 24a0 - db $FE,5,HP_UP,PROTEIN,IRON,CARBOS,CALCIUM,$FF - -; Fuchsia -FuchsiaMartText1: ; 24a8 - db $FE,6,ULTRA_BALL,GREAT_BALL,SUPER_POTION,REVIVE,FULL_HEAL - db SUPER_REPEL,$FF - -; unused? 24b1 - db $FE,5,GREAT_BALL,HYPER_POTION,SUPER_POTION,FULL_HEAL,REVIVE,$FF - -; Cinnabar -CinnabarMartText1: ; 24b9 - db $FE,7,ULTRA_BALL,GREAT_BALL,HYPER_POTION,MAX_REPEL,ESCAPE_ROPE - db FULL_HEAL,REVIVE,$FF - -; Saffron -SaffronMartText1: ; 24c3 - db $FE,6,GREAT_BALL,HYPER_POTION,MAX_REPEL,ESCAPE_ROPE,FULL_HEAL - db REVIVE,$FF - -; Indigo -IndigoPlateauLobbyText4: ; 24cc - db $FE,7,ULTRA_BALL,GREAT_BALL,FULL_RESTORE,MAX_POTION,FULL_HEAL - db REVIVE,MAX_REPEL,$FF - -TextScriptEndingChar: ; 24D6 - db "@" -TextScriptEnd: ; 24D7 24d7 - ld hl,TextScriptEndingChar - ret - -UnnamedText_24db: ; 0x24db - TX_FAR _UnnamedText_24db - db $50 -; 0x24db + 5 bytes - -UnnamedText_24e0: ; 0x24e0 - TX_FAR _UnnamedText_24e0 - db $50 -; 0x24e0 + 5 bytes - -VictoryRoad3Text10: -VictoryRoad3Text9: -VictoryRoad3Text8: -VictoryRoad3Text7: -VictoryRoad2Text13: -VictoryRoad2Text12: -VictoryRoad2Text11: -SeafoamIslands1Text2: -SeafoamIslands1Text1: -SeafoamIslands5Text2: -SeafoamIslands5Text1: -SeafoamIslands4Text6: -SeafoamIslands4Text5: -SeafoamIslands4Text4: -SeafoamIslands4Text3: -SeafoamIslands4Text2: -SeafoamIslands4Text1: -SeafoamIslands3Text2: -SeafoamIslands3Text1: -SeafoamIslands2Text2: -SeafoamIslands2Text1: -FuchsiaHouse2Text3: -VictoryRoad1Text7: -VictoryRoad1Text6: -VictoryRoad1Text5: ; 0x24e5 - TX_FAR _VictoryRoad1Text5 - db $50 - -SaffronCityText19: -CinnabarIslandText4: -FuchsiaCityText14: -VermilionCityText9: -LavenderTownText6: -CeruleanCityText14: -PewterCityText8: -ViridianCityText11: ; 0x24ea - TX_FAR _ViridianCityText11 - db $50 - -PewterCityText9: -CeruleanCityText15: -LavenderTownText7: -VermilionCityText10: -CeladonCityText12: -FuchsiaCityText15: -CinnabarIslandText5: -SaffronCityText23: -Route4Text4: -Route10Text8: -ViridianCityText12: ; 0x24ef - TX_FAR _ViridianCityText12 - db $50 - -Route2Text1: -Route4Text3: -Route9Text10: -Route12Text9: -Route12Text10: -Route15Text11: -Route24Text8: -Route25Text10: -ViridianGymText11: -ViridianForestText5: -ViridianForestText6: -ViridianForestText7: -MtMoon1Text8: -MtMoon1Text9: -MtMoon1Text10: -MtMoon1Text11: -MtMoon1Text12: -MtMoon1Text13: -MtMoon3Text8: -MtMoon3Text9: -PowerPlantText10: -PowerPlantText11: -PowerPlantText12: -PowerPlantText13: -PowerPlantText14: -SSAnne8Text10: -SSAnne9Text6: -SSAnne9Text9: -SSAnne10Text9: -SSAnne10Text10: -SSAnne10Text11: -VictoryRoad1Text3: -VictoryRoad1Text4: -PokemonTower3Text4: -PokemonTower4Text4: -PokemonTower4Text5: -PokemonTower4Text6: -PokemonTower5Text6: -PokemonTower6Text4: -PokemonTower6Text5: -FuchsiaHouse2Text2: -VictoryRoad2Text7: -VictoryRoad2Text8: -VictoryRoad2Text9: -VictoryRoad2Text10: -VictoryRoad3Text5: -VictoryRoad3Text6: -RocketHideout1Text6: -RocketHideout1Text7: -RocketHideout2Text2: -RocketHideout2Text3: -RocketHideout2Text4: -RocketHideout2Text5: -RocketHideout3Text3: -RocketHideout3Text4: -RocketHideout4Text5: -RocketHideout4Text6: -RocketHideout4Text7: -RocketHideout4Text8: -RocketHideout4Text9: -SilphCo3Text4: -SilphCo4Text5: -SilphCo4Text6: -SilphCo4Text7: -SilphCo5Text6: -SilphCo5Text7: -SilphCo5Text8: -SilphCo6Text9: -SilphCo6Text10: -SilphCo7Text10: -SilphCo7Text11: -SilphCo7Text12: -Mansion1Text2: -Mansion1Text3: -Mansion2Text2: -Mansion3Text3: -Mansion3Text4: -Mansion4Text3: -Mansion4Text4: -Mansion4Text5: -Mansion4Text6: -Mansion4Text8: -SafariZoneEastText1: -SafariZoneEastText2: -SafariZoneEastText3: -SafariZoneEastText4: -SafariZoneNorthText1: -SafariZoneNorthText2: -SafariZoneWestText1: -SafariZoneWestText2: -SafariZoneWestText3: -SafariZoneWestText4: -SafariZoneCenterText1: -UnknownDungeon2Text1: -UnknownDungeon2Text2: -UnknownDungeon2Text3: -UnknownDungeon3Text2: -UnknownDungeon3Text3: -UnknownDungeon1Text1: -UnknownDungeon1Text2: -UnknownDungeon1Text3: -SilphCo10Text4: -SilphCo10Text5: -SilphCo10Text6: -Route2Text2: ; 24f4 0x424f4 - db $08 ; asm - ld a, $5c - call Predef - jp TextScriptEnd - -INCBIN "baserom.gbc",$24fd,$2920 - $24fd - -; this function is used to display sign messages, sprite dialog, etc. -; INPUT: [$ff8c] = sprite ID or text ID -DisplayTextID: ; 2920 - ld a,[$ffb8] - push af - ld b,BANK(DisplayTextIDInit) - ld hl,DisplayTextIDInit ; initialization - call Bankswitch - ld hl,$cf11 - bit 0,[hl] - res 0,[hl] - jr nz,.skipSwitchToMapBank\@ - ld a,[W_CURMAP] - call SwitchToMapRomBank -.skipSwitchToMapBank\@ - ld a,$1e - ld [$ffd5],a ; joypad poll timer - ld hl,W_MAPTEXTPTR - ld a,[hli] - ld h,[hl] - ld l,a ; hl = map text pointer - ld d,$00 - ld a,[$ff8c] ; text ID - ld [$cf13],a - and a - jp z,$2acd - cp a,$d3 ; safari game over - jp z,$2a90 - cp a,$d0 ; fainted - jp z,$2a9b - cp a,$d1 ; blacked out - jp z,$2aa9 - cp a,$d2 ; repel wore off - jp z,$2abf - ld a,[$d4e1] ; number of sprites - ld e,a - ld a,[$ff8c] ; sprite ID - cp e - jr z,.spriteHandling\@ - jr nc,.skipSpriteHandling\@ -.spriteHandling\@ -; get the text ID of the sprite - push hl - push de - push bc - ld b,$04 - ld hl,$7074 - call Bankswitch ; update the graphics of the sprite the player is talking to (to face the right direction) - pop bc - pop de - ld hl,$d4e4 ; NPC text entries - ld a,[$ff8c] - dec a - add a - add l - ld l,a - jr nc,.noCarry\@ - inc h -.noCarry\@ - inc hl - ld a,[hl] ; a = text ID of the sprite - pop hl -.skipSpriteHandling\@ -; look up the address of the text in the map's text entries - dec a - ld e,a - sla e - add hl,de - ld a,[hli] - ld h,[hl] - ld l,a - ld a,[hl] ; hl = address of the text -; check for special cases - cp a,$fe ; Pokemart NPC - jp z,$2a2e - cp a,$ff ; Pokemon Center NPC - jp z,$2a72 - cp a,$fc ; Item Storage PC - jp z,$3460 - cp a,$fd ; Bill's PC - jp z,$346a - cp a,$f9 ; Pokemon Center PC - jp z,$347f - cp a,$f5 ; Vending Machine - jr nz,.notVendingMachine\@ - ld b,$1d - ld hl,$4ee0 - call Bankswitch - jr .skipTextDisplay\@ -.notVendingMachine\@ - cp a,$f7 ; slot machine - jp z,$3474 - cp a,$f6 ; cable connection NPC in Pokemon Center - jr nz,.notSpecialCase\@ - ld hl,$71c5 - ld b,$01 - call Bankswitch - jr .skipTextDisplay\@ -.notSpecialCase\@ - call $3c59 ; display the text - ld a,[$cc3c] - and a - jr nz,.holdBoxOpen\@ -.skipTextDisplay\@ - ld a,[$cc47] - and a - jr nz,.holdBoxOpen\@ - call $3865 ; wait for a button press after displaying all the text -; loop to hold the dialogue box open as long as the player keeps holding down the A button -.holdBoxOpen\@ - call GetJoypadState - ld a,[$ffb4] - bit 0,a ; is the A button being pressed? - jr nz,.holdBoxOpen\@ - ld a,[W_CURMAP] - call SwitchToMapRomBank - ld a,$90 - ld [$ffb0],a ; move the window off the screen - call DelayFrame - call LoadGBPal - xor a - ld [$ffba],a ; disable continuous WRAM to VRAM transfer each V-blank -; loop to make sprites face the directions they originally faced before the dialogue - ld hl,$c219 - ld c,$0f - ld de,$0010 -.restoreSpriteFacingDirectionLoop\@ - ld a,[hl] - dec h - ld [hl],a - inc h - add hl,de - dec c - jr nz,.restoreSpriteFacingDirectionLoop\@ - ld a,$05 - ld [$ffb8],a - ld [$2000],a - call $785b ; reload sprite tile pattern data (since it was partially overwritten by text tile patterns) - ld hl,$cfc4 - res 0,[hl] - ld a,[$d732] - bit 3,a - call z,LoadPlayerSpriteGraphics - call LoadCurrentMapView - pop af - ld [$ffb8],a - ld [$2000],a - jp $2429 ; move sprites - -INCBIN "baserom.gbc",$2a2e,$2a55 - $2a2e - -UnnamedText_2a55: ; 0x2a55 - TX_FAR _UnnamedText_2a55 - db $50 -; 0x2a55 + 5 bytes - -INCBIN "baserom.gbc",$2a5a,$2aa4 - $2a5a - -UnnamedText_2aa4: ; 0x2aa4 - TX_FAR _UnnamedText_2aa4 - db $50 -; 0x2aa4 + 5 bytes - -INCBIN "baserom.gbc",$2aa9,$2aba - $2aa9 - -UnnamedText_2aba: ; 0x2aba - TX_FAR _UnnamedText_2aba - db $50 -; 0x2aba + 5 bytes - -INCBIN "baserom.gbc",$2abf,$2ac8 - $2abf - -UnnamedText_2ac8: ; 0x2ac8 - TX_FAR _UnnamedText_2ac8 - db $50 -; 0x2ac8 + 5 bytes - -INCBIN "baserom.gbc",$2acd,$4d1 - -GetMonName: ; 2F9E - push hl - ld a,[$ffb8] - push af - ld a,BANK(MonsterNames) ; 07 - ld [$ffb8],a - ld [$2000],a - ld a,[$d11e] - dec a - ld hl,MonsterNames ; 421E - ld c,10 - ld b,0 - call AddNTimes - ld de,$cd6d - push de - ld bc,10 - call CopyData - ld hl,$cd77 - ld [hl],$50 - pop de - pop af - ld [$ffb8],a - ld [$2000],a - pop hl - ret - -GetItemName: ; 2FCF -; given an item ID at [$D11E], store the name of the item into a string -; starting at $CD6D - push hl - push bc - ld a,[$D11E] - cp HM_01 ; is this a TM/HM? - jr nc,.Machine\@ - - ld [$D0B5],a - ld a,ITEM_NAME - ld [$D0B6],a - ld a,BANK(ItemNames) - ld [$D0B7],a - call GetName - jr .Finish\@ - -.Machine\@ - call GetMachineName -.Finish\@ - ld de,$CD6D ; pointer to where item name is stored in RAM - pop bc - pop hl - ret - -GetMachineName: ; 2ff3 -; copies the name of the TM/HM in [$D11E] to $CD6D - push hl - push de - push bc - ld a,[$D11E] - push af - cp TM_01 ; is this a TM? [not HM] - jr nc,.WriteTM\@ -; if HM, then write "HM" and add 5 to the item ID, so we can reuse the -; TM printing code - add 5 - ld [$D11E],a - ld hl,HiddenPrefix ; points to "HM" - ld bc,2 - jr .WriteMachinePrefix\@ -.WriteTM\@ - ld hl,TechnicalPrefix ; points to "TM" - ld bc,2 -.WriteMachinePrefix\@ - ld de,$CD6D - call CopyData - -; now get the machine number and convert it to text - ld a,[$D11E] - sub TM_01 - 1 - ld b,$F6 ; "0" -.FirstDigit\@ - sub 10 - jr c,.SecondDigit\@ - inc b - jr .FirstDigit\@ -.SecondDigit\@ - add 10 - push af - ld a,b - ld [de],a - inc de - pop af - ld b,$F6 ; "0" - add b - ld [de],a - inc de - ld a,"@" - ld [de],a - - pop af - ld [$D11E],a - pop bc - pop de - pop hl - ret - -TechnicalPrefix: ; 303c - db "TM" -HiddenPrefix: ; 303e - db "HM" - -INCBIN "baserom.gbc",$3040,$31cc - $3040 - -LoadTrainerHeader: ; 0x31cc - call $3157 - xor a - call $3193 - ld a, $2 - call $3193 - ld a, [$cc55] - ld c, a - ld b, $2 - call $31c7 - ld a, c - and a - jr z, .asm_c2964 ; 0x31e3 $8 - ld a, $6 - call $3193 - jp PrintText -.asm_c2964 ; 0x31ed - ld a, $4 - call $3193 - call PrintText - ld a, $a - call $3193 - push de - ld a, $8 - call $3193 - pop de - call $3354 - ld hl, $d733 - set 4, [hl] - ld hl, $cd60 - bit 0, [hl] - ret nz - call $336a - ld hl, $da39 - inc [hl] - jp $325d - call $3306 - ld a, [$cf13] - cp $ff - jr nz, .asm_76c22 ; 0x3221 $8 - xor a - ld [$cf13], a - ld [$cc55], a - ret -.asm_76c22 ; 0x322b - ld hl, $d733 - set 3, [hl] - ld [$cd4f], a - xor a - ld [$cd50], a - ld a, $4c - call Predef - ld a, $f0 - ld [$cd6b], a - xor a - ldh [$b4], a - call $32cf - ld hl, $da39 - inc [hl] - ret - -INCBIN "baserom.gbc",$324c,$3474 - $324c - -FuncTX_F7: ; 3474 -; XXX find a better name for this function -; special_F7 - ld b,BANK(CeladonPrizeMenu) - ld hl,CeladonPrizeMenu - call Bankswitch - jp $29DF ; continue to main text-engine function - -INCBIN "baserom.gbc",$347F,$3493 - $347F - -IsItemInBag: ; 3493 -; given an item_id in b -; set zero flag if item isn't in player's bag -; else reset zero flag -; related to Pokémon Tower and ghosts - ld a,$1C - call Predef - ld a,b - and a - ret - -INCBIN "baserom.gbc",$349B,$3541 - $349B - -Function3541: ; 3541 -; XXX what do these three functions do - push hl - call Function354E - ld [hl],$FF - call Function3558 - ld [hl],$FF ; prevent person from walking? - pop hl - ret - -Function354E: ; 354E - ld h,$C2 - ld a,[$FF8C] ; the sprite to move - swap a - add a,6 - ld l,a - ret - -Function3558: ; 3558 - push de - ld hl,W_PEOPLEMOVEPERMISSIONS - ld a,[$FF8C] ; the sprite to move - dec a - add a - ld d,0 - ld e,a - add hl,de - pop de - ret - -INCBIN "baserom.gbc",$3566,$35BC - $3566 - -BankswitchHome: ; 35BC -; switches to bank # in a -; Only use this when in the home bank! - ld [$CF09],a - ld a,[$FFB8] - ld [$CF08],a - ld a,[$CF09] - ld [$FFB8],a - ld [$2000],a - ret - -BankswitchBack: ; 35CD -; returns from BankswitchHome - ld a,[$CF08] - ld [$FFB8],a - ld [$2000],a - ret - -Bankswitch: ; 35D6 -; self-contained bankswitch, use this when not in the home bank -; switches to the bank in b - ld a,[$FFB8] - push af - ld a,b - ld [$FFB8],a - ld [$2000],a - ld bc,.Return\@ - push bc - jp [hl] -.Return\@ - pop bc - ld a,b - ld [$FFB8],a - ld [$2000],a - ret - -INCBIN "baserom.gbc",$35EC,$363A - $35EC - -MoveSprite: ; 363A -; move the sprite [$FF8C] with the movement pointed to by de -; actually only copies the movement data to $CC5B for later - call Function3541 - push hl - push bc - call Function354E - xor a - ld [hl],a - ld hl,$CC5B - ld c,0 - -.loop\@ - ld a,[de] - ld [hli],a - inc de - inc c - cp a,$FF ; have we reached the end of the movement data? - jr nz,.loop\@ - - ld a,c - ld [$CF0F],a ; number of steps taken - - pop bc - ld hl,$D730 - set 0,[hl] - pop hl - xor a - ld [$CD3B],a - ld [$CCD3],a - dec a - ld [$CD6B],a - ld [$CD3A],a - ret - -INCBIN "baserom.gbc",$366B,$3739 - $366B - -DelayFrames: ; 3739 -; wait n frames, where n is the value in c - call DelayFrame - dec c - jr nz,DelayFrames - ret - -INCBIN "baserom.gbc",$3740,$375D - $3740 - -NamePointers: ; 375D - dw MonsterNames - dw MoveNames - dw UnusedNames - dw ItemNames - dw $D273 ; player's OT names list - dw $D9AC ; enemy's OT names list - dw TrainerNames - -GetName: ; 376B -; arguments: -; [$D0B5] = which name -; [$D0B6] = which list -; [$D0B7] = bank of list -; -; returns pointer to name in de - ld a,[$d0b5] - ld [$d11e],a - cp a,$C4 ;it's TM/HM - jp nc,GetMachineName - ld a,[$ffb8] - push af - push hl - push bc - push de - ld a,[$d0b6] ;List3759_entrySelector - dec a - jr nz,.otherEntries\@ - ;1 = MON_NAMES - call GetMonName - ld hl,11 - add hl,de - ld e,l - ld d,h - jr .gotPtr\@ -.otherEntries\@ ; $378d - ;2-7 = OTHER ENTRIES - ld a,[$d0b7] - ld [$ffb8],a - ld [$2000],a - ld a,[$d0b6] ;VariousNames' entryID - dec a - add a - ld d,0 - ld e,a - jr nc,.skip\@ - inc d -.skip\@ ; $37a0 - ld hl,NamePointers - add hl,de - ld a,[hli] - ld [$ff96],a - ld a,[hl] - ld [$ff95],a - ld a,[$ff95] - ld h,a - ld a,[$ff96] - ld l,a - ld a,[$d0b5] - ld b,a - ld c,0 -.nextName\@ - ld d,h - ld e,l -.nextChar\@ - ld a,[hli] - cp a,$50 - jr nz,.nextChar\@ - inc c ;entry counter - ld a,b ;wanted entry - cp c - jr nz,.nextName\@ - ld h,d - ld l,e - ld de,$cd6d - ld bc,$0014 - call CopyData -.gotPtr\@ ; $37cd - ld a,e - ld [$cf8d],a - ld a,d - ld [$cf8e],a - pop de - pop bc - pop hl - pop af - ld [$ffb8],a - ld [$2000],a - ret - -INCBIN "baserom.gbc",$37df,$3831 - $37df - -; this function is used when lower button sensitivity is wanted (e.g. menus) -; OUTPUT: [$ffb5] = pressed buttons in usual format -; there are two flags that control its functionality, [$ffb6] and [$ffb7] -; there are esentially three modes of operation -; 1. Get newly pressed buttons only -; ([$ffb7] == 0, [$ffb6] == any) -; Just copies [$ffb3] to [$ffb5]. -; 2. Get currently pressed buttons at low sample rate with delay -; ([$ffb7] == 0, [$ffb6] != 0) -; If the user holds down buttons for more than half a second, -; report buttons as being pressed up to 12 times per second thereafter. -; If the user holds down buttons for less than half a second, -; report only one button press. -; 3. Same as 2, but report no buttons as pressed if A or B is held down. -; ([$ffb7] == 0, [$ffb6] == 0) -GetJoypadStateLowSensitivity: ; 3831 - call GetJoypadState - ld a,[$ffb7] ; flag - and a ; get all currently pressed buttons or only newly pressed buttons? - ld a,[$ffb3] ; newly pressed buttons - jr z,.storeButtonState\@ - ld a,[$ffb4] ; all currently pressed buttons -.storeButtonState\@ - ld [$ffb5],a - ld a,[$ffb3] ; newly pressed buttons - and a ; have any buttons been newly pressed since last check? - jr z,.noNewlyPressedButtons\@ -.newlyPressedButtons\@ - ld a,30 ; half a second delay - ld [$ffd5],a ; frame counter - ret -.noNewlyPressedButtons\@ - ld a,[$ffd5] ; frame counter - and a ; is the delay over? - jr z,.delayOver\@ -.delayNotOver\@ - xor a - ld [$ffb5],a ; report no buttons as pressed - ret -.delayOver\@ -; if [$ffb6] = 0 and A or B is pressed, report no buttons as pressed - ld a,[$ffb4] - and a,%00000011 ; A and B buttons - jr z,.setShortDelay\@ - ld a,[$ffb6] ; flag - and a - jr nz,.setShortDelay\@ - xor a - ld [$ffb5],a -.setShortDelay\@ - ld a,5 ; 1/12 of a second delay - ld [$ffd5],a ; frame counter - ret - -INCBIN "baserom.gbc",$3865,$3927 - $3865 - -AddPokemonToParty: ; 0x3927 - push hl - push de - push bc - ld b, $3 ; BANK(MyFunction) - ld hl, $72e5 ; MyFunction - call Bankswitch - pop bc - pop de - pop hl - ret - -INCBIN "baserom.gbc",$3936,$3A87 - $3936 - -AddNTimes: ; 3A87 -; add bc to hl a times - and a - ret z -.loop\@ - add hl,bc - dec a - jr nz,.loop\@ - ret - -INCBIN "baserom.gbc",$3A8E,$3C49 - $3A8E - -PrintText: ; 3C49 -; given a pointer in hl, print the text there - push hl - ld a,1 - ld [$D125],a - call $30E8 - call $2429 - call Delay3 - pop hl - FuncCoord 1,14 - ld bc,Coord ;$C4B9 - jp $1B40 - -Func3C5F: ; 3C5F - push bc - xor a - ld [$FF95],a - ld [$FF96],a - ld [$FF97],a - ld a,b - and $F - cp 1 - jr z,.next\@ - cp 2 - jr z,.next2\@ - ld a,[de] - ld [$FF96],a - inc de - ld a,[de] - ld [$FF97],a - inc de - ld a,[de] - ld [$FF98],a - jr .next3\@ - -.next2\@ - ld a,[de] - ld [$FF97],a - inc de - ld a,[de] - ld [$FF98],a - jr .next3\@ - -.next\@ - ld a,[de] - ld [$FF98],a - -.next3\@ - push de - ld d,b - ld a,c - ld b,a - xor a - ld c,a - ld a,b - cp 2 - jr z,.next4\@ - cp 3 - jr z,.next5\@ - cp 4 - jr z,.next6\@ - cp 5 - jr z,.next7\@ - cp 6 - jr z,.next8\@ - ld a,$F - ld [$FF99],a - ld a,$42 - ld [$FF9A],a - ld a,$40 - ld [$FF9B],a - call $3D25 - call $3D89 -.next8\@ - ld a,1 - ld [$FF99],a - ld a,$86 - ld [$FF9A],a - ld a,$A0 - ld [$FF9B],a - call $3D25 - call $3D89 -.next7\@ - xor a - ld [$FF99],a - ld a,$27 - ld [$FF9A],a - ld a,$10 - ld [$FF9B],a - call $3D25 - call $3D89 -.next6\@ - xor a - ld [$FF99],a - ld a,3 - ld [$FF9A],a - ld a,$E8 - ld [$FF9B],a - call $3D25 - call $3D89 -.next5\@ - xor a - ld [$FF99],a - xor a - ld [$FF9A],a - ld a,$64 - ld [$FF9B],a - call $3D25 - call $3D89 -.next4\@ - ld c,0 - ld a,[$FF98] -.next10\@ - cp $A - jr c,.next9\@ - sub $A - inc c - jr .next10\@ -.next9\@ - ld b,a - ld a,[$FF95] - or c - ld [$FF95],a - jr nz,.next11\@ - call $3D83 - jr .next12\@ -.next11\@ - ld a,$F6 - add a,c - ld [hl],a -.next12\@ - call $3D89 - ld a,$F6 - add a,b - ld [hli],a - pop de - dec de - pop bc - ret - -INCBIN "baserom.gbc",$3D25,$3DAB - $3D25 - -IsInArray: ; 3DAB -; searches an array at hl for the value in a. -; skips (de − 1) bytes between reads, so to check every byte, de should be 1. -; if found, returns count in b and sets carry. - ld b,0 - ld c,a -.loop\@ - ld a,[hl] - cp a,$FF - jr z,.NotInArray\@ - cp c - jr z,.InArray\@ - inc b - add hl,de - jr .loop\@ -.NotInArray\@ - and a - ret -.InArray\@ - scf - ret - -INCBIN "baserom.gbc",$3DBE,$3DD7 - $3DBE - -Delay3: ; 3DD7 -; call Delay with a parameter of 3 - ld c,3 - jp DelayFrames - -INCBIN "baserom.gbc",$3DDC,$3DED - $3DDC - -GoPAL_SET_CF1C: ; 3ded - ld b,$ff -GoPAL_SET: ; 3def - ld a,[$cf1b] - and a - ret z - ld a,$45 - jp Predef - -INCBIN "baserom.gbc",$3df9,$3e2e - $3df9 - -GiveItem: ; 0x3e2e - ld a, b - ld [$d11e], a - ld [$cf91], a - ld a, c - ld [$cf96], a - ld hl,W_NUMBAGITEMS - call $2bcf - ret nc - call GetItemName ; $2fcf - call $3826 - scf - ret - -GivePokemon: ; 0x3e48 - ld a, b - ld [$cf91], a - ld a, c - ld [$d127], a - xor a - ld [$cc49], a - ld b, $13 - ld hl, $7da5 - jp Bankswitch - -GenRandom: ; 3E5C -; store a random 8-bit value in a - push hl - push de - push bc - ld b,BANK(GenRandom_) - ld hl,GenRandom_ - call Bankswitch - ld a,[H_RAND1] - pop bc - pop de - pop hl - ret - -Predef: ; 3E6D -; runs a predefined ASM command, where the command ID is read from $D0B7 -; $3E6D grabs the ath pointer from PredefPointers and executes it - - ld [$CC4E],a ; save the predef routine's ID for later - - ld a,[$FFB8] - ld [$CF12],a - - ; save bank and call 13:7E49 - push af - ld a,BANK(GetPredefPointer) - ld [$FFB8],a - ld [$2000],a - call GetPredefPointer - - ; call the predef function - ; ($D0B7 has the bank of the predef routine) - ld a,[$D0B7] - ld [$FFB8],a - ld [$2000],a - ld de,.Return\@ - push de - jp [hl] - ; after the predefined function finishes it returns here -.Return\@ - pop af - ld [$FFB8],a - ld [$2000],a - ret - -INCBIN "baserom.gbc",$3E94,$4000 - $3E94 - -SECTION "bank1",DATA,BANK[$1] - -INCBIN "baserom.gbc",$4000,$112 - -MewPicFront: ; 0x4112 - INCBIN "pic/bmon/mew.pic" -MewPicBack: ; 0x4205 - INCBIN "pic/monback/mewb.pic" -; 0x425b - -INCBIN "baserom.gbc",$425b,$42a7 - $425b - -UnnamedText_42a7: ; 0x42a7 - TX_FAR SafariZoneEatingText - db $50 -; 0x42a7 + 5 bytes - -UnnamedText_42ac: ; 0x42ac - TX_FAR SafariZoneAngryText - db $50 -; 0x42ac + 5 bytes - -INCBIN "baserom.gbc",$42b1,$84 - -; 0x4335 -IF _RED - ld de,$9600 ; where to put redgreenversion.2bpp in the VRAM - ld bc,$50 ; how big that file is -ENDC -IF _BLUE - ld de,$9610 ; where to put blueversion.2bpp in the VRAM - ld bc,$40 ; how big that file is -ENDC - -INCBIN "baserom.gbc",$433B,$4398-$433B - -IF _RED - ld a,CHARMANDER ; which Pokemon to show first on the title screen -ENDC -IF _BLUE - ld a,SQUIRTLE ; which Pokemon to show first on the title screen -ENDC - -INCBIN "baserom.gbc",$439A,$4588-$439A - -TitleMons: ; 4588 -; mons on the title screen are randomly chosen from here -IF _RED - db CHARMANDER - db SQUIRTLE - db BULBASAUR - db WEEDLE - db NIDORAN_M - db SCYTHER - db PIKACHU - db CLEFAIRY - db RHYDON - db ABRA - db GASTLY - db DITTO - db PIDGEOTTO - db ONIX - db PONYTA - db MAGIKARP -ENDC -IF _GREEN - db BULBASAUR - db CHARMANDER - db SQUIRTLE - db CATERPIE - db NIDORAN_F - db PINSIR - db PIKACHU - db CLEFAIRY - db RHYDON - db ABRA - db GASTLY - db DITTO - db PIDGEOTTO - db ONIX - db PONYTA - db MAGIKARP -ENDC -IF _BLUE - db SQUIRTLE - db CHARMANDER - db BULBASAUR - db MANKEY - db HITMONLEE - db VULPIX - db CHANSEY - db AERODACTYL - db JOLTEON - db SNORLAX - db GLOOM - db POLIWAG - db DODUO - db PORYGON - db GENGAR - db RAICHU -ENDC - -INCBIN "baserom.gbc",$4598,$45A1-$4598 - -; xxx Version tilemap on the title screen -IF _RED - db $60,$61,$7F,$65,$66,$67,$68,$69,$50 -ENDC -IF _BLUE - db $61,$62,$63,$64,$65,$66,$67,$68,$50 -ENDC - -INCBIN "baserom.gbc",$45AA,$472B-$45AA - -ItemNames: ; 472B - db "MASTER BALL@" - db "ULTRA BALL@" - db "GREAT BALL@" - db "POKé BALL@" - db "TOWN MAP@" - db "BICYCLE@" - db "?????@" - db "SAFARI BALL@" - db "POKéDEX@" - db "MOON STONE@" - db "ANTIDOTE@" - db "BURN HEAL@" - db "ICE HEAL@" - db "AWAKENING@" - db "PARLYZ HEAL@" - db "FULL RESTORE@" - db "MAX POTION@" - db "HYPER POTION@" - db "SUPER POTION@" - db "POTION@" - db "BOULDERBADGE@" - db "CASCADEBADGE@" - db "THUNDERBADGE@" - db "RAINBOWBADGE@" - db "SOULBADGE@" - db "MARSHBADGE@" - db "VOLCANOBADGE@" - db "EARTHBADGE@" - db "ESCAPE ROPE@" - db "REPEL@" - db "OLD AMBER@" - db "FIRE STONE@" - db "THUNDERSTONE@" - db "WATER STONE@" - db "HP UP@" - db "PROTEIN@" - db "IRON@" - db "CARBOS@" - db "CALCIUM@" - db "RARE CANDY@" - db "DOME FOSSIL@" - db "HELIX FOSSIL@" - db "SECRET KEY@" - db "?????@" - db "BIKE VOUCHER@" - db "X ACCURACY@" - db "LEAF STONE@" - db "CARD KEY@" - db "NUGGET@" - db "PP UP@" - db "POKé DOLL@" - db "FULL HEAL@" - db "REVIVE@" - db "MAX REVIVE@" - db "GUARD SPEC.@" - db "SUPER REPEL@" - db "MAX REPEL@" - db "DIRE HIT@" - db "COIN@" - db "FRESH WATER@" - db "SODA POP@" - db "LEMONADE@" - db "S.S.TICKET@" - db "GOLD TEETH@" - db "X ATTACK@" - db "X DEFEND@" - db "X SPEED@" - db "X SPECIAL@" - db "COIN CASE@" - db "OAK's PARCEL@" - db "ITEMFINDER@" - db "SILPH SCOPE@" - db "POKé FLUTE@" - db "LIFT KEY@" - db "EXP.ALL@" - db "OLD ROD@" - db "GOOD ROD@" - db "SUPER ROD@" - db "PP UP@" - db "ETHER@" - db "MAX ETHER@" - db "ELIXER@" - db "MAX ELIXER@" - db "B2F@" - db "B1F@" - db "1F@" - db "2F@" - db "3F@" - db "4F@" - db "5F@" - db "6F@" - db "7F@" - db "8F@" - db "9F@" - db "10F@" - db "11F@" - db "B4F@" - -UnusedNames: ; 4A92 - db "かみなりバッヂ@" - db "かいがらバッヂ@" - db "おじぞうバッヂ@" - db "はやぶさバッヂ@" - db "ひんやりバッヂ@" - db "なかよしバッヂ@" - db "バラバッヂ@" - db "ひのたまバッヂ@" - db "ゴールドバッヂ@" - db "たまご@" - db "ひよこ@" - db "ブロンズ@" - db "シルバー@" - db "ゴールド@" - db "プチキャプテン@" - db "キャプテン@" - db "プチマスター@" - db "マスター@" - -INCBIN "baserom.gbc",$4b09,$4e2c - $4b09 - -UnnamedText_4e2c: ; 0x4e2c - TX_FAR _UnnamedText_4e2c - db $50 -; 0x4e2c + 5 bytes - -INCBIN "baserom.gbc",$4e31,$5a24 - $4e31 - -UnnamedText_5a24: ; 0x5a24 - TX_FAR _UnnamedText_5a24 - db $50 -; 0x5a24 + 5 bytes - -INCBIN "baserom.gbc",$5a29,$c9 - -MainMenu: ; 0x5af2 -; Check save file - call Func_5bff - xor a - ld [$D08A],a - inc a - ld [$D088],a - call $609E - jr nc,.next0\@ - - ; Predef 52 loads the save from SRAM to RAM - ld a,$52 - call Predef - -.next0\@ - ld c,20 - call DelayFrames - xor a - ld [$D12B],a - ld hl,$CC2B - ld [hli],a - ld [hli],a - ld [hli],a - ld [hl],a - ld [$D07C],a - ld hl,$D72E - res 6,[hl] - call ClearScreen - call $3DED - call $36A0 ; load some graphics in VRAM - call $3680 ; load fonts in VRAM - ld hl,$D730 - set 6,[hl] - ld a,[$D088] - cp a,1 - jr z,.next1\@ - FuncCoord 0,0 - ld hl,Coord - ld b,6 - ld c,13 - call TextBoxBorder - FuncCoord 2,2 - ld hl,Coord - ld de,$5D7E - call PlaceString - jr .next2\@ -.next1\@ - FuncCoord 0,0 - ld hl,Coord - ld b,4 - ld c,13 - call TextBoxBorder - FuncCoord 2,2 - ld hl,Coord - ld de,$5D87 - call PlaceString -.next2\@ - ld hl,$D730 - res 6,[hl] - call $2429 ; OAM? - xor a - ld [$CC26],a - ld [$CC2A],a - ld [$CC34],a - inc a - ld [$CC25],a - inc a - ld [$CC24],a - ld a,$B - ld [$CC29],a - ld a,[$D088] - ld [$CC28],a - call $3ABE - bit 1,a - jp nz,$42DD ; load title screen (gfx and arrangement) - ld c,20 - call DelayFrames - ld a,[$CC26] - ld b,a - ld a,[$D088] - cp a,2 - jp z,.next3\@ - inc b ; adjust MenuArrow_Counter -.next3\@ - ld a,b - and a - jr z,.next4\@ ; if press_A on Continue - cp a,1 - jp z,$5D52 ; if press_A on NewGame - call $5E8A ; if press_a on Options - ld a,1 - ld [$D08A],a - jp .next0\@ -.next4\@ - call $5DB5 - ld hl,$D126 - set 5,[hl] -.next6\@ - xor a - ld [$FFB3],a - ld [$FFB2],a - ld [$FFB4],a - call GetJoypadState - ld a,[$FFB4] - bit 0,a - jr nz,.next5\@ - bit 1,a - jp nz,.next0\@ - jr .next6\@ -.next5\@ - call $3DD4 - call ClearScreen - ld a,4 - ld [$D52A],a - ld c,10 - call DelayFrames - ld a,[$D5A2] - and a - jp z,$5D5F - ld a,[W_CURMAP] ; map ID - cp a,HALL_OF_FAME - jp nz,$5D5F - xor a - ld [$D71A],a - ld hl,$D732 - set 2,[hl] - call $62CE - jp $5D5F -Func_5bff: ; 0x5bff - ld a,1 - ld [$D358],a - ld a,3 - ld [$D355],a - ret -; 0x5c0a - -INCBIN "baserom.gbc",$5c0a,$5d43 - $5c0a - -UnnamedText_5d43: ; 0x5d43 - TX_FAR _UnnamedText_5d43 - db $50 -; 0x5d43 + 5 bytes - -UnnamedText_5d48: ; 0x5d48 - TX_FAR _UnnamedText_5d48 - db $50 -; 0x5d48 + 5 bytes - -UnnamedText_5d4d: ; 0x5d4d - TX_FAR _UnnamedText_5d4d - db $50 -; 0x5d4d + 5 bytes - -INCBIN "baserom.gbc",$5d52,$3c3 - -OakSpeech: ; 6115 - ld a,$FF - call $23B1 ; stop music - ld a,2 ; bank of song - ld c,a - ld a,$EF ; song # - call $23A1 ; plays music - call ClearScreen - call $36A0 - call $60CA - ld a,$18 - call Predef - ld hl,$D53A - ld a,$14 - ld [$CF91],a - ld a,1 - ld [$CF96],a - call $2BCF - ld a,[$D07C] - ld [$D71A],a - call Function62CE - xor a - ld [$FFD7],a - ld a,[$D732] - bit 1,a ; XXX when is bit 1 set? - jp nz,Function61BC ; easter egg: skip the intro - ld de,$615F - ld bc,$1300 - call IntroPredef3B ; displays Oak pic? - call FadeInIntroPic - ld hl,OakSpeechText1 - call PrintText ; prints text box - call GBFadeOut2 - call ClearScreen - ld a,NIDORINO - ld [$D0B5],a ; pic displayed is stored at this location - ld [$CF91],a - call $1537 ; this is also related to the pic - ld hl,$C3F6 ; position on tilemap the pic is displayed - call $1384 ; displays pic? - call MovePicLeft - ld hl,OakSpeechText2 - call PrintText ; Prints text box - call GBFadeOut2 - call ClearScreen - ld de,$6EDE - ld bc,$0400 ; affects the position of the player pic - call IntroPredef3B ; displays player pic? - call MovePicLeft - ld hl,IntroducePlayerText - call PrintText - call $695D ; brings up NewName/Red/etc menu - call GBFadeOut2 - call ClearScreen - ld de,$6049 - ld bc,$1300 - call IntroPredef3B ; displays rival pic - call FadeInIntroPic - ld hl,IntroduceRivalText - call PrintText - call $69A4 -Function61BC: ; 0x61bc - call GBFadeOut2 - call ClearScreen - ld de,$6EDE - ld bc,$0400 - call IntroPredef3B - call GBFadeIn2 - ld a,[$D72D] - and a - jr nz,.next\@ - ld hl,OakSpeechText3 - call PrintText -.next\@ ld a,[$FFB8] - push af - ld a,$9C - call $23B1 - pop af - ld [$FFB8],a - ld [$2000],a - ld c,4 - call DelayFrames - ld de,$4180 - ld hl,$8000 - ld bc,$050C - call $1848 - ld de,$6FE8 - ld bc,$0400 - call IntroPredef3B - ld c,4 - call DelayFrames - ld de,$7042 - ld bc,$0400 - call IntroPredef3B - call $28A6 - ld a,[$FFB8] - push af - ld a,2 - ld [$C0EF],a - ld [$C0F0],a - ld a,$A - ld [$CFC7],a - ld a,$FF - ld [$C0EE],a - call $23B1 ; stop music - pop af - ld [$FFB8],a - ld [$2000],a - ld c,$14 - call DelayFrames - ld hl,$C40A - ld b,7 - ld c,7 - call $18C4 - call $36A0 - ld a,1 - ld [$CFCB],a - ld c,$32 - call DelayFrames - call GBFadeOut2 - jp ClearScreen -OakSpeechText1: ; 0x6253 - TX_FAR _OakSpeechText1 - db "@" -OakSpeechText2: ; 0x6258 - TX_FAR _OakSpeechText2A - db $14 - TX_FAR _OakSpeechText2B - db "@" -IntroducePlayerText: ; 0x6262 - TX_FAR _IntroducePlayerText - db "@" -IntroduceRivalText: ; 0x6267 - TX_FAR _IntroduceRivalText - db "@" -OakSpeechText3: ; 0x626c - TX_FAR _OakSpeechText3 - db "@" - -FadeInIntroPic: ; 0x6271 - ld hl,IntroFadePalettes - ld b,6 -.next\@ - ld a,[hli] - ld [rBGP],a - ld c,10 - call DelayFrames - dec b - jr nz,.next\@ - ret - -IntroFadePalettes: ; 0x6282 - db %01010100 - db %10101000 - db %11111100 - db %11111000 - db %11110100 - db %11100100 - -MovePicLeft: ; 0x6288 - ld a,119 - ld [$FF4B],a - call DelayFrame - - ld a,$E4 - ld [rBGP],a -.next\@ - call DelayFrame - ld a,[$FF4B] - sub 8 - cp $FF - ret z - ld [$FF4B],a - jr .next\@ - -Predef3B: ; 62A1 - call $3E94 -IntroPredef3B: ; 62A4 - push bc - ld a,b - call $36EB - ld hl,$A188 - ld de,$A000 - ld bc,$0310 - call CopyData - ld de,$9000 - call $16EA - pop bc - ld a,c - and a - ld hl,$C3C3 - jr nz,.next\@ - ld hl,$C3F6 -.next\@ - xor a - ld [$FFE1],a - ld a,1 - jp $3E6D - -Function62CE: ; 62CE XXX called by 4B2 948 989 5BF9 5D15 - call $62FF - ld a,$19 - call $3E6D - ld hl,$D732 - bit 2,[hl] - res 2,[hl] - jr z,.next\@ - ld a,[$D71A] - jr .next2\@ -.next\@ - bit 1,[hl] - jr z,.next3\@ - call $64EA -.next3\@ - ld a,0 -.next2\@ - ld b,a - ld a,[$D72D] - and a - jr nz,.next4\@ - ld a,b -.next4\@ - ld hl,$D732 - bit 4,[hl] - ret nz - ld [$D365],a - ret - -INCBIN "baserom.gbc",$62FF,$6420-$62FF - -FirstMapSpec: ; 0x6420 - db REDS_HOUSE_2F ; RedsHouse2F -; Original Format: -; [Event Displacement][Y-block][X-block][Y-sub_block][X-sub_block] -; Macro Format: -; FLYWARP_DATA [Map Width][Y-pos][X-pos] - FLYWARP_DATA 4,6,3 - db $04 ;Tileset_id - -INCBIN "baserom.gbc",$6428,$6448-$6428 - -FlyWarpDataPtr: ; 0x6448 - db $00,0 - dw Map00FlyWarp - db $01,0 - dw Map01FlyWarp - db $02,0 - dw Map02FlyWarp - db $03,0 - dw Map03FlyWarp - db $04,0 - dw Map04FlyWarp - db $05,0 - dw Map05FlyWarp - db $06,0 - dw Map06FlyWarp - db $07,0 - dw Map07FlyWarp - db $08,0 - dw Map08FlyWarp - db $09,0 - dw Map09FlyWarp - db $0A,0 - dw Map0aFlyWarp - db $0F,0 - dw Map0fFlyWarp - db $15,0 - dw Map15FlyWarp - -; Original Format: -; [Event Displacement][Y-block][X-block][Y-sub_block][X-sub_block] -; Macro Format: -; FLYWARP_DATA [Map Width][Y-pos][X-pos] -Map00FlyWarp: ; 0x647c - FLYWARP_DATA 10,6,5 -Map01FlyWarp: ; 0x6482 - FLYWARP_DATA 20,26,23 -Map02FlyWarp: ; 0x6488 - FLYWARP_DATA 20,26,13 -Map03FlyWarp: ; 0x648e - FLYWARP_DATA 20,18,19 -Map04FlyWarp: ; 0x6494 - FLYWARP_DATA 10,6,3 -Map05FlyWarp: ; 0x649a - FLYWARP_DATA 20,4,11 -Map06FlyWarp: ; 0x64a0 - FLYWARP_DATA 25,10,41 -Map07FlyWarp: ; 0x64a6 - FLYWARP_DATA 20,28,19 -Map08FlyWarp: ; 0x64ac - FLYWARP_DATA 10,12,11 -Map09FlyWarp: ; 0x64b2 - FLYWARP_DATA 10,6,9 -Map0aFlyWarp: ; 0x64b8 - FLYWARP_DATA 20,30,9 -Map0fFlyWarp: ; 0x64be - FLYWARP_DATA 45,6,11 -Map15FlyWarp: ; 0x64c4 - FLYWARP_DATA 10,20,11 - -INCBIN "baserom.gbc",$64ca,$6557 - $64ca - -UnnamedText_6557: ; 0x6557 - TX_FAR _UnnamedText_6557 - db $50 -; 0x6557 + 5 bytes - -INCBIN "baserom.gbc",$655c,$699f - $655c - -UnnamedText_699f: ; 0x699f - TX_FAR _UnnamedText_699f - db $50 -; 0x699f + 5 bytes - -; 0x69a4 - call Unnamed_6a12 ; 0x69a4 call 0x6a12 - ld de, DefaultNamesRival -; 0x69aa - -INCBIN "baserom.gbc",$69AA,$69B3 - $69AA - -ld hl, DefaultNamesRivalList - -INCBIN "baserom.gbc",$69b6,$69e7 - $69b6 - -UnnamedText_69e7: ; 0x69e7 - TX_FAR _UnnamedText_69e7 - db $50 -; 0x69e7 + 5 bytes - -INCBIN "baserom.gbc",$69ec,$6a12 - $69ec - -Unnamed_6a12: ; 0x6a12 -INCBIN "baserom.gbc",$6a12,$6aa8 - $6a12 - -IF _RED -DefaultNamesPlayer: ; 0x6aa8 22 - db "NEW NAME",$4E,"RED",$4E,"ASH",$4E,"JACK@" -DefaultNamesRival: ; 0x6abe 24 - db "NEW NAME",$4E,"BLUE",$4E,"GARY",$4E,"JOHN@" -ENDC -IF _BLUE -DefaultNamesPlayer: - db "NEW NAME",$4E,"BLUE",$4E,"GARY",$4E,"JOHN@" -DefaultNamesRival: - db "NEW NAME",$4E,"RED",$4E,"ASH",$4E,"JACK@" -ENDC - -INCBIN "baserom.gbc",$6AD6,$6AF2 - $6AD6 - -IF _RED -DefaultNamesPlayerList: ; 0x6AF2 22 - db "NEW NAME@RED@ASH@JACK@" -DefaultNamesRivalList: ; 0x6b08 25 - db "NEW NAME@BLUE@GARY@JOHN@@" -ENDC -IF _BLUE -DefaultNamesPlayerList: - db "NEW NAME@BLUE@GARY@JOHN@" -DefaultNamesRivalList: - db "NEW NAME@RED@ASH@JACK@@" -ENDC - -INCBIN "baserom.gbc",$6b21,$6e0c - $6b21 - -UnnamedText_6e0c: ; 0x6e0c - TX_FAR _UnnamedText_6e0c - db $50 -; 0x6e0c + 5 bytes - -UnnamedText_6e11: ; 0x6e11 - TX_FAR _UnnamedText_6e11 - db $50 -; 0x6e11 + 5 bytes - -UnnamedText_6e16: ; 0x6e16 - TX_FAR _UnnamedText_6e16 - db $50 -; 0x6e16 + 5 bytes - -UnnamedText_6e1b: ; 0x6e1b - TX_FAR _UnnamedText_6e1b - db $50 -; 0x6e1b + 5 bytes - -UnnamedText_6e20: ; 0x6e20 - TX_FAR _UnnamedText_6e20 - db $50 -; 0x6e20 + 5 bytes - -UnnamedText_6e25: ; 0x6e25 - TX_FAR _UnnamedText_6e25 - db $50 -; 0x6e25 + 5 bytes - -UnnamedText_6e2a: ; 0x6e2a - TX_FAR _UnnamedText_6e2a - db $50 -; 0x6e2a + 5 bytes - -UnnamedText_6e2f: ; 0x6e2f - TX_FAR _UnnamedText_6e2f - db $50 -; 0x6e2f + 5 bytes - -UnnamedText_6e34: ; 0x6e34 - TX_FAR _UnnamedText_6e34 - db $50 -; 0x6e34 + 5 bytes - -UnnamedText_6e39: ; 0x6e39 - TX_FAR _UnnamedText_6e39 - db $50 -; 0x6e39 + 5 bytes - -UnnamedText_6e3e: ; 0x6e3e - TX_FAR _UnnamedText_6e3e - db $50 -; 0x6e3e + 5 bytes - -INCBIN "baserom.gbc",$6e43,$6fb4 - $6e43 - -UnnamedText_6fb4: ; 0x6fb4 - TX_FAR _UnnamedText_6fb4 - db $50 -; 0x6fb4 + 5 bytes - -UnnamedText_6fb9: ; 0x6fb9 - TX_FAR _UnnamedText_6fb9 - db $50 -; 0x6fb9 + 5 bytes - -UnnamedText_6fbe: ; 0x6fbe - TX_FAR _UnnamedText_6fbe - db $50 -; 0x6fbe + 5 bytes - -UnnamedText_6fc3: ; 0x6fc3 - TX_FAR _UnnamedText_6fc3 - db $50 -; 0x6fc3 + 5 bytes - -UnnamedText_6fc8: ; 0x6fc8 - TX_FAR _UnnamedText_6fc8 ; 0xa2819 - db $a - db $8 - ld a, $ae - call $3740 - ld hl, $6fd7 - ret -; 0x6fd7 - -UnnamedText_6fd7: ; 0x6fd7 - TX_FAR _UnnamedText_6fd7 ; 0xa2827 - db $a ; 0x6fdb -UnnamedText_6fdc: ; 0x6fdc - TX_FAR _UnnamedText_6fdc - db $50 -; 0x6fe1 - -UnnamedText_6fe1: ; 0x6fe1 - TX_FAR _UnnamedText_6fe1 - db $50 -; 0x6fe1 + 5 bytes - -Unnamed_6fe6: ; 0x6fe6 - call $3719 - ld hl, $705d - call PrintText - ld hl, $d72e - bit 2, [hl] - set 1, [hl] - set 2, [hl] - jr nz, .asm_7000 ; 0x6ff8 $6 - ld hl, $7062 - call PrintText -.asm_7000 - call $360a - ld a, [$cc26] - and a - jr nz, .asm_7051 ; 0x7007 $48 - call $7078 - call $3725 - ld hl, $7068 - call PrintText - ld a, $18 - ld [$c112], a - call Delay3 - ld a, $7 - call Predef - ld b, $1c - ld hl, $4433 - call Bankswitch - xor a - ld [$cfc7], a - ld a, [$c0f0] - ld [$c0ef], a - ld a, [$d35b] - ld [$cfca], a - ld [$c0ee], a - call $23b1 - ld hl, $706d - call PrintText - ld a, $14 - ld [$c112], a - ld c, a - call DelayFrames - jr .asm_7054 ; 0x704f $3 -.asm_7051 - call $3725 -.asm_7054 - ld hl, $7072 - call PrintText - jp $2429 -; 0x705d - -UnnamedText_705d: ; 0x705d - TX_FAR _UnnamedText_705d - db $50 -; 0x705d + 5 bytes - -; 0x7062 -db $a - -UnnamedText_7063: ; 0x7063 - TX_FAR _UnnamedText_7063 - db $50 -; 0x7063 + 5 bytes - -UnnamedText_7068: ; 0x7068 - TX_FAR _UnnamedText_7068 - db $50 -; 0x7068 + 5 bytes - -UnnamedText_706d: ; 0x706d - TX_FAR _UnnamedText_706d - db $50 -; 0x706d + 5 bytes - -db $a - -UnnamedText_7073: ; 0x7073 - TX_FAR _UnnamedText_7073 - db $50 -; 0x7078 - -Unknown_7078: ; 0x7078 - push hl - ld hl, $7092 - ld a, [$d35e] - ld b, a -.asm_7080 - ld a, [hli] - cp $ff - jr z, .asm_708a ; 0x7083 $5 - cp b - jr nz, .asm_7080 ; 0x7086 $f8 - jr .asm_7090 ; 0x7088 $6 -.asm_708a - ld a, [$d365] - ld [$d719], a -.asm_7090 - pop hl - ret -; 0x7092 - -Unknown_7092: ; 0x7092 -INCBIN "baserom.gbc",$7092,4 - -; function that performs initialization for DisplayTextID -DisplayTextIDInit: ; 7096 - xor a - ld [$cf94],a - ld a,[$cf0c] - bit 0,a - jr nz,.skipDrawingTextBoxBorder\@ - ld a,[$ff8c] ; text ID (or sprite ID) - and a - jr nz,.notStartMenu\@ -; if text ID is 0 (i.e. the start menu) -; Note that the start menu text border is also drawn in the function directly -; below this, so this seems unnecessary. - ld a,[$d74b] - bit 5,a ; does the player have the pokedex? -; start menu with pokedex - ld hl,$c3aa - ld b,$0e - ld c,$08 - jr nz,.drawTextBoxBorder\@ -; start menu without pokedex - ld hl,$c3aa - ld b,$0c - ld c,$08 - jr .drawTextBoxBorder\@ -; if text ID is not 0 (i.e. not the start menu) then do a standard dialogue text box -.notStartMenu\@ - ld hl,$c490 - ld b,$04 - ld c,$12 -.drawTextBoxBorder\@ - call TextBoxBorder -.skipDrawingTextBoxBorder\@ - ld hl,$cfc4 - set 0,[hl] - ld hl,$cd60 - bit 4,[hl] - res 4,[hl] - jr nz,.skipMovingSprites\@ - call $2429 ; move sprites -.skipMovingSprites\@ -; loop to copy C1X9 (direction the sprite is facing) to C2X9 for each sprite -; this is done because when you talk to an NPC, they turn to look your way -; the original direction they were facing must be restored after the dialogue is over - ld hl,$c119 - ld c,$0f - ld de,$0010 -.spriteFacingDirectionCopyLoop\@ - ld a,[hl] - inc h - ld [hl],a - dec h - add hl,de - dec c - jr nz,.spriteFacingDirectionCopyLoop\@ -; loop to force all the sprites in the middle of animation to stand still -; (so that they don't like they're frozen mid-step during the dialogue) - ld hl,$c102 - ld de,$0010 - ld c,e -.spriteStandStillLoop\@ - ld a,[hl] - cp a,$ff ; is the sprite visible? - jr z,.nextSprite\@ -; if it is visible - and a,$fc - ld [hl],a -.nextSprite\@ - add hl,de - dec c - jr nz,.spriteStandStillLoop\@ - ld b,$9c ; window background address - call $18d6 ; transfer background in WRAM to VRAM - xor a - ld [$ffb0],a ; put the window on the screen - call $3680 ; transfer tile pattern data for text into VRAM - ld a,$01 - ld [$ffba],a ; enable continuous WRAM to VRAM transfer each V-blank - ret - -; function that displays the start menu -DrawStartMenu: ; 710B - ld a,[$d74b] - bit 5,a ; does the player have the pokedex? -; menu with pokedex - ld hl,$c3aa - ld b,$0e - ld c,$08 - jr nz,.drawTextBoxBorder\@ -; shorter menu if the player doesn't have the pokedex - ld hl,$c3aa - ld b,$0c - ld c,$08 -.drawTextBoxBorder\@ - call TextBoxBorder - ld a,%11001011 ; bit mask for down, up, start, B, and A buttons - ld [$cc29],a - ld a,$02 - ld [$cc24],a ; Y position of first menu choice - ld a,$0b - ld [$cc25],a ; X position of first menu choice - ld a,[$cc2d] ; remembered menu selection from last time - ld [$cc26],a - ld [$cc2a],a - xor a - ld [$cc37],a - ld hl,$d730 - set 6,[hl] ; no pauses between printing each letter - ld hl,$c3d4 - ld a,[$d74b] - bit 5,a ; does the player have the pokedex? -; case for not having pokdex - ld a,$06 - jr z,.storeMenuItemCount\@ -; case for having pokedex - ld de,StartMenuPokedexText - call PrintStartMenuItem - ld a,$07 -.storeMenuItemCount\@ - ld [$cc28],a ; number of menu items - ld de,StartMenuPokemonText - call PrintStartMenuItem - ld de,StartMenuItemText - call PrintStartMenuItem - ld de,$d158 ; player's name - call PrintStartMenuItem - ld a,[$d72e] - bit 6,a ; is the player using the link feature? -; case for not using link feature - ld de,StartMenuSaveText - jr z,.printSaveOrResetText\@ -; case for using link feature - ld de,StartMenuResetText -.printSaveOrResetText\@ - call PrintStartMenuItem - ld de,StartMenuOptionText - call PrintStartMenuItem - ld de,StartMenuExitText - call PlaceString - ld hl,$d730 - res 6,[hl] ; turn pauses between printing letters back on - ret - -StartMenuPokedexText: ; 718F -db "POKéDEX@" - -StartMenuPokemonText: ; 7197 -db "POKéMON@" - -StartMenuItemText: ; 719F -db "ITEM@" - -StartMenuSaveText: ; 71A4 -db "SAVE@" - -StartMenuResetText: ; 71A9 -db "RESET@" - -StartMenuExitText: ; 71AF -db "EXIT@" - -StartMenuOptionText: ; 71B4 -db "OPTION@" - -PrintStartMenuItem: ; 71BB - push hl - call PlaceString - pop hl - ld de,$28 - add hl,de - ret - -Unknown_71c5: ; 0x71c5 - ld hl, $72b8 - call PrintText - ld a, [$d74b] - bit 5, a - jp nz, $71e1 - ld c, $3c - call DelayFrames - ld hl, $72d2 - call PrintText - jp $7298 -; 0x71e1 - -Unknown_71e1: ; 0x71e1 - ld a, $1 - ld [$cc34], a - ld a, $5a - ld [$cc47], a -.asm_71eb - ld a, [$ff00+$aa] - cp $2 - jr z, .asm_721a ; 0x71ef $29 - cp $1 - jr z, .asm_721a ; 0x71f3 $25 - ld a, $ff - ld [$ff00+$aa], a - ld a, $2 - ld [$ff00+$1], a - xor a - ld [$ff00+$ad], a - ld a, $80 - ld [$ff00+$2], a - ld a, [$cc47] - dec a - ld [$cc47], a - jr z, .asm_7287 ; 0x720b $7a - ld a, $1 - ld [$ff00+$1], a - ld a, $81 - ld [$ff00+$2], a - call DelayFrame - jr .asm_71eb ; 0x7218 $d1 -.asm_721a - call $22ed - call DelayFrame - call $22ed - ld c, $32 - call DelayFrames - ld hl, $72bd - call PrintText - xor a - ld [$cc34], a - call $35ec - ld a, $1 - ld [$cc34], a - ld a, [$cc26] - and a - jr nz, .asm_728f ; 0x723e $4f - ld hl, $7848 - ld b, $1c - call Bankswitch - call $3748 - ld a, $b6 - call $3740 - ld hl, $72c2 - call PrintText - ld hl, $cc47 - ld a, $3 - ld [hli], a - xor a - ld [hl], a - ld [$ff00+$a9], a - ld [$cc42], a - call $227f - ld hl, $cc47 - ld a, [hli] - inc a - jr nz, .asm_72a8 ; 0x726b $3b - ld a, [hl] - inc a - jr nz, .asm_72a8 ; 0x726f $37 - ld b, $a -.asm_7273 - call DelayFrame - call $22ed - dec b - jr nz, .asm_7273 ; 0x727a $f7 - call $72d7 - ld hl, $72c8 - call PrintText - jr .asm_7298 ; 0x7285 $11 -.asm_7287 - ld hl, $72b3 - call PrintText - jr .asm_7298 ; 0x728d $9 -.asm_728f - call $72d7 - ld hl, $72cd - call PrintText -.asm_7298 - xor a - ld hl, $cc47 - ld [hli], a - ld [hl], a - ld hl, $d72e - res 6, [hl] - xor a - ld [$cc34], a - ret -.asm_72a8 - xor a - ld [hld], a - ld [hl], a - ld hl, $5c0a - ld b, $1 - jp Bankswitch -; 0x72b3 - -UnnamedText_72b3: ; 0x72b3 - TX_FAR _UnnamedText_72b3 - db $50 -; 0x72b3 + 5 bytes - -UnnamedText_72b8: ; 0x72b8 - TX_FAR _UnnamedText_72b8 - db $50 -; 0x72b8 + 5 bytes - -UnnamedText_72bd: ; 0x72bd - TX_FAR _UnnamedText_72bd - db $50 -; 0x72bd + 5 bytes - -UnnamedText_72c2: ; 0x72c2 - TX_FAR UnnamedText_a29cc - db $a, $50 - -UnnamedText_72c8: ; 0x72c8 - TX_FAR _UnnamedText_72c8 - db $50 -; 0x72c8 + 5 bytes - -UnnamedText_72cd: ; 0x72cd - TX_FAR _UnnamedText_72cd - db $50 -; 0x72cd + 5 bytes - -UnnamedText_72d2: ; 0x72d2 - TX_FAR _UnnamedText_72d2 - db $50 -; 0x72d2 + 5 bytes - -INCBIN "baserom.gbc",$72d7,$4b6 - -FieldMoveNames: ; 778D - db "CUT@" - db "FLY@" - db "@" - db "SURF@" - db "STRENGTH@" - db "FLASH@" - db "DIG@" - db "TELEPORT@" - db "SOFTBOILED@" - -PokemonMenuEntries: ; 77C2 - db "STATS",$4E - db "SWITCH",$4E - db "CANCEL@" - -INCBIN "baserom.gbc",$77d6,$78dc - $77d6 - -UnnamedText_78dc: ; 0x78dc - TX_FAR _UnnamedText_78dc - db $50 -; 0x78dc + 5 bytes - -UnnamedText_78e1: ; 0x78e1 - TX_FAR _UnnamedText_78e1 - db $50 -; 0x78e1 + 5 bytes - -INCBIN "baserom.gbc",$78e6,$20f - -PlayersPCMenuEntries: ; 7AF5 - db "WITHDRAW ITEM",$4E - db "DEPOSIT ITEM",$4E - db "TOSS ITEM",$4E - db "LOG OFF@" - -UnnamedText_7b22: ; 0x7b22 - TX_FAR _UnnamedText_7b22 - db $50 -; 0x7b22 + 5 bytes - -UnnamedText_7b27: ; 0x7b27 - TX_FAR _UnnamedText_7b27 - db $50 -; 0x7b27 + 5 bytes - -UnnamedText_7b2c: ; 0x7b2c - TX_FAR _UnnamedText_7b2c - db $50 -; 0x7b2c + 5 bytes - -UnnamedText_7b31: ; 0x7b31 - TX_FAR _UnnamedText_7b31 - db $50 -; 0x7b31 + 5 bytes - -UnnamedText_7b36: ; 0x7b36 - TX_FAR _UnnamedText_7b36 - db $50 -; 0x7b36 + 5 bytes - -UnnamedText_7b3b: ; 0x7b3b - TX_FAR _UnnamedText_7b3b - db $50 -; 0x7b3b + 5 bytes - -UnnamedText_7b40: ; 0x7b40 - TX_FAR _UnnamedText_7b40 - db $50 -; 0x7b40 + 5 bytes - -UnnamedText_7b45: ; 0x7b45 - TX_FAR _UnnamedText_7b45 - db $50 -; 0x7b45 + 5 bytes - -UnnamedText_7b4a: ; 0x7b4a - TX_FAR _UnnamedText_7b4a - db $50 -; 0x7b4a + 5 bytes - -UnnamedText_7b4f: ; 0x7b4f - TX_FAR _UnnamedText_7b4f - db $50 -; 0x7b4f + 5 bytes - -UnnamedText_7b54: ; 0x7b54 - TX_FAR _UnnamedText_7b54 - db $50 -; 0x7b54 + 5 bytes - -UnnamedText_7b59: ; 0x7b59 - TX_FAR _UnnamedText_7b59 - db $50 -; 0x7b59 + 5 bytes - -UnnamedText_7b5e: ; 0x7b5e - TX_FAR _UnnamedText_7b5e - db $50 -; 0x7b5e + 5 bytes - -UnnamedText_7b63: ; 0x7b63 - TX_FAR _UnnamedText_7b63 - db $50 -; 0x7b63 + 5 bytes - -INCBIN "baserom.gbc",$7b68,$e1 - -SECTION "bank2",DATA,BANK[$2] - -INCBIN "baserom.gbc",$8000,$822E - $8000 - -;Music Headers -;Pallet Town -PalletTown_mh: ; 0x822E - 0x8236 - db $80 - dw PalletTown_md_1 ;Channel 1 ($A7C5 - $A85E) - db $01 - dw PalletTown_md_2 ;Channel 2 ($A85f - $A8DD) - db $02 - dw PalletTown_md_3 ;Channel 3 ($A8DE - $AA75) - -;Pokemon Center -Pokecenter_mh: ; 0x8237 - 0x823F - db $80 - dw Pokecenter_md_1 ;Channel 1 ($BE56 - $BEF8) - db $01 - dw Pokecenter_md_2 ;Channel 2 ($BEF9 - $BF6F) - db $02 - dw Pokecenter_md_3 ;Channel 3 ($BF70 - $BFFF) - -;Gyms -Gym_mh: ; 0x8240 - 0x8248 - db $80 - dw Gym_md_1 ;Channel 1 ($BCBB - $BD6A) - db $01 - dw Gym_md_2 ;Channel 2 ($BD6B - $BDF9) - db $02 - dw Gym_md_3 ;Channel 3 ($BDFA - $BE55) - -;Viridian City, Pewter City, Saffron City -Cities1_mh: ; 0x8249 - 0x8254 - db $C0 - dw Cities1_md_1 ;Channel 1 - db $01 - dw Cities1_md_2 ;Channel 2 - db $02 - dw Cities1_md_3 ;Channel 3 - db $03 - dw Cities1_md_4 ;Channel 4 - -;Cerulean City, Fuchsia City -Cities2_mh: ; 0x8255 - 0x825D - db $80 - dw Cities2_md_1 ;Channel 1 - db $01 - dw Cities2_md_2 ;Channel 2 - db $02 - dw Cities2_md_3 ;Channel 3 - -;Celadon City -Celadon_mh: ; 0x825E - 0x8266 - db $80 - dw Celadon_md_1 ;Channel 1 - db $01 - dw Celadon_md_2 ;Channel 2 - db $02 - dw Celadon_md_3 ;Channel 3 - -;Cinnabar Island -Cinnabar_mh: ; 0x8267 - 0x826F - db $80 - dw Cinnabar_md_1 ;Channel 1 - db $01 - dw Cinnabar_md_2 ;Channel 2 - db $02 - dw Cinnabar_md_3 ;Channel 3 - -;Vermilion City -Vermilion_mh: ; 0x8270 - 0x827B - db $C0 - dw Vermilion_md_1 ;Channel 1 - db $01 - dw Vermilion_md_2 ;Channel 2 - db $02 - dw Vermilion_md_3 ;Channel 3 - db $03 - dw Vermilion_md_4 ;Channel 4 - -;Lavender Town -Lavender_mh: ; 0x827C - 0x8287 - db $C0 - dw Lavender_md_1 ;Channel 1 - db $01 - dw Lavender_md_2 ;Channel 2 - db $02 - dw Lavender_md_3 ;Channel 3 - db $03 - dw Lavender_md_4 ;Channel 4 - -;SS Anne -SSAnne_mh: ; 0x8288 - 0x8290 - db $80 - dw SSAnne_md_1 ;Channel 1 - db $01 - dw SSAnne_md_2 ;Channel 2 - db $02 - dw SSAnne_md_3 ;Channel 3 - -;Meet Prof. Oak -MeetProfOak_mh: ; 0x8291 - 0x8299 - db $80 - dw MeetProfOak_md_1 ;Channel 1 - db $01 - dw MeetProfOak_md_2 ;Channel 2 - db $02 - dw MeetProfOak_md_3 ;Channel 3 - -;Meet Rival -MeetRival_mh: ; 0x829A - 0x82A2 - db $80 - dw MeetRival_md_1 ;Channel 1 - db $01 - dw MeetRival_md_2 ;Channel 2 - db $02 - dw MeetRival_md_3 ;Channel 3 - -;Guy walks you to museum -MuseumGuy_mh: ; 0x82A3 - 0x82AE - db $C0 - dw MuseumGuy_md_1 ;Channel 1 - db $01 - dw MuseumGuy_md_2 ;Channel 2 - db $02 - dw MuseumGuy_md_3 ;Channel 3 - db $03 - dw MuseumGuy_md_4 ;Channel 4 - -;Safari Zone -SafariZone_mh: ; 0x82AF - 0x82B7 - db $80 - dw SafariZone_md_1 ;Channel 1 - db $01 - dw SafariZone_md_2 ;Channel 2 - db $02 - dw SafariZone_md_3 ;Channel 3 - -;Pokemon Get Healed -PkmnHealed_mh: ; 0x82B8 - 0x82C0 - db $80 - dw PkmnHealed_md_1 ;Channel 1 - db $01 - dw PkmnHealed_md_2 ;Channel 2 - db $02 - dw PkmnHealed_md_3 ;Channel 3 - -;Routes 1 and 2 -Routes1_mh: ; 0x82C1 - 0x82CC - db $C0 - dw Routes1_md_1 ;Channel 1 - db $01 - dw Routes1_md_2 ;Channel 2 - db $02 - dw Routes1_md_3 ;Channel 3 - db $03 - dw Routes1_md_4 ;Channel 4 - -;Routes 24 and 25 -Routes2_mh: ; 0x82CD - 0x82D8 - db $C0 - dw Routes2_md_1 ;Channel 1 - db $01 - dw Routes2_md_2 ;Channel 2 - db $02 - dw Routes2_md_3 ;Channel 3 - db $03 - dw Routes2_md_4 ;Channel 4 - -;Routes 3, 4, 5, 6, 7, 8, 9, 10, 16, 17, 18, 19, 20, 21, 22 -Routes3_mh: ; 0x82D9 - 0x82E4 - db $C0 - dw Routes3_md_1 ;Channel 1 - db $01 - dw Routes3_md_2 ;Channel 2 - db $02 - dw Routes3_md_3 ;Channel 3 - db $03 - dw Routes3_md_4 ;Channel 4 - -;Routes 11, 12, 13, 14, 15 -Routes4_mh: ; 0x82E5 - 0x82F0 - db $C0 - dw Routes4_md_1 ;Channel 1 - db $01 - dw Routes4_md_2 ;Channel 2 - db $02 - dw Routes4_md_3 ;Channel 3 - db $03 - dw Routes4_md_4 ;Channel 4 - -;Indigo Plateau -IndigoPlateau_mh: ; 0x82F1 - 0x82FC - db $C0 - dw IndigoPlateau_md_1 ;Channel 1 - db $01 - dw IndigoPlateau_md_2 ;Channel 2 - db $02 - dw IndigoPlateau_md_3 ;Channel 3 - db $03 - dw IndigoPlateau_md_4 ;Channel 4 - -INCLUDE "music.asm" - -SECTION "bank3",DATA,BANK[$3] - -INCBIN "baserom.gbc",$C000,$C23D - $C000 - -; see also MapHeaderPointers -MapHeaderBanks: ; 423D - db BANK(PalletTown_h) ;PALLET_TOWN - db BANK(ViridianCity_h) ; VIRIDIAN_CITY - db BANK(PewterCity_h) ; PEWTER_CITY - db BANK(CeruleanCity_h) ; CERULEAN_CITY - db BANK(LavenderTown_h) ; LAVENDER_TOWN - db BANK(VermilionCity_h) ; VERMILION_CITY - db BANK(CeladonCity_h) ; CELADON_CITY - db BANK(FuchsiaCity_h) ; FUCHSIA_CITY - db BANK(CinnabarIsland_h) ; CINNABAR_ISLAND - db BANK(IndigoPlateau_h) ; INDIGO_PLATEAU - db BANK(SaffronCity_h) ; SAFFRON_CITY - db $1 ; unused - db BANK(Route1_h) ; ROUTE_1 - db BANK(Route2_h) ; ROUTE_2 - db BANK(Route3_h) ; ROUTE_3 - db BANK(Route4_h) ; ROUTE_4 - db BANK(Route5_h) ; ROUTE_5 - db BANK(Route6_h) ; ROUTE_6 - db BANK(Route7_h) ; ROUTE_7 - db BANK(Route8_h) ; ROUTE_8 - db BANK(Route9_h) ; ROUTE_9 - db BANK(Route10_h) ; ROUTE_10 - db BANK(Route11_h) ; ROUTE_11 - db BANK(Route12_h) ; ROUTE_12 - db BANK(Route13_h) ; ROUTE_13 - db BANK(Route14_h) ; ROUTE_14 - db BANK(Route15_h) ; ROUTE_15 - db BANK(Route16_h) ; ROUTE_16 - db BANK(Route17_h) ; ROUTE_17 - db BANK(Route18_h) ; ROUTE_18 - db BANK(Route19_h) ; ROUTE_19 - db BANK(Route20_h) ; ROUTE_20 - db BANK(Route21_h) ; ROUTE_21 - db BANK(Route22_h) ; ROUTE_22 - db BANK(Route23_h) ; ROUTE_23 - db BANK(Route24_h) ; ROUTE_24 - db BANK(Route25_h) ; ROUTE_25 - db BANK(RedsHouse1F_h) - db BANK(RedsHouse2F_h) - db BANK(BluesHouse_h) - db BANK(OaksLab_h) - db BANK(ViridianPokecenter_h) - db BANK(ViridianMart_h) - db BANK(School_h) - db BANK(ViridianHouse_h) - db BANK(ViridianGym_h) - db BANK(DiglettsCaveRoute2_h) - db BANK(ViridianForestexit_h) - db BANK(Route2House_h) - db BANK(Route2Gate_h) - db BANK(ViridianForestEntrance_h) - db BANK(ViridianForest_h) - db BANK(MuseumF1_h) - db BANK(MuseumF2_h) - db BANK(PewterGym_h) - db BANK(PewterHouse1_h) - db BANK(PewterMart_h) - db BANK(PewterHouse2_h) - db BANK(PewterPokecenter_h) - db BANK(MtMoon1_h) - db BANK(MtMoon2_h) - db BANK(MtMoon3_h) - db BANK(CeruleanHouseTrashed_h) - db BANK(CeruleanHouse2_h) - db BANK(CeruleanPokecenter_h) - db BANK(CeruleanGym_h) - db BANK(BikeShop_h) - db BANK(CeruleanMart_h) - db BANK(MtMoonPokecenter_h) - db BANK(CeruleanHouseTrashed_h) - db BANK(Route5Gate_h) - db BANK(UndergroundTunnelEntranceRoute5_h) - db BANK(DayCareM_h) - db BANK(Route6Gate_h) - db BANK(UndergroundTunnelEntranceRoute6_h) - db $17 ;FREEZE - db BANK(Route7Gate_h) - db BANK(UndergroundPathEntranceRoute7_h) - db $17 ;FREEZE - db BANK(Route8Gate_h) - db BANK(UndergroundPathEntranceRoute8_h) - db BANK(RockTunnelPokecenter_h) - db BANK(RockTunnel1_h) - db BANK(PowerPlant_h) - db BANK(Route11Gate_h) - db BANK(DiglettsCaveEntranceRoute11_h) - db BANK(Route11GateUpstairs_h) - db BANK(Route12Gate_h) - db BANK(BillsHouse_h) - db BANK(VermilionPokecenter_h) - db BANK(FanClub_h) - db BANK(VermilionMart_h) - db BANK(VermilionGym_h) - db BANK(VermilionHouse1_h) - db BANK(VermilionDock_h) - db BANK(SSAnne1_h) - db BANK(SSAnne2_h) - db BANK(SSAnne3_h) - db BANK(SSAnne4_h) - db BANK(SSAnne5_h) - db BANK(SSAnne6_h) - db BANK(SSAnne7_h) - db BANK(SSAnne8_h) - db BANK(SSAnne9_h) - db BANK(SSAnne10_h) - db $1D ;unused - db $1D ;unused - db $1D ;unused - db BANK(VictoryRoad1_h) - db $1D ;unused - db $1D ;unused - db $1D ;unused - db $1D ;unused - db BANK(Lance_h) - db $1D ;unused - db $1D ;unused - db $1D ;unused - db $1D ;unused - db BANK(HallofFameRoom_h) - db BANK(UndergroundPathNS_h) - db BANK(Gary_h) - db BANK(UndergroundPathWE_h) - db BANK(CeladonMart1_h) - db BANK(CeladonMart2_h) - db BANK(CeladonMart3_h) - db BANK(CeladonMart4_h) - db BANK(CeladonMartRoof_h) - db BANK(CeladonMartElevator_h) - db BANK(CeladonMansion1_h) - db BANK(CeladonMansion2_h) - db BANK(CeladonMansion3_h) - db BANK(CeladonMansion4_h) - db BANK(CeladonMansion5_h) - db BANK(CeladonPokecenter_h) - db BANK(CeladonGym_h) - db BANK(CeladonGameCorner_h) - db BANK(CeladonMart5_h) - db BANK(CeladonPrizeRoom_h) - db BANK(CeladonDiner_h) - db BANK(CeladonHouse_h) - db BANK(CeladonHotel_h) - db BANK(LavenderPokecenter_h) - db BANK(PokemonTower1_h) - db BANK(PokemonTower2_h) - db BANK(PokemonTower3_h) - db BANK(PokemonTower4_h) - db BANK(PokemonTower5_h) - db BANK(PokemonTower6_h) - db BANK(PokemonTower7_h) - db BANK(LavenderHouse1_h) - db BANK(LavenderMart_h) - db BANK(LavenderHouse2_h) - db BANK(FuchsiaMart_h) - db BANK(FuchsiaHouse1_h) - db BANK(FuchsiaPokecenter_h) - db BANK(FuchsiaHouse2_h) - db BANK(SafariZoneEntrance_h) - db BANK(FuchsiaGym_h) - db BANK(FuchsiaMeetingRoom_h) - db BANK(SeafoamIslands2_h) - db BANK(SeafoamIslands3_h) - db BANK(SeafoamIslands4_h) - db BANK(SeafoamIslands5_h) - db BANK(VermilionHouse2_h) - db BANK(FuchsiaHouse3_h) - db BANK(Mansion1_h) - db BANK(CinnabarGym_h) - db BANK(Lab1_h) - db BANK(Lab2_h) - db BANK(Lab3_h) - db BANK(Lab4_h) - db BANK(CinnabarPokecenter_h) - db BANK(CinnabarMart_h) - db $1D - db BANK(IndigoPlateauLobby_h) - db BANK(CopycatsHouseF1_h) - db BANK(CopycatsHouseF2_h) - db BANK(FightingDojo_h) - db BANK(SaffronGym_h) - db BANK(SaffronHouse1_h) - db BANK(SaffronMart_h) - db BANK(SilphCo1_h) - db BANK(SaffronPokecenter_h) - db BANK(SaffronHouse2_h) - db BANK(Route15Gate_h) - db $12 - db BANK(Route16GateMap_h) - db BANK(Route16GateUpstairs_h) - db BANK(Route16House_h) - db BANK(Route12House_h) - db BANK(Route18Gate_h) - db BANK(Route18GateHeader_h) - db BANK(SeafoamIslands1_h) - db BANK(Route22Gate_h) - db BANK(VictoryRoad2_h) - db BANK(Route12GateUpstairs_h) - db BANK(VermilionHouse3_h) - db BANK(DiglettsCave_h) - db BANK(VictoryRoad3_h) - db BANK(RocketHideout1_h) - db BANK(RocketHideout2_h) - db BANK(RocketHideout3_h) - db BANK(RocketHideout4_h) - db BANK(RocketHideoutElevator_h) - db $01 - db $01 - db $01 - db BANK(SilphCo2_h) - db BANK(SilphCo3_h) - db BANK(SilphCo4_h) - db BANK(SilphCo5_h) - db BANK(SilphCo6_h) - db BANK(SilphCo7_h) - db BANK(SilphCo8_h) - db BANK(Mansion2_h) - db BANK(Mansion3_h) - db BANK(Mansion4_h) - db BANK(SafariZoneEast_h) - db BANK(SafariZoneNorth_h) - db BANK(SafariZoneWest_h) - db BANK(SafariZoneCenter_h) - db BANK(SafariZoneRestHouse1_h) - db BANK(SafariZoneSecretHouse_h) - db BANK(SafariZoneRestHouse2_h) - db BANK(SafariZoneRestHouse3_h) - db BANK(SafariZoneRestHouse4_h) - db BANK(UnknownDungeon2_h) - db BANK(UnknownDungeon3_h) - db BANK(UnknownDungeon1_h) - db BANK(NameRater_h) - db BANK(CeruleanHouse3_h) - db $01 - db BANK(RockTunnel2_h) - db BANK(SilphCo9_h) - db BANK(SilphCo10_h) - db BANK(SilphCo11_h) - db BANK(SilphCoElevator_h) - db $11 - db $11 - db BANK(BattleCenterM_h) - db BANK(TradeCenterM_h) - db $11 - db $11 - db $11 - db $11 - db BANK(Lorelei_h) - db BANK(Bruno_h) - db BANK(Agatha_h) - -INCBIN "baserom.gbc",$C335,$C766-$C335 - ld hl, TilesetsHeadPtr - -INCBIN "baserom.gbc",$C769,$C7BE-$C769 - -TilesetsHeadPtr: ; 0xC7BE - TSETHEAD Tset00_Block,Tset00_GFX,Tset00_Coll,$FF,$FF,$FF,$52,2 - TSETHEAD Tset01_Block,Tset01_GFX,Tset01_Coll,$FF,$FF,$FF,$FF,0 - TSETHEAD Tset02_Block,Tset02_GFX,Tset02_Coll,$18,$19,$1E,$FF,0 - TSETHEAD Tset03_Block,Tset03_GFX,Tset03_Coll,$FF,$FF,$FF,$20,1 - TSETHEAD Tset01_Block,Tset01_GFX,Tset01_Coll,$FF,$FF,$FF,$FF,0 - TSETHEAD Tset05_Block,Tset05_GFX,Tset05_Coll,$3A,$FF,$FF,$FF,2 - TSETHEAD Tset02_Block,Tset02_GFX,Tset02_Coll,$18,$19,$1E,$FF,0 - TSETHEAD Tset05_Block,Tset05_GFX,Tset05_Coll,$3A,$FF,$FF,$FF,2 - TSETHEAD Tset08_Block,Tset08_GFX,Tset08_Coll,$FF,$FF,$FF,$FF,0 - TSETHEAD Tset09_Block,Tset09_GFX,Tset09_Coll,$17,$32,$FF,$FF,0 - TSETHEAD Tset09_Block,Tset09_GFX,Tset09_Coll,$17,$32,$FF,$FF,0 - TSETHEAD Tset0B_Block,Tset0B_GFX,Tset0B_Coll,$FF,$FF,$FF,$FF,0 - TSETHEAD Tset09_Block,Tset09_GFX,Tset09_Coll,$17,$32,$FF,$FF,0 - TSETHEAD Tset0D_Block,Tset0D_GFX,Tset0D_Coll,$FF,$FF,$FF,$FF,1 - TSETHEAD Tset0E_Block,Tset0E_GFX,Tset0E_Coll,$FF,$FF,$FF,$FF,1 - TSETHEAD Tset0F_Block,Tset0F_GFX,Tset0F_Coll,$12,$FF,$FF,$FF,0 - TSETHEAD Tset10_Block,Tset10_GFX,Tset10_Coll,$FF,$FF,$FF,$FF,0 - TSETHEAD Tset11_Block,Tset11_GFX,Tset11_Coll,$FF,$FF,$FF,$FF,1 - TSETHEAD Tset12_Block,Tset12_GFX,Tset12_Coll,$15,$36,$FF,$FF,0 - TSETHEAD Tset13_Block,Tset13_GFX,Tset13_Coll,$FF,$FF,$FF,$FF,0 - TSETHEAD Tset14_Block,Tset14_GFX,Tset14_Coll,$FF,$FF,$FF,$FF,0 - TSETHEAD Tset15_Block,Tset15_GFX,Tset15_Coll,$07,$17,$FF,$FF,0 - TSETHEAD Tset16_Block,Tset16_GFX,Tset16_Coll,$12,$FF,$FF,$FF,1 - TSETHEAD Tset17_Block,Tset17_GFX,Tset17_Coll,$FF,$FF,$FF,$45,1 -; 0xC8DE - -INCBIN "baserom.gbc",$C8DE,$C8F5-$C8DE - -; data for default hidden/shown -; objects for each map ($00-$F8) - -; Table of 2-Byte pointers, one pointer per map, -; goes up to Map_F7, ends with $FFFF. -MapHSPointers: ; 48F5 - dw MapHS00 - dw MapHS01 - dw MapHS02 - dw MapHS03 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS0A - dw MapHSXX - dw MapHSXX - dw MapHS0D - dw MapHSXX - dw MapHS0F - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS14 - dw MapHSXX - dw MapHSXX - dw MapHS17 - dw MapHSXX - dw MapHSXX - dw MapHS1A - dw MapHS1B - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS21 - dw MapHSXX - dw MapHS23 - dw MapHS24 - dw MapHSXX - dw MapHSXX - dw MapHS27 - dw MapHS28 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS2D - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS33 - dw MapHS34 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS3B - dw MapHSXX - dw MapHS3D - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS53 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS58 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS60 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS66 - dw MapHS67 - dw MapHS68 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS6C - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS78 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS84 - dw MapHSXX - dw MapHSXX - dw MapHS87 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS8F - dw MapHS90 - dw MapHS91 - dw MapHS92 - dw MapHS93 - dw MapHS94 - dw MapHS95 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS9B - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS9F - dw MapHSA0 - dw MapHSA1 - dw MapHSA2 - dw MapHSXX - dw MapHSXX - dw MapHSA5 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSB1 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSB5 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSC0 - dw MapHSXX - dw MapHSC2 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSC6 - dw MapHSC7 - dw MapHSC8 - dw MapHSC9 - dw MapHSCA - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSCF - dw MapHSD0 - dw MapHSD1 - dw MapHSD2 - dw MapHSD3 - dw MapHSD4 - dw MapHSD5 - dw MapHSD6 - dw MapHSD7 - dw MapHSD8 - dw MapHSD9 - dw MapHSDA - dw MapHSDB - dw MapHSDC - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSE2 - dw MapHSE3 - dw MapHSE4 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSE9 - dw MapHSEA - dw MapHSEB - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSF4 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw $FFFF - -; Structure: -; 3 bytes per object -; [Map_ID][Object_ID][H/S] -; -; Program stops reading when either: -; a) Map_ID = $FF -; b) Map_ID ≠ currentMapID -; -; This Data is loaded into RAM at $D5CE-$D5F?. - -; These constants come from the bytes for Predef functions: -Hide equ $11 -Show equ $15 - -MapHSXX: - db $FF,$FF,$FF -MapHS00: - db PALLET_TOWN,$01,Hide -MapHS01: - db VIRIDIAN_CITY,$05,Show - db VIRIDIAN_CITY,$07,Hide -MapHS02: - db PEWTER_CITY,$03,Show - db PEWTER_CITY,$05,Show -MapHS03: - db CERULEAN_CITY,$01,Hide - db CERULEAN_CITY,$02,Show - db CERULEAN_CITY,$06,Hide - db CERULEAN_CITY,$0A,Show - db CERULEAN_CITY,$0B,Show -MapHS0A: - db SAFFRON_CITY,$01,Show - db SAFFRON_CITY,$02,Show - db SAFFRON_CITY,$03,Show - db SAFFRON_CITY,$04,Show - db SAFFRON_CITY,$05,Show - db SAFFRON_CITY,$06,Show - db SAFFRON_CITY,$07,Show - db SAFFRON_CITY,$08,Hide - db SAFFRON_CITY,$09,Hide - db SAFFRON_CITY,$0A,Hide - db SAFFRON_CITY,$0B,Hide - db SAFFRON_CITY,$0C,Hide - db SAFFRON_CITY,$0D,Hide - db SAFFRON_CITY,$0E,Show - db SAFFRON_CITY,$0F,Hide -MapHS0D: - db ROUTE_2,$01,Show - db ROUTE_2,$02,Show -MapHS0F: - db ROUTE_4,$03,Show -MapHS14: - db ROUTE_9,$0A,Show -MapHS17: - db ROUTE_12,$01,Show - db ROUTE_12,$09,Show - db ROUTE_12,$0A,Show -MapHS1A: - db ROUTE_15,$0B,Show -MapHS1B: - db ROUTE_16,$07,Show -MapHS21: - db ROUTE_22,$01,Hide - db ROUTE_22,$02,Hide -MapHS23: - db ROUTE_24,$01,Show - db ROUTE_24,$08,Show -MapHS24: - db ROUTE_25,$0A,Show -MapHS27: - db BLUES_HOUSE,$01,Show - db BLUES_HOUSE,$02,Hide - db BLUES_HOUSE,$03,Show -MapHS28: - db OAKS_LAB,$01,Show - db OAKS_LAB,$02,Show - db OAKS_LAB,$03,Show - db OAKS_LAB,$04,Show - db OAKS_LAB,$05,Hide - db OAKS_LAB,$06,Show - db OAKS_LAB,$07,Show - db OAKS_LAB,$08,Hide -MapHS2D: - db VIRIDIAN_GYM,$01,Show - db VIRIDIAN_GYM,$0B,Show -MapHS34: - db MUSEUM_1F,$05,Show -MapHSE4: - db UNKNOWN_DUNGEON_1,$01,Show - db UNKNOWN_DUNGEON_1,$02,Show - db UNKNOWN_DUNGEON_1,$03,Show -MapHS8F: - db POKEMONTOWER_2,$01,Show -MapHS90: - db POKEMONTOWER_3,$04,Show -MapHS91: - db POKEMONTOWER_4,$04,Show - db POKEMONTOWER_4,$05,Show - db POKEMONTOWER_4,$06,Show -MapHS92: - db POKEMONTOWER_5,$06,Show -MapHS93: - db POKEMONTOWER_6,$04,Show - db POKEMONTOWER_6,$05,Show -MapHS94: - db POKEMONTOWER_7,$01,Show - db POKEMONTOWER_7,$02,Show - db POKEMONTOWER_7,$03,Show - db POKEMONTOWER_7,$04,Show -MapHS95: - db LAVENDER_HOUSE_1,$05,Hide -MapHS84: - db CELADON_MANSION_5,$02,Show -MapHS87: - db GAME_CORNER,$0B,Show -MapHS9B: - db FUCHSIA_HOUSE_2,$02,Show -MapHSA5: - db MANSION_1,$02,Show - db MANSION_1,$03,Show -MapHSB1: - db FIGHTINGDOJO,$06,Show - db FIGHTINGDOJO,$07,Show -MapHSB5: - db SILPH_CO_1F,$01,Hide -MapHS53: - db POWER_PLANT,$01,Show - db POWER_PLANT,$02,Show - db POWER_PLANT,$03,Show - db POWER_PLANT,$04,Show - db POWER_PLANT,$05,Show - db POWER_PLANT,$06,Show - db POWER_PLANT,$07,Show - db POWER_PLANT,$08,Show - db POWER_PLANT,$09,Show - db POWER_PLANT,$0A,Show - db POWER_PLANT,$0B,Show - db POWER_PLANT,$0C,Show - db POWER_PLANT,$0D,Show - db POWER_PLANT,$0E,Show -MapHSC2: - db VICTORY_ROAD_2,$06,Show - db VICTORY_ROAD_2,$07,Show - db VICTORY_ROAD_2,$08,Show - db VICTORY_ROAD_2,$09,Show - db VICTORY_ROAD_2,$0A,Show - db VICTORY_ROAD_2,$0D,Show -MapHS58: - db BILLS_HOUSE,$01,Show - db BILLS_HOUSE,$02,Hide - db BILLS_HOUSE,$03,Hide -MapHS33: - db VIRIDIAN_FOREST,$05,Show - db VIRIDIAN_FOREST,$06,Show - db VIRIDIAN_FOREST,$07,Show -MapHS3B: - db MT_MOON_1,$08,Show - db MT_MOON_1,$09,Show - db MT_MOON_1,$0A,Show - db MT_MOON_1,$0B,Show - db MT_MOON_1,$0C,Show - db MT_MOON_1,$0D,Show -MapHS3D: - db MT_MOON_3,$06,Show - db MT_MOON_3,$07,Show - db MT_MOON_3,$08,Show - db MT_MOON_3,$09,Show -MapHS60: - db SS_ANNE_2,$02,Hide -MapHS66: - db SS_ANNE_8,$0A,Show -MapHS67: - db SS_ANNE_9,$06,Show - db SS_ANNE_9,$09,Show -MapHS68: - db SS_ANNE_10,$09,Show - db SS_ANNE_10,$0A,Show - db SS_ANNE_10,$0B,Show -MapHSC6: - db VICTORY_ROAD_3,$05,Show - db VICTORY_ROAD_3,$06,Show - db VICTORY_ROAD_3,$0A,Show -MapHSC7: - db ROCKET_HIDEOUT_1,$06,Show - db ROCKET_HIDEOUT_1,$07,Show -MapHSC8: - db ROCKET_HIDEOUT_2,$02,Show - db ROCKET_HIDEOUT_2,$03,Show - db ROCKET_HIDEOUT_2,$04,Show - db ROCKET_HIDEOUT_2,$05,Show -MapHSC9: - db ROCKET_HIDEOUT_3,$03,Show - db ROCKET_HIDEOUT_3,$04,Show -MapHSCA: - db ROCKET_HIDEOUT_4,$01,Show - db ROCKET_HIDEOUT_4,$05,Show - db ROCKET_HIDEOUT_4,$06,Show - db ROCKET_HIDEOUT_4,$07,Show - db ROCKET_HIDEOUT_4,$08,Hide - db ROCKET_HIDEOUT_4,$09,Hide -MapHSCF: - db SILPH_CO_2F,$01,Show - db SILPH_CO_2F,$02,Show - db SILPH_CO_2F,$03,Show - db SILPH_CO_2F,$04,Show - db SILPH_CO_2F,$05,Show -MapHSD0: - db SILPH_CO_3F,$02,Show - db SILPH_CO_3F,$03,Show - db SILPH_CO_3F,$04,Show -MapHSD1: - db SILPH_CO_4F,$02,Show - db SILPH_CO_4F,$03,Show - db SILPH_CO_4F,$04,Show - db SILPH_CO_4F,$05,Show - db SILPH_CO_4F,$06,Show - db SILPH_CO_4F,$07,Show -MapHSD2: - db SILPH_CO_5F,$02,Show - db SILPH_CO_5F,$03,Show - db SILPH_CO_5F,$04,Show - db SILPH_CO_5F,$05,Show - db SILPH_CO_5F,$06,Show - db SILPH_CO_5F,$07,Show - db SILPH_CO_5F,$08,Show -MapHSD3: - db SILPH_CO_6F,$06,Show - db SILPH_CO_6F,$07,Show - db SILPH_CO_6F,$08,Show - db SILPH_CO_6F,$09,Show - db SILPH_CO_6F,$0A,Show -MapHSD4: - db SILPH_CO_7F,$05,Show - db SILPH_CO_7F,$06,Show - db SILPH_CO_7F,$07,Show - db SILPH_CO_7F,$08,Show - db SILPH_CO_7F,$09,Show - db SILPH_CO_7F,$0A,Show - db SILPH_CO_7F,$0B,Show - db SILPH_CO_7F,$0C,Show -MapHSD5: - db SILPH_CO_8F,$02,Show - db SILPH_CO_8F,$03,Show - db SILPH_CO_8F,$04,Show -MapHSE9: - db SILPH_CO_9F,$02,Show - db SILPH_CO_9F,$03,Show - db SILPH_CO_9F,$04,Show -MapHSEA: - db SILPH_CO_10F,$01,Show - db SILPH_CO_10F,$02,Show - db SILPH_CO_10F,$03,Show - db SILPH_CO_10F,$04,Show - db SILPH_CO_10F,$05,Show - db SILPH_CO_10F,$06,Show -MapHSEB: - db SILPH_CO_11F,$03,Show - db SILPH_CO_11F,$04,Show - db SILPH_CO_11F,$05,Show -MapHSF4: - db $F4,$02,Show -MapHSD6: - db MANSION_2,$02,Show -MapHSD7: - db MANSION_3,$03,Show - db MANSION_3,$04,Show -MapHSD8: - db MANSION_4,$03,Show - db MANSION_4,$04,Show - db MANSION_4,$05,Show - db MANSION_4,$06,Show - db MANSION_4,$08,Show -MapHSD9: - db SAFARI_ZONE_EAST,$01,Show - db SAFARI_ZONE_EAST,$02,Show - db SAFARI_ZONE_EAST,$03,Show - db SAFARI_ZONE_EAST,$04,Show -MapHSDA: - db SAFARI_ZONE_NORTH,$01,Show - db SAFARI_ZONE_NORTH,$02,Show -MapHSDB: - db SAFARI_ZONE_WEST,$01,Show - db SAFARI_ZONE_WEST,$02,Show - db SAFARI_ZONE_WEST,$03,Show - db SAFARI_ZONE_WEST,$04,Show -MapHSDC: - db SAFARI_ZONE_CENTER,$01,Show -MapHSE2: - db UNKNOWN_DUNGEON_2,$01,Show - db UNKNOWN_DUNGEON_2,$02,Show - db UNKNOWN_DUNGEON_2,$03,Show -MapHSE3: - db UNKNOWN_DUNGEON_3,$01,Show - db UNKNOWN_DUNGEON_3,$02,Show - db UNKNOWN_DUNGEON_3,$03,Show -MapHS6C: - db VICTORY_ROAD_1,$03,Show - db VICTORY_ROAD_1,$04,Show -MapHS78: - db CHAMPIONS_ROOM,$02,Hide -MapHSC0: - db SEAFOAM_ISLANDS_1,$01,Show - db SEAFOAM_ISLANDS_1,$02,Show -MapHS9F: - db SEAFOAM_ISLANDS_2,$01,Hide - db SEAFOAM_ISLANDS_2,$02,Hide -MapHSA0: - db SEAFOAM_ISLANDS_3,$01,Hide - db SEAFOAM_ISLANDS_3,$02,Hide -MapHSA1: - db SEAFOAM_ISLANDS_4,$02,Show - db SEAFOAM_ISLANDS_4,$03,Show - db SEAFOAM_ISLANDS_4,$05,Hide - db SEAFOAM_ISLANDS_4,$06,Hide -MapHSA2: - db SEAFOAM_ISLANDS_5,$01,Hide - db SEAFOAM_ISLANDS_5,$02,Hide - db SEAFOAM_ISLANDS_5,$03,Show - - db $FF - -INCBIN "baserom.gbc",$cd97,$cdbb - $cd97 - -UnnamedText_cdbb: ; 0xcdbb - TX_FAR _UnnamedText_cdbb - db $50 -; 0xcdbb + 5 bytes - -INCBIN "baserom.gbc",$cdc0,$cdfa - $cdc0 - -UnnamedText_cdfa: ; 0xcdfa - TX_FAR _UnnamedText_cdfa - db $50 -; 0xcdfa + 5 bytes - -UnnamedText_cdff: ; 0xcdff - TX_FAR _UnnamedText_cdff - db $50 -; 0xcdff + 5 bytes - -INCBIN "baserom.gbc",$ce04,$b4 - -; wild pokemon data: from 4EB8 to 55C7 - -LoadWildData: ; 4EB8 - ld hl,WildDataPointers - ld a,[W_CURMAP] - - ; get wild data for current map - ld c,a - ld b,0 - add hl,bc - add hl,bc - ld a,[hli] - ld h,[hl] - ld l,a ; hl now points to wild data for current map - ld a,[hli] - ld [W_GRASSRATE],a - and a - jr z,.NoGrassData\@ ; if no grass data, skip to surfing data - push hl - ld de,W_GRASSMONS ; otherwise, load grass data - ld bc,$0014 - call CopyData - pop hl - ld bc,$0014 - add hl,bc -.NoGrassData\@ - ld a,[hli] - ld [W_WATERRATE],a - and a - ret z ; if no water data, we're done - ld de,W_WATERMONS ; otherwise, load surfing data - ld bc,$0014 - jp CopyData - -WildDataPointers: ; 4EEB - dw NoMons ; PALLET_TOWN - dw NoMons ; VIRIDIAN_CITY - dw NoMons ; PEWTER_CITY - dw NoMons ; CERULEAN_CITY - dw NoMons ; LAVENDER_TOWN - dw NoMons ; VERMILION_CITY - dw NoMons ; CELADON_CITY - dw NoMons ; FUCHSIA_CITY - dw NoMons ; CINNABAR_ISLAND - dw NoMons ; INDIGO_PLATEAU - dw NoMons ; SAFFRON_CITY - dw NoMons ; unused - dw Route1Mons ; ROUTE_1 - dw Route2Mons ; ROUTE_2 - dw Route3Mons ; ROUTE_3 - dw Route4Mons ; ROUTE_4 - dw Route5Mons ; ROUTE_5 - dw Route6Mons ; ROUTE_6 - dw Route7Mons ; ROUTE_7 - dw Route8Mons ; ROUTE_8 - dw Route9Mons ; ROUTE_9 - dw Route10Mons ; ROUTE_10 - dw Route11Mons ; ROUTE_11 - dw Route12Mons ; ROUTE_12 - dw Route13Mons ; ROUTE_13 - dw Route14Mons ; ROUTE_14 - dw Route15Mons ; ROUTE_15 - dw Route16Mons ; ROUTE_16 - dw Route17Mons ; ROUTE_17 - dw Route18Mons ; ROUTE_18 - dw WaterMons ; ROUTE_19 - dw WaterMons ; ROUTE_20 - dw Route21Mons ; ROUTE_21 - dw Route22Mons ; ROUTE_22 - dw Route23Mons ; ROUTE_23 - dw Route24Mons ; ROUTE_24 - dw Route25Mons ; ROUTE_25 - dw NoMons ; REDS_HOUSE_1F - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw ForestMons ; ViridianForest - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw MoonMons1 - dw MoonMonsB1 - dw MoonMonsB2 - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw TunnelMonsB1 - dw PowerPlantMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw PlateauMons1 - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw TowerMons1 - dw TowerMons2 - dw TowerMons3 - dw TowerMons4 - dw TowerMons5 - dw TowerMons6 - dw TowerMons7 - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw IslandMonsB1 - dw IslandMonsB2 - dw IslandMonsB3 - dw IslandMonsB4 - dw NoMons - dw NoMons - dw MansionMons1 - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw IslandMons1 - dw NoMons - dw PlateauMons2 - dw NoMons - dw NoMons - dw CaveMons - dw PlateauMons3 - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw MansionMons2 - dw MansionMons3 - dw MansionMonsB1 - dw ZoneMons1 - dw ZoneMons2 - dw ZoneMons3 - dw ZoneMonsCenter - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw DungeonMons2 - dw DungeonMonsB1 - dw DungeonMons1 - dw NoMons - dw NoMons - dw NoMons - dw TunnelMonsB2 - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw $FFFF - -; wild pokemon data is divided into two parts. -; first part: pokemon found in grass -; second part: pokemon found while surfing -; each part goes as follows: - ; if first byte == 00, then - ; no wild pokemon on this map - ; if first byte != 00, then - ; first byte is encounter rate - ; followed by 20 bytes: - ; level, species (ten times) - -IF _RED -NoMons: - db $00 - - db $00 - -Route1Mons: - db $19 - db 3,PIDGEY - db 3,RATTATA - db 3,RATTATA - db 2,RATTATA - db 2,PIDGEY - db 3,PIDGEY - db 3,PIDGEY - db 4,RATTATA - db 4,PIDGEY - db 5,PIDGEY - - db $00 - -Route2Mons: - db $19 - db 3,RATTATA - db 3,PIDGEY - db 4,PIDGEY - db 4,RATTATA - db 5,PIDGEY - db 3,WEEDLE - db 2,RATTATA - db 5,RATTATA - db 4,WEEDLE - db 5,WEEDLE - - db $00 - -Route22Mons: - db $19 - db 3,RATTATA - db 3,NIDORAN_M - db 4,RATTATA - db 4,NIDORAN_M - db 2,RATTATA - db 2,NIDORAN_M - db 3,SPEAROW - db 5,SPEAROW - db 3,NIDORAN_F - db 4,NIDORAN_F - - db $00 - -ForestMons: - db $08 - db 4,WEEDLE - db 5,KAKUNA - db 3,WEEDLE - db 5,WEEDLE - db 4,KAKUNA - db 6,KAKUNA - db 4,METAPOD - db 3,CATERPIE - db 3,PIKACHU - db 5,PIKACHU - - db $00 - -Route3Mons: - db $14 - db 6,PIDGEY - db 5,SPEAROW - db 7,PIDGEY - db 6,SPEAROW - db 7,SPEAROW - db 8,PIDGEY - db 8,SPEAROW - db 3,JIGGLYPUFF - db 5,JIGGLYPUFF - db 7,JIGGLYPUFF - - db $00 - -MoonMons1: - db $0A - db 8,ZUBAT - db 7,ZUBAT - db 9,ZUBAT - db 8,GEODUDE - db 6,ZUBAT - db 10,ZUBAT - db 10,GEODUDE - db 8,PARAS - db 11,ZUBAT - db 8,CLEFAIRY - - db $00 - -MoonMonsB1: - db $0A - db 8,ZUBAT - db 7,ZUBAT - db 7,GEODUDE - db 8,GEODUDE - db 9,ZUBAT - db 10,PARAS - db 10,ZUBAT - db 11,ZUBAT - db 9,CLEFAIRY - db 9,GEODUDE - - db $00 - -MoonMonsB2: - db $0A - db 9,ZUBAT - db 9,GEODUDE - db 10,ZUBAT - db 10,GEODUDE - db 11,ZUBAT - db 10,PARAS - db 12,PARAS - db 10,CLEFAIRY - db 12,ZUBAT - db 12,CLEFAIRY - - db $00 - -Route4Mons: - db $14 - db 10,RATTATA - db 10,SPEAROW - db 8,RATTATA - db 6,EKANS - db 8,SPEAROW - db 10,EKANS - db 12,RATTATA - db 12,SPEAROW - db 8,EKANS - db 12,EKANS - - db $00 - -Route24Mons: - db $19 - db 7,WEEDLE - db 8,KAKUNA - db 12,PIDGEY - db 12,ODDISH - db 13,ODDISH - db 10,ABRA - db 14,ODDISH - db 13,PIDGEY - db 8,ABRA - db 12,ABRA - - db $00 - -Route25Mons: - db $0F - db 8,WEEDLE - db 9,KAKUNA - db 13,PIDGEY - db 12,ODDISH - db 13,ODDISH - db 12,ABRA - db 14,ODDISH - db 10,ABRA - db 7,METAPOD - db 8,CATERPIE - - db $00 - -Route9Mons: - db $0F - db 16,RATTATA - db 16,SPEAROW - db 14,RATTATA - db 11,EKANS - db 13,SPEAROW - db 15,EKANS - db 17,RATTATA - db 17,SPEAROW - db 13,EKANS - db 17,EKANS - - db $00 - -Route5Mons: - db $0F - db 13,ODDISH - db 13,PIDGEY - db 15,PIDGEY - db 10,MANKEY - db 12,MANKEY - db 15,ODDISH - db 16,ODDISH - db 16,PIDGEY - db 14,MANKEY - db 16,MANKEY - - db $00 - -Route6Mons: - db $0F - db 13,ODDISH - db 13,PIDGEY - db 15,PIDGEY - db 10,MANKEY - db 12,MANKEY - db 15,ODDISH - db 16,ODDISH - db 16,PIDGEY - db 14,MANKEY - db 16,MANKEY - - db $00 - -Route11Mons: - db $0F - db 14,EKANS - db 15,SPEAROW - db 12,EKANS - db 9,DROWZEE - db 13,SPEAROW - db 13,DROWZEE - db 15,EKANS - db 17,SPEAROW - db 11,DROWZEE - db 15,DROWZEE - - db $00 - -TunnelMonsB1: - db $0F - db 16,ZUBAT - db 17,ZUBAT - db 17,GEODUDE - db 15,MACHOP - db 16,GEODUDE - db 18,ZUBAT - db 15,ZUBAT - db 17,MACHOP - db 13,ONIX - db 15,ONIX - - db $00 - -TunnelMonsB2: - db $0F - db 16,ZUBAT - db 17,ZUBAT - db 17,GEODUDE - db 15,MACHOP - db 16,GEODUDE - db 18,ZUBAT - db 17,MACHOP - db 17,ONIX - db 13,ONIX - db 18,GEODUDE - - db $00 - -Route10Mons: - db $0F - db 16,VOLTORB - db 16,SPEAROW - db 14,VOLTORB - db 11,EKANS - db 13,SPEAROW - db 15,EKANS - db 17,VOLTORB - db 17,SPEAROW - db 13,EKANS - db 17,EKANS - - db $00 - -Route12Mons: - db $0F - db 24,ODDISH - db 25,PIDGEY - db 23,PIDGEY - db 24,VENONAT - db 22,ODDISH - db 26,VENONAT - db 26,ODDISH - db 27,PIDGEY - db 28,GLOOM - db 30,GLOOM - - db $00 - -Route8Mons: - db $0F - db 18,PIDGEY - db 18,MANKEY - db 17,EKANS - db 16,GROWLITHE - db 20,PIDGEY - db 20,MANKEY - db 19,EKANS - db 17,GROWLITHE - db 15,GROWLITHE - db 18,GROWLITHE - - db $00 - -Route7Mons: - db $0F - db 19,PIDGEY - db 19,ODDISH - db 17,MANKEY - db 22,ODDISH - db 22,PIDGEY - db 18,MANKEY - db 18,GROWLITHE - db 20,GROWLITHE - db 19,MANKEY - db 20,MANKEY - - db $00 - -TowerMons1: - db $00 - - db $00 - -TowerMons2: - db $00 - - db $00 - -TowerMons3: - db $0A - db 20,GASTLY - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 19,GASTLY - db 18,GASTLY - db 24,GASTLY - db 20,CUBONE - db 22,CUBONE - db 25,HAUNTER - - db $00 - -TowerMons4: - db $0A - db 20,GASTLY - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 19,GASTLY - db 18,GASTLY - db 25,HAUNTER - db 20,CUBONE - db 22,CUBONE - db 24,GASTLY - - db $00 - -TowerMons5: - db $0A - db 20,GASTLY - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 19,GASTLY - db 18,GASTLY - db 25,HAUNTER - db 20,CUBONE - db 22,CUBONE - db 24,GASTLY - - db $00 - -TowerMons6: - db $0F - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 24,GASTLY - db 20,GASTLY - db 19,GASTLY - db 26,HAUNTER - db 22,CUBONE - db 24,CUBONE - db 28,HAUNTER - - db $00 - -TowerMons7: - db $0F - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 24,GASTLY - db 20,GASTLY - db 28,HAUNTER - db 22,CUBONE - db 24,CUBONE - db 28,HAUNTER - db 30,HAUNTER - - db $00 - -Route13Mons: - db $14 - db 24,ODDISH - db 25,PIDGEY - db 27,PIDGEY - db 24,VENONAT - db 22,ODDISH - db 26,VENONAT - db 26,ODDISH - db 25,DITTO - db 28,GLOOM - db 30,GLOOM - - db $00 - -Route14Mons: - db $0F - db 24,ODDISH - db 26,PIDGEY - db 23,DITTO - db 24,VENONAT - db 22,ODDISH - db 26,VENONAT - db 26,ODDISH - db 30,GLOOM - db 28,PIDGEOTTO - db 30,PIDGEOTTO - - db $00 - -Route15Mons: - db $0F - db 24,ODDISH - db 26,DITTO - db 23,PIDGEY - db 26,VENONAT - db 22,ODDISH - db 28,VENONAT - db 26,ODDISH - db 30,GLOOM - db 28,PIDGEOTTO - db 30,PIDGEOTTO - - db $00 - -Route16Mons: - db $19 - db 20,SPEAROW - db 22,SPEAROW - db 18,RATTATA - db 20,DODUO - db 20,RATTATA - db 18,DODUO - db 22,DODUO - db 22,RATTATA - db 23,RATICATE - db 25,RATICATE - - db $00 - -Route17Mons: - db $19 - db 20,SPEAROW - db 22,SPEAROW - db 25,RATICATE - db 24,DODUO - db 27,RATICATE - db 26,DODUO - db 28,DODUO - db 29,RATICATE - db 25,FEAROW - db 27,FEAROW - - db $00 - -Route18Mons: - db $19 - db 20,SPEAROW - db 22,SPEAROW - db 25,RATICATE - db 24,DODUO - db 25,FEAROW - db 26,DODUO - db 28,DODUO - db 29,RATICATE - db 27,FEAROW - db 29,FEAROW - - db $00 - -ZoneMonsCenter: - db $1E - db 22,NIDORAN_M - db 25,RHYHORN - db 22,VENONAT - db 24,EXEGGCUTE - db 31,NIDORINO - db 25,EXEGGCUTE - db 31,NIDORINA - db 30,PARASECT - db 23,SCYTHER - db 23,CHANSEY - - db $00 - -ZoneMons1: - db $1E - db 24,NIDORAN_M - db 26,DODUO - db 22,PARAS - db 25,EXEGGCUTE - db 33,NIDORINO - db 23,EXEGGCUTE - db 24,NIDORAN_F - db 25,PARASECT - db 25,KANGASKHAN - db 28,SCYTHER - - db $00 - -ZoneMons2: - db $1E - db 22,NIDORAN_M - db 26,RHYHORN - db 23,PARAS - db 25,EXEGGCUTE - db 30,NIDORINO - db 27,EXEGGCUTE - db 30,NIDORINA - db 32,VENOMOTH - db 26,CHANSEY - db 28,TAUROS - - db $00 - -ZoneMons3: - db $1E - db 25,NIDORAN_M - db 26,DODUO - db 23,VENONAT - db 24,EXEGGCUTE - db 33,NIDORINO - db 26,EXEGGCUTE - db 25,NIDORAN_F - db 31,VENOMOTH - db 26,TAUROS - db 28,KANGASKHAN - - db $00 - -WaterMons: - db $00 - - db $05 - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 20,TENTACOOL - db 30,TENTACOOL - db 35,TENTACOOL - db 40,TENTACOOL - -IslandMons1: - db $0F - db 30,SEEL - db 30,SLOWPOKE - db 30,SHELLDER - db 30,HORSEA - db 28,HORSEA - db 21,ZUBAT - db 29,GOLBAT - db 28,PSYDUCK - db 28,SHELLDER - db 38,GOLDUCK - - db $00 - -IslandMonsB1: - db $0A - db 30,STARYU - db 30,HORSEA - db 32,SHELLDER - db 32,HORSEA - db 28,SLOWPOKE - db 30,SEEL - db 30,SLOWPOKE - db 28,SEEL - db 38,DEWGONG - db 37,SEADRA - - db $00 - -IslandMonsB2: - db $0A - db 30,SEEL - db 30,SLOWPOKE - db 32,SEEL - db 32,SLOWPOKE - db 28,HORSEA - db 30,STARYU - db 30,HORSEA - db 28,SHELLDER - db 30,GOLBAT - db 37,SLOWBRO - - db $00 - -IslandMonsB3: - db $0A - db 31,SLOWPOKE - db 31,SEEL - db 33,SLOWPOKE - db 33,SEEL - db 29,HORSEA - db 31,SHELLDER - db 31,HORSEA - db 29,SHELLDER - db 39,SEADRA - db 37,DEWGONG - - db $00 - -IslandMonsB4: - db $0A - db 31,HORSEA - db 31,SHELLDER - db 33,HORSEA - db 33,SHELLDER - db 29,SLOWPOKE - db 31,SEEL - db 31,SLOWPOKE - db 29,SEEL - db 39,SLOWBRO - db 32,GOLBAT - - db $00 - -MansionMons1: - db $0A - db 32,KOFFING - db 30,KOFFING - db 34,PONYTA - db 30,PONYTA - db 34,GROWLITHE - db 32,PONYTA - db 30,GRIMER - db 28,PONYTA - db 37,WEEZING - db 39,MUK - - db $00 - -MansionMons2: - db $0A - db 32,GROWLITHE - db 34,KOFFING - db 34,KOFFING - db 30,PONYTA - db 30,KOFFING - db 32,PONYTA - db 30,GRIMER - db 28,PONYTA - db 39,WEEZING - db 37,MUK - - db $00 - -MansionMons3: - db $0A - db 31,KOFFING - db 33,GROWLITHE - db 35,KOFFING - db 32,PONYTA - db 34,PONYTA - db 40,WEEZING - db 34,GRIMER - db 38,WEEZING - db 36,PONYTA - db 42,MUK - - db $00 - -MansionMonsB1: - db $0A - db 33,KOFFING - db 31,KOFFING - db 35,GROWLITHE - db 32,PONYTA - db 31,KOFFING - db 40,WEEZING - db 34,PONYTA - db 35,GRIMER - db 42,WEEZING - db 42,MUK - - db $00 - -Route21Mons: - db $19 - db 21,RATTATA - db 23,PIDGEY - db 30,RATICATE - db 23,RATTATA - db 21,PIDGEY - db 30,PIDGEOTTO - db 32,PIDGEOTTO - db 28,TANGELA - db 30,TANGELA - db 32,TANGELA - - db $05 - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 20,TENTACOOL - db 30,TENTACOOL - db 35,TENTACOOL - db 40,TENTACOOL - -DungeonMons1: - db $0A - db 46,GOLBAT - db 46,HYPNO - db 46,MAGNETON - db 49,DODRIO - db 49,VENOMOTH - db 52,ARBOK - db 49,KADABRA - db 52,PARASECT - db 53,RAICHU - db 53,DITTO - - db $00 - -DungeonMons2: - db $0F - db 51,DODRIO - db 51,VENOMOTH - db 51,KADABRA - db 52,RHYDON - db 52,MAROWAK - db 52,ELECTRODE - db 56,CHANSEY - db 54,WIGGLYTUFF - db 55,DITTO - db 60,DITTO - - db $00 - -DungeonMonsB1: - db $19 - db 55,RHYDON - db 55,MAROWAK - db 55,ELECTRODE - db 64,CHANSEY - db 64,PARASECT - db 64,RAICHU - db 57,ARBOK - db 65,DITTO - db 63,DITTO - db 67,DITTO - - db $00 - -PowerPlantMons: - db $0A - db 21,VOLTORB - db 21,MAGNEMITE - db 20,PIKACHU - db 24,PIKACHU - db 23,MAGNEMITE - db 23,VOLTORB - db 32,MAGNETON - db 35,MAGNETON - db 33,ELECTABUZZ - db 36,ELECTABUZZ - - db $00 - -Route23Mons: - db $0A - db 26,EKANS - db 33,DITTO - db 26,SPEAROW - db 38,FEAROW - db 38,DITTO - db 38,FEAROW - db 41,ARBOK - db 43,DITTO - db 41,FEAROW - db 43,FEAROW - - db $00 - -PlateauMons2: - db $0A - db 22,MACHOP - db 24,GEODUDE - db 26,ZUBAT - db 36,ONIX - db 39,ONIX - db 42,ONIX - db 41,MACHOKE - db 40,GOLBAT - db 40,MAROWAK - db 43,GRAVELER - - db $00 - -PlateauMons3: - db $0F - db 24,MACHOP - db 26,GEODUDE - db 22,ZUBAT - db 42,ONIX - db 40,VENOMOTH - db 45,ONIX - db 43,GRAVELER - db 41,GOLBAT - db 42,MACHOKE - db 45,MACHOKE - - db $00 - -PlateauMons1: - db $0F - db 24,MACHOP - db 26,GEODUDE - db 22,ZUBAT - db 36,ONIX - db 39,ONIX - db 42,ONIX - db 41,GRAVELER - db 41,GOLBAT - db 42,MACHOKE - db 43,MAROWAK - - db $00 - -CaveMons: - db $14 - db 18,DIGLETT - db 19,DIGLETT - db 17,DIGLETT - db 20,DIGLETT - db 16,DIGLETT - db 15,DIGLETT - db 21,DIGLETT - db 22,DIGLETT - db 29,DUGTRIO - db 31,DUGTRIO - - db $00 - -ENDC -IF _GREEN || !_JAPAN && _BLUE -NoMons: - db $00 - - db $00 - -Route1Mons: - db $19 - db 3,PIDGEY - db 3,RATTATA - db 3,RATTATA - db 2,RATTATA - db 2,PIDGEY - db 3,PIDGEY - db 3,PIDGEY - db 4,RATTATA - db 4,PIDGEY - db 5,PIDGEY - - db $00 - -Route2Mons: - db $19 - db 3,RATTATA - db 3,PIDGEY - db 4,PIDGEY - db 4,RATTATA - db 5,PIDGEY - db 3,CATERPIE - db 2,RATTATA - db 5,RATTATA - db 4,CATERPIE - db 5,CATERPIE - - db $00 - -Route22Mons: - db $19 - db 3,RATTATA - db 3,NIDORAN_F - db 4,RATTATA - db 4,NIDORAN_F - db 2,RATTATA - db 2,NIDORAN_F - db 3,SPEAROW - db 5,SPEAROW - db 3,NIDORAN_M - db 4,NIDORAN_M - - db $00 - -ForestMons: - db $08 - db 4,CATERPIE - db 5,METAPOD - db 3,CATERPIE - db 5,CATERPIE - db 4,METAPOD - db 6,METAPOD - db 4,KAKUNA - db 3,WEEDLE - db 3,PIKACHU - db 5,PIKACHU - - db $00 - -Route3Mons: - db $14 - db 6,PIDGEY - db 5,SPEAROW - db 7,PIDGEY - db 6,SPEAROW - db 7,SPEAROW - db 8,PIDGEY - db 8,SPEAROW - db 3,JIGGLYPUFF - db 5,JIGGLYPUFF - db 7,JIGGLYPUFF - - db $00 - -MoonMons1: - db $0A - db 8,ZUBAT - db 7,ZUBAT - db 9,ZUBAT - db 8,GEODUDE - db 6,ZUBAT - db 10,ZUBAT - db 10,GEODUDE - db 8,PARAS - db 11,ZUBAT - db 8,CLEFAIRY - - db $00 - -MoonMonsB1: - db $0A - db 8,ZUBAT - db 7,ZUBAT - db 7,GEODUDE - db 8,GEODUDE - db 9,ZUBAT - db 10,PARAS - db 10,ZUBAT - db 11,ZUBAT - db 9,CLEFAIRY - db 9,GEODUDE - - db $00 - -MoonMonsB2: - db $0A - db 9,ZUBAT - db 9,GEODUDE - db 10,ZUBAT - db 10,GEODUDE - db 11,ZUBAT - db 10,PARAS - db 12,PARAS - db 10,CLEFAIRY - db 12,ZUBAT - db 12,CLEFAIRY - - db $00 - -Route4Mons: - db $14 - db 10,RATTATA - db 10,SPEAROW - db 8,RATTATA - db 6,SANDSHREW - db 8,SPEAROW - db 10,SANDSHREW - db 12,RATTATA - db 12,SPEAROW - db 8,SANDSHREW - db 12,SANDSHREW - - db $00 - -Route24Mons: - db $19 - db 7,CATERPIE - db 8,METAPOD - db 12,PIDGEY - db 12,BELLSPROUT - db 13,BELLSPROUT - db 10,ABRA - db 14,BELLSPROUT - db 13,PIDGEY - db 8,ABRA - db 12,ABRA - - db $00 - -Route25Mons: - db $0F - db 8,CATERPIE - db 9,METAPOD - db 13,PIDGEY - db 12,BELLSPROUT - db 13,BELLSPROUT - db 12,ABRA - db 14,BELLSPROUT - db 10,ABRA - db 7,KAKUNA - db 8,WEEDLE - - db $00 - -Route9Mons: - db $0F - db 16,RATTATA - db 16,SPEAROW - db 14,RATTATA - db 11,SANDSHREW - db 13,SPEAROW - db 15,SANDSHREW - db 17,RATTATA - db 17,SPEAROW - db 13,SANDSHREW - db 17,SANDSHREW - - db $00 - -Route5Mons: - db $0F - db 13,BELLSPROUT - db 13,PIDGEY - db 15,PIDGEY - db 10,MEOWTH - db 12,MEOWTH - db 15,BELLSPROUT - db 16,BELLSPROUT - db 16,PIDGEY - db 14,MEOWTH - db 16,MEOWTH - - db $00 - -Route6Mons: - db $0F - db 13,BELLSPROUT - db 13,PIDGEY - db 15,PIDGEY - db 10,MEOWTH - db 12,MEOWTH - db 15,BELLSPROUT - db 16,BELLSPROUT - db 16,PIDGEY - db 14,MEOWTH - db 16,MEOWTH - - db $00 - -Route11Mons: - db $0F - db 14,SANDSHREW - db 15,SPEAROW - db 12,SANDSHREW - db 9,DROWZEE - db 13,SPEAROW - db 13,DROWZEE - db 15,SANDSHREW - db 17,SPEAROW - db 11,DROWZEE - db 15,DROWZEE - - db $00 - -TunnelMonsB1: - db $0F - db 16,ZUBAT - db 17,ZUBAT - db 17,GEODUDE - db 15,MACHOP - db 16,GEODUDE - db 18,ZUBAT - db 15,ZUBAT - db 17,MACHOP - db 13,ONIX - db 15,ONIX - - db $00 - -TunnelMonsB2: - db $0F - db 16,ZUBAT - db 17,ZUBAT - db 17,GEODUDE - db 15,MACHOP - db 16,GEODUDE - db 18,ZUBAT - db 17,MACHOP - db 17,ONIX - db 13,ONIX - db 18,GEODUDE - - db $00 - -Route10Mons: - db $0F - db 16,VOLTORB - db 16,SPEAROW - db 14,VOLTORB - db 11,SANDSHREW - db 13,SPEAROW - db 15,SANDSHREW - db 17,VOLTORB - db 17,SPEAROW - db 13,SANDSHREW - db 17,SANDSHREW - - db $00 - -Route12Mons: - db $0F - db 24,BELLSPROUT - db 25,PIDGEY - db 23,PIDGEY - db 24,VENONAT - db 22,BELLSPROUT - db 26,VENONAT - db 26,BELLSPROUT - db 27,PIDGEY - db 28,WEEPINBELL - db 30,WEEPINBELL - - db $00 - -Route8Mons: - db $0F - db 18,PIDGEY - db 18,MEOWTH - db 17,SANDSHREW - db 16,VULPIX - db 20,PIDGEY - db 20,MEOWTH - db 19,SANDSHREW - db 17,VULPIX - db 15,VULPIX - db 18,VULPIX - - db $00 - -Route7Mons: - db $0F - db 19,PIDGEY - db 19,BELLSPROUT - db 17,MEOWTH - db 22,BELLSPROUT - db 22,PIDGEY - db 18,MEOWTH - db 18,VULPIX - db 20,VULPIX - db 19,MEOWTH - db 20,MEOWTH - - db $00 - -TowerMons1: - db $00 - - db $00 - -TowerMons2: - db $00 - - db $00 - -TowerMons3: - db $0A - db 20,GASTLY - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 19,GASTLY - db 18,GASTLY - db 24,GASTLY - db 20,CUBONE - db 22,CUBONE - db 25,HAUNTER - - db $00 - -TowerMons4: - db $0A - db 20,GASTLY - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 19,GASTLY - db 18,GASTLY - db 25,HAUNTER - db 20,CUBONE - db 22,CUBONE - db 24,GASTLY - - db $00 - -TowerMons5: - db $0A - db 20,GASTLY - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 19,GASTLY - db 18,GASTLY - db 25,HAUNTER - db 20,CUBONE - db 22,CUBONE - db 24,GASTLY - - db $00 - -TowerMons6: - db $0F - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 24,GASTLY - db 20,GASTLY - db 19,GASTLY - db 26,HAUNTER - db 22,CUBONE - db 24,CUBONE - db 28,HAUNTER - - db $00 - -TowerMons7: - db $0F - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 24,GASTLY - db 20,GASTLY - db 28,HAUNTER - db 22,CUBONE - db 24,CUBONE - db 28,HAUNTER - db 30,HAUNTER - - db $00 - -Route13Mons: - db $14 - db 24,BELLSPROUT - db 25,PIDGEY - db 27,PIDGEY - db 24,VENONAT - db 22,BELLSPROUT - db 26,VENONAT - db 26,BELLSPROUT - db 25,DITTO - db 28,WEEPINBELL - db 30,WEEPINBELL - - db $00 - -Route14Mons: - db $0F - db 24,BELLSPROUT - db 26,PIDGEY - db 23,DITTO - db 24,VENONAT - db 22,BELLSPROUT - db 26,VENONAT - db 26,BELLSPROUT - db 30,WEEPINBELL - db 28,PIDGEOTTO - db 30,PIDGEOTTO - - db $00 - -Route15Mons: - db $0F - db 24,BELLSPROUT - db 26,DITTO - db 23,PIDGEY - db 26,VENONAT - db 22,BELLSPROUT - db 28,VENONAT - db 26,BELLSPROUT - db 30,WEEPINBELL - db 28,PIDGEOTTO - db 30,PIDGEOTTO - - db $00 - -Route16Mons: - db $19 - db 20,SPEAROW - db 22,SPEAROW - db 18,RATTATA - db 20,DODUO - db 20,RATTATA - db 18,DODUO - db 22,DODUO - db 22,RATTATA - db 23,RATICATE - db 25,RATICATE - - db $00 - -Route17Mons: - db $19 - db 20,SPEAROW - db 22,SPEAROW - db 25,RATICATE - db 24,DODUO - db 27,RATICATE - db 26,DODUO - db 28,DODUO - db 29,RATICATE - db 25,FEAROW - db 27,FEAROW - - db $00 - -Route18Mons: - db $19 - db 20,SPEAROW - db 22,SPEAROW - db 25,RATICATE - db 24,DODUO - db 25,FEAROW - db 26,DODUO - db 28,DODUO - db 29,RATICATE - db 27,FEAROW - db 29,FEAROW - - db $00 - -ZoneMonsCenter: - db $1E - db 22,NIDORAN_F - db 25,RHYHORN - db 22,VENONAT - db 24,EXEGGCUTE - db 31,NIDORINA - db 25,EXEGGCUTE - db 31,NIDORINO - db 30,PARASECT - db 23,PINSIR - db 23,CHANSEY - - db $00 - -ZoneMons1: - db $1E - db 24,NIDORAN_F - db 26,DODUO - db 22,PARAS - db 25,EXEGGCUTE - db 33,NIDORINA - db 23,EXEGGCUTE - db 24,NIDORAN_M - db 25,PARASECT - db 25,KANGASKHAN - db 28,PINSIR - - db $00 - -ZoneMons2: - db $1E - db 22,NIDORAN_F - db 26,RHYHORN - db 23,PARAS - db 25,EXEGGCUTE - db 30,NIDORINA - db 27,EXEGGCUTE - db 30,NIDORINO - db 32,VENOMOTH - db 26,CHANSEY - db 28,TAUROS - - db $00 - -ZoneMons3: - db $1E - db 25,NIDORAN_F - db 26,DODUO - db 23,VENONAT - db 24,EXEGGCUTE - db 33,NIDORINA - db 26,EXEGGCUTE - db 25,NIDORAN_M - db 31,VENOMOTH - db 26,TAUROS - db 28,KANGASKHAN - - db $00 - -WaterMons: - db $00 - - db $05 - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 20,TENTACOOL - db 30,TENTACOOL - db 35,TENTACOOL - db 40,TENTACOOL - -IslandMons1: - db $0F - db 30,SEEL - db 30,PSYDUCK - db 30,STARYU - db 30,KRABBY - db 28,KRABBY - db 21,ZUBAT - db 29,GOLBAT - db 28,SLOWPOKE - db 28,STARYU - db 38,SLOWBRO - - db $00 - -IslandMonsB1: - db $0A - db 30,SHELLDER - db 30,KRABBY - db 32,STARYU - db 32,KRABBY - db 28,PSYDUCK - db 30,SEEL - db 30,PSYDUCK - db 28,SEEL - db 38,DEWGONG - db 37,KINGLER - - db $00 - -IslandMonsB2: - db $0A - db 30,SEEL - db 30,PSYDUCK - db 32,SEEL - db 32,PSYDUCK - db 28,KRABBY - db 30,SHELLDER - db 30,KRABBY - db 28,STARYU - db 30,GOLBAT - db 37,GOLDUCK - - db $00 - -IslandMonsB3: - db $0A - db 31,PSYDUCK - db 31,SEEL - db 33,PSYDUCK - db 33,SEEL - db 29,KRABBY - db 31,STARYU - db 31,KRABBY - db 29,STARYU - db 39,KINGLER - db 37,DEWGONG - - db $00 - -IslandMonsB4: - db $0A - db 31,KRABBY - db 31,STARYU - db 33,KRABBY - db 33,STARYU - db 29,PSYDUCK - db 31,SEEL - db 31,PSYDUCK - db 29,SEEL - db 39,GOLDUCK - db 32,GOLBAT - - db $00 - -MansionMons1: - db $0A - db 32,GRIMER - db 30,GRIMER - db 34,PONYTA - db 30,PONYTA - db 34,VULPIX - db 32,PONYTA - db 30,KOFFING - db 28,PONYTA - db 37,MUK - db 39,WEEZING - - db $00 - -MansionMons2: - db $0A - db 32,VULPIX - db 34,GRIMER - db 34,GRIMER - db 30,PONYTA - db 30,GRIMER - db 32,PONYTA - db 30,KOFFING - db 28,PONYTA - db 39,MUK - db 37,WEEZING - - db $00 - -MansionMons3: - db $0A - db 31,GRIMER - db 33,VULPIX - db 35,GRIMER - db 32,PONYTA - db 34,MAGMAR - db 40,MUK - db 34,KOFFING - db 38,MUK - db 36,PONYTA - db 42,WEEZING - - db $00 - -MansionMonsB1: - db $0A - db 33,GRIMER - db 31,GRIMER - db 35,VULPIX - db 32,PONYTA - db 31,GRIMER - db 40,MUK - db 34,PONYTA - db 35,KOFFING - db 38,MAGMAR - db 42,WEEZING - - db $00 - -Route21Mons: - db $19 - db 21,RATTATA - db 23,PIDGEY - db 30,RATICATE - db 23,RATTATA - db 21,PIDGEY - db 30,PIDGEOTTO - db 32,PIDGEOTTO - db 28,TANGELA - db 30,TANGELA - db 32,TANGELA - - db $05 - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 20,TENTACOOL - db 30,TENTACOOL - db 35,TENTACOOL - db 40,TENTACOOL - -DungeonMons1: - db $0A - db 46,GOLBAT - db 46,HYPNO - db 46,MAGNETON - db 49,DODRIO - db 49,VENOMOTH - db 52,SANDSLASH - db 49,KADABRA - db 52,PARASECT - db 53,RAICHU - db 53,DITTO - - db $00 - -DungeonMons2: - db $0F - db 51,DODRIO - db 51,VENOMOTH - db 51,KADABRA - db 52,RHYDON - db 52,MAROWAK - db 52,ELECTRODE - db 56,CHANSEY - db 54,WIGGLYTUFF - db 55,DITTO - db 60,DITTO - - db $00 - -DungeonMonsB1: - db $19 - db 55,RHYDON - db 55,MAROWAK - db 55,ELECTRODE - db 64,CHANSEY - db 64,PARASECT - db 64,RAICHU - db 57,SANDSLASH - db 65,DITTO - db 63,DITTO - db 67,DITTO - - db $00 - -PowerPlantMons: - db $0A - db 21,VOLTORB - db 21,MAGNEMITE - db 20,PIKACHU - db 24,PIKACHU - db 23,MAGNEMITE - db 23,VOLTORB - db 32,MAGNETON - db 35,MAGNETON - db 33,RAICHU - db 36,RAICHU - - db $00 - -Route23Mons: - db $0A - db 26,SANDSHREW - db 33,DITTO - db 26,SPEAROW - db 38,FEAROW - db 38,DITTO - db 38,FEAROW - db 41,SANDSLASH - db 43,DITTO - db 41,FEAROW - db 43,FEAROW - - db $00 - -PlateauMons2: - db $0A - db 22,MACHOP - db 24,GEODUDE - db 26,ZUBAT - db 36,ONIX - db 39,ONIX - db 42,ONIX - db 41,MACHOKE - db 40,GOLBAT - db 40,MAROWAK - db 43,GRAVELER - - db $00 - -PlateauMons3: - db $0F - db 24,MACHOP - db 26,GEODUDE - db 22,ZUBAT - db 42,ONIX - db 40,VENOMOTH - db 45,ONIX - db 43,GRAVELER - db 41,GOLBAT - db 42,MACHOKE - db 45,MACHOKE - - db $00 - -PlateauMons1: - db $0F - db 24,MACHOP - db 26,GEODUDE - db 22,ZUBAT - db 36,ONIX - db 39,ONIX - db 42,ONIX - db 41,GRAVELER - db 41,GOLBAT - db 42,MACHOKE - db 43,MAROWAK - - db $00 - -CaveMons: - db $14 - db 18,DIGLETT - db 19,DIGLETT - db 17,DIGLETT - db 20,DIGLETT - db 16,DIGLETT - db 15,DIGLETT - db 21,DIGLETT - db 22,DIGLETT - db 29,DUGTRIO - db 31,DUGTRIO - - db $00 - -ENDC -IF _JAPAN && _BLUE -NoMons: - db $00 - - db $00 - -Route1Mons: - db $19 - db 3,PIDGEY - db 3,RATTATA - db 3,RATTATA - db 2,RATTATA - db 2,PIDGEY - db 3,PIDGEY - db 3,PIDGEY - db 4,RATTATA - db 4,PIDGEY - db 5,PIDGEY - - db $00 - -Route2Mons: - db $19 - db 3,RATTATA - db 3,PIDGEY - db 4,PIDGEY - db 4,RATTATA - db 5,PIDGEY - db 3,CATERPIE - db 2,RATTATA - db 5,RATTATA - db 4,CATERPIE - db 5,CATERPIE - - db $00 - -Route22Mons: - db $19 - db 3,RATTATA - db 3,NIDORAN_M - db 4,RATTATA - db 4,NIDORAN_M - db 2,RATTATA - db 2,NIDORAN_M - db 3,SPEAROW - db 5,SPEAROW - db 3,NIDORAN_F - db 4,NIDORAN_F - - db $00 - -ForestMons: - db $08 - db 4,CATERPIE - db 5,METAPOD - db 3,CATERPIE - db 5,CATERPIE - db 4,METAPOD - db 6,METAPOD - db 4,KAKUNA - db 3,WEEDLE - db 3,PIKACHU - db 5,PIKACHU - - db $00 - -Route3Mons: - db $14 - db 6,PIDGEY - db 5,SPEAROW - db 7,PIDGEY - db 6,SPEAROW - db 7,SPEAROW - db 8,PIDGEY - db 8,SPEAROW - db 3,JIGGLYPUFF - db 5,JIGGLYPUFF - db 7,JIGGLYPUFF - - db $00 - -MoonMons1: - db $0A - db 8,ZUBAT - db 7,ZUBAT - db 9,ZUBAT - db 8,GEODUDE - db 6,ZUBAT - db 10,ZUBAT - db 10,GEODUDE - db 8,PARAS - db 11,ZUBAT - db 8,CLEFAIRY - - db $00 - -MoonMonsB1: - db $0A - db 8,ZUBAT - db 7,ZUBAT - db 7,GEODUDE - db 8,GEODUDE - db 9,ZUBAT - db 10,PARAS - db 10,ZUBAT - db 11,ZUBAT - db 9,CLEFAIRY - db 9,GEODUDE - - db $00 - -MoonMonsB2: - db $0A - db 9,ZUBAT - db 9,GEODUDE - db 10,ZUBAT - db 10,GEODUDE - db 11,ZUBAT - db 10,PARAS - db 12,PARAS - db 10,CLEFAIRY - db 12,ZUBAT - db 12,CLEFAIRY - - db $00 - -Route4Mons: - db $14 - db 10,RATTATA - db 10,SPEAROW - db 8,RATTATA - db 6,SANDSHREW - db 8,SPEAROW - db 10,SANDSHREW - db 12,RATTATA - db 12,SPEAROW - db 8,SANDSHREW - db 12,SANDSHREW - - db $00 - -Route24Mons: - db $19 - db 7,CATERPIE - db 8,METAPOD - db 12,PIDGEY - db 12,ODDISH - db 13,ODDISH - db 10,ABRA - db 14,ODDISH - db 13,PIDGEY - db 8,ABRA - db 12,ABRA - - db $00 - -Route25Mons: - db $0F - db 8,CATERPIE - db 9,METAPOD - db 13,PIDGEY - db 12,ODDISH - db 13,ODDISH - db 12,ABRA - db 14,ODDISH - db 10,ABRA - db 7,KAKUNA - db 8,WEEDLE - - db $00 - -Route9Mons: - db $0F - db 16,RATTATA - db 16,SPEAROW - db 14,RATTATA - db 11,SANDSHREW - db 13,SPEAROW - db 15,SANDSHREW - db 17,RATTATA - db 17,SPEAROW - db 13,SANDSHREW - db 17,SANDSHREW - - db $00 - -Route5Mons: - db $0F - db 13,ODDISH - db 13,PIDGEY - db 15,PIDGEY - db 10,MEOWTH - db 12,MEOWTH - db 15,ODDISH - db 16,ODDISH - db 16,PIDGEY - db 14,MEOWTH - db 16,MEOWTH - - db $00 - -Route6Mons: - db $0F - db 13,ODDISH - db 13,PIDGEY - db 15,PIDGEY - db 10,MEOWTH - db 12,MEOWTH - db 15,ODDISH - db 16,ODDISH - db 16,PIDGEY - db 14,MEOWTH - db 16,MEOWTH - - db $00 - -Route11Mons: - db $0F - db 14,SANDSHREW - db 15,SPEAROW - db 12,SANDSHREW - db 9,DROWZEE - db 13,SPEAROW - db 13,DROWZEE - db 15,SANDSHREW - db 17,SPEAROW - db 11,DROWZEE - db 15,DROWZEE - - db $00 - -TunnelMonsB1: - db $0F - db 16,ZUBAT - db 17,ZUBAT - db 17,GEODUDE - db 15,MACHOP - db 16,GEODUDE - db 18,DITTO - db 15,ZUBAT - db 17,MACHOP - db 13,ONIX - db 15,ONIX - - db $00 - -TunnelMonsB2: - db $0F - db 16,ZUBAT - db 17,ZUBAT - db 17,GEODUDE - db 15,MACHOP - db 16,GEODUDE - db 18,DITTO - db 17,MACHOP - db 17,ONIX - db 13,ONIX - db 18,GEODUDE - - db $00 - -Route10Mons: - db $0F - db 16,VOLTORB - db 16,SPEAROW - db 14,VOLTORB - db 11,SANDSHREW - db 13,SPEAROW - db 15,SANDSHREW - db 17,VOLTORB - db 17,SPEAROW - db 13,SANDSHREW - db 17,SANDSHREW - - db $00 - -Route12Mons: - db $0F - db 24,ODDISH - db 25,PIDGEY - db 23,PIDGEY - db 24,VENONAT - db 22,ODDISH - db 26,VENONAT - db 26,ODDISH - db 27,PIDGEY - db 28,GLOOM - db 30,GLOOM - - db $00 - -Route8Mons: - db $0F - db 18,PIDGEY - db 18,MEOWTH - db 17,SANDSHREW - db 16,GROWLITHE - db 20,PIDGEY - db 20,MEOWTH - db 19,SANDSHREW - db 17,GROWLITHE - db 15,GROWLITHE - db 18,GROWLITHE - - db $00 - -Route7Mons: - db $0F - db 19,PIDGEY - db 19,ODDISH - db 17,MEOWTH - db 22,ODDISH - db 22,PIDGEY - db 18,MEOWTH - db 18,GROWLITHE - db 20,GROWLITHE - db 19,MEOWTH - db 20,MEOWTH - - db $00 - -TowerMons1: - db $00 - - db $00 - -TowerMons2: - db $00 - - db $00 - -TowerMons3: - db $0A - db 20,GASTLY - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 19,GASTLY - db 18,GASTLY - db 24,GASTLY - db 20,CUBONE - db 22,CUBONE - db 25,HAUNTER - - db $00 - -TowerMons4: - db $0A - db 20,GASTLY - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 19,GASTLY - db 18,GASTLY - db 25,HAUNTER - db 20,CUBONE - db 22,CUBONE - db 24,GASTLY - - db $00 - -TowerMons5: - db $0A - db 20,GASTLY - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 19,GASTLY - db 18,GASTLY - db 25,HAUNTER - db 20,CUBONE - db 22,CUBONE - db 24,GASTLY - - db $00 - -TowerMons6: - db $0F - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 24,GASTLY - db 20,GASTLY - db 19,GASTLY - db 26,HAUNTER - db 22,CUBONE - db 24,CUBONE - db 28,HAUNTER - - db $00 - -TowerMons7: - db $0F - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 24,GASTLY - db 20,GASTLY - db 28,HAUNTER - db 22,CUBONE - db 24,CUBONE - db 28,HAUNTER - db 30,HAUNTER - - db $00 - -Route13Mons: - db $14 - db 24,ODDISH - db 25,PIDGEY - db 27,PIDGEY - db 24,VENONAT - db 22,ODDISH - db 26,VENONAT - db 26,ODDISH - db 25,DITTO - db 28,GLOOM - db 30,GLOOM - - db $00 - -Route14Mons: - db $0F - db 24,ODDISH - db 26,PIDGEY - db 23,DITTO - db 24,VENONAT - db 22,ODDISH - db 26,VENONAT - db 26,ODDISH - db 30,GLOOM - db 28,PIDGEOTTO - db 30,PIDGEOTTO - - db $00 - -Route15Mons: - db $0F - db 24,ODDISH - db 26,DITTO - db 23,PIDGEY - db 26,VENONAT - db 22,ODDISH - db 28,VENONAT - db 26,ODDISH - db 30,GLOOM - db 28,PIDGEOTTO - db 30,PIDGEOTTO - - db $00 - -Route16Mons: - db $19 - db 20,SPEAROW - db 22,SPEAROW - db 18,RATTATA - db 20,DODUO - db 20,RATTATA - db 18,DODUO - db 22,DODUO - db 22,RATTATA - db 23,RATICATE - db 25,RATICATE - - db $00 - -Route17Mons: - db $19 - db 20,SPEAROW - db 22,SPEAROW - db 25,RATICATE - db 24,DODUO - db 27,RATICATE - db 26,DODUO - db 28,DODUO - db 29,RATICATE - db 25,FEAROW - db 27,FEAROW - - db $00 - -Route18Mons: - db $19 - db 20,SPEAROW - db 22,SPEAROW - db 25,RATICATE - db 24,DODUO - db 25,FEAROW - db 26,DODUO - db 28,DODUO - db 29,RATICATE - db 27,FEAROW - db 29,FEAROW - - db $00 - -ZoneMonsCenter: - db $1E - db 22,NIDORAN_M - db 25,RHYHORN - db 22,VENONAT - db 24,EXEGGCUTE - db 31,NIDORINO - db 25,EXEGGCUTE - db 31,NIDORINA - db 30,PARASECT - db 23,SCYTHER - db 23,CHANSEY - - db $00 - -ZoneMons1: - db $1E - db 24,NIDORAN_M - db 26,DODUO - db 22,PARAS - db 25,EXEGGCUTE - db 33,NIDORINO - db 23,EXEGGCUTE - db 24,NIDORAN_F - db 25,PARASECT - db 25,LICKITUNG - db 28,SCYTHER - - db $00 - -ZoneMons2: - db $1E - db 22,NIDORAN_M - db 26,RHYHORN - db 23,PARAS - db 25,EXEGGCUTE - db 30,NIDORINO - db 27,EXEGGCUTE - db 30,NIDORINA - db 32,VENOMOTH - db 26,CHANSEY - db 28,PINSIR - - db $00 - -ZoneMons3: - db $1E - db 25,NIDORAN_M - db 26,DODUO - db 23,VENONAT - db 24,EXEGGCUTE - db 33,NIDORINO - db 26,EXEGGCUTE - db 25,NIDORAN_F - db 31,VENOMOTH - db 26,PINSIR - db 28,LICKITUNG - - db $00 - -WaterMons: - db $00 - - db $05 - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 20,TENTACOOL - db 30,TENTACOOL - db 35,TENTACOOL - db 40,TENTACOOL - -WaterMons: - db $00 - - db $05 - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 20,TENTACOOL - db 30,TENTACOOL - db 35,TENTACOOL - db 40,TENTACOOL - -IslandMons1: - db $0F - db 30,SEEL - db 30,HORSEA - db 30,STARYU - db 30,KRABBY - db 28,KRABBY - db 21,ZUBAT - db 29,GOLBAT - db 28,SLOWPOKE - db 28,STARYU - db 38,SLOWBRO - - db $00 - -IslandMonsB1: - db $0A - db 30,SHELLDER - db 30,KRABBY - db 32,STARYU - db 32,KRABBY - db 28,HORSEA - db 30,SEEL - db 30,HORSEA - db 28,SEEL - db 38,DEWGONG - db 37,KINGLER - - db $00 - -IslandMonsB2: - db $0A - db 30,SEEL - db 30,HORSEA - db 32,SEEL - db 32,HORSEA - db 28,KRABBY - db 30,SHELLDER - db 30,KRABBY - db 28,STARYU - db 30,GOLBAT - db 37,JYNX - - db $00 - -IslandMonsB3: - db $0A - db 31,HORSEA - db 31,SEEL - db 33,HORSEA - db 33,SEEL - db 29,KRABBY - db 31,STARYU - db 31,KRABBY - db 29,STARYU - db 39,KINGLER - db 37,DEWGONG - - db $00 - -IslandMonsB4: - db $0A - db 31,KRABBY - db 31,STARYU - db 33,KRABBY - db 33,STARYU - db 29,HORSEA - db 31,SEEL - db 31,HORSEA - db 29,SEEL - db 39,JYNX - db 32,GOLBAT - - db $00 - -MansionMons1: - db $0A - db 32,GRIMER - db 30,GRIMER - db 34,PONYTA - db 30,PONYTA - db 34,GROWLITHE - db 32,PONYTA - db 30,KOFFING - db 28,PONYTA - db 37,MUK - db 39,WEEZING - - db $00 - -MansionMons2: - db $0A - db 32,GROWLITHE - db 34,GRIMER - db 34,GRIMER - db 30,PONYTA - db 30,GRIMER - db 32,PONYTA - db 30,KOFFING - db 28,PONYTA - db 39,MUK - db 37,WEEZING - - db $00 - -MansionMons3: - db $0A - db 31,GRIMER - db 33,GROWLITHE - db 35,GRIMER - db 32,PONYTA - db 34,PONYTA - db 40,MUK - db 34,KOFFING - db 38,MUK - db 36,PONYTA - db 42,WEEZING - - db $00 - -MansionMonsB1: - db $0A - db 33,GRIMER - db 31,GRIMER - db 35,GROWLITHE - db 32,PONYTA - db 31,GRIMER - db 40,MUK - db 34,PONYTA - db 35,KOFFING - db 38,MUK - db 42,WEEZING - - db $00 - -Route21Mons: - db $19 - db 21,RATTATA - db 23,PIDGEY - db 30,RATICATE - db 23,RATTATA - db 21,PIDGEY - db 30,PIDGEOTTO - db 32,PIDGEOTTO - db 28,TANGELA - db 30,TANGELA - db 32,TANGELA - - db $05 - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 20,TENTACOOL - db 30,TENTACOOL - db 35,TENTACOOL - db 40,TENTACOOL - -DungeonMons1: - db $0A - db 46,GOLBAT - db 46,HYPNO - db 46,MAGNETON - db 49,RAPIDASH - db 49,VENOMOTH - db 52,SANDSLASH - db 49,KADABRA - db 52,PARASECT - db 53,RAICHU - db 53,DITTO - - db $00 - -DungeonMons2: - db $0F - db 51,DODRIO - db 51,VENOMOTH - db 51,KADABRA - db 52,RHYDON - db 52,RATICATE - db 52,ELECTRODE - db 56,CHANSEY - db 54,WIGGLYTUFF - db 55,DITTO - db 60,DITTO - - db $00 - -DungeonMonsB1: - db $19 - db 55,RHYDON - db 55,MAROWAK - db 55,ELECTRODE - db 64,CLEFAIRY - db 64,PARASECT - db 64,RAICHU - db 57,SANDSLASH - db 65,DITTO - db 63,DITTO - db 67,DITTO - - db $00 - -PowerPlantMons: - db $0A - db 21,VOLTORB - db 21,MAGNEMITE - db 20,PIKACHU - db 24,PIKACHU - db 23,MAGNEMITE - db 23,VOLTORB - db 32,MAGNETON - db 35,MAGNETON - db 33,RAICHU - db 36,RAICHU - - db $00 - -Route23Mons: - db $0A - db 26,SANDSHREW - db 33,DITTO - db 26,SPEAROW - db 38,FEAROW - db 38,DITTO - db 38,FEAROW - db 41,SANDSLASH - db 43,DITTO - db 41,FEAROW - db 43,FEAROW - - db $00 - -PlateauMons2: - db $0A - db 22,MACHOP - db 24,GEODUDE - db 26,ZUBAT - db 36,ONIX - db 39,ONIX - db 42,ONIX - db 41,MACHOKE - db 40,GOLBAT - db 40,MAROWAK - db 43,GRAVELER - - db $00 - -PlateauMons3: - db $0F - db 24,MACHOP - db 26,GEODUDE - db 22,ZUBAT - db 42,ONIX - db 40,VENOMOTH - db 45,ONIX - db 43,GRAVELER - db 41,GOLBAT - db 42,MACHOKE - db 45,MACHOKE - - db $00 - -PlateauMons1: - db $0F - db 24,MACHOP - db 26,GEODUDE - db 22,ZUBAT - db 36,ONIX - db 39,ONIX - db 42,ONIX - db 41,GRAVELER - db 41,GOLBAT - db 42,MACHOKE - db 43,MAROWAK - - db $00 - -CaveMons: - db $14 - db 18,DIGLETT - db 19,DIGLETT - db 17,DIGLETT - db 20,DIGLETT - db 16,DIGLETT - db 15,DIGLETT - db 21,DIGLETT - db 22,DIGLETT - db 29,DUGTRIO - db 31,DUGTRIO - - db $00 - -ENDC -IF _YELLOW -NoMons: - db $00 - - db $00 - -Route1Mons: - db $19 - db 3,PIDGEY - db 4,PIDGEY - db 2,RATTATA - db 3,RATTATA - db 2,PIDGEY - db 3,PIDGEY - db 5,PIDGEY - db 4,RATTATA - db 6,PIDGEY - db 7,PIDGEY - - db $00 - -Route2Mons: - db $19 - db 3,RATTATA - db 3,PIDGEY - db 4,RATTATA - db 4,NIDORAN_M - db 4,NIDORAN_F - db 5,PIDGEY - db 6,NIDORAN_M - db 6,NIDORAN_F - db 7,PIDGEY - db 7,PIDGEY - - db $00 - -Route22Mons: - db $19 - db 2,NIDORAN_M - db 2,NIDORAN_F - db 3,MANKEY - db 3,RATTATA - db 4,NIDORAN_M - db 4,NIDORAN_F - db 5,MANKEY - db 2,SPEAROW - db 4,SPEAROW - db 6,SPEAROW - - db $00 - -ForestMons: - db $19 - db 3,CATERPIE - db 4,METAPOD - db 4,CATERPIE - db 5,CATERPIE - db 4,PIDGEY - db 6,PIDGEY - db 6,CATERPIE - db 6,METAPOD - db 8,PIDGEY - db 9,PIDGEOTTO - - db $00 - -Route3Mons: - db $14 - db 8,SPEAROW - db 9,SPEAROW - db 9,MANKEY - db 10,SPEAROW - db 8,SANDSHREW - db 10,RATTATA - db 10,SANDSHREW - db 12,RATTATA - db 11,SPEAROW - db 12,SPEAROW - - db $00 - -MoonMons1: - db $0A - db 8,ZUBAT - db 9,ZUBAT - db 10,GEODUDE - db 6,ZUBAT - db 7,ZUBAT - db 10,ZUBAT - db 10,GEODUDE - db 11,ZUBAT - db 12,SANDSHREW - db 11,CLEFAIRY - - db $00 - -MoonMonsB1: - db $0A - db 8,ZUBAT - db 9,ZUBAT - db 10,ZUBAT - db 10,GEODUDE - db 11,GEODUDE - db 11,ZUBAT - db 9,PARAS - db 11,PARAS - db 10,CLEFAIRY - db 12,CLEFAIRY - - db $00 - -MoonMonsB2: - db $0A - db 10,ZUBAT - db 11,GEODUDE - db 13,PARAS - db 11,ZUBAT - db 11,ZUBAT - db 12,ZUBAT - db 13,ZUBAT - db 9,CLEFAIRY - db 11,CLEFAIRY - db 13,CLEFAIRY - - db $00 - -Route4Mons: - db $14 - db 8,SPEAROW - db 9,SPEAROW - db 9,MANKEY - db 10,SPEAROW - db 8,SANDSHREW - db 10,RATTATA - db 10,SANDSHREW - db 12,RATTATA - db 11,SPEAROW - db 12,SPEAROW - - db $00 - -Route24Mons: - db $19 - db 12,ODDISH - db 12,BELLSPROUT - db 13,PIDGEY - db 14,ODDISH - db 14,BELLSPROUT - db 15,PIDGEY - db 13,VENONAT - db 16,VENONAT - db 17,PIDGEY - db 17,PIDGEOTTO - - db $00 - -Route25Mons: - db $0F - db 12,ODDISH - db 12,BELLSPROUT - db 13,PIDGEY - db 14,ODDISH - db 14,BELLSPROUT - db 15,PIDGEY - db 13,VENONAT - db 16,VENONAT - db 17,PIDGEY - db 17,PIDGEOTTO - - db $00 - -Route9Mons: - db $0F - db 16,NIDORAN_M - db 16,NIDORAN_F - db 18,RATTATA - db 18,NIDORAN_M - db 18,NIDORAN_F - db 17,SPEAROW - db 18,NIDORINO - db 18,NIDORINA - db 20,RATICATE - db 19,FEAROW - - db $00 - -Route5Mons: - db $0F - db 15,PIDGEY - db 14,RATTATA - db 7,ABRA - db 16,PIDGEY - db 16,RATTATA - db 17,PIDGEY - db 17,PIDGEOTTO - db 3,JIGGLYPUFF - db 5,JIGGLYPUFF - db 7,JIGGLYPUFF - - db $00 - -Route6Mons: - db $0F - db 15,PIDGEY - db 14,RATTATA - db 7,ABRA - db 16,PIDGEY - db 16,RATTATA - db 17,PIDGEY - db 17,PIDGEOTTO - db 3,JIGGLYPUFF - db 5,JIGGLYPUFF - db 7,JIGGLYPUFF - - db $03 - db 15,PSYDUCK - db 15,PSYDUCK - db 15,PSYDUCK - db 15,PSYDUCK - db 15,PSYDUCK - db 15,PSYDUCK - db 15,PSYDUCK - db 15,PSYDUCK - db 15,GOLDUCK - db 20,GOLDUCK - -Route11Mons: - db $0F - db 16,PIDGEY - db 15,RATTATA - db 18,PIDGEY - db 15,DROWZEE - db 17,RATTATA - db 17,DROWZEE - db 18,PIDGEOTTO - db 20,PIDGEOTTO - db 19,DROWZEE - db 17,RATICATE - - db $00 - -TunnelMonsB1: - db $0F - db 15,ZUBAT - db 16,GEODUDE - db 17,ZUBAT - db 19,ZUBAT - db 18,GEODUDE - db 20,GEODUDE - db 21,ZUBAT - db 17,MACHOP - db 19,MACHOP - db 21,MACHOP - - db $00 - -TunnelMonsB2: - db $0F - db 20,ZUBAT - db 17,GEODUDE - db 18,MACHOP - db 21,ZUBAT - db 22,ZUBAT - db 21,GEODUDE - db 20,MACHOP - db 14,ONIX - db 18,ONIX - db 22,ONIX - - db $00 - -Route10Mons: - db $0F - db 16,MAGNEMITE - db 18,RATTATA - db 18,MAGNEMITE - db 20,MAGNEMITE - db 17,NIDORAN_M - db 17,NIDORAN_F - db 22,MAGNEMITE - db 20,RATICATE - db 16,MACHOP - db 18,MACHOP - - db $00 - -Route12Mons: - db $0F - db 25,ODDISH - db 25,BELLSPROUT - db 28,PIDGEY - db 28,PIDGEOTTO - db 27,ODDISH - db 27,BELLSPROUT - db 29,GLOOM - db 29,WEEPINBELL - db 26,FARFETCH_D - db 31,FARFETCH_D - - db $03 - db 15,SLOWPOKE - db 15,SLOWPOKE - db 15,SLOWPOKE - db 15,SLOWPOKE - db 15,SLOWPOKE - db 15,SLOWPOKE - db 15,SLOWPOKE - db 15,SLOWPOKE - db 15,SLOWBRO - db 20,SLOWBRO - -Route8Mons: - db $0F - db 20,PIDGEY - db 22,PIDGEY - db 20,RATTATA - db 15,ABRA - db 19,ABRA - db 24,PIDGEOTTO - db 19,JIGGLYPUFF - db 24,JIGGLYPUFF - db 20,KADABRA - db 27,KADABRA - - db $00 - -Route7Mons: - db $0F - db 20,PIDGEY - db 22,PIDGEY - db 20,RATTATA - db 15,ABRA - db 19,ABRA - db 24,PIDGEOTTO - db 26,ABRA - db 19,JIGGLYPUFF - db 24,JIGGLYPUFF - db 24,JIGGLYPUFF - - db $00 - -TowerMons1: - db $00 - - db $00 - -TowerMons2: - db $00 - - db $00 - -TowerMons3: - db $0A - db 20,GASTLY - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 24,GASTLY - db 19,GASTLY - db 18,GASTLY - db 25,GASTLY - db 20,HAUNTER - db 25,HAUNTER - - db $00 - -TowerMons4: - db $0A - db 20,GASTLY - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 24,GASTLY - db 19,GASTLY - db 18,GASTLY - db 25,GASTLY - db 20,HAUNTER - db 25,HAUNTER - - db $00 - -TowerMons5: - db $0F - db 22,GASTLY - db 23,GASTLY - db 24,GASTLY - db 25,GASTLY - db 26,GASTLY - db 21,GASTLY - db 20,CUBONE - db 27,GASTLY - db 22,HAUNTER - db 27,HAUNTER - - db $00 - -TowerMons6: - db $0F - db 22,GASTLY - db 23,GASTLY - db 24,GASTLY - db 25,GASTLY - db 26,GASTLY - db 21,GASTLY - db 22,CUBONE - db 27,GASTLY - db 22,HAUNTER - db 27,HAUNTER - - db $00 - -TowerMons7: - db $14 - db 24,GASTLY - db 25,GASTLY - db 26,GASTLY - db 27,GASTLY - db 28,GASTLY - db 23,GASTLY - db 24,CUBONE - db 29,GASTLY - db 24,HAUNTER - db 29,HAUNTER - - db $00 - -Route13Mons: - db $0F - db 25,ODDISH - db 25,BELLSPROUT - db 28,PIDGEOTTO - db 28,PIDGEY - db 27,ODDISH - db 27,BELLSPROUT - db 29,GLOOM - db 29,WEEPINBELL - db 26,FARFETCH_D - db 31,FARFETCH_D - - db $03 - db 15,SLOWPOKE - db 15,SLOWPOKE - db 15,SLOWPOKE - db 15,SLOWPOKE - db 15,SLOWPOKE - db 15,SLOWPOKE - db 15,SLOWPOKE - db 15,SLOWPOKE - db 15,SLOWBRO - db 20,SLOWBRO - -Route14Mons: - db $0F - db 26,ODDISH - db 26,BELLSPROUT - db 24,VENONAT - db 30,PIDGEOTTO - db 28,ODDISH - db 28,BELLSPROUT - db 30,GLOOM - db 30,WEEPINBELL - db 27,VENONAT - db 30,VENOMOTH - - db $00 - -Route15Mons: - db $0F - db 26,ODDISH - db 26,BELLSPROUT - db 24,VENONAT - db 32,PIDGEOTTO - db 28,ODDISH - db 28,BELLSPROUT - db 30,GLOOM - db 30,WEEPINBELL - db 27,VENONAT - db 30,VENOMOTH - - db $00 - -Route16Mons: - db $19 - db 22,SPEAROW - db 22,DODUO - db 23,RATTATA - db 24,DODUO - db 24,RATTATA - db 26,DODUO - db 23,SPEAROW - db 24,FEAROW - db 25,RATICATE - db 26,RATICATE - - db $00 - -Route17Mons: - db $19 - db 26,DODUO - db 27,FEAROW - db 27,DODUO - db 28,DODUO - db 28,PONYTA - db 30,PONYTA - db 29,FEAROW - db 28,DODUO - db 32,PONYTA - db 29,DODRIO - - db $00 - -Route18Mons: - db $19 - db 22,SPEAROW - db 22,DODUO - db 23,RATTATA - db 24,DODUO - db 24,RATTATA - db 26,DODUO - db 23,SPEAROW - db 24,FEAROW - db 25,RATICATE - db 26,RATICATE - - db $00 - -ZoneMonsCenter: - db $1E - db 14,NIDORAN_M - db 36,NIDORAN_F - db 24,EXEGGCUTE - db 20,RHYHORN - db 23,NIDORINO - db 27,PARASECT - db 27,PARAS - db 32,PARASECT - db 22,TANGELA - db 7,CHANSEY - - db $00 - -ZoneMons1: - db $1E - db 21,NIDORAN_M - db 29,NIDORAN_F - db 22,EXEGGCUTE - db 21,TAUROS - db 32,NIDORINA - db 19,CUBONE - db 26,EXEGGCUTE - db 24,MAROWAK - db 21,CHANSEY - db 15,SCYTHER - - db $00 - -ZoneMons2: - db $1E - db 36,NIDORAN_M - db 14,NIDORAN_F - db 20,EXEGGCUTE - db 25,RHYHORN - db 23,NIDORINA - db 28,KANGASKHAN - db 16,CUBONE - db 33,KANGASKHAN - db 25,SCYTHER - db 15,PINSIR - - db $00 - -ZoneMons3: - db $1E - db 29,NIDORAN_M - db 21,NIDORAN_F - db 22,EXEGGCUTE - db 21,TAUROS - db 32,NIDORINO - db 19,CUBONE - db 26,EXEGGCUTE - db 24,MAROWAK - db 25,PINSIR - db 27,TANGELA - - db $00 - -WaterMons: - db $00 - - db $05 - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 20,TENTACOOL - db 30,TENTACOOL - db 35,TENTACOOL - db 40,TENTACOOL - -WaterMons: - db $00 - - db $05 - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 20,TENTACOOL - db 30,TENTACOOL - db 35,TENTACOOL - db 40,TENTACOOL - -IslandMons1: - db $0F - db 18,ZUBAT - db 25,KRABBY - db 27,KRABBY - db 27,ZUBAT - db 36,ZUBAT - db 28,SLOWPOKE - db 30,SLOWPOKE - db 9,ZUBAT - db 27,GOLBAT - db 36,GOLBAT - - db $00 - -IslandMonsB1: - db $0A - db 27,ZUBAT - db 26,KRABBY - db 36,ZUBAT - db 28,KRABBY - db 27,GOLBAT - db 29,SLOWPOKE - db 18,ZUBAT - db 28,KINGLER - db 22,SEEL - db 26,SEEL - - db $00 - -IslandMonsB2: - db $0A - db 27,ZUBAT - db 27,KRABBY - db 36,ZUBAT - db 27,GOLBAT - db 28,KINGLER - db 24,SEEL - db 29,KRABBY - db 36,GOLBAT - db 31,SLOWPOKE - db 31,SLOWBRO - - db $00 - -IslandMonsB3: - db $0A - db 27,GOLBAT - db 36,ZUBAT - db 29,KRABBY - db 27,ZUBAT - db 30,KINGLER - db 26,SEEL - db 31,KRABBY - db 30,SEEL - db 28,DEWGONG - db 32,DEWGONG - - db $05 - db 25,TENTACOOL - db 30,TENTACOOL - db 20,TENTACOOL - db 30,STARYU - db 35,TENTACOOL - db 30,STARYU - db 40,TENTACOOL - db 30,STARYU - db 30,STARYU - db 30,STARYU - -IslandMonsB4: - db $0A - db 36,GOLBAT - db 36,ZUBAT - db 30,KRABBY - db 32,KINGLER - db 28,SEEL - db 32,SEEL - db 27,GOLBAT - db 45,ZUBAT - db 30,DEWGONG - db 34,DEWGONG - - db $05 - db 25,TENTACOOL - db 30,TENTACOOL - db 20,TENTACOOL - db 30,STARYU - db 35,TENTACOOL - db 30,STARYU - db 40,TENTACOOL - db 30,STARYU - db 30,STARYU - db 30,STARYU - -MansionMons1: - db $0A - db 34,RATTATA - db 34,RATICATE - db 23,GRIMER - db 26,GROWLITHE - db 37,RATTATA - db 37,RATICATE - db 30,GROWLITHE - db 26,GRIMER - db 34,GROWLITHE - db 38,GROWLITHE - - db $00 - -MansionMons2: - db $0A - db 37,RATTATA - db 37,RATICATE - db 26,GRIMER - db 29,GRIMER - db 40,RATTATA - db 40,RATICATE - db 32,GRIMER - db 35,GRIMER - db 35,MUK - db 38,MUK - - db $00 - -MansionMons3: - db $0A - db 40,RATTATA - db 40,RATICATE - db 32,GRIMER - db 35,GRIMER - db 43,RATTATA - db 43,RATICATE - db 38,GRIMER - db 38,GRIMER - db 38,MUK - db 41,MUK - - db $00 - -MansionMonsB1: - db $0A - db 35,GRIMER - db 38,GRIMER - db 37,RATICATE - db 40,RATICATE - db 41,MUK - db 43,RATICATE - db 24,DITTO - db 46,RATICATE - db 18,DITTO - db 12,DITTO - - db $00 - -Route21Mons: - db $19 - db 15,PIDGEY - db 13,RATTATA - db 13,PIDGEY - db 11,PIDGEY - db 17,PIDGEY - db 15,RATTATA - db 15,RATICATE - db 17,PIDGEOTTO - db 19,PIDGEOTTO - db 15,PIDGEOTTO - - db $05 - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 20,TENTACOOL - db 30,TENTACOOL - db 35,TENTACOOL - db 40,TENTACOOL - -DungeonMons1: - db $0A - db 50,GOLBAT - db 55,GOLBAT - db 45,GRAVELER - db 55,GLOOM - db 55,WEEPINBELL - db 52,SANDSLASH - db 54,VENOMOTH - db 54,PARASECT - db 55,DITTO - db 60,DITTO - - db $00 - -DungeonMons2: - db $0F - db 52,GOLBAT - db 57,GOLBAT - db 50,GRAVELER - db 56,SANDSLASH - db 50,RHYHORN - db 60,DITTO - db 58,GLOOM - db 58,WEEPINBELL - db 60,RHYDON - db 58,RHYDON - - db $00 - -DungeonMonsB1: - db $19 - db 54,GOLBAT - db 59,GOLBAT - db 55,GRAVELER - db 52,RHYHORN - db 62,RHYDON - db 60,DITTO - db 56,CHANSEY - db 65,DITTO - db 55,LICKITUNG - db 50,LICKITUNG - - db $00 - -PowerPlantMons: - db $0A - db 30,MAGNEMITE - db 35,MAGNEMITE - db 33,MAGNETON - db 33,VOLTORB - db 37,VOLTORB - db 33,GRIMER - db 37,GRIMER - db 38,MAGNETON - db 33,MUK - db 37,MUK - - db $00 - -Route23Mons: - db $0A - db 41,NIDORINO - db 41,NIDORINA - db 36,MANKEY - db 44,NIDORINO - db 44,NIDORINA - db 40,FEAROW - db 41,MANKEY - db 45,FEAROW - db 41,PRIMEAPE - db 46,PRIMEAPE - - db $00 - -PlateauMons2: - db $0A - db 31,GEODUDE - db 36,GEODUDE - db 41,GEODUDE - db 44,ZUBAT - db 39,GOLBAT - db 44,GRAVELER - db 45,ONIX - db 47,ONIX - db 39,MACHOKE - db 42,MACHOKE - - db $00 - -PlateauMons3: - db $0F - db 36,GEODUDE - db 44,GOLBAT - db 41,GEODUDE - db 49,ONIX - db 46,GEODUDE - db 41,GRAVELER - db 42,MACHOKE - db 45,MACHOKE - db 47,GRAVELER - db 47,GRAVELER - - db $00 - -PlateauMons1: - db $0F - db 26,GEODUDE - db 31,GEODUDE - db 36,GEODUDE - db 39,ZUBAT - db 44,ZUBAT - db 41,GEODUDE - db 43,ONIX - db 45,ONIX - db 41,GRAVELER - db 47,GRAVELER - - db $00 - -CaveMons: - db $14 - db 18,DIGLETT - db 19,DIGLETT - db 17,DIGLETT - db 20,DIGLETT - db 16,DIGLETT - db 15,DIGLETT - db 21,DIGLETT - db 22,DIGLETT - db 29,DUGTRIO - db 31,DUGTRIO - - db $00 - -ENDC - -GetItemUse: ; $D5C7 - ld a,1 - ld [$cd6a],a - ld a,[$cf91] ;contains item_ID - cp a,HM_01 - jp nc,ItemUseTMHM - ld hl,ItemUsePtrTable - dec a - add a - ld c,a - ld b,0 - add hl,bc - ld a,[hli] - ld h,[hl] - ld l,a - jp [hl] - -ItemUsePtrTable: ; $D5E1 - dw ItemUseBall ;$5687 masterball - dw ItemUseBall ;$5687 ultraball - dw ItemUseBall ;$5687 greatball - dw ItemUseBall ;$5687 pokeball - dw ItemUseTownMap ;$5968 TownMap - dw $5977 ;ItemUseBicycle - dw $59B4 ;ItemUseSurfBoard (UNUSED, glitchy!) - dw ItemUseBall ;$5687 Safariball - dw ItemUsePokedex ;$DA56 pokedex - dw $5A5B ; MOON_STONE - dw $5ABB ; ANTIDOTE - dw $5ABB ; BURN_HEAL - dw $5ABB ; ICE_HEAL - dw $5ABB ; AWAKENING - dw $5ABB ; PARLYZ_HEAL - dw $5ABB ; FULL_RESTORE - dw $5ABB ; MAX_POTION - dw $5ABB ; HYPER_POTION - dw $5ABB ; SUPER_POTION - dw $5ABB ; POTION - dw $5F52 ; BOULDERBADGE - dw $5F67 ; CASCADEBADGE - dw $6476 ; THUNDERBADGE - dw $6476 ; RAINBOWBADGE - dw $6476 ; SOULBADGE - dw $6476 ; MARSHBADGE - dw $6476 ; VOLCANOBADGE - dw $6476 ; EARTHBADGE - dw $5FAF ; ESCAPE_ROPE - dw $6003 ; REPEL - dw $6476 ; OLD_AMBER - dw $5A5B ; FIRE_STONE - dw $5A5B ; THUNDER_STONE - dw $5A5B ; WATER_STONE - dw $5AB4 ; HP_UP - dw $5AB4 ; PROTEIN - dw $5AB4 ; IRON - dw $5AB4 ; CARBOS - dw $5AB4 ; CALCIUM - dw $5AB4 ; RARE_CANDY - dw $6476 ; DOME_FOSSIL - dw $6476 ; HELIX_FOSSIL - dw $6476 ; SECRET_KEY - dw $6476 - dw $6476 ; BIKE_VOUCHER - dw $6013 ; X_ACCURACY - dw $5A5B ; LEAF_STONE - dw $6022 ; CARD_KEY - dw $6476 ; NUGGET - dw $6476 ; ??? PP_UP - dw $60CD ; POKE_DOLL - dw $5ABB ; FULL_HEAL - dw $5ABB ; REVIVE - dw $5ABB ; MAX_REVIVE - dw $60DC ; GUARD_SPEC_ - dw $60EB ; SUPER_REPL - dw $60F0 ; MAX_REPEL - dw $60F5 ; DIRE_HIT - dw $6476 ; COIN - dw $5ABB ; FRESH_WATER - dw $5ABB ; SODA_POP - dw $5ABB ; LEMONADE - dw $6476 ; S_S__TICKET - dw $6476 ; GOLD_TEETH - dw $6104 ; X_ATTACK - dw $6104 ; X_DEFEND - dw $6104 ; X_SPEED - dw $6104 ; X_SPECIAL - dw $623A ; COIN_CASE - dw $62DE ; OAKS_PARCEL - dw $62E1 ; ITEMFINDER - dw $6476 ; SILPH_SCOPE - dw $6140 ; POKE_FLUTE - dw $6476 ; LIFT_KEY - dw $6476 ; EXP__ALL - dw OldRodCode ; OLD_ROD - dw GoodRodCode ; GOOD_ROD $6259 - dw SuperRodCode ; SUPER_ROD $6283 - dw $6317 ; PP_UP (see other?) - dw $631E ; ETHER - dw $631E ; MAX_ETHER - dw $631E ; ELIXER - dw $631E ; MAX_ELIXER - -ItemUseBall: ; 03:5687 - ld a,[W_ISINBATTLE] - and a - jp z,ItemUseNotTime ; not in battle - dec a - jp nz,$658b ; in trainer battle - ld a,[W_BATTLETYPE] - dec a - jr z,.UseBall\@ - ld a,[W_NUMINPARTY] ;is Party full? - cp a,6 - jr nz,.UseBall\@ - ld a,[W_NUMINBOX] ;is Box full? - cp a,20 - jp z,$65b1 -.UseBall\@ ;$56a7 -;ok, you can use a ball - xor a - ld [$d11c],a - ld a,[W_BATTLETYPE] - cp a,2 ;SafariBattle - jr nz,.skipSafariZoneCode\@ -.safariZone\@ - ; remove a Safari Ball from inventory - ld hl,W_NUMSAFARIBALLS - dec [hl] -.skipSafariZoneCode\@ ;$56b6 - call GoPAL_SET_CF1C - ld a,$43 - ld [$d11e],a - call $3725 ;restore screenBuffer from Backup - ld hl,ItemUseText00 - call PrintText - ld hl,$583a - ld b,$0f - call Bankswitch - ld b,$10 - jp z,$5801 - ld a,[W_BATTLETYPE] - dec a - jr nz,.notOldManBattle\@ -.oldManBattle\@ - ld hl,W_GRASSRATE - ld de,W_PLAYERNAME - ld bc,11 - call CopyData ; save the player's name in the Wild Monster data (part of the Cinnabar Island Missingno glitch) - jp .BallSuccess\@ ;$578b -.notOldManBattle\@ ;$56e9 - ld a,[W_CURMAP] - cp a,POKEMONTOWER_6 - jr nz,.loop\@ - ld a,[$cfd8] - cp a,MAROWAK - ld b,$10 - jp z,$5801 -; if not fighting ghost Marowak, loop until a random number in the current -; pokeball's allowed range is found -.loop\@ ;$56fa - call GenRandom - ld b,a - ld hl,$cf91 - ld a,[hl] - cp a,MASTER_BALL - jp z,.BallSuccess\@ ;$578b - cp a,POKE_BALL - jr z,.checkForAilments - ld a,200 - cp b - jr c,.loop\@ ;get only numbers <= 200 for Great Ball - ld a,[hl] - cp a,GREAT_BALL - jr z,.checkForAilments - ld a,150 ;get only numbers <= 150 for Ultra Ball - cp b - jr c,.loop\@ -.checkForAilments\@ ;$571a -; pokemon can be caught more easily with any (primary) status ailment -; Frozen/Asleep pokemon are relatively even easier to catch -; for Frozen/Asleep pokemon, any random number from 0-24 ensures a catch. -; for the others, a random number from 0-11 ensures a catch. - ld a,[W_ENEMYMONSTATUS] ;status ailments - and a - jr z,.noAilments\@ - and a,(FRZ + SLP) ;is frozen and/or asleep? - ld c,12 - jr z,.notFrozenOrAsleep\@ - ld c,25 -.notFrozenOrAsleep\@ ;$5728 - ld a,b - sub c - jp c,.BallSuccess\@ ;$578b - ld b,a -.noAilments\@ ;$572e - push bc ;save RANDOM number - xor a - ld [H_MULTIPLICAND],a - ld hl,W_ENEMYMONMAXHP - ld a,[hli] - ld [H_MULTIPLICAND + 1],a - ld a,[hl] - ld [H_MULTIPLICAND + 2],a - ld a,255 - ld [H_MULTIPLIER],a - call $38ac ;Multiply: MaxHP * 255 - ld a,[$cf91] - cp a,GREAT_BALL - ld a,12 ;any other BallFactor - jr nz,.next7\@ - ld a,8 -.next7\@ ;$574d - ld [H_DIVISOR],a - ld b,4 ;number of significant bytes - call $38b9 ;Divide - ld hl,W_ENEMYMONCURHP - ld a,[hli] - ld b,a - ld a,[hl] - -; explanation: we have a 16-bit value equal to [b << 8 | a]. -; This number is divided by 4. The result is 8 bit (reg. a). -; Always bigger than zero. - srl b - rr a - srl b - rr a ; a = current HP / 4 - and a - jr nz,.next8\@ - inc a -.next8\@ ;$5766 - ld [H_DIVISOR],a - ld b,4 - call $38b9 ; Divide: ((MaxHP * 255) / BallFactor) / (CurHP / 4) - ld a,[H_QUOTIENT + 2] - and a - jr z,.next9\@ - ld a,255 - ld [H_QUOTIENT + 3],a -.next9\@ ;$5776 - pop bc - ld a,[$d007] ;enemy: Catch Rate - cp b - jr c,.next10\@ - ld a,[H_QUOTIENT + 2] - and a - jr nz,.BallSuccess\@ ; if ((MaxHP * 255) / BallFactor) / (CurHP / 4) > 0x255, automatic success - call GenRandom - ld b,a - ld a,[H_QUOTIENT + 3] - cp b - jr c,.next10\@ -.BallSuccess\@ ;$578b - jr .BallSuccess2\@ -.next10\@ ;$578d - ld a,[H_QUOTIENT + 3] - ld [$d11e],a - xor a - ld [H_MULTIPLICAND],a - ld [H_MULTIPLICAND + 1],a - ld a,[$d007] ;enemy: Catch Rate - ld [H_MULTIPLICAND + 2],a - ld a,100 - ld [H_MULTIPLIER],a - call $38ac ;Multiply: CatchRate * 100 - ld a,[$cf91] - ld b,255 - cp a,POKE_BALL - jr z,.next11\@ - ld b,200 - cp a,GREAT_BALL - jr z,.next11\@ - ld b,150 - cp a,ULTRA_BALL - jr z,.next11\@ -.next11\@ ;$57b8 - ld a,b - ld [H_DIVISOR],a - ld b,4 - call $38b9 ;Divide - ld a,[H_QUOTIENT + 2] - and a - ld b,$63 - jr nz,.next12\@ - ld a,[$d11e] - ld [H_MULTIPLIER],a - call $38ac - ld a,255 - ld [H_DIVISOR],a - ld b,4 - call $38b9 - ld a,[W_ENEMYMONSTATUS] ;status ailments - and a - jr z,.next13\@ - and a,(FRZ + SLP) - ld b,5 - jr z,.next14\@ - ld b,10 -.next14\@ ;$57e6 - ld a,[H_QUOTIENT + 3] - add b - ld [H_QUOTIENT + 3],a -.next13\@ ;$57eb - ld a,[H_QUOTIENT + 3] - cp a,10 - ld b,$20 - jr c,.next12\@ - cp a,30 - ld b,$61 - jr c,.next12\@ - cp a,70 - ld b,$62 - jr c,.next12\@ - ld b,$63 -.next12\@ ;$5801 - ld a,b - ld [$d11e],a -.BallSuccess2\@ ;$5805 - ld c,20 - call DelayFrames - ld a,$c1 - ld [$d07c],a - xor a - ld [$fff3],a - ld [$cc5b],a - ld [$d05b],a - ld a,[$cf92] - push af - ld a,[$cf91] - push af - ld a,$08 ;probably animations - call Predef - pop af - ld [$cf91],a - pop af - ld [$cf92],a - ld a,[$d11e] - cp a,$10 - ld hl,ItemUseBallText00 - jp z,.printText0\@ - cp a,$20 - ld hl,ItemUseBallText01 - jp z,.printText0\@ - cp a,$61 - ld hl,ItemUseBallText02 - jp z,.printText0\@ - cp a,$62 - ld hl,ItemUseBallText03 - jp z,.printText0\@ - cp a,$63 - ld hl,ItemUseBallText04 - jp z,.printText0\@ - ld hl,$cfe6 ;current HP - ld a,[hli] - push af - ld a,[hli] - push af ;backup currentHP... - inc hl - ld a,[hl] - push af ;...and status ailments - push hl - ld hl,$d069 - bit 3,[hl] - jr z,.next15\@ - ld a,$4c - ld [$cfd8],a - jr .next16\@ -.next15\@ ;$5871 - set 3,[hl] - ld hl,$cceb - ld a,[$cff1] - ld [hli],a - ld a,[$cff2] - ld [hl],a -.next16\@ ;$587e - ld a,[$cf91] - push af - ld a,[$cfd8] - ld [$cf91],a - ld a,[$cff3] - ld [$d127],a - ld hl,$6b01 - ld b,$0f - call Bankswitch - pop af - ld [$cf91],a - pop hl - pop af - ld [hld],a - dec hl - pop af - ld [hld],a - pop af - ld [hl],a - ld a,[$cfe5] ;enemy - ld [$d11c],a - ld [$cf91],a - ld [$d11e],a - ld a,[W_BATTLETYPE] - dec a - jr z,.printText1\@ - ld hl,ItemUseBallText05 - call PrintText - ld a,$3a ;convert order: Internal->Dex - call Predef - ld a,[$d11e] - dec a - ld c,a - ld b,2 - ld hl,$d2f7 ;Dex_own_flags (pokemon) - ld a,$10 - call Predef ;check Dex flag (own already or not) - ld a,c - push af - ld a,[$d11e] - dec a - ld c,a - ld b,1 - ld a,$10 ;set Dex_own_flag? - call Predef - pop af - and a - jr nz,.checkParty\@ - ld hl,ItemUseBallText06 - call PrintText - call CleanLCD_OAM - ld a,[$cfe5] ;caught mon_ID - ld [$d11e],a - ld a,$3d - call Predef -.checkParty\@ ;$58f4 - ld a,[W_NUMINPARTY] - cp a,6 ;is party full? - jr z,.sendToBox\@ - xor a - ld [$cc49],a - call CleanLCD_OAM - call AddPokemonToParty ;add mon to Party - jr .End\@ -.sendToBox\@ ;$5907 - call CleanLCD_OAM - call $67a4 - ld hl,ItemUseBallText07 - ld a,[$d7f1] - bit 0,a ;already met Bill? - jr nz,.sendToBox2\@ - ld hl,ItemUseBallText08 -.sendToBox2\@ ;$591a - call PrintText - jr .End\@ -.printText1\@ ;$591f - ld hl,ItemUseBallText05 -.printText0\@ ;$5922 - call PrintText - call CleanLCD_OAM -.End\@ ;$5928 - ld a,[W_BATTLETYPE] - and a - ret nz - ld hl,$d31d - inc a - ld [$cf96],a - jp $2bbb ;remove ITEM (XXX) -ItemUseBallText00: -;"It dodged the thrown ball!" -;"This pokemon can't be caught" - TX_FAR _ItemUseBallText00 - db "@" -ItemUseBallText01: -;"You missed the pokemon!" - TX_FAR _ItemUseBallText01 - db "@" -ItemUseBallText02: -;"Darn! The pokemon broke free!" - TX_FAR _ItemUseBallText02 - db "@" -ItemUseBallText03: -;"Aww! It appeared to be caught!" - TX_FAR _ItemUseBallText03 - db "@" -ItemUseBallText04: -;"Shoot! It was so close too!" - TX_FAR _ItemUseBallText04 - db "@" -ItemUseBallText05: -;"All right! {MonName} was caught!" -;play sound - TX_FAR _ItemUseBallText05 - db $12,$06 - db "@" -ItemUseBallText07: -;"X was transferred to Bill's PC" - TX_FAR _ItemUseBallText07 - db "@" -ItemUseBallText08: -;"X was transferred to someone's PC" - TX_FAR _ItemUseBallText08 - db "@" - -ItemUseBallText06: -;"New DEX data will be added..." -;play sound - TX_FAR _ItemUseBallText06 - db $13,$06 - db "@" - -ItemUseTownMap: ; 03:5968 - ld a,[W_ISINBATTLE] ;in-battle or outside - and a - jp nz,ItemUseNotTime ;OAK: "this isn't the time..." - -INCBIN "baserom.gbc",$d96f,$da4c - $d96f - -UnnamedText_da4c: ; 0xda4c - TX_FAR _UnnamedText_da4c - db $50 -; 0xda4c + 5 bytes - -UnnamedText_da51: ; 0xda51 - TX_FAR _UnnamedText_da51 - db $50 -; 0xda51 + 5 bytes - -ItemUsePokedex: ; 0xda56 5A56 - ld a, $29 - jp $3e6d -; 0xda5b - -INCBIN "baserom.gbc",$da5b,$df24 - $da5b - -UnnamedText_df24: ; 0xdf24 - TX_FAR _UnnamedText_df24 - db $50 -; 0xdf24 + 5 bytes - -UnnamedText_df29: ; 0xdf29 - TX_FAR _UnnamedText_df29 - db $50 -; 0xdf29 + 5 bytes - -INCBIN "baserom.gbc",$df2e,$dfa5 - $df2e - -UnnamedText_dfa5: ; 0xdfa5 - TX_FAR _UnnamedText_dfa5 - db $50 -; 0xdfa5 + 5 bytes - -UnnamedText_dfaa: ; 0xdfaa - TX_FAR _UnnamedText_dfaa - db $50 -; 0xdfaa + 5 bytes - -INCBIN "baserom.gbc",$dfaf,$e20b - $dfaf - -UnnamedText_e20b: ; 0xe20b - TX_FAR _UnnamedText_e20b - db $50 -; 0xe20b + 5 bytes - -UnnamedText_e210: ; 0xe210 - TX_FAR _UnnamedText_e210 - db $50 -; 0xe210 + 5 bytes - -INCBIN "baserom.gbc",$e215,$e247 - $e215 - -UnnamedText_e247: ; 0xe247 - TX_FAR _UnnamedText_e247 - db $50 -; 0xe247 + 5 bytes - -OldRodCode: ; 0xe24c - call $62b4 ; probably sets carry if not in battle or not by water - jp c, ItemUseNotTime - ld bc, (5 << 8) | MAGIKARP - ld a, $1 ; set bite - jr RodResponse ; 0xe257 $34 - -GoodRodCode: ; 6259 0xe259 - call $62B4 ; probably sets carry if not in battle or not by water - jp c,ItemUseNotTime -.RandomLoop - call GenRandom - srl a - jr c, .SetBite - and %11 - cp 2 - jr nc, .RandomLoop - ; choose which monster appears - ld hl,GoodRodMons - add a,a - ld c,a - ld b,0 - add hl,bc - ld b,[hl] - inc hl - ld c,[hl] - and a -.SetBite - ld a,0 - rla - xor 1 - jr RodResponse - -GoodRodMons: - db 10,GOLDEEN - db 10,POLIWAG - -SuperRodCode: ; $6283 0xe283 - call $62B4 ; probably sets carry if in battle or not by water - jp c, ItemUseNotTime - call ReadSuperRodData ; 0xe8ea - ld a, e -RodResponse: - ld [$CD3D], a - - dec a ; is there a bite? - jr nz, .next\@ - ; if yes, store level and species data - ld a, 1 - ld [$D05F], a - ld a, b ; level - ld [W_CURENEMYLVL], a - ld a, c ; species - ld [W_CUROPPONENT], a - -.next\@ - ld hl, $D700 - ld a, [hl] ; store the value in a - push af - push hl - ld [hl], 0 - ld b, $1C - ld hl, $47B6 - call Bankswitch - pop hl - pop af - ld [hl], a - ret - -INCBIN "baserom.gbc",$e2b4,$e30d - $e2b4 - -UnnamedText_e30d: ; 0xe30d - TX_FAR _UnnamedText_e30d - db $50 -; 0xe30d + 5 bytes - -UnnamedText_e312: ; 0xe312 - TX_FAR _UnnamedText_e312 - db $50 -; 0xe312 + 5 bytes - -INCBIN "baserom.gbc",$e317,$e45d - $e317 - -UnnamedText_e45d: ; 0xe45d - TX_FAR _UnnamedText_e45d - db $50 -; 0xe45d + 5 bytes - -UnnamedText_e462: ; 0xe462 - TX_FAR _UnnamedText_e462 - db $50 -; 0xe462 + 5 bytes - -UnnamedText_e467: ; 0xe467 - TX_FAR _UnnamedText_e467 - db $50 -; 0xe467 + 5 bytes - -UnnamedText_e46c: ; 0xe46c - TX_FAR _UnnamedText_e46c - db $50 -; 0xe46c + 5 bytes - -UnnamedText_e471: ; 0xe471 - TX_FAR _UnnamedText_e471 - db $50 -; 0xe471 + 5 bytes - -INCBIN "baserom.gbc",$e476,$3 - -ItemUseTMHM: ; 03:6479 - INCBIN "baserom.gbc",$E479,$E581 - $E479 -ItemUseNotTime: ; 03:6581 - INCBIN "baserom.gbc",$E581,$E5E8 - $E581 -ItemUseText00: ; 03:65e8 - TX_FAR _ItemUseText001 - db $05 - TX_FAR _ItemUseText002 - db "@" - -INCBIN "baserom.gbc",$e5f2,$e5f7 - $e5f2 - -UnnamedText_e5f7: ; 0xe5f7 - TX_FAR _UnnamedText_e5f7 - db $50 -; 0xe5f7 + 5 bytes - -INCBIN "baserom.gbc",$e5fc,$e601 - $e5fc - -UnnamedText_e601: ; 0xe601 - TX_FAR _UnnamedText_e601 - db $50 -; 0xe601 + 5 bytes - -INCBIN "baserom.gbc",$e606,$e755 - $e606 - -UnnamedText_e755: ; 0xe755 - TX_FAR _UnnamedText_e755 - db $50 -; 0xe755 + 5 bytes - -UnnamedText_e75a: ; 0xe75a - TX_FAR _UnnamedText_e75a - db $50 -; 0xe75a + 5 bytes - -UnnamedText_e75f: ; 0xe75f - TX_FAR _UnnamedText_e75f - db $50 -; 0xe75f + 5 bytes - -INCBIN "baserom.gbc",$e764,$e8ea - $e764 - -; 68EA 0xe8ea -ReadSuperRodData: -; return e = 2 if no fish on this map -; return e = 1 if a bite, bc = level,species -; return e = 0 if no bite - ld a, [W_CURMAP] - ld de, 3 ; each fishing group is three bytes wide - ld hl, SuperRodData - call IsInArray - jr c, .ReadFishingGroup - ld e, $2 ; $2 if no fishing groups found - ret - -.ReadFishingGroup ; 0xe8f6 -; hl points to the fishing group entry in the index - inc hl ; skip map id - - ; read fishing group address - ld a, [hli] - ld h, [hl] - ld l, a - - ld b, [hl] ; how many mons in group - inc hl ; point to data - ld e, $0 ; no bite yet - -.RandomLoop ; 0xe90c - call GenRandom - srl a - ret c ; 50% chance of no battle - - and %11 ; 2-bit random number - cp b - jr nc, .RandomLoop ; if a is greater than the number of mons, regenerate - - ; get the mon - add a - ld c, a - ld b, $0 - add hl, bc - ld b, [hl] ; level - inc hl - ld c, [hl] ; species - ld e, $1 ; $1 if there's a bite - ret -; 0xe919 - -; super rod data -; format: map, pointer to fishing group -SuperRodData: ; 6919 - dbw PALLET_TOWN, FishingGroup1 - dbw VIRIDIAN_CITY, FishingGroup1 - dbw CERULEAN_CITY, FishingGroup3 - dbw VERMILION_CITY, FishingGroup4 - dbw CELADON_CITY, FishingGroup5 - dbw FUCHSIA_CITY, FishingGroup10 - dbw CINNABAR_ISLAND, FishingGroup8 - dbw ROUTE_4, FishingGroup3 - dbw ROUTE_6, FishingGroup4 - dbw ROUTE_10, FishingGroup5 - dbw ROUTE_11, FishingGroup4 - dbw ROUTE_12, FishingGroup7 - dbw ROUTE_13, FishingGroup7 - dbw ROUTE_17, FishingGroup7 - dbw ROUTE_18, FishingGroup7 - dbw ROUTE_19, FishingGroup8 - dbw ROUTE_20, FishingGroup8 - dbw ROUTE_21, FishingGroup8 - dbw ROUTE_22, FishingGroup2 - dbw ROUTE_23, FishingGroup9 - dbw ROUTE_24, FishingGroup3 - dbw ROUTE_25, FishingGroup3 - dbw CERULEAN_GYM, FishingGroup3 - dbw VERMILION_DOCK, FishingGroup4 -;XXX syntax errors on the rest? - dbw $A1, FishingGroup8 ; SEAFOAM_ISLANDS_4 - dbw $A2, FishingGroup8 ; SEAFOAM_ISLANDS_5 - dbw SAFARI_ZONE_EAST, FishingGroup6 - dbw $DA, FishingGroup6 ; SAFARI_ZONE_NORTH - dbw SAFARI_ZONE_WEST, FishingGroup6 - dbw $DC, FishingGroup6 ; SAFARI_ZONE_CENTER - dbw $E2, FishingGroup9 ; UNKNOWN_DUNGEON_2 - dbw $E3, FishingGroup9 ; UNKNOWN_DUNGEON_3 - dbw $E4, FishingGroup9 ; UNKNOWN_DUNGEON_1 - db $FF - -; fishing groups -; number of monsters, followed by level/monster pairs -FishingGroup1: - db 2 - db 15,TENTACOOL - db 15,POLIWAG - -FishingGroup2: - db 2 - db 15,GOLDEEN - db 15,POLIWAG - -FishingGroup3: - db 3 - db 15,PSYDUCK - db 15,GOLDEEN - db 15,KRABBY - -FishingGroup4: - db 2 - db 15,KRABBY - db 15,SHELLDER - -FishingGroup5: - db 2 - db 23,POLIWHIRL - db 15,SLOWPOKE - -FishingGroup6: - db 4 - db 15,DRATINI - db 15,KRABBY - db 15,PSYDUCK - db 15,SLOWPOKE - -FishingGroup7: - db 4 - db 5,TENTACOOL - db 15,KRABBY - db 15,GOLDEEN - db 15,MAGIKARP - -FishingGroup8: - db 4 - db 15,STARYU - db 15,HORSEA - db 15,SHELLDER - db 15,GOLDEEN - -FishingGroup9: - db 4 - db 23,SLOWBRO - db 23,SEAKING - db 23,KINGLER - db 23,SEADRA - -FishingGroup10: - db 4 - db 23,SEAKING - db 15,KRABBY - db 15,GOLDEEN - db 15,MAGIKARP - -INCBIN "baserom.gbc",$E9C5,$ef7d - $E9C5 - -_UnnamedText_ef7d: ; 0xef7d - db $17, $f8, $42, $2a - db $50 -; 0xef7d + 5 bytes - -INCBIN "baserom.gbc",$ef82,$f6a5 - $ef82 - -HealParty: - ld hl, W_PARTYMON1 - ld de, W_PARTYMON1_HP -.HealPokemon\@: ; 0xf704 - ld a, [hli] - cp $ff - jr z, .DoneHealing\@ ; End if there's no Pokémon - push hl - push de - ld hl, $0003 ; Status offset - add hl, de - xor a - ld [hl], a ; Clean status conditions - push de - ld b, $4 ; A Pokémon has 4 moves -.RestorePP\@: - ld hl, $0007 ; Move offset - add hl, de - ld a, [hl] - and a - jr z, .HealNext\@ ; Skip if there's no move here - dec a - ld hl, $001c ; PP offset - add hl, de - push hl - push de - push bc - ld hl, Moves - ld bc, $0006 - call AddNTimes - ld de, $cd6d - ld a, BANK(Moves) - call FarCopyData ; copy move header to memory - ld a, [$cd72] ; get default PP - pop bc - pop de - pop hl - inc de - push bc - ld b, a - ld a, [hl] - and $c0 - add b - ld [hl], a - pop bc -.HealNext\@: - dec b - jr nz, .RestorePP\@ ; Continue if there's still moves - pop de - ld hl, $0021 ; Max HP offset - add hl, de - ld a, [hli] - ld [de], a - inc de - ld a, [hl] - ld [de], a ; Restore full HP - pop de - pop hl - push hl - ld bc, $002c - ld h, d - ld l, e - add hl, bc - ld d, h - ld e, l - pop hl - jr .HealPokemon\@ ; Next Pokémon -.DoneHealing\@ ; This calls $6606 for each Pokémon in party -- no idea why - xor a - ld [$cf92], a - ld [$d11e], a - ld a, [W_NUMINPARTY] - ld b, a -.asm_f711 - push bc - call $6606 - pop bc - ld hl, $cf92 - inc [hl] - dec b - jr nz, .asm_f711 ; 0xf71b $f4 - ret - -INCBIN "baserom.gbc",$f71e,$fbd9 - $f71e - -UnnamedText_fbd9: ; 0xfbd9 - TX_FAR _UnnamedText_fbd9 - db $50 -; 0xfbd9 + 5 bytes - -UnnamedText_fbde: ; 0xfbde - TX_FAR _UnnamedText_fbde - db $50 -; 0xfbde + 5 bytes - -UnnamedText_fbe3: ; 0xfbe3 - TX_FAR _UnnamedText_fbe3 - db $50 -; 0xfbe3 + 5 bytes - -INCBIN "baserom.gbc",$fbe8,$fc03 - $fbe8 - -UnnamedText_fc03: ; 0xfc03 - TX_FAR _UnnamedText_fc03 - db $50 -; 0xfc03 + 5 bytes - -UnnamedText_fc08: ; 0xfc08 - TX_FAR _UnnamedText_fc08 - db $50 -; 0xfc08 + 5 bytes - -UnnamedText_fc0d: ; 0xfc0d - TX_FAR _UnnamedText_fc0d - db $50 -; 0xfc0d + 5 bytes - -INCBIN "baserom.gbc",$fc12,$fc45 - $fc12 - -UnnamedText_fc45: ; 0xfc45 - TX_FAR _UnnamedText_fc45 - db $50 -; 0xfc45 + 5 bytes - -INCBIN "baserom.gbc",$fc4a,$3b6 - -SECTION "bank4",DATA,BANK[$4] - -INCBIN "baserom.gbc",$10000,$12e7f - $10000 - -UnnamedText_12e7f: ; 0x12e7f - TX_FAR _UnnamedText_12e7f - db $50 -; 0x12e7f + 5 bytes - -UnnamedText_12e84: ; 0x12e84 - TX_FAR _UnnamedText_12e84 - db $50 -; 0x12e84 + 5 bytes - -UnnamedText_12e89: ; 0x12e89 - TX_FAR _UnnamedText_12e89 - db $50 -; 0x12e89 + 5 bytes - -UnnamedText_12e8e: ; 0x12e8e - TX_FAR _UnnamedText_12e8e - db $50 -; 0x12e8e + 5 bytes - -UnnamedText_12e93: ; 0x12e93 - TX_FAR _UnnamedText_12e93 - db $50 -; 0x12e93 + 5 bytes - -UnnamedText_12e98: ; 0x12e98 - TX_FAR _UnnamedText_12e98 - db $50 -; 0x12e98 + 5 bytes - -UnnamedText_12e9d: ; 0x12e9d - TX_FAR _UnnamedText_12e9d - db $50 -; 0x12e9d + 5 bytes - -UnnamedText_12ea2: ; 0x12ea2 - TX_FAR _UnnamedText_12ea2 - db $50 -; 0x12ea2 + 5 bytes - -UnnamedText_12ea7: ; 0x12ea7 - TX_FAR _UnnamedText_12ea7 - db $50 -; 0x12ea7 + 5 bytes - -UnnamedText_12eac: ; 0x12eac - TX_FAR _UnnamedText_12eac - db $50 -; 0x12eac + 5 bytes - -UnnamedText_12eb1: ; 0x12eb1 - TX_FAR _UnnamedText_12eb1 - db $50 -; 0x12eb1 + 5 bytes - -UnnamedText_12eb6: ; 0x12eb6 - TX_FAR _UnnamedText_12eb6 - db $50 -; 0x12eb6 + 5 bytes - -UnnamedText_12ebb: ; 0x12ebb - TX_FAR _UnnamedText_12ebb - db $50 -; 0x12ebb + 5 bytes - -INCBIN "baserom.gbc",$12ec0,$1e - -RedPicFront: - INCBIN "pic/trainer/red.pic" -ShrinkPic1: - INCBIN "pic/trainer/shrink1.pic" -ShrinkPic2: - INCBIN "pic/trainer/shrink2.pic" - -INCBIN "baserom.gbc",$13074,$13228 - $13074 - -UnnamedText_13228: ; 0x13228 - TX_FAR _UnnamedText_13228 - db $50 -; 0x13228 + 5 bytes - -INCBIN "baserom.gbc",$1322d,$1327b - $1322d - -UnnamedText_1327b: ; 0x1327b - TX_FAR _UnnamedText_1327b - db $50 -; 0x1327b + 5 bytes - -UnnamedText_13280: ; 0x13280 - TX_FAR _UnnamedText_13280 - db $50 -; 0x13280 + 5 bytes - -UnnamedText_13285: ; 0x13285 - TX_FAR _UnnamedText_13285 - db $50 -; 0x13285 + 5 bytes - -INCBIN "baserom.gbc",$1328a,$132d4 - $1328a - -UnnamedText_132d4: ; 0x132d4 - TX_FAR _UnnamedText_132d4 - db $50 -; 0x132d4 + 5 bytes - -INCBIN "baserom.gbc",$132d9,$132e8 - $132d9 - -UnnamedText_132e8: ; 0x132e8 - TX_FAR _UnnamedText_132e8 - db $50 -; 0x132e8 + 5 bytes - -INCBIN "baserom.gbc",$132ed,$1342a - $132ed - -UnnamedText_1342a: ; 0x1342a - TX_FAR _UnnamedText_1342a - db $50 -; 0x1342a + 5 bytes - -UnnamedText_1342f: ; 0x1342f - TX_FAR _UnnamedText_1342f - db $50 -; 0x1342f + 5 bytes - -INCBIN "baserom.gbc",$13434,$13773 - $13434 - -TechnicalMachines: ; 0x13773 - db MEGA_PUNCH - db RAZOR_WIND - db SWORDS_DANCE - db WHIRLWIND - db MEGA_KICK - db TOXIC - db HORN_DRILL - db BODY_SLAM - db TAKE_DOWN - db DOUBLE_EDGE - db BUBBLEBEAM - db WATER_GUN - db ICE_BEAM - db BLIZZARD - db HYPER_BEAM - db PAY_DAY - db SUBMISSION - db COUNTER - db SEISMIC_TOSS - db RAGE - db MEGA_DRAIN - db SOLARBEAM - db DRAGON_RAGE - db THUNDERBOLT - db THUNDER - db EARTHQUAKE - db FISSURE - db DIG - db PSYCHIC_M - db TELEPORT - db MIMIC - db DOUBLE_TEAM - db REFLECT - db BIDE - db METRONOME - db SELFDESTRUCT - db EGG_BOMB - db FIRE_BLAST - db SWIFT - db SKULL_BASH - db SOFTBOILED - db DREAM_EATER - db SKY_ATTACK - db REST - db THUNDER_WAVE - db PSYWAVE - db EXPLOSION - db ROCK_SLIDE - db TRI_ATTACK - db SUBSTITUTE - db CUT - db FLY - db SURF - db STRENGTH - db FLASH - -INCBIN "baserom.gbc",$137aa,$1386b - $137aa - -UnnamedText_1386b: ; 0x1386b - TX_FAR _UnnamedText_1386b - db $50 -; 0x1386b + 5 bytes - -INCBIN "baserom.gbc",$13870,$1399e - $13870 - -UnnamedText_1399e: ; 0x1399e - TX_FAR _UnnamedText_1399e - db $50 -; 0x1399e + 5 bytes - -INCBIN "baserom.gbc",$139a3,$139cd - $139a3 - -UnnamedText_139cd: ; 0x139cd - TX_FAR _UnnamedText_139cd - db $50 -; 0x139cd + 5 bytes - -INCBIN "baserom.gbc",$139d2,$13a53 - $139d2 - -UnnamedText_13a53: ; 0x13a53 - TX_FAR _UnnamedText_13a53 - db $50 -; 0x13a53 + 5 bytes - -INCBIN "baserom.gbc",$13a58,$37 - -GenRandom_: ; 7A8F -; generate a random 16-bit integer and store it at $FFD3,$FFD4 - ld a,[rDIV] - ld b,a - ld a,[H_RAND1] - adc b - ld [H_RAND1],a - ld a,[rDIV] - ld b,a - ld a,[H_RAND2] - sbc b - ld [H_RAND2],a - ret - -SECTION "bank5",DATA,BANK[$5] - -INCBIN "baserom.gbc",$14000,$17e1d - $14000 - -UnnamedText_17e1d: ; 0x17e1d - TX_FAR _UnnamedText_17e1d - db $50 -; 0x17e1d + 5 bytes - -UnnamedText_17e22: ; 0x17e22 - TX_FAR _UnnamedText_17e22 - db $50 -; 0x17e22 + 5 bytes - -UnnamedText_17e27: ; 0x17e27 - TX_FAR _UnnamedText_17e27 - db $50 -; 0x17e27 + 5 bytes - -INCBIN "baserom.gbc",$17e2c,$17f23 - $17e2c - -UnnamedText_17f23: ; 0x17f23 - TX_FAR _UnnamedText_17f23 - db $50 -; 0x17f23 + 5 bytes - -UnnamedText_17f28: ; 0x17f28 - TX_FAR _UnnamedText_17f28 - db $50 -; 0x17f28 + 5 bytes - -UnnamedText_17f2d: ; 0x17f2d - TX_FAR _UnnamedText_17f2d - db $50 -; 0x17f2d + 5 bytes - -UnnamedText_17f32: ; 0x17f32 - TX_FAR _UnnamedText_17f32 - db $50 -; 0x17f32 + 5 bytes - -INCBIN "baserom.gbc",$17f37,$c9 - -SECTION "bank6",DATA,BANK[$6] - -CeladonCity_h: ; 0x18000 - db $00 ; tileset - db CELADON_CITY_HEIGHT, CELADON_CITY_WIDTH ; dimensions (y, x) - dw CeladonCityBlocks, CeladonCityTexts, CeladonCityScript ; blocks, texts, scripts - db WEST | EAST ; connections - - ; connections data - - db ROUTE_16 - dw $4B95, $C7C1 ; pointers (connected, current) (strip) - db $09, $14 ; bigness, width - db $F8, $27 ; alignments (y, x) - dw $C716 ; window - - db ROUTE_7 - dw $4051, $C7DD ; pointers (connected, current) (strip) - db $09, $0A ; bigness, width - db $F8, $00 ; alignments (y, x) - dw $C6F9 ; window - - ; end connections data - - dw CeladonCityObject ; objects - -CeladonCityObject: ; 0x18022 (size=189) - db $f ; border tile - - db $d ; warps - db $d, $8, $0, CELADON_MART_1 - db $d, $a, $2, CELADON_MART_1 - db $9, $18, $0, CELADON_MANSION_1 - db $3, $18, $2, CELADON_MANSION_1 - db $3, $19, $2, CELADON_MANSION_1 - db $9, $29, $0, CELADON_POKECENTER - db $1b, $c, $0, CELADON_GYM - db $13, $1c, $0, GAME_CORNER - db $13, $27, $0, CELADON_MART_5 - db $13, $21, $0, CELADONPRIZE_ROOM - db $1b, $1f, $0, CELADON_DINER - db $1b, $23, $0, CELADON_HOUSE - db $1b, $2b, $0, CELADON_HOTEL - - db $9 ; signs - db $f, $1b, $a ; CeladonCityText10 - db $f, $13, $b ; CeladonCityText11 - db $9, $2a, $c ; CeladonCityText12 - db $1d, $d, $d ; CeladonCityText13 - db $9, $15, $e ; CeladonCityText14 - db $d, $c, $f ; CeladonCityText15 - db $15, $27, $10 ; CeladonCityText16 - db $15, $21, $11 ; CeladonCityText17 - db $15, $1b, $12 ; CeladonCityText18 - - db $9 ; people - db SPRITE_LITTLE_GIRL, $11 + 4, $8 + 4, $fe, $0, $1 ; person - db SPRITE_OLD_PERSON, $1c + 4, $b + 4, $ff, $d1, $2 ; person - db SPRITE_GIRL, $13 + 4, $e + 4, $fe, $1, $3 ; person - db SPRITE_OLD_PERSON, $16 + 4, $19 + 4, $ff, $d0, $4 ; person - db SPRITE_OLD_PERSON, $10 + 4, $16 + 4, $ff, $d0, $5 ; person - db SPRITE_FISHER2, $c + 4, $20 + 4, $ff, $d2, $6 ; person - db SPRITE_SLOWBRO, $c + 4, $1e + 4, $ff, $d3, $7 ; person - db SPRITE_ROCKET, $1d + 4, $20 + 4, $fe, $2, $8 ; person - db SPRITE_ROCKET, $e + 4, $2a + 4, $fe, $2, $9 ; person - - ; warp-to - EVENT_DISP $19, $d, $8 ; CELADON_MART_1 - EVENT_DISP $19, $d, $a ; CELADON_MART_1 - EVENT_DISP $19, $9, $18 ; CELADON_MANSION_1 - EVENT_DISP $19, $3, $18 ; CELADON_MANSION_1 - EVENT_DISP $19, $3, $19 ; CELADON_MANSION_1 - EVENT_DISP $19, $9, $29 ; CELADON_POKECENTER - EVENT_DISP $19, $1b, $c ; CELADON_GYM - EVENT_DISP $19, $13, $1c ; GAME_CORNER - EVENT_DISP $19, $13, $27 ; CELADON_MART_5 - EVENT_DISP $19, $13, $21 ; CELADONPRIZE_ROOM - EVENT_DISP $19, $1b, $1f ; CELADON_DINER - EVENT_DISP $19, $1b, $23 ; CELADON_HOUSE - EVENT_DISP $19, $1b, $2b ; CELADON_HOTEL - -CeladonCityBlocks: ; 0x180df 450 - INCBIN "maps/celadoncity.blk" - -PalletTown_h: ; 0x182a1 - db $00 ; tileset - db PALLET_TOWN_HEIGHT, PALLET_TOWN_WIDTH ; dimensions - dw PalletTownBlocks, PalletTownTexts, PalletTownScript - db NORTH | SOUTH ; connections - - db ROUTE_1 - dw Route1Blocks + ((ROUTE_1_WIDTH * 15) + 0) ;y, x Strip Starting Point - dw $C6EB + 0 ;Strip X-Offset to current map - db ROUTE_1_WIDTH ;"Bigness" (Unsure) ;Something to do with MapData - db ROUTE_1_WIDTH ;"Map Width" (Unsure) ;Something to do with TileSet - db (ROUTE_1_HEIGHT * 2) - 1 ;Player's new Y-Coordinates - db (0 * -2) ;Player's new X-Coordinates - dw $C6E9 + ROUTE_1_HEIGHT * (ROUTE_1_WIDTH + 6) ;New UL Block Pos (Window) - - db ROUTE_21 - dw Route21Blocks,$C7AB ; pointers - db $0A,$0A ; bigness, width - db $00,$00 ; alignments - dw $C6F9 ; window - - dw PalletTownObject - -PalletTownObject: ; 0x182c3 (size=58) - db $b ; border tile - - db $3 ; warps - db $5, $5, $0, REDS_HOUSE_1F - db $5, $d, $0, BLUES_HOUSE - db $b, $c, $1, OAKS_LAB - - db $4 ; signs - db $d, $d, $4 ; PalletTownText4 - db $9, $7, $5 ; PalletTownText5 - db $5, $3, $6 ; PalletTownText6 - db $5, $b, $7 ; PalletTownText7 - - db $3 ; people - db SPRITE_OAK, $5 + 4, $8 + 4, $ff, $ff, $1 ; person - db SPRITE_GIRL, $8 + 4, $3 + 4, $fe, $0, $2 ; person - db SPRITE_FISHER2, $e + 4, $b + 4, $fe, $0, $3 ; person - - ; warp-to - EVENT_DISP $a, $5, $5 ; REDS_HOUSE_1F - EVENT_DISP $a, $5, $d ; BLUES_HOUSE - EVENT_DISP $a, $b, $c ; OAKS_LAB - -PalletTownBlocks: ; 0x182fd - INCBIN "maps/pallettown.blk" - -ViridianCity_h: ; 0x18357 to 0x18384 (45 bytes) (bank=6) (id=1) - db $00 ; tileset - db VIRIDIAN_CITY_HEIGHT, VIRIDIAN_CITY_WIDTH ; dimensions (y, x) - dw ViridianCityBlocks, ViridianCityTexts, ViridianCityScript ; blocks, texts, scripts - db NORTH | SOUTH | WEST ; connections - - ; connections data - - db ROUTE_2 - dw Route2Blocks + (ROUTE_2_HEIGHT - 3) * ROUTE_2_WIDTH ; connection strip location - dw $C6EB + 5 ; current map position - db ROUTE_2_WIDTH, ROUTE_2_WIDTH ; bigness, width - db (ROUTE_2_HEIGHT * 2) - 1, (5 * -2) ; alignments (y, x) - dw $C6E9 + ROUTE_2_HEIGHT * (ROUTE_2_WIDTH + 6) ; window - - db ROUTE_1 - dw Route1Blocks ; connection strip location - dw $C6EB + (VIRIDIAN_CITY_HEIGHT + 3) * (VIRIDIAN_CITY_WIDTH + 6) + 5 ; current map position - db ROUTE_1_WIDTH, ROUTE_1_WIDTH ; bigness, width - db 0, (5 * -2) ; alignments (y, x) - dw $C6EF + ROUTE_1_WIDTH ; window - - db ROUTE_22 - dw Route22Blocks - 3 + (ROUTE_22_WIDTH) ; connection strip location - dw $C6E8 + (VIRIDIAN_CITY_WIDTH + 6) * (4 + 3) ; current map position - db ROUTE_22_HEIGHT, ROUTE_22_WIDTH ; bigness, width - db (4 * -2), (ROUTE_22_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * ROUTE_22_WIDTH ; window - - ; end connections data - - dw ViridianCityObject ; objects - -ViridianCityObject: ; 0x18384 (size=104) - db $f ; border tile - - db $5 ; warps - db $19, $17, $0, VIRIDIAN_POKECENTER - db $13, $1d, $0, VIRIDIAN_MART - db $f, $15, $0, VIRIDIAN_SCHOOL - db $9, $15, $0, VIRIDIAN_HOUSE - db $7, $20, $0, VIRIDIAN_GYM - - db $6 ; signs - db $11, $11, $8 ; ViridianCityText8 - db $1, $13, $9 ; ViridianCityText9 - db $1d, $15, $a ; ViridianCityText10 - db $13, $1e, $b ; ViridianCityText11 - db $19, $18, $c ; ViridianCityText12 - db $7, $1b, $d ; ViridianCityText13 - - db $7 ; people - db SPRITE_BUG_CATCHER, $14 + 4, $d + 4, $fe, $0, $1 ; person - db SPRITE_GAMBLER, $8 + 4, $1e + 4, $ff, $ff, $2 ; person - db SPRITE_BUG_CATCHER, $19 + 4, $1e + 4, $fe, $0, $3 ; person - db SPRITE_GIRL, $9 + 4, $11 + 4, $ff, $d3, $4 ; person - db SPRITE_LYING_OLD_MAN, $9 + 4, $12 + 4, $ff, $ff, $5 ; person - db SPRITE_FISHER2, $17 + 4, $6 + 4, $ff, $d0, $6 ; person - db SPRITE_GAMBLER, $5 + 4, $11 + 4, $fe, $2, $7 ; person - - ; warp-to - EVENT_DISP $14, $19, $17 ; VIRIDIAN_POKECENTER - EVENT_DISP $14, $13, $1d ; VIRIDIAN_MART - EVENT_DISP $14, $f, $15 ; VIRIDIAN_SCHOOL - EVENT_DISP $14, $9, $15 ; VIRIDIAN_HOUSE - EVENT_DISP $14, $7, $20 ; VIRIDIAN_GYM - -ViridianCityBlocks: ; 0x183ec 360 - INCBIN "maps/viridiancity.blk" - -PewterCity_h: ; 0x18554 to 0x18576 (34 bytes) (bank=6) (id=2) - db $00 ; tileset - db PEWTER_CITY_HEIGHT, PEWTER_CITY_WIDTH ; dimensions (y, x) - dw PewterCityBlocks, PewterCityTexts, PewterCityScript ; blocks, texts, scripts - db SOUTH | EAST ; connections - - ; connections data - - db ROUTE_2 - dw Route2Blocks ; connection strip location - dw $C6EB + (PEWTER_CITY_HEIGHT + 3) * (PEWTER_CITY_WIDTH + 6) + 5 ; current map position - db ROUTE_2_WIDTH, ROUTE_2_WIDTH ; bigness, width - db 0, (5 * -2) ; alignments (y, x) - dw $C6EF + ROUTE_2_WIDTH ; window - - db ROUTE_3 - dw Route3Blocks + (ROUTE_3_WIDTH * 0) ; connection strip location - dw $C6E5 + (PEWTER_CITY_WIDTH + 6) * (4 + 4) ; current map position - db ROUTE_3_HEIGHT, ROUTE_3_WIDTH ; bigness, width - db (4 * -2), 0 ; alignments (y, x) - dw $C6EF + ROUTE_3_WIDTH ; window - - ; end connections data - - dw PewterCityObject ; objects - -INCBIN "baserom.gbc",$18576,$18577 - $18576 - -PewterCityObject: ; 0x18577 (size=111) - db $a ; border tile - - db $7 ; warps - db $7, $e, $0, MUSEUM_1F - db $5, $13, $2, MUSEUM_1F - db $11, $10, $0, PEWTER_GYM - db $d, $1d, $0, PEWTER_HOUSE_1 - db $11, $17, $0, PEWTER_MART - db $1d, $7, $0, PEWTER_HOUSE_2 - db $19, $d, $0, PEWTER_POKECENTER - - db $7 ; signs - db $1d, $13, $6 ; PewterCityText6 - db $13, $21, $7 ; PewterCityText7 - db $11, $18, $8 ; PewterCityText8 - db $19, $e, $9 ; PewterCityText9 - db $9, $f, $a ; PewterCityText10 - db $11, $b, $b ; PewterCityText11 - db $17, $19, $c ; PewterCityText12 - - db $5 ; people - db SPRITE_LASS, $f + 4, $8 + 4, $ff, $ff, $1 ; person - db SPRITE_BLACK_HAIR_BOY_1, $19 + 4, $11 + 4, $ff, $ff, $2 ; person - db SPRITE_BLACK_HAIR_BOY_2, $11 + 4, $1b + 4, $ff, $ff, $3 ; person - db SPRITE_BLACK_HAIR_BOY_2, $19 + 4, $1a + 4, $fe, $2, $4 ; person - db SPRITE_BUG_CATCHER, $10 + 4, $23 + 4, $ff, $d0, $5 ; person - - ; warp-to - EVENT_DISP $14, $7, $e ; MUSEUM_1F - EVENT_DISP $14, $5, $13 ; MUSEUM_1F - EVENT_DISP $14, $11, $10 ; PEWTER_GYM - EVENT_DISP $14, $d, $1d ; PEWTER_HOUSE_1 - EVENT_DISP $14, $11, $17 ; PEWTER_MART - EVENT_DISP $14, $1d, $7 ; PEWTER_HOUSE_2 - EVENT_DISP $14, $19, $d ; PEWTER_POKECENTER - -PewterCityBlocks: ; 0x185e6 360 - INCBIN "maps/pewtercity.blk" - -CeruleanCity_h: ; 0x1874e to 0x18786 (56 bytes) (bank=6) (id=3) - db $00 ; tileset - db CERULEAN_CITY_HEIGHT, CERULEAN_CITY_WIDTH ; dimensions (y, x) - dw CeruleanCityBlocks, CeruleanCityTexts, CeruleanCityScript ; blocks, texts, scripts - db NORTH | SOUTH | WEST | EAST ; connections - - ; connections data - - db ROUTE_24 - dw Route24Blocks + (ROUTE_24_HEIGHT - 3) * ROUTE_24_WIDTH ; connection strip location - dw $C6EB + 5 ; current map position - db ROUTE_24_WIDTH, ROUTE_24_WIDTH ; bigness, width - db (ROUTE_24_HEIGHT * 2) - 1, (5 * -2) ; alignments (y, x) - dw $C6E9 + ROUTE_24_HEIGHT * (ROUTE_24_WIDTH + 6) ; window - - db ROUTE_5 - dw Route5Blocks ; connection strip location - dw $C6EB + (CERULEAN_CITY_HEIGHT + 3) * (CERULEAN_CITY_WIDTH + 6) + 5 ; current map position - db ROUTE_5_WIDTH, ROUTE_5_WIDTH ; bigness, width - db 0, (5 * -2) ; alignments (y, x) - dw $C6EF + ROUTE_5_WIDTH ; window - - db ROUTE_4 - dw Route4Blocks - 3 + (ROUTE_4_WIDTH) ; connection strip location - dw $C6E8 + (CERULEAN_CITY_WIDTH + 6) * (4 + 3) ; current map position - db ROUTE_4_HEIGHT, ROUTE_4_WIDTH ; bigness, width - db (4 * -2), (ROUTE_4_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * ROUTE_4_WIDTH ; window - - db ROUTE_9 - dw Route9Blocks + (ROUTE_9_WIDTH * 0) ; connection strip location - dw $C6E5 + (CERULEAN_CITY_WIDTH + 6) * (4 + 4) ; current map position - db ROUTE_9_HEIGHT, ROUTE_9_WIDTH ; bigness, width - db (4 * -2), 0 ; alignments (y, x) - dw $C6EF + ROUTE_9_WIDTH ; window - - ; end connections data - - dw CeruleanCityObject ; objects - -CeruleanCityObject: ; 0x18786 (size=170) - db $f ; border tile - - db $a ; warps - db $b, $1b, $0, TRASHED_HOUSE - db $f, $d, $0, CERULEAN_HOUSE - db $11, $13, $0, CERULEAN_POKECENTER - db $13, $1e, $0, CERULEAN_GYM - db $19, $d, $0, BIKE_SHOP - db $19, $19, $0, CERULEAN_MART - db $b, $4, $0, UNKNOWN_DUNGEON_1 - db $9, $1b, $2, TRASHED_HOUSE - db $b, $9, $1, CERULEAN_HOUSE_3 - db $9, $9, $0, CERULEAN_HOUSE_3 - - db $6 ; signs - db $13, $17, $c ; CeruleanCityText12 - db $1d, $11, $d ; CeruleanCityText13 - db $19, $1a, $e ; CeruleanCityText14 - db $11, $14, $f ; CeruleanCityText15 - db $19, $b, $10 ; CeruleanCityText16 - db $15, $1b, $11 ; CeruleanCityText17 - - db $b ; people - db SPRITE_BLUE, $2 + 4, $14 + 4, $ff, $d0, $1 ; person - db SPRITE_ROCKET, $8 + 4, $1e + 4, $ff, $ff, $42, ROCKET + $C8, $5 ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $14 + 4, $1f + 4, $ff, $d0, $3 ; person - db SPRITE_BLACK_HAIR_BOY_2, $12 + 4, $f + 4, $fe, $1, $4 ; person - db SPRITE_BLACK_HAIR_BOY_2, $15 + 4, $9 + 4, $fe, $2, $5 ; person - db SPRITE_GUARD, $c + 4, $1c + 4, $ff, $d0, $6 ; person - db SPRITE_LASS, $1a + 4, $1d + 4, $ff, $d2, $7 ; person - db SPRITE_SLOWBRO, $1a + 4, $1c + 4, $ff, $d0, $8 ; person - db SPRITE_LASS, $1b + 4, $9 + 4, $fe, $2, $9 ; person - db SPRITE_BLACK_HAIR_BOY_2, $c + 4, $4 + 4, $ff, $d0, $a ; person - db SPRITE_GUARD, $c + 4, $1b + 4, $ff, $d0, $b ; person - - ; warp-to - EVENT_DISP $14, $b, $1b ; TRASHED_HOUSE - EVENT_DISP $14, $f, $d ; CERULEAN_HOUSE - EVENT_DISP $14, $11, $13 ; CERULEAN_POKECENTER - EVENT_DISP $14, $13, $1e ; CERULEAN_GYM - EVENT_DISP $14, $19, $d ; BIKE_SHOP - EVENT_DISP $14, $19, $19 ; CERULEAN_MART - EVENT_DISP $14, $b, $4 ; UNKNOWN_DUNGEON_1 - EVENT_DISP $14, $9, $1b ; TRASHED_HOUSE - EVENT_DISP $14, $b, $9 ; CERULEAN_HOUSE_3 - EVENT_DISP $14, $9, $9 ; CERULEAN_HOUSE_3 - -CeruleanCityBlocks: ; 0x18830 360 - INCBIN "maps/ceruleancity.blk" - -VermilionCity_h: ; 0x18998 to 0x189ba (34 bytes) (bank=6) (id=5) - db $00 ; tileset - db VERMILION_CITY_HEIGHT, VERMILION_CITY_WIDTH ; dimensions (y, x) - dw VermilionCityBlocks, VermilionCityTexts, VermilionCityScript ; blocks, texts, scripts - db NORTH | EAST ; connections - - ; connections data - - db ROUTE_6 - dw Route6Blocks + (ROUTE_6_HEIGHT - 3) * ROUTE_6_WIDTH ; connection strip location - dw $C6EB + 5 ; current map position - db ROUTE_6_WIDTH, ROUTE_6_WIDTH ; bigness, width - db (ROUTE_6_HEIGHT * 2) - 1, (5 * -2) ; alignments (y, x) - dw $C6E9 + ROUTE_6_HEIGHT * (ROUTE_6_WIDTH + 6) ; window - - db ROUTE_11 - dw Route11Blocks + (ROUTE_11_WIDTH * 0) ; connection strip location - dw $C6E5 + (VERMILION_CITY_WIDTH + 6) * (4 + 4) ; current map position - db ROUTE_11_HEIGHT, ROUTE_11_WIDTH ; bigness, width - db (4 * -2), 0 ; alignments (y, x) - dw $C6EF + ROUTE_11_WIDTH ; window - - ; end connections data - - dw VermilionCityObject ; objects - -VermilionCityObject: ; 0x189ba (size=133) - db $43 ; border tile - - db $9 ; warps - db $3, $b, $0, VERMILION_POKECENTER - db $d, $9, $0, POKEMON_FAN_CLUB - db $d, $17, $0, VERMILION_MART - db $13, $c, $0, VERMILION_GYM - db $13, $17, $0, VERMILION_HOUSE_1 - db $1f, $12, $0, VERMILION_DOCK - db $1f, $13, $0, VERMILION_DOCK - db $d, $f, $0, VERMILION_HOUSE_3 - db $3, $7, $0, VERMILION_HOUSE_2 - - db $7 ; signs - db $3, $1b, $7 ; VermilionCityText7 - db $d, $25, $8 ; VermilionCityText8 - db $d, $18, $9 ; VermilionCityText9 - db $3, $c, $a ; VermilionCityText10 - db $d, $7, $b ; VermilionCityText11 - db $13, $7, $c ; VermilionCityText12 - db $f, $1d, $d ; VermilionCityText13 - - db $6 ; people - db SPRITE_FOULARD_WOMAN, $7 + 4, $13 + 4, $fe, $2, $1 ; person - db SPRITE_GAMBLER, $6 + 4, $e + 4, $ff, $ff, $2 ; person - db SPRITE_SAILOR, $1e + 4, $13 + 4, $ff, $d1, $3 ; person - db SPRITE_GAMBLER, $7 + 4, $1e + 4, $ff, $ff, $4 ; person - db SPRITE_SLOWBRO, $9 + 4, $1d + 4, $fe, $1, $5 ; person - db SPRITE_SAILOR, $1b + 4, $19 + 4, $fe, $2, $6 ; person - - ; warp-to - EVENT_DISP $14, $3, $b ; VERMILION_POKECENTER - EVENT_DISP $14, $d, $9 ; POKEMON_FAN_CLUB - EVENT_DISP $14, $d, $17 ; VERMILION_MART - EVENT_DISP $14, $13, $c ; VERMILION_GYM - EVENT_DISP $14, $13, $17 ; VERMILION_HOUSE_1 - EVENT_DISP $14, $1f, $12 ; VERMILION_DOCK - EVENT_DISP $14, $1f, $13 ; VERMILION_DOCK - EVENT_DISP $14, $d, $f ; VERMILION_HOUSE_3 - EVENT_DISP $14, $3, $7 ; VERMILION_HOUSE_2 - -VermilionCityBlocks: ; 0x18a3f 360 - INCBIN "maps/vermilioncity.blk" - -FuchsiaCity_h: ; 0x18ba7 to 0x18bd4 (45 bytes) (bank=6) (id=7) - db $00 ; tileset - db FUCHSIA_CITY_HEIGHT, FUCHSIA_CITY_WIDTH ; dimensions (y, x) - dw FuchsiaCityBlocks, FuchsiaCityTexts, FuchsiaCityScript ; blocks, texts, scripts - db SOUTH | WEST | EAST ; connections - - ; connections data - - db ROUTE_19 - dw Route19Blocks ; connection strip location - dw $C6EB + (FUCHSIA_CITY_HEIGHT + 3) * (FUCHSIA_CITY_WIDTH + 6) + 5 ; current map position - db ROUTE_19_WIDTH, ROUTE_19_WIDTH ; bigness, width - db 0, (5 * -2) ; alignments (y, x) - dw $C6EF + ROUTE_19_WIDTH ; window - - db ROUTE_18 - dw Route18Blocks - 3 + (ROUTE_18_WIDTH) ; connection strip location - dw $C6E8 + (FUCHSIA_CITY_WIDTH + 6) * (4 + 3) ; current map position - db ROUTE_18_HEIGHT, ROUTE_18_WIDTH ; bigness, width - db (4 * -2), (ROUTE_18_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * ROUTE_18_WIDTH ; window - - db ROUTE_15 - dw Route15Blocks + (ROUTE_15_WIDTH * 0) ; connection strip location - dw $C6E5 + (FUCHSIA_CITY_WIDTH + 6) * (4 + 4) ; current map position - db ROUTE_15_HEIGHT, ROUTE_15_WIDTH ; bigness, width - db (4 * -2), 0 ; alignments (y, x) - dw $C6EF + ROUTE_15_WIDTH ; window - - ; end connections data - - dw FuchsiaCityObject ; objects - -FuchsiaCityObject: ; 0x18bd4 (size=178) - db $f ; border tile - - db $9 ; warps - db $d, $5, $0, FUCHSIA_MART - db $1b, $b, $0, FUCHSIA_HOUSE_1 - db $1b, $13, $0, FUCHSIA_POKECENTER - db $1b, $1b, $0, FUCHSIA_HOUSE_2 - db $3, $12, $0, SAFARIZONEENTRANCE - db $1b, $5, $0, FUCHSIA_GYM - db $d, $16, $0, FUCHSIAMEETINGROOM - db $1b, $1f, $1, FUCHSIA_HOUSE_3 - db $18, $1f, $0, FUCHSIA_HOUSE_3 - - db $e ; signs - db $17, $f, $b ; FuchsiaCityText11 - db $f, $19, $c ; FuchsiaCityText12 - db $5, $11, $d ; FuchsiaCityText13 - db $d, $6, $e ; FuchsiaCityText14 - db $1b, $14, $f ; FuchsiaCityText15 - db $1d, $1b, $10 ; FuchsiaCityText16 - db $f, $15, $11 ; FuchsiaCityText17 - db $1d, $5, $12 ; FuchsiaCityText18 - db $7, $21, $13 ; FuchsiaCityText19 - db $7, $1b, $14 ; FuchsiaCityText20 - db $7, $d, $15 ; FuchsiaCityText21 - db $d, $1f, $16 ; FuchsiaCityText22 - db $f, $d, $17 ; FuchsiaCityText23 - db $7, $7, $18 ; FuchsiaCityText24 - - db $a ; people - db SPRITE_BUG_CATCHER, $c + 4, $a + 4, $fe, $2, $1 ; person - db SPRITE_GAMBLER, $11 + 4, $1c + 4, $fe, $2, $2 ; person - db SPRITE_FISHER2, $e + 4, $1e + 4, $ff, $d0, $3 ; person - db SPRITE_BUG_CATCHER, $8 + 4, $18 + 4, $ff, $d1, $4 ; person - db SPRITE_CLEFAIRY, $5 + 4, $1f + 4, $fe, $0, $5 ; person - db SPRITE_BALL, $6 + 4, $19 + 4, $ff, $ff, $6 ; person - db SPRITE_SLOWBRO, $6 + 4, $c + 4, $fe, $2, $7 ; person - db SPRITE_SLOWBRO, $c + 4, $1e + 4, $fe, $2, $8 ; person - db SPRITE_SEEL, $11 + 4, $8 + 4, $fe, $0, $9 ; person - db SPRITE_OMANYTE, $5 + 4, $6 + 4, $ff, $ff, $a ; person - - ; warp-to - EVENT_DISP $14, $d, $5 ; FUCHSIA_MART - EVENT_DISP $14, $1b, $b ; FUCHSIA_HOUSE_1 - EVENT_DISP $14, $1b, $13 ; FUCHSIA_POKECENTER - EVENT_DISP $14, $1b, $1b ; FUCHSIA_HOUSE_2 - EVENT_DISP $14, $3, $12 ; SAFARIZONEENTRANCE - EVENT_DISP $14, $1b, $5 ; FUCHSIA_GYM - EVENT_DISP $14, $d, $16 ; FUCHSIAMEETINGROOM - EVENT_DISP $14, $1b, $1f ; FUCHSIA_HOUSE_3 - EVENT_DISP $14, $18, $1f ; FUCHSIA_HOUSE_3 - -FuchsiaCityBlocks: ; 0x18c86 360 - INCBIN "maps/fuchsiacity.blk" - -INCBIN "baserom.gbc",$18dee,$6d - -PalletTownScript: - ld a,[$D74B] - bit 4,a - jr z,.next\@ - ld hl,$D747 - set 6,[hl] -.next\@ - call $3C3C - ld hl,PalletTownScriptPointers - ld a,[$D5F1] - jp $3D97 -; 0x18e73 - -PalletTownScriptPointers: - dw PalletTownScript1,PalletTownScript2,PalletTownScript3,PalletTownScript4,PalletTownScript5,PalletTownScript6,PalletTownScript7 - -PalletTownScript1: - ld a,[$D747] - bit 0,a - ret nz - ld a,[W_YCOORD] - cp 1 ; is player near north exit? - ret nz - xor a - ld [$FFB4],a - ld a,4 - ld [$D528],a - ld a,$FF - call $23B1 ; stop music - ld a,2 - ld c,a ; song bank - ld a,$DB ; “oak appears” music - call $23A1 ; plays music - ld a,$FC - ld [$CD6B],a - ld hl,$D74B - set 7,[hl] - - ; trigger the next script - ld a,1 - ld [$D5F1],a - ret - -PalletTownScript2: - xor a - ld [$CF0D],a - ld a,1 - ld [$FF8C],a - call $2920 - ld a,$FF - ld [$CD6B],a - ld a,0 - ld [$CC4D],a - ld a,$15 - call Predef - - ; trigger the next script - ld a,2 - ld [$D5F1],a - ret - -PalletTownScript3: - ld a,1 - ld [$FF8C],a - ld a,4 - ld [$FF8D],a - call $34A6 - call Delay3 - ld a,1 - ld [W_YCOORD],a - ld a,1 - ld [$FF9B],a - ld a,1 - swap a - ld [$FF95],a - ld a,$22 - call Predef - ld hl,$FF95 - dec [hl] - ld a,$20 - call Predef ; load Oak’s movement into $CC97 - ld de,$CC97 - ld a,1 ; oak - ld [$FF8C],a - call MoveSprite - ld a,$FF - ld [$CD6B],a - - ; trigger the next script - ld a,3 - ld [$D5F1],a - ret - -PalletTownScript4: - ld a,[$D730] - bit 0,a - ret nz - xor a - ld [$C109],a - ld a,1 - ld [$CF0D],a - ld a,$FC - ld [$CD6B],a - ld a,1 - ld [$FF8C],a - call $2920 - ld a,$FF - ld [$CD6B],a - ld a,1 - ld [$CF13],a - xor a - ld [$CF10],a - ld a,1 - ld [$CC57],a - ld a,[$FFB8] - ld [$CC58],a - - ; trigger the next script - ld a,4 - ld [$D5F1],a - ret - -PalletTownScript5: - ld a,[$CC57] - and a - ret nz - - ; trigger the next script - ld a,5 - ld [$D5F1],a - ret - -PalletTownScript6: - ld a,[$D74A] - bit 2,a - jr nz,.next\@ - and 3 - cp 3 - jr nz,.next\@ - ld hl,$D74A - set 2,[hl] - ld a,$27 - ld [$CC4D],a - ld a,$11 - call Predef - ld a,$28 - ld [$CC4D],a - ld a,$15 - jp Predef -.next\@ - ld a,[$D74B] - bit 4,a - ret z - ld hl,$D74B - set 6,[hl] -PalletTownScript7: - ret - -PalletTownTexts: ; 0x18f88 - dw PalletTownText1,PalletTownText2,PalletTownText3,PalletTownText4,PalletTownText5,PalletTownText6,PalletTownText7 - -PalletTownText1: ; 4F96 0x18f96 - db 8 - ld a,[$CF0D] - and a - jr nz,.next\@ - ld a,1 - ld [$CC3C],a - ld hl,OakAppearsText - jr .done\@ -.next\@ - ld hl,OakWalksUpText -.done\@ - call PrintText - jp TextScriptEnd - -OakAppearsText: - TX_FAR _OakAppearsText - db 8 - ld c,10 - call DelayFrames - xor a - ld [$CD4F],a - ld [$CD50],a - ld a,$4C - call Predef ; display ! over head - ld a,4 - ld [$D528],a - jp TextScriptEnd - -OakWalksUpText: - TX_FAR _OakWalksUpText - db "@" - -PalletTownText2: ; 0x18fd3 girl - TX_FAR _PalletTownText2 ; dc 42 29 pointing to 0xa42dc - db "@" -; 0x18fd8 - -PalletTownText3: ; 0x18fd8 fat man - TX_FAR _PalletTownText3 - db "@" -; 0x18fdd - -PalletTownText4: ; 0x18fdd sign by lab - TX_FAR _PalletTownText4 - db "@" -; 0x18fe2 - -PalletTownText5: ; 0x18fe2 sign by fence - TX_FAR _PalletTownText5 - db "@" -; 0x18fe7 - -PalletTownText6: ; 0x18fe7 sign by Red’s house - TX_FAR _PalletTownText6 - db "@" -; 0x18fec - -PalletTownText7: ; 0x18fec sign by Blue’s house - TX_FAR _PalletTownText7 - db "@" - -ViridianCityScript: ; 0x18ff1 - call $3c3c - ld hl, ViridianCityScripts - ld a, [$d5f4] - jp $3d97 -; 0x18ffd - -ViridianCityScripts: ; 0x18ffd - dw ViridianCityScript0 - -INCBIN "baserom.gbc",$18fff,$6 - -ViridianCityScript0: ; 0x19005 - call $500b - jp $503d -; 0x1900b - -INCBIN "baserom.gbc",$1900b,$d9 - -ViridianCityTexts: ; 0x190e4 - dw ViridianCityText1, ViridianCityText2, ViridianCityText3, ViridianCityText4, ViridianCityText5, ViridianCityText6, ViridianCityText7, ViridianCityText8, ViridianCityText9, ViridianCityText10, ViridianCityText11, ViridianCityText12, ViridianCityText13, ViridianCityText14, ViridianCityText15 - -ViridianCityText1: ; 0x19102 - TX_FAR _ViridianCityText1 - db $50 - -ViridianCityText2: ; 0x19107 - db $08 ; asm - ld a, [$d356] - cp $7f - ld hl, UnnamedText_19127 - jr z, .asm_ae9fe ; 0x19110 - ld a, [$d751] - bit 1, a - jr nz, .asm_ae9fe ; 0x19117 - ld hl, UnnamedText_19122 -.asm_ae9fe ; 0x1911c - call PrintText - jp TextScriptEnd - -UnnamedText_19122: ; 0x19122 - TX_FAR _UnnamedText_19122 - db $50 -; 0x19122 + 5 bytes - -UnnamedText_19127: ; 0x19127 - TX_FAR _UnnamedText_19127 - db $50 -; 0x19127 + 5 bytes - -ViridianCityText3: ; 0x1912c - db $08 ; asm - ld hl, UnnamedText_1914d - call PrintText - call $35ec - ld a, [$cc26] - and a - jr nz, .asm_6dfea ; 0x1913a - ld hl, UnnamedText_19157 - call PrintText - jr .asm_d611f ; 0x19142 -.asm_6dfea ; 0x19144 - ld hl, UnnamedText_19152 - call PrintText -.asm_d611f ; 0x1914a - jp TextScriptEnd - -UnnamedText_1914d: ; 0x1914d - TX_FAR _UnnamedText_1914d - db $50 -; 0x1914d + 5 bytes - -UnnamedText_19152: ; 0x19152 - TX_FAR _UnnamedText_19152 - db $50 -; 0x19152 + 5 bytes - -UnnamedText_19157: ; 0x19157 - TX_FAR _UnnamedText_19157 - db $50 -; 0x19157 + 5 bytes - -ViridianCityText4: ; 0x1915c - db $08 ; asm - ld a, [$d74b] - bit 5, a - jr nz, .asm_83894 ; 0x19162 - ld hl, UnnamedText_19175 - call PrintText - jr .asm_700a6 ; 0x1916a -.asm_83894 ; 0x1916c - ld hl, UnnamedText_1917a - call PrintText -.asm_700a6 ; 0x19172 - jp TextScriptEnd - -UnnamedText_19175: ; 0x19175 - TX_FAR _UnnamedText_19175 - db $50 -; 0x19175 + 5 bytes - -UnnamedText_1917a: ; 0x1917a - TX_FAR _UnnamedText_1917a - db $50 -; 0x1917a + 5 bytes - -ViridianCityText5: ; 0x1917f - db $08 ; asm - ld hl, UnnamedText_19191 - call PrintText - call $50cf - ld a, $3 - ld [$d5f4], a - jp TextScriptEnd - -UnnamedText_19191: ; 0x19191 - TX_FAR _UnnamedText_19191 - db $50 -; 0x19191 + 5 bytes - -ViridianCityText6: ; 0x19196 - db $08 ; asm - ld a, [$d74c] - bit 1, a - jr nz, .asm_4e5a0 ; 0x1919c - ld hl, UnnamedText_191ca - call PrintText - ld bc, (TM_42 << 8) | 1 - call GiveItem - jr nc, .asm_b655e ; 0x191aa - ld hl, ReceivedTM42Text - call PrintText - ld hl, $d74c - set 1, [hl] - jr .asm_3c73c ; 0x191b7 -.asm_b655e ; 0x191b9 - ld hl, UnnamedText_191da - call PrintText - jr .asm_3c73c ; 0x191bf -.asm_4e5a0 ; 0x191c1 - ld hl, UnnamedText_191d5 - call PrintText -.asm_3c73c ; 0x191c7 - jp TextScriptEnd - -UnnamedText_191ca: ; 0x191ca - TX_FAR _UnnamedText_191ca - db $50 -; 0x191ca + 5 bytes - -ReceivedTM42Text: ; 0x191cf - TX_FAR _ReceivedTM42Text ; 0xa469a - db $10, $50 -; 0x191cf + 6 bytes = 0x191d5 - -UnnamedText_191d5: ; 0x191d5 - TX_FAR _UnnamedText_191d5 - db $50 -; 0x191d5 + 5 bytes - -UnnamedText_191da: ; 0x191da - TX_FAR _UnnamedText_191da - db $50 -; 0x191da + 5 bytes - -ViridianCityText7: ; 0x191df - db $08 ; asm - ld hl, UnnamedText_1920a - call PrintText - ld c, $2 - call $3739 - call $35ec - ld a, [$cc26] - and a - jr z, .asm_42f68 ; 0x191f2 - ld hl, UnnamedText_1920f - call PrintText - ld a, $1 - ld [$d5f4], a - jr .asm_2413a ; 0x191ff -.asm_42f68 ; 0x19201 - ld hl, UnnamedText_19214 - call PrintText -.asm_2413a ; 0x19207 - jp TextScriptEnd - -UnnamedText_1920a: ; 0x1920a - TX_FAR _UnnamedText_1920a - db $50 -; 0x1920a + 5 bytes - -UnnamedText_1920f: ; 0x1920f - TX_FAR _UnnamedText_1920f - db $50 -; 0x1920f + 5 bytes - -UnnamedText_19214: ; 0x19214 - TX_FAR _UnnamedText_19214 - db $50 -; 0x19214 + 5 bytes - -ViridianCityText15: ; 0x19219 - TX_FAR _UnnamedText_19219 - db $50 -; 0x19219 + 5 bytes - -ViridianCityText8: ; 0x1921e - TX_FAR _ViridianCityText8 - db $50 - -ViridianCityText9: ; 0x19223 - TX_FAR _ViridianCityText9 - db $50 - -ViridianCityText10: ; 0x19228 - TX_FAR _ViridianCityText10 - db $50 - -ViridianCityText13: ; 0x1922d - TX_FAR _ViridianCityText13 - db $50 - -ViridianCityText14: - -UnnamedText_19232: ; 0x19232 - TX_FAR _UnnamedText_19232 - db $50 -; 0x19232 + 5 bytes - -PewterCityScript: ; 0x19237 - call $3c3c - ld hl, PewterCityScripts - ld a, [$d5f7] - jp $3d97 -; 0x19243 - -PewterCityScripts: ; 0x19243 - dw PewterCityScript0 - -INCBIN "baserom.gbc",$19245,$c - -PewterCityScript0: ; 0x19251 - xor a - ld [$d619], a - ld hl, $d754 - res 0, [hl] - call $525e - ret -; 0x1925e - -INCBIN "baserom.gbc",$1925e,$12d - -PewterCityTexts: ; 0x1938b - dw PewterCityText1, PewterCityText2, PewterCityText3, PewterCityText4, PewterCityText5, PewterCityText6, PewterCityText7, PewterCityText8, PewterCityText9, PewterCityText10, PewterCityText11, PewterCityText12, PewterCityText13, PewterCityText14 - -PewterCityText1: ; 0x193a7 - TX_FAR _PewterCityText1 - db $50 - -PewterCityText2: ; 0x193ac - TX_FAR _PewterCityText2 - db $50 - -PewterCityText3: ; 0x193b1 - db $08 ; asm - ld hl, UnnamedText_193f1 - call PrintText - call $35ec - ld a, [$cc26] - and a - jr nz, .asm_f46a9 ; 0x193bf - ld hl, UnnamedText_193f6 - call PrintText - jr .asm_ac429 ; 0x193c7 -.asm_f46a9 ; 0x193c9 - ld hl, UnnamedText_193fb - call PrintText - xor a - ldh [$b3], a - ldh [$b4], a - ld [$cf10], a - ld a, $2 - ld [$cc57], a - ldh a, [$b8] - ld [$cc58], a - ld a, $3 - ld [$cf13], a - call $32f4 - ld a, $1 - ld [$d5f7], a -.asm_ac429 ; 0x193ee - jp TextScriptEnd - -UnnamedText_193f1: ; 0x193f1 - TX_FAR _UnnamedText_193f1 - db $50 -; 0x193f1 + 5 bytes - -UnnamedText_193f6: ; 0x193f6 - TX_FAR _UnnamedText_193f6 - db $50 -; 0x193f6 + 5 bytes - -UnnamedText_193fb: ; 0x193fb - TX_FAR _UnnamedText_193fb - db $50 -; 0x193fb + 5 bytes - -PewterCityText13: - -UnnamedText_19400: ; 0x19400 - TX_FAR _UnnamedText_19400 - db $50 -; 0x19400 + 5 bytes - -PewterCityText4: ; 0x19405 - db $8 - ld hl, UnnamedText_19427 - call PrintText - call $35ec - ld a, [$cc26] - cp $0 - jr nz, .asm_e4603 - ld hl, UnnamedText_1942c - call PrintText - jr .asm_e4604 ; 0x1941c $6 -.asm_e4603 - ld hl, UnnamedText_19431 - call PrintText -.asm_e4604 ; 0x19424 - jp TextScriptEnd -; 0x19427 - -UnnamedText_19427: ; 0x19427 - TX_FAR _UnnamedText_19427 - db $50 -; 0x19427 + 5 bytes - -UnnamedText_1942c: ; 0x1942c - TX_FAR _UnnamedText_1942c - db $50 -; 0x1942c + 5 bytes - -UnnamedText_19431: ; 0x19431 - TX_FAR _UnnamedText_19431 - db $50 -; 0x19431 + 5 bytes - -PewterCityText5: ; 0x19436 - db $08 ; asm - ld hl, UnnamedText_1945d - call PrintText - xor a - ldh [$b4], a - ld [$cf10], a - ld a, $3 - ld [$cc57], a - ldh a, [$b8] - ld [$cc58], a - ld a, $5 - ld [$cf13], a - call $32f4 - ld a, $4 - ld [$d5f7], a - jp TextScriptEnd - -UnnamedText_1945d: ; 0x1945d - TX_FAR _UnnamedText_1945d - db $50 -; 0x1945d + 5 bytes - -PewterCityText14: ; 0x19462 - -UnnamedText_19462: ; 0x19462 - TX_FAR _UnnamedText_19462 - db $50 -; 0x19462 + 5 bytes - -PewterCityText6: ; 0x19467 - TX_FAR _PewterCityText6 - db $50 - -PewterCityText7: ; 0x1946c - TX_FAR _PewterCityText7 - db $50 - -PewterCityText10: ; 0x19471 - TX_FAR _PewterCityText10 - db $50 - -PewterCityText11: ; 0x19476 - TX_FAR _PewterCityText11 - db $50 - -PewterCityText12: ; 0x1947b - TX_FAR _PewterCityText12 - db $50 - -CeruleanCityScript: ; 0x19480 - call $3c3c - ld hl, CeruleanCityScripts - ld a, [$d60f] - jp $3d97 -; 0x1948c - -INCBIN "baserom.gbc",$1948c,$1949d - $1948c - -CeruleanCityScripts: ; 0x1949d - dw CeruleanCityScript0, CeruleanCityScript1, CeruleanCityScript2, CeruleanCityScript3 - -INCBIN "baserom.gbc",$194a5,$23 - -CeruleanCityScript0: ; 0x194c8 - ld a, [$d75b] - bit 7, a - jr nz, .asm_194f7 ; 0x194cd $28 - ld hl, $554f - call $34bf - jr nc, .asm_194f7 ; 0x194d5 $20 - ld a, [$cd3d] - cp $1 - ld a, $8 - ld b, $0 - jr nz, .asm_194e6 ; 0x194e0 $4 - ld a, $4 - ld b, $4 -.asm_194e6 - ld [$d528], a - ld a, b - ld [$c129], a - call Delay3 - ld a, $2 - ld [$ff00+$8c], a - jp $2920 -.asm_194f7 - ld a, [$d75a] - bit 0, a - ret nz - ld hl, $5554 - call $34bf - ret nc - ld a, [$d700] - and a - jr z, .asm_19512 ; 0x19508 $8 - ld a, $ff - ld [$c0ee], a - call $23b1 -.asm_19512 - ld c, $2 - ld a, $de - call $23a1 - xor a - ld [$ff00+$b4], a - ld a, $f0 - ld [$cd6b], a - ld a, [$d362] - cp $14 - jr z, .asm_19535 ; 0x19526 $d - ld a, $1 - ld [$ff00+$8c], a - ld a, $5 - ld [$ff00+$8b], a - call $3500 - ld [hl], $19 -.asm_19535 - ld a, $5 - ld [$cc4d], a - ld a, $15 - call Predef - ld de, $5559 - ld a, $1 - ld [$ff00+$8c], a - call $363a - ld a, $1 - ld [$d60f], a - ret -; 0x1954f - -INCBIN "baserom.gbc",$1954f,$19567 - $1954f - -CeruleanCityScript1: ; 0x19567 - ld a, [$d730] - bit 0, a - ret nz - xor a - ld [$cd6b], a - ld a, $1 - ld [$ff00+$8c], a - call $2920 - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, $566d - ld de, $5672 - call $3354 - ld a, $e1 - ld [$d059], a - - ; select which team to use during the encounter - ld a, [W_RIVALSTARTER] - cp SQUIRTLE - jr nz, .NotSquirtle\@ ; 0x19592 $4 - ld a, $7 - jr .done\@ -.NotSquirtle\@ - cp BULBASAUR - jr nz, .Charmander\@ ; 0x1959a $4 - ld a, $8 - jr .done\@ -.Charmander\@ - ld a, $9 -.done\@ - ld [W_TRAINERNO], a - - xor a - ld [$ff00+$b4], a - call $555d - ld a, $2 - ld [$d60f], a - ret -; 0x195b1 - -CeruleanCityScript2: ; 0x195b1 - ld a, [$d057] - cp $ff - jp z, $548c - call $555d - ld a, $f0 - ld [$cd6b], a - ld hl, $d75a - set 0, [hl] - ld a, $1 - ld [$ff00+$8c], a - call $2920 - ld a, $ff - ld [$c0ee], a - call $23b1 - ld b, $2 - ld hl, $5b47 - call Bankswitch - ld a, $1 - ld [$ff00+$8c], a - call $3541 - ld a, [$d362] - cp $14 - jr nz, .asm_195f0 ; 0x195e9 $5 - ld de, $5608 - jr .asm_195f3 ; 0x195ee $3 -.asm_195f0 - ld de, $5600 -.asm_195f3 - ld a, $1 - ld [$ff00+$8c], a - call $363a - ld a, $3 - ld [$d60f], a - ret -; 0x19600 - -INCBIN "baserom.gbc",$19600,$19610 - $19600 - -CeruleanCityScript3: ; 0x19610 - ld a, [$d730] - bit 0, a - ret nz - ld a, $5 - ld [$cc4d], a - ld a, $11 - call Predef - xor a - ld [$cd6b], a - call $2307 - ld a, $0 - ld [$d60f], a - ret -; 0x1962d - -CeruleanCityTexts: ; 0x1962d - dw CeruleanCityText1, CeruleanCityText2, CeruleanCityText3, CeruleanCityText4, CeruleanCityText5, CeruleanCityText6, CeruleanCityText7, CeruleanCityText8, CeruleanCityText9, CeruleanCityText10, CeruleanCityText11, CeruleanCityText12, CeruleanCityText13, CeruleanCityText14, CeruleanCityText15, CeruleanCityText16, CeruleanCityText17 - -CeruleanCityText1: ; 0x1964f - db $08 ; asm - ld a, [$d75a] - bit 0, a - jr z, .asm_a89f9 ; 0x19655 - ld hl, UnnamedText_19677 - call PrintText - jr .asm_815c6 ; 0x1965d -.asm_a89f9 ; 0x1965f - ld hl, UnnamedText_19668 - call PrintText -.asm_815c6 ; 0x19665 - jp TextScriptEnd - -UnnamedText_19668: ; 0x19668 - TX_FAR _UnnamedText_19668 - db $50 -; 0x19668 + 5 bytes - -UnnamedText_1966d: ; 0x1966d - TX_FAR _UnnamedText_1966d - db $50 -; 0x1966d + 5 bytes - -UnnamedText_19672: ; 0x19672 - TX_FAR _UnnamedText_19672 - db $50 -; 0x19672 + 5 bytes - -UnnamedText_19677: ; 0x19677 - TX_FAR _UnnamedText_19677 - db $50 -; 0x19677 + 5 bytes - -CeruleanCityText2: ; 0x1967c - db $8 - ld a, [$d75b] - bit 7, a - jr nz, .asm_4ca20 ; 0x19682 $29 - ld hl, UnnamedText_196d9 - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, $56ee - ld de, $56ee - call $3354 - ld a, [$ff00+$8c] - ld [$cf13], a - call $336a - call $32d7 - ld a, $4 - ld [$d60f], a - jp TextScriptEnd -.asm_4ca20 ; 0x196ad - ld hl, UnnamedText_196f3 - call PrintText - ld bc, $e401 - call GiveItem - jr c, .asm_8bbbd ; 0x196b9 $8 - ld hl, UnnamedText_196e9 - call PrintText - jr .asm_e4e6f ; 0x196c1 $13 -.asm_8bbbd ; 0x196c3 - ld a, $1 - ld [$cc3c], a - ld hl, UnnamedText_196de - call PrintText - ld b, $1d - ld hl, Unnamed_ASM_74872 - call Bankswitch -.asm_e4e6f ; 0x196d6 - jp TextScriptEnd -; 0x196d9 - -UnnamedText_196d9: ; 0x196d9 - TX_FAR _UnnamedText_196d9 - db $50 -; 0x196d9 + 5 bytes - -UnnamedText_196de: ; 0x196de - TX_FAR ReceivedTM28Text ; 0xa4f82 - db $0B - TX_FAR UnnamedText_a4f96 ; 0xa4f96 - db $0D, $50 -; 0x196e9 - -UnnamedText_196e9: ; 0x196e9 - TX_FAR _UnnamedText_196e9 - db $50 -; 0x196e9 + 5 bytes - -UnnamedText_196ee: ; 0x196ee - TX_FAR _UnnamedText_196ee - db $50 -; 0x196ee + 5 bytes - -UnnamedText_196f3: ; 0x196f3 - TX_FAR _UnnamedText_196f3 - db $50 -; 0x196f3 + 5 bytes - -CeruleanCityText3: ; 0x196f8 - TX_FAR _CeruleanCityText3 - db $50 - -CeruleanCityText4: ; 0x196fd - TX_FAR _CeruleanCityText4 - db $50 - -CeruleanCityText5: ; 0x19702 - TX_FAR _CeruleanCityText5 - db $50 - -CeruleanCityText11: -CeruleanCityText6: ; 0x19707 - TX_FAR _CeruleanCityText6 - db $50 - -CeruleanCityText7: ; 0x1970c - db $08 ; asm - ldh a, [$d3] - cp $b4 - jr c, .asm_e9fc9 ; 0x19711 - ld hl, UnnamedText_19730 - call PrintText - jr .asm_d486e ; 0x19719 -.asm_e9fc9 ; 0x1971b - cp $64 - jr c, .asm_df99b ; 0x1971d - ld hl, UnnamedText_19735 - call PrintText - jr .asm_d486e ; 0x19725 -.asm_df99b ; 0x19727 - ld hl, UnnamedText_1973a - call PrintText -.asm_d486e ; 0x1972d - jp TextScriptEnd - -UnnamedText_19730: ; 0x19730 - TX_FAR _UnnamedText_19730 - db $50 -; 0x19730 + 5 bytes - -UnnamedText_19735: ; 0x19735 - TX_FAR _UnnamedText_19735 - db $50 -; 0x19735 + 5 bytes - -UnnamedText_1973a: ; 0x1973a - TX_FAR _UnnamedText_1973a - db $50 -; 0x1973a + 5 bytes - -CeruleanCityText8: ; 0x1973f - db $08 ; asm - ldh a, [$d3] - cp $b4 - jr c, .asm_e28da ; 0x19744 - ld hl, UnnamedText_1976f - call PrintText - jr .asm_f2f38 ; 0x1974c -.asm_e28da ; 0x1974e - cp $78 - jr c, .asm_15d08 ; 0x19750 - ld hl, UnnamedText_19774 - call PrintText - jr .asm_f2f38 ; 0x19758 -.asm_15d08 ; 0x1975a - cp $3c - jr c, .asm_d7fea ; 0x1975c - ld hl, UnnamedText_19779 - call PrintText - jr .asm_f2f38 ; 0x19764 -.asm_d7fea ; 0x19766 - ld hl, UnnamedText_1977e - call PrintText -.asm_f2f38 ; 0x1976c - jp TextScriptEnd - -UnnamedText_1976f: ; 0x1976f - TX_FAR _UnnamedText_1976f - db $50 -; 0x1976f + 5 bytes - -UnnamedText_19774: ; 0x19774 - TX_FAR _UnnamedText_19774 - db $50 -; 0x19774 + 5 bytes - -UnnamedText_19779: ; 0x19779 - TX_FAR _UnnamedText_19779 - db $50 -; 0x19779 + 5 bytes - -UnnamedText_1977e: ; 0x1977e - TX_FAR _UnnamedText_1977e - db $50 -; 0x1977e + 5 bytes - -CeruleanCityText9: ; 0x19783 - TX_FAR _CeruleanCityText9 - db $50 - -CeruleanCityText10: ; 0x19788 - TX_FAR _CeruleanCityText10 - db $50 - -CeruleanCityText12: ; 0x1978d - TX_FAR _CeruleanCityText12 - db $50 - -CeruleanCityText13: ; 0x19792 - TX_FAR _CeruleanCityText13 - db $50 - -CeruleanCityText16: ; 0x19797 - TX_FAR _CeruleanCityText16 - db $50 - -CeruleanCityText17: ; 0x1979c - TX_FAR _CeruleanCityText17 - db $50 - -VermilionCityScript: ; 0x197a1 - call $3c3c - ld hl, $d126 - bit 6, [hl] - res 6, [hl] - push hl - call nz, $57cb - pop hl - bit 5, [hl] - res 5, [hl] - call nz, VermilionCityScript_Unknown197c0 - ld hl, VermilionCityScripts - ld a, [$d62a] - jp $3d97 -; 0x197c0 - -VermilionCityScript_Unknown197c0: ; 0x197c0 -INCBIN "baserom.gbc",$197c0,$197dc - $197c0 - -VermilionCityScripts: ; 0x197dc - dw VermilionCityScript0, VermilionCityScript1 - -INCBIN "baserom.gbc",$197e0,$6 - -VermilionCityScript0: ; 0x197e6 - ld a, [$c109] - and a - ret nz - ld hl, $5823 - call $34bf - ret nc - xor a - ld [$ff00+$b4], a - ld [$cf0d], a - ld a, $3 - ld [$ff00+$8c], a - call $2920 - ld a, [$d803] - bit 2, a - jr nz, .asm_19810 ; 0x19804 $a - ld b, $3f - ld a, $1c - call Predef - ld a, b - and a - ret nz -.asm_19810 - ld a, $40 - ld [$ccd3], a - ld a, $1 - ld [$cd38], a - call $3486 - ld a, $1 - ld [$d62a], a - ret -; 0x19823 - -INCBIN "baserom.gbc",$19823,$1985f - $19823 - -VermilionCityScript1: ; 0x1985f - ld a, [$cd38] - and a - ret nz - ld c, $a - call $3739 - ld a, $0 - ld [$d62a], a - ret -; 0x1986f - -VermilionCityTexts: ; 0x1986f - dw VermilionCityText1, VermilionCityText2, VermilionCityText3, VermilionCityText4, VermilionCityText5, VermilionCityText6, VermilionCityText7, VermilionCityText8, VermilionCityText9, VermilionCityText10, VermilionCityText11, VermilionCityText12, VermilionCityText13 - -VermilionCityText1: ; 0x19889 - TX_FAR _VermilionCityText1 - db $50 - -VermilionCityText2: ; 0x1988e - db $08 ; asm - ld a, [$d803] - bit 2, a - jr nz, .asm_359bd ; 0x19894 - ld hl, UnnamedText_198a7 - call PrintText - jr .asm_735d9 ; 0x1989c -.asm_359bd ; 0x1989e - ld hl, UnnamedText_198ac - call PrintText -.asm_735d9 ; 0x198a4 - jp TextScriptEnd - -UnnamedText_198a7: ; 0x198a7 - TX_FAR _UnnamedText_198a7 - db $50 -; 0x198a7 + 5 bytes - -UnnamedText_198ac: ; 0x198ac - TX_FAR _UnnamedText_198ac - db $50 -; 0x198ac + 5 bytes - -VermilionCityText3: ; 0x198b1 - db $08 ; asm - ld a, [$d803] - bit 2, a - jr nz, .asm_3e0e9 ; 0x198b7 - ld a, [$c109] - cp $c - jr z, .asm_07af3 ; 0x198be - ld hl, $58ff - call $34bf - jr nc, .asm_57b73 ; 0x198c6 -.asm_07af3 ; 0x198c8 - ld hl, UnnamedText_19904 - call PrintText - jr .asm_79bd1 ; 0x198ce -.asm_57b73 ; 0x198d0 - ld hl, UnnamedText_19909 - call PrintText - ld b, $3f - ld a, $1c - call Predef - ld a, b - and a - jr nz, .asm_0419b ; 0x198df - ld hl, UnnamedText_19913 - call PrintText - jr .asm_79bd1 ; 0x198e7 -.asm_0419b ; 0x198e9 - ld hl, UnnamedText_1990e - call PrintText - ld a, $4 - ld [$d62a], a - jr .asm_79bd1 ; 0x198f4 -.asm_3e0e9 ; 0x198f6 - ld hl, UnnamedText_19918 - call PrintText -.asm_79bd1 ; 0x198fc - jp TextScriptEnd - -INCBIN "baserom.gbc",$198ff,$19904 - $198ff - -UnnamedText_19904: ; 0x19904 - TX_FAR _UnnamedText_19904 - db $50 -; 0x19904 + 5 bytes - -UnnamedText_19909: ; 0x19909 - TX_FAR _UnnamedText_19909 - db $50 -; 0x19909 + 5 bytes - -UnnamedText_1990e: ; 0x1990e - TX_FAR _UnnamedText_1990e - db $50 -; 0x1990e + 5 bytes - -UnnamedText_19913: ; 0x19913 - TX_FAR _UnnamedText_19913 - db $50 -; 0x19913 + 5 bytes - -UnnamedText_19918: ; 0x19918 - TX_FAR _UnnamedText_19918 - db $50 -; 0x19918 + 5 bytes - -VermilionCityText4: ; 0x1991d - TX_FAR _VermilionCityText4 - db $50 - -VermilionCityText5: ; 0x19922 - TX_FAR _VermilionCityText5 - db $08 ; asm - ld a, $6a - call $13d0 - call $3748 - ld hl, $5933 - ret - -VermilionCityText14: ; 0x19933 - TX_FAR _VermilionCityText14 - db $50 - -VermilionCityText6: ; 0x19938 - TX_FAR _VermilionCityText6 - db $50 - -VermilionCityText7: ; 0x1993d - TX_FAR _VermilionCityText7 - db $50 - -VermilionCityText8: ; 0x19942 - TX_FAR _VermilionCityText8 - db $50 - -VermilionCityText11: ; 0x19947 - TX_FAR _VermilionCityText11 - db $50 - -VermilionCityText12: ; 0x1994c - TX_FAR _VermilionCityText12 - db $50 - -VermilionCityText13: ; 0x19951 - TX_FAR _VermilionCityText13 - db $50 - -CeladonCityScript: ; 0x19956 - call $3c3c - ld hl, $d77e - res 0, [hl] - res 7, [hl] - ld hl, $d816 - res 7, [hl] - ret -; 0x19966 - -CeladonCityTexts: ; 0x19966 - dw CeladonCityText1, CeladonCityText2, CeladonCityText3, CeladonCityText4, CeladonCityText5, CeladonCityText6, CeladonCityText7, CeladonCityText8, CeladonCityText9, CeladonCityText10, CeladonCityText11, CeladonCityText12, CeladonCityText13, CeladonCityText14, CeladonCityText15, CeladonCityText16, CeladonCityText17, CeladonCityText18 - -CeladonCityText1: ; 0x1998a - TX_FAR _CeladonCityText1 - db $50 - -CeladonCityText2: ; 0x1998f - TX_FAR _CeladonCityText2 - db $50 - -CeladonCityText3: ; 0x19994 - TX_FAR _CeladonCityText3 - db $50 - -CeladonCityText4: ; 0x19999 - TX_FAR _CeladonCityText4 - db $50 - -CeladonCityText5: ; 0x1999e - db $08 ; asm - ld a, [$d777] - bit 0, a - jr nz, .asm_7053f ; 0x199a4 - ld hl, UnnamedText_199d2 - call PrintText - ld bc, (TM_41 << 8) | 1 - call GiveItem - jr c, .asm_890ec ; 0x199b2 - ld hl, UnnamedText_199e2 - call PrintText - jr .asm_c765a ; 0x199ba -.asm_890ec ; 0x199bc - ld hl, UnnamedText_199d7 - call PrintText - ld hl, $d777 - set 0, [hl] - jr .asm_c765a ; 0x199c7 -.asm_7053f ; 0x199c9 - ld hl, UnnamedText_199dd - call PrintText -.asm_c765a ; 0x199cf - jp TextScriptEnd - -UnnamedText_199d2: ; 0x199d2 - TX_FAR _UnnamedText_199d2 - db $50 -; 0x199d2 + 5 bytes - -UnnamedText_199d7: ; 0x199d7 - TX_FAR _UnnamedText_199d7 ; 0xa5b5a - db $0B, $50 -; 0x199d7 + 6 bytes = 0x199dd - -UnnamedText_199dd: ; 0x199dd - TX_FAR _UnnamedText_199dd - db $50 -; 0x199dd + 5 bytes - -UnnamedText_199e2: ; 0x199e2 - TX_FAR _UnnamedText_199e2 - db $50 -; 0x199e2 + 5 bytes - -CeladonCityText6: ; 0x199e7 - TX_FAR _CeladonCityText6 - db $50 - -CeladonCityText7: ; 0x199ec - TX_FAR _CeladonCityText7 - db $08 ; asm - ld a, $6f - call $13d0 - jp TextScriptEnd - -CeladonCityText8: ; 0x199f9 - TX_FAR _CeladonCityText8 - db $50 - -CeladonCityText9: ; 0x199fe - TX_FAR _CeladonCityText9 - db $50 - -CeladonCityText10: ; 0x19a03 - TX_FAR _CeladonCityText10 - db $50 - -CeladonCityText11: ; 0x19a08 - TX_FAR _CeladonCityText11 - db $50 - -CeladonCityText13: ; 0x19a0d - TX_FAR _CeladonCityText13 - db $50 - -CeladonCityText14: ; 0x19a12 - TX_FAR _CeladonCityText14 - db $50 - -CeladonCityText15: ; 0x19a17 - TX_FAR _CeladonCityText15 - db $50 - -CeladonCityText16: ; 0x19a1c - TX_FAR _CeladonCityText16 - db $50 - -CeladonCityText17: ; 0x19a21 - TX_FAR _CeladonCityText17 - db $50 - -CeladonCityText18: ; 0x19a26 - TX_FAR _CeladonCityText18 - db $50 - -FuchsiaCityScript: ; 0x19a2b - jp $3c3c -; 0x19a2e - -FuchsiaCityTexts: ; 0x19a2e - dw FuchsiaCityText1, FuchsiaCityText2, FuchsiaCityText3, FuchsiaCityText4, FuchsiaCityText5, FuchsiaCityText6, FuchsiaCityText7, FuchsiaCityText8, FuchsiaCityText9, FuchsiaCityText10, FuchsiaCityText11, FuchsiaCityText12, FuchsiaCityText13, FuchsiaCityText14, FuchsiaCityText15, FuchsiaCityText16, FuchsiaCityText17, FuchsiaCityText18, FuchsiaCityText19, FuchsiaCityText20, FuchsiaCityText21, FuchsiaCityText22, FuchsiaCityText23, FuchsiaCityText24 - -FuchsiaCityText1: ; 0x19a5e - TX_FAR _FuchsiaCityText1 - db $50 - -FuchsiaCityText2: ; 0x19a63 - TX_FAR _FuchsiaCityText2 - db $50 - -FuchsiaCityText3: ; 0x19a68 - TX_FAR _FuchsiaCityText3 - db $50 - -FuchsiaCityText4: ; 0x19a6d - TX_FAR _FuchsiaCityText4 - db $50 - -FuchsiaCityText5: ; 0x19a72 -FuchsiaCityText6: -FuchsiaCityText7: -FuchsiaCityText8: -FuchsiaCityText9: -FuchsiaCityText10: ; 0x19a72 - TX_FAR _FuchsiaCityText5 - db $50 - -FuchsiaCityText12: -FuchsiaCityText11: ; 0x19a77 - TX_FAR _FuchsiaCityText11 - db $50 - -FuchsiaCityText13: ; 0x19a7c - TX_FAR _FuchsiaCityText13 - db $50 - -FuchsiaCityText16: ; 0x19a81 - TX_FAR _FuchsiaCityText16 - db $50 - -FuchsiaCityText17: ; 0x19a86 - TX_FAR _FuchsiaCityText17 - db $50 - -FuchsiaCityText18: ; 0x19a8b - TX_FAR _FuchsiaCityText18 - db $50 - -FuchsiaCityText19: ; 0x19a90 - db $08 ; asm - ld hl, UnnamedText_19a9f - call PrintText - ld a, $28 - call $349b - jp TextScriptEnd - -UnnamedText_19a9f: ; 0x19a9f - TX_FAR _UnnamedText_19a9f - db $50 -; 0x19a9f + 5 bytes - -FuchsiaCityText20: ; 0x19aa4 - db $08 ; asm - ld hl, UnnamedText_19ab3 - call PrintText - ld a, $6 - call $349b - jp TextScriptEnd - -UnnamedText_19ab3: ; 0x19ab3 - TX_FAR _UnnamedText_19ab3 - db $50 -; 0x19ab3 + 5 bytes - -FuchsiaCityText21: ; 0x19ab8 - db $08 ; asm - ld hl, UnnamedText_19ac7 - call PrintText - ld a, $2 - call $349b - jp TextScriptEnd - -UnnamedText_19ac7: ; 0x19ac7 - TX_FAR _UnnamedText_19ac7 - db $50 -; 0x19ac7 + 5 bytes - -FuchsiaCityText22: ; 0x19acc - db $08 ; asm - ld hl, UnnamedText_19adb - call PrintText - ld a, $25 - call $349b - jp TextScriptEnd - -UnnamedText_19adb: ; 0x19adb - TX_FAR _UnnamedText_19adb - db $50 -; 0x19adb + 5 bytes - -FuchsiaCityText23: ; 0x19ae0 - db $08 ; asm - ld hl, UnnamedText_19aef - call PrintText - ld a, $13 - call $349b - jp TextScriptEnd - -UnnamedText_19aef: ; 0x19aef - TX_FAR _UnnamedText_19aef - db $50 -; 0x19aef + 5 bytes - -FuchsiaCityText24: ; 0x19af4 - db $08 ; asm - ld a, [$d7f6] - bit 6, a - jr nz, .asm_3b4e8 ; 0x19afa - bit 7, a - jr nz, .asm_667d5 ; 0x19afe - ld hl, UnnamedText_19b2a - call PrintText - jr .asm_4343f ; 0x19b06 -.asm_3b4e8 ; 0x19b08 - ld hl, UnnamedText_19b20 - call PrintText - ld a, $62 - jr .asm_81556 ; 0x19b10 -.asm_667d5 ; 0x19b12 - ld hl, UnnamedText_19b25 - call PrintText - ld a, $5a -.asm_81556 ; 0x19b1a - call $349b -.asm_4343f ; 0x19b1d - jp TextScriptEnd - -UnnamedText_19b20: ; 0x19b20 - TX_FAR _UnnamedText_19b20 - db $50 -; 0x19b20 + 5 bytes - -UnnamedText_19b25: ; 0x19b25 - TX_FAR _UnnamedText_19b25 - db $50 -; 0x19b25 + 5 bytes - -UnnamedText_19b2a: ; 0x19b2a - TX_FAR _UnnamedText_19b2a - db $50 -; 0x19b2a + 5 bytes - -BluesHouse_h: ; 0x19b2f id=39 - db $08 ; tileset - db BLUES_HOUSE_HEIGHT, BLUES_HOUSE_WIDTH ; dimensions - dw BluesHouseBlocks, BluesHouseTexts, BluesHouseScript - db 0 - dw BluesHouseObject - -BluesHouseScript: ; 0x19b3b - call $3C3C - ld hl,BluesHouseScriptPointers - ld a,[$D5F3] - jp $3D97 - -BluesHouseScriptPointers: ; 0x19b47 - dw BluesHouseScript1,BluesHouseScript2 - -BluesHouseScript1: ; 0x19b4a - ld hl,$D74A - set 1,[hl] - - ; trigger the next script - ld a,1 - ld [$D5F3],a - ret - -BluesHouseScript2: ; 0x19B56 - ret - -BluesHouseTexts: ; 0x19B57 - dw BluesHouseText1,BluesHouseText2,BluesHouseText3 - -BluesHouseText1: ; 5B5D 0x19B5D - db 8 - ld a,[$D74A] - bit 0,a - jr nz,.GotMap\@ - ld a,[$D74B] - bit 5,a - jr nz,.GiveMap\@ - ld hl,DaisyInitialText - call PrintText - jr .done\@ -.GiveMap\@ - ld hl,DaisyOfferMapText - call PrintText - ld bc,(TOWN_MAP << 8) | 1 - call $3E2E - jr nc,.BagFull\@ - ld a,$29 - ld [$CC4D],a - ld a,$11 - call Predef ; hide table map object - ld hl,GotMapText - call PrintText - ld hl,$D74A - set 0,[hl] - jr .done\@ -.GotMap\@ - ld hl,DaisyUseMapText - call PrintText - jr .done\@ -.BagFull\@ - ld hl,DaisyBagFullText - call PrintText -.done\@ - jp TextScriptEnd - -DaisyInitialText: ; 0x19baa - TX_FAR _DaisyInitialText - db "@" - -DaisyOfferMapText: ; 0x19baf - TX_FAR _DaisyOfferMapText - db "@" - -GotMapText: ; 0x19bb4 - TX_FAR _GotMapText - db $11,"@" - -DaisyBagFullText: ; 0x19bba - TX_FAR _DaisyBagFullText - db "@" - -DaisyUseMapText: ; 0x19bbf - TX_FAR _DaisyUseMapText - db "@" - -BluesHouseText2: ; 0x19bc4 Daisy, walking around - TX_FAR _BluesHouseText2 - db "@" - -BluesHouseText3: ; 0x19bc9 map on table - TX_FAR _BluesHouseText3 - db "@" - -BluesHouseObject: ; 0x19bce - db $0A ; border tile - - db 2 ; warps - db 7,2,1,$FF - db 7,3,1,$FF - - db 0 ; signs - - db 3 ; people - db $11,4+3,4+2,$FF,$D3,1 ; Daisy, sitting by map - db $11,4+4,4+6,$FE,1,ITEM|2,0 ; map on table - db $41,4+3,4+3,$FF,$FF,ITEM|3,0 ; Daisy, walking around - - ; warp-to - dw $C712 - db 7,2 - - dw $C712 - db 7,3 - -BluesHouseBlocks: ; 0x19bf6 - INCBIN "maps/blueshouse.blk" - -VermilionHouse3_h: ; 0x19c06 to 0x19c12 (12 bytes) (bank=6) (id=196) - db $08 ; tileset - db VERMILION_HOUSE_3_HEIGHT, VERMILION_HOUSE_3_WIDTH ; dimensions (y, x) - dw VermilionHouse3Blocks, VermilionHouse3Texts, VermilionHouse3Script ; blocks, texts, scripts - db $00 ; connections - - dw VermilionHouse3Object ; objects - -VermilionHouse3Script: ; 0x19c12 - jp $3c3c -; 0x19c15 - -VermilionHouse3Texts: ; 0x19c15 - dw VermilionHouse3Text1 - -VermilionHouse3Text1: ; 0x19c17 - db $08 ; asm - ld a, $4 - ld [W_WHICHTRADE], a - ld a, $54 - call Predef - jp TextScriptEnd - -VermilionHouse3Object: ; 0x19c25 (size=26) - db $a ; border tile - - db $2 ; warps - db $7, $2, $7, $ff - db $7, $3, $7, $ff - - db $0 ; signs - - db $1 ; people - db SPRITE_LITTLE_GIRL, $5 + 4, $3 + 4, $ff, $d1, $1 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - -VermilionHouse3Blocks: ; 0x19c3f 16 - INCBIN "maps/vermilionhouse3.blk" - -IndigoPlateauLobby_h: ; 0x19c4f to 0x19c5b (12 bytes) (bank=6) (id=174) - db $02 ; tileset - db INDIGO_PLATEAU_LOBBY_HEIGHT, INDIGO_PLATEAU_LOBBY_WIDTH ; dimensions (y, x) - dw IndigoPlateauLobbyBlocks, IndigoPlateauLobbyTexts, IndigoPlateauLobbyScript ; blocks, texts, scripts - db $00 ; connections - - dw IndigoPlateauLobbyObject ; objects - -IndigoPlateauLobbyScript: ; 0x19c5b - call $22fa - call $3c3c - ld hl, $d126 - bit 6, [hl] - res 6, [hl] - ret z - ld hl, $d869 - res 7, [hl] - ld hl, $d734 - bit 1, [hl] - res 1, [hl] - ret z - ld hl, $d863 - xor a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - ret -; 0x19c7f - -IndigoPlateauLobbyTexts: ; 0x19c7f - dw IndigoPlateauLobbyText1, IndigoPlateauLobbyText2, IndigoPlateauLobbyText3, IndigoPlateauLobbyText4, IndigoPlateauLobbyText5 - -IndigoPlateauLobbyText1: ; 0x19c8a - db $ff - -IndigoPlateauLobbyText2: ; 0x19c8b - TX_FAR _IndigoPlateauLobbyText1 - db $50 - -INCBIN "baserom.gbc",$19c8f,$19c8f - $19c8f - -IndigoPlateauLobbyText3: ; 0x19c8f - TX_FAR _IndigoPlateauLobbyText3 - db $50 - -IndigoPlateauLobbyText5: ; 0x19c94 - db $f6 - -IndigoPlateauLobbyObject: ; 0x19c95 (size=58) - db $0 ; border tile - - db $3 ; warps - db $b, $7, $0, $ff - db $b, $8, $1, $ff - db $0, $8, $0, LORELEIS_ROOM - - db $0 ; signs - - db $5 ; people - db SPRITE_NURSE, $5 + 4, $7 + 4, $ff, $d0, $1 ; person - db SPRITE_GYM_HELPER, $9 + 4, $4 + 4, $ff, $d3, $2 ; person - db SPRITE_LASS, $1 + 4, $5 + 4, $ff, $d0, $3 ; person - db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $4 ; person - db SPRITE_CABLE_CLUB_WOMAN, $6 + 4, $d + 4, $ff, $d0, $5 ; person - - ; warp-to - EVENT_DISP $8, $b, $7 - EVENT_DISP $8, $b, $8 - EVENT_DISP $8, $0, $8 ; LORELEIS_ROOM - -IndigoPlateauLobbyBlocks: ; 0x19ccf 48 - INCBIN "maps/indigoplateaulobby.blk" - -SilphCo4_h: ; 0x19cff to 0x19d0b (12 bytes) (bank=6) (id=209) - db $16 ; tileset - db SILPH_CO_4F_HEIGHT, SILPH_CO_4F_WIDTH ; dimensions (y, x) - dw SilphCo4Blocks, SilphCo4Texts, SilphCo4Script ; blocks, texts, scripts - db $00 ; connections - - dw SilphCo4Object ; objects - -SilphCo4Script: ; 0x19d0b - call SilphCo4Script_Unknown19d21 - call $3c3c - ld hl, SilphCo4TrainerHeaders - ld de, $5d9a - ld a, [$d645] - call $3160 - ld [$d645], a - ret -; 0x19d21 - -SilphCo4Script_Unknown19d21: ; 0x19d21 -INCBIN "baserom.gbc",$19d21,$7f - -SilphCo4Texts: ; 0x19da0 - dw SilphCo4Text1, SilphCo4Text2, SilphCo4Text3, SilphCo4Text4, SilphCo4Text5, SilphCo4Text6, SilphCo4Text7 - -SilphCo4TrainerHeaders: -TrainerHeader_19dae: ; 0x19dae - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d829 ; flag's byte - dw UnnamedText_19df4 ; 0x5df4 TextBeforeBattle - dw UnnamedText_19dfe ; 0x5dfe TextAfterBattle - dw UnnamedText_19df9 ; 0x5df9 TextEndBattle - dw UnnamedText_19df9 ; 0x5df9 TextEndBattle -; 0x19dba - -TrainerHeader_19dba: ; 0x19dba - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d829 ; flag's byte - dw UnnamedText_19e0d ; 0x5e0d TextBeforeBattle - dw UnnamedText_19e17 ; 0x5e17 TextAfterBattle - dw UnnamedText_19e12 ; 0x5e12 TextEndBattle - dw UnnamedText_19e12 ; 0x5e12 TextEndBattle -; 0x19dc4 - -TrainerHeader_19dc6: ; 0x19dc6 - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d829 ; flag's byte - dw UnnamedText_19e26 ; 0x5e26 TextBeforeBattle - dw UnnamedText_19e30 ; 0x5e30 TextAfterBattle - dw UnnamedText_19e2b ; 0x5e2b TextEndBattle - dw UnnamedText_19e2b ; 0x5e2b TextEndBattle -; 0x19dd2 - -db $ff - -SilphCo4Text1: ; 0x19dd3 - db $08 ; asm - ld hl, $5de0 - ld de, $5de5 - call $622f - jp TextScriptEnd - -UnnamedText_19de0: ; 0x19de0 - TX_FAR _UnnamedText_19de0 - db $50 -; 0x19de0 + 5 bytes - -UnnamedText_19de5: ; 0x19de5 - TX_FAR _UnnamedText_19de5 - db $50 -; 0x19de5 + 5 bytes - -SilphCo4Text2: ; 0x19dea - db $08 ; asm - ld hl, TrainerHeader_19dae - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_19df4: ; 0x19df4 - TX_FAR _UnnamedText_19df4 - db $50 -; 0x19df4 + 5 bytes - -UnnamedText_19df9: ; 0x19df9 - TX_FAR _UnnamedText_19df9 - db $50 -; 0x19df9 + 5 bytes - -UnnamedText_19dfe: ; 0x19dfe - TX_FAR _UnnamedText_19dfe - db $50 -; 0x19dfe + 5 bytes - -SilphCo4Text3: ; 0x19e03 - db $08 ; asm - ld hl, TrainerHeader_19dba - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_19e0d: ; 0x19e0d - TX_FAR _UnnamedText_19e0d - db $50 -; 0x19e0d + 5 bytes - -UnnamedText_19e12: ; 0x19e12 - TX_FAR _UnnamedText_19e12 - db $50 -; 0x19e12 + 5 bytes - -UnnamedText_19e17: ; 0x19e17 - TX_FAR _UnnamedText_19e17 - db $50 -; 0x19e17 + 5 bytes - -SilphCo4Text4: ; 0x19e1c - db $08 ; asm - ld hl, TrainerHeader_19dc6 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_19e26: ; 0x19e26 - TX_FAR _UnnamedText_19e26 - db $50 -; 0x19e26 + 5 bytes - -UnnamedText_19e2b: ; 0x19e2b - TX_FAR _UnnamedText_19e2b - db $50 -; 0x19e2b + 5 bytes - -UnnamedText_19e30: ; 0x19e30 - TX_FAR _UnnamedText_19e30 - db $50 -; 0x19e30 + 5 bytes - -SilphCo4Object: ; 0x19e35 (size=111) - db $2e ; border tile - - db $7 ; warps - db $0, $18, $1, SILPH_CO_3F - db $0, $1a, $1, SILPH_CO_5F - db $0, $14, $0, SILPH_CO_ELEVATOR - db $7, $b, $3, SILPH_CO_10F - db $3, $11, $3, SILPH_CO_6F - db $f, $3, $4, SILPH_CO_10F - db $b, $11, $5, SILPH_CO_10F - - db $0 ; signs - - db $7 ; people - db SPRITE_LAPRAS_GIVER, $2 + 4, $6 + 4, $ff, $ff, $1 ; person - db SPRITE_ROCKET, $e + 4, $9 + 4, $ff, $d3, $42, ROCKET + $C8, $1a ; trainer - db SPRITE_OAK_AIDE, $6 + 4, $e + 4, $ff, $d2, $43, SCIENTIST + $C8, $5 ; trainer - db SPRITE_ROCKET, $a + 4, $1a + 4, $ff, $d1, $44, ROCKET + $C8, $1b ; trainer - db SPRITE_BALL, $9 + 4, $3 + 4, $ff, $ff, $85, FULL_HEAL ; item - db SPRITE_BALL, $7 + 4, $4 + 4, $ff, $ff, $86, MAX_REVIVE ; item - db SPRITE_BALL, $8 + 4, $5 + 4, $ff, $ff, $87, ESCAPE_ROPE ; item - - ; warp-to - EVENT_DISP $f, $0, $18 ; SILPH_CO_3F - EVENT_DISP $f, $0, $1a ; SILPH_CO_5F - EVENT_DISP $f, $0, $14 ; SILPH_CO_ELEVATOR - EVENT_DISP $f, $7, $b ; SILPH_CO_10F - EVENT_DISP $f, $3, $11 ; SILPH_CO_6F - EVENT_DISP $f, $f, $3 ; SILPH_CO_10F - EVENT_DISP $f, $b, $11 ; SILPH_CO_10F - -SilphCo4Blocks: ; 0x19ea4 135 - INCBIN "maps/silphco4.blk" - -SilphCo5_h: ; 0x19f2b to 0x19f37 (12 bytes) (bank=6) (id=210) - db $16 ; tileset - db SILPH_CO_5F_HEIGHT, SILPH_CO_5F_WIDTH ; dimensions (y, x) - dw SilphCo5Blocks, SilphCo5Texts, SilphCo5Script ; blocks, texts, scripts - db $00 ; connections - - dw SilphCo5Object ; objects - -SilphCo5Script: ; 0x19f37 - call Unnamed_19f4d - call $3c3c - ld hl, SilphCo5TrainerHeaders - ld de, $5fb6 - ld a, [$d646] - call $3160 - ld [$d646], a - ret -; 0x19f4d - -Unnamed_19f4d: ; 0x19f4d -INCBIN "baserom.gbc",$19f4d,$6f - -SilphCo5Texts: ; 0x19fbc - dw SilphCo5Text1, SilphCo5Text2, SilphCo5Text3, SilphCo5Text4, SilphCo5Text5, SilphCo5Text6, SilphCo5Text7, SilphCo5Text8, SilphCo5Text9, SilphCo5Text10, SilphCo5Text11 - -SilphCo5TrainerHeaders: -TrainerHeader_19fd2: ; 0x19fd2 - db $2 ; flag's bit - db ($1 << 4) ; trainer's view range - dw $d82b ; flag's byte - dw UnnamedText_1a024 ; 0x6024 TextBeforeBattle - dw UnnamedText_1a02e ; 0x602e TextAfterBattle - dw UnnamedText_1a029 ; 0x6029 TextEndBattle - dw UnnamedText_1a029 ; 0x6029 TextEndBattle -; 0x19fde - -TrainerHeader_19fde: ; 0x19fde - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d82b ; flag's byte - dw UnnamedText_1a03d ; 0x603d TextBeforeBattle - dw UnnamedText_1a047 ; 0x6047 TextAfterBattle - dw UnnamedText_1a042 ; 0x6042 TextEndBattle - dw UnnamedText_1a042 ; 0x6042 TextEndBattle -; 0x19fea - -TrainerHeader_19fea: ; 0x19fea - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d82b ; flag's byte - dw UnnamedText_1a056 ; 0x6056 TextBeforeBattle - dw UnnamedText_1a060 ; 0x6060 TextAfterBattle - dw UnnamedText_1a05b ; 0x605b TextEndBattle - dw UnnamedText_1a05b ; 0x605b TextEndBattle -; 0x19ff4 - -TrainerHeader_19ff6: ; 0x19ff6 - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d82b ; flag's byte - dw UnnamedText_1a06f ; 0x606f TextBeforeBattle - dw UnnamedText_1a079 ; 0x6079 TextAfterBattle - dw UnnamedText_1a074 ; 0x6074 TextEndBattle - dw UnnamedText_1a074 ; 0x6074 TextEndBattle -; 0x1a002 - -db $ff - -SilphCo5Text1: ; 0x1a003 - db $08 ; asm - ld hl, $6010 - ld de, $6015 - call $622f - jp TextScriptEnd - -UnnamedText_1a010: ; 0x1a010 - TX_FAR _UnnamedText_1a010 - db $50 -; 0x1a010 + 5 bytes - -UnnamedText_1a015: ; 0x1a015 - TX_FAR _UnnamedText_1a015 - db $50 -; 0x1a015 + 5 bytes - -SilphCo5Text2: ; 0x1a01a - db $08 ; asm - ld hl, TrainerHeader_19fd2 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_1a024: ; 0x1a024 - TX_FAR _UnnamedText_1a024 - db $50 -; 0x1a024 + 5 bytes - -UnnamedText_1a029: ; 0x1a029 - TX_FAR _UnnamedText_1a029 - db $50 -; 0x1a029 + 5 bytes - -UnnamedText_1a02e: ; 0x1a02e - TX_FAR _UnnamedText_1a02e - db $50 -; 0x1a02e + 5 bytes - -SilphCo5Text3: ; 0x1a033 - db $08 ; asm - ld hl, TrainerHeader_19fde - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_1a03d: ; 0x1a03d - TX_FAR _UnnamedText_1a03d - db $50 -; 0x1a03d + 5 bytes - -UnnamedText_1a042: ; 0x1a042 - TX_FAR _UnnamedText_1a042 - db $50 -; 0x1a042 + 5 bytes - -UnnamedText_1a047: ; 0x1a047 - TX_FAR _UnnamedText_1a047 - db $50 -; 0x1a047 + 5 bytes - -SilphCo5Text4: ; 0x1a04c - db $08 ; asm - ld hl, TrainerHeader_19fea - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_1a056: ; 0x1a056 - TX_FAR _UnnamedText_1a056 - db $50 -; 0x1a056 + 5 bytes - -UnnamedText_1a05b: ; 0x1a05b - TX_FAR _UnnamedText_1a05b - db $50 -; 0x1a05b + 5 bytes - -UnnamedText_1a060: ; 0x1a060 - TX_FAR _UnnamedText_1a060 - db $50 -; 0x1a060 + 5 bytes - -SilphCo5Text5: ; 0x1a065 - db $08 ; asm - ld hl, TrainerHeader_19ff6 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_1a06f: ; 0x1a06f - TX_FAR _UnnamedText_1a06f - db $50 -; 0x1a06f + 5 bytes - -UnnamedText_1a074: ; 0x1a074 - TX_FAR _UnnamedText_1a074 - db $50 -; 0x1a074 + 5 bytes - -UnnamedText_1a079: ; 0x1a079 - TX_FAR _UnnamedText_1a079 - db $50 -; 0x1a079 + 5 bytes - -SilphCo5Text9: ; 0x1a07e - TX_FAR _SilphCo5Text9 - db $50 - -SilphCo5Text10: ; 0x1a083 - TX_FAR _SilphCo5Text10 - db $50 - -SilphCo5Text11: ; 0x1a088 - TX_FAR _SilphCo5Text11 - db $50 - -SilphCo5Object: ; 0x1a08d (size=137) - db $2e ; border tile - - db $7 ; warps - db $0, $18, $1, SILPH_CO_6F - db $0, $1a, $1, SILPH_CO_4F - db $0, $14, $0, SILPH_CO_ELEVATOR - db $3, $1b, $5, SILPH_CO_7F - db $f, $9, $4, SILPH_CO_9F - db $5, $b, $4, SILPH_CO_3F - db $f, $3, $5, SILPH_CO_3F - - db $0 ; signs - - db $b ; people - db SPRITE_LAPRAS_GIVER, $9 + 4, $d + 4, $ff, $ff, $1 ; person - db SPRITE_ROCKET, $10 + 4, $8 + 4, $ff, $d3, $42, ROCKET + $C8, $1c ; trainer - db SPRITE_OAK_AIDE, $3 + 4, $8 + 4, $ff, $d3, $43, SCIENTIST + $C8, $6 ; trainer - db SPRITE_ROCKER, $a + 4, $12 + 4, $ff, $d1, $44, JUGGLER + $C8, $1 ; trainer - db SPRITE_ROCKET, $4 + 4, $1c + 4, $ff, $d1, $45, ROCKET + $C8, $1d ; trainer - db SPRITE_BALL, $d + 4, $2 + 4, $ff, $ff, $86, TM_09 ; item - db SPRITE_BALL, $6 + 4, $4 + 4, $ff, $ff, $87, PROTEIN ; item - db SPRITE_BALL, $10 + 4, $15 + 4, $ff, $ff, $88, CARD_KEY ; item - db SPRITE_CLIPBOARD, $c + 4, $16 + 4, $ff, $ff, $9 ; person - db SPRITE_CLIPBOARD, $a + 4, $19 + 4, $ff, $ff, $a ; person - db SPRITE_CLIPBOARD, $6 + 4, $18 + 4, $ff, $ff, $b ; person - - ; warp-to - EVENT_DISP $f, $0, $18 ; SILPH_CO_6F - EVENT_DISP $f, $0, $1a ; SILPH_CO_4F - EVENT_DISP $f, $0, $14 ; SILPH_CO_ELEVATOR - EVENT_DISP $f, $3, $1b ; SILPH_CO_7F - EVENT_DISP $f, $f, $9 ; SILPH_CO_9F - EVENT_DISP $f, $5, $b ; SILPH_CO_3F - EVENT_DISP $f, $f, $3 ; SILPH_CO_3F - -SilphCo5Blocks: ; 0x1a116 135 - INCBIN "maps/silphco5.blk" - -SilphCo6_h: ; 0x1a19d to 0x1a1a9 (12 bytes) (bank=6) (id=211) - db $16 ; tileset - db SILPH_CO_6F_HEIGHT, SILPH_CO_6F_WIDTH ; dimensions (y, x) - dw SilphCo6Blocks, SilphCo6Texts, SilphCo6Script ; blocks, texts, scripts - db $00 ; connections - - dw SilphCo6Object ; objects - -SilphCo6Script: ; 0x1a1a9 - call Unnamed_1a1bf - call $3c3c - ld hl, SilphCo6TrainerHeaders - ld de, $61f0 - ld a, [$d647] - call $3160 - ld [$d647], a - ret -; 0x1a1bf - -Unnamed_1a1bf: ; 0x1a1bf -INCBIN "baserom.gbc",$1a1bf,$37 - -SilphCo6Texts: ; 0x1a1f6 - dw SilphCo6Text1, SilphCo6Text2, SilphCo6Text3, SilphCo6Text4, SilphCo6Text5, SilphCo6Text6, SilphCo6Text7, SilphCo6Text8, SilphCo6Text9, SilphCo6Text10 - -SilphCo6TrainerHeaders: -TrainerHeader_1a20a: ; 0x1a20a - db $6 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d82d ; flag's byte - dw UnnamedText_1a2ba ; 0x62ba TextBeforeBattle - dw UnnamedText_1a2c4 ; 0x62c4 TextAfterBattle - dw UnnamedText_1a2bf ; 0x62bf TextEndBattle - dw UnnamedText_1a2bf ; 0x62bf TextEndBattle -; 0x1a216 - -TrainerHeader_1a216: ; 0x1a216 - db $7 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d82d ; flag's byte - dw UnnamedText_1a2d3 ; 0x62d3 TextBeforeBattle - dw UnnamedText_1a2dd ; 0x62dd TextAfterBattle - dw UnnamedText_1a2d8 ; 0x62d8 TextEndBattle - dw UnnamedText_1a2d8 ; 0x62d8 TextEndBattle -; 0x1a222 - -TrainerHeader_1a222: ; 0x1a222 - db $8 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d82d ; flag's byte - dw UnnamedText_1a2ec ; 0x62ec TextBeforeBattle - dw UnnamedText_1a2f6 ; 0x62f6 TextAfterBattle - dw UnnamedText_1a2f1 ; 0x62f1 TextEndBattle - dw UnnamedText_1a2f1 ; 0x62f1 TextEndBattle -; 0x1a22e - -db $ff - -Unnamed_622f: ; 0x1a22f -INCBIN "baserom.gbc",$1a22f,$1a23d - $1a22f - -SilphCo6Text1: ; 0x1a23d - db $08 ; asm - ld hl, UnnamedText_1a24a - ld de, UnnamedText_1a24f - call Unnamed_622f - jp TextScriptEnd - -UnnamedText_1a24a: ; 0x1a24a - TX_FAR _UnnamedText_1a24a - db $50 -; 0x1a24a + 5 bytes - -UnnamedText_1a24f: ; 0x1a24f - TX_FAR _UnnamedText_1a24f - db $50 -; 0x1a24f + 5 bytes - -SilphCo6Text2: ; 0x1a254 - db $08 ; asm - ld hl, UnnamedText_1a261 - ld de, UnnamedText_1a266 - call Unnamed_622f - jp TextScriptEnd - -UnnamedText_1a261: ; 0x1a261 - TX_FAR _UnnamedText_1a261 - db $50 -; 0x1a261 + 5 bytes - -UnnamedText_1a266: ; 0x1a266 - TX_FAR _UnnamedText_1a266 - db $50 -; 0x1a266 + 5 bytes - -SilphCo6Text3: ; 0x1a26b - db $08 ; asm - ld hl, UnnamedText_1a278 - ld de, UnnamedText_1a27d - call Unnamed_622f - jp TextScriptEnd - -UnnamedText_1a278: ; 0x1a278 - TX_FAR _UnnamedText_1a278 - db $50 -; 0x1a278 + 5 bytes - -UnnamedText_1a27d: ; 0x1a27d - TX_FAR _UnnamedText_1a27d - db $50 -; 0x1a27d + 5 bytes - -SilphCo6Text4: ; 0x1a282 - db $08 ; asm - ld hl, UnnamedText_1a28f - ld de, UnnamedText_1a294 - call Unnamed_622f - jp TextScriptEnd - -UnnamedText_1a28f: ; 0x1a28f - TX_FAR _UnnamedText_1a28f - db $50 -; 0x1a28f + 5 bytes - -UnnamedText_1a294: ; 0x1a294 - TX_FAR _UnnamedText_1a294 - db $50 -; 0x1a294 + 5 bytes - -SilphCo6Text5: ; 0x1a299 - db $08 ; asm - ld hl, UnnamedText_1a2a6 - ld de, UnnamedText_1a2ab - call Unnamed_622f - jp TextScriptEnd - -UnnamedText_1a2a6: ; 0x1a2a6 - TX_FAR _UnnamedText_1a2a6 - db $50 -; 0x1a2a6 + 5 bytes - -UnnamedText_1a2ab: ; 0x1a2ab - TX_FAR _UnnamedText_1a2ab - db $50 -; 0x1a2ab + 5 bytes - -SilphCo6Text6: ; 0x1a2b0 - db $08 ; asm - ld hl, TrainerHeader_1a20a - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_1a2ba: ; 0x1a2ba - TX_FAR _UnnamedText_1a2ba - db $50 -; 0x1a2ba + 5 bytes - -UnnamedText_1a2bf: ; 0x1a2bf - TX_FAR _UnnamedText_1a2bf - db $50 -; 0x1a2bf + 5 bytes - -UnnamedText_1a2c4: ; 0x1a2c4 - TX_FAR _UnnamedText_1a2c4 - db $50 -; 0x1a2c4 + 5 bytes - -SilphCo6Text7: ; 0x1a2c9 - db $08 ; asm - ld hl, TrainerHeader_1a216 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_1a2d3: ; 0x1a2d3 - TX_FAR _UnnamedText_1a2d3 - db $50 -; 0x1a2d3 + 5 bytes - -UnnamedText_1a2d8: ; 0x1a2d8 - TX_FAR _UnnamedText_1a2d8 - db $50 -; 0x1a2d8 + 5 bytes - -UnnamedText_1a2dd: ; 0x1a2dd - TX_FAR _UnnamedText_1a2dd - db $50 -; 0x1a2dd + 5 bytes - -SilphCo6Text8: ; 0x1a2e2 - db $08 ; asm - ld hl, TrainerHeader_1a222 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_1a2ec: ; 0x1a2ec - TX_FAR _UnnamedText_1a2ec - db $50 -; 0x1a2ec + 5 bytes - -UnnamedText_1a2f1: ; 0x1a2f1 - TX_FAR _UnnamedText_1a2f1 - db $50 -; 0x1a2f1 + 5 bytes - -UnnamedText_1a2f6: ; 0x1a2f6 - TX_FAR _UnnamedText_1a2f6 - db $50 -; 0x1a2f6 + 5 bytes - -SilphCo6Object: ; 0x1a2fb (size=112) - db $2e ; border tile - - db $5 ; warps - db $0, $10, $1, SILPH_CO_7F - db $0, $e, $0, SILPH_CO_5F - db $0, $12, $0, SILPH_CO_ELEVATOR - db $3, $3, $4, SILPH_CO_4F - db $3, $17, $6, SILPH_CO_2F - - db $0 ; signs - - db $a ; people - db SPRITE_LAPRAS_GIVER, $6 + 4, $a + 4, $ff, $ff, $1 ; person - db SPRITE_LAPRAS_GIVER, $6 + 4, $14 + 4, $ff, $ff, $2 ; person - db SPRITE_ERIKA, $6 + 4, $15 + 4, $ff, $d0, $3 ; person - db SPRITE_ERIKA, $a + 4, $b + 4, $ff, $d3, $4 ; person - db SPRITE_LAPRAS_GIVER, $d + 4, $12 + 4, $ff, $d1, $5 ; person - db SPRITE_ROCKET, $3 + 4, $11 + 4, $ff, $d3, $46, ROCKET + $C8, $1e ; trainer - db SPRITE_OAK_AIDE, $8 + 4, $7 + 4, $ff, $d0, $47, SCIENTIST + $C8, $7 ; trainer - db SPRITE_ROCKET, $f + 4, $e + 4, $ff, $d2, $48, ROCKET + $C8, $1f ; trainer - db SPRITE_BALL, $c + 4, $3 + 4, $ff, $ff, $89, HP_UP ; item - db SPRITE_BALL, $f + 4, $2 + 4, $ff, $ff, $8a, X_ACCURACY ; item - - ; warp-to - EVENT_DISP $d, $0, $10 ; SILPH_CO_7F - EVENT_DISP $d, $0, $e ; SILPH_CO_5F - EVENT_DISP $d, $0, $12 ; SILPH_CO_ELEVATOR - EVENT_DISP $d, $3, $3 ; SILPH_CO_4F - EVENT_DISP $d, $3, $17 ; SILPH_CO_2F - -SilphCo6Blocks: ; 0x1a36b 117 - INCBIN "maps/silphco6.blk" - -INCBIN "baserom.gbc",$1a3e0,$1c20 - -SECTION "bank7",DATA,BANK[$7] - -CinnabarIsland_h: ; 0x1c000 to 0x1c022 (34 bytes) (bank=7) (id=8) - db $00 ; tileset - db CINNABAR_ISLAND_HEIGHT, CINNABAR_ISLAND_WIDTH ; dimensions (y, x) - dw CinnabarIslandBlocks, CinnabarIslandTexts, CinnabarIslandScript ; blocks, texts, scripts - db NORTH | EAST ; connections - - ; connections data - - db ROUTE_21 - dw Route21Blocks + (ROUTE_21_HEIGHT - 3) * ROUTE_21_WIDTH ; connection strip location - dw $C6EB + 0 ; current map position - db ROUTE_21_WIDTH, ROUTE_21_WIDTH ; bigness, width - db (ROUTE_21_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x) - dw $C6E9 + ROUTE_21_HEIGHT * (ROUTE_21_WIDTH + 6) ; window - - db ROUTE_20 - dw Route20Blocks + (ROUTE_20_WIDTH * 0) ; connection strip location - dw $C6E5 + (CINNABAR_ISLAND_WIDTH + 6) * (0 + 4) ; current map position - db ROUTE_20_HEIGHT, ROUTE_20_WIDTH ; bigness, width - db (0 * -2), 0 ; alignments (y, x) - dw $C6EF + ROUTE_20_WIDTH ; window - - ; end connections data - - dw CinnabarIslandObject ; objects - -CinnabarIslandObject: ; 0x1c022 (size=71) - db $43 ; border tile - - db $5 ; warps - db $3, $6, $1, MANSION_1 - db $3, $12, $0, CINNABAR_GYM - db $9, $6, $0, CINNABAR_LAB_1 - db $b, $b, $0, CINNABAR_POKECENTER - db $b, $f, $0, CINNABAR_MART - - db $5 ; signs - db $5, $9, $3 ; CinnabarIslandText3 - db $b, $10, $4 ; CinnabarIslandText4 - db $b, $c, $5 ; CinnabarIslandText5 - db $b, $9, $6 ; CinnabarIslandText6 - db $3, $d, $7 ; CinnabarIslandText7 - - db $2 ; people - db SPRITE_GIRL, $5 + 4, $c + 4, $fe, $2, $1 ; person - db SPRITE_GAMBLER, $6 + 4, $e + 4, $ff, $ff, $2 ; person - - ; warp-to - EVENT_DISP $a, $3, $6 ; MANSION_1 - EVENT_DISP $a, $3, $12 ; CINNABAR_GYM - EVENT_DISP $a, $9, $6 ; CINNABAR_LAB_1 - EVENT_DISP $a, $b, $b ; CINNABAR_POKECENTER - EVENT_DISP $a, $b, $f ; CINNABAR_MART - -CinnabarIslandBlocks: ; 0x1c069 90 - INCBIN "maps/cinnabarisland.blk" - -Route1_h: ; 0x1c0c3 to 0x1c0e5 (34 bytes) (bank=7) (id=12) - db $00 ; tileset - db ROUTE_1_HEIGHT, ROUTE_1_WIDTH ; dimensions (y, x) - dw Route1Blocks, Route1Texts, Route1Script ; blocks, texts, scripts - db NORTH | SOUTH ; connections - - ; connections data - - db VIRIDIAN_CITY - dw ViridianCityBlocks + (VIRIDIAN_CITY_HEIGHT - 3) * VIRIDIAN_CITY_WIDTH + 2, $c6e8 ; pointers (connected, current) (strip) - db $10, $14 ; bigness, width - db $23, $0a ; alignments (y, x) - dw $c8bd ; window - - db PALLET_TOWN - dw PalletTownBlocks, $c83b ; pointers (connected, current) (strip) - db $0a, $0a ; bigness, width - db $00, $00 ; alignments (y, x) - dw $c6f9 ; window - - ; end connections data - - dw Route1Object ; objects - -Route1Object: ; 0x1c0e5 (size=19) - db $b ; border tile - - db $0 ; warps - - db $1 ; signs - db $1b, $9, $3 ; Route1Text3 - - db $2 ; people - db SPRITE_BUG_CATCHER, $18 + 4, $5 + 4, $fe, $1, $1 ; person - db SPRITE_BUG_CATCHER, $d + 4, $f + 4, $fe, $2, $2 ; person - -; XXX what is this? -Unknown_1c0f8: ; 0x1c0f8 - db $12, $c7, $7, $2 - -Route1Blocks: ; 0x1c0fc 180 - INCBIN "maps/route1.blk" - -UndergroundPathEntranceRoute8Blocks: ; 0x1c1b0 16 - INCBIN "maps/undergroundpathentranceroute8.blk" - -OaksLabBlocks: ; 0x1c1c0 30 - INCBIN "maps/oakslab.blk" - -Route16HouseBlocks: -Route2HouseBlocks: -SaffronHouse1Blocks: -SaffronHouse2Blocks: -VermilionHouse1Blocks: -NameRaterBlocks: -LavenderHouse1Blocks: -LavenderHouse2Blocks: -CeruleanHouse2Blocks: -PewterHouse1Blocks: -PewterHouse2Blocks: -ViridianHouseBlocks: ; 0x1c1de 41DE size=16 - INCBIN "maps/viridianhouse.blk" - -CeladonMansion5Blocks: -SchoolBlocks: ; 0x1c1ee 41EE size=16 - INCBIN "maps/school.blk" - -CeruleanHouseTrashedBlocks: ; 0x1c1fe size=16 - INCBIN "maps/ceruleanhousetrashed.blk" - -DiglettsCaveEntranceRoute11Blocks: -DiglettsCaveRoute2Blocks: ; 0x1c20e size=16 - INCBIN "maps/diglettscaveroute2.blk" - -MonsterNames: ; 421E - db "RHYDON@@@@" - db "KANGASKHAN" - db "NIDORAN♂@@" - db "CLEFAIRY@@" - db "SPEAROW@@@" - db "VOLTORB@@@" - db "NIDOKING@@" - db "SLOWBRO@@@" - db "IVYSAUR@@@" - db "EXEGGUTOR@" - db "LICKITUNG@" - db "EXEGGCUTE@" - db "GRIMER@@@@" - db "GENGAR@@@@" - db "NIDORAN♀@@" - 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 "MISSINGNO." - db "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 "MISSINGNO." - db "MAGMAR@@@@" - db "MISSINGNO." - db "ELECTABUZZ" - db "MAGNETON@@" - db "KOFFING@@@" - db "MISSINGNO." - db "MANKEY@@@@" - db "SEEL@@@@@@" - db "DIGLETT@@@" - db "TAUROS@@@@" - db "MISSINGNO." - db "MISSINGNO." - db "MISSINGNO." - db "FARFETCH'D" - db "VENONAT@@@" - db "DRAGONITE@" - db "MISSINGNO." - db "MISSINGNO." - db "MISSINGNO." - db "DODUO@@@@@" - db "POLIWAG@@@" - db "JYNX@@@@@@" - db "MOLTRES@@@" - db "ARTICUNO@@" - db "ZAPDOS@@@@" - db "DITTO@@@@@" - db "MEOWTH@@@@" - db "KRABBY@@@@" - db "MISSINGNO." - db "MISSINGNO." - db "MISSINGNO." - db "VULPIX@@@@" - db "NINETALES@" - db "PIKACHU@@@" - db "RAICHU@@@@" - db "MISSINGNO." - db "MISSINGNO." - db "DRATINI@@@" - db "DRAGONAIR@" - db "KABUTO@@@@" - db "KABUTOPS@@" - db "HORSEA@@@@" - db "SEADRA@@@@" - db "MISSINGNO." - db "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 "MISSINGNO." - db "DODRIO@@@@" - db "PRIMEAPE@@" - db "DUGTRIO@@@" - db "VENOMOTH@@" - db "DEWGONG@@@" - db "MISSINGNO." - db "MISSINGNO." - db "CATERPIE@@" - db "METAPOD@@@" - db "BUTTERFREE" - db "MACHAMP@@@" - db "MISSINGNO." - db "GOLDUCK@@@" - db "HYPNO@@@@@" - db "GOLBAT@@@@" - db "MEWTWO@@@@" - db "SNORLAX@@@" - db "MAGIKARP@@" - db "MISSINGNO." - db "MISSINGNO." - db "MUK@@@@@@@" - db "MISSINGNO." - db "KINGLER@@@" - db "CLOYSTER@@" - db "MISSINGNO." - db "ELECTRODE@" - db "CLEFABLE@@" - db "WEEZING@@@" - db "PERSIAN@@@" - db "MAROWAK@@@" - db "MISSINGNO." - db "HAUNTER@@@" - db "ABRA@@@@@@" - db "ALAKAZAM@@" - db "PIDGEOTTO@" - db "PIDGEOT@@@" - db "STARMIE@@@" - db "BULBASAUR@" - db "VENUSAUR@@" - db "TENTACRUEL" - db "MISSINGNO." - db "GOLDEEN@@@" - db "SEAKING@@@" - db "MISSINGNO." - db "MISSINGNO." - db "MISSINGNO." - db "MISSINGNO." - db "PONYTA@@@@" - db "RAPIDASH@@" - db "RATTATA@@@" - db "RATICATE@@" - db "NIDORINO@@" - db "NIDORINA@@" - db "GEODUDE@@@" - db "PORYGON@@@" - db "AERODACTYL" - db "MISSINGNO." - db "MAGNEMITE@" - db "MISSINGNO." - db "MISSINGNO." - db "CHARMANDER" - db "SQUIRTLE@@" - db "CHARMELEON" - db "WARTORTLE@" - db "CHARIZARD@" - db "MISSINGNO." - db "MISSINGNO." - db "MISSINGNO." - db "MISSINGNO." - db "ODDISH@@@@" - db "GLOOM@@@@@" - db "VILEPLUME@" - db "BELLSPROUT" - db "WEEPINBELL" - db "VICTREEBEL" - -INCBIN "baserom.gbc",$1c98a,$1c9c1 - $1c98a - -UnnamedText_1c9c1: ; 0x1c9c1 - TX_FAR _UnnamedText_1c9c1 - db $50 -; 0x1c9c1 + 5 bytes - -INCBIN "baserom.gbc",$1c9c6,$1ca14 - $1c9c6 - -UnnamedText_1ca14: ; 0x1ca14 - TX_FAR _UnnamedText_1ca14 - db $50 -; 0x1ca14 + 5 bytes - -CinnabarIslandScript: ; 0x1ca19 - call $3c3c - ld hl, $d126 - set 5, [hl] - ld hl, $d796 - res 0, [hl] - ld hl, $d7a3 - res 1, [hl] - ld hl, CinnabarIslandScripts - ld a, [$d639] - jp $3d97 -; 0x1ca34 - -CinnabarIslandScripts: ; 0x1ca34 - dw CinnabarIslandScript0, CinnabarIslandScript1 - -CinnabarIslandScript0: ; 0x1ca38 - ld b, $2b - call $3493 - ret nz - ld a, [$d361] - cp $4 - ret nz - ld a, [$d362] - cp $12 - ret nz - ld a, $8 - ld [$d528], a - ld a, $8 - ld [$ff00+$8c], a - call $2920 - xor a - ld [$ff00+$b4], a - ld a, $1 - ld [$cd38], a - ld a, $80 - ld [$ccd3], a - call $3486 - xor a - ld [$c109], a - ld [$cd6b], a - ld a, $1 - ld [$d639], a - ret -; 0x1ca73 - -CinnabarIslandScript1: ; 0x1ca73 - ld a, [$cd38] - and a - ret nz - call Delay3 - ld a, $0 - ld [$d639], a - ret -; 0x1ca81 - -CinnabarIslandTexts: ; 0x1ca81 - dw CinnabarIslandText1, CinnabarIslandText2, CinnabarIslandText3, CinnabarIslandText4, CinnabarIslandText5, CinnabarIslandText6, CinnabarIslandText7, CinnabarIslandText8 - -CinnabarIslandText8: ; 0x1ca91 - TX_FAR _CinnabarIslandText8 - db $50 -; 0x1ca91 + 5 bytes - -CinnabarIslandText1: ; 0x1ca96 - TX_FAR _CinnabarIslandText1 - db $50 - -CinnabarIslandText2: ; 0x1ca9b - TX_FAR _CinnabarIslandText2 - db $50 - -CinnabarIslandText3: ; 0x1caa0 - TX_FAR _CinnabarIslandText3 - db $50 - -CinnabarIslandText6: ; 0x1caa5 - TX_FAR _CinnabarIslandText6 - db $50 - -CinnabarIslandText7: ; 0x1caaa - TX_FAR _CinnabarIslandText7 - db $50 - -Route1Script: ; 0x1caaf - jp $3c3c -; 0x1cab2 - -Route1Texts: ; 0x1cab2 - dw Route1Text1, Route1Text2, Route1Text3 - -Route1Text1: ; 0x1cab8 - db $08 ; asm - ld hl, $d7bf - bit 0, [hl] - set 0, [hl] - jr nz, .asm_02840 ; 0x1cac0 - ld hl, Route1ViridianMartSampleText - call PrintText - ld bc, (POTION << 8) | 1 - call GiveItem - jr nc, .asm_a630e ; 0x1cace - ld hl, $4ae8 - jr .asm_46d43 ; 0x1cad3 -.asm_a630e ; 0x1cad5 - ld hl, $4af3 - jr .asm_46d43 ; 0x1cad8 -.asm_02840 ; 0x1cada - ld hl, $4aee -.asm_46d43 ; 0x1cadd - call PrintText - jp TextScriptEnd - -Route1ViridianMartSampleText: ; 0x1cae3 - TX_FAR _Route1ViridianMartSampleText - db $50 -; 0x1cae3 + 5 bytes - -INCBIN "baserom.gbc",$1cae8,$1caee - $1cae8 - -UnnamedText_1caee: ; 0x1caee - TX_FAR _UnnamedText_1caee - db $50 -; 0x1caee + 5 bytes - -UnnamedText_1caf3: ; 0x1caf3 - TX_FAR _UnnamedText_1caf3 - db $50 -; 0x1caf3 + 5 bytes - -Route1Text2: ; 0x1caf8 - TX_FAR _Route1Text2 - db $50 - -Route1Text3: ; 0x1cafd - TX_FAR _Route1Text3 - db $50 - -OaksLab_h: ; 0x1cb02 to 0x1cb0e (12 bytes) (bank=7) (id=40) - db $05 ; tileset - db OAKS_LAB_HEIGHT, OAKS_LAB_WIDTH ; dimensions (y, x) - dw OaksLabBlocks, OaksLabTexts, OaksLabScript ; blocks, texts, scripts - db $00 ; connections - - dw OaksLabObject ; objects - -OaksLabScript: ; 0x1cb0e - ld a, [$d74b] - bit 6, a - call nz, $5076 - ld a, $1 - ld [$cf0c], a - xor a - ld [$cc3c], a - ld hl, OaksLabScripts - ld a, [W_OAKSLABCURSCRIPT] - jp $3d97 -; 0x1cb28 - -OaksLabScripts: ; 0x1cb28 - dw OaksLabScript0, OaksLabScript1, OaksLabScript2, OaksLabScript3, OaksLabScript4, OaksLabScript5, OaksLabScript6, OaksLabScript7, OaksLabScript8, OaksLabScript9, OaksLabScript10, OaksLabScript11, OaksLabScript12, OaksLabScript13, OaksLabScript14, OaksLabScript15, OaksLabScript16, OaksLabScript17, OaksLabScript18 - -OaksLabScript0: ; 0x1cb4e - ld a, [$d74b] - bit 7, a - ret z - ld a, [$cf10] - and a - ret nz - ld a, $31 - ld [$cc4d], a - ld a, $15 - call Predef - ld hl, $d72e - res 4, [hl] - - ld a, $1 - ld [W_OAKSLABCURSCRIPT], a - ret -; 0x1cb6e - -OaksLabScript1: ; 0x1cb6e - ld a, $8 - ld [$ff00+$8c], a - ld de, OakEntryMovement - call MoveSprite - - ld a, $2 - ld [W_OAKSLABCURSCRIPT], a - ret -; 0x1cb7e - -OakEntryMovement: ; 0x1cb7e - db $40, $40, $40, $ff - -OaksLabScript2: ; 0x1cb82 - ld a, [$d730] - bit 0, a - ret nz - ld a, $31 - ld [$cc4d], a - ld a, $11 - call Predef - ld a, $2e - ld [$cc4d], a - ld a, $15 - call Predef - - ld a, $3 - ld [W_OAKSLABCURSCRIPT], a - ret -; 0x1cba2 - -OaksLabScript3: ; 0x1cba2 - call Delay3 - ld hl, $ccd3 - ld de, PlayerEntryMovementRLE - call $350c - dec a - ld [$cd38], a - call $3486 - ld a, $1 - ld [$ff00+$8c], a - xor a - ld [$ff00+$8d], a - call $34a6 ; face object - ld a, $5 - ld [$ff00+$8c], a - xor a - ld [$ff00+$8d], a - call $34a6 ; face object - - ld a, $4 - ld [W_OAKSLABCURSCRIPT], a - ret -; 0x1cbcf - -PlayerEntryMovementRLE: ; 0x1cbcf - db $40, $8, $ff - -OaksLabScript4: ; 0x1cbd2 - ld a, [$cd38] - and a - ret nz - ld hl, $d747 - set 0, [hl] - ld hl, $d74b - set 0, [hl] - ld a, $1 - ld [$ff00+$8c], a - ld a, $4 - ld [$ff00+$8d], a - call $34a6 ; face object - call $2429 - ld hl, $d733 - res 1, [hl] - call $2307 - - ld a, $5 - ld [W_OAKSLABCURSCRIPT], a - ret -; 0x1cbfd - -OaksLabScript5: ; 0x1cbfd - ld a, $fc - ld [$cd6b], a - ld a, $11 - ld [$ff00+$8c], a - call $2920 - call Delay3 - ld a, $12 - ld [$ff00+$8c], a - call $2920 - call Delay3 - ld a, $13 - ld [$ff00+$8c], a - call $2920 - call Delay3 - ld a, $14 - ld [$ff00+$8c], a - call $2920 - ld hl, $d74b - set 1, [hl] - xor a - ld [$cd6b], a - - ld a, $6 - ld [W_OAKSLABCURSCRIPT], a - ret -; 0x1cc36 - -OaksLabScript6: ; 0x1cc36 - ld a, [W_YCOORD] - cp $6 - ret nz - ld a, $5 - ld [$ff00+$8c], a - xor a - ld [$ff00+$8d], a - call $34a6 ; face object - ld a, $1 - ld [$ff00+$8c], a - xor a - ld [$ff00+$8d], a - call $34a6 ; face object - call $2429 - ld a, $c - ld [$ff00+$8c], a - call $2920 - ld a, $1 - ld [$cd38], a - ld a, $40 - ld [$ccd3], a - call $3486 - ld a, $8 - ld [$d528], a - - ld a, $7 - ld [W_OAKSLABCURSCRIPT], a - ret -; 0x1cc72 - -OaksLabScript7: ; 0x1cc72 - ld a, [$cd38] - and a - ret nz - call Delay3 - - ld a, $6 - ld [W_OAKSLABCURSCRIPT], a - ret -; 0x1cc80 - -OaksLabScript8: ; 0x1cc80 - ld a, [W_PLAYERSTARTER] - cp CHARMANDER - jr z, .Charmander\@ ; 0x1cc85 $6 - cp SQUIRTLE - jr z, .Squirtle\@ ; 0x1cc89 $1d - jr .Bulbasaur\@ ; 0x1cc8b $38 -.Charmander\@ - ld de, .MiddleBallMovement1 - ld a, [W_YCOORD] - cp $4 ; is the player standing below the table? - jr z, .asm_1ccf3 ; 0x1cc95 $5c - ld de, .MiddleBallMovement2 - jr .asm_1ccf3 ; 0x1cc9a $57 - -.MiddleBallMovement1 - db 0,0,$C0,$C0,$C0,$40,$FF -.MiddleBallMovement2 - db 0,$C0,$C0,$C0,$FF - -.Squirtle\@ - ld de, .RightBallMovement1 - ld a, [W_YCOORD] - cp $4 ; is the player standing below the table? - jr z, .asm_1ccf3 ; 0x1ccb0 $41 - ld de, .RightBallMovement2 - jr .asm_1ccf3 ; 0x1ccb5 $3c - -.RightBallMovement1 - db 0,0,$C0,$C0,$C0,$C0,$40,$FF -.RightBallMovement2 - db 0,$C0,$C0,$C0,$C0,$FF - -.Bulbasaur\@ - ld de, .LeftBallMovement1 - ld a, [W_XCOORD] - cp $9 ; is the player standing to the right of the table? - jr nz, .asm_1ccf3 ; 0x1cccd $24 - push hl - ld a, $1 - ld [$ff00+$8c], a - ld a, $4 - ld [$ff00+$8b], a - call $34fc - push hl - ld [hl], $4c - inc hl - inc hl - ld [hl], $0 - pop hl - inc h - ld [hl], $8 - inc hl - ld [hl], $9 - ld de, .LeftBallMovement2 ; the rival is not currently onscreen, so account for that - pop hl - jr .asm_1ccf3 ; 0x1cced $4 - -.LeftBallMovement1 - db 0,$C0 ; not yet terminated! -.LeftBallMovement2 - db $C0,$FF - -.asm_1ccf3 - ld a, $1 - ld [$ff00+$8c], a - call MoveSprite - - ld a, $9 - ld [W_OAKSLABCURSCRIPT], a - ret -; 0x1cd00 - -OaksLabScript9: ; 0x1cd00 - ld a, [$d730] - bit 0, a - ret nz - ld a, $fc - ld [$cd6b], a - ld a, $1 - ld [$ff00+$8c], a - ld a, $4 - ld [$ff00+$8d], a - call $34a6 ; face object - ld a, $d - ld [$ff00+$8c], a - call $2920 - ld a, [$cd3e] - cp $2 - jr nz, .asm_1cd28 ; 0x1cd22 $4 - ld a, $2b - jr .asm_1cd32 ; 0x1cd26 $a -.asm_1cd28 - cp $3 - jr nz, .asm_1cd30 ; 0x1cd2a $4 - ld a, $2c - jr .asm_1cd32 ; 0x1cd2e $2 -.asm_1cd30 - ld a, $2d -.asm_1cd32 - ld [$cc4d], a - ld a, $11 - call Predef - call Delay3 - ld a, [$cd3d] - ld [W_RIVALSTARTER], a - ld [$cf91], a - ld [$d11e], a - call GetMonName - ld a, $1 - ld [$ff00+$8c], a - ld a, $4 - ld [$ff00+$8d], a - call $34a6 ; face object - ld a, $e - ld [$ff00+$8c], a - call $2920 - ld hl, $d74b - set 2, [hl] - xor a - ld [$cd6b], a - - ld a, $a - ld [W_OAKSLABCURSCRIPT], a - ret -; 0x1cd6d - -OaksLabScript10: ; 0x1cd6d - ld a, [W_YCOORD] - cp $6 - ret nz - ld a, $1 - ld [$ff00+$8c], a - xor a - ld [$ff00+$8d], a - call $34a6 ; face object - ld a, $8 - ld [$d528], a - ld c, $2 - ld a, $de - call $23a1 ; play music - ld a, $f - ld [$ff00+$8c], a - call $2920 - ld a, $1 - ld [$ff00+$9b], a - ld a, $1 - swap a - ld [$ff00+$95], a - ld a, $22 - call Predef - ld a, [$ff00+$95] - dec a - ld [$ff00+$95], a - ld a, $20 - call Predef - ld de, $cc97 - ld a, $1 - ld [$ff00+$8c], a - call MoveSprite - - ld a, $b - ld [W_OAKSLABCURSCRIPT], a - ret -; 0x1cdb9 - -OaksLabScript11: ; 0x1cdb9 - ld a, [$d730] - bit 0, a - ret nz - - ; define which team rival uses, and fight it - ld a, SONY1 + 200 - ld [W_CUROPPONENT], a - ld a, [W_RIVALSTARTER] - cp SQUIRTLE - jr nz, .NotSquirtle\@ ; 0x1cdc9 $4 - ld a, $1 - jr .done\@ ; 0x1cdcd $a -.NotSquirtle\@ - cp BULBASAUR - jr nz, .Charmander\@ ; 0x1cdd1 $4 - ld a, $2 - jr .done\@ ; 0x1cdd5 $2 -.Charmander\@ - ld a, $3 -.done\@ - ld [W_TRAINERNO], a - ld a, $1 - ld [$cf13], a - call $32ef - ld hl, $53be - ld de, $53c3 - call $3354 - ld hl, $d72d - set 6, [hl] - set 7, [hl] - xor a - ld [$cd6b], a - ld a, $8 - ld [$d528], a - - ld a, $c - ld [W_OAKSLABCURSCRIPT], a - ret -; 0x1ce03 - -OaksLabScript12: ; 0x1ce03 - ld a, $f0 - ld [$cd6b], a - ld a, $8 - ld [$d528], a - call $2429 - ld a, $1 - ld [$cf13], a - call $32f9 - ld a, $1 - ld [$ff00+$8c], a - xor a - ld [$ff00+$8d], a - call $34a6 ; face object - ld a, $7 - call Predef - ld hl, $d74b - set 3, [hl] - - ld a, $d - ld [W_OAKSLABCURSCRIPT], a - ret -; 0x1ce32 - -OaksLabScript13: ; 0x1ce32 - ld c, $14 - call $3739 - ld a, $10 - ld [$ff00+$8c], a - call $2920 - ld b, $2 - ld hl, $5b47 - call Bankswitch - ld a, $1 - ld [$ff00+$8c], a - ld de, .RivalExitMovement - call MoveSprite - ld a, [W_XCOORD] - cp $4 - ; move left or right depending on where the player is standing - jr nz, .asm_1ce5b ; 0x1ce55 $4 - ld a, $c0 - jr .asm_1ce5d ; 0x1ce59 $2 -.asm_1ce5b - ld a, $80 -.asm_1ce5d - ld [$cc5b], a - - ld a, $e - ld [W_OAKSLABCURSCRIPT], a - ret -; 0x1ce66 - -.RivalExitMovement - db $E0,0,0,0,0,0,$FF - -OaksLabScript14: ; 0x1ce6d - ld a, [$d730] - bit 0, a - jr nz, .asm_1ce8c ; 0x1ce72 $18 - ld a, $2a - ld [$cc4d], a - ld a, $11 - call Predef - xor a - ld [$cd6b], a - call $2307 ; reset to map music - ld a, $12 - ld [W_OAKSLABCURSCRIPT], a - jr .done\@ ; 0x1ce8a $23 -.asm_1ce8c - ld a, [$cf0f] - cp $5 - jr nz, .asm_1cea8 ; 0x1ce91 $15 - ld a, [$d362] - cp $4 - jr nz, .asm_1cea1 ; 0x1ce98 $7 - ld a, $c - ld [$c109], a - jr .done\@ ; 0x1ce9f $e -.asm_1cea1 - ld a, $8 - ld [$c109], a - jr .done\@ ; 0x1cea6 $7 -.asm_1cea8 - cp $4 - ret nz - xor a - ld [$c109], a -.done\@ - ret -; 0x1ceb0 - -OaksLabScript15: ; 0x1ceb0 - xor a - ld [$ff00+$b4], a - call $3c3c - ld a, $ff - ld [$c0ee], a - call $23b1 - ld b, $2 - ld hl, $5b47 - call Bankswitch - ld a, $15 - ld [$ff00+$8c], a - call $2920 - call $502b - ld a, $2a - ld [$cc4d], a - ld a, $15 - call Predef - ld a, [$cd37] - ld [$d157], a - ld b, $0 - ld c, a - ld hl, $cc97 - ld a, $40 - call $36e0 - ld [hl], $ff - ld a, $1 - ld [$ff00+$8c], a - ld de, $cc97 - call MoveSprite - - ld a, $10 - ld [W_OAKSLABCURSCRIPT], a - ret -; 0x1cefd - -Function1CEFD ; 0x1cefd - ld a, $1 - ld [$ff00+$8c], a - ld a, $4 - ld [$ff00+$8d], a - call $34a6 ; face object - ld a, $8 - ld [$ff00+$8c], a - xor a - ld [$ff00+$8d], a - jp $34a6 ; face object -; 0x1cf12 - -OaksLabScript16: ; 0x1cf12 - ld a, [$d730] - bit 0, a - ret nz - call $3c3c - call $2307 - ld a, $fc - ld [$cd6b], a - call Function1CEFD - ld a, $16 - ld [$ff00+$8c], a - call $2920 - call DelayFrame - call Function1CEFD - ld a, $17 - ld [$ff00+$8c], a - call $2920 - call DelayFrame - call Function1CEFD - ld a, $18 - ld [$ff00+$8c], a - call $2920 - call DelayFrame - ld a, $19 - ld [$ff00+$8c], a - call $2920 - call Delay3 - ld a, $2f - ld [$cc4d], a - ld a, $11 - call Predef - ld a, $30 - ld [$cc4d], a - ld a, $11 - call Predef - call Function1CEFD - ld a, $1a - ld [$ff00+$8c], a - call $2920 - ld a, $1 - ld [$ff00+$8c], a - ld a, $c - ld [$ff00+$8d], a - call $34a6 ; face object - call Delay3 - ld a, $1b - ld [$ff00+$8c], a - call $2920 - ld hl, $d74b - set 5, [hl] - ld hl, $d74e - set 0, [hl] - ld a, $1 - ld [$cc4d], a - ld a, $11 - call Predef - ld a, $2 - ld [$cc4d], a - ld a, $15 - call Predef - ld a, [$d157] - ld b, $0 - ld c, a - ld hl, $cc97 - xor a - call $36e0 - ld [hl], $ff - ld a, $ff - ld [$c0ee], a - call $23b1 - ld b, $2 - ld hl, $5b47 - call Bankswitch - ld a, $1 - ld [$ff00+$8c], a - ld de, $cc97 - call MoveSprite - - ld a, $11 - ld [W_OAKSLABCURSCRIPT], a - ret -; 0x1cfd4 - -OaksLabScript17: ; 0x1cfd4 - ld a, [$d730] - bit 0, a - ret nz - call $2307 - ld a, $2a - ld [$cc4d], a - ld a, $11 - call Predef - ld hl, $d7eb - set 0, [hl] - res 1, [hl] - set 7, [hl] - ld a, $22 - ld [$cc4d], a - ld a, $15 - call Predef - ld a, $5 - ld [$d5f1], a - xor a - ld [$cd6b], a - - ld a, $12 - ld [W_OAKSLABCURSCRIPT], a - ret -; 0x1d009 - -OaksLabScript18: ; 0x1d009 - ret -; 0x1d00a - -Function1D00A: ; 0x1d00a - ld hl, W_BAGITEM01 - ld bc, $0000 -.asm_1d010 - ld a, [hli] - cp $ff - ret z - cp OAKS_PARCEL - jr z, .GotParcel ; 0x1d016 $4 - inc hl - inc c - jr .asm_1d010 ; 0x1d01a $f4 -.GotParcel - ld hl, $d31d - ld a, c - ld [$cf92], a - ld a, $1 - ld [$cf96], a - jp $2bbb -; 0x1d02b - - -INCBIN "baserom.gbc",$1d02b,$1d082-$1d02b - -OaksLabTexts: ; 0x1d082 - dw OaksLabText1, OaksLabText2, OaksLabText3, OaksLabText4, OaksLabText5, OaksLabText6, OaksLabText7, OaksLabText8, OaksLabText9, OaksLabText10, OaksLabText11, OaksLabText12, OaksLabText13, OaksLabText14, OaksLabText15, OaksLabText16, OaksLabText17, OaksLabText18, OaksLabText19, OaksLabText20, OaksLabText21, OaksLabText22, OaksLabText23, OaksLabText24, OaksLabText25, OaksLabText26, OaksLabText27, OaksLabText28, OaksLabText29, OaksLabText30, OaksLabText31, OaksLabText32, OaksLabText33, OaksLabText34, OaksLabText35, OaksLabText36, OaksLabText37, OaksLabText38 - -OaksLabText28: -OaksLabText1: ; 0x1d0ce - db $08 ; asm - ld a, [$d74b] - bit 0, a - jr nz, .asm_1d0de ; 0x1d0d4 - ld hl, OaksLabGaryText1 - call PrintText - jr .asm_1d0f0 ; 0x1d0dc -.asm_1d0de ; 0x1d0de - bit 2, a - jr nz, .asm_1d0ea ; 0x1d0e0 - ld hl, OaksLabText40 - call PrintText - jr .asm_1d0f0 ; 0x1d0e8 -.asm_1d0ea ; 0x1d0ea - ld hl, OaksLabText41 - call PrintText -.asm_1d0f0 ; 0x1d0f0 - jp TextScriptEnd - -OaksLabGaryText1: ; 0x1d0f3 - TX_FAR _OaksLabGaryText1 - db $50 -; 0x1d0f8 - -OaksLabText40: ; 0x1d0f8 - TX_FAR _OaksLabText40 - db $50 -; 0x1d0f8 + 5 bytes - -OaksLabText41: ; 0x1d0fd - TX_FAR _OaksLabText41 - db $50 -; 0x1d0fd + 5 bytes - -OaksLabText29: -OaksLabText2: ; 0x1d102 - db $8 - ld a, $b1 - ld [$cd3d], a - ld a, $3 - ld [$cd3e], a - ld a, $b0 - ld b, $2 - jr asm_1d133 ; 0x1d111 $20 - -OaksLabText30: -OaksLabText3: ; 0x1d113 - db $8 - ld a, $99 - ld [$cd3d], a - ld a, $4 - ld [$cd3e], a - ld a, $b1 - ld b, $3 - jr asm_1d133 ; 0x1d122 $f - -OaksLabText31: -OaksLabText4: ; 0x1d124 - db $8 - ld a, $b0 - ld [$cd3d], a - ld a, $2 - ld [$cd3e], a - ld a, $99 - ld b, $4 - -asm_1d133: ; 0x1d133 - ld [$cf91], a - ld [$d11e], a - ld a, b - ld [$cf13], a - ld a, [$d74b] - bit 2, a - jp nz, $522d - bit 1, a - jr nz, asm_1d157 ; 0x1d147 $e - ld hl, OaksLabText39 - call PrintText - jp TextScriptEnd -; 0x1d152 - -OaksLabText39: ; 0x1d152 - TX_FAR _OaksLabText39 - db $50 - -asm_1d157: ; 0x1d157 - ld a, $5 - ld [$ff00+$8c], a - ld a, $9 - ld [$ff00+$8b], a - call $34fc - ld [hl], $0 - ; manually fixed some disassembler issues around here - ld a, $1 - ld [$FF8c], a - ld a, $9 - ld [$ff00+$8b], a - call $34fc - ld [hl], $c - ld hl, $d730 - set 6, [hl] - ld a, $46 - call Predef - ld hl, $d730 - res 6, [hl] - call $3071 - ld c, $a - call $3739 - ld a, [$cf13] - cp $2 - jr z, OaksLabLookAtCharmander - cp $3 - jr z, OaksLabLookAtSquirtle - jr OaksLabLookAtBulbasaur - -OaksLabLookAtCharmander ; 0x1d195 - ld hl, OaksLabCharmanderText - jr OaksLabMonChoiceMenu -OaksLabCharmanderText: ; 0x1d19a - TX_FAR _OaksLabCharmanderText ; 0x94e06 - db $50 -; 0x1d19f - -OaksLabLookAtSquirtle: ; 0x1d19f - ld hl, OaksLabSquirtleText - jr OaksLabMonChoiceMenu -OaksLabSquirtleText: ; 0x1d1a4 - TX_FAR _OaksLabSquirtleText ; 0x94e2f - db $50 -; 0x1d1a9 - -OaksLabLookAtBulbasaur: ; 0x1d1a9 - ld hl, OaksLabBulbasaurText - jr OaksLabMonChoiceMenu -OaksLabBulbasaurText: ; 0x1d1ae - TX_FAR _OaksLabBulbasaurText ; 0x94e57 - db $50 -; 0x1d1b3 - -OaksLabMonChoiceMenu: ; 0x1d1b3 - call PrintText - ld a, $1 - ld [$cc3c], a - call $35ec ; yes/no menu - ld a, [$cc26] - and a - jr nz, OaksLabMonChoiceEnd - ld a, [$cf91] - ld [$d717], a - ld [$d11e], a - call GetMonName - ld a, [$cf13] - cp $2 - jr nz, asm_1d1db ; 0x1d1d5 $4 - ld a, $2b - jr asm_1d1e5 ; 0x1d1d9 $a -asm_1d1db: ; 0x1d1db - cp $3 - jr nz, asm_1d1e3 ; 0x1d1dd $4 - ld a, $2c - jr asm_1d1e5 ; 0x1d1e1 $2 -asm_1d1e3: ; 0x1d1e3 - ld a, $2d -asm_1d1e5: ; 0x1d1e5 - ld [$cc4d], a - ld a, $11 - call Predef - ld a, $1 - ld [$cc3c], a - ld hl, OaksLabMonEnergeticText - call PrintText - ld hl, OaksLabReceivedMonText - call PrintText - xor a - ld [$cc49], a - ld a, $5 - ld [$d127], a - ld a, [$cf91] - ld [$d11e], a - call AddPokemonToParty - ld hl, $d72e - set 3, [hl] - ld a, $fc - ld [$cd6b], a - ld a, $8 - ld [W_OAKSLABCURSCRIPT], a -OaksLabMonChoiceEnd: ; 0x1d21f - jp TextScriptEnd -; 0x1d222 - -OaksLabMonEnergeticText: ; 0x1d222 - TX_FAR _OaksLabMonEnergeticText - db $50 -; 0x1d222 + 5 bytes - -OaksLabReceivedMonText: ; 0x1d227 - TX_FAR _OaksLabReceivedMonText ; 0x94ea0 - db $11, $50 -; 0x1d22d - -INCBIN "baserom.gbc",$1d22d,$1d243 - $1d22d - -OaksLabLastMonText: ; 0x1d243 - TX_FAR _OaksLabLastMonText - db $50 -; 0x1d248 - -OaksLabText32: -OaksLabText5: ; 0x1d248 - db $08 ; asm - ld a, [$d747] - bit 6, a - jr nz, .asm_50e81 ; 0x1d24e - ld hl, $d2f7 - ld b, $13 - call $2b7f - ld a, [$d11e] - cp $2 - jr c, .asm_b28b0 ; 0x1d25d - ld a, [$d74b] - bit 5, a - jr z, .asm_b28b0 ; 0x1d264 -.asm_50e81 ; 0x1d266 - ld hl, UnnamedText_1d31d - call PrintText - ld a, $1 - ld [$cc3c], a - ld a, $56 - call Predef - jp $52ed -.asm_b28b0 ; 0x1d279 - ld b,POKE_BALL - call $3493 - jr nz, .asm_17c30 ; 0x1d27e - ld a, [$d7eb] - bit 5, a - jr nz, .asm_f1adc ; 0x1d285 - ld a, [$d74b] - bit 5, a - jr nz, .asm_333a2 ; 0x1d28c - bit 3, a - jr nz, .asm_76269 ; 0x1d290 - ld a, [$d72e] - bit 3, a - jr nz, .asm_4a5e0 ; 0x1d297 - ld hl, UnnamedText_1d2f0 - call PrintText - jr .asm_0f042 ; 0x1d29f -.asm_4a5e0 ; 0x1d2a1 - ld hl, UnnamedText_1d2f5 - call PrintText - jr .asm_0f042 ; 0x1d2a7 -.asm_76269 ; 0x1d2a9 - ld b, OAKS_PARCEL - call $3493 - jr nz, .asm_a8fcf ; 0x1d2ae - ld hl, UnnamedText_1d2fa - call PrintText - jr .asm_0f042 ; 0x1d2b6 -.asm_a8fcf ; 0x1d2b8 - ld hl, OaksLabDeliverParcelText - call PrintText - call $500a - ld a, $f - ld [W_OAKSLABCURSCRIPT], a - jr .asm_0f042 ; 0x1d2c6 -.asm_333a2 ; 0x1d2c8 - ld hl, OaksLabAroundWorldText - call PrintText - jr .asm_0f042 ; 0x1d2ce -.asm_f1adc ; 0x1d2d0 - ld hl, $d74b - bit 4, [hl] - set 4, [hl] - jr nz, .asm_17c30 ; 0x1d2d7 - ld bc, (POKE_BALL << 8) | 5 - call GiveItem - ld hl, OaksLabGivePokeballsText - call PrintText - jr .asm_0f042 ; 0x1d2e5 -.asm_17c30 ; 0x1d2e7 - ld hl, OaksLabPleaseVisitText - call PrintText -.asm_0f042 ; 0x1d2ed - jp TextScriptEnd -; 0x1d2f0 - -UnnamedText_1d2f0: ; 0x1d2f0 - TX_FAR _UnnamedText_1d2f0 - db $50 -; 0x1d2f5 - -UnnamedText_1d2f5: ; 0x1d2f5 - TX_FAR _UnnamedText_1d2f5 - db $50 -; 0x1d2fa - -UnnamedText_1d2fa: ; 0x1d2fa - TX_FAR _UnnamedText_1d2fa - db $50 -; 0x1d2ff - -OaksLabDeliverParcelText: ; 0x1d2ff - TX_FAR _OaksLabDeliverParcelText1 ; 0x94f69 - db $11 - TX_FAR _OaksLabDeliverParcelText2 - db $50 -; 0x1d309 - -OaksLabAroundWorldText: ; 0x1d309 - TX_FAR _OaksLabAroundWorldText - db $50 -; 0x1d30e - -OaksLabGivePokeballsText: ; 0x1d30e - TX_FAR _OaksLabGivePokeballsText1 ; 0x9506d - db $11 - TX_FAR _OaksLabGivePokeballsText2 - db $50 -; 0x1d318 - -OaksLabPleaseVisitText: ; 0x1d318 - TX_FAR _OaksLabPleaseVisitText - db $50 -; 0x1d318 + 5 bytes - -UnnamedText_1d31d: ; 0x1d31d - TX_FAR _UnnamedText_1d31d - db $50 -; 0x1d31d + 5 bytes - -OaksLabText34: -OaksLabText33: -OaksLabText7: ; 0x1d322 -OaksLabText6: ; 0x1d322 - db $08 ; asm - ld hl, UnnamedText_1d32c - call PrintText - jp TextScriptEnd - -UnnamedText_1d32c: ; 0x1d32c - TX_FAR _UnnamedText_1d32c - db $50 -; 0x1d32c + 5 bytes - -OaksLabText35: -OaksLabText8: ; 0x1d331 - TX_FAR _OaksLabText8 - db $50 - -OaksLabText36: -OaksLabText9: ; 0x1d336 - db $08 ; asm - ld hl, UnnamedText_1d340 - call PrintText - jp TextScriptEnd - -UnnamedText_1d340: ; 0x1d340 - TX_FAR _UnnamedText_1d340 - db $50 -; 0x1d340 + 5 bytes - -OaksLabText17: ; 0x1d345 - db $8 - ld hl, OaksLabRivalWaitingText - call PrintText - jp TextScriptEnd -; 0x1d34f - -OaksLabRivalWaitingText: ; 0x1d34f - TX_FAR _OaksLabRivalWaitingText - db $50 -; 0x1d34f + 5 bytes - -OaksLabText18: ; 0x1d354 - db $8 - ld hl, OaksLabChooseMonText - call PrintText - jp TextScriptEnd -; 0x1d35e - -OaksLabChooseMonText: ; 0x1d35e - TX_FAR _OaksLabChooseMonText - db $50 -; 0x1d35e + 5 bytes - -OaksLabText19: ; 0x1d363 - db $8 - ld hl, OaksLabRivalInterjectionText - call PrintText - jp TextScriptEnd -; 0x1d36d - -OaksLabRivalInterjectionText: ; 0x1d36d - TX_FAR _OaksLabRivalInterjectionText - db $50 -; 0x1d36d + 5 bytes - -OaksLabText20: ; 0x1d372 - db $8 - ld hl, OaksLabBePatientText - call PrintText - jp TextScriptEnd -; 0x1d37c - -OaksLabBePatientText: ; 0x1d37c - TX_FAR _OaksLabBePatientText - db $50 -; 0x1d37c + 5 bytes - -OaksLabText12: ; 0x1d381 - db $8 - ld hl, OaksLabLeavingText - call PrintText - jp TextScriptEnd -; 0x1d38b - -OaksLabLeavingText: ; 0x1d38b - TX_FAR _OaksLabLeavingText - db $50 -; 0x1d38b + 5 bytes - -OaksLabText13: ; 0x1d390 - db $8 - ld hl, OaksLabRivalPickingMonText - call PrintText - jp TextScriptEnd -; 0x1d39a - -OaksLabRivalPickingMonText: ; 0x1d39a - TX_FAR _OaksLabRivalPickingMonText - db $50 -; 0x1d39f - -OaksLabText14: ; 0x1d39f - db $8 - ld hl, OaksLabRivalReceivedMonText - call PrintText - jp TextScriptEnd -; 0x1d3a9 - -OaksLabRivalReceivedMonText: ; 0x1d3a9 - TX_FAR _OaksLabRivalReceivedMonText ; 0x95461 - db $11, $50 -; 0x1d3af - -OaksLabText15: ; 0x1d3af - db $8 - ld hl, OaksLabRivalChallengeText - call PrintText - jp TextScriptEnd -; 0x1d3b9 - -OaksLabRivalChallengeText: ; 0x1d3b9 - TX_FAR _OaksLabRivalChallengeText - db $50 -; 0x1d3be - -UnnamedText_1d3be: ; 0x1d3be - TX_FAR _UnnamedText_1d3be - db $50 -; 0x1d3c3 - -UnnamedText_1d3c3: ; 0x1d3c3 - TX_FAR _UnnamedText_1d3c3 - db $50 -; 0x1d3c8 - -OaksLabText16: ; 0x1d3c8 - db $8 - ld hl, OaksLabRivalToughenUpText - call PrintText - jp TextScriptEnd -; 0x1d3d2 - -OaksLabRivalToughenUpText: ; 0x1d3d2 - TX_FAR _OaksLabRivalToughenUpText - db $50 -; 0x1d3d7 - -OaksLabText21: ; 0x1d3d7 - TX_FAR _OaksLabText21 - db $50 -; 0x1d3dc - -OaksLabText22: ; 0x1d3dc - TX_FAR _OaksLabText22 - db $50 -; 0x1d3e1 - -OaksLabText23: ; 0x1d3e1 - TX_FAR _OaksLabText23 - db $50 -; 0x1d3e6 - -OaksLabText24: ; 0x1d3e6 - TX_FAR _OaksLabText24 - db $50 -; 0x1d3eb - -OaksLabText25: ; 0x1d3eb - TX_FAR _OaksLabText25 - db $11, $50 -; 0x1d3f1 - -OaksLabText26: ; 0x1d3f1 - TX_FAR _OaksLabText26 - db $50 -; 0x1d3f6 - -OaksLabText27: ; 0x1d3f6 - TX_FAR _OaksLabText27 - db $50 -; 0x1d3fb - -OaksLabText38: -OaksLabText37: -OaksLabText11: -OaksLabText10: ; 0x1d3fb - db $08 ; asm - ld hl, UnnamedText_1d405 - call PrintText - jp TextScriptEnd - -UnnamedText_1d405: ; 0x1d405 - TX_FAR _UnnamedText_1d405 - db $50 -; 0x1d405 + 5 bytes - -OaksLabObject: ; 0x1d40a (size=88) - db $3 ; border tile - - db $2 ; warps - db $b, $4, $2, $ff - db $b, $5, $2, $ff - - db $0 ; signs - - db $b ; people - db SPRITE_BLUE, $3 + 4, $4 + 4, $ff, $ff, $41, SONY1 + $C8, $1 ; trainer - db SPRITE_BALL, $3 + 4, $6 + 4, $ff, $ff, $2 ; person - db SPRITE_BALL, $3 + 4, $7 + 4, $ff, $ff, $3 ; person - db SPRITE_BALL, $3 + 4, $8 + 4, $ff, $ff, $4 ; person - db SPRITE_OAK, $2 + 4, $5 + 4, $ff, $d0, $5 ; person - db SPRITE_BOOK_MAP_DEX, $1 + 4, $2 + 4, $ff, $ff, $6 ; person - db SPRITE_BOOK_MAP_DEX, $1 + 4, $3 + 4, $ff, $ff, $7 ; person - db SPRITE_OAK, $a + 4, $5 + 4, $ff, $d1, $8 ; person - db SPRITE_GIRL, $9 + 4, $1 + 4, $fe, $1, $9 ; person - db SPRITE_OAK_AIDE, $a + 4, $2 + 4, $ff, $ff, $a ; person - db SPRITE_OAK_AIDE, $a + 4, $8 + 4, $ff, $ff, $b ; person - - ; warp-to - EVENT_DISP $5, $b, $4 - EVENT_DISP $5, $b, $5 - -ViridianMart_h: ; 0x1d462 to 0x1d46e (12 bytes) (bank=7) (id=42) - db $02 ; tileset - db VIRIDIAN_MART_HEIGHT, VIRIDIAN_MART_WIDTH ; dimensions (y, x) - dw ViridianMartBlocks, ViridianMartTexts, ViridianMartScript ; blocks, texts, scripts - db $00 ; connections - - dw ViridianMartObject ; objects - -ViridianMartScript: ; 0x1d46e - call ViridianMartScript_Unknown1d47d - call $3c3c - ld hl, $5495 - ld a, [$d60d] - jp $3d97 -; 0x1d47d - -ViridianMartScript_Unknown1d47d: ; 0x1d47d -INCBIN "baserom.gbc",$1d47d,$1e - -ViridianMartScript0: ; 0x1d49b - call $2429 - ld a, $4 - ld [$ff00+$8c], a - call $2920 - ld hl, $ccd3 - ld de, $54bb - call $350c - dec a - ld [$cd38], a - call $3486 - ld a, $1 - ld [$d60d], a - ret -; 0x1d4bb - -INCBIN "baserom.gbc",$1d4bb,$1d4c0 - $1d4bb - -ViridianMartScript1: ; 0x1d4c0 - ld a, [$cd38] - and a - ret nz - call Delay3 - ld a, $5 - ld [$ff00+$8c], a - call $2920 - ld bc, $4601 - call GiveItem - ld hl, $d74e - set 1, [hl] - ld a, $2 - ld [$d60d], a - ret -; 0x1d4e0 - -ViridianMartTexts: ; 0x1d4e0 - dw ViridianMartText1, ViridianMartText2, ViridianMartText3 ;, ViridianMartText4 - -INCBIN "baserom.gbc",$1d4e6,$a - -ViridianMartText1: ; 0x1d4f0 - TX_FAR _ViridianMartText1 - db $50 - -UnnamedText_1d4f5: ; 0x1d4f5 - TX_FAR _UnnamedText_1d4f5 - db $50 -; 0x1d4f5 + 5 bytes - -INCBIN "baserom.gbc",$1d4fa,$6 - -ViridianMartText2: ; 0x1d500 - TX_FAR _ViridianMartText2 - db $50 - -ViridianMartText3: ; 0x1d505 - TX_FAR _ViridianMartText3 - db $50 - -ViridianMartObject: ; 0x1d50a (size=38) - db $0 ; border tile - - db $2 ; warps - db $7, $3, $1, $ff - db $7, $4, $1, $ff - - db $0 ; signs - - db $3 ; people - db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person - db SPRITE_BUG_CATCHER, $5 + 4, $5 + 4, $fe, $1, $2 ; person - db SPRITE_BLACK_HAIR_BOY_1, $3 + 4, $3 + 4, $ff, $ff, $3 ; person - - ; warp-to - EVENT_DISP $4, $7, $3 - EVENT_DISP $4, $7, $4 - -ViridianMartBlocks: ; 0x1d530 16 - INCBIN "maps/viridianmart.blk" - -School_h: ; 0x1d540 to 0x1d54c (12 bytes) (bank=7) (id=43) - db $08 ; tileset - db VIRIDIAN_SCHOOL_HEIGHT, VIRIDIAN_SCHOOL_WIDTH ; dimensions (y, x) - dw SchoolBlocks, SchoolTexts, SchoolScript ; blocks, texts, scripts - db $00 ; connections - - dw SchoolObject ; objects - -SchoolScript: ; 0x1d54c - jp $3c3c -; 0x1d54f - -SchoolTexts: ; 0x1d54f - dw SchoolText1, SchoolText2 - -SchoolText1: ; 0x1d553 - TX_FAR _SchoolText1 - db $50 - -SchoolText2: ; 0x1d558 - TX_FAR _SchoolText2 - db $50 - -SchoolObject: ; 0x1d55d (size=32) - db $a ; border tile - - db $2 ; warps - db $7, $2, $2, $ff - db $7, $3, $2, $ff - - db $0 ; signs - - db $2 ; people - db SPRITE_BRUNETTE_GIRL, $5 + 4, $3 + 4, $ff, $d1, $1 ; person - db SPRITE_LASS, $1 + 4, $4 + 4, $ff, $d0, $2 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - -ViridianHouse_h: ; 0x1d57d to 0x1d589 (12 bytes) (bank=7) (id=44) - db $08 ; tileset - db VIRIDIAN_HOUSE_HEIGHT, VIRIDIAN_HOUSE_WIDTH ; dimensions (y, x) - dw ViridianHouseBlocks, ViridianHouseTexts, ViridianHouseScript ; blocks, texts, scripts - db $00 ; connections - - dw ViridianHouseObject ; objects - -INCBIN "baserom.gbc",$1d589,$1d58a - $1d589 - -ViridianHouseScript: ; 0x1d58a - jp $3c3c -; 0x1d58d - -ViridianHouseTexts: ; 0x1d58d - dw ViridianHouseText1, ViridianHouseText2, ViridianHouseText3, ViridianHouseText4 - -ViridianHouseText1: ; 0x1d595 - TX_FAR _ViridianHouseText1 - db $50 - -ViridianHouseText2: ; 0x1d59a - TX_FAR _ViridianHouseText2 - db $50 - -ViridianHouseText3: ; 0x1d59f - db $08 ; asm - ld hl, UnnamedText_1d5b1 - call PrintText - ld a, SPEAROW - call $13d0 - call $3748 - jp TextScriptEnd - -UnnamedText_1d5b1: ; 0x1d5b1 - TX_FAR _UnnamedText_1d5b1 - db $50 -; 0x1d5b1 + 5 bytes - -ViridianHouseText4: ; 0x1d5b6 - TX_FAR _ViridianHouseText4 - db $50 - -ViridianHouseObject: ; 0x1d5bb (size=44) - db $a ; border tile - - db $2 ; warps - db $7, $2, $3, $ff - db $7, $3, $3, $ff - - db $0 ; signs - - db $4 ; people - db SPRITE_BALDING_GUY, $3 + 4, $5 + 4, $ff, $ff, $1 ; person - db SPRITE_LITTLE_GIRL, $4 + 4, $1 + 4, $fe, $1, $2 ; person - db SPRITE_BIRD, $5 + 4, $5 + 4, $fe, $2, $3 ; person - db SPRITE_CLIPBOARD, $0 + 4, $4 + 4, $ff, $ff, $4 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - -PewterHouse1_h: ; 0x1d5e7 to 0x1d5f3 (12 bytes) (bank=7) (id=55) - db $08 ; tileset - db PEWTER_HOUSE_1_HEIGHT, PEWTER_HOUSE_1_WIDTH ; dimensions (y, x) - dw PewterHouse1Blocks, PewterHouse1Texts, PewterHouse1Script ; blocks, texts, scripts - db $00 ; connections - - dw PewterHouse1Object ; objects - -PewterHouse1Script: ; 0x1d5f3 - jp $3c3c -; 0x1d5f6 - -PewterHouse1Texts: ; 0x1d5f6 - dw PewterHouse1Text1, PewterHouse1Text2, PewterHouse1Text3 - -PewterHouse1Text1: ; 0x1d5fc - TX_FAR _PewterHouse1Text1 - db $08 ; asm - ld a, $3 - call $13d0 - call $3748 - jp TextScriptEnd - -PewterHouse1Text2: ; 0x1d60c - TX_FAR _PewterHouse1Text2 - db $50 - -PewterHouse1Text3: ; 0x1d611 - TX_FAR _PewterHouse1Text3 - db $50 - -PewterHouse1Object: ; 0x1d616 (size=38) - db $a ; border tile - - db $2 ; warps - db $7, $2, $3, $ff - db $7, $3, $3, $ff - - db $0 ; signs - - db $3 ; people - db SPRITE_SLOWBRO, $5 + 4, $4 + 4, $ff, $d2, $1 ; person - db SPRITE_YOUNG_BOY, $5 + 4, $3 + 4, $ff, $d3, $2 ; person - db SPRITE_FAT_BALD_GUY, $2 + 4, $1 + 4, $ff, $ff, $3 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - -PewterHouse2_h: ; 0x1d63c to 0x1d648 (12 bytes) (bank=7) (id=57) - db $08 ; tileset - db PEWTER_HOUSE_2_HEIGHT, PEWTER_HOUSE_2_WIDTH ; dimensions (y, x) - dw PewterHouse2Blocks, PewterHouse2Texts, PewterHouse2Script ; blocks, texts, scripts - db $00 ; connections - - dw PewterHouse2Object ; objects - -PewterHouse2Script: ; 0x1d648 - jp $3c3c -; 0x1d64b - -PewterHouse2Texts: ; 0x1d64b - dw PewterHouse2Text1, PewterHouse2Text2 - -PewterHouse2Text1: ; 0x1d64f - TX_FAR _PewterHouse2Text1 - db $50 - -PewterHouse2Text2: ; 0x1d654 - TX_FAR _PewterHouse2Text2 - db $50 - -PewterHouse2Object: ; 0x1d659 (size=32) - db $a ; border tile - - db $2 ; warps - db $7, $2, $5, $ff - db $7, $3, $5, $ff - - db $0 ; signs - - db $2 ; people - db SPRITE_GAMBLER, $3 + 4, $2 + 4, $ff, $d3, $1 ; person - db SPRITE_BUG_CATCHER, $5 + 4, $4 + 4, $ff, $ff, $2 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - -CeruleanHouseTrashed_h: ; 0x1d679 to 0x1d685 (12 bytes) (bank=7) (id=62) - db $08 ; tileset - db TRASHED_HOUSE_HEIGHT, TRASHED_HOUSE_WIDTH ; dimensions (y, x) - dw CeruleanHouseTrashedBlocks, CeruleanHouseTrashedTexts, CeruleanHouseTrashedScript ; blocks, texts, scripts - db $00 ; connections - - dw CeruleanHouseTrashedObject ; objects - -CeruleanHouseTrashedScript: ; 0x1d685 - call $3c3c - ret -; 0x1d689 - -CeruleanHouseTrashedTexts: ; 0x1d689 - dw CeruleanHouseTrashedText1, CeruleanHouseTrashedText2, CeruleanHouseTrashedText3 - -CeruleanHouseTrashedText1: ; 0x1d68f - db $08 ; asm - ld b, $e4 - ld a, $1c - call Predef - and b - jr z, .asm_f8734 ; 0x1d698 - ld hl, UnnamedText_1d6b0 - call PrintText - jr .asm_8dfe9 ; 0x1d6a0 -.asm_f8734 ; 0x1d6a2 - ld hl, UnnamedText_1d6ab - call PrintText -.asm_8dfe9 ; 0x1d6a8 - jp TextScriptEnd - -UnnamedText_1d6ab: ; 0x1d6ab - TX_FAR _UnnamedText_1d6ab - db $50 -; 0x1d6ab + 5 bytes - -UnnamedText_1d6b0: ; 0x1d6b0 - TX_FAR _UnnamedText_1d6b0 - db $50 -; 0x1d6b0 + 5 bytes - -CeruleanHouseTrashedText2: ; 0x1d6b5 - TX_FAR _CeruleanHouseTrashedText2 - db $50 - -CeruleanHouseTrashedText3: ; 0x1d6ba - TX_FAR _CeruleanHouseTrashedText3 - db $50 - -CeruleanHouseTrashedObject: ; 0x1d6bf (size=43) - db $a ; border tile - - db $3 ; warps - db $7, $2, $0, $ff - db $7, $3, $0, $ff - db $0, $3, $7, $ff - - db $1 ; signs - db $0, $3, $3 ; CeruleanHouseTrashedText3 - - db $2 ; people - db SPRITE_FISHER, $1 + 4, $2 + 4, $ff, $d0, $1 ; person - db SPRITE_GIRL, $6 + 4, $5 + 4, $fe, $2, $2 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - EVENT_DISP $4, $0, $3 - -CeruleanHouse2_h: ; 0x1d6ea to 0x1d6f6 (12 bytes) (bank=7) (id=63) - db $08 ; tileset - db CERULEAN_HOUSE_HEIGHT, CERULEAN_HOUSE_WIDTH ; dimensions (y, x) - dw CeruleanHouse2Blocks, CeruleanHouse2Texts, CeruleanHouse2Script ; blocks, texts, scripts - db $00 ; connections - - dw CeruleanHouse2Object ; objects - -CeruleanHouse2Script: ; 0x1d6f6 - jp $3c3c -; 0x1d6f9 - -CeruleanHouse2Texts: ; 0x1d6f9 - dw CeruleanHouse2Text1, CeruleanHouse2Text2 - -CeruleanHouse2Text1: ; 0x1d6fd - TX_FAR _CeruleanHouse2Text1 - db $50 - -CeruleanHouse2Text2: ; 0x1d702 - db $08 ; asm - ld a, $6 - ld [W_WHICHTRADE], a - ld a, $54 - call Predef - jp TextScriptEnd - -CeruleanHouse2Object: ; 0x1d710 (size=32) - db $a ; border tile - - db $2 ; warps - db $7, $2, $1, $ff - db $7, $3, $1, $ff - - db $0 ; signs - - db $2 ; people - db SPRITE_OLD_MEDIUM_WOMAN, $4 + 4, $5 + 4, $ff, $d2, $1 ; person - db SPRITE_GAMBLER, $2 + 4, $1 + 4, $ff, $ff, $2 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - -BikeShop_h: ; 0x1d730 to 0x1d73c (12 bytes) (bank=7) (id=66) - db $15 ; tileset - db BIKE_SHOP_HEIGHT, BIKE_SHOP_WIDTH ; dimensions (y, x) - dw BikeShopBlocks, BikeShopTexts, BikeShopScript ; blocks, texts, scripts - db $00 ; connections - - dw BikeShopObject ; objects - -BikeShopScript: ; 0x1d73c - jp $3c3c -; 0x1d73f - -BikeShopTexts: ; 0x1d73f - dw BikeShopText1, BikeShopText2, BikeShopText3 - -BikeShopText1: ; 0x1d745 - db $08 ; asm - ld a, [$d75f] - bit 0, a - jr z, .asm_260d4 ; 0x1d74b - ld hl, UnnamedText_1d82f - call PrintText - jp $57f5 -.asm_260d4 ; 0x1d756 - ld b, BIKE_VOUCHER - call $3493 - jr z, .asm_41190 ; 0x1d75b - ld hl, UnnamedText_1d81f - call PrintText - ld bc, (BICYCLE << 8) | 1 - call GiveItem - jr nc, .asm_d0d90 ; 0x1d769 - ld a, $2d - ldh [$db], a - ld b, $5 ; BANK(MyFunction) - ld hl, $7f37 ; MyFunction - call Bankswitch - ld hl, $d75f - set 0, [hl] - ld hl, UnnamedText_1d824 - call PrintText - jr .asm_99ef2 ; 0x1d782 -.asm_d0d90 ; 0x1d784 - ld hl, UnnamedText_1d834 - call PrintText - jr .asm_99ef2 ; 0x1d78a -.asm_41190 ; 0x1d78c - ld hl, UnnamedText_1d810 - call PrintText - xor a - ld [$cc26], a - ld [$cc2a], a - ld a, $3 - ld [$cc29], a - ld a, $1 - ld [$cc28], a - ld a, $2 - ld [$cc24], a - ld a, $1 - ld [$cc25], a - ld hl, $d730 - set 6, [hl] - ld hl, $c3a0 - ld b, $4 - ld c, $f - call $1922 - call $2429 - ld hl, $c3ca - ld de, $57f8 - call $1955 - ld hl, $c3e4 - ld de, $5807 - call $1955 - ld hl, UnnamedText_1d815 - call PrintText - call $3abe - bit 1, a - jr nz, .asm_b7579 ; 0x1d7dc - ld hl, $d730 - res 6, [hl] - ld a, [$cc26] - and a - jr nz, .asm_b7579 ; 0x1d7e7 - ld hl, UnnamedText_1d81a - call PrintText -.asm_b7579 ; 0x1d7ef - ld hl, UnnamedText_1d82a - call PrintText -.asm_99ef2 ; 0x1d7f5 - jp TextScriptEnd - -INCBIN "baserom.gbc",$1d7f8,$1d810 - $1d7f8 - -UnnamedText_1d810: ; 0x1d810 - TX_FAR _UnnamedText_1d810 - db $50 -; 0x1d810 + 5 bytes - -UnnamedText_1d815: ; 0x1d815 - TX_FAR _UnnamedText_1d815 - db $50 -; 0x1d815 + 5 bytes - -UnnamedText_1d81a: ; 0x1d81a - TX_FAR _UnnamedText_1d81a - db $50 -; 0x1d81a + 5 bytes - -UnnamedText_1d81f: ; 0x1d81f - TX_FAR _UnnamedText_1d81f - db $50 -; 0x1d81f + 5 bytes - -UnnamedText_1d824: ; 0x1d824 - TX_FAR _UnnamedText_1d824 ; 0x98eb2 - db $11, $50 - -UnnamedText_1d82a: ; 0x1d82a - TX_FAR _UnnamedText_1d82a - db $50 -; 0x1d82a + 5 bytes - -UnnamedText_1d82f: ; 0x1d82f - TX_FAR _UnnamedText_1d82f - db $50 -; 0x1d82f + 5 bytes - -UnnamedText_1d834: ; 0x1d834 - TX_FAR _UnnamedText_1d834 - db $50 -; 0x1d834 + 5 bytes - -BikeShopText2: ; 0x1d839 - db $08 ; asm - ld hl, UnnamedText_1d843 - call PrintText - jp TextScriptEnd - -UnnamedText_1d843: ; 0x1d843 - TX_FAR _UnnamedText_1d843 - db $50 -; 0x1d843 + 5 bytes - -BikeShopText3: ; 0x1d848 - db $08 ; asm - ld a, [$d75f] - bit 0, a - ld hl, UnnamedText_1d861 - jr nz, .asm_34d2d ; 0x1d851 - ld hl, UnnamedText_1d85c -.asm_34d2d ; 0x1d856 - call PrintText - jp TextScriptEnd - -UnnamedText_1d85c: ; 0x1d85c - TX_FAR _UnnamedText_1d85c - db $50 -; 0x1d85c + 5 bytes - -UnnamedText_1d861: ; 0x1d861 - TX_FAR _UnnamedText_1d861 - db $50 -; 0x1d861 + 5 bytes - -BikeShopObject: ; 0x1d866 (size=38) - db $e ; border tile - - db $2 ; warps - db $7, $2, $4, $ff - db $7, $3, $4, $ff - - db $0 ; signs - - db $3 ; people - db SPRITE_BIKE_SHOP_GUY, $2 + 4, $6 + 4, $ff, $ff, $1 ; person - db SPRITE_MOM_GEISHA, $6 + 4, $5 + 4, $fe, $1, $2 ; person - db SPRITE_BUG_CATCHER, $3 + 4, $1 + 4, $ff, $d1, $3 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - -BikeShopBlocks: ; 0x1d88c 16 - INCBIN "maps/bikeshop.blk" - -LavenderHouse1_h: ; 0x1d89c to 0x1d8a8 (12 bytes) (bank=7) (id=149) - db $08 ; tileset - db LAVENDER_HOUSE_1_HEIGHT, LAVENDER_HOUSE_1_WIDTH ; dimensions (y, x) - dw LavenderHouse1Blocks, LavenderHouse1Texts, LavenderHouse1Script ; blocks, texts, scripts - db $00 ; connections - - dw LavenderHouse1Object ; objects - -LavenderHouse1Script: ; 0x1d8a8 - call $3c3c - ret -; 0x1d8ac - -LavenderHouse1Texts: ; 0x1d8ac - dw LavenderHouse1Text1, LavenderHouse1Text2, LavenderHouse1Text3, LavenderHouse1Text4, LavenderHouse1Text5, LavenderHouse1Text6 - -LavenderHouse1Text1: ; 0x1d8b8 - db $08 ; asm - ld a, [$d7e0] - bit 7, a - jr nz, .asm_72e5d ; 0x1d8be - ld hl, UnnamedText_1d8d1 - call PrintText - jr .asm_6957f ; 0x1d8c6 -.asm_72e5d ; 0x1d8c8 - ld hl, UnnamedText_1d8d6 - call PrintText -.asm_6957f ; 0x1d8ce - jp TextScriptEnd - -UnnamedText_1d8d1: ; 0x1d8d1 - TX_FAR _UnnamedText_1d8d1 - db $50 -; 0x1d8d1 + 5 bytes - -UnnamedText_1d8d6: ; 0x1d8d6 - TX_FAR _UnnamedText_1d8d6 - db $50 -; 0x1d8d6 + 5 bytes - -LavenderHouse1Text2: ; 0x1d8db - db $08 ; asm - ld a, [$d7e0] - bit 7, a - jr nz, .asm_06470 ; 0x1d8e1 - ld hl, UnnamedText_1d8f4 - call PrintText - jr .asm_3d208 ; 0x1d8e9 -.asm_06470 ; 0x1d8eb - ld hl, UnnamedText_1d8f9 - call PrintText -.asm_3d208 ; 0x1d8f1 - jp TextScriptEnd - -UnnamedText_1d8f4: ; 0x1d8f4 - TX_FAR _UnnamedText_1d8f4 - db $50 -; 0x1d8f4 + 5 bytes - -UnnamedText_1d8f9: ; 0x1d8f9 - TX_FAR _UnnamedText_1d8f9 - db $50 -; 0x1d8f9 + 5 bytes - -LavenderHouse1Text3: ; 0x1d8fe - TX_FAR _LavenderHouse1Text3 - db $8 - ld a, $2f - call $13d0 - jp TextScriptEnd - -LavenderHouse1Text4: ; 0x1d90b - TX_FAR _LavenderHouse1Text4 - db $8 - ld a, $a7 - call $13d0 - jp TextScriptEnd -; 0x1d918 - -LavenderHouse1Text5: ; 0x1d918 - db $08 ; asm - ld a, [$d76c] - bit 0, a - jr nz, .asm_15ac2 ; 0x1d91e - ld hl, UnnamedText_1d94c - call PrintText - ld bc, (POKE_FLUTE << 8) | 1 - call GiveItem - jr nc, .asm_5ce36 ; 0x1d92c - ld hl, UnnamedText_1d951 - call PrintText - ld hl, $d76c - set 0, [hl] - jr .asm_da749 ; 0x1d939 -.asm_5ce36 ; 0x1d93b - ld hl, UnnamedText_1d95b - call PrintText - jr .asm_da749 ; 0x1d941 -.asm_15ac2 ; 0x1d943 - ld hl, UnnamedText_1d960 - call PrintText -.asm_da749 ; 0x1d949 - jp TextScriptEnd - -UnnamedText_1d94c: ; 0x1d94c - TX_FAR _UnnamedText_1d94c - db $50 -; 0x1d94c + 5 bytes - -UnnamedText_1d951: ; 0x1d951 - TX_FAR _UnnamedText_1d951 ; 0x99ffb - db $11 - TX_FAR _UnnamedText_1d956 ; 0x9a011 - db $50 -; 0x1d95b - -UnnamedText_1d95b: ; 0x1d95b - TX_FAR _UnnamedText_1d95b - db $50 -; 0x1d95b + 5 bytes - -UnnamedText_1d960: ; 0x1d960 - TX_FAR _UnnamedText_1d960 - db $50 -; 0x1d960 + 5 bytes - -LavenderHouse1Text6: ; 0x1d965 - TX_FAR _LavenderHouse1Text6 - db $50 - -LavenderHouse1Object: ; 0x1d96a (size=56) - db $a ; border tile - - db $2 ; warps - db $7, $2, $2, $ff - db $7, $3, $2, $ff - - db $0 ; signs - - db $6 ; people - db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $3 + 4, $ff, $ff, $1 ; person - db SPRITE_LITTLE_GIRL, $3 + 4, $6 + 4, $ff, $d0, $2 ; person - db SPRITE_SLOWBRO, $4 + 4, $6 + 4, $ff, $d1, $3 ; person - db SPRITE_SLOWBRO, $3 + 4, $1 + 4, $ff, $ff, $4 ; person - db SPRITE_MR_FUJI, $1 + 4, $3 + 4, $ff, $ff, $5 ; person - db SPRITE_BOOK_MAP_DEX, $3 + 4, $3 + 4, $ff, $ff, $6 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - -LavenderHouse2_h: ; 0x1d9a2 to 0x1d9ae (12 bytes) (bank=7) (id=151) - db $08 ; tileset - db LAVENDER_HOUSE_2_HEIGHT, LAVENDER_HOUSE_2_WIDTH ; dimensions (y, x) - dw LavenderHouse2Blocks, LavenderHouse2Texts, LavenderHouse2Script ; blocks, texts, scripts - db $00 ; connections - - dw LavenderHouse2Object ; objects - -LavenderHouse2Script: ; 0x1d9ae - call $3c3c - ret -; 0x1d9b2 - -LavenderHouse2Texts: ; 0x1d9b2 - dw LavenderHouse2Text1, LavenderHouse2Text2 - -LavenderHouse2Text1: ; 0x1d9b6 - TX_FAR _LavenderHouse2Text1 - db $8 - ld a, $11 - call $13d0 - jp TextScriptEnd -; 0x1d9c3 - -LavenderHouse2Text2: ; 0x1d9c3 - db $08 ; asm - ld a, [$d7e0] - bit 7, a - jr nz, .asm_65711 ; 0x1d9c9 - ld hl, UnnamedText_1d9dc - call PrintText - jr .asm_64be1 ; 0x1d9d1 -.asm_65711 ; 0x1d9d3 - ld hl, UnnamedText_1d9e1 - call PrintText -.asm_64be1 ; 0x1d9d9 - jp TextScriptEnd - -UnnamedText_1d9dc: ; 0x1d9dc - TX_FAR _UnnamedText_1d9dc - db $50 -; 0x1d9dc + 5 bytes - -UnnamedText_1d9e1: ; 0x1d9e1 - TX_FAR _UnnamedText_1d9e1 - db $50 -; 0x1d9e1 + 5 bytes - -LavenderHouse2Object: ; 0x1d9e6 (size=32) - db $a ; border tile - - db $2 ; warps - db $7, $2, $4, $ff - db $7, $3, $4, $ff - - db $0 ; signs - - db $2 ; people - db SPRITE_SLOWBRO, $5 + 4, $3 + 4, $ff, $d1, $1 ; person - db SPRITE_BRUNETTE_GIRL, $4 + 4, $2 + 4, $ff, $d3, $2 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - -NameRater_h: ; 0x1da06 to 0x1da12 (12 bytes) (bank=7) (id=229) - db $08 ; tileset - db NAME_RATERS_HOUSE_HEIGHT, NAME_RATERS_HOUSE_WIDTH ; dimensions (y, x) - dw NameRaterBlocks, $5a54, NameRaterScript ; blocks, texts, scripts - db $00 ; connections - - dw NameRaterObject ; objects - -NameRaterScript: ; 0x1da12 - jp $3c3c -; 0x1da15 - -INCBIN "baserom.gbc",$1da15,$41 - -NameRaterText1: ; 0x1da56 - db $8 - call $36f4 - ld hl, UnnamedText_1dab3 - call $5a15 - jr nz, .asm_1daae ; 0x1da60 $4c - ld hl, UnnamedText_1dab8 - call PrintText - xor a - ld [$d07d], a - ld [$cfcb], a - ld [$cc35], a - call $13fc - push af - call $3dd4 - call $3dbe - call $20ba - pop af - jr c, .asm_1daae ; 0x1da80 $2c - call $15b4 - call $5a20 - ld hl, UnnamedText_1dad1 - jr c, .asm_1daa8 ; 0x1da8b $1b - ld hl, UnnamedText_1dabd - call $5a15 - jr nz, .asm_1daae ; 0x1da93 $19 - ld hl, UnnamedText_1dac2 - call PrintText - ld b, $1 - ld hl, $655c - call Bankswitch - jr c, .asm_1daae ; 0x1daa3 $9 - ld hl, UnnamedText_1dac7 -.asm_1daa8 - call PrintText - jp TextScriptEnd -.asm_1daae - ld hl, UnnamedText_1dacc - jr .asm_1daa8 ; 0x1dab1 $f5 -; 0x1dab3 - -UnnamedText_1dab3: ; 0x1dab3 - TX_FAR _UnnamedText_1dab3 - db $50 -; 0x1dab3 + 5 bytes - -UnnamedText_1dab8: ; 0x1dab8 - TX_FAR _UnnamedText_1dab8 - db $50 -; 0x1dab8 + 5 bytes - -UnnamedText_1dabd: ; 0x1dabd - TX_FAR _UnnamedText_1dabd - db $50 -; 0x1dabd + 5 bytes - -UnnamedText_1dac2: ; 0x1dac2 - TX_FAR _UnnamedText_1dac2 - db $50 -; 0x1dac2 + 5 bytes - -UnnamedText_1dac7: ; 0x1dac7 - TX_FAR _UnnamedText_1dac7 - db $50 -; 0x1dac7 + 5 bytes - -UnnamedText_1dacc: ; 0x1dacc - TX_FAR _UnnamedText_1dacc - db $50 -; 0x1dacc + 5 bytes - -UnnamedText_1dad1: ; 0x1dad1 - TX_FAR _UnnamedText_1dad1 - db $50 -; 0x1dad1 + 5 bytes - -NameRaterObject: ; 0x1dad6 (size=26) - db $a ; border tile - - db $2 ; warps - db $7, $2, $5, $ff - db $7, $3, $5, $ff - - db $0 ; signs - - db $1 ; people - db SPRITE_MR_MASTERBALL, $3 + 4, $5 + 4, $ff, $d2, $1 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - -VermilionHouse1_h: ; 0x1daf0 to 0x1dafc (12 bytes) (bank=7) (id=93) - db $08 ; tileset - db VERMILION_HOUSE_1_HEIGHT, VERMILION_HOUSE_1_WIDTH ; dimensions (y, x) - dw VermilionHouse1Blocks, VermilionHouse1Texts, VermilionHouse1Script ; blocks, texts, scripts - db $00 ; connections - - dw VermilionHouse1Object ; objects - -VermilionHouse1Script: ; 0x1dafc - call $3c3c - ret -; 0x1db00 - -VermilionHouse1Texts: ; 0x1db00 - dw VermilionHouse1Text1, VermilionHouse1Text2, VermilionHouse1Text3 - -VermilionHouse1Text1: ; 0x1db06 - TX_FAR _VermilionHouse1Text1 - db $50 - -VermilionHouse1Text2: ; 0x1db0b - TX_FAR _VermilionHouse1Text2 - db $08 ; asm - ld a, $24 - call $13d0 - call $3748 - jp TextScriptEnd - -VermilionHouse1Text3: ; 0x1db1b - TX_FAR _VermilionHouse1Text3 - db $50 - -INCBIN "baserom.gbc", $1db1b + 5, $1db20 - ($1db1b + 5) - -VermilionHouse1Object: ; 0x1db20 (size=38) - db $a ; border tile - - db $2 ; warps - db $7, $2, $4, $ff - db $7, $3, $4, $ff - - db $0 ; signs - - db $3 ; people - db SPRITE_BUG_CATCHER, $3 + 4, $5 + 4, $ff, $d2, $1 ; person - db SPRITE_BIRD, $5 + 4, $3 + 4, $fe, $2, $2 ; person - db SPRITE_PAPER_SHEET, $3 + 4, $4 + 4, $ff, $ff, $3 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - -VermilionDock_h: ; 0x1db46 to 0x1db52 (12 bytes) (bank=7) (id=94) - db $0e ; tileset - db VERMILION_DOCK_HEIGHT, VERMILION_DOCK_WIDTH ; dimensions (y, x) - dw VermilionDockBlocks, VermilionDockTexts, VermilionDockScript ; blocks, texts, scripts - db $00 ; connections - - dw VermilionDockObject ; objects - -VermilionDockScript: ; 0x1db52 - call $3c3c - ld hl, $d803 - bit 4, [hl] - jr nz, .asm_1db8d ; 0x1db5a $31 - bit 0, [hl] - ret z - ld a, [$d42f] - cp $1 - ret nz - bit 2, [hl] - jp z, $5b9b - set 4, [hl] - call Delay3 - ld hl, $d730 - set 7, [hl] - ld hl, $ccd3 - ld a, $40 - ld [hli], a - ld [hli], a - ld [hl], a - ld a, $3 - ld [$cd38], a - xor a - ld [$c206], a - ld [$cd3b], a - dec a - ld [$cd6b], a - ret -.asm_1db8d - bit 5, [hl] - ret nz - ld a, [$cd38] - and a - ret nz - ld [$cd6b], a - set 5, [hl] - ret -; 0x1db9b - -INCBIN "baserom.gbc",$1db9b,$1dcbf - $1db9b - -VermilionDockTexts: ; 0x1dcbf -INCBIN "baserom.gbc",$1dcbf,$1dcc1 - $1dcbf - -UnnamedText_1dcc1: ; 0x1dcc1 - TX_FAR _UnnamedText_1dcc1 - db $50 -; 0x1dcc1 + 5 bytes - -VermilionDockObject: ; 0x1dcc6 (size=20) - db $f ; border tile - - db $2 ; warps - db $0, $e, $5, $ff - db $2, $e, $1, SS_ANNE_1 - - db $0 ; signs - - db $0 ; people - - ; warp-to - EVENT_DISP $e, $0, $e - EVENT_DISP $e, $2, $e ; SS_ANNE_1 - -VermilionDockBlocks: ; 0x1dcda 84 - INCBIN "maps/vermiliondock.blk" - -CeladonMansion5_h: ; 0x1dd2e to 0x1dd3a (12 bytes) (bank=7) (id=132) - db $08 ; tileset - db CELADON_MANSION_5_HEIGHT, CELADON_MANSION_5_WIDTH ; dimensions (y, x) - dw CeladonMansion5Blocks, CeladonMansion5Texts, CeladonMansion5Script ; blocks, texts, scripts - db $00 ; connections - - dw CeladonMansion5Object ; objects - -CeladonMansion5Script: ; 0x1dd3a - jp $3c3c -; 0x1dd3d - -CeladonMansion5Texts: ; 0x1dd3d - dw CeladonMansion5Text1, CeladonMansion5Text2 - -CeladonMansion5Text1: ; 0x1dd41 - TX_FAR _CeladonMansion5Text1 - db $50 - -CeladonMansion5Text2: ; 0x1dd46 - db $08 ; asm - ld bc,(EEVEE << 8) | 25 - call GivePokemon - jr nc, .asm_24365 ; 0x1dd4d - ld a, $45 - ld [$cc4d], a - ld a, $11 - call Predef -.asm_24365 ; 0x1dd59 - jp TextScriptEnd - -CeladonMansion5Object: ; 0x1dd5c (size=32) - db $a ; border tile - - db $2 ; warps - db $7, $2, $2, CELADON_MANSION_4 - db $7, $3, $2, CELADON_MANSION_4 - - db $0 ; signs - - db $2 ; people - db SPRITE_HIKER, $2 + 4, $2 + 4, $ff, $d0, $1 ; person - db SPRITE_BALL, $3 + 4, $4 + 4, $ff, $ff, $2 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 ; CELADON_MANSION_4 - EVENT_DISP $4, $7, $3 ; CELADON_MANSION_4 - -FuchsiaMart_h: ; 0x1dd7c to 0x1dd88 (12 bytes) (bank=7) (id=152) - db $02 ; tileset - db FUCHSIA_MART_HEIGHT, FUCHSIA_MART_WIDTH ; dimensions (y, x) - dw FuchsiaMartBlocks, FuchsiaMartTexts, FuchsiaMartScript ; blocks, texts, scripts - db $00 ; connections - - dw FuchsiaMartObject ; objects - -FuchsiaMartScript: ; 0x1dd88 - jp $3c3c -; 0x1dd8b - -FuchsiaMartTexts: ; 0x1dd8b - dw FuchsiaMartText1, FuchsiaMartText2, FuchsiaMartText3 - -FuchsiaMartText2: ; 0x1dd91 - TX_FAR _FuchsiaMartText2 - db $50 - -FuchsiaMartText3: ; 0x1dd96 - TX_FAR _FuchsiaMartText3 - db $50 - -FuchsiaMartObject: ; 0x1dd9b (size=38) - db $0 ; border tile - - db $2 ; warps - db $7, $3, $0, $ff - db $7, $4, $0, $ff - - db $0 ; signs - - db $3 ; people - db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person - db SPRITE_FAT_BALD_GUY, $2 + 4, $4 + 4, $ff, $ff, $2 ; person - db SPRITE_LASS, $5 + 4, $6 + 4, $fe, $1, $3 ; person - - ; warp-to - EVENT_DISP $4, $7, $3 - EVENT_DISP $4, $7, $4 - -FuchsiaMartBlocks: ; 0x1ddc1 16 - INCBIN "maps/fuchsiamart.blk" - -SaffronHouse1_h: ; 0x1ddd1 to 0x1dddd (12 bytes) (bank=7) (id=179) - db $08 ; tileset - db SAFFRON_HOUSE_1_HEIGHT, SAFFRON_HOUSE_1_WIDTH ; dimensions (y, x) - dw SaffronHouse1Blocks, SaffronHouse1Texts, SaffronHouse1Script ; blocks, texts, scripts - db $00 ; connections - - dw SaffronHouse1Object ; objects - -SaffronHouse1Script: ; 0x1dddd - jp $3c3c -; 0x1dde0 - -SaffronHouse1Texts: ; 0x1dde0 - dw SaffronHouse1Text1, SaffronHouse1Text2, SaffronHouse1Text3, SaffronHouse1Text4 - -SaffronHouse1Text1: ; 0x1dde8 - TX_FAR _SaffronHouse1Text1 - db $50 - -SaffronHouse1Text2: ; 0x1dded - TX_FAR _SaffronHouse1Text2 - db $8 - ld a, $24 - call $13d0 - jp TextScriptEnd -; 0x1ddfa - -SaffronHouse1Text3: ; 0x1ddfa - TX_FAR _SaffronHouse1Text3 - db $50 - -SaffronHouse1Text4: ; 0x1ddff - TX_FAR _SaffronHouse1Text4 - db $50 - -SaffronHouse1Object: ; 0x1de04 (size=44) - db $a ; border tile - - db $2 ; warps - db $7, $2, $3, $ff - db $7, $3, $3, $ff - - db $0 ; signs - - db $4 ; people - db SPRITE_BRUNETTE_GIRL, $3 + 4, $2 + 4, $ff, $d3, $1 ; person - db SPRITE_BIRD, $4 + 4, $0 + 4, $fe, $1, $2 ; person - db SPRITE_BUG_CATCHER, $1 + 4, $4 + 4, $ff, $d0, $3 ; person - db SPRITE_PAPER_SHEET, $3 + 4, $3 + 4, $ff, $ff, $4 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - -SaffronHouse2_h: ; 0x1de30 to 0x1de3c (12 bytes) (bank=7) (id=183) - db $08 ; tileset - db SAFFRON_HOUSE_2_HEIGHT, SAFFRON_HOUSE_2_WIDTH ; dimensions (y, x) - dw SaffronHouse2Blocks, SaffronHouse2Texts, SaffronHouse2Script ; blocks, texts, scripts - db $00 ; connections - - dw SaffronHouse2Object ; objects - -SaffronHouse2Script: ; 0x1de3c - jp $3c3c -; 0x1de3f - -SaffronHouse2Texts: ; 0x1de3f - dw SaffronHouse2Text1 - -SaffronHouse2Text1: ; 0x1de41 - db $08 ; asm - ld a, [$d7bd] - bit 0, a - jr nz, .asm_9e72b ; 0x1de47 - ld hl, UnnamedText_1de75 - call PrintText - ld bc,(TM_29 << 8) | 1 - call GiveItem - jr nc, .asm_4b1da ; 0x1de55 - ld hl, UnnamedText_1de7a - call PrintText - ld hl, $d7bd - set 0, [hl] - jr .asm_fe4e1 ; 0x1de62 -.asm_4b1da ; 0x1de64 - ld hl, UnnamedText_1de85 - call PrintText - jr .asm_fe4e1 ; 0x1de6a -.asm_9e72b ; 0x1de6c - ld hl, UnnamedText_1de80 - call PrintText -.asm_fe4e1 ; 0x1de72 - jp TextScriptEnd - -UnnamedText_1de75: ; 0x1de75 - TX_FAR _UnnamedText_1de75 - db $50 -; 0x1de75 + 5 bytes - -UnnamedText_1de7a: ; 0x1de7a - TX_FAR _UnnamedText_1de7a ; 0xa252a - db $0B, $50 -; 0x1de80 - -UnnamedText_1de80: ; 0x1de80 - TX_FAR _UnnamedText_1de80 - db $50 -; 0x1de80 + 5 bytes - -UnnamedText_1de85: ; 0x1de85 - TX_FAR _UnnamedText_1de85 - db $50 -; 0x1de85 + 5 bytes - -SaffronHouse2Object: ; 0x1de8a (size=26) - db $a ; border tile - - db $2 ; warps - db $7, $2, $7, $ff - db $7, $3, $7, $ff - - db $0 ; signs - - db $1 ; people - db SPRITE_FISHER, $3 + 4, $5 + 4, $ff, $d2, $1 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - -DiglettsCaveRoute2_h: ; 0x1dea4 to 0x1deb0 (12 bytes) (bank=7) (id=46) - db $11 ; tileset - db DIGLETTS_CAVE_EXIT_HEIGHT, DIGLETTS_CAVE_EXIT_WIDTH ; dimensions (y, x) - dw DiglettsCaveRoute2Blocks, DiglettsCaveRoute2Texts, DiglettsCaveRoute2Script ; blocks, texts, scripts - db $00 ; connections - - dw DiglettsCaveRoute2Object ; objects - -DiglettsCaveRoute2Script: ; 0x1deb0 - ld a, $d - ld [$d365], a - jp $3c3c -; 0x1deb8 - -DiglettsCaveRoute2Texts: ; 0x1deb8 - dw DiglettsCaveRoute2Text1 - -DiglettsCaveRoute2Text1: ; 0x1deba - TX_FAR _DiglettsCaveRoute2Text1 - db $50 - -DiglettsCaveRoute2Object: ; 0x1debf (size=34) - db $7d ; border tile - - db $3 ; warps - db $7, $2, $0, $ff - db $7, $3, $0, $ff - db $4, $4, $0, DIGLETTS_CAVE - - db $0 ; signs - - db $1 ; people - db SPRITE_FISHER, $3 + 4, $3 + 4, $ff, $ff, $1 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - EVENT_DISP $4, $4, $4 ; DIGLETTS_CAVE - -Route2House_h: ; 0x1dee1 to 0x1deed (12 bytes) (bank=7) (id=48) - db $08 ; tileset - db ROUTE_2_HOUSE_HEIGHT, ROUTE_2_HOUSE_WIDTH ; dimensions (y, x) - dw Route2HouseBlocks, Route2HouseTexts, Route2HouseScript ; blocks, texts, scripts - db $00 ; connections - - dw Route2HouseObject ; objects - -Route2HouseScript: ; 0x1deed - jp $3c3c -; 0x1def0 - -Route2HouseTexts: ; 0x1def0 - dw Route2HouseText1, Route2HouseText2 - -Route2HouseText1: ; 0x1def4 - TX_FAR _Route2HouseText1 - db $50 - -Route2HouseText2: ; 0x1def9 - db $08 ; asm - ld a, $1 - ld [W_WHICHTRADE], a - ld a, $54 - call Predef - jp TextScriptEnd - -Route2HouseObject: ; 0x1df07 (size=32) - db $a ; border tile - - db $2 ; warps - db $7, $2, $2, $ff - db $7, $3, $2, $ff - - db $0 ; signs - - db $2 ; people - db SPRITE_OAK_AIDE, $4 + 4, $2 + 4, $ff, $d3, $1 ; person - db SPRITE_GAMEBOY_KID_COPY, $1 + 4, $4 + 4, $ff, $d0, $2 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - -Route5Gate_h: ; 0x1df27 to 0x1df33 (12 bytes) (bank=7) (id=70) - db $0c ; tileset - db ROUTE_5_GATE_HEIGHT, ROUTE_5_GATE_WIDTH ; dimensions (y, x) - dw Route5GateBlocks, Route5GateTexts, Route5GateScript ; blocks, texts, scripts - db $00 ; connections - - dw Route5GateObject ; objects - -Route5GateScript: ; 0x1df33 - call $3c3c - ld a, [$d662] - ld hl, Route5GateScripts - jp $3d97 -; 0x1df3f - -Route5GateScripts: ; 0x1df3f - dw Route5GateScript0 - -INCBIN "baserom.gbc",$1df41,$f - -Route5GateScript0: ; 0x1df50 - ld a, [$d728] - bit 6, a - ret nz - ld hl, $5f8f - call $34bf - ret nc - ld a, $2 - ld [$d528], a - xor a - ld [$ff00+$b4], a - ld b, $16 - ld hl, $659f - call Bankswitch - ld a, [$ff00+$db] - and a - jr nz, .asm_1df82 ; 0x1df70 $10 - ld a, $2 - ld [$ff00+$8c], a - call $2920 - call $5f43 - ld a, $1 - ld [$d662], a - ret -.asm_1df82 - ld a, $3 - ld [$ff00+$8c], a - call $2920 - ld hl, $d728 - set 6, [hl] - ret -; 0x1df8f - -INCBIN "baserom.gbc",$1df8f,$15 - -Route5GateTexts: ; 0x1dfa4 - dw Route5GateText1, Route5GateText2, Route5GateText3 - -Route8GateText1: -Route7GateText1: -Route6GateText1: -Route5GateText1: ; 0x1dfaa - db $8 - ld a, [$d728] - bit 6, a - jr nz, .asm_88856 ; 0x1dfb0 $2c - ld b, $16 - ld hl, $659f - call Bankswitch - ld a, [$ff00+$db] - and a - jr nz, .asm_768a2 ; 0x1dfbd $11 - ld hl, UnnamedText_1dfe7 - call PrintText - call $5f43 - ld a, $1 - ld [$d662], a - jp TextScriptEnd -.asm_768a2 ; 0x1dfd0 - ld hl, UnnamedText_1dfec - call PrintText - ld hl, $d728 - set 6, [hl] - jp TextScriptEnd -.asm_88856 ; 0x1dfde - ld hl, UnnamedText_1dff6 - call PrintText - jp TextScriptEnd -; 0x1dfe7 - -Route8GateText2: -Route7GateText2: -Route6GateText2: -Route5GateText2: ; 0x1dfe7 -UnnamedText_1dfe7: ; 0x1dfe7 - TX_FAR _UnnamedText_1dfe7 - db $50 -; 0x1dfe7 + 5 bytes - -Route8GateText3: -Route7GateText3: -Route6GateText3: -Route5GateText3: ; 0x1dfec -UnnamedText_1dfec: ; 0x1dfec - TX_FAR _UnnamedText_8aaa9 ; 0x8aaa9 - db $11 - TX_FAR _UnnamedText_1dff1 ; 0x8aaef - db $50 -; 0x1dff6 - -UnnamedText_1dff6: ; 0x1dff6 - TX_FAR _UnnamedText_1dff6 - db $50 -; 0x1dff6 + 5 bytes - -Route5GateObject: ; 0x1dffb (size=42) - db $a ; border tile - - db $4 ; warps - db $5, $3, $2, $ff - db $5, $4, $2, $ff - db $0, $3, $1, $ff - db $0, $4, $0, $ff - - db $0 ; signs - - db $1 ; people - db SPRITE_GUARD, $3 + 4, $1 + 4, $ff, $d3, $1 ; person - - ; warp-to - EVENT_DISP $4, $5, $3 - EVENT_DISP $4, $5, $4 - EVENT_DISP $4, $0, $3 - EVENT_DISP $4, $0, $4 - -Route5GateBlocks: ; 0x1e025 12 - INCBIN "maps/route5gate.blk" - -Route6Gate_h: ; 0x1e031 to 0x1e03d (12 bytes) (bank=7) (id=73) - db $0c ; tileset - db ROUTE_6_GATE_HEIGHT, ROUTE_6_GATE_WIDTH ; dimensions (y, x) - dw Route6GateBlocks, Route6GateTexts, Route6GateScript ; blocks, texts, scripts - db $00 ; connections - - dw Route6GateObject ; objects - -Route6GateScript: ; 0x1e03d - call $3c3c - ld hl, Route6GateScripts - ld a, [$d636] - call $3d97 - ret -; 0x1e04a - -Route6GateScripts: ; 0x1e04a - dw Route6GateScript0 - -INCBIN "baserom.gbc",$1e04c,$2 - -Route6GateScript0: ; 0x1e04e - ld a, [$d728] - bit 6, a - ret nz - ld hl, $608c - call $34bf - ret nc - ld a, $1 - ld [$d528], a - xor a - ld [$ff00+$b4], a - ld b, $16 - ld hl, $659f - call Bankswitch - ld a, [$ff00+$db] - and a - jr nz, .asm_1e080 ; 0x1e06e $10 - ld a, $2 - ld [$ff00+$8c], a - call $2920 - call $60a1 - ld a, $1 - ld [$d636], a - ret -.asm_1e080 - ld hl, $d728 - set 6, [hl] - ld a, $3 - ld [$ff00+$8c], a - jp $2920 -; 0x1e08c - -INCBIN "baserom.gbc",$1e08c,$2c - -Route6GateTexts: ; 0x1e0b8 - dw Route6GateText1, Route6GateText2, Route6GateText3 - -Route6GateObject: ; 0x1e0be (size=42) - db $a ; border tile - - db $4 ; warps - db $5, $3, $2, $ff - db $5, $4, $2, $ff - db $0, $3, $1, $ff - db $0, $4, $1, $ff - - db $0 ; signs - - db $1 ; people - db SPRITE_GUARD, $2 + 4, $6 + 4, $ff, $d2, $1 ; person - - ; warp-to - EVENT_DISP $4, $5, $3 - EVENT_DISP $4, $5, $4 - EVENT_DISP $4, $0, $3 - EVENT_DISP $4, $0, $4 - -Route6GateBlocks: ; 0x1e0e8 12 - INCBIN "maps/route6gate.blk" - -Route7Gate_h: ; 0x1e0f4 to 0x1e100 (12 bytes) (bank=7) (id=76) - db $0c ; tileset - db ROUTE_7_GATE_HEIGHT, ROUTE_7_GATE_WIDTH ; dimensions (y, x) - dw Route7GateBlocks, Route7GateTexts, Route7GateScript ; blocks, texts, scripts - db $00 ; connections - - dw Route7GateObject ; objects - -Route7GateScript: ; 0x1e100 - call $3c3c - ld a, [$d663] - ld hl, Route7GateScripts - call $3d97 - ret -; 0x1e10d - -Route7GateScripts: ; 0x1e10d - dw Route7GateScript0 - -INCBIN "baserom.gbc",$1e10f,$19 - -Route7GateScript0: ; 0x1e128 - ld a, [$d728] - bit 6, a - ret nz - ld hl, $6167 - call $34bf - ret nc - ld a, $8 - ld [$d528], a - xor a - ld [$ff00+$b4], a - ld b, $16 - ld hl, $659f - call Bankswitch - ld a, [$ff00+$db] - and a - jr nz, .asm_1e15a ; 0x1e148 $10 - ld a, $2 - ld [$ff00+$8c], a - call $2920 - call $6111 - ld a, $1 - ld [$d663], a - ret -.asm_1e15a - ld a, $3 - ld [$ff00+$8c], a - call $2920 - ld hl, $d728 - set 6, [hl] - ret -; 0x1e167 - -INCBIN "baserom.gbc",$1e167,$18 - -Route7GateTexts: ; 0x1e17f - dw Route7GateText1, Route7GateText2, Route7GateText3 - -Route7GateObject: ; 0x1e185 (size=42) - db $a ; border tile - - db $4 ; warps - db $3, $0, $3, $ff - db $4, $0, $3, $ff - db $3, $5, $0, $ff - db $4, $5, $1, $ff - - db $0 ; signs - - db $1 ; people - db SPRITE_GUARD, $1 + 4, $3 + 4, $ff, $d0, $1 ; person - - ; warp-to - EVENT_DISP $3, $3, $0 - EVENT_DISP $3, $4, $0 - EVENT_DISP $3, $3, $5 - EVENT_DISP $3, $4, $5 - -Route7GateBlocks: ; 0x1e1af 12 - INCBIN "maps/route7gate.blk" - -Route8Gate_h: ; 0x1e1bb to 0x1e1c7 (12 bytes) (bank=7) (id=79) - db $0c ; tileset - db ROUTE_8_GATE_HEIGHT, ROUTE_8_GATE_WIDTH ; dimensions (y, x) - dw Route8GateBlocks, Route8GateTexts, Route8GateScript ; blocks, texts, scripts - db $00 ; connections - - dw Route8GateObject ; objects - -Route8GateScript: ; 0x1e1c7 - call $3c3c - ld hl, Route8GateScripts - ld a, [$d637] - jp $3d97 -; 0x1e1d3 - -Route8GateScripts: ; 0x1e1d3 - dw Route8GateScript0 - -INCBIN "baserom.gbc",$1e1d5,$19 - -Route8GateScript0: ; 0x1e1ee - ld a, [$d728] - bit 6, a - ret nz - ld hl, $622c - call $34bf - ret nc - ld a, $2 - ld [$d528], a - xor a - ld [$ff00+$b4], a - ld b, $16 - ld hl, $659f - call Bankswitch - ld a, [$ff00+$db] - and a - jr nz, .asm_1e220 ; 0x1e20e $10 - ld a, $2 - ld [$ff00+$8c], a - call $2920 - call $61d7 - ld a, $1 - ld [$d637], a - ret -.asm_1e220 - ld hl, $d728 - set 6, [hl] - ld a, $3 - ld [$ff00+$8c], a - jp $2920 -; 0x1e22c - -INCBIN "baserom.gbc",$1e22c,$15 - -Route8GateTexts: ; 0x1e241 - dw Route8GateText1, Route8GateText2, Route8GateText3 - -Route8GateObject: ; 0x1e247 (size=42) - db $a ; border tile - - db $4 ; warps - db $3, $0, $0, $ff - db $4, $0, $1, $ff - db $3, $5, $2, $ff - db $4, $5, $3, $ff - - db $0 ; signs - - db $1 ; people - db SPRITE_GUARD, $1 + 4, $2 + 4, $ff, $d0, $1 ; person - - ; warp-to - EVENT_DISP $3, $3, $0 - EVENT_DISP $3, $4, $0 - EVENT_DISP $3, $3, $5 - EVENT_DISP $3, $4, $5 - -Route8GateBlocks: ; 0x1e271 12 - INCBIN "maps/route8gate.blk" - -UndergroundPathEntranceRoute8_h: ; 0x1e27d to 0x1e289 (12 bytes) (bank=7) (id=80) - db $0c ; tileset - db PATH_ENTRANCE_ROUTE_8_HEIGHT, PATH_ENTRANCE_ROUTE_8_WIDTH ; dimensions (y, x) - dw UndergroundPathEntranceRoute8Blocks, UndergroundPathEntranceRoute8Texts, UndergroundPathEntranceRoute8Script ; blocks, texts, scripts - db $00 ; connections - - dw UndergroundPathEntranceRoute8Object ; objects - -UndergroundPathEntranceRoute8Script: ; 0x1e289 - ld a, $13 - ld [$d365], a - jp $3c3c -; 0x1e291 - -UndergroundPathEntranceRoute8Texts: ; 0x1e291 - dw UndergroundPathEntranceRoute8Text1 - -;XXX wtf? syntax error -UndergroundPathEntranceRoute8Text1: ; 0x1e293 - db $17, $8d, $42, $23 - ;TX_FAR _UndergroundPathEntranceRoute8Text1 - db $50 - -UndergroundPathEntranceRoute8Object: ; 0x1e298 (size=34) - db $a ; border tile - - db $3 ; warps - db $7, $3, $4, $ff - db $7, $4, $4, $ff - db $4, $4, $1, UNDERGROUND_PATH_WE - - db $0 ; signs - - db $1 ; people - db SPRITE_GIRL, $4 + 4, $3 + 4, $ff, $ff, $1 ; person - - ; warp-to - EVENT_DISP $4, $7, $3 - EVENT_DISP $4, $7, $4 - EVENT_DISP $4, $4, $4 ; UNDERGROUND_PATH_WE - -PowerPlant_h: ; 0x1e2ba to 0x1e2c6 (12 bytes) (bank=7) (id=83) - db $16 ; tileset - db POWER_PLANT_HEIGHT, POWER_PLANT_WIDTH ; dimensions (y, x) - dw PowerPlantBlocks, PowerPlantTexts, PowerPlantScript ; blocks, texts, scripts - db $00 ; connections - - dw PowerPlantObject ; objects - -PowerPlantScript: ; 0x1e2c6 - call $3c3c - ld hl, $62fb - ld de, PowerPlantScript_Unknown1e2d9 - ld a, [$d663] - call $3160 - ld [$d663], a - ret -; 0x1e2d9 - -PowerPlantScript_Unknown1e2d9: ; 0x1e2d9 -INCBIN "baserom.gbc",$1e2d9,$6 - -PowerPlantTexts: ; 0x1e2df - dw PowerPlantText1, PowerPlantText2, PowerPlantText3, PowerPlantText4, PowerPlantText5, PowerPlantText6, PowerPlantText7, PowerPlantText8, PowerPlantText9, PowerPlantText10, PowerPlantText11, PowerPlantText12, PowerPlantText13, PowerPlantText14 - -INCBIN "baserom.gbc",$1e2fb,$6d - -asm_234cc: - call $31cc - ld a, [$da39] - ld [$d663], a - jp TextScriptEnd -; 0x1e374 - -PowerPlantText1: ; 0x1e374 - db $8 ; asm - ld hl, $62fb - jr asm_234cc ; 0x1e378 $ee - -PowerPlantText2: ; 0x1e37a - db $8 ; asm - ld hl, $6307 - jr asm_234cc ; 0x1e37e $e8 - -PowerPlantText3: ; 0x1e380 - db $8 ; asm - ld hl, $6313 - jr asm_234cc ; 0x1e384 $e2 - -PowerPlantText4: ; 0x1e386 - db $8 ; asm - ld hl, $631f - jr asm_234cc ; 0x1e38a $dc - -PowerPlantText5: - db $8 ; asm - ld hl, $632b - jr asm_234cc ; 0x1e390 $d6 - -PowerPlantText6: ; 0x1e392 - db $8 ; asm - ld hl, $6337 - jr asm_234cc ; 0x1e396 $d0 - -PowerPlantText7: ; 0x1e398 - db $8 ; asm - ld hl, $6343 - jr asm_234cc ; 0x1e39c $ca - -PowerPlantText8: ; 0x1e39e - db $8 ; asm - ld hl, $634f - jr asm_234cc ; 0x1e3a2 $c4 - -PowerPlantText9: ; 0x1e3a4 - db $8 ; asm - ld hl, $635b - jr asm_234cc ; 0x1e3a8 $be -; 0x1e3aa - -UnnamedText_1e3aa: ; 0x1e3aa - TX_FAR _UnnamedText_1e3aa ; 0x8c5e2 - db $50 -; 0x1e3af - -UnnamedText_1e3af: ; 0x1e3af - TX_FAR _UnnamedText_1e3af ; 0x8c5ea - db $8 - ld a, $4b - call $13d0 - call $3748 - jp TextScriptEnd -; 0x1e3bf - -PowerPlantObject: ; 0x1e3bf (size=135) - db $2e ; border tile - - db $3 ; warps - db $23, $4, $3, $ff - db $23, $5, $3, $ff - db $b, $0, $3, $ff - - db $0 ; signs - - db $e ; people - db SPRITE_BALL, $14 + 4, $9 + 4, $ff, $ff, $41, VOLTORB, $28 ; trainer - db SPRITE_BALL, $12 + 4, $20 + 4, $ff, $ff, $42, VOLTORB, $28 ; trainer - db SPRITE_BALL, $19 + 4, $15 + 4, $ff, $ff, $43, VOLTORB, $28 ; trainer - db SPRITE_BALL, $12 + 4, $19 + 4, $ff, $ff, $44, ELECTRODE, $2b ; trainer - db SPRITE_BALL, $22 + 4, $17 + 4, $ff, $ff, $45, VOLTORB, $28 ; trainer - db SPRITE_BALL, $1c + 4, $1a + 4, $ff, $ff, $46, VOLTORB, $28 ; trainer - db SPRITE_BALL, $e + 4, $15 + 4, $ff, $ff, $47, ELECTRODE, $2b ; trainer - db SPRITE_BALL, $20 + 4, $25 + 4, $ff, $ff, $48, VOLTORB, $28 ; trainer - db SPRITE_BIRD, $9 + 4, $4 + 4, $ff, $d1, $49, ZAPDOS, $32 ; trainer - db SPRITE_BALL, $19 + 4, $7 + 4, $ff, $ff, $8a, CARBOS ; item - db SPRITE_BALL, $3 + 4, $1c + 4, $ff, $ff, $8b, HP_UP ; item - db SPRITE_BALL, $3 + 4, $22 + 4, $ff, $ff, $8c, RARE_CANDY ; item - db SPRITE_BALL, $20 + 4, $1a + 4, $ff, $ff, $8d, TM_25 ; item - db SPRITE_BALL, $20 + 4, $14 + 4, $ff, $ff, $8e, TM_33 ; item - - ; warp-to - EVENT_DISP $14, $23, $4 - EVENT_DISP $14, $23, $5 - EVENT_DISP $14, $b, $0 - -PowerPlantBlocks: ; 0x1e446 360 - INCBIN "maps/powerplant.blk" - -DiglettsCaveEntranceRoute11_h: ; 0x1e5ae to 0x1e5ba (12 bytes) (bank=7) (id=85) - db $11 ; tileset - db DIGLETTS_CAVE_ENTRANCE_HEIGHT, DIGLETTS_CAVE_ENTRANCE_WIDTH ; dimensions (y, x) - dw DiglettsCaveEntranceRoute11Blocks, DiglettsCaveEntranceRoute11Texts, DiglettsCaveEntranceRoute11Script ; blocks, texts, scripts - db $00 ; connections - - dw DiglettsCaveEntranceRoute11Object ; objects - -DiglettsCaveEntranceRoute11Script: ; 0x1e5ba - call $3c3c - ld a, $16 - ld [$d365], a - ret -; 0x1e5c3 - -DiglettsCaveEntranceRoute11Texts: ; 0x1e5c3 - dw DiglettsCaveEntranceRoute11Text1 - -; XXX wtf? syntax error -DiglettsCaveEntranceRoute11Text1: ; 0x1e5c5 - db $17, $f9, $47, $23 - ;TX_FAR _DiglettsCaveEntranceRoute11Text1 - db $50 - -DiglettsCaveEntranceRoute11Object: ; 0x1e5ca (size=34) - db $7d ; border tile - - db $3 ; warps - db $7, $2, $4, $ff - db $7, $3, $4, $ff - db $4, $4, $1, DIGLETTS_CAVE - - db $0 ; signs - - db $1 ; people - db SPRITE_GAMBLER, $3 + 4, $2 + 4, $ff, $ff, $1 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - EVENT_DISP $4, $4, $4 ; DIGLETTS_CAVE - -Route16House_h: ; 0x1e5ec to 0x1e5f8 (12 bytes) (bank=7) (id=188) - db $08 ; tileset - db ROUTE_16_HOUSE_HEIGHT, ROUTE_16_HOUSE_WIDTH ; dimensions (y, x) - dw Route16HouseBlocks, Route16HouseTexts, Route16HouseScript ; blocks, texts, scripts - db $00 ; connections - - dw Route16HouseObject ; objects - -Route16HouseScript: ; 0x1e5f8 - jp $3c3c -; 0x1e5fb - -Route16HouseTexts: ; 0x1e5fb - dw Route16HouseText1, Route16HouseText2 - -Route16HouseText1: ; 0x1e5ff - db $08 ; asm - ld a, [$d7e0] - bit 6, a - ld hl, HM02ExplanationText - jr nz, .asm_13616 ; 0x1e608 - ld hl, Route16HouseText3 - call PrintText - ld bc, (HM_02 << 8) | 1 - call GiveItem - jr nc, .asm_d3ee3 ; 0x1e616 - ld hl, $d7e0 - set 6, [hl] - ld hl, ReceivedHM02Text - jr .asm_13616 ; 0x1e620 -.asm_d3ee3 ; 0x1e622 - ld hl, HM02NoRoomText -.asm_13616 ; 0x1e625 - call PrintText - jp TextScriptEnd - -Route16HouseText3: ; 0x1e62b - TX_FAR _Route16HouseText3 - db $50 -; 0x1e62b + 5 bytes - -ReceivedHM02Text: ; 0x1e630 - TX_FAR _ReceivedHM02Text ; 0x8ce66 - db $11, $50 - -HM02ExplanationText: ; 0x1e636 - TX_FAR _HM02ExplanationText - db $50 -; 0x1e636 + 5 bytes - -HM02NoRoomText: ; 0x1e63b - TX_FAR _HM02NoRoomText - db $50 -; 0x1e63b + 5 bytes - -Route16HouseText2: ; 0x1e640 - db $08 ; asm - ld hl, UnnamedText_1e652 - call PrintText - ld a, FEAROW - call $13d0 - call $3748 - jp TextScriptEnd - -UnnamedText_1e652: ; 0x1e652 - TX_FAR _UnnamedText_1e652 - db $50 -; 0x1e652 + 5 bytes - -Route16HouseObject: ; 0x1e657 (size=32) - db $a ; border tile - - db $2 ; warps - db $7, $2, $8, $ff - db $7, $3, $8, $ff - - db $0 ; signs - - db $2 ; people - db SPRITE_BRUNETTE_GIRL, $3 + 4, $2 + 4, $ff, $d3, $1 ; person - db SPRITE_BIRD, $4 + 4, $6 + 4, $fe, $0, $2 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - -Route22Gate_h: ; 0x1e677 to 0x1e683 (12 bytes) (bank=7) (id=193) - db $0c ; tileset - db ROUTE_22_GATE_HEIGHT, ROUTE_22_GATE_WIDTH ; dimensions (y, x) - dw Route22GateBlocks, Route22GateTexts, Route22GateScript ; blocks, texts, scripts - db $00 ; connections - - dw Route22GateObject ; objects - -Route22GateScript: ; 0x1e683 - call $3c3c - ld hl, Route22GateScripts - ld a, [$d60e] - call $3d97 - ld a, [$d361] - cp $4 - ld a, $22 - jr c, .asm_1e69a ; 0x1e696 $2 - ld a, $21 -.asm_1e69a - ld [$d365], a - ret -; 0x1e69e - -Route22GateScripts: ; 0x1e69e - dw Route22GateScript0, Route22GateScript1 - -INCBIN "baserom.gbc",$1e6a2,$2 - -Route22GateScript0: ; 0x1e6a4 - ld hl, $66b5 - call $34bf - ret nc - xor a - ld [$ff00+$b4], a - ld a, $1 - ld [$ff00+$8c], a - jp $2920 -; 0x1e6b5 - -INCBIN "baserom.gbc",$1e6b5,$1e6cd - $1e6b5 - -Route22GateScript1: ; 0x1e6cd - ld a, [$cd38] - and a - ret nz - xor a - ld [$cd6b], a - call Delay3 - ld a, $0 - ld [$d60e], a - ret -; 0x1e6df - -Route22GateTexts: ; 0x1e6df - dw Route22GateText1 - -Route22GateText1: ; 0x1e6e1 - db $8 - ld a, [$d356] - bit 0, a - jr nz, .asm_8a809 ; 0x1e6e7 $d - ld hl, UnnamedText_1e704 - call PrintText - call $66ba - ld a, $1 - jr .asm_20f7e ; 0x1e6f4 $8 -.asm_8a809 ; 0x1e6f6 - ld hl, UnnamedText_1e71a - call PrintText - ld a, $2 -.asm_20f7e ; 0x1e6fe - ld [$d60e], a - jp TextScriptEnd -; 0x1e704 - -UnnamedText_1e704: ; 0x1e704 - TX_FAR _UnnamedText_1e704 ; 0x8cfbb - db $8 - ld a, $a5 - call $3740 - call $3748 - ld hl, $6715 - ret -; 0x1e715 - -UnnamedText_1e715: ; 0x1e715 - TX_FAR _UnnamedText_1e715 - db $50 -; 0x1e71a - -UnnamedText_1e71a: ; 0x1e71a - TX_FAR _UnnamedText_1e71a ; 0x8d03e - db $0B, $50 -; 0x1e720 - -Route22GateObject: ; 0x1e720 (size=42) - db $a ; border tile - - db $4 ; warps - db $7, $4, $0, $ff - db $7, $5, $0, $ff - db $0, $4, $0, $ff - db $0, $5, $1, $ff - - db $0 ; signs - - db $1 ; people - db SPRITE_GUARD, $2 + 4, $6 + 4, $ff, $d2, $1 ; person - - ; warp-to - EVENT_DISP $5, $7, $4 - EVENT_DISP $5, $7, $5 - EVENT_DISP $5, $0, $4 - EVENT_DISP $5, $0, $5 - -Route22GateBlocks: ; 0x1e74a 20 - INCBIN "maps/route22gate.blk" - -BillsHouse_h: ; 0x1e75e to 0x1e76a (12 bytes) (bank=7) (id=88) - db $10 ; tileset - db BILLS_HOUSE_HEIGHT, BILLS_HOUSE_WIDTH ; dimensions (y, x) - dw BillsHouseBlocks, BillsHouseTexts, BillsHouseScript ; blocks, texts, scripts - db $00 ; connections - - dw BillsHouseObject ; objects - -BillsHouseScript: ; 0x1e76a - call $3c3c - ld a, [$d661] - ld hl, BillsHouseScripts - jp $3d97 -; 0x1e776 - -BillsHouseScripts: ; 0x1e776 - dw BillsHouseScript0 - -INCBIN "baserom.gbc",$1e778,$a - -BillsHouseScript0: ; 0x1e782 - ret -; 0x1e783 - -INCBIN "baserom.gbc",$1e783,$b1 - -BillsHouseTexts: ; 0x1e834 - dw BillsHouseText1, BillsHouseText2, BillsHouseText3, BillsHouseText4 - -BillsHouseText4: ; 0x1e83c - db $fd - -BillsHouseText1: ; 0x1e83d - db $8 - ld hl, UnnamedText_1e865 - call PrintText - call $35ec - ld a, [$cc26] - and a - jr nz, asm_6b196 ; 0x1e84b $d -asm_4d03c: - ld hl, UnnamedText_1e86a - call PrintText - ld a, $1 - ld [$d661], a - jr asm_fd4e2 ; 0x1e858 $8 -asm_6b196: ; 0x1e85a - ld hl, UnnamedText_1e86f - call PrintText - jr asm_4d03c ; 0x1e860 $eb -asm_fd4e2 ; 0x1e862 - jp TextScriptEnd - -UnnamedText_1e865: ; 0x1e865 - TX_FAR _UnnamedText_1e865 ; 0x8d267 - db $50 -; 0x1e86a - -UnnamedText_1e86a: ; 0x1e86a - TX_FAR _UnnamedText_1e86a ; 0x8d345 - db $50 -; 0x1e86f - -UnnamedText_1e86f: ; 0x1e86f - TX_FAR _UnnamedText_1e86f ; 0x8d391 - db $50 -; 0x1e874 - -BillsHouseText2: ; 0x1e874 - db $08 ; asm - ld a, [$d7f2] - bit 4, a - jr nz, .asm_5491f ; 0x1e87a - ld hl, BillThankYouText - call PrintText - ld bc, (S_S__TICKET << 8) | 1 - call GiveItem - jr nc, .asm_18a67 ; 0x1e888 - ld hl, SSTicketReceivedText - call PrintText - ld hl, $d7f2 - set 4, [hl] - ld a, $7 - ld [$cc4d], a - ld a, $15 - call Predef - ld a, $9 - ld [$cc4d], a - ld a, $11 - call Predef -.asm_5491f ; 0x1e8a9 - ld hl, UnnamedText_1e8cb - call PrintText - jr .asm_bd408 ; 0x1e8af -.asm_18a67 ; 0x1e8b1 - ld hl, SSTicketNoRoomText - call PrintText -.asm_bd408 ; 0x1e8b7 - jp TextScriptEnd - -BillThankYouText: ; 0x1e8ba - TX_FAR _BillThankYouText - db $50 -; 0x1e8ba + 5 bytes - -SSTicketReceivedText: ; 0x1e8bf - TX_FAR _SSTicketReceivedText ; 0x8d499 - db $11, $6, $50 - -SSTicketNoRoomText: ; 0x1e8c6 - TX_FAR _SSTicketNoRoomText - db $50 -; 0x1e8c6 + 5 bytes - -UnnamedText_1e8cb: ; 0x1e8cb - TX_FAR _UnnamedText_1e8cb - db $50 -; 0x1e8cb + 5 bytes - -BillsHouseText3: ; 0x1e8d0 - db $08 ; asm - ld hl, UnnamedText_1e8da - call PrintText - jp TextScriptEnd -; 0x1e8da - -UnnamedText_1e8da: ; 0x1e8da - TX_FAR _UnnamedText_1e8da - db $50 -; 0x1e8da + 5 bytes - -BillsHouseObject: ; 0x1e8df (size=38) - db $d ; border tile - - db $2 ; warps - db $7, $2, $0, $ff - db $7, $3, $0, $ff - - db $0 ; signs - - db $3 ; people - db SPRITE_SLOWBRO, $5 + 4, $6 + 4, $ff, $ff, $1 ; person - db SPRITE_BLACK_HAIR_BOY_2, $4 + 4, $4 + 4, $ff, $ff, $2 ; person - db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $6 + 4, $ff, $ff, $3 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - -BillsHouseBlocks: ; 0x1e905 - INCBIN "maps/billshouse.blk" - -INCBIN "baserom.gbc",$1e915,$1e93b - $1e915 - -UnnamedText_1e93b: ; 0x1e93b - TX_FAR _UnnamedText_1e93b - db $50 -; 0x1e93b + 5 bytes - -INCBIN "baserom.gbc",$1e940,$1e946 - $1e940 - -UnnamedText_1e946: ; 0x1e946 - TX_FAR _UnnamedText_1e946 - db $50 -; 0x1e946 + 5 bytes - -INCBIN "baserom.gbc",$1e94b,$1e953 - $1e94b - -UnnamedText_1e953: ; 0x1e953 - TX_FAR _UnnamedText_1e953 - db $50 -; 0x1e953 + 5 bytes - -INCBIN "baserom.gbc",$1e958,$1e960 - $1e958 - -UnnamedText_1e960: ; 0x1e960 - TX_FAR _UnnamedText_1e960 - db $50 -; 0x1e960 + 5 bytes - -INCBIN "baserom.gbc",$1e965,$1e97e - $1e965 - -UnnamedText_1e97e: ; 0x1e97e - TX_FAR _UnnamedText_1e97e - db $50 -; 0x1e97e + 5 bytes - -UnnamedText_1e983: ; 0x1e983 - TX_FAR _UnnamedText_1e983 - db $50 -; 0x1e983 + 5 bytes - -INCBIN "baserom.gbc",$1e988,$1ea0d - $1e988 - -UnnamedText_1ea0d: ; 0x1ea0d - TX_FAR _UnnamedText_1ea0d - db $50 -; 0x1ea0d + 5 bytes - -UnnamedText_1ea12: ; 0x1ea12 - TX_FAR _UnnamedText_1ea12 - db $50 -; 0x1ea12 + 5 bytes - -INCBIN "baserom.gbc",$1ea17,$1ea5b - $1ea17 - -UnnamedText_1ea5b: ; 0x1ea5b - TX_FAR _UnnamedText_1ea5b - db $50 -; 0x1ea5b + 5 bytes - -INCBIN "baserom.gbc",$1ea60,$1ea6c - $1ea60 - -UnnamedText_1ea6c: ; 0x1ea6c - TX_FAR _UnnamedText_1ea6c - db $50 -; 0x1ea6c + 5 bytes - -UnnamedText_1ea71: ; 0x1ea71 - TX_FAR _UnnamedText_1ea71 - db $50 -; 0x1ea71 + 5 bytes - -UnnamedText_1ea76: ; 0x1ea76 - TX_FAR _UnnamedText_1ea76 - db $50 -; 0x1ea76 + 5 bytes - -UnnamedText_1ea7b: ; 0x1ea7b - TX_FAR _UnnamedText_1ea7b - db $50 -; 0x1ea7b + 5 bytes - -UnnamedText_1ea80: ; 0x1ea80 - TX_FAR _UnnamedText_1ea80 - db $50 -; 0x1ea80 + 5 bytes - -UnnamedText_1ea85: ; 0x1ea85 - TX_FAR _UnnamedText_1ea85 - db $50 -; 0x1ea85 + 5 bytes - -INCBIN "baserom.gbc",$1ea8a,$1eb05 - $1ea8a - -UnnamedText_1eb05: ; 0x1eb05 - TX_FAR _UnnamedText_1eb05 - db $50 -; 0x1eb05 + 5 bytes - -INCBIN "baserom.gbc",$1eb0a,$1eb69 - $1eb0a - -UnnamedText_1eb69: ; 0x1eb69 - TX_FAR _UnnamedText_1eb69 - db $50 -; 0x1eb69 + 5 bytes - -INCBIN "baserom.gbc",$1eb6e,$1ebdd - $1eb6e - -UnnamedText_1ebdd: ; 0x1ebdd - TX_FAR _UnnamedText_1ebdd - db $50 -; 0x1ebdd + 5 bytes - -INCBIN "baserom.gbc",$1ebe2,$1ec7f - $1ebe2 - -UnnamedText_1ec7f: ; 0x1ec7f - TX_FAR _UnnamedText_1ec7f - db $50 -; 0x1ec7f + 5 bytes - -INCBIN "baserom.gbc",$1ec84,$1ecaa - $1ec84 - -UnnamedText_1ecaa: ; 0x1ecaa - TX_FAR _UnnamedText_1ecaa - db $50 -; 0x1ecaa + 5 bytes - -INCBIN "baserom.gbc",$1ecaf,$1ecbd - $1ecaf - -UnnamedText_1ecbd: ; 0x1ecbd - TX_FAR _UnnamedText_1ecbd - db $50 -; 0x1ecbd + 5 bytes - -INCBIN "baserom.gbc",$1ecc2,$133e - -SECTION "bank8",DATA,BANK[$8] - -INCBIN "baserom.gbc",$20000,$217e9 - $20000 - -UnnamedText_217e9: ; 0x217e9 - TX_FAR _UnnamedText_217e9 - db $50 -; 0x217e9 + 5 bytes - -UnnamedText_217ee: ; 0x217ee - TX_FAR _UnnamedText_217ee - db $50 -; 0x217ee + 5 bytes - -UnnamedText_217f3: ; 0x217f3 - TX_FAR _UnnamedText_217f3 - db $50 -; 0x217f3 + 5 bytes - -UnnamedText_217f8: ; 0x217f8 - TX_FAR _UnnamedText_217f8 - db $50 -; 0x217f8 + 5 bytes - -UnnamedText_217fd: ; 0x217fd - TX_FAR _UnnamedText_217fd - db $50 -; 0x217fd + 5 bytes - -UnnamedText_21802: ; 0x21802 - TX_FAR _UnnamedText_21802 - db $50 -; 0x21802 + 5 bytes - -UnnamedText_21807: ; 0x21807 - TX_FAR _UnnamedText_21807 - db $50 -; 0x21807 + 5 bytes - -UnnamedText_2180c: ; 0x2180c - TX_FAR _UnnamedText_2180c - db $50 -; 0x2180c + 5 bytes - -UnnamedText_21811: ; 0x21811 - TX_FAR _UnnamedText_21811 - db $50 -; 0x21811 + 5 bytes - -UnnamedText_21816: ; 0x21816 - TX_FAR _UnnamedText_21816 - db $50 -; 0x21816 + 5 bytes - -UnnamedText_2181b: ; 0x2181b - TX_FAR _UnnamedText_2181b - db $50 -; 0x2181b + 5 bytes - -UnnamedText_21820: ; 0x21820 - TX_FAR _UnnamedText_21820 - db $50 -; 0x21820 + 5 bytes - -INCBIN "baserom.gbc",$21825,$21865 - $21825 - -UnnamedText_21865: ; 0x21865 - TX_FAR _UnnamedText_21865 - db $50 -; 0x21865 + 5 bytes - -INCBIN "baserom.gbc",$2186a,$2796 - -SECTION "bank9",DATA,BANK[$9] - -RhydonPicFront: - INCBIN "pic/bmon/rhydon.pic" -RhydonPicBack: - INCBIN "pic/monback/rhydonb.pic" -KangaskhanPicFront: - INCBIN "pic/bmon/kangaskhan.pic" -KangaskhanPicBack: - INCBIN "pic/monback/kangaskhanb.pic" -NidoranMPicFront: - INCBIN "pic/bmon/nidoranm.pic" -NidoranMPicBack: - INCBIN "pic/monback/nidoranmb.pic" -ClefairyPicFront: - INCBIN "pic/bmon/clefairy.pic" -ClefairyPicBack: - INCBIN "pic/monback/clefairyb.pic" -SpearowPicFront: - INCBIN "pic/bmon/spearow.pic" -SpearowPicBack: - INCBIN "pic/monback/spearowb.pic" -VoltorbPicFront: - INCBIN "pic/bmon/voltorb.pic" -VoltorbPicBack: - INCBIN "pic/monback/voltorbb.pic" -NidokingPicFront: - INCBIN "pic/bmon/nidoking.pic" -NidokingPicBack: - INCBIN "pic/monback/nidokingb.pic" -SlowbroPicFront: - INCBIN "pic/bmon/slowbro.pic" -SlowbroPicBack: - INCBIN "pic/monback/slowbrob.pic" -IvysaurPicFront: - INCBIN "pic/bmon/ivysaur.pic" -IvysaurPicBack: - INCBIN "pic/monback/ivysaurb.pic" -ExeggutorPicFront: - INCBIN "pic/bmon/exeggutor.pic" -ExeggutorPicBack: - INCBIN "pic/monback/exeggutorb.pic" -LickitungPicFront: - INCBIN "pic/bmon/lickitung.pic" -LickitungPicBack: - INCBIN "pic/monback/lickitungb.pic" -ExeggcutePicFront: - INCBIN "pic/bmon/exeggcute.pic" -ExeggcutePicBack: - INCBIN "pic/monback/exeggcuteb.pic" -GrimerPicFront: - INCBIN "pic/bmon/grimer.pic" -GrimerPicBack: - INCBIN "pic/monback/grimerb.pic" -GengarPicFront: - INCBIN "pic/bmon/gengar.pic" -GengarPicBack: - INCBIN "pic/monback/gengarb.pic" -NidoranFPicFront: - INCBIN "pic/bmon/nidoranf.pic" -NidoranFPicBack: - INCBIN "pic/monback/nidoranfb.pic" -NidoqueenPicFront: - INCBIN "pic/bmon/nidoqueen.pic" -NidoqueenPicBack: - INCBIN "pic/monback/nidoqueenb.pic" -CubonePicFront: - INCBIN "pic/bmon/cubone.pic" -CubonePicBack: - INCBIN "pic/monback/cuboneb.pic" -RhyhornPicFront: - INCBIN "pic/bmon/rhyhorn.pic" -RhyhornPicBack: - INCBIN "pic/monback/rhyhornb.pic" -LaprasPicFront: - INCBIN "pic/bmon/lapras.pic" -LaprasPicBack: - INCBIN "pic/monback/laprasb.pic" -ArcaninePicFront: - INCBIN "pic/bmon/arcanine.pic" -ArcaninePicBack: - INCBIN "pic/monback/arcanineb.pic" -GyaradosPicFront: - INCBIN "pic/bmon/gyarados.pic" -GyaradosPicBack: - INCBIN "pic/monback/gyaradosb.pic" -ShellderPicFront: - INCBIN "pic/bmon/shellder.pic" -ShellderPicBack: - INCBIN "pic/monback/shellderb.pic" -TentacoolPicFront: - INCBIN "pic/bmon/tentacool.pic" -TentacoolPicBack: - INCBIN "pic/monback/tentacoolb.pic" -GastlyPicFront: - INCBIN "pic/bmon/gastly.pic" -GastlyPicBack: - INCBIN "pic/monback/gastlyb.pic" -ScytherPicFront: - INCBIN "pic/bmon/scyther.pic" -ScytherPicBack: - INCBIN "pic/monback/scytherb.pic" -StaryuPicFront: - INCBIN "pic/bmon/staryu.pic" -StaryuPicBack: - INCBIN "pic/monback/staryub.pic" -BlastoisePicFront: - INCBIN "pic/bmon/blastoise.pic" -BlastoisePicBack: - INCBIN "pic/monback/blastoiseb.pic" -PinsirPicFront: - INCBIN "pic/bmon/pinsir.pic" -PinsirPicBack: ; 0x27aaa - INCBIN "pic/monback/pinsirb.pic" -TangelaPicFront: ; 0x27b39 - INCBIN "pic/bmon/tangela.pic" -TangelaPicBack: ; 0x27ce7 - INCBIN "pic/monback/tangelab.pic" - -INCBIN "baserom.gbc",$27d6b,$27DAE - $27d6b - -TypeNamePointers: ; 7DAE - dw Type00Name - dw Type01Name - dw Type02Name - dw Type03Name - dw Type04Name - dw Type05Name - dw Type06Name - dw Type07Name - dw Type08Name - dw Type00Name - dw Type00Name - dw Type00Name - dw Type00Name - dw Type00Name - dw Type00Name - dw Type00Name - dw Type00Name - dw Type00Name - dw Type00Name - dw Type00Name - dw Type14Name - dw Type15Name - dw Type16Name - dw Type17Name - dw Type18Name - dw Type19Name - dw Type1AName - -Type00Name: - db "NORMAL@" -Type01Name: - db "FIGHTING@" -Type02Name: - db "FLYING@" -Type03Name: - db "POISON@" -Type14Name: - db "FIRE@" -Type15Name: - db "WATER@" -Type16Name: - db "GRASS@" -Type17Name: - db "ELECTRIC@" -Type18Name: - db "PSYCHIC@" -Type19Name: - db "ICE@" -Type04Name: - db "GROUND@" -Type05Name: - db "ROCK@" -Type06Name: - db "BIRD@" -Type07Name: - db "BUG@" -Type08Name: - db "GHOST@" -Type1AName: - db "DRAGON@" - -SaveTrainerName: ; 7E4A - ld hl,TrainerNamePointers - ld a,[W_TRAINERCLASS] - dec a - ld c,a - ld b,0 - add hl,bc - add hl,bc - ld a,[hli] - ld h,[hl] - ld l,a - ld de,$CD6D -.CopyCharacter\@ - ld a,[hli] - ld [de],a - inc de - cp "@" - jr nz,.CopyCharacter\@ - ret - -TrainerNamePointers: ; 0x27e64 -; what is the point of these? - dw YoungsterName - dw BugCatcherName - dw LassName - dw $D04A - dw JrTrainerMName - dw JrTrainerFName - dw PokemaniacName - dw SuperNerdName - dw $D04A - dw $D04A - dw BurglarName - dw EngineerName - dw JugglerXName - dw $D04A - dw SwimmerName - dw $D04A - dw $D04A - dw BeautyName - dw $D04A - dw RockerName - dw JugglerName - dw $D04A - dw $D04A - dw BlackbeltName - dw $D04A - dw ProfOakName - dw ChiefName - dw ScientistName - dw $D04A - dw RocketName - dw CooltrainerMName - dw CooltrainerFName - dw $D04A - dw $D04A - dw $D04A - dw $D04A - dw $D04A - dw $D04A - dw $D04A - dw $D04A - dw $D04A - dw $D04A - dw $D04A - dw $D04A - dw $D04A - dw $D04A - dw $D04A - -YoungsterName: - db "YOUNGSTER@" -BugCatcherName: - db "BUG CATCHER@" -LassName: - db "LASS@" -JrTrainerMName: - db "JR.TRAINER♂@" -JrTrainerFName: - db "JR.TRAINER♀@" -PokemaniacName: - db "POKéMANIAC@" -SuperNerdName: - db "SUPER NERD@" -BurglarName: - db "BURGLAR@" -EngineerName: - db "ENGINEER@" -JugglerXName: - db "JUGGLER@" -SwimmerName: - db "SWIMMER@" -BeautyName: - db "BEAUTY@" -RockerName: - db "ROCKER@" -JugglerName: - db "JUGGLER@" -BlackbeltName: - db "BLACKBELT@" -ProfOakName: - db "PROF.OAK@" -ChiefName: - db "CHIEF@" -ScientistName: - db "SCIENTIST@" -RocketName: - db "ROCKET@" -CooltrainerMName: - db "COOLTRAINER♂@" -CooltrainerFName: - db "COOLTRAINER♀@" - -INCBIN "baserom.gbc",$27f86,$27fb3 - $27f86 - -UnnamedText_27fb3: ; 0x27fb3 - TX_FAR _UnnamedText_27fb3 - db $50 -; 0x27fb3 + 5 bytes - -SECTION "bankA",DATA,BANK[$A] -GrowlithePicFront: - INCBIN "pic/bmon/growlithe.pic" -GrowlithePicBack: - INCBIN "pic/monback/growlitheb.pic" -OnixPicFront: - INCBIN "pic/bmon/onix.pic" -OnixPicBack: - INCBIN "pic/monback/onixb.pic" -FearowPicFront: - INCBIN "pic/bmon/fearow.pic" -FearowPicBack: - INCBIN "pic/monback/fearowb.pic" -PidgeyPicFront: - INCBIN "pic/bmon/pidgey.pic" -PidgeyPicBack: - INCBIN "pic/monback/pidgeyb.pic" -SlowpokePicFront: - INCBIN "pic/bmon/slowpoke.pic" -SlowpokePicBack: - INCBIN "pic/monback/slowpokeb.pic" -KadabraPicFront: - INCBIN "pic/bmon/kadabra.pic" -KadabraPicBack: - INCBIN "pic/monback/kadabrab.pic" -GravelerPicFront: - INCBIN "pic/bmon/graveler.pic" -GravelerPicBack: - INCBIN "pic/monback/gravelerb.pic" -ChanseyPicFront: - INCBIN "pic/bmon/chansey.pic" -ChanseyPicBack: - INCBIN "pic/monback/chanseyb.pic" -MachokePicFront: - INCBIN "pic/bmon/machoke.pic" -MachokePicBack: - INCBIN "pic/monback/machokeb.pic" -MrMimePicFront: - INCBIN "pic/bmon/mr.mime.pic" -MrMimePicBack: - INCBIN "pic/monback/mr.mimeb.pic" -HitmonleePicFront: - INCBIN "pic/bmon/hitmonlee.pic" -HitmonleePicBack: - INCBIN "pic/monback/hitmonleeb.pic" -HitmonchanPicFront: - INCBIN "pic/bmon/hitmonchan.pic" -HitmonchanPicBack: - INCBIN "pic/monback/hitmonchanb.pic" -ArbokPicFront: - INCBIN "pic/bmon/arbok.pic" -ArbokPicBack: - INCBIN "pic/monback/arbokb.pic" -ParasectPicFront: - INCBIN "pic/bmon/parasect.pic" -ParasectPicBack: - INCBIN "pic/monback/parasectb.pic" -PsyduckPicFront: - INCBIN "pic/bmon/psyduck.pic" -PsyduckPicBack: - INCBIN "pic/monback/psyduckb.pic" -DrowzeePicFront: - INCBIN "pic/bmon/drowzee.pic" -DrowzeePicBack: - INCBIN "pic/monback/drowzeeb.pic" -GolemPicFront: - INCBIN "pic/bmon/golem.pic" -GolemPicBack: - INCBIN "pic/monback/golemb.pic" -MagmarPicFront: - INCBIN "pic/bmon/magmar.pic" -MagmarPicBack: - INCBIN "pic/monback/magmarb.pic" -ElectabuzzPicFront: - INCBIN "pic/bmon/electabuzz.pic" -ElectabuzzPicBack: - INCBIN "pic/monback/electabuzzb.pic" -MagnetonPicFront: - INCBIN "pic/bmon/magneton.pic" -MagnetonPicBack: - INCBIN "pic/monback/magnetonb.pic" -KoffingPicFront: - INCBIN "pic/bmon/koffing.pic" -KoffingPicBack: - INCBIN "pic/monback/koffingb.pic" -MankeyPicFront: - INCBIN "pic/bmon/mankey.pic" -MankeyPicBack: - INCBIN "pic/monback/mankeyb.pic" -SeelPicFront: - INCBIN "pic/bmon/seel.pic" -SeelPicBack: - INCBIN "pic/monback/seelb.pic" -DiglettPicFront: - INCBIN "pic/bmon/diglett.pic" -DiglettPicBack: - INCBIN "pic/monback/diglettb.pic" -TaurosPicFront: - INCBIN "pic/bmon/tauros.pic" -TaurosPicBack: - INCBIN "pic/monback/taurosb.pic" -FarfetchdPicFront: - INCBIN "pic/bmon/farfetchd.pic" -FarfetchdPicBack: - INCBIN "pic/monback/farfetchdb.pic" -VenonatPicFront: - INCBIN "pic/bmon/venonat.pic" -VenonatPicBack: - INCBIN "pic/monback/venonatb.pic" -DragonitePicFront: - INCBIN "pic/bmon/dragonite.pic" -DragonitePicBack: - INCBIN "pic/monback/dragoniteb.pic" -DoduoPicFront: - INCBIN "pic/bmon/doduo.pic" -DoduoPicBack: - INCBIN "pic/monback/doduob.pic" -PoliwagPicFront: - INCBIN "pic/bmon/poliwag.pic" -PoliwagPicBack: - INCBIN "pic/monback/poliwagb.pic" -JynxPicFront: - INCBIN "pic/bmon/jynx.pic" -JynxPicBack: - INCBIN "pic/monback/jynxb.pic" -MoltresPicFront: - INCBIN "pic/bmon/moltres.pic" -MoltresPicBack: - INCBIN "pic/monback/moltresb.pic" - -INCBIN "baserom.gbc",$2bea9,$2bef2 - $2bea9 - -UnnamedText_2bef2: ; 0x2bef2 - TX_FAR _UnnamedText_2bef2 - db $50 -; 0x2bef2 + 5 bytes - -UnnamedText_2bef7: ; 0x2bef7 - TX_FAR _UnnamedText_2bef7 - db $50 -; 0x2bef7 + 5 bytes - -SECTION "bankB",DATA,BANK[$B] -ArticunoPicFront: - INCBIN "pic/bmon/articuno.pic" -ArticunoPicBack: - INCBIN "pic/monback/articunob.pic" -ZapdosPicFront: - INCBIN "pic/bmon/zapdos.pic" -ZapdosPicBack: - INCBIN "pic/monback/zapdosb.pic" -DittoPicFront: - INCBIN "pic/bmon/ditto.pic" -DittoPicBack: - INCBIN "pic/monback/dittob.pic" -MeowthPicFront: - INCBIN "pic/bmon/meowth.pic" -MeowthPicBack: - INCBIN "pic/monback/meowthb.pic" -KrabbyPicFront: - INCBIN "pic/bmon/krabby.pic" -KrabbyPicBack: - INCBIN "pic/monback/krabbyb.pic" -VulpixPicFront: - INCBIN "pic/bmon/vulpix.pic" -VulpixPicBack: - INCBIN "pic/monback/vulpixb.pic" -NinetalesPicFront: - INCBIN "pic/bmon/ninetales.pic" -NinetalesPicBack: - INCBIN "pic/monback/ninetalesb.pic" -PikachuPicFront: - INCBIN "pic/bmon/pikachu.pic" -PikachuPicBack: - INCBIN "pic/monback/pikachub.pic" -RaichuPicFront: - INCBIN "pic/bmon/raichu.pic" -RaichuPicBack: - INCBIN "pic/monback/raichub.pic" -DratiniPicFront: - INCBIN "pic/bmon/dratini.pic" -DratiniPicBack: - INCBIN "pic/monback/dratinib.pic" -DragonairPicFront: - INCBIN "pic/bmon/dragonair.pic" -DragonairPicBack: - INCBIN "pic/monback/dragonairb.pic" -KabutoPicFront: - INCBIN "pic/bmon/kabuto.pic" -KabutoPicBack: - INCBIN "pic/monback/kabutob.pic" -KabutopsPicFront: - INCBIN "pic/bmon/kabutops.pic" -KabutopsPicBack: - INCBIN "pic/monback/kabutopsb.pic" -HorseaPicFront: - INCBIN "pic/bmon/horsea.pic" -HorseaPicBack: - INCBIN "pic/monback/horseab.pic" -SeadraPicFront: - INCBIN "pic/bmon/seadra.pic" -SeadraPicBack: - INCBIN "pic/monback/seadrab.pic" -SandshrewPicFront: - INCBIN "pic/bmon/sandshrew.pic" -SandshrewPicBack: - INCBIN "pic/monback/sandshrewb.pic" -SandslashPicFront: - INCBIN "pic/bmon/sandslash.pic" -SandslashPicBack: - INCBIN "pic/monback/sandslashb.pic" -OmanytePicFront: - INCBIN "pic/bmon/omanyte.pic" -OmanytePicBack: - INCBIN "pic/monback/omanyteb.pic" -OmastarPicFront: - INCBIN "pic/bmon/omastar.pic" -OmastarPicBack: - INCBIN "pic/monback/omastarb.pic" -JigglypuffPicFront: - INCBIN "pic/bmon/jigglypuff.pic" -JigglypuffPicBack: - INCBIN "pic/monback/jigglypuffb.pic" -WigglytuffPicFront: - INCBIN "pic/bmon/wigglytuff.pic" -WigglytuffPicBack: - INCBIN "pic/monback/wigglytuffb.pic" -EeveePicFront: - INCBIN "pic/bmon/eevee.pic" -EeveePicBack: - INCBIN "pic/monback/eeveeb.pic" -FlareonPicFront: - INCBIN "pic/bmon/flareon.pic" -FlareonPicBack: - INCBIN "pic/monback/flareonb.pic" -JolteonPicFront: - INCBIN "pic/bmon/jolteon.pic" -JolteonPicBack: - INCBIN "pic/monback/jolteonb.pic" -VaporeonPicFront: - INCBIN "pic/bmon/vaporeon.pic" -VaporeonPicBack: - INCBIN "pic/monback/vaporeonb.pic" -MachopPicFront: - INCBIN "pic/bmon/machop.pic" -MachopPicBack: - INCBIN "pic/monback/machopb.pic" -ZubatPicFront: - INCBIN "pic/bmon/zubat.pic" -ZubatPicBack: - INCBIN "pic/monback/zubatb.pic" -EkansPicFront: - INCBIN "pic/bmon/ekans.pic" -EkansPicBack: - INCBIN "pic/monback/ekansb.pic" -ParasPicFront: - INCBIN "pic/bmon/paras.pic" -ParasPicBack: - INCBIN "pic/monback/parasb.pic" -PoliwhirlPicFront: - INCBIN "pic/bmon/poliwhirl.pic" -PoliwhirlPicBack: - INCBIN "pic/monback/poliwhirlb.pic" -PoliwrathPicFront: - INCBIN "pic/bmon/poliwrath.pic" -PoliwrathPicBack: - INCBIN "pic/monback/poliwrathb.pic" -WeedlePicFront: - INCBIN "pic/bmon/weedle.pic" -WeedlePicBack: - INCBIN "pic/monback/weedleb.pic" -KakunaPicFront: - INCBIN "pic/bmon/kakuna.pic" -KakunaPicBack: - INCBIN "pic/monback/kakunab.pic" -BeedrillPicFront: - INCBIN "pic/bmon/beedrill.pic" -BeedrillPicBack: - INCBIN "pic/monback/beedrillb.pic" -FossilKabutopsPic: - INCBIN "pic/bmon/fossilkabutops.pic" - -INCBIN "baserom.gbc",$2fb7b,$2fb8e - $2fb7b - -UnnamedText_2fb8e: ; 0x2fb8e - TX_FAR _UnnamedText_2fb8e - db $50 -; 0x2fb8e + 5 bytes - -UnnamedText_2fb93: ; 0x2fb93 - TX_FAR _UnnamedText_2fb93 - db $50 -; 0x2fb93 + 5 bytes - -INCBIN "baserom.gbc",$2fb98,$2fe3b - $2fb98 - -UnnamedText_2fe3b: ; 0x2fe3b - TX_FAR _UnnamedText_2fe3b - db $50 -; 0x2fe3b + 5 bytes - -INCBIN "baserom.gbc",$2fe40,$2ff04 - $2fe40 - -UnnamedText_2ff04: ; 0x2ff04 - TX_FAR _UnnamedText_2ff04 - db $50 -; 0x2ff04 + 5 bytes - -INCBIN "baserom.gbc",$2ff09,$2ff32 - $2ff09 - -UnnamedText_2ff32: ; 0x2ff32 - TX_FAR _UnnamedText_2ff32 - db $50 -; 0x2ff32 + 5 bytes - -UnnamedText_2ff37: ; 0x2ff37 - TX_FAR _UnnamedText_2ff37 - db $50 -; 0x2ff37 + 5 bytes - -SECTION "bankC",DATA,BANK[$C] -DodrioPicFront: - INCBIN "pic/bmon/dodrio.pic" -DodrioPicBack: - INCBIN "pic/monback/dodriob.pic" -PrimeapePicFront: - INCBIN "pic/bmon/primeape.pic" -PrimeapePicBack: - INCBIN "pic/monback/primeapeb.pic" -DugtrioPicFront: - INCBIN "pic/bmon/dugtrio.pic" -DugtrioPicBack: - INCBIN "pic/monback/dugtriob.pic" -VenomothPicFront: - INCBIN "pic/bmon/venomoth.pic" -VenomothPicBack: - INCBIN "pic/monback/venomothb.pic" -DewgongPicFront: - INCBIN "pic/bmon/dewgong.pic" -DewgongPicBack: - INCBIN "pic/monback/dewgongb.pic" -CaterpiePicFront: - INCBIN "pic/bmon/caterpie.pic" -CaterpiePicBack: - INCBIN "pic/monback/caterpieb.pic" -MetapodPicFront: - INCBIN "pic/bmon/metapod.pic" -MetapodPicBack: - INCBIN "pic/monback/metapodb.pic" -ButterfreePicFront: - INCBIN "pic/bmon/butterfree.pic" -ButterfreePicBack: - INCBIN "pic/monback/butterfreeb.pic" -MachampPicFront: - INCBIN "pic/bmon/machamp.pic" -MachampPicBack: - INCBIN "pic/monback/machampb.pic" -GolduckPicFront: - INCBIN "pic/bmon/golduck.pic" -GolduckPicBack: - INCBIN "pic/monback/golduckb.pic" -HypnoPicFront: - INCBIN "pic/bmon/hypno.pic" -HypnoPicBack: - INCBIN "pic/monback/hypnob.pic" -GolbatPicFront: - INCBIN "pic/bmon/golbat.pic" -GolbatPicBack: - INCBIN "pic/monback/golbatb.pic" -MewtwoPicFront: - INCBIN "pic/bmon/mewtwo.pic" -MewtwoPicBack: - INCBIN "pic/monback/mewtwob.pic" -SnorlaxPicFront: - INCBIN "pic/bmon/snorlax.pic" -SnorlaxPicBack: - INCBIN "pic/monback/snorlaxb.pic" -MagikarpPicFront: - INCBIN "pic/bmon/magikarp.pic" -MagikarpPicBack: - INCBIN "pic/monback/magikarpb.pic" -MukPicFront: - INCBIN "pic/bmon/muk.pic" -MukPicBack: - INCBIN "pic/monback/mukb.pic" -KinglerPicFront: - INCBIN "pic/bmon/kingler.pic" -KinglerPicBack: - INCBIN "pic/monback/kinglerb.pic" -CloysterPicFront: - INCBIN "pic/bmon/cloyster.pic" -CloysterPicBack: - INCBIN "pic/monback/cloysterb.pic" -ElectrodePicFront: - INCBIN "pic/bmon/electrode.pic" -ElectrodePicBack: - INCBIN "pic/monback/electrodeb.pic" -ClefablePicFront: - INCBIN "pic/bmon/clefable.pic" -ClefablePicBack: - INCBIN "pic/monback/clefableb.pic" -WeezingPicFront: - INCBIN "pic/bmon/weezing.pic" -WeezingPicBack: - INCBIN "pic/monback/weezingb.pic" -PersianPicFront: - INCBIN "pic/bmon/persian.pic" -PersianPicBack: - INCBIN "pic/monback/persianb.pic" -MarowakPicFront: - INCBIN "pic/bmon/marowak.pic" -MarowakPicBack: - INCBIN "pic/monback/marowakb.pic" -HaunterPicFront: - INCBIN "pic/bmon/haunter.pic" -HaunterPicBack: - INCBIN "pic/monback/haunterb.pic" -AbraPicFront: - INCBIN "pic/bmon/abra.pic" -AbraPicBack: - INCBIN "pic/monback/abrab.pic" -AlakazamPicFront: - INCBIN "pic/bmon/alakazam.pic" -AlakazamPicBack: - INCBIN "pic/monback/alakazamb.pic" -PidgeottoPicFront: - INCBIN "pic/bmon/pidgeotto.pic" -PidgeottoPicBack: - INCBIN "pic/monback/pidgeottob.pic" -PidgeotPicFront: - INCBIN "pic/bmon/pidgeot.pic" -PidgeotPicBack: - INCBIN "pic/monback/pidgeotb.pic" -StarmiePicFront: - INCBIN "pic/bmon/starmie.pic" -StarmiePicBack: - INCBIN "pic/monback/starmieb.pic" -RedPicBack: - INCBIN "pic/trainer/redb.pic" -OldManPic: - INCBIN "pic/trainer/oldman.pic" - -INCBIN "baserom.gbc",$33f2b,$33f52 - $33f2b - -UnnamedText_33f52: ; 0x33f52 - TX_FAR _UnnamedText_33f52 - db $50 -; 0x33f52 + 5 bytes - -INCBIN "baserom.gbc",$33f57,$39 - -SECTION "bankD",DATA,BANK[$D] -BulbasaurPicFront: - INCBIN "pic/bmon/bulbasaur.pic" -BulbasaurPicBack: - INCBIN "pic/monback/bulbasaurb.pic" -VenusaurPicFront: - INCBIN "pic/bmon/venusaur.pic" -VenusaurPicBack: - INCBIN "pic/monback/venusaurb.pic" -TentacruelPicFront: - INCBIN "pic/bmon/tentacruel.pic" -TentacruelPicBack: - INCBIN "pic/monback/tentacruelb.pic" -GoldeenPicFront: - INCBIN "pic/bmon/goldeen.pic" -GoldeenPicBack: - INCBIN "pic/monback/goldeenb.pic" -SeakingPicFront: - INCBIN "pic/bmon/seaking.pic" -SeakingPicBack: - INCBIN "pic/monback/seakingb.pic" -PonytaPicFront: - INCBIN "pic/bmon/ponyta.pic" -RapidashPicFront: - INCBIN "pic/bmon/rapidash.pic" -PonytaPicBack: - INCBIN "pic/monback/ponytab.pic" -RapidashPicBack: - INCBIN "pic/monback/rapidashb.pic" -RattataPicFront: - INCBIN "pic/bmon/rattata.pic" -RattataPicBack: - INCBIN "pic/monback/rattatab.pic" -RaticatePicFront: - INCBIN "pic/bmon/raticate.pic" -RaticatePicBack: - INCBIN "pic/monback/raticateb.pic" -NidorinoPicFront: - INCBIN "pic/bmon/nidorino.pic" -NidorinoPicBack: - INCBIN "pic/monback/nidorinob.pic" -NidorinaPicFront: - INCBIN "pic/bmon/nidorina.pic" -NidorinaPicBack: - INCBIN "pic/monback/nidorinab.pic" -GeodudePicFront: - INCBIN "pic/bmon/geodude.pic" -GeodudePicBack: - INCBIN "pic/monback/geodudeb.pic" -PorygonPicFront: - INCBIN "pic/bmon/porygon.pic" -PorygonPicBack: - INCBIN "pic/monback/porygonb.pic" -AerodactylPicFront: - INCBIN "pic/bmon/aerodactyl.pic" -AerodactylPicBack: - INCBIN "pic/monback/aerodactylb.pic" -MagnemitePicFront: - INCBIN "pic/bmon/magnemite.pic" -MagnemitePicBack: - INCBIN "pic/monback/magnemiteb.pic" -CharmanderPicFront: - INCBIN "pic/bmon/charmander.pic" -CharmanderPicBack: - INCBIN "pic/monback/charmanderb.pic" -SquirtlePicFront: - INCBIN "pic/bmon/squirtle.pic" -SquirtlePicBack: - INCBIN "pic/monback/squirtleb.pic" -CharmeleonPicFront: - INCBIN "pic/bmon/charmeleon.pic" -CharmeleonPicBack: - INCBIN "pic/monback/charmeleonb.pic" -WartortlePicFront: - INCBIN "pic/bmon/wartortle.pic" -WartortlePicBack: - INCBIN "pic/monback/wartortleb.pic" -CharizardPicFront: - INCBIN "pic/bmon/charizard.pic" -CharizardPicBack: - INCBIN "pic/monback/charizardb.pic" -FossilAerodactylPic: - INCBIN "pic/bmon/fossilaerodactyl.pic" -GhostPic: - INCBIN "pic/other/ghost.pic" -OddishPicFront: - INCBIN "pic/bmon/oddish.pic" -OddishPicBack: - INCBIN "pic/monback/oddishb.pic" -GloomPicFront: - INCBIN "pic/bmon/gloom.pic" -GloomPicBack: - INCBIN "pic/monback/gloomb.pic" -VileplumePicFront: - INCBIN "pic/bmon/vileplume.pic" -VileplumePicBack: - INCBIN "pic/monback/vileplumeb.pic" -BellsproutPicFront: - INCBIN "pic/bmon/bellsprout.pic" -BellsproutPicBack: - INCBIN "pic/monback/bellsproutb.pic" -WeepinbellPicFront: - INCBIN "pic/bmon/weepinbell.pic" -WeepinbellPicBack: - INCBIN "pic/monback/weepinbellb.pic" -VictreebelPicFront: - INCBIN "pic/bmon/victreebel.pic" -VictreebelPicBack: - INCBIN "pic/monback/victreebelb.pic" - -INCBIN "baserom.gbc",$37244,$37390 - $37244 - -UnnamedText_37390: ; 0x37390 - TX_FAR _UnnamedText_37390 - db $50 -; 0x37390 + 5 bytes - -INCBIN "baserom.gbc",$37395,$37467 - $37395 - -UnnamedText_37467: ; 0x37467 - TX_FAR _UnnamedText_37467 - db $50 -; 0x37467 + 5 bytes - -UnnamedText_3746c: ; 0x3746c - TX_FAR _UnnamedText_3746c - db $50 -; 0x3746c + 5 bytes - -UnnamedText_37471: ; 0x37471 - TX_FAR _UnnamedText_37471 - db $50 -; 0x37471 + 5 bytes - -UnnamedText_37476: ; 0x37476 - TX_FAR _UnnamedText_37476 - db $50 -; 0x37476 + 5 bytes - -UnnamedText_3747b: ; 0x3747b - TX_FAR _UnnamedText_3747b - db $50 -; 0x3747b + 5 bytes - -INCBIN "baserom.gbc",$37480,$37673 - $37480 - -UnnamedText_37673: ; 0x37673 - TX_FAR _UnnamedText_37673 - db $50 -; 0x37673 + 5 bytes - -INCBIN "baserom.gbc",$37678,$3769d - $37678 - -UnnamedText_3769d: ; 0x3769d - TX_FAR _UnnamedText_3769d - db $50 -; 0x3769d + 5 bytes - -INCBIN "baserom.gbc",$376a2,$44f - -IF _RED - INCBIN "gfx/red/slotmachine1.2bpp" -ENDC -IF _BLUE - INCBIN "gfx/blue/slotmachine1.2bpp" -ENDC - -INCBIN "baserom.gbc",$37ca1,$37e79 - $37ca1 - -UnnamedText_37e79: ; 0x37e79 - TX_FAR _UnnamedText_37e79 - db $50 -; 0x37e79 + 5 bytes - -UnnamedText_37e7e: ; 0x37e7e - TX_FAR _UnnamedText_37e7e - db $50 -; 0x37e7e + 5 bytes - -UnnamedText_37e83: ; 0x37e83 - TX_FAR _UnnamedText_37e83 - db $50 -; 0x37e83 + 5 bytes - -SECTION "bankE",DATA,BANK[$E] - -Moves: ; 4000 -; characteristics of each move -; animation, effect, power, type, accuracy, PP -db POUND ,$00,$28,NORMAL,$FF,35 -db KARATE_CHOP ,$00,$32,NORMAL,$FF,25 -db DOUBLESLAP ,$1D,$0F,NORMAL,$D8,10 -db COMET_PUNCH ,$1D,$12,NORMAL,$D8,15 -db MEGA_PUNCH ,$00,$50,NORMAL,$D8,20 -db PAY_DAY ,$10,$28,NORMAL,$FF,20 -db FIRE_PUNCH ,$04,$4B,FIRE,$FF,15 -db ICE_PUNCH ,$05,$4B,ICE,$FF,15 -db THUNDERPUNCH,$06,$4B,ELECTRIC,$FF,15 -db SCRATCH ,$00,$28,NORMAL,$FF,35 -db VICEGRIP ,$00,$37,NORMAL,$FF,30 -db GUILLOTINE ,$26,$01,NORMAL,$4C,5 -db RAZOR_WIND ,$27,$50,NORMAL,$BF,10 -db SWORDS_DANCE,$32,$00,NORMAL,$FF,30 -db CUT ,$00,$32,NORMAL,$F2,30 -db GUST ,$00,$28,NORMAL,$FF,35 -db WING_ATTACK ,$00,$23,FLYING,$FF,35 -db WHIRLWIND ,$1C,$00,NORMAL,$D8,20 -db FLY ,$2B,$46,FLYING,$F2,15 -db BIND ,$2A,$0F,NORMAL,$BF,20 -db SLAM ,$00,$50,NORMAL,$BF,20 -db VINE_WHIP ,$00,$23,GRASS,$FF,10 -db STOMP ,$25,$41,NORMAL,$FF,20 -db DOUBLE_KICK ,$2C,$1E,FIGHTING,$FF,30 -db MEGA_KICK ,$00,$78,NORMAL,$BF,5 -db JUMP_KICK ,$2D,$46,FIGHTING,$F2,25 -db ROLLING_KICK,$25,$3C,FIGHTING,$D8,15 -db SAND_ATTACK ,$16,$00,NORMAL,$FF,15 -db HEADBUTT ,$25,$46,NORMAL,$FF,15 -db HORN_ATTACK ,$00,$41,NORMAL,$FF,25 -db FURY_ATTACK ,$1D,$0F,NORMAL,$D8,20 -db HORN_DRILL ,$26,$01,NORMAL,$4C,5 -db TACKLE ,$00,$23,NORMAL,$F2,35 -db BODY_SLAM ,$24,$55,NORMAL,$FF,15 -db WRAP ,$2A,$0F,NORMAL,$D8,20 -db TAKE_DOWN ,$30,$5A,NORMAL,$D8,20 -db THRASH ,$1B,$5A,NORMAL,$FF,20 -db DOUBLE_EDGE ,$30,$64,NORMAL,$FF,15 -db TAIL_WHIP ,$13,$00,NORMAL,$FF,30 -db POISON_STING,$02,$0F,POISON,$FF,35 -db TWINEEDLE ,$4D,$19,BUG,$FF,20 -db PIN_MISSILE ,$1D,$0E,BUG,$D8,20 -db LEER ,$13,$00,NORMAL,$FF,30 -db BITE ,$1F,$3C,NORMAL,$FF,25 -db GROWL ,$12,$00,NORMAL,$FF,40 -db ROAR ,$1C,$00,NORMAL,$FF,20 -db SING ,$20,$00,NORMAL,$8C,15 -db SUPERSONIC ,$31,$00,NORMAL,$8C,20 -db SONICBOOM ,$29,$01,NORMAL,$E5,20 -db DISABLE ,$56,$00,NORMAL,$8C,20 -db ACID ,$45,$28,POISON,$FF,30 -db EMBER ,$04,$28,FIRE,$FF,25 -db FLAMETHROWER,$04,$5F,FIRE,$FF,15 -db MIST ,$2E,$00,ICE,$FF,30 -db WATER_GUN ,$00,$28,WATER,$FF,25 -db HYDRO_PUMP ,$00,$78,WATER,$CC,5 -db SURF ,$00,$5F,WATER,$FF,15 -db ICE_BEAM ,$05,$5F,ICE,$FF,10 -db BLIZZARD ,$05,$78,ICE,$E5,5 -db PSYBEAM ,$4C,$41,PSYCHIC,$FF,20 -db BUBBLEBEAM ,$46,$41,WATER,$FF,20 -db AURORA_BEAM ,$44,$41,ICE,$FF,20 -db HYPER_BEAM ,$50,$96,NORMAL,$E5,5 -db PECK ,$00,$23,FLYING,$FF,35 -db DRILL_PECK ,$00,$50,FLYING,$FF,20 -db SUBMISSION ,$30,$50,FIGHTING,$CC,25 -db LOW_KICK ,$25,$32,FIGHTING,$E5,20 -db COUNTER ,$00,$01,FIGHTING,$FF,20 -db SEISMIC_TOSS,$29,$01,FIGHTING,$FF,20 -db STRENGTH ,$00,$50,NORMAL,$FF,15 -db ABSORB ,$03,$14,GRASS,$FF,20 -db MEGA_DRAIN ,$03,$28,GRASS,$FF,10 -db LEECH_SEED ,$54,$00,GRASS,$E5,10 -db GROWTH ,$0D,$00,NORMAL,$FF,40 -db RAZOR_LEAF ,$00,$37,GRASS,$F2,25 -db SOLARBEAM ,$27,$78,GRASS,$FF,10 -db POISONPOWDER,$42,$00,POISON,$BF,35 -db STUN_SPORE ,$43,$00,GRASS,$BF,30 -db SLEEP_POWDER,$20,$00,GRASS,$BF,15 -db PETAL_DANCE ,$1B,$46,GRASS,$FF,20 -db STRING_SHOT ,$14,$00,BUG,$F2,40 -db DRAGON_RAGE ,$29,$01,DRAGON,$FF,10 -db FIRE_SPIN ,$2A,$0F,FIRE,$B2,15 -db THUNDERSHOCK,$06,$28,ELECTRIC,$FF,30 -db THUNDERBOLT ,$06,$5F,ELECTRIC,$FF,15 -db THUNDER_WAVE,$43,$00,ELECTRIC,$FF,20 -db THUNDER ,$06,$78,ELECTRIC,$B2,10 -db ROCK_THROW ,$00,$32,ROCK,$A5,15 -db EARTHQUAKE ,$00,$64,GROUND,$FF,10 -db FISSURE ,$26,$01,GROUND,$4C,5 -db DIG ,$27,$64,GROUND,$FF,10 -db TOXIC ,$42,$00,POISON,$D8,10 -db CONFUSION ,$4C,$32,PSYCHIC,$FF,25 -db PSYCHIC_M ,$47,$5A,PSYCHIC,$FF,10 -db HYPNOSIS ,$20,$00,PSYCHIC,$99,20 -db MEDITATE ,$0A,$00,PSYCHIC,$FF,40 -db AGILITY ,$34,$00,PSYCHIC,$FF,30 -db QUICK_ATTACK,$00,$28,NORMAL,$FF,30 -db RAGE ,$51,$14,NORMAL,$FF,20 -db TELEPORT ,$1C,$00,PSYCHIC,$FF,20 -db NIGHT_SHADE ,$29,$00,GHOST,$FF,15 -db MIMIC ,$52,$00,NORMAL,$FF,10 -db SCREECH ,$3B,$00,NORMAL,$D8,40 -db DOUBLE_TEAM ,$0F,$00,NORMAL,$FF,15 -db RECOVER ,$38,$00,NORMAL,$FF,20 -db HARDEN ,$0B,$00,NORMAL,$FF,30 -db MINIMIZE ,$0F,$00,NORMAL,$FF,20 -db SMOKESCREEN ,$16,$00,NORMAL,$FF,20 -db CONFUSE_RAY ,$31,$00,GHOST,$FF,10 -db WITHDRAW ,$0B,$00,WATER,$FF,40 -db DEFENSE_CURL,$0B,$00,NORMAL,$FF,40 -db BARRIER ,$33,$00,PSYCHIC,$FF,30 -db LIGHT_SCREEN,$40,$00,PSYCHIC,$FF,30 -db HAZE ,$19,$00,ICE,$FF,30 -db REFLECT ,$41,$00,PSYCHIC,$FF,20 -db FOCUS_ENERGY,$2F,$00,NORMAL,$FF,30 -db BIDE ,$1A,$00,NORMAL,$FF,10 -db METRONOME ,$53,$00,NORMAL,$FF,10 -db MIRROR_MOVE ,$09,$00,FLYING,$FF,20 -db SELFDESTRUCT,$07,$82,NORMAL,$FF,5 -db EGG_BOMB ,$00,$64,NORMAL,$BF,10 -db LICK ,$24,$14,GHOST,$FF,30 -db SMOG ,$21,$14,POISON,$B2,20 -db SLUDGE ,$21,$41,POISON,$FF,20 -db BONE_CLUB ,$1F,$41,GROUND,$D8,20 -db FIRE_BLAST ,$22,$78,FIRE,$D8,5 -db WATERFALL ,$00,$50,WATER,$FF,15 -db CLAMP ,$2A,$23,WATER,$BF,10 -db SWIFT ,$11,$3C,NORMAL,$FF,20 -db SKULL_BASH ,$27,$64,NORMAL,$FF,15 -db SPIKE_CANNON,$1D,$14,NORMAL,$FF,15 -db CONSTRICT ,$46,$0A,NORMAL,$FF,35 -db AMNESIA ,$35,$00,PSYCHIC,$FF,20 -db KINESIS ,$16,$00,PSYCHIC,$CC,15 -db SOFTBOILED ,$38,$00,NORMAL,$FF,10 -db HI_JUMP_KICK,$2D,$55,FIGHTING,$E5,20 -db GLARE ,$43,$00,NORMAL,$BF,30 -db DREAM_EATER ,$08,$64,PSYCHIC,$FF,15 -db POISON_GAS ,$42,$00,POISON,$8C,40 -db BARRAGE ,$1D,$0F,NORMAL,$D8,20 -db LEECH_LIFE ,$03,$14,BUG,$FF,15 -db LOVELY_KISS ,$20,$00,NORMAL,$BF,10 -db SKY_ATTACK ,$27,$8C,FLYING,$E5,5 -db TRANSFORM ,$39,$00,NORMAL,$FF,10 -db BUBBLE ,$46,$14,WATER,$FF,30 -db DIZZY_PUNCH ,$00,$46,NORMAL,$FF,10 -db SPORE ,$20,$00,GRASS,$FF,15 -db FLASH ,$16,$00,NORMAL,$B2,20 -db PSYWAVE ,$29,$01,PSYCHIC,$CC,15 -db SPLASH ,$55,$00,NORMAL,$FF,40 -db ACID_ARMOR ,$33,$00,POISON,$FF,40 -db CRABHAMMER ,$00,$5A,WATER,$D8,10 -db EXPLOSION ,$07,$AA,NORMAL,$FF,5 -db FURY_SWIPES ,$1D,$12,NORMAL,$CC,15 -db BONEMERANG ,$2C,$32,GROUND,$E5,10 -db REST ,$38,$00,PSYCHIC,$FF,10 -db ROCK_SLIDE ,$00,$4B,ROCK,$E5,10 -db HYPER_FANG ,$1F,$50,NORMAL,$E5,15 -db SHARPEN ,$0A,$00,NORMAL,$FF,30 -db CONVERSION ,$18,$00,NORMAL,$FF,30 -db TRI_ATTACK ,$00,$50,NORMAL,$FF,10 -db SUPER_FANG ,$28,$01,NORMAL,$E5,10 -db SLASH ,$00,$46,NORMAL,$FF,20 -db SUBSTITUTE ,$4F,$00,NORMAL,$FF,10 -db STRUGGLE ,$30,$32,NORMAL,$FF,10 - -INCBIN "baserom.gbc",$383DE,$39884 - $383DE - -ReadMove: ; 5884 - push hl - push de - push bc - dec a - ld hl,Moves - ld bc,6 - call AddNTimes - ld de,$CFCC - call CopyData - pop bc - pop de - pop hl - ret - -; trainer data: from 5C53 to 652E - -INCBIN "baserom.gbc",$3989B,$39914 - $3989B - -; trainer pic pointers and base money. -dw YoungsterPic -db 0,$15,0 - -dw BugCatcherPic -db 0,$10,0 - -dw LassPic -db 0,$15,0 - -dw SailorPic -db 0,$30,0 - -dw JrTrainerMPic -db 0,$20,0 - -dw JrTrainerFPic -db 0,$20,0 - -dw PokemaniacPic -db 0,$50,0 - -dw SuperNerdPic -db 0,$25,0 - -dw HikerPic -db 0,$35,0 - -dw BikerPic -db 0,$20,0 - -dw BurglarPic -db 0,$90,0 - -dw EngineerPic -db 0,$50,0 - -dw JugglerPic -db 0,$35,0 - -dw FisherPic -db 0,$35,0 - -dw SwimmerPic -db 0,$05,0 - -dw CueBallPic -db 0,$25,0 - -dw GamblerPic -db 0,$70,0 - -dw BeautyPic -db 0,$70,0 - -dw PsychicPic -db 0,$10,0 - -dw RockerPic -db 0,$25,0 - -dw JugglerPic -db 0,$35,0 - -dw TamerPic -db 0,$40,0 - -dw BirdKeeperPic -db 0,$25,0 - -dw BlackbeltPic -db 0,$25,0 - -dw Rival1Pic -db 0,$35,0 - -dw ProfOakPic -db 0,$99,0 - -dw ChiefPic -db 0,$30,0 - -dw ScientistPic -db 0,$50,0 - -dw GiovanniPic -db 0,$99,0 - -dw RocketPic -db 0,$30,0 - -dw CooltrainerMPic -db 0,$35,0 - -dw CooltrainerFPic -db 0,$35,0 - -dw BrunoPic -db 0,$99,0 - -dw BrockPic -db 0,$99,0 - -dw MistyPic -db 0,$99,0 - -dw LtSurgePic -db 0,$99,0 - -dw ErikaPic -db 0,$99,0 - -dw KogaPic -db 0,$99,0 - -dw BlainePic -db 0,$99,0 - -dw SabrinaPic -db 0,$99,0 - -dw GentlemanPic -db 0,$70,0 - -dw Rival2Pic -db 0,$65,0 - -dw Rival3Pic -db 0,$99,0 - -dw LoreleiPic -db 0,$99,0 - -dw ChannelerPic -db 0,$30,0 - -dw AgathaPic -db 0,$99,0 - -dw LancePic -db 0,$99,0 - -TrainerNames: ; 59FF - db "YOUNGSTER@" - db "BUG CATCHER@" - db "LASS@" - db "SAILOR@" - db "JR.TRAINER♂@" - db "JR.TRAINER♀@" - db "POKéMANIAC@" - db "SUPER NERD@" - db "HIKER@" - db "BIKER@" - db "BURGLAR@" - db "ENGINEER@" - db "JUGGLER@" - db "FISHERMAN@" - db "SWIMMER@" - db "CUE BALL@" - db "GAMBLER@" - db "BEAUTY@" - db "PSYCHIC@" - db "ROCKER@" - db "JUGGLER@" - db "TAMER@" - db "BIRD KEEPER@" - db "BLACKBELT@" - db "RIVAL1@" - db "PROF.OAK@" - db "CHIEF@" - db "SCIENTIST@" - db "GIOVANNI@" - db "ROCKET@" - db "COOLTRAINER♂@" - db "COOLTRAINER♀@" - db "BRUNO@" - db "BROCK@" - db "MISTY@" - db "LT.SURGE@" - db "ERIKA@" - db "KOGA@" - db "BLAINE@" - db "SABRINA@" - db "GENTLEMAN@" - db "RIVAL2@" - db "RIVAL3@" - db "LORELEI@" - db "CHANNELER@" - db "AGATHA@" - db "LANCE@" - -INCBIN "baserom.gbc",$39B87,$39C53 - $39B87 - -ReadTrainer: ; 5C53 - -; don't change any moves in a link battle - ld a,[W_ISLINKBATTLE] - and a - ret nz - -; set [W_ENEMYMONCOUNT] to 0, [$D89D] to FF -; XXX first is total enemy pokemon? -; XXX second is species of first pokemon? - ld hl,W_ENEMYMONCOUNT - xor a - ld [hli],a - dec a - ld [hl],a - -; get the pointer to trainer data for this class - ld a,[W_CUROPPONENT] - sub $C9 ; convert value from pokemon to trainer - add a,a - ld hl,TrainerDataPointers - ld c,a - ld b,0 - add hl,bc ; hl points to trainer class - ld a,[hli] - ld h,[hl] - ld l,a - ld a,[W_TRAINERNO] - ld b,a -; At this point b contains the trainer number, -; and hl points to the trainer class. -; Our next task is to iterate through the trainers, -; decrementing b each time, until we get to the right one. -.outer\@ - dec b - jr z,.IterateTrainer -.inner\@ - ld a,[hli] - and a - jr nz,.inner\@ - jr .outer\@ - -; if the first byte of trainer data is FF, -; - each pokemon has a specific level -; (as opposed to the whole team being of the same level) -; - if [W_LONEATTACKNO] != 0, one pokemon on the team has a special move -; else the first byte is the level of every pokemon on the team -.IterateTrainer - ld a,[hli] - cp $FF ; is the trainer special? - jr z,.SpecialTrainer\@ ; if so, check for special moves - ld [W_CURENEMYLVL],a -.LoopTrainerData\@ - ld a,[hli] - and a ; have we reached the end of the trainer data? - jr z,.FinishUp\@ - ld [$CF91],a ; write species somewhere (XXX why?) - ld a,1 - ld [$CC49],a - push hl - call AddPokemonToParty - pop hl - jr .LoopTrainerData\@ -.SpecialTrainer\@ -; if this code is being run: -; - each pokemon has a specific level -; (as opposed to the whole team being of the same level) -; - if [W_LONEATTACKNO] != 0, one pokemon on the team has a special move - ld a,[hli] - and a ; have we reached the end of the trainer data? - jr z,.AddLoneMove\@ - ld [W_CURENEMYLVL],a - ld a,[hli] - ld [$CF91],a - ld a,1 - ld [$CC49],a - push hl - call AddPokemonToParty - pop hl - jr .SpecialTrainer\@ -.AddLoneMove\@ -; does the trainer have a single monster with a different move - ld a,[W_LONEATTACKNO] ; Brock is 01, Misty is 02, Erika is 04, etc - and a - jr z,.AddTeamMove\@ - dec a - add a,a - ld c,a - ld b,0 - ld hl,LoneMoves - add hl,bc - ld a,[hli] - ld d,[hl] - ld hl,W_ENEMYMON1MOVE3 - ld bc,W_ENEMYMON2MOVE3 - W_ENEMYMON1MOVE3 - call AddNTimes - ld [hl],d - jr .FinishUp\@ -.AddTeamMove\@ -; check if our trainer's team has special moves - -; get trainer class number - ld a,[$D059] - sub $C8 - ld b,a - ld hl,TeamMoves - -; iterate through entries in TeamMoves, checking each for our trainer class -.IterateTeamMoves\@ - ld a,[hli] - cp b - jr z,.GiveTeamMoves\@ ; is there a match? - inc hl ; if not, go to the next entry - inc a - jr nz,.IterateTeamMoves\@ - - ; no matches found. is this trainer champion rival? - ld a,b - cp SONY3 - jr z,.ChampionRival\@ - jr .FinishUp\@ ; nope -.GiveTeamMoves\@ - ld a,[hl] - ld [$D95E],a - jr .FinishUp\@ -.ChampionRival\@ ; give moves to his team - -; pidgeot - ld a,SKY_ATTACK - ld [W_ENEMYMON1MOVE3],a - -; starter - ld a,[W_RIVALSTARTER] - cp BULBASAUR - ld b,MEGA_DRAIN - jr z,.GiveStarterMove\@ - cp CHARMANDER - ld b,FIRE_BLAST - jr z,.GiveStarterMove\@ - ld b,BLIZZARD ; must be squirtle -.GiveStarterMove\@ - ld a,b - ld [W_ENEMYMON6MOVE3],a -.FinishUp\@ ; XXX this needs documenting - xor a ; clear D079-D07B - ld de,$D079 - ld [de],a - inc de - ld [de],a - inc de - ld [de],a - ld a,[W_CURENEMYLVL] - ld b,a -.LastLoop\@ - ld hl,$D047 - ld c,2 - push bc - ld a,$B - call Predef - pop bc - inc de - inc de - dec b - jr nz,.LastLoop\@ - ret - -LoneMoves: ; 5D22 -; these are used for gym leaders. -; this is not automatic! you have to write the number you want to W_LONEATTACKNO -; first. e.g., erika's script writes 4 to W_LONEATTACKNO to get mega drain, -; the fourth entry in the list. - -; first byte: pokemon in the trainer's party that gets the move -; second byte: move -; unterminated - db 1,BIDE - db 1,BUBBLEBEAM - db 2,THUNDERBOLT - db 2,MEGA_DRAIN - db 3,TOXIC - db 3,PSYWAVE - db 3,FIRE_BLAST - db 4,FISSURE - -TeamMoves: ; 5D32 -; these are used for elite four. -; this is automatic, based on trainer class. -; don't be confused by LoneMoves above, the two data structures are - ; _completely_ unrelated. - -; first byte: trainer (all trainers in this class have this move) -; second byte: move -; ff-terminated - db LORELEI,BLIZZARD - db BRUNO,FISSURE - db AGATHA,TOXIC - db LANCE,BARRIER - db $FF - -TrainerDataPointers: ; 5D3B - dw YoungsterData,BugCatcherData,LassData,SailorData,JrTrainerMData - dw JrTrainerFData,PokemaniacData,SuperNerdData,HikerData,BikerData - dw BurglarData,EngineerData,Juggler1Data,FisherData,SwimmerData - dw CueBallData,GamblerData,BeautyData,PsychicData,RockerData - dw JugglerData,TamerData,BirdKeeperData,BlackbeltData,Green1Data - dw ProfOakData,ChiefData,ScientistData,GiovanniData,RocketData - dw CooltrainerMData,CooltrainerFData,BrunoData,BrockData,MistyData - dw LtSurgeData,ErikaData,KogaData,BlaineData,SabrinaData - dw GentlemanData,Green2Data,Green3Data,LoreleiData,ChannelerData - dw AgathaData,LanceData - -; if first byte != FF, then - ; first byte is level (of all pokemon on this team) - ; all the next bytes are pokemon species - ; null-terminated -; if first byte == FF, then - ; first byte is FF (obviously) - ; every next two bytes are a level and species - ; null-terminated - -YoungsterData: - db 11,RATTATA,EKANS,0 - db 14,SPEAROW,0 - db 10,RATTATA,RATTATA,ZUBAT,0 - db 14,RATTATA,EKANS,ZUBAT,0 - db 15,RATTATA,SPEAROW,0 - db 17,SLOWPOKE,0 - db 14,EKANS,SANDSHREW,0 - db 21,NIDORAN_M,0 - db 21,EKANS,0 - db 19,SANDSHREW,ZUBAT,0 - db 17,RATTATA,RATTATA,RATICATE,0 - db 18,NIDORAN_M,NIDORINO,0 - db 17,SPEAROW,RATTATA,RATTATA,SPEAROW,0 -BugCatcherData: - db 6,WEEDLE,CATERPIE,0 - db 7,WEEDLE,KAKUNA,WEEDLE,0 - db 9,WEEDLE,0 - db 10,CATERPIE,WEEDLE,CATERPIE,0 - db 9,WEEDLE,KAKUNA,CATERPIE,METAPOD,0 - db 11,CATERPIE,METAPOD,0 - db 11,WEEDLE,KAKUNA,0 - db 10,CATERPIE,METAPOD,CATERPIE,0 - db 14,CATERPIE,WEEDLE,0 - db 16,WEEDLE,CATERPIE,WEEDLE,0 - db 20,BUTTERFREE,0 - db 18,METAPOD,CATERPIE,VENONAT,0 - db 19,BEEDRILL,BEEDRILL,0 - db 20,CATERPIE,WEEDLE,VENONAT,0 -LassData: - db 9,PIDGEY,PIDGEY,0 - db 10,RATTATA,NIDORAN_M,0 - db 14,JIGGLYPUFF,0 - db 31,PARAS,PARAS,PARASECT,0 - db 11,ODDISH,BELLSPROUT,0 - db 14,CLEFAIRY,0 - db 16,PIDGEY,NIDORAN_F,0 - db 14,PIDGEY,NIDORAN_F,0 - db 15,NIDORAN_M,NIDORAN_F,0 - db 13,ODDISH,PIDGEY,ODDISH,0 - db 18,PIDGEY,NIDORAN_F,0 - db 18,RATTATA,PIKACHU,0 - db 23,NIDORAN_F,NIDORINA,0 - db 24,MEOWTH,MEOWTH,MEOWTH,0 - db 19,PIDGEY,RATTATA,NIDORAN_M,MEOWTH,PIKACHU,0 - db 22,CLEFAIRY,CLEFAIRY,0 - db 23,BELLSPROUT,WEEPINBELL,0 - db 23,ODDISH,GLOOM,0 -SailorData: - db 18,MACHOP,SHELLDER,0 - db 17,MACHOP,TENTACOOL,0 - db 21,SHELLDER,0 - db 17,HORSEA,SHELLDER,TENTACOOL,0 - db 18,TENTACOOL,STARYU,0 - db 17,HORSEA,HORSEA,HORSEA,0 - db 20,MACHOP,0 - db 21,PIKACHU,PIKACHU,0 -JrTrainerMData: - db 11,DIGLETT,SANDSHREW,0 - db 14,RATTATA,EKANS,0 - db 18,MANKEY,0 - db 20,SQUIRTLE,0 - db 16,SPEAROW,RATICATE,0 - db 18,DIGLETT,DIGLETT,SANDSHREW,0 - db 21,GROWLITHE,CHARMANDER,0 - db 19,RATTATA,DIGLETT,EKANS,SANDSHREW,0 - db 29,NIDORAN_M,NIDORINO,0 -JrTrainerFData: - db 19,GOLDEEN,0 - db 16,RATTATA,PIKACHU,0 - db 16,PIDGEY,PIDGEY,PIDGEY,0 - db 22,BULBASAUR,0 - db 18,ODDISH,BELLSPROUT,ODDISH,BELLSPROUT,0 - db 23,MEOWTH,0 - db 20,PIKACHU,CLEFAIRY,0 - db 21,PIDGEY,PIDGEOTTO,0 - db 21,JIGGLYPUFF,PIDGEY,MEOWTH,0 - db 22,ODDISH,BULBASAUR,0 - db 24,BULBASAUR,IVYSAUR,0 - db 24,PIDGEY,MEOWTH,RATTATA,PIKACHU,MEOWTH,0 - db 30,POLIWAG,POLIWAG,0 - db 27,PIDGEY,MEOWTH,PIDGEY,PIDGEOTTO,0 - db 28,GOLDEEN,POLIWAG,HORSEA,0 - db 31,GOLDEEN,SEAKING,0 - db 22,BELLSPROUT,CLEFAIRY,0 - db 20,MEOWTH,ODDISH,PIDGEY,0 - db 19,PIDGEY,RATTATA,RATTATA,BELLSPROUT,0 - db 28,GLOOM,ODDISH,ODDISH,0 - db 29,PIKACHU,RAICHU,0 - db 33,CLEFAIRY,0 - db 29,BELLSPROUT,ODDISH,TANGELA,0 - db 30,TENTACOOL,HORSEA,SEEL,0 -PokemaniacData: - db 30,RHYHORN,LICKITUNG,0 - db 20,CUBONE,SLOWPOKE,0 - db 20,SLOWPOKE,SLOWPOKE,SLOWPOKE,0 - db 22,CHARMANDER,CUBONE,0 - db 25,SLOWPOKE,0 - db 40,CHARMELEON,LAPRAS,LICKITUNG,0 - db 23,CUBONE,SLOWPOKE,0 -SuperNerdData: - db 11,MAGNEMITE,VOLTORB,0 - db 12,GRIMER,VOLTORB,KOFFING,0 - db 20,VOLTORB,KOFFING,VOLTORB,MAGNEMITE,0 - db 22,GRIMER,MUK,GRIMER,0 - db 26,KOFFING,0 - db 22,KOFFING,MAGNEMITE,WEEZING,0 - db 20,MAGNEMITE,MAGNEMITE,KOFFING,MAGNEMITE,0 - db 24,MAGNEMITE,VOLTORB,0 - db 36,VULPIX,VULPIX,NINETALES,0 - db 34,PONYTA,CHARMANDER,VULPIX,GROWLITHE,0 - db 41,RAPIDASH,0 - db 37,GROWLITHE,VULPIX,0 -HikerData: - db 10,GEODUDE,GEODUDE,ONIX,0 - db 15,MACHOP,GEODUDE,0 - db 13,GEODUDE,GEODUDE,MACHOP,GEODUDE,0 - db 17,ONIX,0 - db 21,GEODUDE,ONIX,0 - db 20,GEODUDE,MACHOP,GEODUDE,0 - db 21,GEODUDE,ONIX,0 - db 19,ONIX,GRAVELER,0 - db 21,GEODUDE,GEODUDE,GRAVELER,0 - db 25,GEODUDE,0 - db 20,MACHOP,ONIX,0 - db 19,GEODUDE,MACHOP,GEODUDE,GEODUDE,0 - db 20,ONIX,ONIX,GEODUDE,0 - db 21,GEODUDE,GRAVELER,0 -BikerData: - db 28,KOFFING,KOFFING,KOFFING,0 - db 29,KOFFING,GRIMER,0 - db 25,KOFFING,KOFFING,WEEZING,KOFFING,GRIMER,0 - db 28,KOFFING,GRIMER,WEEZING,0 - db 29,GRIMER,KOFFING,0 - db 33,WEEZING,0 - db 26,GRIMER,GRIMER,GRIMER,GRIMER,0 - db 28,WEEZING,KOFFING,WEEZING,0 - db 33,MUK,0 - db 29,VOLTORB,VOLTORB,0 - db 29,WEEZING,MUK,0 - db 25,KOFFING,WEEZING,KOFFING,KOFFING,WEEZING,0 - db 26,KOFFING,KOFFING,GRIMER,KOFFING,0 - db 28,GRIMER,GRIMER,KOFFING,0 - db 29,KOFFING,MUK,0 -BurglarData: - db 29,GROWLITHE,VULPIX,0 - db 33,GROWLITHE,0 - db 28,VULPIX,CHARMANDER,PONYTA,0 - db 36,GROWLITHE,VULPIX,NINETALES,0 - db 41,PONYTA,0 - db 37,VULPIX,GROWLITHE,0 - db 34,CHARMANDER,CHARMELEON,0 - db 38,NINETALES,0 - db 34,GROWLITHE,PONYTA,0 -EngineerData: - db 21,VOLTORB,MAGNEMITE,0 - db 21,MAGNEMITE,0 - db 18,MAGNEMITE,MAGNEMITE,MAGNETON,0 -Juggler1Data: -; none -FisherData: - db 17,GOLDEEN,TENTACOOL,GOLDEEN,0 - db 17,TENTACOOL,STARYU,SHELLDER,0 - db 22,GOLDEEN,POLIWAG,GOLDEEN,0 - db 24,TENTACOOL,GOLDEEN,0 - db 27,GOLDEEN,0 - db 21,POLIWAG,SHELLDER,GOLDEEN,HORSEA,0 - db 28,SEAKING,GOLDEEN,SEAKING,SEAKING,0 - db 31,SHELLDER,CLOYSTER,0 - db 27,MAGIKARP,MAGIKARP,MAGIKARP,MAGIKARP,MAGIKARP,MAGIKARP,0 - db 33,SEAKING,GOLDEEN,0 - db 24,MAGIKARP,MAGIKARP,0 -SwimmerData: - db 16,HORSEA,SHELLDER,0 - db 30,TENTACOOL,SHELLDER,0 - db 29,GOLDEEN,HORSEA,STARYU,0 - db 30,POLIWAG,POLIWHIRL,0 - db 27,HORSEA,TENTACOOL,TENTACOOL,GOLDEEN,0 - db 29,GOLDEEN,SHELLDER,SEAKING,0 - db 30,HORSEA,HORSEA,0 - db 27,TENTACOOL,TENTACOOL,STARYU,HORSEA,TENTACRUEL,0 - db 31,SHELLDER,CLOYSTER,0 - db 35,STARYU,0 - db 28,HORSEA,HORSEA,SEADRA,HORSEA,0 - db 33,SEADRA,TENTACRUEL,0 - db 37,STARMIE,0 - db 33,STARYU,WARTORTLE,0 - db 32,POLIWHIRL,TENTACOOL,SEADRA,0 -CueBallData: - db 28,MACHOP,MANKEY,MACHOP,0 - db 29,MANKEY,MACHOP,0 - db 33,MACHOP,0 - db 29,MANKEY,PRIMEAPE,0 - db 29,MACHOP,MACHOKE,0 - db 33,MACHOKE,0 - db 26,MANKEY,MANKEY,MACHOKE,MACHOP,0 - db 29,PRIMEAPE,MACHOKE,0 - db 31,TENTACOOL,TENTACOOL,TENTACRUEL,0 -GamblerData: - db 18,POLIWAG,HORSEA,0 - db 18,BELLSPROUT,ODDISH,0 - db 18,VOLTORB,MAGNEMITE,0 - db 18,GROWLITHE,VULPIX,0 - db 22,POLIWAG,POLIWAG,POLIWHIRL,0 - db 22,ONIX,GEODUDE,GRAVELER,0 - db 24,GROWLITHE,VULPIX,0 -BeautyData: - db 21,ODDISH,BELLSPROUT,ODDISH,BELLSPROUT,0 - db 24,BELLSPROUT,BELLSPROUT,0 - db 26,EXEGGCUTE,0 - db 27,RATTATA,PIKACHU,RATTATA,0 - db 29,CLEFAIRY,MEOWTH,0 - db 35,SEAKING,0 - db 30,SHELLDER,SHELLDER,CLOYSTER,0 - db 31,POLIWAG,SEAKING,0 - db 29,PIDGEOTTO,WIGGLYTUFF,0 - db 29,BULBASAUR,IVYSAUR,0 - db 33,WEEPINBELL,BELLSPROUT,WEEPINBELL,0 - db 27,POLIWAG,GOLDEEN,SEAKING,GOLDEEN,POLIWAG,0 - db 30,GOLDEEN,SEAKING,0 - db 29,STARYU,STARYU,STARYU,0 - db 30,SEADRA,HORSEA,SEADRA,0 -PsychicData: - db 31,KADABRA,SLOWPOKE,MR_MIME,KADABRA,0 - db 34,MR_MIME,KADABRA,0 - db 33,SLOWPOKE,SLOWPOKE,SLOWBRO,0 - db 38,SLOWBRO,0 -RockerData: - db 20,VOLTORB,MAGNEMITE,VOLTORB,0 - db 29,VOLTORB,ELECTRODE,0 -JugglerData: - db 29,KADABRA,MR_MIME,0 - db 41,DROWZEE,HYPNO,KADABRA,KADABRA,0 - db 31,DROWZEE,DROWZEE,KADABRA,DROWZEE,0 - db 34,DROWZEE,HYPNO,0 - db 48,MR_MIME,0 - db 33,HYPNO,0 - db 38,HYPNO,0 - db 34,DROWZEE,KADABRA,0 -TamerData: - db 34,SANDSLASH,ARBOK,0 - db 33,ARBOK,SANDSLASH,ARBOK,0 - db 43,RHYHORN,0 - db 39,ARBOK,TAUROS,0 - db 44,PERSIAN,GOLDUCK,0 - db 42,RHYHORN,PRIMEAPE,ARBOK,TAUROS,0 -BirdKeeperData: - db 29,PIDGEY,PIDGEOTTO,0 - db 25,SPEAROW,PIDGEY,PIDGEY,SPEAROW,SPEAROW,0 - db 26,PIDGEY,PIDGEOTTO,SPEAROW,FEAROW,0 - db 33,FARFETCH_D,0 - db 29,SPEAROW,FEAROW,0 - db 26,PIDGEOTTO,FARFETCH_D,DODUO,PIDGEY,0 - db 28,DODRIO,DODUO,DODUO,0 - db 29,SPEAROW,FEAROW,0 - db 34,DODRIO,0 - db 26,SPEAROW,SPEAROW,FEAROW,SPEAROW,0 - db 30,FEAROW,FEAROW,PIDGEOTTO,0 - db 39,PIDGEOTTO,PIDGEOTTO,PIDGEY,PIDGEOTTO,0 - db 42,FARFETCH_D,FEAROW,0 - db 28,PIDGEY,DODUO,PIDGEOTTO,0 - db 26,PIDGEY,SPEAROW,PIDGEY,FEAROW,0 - db 29,PIDGEOTTO,FEAROW,0 - db 28,SPEAROW,DODUO,FEAROW,0 -BlackbeltData: - db 37,HITMONLEE,HITMONCHAN,0 - db 31,MANKEY,MANKEY,PRIMEAPE,0 - db 32,MACHOP,MACHOKE,0 - db 36,PRIMEAPE,0 - db 31,MACHOP,MANKEY,PRIMEAPE,0 - db 40,MACHOP,MACHOKE,0 - db 43,MACHOKE,0 - db 38,MACHOKE,MACHOP,MACHOKE,0 - db 43,MACHOKE,MACHOP,MACHOKE,0 -Green1Data: - db 5,SQUIRTLE,0 - db 5,BULBASAUR,0 - db 5,CHARMANDER,0 - db $FF,9,PIDGEY,8,SQUIRTLE,0 - db $FF,9,PIDGEY,8,BULBASAUR,0 - db $FF,9,PIDGEY,8,CHARMANDER,0 - db $FF,18,PIDGEOTTO,15,ABRA,15,RATTATA,17,SQUIRTLE,0 - db $FF,18,PIDGEOTTO,15,ABRA,15,RATTATA,17,BULBASAUR,0 - db $FF,18,PIDGEOTTO,15,ABRA,15,RATTATA,17,CHARMANDER,0 -ProfOakData: - db $FF,66,TAUROS,67,EXEGGUTOR,68,ARCANINE,69,BLASTOISE,70,GYARADOS,0 - db $FF,66,TAUROS,67,EXEGGUTOR,68,ARCANINE,69,VENUSAUR,70,GYARADOS,0 - db $FF,66,TAUROS,67,EXEGGUTOR,68,ARCANINE,69,CHARIZARD,70,GYARADOS,0 -ChiefData: -; none -ScientistData: - db 34,KOFFING,VOLTORB,0 - db 26,GRIMER,WEEZING,KOFFING,WEEZING,0 - db 28,MAGNEMITE,VOLTORB,MAGNETON,0 - db 29,ELECTRODE,WEEZING,0 - db 33,ELECTRODE,0 - db 26,MAGNETON,KOFFING,WEEZING,MAGNEMITE,0 - db 25,VOLTORB,KOFFING,MAGNETON,MAGNEMITE,KOFFING,0 - db 29,ELECTRODE,MUK,0 - db 29,GRIMER,ELECTRODE,0 - db 28,VOLTORB,KOFFING,MAGNETON,0 - db 29,MAGNEMITE,KOFFING,0 - db 33,MAGNEMITE,MAGNETON,VOLTORB,0 - db 34,MAGNEMITE,ELECTRODE,0 -GiovanniData: - db $FF,25,ONIX,24,RHYHORN,29,KANGASKHAN,0 - db $FF,37,NIDORINO,35,KANGASKHAN,37,RHYHORN,41,NIDOQUEEN,0 - db $FF,45,RHYHORN,42,DUGTRIO,44,NIDOQUEEN,45,NIDOKING,50,RHYDON,0 -RocketData: - db 13,RATTATA,ZUBAT,0 - db 11,SANDSHREW,RATTATA,ZUBAT,0 - db 12,ZUBAT,EKANS,0 - db 16,RATICATE,0 - db 17,MACHOP,DROWZEE,0 - db 15,EKANS,ZUBAT,0 - db 20,RATICATE,ZUBAT,0 - db 21,DROWZEE,MACHOP,0 - db 21,RATICATE,RATICATE,0 - db 20,GRIMER,KOFFING,KOFFING,0 - db 19,RATTATA,RATICATE,RATICATE,RATTATA,0 - db 22,GRIMER,KOFFING,0 - db 17,ZUBAT,KOFFING,GRIMER,ZUBAT,RATICATE,0 - db 20,RATTATA,RATICATE,DROWZEE,0 - db 21,MACHOP,MACHOP,0 - db 23,SANDSHREW,EKANS,SANDSLASH,0 - db 23,EKANS,SANDSHREW,ARBOK,0 - db 21,KOFFING,ZUBAT,0 - db 25,ZUBAT,ZUBAT,GOLBAT,0 - db 26,KOFFING,DROWZEE,0 - db 23,ZUBAT,RATTATA,RATICATE,ZUBAT,0 - db 26,DROWZEE,KOFFING,0 - db 29,CUBONE,ZUBAT,0 - db 25,GOLBAT,ZUBAT,ZUBAT,RATICATE,ZUBAT,0 - db 28,RATICATE,HYPNO,RATICATE,0 - db 29,MACHOP,DROWZEE,0 - db 28,EKANS,ZUBAT,CUBONE,0 - db 33,ARBOK,0 - db 33,HYPNO,0 - db 29,MACHOP,MACHOKE,0 - db 28,ZUBAT,ZUBAT,GOLBAT,0 - db 26,RATICATE,ARBOK,KOFFING,GOLBAT,0 - db 29,CUBONE,CUBONE,0 - db 29,SANDSHREW,SANDSLASH,0 - db 26,RATICATE,ZUBAT,GOLBAT,RATTATA,0 - db 28,WEEZING,GOLBAT,KOFFING,0 - db 28,DROWZEE,GRIMER,MACHOP,0 - db 28,GOLBAT,DROWZEE,HYPNO,0 - db 33,MACHOKE,0 - db 25,RATTATA,RATTATA,ZUBAT,RATTATA,EKANS,0 - db 32,CUBONE,DROWZEE,MAROWAK,0 -CooltrainerMData: - db 39,NIDORINO,NIDOKING,0 - db 43,EXEGGUTOR,CLOYSTER,ARCANINE,0 - db 43,KINGLER,TENTACRUEL,BLASTOISE,0 - db 45,KINGLER,STARMIE,0 - db 42,IVYSAUR,WARTORTLE,CHARMELEON,CHARIZARD,0 - db 44,IVYSAUR,WARTORTLE,CHARMELEON,0 - db 49,NIDOKING,0 - db 44,KINGLER,CLOYSTER,0 - db 39,SANDSLASH,DUGTRIO,0 - db 43,RHYHORN,0 -CooltrainerFData: - db 24,WEEPINBELL,GLOOM,IVYSAUR,0 - db 43,BELLSPROUT,WEEPINBELL,VICTREEBEL,0 - db 43,PARASECT,DEWGONG,CHANSEY,0 - db 46,VILEPLUME,BUTTERFREE,0 - db 44,PERSIAN,NINETALES,0 - db 45,IVYSAUR,VENUSAUR,0 - db 45,NIDORINA,NIDOQUEEN,0 - db 43,PERSIAN,NINETALES,RAICHU,0 -BrunoData: - db $FF,53,ONIX,55,HITMONCHAN,55,HITMONLEE,56,ONIX,58,MACHAMP,0 -BrockData: - db $FF,12,GEODUDE,14,ONIX,0 -MistyData: - db $FF,18,STARYU,21,STARMIE,0 -LtSurgeData: - db $FF,21,VOLTORB,18,PIKACHU,24,RAICHU,0 -ErikaData: - db $FF,29,VICTREEBEL,24,TANGELA,29,VILEPLUME,0 -KogaData: - db $FF,37,KOFFING,39,MUK,37,KOFFING,43,WEEZING,0 -BlaineData: - db $FF,42,GROWLITHE,40,PONYTA,42,RAPIDASH,47,ARCANINE,0 -SabrinaData: - db $FF,38,KADABRA,37,MR_MIME,38,VENOMOTH,43,ALAKAZAM,0 -GentlemanData: - db 18,GROWLITHE,GROWLITHE,0 - db 19,NIDORAN_M,NIDORAN_F,0 - db 23,PIKACHU,0 - db 48,PRIMEAPE,0 - db 17,GROWLITHE,PONYTA,0 -Green2Data: - db $FF,19,PIDGEOTTO,16,RATICATE,18,KADABRA,20,WARTORTLE,0 - db $FF,19,PIDGEOTTO,16,RATICATE,18,KADABRA,20,IVYSAUR,0 - db $FF,19,PIDGEOTTO,16,RATICATE,18,KADABRA,20,CHARMELEON,0 - db $FF,25,PIDGEOTTO,23,GROWLITHE,22,EXEGGCUTE,20,KADABRA,25,WARTORTLE,0 - db $FF,25,PIDGEOTTO,23,GYARADOS,22,GROWLITHE,20,KADABRA,25,IVYSAUR,0 - db $FF,25,PIDGEOTTO,23,EXEGGCUTE,22,GYARADOS,20,KADABRA,25,CHARMELEON,0 - db $FF,37,PIDGEOT,38,GROWLITHE,35,EXEGGCUTE,35,ALAKAZAM,40,BLASTOISE,0 - db $FF,37,PIDGEOT,38,GYARADOS,35,GROWLITHE,35,ALAKAZAM,40,VENUSAUR,0 - db $FF,37,PIDGEOT,38,EXEGGCUTE,35,GYARADOS,35,ALAKAZAM,40,CHARIZARD,0 - db $FF,47,PIDGEOT,45,RHYHORN,45,GROWLITHE,47,EXEGGCUTE,50,ALAKAZAM,53,BLASTOISE,0 - db $FF,47,PIDGEOT,45,RHYHORN,45,GYARADOS,47,GROWLITHE,50,ALAKAZAM,53,VENUSAUR,0 - db $FF,47,PIDGEOT,45,RHYHORN,45,EXEGGCUTE,47,GYARADOS,50,ALAKAZAM,53,CHARIZARD,0 -Green3Data: - db $FF,61,PIDGEOT,59,ALAKAZAM,61,RHYDON,61,ARCANINE,63,EXEGGUTOR,65,BLASTOISE,0 - db $FF,61,PIDGEOT,59,ALAKAZAM,61,RHYDON,61,GYARADOS,63,ARCANINE,65,VENUSAUR,0 - db $FF,61,PIDGEOT,59,ALAKAZAM,61,RHYDON,61,EXEGGUTOR,63,GYARADOS,65,CHARIZARD,0 -LoreleiData: - db $FF,54,DEWGONG,53,CLOYSTER,54,SLOWBRO,56,JYNX,56,LAPRAS,0 -ChannelerData: - db 22,GASTLY,0 - db 24,GASTLY,0 - db 23,GASTLY,GASTLY,0 - db 24,GASTLY,0 - db 23,GASTLY,0 - db 24,GASTLY,0 - db 24,HAUNTER,0 - db 22,GASTLY,0 - db 24,GASTLY,0 - db 23,GASTLY,GASTLY,0 - db 24,GASTLY,0 - db 22,GASTLY,0 - db 24,GASTLY,0 - db 23,HAUNTER,0 - db 24,GASTLY,0 - db 22,GASTLY,0 - db 24,GASTLY,0 - db 22,HAUNTER,0 - db 22,GASTLY,GASTLY,GASTLY,0 - db 24,GASTLY,0 - db 24,GASTLY,0 - db 34,GASTLY,HAUNTER,0 - db 38,HAUNTER,0 - db 33,GASTLY,GASTLY,HAUNTER,0 -AgathaData: - db $FF,56,GENGAR,56,GOLBAT,55,HAUNTER,58,ARBOK,60,GENGAR,0 -LanceData: - db $FF,58,GYARADOS,56,DRAGONAIR,56,DRAGONAIR,60,AERODACTYL,62,DRAGONITE,0 - -TrainerAI: ; 652E -;XXX called at 34964, 3c342, 3c398 - and a - ld a,[W_ISINBATTLE] - dec a - ret z ; if not a trainer, we're done here - ld a,[W_ISLINKBATTLE] - cp 4 - ret z - ld a,[W_TRAINERCLASS] ; what trainer class is this? - dec a - ld c,a - ld b,0 - ld hl,TrainerAIPointers - add hl,bc - add hl,bc - add hl,bc - ld a,[W_AICOUNT] - and a - ret z ; if no AI uses left, we're done here - inc hl - inc a - jr nz,.getpointer\@ - dec hl - ld a,[hli] - ld [W_AICOUNT],a -.getpointer\@ - ld a,[hli] - ld h,[hl] - ld l,a - call GenRandom - jp [hl] - -TrainerAIPointers: ; 655C -; one entry per trainer class -; first byte, number of times (per Pokémon) it can occur -; next two bytes, pointer to AI subroutine for trainer class - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,JugglerAI ; juggler_x - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,JugglerAI ; juggler - dbw 3,GenericAI - dbw 3,GenericAI - dbw 2,BlackbeltAI ; blackbelt - dbw 3,GenericAI - dbw 3,GenericAI - dbw 1,GenericAI ; chief - dbw 3,GenericAI - dbw 1,GiovanniAI ; giovanni - dbw 3,GenericAI - dbw 2,CooltrainerMAI ; cooltrainerm - dbw 1,CooltrainerFAI ; cooltrainerf - dbw 2,BrunoAI ; bruno - dbw 5,BrockAI ; brock - dbw 1,MistyAI ; misty - dbw 1,LtSurgeAI ; surge - dbw 1,ErikaAI ; erika - dbw 2,KogaAI ; koga - dbw 2,BlaineAI ; blaine - dbw 1,SabrinaAI ; sabrina - dbw 3,GenericAI - dbw 1,Sony2AI ; sony2 - dbw 1,Sony3AI ; sony3 - dbw 2,LoreleiAI ; lorelei - dbw 3,GenericAI - dbw 2,AgathaAI ; agatha - dbw 1,LanceAI ; lance - -JugglerAI: - cp $40 - ret nc - jp $672A - -BlackbeltAI: - cp $20 - ret nc - jp AIUseXAttack - -GiovanniAI: - cp $40 - ret nc - jp AIUseGuardSpec - -CooltrainerMAI: - cp $40 - ret nc - jp AIUseXAttack - -CooltrainerFAI: - cp $40 - ld a,$A - call $67CF - jp c,AIUseHyperPotion - ld a,5 - call $67CF - ret nc - jp $672A - -BrockAI: -; if his active monster has a status condition, use a full heal - ld a,[W_ENEMYMONSTATUS] - and a - ret z - jp AIUseFullHeal - -MistyAI: - cp $40 - ret nc - jp AIUseXDefend - -LtSurgeAI: - cp $40 - ret nc - jp AIUseXSpeed - -ErikaAI: - cp $80 - ret nc - ld a,$A - call $67CF - ret nc - jp AIUseSuperPotion - -KogaAI: - cp $40 - ret nc - jp AIUseXAttack - -BlaineAI: - cp $40 - ret nc - jp AIUseSuperPotion - -SabrinaAI: - cp $40 - ret nc - ld a,$A - call $67CF - ret nc - jp AIUseHyperPotion - -Sony2AI: - cp $20 - ret nc - ld a,5 - call $67CF - ret nc - jp AIUsePotion - -Sony3AI: - cp $20 - ret nc - ld a,5 - call $67CF - ret nc - jp AIUseFullRestore - -LoreleiAI: - cp $80 - ret nc - ld a,5 - call $67CF - ret nc - jp AIUseSuperPotion - -BrunoAI: - cp $40 - ret nc - jp AIUseXDefend - -AgathaAI: - cp $14 - jp c,$672A - cp $80 - ret nc - ld a,4 - call $67CF - ret nc - jp AIUseSuperPotion - -LanceAI: - cp $80 - ret nc - ld a,5 - call $67CF - ret nc - jp AIUseHyperPotion - -GenericAI: - and a ; clear carry - ret - -; end of individual trainer AI routines - -DecrementAICount: ; 6695 - ld hl,W_AICOUNT - dec [hl] - scf - ret - -Function669B: ; 669B -; XXX what does this do - ld a,$8E - jp $3740 - -AIUseFullRestore: ; 0x3a6a0 - call AICureStatus - ld a,FULL_RESTORE - ld [$CF05],a - ld de,$CEEB - ld hl,$CFE7 - ld a,[hld] - ld [de],a - inc de - ld a,[hl] - ld [de],a - inc de - ld hl,$CFF5 - ld a,[hld] - ld [de],a - inc de - ld [$CEE9],a - ld [$CFE7],a - ld a,[hl] - ld [de],a - ld [$CEEA],a - ld [W_ENEMYMONCURHP],a - jr Function6718 -; 0x3a6ca - -AIUsePotion: ; 0x3a6ca -; enemy trainer heals his monster with a potion - ld a,POTION - ld b,20 - jr AIRecoverHP - -AIUseSuperPotion: ; 0x3a6d0 -; enemy trainer heals his monster with a super potion - ld a,SUPER_POTION - ld b,50 - jr AIRecoverHP - -AIUseHyperPotion: ; 0x3a6d6 -; enemy trainer heals his monster with a hyper potion - ld a,HYPER_POTION - ld b,200 - ; fallthrough - -AIRecoverHP: ; 66DA -; heal b HP and print "trainer used $(a) on pokemon!" - ld [$CF05],a - ld hl,$CFE7 - ld a,[hl] - ld [$CEEB],a - add b - ld [hld],a - ld [$CEED],a - ld a,[hl] - ld [$CEEC],a - ld [$CEEE],a - jr nc,.next\@ - inc a - ld [hl],a - ld [$CEEE],a -.next\@ - inc hl - ld a,[hld] - ld b,a - ld de,$CFF5 - ld a,[de] - dec de - ld [$CEE9],a - sub b - ld a,[hli] - ld b,a - ld a,[de] - ld [$CEEA],a - sbc b - jr nc,Function6718 - inc de - ld a,[de] - dec de - ld [hld],a - ld [$CEED],a - ld a,[de] - ld [hl],a - ld [$CEEE],a - ; fallthrough - -Function6718: ; 6718 - call AIPrintItemUse_ - ld hl,$C3CA - xor a - ld [$CF94],a - ld a,$48 - call Predef - jp DecrementAICount - -Function672A: ; 672A - ld a,[W_ENEMYMONCOUNT] - ld c,a - ld hl,W_ENEMYMON1HP - - ld d,0 ; keep count of unfainted monsters - - ; count how many monsters haven't fainted yet -.loop\@ - ld a,[hli] - ld b,a - ld a,[hld] - or b - jr z,.Fainted\@ ; has monster fainted? - inc d -.Fainted\@ - push bc - ld bc,$2C - add hl,bc - pop bc - dec c - jr nz,.loop\@ - - ld a,d ; how many available monsters are there? - cp 2 ; don't bother if only 1 or 2 - jp nc,Function674B ; XXX check, does this jump when a = 2? - and a - ret - -Function674B: ; 674B - -; prepare to withdraw the active monster: copy hp, number, and status to roster - - ld a,[W_ENEMYMONNUMBER] - ld hl,W_ENEMYMON1HP - ld bc,$2C - call AddNTimes - ld d,h - ld e,l - ld hl,W_ENEMYMONCURHP - ld bc,4 - call CopyData - - ld hl, AIBattleWithdrawText - call PrintText - - ld a,1 - ld [$D11D],a - ld hl,EnemySendOut - ld b,BANK(EnemySendOut) - call Bankswitch - xor a - ld [$D11D],a - - ld a,[W_ISLINKBATTLE] - cp 4 - ret z - scf - ret - -AIBattleWithdrawText: ; 0x3a781 - TX_FAR _AIBattleWithdrawText - db "@" - -AIUseFullHeal: ; 0x3a786 - call $669B - call AICureStatus - ld a,FULL_HEAL - jp AIPrintItemUse - -AICureStatus: ; 0x3a791 -; cures the status of enemy's active pokemon - ld a,[W_ENEMYMONNUMBER] - ld hl,$D8A8 - ld bc,$2C - call AddNTimes - xor a - ld [hl],a ; clear status in enemy team roster - ld [W_ENEMYMONSTATUS],a ; clear status of active enemy - ld hl,$D069 - res 0,[hl] - ret - -AIUseXAccuracy: ; 0x3a7a8 unused - call $669B - ld hl,$D068 - set 0,[hl] - ld a,X_ACCURACY - jp AIPrintItemUse - -AIUseGuardSpec: ; 0x3a7b5 - call $669B - ld hl,$D068 - set 1,[hl] - ld a,GUARD_SPEC_ - jp AIPrintItemUse - -AIUseDireHit: ; 0x3a7c2 unused - call $669B - ld hl,$D068 - set 2,[hl] - ld a,DIRE_HIT - jp AIPrintItemUse - -Function67CF: ; 0x3a7cf 67CF - ld [H_DIVISOR],a - ld hl,$CFF4 - ld a,[hli] - ld [H_DIVIDEND],a - ld a,[hl] - ld [H_DIVIDEND + 1],a - ld b,2 - call $38B9 - ld a,[H_QUOTIENT + 3] - ld c,a - ld a,[H_QUOTIENT + 2] - ld b,a - ld hl,$CFE7 - ld a,[hld] - ld e,a - ld a,[hl] - ld d,a - ld a,d - sub b - ret nz - ld a,e - sub c - ret - -AIUseXAttack: ; 0x3a7f2 - ld b,$A - ld a,X_ATTACK - jr AIIncreaseStat - -AIUseXDefend: ; 0x3a7f8 - ld b,$B - ld a,X_DEFEND - jr AIIncreaseStat - -AIUseXSpeed: ; 0x3a7fe - ld b,$C - ld a,X_SPEED - jr AIIncreaseStat - -AIUseXSpecial: ; 0x3a804 - ld b,$D - ld a,X_SPECIAL - ; fallthrough - -AIIncreaseStat: ; 0x3a808 - ld [$CF05],a - push bc - call AIPrintItemUse_ - pop bc - ld hl,$CFCD - ld a,[hld] - push af - ld a,[hl] - push af - push hl - ld a,$AF - ld [hli],a - ld [hl],b - ld hl,$7428 - ld b,$F - call Bankswitch - pop hl - pop af - ld [hli],a - pop af - ld [hl],a - jp DecrementAICount - -AIPrintItemUse: ; 0x3a82c - ld [$CF05],a - call AIPrintItemUse_ - jp DecrementAICount - -AIPrintItemUse_: ; 0x3a835 -; print "x used [$CF05] on z!" - ld a,[$CF05] - ld [$D11E],a - call GetItemName - ld hl, AIBattleUseItemText - jp PrintText - -AIBattleUseItemText: ; 0x3a844 - TX_FAR _AIBattleUseItemText - db "@" - -INCBIN "baserom.gbc",$3a849,$3af3e - $3a849 - -UnnamedText_3af3e: ; 0x3af3e - TX_FAR _UnnamedText_3af3e - db $50 -; 0x3af3e + 5 bytes - -UnnamedText_3af43: ; 0x3af43 - TX_FAR _UnnamedText_3af43 - db $50 -; 0x3af43 + 5 bytes - -UnnamedText_3af48: ; 0x3af48 - TX_FAR _UnnamedText_3af48 - db $50 -; 0x3af48 + 5 bytes - -UnnamedText_3af4d: ; 0x3af4d - TX_FAR _UnnamedText_3af4d - db $50 -; 0x3af4d + 5 bytes - -INCBIN "baserom.gbc",$3af52,$10a - -EvosMovesPointerTable: ; 705C - dw Mon112_EvosMoves - dw Mon115_EvosMoves - dw Mon032_EvosMoves - dw Mon035_EvosMoves - dw Mon021_EvosMoves - dw Mon100_EvosMoves - dw Mon034_EvosMoves - dw Mon080_EvosMoves - dw Mon002_EvosMoves - dw Mon103_EvosMoves - dw Mon108_EvosMoves - dw Mon102_EvosMoves - dw Mon088_EvosMoves - dw Mon094_EvosMoves - dw Mon029_EvosMoves - dw Mon031_EvosMoves - dw Mon104_EvosMoves - dw Mon111_EvosMoves - dw Mon131_EvosMoves - dw Mon059_EvosMoves - dw Mon151_EvosMoves - dw Mon130_EvosMoves - dw Mon090_EvosMoves - dw Mon072_EvosMoves - dw Mon092_EvosMoves - dw Mon123_EvosMoves - dw Mon120_EvosMoves - dw Mon009_EvosMoves - dw Mon127_EvosMoves - dw Mon114_EvosMoves - dw Mon152_EvosMoves ;MissingNo - dw Mon153_EvosMoves ;MissingNo - dw Mon058_EvosMoves - dw Mon095_EvosMoves - dw Mon022_EvosMoves - dw Mon016_EvosMoves - dw Mon079_EvosMoves - dw Mon064_EvosMoves - dw Mon075_EvosMoves - dw Mon113_EvosMoves - dw Mon067_EvosMoves - dw Mon122_EvosMoves - dw Mon106_EvosMoves - dw Mon107_EvosMoves - dw Mon024_EvosMoves - dw Mon047_EvosMoves - dw Mon054_EvosMoves - dw Mon096_EvosMoves - dw Mon076_EvosMoves - dw Mon154_EvosMoves ;MissingNo - dw Mon126_EvosMoves - dw Mon155_EvosMoves ;MissingNo - dw Mon125_EvosMoves - dw Mon082_EvosMoves - dw Mon109_EvosMoves - dw Mon156_EvosMoves ;MissingNo - dw Mon056_EvosMoves - dw Mon086_EvosMoves - dw Mon050_EvosMoves - dw Mon128_EvosMoves - dw Mon157_EvosMoves ;MissingNo - dw Mon158_EvosMoves ;MissingNo - dw Mon159_EvosMoves ;MissingNo - dw Mon083_EvosMoves - dw Mon048_EvosMoves - dw Mon149_EvosMoves - dw Mon160_EvosMoves ;MissingNo - dw Mon161_EvosMoves ;MissingNo - dw Mon162_EvosMoves ;MissingNo - dw Mon084_EvosMoves - dw Mon060_EvosMoves - dw Mon124_EvosMoves - dw Mon146_EvosMoves - dw Mon144_EvosMoves - dw Mon145_EvosMoves - dw Mon132_EvosMoves - dw Mon052_EvosMoves - dw Mon098_EvosMoves - dw Mon163_EvosMoves ;MissingNo - dw Mon164_EvosMoves ;MissingNo - dw Mon165_EvosMoves ;MissingNo - dw Mon037_EvosMoves - dw Mon038_EvosMoves - dw Mon025_EvosMoves - dw Mon026_EvosMoves - dw Mon166_EvosMoves ;MissingNo - dw Mon167_EvosMoves ;MissingNo - dw Mon147_EvosMoves - dw Mon148_EvosMoves - dw Mon140_EvosMoves - dw Mon141_EvosMoves - dw Mon116_EvosMoves - dw Mon117_EvosMoves - dw Mon168_EvosMoves ;MissingNo - dw Mon169_EvosMoves ;MissingNo - dw Mon027_EvosMoves - dw Mon028_EvosMoves - dw Mon138_EvosMoves - dw Mon139_EvosMoves - dw Mon039_EvosMoves - dw Mon040_EvosMoves - dw Mon133_EvosMoves - dw Mon136_EvosMoves - dw Mon135_EvosMoves - dw Mon134_EvosMoves - dw Mon066_EvosMoves - dw Mon041_EvosMoves - dw Mon023_EvosMoves - dw Mon046_EvosMoves - dw Mon061_EvosMoves - dw Mon062_EvosMoves - dw Mon013_EvosMoves - dw Mon014_EvosMoves - dw Mon015_EvosMoves - dw Mon170_EvosMoves ;MissingNo - dw Mon085_EvosMoves - dw Mon057_EvosMoves - dw Mon051_EvosMoves - dw Mon049_EvosMoves - dw Mon087_EvosMoves - dw Mon171_EvosMoves ;MissingNo - dw Mon172_EvosMoves ;MissingNo - dw Mon010_EvosMoves - dw Mon011_EvosMoves - dw Mon012_EvosMoves - dw Mon068_EvosMoves - dw Mon173_EvosMoves ;MissingNo - dw Mon055_EvosMoves - dw Mon097_EvosMoves - dw Mon042_EvosMoves - dw Mon150_EvosMoves - dw Mon143_EvosMoves - dw Mon129_EvosMoves - dw Mon174_EvosMoves ;MissingNo - dw Mon175_EvosMoves ;MissingNo - dw Mon089_EvosMoves - dw Mon176_EvosMoves ;MissingNo - dw Mon099_EvosMoves - dw Mon091_EvosMoves - dw Mon177_EvosMoves ;MissingNo - dw Mon101_EvosMoves - dw Mon036_EvosMoves - dw Mon110_EvosMoves - dw Mon053_EvosMoves - dw Mon105_EvosMoves - dw Mon178_EvosMoves ;MissingNo - dw Mon093_EvosMoves - dw Mon063_EvosMoves - dw Mon065_EvosMoves - dw Mon017_EvosMoves - dw Mon018_EvosMoves - dw Mon121_EvosMoves - dw Mon001_EvosMoves - dw Mon003_EvosMoves - dw Mon073_EvosMoves - dw Mon179_EvosMoves ;MissingNo - dw Mon118_EvosMoves - dw Mon119_EvosMoves - dw Mon180_EvosMoves ;MissingNo - dw Mon181_EvosMoves ;MissingNo - dw Mon182_EvosMoves ;MissingNo - dw Mon183_EvosMoves ;MissingNo - dw Mon077_EvosMoves - dw Mon078_EvosMoves - dw Mon019_EvosMoves - dw Mon020_EvosMoves - dw Mon033_EvosMoves - dw Mon030_EvosMoves - dw Mon074_EvosMoves - dw Mon137_EvosMoves - dw Mon142_EvosMoves - dw Mon184_EvosMoves ;MissingNo - dw Mon081_EvosMoves - dw Mon185_EvosMoves ;MissingNo - dw Mon186_EvosMoves ;MissingNo - dw Mon004_EvosMoves - dw Mon007_EvosMoves - dw Mon005_EvosMoves - dw Mon008_EvosMoves - dw Mon006_EvosMoves - dw Mon187_EvosMoves ;MissingNo - dw Mon188_EvosMoves ;MissingNo - dw Mon189_EvosMoves ;MissingNo - dw Mon190_EvosMoves ;MissingNo - dw Mon043_EvosMoves - dw Mon044_EvosMoves - dw Mon045_EvosMoves - dw Mon069_EvosMoves - dw Mon070_EvosMoves - dw Mon071_EvosMoves - -Mon112_EvosMoves: -;RHYDON -;Evolutions - db 0 -;Learnset - db 30,STOMP - db 35,TAIL_WHIP - db 40,FURY_ATTACK - db 48,HORN_DRILL - db 55,LEER - db 64,TAKE_DOWN - db 0 -Mon115_EvosMoves: -;KANGASKHAN -;Evolutions - db 0 -;Learnset - db 26,BITE - db 31,TAIL_WHIP - db 36,MEGA_PUNCH - db 41,LEER - db 46,DIZZY_PUNCH - db 0 -Mon032_EvosMoves: -;NIDORAN_M -;Evolutions - db EV_LEVEL,16,NIDORINO - db 0 -;Learnset - db 8,HORN_ATTACK - db 14,POISON_STING - db 21,FOCUS_ENERGY - db 29,FURY_ATTACK - db 36,HORN_DRILL - db 43,DOUBLE_KICK - db 0 -Mon035_EvosMoves: -;CLEFAIRY -;Evolutions - db EV_ITEM,MOON_STONE,1,CLEFABLE - db 0 -;Learnset - db 13,SING - db 18,DOUBLESLAP - db 24,MINIMIZE - db 31,METRONOME - db 39,DEFENSE_CURL - db 48,LIGHT_SCREEN - db 0 -Mon021_EvosMoves: -;SPEAROW -;Evolutions - db EV_LEVEL,20,FEAROW - db 0 -;Learnset - db 9,LEER - db 15,FURY_ATTACK - db 22,MIRROR_MOVE - db 29,DRILL_PECK - db 36,AGILITY - db 0 -Mon100_EvosMoves: -;VOLTORB -;Evolutions - db EV_LEVEL,30,ELECTRODE - db 0 -;Learnset - db 17,SONICBOOM - db 22,SELFDESTRUCT - db 29,LIGHT_SCREEN - db 36,SWIFT - db 43,EXPLOSION - db 0 -Mon034_EvosMoves: -;NIDOKING -;Evolutions - db 0 -;Learnset - db 8,HORN_ATTACK - db 14,POISON_STING - db 23,THRASH - db 0 -Mon080_EvosMoves: -;SLOWBRO -;Evolutions - db 0 -;Learnset - db 18,DISABLE - db 22,HEADBUTT - db 27,GROWL - db 33,WATER_GUN - db 37,WITHDRAW - db 44,AMNESIA - db 55,PSYCHIC_M - db 0 -Mon002_EvosMoves: -;IVYSAUR -;Evolutions - db EV_LEVEL,32,VENUSAUR - db 0 -;Learnset - db 7,LEECH_SEED - db 13,VINE_WHIP - db 22,POISONPOWDER - db 30,RAZOR_LEAF - db 38,GROWTH - db 46,SLEEP_POWDER - db 54,SOLARBEAM - db 0 -Mon103_EvosMoves: -;EXEGGUTOR -;Evolutions - db 0 -;Learnset - db 28,STOMP - db 0 -Mon108_EvosMoves: -;LICKITUNG -;Evolutions - db 0 -;Learnset - db 7,STOMP - db 15,DISABLE - db 23,DEFENSE_CURL - db 31,SLAM - db 39,SCREECH - db 0 -Mon102_EvosMoves: -;EXEGGCUTE -;Evolutions - db EV_ITEM,LEAF_STONE ,1,EXEGGUTOR - db 0 -;Learnset - db 25,REFLECT - db 28,LEECH_SEED - db 32,STUN_SPORE - db 37,POISONPOWDER - db 42,SOLARBEAM - db 48,SLEEP_POWDER - db 0 -Mon088_EvosMoves: -;GRIMER -;Evolutions - db EV_LEVEL,38,MUK - db 0 -;Learnset - db 30,POISON_GAS - db 33,MINIMIZE - db 37,SLUDGE - db 42,HARDEN - db 48,SCREECH - db 55,ACID_ARMOR - db 0 -Mon094_EvosMoves: -;GENGAR -;Evolutions - db 0 -;Learnset - db 29,HYPNOSIS - db 38,DREAM_EATER - db 0 -Mon029_EvosMoves: -;NIDORAN_F -;Evolutions - db EV_LEVEL,16,NIDORINA - db 0 -;Learnset - db 8,SCRATCH - db 14,POISON_STING - db 21,TAIL_WHIP - db 29,BITE - db 36,FURY_SWIPES - db 43,DOUBLE_KICK - db 0 -Mon031_EvosMoves: -;NIDOQUEEN -;Evolutions - db 0 -;Learnset - db 8,SCRATCH - db 14,POISON_STING - db 23,BODY_SLAM - db 0 -Mon104_EvosMoves: -;CUBONE -;Evolutions - db EV_LEVEL,28,MAROWAK - db 0 -;Learnset - db 25,LEER - db 31,FOCUS_ENERGY - db 38,THRASH - db 43,BONEMERANG - db 46,RAGE - db 0 -Mon111_EvosMoves: -;RHYHORN -;Evolutions - db EV_LEVEL,42,RHYDON - db 0 -;Learnset - db 30,STOMP - db 35,TAIL_WHIP - db 40,FURY_ATTACK - db 45,HORN_DRILL - db 50,LEER - db 55,TAKE_DOWN - db 0 -Mon131_EvosMoves: -;LAPRAS -;Evolutions - db 0 -;Learnset - db 16,SING - db 20,MIST - db 25,BODY_SLAM - db 31,CONFUSE_RAY - db 38,ICE_BEAM - db 46,HYDRO_PUMP - db 0 -Mon059_EvosMoves: -;ARCANINE -;Evolutions - db 0 -;Learnset - db 0 -Mon151_EvosMoves: -;MEW -;Evolutions - db 0 -;Learnset - db 10,TRANSFORM - db 20,MEGA_PUNCH - db 30,METRONOME - db 40,PSYCHIC_M - db 0 -Mon130_EvosMoves: -;GYARADOS -;Evolutions - db 0 -;Learnset - db 20,BITE - db 25,DRAGON_RAGE - db 32,LEER - db 41,HYDRO_PUMP - db 52,HYPER_BEAM - db 0 -Mon090_EvosMoves: -;SHELLDER -;Evolutions - db EV_ITEM,WATER_STONE ,1,CLOYSTER - db 0 -;Learnset - db 18,SUPERSONIC - db 23,CLAMP - db 30,AURORA_BEAM - db 39,LEER - db 50,ICE_BEAM - db 0 -Mon072_EvosMoves: -;TENTACOOL -;Evolutions - db EV_LEVEL,30,TENTACRUEL - db 0 -;Learnset - db 7,SUPERSONIC - db 13,WRAP - db 18,POISON_STING - db 22,WATER_GUN - db 27,CONSTRICT - db 33,BARRIER - db 40,SCREECH - db 48,HYDRO_PUMP - db 0 -Mon092_EvosMoves: -;GASTLY -;Evolutions - db EV_LEVEL,25,HAUNTER - db 0 -;Learnset - db 27,HYPNOSIS - db 35,DREAM_EATER - db 0 -Mon123_EvosMoves: -;SCYTHER -;Evolutions - db 0 -;Learnset - db 17,LEER - db 20,FOCUS_ENERGY - db 24,DOUBLE_TEAM - db 29,SLASH - db 35,SWORDS_DANCE - db 42,AGILITY - db 0 -Mon120_EvosMoves: -;STARYU -;Evolutions - db EV_ITEM,WATER_STONE ,1,STARMIE - db 0 -;Learnset - db 17,WATER_GUN - db 22,HARDEN - db 27,RECOVER - db 32,SWIFT - db 37,MINIMIZE - db 42,LIGHT_SCREEN - db 47,HYDRO_PUMP - db 0 -Mon009_EvosMoves: -;BLASTOISE -;Evolutions - db 0 -;Learnset - db 8,BUBBLE - db 15,WATER_GUN - db 24,BITE - db 31,WITHDRAW - db 42,SKULL_BASH - db 52,HYDRO_PUMP - db 0 -Mon127_EvosMoves: -;PINSIR -;Evolutions - db 0 -;Learnset - db 25,SEISMIC_TOSS - db 30,GUILLOTINE - db 36,FOCUS_ENERGY - db 43,HARDEN - db 49,SLASH - db 54,SWORDS_DANCE - db 0 -Mon114_EvosMoves: -;TANGELA -;Evolutions - db 0 -;Learnset - db 29,ABSORB - db 32,POISONPOWDER - db 36,STUN_SPORE - db 39,SLEEP_POWDER - db 45,SLAM - db 49,GROWTH - db 0 - -Mon152_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 - -Mon153_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 -Mon058_EvosMoves: -;GROWLITHE -;Evolutions - db EV_ITEM,FIRE_STONE,1,ARCANINE - db 0 -;Learnset - db 18,EMBER - db 23,LEER - db 30,TAKE_DOWN - db 39,AGILITY - db 50,FLAMETHROWER - db 0 -Mon095_EvosMoves: -;ONIX -;Evolutions - db 0 -;Learnset - db 15,BIND - db 19,ROCK_THROW - db 25,RAGE - db 33,SLAM - db 43,HARDEN - db 0 -Mon022_EvosMoves: -;FEAROW -;Evolutions - db 0 -;Learnset - db 9,LEER - db 15,FURY_ATTACK - db 25,MIRROR_MOVE - db 34,DRILL_PECK - db 43,AGILITY - db 0 -Mon016_EvosMoves: -;PIDGEY -;Evolutions - db EV_LEVEL,18,PIDGEOTTO - db 0 -;Learnset - db 5,SAND_ATTACK - db 12,QUICK_ATTACK - db 19,WHIRLWIND - db 28,WING_ATTACK - db 36,AGILITY - db 44,MIRROR_MOVE - db 0 -Mon079_EvosMoves: -;SLOWPOKE -;Evolutions - db EV_LEVEL,37,SLOWBRO - db 0 -;Learnset - db 18,DISABLE - db 22,HEADBUTT - db 27,GROWL - db 33,WATER_GUN - db 40,AMNESIA - db 48,PSYCHIC_M - db 0 -Mon064_EvosMoves: -;KADABRA -;Evolutions - db EV_TRADE,1,ALAKAZAM - db 0 -;Learnset - db 16,CONFUSION - db 20,DISABLE - db 27,PSYBEAM - db 31,RECOVER - db 38,PSYCHIC_M - db 42,REFLECT - db 0 -Mon075_EvosMoves: -;GRAVELER -;Evolutions - db EV_TRADE,1,GOLEM - db 0 -;Learnset - db 11,DEFENSE_CURL - db 16,ROCK_THROW - db 21,SELFDESTRUCT - db 29,HARDEN - db 36,EARTHQUAKE - db 43,EXPLOSION - db 0 -Mon113_EvosMoves: -;CHANSEY -;Evolutions - db 0 -;Learnset - db 24,SING - db 30,GROWL - db 38,MINIMIZE - db 44,DEFENSE_CURL - db 48,LIGHT_SCREEN - db 54,DOUBLE_EDGE - db 0 -Mon067_EvosMoves: -;MACHOKE -;Evolutions - db EV_TRADE,1,MACHAMP - db 0 -;Learnset - db 20,LOW_KICK - db 25,LEER - db 36,FOCUS_ENERGY - db 44,SEISMIC_TOSS - db 52,SUBMISSION - db 0 -Mon122_EvosMoves: -;MR_MIME -;Evolutions - db 0 -;Learnset - db 15,CONFUSION - db 23,LIGHT_SCREEN - db 31,DOUBLESLAP - db 39,MEDITATE - db 47,SUBSTITUTE - db 0 -Mon106_EvosMoves: -;HITMONLEE -;Evolutions - db 0 -;Learnset - db 33,ROLLING_KICK - db 38,JUMP_KICK - db 43,FOCUS_ENERGY - db 48,HI_JUMP_KICK - db 53,MEGA_KICK - db 0 -Mon107_EvosMoves: -;HITMONCHAN -;Evolutions - db 0 -;Learnset - db 33,FIRE_PUNCH - db 38,ICE_PUNCH - db 43,THUNDERPUNCH - db 48,MEGA_PUNCH - db 53,COUNTER - db 0 -Mon024_EvosMoves: -;ARBOK -;Evolutions - db 0 -;Learnset - db 10,POISON_STING - db 17,BITE - db 27,GLARE - db 36,SCREECH - db 47,ACID - db 0 -Mon047_EvosMoves: -;PARASECT -;Evolutions - db 0 -;Learnset - db 13,STUN_SPORE - db 20,LEECH_LIFE - db 30,SPORE - db 39,SLASH - db 48,GROWTH - db 0 -Mon054_EvosMoves: -;PSYDUCK -;Evolutions - db EV_LEVEL,33,GOLDUCK - db 0 -;Learnset - db 28,TAIL_WHIP - db 31,DISABLE - db 36,CONFUSION - db 43,FURY_SWIPES - db 52,HYDRO_PUMP - db 0 -Mon096_EvosMoves: -;DROWZEE -;Evolutions - db EV_LEVEL,26,HYPNO - db 0 -;Learnset - db 12,DISABLE - db 17,CONFUSION - db 24,HEADBUTT - db 29,POISON_GAS - db 32,PSYCHIC_M - db 37,MEDITATE - db 0 -Mon076_EvosMoves: -;GOLEM -;Evolutions - db 0 -;Learnset - db 11,DEFENSE_CURL - db 16,ROCK_THROW - db 21,SELFDESTRUCT - db 29,HARDEN - db 36,EARTHQUAKE - db 43,EXPLOSION - db 0 - -Mon154_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 -Mon126_EvosMoves: -;MAGMAR -;Evolutions - db 0 -;Learnset - db 36,LEER - db 39,CONFUSE_RAY - db 43,FIRE_PUNCH - db 48,SMOKESCREEN - db 52,SMOG - db 55,FLAMETHROWER - db 0 - -Mon155_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 -Mon125_EvosMoves: -;ELECTABUZZ -;Evolutions - db 0 -;Learnset - db 34,THUNDERSHOCK - db 37,SCREECH - db 42,THUNDERPUNCH - db 49,LIGHT_SCREEN - db 54,THUNDER - db 0 -Mon082_EvosMoves: -;MAGNETON -;Evolutions - db 0 -;Learnset - db 21,SONICBOOM - db 25,THUNDERSHOCK - db 29,SUPERSONIC - db 38,THUNDER_WAVE - db 46,SWIFT - db 54,SCREECH - db 0 -Mon109_EvosMoves: -;KOFFING -;Evolutions - db EV_LEVEL,35,WEEZING - db 0 -;Learnset - db 32,SLUDGE - db 37,SMOKESCREEN - db 40,SELFDESTRUCT - db 45,HAZE - db 48,EXPLOSION - db 0 - -Mon156_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 -Mon056_EvosMoves: -;MANKEY -;Evolutions - db EV_LEVEL,28,PRIMEAPE - db 0 -;Learnset - db 15,KARATE_CHOP - db 21,FURY_SWIPES - db 27,FOCUS_ENERGY - db 33,SEISMIC_TOSS - db 39,THRASH - db 0 -Mon086_EvosMoves: -;SEEL -;Evolutions - db EV_LEVEL,34,DEWGONG - db 0 -;Learnset - db 30,GROWL - db 35,AURORA_BEAM - db 40,REST - db 45,TAKE_DOWN - db 50,ICE_BEAM - db 0 -Mon050_EvosMoves: -;DIGLETT -;Evolutions - db EV_LEVEL,26,DUGTRIO - db 0 -;Learnset - db 15,GROWL - db 19,DIG - db 24,SAND_ATTACK - db 31,SLASH - db 40,EARTHQUAKE - db 0 -Mon128_EvosMoves: -;TAUROS -;Evolutions - db 0 -;Learnset - db 21,STOMP - db 28,TAIL_WHIP - db 35,LEER - db 44,RAGE - db 51,TAKE_DOWN - db 0 - -Mon157_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 - -Mon158_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 - -Mon159_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 -Mon083_EvosMoves: -;FARFETCH_D -;Evolutions - db 0 -;Learnset - db 7,LEER - db 15,FURY_ATTACK - db 23,SWORDS_DANCE - db 31,AGILITY - db 39,SLASH - db 0 -Mon048_EvosMoves: -;VENONAT -;Evolutions - db EV_LEVEL,31,VENOMOTH - db 0 -;Learnset - db 24,POISONPOWDER - db 27,LEECH_LIFE - db 30,STUN_SPORE - db 35,PSYBEAM - db 38,SLEEP_POWDER - db 43,PSYCHIC_M - db 0 -Mon149_EvosMoves: -;DRAGONITE -;Evolutions - db 0 -;Learnset - db 10,THUNDER_WAVE - db 20,AGILITY - db 35,SLAM - db 45,DRAGON_RAGE - db 60,HYPER_BEAM - db 0 - -Mon160_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 - -Mon161_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 - -Mon162_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 -Mon084_EvosMoves: -;DODUO -;Evolutions - db EV_LEVEL,31,DODRIO - db 0 -;Learnset - db 20,GROWL - db 24,FURY_ATTACK - db 30,DRILL_PECK - db 36,RAGE - db 40,TRI_ATTACK - db 44,AGILITY - db 0 -Mon060_EvosMoves: -;POLIWAG -;Evolutions - db EV_LEVEL,25,POLIWHIRL - db 0 -;Learnset - db 16,HYPNOSIS - db 19,WATER_GUN - db 25,DOUBLESLAP - db 31,BODY_SLAM - db 38,AMNESIA - db 45,HYDRO_PUMP - db 0 -Mon124_EvosMoves: -;JYNX -;Evolutions - db 0 -;Learnset - db 18,LICK - db 23,DOUBLESLAP - db 31,ICE_PUNCH - db 39,BODY_SLAM - db 47,THRASH - db 58,BLIZZARD - db 0 -Mon146_EvosMoves: -;MOLTRES -;Evolutions - db 0 -;Learnset - db 51,LEER - db 55,AGILITY - db 60,SKY_ATTACK - db 0 -Mon144_EvosMoves: -;ARTICUNO -;Evolutions - db 0 -;Learnset - db 51,BLIZZARD - db 55,AGILITY - db 60,MIST - db 0 -Mon145_EvosMoves: -;ZAPDOS -;Evolutions - db 0 -;Learnset - db 51,THUNDER - db 55,AGILITY - db 60,LIGHT_SCREEN - db 0 -Mon132_EvosMoves: -;DITTO -;Evolutions - db 0 -;Learnset - db 0 -Mon052_EvosMoves: -;MEOWTH -;Evolutions - db EV_LEVEL,28,PERSIAN - db 0 -;Learnset - db 12,BITE - db 17,PAY_DAY - db 24,SCREECH - db 33,FURY_SWIPES - db 44,SLASH - db 0 -Mon098_EvosMoves: -;KRABBY -;Evolutions - db EV_LEVEL,28,KINGLER - db 0 -;Learnset - db 20,VICEGRIP - db 25,GUILLOTINE - db 30,STOMP - db 35,CRABHAMMER - db 40,HARDEN - db 0 - -Mon163_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 - -Mon164_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 - -Mon165_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 -Mon037_EvosMoves: -;VULPIX -;Evolutions - db EV_ITEM,FIRE_STONE,1,NINETALES - db 0 -;Learnset - db 16,QUICK_ATTACK - db 21,ROAR - db 28,CONFUSE_RAY - db 35,FLAMETHROWER - db 42,FIRE_SPIN - db 0 -Mon038_EvosMoves: -;NINETALES -;Evolutions - db 0 -;Learnset - db 0 -Mon025_EvosMoves: -;PIKACHU -;Evolutions - db EV_ITEM,THUNDER_STONE ,1,RAICHU - db 0 -;Learnset - db 9,THUNDER_WAVE - db 16,QUICK_ATTACK - db 26,SWIFT - db 33,AGILITY - db 43,THUNDER - db 0 -Mon026_EvosMoves: -;RAICHU -;Evolutions - db 0 -;Learnset - db 0 - -Mon166_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 - -Mon167_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 -Mon147_EvosMoves: -;DRATINI -;Evolutions - db EV_LEVEL,30,DRAGONAIR - db 0 -;Learnset - db 10,THUNDER_WAVE - db 20,AGILITY - db 30,SLAM - db 40,DRAGON_RAGE - db 50,HYPER_BEAM - db 0 -Mon148_EvosMoves: -;DRAGONAIR -;Evolutions - db EV_LEVEL,55,DRAGONITE - db 0 -;Learnset - db 10,THUNDER_WAVE - db 20,AGILITY - db 35,SLAM - db 45,DRAGON_RAGE - db 55,HYPER_BEAM - db 0 -Mon140_EvosMoves: -;KABUTO -;Evolutions - db EV_LEVEL,40,KABUTOPS - db 0 -;Learnset - db 34,ABSORB - db 39,SLASH - db 44,LEER - db 49,HYDRO_PUMP - db 0 -Mon141_EvosMoves: -;KABUTOPS -;Evolutions - db 0 -;Learnset - db 34,ABSORB - db 39,SLASH - db 46,LEER - db 53,HYDRO_PUMP - db 0 -Mon116_EvosMoves: -;HORSEA -;Evolutions - db EV_LEVEL,32,SEADRA - db 0 -;Learnset - db 19,SMOKESCREEN - db 24,LEER - db 30,WATER_GUN - db 37,AGILITY - db 45,HYDRO_PUMP - db 0 -Mon117_EvosMoves: -;SEADRA -;Evolutions - db 0 -;Learnset - db 19,SMOKESCREEN - db 24,LEER - db 30,WATER_GUN - db 41,AGILITY - db 52,HYDRO_PUMP - db 0 - -Mon168_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 - -Mon169_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 -Mon027_EvosMoves: -;SANDSHREW -;Evolutions - db EV_LEVEL,22,SANDSLASH - db 0 -;Learnset - db 10,SAND_ATTACK - db 17,SLASH - db 24,POISON_STING - db 31,SWIFT - db 38,FURY_SWIPES - db 0 -Mon028_EvosMoves: -;SANDSLASH -;Evolutions - db 0 -;Learnset - db 10,SAND_ATTACK - db 17,SLASH - db 27,POISON_STING - db 36,SWIFT - db 47,FURY_SWIPES - db 0 -Mon138_EvosMoves: -;OMANYTE -;Evolutions - db EV_LEVEL,40,OMASTAR - db 0 -;Learnset - db 34,HORN_ATTACK - db 39,LEER - db 46,SPIKE_CANNON - db 53,HYDRO_PUMP - db 0 -Mon139_EvosMoves: -;OMASTAR -;Evolutions - db 0 -;Learnset - db 34,HORN_ATTACK - db 39,LEER - db 44,SPIKE_CANNON - db 49,HYDRO_PUMP - db 0 -Mon039_EvosMoves: -;JIGGLYPUFF -;Evolutions - db EV_ITEM,MOON_STONE,1,WIGGLYTUFF - db 0 -;Learnset - db 9,POUND - db 14,DISABLE - db 19,DEFENSE_CURL - db 24,DOUBLESLAP - db 29,REST - db 34,BODY_SLAM - db 39,DOUBLE_EDGE - db 0 -Mon040_EvosMoves: -;WIGGLYTUFF -;Evolutions - db 0 -;Learnset - db 0 -Mon133_EvosMoves: -;EEVEE -;Evolutions - db EV_ITEM,FIRE_STONE,1,FLAREON - db EV_ITEM,THUNDER_STONE ,1,JOLTEON - db EV_ITEM,WATER_STONE ,1,VAPOREON - db 0 -;Learnset - db 27,QUICK_ATTACK - db 31,TAIL_WHIP - db 37,BITE - db 45,TAKE_DOWN - db 0 -Mon136_EvosMoves: -;FLAREON -;Evolutions - db 0 -;Learnset - db 27,QUICK_ATTACK - db 31,EMBER - db 37,TAIL_WHIP - db 40,BITE - db 42,LEER - db 44,FIRE_SPIN - db 48,RAGE - db 54,FLAMETHROWER - db 0 -Mon135_EvosMoves: -;JOLTEON -;Evolutions - db 0 -;Learnset - db 27,QUICK_ATTACK - db 31,THUNDERSHOCK - db 37,TAIL_WHIP - db 40,THUNDER_WAVE - db 42,DOUBLE_KICK - db 44,AGILITY - db 48,PIN_MISSILE - db 54,THUNDER - db 0 -Mon134_EvosMoves: -;VAPOREON -;Evolutions - db 0 -;Learnset - db 27,QUICK_ATTACK - db 31,WATER_GUN - db 37,TAIL_WHIP - db 40,BITE - db 42,ACID_ARMOR - db 44,HAZE - db 48,MIST - db 54,HYDRO_PUMP - db 0 -Mon066_EvosMoves: -;MACHOP -;Evolutions - db EV_LEVEL,28,MACHOKE - db 0 -;Learnset - db 20,LOW_KICK - db 25,LEER - db 32,FOCUS_ENERGY - db 39,SEISMIC_TOSS - db 46,SUBMISSION - db 0 -Mon041_EvosMoves: -;ZUBAT -;Evolutions - db EV_LEVEL,22,GOLBAT - db 0 -;Learnset - db 10,SUPERSONIC - db 15,BITE - db 21,CONFUSE_RAY - db 28,WING_ATTACK - db 36,HAZE - db 0 -Mon023_EvosMoves: -;EKANS -;Evolutions - db EV_LEVEL,22,ARBOK - db 0 -;Learnset - db 10,POISON_STING - db 17,BITE - db 24,GLARE - db 31,SCREECH - db 38,ACID - db 0 -Mon046_EvosMoves: -;PARAS -;Evolutions - db EV_LEVEL,24,PARASECT - db 0 -;Learnset - db 13,STUN_SPORE - db 20,LEECH_LIFE - db 27,SPORE - db 34,SLASH - db 41,GROWTH - db 0 -Mon061_EvosMoves: -;POLIWHIRL -;Evolutions - db EV_ITEM,WATER_STONE ,1,POLIWRATH - db 0 -;Learnset - db 16,HYPNOSIS - db 19,WATER_GUN - db 26,DOUBLESLAP - db 33,BODY_SLAM - db 41,AMNESIA - db 49,HYDRO_PUMP - db 0 -Mon062_EvosMoves: -;POLIWRATH -;Evolutions - db 0 -;Learnset - db 16,HYPNOSIS - db 19,WATER_GUN - db 0 -Mon013_EvosMoves: -;WEEDLE -;Evolutions - db EV_LEVEL,7,KAKUNA - db 0 -;Learnset - db 0 -Mon014_EvosMoves: -;KAKUNA -;Evolutions - db EV_LEVEL,10,BEEDRILL - db 0 -;Learnset - db 0 -Mon015_EvosMoves: -;BEEDRILL -;Evolutions - db 0 -;Learnset - db 12,FURY_ATTACK - db 16,FOCUS_ENERGY - db 20,TWINEEDLE - db 25,RAGE - db 30,PIN_MISSILE - db 35,AGILITY - db 0 - -Mon170_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 -Mon085_EvosMoves: -;DODRIO -;Evolutions - db 0 -;Learnset - db 20,GROWL - db 24,FURY_ATTACK - db 30,DRILL_PECK - db 39,RAGE - db 45,TRI_ATTACK - db 51,AGILITY - db 0 -Mon057_EvosMoves: -;PRIMEAPE -;Evolutions - db 0 -;Learnset - db 15,KARATE_CHOP - db 21,FURY_SWIPES - db 27,FOCUS_ENERGY - db 37,SEISMIC_TOSS - db 46,THRASH - db 0 -Mon051_EvosMoves: -;DUGTRIO -;Evolutions - db 0 -;Learnset - db 15,GROWL - db 19,DIG - db 24,SAND_ATTACK - db 35,SLASH - db 47,EARTHQUAKE - db 0 -Mon049_EvosMoves: -;VENOMOTH -;Evolutions - db 0 -;Learnset - db 24,POISONPOWDER - db 27,LEECH_LIFE - db 30,STUN_SPORE - db 38,PSYBEAM - db 43,SLEEP_POWDER - db 50,PSYCHIC_M - db 0 -Mon087_EvosMoves: -;DEWGONG -;Evolutions - db 0 -;Learnset - db 30,GROWL - db 35,AURORA_BEAM - db 44,REST - db 50,TAKE_DOWN - db 56,ICE_BEAM - db 0 - -Mon171_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 - -Mon172_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 -Mon010_EvosMoves: -;CATERPIE -;Evolutions - db EV_LEVEL,7,METAPOD - db 0 -;Learnset - db 0 -Mon011_EvosMoves: -;METAPOD -;Evolutions - db EV_LEVEL,10,BUTTERFREE - db 0 -;Learnset - db 0 -Mon012_EvosMoves: -;BUTTERFREE -;Evolutions - db 0 -;Learnset - db 12,CONFUSION - db 15,POISONPOWDER - db 16,STUN_SPORE - db 17,SLEEP_POWDER - db 21,SUPERSONIC - db 26,WHIRLWIND - db 32,PSYBEAM - db 0 -Mon068_EvosMoves: -;MACHAMP -;Evolutions - db 0 -;Learnset - db 20,LOW_KICK - db 25,LEER - db 36,FOCUS_ENERGY - db 44,SEISMIC_TOSS - db 52,SUBMISSION - db 0 - -Mon173_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 -Mon055_EvosMoves: -;GOLDUCK -;Evolutions - db 0 -;Learnset - db 28,TAIL_WHIP - db 31,DISABLE - db 39,CONFUSION - db 48,FURY_SWIPES - db 59,HYDRO_PUMP - db 0 -Mon097_EvosMoves: -;HYPNO -;Evolutions - db 0 -;Learnset - db 12,DISABLE - db 17,CONFUSION - db 24,HEADBUTT - db 33,POISON_GAS - db 37,PSYCHIC_M - db 43,MEDITATE - db 0 -Mon042_EvosMoves: -;GOLBAT -;Evolutions - db 0 -;Learnset - db 10,SUPERSONIC - db 15,BITE - db 21,CONFUSE_RAY - db 32,WING_ATTACK - db 43,HAZE - db 0 -Mon150_EvosMoves: -;MEWTWO -;Evolutions - db 0 -;Learnset - db 63,BARRIER - db 66,PSYCHIC_M - db 70,RECOVER - db 75,MIST - db 81,AMNESIA - db 0 -Mon143_EvosMoves: -;SNORLAX -;Evolutions - db 0 -;Learnset - db 35,BODY_SLAM - db 41,HARDEN - db 48,DOUBLE_EDGE - db 56,HYPER_BEAM - db 0 -Mon129_EvosMoves: -;MAGIKARP -;Evolutions - db EV_LEVEL,20,GYARADOS - db 0 -;Learnset - db 15,TACKLE - db 0 - -Mon174_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 - -Mon175_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 -Mon089_EvosMoves: -;MUK -;Evolutions - db 0 -;Learnset - db 30,POISON_GAS - db 33,MINIMIZE - db 37,SLUDGE - db 45,HARDEN - db 53,SCREECH - db 60,ACID_ARMOR - db 0 - -Mon176_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 -Mon099_EvosMoves: -;KINGLER -;Evolutions - db 0 -;Learnset - db 20,VICEGRIP - db 25,GUILLOTINE - db 34,STOMP - db 42,CRABHAMMER - db 49,HARDEN - db 0 -Mon091_EvosMoves: -;CLOYSTER -;Evolutions - db 0 -;Learnset - db 50,SPIKE_CANNON - db 0 - -Mon177_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 -Mon101_EvosMoves: -;ELECTRODE -;Evolutions - db 0 -;Learnset - db 17,SONICBOOM - db 22,SELFDESTRUCT - db 29,LIGHT_SCREEN - db 40,SWIFT - db 50,EXPLOSION - db 0 -Mon036_EvosMoves: -;CLEFABLE -;Evolutions - db 0 -;Learnset - db 0 -Mon110_EvosMoves: -;WEEZING -;Evolutions - db 0 -;Learnset - db 32,SLUDGE - db 39,SMOKESCREEN - db 43,SELFDESTRUCT - db 49,HAZE - db 53,EXPLOSION - db 0 -Mon053_EvosMoves: -;PERSIAN -;Evolutions - db 0 -;Learnset - db 12,BITE - db 17,PAY_DAY - db 24,SCREECH - db 37,FURY_SWIPES - db 51,SLASH - db 0 -Mon105_EvosMoves: -;MAROWAK -;Evolutions - db 0 -;Learnset - db 25,LEER - db 33,FOCUS_ENERGY - db 41,THRASH - db 48,BONEMERANG - db 55,RAGE - db 0 - -Mon178_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 -Mon093_EvosMoves: -;HAUNTER -;Evolutions - db EV_TRADE,1,GENGAR - db 0 -;Learnset - db 29,HYPNOSIS - db 38,DREAM_EATER - db 0 -Mon063_EvosMoves: -;ABRA -;Evolutions - db EV_LEVEL,16,KADABRA - db 0 -;Learnset - db 0 -Mon065_EvosMoves: -;ALAKAZAM -;Evolutions - db 0 -;Learnset - db 16,CONFUSION - db 20,DISABLE - db 27,PSYBEAM - db 31,RECOVER - db 38,PSYCHIC_M - db 42,REFLECT - db 0 -Mon017_EvosMoves: -;PIDGEOTTO -;Evolutions - db EV_LEVEL,36,PIDGEOT - db 0 -;Learnset - db 5,SAND_ATTACK - db 12,QUICK_ATTACK - db 21,WHIRLWIND - db 31,WING_ATTACK - db 40,AGILITY - db 49,MIRROR_MOVE - db 0 -Mon018_EvosMoves: -;PIDGEOT -;Evolutions - db 0 -;Learnset - db 5,SAND_ATTACK - db 12,QUICK_ATTACK - db 21,WHIRLWIND - db 31,WING_ATTACK - db 44,AGILITY - db 54,MIRROR_MOVE - db 0 -Mon121_EvosMoves: -;STARMIE -;Evolutions - db 0 -;Learnset - db 0 -Mon001_EvosMoves: -;BULBASAUR -;Evolutions - db EV_LEVEL,16,IVYSAUR - db 0 -;Learnset - db 7,LEECH_SEED - db 13,VINE_WHIP - db 20,POISONPOWDER - db 27,RAZOR_LEAF - db 34,GROWTH - db 41,SLEEP_POWDER - db 48,SOLARBEAM - db 0 -Mon003_EvosMoves: -;VENUSAUR -;Evolutions - db 0 -;Learnset - db 7,LEECH_SEED - db 13,VINE_WHIP - db 22,POISONPOWDER - db 30,RAZOR_LEAF - db 43,GROWTH - db 55,SLEEP_POWDER - db 65,SOLARBEAM - db 0 -Mon073_EvosMoves: -;TENTACRUEL -;Evolutions - db 0 -;Learnset - db 7,SUPERSONIC - db 13,WRAP - db 18,POISON_STING - db 22,WATER_GUN - db 27,CONSTRICT - db 35,BARRIER - db 43,SCREECH - db 50,HYDRO_PUMP - db 0 - -Mon179_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 -Mon118_EvosMoves: -;GOLDEEN -;Evolutions - db EV_LEVEL,33,SEAKING - db 0 -;Learnset - db 19,SUPERSONIC - db 24,HORN_ATTACK - db 30,FURY_ATTACK - db 37,WATERFALL - db 45,HORN_DRILL - db 54,AGILITY - db 0 -Mon119_EvosMoves: -;SEAKING -;Evolutions - db 0 -;Learnset - db 19,SUPERSONIC - db 24,HORN_ATTACK - db 30,FURY_ATTACK - db 39,WATERFALL - db 48,HORN_DRILL - db 54,AGILITY - db 0 - -Mon180_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 - -Mon181_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 - -Mon182_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 - -Mon183_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 -Mon077_EvosMoves: -;PONYTA -;Evolutions - db EV_LEVEL,40,RAPIDASH - db 0 -;Learnset - db 30,TAIL_WHIP - db 32,STOMP - db 35,GROWL - db 39,FIRE_SPIN - db 43,TAKE_DOWN - db 48,AGILITY - db 0 -Mon078_EvosMoves: -;RAPIDASH -;Evolutions - db 0 -;Learnset - db 30,TAIL_WHIP - db 32,STOMP - db 35,GROWL - db 39,FIRE_SPIN - db 47,TAKE_DOWN - db 55,AGILITY - db 0 -Mon019_EvosMoves: -;RATTATA -;Evolutions - db EV_LEVEL,20,RATICATE - db 0 -;Learnset - db 7,QUICK_ATTACK - db 14,HYPER_FANG - db 23,FOCUS_ENERGY - db 34,SUPER_FANG - db 0 -Mon020_EvosMoves: -;RATICATE -;Evolutions - db 0 -;Learnset - db 7,QUICK_ATTACK - db 14,HYPER_FANG - db 27,FOCUS_ENERGY - db 41,SUPER_FANG - db 0 -Mon033_EvosMoves: -;NIDORINO -;Evolutions - db EV_ITEM,MOON_STONE,1,NIDOKING - db 0 -;Learnset - db 8,HORN_ATTACK - db 14,POISON_STING - db 23,FOCUS_ENERGY - db 32,FURY_ATTACK - db 41,HORN_DRILL - db 50,DOUBLE_KICK - db 0 -Mon030_EvosMoves: -;NIDORINA -;Evolutions - db EV_ITEM,MOON_STONE,1,NIDOQUEEN - db 0 -;Learnset - db 8,SCRATCH - db 14,POISON_STING - db 23,TAIL_WHIP - db 32,BITE - db 41,FURY_SWIPES - db 50,DOUBLE_KICK - db 0 -Mon074_EvosMoves: -;GEODUDE -;Evolutions - db EV_LEVEL,25,GRAVELER - db 0 -;Learnset - db 11,DEFENSE_CURL - db 16,ROCK_THROW - db 21,SELFDESTRUCT - db 26,HARDEN - db 31,EARTHQUAKE - db 36,EXPLOSION - db 0 -Mon137_EvosMoves: -;PORYGON -;Evolutions - db 0 -;Learnset - db 23,PSYBEAM - db 28,RECOVER - db 35,AGILITY - db 42,TRI_ATTACK - db 0 -Mon142_EvosMoves: -;AERODACTYL -;Evolutions - db 0 -;Learnset - db 33,SUPERSONIC - db 38,BITE - db 45,TAKE_DOWN - db 54,HYPER_BEAM - db 0 - -Mon184_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 -Mon081_EvosMoves: -;MAGNEMITE -;Evolutions - db EV_LEVEL,30,MAGNETON - db 0 -;Learnset - db 21,SONICBOOM - db 25,THUNDERSHOCK - db 29,SUPERSONIC - db 35,THUNDER_WAVE - db 41,SWIFT - db 47,SCREECH - db 0 - -Mon185_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 - -Mon186_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 -Mon004_EvosMoves: -;CHARMANDER -;Evolutions - db EV_LEVEL,16,CHARMELEON - db 0 -;Learnset - db 9,EMBER - db 15,LEER - db 22,RAGE - db 30,SLASH - db 38,FLAMETHROWER - db 46,FIRE_SPIN - db 0 -Mon007_EvosMoves: -;SQUIRTLE -;Evolutions - db EV_LEVEL,16,WARTORTLE - db 0 -;Learnset - db 8,BUBBLE - db 15,WATER_GUN - db 22,BITE - db 28,WITHDRAW - db 35,SKULL_BASH - db 42,HYDRO_PUMP - db 0 -Mon005_EvosMoves: -;CHARMELEON -;Evolutions - db EV_LEVEL,36,CHARIZARD - db 0 -;Learnset - db 9,EMBER - db 15,LEER - db 24,RAGE - db 33,SLASH - db 42,FLAMETHROWER - db 56,FIRE_SPIN - db 0 -Mon008_EvosMoves: -;WARTORTLE -;Evolutions - db EV_LEVEL,36,BLASTOISE - db 0 -;Learnset - db 8,BUBBLE - db 15,WATER_GUN - db 24,BITE - db 31,WITHDRAW - db 39,SKULL_BASH - db 47,HYDRO_PUMP - db 0 -Mon006_EvosMoves: -;CHARIZARD -;Evolutions - db 0 -;Learnset - db 9,EMBER - db 15,LEER - db 24,RAGE - db 36,SLASH - db 46,FLAMETHROWER - db 55,FIRE_SPIN - db 0 - -Mon187_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 - -Mon188_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 - -Mon189_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 - -Mon190_EvosMoves: -;MISSINGNO -;Evolutions - db 0 -;Learnset - db 0 -Mon043_EvosMoves: -;ODDISH -;Evolutions - db EV_LEVEL,21,GLOOM - db 0 -;Learnset - db 15,POISONPOWDER - db 17,STUN_SPORE - db 19,SLEEP_POWDER - db 24,ACID - db 33,PETAL_DANCE - db 46,SOLARBEAM - db 0 -Mon044_EvosMoves: -;GLOOM -;Evolutions - db EV_ITEM,LEAF_STONE ,1,VILEPLUME - db 0 -;Learnset - db 15,POISONPOWDER - db 17,STUN_SPORE - db 19,SLEEP_POWDER - db 28,ACID - db 38,PETAL_DANCE - db 52,SOLARBEAM - db 0 -Mon045_EvosMoves: -;VILEPLUME -;Evolutions - db 0 -;Learnset - db 15,POISONPOWDER - db 17,STUN_SPORE - db 19,SLEEP_POWDER - db 0 -Mon069_EvosMoves: -;BELLSPROUT -;Evolutions - db EV_LEVEL,21,WEEPINBELL - db 0 -;Learnset - db 13,WRAP - db 15,POISONPOWDER - db 18,SLEEP_POWDER - db 21,STUN_SPORE - db 26,ACID - db 33,RAZOR_LEAF - db 42,SLAM - db 0 -Mon070_EvosMoves: -;WEEPINBELL -;Evolutions - db EV_ITEM,LEAF_STONE ,1,VICTREEBEL - db 0 -;Learnset - db 13,WRAP - db 15,POISONPOWDER - db 18,SLEEP_POWDER - db 23,STUN_SPORE - db 29,ACID - db 38,RAZOR_LEAF - db 49,SLAM - db 0 -Mon071_EvosMoves: -;VICTREEBEL -;Evolutions - db 0 -;Learnset - db 13,WRAP - db 15,POISONPOWDER - db 18,SLEEP_POWDER - db 0 - -INCBIN "baserom.gbc",$3b9ec,$3baa2 - $3b9ec - -UnnamedText_3baa2: ; 0x3baa2 - TX_FAR _UnnamedText_3baa2 - db $50 -; 0x3baa2 + 5 bytes - -UnnamedText_3baa7: ; 0x3baa7 - TX_FAR _UnnamedText_3baa7 - db $50 -; 0x3baa7 + 5 bytes - -UnnamedText_3baac: ; 0x3baac - TX_FAR _UnnamedText_3baac - db $50 -; 0x3baac + 5 bytes - -INCBIN "baserom.gbc",$3bab1,$3bb92 - $3bab1 - -UnnamedText_3bb92: ; 0x3bb92 - TX_FAR _UnnamedText_3bb92 - db $50 -; 0x3bb92 + 5 bytes - -INCBIN "baserom.gbc",$3bb97,$3bbd7 - $3bb97 - -UnnamedText_3bbd7: ; 0x3bbd7 - TX_FAR _UnnamedText_3bbd7 - db $50 -; 0x3bbd7 + 5 bytes - -UnnamedText_3bbdc: ; 0x3bbdc - TX_FAR _UnnamedText_3bbdc - db $50 -; 0x3bbdc + 5 bytes - -INCBIN "baserom.gbc",$3bbe1,$41f - -SECTION "bankF",DATA,BANK[$F] - -; These are move effects (second value from the Moves table in bank $E). -EffectsArray1: ; 4000 - db $18,$19,$1C,$2E,$2F,$31,$38,$39,$40,$41,$42,$43,$4F,$52,$54,$55,$FF -EffectsArray2: ; 4011 -; moves that do damage but not through normal calculations -; e.g., Super Fang, Psywave - db $28,$29,$FF -EffectsArray3: ; 4014 -; non-damaging, stat‐affecting or status‐causing moves? -; e.g., Meditate, Bide, Hypnosis - db $01,$0A,$0B,$0C,$0D,$0E,$0F,$12,$13,$14,$15,$16,$17,$1A,$20,$32,$33,$34,$35,$36,$37,$3A,$3B,$3C,$3D,$3E,$3F,$FF -EffectsArray4: ; 4030 - db $03,$07,$08,$10,$1D,$1E,$2C,$30,$4D,$51,$FF -EffectsArray5: ; 403B - db $03,$07,$08,$10,$11,$1D,$1E,$27,$28,$29,$2B,$2C,$2D,$30 ; fallthru -EffectsArray5B: ; 4049 -; moves that prevent the player from switching moves? - db $1B,$2A,$FF - -INCBIN "baserom.gbc",$3c04c,$3c1a8 - $3c04c - -UnnamedText_3c1a8: ; 0x3c1a8 - TX_FAR _UnnamedText_3c1a8 - db $50 -; 0x3c1a8 + 5 bytes - -INCBIN "baserom.gbc",$3c1ad,$3c229 - $3c1ad - -UnnamedText_3c229: ; 0x3c229 - TX_FAR _UnnamedText_3c229 - db $50 -; 0x3c229 + 5 bytes - -UnnamedText_3c22e: ; 0x3c22e - TX_FAR _UnnamedText_3c22e - db $50 -; 0x3c22e + 5 bytes - -INCBIN "baserom.gbc",$3c233,$3c42e - $3c233 - -UnnamedText_3c42e: ; 0x3c42e - TX_FAR _UnnamedText_3c42e - db $50 -; 0x3c42e + 5 bytes - -UnnamedText_3c433: ; 0x3c433 - TX_FAR _UnnamedText_3c433 - db $50 -; 0x3c433 + 5 bytes - -UnnamedText_3c438: ; 0x3c438 - TX_FAR _UnnamedText_3c438 - db $50 -; 0x3c438 + 5 bytes - -INCBIN "baserom.gbc",$3c43d,$3c63e - $3c43d - -UnnamedText_3c63e: ; 0x3c63e - TX_FAR _UnnamedText_3c63e - db $50 -; 0x3c63e + 5 bytes - -INCBIN "baserom.gbc",$3c643,$3c6e4 - $3c643 - -UnnamedText_3c6e4: ; 0x3c6e4 - TX_FAR _UnnamedText_3c6e4 - db $50 -; 0x3c6e4 + 5 bytes - -UnnamedText_3c6e9: ; 0x3c6e9 - TX_FAR _UnnamedText_3c6e9 - db $50 -; 0x3c6e9 + 5 bytes - -INCBIN "baserom.gbc",$3c6ee,$3c796 - $3c6ee - -UnnamedText_3c796: ; 0x3c796 - TX_FAR _UnnamedText_3c796 - db $50 -; 0x3c796 + 5 bytes - -INCBIN "baserom.gbc",$3c79b,$3c7d3 - $3c79b - -UnnamedText_3c7d3: ; 0x3c7d3 - TX_FAR _UnnamedText_3c7d3 - db $50 -; 0x3c7d3 + 5 bytes - -INCBIN "baserom.gbc",$3c7d8,$3c884 - $3c7d8 - -UnnamedText_3c884: ; 0x3c884 - TX_FAR _UnnamedText_3c884 - db $50 -; 0x3c884 + 5 bytes - -UnnamedText_3c889: ; 0x3c889 - TX_FAR _UnnamedText_3c889 - db $50 -; 0x3c889 + 5 bytes - -UnnamedText_3c88e: ; 0x3c88e - TX_FAR _UnnamedText_3c88e - db $50 -; 0x3c88e + 5 bytes - -INCBIN "baserom.gbc",$3c893,$7b - -; XXX this needs cleaning up. it's what runs when a juggler switches pokemon -EnemySendOut: ; 490E - ld hl,$D058 - xor a - ld [hl],a - ld a,[$CC2F] - ld c,a - ld b,1 - push bc - ld a,$10 - call Predef - ld hl,$CCF5 - xor a - ld [hl],a - pop bc - ld a,$10 - call Predef - xor a - ld hl,$D065 - ld [hli],a - ld [hli],a - ld [hli],a - ld [hli],a - ld [hl],a - ld [$D072],a - ld [$CCEF],a - ld [$CCF3],a - ld hl,$CCF1 - ld [hli],a - ld [hl],a - dec a - ld [W_AICOUNT],a - ld hl,W_PLAYERBATTSTATUS1 - res 5,[hl] - ld hl,$C3B2 - ld a,8 - call $48DF - call $6E94 - call $3719 - ld a,[$D12B] - cp 4 - jr nz,.next\@ - ld a,[$CC3E] - sub 4 - ld [$CF92],a - jr .next3\@ -.next\@ - ld b,$FF -.next2\@ - inc b - ld a,[$CFE8] - cp b - jr z,.next2\@ - ld hl,$D8A4 - ld a,b - ld [$CF92],a - push bc - ld bc,$2C - call AddNTimes - pop bc - inc hl - ld a,[hli] - ld c,a - ld a,[hl] - or c - jr z,.next2\@ -.next3\@ - ld a,[$CF92] - ld hl,$D8C5 - ld bc,$2C - call AddNTimes - ld a,[hl] - ld [$D127],a - ld a,[$CF92] - inc a - ld hl,$D89C - ld c,a - ld b,0 - add hl,bc - ld a,[hl] - ld [$CFD8],a - ld [$CF91],a - call $6B01 - ld hl,$CFE6 - ld a,[hli] - ld [$CCE3],a - ld a,[hl] - ld [$CCE4],a - ld a,1 - ld [$CC26],a - ld a,[$D11D] - dec a - jr z,.next4\@ - ld a,[W_NUMINPARTY] - dec a - jr z,.next4\@ - ld a,[$D12B] - cp 4 - jr z,.next4\@ - ld a,[$D355] - bit 6,a - jr nz,.next4\@ - ld hl, TrainerAboutToUseText - call PrintText - ld hl,$C42C - ld bc,$0801 - ld a,$14 - ld [$D125],a - call $30E8 - ld a,[$CC26] - and a - jr nz,.next4\@ - ld a,2 - ld [$D07D],a - call $13FC -.next9\@ - ld a,1 - ld [$CC26],a - jr c,.next7\@ - ld hl,$CC2F - ld a,[$CF92] - cp [hl] - jr nz,.next6\@ - ld hl,$51F5 - call PrintText -.next8\@ - call $1411 - jr .next9\@ -.next6\@ - call $4A97 - jr z,.next8\@ - xor a - ld [$CC26],a -.next7\@ - call $3DE5 - call $6E5B - call $3725 -.next4\@ - call $0082 - ld hl,$C3A0 - ld bc,$040B - call $18C4 - ld b,1 - call $3DEF - call $3DDC - ld hl,TrainerSentOutText - call PrintText - ld a,[$CFD8] - ld [$CF91],a - ld [$D0B5],a - call $1537 - ld de,$9000 - call $1665 - ld a,$CF - ld [$FFE1],a - ld hl,$C427 - ld a,2 - call Predef - ld a,[$CFD8] - call $13D0 - call $4DEC - ld a,[$CC26] - and a - ret nz - xor a - ld [$D058],a - ld [$CCF5],a - call $3719 - jp $51BA - -TrainerAboutToUseText: ; 0x3ca79 - TX_FAR _TrainerAboutToUseText - db "@" - -TrainerSentOutText: ; 0x3ca7e - TX_FAR _TrainerSentOutText - db "@" - -INCBIN "baserom.gbc",$3ca83,$3cab4 - $3ca83 - -UnnamedText_3cab4: ; 0x3cab4 - TX_FAR _UnnamedText_3cab4 - db $50 -; 0x3cab4 + 5 bytes - -INCBIN "baserom.gbc",$3cab9,$3cb97 - $3cab9 - -UnnamedText_3cb97: ; 0x3cb97 - TX_FAR _UnnamedText_3cb97 - db $50 -; 0x3cb97 + 5 bytes - -UnnamedText_3cb9c: ; 0x3cb9c - TX_FAR _UnnamedText_3cb9c - db $50 -; 0x3cb9c + 5 bytes - -UnnamedText_3cba1: ; 0x3cba1 - TX_FAR _UnnamedText_3cba1 - db $50 -; 0x3cba1 + 5 bytes - -INCBIN "baserom.gbc",$3cba6,$3d0c5 - $3cba6 - -UnnamedText_3d0c5: ; 0x3d0c5 - TX_FAR _UnnamedText_3d0c5 - db $50 -; 0x3d0c5 + 5 bytes - -INCBIN "baserom.gbc",$3d0ca,$3d1f5 - $3d0ca - -UnnamedText_3d1f5: ; 0x3d1f5 - TX_FAR _UnnamedText_3d1f5 - db $50 -; 0x3d1f5 + 5 bytes - -INCBIN "baserom.gbc",$3d1fa,$3d3ae - $3d1fa - -UnnamedText_3d3ae: ; 0x3d3ae - TX_FAR _UnnamedText_3d3ae - db $50 -; 0x3d3ae + 5 bytes - -UnnamedText_3d3b3: ; 0x3d3b3 - TX_FAR _UnnamedText_3d3b3 - db $50 -; 0x3d3b3 + 5 bytes - -INCBIN "baserom.gbc",$3d3b8,$3d430 - $3d3b8 - -UnnamedText_3d430: ; 0x3d430 - TX_FAR _UnnamedText_3d430 - db $50 -; 0x3d430 + 5 bytes - -INCBIN "baserom.gbc",$3d435,$274 - -; in-battle stuff - ld hl,W_PLAYERBATTSTATUS1 - res 4,[hl] - res 6,[hl] - call $5AF5 - ld hl,DecrementPP - ld de,$CCDC ; pointer to the move just used - ld b,BANK(DecrementPP) - call Bankswitch - ld a,[W_PLAYERMOVEEFFECT] ; effect of the move just used - ld hl,EffectsArray1 - ld de,1 - call IsInArray - jp c,$7132 - ld a,[W_PLAYERMOVEEFFECT] - ld hl,EffectsArray5B - ld de,1 - call IsInArray - call c,$7132 - ld a,[W_PLAYERMOVEEFFECT] - ld hl,EffectsArray2 - ld de,1 - call IsInArray - jp c,$5702 - call $6023 - call $6093 - jr z,.next11\@ - call $5DCF - call $5F65 - jp z,$574B - call $63A5 - call $6687 - call $656B -.next11\@ - ld a,[W_MOVEMISSED] - and a - jr z,.next\@ - ld a,[W_PLAYERMOVEEFFECT] - sub a,7 - jr z,.next2\@ - jr .next3\@ ; 574B -.next\@ - ld a,[W_PLAYERMOVEEFFECT] - and a - ld a,4 - jr z,.next2\@ - ld a,5 -.next2\@ - push af - ld a,[W_PLAYERBATTSTATUS2] - bit 4,a - ld hl,$5747 - ld b,$1E - call nz,Bankswitch - pop af - ld [$CC5B],a - ld a,[W_PLAYERMOVENUM] - call $6F07 - call $6ED3 - call $4D60 - ld a,[W_PLAYERBATTSTATUS2] - bit 4,a - ld hl,$5771 - ld b,$1E - call nz,Bankswitch - jr .next4\@ -.next3\@ - ld c,$1E - call $3739 - ld a,[W_PLAYERMOVEEFFECT] - cp a,$2B - jr z,.next5\@ - cp a,$27 ; XXX SLP | FRZ ? - jr z,.next5\@ - jr .next4\@ -.next5\@ - xor a - ld [$CC5B],a - ld a,$A7 - call $6F07 -.next4\@ - ld a,[W_PLAYERMOVEEFFECT] - cp a,9 - jr nz,.next6\@ ; 577A - call $62FD - jp z,Function580A - xor a - ld [$CCED],a - jp $569A -.next6\@ - cp a,$53 - jr nz,.next7\@ ; 5784 - call $6348 - jp $569A -.next7\@ - ld a,[W_PLAYERMOVEEFFECT] - ld hl,EffectsArray3 - ld de,1 - call IsInArray - jp c,$7132 - ld a,[W_MOVEMISSED] - and a - jr z,.next8\@ ; 57A6 - call $5BE2 - ld a,[W_PLAYERMOVEEFFECT] - cp a,7 - jr z,.next9\@ ; 57B9 - jp Function580A -.next8\@ - call $60DF - call $5C5C - ld hl,$7B7B ; MyFunction - ld b,$B ; BANK(MyFunction) - call Bankswitch - ld a,1 - ld [$CCF4],a -.next9\@ - ld a,[W_PLAYERMOVEEFFECT] - ld hl,EffectsArray4 - ld de,1 - call IsInArray - call c,$7132 - ld hl,$CFE6 - ld a,[hli] - ld b,[hl] - or b - ret z - call $62B6 - - ld hl,W_PLAYERBATTSTATUS1 - bit 2,[hl] - jr z,.next10\@ ; 57EF - ld a,[$D06A] - dec a - ld [$D06A],a - jp nz,$5714 - - res 2,[hl] - ld hl,MultiHitText - call PrintText - xor a - ld [W_NUMHITS],a ; reset -.next10\@ - ld a,[W_PLAYERMOVEEFFECT] - and a - jp z,Function580A - ld hl,EffectsArray5 - ld de,1 - call IsInArray - call nc,$7132 - jp Function580A - -MultiHitText: ; 0x3d805 - TX_FAR _MultiHitText - db "@" - -Function580A: ; 0x3d80a 580A - xor a - ld [$CD6A],a - ld b,1 - ret - -Function5811: ; 0x3d811 5811 -; print the ghost battle messages - call $583A - ret nz - ld a,[H_WHOSETURN] - and a - jr nz,.Ghost\@ - ld a,[W_PLAYERMONSTATUS] ; player’s turn - and a,SLP | FRZ - ret nz - ld hl,ScaredText - call PrintText - xor a - ret -.Ghost\@ ; ghost’s turn - ld hl,GetOutText - call PrintText - xor a - ret - -ScaredText: ; 0x3d830 - TX_FAR _ScaredText - db "@" - -GetOutText: ; 0x3d835 - TX_FAR _GetOutText - db "@" - -Function583A: ; 0x3d83a 583A - ld a,[W_ISINBATTLE] - dec a - ret nz - ld a,[W_CURMAP] - cp a,$8E ; Lavender Town - jr c,.next\@ - cp a,$95 ; Pokémon Tower - jr nc,.next\@ - ld b,SILPH_SCOPE - call IsItemInBag ; $3493 - ret z -.next\@ - ld a,1 - and a - ret - -Function5854: ; 5854 - ld hl,W_PLAYERMONSTATUS - ld a,[hl] - and a,SLP - jr z,.FrozenCheck\@ ; to 5884 - - dec a - ld [W_PLAYERMONSTATUS],a ; decrement sleep count - and a - jr z,.WakeUp\@ ; to 5874 - - xor a - ld [$CC5B],a - ld a,SLP_ANIM - 1 - call $6F07 - ld hl,FastAsleepText - call PrintText - jr .sleepDone\@ -.WakeUp\@ - ld hl,WokeUpText - call PrintText -.sleepDone\@ - xor a - ld [$CCF1],a - ld hl,Function580A - jp $5A37 - -.FrozenCheck\@ - bit 5,[hl] ; frozen? - jr z,.HeldInPlaceCheck\@ ; to 5898 - ld hl,FrozenText - call PrintText - xor a - ld [$CCF1],a - ld hl,Function580A - jp $5A37 - -.HeldInPlaceCheck\@ - ld a,[W_ENEMYBATTSTATUS1] - bit 5,a - jp z,FlinchedCheck - ld hl,CantMoveText - call PrintText - ld hl,Function580A - jp $5A37 - -FlinchedCheck: ; 58AC - ld hl,W_PLAYERBATTSTATUS1 - bit 3,[hl] - jp z,HyperBeamCheck - res 3,[hl] - ld hl,FlinchedText - call PrintText - ld hl,Function580A - jp $5A37 - -HyperBeamCheck: ; 58C2 - ld hl,W_PLAYERBATTSTATUS2 - bit 5,[hl] - jr z,.next\@ ; 58D7 - res 5,[hl] - ld hl,MustRechargeText - call PrintText - ld hl,$580A - jp $5A37 -.next\@ - ld hl,$D06D - ld a,[hl] - and a - jr z,.next2\@ ; 58EE - dec a - ld [hl],a - and a,$F - jr nz,.next2\@ - ld [hl],a - ld [$CCEE],a - ld hl,DisabledNoMoreText - call PrintText -.next2\@ - ld a,[W_PLAYERBATTSTATUS1] - add a - jr nc,.next3\@ ; 5929 - ld hl,$D06B - dec [hl] - jr nz,.next4\@ ; 5907 - ld hl,W_PLAYERBATTSTATUS1 - res 7,[hl] - ld hl,ConfusedNoMoreText - call PrintText - jr .next3\@ -.next4\@ - ld hl,IsConfusedText - call PrintText - xor a - ld [$CC5B],a - ld a,CONF_ANIM - 1 - call $6F07 - call $6E9B - cp a,$80 - jr c,.next3\@ - ld hl,W_PLAYERBATTSTATUS1 - ld a,[hl] - and a,$80 - ld [hl],a - call $5AAD - jr .next5\@ ; 5952 -.next3\@ - ld a,[$CCEE] - and a - jr z,.ParalysisCheck\@ ; 593E - ld hl,$CCDC - cp [hl] - jr nz,.ParalysisCheck\@ - call $5A88 - ld hl,$580A - jp $5A37 -.ParalysisCheck\@ - ld hl,W_PLAYERMONSTATUS - bit 6,[hl] - jr z,.next7\@ ; 5975 - call $6E9B ; random number? - cp a,$3F - jr nc,.next7\@ - ld hl,FullyParalyzedText - call PrintText -.next5\@ - ld hl,W_PLAYERBATTSTATUS1 - ld a,[hl] - and a,$CC - ld [hl],a - ld a,[W_PLAYERMOVEEFFECT] - cp a,$2B - jr z,.next8\@ ; 5966 - cp a,$27 - jr z,.next8\@ - jr .next9\@ ; 596F -.next8\@ - xor a - ld [$CC5B],a - ld a,$A7 - call $6F07 -.next9\@ - ld hl,$580A - jp $5A37 -.next7\@ - ld hl,W_PLAYERBATTSTATUS1 - bit 0,[hl] - jr z,.next10\@ ; 59D0 - xor a - ld [W_PLAYERMOVENUM],a - ld hl,$D0D7 - ld a,[hli] - ld b,a - ld c,[hl] - ld hl,$D075 - ld a,[hl] - add c - ld [hld],a - ld a,[hl] - adc b - ld [hl],a - ld hl,$D06A - dec [hl] - jr z,.next11\@ ; 599B - ld hl,$580A - jp $5A37 -.next11\@ - ld hl,W_PLAYERBATTSTATUS1 - res 0,[hl] - ld hl,UnleashedEnergyText - call PrintText - ld a,1 - ld [$CFD4],a - ld hl,$D075 - ld a,[hld] - add a - ld b,a - ld [$D0D8],a - ld a,[hl] - rl a - ld [$D0D7],a - or b - jr nz,.next12\@ ; 59C2 - ld a,1 - ld [W_MOVEMISSED],a -.next12\@ - xor a - ld [hli],a - ld [hl],a - ld a,$75 - ld [W_PLAYERMOVENUM],a - ld hl,$5705 - jp $5A37 -.next10\@ - bit 1,[hl] - jr z,.next13\@ ; 59FF - ld a,$25 - ld [W_PLAYERMOVENUM],a - ld hl,ThrashingAboutText - call PrintText - ld hl,$D06A - dec [hl] - ld hl,$56DC - jp nz,$5A37 - push hl - ld hl,W_PLAYERBATTSTATUS1 - res 1,[hl] - set 7,[hl] - call $6E9B ; random number? - and a,3 - inc a - inc a - ld [$D06B],a - pop hl - jp $5A37 -.next13\@ - bit 5,[hl] - jp z,$5A1A - ld hl,AttackContinuesText - call PrintText - ld a,[$D06A] - dec a - ld [$D06A],a - ld hl,$5714 - jp nz,$5A37 - jp $5A37 - -INCBIN "baserom.gbc",$3DA1A,$3DA3D - $3DA1A - -FastAsleepText: - TX_FAR _FastAsleepText - db "@" - -WokeUpText: - TX_FAR _WokeUpText - db "@" - -FrozenText: - TX_FAR _FrozenText - db "@" - -FullyParalyzedText: - TX_FAR _FullyParalyzedText - db "@" - -FlinchedText: - TX_FAR _FlinchedText - db "@" - -MustRechargeText: - TX_FAR _MustRechargeText - db "@" - -DisabledNoMoreText: - TX_FAR _DisabledNoMoreText - db "@" - -IsConfusedText: - TX_FAR _IsConfusedText - db "@" - -HurtItselfText: - TX_FAR _HurtItselfText - db "@" - -ConfusedNoMoreText: - TX_FAR _ConfusedNoMoreText - db "@" - -SavingEnergyText: - TX_FAR _SavingEnergyText - db "@" - -UnleashedEnergyText: - TX_FAR _UnleashedEnergyText - db "@" - -ThrashingAboutText: - TX_FAR _ThrashingAboutText - db "@" - -AttackContinuesText: - TX_FAR _AttackContinuesText - db "@" - -CantMoveText: - TX_FAR _CantMoveText - db "@" - -INCBIN "baserom.gbc",$3da88,$3daa8 - $3da88 - -UnnamedText_3daa8: ; 0x3daa8 - TX_FAR _UnnamedText_3daa8 - db $50 -; 0x3daa8 + 5 bytes - -INCBIN "baserom.gbc",$3daad,$3db6c - $3daad - -UnnamedText_3db6c: ; 0x3db6c - TX_FAR _UnnamedText_3db6c - db $50 -; 0x3db6c + 5 bytes - -UnnamedText_3db71: ; 0x3db71 - TX_FAR _UnnamedText_3db71 - db $50 -; 0x3db71 + 5 bytes - -UnnamedText_3db76: ; 0x3db76 - TX_FAR _UnnamedText_3db76 - db $50 -; 0x3db76 + 5 bytes - -UnnamedText_3db7b: ; 0x3db7b - TX_FAR _UnnamedText_3db7b - db $50 -; 0x3db7b + 5 bytes - -UnnamedText_3db80: ; 0x3db80 - TX_FAR _UnnamedText_3db80 - db $50 -; 0x3db80 + 5 bytes - -INCBIN "baserom.gbc",$3db85,$3dc42 - $3db85 - -UnnamedText_3dc42: ; 0x3dc42 - TX_FAR _UnnamedText_3dc42 - db $50 -; 0x3dc42 + 5 bytes - -UnnamedText_3dc47: ; 0x3dc47 - TX_FAR _UnnamedText_3dc47 - db $50 -; 0x3dc47 + 5 bytes - -UnnamedText_3dc4c: ; 0x3dc4c - TX_FAR _UnnamedText_3dc4c - db $50 -; 0x3dc4c + 5 bytes - -INCBIN "baserom.gbc",$3dc51,$3dc57 - $3dc51 - -UnnamedText_3dc57: ; 0x3dc57 - TX_FAR _UnnamedText_3dc57 - db $50 -; 0x3dc57 + 5 bytes - -INCBIN "baserom.gbc",$3dc5c,$3dc7e - $3dc5c - -UnnamedText_3dc7e: ; 0x3dc7e - TX_FAR _UnnamedText_3dc7e - db $50 -; 0x3dc7e + 5 bytes - -UnnamedText_3dc83: ; 0x3dc83 - TX_FAR _UnnamedText_3dc83 - db $50 -; 0x3dc83 + 5 bytes - -INCBIN "baserom.gbc",$3dc88,$3ddb6 - $3dc88 - -UnnamedText_3ddb6: ; 0x3ddb6 - TX_FAR _UnnamedText_3ddb6 - db $50 -; 0x3ddb6 + 5 bytes - -UnnamedText_3ddbb: ; 0x3ddbb - TX_FAR _UnnamedText_3ddbb - db $50 -; 0x3ddbb + 5 bytes - -UnnamedText_3ddc0: ; 0x3ddc0 - TX_FAR _UnnamedText_3ddc0 - db $50 -; 0x3ddc0 + 5 bytes - -UnnamedText_3ddc5: ; 0x3ddc5 - TX_FAR _UnnamedText_3ddc5 - db $50 -; 0x3ddc5 + 5 bytes - -UnnamedText_3ddca: ; 0x3ddca - TX_FAR _UnnamedText_3ddca - db $50 -; 0x3ddca + 5 bytes - -INCBIN "baserom.gbc",$3ddcf,$3e04f - $3ddcf - -; azure heights claims "the fastest pokémon (who are,not coincidentally, -; among the most popular) tend to CH about 20 to 25% of the time." -CriticalHitProbability: ; 0x3e04f - ld a, [hld] ; read base power from RAM - and a - ret z ; do nothing if zero - dec hl - ld c, [hl] ; read move id - ld a, [de] - bit 2, a - jr nz, .asm_3e061 - sla b - jr nc, .asm_3e063 - ld b, $ff - jr .asm_3e063 -.asm_3e061 - srl b -.asm_3e063 - ld hl, HighCriticalMoves ; table of high critical hit moves -.Loop - ld a, [hli] ; read move from move table - cp c ; does it match the move about to be used? - jr z, .HighCritical ; if so, the move about to be used is a high critical hit ratio move - inc a ; move on to the next move, FF terminates loop - jr nz, .Loop ; check the next move in HighCriticalMoves - srl b ; /2 for regular move (effective 1/512?) - jr .SkipHighCritical ; continue as a normal move -.HighCritical - sla b ; *2 for high critical hit moves - jr nc, .asm_3e077 - ld b, $ff ; set to FF (max) on overflow -.asm_3e077 - sla b ; *4 for high critical move (effective 1/64?) - jr nc, .SkipHighCritical - ld b, $ff -.SkipHighCritical - call $6e9b ; probably generates a random value, in "a" - rlc a - rlc a - rlc a - cp b ; check a against $ff - ret nc ; no critical hit if no borrow - ld a, $1 - ld [$d05e], a ; set critical hit flag - ret -; 0x3e08e - -; high critical hit moves -HighCriticalMoves: ; 0x3e08e - db KARATE_CHOP - db RAZOR_LEAF - db CRABHAMMER - db SLASH - db $FF -; 0x3e093 - -; function to determine if Counter hits and if so, how much damage it does -HandleCounterMove: ; 6093 - ld a,[H_WHOSETURN] ; whose turn - and a -; player's turn - ld hl,W_ENEMYSELECTEDMOVE - ld de,W_ENEMYMOVEPOWER - ld a,[W_PLAYERSELECTEDMOVE] - jr z,.next\@ -; enemy's turn - ld hl,W_PLAYERSELECTEDMOVE - ld de,W_PLAYERMOVEPOWER - ld a,[W_ENEMYSELECTEDMOVE] -.next\@ - cp a,COUNTER - ret nz ; return if not using Counter - ld a,$01 - ld [W_MOVEMISSED],a ; initialize the move missed variable to true (it is set to false below if the move hits) - ld a,[hl] - cp a,COUNTER - ret z ; if the target also used Counter, miss - ld a,[de] - and a - ret z ; if the move the target used has 0 power, miss -; check if the move the target used was Normal or Fighting type - inc de - ld a,[de] - and a ; normal type - jr z,.counterableType\@ - cp a,FIGHTING - jr z,.counterableType\@ -; if the move wasn't Normal or Fighting type, miss - xor a - ret -.counterableType\@ - ld hl,W_DAMAGE - ld a,[hli] - or [hl] - ret z ; Counter misses if the target did no damage to the Counter user -; double the damage that the target did to the Counter user - ld a,[hl] - add a - ldd [hl],a - ld a,[hl] - adc a - ld [hl],a - jr nc,.noCarry\@ -; damage is capped at 0xFFFF - ld a,$ff - ld [hli],a - ld [hl],a -.noCarry\@ - xor a - ld [W_MOVEMISSED],a - call MoveHitTest ; do the normal move hit test in addition to Counter's special rules - xor a - ret - -ApplyDamageToEnemyPokemon: ; 60DF - ld a,[W_PLAYERMOVEEFFECT] - cp a,OHKO_EFFECT - jr z,.applyDamage\@ - cp a,SUPER_FANG_EFFECT - jr z,.superFangEffect\@ - cp a,SPECIAL_DAMAGE_EFFECT - jr z,.specialDamage\@ - ld a,[W_PLAYERMOVEPOWER] - and a - jp z,.done\@ - jr .applyDamage\@ -.superFangEffect\@ -; set the damage to half the target's HP - ld hl,W_ENEMYMONCURHP - ld de,W_DAMAGE - ld a,[hli] - srl a - ld [de],a - inc de - ld b,a - ld a,[hl] - rr a - ld [de],a - or b - jr nz,.applyDamage\@ -; make sure Super Fang's damage is always at least 1 - ld a,$01 - ld [de],a - jr .applyDamage\@ -.specialDamage\@ - ld hl,W_PLAYERMONLEVEL - ld a,[hl] - ld b,a - ld a,[W_PLAYERMOVENUM] - cp a,SEISMIC_TOSS - jr z,.storeDamage\@ - cp a,NIGHT_SHADE - jr z,.storeDamage\@ - ld b,SONICBOOM_DAMAGE - cp a,SONICBOOM - jr z,.storeDamage\@ - ld b,DRAGON_RAGE_DAMAGE - cp a,DRAGON_RAGE - jr z,.storeDamage\@ -; Psywave - ld a,[hl] - ld b,a - srl a - add b - ld b,a ; b = level * 1.5 -; loop until a random number in the range [1, b) is found -.loop\@ - call $6e9b ; random number - and a - jr z,.loop\@ - cp b - jr nc,.loop\@ - ld b,a -.storeDamage\@ - ld hl,W_DAMAGE - xor a - ld [hli],a - ld a,b - ld [hl],a -.applyDamage\@ - ld hl,W_DAMAGE - ld a,[hli] - ld b,a - ld a,[hl] - or b - jr z,.done\@ ; we're done if damage is 0 - ld a,[W_ENEMYBATTSTATUS2] - bit 4,a ; does the enemy have a substitute? - jp nz,AttackSubstitute -; subtract the damage from the pokemon's current HP -; also, save the current HP at $CEEB - ld a,[hld] - ld b,a - ld a,[W_ENEMYMONCURHP + 1] - ld [$ceeb],a - sub b - ld [W_ENEMYMONCURHP + 1],a - ld a,[hl] - ld b,a - ld a,[W_ENEMYMONCURHP] - ld [$ceec],a - sbc b - ld [W_ENEMYMONCURHP],a - jr nc,.animateHpBar\@ -; if more damage was done than the current HP, zero the HP and set the damage -; equal to how much HP the pokemon had before the attack - ld a,[$ceec] - ld [hli],a - ld a,[$ceeb] - ld [hl],a - xor a - ld hl,W_ENEMYMONCURHP - ld [hli],a - ld [hl],a -.animateHpBar\@ - ld hl,W_ENEMYMONMAXHP - ld a,[hli] - ld [$ceea],a - ld a,[hl] - ld [$cee9],a - ld hl,W_ENEMYMONCURHP - ld a,[hli] - ld [$ceee],a - ld a,[hl] - ld [$ceed],a - ld hl,$c3ca - xor a - ld [$cf94],a - ld a,$48 - call Predef ; animate the HP bar shortening -.done\@ - jp $4d5a ; redraw pokemon names and HP bars - -ApplyDamageToPlayerPokemon: ; 61A0 - ld a,[W_ENEMYMOVEEFFECT] - cp a,OHKO_EFFECT - jr z,.applyDamage\@ - cp a,SUPER_FANG_EFFECT - jr z,.superFangEffect\@ - cp a,SPECIAL_DAMAGE_EFFECT - jr z,.specialDamage\@ - ld a,[W_ENEMYMOVEPOWER] - and a - jp z,.done\@ - jr .applyDamage\@ -.superFangEffect\@ -; set the damage to half the target's HP - ld hl,W_PLAYERMONCURHP - ld de,W_DAMAGE - ld a,[hli] - srl a - ld [de],a - inc de - ld b,a - ld a,[hl] - rr a - ld [de],a - or b - jr nz,.applyDamage\@ -; make sure Super Fang's damage is always at least 1 - ld a,$01 - ld [de],a - jr .applyDamage\@ -.specialDamage\@ - ld hl,W_ENEMYMONLEVEL - ld a,[hl] - ld b,a - ld a,[W_ENEMYMOVENUM] - cp a,SEISMIC_TOSS - jr z,.storeDamage\@ - cp a,NIGHT_SHADE - jr z,.storeDamage\@ - ld b,SONICBOOM_DAMAGE - cp a,SONICBOOM - jr z,.storeDamage\@ - ld b,DRAGON_RAGE_DAMAGE - cp a,DRAGON_RAGE - jr z,.storeDamage\@ -; Psywave - ld a,[hl] - ld b,a - srl a - add b - ld b,a ; b = attacker's level * 1.5 -; loop until a random number in the range [0, b) is found -; this differs from the range when the player attacks, which is [1, b) -; it's possible for the enemy to do 0 damage with Psywave, but the player always does at least 1 damage -.loop\@ - call $6e9b ; random number - cp b - jr nc,.loop\@ - ld b,a -.storeDamage\@ - ld hl,W_DAMAGE - xor a - ld [hli],a - ld a,b - ld [hl],a -.applyDamage\@ - ld hl,W_DAMAGE - ld a,[hli] - ld b,a - ld a,[hl] - or b - jr z,.done\@ ; we're done if damage is 0 - ld a,[W_PLAYERBATTSTATUS2] - bit 4,a ; does the player have a substitute? - jp nz,AttackSubstitute -; subtract the damage from the pokemon's current HP -; also, save the current HP at $CEEB and the new HP at $CEED - ld a,[hld] - ld b,a - ld a,[W_PLAYERMONCURHP + 1] - ld [$ceeb],a - sub b - ld [W_PLAYERMONCURHP + 1],a - ld [$ceed],a - ld b,[hl] - ld a,[W_PLAYERMONCURHP] - ld [$ceec],a - sbc b - ld [W_PLAYERMONCURHP],a - ld [$ceee],a - jr nc,.animateHpBar\@ -; if more damage was done than the current HP, zero the HP and set the damage -; equal to how much HP the pokemon had before the attack - ld a,[$ceec] - ld [hli],a - ld a,[$ceeb] - ld [hl],a - xor a - ld hl,W_PLAYERMONCURHP - ld [hli],a - ld [hl],a - ld hl,$ceed - ld [hli],a - ld [hl],a -.animateHpBar\@ - ld hl,W_PLAYERMONMAXHP - ld a,[hli] - ld [$ceea],a - ld a,[hl] - ld [$cee9],a - ld hl,$c45e - ld a,$01 - ld [$cf94],a - ld a,$48 - call Predef ; animate the HP bar shortening -.done\@ - jp $4d5a ; redraw pokemon names and HP bars - -AttackSubstitute: ; 625E - ld hl,SubstituteTookDamageText - call PrintText -; values for player turn - ld de,W_ENEMYSUBSITUTEHP - ld bc,W_ENEMYBATTSTATUS2 - ld a,[H_WHOSETURN] - and a - jr z,.applyDamageToSubstitute\@ -; values for enemy turn - ld de,W_PLAYERSUBSITUTEHP - ld bc,W_PLAYERBATTSTATUS2 -.applyDamageToSubstitute\@ - ld hl,W_DAMAGE - ld a,[hli] - and a - jr nz,.substituteBroke\@ ; damage > 0xFF always breaks substitutes -; subtract damage from HP of substitute - ld a,[de] - sub [hl] - ld [de],a - ret nc -.substituteBroke\@ - ld h,b - ld l,c - res 4,[hl] ; unset the substitute bit - ld hl,SubstituteBrokeText - call PrintText -; flip whose turn it is for the next function call - ld a,[H_WHOSETURN] - xor a,$01 - ld [H_WHOSETURN],a - ld hl,$5747 - ld b,$1e ; animate the substitute breaking - call Bankswitch ; substitute -; flip the turn back to the way it was - ld a,[H_WHOSETURN] - xor a,$01 - ld [H_WHOSETURN],a - ld hl,W_PLAYERMOVEEFFECT ; value for player's turn - and a - jr z,.nullifyEffect\@ - ld hl,W_ENEMYMOVEEFFECT ; value for enemy's turn -.nullifyEffect\@ - xor a - ld [hl],a ; zero the effect of the attacker's move - jp $4d5a ; redraw pokemon names and HP bars - -SubstituteTookDamageText: ; 0x3e2ac - TX_FAR _SubstituteTookDamageText - db $50 -; 0x3e2ac + 5 bytes - -SubstituteBrokeText: ; 0x3e2b1 - TX_FAR _SubstituteBrokeText - db $50 -; 0x3e2b1 + 5 bytes - -; this function raises the attack modifier of a pokemon using Rage when that pokemon is attacked -HandleBuildingRage: ; 62B6 -; values for the player turn - ld hl,W_ENEMYBATTSTATUS2 - ld de,W_ENEMYMONATTACKMOD - ld bc,W_ENEMYMOVENUM - ld a,[H_WHOSETURN] - and a - jr z,.next\@ -; values for the enemy turn - ld hl,W_PLAYERBATTSTATUS2 - ld de,W_PLAYERMONATTACKMOD - ld bc,W_PLAYERMOVENUM -.next\@ - bit 6,[hl] ; is the pokemon being attacked under the effect of Rage? - ret z ; return if not - ld a,[de] - cp a,$0d ; maximum stat modifier value - ret z ; return if attack modifier is already maxed - ld a,[H_WHOSETURN] - xor a,$01 ; flip turn for the stat modifier raising function - ld [H_WHOSETURN],a -; change the target pokemon's move to $00 and the effect to the one -; that causes the attack modifier to go up one stage - ld h,b - ld l,c - ld [hl],$00 ; null move number - inc hl - ld [hl],ATTACK_UP1_EFFECT - push hl - ld hl,BuildingRageText - call PrintText - call $7428 ; stat modifier raising function - pop hl - xor a - ldd [hl],a ; null move effect - ld a,RAGE - ld [hl],a ; restore the target pokemon's move number to Rage - ld a,[H_WHOSETURN] - xor a,$01 ; flip turn back to the way it was - ld [H_WHOSETURN],a - ret - -BuildingRageText: ; 0x3e2f8 - TX_FAR _BuildingRageText - db $50 -; 0x3e2f8 + 5 bytes - -; copy last move for Mirror Move -; sets zero flag on failure and unsets zero flag on success -MirrorMoveCopyMove: ; 62FD - ld a,[H_WHOSETURN] - and a -; values for player turn - ld a,[$ccf2] - ld hl,W_PLAYERSELECTEDMOVE - ld de,W_PLAYERMOVENUM - jr z,.next\@ -; values for enemy turn - ld a,[$ccf1] - ld de,W_ENEMYMOVENUM - ld hl,W_ENEMYSELECTEDMOVE -.next\@ - ld [hl],a - cp a,MIRROR_MOVE ; did the target pokemon also use Mirror Move? - jr z,.mirrorMoveFailed\@ - and a ; null move? - jr nz,ReloadMoveData -.mirrorMoveFailed\@ -; Mirror Move fails on itself and null moves - ld hl,MirrorMoveFailedText - call PrintText - xor a - ret - -MirrorMoveFailedText: ; 0x3e324 - TX_FAR _MirrorMoveFailedText - db $50 -; 0x3e324 + 5 bytes - -; function used to reload move data for moves like Mirror Move and Metronome -ReloadMoveData: ; 6329 - ld [$d11e],a - dec a - ld hl,Moves - ld bc,$0006 - call AddNTimes - ld a,BANK(Moves) - call FarCopyData ; copy the move's stats - call IncrementMovePP -; the follow two function calls are used to reload the move name - call $3058 - call $3826 - ld a,$01 - and a - ret - -; function that picks a random move for metronome -MetronomePickMove: ; 6348 - xor a - ld [$cc5b],a - ld a,METRONOME - call PlayMoveAnimation ; play Metronome's animation -; values for player turn - ld de,W_PLAYERMOVENUM - ld hl,W_PLAYERSELECTEDMOVE - ld a,[H_WHOSETURN] - and a - jr z,.pickMoveLoop\@ -; values for enemy turn - ld de,W_ENEMYMOVENUM - ld hl,W_ENEMYSELECTEDMOVE -; loop to pick a random number in the range [1, $a5) to be the move used by Metronome -.pickMoveLoop\@ - call $6e9b ; random number - and a - jr z,.pickMoveLoop\@ - cp a,$a5 ; max normal move number + 1 (this is Struggle's move number) - jr nc,.pickMoveLoop\@ - cp a,METRONOME - jr z,.pickMoveLoop\@ - ld [hl],a - jr ReloadMoveData - -; this function increments the current move's PP -; it's used to prevent moves that run another move within the same turn -; (like Mirror Move and Metronome) from losing 2 PP -IncrementMovePP: ; 6373 - ld a,[H_WHOSETURN] - and a -; values for player turn - ld hl,W_PLAYERMONPP - ld de,W_PARTYMON1_MOVE1PP - ld a,[W_PLAYERMOVELISTINDEX] - jr z,.next\@ -; values for enemy turn - ld hl,W_ENEMYMONPP - ld de,$d8c1 ; enemy party pokemon 1 PP - ld a,[W_ENEMYMOVELISTINDEX] -.next\@ - ld b,$00 - ld c,a - add hl,bc - inc [hl] ; increment PP in the currently battling pokemon memory location - ld h,d - ld l,e - add hl,bc - ld a,[H_WHOSETURN] - and a - ld a,[W_PLAYERMONNUMBER] ; value for player turn - jr z,.next2\@ - ld a,[W_ENEMYMONNUMBER] ; value for enemy turn -.next2\@ - ld bc,$002c - call AddNTimes - inc [hl] ; increment PP in the party memory location - ret - -; function to adjust the base damage of an attack to account for type effectiveness -AdjustDamageForMoveType: ; 63A5 -; values for player turn - ld hl,W_PLAYERMONTYPES - ld a,[hli] - ld b,a ; b = type 1 of attacker - ld c,[hl] ; c = type 2 of attacker - ld hl,W_ENEMYMONTYPES - ld a,[hli] - ld d,a ; d = type 1 of defender - ld e,[hl] ; e = type 2 of defender - ld a,[W_PLAYERMOVETYPE] - ld [$d11e],a - ld a,[H_WHOSETURN] - and a - jr z,.next\@ -; values for enemy turn - ld hl,W_ENEMYMONTYPES - ld a,[hli] - ld b,a ; b = type 1 of attacker - ld c,[hl] ; c = type 2 of attacker - ld hl,W_PLAYERMONTYPES - ld a,[hli] - ld d,a ; d = type 1 of defender - ld e,[hl] ; e = type 2 of defender - ld a,[W_ENEMYMOVETYPE] - ld [$d11e],a -.next\@ - ld a,[$d11e] ; move type - cp b ; does the move type match type 1 of the attacker? - jr z,.sameTypeAttackBonus\@ - cp c ; does the move type match type 2 of the attacker? - jr z,.sameTypeAttackBonus\@ - jr .skipSameTypeAttackBonus\@ -.sameTypeAttackBonus\@ -; if the move type matches one of the attacker's types - ld hl,W_DAMAGE + 1 - ld a,[hld] - ld h,[hl] - ld l,a ; hl = damage - ld b,h - ld c,l ; bc = damage - srl b - rr c ; bc = floor(0.5 * damage) - add hl,bc ; hl = floor(1.5 * damage) -; store damage - ld a,h - ld [W_DAMAGE],a - ld a,l - ld [W_DAMAGE + 1],a - ld hl,$d05b - set 7,[hl] -.skipSameTypeAttackBonus\@ - ld a,[$d11e] - ld b,a ; b = move type - ld hl,TypeEffects -.loop\@ - ld a,[hli] ; a = "attacking type" of the current type pair - cp a,$ff - jr z,.done\@ - cp b ; does move type match "attacking type"? - jr nz,.nextTypePair\@ - ld a,[hl] ; a = "defending type" of the current type pair - cp d ; does type 1 of defender match "defending type"? - jr z,.matchingPairFound\@ - cp e ; does type 2 of defender match "defending type"? - jr z,.matchingPairFound\@ - jr .nextTypePair\@ -.matchingPairFound\@ -; if the move type matches the "attacking type" and one of the defender's types matches the "defending type" - push hl - push bc - inc hl - ld a,[$d05b] - and a,$80 - ld b,a - ld a,[hl] ; a = damage multiplier - ld [H_MULTIPLIER],a - add b - ld [$d05b],a - xor a - ld [H_MULTIPLICAND],a - ld hl,W_DAMAGE - ld a,[hli] - ld [H_MULTIPLICAND + 1],a - ld a,[hld] - ld [H_MULTIPLICAND + 2],a - call $38ac ; multiply - ld a,10 - ld [H_DIVISOR],a - ld b,$04 - call $38b9 ; divide - ld a,[H_QUOTIENT + 2] - ld [hli],a - ld b,a - ld a,[H_QUOTIENT + 3] - ld [hl],a - or b ; is damage 0? - jr nz,.skipTypeImmunity\@ -.typeImmunity\@ -; if damage is 0, make the move miss - inc a - ld [W_MOVEMISSED],a -.skipTypeImmunity\@ - pop bc - pop hl -.nextTypePair\@ - inc hl - inc hl - jp .loop\@ -.done\@ - ret - -; function to tell how effective the type of an enemy attack is on the player's current pokemon -; this doesn't take into account the effects that dual types can have -; (e.g. 4x weakness / resistance, weaknesses and resistances canceling) -; the result is stored in [$D11E] -; ($05 is not very effective, $10 is neutral, $14 is super effective) -; as far is can tell, this is only used once in some AI code to help decide which move to use -AIGetTypeEffectiveness: ; 6449 - ld a,[W_ENEMYMOVETYPE] - ld d,a ; d = type of enemy move - ld hl,W_PLAYERMONTYPES - ld b,[hl] ; b = type 1 of player's pokemon - inc hl - ld c,[hl] ; c = type 2 of player's pokemon - ld a,$10 - ld [$d11e],a ; initialize [$D11E] to neutral effectiveness - ld hl,TypeEffects -.loop\@ - ld a,[hli] - cp a,$ff - ret z - cp d ; match the type of the move - jr nz,.nextTypePair1\@ - ld a,[hli] - cp b ; match with type 1 of pokemon - jr z,.done\@ - cp c ; or match with type 2 of pokemon - jr z,.done\@ - jr .nextTypePair2\@ -.nextTypePair1\@ - inc hl -.nextTypePair2\@ - inc hl - jr .loop\@ -.done\@ - ld a,[hl] - ld [$d11e],a ; store damage multiplier - ret - -TypeEffects: ; 6474 -; format: attacking type, defending type, damage multiplier -; the multiplier is a (decimal) fixed-point number: -; 20 is ×2.0 -; 05 is ×0.5 -; 00 is ×0 - db WATER,FIRE,20 - db FIRE,GRASS,20 - db FIRE,ICE,20 - db GRASS,WATER,20 - db ELECTRIC,WATER,20 - db WATER,ROCK,20 - db GROUND,FLYING,00 - db WATER,WATER,05 - db FIRE,FIRE,05 - db ELECTRIC,ELECTRIC,05 - db ICE,ICE,05 - db GRASS,GRASS,05 - db PSYCHIC,PSYCHIC,05 - db FIRE,WATER,05 - db GRASS,FIRE,05 - db WATER,GRASS,05 - db ELECTRIC,GRASS,05 - db NORMAL,ROCK,05 - db NORMAL,GHOST,00 - db GHOST,GHOST,20 - db FIRE,BUG,20 - db FIRE,ROCK,05 - db WATER,GROUND,20 - db ELECTRIC,GROUND,00 - db ELECTRIC,FLYING,20 - db GRASS,GROUND,20 - db GRASS,BUG,05 - db GRASS,POISON,05 - db GRASS,ROCK,20 - db GRASS,FLYING,05 - db ICE,WATER,05 - db ICE,GRASS,20 - db ICE,GROUND,20 - db ICE,FLYING,20 - db FIGHTING,NORMAL,20 - db FIGHTING,POISON,05 - db FIGHTING,FLYING,05 - db FIGHTING,PSYCHIC,05 - db FIGHTING,BUG,05 - db FIGHTING,ROCK,20 - db FIGHTING,ICE,20 - db FIGHTING,GHOST,00 - db POISON,GRASS,20 - db POISON,POISON,05 - db POISON,GROUND,05 - db POISON,BUG,20 - db POISON,ROCK,05 - db POISON,GHOST,05 - db GROUND,FIRE,20 - db GROUND,ELECTRIC,20 - db GROUND,GRASS,05 - db GROUND,BUG,05 - db GROUND,ROCK,20 - db GROUND,POISON,20 - db FLYING,ELECTRIC,05 - db FLYING,FIGHTING,20 - db FLYING,BUG,20 - db FLYING,GRASS,20 - db FLYING,ROCK,05 - db PSYCHIC,FIGHTING,20 - db PSYCHIC,POISON,20 - db BUG,FIRE,05 - db BUG,GRASS,20 - db BUG,FIGHTING,05 - db BUG,FLYING,05 - db BUG,PSYCHIC,20 - db BUG,GHOST,05 - db BUG,POISON,20 - db ROCK,FIRE,20 - db ROCK,FIGHTING,05 - db ROCK,GROUND,05 - db ROCK,FLYING,20 - db ROCK,BUG,20 - db ROCK,ICE,20 - db GHOST,NORMAL,00 - db GHOST,PSYCHIC,00 - db FIRE,DRAGON,05 - db WATER,DRAGON,05 - db ELECTRIC,DRAGON,05 - db GRASS,DRAGON,05 - db ICE,DRAGON,20 - db DRAGON,DRAGON,20 - db $FF - -; some tests that need to pass for a move to hit -MoveHitTest: ; 656B -; player's turn - ld hl,W_ENEMYBATTSTATUS1 - ld de,W_PLAYERMOVEEFFECT - ld bc,W_ENEMYMONSTATUS - ld a,[H_WHOSETURN] - and a - jr z,.dreamEaterCheck\@ -; enemy's turn - ld hl,W_PLAYERBATTSTATUS1 - ld de,W_ENEMYMOVEEFFECT - ld bc,W_PLAYERMONSTATUS -.dreamEaterCheck\@ - ld a,[de] - cp a,DREAM_EATER_EFFECT - jr nz,.swiftCheck\@ - ld a,[bc] - and a,$07 ; is the target pokemon sleeping? - jp z,.moveMissed\@ -.swiftCheck\@ - ld a,[de] - cp a,SWIFT_EFFECT - ret z ; Swift never misses (interestingly, Azure Heights lists this is a myth, but it appears to be true) - call $7b79 ; substitute check (note that this overwrites a) - jr z,.checkForDigOrFlyStatus\@ -; this code is buggy. it's supposed to prevent HP draining moves from working on substitutes. -; since $7b79 overwrites a with either $00 or $01, it never works. - cp a,DRAIN_HP_EFFECT ; $03 - jp z,.moveMissed\@ - cp a,DREAM_EATER_EFFECT ; $08 - jp z,.moveMissed\@ -.checkForDigOrFlyStatus\@ - bit 6,[hl] - jp nz,.moveMissed\@ - ld a,[H_WHOSETURN] - and a - jr nz,.enemyTurn\@ -.playerTurn\@ -; this checks if the move effect is disallowed by mist - ld a,[W_PLAYERMOVEEFFECT] - cp a,$12 - jr c,.skipEnemyMistCheck\@ - cp a,$1a - jr c,.enemyMistCheck\@ - cp a,$3a - jr c,.skipEnemyMistCheck\@ - cp a,$42 - jr c,.enemyMistCheck\@ - jr .skipEnemyMistCheck\@ -.enemyMistCheck\@ -; if move effect is from $12 to $19 inclusive or $3a to $41 inclusive -; i.e. the following moves -; GROWL, TAIL WHIP, LEER, STRING SHOT, SAND-ATTACK, SMOKESCREEN, KINESIS, -; FLASH, CONVERSION, HAZE*, SCREECH, LIGHT SCREEN*, REFLECT* -; the moves that are marked with an asterisk are not affected since this -; function is not called when those moves are used -; XXX are there are any others like those three? - ld a,[W_ENEMYBATTSTATUS2] - bit 1,a - jp nz,.moveMissed\@ -.skipEnemyMistCheck\@ - ld a,[W_PLAYERBATTSTATUS2] - bit 0,a ; is the player using X Accuracy? - ret nz ; if so, always hit regardless of accuracy/evasion - jr .calcHitChance\@ -.enemyTurn\@ - ld a,[W_ENEMYMOVEEFFECT] - cp a,$12 - jr c,.skipPlayerMistCheck\@ - cp a,$1a - jr c,.playerMistCheck\@ - cp a,$3a - jr c,.skipPlayerMistCheck\@ - cp a,$42 - jr c,.playerMistCheck\@ - jr .skipPlayerMistCheck\@ -.playerMistCheck\@ -; similar to enemy mist check - ld a,[W_PLAYERBATTSTATUS2] - bit 1,a - jp nz,.moveMissed\@ -.skipPlayerMistCheck\@ - ld a,[W_ENEMYBATTSTATUS2] - bit 0,a ; is the enemy using X Accuracy? - ret nz ; if so, always hit regardless of accuracy/evasion -.calcHitChance\@ - call CalcHitChance ; scale the move accuracy according to attacker's accuracy and target's evasion - ld a,[W_PLAYERMOVEACCURACY] - ld b,a - ld a,[H_WHOSETURN] - and a - jr z,.doAccuracyCheck\@ - ld a,[W_ENEMYMOVEACCURACY] - ld b,a -.doAccuracyCheck\@ -; if the random number generated is greater than or equal to the scaled accuracy, the move misses -; note that this means that even the highest accuracy is still just a 255/256 chance, not 100% - call $6e9b ; random number - cp b - jr nc,.moveMissed\@ - ret -.moveMissed\@ - xor a - ld hl,W_DAMAGE ; zero the damage - ld [hli],a - ld [hl],a - inc a - ld [W_MOVEMISSED],a - ld a,[H_WHOSETURN] - and a - jr z,.playerTurn2\@ -.enemyTurn2\@ - ld hl,W_ENEMYBATTSTATUS1 - res 5,[hl] ; end multi-turn attack e.g. wrap - ret -.playerTurn2\@ - ld hl,W_PLAYERBATTSTATUS1 - res 5,[hl] ; end multi-turn attack e.g. wrap - ret - -; values for player turn -CalcHitChance: ; 6624 - ld hl,W_PLAYERMOVEACCURACY - ld a,[H_WHOSETURN] - and a - ld a,[W_PLAYERMONACCURACYMOD] - ld b,a - ld a,[W_ENEMYMONEVASIONMOD] - ld c,a - jr z,.next\@ -; values for enemy turn - ld hl,W_ENEMYMOVEACCURACY - ld a,[W_ENEMYMONACCURACYMOD] - ld b,a - ld a,[W_PLAYERMONEVASIONMOD] - ld c,a -.next\@ - ld a,$0e - sub c - ld c,a ; c = 14 - EVASIONMOD (this "reflects" the value over 7, so that an increase in the target's evasion decreases the hit chance instead of increasing the hit chance) -; zero the high bytes of the multiplicand - xor a - ld [H_MULTIPLICAND],a - ld [H_MULTIPLICAND + 1],a - ld a,[hl] - ld [H_MULTIPLICAND + 2],a ; set multiplicand to move accuracy - push hl - ld d,$02 ; loop has two iterations -; loop to do the calculations, the first iteration multiplies by the accuracy ratio and the second iteration multiplies by the evasion ratio -.loop\@ - push bc - ld hl,$76cb ; stat modifier ratios - dec b - sla b - ld c,b - ld b,$00 - add hl,bc ; hl = address of stat modifier ratio - pop bc - ld a,[hli] - ld [H_MULTIPLIER],a ; set multiplier to the numerator of the ratio - call $38ac ; multiply - ld a,[hl] - ld [H_DIVISOR],a ; set divisor to the the denominator of the ratio (the dividend is the product of the previous multiplication) - ld b,$04 ; number of significant bytes in the dividend - call $38b9 ; divide - ld a,[H_QUOTIENT + 3] - ld b,a - ld a,[H_QUOTIENT + 2] - or b - jp nz,.nextCalculation\@ -; make sure the result is always at least one - ld [H_QUOTIENT + 2],a - ld a,$01 - ld [H_QUOTIENT + 3],a -.nextCalculation\@ - ld b,c - dec d - jr nz,.loop\@ - ld a,[H_QUOTIENT + 2] - and a ; is the calculated hit chance over 0xFF? - ld a,[H_QUOTIENT + 3] - jr z,.storeAccuracy\@ -; if calculated hit chance over 0xFF - ld a,$ff ; set the hit chance to 0xFF -.storeAccuracy\@ - pop hl - ld [hl],a ; store the hit chance in the move accuracy variable - ret - -INCBIN "baserom.gbc",$3e687,$3e887 - $3e687 - -UnnamedText_3e887: ; 0x3e887 - TX_FAR _UnnamedText_3e887 - db $50 -; 0x3e887 + 5 bytes - -INCBIN "baserom.gbc",$3e88c,$67b - -PlayMoveAnimation: ; 6F07 - ld [$D07C],a - call Delay3 - ld a,8 - jp Predef - -INCBIN "baserom.gbc",$3ef12,$3f245 - $3ef12 - -UnnamedText_3f245: ; 0x3f245 - TX_FAR _UnnamedText_3f245 - db $50 -; 0x3f245 + 5 bytes - -UnnamedText_3f24a: ; 0x3f24a - TX_FAR _UnnamedText_3f24a - db $50 -; 0x3f24a + 5 bytes - -INCBIN "baserom.gbc",$3f24f,$3f2df - $3f24f - -UnnamedText_3f2df: ; 0x3f2df - TX_FAR _UnnamedText_3f2df - db $50 -; 0x3f2df + 5 bytes - -UnnamedText_3f2e4: ; 0x3f2e4 - TX_FAR _UnnamedText_3f2e4 - db $50 -; 0x3f2e4 + 5 bytes - -INCBIN "baserom.gbc",$3f2e9,$3f3d8 - $3f2e9 - -UnnamedText_3f3d8: ; 0x3f3d8 - TX_FAR _UnnamedText_3f3d8 - db $50 -; 0x3f3d8 + 5 bytes - -UnnamedText_3f3dd: ; 0x3f3dd - TX_FAR _UnnamedText_3f3dd - db $50 -; 0x3f3dd + 5 bytes - -INCBIN "baserom.gbc",$3f3e2,$3f423 - $3f3e2 - -UnnamedText_3f423: ; 0x3f423 - TX_FAR _UnnamedText_3f423 - db $50 -; 0x3f423 + 5 bytes - -INCBIN "baserom.gbc",$3f428,$3f547 - $3f428 - -UnnamedText_3f547: ; 0x3f547 - TX_FAR _UnnamedText_3f547 - db $50 -; 0x3f547 + 5 bytes - -INCBIN "baserom.gbc",$3f54c,$3f683 - $3f54c - -UnnamedText_3f683: ; 0x3f683 - TX_FAR _UnnamedText_3f683 - db $50 -; 0x3f683 + 5 bytes - -INCBIN "baserom.gbc",$3f688,$3f802 - $3f688 - -UnnamedText_3f802: ; 0x3f802 - TX_FAR _UnnamedText_3f802 - db $50 -; 0x3f802 + 5 bytes - -UnnamedText_3f807: ; 0x3f807 - TX_FAR _UnnamedText_3f807 - db $50 -; 0x3f807 + 5 bytes - -UnnamedText_3f80c: ; 0x3f80c - TX_FAR _UnnamedText_3f80c - db $50 -; 0x3f80c + 5 bytes - -INCBIN "baserom.gbc",$3f811,$3f8f9 - $3f811 - -UnnamedText_3f8f9: ; 0x3f8f9 - TX_FAR _UnnamedText_3f8f9 - db $50 -; 0x3f8f9 + 5 bytes - -UnnamedText_3f8fe: ; 0x3f8fe - TX_FAR _UnnamedText_3f8fe - db $50 -; 0x3f8fe + 5 bytes - -UnnamedText_3f903: ; 0x3f903 - TX_FAR _UnnamedText_3f903 - db $50 -; 0x3f903 + 5 bytes - -UnnamedText_3f908: ; 0x3f908 - TX_FAR _UnnamedText_3f908 - db $50 -; 0x3f908 + 5 bytes - -UnnamedText_3f90d: ; 0x3f90d - TX_FAR _UnnamedText_3f90d - db $50 -; 0x3f90d + 5 bytes - -UnnamedText_3f912: ; 0x3f912 - TX_FAR _UnnamedText_3f912 - db $50 -; 0x3f912 + 5 bytes - -INCBIN "baserom.gbc",$3f917,$3f9a1 - $3f917 - -UnnamedText_3f9a1: ; 0x3f9a1 - TX_FAR _UnnamedText_3f9a1 - db $50 -; 0x3f9a1 + 5 bytes - -INCBIN "baserom.gbc",$3f9a6,$3fa77 - $3f9a6 - -UnnamedText_3fa77: ; 0x3fa77 - TX_FAR _UnnamedText_3fa77 - db $50 -; 0x3fa77 + 5 bytes - -INCBIN "baserom.gbc",$3fa7c,$3fb09 - $3fa7c - -UnnamedText_3fb09: ; 0x3fb09 - TX_FAR _UnnamedText_3fb09 - db $50 -; 0x3fb09 + 5 bytes - -INCBIN "baserom.gbc",$3fb0e,$3fb3e - $3fb0e - -UnnamedText_3fb3e: ; 0x3fb3e - TX_FAR _UnnamedText_3fb3e - db $50 -; 0x3fb3e + 5 bytes - -INCBIN "baserom.gbc",$3fb43,$3fb49 - $3fb43 - -UnnamedText_3fb49: ; 0x3fb49 - TX_FAR _UnnamedText_3fb49 - db $50 -; 0x3fb49 + 5 bytes - -INCBIN "baserom.gbc",$3fb4e,$3fb59 - $3fb4e - -UnnamedText_3fb59: ; 0x3fb59 - TX_FAR _UnnamedText_3fb59 - db $50 -; 0x3fb59 + 5 bytes - -INCBIN "baserom.gbc",$3fb5e,$3fb64 - $3fb5e - -UnnamedText_3fb64: ; 0x3fb64 - TX_FAR _UnnamedText_3fb64 - db $50 -; 0x3fb64 + 5 bytes - -UnnamedText_3fb69: ; 0x3fb69 - TX_FAR _UnnamedText_3fb69 - db $50 -; 0x3fb69 + 5 bytes - -INCBIN "baserom.gbc",$3fb6e,$3fb74 - $3fb6e - -UnnamedText_3fb74: ; 0x3fb74 - TX_FAR _UnnamedText_3fb74 - db $50 -; 0x3fb74 + 5 bytes - -INCBIN "baserom.gbc",$3fb79,$487 - -SECTION "bank10",DATA,BANK[$10] - -INCBIN "baserom.gbc",$40000,$47E - -PokedexEntryPointers: ; 447E - dw RhydonDexEntry - dw KangaskhanDexEntry - dw NidoranMDexEntry - dw ClefairyDexEntry - dw SpearowDexEntry - dw VoltorbDexEntry - dw NidokingDexEntry - dw SlowbroDexEntry - dw IvysaurDexEntry - dw ExeggutorDexEntry - dw LickitungDexEntry - dw ExeggcuteDexEntry - dw GrimerDexEntry - dw GengarDexEntry - dw NidoranFDexEntry - dw NidoqueenDexEntry - dw CuboneDexEntry - dw RhyhornDexEntry - dw LaprasDexEntry - dw ArcanineDexEntry - dw MewDexEntry - dw GyaradosDexEntry - dw ShellderDexEntry - dw TentacoolDexEntry - dw GastlyDexEntry - dw ScytherDexEntry - dw StaryuDexEntry - dw BlastoiseDexEntry - dw PinsirDexEntry - dw TangelaDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw GrowlitheDexEntry - dw OnixDexEntry - dw FearowDexEntry - dw PidgeyDexEntry - dw SlowpokeDexEntry - dw KadabraDexEntry - dw GravelerDexEntry - dw ChanseyDexEntry - dw MachokeDexEntry - dw MrMimeDexEntry - dw HitmonleeDexEntry - dw HitmonchanDexEntry - dw ArbokDexEntry - dw ParasectDexEntry - dw PsyduckDexEntry - dw DrowzeeDexEntry - dw GolemDexEntry - dw MissingNoDexEntry - dw MagmarDexEntry - dw MissingNoDexEntry - dw ElectabuzzDexEntry - dw MagnetonDexEntry - dw KoffingDexEntry - dw MissingNoDexEntry - dw MankeyDexEntry - dw SeelDexEntry - dw DiglettDexEntry - dw TaurosDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw FarfetchdDexEntry - dw VenonatDexEntry - dw DragoniteDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw DoduoDexEntry - dw PoliwagDexEntry - dw JynxDexEntry - dw MoltresDexEntry - dw ArticunoDexEntry - dw ZapdosDexEntry - dw DittoDexEntry - dw MeowthDexEntry - dw KrabbyDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw VulpixDexEntry - dw NinetalesDexEntry - dw PikachuDexEntry - dw RaichuDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw DratiniDexEntry - dw DragonairDexEntry - dw KabutoDexEntry - dw KabutopsDexEntry - dw HorseaDexEntry - dw SeadraDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw SandshrewDexEntry - dw SandslashDexEntry - dw OmanyteDexEntry - dw OmastarDexEntry - dw JigglypuffDexEntry - dw WigglytuffDexEntry - dw EeveeDexEntry - dw FlareonDexEntry - dw JolteonDexEntry - dw VaporeonDexEntry - dw MachopDexEntry - dw ZubatDexEntry - dw EkansDexEntry - dw ParasDexEntry - dw PoliwhirlDexEntry - dw PoliwrathDexEntry - dw WeedleDexEntry - dw KakunaDexEntry - dw BeedrillDexEntry - dw MissingNoDexEntry - dw DodrioDexEntry - dw PrimeapeDexEntry - dw DugtrioDexEntry - dw VenomothDexEntry - dw DewgongDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw CaterpieDexEntry - dw MetapodDexEntry - dw ButterfreeDexEntry - dw MachampDexEntry - dw MissingNoDexEntry - dw GolduckDexEntry - dw HypnoDexEntry - dw GolbatDexEntry - dw MewtwoDexEntry - dw SnorlaxDexEntry - dw MagikarpDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw MukDexEntry - dw MissingNoDexEntry - dw KinglerDexEntry - dw CloysterDexEntry - dw MissingNoDexEntry - dw ElectrodeDexEntry - dw ClefableDexEntry - dw WeezingDexEntry - dw PersianDexEntry - dw MarowakDexEntry - dw MissingNoDexEntry - dw HaunterDexEntry - dw AbraDexEntry - dw AlakazamDexEntry - dw PidgeottoDexEntry - dw PidgeotDexEntry - dw StarmieDexEntry - dw BulbasaurDexEntry - dw VenusaurDexEntry - dw TentacruelDexEntry - dw MissingNoDexEntry - dw GoldeenDexEntry - dw SeakingDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw PonytaDexEntry - dw RapidashDexEntry - dw RattataDexEntry - dw RaticateDexEntry - dw NidorinoDexEntry - dw NidorinaDexEntry - dw GeodudeDexEntry - dw PorygonDexEntry - dw AerodactylDexEntry - dw MissingNoDexEntry - dw MagnemiteDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw CharmanderDexEntry - dw SquirtleDexEntry - dw CharmeleonDexEntry - dw WartortleDexEntry - dw CharizardDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw OddishDexEntry - dw GloomDexEntry - dw VileplumeDexEntry - dw BellsproutDexEntry - dw WeepinbellDexEntry - dw VictreebelDexEntry - -; string: species name -; height in feet, inches -; weight in pounds -; text entry - -RhydonDexEntry: - db "DRILL@" - db 6,3 - dw 2650 - TX_FAR _RhydonDexEntry - db "@" - -KangaskhanDexEntry: - db "PARENT@" - db 7,3 - dw 1760 - TX_FAR _KangaskhanDexEntry - db "@" - -NidoranMDexEntry: - db "POISON PIN@" - db 1,8 - dw 200 - TX_FAR _NidoranMDexEntry - db "@" - -ClefairyDexEntry: - db "FAIRY@" - db 2,0 - dw 170 - TX_FAR _ClefairyDexEntry - db "@" - -SpearowDexEntry: - db "TINY BIRD@" - db 1,0 - dw 40 - TX_FAR _SpearowDexEntry - db "@" - -VoltorbDexEntry: - db "BALL@" - db 1,8 - dw 230 - TX_FAR _VoltorbDexEntry - db "@" - -NidokingDexEntry: - db "DRILL@" - db 4,7 - dw 1370 - TX_FAR _NidokingDexEntry - db "@" - -SlowbroDexEntry: - db "HERMITCRAB@" - db 5,3 - dw 1730 - TX_FAR _SlowbroDexEntry - db "@" - -IvysaurDexEntry: - db "SEED@" - db 3,3 - dw 290 - TX_FAR _IvysaurDexEntry - db "@" - -ExeggutorDexEntry: - db "COCONUT@" - db 6,7 - dw 2650 - TX_FAR _ExeggutorDexEntry - db "@" - -LickitungDexEntry: - db "LICKING@" - db 3,11 - dw 1440 - TX_FAR _LickitungDexEntry - db "@" - -ExeggcuteDexEntry: - db "EGG@" - db 1,4 - dw 60 - TX_FAR _ExeggcuteDexEntry - db "@" - -GrimerDexEntry: - db "SLUDGE@" - db 2,11 - dw 660 - TX_FAR _GrimerDexEntry - db "@" - -GengarDexEntry: - db "SHADOW@" - db 4,11 - dw 890 - TX_FAR _GengarDexEntry - db "@" - -NidoranFDexEntry: - db "POISON PIN@" - db 1,4 - dw 150 - TX_FAR _NidoranFDexEntry - db "@" - -NidoqueenDexEntry: - db "DRILL@" - db 4,3 - dw 1320 - TX_FAR _NidoqueenDexEntry - db "@" - -CuboneDexEntry: - db "LONELY@" - db 1,4 - dw 140 - TX_FAR _CuboneDexEntry - db "@" - -RhyhornDexEntry: - db "SPIKES@" - db 3,3 - dw 2540 - TX_FAR _RhyhornDexEntry - db "@" - -LaprasDexEntry: - db "TRANSPORT@" - db 8,2 - dw 4850 - TX_FAR _LaprasDexEntry - db "@" - -ArcanineDexEntry: - db "LEGENDARY@" - db 6,3 - dw 3420 - TX_FAR _ArcanineDexEntry - db "@" - -MewDexEntry: - db "NEW SPECIE@" - db 1,4 - dw 90 - TX_FAR _MewDexEntry - db "@" - -GyaradosDexEntry: - db "ATROCIOUS@" - db 21,4 - dw 5180 - TX_FAR _GyaradosDexEntry - db "@" - -ShellderDexEntry: - db "BIVALVE@" - db 1,0 - dw 90 - TX_FAR _ShellderDexEntry - db "@" - -TentacoolDexEntry: - db "JELLYFISH@" - db 2,11 - dw 1000 - TX_FAR _TentacoolDexEntry - db "@" - -GastlyDexEntry: - db "GAS@" - db 4,3 - dw 2 - TX_FAR _GastlyDexEntry - db "@" - -ScytherDexEntry: - db "MANTIS@" - db 4,11 - dw 1230 - TX_FAR _ScytherDexEntry - db "@" - -StaryuDexEntry: - db "STARSHAPE@" - db 2,7 - dw 760 - TX_FAR _StaryuDexEntry - db "@" - -BlastoiseDexEntry: - db "SHELLFISH@" - db 5,3 - dw 1890 - TX_FAR _BlastoiseDexEntry - db "@" - -PinsirDexEntry: - db "STAGBEETLE@" - db 4,11 - dw 1210 - TX_FAR _PinsirDexEntry - db "@" - -TangelaDexEntry: - db "VINE@" - db 3,3 - dw 770 - TX_FAR _TangelaDexEntry - db "@" - -GrowlitheDexEntry: - db "PUPPY@" - db 2,4 - dw 420 - TX_FAR _GrowlitheDexEntry - db "@" - -OnixDexEntry: - db "ROCK SNAKE@" - db 28,10 - dw 4630 - TX_FAR _OnixDexEntry - db "@" - -FearowDexEntry: - db "BEAK@" - db 3,11 - dw 840 - TX_FAR _FearowDexEntry - db "@" - -PidgeyDexEntry: - db "TINY BIRD@" - db 1,0 - dw 40 - TX_FAR _PidgeyDexEntry - db "@" - -SlowpokeDexEntry: - db "DOPEY@" - db 3,11 - dw 790 - TX_FAR _SlowpokeDexEntry - db "@" - -KadabraDexEntry: - db "PSI@" - db 4,3 - dw 1250 - TX_FAR _KadabraDexEntry - db "@" - -GravelerDexEntry: - db "ROCK@" - db 3,3 - dw 2320 - TX_FAR _GravelerDexEntry - db "@" - -ChanseyDexEntry: - db "EGG@" - db 3,7 - dw 760 - TX_FAR _ChanseyDexEntry - db "@" - -MachokeDexEntry: - db "SUPERPOWER@" - db 4,11 - dw 1550 - TX_FAR _MachokeDexEntry - db "@" - -MrMimeDexEntry: - db "BARRIER@" - db 4,3 - dw 1200 - TX_FAR _MrMimeDexEntry - db "@" - -HitmonleeDexEntry: - db "KICKING@" - db 4,11 - dw 1100 - TX_FAR _HitmonleeDexEntry - db "@" - -HitmonchanDexEntry: - db "PUNCHING@" - db 4,7 - dw 1110 - TX_FAR _HitmonchanDexEntry - db "@" - -ArbokDexEntry: - db "COBRA@" - db 11,6 - dw 1430 - TX_FAR _ArbokDexEntry - db "@" - -ParasectDexEntry: - db "MUSHROOM@" - db 3,3 - dw 650 - TX_FAR _ParasectDexEntry - db "@" - -PsyduckDexEntry: - db "DUCK@" - db 2,7 - dw 430 - TX_FAR _PsyduckDexEntry - db "@" - -DrowzeeDexEntry: - db "HYPNOSIS@" - db 3,3 - dw 710 - TX_FAR _DrowzeeDexEntry - db "@" - -GolemDexEntry: - db "MEGATON@" - db 4,7 - dw 6620 - TX_FAR _GolemDexEntry - db "@" - -MagmarDexEntry: - db "SPITFIRE@" - db 4,3 - dw 980 - TX_FAR _MagmarDexEntry - db "@" - -ElectabuzzDexEntry: - db "ELECTRIC@" - db 3,7 - dw 660 - TX_FAR _ElectabuzzDexEntry - db "@" - -MagnetonDexEntry: - db "MAGNET@" - db 3,3 - dw 1320 - TX_FAR _MagnetonDexEntry - db "@" - -KoffingDexEntry: - db "POISON GAS@" - db 2,0 - dw 20 - TX_FAR _KoffingDexEntry - db "@" - -MankeyDexEntry: - db "PIG MONKEY@" - db 1,8 - dw 620 - TX_FAR _MankeyDexEntry - db "@" - -SeelDexEntry: - db "SEA LION@" - db 3,7 - dw 1980 - TX_FAR _SeelDexEntry - db "@" - -DiglettDexEntry: - db "MOLE@" - db 0,8 - dw 20 - TX_FAR _DiglettDexEntry - db "@" - -TaurosDexEntry: - db "WILD BULL@" - db 4,7 - dw 1950 - TX_FAR _TaurosDexEntry - db "@" - -FarfetchdDexEntry: - db "WILD DUCK@" - db 2,7 - dw 330 - TX_FAR _FarfetchdDexEntry - db "@" - -VenonatDexEntry: - db "INSECT@" - db 3,3 - dw 660 - TX_FAR _VenonatDexEntry - db "@" - -DragoniteDexEntry: - db "DRAGON@" - db 7,3 - dw 4630 - TX_FAR _DragoniteDexEntry - db "@" - -DoduoDexEntry: - db "TWIN BIRD@" - db 4,7 - dw 860 - TX_FAR _DoduoDexEntry - db "@" - -PoliwagDexEntry: - db "TADPOLE@" - db 2,0 - dw 270 - TX_FAR _PoliwagDexEntry - db "@" - -JynxDexEntry: - db "HUMANSHAPE@" - db 4,7 - dw 900 - TX_FAR _JynxDexEntry - db "@" - -MoltresDexEntry: - db "FLAME@" - db 6,7 - dw 1320 - TX_FAR _MoltresDexEntry - db "@" - -ArticunoDexEntry: - db "FREEZE@" - db 5,7 - dw 1220 - TX_FAR _ArticunoDexEntry - db "@" - -ZapdosDexEntry: - db "ELECTRIC@" - db 5,3 - dw 1160 - TX_FAR _ZapdosDexEntry - db "@" - -DittoDexEntry: - db "TRANSFORM@" - db 1,0 - dw 90 - TX_FAR _DittoDexEntry - db "@" - -MeowthDexEntry: - db "SCRATCHCAT@" - db 1,4 - dw 90 - TX_FAR _MeowthDexEntry - db "@" - -KrabbyDexEntry: - db "RIVER CRAB@" - db 1,4 - dw 140 - TX_FAR _KrabbyDexEntry - db "@" - -VulpixDexEntry: - db "FOX@" - db 2,0 - dw 220 - TX_FAR _VulpixDexEntry - db "@" - -NinetalesDexEntry: - db "FOX@" - db 3,7 - dw 440 - TX_FAR _NinetalesDexEntry - db "@" - -PikachuDexEntry: - db "MOUSE@" - db 1,4 - dw 130 - TX_FAR _PikachuDexEntry - db "@" - -RaichuDexEntry: - db "MOUSE@" - db 2,7 - dw 660 - TX_FAR _RaichuDexEntry - db "@" - -DratiniDexEntry: - db "DRAGON@" - db 5,11 - dw 70 - TX_FAR _DratiniDexEntry - db "@" - -DragonairDexEntry: - db "DRAGON@" - db 13,1 - dw 360 - TX_FAR _DragonairDexEntry - db "@" - -KabutoDexEntry: - db "SHELLFISH@" - db 1,8 - dw 250 - TX_FAR _KabutoDexEntry - db "@" - -KabutopsDexEntry: - db "SHELLFISH@" - db 4,3 - dw 890 - TX_FAR _KabutopsDexEntry - db "@" - -HorseaDexEntry: - db "DRAGON@" - db 1,4 - dw 180 - TX_FAR _HorseaDexEntry - db "@" - -SeadraDexEntry: - db "DRAGON@" - db 3,11 - dw 550 - TX_FAR _SeadraDexEntry - db "@" - -SandshrewDexEntry: - db "MOUSE@" - db 2,0 - dw 260 - TX_FAR _SandshrewDexEntry - db "@" - -SandslashDexEntry: - db "MOUSE@" - db 3,3 - dw 650 - TX_FAR _SandslashDexEntry - db "@" - -OmanyteDexEntry: - db "SPIRAL@" - db 1,4 - dw 170 - TX_FAR _OmanyteDexEntry - db "@" - -OmastarDexEntry: - db "SPIRAL@" - db 3,3 - dw 770 - TX_FAR _OmastarDexEntry - db "@" - -JigglypuffDexEntry: - db "BALLOON@" - db 1,8 - dw 120 - TX_FAR _JigglypuffDexEntry - db "@" - -WigglytuffDexEntry: - db "BALLOON@" - db 3,3 - dw 260 - TX_FAR _WigglytuffDexEntry - db "@" - -EeveeDexEntry: - db "EVOLUTION@" - db 1,0 - dw 140 - TX_FAR _EeveeDexEntry - db "@" - -FlareonDexEntry: - db "FLAME@" - db 2,11 - dw 550 - TX_FAR _FlareonDexEntry - db "@" - -JolteonDexEntry: - db "LIGHTNING@" - db 2,7 - dw 540 - TX_FAR _JolteonDexEntry - db "@" - -VaporeonDexEntry: - db "BUBBLE JET@" - db 3,3 - dw 640 - TX_FAR _VaporeonDexEntry - db "@" - -MachopDexEntry: - db "SUPERPOWER@" - db 2,7 - dw 430 - TX_FAR _MachopDexEntry - db "@" - -ZubatDexEntry: - db "BAT@" - db 2,7 - dw 170 - TX_FAR _ZubatDexEntry - db "@" - -EkansDexEntry: - db "SNAKE@" - db 6,7 - dw 150 - TX_FAR _EkansDexEntry - db "@" - -ParasDexEntry: - db "MUSHROOM@" - db 1,0 - dw 120 - TX_FAR _ParasDexEntry - db "@" - -PoliwhirlDexEntry: - db "TADPOLE@" - db 3,3 - dw 440 - TX_FAR _PoliwhirlDexEntry - db "@" - -PoliwrathDexEntry: - db "TADPOLE@" - db 4,3 - dw 1190 - TX_FAR _PoliwrathDexEntry - db "@" - -WeedleDexEntry: - db "HAIRY BUG@" - db 1,0 - dw 70 - TX_FAR _WeedleDexEntry - db "@" - -KakunaDexEntry: - db "COCOON@" - db 2,0 - dw 220 - TX_FAR _KakunaDexEntry - db "@" - -BeedrillDexEntry: - db "POISON BEE@" - db 3,3 - dw 650 - TX_FAR _BeedrillDexEntry - db "@" - -DodrioDexEntry: - db "TRIPLEBIRD@" - db 5,11 - dw 1880 - TX_FAR _DodrioDexEntry - db "@" - -PrimeapeDexEntry: - db "PIG MONKEY@" - db 3,3 - dw 710 - TX_FAR _PrimeapeDexEntry - db "@" - -DugtrioDexEntry: - db "MOLE@" - db 2,4 - dw 730 - TX_FAR _DugtrioDexEntry - db "@" - -VenomothDexEntry: - db "POISONMOTH@" - db 4,11 - dw 280 - TX_FAR _VenomothDexEntry - db "@" - -DewgongDexEntry: - db "SEA LION@" - db 5,7 - dw 2650 - TX_FAR _DewgongDexEntry - db "@" - -CaterpieDexEntry: - db "WORM@" - db 1,0 - dw 60 - TX_FAR _CaterpieDexEntry - db "@" - -MetapodDexEntry: - db "COCOON@" - db 2,4 - dw 220 - TX_FAR _MetapodDexEntry - db "@" - -ButterfreeDexEntry: - db "BUTTERFLY@" - db 3,7 - dw 710 - TX_FAR _ButterfreeDexEntry - db "@" - -MachampDexEntry: - db "SUPERPOWER@" - db 5,3 - dw 2870 - TX_FAR _MachampDexEntry - db "@" - -GolduckDexEntry: - db "DUCK@" - db 5,7 - dw 1690 - TX_FAR _GolduckDexEntry - db "@" - -HypnoDexEntry: - db "HYPNOSIS@" - db 5,3 - dw 1670 - TX_FAR _HypnoDexEntry - db "@" - -GolbatDexEntry: - db "BAT@" - db 5,3 - dw 1210 - TX_FAR _GolbatDexEntry - db "@" - -MewtwoDexEntry: - db "GENETIC@" - db 6,7 - dw 2690 - TX_FAR _MewtwoDexEntry - db "@" - -SnorlaxDexEntry: - db "SLEEPING@" - db 6,11 - dw 10140 - TX_FAR _SnorlaxDexEntry - db "@" - -MagikarpDexEntry: - db "FISH@" - db 2,11 - dw 220 - TX_FAR _MagikarpDexEntry - db "@" - -MukDexEntry: - db "SLUDGE@" - db 3,11 - dw 660 - TX_FAR _MukDexEntry - db "@" - -KinglerDexEntry: - db "PINCER@" - db 4,3 - dw 1320 - TX_FAR _KinglerDexEntry - db "@" - -CloysterDexEntry: - db "BIVALVE@" - db 4,11 - dw 2920 - TX_FAR _CloysterDexEntry - db "@" - -ElectrodeDexEntry: - db "BALL@" - db 3,11 - dw 1470 - TX_FAR _ElectrodeDexEntry - db "@" - -ClefableDexEntry: - db "FAIRY@" - db 4,3 - dw 880 - TX_FAR _ClefableDexEntry - db "@" - -WeezingDexEntry: - db "POISON GAS@" - db 3,11 - dw 210 - TX_FAR _WeezingDexEntry - db "@" - -PersianDexEntry: - db "CLASSY CAT@" - db 3,3 - dw 710 - TX_FAR _PersianDexEntry - db "@" - -MarowakDexEntry: - db "BONEKEEPER@" - db 3,3 - dw 990 - TX_FAR _MarowakDexEntry - db "@" - -HaunterDexEntry: - db "GAS@" - db 5,3 - dw 2 - TX_FAR _HaunterDexEntry - db "@" - -AbraDexEntry: - db "PSI@" - db 2,11 - dw 430 - TX_FAR _AbraDexEntry - db "@" - -AlakazamDexEntry: - db "PSI@" - db 4,11 - dw 1060 - TX_FAR _AlakazamDexEntry - db "@" - -PidgeottoDexEntry: - db "BIRD@" - db 3,7 - dw 660 - TX_FAR _PidgeottoDexEntry - db "@" - -PidgeotDexEntry: - db "BIRD@" - db 4,11 - dw 870 - TX_FAR _PidgeotDexEntry - db "@" - -StarmieDexEntry: - db "MYSTERIOUS@" - db 3,7 - dw 1760 - TX_FAR _StarmieDexEntry - db "@" - -BulbasaurDexEntry: - db "SEED@" - db 2,4 - dw 150 - TX_FAR _BulbasaurDexEntry - db "@" - -VenusaurDexEntry: - db "SEED@" - db 6,7 - dw 2210 - TX_FAR _VenusaurDexEntry - db "@" - -TentacruelDexEntry: - db "JELLYFISH@" - db 5,3 - dw 1210 - TX_FAR _TentacruelDexEntry - db "@" - -GoldeenDexEntry: - db "GOLDFISH@" - db 2,0 - dw 330 - TX_FAR _GoldeenDexEntry - db "@" - -SeakingDexEntry: - db "GOLDFISH@" - db 4,3 - dw 860 - TX_FAR _SeakingDexEntry - db "@" - -PonytaDexEntry: - db "FIRE HORSE@" - db 3,3 - dw 660 - TX_FAR _PonytaDexEntry - db "@" - -RapidashDexEntry: - db "FIRE HORSE@" - db 5,7 - dw 2090 - TX_FAR _RapidashDexEntry - db "@" - -RattataDexEntry: - db "RAT@" - db 1,0 - dw 80 - TX_FAR _RattataDexEntry - db "@" - -RaticateDexEntry: - db "RAT@" - db 2,4 - dw 410 - TX_FAR _RaticateDexEntry - db "@" - -NidorinoDexEntry: - db "POISON PIN@" - db 2,11 - dw 430 - TX_FAR _NidorinoDexEntry - db "@" - -NidorinaDexEntry: - db "POISON PIN@" - db 2,7 - dw 440 - TX_FAR _NidorinaDexEntry - db "@" - -GeodudeDexEntry: - db "ROCK@" - db 1,4 - dw 440 - TX_FAR _GeodudeDexEntry - db "@" - -PorygonDexEntry: - db "VIRTUAL@" - db 2,7 - dw 800 - TX_FAR _PorygonDexEntry - db "@" - -AerodactylDexEntry: - db "FOSSIL@" - db 5,11 - dw 1300 - TX_FAR _AerodactylDexEntry - db "@" - -MagnemiteDexEntry: - db "MAGNET@" - db 1,0 - dw 130 - TX_FAR _MagnemiteDexEntry - db "@" - -CharmanderDexEntry: - db "LIZARD@" - db 2,0 - dw 190 - TX_FAR _CharmanderDexEntry - db "@" - -SquirtleDexEntry: - db "TINYTURTLE@" - db 1,8 - dw 200 - TX_FAR _SquirtleDexEntry - db "@" - -CharmeleonDexEntry: - db "FLAME@" - db 3,7 - dw 420 - TX_FAR _CharmeleonDexEntry - db "@" - -WartortleDexEntry: - db "TURTLE@" - db 3,3 - dw 500 - TX_FAR _WartortleDexEntry - db "@" - -CharizardDexEntry: - db "FLAME@" - db 5,7 - dw 2000 - TX_FAR _CharizardDexEntry - db "@" - -OddishDexEntry: - db "WEED@" - db 1,8 - dw 120 - TX_FAR _OddishDexEntry - db "@" - -GloomDexEntry: - db "WEED@" - db 2,7 - dw 190 - TX_FAR _GloomDexEntry - db "@" - -VileplumeDexEntry: - db "FLOWER@" - db 3,11 - dw 410 - TX_FAR _VileplumeDexEntry - db "@" - -BellsproutDexEntry: - db "FLOWER@" - db 2,4 - dw 90 - TX_FAR _BellsproutDexEntry - db "@" - -WeepinbellDexEntry: - db "FLYCATCHER@" - db 3,3 - dw 140 - TX_FAR _WeepinbellDexEntry - db "@" - -VictreebelDexEntry: - db "FLYCATCHER@" - db 5,7 - dw 340 - TX_FAR _VictreebelDexEntry - db "@" - -MissingNoDexEntry: - db "???@" - db 10 ; 1.0 m - db 100 ; 10.0 kg - db 0,"コメント さくせいちゅう@" ; コメント作成中 (Comment to be written) - -PokedexToIndex: - ; converts the Pokédex number at $D11E to an index - push bc - push hl - ld a,[$D11E] - ld b,a - ld c,0 - ld hl,PokedexOrder - -.loop\@ ; go through the list until we find an entry with a matching dex number - inc c - ld a,[hli] - cp b - jr nz,.loop\@ - - ld a,c - ld [$D11E],a - pop hl - pop bc - ret - -IndexToPokedex: - ; converts the indexédex number at $D11E to a Pokédex number - push bc - push hl - ld a,[$D11E] - dec a - ld hl,PokedexOrder - ld b,0 - ld c,a - add hl,bc - ld a,[hl] - ld [$D11E],a - pop hl - pop bc - ret - -PokedexOrder: ; 5024 - db DEX_RHYDON - db DEX_KANGASKHAN - db DEX_NIDORAN_M - db DEX_CLEFAIRY - db DEX_SPEAROW - db DEX_VOLTORB - db DEX_NIDOKING - db DEX_SLOWBRO - db DEX_IVYSAUR - db DEX_EXEGGUTOR - db DEX_LICKITUNG - db DEX_EXEGGCUTE - db DEX_GRIMER - db DEX_GENGAR - db DEX_NIDORAN_F - db DEX_NIDOQUEEN - db DEX_CUBONE - db DEX_RHYHORN - db DEX_LAPRAS - db DEX_ARCANINE - db DEX_MEW - db DEX_GYARADOS - db DEX_SHELLDER - db DEX_TENTACOOL - db DEX_GASTLY - db DEX_SCYTHER - db DEX_STARYU - db DEX_BLASTOISE - db DEX_PINSIR - db DEX_TANGELA - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db DEX_GROWLITHE - db DEX_ONIX - db DEX_FEAROW - db DEX_PIDGEY - db DEX_SLOWPOKE - db DEX_KADABRA - db DEX_GRAVELER - db DEX_CHANSEY - db DEX_MACHOKE - db DEX_MR_MIME - db DEX_HITMONLEE - db DEX_HITMONCHAN - db DEX_ARBOK - db DEX_PARASECT - db DEX_PSYDUCK - db DEX_DROWZEE - db DEX_GOLEM - db 0 ; MISSINGNO. - db DEX_MAGMAR - db 0 ; MISSINGNO. - db DEX_ELECTABUZZ - db DEX_MAGNETON - db DEX_KOFFING - db 0 ; MISSINGNO. - db DEX_MANKEY - db DEX_SEEL - db DEX_DIGLETT - db DEX_TAUROS - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db DEX_FARFETCH_D - db DEX_VENONAT - db DEX_DRAGONITE - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db DEX_DODUO - db DEX_POLIWAG - db DEX_JYNX - db DEX_MOLTRES - db DEX_ARTICUNO - db DEX_ZAPDOS - db DEX_DITTO - db DEX_MEOWTH - db DEX_KRABBY - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db DEX_VULPIX - db DEX_NINETALES - db DEX_PIKACHU - db DEX_RAICHU - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db DEX_DRATINI - db DEX_DRAGONAIR - db DEX_KABUTO - db DEX_KABUTOPS - db DEX_HORSEA - db DEX_SEADRA - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db DEX_SANDSHREW - db DEX_SANDSLASH - db DEX_OMANYTE - db DEX_OMASTAR - db DEX_JIGGLYPUFF - db DEX_WIGGLYTUFF - db DEX_EEVEE - db DEX_FLAREON - db DEX_JOLTEON - db DEX_VAPOREON - db DEX_MACHOP - db DEX_ZUBAT - db DEX_EKANS - db DEX_PARAS - db DEX_POLIWHIRL - db DEX_POLIWRATH - db DEX_WEEDLE - db DEX_KAKUNA - db DEX_BEEDRILL - db 0 ; MISSINGNO. - db DEX_DODRIO - db DEX_PRIMEAPE - db DEX_DUGTRIO - db DEX_VENOMOTH - db DEX_DEWGONG - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db DEX_CATERPIE - db DEX_METAPOD - db DEX_BUTTERFREE - db DEX_MACHAMP - db 0 ; MISSINGNO. - db DEX_GOLDUCK - db DEX_HYPNO - db DEX_GOLBAT - db DEX_MEWTWO - db DEX_SNORLAX - db DEX_MAGIKARP - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db DEX_MUK - db 0 ; MISSINGNO. - db DEX_KINGLER - db DEX_CLOYSTER - db 0 ; MISSINGNO. - db DEX_ELECTRODE - db DEX_CLEFABLE - db DEX_WEEZING - db DEX_PERSIAN - db DEX_MAROWAK - db 0 ; MISSINGNO. - db DEX_HAUNTER - db DEX_ABRA - db DEX_ALAKAZAM - db DEX_PIDGEOTTO - db DEX_PIDGEOT - db DEX_STARMIE - db DEX_BULBASAUR - db DEX_VENUSAUR - db DEX_TENTACRUEL - db 0 ; MISSINGNO. - db DEX_GOLDEEN - db DEX_SEAKING - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db DEX_PONYTA - db DEX_RAPIDASH - db DEX_RATTATA - db DEX_RATICATE - db DEX_NIDORINO - db DEX_NIDORINA - db DEX_GEODUDE - db DEX_PORYGON - db DEX_AERODACTYL - db 0 ; MISSINGNO. - db DEX_MAGNEMITE - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db DEX_CHARMANDER - db DEX_SQUIRTLE - db DEX_CHARMELEON - db DEX_WARTORTLE - db DEX_CHARIZARD - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db DEX_ODDISH - db DEX_GLOOM - db DEX_VILEPLUME - db DEX_BELLSPROUT - db DEX_WEEPINBELL - db DEX_VICTREEBEL - -INCBIN "baserom.gbc",$410e2,$4160c - $410e2 - -UnnamedText_4160c: ; 0x4160c - TX_FAR _UnnamedText_4160c - db $50 -; 0x4160c + 5 bytes - -INCBIN "baserom.gbc",$41611,$41623 - $41611 - -UnnamedText_41623: ; 0x41623 - TX_FAR _UnnamedText_41623 - db $50 -; 0x41623 + 5 bytes - -UnnamedText_41628: ; 0x41628 - TX_FAR _UnnamedText_41628 - db $50 -; 0x41628 + 5 bytes - -INCBIN "baserom.gbc",$4162d,$41642 - $4162d - -UnnamedText_41642: ; 0x41642 - TX_FAR _UnnamedText_41642 - db $50 -; 0x41642 + 5 bytes - -UnnamedText_41647: ; 0x41647 - TX_FAR _UnnamedText_41647 - db $50 -; 0x41647 + 5 bytes - -INCBIN "baserom.gbc",$4164c,$41655 - $4164c - -UnnamedText_41655: ; 0x41655 - TX_FAR _UnnamedText_41655 - db $50 -; 0x41655 + 5 bytes - -INCBIN "baserom.gbc",$4165a,$4166c - $4165a - -UnnamedText_4166c: ; 0x4166c - TX_FAR _UnnamedText_4166c - db $50 -; 0x4166c + 5 bytes - -UnnamedText_41671: ; 0x41671 - TX_FAR _UnnamedText_41671 - db $50 -; 0x41671 + 5 bytes - -INCBIN "baserom.gbc",$41676,$a63 - -IF _RED - INCBIN "gfx/red/introfight.2bpp" -ENDC -IF _BLUE - INCBIN "gfx/blue/introfight.2bpp" -ENDC - -; XXX what do these do - FuncCoord 5,0 - ld hl,Coord - ld de,OTString67E5 - call PlaceString - ld a,[$CD3D] - ld [$D11E],a - ld a,$3A - call Predef - ld hl,$C3A9 - ld de,$D11E - ld bc,$8103 - call $3C5F - FuncCoord 5,2 - ld hl,Coord - ld de,$CF4B - call PlaceString - FuncCoord 8,4 - ld hl,Coord - ld de,$CD41 - call PlaceString - ld hl,$C420 - ld de,$CD4C - ld bc,$8205 - jp $3C5F - - FuncCoord 5,10 - ld hl,Coord - ld de,OTString67E5 - call PlaceString - ld a,[$CD3E] - ld [$D11E],a - ld a,$3A - call Predef - ld hl,$C471 - ld de,$D11E - ld bc,$8103 - call $3C5F - FuncCoord 5,12 - ld hl,Coord - ld de,$CD6D - call PlaceString - FuncCoord 8,14 - ld hl,Coord - ld de,$CD4E - call PlaceString - ld hl,$C4E8 - ld de,$CD59 - ld bc,$8205 - jp $3C5F - -OTString67E5: ; 67E5 - db "──",$74,$F2,$4E - db $4E - db "OT/",$4E - db $73,"№",$F2,"@" - -SECTION "bank11",DATA,BANK[$11] - -LavenderTown_h: ; 0x44000 to 0x4402d (45 bytes) (bank=11) (id=4) - db $00 ; tileset - db LAVENDER_TOWN_HEIGHT, LAVENDER_TOWN_WIDTH ; dimensions (y, x) - dw LavenderTownBlocks, LavenderTownTexts, LavenderTownScript ; blocks, texts, scripts - db NORTH | SOUTH | WEST ; connections - - ; connections data - - db ROUTE_10 - dw Route10Blocks + (ROUTE_10_HEIGHT - 3) * ROUTE_10_WIDTH ; connection strip location - dw $C6EB + 0 ; current map position - db ROUTE_10_WIDTH, ROUTE_10_WIDTH ; bigness, width - db (ROUTE_10_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x) - dw $C6E9 + ROUTE_10_HEIGHT * (ROUTE_10_WIDTH + 6) ; window - - db ROUTE_12 - dw Route12Blocks ; connection strip location - dw $C6EB + (LAVENDER_TOWN_HEIGHT + 3) * (LAVENDER_TOWN_WIDTH + 6) + 0 ; current map position - db ROUTE_12_WIDTH, ROUTE_12_WIDTH ; bigness, width - db 0, (0 * -2) ; alignments (y, x) - dw $C6EF + ROUTE_12_WIDTH ; window - - db ROUTE_8 - dw Route8Blocks - 3 + (ROUTE_8_WIDTH) ; connection strip location - dw $C6E8 + (LAVENDER_TOWN_WIDTH + 6) * (0 + 3) ; current map position - db ROUTE_8_HEIGHT, ROUTE_8_WIDTH ; bigness, width - db (0 * -2), (ROUTE_8_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * ROUTE_8_WIDTH ; window - - ; end connections data - - dw LavenderTownObject ; objects - -LavenderTownObject: ; 0x4402d (size=88) - db $2c ; border tile - - db $6 ; warps - db $5, $3, $0, LAVENDER_POKECENTER - db $5, $e, $0, POKEMONTOWER_1 - db $9, $7, $0, LAVENDER_HOUSE_1 - db $d, $f, $0, LAVENDER_MART - db $d, $3, $0, LAVENDER_HOUSE_2 - db $d, $7, $0, NAME_RATERS_HOUSE - - db $6 ; signs - db $9, $b, $4 ; LavenderTownText4 - db $3, $9, $5 ; LavenderTownText5 - db $d, $10, $6 ; LavenderTownText6 - db $5, $4, $7 ; LavenderTownText7 - db $9, $5, $8 ; LavenderTownText8 - db $7, $11, $9 ; LavenderTownText9 - - db $3 ; people - db SPRITE_LITTLE_GIRL, $9 + 4, $f + 4, $fe, $0, $1 ; person - db SPRITE_BLACK_HAIR_BOY_1, $a + 4, $9 + 4, $ff, $ff, $2 ; person - db SPRITE_BLACK_HAIR_BOY_2, $7 + 4, $8 + 4, $fe, $2, $3 ; person - - ; warp-to - EVENT_DISP $a, $5, $3 ; LAVENDER_POKECENTER - EVENT_DISP $a, $5, $e ; POKEMONTOWER_1 - EVENT_DISP $a, $9, $7 ; LAVENDER_HOUSE_1 - EVENT_DISP $a, $d, $f ; LAVENDER_MART - EVENT_DISP $a, $d, $3 ; LAVENDER_HOUSE_2 - EVENT_DISP $a, $d, $7 ; NAME_RATERS_HOUSE - -LavenderTownBlocks: ; 0x44085 90 - INCBIN "maps/lavendertown.blk" - -ViridianPokecenterBlocks: ; 0x440df 28 - INCBIN "maps/viridianpokecenter.blk" - -SafariZoneRestHouse1Blocks: ; 0x440fb 16 - INCBIN "maps/safarizoneresthouse1.blk" - -LavenderTownScript: ; 0x4410b - jp $3c3c -; 0x4410e - -LavenderTownTexts: ; 0x4410e - dw LavenderTownText1, LavenderTownText2, LavenderTownText3, LavenderTownText4, LavenderTownText5, LavenderTownText6, LavenderTownText7, LavenderTownText8, LavenderTownText9 - -LavenderTownText1: ; 0x44120 - db $08 ; asm - ld hl, UnnamedText_4413c - call PrintText - call $35ec - ld a, [$cc26] - and a - ld hl, UnnamedText_44146 - jr nz, .asm_40831 ; 0x44131 - ld hl, UnnamedText_44141 -.asm_40831 ; 0x44136 - call PrintText - jp TextScriptEnd - -UnnamedText_4413c: ; 0x4413c - TX_FAR _UnnamedText_4413c - db $50 -; 0x4413c + 5 bytes - -UnnamedText_44141: ; 0x44141 - TX_FAR _UnnamedText_44141 - db $50 -; 0x44141 + 5 bytes - -UnnamedText_44146: ; 0x44146 - TX_FAR _UnnamedText_44146 - db $50 -; 0x44146 + 5 bytes - -LavenderTownText2: ; 0x4414b - TX_FAR _LavenderTownText2 - db $50 - -LavenderTownText3: ; 0x44150 - TX_FAR _LavenderTownText3 - db $50 - -LavenderTownText4: ; 0x44155 - TX_FAR _LavenderTownText4 - db $50 - -LavenderTownText5: ; 0x4415a - TX_FAR _LavenderTownText5 - db $50 - -LavenderTownText8: ; 0x4415f - TX_FAR _LavenderTownText8 - db $50 - -LavenderTownText9: ; 0x44164 - TX_FAR _LavenderTownText9 - db $50 - -INCBIN "baserom.gbc",$44169,$441cc - $44169 - -UnnamedText_441cc: ; 0x441cc - TX_FAR _UnnamedText_441cc - db $50 -; 0x441cc + 5 bytes - -INCBIN "baserom.gbc",$441d1,$44201 - $441d1 - -UnnamedText_44201: ; 0x44201 - TX_FAR _UnnamedText_44201 - db $50 -; 0x44201 + 5 bytes - -UnnamedText_44206: ; 0x44206 - TX_FAR _UnnamedText_44206 - db $50 -; 0x44206 + 5 bytes - -UnnamedText_4420b: ; 0x4420b - TX_FAR _UnnamedText_4420b - db $50 -; 0x4420b + 5 bytes - -UnnamedText_44210: ; 0x44210 - TX_FAR _UnnamedText_44210 - db $50 -; 0x44210 + 5 bytes - -UnnamedText_44215: ; 0x44215 - TX_FAR _UnnamedText_44215 - db $50 -; 0x44215 + 5 bytes - -UnnamedText_4421a: ; 0x4421a - TX_FAR _UnnamedText_4421a - db $50 -; 0x4421a + 5 bytes - -UnnamedText_4421f: ; 0x4421f - TX_FAR _UnnamedText_4421f - db $50 -; 0x4421f + 5 bytes - -UnnamedText_44224: ; 0x44224 - TX_FAR _UnnamedText_44224 - db $50 -; 0x44224 + 5 bytes - -UnnamedText_44229: ; 0x44229 - TX_FAR _UnnamedText_44229 - db $50 -; 0x44229 + 5 bytes - -UnnamedText_4422e: ; 0x4422e - TX_FAR _UnnamedText_4422e - db $50 -; 0x4422e + 5 bytes - -UnnamedText_44233: ; 0x44233 - TX_FAR _UnnamedText_44233 - db $50 -; 0x44233 + 5 bytes - -UnnamedText_44238: ; 0x44238 - TX_FAR _UnnamedText_44238 - db $50 -; 0x44238 + 5 bytes - -UnnamedText_4423d: ; 0x4423d - TX_FAR _UnnamedText_4423d - db $50 -; 0x4423d + 5 bytes - -UnnamedText_44242: ; 0x44242 - TX_FAR _UnnamedText_44242 - db $50 -; 0x44242 + 5 bytes - -UnnamedText_44247: ; 0x44247 - TX_FAR _UnnamedText_44247 - db $50 -; 0x44247 + 5 bytes - -UnnamedText_4424c: ; 0x4424c - TX_FAR _UnnamedText_4424c - db $50 -; 0x4424c + 5 bytes - -ViridianPokecenter_h: ; 0x44251 to 0x4425d (12 bytes) (bank=11) (id=41) - db $06 ; tileset - db $04, $07 ; dimensions (y, x) - dw ViridianPokecenterBlocks, ViridianPokecenterTexts, ViridianPokeCenterScript ; blocks, texts, scripts - db $00 ; connections - - dw ViridianPokecenterObject ; objects - -ViridianPokeCenterScript: ; 0x4425d - call $22fa - jp $3c3c -; 0x44263 - -ViridianPokecenterTexts: ; 0x44263 - dw ViridianPokeCenterText1, ViridianPokeCenterText2, ViridianPokeCenterText3, ViridianPokeCenterText4 - -ViridianPokeCenterText1: ; 0x4426b - db $ff - -ViridianPokeCenterText2: ; 0x4426c - TX_FAR _ViridianPokeCenterText1 - db $50 - -INCBIN "baserom.gbc",$44271,$44271 - $44271 - -ViridianPokeCenterText3: ; 0x44271 - TX_FAR _ViridianPokeCenterText3 - db $50 - -ViridianPokeCenterText4: - db $f6 - -ViridianPokecenterObject: ; 0x44277 (size=44) - db $0 ; border tile - - db $2 ; warps - db $7, $3, $0, $ff - db $7, $4, $0, $ff - - db $0 ; signs - - db $4 ; people - db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person - db SPRITE_GENTLEMAN, $5 + 4, $a + 4, $fe, $1, $2 ; person - db SPRITE_BLACK_HAIR_BOY_1, $3 + 4, $4 + 4, $ff, $ff, $3 ; person - db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person - - ; warp-to - EVENT_DISP $7, $7, $3 - EVENT_DISP $7, $7, $4 - -Mansion1_h: ; 0x442a3 to 0x442af (12 bytes) (bank=11) (id=165) - db $16 ; tileset - db MANSION_1_HEIGHT, MANSION_1_WIDTH ; dimensions (y, x) - dw Mansion1Blocks, Mansion1Texts, Mansion1Script ; blocks, texts, scripts - db $00 ; connections - - dw Mansion1Object ; objects - -Mansion1Script: - call Mansion1Subscript1 - call $3c3c - ld hl, Mansion1TrainerHeaders - ld de, $4326 - ld a, [$d63a] - call $3160 - ld [$d63a], a - ret -; 0x442c5 - -Mansion1Subscript1: ; 0x442c5 - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - ret z - ld a, [$d796] - bit 0, a - jr nz, .asm_442ec ; 0x442d2 $18 - ld bc, $060c - call $430b - ld bc, $0308 - call $4304 - ld bc, $080a - call $4304 - ld bc, $0d0d - jp $4304 -.asm_442ec - ld bc, $060c - call $4304 - ld bc, $0308 - call $430b - ld bc, $080a - call $430b - ld bc, $0d0d - jp $430b -; 0x44304 - -INCBIN "baserom.gbc",$44304,$4432c - $44304 - -Mansion1Texts: ; 0x4432c - dw Mansion1Text1, Mansion1Text2, Mansion1Text3, Mansion1Text4 - -Mansion1TrainerHeaders: -TrainerHeader_44334: ; 0x44334 - db $1 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d798 ; flag's byte - dw UnnamedText_4434b ; 0x434b TextBeforeBattle - dw UnnamedText_44355 ; 0x4355 TextAfterBattle - dw UnnamedText_44350 ; 0x4350 TextEndBattle - dw UnnamedText_44350 ; 0x4350 TextEndBattle -; 0x44340 - -db $ff - -Mansion1Text1: ; 0x44341 - db $08 ; asm - ld hl, TrainerHeader_44334 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_4434b: ; 0x4434b - TX_FAR _UnnamedText_4434b - db $50 -; 0x4434b + 5 bytes - -UnnamedText_44350: ; 0x44350 - TX_FAR _UnnamedText_44350 - db $50 -; 0x44350 + 5 bytes - -UnnamedText_44355: ; 0x44355 - TX_FAR _UnnamedText_44355 - db $50 -; 0x44355 + 5 bytes - -Mansion1Text4: ; 0x4435a - db $8 - ld hl, UnnamedText_44395 - call PrintText - call $35ec - ld a, [$cc26] - and a - jr nz, .asm_4438c ; 0x44368 $22 - ld a, $1 - ld [$cc3c], a - ld hl, $d126 - set 5, [hl] - ld hl, UnnamedText_4439a - call PrintText - ld a, $ad - call $23b1 - ld hl, $d796 - bit 0, [hl] - set 0, [hl] - jr z, .asm_44392 ; 0x44386 $a - res 0, [hl] - jr .asm_44392 ; 0x4438a $6 -.asm_4438c - ld hl, UnnamedText_4439f - call PrintText -.asm_44392 - jp TextScriptEnd -; 0x44395 - -UnnamedText_44395: ; 0x44395 - TX_FAR _UnnamedText_44395 - db $50 -; 0x44395 + 5 bytes - -UnnamedText_4439a: ; 0x4439a - TX_FAR _UnnamedText_4439a - db $50 -; 0x4439a + 5 bytes - -UnnamedText_4439f: ; 0x4439f - TX_FAR _UnnamedText_4439f - db $50 -; 0x4439f + 5 bytes - -Mansion1Object: ; 0x443a4 (size=90) - db $2e ; border tile - - db $8 ; warps - db $1b, $4, $0, $ff - db $1b, $5, $0, $ff - db $1b, $6, $0, $ff - db $1b, $7, $0, $ff - db $a, $5, $0, MANSION_2 - db $17, $15, $0, MANSION_4 - db $1b, $1a, $0, $ff - db $1b, $1b, $0, $ff - - db $0 ; signs - - db $3 ; people - db SPRITE_OAK_AIDE, $11 + 4, $11 + 4, $ff, $d2, $41, SCIENTIST + $C8, $4 ; trainer - db SPRITE_BALL, $3 + 4, $e + 4, $ff, $ff, $82, ESCAPE_ROPE ; item - db SPRITE_BALL, $15 + 4, $12 + 4, $ff, $ff, $83, CARBOS ; item - - ; warp-to - EVENT_DISP $f, $1b, $4 - EVENT_DISP $f, $1b, $5 - EVENT_DISP $f, $1b, $6 - EVENT_DISP $f, $1b, $7 - EVENT_DISP $f, $a, $5 ; MANSION_2 - EVENT_DISP $f, $17, $15 ; MANSION_4 - EVENT_DISP $f, $1b, $1a - EVENT_DISP $f, $1b, $1b - -Mansion1Blocks: ; 0x44405 203 - INCBIN "maps/mansion1.blk" - -RockTunnel1_h: ; 0x444d0 to 0x444dc (12 bytes) (bank=11) (id=82) - db $11 ; tileset - db ROCK_TUNNEL_1_HEIGHT, ROCK_TUNNEL_1_WIDTH ; dimensions (y, x) - dw RockTunnel1Blocks, RockTunnel1Texts, RockTunnel1Script ; blocks, texts, scripts - db $00 ; connections - - dw RockTunnel1Object ; objects - -RockTunnel1Script: ; 0x444dc - call $3c3c - ld hl, Unnamed_44505 ; $4505 - ld de, Unnamed_444ef ; $44ef - ld a, [$d621] - call $3160 - ld [$d621], a - ret -; 0x444ef - -Unnamed_444ef: -INCBIN "baserom.gbc",$444ef,$6 - -RockTunnel1Texts: ; 0x444f5 - dw RockTunnel1Text1, RockTunnel1Text2, RockTunnel1Text3, RockTunnel1Text4, RockTunnel1Text5, RockTunnel1Text6, RockTunnel1Text7, RockTunnel1Text8 - -Unnamed_44505: -INCBIN "baserom.gbc",$44505,$55 - -RockTunnel1Text1: ; 0x4455a - db $8 - ld hl, $4505 - jr asm_0c916 ; 0x4455e $22 - -RockTunnel1Text2: - db $8 - ld hl, $4511 - jr asm_0c916 ; 0x44564 $1c - -RockTunnel1Text3: - db $8 - ld hl, $451d - jr asm_0c916 ; 0x4456a $16 - -RockTunnel1Text4: - db $8 - ld hl, $4529 - jr asm_0c916 ; 0x44570 $10 - -RockTunnel1Text5: - db $8 - ld hl, $4535 - jr asm_0c916 ; 0x44576 $a - -RockTunnel1Text6: - db $8 - ld hl, $4541 - jr asm_0c916 ; 0x4457c $4 - -RockTunnel1Text7: - db $8 - ld hl, $454d -asm_0c916: ; 0x44582 - call $31cc - jp TextScriptEnd - -UnnamedText_44588: ; 0x44588 - TX_FAR _UnnamedText_44588 - db $50 -; 0x44588 + 5 bytes - -UnnamedText_4458d: ; 0x4458d - TX_FAR _UnnamedText_4458d - db $50 -; 0x4458d + 5 bytes - -UnnamedText_44592: ; 0x44592 - TX_FAR _UnnamedText_44592 - db $50 -; 0x44592 + 5 bytes - -UnnamedText_44597: ; 0x44597 - TX_FAR _UnnamedText_44597 - db $50 -; 0x44597 + 5 bytes - -UnnamedText_4459c: ; 0x4459c - TX_FAR _UnnamedText_4459c - db $50 -; 0x4459c + 5 bytes - -UnnamedText_445a1: ; 0x445a1 - TX_FAR _UnnamedText_445a1 - db $50 -; 0x445a1 + 5 bytes - -UnnamedText_445a6: ; 0x445a6 - TX_FAR _UnnamedText_445a6 - db $50 -; 0x445a6 + 5 bytes - -UnnamedText_445ab: ; 0x445ab - TX_FAR _UnnamedText_445ab - db $50 -; 0x445ab + 5 bytes - -UnnamedText_445b0: ; 0x445b0 - TX_FAR _UnnamedText_445b0 - db $50 -; 0x445b0 + 5 bytes - -UnnamedText_445b5: ; 0x445b5 - TX_FAR _UnnamedText_445b5 - db $50 -; 0x445b5 + 5 bytes - -UnnamedText_445ba: ; 0x445ba - TX_FAR _UnnamedText_445ba - db $50 -; 0x445ba + 5 bytes - -UnnamedText_445bf: ; 0x445bf - TX_FAR _UnnamedText_445bf - db $50 -; 0x445bf + 5 bytes - -UnnamedText_445c4: ; 0x445c4 - TX_FAR _UnnamedText_445c4 - db $50 -; 0x445c4 + 5 bytes - -UnnamedText_445c9: ; 0x445c9 - TX_FAR _UnnamedText_445c9 - db $50 -; 0x445c9 + 5 bytes - -UnnamedText_445ce: ; 0x445ce - TX_FAR _UnnamedText_445ce - db $50 -; 0x445ce + 5 bytes - -UnnamedText_445d3: ; 0x445d3 - TX_FAR _UnnamedText_445d3 - db $50 -; 0x445d3 + 5 bytes - -UnnamedText_445d8: ; 0x445d8 - TX_FAR _UnnamedText_445d8 - db $50 -; 0x445d8 + 5 bytes - -UnnamedText_445dd: ; 0x445dd - TX_FAR _UnnamedText_445dd - db $50 -; 0x445dd + 5 bytes - -UnnamedText_445e2: ; 0x445e2 - TX_FAR _UnnamedText_445e2 - db $50 -; 0x445e2 + 5 bytes - -UnnamedText_445e7: ; 0x445e7 - TX_FAR _UnnamedText_445e7 - db $50 -; 0x445e7 + 5 bytes - -UnnamedText_445ec: ; 0x445ec - TX_FAR _UnnamedText_445ec - db $50 -; 0x445ec + 5 bytes - -RockTunnel1Text8: ; 0x445f1 - TX_FAR _RockTunnel1Text8 - db $50 - -RockTunnel1Object: ; 0x445f6 (size=127) - db $3 ; border tile - - db $8 ; warps - db $3, $f, $1, $ff - db $0, $f, $1, $ff - db $21, $f, $2, $ff - db $23, $f, $2, $ff - db $3, $25, $0, ROCK_TUNNEL_2 - db $3, $5, $1, ROCK_TUNNEL_2 - db $b, $11, $2, ROCK_TUNNEL_2 - db $11, $25, $3, ROCK_TUNNEL_2 - - db $1 ; signs - db $1d, $b, $8 ; RockTunnel1Text8 - - db $7 ; people - db SPRITE_HIKER, $5 + 4, $7 + 4, $ff, $d0, $41, HIKER + $C8, $c ; trainer - db SPRITE_HIKER, $10 + 4, $5 + 4, $ff, $d0, $42, HIKER + $C8, $d ; trainer - db SPRITE_HIKER, $f + 4, $11 + 4, $ff, $d2, $43, HIKER + $C8, $e ; trainer - db SPRITE_BLACK_HAIR_BOY_2, $8 + 4, $17 + 4, $ff, $d2, $44, POKEMANIAC + $C8, $7 ; trainer - db SPRITE_LASS, $15 + 4, $25 + 4, $ff, $d2, $45, JR__TRAINER_F + $C8, $11 ; trainer - db SPRITE_LASS, $18 + 4, $16 + 4, $ff, $d0, $46, JR__TRAINER_F + $C8, $12 ; trainer - db SPRITE_LASS, $18 + 4, $20 + 4, $ff, $d3, $47, JR__TRAINER_F + $C8, $13 ; trainer - - ; warp-to - EVENT_DISP $14, $3, $f - EVENT_DISP $14, $0, $f - EVENT_DISP $14, $21, $f - EVENT_DISP $14, $23, $f - EVENT_DISP $14, $3, $25 ; ROCK_TUNNEL_2 - EVENT_DISP $14, $3, $5 ; ROCK_TUNNEL_2 - EVENT_DISP $14, $b, $11 ; ROCK_TUNNEL_2 - EVENT_DISP $14, $11, $25 ; ROCK_TUNNEL_2 - -RockTunnel1Blocks: ; 0x44675 360 - INCBIN "maps/rocktunnel1.blk" - -SeafoamIslands1_h: ; 0x447dd to 0x447e9 (12 bytes) (bank=11) (id=192) - db $11 ; tileset - db SEAFOAM_ISLANDS_1_HEIGHT, SEAFOAM_ISLANDS_1_WIDTH ; dimensions (y, x) - dw SeafoamIslands1Blocks, SeafoamIslands1Texts, SeafoamIslands1Script ; blocks, texts, scripts - db $00 ; connections - - dw SeafoamIslands1Object ; objects - -SeafoamIslands1Script: ; 0x447e9 - call $3c3c - ld hl, $d7e7 - set 0, [hl] - ld hl, $cd60 - bit 7, [hl] - res 7, [hl] - jr z, .asm_4483b ; 0x447f8 $41 - ld hl, SeafoamIslands1Script_Unknown44846 - call $34e4 - ret nc - ld hl, $d7e8 - ld a, [$cd3d] - cp $1 - jr nz, .asm_44819 ; 0x44809 $e - set 6, [hl] - ld a, $d7 - ld [$d079], a - ld a, $d9 - ld [$d07a], a - jr .asm_44825 ; 0x44817 $c -.asm_44819 - set 7, [hl] - ld a, $d8 - ld [$d079], a - ld a, $da - ld [$d07a], a -.asm_44825 - ld a, [$d079] - ld [$cc4d], a - ld a, $11 - call Predef - ld a, [$d07a] - ld [$cc4d], a - ld a, $15 - jp $3e6d -.asm_4483b - ld a, $9f - ld [$d71d], a - ld hl, SeafoamIslands1Script_Unknown44846 - jp $6981 -; 0x44846 - -SeafoamIslands1Script_Unknown44846: ; 0x44846 -INCBIN "baserom.gbc",$44846,$5 - -SeafoamIslands1Texts: ; 0x4484b - dw SeafoamIslands1Text1, SeafoamIslands1Text2 - -SeafoamIslands1Object: ; 0x4484f (size=72) - db $7d ; border tile - - db $7 ; warps - db $11, $4, $0, $ff - db $11, $5, $0, $ff - db $11, $1a, $1, $ff - db $11, $1b, $1, $ff - db $5, $7, $1, SEAFOAM_ISLANDS_2 - db $3, $19, $6, SEAFOAM_ISLANDS_2 - db $f, $17, $4, SEAFOAM_ISLANDS_2 - - db $0 ; signs - - db $2 ; people - db SPRITE_BOULDER, $a + 4, $12 + 4, $ff, $10, $1 ; person - db SPRITE_BOULDER, $7 + 4, $1a + 4, $ff, $10, $2 ; person - - ; warp-to - EVENT_DISP $f, $11, $4 - EVENT_DISP $f, $11, $5 - EVENT_DISP $f, $11, $1a - EVENT_DISP $f, $11, $1b - EVENT_DISP $f, $5, $7 ; SEAFOAM_ISLANDS_2 - EVENT_DISP $f, $3, $19 ; SEAFOAM_ISLANDS_2 - EVENT_DISP $f, $f, $17 ; SEAFOAM_ISLANDS_2 - -INCBIN "baserom.gbc",$44897,$8 - -SeafoamIslands1Blocks: ; 0x4489f 135 - INCBIN "maps/seafoamislands1.blk" - -SSAnne3_h: ; 0x44926 to 0x44932 (12 bytes) (bank=11) (id=97) - db $0d ; tileset - db SS_ANNE_3_HEIGHT, SS_ANNE_3_WIDTH ; dimensions (y, x) - dw SSAnne3Blocks, SSAnne3Texts, SSAnne3Script ; blocks, texts, scripts - db $00 ; connections - - dw SSAnne3Object ; objects - -SSAnne3Script: ; 0x44932 - jp $3c3c -; 0x44935 - -SSAnne3Texts: ; 0x44935 - dw SSAnne3Text1 - -SSAnne3Text1: ; 0x44937 - TX_FAR _SSAnne3Text1 - db $50 - -SSAnne3Object: ; 0x4493c (size=26) - db $c ; border tile - - db $2 ; warps - db $3, $0, $0, SS_ANNE_5 - db $3, $13, $7, SS_ANNE_2 - - db $0 ; signs - - db $1 ; people - db SPRITE_SAILOR, $3 + 4, $9 + 4, $fe, $2, $1 ; person - - ; warp-to - EVENT_DISP $a, $3, $0 ; SS_ANNE_5 - EVENT_DISP $a, $3, $13 ; SS_ANNE_2 - -SSAnne3Blocks: ; 0x44956 30 - INCBIN "maps/ssanne3.blk" - -VictoryRoad3_h: ; 0x44974 to 0x44980 (12 bytes) (bank=11) (id=198) - db $11 ; tileset - db VICTORY_ROAD_3_HEIGHT, VICTORY_ROAD_3_WIDTH ; dimensions (y, x) - dw VictoryRoad3Blocks, VictoryRoad3Texts, VictoryRoad3Script ; blocks, texts, scripts - db $00 ; connections - - dw VictoryRoad3Object ; objects - -VictoryRoad3Script: ; 0x44980 - call VictoryRoad3Script_Unknown44996 - call $3c3c - ld hl, VictoryRoad3TrainerHeaders - ld de, $49b1 - ld a, [$d640] - call $3160 - ld [$d640], a - ret -; 0x44996 - -VictoryRoad3Script_Unknown44996: ; 0x44996 -INCBIN "baserom.gbc",$44996,$8e - -VictoryRoad3Texts: ; 0x44a24 - dw VictoryRoad3Text1, VictoryRoad3Text2, VictoryRoad3Text3, VictoryRoad3Text4, VictoryRoad3Text5, VictoryRoad3Text6, VictoryRoad3Text7, VictoryRoad3Text8, VictoryRoad3Text9, VictoryRoad3Text10 - -VictoryRoad3TrainerHeaders: -TrainerHeader_44a38: ; 0x44a38 - db $1 ; flag's bit - db ($1 << 4) ; trainer's view range - dw $d813 ; flag's byte - dw UnnamedText_44a91 ; 0x4a91 TextBeforeBattle - dw UnnamedText_44a9b ; 0x4a9b TextAfterBattle - dw UnnamedText_44a96 ; 0x4a96 TextEndBattle - dw UnnamedText_44a96 ; 0x4a96 TextEndBattle -; 0x44a44 - -TrainerHeader_44a44: ; 0x44a44 - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d813 ; flag's byte - dw UnnamedText_44aa0 ; 0x4aa0 TextBeforeBattle - dw UnnamedText_44aaa ; 0x4aaa TextAfterBattle - dw UnnamedText_44aa5 ; 0x4aa5 TextEndBattle - dw UnnamedText_44aa5 ; 0x4aa5 TextEndBattle -; 0x44a50 - -TrainerHeader_44a50: ; 0x44a50 - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d813 ; flag's byte - dw UnnamedText_44aaf ; 0x4aaf TextBeforeBattle - dw UnnamedText_44ab9 ; 0x4ab9 TextAfterBattle - dw UnnamedText_44ab4 ; 0x4ab4 TextEndBattle - dw UnnamedText_44ab4 ; 0x4ab4 TextEndBattle -; 0x44a5c - -TrainerHeader_44a5c: ; 0x44a5c - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d813 ; flag's byte - dw UnnamedText_44abe ; 0x4abe TextBeforeBattle - dw UnnamedText_44ac8 ; 0x4ac8 TextAfterBattle - dw UnnamedText_44ac3 ; 0x4ac3 TextEndBattle - dw UnnamedText_44ac3 ; 0x4ac3 TextEndBattle -; 0x44a68 - -db $ff - -VictoryRoad3Text1: ; 0x44a69 - db $08 ; asm - ld hl, TrainerHeader_44a38 - call LoadTrainerHeader - jp TextScriptEnd - -VictoryRoad3Text2: ; 0x44a73 - db $08 ; asm - ld hl, TrainerHeader_44a44 - call LoadTrainerHeader - jp TextScriptEnd - -VictoryRoad3Text3: ; 0x44a7d - db $08 ; asm - ld hl, TrainerHeader_44a50 - call LoadTrainerHeader - jp TextScriptEnd - -VictoryRoad3Text4: ; 0x44a87 - db $08 ; asm - ld hl, TrainerHeader_44a5c - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_44a91: ; 0x44a91 - TX_FAR _UnnamedText_44a91 - db $50 -; 0x44a91 + 5 bytes - -UnnamedText_44a96: ; 0x44a96 - TX_FAR _UnnamedText_44a96 - db $50 -; 0x44a96 + 5 bytes - -UnnamedText_44a9b: ; 0x44a9b - TX_FAR _UnnamedText_44a9b - db $50 -; 0x44a9b + 5 bytes - -UnnamedText_44aa0: ; 0x44aa0 - TX_FAR _UnnamedText_44aa0 - db $50 -; 0x44aa0 + 5 bytes - -UnnamedText_44aa5: ; 0x44aa5 - TX_FAR _UnnamedText_44aa5 - db $50 -; 0x44aa5 + 5 bytes - -UnnamedText_44aaa: ; 0x44aaa - TX_FAR _UnnamedText_44aaa - db $50 -; 0x44aaa + 5 bytes - -UnnamedText_44aaf: ; 0x44aaf - TX_FAR _UnnamedText_44aaf - db $50 -; 0x44aaf + 5 bytes - -UnnamedText_44ab4: ; 0x44ab4 - TX_FAR _UnnamedText_44ab4 - db $50 -; 0x44ab4 + 5 bytes - -UnnamedText_44ab9: ; 0x44ab9 - TX_FAR _UnnamedText_44ab9 - db $50 -; 0x44ab9 + 5 bytes - -UnnamedText_44abe: ; 0x44abe - TX_FAR _UnnamedText_44abe - db $50 -; 0x44abe + 5 bytes - -UnnamedText_44ac3: ; 0x44ac3 - TX_FAR _UnnamedText_44ac3 - db $50 -; 0x44ac3 + 5 bytes - -UnnamedText_44ac8: ; 0x44ac8 - TX_FAR _UnnamedText_44ac8 - db $50 -; 0x44ac8 + 5 bytes - -VictoryRoad3Object: ; 0x44acd (size=106) - db $7d ; border tile - - db $4 ; warps - db $7, $17, $3, VICTORY_ROAD_2 - db $8, $1a, $5, VICTORY_ROAD_2 - db $f, $1b, $4, VICTORY_ROAD_2 - db $0, $2, $6, VICTORY_ROAD_2 - - db $0 ; signs - - db $a ; people - db SPRITE_BLACK_HAIR_BOY_1, $5 + 4, $1c + 4, $ff, $d2, $41, COOLTRAINER_M + $C8, $2 ; trainer - db SPRITE_LASS, $d + 4, $7 + 4, $ff, $d3, $42, COOLTRAINER_F + $C8, $2 ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $e + 4, $6 + 4, $ff, $d2, $43, COOLTRAINER_M + $C8, $3 ; trainer - db SPRITE_LASS, $3 + 4, $d + 4, $ff, $d3, $44, COOLTRAINER_F + $C8, $3 ; trainer - db SPRITE_BALL, $5 + 4, $1a + 4, $ff, $ff, $85, MAX_REVIVE ; item - db SPRITE_BALL, $7 + 4, $7 + 4, $ff, $ff, $86, TM_47 ; item - db SPRITE_BOULDER, $3 + 4, $16 + 4, $ff, $10, $7 ; person - db SPRITE_BOULDER, $c + 4, $d + 4, $ff, $10, $8 ; person - db SPRITE_BOULDER, $a + 4, $18 + 4, $ff, $10, $9 ; person - db SPRITE_BOULDER, $f + 4, $16 + 4, $ff, $10, $a ; person - - ; warp-to - EVENT_DISP $f, $7, $17 ; VICTORY_ROAD_2 - EVENT_DISP $f, $8, $1a ; VICTORY_ROAD_2 - EVENT_DISP $f, $f, $1b ; VICTORY_ROAD_2 - EVENT_DISP $f, $0, $2 ; VICTORY_ROAD_2 - -VictoryRoad3Blocks: ; 0x44b37 135 - INCBIN "maps/victoryroad3.blk" - -RocketHideout1_h: ; 0x44bbe to 0x44bca (12 bytes) (bank=11) (id=199) - db $16 ; tileset - db ROCKET_HIDEOUT_1_HEIGHT, ROCKET_HIDEOUT_1_WIDTH ; dimensions (y, x) - dw RocketHideout1Blocks, RocketHideout1Texts, RocketHideout1Script ; blocks, texts, scripts - db $00 ; connections - - dw RocketHideout1Object ; objects - -RocketHideout1Script: ; 0x44bca - call Unknown_44be0 - call $3c3c - ld hl, RocketHideout1TrainerHeaders - ld de, $4c0e - ld a, [$d631] - call $3160 - ld [$d631], a - ret -; 0x44be0 - -Unknown_44be0: ; 0x44be0 -INCBIN "baserom.gbc",$44be0,$34 - -RocketHideout1Texts: ; 0x44c14 - dw RocketHideout1Text1, RocketHideout1Text2, RocketHideout1Text3, RocketHideout1Text4, RocketHideout1Text5, RocketHideout1Text6, RocketHideout1Text7 - -RocketHideout1TrainerHeaders: -TrainerHeader_44c22: ; 0x44c22 - db $1 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d815 ; flag's byte - dw UnnamedText_44ca1 ; 0x4ca1 TextBeforeBattle - dw UnnamedText_44cab ; 0x4cab TextAfterBattle - dw UnnamedText_44ca6 ; 0x4ca6 TextEndBattle - dw UnnamedText_44ca6 ; 0x4ca6 TextEndBattle -; 0x44c2e - -TrainerHeader_44c2e: ; 0x44c2e - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d815 ; flag's byte - dw UnnamedText_44cb0 ; 0x4cb0 TextBeforeBattle - dw UnnamedText_44cba ; 0x4cba TextAfterBattle - dw UnnamedText_44cb5 ; 0x4cb5 TextEndBattle - dw UnnamedText_44cb5 ; 0x4cb5 TextEndBattle -; 0x44c3a - -TrainerHeader_44c3a: ; 0x44c3a - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d815 ; flag's byte - dw UnnamedText_44cbf ; 0x4cbf TextBeforeBattle - dw UnnamedText_44cc9 ; 0x4cc9 TextAfterBattle - dw UnnamedText_44cc4 ; 0x4cc4 TextEndBattle - dw UnnamedText_44cc4 ; 0x4cc4 TextEndBattle -; 0x44c46 - -TrainerHeader_44c46: ; 0x44c46 - db $4 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d815 ; flag's byte - dw UnnamedText_44cce ; 0x4cce TextBeforeBattle - dw UnnamedText_44cd8 ; 0x4cd8 TextAfterBattle - dw UnnamedText_44cd3 ; 0x4cd3 TextEndBattle - dw UnnamedText_44cd3 ; 0x4cd3 TextEndBattle -; 0x44c52 - -TrainerHeader_44c52: ; 0x44c52 - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d815 ; flag's byte - dw UnnamedText_44cdd ; 0x4cdd TextBeforeBattle - dw UnnamedText_44ce2 ; 0x4ce2 TextAfterBattle - dw UnnamedText_44c91 ; 0x4c91 TextEndBattle - dw UnnamedText_44c91 ; 0x4c91 TextEndBattle -; 0x44c5e - -db $ff - -RocketHideout1Text1: ; 0x44c5f - db $08 ; asm - ld hl, TrainerHeader_44c22 - call LoadTrainerHeader - jp TextScriptEnd - -RocketHideout1Text2: ; 0x44c69 - db $08 ; asm - ld hl, TrainerHeader_44c2e - call LoadTrainerHeader - jp TextScriptEnd - -RocketHideout1Text3: ; 0x44c73 - db $08 ; asm - ld hl, TrainerHeader_44c3a - call LoadTrainerHeader - jp TextScriptEnd - -RocketHideout1Text4: ; 0x44c7d - db $08 ; asm - ld hl, TrainerHeader_44c46 - call LoadTrainerHeader - jp TextScriptEnd - -RocketHideout1Text5: ; 0x44c87 - db $08 ; asm - ld hl, TrainerHeader_44c52 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_44c91: ; 0x44c91 - TX_FAR _UnnamedText_44c91 ; 0x81f2a - db $8 - ld hl, $d815 - set 5, [hl] - ld hl, UnnamedText_44c9f - ret -; 0x44c9f - -UnnamedText_44c9f: ; 0x44c9f - db $6, $50 -; 0x44ca1 - -UnnamedText_44ca1: ; 0x44ca1 - TX_FAR _UnnamedText_44ca1 - db $50 -; 0x44ca1 + 5 bytes - -UnnamedText_44ca6: ; 0x44ca6 - TX_FAR _UnnamedText_44ca6 - db $50 -; 0x44ca6 + 5 bytes - -UnnamedText_44cab: ; 0x44cab - TX_FAR _UnnamedText_44cab - db $50 -; 0x44cab + 5 bytes - -UnnamedText_44cb0: ; 0x44cb0 - TX_FAR _UnnamedText_44cb0 - db $50 -; 0x44cb0 + 5 bytes - -UnnamedText_44cb5: ; 0x44cb5 - TX_FAR _UnnamedText_44cb5 - db $50 -; 0x44cb5 + 5 bytes - -UnnamedText_44cba: ; 0x44cba - TX_FAR _UnnamedText_44cba - db $50 -; 0x44cba + 5 bytes - -UnnamedText_44cbf: ; 0x44cbf - TX_FAR _UnnamedText_44cbf - db $50 -; 0x44cbf + 5 bytes - -UnnamedText_44cc4: ; 0x44cc4 - TX_FAR _UnnamedText_44cc4 - db $50 -; 0x44cc4 + 5 bytes - -UnnamedText_44cc9: ; 0x44cc9 - TX_FAR _UnnamedText_44cc9 - db $50 -; 0x44cc9 + 5 bytes - -UnnamedText_44cce: ; 0x44cce - TX_FAR _UnnamedText_44cce - db $50 -; 0x44cce + 5 bytes - -UnnamedText_44cd3: ; 0x44cd3 - TX_FAR _UnnamedText_44cd3 - db $50 -; 0x44cd3 + 5 bytes - -UnnamedText_44cd8: ; 0x44cd8 - TX_FAR _UnnamedText_44cd8 - db $50 -; 0x44cd8 + 5 bytes - -UnnamedText_44cdd: ; 0x44cdd - TX_FAR _UnnamedText_44cdd - db $50 -; 0x44cdd + 5 bytes - -UnnamedText_44ce2: ; 0x44ce2 - TX_FAR _UnnamedText_44ce2 - db $50 -; 0x44ce2 + 5 bytes - -RocketHideout1Object: ; 0x44ce7 (size=98) - db $2e ; border tile - - db $5 ; warps - db $2, $17, $0, ROCKET_HIDEOUT_2 - db $2, $15, $2, GAME_CORNER - db $13, $18, $0, ROCKET_HIDEOUT_ELEVATOR - db $18, $15, $3, ROCKET_HIDEOUT_2 - db $13, $19, $1, ROCKET_HIDEOUT_ELEVATOR - - db $0 ; signs - - db $7 ; people - db SPRITE_ROCKET, $8 + 4, $1a + 4, $ff, $d2, $41, ROCKET + $C8, $8 ; trainer - db SPRITE_ROCKET, $6 + 4, $c + 4, $ff, $d3, $42, ROCKET + $C8, $9 ; trainer - db SPRITE_ROCKET, $11 + 4, $12 + 4, $ff, $d0, $43, ROCKET + $C8, $a ; trainer - db SPRITE_ROCKET, $19 + 4, $f + 4, $ff, $d3, $44, ROCKET + $C8, $b ; trainer - db SPRITE_ROCKET, $12 + 4, $1c + 4, $ff, $d2, $45, ROCKET + $C8, $c ; trainer - db SPRITE_BALL, $e + 4, $b + 4, $ff, $ff, $86, ESCAPE_ROPE ; item - db SPRITE_BALL, $11 + 4, $9 + 4, $ff, $ff, $87, HYPER_POTION ; item - - ; warp-to - EVENT_DISP $f, $2, $17 ; ROCKET_HIDEOUT_2 - EVENT_DISP $f, $2, $15 ; GAME_CORNER - EVENT_DISP $f, $13, $18 ; ROCKET_HIDEOUT_ELEVATOR - EVENT_DISP $f, $18, $15 ; ROCKET_HIDEOUT_2 - EVENT_DISP $f, $13, $19 ; ROCKET_HIDEOUT_ELEVATOR - -RocketHideout1Blocks: ; 0x44d49 210 - INCBIN "maps/rockethideout1.blk" - -RocketHideout2_h: ; 0x44e1b to 0x44e27 (12 bytes) (bank=11) (id=200) - db $16 ; tileset - db ROCKET_HIDEOUT_2_HEIGHT, ROCKET_HIDEOUT_2_WIDTH ; dimensions (y, x) - dw RocketHideout2Blocks, RocketHideout2Texts, RocketHideout2Script ; blocks, texts, scripts - db $00 ; connections - - dw RocketHideout2Object ; objects - -RocketHideout2Script: ; 0x44e27 - call $3c3c - ld hl, RocketHideout2TrainerHeaders - ld de, RocketHideout2_Unknown44e3a - ld a, [$d632] - call $3160 - ld [$d632], a - ret -; 0x44e3a - -RocketHideout2_Unknown44e3a: ; 0x44ea -INCBIN "baserom.gbc",$44e3a,$28d - -RocketHideout2Texts: ; 0x450c7 - dw RocketHideout2Text1, RocketHideout2Text2, RocketHideout2Text3, RocketHideout2Text4, RocketHideout2Text5 - -RocketHideout2TrainerHeaders: -TrainerHeader_450d1: ; 0x450d1 - db $1 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d817 ; flag's byte - dw UnnamedText_450e8 ; 0x50e8 TextBeforeBattle - dw UnnamedText_450f2 ; 0x50f2 TextAfterBattle - dw UnnamedText_450ed ; 0x50ed TextEndBattle - dw UnnamedText_450ed ; 0x50ed TextEndBattle -; 0x450dd - -db $ff - -RocketHideout2Text1: ; 0x450de - db $08 ; asm - ld hl, TrainerHeader_450d1 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_450e8: ; 0x450e8 - TX_FAR _UnnamedText_450e8 - db $50 -; 0x450e8 + 5 bytes - -UnnamedText_450ed: ; 0x450ed - TX_FAR _UnnamedText_450ed - db $50 -; 0x450ed + 5 bytes - -UnnamedText_450f2: ; 0x450f2 - TX_FAR _UnnamedText_450f2 - db $50 -; 0x450f2 + 5 bytes - -RocketHideout2Object: ; 0x450f7 (size=80) - db $2e ; border tile - - db $5 ; warps - db $8, $1b, $0, ROCKET_HIDEOUT_1 - db $8, $15, $0, ROCKET_HIDEOUT_3 - db $13, $18, $0, ROCKET_HIDEOUT_ELEVATOR - db $16, $15, $3, ROCKET_HIDEOUT_1 - db $13, $19, $1, ROCKET_HIDEOUT_ELEVATOR - - db $0 ; signs - - db $5 ; people - db SPRITE_ROCKET, $c + 4, $14 + 4, $ff, $d0, $41, ROCKET + $C8, $d ; trainer - db SPRITE_BALL, $b + 4, $1 + 4, $ff, $ff, $82, MOON_STONE ; item - db SPRITE_BALL, $8 + 4, $10 + 4, $ff, $ff, $83, NUGGET ; item - db SPRITE_BALL, $c + 4, $6 + 4, $ff, $ff, $84, TM_07 ; item - db SPRITE_BALL, $15 + 4, $3 + 4, $ff, $ff, $85, SUPER_POTION ; item - - ; warp-to - EVENT_DISP $f, $8, $1b ; ROCKET_HIDEOUT_1 - EVENT_DISP $f, $8, $15 ; ROCKET_HIDEOUT_3 - EVENT_DISP $f, $13, $18 ; ROCKET_HIDEOUT_ELEVATOR - EVENT_DISP $f, $16, $15 ; ROCKET_HIDEOUT_1 - EVENT_DISP $f, $13, $19 ; ROCKET_HIDEOUT_ELEVATOR - -RocketHideout2Blocks: ; 0x45147 210 - INCBIN "maps/rockethideout2.blk" - -RocketHideout3_h: ; 0x45219 to 0x45225 (12 bytes) (bank=11) (id=201) - db $16 ; tileset - db ROCKET_HIDEOUT_3_HEIGHT, ROCKET_HIDEOUT_3_WIDTH ; dimensions (y, x) - dw RocketHideout3Blocks, RocketHideout3Texts, RocketHideout3Script ; blocks, texts, scripts - db $00 ; connections - - dw RocketHideout3Object ; objects - -RocketHideout3Script: ; 0x45225 - call $3c3c - ld hl, RocketHideout3TrainerHeaders - ld de, RocketHideout3Script_Unknown45238 - ld a, [$d633] - call $3160 - ld [$d633], a - ret -; 0x45238 - -RocketHideout3Script_Unknown45238: ; 0x45238 -INCBIN "baserom.gbc",$45238,$c2 - -RocketHideout3Texts: ; 0x452fa - dw RocketHideout3Text1, RocketHideout3Text2, RocketHideout3Text3, RocketHideout3Text4 - -RocketHideout3TrainerHeaders: -TrainerHeader_45302: ; 0x45302 - db $1 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d819 ; flag's byte - dw UnnamedText_45325 ; 0x5325 TextBeforeBattle - dw UnnamedText_4532f ; 0x532f TextAfterBattle - dw UnnamedText_4532a ; 0x532a TextEndBattle - dw UnnamedText_4532a ; 0x532a TextEndBattle -; 0x4530e - -TrainerHeader_4530e: ; 0x4530e - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d819 ; flag's byte - dw UnnamedText_4533e ; 0x533e TextBeforeBattle - dw UnnamedText_45348 ; 0x5348 TextAfterBattle - dw UnnamedText_45343 ; 0x5343 TextEndBattle - dw UnnamedText_45343 ; 0x5343 TextEndBattle -; 0x4531a - -db $ff - -RocketHideout3Text1: ; 0x4531b - db $08 ; asm - ld hl, TrainerHeader_45302 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_45325: ; 0x45325 - TX_FAR _UnnamedText_45325 - db $50 -; 0x45325 + 5 bytes - -UnnamedText_4532a: ; 0x4532a - TX_FAR _UnnamedText_4532a - db $50 -; 0x4532a + 5 bytes - -UnnamedText_4532f: ; 0x4532f - TX_FAR _UnnamedText_4532f - db $50 -; 0x4532f + 5 bytes - -RocketHideout3Text2: ; 0x45334 - db $08 ; asm - ld hl, TrainerHeader_4530e - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_4533e: ; 0x4533e - TX_FAR _UnnamedText_4533e - db $50 -; 0x4533e + 5 bytes - -UnnamedText_45343: ; 0x45343 - TX_FAR _UnnamedText_45343 - db $50 -; 0x45343 + 5 bytes - -UnnamedText_45348: ; 0x45348 - TX_FAR _UnnamedText_45348 - db $50 -; 0x45348 + 5 bytes - -RocketHideout3Object: ; 0x4534d (size=50) - db $2e ; border tile - - db $2 ; warps - db $6, $19, $1, ROCKET_HIDEOUT_2 - db $12, $13, $0, ROCKET_HIDEOUT_4 - - db $0 ; signs - - db $4 ; people - db SPRITE_ROCKET, $16 + 4, $a + 4, $ff, $d3, $41, ROCKET + $C8, $e ; trainer - db SPRITE_ROCKET, $c + 4, $1a + 4, $ff, $d1, $42, ROCKET + $C8, $f ; trainer - db SPRITE_BALL, $11 + 4, $1a + 4, $ff, $ff, $83, TM_10 ; item - db SPRITE_BALL, $e + 4, $14 + 4, $ff, $ff, $84, RARE_CANDY ; item - - ; warp-to - EVENT_DISP $f, $6, $19 ; ROCKET_HIDEOUT_2 - EVENT_DISP $f, $12, $13 ; ROCKET_HIDEOUT_4 - -RocketHideout3Blocks: ; 0x4537f 210 - INCBIN "maps/rockethideout3.blk" - -RocketHideout4_h: ; 0x45451 to 0x4545d (12 bytes) (bank=11) (id=202) - db $16 ; tileset - db ROCKET_HIDEOUT_4_HEIGHT, ROCKET_HIDEOUT_4_WIDTH ; dimensions (y, x) - dw RocketHideout4Blocks, RocketHideout4Texts, RocketHideout4Script ; blocks, texts, scripts - db $00 ; connections - - dw RocketHideout4Object ; objects - -RocketHideout4Script: ; 0x4545d - call Unnamed_45473 - call $3c3c - ld hl, TrainerHeader_45515 - ld de, $54ae - ld a, [$d634] - call $3160 - ld [$d634], a - ret -; 0x45473 - -Unnamed_45473: ; 0x45473 -INCBIN "baserom.gbc",$45473,$8e - -RocketHideout4Texts: ; 0x45501 - dw RocketHideout4Text1, RocketHideout4Text2, RocketHideout4Text3, RocketHideout4Text4, RocketHideout4Text5, RocketHideout4Text6, RocketHideout4Text7, RocketHideout4Text8, RocketHideout4Text9, RocketHideout4Text10 - -RocketHideout4TrainerHeaders: -TrainerHeader_45515: ; 0x45515 - db $2 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d81b ; flag's byte - dw UnnamedText_45593 ; 0x5593 TextBeforeBattle - dw UnnamedText_4559d ; 0x559d TextAfterBattle - dw UnnamedText_45598 ; 0x5598 TextEndBattle - dw UnnamedText_45598 ; 0x5598 TextEndBattle -; 0x45521 - -TrainerHeader_45521: ; 0x45521 - db $3 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d81b ; flag's byte - dw UnnamedText_455ac ; 0x55ac TextBeforeBattle - dw UnnamedText_455b6 ; 0x55b6 TextAfterBattle - dw UnnamedText_455b1 ; 0x55b1 TextEndBattle - dw UnnamedText_455b1 ; 0x55b1 TextEndBattle -; 0x4552d - -TrainerHeader_4552d: ; 0x4552d - db $4 ; flag's bit - db ($1 << 4) ; trainer's view range - dw $d81b ; flag's byte - dw UnnamedText_455c5 ; 0x55c5 TextBeforeBattle - dw UnknownText_455cf ; 0x55cf TextAfterBattle - dw UnnamedText_455ca ; 0x55ca TextEndBattle - dw UnnamedText_455ca ; 0x55ca TextEndBattle -; 0x45539 - -db $ff - -RocketHideout4Text1: ; 0x4553a - db $08 ; asm - ld a, [$d81b] - bit 7, a - jp nz, $5571 - ld hl, UnnamedText_4557a - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, UnnamedText_4557f - ld de, $557f ; probably UnnamedText_4557f - call $3354 - ldh a, [$8c] - ld [$cf13], a - call $336a - call $32d7 - xor a - ldh [$b4], a - ld a, $3 - ld [$d634], a - ld [$da39], a - jr .asm_209f0 ; 0x4556f - ld hl, RocketHideout4Text10 - call PrintText -.asm_209f0 ; 0x45577 - jp TextScriptEnd - -UnnamedText_4557a: ; 0x4557a - TX_FAR _UnnamedText_4557a - db $50 -; 0x4557a + 5 bytes - -UnnamedText_4557f: ; 0x4557f - TX_FAR _UnnamedText_4557f - db $50 -; 0x4557f + 5 bytes - -RocketHideout4Text10: ; 0x45584 - TX_FAR _UnnamedText_45584 - db $50 -; 0x45584 + 5 bytes - -RocketHideout4Text2: ; 0x45589 - db $08 ; asm - ld hl, TrainerHeader_45515 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_45593: ; 0x45593 - TX_FAR _UnnamedText_45593 - db $50 -; 0x45593 + 5 bytes - -UnnamedText_45598: ; 0x45598 - TX_FAR _UnnamedText_45598 - db $50 -; 0x45598 + 5 bytes - -UnnamedText_4559d: ; 0x4559d - TX_FAR _UnnamedText_4559d - db $50 -; 0x4559d + 5 bytes - -RocketHideout4Text3: ; 0x455a2 - db $08 ; asm - ld hl, TrainerHeader_45521 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_455ac: ; 0x455ac - TX_FAR _UnnamedText_455ac - db $50 -; 0x455ac + 5 bytes - -UnnamedText_455b1: ; 0x455b1 - TX_FAR _UnnamedText_455b1 - db $50 -; 0x455b1 + 5 bytes - -UnnamedText_455b6: ; 0x455b6 - TX_FAR _UnnamedText_455b6 - db $50 -; 0x455b6 + 5 bytes - -RocketHideout4Text4: ; 0x455bb - db $08 ; asm - ld hl, TrainerHeader_4552d - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_455c5: ; 0x455c5 - TX_FAR _UnnamedText_455c5 - db $50 -; 0x455c5 + 5 bytes - -UnnamedText_455ca: ; 0x455ca - TX_FAR _UnnamedText_455ca - db $50 -; 0x455ca + 5 bytes - -UnknownText_455cf: ; 0x455cf - db $8 - ld hl, $55ec - call PrintText - ld hl, $d81b - bit 6, [hl] - set 6, [hl] - jr nz, .asm_455e9 ; 0x455dd $a - ld a, $88 - ld [$cc4d], a - ld a, $15 - call Predef -.asm_455e9 - jp TextScriptEnd -; 0x455ec - -UnnamedText_455ec: ; 0x455ec - TX_FAR _UnnamedText_455ec - db $50 -; 0x455ec + 5 bytes - -RocketHideout4Object: ; 0x455f1 (size=95) - db $2e ; border tile - - db $3 ; warps - db $a, $13, $1, ROCKET_HIDEOUT_3 - db $f, $18, $0, ROCKET_HIDEOUT_ELEVATOR - db $f, $19, $1, ROCKET_HIDEOUT_ELEVATOR - - db $0 ; signs - - db $9 ; people - db SPRITE_GIOVANNI, $3 + 4, $19 + 4, $ff, $d0, $41, GIOVANNI + $C8, $1 ; trainer - db SPRITE_ROCKET, $c + 4, $17 + 4, $ff, $d0, $42, ROCKET + $C8, $10 ; trainer - db SPRITE_ROCKET, $c + 4, $1a + 4, $ff, $d0, $43, ROCKET + $C8, $11 ; trainer - db SPRITE_ROCKET, $2 + 4, $b + 4, $ff, $d0, $44, ROCKET + $C8, $12 ; trainer - db SPRITE_BALL, $c + 4, $a + 4, $ff, $ff, $85, HP_UP ; item - db SPRITE_BALL, $4 + 4, $9 + 4, $ff, $ff, $86, TM_02 ; item - db SPRITE_BALL, $14 + 4, $c + 4, $ff, $ff, $87, IRON ; item - db SPRITE_BALL, $2 + 4, $19 + 4, $ff, $ff, $88, SILPH_SCOPE ; item - db SPRITE_BALL, $2 + 4, $a + 4, $ff, $ff, $89, LIFT_KEY ; item - - ; warp-to - EVENT_DISP $f, $a, $13 ; ROCKET_HIDEOUT_3 - EVENT_DISP $f, $f, $18 ; ROCKET_HIDEOUT_ELEVATOR - EVENT_DISP $f, $f, $19 ; ROCKET_HIDEOUT_ELEVATOR - -RocketHideout4Blocks: ; 0x45650 180 - INCBIN "maps/rockethideout4.blk" - -RocketHideoutElevator_h: ; 0x45704 to 0x45710 (12 bytes) (bank=11) (id=203) - db $12 ; tileset - db ROCKET_HIDEOUT_ELEVATOR_HEIGHT, ROCKET_HIDEOUT_ELEVATOR_WIDTH ; dimensions (y, x) - dw RocketHideoutElevatorBlocks, RocketHideoutElevatorTexts, RocketHideoutElevatorScript ; blocks, texts, scripts - db $00 ; connections - - dw RocketHideoutElevatorObject ; objects - -RocketHideoutElevatorScript: ; 0x45710 - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - push hl - call nz, RocketHideoutElevatorScript_Unknown4572c - pop hl - bit 7, [hl] - res 7, [hl] - call nz, $575f - xor a - ld [$cf0c], a - inc a - ld [$cc3c], a - ret -; 0x4572c - -RocketHideoutElevatorScript_Unknown4572c: ; 0x4572c -INCBIN "baserom.gbc",$4572c,$3f - -RocketHideoutElevatorTexts: ; 0x4576b - dw RocketHideoutElevatorText1 - -RocketHideoutElevatorText1: ; 0x4576d - db $08 ; asm - ld b, LIFT_KEY - call $3493 - jr z, .asm_8d8f0 ; 0x45773 - call $5741 - ld hl, $5759 - ld a, $61 - call Predef - jr .asm_46c43 ; 0x45780 -.asm_8d8f0 ; 0x45782 - ld hl, UnnamedText_4578b - call PrintText -.asm_46c43 ; 0x45788 - jp TextScriptEnd - -UnnamedText_4578b: ; 0x4578b - TX_FAR _UnnamedText_4578b ; 0x82438 - db $d, $50 - -RocketHideoutElevatorObject: ; 0x45791 (size=23) - db $f ; border tile - - db $2 ; warps - db $1, $2, $2, ROCKET_HIDEOUT_1 - db $1, $3, $4, ROCKET_HIDEOUT_1 - - db $1 ; signs - db $1, $1, $1 ; RocketHideoutElevatorText1 - - db $0 ; people - - ; warp-to - EVENT_DISP $3, $1, $2 ; ROCKET_HIDEOUT_1 - EVENT_DISP $3, $1, $3 ; ROCKET_HIDEOUT_1 - -RocketHideoutElevatorBlocks: ; 0x457a8 12 - INCBIN "maps/rockethideoutelevator.blk" - -SilphCoElevator_h: ; 0x457b4 to 0x457c0 (12 bytes) (bank=11) (id=236) - db $12 ; tileset - db SILPH_CO_ELEVATOR_HEIGHT, SILPH_CO_ELEVATOR_WIDTH ; dimensions (y, x) - dw SilphCoElevatorBlocks, SilphCoElevatorTexts, SilphCoElevatorScript ; blocks, texts, scripts - db $00 ; connections - - dw SilphCoElevatorObject ; objects - -SilphCoElevatorScript: ; 0x457c0 - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - push hl - call nz, SilphCoElevatorScript_Unknown457dc - pop hl - bit 7, [hl] - res 7, [hl] - call nz, $5827 - xor a - ld [$cf0c], a - inc a - ld [$cc3c], a - ret -; 0x457dc - -SilphCoElevatorScript_Unknown457dc: ; 0x457dc -INCBIN "baserom.gbc",$457dc,$57 - -SilphCoElevatorTexts: ; 0x45833 - dw SilphCoElevatorText1 - -SilphCoElevatorText1: ; 0x45835 - db $08 ; asm - call $57f1 - ld hl, $5811 - ld a, $61 - call Predef - jp TextScriptEnd - -SilphCoElevatorObject: ; 0x45844 (size=23) - db $f ; border tile - - db $2 ; warps - db $3, $1, $0, $ed - db $3, $2, $0, $ed - - db $1 ; signs - db $0, $3, $1 ; SilphCoElevatorText1 - - db $0 ; people - - ; warp-to - EVENT_DISP $2, $3, $1 - EVENT_DISP $2, $3, $2 - -SilphCoElevatorBlocks: ; 0x4585b 4 - INCBIN "maps/silphcoelevator.blk" - -SafariZoneEast_h: ; 0x4585f to 0x4586b (12 bytes) (bank=11) (id=217) - db $03 ; tileset - db SAFARI_ZONE_EAST_HEIGHT, SAFARI_ZONE_EAST_WIDTH ; dimensions (y, x) - dw SafariZoneEastBlocks, SafariZoneEastTexts, SafariZoneEastScript ; blocks, texts, scripts - db $00 ; connections - - dw SafariZoneEastObject ; objects - -SafariZoneEastScript: ; 0x4586b - jp $3c3c -; 0x4586e - -SafariZoneEastTexts: ; 0x4586e - dw SafariZoneEastText1, SafariZoneEastText2, SafariZoneEastText3, SafariZoneEastText4, SafariZoneEastText5, SafariZoneEastText6, SafariZoneEastText7 - -SafariZoneEastText5: ; 0x4587c - TX_FAR _SafariZoneEastText5 - db $50 - -SafariZoneEastText6: ; 0x45881 - TX_FAR _SafariZoneEastText6 - db $50 - -SafariZoneEastText7: ; 0x45886 - TX_FAR _SafariZoneEastText7 - db $50 - -SafariZoneEastObject: ; 0x4588b (size=81) - db $0 ; border tile - - db $5 ; warps - db $4, $0, $6, SAFARI_ZONE_NORTH - db $5, $0, $7, SAFARI_ZONE_NORTH - db $16, $0, $6, SAFARI_ZONE_CENTER - db $17, $0, $6, SAFARI_ZONE_CENTER - db $9, $19, $0, SAFARI_ZONE_REST_HOUSE_3 - - db $3 ; signs - db $a, $1a, $5 ; SafariZoneEastText5 - db $4, $6, $6 ; SafariZoneEastText6 - db $17, $5, $7 ; SafariZoneEastText7 - - db $4 ; people - db SPRITE_BALL, $a + 4, $15 + 4, $ff, $ff, $81, FULL_RESTORE ; item - db SPRITE_BALL, $7 + 4, $3 + 4, $ff, $ff, $82, MAX_POTION ; item - db SPRITE_BALL, $d + 4, $14 + 4, $ff, $ff, $83, CARBOS ; item - db SPRITE_BALL, $c + 4, $f + 4, $ff, $ff, $84, TM_37 ; item - - ; warp-to - EVENT_DISP $f, $4, $0 ; SAFARI_ZONE_NORTH - EVENT_DISP $f, $5, $0 ; SAFARI_ZONE_NORTH - EVENT_DISP $f, $16, $0 ; SAFARI_ZONE_CENTER - EVENT_DISP $f, $17, $0 ; SAFARI_ZONE_CENTER - EVENT_DISP $f, $9, $19 ; SAFARI_ZONE_REST_HOUSE_3 - -SafariZoneEastBlocks: ; 0x458dc 195 - INCBIN "maps/safarizoneeast.blk" - -SafariZoneNorth_h: ; 0x4599f to 0x459ab (12 bytes) (bank=11) (id=218) - db $03 ; tileset - db SAFARI_ZONE_NORTH_HEIGHT, SAFARI_ZONE_NORTH_WIDTH ; dimensions (y, x) - dw SafariZoneNorthBlocks, SafariZoneNorthTexts, SafariZoneNorthScript ; blocks, texts, scripts - db $00 ; connections - - dw SafariZoneNorthObject ; objects - -SafariZoneNorthScript: ; 0x459ab - jp $3c3c -; 0x459ae - -SafariZoneNorthTexts: ; 0x459ae - dw SafariZoneNorthText1, SafariZoneNorthText2, SafariZoneNorthText3, SafariZoneNorthText4, SafariZoneNorthText5, SafariZoneNorthText6, SafariZoneNorthText7 - -SafariZoneNorthText3: ; 0x459bc - TX_FAR _SafariZoneNorthText3 - db $50 - -SafariZoneNorthText4: ; 0x459c1 - TX_FAR _SafariZoneNorthText4 - db $50 - -SafariZoneNorthText5: ; 0x459c6 - TX_FAR _SafariZoneNorthText5 - db $50 - -SafariZoneNorthText6: ; 0x459cb - TX_FAR _SafariZoneNorthText6 - db $50 - -SafariZoneNorthText7: ; 0x459d0 - TX_FAR _SafariZoneNorthText7 - db $50 - -SafariZoneNorthObject: ; 0x459d5 (size=105) - db $0 ; border tile - - db $9 ; warps - db $23, $2, $0, SAFARI_ZONE_WEST - db $23, $3, $1, SAFARI_ZONE_WEST - db $23, $8, $2, SAFARI_ZONE_WEST - db $23, $9, $3, SAFARI_ZONE_WEST - db $23, $14, $4, SAFARI_ZONE_CENTER - db $23, $15, $5, SAFARI_ZONE_CENTER - db $1e, $27, $0, SAFARI_ZONE_EAST - db $1f, $27, $1, SAFARI_ZONE_EAST - db $3, $23, $0, SAFARI_ZONE_REST_HOUSE_4 - - db $5 ; signs - db $4, $24, $3 ; SafariZoneNorthText3 - db $19, $4, $4 ; SafariZoneNorthText4 - db $1f, $d, $5 ; SafariZoneNorthText5 - db $21, $13, $6 ; SafariZoneNorthText6 - db $1c, $1a, $7 ; SafariZoneNorthText7 - - db $2 ; people - db SPRITE_BALL, $1 + 4, $19 + 4, $ff, $ff, $81, PROTEIN ; item - db SPRITE_BALL, $7 + 4, $13 + 4, $ff, $ff, $82, TM_40 ; item - - ; warp-to - EVENT_DISP $14, $23, $2 ; SAFARI_ZONE_WEST - EVENT_DISP $14, $23, $3 ; SAFARI_ZONE_WEST - EVENT_DISP $14, $23, $8 ; SAFARI_ZONE_WEST - EVENT_DISP $14, $23, $9 ; SAFARI_ZONE_WEST - EVENT_DISP $14, $23, $14 ; SAFARI_ZONE_CENTER - EVENT_DISP $14, $23, $15 ; SAFARI_ZONE_CENTER - EVENT_DISP $14, $1e, $27 ; SAFARI_ZONE_EAST - EVENT_DISP $14, $1f, $27 ; SAFARI_ZONE_EAST - EVENT_DISP $14, $3, $23 ; SAFARI_ZONE_REST_HOUSE_4 - -SafariZoneNorthBlocks: ; 0x45a3e 360 - INCBIN "maps/safarizonenorth.blk" - -SafariZoneCenter_h: ; 0x45ba6 to 0x45bb2 (12 bytes) (bank=11) (id=220) - db $03 ; tileset - db SAFARI_ZONE_CENTER_HEIGHT, SAFARI_ZONE_CENTER_WIDTH ; dimensions (y, x) - dw SafariZoneCenterBlocks, SafariZoneCenterTexts, SafariZoneCenterScript ; blocks, texts, scripts - db $00 ; connections - - dw SafariZoneCenterObject ; objects - -SafariZoneCenterScript: ; 0x45bb2 - jp $3c3c -; 0x45bb5 - -SafariZoneCenterTexts: ; 0x45bb5 - dw SafariZoneCenterText1, SafariZoneCenterText2, SafariZoneCenterText3 - -SafariZoneCenterText2: ; 0x45bbb - TX_FAR _SafariZoneCenterText2 - db $50 - -SafariZoneCenterText3: ; 0x45bc0 - TX_FAR _SafariZoneCenterText3 - db $50 - -SafariZoneCenterObject: ; 0x45bc5 (size=89) - db $0 ; border tile - - db $9 ; warps - db $19, $e, $2, SAFARIZONEENTRANCE - db $19, $f, $3, SAFARIZONEENTRANCE - db $a, $0, $4, SAFARI_ZONE_WEST - db $b, $0, $5, SAFARI_ZONE_WEST - db $0, $e, $4, SAFARI_ZONE_NORTH - db $0, $f, $5, SAFARI_ZONE_NORTH - db $a, $1d, $2, SAFARI_ZONE_EAST - db $b, $1d, $3, SAFARI_ZONE_EAST - db $13, $11, $0, SAFARI_ZONE_REST_HOUSE_1 - - db $2 ; signs - db $14, $12, $2 ; SafariZoneCenterText2 - db $16, $e, $3 ; SafariZoneCenterText3 - - db $1 ; people - db SPRITE_BALL, $a + 4, $e + 4, $ff, $ff, $81, NUGGET ; item - - ; warp-to - EVENT_DISP $f, $19, $e ; SAFARIZONEENTRANCE - EVENT_DISP $f, $19, $f ; SAFARIZONEENTRANCE - EVENT_DISP $f, $a, $0 ; SAFARI_ZONE_WEST - EVENT_DISP $f, $b, $0 ; SAFARI_ZONE_WEST - EVENT_DISP $f, $0, $e ; SAFARI_ZONE_NORTH - EVENT_DISP $f, $0, $f ; SAFARI_ZONE_NORTH - EVENT_DISP $f, $a, $1d ; SAFARI_ZONE_EAST - EVENT_DISP $f, $b, $1d ; SAFARI_ZONE_EAST - EVENT_DISP $f, $13, $11 ; SAFARI_ZONE_REST_HOUSE_1 - -SafariZoneCenterBlocks: ; 0x45c1e 195 - INCBIN "maps/safarizonecenter.blk" - -SafariZoneRestHouse1_h: ; 0x45ce1 to 0x45ced (12 bytes) (bank=11) (id=221) - db $0c ; tileset - db SAFARI_ZONE_REST_HOUSE_1_HEIGHT, SAFARI_ZONE_REST_HOUSE_1_WIDTH ; dimensions (y, x) - dw SafariZoneRestHouse1Blocks, SafariZoneRestHouse1Texts, SafariZoneRestHouse1Script ; blocks, texts, scripts - db $00 ; connections - - dw SafariZoneRestHouse1Object ; objects - -SafariZoneRestHouse1Script: ; 0x45ced - jp $3c3c -; 0x45cf0 - -SafariZoneRestHouse1Texts: ; 0x45cf0 - dw SafariZoneRestHouse1Text1, SafariZoneRestHouse1Text2 - -SafariZoneRestHouse1Text1: ; 0x45cf4 - TX_FAR _SafariZoneRestHouse1Text1 - db $50 - -SafariZoneRestHouse1Text2: ; 0x45cf9 - TX_FAR _SafariZoneRestHouse1Text2 - db $50 - -SafariZoneRestHouse1Object: ; 0x45cfe (size=32) - db $a ; border tile - - db $2 ; warps - db $7, $2, $8, SAFARI_ZONE_CENTER - db $7, $3, $8, SAFARI_ZONE_CENTER - - db $0 ; signs - - db $2 ; people - db SPRITE_GIRL, $2 + 4, $3 + 4, $ff, $d0, $1 ; person - db SPRITE_OAK_AIDE, $4 + 4, $1 + 4, $fe, $1, $2 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 ; SAFARI_ZONE_CENTER - EVENT_DISP $4, $7, $3 ; SAFARI_ZONE_CENTER - -SafariZoneRestHouse2_h: ; 0x45d1e to 0x45d2a (12 bytes) (bank=11) (id=223) - db $0c ; tileset - db SAFARI_ZONE_REST_HOUSE_2_HEIGHT, SAFARI_ZONE_REST_HOUSE_2_WIDTH ; dimensions (y, x) - dw $40fb, SafariZoneRestHouse2Texts, SafariZoneRestHouse2Script ; blocks, texts, scripts - db $00 ; connections - - dw SafariZoneRestHouse2Object ; objects - -SafariZoneRestHouse2Script: ; 0x45d2a - call $3c3c - ret -; 0x45d2e - -SafariZoneRestHouse2Texts: ; 0x45d2e - dw SafariZoneRestHouse2Text1, SafariZoneRestHouse2Text2, SafariZoneRestHouse2Text3 - -SafariZoneRestHouse2Text1: ; 0x45d34 - TX_FAR _SafariZoneRestHouse2Text1 - db $50 - -SafariZoneRestHouse2Text2: ; 0x45d39 - TX_FAR _SafariZoneRestHouse2Text2 - db $50 - -SafariZoneRestHouse2Text3: ; 0x45d3e - TX_FAR _SafariZoneRestHouse2Text3 - db $50 - -SafariZoneRestHouse2Object: ; 0x45d43 (size=38) - db $a ; border tile - - db $2 ; warps - db $7, $2, $7, SAFARI_ZONE_WEST - db $7, $3, $7, SAFARI_ZONE_WEST - - db $0 ; signs - - db $3 ; people - db SPRITE_OAK_AIDE, $4 + 4, $4 + 4, $fe, $0, $1 ; person - db SPRITE_BLACK_HAIR_BOY_1, $2 + 4, $0 + 4, $ff, $d3, $2 ; person - db SPRITE_ERIKA, $2 + 4, $6 + 4, $ff, $d0, $3 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 ; SAFARI_ZONE_WEST - EVENT_DISP $4, $7, $3 ; SAFARI_ZONE_WEST - -SafariZoneRestHouse3_h: ; 0x45d69 to 0x45d75 (12 bytes) (bank=11) (id=224) - db $0c ; tileset - db SAFARI_ZONE_REST_HOUSE_3_HEIGHT, SAFARI_ZONE_REST_HOUSE_3_WIDTH ; dimensions (y, x) - dw $40fb, SafariZoneRestHouse3Texts, SafariZoneRestHouse3Script ; blocks, texts, scripts - db $00 ; connections - - dw SafariZoneRestHouse3Object ; objects - -SafariZoneRestHouse3Script: ; 0x45d75 - call $3c3c - ret -; 0x45d79 - -SafariZoneRestHouse3Texts: ; 0x45d79 - dw SafariZoneRestHouse3Text1, SafariZoneRestHouse3Text2, SafariZoneRestHouse3Text3 - -SafariZoneRestHouse3Text1: ; 0x45d7f - TX_FAR _SafariZoneRestHouse3Text1 - db $50 - -SafariZoneRestHouse3Text2: ; 0x45d84 - TX_FAR _SafariZoneRestHouse3Text2 - db $50 - -SafariZoneRestHouse3Text3: ; 0x45d89 - TX_FAR _SafariZoneRestHouse3Text3 - db $50 - -SafariZoneRestHouse3Object: ; 0x45d8e (size=38) - db $a ; border tile - - db $2 ; warps - db $7, $2, $4, SAFARI_ZONE_EAST - db $7, $3, $4, SAFARI_ZONE_EAST - - db $0 ; signs - - db $3 ; people - db SPRITE_OAK_AIDE, $3 + 4, $1 + 4, $fe, $1, $1 ; person - db SPRITE_ROCKER, $2 + 4, $4 + 4, $ff, $ff, $2 ; person - db SPRITE_LAPRAS_GIVER, $2 + 4, $5 + 4, $ff, $ff, $3 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 ; SAFARI_ZONE_EAST - EVENT_DISP $4, $7, $3 ; SAFARI_ZONE_EAST - -SafariZoneRestHouse4_h: ; 0x45db4 to 0x45dc0 (12 bytes) (bank=11) (id=225) - db $0c ; tileset - db SAFARI_ZONE_REST_HOUSE_4_HEIGHT, SAFARI_ZONE_REST_HOUSE_4_WIDTH ; dimensions (y, x) - dw $40fb, SafariZoneRestHouse4Texts, SafariZoneRestHouse4Script ; blocks, texts, scripts - db $00 ; connections - - dw SafariZoneRestHouse4Object ; objects - -SafariZoneRestHouse4Script: ; 0x45dc0 - call $3c3c - ret -; 0x45dc4 - -SafariZoneRestHouse4Texts: ; 0x45dc4 - dw SafariZoneRestHouse4Text1, SafariZoneRestHouse4Text2, SafariZoneRestHouse4Text3 - -SafariZoneRestHouse4Text1: ; 0x45dca - TX_FAR _SafariZoneRestHouse4Text1 - db $50 - -SafariZoneRestHouse4Text2: ; 0x45dcf - TX_FAR _SafariZoneRestHouse4Text2 - db $50 - -SafariZoneRestHouse4Text3: ; 0x45dd4 - TX_FAR _SafariZoneRestHouse4Text3 - db $50 - -SafariZoneRestHouse4Object: ; 0x45dd9 (size=38) - db $a ; border tile - - db $2 ; warps - db $7, $2, $8, SAFARI_ZONE_NORTH - db $7, $3, $8, SAFARI_ZONE_NORTH - - db $0 ; signs - - db $3 ; people - db SPRITE_OAK_AIDE, $3 + 4, $6 + 4, $fe, $2, $1 ; person - db SPRITE_WHITE_PLAYER, $4 + 4, $3 + 4, $ff, $ff, $2 ; person - db SPRITE_GENTLEMAN, $5 + 4, $1 + 4, $fe, $1, $3 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 ; SAFARI_ZONE_NORTH - EVENT_DISP $4, $7, $3 ; SAFARI_ZONE_NORTH - -UnknownDungeon2_h: ; 0x45dff to 0x45e0b (12 bytes) (bank=11) (id=226) - db $11 ; tileset - db UNKNOWN_DUNGEON_2_HEIGHT, UNKNOWN_DUNGEON_2_WIDTH ; dimensions (y, x) - dw UnknownDungeon2Blocks, UnknownDungeon2Texts, UnknownDungeon2Script ; blocks, texts, scripts - db $00 ; connections - - dw UnknownDungeon2Object ; objects - -UnknownDungeon2Script: ; 0x45e0b - jp $3c3c -; 0x45e0e - -UnknownDungeon2Texts: ; 0x45e0e - dw UnknownDungeon2Text1, UnknownDungeon2Text2, UnknownDungeon2Text3 - -UnknownDungeon2Object: ; 0x45e14 (size=73) - db $7d ; border tile - - db $6 ; warps - db $1, $1d, $2, UNKNOWN_DUNGEON_1 - db $6, $16, $3, UNKNOWN_DUNGEON_1 - db $7, $13, $4, UNKNOWN_DUNGEON_1 - db $1, $9, $5, UNKNOWN_DUNGEON_1 - db $3, $1, $6, UNKNOWN_DUNGEON_1 - db $b, $3, $7, UNKNOWN_DUNGEON_1 - - db $0 ; signs - - db $3 ; people - db SPRITE_BALL, $9 + 4, $1d + 4, $ff, $ff, $81, PP_UP ; item - db SPRITE_BALL, $f + 4, $4 + 4, $ff, $ff, $82, ULTRA_BALL ; item - db SPRITE_BALL, $6 + 4, $d + 4, $ff, $ff, $83, FULL_RESTORE ; item - - ; warp-to - EVENT_DISP $f, $1, $1d ; UNKNOWN_DUNGEON_1 - EVENT_DISP $f, $6, $16 ; UNKNOWN_DUNGEON_1 - EVENT_DISP $f, $7, $13 ; UNKNOWN_DUNGEON_1 - EVENT_DISP $f, $1, $9 ; UNKNOWN_DUNGEON_1 - EVENT_DISP $f, $3, $1 ; UNKNOWN_DUNGEON_1 - EVENT_DISP $f, $b, $3 ; UNKNOWN_DUNGEON_1 - -UnknownDungeon2Blocks: ; 0x45e5d 135 - INCBIN "maps/unknowndungeon2.blk" - -UnknownDungeon3_h: ; 0x45ee4 to 0x45ef0 (12 bytes) (bank=11) (id=227) - db $11 ; tileset - db UNKNOWN_DUNGEON_3_HEIGHT, UNKNOWN_DUNGEON_3_WIDTH ; dimensions (y, x) - dw UnknownDungeon3Blocks, UnknownDungeon3Texts, UnknownDungeon3Script ; blocks, texts, scripts - db $00 ; connections - - dw UnknownDungeon3Object ; objects - -UnknownDungeon3Script: ; 0x45ef0 - call $3c3c - ld hl, UnknownDungeon3TrainerHeaders - ld de, UnknownDungeon3Script_Unknown45f03 - ld a, [$d650] - call $3160 - ld [$d650], a - ret -; 0x45f03 - -UnknownDungeon3Script_Unknown45f03: ; 0x45f03 -INCBIN "baserom.gbc",$45f03,$6 - -UnknownDungeon3Texts: ; 0x45f09 - dw UnknownDungeon3Text1, UnknownDungeon3Text2, UnknownDungeon3Text3 - -UnknownDungeon3TrainerHeaders: -TrainerHeader_45f0f: ; 0x45f0f - db $1 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d85f ; flag's byte - dw UnnamedText_45f26 ; 0x5f26 TextBeforeBattle - dw UnnamedText_45f26 ; 0x5f26 TextAfterBattle - dw UnnamedText_45f26 ; 0x5f26 TextEndBattle - dw UnnamedText_45f26 ; 0x5f26 TextEndBattle -; 0x45f1b - -db $ff - -UnknownDungeon3Text1: ; 0x45f1c - db $08 ; asm - ld hl, TrainerHeader_45f0f - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_45f26: ; 0x45f26 - TX_FAR _UnnamedText_45f26 ; 0x85c72 - db $8 - ld a, $83 - call $13d0 - call $3748 - jp TextScriptEnd -; 0x45f36 - -UnknownDungeon3Object: ; 0x45f36 (size=34) - db $7d ; border tile - - db $1 ; warps - db $6, $3, $8, UNKNOWN_DUNGEON_1 - - db $0 ; signs - - db $3 ; people - db SPRITE_SLOWBRO, $d + 4, $1b + 4, $ff, $d0, $41, MEWTWO, $46 ; trainer - db SPRITE_BALL, $9 + 4, $10 + 4, $ff, $ff, $82, ULTRA_BALL ; item - db SPRITE_BALL, $1 + 4, $12 + 4, $ff, $ff, $83, MAX_REVIVE ; item - - ; warp-to - EVENT_DISP $f, $6, $3 ; UNKNOWN_DUNGEON_1 - -UnknownDungeon3Blocks: ; 0x45f58 135 - INCBIN "maps/unknowndungeon3.blk" - -RockTunnel2_h: ; 0x45fdf to 0x45feb (12 bytes) (bank=11) (id=232) - db $11 ; tileset - db ROCK_TUNNEL_2_HEIGHT, ROCK_TUNNEL_2_WIDTH ; dimensions (y, x) - dw RockTunnel2Blocks, RockTunnel2Texts, RockTunnel2Script ; blocks, texts, scripts - db $00 ; connections - - dw RockTunnel2Object ; objects - -RockTunnel2Script: ; 0x45feb - call $3c3c - ld hl, RockTunnel2TrainerHeaders - ld de, RockTunnel2Script_Unknown45ffe - ld a, [$d620] - call $3160 - ld [$d620], a - ret -; 0x45ffe - -RockTunnel2Script_Unknown45ffe: ; 0x45ffe -INCBIN "baserom.gbc",$45ffe,$6 - -RockTunnel2Texts: ; 0x46004 - dw RockTunnel2Text1, RockTunnel2Text2, RockTunnel2Text3, RockTunnel2Text4, RockTunnel2Text5, RockTunnel2Text6, RockTunnel2Text7, RockTunnel2Text8 - -RockTunnel2TrainerHeaders: -TrainerHeader_46014: ; 0x46014 - db $1 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d87d ; flag's byte - dw UnnamedText_460c5 ; 0x60c5 TextBeforeBattle - dw UnnamedText_460cf ; 0x60cf TextAfterBattle - dw UnnamedText_460ca ; 0x60ca TextEndBattle - dw UnnamedText_460ca ; 0x60ca TextEndBattle -; 0x46020 - -TrainerHeader_46020: ; 0x46020 - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d87d ; flag's byte - dw UnnamedText_460d4 ; 0x60d4 TextBeforeBattle - dw UnnamedText_460de ; 0x60de TextAfterBattle - dw UnnamedText_460d9 ; 0x60d9 TextEndBattle - dw UnnamedText_460d9 ; 0x60d9 TextEndBattle -; 0x4602c - -TrainerHeader_4602c: ; 0x4602c - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d87d ; flag's byte - dw UnnamedText_460e3 ; 0x60e3 TextBeforeBattle - dw UnnamedText_460ed ; 0x60ed TextAfterBattle - dw UnnamedText_460e8 ; 0x60e8 TextEndBattle - dw UnnamedText_460e8 ; 0x60e8 TextEndBattle -; 0x46038 - -TrainerHeader_46038: ; 0x46038 - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d87d ; flag's byte - dw UnnamedText_460f2 ; 0x60f2 TextBeforeBattle - dw UnnamedText_460fc ; 0x60fc TextAfterBattle - dw UnnamedText_460f7 ; 0x60f7 TextEndBattle - dw UnnamedText_460f7 ; 0x60f7 TextEndBattle -; 0x46044 - -TrainerHeader_46044: ; 0x46044 - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d87d ; flag's byte - dw UnnamedText_46101 ; 0x6101 TextBeforeBattle - dw UnnamedText_4610b ; 0x610b TextAfterBattle - dw UnnamedText_46106 ; 0x6106 TextEndBattle - dw UnnamedText_46106 ; 0x6106 TextEndBattle -; 0x46050 - -TrainerHeader_46050: ; 0x46050 - db $6 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d87d ; flag's byte - dw UnnamedText_46110 ; 0x6110 TextBeforeBattle - dw UnnamedText_4611a ; 0x611a TextAfterBattle - dw UnnamedText_46115 ; 0x6115 TextEndBattle - dw UnnamedText_46115 ; 0x6115 TextEndBattle -; 0x4605c - -TrainerHeader_4605c: ; 0x4605c - db $7 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d87d ; flag's byte - dw UnnamedText_4611f ; 0x611f TextBeforeBattle - dw UnnamedText_46129 ; 0x6129 TextAfterBattle - dw UnnamedText_46124 ; 0x6124 TextEndBattle - dw UnnamedText_46124 ; 0x6124 TextEndBattle -; 0x46068 - -TrainerHeader_46068: ; 0x46068 - db $8 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d87d ; flag's byte - dw UnnamedText_4612e ; 0x612e TextBeforeBattle - dw UnnamedText_46138 ; 0x6138 TextAfterBattle - dw UnnamedText_46133 ; 0x6133 TextEndBattle - dw UnnamedText_46133 ; 0x6133 TextEndBattle -; 0x46074 - -db $ff - -RockTunnel2Text1: ; 0x46075 - db $08 ; asm - ld hl, TrainerHeader_46014 - call LoadTrainerHeader - jp TextScriptEnd - -RockTunnel2Text2: ; 0x4607f - db $08 ; asm - ld hl, TrainerHeader_46020 - call LoadTrainerHeader - jp TextScriptEnd - -RockTunnel2Text3: ; 0x46089 - db $08 ; asm - ld hl, TrainerHeader_4602c - call LoadTrainerHeader - jp TextScriptEnd - -RockTunnel2Text4: ; 0x46093 - db $08 ; asm - ld hl, TrainerHeader_46038 - call LoadTrainerHeader - jp TextScriptEnd - -RockTunnel2Text5: ; 0x4609d - db $08 ; asm - ld hl, TrainerHeader_46044 - call LoadTrainerHeader - jp TextScriptEnd - -RockTunnel2Text6: ; 0x460a7 - db $08 ; asm - ld hl, TrainerHeader_46050 - call LoadTrainerHeader - jp TextScriptEnd - -RockTunnel2Text7: ; 0x460b1 - db $08 ; asm - ld hl, TrainerHeader_4605c - call LoadTrainerHeader - jp TextScriptEnd - -RockTunnel2Text8: ; 0x460bb - db $08 ; asm - ld hl, TrainerHeader_46068 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_460c5: ; 0x460c5 - TX_FAR _UnnamedText_460c5 - db $50 -; 0x460c5 + 5 bytes - -UnnamedText_460ca: ; 0x460ca - TX_FAR _UnnamedText_460ca - db $50 -; 0x460ca + 5 bytes - -UnnamedText_460cf: ; 0x460cf - TX_FAR _UnnamedText_460cf - db $50 -; 0x460cf + 5 bytes - -UnnamedText_460d4: ; 0x460d4 - TX_FAR _UnnamedText_460d4 - db $50 -; 0x460d4 + 5 bytes - -UnnamedText_460d9: ; 0x460d9 - TX_FAR _UnnamedText_460d9 - db $50 -; 0x460d9 + 5 bytes - -UnnamedText_460de: ; 0x460de - TX_FAR _UnnamedText_460de - db $50 -; 0x460de + 5 bytes - -UnnamedText_460e3: ; 0x460e3 - TX_FAR _UnnamedText_460e3 - db $50 -; 0x460e3 + 5 bytes - -UnnamedText_460e8: ; 0x460e8 - TX_FAR _UnnamedText_460e8 - db $50 -; 0x460e8 + 5 bytes - -UnnamedText_460ed: ; 0x460ed - TX_FAR _UnnamedText_460ed - db $50 -; 0x460ed + 5 bytes - -UnnamedText_460f2: ; 0x460f2 - TX_FAR _UnnamedText_460f2 - db $50 -; 0x460f2 + 5 bytes - -UnnamedText_460f7: ; 0x460f7 - TX_FAR _UnnamedText_460f7 - db $50 -; 0x460f7 + 5 bytes - -UnnamedText_460fc: ; 0x460fc - TX_FAR _UnnamedText_460fc - db $50 -; 0x460fc + 5 bytes - -UnnamedText_46101: ; 0x46101 - TX_FAR _UnnamedText_46101 - db $50 -; 0x46101 + 5 bytes - -UnnamedText_46106: ; 0x46106 - TX_FAR _UnnamedText_46106 - db $50 -; 0x46106 + 5 bytes - -UnnamedText_4610b: ; 0x4610b - TX_FAR _UnnamedText_4610b - db $50 -; 0x4610b + 5 bytes - -UnnamedText_46110: ; 0x46110 - TX_FAR _UnnamedText_46110 - db $50 -; 0x46110 + 5 bytes - -UnnamedText_46115: ; 0x46115 - TX_FAR _UnnamedText_46115 - db $50 -; 0x46115 + 5 bytes - -UnnamedText_4611a: ; 0x4611a - TX_FAR _UnnamedText_4611a - db $50 -; 0x4611a + 5 bytes - -UnnamedText_4611f: ; 0x4611f - TX_FAR _UnnamedText_4611f - db $50 -; 0x4611f + 5 bytes - -UnnamedText_46124: ; 0x46124 - TX_FAR _UnnamedText_46124 - db $50 -; 0x46124 + 5 bytes - -UnnamedText_46129: ; 0x46129 - TX_FAR _UnnamedText_46129 - db $50 -; 0x46129 + 5 bytes - -UnnamedText_4612e: ; 0x4612e - TX_FAR _UnnamedText_4612e - db $50 -; 0x4612e + 5 bytes - -UnnamedText_46133: ; 0x46133 - TX_FAR _UnnamedText_46133 - db $50 -; 0x46133 + 5 bytes - -UnnamedText_46138: ; 0x46138 - TX_FAR _UnnamedText_46138 - db $50 -; 0x46138 + 5 bytes - -RockTunnel2Object: ; 0x4613d (size=100) - db $3 ; border tile - - db $4 ; warps - db $19, $21, $4, ROCK_TUNNEL_1 - db $3, $1b, $5, ROCK_TUNNEL_1 - db $b, $17, $6, ROCK_TUNNEL_1 - db $3, $3, $7, ROCK_TUNNEL_1 - - db $0 ; signs - - db $8 ; people - db SPRITE_LASS, $d + 4, $b + 4, $ff, $d0, $41, JR__TRAINER_F + $C8, $9 ; trainer - db SPRITE_HIKER, $a + 4, $6 + 4, $ff, $d0, $42, HIKER + $C8, $9 ; trainer - db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $3 + 4, $ff, $d0, $43, POKEMANIAC + $C8, $3 ; trainer - db SPRITE_BLACK_HAIR_BOY_2, $15 + 4, $14 + 4, $ff, $d3, $44, POKEMANIAC + $C8, $4 ; trainer - db SPRITE_HIKER, $a + 4, $1e + 4, $ff, $d0, $45, HIKER + $C8, $a ; trainer - db SPRITE_LASS, $1c + 4, $e + 4, $ff, $d3, $46, JR__TRAINER_F + $C8, $a ; trainer - db SPRITE_HIKER, $5 + 4, $21 + 4, $ff, $d3, $47, HIKER + $C8, $b ; trainer - db SPRITE_BLACK_HAIR_BOY_2, $1e + 4, $1a + 4, $ff, $d0, $48, POKEMANIAC + $C8, $5 ; trainer - - ; warp-to - EVENT_DISP $14, $19, $21 ; ROCK_TUNNEL_1 - EVENT_DISP $14, $3, $1b ; ROCK_TUNNEL_1 - EVENT_DISP $14, $b, $17 ; ROCK_TUNNEL_1 - EVENT_DISP $14, $3, $3 ; ROCK_TUNNEL_1 - -RockTunnel2Blocks: ; 0x461a1 360 - INCBIN "maps/rocktunnel2.blk" - -SeafoamIslands2_h: ; 0x46309 to 0x46315 (12 bytes) (bank=11) (id=159) - db $11 ; tileset - db SEAFOAM_ISLANDS_2_HEIGHT, SEAFOAM_ISLANDS_2_WIDTH ; dimensions (y, x) - dw SeafoamIslands2Blocks, SeafoamIslands2Texts, SeafoamIslands2Script ; blocks, texts, scripts - db $00 ; connections - - dw SeafoamIslands2Object ; objects - -SeafoamIslands2Script: ; 0x46315 - call $3c3c - ld hl, $cd60 - bit 7, [hl] - res 7, [hl] - jr z, .asm_46362 ; 0x4631f $41 - ld hl, SeafoamIslands2Script_Unknown4636d - call $34e4 - ret nc - ld hl, $d87f - ld a, [$cd3d] - cp $1 - jr nz, .asm_46340 ; 0x46330 $e - set 0, [hl] - ld a, $d9 - ld [$d079], a - ld a, $db - ld [$d07a], a - jr .asm_4634c ; 0x4633e $c -.asm_46340 - set 1, [hl] - ld a, $da - ld [$d079], a - ld a, $dc - ld [$d07a], a -.asm_4634c - ld a, [$d079] - ld [$cc4d], a - ld a, $11 - call Predef - ld a, [$d07a] - ld [$cc4d], a - ld a, $15 - jp $3e6d -.asm_46362 - ld a, $a0 - ld [$d71d], a - ld hl, SeafoamIslands2Script_Unknown4636d - jp $6981 -; 0x4636d - -SeafoamIslands2Script_Unknown4636d: ; 0x4636d -INCBIN "baserom.gbc",$4636d,$5 - -SeafoamIslands2Texts: ; 0x46372 - dw SeafoamIslands2Text1, SeafoamIslands2Text2 - -SeafoamIslands2Object: ; 0x46376 (size=72) - db $7d ; border tile - - db $7 ; warps - db $2, $4, $0, SEAFOAM_ISLANDS_3 - db $5, $7, $4, SEAFOAM_ISLANDS_1 - db $7, $d, $2, SEAFOAM_ISLANDS_3 - db $f, $13, $3, SEAFOAM_ISLANDS_3 - db $f, $17, $6, SEAFOAM_ISLANDS_1 - db $b, $19, $5, SEAFOAM_ISLANDS_3 - db $3, $19, $5, SEAFOAM_ISLANDS_1 - - db $0 ; signs - - db $2 ; people - db SPRITE_BOULDER, $6 + 4, $11 + 4, $ff, $10, $1 ; person - db SPRITE_BOULDER, $6 + 4, $16 + 4, $ff, $10, $2 ; person - - ; warp-to - EVENT_DISP $f, $2, $4 ; SEAFOAM_ISLANDS_3 - EVENT_DISP $f, $5, $7 ; SEAFOAM_ISLANDS_1 - EVENT_DISP $f, $7, $d ; SEAFOAM_ISLANDS_3 - EVENT_DISP $f, $f, $13 ; SEAFOAM_ISLANDS_3 - EVENT_DISP $f, $f, $17 ; SEAFOAM_ISLANDS_1 - EVENT_DISP $f, $b, $19 ; SEAFOAM_ISLANDS_3 - EVENT_DISP $f, $3, $19 ; SEAFOAM_ISLANDS_1 - -SeafoamIslands2Blocks: ; 0x463be 135 - INCBIN "maps/seafoamislands2.blk" - -SeafoamIslands3_h: ; 0x46445 to 0x46451 (12 bytes) (bank=11) (id=160) - db $11 ; tileset - db SEAFOAM_ISLANDS_3_HEIGHT, SEAFOAM_ISLANDS_3_WIDTH ; dimensions (y, x) - dw SeafoamIslands3Blocks, SeafoamIslands3Texts, SeafoamIslands3Script ; blocks, texts, scripts - db $00 ; connections - - dw SeafoamIslands3Object ; objects - -SeafoamIslands3Script: ; 0x46451 - call $3c3c - ld hl, $cd60 - bit 7, [hl] - res 7, [hl] - jr z, .asm_4649e ; 0x4645b $41 - ld hl, SeafoamIslands3Script_Unknown464a9 - call $34e4 - ret nc - ld hl, $d880 - ld a, [$cd3d] - cp $1 - jr nz, .asm_4647c ; 0x4646c $e - set 0, [hl] - ld a, $db - ld [$d079], a - ld a, $df - ld [$d07a], a - jr .asm_46488 ; 0x4647a $c -.asm_4647c - set 1, [hl] - ld a, $dc - ld [$d079], a - ld a, $e0 - ld [$d07a], a -.asm_46488 - ld a, [$d079] - ld [$cc4d], a - ld a, $11 - call Predef - ld a, [$d07a] - ld [$cc4d], a - ld a, $15 - jp $3e6d -.asm_4649e - ld a, $a1 - ld [$d71d], a - ld hl, SeafoamIslands3Script_Unknown464a9 - jp $6981 -; 0x464a9 - -SeafoamIslands3Script_Unknown464a9: ; 0x464a9 -INCBIN "baserom.gbc",$464a9,$5 - -SeafoamIslands3Texts: ; 0x464ae - dw SeafoamIslands3Text1, SeafoamIslands3Text2 - -SeafoamIslands3Object: ; 0x464b2 (size=72) - db $7d ; border tile - - db $7 ; warps - db $3, $5, $0, SEAFOAM_ISLANDS_2 - db $d, $5, $0, SEAFOAM_ISLANDS_4 - db $7, $d, $2, SEAFOAM_ISLANDS_2 - db $f, $13, $3, SEAFOAM_ISLANDS_2 - db $3, $19, $3, SEAFOAM_ISLANDS_4 - db $b, $19, $5, SEAFOAM_ISLANDS_2 - db $e, $19, $4, SEAFOAM_ISLANDS_4 - - db $0 ; signs - - db $2 ; people - db SPRITE_BOULDER, $6 + 4, $12 + 4, $ff, $10, $1 ; person - db SPRITE_BOULDER, $6 + 4, $17 + 4, $ff, $10, $2 ; person - - ; warp-to - EVENT_DISP $f, $3, $5 ; SEAFOAM_ISLANDS_2 - EVENT_DISP $f, $d, $5 ; SEAFOAM_ISLANDS_4 - EVENT_DISP $f, $7, $d ; SEAFOAM_ISLANDS_2 - EVENT_DISP $f, $f, $13 ; SEAFOAM_ISLANDS_2 - EVENT_DISP $f, $3, $19 ; SEAFOAM_ISLANDS_4 - EVENT_DISP $f, $b, $19 ; SEAFOAM_ISLANDS_2 - EVENT_DISP $f, $e, $19 ; SEAFOAM_ISLANDS_4 - -SeafoamIslands3Blocks: ; 0x464fa 135 - INCBIN "maps/seafoamislands3.blk" - -SeafoamIslands4_h: ; 0x46581 to 0x4658d (12 bytes) (bank=11) (id=161) - db $11 ; tileset - db SEAFOAM_ISLANDS_4_HEIGHT, SEAFOAM_ISLANDS_4_WIDTH ; dimensions (y, x) - dw SeafoamIslands4Blocks, SeafoamIslands4Texts, SeafoamIslands4Script ; blocks, texts, scripts - db $00 ; connections - - dw SeafoamIslands4Object ; objects - -SeafoamIslands4Script: ; 0x4658d - call $3c3c - ld hl, $cd60 - bit 7, [hl] - res 7, [hl] - jr z, .asm_465dc ; 0x46597 $43 - ld hl, SeafoamIslands4Script_Unknown465f6 - call $34e4 - ret nc - ld hl, $d881 - ld a, [$cd3d] - cp $1 - jr nz, .asm_465b8 ; 0x465a8 $e - set 0, [hl] - ld a, $dd - ld [$d079], a - ld a, $e1 - ld [$d07a], a - jr .asm_465c4 ; 0x465b6 $c -.asm_465b8 - set 1, [hl] - ld a, $de - ld [$d079], a - ld a, $e2 - ld [$d07a], a -.asm_465c4 - ld a, [$d079] - ld [$cc4d], a - ld a, $11 - call Predef - ld a, [$d07a] - ld [$cc4d], a - ld a, $15 - call Predef - jr .asm_465ed ; 0x465da $11 -.asm_465dc - ld a, $a2 - ld [$d71d], a - ld hl, SeafoamIslands4Script_Unknown465f6 - call $6981 - ld a, [$d732] - bit 4, a - ret nz -.asm_465ed - ld hl, SeafoamIslands4Scripts - ld a, [$d666] - jp $3d97 -; 0x465f6 - -SeafoamIslands4Script_Unknown465f6: ; 0x465f6 -INCBIN "baserom.gbc",$465f6,$465fb - $465f6 - -SeafoamIslands4Scripts: ; 0x465fb - dw SeafoamIslands4Script0, SeafoamIslands4Script1 - -INCBIN "baserom.gbc",$465ff,$4 - -SeafoamIslands4Script0: ; 0x46603 - ld a, [$d880] - and $3 - cp $3 - ret z - ld a, [$d361] - cp $8 - ret nz - ld a, [$d362] - cp $f - ret nz - ld hl, $ccd3 - ld de, SeafoamIslands4Script0_Unknown46632 - call $350c - dec a - ld [$cd38], a - call $3486 - ld hl, $d733 - set 2, [hl] - ld a, $1 - ld [$d666], a - ret -; 0x46632 - -SeafoamIslands4Script0_Unknown46632: ; 0x46632 -INCBIN "baserom.gbc",$46632,$46639 - $46632 - -SeafoamIslands4Script1: ; 0x46639 - ld a, [$cd38] - and a - ret nz - ld a, $0 - ld [$d666], a - ret -; 0x46644 - -INCBIN "baserom.gbc",$46644,$56 - -SeafoamIslands4Texts: ; 0x4669a - dw SeafoamIslands4Text1, SeafoamIslands4Text2, SeafoamIslands4Text3, SeafoamIslands4Text4, SeafoamIslands4Text5, SeafoamIslands4Text6 - -SeafoamIslands4Object: ; 0x466a6 (size=96) - db $7d ; border tile - - db $7 ; warps - db $c, $5, $1, SEAFOAM_ISLANDS_3 - db $6, $8, $2, SEAFOAM_ISLANDS_5 - db $4, $19, $3, SEAFOAM_ISLANDS_5 - db $3, $19, $4, SEAFOAM_ISLANDS_3 - db $e, $19, $6, SEAFOAM_ISLANDS_3 - db $11, $14, $0, SEAFOAM_ISLANDS_5 - db $11, $15, $1, SEAFOAM_ISLANDS_5 - - db $0 ; signs - - db $6 ; people - db SPRITE_BOULDER, $e + 4, $5 + 4, $ff, $10, $1 ; person - db SPRITE_BOULDER, $f + 4, $3 + 4, $ff, $10, $2 ; person - db SPRITE_BOULDER, $e + 4, $8 + 4, $ff, $10, $3 ; person - db SPRITE_BOULDER, $e + 4, $9 + 4, $ff, $10, $4 ; person - db SPRITE_BOULDER, $6 + 4, $12 + 4, $ff, $ff, $5 ; person - db SPRITE_BOULDER, $6 + 4, $13 + 4, $ff, $ff, $6 ; person - - ; warp-to - EVENT_DISP $f, $c, $5 ; SEAFOAM_ISLANDS_3 - EVENT_DISP $f, $6, $8 ; SEAFOAM_ISLANDS_5 - EVENT_DISP $f, $4, $19 ; SEAFOAM_ISLANDS_5 - EVENT_DISP $f, $3, $19 ; SEAFOAM_ISLANDS_3 - EVENT_DISP $f, $e, $19 ; SEAFOAM_ISLANDS_3 - EVENT_DISP $f, $11, $14 ; SEAFOAM_ISLANDS_5 - EVENT_DISP $f, $11, $15 ; SEAFOAM_ISLANDS_5 - -SeafoamIslands4Blocks: ; 0x46706 135 - INCBIN "maps/seafoamislands4.blk" - -SeafoamIslands5_h: ; 0x4678d to 0x46799 (12 bytes) (bank=11) (id=162) - db $11 ; tileset - db SEAFOAM_ISLANDS_5_HEIGHT, SEAFOAM_ISLANDS_5_WIDTH ; dimensions (y, x) - dw SeafoamIslands5Blocks, SeafoamIslands5Texts, SeafoamIslands5Script ; blocks, texts, scripts - db $00 ; connections - - dw SeafoamIslands5Object ; objects - -SeafoamIslands5Script: ; 0x46799 - call $3c3c - ld a, [$d668] - ld hl, SeafoamIslands5Scripts - jp $3d97 -; 0x467a5 - -INCBIN "baserom.gbc",$467a5,$467ad - $467a5 - -SeafoamIslands5Scripts: ; 0x467ad - dw SeafoamIslands5Script0, SeafoamIslands5Script1 - -INCBIN "baserom.gbc",$467b1,$16 - -SeafoamIslands5Script0: ; 0x467c7 - ld a, [$d880] - and $3 - cp $3 - ret z - ld hl, $67fe - call $34bf - ret nc - ld a, [$cd3d] - cp $3 - jr nc, .asm_467e6 ; 0x467db $9 - ld a, $40 - ld [$ccd4], a - ld a, $2 - jr .asm_467e8 ; 0x467e4 $2 -.asm_467e6 - ld a, $1 -.asm_467e8 - ld [$cd38], a - ld a, $40 - ld [$ccd3], a - call $3486 - ld hl, $d733 - res 2, [hl] - ld a, $1 - ld [$d668], a - ret -; 0x467fe - -INCBIN "baserom.gbc",$467fe,$46807 - $467fe - -SeafoamIslands5Script1: ; 0x46807 - ld a, [$cd38] - and a - ret nz - xor a - ld [$cd6b], a - ld a, $0 - ld [$d668], a - ret -; 0x46816 - -INCBIN "baserom.gbc",$46816,$66 - -SeafoamIslands5Texts: ; 0x4687c - dw SeafoamIslands5Text1, SeafoamIslands5Text2, SeafoamIslands5Text3, SeafoamIslands5Text4, SeafoamIslands5Text5 - -SeafoamIslands5TrainerHeaders: -TrainerHeader_46886: ; 0x46886 - db $2 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d882 ; flag's byte - dw UnnamedText_468a2 ; 0x68a2 TextBeforeBattle - dw UnnamedText_468a2 ; 0x68a2 TextAfterBattle - dw UnnamedText_468a2 ; 0x68a2 TextEndBattle - dw UnnamedText_468a2 ; 0x68a2 TextEndBattle -; 0x46892 - -db $ff - -SeafoamIslands5Text3: ; 0x46893 - db $08 ; asm - ld hl, TrainerHeader_46886 - call LoadTrainerHeader - ld a, $4 - ld [$d668], a - jp TextScriptEnd - -UnnamedText_468a2: ; 0x468a2 - TX_FAR _UnnamedText_468a2 ; 0x88075 - db $8 - ld a, $4a - call $13d0 - call $3748 - jp TextScriptEnd -; 0x468b2 - -SeafoamIslands5Text4: ; 0x468b2 - TX_FAR _SeafoamIslands5Text4 - db $50 - -SeafoamIslands5Text5: ; 0x468b7 - TX_FAR _SeafoamIslands5Text5 - db $50 - -SeafoamIslands5Object: ; 0x468bc (size=62) - db $7d ; border tile - - db $4 ; warps - db $11, $14, $5, SEAFOAM_ISLANDS_4 - db $11, $15, $6, SEAFOAM_ISLANDS_4 - db $7, $b, $1, SEAFOAM_ISLANDS_4 - db $4, $19, $2, SEAFOAM_ISLANDS_4 - - db $2 ; signs - db $f, $9, $4 ; SeafoamIslands5Text4 - db $1, $17, $5 ; SeafoamIslands5Text5 - - db $3 ; people - db SPRITE_BOULDER, $f + 4, $4 + 4, $ff, $ff, $1 ; person - db SPRITE_BOULDER, $f + 4, $5 + 4, $ff, $ff, $2 ; person - db SPRITE_BIRD, $1 + 4, $6 + 4, $ff, $d0, $43, ARTICUNO, $32 ; trainer - - ; warp-to - EVENT_DISP $f, $11, $14 ; SEAFOAM_ISLANDS_4 - EVENT_DISP $f, $11, $15 ; SEAFOAM_ISLANDS_4 - EVENT_DISP $f, $7, $b ; SEAFOAM_ISLANDS_4 - EVENT_DISP $f, $4, $19 ; SEAFOAM_ISLANDS_4 - -SeafoamIslands5Blocks: ; 0x468fa 135 - INCBIN "maps/seafoamislands5.blk" - -INCBIN "baserom.gbc",$46981,$167f - -SECTION "bank12",DATA,BANK[$12] - -Route7_h: ; 0x48000 to 0x48022 (34 bytes) (bank=12) (id=18) - db $00 ; tileset - db ROUTE_7_HEIGHT, ROUTE_7_WIDTH ; dimensions (y, x) - dw Route7Blocks, $4155, Route7Script ; blocks, texts, scripts - db WEST | EAST ; connections - - ; connections data - - db CELADON_CITY - dw CeladonCityBlocks - 3 + (CELADON_CITY_WIDTH * 2) ; connection strip location - dw $C6E8 + (ROUTE_7_WIDTH + 6) * (-3 + 3) ; current map position - db $f, CELADON_CITY_WIDTH ; bigness, width - db (-4 * -2), (CELADON_CITY_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * CELADON_CITY_WIDTH ; window - - db SAFFRON_CITY - dw SaffronCityBlocks + (SAFFRON_CITY_WIDTH) ; connection strip location - dw $C6E5 + (ROUTE_7_WIDTH + 6) * (-3 + 4) ; current map position - db $f, SAFFRON_CITY_WIDTH ; bigness, width - db (-4 * -2), 0 ; alignments (y, x) - dw $C6EF + SAFFRON_CITY_WIDTH ; window - - ; end connections data - - dw Route7Object ; objects - -Route7Object: ; 0x48022 (size=47) - db $f ; border tile - - db $5 ; warps - db $9, $12, $2, ROUTE_7_GATE - db $a, $12, $3, ROUTE_7_GATE - db $9, $b, $0, ROUTE_7_GATE - db $a, $b, $1, ROUTE_7_GATE - db $d, $5, $0, PATH_ENTRANCE_ROUTE_7 - - db $1 ; signs - db $d, $3, $1 ; Route7Text1 - - db $0 ; people - - ; warp-to - EVENT_DISP $a, $9, $12 ; ROUTE_7_GATE - EVENT_DISP $a, $a, $12 ; ROUTE_7_GATE - EVENT_DISP $a, $9, $b ; ROUTE_7_GATE - EVENT_DISP $a, $a, $b ; ROUTE_7_GATE - EVENT_DISP $a, $d, $5 ; PATH_ENTRANCE_ROUTE_7 - -Route7Blocks: ; 4051 90 - INCBIN "maps/route7.blk" - -CeladonPokecenterBlocks: -RockTunnelPokecenterBlocks: -MtMoonPokecenterBlocks: ; 40ab 28 - INCBIN "maps/mtmoonpokecenter.blk" - -Route18GateBlocks: -Route15GateBlocks: -Route11GateBlocks: ; 40c7 20 - INCBIN "maps/route11gate.blk" - -Route18GateHeaderBlocks: -Route16GateUpstairsBlocks: -Route12GateUpstairsBlocks: -Route11GateUpstairsBlocks: ; 40db 16 - INCBIN "maps/route11gateupstairs.blk" - -INCBIN "baserom.gbc",$480eb,$48152 - $480eb - -Route7Script: ; 0x48152 - jp $3c3c -; 0x48155 - -; XXX -db $57, $41 - -Route7Text1: ; 0x48157 - TX_FAR _Route7Text1 - db $50 - -RedsHouse1F_h: ; 415C - db $01 ; tileset - db $04,$04 ; dimensions - dw RedsHouse1FBlocks, RedsHouse1FTexts, RedsHouse1FScript - db 0 ; no connections - dw RedsHouse1FObject - -RedsHouse1FScript: ; 4168 - jp $3C3C - -RedsHouse1FTexts: ; 416B - dw RedsHouse1FText1,RedsHouse1FText2 - -RedsHouse1FText1: ; 416F Mom - db 8 - ld a, [$D72E] - bit 3, a - jr nz, .heal\@ ; if player has received a Pokémon from Oak, heal team - ld hl, MomWakeUpText - call PrintText - jr .done\@ -.heal\@ - call MomHealPokemon -.done\@ - jp TextScriptEnd - -MomWakeUpText: ; 0x48185 - TX_FAR _MomWakeUpText - db "@" - -MomHealPokemon: ; 0x4818a - ld hl, MomHealText1 - call PrintText - call GBFadeOut2 - call $3071 - ld a, 7 - call Predef - ld a, $E8 - ld [$C0EE], a - call $23B1 ; play sound? -.next\@ - ld a, [$C026] - cp $E8 - jr z, .next\@ - ld a, [$D35B] - ld [$C0EE], a - call $23B1 - call GBFadeIn2 - ld hl, MomHealText2 - jp PrintText - -MomHealText1: ; 0x481bc - TX_FAR _MomHealText1 - db "@" -MomHealText2: ; 0x481c1 - TX_FAR _MomHealText2 - db "@" - -RedsHouse1FText2: ; 0x481c6 TV - db 8 - ld a,[$C109] - cp 4 - ld hl,TVWrongSideText - jr nz,.done\@ ; if player is not facing up - ld hl,StandByMeText -.done\@ - call PrintText - jp TextScriptEnd - -StandByMeText: ; 0x481da - TX_FAR _StandByMeText - db "@" - -TVWrongSideText: ; 0x481df - TX_FAR _TVWrongSideText - db "@" - -RedsHouse1FObject: ; 0x481e4 - db $0A ; border tile - - db 3 ; warps - db 7,2,0,$FF ; exit1 - db 7,3,0,$FF ; exit2 - db 1,7,0,$26 ; staircase - - db 1 ; signs - db 1,3,2 ; TV - - db 1 ; people - db $33,4+4,5+4,$FF,$D2,1 ; Mom - - ; warp-to - - dw $C6EF + 4 + (4 + 6) * (3) + 1 - db 7,2 - - dw $C6EF + 4 + (4 + 6) * (3) + 1 - db 7,3 - - dw $C6EF + 4 + (4 + 6) * (0) + 3 - db 1,7 - -RedsHouse1FBlocks: - INCBIN "maps/redshouse1f.blk" - -CeladonMart3_h: ; 0x48219 to 0x48225 (12 bytes) (bank=12) (id=124) - db $12 ; tileset - db CELADON_MART_3_HEIGHT, CELADON_MART_3_WIDTH ; dimensions (y, x) - dw CeladonMart3Blocks, CeladonMart3Texts, CeladonMart3Script ; blocks, texts, scripts - db $00 ; connections - - dw CeladonMart3Object ; objects - -CeladonMart3Script: ; 0x48225 - jp $3c3c -; 0x48228 - -CeladonMart3Texts: ; 0x48228 - dw CeladonMart3Text1, CeladonMart3Text2, CeladonMart3Text3, CeladonMart3Text4, CeladonMart3Text5, CeladonMart3Text6, CeladonMart3Text7, CeladonMart3Text8, CeladonMart3Text9, CeladonMart3Text10, CeladonMart3Text11, CeladonMart3Text12, CeladonMart3Text13, CeladonMart3Text14, CeladonMart3Text15, CeladonMart3Text16, CeladonMart3Text17 - -CeladonMart3Text1: ; 0x4824a - db $08 ; asm - ld a, [$d778] - bit 7, a - jr nz, .asm_a5463 ; 0x48250 - ld hl, UnnamedText_48278 - call PrintText - ld bc, (TM_18 << 8) | 1 - call GiveItem - jr nc, .asm_95f37 ; 0x4825e - ld hl, $d778 - set 7, [hl] - ld hl, ReceivedTM18Text - jr .asm_81359 ; 0x48268 -.asm_95f37 ; 0x4826a - ld hl, TM18NoRoomText - jr .asm_81359 ; 0x4826d -.asm_a5463 ; 0x4826f - ld hl, TM18ExplanationText -.asm_81359 ; 0x48272 - call PrintText - jp TextScriptEnd - -UnnamedText_48278: ; 0x48278 - TX_FAR _UnnamedText_48278 - db $50 -; 0x48278 + 5 bytes - -ReceivedTM18Text: ; 0x4827d - TX_FAR _ReceivedTM18Text ; 0x9c85a - db $0B, $50 -; 0x48283 - -TM18ExplanationText: ; 0x48283 - TX_FAR _TM18ExplanationText - db $50 -; 0x48283 + 5 bytes - -TM18NoRoomText: ; 0x48288 - TX_FAR _TM18NoRoomText - db $50 -; 0x48288 + 5 bytes - -CeladonMart3Text2: ; 0x4828d - TX_FAR _CeladonMart3Text2 - db $50 - -CeladonMart3Text3: ; 0x48292 - TX_FAR _CeladonMart3Text3 - db $50 - -CeladonMart3Text4: ; 0x48297 - TX_FAR _CeladonMart3Text4 - db $50 - -CeladonMart3Text5: ; 0x4829c - TX_FAR _CeladonMart3Text5 - db $50 - -CeladonMart3Text12 -CeladonMart3Text10: -CeladonMart3Text8: -CeladonMart3Text6: ; 0x482a1 - TX_FAR _CeladonMart3Text6 - db $50 - -CeladonMart3Text7: ; 0x482a6 - TX_FAR _CeladonMart3Text7 - db $50 - -CeladonMart3Text9: ; 0x482ab - TX_FAR _CeladonMart3Text9 - db $50 - -CeladonMart3Text11: ; 0x482b0 - TX_FAR _CeladonMart3Text11 - db $50 - -CeladonMart3Text13: ; 0x482b5 - TX_FAR _CeladonMart3Text13 - db $50 - -CeladonMart3Text14: ; 0x482ba - TX_FAR _CeladonMart3Text14 - db $50 - -CeladonMart3Text17: -CeladonMart3Text16: -CeladonMart3Text15: ; 0x482bf - TX_FAR _CeladonMart3Text15 - db $50 - -CeladonMart3Object: ; 0x482c4 (size=94) - db $f ; border tile - - db $3 ; warps - db $1, $c, $0, CELADON_MART_4 - db $1, $10, $1, CELADON_MART_2 - db $1, $1, $0, CELADON_MART_ELEVATOR - - db $c ; signs - db $4, $2, $6 ; CeladonMart3Text6 - db $4, $3, $7 ; CeladonMart3Text7 - db $4, $5, $8 ; CeladonMart3Text8 - db $4, $6, $9 ; CeladonMart3Text9 - db $6, $2, $a ; CeladonMart3Text10 - db $6, $3, $b ; CeladonMart3Text11 - db $6, $5, $c ; CeladonMart3Text12 - db $6, $6, $d ; CeladonMart3Text13 - db $1, $e, $e ; CeladonMart3Text14 - db $1, $4, $f ; CeladonMart3Text15 - db $1, $6, $10 ; CeladonMart3Text16 - db $1, $a, $11 ; CeladonMart3Text17 - - db $5 ; people - db SPRITE_MART_GUY, $5 + 4, $10 + 4, $ff, $ff, $1 ; person - db SPRITE_GAMEBOY_KID_COPY, $6 + 4, $b + 4, $ff, $d3, $2 ; person - db SPRITE_GAMEBOY_KID_COPY, $2 + 4, $7 + 4, $ff, $d0, $3 ; person - db SPRITE_GAMEBOY_KID_COPY, $2 + 4, $8 + 4, $ff, $d0, $4 ; person - db SPRITE_YOUNG_BOY, $5 + 4, $2 + 4, $ff, $d1, $5 ; person - - ; warp-to - EVENT_DISP $a, $1, $c ; CELADON_MART_4 - EVENT_DISP $a, $1, $10 ; CELADON_MART_2 - EVENT_DISP $a, $1, $1 ; CELADON_MART_ELEVATOR - -CeladonMart3Blocks: ; 0x48322 40 - INCBIN "maps/celadonmart3.blk" - -CeladonMart4_h: ; 0x4834a to 0x48356 (12 bytes) (bank=12) (id=125) - db $12 ; tileset - db CELADON_MART_4_HEIGHT, CELADON_MART_4_WIDTH ; dimensions (y, x) - dw CeladonMart4Blocks, CeladonMart4Texts, CeladonMart4Script ; blocks, texts, scripts - db $00 ; connections - - dw CeladonMart4Object ; objects - -CeladonMart4Script: ; 0x48356 - jp $3c3c -; 0x48359 - -CeladonMart4Texts: ; 0x48359 - dw CeladonMart4Text1, CeladonMart4Text2, CeladonMart4Text3, CeladonMart4Text4 - -CeladonMart4Text2: ; 0x48361 - TX_FAR _CeladonMart4Text2 - db $50 - -CeladonMart4Text3: ; 0x48366 - TX_FAR _CeladonMart4Text3 - db $50 - -CeladonMart4Text4: ; 0x4836b - TX_FAR _CeladonMart4Text4 - db $50 - -CeladonMart4Object: ; 0x48370 (size=49) - db $f ; border tile - - db $3 ; warps - db $1, $c, $0, CELADON_MART_3 - db $1, $10, $1, CELADON_MART_5 - db $1, $1, $0, CELADON_MART_ELEVATOR - - db $1 ; signs - db $1, $e, $4 ; CeladonMart4Text4 - - db $3 ; people - db SPRITE_MART_GUY, $7 + 4, $5 + 4, $ff, $ff, $1 ; person - db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $f + 4, $fe, $2, $2 ; person - db SPRITE_BUG_CATCHER, $2 + 4, $5 + 4, $fe, $2, $3 ; person - - ; warp-to - EVENT_DISP $a, $1, $c ; CELADON_MART_3 - EVENT_DISP $a, $1, $10 ; CELADON_MART_5 - EVENT_DISP $a, $1, $1 ; CELADON_MART_ELEVATOR - -CeladonMart4Blocks: ; 0x483a1 40 - INCBIN "maps/celadonmart4.blk" - -CeladonMartRoof_h: ; 0x483c9 to 0x483d5 (12 bytes) (bank=12) (id=126) - db $12 ; tileset - db CELADON_MART_5_HEIGHT, CELADON_MART_5_WIDTH ; dimensions (y, x) - dw CeladonMartRoofBlocks, CeladonMartRoofTexts, CeladonMartRoofScript ; blocks, texts, scripts - db $00 ; connections - - dw CeladonMartRoofObject ; objects - -CeladonMartRoofScript: ; 0x483d5 - jp $3c3c -; 0x483d8 - -INCBIN "baserom.gbc",$483d8,$484ee - $483d8 - -UnnamedText_484ee: ; 0x484ee - TX_FAR _UnnamedText_484ee - db $50 -; 0x484ee + 5 bytes - -INCBIN "baserom.gbc",$484f3,$68 - -CeladonMartRoofTexts: ; 0x4855b - dw CeladonMartRoofText1, CeladonMartRoofText2, CeladonMartRoofText5, CeladonMartRoofText5, CeladonMartRoofText5, CeladonMartRoofText6 - -CeladonMartRoofText1: ; 0x48567 - TX_FAR _CeladonMartRoofText1 - db $50 - -CeladonMartRoofText2: ; 0x4856c - db $08 ; asm - call $43d8 - ld a, [$cd37] - and a - jr z, .asm_914b9 ; 0x48574 - ld a, $1 - ld [$cc3c], a - ld hl, CeladonMartRoofText4 - call PrintText - call $35ec - ld a, [$cc26] - and a - jr nz, .asm_05aa4 ; 0x48588 - call $440c - jr .asm_05aa4 ; 0x4858d -.asm_914b9 ; 0x4858f - ld hl, CeladonMartRoofText3 - call PrintText -.asm_05aa4 ; 0x48595 - jp TextScriptEnd - -CeladonMartRoofText3: ; 0x48598 - TX_FAR _UnnamedText_48598 - db $50 -; 0x48598 + 5 bytes - -CeladonMartRoofText4: -UnnamedText_4859d: ; 0x4859d - TX_FAR _UnnamedText_4859d - db $50 -; 0x4859d + 5 bytes - -CeladonMartRoofText5: ; 0x485a2 - db $f5 - -CeladonMartRoofText6: ; 0x485a3 - TX_FAR _CeladonMartRoofText6 - db $50 - -CeladonMartRoofObject: ; 0x485a8 (size=36) - db $42 ; border tile - - db $1 ; warps - db $2, $f, $0, CELADON_MART_5 - - db $4 ; signs - db $1, $a, $3 ; CeladonMartRoofText3 - db $1, $b, $4 ; CeladonMartRoofText4 - db $2, $c, $5 ; CeladonMartRoofText5 - db $2, $d, $6 ; CeladonMartRoofText6 - - db $2 ; people - db SPRITE_BLACK_HAIR_BOY_2, $4 + 4, $a + 4, $ff, $d2, $1 ; person - db SPRITE_LITTLE_GIRL, $5 + 4, $5 + 4, $fe, $0, $2 ; person - - ; warp-to - EVENT_DISP $a, $2, $f ; CELADON_MART_5 - -CeladonMartRoofBlocks: ; 0x485cc 40 - INCBIN "maps/celadonmart5.blk" - -CeladonMartElevator_h: ; 0x485f4 to 0x48600 (12 bytes) (bank=12) (id=127) - db $12 ; tileset - db CELADON_MART_6_HEIGHT, CELADON_MART_6_WIDTH ; dimensions (y, x) - dw CeladonMartElevatorBlocks, CeladonMartElevatorTexts, CeladonMartElevatorScript ; blocks, texts, scripts - db $00 ; connections - - dw CeladonMartElevatorObject ; objects - -CeladonMartElevatorScript: ; 0x48600 - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - push hl - call nz, CeladonMartElevatorScript_Unknown4861c - pop hl - bit 7, [hl] - res 7, [hl] - call nz, $4654 - xor a - ld [$cf0c], a - inc a - ld [$cc3c], a - ret -; 0x4861c - -CeladonMartElevatorScript_Unknown4861c: ; 0x4861c -INCBIN "baserom.gbc",$4861c,$40 - -CeladonMartElevatorTexts: ; 0x4865c - dw CeladonMartElevatorText1 - -CeladonMartElevatorText1: ; 0x4865e - db $08 ; asm - call $4631 - ld hl, $464a - ld a, $61 - call Predef - jp TextScriptEnd - -CeladonMartElevatorObject: ; 0x4866d (size=23) - db $f ; border tile - - db $2 ; warps - db $3, $1, $5, CELADON_MART_1 - db $3, $2, $5, CELADON_MART_1 - - db $1 ; signs - db $0, $3, $1 ; CeladonMartElevatorText1 - - db $0 ; people - - ; warp-to - EVENT_DISP $2, $3, $1 ; CELADON_MART_1 - EVENT_DISP $2, $3, $2 ; CELADON_MART_1 - -CeladonMartElevatorBlocks: ; 0x48684 4 - INCBIN "maps/celadonmart6.blk" - -CeladonMansion1_h: ; 0x48688 to 0x48694 (12 bytes) (bank=12) (id=128) - db $13 ; tileset - db CELADON_MANSION_1_HEIGHT, CELADON_MANSION_1_WIDTH ; dimensions (y, x) - dw CeladonMansion1Blocks, CeladonMansion1Texts, CeladonMansion1Script ; blocks, texts, scripts - db $00 ; connections - - dw CeladonMansion1Object ; objects - -CeladonMansion1Script: ; 0x48694 - jp $3c3c -; 0x48697 - -CeladonMansion1Texts: ; 0x48697 - dw CeladonMansion1Text1, CeladonMansion1Text2, CeladonMansion1Text3, CeladonMansion1Text4, CeladonMansion1Text5 - -;0x486a1 - call $13d0 - jp TextScriptEnd -; 0x486a7 - -CeladonMansion1Text1: ; 0x486a7 - TX_FAR _CeladonMansion1Text1 - db $08 ; asm - ld a, $4d - jp $46a1 - -CeladonMansion1Text2: ; 0x486b1 - TX_FAR _CeladonMansion1Text2 - db $50 - -CeladonMansion1Text3: ; 0x486b6 - TX_FAR _CeladonMansion1Text3 - db $8 - ld a, $4 - jp $46a1 -; 0x486c0 - -CeladonMansion1Text4: ; 0x486c0 - TX_FAR _CeladonMansion1Text4 - db $8 - ld a, $f - jp $46a1 -; 0x486ca - -CeladonMansion1Text5: ; 0x486ca - TX_FAR _CeladonMansion1Text5 - db $50 - -CeladonMansion1Object: ; 0x486cf (size=71) - db $f ; border tile - - db $5 ; warps - db $b, $4, $2, $ff - db $b, $5, $2, $ff - db $0, $4, $4, $ff - db $1, $7, $1, CELADON_MANSION_2 - db $1, $2, $2, CELADON_MANSION_2 - - db $1 ; signs - db $9, $4, $5 ; CeladonMansion1Text5 - - db $4 ; people - db SPRITE_SLOWBRO, $5 + 4, $0 + 4, $ff, $d3, $1 ; person - db SPRITE_OLD_MEDIUM_WOMAN, $5 + 4, $1 + 4, $ff, $d0, $2 ; person - db SPRITE_CLEFAIRY, $8 + 4, $1 + 4, $fe, $2, $3 ; person - db SPRITE_SLOWBRO, $4 + 4, $4 + 4, $fe, $1, $4 ; person - - ; warp-to - EVENT_DISP $4, $b, $4 - EVENT_DISP $4, $b, $5 - EVENT_DISP $4, $0, $4 - EVENT_DISP $4, $1, $7 ; CELADON_MANSION_2 - EVENT_DISP $4, $1, $2 ; CELADON_MANSION_2 - -CeladonMansion1Blocks: ; 0x48716 24 - INCBIN "maps/celadonmansion1.blk" - -CeladonMansion2_h: ; 0x4872e to 0x4873a (12 bytes) (bank=12) (id=129) - db $13 ; tileset - db CELADON_MANSION_2_HEIGHT, CELADON_MANSION_2_WIDTH ; dimensions (y, x) - dw CeladonMansion2Blocks, CeladonMansion2Texts, CeladonMansion2Script ; blocks, texts, scripts - db $00 ; connections - - dw CeladonMansion2Object ; objects - -CeladonMansion2Script: ; 0x4873a - call $3c3c - ret -; 0x4873e - -CeladonMansion2Texts: ; 0x4873e - dw CeladonMansion2Text1 - -CeladonMansion2Text1: ; 0x48740 - TX_FAR _CeladonMansion2Text1 - db $50 - -CeladonMansion2Object: ; 0x48745 (size=39) - db $f ; border tile - - db $4 ; warps - db $1, $6, $0, CELADON_MANSION_3 - db $1, $7, $3, CELADON_MANSION_1 - db $1, $2, $4, CELADON_MANSION_1 - db $1, $4, $3, CELADON_MANSION_3 - - db $1 ; signs - db $9, $4, $1 ; CeladonMansion2Text1 - - db $0 ; people - - ; warp-to - EVENT_DISP $4, $1, $6 ; CELADON_MANSION_3 - EVENT_DISP $4, $1, $7 ; CELADON_MANSION_1 - EVENT_DISP $4, $1, $2 ; CELADON_MANSION_1 - EVENT_DISP $4, $1, $4 ; CELADON_MANSION_3 - -CeladonMansion2Blocks: ; 0x4876c 24 - INCBIN "maps/celadonmansion2.blk" - -CeladonMansion3_h: ; 0x48784 to 0x48790 (12 bytes) (bank=12) (id=130) - db $13 ; tileset - db CELADON_MANSION_3_HEIGHT, CELADON_MANSION_3_WIDTH ; dimensions (y, x) - dw CeladonMansion3Blocks, CeladonMansion3Texts, CeladonMansion3Script ; blocks, texts, scripts - db $00 ; connections - - dw CeladonMansion3Object ; objects - -CeladonMansion3Script: ; 0x48790 - jp $3c3c -; 0x48793 - -CeladonMansion3Texts: ; 0x48793 - dw CeladonMansion3Text1, CeladonMansion3Text2, CeladonMansion3Text3, CeladonMansion3Text4, CeladonMansion3Text5, CeladonMansion3Text6, CeladonMansion3Text7, CeladonMansion3Text8 - -CeladonMansion3Text1: ; 0x487a3 - TX_FAR _CeladonMansion3Text1 - db $50 - -CeladonMansion3Text2: ; 0x487a8 - TX_FAR _CeladonMansion3Text2 - db $50 - -CeladonMansion3Text3: ; 0x487ad - TX_FAR _CeladonMansion3Text3 - db $50 - -CeladonMansion3Text4: ; 0x487b2 - db $08 ; asm - ld hl, $d2f7 - ld b, $13 - call $2b7f - ld a, [$d11e] - cp $96 - jr nc, .asm_f03d0 ; 0x487c0 - ld hl, UnnamedText_487d0 - jr .asm_c13f0 ; 0x487c5 -.asm_f03d0 ; 0x487c7 - ld hl, UnnamedText_487d5 -.asm_c13f0 ; 0x487ca - call PrintText - jp TextScriptEnd - -UnnamedText_487d0: ; 0x487d0 - TX_FAR _UnnamedText_487d0 - db $50 -; 0x487d5 - -UnnamedText_487d5: ; 0x487d5 - TX_FAR _UnnamedText_487d5 ; 0x9d0ad - db $6 - db $8 - ld hl, $66e2 - ld b, $15 - call Bankswitch - ld a, $1 - ld [$cc3c], a - jp TextScriptEnd -; 0x487eb - -CeladonMansion3Text5: ; 0x487eb - TX_FAR _CeladonMansion3Text5 - db $50 - -CeladonMansion3Text6: ; 0x487f0 - TX_FAR _CeladonMansion3Text6 - db $50 - -CeladonMansion3Text7: ; 0x487f5 - TX_FAR _CeladonMansion3Text7 - db $50 - -CeladonMansion3Text8: ; 0x487fa - TX_FAR _CeladonMansion3Text8 - db $50 - -CeladonMansion3Object: ; 0x487ff (size=72) - db $f ; border tile - - db $4 ; warps - db $1, $6, $0, CELADON_MANSION_2 - db $1, $7, $0, CELADON_MANSION_4 - db $1, $2, $1, CELADON_MANSION_4 - db $1, $4, $3, CELADON_MANSION_2 - - db $4 ; signs - db $3, $1, $5 ; CeladonMansion3Text5 - db $3, $4, $6 ; CeladonMansion3Text6 - db $6, $1, $7 ; CeladonMansion3Text7 - db $9, $4, $8 ; CeladonMansion3Text8 - - db $4 ; people - db SPRITE_BIKE_SHOP_GUY, $4 + 4, $0 + 4, $ff, $d1, $1 ; person - db SPRITE_MART_GUY, $4 + 4, $3 + 4, $ff, $d1, $2 ; person - db SPRITE_BLACK_HAIR_BOY_2, $7 + 4, $0 + 4, $ff, $d1, $3 ; person - db SPRITE_LAPRAS_GIVER, $3 + 4, $2 + 4, $ff, $ff, $4 ; person - - ; warp-to - EVENT_DISP $4, $1, $6 ; CELADON_MANSION_2 - EVENT_DISP $4, $1, $7 ; CELADON_MANSION_4 - EVENT_DISP $4, $1, $2 ; CELADON_MANSION_4 - EVENT_DISP $4, $1, $4 ; CELADON_MANSION_2 - -CeladonMansion3Blocks: ; 0x48847 24 - INCBIN "maps/celadonmansion3.blk" - -CeladonMansion4_h: ; 0x4885f to 0x4886b (12 bytes) (bank=12) (id=131) - db $13 ; tileset - db CELADON_MANSION_4_HEIGHT, CELADON_MANSION_4_WIDTH ; dimensions (y, x) - dw CeladonMansion4Blocks, CeladonMansion4Texts, CeladonMansion4Script ; blocks, texts, scripts - db $00 ; connections - - dw CeladonMansion4Object ; objects - -CeladonMansion4Script: ; 0x4886b - jp $3c3c -; 0x4886e - -CeladonMansion4Texts: ; 0x4886e - dw CeladonMansion4Text1 - -CeladonMansion4Text1: ; 0x48870 - TX_FAR _CeladonMansion4Text1 - db $50 - -CeladonMansion4Object: ; 0x48875 (size=31) - db $9 ; border tile - - db $3 ; warps - db $1, $6, $1, CELADON_MANSION_3 - db $1, $2, $2, CELADON_MANSION_3 - db $7, $2, $0, CELADON_MANSION_5 - - db $1 ; signs - db $7, $3, $1 ; CeladonMansion4Text1 - - db $0 ; people - - ; warp-to - EVENT_DISP $4, $1, $6 ; CELADON_MANSION_3 - EVENT_DISP $4, $1, $2 ; CELADON_MANSION_3 - EVENT_DISP $4, $7, $2 ; CELADON_MANSION_5 - -CeladonMansion4Blocks: ; 0x48894 24 - INCBIN "maps/celadonmansion4.blk" - -CeladonPokecenter_h: ; 0x488ac to 0x488b8 (12 bytes) (bank=12) (id=133) - db $06 ; tileset - db CELADON_POKECENTER_HEIGHT, CELADON_POKECENTER_WIDTH ; dimensions (y, x) - dw CeladonPokecenterBlocks, CeladonPokecenterTexts, CeladonPokecenterScript ; blocks, texts, scripts - db $00 ; connections - - dw CeladonPokecenterObject ; objects - -CeladonPokecenterScript: ; 0x488b8 - call $22fa - jp $3c3c -; 0x488be - -CeladonPokecenterTexts: - dw CeladonPokecenterText1, CeladonPokecenterText2, CeladonPokecenterText3, CeladonPokecenterText4 - -CeladonPokecenterText4: - db $f6 - -CeladonPokecenterText1: - db $ff - -CeladonPokecenterText2: ; 0x488c8 - TX_FAR _CeladonPokecenterText2 - db $50 - -CeladonPokecenterText3: ; 0x488cd - TX_FAR _CeladonPokecenterText3 - db $50 - -CeladonPokecenterObject: ; 0x488d2 (size=44) - db $0 ; border tile - - db $2 ; warps - db $7, $3, $5, $ff - db $7, $4, $5, $ff - - db $0 ; signs - - db $4 ; people - db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person - db SPRITE_GENTLEMAN, $3 + 4, $7 + 4, $fe, $2, $2 ; person - db SPRITE_FOULARD_WOMAN, $5 + 4, $a + 4, $fe, $0, $3 ; person - db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person - - ; warp-to - EVENT_DISP $7, $7, $3 - EVENT_DISP $7, $7, $4 - -CeladonGym_h: ; 0x488fe to 0x4890a (12 bytes) (bank=12) (id=134) - db $07 ; tileset - db CELADON_GYM_HEIGHT, CELADON_GYM_WIDTH ; dimensions (y, x) - dw CeladonGymBlocks, CeladonGymTexts, CeladonGymScript ; blocks, texts, scripts - db $00 ; connections - - dw CeladonGymObject ; objects - -CeladonGymScript: ; 0x4890a - ld hl, $d126 - bit 6, [hl] - res 6, [hl] - call nz, CeladonGymScript_Unknown48927 - call $3c3c - ld hl, CeladonGymTrainerHeaders - ld de, $494e - ld a, [$d5ff] - call $3160 - ld [$d5ff], a - ret -; 0x48927 - -CeladonGymScript_Unknown48927: ; 0x48927 -INCBIN "baserom.gbc",$48927,$7f - -CeladonGymTexts: ; 0x489a6 - dw CeladonGymText1, CeladonGymText2, CeladonGymText3, CeladonGymText4, CeladonGymText5, CeladonGymText6, CeladonGymText7, CeladonGymText8, CeladonGymText9, TM21Text, TM21NoRoomText - -CeladonGymTrainerHeaders: -TrainerHeader_489bc: ; 0x489bc - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d77c ; flag's byte - dw UnnamedText_48a8b ; 0x4a8b TextBeforeBattle - dw UnnamedText_48a95 ; 0x4a95 TextAfterBattle - dw UnnamedText_48a90 ; 0x4a90 TextEndBattle - dw UnnamedText_48a90 ; 0x4a90 TextEndBattle -; 0x489c8 - -TrainerHeader_489c8: ; 0x489c8 - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d77c ; flag's byte - dw UnnamedText_48aa4 ; 0x4aa4 TextBeforeBattle - dw UnnamedText_48aae ; 0x4aae TextAfterBattle - dw UnnamedText_48aa9 ; 0x4aa9 TextEndBattle - dw UnnamedText_48aa9 ; 0x4aa9 TextEndBattle -; 0x489d4 - -TrainerHeader_489d4: ; 0x489d4 - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d77c ; flag's byte - dw UnnamedText_48abd ; 0x4abd TextBeforeBattle - dw UnnamedText_48ac7 ; 0x4ac7 TextAfterBattle - dw UnnamedText_48ac2 ; 0x4ac2 TextEndBattle - dw UnnamedText_48ac2 ; 0x4ac2 TextEndBattle -; 0x489e0 - -TrainerHeader_489e0: ; 0x489e0 - db $5 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d77c ; flag's byte - dw UnnamedText_48ad6 ; 0x4ad6 TextBeforeBattle - dw UnnamedText_48ae0 ; 0x4ae0 TextAfterBattle - dw UnnamedText_48adb ; 0x4adb TextEndBattle - dw UnnamedText_48adb ; 0x4adb TextEndBattle -; 0x489ec - -TrainerHeader_489ec: ; 0x489ec - db $6 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d77c ; flag's byte - dw UnnamedText_48aef ; 0x4aef TextBeforeBattle - dw UnnamedText_48af9 ; 0x4af9 TextAfterBattle - dw UnnamedText_48af4 ; 0x4af4 TextEndBattle - dw UnnamedText_48af4 ; 0x4af4 TextEndBattle -; 0x489f8 - -TrainerHeader_489f8: ; 0x489f8 - db $7 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d77c ; flag's byte - dw UnnamedText_48b08 ; 0x4b08 TextBeforeBattle - dw UnnamedText_48b12 ; 0x4b12 TextAfterBattle - dw UnnamedText_48b0d ; 0x4b0d TextEndBattle - dw UnnamedText_48b0d ; 0x4b0d TextEndBattle -; 0x48a04 - -TrainerHeader_48a04: ; 0x48a04 - db $8 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d77c ; flag's byte - dw UnnamedText_48b21 ; 0x4b21 TextBeforeBattle - dw UnnamedText_48b2b ; 0x4b2b TextAfterBattle - dw UnnamedText_48b26 ; 0x4b26 TextEndBattle - dw UnnamedText_48b26 ; 0x4b26 TextEndBattle -; 0x48a10 - -db $ff - -CeladonGymText1: ; 0x48a11 - db $08 ; asm - ld a, [$d77c] - bit 1, a - jr z, .asm_16064 ; 0x48a17 - bit 0, a - jr nz, .asm_3b22c ; 0x48a1b - call z, $4963 - call $30b6 - jr .asm_96252 ; 0x48a23 -.asm_3b22c ; 0x48a25 - ld hl, UnnamedText_48a68 - call PrintText - jr .asm_96252 ; 0x48a2b -.asm_16064 ; 0x48a2d - ld hl, UnnamedText_48a5e - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, $4a63 - ld de, $4a63 - call $3354 - ldh a, [$8c] - ld [$cf13], a - call $336a - call $32d7 - ld a, $4 - ld [$d05c], a - ld a, $3 - ld [$d5ff], a - ld [$da39], a -.asm_96252 ; 0x48a5b - jp TextScriptEnd - -UnnamedText_48a5e: ; 0x48a5e - TX_FAR _UnnamedText_48a5e - db $50 -; 0x48a5e + 5 bytes - -UnnamedText_48a63: ; 0x48a63 - TX_FAR _UnnamedText_48a63 - db $50 -; 0x48a63 + 5 bytes - -UnnamedText_48a68: ; 0x48a68 - TX_FAR _UnnamedText_48a68 - db $50 -; 0x48a68 + 5 bytes - -CeladonGymText9: ; 0x48a6d -UnnamedText_48a6d: ; 0x48a6d - TX_FAR _UnnamedText_48a6d - db $50 -; 0x48a6d + 5 bytes - -TM21Text: ; 0x48a72 - TX_FAR _ReceivedTM21Text ; 0x9d50c - db $0B - TX_FAR _TM21ExplanationText ; 0x9d520 - db $50 -; 0x48a7c - -TM21NoRoomText: ; 0x48a7c - TX_FAR _TM21NoRoomText - db $50 -; 0x48a7c + 5 bytes - -CeladonGymText2: ; 0x48a81 - db $08 ; asm - ld hl, TrainerHeader_489bc - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_48a8b: ; 0x48a8b - TX_FAR _UnnamedText_48a8b - db $50 -; 0x48a8b + 5 bytes - -UnnamedText_48a90: ; 0x48a90 - TX_FAR _UnnamedText_48a90 - db $50 -; 0x48a90 + 5 bytes - -UnnamedText_48a95: ; 0x48a95 - TX_FAR _UnnamedText_48a95 - db $50 -; 0x48a95 + 5 bytes - -CeladonGymText3: ; 0x48a9a - db $08 ; asm - ld hl, TrainerHeader_489c8 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_48aa4: ; 0x48aa4 - TX_FAR _UnnamedText_48aa4 - db $50 -; 0x48aa4 + 5 bytes - -UnnamedText_48aa9: ; 0x48aa9 - TX_FAR _UnnamedText_48aa9 - db $50 -; 0x48aa9 + 5 bytes - -UnnamedText_48aae: ; 0x48aae - TX_FAR _UnnamedText_48aae - db $50 -; 0x48aae + 5 bytes - -CeladonGymText4: ; 0x48ab3 - db $08 ; asm - ld hl, TrainerHeader_489d4 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_48abd: ; 0x48abd - TX_FAR _UnnamedText_48abd - db $50 -; 0x48abd + 5 bytes - -UnnamedText_48ac2: ; 0x48ac2 - TX_FAR _UnnamedText_48ac2 - db $50 -; 0x48ac2 + 5 bytes - -UnnamedText_48ac7: ; 0x48ac7 - TX_FAR _UnnamedText_48ac7 - db $50 -; 0x48ac7 + 5 bytes - -CeladonGymText5: ; 0x48acc - db $08 ; asm - ld hl, TrainerHeader_489e0 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_48ad6: ; 0x48ad6 - TX_FAR _UnnamedText_48ad6 - db $50 -; 0x48ad6 + 5 bytes - -UnnamedText_48adb: ; 0x48adb - TX_FAR _UnnamedText_48adb - db $50 -; 0x48adb + 5 bytes - -UnnamedText_48ae0: ; 0x48ae0 - TX_FAR _UnnamedText_48ae0 - db $50 -; 0x48ae0 + 5 bytes - -CeladonGymText6: ; 0x48ae5 - db $08 ; asm - ld hl, TrainerHeader_489ec - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_48aef: ; 0x48aef - TX_FAR _UnnamedText_48aef - db $50 -; 0x48aef + 5 bytes - -UnnamedText_48af4: ; 0x48af4 - TX_FAR _UnnamedText_48af4 - db $50 -; 0x48af4 + 5 bytes - -UnnamedText_48af9: ; 0x48af9 - TX_FAR _UnnamedText_48af9 - db $50 -; 0x48af9 + 5 bytes - -CeladonGymText7: ; 0x48afe - db $08 ; asm - ld hl, TrainerHeader_489f8 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_48b08: ; 0x48b08 - TX_FAR _UnnamedText_48b08 - db $50 -; 0x48b08 + 5 bytes - -UnnamedText_48b0d: ; 0x48b0d - TX_FAR _UnnamedText_48b0d - db $50 -; 0x48b0d + 5 bytes - -UnnamedText_48b12: ; 0x48b12 - TX_FAR _UnnamedText_48b12 - db $50 -; 0x48b12 + 5 bytes - -CeladonGymText8: ; 0x48b17 - db $08 ; asm - ld hl, TrainerHeader_48a04 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_48b21: ; 0x48b21 - TX_FAR _UnnamedText_48b21 - db $50 -; 0x48b21 + 5 bytes - -UnnamedText_48b26: ; 0x48b26 - TX_FAR _UnnamedText_48b26 - db $50 -; 0x48b26 + 5 bytes - -UnnamedText_48b2b: ; 0x48b2b - TX_FAR _UnnamedText_48b2b - db $50 -; 0x48b2b + 5 bytes - -CeladonGymObject: ; 0x48b30 (size=84) - db $3 ; border tile - - db $2 ; warps - db $11, $4, $6, $ff - db $11, $5, $6, $ff - - db $0 ; signs - - db $8 ; people - db SPRITE_ERIKA, $3 + 4, $4 + 4, $ff, $d0, $41, ERIKA + $C8, $1 ; trainer - db SPRITE_LASS, $b + 4, $2 + 4, $ff, $d3, $42, LASS + $C8, $11 ; trainer - db SPRITE_FOULARD_WOMAN, $a + 4, $7 + 4, $ff, $d2, $43, BEAUTY + $C8, $1 ; trainer - db SPRITE_LASS, $5 + 4, $9 + 4, $ff, $d0, $44, JR__TRAINER_F + $C8, $b ; trainer - db SPRITE_FOULARD_WOMAN, $5 + 4, $1 + 4, $ff, $d0, $45, BEAUTY + $C8, $2 ; trainer - db SPRITE_LASS, $3 + 4, $6 + 4, $ff, $d0, $46, LASS + $C8, $12 ; trainer - db SPRITE_FOULARD_WOMAN, $3 + 4, $3 + 4, $ff, $d0, $47, BEAUTY + $C8, $3 ; trainer - db SPRITE_LASS, $3 + 4, $5 + 4, $ff, $d0, $48, COOLTRAINER_F + $C8, $1 ; trainer - - ; warp-to - EVENT_DISP $5, $11, $4 - EVENT_DISP $5, $11, $5 - -CeladonGymBlocks: ; 0x48b84 45 - INCBIN "maps/celadongym.blk" - -CeladonGameCorner_h: ; 0x48bb1 to 0x48bbd (12 bytes) (bank=12) (id=135) - db $12 ; tileset - db GAME_CORNER_HEIGHT, GAME_CORNER_WIDTH ; dimensions (y, x) - dw CeladonGameCornerBlocks, CeladonGameCornerTexts, CeladonGameCornerScript ; blocks, texts, scripts - db $00 ; connections - - dw CeladonGameCornerObject ; objects - -CeladonGameCornerScript: ; 0x48bbd - call Unknown_48bcf - call $4bec - call $3c3c - ld hl, CeladonGameCornerScripts - ld a, [$d65f] - jp $3d97 -; 0x48bcf - -Unknown_48bcf: ; 0x48bcf -INCBIN "baserom.gbc",$48bcf,$48c12 - $48bcf - -CeladonGameCornerScripts: ; 0x48c12 - dw CeladonGameCornerScript0, CeladonGameCornerScript1 - -INCBIN "baserom.gbc",$48c16,$2 - -CeladonGameCornerScript0: ; 0x48c18 - ret -; 0x48c19 - -CeladonGameCornerScript1: ; 0x48c19 -INCBIN "baserom.gbc",$48c19,$71 - -CeladonGameCornerTexts: ; 0x48c8a - dw CeladonGameCornerText1, CeladonGameCornerText2, CeladonGameCornerText3, CeladonGameCornerText4, CeladonGameCornerText5, CeladonGameCornerText6, CeladonGameCornerText7, CeladonGameCornerText8, CeladonGameCornerText9, CeladonGameCornerText10, CeladonGameCornerText11, CeladonGameCornerText12, CeladonGameCornerText13 - -CeladonGameCornerText1: ; 0x48ca4 - TX_FAR _CeladonGameCornerText1 - db $50 - -CeladonGameCornerText2: ; 0x48ca9 - db $08 ; asm - call $4f1e - ld hl, UnnamedText_48d22 - call PrintText - call $35ec - ld a, [$cc26] - and a - jr nz, .asm_c650b ; 0x48cba - ld b,COIN_CASE - call $3493 - jr z, .asm_ed086 ; 0x48cc1 - call $4f95 - jr nc, .asm_31338 ; 0x48cc6 - xor a - ldh [$9f], a - ldh [$a1], a - ld a, $10 - ldh [$a0], a - call $35a6 - jr nc, .asm_b6ef0 ; 0x48cd4 - ld hl, $4d31 - jr .asm_e2afd ; 0x48cd9 -.asm_b6ef0 ; 0x48cdb - xor a - ldh [$9f], a - ldh [$a1], a - ld a, $10 - ldh [$a0], a - ld hl, $ffa1 - ld de, $d349 - ld c, $3 - ld a, $c - call Predef - xor a - ldh [$9f], a - ldh [$a0], a - ld a, $50 - ldh [$a1], a - ld de, $d5a5 - ld hl, $ffa1 - ld c, $2 - ld a, $b - call Predef - call $4f1e - ld hl, UnnamedText_48d27 - jr .asm_e2afd ; 0x48d0d -.asm_c650b ; 0x48d0f - ld hl, UnnamedText_48d2c - jr .asm_e2afd ; 0x48d12 -.asm_31338 ; 0x48d14 - ld hl, UnnamedText_48d36 - jr .asm_e2afd ; 0x48d17 -.asm_ed086 ; 0x48d19 - ld hl, UnnamedText_48d3b -.asm_e2afd ; 0x48d1c - call PrintText - jp TextScriptEnd - -UnnamedText_48d22: ; 0x48d22 - TX_FAR _UnnamedText_48d22 - db $50 -; 0x48d27 - -UnnamedText_48d27: ; 0x48d27 - TX_FAR _UnnamedText_48d27 - db $50 -; 0x48d2c - -UnnamedText_48d2c: ; 0x48d2c - TX_FAR _UnnamedText_48d2c - db $50 -; 0x48d31 - -UnnamedText_48d31: ; 0x48d31 - TX_FAR _UnnamedText_48d31 - db $50 -; 0x48d36 - -UnnamedText_48d36: ; 0x48d36 - TX_FAR _UnnamedText_48d36 - db $50 -; 0x48d3b - -UnnamedText_48d3b: ; 0x48d3b - TX_FAR _UnnamedText_48d3b - db $50 -; 0x48d40 - -CeladonGameCornerText3: ; 0x48d40 - TX_FAR _CeladonGameCornerText3 - db $50 - -CeladonGameCornerText4: ; 0x48d45 - TX_FAR _CeladonGameCornerText4 - db $50 - -CeladonGameCornerText5: ; 0x48d4a - db $08 ; asm - ld a, [$d77e] - bit 2, a - jr nz, .asm_d0957 ; 0x48d50 - ld hl, UnnamedText_48d9c - call PrintText - ld b, COIN_CASE - call $3493 - jr z, .asm_5aef9 ; 0x48d5d - call $4f95 - jr nc, .asm_98546 ; 0x48d62 - xor a - ldh [$9f], a - ldh [$a0], a - ld a, $10 - ldh [$a1], a - ld de, $d5a5 - ld hl, $ffa1 - ld c, $2 - ld a, $b - call Predef - ld hl, $d77e - set 2, [hl] - ld a, $1 - ld [$cc3c], a - ld hl, Received10CoinsText - jr .asm_c7d1a ; 0x48d87 -.asm_d0957 ; 0x48d89 - ld hl, UnnamedText_48dac - jr .asm_c7d1a ; 0x48d8c -.asm_98546 ; 0x48d8e - ld hl, UnnamedText_48da7 - jr .asm_c7d1a ; 0x48d91 -.asm_5aef9 ; 0x48d93 - ld hl, UnnamedText_48f19 -.asm_c7d1a ; 0x48d96 - call PrintText - jp TextScriptEnd - -UnnamedText_48d9c: ; 0x48d9c - TX_FAR _UnnamedText_48d9c - db $50 -; 0x48d9c + 5 bytes - -Received10CoinsText: ; 0x48da1 - TX_FAR _Received10CoinsText ; 0x9daa9 - db $0B, $50 - -UnnamedText_48da7: ; 0x48da7 - TX_FAR _UnnamedText_48da7 - db $50 -; 0x48da7 + 5 bytes - -UnnamedText_48dac: ; 0x48dac - TX_FAR _UnnamedText_48dac - db $50 -; 0x48dac + 5 bytes - -CeladonGameCornerText6: ; 0x48db1 - TX_FAR _CeladonGameCornerText6 - db $50 - -CeladonGameCornerText7: ; 0x48db6 - db $08 ; asm - ld a, [$d77c] - bit 1, a - ld hl, $4dca - jr z, .asm_be3fd ; 0x48dbf - ld hl, $4dcf -.asm_be3fd ; 0x48dc4 - call PrintText - jp TextScriptEnd - -UnnamedText_48dca: ; 0x48dca - TX_FAR _UnnamedText_48dca - db $50 -; 0x48dca + 5 bytes - -UnnamedText_48dcf: ; 0x48dcf - TX_FAR _UnnamedText_48dcf - db $50 -; 0x48dcf + 5 bytes - -CeladonGameCornerText8: ; 0x48dd4 - TX_FAR _CeladonGameCornerText8 - db $50 - -CeladonGameCornerText9: ; 0x48dd9 - db $08 ; asm - ld a, [$d77e] - bit 4, a - jr nz, .asm_ed8bc ; 0x48ddf - ld hl, UnnamedText_48e26 - call PrintText - ld b, COIN_CASE - call $3493 - jr z, .asm_df794 ; 0x48dec - call $4f95 - jr nc, .asm_f17c3 ; 0x48df1 - xor a - ldh [$9f], a - ldh [$a0], a - ld a, $20 - ldh [$a1], a - ld de, $d5a5 - ld hl, $ffa1 - ld c, $2 - ld a, $b - call Predef - ld hl, $d77e - set 4, [hl] - ld hl, Received20CoinsText - jr .asm_0ddc2 ; 0x48e11 -.asm_ed8bc ; 0x48e13 - ld hl, UnnamedText_48e36 - jr .asm_0ddc2 ; 0x48e16 -.asm_f17c3 ; 0x48e18 - ld hl, UnnamedText_48e31 - jr .asm_0ddc2 ; 0x48e1b -.asm_df794 ; 0x48e1d - ld hl, UnnamedText_48f19 -.asm_0ddc2 ; 0x48e20 - call PrintText - jp TextScriptEnd - -UnnamedText_48e26: ; 0x48e26 - TX_FAR _UnnamedText_48e26 - db $50 -; 0x48e26 + 5 bytes - -Received20CoinsText: ; 0x48e2b - TX_FAR _Received20CoinsText ; 0x9dc4f - db $0B, $50 -; 0x48e31 - -UnnamedText_48e31: ; 0x48e31 - TX_FAR _UnnamedText_48e31 - db $50 -; 0x48e31 + 5 bytes - -UnnamedText_48e36: ; 0x48e36 - TX_FAR _UnnamedText_48e36 - db $50 -; 0x48e36 + 5 bytes - -CeladonGameCornerText10: ; 0x48e3b - db $08 ; asm - ld a, [$d77e] - bit 3, a - jr nz, .asm_ff080 ; 0x48e41 - ld hl, $4e88 - call PrintText - ld b,COIN_CASE - call $3493 - jr z, .asm_4fb0c ; 0x48e4e - call $4f95 - jr z, .asm_9505a ; 0x48e53 - xor a - ldh [$9f], a - ldh [$a0], a - ld a, $20 - ldh [$a1], a - ld de, $d5a5 - ld hl, $ffa1 - ld c, $2 - ld a, $b - call Predef - ld hl, $d77e - set 3, [hl] - ld hl, UnnamedText_48e8d - jr .asm_78d65 ; 0x48e73 -.asm_ff080 ; 0x48e75 - ld hl, UnnamedText_48e98 - jr .asm_78d65 ; 0x48e78 -.asm_9505a ; 0x48e7a - ld hl, UnnamedText_48e93 - jr .asm_78d65 ; 0x48e7d -.asm_4fb0c ; 0x48e7f - ld hl, UnnamedText_48f19 -.asm_78d65 ; 0x48e82 - call PrintText - jp TextScriptEnd - -UnnamedText_48e88: ; 0x48e88 - TX_FAR _UnnamedText_48e88 - db $50 -; 0x48e88 + 5 bytes - -UnnamedText_48e8d: ; 0x48e8d - TX_FAR _UnnamedText_48e8d ; 0x9dceb - db $0B, $50 -; 0x48e93 - -UnnamedText_48e93: ; 0x48e93 - TX_FAR _UnnamedText_48e93 - db $50 -; 0x48e93 + 5 bytes - -UnnamedText_48e98: ; 0x48e98 - TX_FAR _UnnamedText_48e98 - db $50 -; 0x48e98 + 5 bytes - -CeladonGameCornerText11: ; 0x48e9d - db $08 ; asm - ld hl, UnnamedText_48ece - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, UnnamedText_48ed3 - ld de, $4ed3 ; maybe UnnamedText_48ed3 - call $3354 - ldh a, [$8c] - ld [$cf13], a - call $336a - call $32d7 - xor a - ldh [$b4], a - ldh [$b3], a - ldh [$b2], a - ld a, $1 - ld [$d65f], a - jp TextScriptEnd - -UnnamedText_48ece: ; 0x48ece - TX_FAR _UnnamedText_48ece - db $50 -; 0x48ece + 5 bytes - -UnnamedText_48ed3: ; 0x48ed3 - TX_FAR _UnnamedText_48ed3 - db $50 -; 0x48ed3 + 5 bytes - -CeladonGameCornerText13: ; 0x48ed8 - TX_FAR _UnnamedText_48ed8 - db $50 -; 0x48ed8 + 5 bytes - -CeladonGameCornerText12: ; 0x48edd - db $08 ; asm - ld a, $1 - ld [$cc3c], a - ld hl, UnnamedText_48f09 - call PrintText - call $3748 - ld a, $ad - call $23b1 - call $3748 - ld hl, $d77e - set 1, [hl] - ld a, $43 - ld [$d09f], a - ld bc, $0208 - ld a, $17 - call Predef - jp TextScriptEnd - -UnnamedText_48f09: ; 0x48f09 - TX_FAR _UnnamedText_48f09 ; 0x9ddb0 - db $8 - ld a, $9d - call $23b1 - call $3748 - jp TextScriptEnd -; 0x48f19 - -UnnamedText_48f19: ; 0x48f19 - TX_FAR _UnnamedText_48f19 - db $50 -; 0x48f19 + 5 bytes - -INCBIN "baserom.gbc",$48f1e,$82 - -CeladonGameCornerObject: ; 0x48fa0 (size=99) - db $f ; border tile - - db $3 ; warps - db $11, $f, $7, $ff - db $11, $10, $7, $ff - db $4, $11, $1, ROCKET_HIDEOUT_1 - - db $1 ; signs - db $4, $9, $c ; CeladonGameCornerText12 - - db $b ; people - db SPRITE_FOULARD_WOMAN, $6 + 4, $2 + 4, $ff, $d0, $1 ; person - db SPRITE_MART_GUY, $6 + 4, $5 + 4, $ff, $d0, $2 ; person - db SPRITE_FAT_BALD_GUY, $a + 4, $2 + 4, $ff, $d2, $3 ; person - db SPRITE_FOULARD_WOMAN, $d + 4, $2 + 4, $ff, $d2, $4 ; person - db SPRITE_FISHER, $b + 4, $5 + 4, $ff, $d3, $5 ; person - db SPRITE_MOM_GEISHA, $b + 4, $8 + 4, $ff, $d2, $6 ; person - db SPRITE_GYM_HELPER, $e + 4, $8 + 4, $ff, $d2, $7 ; person - db SPRITE_GAMBLER, $f + 4, $b + 4, $ff, $d3, $8 ; person - db SPRITE_MART_GUY, $b + 4, $e + 4, $ff, $d2, $9 ; person - db SPRITE_GENTLEMAN, $d + 4, $11 + 4, $ff, $d3, $a ; person - db SPRITE_ROCKET, $5 + 4, $9 + 4, $ff, $d1, $4b, ROCKET + $C8, $7 ; trainer - - ; warp-to - EVENT_DISP $a, $11, $f - EVENT_DISP $a, $11, $10 - EVENT_DISP $a, $4, $11 ; ROCKET_HIDEOUT_1 - -CeladonGameCornerBlocks: ; 0x49003 90 - INCBIN "maps/celadongamecorner.blk" - -CeladonMart5_h: ; 0x4905d to 0x49069 (12 bytes) (bank=12) (id=136) - db $12 ; tileset - db CELADON_HOUSE_HEIGHT, CELADON_HOUSE_WIDTH ; dimensions (y, x) - dw CeladonMart5Blocks, CeladonMart5Texts, CeladonMart5Script ; blocks, texts, scripts - db $00 ; connections - - dw CeladonMart5Object ; objects - -CeladonMart5Script: ; 0x49069 - jp $3c3c -; 0x4906c - -CeladonMart5Texts: ; 0x4906c - dw CeladonMart5Text1, CeladonMart5Text2, CeladonMart5Text3, CeladonMart5Text4, CeladonMart5Text5 - -CeladonMart5Text1: ; 0x49076 - TX_FAR _CeladonMart5Text1 - db $50 - -CeladonMart5Text2: ; 0x4907b - TX_FAR _CeladonMart5Text2 - db $50 - -CeladonMart5Text5: ; 0x49080 - TX_FAR _CeladonMart5Text5 - db $50 - -CeladonMart5Object: ; 0x49085 (size=55) - db $f ; border tile - - db $3 ; warps - db $1, $c, $0, CELADON_MART_ROOF - db $1, $10, $1, CELADON_MART_4 - db $1, $1, $0, CELADON_MART_ELEVATOR - - db $1 ; signs - db $1, $e, $5 ; CeladonMart5Text5 - - db $4 ; people - db SPRITE_GENTLEMAN, $5 + 4, $e + 4, $fe, $1, $1 ; person - db SPRITE_SAILOR, $6 + 4, $2 + 4, $ff, $ff, $2 ; person - db SPRITE_MART_GUY, $3 + 4, $5 + 4, $ff, $d0, $3 ; person - db SPRITE_MART_GUY, $3 + 4, $6 + 4, $ff, $d0, $4 ; person - - ; warp-to - EVENT_DISP $a, $1, $c ; CELADON_MART_ROOF - EVENT_DISP $a, $1, $10 ; CELADON_MART_4 - EVENT_DISP $a, $1, $1 ; CELADON_MART_ELEVATOR - -CeladonMart5Blocks: ; 0x490bc 40 - INCBIN "maps/celadonhouse.blk" - -CeladonPrizeRoom_h: ; 0x490e4 to 0x490f0 (12 bytes) (bank=12) (id=137) - db $12 ; tileset - db CELADONPRIZE_ROOM_HEIGHT, CELADONPRIZE_ROOM_WIDTH ; dimensions (y, x) - dw CeladonPrizeRoomBlocks, CeladonPrizeRoomTexts, CeladonPrizeRoomScript ; blocks, texts, scripts - db $00 ; connections - - dw CeladonPrizeRoomObject ; objects - -CeladonPrizeRoomScript: ; 0x490f0 - jp $3c3c -; 0x490f3 - -CeladonPrizeRoomTexts: - dw CeladonPrizeRoomText1, CeladonPrizeRoomText2, CeladonPrizeRoomText3, CeladonPrizeRoomText3, CeladonPrizeRoomText3 - -CeladonPrizeRoomText1: ; 0x490fd - TX_FAR _CeladonPrizeRoomText1 - db $50 - -CeladonPrizeRoomText2: ; 0x49102 - TX_FAR _CeladonPrizeRoomText2 - db $50 - -CeladonPrizeRoomText3: ; 0x49107 - db $f7 - -CeladonPrizeRoomObject: ; 0x49108 (size=41) - db $f ; border tile - - db $2 ; warps - db $7, $4, $9, $ff - db $7, $5, $9, $ff - - db $3 ; signs - db $2, $2, $3 ; CeladonPrizeRoomText3 - db $2, $4, $4 ; CeladonPrizeRoomText4 - db $2, $6, $5 ; CeladonPrizeRoomText5 - - db $2 ; people - db SPRITE_BALDING_GUY, $4 + 4, $1 + 4, $ff, $ff, $1 ; person - db SPRITE_GAMBLER, $3 + 4, $7 + 4, $fe, $2, $2 ; person - - ; warp-to - EVENT_DISP $5, $7, $4 - EVENT_DISP $5, $7, $5 - -CeladonPrizeRoomBlocks: ; 0x49131 20 - INCBIN "maps/celadonprizeroom.blk" - -CeladonDiner_h: ; 0x49145 to 0x49151 (12 bytes) (bank=12) (id=138) - db $12 ; tileset - db CELADON_DINER_HEIGHT, CELADON_DINER_WIDTH ; dimensions (y, x) - dw CeladonDinerBlocks, CeladonDinerTexts, CeladonDinerScript ; blocks, texts, scripts - db $00 ; connections - - dw CeladonDinerObject ; objects - -CeladonDinerScript: ; 0x49151 - call $3c3c - ret -; 0x49155 - -CeladonDinerTexts: ; 0x49155 - dw CeladonDinerText1, CeladonDinerText2, CeladonDinerText3, CeladonDinerText4, CeladonDinerText5 - -CeladonDinerText1: ; 0x4915f - TX_FAR _CeladonDinerText1 - db $50 - -CeladonDinerText2: ; 0x49164 - TX_FAR _CeladonDinerText2 - db $50 - -CeladonDinerText3: ; 0x49169 - TX_FAR _CeladonDinerText3 - db $50 - -CeladonDinerText4: ; 0x4916e - TX_FAR _CeladonDinerText4 - db $50 - -CeladonDinerText5: ; 0x49173 - db $08 ; asm - ld a, [$d783] - bit 0, a - jr nz, .asm_eb14d ; 0x49179 - ld hl, UnnamedText_491a7 - call PrintText - ld bc, (COIN_CASE << 8) | 1 - call GiveItem - jr nc, .asm_78e93 ; 0x49187 - ld hl, $d783 - set 0, [hl] - ld hl, ReceivedCoinCaseText - call PrintText - jr .asm_68b61 ; 0x49194 -.asm_78e93 ; 0x49196 - ld hl, CoinCaseNoRoomText - call PrintText - jr .asm_68b61 ; 0x4919c -.asm_eb14d ; 0x4919e - ld hl, UnnamedText_491b7 - call PrintText -.asm_68b61 ; 0x491a4 - jp TextScriptEnd - -UnnamedText_491a7: ; 0x491a7 - TX_FAR _UnnamedText_491a7 - db $50 -; 0x491a7 + 5 bytes - -ReceivedCoinCaseText: ; 0x491ac - TX_FAR _ReceivedCoinCaseText ; 0x9e07a - db $11, $50 -; 0x491b2 - -CoinCaseNoRoomText: ; 0x491b2 - TX_FAR _CoinCaseNoRoomText - db $50 -; 0x491b2 + 5 bytes - -UnnamedText_491b7: ; 0x491b7 - TX_FAR _UnnamedText_491b7 - db $50 -; 0x491b7 + 5 bytes - -CeladonDinerObject: ; 0x491bc (size=50) - db $f ; border tile - - db $2 ; warps - db $7, $3, $a, $ff - db $7, $4, $a, $ff - - db $0 ; signs - - db $5 ; people - db SPRITE_COOK, $5 + 4, $8 + 4, $fe, $2, $1 ; person - db SPRITE_MOM_GEISHA, $2 + 4, $7 + 4, $ff, $ff, $2 ; person - db SPRITE_FAT_BALD_GUY, $4 + 4, $1 + 4, $ff, $d0, $3 ; person - db SPRITE_FISHER2, $3 + 4, $5 + 4, $ff, $d3, $4 ; person - db SPRITE_GYM_HELPER, $1 + 4, $0 + 4, $ff, $d0, $5 ; person - - ; warp-to - EVENT_DISP $5, $7, $3 - EVENT_DISP $5, $7, $4 - -CeladonDinerBlocks: ; 0x491ee 20 - INCBIN "maps/celadondiner.blk" - -CeladonHouse_h: ; 0x49202 to 0x4920e (12 bytes) (bank=12) (id=139) - db $13 ; tileset - db CELADON_HOUSE_2_HEIGHT, CELADON_HOUSE_2_WIDTH ; dimensions (y, x) - dw CeladonHouseBlocks, CeladonHouseTexts, CeladonHouseScript ; blocks, texts, scripts - db $00 ; connections - - dw CeladonHouseObject ; objects - -CeladonHouseScript: ; 0x4920e - call $3c3c - ret -; 0x49212 - -CeladonHouseTexts: ; 0x49212 - dw CeladonHouseText1, CeladonHouseText2, CeladonHouseText3 - -CeladonHouseText1: ; 0x49218 - TX_FAR _CeladonHouseText1 - db $50 - -CeladonHouseText2: ; 0x4921d - TX_FAR _CeladonHouseText2 - db $50 - -CeladonHouseText3: ; 0x49222 - TX_FAR _CeladonHouseText3 - db $50 - -CeladonHouseObject: ; 0x49227 (size=38) - db $f ; border tile - - db $2 ; warps - db $7, $2, $b, $ff - db $7, $3, $b, $ff - - db $0 ; signs - - db $3 ; people - db SPRITE_OLD_PERSON, $2 + 4, $4 + 4, $ff, $d0, $1 ; person - db SPRITE_ROCKET, $4 + 4, $1 + 4, $fe, $0, $2 ; person - db SPRITE_SAILOR, $6 + 4, $5 + 4, $ff, $d2, $3 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - -CeladonHouseBlocks: ; 0x4924d 16 - INCBIN "maps/celadonhouse2.blk" - -CeladonHotel_h: ; 0x4925d to 0x49269 (12 bytes) (bank=12) (id=140) - db $06 ; tileset - db CELADONHOTEL_HEIGHT, CELADONHOTEL_WIDTH ; dimensions (y, x) - dw CeladonHotelBlocks, CeladonHotelTexts, CeladonHotelScript ; blocks, texts, scripts - db $00 ; connections - - dw CeladonHotelObject ; objects - -CeladonHotelScript: ; 0x49269 - jp $3c3c -; 0x4926c - -CeladonHotelTexts: ; 0x4926c - dw CeladonHotelText1, CeladonHotelText2, CeladonHotelText3 - -CeladonHotelText1: ; 0x49272 - TX_FAR _CeladonHotelText1 - db $50 - -CeladonHotelText2: ; 0x49277 - TX_FAR _CeladonHotelText2 - db $50 - -CeladonHotelText3: ; 0x4927c - TX_FAR _CeladonHotelText3 - db $50 - -CeladonHotelObject: ; 0x49281 (size=38) - db $0 ; border tile - - db $2 ; warps - db $7, $3, $c, $ff - db $7, $4, $c, $ff - - db $0 ; signs - - db $3 ; people - db SPRITE_OLD_MEDIUM_WOMAN, $1 + 4, $3 + 4, $ff, $d0, $1 ; person - db SPRITE_FOULARD_WOMAN, $4 + 4, $2 + 4, $ff, $ff, $2 ; person - db SPRITE_BLACK_HAIR_BOY_2, $4 + 4, $8 + 4, $fe, $2, $3 ; person - - ; warp-to - EVENT_DISP $7, $7, $3 - EVENT_DISP $7, $7, $4 - -CeladonHotelBlocks: ; 0x492a7 28 - INCBIN "maps/celadonhotel.blk" - -MtMoonPokecenter_h: ; 0x492c3 to 0x492cf (12 bytes) (bank=12) (id=68) - db $06 ; tileset - db MT_MOON_POKECENTER_HEIGHT, MT_MOON_POKECENTER_WIDTH ; dimensions (y, x) - dw MtMoonPokecenterBlocks, MtMoonPokecenterTexts, MtMoonPokecenterScript ; blocks, texts, scripts - db $00 ; connections - - dw MtMoonPokecenterObject ; objects - -MtMoonPokecenterScript: ; 0x492cf - call $22fa - jp $3c3c -; 0x492d5 - -MtMoonPokecenterTexts: - dw MtMoonPokecenterText1, MtMoonPokecenterText2, MtMoonPokecenterText3, MtMoonPokecenterText4, MtMoonPokecenterText5, MtMoonPokecenterText6 - -MtMoonPokecenterText1: ; 0x492e0 - db $ff - -MtMoonPokecenterText2: ; 0x492e2 - TX_FAR _MtMoonPokecenterText1 - db $50 - -MtMoonPokecenterText3: ; 0x492e7 - TX_FAR _MtMoonPokecenterText3 - db $50 - -MtMoonPokecenterText4: ; 0x492ec - db $08 ; asm - ld a, [$d7c6] - add a - jp c, .asm_49353 - ld hl, UnnamedText_4935c - call PrintText - ld a, $13 - ld [$d125], a - call $30e8 - call $35ec - ld a, [$cc26] - and a - jp nz, .asm_4934e - ldh [$9f], a - ldh [$a1], a - ld a, $5 - ldh [$a0], a - call $35a6 - jr nc, .asm_faa09 ; 0x49317 - ld hl, UnnamedText_49366 - jr .asm_49356 ; 0x4931c -.asm_faa09 ; 0x4931e - ld bc,(MAGIKARP << 8) | 5 - call GivePokemon - jr nc, .asm_49359 ; 0x49324 - xor a - ld [W_WHICHTRADE], a - ld [$cd3f], a - ld a, $5 - ld [$cd3e], a - ld hl, $cd3f - ld de, $d349 - ld c, $3 - ld a, $c - call Predef - ld a, $13 - ld [$d125], a - call $30e8 - ld hl, $d7c6 - set 7, [hl] - jr .asm_49359 ; 0x4934c -.asm_4934e ; 0x4934e - ld hl, UnnamedText_49361 - jr .asm_49356 ; 0x49351 -.asm_49353 ; 0x49353 - ld hl, UnnamedText_4936b -.asm_49356 ; 0x49356 - call PrintText -.asm_49359 ; 0x49359 - jp TextScriptEnd - -UnnamedText_4935c: ; 0x4935c - TX_FAR _UnnamedText_4935c - db $50 -; 0x4935c + 5 bytes - -UnnamedText_49361: ; 0x49361 - TX_FAR _UnnamedText_49361 - db $50 -; 0x49361 + 5 bytes - -UnnamedText_49366: ; 0x49366 - TX_FAR _UnnamedText_49366 - db $50 -; 0x49366 + 5 bytes - -UnnamedText_4936b: ; 0x4936b - TX_FAR _UnnamedText_4936b - db $50 -; 0x4936b + 5 bytes - -MtMoonPokecenterText5: ; 0x49370 - TX_FAR _MtMoonPokecenterText5 - db $50 - -MtMoonPokecenterText6: - db $f6 - -MtMoonPokecenterObject: ; 0x49376 (size=56) - db $0 ; border tile - - db $2 ; warps - db $7, $3, $0, $ff - db $7, $4, $0, $ff - - db $0 ; signs - - db $6 ; people - db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person - db SPRITE_BUG_CATCHER, $3 + 4, $4 + 4, $ff, $d1, $2 ; person - db SPRITE_GENTLEMAN, $3 + 4, $7 + 4, $ff, $d1, $3 ; person - db SPRITE_FAT_BALD_GUY, $6 + 4, $a + 4, $fe, $2, $4 ; person - db SPRITE_CLIPBOARD, $2 + 4, $7 + 4, $ff, $ff, $5 ; person - db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $6 ; person - - ; warp-to - EVENT_DISP $7, $7, $3 - EVENT_DISP $7, $7, $4 - -RockTunnelPokecenter_h: ; 0x493ae to 0x493ba (12 bytes) (id=81) - db $06 ; tileset - db ROCK_TUNNEL_POKECENTER_HEIGHT, ROCK_TUNNEL_POKECENTER_WIDTH ; dimensions (y, x) - dw RockTunnelPokecenterBlocks, RockTunnelPokecenterTexts, RockTunnelPokecenterScript ; blocks, texts, scripts - db $00 ; connections - - dw RockTunnelPokecenterObject ; objects - -RockTunnelPokecenterScript: ; 0x493ba - call $22fa - jp $3c3c -; 0x493c0 - -RockTunnelPokecenterTexts: - dw RockTunnelPokecenterText1, RockTunnelPokecenterText2, RockTunnelPokecenterText3, RockTunnelPokecenterText4 - -RockTunnelPokecenterText1: ; 0x493c8 - db $ff - -RockTunnelPokecenterText2: ; 0x493c9 - TX_FAR _RockTunnelPokecenterText1 - db $50 - -RockTunnelPokecenterText3: ; 0x493ce - TX_FAR _RockTunnelPokecenterText3 - db $50 - -RockTunnelPokecenterText4: ; 0x493d3 - db $f6 - -RockTunnelPokecenterObject: ; 0x493d4 (size=44) - db $0 ; border tile - - db $2 ; warps - db $7, $3, $0, $ff - db $7, $4, $0, $ff - - db $0 ; signs - - db $4 ; people - db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person - db SPRITE_GENTLEMAN, $3 + 4, $7 + 4, $fe, $2, $2 ; person - db SPRITE_FISHER2, $5 + 4, $2 + 4, $ff, $ff, $3 ; person - db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person - - ; warp-to - EVENT_DISP $7, $7, $3 - EVENT_DISP $7, $7, $4 - -Route11Gate_h: ; 0x49400 to 0x4940c (12 bytes) (id=84) - db $0c ; tileset - db ROUTE_11_GATE_1F_HEIGHT, ROUTE_11_GATE_1F_WIDTH ; dimensions (y, x) - dw Route11GateBlocks, Route11GateTexts, Route11GateScript ; blocks, texts, scripts - db $00 ; connections - - dw Route11GateObject ; objects - -Route11GateScript: ; 0x4940c - jp $3c3c -; 0x4940f - -Route11GateTexts: ; 0x4940f - dw Route11GateText1 - -Route11GateText1: ; 0x49411 - TX_FAR _Route11GateText1 - db $50 - -Route11GateObject: ; 0x49416 (size=50) - db $a ; border tile - - db $5 ; warps - db $4, $0, $0, $ff - db $5, $0, $1, $ff - db $4, $7, $2, $ff - db $5, $7, $3, $ff - db $8, $6, $0, ROUTE_11_GATE_2F - - db $0 ; signs - - db $1 ; people - db SPRITE_GUARD, $1 + 4, $4 + 4, $ff, $ff, $1 ; person - - ; warp-to - EVENT_DISP $4, $4, $0 - EVENT_DISP $4, $5, $0 - EVENT_DISP $4, $4, $7 - EVENT_DISP $4, $5, $7 - EVENT_DISP $4, $8, $6 ; ROUTE_11_GATE_2F - -Route11GateUpstairs_h: ; 0x49448 to 0x49454 (12 bytes) (id=86) - db $0c ; tileset - db ROUTE_11_GATE_2F_HEIGHT, ROUTE_11_GATE_2F_WIDTH ; dimensions (y, x) - dw Route11GateUpstairsBlocks, Route11GateUpstairsTexts, Route11GateUpstairsScript ; blocks, texts, scripts - db $00 ; connections - - dw Route11GateUpstairsObject ; objects - -Route11GateUpstairsScript: ; 0x49454 - jp $3c3f -; 0x49457 - -Route11GateUpstairsTexts: - dw Route11GateUpstairsText1, Route11GateUpstairsText2, Route11GateUpstairsText3, Route11GateUpstairsText4 - -Route11GateUpstairsText1: ; 0x4945f - db $08 ; asm - xor a - ld [W_WHICHTRADE], a - ld a, $54 - call Predef -asm_49469: - jp TextScriptEnd - -Route11GateUpstairsText2: ; 0x4946c - db $8 - ld a, [$d7d6] - add a - jr c, .asm_4949b ; 0x49471 $28 - ld a, $1e - ld [$ff00+$db], a - ld a, $47 - ld [$ff00+$dc], a - ld [$d11e], a - call $2fcf - ld h, d - ld l, e - ld de, $cc5b - ld bc, $000d - call CopyData - ld a, $62 - call Predef - ld a, [$ff00+$db] - dec a - jr nz, .asm_494a1 ; 0x49494 $b - ld hl, $d7d6 - set 7, [hl] -.asm_4949b - ld hl, UnnamedText_494a3 - call PrintText -.asm_494a1 - jr asm_49469 ; 0x494a1 $c6 -; 0x494a3 - -UnnamedText_494a3: ; 0x494a3 - TX_FAR _UnnamedText_494a3 - db $50 -; 0x494a3 + 5 bytes - -Route11GateUpstairsText3: ; 0x494a8 - db $08 ; asm - ld a, [$c109] - cp $4 - jp nz, Unnamed_55c9 - ld a, [$d7d8] - bit 7, a - ld hl, UnnamedText_494c4 - jr z, .asm_5ac80 ; 0x494b9 - ld hl, UnnamedText_494c9 -.asm_5ac80 ; 0x494be - call PrintText - jp TextScriptEnd - -UnnamedText_494c4: ; 0x494c4 - TX_FAR _UnnamedText_494c4 - db $50 -; 0x494c4 + 5 bytes - -UnnamedText_494c9: ; 0x494c9 - TX_FAR _UnnamedText_494c9 - db $50 -; 0x494c9 + 5 bytes - -Route11GateUpstairsText4: ; 0x494ce - db $8 - ld hl, $54d5 - jp Unnamed_55c9 -; 0x494d5 - -UnnamedText_494d5: ; 0x494d5 - TX_FAR _UnnamedText_494d5 - db $50 -; 0x494d5 + 5 bytes - -Route11GateUpstairsObject: ; 0x494da (size=30) - db $a ; border tile - - db $1 ; warps - db $7, $7, $4, ROUTE_11_GATE_1F - - db $2 ; signs - db $2, $1, $3 ; Route11GateUpstairsText3 - db $2, $6, $4 ; Route11GateUpstairsText4 - - db $2 ; people - db SPRITE_BUG_CATCHER, $2 + 4, $4 + 4, $fe, $2, $1 ; person - db SPRITE_OAK_AIDE, $6 + 4, $2 + 4, $ff, $ff, $2 ; person - - ; warp-to - EVENT_DISP $4, $7, $7 ; ROUTE_11_GATE_1F - -Route12Gate_h: ; 0x494f8 to 0x49504 (12 bytes) (id=87) - db $0c ; tileset - db ROUTE_12_GATE_HEIGHT, ROUTE_12_GATE_WIDTH ; dimensions (y, x) - dw Route12GateBlocks, Route12GateTexts, Route12GateScript ; blocks, texts, scripts - db $00 ; connections - - dw Route12GateObject ; objects - -Route12GateScript: ; 0x49504 - jp $3c3c -; 0x49507 - -Route12GateTexts: ; 0x49507 - dw Route12GateText1 - -Route12GateText1: ; 0x49509 - TX_FAR _Route12GateText1 - db $50 - -Route12GateObject: ; 0x4950e (size=50) - db $a ; border tile - - db $5 ; warps - db $0, $4, $0, $ff - db $0, $5, $1, $ff - db $7, $4, $2, $ff - db $7, $5, $2, $ff - db $6, $8, $0, ROUTE_12_GATE_2F - - db $0 ; signs - - db $1 ; people - db SPRITE_GUARD, $3 + 4, $1 + 4, $ff, $ff, $1 ; person - - ; warp-to - EVENT_DISP $5, $0, $4 - EVENT_DISP $5, $0, $5 - EVENT_DISP $5, $7, $4 - EVENT_DISP $5, $7, $5 - EVENT_DISP $5, $6, $8 ; ROUTE_12_GATE_2F - -Route12GateBlocks: ; 0x49540 20 - INCBIN "maps/route12gate.blk" - -Route12GateUpstairs_h: ; 0x49554 to 0x49560 (12 bytes) (id=195) - db $0c ; tileset - db ROUTE_12_GATE_2F_HEIGHT, ROUTE_12_GATE_2F_WIDTH ; dimensions (y, x) - dw Route12GateUpstairsBlocks, Route12GateUpstairsTexts, Route12GateUpstairsScript ; blocks, texts, scripts - db $00 ; connections - - dw Route12GateUpstairsObject ; objects - -Route12GateUpstairsScript: ; 0x49560 - jp $3c3f -; 0x49563 - -Route12GateUpstairsTexts: ; 0x49563 - dw Route12GateUpstairsText1, Route12GateUpstairsText2, Route12GateUpstairsText3 - -Route12GateUpstairsText1: ; 0x49569 - db $08 ; asm - ld a, [$d7d7] - rrca - jr c, .asm_0ad3c ; 0x4956e - ld hl, UnnamedText_4959c - call PrintText - ld bc, (TM_39 << 8) | 1 - call GiveItem - jr nc, .asm_4c2be ; 0x4957c - ld hl, ReceivedTM39Text - call PrintText - ld hl, $d7d7 - set 0, [hl] - jr .asm_4ba56 ; 0x49589 -.asm_4c2be ; 0x4958b - ld hl, UnnamedText_495ac - call PrintText - jr .asm_4ba56 ; 0x49591 -.asm_0ad3c ; 0x49593 - ld hl, UnnamedText_495a7 - call PrintText -.asm_4ba56 ; 0x49599 - jp TextScriptEnd - -UnnamedText_4959c: ; 0x4959c - TX_FAR _UnnamedText_4959c - db $50 -; 0x4959c + 5 bytes - -ReceivedTM39Text: ; 0x495a1 - TX_FAR _ReceivedTM39Text ; 0x8c8c6 - db $0B, $50 -; 0x495a7 - -UnnamedText_495a7: ; 0x495a7 - TX_FAR _UnnamedText_495a7 - db $50 -; 0x495a7 + 5 bytes - -UnnamedText_495ac: ; 0x495ac - TX_FAR _UnnamedText_495ac - db $50 -; 0x495ac + 5 bytes - -Route12GateUpstairsText2: ; 0x495b1 - db $08 ; asm - ld hl, UnnamedText_495b8 - jp Unnamed_55c9 - -UnnamedText_495b8: ; 0x495b8 - TX_FAR _UnnamedText_495b8 ; 0x8c95a - db $50 -; 0x495bd - -Route12GateUpstairsText3: ; 0x495bd - db $8 - ld hl, UnnamedText_495c4 - jp Unnamed_55c9 -; 0x495c4 - -UnnamedText_495c4: ; 0x495c4 - TX_FAR _UnnamedText_495c4 - db $50 -; 0x495c4 + 5 bytes - -Unnamed_55c9: - ld a, [$c109] - cp $4 - jr z, .asm_495d4 ; 0x495ce $4 - ld a, $1 - jr .asm_495d8 ; 0x495d2 $4 -.asm_495d4 - call PrintText - xor a -.asm_495d8 - ld [$cc3c], a - jp TextScriptEnd -; 0x495de - -Route12GateUpstairsObject: ; 0x495de (size=24) - db $a ; border tile - - db $1 ; warps - db $7, $7, $4, ROUTE_12_GATE - - db $2 ; signs - db $2, $1, $2 ; Route12GateUpstairsText2 - db $2, $6, $3 ; Route12GateUpstairsText3 - - db $1 ; people - db SPRITE_BRUNETTE_GIRL, $4 + 4, $3 + 4, $fe, $1, $1 ; person - - ; warp-to - EVENT_DISP $4, $7, $7 ; ROUTE_12_GATE - -Route15Gate_h: ; 0x495f6 to 0x49602 (12 bytes) (id=184) - db $0c ; tileset - db ROUTE_15_GATE_HEIGHT, ROUTE_15_GATE_WIDTH ; dimensions (y, x) - dw Route15GateBlocks, Route15GateTexts, Route15GateScript ; blocks, texts, scripts - db $00 ; connections - - dw Route15GateObject ; objects - -Route15GateScript: ; 0x49602 - jp $3c3c -; 0x49605 - -Route15GateTexts: ; 0x49605 - dw Route15GateText1 - -Route15GateText1: ; 0x49607 - TX_FAR _Route15GateText1 - db $50 - -Route15GateObject: ; 0x4960c (size=50) - db $a ; border tile - - db $5 ; warps - db $4, $0, $0, $ff - db $5, $0, $1, $ff - db $4, $7, $2, $ff - db $5, $7, $3, $ff - db $8, $6, $0, $b9 - - db $0 ; signs - - db $1 ; people - db SPRITE_GUARD, $1 + 4, $4 + 4, $ff, $ff, $1 ; person - - ; warp-to - EVENT_DISP $4, $4, $0 - EVENT_DISP $4, $5, $0 - EVENT_DISP $4, $4, $7 - EVENT_DISP $4, $5, $7 - EVENT_DISP $4, $8, $6 - -INCBIN "baserom.gbc",$4963e,$4968c - $4963e - -UnnamedText_4968c: ; 0x4968c - TX_FAR _UnnamedText_4968c - db $50 -; 0x4968c + 5 bytes - -INCBIN "baserom.gbc",$49691,$49698 - $49691 - -UnnamedText_49698: ; 0x49698 - TX_FAR _UnnamedText_49698 - db $50 -; 0x49698 + 5 bytes - -INCBIN "baserom.gbc",$4969d,$15 - -Route16GateMap_h: ; 0x496b2 to 0x496be (12 bytes) (id=186) - db $0c ; tileset - db ROUTE_16_GATE_1F_HEIGHT, ROUTE_16_GATE_1F_WIDTH ; dimensions (y, x) - dw Route16GateMapBlocks, Route16GateMapTexts, Route16GateMapScript ; blocks, texts, scripts - db $00 ; connections - - dw Route16GateMapObject ; objects - -Route16GateMapScript: ; 0x496be - ld hl, $d732 - res 5, [hl] - call $3c3c - ld a, [$d660] - ld hl, Route16GateMapScripts - jp $3d97 -; 0x496cf - -Route16GateMapScripts: ; 0x496cf - dw Route16GateMapScript0 - -INCBIN "baserom.gbc",$496d1,$6 - -Route16GateMapScript0: ; 0x496d7 - call $5755 - ret nz - ld hl, $5714 - call $34bf - ret nc - ld a, $3 - ld [$ff00+$8c], a - call $2920 - xor a - ld [$ff00+$b4], a - ld a, [$cd3d] - cp $1 - jr z, .asm_4970e ; 0x496f1 $1b - ld a, [$cd3d] - dec a - ld [$cd38], a - ld b, $0 - ld c, a - ld a, $40 - ld hl, $ccd3 - call $36e0 - call $3486 - ld a, $1 - ld [$d660], a - ret -.asm_4970e - ld a, $2 - ld [$d660], a - ret -; 0x49714 - -INCBIN "baserom.gbc",$49714,$46 - -Route16GateMapTexts: ; 0x4975a - dw Route16GateMapText1, Route16GateMapText2, Route16GateMapText3 - -Route16GateMapText1: ; 0x49760 - db $08 ; asm - call $5755 - jr z, .asm_0bdf3 ; 0x49764 - ld hl, UnnamedText_4977c - call PrintText - jr .asm_56c9d ; 0x4976c -.asm_0bdf3 ; 0x4976e - ld hl, UnnamedText_49777 - call PrintText -.asm_56c9d ; 0x49774 - jp TextScriptEnd - -UnnamedText_49777: ; 0x49777 - TX_FAR _UnnamedText_49777 - db $50 -; 0x49777 + 5 bytes - -UnnamedText_4977c: ; 0x4977c - TX_FAR _UnnamedText_4977c - db $50 -; 0x4977c + 5 bytes - -Route16GateMapText3: ; 0x49781 - TX_FAR _UnnamedText_49781 - db $50 -; 0x49781 + 5 bytes - -Route16GateMapText2: ; 0x49786 - TX_FAR _Route16GateMapText2 - db $50 - -Route16GateMapObject: ; 0x4978b (size=88) - db $a ; border tile - - db $9 ; warps - db $8, $0, $0, $ff - db $9, $0, $1, $ff - db $8, $7, $2, $ff - db $9, $7, $2, $ff - db $2, $0, $4, $ff - db $3, $0, $5, $ff - db $2, $7, $6, $ff - db $3, $7, $7, $ff - db $c, $6, $0, ROUTE_16_GATE_2F - - db $0 ; signs - - db $2 ; people - db SPRITE_GUARD, $5 + 4, $4 + 4, $ff, $d0, $1 ; person - db SPRITE_GAMBLER, $3 + 4, $4 + 4, $ff, $ff, $2 ; person - - ; warp-to - EVENT_DISP $4, $8, $0 - EVENT_DISP $4, $9, $0 - EVENT_DISP $4, $8, $7 - EVENT_DISP $4, $9, $7 - EVENT_DISP $4, $2, $0 - EVENT_DISP $4, $3, $0 - EVENT_DISP $4, $2, $7 - EVENT_DISP $4, $3, $7 - EVENT_DISP $4, $c, $6 ; ROUTE_16_GATE_2F - -Route16GateMapBlocks: ; 0x497e3 28 - INCBIN "maps/route16gatemap.blk" - -Route16GateUpstairs_h: ; 0x497ff to 0x4980b (12 bytes) (id=187) - db $0c ; tileset - db ROUTE_16_GATE_2F_HEIGHT, ROUTE_16_GATE_2F_WIDTH ; dimensions (y, x) - dw Route16GateUpstairsBlocks, Route16GateUpstairsTexts, Route16GateUpstairsScript ; blocks, texts, scripts - db $00 ; connections - - dw Route16GateUpstairsObject ; objects - -Route16GateUpstairsScript: ; 0x4980b - jp $3c3f -; 0x4980e - -Route16GateUpstairsTexts: ; 0x4980e - dw Route16GateUpstairsText1, Route16GateUpstairsText2, Route16GateUpstairsText3, Route16GateUpstairsText4 - -Route16GateUpstairsText1: ; 0x49816 - db $08 ; asm - ld hl, UnnamedText_49820 - call PrintText - jp TextScriptEnd - -UnnamedText_49820: ; 0x49820 - TX_FAR _UnnamedText_49820 - db $50 -; 0x49820 + 5 bytes - -Route16GateUpstairsText2: ; 0x49825 - db $08 ; asm - ld hl, UnnamedText_4982f - call PrintText - jp TextScriptEnd - -UnnamedText_4982f: ; 0x4982f - TX_FAR _UnnamedText_4982f - db $50 -; 0x4982f + 5 bytes - -Route16GateUpstairsText3: ; 0x49834 - db $8 - ld hl, UnnamedText_4983b - jp $55c9 -; 0x4983b - -UnnamedText_4983b: ; 0x4983b - TX_FAR _UnnamedText_4983b - db $50 -; 0x4983b + 5 bytes - -Route16GateUpstairsText4: ; 0x49840 - db $8 - ld hl, $5847 - jp $55c9 -; 0x49847 - -UnnamedText_49847: ; 0x49847 - TX_FAR _UnnamedText_49847 - db $50 -; 0x49847 + 5 bytes - -Route16GateUpstairsObject: ; 0x4984c (size=30) - db $a ; border tile - - db $1 ; warps - db $7, $7, $8, ROUTE_16_GATE_1F - - db $2 ; signs - db $2, $1, $3 ; Route16GateUpstairsText3 - db $2, $6, $4 ; Route16GateUpstairsText4 - - db $2 ; people - db SPRITE_YOUNG_BOY, $2 + 4, $4 + 4, $ff, $ff, $1 ; person - db SPRITE_LITTLE_GIRL, $5 + 4, $2 + 4, $fe, $2, $2 ; person - - ; warp-to - EVENT_DISP $4, $7, $7 ; ROUTE_16_GATE_1F - -Route18Gate_h: ; 0x4986a to 0x49876 (12 bytes) (id=190) - db $0c ; tileset - db ROUTE_18_GATE_1F_HEIGHT, ROUTE_18_GATE_1F_WIDTH ; dimensions (y, x) - dw Route18GateBlocks, Route18GateTexts, Route18GateScript ; blocks, texts, scripts - db $00 ; connections - - dw Route18GateObject ; objects - -Route18GateScript: ; 0x49876 - ld hl, $d732 - res 5, [hl] - call $3c3c - ld a, [$d669] - ld hl, Route18GateScripts - jp $3d97 -; 0x49887 - -Route18GateScripts: ; 0x49887 - dw Route18GateScript0 - -INCBIN "baserom.gbc",$49889,$6 - -Route18GateScript0: ; 0x4988f - call $5755 - ret nz - ld hl, $58cc - call $34bf - ret nc - ld a, $2 - ld [$ff00+$8c], a - call $2920 - xor a - ld [$ff00+$b4], a - ld a, [$cd3d] - cp $1 - jr z, .asm_498c6 ; 0x498a9 $1b - ld a, [$cd3d] - dec a - ld [$cd38], a - ld b, $0 - ld c, a - ld a, $40 - ld hl, $ccd3 - call $36e0 - call $3486 - ld a, $1 - ld [$d669], a - ret -.asm_498c6 - ld a, $2 - ld [$d669], a - ret -; 0x498cc - -INCBIN "baserom.gbc",$498cc,$41 - -Route18GateTexts: ; 0x4990d - dw Route18GateText1, Route18GateText2 - -Route18GateText1: ; 0x49911 - db $08 ; asm - call $5755 - jr z, .asm_3c84d ; 0x49915 - ld hl, UnnamedText_4992d - call PrintText - jr .asm_a8410 ; 0x4991d -.asm_3c84d ; 0x4991f - ld hl, UnnamedText_49928 - call PrintText -.asm_a8410 ; 0x49925 - jp TextScriptEnd - -UnnamedText_49928: ; 0x49928 - TX_FAR _UnnamedText_49928 - db $50 -; 0x4992d - -UnnamedText_4992d: ; 0x4992d - TX_FAR _UnnamedText_4992d - db $50 -; 0x49932 - -Route18GateText2: ; 0x49932 - TX_FAR _UnnamedText_49932 - db $50 -; 0x49937 - -Route18GateObject: ; 0x49937 (size=50) - db $a ; border tile - - db $5 ; warps - db $4, $0, $0, $ff - db $5, $0, $1, $ff - db $4, $7, $2, $ff - db $5, $7, $3, $ff - db $8, $6, $0, ROUTE_18_GATE_2F - - db $0 ; signs - - db $1 ; people - db SPRITE_GUARD, $1 + 4, $4 + 4, $ff, $d0, $1 ; person - - ; warp-to - EVENT_DISP $4, $4, $0 - EVENT_DISP $4, $5, $0 - EVENT_DISP $4, $4, $7 - EVENT_DISP $4, $5, $7 - EVENT_DISP $4, $8, $6 ; ROUTE_18_GATE_2F - -Route18GateHeader_h: ; 0x49969 to 0x49975 (12 bytes) (id=191) - db $0c ; tileset - db ROUTE_18_GATE_2F_HEIGHT, ROUTE_18_GATE_2F_WIDTH ; dimensions (y, x) - dw Route18GateHeaderBlocks, Route18GateHeaderTexts, Route18GateHeaderScript ; blocks, texts, scripts - db $00 ; connections - - dw Route18GateHeaderObject ; objects - -Route18GateHeaderScript: ; 0x49975 - jp $3c3f -; 0x49978 - -Route18GateHeaderTexts: ; 0x49978 - dw Route18GateHeaderText1, Route18GateHeaderText2, Route18GateHeaderText3 - -Route18GateHeaderText1: ; 0x4997e - db $08 ; asm - ld a, $5 - ld [W_WHICHTRADE], a - ld a, $54 - call Predef - jp TextScriptEnd - -Route18GateHeaderText2: ; 0x4998c - db $8 - ld hl, $5993 - jp $55c9 -; 0x49993 - -UnnamedText_49993: ; 0x49993 - TX_FAR _UnnamedText_49993 - db $50 -; 0x49993 + 5 bytes - -Route18GateHeaderText3: ; 0x49998 - db $8 - ld hl, $599f - jp $55c9 -; 0x4999f - -UnnamedText_4999f: ; 0x4999f - TX_FAR _UnnamedText_4999f - db $50 -; 0x4999f + 5 bytes - -Route18GateHeaderObject: ; 0x499a4 (size=24) - db $a ; border tile - - db $1 ; warps - db $7, $7, $4, ROUTE_18_GATE_1F - - db $2 ; signs - db $2, $1, $2 ; Route18GateHeaderText2 - db $2, $6, $3 ; Route18GateHeaderText3 - - db $1 ; people - db SPRITE_BUG_CATCHER, $2 + 4, $4 + 4, $fe, $2, $1 ; person - - ; warp-to - EVENT_DISP $4, $7, $7 ; ROUTE_18_GATE_1F - -MtMoon1_h: ; 0x499bc to 0x499c8 (12 bytes) (id=59) - db $11 ; tileset - db MT_MOON_1_HEIGHT, MT_MOON_1_WIDTH ; dimensions (y, x) - dw MtMoon1Blocks, MtMoon1Texts, MtMoon1Script ; blocks, texts, scripts - db $00 ; connections - - dw MtMoon1Object ; objects - -MtMoon1Script: ; 0x499c8 - call $3c3c - ld hl, TrainerHeader_499fd - ld de, Unknown_59db - ld a, [$d606] - call $3160 - ld [$d606], a - ret -; 0x499db - -Unknown_59db: ; 0x59db -INCBIN "baserom.gbc",$499db,$6 - -MtMoon1Texts: ; 0x499e1 - dw MtMoon1Text1, MtMoon1Text2, MtMoon1Text3, MtMoon1Text4, MtMoon1Text5, MtMoon1Text6, MtMoon1Text7, MtMoon1Text8, MtMoon1Text9, MtMoon1Text10, MtMoon1Text11, MtMoon1Text12, MtMoon1Text13, MtMoon1Text14 - -MtMoon1TrainerHeaders: -TrainerHeader_499fd: ; 0x499fd - db $1 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7f5 ; flag's byte - dw UnnamedText_49a98 ; 0x5a98 TextBeforeBattle - dw UnnamedText_49aa2 ; 0x5aa2 TextAfterBattle - dw UnnamedText_49a9d ; 0x5a9d TextEndBattle - dw UnnamedText_49a9d ; 0x5a9d TextEndBattle -; 0x49a09 - -TrainerHeader_49a09: ; 0x49a09 - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7f5 ; flag's byte - dw UnnamedText_49aa7 ; 0x5aa7 TextBeforeBattle - dw UnnamedText_49ab1 ; 0x5ab1 TextAfterBattle - dw UnnamedText_49aac ; 0x5aac TextEndBattle - dw UnnamedText_49aac ; 0x5aac TextEndBattle -; 0x49a15 - -TrainerHeader_49a15: ; 0x49a15 - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7f5 ; flag's byte - dw UnnamedText_49ab6 ; 0x5ab6 TextBeforeBattle - dw UnnamedText_49ac0 ; 0x5ac0 TextAfterBattle - dw UnnamedText_49abb ; 0x5abb TextEndBattle - dw UnnamedText_49abb ; 0x5abb TextEndBattle -; 0x49a21 - -TrainerHeader_49a21: ; 0x49a21 - db $4 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7f5 ; flag's byte - dw UnnamedText_49ac5 ; 0x5ac5 TextBeforeBattle - dw UnnamedText_49acf ; 0x5acf TextAfterBattle - dw UnnamedText_49aca ; 0x5aca TextEndBattle - dw UnnamedText_49aca ; 0x5aca TextEndBattle -; 0x49a2d - -TrainerHeader_49a2d: ; 0x49a2d - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7f5 ; flag's byte - dw UnnamedText_49ad4 ; 0x5ad4 TextBeforeBattle - dw UnnamedText_49ade ; 0x5ade TextAfterBattle - dw UnnamedText_49ad9 ; 0x5ad9 TextEndBattle - dw UnnamedText_49ad9 ; 0x5ad9 TextEndBattle -; 0x49a39 - -TrainerHeader_49a39: ; 0x49a39 - db $6 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7f5 ; flag's byte - dw UnnamedText_49ae3 ; 0x5ae3 TextBeforeBattle - dw UnnamedText_49aed ; 0x5aed TextAfterBattle - dw UnnamedText_49ae8 ; 0x5ae8 TextEndBattle - dw UnnamedText_49ae8 ; 0x5ae8 TextEndBattle -; 0x49a45 - -TrainerHeader_49a45: ; 0x49a45 - db $7 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7f5 ; flag's byte - dw MainMenu ; 0x5af2 TextBeforeBattle - dw UnnamedText_49afc ; 0x5afc TextAfterBattle - dw UnnamedText_49af7 ; 0x5af7 TextEndBattle - dw UnnamedText_49af7 ; 0x5af7 TextEndBattle -; 0x49a51 - -db $ff - -MtMoon1Text1: ; 0x49a52 - db $08 ; asm - ld hl, TrainerHeader_499fd - call LoadTrainerHeader - jp TextScriptEnd - -MtMoon1Text2: ; 0x49a5c - db $08 ; asm - ld hl, TrainerHeader_49a09 - call LoadTrainerHeader - jp TextScriptEnd - -MtMoon1Text3: ; 0x49a66 - db $08 ; asm - ld hl, TrainerHeader_49a15 - call LoadTrainerHeader - jp TextScriptEnd - -MtMoon1Text4: ; 0x49a70 - db $08 ; asm - ld hl, TrainerHeader_49a21 - call LoadTrainerHeader - jp TextScriptEnd - -MtMoon1Text5: ; 0x49a7a - db $08 ; asm - ld hl, TrainerHeader_49a2d - call LoadTrainerHeader - jp TextScriptEnd - -MtMoon1Text6: ; 0x49a84 - db $08 ; asm - ld hl, TrainerHeader_49a39 - call LoadTrainerHeader - jp TextScriptEnd - -MtMoon1Text7: ; 0x49a8e - db $08 ; asm - ld hl, TrainerHeader_49a45 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_49a98: ; 0x49a98 - TX_FAR _UnnamedText_49a98 - db $50 -; 0x49a98 + 5 bytes - -UnnamedText_49a9d: ; 0x49a9d - TX_FAR _UnnamedText_49a9d - db $50 -; 0x49a9d + 5 bytes - -UnnamedText_49aa2: ; 0x49aa2 - TX_FAR _UnnamedText_49aa2 - db $50 -; 0x49aa2 + 5 bytes - -UnnamedText_49aa7: ; 0x49aa7 - TX_FAR _UnnamedText_49aa7 - db $50 -; 0x49aa7 + 5 bytes - -UnnamedText_49aac: ; 0x49aac - TX_FAR _UnnamedText_49aac - db $50 -; 0x49aac + 5 bytes - -UnnamedText_49ab1: ; 0x49ab1 - TX_FAR _UnnamedText_49ab1 - db $50 -; 0x49ab1 + 5 bytes - -UnnamedText_49ab6: ; 0x49ab6 - TX_FAR _UnnamedText_49ab6 - db $50 -; 0x49ab6 + 5 bytes - -UnnamedText_49abb: ; 0x49abb - TX_FAR _UnnamedText_49abb - db $50 -; 0x49abb + 5 bytes - -UnnamedText_49ac0: ; 0x49ac0 - TX_FAR _UnnamedText_49ac0 - db $50 -; 0x49ac0 + 5 bytes - -UnnamedText_49ac5: ; 0x49ac5 - TX_FAR _UnnamedText_49ac5 - db $50 -; 0x49ac5 + 5 bytes - -UnnamedText_49aca: ; 0x49aca - TX_FAR _UnnamedText_49aca - db $50 -; 0x49aca + 5 bytes - -UnnamedText_49acf: ; 0x49acf - TX_FAR _UnnamedText_49acf - db $50 -; 0x49acf + 5 bytes - -UnnamedText_49ad4: ; 0x49ad4 - TX_FAR _UnnamedText_49ad4 - db $50 -; 0x49ad4 + 5 bytes - -UnnamedText_49ad9: ; 0x49ad9 - TX_FAR _UnnamedText_49ad9 - db $50 -; 0x49ad9 + 5 bytes - -UnnamedText_49ade: ; 0x49ade - TX_FAR _UnnamedText_49ade - db $50 -; 0x49ade + 5 bytes - -UnnamedText_49ae3: ; 0x49ae3 - TX_FAR _UnnamedText_49ae3 - db $50 -; 0x49ae3 + 5 bytes - -UnnamedText_49ae8: ; 0x49ae8 - TX_FAR _UnnamedText_49ae8 - db $50 -; 0x49ae8 + 5 bytes - -UnnamedText_49aed: ; 0x49aed - TX_FAR _UnnamedText_49aed - db $50 -; 0x49aed + 5 bytes - -UnnamedText_49af2: ; 0x49af2 - TX_FAR _UnnamedText_49af2 - db $50 -; 0x49af2 + 5 bytes - -UnnamedText_49af7: ; 0x49af7 - TX_FAR _UnnamedText_49af7 - db $50 -; 0x49af7 + 5 bytes - -UnnamedText_49afc: ; 0x49afc - TX_FAR _UnnamedText_49afc - db $50 -; 0x49afc + 5 bytes - -MtMoon1Text14: ; 0x49b01 - TX_FAR _MtMoon1Text14 - db $50 - -MtMoon1Object: ; 0x49b06 (size=145) - db $3 ; border tile - - db $5 ; warps - db $23, $e, $1, $ff - db $23, $f, $1, $ff - db $5, $5, $0, MT_MOON_2 - db $b, $11, $2, MT_MOON_2 - db $f, $19, $3, MT_MOON_2 - - db $1 ; signs - db $17, $f, $e ; MtMoon1Text14 - - db $d ; people - db SPRITE_HIKER, $6 + 4, $5 + 4, $ff, $d0, $41, HIKER + $C8, $1 ; trainer - db SPRITE_BUG_CATCHER, $10 + 4, $c + 4, $ff, $d3, $42, YOUNGSTER + $C8, $3 ; trainer - db SPRITE_LASS, $4 + 4, $1e + 4, $ff, $d0, $43, LASS + $C8, $5 ; trainer - db SPRITE_BLACK_HAIR_BOY_2, $1f + 4, $18 + 4, $ff, $d1, $44, SUPER_NERD + $C8, $1 ; trainer - db SPRITE_LASS, $17 + 4, $10 + 4, $ff, $d0, $45, LASS + $C8, $6 ; trainer - db SPRITE_BUG_CATCHER, $16 + 4, $7 + 4, $ff, $d0, $46, BUG_CATCHER + $C8, $7 ; trainer - db SPRITE_BUG_CATCHER, $1b + 4, $1e + 4, $ff, $d3, $47, BUG_CATCHER + $C8, $8 ; trainer - db SPRITE_BALL, $14 + 4, $2 + 4, $ff, $ff, $88, POTION ; item - db SPRITE_BALL, $2 + 4, $2 + 4, $ff, $ff, $89, MOON_STONE ; item - db SPRITE_BALL, $1f + 4, $23 + 4, $ff, $ff, $8a, RARE_CANDY ; item - db SPRITE_BALL, $17 + 4, $24 + 4, $ff, $ff, $8b, ESCAPE_ROPE ; item - db SPRITE_BALL, $21 + 4, $14 + 4, $ff, $ff, $8c, POTION ; item - db SPRITE_BALL, $20 + 4, $5 + 4, $ff, $ff, $8d, TM_12 ; item - - ; warp-to - EVENT_DISP $14, $23, $e - EVENT_DISP $14, $23, $f - EVENT_DISP $14, $5, $5 ; MT_MOON_2 - EVENT_DISP $14, $b, $11 ; MT_MOON_2 - EVENT_DISP $14, $f, $19 ; MT_MOON_2 - -MtMoon1Blocks: ; 0x49b97 360 - INCBIN "maps/mtmoon1.blk" - -MtMoon3_h: ; 0x49cff to 0x49d0b (12 bytes) (id=61) - db $11 ; tileset - db MT_MOON_3_HEIGHT, MT_MOON_3_WIDTH ; dimensions (y, x) - dw MtMoon3Blocks, MtMoon3Texts, MtMoon3Script ; blocks, texts, scripts - db $00 ; connections - - dw MtMoon3Object ; objects - -MtMoon3Script: ; 0x49d0b - call $3c3c - ld hl, $5e48 - ld de, $5d63 - ld a, [$d607] - call $3160 - ld [$d607], a - ld a, [$d7f6] - bit 1, a - ret z - ld hl, $5d37 - call $34bf - jr nc, .asm_49d31 ; 0x49d29 $6 - ld hl, $d72e - set 4, [hl] - ret -.asm_49d31 - ld hl, $d72e - res 4, [hl] - ret -; 0x49d37 - -INCBIN "baserom.gbc",$49d37,$fd - -MtMoon3Texts: ; 0x49e34 - dw MtMoon3Text1, MtMoon3Text2, MtMoon3Text3, MtMoon3Text4, MtMoon3Text5, MtMoon3Text6, MtMoon3Text7, MtMoon3Text8, MtMoon3Text9, Unnamed_49f99 - -MtMoon3TrainerHeaders: -TrainerHeader_49e48: ; 0x49e48 - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7f6 ; flag's byte - dw UnnamedText_49f9f ; 0x5f9f TextBeforeBattle - dw UnnamedText_49fa9 ; 0x5fa9 TextAfterBattle - dw UnnamedText_49fa4 ; 0x5fa4 TextEndBattle - dw UnnamedText_49fa4 ; 0x5fa4 TextEndBattle -; 0x49e54 - -TrainerHeader_49e54: ; 0x49e54 - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7f6 ; flag's byte - dw UnnamedText_49fae ; 0x5fae TextBeforeBattle - dw UnnamedText_49fb8 ; 0x5fb8 TextAfterBattle - dw UnnamedText_49fb3 ; 0x5fb3 TextEndBattle - dw UnnamedText_49fb3 ; 0x5fb3 TextEndBattle -; 0x49e60 - -TrainerHeader_49e60: ; 0x49e60 - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7f6 ; flag's byte - dw UnnamedText_49fbd ; 0x5fbd TextBeforeBattle - dw UnnamedText_49fc7 ; 0x5fc7 TextAfterBattle - dw UnnamedText_49fc2 ; 0x5fc2 TextEndBattle - dw UnnamedText_49fc2 ; 0x5fc2 TextEndBattle -; 0x49e6c - -TrainerHeader_49e6c: ; 0x49e6c - db $5 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7f6 ; flag's byte - dw UnnamedText_49fcc ; 0x5fcc TextBeforeBattle - dw UnnamedText_49fd6 ; 0x5fd6 TextAfterBattle - dw UnnamedText_49fd1 ; 0x5fd1 TextEndBattle - dw UnnamedText_49fd1 ; 0x5fd1 TextEndBattle -; 0x49e78 - -db $ff - -MtMoon3Text1: ; 0x49e79 - db $08 ; asm - ld a, [$d7f6] - bit 1, a - jr z, .asm_be1e0 ; 0x49e7f - and $c0 - jr nz, .asm_f8cd4 ; 0x49e83 - ld hl, UnnamedText_49f8f - call PrintText - jr .asm_f1fba ; 0x49e8b -.asm_be1e0 ; 0x49e8d - ld hl, UnnamedText_49f85 - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, UnnamedText_49f8a - ld de, UnnamedText_49f8a - call $3354 - ldh a, [$8c] - ld [$cf13], a - call $336a - call $32d7 - ld a, $3 - ld [$d607], a - ld [$da39], a - jr .asm_f1fba ; 0x49eb6 -.asm_f8cd4 ; 0x49eb8 - ld hl, UnnamedText_49f94 - call PrintText -.asm_f1fba ; 0x49ebe - jp TextScriptEnd - -MtMoon3Text2: ; 0x49ec1 - db $08 ; asm - ld hl, TrainerHeader_49e48 - call LoadTrainerHeader - jp TextScriptEnd - -MtMoon3Text3: ; 0x49ecb - db $08 ; asm - ld hl, TrainerHeader_49e54 - call LoadTrainerHeader - jp TextScriptEnd - -MtMoon3Text4: ; 0x49ed5 - db $08 ; asm - ld hl, TrainerHeader_49e60 - call LoadTrainerHeader - jp TextScriptEnd - -MtMoon3Text5: ; 0x49edf - db $08 ; asm - ld hl, $5e6c - call LoadTrainerHeader - jp TextScriptEnd - -MtMoon3Text6: ; 0x49ee9 - db $08 ; asm - ld a, $1 - ld [$cc3c], a - ld hl, UnnamedText_49f24 - call PrintText - call $35ec - ld a, [$cc26] - and a - jr nz, .asm_1fa5e ; 0x49efc - ld bc,(DOME_FOSSIL << 8) | 1 - call GiveItem - jp nc, $5f76 - call $5f69 - ld a, $6d - ld [$cc4d], a - ld a, $11 - call Predef - ld hl, $d7f6 - set 6, [hl] - ld a, $4 - ld [$d607], a - ld [$da39], a -.asm_1fa5e ; 0x49f21 - jp TextScriptEnd - -UnnamedText_49f24: ; 0x49f24 - TX_FAR _UnnamedText_49f24 - db $50 -; 0x49f24 + 5 bytes - -MtMoon3Text7: ; 0x49f29 - db $08 ; asm - ld a, $1 - ld [$cc3c], a - ld hl, UnnamedText_49f64 - call PrintText - call $35ec - ld a, [$cc26] - and a - jr nz, .asm_8e988 ; 0x49f3c - ld bc, (HELIX_FOSSIL << 8) | 1 - call GiveItem - jp nc, Unnamed_49f76 - call Unnamed_49f69 - ld a, $6e - ld [$cc4d], a - ld a, $11 - call Predef - ld hl, $d7f6 - set 7, [hl] - ld a, $4 - ld [$d607], a - ld [$da39], a -.asm_8e988 ; 0x49f61 - jp TextScriptEnd - -UnnamedText_49f64: ; 0x49f64 - TX_FAR _UnnamedText_49f64 - db $50 -; 0x49f64 + 5 bytes - -Unnamed_49f69: ; 0x49f69 - ld hl, UnnamedText_49f6f - jp PrintText -; 0x49f6f - -UnnamedText_49f6f: ; 0x49f6f - TX_FAR _UnnamedText_49f6f ; 0x80995 - db $11, $d, $50 -; 0x49f76 - -Unnamed_49f76: ; 0x49f76 - ld hl, UnnamedText_49f7f - call PrintText - jp TextScriptEnd -; 0x49f7f - -UnnamedText_49f7f: ; 0x49f7f - TX_FAR _UnnamedText_49f7f ; 0x809a8 - db $d, $50 -; 0x49f85 - -UnnamedText_49f85: ; 0x49f85 - TX_FAR _UnnamedText_49f85 - db $50 -; 0x49f85 + 5 bytes - -UnnamedText_49f8a: ; 0x49f8a - TX_FAR _UnnamedText_49f8a - db $50 -; 0x49f8a + 5 bytes - -UnnamedText_49f8f: ; 0x49f8f - TX_FAR _UnnamedText_49f8f - db $50 -; 0x49f8f + 5 bytes - -UnnamedText_49f94: ; 0x49f94 - TX_FAR _UnnamedText_49f94 - db $50 -; 0x49f94 + 5 bytes - -Unnamed_49f99: ; 0x49f99 -INCBIN "baserom.gbc",$49f99,$49f9f - $49f99 - -UnnamedText_49f9f: ; 0x49f9f - TX_FAR _UnnamedText_49f9f - db $50 -; 0x49f9f + 5 bytes - -UnnamedText_49fa4: ; 0x49fa4 - TX_FAR _UnnamedText_49fa4 - db $50 -; 0x49fa4 + 5 bytes - -UnnamedText_49fa9: ; 0x49fa9 - TX_FAR _UnnamedText_49fa9 - db $50 -; 0x49fa9 + 5 bytes - -UnnamedText_49fae: ; 0x49fae - TX_FAR _UnnamedText_49fae - db $50 -; 0x49fae + 5 bytes - -UnnamedText_49fb3: ; 0x49fb3 - TX_FAR _UnnamedText_49fb3 - db $50 -; 0x49fb3 + 5 bytes - -UnnamedText_49fb8: ; 0x49fb8 - TX_FAR _UnnamedText_49fb8 - db $50 -; 0x49fb8 + 5 bytes - -UnnamedText_49fbd: ; 0x49fbd - TX_FAR _UnnamedText_49fbd - db $50 -; 0x49fbd + 5 bytes - -UnnamedText_49fc2: ; 0x49fc2 - TX_FAR _UnnamedText_49fc2 - db $50 -; 0x49fc2 + 5 bytes - -UnnamedText_49fc7: ; 0x49fc7 - TX_FAR _UnnamedText_49fc7 - db $50 -; 0x49fc7 + 5 bytes - -UnnamedText_49fcc: ; 0x49fcc - TX_FAR _UnnamedText_49fcc - db $50 -; 0x49fcc + 5 bytes - -UnnamedText_49fd1: ; 0x49fd1 - TX_FAR _UnnamedText_49fd1 - db $50 -; 0x49fd1 + 5 bytes - -UnnamedText_49fd6: ; 0x49fd6 - TX_FAR _UnnamedText_49fd6 - db $50 -; 0x49fd6 + 5 bytes - -MtMoon3Object: ; 0x49fdb (size=102) - db $3 ; border tile - - db $4 ; warps - db $9, $19, $1, MT_MOON_2 - db $11, $15, $4, MT_MOON_2 - db $1b, $f, $5, MT_MOON_2 - db $7, $5, $6, MT_MOON_2 - - db $0 ; signs - - db $9 ; people - db SPRITE_BLACK_HAIR_BOY_2, $8 + 4, $c + 4, $ff, $d3, $41, SUPER_NERD + $C8, $2 ; trainer - db SPRITE_ROCKET, $10 + 4, $b + 4, $ff, $d0, $42, ROCKET + $C8, $1 ; trainer - db SPRITE_ROCKET, $16 + 4, $f + 4, $ff, $d0, $43, ROCKET + $C8, $2 ; trainer - db SPRITE_ROCKET, $b + 4, $1d + 4, $ff, $d1, $44, ROCKET + $C8, $3 ; trainer - db SPRITE_ROCKET, $11 + 4, $1d + 4, $ff, $d2, $45, ROCKET + $C8, $4 ; trainer - db SPRITE_OMANYTE, $6 + 4, $c + 4, $ff, $ff, $6 ; person - db SPRITE_OMANYTE, $6 + 4, $d + 4, $ff, $ff, $7 ; person - db SPRITE_BALL, $15 + 4, $19 + 4, $ff, $ff, $88, HP_UP ; item - db SPRITE_BALL, $5 + 4, $1d + 4, $ff, $ff, $89, TM_01 ; item - - ; warp-to - EVENT_DISP $14, $9, $19 ; MT_MOON_2 - EVENT_DISP $14, $11, $15 ; MT_MOON_2 - EVENT_DISP $14, $1b, $f ; MT_MOON_2 - EVENT_DISP $14, $7, $5 ; MT_MOON_2 - -MtMoon3Blocks: ; 0x4a041 360 - INCBIN "maps/mtmoon3.blk" - -SafariZoneWest_h: ; 0x4a1a9 to 0x4a1b5 (12 bytes) (id=219) - db $03 ; tileset - db SAFARI_ZONE_WEST_HEIGHT, SAFARI_ZONE_WEST_WIDTH ; dimensions (y, x) - dw SafariZoneWestBlocks, SafariZoneWestTexts, SafariZoneWestScript ; blocks, texts, scripts - db $00 ; connections - - dw SafariZoneWestObject ; objects - -SafariZoneWestScript: ; 0x4a1b5 - jp $3c3c -; 0x4a1b8 - -SafariZoneWestTexts: ; 0x4a1b8 - dw SafariZoneWestText1, SafariZoneWestText2, SafariZoneWestText3, SafariZoneWestText4, SafariZoneWestText5, SafariZoneWestText6, SafariZoneWestText7, SafariZoneWestText8 - -SafariZoneWestText5: ; 0x4a1c8 - TX_FAR _SafariZoneWestText5 - db $50 - -SafariZoneWestText6: ; 0x4a1cd - TX_FAR _SafariZoneWestText6 - db $50 - -SafariZoneWestText7: ; 0x4a1d2 - TX_FAR _SafariZoneWestText7 - db $50 - -SafariZoneWestText8: ; 0x4a1d7 - TX_FAR _SafariZoneWestText8 - db $50 - -SafariZoneWestObject: ; 0x4a1dc (size=108) - db $0 ; border tile - - db $8 ; warps - db $0, $14, $0, SAFARI_ZONE_NORTH - db $0, $15, $1, SAFARI_ZONE_NORTH - db $0, $1a, $2, SAFARI_ZONE_NORTH - db $0, $1b, $3, SAFARI_ZONE_NORTH - db $16, $1d, $2, SAFARI_ZONE_CENTER - db $17, $1d, $3, SAFARI_ZONE_CENTER - db $3, $3, $0, SAFARI_ZONE_SECRET_HOUSE - db $b, $b, $0, SAFARI_ZONE_REST_HOUSE_2 - - db $4 ; signs - db $c, $c, $5 ; SafariZoneWestText5 - db $3, $11, $6 ; SafariZoneWestText6 - db $4, $1a, $7 ; SafariZoneWestText7 - db $16, $18, $8 ; SafariZoneWestText8 - - db $4 ; people - db SPRITE_BALL, $14 + 4, $8 + 4, $ff, $ff, $81, MAX_POTION ; item - db SPRITE_BALL, $7 + 4, $9 + 4, $ff, $ff, $82, TM_32 ; item - db SPRITE_BALL, $12 + 4, $12 + 4, $ff, $ff, $83, MAX_REVIVE ; item - db SPRITE_BALL, $7 + 4, $13 + 4, $ff, $ff, $84, GOLD_TEETH ; item - - ; warp-to - EVENT_DISP $f, $0, $14 ; SAFARI_ZONE_NORTH - EVENT_DISP $f, $0, $15 ; SAFARI_ZONE_NORTH - EVENT_DISP $f, $0, $1a ; SAFARI_ZONE_NORTH - EVENT_DISP $f, $0, $1b ; SAFARI_ZONE_NORTH - EVENT_DISP $f, $16, $1d ; SAFARI_ZONE_CENTER - EVENT_DISP $f, $17, $1d ; SAFARI_ZONE_CENTER - EVENT_DISP $f, $3, $3 ; SAFARI_ZONE_SECRET_HOUSE - EVENT_DISP $f, $b, $b ; SAFARI_ZONE_REST_HOUSE_2 - -SafariZoneWestBlocks: ; 0x4a248 195 - INCBIN "maps/safarizonewest.blk" - -SafariZoneSecretHouse_h: ; 0x4a30b to 0x4a317 (12 bytes) (id=222) - db $14 ; tileset - db SAFARI_ZONE_SECRET_HOUSE_HEIGHT, SAFARI_ZONE_SECRET_HOUSE_WIDTH ; dimensions (y, x) - dw SafariZoneSecretHouseBlocks, SafariZoneSecretHouseTexts, SafariZoneSecretHouseScript ; blocks, texts, scripts - db $00 ; connections - - dw SafariZoneSecretHouseObject ; objects - -SafariZoneSecretHouseScript: ; 0x4a317 - jp $3c3c -; 0x4a31a - -SafariZoneSecretHouseTexts: ; 0x4a31a - dw SafariZoneSecretHouseText1 - -SafariZoneSecretHouseText1: ; 0x4a31c - db $08 ; asm - ld a, [$d857] - bit 0, a - jr nz, .asm_20a9b ; 0x4a322 - ld hl, UnnamedText_4a350 - call PrintText - ld bc, (HM_03 << 8) | 1 - call GiveItem - jr nc, .asm_a21d2 ; 0x4a330 - ld hl, UnnamedText_4a355 - call PrintText - ld hl, $d857 - set 0, [hl] - jr .asm_8f1fc ; 0x4a33d -.asm_a21d2 ; 0x4a33f - ld hl, UnnamedText_4a360 - call PrintText - jr .asm_8f1fc ; 0x4a345 -.asm_20a9b ; 0x4a347 - ld hl, UnnamedText_4a35b - call PrintText -.asm_8f1fc ; 0x4a34d - jp TextScriptEnd - -UnnamedText_4a350: ; 0x4a350 - TX_FAR _UnnamedText_4a350 - db $50 -; 0x4a350 + 5 bytes - -UnnamedText_4a355: ; 0x4a355 - TX_FAR _UnnamedText_4a355 ; 0x85943 - db $0B, $50 -; 0x4a35b - -UnnamedText_4a35b: ; 0x4a35b - TX_FAR _UnnamedText_4a35b - db $50 -; 0x4a35b + 5 bytes - -UnnamedText_4a360: ; 0x4a360 - TX_FAR _UnnamedText_4a360 - db $50 -; 0x4a360 + 5 bytes - -SafariZoneSecretHouseObject: ; 0x4a365 (size=26) - db $17 ; border tile - - db $2 ; warps - db $7, $2, $6, SAFARI_ZONE_WEST - db $7, $3, $6, SAFARI_ZONE_WEST - - db $0 ; signs - - db $1 ; people - db SPRITE_FISHER, $3 + 4, $3 + 4, $ff, $d0, $1 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 ; SAFARI_ZONE_WEST - EVENT_DISP $4, $7, $3 ; SAFARI_ZONE_WEST - -SafariZoneSecretHouseBlocks: ; 0x4a37f 16 - INCBIN "maps/safarizonesecrethouse.blk" - -INCBIN "baserom.gbc",$4a38f,$1c71 - -SECTION "bank13",DATA,BANK[$13] - -YoungsterPic: - INCBIN "pic/trainer/youngster.pic" -BugCatcherPic: - INCBIN "pic/trainer/bugcatcher.pic" -LassPic: - INCBIN "pic/trainer/lass.pic" -SailorPic: - INCBIN "pic/trainer/sailor.pic" -JrTrainerMPic: - INCBIN "pic/trainer/jr.trainerm.pic" -JrTrainerFPic: - INCBIN "pic/trainer/jr.trainerf.pic" -PokemaniacPic: - INCBIN "pic/trainer/pokemaniac.pic" -SuperNerdPic: - INCBIN "pic/trainer/supernerd.pic" -HikerPic: - INCBIN "pic/trainer/hiker.pic" -BikerPic: - INCBIN "pic/trainer/biker.pic" -BurglarPic: - INCBIN "pic/trainer/burglar.pic" -EngineerPic: - INCBIN "pic/trainer/engineer.pic" -FisherPic: - INCBIN "pic/trainer/fisher.pic" -SwimmerPic: - INCBIN "pic/trainer/swimmer.pic" -CueBallPic: - INCBIN "pic/trainer/cueball.pic" -GamblerPic: - INCBIN "pic/trainer/gambler.pic" -BeautyPic: - INCBIN "pic/trainer/beauty.pic" -PsychicPic: - INCBIN "pic/trainer/psychic.pic" -RockerPic: - INCBIN "pic/trainer/rocker.pic" -JugglerPic: - INCBIN "pic/trainer/juggler.pic" -TamerPic: - INCBIN "pic/trainer/tamer.pic" -BirdKeeperPic: - INCBIN "pic/trainer/birdkeeper.pic" -BlackbeltPic: - INCBIN "pic/trainer/blackbelt.pic" -Rival1Pic: - INCBIN "pic/trainer/rival1.pic" -ProfOakPic: - INCBIN "pic/trainer/prof.oak.pic" -ChiefPic: -ScientistPic: - INCBIN "pic/trainer/scientist.pic" -GiovanniPic: - INCBIN "pic/trainer/giovanni.pic" -RocketPic: - INCBIN "pic/trainer/rocket.pic" -CooltrainerMPic: - INCBIN "pic/trainer/cooltrainerm.pic" -CooltrainerFPic: - INCBIN "pic/trainer/cooltrainerf.pic" -BrunoPic: - INCBIN "pic/trainer/bruno.pic" -BrockPic: - INCBIN "pic/trainer/brock.pic" -MistyPic: - INCBIN "pic/trainer/misty.pic" -LtSurgePic: - INCBIN "pic/trainer/lt.surge.pic" -ErikaPic: - INCBIN "pic/trainer/erika.pic" -KogaPic: - INCBIN "pic/trainer/koga.pic" -BlainePic: - INCBIN "pic/trainer/blaine.pic" -SabrinaPic: - INCBIN "pic/trainer/sabrina.pic" -GentlemanPic: - INCBIN "pic/trainer/gentleman.pic" -Rival2Pic: - INCBIN "pic/trainer/rival2.pic" -Rival3Pic: - INCBIN "pic/trainer/rival3.pic" -LoreleiPic: - INCBIN "pic/trainer/lorelei.pic" -ChannelerPic: - INCBIN "pic/trainer/channeler.pic" -AgathaPic: - INCBIN "pic/trainer/agatha.pic" -LancePic: - INCBIN "pic/trainer/lance.pic" - -BattleCenterM_h: ; 0x4fd04 to 0x4fd10 (12 bytes) (id=239) - db $15 ; tileset - db BATTLE_CENTER_HEIGHT, BATTLE_CENTER_WIDTH ; dimensions (y, x) - dw BattleCenterMBlocks, BattleCenterMTexts, BattleCenterMScript ; blocks, texts, scripts - db $00 ; connections - - dw BattleCenterMObject ; objects - -BattleCenterMScript: ; 0x4fd10 - call $3c3c - ld a, [$ff00+$aa] - cp $2 - ld a, $8 - jr z, .asm_4fd1d ; 0x4fd19 $2 - ld a, $c -.asm_4fd1d - ld [$ff00+$8d], a - ld a, $1 - ld [$ff00+$8c], a - call $34ae - ld hl, $d72d - bit 0, [hl] - set 0, [hl] - ret nz - ld hl, $c214 - ld a, $8 - ld [hli], a - ld a, $a - ld [hl], a - ld a, $8 - ld [$c119], a - ld a, [$ff00+$aa] - cp $2 - ret z - ld a, $7 - ld [$c215], a - ld a, $c - ld [$c119], a - ret -; 0x4fd4c - -BattleCenterMTexts: ; 0x4fd4c - dw BattleCenterMText1 - -BattleCenterMText1: ; 0x4fd4e - TX_FAR _BattleCenterMText1 - db $50 - -BattleCenterMObject: ; 0x4fd53 (size=10) - db $e ; border tile - - db $0 ; warps - - db $0 ; signs - - db $1 ; people - db SPRITE_RED, $2 + 4, $2 + 4, $ff, $0, $1 ; person - -BattleCenterMBlocks: ; 0x4fd5d 20 - INCBIN "maps/battlecenterm.blk" - -TradeCenterM_h: ; 0x4fd71 to 0x4fd7d (12 bytes) (id=240) - db $15 ; tileset - db TRADE_CENTER_HEIGHT, TRADE_CENTER_WIDTH ; dimensions (y, x) - dw TradeCenterMBlocks, TradeCenterMTexts, TradeCenterMScript ; blocks, texts, scripts - db $00 ; connections - - dw TradeCenterMObject ; objects - -TradeCenterMScript: ; 0x4fd7d - jp $7d10 -; 0x4fd80 - -TradeCenterMTexts: ; 0x4fd80 - dw TradeCenterMText1 - -TradeCenterMText1: ; 0x4fd82 - TX_FAR _TradeCenterMText1 - db $50 - -TradeCenterMObject: ; 0x4fd87 (size=10) - db $e ; border tile - - db $0 ; warps - - db $0 ; signs - - db $1 ; people - db SPRITE_RED, $2 + 4, $2 + 4, $ff, $0, $1 ; person - -TradeCenterMBlocks: ; 0x4fd91 20 - INCBIN "maps/tradecenterm.blk" - -INCBIN "baserom.gbc",$4fda5,$4fe3f - $4fda5 - -UnnamedText_4fe3f: ; 0x4fe3f - TX_FAR _UnnamedText_4fe3f - db $50 -; 0x4fe3f + 5 bytes - -UnnamedText_4fe44: ; 0x4fe44 - TX_FAR _UnnamedText_4fe44 - db $50 -; 0x4fe44 + 5 bytes - -GetPredefPointer: ; 7E49 -; stores hl in $CC4F,$CC50 -; stores de in $CC51,$CC52 -; stores bc in $CC53,$CC54 -; grabs a byte "n" from $CC4E, -; and gets the nth (3-byte) pointer in PredefPointers -; stores the bank of said pointer in [$D0B7] -; stores the pointer in hl and returns - ; ld $CC4F,hl - ld a,h - ld [$CC4F],a - ld a,l - ld [$CC50],a - - ; ld $CC51,de - ld hl,$CC51 - ld a,d - ld [hli],a - ld a,e - ld [hli],a - - ; ld $CC53,bc - ld a,b - ld [hli],a - ld [hl],c - - ld hl,PredefPointers - ld de,0 - - ; de = 3 * [$CC4E] - ld a,[$CC4E] - ld e,a - add a,a - add a,e - ld e,a - jr nc,.next\@ - inc d - -.next\@ - add hl,de - ld d,h - ld e,l - - ; get bank of predef routine - ld a,[de] - ld [$D0B7],a - - ; get pointer - inc de - ld a,[de] - ld l,a - inc de - ld a,[de] - ld h,a - - ret - -PredefPointers: ; 7E79 -; these are pointers to ASM routines. -; they appear to be used in overworld map scripts. - dbw $0F,$4D60 - dbw $0F,$70C6 - dbw $0F,$7073 - dbw $0B,$7E40 - dbw $0F,$7103 - dbw $1E,$5ABA - dbw $03,$7132 - dbw BANK(HealParty),HealParty - dbw BANK(MoveAnimation),MoveAnimation; 08 play move animation - dbw $03,$771E - dbw $03,$771E - dbw $03,$781D - dbw $03,$7836 - dbw $03,$771E - dbw $03,$771E - dbw $03,$7850 - dbw $03,$7666 - dbw $03,$71D7 - dbw $03,$71A6 - dbw $03,$469C - dbw $0F,$4A83 - dbw $03,$71C8 - dbw $03,$71C8 - dbw $03,$6E9E - dbw $03,$7850 - dbw $03,$4754 - dbw $0E,$6F5B - dbw $01,$6E43 - dbw $03,$78A5; 1C, used in Pokémon Tower - dbw $03,$3EB5 - dbw $03,$3E2E - dbw $12,$40EB - dbw $03,$78BA - dbw $12,$40FF - dbw $03,$7929 - dbw $03,$79A0 - dbw $12,$4125 - dbw $03,$7A1D - dbw $03,$79DC - dbw $01,$5AB0 - dbw $0F,$6D02 - dbw $10,$4000 - dbw $0E,$6D1C - dbw $1C,$778C - dbw $0F,$6F18 - dbw $01,$5A5F - dbw $03,$6A03 - dbw $10,$50F3 - dbw $1C,$496D - dbw $1E,$5DDA - dbw $10,$5682 - dbw $1E,$5869 - dbw $1C,$4B5D - dbw $03,$4586 - dbw $04,$6953 - dbw $04,$6B57 - dbw $10,$50E2 - dbw $15,$690F - dbw $10,$5010 - dbw BANK(Predef3B),Predef3B; 3B display pic? - dbw $03,$6F54 - dbw $10,$42D1 - dbw $0E,$6FB8 - dbw $1C,$770A - dbw $1C,$602B - dbw $03,$7113 - dbw $17,$5B5E - dbw $04,$773E - dbw $04,$7763 - dbw $1C,$5DDF - dbw $17,$40DC; 46 load dex screen - dbw $03,$72E5 - dbw $03,$7A1D - dbw $0F,$4DEC - dbw $1C,$4F60 - dbw $09,$7D6B - dbw $05,$7C47; 4C player exclamation - dbw $01,$5AAF; return immediately - dbw $01,$64EB - dbw $0D,$7CA1 - dbw $1C,$780F - dbw $1C,$76BD - dbw $1C,$75E8 - dbw $1C,$77E2 - dbw BANK(Predef54),Predef54 ; 54 initiate trade - dbw $1D,$405C - dbw $11,$4169 - dbw $1E,$45BA - dbw $1E,$4510 - dbw $03,$45BE - dbw $03,$460B - dbw $03,$4D99 - dbw $01,$4DE1 - dbw $09,$7D98 - dbw $03,$7473 - dbw $04,$68EF - dbw $04,$68F6 - dbw $07,$49C6 - dbw $16,$5035 - -SECTION "bank14",DATA,BANK[$14] - -Route22_h: ; 0x50000 to 0x50022 (34 bytes) (id=33) - db $00 ; tileset - db ROUTE_22_HEIGHT, ROUTE_22_WIDTH ; dimensions (y, x) - dw Route22Blocks, Route22Texts, Route22Script ; blocks, texts, scripts - db NORTH | EAST ; connections - - ; connections data - - db ROUTE_23 - dw Route23Blocks + (ROUTE_23_HEIGHT - 3) * ROUTE_23_WIDTH ; connection strip location - dw $C6EB + 0 ; current map position - db ROUTE_23_WIDTH, ROUTE_23_WIDTH ; bigness, width - db (ROUTE_23_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x) - dw $C6E9 + ROUTE_23_HEIGHT * (ROUTE_23_WIDTH + 6) ; window - - db VIRIDIAN_CITY - dw ViridianCityBlocks + (VIRIDIAN_CITY_WIDTH) ; connection strip location - dw $C6E5 + (ROUTE_22_WIDTH + 6) * (-3 + 4) ; current map position - db $f, VIRIDIAN_CITY_WIDTH ; bigness, width - db (-4 * -2), 0 ; alignments (y, x) - dw $C6EF + VIRIDIAN_CITY_WIDTH ; window - - ; end connections data - - dw Route22Object ; objects - -Route22Object: ; 0x50022 (size=27) - db $2c ; border tile - - db $1 ; warps - db $5, $8, $0, ROUTE_22_GATE - - db $1 ; signs - db $b, $7, $3 ; Route22Text3 - - db $2 ; people - db SPRITE_BLUE, $5 + 4, $19 + 4, $ff, $ff, $1 ; person - db SPRITE_BLUE, $5 + 4, $19 + 4, $ff, $ff, $2 ; person - - ; warp-to - EVENT_DISP $14, $5, $8 ; ROUTE_22_GATE - -Route22Blocks: ; 0x5003d 180 - INCBIN "maps/route22.blk" - -Route20_h: ; 0x500f1 to 0x50113 (34 bytes) (id=31) - db $00 ; tileset - db ROUTE_20_HEIGHT, ROUTE_20_WIDTH ; dimensions (y, x) - dw Route20Blocks, Route20Texts, Route20Script ; blocks, texts, scripts - db WEST | EAST ; connections - - ; connections data - - db CINNABAR_ISLAND - dw CinnabarIslandBlocks - 3 + (CINNABAR_ISLAND_WIDTH) ; connection strip location - dw $C6E8 + (ROUTE_20_WIDTH + 6) * (0 + 3) ; current map position - db CINNABAR_ISLAND_HEIGHT, CINNABAR_ISLAND_WIDTH ; bigness, width - db (0 * -2), (CINNABAR_ISLAND_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * CINNABAR_ISLAND_WIDTH ; window - - db ROUTE_19 - dw Route19Blocks + (ROUTE_19_WIDTH * 15) ; connection strip location - dw $C6E5 + (ROUTE_20_WIDTH + 6) * (-3 + 4) ; current map position - db $c, ROUTE_19_WIDTH ; bigness, width - db (-18 * -2), 0 ; alignments (y, x) - dw $C6EF + ROUTE_19_WIDTH ; window - - ; end connections data - - dw Route20Object ; objects - -Route20Object: ; 0x50113 (size=106) - db $43 ; border tile - - db $2 ; warps - db $5, $30, $0, SEAFOAM_ISLANDS_1 - db $9, $3a, $2, SEAFOAM_ISLANDS_1 - - db $2 ; signs - db $7, $33, $b ; Route20Text11 - db $b, $39, $c ; Route20Text12 - - db $a ; people - db SPRITE_SWIMMER, $8 + 4, $57 + 4, $ff, $d1, $41, SWIMMER + $C8, $9 ; trainer - db SPRITE_SWIMMER, $b + 4, $44 + 4, $ff, $d1, $42, BEAUTY + $C8, $f ; trainer - db SPRITE_SWIMMER, $a + 4, $2d + 4, $ff, $d0, $43, BEAUTY + $C8, $6 ; trainer - db SPRITE_SWIMMER, $e + 4, $37 + 4, $ff, $d3, $44, JR__TRAINER_F + $C8, $18 ; trainer - db SPRITE_SWIMMER, $d + 4, $26 + 4, $ff, $d0, $45, SWIMMER + $C8, $a ; trainer - db SPRITE_SWIMMER, $d + 4, $57 + 4, $ff, $d1, $46, SWIMMER + $C8, $b ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $9 + 4, $22 + 4, $ff, $d1, $47, BIRD_KEEPER + $C8, $b ; trainer - db SPRITE_SWIMMER, $7 + 4, $19 + 4, $ff, $d1, $48, BEAUTY + $C8, $7 ; trainer - db SPRITE_SWIMMER, $c + 4, $18 + 4, $ff, $d0, $49, JR__TRAINER_F + $C8, $10 ; trainer - db SPRITE_SWIMMER, $8 + 4, $f + 4, $ff, $d1, $4a, BEAUTY + $C8, $8 ; trainer - - ; warp-to - EVENT_DISP $32, $5, $30 ; SEAFOAM_ISLANDS_1 - EVENT_DISP $32, $9, $3a ; SEAFOAM_ISLANDS_1 - -Route20Blocks: ; 0x5017d 450 - INCBIN "maps/route20.blk" - -Route23_h: ; 0x5033f to 0x50361 (34 bytes) (id=34) - db $17 ; tileset - db ROUTE_23_HEIGHT, ROUTE_23_WIDTH ; dimensions (y, x) - dw Route23Blocks, Route23Texts, Route23Script ; blocks, texts, scripts - db NORTH | SOUTH ; connections - - ; connections data - - db INDIGO_PLATEAU - dw IndigoPlateauBlocks + (INDIGO_PLATEAU_HEIGHT - 3) * INDIGO_PLATEAU_WIDTH ; connection strip location - dw $C6EB + 0 ; current map position - db INDIGO_PLATEAU_WIDTH, INDIGO_PLATEAU_WIDTH ; bigness, width - db (INDIGO_PLATEAU_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x) - dw $C6E9 + INDIGO_PLATEAU_HEIGHT * (INDIGO_PLATEAU_WIDTH + 6) ; window - - db ROUTE_22 - dw Route22Blocks ; connection strip location - dw $C6EB + (ROUTE_23_HEIGHT + 3) * (ROUTE_23_WIDTH + 6) + 0 ; current map position - db $d, ROUTE_22_WIDTH ; bigness, width - db 0, (0 * -2) ; alignments (y, x) - dw $C6EF + ROUTE_22_WIDTH ; window - - ; end connections data - - dw Route23Object ; objects - -Route23Object: ; 0x50361 (size=81) - db $f ; border tile - - db $4 ; warps - db $8b, $7, $2, ROUTE_22_GATE - db $8b, $8, $3, ROUTE_22_GATE - db $1f, $4, $0, VICTORY_ROAD_1 - db $1f, $e, $1, VICTORY_ROAD_2 - - db $1 ; signs - db $21, $3, $8 ; Route23Text8 - - db $7 ; people - db SPRITE_GUARD, $23 + 4, $4 + 4, $ff, $d0, $1 ; person - db SPRITE_GUARD, $38 + 4, $a + 4, $ff, $d0, $2 ; person - db SPRITE_SWIMMER, $55 + 4, $8 + 4, $ff, $d0, $3 ; person - db SPRITE_SWIMMER, $60 + 4, $b + 4, $ff, $d0, $4 ; person - db SPRITE_GUARD, $69 + 4, $c + 4, $ff, $d0, $5 ; person - db SPRITE_GUARD, $77 + 4, $8 + 4, $ff, $d0, $6 ; person - db SPRITE_GUARD, $88 + 4, $8 + 4, $ff, $d0, $7 ; person - - ; warp-to - EVENT_DISP $a, $8b, $7 ; ROUTE_22_GATE - EVENT_DISP $a, $8b, $8 ; ROUTE_22_GATE - EVENT_DISP $a, $1f, $4 ; VICTORY_ROAD_1 - EVENT_DISP $a, $1f, $e ; VICTORY_ROAD_2 - -Route23Blocks: ; 0x503b2 720 - INCBIN "maps/route23.blk" - -Route24_h: ; 0x50682 to 0x506a4 (34 bytes) (id=35) - db $00 ; tileset - db ROUTE_24_HEIGHT, ROUTE_24_WIDTH ; dimensions (y, x) - dw Route24Blocks, Route24Texts, Route24Script ; blocks, texts, scripts - db SOUTH | EAST ; connections - - ; connections data - - db CERULEAN_CITY - dw CeruleanCityBlocks + 2 ; connection strip location - dw $C6EB + (ROUTE_24_HEIGHT + 3) * (ROUTE_24_WIDTH + 6) + -3 ; current map position - db $10, CERULEAN_CITY_WIDTH ; bigness, width - db 0, (-5 * -2) ; alignments (y, x) - dw $C6EF + CERULEAN_CITY_WIDTH ; window - - db ROUTE_25 - dw Route25Blocks + (ROUTE_25_WIDTH * 0) ; connection strip location - dw $C6E5 + (ROUTE_24_WIDTH + 6) * (0 + 4) ; current map position - db ROUTE_25_HEIGHT, ROUTE_25_WIDTH ; bigness, width - db (0 * -2), 0 ; alignments (y, x) - dw $C6EF + ROUTE_25_WIDTH ; window - - ; end connections data - - dw Route24Object ; objects - -Route24Object: ; 0x506a4 (size=67) - db $2c ; border tile - - db $0 ; warps - - db $0 ; signs - - db $8 ; people - db SPRITE_BLACK_HAIR_BOY_1, $f + 4, $b + 4, $ff, $d2, $41, ROCKET + $C8, $6 ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $14 + 4, $5 + 4, $ff, $d1, $42, JR__TRAINER_M + $C8, $2 ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $13 + 4, $b + 4, $ff, $d2, $43, JR__TRAINER_M + $C8, $3 ; trainer - db SPRITE_LASS, $16 + 4, $a + 4, $ff, $d3, $44, LASS + $C8, $7 ; trainer - db SPRITE_BUG_CATCHER, $19 + 4, $b + 4, $ff, $d2, $45, YOUNGSTER + $C8, $4 ; trainer - db SPRITE_LASS, $1c + 4, $a + 4, $ff, $d3, $46, LASS + $C8, $8 ; trainer - db SPRITE_BUG_CATCHER, $1f + 4, $b + 4, $ff, $d2, $47, BUG_CATCHER + $C8, $9 ; trainer - db SPRITE_BALL, $5 + 4, $a + 4, $ff, $ff, $88, TM_45 ; item - -Route24Blocks: ; 0x506e7 180 - INCBIN "maps/route24.blk" - -Route25_h: ; 0x5079b to 0x507b2 (23 bytes) (id=36) - db $00 ; tileset - db ROUTE_25_HEIGHT, ROUTE_25_WIDTH ; dimensions (y, x) - dw Route25Blocks, Route25Texts, Route25Script ; blocks, texts, scripts - db WEST ; connections - - ; connections data - - db ROUTE_24 - dw Route24Blocks - 3 + (ROUTE_24_WIDTH) ; connection strip location - dw $C6E8 + (ROUTE_25_WIDTH + 6) * (0 + 3) ; current map position - db $c, ROUTE_24_WIDTH ; bigness, width - db (0 * -2), (ROUTE_24_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * ROUTE_24_WIDTH ; window - - ; end connections data - - dw Route25Object ; objects - -Route25Object: ; 0x507b2 (size=94) - db $2c ; border tile - - db $1 ; warps - db $3, $2d, $0, BILLS_HOUSE - - db $1 ; signs - db $3, $2b, $b ; Route25Text11 - - db $a ; people - db SPRITE_BUG_CATCHER, $2 + 4, $e + 4, $ff, $d0, $41, YOUNGSTER + $C8, $5 ; trainer - db SPRITE_BUG_CATCHER, $5 + 4, $12 + 4, $ff, $d1, $42, YOUNGSTER + $C8, $6 ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $4 + 4, $18 + 4, $ff, $d0, $43, JR__TRAINER_M + $C8, $2 ; trainer - db SPRITE_LASS, $8 + 4, $12 + 4, $ff, $d3, $44, LASS + $C8, $9 ; trainer - db SPRITE_BUG_CATCHER, $3 + 4, $20 + 4, $ff, $d2, $45, YOUNGSTER + $C8, $7 ; trainer - db SPRITE_LASS, $4 + 4, $25 + 4, $ff, $d0, $46, LASS + $C8, $a ; trainer - db SPRITE_HIKER, $4 + 4, $8 + 4, $ff, $d3, $47, HIKER + $C8, $2 ; trainer - db SPRITE_HIKER, $9 + 4, $17 + 4, $ff, $d1, $48, HIKER + $C8, $3 ; trainer - db SPRITE_HIKER, $7 + 4, $d + 4, $ff, $d3, $49, HIKER + $C8, $4 ; trainer - db SPRITE_BALL, $2 + 4, $16 + 4, $ff, $ff, $8a, TM_19 ; item - - ; warp-to - EVENT_DISP $1e, $3, $2d ; BILLS_HOUSE - -Route25Blocks: ; 0x50810 270 - INCBIN "maps/route25.blk" - -IndigoPlateau_h: ; 0x5091e to 0x50935 (23 bytes) (id=9) - db $17 ; tileset - db INDIGO_PLATEAU_HEIGHT, INDIGO_PLATEAU_WIDTH ; dimensions (y, x) - dw IndigoPlateauBlocks, IndigoPlateauTexts, IndigoPlateauScript ; blocks, texts, scripts - db SOUTH ; connections - - ; connections data - - db ROUTE_23 - dw Route23Blocks ; connection strip location - dw $C6EB + (INDIGO_PLATEAU_HEIGHT + 3) * (INDIGO_PLATEAU_WIDTH + 6) + 0 ; current map position - db ROUTE_23_WIDTH, ROUTE_23_WIDTH ; bigness, width - db 0, (0 * -2) ; alignments (y, x) - dw $C6EF + ROUTE_23_WIDTH ; window - - ; end connections data - - dw IndigoPlateauObject ; objects - -IndigoPlateauScript: ; 0x50935 - ret -; 0x50936 - -IndigoPlateauTexts: -IndigoPlateauObject: ; 0x50936 (size=20) - db $e ; border tile - - db $2 ; warps - db $5, $9, $0, INDIGO_PLATEAU_LOBBY - db $5, $a, $0, INDIGO_PLATEAU_LOBBY - - db $0 ; signs - - db $0 ; people - - ; warp-to - EVENT_DISP $a, $5, $9 ; INDIGO_PLATEAU_LOBBY - EVENT_DISP $a, $5, $a ; INDIGO_PLATEAU_LOBBY - -IndigoPlateauBlocks: ; 0x5094a 90 - INCBIN "maps/indigoplateau.blk" - -SaffronCity_h: ; 0x509a4 to 0x509dc (56 bytes) (id=10) - db $00 ; tileset - db SAFFRON_CITY_HEIGHT, SAFFRON_CITY_WIDTH ; dimensions (y, x) - dw SaffronCityBlocks, SaffronCityTexts, SaffronCityScript ; blocks, texts, scripts - db NORTH | SOUTH | WEST | EAST ; connections - - ; connections data - - db ROUTE_5 - dw Route5Blocks + (ROUTE_5_HEIGHT - 3) * ROUTE_5_WIDTH ; connection strip location - dw $C6EB + 5 ; current map position - db ROUTE_5_WIDTH, ROUTE_5_WIDTH ; bigness, width - db (ROUTE_5_HEIGHT * 2) - 1, (5 * -2) ; alignments (y, x) - dw $C6E9 + ROUTE_5_HEIGHT * (ROUTE_5_WIDTH + 6) ; window - - db ROUTE_6 - dw Route6Blocks ; connection strip location - dw $C6EB + (SAFFRON_CITY_HEIGHT + 3) * (SAFFRON_CITY_WIDTH + 6) + 5 ; current map position - db ROUTE_6_WIDTH, ROUTE_6_WIDTH ; bigness, width - db 0, (5 * -2) ; alignments (y, x) - dw $C6EF + ROUTE_6_WIDTH ; window - - db ROUTE_7 - dw Route7Blocks - 3 + (ROUTE_7_WIDTH) ; connection strip location - dw $C6E8 + (SAFFRON_CITY_WIDTH + 6) * (4 + 3) ; current map position - db ROUTE_7_HEIGHT, ROUTE_7_WIDTH ; bigness, width - db (4 * -2), (ROUTE_7_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * ROUTE_7_WIDTH ; window - - db ROUTE_8 - dw Route8Blocks + (ROUTE_8_WIDTH * 0) ; connection strip location - dw $C6E5 + (SAFFRON_CITY_WIDTH + 6) * (4 + 4) ; current map position - db ROUTE_8_HEIGHT, ROUTE_8_WIDTH ; bigness, width - db (4 * -2), 0 ; alignments (y, x) - dw $C6EF + ROUTE_8_WIDTH ; window - - ; end connections data - - dw SaffronCityObject ; objects - -SaffronCityObject: ; 0x509dc (size=188) - db $f ; border tile - - db $8 ; warps - db $5, $7, $0, COPYCATS_HOUSE_1F - db $3, $1a, $0, FIGHTINGDOJO - db $3, $22, $0, SAFFRON_GYM - db $b, $d, $0, SAFFRON_HOUSE_1 - db $b, $19, $0, SAFFRON_MART - db $15, $12, $0, SILPH_CO_1F - db $1d, $9, $0, SAFFRON_POKECENTER - db $1d, $1d, $0, SAFFRON_HOUSE_2 - - db $a ; signs - db $5, $11, $10 ; SaffronCityText16 - db $5, $1b, $11 ; SaffronCityText17 - db $5, $23, $12 ; SaffronCityText18 - db $b, $1a, $13 ; SaffronCityText19 - db $13, $27, $14 ; SaffronCityText20 - db $15, $5, $15 ; SaffronCityText21 - db $15, $f, $16 ; SaffronCityText22 - db $1d, $a, $17 ; SaffronCityText23 - db $1d, $1b, $18 ; SaffronCityText24 - db $13, $1, $19 ; SaffronCityText25 - - db $f ; people - db SPRITE_ROCKET, $6 + 4, $7 + 4, $ff, $ff, $1 ; person - db SPRITE_ROCKET, $8 + 4, $14 + 4, $fe, $2, $2 ; person - db SPRITE_ROCKET, $4 + 4, $22 + 4, $ff, $ff, $3 ; person - db SPRITE_ROCKET, $c + 4, $d + 4, $ff, $ff, $4 ; person - db SPRITE_ROCKET, $19 + 4, $b + 4, $fe, $2, $5 ; person - db SPRITE_ROCKET, $d + 4, $20 + 4, $fe, $2, $6 ; person - db SPRITE_ROCKET, $1e + 4, $12 + 4, $fe, $2, $7 ; person - db SPRITE_OAK_AIDE, $e + 4, $8 + 4, $fe, $0, $8 ; person - db SPRITE_LAPRAS_GIVER, $17 + 4, $17 + 4, $ff, $ff, $9 ; person - db SPRITE_ERIKA, $1e + 4, $11 + 4, $fe, $2, $a ; person - db SPRITE_GENTLEMAN, $c + 4, $1e + 4, $ff, $d0, $b ; person - db SPRITE_BIRD, $c + 4, $1f + 4, $ff, $d0, $c ; person - db SPRITE_ROCKER, $8 + 4, $12 + 4, $ff, $d1, $d ; person - db SPRITE_ROCKET, $16 + 4, $12 + 4, $ff, $d0, $e ; person - db SPRITE_ROCKET, $16 + 4, $13 + 4, $ff, $d0, $f ; person - - ; warp-to - EVENT_DISP $14, $5, $7 ; COPYCATS_HOUSE_1F - EVENT_DISP $14, $3, $1a ; FIGHTINGDOJO - EVENT_DISP $14, $3, $22 ; SAFFRON_GYM - EVENT_DISP $14, $b, $d ; SAFFRON_HOUSE_1 - EVENT_DISP $14, $b, $19 ; SAFFRON_MART - EVENT_DISP $14, $15, $12 ; SILPH_CO_1F - EVENT_DISP $14, $1d, $9 ; SAFFRON_POKECENTER - EVENT_DISP $14, $1d, $1d ; SAFFRON_HOUSE_2 - -SaffronCityBlocks: ; 0x50a98 360 - INCBIN "maps/saffroncity.blk" - -SaffronCityScript: ; 0x50c00 - jp $3c3c -; 0x50c03 - -SaffronCityTexts: ; 0x50c03 - dw SaffronCityText1, SaffronCityText2, SaffronCityText3, SaffronCityText4, SaffronCityText5, SaffronCityText6, SaffronCityText7, SaffronCityText8, SaffronCityText9, SaffronCityText10, SaffronCityText11, SaffronCityText12, SaffronCityText13, SaffronCityText14, SaffronCityText15, SaffronCityText16, SaffronCityText17, SaffronCityText18, SaffronCityText19, SaffronCityText20, SaffronCityText21, SaffronCityText22, SaffronCityText23, SaffronCityText24, SaffronCityText25 - -SaffronCityText1: ; 0x50c35 - TX_FAR _SaffronCityText1 - db $50 - -SaffronCityText2: ; 0x50c3a - TX_FAR _SaffronCityText2 - db $50 - -SaffronCityText3: ; 0x50c3f - TX_FAR _SaffronCityText3 - db $50 - -SaffronCityText4: ; 0x50c44 - TX_FAR _SaffronCityText4 - db $50 - -SaffronCityText5: ; 0x50c49 - TX_FAR _SaffronCityText5 - db $50 - -SaffronCityText6: ; 0x50c4e - TX_FAR _SaffronCityText6 - db $50 - -SaffronCityText7: ; 0x50c53 - TX_FAR _SaffronCityText7 - db $50 - -SaffronCityText8: ; 0x50c58 - TX_FAR _SaffronCityText8 - db $50 - -SaffronCityText9: ; 0x50c5d - TX_FAR _SaffronCityText9 - db $50 - -SaffronCityText10: ; 0x50c62 - TX_FAR _SaffronCityText10 - db $50 - -SaffronCityText11: ; 0x50c67 - TX_FAR _SaffronCityText11 - db $50 - -SaffronCityText12: ; 0x50c6c - TX_FAR _SaffronCityText12 - db $15, $50 - -SaffronCityText13: ; 0x50c72 - TX_FAR _SaffronCityText13 - db $50 - -SaffronCityText14: ; 0x50c77 - TX_FAR _SaffronCityText14 - db $50 - -SaffronCityText15: ; 0x50c7c - TX_FAR _SaffronCityText15 - db $50 - -SaffronCityText16: ; 0x50c81 - TX_FAR _SaffronCityText16 - db $50 - -SaffronCityText17: ; 0x50c86 - TX_FAR _SaffronCityText17 - db $50 - -SaffronCityText18: ; 0x50c8b - TX_FAR _SaffronCityText18 - db $50 - -SaffronCityText20: ; 0x50c90 - TX_FAR _SaffronCityText20 - db $50 - -SaffronCityText21: ; 0x50c95 - TX_FAR _SaffronCityText21 - db $50 - -SaffronCityText22: ; 0x50c9a - TX_FAR _SaffronCityText22 - db $50 - -SaffronCityText24: ; 0x50c9f - TX_FAR _SaffronCityText24 - db $50 - -SaffronCityText25: ; 0x50ca4 - TX_FAR _SaffronCityText25 - db $50 - -Route20Script: ; 0x50ca9 - ld hl, $d7e7 - bit 0, [hl] - res 0, [hl] - call nz, $4cc6 - call $3c3c - ld hl, $4d3a - ld de, $4d1c - ld a, [$d628] - call $3160 - ld [$d628], a - ret -; 0x50cc6 - -INCBIN "baserom.gbc",$50cc6,$5c - -Route20Texts: ; 0x50d22 - dw Route20Text1, Route20Text2, Route20Text3, Route20Text4, Route20Text5, Route20Text6, Route20Text7, Route20Text8, Route20Text9, Route20Text10, Route20Text11, Route20Text12 - -Route20TrainerHeaders: -Route20TrainerHeader1: - db $1 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e7 ; flag's byte - dw UnnamedText_50e17 ; 0x4e17 TextBeforeBattle - dw UnnamedText_50e21 ; 0x4e21 TextAfterBattle - dw UnnamedText_50e1c ; 0x4e1c TextEndBattle - dw UnnamedText_50e1c ; 0x4e1c TextEndBattle -; 0x50d46 - -TrainerHeader_50d46: ; 0x50d46 - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e7 ; flag's byte - dw UnnamedText_50e26 ; 0x4e26 TextBeforeBattle - dw UnnamedText_50e30 ; 0x4e30 TextAfterBattle - dw UnnamedText_50e2b ; 0x4e2b TextEndBattle - dw UnnamedText_50e2b ; 0x4e2b TextEndBattle -; 0x50d52 - -TrainerHeader_50d52: ; 0x50d52 - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7e7 ; flag's byte - dw UnnamedText_50e35 ; 0x4e35 TextBeforeBattle - dw UnnamedText_50e3f ; 0x4e3f TextAfterBattle - dw UnnamedText_50e3a ; 0x4e3a TextEndBattle - dw UnnamedText_50e3a ; 0x4e3a TextEndBattle -; 0x50d5e - -TrainerHeader_50d5e: ; 0x50d5e - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e7 ; flag's byte - dw UnnamedText_50e44 ; 0x4e44 TextBeforeBattle - dw UnnamedText_50e4e ; 0x4e4e TextAfterBattle - dw UnnamedText_50e49 ; 0x4e49 TextEndBattle - dw UnnamedText_50e49 ; 0x4e49 TextEndBattle -; 0x50d6a - -TrainerHeader_50d6a: ; 0x50d6a - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7e7 ; flag's byte - dw UnnamedText_50e53 ; 0x4e53 TextBeforeBattle - dw UnnamedText_50e5d ; 0x4e5d TextAfterBattle - dw UnnamedText_50e58 ; 0x4e58 TextEndBattle - dw UnnamedText_50e58 ; 0x4e58 TextEndBattle -; 0x50d76 - -TrainerHeader_50d76: ; 0x50d76 - db $6 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e7 ; flag's byte - dw UnnamedText_50e62 ; 0x4e62 TextBeforeBattle - dw UnnamedText_50e6c ; 0x4e6c TextAfterBattle - dw UnnamedText_50e67 ; 0x4e67 TextEndBattle - dw UnnamedText_50e67 ; 0x4e67 TextEndBattle -; 0x50d82 - -TrainerHeader_50d82: ; 0x50d82 - db $7 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7e7 ; flag's byte - dw UnnamedText_50e71 ; 0x4e71 TextBeforeBattle - dw UnnamedText_50e7b ; 0x4e7b TextAfterBattle - dw UnnamedText_50e76 ; 0x4e76 TextEndBattle - dw UnnamedText_50e76 ; 0x4e76 TextEndBattle -; 0x50d8e - -TrainerHeader_50d8e: ; 0x50d8e - db $8 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e7 ; flag's byte - dw UnnamedText_50e80 ; 0x4e80 TextBeforeBattle - dw UnnamedText_50e8a ; 0x4e8a TextAfterBattle - dw UnnamedText_50e85 ; 0x4e85 TextEndBattle - dw UnnamedText_50e85 ; 0x4e85 TextEndBattle -; 0x50d9a - -TrainerHeader_50d9a: ; 0x50d9a - db $9 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7e7 ; flag's byte - dw UnnamedText_50e8f ; 0x4e8f TextBeforeBattle - dw UnnamedText_50e99 ; 0x4e99 TextAfterBattle - dw UnnamedText_50e94 ; 0x4e94 TextEndBattle - dw UnnamedText_50e94 ; 0x4e94 TextEndBattle -; 0x50da6 - -TrainerHeader_50da6: ; 0x50da6 - db $a ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e7 ; flag's byte - dw UnnamedText_50e9e ; 0x4e9e TextBeforeBattle - dw UnnamedText_50ea8 ; 0x4ea8 TextAfterBattle - dw UnnamedText_50ea3 ; 0x4ea3 TextEndBattle - dw UnnamedText_50ea3 ; 0x4ea3 TextEndBattle -; 0x50db2 - -db $ff - -Route20Text1: ; 0x50db3 - db $08 ; asm - ld hl, Route20TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -Route20Text2: ; 0x50dbd - db $08 ; asm - ld hl, TrainerHeader_50d46 - call LoadTrainerHeader - jp TextScriptEnd - -Route20Text3: ; 0x50dc7 - db $08 ; asm - ld hl, TrainerHeader_50d52 - call LoadTrainerHeader - jp TextScriptEnd - -Route20Text4: ; 0x50dd1 - db $08 ; asm - ld hl, TrainerHeader_50d5e - call LoadTrainerHeader - jp TextScriptEnd - -Route20Text5: ; 0x50ddb - db $08 ; asm - ld hl, TrainerHeader_50d6a - call LoadTrainerHeader - jp TextScriptEnd - -Route20Text6: ; 0x50de5 - db $08 ; asm - ld hl, TrainerHeader_50d76 - call LoadTrainerHeader - jp TextScriptEnd - -Route20Text7: ; 0x50def - db $08 ; asm - ld hl, TrainerHeader_50d82 - call LoadTrainerHeader - jp TextScriptEnd - -Route20Text8: ; 0x50df9 - db $08 ; asm - ld hl, TrainerHeader_50d8e - call LoadTrainerHeader - jp TextScriptEnd - -Route20Text9: ; 0x50e03 - db $08 ; asm - ld hl, TrainerHeader_50d9a - call LoadTrainerHeader - jp TextScriptEnd - -Route20Text10: ; 0x50e0d - db $08 ; asm - ld hl, TrainerHeader_50da6 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_50e17: ; 0x50e17 - TX_FAR _UnnamedText_50e17 - db $50 -; 0x50e17 + 5 bytes - -UnnamedText_50e1c: ; 0x50e1c - TX_FAR _UnnamedText_50e1c - db $50 -; 0x50e1c + 5 bytes - -UnnamedText_50e21: ; 0x50e21 - TX_FAR _UnnamedText_50e21 - db $50 -; 0x50e21 + 5 bytes - -UnnamedText_50e26: ; 0x50e26 - TX_FAR _UnnamedText_50e26 - db $50 -; 0x50e26 + 5 bytes - -UnnamedText_50e2b: ; 0x50e2b - TX_FAR _UnnamedText_50e2b - db $50 -; 0x50e2b + 5 bytes - -UnnamedText_50e30: ; 0x50e30 - TX_FAR _UnnamedText_50e30 - db $50 -; 0x50e30 + 5 bytes - -UnnamedText_50e35: ; 0x50e35 - TX_FAR _UnnamedText_50e35 - db $50 -; 0x50e35 + 5 bytes - -UnnamedText_50e3a: ; 0x50e3a - TX_FAR _UnnamedText_50e3a - db $50 -; 0x50e3a + 5 bytes - -UnnamedText_50e3f: ; 0x50e3f - TX_FAR _UnnamedText_50e3f - db $50 -; 0x50e3f + 5 bytes - -UnnamedText_50e44: ; 0x50e44 - TX_FAR _UnnamedText_50e44 - db $50 -; 0x50e44 + 5 bytes - -UnnamedText_50e49: ; 0x50e49 - TX_FAR _UnnamedText_50e49 - db $50 -; 0x50e49 + 5 bytes - -UnnamedText_50e4e: ; 0x50e4e - TX_FAR _UnnamedText_50e4e - db $50 -; 0x50e4e + 5 bytes - -UnnamedText_50e53: ; 0x50e53 - TX_FAR _UnnamedText_50e53 - db $50 -; 0x50e53 + 5 bytes - -UnnamedText_50e58: ; 0x50e58 - TX_FAR _UnnamedText_50e58 - db $50 -; 0x50e58 + 5 bytes - -UnnamedText_50e5d: ; 0x50e5d - TX_FAR _UnnamedText_50e5d - db $50 -; 0x50e5d + 5 bytes - -UnnamedText_50e62: ; 0x50e62 - TX_FAR _UnnamedText_50e62 - db $50 -; 0x50e62 + 5 bytes - -UnnamedText_50e67: ; 0x50e67 - TX_FAR _UnnamedText_50e67 - db $50 -; 0x50e67 + 5 bytes - -UnnamedText_50e6c: ; 0x50e6c - TX_FAR _UnnamedText_50e6c - db $50 -; 0x50e6c + 5 bytes - -UnnamedText_50e71: ; 0x50e71 - TX_FAR _UnnamedText_50e71 - db $50 -; 0x50e71 + 5 bytes - -UnnamedText_50e76: ; 0x50e76 - TX_FAR _UnnamedText_50e76 - db $50 -; 0x50e76 + 5 bytes - -UnnamedText_50e7b: ; 0x50e7b - TX_FAR _UnnamedText_50e7b - db $50 -; 0x50e7b + 5 bytes - -UnnamedText_50e80: ; 0x50e80 - TX_FAR _UnnamedText_50e80 - db $50 -; 0x50e80 + 5 bytes - -UnnamedText_50e85: ; 0x50e85 - TX_FAR _UnnamedText_50e85 - db $50 -; 0x50e85 + 5 bytes - -UnnamedText_50e8a: ; 0x50e8a - TX_FAR _UnnamedText_50e8a - db $50 -; 0x50e8a + 5 bytes - -UnnamedText_50e8f: ; 0x50e8f - TX_FAR _UnnamedText_50e8f - db $50 -; 0x50e8f + 5 bytes - -UnnamedText_50e94: ; 0x50e94 - TX_FAR _UnnamedText_50e94 - db $50 -; 0x50e94 + 5 bytes - -UnnamedText_50e99: ; 0x50e99 - TX_FAR _UnnamedText_50e99 - db $50 -; 0x50e99 + 5 bytes - -UnnamedText_50e9e: ; 0x50e9e - TX_FAR _UnnamedText_50e9e - db $50 -; 0x50e9e + 5 bytes - -UnnamedText_50ea3: ; 0x50ea3 - TX_FAR _UnnamedText_50ea3 - db $50 -; 0x50ea3 + 5 bytes - -UnnamedText_50ea8: ; 0x50ea8 - TX_FAR _UnnamedText_50ea8 - db $50 -; 0x50ea8 + 5 bytes - -Route20Text12: -Route20Text11: ; 0x50ead - TX_FAR _Route20Text11 - db $50 - -Route22Script: ; 0x50eb2 - call $3c3c - ld hl, Route22Scripts - ld a, [$d60a] - jp $3d97 -; 0x50ebe - -Route22Scripts: ; 0x50ebe - dw Route22Script0, Route22Script1, Route22Script2, Route22Script3 - -INCBIN "baserom.gbc",$50ec6,$3a - -Route22Script0: ; 0x50f00 - ld a, [$d7eb] - bit 7, a - ret z - ld hl, $4f2d - call $34bf - ret nc - ld a, [$cd3d] - ld [$cf0d], a - xor a - ld [$ff00+$b4], a - ld a, $f0 - ld [$cd6b], a - ld a, $2 - ld [$d528], a - ld a, [$d7eb] - bit 0, a - jr nz, .asm_50f32 ; 0x50f25 $b - bit 1, a - jp nz, $504e - ret - inc b - dec e - dec b - dec e - rst $38 -.asm_50f32 - ld a, $1 - ld [$cd4f], a - xor a - ld [$cd50], a - ld a, $4c - call Predef - ld a, [$d700] - and a - jr z, .asm_50f4e ; 0x50f44 $8 - ld a, $ff - ld [$c0ee], a - call $23b1 -.asm_50f4e - ld c, $2 - ld a, $de - call $23a1 - ld a, $1 - ld [$ff00+$8c], a - call $4ee6 - ld a, $1 - ld [$d60a], a - ret -; 0x50f62 - -Route22Script1: ; 0x50f62 - ld a, [$d730] - bit 0, a - ret nz - ld a, [$cf0d] - cp $1 - jr nz, .asm_50f78 ; 0x50f6d $9 - ld a, $4 - ld [$d528], a - ld a, $4 - jr .asm_50f7a ; 0x50f76 $2 -.asm_50f78 - ld a, $c -.asm_50f7a - ld [$ff00+$8d], a - ld a, $1 - ld [$ff00+$8c], a - call $34a6 - xor a - ld [$cd6b], a - ld a, $1 - ld [$ff00+$8c], a - call $2920 - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, $51b7 - ld de, $51bc - call $3354 - ld a, $e1 - ld [$d059], a - ld hl, $4faf - call $4ed6 - ld a, $2 - ld [$d60a], a - ret -; 0x50faf - -INCBIN "baserom.gbc",$50faf,$50fb5 - $50faf - -Route22Script2: ; 0x50fb5 - ld a, [$d057] - cp $ff - jp z, $4ece - ld a, [$c109] - and a - jr nz, .asm_50fc7 ; 0x50fc1 $4 - ld a, $4 - jr .asm_50fc9 ; 0x50fc5 $2 -.asm_50fc7 - ld a, $c -.asm_50fc9 - ld [$ff00+$8d], a - ld a, $1 - ld [$ff00+$8c], a - call $34a6 - ld a, $f0 - ld [$cd6b], a - ld hl, $d7eb - set 5, [hl] - ld a, $1 - ld [$ff00+$8c], a - call $2920 - ld a, $ff - ld [$c0ee], a - call $23b1 - ld b, $2 - ld hl, $5b47 - call Bankswitch - ld a, [$cf0d] - cp $1 - jr nz, .asm_50fff ; 0x50ff8 $5 - call $5008 - jr .asm_51002 ; 0x50ffd $3 -.asm_50fff - call $500d -.asm_51002 - ld a, $3 - ld [$d60a], a - ret -; 0x51008 - -INCBIN "baserom.gbc",$51008,$5102a - $51008 - -Route22Script3: ; 0x5102a - ld a, [$d730] - bit 0, a - ret nz - xor a - ld [$cd6b], a - ld a, $22 - ld [$cc4d], a - ld a, $11 - call Predef - call $2307 - ld hl, $d7eb - res 0, [hl] - res 7, [hl] - ld a, $0 - ld [$d60a], a - ret -; 0x5104e - -INCBIN "baserom.gbc",$5104e,$127 - -Route22Texts: ; 0x51175 - dw Route22Text1, Route22Text2, Route22Text3 - -Route22Text1: ; 0x5117b - db $08 ; asm - ld a, [$d7eb] - bit 5, a - jr z, .asm_a88cf ; 0x51181 - ld hl, UnnamedText_511b2 - call PrintText - jr .asm_48088 ; 0x51189 -.asm_a88cf ; 0x5118b - ld hl, UnnamedText_511ad - call PrintText -.asm_48088 ; 0x51191 - jp TextScriptEnd - -Route22Text2: ; 0x51194 - db $08 ; asm - ld a, [$d7eb] - bit 6, a - jr z, .asm_58c0a ; 0x5119a - ld hl, UnnamedText_511c6 - call PrintText - jr .asm_673ee ; 0x511a2 -.asm_58c0a ; 0x511a4 - ld hl, UnnamedText_511c1 - call PrintText -.asm_673ee ; 0x511aa - jp TextScriptEnd - -UnnamedText_511ad: ; 0x511ad - TX_FAR _UnnamedText_511ad - db $50 -; 0x511ad + 5 bytes - -UnnamedText_511b2: ; 0x511b2 - TX_FAR _UnnamedText_511b2 - db $50 -; 0x511b2 + 5 bytes - -UnnamedText_511b7: ; 0x511b7 - TX_FAR _UnnamedText_511b7 - db $50 -; 0x511b7 + 5 bytes - -UnnamedText_511bc: ; 0x511bc - TX_FAR _UnnamedText_511bc - db $50 -; 0x511bc + 5 bytes - -UnnamedText_511c1: ; 0x511c1 - TX_FAR _UnnamedText_511c1 - db $50 -; 0x511c1 + 5 bytes - -UnnamedText_511c6: ; 0x511c6 - TX_FAR _UnnamedText_511c6 - db $50 -; 0x511c6 + 5 bytes - -UnnamedText_511cb: ; 0x511cb - TX_FAR _UnnamedText_511cb - db $50 -; 0x511cb + 5 bytes - -UnnamedText_511d0: ; 0x511d0 - TX_FAR _UnnamedText_511d0 - db $50 -; 0x511d0 + 5 bytes - -Route22Text3: ; 0x511d5 - TX_FAR _Route22Text3 - db $50 - -Route23Script: ; 0x511da - call $51e9 - call $3c3c - ld hl, Route23Scripts - ld a, [$d667] - jp $3d97 -; 0x511e9 - -INCBIN "baserom.gbc",$511e9,$51213 - $511e9 - -Route23Scripts: ; 0x51213 - dw Route23Script0 - -INCBIN "baserom.gbc",$51215,$4 - -Route23Script0: ; 0x51219 - ld hl, $5255 - ld a, [$d361] - ld b, a - ld e, $0 - ld c, $7 -.asm_51224 - ld a, [hli] - cp $ff - ret z - inc e - dec c - cp b - jr nz, .asm_51224 ; 0x5122b $f7 - cp $23 - jr nz, .asm_51237 ; 0x5122f $6 - ld a, [$d362] - cp $e - ret nc -.asm_51237 - ld a, e - ld [$ff00+$8c], a - ld a, c - ld [$cd3d], a - ld b, $2 - ld hl, $d7ed - ld a, $10 - call Predef - ld a, c - and a - ret nz - call $525d - call $2920 - xor a - ld [$ff00+$b4], a - ret -; 0x51255 - -INCBIN "baserom.gbc",$51255,$a2 - -Route23Texts: ; 0x512f7 - dw Route23Text1, Route23Text2, Route23Text3, Route23Text4, Route23Text5, Route23Text6, Route23Text7, Route23Text8 - -Route23Text1: ; 0x51307 - db $08 ; asm - ld a, $6 - call $5346 - jp TextScriptEnd - -Route23Text2: ; 0x51310 - db $08 ; asm - ld a, $5 - call $5346 - jp TextScriptEnd - -Route23Text3: ; 0x51319 - db $08 ; asm - ld a, $4 - call $5346 - jp TextScriptEnd - -Route23Text4: ; 0x51322 - db $08 ; asm - ld a, $3 - call $5346 - jp TextScriptEnd - -Route23Text5: ; 0x5132b - db $08 ; asm - ld a, $2 - call $5346 - jp TextScriptEnd - -Route23Text6: ; 0x51334 - db $08 ; asm - ld a, $1 - call $5346 - jp TextScriptEnd - -Route23Text7: ; 0x5133d - db $8 - ld a, $0 - call $5346 - jp TextScriptEnd -; 0x51346 - -INCBIN "baserom.gbc",$51346,$513a3 - $51346 - -UnnamedText_513a3: ; 0x513a3 - TX_FAR _UnnamedText_513a3 - db $50 -; 0x513a3 + 5 bytes - -Route23Text8: ; 0x513a8 - TX_FAR _Route23Text8 - db $50 - -Route24Script: ; 0x513ad - call $3c3c - ld hl, $545b - ld de, $53cb - ld a, [$d602] - call $3160 - ld [$d602], a - ret -; 0x513c0 - -INCBIN "baserom.gbc",$513c0,$8b - -Route24Texts: ; 0x5144b - dw Route24Text1, Route24Text2, Route24Text3, Route24Text4, Route24Text5, Route24Text6, Route24Text7, Route24Text8 - -TrainerHeader_5145b: ; 0x5145b - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7ef ; flag's byte - dw UnnamedText_51571 ; 0x5571 TextBeforeBattle - dw UnnamedText_5157b ; 0x557b TextAfterBattle - dw UnnamedText_51576 ; 0x5576 TextEndBattle - dw UnnamedText_51576 ; 0x5576 TextEndBattle -; 0x51467 - -TrainerHeader_51467: ; 0x51467 - db $3 ; flag's bit - db ($1 << 4) ; trainer's view range - dw $d7ef ; flag's byte - dw UnnamedText_51580 ; 0x5580 TextBeforeBattle - dw UnnamedText_5158a ; 0x558a TextAfterBattle - dw UnnamedText_51585 ; 0x5585 TextEndBattle - dw UnnamedText_51585 ; 0x5585 TextEndBattle -; 0x51473 - -TrainerHeader_51473: ; 0x51473 - db $4 ; flag's bit - db ($1 << 4) ; trainer's view range - dw $d7ef ; flag's byte - dw UnnamedText_5158f ; 0x558f TextBeforeBattle - dw UnnamedText_51599 ; 0x5599 TextAfterBattle - dw UnnamedText_51594 ; 0x5594 TextEndBattle - dw UnnamedText_51594 ; 0x5594 TextEndBattle -; 0x5147f - -TrainerHeader_5147f: ; 0x5147f - db $5 ; flag's bit - db ($1 << 4) ; trainer's view range - dw $d7ef ; flag's byte - dw UnnamedText_5159e ; 0x559e TextBeforeBattle - dw UnnamedText_515a8 ; 0x55a8 TextAfterBattle - dw UnnamedText_515a3 ; 0x55a3 TextEndBattle - dw UnnamedText_515a3 ; 0x55a3 TextEndBattle -; 0x5148b - -TrainerHeader_5148b: ; 0x5148b - db $6 ; flag's bit - db ($1 << 4) ; trainer's view range - dw $d7ef ; flag's byte - dw UnnamedText_515ad ; 0x55ad TextBeforeBattle - dw UnnamedText_515b7 ; 0x55b7 TextAfterBattle - dw UnnamedText_515b2 ; 0x55b2 TextEndBattle - dw UnnamedText_515b2 ; 0x55b2 TextEndBattle -; 0x51497 - -TrainerHeader_51497: ; 0x51497 - db $7 ; flag's bit - db ($1 << 4) ; trainer's view range - dw $d7ef ; flag's byte - dw UnnamedText_515bc ; 0x55bc TextBeforeBattle - dw UnnamedText_515c6 ; 0x55c6 TextAfterBattle - dw UnnamedText_515c1 ; 0x55c1 TextEndBattle - dw UnnamedText_515c1 ; 0x55c1 TextEndBattle -; 0x514a3 - -db $ff - -Route24Text1: ; 0x514a4 - db $8 - ld hl, $d7f0 - res 1, [hl] - ld a, [$d7ef] - bit 0, a - jr nz, .asm_a03f5 ; 0x514af $48 - ld hl, UnnamedText_51510 - call PrintText - ld bc, $3101 - call GiveItem - jr nc, .asm_3a23d ; 0x514bd $43 - ld hl, $d7ef - set 0, [hl] - ld hl, UnnamedText_5151a - call PrintText - ld hl, UnnamedText_51526 - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, UnnamedText_5152b - ld de, UnnamedText_5152b - call $3354 - ld a, [$ff00+$8c] - ld [$cf13], a - call $336a - call $32d7 - xor a - ld [$ff00+$b4], a - ld a, $3 - ld [$d602], a - ld [$da39], a - jp TextScriptEnd -.asm_a03f5 ; 0x514f9 - ld hl, UnnamedText_51530 - call PrintText - jp TextScriptEnd -.asm_3a23d ; 0x51502 - ld hl, UnnamedText_51521 - call PrintText - ld hl, $d7f0 - set 1, [hl] - jp TextScriptEnd -; 0x51510 - -UnnamedText_51510: ; 0x51510 - TX_FAR _UnnamedText_51510 ; 0x92721 - db $0B - TX_FAR _UnnamedText_51515 ; 0x92755 - db $50 -; 0x5151a - -UnnamedText_5151a: ; 0x5151a - TX_FAR _UnnamedText_5151a ; 0x92779 - db $0B, $6, $50 - -UnnamedText_51521: ; 0x51521 - TX_FAR _UnnamedText_51521 - db $50 -; 0x51521 + 5 bytes - -UnnamedText_51526: ; 0x51526 - TX_FAR _UnnamedText_51526 - db $50 -; 0x51526 + 5 bytes - -UnnamedText_5152b: ; 0x5152b - TX_FAR _UnnamedText_5152b - db $50 -; 0x5152b + 5 bytes - -UnnamedText_51530: ; 0x51530 - TX_FAR _UnnamedText_51530 - db $50 -; 0x51530 + 5 bytes - -Route24Text2: ; 0x51535 - db $08 ; asm - ld hl, TrainerHeader_5145b - call LoadTrainerHeader - jp TextScriptEnd - -Route24Text3: ; 0x5153f - db $08 ; asm - ld hl, TrainerHeader_51467 - call LoadTrainerHeader - jp TextScriptEnd - -Route24Text4: ; 0x51549 - db $08 ; asm - ld hl, TrainerHeader_51473 - call LoadTrainerHeader - jp TextScriptEnd - -Route24Text5: ; 0x51553 - db $08 ; asm - ld hl, TrainerHeader_5147f - call LoadTrainerHeader - jp TextScriptEnd - -Route24Text6: ; 0x5155d - db $08 ; asm - ld hl, TrainerHeader_5148b - call LoadTrainerHeader - jp TextScriptEnd - -Route24Text7: ; 0x51567 - db $08 ; asm - ld hl, TrainerHeader_51497 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_51571: ; 0x51571 - TX_FAR _UnnamedText_51571 - db $50 -; 0x51571 + 5 bytes - -UnnamedText_51576: ; 0x51576 - TX_FAR _UnnamedText_51576 - db $50 -; 0x51576 + 5 bytes - -UnnamedText_5157b: ; 0x5157b - TX_FAR _UnnamedText_5157b - db $50 -; 0x5157b + 5 bytes - -UnnamedText_51580: ; 0x51580 - TX_FAR _UnnamedText_51580 - db $50 -; 0x51580 + 5 bytes - -UnnamedText_51585: ; 0x51585 - TX_FAR _UnnamedText_51585 - db $50 -; 0x51585 + 5 bytes - -UnnamedText_5158a: ; 0x5158a - TX_FAR _UnnamedText_5158a - db $50 -; 0x5158a + 5 bytes - -UnnamedText_5158f: ; 0x5158f - TX_FAR _UnnamedText_5158f - db $50 -; 0x5158f + 5 bytes - -UnnamedText_51594: ; 0x51594 - TX_FAR _UnnamedText_51594 - db $50 -; 0x51594 + 5 bytes - -UnnamedText_51599: ; 0x51599 - TX_FAR _UnnamedText_51599 - db $50 -; 0x51599 + 5 bytes - -UnnamedText_5159e: ; 0x5159e - TX_FAR _UnnamedText_5159e - db $50 -; 0x5159e + 5 bytes - -UnnamedText_515a3: ; 0x515a3 - TX_FAR _UnnamedText_515a3 - db $50 -; 0x515a3 + 5 bytes - -UnnamedText_515a8: ; 0x515a8 - TX_FAR _UnnamedText_515a8 - db $50 -; 0x515a8 + 5 bytes - -UnnamedText_515ad: ; 0x515ad - TX_FAR _UnnamedText_515ad - db $50 -; 0x515ad + 5 bytes - -UnnamedText_515b2: ; 0x515b2 - TX_FAR _UnnamedText_515b2 - db $50 -; 0x515b2 + 5 bytes - -UnnamedText_515b7: ; 0x515b7 - TX_FAR _UnnamedText_515b7 - db $50 -; 0x515b7 + 5 bytes - -UnnamedText_515bc: ; 0x515bc - TX_FAR _UnnamedText_515bc - db $50 -; 0x515bc + 5 bytes - -UnnamedText_515c1: ; 0x515c1 - TX_FAR _UnnamedText_515c1 - db $50 -; 0x515c1 + 5 bytes - -UnnamedText_515c6: ; 0x515c6 - TX_FAR _UnnamedText_515c6 - db $50 -; 0x515c6 + 5 bytes - -Route25Script: ; 0x515cb - call Unknown_515e1 - call $3c3c - ld hl, Route25TrainerHeader1 - ld de, $5622 - ld a, [$d603] - call $3160 - ld [$d603], a - ret -; 0x515e1 - -Unknown_515e1: ; 0x515e1 -INCBIN "baserom.gbc",$515e1,$47 - -Route25Texts: ; 0x51628 - dw Route25Text1, Route25Text2, Route25Text3, Route25Text4, Route25Text5, Route25Text6, Route25Text7, Route25Text8, Route25Text9, Route25Text10, Route25Text11 - -Route25TrainerHeaders: -Route25TrainerHeader1: -TrainerHeader_5163e: ; 0x5163e - db $1 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7f1 ; flag's byte - dw UnnamedText_51705 ; 0x5705 TextBeforeBattle - dw UnnamedText_5170f ; 0x570f TextAfterBattle - dw UnnamedText_5170a ; 0x570a TextEndBattle - dw UnnamedText_5170a ; 0x570a TextEndBattle -; 0x5164a - -TrainerHeader_5164a: ; 0x5164a - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7f1 ; flag's byte - dw UnnamedText_51714 ; 0x5714 TextBeforeBattle - dw UnnamedText_5171e ; 0x571e TextAfterBattle - dw UnnamedText_51719 ; 0x5719 TextEndBattle - dw UnnamedText_51719 ; 0x5719 TextEndBattle -; 0x51656 - -TrainerHeader_51656: ; 0x51656 - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7f1 ; flag's byte - dw UnnamedText_51723 ; 0x5723 TextBeforeBattle - dw UnnamedText_5172d ; 0x572d TextAfterBattle - dw UnnamedText_51728 ; 0x5728 TextEndBattle - dw UnnamedText_51728 ; 0x5728 TextEndBattle -; 0x51662 - -TrainerHeader_51662: ; 0x51662 - db $4 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7f1 ; flag's byte - dw UnnamedText_51732 ; 0x5732 TextBeforeBattle - dw UnnamedText_5173c ; 0x573c TextAfterBattle - dw UnnamedText_51737 ; 0x5737 TextEndBattle - dw UnnamedText_51737 ; 0x5737 TextEndBattle -; 0x5166e - -TrainerHeader_5166e: ; 0x5166e - db $5 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7f1 ; flag's byte - dw UnnamedText_51741 ; 0x5741 TextBeforeBattle - dw UnnamedText_5174b ; 0x574b TextAfterBattle - dw UnnamedText_51746 ; 0x5746 TextEndBattle - dw UnnamedText_51746 ; 0x5746 TextEndBattle -; 0x5167a - -TrainerHeader_5167a: ; 0x5167a - db $6 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7f1 ; flag's byte - dw UnnamedText_51750 ; 0x5750 TextBeforeBattle - dw UnnamedText_5175a ; 0x575a TextAfterBattle - dw UnnamedText_51755 ; 0x5755 TextEndBattle - dw UnnamedText_51755 ; 0x5755 TextEndBattle -; 0x51686 - -TrainerHeader_51686: ; 0x51686 - db $7 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7f1 ; flag's byte - dw UnnamedText_5175f ; 0x575f TextBeforeBattle - dw UnnamedText_51769 ; 0x5769 TextAfterBattle - dw UnnamedText_51764 ; 0x5764 TextEndBattle - dw UnnamedText_51764 ; 0x5764 TextEndBattle -; 0x51692 - -TrainerHeader_51692: ; 0x51692 - db $8 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7f1 ; flag's byte - dw UnnamedText_5176e ; 0x576e TextBeforeBattle - dw UnnamedText_51778 ; 0x5778 TextAfterBattle - dw UnnamedText_51773 ; 0x5773 TextEndBattle - dw UnnamedText_51773 ; 0x5773 TextEndBattle -; 0x5169e - -TrainerHeader_5169e: ; 0x5169e - db $9 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7f1 ; flag's byte - dw UnnamedText_5177d ; 0x577d TextBeforeBattle - dw UnnamedText_51787 ; 0x5787 TextAfterBattle - dw UnnamedText_51782 ; 0x5782 TextEndBattle - dw UnnamedText_51782 ; 0x5782 TextEndBattle -; 0x516aa - -db $ff - -Route25Text1: ; 0x516ab - db $08 ; asm - ld hl, TrainerHeader_5163e - call LoadTrainerHeader - jp TextScriptEnd - -Route25Text2: ; 0x516b5 - db $08 ; asm - ld hl, TrainerHeader_5164a - call LoadTrainerHeader - jp TextScriptEnd - -Route25Text3: ; 0x516bf - db $08 ; asm - ld hl, TrainerHeader_51656 - call LoadTrainerHeader - jp TextScriptEnd - -Route25Text4: ; 0x516c9 - db $08 ; asm - ld hl, TrainerHeader_51662 - call LoadTrainerHeader - jp TextScriptEnd - -Route25Text5: ; 0x516d3 - db $08 ; asm - ld hl, TrainerHeader_5166e - call LoadTrainerHeader - jp TextScriptEnd - -Route25Text6: ; 0x516dd - db $08 ; asm - ld hl, TrainerHeader_5167a - call LoadTrainerHeader - jp TextScriptEnd - -Route25Text7: ; 0x516e7 - db $08 ; asm - ld hl, TrainerHeader_51686 - call LoadTrainerHeader - jp TextScriptEnd - -Route25Text8: ; 0x516f1 - db $08 ; asm - ld hl, TrainerHeader_51692 - call LoadTrainerHeader - jp TextScriptEnd - -Route25Text9: ; 0x516fb - db $08 ; asm - ld hl, TrainerHeader_5169e - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_51705: ; 0x51705 - TX_FAR _UnnamedText_51705 - db $50 -; 0x51705 + 5 bytes - -UnnamedText_5170a: ; 0x5170a - TX_FAR _UnnamedText_5170a - db $50 -; 0x5170a + 5 bytes - -UnnamedText_5170f: ; 0x5170f - TX_FAR _UnnamedText_5170f - db $50 -; 0x5170f + 5 bytes - -UnnamedText_51714: ; 0x51714 - TX_FAR _UnnamedText_51714 - db $50 -; 0x51714 + 5 bytes - -UnnamedText_51719: ; 0x51719 - TX_FAR _UnnamedText_51719 - db $50 -; 0x51719 + 5 bytes - -UnnamedText_5171e: ; 0x5171e - TX_FAR _UnnamedText_5171e - db $50 -; 0x5171e + 5 bytes - -UnnamedText_51723: ; 0x51723 - TX_FAR _UnnamedText_51723 - db $50 -; 0x51723 + 5 bytes - -UnnamedText_51728: ; 0x51728 - TX_FAR _UnnamedText_51728 - db $50 -; 0x51728 + 5 bytes - -UnnamedText_5172d: ; 0x5172d - TX_FAR _UnnamedText_5172d - db $50 -; 0x5172d + 5 bytes - -UnnamedText_51732: ; 0x51732 - TX_FAR _UnnamedText_51732 - db $50 -; 0x51732 + 5 bytes - -UnnamedText_51737: ; 0x51737 - TX_FAR _UnnamedText_51737 - db $50 -; 0x51737 + 5 bytes - -UnnamedText_5173c: ; 0x5173c - TX_FAR _UnnamedText_5173c - db $50 -; 0x5173c + 5 bytes - -UnnamedText_51741: ; 0x51741 - TX_FAR _UnnamedText_51741 - db $50 -; 0x51741 + 5 bytes - -UnnamedText_51746: ; 0x51746 - TX_FAR _UnnamedText_51746 - db $50 -; 0x51746 + 5 bytes - -UnnamedText_5174b: ; 0x5174b - TX_FAR _UnnamedText_5174b - db $50 -; 0x5174b + 5 bytes - -UnnamedText_51750: ; 0x51750 - TX_FAR _UnnamedText_51750 - db $50 -; 0x51750 + 5 bytes - -UnnamedText_51755: ; 0x51755 - TX_FAR _UnnamedText_51755 - db $50 -; 0x51755 + 5 bytes - -UnnamedText_5175a: ; 0x5175a - TX_FAR _UnnamedText_5175a - db $50 -; 0x5175a + 5 bytes - -UnnamedText_5175f: ; 0x5175f - TX_FAR _UnnamedText_5175f - db $50 -; 0x5175f + 5 bytes - -UnnamedText_51764: ; 0x51764 - TX_FAR _UnnamedText_51764 - db $50 -; 0x51764 + 5 bytes - -UnnamedText_51769: ; 0x51769 - TX_FAR _UnnamedText_51769 - db $50 -; 0x51769 + 5 bytes - -UnnamedText_5176e: ; 0x5176e - TX_FAR _UnnamedText_5176e - db $50 -; 0x5176e + 5 bytes - -UnnamedText_51773: ; 0x51773 - TX_FAR _UnnamedText_51773 - db $50 -; 0x51773 + 5 bytes - -UnnamedText_51778: ; 0x51778 - TX_FAR _UnnamedText_51778 - db $50 -; 0x51778 + 5 bytes - -UnnamedText_5177d: ; 0x5177d - TX_FAR _UnnamedText_5177d - db $50 -; 0x5177d + 5 bytes - -UnnamedText_51782: ; 0x51782 - TX_FAR _UnnamedText_51782 - db $50 -; 0x51782 + 5 bytes - -UnnamedText_51787: ; 0x51787 - TX_FAR _UnnamedText_51787 - db $50 -; 0x51787 + 5 bytes - -Route25Text11: ; 0x5178c - TX_FAR _Route25Text11 - db $50 - -VictoryRoad2_h: ; 0x51791 to 0x5179d (12 bytes) (id=194) - db $11 ; tileset - db VICTORY_ROAD_2_HEIGHT, VICTORY_ROAD_2_WIDTH ; dimensions (y, x) - dw VictoryRoad2Blocks, VictoryRoad2Texts, VictoryRoad2Script ; blocks, texts, scripts - db $00 ; connections - - dw VictoryRoad2Object ; objects - -VictoryRoad2Script: ; 0x5179d - ld hl, $d126 - bit 6, [hl] - res 6, [hl] - call nz, VictoryRoad2Script_Unknown517c4 - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - call nz, $57c9 - call $3c3c - ld hl, VictoryRoad2TrainerHeaders - ld de, $57eb - ld a, [$d63f] - call $3160 - ld [$d63f], a - ret -; 0x517c4 - -VictoryRoad2Script_Unknown517c4: ; 0x517c4 -INCBIN "baserom.gbc",$517c4,$57 - -VictoryRoad2Texts: ; 0x5181b - dw VictoryRoad2Text1, VictoryRoad2Text2, VictoryRoad2Text3, VictoryRoad2Text4, VictoryRoad2Text5, VictoryRoad2Text6, VictoryRoad2Text7, VictoryRoad2Text8, VictoryRoad2Text9, VictoryRoad2Text10, VictoryRoad2Text11, VictoryRoad2Text12, VictoryRoad2Text13 - -VictoryRoad2TrainerHeaders: -TrainerHeader_51835: ; 0x51835 - db $1 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7ee ; flag's byte - dw UnnamedText_518ca ; 0x58ca TextBeforeBattle - dw UnnamedText_518d4 ; 0x58d4 TextAfterBattle - dw UnnamedText_518cf ; 0x58cf TextEndBattle - dw UnnamedText_518cf ; 0x58cf TextEndBattle -; 0x51841 - -TrainerHeader_51841: ; 0x51841 - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7ee ; flag's byte - dw UnnamedText_518d9 ; 0x58d9 TextBeforeBattle - dw UnnamedText_518e3 ; 0x58e3 TextAfterBattle - dw UnnamedText_518de ; 0x58de TextEndBattle - dw UnnamedText_518de ; 0x58de TextEndBattle -; 0x5184d - -TrainerHeader_5184d: ; 0x5184d - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7ee ; flag's byte - dw UnnamedText_518e8 ; 0x58e8 TextBeforeBattle - dw UnnamedText_518f2 ; 0x58f2 TextAfterBattle - dw UnnamedText_518ed ; 0x58ed TextEndBattle - dw UnnamedText_518ed ; 0x58ed TextEndBattle -; 0x51859 - -TrainerHeader_51859: ; 0x51859 - db $4 ; flag's bit - db ($1 << 4) ; trainer's view range - dw $d7ee ; flag's byte - dw UnnamedText_518f7 ; 0x58f7 TextBeforeBattle - dw UnnamedText_51901 ; 0x5901 TextAfterBattle - dw UnnamedText_518fc ; 0x58fc TextEndBattle - dw UnnamedText_518fc ; 0x58fc TextEndBattle -; 0x51865 - -TrainerHeader_51865: ; 0x51865 - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7ee ; flag's byte - dw UnnamedText_51906 ; 0x5906 TextBeforeBattle - dw UnnamedText_51910 ; 0x5910 TextAfterBattle - dw UnnamedText_5190b ; 0x590b TextEndBattle - dw UnnamedText_5190b ; 0x590b TextEndBattle -; 0x51871 - -TrainerHeader_51871: ; 0x51871 - db $6 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d7ee ; flag's byte - dw UnnamedText_518ba ; 0x58ba TextBeforeBattle - dw UnnamedText_518ba ; 0x58ba TextAfterBattle - dw UnnamedText_518ba ; 0x58ba TextEndBattle - dw UnnamedText_518ba ; 0x58ba TextEndBattle -; 0x5187d - -db $ff - -VictoryRoad2Text1: ; 0x5187e - db $08 ; asm - ld hl, TrainerHeader_51835 - call LoadTrainerHeader - jp TextScriptEnd - -VictoryRoad2Text2: ; 0x51888 - db $08 ; asm - ld hl, TrainerHeader_51841 - call LoadTrainerHeader - jp TextScriptEnd - -VictoryRoad2Text3: ; 0x51892 - db $08 ; asm - ld hl, TrainerHeader_5184d - call LoadTrainerHeader - jp TextScriptEnd - -VictoryRoad2Text4: ; 0x5189c - db $08 ; asm - ld hl, TrainerHeader_51859 - call LoadTrainerHeader - jp TextScriptEnd - -VictoryRoad2Text5: ; 0x518a6 - db $08 ; asm - ld hl, TrainerHeader_51865 - call LoadTrainerHeader - jp TextScriptEnd - -VictoryRoad2Text6: ; 0x518b0 - db $08 ; asm - ld hl, TrainerHeader_51871 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_518ba: ; 0x518ba - TX_FAR _UnnamedText_518ba ; 0x8d06e - db $8 - ld a, $49 - call $13d0 - call $3748 - jp TextScriptEnd -; 0x518ca - -UnnamedText_518ca: ; 0x518ca - TX_FAR _UnnamedText_518ca - db $50 -; 0x518ca + 5 bytes - -UnnamedText_518cf: ; 0x518cf - TX_FAR _UnnamedText_518cf - db $50 -; 0x518cf + 5 bytes - -UnnamedText_518d4: ; 0x518d4 - TX_FAR _UnnamedText_518d4 - db $50 -; 0x518d4 + 5 bytes - -UnnamedText_518d9: ; 0x518d9 - TX_FAR _UnnamedText_518d9 - db $50 -; 0x518d9 + 5 bytes - -UnnamedText_518de: ; 0x518de - TX_FAR _UnnamedText_518de - db $50 -; 0x518de + 5 bytes - -UnnamedText_518e3: ; 0x518e3 - TX_FAR _UnnamedText_518e3 - db $50 -; 0x518e3 + 5 bytes - -UnnamedText_518e8: ; 0x518e8 - TX_FAR _UnnamedText_518e8 - db $50 -; 0x518e8 + 5 bytes - -UnnamedText_518ed: ; 0x518ed - TX_FAR _UnnamedText_518ed - db $50 -; 0x518ed + 5 bytes - -UnnamedText_518f2: ; 0x518f2 - TX_FAR _UnnamedText_518f2 - db $50 -; 0x518f2 + 5 bytes - -UnnamedText_518f7: ; 0x518f7 - TX_FAR _UnnamedText_518f7 - db $50 -; 0x518f7 + 5 bytes - -UnnamedText_518fc: ; 0x518fc - TX_FAR _UnnamedText_518fc - db $50 -; 0x518fc + 5 bytes - -UnnamedText_51901: ; 0x51901 - TX_FAR _UnnamedText_51901 - db $50 -; 0x51901 + 5 bytes - -UnnamedText_51906: ; 0x51906 - TX_FAR _UnnamedText_51906 - db $50 -; 0x51906 + 5 bytes - -UnnamedText_5190b: ; 0x5190b - TX_FAR _UnnamedText_5190b - db $50 -; 0x5190b + 5 bytes - -UnnamedText_51910: ; 0x51910 - TX_FAR _UnnamedText_51910 - db $50 -; 0x51910 + 5 bytes - -VictoryRoad2Object: ; 0x51915 (size=154) - db $7d ; border tile - - db $7 ; warps - db $8, $0, $2, VICTORY_ROAD_1 - db $7, $1d, $3, $ff - db $8, $1d, $3, $ff - db $7, $17, $0, VICTORY_ROAD_3 - db $e, $19, $2, VICTORY_ROAD_3 - db $7, $1b, $1, VICTORY_ROAD_3 - db $1, $1, $3, VICTORY_ROAD_3 - - db $0 ; signs - - db $d ; people - db SPRITE_HIKER, $9 + 4, $c + 4, $ff, $d2, $41, BLACKBELT + $C8, $9 ; trainer - db SPRITE_BLACK_HAIR_BOY_2, $d + 4, $15 + 4, $ff, $d2, $42, JUGGLER + $C8, $2 ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $8 + 4, $13 + 4, $ff, $d0, $43, TAMER + $C8, $5 ; trainer - db SPRITE_BLACK_HAIR_BOY_2, $2 + 4, $4 + 4, $ff, $d0, $44, POKEMANIAC + $C8, $6 ; trainer - db SPRITE_BLACK_HAIR_BOY_2, $3 + 4, $1a + 4, $ff, $d2, $45, JUGGLER + $C8, $5 ; trainer - db SPRITE_BIRD, $5 + 4, $b + 4, $ff, $d1, $46, MOLTRES, $32 ; trainer - db SPRITE_BALL, $5 + 4, $1b + 4, $ff, $ff, $87, TM_17 ; item - db SPRITE_BALL, $9 + 4, $12 + 4, $ff, $ff, $88, FULL_HEAL ; item - db SPRITE_BALL, $b + 4, $9 + 4, $ff, $ff, $89, TM_05 ; item - db SPRITE_BALL, $0 + 4, $b + 4, $ff, $ff, $8a, GUARD_SPEC_ ; item - db SPRITE_BOULDER, $e + 4, $4 + 4, $ff, $10, $b ; person - db SPRITE_BOULDER, $5 + 4, $5 + 4, $ff, $10, $c ; person - db SPRITE_BOULDER, $10 + 4, $17 + 4, $ff, $10, $d ; person - - ; warp-to - EVENT_DISP $f, $8, $0 ; VICTORY_ROAD_1 - EVENT_DISP $f, $7, $1d - EVENT_DISP $f, $8, $1d - EVENT_DISP $f, $7, $17 ; VICTORY_ROAD_3 - EVENT_DISP $f, $e, $19 ; VICTORY_ROAD_3 - EVENT_DISP $f, $7, $1b ; VICTORY_ROAD_3 - EVENT_DISP $f, $1, $1 ; VICTORY_ROAD_3 - -VictoryRoad2Blocks: ; 0x519af 135 - INCBIN "maps/victoryroad2.blk" - -MtMoon2_h: ; 0x51a36 to 0x51a42 (12 bytes) (id=60) - db $11 ; tileset - db MT_MOON_2_HEIGHT, MT_MOON_2_WIDTH ; dimensions (y, x) - dw MtMoon2Blocks, MtMoon2Texts, MtMoon2Script ; blocks, texts, scripts - db $00 ; connections - - dw MtMoon2Object ; objects - -MtMoon2Script: ; 0x51a42 - call $3c3c - ret -; 0x51a46 - -MtMoon2Texts: - dw MtMoonText1 - -MtMoonText1: ; 0x51a48 - TX_FAR _UnnamedText_51a48 - db $50 -; 0x51a48 + 5 bytes - -MtMoon2Object: ; 0x51a4d (size=68) - db $3 ; border tile - - db $8 ; warps - db $5, $5, $2, MT_MOON_1 - db $b, $11, $0, MT_MOON_3 - db $9, $19, $3, MT_MOON_1 - db $f, $19, $4, MT_MOON_1 - db $11, $15, $1, MT_MOON_3 - db $1b, $d, $2, MT_MOON_3 - db $3, $17, $3, MT_MOON_3 - db $3, $1b, $2, $ff - - db $0 ; signs - - db $0 ; people - - ; warp-to - EVENT_DISP $e, $5, $5 ; MT_MOON_1 - EVENT_DISP $e, $b, $11 ; MT_MOON_3 - EVENT_DISP $e, $9, $19 ; MT_MOON_1 - EVENT_DISP $e, $f, $19 ; MT_MOON_1 - EVENT_DISP $e, $11, $15 ; MT_MOON_3 - EVENT_DISP $e, $1b, $d ; MT_MOON_3 - EVENT_DISP $e, $3, $17 ; MT_MOON_3 - EVENT_DISP $e, $3, $1b - -MtMoon2Blocks: ; 0x51a91 196 - INCBIN "maps/mtmoon2.blk" - -SilphCo7_h: ; 0x51b55 to 0x51b61 (12 bytes) (id=212) - db $16 ; tileset - db SILPH_CO_7F_HEIGHT, SILPH_CO_7F_WIDTH ; dimensions (y, x) - dw SilphCo7Blocks, SilphCo7Texts, SilphCo7Script ; blocks, texts, scripts - db $00 ; connections - - dw SilphCo7Object ; objects - -SilphCo7Script: ; 0x51b61 - call SilphCo7Script_Unknown51b77 - call $3c3c - ld hl, SilphCo7TrainerHeaders - ld de, $5c17 - ld a, [$d648] - call $3160 - ld [$d648], a - ret -; 0x51b77 - -SilphCo7Script_Unknown51b77: ; 0x5177 -INCBIN "baserom.gbc",$51b77,$1c8 - -SilphCo7Texts: ; 0x51d3f - dw SilphCo7Text1, SilphCo7Text2, SilphCo7Text3, SilphCo7Text4, SilphCo7Text5, SilphCo7Text6, SilphCo7Text7, SilphCo7Text8, SilphCo7Text9, SilphCo7Text10, SilphCo7Text11, SilphCo7Text12, SilphCo7Text13, SilphCo7Text14, SilphCo7Text15 - -SilphCo7TrainerHeaders: -TrainerHeader_51d5d: ; 0x51d5d - db $5 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d82f ; flag's byte - dw UnnamedText_51e5a ; 0x5e5a TextBeforeBattle - dw UnnamedText_51e64 ; 0x5e64 TextAfterBattle - dw UnnamedText_51e5f ; 0x5e5f TextEndBattle - dw UnnamedText_51e5f ; 0x5e5f TextEndBattle -; 0x51d69 - -TrainerHeader_51d69: ; 0x51d69 - db $6 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d82f ; flag's byte - dw UnnamedText_51e73 ; 0x5e73 TextBeforeBattle - dw UnnamedText_51e7d ; 0x5e7d TextAfterBattle - dw UnnamedText_51e78 ; 0x5e78 TextEndBattle - dw UnnamedText_51e78 ; 0x5e78 TextEndBattle -; 0x51d75 - -TrainerHeader_51d75: ; 0x51d75 - db $7 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d82f ; flag's byte - dw UnnamedText_51e8c ; 0x5e8c TextBeforeBattle - dw UnnamedText_51e96 ; 0x5e96 TextAfterBattle - dw UnnamedText_51e91 ; 0x5e91 TextEndBattle - dw UnnamedText_51e91 ; 0x5e91 TextEndBattle -; 0x51d81 - -TrainerHeader_51d81: ; 0x51d81 - db $8 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d82f ; flag's byte - dw UnnamedText_51ea5 ; 0x5ea5 TextBeforeBattle - dw UnnamedText_51eaf ; 0x5eaf TextAfterBattle - dw UnnamedText_51eaa ; 0x5eaa TextEndBattle - dw UnnamedText_51eaa ; 0x5eaa TextEndBattle -; 0x51d8d - -db $ff - -SilphCo7Text1: ; 0x51d8e - db $08 ; asm - ld a, [$d72e] - bit 0, a - jr z, .asm_d7e17 ; 0x51d94 - ld a, [$d838] - bit 7, a - jr nz, .asm_688b4 ; 0x51d9b - ld hl, UnnamedText_51ddd - call PrintText - jr .asm_b3069 ; 0x51da3 -.asm_d7e17 ; 0x51da5 - ld hl, UnnamedText_51dd3 - call PrintText - ld bc, (LAPRAS << 8) | 15 - call GivePokemon - jr nc, .asm_b3069 ; 0x51db1 - ld a, [$ccd3] - and a - call z, $3865 - call $3c3c - ld hl, UnnamedText_51dd8 - call PrintText - ld hl, $d72e - set 0, [hl] - jr .asm_b3069 ; 0x51dc8 -.asm_688b4 ; 0x51dca - ld hl, UnnamedText_51de2 - call PrintText -.asm_b3069 ; 0x51dd0 - jp TextScriptEnd - -UnnamedText_51dd3: ; 0x51dd3 - TX_FAR _UnnamedText_51dd3 - db $50 -; 0x51dd3 + 5 bytes - -UnnamedText_51dd8: ; 0x51dd8 - TX_FAR _UnnamedText_51dd8 - db $50 -; 0x51dd8 + 5 bytes - -UnnamedText_51ddd: ; 0x51ddd - TX_FAR _UnnamedText_51ddd - db $50 -; 0x51ddd + 5 bytes - -UnnamedText_51de2: ; 0x51de2 - TX_FAR _UnnamedText_51de2 - db $50 -; 0x51de2 + 5 bytes - -SilphCo7Text2: ; 0x51de7 - db $8 - ld a, [$d838] - bit 7, a - jr nz, .asm_892ce ; 0x51ded $8 - ld hl, UnnamedText_51e00 - call PrintText - jr .asm_e4d89 ; 0x51df5 $6 -.asm_892ce ; 0x51df7 - ld hl, UnnamedText_51e05 - call PrintText -.asm_e4d89 ; 0x51dfd - jp TextScriptEnd -; 0x51e00 - -UnnamedText_51e00: ; 0x51e00 - TX_FAR _UnnamedText_51e00 - db $50 -; 0x51e00 + 5 bytes - -UnnamedText_51e05: ; 0x51e05 - TX_FAR _UnnamedText_51e05 - db $50 -; 0x51e05 + 5 bytes - -SilphCo7Text3: ; 0x51e0a - db $08 ; asm - ld a, [$d838] - bit 7, a - jr nz, .asm_254aa ; 0x51e10 - ld hl, UnnamedText_51e23 - call PrintText - jr .asm_6472b ; 0x51e18 -.asm_254aa ; 0x51e1a - ld hl, UnnamedText_51e28 - call PrintText -.asm_6472b ; 0x51e20 - jp TextScriptEnd - -UnnamedText_51e23: ; 0x51e23 - TX_FAR _UnnamedText_51e23 - db $50 -; 0x51e23 + 5 bytes - -UnnamedText_51e28: ; 0x51e28 - TX_FAR _UnnamedText_51e28 - db $50 -; 0x51e28 + 5 bytes - -SilphCo7Text4: ; 0x51e2d - db $08 ; asm - ld a, [$d838] - bit 7, a - jr nz, .asm_0f7ee ; 0x51e33 - ld hl, UnnamedText_51e46 - call PrintText - jr .asm_27a32 ; 0x51e3b -.asm_0f7ee ; 0x51e3d - ld hl, UnnamedText_51e4b - call PrintText -.asm_27a32 ; 0x51e43 - jp TextScriptEnd - -UnnamedText_51e46: ; 0x51e46 - TX_FAR _UnnamedText_51e46 - db $50 -; 0x51e46 + 5 bytes - -UnnamedText_51e4b: ; 0x51e4b - TX_FAR _UnnamedText_51e4b - db $50 -; 0x51e4b + 5 bytes - -SilphCo7Text5: ; 0x51e50 - db $08 ; asm - ld hl, TrainerHeader_51d5d - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_51e5a: ; 0x51e5a - TX_FAR _UnnamedText_51e5a - db $50 -; 0x51e5a + 5 bytes - -UnnamedText_51e5f: ; 0x51e5f - TX_FAR _UnnamedText_51e5f - db $50 -; 0x51e5f + 5 bytes - -UnnamedText_51e64: ; 0x51e64 - TX_FAR _UnnamedText_51e64 - db $50 -; 0x51e64 + 5 bytes - -SilphCo7Text6: ; 0x51e69 - db $08 ; asm - ld hl, TrainerHeader_51d69 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_51e73: ; 0x51e73 - TX_FAR _UnnamedText_51e73 - db $50 -; 0x51e73 + 5 bytes - -UnnamedText_51e78: ; 0x51e78 - TX_FAR _UnnamedText_51e78 - db $50 -; 0x51e78 + 5 bytes - -UnnamedText_51e7d: ; 0x51e7d - TX_FAR _UnnamedText_51e7d - db $50 -; 0x51e7d + 5 bytes - -SilphCo7Text7: ; 0x51e82 - db $08 ; asm - ld hl, TrainerHeader_51d75 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_51e8c: ; 0x51e8c - TX_FAR _UnnamedText_51e8c - db $50 -; 0x51e8c + 5 bytes - -UnnamedText_51e91: ; 0x51e91 - TX_FAR _UnnamedText_51e91 - db $50 -; 0x51e91 + 5 bytes - -UnnamedText_51e96: ; 0x51e96 - TX_FAR _UnnamedText_51e96 - db $50 -; 0x51e96 + 5 bytes - -SilphCo7Text8: ; 0x51e9b - db $08 ; asm - ld hl, TrainerHeader_51d81 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_51ea5: ; 0x51ea5 - TX_FAR _UnnamedText_51ea5 - db $50 -; 0x51ea5 + 5 bytes - -UnnamedText_51eaa: ; 0x51eaa - TX_FAR _UnnamedText_51eaa - db $50 -; 0x51eaa + 5 bytes - -UnnamedText_51eaf: ; 0x51eaf - TX_FAR _UnnamedText_51eaf - db $50 -; 0x51eaf + 5 bytes - -SilphCo7Text9: ; 0x51eb4 - db $08 ; asm - ld hl, UnnamedText_51ebe - call PrintText - jp TextScriptEnd - -UnnamedText_51ebe: ; 0x51ebe - TX_FAR _UnnamedText_51ebe - db $50 -; 0x51ebe + 5 bytes - -SilphCo7Text13: ; 0x51ec3 - TX_FAR _UnnamedText_51ec3 - db $50 -; 0x51ec3 + 5 bytes - -SilphCo7Text14: ; 0x51ec8 - TX_FAR _UnnamedText_51ec8 - db $50 -; 0x51ec8 + 5 bytes - -UnnamedText_51ecd: ; 0x51ecd - TX_FAR _UnnamedText_51ecd - db $50 -; 0x51ecd + 5 bytes - -SilphCo7Text15: ; 0x51ed2 - TX_FAR _UnnamedText_51ed2 - db $50 -; 0x51ed2 + 5 bytes - -SilphCo7Object: ; 0x51ed7 (size=128) - db $2e ; border tile - - db $6 ; warps - db $0, $10, $1, SILPH_CO_8F - db $0, $16, $0, SILPH_CO_6F - db $0, $12, $0, SILPH_CO_ELEVATOR - db $7, $5, $3, SILPH_CO_11F - db $3, $5, $8, SILPH_CO_3F - db $f, $15, $3, SILPH_CO_5F - - db $0 ; signs - - db $b ; people - db SPRITE_LAPRAS_GIVER, $5 + 4, $1 + 4, $ff, $ff, $1 ; person - db SPRITE_LAPRAS_GIVER, $d + 4, $d + 4, $ff, $d1, $2 ; person - db SPRITE_LAPRAS_GIVER, $a + 4, $7 + 4, $ff, $ff, $3 ; person - db SPRITE_ERIKA, $8 + 4, $a + 4, $ff, $ff, $4 ; person - db SPRITE_ROCKET, $1 + 4, $d + 4, $ff, $d0, $45, ROCKET + $C8, $20 ; trainer - db SPRITE_OAK_AIDE, $d + 4, $2 + 4, $ff, $d0, $46, SCIENTIST + $C8, $8 ; trainer - db SPRITE_ROCKET, $2 + 4, $14 + 4, $ff, $d2, $47, ROCKET + $C8, $21 ; trainer - db SPRITE_ROCKET, $e + 4, $13 + 4, $ff, $d3, $48, ROCKET + $C8, $22 ; trainer - db SPRITE_BLUE, $7 + 4, $3 + 4, $ff, $d1, $9 ; person - db SPRITE_BALL, $9 + 4, $1 + 4, $ff, $ff, $8a, CALCIUM ; item - db SPRITE_BALL, $b + 4, $18 + 4, $ff, $ff, $8b, TM_03 ; item - - ; warp-to - EVENT_DISP $d, $0, $10 ; SILPH_CO_8F - EVENT_DISP $d, $0, $16 ; SILPH_CO_6F - EVENT_DISP $d, $0, $12 ; SILPH_CO_ELEVATOR - EVENT_DISP $d, $7, $5 ; SILPH_CO_11F - EVENT_DISP $d, $3, $5 ; SILPH_CO_3F - EVENT_DISP $d, $f, $15 ; SILPH_CO_5F - -SilphCo7Blocks: ; 0x51f57 117 - INCBIN "maps/silphco7.blk" - -Mansion2_h: ; 0x51fcc to 0x51fd8 (12 bytes) (id=214) - db $16 ; tileset - db MANSION_2_HEIGHT, MANSION_2_WIDTH ; dimensions (y, x) - dw Mansion2Blocks, Mansion2Texts, Mansion2Script ; blocks, texts, scripts - db $00 ; connections - - dw Mansion2Object ; objects - -Mansion2Script: - call Mansion2Script_Unknown51fee - call $3c3c - ld hl, Mansion2TrainerHeaders - ld de, $6047 - ld a, [$d63c] - call $3160 - ld [$d63c], a - ret -; 0x51fee - -Mansion2Script_Unknown51fee: ; 0x51fee -INCBIN "baserom.gbc",$51fee,$5204d - $51fee - -Mansion2Texts: ; 0x5204d - dw Mansion2Text1, Mansion2Text2, Mansion2Text3, Mansion2Text4, Mansion2Text5 - -Mansion2TrainerHeaders: -Mansion2TrainerHeader1: ; 0x52057 - db $1 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d847 ; flag's byte - dw UnnamedText_5206e ; 0x606e TextBeforeBattle - dw UnnamedText_52078 ; 0x6078 TextAfterBattle - dw UnnamedText_52073 ; 0x6073 TextEndBattle - dw UnnamedText_52073 ; 0x6073 TextEndBattle -; 0x52063 - -db $ff - -Mansion2Text1: ; 0x52064 - db $08 ; asm - ld hl, Mansion2TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_5206e: ; 0x5206e - TX_FAR _UnnamedText_5206e - db $50 -; 0x5206e + 5 bytes - -UnnamedText_52073: ; 0x52073 - TX_FAR _UnnamedText_52073 - db $50 -; 0x52073 + 5 bytes - -UnnamedText_52078: ; 0x52078 - TX_FAR _UnnamedText_52078 - db $50 -; 0x52078 + 5 bytes - -Mansion2Text3: ; 0x5207d - TX_FAR _Mansion2Text3 - db $50 - -Mansion2Text4: ; 0x52082 - TX_FAR _Mansion2Text4 - db $50 - -Mansion3Text6: -Mansion2Text5: ; 0x52087 - db $8 - ld hl, UnnamedText_520c2 - call PrintText - call $35ec - ld a, [$cc26] - and a - jr nz, .asm_520b9 ; 0x52095 $22 - ld a, $1 - ld [$cc3c], a - ld hl, $d126 - set 5, [hl] - ld hl, UnnamedText_520c7 - call PrintText - ld a, $ad - call $23b1 - ld hl, $d796 - bit 0, [hl] - set 0, [hl] - jr z, .asm_520bf ; 0x520b3 $a - res 0, [hl] - jr .asm_520bf ; 0x520b7 $6 -.asm_520b9 - ld hl, UnnamedText_520cc - call PrintText -.asm_520bf - jp TextScriptEnd -; 0x520c2 - -UnnamedText_520c2: ; 0x520c2 - TX_FAR _UnnamedText_520c2 - db $50 -; 0x520c2 + 5 bytes - -UnnamedText_520c7: ; 0x520c7 - TX_FAR _UnnamedText_520c7 - db $50 -; 0x520c7 + 5 bytes - -UnnamedText_520cc: ; 0x520cc - TX_FAR _UnnamedText_520cc - db $50 -; 0x520cc + 5 bytes - -Mansion2Object: ; 0x520d1 (size=63) - db $1 ; border tile - - db $4 ; warps - db $a, $5, $4, MANSION_1 - db $a, $7, $0, MANSION_3 - db $e, $19, $2, MANSION_3 - db $1, $6, $1, MANSION_3 - - db $0 ; signs - - db $4 ; people - db SPRITE_BLACK_HAIR_BOY_2, $11 + 4, $3 + 4, $fe, $2, $41, BURGLAR + $C8, $7 ; trainer - db SPRITE_BALL, $7 + 4, $1c + 4, $ff, $ff, $82, CALCIUM ; item - db SPRITE_BOOK_MAP_DEX, $2 + 4, $12 + 4, $ff, $ff, $3 ; person - db SPRITE_BOOK_MAP_DEX, $16 + 4, $3 + 4, $ff, $ff, $4 ; person - - ; warp-to - EVENT_DISP $f, $a, $5 ; MANSION_1 - EVENT_DISP $f, $a, $7 ; MANSION_3 - EVENT_DISP $f, $e, $19 ; MANSION_3 - EVENT_DISP $f, $1, $6 ; MANSION_3 - -Mansion2Blocks: - INCBIN "maps/mansion2.blk" - -Mansion3_h: ; 0x521e2 to 0x521ee (12 bytes) (id=215) - db $16 ; tileset - db MANSION_3_HEIGHT, MANSION_3_WIDTH ; dimensions (y, x) - dw Mansion3Blocks, Mansion3Texts, Mansion3Script ; blocks, texts, scripts - db $00 ; connections - - dw Mansion3Object ; objects - -Mansion3Script: - call Unnamed_52204 - call $3c3c - ld hl, Mansion3TrainerHeader1 - ld de, $6235 - ld a, [$d63d] - call $3160 - ld [$d63d], a - ret -; 0x52204 - -Unnamed_52204: ; 0x52204 -INCBIN "baserom.gbc",$52204,$5228a - $52204 - -Mansion3Texts: ; 0x5228a - dw Mansion3Text1, Mansion3Text2, Mansion3Text3, Mansion3Text4, Mansion3Text5, Mansion3Text6 - -Mansion3TrainerHeaders: -Mansion3TrainerHeader1: ; 0x52296 - db $1 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d849 ; flag's byte - dw UnnamedText_522c3 ; 0x62c3 TextBeforeBattle - dw UnnamedText_522cd ; 0x62cd TextAfterBattle - dw UnnamedText_522c8 ; 0x62c8 TextEndBattle - dw UnnamedText_522c8 ; 0x62c8 TextEndBattle -; 0x522a2 - -TrainerHeader_522a2: ; 0x522a2 - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d849 ; flag's byte - dw UnnamedText_522d2 ; 0x62d2 TextBeforeBattle - dw UnnamedText_522dc ; 0x62dc TextAfterBattle - dw UnnamedText_522d7 ; 0x62d7 TextEndBattle - dw UnnamedText_522d7 ; 0x62d7 TextEndBattle -; 0x522ae - -db $ff - -Mansion3Text1: ; 0x522af - db $08 ; asm - ld hl, Mansion3TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -Mansion3Text2: ; 0x522b9 - db $08 ; asm - ld hl, TrainerHeader_522a2 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_522c3: ; 0x522c3 - TX_FAR _UnnamedText_522c3 - db $50 -; 0x522c3 + 5 bytes - -UnnamedText_522c8: ; 0x522c8 - TX_FAR _UnnamedText_522c8 - db $50 -; 0x522c8 + 5 bytes - -UnnamedText_522cd: ; 0x522cd - TX_FAR _UnnamedText_522cd - db $50 -; 0x522cd + 5 bytes - -UnnamedText_522d2: ; 0x522d2 - TX_FAR _UnnamedText_522d2 - db $50 -; 0x522d2 + 5 bytes - -UnnamedText_522d7: ; 0x522d7 - TX_FAR _UnnamedText_522d7 - db $50 -; 0x522d7 + 5 bytes - -UnnamedText_522dc: ; 0x522dc - TX_FAR _UnnamedText_522dc - db $50 -; 0x522dc + 5 bytes - -Mansion3Text5: ; 0x522e1 - TX_FAR _Mansion3Text5 - db $50 - -Mansion3Object: ; 0x522e6 (size=64) - db $1 ; border tile - - db $3 ; warps - db $a, $7, $1, MANSION_2 - db $1, $6, $3, MANSION_2 - db $e, $19, $2, MANSION_2 - - db $0 ; signs - - db $5 ; people - db SPRITE_BLACK_HAIR_BOY_2, $b + 4, $5 + 4, $fe, $2, $41, BURGLAR + $C8, $8 ; trainer - db SPRITE_OAK_AIDE, $b + 4, $14 + 4, $ff, $d2, $42, SCIENTIST + $C8, $c ; trainer - db SPRITE_BALL, $10 + 4, $1 + 4, $ff, $ff, $83, MAX_POTION ; item - db SPRITE_BALL, $5 + 4, $19 + 4, $ff, $ff, $84, IRON ; item - db SPRITE_BOOK_MAP_DEX, $c + 4, $6 + 4, $ff, $ff, $5 ; person - - ; warp-to - EVENT_DISP $f, $a, $7 ; MANSION_2 - EVENT_DISP $f, $1, $6 ; MANSION_2 - EVENT_DISP $f, $e, $19 ; MANSION_2 - -Mansion3Blocks: - INCBIN "maps/mansion3.blk" - -Mansion4_h: ; 0x523ad to 0x523b9 (12 bytes) (id=216) - db $16 ; tileset - db MANSION_4_HEIGHT, MANSION_4_WIDTH ; dimensions (y, x) - dw Mansion4Blocks, Mansion4Texts, Mansion4Script ; blocks, texts, scripts - db $00 ; connections - - dw Mansion4Object ; objects - -Mansion4Script: ; 0x523b9 - call Unknown_523cf - call $3c3c - ld hl, Mansion4TrainerHeader1 - ld de, $6430 - ld a, [$d63e] - call $3160 - ld [$d63e], a - ret -; 0x523cf - -Unknown_523cf: ; 0x523cf -INCBIN "baserom.gbc",$523cf,$52436 - $523cf - -Mansion4Texts: ; 0x52436 -INCBIN "baserom.gbc",$52436,$52448 - $52436 - -Mansion4TrainerHeaders: -Mansion4TrainerHeader1: ; 0x52448 - db $1 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d84b ; flag's byte - dw UnnamedText_52475 ; 0x6475 TextBeforeBattle - dw UnnamedText_5247f ; 0x647f TextAfterBattle - dw UnnamedText_5247a ; 0x647a TextEndBattle - dw UnnamedText_5247a ; 0x647a TextEndBattle -; 0x52454 - -TrainerHeader_52454: ; 0x52454 - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d84b ; flag's byte - dw UnnamedText_52484 ; 0x6484 TextBeforeBattle - dw Map03FlyWarp ; 0x648e TextAfterBattle - dw UnnamedText_52489 ; 0x6489 TextEndBattle - dw UnnamedText_52489 ; 0x6489 TextEndBattle -; 0x52460 - -db $ff - -Mansion4Text1: ; 0x52461 - db $08 ; asm - ld hl, Mansion4TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -Mansion4Text2: ; 0x5246b - db $08 ; asm - ld hl, TrainerHeader_52454 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_52475: ; 0x52475 - TX_FAR _UnnamedText_52475 - db $50 -; 0x52475 + 5 bytes - -UnnamedText_5247a: ; 0x5247a - TX_FAR _UnnamedText_5247a - db $50 -; 0x5247a + 5 bytes - -UnnamedText_5247f: ; 0x5247f - TX_FAR _UnnamedText_5247f - db $50 -; 0x5247f + 5 bytes - -UnnamedText_52484: ; 0x52484 - TX_FAR _UnnamedText_52484 - db $50 -; 0x52484 + 5 bytes - -UnnamedText_52489: ; 0x52489 - TX_FAR _UnnamedText_52489 - db $50 -; 0x52489 + 5 bytes - -UnnamedText_5248e: ; 0x5248e - TX_FAR _UnnamedText_5248e - db $50 -; 0x5248e + 5 bytes - -Mansion4Text7: ; 0x52493 - TX_FAR _Mansion4Text7 - db $50 - -Mansion4Object: ; 0x52498 (size=69) - db $1 ; border tile - - db $1 ; warps - db $16, $17, $5, MANSION_1 - - db $0 ; signs - - db $8 ; people - db SPRITE_BLACK_HAIR_BOY_2, $17 + 4, $10 + 4, $ff, $ff, $41, BURGLAR + $C8, $9 ; trainer - db SPRITE_OAK_AIDE, $b + 4, $1b + 4, $ff, $d0, $42, SCIENTIST + $C8, $d ; trainer - db SPRITE_BALL, $2 + 4, $a + 4, $ff, $ff, $83, RARE_CANDY ; item - db SPRITE_BALL, $16 + 4, $1 + 4, $ff, $ff, $84, FULL_RESTORE ; item - db SPRITE_BALL, $19 + 4, $13 + 4, $ff, $ff, $85, TM_14 ; item - db SPRITE_BALL, $4 + 4, $5 + 4, $ff, $ff, $86, TM_22 ; item - db SPRITE_BOOK_MAP_DEX, $14 + 4, $10 + 4, $ff, $ff, $7 ; person - db SPRITE_BALL, $d + 4, $5 + 4, $ff, $ff, $88, SECRET_KEY ; item - - ; warp-to - EVENT_DISP $f, $16, $17 ; MANSION_1 - -Mansion4Blocks: - INCBIN "maps/mansion4.blk" - -INCBIN "baserom.gbc",$525af,$526f3 - $525af - -UnnamedText_526f3: ; 0x526f3 - TX_FAR _UnnamedText_526f3 - db $50 -; 0x526f3 + 5 bytes - -UnnamedText_526f8: ; 0x526f8 - TX_FAR _UnnamedText_526f8 - db $50 -; 0x526f8 + 5 bytes - -INCBIN "baserom.gbc",$526fd,$1e - -CeladonPrizeMenu: ; 0x5271b 14:671B - ld b,COIN_CASE - call IsItemInBag - jr nz,.havingCoinCase\@ - ld hl,RequireCoinCaseTextPtr - jp PrintText -.havingCoinCase\@ - ld hl,$D730 - set 6,[hl] - ld hl,ExchangeCoinsForPrizesTextPtr - call PrintText -; the following are the menu settings - xor a - ld [$CC26],a - ld [$CC2A],a - ld a,$03 - ld [$CC29],a - ld a,$03 - ld [$CC28],a - ld a,$04 - ld [$CC24],a - ld a,$01 - ld [$CC25],a - call PrintPrizePrice ; 687A - FuncCoord 0,2 - ld hl,Coord - ld b,$08 - ld c,$10 - call TextBoxBorder - call GetPrizeMenuId ;678E - call $2429 - ld hl,WhichPrizeTextPtr - call PrintText - call $3ABE ; menu choice handler - bit 1,a ; keypress = B (Cancel) - jr nz,.NoChoice\@ - ld a,[$CC26] - cp a,$03 ; "NO,THANKS" choice - jr z,.NoChoice\@ - call HandlePrizeChoice ; 14:68C6 -.NoChoice\@ - ld hl,$D730 - res 6,[hl] - ret - -RequireCoinCaseTextPtr: ; 14:677E - TX_FAR _RequireCoinCaseText ; 22:628E - db $0D - db "@" - -ExchangeCoinsForPrizesTextPtr: ; 14:6784 - TX_FAR _ExchangeCoinsForPrizesText ; 22:62A9 - db "@" - -WhichPrizeTextPtr: ; 14:6789 - TX_FAR _WhichPrizeText ; 22:62CD - db "@" - -GetPrizeMenuId: ; 14:678E -; determine which one among the three -; prize-texts has been selected -; using the text ID (stored in [$FF8C]) -; load the three prizes at $D13D-$D13F -; load the three prices ar $D141-$D146 -; display the three prizes' names -; (distinguishing between Pokemon names -; and Items (specifically TMs) names) - ld a,[$FF8C] - sub a,$03 ; prize-texts' id are 3, 4 and 5 - ld [$D12F],a ; prize-texts' id (relative, i.e. 0, 1 or 2) - add a - add a - ld d,$00 - ld e,a - ld hl,PrizeDifferentMenuPtrs - add hl,de - ld a,[hli] - ld d,[hl] - ld e,a - inc hl - push hl - ld hl,W_PRIZE1 - call $3829 ; XXX what does this do - pop hl - ld a,[hli] - ld h,[hl] - ld l,a - ld de,$D141 - ld bc,$0006 - call CopyData - ld a,[$D12F] - cp a,$02 ;is TM_menu? - jr nz,.putMonName\@ - ld a,[W_PRIZE1] - ld [$D11E],a - call GetItemName - FuncCoord 2,4 - ld hl,Coord - call PlaceString - ld a,[W_PRIZE2] - ld [$D11E],a - call GetItemName - FuncCoord 2,6 - ld hl,Coord - call PlaceString - ld a,[W_PRIZE3] - ld [$D11E],a - call GetItemName - FuncCoord 2,8 - ld hl,Coord - call PlaceString - jr .putNoThanksText\@ -.putMonName\@ ; 14:67EC - ld a,[W_PRIZE1] - ld [$D11E],a - call GetMonName - FuncCoord 2,4 - ld hl,Coord - call PlaceString - ld a,[W_PRIZE2] - ld [$D11E],a - call GetMonName - FuncCoord 2,6 - ld hl,Coord - call PlaceString - ld a,[W_PRIZE3] - ld [$D11E],a - call GetMonName - FuncCoord 2,8 - ld hl,Coord - call PlaceString -.putNoThanksText\@ ; 14:6819 - FuncCoord 2,10 - ld hl,Coord - ld de,NoThanksText - call PlaceString -; put prices on the right side of the textbox - ld de,$D141 - FuncCoord 13,5 - ld hl,Coord -; reg. c: -; [low nybble] number of bytes -; [bit 765 = %100] space-padding (not zero-padding) - ld c,(1 << 7 | 2) -; Function $15CD displays BCD value (same routine -; used by text-command $02) - call $15CD ; Print_BCD - ld de,$D143 - FuncCoord 13,7 - ld hl,Coord - ld c,(%1 << 7 | 2) - call $15CD - ld de,$D145 - FuncCoord 13,9 - ld hl,Coord - ld c,(1 << 7 | 2) - jp $15CD - -PrizeDifferentMenuPtrs: ; 14:6843 - dw PrizeMenuMon1Entries - dw PrizeMenuMon1Cost - - dw PrizeMenuMon2Entries - dw PrizeMenuMon2Cost - - dw PrizeMenuTMsEntries - dw PrizeMenuTMsCost - -NoThanksText: ; 14:684F - db "NO THANKS@" - -PrizeMenuMon1Entries: ; 14:6859 - db ABRA - db CLEFAIRY -IF _RED - db NIDORINA -ENDC -IF _BLUE - db NIDORINO -ENDC - db "@" -PrizeMenuMon1Cost: ; 14:685D -IF _RED - db $01,$80 - db $05,$00 -ENDC -IF _BLUE - db $01,$20 - db $07,$50 -ENDC - db $12,$00 - db "@" - -PrizeMenuMon2Entries: ; 14:6864 -IF _RED - db DRATINI - db SCYTHER -ENDC -IF _BLUE - db PINSIR - db DRATINI -ENDC - db PORYGON - db "@" -PrizeMenuMon2Cost: ; 14:6868 -IF _RED - db $28,$00 - db $55,$00 - db $99,$99 -ENDC -IF _BLUE - db $25,$00 - db $46,$00 - db $65,$00 -ENDC - db "@" - -PrizeMenuTMsEntries: ; 14:686F - db TM_23 - db TM_15 - db TM_50 - db "@" -PrizeMenuTMsCost: ; 14:6873 - db $33,$00 ; 3300 Coins - db $55,$00 ; 5500 Coins - db $77,$00 ; 7700 Coins - db "@" - -PrintPrizePrice: ; 14:687A - FuncCoord 11,0 - ld hl,Coord - ld b,$01 - ld c,$07 - call TextBoxBorder - call $2429 ; XXX save OAM? - FuncCoord 12,0 - ld hl,Coord - ld de,.CoinText\@ - call PlaceString - FuncCoord 13,1 - ld hl,Coord - ld de,.SixSpacesText\@ - call PlaceString - FuncCoord 13,1 - ld hl,Coord - ld de,W_PLAYERCOINS1 - ld c,%10000010 - call $15CD - ret - -.CoinText\@ ; 14:68A5 - db "COIN@" - -.SixSpacesText\@ ; 14:68AA - db " @" - -LoadCoinsToSubtract: ; 14:68B1 - ld a,[$D139] ; backup of selected menu_entry - add a - ld d,$00 - ld e,a - ld hl,$D141 ; first prize's price - add hl,de ; get selected prize's price - xor a - ld [$FF9F],a - ld a,[hli] - ld [$FFA0],a - ld a,[hl] - ld [$FFA1],a - ret - -HandlePrizeChoice: ; 14:68C6 - ld a,[$CC26] ; selected menu_entry - ld [$D139],a - ld d,$00 - ld e,a - ld hl,W_PRIZE1 - add hl,de - ld a,[hl] - ld [$D11E],a - ld a,[$D12F] - cp a,$02 ; is prize a TM? - jr nz,.GetMonName\@ - call GetItemName - jr .GivePrize\@ -.GetMonName\@ ; 14:68E3 - call GetMonName -.GivePrize\@ ; 14:68E6 - ld hl,SoYouWantPrizeTextPtr - call PrintText - call $35EC ; yes/no textbox - ld a,[$CC26] ; yes/no answer (Y=0, N=1) - and a - jr nz,.PrintOhFineThen\@ - call LoadCoinsToSubtract - call $35B1 ; subtract COINs from COIN_CASE - jr c,.NotEnoughCoins\@ - ld a,[$D12F] - cp a,$02 - jr nz,.GiveMon\@ - ld a,[$D11E] - ld b,a - ld a,$01 - ld c,a - call $3E2E ; GiveItem - jr nc,.BagIsFull\@ - jr .SubtractCoins\@ -.GiveMon\@ ; 14:6912 - ld a,[$D11E] - ld [$CF91],a - push af - call GetPrizeMonLevel ; 14:6977 - ld c,a - pop af - ld b,a - call GivePokemon - push af - ld a,[$CCD3] ; XXX is there room? - and a - call z,$3865 - pop af - ret nc -.SubtractCoins\@ ; 14:692C - call LoadCoinsToSubtract - ld hl,$FFA1 - ld de,W_PLAYERCOINS2 - ld c,$02 ; how many bytes - ld a,$0C - call Predef ; subtract coins (BCD daa operations) - jp PrintPrizePrice -.BagIsFull\@ ; 14:693F - ld hl,PrizeRoomBagIsFullTextPtr - jp PrintText -.NotEnoughCoins\@ ; 14:6945 - ld hl,SorryNeedMoreCoinsTextPtr - jp PrintText -.PrintOhFineThen\@ ; 14:694B - ld hl,OhFineThenTextPtr - jp PrintText - -UnknownData52951: ; 14:6951 -; XXX what's this? - db $00,$01,$00,$01,$00,$01,$00,$00,$01 - -HereYouGoTextPtr: - TX_FAR _HereYouGoText ; 22:62E7 - db $0D - db "@" - -SoYouWantPrizeTextPtr: ; 14:6960 - TX_FAR _SoYouWantPrizeText ; 22:62F6 - db "@" - -SorryNeedMoreCoinsTextPtr: ; 14:6965 - TX_FAR _SorryNeedMoreCoins ; 22:630B - db $0D - db "@" - -PrizeRoomBagIsFullTextPtr: ; 14:696B - TX_FAR _OopsYouDontHaveEnoughRoomText ; 22:6329 - db $0D - db "@" - -OhFineThenTextPtr: ; 14:6971 - TX_FAR _OhFineThenText; 22:634C - db $0D ; wait keypress (A/B) without blink - db "@" - -GetPrizeMonLevel: ; 14:6977 - ld a,[$CF91] - ld b,a - ld hl,PrizeMonLevelDictionary -.loop\@ ; 14:697E - ld a,[hli] - cp b - jr z,.matchFound\@ - inc hl - jr .loop\@ -.matchFound\@ ; 14:6985 - ld a,[hl] - ld [$D127],a - ret - -PrizeMonLevelDictionary: ; 14:698A -IF _RED - db ABRA,9 - db CLEFAIRY,8 - db NIDORINA,17 - - db DRATINI,18 - db SCYTHER,25 - db PORYGON,26 -ENDC -IF _BLUE - db ABRA,6 - db CLEFAIRY,12 - db NIDORINO,17 - - db PINSIR,20 - db DRATINI,24 - db PORYGON,18 -ENDC - -INCBIN "baserom.gbc",$52996,$529e9 - $52996 - -UnnamedText_529e9: ; 0x529e9 - TX_FAR _UnnamedText_529e9 - db $50 -; 0x529e9 + 5 bytes - -INCBIN "baserom.gbc",$529ee,$529f4 - $529ee - -UnnamedText_529f4: ; 0x529f4 - TX_FAR _UnnamedText_529f4 - db $50 -; 0x529f4 + 5 bytes - -UnnamedText_529f9: ; 0x529f9 - TX_FAR _UnnamedText_529f9 - db $50 -; 0x529f9 + 5 bytes - -UnnamedText_529fe: ; 0x529fe - TX_FAR _UnnamedText_529fe - db $50 -; 0x529fe + 5 bytes - -UnnamedText_52a03: ; 0x52a03 - TX_FAR _UnnamedText_52a03 - db $50 -; 0x52a03 + 5 bytes - -INCBIN "baserom.gbc",$52a08,$52a10 - $52a08 - -UnnamedText_52a10: ; 0x52a10 - TX_FAR _UnnamedText_52a10 - db $50 -; 0x52a10 + 5 bytes - -INCBIN "baserom.gbc",$52a15,$52a1d - $52a15 - -UnnamedText_52a1d: ; 0x52a1d - TX_FAR _UnnamedText_52a1d - db $50 -; 0x52a1d + 5 bytes - -INCBIN "baserom.gbc",$52a22,$52a2a - $52a22 - -UnnamedText_52a2a: ; 0x52a2a - TX_FAR _UnnamedText_52a2a - db $50 -; 0x52a2a + 5 bytes - -INCBIN "baserom.gbc",$52a2f,$52a3d - $52a2f - -UnnamedText_52a3d: ; 0x52a3d - TX_FAR _UnnamedText_52a3d - db $50 -; 0x52a3d + 5 bytes - -INCBIN "baserom.gbc",$52a42,$15be - -SECTION "bank15",DATA,BANK[$15] - -Route2_h: - db 00 ; Tileset - db ROUTE_2_HEIGHT,ROUTE_2_WIDTH ;Height,Width blocks (1 block = 4x4 tiles) - dw Route2Blocks ;Map-Pointer - dw Route2Texts ;Maps text pointer - dw Route2Script ;Maps script pointer - db NORTH | SOUTH ;Connection Byte - - ;Connection data - db PEWTER_CITY ;Map - dw $4714 ;y, x Strip Starting Point - dw $C6E8 ;Strip X-Offset to current map - db 16 ;"Bigness" (Unsure) ;Something to do with MapData - db 20 ;"Map Width" (Unsure) ;Something to do with TileSet - db 35 ;Player's new Y-Coordinates - db 10 ;Player's new X-Coordinates - dw $C8BD ;New UL Block Pos (Window) - - db VIRIDIAN_CITY ;Map - dw $43EE ;y, x Strip Starting Point - dw $C958 ;Strip X-Offset to current map - db 16 ;"Bigness" (Unsure) ;Something to do with MapData - db 20 ;"Map Width" (Unsure) ;Something to do with TileSet - db 0 ;Player's new Y-Coordinates - db 10 ;Player's new X-Coordinates - dw $C703 ;New UL Block Pos (Window) - - dw Route2Object ;Object Data Pointer - -Route2Object: ; 0x54022 (size=72) - db $f ; border tile - - db $6 ; warps - db $9, $c, $0, DIGLETTS_CAVE_EXIT - db $b, $3, $1, VIRIDIAN_FOREST_EXIT - db $13, $f, $0, ROUTE_2_HOUSE - db $23, $10, $1, ROUTE_2_GATE - db $27, $f, $2, ROUTE_2_GATE - db $2b, $3, $2, VIRIDIAN_FOREST_ENTRANCE - - db $2 ; signs - db $41, $5, $3 ; Route2Text3 - db $b, $b, $4 ; Route2Text4 - - db $2 ; people - db SPRITE_BALL, $36 + 4, $d + 4, $ff, $ff, $81, MOON_STONE ; item - db SPRITE_BALL, $2d + 4, $d + 4, $ff, $ff, $82, HP_UP ; item - - ; warp-to - EVENT_DISP $a, $9, $c ; DIGLETTS_CAVE_EXIT - EVENT_DISP $a, $b, $3 ; VIRIDIAN_FOREST_EXIT - EVENT_DISP $a, $13, $f ; ROUTE_2_HOUSE - EVENT_DISP $a, $23, $10 ; ROUTE_2_GATE - EVENT_DISP $a, $27, $f ; ROUTE_2_GATE - EVENT_DISP $a, $2b, $3 ; VIRIDIAN_FOREST_ENTRANCE - -INCBIN "baserom.gbc",$5406a,$14 - -Route2Blocks: ; 0x5407e 360 - INCBIN "maps/route2.blk" - -Route3_h: ; 0x541e6 to 0x54208 (34 bytes) (id=14) - db $00 ; tileset - db ROUTE_3_HEIGHT, ROUTE_3_WIDTH ; dimensions (y, x) - dw Route3Blocks, Route3Texts, Route3Script ; blocks, texts, scripts - db NORTH | WEST ; connections - - ; connections data - - db ROUTE_4 - dw Route4Blocks + (ROUTE_4_HEIGHT - 3) * ROUTE_4_WIDTH ; connection strip location - dw $C6EB + 25 ; current map position - db $d, ROUTE_4_WIDTH ; bigness, width - db (ROUTE_4_HEIGHT * 2) - 1, (25 * -2) ; alignments (y, x) - dw $C6E9 + ROUTE_4_HEIGHT * (ROUTE_4_WIDTH + 6) ; window - - db PEWTER_CITY - dw PewterCityBlocks - 3 + (PEWTER_CITY_WIDTH * 2) ; connection strip location - dw $C6E8 + (ROUTE_3_WIDTH + 6) * (-3 + 3) ; current map position - db $f, PEWTER_CITY_WIDTH ; bigness, width - db (-4 * -2), (PEWTER_CITY_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * PEWTER_CITY_WIDTH ; window - - ; end connections data - - dw Route3Object ; objects - -Route3Object: ; 0x54208 (size=77) - db $2c ; border tile - - db $0 ; warps - - db $1 ; signs - db $9, $3b, $a ; Route3Text10 - - db $9 ; people - db SPRITE_BLACK_HAIR_BOY_2, $b + 4, $39 + 4, $ff, $ff, $1 ; person - db SPRITE_BUG_CATCHER, $6 + 4, $a + 4, $ff, $d3, $42, BUG_CATCHER + $C8, $4 ; trainer - db SPRITE_BUG_CATCHER, $4 + 4, $e + 4, $ff, $d0, $43, YOUNGSTER + $C8, $1 ; trainer - db SPRITE_LASS, $9 + 4, $10 + 4, $ff, $d2, $44, LASS + $C8, $1 ; trainer - db SPRITE_BUG_CATCHER, $5 + 4, $13 + 4, $ff, $d0, $45, BUG_CATCHER + $C8, $5 ; trainer - db SPRITE_LASS, $4 + 4, $17 + 4, $ff, $d2, $46, LASS + $C8, $2 ; trainer - db SPRITE_BUG_CATCHER, $9 + 4, $16 + 4, $ff, $d2, $47, YOUNGSTER + $C8, $2 ; trainer - db SPRITE_BUG_CATCHER, $6 + 4, $18 + 4, $ff, $d3, $48, BUG_CATCHER + $C8, $6 ; trainer - db SPRITE_LASS, $a + 4, $21 + 4, $ff, $d1, $49, LASS + $C8, $3 ; trainer - -Route3Blocks: ; 0x54255 315 - INCBIN "maps/route3.blk" - -Route4_h: ; 0x54390 to 0x543b2 (34 bytes) (id=15) - db $00 ; tileset - db ROUTE_4_HEIGHT, ROUTE_4_WIDTH ; dimensions (y, x) - dw Route4Blocks, Route4Texts, Route4Script; blocks, texts, scripts - db SOUTH | EAST ; connections - - ; connections data - - db ROUTE_3 - dw Route3Blocks + 22 ; connection strip location - dw $C6EB + (ROUTE_4_HEIGHT + 3) * (ROUTE_4_WIDTH + 6) + -3 ; current map position - db $d, ROUTE_3_WIDTH ; bigness, width - db 0, (-25 * -2) ; alignments (y, x) - dw $C6EF + ROUTE_3_WIDTH ; window - - db CERULEAN_CITY - dw CeruleanCityBlocks + (CERULEAN_CITY_WIDTH) ; connection strip location - dw $C6E5 + (ROUTE_4_WIDTH + 6) * (-3 + 4) ; current map position - db $f, CERULEAN_CITY_WIDTH ; bigness, width - db (-4 * -2), 0 ; alignments (y, x) - dw $C6EF + CERULEAN_CITY_WIDTH ; window - - ; end connections data - - dw Route4Object ; objects - -Route4Object: ; 0x543b2 (size=58) - db $2c ; border tile - - db $3 ; warps - db $5, $b, $0, MT_MOON_POKECENTER - db $5, $12, $0, MT_MOON_1 - db $5, $18, $7, MT_MOON_2 - - db $3 ; signs - db $5, $c, $4 ; Route4Text4 - db $7, $11, $5 ; Route4Text5 - db $7, $1b, $6 ; Route4Text6 - - db $3 ; people - db SPRITE_LASS, $8 + 4, $9 + 4, $fe, $0, $1 ; person - db SPRITE_LASS, $3 + 4, $3f + 4, $ff, $d3, $42, LASS + $C8, $4 ; trainer - db SPRITE_BALL, $3 + 4, $39 + 4, $ff, $ff, $83, TM_04 ; item - - ; warp-to - EVENT_DISP $2d, $5, $b ; MT_MOON_POKECENTER - EVENT_DISP $2d, $5, $12 ; MT_MOON_1 - EVENT_DISP $2d, $5, $18 ; MT_MOON_2 - -Route4Blocks: ; 0x543ec 405 - INCBIN "maps/route4.blk" - -Route5_h: ; 0x54581 to 0x545a3 (34 bytes) (id=16) - db $00 ; tileset - db ROUTE_5_HEIGHT, ROUTE_5_WIDTH ; dimensions (y, x) - dw Route5Blocks, Route5Texts, Route5Script ; blocks, texts, scripts - db NORTH | SOUTH ; connections - - ; connections data - - db CERULEAN_CITY - dw CeruleanCityBlocks + (CERULEAN_CITY_HEIGHT - 3) * CERULEAN_CITY_WIDTH + 2 ; connection strip location - dw $C6EB + -3 ; current map position - db $10, CERULEAN_CITY_WIDTH ; bigness, width - db (CERULEAN_CITY_HEIGHT * 2) - 1, (-5 * -2) ; alignments (y, x) - dw $C6E9 + CERULEAN_CITY_HEIGHT * (CERULEAN_CITY_WIDTH + 6) ; window - - db SAFFRON_CITY - dw SaffronCityBlocks + 2 ; connection strip location - dw $C6EB + (ROUTE_5_HEIGHT + 3) * (ROUTE_5_WIDTH + 6) + -3 ; current map position - db $10, SAFFRON_CITY_WIDTH ; bigness, width - db 0, (-5 * -2) ; alignments (y, x) - dw $C6EF + SAFFRON_CITY_WIDTH ; window - - ; end connections data - - dw Route5Object ; objects - -Route5Object: ; 0x545a3 (size=47) - db $a ; border tile - - db $5 ; warps - db $1d, $a, $3, ROUTE_5_GATE - db $1d, $9, $2, ROUTE_5_GATE - db $21, $a, $0, ROUTE_5_GATE - db $1b, $11, $0, PATH_ENTRANCE_ROUTE_5 - db $15, $a, $0, DAYCAREM - - db $1 ; signs - db $1d, $11, $1 ; Route5Text1 - - db $0 ; people - - ; warp-to - EVENT_DISP $a, $1d, $a ; ROUTE_5_GATE - EVENT_DISP $a, $1d, $9 ; ROUTE_5_GATE - EVENT_DISP $a, $21, $a ; ROUTE_5_GATE - EVENT_DISP $a, $1b, $11 ; PATH_ENTRANCE_ROUTE_5 - EVENT_DISP $a, $15, $a ; DAYCAREM - -Route5Blocks: ; 0x545d2 180 - INCBIN "maps/route5.blk" - -Route9_h: ; 0x54686 to 0x546a8 (34 bytes) (id=20) - db $00 ; tileset - db ROUTE_9_HEIGHT, ROUTE_9_WIDTH ; dimensions (y, x) - dw Route9Blocks, Route9Texts, Route9Script ; blocks, texts, scripts - db WEST | EAST ; connections - - ; connections data - - db CERULEAN_CITY - dw CeruleanCityBlocks - 3 + (CERULEAN_CITY_WIDTH * 2) ; connection strip location - dw $C6E8 + (ROUTE_9_WIDTH + 6) * (-3 + 3) ; current map position - db $f, CERULEAN_CITY_WIDTH ; bigness, width - db (-4 * -2), (CERULEAN_CITY_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * CERULEAN_CITY_WIDTH ; window - - db ROUTE_10 - dw Route10Blocks + (ROUTE_10_WIDTH * 0) ; connection strip location - dw $C6E5 + (ROUTE_9_WIDTH + 6) * (0 + 4) ; current map position - db $c, ROUTE_10_WIDTH ; bigness, width - db (0 * -2), 0 ; alignments (y, x) - dw $C6EF + ROUTE_10_WIDTH ; window - - ; end connections data - - dw Route9Object ; objects - -Route9Object: ; 0x546a8 (size=86) - db $2c ; border tile - - db $0 ; warps - - db $1 ; signs - db $7, $19, $b ; Route9Text11 - - db $a ; people - db SPRITE_LASS, $a + 4, $d + 4, $ff, $d2, $41, JR__TRAINER_F + $C8, $5 ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $7 + 4, $18 + 4, $ff, $d2, $42, JR__TRAINER_M + $C8, $7 ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $7 + 4, $1f + 4, $ff, $d3, $43, JR__TRAINER_M + $C8, $8 ; trainer - db SPRITE_LASS, $8 + 4, $30 + 4, $ff, $d3, $44, JR__TRAINER_F + $C8, $6 ; trainer - db SPRITE_HIKER, $f + 4, $10 + 4, $ff, $d2, $45, HIKER + $C8, $b ; trainer - db SPRITE_HIKER, $3 + 4, $2b + 4, $ff, $d2, $46, HIKER + $C8, $6 ; trainer - db SPRITE_BUG_CATCHER, $2 + 4, $16 + 4, $ff, $d0, $47, BUG_CATCHER + $C8, $d ; trainer - db SPRITE_HIKER, $f + 4, $2d + 4, $ff, $d3, $48, HIKER + $C8, $5 ; trainer - db SPRITE_BUG_CATCHER, $8 + 4, $28 + 4, $ff, $d3, $49, BUG_CATCHER + $C8, $e ; trainer - db SPRITE_BALL, $f + 4, $a + 4, $ff, $ff, $8a, TM_30 ; item - -Route9Blocks: ; 0x546fe 270 - INCBIN "maps/route9.blk" - -Route13_h: ; 0x5480c to 0x5482e (34 bytes) (id=24) - db $00 ; tileset - db ROUTE_13_HEIGHT, ROUTE_13_WIDTH ; dimensions (y, x) - dw Route13Blocks, Route13Texts, Route13Script ; blocks, texts, scripts - db NORTH | WEST ; connections - - ; connections data - - db ROUTE_12 - dw Route12Blocks + (ROUTE_12_HEIGHT - 3) * ROUTE_12_WIDTH ; connection strip location - dw $C6EB + 20 ; current map position - db ROUTE_12_WIDTH, ROUTE_12_WIDTH ; bigness, width - db (ROUTE_12_HEIGHT * 2) - 1, (20 * -2) ; alignments (y, x) - dw $C6E9 + ROUTE_12_HEIGHT * (ROUTE_12_WIDTH + 6) ; window - - db ROUTE_14 - dw Route14Blocks - 3 + (ROUTE_14_WIDTH) ; connection strip location - dw $C6E8 + (ROUTE_13_WIDTH + 6) * (0 + 3) ; current map position - db $c, ROUTE_14_WIDTH ; bigness, width - db (0 * -2), (ROUTE_14_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * ROUTE_14_WIDTH ; window - - ; end connections data - - dw Route13Object ; objects - -Route13Object: ; 0x5482e (size=93) - db $43 ; border tile - - db $0 ; warps - - db $3 ; signs - db $d, $f, $b ; Route13Text11 - db $5, $21, $c ; Route13Text12 - db $b, $1f, $d ; Route13Text13 - - db $a ; people - db SPRITE_BLACK_HAIR_BOY_1, $a + 4, $31 + 4, $ff, $d3, $41, BIRD_KEEPER + $C8, $1 ; trainer - db SPRITE_LASS, $a + 4, $30 + 4, $ff, $d0, $42, JR__TRAINER_F + $C8, $c ; trainer - db SPRITE_LASS, $9 + 4, $1b + 4, $ff, $d0, $43, JR__TRAINER_F + $C8, $d ; trainer - db SPRITE_LASS, $a + 4, $17 + 4, $ff, $d2, $44, JR__TRAINER_F + $C8, $e ; trainer - db SPRITE_LASS, $5 + 4, $32 + 4, $ff, $d0, $45, JR__TRAINER_F + $C8, $f ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $4 + 4, $c + 4, $ff, $d3, $46, BIRD_KEEPER + $C8, $2 ; trainer - db SPRITE_FOULARD_WOMAN, $6 + 4, $21 + 4, $ff, $d0, $47, BEAUTY + $C8, $4 ; trainer - db SPRITE_FOULARD_WOMAN, $6 + 4, $20 + 4, $ff, $d0, $48, BEAUTY + $C8, $5 ; trainer - db SPRITE_BIKER, $7 + 4, $a + 4, $ff, $d1, $49, BIKER + $C8, $1 ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $d + 4, $7 + 4, $ff, $d1, $4a, BIRD_KEEPER + $C8, $3 ; trainer - -Route13Blocks: ; 0x5488b 270 - INCBIN "maps/route13.blk" - -Route14_h: ; 0x54999 to 0x549bb (34 bytes) (id=25) - db $00 ; tileset - db ROUTE_14_HEIGHT, ROUTE_14_WIDTH ; dimensions (y, x) - dw Route14Blocks, Route14Texts, Route14Script ; blocks, texts, scripts - db WEST | EAST ; connections - - ; connections data - - db ROUTE_15 - dw Route15Blocks - 3 + (ROUTE_15_WIDTH) ; connection strip location - dw $C6E8 + (ROUTE_14_WIDTH + 6) * (18 + 3) ; current map position - db ROUTE_15_HEIGHT, ROUTE_15_WIDTH ; bigness, width - db (18 * -2), (ROUTE_15_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * ROUTE_15_WIDTH ; window - - db ROUTE_13 - dw Route13Blocks + (ROUTE_13_WIDTH * 0) ; connection strip location - dw $C6E5 + (ROUTE_14_WIDTH + 6) * (0 + 4) ; current map position - db ROUTE_13_HEIGHT, ROUTE_13_WIDTH ; bigness, width - db (0 * -2), 0 ; alignments (y, x) - dw $C6EF + ROUTE_13_WIDTH ; window - - ; end connections data - - dw Route14Object ; objects - -Route14Object: ; 0x549bb (size=87) - db $43 ; border tile - - db $0 ; warps - - db $1 ; signs - db $d, $11, $b ; Route14Text11 - - db $a ; people - db SPRITE_BLACK_HAIR_BOY_1, $4 + 4, $4 + 4, $ff, $d0, $41, BIRD_KEEPER + $C8, $e ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $6 + 4, $f + 4, $ff, $d0, $42, BIRD_KEEPER + $C8, $f ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $b + 4, $c + 4, $ff, $d0, $43, BIRD_KEEPER + $C8, $10 ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $f + 4, $e + 4, $ff, $d1, $44, BIRD_KEEPER + $C8, $11 ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $1f + 4, $f + 4, $ff, $d2, $45, BIRD_KEEPER + $C8, $4 ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $31 + 4, $6 + 4, $ff, $d1, $46, BIRD_KEEPER + $C8, $5 ; trainer - db SPRITE_BIKER, $27 + 4, $5 + 4, $ff, $d0, $47, BIKER + $C8, $d ; trainer - db SPRITE_BIKER, $1e + 4, $4 + 4, $ff, $d3, $48, BIKER + $C8, $e ; trainer - db SPRITE_BIKER, $1e + 4, $f + 4, $ff, $d2, $49, BIKER + $C8, $f ; trainer - db SPRITE_BIKER, $1f + 4, $4 + 4, $ff, $d3, $4a, BIKER + $C8, $2 ; trainer - -Route14Blocks: ; 0x54a12 270 - INCBIN "maps/route14.blk" - -Route17_h: ; 0x54b20 to 0x54b42 (34 bytes) (id=28) - db $00 ; tileset - db ROUTE_17_HEIGHT, ROUTE_17_WIDTH ; dimensions (y, x) - dw Route17Blocks, Route17Texts, Route17Script ; blocks, texts, scripts - db NORTH | SOUTH ; connections - - ; connections data - - db ROUTE_16 - dw Route16Blocks + (ROUTE_16_HEIGHT - 3) * ROUTE_16_WIDTH ; connection strip location - dw $C6EB + 0 ; current map position - db $d, ROUTE_16_WIDTH ; bigness, width - db (ROUTE_16_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x) - dw $C6E9 + ROUTE_16_HEIGHT * (ROUTE_16_WIDTH + 6) ; window - - db ROUTE_18 - dw Route18Blocks ; connection strip location - dw $C6EB + (ROUTE_17_HEIGHT + 3) * (ROUTE_17_WIDTH + 6) + 0 ; current map position - db $d, ROUTE_18_WIDTH ; bigness, width - db 0, (0 * -2) ; alignments (y, x) - dw $C6EF + ROUTE_18_WIDTH ; window - - ; end connections data - - dw Route17Object ; objects - -Route17Object: ; 0x54b42 (size=102) - db $43 ; border tile - - db $0 ; warps - - db $6 ; signs - db $33, $9, $b ; Route17Text11 - db $3f, $9, $c ; Route17Text12 - db $4b, $9, $d ; Route17Text13 - db $57, $9, $e ; Route17Text14 - db $6f, $9, $f ; Route17Text15 - db $8d, $9, $10 ; Route17Text16 - - db $a ; people - db SPRITE_BIKER, $13 + 4, $c + 4, $ff, $d2, $41, CUE_BALL + $C8, $4 ; trainer - db SPRITE_BIKER, $10 + 4, $b + 4, $ff, $d3, $42, CUE_BALL + $C8, $5 ; trainer - db SPRITE_BIKER, $12 + 4, $4 + 4, $ff, $d1, $43, BIKER + $C8, $8 ; trainer - db SPRITE_BIKER, $20 + 4, $7 + 4, $ff, $d2, $44, BIKER + $C8, $9 ; trainer - db SPRITE_BIKER, $22 + 4, $e + 4, $ff, $d3, $45, BIKER + $C8, $a ; trainer - db SPRITE_BIKER, $3a + 4, $11 + 4, $ff, $d2, $46, CUE_BALL + $C8, $6 ; trainer - db SPRITE_BIKER, $44 + 4, $2 + 4, $ff, $d3, $47, CUE_BALL + $C8, $7 ; trainer - db SPRITE_BIKER, $62 + 4, $e + 4, $ff, $d3, $48, CUE_BALL + $C8, $8 ; trainer - db SPRITE_BIKER, $62 + 4, $5 + 4, $ff, $d2, $49, BIKER + $C8, $b ; trainer - db SPRITE_BIKER, $76 + 4, $a + 4, $ff, $d0, $4a, BIKER + $C8, $c ; trainer - -Route17Blocks: ; 0x54ba8 720 - INCBIN "maps/route17.blk" - -Route19_h: ; 0x54e78 to 0x54e9a (34 bytes) (id=30) - db $00 ; tileset - db ROUTE_19_HEIGHT, ROUTE_19_WIDTH ; dimensions (y, x) - dw Route19Blocks, Route19Texts, Route19Script ; blocks, texts, scripts - db NORTH | WEST ; connections - - ; connections data - - db FUCHSIA_CITY - dw FuchsiaCityBlocks + (FUCHSIA_CITY_HEIGHT - 3) * FUCHSIA_CITY_WIDTH + 2 ; connection strip location - dw $C6EB + -3 ; current map position - db $10, FUCHSIA_CITY_WIDTH ; bigness, width - db (FUCHSIA_CITY_HEIGHT * 2) - 1, (-5 * -2) ; alignments (y, x) - dw $C6E9 + FUCHSIA_CITY_HEIGHT * (FUCHSIA_CITY_WIDTH + 6) ; window - - db ROUTE_20 - dw Route20Blocks - 3 + (ROUTE_20_WIDTH) ; connection strip location - dw $C6E8 + (ROUTE_19_WIDTH + 6) * (18 + 3) ; current map position - db ROUTE_20_HEIGHT, ROUTE_20_WIDTH ; bigness, width - db (18 * -2), (ROUTE_20_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * ROUTE_20_WIDTH ; window - - ; end connections data - - dw Route19Object ; objects - -Route19Object: ; 0x54e9a (size=87) - db $43 ; border tile - - db $0 ; warps - - db $1 ; signs - db $9, $b, $b ; Route19Text11 - - db $a ; people - db SPRITE_BLACK_HAIR_BOY_1, $7 + 4, $8 + 4, $ff, $d2, $41, SWIMMER + $C8, $2 ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $7 + 4, $d + 4, $ff, $d2, $42, SWIMMER + $C8, $3 ; trainer - db SPRITE_SWIMMER, $19 + 4, $d + 4, $ff, $d2, $43, SWIMMER + $C8, $4 ; trainer - db SPRITE_SWIMMER, $1b + 4, $4 + 4, $ff, $d3, $44, SWIMMER + $C8, $5 ; trainer - db SPRITE_SWIMMER, $1f + 4, $10 + 4, $ff, $d1, $45, SWIMMER + $C8, $6 ; trainer - db SPRITE_SWIMMER, $b + 4, $9 + 4, $ff, $d0, $46, SWIMMER + $C8, $7 ; trainer - db SPRITE_SWIMMER, $2b + 4, $8 + 4, $ff, $d2, $47, BEAUTY + $C8, $c ; trainer - db SPRITE_SWIMMER, $2b + 4, $b + 4, $ff, $d3, $48, BEAUTY + $C8, $d ; trainer - db SPRITE_SWIMMER, $2a + 4, $9 + 4, $ff, $d1, $49, SWIMMER + $C8, $8 ; trainer - db SPRITE_SWIMMER, $2c + 4, $a + 4, $ff, $d0, $4a, BEAUTY + $C8, $e ; trainer - -Route19Blocks: ; 0x54ef1 270 - INCBIN "maps/route19.blk" - -Route21_h: ; 0x54fff to 0x55021 (34 bytes) (id=32) - db $00 ; tileset - db ROUTE_21_HEIGHT, ROUTE_21_WIDTH ; dimensions (y, x) - dw Route21Blocks, Route21Texts, Route21Script ; blocks, texts, scripts - db NORTH | SOUTH ; connections - - ; connections data - - db PALLET_TOWN - dw PalletTownBlocks + (PALLET_TOWN_HEIGHT - 3) * PALLET_TOWN_WIDTH ; connection strip location - dw $C6EB + 0 ; current map position - db PALLET_TOWN_WIDTH, PALLET_TOWN_WIDTH ; bigness, width - db (PALLET_TOWN_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x) - dw $C6E9 + PALLET_TOWN_HEIGHT * (PALLET_TOWN_WIDTH + 6) ; window - - db CINNABAR_ISLAND - dw CinnabarIslandBlocks ; connection strip location - dw $C6EB + (ROUTE_21_HEIGHT + 3) * (ROUTE_21_WIDTH + 6) + 0 ; current map position - db CINNABAR_ISLAND_WIDTH, CINNABAR_ISLAND_WIDTH ; bigness, width - db 0, (0 * -2) ; alignments (y, x) - dw $C6EF + CINNABAR_ISLAND_WIDTH ; window - - ; end connections data - - dw Route21Object ; objects - -Route21Object: ; 0x55021 (size=76) - db $43 ; border tile - - db $0 ; warps - - db $0 ; signs - - db $9 ; people - db SPRITE_FISHER2, $18 + 4, $4 + 4, $ff, $d2, $41, FISHER + $C8, $7 ; trainer - db SPRITE_FISHER2, $19 + 4, $6 + 4, $ff, $d0, $42, FISHER + $C8, $9 ; trainer - db SPRITE_SWIMMER, $1f + 4, $a + 4, $ff, $d1, $43, SWIMMER + $C8, $c ; trainer - db SPRITE_SWIMMER, $1e + 4, $c + 4, $ff, $d3, $44, CUE_BALL + $C8, $9 ; trainer - db SPRITE_SWIMMER, $3f + 4, $10 + 4, $ff, $d0, $45, SWIMMER + $C8, $d ; trainer - db SPRITE_SWIMMER, $47 + 4, $5 + 4, $ff, $d3, $46, SWIMMER + $C8, $e ; trainer - db SPRITE_SWIMMER, $47 + 4, $f + 4, $ff, $d2, $47, SWIMMER + $C8, $f ; trainer - db SPRITE_FISHER2, $38 + 4, $e + 4, $ff, $d2, $48, FISHER + $C8, $8 ; trainer - db SPRITE_FISHER2, $39 + 4, $11 + 4, $ff, $d3, $49, FISHER + $C8, $a ; trainer - -Route21Blocks: ; 0x5506d 450 - INCBIN "maps/route21.blk" - -VermilionHouse2Blocks: -Route12HouseBlocks: -DayCareMBlocks: ; 0x5522f 522F 16 - INCBIN "maps/daycarem.blk" - -FuchsiaHouse3Blocks: ; 0x5523f 16 - INCBIN "maps/fuchsiahouse3.blk" - -INCBIN "baserom.gbc",$5524f,$554d8 - $5524f - -UnnamedText_554d8: ; 0x554d8 - TX_FAR _UnnamedText_554d8 ; 0x89bee - db $50 -; 0x554dd - -INCBIN "baserom.gbc",$554dd,$554e3 - $554dd - -Route2Script: ; 0x554e3 - jp $3c3c -; 0x554e6 - -Route2Texts: - dw Route2Text1, Route2Text2, Route2Text3, Route2Text4 - -Route2Text3: ; 0x554ee - TX_FAR _Route2Text3 - db $50 - -Route2Text4: ; 0x554f3 - TX_FAR _Route2Text4 - db $50 - -Route3Script: ; 0x554f8 - call $3c3c - ld hl, Route3TrainerHeader1 - ld de, Unknown_5550b - ld a, [$d5f8] - call $3160 - ld [$d5f8], a - ret -; 0x5550b - -Unknown_5550b: ; 0x5550b -INCBIN "baserom.gbc",$5550b,$6 - -Route3Texts: ; 0x55511 - dw Route3Text1, Route3Text2, Route3Text3, Route3Text4, Route3Text5, Route3Text6, Route3Text7, Route3Text8, Route3Text9, Route3Text10 - -Route3TrainerHeaders: -Route3TrainerHeader1: ; 0x55525 - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7c3 ; flag's byte - dw UnnamedText_55595 ; 0x5595 TextBeforeBattle - dw UnnamedText_5559f ; 0x559f TextAfterBattle - dw UnnamedText_5559a ; 0x559a TextEndBattle - dw UnnamedText_5559a ; 0x559a TextEndBattle -; 0x55531 - -TrainerHeader_55531: ; 0x55531 - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7c3 ; flag's byte - dw UnnamedText_555ae ; 0x55ae TextBeforeBattle - dw UnnamedText_555b8 ; 0x55b8 TextAfterBattle - dw UnnamedText_555b3 ; 0x55b3 TextEndBattle - dw UnnamedText_555b3 ; 0x55b3 TextEndBattle -; 0x5553d - -TrainerHeader_5553d: ; 0x5553d - db $4 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7c3 ; flag's byte - dw UnnamedText_555c7 ; 0x55c7 TextBeforeBattle - dw UnnamedText_555d1 ; 0x55d1 TextAfterBattle - dw UnnamedText_555cc ; 0x55cc TextEndBattle - dw UnnamedText_555cc ; 0x55cc TextEndBattle -; 0x55549 - -TrainerHeader_55549: ; 0x55549 - db $5 ; flag's bit - db ($1 << 4) ; trainer's view range - dw $d7c3 ; flag's byte - dw UnnamedText_555e0 ; 0x55e0 TextBeforeBattle - dw UnnamedText_555ea ; 0x55ea TextAfterBattle - dw UnnamedText_555e5 ; 0x55e5 TextEndBattle - dw UnnamedText_555e5 ; 0x55e5 TextEndBattle -; 0x55555 - -TrainerHeader_55555: ; 0x55555 - db $6 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7c3 ; flag's byte - dw UnnamedText_555f9 ; 0x55f9 TextBeforeBattle - dw UnnamedText_55603 ; 0x5603 TextAfterBattle - dw UnnamedText_555fe ; 0x55fe TextEndBattle - dw UnnamedText_555fe ; 0x55fe TextEndBattle -; 0x55561 - -TrainerHeader_55561: ; 0x55561 - db $7 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7c3 ; flag's byte - dw UnnamedText_55612 ; 0x5612 TextBeforeBattle - dw UnnamedText_5561c ; 0x561c TextAfterBattle - dw UnnamedText_55617 ; 0x5617 TextEndBattle - dw UnnamedText_55617 ; 0x5617 TextEndBattle -; 0x5556d - -TrainerHeader_5556d: ; 0x5556d - db $8 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7c3 ; flag's byte - dw UnnamedText_5562b ; 0x562b TextBeforeBattle - dw UnnamedText_55635 ; 0x5635 TextAfterBattle - dw UnnamedText_55630 ; 0x5630 TextEndBattle - dw UnnamedText_55630 ; 0x5630 TextEndBattle -; 0x55579 - -TrainerHeader_55579: ; 0x55579 - db $9 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7c3 ; flag's byte - dw UnnamedText_55644 ; 0x5644 TextBeforeBattle - dw UnnamedText_5564e ; 0x564e TextAfterBattle - dw UnnamedText_55649 ; 0x5649 TextEndBattle - dw UnnamedText_55649 ; 0x5649 TextEndBattle -; 0x55585 - -db $ff - -Route3Text1: ; 0x55586 - TX_FAR _Route3Text1 - db $50 - -Route3Text2: ; 0x5558b - db $08 ; asm - ld hl, Route3TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55595: ; 0x55595 - TX_FAR _UnnamedText_55595 - db $50 -; 0x55595 + 5 bytes - -UnnamedText_5559a: ; 0x5559a - TX_FAR _UnnamedText_5559a - db $50 -; 0x5559a + 5 bytes - -UnnamedText_5559f: ; 0x5559f - TX_FAR _UnnamedText_5559f - db $50 -; 0x5559f + 5 bytes - -Route3Text3: ; 0x555a4 - db $08 ; asm - ld hl, TrainerHeader_55531 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_555ae: ; 0x555ae - TX_FAR _UnnamedText_555ae - db $50 -; 0x555ae + 5 bytes - -UnnamedText_555b3: ; 0x555b3 - TX_FAR _UnnamedText_555b3 - db $50 -; 0x555b3 + 5 bytes - -UnnamedText_555b8: ; 0x555b8 - TX_FAR _UnnamedText_555b8 - db $50 -; 0x555b8 + 5 bytes - -Route3Text4: ; 0x555bd - db $08 ; asm - ld hl, TrainerHeader_5553d - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_555c7: ; 0x555c7 - TX_FAR _UnnamedText_555c7 - db $50 -; 0x555c7 + 5 bytes - -UnnamedText_555cc: ; 0x555cc - TX_FAR _UnnamedText_555cc - db $50 -; 0x555cc + 5 bytes - -UnnamedText_555d1: ; 0x555d1 - TX_FAR _UnnamedText_555d1 - db $50 -; 0x555d1 + 5 bytes - -Route3Text5: ; 0x555d6 - db $08 ; asm - ld hl, TrainerHeader_55549 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_555e0: ; 0x555e0 - TX_FAR _UnnamedText_555e0 - db $50 -; 0x555e0 + 5 bytes - -UnnamedText_555e5: ; 0x555e5 - TX_FAR _UnnamedText_555e5 - db $50 -; 0x555e5 + 5 bytes - -UnnamedText_555ea: ; 0x555ea - TX_FAR _UnnamedText_555ea - db $50 -; 0x555ea + 5 bytes - -Route3Text6: ; 0x555ef - db $08 ; asm - ld hl, TrainerHeader_55555 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_555f9: ; 0x555f9 - TX_FAR _UnnamedText_555f9 - db $50 -; 0x555f9 + 5 bytes - -UnnamedText_555fe: ; 0x555fe - TX_FAR _UnnamedText_555fe - db $50 -; 0x555fe + 5 bytes - -UnnamedText_55603: ; 0x55603 - TX_FAR _UnnamedText_55603 - db $50 -; 0x55603 + 5 bytes - -Route3Text7: ; 0x55608 - db $08 ; asm - ld hl, TrainerHeader_55561 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55612: ; 0x55612 - TX_FAR _UnnamedText_55612 - db $50 -; 0x55612 + 5 bytes - -UnnamedText_55617: ; 0x55617 - TX_FAR _UnnamedText_55617 - db $50 -; 0x55617 + 5 bytes - -UnnamedText_5561c: ; 0x5561c - TX_FAR _UnnamedText_5561c - db $50 -; 0x5561c + 5 bytes - -Route3Text8: ; 0x55621 - db $08 ; asm - ld hl, TrainerHeader_5556d - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_5562b: ; 0x5562b - TX_FAR _UnnamedText_5562b - db $50 -; 0x5562b + 5 bytes - -UnnamedText_55630: ; 0x55630 - TX_FAR _UnnamedText_55630 - db $50 -; 0x55630 + 5 bytes - -UnnamedText_55635: ; 0x55635 - TX_FAR _UnnamedText_55635 - db $50 -; 0x55635 + 5 bytes - -Route3Text9: ; 0x5563a - db $08 ; asm - ld hl, TrainerHeader_55579 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55644: ; 0x55644 - TX_FAR _UnnamedText_55644 - db $50 -; 0x55644 + 5 bytes - -UnnamedText_55649: ; 0x55649 - TX_FAR _UnnamedText_55649 - db $50 -; 0x55649 + 5 bytes - -UnnamedText_5564e: ; 0x5564e - TX_FAR _UnnamedText_5564e - db $50 -; 0x5564e + 5 bytes - -Route3Text10: ; 0x55653 - TX_FAR _Route3Text10 - db $50 - -Route4Script: ; 0x55658 - call $3c3c - ld hl, Route4TrainerHeaders - ld de, Unknown_5566b - ld a, [$d5f9] - call $3160 - ld [$d5f9], a - ret -; 0x5566b - -Unknown_5566b: ; 0x5566b -INCBIN "baserom.gbc",$5566b,$6 - -Route4Texts: ; 0x55671 - dw Route4Text1, Route4Text2, Route4Text3, Route4Text4, Route4Text5, Route4Text6 - -Route4TrainerHeaders: -Route4TrainerHeader1: ; 0x5567d - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7c5 ; flag's byte - dw UnnamedText_55699 ; 0x5699 TextBeforeBattle - dw UnnamedText_556a3 ; 0x56a3 TextAfterBattle - dw UnnamedText_5569e ; 0x569e TextEndBattle - dw UnnamedText_5569e ; 0x569e TextEndBattle -; 0x55689 - -db $ff - -Route4Text1: ; 0x5568a - TX_FAR _Route4Text1 - db $50 - -Route4Text2: ; 0x5568f - db $08 ; asm - ld hl, Route4TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55699: ; 0x55699 - TX_FAR _UnnamedText_55699 - db $50 -; 0x55699 + 5 bytes - -UnnamedText_5569e: ; 0x5569e - TX_FAR _UnnamedText_5569e - db $50 -; 0x5569e + 5 bytes - -UnnamedText_556a3: ; 0x556a3 - TX_FAR _UnnamedText_556a3 - db $50 -; 0x556a3 + 5 bytes - -Route4Text5: ; 0x556a8 - TX_FAR _Route4Text5 - db $50 - -Route4Text6: ; 0x556ad - TX_FAR _Route4Text6 - db $50 - -Route5Script: ; 0x556b2 - jp $3c3c -; 0x556b5 - -Route5Texts: ; 0x556b5 - dw Route5Text1 - -Route5Text1: ; 0x556b7 - TX_FAR _Route5Text1 - db $50 - -Route9Script: ; 0x556bc - call $3c3c - ld hl, Route9TrainerHeaders - ld de, Unknown_556cf - ld a, [$d604] - call $3160 - ld [$d604], a - ret -; 0x556cf - -Unknown_556cf: ; 0x556cf -INCBIN "baserom.gbc",$556cf,$6 - -Route9Texts: ; 0x556d5 - dw Route9Text1, Route9Text2, Route9Text3, Route9Text4, Route9Text5, Route9Text6, Route9Text7, Route9Text8, Route9Text9, Route9Text10, Route9Text11 - -Route9TrainerHeaders: -Route9TrainerHeader1: ; 0x556eb - db $1 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7cf ; flag's byte - dw UnnamedText_55792 ; 0x5792 TextBeforeBattle - dw UnnamedText_5579c ; 0x579c TextAfterBattle - dw UnnamedText_55797 ; 0x5797 TextEndBattle - dw UnnamedText_55797 ; 0x5797 TextEndBattle -; 0x556f7 - -TrainerHeader_556f7: ; 0x556f7 - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7cf ; flag's byte - dw UnnamedText_557a1 ; 0x57a1 TextBeforeBattle - dw UnnamedText_557ab ; 0x57ab TextAfterBattle - dw UnnamedText_557a6 ; 0x57a6 TextEndBattle - dw UnnamedText_557a6 ; 0x57a6 TextEndBattle -; 0x55703 - -TrainerHeader_55703: ; 0x55703 - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7cf ; flag's byte - dw UnnamedText_557b0 ; 0x57b0 TextBeforeBattle - dw UnnamedText_557ba ; 0x57ba TextAfterBattle - dw UnnamedText_557b5 ; 0x57b5 TextEndBattle - dw UnnamedText_557b5 ; 0x57b5 TextEndBattle -; 0x5570f - -TrainerHeader_5570f: ; 0x5570f - db $4 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7cf ; flag's byte - dw UnnamedText_557bf ; 0x57bf TextBeforeBattle - dw UnnamedText_557c9 ; 0x57c9 TextAfterBattle - dw UnnamedText_557c4 ; 0x57c4 TextEndBattle - dw UnnamedText_557c4 ; 0x57c4 TextEndBattle -; 0x5571b - -TrainerHeader_5571b: ; 0x5571b - db $5 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7cf ; flag's byte - dw UnnamedText_557ce ; 0x57ce TextBeforeBattle - dw UnnamedText_557d8 ; 0x57d8 TextAfterBattle - dw UnnamedText_557d3 ; 0x57d3 TextEndBattle - dw UnnamedText_557d3 ; 0x57d3 TextEndBattle -; 0x55727 - -TrainerHeader_55727: ; 0x55727 - db $6 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7cf ; flag's byte - dw UnnamedText_557dd ; 0x57dd TextBeforeBattle - dw UnnamedText_557e7 ; 0x57e7 TextAfterBattle - dw UnnamedText_557e2 ; 0x57e2 TextEndBattle - dw UnnamedText_557e2 ; 0x57e2 TextEndBattle -; 0x55733 - -TrainerHeader_55733: ; 0x55733 - db $7 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7cf ; flag's byte - dw UnnamedText_557ec ; 0x57ec TextBeforeBattle - dw UnnamedText_557f6 ; 0x57f6 TextAfterBattle - dw UnnamedText_557f1 ; 0x57f1 TextEndBattle - dw UnnamedText_557f1 ; 0x57f1 TextEndBattle -; 0x5573f - -TrainerHeader_5573f: ; 0x5573f - db $8 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7cf ; flag's byte - dw UnnamedText_557fb ; 0x57fb TextBeforeBattle - dw UnnamedText_55805 ; 0x5805 TextAfterBattle - dw UnnamedText_55800 ; 0x5800 TextEndBattle - dw UnnamedText_55800 ; 0x5800 TextEndBattle -; 0x5574b - -TrainerHeader_5574b: ; 0x5574b - db $9 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7cf ; flag's byte - dw UnnamedText_5580a ; 0x580a TextBeforeBattle - dw UnnamedText_55814 ; 0x5814 TextAfterBattle - dw UnnamedText_5580f ; 0x580f TextEndBattle - dw UnnamedText_5580f ; 0x580f TextEndBattle -; 0x55757 - -db $ff - -Route9Text1: ; 0x55758 - db $8 ; asm - ld hl, Route9TrainerHeader1 - jr asm_8be3d ; 0x5575c $2e - -Route9Text2: - db $8 ; asm - ld hl, TrainerHeader_556f7 - jr asm_8be3d ; 0x55762 $28 - -Route9Text3: - db $8 ; asm - ld hl, TrainerHeader_55703 - jr asm_8be3d ; 0x55768 $22 - -Route9Text4: - db $8 ; asm - ld hl, TrainerHeader_5570f - jr asm_8be3d ; 0x5576e $1c - -Route9Text5: - db $8 ; asm - ld hl, TrainerHeader_5571b - jr asm_8be3d ; 0x55774 $16 - -Route9Text6: - db $8 ; asm - ld hl, TrainerHeader_55727 - jr asm_8be3d ; 0x5577a $10 - -Route9Text7: - db $8 ; asm - ld hl, TrainerHeader_55733 - jr asm_8be3d ; 0x55780 $a - -Route9Text8: - db $8 ; asm - ld hl, TrainerHeader_5573f - jr asm_8be3d ; 0x55786 $4 - -Route9Text9: - db $8 ; asm - ld hl, TrainerHeader_5574b -asm_8be3d: ; 0x5578c - call LoadTrainerHeader - jp TextScriptEnd -; 0x55792 - -UnnamedText_55792: ; 0x55792 - TX_FAR _UnnamedText_55792 - db $50 -; 0x55792 + 5 bytes - -UnnamedText_55797: ; 0x55797 - TX_FAR _UnnamedText_55797 - db $50 -; 0x55797 + 5 bytes - -UnnamedText_5579c: ; 0x5579c - TX_FAR _UnnamedText_5579c - db $50 -; 0x5579c + 5 bytes - -UnnamedText_557a1: ; 0x557a1 - TX_FAR _UnnamedText_557a1 - db $50 -; 0x557a1 + 5 bytes - -UnnamedText_557a6: ; 0x557a6 - TX_FAR _UnnamedText_557a6 - db $50 -; 0x557a6 + 5 bytes - -UnnamedText_557ab: ; 0x557ab - TX_FAR _UnnamedText_557ab - db $50 -; 0x557ab + 5 bytes - -UnnamedText_557b0: ; 0x557b0 - TX_FAR _UnnamedText_557b0 - db $50 -; 0x557b0 + 5 bytes - -UnnamedText_557b5: ; 0x557b5 - TX_FAR _UnnamedText_557b5 - db $50 -; 0x557b5 + 5 bytes - -UnnamedText_557ba: ; 0x557ba - TX_FAR _UnnamedText_557ba - db $50 -; 0x557ba + 5 bytes - -UnnamedText_557bf: ; 0x557bf - TX_FAR _UnnamedText_557bf - db $50 -; 0x557bf + 5 bytes - -UnnamedText_557c4: ; 0x557c4 - TX_FAR _UnnamedText_557c4 - db $50 -; 0x557c4 + 5 bytes - -UnnamedText_557c9: ; 0x557c9 - TX_FAR _UnnamedText_557c9 - db $50 -; 0x557c9 + 5 bytes - -UnnamedText_557ce: ; 0x557ce - TX_FAR _UnnamedText_557ce - db $50 -; 0x557ce + 5 bytes - -UnnamedText_557d3: ; 0x557d3 - TX_FAR _UnnamedText_557d3 - db $50 -; 0x557d3 + 5 bytes - -UnnamedText_557d8: ; 0x557d8 - TX_FAR _UnnamedText_557d8 - db $50 -; 0x557d8 + 5 bytes - -UnnamedText_557dd: ; 0x557dd - TX_FAR _UnnamedText_557dd - db $50 -; 0x557dd + 5 bytes - -UnnamedText_557e2: ; 0x557e2 - TX_FAR _UnnamedText_557e2 - db $50 -; 0x557e2 + 5 bytes - -UnnamedText_557e7: ; 0x557e7 - TX_FAR _UnnamedText_557e7 - db $50 -; 0x557e7 + 5 bytes - -UnnamedText_557ec: ; 0x557ec - TX_FAR _UnnamedText_557ec - db $50 -; 0x557ec + 5 bytes - -UnnamedText_557f1: ; 0x557f1 - TX_FAR _UnnamedText_557f1 - db $50 -; 0x557f1 + 5 bytes - -UnnamedText_557f6: ; 0x557f6 - TX_FAR _UnnamedText_557f6 - db $50 -; 0x557f6 + 5 bytes - -UnnamedText_557fb: ; 0x557fb - TX_FAR _UnnamedText_557fb - db $50 -; 0x557fb + 5 bytes - -UnnamedText_55800: ; 0x55800 - TX_FAR _UnnamedText_55800 - db $50 -; 0x55800 + 5 bytes - -UnnamedText_55805: ; 0x55805 - TX_FAR _UnnamedText_55805 - db $50 -; 0x55805 + 5 bytes - -UnnamedText_5580a: ; 0x5580a - TX_FAR _UnnamedText_5580a - db $50 -; 0x5580a + 5 bytes - -UnnamedText_5580f: ; 0x5580f - TX_FAR _UnnamedText_5580f - db $50 -; 0x5580f + 5 bytes - -UnnamedText_55814: ; 0x55814 - TX_FAR _UnnamedText_55814 - db $50 -; 0x55814 + 5 bytes - -Route9Text11: ; 0x55819 - TX_FAR _Route9Text11 - db $50 - -Route13Script: ; 0x5581e - call $3c3c - ld hl, Route13TrainerHeaders - ld de, Route13Script_Unknown55831 - ld a, [$d61a] - call $3160 - ld [$d61a], a - ret -; 0x55831 - -Route13Script_Unknown55831: ; 0x55831 -INCBIN "baserom.gbc",$55831,$6 - -Route13Texts: ; 0x55837 - dw Route13Text1, Route13Text2, Route13Text3, Route13Text4, Route13Text5, Route13Text6, Route13Text7, Route13Text8, Route13Text9, Route13Text10, Route13Text11, Route13Text12, Route13Text13 - -Route13TrainerHeaders: -TrainerHeader_55851: ; 0x55851 - db $1 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7d9 ; flag's byte - dw UnnamedText_558d4 ; 0x58d4 TextBeforeBattle - dw UnnamedText_558de ; 0x58de TextAfterBattle - dw UnnamedText_558d9 ; 0x58d9 TextEndBattle - dw UnnamedText_558d9 ; 0x58d9 TextEndBattle -; 0x5585d - -TrainerHeader_5585d: ; 0x5585d - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7d9 ; flag's byte - dw UnnamedText_558ed ; 0x58ed TextBeforeBattle - dw UnnamedText_558f7 ; 0x58f7 TextAfterBattle - dw UnnamedText_558f2 ; 0x58f2 TextEndBattle - dw UnnamedText_558f2 ; 0x58f2 TextEndBattle -; 0x55869 - -TrainerHeader_55869: ; 0x55869 - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7d9 ; flag's byte - dw UnnamedText_55906 ; 0x5906 TextBeforeBattle - dw UnnamedText_55910 ; 0x5910 TextAfterBattle - dw UnnamedText_5590b ; 0x590b TextEndBattle - dw UnnamedText_5590b ; 0x590b TextEndBattle -; 0x55875 - -TrainerHeader_55875: ; 0x55875 - db $4 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7d9 ; flag's byte - dw UnnamedText_5591f ; 0x591f TextBeforeBattle - dw UnnamedText_55929 ; 0x5929 TextAfterBattle - dw UnnamedText_55924 ; 0x5924 TextEndBattle - dw UnnamedText_55924 ; 0x5924 TextEndBattle -; 0x55881 - -TrainerHeader_55881: ; 0x55881 - db $5 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d9 ; flag's byte - dw UnnamedText_55938 ; 0x5938 TextBeforeBattle - dw UnnamedText_55942 ; 0x5942 TextAfterBattle - dw UnnamedText_5593d ; 0x593d TextEndBattle - dw UnnamedText_5593d ; 0x593d TextEndBattle -; 0x5588d - -TrainerHeader_5588d: ; 0x5588d - db $6 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7d9 ; flag's byte - dw UnnamedText_55951 ; 0x5951 TextBeforeBattle - dw UnnamedText_5595b ; 0x595b TextAfterBattle - dw UnnamedText_55956 ; 0x5956 TextEndBattle - dw UnnamedText_55956 ; 0x5956 TextEndBattle -; 0x55899 - -TrainerHeader_55899: ; 0x55899 - db $7 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d9 ; flag's byte - dw UnnamedText_5596a ; 0x596a TextBeforeBattle - dw UnnamedText_55974 ; 0x5974 TextAfterBattle - dw UnnamedText_5596f ; 0x596f TextEndBattle - dw UnnamedText_5596f ; 0x596f TextEndBattle -; 0x558a5 - -TrainerHeader_558a5: ; 0x558a5 - db $8 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7d9 ; flag's byte - dw UnnamedText_55983 ; 0x5983 TextBeforeBattle - dw UnnamedText_5598d ; 0x598d TextAfterBattle - dw UnnamedText_55988 ; 0x5988 TextEndBattle - dw UnnamedText_55988 ; 0x5988 TextEndBattle -; 0x558b1 - -TrainerHeader_558b1: ; 0x558b1 - db $9 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7d9 ; flag's byte - dw UnnamedText_5599c ; 0x599c TextBeforeBattle - dw UnnamedText_559a6 ; 0x59a6 TextAfterBattle - dw UnnamedText_559a1 ; 0x59a1 TextEndBattle - dw UnnamedText_559a1 ; 0x59a1 TextEndBattle -; 0x558bd - -TrainerHeader_558bd: ; 0x558bd - db $a ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d9 ; flag's byte - dw UnnamedText_559b5 ; 0x59b5 TextBeforeBattle - dw UnnamedText_559bf ; 0x59bf TextAfterBattle - dw UnnamedText_559ba ; 0x59ba TextEndBattle - dw UnnamedText_559ba ; 0x59ba TextEndBattle -; 0x558c9 - -db $ff - -Route13Text1: ; 0x558ca - db $08 ; asm - ld hl, TrainerHeader_55851 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_558d4: ; 0x558d4 - TX_FAR _UnnamedText_558d4 - db $50 -; 0x558d4 + 5 bytes - -UnnamedText_558d9: ; 0x558d9 - TX_FAR _UnnamedText_558d9 - db $50 -; 0x558d9 + 5 bytes - -UnnamedText_558de: ; 0x558de - TX_FAR _UnnamedText_558de - db $50 -; 0x558de + 5 bytes - -Route13Text2: ; 0x558e3 - db $08 ; asm - ld hl, TrainerHeader_5585d - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_558ed: ; 0x558ed - TX_FAR _UnnamedText_558ed - db $50 -; 0x558ed + 5 bytes - -UnnamedText_558f2: ; 0x558f2 - TX_FAR _UnnamedText_558f2 - db $50 -; 0x558f2 + 5 bytes - -UnnamedText_558f7: ; 0x558f7 - TX_FAR _UnnamedText_558f7 - db $50 -; 0x558f7 + 5 bytes - -Route13Text3: ; 0x558fc - db $08 ; asm - ld hl, TrainerHeader_55869 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55906: ; 0x55906 - TX_FAR _UnnamedText_55906 - db $50 -; 0x55906 + 5 bytes - -UnnamedText_5590b: ; 0x5590b - TX_FAR _UnnamedText_5590b - db $50 -; 0x5590b + 5 bytes - -UnnamedText_55910: ; 0x55910 - TX_FAR _UnnamedText_55910 - db $50 -; 0x55910 + 5 bytes - -Route13Text4: ; 0x55915 - db $08 ; asm - ld hl, TrainerHeader_55875 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_5591f: ; 0x5591f - TX_FAR _UnnamedText_5591f - db $50 -; 0x5591f + 5 bytes - -UnnamedText_55924: ; 0x55924 - TX_FAR _UnnamedText_55924 - db $50 -; 0x55924 + 5 bytes - -UnnamedText_55929: ; 0x55929 - TX_FAR _UnnamedText_55929 - db $50 -; 0x55929 + 5 bytes - -Route13Text5: ; 0x5592e - db $08 ; asm - ld hl, TrainerHeader_55881 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55938: ; 0x55938 - TX_FAR _UnnamedText_55938 - db $50 -; 0x55938 + 5 bytes - -UnnamedText_5593d: ; 0x5593d - TX_FAR _UnnamedText_5593d - db $50 -; 0x5593d + 5 bytes - -UnnamedText_55942: ; 0x55942 - TX_FAR _UnnamedText_55942 - db $50 -; 0x55942 + 5 bytes - -Route13Text6: ; 0x55947 - db $08 ; asm - ld hl, TrainerHeader_5588d - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55951: ; 0x55951 - TX_FAR _UnnamedText_55951 - db $50 -; 0x55951 + 5 bytes - -UnnamedText_55956: ; 0x55956 - TX_FAR _UnnamedText_55956 - db $50 -; 0x55956 + 5 bytes - -UnnamedText_5595b: ; 0x5595b - TX_FAR _UnnamedText_5595b - db $50 -; 0x5595b + 5 bytes - -Route13Text7: ; 0x55960 - db $08 ; asm - ld hl, TrainerHeader_55899 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_5596a: ; 0x5596a - TX_FAR _UnnamedText_5596a - db $50 -; 0x5596a + 5 bytes - -UnnamedText_5596f: ; 0x5596f - TX_FAR _UnnamedText_5596f - db $50 -; 0x5596f + 5 bytes - -UnnamedText_55974: ; 0x55974 - TX_FAR _UnnamedText_55974 - db $50 -; 0x55974 + 5 bytes - -Route13Text8: ; 0x55979 - db $08 ; asm - ld hl, TrainerHeader_558a5 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55983: ; 0x55983 - TX_FAR _UnnamedText_55983 - db $50 -; 0x55983 + 5 bytes - -UnnamedText_55988: ; 0x55988 - TX_FAR _UnnamedText_55988 - db $50 -; 0x55988 + 5 bytes - -UnnamedText_5598d: ; 0x5598d - TX_FAR _UnnamedText_5598d - db $50 -; 0x5598d + 5 bytes - -Route13Text9: ; 0x55992 - db $08 ; asm - ld hl, TrainerHeader_558b1 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_5599c: ; 0x5599c - TX_FAR _UnnamedText_5599c - db $50 -; 0x5599c + 5 bytes - -UnnamedText_559a1: ; 0x559a1 - TX_FAR _UnnamedText_559a1 - db $50 -; 0x559a1 + 5 bytes - -UnnamedText_559a6: ; 0x559a6 - TX_FAR _UnnamedText_559a6 - db $50 -; 0x559a6 + 5 bytes - -Route13Text10: ; 0x559ab - db $08 ; asm - ld hl, TrainerHeader_558bd - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_559b5: ; 0x559b5 - TX_FAR _UnnamedText_559b5 - db $50 -; 0x559b5 + 5 bytes - -UnnamedText_559ba: ; 0x559ba - TX_FAR _UnnamedText_559ba - db $50 -; 0x559ba + 5 bytes - -UnnamedText_559bf: ; 0x559bf - TX_FAR _UnnamedText_559bf - db $50 -; 0x559bf + 5 bytes - -Route13Text11: ; 0x559c4 - TX_FAR _Route13Text11 - db $50 - -Route13Text12: ; 0x559c9 - TX_FAR _Route13Text12 - db $50 - -Route13Text13: ; 0x559ce - TX_FAR _Route13Text13 - db $50 - -Route14Script: ; 0x559d3 - call $3c3c - ld hl, Route14TrainerHeaders - ld de, Unknown_559e6 - ld a, [$d61b] - call $3160 - ld [$d61b], a - ret -; 0x559e6 - -Unknown_559e6: ; 0x559e6 -INCBIN "baserom.gbc",$559e6,$6 - -Route14Texts: ; 0x559ec - dw Route14Text1, Route14Text2, Route14Text3, Route14Text4, Route14Text5, Route14Text6, Route14Text7, Route14Text8, Route14Text9, Route14Text10, Route14Text11 - -Route14TrainerHeaders: -Route14TrainerHeader1: ; 0x55a02 - db $1 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7db ; flag's byte - dw UnnamedText_55a85 ; 0x5a85 TextBeforeBattle - dw UnnamedText_55a8f ; 0x5a8f TextAfterBattle - dw UnnamedText_55a8a ; 0x5a8a TextEndBattle - dw UnnamedText_55a8a ; 0x5a8a TextEndBattle -; 0x55a0e - -TrainerHeader_55a0e: ; 0x55a0e - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7db ; flag's byte - dw UnnamedText_55a9e ; 0x5a9e TextBeforeBattle - dw UnnamedText_55aa8 ; 0x5aa8 TextAfterBattle - dw UnnamedText_55aa3 ; 0x5aa3 TextEndBattle - dw UnnamedText_55aa3 ; 0x5aa3 TextEndBattle -; 0x55a1a - -TrainerHeader_55a1a: ; 0x55a1a - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7db ; flag's byte - dw UnnamedText_55ab7 ; 0x5ab7 TextBeforeBattle - dw UnnamedText_55ac1 ; 0x5ac1 TextAfterBattle - dw UnnamedText_55abc ; 0x5abc TextEndBattle - dw UnnamedText_55abc ; 0x5abc TextEndBattle -; 0x55a26 - -TrainerHeader_55a26: ; 0x55a26 - db $4 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7db ; flag's byte - dw UnnamedText_55ad0 ; 0x5ad0 TextBeforeBattle - dw UnnamedText_55ada ; 0x5ada TextAfterBattle - dw UnnamedText_55ad5 ; 0x5ad5 TextEndBattle - dw UnnamedText_55ad5 ; 0x5ad5 TextEndBattle -; 0x55a32 - -TrainerHeader_55a32: ; 0x55a32 - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7db ; flag's byte - dw UnnamedText_55ae9 ; 0x5ae9 TextBeforeBattle - dw UnnamedText_55af3 ; 0x5af3 TextAfterBattle - dw UnnamedText_55aee ; 0x5aee TextEndBattle - dw UnnamedText_55aee ; 0x5aee TextEndBattle -; 0x55a3e - -TrainerHeader_55a3e: ; 0x55a3e - db $6 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7db ; flag's byte - dw UnnamedText_55b02 ; 0x5b02 TextBeforeBattle - dw UnnamedText_55b0c ; 0x5b0c TextAfterBattle - dw UnnamedText_55b07 ; 0x5b07 TextEndBattle - dw UnnamedText_55b07 ; 0x5b07 TextEndBattle -; 0x55a4a - -TrainerHeader_55a4a: ; 0x55a4a - db $7 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7db ; flag's byte - dw UnnamedText_55b1b ; 0x5b1b TextBeforeBattle - dw UnnamedText_55b25 ; 0x5b25 TextAfterBattle - dw UnnamedText_55b20 ; 0x5b20 TextEndBattle - dw UnnamedText_55b20 ; 0x5b20 TextEndBattle -; 0x55a56 - -TrainerHeader_55a56: ; 0x55a56 - db $8 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7db ; flag's byte - dw UnnamedText_55b34 ; 0x5b34 TextBeforeBattle - dw UnnamedText_55b3e ; 0x5b3e TextAfterBattle - dw UnnamedText_55b39 ; 0x5b39 TextEndBattle - dw UnnamedText_55b39 ; 0x5b39 TextEndBattle -; 0x55a62 - -TrainerHeader_55a62: ; 0x55a62 - db $9 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7db ; flag's byte - dw UnnamedText_55b4d ; 0x5b4d TextBeforeBattle - dw UnnamedText_55b57 ; 0x5b57 TextAfterBattle - dw UnnamedText_55b52 ; 0x5b52 TextEndBattle - dw UnnamedText_55b52 ; 0x5b52 TextEndBattle -; 0x55a6e - -TrainerHeader_55a6e: ; 0x55a6e - db $a ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7db ; flag's byte - dw UnnamedText_55b66 ; 0x5b66 TextBeforeBattle - dw UnnamedText_55b70 ; 0x5b70 TextAfterBattle - dw UnnamedText_55b6b ; 0x5b6b TextEndBattle - dw UnnamedText_55b6b ; 0x5b6b TextEndBattle -; 0x55a7a - -db $ff - -Route14Text1: ; 0x55a7b - db $08 ; asm - ld hl, Route14TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55a85: ; 0x55a85 - TX_FAR _UnnamedText_55a85 - db $50 -; 0x55a85 + 5 bytes - -UnnamedText_55a8a: ; 0x55a8a - TX_FAR _UnnamedText_55a8a - db $50 -; 0x55a8a + 5 bytes - -UnnamedText_55a8f: ; 0x55a8f - TX_FAR _UnnamedText_55a8f - db $50 -; 0x55a8f + 5 bytes - -Route14Text2: ; 0x55a94 - db $08 ; asm - ld hl, TrainerHeader_55a0e - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55a9e: ; 0x55a9e - TX_FAR _UnnamedText_55a9e - db $50 -; 0x55a9e + 5 bytes - -UnnamedText_55aa3: ; 0x55aa3 - TX_FAR _UnnamedText_55aa3 - db $50 -; 0x55aa3 + 5 bytes - -UnnamedText_55aa8: ; 0x55aa8 - TX_FAR _UnnamedText_55aa8 - db $50 -; 0x55aa8 + 5 bytes - -Route14Text3: ; 0x55aad - db $08 ; asm - ld hl, TrainerHeader_55a1a - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55ab7: ; 0x55ab7 - TX_FAR _UnnamedText_55ab7 - db $50 -; 0x55ab7 + 5 bytes - -UnnamedText_55abc: ; 0x55abc - TX_FAR _UnnamedText_55abc - db $50 -; 0x55abc + 5 bytes - -UnnamedText_55ac1: ; 0x55ac1 - TX_FAR _UnnamedText_55ac1 - db $50 -; 0x55ac1 + 5 bytes - -Route14Text4: ; 0x55ac6 - db $08 ; asm - ld hl, TrainerHeader_55a26 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55ad0: ; 0x55ad0 - TX_FAR _UnnamedText_55ad0 - db $50 -; 0x55ad0 + 5 bytes - -UnnamedText_55ad5: ; 0x55ad5 - TX_FAR _UnnamedText_55ad5 - db $50 -; 0x55ad5 + 5 bytes - -UnnamedText_55ada: ; 0x55ada - TX_FAR _UnnamedText_55ada - db $50 -; 0x55ada + 5 bytes - -Route14Text5: ; 0x55adf - db $08 ; asm - ld hl, TrainerHeader_55a32 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55ae9: ; 0x55ae9 - TX_FAR _UnnamedText_55ae9 - db $50 -; 0x55ae9 + 5 bytes - -UnnamedText_55aee: ; 0x55aee - TX_FAR _UnnamedText_55aee - db $50 -; 0x55aee + 5 bytes - -UnnamedText_55af3: ; 0x55af3 - TX_FAR _UnnamedText_55af3 - db $50 -; 0x55af3 + 5 bytes - -Route14Text6: ; 0x55af8 - db $08 ; asm - ld hl, TrainerHeader_55a3e - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55b02: ; 0x55b02 - TX_FAR _UnnamedText_55b02 - db $50 -; 0x55b02 + 5 bytes - -UnnamedText_55b07: ; 0x55b07 - TX_FAR _UnnamedText_55b07 - db $50 -; 0x55b07 + 5 bytes - -UnnamedText_55b0c: ; 0x55b0c - TX_FAR _UnnamedText_55b0c - db $50 -; 0x55b0c + 5 bytes - -Route14Text7: ; 0x55b11 - db $08 ; asm - ld hl, TrainerHeader_55a4a - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55b1b: ; 0x55b1b - TX_FAR _UnnamedText_55b1b - db $50 -; 0x55b1b + 5 bytes - -UnnamedText_55b20: ; 0x55b20 - TX_FAR _UnnamedText_55b20 - db $50 -; 0x55b20 + 5 bytes - -UnnamedText_55b25: ; 0x55b25 - TX_FAR _UnnamedText_55b25 - db $50 -; 0x55b25 + 5 bytes - -Route14Text8: ; 0x55b2a - db $08 ; asm - ld hl, TrainerHeader_55a56 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55b34: ; 0x55b34 - TX_FAR _UnnamedText_55b34 - db $50 -; 0x55b34 + 5 bytes - -UnnamedText_55b39: ; 0x55b39 - TX_FAR _UnnamedText_55b39 - db $50 -; 0x55b39 + 5 bytes - -UnnamedText_55b3e: ; 0x55b3e - TX_FAR _UnnamedText_55b3e - db $50 -; 0x55b3e + 5 bytes - -Route14Text9: ; 0x55b43 - db $08 ; asm - ld hl, TrainerHeader_55a62 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55b4d: ; 0x55b4d - TX_FAR _UnnamedText_55b4d - db $50 -; 0x55b4d + 5 bytes - -UnnamedText_55b52: ; 0x55b52 - TX_FAR _UnnamedText_55b52 - db $50 -; 0x55b52 + 5 bytes - -UnnamedText_55b57: ; 0x55b57 - TX_FAR _UnnamedText_55b57 - db $50 -; 0x55b57 + 5 bytes - -Route14Text10: ; 0x55b5c - db $08 ; asm - ld hl, TrainerHeader_55a6e - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55b66: ; 0x55b66 - TX_FAR _UnnamedText_55b66 - db $50 -; 0x55b66 + 5 bytes - -UnnamedText_55b6b: ; 0x55b6b - TX_FAR _UnnamedText_55b6b - db $50 -; 0x55b6b + 5 bytes - -UnnamedText_55b70: ; 0x55b70 - TX_FAR _UnnamedText_55b70 - db $50 -; 0x55b70 + 5 bytes - -Route14Text11: ; 0x55b75 - TX_FAR _Route14Text11 - db $50 - -Route17Script: ; 0x55b7a - call $3c3c - ld hl, Route17TrainerHeaders - ld de, Route17_Unknown55b8d - ld a, [$d61c] - call $3160 - ld [$d61c], a - ret -; 0x55b8d - -Route17_Unknown55b8d: ; 0x55b8d -INCBIN "baserom.gbc",$55b8d,$6 - -Route17Texts: ; 0x55b93 - dw Route17Text1, Route17Text2, Route17Text3, Route17Text4, Route17Text5, Route17Text6, Route17Text7, Route17Text8, Route17Text9, Route17Text10, Route17Text11, Route17Text12, Route17Text13, Route17Text14, Route17Text15, Route17Text16 - -Route17TrainerHeaders: -Route17TrainerHeader1: ; 0x55bb3 - db $1 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7e1 ; flag's byte - dw UnnamedText_55c36 ; 0x5c36 TextBeforeBattle - dw UnnamedText_55c40 ; 0x5c40 TextAfterBattle - dw UnnamedText_55c3b ; 0x5c3b TextEndBattle - dw UnnamedText_55c3b ; 0x5c3b TextEndBattle -; 0x55bbf - -TrainerHeader_55bbf: ; 0x55bbf - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e1 ; flag's byte - dw UnnamedText_55c4f ; 0x5c4f TextBeforeBattle - dw UnnamedText_55c59 ; 0x5c59 TextAfterBattle - dw UnnamedText_55c54 ; 0x5c54 TextEndBattle - dw UnnamedText_55c54 ; 0x5c54 TextEndBattle -; 0x55bcb - -TrainerHeader_55bcb: ; 0x55bcb - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e1 ; flag's byte - dw UnnamedText_55c68 ; 0x5c68 TextBeforeBattle - dw UnnamedText_55c72 ; 0x5c72 TextAfterBattle - dw UnnamedText_55c6d ; 0x5c6d TextEndBattle - dw UnnamedText_55c6d ; 0x5c6d TextEndBattle -; 0x55bd7 - -TrainerHeader_55bd7: ; 0x55bd7 - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e1 ; flag's byte - dw UnnamedText_55c81 ; 0x5c81 TextBeforeBattle - dw UnnamedText_55c8b ; 0x5c8b TextAfterBattle - dw UnnamedText_55c86 ; 0x5c86 TextEndBattle - dw UnnamedText_55c86 ; 0x5c86 TextEndBattle -; 0x55be3 - -TrainerHeader_55be3: ; 0x55be3 - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7e1 ; flag's byte - dw UnnamedText_55c9a ; 0x5c9a TextBeforeBattle - dw UnnamedText_55ca4 ; 0x5ca4 TextAfterBattle - dw UnnamedText_55c9f ; 0x5c9f TextEndBattle - dw UnnamedText_55c9f ; 0x5c9f TextEndBattle -; 0x55bef - -TrainerHeader_55bef: ; 0x55bef - db $6 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7e1 ; flag's byte - dw UnnamedText_55cb3 ; 0x5cb3 TextBeforeBattle - dw UnnamedText_55cbd ; 0x5cbd TextAfterBattle - dw UnnamedText_55cb8 ; 0x5cb8 TextEndBattle - dw UnnamedText_55cb8 ; 0x5cb8 TextEndBattle -; 0x55bfb - -TrainerHeader_55bfb: ; 0x55bfb - db $7 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e1 ; flag's byte - dw UnnamedText_55ccc ; 0x5ccc TextBeforeBattle - dw UnnamedText_55cd6 ; 0x5cd6 TextAfterBattle - dw UnnamedText_55cd1 ; 0x5cd1 TextEndBattle - dw UnnamedText_55cd1 ; 0x5cd1 TextEndBattle -; 0x55c07 - -TrainerHeader_55c07: ; 0x55c07 - db $8 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7e1 ; flag's byte - dw UnnamedText_55ce5 ; 0x5ce5 TextBeforeBattle - dw UnnamedText_55cef ; 0x5cef TextAfterBattle - dw UnnamedText_55cea ; 0x5cea TextEndBattle - dw UnnamedText_55cea ; 0x5cea TextEndBattle -; 0x55c13 - -TrainerHeader_55c13: ; 0x55c13 - db $9 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7e1 ; flag's byte - dw UnnamedText_55cfe ; 0x5cfe TextBeforeBattle - dw UnnamedText_55d08 ; 0x5d08 TextAfterBattle - dw UnnamedText_55d03 ; 0x5d03 TextEndBattle - dw UnnamedText_55d03 ; 0x5d03 TextEndBattle -; 0x55c1f - -TrainerHeader_55c1f: ; 0x55c1f - db $a ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e1 ; flag's byte - dw UnnamedText_55d17 ; 0x5d17 TextBeforeBattle - dw UnnamedText_55d21 ; 0x5d21 TextAfterBattle - dw UnnamedText_55d1c ; 0x5d1c TextEndBattle - dw UnnamedText_55d1c ; 0x5d1c TextEndBattle -; 0x55c2b - -db $ff - -Route17Text1: ; 0x55c2c - db $08 ; asm - ld hl, Route17TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55c36: ; 0x55c36 - TX_FAR _UnnamedText_55c36 - db $50 -; 0x55c36 + 5 bytes - -UnnamedText_55c3b: ; 0x55c3b - TX_FAR _UnnamedText_55c3b - db $50 -; 0x55c3b + 5 bytes - -UnnamedText_55c40: ; 0x55c40 - TX_FAR _UnnamedText_55c40 - db $50 -; 0x55c40 + 5 bytes - -Route17Text2: ; 0x55c45 - db $08 ; asm - ld hl, TrainerHeader_55bbf - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55c4f: ; 0x55c4f - TX_FAR _UnnamedText_55c4f - db $50 -; 0x55c4f + 5 bytes - -UnnamedText_55c54: ; 0x55c54 - TX_FAR _UnnamedText_55c54 - db $50 -; 0x55c54 + 5 bytes - -UnnamedText_55c59: ; 0x55c59 - TX_FAR _UnnamedText_55c59 - db $50 -; 0x55c59 + 5 bytes - -Route17Text3: ; 0x55c5e - db $08 ; asm - ld hl, TrainerHeader_55bcb - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55c68: ; 0x55c68 - TX_FAR _UnnamedText_55c68 - db $50 -; 0x55c68 + 5 bytes - -UnnamedText_55c6d: ; 0x55c6d - TX_FAR _UnnamedText_55c6d - db $50 -; 0x55c6d + 5 bytes - -UnnamedText_55c72: ; 0x55c72 - TX_FAR _UnnamedText_55c72 - db $50 -; 0x55c72 + 5 bytes - -Route17Text4: ; 0x55c77 - db $08 ; asm - ld hl, TrainerHeader_55bd7 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55c81: ; 0x55c81 - TX_FAR _UnnamedText_55c81 - db $50 -; 0x55c81 + 5 bytes - -UnnamedText_55c86: ; 0x55c86 - TX_FAR _UnnamedText_55c86 - db $50 -; 0x55c86 + 5 bytes - -UnnamedText_55c8b: ; 0x55c8b - TX_FAR _UnnamedText_55c8b - db $50 -; 0x55c8b + 5 bytes - -Route17Text5: ; 0x55c90 - db $08 ; asm - ld hl, TrainerHeader_55be3 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55c9a: ; 0x55c9a - TX_FAR _UnnamedText_55c9a - db $50 -; 0x55c9a + 5 bytes - -UnnamedText_55c9f: ; 0x55c9f - TX_FAR _UnnamedText_55c9f - db $50 -; 0x55c9f + 5 bytes - -UnnamedText_55ca4: ; 0x55ca4 - TX_FAR _UnnamedText_55ca4 - db $50 -; 0x55ca4 + 5 bytes - -Route17Text6: ; 0x55ca9 - db $08 ; asm - ld hl, TrainerHeader_55bef - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55cb3: ; 0x55cb3 - TX_FAR _UnnamedText_55cb3 - db $50 -; 0x55cb3 + 5 bytes - -UnnamedText_55cb8: ; 0x55cb8 - TX_FAR _UnnamedText_55cb8 - db $50 -; 0x55cb8 + 5 bytes - -UnnamedText_55cbd: ; 0x55cbd - TX_FAR _UnnamedText_55cbd - db $50 -; 0x55cbd + 5 bytes - -Route17Text7: ; 0x55cc2 - db $08 ; asm - ld hl, TrainerHeader_55bfb - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55ccc: ; 0x55ccc - TX_FAR _UnnamedText_55ccc - db $50 -; 0x55ccc + 5 bytes - -UnnamedText_55cd1: ; 0x55cd1 - TX_FAR _UnnamedText_55cd1 - db $50 -; 0x55cd1 + 5 bytes - -UnnamedText_55cd6: ; 0x55cd6 - TX_FAR _UnnamedText_55cd6 - db $50 -; 0x55cd6 + 5 bytes - -Route17Text8: ; 0x55cdb - db $08 ; asm - ld hl, TrainerHeader_55c07 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55ce5: ; 0x55ce5 - TX_FAR _UnnamedText_55ce5 - db $50 -; 0x55ce5 + 5 bytes - -UnnamedText_55cea: ; 0x55cea - TX_FAR _UnnamedText_55cea - db $50 -; 0x55cea + 5 bytes - -UnnamedText_55cef: ; 0x55cef - TX_FAR _UnnamedText_55cef - db $50 -; 0x55cef + 5 bytes - -Route17Text9: ; 0x55cf4 - db $08 ; asm - ld hl, TrainerHeader_55c13 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55cfe: ; 0x55cfe - TX_FAR _UnnamedText_55cfe - db $50 -; 0x55cfe + 5 bytes - -UnnamedText_55d03: ; 0x55d03 - TX_FAR _UnnamedText_55d03 - db $50 -; 0x55d03 + 5 bytes - -UnnamedText_55d08: ; 0x55d08 - TX_FAR _UnnamedText_55d08 - db $50 -; 0x55d08 + 5 bytes - -Route17Text10: ; 0x55d0d - db $08 ; asm - ld hl, TrainerHeader_55c1f - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55d17: ; 0x55d17 - TX_FAR _UnnamedText_55d17 - db $50 -; 0x55d17 + 5 bytes - -UnnamedText_55d1c: ; 0x55d1c - TX_FAR _UnnamedText_55d1c - db $50 -; 0x55d1c + 5 bytes - -UnnamedText_55d21: ; 0x55d21 - TX_FAR _UnnamedText_55d21 - db $50 -; 0x55d21 + 5 bytes - -Route17Text11: ; 0x55d26 - TX_FAR _Route17Text11 - db $50 - -Route17Text12: ; 0x55d2b - TX_FAR _Route17Text12 - db $50 - -Route17Text13: ; 0x55d30 - TX_FAR _Route17Text13 - db $50 - -Route17Text14: ; 0x55d35 - TX_FAR _Route17Text14 - db $50 - -Route17Text15: ; 0x55d3a - TX_FAR _Route17Text15 - db $50 - -Route17Text16: ; 0x55d3f - TX_FAR _Route17Text16 - db $50 - -Route19Script: ; 0x55d44 - call $3c3c - ld hl, Route19TrainerHeaders - ld de, Route19_Unknown55d57 - ld a, [$d61d] - call $3160 - ld [$d61d], a - ret -; 0x55d57 - -Route19_Unknown55d57: ; 0x55d57 -INCBIN "baserom.gbc",$55d57,$6 - -Route19Texts: ; 0x55d5d - dw Route19Text1, Route19Text2, Route19Text3, Route19Text4, Route19Text5, Route19Text6, Route19Text7, Route19Text8, Route19Text9, Route19Text10, Route19Text11 - -Route19TrainerHeaders: -Route19TrainerHeader1: ; 0x55d73 - db $1 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e5 ; flag's byte - dw UnnamedText_55e50 ; 0x5e50 TextBeforeBattle - dw UnnamedText_55e5a ; 0x5e5a TextAfterBattle - dw UnnamedText_55e55 ; 0x5e55 TextEndBattle - dw UnnamedText_55e55 ; 0x5e55 TextEndBattle -; 0x55d7f - -TrainerHeader_55d7f: ; 0x55d7f - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7e5 ; flag's byte - dw UnnamedText_55e5f ; 0x5e5f TextBeforeBattle - dw UnnamedText_55e69 ; 0x5e69 TextAfterBattle - dw UnnamedText_55e64 ; 0x5e64 TextEndBattle - dw UnnamedText_55e64 ; 0x5e64 TextEndBattle -; 0x55d8b - -TrainerHeader_55d8b: ; 0x55d8b - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7e5 ; flag's byte - dw UnnamedText_55e6e ; 0x5e6e TextBeforeBattle - dw UnnamedText_55e78 ; 0x5e78 TextAfterBattle - dw UnnamedText_55e73 ; 0x5e73 TextEndBattle - dw UnnamedText_55e73 ; 0x5e73 TextEndBattle -; 0x55d97 - -TrainerHeader_55d97: ; 0x55d97 - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e5 ; flag's byte - dw UnnamedText_55e7d ; 0x5e7d TextBeforeBattle - dw UnnamedText_55e87 ; 0x5e87 TextAfterBattle - dw UnnamedText_55e82 ; 0x5e82 TextEndBattle - dw UnnamedText_55e82 ; 0x5e82 TextEndBattle -; 0x55da3 - -TrainerHeader_55da3: ; 0x55da3 - db $5 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e5 ; flag's byte - dw UnnamedText_55e8c ; 0x5e8c TextBeforeBattle - dw UnnamedText_55e96 ; 0x5e96 TextAfterBattle - dw UnnamedText_55e91 ; 0x5e91 TextEndBattle - dw UnnamedText_55e91 ; 0x5e91 TextEndBattle -; 0x55daf - -TrainerHeader_55daf: ; 0x55daf - db $6 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e5 ; flag's byte - dw UnnamedText_55e9b ; 0x5e9b TextBeforeBattle - dw UnnamedText_55ea5 ; 0x5ea5 TextAfterBattle - dw UnnamedText_55ea0 ; 0x5ea0 TextEndBattle - dw UnnamedText_55ea0 ; 0x5ea0 TextEndBattle -; 0x55dbb - -TrainerHeader_55dbb: ; 0x55dbb - db $7 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7e5 ; flag's byte - dw UnnamedText_55eaa ; 0x5eaa TextBeforeBattle - dw UnnamedText_55eb4 ; 0x5eb4 TextAfterBattle - dw UnnamedText_55eaf ; 0x5eaf TextEndBattle - dw UnnamedText_55eaf ; 0x5eaf TextEndBattle -; 0x55dc7 - -TrainerHeader_55dc7: ; 0x55dc7 - db $8 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e5 ; flag's byte - dw UnnamedText_55eb9 ; 0x5eb9 TextBeforeBattle - dw UnnamedText_55ec3 ; 0x5ec3 TextAfterBattle - dw UnnamedText_55ebe ; 0x5ebe TextEndBattle - dw UnnamedText_55ebe ; 0x5ebe TextEndBattle -; 0x55dd3 - -TrainerHeader_55dd3: ; 0x55dd3 - db $9 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e5 ; flag's byte - dw UnnamedText_55ec8 ; 0x5ec8 TextBeforeBattle - dw UnnamedText_55ed2 ; 0x5ed2 TextAfterBattle - dw UnnamedText_55ecd ; 0x5ecd TextEndBattle - dw UnnamedText_55ecd ; 0x5ecd TextEndBattle -; 0x55ddf - -TrainerHeader_55ddf: ; 0x55ddf - db $a ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e5 ; flag's byte - dw UnnamedText_55ed7 ; 0x5ed7 TextBeforeBattle - dw UnnamedText_55ee1 ; 0x5ee1 TextAfterBattle - dw UnnamedText_55edc ; 0x5edc TextEndBattle - dw UnnamedText_55edc ; 0x5edc TextEndBattle -; 0x55deb - -db $ff - -Route19Text1: ; 0x55dec - db $08 ; asm - ld hl, Route19TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -Route19Text2: ; 0x55df6 - db $08 ; asm - ld hl, TrainerHeader_55d7f - call LoadTrainerHeader - jp TextScriptEnd - -Route19Text3: ; 0x55e00 - db $08 ; asm - ld hl, TrainerHeader_55d8b - call LoadTrainerHeader - jp TextScriptEnd - -Route19Text4: ; 0x55e0a - db $08 ; asm - ld hl, TrainerHeader_55d97 - call LoadTrainerHeader - jp TextScriptEnd - -Route19Text5: ; 0x55e14 - db $08 ; asm - ld hl, TrainerHeader_55da3 - call LoadTrainerHeader - jp TextScriptEnd - -Route19Text6: ; 0x55e1e - db $08 ; asm - ld hl, TrainerHeader_55daf - call LoadTrainerHeader - jp TextScriptEnd - -Route19Text7: ; 0x55e28 - db $08 ; asm - ld hl, TrainerHeader_55dbb - call LoadTrainerHeader - jp TextScriptEnd - -Route19Text8: ; 0x55e32 - db $08 ; asm - ld hl, TrainerHeader_55dc7 - call LoadTrainerHeader - jp TextScriptEnd - -Route19Text9: ; 0x55e3c - db $08 ; asm - ld hl, TrainerHeader_55dd3 - call LoadTrainerHeader - jp TextScriptEnd - -Route19Text10: ; 0x55e46 - db $08 ; asm - ld hl, TrainerHeader_55ddf - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55e50: ; 0x55e50 - TX_FAR _UnnamedText_55e50 - db $50 -; 0x55e50 + 5 bytes - -UnnamedText_55e55: ; 0x55e55 - TX_FAR _UnnamedText_55e55 - db $50 -; 0x55e55 + 5 bytes - -UnnamedText_55e5a: ; 0x55e5a - TX_FAR _UnnamedText_55e5a - db $50 -; 0x55e5a + 5 bytes - -UnnamedText_55e5f: ; 0x55e5f - TX_FAR _UnnamedText_55e5f - db $50 -; 0x55e5f + 5 bytes - -UnnamedText_55e64: ; 0x55e64 - TX_FAR _UnnamedText_55e64 - db $50 -; 0x55e64 + 5 bytes - -UnnamedText_55e69: ; 0x55e69 - TX_FAR _UnnamedText_55e69 - db $50 -; 0x55e69 + 5 bytes - -UnnamedText_55e6e: ; 0x55e6e - TX_FAR _UnnamedText_55e6e - db $50 -; 0x55e6e + 5 bytes - -UnnamedText_55e73: ; 0x55e73 - TX_FAR _UnnamedText_55e73 - db $50 -; 0x55e73 + 5 bytes - -UnnamedText_55e78: ; 0x55e78 - TX_FAR _UnnamedText_55e78 - db $50 -; 0x55e78 + 5 bytes - -UnnamedText_55e7d: ; 0x55e7d - TX_FAR _UnnamedText_55e7d - db $50 -; 0x55e7d + 5 bytes - -UnnamedText_55e82: ; 0x55e82 - TX_FAR _UnnamedText_55e82 - db $50 -; 0x55e82 + 5 bytes - -UnnamedText_55e87: ; 0x55e87 - TX_FAR _UnnamedText_55e87 - db $50 -; 0x55e87 + 5 bytes - -UnnamedText_55e8c: ; 0x55e8c - TX_FAR _UnnamedText_55e8c - db $50 -; 0x55e8c + 5 bytes - -UnnamedText_55e91: ; 0x55e91 - TX_FAR _UnnamedText_55e91 - db $50 -; 0x55e91 + 5 bytes - -UnnamedText_55e96: ; 0x55e96 - TX_FAR _UnnamedText_55e96 - db $50 -; 0x55e96 + 5 bytes - -UnnamedText_55e9b: ; 0x55e9b - TX_FAR _UnnamedText_55e9b - db $50 -; 0x55e9b + 5 bytes - -UnnamedText_55ea0: ; 0x55ea0 - TX_FAR _UnnamedText_55ea0 - db $50 -; 0x55ea0 + 5 bytes - -UnnamedText_55ea5: ; 0x55ea5 - TX_FAR _UnnamedText_55ea5 - db $50 -; 0x55ea5 + 5 bytes - -UnnamedText_55eaa: ; 0x55eaa - TX_FAR _UnnamedText_55eaa - db $50 -; 0x55eaa + 5 bytes - -UnnamedText_55eaf: ; 0x55eaf - TX_FAR _UnnamedText_55eaf - db $50 -; 0x55eaf + 5 bytes - -UnnamedText_55eb4: ; 0x55eb4 - TX_FAR _UnnamedText_55eb4 - db $50 -; 0x55eb4 + 5 bytes - -UnnamedText_55eb9: ; 0x55eb9 - TX_FAR _UnnamedText_55eb9 - db $50 -; 0x55eb9 + 5 bytes - -UnnamedText_55ebe: ; 0x55ebe - TX_FAR _UnnamedText_55ebe - db $50 -; 0x55ebe + 5 bytes - -UnnamedText_55ec3: ; 0x55ec3 - TX_FAR _UnnamedText_55ec3 - db $50 -; 0x55ec3 + 5 bytes - -UnnamedText_55ec8: ; 0x55ec8 - TX_FAR _UnnamedText_55ec8 - db $50 -; 0x55ec8 + 5 bytes - -UnnamedText_55ecd: ; 0x55ecd - TX_FAR _UnnamedText_55ecd - db $50 -; 0x55ecd + 5 bytes - -UnnamedText_55ed2: ; 0x55ed2 - TX_FAR _UnnamedText_55ed2 - db $50 -; 0x55ed2 + 5 bytes - -UnnamedText_55ed7: ; 0x55ed7 - TX_FAR _UnnamedText_55ed7 - db $50 -; 0x55ed7 + 5 bytes - -UnnamedText_55edc: ; 0x55edc - TX_FAR _UnnamedText_55edc - db $50 -; 0x55edc + 5 bytes - -UnnamedText_55ee1: ; 0x55ee1 - TX_FAR _UnnamedText_55ee1 - db $50 -; 0x55ee1 + 5 bytes - -Route19Text11: ; 0x55ee6 - TX_FAR _Route19Text11 - db $50 - -Route21Script: ; 0x55eeb - call $3c3c - ld hl, Route21TrainerHeaders - ld de, Route21_Unknown55efe - ld a, [$d61e] - call $3160 - ld [$d61e], a - ret -; 0x55efe - -Route21_Unknown55efe: ; 0x55efe -INCBIN "baserom.gbc",$55efe,$6 - -Route21Texts: ; 0x55f04 - dw Route21Text1, Route21Text2, Route21Text3, Route21Text4, Route21Text5, Route21Text6, Route21Text7, Route21Text8, Route21Text9 - -Route21TrainerHeaders: -Route21TrainerHeader1: ; 0x55f16 - db $1 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d7e9 ; flag's byte - dw UnnamedText_55fdd ; 0x5fdd TextBeforeBattle - dw UnnamedText_55fe7 ; 0x5fe7 TextAfterBattle - dw UnnamedText_55fe2 ; 0x5fe2 TextEndBattle - dw UnnamedText_55fe2 ; 0x5fe2 TextEndBattle -; 0x55f22 - -TrainerHeader_55f22: ; 0x55f22 - db $2 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d7e9 ; flag's byte - dw UnnamedText_55fec ; 0x5fec TextBeforeBattle - dw UnnamedText_55ff6 ; 0x5ff6 TextAfterBattle - dw UnnamedText_55ff1 ; 0x5ff1 TextEndBattle - dw UnnamedText_55ff1 ; 0x5ff1 TextEndBattle -; 0x55f2e - -TrainerHeader_55f2e: ; 0x55f2e - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e9 ; flag's byte - dw UnnamedText_55ffb ; 0x5ffb TextBeforeBattle - dw UnnamedText_56005 ; 0x6005 TextAfterBattle - dw UnnamedText_56000 ; 0x6000 TextEndBattle - dw UnnamedText_56000 ; 0x6000 TextEndBattle -; 0x55f3a - -TrainerHeader_55f3a: ; 0x55f3a - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e9 ; flag's byte - dw UnnamedText_5600a ; 0x600a TextBeforeBattle - dw UnnamedText_56014 ; 0x6014 TextAfterBattle - dw UnnamedText_5600f ; 0x600f TextEndBattle - dw UnnamedText_5600f ; 0x600f TextEndBattle -; 0x55f46 - -TrainerHeader_55f46: ; 0x55f46 - db $5 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e9 ; flag's byte - dw UnnamedText_56019 ; 0x6019 TextBeforeBattle - dw UnnamedText_56023 ; 0x6023 TextAfterBattle - dw UnnamedText_5601e ; 0x601e TextEndBattle - dw UnnamedText_5601e ; 0x601e TextEndBattle -; 0x55f52 - -TrainerHeader_55f52: ; 0x55f52 - db $6 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e9 ; flag's byte - dw UnnamedText_56028 ; 0x6028 TextBeforeBattle - dw UnnamedText_56032 ; 0x6032 TextAfterBattle - dw UnnamedText_5602d ; 0x602d TextEndBattle - dw UnnamedText_5602d ; 0x602d TextEndBattle -; 0x55f5e - -TrainerHeader_55f5e: ; 0x55f5e - db $7 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7e9 ; flag's byte - dw UnnamedText_56037 ; 0x6037 TextBeforeBattle - dw UnnamedText_56041 ; 0x6041 TextAfterBattle - dw UnnamedText_5603c ; 0x603c TextEndBattle - dw UnnamedText_5603c ; 0x603c TextEndBattle -; 0x55f6a - -TrainerHeader_55f6a: ; 0x55f6a - db $8 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d7e9 ; flag's byte - dw UnnamedText_56046 ; 0x6046 TextBeforeBattle - dw UnnamedText_56050 ; 0x6050 TextAfterBattle - dw UnnamedText_5604b ; 0x604b TextEndBattle - dw UnnamedText_5604b ; 0x604b TextEndBattle -; 0x55f76 - -TrainerHeader_55f76: ; 0x55f76 - db $9 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d7e9 ; flag's byte - dw UnnamedText_56055 ; 0x6055 TextBeforeBattle - dw UnnamedText_5605f ; 0x605f TextAfterBattle - dw UnnamedText_5605a ; 0x605a TextEndBattle - dw UnnamedText_5605a ; 0x605a TextEndBattle -; 0x55f82 - -db $ff - -Route21Text1: ; 0x55f83 - db $08 ; asm - ld hl, Route21TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -Route21Text2: ; 0x55f8d - db $08 ; asm - ld hl, TrainerHeader_55f22 - call LoadTrainerHeader - jp TextScriptEnd - -Route21Text3: ; 0x55f97 - db $08 ; asm - ld hl, TrainerHeader_55f2e - call LoadTrainerHeader - jp TextScriptEnd - -Route21Text4: ; 0x55fa1 - db $08 ; asm - ld hl, TrainerHeader_55f3a - call LoadTrainerHeader - jp TextScriptEnd - -Route21Text5: ; 0x55fab - db $08 ; asm - ld hl, TrainerHeader_55f46 - call LoadTrainerHeader - jp TextScriptEnd - -Route21Text6: ; 0x55fb5 - db $08 ; asm - ld hl, TrainerHeader_55f52 - call LoadTrainerHeader - jp TextScriptEnd - -Route21Text7: ; 0x55fbf - db $08 ; asm - ld hl, TrainerHeader_55f5e - call LoadTrainerHeader - jp TextScriptEnd - -Route21Text8: ; 0x55fc9 - db $08 ; asm - ld hl, TrainerHeader_55f6a - call LoadTrainerHeader - jp TextScriptEnd - -Route21Text9: ; 0x55fd3 - db $08 ; asm - ld hl, TrainerHeader_55f76 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_55fdd: ; 0x55fdd - TX_FAR _UnnamedText_55fdd - db $50 -; 0x55fdd + 5 bytes - -UnnamedText_55fe2: ; 0x55fe2 - TX_FAR _UnnamedText_55fe2 - db $50 -; 0x55fe2 + 5 bytes - -UnnamedText_55fe7: ; 0x55fe7 - TX_FAR _UnnamedText_55fe7 - db $50 -; 0x55fe7 + 5 bytes - -UnnamedText_55fec: ; 0x55fec - TX_FAR _UnnamedText_55fec - db $50 -; 0x55fec + 5 bytes - -UnnamedText_55ff1: ; 0x55ff1 - TX_FAR _UnnamedText_55ff1 - db $50 -; 0x55ff1 + 5 bytes - -UnnamedText_55ff6: ; 0x55ff6 - TX_FAR _UnnamedText_55ff6 - db $50 -; 0x55ff6 + 5 bytes - -UnnamedText_55ffb: ; 0x55ffb - TX_FAR _UnnamedText_55ffb - db $50 -; 0x55ffb + 5 bytes - -UnnamedText_56000: ; 0x56000 - TX_FAR _UnnamedText_56000 - db $50 -; 0x56000 + 5 bytes - -UnnamedText_56005: ; 0x56005 - TX_FAR _UnnamedText_56005 - db $50 -; 0x56005 + 5 bytes - -UnnamedText_5600a: ; 0x5600a - TX_FAR _UnnamedText_5600a - db $50 -; 0x5600a + 5 bytes - -UnnamedText_5600f: ; 0x5600f - TX_FAR _UnnamedText_5600f - db $50 -; 0x5600f + 5 bytes - -UnnamedText_56014: ; 0x56014 - TX_FAR _UnnamedText_56014 - db $50 -; 0x56014 + 5 bytes - -UnnamedText_56019: ; 0x56019 - TX_FAR _UnnamedText_56019 - db $50 -; 0x56019 + 5 bytes - -UnnamedText_5601e: ; 0x5601e - TX_FAR _UnnamedText_5601e - db $50 -; 0x5601e + 5 bytes - -UnnamedText_56023: ; 0x56023 - TX_FAR _UnnamedText_56023 - db $50 -; 0x56023 + 5 bytes - -UnnamedText_56028: ; 0x56028 - TX_FAR _UnnamedText_56028 - db $50 -; 0x56028 + 5 bytes - -UnnamedText_5602d: ; 0x5602d - TX_FAR _UnnamedText_5602d - db $50 -; 0x5602d + 5 bytes - -UnnamedText_56032: ; 0x56032 - TX_FAR _UnnamedText_56032 - db $50 -; 0x56032 + 5 bytes - -UnnamedText_56037: ; 0x56037 - TX_FAR _UnnamedText_56037 - db $50 -; 0x56037 + 5 bytes - -UnnamedText_5603c: ; 0x5603c - TX_FAR _UnnamedText_5603c - db $50 -; 0x5603c + 5 bytes - -UnnamedText_56041: ; 0x56041 - TX_FAR _UnnamedText_56041 - db $50 -; 0x56041 + 5 bytes - -UnnamedText_56046: ; 0x56046 - TX_FAR _UnnamedText_56046 - db $50 -; 0x56046 + 5 bytes - -UnnamedText_5604b: ; 0x5604b - TX_FAR _UnnamedText_5604b - db $50 -; 0x5604b + 5 bytes - -UnnamedText_56050: ; 0x56050 - TX_FAR _UnnamedText_56050 - db $50 -; 0x56050 + 5 bytes - -UnnamedText_56055: ; 0x56055 - TX_FAR _UnnamedText_56055 - db $50 -; 0x56055 + 5 bytes - -UnnamedText_5605a: ; 0x5605a - TX_FAR _UnnamedText_5605a - db $50 -; 0x5605a + 5 bytes - -UnnamedText_5605f: ; 0x5605f - TX_FAR _UnnamedText_5605f - db $50 -; 0x5605f + 5 bytes - -VermilionHouse2_h: ; 0x56064 to 0x56070 (12 bytes) (id=163) - db $08 ; tileset - db VERMILION_HOUSE_2_HEIGHT, VERMILION_HOUSE_2_WIDTH ; dimensions (y, x) - dw VermilionHouse2Blocks, VermilionHouse2Texts, VermilionHouse2Script ; blocks, texts, scripts - db $00 ; connections - - dw VermilionHouse2Object ; objects - -VermilionHouse2Script: ; 0x56070 - jp $3c3c -; 0x56073 - -VermilionHouse2Texts: ; 0x56073 - dw VermilionHouse2Text1 - -VermilionHouse2Text1: ; 0x56075 - db $08 ; asm - ld a, [$d728] - bit 3, a - jr nz, asm_03ef5 ; 0x5607b - ld hl, UnnamedText_560b1 - call PrintText - call $35ec - ld a, [$cc26] - and a - jr nz, asm_eb1b7 ; 0x5608a - ld bc, (OLD_ROD << 8) | 1 - call GiveItem - jr nc, asm_fd67b ; 0x56092 - ld hl, $d728 - set 3, [hl] - ld hl, UnnamedText_560b6 - jr asm_5dd95 ; 0x5609c -asm_fd67b ; 0x5609e - ld hl, UnnamedText_560ca - jr asm_5dd95 ; 0x560a1 -asm_eb1b7 ; 0x560a3 - ld hl, UnnamedText_560c0 - jr asm_5dd95 ; 0x560a6 -asm_03ef5 ; 0x560a8 - ld hl, UnnamedText_560c5 -asm_5dd95 ; 0x560ab - call PrintText - jp TextScriptEnd - -UnnamedText_560b1: ; 0x560b1 - TX_FAR _UnnamedText_560b1 - db $50 -; 0x560b1 + 5 bytes - -UnnamedText_560b6: ; 0x560b6 - TX_FAR _UnnamedText_560b6 ; 0x9c554 - db $0B - TX_FAR _UnnamedText_560bb ; 0x9c5a4 - db $50 -; 0x560c0 - -UnnamedText_560c0: ; 0x560c0 - TX_FAR _UnnamedText_560c0 - db $50 -; 0x560c0 + 5 bytes - -UnnamedText_560c5: ; 0x560c5 - TX_FAR _UnnamedText_560c5 - db $50 -; 0x560c5 + 5 bytes - -UnnamedText_560ca: ; 0x560ca - TX_FAR _UnnamedText_560ca - db $50 -; 0x560ca + 5 bytes - -VermilionHouse2Object: ; 0x560cf (size=26) - db $a ; border tile - - db $2 ; warps - db $7, $2, $8, $ff - db $7, $3, $8, $ff - - db $0 ; signs - - db $1 ; people - db SPRITE_FISHER, $4 + 4, $2 + 4, $ff, $d3, $1 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - -CeladonMart2_h: ; 0x560e9 to 0x560f5 (12 bytes) (id=123) - db $12 ; tileset - db CELADON_MART_2_HEIGHT, CELADON_MART_2_WIDTH ; dimensions (y, x) - dw CeladonMart2Blocks, CeladonMart2Texts, CeladonMart2Script ; blocks, texts, scripts - db $00 ; connections - - dw CeladonMart2Object ; objects - -CeladonMart2Script: ; 0x560f5 - jp $3c3c -; 0x560f8 - -CeladonMart2Texts: ; 0x560f8 - dw CeladonMart2Text1, CeladonMart2Text2, CeladonMart2Text3, CeladonMart2Text4, CeladonMart2Text5 - -CeladonMart2Text3: ; 0x56102 - TX_FAR _CeladonMart2Text3 - db $50 - -CeladonMart2Text4: ; 0x56107 - TX_FAR _CeladonMart2Text4 - db $50 - -CeladonMart2Text5: ; 0x5610c - TX_FAR _CeladonMart2Text5 - db $50 - -CeladonMart2Object: ; 0x56111 (size=55) - db $f ; border tile - - db $3 ; warps - db $1, $c, $4, CELADON_MART_1 - db $1, $10, $1, CELADON_MART_3 - db $1, $1, $0, CELADON_MART_ELEVATOR - - db $1 ; signs - db $1, $e, $5 ; CeladonMart2Text5 - - db $4 ; people - db SPRITE_MART_GUY, $3 + 4, $5 + 4, $ff, $d0, $1 ; person - db SPRITE_MART_GUY, $3 + 4, $6 + 4, $ff, $d0, $2 ; person - db SPRITE_FAT_BALD_GUY, $5 + 4, $13 + 4, $ff, $ff, $3 ; person - db SPRITE_GIRL, $4 + 4, $e + 4, $fe, $1, $4 ; person - - ; warp-to - EVENT_DISP $a, $1, $c ; CELADON_MART_1 - EVENT_DISP $a, $1, $10 ; CELADON_MART_3 - EVENT_DISP $a, $1, $1 ; CELADON_MART_ELEVATOR - -CeladonMart2Blocks: ; 0x56148 40 - INCBIN "maps/celadonmart2.blk" - -FuchsiaHouse3_h: ; 0x56170 to 0x5617c (12 bytes) (id=164) - db $0d ; tileset - db FUCHSIA_HOUSE_3_HEIGHT, FUCHSIA_HOUSE_3_WIDTH ; dimensions (y, x) - dw FuchsiaHouse3Blocks, FuchsiaHouse3Texts, FuchsiaHouse3Script ; blocks, texts, scripts - db $00 ; connections - - dw FuchsiaHouse3Object ; objects - -FuchsiaHouse3Script: ; 0x5617c - jp $3c3c -; 0x5617f - -FuchsiaHouse3Texts: ; 0x5617f - dw FuchsiaHouse3Text1 - -FuchsiaHouse3Text1: ; 0x56181 - db $08 ; asm - ld a, [$d728] - bit 4, a - jr nz, asm_6084e ; 0x56187 - ld hl, UnnamedText_561bd - call PrintText - call $35ec - ld a, [$cc26] - and a - jr nz, asm_3ace4 ; 0x56196 - ld bc, (GOOD_ROD << 8) | 1 - call GiveItem - jr nc, asm_628ee ; 0x5619e - ld hl, $d728 - set 4, [hl] - ld hl, UnnamedText_561c2 - jr asm_1b09c ; 0x561a8 -asm_628ee ; 0x561aa - ld hl, UnnamedText_5621c - jr asm_1b09c ; 0x561ad -asm_3ace4 ; 0x561af - ld hl, UnnamedText_56212 - jr asm_1b09c ; 0x561b2 -asm_6084e ; 0x561b4 - ld hl, UnnamedText_56217 -asm_1b09c ; 0x561b7 - call PrintText - jp TextScriptEnd - -UnnamedText_561bd: ; 0x561bd - TX_FAR _UnnamedText_561bd - db $50 -; 0x561bd + 5 bytes - -UnnamedText_561c2: ; 0x561c2 - TX_FAR _UnnamedText_561c2 ; 0xa06e8 - db $0B, $50 -; 0x561c8 - -INCBIN "baserom.gbc",$561c8,$56212 - $561c8 - -UnnamedText_56212: ; 0x56212 - TX_FAR _UnnamedText_56212 - db $50 -; 0x56212 + 5 bytes - -UnnamedText_56217: ; 0x56217 - TX_FAR _UnnamedText_56217 - db $50 -; 0x56217 + 5 bytes - -UnnamedText_5621c: ; 0x5621c - TX_FAR _UnnamedText_5621c - db $50 -; 0x5621c + 5 bytes - -FuchsiaHouse3Object: ; 0x56221 (size=34) - db $c ; border tile - - db $3 ; warps - db $0, $2, $8, $ff - db $7, $2, $7, $ff - db $7, $3, $7, $ff - - db $0 ; signs - - db $1 ; people - db SPRITE_FISHER, $3 + 4, $5 + 4, $ff, $d3, $1 ; person - - ; warp-to - EVENT_DISP $4, $0, $2 - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - -DayCareM_h: ; 0x56243 to 0x5624f (12 bytes) (id=72) - db $08 ; tileset - db DAYCAREM_HEIGHT, DAYCAREM_WIDTH ; dimensions (y, x) - dw DayCareMBlocks, DayCareMTexts, DayCareMScript ; blocks, texts, scripts - db $00 ; connections - - dw DayCareMObject ; objects - -DayCareMScript: ; 0x5624f - jp $3c3c -; 0x56252 - -DayCareMTexts: ; 0x56252 - dw DayCareMText1 - -DayCareMText1: ; 0x56254 - db $8 - call $36f4 - ld a, [$da48] - and a - jp nz, Unnamed_562e1 - ld hl, UnnamedText_5640f - call PrintText - call $35ec - ld a, [$cc26] - and a - ld hl, UnnamedText_5643b - jp nz, Unnamed_56409 - ld a, [$d163] - dec a - ld hl, UnnamedText_56445 - jp z, Unnamed_56409 - ld hl, UnnamedText_56414 - call PrintText - xor a - ld [$cfcb], a - ld [$d07d], a - ld [$cc35], a - call $13fc - push af - call $3dd4 - call $3dbe - call $20ba - pop af - ld hl, UnnamedText_56437 - jp c, Unnamed_56409 - ld hl, TrainerHeader_5571b - ld b, $8 - call Bankswitch - ld hl, UnnamedText_5644a - jp c, Unnamed_56409 - xor a - ld [$cc2b], a - ld a, [$cf92] - ld hl, $d2b5 - call $15ba - ld hl, UnnamedText_56419 - call PrintText - ld a, $1 - ld [$da48], a - ld a, $3 - ld [$cf95], a - call $3a68 - xor a - ld [$cf95], a - call $391f - ld a, [$cf91] - call $13d0 - ld hl, UnnamedText_5641e - jp Unnamed_56409 -; 0x562e1 - -Unnamed_562e1: -INCBIN "baserom.gbc",$562e1,$56409 - $562e1 - -Unnamed_56409: ; 0x56409 - call PrintText - jp TextScriptEnd -; 0x5640f - -UnnamedText_5640f: ; 0x5640f - TX_FAR _UnnamedText_5640f - db $50 -; 0x5640f + 5 bytes - -UnnamedText_56414: ; 0x56414 - TX_FAR _UnnamedText_56414 - db $50 -; 0x56414 + 5 bytes - -UnnamedText_56419: ; 0x56419 - TX_FAR _UnnamedText_56419 - db $50 -; 0x56419 + 5 bytes - -UnnamedText_5641e: ; 0x5641e - TX_FAR _UnnamedText_5641e - db $50 -; 0x5641e + 5 bytes - -UnnamedText_56423: ; 0x56423 - TX_FAR _UnnamedText_56423 - db $50 -; 0x56423 + 5 bytes - -UnnamedText_56428: ; 0x56428 - TX_FAR _UnnamedText_56428 - db $50 -; 0x56428 + 5 bytes - -UnnamedText_5642d: ; 0x5642d - TX_FAR _UnnamedText_5642d - db $50 -; 0x5642d + 5 bytes - -UnnamedText_56432: ; 0x56432 - TX_FAR _UnnamedText_56432 - db $50 -; 0x56432 + 5 bytes - -UnnamedText_56437: ; 0x56437 - TX_FAR _UnnamedText_56437 ; 0x8c000 -UnnamedText_5643b: ; 0x5643b - TX_FAR _UnnamedText_5643b ; 0x8c013 - db $50 -; 0x5643b + 5 bytes - -UnnamedText_56440: ; 0x56440 - TX_FAR _UnnamedText_56440 - db $50 -; 0x56440 + 5 bytes - -UnnamedText_56445: ; 0x56445 - TX_FAR _UnnamedText_56445 - db $50 -; 0x56445 + 5 bytes - -UnnamedText_5644a: ; 0x5644a - TX_FAR _UnnamedText_5644a - db $50 -; 0x5644a + 5 bytes - -UnnamedText_5644f: ; 0x5644f - TX_FAR _UnnamedText_5644f - db $50 -; 0x5644f + 5 bytes - -UnnamedText_56454: ; 0x56454 - TX_FAR _UnnamedText_56454 - db $50 -; 0x56454 + 5 bytes - -DayCareMObject: ; 0x56459 (size=26) - db $a ; border tile - - db $2 ; warps - db $7, $2, $4, $ff - db $7, $3, $4, $ff - - db $0 ; signs - - db $1 ; people - db SPRITE_GENTLEMAN, $3 + 4, $2 + 4, $ff, $d3, $1 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - -Route12House_h: ; 0x56473 to 0x5647f (12 bytes) (id=189) - db $08 ; tileset - db ROUTE_12_HOUSE_HEIGHT, ROUTE_12_HOUSE_WIDTH ; dimensions (y, x) - dw Route12HouseBlocks, Route12HouseTexts, Route12HouseScript ; blocks, texts, scripts - db $00 ; connections - - dw Route12HouseObject ; objects - -Route12HouseScript: ; 0x5647f - jp $3c3c -; 0x56482 - -Route12HouseTexts: ; 0x56482 - dw Route12HouseText1 - -Route12HouseText1: ; 0x56484 - db $08 ; asm - ld a, [$d728] - bit 5, a - jr nz, asm_b4cad ; 0x5648a - ld hl, UnnamedText_564c0 - call PrintText - call $35ec - ld a, [$cc26] - and a - jr nz, asm_a2d76 ; 0x56499 - ld bc, (SUPER_ROD << 8) | 1 - call GiveItem - jr nc, asm_e3b89 ; 0x564a1 - ld hl, $d728 - set 5, [hl] - ld hl, UnnamedText_564c5 - jr asm_df984 ; 0x564ab -asm_e3b89 ; 0x564ad - ld hl, UnnamedText_564d9 - jr asm_df984 ; 0x564b0 -asm_a2d76 ; 0x564b2 - ld hl, UnnamedText_564cf - jr asm_df984 ; 0x564b5 -asm_b4cad ; 0x564b7 - ld hl, UnnamedText_564d4 -asm_df984 ; 0x564ba - call PrintText - jp TextScriptEnd - -UnnamedText_564c0: ; 0x564c0 - TX_FAR _UnnamedText_564c0 - db $50 -; 0x564c0 + 5 bytes - -UnnamedText_564c5: ; 0x564c5 - TX_FAR _UnnamedText_564c5 ; 0x8ca00 - db $0B - TX_FAR _UnnamedText_564ca ; 0x8ca4f - db $50 -; 0x564c5 + 10 bytes = 0x564cf - -UnnamedText_564cf: ; 0x564cf - TX_FAR _UnnamedText_564cf - db $50 -; 0x564cf + 5 bytes - -UnnamedText_564d4: ; 0x564d4 - TX_FAR _UnnamedText_564d4 - db $50 -; 0x564d4 + 5 bytes - -UnnamedText_564d9: ; 0x564d9 - TX_FAR _UnnamedText_564d9 - db $50 -; 0x564d9 + 5 bytes - -Route12HouseObject: ; 0x564de (size=26) - db $a ; border tile - - db $2 ; warps - db $7, $2, $3, $ff - db $7, $3, $3, $ff - - db $0 ; signs - - db $1 ; people - db SPRITE_FISHER, $4 + 4, $2 + 4, $ff, $d3, $1 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - -SilphCo8_h: ; 0x564f8 to 0x56504 (12 bytes) (id=213) - db $16 ; tileset - db SILPH_CO_8F_HEIGHT, SILPH_CO_8F_WIDTH ; dimensions (y, x) - dw SilphCo8Blocks, SilphCo8Texts, SilphCo8Script ; blocks, texts, scripts - db $00 ; connections - - dw SilphCo8Object ; objects - -SilphCo8Script: ; 0x56504 - call SilphCo8_Unknown5651a - call $3c3c - ld hl, SilphCo8TrainerHeader1 - ld de, $6577 - ld a, [$d649] - call $3160 - ld [$d649], a - ret -; 0x5651a - -SilphCo8_Unknown5651a: ; 0x5651a -INCBIN "baserom.gbc",$5651a,$63 - -SilphCo8Texts: ; 0x5657d - dw SilphCo8Text1, SilphCo8Text2, SilphCo8Text3, SilphCo8Text4 - -SilphCo8TrainerHeaders: -SilphCo8TrainerHeader1: ; 0x56585 - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d831 ; flag's byte - dw UnnamedText_565e6 ; 0x65e6 TextBeforeBattle - dw UnnamedText_565f0 ; 0x65f0 TextAfterBattle - dw UnnamedText_565eb ; 0x65eb TextEndBattle - dw UnnamedText_565eb ; 0x65eb TextEndBattle -; 0x56591 - -TrainerHeader_56591: ; 0x56591 - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d831 ; flag's byte - dw UnnamedText_565f5 ; 0x65f5 TextBeforeBattle - dw UnnamedText_565ff ; 0x65ff TextAfterBattle - dw UnnamedText_565fa ; 0x65fa TextEndBattle - dw UnnamedText_565fa ; 0x65fa TextEndBattle -; 0x5659d - -TrainerHeader_5659d: ; 0x5659d - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d831 ; flag's byte - dw UnnamedText_56604 ; 0x6604 TextBeforeBattle - dw UnnamedText_5660e ; 0x660e TextAfterBattle - dw UnnamedText_56609 ; 0x6609 TextEndBattle - dw UnnamedText_56609 ; 0x6609 TextEndBattle -; 0x565a9 - -db $ff - -SilphCo8Text1: ; 0x565aa - db $08 ; asm - ld a, [$d838] - bit 7, a - ld hl, UnnamedText_565c3 - jr nz, asm_a468f ; 0x565b3 - ld hl, UnnamedText_565be -asm_a468f ; 0x565b8 - call PrintText - jp TextScriptEnd - -UnnamedText_565be: ; 0x565be - TX_FAR _UnnamedText_565be - db $50 -; 0x565be + 5 bytes - -UnnamedText_565c3: ; 0x565c3 - TX_FAR _UnnamedText_565c3 - db $50 -; 0x565c3 + 5 bytes - -SilphCo8Text2: ; 0x565c8 - db $08 ; asm - ld hl, SilphCo8TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -SilphCo8Text3: ; 0x565d2 - db $08 ; asm - ld hl, TrainerHeader_56591 - call LoadTrainerHeader - jp TextScriptEnd - -SilphCo8Text4: ; 0x565dc - db $08 ; asm - ld hl, TrainerHeader_5659d - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_565e6: ; 0x565e6 - TX_FAR _UnnamedText_565e6 - db $50 -; 0x565e6 + 5 bytes - -UnnamedText_565eb: ; 0x565eb - TX_FAR _UnnamedText_565eb - db $50 -; 0x565eb + 5 bytes - -UnnamedText_565f0: ; 0x565f0 - TX_FAR _UnnamedText_565f0 - db $50 -; 0x565f0 + 5 bytes - -UnnamedText_565f5: ; 0x565f5 - TX_FAR _UnnamedText_565f5 - db $50 -; 0x565f5 + 5 bytes - -UnnamedText_565fa: ; 0x565fa - TX_FAR _UnnamedText_565fa - db $50 -; 0x565fa + 5 bytes - -UnnamedText_565ff: ; 0x565ff - TX_FAR _UnnamedText_565ff - db $50 -; 0x565ff + 5 bytes - -UnnamedText_56604: ; 0x56604 - TX_FAR _UnnamedText_56604 - db $50 -; 0x56604 + 5 bytes - -UnnamedText_56609: ; 0x56609 - TX_FAR _UnnamedText_56609 - db $50 -; 0x56609 + 5 bytes - -UnnamedText_5660e: ; 0x5660e - TX_FAR _UnnamedText_5660e - db $50 -; 0x5660e + 5 bytes - -SilphCo8Object: ; 0x56613 (size=90) - db $2e ; border tile - - db $7 ; warps - db $0, $10, $1, SILPH_CO_9F - db $0, $e, $0, SILPH_CO_7F - db $0, $12, $0, SILPH_CO_ELEVATOR - db $b, $3, $6, SILPH_CO_8F - db $f, $3, $4, SILPH_CO_2F - db $5, $b, $5, SILPH_CO_2F - db $9, $b, $3, SILPH_CO_8F - - db $0 ; signs - - db $4 ; people - db SPRITE_LAPRAS_GIVER, $2 + 4, $4 + 4, $ff, $ff, $1 ; person - db SPRITE_ROCKET, $2 + 4, $13 + 4, $ff, $d2, $42, ROCKET + $C8, $23 ; trainer - db SPRITE_OAK_AIDE, $2 + 4, $a + 4, $ff, $d0, $43, SCIENTIST + $C8, $9 ; trainer - db SPRITE_ROCKET, $f + 4, $c + 4, $ff, $d3, $44, ROCKET + $C8, $24 ; trainer - - ; warp-to - EVENT_DISP $d, $0, $10 ; SILPH_CO_9F - EVENT_DISP $d, $0, $e ; SILPH_CO_7F - EVENT_DISP $d, $0, $12 ; SILPH_CO_ELEVATOR - EVENT_DISP $d, $b, $3 ; SILPH_CO_8F - EVENT_DISP $d, $f, $3 ; SILPH_CO_2F - EVENT_DISP $d, $5, $b ; SILPH_CO_2F - EVENT_DISP $d, $9, $b ; SILPH_CO_8F - -SilphCo8Blocks: ; 0x5666d 117 - INCBIN "maps/silphco8.blk" - -INCBIN "baserom.gbc",$566e2,$191e - -SECTION "bank16",DATA,BANK[$16] - -Route6_h: ; 0x58000 to 0x58022 (34 bytes) (id=17) - db $00 ; tileset - db ROUTE_6_HEIGHT, ROUTE_6_WIDTH ; dimensions (y, x) - dw Route6Blocks, Route6Texts, Route6Script ; blocks, texts, scripts - db NORTH | SOUTH ; connections - - ; connections data - - db SAFFRON_CITY - dw SaffronCityBlocks + (SAFFRON_CITY_HEIGHT - 3) * SAFFRON_CITY_WIDTH + 2 ; connection strip location - dw $C6EB + -3 ; current map position - db $10, SAFFRON_CITY_WIDTH ; bigness, width - db (SAFFRON_CITY_HEIGHT * 2) - 1, (-5 * -2) ; alignments (y, x) - dw $C6E9 + SAFFRON_CITY_HEIGHT * (SAFFRON_CITY_WIDTH + 6) ; window - - db VERMILION_CITY - dw VermilionCityBlocks + 2 ; connection strip location - dw $C6EB + (ROUTE_6_HEIGHT + 3) * (ROUTE_6_WIDTH + 6) + -3 ; current map position - db $10, VERMILION_CITY_WIDTH ; bigness, width - db 0, (-5 * -2) ; alignments (y, x) - dw $C6EF + VERMILION_CITY_WIDTH ; window - - ; end connections data - - dw Route6Object ; objects - -Route6Object: ; 0x58022 (size=87) - db $f ; border tile - - db $4 ; warps - db $1, $9, $2, ROUTE_6_GATE - db $1, $a, $2, ROUTE_6_GATE - db $7, $a, $0, ROUTE_6_GATE - db $d, $11, $0, PATH_ENTRANCE_ROUTE_6 - - db $1 ; signs - db $f, $13, $7 ; Route6Text7 - - db $6 ; people - db SPRITE_BLACK_HAIR_BOY_1, $15 + 4, $a + 4, $ff, $d3, $41, JR__TRAINER_M + $C8, $4 ; trainer - db SPRITE_LASS, $15 + 4, $b + 4, $ff, $d2, $42, JR__TRAINER_F + $C8, $2 ; trainer - db SPRITE_BUG_CATCHER, $f + 4, $0 + 4, $ff, $d3, $43, BUG_CATCHER + $C8, $a ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $1f + 4, $b + 4, $ff, $d2, $44, JR__TRAINER_M + $C8, $5 ; trainer - db SPRITE_LASS, $1e + 4, $b + 4, $ff, $d2, $45, JR__TRAINER_F + $C8, $3 ; trainer - db SPRITE_BUG_CATCHER, $1a + 4, $13 + 4, $ff, $d2, $46, BUG_CATCHER + $C8, $b ; trainer - - ; warp-to - EVENT_DISP $a, $1, $9 ; ROUTE_6_GATE - EVENT_DISP $a, $1, $a ; ROUTE_6_GATE - EVENT_DISP $a, $7, $a ; ROUTE_6_GATE - EVENT_DISP $a, $d, $11 ; PATH_ENTRANCE_ROUTE_6 - -Route6Blocks: ; 0x58079 180 - INCBIN "maps/route6.blk" - -Route8_h: ; 0x5812d to 0x5814f (34 bytes) (id=19) - db $00 ; tileset - db ROUTE_8_HEIGHT, ROUTE_8_WIDTH ; dimensions (y, x) - dw Route8Blocks, Route8Texts, Route8Script ; blocks, texts, scripts - db WEST | EAST ; connections - - ; connections data - - db SAFFRON_CITY - dw SaffronCityBlocks - 3 + (SAFFRON_CITY_WIDTH * 2) ; connection strip location - dw $C6E8 + (ROUTE_8_WIDTH + 6) * (-3 + 3) ; current map position - db $f, SAFFRON_CITY_WIDTH ; bigness, width - db (-4 * -2), (SAFFRON_CITY_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * SAFFRON_CITY_WIDTH ; window - - db LAVENDER_TOWN - dw LavenderTownBlocks + (LAVENDER_TOWN_WIDTH * 0) ; connection strip location - dw $C6E5 + (ROUTE_8_WIDTH + 6) * (0 + 4) ; current map position - db LAVENDER_TOWN_HEIGHT, LAVENDER_TOWN_WIDTH ; bigness, width - db (0 * -2), 0 ; alignments (y, x) - dw $C6EF + LAVENDER_TOWN_WIDTH ; window - - ; end connections data - - dw Route8Object ; objects - -Route8Object: ; 0x5814f (size=119) - db $2c ; border tile - - db $5 ; warps - db $9, $1, $0, ROUTE_8_GATE - db $a, $1, $1, ROUTE_8_GATE - db $9, $8, $2, ROUTE_8_GATE - db $a, $8, $3, ROUTE_8_GATE - db $3, $d, $0, PATH_ENTRANCE_ROUTE_8 - - db $1 ; signs - db $3, $11, $a ; Route8Text10 - - db $9 ; people - db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $8 + 4, $ff, $d3, $41, SUPER_NERD + $C8, $3 ; trainer - db SPRITE_GAMBLER, $9 + 4, $d + 4, $ff, $d1, $42, GAMBLER + $C8, $5 ; trainer - db SPRITE_BLACK_HAIR_BOY_2, $6 + 4, $2a + 4, $ff, $d1, $43, SUPER_NERD + $C8, $4 ; trainer - db SPRITE_LASS, $3 + 4, $1a + 4, $ff, $d2, $44, LASS + $C8, $d ; trainer - db SPRITE_BLACK_HAIR_BOY_2, $4 + 4, $1a + 4, $ff, $d3, $45, SUPER_NERD + $C8, $5 ; trainer - db SPRITE_LASS, $5 + 4, $1a + 4, $ff, $d2, $46, LASS + $C8, $e ; trainer - db SPRITE_LASS, $6 + 4, $1a + 4, $ff, $d3, $47, LASS + $C8, $f ; trainer - db SPRITE_GAMBLER, $d + 4, $2e + 4, $ff, $d0, $48, GAMBLER + $C8, $7 ; trainer - db SPRITE_LASS, $c + 4, $33 + 4, $ff, $d2, $49, LASS + $C8, $10 ; trainer - - ; warp-to - EVENT_DISP $1e, $9, $1 ; ROUTE_8_GATE - EVENT_DISP $1e, $a, $1 ; ROUTE_8_GATE - EVENT_DISP $1e, $9, $8 ; ROUTE_8_GATE - EVENT_DISP $1e, $a, $8 ; ROUTE_8_GATE - EVENT_DISP $1e, $3, $d ; PATH_ENTRANCE_ROUTE_8 - -Route8Blocks: ; 0x581c6 270 - INCBIN "maps/route8.blk" - -Route10_h: ; 0x582d4 to 0x582f6 (34 bytes) (id=21) - db $00 ; tileset - db ROUTE_10_HEIGHT, ROUTE_10_WIDTH ; dimensions (y, x) - dw Route10Blocks, Route10Texts, Route10Script ; blocks, texts, scripts - db SOUTH | WEST ; connections - - ; connections data - - db LAVENDER_TOWN - dw LavenderTownBlocks ; connection strip location - dw $C6EB + (ROUTE_10_HEIGHT + 3) * (ROUTE_10_WIDTH + 6) + 0 ; current map position - db LAVENDER_TOWN_WIDTH, LAVENDER_TOWN_WIDTH ; bigness, width - db 0, (0 * -2) ; alignments (y, x) - dw $C6EF + LAVENDER_TOWN_WIDTH ; window - - db ROUTE_9 - dw Route9Blocks - 3 + (ROUTE_9_WIDTH) ; connection strip location - dw $C6E8 + (ROUTE_10_WIDTH + 6) * (0 + 3) ; current map position - db ROUTE_9_HEIGHT, ROUTE_9_WIDTH ; bigness, width - db (0 * -2), (ROUTE_9_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * ROUTE_9_WIDTH ; window - - ; end connections data - - dw Route10Object ; objects - -Route10Object: ; 0x582f6 (size=96) - db $2c ; border tile - - db $4 ; warps - db $13, $b, $0, ROCK_TUNNEL_POKECENTER - db $11, $8, $0, ROCK_TUNNEL_1 - db $35, $8, $2, ROCK_TUNNEL_1 - db $27, $6, $0, POWER_PLANT - - db $4 ; signs - db $13, $7, $7 ; Route10Text7 - db $13, $c, $8 ; Route10Text8 - db $37, $9, $9 ; Route10Text9 - db $29, $5, $a ; Route10Text10 - - db $6 ; people - db SPRITE_BLACK_HAIR_BOY_2, $2c + 4, $a + 4, $ff, $d2, $41, POKEMANIAC + $C8, $1 ; trainer - db SPRITE_HIKER, $39 + 4, $3 + 4, $ff, $d1, $42, HIKER + $C8, $7 ; trainer - db SPRITE_BLACK_HAIR_BOY_2, $40 + 4, $e + 4, $ff, $d2, $43, POKEMANIAC + $C8, $2 ; trainer - db SPRITE_LASS, $19 + 4, $7 + 4, $ff, $d2, $44, JR__TRAINER_F + $C8, $7 ; trainer - db SPRITE_HIKER, $3d + 4, $3 + 4, $ff, $d0, $45, HIKER + $C8, $8 ; trainer - db SPRITE_LASS, $36 + 4, $7 + 4, $ff, $d0, $46, JR__TRAINER_F + $C8, $8 ; trainer - - ; warp-to - EVENT_DISP $a, $13, $b ; ROCK_TUNNEL_POKECENTER - EVENT_DISP $a, $11, $8 ; ROCK_TUNNEL_1 - EVENT_DISP $a, $35, $8 ; ROCK_TUNNEL_1 - EVENT_DISP $a, $27, $6 ; POWER_PLANT - -Route10Blocks: ; 0x58356 360 - INCBIN "maps/route10.blk" - -Route11_h: ; 0x584be to 0x584e0 (34 bytes) (id=22) - db $00 ; tileset - db ROUTE_11_HEIGHT, ROUTE_11_WIDTH ; dimensions (y, x) - dw Route11Blocks, Route11Texts, Route11Script ; blocks, texts, scripts - db WEST | EAST ; connections - - ; connections data - - db VERMILION_CITY - dw VermilionCityBlocks - 3 + (VERMILION_CITY_WIDTH * 2) ; connection strip location - dw $C6E8 + (ROUTE_11_WIDTH + 6) * (-3 + 3) ; current map position - db $f, VERMILION_CITY_WIDTH ; bigness, width - db (-4 * -2), (VERMILION_CITY_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * VERMILION_CITY_WIDTH ; window - - db ROUTE_12 - dw Route12Blocks + (ROUTE_12_WIDTH * 24) ; connection strip location - dw $C6E5 + (ROUTE_11_WIDTH + 6) * (-3 + 4) ; current map position - db $f, ROUTE_12_WIDTH ; bigness, width - db (-27 * -2), 0 ; alignments (y, x) - dw $C6EF + ROUTE_12_WIDTH ; window - - ; end connections data - - dw Route11Object ; objects - -Route11Object: ; 0x584e0 (size=127) - db $f ; border tile - - db $5 ; warps - db $8, $31, $0, ROUTE_11_GATE_1F - db $9, $31, $1, ROUTE_11_GATE_1F - db $8, $3a, $2, ROUTE_11_GATE_1F - db $9, $3a, $3, ROUTE_11_GATE_1F - db $5, $4, $0, DIGLETTS_CAVE_ENTRANCE - - db $1 ; signs - db $5, $1, $b ; Route11Text11 - - db $a ; people - db SPRITE_GAMBLER, $e + 4, $a + 4, $ff, $d0, $41, GAMBLER + $C8, $1 ; trainer - db SPRITE_GAMBLER, $9 + 4, $1a + 4, $ff, $d0, $42, GAMBLER + $C8, $2 ; trainer - db SPRITE_BUG_CATCHER, $5 + 4, $d + 4, $ff, $d2, $43, YOUNGSTER + $C8, $9 ; trainer - db SPRITE_BLACK_HAIR_BOY_2, $b + 4, $24 + 4, $ff, $d0, $44, ENGINEER + $C8, $2 ; trainer - db SPRITE_BUG_CATCHER, $4 + 4, $16 + 4, $ff, $d1, $45, YOUNGSTER + $C8, $a ; trainer - db SPRITE_GAMBLER, $7 + 4, $2d + 4, $ff, $d0, $46, GAMBLER + $C8, $3 ; trainer - db SPRITE_GAMBLER, $3 + 4, $21 + 4, $ff, $d1, $47, GAMBLER + $C8, $4 ; trainer - db SPRITE_BUG_CATCHER, $5 + 4, $2b + 4, $ff, $d3, $48, YOUNGSTER + $C8, $b ; trainer - db SPRITE_BLACK_HAIR_BOY_2, $10 + 4, $2d + 4, $ff, $d2, $49, ENGINEER + $C8, $3 ; trainer - db SPRITE_BUG_CATCHER, $c + 4, $16 + 4, $ff, $d1, $4a, YOUNGSTER + $C8, $c ; trainer - - ; warp-to - EVENT_DISP $1e, $8, $31 ; ROUTE_11_GATE_1F - EVENT_DISP $1e, $9, $31 ; ROUTE_11_GATE_1F - EVENT_DISP $1e, $8, $3a ; ROUTE_11_GATE_1F - EVENT_DISP $1e, $9, $3a ; ROUTE_11_GATE_1F - EVENT_DISP $1e, $5, $4 ; DIGLETTS_CAVE_ENTRANCE - -Route11Blocks: ; 0x5855f 270 - INCBIN "maps/route11.blk" - -Route12_h: ; 0x5866d to 0x5869a (45 bytes) (id=23) - db $00 ; tileset - db ROUTE_12_HEIGHT, ROUTE_12_WIDTH ; dimensions (y, x) - dw Route12Blocks, Route12Texts, Route12Script ; blocks, texts, scripts - db NORTH | SOUTH | WEST ; connections - - ; connections data - - db LAVENDER_TOWN - dw LavenderTownBlocks + (LAVENDER_TOWN_HEIGHT - 3) * LAVENDER_TOWN_WIDTH ; connection strip location - dw $C6EB + 0 ; current map position - db LAVENDER_TOWN_WIDTH, LAVENDER_TOWN_WIDTH ; bigness, width - db (LAVENDER_TOWN_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x) - dw $C6E9 + LAVENDER_TOWN_HEIGHT * (LAVENDER_TOWN_WIDTH + 6) ; window - - db ROUTE_13 - dw Route13Blocks + 17 ; connection strip location - dw $C6EB + (ROUTE_12_HEIGHT + 3) * (ROUTE_12_WIDTH + 6) + -3 ; current map position - db $d, ROUTE_13_WIDTH ; bigness, width - db 0, (-20 * -2) ; alignments (y, x) - dw $C6EF + ROUTE_13_WIDTH ; window - - db ROUTE_11 - dw Route11Blocks - 3 + (ROUTE_11_WIDTH) ; connection strip location - dw $C6E8 + (ROUTE_12_WIDTH + 6) * (27 + 3) ; current map position - db ROUTE_11_HEIGHT, ROUTE_11_WIDTH ; bigness, width - db (27 * -2), (ROUTE_11_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * ROUTE_11_WIDTH ; window - - ; end connections data - - dw Route12Object ; objects - -Route12Object: ; 0x5869a (size=118) - db $43 ; border tile - - db $4 ; warps - db $f, $a, $0, ROUTE_12_GATE - db $f, $b, $1, ROUTE_12_GATE - db $15, $a, $2, ROUTE_12_GATE - db $4d, $b, $0, ROUTE_12_HOUSE - - db $2 ; signs - db $d, $d, $b ; Route12Text11 - db $3f, $b, $c ; Route12Text12 - - db $a ; people - db SPRITE_SNORLAX, $3e + 4, $a + 4, $ff, $d0, $1 ; person - db SPRITE_FISHER2, $1f + 4, $e + 4, $ff, $d2, $42, FISHER + $C8, $3 ; trainer - db SPRITE_FISHER2, $27 + 4, $5 + 4, $ff, $d1, $43, FISHER + $C8, $4 ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $5c + 4, $b + 4, $ff, $d2, $44, JR__TRAINER_M + $C8, $9 ; trainer - db SPRITE_BLACK_HAIR_BOY_2, $4c + 4, $e + 4, $ff, $d1, $45, ROCKER + $C8, $2 ; trainer - db SPRITE_FISHER2, $28 + 4, $c + 4, $ff, $d2, $46, FISHER + $C8, $5 ; trainer - db SPRITE_FISHER2, $34 + 4, $9 + 4, $ff, $d3, $47, FISHER + $C8, $6 ; trainer - db SPRITE_FISHER2, $57 + 4, $6 + 4, $ff, $d0, $48, FISHER + $C8, $b ; trainer - db SPRITE_BALL, $23 + 4, $e + 4, $ff, $ff, $89, TM_16 ; item - db SPRITE_BALL, $59 + 4, $5 + 4, $ff, $ff, $8a, IRON ; item - - ; warp-to - EVENT_DISP $a, $f, $a ; ROUTE_12_GATE - EVENT_DISP $a, $f, $b ; ROUTE_12_GATE - EVENT_DISP $a, $15, $a ; ROUTE_12_GATE - EVENT_DISP $a, $4d, $b ; ROUTE_12_HOUSE - -Route12Blocks: ; 0x58710 540 - INCBIN "maps/route12.blk" - -Route15_h: ; 0x5892c to 0x5894e (34 bytes) (id=26) - db $00 ; tileset - db ROUTE_15_HEIGHT, ROUTE_15_WIDTH ; dimensions (y, x) - dw Route15Blocks, Route15Texts, Route15Script ; blocks, texts, scripts - db WEST | EAST ; connections - - ; connections data - - db FUCHSIA_CITY - dw FuchsiaCityBlocks - 3 + (FUCHSIA_CITY_WIDTH * 2) ; connection strip location - dw $C6E8 + (ROUTE_15_WIDTH + 6) * (-3 + 3) ; current map position - db $f, FUCHSIA_CITY_WIDTH ; bigness, width - db (-4 * -2), (FUCHSIA_CITY_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * FUCHSIA_CITY_WIDTH ; window - - db ROUTE_14 - dw Route14Blocks + (ROUTE_14_WIDTH * 15) ; connection strip location - dw $C6E5 + (ROUTE_15_WIDTH + 6) * (-3 + 4) ; current map position - db $c, ROUTE_14_WIDTH ; bigness, width - db (-18 * -2), 0 ; alignments (y, x) - dw $C6EF + ROUTE_14_WIDTH ; window - - ; end connections data - - dw Route15Object ; objects - -Route15Object: ; 0x5894e (size=126) - db $43 ; border tile - - db $4 ; warps - db $8, $7, $0, ROUTE_15_GATE - db $9, $7, $1, ROUTE_15_GATE - db $8, $e, $2, ROUTE_15_GATE - db $9, $e, $3, ROUTE_15_GATE - - db $1 ; signs - db $9, $27, $c ; Route15Text12 - - db $b ; people - db SPRITE_LASS, $b + 4, $29 + 4, $ff, $d0, $41, JR__TRAINER_F + $C8, $14 ; trainer - db SPRITE_LASS, $a + 4, $35 + 4, $ff, $d2, $42, JR__TRAINER_F + $C8, $15 ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $d + 4, $1f + 4, $ff, $d1, $43, BIRD_KEEPER + $C8, $6 ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $d + 4, $23 + 4, $ff, $d1, $44, BIRD_KEEPER + $C8, $7 ; trainer - db SPRITE_FOULARD_WOMAN, $b + 4, $35 + 4, $ff, $d0, $45, BEAUTY + $C8, $9 ; trainer - db SPRITE_FOULARD_WOMAN, $a + 4, $29 + 4, $ff, $d3, $46, BEAUTY + $C8, $a ; trainer - db SPRITE_BIKER, $a + 4, $30 + 4, $ff, $d0, $47, BIKER + $C8, $3 ; trainer - db SPRITE_BIKER, $a + 4, $2e + 4, $ff, $d0, $48, BIKER + $C8, $4 ; trainer - db SPRITE_LASS, $5 + 4, $25 + 4, $ff, $d3, $49, JR__TRAINER_F + $C8, $16 ; trainer - db SPRITE_LASS, $d + 4, $12 + 4, $ff, $d1, $4a, JR__TRAINER_F + $C8, $17 ; trainer - db SPRITE_BALL, $5 + 4, $12 + 4, $ff, $ff, $8b, TM_20 ; item - - ; warp-to - EVENT_DISP $1e, $8, $7 ; ROUTE_15_GATE - EVENT_DISP $1e, $9, $7 ; ROUTE_15_GATE - EVENT_DISP $1e, $8, $e ; ROUTE_15_GATE - EVENT_DISP $1e, $9, $e ; ROUTE_15_GATE - -Route15Blocks: ; 0x589cc 270 - INCBIN "maps/route15.blk" - -Route16_h: ; 0x58ada to 0x58afc (34 bytes) (id=27) - db $00 ; tileset - db ROUTE_16_HEIGHT, ROUTE_16_WIDTH ; dimensions (y, x) - dw Route16Blocks, Route16Texts, Route16Script ; blocks, texts, scripts - db SOUTH | EAST ; connections - - ; connections data - - db ROUTE_17 - dw Route17Blocks ; connection strip location - dw $C6EB + (ROUTE_16_HEIGHT + 3) * (ROUTE_16_WIDTH + 6) + 0 ; current map position - db ROUTE_17_WIDTH, ROUTE_17_WIDTH ; bigness, width - db 0, (0 * -2) ; alignments (y, x) - dw $C6EF + ROUTE_17_WIDTH ; window - - db CELADON_CITY - dw CeladonCityBlocks + (CELADON_CITY_WIDTH) ; connection strip location - dw $C6E5 + (ROUTE_16_WIDTH + 6) * (-3 + 4) ; current map position - db $f, CELADON_CITY_WIDTH ; bigness, width - db (-4 * -2), 0 ; alignments (y, x) - dw $C6EF + CELADON_CITY_WIDTH ; window - - ; end connections data - - dw Route16Object ; objects - -Route16Object: ; 0x58afc (size=136) - db $f ; border tile - - db $9 ; warps - db $a, $11, $0, ROUTE_16_GATE_1F - db $b, $11, $1, ROUTE_16_GATE_1F - db $a, $18, $2, ROUTE_16_GATE_1F - db $b, $18, $3, ROUTE_16_GATE_1F - db $4, $11, $4, ROUTE_16_GATE_1F - db $5, $11, $5, ROUTE_16_GATE_1F - db $4, $18, $6, ROUTE_16_GATE_1F - db $5, $18, $7, ROUTE_16_GATE_1F - db $5, $7, $0, ROUTE_16_HOUSE - - db $2 ; signs - db $b, $1b, $8 ; Route16Text8 - db $11, $5, $9 ; Route16Text9 - - db $7 ; people - db SPRITE_BIKER, $c + 4, $11 + 4, $ff, $d2, $41, BIKER + $C8, $5 ; trainer - db SPRITE_BIKER, $d + 4, $e + 4, $ff, $d3, $42, CUE_BALL + $C8, $1 ; trainer - db SPRITE_BIKER, $c + 4, $b + 4, $ff, $d1, $43, CUE_BALL + $C8, $2 ; trainer - db SPRITE_BIKER, $b + 4, $9 + 4, $ff, $d2, $44, BIKER + $C8, $6 ; trainer - db SPRITE_BIKER, $a + 4, $6 + 4, $ff, $d3, $45, CUE_BALL + $C8, $3 ; trainer - db SPRITE_BIKER, $c + 4, $3 + 4, $ff, $d3, $46, BIKER + $C8, $7 ; trainer - db SPRITE_SNORLAX, $a + 4, $1a + 4, $ff, $d0, $7 ; person - - ; warp-to - EVENT_DISP $14, $a, $11 ; ROUTE_16_GATE_1F - EVENT_DISP $14, $b, $11 ; ROUTE_16_GATE_1F - EVENT_DISP $14, $a, $18 ; ROUTE_16_GATE_1F - EVENT_DISP $14, $b, $18 ; ROUTE_16_GATE_1F - EVENT_DISP $14, $4, $11 ; ROUTE_16_GATE_1F - EVENT_DISP $14, $5, $11 ; ROUTE_16_GATE_1F - EVENT_DISP $14, $4, $18 ; ROUTE_16_GATE_1F - EVENT_DISP $14, $5, $18 ; ROUTE_16_GATE_1F - EVENT_DISP $14, $5, $7 ; ROUTE_16_HOUSE - -Route16Blocks: ; 0x58b84 180 - INCBIN "maps/route16.blk" - -Route18_h: ; 0x58c38 to 0x58c5a (34 bytes) (id=29) - db $00 ; tileset - db ROUTE_18_HEIGHT, ROUTE_18_WIDTH ; dimensions (y, x) - dw Route18Blocks, Route18Texts, Route18Script ; blocks, texts, scripts - db NORTH | EAST ; connections - - ; connections data - - db ROUTE_17 - dw Route17Blocks + (ROUTE_17_HEIGHT - 3) * ROUTE_17_WIDTH ; connection strip location - dw $C6EB + 0 ; current map position - db ROUTE_17_WIDTH, ROUTE_17_WIDTH ; bigness, width - db (ROUTE_17_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x) - dw $C6E9 + ROUTE_17_HEIGHT * (ROUTE_17_WIDTH + 6) ; window - - db FUCHSIA_CITY - dw FuchsiaCityBlocks + (FUCHSIA_CITY_WIDTH) ; connection strip location - dw $C6E5 + (ROUTE_18_WIDTH + 6) * (-3 + 4) ; current map position - db $f, FUCHSIA_CITY_WIDTH ; bigness, width - db (-4 * -2), 0 ; alignments (y, x) - dw $C6EF + FUCHSIA_CITY_WIDTH ; window - - ; end connections data - - dw Route18Object ; objects - -Route18Object: ; 0x58c5a (size=66) - db $43 ; border tile - - db $4 ; warps - db $8, $21, $0, ROUTE_18_GATE_1F - db $9, $21, $1, ROUTE_18_GATE_1F - db $8, $28, $2, ROUTE_18_GATE_1F - db $9, $28, $3, ROUTE_18_GATE_1F - - db $2 ; signs - db $7, $2b, $4 ; Route18Text4 - db $5, $21, $5 ; Route18Text5 - - db $3 ; people - db SPRITE_BLACK_HAIR_BOY_1, $b + 4, $24 + 4, $ff, $d3, $41, BIRD_KEEPER + $C8, $8 ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $f + 4, $28 + 4, $ff, $d2, $42, BIRD_KEEPER + $C8, $9 ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $d + 4, $2a + 4, $ff, $d2, $43, BIRD_KEEPER + $C8, $a ; trainer - - ; warp-to - EVENT_DISP $19, $8, $21 ; ROUTE_18_GATE_1F - EVENT_DISP $19, $9, $21 ; ROUTE_18_GATE_1F - EVENT_DISP $19, $8, $28 ; ROUTE_18_GATE_1F - EVENT_DISP $19, $9, $28 ; ROUTE_18_GATE_1F - -Route18Blocks: ; 0x58c9c 225 - INCBIN "maps/route18.blk" - -INCBIN "baserom.gbc",$58d7d,$58e3b - $58d7d - -UnnamedText_58e3b: ; 0x58e3b - TX_FAR _UnnamedText_58e3b - db $50 -; 0x58e3b + 5 bytes - -UnnamedText_58e40: ; 0x58e40 - TX_FAR _UnnamedText_58e40 - db $50 -; 0x58e40 + 5 bytes - -UnnamedText_58e45: ; 0x58e45 - TX_FAR _UnnamedText_58e45 - db $50 -; 0x58e45 + 5 bytes - -UnnamedText_58e4a: ; 0x58e4a - TX_FAR _UnnamedText_58e4a - db $50 -; 0x58e4a + 5 bytes - -UnnamedText_58e4f: ; 0x58e4f - TX_FAR _UnnamedText_58e4f - db $50 -; 0x58e4f + 5 bytes - -UnnamedText_58e54: ; 0x58e54 - TX_FAR _UnnamedText_58e54 - db $50 -; 0x58e54 + 5 bytes - -INCBIN "baserom.gbc",$58e59,$58ecc - $58e59 - -UnnamedText_58ecc: ; 0x58ecc - TX_FAR _UnnamedText_58ecc - db $50 -; 0x58ecc + 5 bytes - -INCBIN "baserom.gbc",$58ed1,$58f3e - $58ed1 - -UnnamedText_58f3e: ; 0x58f3e - TX_FAR _UnnamedText_58f3e - db $50 -; 0x58f3e + 5 bytes - -INCBIN "baserom.gbc",$58f43,$59091 - $58f43 - -UnnamedText_59091: ; 0x59091 - TX_FAR _UnnamedText_59091 - db $50 -; 0x59091 + 5 bytes - -UnnamedText_59096: ; 0x59096 - TX_FAR _UnnamedText_59096 - db $50 -; 0x59096 + 5 bytes - -UnnamedText_5909b: ; 0x5909b - TX_FAR _UnnamedText_5909b - db $50 -; 0x5909b + 5 bytes - -UnnamedText_590a0: ; 0x590a0 - TX_FAR _UnnamedText_590a0 - db $50 -; 0x590a0 + 5 bytes - -INCBIN "baserom.gbc",$590a5,$590ab - $590a5 - -UnnamedText_590ab: ; 0x590ab - TX_FAR _UnnamedText_590ab - db $50 -; 0x590ab + 5 bytes - -Route6Script: ; 0x590b0 - call $3c3c - ld hl, Route6TrainerHeaders - ld de, Route6_Unknown590c3 - ld a, [$d600] - call $3160 - ld [$d600], a - ret -; 0x590c3 - -Route6_Unknown590c3: ; 0x590c3 -INCBIN "baserom.gbc",$590c3,$590c9 - $590c3 - -Route6Texts: - dw Route6Text1, Route6Text2, Route6Text3, Route6Text4, Route6Text5, Route6Text6, Route6Text7 - -Route6TrainerHeaders: -Route6TrainerHeader1: ; 0x590d7 - db $1 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d7c9 ; flag's byte - dw UnnamedText_5912a ; 0x512a TextBeforeBattle - dw UnnamedText_59134 ; 0x5134 TextAfterBattle - dw UnnamedText_5912f ; 0x512f TextEndBattle - dw UnnamedText_5912f ; 0x512f TextEndBattle -; 0x590e3 - -TrainerHeader_590e3: ; 0x590e3 - db $2 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d7c9 ; flag's byte - dw UnnamedText_59143 ; 0x5143 TextBeforeBattle - dw UnnamedText_59134 ; 0x5134 TextAfterBattle - dw UnnamedText_59148 ; 0x5148 TextEndBattle - dw UnnamedText_59148 ; 0x5148 TextEndBattle -; 0x590ef - -TrainerHeader_590ef: ; 0x590ef - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7c9 ; flag's byte - dw UnnamedText_59157 ; 0x5157 TextBeforeBattle - dw UnnamedText_59161 ; 0x5161 TextAfterBattle - dw UnnamedText_5915c ; 0x515c TextEndBattle - dw UnnamedText_5915c ; 0x515c TextEndBattle -; 0x590fb - -TrainerHeader_590fb: ; 0x590fb - db $4 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7c9 ; flag's byte - dw UnnamedText_59170 ; 0x5170 TextBeforeBattle - dw UnnamedText_5917a ; 0x517a TextAfterBattle - dw UnnamedText_59175 ; 0x5175 TextEndBattle - dw UnnamedText_59175 ; 0x5175 TextEndBattle -; 0x59107 - -TrainerHeader_59107: ; 0x59107 - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7c9 ; flag's byte - dw UnnamedText_59189 ; 0x5189 TextBeforeBattle - dw UnnamedText_59193 ; 0x5193 TextAfterBattle - dw UnnamedText_5918e ; 0x518e TextEndBattle - dw UnnamedText_5918e ; 0x518e TextEndBattle -; 0x59113 - -TrainerHeader_59113: ; 0x59113 - db $6 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7c9 ; flag's byte - dw UnnamedText_591a2 ; 0x51a2 TextBeforeBattle - dw UnnamedText_591ac ; 0x51ac TextAfterBattle - dw UnnamedText_591a7 ; 0x51a7 TextEndBattle - dw UnnamedText_591a7 ; 0x51a7 TextEndBattle -; 0x5911e - -db $ff - -Route6Text1: ; 0x59120 - db $8 - ld hl, Route6TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd -; 0x5912a - -UnnamedText_5912a: ; 0x5912a - TX_FAR _UnnamedText_5912a - db $50 -; 0x5912a + 5 bytes - -UnnamedText_5912f: ; 0x5912f - TX_FAR _UnnamedText_5912f - db $50 -; 0x5912f + 5 bytes - -UnnamedText_59134: ; 0x59134 - TX_FAR _UnnamedText_59134 - db $50 -; 0x59134 + 5 bytes - -Route6Text2: ; 0x59139 - db $08 ; asm - ld hl, TrainerHeader_590e3 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59143: ; 0x59143 - TX_FAR _UnnamedText_59143 - db $50 -; 0x59143 + 5 bytes - -UnnamedText_59148: ; 0x59148 - TX_FAR _UnnamedText_59148 - db $50 -; 0x59148 + 5 bytes - -Route6Text3: ; 0x5914d - db $08 ; asm - ld hl, TrainerHeader_590ef - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59157: ; 0x59157 - TX_FAR _UnnamedText_59157 - db $50 -; 0x59157 + 5 bytes - -UnnamedText_5915c: ; 0x5915c - TX_FAR _UnnamedText_5915c - db $50 -; 0x5915c + 5 bytes - -UnnamedText_59161: ; 0x59161 - TX_FAR _UnnamedText_59161 - db $50 -; 0x59161 + 5 bytes - -Route6Text4: ; 0x59166 - db $08 ; asm - ld hl, TrainerHeader_590fb - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59170: ; 0x59170 - TX_FAR _UnnamedText_59170 - db $50 -; 0x59170 + 5 bytes - -UnnamedText_59175: ; 0x59175 - TX_FAR _UnnamedText_59175 - db $50 -; 0x59175 + 5 bytes - -UnnamedText_5917a: ; 0x5917a - TX_FAR _UnnamedText_5917a - db $50 -; 0x5917a + 5 bytes - -Route6Text5: ; 0x5917f - db $08 ; asm - ld hl, TrainerHeader_59107 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59189: ; 0x59189 - TX_FAR _UnnamedText_59189 - db $50 -; 0x59189 + 5 bytes - -UnnamedText_5918e: ; 0x5918e - TX_FAR _UnnamedText_5918e - db $50 -; 0x5918e + 5 bytes - -UnnamedText_59193: ; 0x59193 - TX_FAR _UnnamedText_59193 - db $50 -; 0x59193 + 5 bytes - -Route6Text6: ; 0x59198 - db $08 ; asm - ld hl, TrainerHeader_59113 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_591a2: ; 0x591a2 - TX_FAR _UnnamedText_591a2 - db $50 -; 0x591a2 + 5 bytes - -UnnamedText_591a7: ; 0x591a7 - TX_FAR _UnnamedText_591a7 - db $50 -; 0x591a7 + 5 bytes - -UnnamedText_591ac: ; 0x591ac - TX_FAR _UnnamedText_591ac - db $50 -; 0x591ac + 5 bytes - -Route6Text7: ; 0x591b1 - TX_FAR _Route6Text7 - db $50 - -Route8Script: ; 0x591b6 - call $3c3c - ld hl, Route8TrainerHeaders - ld de, Route8_Unknown591c9 - ld a, [$d601] - call $3160 - ld [$d601], a - ret -; 0x591c9 - -Route8_Unknown591c9: ; 0x591c9 -INCBIN "baserom.gbc",$591c9,$591cf - $591c9 - -Route8Texts: ; 0x591cf - dw Route8Text1, Route8Text2, Route8Text3, Route8Text4, Route8Text5, Route8Text6, Route8Text7, Route8Text8, Route8Text9, Route8Text10 - -Route8TrainerHeaders: ; 0x591e3 -Route8TrainerHeader1: ; 0x591e3 - db $1 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7cd ; flag's byte - dw UnnamedText_5925a ; 0x525a TextBeforeBattle - dw UnnamedText_59264 ; 0x5264 TextAfterBattle - dw UnnamedText_5925f ; 0x525f TextEndBattle - dw UnnamedText_5925f ; 0x525f TextEndBattle -; 0x591ef - -TrainerHeader_591ef: ; 0x591ef - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7cd ; flag's byte - dw UnnamedText_59273 ; 0x5273 TextBeforeBattle - dw UnnamedText_5927d ; 0x527d TextAfterBattle - dw UnnamedText_59278 ; 0x5278 TextEndBattle - dw UnnamedText_59278 ; 0x5278 TextEndBattle -; 0x591fb - -TrainerHeader_591fb: ; 0x591fb - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7cd ; flag's byte - dw UnnamedText_5928c ; 0x528c TextBeforeBattle - dw UnnamedText_59296 ; 0x5296 TextAfterBattle - dw UnnamedText_59291 ; 0x5291 TextEndBattle - dw UnnamedText_59291 ; 0x5291 TextEndBattle -; 0x59207 - -TrainerHeader_59207: ; 0x59207 - db $4 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7cd ; flag's byte - dw UnnamedText_592a5 ; 0x52a5 TextBeforeBattle - dw UnnamedText_592af ; 0x52af TextAfterBattle - dw UnnamedText_592aa ; 0x52aa TextEndBattle - dw UnnamedText_592aa ; 0x52aa TextEndBattle -; 0x59213 - -TrainerHeader_59213: ; 0x59213 - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7cd ; flag's byte - dw UnnamedText_592be ; 0x52be TextBeforeBattle - dw UnnamedText_592c8 ; 0x52c8 TextAfterBattle - dw UnnamedText_592c3 ; 0x52c3 TextEndBattle - dw UnnamedText_592c3 ; 0x52c3 TextEndBattle -; 0x5921f - -TrainerHeader_5921f: ; 0x5921f - db $6 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7cd ; flag's byte - dw UnnamedText_592d7 ; 0x52d7 TextBeforeBattle - dw UnnamedText_592e1 ; 0x52e1 TextAfterBattle - dw UnnamedText_592dc ; 0x52dc TextEndBattle - dw UnnamedText_592dc ; 0x52dc TextEndBattle -; 0x5922b - -TrainerHeader_5922b: ; 0x5922b - db $7 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7cd ; flag's byte - dw UnnamedText_592f0 ; 0x52f0 TextBeforeBattle - dw UnnamedText_592fa ; 0x52fa TextAfterBattle - dw UnnamedText_592f5 ; 0x52f5 TextEndBattle - dw UnnamedText_592f5 ; 0x52f5 TextEndBattle -; 0x59237 - -TrainerHeader_59237: ; 0x59237 - db $8 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7cd ; flag's byte - dw UnnamedText_59309 ; 0x5309 TextBeforeBattle - dw UnnamedText_59313 ; 0x5313 TextAfterBattle - dw UnnamedText_5930e ; 0x530e TextEndBattle - dw UnnamedText_5930e ; 0x530e TextEndBattle -; 0x59243 - -TrainerHeader_59243: ; 0x59243 - db $9 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7cd ; flag's byte - dw UnnamedText_59322 ; 0x5322 TextBeforeBattle - dw UnnamedText_5932c ; 0x532c TextAfterBattle - dw UnnamedText_59327 ; 0x5327 TextEndBattle - dw UnnamedText_59327 ; 0x5327 TextEndBattle -; 0x5924e - -db $ff - -Route8Text1: ; 0x59250 - db $8 - ld hl, Route8TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd -; 0x5925a - -UnnamedText_5925a: ; 0x5925a - TX_FAR _UnnamedText_5925a - db $50 -; 0x5925f - -UnnamedText_5925f: ; 0x5925f - TX_FAR _UnnamedText_5925f - db $50 -; 0x5925f + 5 bytes - -UnnamedText_59264: ; 0x59264 - TX_FAR _UnnamedText_59264 - db $50 -; 0x59264 + 5 bytes - -Route8Text2: ; 0x59269 - db $08 ; asm - ld hl, TrainerHeader_591ef - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59273: ; 0x59273 - TX_FAR _UnnamedText_59273 - db $50 -; 0x59273 + 5 bytes - -UnnamedText_59278: ; 0x59278 - TX_FAR _UnnamedText_59278 - db $50 -; 0x59278 + 5 bytes - -UnnamedText_5927d: ; 0x5927d - TX_FAR _UnnamedText_5927d - db $50 -; 0x5927d + 5 bytes - -Route8Text3: ; 0x59282 - db $08 ; asm - ld hl, TrainerHeader_591fb - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_5928c: ; 0x5928c - TX_FAR _UnnamedText_5928c - db $50 -; 0x5928c + 5 bytes - -UnnamedText_59291: ; 0x59291 - TX_FAR _UnnamedText_59291 - db $50 -; 0x59291 + 5 bytes - -UnnamedText_59296: ; 0x59296 - TX_FAR _UnnamedText_59296 - db $50 -; 0x59296 + 5 bytes - -Route8Text4: ; 0x5929b - db $08 ; asm - ld hl, TrainerHeader_59207 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_592a5: ; 0x592a5 - TX_FAR _UnnamedText_592a5 - db $50 -; 0x592a5 + 5 bytes - -UnnamedText_592aa: ; 0x592aa - TX_FAR _UnnamedText_592aa - db $50 -; 0x592aa + 5 bytes - -UnnamedText_592af: ; 0x592af - TX_FAR _UnnamedText_592af - db $50 -; 0x592af + 5 bytes - -Route8Text5: ; 0x592b4 - db $08 ; asm - ld hl, TrainerHeader_59213 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_592be: ; 0x592be - TX_FAR _UnnamedText_592be - db $50 -; 0x592be + 5 bytes - -UnnamedText_592c3: ; 0x592c3 - TX_FAR _UnnamedText_592c3 - db $50 -; 0x592c3 + 5 bytes - -UnnamedText_592c8: ; 0x592c8 - TX_FAR _UnnamedText_592c8 - db $50 -; 0x592c8 + 5 bytes - -Route8Text6: ; 0x592cd - db $08 ; asm - ld hl, TrainerHeader_5921f - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_592d7: ; 0x592d7 - TX_FAR _UnnamedText_592d7 - db $50 -; 0x592d7 + 5 bytes - -UnnamedText_592dc: ; 0x592dc - TX_FAR _UnnamedText_592dc - db $50 -; 0x592dc + 5 bytes - -UnnamedText_592e1: ; 0x592e1 - TX_FAR _UnnamedText_592e1 - db $50 -; 0x592e1 + 5 bytes - -Route8Text7: ; 0x592e6 - db $08 ; asm - ld hl, TrainerHeader_5922b - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_592f0: ; 0x592f0 - TX_FAR _UnnamedText_592f0 - db $50 -; 0x592f0 + 5 bytes - -UnnamedText_592f5: ; 0x592f5 - TX_FAR _UnnamedText_592f5 - db $50 -; 0x592f5 + 5 bytes - -UnnamedText_592fa: ; 0x592fa - TX_FAR _UnnamedText_592fa - db $50 -; 0x592fa + 5 bytes - -Route8Text8: ; 0x592ff - db $08 ; asm - ld hl, TrainerHeader_59237 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59309: ; 0x59309 - TX_FAR _UnnamedText_59309 - db $50 -; 0x59309 + 5 bytes - -UnnamedText_5930e: ; 0x5930e - TX_FAR _UnnamedText_5930e - db $50 -; 0x5930e + 5 bytes - -UnnamedText_59313: ; 0x59313 - TX_FAR _UnnamedText_59313 - db $50 -; 0x59313 + 5 bytes - -Route8Text9: ; 0x59318 - db $08 ; asm - ld hl, TrainerHeader_59243 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59322: ; 0x59322 - TX_FAR _UnnamedText_59322 - db $50 -; 0x59322 + 5 bytes - -UnnamedText_59327: ; 0x59327 - TX_FAR _UnnamedText_59327 - db $50 -; 0x59327 + 5 bytes - -UnnamedText_5932c: ; 0x5932c - TX_FAR _UnnamedText_5932c - db $50 -; 0x5932c + 5 bytes - -Route8Text10: ; 0x59331 - TX_FAR _Route8Text10 - db $50 - -Route10Script: ; 0x59336 - call $3c3c - ld hl, Route10TrainerHeaders - ld de, Route10_Unknown59349 - ld a, [$d605] - call $3160 - ld [$d605], a - ret -; 0x59349 - -Route10_Unknown59349: ; 0x59349 -INCBIN "baserom.gbc",$59349,$6 - -Route10Texts: ; 0x5934f - dw Route10Text1, Route10Text2, Route10Text3, Route10Text4, Route10Text5, Route10Text6, Route10Text7, Route10Text8, Route10Text9, Route10Text10 - -Route10TrainerHeaders: -Route10TrainerHeader1: ; 0x59363 - db $1 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d1 ; flag's byte - dw UnnamedText_593b6 ; 0x53b6 TextBeforeBattle - dw UnnamedText_593c0 ; 0x53c0 TextAfterBattle - dw UnnamedText_593bb ; 0x53bb TextEndBattle - dw UnnamedText_593bb ; 0x53bb TextEndBattle -; 0x5936f - -TrainerHeader_5936f: ; 0x5936f - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7d1 ; flag's byte - dw UnnamedText_593cf ; 0x53cf TextBeforeBattle - dw UnnamedText_593d9 ; 0x53d9 TextAfterBattle - dw UnnamedText_593d4 ; 0x53d4 TextEndBattle - dw UnnamedText_593d4 ; 0x53d4 TextEndBattle -; 0x5937b - -TrainerHeader_5937b: ; 0x5937b - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d1 ; flag's byte - dw UnnamedText_593e8 ; 0x53e8 TextBeforeBattle - dw UnnamedText_593f2 ; 0x53f2 TextAfterBattle - dw UnnamedText_593ed ; 0x53ed TextEndBattle - dw UnnamedText_593ed ; 0x53ed TextEndBattle -; 0x59387 - -TrainerHeader_59387: ; 0x59387 - db $4 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7d1 ; flag's byte - dw UnnamedText_59401 ; 0x5401 TextBeforeBattle - dw UnnamedText_5940b ; 0x540b TextAfterBattle - dw UnnamedText_59406 ; 0x5406 TextEndBattle - dw UnnamedText_59406 ; 0x5406 TextEndBattle -; 0x59393 - -TrainerHeader_59393: ; 0x59393 - db $5 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7d1 ; flag's byte - dw UnnamedText_5941a ; 0x541a TextBeforeBattle - dw UnnamedText_59424 ; 0x5424 TextAfterBattle - dw UnnamedText_5941f ; 0x541f TextEndBattle - dw UnnamedText_5941f ; 0x541f TextEndBattle -; 0x5939f - -TrainerHeader_5939f: ; 0x5939f - db $6 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7d1 ; flag's byte - dw UnnamedText_59433 ; 0x5433 TextBeforeBattle - dw UnnamedText_5943d ; 0x543d TextAfterBattle - dw UnnamedText_59438 ; 0x5438 TextEndBattle - dw UnnamedText_59438 ; 0x5438 TextEndBattle -; 0x593ab - -db $ff - -Route10Text1: ; 0x593ac - db $08 ; asm - ld hl, Route10TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_593b6: ; 0x593b6 - TX_FAR _UnnamedText_593b6 - db $50 -; 0x593b6 + 5 bytes - -UnnamedText_593bb: ; 0x593bb - TX_FAR _UnnamedText_593bb - db $50 -; 0x593bb + 5 bytes - -UnnamedText_593c0: ; 0x593c0 - TX_FAR _UnnamedText_593c0 - db $50 -; 0x593c0 + 5 bytes - -Route10Text2: ; 0x593c5 - db $08 ; asm - ld hl, TrainerHeader_5936f - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_593cf: ; 0x593cf - TX_FAR _UnnamedText_593cf - db $50 -; 0x593cf + 5 bytes - -UnnamedText_593d4: ; 0x593d4 - TX_FAR _UnnamedText_593d4 - db $50 -; 0x593d4 + 5 bytes - -UnnamedText_593d9: ; 0x593d9 - TX_FAR _UnnamedText_593d9 - db $50 -; 0x593d9 + 5 bytes - -Route10Text3: ; 0x593de - db $08 ; asm - ld hl, TrainerHeader_5937b - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_593e8: ; 0x593e8 - TX_FAR _UnnamedText_593e8 - db $50 -; 0x593e8 + 5 bytes - -UnnamedText_593ed: ; 0x593ed - TX_FAR _UnnamedText_593ed - db $50 -; 0x593ed + 5 bytes - -UnnamedText_593f2: ; 0x593f2 - TX_FAR _UnnamedText_593f2 - db $50 -; 0x593f2 + 5 bytes - -Route10Text4: ; 0x593f7 - db $08 ; asm - ld hl, TrainerHeader_59387 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59401: ; 0x59401 - TX_FAR _UnnamedText_59401 - db $50 -; 0x59401 + 5 bytes - -UnnamedText_59406: ; 0x59406 - TX_FAR _UnnamedText_59406 - db $50 -; 0x59406 + 5 bytes - -UnnamedText_5940b: ; 0x5940b - TX_FAR _UnnamedText_5940b - db $50 -; 0x5940b + 5 bytes - -Route10Text5: ; 0x59410 - db $08 ; asm - ld hl, TrainerHeader_59393 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_5941a: ; 0x5941a - TX_FAR _UnnamedText_5941a - db $50 -; 0x5941a + 5 bytes - -UnnamedText_5941f: ; 0x5941f - TX_FAR _UnnamedText_5941f - db $50 -; 0x5941f + 5 bytes - -UnnamedText_59424: ; 0x59424 - TX_FAR _UnnamedText_59424 - db $50 -; 0x59424 + 5 bytes - -Route10Text6: ; 0x59429 - db $08 ; asm - ld hl, TrainerHeader_5939f - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59433: ; 0x59433 - TX_FAR _UnnamedText_59433 - db $50 -; 0x59433 + 5 bytes - -UnnamedText_59438: ; 0x59438 - TX_FAR _UnnamedText_59438 - db $50 -; 0x59438 + 5 bytes - -UnnamedText_5943d: ; 0x5943d - TX_FAR _UnnamedText_5943d - db $50 -; 0x5943d + 5 bytes - -Route10Text9: ; 0x59442 -Route10Text7: ; 0x59442 - TX_FAR _Route10Text7 ; _Route10Text9 - db $50 - -Route10Text10: ; 0x59447 - TX_FAR _Route10Text10 - db $50 - -Route11Script: ; 0x5944c - call $3c3c - ld hl, Route11TrainerHeaders - ld de, Route11_Unknown5945f - ld a, [$d623] - call $3160 - ld [$d623], a - ret -; 0x5945f - -Route11_Unknown5945f: ; 0x5945f -INCBIN "baserom.gbc",$5945f,$59465 - $5945f - -Route11Texts: ; 0x59465 - dw UnnamedText_594f4, Route11Text2, Route11Text3, Route11Text4, Route11Text5, Route11Text6, Route11Text7, Route11Text8, Route11Text9, Route11Text10, Route11Text11 - -Route11TrainerHeaders: -Route11TrainerHeader1: ; 0x5947b - db $1 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7d5 ; flag's byte - dw UnnamedText_594fe ; 0x54fe TextBeforeBattle - dw UnnamedText_59508 ; 0x5508 TextAfterBattle - dw UnnamedText_59503 ; 0x5503 TextEndBattle - dw UnnamedText_59503 ; 0x5503 TextEndBattle -; 0x59487 - -TrainerHeader_59487: ; 0x59487 - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7d5 ; flag's byte - dw UnnamedText_59517 ; 0x5517 TextBeforeBattle - dw UnnamedText_59521 ; 0x5521 TextAfterBattle - dw UnnamedText_5951c ; 0x551c TextEndBattle - dw UnnamedText_5951c ; 0x551c TextEndBattle -; 0x59493 - -TrainerHeader_59493: ; 0x59493 - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7d5 ; flag's byte - dw UnnamedText_59530 ; 0x5530 TextBeforeBattle - dw UnnamedText_5953a ; 0x553a TextAfterBattle - dw UnnamedText_59535 ; 0x5535 TextEndBattle - dw UnnamedText_59535 ; 0x5535 TextEndBattle -; 0x5949f - -TrainerHeader_5949f: ; 0x5949f - db $4 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7d5 ; flag's byte - dw UnnamedText_59549 ; 0x5549 TextBeforeBattle - dw UnnamedText_59553 ; 0x5553 TextAfterBattle - dw UnnamedText_5954e ; 0x554e TextEndBattle - dw UnnamedText_5954e ; 0x554e TextEndBattle -; 0x594ab - -TrainerHeader_594ab: ; 0x594ab - db $5 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d5 ; flag's byte - dw UnnamedText_59562 ; 0x5562 TextBeforeBattle - dw UnnamedText_5956c ; 0x556c TextAfterBattle - dw UnnamedText_59567 ; 0x5567 TextEndBattle - dw UnnamedText_59567 ; 0x5567 TextEndBattle -; 0x594b7 - -TrainerHeader_594b7: ; 0x594b7 - db $6 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7d5 ; flag's byte - dw UnnamedText_5957b ; 0x557b TextBeforeBattle - dw UnnamedText_59585 ; 0x5585 TextAfterBattle - dw UnnamedText_59580 ; 0x5580 TextEndBattle - dw UnnamedText_59580 ; 0x5580 TextEndBattle -; 0x594c3 - -TrainerHeader_594c3: ; 0x594c3 - db $7 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7d5 ; flag's byte - dw UnnamedText_59594 ; 0x5594 TextBeforeBattle - dw UnnamedText_5959e ; 0x559e TextAfterBattle - dw UnnamedText_59599 ; 0x5599 TextEndBattle - dw UnnamedText_59599 ; 0x5599 TextEndBattle -; 0x594cf - -TrainerHeader_594cf: ; 0x594cf - db $8 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d5 ; flag's byte - dw UnnamedText_595ad ; 0x55ad TextBeforeBattle - dw UnnamedText_595b7 ; 0x55b7 TextAfterBattle - dw UnnamedText_595b2 ; 0x55b2 TextEndBattle - dw UnnamedText_595b2 ; 0x55b2 TextEndBattle -; 0x594db - -TrainerHeader_594db: ; 0x594db - db $9 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7d5 ; flag's byte - dw UnnamedText_595c6 ; 0x55c6 TextBeforeBattle - dw UnnamedText_595d0 ; 0x55d0 TextAfterBattle - dw UnnamedText_595cb ; 0x55cb TextEndBattle - dw UnnamedText_595cb ; 0x55cb TextEndBattle -; 0x594e7 - -TrainerHeader_594e7: ; 0x594e7 - db $a ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d5 ; flag's byte - dw UnnamedText_595df ; 0x55df TextBeforeBattle - dw UnnamedText_595e9 ; 0x55e9 TextAfterBattle - dw UnnamedText_595e4 ; 0x55e4 TextEndBattle - dw UnnamedText_595e4 ; 0x55e4 TextEndBattle -; 0x594f3 - -db $ff - -UnnamedText_594f4: ; 0x594f4 - db $8 - ld hl, Route11TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd -; 0x594fe - -UnnamedText_594fe: ; 0x594fe - TX_FAR _UnnamedText_594fe - db $50 -; 0x594fe + 5 bytes - -UnnamedText_59503: ; 0x59503 - TX_FAR _UnnamedText_59503 - db $50 -; 0x59503 + 5 bytes - -UnnamedText_59508: ; 0x59508 - TX_FAR _UnnamedText_59508 - db $50 -; 0x59508 + 5 bytes - -Route11Text2: ; 0x5950d - db $08 ; asm - ld hl, TrainerHeader_59487 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59517: ; 0x59517 - TX_FAR _UnnamedText_59517 - db $50 -; 0x59517 + 5 bytes - -UnnamedText_5951c: ; 0x5951c - TX_FAR _UnnamedText_5951c - db $50 -; 0x5951c + 5 bytes - -UnnamedText_59521: ; 0x59521 - TX_FAR _UnnamedText_59521 - db $50 -; 0x59521 + 5 bytes - -Route11Text3: ; 0x59526 - db $08 ; asm - ld hl, TrainerHeader_59493 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59530: ; 0x59530 - TX_FAR _UnnamedText_59530 - db $50 -; 0x59530 + 5 bytes - -UnnamedText_59535: ; 0x59535 - TX_FAR _UnnamedText_59535 - db $50 -; 0x59535 + 5 bytes - -UnnamedText_5953a: ; 0x5953a - TX_FAR _UnnamedText_5953a - db $50 -; 0x5953a + 5 bytes - -Route11Text4: ; 0x5953f - db $08 ; asm - ld hl, TrainerHeader_5949f - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59549: ; 0x59549 - TX_FAR _UnnamedText_59549 - db $50 -; 0x59549 + 5 bytes - -UnnamedText_5954e: ; 0x5954e - TX_FAR _UnnamedText_5954e - db $50 -; 0x5954e + 5 bytes - -UnnamedText_59553: ; 0x59553 - TX_FAR _UnnamedText_59553 - db $50 -; 0x59553 + 5 bytes - -Route11Text5: ; 0x59558 - db $08 ; asm - ld hl, TrainerHeader_594ab - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59562: ; 0x59562 - TX_FAR _UnnamedText_59562 - db $50 -; 0x59562 + 5 bytes - -UnnamedText_59567: ; 0x59567 - TX_FAR _UnnamedText_59567 - db $50 -; 0x59567 + 5 bytes - -UnnamedText_5956c: ; 0x5956c - TX_FAR _UnnamedText_5956c - db $50 -; 0x5956c + 5 bytes - -Route11Text6: ; 0x59571 - db $08 ; asm - ld hl, TrainerHeader_594b7 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_5957b: ; 0x5957b - TX_FAR _UnnamedText_5957b - db $50 -; 0x5957b + 5 bytes - -UnnamedText_59580: ; 0x59580 - TX_FAR _UnnamedText_59580 - db $50 -; 0x59580 + 5 bytes - -UnnamedText_59585: ; 0x59585 - TX_FAR _UnnamedText_59585 - db $50 -; 0x59585 + 5 bytes - -Route11Text7: ; 0x5958a - db $08 ; asm - ld hl, TrainerHeader_594c3 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59594: ; 0x59594 - TX_FAR _UnnamedText_59594 - db $50 -; 0x59594 + 5 bytes - -UnnamedText_59599: ; 0x59599 - TX_FAR _UnnamedText_59599 - db $50 -; 0x59599 + 5 bytes - -UnnamedText_5959e: ; 0x5959e - TX_FAR _UnnamedText_5959e - db $50 -; 0x5959e + 5 bytes - -Route11Text8: ; 0x595a3 - db $08 ; asm - ld hl, TrainerHeader_594cf - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_595ad: ; 0x595ad - TX_FAR _UnnamedText_595ad - db $50 -; 0x595ad + 5 bytes - -UnnamedText_595b2: ; 0x595b2 - TX_FAR _UnnamedText_595b2 - db $50 -; 0x595b2 + 5 bytes - -UnnamedText_595b7: ; 0x595b7 - TX_FAR _UnnamedText_595b7 - db $50 -; 0x595b7 + 5 bytes - -Route11Text9: ; 0x595bc - db $08 ; asm - ld hl, TrainerHeader_594db - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_595c6: ; 0x595c6 - TX_FAR _UnnamedText_595c6 - db $50 -; 0x595c6 + 5 bytes - -UnnamedText_595cb: ; 0x595cb - TX_FAR _UnnamedText_595cb - db $50 -; 0x595cb + 5 bytes - -UnnamedText_595d0: ; 0x595d0 - TX_FAR _UnnamedText_595d0 - db $50 -; 0x595d0 + 5 bytes - -Route11Text10: ; 0x595d5 - db $08 ; asm - ld hl, TrainerHeader_594e7 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_595df: ; 0x595df - TX_FAR _UnnamedText_595df - db $50 -; 0x595df + 5 bytes - -UnnamedText_595e4: ; 0x595e4 - TX_FAR _UnnamedText_595e4 - db $50 -; 0x595e4 + 5 bytes - -UnnamedText_595e9: ; 0x595e9 - TX_FAR _UnnamedText_595e9 - db $50 -; 0x595e9 + 5 bytes - -Route11Text11: ; 0x595ee - TX_FAR _Route11Text11 - db $50 - -Route12Script: ; 0x595f3 - call $3c3c - ld hl, Route12TrainerHeaders - ld de, $5611 - ld a, [$d624] - call $3160 - ld [$d624], a - ret -; 0x59606 - -INCBIN "baserom.gbc",$59606,$6f - -Route12Texts: ; 0x59675 - dw Route12Text1, Route12Text2, Route12Text3, Route12Text4, Route12Text5, Route12Text6, Route12Text7, Route12Text8, Route12Text9, Route12Text10, Route12Text11, Route12Text12, Route12Text13, Route12Text14 - -Route12TrainerHeaders: -Route12TrainerHeader1: ; 0x59691 - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d7 ; flag's byte - dw UnnamedText_596ff ; 0x56ff TextBeforeBattle - dw UnnamedText_59709 ; 0x5709 TextAfterBattle - dw UnnamedText_59704 ; 0x5704 TextEndBattle - dw UnnamedText_59704 ; 0x5704 TextEndBattle -; 0x5969d - -TrainerHeader_5969d: ; 0x5969d - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d7 ; flag's byte - dw UnnamedText_59718 ; 0x5718 TextBeforeBattle - dw UnnamedText_59722 ; 0x5722 TextAfterBattle - dw UnnamedText_5971d ; 0x571d TextEndBattle - dw UnnamedText_5971d ; 0x571d TextEndBattle -; 0x596a9 - -TrainerHeader_596a9: ; 0x596a9 - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d7 ; flag's byte - dw UnnamedText_59731 ; 0x5731 TextBeforeBattle - dw UnnamedText_5973b ; 0x573b TextAfterBattle - dw UnnamedText_59736 ; 0x5736 TextEndBattle - dw UnnamedText_59736 ; 0x5736 TextEndBattle -; 0x596b5 - -TrainerHeader_596b5: ; 0x596b5 - db $5 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d7 ; flag's byte - dw UnnamedText_5974a ; 0x574a TextBeforeBattle - dw UnnamedText_59754 ; 0x5754 TextAfterBattle - dw UnnamedText_5974f ; 0x574f TextEndBattle - dw UnnamedText_5974f ; 0x574f TextEndBattle -; 0x596c1 - -TrainerHeader_596c1: ; 0x596c1 - db $6 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d7 ; flag's byte - dw UnnamedText_59763 ; 0x5763 TextBeforeBattle - dw UnnamedText_5976d ; 0x576d TextAfterBattle - dw UnnamedText_59768 ; 0x5768 TextEndBattle - dw UnnamedText_59768 ; 0x5768 TextEndBattle -; 0x596cd - -TrainerHeader_596cd: ; 0x596cd - db $7 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d7 ; flag's byte - dw UnnamedText_5977c ; 0x577c TextBeforeBattle - dw UnnamedText_59786 ; 0x5786 TextAfterBattle - dw UnnamedText_59781 ; 0x5781 TextEndBattle - dw UnnamedText_59781 ; 0x5781 TextEndBattle -; 0x596d9 - -TrainerHeader_596d9: ; 0x596d9 - db $8 ; flag's bit - db ($1 << 4) ; trainer's view range - dw $d7d7 ; flag's byte - dw UnnamedText_59795 ; 0x5795 TextBeforeBattle - dw UnnamedText_5979f ; 0x579f TextAfterBattle - dw UnnamedText_5979a ; 0x579a TextEndBattle - dw UnnamedText_5979a ; 0x579a TextEndBattle -; 0x596e5 - -db $ff - -Route12Text1: ; 0x596e6 - TX_FAR _Route12Text1 - db $50 - -Route12Text13: -UnnamedText_596eb: ; 0x596eb - TX_FAR _UnnamedText_596eb - db $50 -; 0x596eb + 5 bytes - -Route12Text14: -UnnamedText_596f0: ; 0x596f0 - TX_FAR _UnnamedText_596f0 - db $50 -; 0x596f0 + 5 bytes - -Route12Text2: ; 0x596f5 - db $08 ; asm - ld hl, Route12TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_596ff: ; 0x596ff - TX_FAR _UnnamedText_596ff - db $50 -; 0x596ff + 5 bytes - -UnnamedText_59704: ; 0x59704 - TX_FAR _UnnamedText_59704 - db $50 -; 0x59704 + 5 bytes - -UnnamedText_59709: ; 0x59709 - TX_FAR _UnnamedText_59709 - db $50 -; 0x59709 + 5 bytes - -Route12Text3: ; 0x5970e - db $08 ; asm - ld hl, TrainerHeader_5969d - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59718: ; 0x59718 - TX_FAR _UnnamedText_59718 - db $50 -; 0x59718 + 5 bytes - -UnnamedText_5971d: ; 0x5971d - TX_FAR _UnnamedText_5971d - db $50 -; 0x5971d + 5 bytes - -UnnamedText_59722: ; 0x59722 - TX_FAR _UnnamedText_59722 - db $50 -; 0x59722 + 5 bytes - -Route12Text4: ; 0x59727 - db $08 ; asm - ld hl, TrainerHeader_596a9 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59731: ; 0x59731 - TX_FAR _UnnamedText_59731 - db $50 -; 0x59731 + 5 bytes - -UnnamedText_59736: ; 0x59736 - TX_FAR _UnnamedText_59736 - db $50 -; 0x59736 + 5 bytes - -UnnamedText_5973b: ; 0x5973b - TX_FAR _UnnamedText_5973b - db $50 -; 0x5973b + 5 bytes - -Route12Text5: ; 0x59740 - db $08 ; asm - ld hl, TrainerHeader_596b5 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_5974a: ; 0x5974a - TX_FAR _UnnamedText_5974a - db $50 -; 0x5974a + 5 bytes - -UnnamedText_5974f: ; 0x5974f - TX_FAR _UnnamedText_5974f - db $50 -; 0x5974f + 5 bytes - -UnnamedText_59754: ; 0x59754 - TX_FAR _UnnamedText_59754 - db $50 -; 0x59754 + 5 bytes - -Route12Text6: ; 0x59759 - db $08 ; asm - ld hl, TrainerHeader_596c1 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59763: ; 0x59763 - TX_FAR _UnnamedText_59763 - db $50 -; 0x59763 + 5 bytes - -UnnamedText_59768: ; 0x59768 - TX_FAR _UnnamedText_59768 - db $50 -; 0x59768 + 5 bytes - -UnnamedText_5976d: ; 0x5976d - TX_FAR _UnnamedText_5976d - db $50 -; 0x5976d + 5 bytes - -Route12Text7: ; 0x59772 - db $08 ; asm - ld hl, TrainerHeader_596cd - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_5977c: ; 0x5977c - TX_FAR _UnnamedText_5977c - db $50 -; 0x5977c + 5 bytes - -UnnamedText_59781: ; 0x59781 - TX_FAR _UnnamedText_59781 - db $50 -; 0x59781 + 5 bytes - -UnnamedText_59786: ; 0x59786 - TX_FAR _UnnamedText_59786 - db $50 -; 0x59786 + 5 bytes - -Route12Text8: ; 0x5978b - db $08 ; asm - ld hl, TrainerHeader_596d9 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59795: ; 0x59795 - TX_FAR _UnnamedText_59795 - db $50 -; 0x59795 + 5 bytes - -UnnamedText_5979a: ; 0x5979a - TX_FAR _UnnamedText_5979a - db $50 -; 0x5979a + 5 bytes - -UnnamedText_5979f: ; 0x5979f - TX_FAR _UnnamedText_5979f - db $50 -; 0x5979f + 5 bytes - -Route12Text11: ; 0x597a4 - TX_FAR _Route12Text11 - db $50 - -Route12Text12: ; 0x597a9 - TX_FAR _Route12Text12 - db $50 - -Route15Script: ; 0x597ae - call $3c3c - ld hl, Route15TrainerHeaders - ld de, Route15_Unknown597c1 - ld a, [$d625] - call $3160 - ld [$d625], a - ret -; 0x597c1 - -Route15_Unknown597c1: ; 0x597c1 -INCBIN "baserom.gbc",$597c1,$6 - -Route15Texts: ; 0x597c7 - dw Route15Text1, Route15Text2, Route15Text3, Route15Text4, Route15Text5, Route15Text6, Route15Text7, Route15Text8, Route15Text9, Route15Text10, Route15Text11, Route15Text12 - -Route15TrainerHeaders: -Route15TrainerHeader1: ; 0x597df - db $1 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7dd ; flag's byte - dw UnnamedText_59898 ; 0x5898 TextBeforeBattle - dw UnnamedText_598a2 ; 0x58a2 TextAfterBattle - dw UnnamedText_5989d ; 0x589d TextEndBattle - dw UnnamedText_5989d ; 0x589d TextEndBattle -; 0x597eb - -TrainerHeader_597eb: ; 0x597eb - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7dd ; flag's byte - dw UnnamedText_598a7 ; 0x58a7 TextBeforeBattle - dw UnnamedText_598b1 ; 0x58b1 TextAfterBattle - dw UnnamedText_598ac ; 0x58ac TextEndBattle - dw UnnamedText_598ac ; 0x58ac TextEndBattle -; 0x597f7 - -TrainerHeader_597f7: ; 0x597f7 - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7dd ; flag's byte - dw UnnamedText_598b6 ; 0x58b6 TextBeforeBattle - dw UnnamedText_598c0 ; 0x58c0 TextAfterBattle - dw UnnamedText_598bb ; 0x58bb TextEndBattle - dw UnnamedText_598bb ; 0x58bb TextEndBattle -; 0x59803 - -TrainerHeader_59803: ; 0x59803 - db $4 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7dd ; flag's byte - dw UnnamedText_598c5 ; 0x58c5 TextBeforeBattle - dw UnnamedText_598cf ; 0x58cf TextAfterBattle - dw UnnamedText_598ca ; 0x58ca TextEndBattle - dw UnnamedText_598ca ; 0x58ca TextEndBattle -; 0x5980f - -TrainerHeader_5980f: ; 0x5980f - db $5 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7dd ; flag's byte - dw UnnamedText_598d4 ; 0x58d4 TextBeforeBattle - dw UnnamedText_598de ; 0x58de TextAfterBattle - dw UnnamedText_598d9 ; 0x58d9 TextEndBattle - dw UnnamedText_598d9 ; 0x58d9 TextEndBattle -; 0x5981b - -TrainerHeader_5981b: ; 0x5981b - db $6 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7dd ; flag's byte - dw UnnamedText_598e3 ; 0x58e3 TextBeforeBattle - dw UnnamedText_598ed ; 0x58ed TextAfterBattle - dw UnnamedText_598e8 ; 0x58e8 TextEndBattle - dw UnnamedText_598e8 ; 0x58e8 TextEndBattle -; 0x59827 - -TrainerHeader_59827: ; 0x59827 - db $7 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7dd ; flag's byte - dw UnnamedText_598f2 ; 0x58f2 TextBeforeBattle - dw UnnamedText_598fc ; 0x58fc TextAfterBattle - dw UnnamedText_598f7 ; 0x58f7 TextEndBattle - dw UnnamedText_598f7 ; 0x58f7 TextEndBattle -; 0x59833 - -TrainerHeader_59833: ; 0x59833 - db $8 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7dd ; flag's byte - dw UnnamedText_59901 ; 0x5901 TextBeforeBattle - dw UnnamedText_5990b ; 0x590b TextAfterBattle - dw UnnamedText_59906 ; 0x5906 TextEndBattle - dw UnnamedText_59906 ; 0x5906 TextEndBattle -; 0x5983f - -TrainerHeader_5983f: ; 0x5983f - db $9 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7dd ; flag's byte - dw UnnamedText_59910 ; 0x5910 TextBeforeBattle - dw UnnamedText_5991a ; 0x591a TextAfterBattle - dw UnnamedText_59915 ; 0x5915 TextEndBattle - dw UnnamedText_59915 ; 0x5915 TextEndBattle -; 0x5984b - -TrainerHeader_5984b: ; 0x5984b - db $a ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7dd ; flag's byte - dw UnnamedText_5991f ; 0x591f TextBeforeBattle - dw UnnamedText_59929 ; 0x5929 TextAfterBattle - dw UnnamedText_59924 ; 0x5924 TextEndBattle - dw UnnamedText_59924 ; 0x5924 TextEndBattle -; 0x59857 - -db $ff - -Route15Text1: ; 0x59858 - db $8 ; asm - ld hl, Route15TrainerHeader1 - jr asm_33cb7 ; 0x5985c $34 - -Route15Text2: - db $8 ; asm - ld hl, TrainerHeader_597eb - jr asm_33cb7 ; 0x59862 $2e - -Route15Text3: - db $8 ; asm - ld hl, TrainerHeader_597f7 - jr asm_33cb7 ; 0x59868 $28 - -Route15Text4: - db $8 ; asm - ld hl, TrainerHeader_59803 - jr asm_33cb7 ; 0x5986e $22 - -Route15Text5: - db $8 ; asm - ld hl, TrainerHeader_5980f - jr asm_33cb7 ; 0x59874 $1c - -Route15Text6: - db $8 ; asm - ld hl, TrainerHeader_5981b - jr asm_33cb7 ; 0x5987a $16 - -Route15Text7: - db $8 ; asm - ld hl, TrainerHeader_59827 - jr asm_33cb7 ; 0x59880 $10 - -Route15Text8: - db $8 ; asm - ld hl, TrainerHeader_59833 - jr asm_33cb7 ; 0x59886 $a - -Route15Text9: - db $8 ; asm - ld hl, TrainerHeader_5983f - jr asm_33cb7 ; 0x5988c $4 - -Route15Text10: - db $8 ; asm - ld hl, TrainerHeader_5984b -asm_33cb7: ; 0x59892 - call LoadTrainerHeader - jp TextScriptEnd -; 0x59898 - -UnnamedText_59898: ; 0x59898 - TX_FAR _UnnamedText_59898 - db $50 -; 0x59898 + 5 bytes - -UnnamedText_5989d: ; 0x5989d - TX_FAR _UnnamedText_5989d - db $50 -; 0x5989d + 5 bytes - -UnnamedText_598a2: ; 0x598a2 - TX_FAR _UnnamedText_598a2 - db $50 -; 0x598a2 + 5 bytes - -UnnamedText_598a7: ; 0x598a7 - TX_FAR _UnnamedText_598a7 - db $50 -; 0x598a7 + 5 bytes - -UnnamedText_598ac: ; 0x598ac - TX_FAR _UnnamedText_598ac - db $50 -; 0x598ac + 5 bytes - -UnnamedText_598b1: ; 0x598b1 - TX_FAR _UnnamedText_598b1 - db $50 -; 0x598b1 + 5 bytes - -UnnamedText_598b6: ; 0x598b6 - TX_FAR _UnnamedText_598b6 - db $50 -; 0x598b6 + 5 bytes - -UnnamedText_598bb: ; 0x598bb - TX_FAR _UnnamedText_598bb - db $50 -; 0x598bb + 5 bytes - -UnnamedText_598c0: ; 0x598c0 - TX_FAR _UnnamedText_598c0 - db $50 -; 0x598c0 + 5 bytes - -UnnamedText_598c5: ; 0x598c5 - TX_FAR _UnnamedText_598c5 - db $50 -; 0x598c5 + 5 bytes - -UnnamedText_598ca: ; 0x598ca - TX_FAR _UnnamedText_598ca - db $50 -; 0x598ca + 5 bytes - -UnnamedText_598cf: ; 0x598cf - TX_FAR _UnnamedText_598cf - db $50 -; 0x598cf + 5 bytes - -UnnamedText_598d4: ; 0x598d4 - TX_FAR _UnnamedText_598d4 - db $50 -; 0x598d4 + 5 bytes - -UnnamedText_598d9: ; 0x598d9 - TX_FAR _UnnamedText_598d9 - db $50 -; 0x598d9 + 5 bytes - -UnnamedText_598de: ; 0x598de - TX_FAR _UnnamedText_598de - db $50 -; 0x598de + 5 bytes - -UnnamedText_598e3: ; 0x598e3 - TX_FAR _UnnamedText_598e3 - db $50 -; 0x598e3 + 5 bytes - -UnnamedText_598e8: ; 0x598e8 - TX_FAR _UnnamedText_598e8 - db $50 -; 0x598e8 + 5 bytes - -UnnamedText_598ed: ; 0x598ed - TX_FAR _UnnamedText_598ed - db $50 -; 0x598ed + 5 bytes - -UnnamedText_598f2: ; 0x598f2 - TX_FAR _UnnamedText_598f2 - db $50 -; 0x598f2 + 5 bytes - -UnnamedText_598f7: ; 0x598f7 - TX_FAR _UnnamedText_598f7 - db $50 -; 0x598f7 + 5 bytes - -UnnamedText_598fc: ; 0x598fc - TX_FAR _UnnamedText_598fc - db $50 -; 0x598fc + 5 bytes - -UnnamedText_59901: ; 0x59901 - TX_FAR _UnnamedText_59901 - db $50 -; 0x59901 + 5 bytes - -UnnamedText_59906: ; 0x59906 - TX_FAR _UnnamedText_59906 - db $50 -; 0x59906 + 5 bytes - -UnnamedText_5990b: ; 0x5990b - TX_FAR _UnnamedText_5990b - db $50 -; 0x5990b + 5 bytes - -UnnamedText_59910: ; 0x59910 - TX_FAR _UnnamedText_59910 - db $50 -; 0x59910 + 5 bytes - -UnnamedText_59915: ; 0x59915 - TX_FAR _UnnamedText_59915 - db $50 -; 0x59915 + 5 bytes - -UnnamedText_5991a: ; 0x5991a - TX_FAR _UnnamedText_5991a - db $50 -; 0x5991a + 5 bytes - -UnnamedText_5991f: ; 0x5991f - TX_FAR _UnnamedText_5991f - db $50 -; 0x5991f + 5 bytes - -UnnamedText_59924: ; 0x59924 - TX_FAR _UnnamedText_59924 - db $50 -; 0x59924 + 5 bytes - -UnnamedText_59929: ; 0x59929 - TX_FAR _UnnamedText_59929 - db $50 -; 0x59929 + 5 bytes - -Route15Text12: ; 0x5992e - TX_FAR _Route15Text12 - db $50 - -Route16Script: ; 0x59933 - call $3c3c - ld hl, Route16TrainerHeaders - ld de, $5951 - ld a, [$d626] - call $3160 - ld [$d626], a - ret -; 0x59946 - -INCBIN "baserom.gbc",$59946,$73 - -Route16Texts: ; 0x599b9 - dw Route16Text1, Route16Text2, Route16Text3, Route16Text4, Route16Text5, Route16Text6, Route16Text7, Route16Text8, Route16Text9, Route16Text10, Route16Text11 - -Route16TrainerHeaders: -Route16TrainerHeader1: ; 0x599cf - db $1 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7df ; flag's byte - dw UnnamedText_59a22 ; 0x5a22 TextBeforeBattle - dw UnnamedText_59a2c ; 0x5a2c TextAfterBattle - dw UnnamedText_59a27 ; 0x5a27 TextEndBattle - dw UnnamedText_59a27 ; 0x5a27 TextEndBattle -; 0x599db - -TrainerHeader_599db: ; 0x599db - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7df ; flag's byte - dw UnnamedText_59a3b ; 0x5a3b TextBeforeBattle - dw UnnamedText_59a45 ; 0x5a45 TextAfterBattle - dw UnnamedText_59a40 ; 0x5a40 TextEndBattle - dw UnnamedText_59a40 ; 0x5a40 TextEndBattle -; 0x599e7 - -TrainerHeader_599e7: ; 0x599e7 - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7df ; flag's byte - dw UnnamedText_59a54 ; 0x5a54 TextBeforeBattle - dw UnnamedText_59a5e ; 0x5a5e TextAfterBattle - dw UnnamedText_59a59 ; 0x5a59 TextEndBattle - dw UnnamedText_59a59 ; 0x5a59 TextEndBattle -; 0x599f3 - -TrainerHeader_599f3: ; 0x599f3 - db $4 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7df ; flag's byte - dw UnnamedText_59a6d ; 0x5a6d TextBeforeBattle - dw UnnamedText_59a77 ; 0x5a77 TextAfterBattle - dw UnnamedText_59a72 ; 0x5a72 TextEndBattle - dw UnnamedText_59a72 ; 0x5a72 TextEndBattle -; 0x599ff - -TrainerHeader_599ff: ; 0x599ff - db $5 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7df ; flag's byte - dw UnnamedText_59a86 ; 0x5a86 TextBeforeBattle - dw UnnamedText_59a90 ; 0x5a90 TextAfterBattle - dw UnnamedText_59a8b ; 0x5a8b TextEndBattle - dw UnnamedText_59a8b ; 0x5a8b TextEndBattle -; 0x59a0b - -TrainerHeader_59a0b: ; 0x59a0b - db $6 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7df ; flag's byte - dw UnnamedText_59a9f ; 0x5a9f TextBeforeBattle - dw UnnamedText_59aa9 ; 0x5aa9 TextAfterBattle - dw UnnamedText_59aa4 ; 0x5aa4 TextEndBattle - dw UnnamedText_59aa4 ; 0x5aa4 TextEndBattle -; 0x59a17 - -db $ff - -Route16Text1: ; 0x59a18 - db $08 ; asm - ld hl, Route16TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59a22: ; 0x59a22 - TX_FAR _UnnamedText_59a22 - db $50 -; 0x59a22 + 5 bytes - -UnnamedText_59a27: ; 0x59a27 - TX_FAR _UnnamedText_59a27 - db $50 -; 0x59a27 + 5 bytes - -UnnamedText_59a2c: ; 0x59a2c - TX_FAR _UnnamedText_59a2c - db $50 -; 0x59a2c + 5 bytes - -Route16Text2: ; 0x59a31 - db $08 ; asm - ld hl, TrainerHeader_599db - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59a3b: ; 0x59a3b - TX_FAR _UnnamedText_59a3b - db $50 -; 0x59a3b + 5 bytes - -UnnamedText_59a40: ; 0x59a40 - TX_FAR _UnnamedText_59a40 - db $50 -; 0x59a40 + 5 bytes - -UnnamedText_59a45: ; 0x59a45 - TX_FAR _UnnamedText_59a45 - db $50 -; 0x59a45 + 5 bytes - -Route16Text3: ; 0x59a4a - db $08 ; asm - ld hl, TrainerHeader_599e7 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59a54: ; 0x59a54 - TX_FAR _UnnamedText_59a54 - db $50 -; 0x59a54 + 5 bytes - -UnnamedText_59a59: ; 0x59a59 - TX_FAR _UnnamedText_59a59 - db $50 -; 0x59a59 + 5 bytes - -UnnamedText_59a5e: ; 0x59a5e - TX_FAR _UnnamedText_59a5e - db $50 -; 0x59a5e + 5 bytes - -Route16Text4: ; 0x59a63 - db $08 ; asm - ld hl, TrainerHeader_599f3 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59a6d: ; 0x59a6d - TX_FAR _UnnamedText_59a6d - db $50 -; 0x59a6d + 5 bytes - -UnnamedText_59a72: ; 0x59a72 - TX_FAR _UnnamedText_59a72 - db $50 -; 0x59a72 + 5 bytes - -UnnamedText_59a77: ; 0x59a77 - TX_FAR _UnnamedText_59a77 - db $50 -; 0x59a77 + 5 bytes - -Route16Text5: ; 0x59a7c - db $08 ; asm - ld hl, TrainerHeader_599ff - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59a86: ; 0x59a86 - TX_FAR _UnnamedText_59a86 - db $50 -; 0x59a86 + 5 bytes - -UnnamedText_59a8b: ; 0x59a8b - TX_FAR _UnnamedText_59a8b - db $50 -; 0x59a8b + 5 bytes - -UnnamedText_59a90: ; 0x59a90 - TX_FAR _UnnamedText_59a90 - db $50 -; 0x59a90 + 5 bytes - -Route16Text6: ; 0x59a95 - db $08 ; asm - ld hl, TrainerHeader_59a0b - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59a9f: ; 0x59a9f - TX_FAR _UnnamedText_59a9f - db $50 -; 0x59a9f + 5 bytes - -UnnamedText_59aa4: ; 0x59aa4 - TX_FAR _UnnamedText_59aa4 - db $50 -; 0x59aa4 + 5 bytes - -UnnamedText_59aa9: ; 0x59aa9 - TX_FAR _UnnamedText_59aa9 - db $50 -; 0x59aa9 + 5 bytes - -Route16Text7: ; 0x59aae - TX_FAR _Route16Text7 - db $50 - -Route16Text10: ; 0x59ab3 - TX_FAR _UnnamedText_59ab3 - db $50 -; 0x59ab3 + 5 bytes - -Route16Text11: ; 0x59ab8 - TX_FAR _UnnamedText_59ab8 - db $50 -; 0x59ab8 + 5 bytes - -Route16Text8: ; 0x59abd - TX_FAR _Route16Text8 - db $50 - -Route16Text9: ; 0x59ac2 - TX_FAR _Route16Text9 - db $50 - -Route18Script: ; 0x59ac7 - call $3c3c - ld hl, Route18TrainerHeaders - ld de, Route18_Unknown59ada - ld a, [$d627] - call $3160 - ld [$d627], a - ret -; 0x59ada - -Route18_Unknown59ada: ; 0x59ada -INCBIN "baserom.gbc",$59ada,$6 - -Route18Texts: ; 0x59ae0 - dw Route18Text1, Route18Text2, Route18Text3, Route18Text4, Route18Text5 - -Route18TrainerHeaders: -Route18TrainerHeader1: ; 0x59aea - db $1 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7e3 ; flag's byte - dw UnnamedText_59b19 ; 0x5b19 TextBeforeBattle - dw UnnamedText_59b23 ; 0x5b23 TextAfterBattle - dw UnnamedText_59b1e ; 0x5b1e TextEndBattle - dw UnnamedText_59b1e ; 0x5b1e TextEndBattle -; 0x59af6 - -TrainerHeader_59af6: ; 0x59af6 - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7e3 ; flag's byte - dw UnnamedText_59b32 ; 0x5b32 TextBeforeBattle - dw UnnamedText_59b3c ; 0x5b3c TextAfterBattle - dw UnnamedText_59b37 ; 0x5b37 TextEndBattle - dw UnnamedText_59b37 ; 0x5b37 TextEndBattle -; 0x59b02 - -TrainerHeader_59b02: ; 0x59b02 - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e3 ; flag's byte - dw UnnamedText_59b4b ; 0x5b4b TextBeforeBattle - dw UnnamedText_59b55 ; 0x5b55 TextAfterBattle - dw UnnamedText_59b50 ; 0x5b50 TextEndBattle - dw UnnamedText_59b50 ; 0x5b50 TextEndBattle -; 0x59b0e - -db $ff - -Route18Text1: ; 0x59b0f - db $08 ; asm - ld hl, Route18TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59b19: ; 0x59b19 - TX_FAR _UnnamedText_59b19 - db $50 -; 0x59b19 + 5 bytes - -UnnamedText_59b1e: ; 0x59b1e - TX_FAR _UnnamedText_59b1e - db $50 -; 0x59b1e + 5 bytes - -UnnamedText_59b23: ; 0x59b23 - TX_FAR _UnnamedText_59b23 - db $50 -; 0x59b23 + 5 bytes - -Route18Text2: ; 0x59b28 - db $08 ; asm - ld hl, TrainerHeader_59af6 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59b32: ; 0x59b32 - TX_FAR _UnnamedText_59b32 - db $50 -; 0x59b32 + 5 bytes - -UnnamedText_59b37: ; 0x59b37 - TX_FAR _UnnamedText_59b37 - db $50 -; 0x59b37 + 5 bytes - -UnnamedText_59b3c: ; 0x59b3c - TX_FAR _UnnamedText_59b3c - db $50 -; 0x59b3c + 5 bytes - -Route18Text3: ; 0x59b41 - db $08 ; asm - ld hl, TrainerHeader_59b02 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59b4b: ; 0x59b4b - TX_FAR _UnnamedText_59b4b - db $50 -; 0x59b4b + 5 bytes - -UnnamedText_59b50: ; 0x59b50 - TX_FAR _UnnamedText_59b50 - db $50 -; 0x59b50 + 5 bytes - -UnnamedText_59b55: ; 0x59b55 - TX_FAR _UnnamedText_59b55 - db $50 -; 0x59b55 + 5 bytes - -Route18Text4: ; 0x59b5a - TX_FAR _Route18Text4 - db $50 - -Route18Text5: ; 0x59b5f - TX_FAR _Route18Text5 - db $50 - -FanClub_h: ; 0x59b64 to 0x59b70 (12 bytes) (id=90) - db $10 ; tileset - db POKEMON_FAN_CLUB_HEIGHT, POKEMON_FAN_CLUB_WIDTH ; dimensions (y, x) - dw FanClubBlocks, FanClubTexts, FanClubScript ; blocks, texts, scripts - db $00 ; connections - - dw FanClubObject ; objects - -FanClubScript: ; 0x59b70 - jp $3c3c -; 0x59b73 - -INCBIN "baserom.gbc",$59b73,$11 - -FanClubTexts: ; 0x59b84 - dw FanClubText1, FanClubText2, FanClubText3, FanClubText4, FanClubText5, FanClubText6, FanClubText7, FanClubText8 - -FanClubText1: ; 0x59b94 - db $08 ; asm - ld a, [$d771] - bit 7, a - jr nz, asm_67b22 ; 0x59b9a - ld hl, UnnamedText_59bb7 - call PrintText - ld hl, $d771 - set 6, [hl] - jr asm_64f01 ; 0x59ba7 -asm_67b22 ; 0x59ba9 - ld hl, UnnamedText_59bbc - call PrintText - ld hl, $d771 - res 7, [hl] -asm_64f01 ; 0x59bb4 - jp TextScriptEnd - -UnnamedText_59bb7: ; 0x59bb7 - TX_FAR _UnnamedText_59bb7 - db $50 -; 0x59bb7 + 5 bytes - -UnnamedText_59bbc: ; 0x59bbc - TX_FAR _UnnamedText_59bbc - db $50 -; 0x59bbc + 5 bytes - -FanClubText2: ; 0x59bc1 - db $08 ; asm - ld a, [$d771] - bit 6, a - jr nz, asm_5cd59 ; 0x59bc7 - ld hl, UnnamedText_59be4 - call PrintText - ld hl, $d771 - set 7, [hl] - jr asm_59625 ; 0x59bd4 -asm_5cd59 ; 0x59bd6 - ld hl, UnnamedText_59be9 - call PrintText - ld hl, $d771 - res 6, [hl] -asm_59625 ; 0x59be1 - jp TextScriptEnd - -UnnamedText_59be4: ; 0x59be4 - TX_FAR _UnnamedText_59be4 - db $50 -; 0x59be4 + 5 bytes - -UnnamedText_59be9: ; 0x59be9 - TX_FAR _UnnamedText_59be9 - db $50 -; 0x59be9 + 5 bytes - -FanClubText3: ; 0x59bee - db $8 - ld hl, UnnamedText_59c00 - call PrintText - ld a, $54 - call $13d0 - call $3748 - jp TextScriptEnd -; 0x59c00 - -UnnamedText_59c00: ; 0x59c00 - TX_FAR _UnnamedText_59c00 - db $50 -; 0x59c00 + 5 bytes - -FanClubText4: ; 0x59c05 - db $08 ; asm - ld hl, UnnamedText_59c17 - call PrintText - ld a, SEEL - call $13d0 - call $3748 - jp TextScriptEnd - -UnnamedText_59c17: ; 0x59c17 - TX_FAR _UnnamedText_59c17 - db $50 -; 0x59c17 + 5 bytes - -FanClubText5: ; 0x59c1c - db $08 ; asm - call $5b73 - jr nz, asm_38bb3 ; 0x59c20 - ld hl, UnnamedText_59c65 - call PrintText - call $35ec - ld a, [$cc26] - and a - jr nz, asm_2c8d7 ; 0x59c2f - ld hl, UnnamedText_59c6a - call PrintText - ld bc, (BIKE_VOUCHER << 8) | 1 - call GiveItem - jr nc, asm_867d4 ; 0x59c3d - ld hl, ReceivedBikeVoucherText - call PrintText - ld hl, $d771 - set 1, [hl] - jr asm_d3c26 ; 0x59c4a -asm_867d4 ; 0x59c4c - ld hl, UnnamedText_59c83 - call PrintText - jr asm_d3c26 ; 0x59c52 -asm_2c8d7 ; 0x59c54 - ld hl, UnnamedText_59c79 - call PrintText - jr asm_d3c26 ; 0x59c5a -asm_38bb3 ; 0x59c5c - ld hl, UnnamedText_59c7e - call PrintText -asm_d3c26 ; 0x59c62 - jp TextScriptEnd - -UnnamedText_59c65: ; 0x59c65 - TX_FAR _UnnamedText_59c65 - db $50 -; 0x59c65 + 5 bytes - -UnnamedText_59c6a: ; 0x59c6a - TX_FAR _UnnamedText_59c6a - db $50 -; 0x59c6a + 5 bytes - -ReceivedBikeVoucherText: ; 0x59c6f - TX_FAR _ReceivedBikeVoucherText ; 0x9a82e - db $11 - TX_FAR _UnnamedText_59c74 ; 0x9a844 - db $50 -; 0x59c6f + 10 bytes = 0x59c79 - -UnnamedText_59c79: ; 0x59c79 - TX_FAR _UnnamedText_59c79 - db $50 -; 0x59c79 + 5 bytes - -UnnamedText_59c7e: ; 0x59c7e - TX_FAR _UnnamedText_59c7e - db $50 -; 0x59c7e + 5 bytes - -UnnamedText_59c83: ; 0x59c83 - TX_FAR _UnnamedText_59c83 - db $50 -; 0x59c83 + 5 bytes - -FanClubText6: - TX_FAR _FanClubText6 - db $50 - -FanClubText7: - TX_FAR _FanClubText7 - db $50 - -FanClubText8: ; 0x59c92 - TX_FAR _FanClubText8 - db $50 - -FanClubObject: ; 0x59c97 (size=62) - db $d ; border tile - - db $2 ; warps - db $7, $2, $1, $ff - db $7, $3, $1, $ff - - db $2 ; signs - db $0, $1, $7 ; FanClubText7 - db $0, $6, $8 ; FanClubText8 - - db $6 ; people - db SPRITE_FISHER2, $3 + 4, $6 + 4, $ff, $d2, $1 ; person - db SPRITE_GIRL, $3 + 4, $1 + 4, $ff, $d3, $2 ; person - db SPRITE_CLEFAIRY, $4 + 4, $6 + 4, $ff, $d2, $3 ; person - db SPRITE_SEEL, $4 + 4, $1 + 4, $ff, $d3, $4 ; person - db SPRITE_GENTLEMAN, $1 + 4, $3 + 4, $ff, $d0, $5 ; person - db SPRITE_CABLE_CLUB_WOMAN, $1 + 4, $5 + 4, $ff, $d0, $6 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - -FanClubBlocks: ; 0x59cd5 16 - INCBIN "maps/fanclub.blk" - -SilphCo2_h: ; 0x59ce5 to 0x59cf1 (12 bytes) (id=207) - db $16 ; tileset - db SILPH_CO_2F_HEIGHT, SILPH_CO_2F_WIDTH ; dimensions (y, x) - dw SilphCo2Blocks, SilphCo2Texts, SilphCo2Script ; blocks, texts, scripts - db $00 ; connections - - dw SilphCo2Object ; objects - -SilphCo2Script: ; 0x59cf1 - call SilphCo2_Unknown59d07 - call $3c3c - ld hl, SilphCo2TrainerHeaders - ld de, $5d80 - ld a, [$d643] - call $3160 - ld [$d643], a - ret -; 0x59d07 - -SilphCo2_Unknown59d07: ; 0x59d07 -INCBIN "baserom.gbc",$59d07,$7f - -SilphCo2Texts: ; 0x59d86 - dw SilphCo2Text1, SilphCo2Text2, SilphCo2Text3, SilphCo2Text4, SilphCo2Text5 - -SilphCo2TrainerHeaders: -SilphCo2TrainerHeader1: ; 0x59d90 - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d825 ; flag's byte - dw UnnamedText_59e2a ; 0x5e2a TextBeforeBattle - dw UnnamedText_59e34 ; 0x5e34 TextAfterBattle - dw UnnamedText_59e2f ; 0x5e2f TextEndBattle - dw UnnamedText_59e2f ; 0x5e2f TextEndBattle -; 0x59d9c - -TrainerHeader_59d9c: ; 0x59d9c - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d825 ; flag's byte - dw UnnamedText_59e39 ; 0x5e39 TextBeforeBattle - dw UnnamedText_59e43 ; 0x5e43 TextAfterBattle - dw UnnamedText_59e3e ; 0x5e3e TextEndBattle - dw UnnamedText_59e3e ; 0x5e3e TextEndBattle -; 0x59da8 - -TrainerHeader_59da8: ; 0x59da8 - db $4 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d825 ; flag's byte - dw UnnamedText_59e48 ; 0x5e48 TextBeforeBattle - dw UnnamedText_59e52 ; 0x5e52 TextAfterBattle - dw UnnamedText_59e4d ; 0x5e4d TextEndBattle - dw UnnamedText_59e4d ; 0x5e4d TextEndBattle -; 0x59db4 - -TrainerHeader_59db4: ; 0x59db4 - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d825 ; flag's byte - dw UnnamedText_59e57 ; 0x5e57 TextBeforeBattle - dw UnnamedText_59e61 ; 0x5e61 TextAfterBattle - dw UnnamedText_59e5c ; 0x5e5c TextEndBattle - dw UnnamedText_59e5c ; 0x5e5c TextEndBattle -; 0x59dc0 - -db $ff - -SilphCo2Text1: ; 0x59dc1 - db $08 ; asm - ld a, [$d826] - bit 7, a - jr nz, asm_b8a0d ; 0x59dc7 - ld hl, UnnamedText_59ded - call PrintText - ld bc, (TM_36 << 8) | 1 - call GiveItem - ld hl, TM36NoRoomText - jr nc, asm_2c1e0 ; 0x59dd8 - ld hl, $d826 - set 7, [hl] - ld hl, ReceivedTM36Text - jr asm_2c1e0 ; 0x59de2 -asm_b8a0d ; 0x59de4 - ld hl, TM36ExplanationText -asm_2c1e0 ; 0x59de7 - call PrintText - jp TextScriptEnd - -UnnamedText_59ded: ; 0x59ded - TX_FAR _UnnamedText_59ded - db $50 -; 0x59ded + 5 bytes - -ReceivedTM36Text: ; 0x59df2 - TX_FAR _ReceivedTM36Text ; 0x824ba - db $0B, $50 -; 0x59df2 + 6 bytes = 0x59df8 - -TM36ExplanationText: ; 0x59df8 - TX_FAR _TM36ExplanationText - db $50 -; 0x59df8 + 5 bytes - -TM36NoRoomText: ; 0x59dfd - TX_FAR _TM36NoRoomText - db $50 -; 0x59dfd + 5 bytes - -SilphCo2Text2: ; 0x59e02 - db $08 ; asm - ld hl, SilphCo2TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -SilphCo2Text3: ; 0x59e0c - db $08 ; asm - ld hl, TrainerHeader_59d9c - call LoadTrainerHeader - jp TextScriptEnd - -SilphCo2Text4: ; 0x59e16 - db $08 ; asm - ld hl, TrainerHeader_59da8 - call LoadTrainerHeader - jp TextScriptEnd - -SilphCo2Text5: ; 0x59e20 - db $08 ; asm - ld hl, TrainerHeader_59db4 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_59e2a: ; 0x59e2a - TX_FAR _UnnamedText_59e2a - db $50 -; 0x59e2a + 5 bytes - -UnnamedText_59e2f: ; 0x59e2f - TX_FAR _UnnamedText_59e2f - db $50 -; 0x59e2f + 5 bytes - -UnnamedText_59e34: ; 0x59e34 - TX_FAR _UnnamedText_59e34 - db $50 -; 0x59e34 + 5 bytes - -UnnamedText_59e39: ; 0x59e39 - TX_FAR _UnnamedText_59e39 - db $50 -; 0x59e39 + 5 bytes - -UnnamedText_59e3e: ; 0x59e3e - TX_FAR _UnnamedText_59e3e - db $50 -; 0x59e3e + 5 bytes - -UnnamedText_59e43: ; 0x59e43 - TX_FAR _UnnamedText_59e43 - db $50 -; 0x59e43 + 5 bytes - -UnnamedText_59e48: ; 0x59e48 - TX_FAR _UnnamedText_59e48 - db $50 -; 0x59e48 + 5 bytes - -UnnamedText_59e4d: ; 0x59e4d - TX_FAR _UnnamedText_59e4d - db $50 -; 0x59e4d + 5 bytes - -UnnamedText_59e52: ; 0x59e52 - TX_FAR _UnnamedText_59e52 - db $50 -; 0x59e52 + 5 bytes - -UnnamedText_59e57: ; 0x59e57 - TX_FAR _UnnamedText_59e57 - db $50 -; 0x59e57 + 5 bytes - -UnnamedText_59e5c: ; 0x59e5c - TX_FAR _UnnamedText_59e5c - db $50 -; 0x59e5c + 5 bytes - -UnnamedText_59e61: ; 0x59e61 - TX_FAR _UnnamedText_59e61 - db $50 -; 0x59e61 + 5 bytes - -SilphCo2Object: ; 0x59e66 (size=98) - db $2e ; border tile - - db $7 ; warps - db $0, $18, $2, SILPH_CO_1F - db $0, $1a, $0, SILPH_CO_3F - db $0, $14, $0, SILPH_CO_ELEVATOR - db $3, $3, $6, SILPH_CO_3F - db $3, $d, $4, SILPH_CO_8F - db $f, $1b, $5, SILPH_CO_8F - db $f, $9, $4, SILPH_CO_6F - - db $0 ; signs - - db $5 ; people - db SPRITE_ERIKA, $1 + 4, $a + 4, $ff, $d1, $1 ; person - db SPRITE_OAK_AIDE, $c + 4, $5 + 4, $ff, $d0, $42, SCIENTIST + $C8, $2 ; trainer - db SPRITE_OAK_AIDE, $d + 4, $18 + 4, $ff, $d2, $43, SCIENTIST + $C8, $3 ; trainer - db SPRITE_ROCKET, $b + 4, $10 + 4, $ff, $d1, $44, ROCKET + $C8, $17 ; trainer - db SPRITE_ROCKET, $7 + 4, $18 + 4, $ff, $d1, $45, ROCKET + $C8, $18 ; trainer - - ; warp-to - EVENT_DISP $f, $0, $18 ; SILPH_CO_1F - EVENT_DISP $f, $0, $1a ; SILPH_CO_3F - EVENT_DISP $f, $0, $14 ; SILPH_CO_ELEVATOR - EVENT_DISP $f, $3, $3 ; SILPH_CO_3F - EVENT_DISP $f, $3, $d ; SILPH_CO_8F - EVENT_DISP $f, $f, $1b ; SILPH_CO_8F - EVENT_DISP $f, $f, $9 ; SILPH_CO_6F - -SilphCo2Blocks: ; 0x59ec8 135 - INCBIN "maps/silphco2.blk" - -SilphCo3_h: ; 0x59f4f to 0x59f5b (12 bytes) (id=208) - db $16 ; tileset - db SILPH_CO_3F_HEIGHT, SILPH_CO_3F_WIDTH ; dimensions (y, x) - dw SilphCo3Blocks, SilphCo3Texts, SilphCo3Script ; blocks, texts, scripts - db $00 ; connections - - dw SilphCo3Object ; objects - -SilphCo3Script: ; 0x59f5b - call SilphCo3Script_Unknown59f71 - call $3c3c - ld hl, SilphCo3TrainerHeaders - ld de, $5fbe - ld a, [$d644] - call $3160 - ld [$d644], a - ret -; 0x59f71 - -SilphCo3Script_Unknown59f71: ; 0x59f71 -INCBIN "baserom.gbc",$59f71,$53 - -SilphCo3Texts: ; 0x59fc4 - dw SilphCo3Text1, SilphCo3Text2, SilphCo3Text3, SilphCo3Text4 - -SilphCo3TrainerHeaders: -SilphCo3TrainerHeader1: ; 0x59fcc - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d827 ; flag's byte - dw UnnamedText_5a00d ; 0x600d TextBeforeBattle - dw UnnamedText_5a017 ; 0x6017 TextAfterBattle - dw UnnamedText_5a012 ; 0x6012 TextEndBattle - dw UnnamedText_5a012 ; 0x6012 TextEndBattle -; 0x59fd8 - -TrainerHeader_59fd8: ; 0x59fd8 - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d827 ; flag's byte - dw UnnamedText_5a026 ; 0x6026 TextBeforeBattle - dw UnnamedText_5a030 ; 0x6030 TextAfterBattle - dw UnnamedText_5a02b ; 0x602b TextEndBattle - dw UnnamedText_5a02b ; 0x602b TextEndBattle -; 0x59fe4 - -db $ff - -SilphCo3Text1: ; 0x59fe5 - db $08 ; asm - ld a, [$d838] - bit 7, a - ld hl, UnnamedText_59ffe - jr nz, asm_8c56f ; 0x59fee - ld hl, UnnamedText_59ff9 -asm_8c56f ; 0x59ff3 - call PrintText - jp TextScriptEnd - -UnnamedText_59ff9: ; 0x59ff9 - TX_FAR _UnnamedText_59ff9 - db $50 -; 0x59ff9 + 5 bytes - -UnnamedText_59ffe: ; 0x59ffe - TX_FAR _UnnamedText_59ffe - db $50 -; 0x59ffe + 5 bytes - -SilphCo3Text2: ; 0x5a003 - db $08 ; asm - ld hl, SilphCo3TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_5a00d: ; 0x5a00d - TX_FAR _UnnamedText_5a00d - db $50 -; 0x5a00d + 5 bytes - -UnnamedText_5a012: ; 0x5a012 - TX_FAR _UnnamedText_5a012 - db $50 -; 0x5a012 + 5 bytes - -UnnamedText_5a017: ; 0x5a017 - TX_FAR _UnnamedText_5a017 - db $50 -; 0x5a017 + 5 bytes - -SilphCo3Text3: ; 0x5a01c - db $08 ; asm - ld hl, TrainerHeader_59fd8 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_5a026: ; 0x5a026 - TX_FAR _UnnamedText_5a026 - db $50 -; 0x5a026 + 5 bytes - -UnnamedText_5a02b: ; 0x5a02b - TX_FAR _UnnamedText_5a02b - db $50 -; 0x5a02b + 5 bytes - -UnnamedText_5a030: ; 0x5a030 - TX_FAR _UnnamedText_5a030 - db $50 -; 0x5a030 + 5 bytes - -SilphCo3Object: ; 0x5a035 (size=113) - db $2e ; border tile - - db $a ; warps - db $0, $1a, $1, SILPH_CO_2F - db $0, $18, $0, SILPH_CO_4F - db $0, $14, $0, SILPH_CO_ELEVATOR - db $b, $17, $9, SILPH_CO_3F - db $3, $3, $5, SILPH_CO_5F - db $f, $3, $6, SILPH_CO_5F - db $3, $1b, $3, SILPH_CO_2F - db $b, $3, $3, SILPH_CO_9F - db $b, $b, $4, SILPH_CO_7F - db $f, $1b, $3, SILPH_CO_3F - - db $0 ; signs - - db $4 ; people - db SPRITE_LAPRAS_GIVER, $8 + 4, $18 + 4, $ff, $ff, $1 ; person - db SPRITE_ROCKET, $7 + 4, $14 + 4, $ff, $d2, $42, ROCKET + $C8, $19 ; trainer - db SPRITE_OAK_AIDE, $9 + 4, $7 + 4, $ff, $d0, $43, SCIENTIST + $C8, $4 ; trainer - db SPRITE_BALL, $5 + 4, $8 + 4, $ff, $ff, $84, HYPER_POTION ; item - - ; warp-to - EVENT_DISP $f, $0, $1a ; SILPH_CO_2F - EVENT_DISP $f, $0, $18 ; SILPH_CO_4F - EVENT_DISP $f, $0, $14 ; SILPH_CO_ELEVATOR - EVENT_DISP $f, $b, $17 ; SILPH_CO_3F - EVENT_DISP $f, $3, $3 ; SILPH_CO_5F - EVENT_DISP $f, $f, $3 ; SILPH_CO_5F - EVENT_DISP $f, $3, $1b ; SILPH_CO_2F - EVENT_DISP $f, $b, $3 ; SILPH_CO_9F - EVENT_DISP $f, $b, $b ; SILPH_CO_7F - EVENT_DISP $f, $f, $1b ; SILPH_CO_3F - -SilphCo3Blocks: ; 0x5a0a6 135 - INCBIN "maps/silphco3.blk" - -SilphCo10_h: ; 0x5a12d to 0x5a139 (12 bytes) (id=234) - db $16 ; tileset - db SILPH_CO_10F_HEIGHT, SILPH_CO_10F_WIDTH ; dimensions (y, x) - dw SilphCo10Blocks, SilphCo10Texts, SilphCo10Script ; blocks, texts, scripts - db $00 ; connections - - dw SilphCo10Object ; objects - -SilphCo10Script: ; 0x5a139 - call SilphCo10Script_Unknown5a14f - call $3c3c - ld hl, SilphCo10TrainerHeaders - ld de, $6180 - ld a, [$d658] - call $3160 - ld [$d658], a - ret -; 0x5a14f - -SilphCo10Script_Unknown5a14f: ; 0x5a14f -INCBIN "baserom.gbc",$5a14f,$37 - -SilphCo10Texts: ; 0x5a186 - dw SilphCo10Text1, SilphCo10Text2, SilphCo10Text3, SilphCo10Text4, SilphCo10Text5, SilphCo10Text6 - -SilphCo10TrainerHeaders: -SilphCo10TrainerHeader1: ; 0x5a192 - db $1 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d835 ; flag's byte - dw UnnamedText_5a1dd ; 0x61dd TextBeforeBattle - dw UnnamedText_5a1e7 ; 0x61e7 TextAfterBattle - dw UnnamedText_5a1e2 ; 0x61e2 TextEndBattle - dw UnnamedText_5a1e2 ; 0x61e2 TextEndBattle -; 0x5a19e - -TrainerHeader_5a19e: ; 0x5a19e - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d835 ; flag's byte - dw UnnamedText_5a1ec ; 0x61ec TextBeforeBattle - dw UnnamedText_5a1f6 ; 0x61f6 TextAfterBattle - dw UnnamedText_5a1f1 ; 0x61f1 TextEndBattle - dw UnnamedText_5a1f1 ; 0x61f1 TextEndBattle -; 0x5a1aa - -db $ff - -SilphCo10Text1: ; 0x5a1ab - db $08 ; asm - ld hl, SilphCo10TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -SilphCo10Text2: ; 0x5a1b5 - db $08 ; asm - ld hl, TrainerHeader_5a19e - call LoadTrainerHeader - jp TextScriptEnd - -SilphCo10Text3: ; 0x5a1bf - db $08 ; asm - ld a, [$d838] - bit 7, a - ld hl, UnnamedText_5a1d8 - jr nz, asm_cf85f ; 0x5a1c8 - ld hl, UnnamedText_5a1d3 -asm_cf85f ; 0x5a1cd - call PrintText - jp TextScriptEnd - -UnnamedText_5a1d3: ; 0x5a1d3 - TX_FAR _UnnamedText_5a1d3 - db $50 -; 0x5a1d3 + 5 bytes - -UnnamedText_5a1d8: ; 0x5a1d8 - TX_FAR _UnnamedText_5a1d8 - db $50 -; 0x5a1d8 + 5 bytes - -UnnamedText_5a1dd: ; 0x5a1dd - TX_FAR _UnnamedText_5a1dd - db $50 -; 0x5a1dd + 5 bytes - -UnnamedText_5a1e2: ; 0x5a1e2 - TX_FAR _UnnamedText_5a1e2 - db $50 -; 0x5a1e2 + 5 bytes - -UnnamedText_5a1e7: ; 0x5a1e7 - TX_FAR _UnnamedText_5a1e7 - db $50 -; 0x5a1e7 + 5 bytes - -UnnamedText_5a1ec: ; 0x5a1ec - TX_FAR _UnnamedText_5a1ec - db $50 -; 0x5a1ec + 5 bytes - -UnnamedText_5a1f1: ; 0x5a1f1 - TX_FAR _UnnamedText_5a1f1 - db $50 -; 0x5a1f1 + 5 bytes - -UnnamedText_5a1f6: ; 0x5a1f6 - TX_FAR _UnnamedText_5a1f6 - db $50 -; 0x5a1f6 + 5 bytes - -SilphCo10Object: ; 0x5a1fb (size=95) - db $2e ; border tile - - db $6 ; warps - db $0, $8, $0, SILPH_CO_9F - db $0, $a, $0, SILPH_CO_11F - db $0, $c, $0, SILPH_CO_ELEVATOR - db $b, $9, $3, SILPH_CO_4F - db $f, $d, $5, SILPH_CO_4F - db $7, $d, $6, SILPH_CO_4F - - db $0 ; signs - - db $6 ; people - db SPRITE_ROCKET, $9 + 4, $1 + 4, $ff, $d3, $41, ROCKET + $C8, $27 ; trainer - db SPRITE_OAK_AIDE, $2 + 4, $a + 4, $ff, $d2, $42, SCIENTIST + $C8, $b ; trainer - db SPRITE_ERIKA, $f + 4, $9 + 4, $fe, $0, $3 ; person - db SPRITE_BALL, $c + 4, $2 + 4, $ff, $ff, $84, TM_26 ; item - db SPRITE_BALL, $e + 4, $4 + 4, $ff, $ff, $85, RARE_CANDY ; item - db SPRITE_BALL, $b + 4, $5 + 4, $ff, $ff, $86, CARBOS ; item - - ; warp-to - EVENT_DISP $8, $0, $8 ; SILPH_CO_9F - EVENT_DISP $8, $0, $a ; SILPH_CO_11F - EVENT_DISP $8, $0, $c ; SILPH_CO_ELEVATOR - EVENT_DISP $8, $b, $9 ; SILPH_CO_4F - EVENT_DISP $8, $f, $d ; SILPH_CO_4F - EVENT_DISP $8, $7, $d ; SILPH_CO_4F - -SilphCo10Blocks: ; 0x5a25a 72 - INCBIN "maps/silphco10.blk" - -Lance_h: ; 0x5a2a2 to 0x5a2ae (12 bytes) (id=113) - db $05 ; tileset - db LANCES_ROOM_HEIGHT, LANCES_ROOM_WIDTH ; dimensions (y, x) - dw LanceBlocks, LanceTexts, LanceScript ; blocks, texts, scripts - db $00 ; connections - - dw LanceObject ; objects - -LanceScript: ; 0x5a2ae - call LanceScript_Unknown5a2c4 - call $3c3c - ld hl, LanceTrainerHeaders - ld de, $62fa - ld a, [$d653] - call $3160 - ld [$d653], a - ret -; 0x5a2c4 - -LanceScript_Unknown5a2c4: ; 0x5a2c4 -INCBIN "baserom.gbc",$5a2c4,$d1 - -LanceTexts: ; 0x5a395 - dw LanceText1 - -LanceTrainerHeaders: -LanceTrainerHeader1: ; 0x5a397 - db $1 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d866 ; flag's byte - dw UnnamedText_5a3ae ; 0x63ae TextBeforeBattle - dw UnnamedText_5a3b8 ; 0x63b8 TextAfterBattle - dw UnnamedText_5a3b3 ; 0x63b3 TextEndBattle - dw UnnamedText_5a3b3 ; 0x63b3 TextEndBattle -; 0x5a3a3 - -db $ff - -LanceText1: ; 0x5a3a4 - db $08 ; asm - ld hl, LanceTrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_5a3ae: ; 0x5a3ae - TX_FAR _UnnamedText_5a3ae - db $50 -; 0x5a3ae + 5 bytes - -UnnamedText_5a3b3: ; 0x5a3b3 - TX_FAR _UnnamedText_5a3b3 - db $50 -; 0x5a3b3 + 5 bytes - -UnnamedText_5a3b8: ; 0x5a3b8 - TX_FAR _UnnamedText_5a3b8 ; 0x85e9e - db $8 - ld hl, $d866 - set 6, [hl] - jp TextScriptEnd -; 0x5a3c5 - -LanceObject: ; 0x5a3c5 (size=36) - db $3 ; border tile - - db $3 ; warps - db $10, $18, $2, AGATHAS_ROOM - db $0, $5, $0, CHAMPIONS_ROOM - db $0, $6, $0, CHAMPIONS_ROOM - - db $0 ; signs - - db $1 ; people - db SPRITE_LANCE, $1 + 4, $6 + 4, $ff, $d0, $41, LANCE + $C8, $1 ; trainer - - ; warp-to - EVENT_DISP $d, $10, $18 ; AGATHAS_ROOM - EVENT_DISP $d, $0, $5 ; CHAMPIONS_ROOM - EVENT_DISP $d, $0, $6 ; CHAMPIONS_ROOM - -LanceBlocks: ; 0x5a3e9 169 - INCBIN "maps/lance.blk" - -HallofFameRoom_h: ; 0x5a492 to 0x5a49e (12 bytes) (id=118) - db $07 ; tileset - db HALL_OF_FAME_HEIGHT, HALL_OF_FAME_WIDTH ; dimensions (y, x) - dw HallofFameRoomBlocks, HallofFameRoomTexts, HallofFameRoomScript ; blocks, texts, scripts - db $00 ; connections - - dw HallofFameRoomObject ; objects - -HallofFameRoomScript: ; 0x5a49e - call $3c3c - ld hl, HallofFameRoomScripts - ld a, [$d64b] - jp $3d97 -; 0x5a4aa - -INCBIN "baserom.gbc",$5a4aa,$5a4b2 - $5a4aa - -HallofFameRoomScripts: ; 0x5a4b2 - dw HallofFameRoomScript0, HallofFameRoomScript1, HallofFameRoomScript2 - -INCBIN "baserom.gbc",$5a4b8,$3 - -HallofFameRoomScript2: ; 0x5a4bb - call Delay3 - ld a, [$d358] - push af - xor a - ld [$cd6b], a - ld a, $55 - call Predef - pop af - ld [$d358], a - ld hl, $d733 - res 1, [hl] - inc hl - set 0, [hl] - xor a - ld hl, $d64d - ld [hli], a - ld [hli], a - ld [hl], a - ld [$d653], a - ld [$d64b], a - ld hl, $d863 - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - xor a - ld [$d64b], a - ld a, $0 - ld [$d719], a - ld b, $1c - ld hl, $7848 - call Bankswitch - ld b, $5 -.asm_5a4ff - ld c, $78 - call $3739 - dec b - jr nz, .asm_5a4ff ; 0x5a505 $f8 - call $3865 - jp $1f54 -; 0x5a50d - -HallofFameRoomScript0: ; 0x5a50d - ld a, $ff - ld [$cd6b], a - ld hl, $ccd3 - ld de, $6528 - call $350c - dec a - ld [$cd38], a - call $3486 - ld a, $1 - ld [$d64b], a - ret -; 0x5a528 - -INCBIN "baserom.gbc",$5a528,$5a52b - $5a528 - -HallofFameRoomScript1: ; 0x5a52b - ld a, [$cd38] - and a - ret nz - ld a, $1 - ld [$d528], a - ld a, $1 - ld [$ff00+$8c], a - call $3541 - ld a, $8 - ld [$ff00+$8d], a - call $34a6 - call Delay3 - xor a - ld [$cd6b], a - inc a - ld [$d528], a - ld a, $1 - ld [$ff00+$8c], a - call $2920 - ld a, $ff - ld [$cd6b], a - ld a, $8 - ld [$cc4d], a - ld a, $11 - call Predef - ld a, $2 - ld [$d64b], a - ret -; 0x5a56a - -HallofFameRoomTexts: ; 0x5a56a - dw HallofFameRoomText1 - -HallofFameRoomText1: ; 0x5a56c - TX_FAR _HallofFameRoomText1 - db $50 - -HallofFameRoomObject: ; 0x5a571 (size=26) - db $3 ; border tile - - db $2 ; warps - db $7, $4, $2, CHAMPIONS_ROOM - db $7, $5, $3, CHAMPIONS_ROOM - - db $0 ; signs - - db $1 ; people - db SPRITE_OAK, $2 + 4, $5 + 4, $ff, $d0, $1 ; person - - ; warp-to - EVENT_DISP $5, $7, $4 ; CHAMPIONS_ROOM - EVENT_DISP $5, $7, $5 ; CHAMPIONS_ROOM - -HallofFameRoomBlocks: ; 0x5a58b 20 - INCBIN "maps/halloffameroom.blk" - -INCBIN "baserom.gbc",$5a59f,$1a61 - -SECTION "bank17",DATA,BANK[$17] - -SaffronMartBlocks: -LavenderMartBlocks: -CeruleanMartBlocks: -VermilionMartBlocks: ; 0x5c000 16 - INCBIN "maps/vermilionmart.blk" - -CopycatsHouseF2Blocks: -RedsHouse2FBlocks: ; 0x5c010 16? - INCBIN "maps/redshouse2f.blk" - -MuseumF1Blocks: ; 0x5c020 40 - INCBIN "maps/museumf1.blk" - -MuseumF2Blocks: ; 0x5c048 28 - INCBIN "maps/museumf2.blk" - -SaffronPokecenterBlocks: -VermilionPokecenterBlocks: -LavenderPokecenterBlocks: -PewterPokecenterBlocks: ; 0x5c064 28 - INCBIN "maps/pewterpokecenter.blk" - -UndergroundTunnelEntranceRoute7Blocks: -UndergroundTunnelEntranceRoute6Blocks: -UndergroundTunnelEntranceRoute5Blocks: ; 0x5c080 16 - INCBIN "maps/undergroundtunnelentranceroute5.blk" - -Route2GateBlocks: -ViridianForestEntranceBlocks: -ViridianForestexitBlocks: ; 0x5c090 20 - INCBIN "maps/viridianforestexit.blk" - -RedsHouse2F_h: - db $04 ; tileset - db $04,$04 ; dimensions - dw RedsHouse2FBlocks, RedsHouse2FTexts, RedsHouse2FScript - db 0 ; no connections - dw RedsHouse2FObject - -RedsHouse2FScript: - call $3C3C - ld hl,RedsHouse2FScriptPointers - ld a,[$D60C] - jp $3D97 - -RedsHouse2FScriptPointers: - dw RedsHouse2FScript1,RedsHouse2FScript2 - -RedsHouse2FScript1: - xor a - ld [$FFB4],a - ld a,8 - ld [$D528],a - ld a,1 - ld [$D60C],a - ret - -RedsHouse2FScript2: ; 0x5c0ed - ret - -RedsHouse2FTexts: ; 0x5c0ef - db "@" - -RedsHouse2FObject: ; 0x5c0d0 ? - db $0A ; border tile - - db 1 ; warps - db 1,7,2,$25 - - db 0 ; signs - - db 0 ; people - - dw $C6EF + 4 + (4 + 6) * 0 + 3 - db 1,7 - -INCBIN "baserom.gbc",$5c0dc,$5c0eb - $5c0dc - -MuseumF1_h: ; 0x5c0eb to 0x5c0f7 (12 bytes) (id=52) - db $0a ; tileset - db MUSEUM_1F_HEIGHT, MUSEUM_1F_WIDTH ; dimensions (y, x) - dw MuseumF1Blocks, MuseumF1Texts, MuseumF1Script ; blocks, texts, scripts - db $00 ; connections - - dw MuseumF1Object ; objects - -MuseumF1Script: ; 0x5c0f7 - ld a, $1 - ld [$cf0c], a - xor a - ld [$cc3c], a - ld hl, MuseumF1Scripts - ld a, [$d619] - jp $3d97 -; 0x5c109 - -MuseumF1Scripts: ; 0x5c109 - dw MuseumF1Script0, MuseumF1Script1 - -MuseumF1Script0: ; 0x5c10d - ld a, [$d361] - cp $4 - ret nz - ld a, [$d362] - cp $9 - jr z, .asm_5c120 ; 0x5c118 $6 - ld a, [$d362] - cp $a - ret nz -.asm_5c120 - xor a - ld [$ff00+$b4], a - ld a, $1 - ld [$ff00+$8c], a - jp $2920 -; 0x5c12a - -MuseumF1Script1: ; 0x5c12a - ret -; 0x5c12b - -MuseumF1Texts: ; 0x5c12b - dw MuseumF1Text1, MuseumF1Text2, MuseumF1Text3, MuseumF1Text4, MuseumF1Text5 - -MuseumF1Text1: ; 0x5c135 - db $8 - ld a, [$d361] - cp $4 - jr nz, asm_8774b ; 0x5c13b $a - ld a, [$d362] - cp $d - jp z, $41f9 - jr asm_b8709 ; 0x5c145 $1c -asm_8774b: ; 0x5c147 - cp $3 - jr nz, asm_d49e7 ; 0x5c149 $8 - ld a, [$d362] - cp $c - jp z, $41f9 -asm_d49e7: ; 0x5c153 - ld a, [$d754] - bit 0, a - jr nz, asm_31a16 ; 0x5c158 $10 - ld hl, UnnamedText_5c23d - call PrintText - jp $4217 -asm_b8709: ; 0x5c163 - ld a, [$d754] - bit 0, a - jr z, asm_3ded4 ; 0x5c168 $9 -asm_31a16: ; 0x5c16a - ld hl, UnnamedText_5c242 - call PrintText - jp $4217 -asm_3ded4: ; 0x5c173 - ld a, $13 - ld [$d125], a - call $30e8 - xor a - ld [$ff00+$b4], a - ld hl, UnnamedText_5c21f - call PrintText - call $35ec - ld a, [$cc26] - and a - jr nz, asm_de133 ; 0x5c18b $4d - xor a - ld [$ff00+$9f], a - ld [$ff00+$a0], a - ld a, $50 - ld [$ff00+$a1], a - call $35a6 - jr nc, asm_0f3e3 ; 0x5c199 $9 - ld hl, UnnamedText_5c229 - call PrintText - jp $41da -asm_0f3e3: ; 0x5c1a4 - ld hl, UnnamedText_5c224 - call PrintText - ld hl, $d754 - set 0, [hl] - xor a - ld [$cd3d], a - ld [$cd3e], a - ld a, $50 - ld [$cd3f], a - ld hl, $cd3f - ld de, $d349 - ld c, $3 - ld a, $c - call Predef - ld a, $13 - ld [$d125], a - call $30e8 - ld a, $b2 - call $3740 - call $3748 - jr asm_0b094 ; 0x5c1d8 $18 -asm_de133: ; 0x5c1da - ld hl, $421a - call PrintText - ld a, $1 - ld [$cd38], a - ld a, $80 - ld [$ccd3], a - call $3486 - call $2429 - jr asm_d1145 ; 0x5c1f0 $25 -asm_0b094: ; 0x5c1f2 - ld a, $1 - ld [$d619], a - jr asm_d1145 ; 0x5c1f7 $1e -;XXX what calls this? - ld hl, UnnamedText_5c22e - call PrintText - call $35ec - ld a, [$cc26] - cp $0 - jr nz, asm_d1144 - ld hl, UnnamedText_5c233 - call PrintText - jr asm_d1145 ; 0x5c20f $6 -asm_d1144: - ld hl, UnnamedText_5c238 - call PrintText -asm_d1145: ; 0x5c217 - jp TextScriptEnd -; 0x5c21a - -UnnamedText_5c21a: ; 0x5c21a - TX_FAR _UnnamedText_5c21a - db $50 -; 0x5c21a + 5 bytes - -UnnamedText_5c21f: ; 0x5c21f - TX_FAR _UnnamedText_5c21f - db $50 -; 0x5c21f + 5 bytes - -UnnamedText_5c224: ; 0x5c224 - TX_FAR _UnnamedText_5c224 - db $50 -; 0x5c224 + 5 bytes - -UnnamedText_5c229: ; 0x5c229 - TX_FAR _UnnamedText_5c229 - db $50 -; 0x5c229 + 5 bytes - -UnnamedText_5c22e: ; 0x5c22e - TX_FAR _UnnamedText_5c22e - db $50 -; 0x5c22e + 5 bytes - -UnnamedText_5c233: ; 0x5c233 - TX_FAR _UnnamedText_5c233 - db $50 -; 0x5c233 + 5 bytes - -UnnamedText_5c238: ; 0x5c238 - TX_FAR _UnnamedText_5c238 - db $50 -; 0x5c238 + 5 bytes - -UnnamedText_5c23d: ; 0x5c23d - TX_FAR _UnnamedText_5c23d - db $50 -; 0x5c23d + 5 bytes - -UnnamedText_5c242: ; 0x5c242 - TX_FAR _UnnamedText_5c242 - db $50 -; 0x5c242 + 5 bytes - -MuseumF1Text2: ; 0x5c247 - db $08 ; asm - ld hl, UnnamedText_5c251 - call PrintText - jp TextScriptEnd - -UnnamedText_5c251: ; 0x5c251 - TX_FAR _UnnamedText_5c251 - db $50 -; 0x5c251 + 5 bytes - -MuseumF1Text3: ; 0x5c256 - db $08 ; asm - ld a, [$d754] - bit 1, a - jr nz, .asm_16599 ; 0x5c25c - ld hl, UnnamedText_5c28e - call PrintText - ld bc, (OLD_AMBER << 8) | 1 - call GiveItem - jr nc, .asm_91ebf ; 0x5c26a - ld hl, $d754 - set 1, [hl] - ld a, $34 - ld [$cc4d], a - ld a, $11 - call Predef - ld hl, ReceivedOldAmberText - jr .asm_52e0f ; 0x5c27e -.asm_91ebf ; 0x5c280 - ld hl, UnnamedText_5c29e - jr .asm_52e0f ; 0x5c283 -.asm_16599 ; 0x5c285 - ld hl, UnnamedText_5c299 -.asm_52e0f ; 0x5c288 - call PrintText - jp TextScriptEnd - -UnnamedText_5c28e: ; 0x5c28e - TX_FAR _UnnamedText_5c28e - db $50 -; 0x5c28e + 5 bytes - -ReceivedOldAmberText: ; 0x5c293 - TX_FAR _ReceivedOldAmberText ; 0x96790 - db $0B, $50 -; 0x5c293 + 6 bytes = 0x5c299 - -UnnamedText_5c299: ; 0x5c299 - TX_FAR _UnnamedText_5c299 - db $50 -; 0x5c299 + 5 bytes - -UnnamedText_5c29e: ; 0x5c29e - TX_FAR _UnnamedText_5c29e - db $50 -; 0x5c29e + 5 bytes - -MuseumF1Text4: ; 0x5c2a3 - db $08 ; asm - ld hl, UnnamedText_5c2ad - call PrintText - jp TextScriptEnd - -UnnamedText_5c2ad: ; 0x5c2ad - TX_FAR _UnnamedText_5c2ad - db $50 -; 0x5c2ad + 5 bytes - -MuseumF1Text5: ; 0x5c2b2 - db $08 ; asm - ld hl, UnnamedText_5c2bc - call PrintText - jp TextScriptEnd - -UnnamedText_5c2bc: ; 0x5c2bc - TX_FAR _UnnamedText_5c2bc - db $50 -; 0x5c2bc + 5 bytes - -MuseumF1Object: ; 0x5c2c1 (size=74) - db $a ; border tile - - db $5 ; warps - db $7, $a, $0, $ff - db $7, $b, $0, $ff - db $7, $10, $1, $ff - db $7, $11, $1, $ff - db $7, $7, $0, MUSEUM_2F - - db $0 ; signs - - db $5 ; people - db SPRITE_OAK_AIDE, $4 + 4, $c + 4, $ff, $d2, $1 ; person - db SPRITE_GAMBLER, $4 + 4, $1 + 4, $ff, $ff, $2 ; person - db SPRITE_OAK_AIDE, $2 + 4, $f + 4, $ff, $d0, $3 ; person - db SPRITE_OAK_AIDE, $4 + 4, $11 + 4, $ff, $ff, $4 ; person - db SPRITE_OLD_AMBER, $2 + 4, $10 + 4, $ff, $ff, $5 ; person - - ; warp-to - EVENT_DISP $a, $7, $a - EVENT_DISP $a, $7, $b - EVENT_DISP $a, $7, $10 - EVENT_DISP $a, $7, $11 - EVENT_DISP $a, $7, $7 ; MUSEUM_2F - -MuseumF2_h: ; 0x5c30b to 0x5c317 (12 bytes) (id=53) - db $0a ; tileset - db MUSEUM_2F_HEIGHT, MUSEUM_2F_WIDTH ; dimensions (y, x) - dw MuseumF2Blocks, MuseumF2Texts, MuseumF2Script ; blocks, texts, scripts - db $00 ; connections - - dw MuseumF2Object ; objects - -MuseumF2Script: ; 0x5c317 - jp $3c3c -; 0x5c31a - -MuseumF2Texts: ; 0x5c31a - dw MuseumF2Text1, MuseumF2Text2, MuseumF2Text3, MuseumF2Text4, MuseumF2Text5, MuseumF2Text6, MuseumF2Text7 - -MuseumF2Text1: ; 0x5c328 - TX_FAR _MuseumF2Text1 - db $50 - -MuseumF2Text2: ; 0x5c32d - TX_FAR _MuseumF2Text2 - db $50 - -MuseumF2Text3: ; 0x5c332 - TX_FAR _MuseumF2Text3 - db $50 - -MuseumF2Text4: ; 0x5c337 - TX_FAR _MuseumF2Text4 - db $50 - -MuseumF2Text5: ; 0x5c33c - TX_FAR _MuseumF2Text5 - db $50 - -MuseumF2Text6: ; 0x5c341 - TX_FAR _MuseumF2Text6 - db $50 - -MuseumF2Text7: ; 0x5c346 - TX_FAR _MuseumF2Text7 - db $50 - -MuseumF2Object: ; 0x5c34b (size=48) - db $a ; border tile - - db $1 ; warps - db $7, $7, $4, MUSEUM_1F - - db $2 ; signs - db $2, $b, $6 ; MuseumF2Text6 - db $5, $2, $7 ; MuseumF2Text7 - - db $5 ; people - db SPRITE_BUG_CATCHER, $7 + 4, $1 + 4, $fe, $2, $1 ; person - db SPRITE_OLD_PERSON, $5 + 4, $0 + 4, $ff, $d0, $2 ; person - db SPRITE_OAK_AIDE, $5 + 4, $7 + 4, $ff, $d0, $3 ; person - db SPRITE_BRUNETTE_GIRL, $5 + 4, $b + 4, $ff, $ff, $4 ; person - db SPRITE_HIKER, $5 + 4, $c + 4, $ff, $d0, $5 ; person - - ; warp-to - EVENT_DISP $7, $7, $7 ; MUSEUM_1F - -PewterGym_h: ; 0x5c37b to 0x5c387 (12 bytes) (id=54) - db $07 ; tileset - db PEWTER_GYM_HEIGHT, PEWTER_GYM_WIDTH ; dimensions (y, x) - dw PewterGymBlocks, PewterGymTexts, PewterGymScript ; blocks, texts, scripts - db $00 ; connections - - dw PewterGymObject ; objects - -PewterGymScript: ; 0x5c387 - ld hl, $d126 - bit 6, [hl] - res 6, [hl] - call nz, PewterGymScript_Unknown5c3a4 - call $3c3c - ld hl, PewterGymTrainerHeaders - ld de, $43ca - ld a, [$d5fc] - call $3160 - ld [$d5fc], a - ret -; 0x5c3a4 - -PewterGymScript_Unknown5c3a4: ; 0x5c3a4 -INCBIN "baserom.gbc",$5c3a4,$91 - -PewterGymTexts: ; 0x5c435 - dw PewterGymText1, PewterGymText2, PewterGymText3, PewterGymText4, PewterGymText5, PewterGymText6 - -PewterGymTrainerHeaders: -PewterGymTrainerHeader1: ; 0x5c441 - db $2 ; flag's bit - db ($5 << 4) ; trainer's view range - dw $d755 ; flag's byte - dw UnnamedText_5c4d0 ; 0x44d0 TextBeforeBattle - dw UnnamedText_5c4da ; 0x44da TextAfterBattle - dw UnnamedText_5c4d5 ; 0x44d5 TextEndBattle - dw UnnamedText_5c4d5 ; 0x44d5 TextEndBattle -; 0x5c44d - -db $ff - -PewterGymText1: ; 0x5c44e - db $08 ; asm - ld a, [$d755] - bit 7, a - jr z, .asm_4a735 ; 0x5c454 - bit 6, a - jr nz, .asm_ff7d0 ; 0x5c458 - call z, $43df - call $30b6 - jr .asm_e0ffb ; 0x5c460 -.asm_ff7d0 ; 0x5c462 - ld hl, UnnamedText_5c4a3 - call PrintText - jr .asm_e0ffb ; 0x5c468 -.asm_4a735 ; 0x5c46a - ld hl, UnnamedText_5c49e - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, UnnamedText_5c4bc - ld de, UnnamedText_5c4bc - call $3354 - ldh a, [$8c] - ld [$cf13], a - call $336a - call $32d7 - ld a, $1 - ld [$d05c], a - xor a - ldh [$b4], a - ld a, $3 - ld [$d5fc], a - ld [$da39], a -.asm_e0ffb ; 0x5c49b - jp TextScriptEnd - -UnnamedText_5c49e: ; 0x5c49e - TX_FAR _UnnamedText_5c49e - db $50 -; 0x5c49e + 5 bytes - -UnnamedText_5c4a3: ; 0x5c4a3 - TX_FAR _UnnamedText_5c4a3 - db $50 -; 0x5c4a3 + 5 bytes - -PewterGymText4: ; 0x5c4a8 - TX_FAR _UnnamedText_5c4a8 - db $50 -; 0x5c4a8 + 5 bytes - -PewterGymText5: ; 0x5c4ad - TX_FAR _ReceivedTM34Text ; 0x980ad - db $0B - TX_FAR _UnnamedText_5c4b2 ; 0x980c0 - db $50 -; 0x5c4ad + 10 bytes = 0x5c4b7 - -PewterGymText6: ; 0x5c4b7 - TX_FAR _UnnamedText_5c4b7 - db $50 - -UnnamedText_5c4bc: ; 0x5c4bc - TX_FAR _UnnamedText_5c4bc ; 0x981c9 - db $0B - TX_FAR _UnnamedText_5c4c1 ; 0x98232 - db $50 -; 0x5c4c6 - -PewterGymText2: ; 0x5c4c6 - db $08 ; asm - ld hl, PewterGymTrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_5c4d0: ; 0x5c4d0 - TX_FAR _UnnamedText_5c4d0 - db $50 -; 0x5c4d0 + 5 bytes - -UnnamedText_5c4d5: ; 0x5c4d5 - TX_FAR _UnnamedText_5c4d5 - db $50 -; 0x5c4d5 + 5 bytes - -UnnamedText_5c4da: ; 0x5c4da - TX_FAR _UnnamedText_5c4da - db $50 -; 0x5c4da + 5 bytes - -PewterGymText3: ; 0x5c4df - db $08 ; asm - ld a, [$d72a] - bit 0, a - jr nz, .asm_71369 ; 0x5c4e5 - ld hl, UnnamedText_5c515 - call PrintText - call $35ec - ld a, [$cc26] - and a - jr nz, .asm_6123a ; 0x5c4f4 - ld hl, UnnamedText_5c51a - call PrintText - jr .asm_d1578 ; 0x5c4fc -.asm_6123a ; 0x5c4fe - ld hl, UnnamedText_5c524 - call PrintText -.asm_d1578 ; 0x5c504 - ld hl, UnnamedText_5c51f - call PrintText - jr .asm_07013 ; 0x5c50a -.asm_71369 ; 0x5c50c - ld hl, UnnamedText_5c529 - call PrintText -.asm_07013 ; 0x5c512 - jp TextScriptEnd - -UnnamedText_5c515: ; 0x5c515 - TX_FAR _UnnamedText_5c515 - db $50 -; 0x5c515 + 5 bytes - -UnnamedText_5c51a: ; 0x5c51a - TX_FAR _UnnamedText_5c51a - db $50 -; 0x5c51a + 5 bytes - -UnnamedText_5c51f: ; 0x5c51f - TX_FAR _UnnamedText_5c51f - db $50 -; 0x5c51f + 5 bytes - -UnnamedText_5c524: ; 0x5c524 - TX_FAR _UnnamedText_5c524 - db $50 -; 0x5c524 + 5 bytes - -UnnamedText_5c529: ; 0x5c529 - TX_FAR _UnnamedText_5c529 - db $50 -; 0x5c529 + 5 bytes - -PewterGymObject: ; 0x5c52e (size=42) - db $3 ; border tile - - db $2 ; warps - db $d, $4, $2, $ff - db $d, $5, $2, $ff - - db $0 ; signs - - db $3 ; people - db SPRITE_BLACK_HAIR_BOY_2, $1 + 4, $4 + 4, $ff, $d0, $41, BROCK + $C8, $1 ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $6 + 4, $3 + 4, $ff, $d3, $42, JR__TRAINER_M + $C8, $1 ; trainer - db SPRITE_GYM_HELPER, $a + 4, $7 + 4, $ff, $d0, $3 ; person - - ; warp-to - EVENT_DISP $5, $d, $4 - EVENT_DISP $5, $d, $5 - -PewterGymBlocks: ; 0x5c558 35 - INCBIN "maps/pewtergym.blk" - -PewterPokecenter_h: ; 0x5c57b to 0x5c587 (12 bytes) (id=58) - db $06 ; tileset - db PEWTER_POKECENTER_HEIGHT, PEWTER_POKECENTER_WIDTH ; dimensions (y, x) - dw PewterPokecenterBlocks, PewterPokecenterTexts, PewterPokecenterScript ; blocks, texts, scripts - db $00 ; connections - - dw PewterPokecenterObject ; objects - -PewterPokecenterScript: ; 0x5c587 - call $22fa - jp $3c3c -; 0x5c58d - -PewterPokecenterTexts: ; 0x5c58d - dw PewterPokecenterText1, PewterPokecenterText2, PewterPokecenterText3, PewterPokecenterText4 - -PewterPokecenterText1: ; 0x5c595 - db $ff - -PewterPokecenterText2: ; 0x5c596 - TX_FAR _PewterPokecenterText1 - db $50 - -PewterPokecenterText3: ; 0x5c59b - db $8 - ld a, $1 - ld [$cc3c], a - ld hl, PewterPokecenterText5 - call PrintText - ld a, $ff - call $23b1 - ld c, $20 - call $3739 - ld hl, $4608 - ld de, $cd3f - ld bc, $0004 - call CopyData - ld a, [$c132] - ld hl, $cd3f -.asm_5c5c3 - cp [hl] - inc hl - jr nz, .asm_5c5c3 ; 0x5c5c5 $fc - dec hl - push hl - ld c, $1f - ld a, $d0 - call $23a1 - pop hl -.asm_5c5d1 - ld a, [hl] - ld [$c132], a - push hl - ld hl, $cd3f - ld de, $cd3e - ld bc, $0004 - call CopyData - ld a, [$cd3e] - ld [$cd42], a - pop hl - ld c, $18 - call $3739 - ld a, [$c026] - ld b, a - ld a, [$c027] - or b - jr nz, .asm_5c5d1 ; 0x5c5f6 $d9 - ld c, $30 - call $3739 - call $2307 - jp TextScriptEnd -; 0x5c603 - -PewterPokecenterText5: ; 0x5c603 - TX_FAR _PewterPokecenterText5 ; 0x98744 - db $50 -; 0x5c603 + 5 bytes = 0x5c608 - -; 0x5c608 XXX -db $30, $38, $34, $3c - -PewterPokecenterText4: ; 0x5c60b - db $f6 - -PewterPokecenterObject: ; 0x5c60d (size=44) - db $0 ; border tile - - db $2 ; warps - db $7, $3, $6, $ff - db $7, $4, $6, $ff - - db $0 ; signs - - db $4 ; people - db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person - db SPRITE_GENTLEMAN, $7 + 4, $b + 4, $ff, $d2, $2 ; person - db SPRITE_CLEFAIRY, $3 + 4, $1 + 4, $ff, $d0, $3 ; person - db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person - - ; warp-to - EVENT_DISP $7, $7, $3 - EVENT_DISP $7, $7, $4 - -CeruleanPokecenter_h: ; 0x5c639 to 0x5c645 (12 bytes) (id=64) - db $06 ; tileset - db CERULEAN_POKECENTER_HEIGHT, CERULEAN_POKECENTER_WIDTH ; dimensions (y, x) - dw CeruleanPokecenterBlocks, CeruleanPokecenterTexts, CeruleanPokecenterScript ; blocks, texts, scripts - db $00 ; connections - - dw CeruleanPokecenterObject ; objects - -CeruleanPokecenterScript: ; 0x5c645 - call $22fa - jp $3c3c -; 0x5c64b - -CeruleanPokecenterTexts: - dw CeruleanPokecenterText1, CeruleanPokecenterText2, CeruleanPokecenterText3, CeruleanPokecenterText4 - -CeruleanPokecenterText4: - db $f6 - -CeruleanPokecenterText1: ; 0x5c654 - db $ff - -CeruleanPokecenterText2: ; 0x5c655 - TX_FAR _CeruleanPokecenterText1 - db $50 - -CeruleanPokecenterText3: - TX_FAR _CeruleanPokecenterText3 - db $50 - -CeruleanPokecenterObject: ; 0x5c65f (size=44) - db $0 ; border tile - - db $2 ; warps - db $7, $3, $2, $ff - db $7, $4, $2, $ff - - db $0 ; signs - - db $4 ; people - db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person - db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $a + 4, $fe, $0, $2 ; person - db SPRITE_GENTLEMAN, $3 + 4, $4 + 4, $ff, $d0, $3 ; person - db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person - - ; warp-to - EVENT_DISP $7, $7, $3 - EVENT_DISP $7, $7, $4 - -CeruleanPokecenterBlocks: ; 0x5c68b 28 - INCBIN "maps/ceruleanpokecenter.blk" - -CeruleanGym_h: ; 0x5c6a7 to 0x5c6b3 (12 bytes) (id=65) - db $07 ; tileset - db CERULEAN_GYM_HEIGHT, CERULEAN_GYM_WIDTH ; dimensions (y, x) - dw CeruleanGymBlocks, CeruleanGymTexts, CeruleanGymScript ; blocks, texts, scripts - db $00 ; connections - - dw CeruleanGymObject ; objects - -CeruleanGymScript: ; 0x5c6b3 - ld hl, $d126 - bit 6, [hl] - res 6, [hl] - call nz, CeruleanGymScript_Unknown5c6d0 - call $3c3c - ld hl, CeruleanGymTrainerHeaders - ld de, $46f8 - ld a, [$d5fd] - call $3160 - ld [$d5fd], a - ret -; 0x5c6d0 - -CeruleanGymScript_Unknown5c6d0: ; 0x5c6d0 -INCBIN "baserom.gbc",$5c6d0,$7a - -CeruleanGymTexts: ; 0x5c74a - dw CeruleanGymText1, CeruleanGymText2, CeruleanGymText3, CeruleanGymText4, CeruleanGymText5, CeruleanGymText6, CeruleanGymText7 - -CeruleanGymTrainerHeaders: -CeruleanGymTrainerHeader1: ; 0x5c758 - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d75e ; flag's byte - dw UnnamedText_5c7e9 ; 0x47e9 TextBeforeBattle - dw UnnamedText_5c7f3 ; 0x47f3 TextAfterBattle - dw UnnamedText_5c7ee ; 0x47ee TextEndBattle - dw UnnamedText_5c7ee ; 0x47ee TextEndBattle -; 0x5c764 - -TrainerHeader_5c764: ; 0x5c764 - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d75e ; flag's byte - dw UnnamedText_5c802 ; 0x4802 TextBeforeBattle - dw UnnamedText_5c80c ; 0x480c TextAfterBattle - dw UnnamedText_5c807 ; 0x4807 TextEndBattle - dw UnnamedText_5c807 ; 0x4807 TextEndBattle -; 0x5c770 - -db $ff - -CeruleanGymText1: ; 0x5c771 - db $08 ; asm - ld a, [$d75e] - bit 7, a - jr z, .asm_10854 ; 0x5c777 - bit 6, a - jr nz, .asm_37a1b ; 0x5c77b - call z, $470d - call $30b6 - jr .asm_95b04 ; 0x5c783 -.asm_37a1b ; 0x5c785 - ld hl, UnnamedText_5c7c3 - call PrintText - jr .asm_95b04 ; 0x5c78b -.asm_10854 ; 0x5c78d - ld hl, UnnamedText_5c7be - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, $47d8 - ld de, $47d8 - call $3354 - ldh a, [$8c] - ld [$cf13], a - call $336a - call $32d7 - ld a, $2 - ld [$d05c], a - xor a - ldh [$b4], a - ld a, $3 - ld [$d5fd], a -.asm_95b04 ; 0x5c7bb - jp TextScriptEnd - -UnnamedText_5c7be: ; 0x5c7be - TX_FAR _UnnamedText_5c7be - db $50 -; 0x5c7be + 5 bytes - -UnnamedText_5c7c3: ; 0x5c7c3 - TX_FAR _UnnamedText_5c7c3 - db $50 -; 0x5c7c3 + 5 bytes - -CeruleanGymText5: ; 0x5c7c8 - TX_FAR _UnnamedText_5c7c8 - db $50 -; 0x5c7c8 + 5 bytes - -CeruleanGymText6: ; 0x5c7cd -ReceivedTM11Text: ; 0x5c7cd - TX_FAR _ReceivedTM11Text ; 0x98b7d - db $0B, $50 -; 0x5c7cd + 6 bytes = 0x5c7d3 - -CeruleanGymText7: ; 0x5c7d3 - TX_FAR _UnnamedText_5c7d3 - db $50 -; 0x5c7d3 + 5 bytes - -UnnamedText_5c7d8: ; 0x5c7d8 - TX_FAR _UnnamedText_5c7d8 ; 0x98bb0 - db $11, $6, $50 -; 0x5c7d8 + 7 bytes = 0x5c7df - -CeruleanGymText2: ; 0x5c7df - db $08 ; asm - ld hl, CeruleanGymTrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_5c7e9: ; 0x5c7e9 - TX_FAR _UnnamedText_5c7e9 - db $50 -; 0x5c7e9 + 5 bytes - -UnnamedText_5c7ee: ; 0x5c7ee - TX_FAR _UnnamedText_5c7ee - db $50 -; 0x5c7ee + 5 bytes - -UnnamedText_5c7f3: ; 0x5c7f3 - TX_FAR _UnnamedText_5c7f3 - db $50 -; 0x5c7f3 + 5 bytes - -CeruleanGymText3: ; 0x5c7f8 - db $08 ; asm - ld hl, TrainerHeader_5c764 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_5c802: ; 0x5c802 - TX_FAR _UnnamedText_5c802 - db $50 -; 0x5c802 + 5 bytes - -UnnamedText_5c807: ; 0x5c807 - TX_FAR _UnnamedText_5c807 - db $50 -; 0x5c807 + 5 bytes - -UnnamedText_5c80c: ; 0x5c80c - TX_FAR _UnnamedText_5c80c - db $50 -; 0x5c80c + 5 bytes - -CeruleanGymText4: ; 0x5c811 - db $08 ; asm - ld a, [$d75e] - bit 7, a - jr nz, .asm_f80ce ; 0x5c817 - ld hl, UnnamedText_5c82a - call PrintText - jr .asm_18a31 ; 0x5c81f -.asm_f80ce ; 0x5c821 - ld hl, UnnamedText_5c82f - call PrintText -.asm_18a31 ; 0x5c827 - jp TextScriptEnd - -UnnamedText_5c82a: ; 0x5c82a - TX_FAR _UnnamedText_5c82a - db $50 -; 0x5c82a + 5 bytes - -UnnamedText_5c82f: ; 0x5c82f - TX_FAR _UnnamedText_5c82f - db $50 -; 0x5c82f + 5 bytes - -CeruleanGymObject: ; 0x5c834 (size=50) - db $3 ; border tile - - db $2 ; warps - db $d, $4, $3, $ff - db $d, $5, $3, $ff - - db $0 ; signs - - db $4 ; people - db SPRITE_BRUNETTE_GIRL, $2 + 4, $4 + 4, $ff, $d0, $41, MISTY + $C8, $1 ; trainer - db SPRITE_LASS, $3 + 4, $2 + 4, $ff, $d3, $42, JR__TRAINER_F + $C8, $1 ; trainer - db SPRITE_SWIMMER, $7 + 4, $8 + 4, $ff, $d2, $43, SWIMMER + $C8, $1 ; trainer - db SPRITE_GYM_HELPER, $a + 4, $7 + 4, $ff, $d0, $4 ; person - - ; warp-to - EVENT_DISP $5, $d, $4 - EVENT_DISP $5, $d, $5 - -CeruleanGymBlocks: ; 0x5c866 35 - INCBIN "maps/ceruleangym.blk" - -CeruleanMart_h: ; 0x5c889 to 0x5c895 (12 bytes) (id=67) - db $02 ; tileset - db CERULEAN_MART_HEIGHT, CERULEAN_MART_WIDTH ; dimensions (y, x) - dw CeruleanMartBlocks, CeruleanMartTexts, CeruleanMartScript ; blocks, texts, scripts - db $00 ; connections - - dw CeruleanMartObject ; objects - -CeruleanMartScript: ; 0x5c895 - jp $3c3c -; 0x5c898 - -CeruleanMartTexts: ; 0x5c898 - dw CeruleanMartText1, CeruleanMartText2, CeruleanMartText3 - -CeruleanMartText2: ; 0x5c89e - TX_FAR _CeruleanMartText2 - db $50 - -CeruleanMartText3: ; 0x5c8a3 - TX_FAR _CeruleanMartText3 - db $50 - -CeruleanMartObject: ; 0x5c8a8 (size=38) - db $0 ; border tile - - db $2 ; warps - db $7, $3, $5, $ff - db $7, $4, $5, $ff - - db $0 ; signs - - db $3 ; people - db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person - db SPRITE_BLACK_HAIR_BOY_1, $4 + 4, $3 + 4, $fe, $1, $2 ; person - db SPRITE_LASS, $2 + 4, $6 + 4, $fe, $2, $3 ; person - - ; warp-to - EVENT_DISP $4, $7, $3 - EVENT_DISP $4, $7, $4 - -LavenderPokecenter_h: ; 0x5c8ce to 0x5c8da (12 bytes) (id=141) - db $06 ; tileset - db LAVENDER_POKECENTER_HEIGHT, LAVENDER_POKECENTER_WIDTH ; dimensions (y, x) - dw LavenderPokecenterBlocks, LavenderPokecenterTexts, LavenderPokecenterScript ; blocks, texts, scripts - db $00 ; connections - - dw LavenderPokecenterObject ; objects - -LavenderPokecenterScript: ; 0x5c8da - call $22fa - jp $3c3c -; 0x5c8e0 - -LavenderPokecenterTexts: - dw LavenderPokecenterText1, LavenderPokecenterText2, LavenderPokecenterText3, LavenderPokecenterText4 - -LavenderPokecenterText4: - db $f6 - -LavenderPokecenterText1: ; 0x5c8ea - db $ff - -LavenderPokecenterText2: ; 0x5c8eb - TX_FAR _LavenderPokecenterText1 - db $50 - -LavenderPokecenterText3: ; 0x5c8ef - TX_FAR _LavenderPokecenterText3 - db $50 - -LavenderPokecenterObject: ; 0x5c8f4 (size=44) - db $0 ; border tile - - db $2 ; warps - db $7, $3, $0, $ff - db $7, $4, $0, $ff - - db $0 ; signs - - db $4 ; people - db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person - db SPRITE_GENTLEMAN, $3 + 4, $5 + 4, $ff, $ff, $2 ; person - db SPRITE_LITTLE_GIRL, $6 + 4, $2 + 4, $fe, $1, $3 ; person - db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person - - ; warp-to - EVENT_DISP $7, $7, $3 - EVENT_DISP $7, $7, $4 - -LavenderMart_h: ; 0x5c920 to 0x5c92c (12 bytes) (id=150) - db $02 ; tileset - db LAVENDER_MART_HEIGHT, LAVENDER_MART_WIDTH ; dimensions (y, x) - dw LavenderMartBlocks, LavenderMartTexts, LavenderMartScript ; blocks, texts, scripts - db $00 ; connections - - dw LavenderMartObject ; objects - -LavenderMartScript: ; 0x5c92c - jp $3c3c -; 0x5c92f - -LavenderMartTexts: ; 0x5c92f - dw LavenderMartText1, LavenderMartText2, LavenderMartText3 - -LavenderMartText2: ; 0x5c935 - TX_FAR _LavenderMartText2 - db $50 - -LavenderMartText3: ; 0x5c93a - db $08 ; asm - ld a, [$d7e0] - bit 7, a - jr nz, .asm_c88d4 ; 0x5c940 - ld hl, UnnamedText_5c953 - call PrintText - jr .asm_6d225 ; 0x5c948 -.asm_c88d4 ; 0x5c94a - ld hl, UnnamedText_5c958 - call PrintText -.asm_6d225 ; 0x5c950 - jp TextScriptEnd - -UnnamedText_5c953: ; 0x5c953 - TX_FAR _UnnamedText_5c953 - db $50 -; 0x5c953 + 5 bytes - -UnnamedText_5c958: ; 0x5c958 - TX_FAR _UnnamedText_5c958 - db $50 -; 0x5c958 + 5 bytes - -LavenderMartObject: ; 0x5c95d (size=38) - db $0 ; border tile - - db $2 ; warps - db $7, $3, $3, $ff - db $7, $4, $3, $ff - - db $0 ; signs - - db $3 ; people - db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person - db SPRITE_BALDING_GUY, $4 + 4, $3 + 4, $ff, $ff, $2 ; person - db SPRITE_BLACK_HAIR_BOY_1, $2 + 4, $7 + 4, $ff, $ff, $3 ; person - - ; warp-to - EVENT_DISP $4, $7, $3 - EVENT_DISP $4, $7, $4 - -VermilionPokecenter_h: ; 0x5c983 to 0x5c98f (12 bytes) (id=89) - db $06 ; tileset - db VERMILION_POKECENTER_HEIGHT, VERMILION_POKECENTER_WIDTH ; dimensions (y, x) - dw VermilionPokecenterBlocks, VermilionPokecenterTexts, VermilionPokecenterScript ; blocks, texts, scripts - db $00 ; connections - - dw VermilionPokecenterObject ; objects - -VermilionPokecenterScript: ; 0x5c98f - call $22fa - jp $3c3c -; 0x5c995 - -VermilionPokecenterTexts: - dw VermilionPokecenterText1, VermilionPokecenterText2, VermilionPokecenterText3, VermilionPokecenterText4 - -VermilionPokecenterText1: ; 0x5c99d - db $ff - -VermilionPokecenterText2: ; 0x5c99e - TX_FAR _VermilionPokecenterText1 - db $50 - -VermilionPokecenterText3: ; 0x5c9a3 - TX_FAR _VermilionPokecenterText3 - db $50 - -VermilionPokecenterText4: ; 0x5c9a8 - db $f6 - -VermilionPokecenterObject: ; 0x5c9a9 (size=44) - db $0 ; border tile - - db $2 ; warps - db $7, $3, $0, $ff - db $7, $4, $0, $ff - - db $0 ; signs - - db $4 ; people - db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person - db SPRITE_FISHER, $5 + 4, $a + 4, $ff, $ff, $2 ; person - db SPRITE_SAILOR, $4 + 4, $5 + 4, $ff, $ff, $3 ; person - db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person - - ; warp-to - EVENT_DISP $7, $7, $3 - EVENT_DISP $7, $7, $4 - -VermilionMart_h: ; 0x5c9d5 to 0x5c9e1 (12 bytes) (id=91) - db $02 ; tileset - db VERMILION_MART_HEIGHT, VERMILION_MART_WIDTH ; dimensions (y, x) - dw VermilionMartBlocks, VermilionMartTexts, VermilionMartScript ; blocks, texts, scripts - db $00 ; connections - - dw VermilionMartObject ; objects - -VermilionMartScript: ; 0x5c9e1 - jp $3c3c -; 0x5c9e4 - -VermilionMartTexts: ; 0x5c9e4 - dw VermilionMartText1, VermilionMartText2, VermilionMartText3 - -VermilionMartText2: ; 0x5c9ea - TX_FAR _VermilionMartText2 - db $50 - -VermilionMartText3: ; 0x5c9ef - TX_FAR _VermilionMartText3 - db $50 - -VermilionMartObject: ; 0x5c9f4 (size=38) - db $0 ; border tile - - db $2 ; warps - db $7, $3, $2, $ff - db $7, $4, $2, $ff - - db $0 ; signs - - db $3 ; people - db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person - db SPRITE_BLACK_HAIR_BOY_1, $6 + 4, $5 + 4, $ff, $ff, $2 ; person - db SPRITE_LASS, $3 + 4, $3 + 4, $fe, $2, $3 ; person - - ; warp-to - EVENT_DISP $4, $7, $3 - EVENT_DISP $4, $7, $4 - -VermilionGym_h: ; 0x5ca1a to 0x5ca26 (12 bytes) (id=92) - db $07 ; tileset - db VERMILION_GYM_HEIGHT, VERMILION_GYM_WIDTH ; dimensions (y, x) - dw VermilionGymBlocks, VermilionGymTexts, VermilionGymScript ; blocks, texts, scripts - db $00 ; connections - - dw VermilionGymObject ; objects - -VermilionGymScript: ; 0x5ca26 - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - push hl - call nz, VermilionGymScript_Unknown5ca4c - pop hl - bit 6, [hl] - res 6, [hl] - call nz, $4a6d - call $3c3c - ld hl, VermilionGymTrainerHeader1 - ld de, $4a95 - ld a, [$d5fe] - call $3160 - ld [$d5fe], a - ret -; 0x5ca4c - -VermilionGymScript_Unknown5ca4c: ; 0x5ca4c -INCBIN "baserom.gbc",$5ca4c,$9c - -VermilionGymTexts: ; 0x5cae8 - dw VermilionGymText1, VermilionGymText2, VermilionGymText3, VermilionGymText4, VermilionGymText5, VermilionGymText6, VermilionGymText7, VermilionGymText8 - -VermilionGymTrainerHeaders: -VermilionGymTrainerHeader1: ; 0x5caf8 - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d773 ; flag's byte - dw UnnamedText_5cb9a ; 0x4b9a TextBeforeBattle - dw UnnamedText_5cba4 ; 0x4ba4 TextAfterBattle - dw UnnamedText_5cb9f ; 0x4b9f TextEndBattle - dw UnnamedText_5cb9f ; 0x4b9f TextEndBattle -; 0x5cb04 - -TrainerHeader_5cb04: ; 0x5cb04 - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d773 ; flag's byte - dw UnnamedText_5cbb3 ; 0x4bb3 TextBeforeBattle - dw UnnamedText_5cbbd ; 0x4bbd TextAfterBattle - dw UnnamedText_5cbb8 ; 0x4bb8 TextEndBattle - dw UnnamedText_5cbb8 ; 0x4bb8 TextEndBattle -; 0x5cb10 - -TrainerHeader_5cb10: ; 0x5cb10 - db $4 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d773 ; flag's byte - dw UnnamedText_5cbcc ; 0x4bcc TextBeforeBattle - dw UnnamedText_5cbd6 ; 0x4bd6 TextAfterBattle - dw UnnamedText_5cbd1 ; 0x4bd1 TextEndBattle - dw UnnamedText_5cbd1 ; 0x4bd1 TextEndBattle -; 0x5cb1c - -db $ff - -VermilionGymText1: ; 0x5cb1d - db $08 ; asm - ld a, [$d773] - bit 7, a - jr z, .asm_7cc29 ; 0x5cb23 - bit 6, a - jr nz, .asm_41203 ; 0x5cb27 - call z, $4aaa - call $30b6 - jr .asm_23621 ; 0x5cb2f -.asm_41203 ; 0x5cb31 - ld hl, UnnamedText_5cb72 - call PrintText - jr .asm_23621 ; 0x5cb37 -.asm_7cc29 ; 0x5cb39 - ld hl, UnnamedText_5cb6d - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, $4b8b - ld de, $4b8b - call $3354 - ldh a, [$8c] - ld [$cf13], a - call $336a - call $32d7 - ld a, $3 - ld [$d05c], a - xor a - ldh [$b4], a - ld a, $3 - ld [$d5fe], a - ld [$da39], a -.asm_23621 ; 0x5cb6a - jp TextScriptEnd - -UnnamedText_5cb6d: ; 0x5cb6d - TX_FAR _UnnamedText_5cb6d - db $50 -; 0x5cb6d + 5 bytes - -UnnamedText_5cb72: ; 0x5cb72 - TX_FAR _UnnamedText_5cb72 - db $50 -; 0x5cb72 + 5 bytes - -VermilionGymText6: - TX_FAR _UnnamedText_5cb77 - db $50 -; 0x5cb77 + 5 bytes - -VermilionGymText7: ; 0x5cb7c - TX_FAR _ReceivedTM24Text ; 0x9c0e0 - db $11 - TX_FAR _TM24ExplanationText ; 0x9c0f5 - db $50 -; 0x5cb7c + 10 bytes = 0x5cb86 - -VermilionGymText8: ; 0x5cb86 - TX_FAR _TM24NoRoomText - db $50 - -ReceivedThunderbadgeText: - TX_FAR _ReceivedThunderbadgeText - db $50 - -VermilionGymText2: ; 0x5cb90 - db $08 ; asm - ld hl, VermilionGymTrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_5cb9a: ; 0x5cb9a - TX_FAR _UnnamedText_5cb9a - db $50 -; 0x5cb9a + 5 bytes - -UnnamedText_5cb9f: ; 0x5cb9f - TX_FAR _UnnamedText_5cb9f - db $50 -; 0x5cb9f + 5 bytes - -UnnamedText_5cba4: ; 0x5cba4 - TX_FAR _UnnamedText_5cba4 - db $50 -; 0x5cba4 + 5 bytes - -VermilionGymText3: ; 0x5cba9 - db $08 ; asm - ld hl, TrainerHeader_5cb04 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_5cbb3: ; 0x5cbb3 - TX_FAR _UnnamedText_5cbb3 - db $50 -; 0x5cbb3 + 5 bytes - -UnnamedText_5cbb8: ; 0x5cbb8 - TX_FAR _UnnamedText_5cbb8 - db $50 -; 0x5cbb8 + 5 bytes - -UnnamedText_5cbbd: ; 0x5cbbd - TX_FAR _UnnamedText_5cbbd - db $50 -; 0x5cbbd + 5 bytes - -VermilionGymText4: ; 0x5cbc2 - db $08 ; asm - ld hl, TrainerHeader_5cb10 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_5cbcc: ; 0x5cbcc - TX_FAR _UnnamedText_5cbcc - db $50 -; 0x5cbcc + 5 bytes - -UnnamedText_5cbd1: ; 0x5cbd1 - TX_FAR _UnnamedText_5cbd1 - db $50 -; 0x5cbd1 + 5 bytes - -UnnamedText_5cbd6: ; 0x5cbd6 - TX_FAR _UnnamedText_5cbd6 - db $50 -; 0x5cbd6 + 5 bytes - -VermilionGymText5: ; 0x5cbdb - db $08 ; asm - ld a, [$d72a] - bit 2, a - jr nz, .asm_13b67 ; 0x5cbe1 - ld hl, UnnamedText_5cbf4 - call PrintText - jr .asm_c2b38 ; 0x5cbe9 -.asm_13b67 ; 0x5cbeb - ld hl, UnnamedText_5cbf9 - call PrintText -.asm_c2b38 ; 0x5cbf1 - jp TextScriptEnd - -UnnamedText_5cbf4: ; 0x5cbf4 - TX_FAR _UnnamedText_5cbf4 - db $50 -; 0x5cbf4 + 5 bytes - -UnnamedText_5cbf9: ; 0x5cbf9 - TX_FAR _UnnamedText_5cbf9 - db $50 -; 0x5cbf9 + 5 bytes - -VermilionGymObject: ; 0x5cbfe (size=58) - db $3 ; border tile - - db $2 ; warps - db $11, $4, $3, $ff - db $11, $5, $3, $ff - - db $0 ; signs - - db $5 ; people - db SPRITE_ROCKER, $1 + 4, $5 + 4, $ff, $d0, $41, LT__SURGE + $C8, $1 ; trainer - db SPRITE_GENTLEMAN, $6 + 4, $9 + 4, $ff, $d2, $42, GENTLEMAN + $C8, $3 ; trainer - db SPRITE_BLACK_HAIR_BOY_2, $8 + 4, $3 + 4, $ff, $d2, $43, ROCKER + $C8, $1 ; trainer - db SPRITE_SAILOR, $a + 4, $0 + 4, $ff, $d3, $44, SAILOR + $C8, $8 ; trainer - db SPRITE_GYM_HELPER, $e + 4, $4 + 4, $ff, $d0, $5 ; person - - ; warp-to - EVENT_DISP $5, $11, $4 - EVENT_DISP $5, $11, $5 - -VermilionGymBlocks: ; 0x5cc38 45 - INCBIN "maps/vermiliongym.blk" - -CopycatsHouseF2_h: ; 0x5cc65 to 0x5cc71 (12 bytes) (id=176) - db $04 ; tileset - db COPYCATS_HOUSE_2F_HEIGHT, COPYCATS_HOUSE_2F_WIDTH ; dimensions (y, x) - dw CopycatsHouseF2Blocks, CopycatsHouseF2Texts, CopycatsHouseF2Script ; blocks, texts, scripts - db $00 ; connections - - dw CopycatsHouseF2Object ; objects - -CopycatsHouseF2Script: ; 0x5cc71 - jp $3c3c -; 0x5cc74 - -CopycatsHouseF2Texts: ; 0x5cc74 - dw CopycatsHouseF2Text1, CopycatsHouseF2Text2, CopycatsHouseF2Text3, CopycatsHouseF2Text4, CopycatsHouseF2Text5, CopycatsHouseF2Text6, CopycatsHouseF2Text7 - -CopycatsHouseF2Text1: ; 0x5cc82 - db $08 ; asm - ld a, [$d7af] - bit 0, a - jr nz, .asm_7ccf3 ; 0x5cc88 - ld a, $1 - ld [$cc3c], a - ld hl, UnnamedText_5ccd4 - call PrintText - ld b, POKE_DOLL - call $3493 ; probably check has item or take item - jr z, .asm_62ecd ; 0x5cc9a - ld hl, UnnamedText_5ccd9 - call PrintText - ld bc, (TM_31 << 8) | 1 - call GiveItem - jr nc, .asm_16690 ; 0x5cca8 - ld hl, ReceivedTM31Text - call PrintText - ld a, $33 - ldh [$db], a - ld b, $5 ; BANK(MyFunction) - ld hl, $7f37 ; MyFunction - call Bankswitch - ld hl, $d7af - set 0, [hl] - jr .asm_62ecd ; 0x5ccc1 -.asm_16690 ; 0x5ccc3 - ld hl, TM31NoRoomText - call PrintText - jr .asm_62ecd ; 0x5ccc9 -.asm_7ccf3 ; 0x5cccb - ld hl, TM31ExplanationText2 - call PrintText -.asm_62ecd ; 0x5ccd1 - jp TextScriptEnd - -UnnamedText_5ccd4: ; 0x5ccd4 - TX_FAR _UnnamedText_5ccd4 - db $50 -; 0x5ccd4 + 5 bytes - -UnnamedText_5ccd9: ; 0x5ccd9 - TX_FAR _UnnamedText_5ccd9 - db $50 -; 0x5ccd9 + 5 bytes - -ReceivedTM31Text: ; 0x5ccde - TX_FAR _ReceivedTM31Text ; 0xa1675 - db $0B -TM31ExplanationText1: ; 0x5cce2 - TX_FAR _TM31ExplanationText1 ; 0xa1689 - db $d, $50 -; 0x5cce9 - -TM31ExplanationText2: ; 0x5cce9 - TX_FAR _TM31ExplanationText2 ; 0xa16c5 - db $50 -; 0x5cce9 + 5 bytes = 0x5ccee - -TM31NoRoomText: ; 0x5ccee - TX_FAR _TM31NoRoomText ; 0xa1733 - db $d, $50 -; 0x5ccf4 - -CopycatsHouseF2Text2: ; 0x5ccf4 - TX_FAR _CopycatsHouseF2Text2 - db $50 - -CopycatsHouseF2Text5: -CopycatsHouseF2Text4: -CopycatsHouseF2Text3: ; 0x5ccf9 - TX_FAR _CopycatsHouseF2Text3 - db $50 - -CopycatsHouseF2Text6: ; 0x5ccfe - TX_FAR _CopycatsHouseF2Text6 - db $50 - -CopycatsHouseF2Text7: ; 0x5cd03 - db $08 ; asm - ld a, [$c109] - cp $4 - ld hl, UnnamedText_5cd1c - jr nz, .asm_399a4 ; 0x5cd0c - ld hl, UnnamedText_5cd17 -.asm_399a4 ; 0x5cd11 - call PrintText - jp TextScriptEnd - -UnnamedText_5cd17: ; 0x5cd17 - TX_FAR _UnnamedText_5cd17 - db $50 -; 0x5cd17 + 5 bytes - -UnnamedText_5cd1c: ; 0x5cd1c - TX_FAR _UnnamedText_5cd1c - db $50 -; 0x5cd1c + 5 bytes - -CopycatsHouseF2Object: ; 0x5cd21 (size=48) - db $a ; border tile - - db $1 ; warps - db $1, $7, $2, COPYCATS_HOUSE_1F - - db $2 ; signs - db $5, $3, $6 ; CopycatsHouseF2Text6 - db $1, $0, $7 ; CopycatsHouseF2Text7 - - db $5 ; people - db SPRITE_BRUNETTE_GIRL, $3 + 4, $4 + 4, $fe, $0, $1 ; person - db SPRITE_BIRD, $6 + 4, $4 + 4, $fe, $2, $2 ; person - db SPRITE_SLOWBRO, $1 + 4, $5 + 4, $ff, $d0, $3 ; person - db SPRITE_BIRD, $0 + 4, $2 + 4, $ff, $d0, $4 ; person - db SPRITE_CLEFAIRY, $6 + 4, $1 + 4, $ff, $d3, $5 ; person - - ; warp-to - EVENT_DISP $4, $1, $7 ; COPYCATS_HOUSE_1F - -FightingDojo_h: ; 0x5cd51 to 0x5cd5d (12 bytes) (id=177) - db $05 ; tileset - db FIGHTINGDOJO_HEIGHT, FIGHTINGDOJO_WIDTH ; dimensions (y, x) - dw FightingDojoBlocks, FightingDojoTexts, FightingDojoScript ; blocks, texts, scripts - db $00 ; connections - - dw FightingDojoObject ; objects - -FightingDojoScript: ; 0x5cd5d - call $3c3c - ld hl, FightingDojoTrainerHeaders - ld de, $4d7b - ld a, [$d642] - call $3160 - ld [$d642], a - ret -; 0x5cd70 - -INCBIN "baserom.gbc",$5cd70,$93 - -FightingDojoTexts: ; 0x5ce03 - dw FightingDojoText1, FightingDojoText2, FightingDojoText3, FightingDojoText4, FightingDojoText5, FightingDojoText6, FightingDojoText7, FightingDojoText8 - -FightingDojoTrainerHeaders: -FightingDojoTrainerHeader1: ; 0x5ce13 - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7b1 ; flag's byte - dw UnnamedText_5ceac ; 0x4eac TextBeforeBattle - dw UnnamedText_5ceb6 ; 0x4eb6 TextAfterBattle - dw UnnamedText_5ceb1 ; 0x4eb1 TextEndBattle - dw UnnamedText_5ceb1 ; 0x4eb1 TextEndBattle -; 0x5ce1f - -TrainerHeader_5ce1f: ; 0x5ce1f - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7b1 ; flag's byte - dw UnnamedText_5cec5 ; 0x4ec5 TextBeforeBattle - dw UnnamedText_5cecf ; 0x4ecf TextAfterBattle - dw UnnamedText_5ceca ; 0x4eca TextEndBattle - dw UnnamedText_5ceca ; 0x4eca TextEndBattle -; 0x5ce2b - -TrainerHeader_5ce2b: ; 0x5ce2b - db $4 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7b1 ; flag's byte - dw UnnamedText_5cede ; 0x4ede TextBeforeBattle - dw UnnamedText_5cee8 ; 0x4ee8 TextAfterBattle - dw UnnamedText_5cee3 ; 0x4ee3 TextEndBattle - dw UnnamedText_5cee3 ; 0x4ee3 TextEndBattle -; 0x5ce37 - -TrainerHeader_5ce37: ; 0x5ce37 - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7b1 ; flag's byte - dw UnnamedText_5cef7 ; 0x4ef7 TextBeforeBattle - dw UnnamedText_5cf01 ; 0x4f01 TextAfterBattle - dw UnnamedText_5cefc ; 0x4efc TextEndBattle - dw UnnamedText_5cefc ; 0x4efc TextEndBattle -; 0x5ce43 - -db $ff - -FightingDojoText1: ; 0x5ce44 - db $08 ; asm - ld a, [$d7b1] - bit 0, a - jp nz, .continue1\@ - bit 1, a - jp nz, .continue2\@ - ld hl, UnnamedText_5ce8e - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, $4e93 - ld de, $4e93 - call $3354 - ldh a, [$8c] - ld [$cf13], a - call $336a - call $32d7 - ld a, $3 - ld [$d642], a - ld [$da39], a - jr .asm_9dba4 ; 0x5ce7b -.continue1\@ ; 0x5ce7d - ld hl, UnnamedText_5ce9d - call PrintText - jr .asm_9dba4 ; 0x5ce83 -.continue2\@ ; 0x5ce85f - ld hl, FightingDojoText8 - call PrintText -.asm_9dba4 ; 0x5ce8b - jp TextScriptEnd - -UnnamedText_5ce8e: ; 0x5ce8e - TX_FAR _UnnamedText_5ce8e - db $50 -; 0x5ce8e + 5 bytes - -UnnamedText_5ce93: ; 0x5ce93 - TX_FAR _UnnamedText_5ce93 - db $50 -; 0x5ce93 + 5 bytes - -FightingDojoText8: ; 0x5ce98 - TX_FAR _UnnamedText_5ce98 - db $50 -; 0x5ce98 + 5 bytes - -UnnamedText_5ce9d: ; 0x5ce9d - TX_FAR _UnnamedText_5ce9d - db $50 -; 0x5ce9d + 5 bytes - -FightingDojoText2: ; 0x5cea2 - db $08 ; asm - ld hl, FightingDojoTrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_5ceac: ; 0x5ceac - TX_FAR _UnnamedText_5ceac - db $50 -; 0x5ceac + 5 bytes - -UnnamedText_5ceb1: ; 0x5ceb1 - TX_FAR _UnnamedText_5ceb1 - db $50 -; 0x5ceb1 + 5 bytes - -UnnamedText_5ceb6: ; 0x5ceb6 - TX_FAR _UnnamedText_5ceb6 - db $50 -; 0x5ceb6 + 5 bytes - -FightingDojoText3: ; 0x5cebb - db $08 ; asm - ld hl, TrainerHeader_5ce1f - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_5cec5: ; 0x5cec5 - TX_FAR _UnnamedText_5cec5 - db $50 -; 0x5cec5 + 5 bytes - -UnnamedText_5ceca: ; 0x5ceca - TX_FAR _UnnamedText_5ceca - db $50 -; 0x5ceca + 5 bytes - -UnnamedText_5cecf: ; 0x5cecf - TX_FAR _UnnamedText_5cecf - db $50 -; 0x5cecf + 5 bytes - -FightingDojoText4: ; 0x5ced4 - db $08 ; asm - ld hl, TrainerHeader_5ce2b - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_5cede: ; 0x5cede - TX_FAR _UnnamedText_5cede - db $50 -; 0x5cede + 5 bytes - -UnnamedText_5cee3: ; 0x5cee3 - TX_FAR _UnnamedText_5cee3 - db $50 -; 0x5cee3 + 5 bytes - -UnnamedText_5cee8: ; 0x5cee8 - TX_FAR _UnnamedText_5cee8 - db $50 -; 0x5cee8 + 5 bytes - -FightingDojoText5: ; 0x5ceed - db $08 ; asm - ld hl, TrainerHeader_5ce37 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_5cef7: ; 0x5cef7 - TX_FAR _UnnamedText_5cef7 - db $50 -; 0x5cef7 + 5 bytes - -UnnamedText_5cefc: ; 0x5cefc - TX_FAR _UnnamedText_5cefc - db $50 -; 0x5cefc + 5 bytes - -UnnamedText_5cf01: ; 0x5cf01 - TX_FAR _UnnamedText_5cf01 - db $50 -; 0x5cf01 + 5 bytes - -FightingDojoText6: ; 0x5cf06 - db $08 ; asm - ld a, [$d7b1] - and $c0 - jr z, .asm_f8e28 ; 0x5cf0c - ld hl, UnnamedText_5cf96 - call PrintText - jr .asm_3a2c8 ; 0x5cf14 -.asm_f8e28 ; 0x5cf16 - ld a, $2b - call $349b - ld hl, UnnamedText_5cf49 - call PrintText - call $35ec - ld a, [$cc26] - and a - jr nz, .asm_3a2c8 ; 0x5cf28 - ld a, [$cf91] - ld b, a - ld c, 30 - call GivePokemon - jr nc, .asm_3a2c8 ; 0x5cf33 - ld a, $4a - ld [$cc4d], a - ld a, $11 - call Predef - ld hl, $d7b1 - set 6, [hl] - set 0, [hl] -.asm_3a2c8 ; 0x5cf46 - jp TextScriptEnd - -UnnamedText_5cf49: ; 0x5cf49 - TX_FAR _UnnamedText_5cf49 - db $50 -; 0x5cf49 + 5 bytes - -FightingDojoText7: ; 0x5cf4e - db $08 ; asm - ld a, [$d7b1] - and $c0 - jr z, .asm_170a9 ; 0x5cf54 - ld hl, UnnamedText_5cf96 - call PrintText - jr .asm_f1f47 ; 0x5cf5c -.asm_170a9 ; 0x5cf5e - ld a, $2c - call $349b - ld hl, UnnamedText_5cf91 - call PrintText - call $35ec - ld a, [$cc26] - and a - jr nz, .asm_f1f47 ; 0x5cf70 - ld a, [$cf91] - ld b, a - ld c,30 - call GivePokemon - jr nc, .asm_f1f47 ; 0x5cf7b - ld hl, $d7b1 - set 7, [hl] - set 0, [hl] - ld a, $4b - ld [$cc4d], a - ld a, $11 - call Predef -.asm_f1f47 ; 0x5cf8e - jp TextScriptEnd - -UnnamedText_5cf91: ; 0x5cf91 - TX_FAR _UnnamedText_5cf91 - db $50 -; 0x5cf91 + 5 bytes - -UnnamedText_5cf96: ; 0x5cf96 - TX_FAR _UnnamedText_5cf96 - db $50 -; 0x5cf96 + 5 bytes - -FightingDojoObject: ; 0x5cf9b (size=72) - db $3 ; border tile - - db $2 ; warps - db $b, $4, $1, $ff - db $b, $5, $1, $ff - - db $0 ; signs - - db $7 ; people - db SPRITE_HIKER, $3 + 4, $5 + 4, $ff, $d0, $41, BLACKBELT + $C8, $1 ; trainer - db SPRITE_HIKER, $4 + 4, $3 + 4, $ff, $d3, $42, BLACKBELT + $C8, $2 ; trainer - db SPRITE_HIKER, $6 + 4, $3 + 4, $ff, $d3, $43, BLACKBELT + $C8, $3 ; trainer - db SPRITE_HIKER, $5 + 4, $5 + 4, $ff, $d2, $44, BLACKBELT + $C8, $4 ; trainer - db SPRITE_HIKER, $7 + 4, $5 + 4, $ff, $d2, $45, BLACKBELT + $C8, $5 ; trainer - db SPRITE_BALL, $1 + 4, $4 + 4, $ff, $ff, $6 ; person - db SPRITE_BALL, $1 + 4, $5 + 4, $ff, $ff, $7 ; person - - ; warp-to - EVENT_DISP $5, $b, $4 - EVENT_DISP $5, $b, $5 - -FightingDojoBlocks: ; 0x5cfe3 30 - INCBIN "maps/fightingdojo.blk" - -SaffronGym_h: ; 0x5d001 to 0x5d00d (12 bytes) (id=178) - db $16 ; tileset - db SAFFRON_GYM_HEIGHT, SAFFRON_GYM_WIDTH ; dimensions (y, x) - dw SaffronGymBlocks, SaffronGymTexts, SaffronGymScript ; blocks, texts, scripts - db $00 ; connections - - dw SaffronGymObject ; objects - -SaffronGymScript: ; 0x5d00d - ld hl, $d126 - bit 6, [hl] - res 6, [hl] - call nz, .extra - call $3c3c - ld hl, $50c3 - ld de, $5053 - ld a, [$d65c] - call $3160 - ld [$d65c], a - ret -; 0x5d02a -.extra -INCBIN "baserom.gbc",$5d02a,$81 - -SaffronGymTexts: ; 0x5d0ab - dw SaffronGymText1, SaffronGymText2, SaffronGymText3, SaffronGymText4, SaffronGymText5, SaffronGymText6, SaffronGymText7, SaffronGymText8, SaffronGymText9, SaffronGymText10, SaffronGymText11, SaffronGymText12 - -SaffronGymTrainerHeaders: -SaffronGymTrainerHeader1: ; 0x5d0c3 - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7b3 ; flag's byte - dw UnnamedText_5d1f0 ; 0x51f0 TextBeforeBattle - dw UnnamedText_5d1fa ; 0x51fa TextAfterBattle - dw UnnamedText_5d1f5 ; 0x51f5 TextEndBattle - dw UnnamedText_5d1f5 ; 0x51f5 TextEndBattle -; 0x5d0cf - -TrainerHeader_5d0cf: ; 0x5d0cf - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7b3 ; flag's byte - dw UnnamedText_5d1ff ; 0x51ff TextBeforeBattle - dw UnnamedText_5d209 ; 0x5209 TextAfterBattle - dw UnnamedText_5d204 ; 0x5204 TextEndBattle - dw UnnamedText_5d204 ; 0x5204 TextEndBattle -; 0x5d0db - -TrainerHeader_5d0db: ; 0x5d0db - db $4 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7b3 ; flag's byte - dw UnnamedText_5d20e ; 0x520e TextBeforeBattle - dw UnnamedText_5d218 ; 0x5218 TextAfterBattle - dw UnnamedText_5d213 ; 0x5213 TextEndBattle - dw UnnamedText_5d213 ; 0x5213 TextEndBattle -; 0x5d0e7 - -TrainerHeader_5d0e7: ; 0x5d0e7 - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7b3 ; flag's byte - dw UnnamedText_5d21d ; 0x521d TextBeforeBattle - dw UnnamedText_5d227 ; 0x5227 TextAfterBattle - dw UnnamedText_5d222 ; 0x5222 TextEndBattle - dw UnnamedText_5d222 ; 0x5222 TextEndBattle -; 0x5d0f3 - -TrainerHeader_5d0f3: ; 0x5d0f3 - db $6 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7b3 ; flag's byte - dw UnnamedText_5d22c ; 0x522c TextBeforeBattle - dw UnnamedText_5d236 ; 0x5236 TextAfterBattle - dw UnnamedText_5d231 ; 0x5231 TextEndBattle - dw UnnamedText_5d231 ; 0x5231 TextEndBattle -; 0x5d0ff - -TrainerHeader_5d0ff: ; 0x5d0ff - db $7 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7b3 ; flag's byte - dw UnnamedText_5d23b ; 0x523b TextBeforeBattle - dw UnnamedText_5d245 ; 0x5245 TextAfterBattle - dw UnnamedText_5d240 ; 0x5240 TextEndBattle - dw UnnamedText_5d240 ; 0x5240 TextEndBattle -; 0x5d10b - -TrainerHeader_5d10b: ; 0x5d10b - db $8 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7b3 ; flag's byte - dw UnnamedText_5d24a ; 0x524a TextBeforeBattle - dw UnnamedText_5d254 ; 0x5254 TextAfterBattle - dw UnnamedText_5d24f ; 0x524f TextEndBattle - dw UnnamedText_5d24f ; 0x524f TextEndBattle -; 0x5d117 - -db $ff - -SaffronGymText1: ; 0x5d118 - db $08 ; asm - ld a, [$d7b3] - bit 1, a - jr z, .asm_e3544 ; 0x5d11e - bit 0, a - jr nz, .asm_8d2f6 ; 0x5d122 - call z, $5068 - call $30b6 - jr .asm_34c2c ; 0x5d12a -.asm_8d2f6 ; 0x5d12c - ld hl, UnnamedText_5d16e - call PrintText - jr .asm_34c2c ; 0x5d132 -.asm_e3544 ; 0x5d134 - ld hl, UnnamedText_5d162 - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, UnnamedText_5d167 - ld de, $5167 ; probably UnnamedText_5d167 - call $3354 - ldh a, [$8c] - ld [$cf13], a - call $336a - call $32d7 - ld a, $6 - ld [$d05c], a - ld a, $3 - ld [$d65c], a -.asm_34c2c ; 0x5d15f - jp TextScriptEnd - -UnnamedText_5d162: ; 0x5d162 - TX_FAR _UnnamedText_5d162 - db $50 -; 0x5d162 + 5 bytes - -UnnamedText_5d167: ; 0x5d167 - TX_FAR _UnnamedText_5d167 ; 0xa1c73 - db $11 ; play same sound as red giving oak parcel - db $6 ; wait for keypress - db $50 -; 0x5d16e - -UnnamedText_5d16e: ; 0x5d16e - TX_FAR _UnnamedText_5d16e - db $50 -; 0x5d16e + 5 bytes - -SaffronGymText10: ; 0x5d173 - TX_FAR _UnnamedText_5d173 - db $50 -; 0x5d173 + 5 bytes - -SaffronGymText11: ; 0x5d178 - TX_FAR ReceivedTM46Text - db $b - TX_FAR _UnnamedText_5d17d - db $50 - -SaffronGymText12: ; 0x5d182 - TX_FAR _UnnamedText_5d182 ; pack full - db $50 -; 0x5d182 + 5 bytes - -SaffronGymText2: ; 0x5d187 - db $08 ; asm - ld hl, SaffronGymTrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -SaffronGymText3: ; 0x5d191 - db $08 ; asm - ld hl, TrainerHeader_5d0cf - call LoadTrainerHeader - jp TextScriptEnd - -SaffronGymText4: ; 0x5d19b - db $08 ; asm - ld hl, TrainerHeader_5d0db - call LoadTrainerHeader - jp TextScriptEnd - -SaffronGymText5: ; 0x5d1a5 - db $08 ; asm - ld hl, TrainerHeader_5d0e7 - call LoadTrainerHeader - jp TextScriptEnd - -SaffronGymText6: ; 0x5d1af - db $08 ; asm - ld hl, TrainerHeader_5d0f3 - call LoadTrainerHeader - jp TextScriptEnd - -SaffronGymText7: ; 0x5d1b9 - db $08 ; asm - ld hl, TrainerHeader_5d0ff - call LoadTrainerHeader - jp TextScriptEnd - -SaffronGymText8: ; 0x5d1c3 - db $08 ; asm - ld hl, TrainerHeader_5d10b - call LoadTrainerHeader - jp TextScriptEnd - -SaffronGymText9: ; 0x5d1cd - db $08 ; asm - ld a, [$d7b3] - bit 1, a - jr nz, .asm_13f3c ; 0x5d1d3 - ld hl, UnnamedText_5d1e6 - call PrintText - jr .asm_e9907 ; 0x5d1db -.asm_13f3c ; 0x5d1dd - ld hl, UnnamedText_5d1eb - call PrintText -.asm_e9907 ; 0x5d1e3 - jp TextScriptEnd - -UnnamedText_5d1e6: ; 0x5d1e6 - TX_FAR _UnnamedText_5d1e6 - db $50 -; 0x5d1e6 + 5 bytes - -UnnamedText_5d1eb: ; 0x5d1eb - TX_FAR _UnnamedText_5d1eb - db $50 -; 0x5d1eb + 5 bytes - -UnnamedText_5d1f0: ; 0x5d1f0 - TX_FAR _UnnamedText_5d1f0 - db $50 -; 0x5d1f0 + 5 bytes - -UnnamedText_5d1f5: ; 0x5d1f5 - TX_FAR _UnnamedText_5d1f5 - db $50 -; 0x5d1f5 + 5 bytes - -UnnamedText_5d1fa: ; 0x5d1fa - TX_FAR _UnnamedText_5d1fa - db $50 -; 0x5d1fa + 5 bytes - -UnnamedText_5d1ff: ; 0x5d1ff - TX_FAR _UnnamedText_5d1ff - db $50 -; 0x5d1ff + 5 bytes - -UnnamedText_5d204: ; 0x5d204 - TX_FAR _UnnamedText_5d204 - db $50 -; 0x5d204 + 5 bytes - -UnnamedText_5d209: ; 0x5d209 - TX_FAR _UnnamedText_5d209 - db $50 -; 0x5d209 + 5 bytes - -UnnamedText_5d20e: ; 0x5d20e - TX_FAR _UnnamedText_5d20e - db $50 -; 0x5d20e + 5 bytes - -UnnamedText_5d213: ; 0x5d213 - TX_FAR _UnnamedText_5d213 - db $50 -; 0x5d213 + 5 bytes - -UnnamedText_5d218: ; 0x5d218 - TX_FAR _UnnamedText_5d218 - db $50 -; 0x5d218 + 5 bytes - -UnnamedText_5d21d: ; 0x5d21d - TX_FAR _UnnamedText_5d21d - db $50 -; 0x5d21d + 5 bytes - -UnnamedText_5d222: ; 0x5d222 - TX_FAR _UnnamedText_5d222 - db $50 -; 0x5d222 + 5 bytes - -UnnamedText_5d227: ; 0x5d227 - TX_FAR _UnnamedText_5d227 - db $50 -; 0x5d227 + 5 bytes - -UnnamedText_5d22c: ; 0x5d22c - TX_FAR _UnnamedText_5d22c - db $50 -; 0x5d22c + 5 bytes - -UnnamedText_5d231: ; 0x5d231 - TX_FAR _UnnamedText_5d231 - db $50 -; 0x5d231 + 5 bytes - -UnnamedText_5d236: ; 0x5d236 - TX_FAR _UnnamedText_5d236 - db $50 -; 0x5d236 + 5 bytes - -UnnamedText_5d23b: ; 0x5d23b - TX_FAR _UnnamedText_5d23b - db $50 -; 0x5d23b + 5 bytes - -UnnamedText_5d240: ; 0x5d240 - TX_FAR _UnnamedText_5d240 - db $50 -; 0x5d240 + 5 bytes - -UnnamedText_5d245: ; 0x5d245 - TX_FAR _UnnamedText_5d245 - db $50 -; 0x5d245 + 5 bytes - -UnnamedText_5d24a: ; 0x5d24a - TX_FAR _UnnamedText_5d24a - db $50 -; 0x5d24a + 5 bytes - -UnnamedText_5d24f: ; 0x5d24f - TX_FAR _UnnamedText_5d24f - db $50 -; 0x5d24f + 5 bytes - -UnnamedText_5d254: ; 0x5d254 - TX_FAR _UnnamedText_5d254 - db $50 -; 0x5d254 + 5 bytes - -SaffronGymObject: ; 0x5d259 (size=330) - db $2e ; border tile - - db $20 ; warps - db $11, $8, $2, $ff - db $11, $9, $2, $ff - db $3, $1, $16, SAFFRON_GYM - db $3, $5, $f, SAFFRON_GYM - db $5, $1, $12, SAFFRON_GYM - db $5, $5, $8, SAFFRON_GYM - db $9, $1, $1b, SAFFRON_GYM - db $9, $5, $10, SAFFRON_GYM - db $b, $1, $5, SAFFRON_GYM - db $b, $5, $d, SAFFRON_GYM - db $f, $1, $17, SAFFRON_GYM - db $f, $5, $1e, SAFFRON_GYM - db $11, $1, $11, SAFFRON_GYM - db $11, $5, $9, SAFFRON_GYM - db $3, $9, $1a, SAFFRON_GYM - db $3, $b, $3, SAFFRON_GYM - db $5, $9, $7, SAFFRON_GYM - db $5, $b, $c, SAFFRON_GYM - db $b, $b, $4, SAFFRON_GYM - db $f, $b, $1f, SAFFRON_GYM - db $3, $f, $18, SAFFRON_GYM - db $3, $13, $1c, SAFFRON_GYM - db $5, $f, $2, SAFFRON_GYM - db $5, $13, $a, SAFFRON_GYM - db $9, $f, $14, SAFFRON_GYM - db $9, $13, $1d, SAFFRON_GYM - db $b, $f, $e, SAFFRON_GYM - db $b, $13, $6, SAFFRON_GYM - db $f, $f, $15, SAFFRON_GYM - db $f, $13, $19, SAFFRON_GYM - db $11, $f, $b, SAFFRON_GYM - db $11, $13, $13, SAFFRON_GYM - - db $0 ; signs - - db $9 ; people - db SPRITE_GIRL, $8 + 4, $9 + 4, $ff, $d0, $41, SABRINA + $C8, $1 ; trainer - db SPRITE_MEDIUM, $1 + 4, $a + 4, $ff, $d0, $42, CHANNELER + $C8, $16 ; trainer - db SPRITE_BUG_CATCHER, $1 + 4, $11 + 4, $ff, $d0, $43, PSYCHIC_TR + $C8, $1 ; trainer - db SPRITE_MEDIUM, $7 + 4, $3 + 4, $ff, $d0, $44, CHANNELER + $C8, $17 ; trainer - db SPRITE_BUG_CATCHER, $7 + 4, $11 + 4, $ff, $d0, $45, PSYCHIC_TR + $C8, $2 ; trainer - db SPRITE_MEDIUM, $d + 4, $3 + 4, $ff, $d0, $46, CHANNELER + $C8, $18 ; trainer - db SPRITE_BUG_CATCHER, $d + 4, $11 + 4, $ff, $d0, $47, PSYCHIC_TR + $C8, $3 ; trainer - db SPRITE_BUG_CATCHER, $1 + 4, $3 + 4, $ff, $d0, $48, PSYCHIC_TR + $C8, $4 ; trainer - db SPRITE_GYM_HELPER, $f + 4, $a + 4, $ff, $d0, $9 ; person - - ; warp-to - EVENT_DISP $a, $11, $8 - EVENT_DISP $a, $11, $9 - EVENT_DISP $a, $3, $1 ; SAFFRON_GYM - EVENT_DISP $a, $3, $5 ; SAFFRON_GYM - EVENT_DISP $a, $5, $1 ; SAFFRON_GYM - EVENT_DISP $a, $5, $5 ; SAFFRON_GYM - EVENT_DISP $a, $9, $1 ; SAFFRON_GYM - EVENT_DISP $a, $9, $5 ; SAFFRON_GYM - EVENT_DISP $a, $b, $1 ; SAFFRON_GYM - EVENT_DISP $a, $b, $5 ; SAFFRON_GYM - EVENT_DISP $a, $f, $1 ; SAFFRON_GYM - EVENT_DISP $a, $f, $5 ; SAFFRON_GYM - EVENT_DISP $a, $11, $1 ; SAFFRON_GYM - EVENT_DISP $a, $11, $5 ; SAFFRON_GYM - EVENT_DISP $a, $3, $9 ; SAFFRON_GYM - EVENT_DISP $a, $3, $b ; SAFFRON_GYM - EVENT_DISP $a, $5, $9 ; SAFFRON_GYM - EVENT_DISP $a, $5, $b ; SAFFRON_GYM - EVENT_DISP $a, $b, $b ; SAFFRON_GYM - EVENT_DISP $a, $f, $b ; SAFFRON_GYM - EVENT_DISP $a, $3, $f ; SAFFRON_GYM - EVENT_DISP $a, $3, $13 ; SAFFRON_GYM - EVENT_DISP $a, $5, $f ; SAFFRON_GYM - EVENT_DISP $a, $5, $13 ; SAFFRON_GYM - EVENT_DISP $a, $9, $f ; SAFFRON_GYM - EVENT_DISP $a, $9, $13 ; SAFFRON_GYM - EVENT_DISP $a, $b, $f ; SAFFRON_GYM - EVENT_DISP $a, $b, $13 ; SAFFRON_GYM - EVENT_DISP $a, $f, $f ; SAFFRON_GYM - EVENT_DISP $a, $f, $13 ; SAFFRON_GYM - EVENT_DISP $a, $11, $f ; SAFFRON_GYM - EVENT_DISP $a, $11, $13 ; SAFFRON_GYM - -SaffronGymBlocks: ; 0x5d3a3 90 - INCBIN "maps/saffrongym.blk" - -SaffronMart_h: ; 0x5d3fd to 0x5d409 (12 bytes) (id=180) - db $02 ; tileset - db SAFFRON_MART_HEIGHT, SAFFRON_MART_WIDTH ; dimensions (y, x) - dw SaffronMartBlocks, SaffronMartTexts, SaffronMartScript ; blocks, texts, scripts - db $00 ; connections - - dw SaffronMartObject ; objects - -SaffronMartScript: ; 0x5d409 - jp $3c3c -; 0x5d40c - -SaffronMartTexts: ; 0x5d40c - dw SaffronMartText1, SaffronMartText2, SaffronMartText3 - -SaffronMartText2: ; 0x5d412 - TX_FAR _SaffronMartText2 - db $50 - -SaffronMartText3: ; 0x5d417 - TX_FAR _SaffronMartText3 - db $50 - -SaffronMartObject: ; 0x5d41c (size=38) - db $0 ; border tile - - db $2 ; warps - db $7, $3, $4, $ff - db $7, $4, $4, $ff - - db $0 ; signs - - db $3 ; people - db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person - db SPRITE_BLACK_HAIR_BOY_2, $2 + 4, $4 + 4, $ff, $ff, $2 ; person - db SPRITE_LASS, $5 + 4, $6 + 4, $fe, $0, $3 ; person - - ; warp-to - EVENT_DISP $4, $7, $3 - EVENT_DISP $4, $7, $4 - -SilphCo1_h: ; 0x5d442 to 0x5d44e (12 bytes) (id=181) - db $16 ; tileset - db SILPH_CO_1F_HEIGHT, SILPH_CO_1F_WIDTH ; dimensions (y, x) - dw SilphCo1Blocks, SilphCo1Texts, SilphCo1Script ; blocks, texts, scripts - db $00 ; connections - - dw SilphCo1Object ; objects - -SilphCo1Script: ; 0x5d44e - call $3c3c - ld a, [$d838] - bit 7, a - ret z - ld hl, $d7b9 - bit 7, [hl] - set 7, [hl] - ret nz - ld a, $4c - ld [$cc4d], a - ld a, $15 - jp $3e6d -; 0x5d469 - -SilphCo1Texts: ; 0x5d469 - dw SilphCo1Text1 - -SilphCo1Text1: ; 0x5d46b - TX_FAR _SilphCo1Text1 - db $50 - -SilphCo1Object: ; 0x5d470 (size=50) - db $2e ; border tile - - db $5 ; warps - db $11, $a, $5, $ff - db $11, $b, $5, $ff - db $0, $1a, $0, SILPH_CO_2F - db $0, $14, $0, SILPH_CO_ELEVATOR - db $a, $10, $6, SILPH_CO_3F - - db $0 ; signs - - db $1 ; people - db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $4 + 4, $ff, $d0, $1 ; person - - ; warp-to - EVENT_DISP $f, $11, $a - EVENT_DISP $f, $11, $b - EVENT_DISP $f, $0, $1a ; SILPH_CO_2F - EVENT_DISP $f, $0, $14 ; SILPH_CO_ELEVATOR - EVENT_DISP $f, $a, $10 ; SILPH_CO_3F - -SilphCo1Blocks: ; 0x5d4a2 135 - INCBIN "maps/silphco1.blk" - -SaffronPokecenter_h: ; 0x5d529 to 0x5d535 (12 bytes) (id=182) - db $06 ; tileset - db SAFFRON_POKECENTER_HEIGHT, SAFFRON_POKECENTER_WIDTH ; dimensions (y, x) - dw SaffronPokecenterBlocks, SaffronPokecenterTexts, SaffronPokecenterScript ; blocks, texts, scripts - db $00 ; connections - - dw SaffronPokecenterObject ; objects - -SaffronPokecenterScript: ; 0x5d535 - call $22fa - jp $3c3c -; 0x5d53b - -SaffronPokecenterTexts: - dw SaffronPokecenterText1, SaffronPokecenterText2, SaffronPokecenterText3, SaffronPokecenterText4 - -SaffronPokecenterText1: ; 0x5d542 - db $ff - -SaffronPokecenterText2: ; 0x5d543 - TX_FAR _SaffronPokecenterText1 - db $50 - -SaffronPokecenterText3: ; 0x5d549 - TX_FAR _SaffronPokecenterText3 - db $50 - -SaffronPokecenterText4: - db $f6 - -SaffronPokecenterObject: ; 0x5d54f (size=44) - db $0 ; border tile - - db $2 ; warps - db $7, $3, $6, $ff - db $7, $4, $6, $ff - - db $0 ; signs - - db $4 ; people - db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person - db SPRITE_FOULARD_WOMAN, $5 + 4, $5 + 4, $ff, $ff, $2 ; person - db SPRITE_GENTLEMAN, $3 + 4, $8 + 4, $ff, $d0, $3 ; person - db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person - - ; warp-to - EVENT_DISP $7, $7, $3 - EVENT_DISP $7, $7, $4 - -ViridianForestexit_h: ; 0x5d57b to 0x5d587 (12 bytes) (id=47) - db $09 ; tileset - db VIRIDIAN_FOREST_EXIT_HEIGHT, VIRIDIAN_FOREST_EXIT_WIDTH ; dimensions (y, x) - dw ViridianForestexitBlocks, ViridianForestexitTexts, ViridianForestexitScript ; blocks, texts, scripts - db $00 ; connections - - dw ViridianForestexitObject ; objects - -ViridianForestexitScript: ; 0x5d587 - jp $3c3c -; 0x5d58a - -ViridianForestexitTexts: ; 0x5d58a - dw ViridianForestexitText1, ViridianForestexitText2 - -ViridianForestexitText1: ; 0x5d58e - TX_FAR _ViridianForestexitText1 - db $50 - -ViridianForestexitText2: ; 0x5d593 - TX_FAR _ViridianForestexitText2 - db $50 - -ViridianForestexitObject: ; 0x5d598 (size=48) - db $a ; border tile - - db $4 ; warps - db $0, $4, $1, $ff - db $0, $5, $1, $ff - db $7, $4, $0, VIRIDIAN_FOREST - db $7, $5, $0, VIRIDIAN_FOREST - - db $0 ; signs - - db $2 ; people - db SPRITE_BLACK_HAIR_BOY_2, $2 + 4, $3 + 4, $ff, $ff, $1 ; person - db SPRITE_OLD_PERSON, $5 + 4, $2 + 4, $ff, $ff, $2 ; person - - ; warp-to - EVENT_DISP $5, $0, $4 - EVENT_DISP $5, $0, $5 - EVENT_DISP $5, $7, $4 ; VIRIDIAN_FOREST - EVENT_DISP $5, $7, $5 ; VIRIDIAN_FOREST - -Route2Gate_h: ; 0x5d5c8 to 0x5d5d4 (12 bytes) (id=49) - db $0c ; tileset - db ROUTE_2_GATE_HEIGHT, ROUTE_2_GATE_WIDTH ; dimensions (y, x) - dw Route2GateBlocks, Route2GateTexts, Route2GateScript ; blocks, texts, scripts - db $00 ; connections - - dw Route2GateObject ; objects - -Route2GateScript: ; 0x5d5d4 - jp $3c3c -; 0x5d5d7 - -Route2GateTexts: ; 0x5d5d7 - dw Route2GateText1, Route2GateText2 - -Route2GateText1: ; 0x5d5db - db $08 ; asm - ld a, [$d7c2] - bit 0, a - jr nz, .asm_6592c ; 0x5d5e1 - ld a, $a - ldh [$db], a - ld a, $c8 - ldh [$dc], a - ld [$d11e], a - call GetItemName ; $2fcf - ld hl, $cd6d - ld de, $cc5b - ld bc, $000d - call CopyData - ld a, $62 - call Predef - ldh a, [$db] - cp $1 - jr nz, .asm_ad646 ; 0x5d606 - ld hl, $d7c2 - set 0, [hl] -.asm_6592c ; 0x5d60d - ld hl, UnnamedText_5d616 - call PrintText -.asm_ad646 ; 0x5d613 - jp TextScriptEnd - -UnnamedText_5d616: ; 0x5d616 - TX_FAR _UnnamedText_5d616 - db $50 -; 0x5d616 + 5 bytes - -Route2GateText2: ; 0x5d61b - TX_FAR _Route2GateText2 - db $50 - -Route2GateObject: ; 0x5d620 (size=48) - db $a ; border tile - - db $4 ; warps - db $0, $4, $3, $ff - db $0, $5, $3, $ff - db $7, $4, $4, $ff - db $7, $5, $4, $ff - - db $0 ; signs - - db $2 ; people - db SPRITE_OAK_AIDE, $4 + 4, $1 + 4, $ff, $d2, $1 ; person - db SPRITE_BUG_CATCHER, $4 + 4, $5 + 4, $fe, $2, $2 ; person - - ; warp-to - EVENT_DISP $5, $0, $4 - EVENT_DISP $5, $0, $5 - EVENT_DISP $5, $7, $4 - EVENT_DISP $5, $7, $5 - -ViridianForestEntrance_h: ; 0x5d650 to 0x5d65c (12 bytes) (id=50) - db $09 ; tileset - db VIRIDIAN_FOREST_ENTRANCE_HEIGHT, VIRIDIAN_FOREST_ENTRANCE_WIDTH ; dimensions (y, x) - dw ViridianForestEntranceBlocks, ViridianForestEntranceTexts, ViridianForestEntranceScript ; blocks, texts, scripts - db $00 ; connections - - dw ViridianForestEntranceObject ; objects - -ViridianForestEntranceScript: ; 0x5d65c - jp $3c3c -; 0x5d65f - -ViridianForestEntranceTexts: ; 0x5d65f - dw ViridianForestEntranceText1, ViridianForestEntranceText2 - -ViridianForestEntranceText1: ; 0x5d663 - TX_FAR _ViridianForestEntranceText1 - db $50 - -ViridianForestEntranceText2: ; 0x5d668 - TX_FAR _ViridianForestEntranceText2 - db $50 - -ViridianForestEntranceObject: ; 0x5d66d (size=48) - db $a ; border tile - - db $4 ; warps - db $0, $4, $3, VIRIDIAN_FOREST - db $0, $5, $4, VIRIDIAN_FOREST - db $7, $4, $5, $ff - db $7, $5, $5, $ff - - db $0 ; signs - - db $2 ; people - db SPRITE_GIRL, $4 + 4, $8 + 4, $ff, $d2, $1 ; person - db SPRITE_LITTLE_GIRL, $4 + 4, $2 + 4, $fe, $1, $2 ; person - - ; warp-to - EVENT_DISP $5, $0, $4 ; VIRIDIAN_FOREST - EVENT_DISP $5, $0, $5 ; VIRIDIAN_FOREST - EVENT_DISP $5, $7, $4 - EVENT_DISP $5, $7, $5 - -UndergroundTunnelEntranceRoute5_h: ; 0x5d69d to 0x5d6a9 (12 bytes) (id=71) - db $0c ; tileset - db PATH_ENTRANCE_ROUTE_5_HEIGHT, PATH_ENTRANCE_ROUTE_5_WIDTH ; dimensions (y, x) - dw UndergroundTunnelEntranceRoute5Blocks, UndergroundTunnelEntranceRoute5Texts, UndergroundTunnelEntranceRoute5Script ; blocks, texts, scripts - db $00 ; connections - - dw UndergroundTunnelEntranceRoute5Object ; objects - -UndergroundTunnelEntranceRoute5Script: ; 0x5d6a9 - ld a, $10 - ld [$d365], a - ret -; 0x5d6af - -UndergroundTunnelEntranceRoute5_5d6af: ; 0x5d6af - db $50 - -UndergroundTunnelEntranceRoute5Texts: ; 0x5d6b0 - dw UndergroundTunnelEntranceRoute5Text1 - -UndergroundTunnelEntranceRoute5Text1: ; 0x5d6b2 - db $08 ; asm - ld a, $9 - ld [W_WHICHTRADE], a - ld a, $54 - call Predef - ld hl, UndergroundTunnelEntranceRoute5_5d6af - ret - -UndergroundTunnelEntranceRoute5Object: ; 0x5d6c1 (size=34) - db $a ; border tile - - db $3 ; warps - db $7, $3, $3, $ff - db $7, $4, $3, $ff - db $4, $4, $0, UNDERGROUND_PATH_NS - - db $0 ; signs - - db $1 ; people - db SPRITE_LITTLE_GIRL, $3 + 4, $2 + 4, $ff, $ff, $1 ; person - - ; warp-to - EVENT_DISP $4, $7, $3 - EVENT_DISP $4, $7, $4 - EVENT_DISP $4, $4, $4 ; UNDERGROUND_PATH_NS - -UndergroundTunnelEntranceRoute6_h: ; 0x5d6e3 to 0x5d6ef (12 bytes) (id=74) - db $0c ; tileset - db PATH_ENTRANCE_ROUTE_6_HEIGHT, PATH_ENTRANCE_ROUTE_6_WIDTH ; dimensions (y, x) - dw UndergroundTunnelEntranceRoute6Blocks, UndergroundTunnelEntranceRoute6Texts, UndergroundTunnelEntranceRoute6Script ; blocks, texts, scripts - db $00 ; connections - - dw UndergroundTunnelEntranceRoute6Object ; objects - -UndergroundTunnelEntranceRoute6Script: ; 0x5d6ef - ld a, $11 - ld [$d365], a - jp $3c3c -; 0x5d6f7 - -UndergroundTunnelEntranceRoute6Texts: ; 0x5d6f7 - dw UndergroundTunnelEntranceRoute6Text1 - -;XXX wtf? syntax error on TX_FAR? -UndergroundTunnelEntranceRoute6Text1: ; 0x5d6f9 - db $17, $cb, $40, $23 - ;TX_FAR _UndergroundTunnelEntranceRoute6Text1 ; $cb, $40, $23 - db $50 - -UndergroundTunnelEntranceRoute6Object: ; 0x5d6fe (size=34) - db $a ; border tile - - db $3 ; warps - db $7, $3, $3, $ff - db $7, $4, $3, $ff - db $4, $4, $1, UNDERGROUND_PATH_NS - - db $0 ; signs - - db $1 ; people - db SPRITE_GIRL, $3 + 4, $2 + 4, $ff, $ff, $1 ; person - - ; warp-to - EVENT_DISP $4, $7, $3 - EVENT_DISP $4, $7, $4 - EVENT_DISP $4, $4, $4 ; UNDERGROUND_PATH_NS - -UndergroundPathEntranceRoute7_h: ; 0x5d720 to 0x5d72c (12 bytes) (id=77) - db $0c ; tileset - db PATH_ENTRANCE_ROUTE_7_HEIGHT, PATH_ENTRANCE_ROUTE_7_WIDTH ; dimensions (y, x) - dw UndergroundTunnelEntranceRoute7Blocks, UndergroundPathEntranceRoute7Texts, UndergroundPathEntranceRoute7Script ; blocks, texts, scripts - db $00 ; connections - - dw UndergroundPathEntranceRoute7Object ; objects - -UndergroundPathEntranceRoute7Script: ; 0x5d72c - ld a, $12 - ld [$d365], a - jp $3c3c -; 0x5d734 - -UndergroundPathEntranceRoute7Texts: ; 0x5d734 - dw UndergroundPathEntranceRoute7Text1 - -UndergroundPathEntranceRoute7Text1: ; 0x5d736 - db $17, $ff, $40, $23 - ;TX_FAR _UndergroundPathEntranceRoute7Text1 - db $50 - -UndergroundPathEntranceRoute7Object: ; 0x5d73b (size=34) - db $a ; border tile - - db $3 ; warps - db $7, $3, $4, $ff - db $7, $4, $4, $ff - db $4, $4, $0, UNDERGROUND_PATH_WE - - db $0 ; signs - - db $1 ; people - db SPRITE_FAT_BALD_GUY, $4 + 4, $2 + 4, $ff, $ff, $1 ; person - - ; warp-to - EVENT_DISP $4, $7, $3 - EVENT_DISP $4, $7, $4 - EVENT_DISP $4, $4, $4 ; UNDERGROUND_PATH_WE - -INCBIN "baserom.gbc",$5d75d,$5d773 - $5d75d - -UnnamedText_5d773: ; 0x5d773 - TX_FAR _UnnamedText_5d773 - db $50 -; 0x5d773 + 5 bytes - -UnnamedText_5d778: ; 0x5d778 - TX_FAR _UnnamedText_5d778 - db $50 -; 0x5d778 + 5 bytes - -UnnamedText_5d77d: ; 0x5d77d - TX_FAR _UnnamedText_5d77d - db $50 -; 0x5d77d + 5 bytes - -UnnamedText_5d782: ; 0x5d782 - TX_FAR _UnnamedText_5d782 - db $50 -; 0x5d782 + 5 bytes - -INCBIN "baserom.gbc",$5d787,$28 - -SilphCo9_h: ; 0x5d7af to 0x5d7bb (12 bytes) (id=233) - db $16 ; tileset - db SILPH_CO_9F_HEIGHT, SILPH_CO_9F_WIDTH ; dimensions (y, x) - dw SilphCo9Blocks, SilphCo9Texts, SilphCo9Script ; blocks, texts, scripts - db $00 ; connections - - dw SilphCo9Object ; objects - -SilphCo9Script: ; 0x5d7bb - call SilphCo9Script_Unknown5d7d1 - call $3c3c - ld hl, SilphCo9TrainerHeaders - ld de, $5885 - ld a, [$d64a] - call $3160 - ld [$d64a], a - ret -; 0x5d7d1 - -SilphCo9Script_Unknown5d7d1: ; 0x5d7d1 -INCBIN "baserom.gbc",$5d7d1,$ba - -SilphCo9Texts: ; 0x5d88b - dw SilphCo9Text1, SilphCo9Text2, SilphCo9Text3, SilphCo9Text4 - -SilphCo9TrainerHeaders: -SilphCo9TrainerHeader1: ; 0x5d893 - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d833 ; flag's byte - dw UnnamedText_5d912 ; 0x5912 TextBeforeBattle - dw UnnamedText_5d91c ; 0x591c TextAfterBattle - dw UnnamedText_5d917 ; 0x5917 TextEndBattle - dw UnnamedText_5d917 ; 0x5917 TextEndBattle -; 0x5d89f - -TrainerHeader_5d89f: ; 0x5d89f - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d833 ; flag's byte - dw UnnamedText_5d921 ; 0x5921 TextBeforeBattle - dw UnnamedText_5d92b ; 0x592b TextAfterBattle - dw UnnamedText_5d926 ; 0x5926 TextEndBattle - dw UnnamedText_5d926 ; 0x5926 TextEndBattle -; 0x5d8ab - -TrainerHeader_5d8ab: ; 0x5d8ab - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d833 ; flag's byte - dw UnnamedText_5d930 ; 0x5930 TextBeforeBattle - dw UnnamedText_5d93a ; 0x593a TextAfterBattle - dw UnnamedText_5d935 ; 0x5935 TextEndBattle - dw UnnamedText_5d935 ; 0x5935 TextEndBattle -; 0x5d8b7 - -db $ff - -SilphCo9Text1: ; 0x5d8b8 - db $08 ; asm - ld a, [$d838] - bit 7, a - jr nz, .asm_a14c3 ; 0x5d8be - ld hl, UnnamedText_5d8e5 - call PrintText - ld a, $7 - call Predef - call $20d8 - call Delay3 - call $20f6 - ld hl, UnnamedText_5d8ea - call PrintText - jr .asm_b6e28 ; 0x5d8da -.asm_a14c3 ; 0x5d8dc - ld hl, UnnamedText_5d8ef - call PrintText -.asm_b6e28 ; 0x5d8e2 - jp TextScriptEnd - -UnnamedText_5d8e5: ; 0x5d8e5 - TX_FAR _UnnamedText_5d8e5 - db $50 -; 0x5d8e5 + 5 bytes - -UnnamedText_5d8ea: ; 0x5d8ea - TX_FAR _UnnamedText_5d8ea - db $50 -; 0x5d8ea + 5 bytes - -UnnamedText_5d8ef: ; 0x5d8ef - TX_FAR _UnnamedText_5d8ef - db $50 -; 0x5d8ef + 5 bytes - -SilphCo9Text2: ; 0x5d8f4 - db $08 ; asm - ld hl, SilphCo9TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -SilphCo9Text3: ; 0x5d8fe - db $08 ; asm - ld hl, TrainerHeader_5d89f - call LoadTrainerHeader - jp TextScriptEnd - -SilphCo9Text4: ; 0x5d908 - db $08 ; asm - ld hl, TrainerHeader_5d8ab - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_5d912: ; 0x5d912 - TX_FAR _UnnamedText_5d912 - db $50 -; 0x5d912 + 5 bytes - -UnnamedText_5d917: ; 0x5d917 - TX_FAR _UnnamedText_5d917 - db $50 -; 0x5d917 + 5 bytes - -UnnamedText_5d91c: ; 0x5d91c - TX_FAR _UnnamedText_5d91c - db $50 -; 0x5d91c + 5 bytes - -UnnamedText_5d921: ; 0x5d921 - TX_FAR _UnnamedText_5d921 - db $50 -; 0x5d921 + 5 bytes - -UnnamedText_5d926: ; 0x5d926 - TX_FAR _UnnamedText_5d926 - db $50 -; 0x5d926 + 5 bytes - -UnnamedText_5d92b: ; 0x5d92b - TX_FAR _UnnamedText_5d92b - db $50 -; 0x5d92b + 5 bytes - -UnnamedText_5d930: ; 0x5d930 - TX_FAR _UnnamedText_5d930 - db $50 -; 0x5d930 + 5 bytes - -UnnamedText_5d935: ; 0x5d935 - TX_FAR _UnnamedText_5d935 - db $50 -; 0x5d935 + 5 bytes - -UnnamedText_5d93a: ; 0x5d93a - TX_FAR _UnnamedText_5d93a - db $50 -; 0x5d93a + 5 bytes - -SilphCo9Object: ; 0x5d93f (size=74) - db $2e ; border tile - - db $5 ; warps - db $0, $e, $0, SILPH_CO_10F - db $0, $10, $0, SILPH_CO_8F - db $0, $12, $0, SILPH_CO_ELEVATOR - db $3, $9, $7, SILPH_CO_3F - db $f, $11, $4, SILPH_CO_5F - - db $0 ; signs - - db $4 ; people - db SPRITE_NURSE, $e + 4, $3 + 4, $ff, $d0, $1 ; person - db SPRITE_ROCKET, $4 + 4, $2 + 4, $ff, $d1, $42, ROCKET + $C8, $25 ; trainer - db SPRITE_OAK_AIDE, $d + 4, $15 + 4, $ff, $d0, $43, SCIENTIST + $C8, $a ; trainer - db SPRITE_ROCKET, $10 + 4, $d + 4, $ff, $d1, $44, ROCKET + $C8, $26 ; trainer - - ; warp-to - EVENT_DISP $d, $0, $e ; SILPH_CO_10F - EVENT_DISP $d, $0, $10 ; SILPH_CO_8F - EVENT_DISP $d, $0, $12 ; SILPH_CO_ELEVATOR - EVENT_DISP $d, $3, $9 ; SILPH_CO_3F - EVENT_DISP $d, $f, $11 ; SILPH_CO_5F - -SilphCo9Blocks: ; 0x5d989 117 - INCBIN "maps/silphco9.blk" - -VictoryRoad1_h: ; 0x5d9fe to 0x5da0a (12 bytes) (id=108) - db $11 ; tileset - db VICTORY_ROAD_1_HEIGHT, VICTORY_ROAD_1_WIDTH ; dimensions (y, x) - dw VictoryRoad1Blocks, VictoryRoad1Texts, VictoryRoad1Script ; blocks, texts, scripts - db $00 ; connections - - dw VictoryRoad1Object ; objects - -VictoryRoad1Script: ; 0x5da0a - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - call nz, .next - call $3c3c - ld hl, VictoryRoad1TrainerHeaders - ld de, $5a3a - ld a, [$d651] - call $3160 - ld [$d651], a - ret -; 0x5da27 -.next -INCBIN "baserom.gbc",$5da27,$38 - -VictoryRoad1Texts: ; 0x5da5f - dw VictoryRoad1Text1, VictoryRoad1Text2, VictoryRoad1Text3, VictoryRoad1Text4, VictoryRoad1Text5, VictoryRoad1Text6, VictoryRoad1Text7 - -VictoryRoad1TrainerHeaders -VictoryRoad1TrainerHeader1: ; 0x5da6d - db $1 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d869 ; flag's byte - dw UnnamedText_5da9a ; 0x5a9a TextBeforeBattle - dw UnnamedText_5daa4 ; 0x5aa4 TextAfterBattle - dw UnnamedText_5da9f ; 0x5a9f TextEndBattle - dw UnnamedText_5da9f ; 0x5a9f TextEndBattle -; 0x5da79 - -TrainerHeader_5da79: ; 0x5da79 - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d869 ; flag's byte - dw UnnamedText_5daa9 ; 0x5aa9 TextBeforeBattle - dw UnnamedText_5dab3 ; 0x5ab3 TextAfterBattle - dw UnnamedText_5daae ; 0x5aae TextEndBattle - dw UnnamedText_5daae ; 0x5aae TextEndBattle -; 0x5da85 - -db $ff - -VictoryRoad1Text1: ; 0x5da86 - db $08 ; asm - ld hl, VictoryRoad1TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -VictoryRoad1Text2: ; 0x5da90 - db $08 ; asm - ld hl, TrainerHeader_5da79 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_5da9a: ; 0x5da9a - TX_FAR _UnnamedText_5da9a - db $50 -; 0x5da9a + 5 bytes - -UnnamedText_5da9f: ; 0x5da9f - TX_FAR _UnnamedText_5da9f - db $50 -; 0x5da9f + 5 bytes - -UnnamedText_5daa4: ; 0x5daa4 - TX_FAR _UnnamedText_5daa4 - db $50 -; 0x5daa4 + 5 bytes - -UnnamedText_5daa9: ; 0x5daa9 - TX_FAR _UnnamedText_5daa9 - db $50 -; 0x5daa9 + 5 bytes - -UnnamedText_5daae: ; 0x5daae - TX_FAR _UnnamedText_5daae - db $50 -; 0x5daae + 5 bytes - -UnnamedText_5dab3: ; 0x5dab3 - TX_FAR _UnnamedText_5dab3 - db $50 -; 0x5dab3 + 5 bytes - -VictoryRoad1Object: ; 0x5dab8 (size=76) - db $7d ; border tile - - db $3 ; warps - db $11, $8, $2, $ff - db $11, $9, $2, $ff - db $1, $1, $0, VICTORY_ROAD_2 - - db $0 ; signs - - db $7 ; people - db SPRITE_LASS, $5 + 4, $7 + 4, $ff, $d3, $41, COOLTRAINER_F + $C8, $5 ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $2 + 4, $3 + 4, $ff, $d0, $42, COOLTRAINER_M + $C8, $5 ; trainer - db SPRITE_BALL, $0 + 4, $b + 4, $ff, $ff, $83, TM_43 ; item - db SPRITE_BALL, $2 + 4, $9 + 4, $ff, $ff, $84, RARE_CANDY ; item - db SPRITE_BOULDER, $f + 4, $5 + 4, $ff, $10, $5 ; person - db SPRITE_BOULDER, $2 + 4, $e + 4, $ff, $10, $6 ; person - db SPRITE_BOULDER, $a + 4, $2 + 4, $ff, $10, $7 ; person - - ; warp-to - EVENT_DISP $a, $11, $8 - EVENT_DISP $a, $11, $9 - EVENT_DISP $a, $1, $1 ; VICTORY_ROAD_2 - -VictoryRoad1Blocks: ; 0x5db04 90 - INCBIN "maps/victoryroad1.blk" - -INCBIN "baserom.gbc",$5db5e,$5db81 - $5db5e - -UnnamedText_5db81: ; 0x5db81 - TX_FAR _UnnamedText_5db81 - db $50 -; 0x5db81 + 5 bytes - -INCBIN "baserom.gbc",$5db86,$5dba8 - $5db86 - -UnnamedText_5dba8: ; 0x5dba8 - TX_FAR _UnnamedText_5dba8 - db $50 -; 0x5dba8 + 5 bytes - -INCBIN "baserom.gbc",$5dbad,$5dbbe - $5dbad - -UnnamedText_5dbbe: ; 0x5dbbe - TX_FAR _UnnamedText_5dbbe - db $50 -; 0x5dbbe + 5 bytes - -INCBIN "baserom.gbc",$5dbc3,$5dbd4 - $5dbc3 - -UnnamedText_5dbd4: ; 0x5dbd4 - TX_FAR _UnnamedText_5dbd4 - db $50 -; 0x5dbd4 + 5 bytes - -INCBIN "baserom.gbc",$5dbd9,$5dc9e - $5dbd9 - -UnnamedText_5dc9e: ; 0x5dc9e - TX_FAR _UnnamedText_5dc9e - db $50 -; 0x5dc9e + 5 bytes - -UnnamedText_5dca3: ; 0x5dca3 - TX_FAR _UnnamedText_5dca3 - db $50 -; 0x5dca3 + 5 bytes - -INCBIN "baserom.gbc",$5dca8,$5dcde - $5dca8 - -UnnamedText_5dcde: ; 0x5dcde - TX_FAR _UnnamedText_5dcde - db $50 -; 0x5dcde + 5 bytes - -UnnamedText_5dce3: ; 0x5dce3 - TX_FAR _UnnamedText_5dce3 - db $50 -; 0x5dce3 + 5 bytes - -UnnamedText_5dce8: ; 0x5dce8 - TX_FAR _UnnamedText_5dce8 - db $50 -; 0x5dce8 + 5 bytes - -INCBIN "baserom.gbc",$5dced,$5dda2 - $5dced - -UnnamedText_5dda2: ; 0x5dda2 - TX_FAR _UnnamedText_5dda2 - db $50 -; 0x5dda2 + 5 bytes - -UnnamedText_5dda7: ; 0x5dda7 - TX_FAR _UnnamedText_5dda7 - db $50 -; 0x5dda7 + 5 bytes - -INCBIN "baserom.gbc",$5ddac,$5ddd6 - $5ddac - -UnnamedText_5ddd6: ; 0x5ddd6 - TX_FAR _UnnamedText_5ddd6 - db $50 -; 0x5ddd6 + 5 bytes - -UnnamedText_5dddb: ; 0x5dddb - TX_FAR _UnnamedText_5dddb - db $50 -; 0x5dddb + 5 bytes - -UnnamedText_5dde0: ; 0x5dde0 - TX_FAR _UnnamedText_5dde0 - db $50 -; 0x5dde0 + 5 bytes - -UnnamedText_5dde5: ; 0x5dde5 - TX_FAR _UnnamedText_5dde5 - db $50 -; 0x5dde5 + 5 bytes - -UnnamedText_5ddea: ; 0x5ddea - TX_FAR _UnnamedText_5ddea - db $50 -; 0x5ddea + 5 bytes - -INCBIN "baserom.gbc",$5ddef,$5ddf7 - $5ddef - -UnnamedText_5ddf7: ; 0x5ddf7 - TX_FAR _UnnamedText_5ddf7 - db $50 -; 0x5ddf7 + 5 bytes - -INCBIN "baserom.gbc",$5ddfc,$5dedb - $5ddfc - -UnnamedText_5dedb: ; 0x5dedb - TX_FAR _UnnamedText_5dedb - db $50 -; 0x5dedb + 5 bytes - -INCBIN "baserom.gbc",$5dee0,$2120 - -SECTION "bank18",DATA,BANK[$18] - -ViridianForestBlocks: - INCBIN "maps/viridianforest.blk" - -UndergroundPathNSBlocks: ; 0x60198 96 - INCBIN "maps/undergroundpathns.blk" - -INCBIN "baserom.gbc",$601f8,$1c8 - -SSAnne10Blocks: -SSAnne9Blocks: ; 0x603c0 96 - INCBIN "maps/ssanne9.blk" - -PokemonTower1_h: ; 0x60420 to 0x6042c (12 bytes) (id=142) - db $0f ; tileset - db POKEMONTOWER_1_HEIGHT, POKEMONTOWER_1_WIDTH ; dimensions (y, x) - dw PokemonTower1Blocks, PokemonTower1Texts, PokemonTower1Script ; blocks, texts, scripts - db $00 ; connections - - dw PokemonTower1Object ; objects - -PokemonTower1Script: ; 0x6042c - jp $3c3c -; 0x6042f - -PokemonTower1Texts: ; 0x6042f - dw PokemonTower1Text1, PokemonTower1Text2, PokemonTower1Text3, PokemonTower1Text4, PokemonTower1Text5 - -PokemonTower1Text1: ; 0x60439 - TX_FAR _PokemonTower1Text1 - db $50 - -PokemonTower1Text2: ; 0x6043e - TX_FAR _PokemonTower1Text2 - db $50 - -PokemonTower1Text3: ; 0x60443 - TX_FAR _PokemonTower1Text3 - db $50 - -PokemonTower1Text4: ; 0x60448 - TX_FAR _PokemonTower1Text4 - db $50 - -PokemonTower1Text5: ; 0x6044d - TX_FAR _PokemonTower1Text5 - db $50 - -PokemonTower1Object: ; 0x60452 (size=58) - db $1 ; border tile - - db $3 ; warps - db $11, $a, $1, $ff - db $11, $b, $1, $ff - db $9, $12, $1, POKEMONTOWER_2 - - db $0 ; signs - - db $5 ; people - db SPRITE_CABLE_CLUB_WOMAN, $d + 4, $f + 4, $ff, $d1, $1 ; person - db SPRITE_MOM_GEISHA, $8 + 4, $6 + 4, $ff, $ff, $2 ; person - db SPRITE_BALDING_GUY, $c + 4, $8 + 4, $ff, $ff, $3 ; person - db SPRITE_GIRL, $7 + 4, $d + 4, $ff, $ff, $4 ; person - db SPRITE_MEDIUM, $7 + 4, $11 + 4, $ff, $d2, $5 ; person - - ; warp-to - EVENT_DISP $a, $11, $a - EVENT_DISP $a, $11, $b - EVENT_DISP $a, $9, $12 ; POKEMONTOWER_2 - -PokemonTower1Blocks: ; 0x6048c 90 - INCBIN "maps/pokemontower1.blk" - -PokemonTower2_h: ; 0x604e6 to 0x604f2 (12 bytes) (id=143) - db $0f ; tileset - db POKEMONTOWER_2_HEIGHT, POKEMONTOWER_2_WIDTH ; dimensions (y, x) - dw PokemonTower2Blocks, PokemonTower2Texts, PokemonTower2Script ; blocks, texts, scripts - db $00 ; connections - - dw PokemonTower2Object ; objects - -PokemonTower2Script: ; 0x604f2 - call $3c3c - ld hl, PokemonTower2Scripts - ld a, [$d62b] - jp $3d97 -; 0x604fe - -INCBIN "baserom.gbc",$604fe,$60509 - $604fe - -PokemonTower2Scripts: ; 0x60509 - dw PokemonTower2Script0, PokemonTower2Script1, PokemonTower2Script2 - -PokemonTower2Script0: ; 0x6050f - ld a, [$d764] - bit 7, a - ret nz - ld hl, $455e - call $34bf - ret nc - ld a, $ff - ld [$c0ee], a - call $23b1 - ld c, $2 - ld a, $de - call $23a1 - ld hl, $d764 - res 6, [hl] - ld a, [$cd3d] - cp $1 - ld a, $8 - ld b, $0 - jr nz, .asm_60544 ; 0x60539 $9 - ld hl, $d764 - set 6, [hl] - ld a, $2 - ld b, $c -.asm_60544 - ld [$d528], a - ld a, $1 - ld [$ff00+$8c], a - ld a, b - ld [$ff00+$8d], a - call $34a6 - ld a, $1 - ld [$ff00+$8c], a - call $2920 - xor a - ld [$ff00+$b4], a - ld [$ff00+$b3], a - ret -; 0x6055e - -INCBIN "baserom.gbc",$6055e,$60563 - $6055e - -PokemonTower2Script1: ; 0x60563 - ld a, [$d057] - cp $ff - jp z, $44fe - ld a, $f0 - ld [$cd6b], a - ld hl, $d764 - set 7, [hl] - ld a, $1 - ld [$ff00+$8c], a - call $2920 - ld de, $45b2 - ld a, [$d764] - bit 6, a - jr nz, .asm_60589 ; 0x60584 $3 - ld de, $45a9 -.asm_60589 - ld a, $1 - ld [$ff00+$8c], a - call $363a - ld a, $ff - ld [$c0ee], a - call $23b1 - ld b, $2 - ld hl, $5b47 - call Bankswitch - ld a, $2 - ld [$d62b], a - ld [$da39], a - ret -; 0x605a9 - -INCBIN "baserom.gbc",$605a9,$605bb - $605a9 - -PokemonTower2Script2: ; 0x605bb - ld a, [$d730] - bit 0, a - ret nz - ld a, $38 - ld [$cc4d], a - ld a, $11 - call Predef - xor a - ld [$cd6b], a - call $2307 - ld a, $0 - ld [$d62b], a - ld [$da39], a - ret -; 0x605db - -PokemonTower2Texts: ; 0x605db - dw PokemonTower2Text1, PokemonTower2Text2 - -PokemonTower2Text1: ; 0x605df - db $08 ; asm - ld a, [$d764] - bit 7, a - jr z, .asm_16f24 ; 0x605e5 - ld hl, UnnamedText_6063c - call PrintText - jr .asm_41852 ; 0x605ed -.asm_16f24 ; 0x605ef - ld hl, UnnamedText_6062d - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, UnnamedText_60632 - ld de, UnnamedText_60637 ; XXX $4637 - call $3354 - ld a, $f2 - ld [$d059], a - - ; select which team to use during the encounter - ld a, [W_RIVALSTARTER] - cp SQUIRTLE - jr nz, .NotSquirtle\@ ; 0x6060f - ld a, $4 - jr .done\@ -.NotSquirtle\@ ; 0x60615 - cp BULBASAUR - jr nz, .Charmander\@ ; 0x60617 - ld a, $5 - jr .done\@ -.Charmander\@ ; 0x6061d - ld a, $6 -.done\@ - ld [W_TRAINERNO], a - - ld a, $1 - ld [$d62b], a - ld [$da39], a -.asm_41852 ; 0x6062a - jp TextScriptEnd - -UnnamedText_6062d: ; 0x6062d - TX_FAR _UnnamedText_6062d - db $50 -; 0x6062d + 5 bytes - -UnnamedText_60632: ; 0x60632 - TX_FAR _UnnamedText_60632 - db $50 -; 0x60632 + 5 bytes - -UnnamedText_60637: ; 0x60637 - TX_FAR _UnnamedText_60637 - db $50 -; 0x60637 + 5 bytes - -UnnamedText_6063c: ; 0x6063c - TX_FAR _UnnamedText_6063c - db $50 -; 0x6063c + 5 bytes - -PokemonTower2Text2: ; 0x60641 - TX_FAR _PokemonTower2Text2 - db $50 - -PokemonTower2Object: ; 0x60646 (size=32) - db $1 ; border tile - - db $2 ; warps - db $9, $3, $0, POKEMONTOWER_3 - db $9, $12, $2, POKEMONTOWER_1 - - db $0 ; signs - - db $2 ; people - db SPRITE_BLUE, $5 + 4, $e + 4, $ff, $ff, $1 ; person - db SPRITE_MEDIUM, $7 + 4, $3 + 4, $ff, $d3, $2 ; person - - ; warp-to - EVENT_DISP $a, $9, $3 ; POKEMONTOWER_3 - EVENT_DISP $a, $9, $12 ; POKEMONTOWER_1 - -PokemonTower2Blocks: ; 0x60666 90 - INCBIN "maps/pokemontower2.blk" - -PokemonTower3_h: ; 0x606c0 to 0x606cc (12 bytes) (id=144) - db $0f ; tileset - db POKEMONTOWER_3_HEIGHT, POKEMONTOWER_3_WIDTH ; dimensions (y, x) - dw PokemonTower3Blocks, PokemonTower3Texts, PokemonTower3Script ; blocks, texts, scripts - db $00 ; connections - - dw PokemonTower3Object ; objects - -PokemonTower3Script: ; 0x606cc - call $3c3c - ld hl, PokemonTower3TrainerHeaders - ld de, Unknown_606df - ld a, [$d62c] - call $3160 - ld [$d62c], a - ret -; 0x606df - -Unknown_606df: ; 0x606df -INCBIN "baserom.gbc",$606df,$6 - -PokemonTower3Texts: ; 0x606e5 - dw PokemonTower3Text1, PokemonTower3Text2, PokemonTower3Text3, PokemonTower3Text4 - -PokemonTower3TrainerHeaders: -PokemonTower3TrainerHeader1: ; 0x606ed - db $1 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d765 ; flag's byte - dw UnnamedText_60730 ; 0x4730 TextBeforeBattle - dw UnnamedText_6073a ; 0x473a TextAfterBattle - dw UnnamedText_60735 ; 0x4735 TextEndBattle - dw UnnamedText_60735 ; 0x4735 TextEndBattle -; 0x606f9 - -TrainerHeader_606f9: ; 0x606f9 - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d765 ; flag's byte - dw UnnamedText_6073f ; 0x473f TextBeforeBattle - dw UnnamedText_60749 ; 0x4749 TextAfterBattle - dw UnnamedText_60744 ; 0x4744 TextEndBattle - dw UnnamedText_60744 ; 0x4744 TextEndBattle -; 0x60705 - -TrainerHeader_60705: ; 0x60705 - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d765 ; flag's byte - dw UnnamedText_6074e ; 0x474e TextBeforeBattle - dw UnnamedText_60758 ; 0x4758 TextAfterBattle - dw UnnamedText_60753 ; 0x4753 TextEndBattle - dw UnnamedText_60753 ; 0x4753 TextEndBattle -; 0x60711 -db $ff - -PokemonTower3Text1: ; 0x60712 - db $08 ; asm - ld hl, PokemonTower3TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -PokemonTower3Text2: ; 0x6071c - db $08 ; asm - ld hl, TrainerHeader_606f9 - call LoadTrainerHeader - jp TextScriptEnd - -PokemonTower3Text3: ; 0x60726 - db $08 ; asm - ld hl, TrainerHeader_60705 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_60730: ; 0x60730 - TX_FAR _UnnamedText_60730 - db $50 -; 0x60730 + 5 bytes - -UnnamedText_60735: ; 0x60735 - TX_FAR _UnnamedText_60735 - db $50 -; 0x60735 + 5 bytes - -UnnamedText_6073a: ; 0x6073a - TX_FAR _UnnamedText_6073a - db $50 -; 0x6073a + 5 bytes - -UnnamedText_6073f: ; 0x6073f - TX_FAR _UnnamedText_6073f - db $50 -; 0x6073f + 5 bytes - -UnnamedText_60744: ; 0x60744 - TX_FAR _UnnamedText_60744 - db $50 -; 0x60744 + 5 bytes - -UnnamedText_60749: ; 0x60749 - TX_FAR _UnnamedText_60749 - db $50 -; 0x60749 + 5 bytes - -UnnamedText_6074e: ; 0x6074e - TX_FAR _UnnamedText_6074e - db $50 -; 0x6074e + 5 bytes - -UnnamedText_60753: ; 0x60753 - TX_FAR _UnnamedText_60753 - db $50 -; 0x60753 + 5 bytes - -UnnamedText_60758: ; 0x60758 - TX_FAR _UnnamedText_60758 - db $50 -; 0x60758 + 5 bytes - -PokemonTower3Object: ; 0x6075d (size=51) - db $1 ; border tile - - db $2 ; warps - db $9, $3, $0, POKEMONTOWER_2 - db $9, $12, $1, POKEMONTOWER_4 - - db $0 ; signs - - db $4 ; people - db SPRITE_MEDIUM, $3 + 4, $c + 4, $ff, $d2, $41, CHANNELER + $C8, $5 ; trainer - db SPRITE_MEDIUM, $8 + 4, $9 + 4, $ff, $d0, $42, CHANNELER + $C8, $6 ; trainer - db SPRITE_MEDIUM, $d + 4, $a + 4, $ff, $d0, $43, CHANNELER + $C8, $8 ; trainer - db SPRITE_BALL, $1 + 4, $c + 4, $ff, $ff, $84, ESCAPE_ROPE ; item - - ; warp-to - EVENT_DISP $a, $9, $3 ; POKEMONTOWER_2 - EVENT_DISP $a, $9, $12 ; POKEMONTOWER_4 - -PokemonTower3Blocks: ; 0x60790 90 - INCBIN "maps/pokemontower3.blk" - -PokemonTower4_h: ; 0x607ea to 0x607f6 (12 bytes) (id=145) - db $0f ; tileset - db POKEMONTOWER_4_HEIGHT, POKEMONTOWER_4_WIDTH ; dimensions (y, x) - dw PokemonTower4Blocks, PokemonTower4Texts, PokemonTower4Script ; blocks, texts, scripts - db $00 ; connections - - dw PokemonTower4Object ; objects - -PokemonTower4Script: ; 0x607f6 - call $3c3c - ld hl, PokemonTower4TrainerHeaders - ld de, PokemonTower4Script_Unknown60809 - ld a, [$d62d] - call $3160 - ld [$d62d], a - ret -; 0x60809 - -PokemonTower4Script_Unknown60809: ; 0x60809 -INCBIN "baserom.gbc",$60809,$6 - -PokemonTower4Texts: ; 0x6080f - dw PokemonTower4Text1, PokemonTower4Text2, PokemonTower4Text3, PokemonTower4Text4, PokemonTower4Text5, PokemonTower4Text6 - -PokemonTower4TrainerHeaders: -PokemonTower4TrainerHeader1: ; 0x6081b - db $1 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d766 ; flag's byte - dw UnnamedText_6085e ; 0x485e TextBeforeBattle - dw UnnamedText_60868 ; 0x4868 TextAfterBattle - dw UnnamedText_60863 ; 0x4863 TextEndBattle - dw UnnamedText_60863 ; 0x4863 TextEndBattle -; 0x60827 - -TrainerHeader_60827: ; 0x60827 - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d766 ; flag's byte - dw UnnamedText_6086d ; 0x486d TextBeforeBattle - dw UnnamedText_60877 ; 0x4877 TextAfterBattle - dw UnnamedText_60872 ; 0x4872 TextEndBattle - dw UnnamedText_60872 ; 0x4872 TextEndBattle -; 0x60833 - -TrainerHeader_60833: ; 0x60833 - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d766 ; flag's byte - dw UnnamedText_6087c ; 0x487c TextBeforeBattle - dw UnnamedText_60886 ; 0x4886 TextAfterBattle - dw UnnamedText_60881 ; 0x4881 TextEndBattle - dw UnnamedText_60881 ; 0x4881 TextEndBattle -; 0x6083f - -db $ff - -PokemonTower4Text1: ; 0x60840 - db $08 ; asm - ld hl, PokemonTower4TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -PokemonTower4Text2: ; 0x6084a - db $08 ; asm - ld hl, TrainerHeader_60827 - call LoadTrainerHeader - jp TextScriptEnd - -PokemonTower4Text3: ; 0x60854 - db $08 ; asm - ld hl, TrainerHeader_60833 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_6085e: ; 0x6085e - TX_FAR _UnnamedText_6085e - db $50 -; 0x6085e + 5 bytes - -UnnamedText_60863: ; 0x60863 - TX_FAR _UnnamedText_60863 - db $50 -; 0x60863 + 5 bytes - -UnnamedText_60868: ; 0x60868 - TX_FAR _UnnamedText_60868 - db $50 -; 0x60868 + 5 bytes - -UnnamedText_6086d: ; 0x6086d - TX_FAR _UnnamedText_6086d - db $50 -; 0x6086d + 5 bytes - -UnnamedText_60872: ; 0x60872 - TX_FAR _UnnamedText_60872 - db $50 -; 0x60872 + 5 bytes - -UnnamedText_60877: ; 0x60877 - TX_FAR _UnnamedText_60877 - db $50 -; 0x60877 + 5 bytes - -UnnamedText_6087c: ; 0x6087c - TX_FAR _UnnamedText_6087c - db $50 -; 0x6087c + 5 bytes - -UnnamedText_60881: ; 0x60881 - TX_FAR _UnnamedText_60881 - db $50 -; 0x60881 + 5 bytes - -UnnamedText_60886: ; 0x60886 - TX_FAR _UnnamedText_60886 - db $50 -; 0x60886 + 5 bytes - -PokemonTower4Object: ; 0x6088b (size=65) - db $1 ; border tile - - db $2 ; warps - db $9, $3, $0, POKEMONTOWER_5 - db $9, $12, $1, POKEMONTOWER_3 - - db $0 ; signs - - db $6 ; people - db SPRITE_MEDIUM, $a + 4, $5 + 4, $ff, $d3, $41, CHANNELER + $C8, $9 ; trainer - db SPRITE_MEDIUM, $7 + 4, $f + 4, $ff, $d0, $42, CHANNELER + $C8, $a ; trainer - db SPRITE_MEDIUM, $c + 4, $e + 4, $ff, $d2, $43, CHANNELER + $C8, $c ; trainer - db SPRITE_BALL, $a + 4, $c + 4, $ff, $ff, $84, ELIXER ; item - db SPRITE_BALL, $a + 4, $9 + 4, $ff, $ff, $85, AWAKENING ; item - db SPRITE_BALL, $10 + 4, $c + 4, $ff, $ff, $86, HP_UP ; item - - ; warp-to - EVENT_DISP $a, $9, $3 ; POKEMONTOWER_5 - EVENT_DISP $a, $9, $12 ; POKEMONTOWER_3 - -PokemonTower4Blocks: ; 0x608cc 90 - INCBIN "maps/pokemontower4.blk" - -PokemonTower5_h: ; 0x60926 to 0x60932 (12 bytes) (id=146) - db $0f ; tileset - db POKEMONTOWER_5_HEIGHT, POKEMONTOWER_5_WIDTH ; dimensions (y, x) - dw PokemonTower5Blocks, PokemonTower5Texts, PokemonTower5Script ; blocks, texts, scripts - db $00 ; connections - - dw PokemonTower5Object ; objects - -PokemonTower5Script: ; 0x60932 - call $3c3c - ld hl, PokemonTower5TrainerHeaders - ld de, PokemonTower5Script_Unknown60945 - ld a, [$d62e] - call $3160 - ld [$d62e], a - ret -; 0x60945 - -PokemonTower5Script_Unknown60945: ; 0x60945 -INCBIN "baserom.gbc",$60945,$56 - -PokemonTower5Texts: ; 0x6099b - dw PokemonTower5Text1, PokemonTower5Text2, PokemonTower5Text3, PokemonTower5Text4, PokemonTower5Text5, PokemonTower5Text6, PokemonTower5Text7 - -PokemonTower5TrainerHeaders: -PokemonTower5TrainerHeader1: ; 0x609a9 - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d767 ; flag's byte - dw UnnamedText_609e9 ; 0x49e9 TextBeforeBattle - dw UnnamedText_609f3 ; 0x49f3 TextAfterBattle - dw UnnamedText_609ee ; 0x49ee TextEndBattle - dw UnnamedText_609ee ; 0x49ee TextEndBattle -; 0x609b5 - -TrainerHeader_609b5: ; 0x609b5 - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d767 ; flag's byte - dw UnnamedText_60a02 ; 0x4a02 TextBeforeBattle - dw UnnamedText_60a0c ; 0x4a0c TextAfterBattle - dw UnnamedText_60a07 ; 0x4a07 TextEndBattle - dw UnnamedText_60a07 ; 0x4a07 TextEndBattle -; 0x609c1 - -TrainerHeader_609c1: ; 0x609c1 - db $4 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d767 ; flag's byte - dw UnnamedText_60a1b ; 0x4a1b TextBeforeBattle - dw UnnamedText_60a25 ; 0x4a25 TextAfterBattle - dw UnnamedText_60a20 ; 0x4a20 TextEndBattle - dw UnnamedText_60a20 ; 0x4a20 TextEndBattle -; 0x609cd - -TrainerHeader_609cd: ; 0x609cd - db $5 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d767 ; flag's byte - dw UnnamedText_60a34 ; 0x4a34 TextBeforeBattle - dw UnnamedText_60a3e ; 0x4a3e TextAfterBattle - dw UnnamedText_60a39 ; 0x4a39 TextEndBattle - dw UnnamedText_60a39 ; 0x4a39 TextEndBattle -; 0x609d9 - -db $ff - -PokemonTower5Text1: ; 0x609da - TX_FAR _PokemonTower5Text1 - db $50 - -PokemonTower5Text2: ; 0x609df - db $08 ; asm - ld hl, PokemonTower5TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_609e9: ; 0x609e9 - TX_FAR _UnnamedText_609e9 - db $50 -; 0x609e9 + 5 bytes - -UnnamedText_609ee: ; 0x609ee - TX_FAR _UnnamedText_609ee - db $50 -; 0x609ee + 5 bytes - -UnnamedText_609f3: ; 0x609f3 - TX_FAR _UnnamedText_609f3 - db $50 -; 0x609f3 + 5 bytes - -PokemonTower5Text3: ; 0x609f8 - db $08 ; asm - ld hl, TrainerHeader_609b5 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_60a02: ; 0x60a02 - TX_FAR _UnnamedText_60a02 - db $50 -; 0x60a02 + 5 bytes - -UnnamedText_60a07: ; 0x60a07 - TX_FAR _UnnamedText_60a07 - db $50 -; 0x60a07 + 5 bytes - -UnnamedText_60a0c: ; 0x60a0c - TX_FAR _UnnamedText_60a0c - db $50 -; 0x60a0c + 5 bytes - -PokemonTower5Text4: ; 0x60a11 - db $08 ; asm - ld hl, TrainerHeader_609c1 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_60a1b: ; 0x60a1b - TX_FAR _UnnamedText_60a1b - db $50 -; 0x60a1b + 5 bytes - -UnnamedText_60a20: ; 0x60a20 - TX_FAR _UnnamedText_60a20 - db $50 -; 0x60a20 + 5 bytes - -UnnamedText_60a25: ; 0x60a25 - TX_FAR _UnnamedText_60a25 - db $50 -; 0x60a25 + 5 bytes - -PokemonTower5Text5: ; 0x60a2a - db $08 ; asm - ld hl, $49cd - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_60a34: ; 0x60a34 - TX_FAR _UnnamedText_60a34 - db $50 -; 0x60a34 + 5 bytes - -UnnamedText_60a39: ; 0x60a39 - TX_FAR _UnnamedText_60a39 - db $50 -; 0x60a39 + 5 bytes - -UnnamedText_60a3e: ; 0x60a3e - TX_FAR _UnnamedText_60a3e - db $50 -; 0x60a3e + 5 bytes - -PokemonTower5Text7: ; 0x60a43 - TX_FAR _UnnamedText_60a43 - db $50 -; 0x60a43 + 5 bytes - -PokemonTower5Object: ; 0x60a48 (size=65) - db $1 ; border tile - - db $2 ; warps - db $9, $3, $0, POKEMONTOWER_4 - db $9, $12, $0, POKEMONTOWER_6 - - db $0 ; signs - - db $6 ; people - db SPRITE_MEDIUM, $8 + 4, $c + 4, $ff, $ff, $1 ; person - db SPRITE_MEDIUM, $7 + 4, $11 + 4, $ff, $d2, $42, CHANNELER + $C8, $e ; trainer - db SPRITE_MEDIUM, $3 + 4, $e + 4, $ff, $d2, $43, CHANNELER + $C8, $10 ; trainer - db SPRITE_MEDIUM, $a + 4, $6 + 4, $ff, $d3, $44, CHANNELER + $C8, $11 ; trainer - db SPRITE_MEDIUM, $10 + 4, $9 + 4, $ff, $d3, $45, CHANNELER + $C8, $12 ; trainer - db SPRITE_BALL, $e + 4, $6 + 4, $ff, $ff, $86, NUGGET ; item - - ; warp-to - EVENT_DISP $a, $9, $3 ; POKEMONTOWER_4 - EVENT_DISP $a, $9, $12 ; POKEMONTOWER_6 - -PokemonTower5Blocks: ; 0x60a89 90 - INCBIN "maps/pokemontower5.blk" - -PokemonTower6_h: ; 0x60ae3 to 0x60aef (12 bytes) (id=147) - db $0f ; tileset - db POKEMONTOWER_6_HEIGHT, POKEMONTOWER_6_WIDTH ; dimensions (y, x) - dw PokemonTower6Blocks, PokemonTower6Texts, PokemonTower6Script ; blocks, texts, scripts - db $00 ; connections - - dw PokemonTower6Object ; objects - -PokemonTower6Script: ; 0x60aef - call $3c3c - ld hl, PokemonTower6TrainerHeaders - ld de, $4b0d - ld a, [$d62f] - call $3160 - ld [$d62f], a - ret -; 0x60b02 - -INCBIN "baserom.gbc",$60b02,$af - -PokemonTower6Texts: ; 0x60bb1 - dw PokemonTower6Text1, PokemonTower6Text2, PokemonTower6Text3, PokemonTower6Text4, PokemonTower6Text5, PokemonTower6Text6, PokemonTower6Text7 - -PokemonTower6TrainerHeaders: -PokemonTower6TrainerHeader1: ; 0x60bbf - db $1 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d768 ; flag's byte - dw UnnamedText_60c29 ; 0x4c29 TextBeforeBattle - dw UnnamedText_60c33 ; 0x4c33 TextAfterBattle - dw UnnamedText_60c2e ; 0x4c2e TextEndBattle - dw UnnamedText_60c2e ; 0x4c2e TextEndBattle -; 0x60bcb - -TrainerHeader_60bcb: ; 0x60bcb - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d768 ; flag's byte - dw UnnamedText_60c38 ; 0x4c38 TextBeforeBattle - dw UnnamedText_60c42 ; 0x4c42 TextAfterBattle - dw UnnamedText_60c3d ; 0x4c3d TextEndBattle - dw UnnamedText_60c3d ; 0x4c3d TextEndBattle -; 0x60bd7 - -TrainerHeader_60bd7: ; 0x60bd7 - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d768 ; flag's byte - dw UnnamedText_60c47 ; 0x4c47 TextBeforeBattle - dw UnnamedText_60c51 ; 0x4c51 TextAfterBattle - dw UnnamedText_60c4c ; 0x4c4c TextEndBattle - dw UnnamedText_60c4c ; 0x4c4c TextEndBattle -; 0x60be3 - -db $ff - -PokemonTower6Text1: ; 0x60be4 - db $08 ; asm - ld hl, PokemonTower6TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -PokemonTower6Text2: ; 0x60bee - db $08 ; asm - ld hl, TrainerHeader_60bcb - call LoadTrainerHeader - jp TextScriptEnd - -PokemonTower6Text3: ; 0x60bf8 - db $08 ; asm - ld hl, TrainerHeader_60bd7 - call LoadTrainerHeader - jp TextScriptEnd - -PokemonTower6Text7: ; 0x60c02 - db $8 - ld hl, UnnamedText_60c1f - call PrintText - ld a, $91 - call $13d0 - call $3748 - ld c, $1e - call DelayFrames - ld hl, UnnamedText_60c24 - call PrintText - jp TextScriptEnd -; 0x60c1f - -UnnamedText_60c1f: ; 0x60c1f - TX_FAR _UnnamedText_60c1f - db $50 -; 0x60c1f + 5 bytes - -UnnamedText_60c24: ; 0x60c24 - TX_FAR _UnnamedText_60c24 - db $50 -; 0x60c24 + 5 bytes - -UnnamedText_60c29: ; 0x60c29 - TX_FAR _UnnamedText_60c29 - db $50 -; 0x60c29 + 5 bytes - -UnnamedText_60c2e: ; 0x60c2e - TX_FAR _UnnamedText_60c2e - db $50 -; 0x60c2e + 5 bytes - -UnnamedText_60c33: ; 0x60c33 - TX_FAR _UnnamedText_60c33 - db $50 -; 0x60c33 + 5 bytes - -UnnamedText_60c38: ; 0x60c38 - TX_FAR _UnnamedText_60c38 - db $50 -; 0x60c38 + 5 bytes - -UnnamedText_60c3d: ; 0x60c3d - TX_FAR _UnnamedText_60c3d - db $50 -; 0x60c3d + 5 bytes - -UnnamedText_60c42: ; 0x60c42 - TX_FAR _UnnamedText_60c42 - db $50 -; 0x60c42 + 5 bytes - -UnnamedText_60c47: ; 0x60c47 - TX_FAR _UnnamedText_60c47 - db $50 -; 0x60c47 + 5 bytes - -UnnamedText_60c4c: ; 0x60c4c - TX_FAR _UnnamedText_60c4c - db $50 -; 0x60c4c + 5 bytes - -UnnamedText_60c51: ; 0x60c51 - TX_FAR _UnnamedText_60c51 - db $50 -; 0x60c51 + 5 bytes - -PokemonTower6Text6: ; 0x60c56 - TX_FAR _UnnamedText_60c56 - db $50 -; 0x60c56 + 5 bytes - -PokemonTower6Object: ; 0x60c5b (size=58) - db $1 ; border tile - - db $2 ; warps - db $9, $12, $1, POKEMONTOWER_5 - db $10, $9, $0, POKEMONTOWER_7 - - db $0 ; signs - - db $5 ; people - db SPRITE_MEDIUM, $a + 4, $c + 4, $ff, $d3, $41, CHANNELER + $C8, $13 ; trainer - db SPRITE_MEDIUM, $5 + 4, $9 + 4, $ff, $d0, $42, CHANNELER + $C8, $14 ; trainer - db SPRITE_MEDIUM, $5 + 4, $10 + 4, $ff, $d2, $43, CHANNELER + $C8, $15 ; trainer - db SPRITE_BALL, $8 + 4, $6 + 4, $ff, $ff, $84, RARE_CANDY ; item - db SPRITE_BALL, $e + 4, $e + 4, $ff, $ff, $85, X_ACCURACY ; item - - ; warp-to - EVENT_DISP $a, $9, $12 ; POKEMONTOWER_5 - EVENT_DISP $a, $10, $9 ; POKEMONTOWER_7 - -PokemonTower6Blocks: ; 0x60c95 90 - INCBIN "maps/pokemontower6.blk" - -INCBIN "baserom.gbc",$60cef,$a - -PokemonTower7_h: ; 0x60cf9 to 0x60d05 (12 bytes) (id=148) - db $0f ; tileset - db POKEMONTOWER_7_HEIGHT, POKEMONTOWER_7_WIDTH ; dimensions (y, x) - dw PokemonTower7Blocks, PokemonTower7Texts, PokemonTower7Script ; blocks, texts, scripts - db $00 ; connections - - dw PokemonTower7Object ; objects - -PokemonTower7Script: ; 0x60d05 - call $3c3c - ld hl, PokemonTower7TrainerHeaders - ld de, $4d23 - ld a, [$d630] - call $3160 - ld [$d630], a - ret -; 0x60d18 - -INCBIN "baserom.gbc",$60d18,$127 - -PokemonTower7Texts: ; 0x60e3f - dw PokemonTower7Text1, PokemonTower7Text2, PokemonTower7Text3, PokemonTower7Text4 - -PokemonTower7TrainerHeaders: -PokemonTower7TrainerHeader1: ; 0x60e47 - db $1 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d769 ; flag's byte - dw UnnamedText_60ec9 ; 0x4ec9 TextBeforeBattle - dw UnnamedText_60ed3 ; 0x4ed3 TextAfterBattle - dw UnnamedText_60ece ; 0x4ece TextEndBattle - dw UnnamedText_60ece ; 0x4ece TextEndBattle -; 0x60e53 - -TrainerHeader_60e53: ; 0x60e53 - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d769 ; flag's byte - dw UnnamedText_60ed8 ; 0x4ed8 TextBeforeBattle - dw UnnamedText_60ee2 ; 0x4ee2 TextAfterBattle - dw UnnamedText_60edd ; 0x4edd TextEndBattle - dw UnnamedText_60edd ; 0x4edd TextEndBattle -; 0x60e5f - -TrainerHeader_60e5f: ; 0x60e5f - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d769 ; flag's byte - dw UnnamedText_60ee7 ; 0x4ee7 TextBeforeBattle - dw UnnamedText_60ef1 ; 0x4ef1 TextAfterBattle - dw UnnamedText_60eec ; 0x4eec TextEndBattle - dw UnnamedText_60eec ; 0x4eec TextEndBattle -; 0x60e6b - -db $ff - -PokemonTower7Text1: ; 0x60e6c - db $08 ; asm - ld hl, PokemonTower7TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -PokemonTower7Text2: ; 0x60e76 - db $08 ; asm - ld hl, TrainerHeader_60e53 - call LoadTrainerHeader - jp TextScriptEnd - -PokemonTower7Text3: ; 0x60e80 - db $08 ; asm - ld hl, TrainerHeader_60e5f - call LoadTrainerHeader - jp TextScriptEnd - -PokemonTower7Text4: ; 0x60e8a - db $08 ; asm - ld hl, UnnamedText_60ec4 - call PrintText - ld hl, $d7e0 - set 7, [hl] - ld hl, $d769 - set 7, [hl] - ld a, $44 - ld [$cc4d], a - ld a, $15 - call Predef - ld a, $17 - ld [$cc4d], a - ld a, $11 - call Predef - ld a, $18 - ld [$cc4d], a - ld a, $15 - call Predef - ld a, $4 - ld [$d630], a - ld [$da39], a - jp TextScriptEnd - -UnnamedText_60ec4: ; 0x60ec4 - TX_FAR _UnnamedText_60ec4 - db $50 -; 0x60ec4 + 5 bytes - -UnnamedText_60ec9: ; 0x60ec9 - TX_FAR _UnnamedText_60ec9 - db $50 -; 0x60ec9 + 5 bytes - -UnnamedText_60ece: ; 0x60ece - TX_FAR _UnnamedText_60ece - db $50 -; 0x60ece + 5 bytes - -UnnamedText_60ed3: ; 0x60ed3 - TX_FAR _UnnamedText_60ed3 - db $50 -; 0x60ed3 + 5 bytes - -UnnamedText_60ed8: ; 0x60ed8 - TX_FAR _UnnamedText_60ed8 - db $50 -; 0x60ed8 + 5 bytes - -UnnamedText_60edd: ; 0x60edd - TX_FAR _UnnamedText_60edd - db $50 -; 0x60edd + 5 bytes - -UnnamedText_60ee2: ; 0x60ee2 - TX_FAR _UnnamedText_60ee2 - db $50 -; 0x60ee2 + 5 bytes - -UnnamedText_60ee7: ; 0x60ee7 - TX_FAR _UnnamedText_60ee7 - db $50 -; 0x60ee7 + 5 bytes - -UnnamedText_60eec: ; 0x60eec - TX_FAR _UnnamedText_60eec - db $50 -; 0x60eec + 5 bytes - -UnnamedText_60ef1: ; 0x60ef1 - TX_FAR _UnnamedText_60ef1 - db $50 -; 0x60ef1 + 5 bytes - -PokemonTower7Object: ; 0x60ef6 (size=42) - db $1 ; border tile - - db $1 ; warps - db $10, $9, $1, POKEMONTOWER_6 - - db $0 ; signs - - db $4 ; people - db SPRITE_ROCKET, $b + 4, $9 + 4, $ff, $d3, $41, ROCKET + $C8, $13 ; trainer - db SPRITE_ROCKET, $9 + 4, $c + 4, $ff, $d2, $42, ROCKET + $C8, $14 ; trainer - db SPRITE_ROCKET, $7 + 4, $9 + 4, $ff, $d3, $43, ROCKET + $C8, $15 ; trainer - db SPRITE_MR_FUJI, $3 + 4, $a + 4, $ff, $d0, $4 ; person - - ; warp-to - EVENT_DISP $a, $10, $9 ; POKEMONTOWER_6 - -PokemonTower7Blocks: ; 0x60f20 90 - INCBIN "maps/pokemontower7.blk" - -CeladonMart1_h: ; 0x60f7a to 0x60f86 (12 bytes) (id=122) - db $12 ; tileset - db CELADON_MART_1_HEIGHT, CELADON_MART_1_WIDTH ; dimensions (y, x) - dw CeladonMart1Blocks, CeladonMart1Texts, CeladonMart1Script ; blocks, texts, scripts - db $00 ; connections - - dw CeladonMart1Object ; objects - -CeladonMart1Script: ; 0x60f86 - jp $3c3c -; 0x60f89 - -CeladonMart1Texts: ; 0x60f89 - dw CeladonMart1Text1, CeladonMart1Text2, CeladonMart1Text3 - -CeladonMart1Text1: ; 0x60f8f - TX_FAR _CeladonMart1Text1 - db $50 - -CeladonMart1Text2: ; 0x60f94 - TX_FAR _CeladonMart1Text2 - db $50 - -CeladonMart1Text3: ; 0x60f99 - TX_FAR _CeladonMart1Text3 - db $50 - -CeladonMart1Object: ; 0x60f9e (size=64) - db $f ; border tile - - db $6 ; warps - db $7, $2, $0, $ff - db $7, $3, $0, $ff - db $7, $10, $1, $ff - db $7, $11, $1, $ff - db $1, $c, $0, CELADON_MART_2 - db $1, $1, $0, CELADON_MART_ELEVATOR - - db $2 ; signs - db $4, $b, $2 ; CeladonMart1Text2 - db $1, $e, $3 ; CeladonMart1Text3 - - db $1 ; people - db SPRITE_CABLE_CLUB_WOMAN, $3 + 4, $8 + 4, $ff, $d0, $1 ; person - - ; warp-to - EVENT_DISP $a, $7, $2 - EVENT_DISP $a, $7, $3 - EVENT_DISP $a, $7, $10 - EVENT_DISP $a, $7, $11 - EVENT_DISP $a, $1, $c ; CELADON_MART_2 - EVENT_DISP $a, $1, $1 ; CELADON_MART_ELEVATOR - -CeladonMart1Blocks: ; 0x60fde 40 - INCBIN "maps/celadonmart1.blk" - -INCBIN "baserom.gbc",$61006,$610ae - $61006 - -UnnamedText_610ae: ; 0x610ae - TX_FAR _UnnamedText_610ae - db $50 -; 0x610ae + 5 bytes - -UnnamedText_610b3: ; 0x610b3 - TX_FAR _UnnamedText_610b3 - db $50 -; 0x610b3 + 5 bytes - -UnnamedText_610b8: ; 0x610b8 - TX_FAR _UnnamedText_610b8 - db $50 -; 0x610b8 + 5 bytes - -UnnamedText_610bd: ; 0x610bd - TX_FAR _UnnamedText_610bd - db $50 -; 0x610bd + 5 bytes - -INCBIN "baserom.gbc",$610c2,$3f - -ViridianForest_h: ; 0x61101 to 0x6110d (12 bytes) (id=51) - db $03 ; tileset - db VIRIDIAN_FOREST_HEIGHT, VIRIDIAN_FOREST_WIDTH ; dimensions (y, x) - dw ViridianForestBlocks, ViridianForestTexts, ViridianForestScript ; blocks, texts, scripts - db $00 ; connections - - dw ViridianForestObject ; objects - -ViridianForestScript: ; 0x6110d - call $3c3c - ld hl, ViridianForestTrainerHeaders - ld de, ViridianForestScript_Unknown61120 - ld a, [$d618] - call $3160 - ld [$d618], a - ret -; 0x61120 - -ViridianForestScript_Unknown61120: ; 0x61120 -INCBIN "baserom.gbc",$61120,$6 - -ViridianForestTexts: ; 0x61126 - dw ViridianForestText1, ViridianForestText2, ViridianForestText3, ViridianForestText4, ViridianForestText5, ViridianForestText6, ViridianForestText7, ViridianForestText8, ViridianForestText9, ViridianForestText10, ViridianForestText11, ViridianForestText12, ViridianForestText13, ViridianForestText14 - -ViridianForestTrainerHeaders: -ViridianForestTrainerHeader1: ; 0x61142 - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7f3 ; flag's byte - dw UnnamedText_6118a ; 0x518a TextBeforeBattle - dw UnnamedText_61194 ; 0x5194 TextAfterBattle - dw UnnamedText_6118f ; 0x518f TextEndBattle - dw UnnamedText_6118f ; 0x518f TextEndBattle -; 0x6114e - -TrainerHeader_6114e: ; 0x6114e - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7f3 ; flag's byte - dw UnnamedText_61199 ; 0x5199 TextBeforeBattle - dw UnnamedText_611a3 ; 0x51a3 TextAfterBattle - dw UnnamedText_6119e ; 0x519e TextEndBattle - dw UnnamedText_6119e ; 0x519e TextEndBattle -; 0x6115a - -TrainerHeader_6115a: ; 0x6115a - db $4 ; flag's bit - db ($1 << 4) ; trainer's view range - dw $d7f3 ; flag's byte - dw UnnamedText_611a8 ; 0x51a8 TextBeforeBattle - dw UnnamedText_611b2 ; 0x51b2 TextAfterBattle - dw UnnamedText_611ad ; 0x51ad TextEndBattle - dw UnnamedText_611ad ; 0x51ad TextEndBattle -; 0x61166 - -db $ff - -ViridianForestText1: ; 0x61167 - TX_FAR _ViridianForestText1 - db $50 - -ViridianForestText2: ; 0x6116c - db $08 ; asm - ld hl, ViridianForestTrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -ViridianForestText3: ; 0x61176 - db $08 ; asm - ld hl, TrainerHeader_6114e - call LoadTrainerHeader - jp TextScriptEnd - -ViridianForestText4: ; 0x61180 - db $08 ; asm - ld hl, TrainerHeader_6115a - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_6118a: ; 0x6118a - TX_FAR _UnnamedText_6118a - db $50 -; 0x6118a + 5 bytes - -UnnamedText_6118f: ; 0x6118f - TX_FAR _UnnamedText_6118f - db $50 -; 0x6118f + 5 bytes - -UnnamedText_61194: ; 0x61194 - TX_FAR _UnnamedText_61194 - db $50 -; 0x61194 + 5 bytes - -UnnamedText_61199: ; 0x61199 - TX_FAR _UnnamedText_61199 - db $50 -; 0x61199 + 5 bytes - -UnnamedText_6119e: ; 0x6119e - TX_FAR _UnnamedText_6119e - db $50 -; 0x6119e + 5 bytes - -UnnamedText_611a3: ; 0x611a3 - TX_FAR _UnnamedText_611a3 - db $50 -; 0x611a3 + 5 bytes - -UnnamedText_611a8: ; 0x611a8 - TX_FAR _UnnamedText_611a8 - db $50 -; 0x611a8 + 5 bytes - -UnnamedText_611ad: ; 0x611ad - TX_FAR _UnnamedText_611ad - db $50 -; 0x611ad + 5 bytes - -UnnamedText_611b2: ; 0x611b2 - TX_FAR _UnnamedText_611b2 - db $50 -; 0x611b2 + 5 bytes - -ViridianForestText8: ; 0x611b7 - TX_FAR _ViridianForestText8 - db $50 - -ViridianForestText9: ; 0x611bc - TX_FAR _ViridianForestText9 - db $50 - -ViridianForestText10: ; 0x611c1 - TX_FAR _ViridianForestText10 - db $50 - -ViridianForestText11: ; 0x611c6 - TX_FAR _ViridianForestText11 - db $50 - -ViridianForestText12: ; 0x611cb - TX_FAR _ViridianForestText12 - db $50 - -ViridianForestText13: ; 0x611d0 - TX_FAR _ViridianForestText13 - db $50 - -ViridianForestText14: ; 0x611d5 - TX_FAR _ViridianForestText14 - db $50 - -ViridianForestObject: ; 0x611da (size=127) - db $3 ; border tile - - db $6 ; warps - db $0, $1, $2, VIRIDIAN_FOREST_EXIT - db $0, $2, $3, VIRIDIAN_FOREST_EXIT - db $2f, $f, $1, VIRIDIAN_FOREST_ENTRANCE - db $2f, $10, $1, VIRIDIAN_FOREST_ENTRANCE - db $2f, $11, $1, VIRIDIAN_FOREST_ENTRANCE - db $2f, $12, $1, VIRIDIAN_FOREST_ENTRANCE - - db $6 ; signs - db $28, $18, $9 ; ViridianForestText9 - db $20, $10, $a ; ViridianForestText10 - db $11, $1a, $b ; ViridianForestText11 - db $18, $4, $c ; ViridianForestText12 - db $2d, $12, $d ; ViridianForestText13 - db $1, $2, $e ; ViridianForestText14 - - db $8 ; people - db SPRITE_BUG_CATCHER, $2b + 4, $10 + 4, $ff, $ff, $1 ; person - db SPRITE_BUG_CATCHER, $21 + 4, $1e + 4, $ff, $d2, $42, BUG_CATCHER + $C8, $1 ; trainer - db SPRITE_BUG_CATCHER, $13 + 4, $1e + 4, $ff, $d2, $43, BUG_CATCHER + $C8, $2 ; trainer - db SPRITE_BUG_CATCHER, $12 + 4, $2 + 4, $ff, $d2, $44, BUG_CATCHER + $C8, $3 ; trainer - db SPRITE_BALL, $b + 4, $19 + 4, $ff, $ff, $85, ANTIDOTE ; item - db SPRITE_BALL, $1d + 4, $c + 4, $ff, $ff, $86, POTION ; item - db SPRITE_BALL, $1f + 4, $1 + 4, $ff, $ff, $87, POKE_BALL ; item - db SPRITE_BUG_CATCHER, $28 + 4, $1b + 4, $ff, $ff, $8 ; person - - ; warp-to - EVENT_DISP $11, $0, $1 ; VIRIDIAN_FOREST_EXIT - EVENT_DISP $11, $0, $2 ; VIRIDIAN_FOREST_EXIT - EVENT_DISP $11, $2f, $f ; VIRIDIAN_FOREST_ENTRANCE - EVENT_DISP $11, $2f, $10 ; VIRIDIAN_FOREST_ENTRANCE - EVENT_DISP $11, $2f, $11 ; VIRIDIAN_FOREST_ENTRANCE - EVENT_DISP $11, $2f, $12 ; VIRIDIAN_FOREST_ENTRANCE - -SSAnne1_h: ; 0x61259 to 0x61265 (12 bytes) (id=95) - db $0d ; tileset - db SS_ANNE_1_HEIGHT, SS_ANNE_1_WIDTH ; dimensions (y, x) - dw SSAnne1Blocks, SSAnne1Texts, SSAnne1Script ; blocks, texts, scripts - db $00 ; connections - - dw SSAnne1Object ; objects - -SSAnne1Script: ; 0x61265 - call $3c3c - ret -; 0x61269 - -SSAnne1Texts: ; 0x61269 - dw SSAnne1Text1, SSAnne1Text2 - -SSAnne1Text1: ; 0x6126d - TX_FAR _SSAnne1Text1 - db $50 - -SSAnne1Text2: ; 0x61272 - TX_FAR _SSAnne1Text2 - db $50 - -SSAnne1Object: ; 0x61277 (size=104) - db $c ; border tile - - db $b ; warps - db $0, $1a, $1, VERMILION_DOCK - db $0, $1b, $1, VERMILION_DOCK - db $8, $1f, $0, SS_ANNE_8 - db $8, $17, $1, SS_ANNE_8 - db $8, $13, $2, SS_ANNE_8 - db $8, $f, $3, SS_ANNE_8 - db $8, $b, $4, SS_ANNE_8 - db $8, $7, $5, SS_ANNE_8 - db $6, $2, $6, SS_ANNE_2 - db $f, $25, $5, SS_ANNE_4 - db $10, $3, $0, SS_ANNE_6 - - db $0 ; signs - - db $2 ; people - db SPRITE_WAITER, $6 + 4, $c + 4, $fe, $2, $1 ; person - db SPRITE_SAILOR, $5 + 4, $1b + 4, $ff, $ff, $2 ; person - - ; warp-to - EVENT_DISP $14, $0, $1a ; VERMILION_DOCK - EVENT_DISP $14, $0, $1b ; VERMILION_DOCK - EVENT_DISP $14, $8, $1f ; SS_ANNE_8 - EVENT_DISP $14, $8, $17 ; SS_ANNE_8 - EVENT_DISP $14, $8, $13 ; SS_ANNE_8 - EVENT_DISP $14, $8, $f ; SS_ANNE_8 - EVENT_DISP $14, $8, $b ; SS_ANNE_8 - EVENT_DISP $14, $8, $7 ; SS_ANNE_8 - EVENT_DISP $14, $6, $2 ; SS_ANNE_2 - EVENT_DISP $14, $f, $25 ; SS_ANNE_4 - EVENT_DISP $14, $10, $3 ; SS_ANNE_6 - -SSAnne1Blocks: ; 0x612df 180 - INCBIN "maps/ssanne1.blk" - -SSAnne2_h: ; 0x61393 to 0x6139f (12 bytes) (id=96) - db $0d ; tileset - db SS_ANNE_2_HEIGHT, SS_ANNE_2_WIDTH ; dimensions (y, x) - dw SSAnne2Blocks, SSAnne2Texts, SSAnne2Script ; blocks, texts, scripts - db $00 ; connections - - dw SSAnne2Object ; objects - -SSAnne2Script: ; 0x6139f - call $3c3c - ld hl, SSAnne2Scripts - ld a, [$d665] - jp $3d97 -; 0x613ab - -INCBIN "baserom.gbc",$613ab,$613b3 - $613ab - -SSAnne2Scripts: ; 0x613b3 - dw SSAnne2Script0, SSAnne2Script1, SSAnne2Script2, SSAnne2Script3, SSAnne2Script4 - -SSAnne2Script4: ; 0x613bd - ret -; 0x613be - -SSAnne2Script0: ; 0x613be - ld hl, $5411 - call $34bf - ret nc - ld a, $ff - ld [$c0ee], a - call $23b1 - ld c, $2 - ld a, $de - call $23a1 - ld a, [$cd3d] - ld [$ff00+$db], a - ld a, $71 - ld [$cc4d], a - ld a, $15 - call Predef - call Delay3 - ld a, $2 - ld [$ff00+$8c], a - call $3541 - xor a - ld [$ff00+$b4], a - ld a, $f0 - ld [$cd6b], a - ld a, [$ff00+$db] - cp $2 - jr nz, .asm_61400 ; 0x613f9 $5 - ld de, $540c - jr .asm_61403 ; 0x613fe $3 -.asm_61400 - ld de, $540d -.asm_61403 - call $363a - ld a, $1 - ld [$d665], a - ret -; 0x6140c - -INCBIN "baserom.gbc",$6140c,$61430 - $6140c - -SSAnne2Script1: ; 0x61430 - ld a, [$d730] - bit 0, a - ret nz - call $5416 - xor a - ld [$cd6b], a - ld a, $2 - ld [$ff00+$8c], a - call $2920 - call Delay3 - ld a, $f2 - ld [$d059], a - - ; select which team to use during the encounter - ld a, [W_RIVALSTARTER] - cp SQUIRTLE - jr nz, .NotSquirtle\@ ; 0x61451 $4 - ld a, $1 - jr .done\@ -.NotSquirtle\@ - cp BULBASAUR - jr nz, .Charmander\@ ; 0x61459 $4 - ld a, $2 - jr .done\@ -.Charmander\@ - ld a, $3 -.done\@ - ld [W_TRAINERNO], a - - call $5416 - ld a, $2 - ld [$d665], a - ret -; 0x6146d - -SSAnne2Script2: ; 0x6146d - ld a, [$d057] - cp $ff - jp z, $53ab - call $5416 - ld a, $f0 - ld [$cd6b], a - ld a, $3 - ld [$ff00+$8c], a - call $2920 - ld a, $2 - ld [$ff00+$8c], a - call $3541 - ld a, [$d362] - cp $25 - jr nz, .asm_61497 ; 0x61490 $5 - ld de, $54b9 - jr .asm_6149a ; 0x61495 $3 -.asm_61497 - ld de, $54b7 -.asm_6149a - ld a, $2 - ld [$ff00+$8c], a - call $363a - ld a, $ff - ld [$c0ee], a - call $23b1 - ld b, $2 - ld hl, $5b47 - call Bankswitch - ld a, $3 - ld [$d665], a - ret -; 0x614b7 - -INCBIN "baserom.gbc",$614b7,$614be - $614b7 - -SSAnne2Script3: ; 0x614be - ld a, [$d730] - bit 0, a - ret nz - xor a - ld [$cd6b], a - ld a, $71 - ld [$cc4d], a - ld a, $11 - call Predef - call $2307 - ld a, $4 - ld [$d665], a - ret -; 0x614db - -SSAnne2Texts: ; 0x614db - dw SSAnne2Text1, SSAnne2Text2, SSAnne2Text3 - -SSAnne2Text1: ; 0x614e1 - TX_FAR _SSAnne2Text1 - db $50 - -SSAnne2Text2: ; 0x614e6 - db $8 - ld hl, UnnamedText_61500 - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, $5505 - ld de, $550a - call $3354 - jp TextScriptEnd -; 0x61500 - -UnnamedText_61500: ; 0x61500 - TX_FAR _UnnamedText_61500 - db $50 -; 0x61500 + 5 bytes - -UnnamedText_61505: ; 0x61505 - TX_FAR _UnnamedText_61505 - db $50 -; 0x61505 + 5 bytes - -UnnamedText_6150a: ; 0x6150a - TX_FAR _UnnamedText_6150a - db $50 -; 0x6150a + 5 bytes - -SSAnne2Text3: ; 0x6150f - TX_FAR _UnnamedText_6150f - db $50 -; 0x6150f + 5 bytes - -SSAnne2Object: ; 0x61514 (size=90) - db $c ; border tile - - db $9 ; warps - db $b, $9, $0, SS_ANNE_9 - db $b, $d, $2, SS_ANNE_9 - db $b, $11, $4, SS_ANNE_9 - db $b, $15, $6, SS_ANNE_9 - db $b, $19, $8, SS_ANNE_9 - db $b, $1d, $a, SS_ANNE_9 - db $4, $2, $8, SS_ANNE_1 - db $c, $2, $1, SS_ANNE_3 - db $4, $24, $0, SS_ANNE_7 - - db $0 ; signs - - db $2 ; people - db SPRITE_WAITER, $7 + 4, $3 + 4, $fe, $1, $1 ; person - db SPRITE_BLUE, $4 + 4, $24 + 4, $ff, $d0, $42, SONY1 + $C8, $1 ; trainer - - ; warp-to - EVENT_DISP $14, $b, $9 ; SS_ANNE_9 - EVENT_DISP $14, $b, $d ; SS_ANNE_9 - EVENT_DISP $14, $b, $11 ; SS_ANNE_9 - EVENT_DISP $14, $b, $15 ; SS_ANNE_9 - EVENT_DISP $14, $b, $19 ; SS_ANNE_9 - EVENT_DISP $14, $b, $1d ; SS_ANNE_9 - EVENT_DISP $14, $4, $2 ; SS_ANNE_1 - EVENT_DISP $14, $c, $2 ; SS_ANNE_3 - EVENT_DISP $14, $4, $24 ; SS_ANNE_7 - -SSAnne2Blocks: ; 0x6156e 180 - INCBIN "maps/ssanne2.blk" - -SSAnne4_h: ; 0x61622 to 0x6162e (12 bytes) (id=98) - db $0d ; tileset - db SS_ANNE_4_HEIGHT, SS_ANNE_4_WIDTH ; dimensions (y, x) - dw SSAnne4Blocks, SSAnne4Texts, SSAnne4Script ; blocks, texts, scripts - db $00 ; connections - - dw SSAnne4Object ; objects - -SSAnne4Script: ; 0x6162e - jp $3c3c -; 0x61631 - -SSAnne4Texts: - -INCBIN "baserom.gbc",$61631,$1 - -SSAnne4Object: ; 0x61632 (size=52) - db $c ; border tile - - db $6 ; warps - db $3, $17, $8, SS_ANNE_10 - db $3, $13, $6, SS_ANNE_10 - db $3, $f, $4, SS_ANNE_10 - db $3, $b, $2, SS_ANNE_10 - db $3, $7, $0, SS_ANNE_10 - db $5, $1b, $9, SS_ANNE_1 - - db $0 ; signs - - db $0 ; people - - ; warp-to - EVENT_DISP $f, $3, $17 ; SS_ANNE_10 - EVENT_DISP $f, $3, $13 ; SS_ANNE_10 - EVENT_DISP $f, $3, $f ; SS_ANNE_10 - EVENT_DISP $f, $3, $b ; SS_ANNE_10 - EVENT_DISP $f, $3, $7 ; SS_ANNE_10 - EVENT_DISP $f, $5, $1b ; SS_ANNE_1 - -SSAnne4Blocks: ; 0x61666 60 - INCBIN "maps/ssanne4.blk" - -SSAnne5_h: ; 0x616a2 to 0x616ae (12 bytes) (id=99) - db $0d ; tileset - db SS_ANNE_5_HEIGHT, SS_ANNE_5_WIDTH ; dimensions (y, x) - dw SSAnne5Blocks, SSAnne5Texts, SSAnne5Script ; blocks, texts, scripts - db $00 ; connections - - dw SSAnne5Object ; objects - -SSAnne5Script: ; 0x616ae - call $3c3c - ld hl, $56d1 - ld de, SSAnne5Script_Unknown616c1 - ld a, [$d617] - call $3160 - ld [$d617], a - ret -; 0x616c1 - -SSAnne5Script_Unknown616c1: ; 0x616c1 -INCBIN "baserom.gbc",$616c1,$6 - -SSAnne5Texts: ; 0x616c7 - dw SSAnne5Text1, SSAnne5Text2, SSAnne5Text3, SSAnne5Text4, SSAnne5Text5 - -SSAnneTrainerHeaders: -SSAnneTrainerHeader1: ; 0x616d1 - db $4 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7ff ; flag's byte - dw UnnamedText_61703 ; 0x5703 TextBeforeBattle - dw UnnamedText_6170d ; 0x570d TextAfterBattle - dw UnnamedText_61708 ; 0x5708 TextEndBattle - dw UnnamedText_61708 ; 0x5708 TextEndBattle -; 0x616dd - -TrainerHeader_616dd: ; 0x616dd - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7ff ; flag's byte - dw UnnamedText_6171c ; 0x571c TextBeforeBattle - dw UnnamedText_61726 ; 0x5726 TextAfterBattle - dw UnnamedText_61721 ; 0x5721 TextEndBattle - dw UnnamedText_61721 ; 0x5721 TextEndBattle -; 0x616e9 - -db $ff - -SSAnne5Text1: ; 0x616ea - TX_FAR _SSAnne5Text1 - db $50 - -SSAnne5Text2: ; 0x616ef - TX_FAR _SSAnne5Text2 - db $50 - -SSAnne5Text3: ; 0x616f4 - TX_FAR _SSAnne5Text3 - db $50 - -SSAnne5Text4: ; 0x616f9 - db $08 ; asm - ld hl, SSAnneTrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_61703: ; 0x61703 - TX_FAR _UnnamedText_61703 - db $50 -; 0x61703 + 5 bytes - -UnnamedText_61708: ; 0x61708 - TX_FAR _UnnamedText_61708 - db $50 -; 0x61708 + 5 bytes - -UnnamedText_6170d: ; 0x6170d - TX_FAR _UnnamedText_6170d - db $50 -; 0x6170d + 5 bytes - -SSAnne5Text5: ; 0x61712 - db $08 ; asm - ld hl, TrainerHeader_616dd - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_6171c: ; 0x6171c - TX_FAR _UnnamedText_6171c - db $50 -; 0x6171c + 5 bytes - -UnnamedText_61721: ; 0x61721 - TX_FAR _UnnamedText_61721 - db $50 -; 0x61721 + 5 bytes - -UnnamedText_61726: ; 0x61726 - TX_FAR _UnnamedText_61726 - db $50 -; 0x61726 + 5 bytes - -SSAnne5Object: ; 0x6172b (size=54) - db $23 ; border tile - - db $2 ; warps - db $6, $d, $0, SS_ANNE_3 - db $7, $d, $0, SS_ANNE_3 - - db $0 ; signs - - db $5 ; people - db SPRITE_BLACK_HAIR_BOY_2, $2 + 4, $5 + 4, $ff, $d1, $1 ; person - db SPRITE_SAILOR, $9 + 4, $4 + 4, $ff, $ff, $2 ; person - db SPRITE_BLACK_HAIR_BOY_1, $b + 4, $7 + 4, $ff, $ff, $3 ; person - db SPRITE_SAILOR, $4 + 4, $4 + 4, $ff, $d0, $44, SAILOR + $C8, $1 ; trainer - db SPRITE_SAILOR, $8 + 4, $a + 4, $ff, $d1, $45, SAILOR + $C8, $2 ; trainer - - ; warp-to - EVENT_DISP $a, $6, $d ; SS_ANNE_3 - EVENT_DISP $a, $7, $d ; SS_ANNE_3 - -SSAnne5Blocks: ; 0x61761 70 - INCBIN "maps/ssanne5.blk" - -SSAnne6_h: ; 0x617a7 to 0x617b3 (12 bytes) (id=100) - db $0d ; tileset - db SS_ANNE_6_HEIGHT, SS_ANNE_6_WIDTH ; dimensions (y, x) - dw SSAnne6Blocks, SSAnne6Texts, SSAnne6Script ; blocks, texts, scripts - db $00 ; connections - - dw SSAnne6Object ; objects - -SSAnne6Script: ; 0x617b3 - call $3c3c - ret -; 0x617b7 - -SSAnne6Texts: ; 0x617b7 - dw SSAnne6Text1, SSAnne6Text2, SSAnne6Text3, SSAnne6Text4, SSAnne6Text5, SSAnne6Text6, SSAnne6Text7 - -SSAnne6Text1: ; 0x617c5 - TX_FAR _SSAnne6Text1 - db $50 - -SSAnne6Text2: ; 0x617ca - TX_FAR _SSAnne6Text2 - db $50 - -SSAnne6Text3: ; 0x617cf - TX_FAR _SSAnne6Text3 - db $50 - -SSAnne6Text4: ; 0x617d4 - TX_FAR _SSAnne6Text4 - db $50 - -SSAnne6Text5: ; 0x617d9 - TX_FAR _SSAnne6Text5 - db $50 - -SSAnne6Text6: ; 0x617de - TX_FAR _SSAnne6Text6 - db $50 - -SSAnne6Text7: ; 0x617e3 - db $08 ; asm - ld hl, UnnamedText_61807 - call PrintText - ldh a, [$d3] - bit 7, a - jr z, .asm_93eb1 ; 0x617ee - ld hl, UnnamedText_6180c - jr .asm_63292 ; 0x617f3 -.asm_93eb1 ; 0x617f5 - bit 4, a - jr z, .asm_7436c ; 0x617f7 - ld hl, UnnamedText_61811 - jr .asm_63292 ; 0x617fc -.asm_7436c ; 0x617fe - ld hl, UnnamedText_61816 -.asm_63292 ; 0x61801 - call PrintText - jp TextScriptEnd - -UnnamedText_61807: ; 0x61807 - TX_FAR _UnnamedText_61807 - db $50 -; 0x61807 + 5 bytes - -UnnamedText_6180c: ; 0x6180c - TX_FAR _UnnamedText_6180c - db $50 -; 0x6180c + 5 bytes - -UnnamedText_61811: ; 0x61811 - TX_FAR _UnnamedText_61811 - db $50 -; 0x61811 + 5 bytes - -UnnamedText_61816: ; 0x61816 - TX_FAR _UnnamedText_61816 - db $50 -; 0x61816 + 5 bytes - -SSAnne6Object: ; 0x6181b (size=54) - db $c ; border tile - - db $1 ; warps - db $0, $6, $a, SS_ANNE_1 - - db $0 ; signs - - db $7 ; people - db SPRITE_COOK, $8 + 4, $1 + 4, $fe, $1, $1 ; person - db SPRITE_COOK, $8 + 4, $5 + 4, $fe, $1, $2 ; person - db SPRITE_COOK, $7 + 4, $9 + 4, $fe, $1, $3 ; person - db SPRITE_COOK, $6 + 4, $d + 4, $ff, $ff, $4 ; person - db SPRITE_COOK, $8 + 4, $d + 4, $ff, $ff, $5 ; person - db SPRITE_COOK, $a + 4, $d + 4, $ff, $ff, $6 ; person - db SPRITE_COOK, $d + 4, $b + 4, $ff, $d1, $7 ; person - - ; warp-to - EVENT_DISP $7, $0, $6 ; SS_ANNE_1 - -SSAnne6Blocks: ; 0x61851 56 - INCBIN "maps/ssanne6.blk" - -SSAnne7_h: ; 0x61889 to 0x61895 (12 bytes) (id=101) - db $0d ; tileset - db SS_ANNE_7_HEIGHT, SS_ANNE_7_WIDTH ; dimensions (y, x) - dw SSAnne7Blocks, SSAnne7Texts, SSAnne7Script ; blocks, texts, scripts - db $00 ; connections - - dw SSAnne7Object ; objects - -SSAnne7Script: ; 0x61895 - call SSAnne7Script_Unknown6189b - jp $3c3c -; 0x6189b - -SSAnne7Script_Unknown6189b: ; 0x6189b -INCBIN "baserom.gbc",$6189b,$c - -SSAnne7Texts: ; 0x618a7 - dw SSAnne7Text1, SSAnne7Text2, SSAnne7Text3 - -SSAnne7Text1: ; 0x618ad - db $08 ; asm - ld a, [$d803] - bit 0, a - jr nz, .asm_797c4 ; 0x618b3 - ld hl, SSAnne7RubText - call PrintText - ld hl, ReceivingHM01Text - call PrintText - ld bc, (HM_01 << 8) | 1 - call GiveItem - jr nc, .asm_ccdcd ; 0x618c7 - ld hl, ReceivedHM01Text - call PrintText - ld hl, $d803 - set 0, [hl] - jr .asm_0faf5 ; 0x618d4 -.asm_ccdcd ; 0x618d6 - ld hl, HM01NoRoomText - call PrintText - ld hl, $d72d - set 5, [hl] - jr .asm_0faf5 ; 0x618e1 -.asm_797c4 ; 0x618e3 - ld hl, UnnamedText_61932 - call PrintText -.asm_0faf5 ; 0x618e9 - jp TextScriptEnd - -SSAnne7RubText: ; 0x618ec - TX_FAR _SSAnne7RubText ; 0x812dd - db $8 - ld a, [$c0ef] - cp $1f - ld [$c0f0], a - jr nz, .asm_61908 ; 0x618f9 $d - ld a, $ff - ld [$c0ee], a - call $23b1 - ld a, $2 - ld [$c0ef], a -.asm_61908 - ld a, $e8 - ld [$c0ee], a - call $23b1 -.asm_61910 - ld a, [$c026] - cp $e8 - jr z, .asm_61910 ; 0x61915 $f9 - call $2307 - ld hl, $d803 - set 1, [hl] - ld hl, $d72d - res 5, [hl] - jp TextScriptEnd -; 0x61927 - -ReceivingHM01Text: ; 0x61927 - TX_FAR _ReceivingHM01Text - db $50 -; 0x61927 + 5 bytes - -ReceivedHM01Text: ; 0x6192c - TX_FAR _ReceivedHM01Text ; 0x8140d - db $11, $50 -; 0x6192c + 6 bytes = 0x61932 - -UnnamedText_61932: ; 0x61932 - TX_FAR _UnnamedText_61932 - db $50 -; 0x61932 + 5 bytes - -HM01NoRoomText: ; 0x61937 - TX_FAR _HM01NoRoomText - db $50 -; 0x61937 + 5 bytes - -SSAnne7Text2: ; 0x6193c - TX_FAR _SSAnne7Text2 - db $50 - -SSAnne7Text3: ; 0x61941 - TX_FAR _SSAnne7Text3 - db $50 - -SSAnne7Object: ; 0x61946 (size=24) - db $c ; border tile - - db $1 ; warps - db $7, $0, $8, SS_ANNE_2 - - db $2 ; signs - db $1, $4, $2 ; SSAnne7Text2 - db $2, $1, $3 ; SSAnne7Text3 - - db $1 ; people - db SPRITE_SS_CAPTAIN, $2 + 4, $4 + 4, $ff, $d1, $1 ; person - - ; warp-to - EVENT_DISP $3, $7, $0 ; SS_ANNE_2 - -SSAnne7Blocks: ; 0x6195e 12 - INCBIN "maps/ssanne7.blk" - -SSAnne8_h: ; 0x6196a to 0x61976 (12 bytes) (id=102) - db $0d ; tileset - db SS_ANNE_8_HEIGHT, SS_ANNE_8_WIDTH ; dimensions (y, x) - dw SSAnne8Blocks, SSAnne8Texts, SSAnne8Script ; blocks, texts, scripts - db $00 ; connections - - dw SSAnne8Object ; objects - -SSAnne8Script: ; 0x61976 - call $3c3c - ld hl, SSAnne8TrainerHeaders - ld de, SSAnne8Script_Unknown61989 - ld a, [$d608] - call $3160 - ld [$d608], a - ret -; 0x61989 - -SSAnne8Script_Unknown61989: ; 0x61989 -INCBIN "baserom.gbc",$61989,$6 - -SSAnne8Texts: ; 0x6198f - dw SSAnne8Text1, SSAnne8Text2, SSAnne8Text3, SSAnne8Text4, SSAnne8Text5, SSAnne8Text6, SSAnne8Text7, SSAnne8Text8, SSAnne8Text9, SSAnne8Text10, SSAnne8Text11 - -SSAnne8TrainerHeaders: -SSAnne8TrainerHeader1: ; 0x619a5 - db $1 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d805 ; flag's byte - dw UnnamedText_61a0b ; 0x5a0b TextBeforeBattle - dw UnnamedText_61a15 ; 0x5a15 TextAfterBattle - dw UnnamedText_61a10 ; 0x5a10 TextEndBattle - dw UnnamedText_61a10 ; 0x5a10 TextEndBattle -; 0x619b1 - -TrainerHeader_619b1: ; 0x619b1 - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d805 ; flag's byte - dw UnnamedText_61a1a ; 0x5a1a TextBeforeBattle - dw UnnamedText_5a24 ; 0x5a24 TextAfterBattle - dw UnnamedText_61a1f ; 0x5a1f TextEndBattle - dw UnnamedText_61a1f ; 0x5a1f TextEndBattle -; 0x619bd - -TrainerHeader_619bd: ; 0x619bd - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d805 ; flag's byte - dw UnnamedText_61a29 ; 0x5a29 TextBeforeBattle - dw UnnamedText_61a33 ; 0x5a33 TextAfterBattle - dw UnnamedText_61a2e ; 0x5a2e TextEndBattle - dw UnnamedText_61a2e ; 0x5a2e TextEndBattle -; 0x619c9 - -TrainerHeader_619c9: ; 0x619c9 - db $4 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d805 ; flag's byte - dw UnnamedText_61a38 ; 0x5a38 TextBeforeBattle - dw UnnamedText_61a42 ; 0x5a42 TextAfterBattle - dw UnnamedText_61a3d ; 0x5a3d TextEndBattle - dw UnnamedText_61a3d ; 0x5a3d TextEndBattle -; 0x619d5 - -db $ff - -SSAnne8Text1: ; 0x619d6 - db $08 ; asm - ld hl, SSAnne8TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -SSAnne8Text2: ; 0x619e0 - db $08 ; asm - ld hl, TrainerHeader_619b1 - call LoadTrainerHeader - jp TextScriptEnd - -SSAnne8Text3: ; 0x619ea - db $08 ; asm - ld hl, TrainerHeader_619bd - call LoadTrainerHeader - jp TextScriptEnd - -SSAnne8Text4: ; 0x619f4 - db $08 ; asm - ld hl, TrainerHeader_619c9 - call LoadTrainerHeader - jp TextScriptEnd - -SSAnne8Text8: ; 0x619fe - TX_FAR _SSAnne8Text8 - db $08 ; asm - ld a, $65 - call $13d0 - jp TextScriptEnd - -UnnamedText_61a0b: ; 0x61a0b - TX_FAR _UnnamedText_61a0b - db $50 -; 0x61a0b + 5 bytes - -UnnamedText_61a10: ; 0x61a10 - TX_FAR _UnnamedText_61a10 - db $50 -; 0x61a10 + 5 bytes - -UnnamedText_61a15: ; 0x61a15 - TX_FAR _UnnamedText_61a15 - db $50 -; 0x61a15 + 5 bytes - -UnnamedText_61a1a: ; 0x61a1a - TX_FAR _UnnamedText_61a1a - db $50 -; 0x61a1a + 5 bytes - -UnnamedText_61a1f: ; 0x61a1f - TX_FAR _UnnamedText_61a1f - db $50 -; 0x61a1f + 5 bytes - -UnnamedText_61a24: ; 0x61a24 - TX_FAR _UnnamedText_61a24 - db $50 -; 0x61a24 + 5 bytes - -UnnamedText_61a29: ; 0x61a29 - TX_FAR _UnnamedText_61a29 - db $50 -; 0x61a29 + 5 bytes - -UnnamedText_61a2e: ; 0x61a2e - TX_FAR _UnnamedText_61a2e - db $50 -; 0x61a2e + 5 bytes - -UnnamedText_61a33: ; 0x61a33 - TX_FAR _UnnamedText_61a33 - db $50 -; 0x61a33 + 5 bytes - -UnnamedText_61a38: ; 0x61a38 - TX_FAR _UnnamedText_61a38 - db $50 -; 0x61a38 + 5 bytes - -UnnamedText_61a3d: ; 0x61a3d - TX_FAR _UnnamedText_61a3d - db $50 -; 0x61a3d + 5 bytes - -UnnamedText_61a42: ; 0x61a42 - TX_FAR _UnnamedText_61a42 - db $50 -; 0x61a42 + 5 bytes - -SSAnne8Text5: ; 0x61a47 - TX_FAR _SSAnne8Text5 - db $50 - -SSAnne8Text6: ; 0x61a4c - TX_FAR _SSAnne8Text6 - db $50 - -SSAnne8Text7: ; 0x61a51 - TX_FAR _SSAnne8Text7 - db $50 - -SSAnne8Text9: ; 0x61a56 - TX_FAR _SSAnne8Text9 - db $50 - -SSAnne8Text11: ; 0x61a5b - TX_FAR _SSAnne8Text11 - db $50 - -SSAnne8Object: ; 0x61a60 (size=127) - db $c ; border tile - - db $6 ; warps - db $0, $0, $2, SS_ANNE_1 - db $0, $a, $3, SS_ANNE_1 - db $0, $14, $4, SS_ANNE_1 - db $a, $0, $5, SS_ANNE_1 - db $a, $a, $6, SS_ANNE_1 - db $a, $14, $7, SS_ANNE_1 - - db $0 ; signs - - db $b ; people - db SPRITE_GENTLEMAN, $3 + 4, $2 + 4, $ff, $d2, $41, GENTLEMAN + $C8, $1 ; trainer - db SPRITE_GENTLEMAN, $4 + 4, $b + 4, $ff, $d1, $42, GENTLEMAN + $C8, $2 ; trainer - db SPRITE_BUG_CATCHER, $e + 4, $b + 4, $ff, $d1, $43, YOUNGSTER + $C8, $8 ; trainer - db SPRITE_LASS, $b + 4, $d + 4, $ff, $d2, $44, LASS + $C8, $b ; trainer - db SPRITE_GIRL, $3 + 4, $16 + 4, $fe, $1, $5 ; person - db SPRITE_FAT_BALD_GUY, $e + 4, $0 + 4, $ff, $ff, $6 ; person - db SPRITE_LITTLE_GIRL, $b + 4, $2 + 4, $ff, $d0, $7 ; person - db SPRITE_CLEFAIRY, $b + 4, $3 + 4, $ff, $d0, $8 ; person - db SPRITE_GIRL, $d + 4, $a + 4, $ff, $d3, $9 ; person - db SPRITE_BALL, $f + 4, $c + 4, $ff, $ff, $8a, TM_08 ; item - db SPRITE_GENTLEMAN, $d + 4, $15 + 4, $fe, $2, $b ; person - - ; warp-to - EVENT_DISP $c, $0, $0 ; SS_ANNE_1 - EVENT_DISP $c, $0, $a ; SS_ANNE_1 - EVENT_DISP $c, $0, $14 ; SS_ANNE_1 - EVENT_DISP $c, $a, $0 ; SS_ANNE_1 - EVENT_DISP $c, $a, $a ; SS_ANNE_1 - EVENT_DISP $c, $a, $14 ; SS_ANNE_1 - -SSAnne8Blocks: ; 0x61adf 96 - INCBIN "maps/ssanne8.blk" - -SSAnne9_h: ; 0x61b3f to 0x61b4b (12 bytes) (id=103) - db $0d ; tileset - db SS_ANNE_9_HEIGHT, SS_ANNE_9_WIDTH ; dimensions (y, x) - dw SSAnne9Blocks, SSAnne9Texts, SSAnne9Script ; blocks, texts, scripts - db $00 ; connections - - dw SSAnne9Object ; objects - -SSAnne9Script: ; 0x61b4b - ld a, $1 - ld [$cf0c], a - xor a - ld [$cc3c], a - ld hl, SSAnne9TrainerHeaders - ld de, SSAnne9Script_Unknown61b64 - ld a, [$d609] - call $3160 - ld [$d609], a - ret -; 0x61b64 - -SSAnne9Script_Unknown61b64: ; 0x61b64 -INCBIN "baserom.gbc",$61b64,$6 - -SSAnne9Texts: ; 0x61b6a - dw SSAnne9Text1, SSAnne9Text2, SSAnne9Text3, SSAnne9Text4, SSAnne9Text5, SSAnne9Text6, SSAnne9Text7, SSAnne9Text8, SSAnne9Text9, SSAnne9Text10, SSAnne9Text11, SSAnne9Text12, SSAnne9Text13 - -SSAnne9TrainerHeaders: -SSAnne9TrainerHeader1: ; 0x61b84 - db $1 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d807 ; flag's byte - dw UnnamedText_61c51 ; 0x5c51 TextBeforeBattle - dw UnnamedText_61c5b ; 0x5c5b TextAfterBattle - dw UnnamedText_61c56 ; 0x5c56 TextEndBattle - dw UnnamedText_61c56 ; 0x5c56 TextEndBattle -; 0x61b90 - -TrainerHeader_61b90: ; 0x61b90 - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d807 ; flag's byte - dw UnnamedText_61c60 ; 0x5c60 TextBeforeBattle - dw UnnamedText_61c6a ; 0x5c6a TextAfterBattle - dw UnnamedText_61c65 ; 0x5c65 TextEndBattle - dw UnnamedText_61c65 ; 0x5c65 TextEndBattle -; 0x61b9c - -TrainerHeader_61b9c: ; 0x61b9c - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d807 ; flag's byte - dw UnnamedText_61c6f ; 0x5c6f TextBeforeBattle - dw UnnamedText_61c79 ; 0x5c79 TextAfterBattle - dw UnnamedText_61c74 ; 0x5c74 TextEndBattle - dw UnnamedText_61c74 ; 0x5c74 TextEndBattle -; 0x61ba8 - -TrainerHeader_61ba8: ; 0x61ba8 - db $4 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d807 ; flag's byte - dw UnnamedText_61c7e ; 0x5c7e TextBeforeBattle - dw UnnamedText_61c88 ; 0x5c88 TextAfterBattle - dw UnnamedText_61c83 ; 0x5c83 TextEndBattle - dw UnnamedText_61c83 ; 0x5c83 TextEndBattle -; 0x61bb4 - - -db $ff - -SSAnne9Text1: ; 0x61bb5 - db $08 ; asm - ld hl, SSAnne9TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -SSAnne9Text2: ; 0x61bbf - db $08 ; asm - ld hl, TrainerHeader_61b90 - call LoadTrainerHeader - jp TextScriptEnd - -SSAnne9Text3: ; 0x61bc9 - db $08 ; asm - ld hl, TrainerHeader_61b9c - call LoadTrainerHeader - jp TextScriptEnd - -SSAnne9Text4: ; 0x61bd3 - db $08 ; asm - ld hl, TrainerHeader_61ba8 - call LoadTrainerHeader - jp TextScriptEnd - -SSAnne9Text5: ; 0x61bdd - db $08 ; asm - call $3719 - ld hl, UnnamedText_61bf2 - call PrintText - call $3725 - ld a, $84 - call $349b - jp TextScriptEnd - -UnnamedText_61bf2: ; 0x61bf2 - TX_FAR _UnnamedText_61bf2 - db $50 -; 0x61bf2 + 5 bytes - -SSAnne9Text7: ; 0x61bf7 - db $08 ; asm - ld hl, UnnamedText_61c01 - call PrintText - jp TextScriptEnd - -UnnamedText_61c01: ; 0x61c01 - TX_FAR _UnnamedText_61c01 - db $50 -; 0x61c01 + 5 bytes - -SSAnne9Text8: ; 0x61c06 - db $08 ; asm - ld hl, UnnamedText_61c10 - call PrintText - jp TextScriptEnd - -UnnamedText_61c10: ; 0x61c10 - TX_FAR _UnnamedText_61c10 - db $50 -; 0x61c10 + 5 bytes - -SSAnne9Text10: ; 0x61c15 - db $08 ; asm - ld hl, UnnamedText_61c1f - call PrintText - jp TextScriptEnd - -UnnamedText_61c1f: ; 0x61c1f - TX_FAR _UnnamedText_61c1f - db $50 -; 0x61c1f + 5 bytes - -SSAnne9Text11: ; 0x61c24 - db $08 ; asm - ld hl, UnnamedText_61c2e - call PrintText - jp TextScriptEnd - -UnnamedText_61c2e: ; 0x61c2e - TX_FAR _UnnamedText_61c2e - db $50 -; 0x61c2e + 5 bytes - -SSAnne9Text12: ; 0x61c33 - db $08 ; asm - ld hl, UnnamedText_61c3d - call PrintText - jp TextScriptEnd - -UnnamedText_61c3d: ; 0x61c3d - TX_FAR _UnnamedText_61c3d - db $50 -; 0x61c3d + 5 bytes - -SSAnne9Text13: ; 0x61c42 - db $08 ; asm - ld hl, UnnamedText_61c4c - call PrintText - jp TextScriptEnd - -UnnamedText_61c4c: ; 0x61c4c - TX_FAR _UnnamedText_61c4c - db $50 -; 0x61c4c + 5 bytes - -UnnamedText_61c51: ; 0x61c51 - TX_FAR _UnnamedText_61c51 - db $50 -; 0x61c51 + 5 bytes - -UnnamedText_61c56: ; 0x61c56 - TX_FAR _UnnamedText_61c56 - db $50 -; 0x61c56 + 5 bytes - -UnnamedText_61c5b: ; 0x61c5b - TX_FAR _UnnamedText_61c5b - db $50 -; 0x61c5b + 5 bytes - -UnnamedText_61c60: ; 0x61c60 - TX_FAR _UnnamedText_61c60 - db $50 -; 0x61c60 + 5 bytes - -UnnamedText_61c65: ; 0x61c65 - TX_FAR _UnnamedText_61c65 - db $50 -; 0x61c65 + 5 bytes - -UnnamedText_61c6a: ; 0x61c6a - TX_FAR _UnnamedText_61c6a - db $50 -; 0x61c6a + 5 bytes - -UnnamedText_61c6f: ; 0x61c6f - TX_FAR _UnnamedText_61c6f - db $50 -; 0x61c6f + 5 bytes - -UnnamedText_61c74: ; 0x61c74 - TX_FAR _UnnamedText_61c74 - db $50 -; 0x61c74 + 5 bytes - -UnnamedText_61c79: ; 0x61c79 - TX_FAR _UnnamedText_61c79 - db $50 -; 0x61c79 + 5 bytes - -UnnamedText_61c7e: ; 0x61c7e - TX_FAR _UnnamedText_61c7e - db $50 -; 0x61c7e + 5 bytes - -UnnamedText_61c83: ; 0x61c83 - TX_FAR _UnnamedText_61c83 - db $50 -; 0x61c83 + 5 bytes - -UnnamedText_61c88: ; 0x61c88 - TX_FAR _UnnamedText_61c88 - db $50 -; 0x61c88 + 5 bytes - -SSAnne9Object: ; 0x61c8d (size=188) - db $c ; border tile - - db $c ; warps - db $5, $2, $0, SS_ANNE_2 - db $5, $3, $0, SS_ANNE_2 - db $5, $c, $1, SS_ANNE_2 - db $5, $d, $1, SS_ANNE_2 - db $5, $16, $2, SS_ANNE_2 - db $5, $17, $2, SS_ANNE_2 - db $f, $2, $3, SS_ANNE_2 - db $f, $3, $3, SS_ANNE_2 - db $f, $c, $4, SS_ANNE_2 - db $f, $d, $4, SS_ANNE_2 - db $f, $16, $5, SS_ANNE_2 - db $f, $17, $5, SS_ANNE_2 - - db $0 ; signs - - db $d ; people - db SPRITE_GENTLEMAN, $2 + 4, $a + 4, $ff, $d3, $41, GENTLEMAN + $C8, $3 ; trainer - db SPRITE_FISHER2, $4 + 4, $d + 4, $ff, $d2, $42, FISHER + $C8, $1 ; trainer - db SPRITE_GENTLEMAN, $e + 4, $0 + 4, $ff, $d3, $43, GENTLEMAN + $C8, $5 ; trainer - db SPRITE_LASS, $b + 4, $2 + 4, $ff, $d0, $44, LASS + $C8, $c ; trainer - db SPRITE_GENTLEMAN, $2 + 4, $1 + 4, $ff, $d0, $5 ; person - db SPRITE_BALL, $1 + 4, $c + 4, $ff, $ff, $86, MAX_ETHER ; item - db SPRITE_GENTLEMAN, $2 + 4, $15 + 4, $ff, $d0, $7 ; person - db SPRITE_OLD_PERSON, $1 + 4, $16 + 4, $ff, $d0, $8 ; person - db SPRITE_BALL, $c + 4, $0 + 4, $ff, $ff, $89, RARE_CANDY ; item - db SPRITE_GENTLEMAN, $c + 4, $c + 4, $ff, $d0, $a ; person - db SPRITE_YOUNG_BOY, $e + 4, $b + 4, $ff, $ff, $b ; person - db SPRITE_BRUNETTE_GIRL, $c + 4, $16 + 4, $ff, $d2, $c ; person - db SPRITE_FOULARD_WOMAN, $c + 4, $14 + 4, $ff, $d3, $d ; person - - ; warp-to - EVENT_DISP $c, $5, $2 ; SS_ANNE_2 - EVENT_DISP $c, $5, $3 ; SS_ANNE_2 - EVENT_DISP $c, $5, $c ; SS_ANNE_2 - EVENT_DISP $c, $5, $d ; SS_ANNE_2 - EVENT_DISP $c, $5, $16 ; SS_ANNE_2 - EVENT_DISP $c, $5, $17 ; SS_ANNE_2 - EVENT_DISP $c, $f, $2 ; SS_ANNE_2 - EVENT_DISP $c, $f, $3 ; SS_ANNE_2 - EVENT_DISP $c, $f, $c ; SS_ANNE_2 - EVENT_DISP $c, $f, $d ; SS_ANNE_2 - EVENT_DISP $c, $f, $16 ; SS_ANNE_2 - EVENT_DISP $c, $f, $17 ; SS_ANNE_2 - -SSAnne10_h: ; 0x61d49 to 0x61d55 (12 bytes) (id=104) - db $0d ; tileset - db SS_ANNE_10_HEIGHT, SS_ANNE_10_WIDTH ; dimensions (y, x) - dw SSAnne10Blocks, SSAnne10Texts, SSAnne10Script ; blocks, texts, scripts - db $00 ; connections - - dw SSAnne10Object ; objects - -SSAnne10Script: ; 0x61d55 - call $3c3c - ld hl, SSAnne10TrainerHeaders - ld de, SSAnne10Script_Unknown61d68 - ld a, [$d629] - call $3160 - ld [$d629], a - ret -; 0x61d68 - -SSAnne10Script_Unknown61d68: ; 0x61d68 -INCBIN "baserom.gbc",$61d68,$6 - -SSAnne10Texts: ; 0x61d6e - dw SSAnne10Text1, SSAnne10Text2, SSAnne10Text3, SSAnne10Text4, SSAnne10Text5, SSAnne10Text6, SSAnne10Text7, SSAnne10Text8, SSAnne10Text9, SSAnne10Text10, SSAnne10Text11 - -SSAnne10TrainerHeaders: -SSAnne10TrainerHeader1: ; 0x61d84 - db $1 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d809 ; flag's byte - dw UnnamedText_61e16 ; 0x5e16 TextBeforeBattle - dw UnnamedText_61e20 ; 0x5e20 TextAfterBattle - dw UnnamedText_61e1b ; 0x5e1b TextEndBattle - dw UnnamedText_61e1b ; 0x5e1b TextEndBattle -; 0x61d90 - -TrainerHeader_61d90: ; 0x61d90 - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d809 ; flag's byte - dw UnnamedText_61e25 ; 0x5e25 TextBeforeBattle - dw UnnamedText_61e2f ; 0x5e2f TextAfterBattle - dw UnnamedText_61e2a ; 0x5e2a TextEndBattle - dw UnnamedText_61e2a ; 0x5e2a TextEndBattle -; 0x61d9c - -TrainerHeader_61d9c: ; 0x61d9c - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d809 ; flag's byte - dw UnnamedText_61e34 ; 0x5e34 TextBeforeBattle - dw UnnamedText_61e3e ; 0x5e3e TextAfterBattle - dw UnnamedText_61e39 ; 0x5e39 TextEndBattle - dw UnnamedText_61e39 ; 0x5e39 TextEndBattle -; 0x61da8 - -TrainerHeader_61da8: ; 0x61da8 - db $4 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d809 ; flag's byte - dw UnnamedText_61e43 ; 0x5e43 TextBeforeBattle - dw UnnamedText_61e4d ; 0x5e4d TextAfterBattle - dw UnnamedText_61e48 ; 0x5e48 TextEndBattle - dw UnnamedText_61e48 ; 0x5e48 TextEndBattle -; 0x61db4 - -TrainerHeader_61db4: ; 0x61db4 - db $5 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d809 ; flag's byte - dw UnnamedText_61e52 ; 0x5e52 TextBeforeBattle - dw UnnamedText_61e5c ; 0x5e5c TextAfterBattle - dw UnnamedText_61e57 ; 0x5e57 TextEndBattle - dw UnnamedText_61e57 ; 0x5e57 TextEndBattle -; 0x61dc0 - -TrainerHeader_61dc0: ; 0x61dc0 - db $6 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d809 ; flag's byte - dw UnnamedText_61e61 ; 0x5e61 TextBeforeBattle - dw UnnamedText_61e6b ; 0x5e6b TextAfterBattle - dw UnnamedText_61e66 ; 0x5e66 TextEndBattle - dw UnnamedText_61e66 ; 0x5e66 TextEndBattle -; 0x61dcc - -db $ff - -SSAnne10Text1: ; 0x61dcd - db $08 ; asm - ld hl, SSAnne10TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -SSAnne10Text2: ; 0x61dd7 - db $08 ; asm - ld hl, TrainerHeader_61d90 - call LoadTrainerHeader - jp TextScriptEnd - -SSAnne10Text3: ; 0x61de1 - db $08 ; asm - ld hl, TrainerHeader_61d9c - call LoadTrainerHeader - jp TextScriptEnd - -SSAnne10Text4: ; 0x61deb - db $08 ; asm - ld hl, TrainerHeader_61da8 - call LoadTrainerHeader - jp TextScriptEnd - -SSAnne10Text5: ; 0x61df5 - db $08 ; asm - ld hl, TrainerHeader_61db4 - call LoadTrainerHeader - jp TextScriptEnd - -SSAnne10Text6: ; 0x61dff - db $08 ; asm - ld hl, TrainerHeader_61dc0 - call LoadTrainerHeader - jp TextScriptEnd - -SSAnne10Text8: ; 0x61e09 - TX_FAR _SSAnne10Text8 - db $8 ; 0x61e0d - ld a, $29 - call $13d0 - jp TextScriptEnd - -UnnamedText_61e16: ; 0x61e16 - TX_FAR _UnnamedText_61e16 - db $50 -; 0x61e16 + 5 bytes - -UnnamedText_61e1b: ; 0x61e1b - TX_FAR _UnnamedText_61e1b - db $50 -; 0x61e1b + 5 bytes - -UnnamedText_61e20: ; 0x61e20 - TX_FAR _UnnamedText_61e20 - db $50 -; 0x61e20 + 5 bytes - -UnnamedText_61e25: ; 0x61e25 - TX_FAR _UnnamedText_61e25 - db $50 -; 0x61e25 + 5 bytes - -UnnamedText_61e2a: ; 0x61e2a - TX_FAR _UnnamedText_61e2a - db $50 -; 0x61e2a + 5 bytes - -UnnamedText_61e2f: ; 0x61e2f - TX_FAR _UnnamedText_61e2f - db $50 -; 0x61e2f + 5 bytes - -UnnamedText_61e34: ; 0x61e34 - TX_FAR _UnnamedText_61e34 - db $50 -; 0x61e34 + 5 bytes - -UnnamedText_61e39: ; 0x61e39 - TX_FAR _UnnamedText_61e39 - db $50 -; 0x61e39 + 5 bytes - -UnnamedText_61e3e: ; 0x61e3e - TX_FAR _UnnamedText_61e3e - db $50 -; 0x61e3e + 5 bytes - -UnnamedText_61e43: ; 0x61e43 - TX_FAR _UnnamedText_61e43 - db $50 -; 0x61e43 + 5 bytes - -UnnamedText_61e48: ; 0x61e48 - TX_FAR _UnnamedText_61e48 - db $50 -; 0x61e48 + 5 bytes - -UnnamedText_61e4d: ; 0x61e4d - TX_FAR _UnnamedText_61e4d - db $50 -; 0x61e4d + 5 bytes - -UnnamedText_61e52: ; 0x61e52 - TX_FAR _UnnamedText_61e52 - db $50 -; 0x61e52 + 5 bytes - -UnnamedText_61e57: ; 0x61e57 - TX_FAR _UnnamedText_61e57 - db $50 -; 0x61e57 + 5 bytes - -UnnamedText_61e5c: ; 0x61e5c - TX_FAR _UnnamedText_61e5c - db $50 -; 0x61e5c + 5 bytes - -UnnamedText_61e61: ; 0x61e61 - TX_FAR _UnnamedText_61e61 - db $50 -; 0x61e61 + 5 bytes - -UnnamedText_61e66: ; 0x61e66 - TX_FAR _UnnamedText_61e66 - db $50 -; 0x61e66 + 5 bytes - -UnnamedText_61e6b: ; 0x61e6b - TX_FAR _UnnamedText_61e6b - db $50 -; 0x61e6b + 5 bytes - -SSAnne10Text7: ; 0x61e70 - TX_FAR _SSAnne10Text7 - db $50 - -SSAnne10Object: ; 0x61e75 (size=165) - db $c ; border tile - - db $a ; warps - db $5, $2, $4, SS_ANNE_4 - db $5, $3, $4, SS_ANNE_4 - db $5, $c, $3, SS_ANNE_4 - db $5, $d, $3, SS_ANNE_4 - db $5, $16, $2, SS_ANNE_4 - db $5, $17, $2, SS_ANNE_4 - db $f, $2, $1, SS_ANNE_4 - db $f, $3, $1, SS_ANNE_4 - db $f, $c, $0, SS_ANNE_4 - db $f, $d, $0, SS_ANNE_4 - - db $0 ; signs - - db $b ; people - db SPRITE_SAILOR, $d + 4, $0 + 4, $ff, $d0, $41, SAILOR + $C8, $3 ; trainer - db SPRITE_SAILOR, $b + 4, $2 + 4, $ff, $d0, $42, SAILOR + $C8, $4 ; trainer - db SPRITE_SAILOR, $3 + 4, $c + 4, $ff, $d2, $43, SAILOR + $C8, $5 ; trainer - db SPRITE_SAILOR, $2 + 4, $16 + 4, $ff, $d0, $44, SAILOR + $C8, $6 ; trainer - db SPRITE_SAILOR, $2 + 4, $0 + 4, $ff, $d3, $45, SAILOR + $C8, $7 ; trainer - db SPRITE_FISHER2, $4 + 4, $0 + 4, $ff, $d3, $46, FISHER + $C8, $2 ; trainer - db SPRITE_BLACK_HAIR_BOY_2, $d + 4, $a + 4, $ff, $d3, $7 ; person - db SPRITE_SLOWBRO, $c + 4, $b + 4, $ff, $ff, $8 ; person - db SPRITE_BALL, $2 + 4, $14 + 4, $ff, $ff, $89, ETHER ; item - db SPRITE_BALL, $2 + 4, $a + 4, $ff, $ff, $8a, TM_44 ; item - db SPRITE_BALL, $b + 4, $c + 4, $ff, $ff, $8b, MAX_POTION ; item - - ; warp-to - EVENT_DISP $c, $5, $2 ; SS_ANNE_4 - EVENT_DISP $c, $5, $3 ; SS_ANNE_4 - EVENT_DISP $c, $5, $c ; SS_ANNE_4 - EVENT_DISP $c, $5, $d ; SS_ANNE_4 - EVENT_DISP $c, $5, $16 ; SS_ANNE_4 - EVENT_DISP $c, $5, $17 ; SS_ANNE_4 - EVENT_DISP $c, $f, $2 ; SS_ANNE_4 - EVENT_DISP $c, $f, $3 ; SS_ANNE_4 - EVENT_DISP $c, $f, $c ; SS_ANNE_4 - EVENT_DISP $c, $f, $d ; SS_ANNE_4 - -UndergroundPathNS_h: ; 0x61f1a to 0x61f26 (12 bytes) (id=119) - db $0b ; tileset - db UNDERGROUND_PATH_NS_HEIGHT, UNDERGROUND_PATH_NS_WIDTH ; dimensions (y, x) - dw UndergroundPathNSBlocks, UndergroundPathNSTexts, UndergroundPathNSScript ; blocks, texts, scripts - db $00 ; connections - - dw UndergroundPathNSObject ; objects - -UndergroundPathNSScript: ; 0x61f26 - jp $3c3c -; 0x61f29 - -UndergroundPathNSTexts: - db $50 - -UndergroundPathNSObject: ; 0x61f2a (size=20) - db $1 ; border tile - - db $2 ; warps - db $4, $5, $2, PATH_ENTRANCE_ROUTE_5 - db $29, $2, $2, PATH_ENTRANCE_ROUTE_6 - - db $0 ; signs - - db $0 ; people - - ; warp-to - EVENT_DISP $4, $4, $5 ; PATH_ENTRANCE_ROUTE_5 - EVENT_DISP $4, $29, $2 ; PATH_ENTRANCE_ROUTE_6 - -UndergroundPathWE_h: ; 0x61f3e to 0x61f4a (12 bytes) (id=121) - db $0b ; tileset - db UNDERGROUND_PATH_WE_HEIGHT, UNDERGROUND_PATH_WE_WIDTH ; dimensions (y, x) - dw $41f4, UndergroundPathWETexts, UndergroundPathWEScript ; blocks, texts, scripts - db $00 ; connections - - dw UndergroundPathWEObject ; objects - -UndergroundPathWEScript: ; 0x61f4a - jp $3c3c -; 0x61f4d - -UndergroundPathWETexts: - db $50 - -UndergroundPathWEObject: ; 0x61f4e (size=20) - db $1 ; border tile - - db $2 ; warps - db $5, $2, $2, PATH_ENTRANCE_ROUTE_7 - db $2, $2f, $2, PATH_ENTRANCE_ROUTE_8 - - db $0 ; signs - - db $0 ; people - - ; warp-to - EVENT_DISP $19, $5, $2 ; PATH_ENTRANCE_ROUTE_7 - EVENT_DISP $19, $2, $2f ; PATH_ENTRANCE_ROUTE_8 - -DiglettsCave_h: ; 0x61f62 to 0x61f6e (12 bytes) (id=197) - db $11 ; tileset - db DIGLETTS_CAVE_HEIGHT, DIGLETTS_CAVE_WIDTH ; dimensions (y, x) - dw DiglettsCaveBlocks, DiglettsCaveTexts, DiglettsCaveScript ; blocks, texts, scripts - db $00 ; connections - - dw DiglettsCaveObject ; objects - -DiglettsCaveScript: ; 0x61f6e - jp $3c3c -; 0x61f71 - -DiglettsCaveTexts: - db $50 - -DiglettsCaveObject: ; 0x61f72 (size=20) - db $19 ; border tile - - db $2 ; warps - db $5, $5, $2, DIGLETTS_CAVE_EXIT - db $1f, $25, $2, DIGLETTS_CAVE_ENTRANCE - - db $0 ; signs - - db $0 ; people - - ; warp-to - EVENT_DISP $14, $5, $5 ; DIGLETTS_CAVE_EXIT - EVENT_DISP $14, $1f, $25 ; DIGLETTS_CAVE_ENTRANCE - -DiglettsCaveBlocks: ; 0x61f86 360 - INCBIN "maps/diglettscave.blk" - -SilphCo11_h: ; 0x620ee to 0x620fa (12 bytes) (id=235) - db $10 ; tileset - db SILPH_CO_11F_HEIGHT, SILPH_CO_11F_WIDTH ; dimensions (y, x) - dw SilphCo11Blocks, SilphCo11Texts, SilphCo11Script ; blocks, texts, scripts - db $00 ; connections - - dw SilphCo11Object ; objects - -SilphCo11Script: ; 0x620fa - call SilphCo11Script_Unknown62110 - call $3c3c - ld hl, SilphCo11TrainerHeaders - ld de, $61cf - ld a, [$d659] - call $3160 - ld [$d659], a - ret -; 0x62110 - -SilphCo11Script_Unknown62110: ; 0x62110 -INCBIN "baserom.gbc",$62110,$1a7 - -SilphCo11Texts: ; 0x622b7 - dw SilphCo11Text1, SilphCo11Text2, SilphCo11Text3, SilphCo11Text4, SilphCo11Text5, SilphCo11Text6 - -SilphCo11TrainerHeaders: -SilphCo11TrainerHeader1: ; 0x622c3 - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d837 ; flag's byte - dw UnnamedText_62344 ; 0x6344 TextBeforeBattle - dw UnnamedText_6234e ; 0x634e TextAfterBattle - dw UnnamedText_62349 ; 0x6349 TextEndBattle - dw UnnamedText_62349 ; 0x6349 TextEndBattle -; 0x622cf - -TrainerHeader_622cf: ; 0x622cf - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d837 ; flag's byte - dw UnnamedText_6235d ; 0x635d TextBeforeBattle - dw UnnamedText_62367 ; 0x6367 TextAfterBattle - dw UnnamedText_62362 ; 0x6362 TextEndBattle - dw UnnamedText_62362 ; 0x6362 TextEndBattle -; 0x622db - -db $ff - -SilphCo11Text1: ; 0x622dc - db $08 ; asm - ld a, [$d838] - bit 5, a - jp nz, .asm_62308 - ld hl, SilphCoPresidentText - call PrintText - ld bc, (MASTER_BALL << 8) | 1 - call GiveItem - jr nc, .asm_36088 ; 0x622f1 - ld hl, ReceivedSilphCoMasterBallText - call PrintText - ld hl, $d838 - set 5, [hl] - jr .asm_fd405 ; 0x622fe -.asm_36088 ; 0x62300 - ld hl, SilphCoMasterBallNoRoomText - call PrintText - jr .asm_fd405 ; 0x62306 -.asm_62308 ; 0x62308 - ld hl, UnnamedText_6231c - call PrintText -.asm_fd405 ; 0x6230e - jp TextScriptEnd - -SilphCoPresidentText: ; 0x62311 - TX_FAR _SilphCoPresidentText - db $50 -; 0x62311 + 5 bytes - -ReceivedSilphCoMasterBallText: ; 0x62316 - TX_FAR _ReceivedSilphCoMasterBallText ; 0x84f63 - db $11, $50 -; 0x62316 + 6 bytes = 0x6231c - -UnnamedText_6231c: ; 0x6231c - TX_FAR _UnnamedText_6231c - db $50 -; 0x6231c + 5 bytes - -SilphCoMasterBallNoRoomText: ; 0x62321 - TX_FAR _SilphCoMasterBallNoRoomText - db $50 -; 0x62321 + 5 bytes - -SilphCo11Text2: ; 0x62326 - TX_FAR _SilphCo11Text2 - db $50 - -SilphCo11Text3: ; 0x6232b - TX_FAR _SilphCo11Text3 - db $50 - -UnnamedText_62330: ; 0x62330 - TX_FAR _UnnamedText_62330 - db $50 -; 0x62330 + 5 bytes - -SilphCo11Text6: ; 0x62335 - TX_FAR _UnnamedText_62335 - db $50 -; 0x62335 + 5 bytes - -SilphCo11Text4: ; 0x6233a - db $08 ; asm - ld hl, SilphCo11TrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_62344: ; 0x62344 - TX_FAR _UnnamedText_62344 - db $50 -; 0x62344 + 5 bytes - -UnnamedText_62349: ; 0x62349 - TX_FAR _UnnamedText_62349 - db $50 -; 0x62349 + 5 bytes - -UnnamedText_6234e: ; 0x6234e - TX_FAR _UnnamedText_6234e - db $50 -; 0x6234e + 5 bytes - -SilphCo11Text5: ; 0x62353 - db $08 ; asm - ld hl, TrainerHeader_622cf - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_6235d: ; 0x6235d - TX_FAR _UnnamedText_6235d - db $50 -; 0x6235d + 5 bytes - -UnnamedText_62362: ; 0x62362 - TX_FAR _UnnamedText_62362 - db $50 -; 0x62362 + 5 bytes - -UnnamedText_62367: ; 0x62367 - TX_FAR _UnnamedText_62367 - db $50 -; 0x62367 + 5 bytes - -UnknownText_6236c: ; 0x6236c - db $8 - ld hl, UnnamedText_6237b - call PrintText - ld a, $aa - call $349b - jp TextScriptEnd -; 0x6237b - -UnnamedText_6237b: ; 0x6237b - TX_FAR _UnnamedText_6237b - db $50 -; 0x6237b + 5 bytes - -SilphCo11Object: ; 0x62380 (size=72) - db $d ; border tile - - db $4 ; warps - db $0, $9, $1, SILPH_CO_10F - db $0, $d, $0, SILPH_CO_ELEVATOR - db $5, $5, $9, $ff - db $2, $3, $3, SILPH_CO_7F - - db $0 ; signs - - db $5 ; people - db SPRITE_MR_MASTERBALL, $5 + 4, $7 + 4, $ff, $d0, $1 ; person - db SPRITE_FOULARD_WOMAN, $5 + 4, $a + 4, $ff, $d0, $2 ; person - db SPRITE_GIOVANNI, $9 + 4, $6 + 4, $ff, $d0, $43, GIOVANNI + $C8, $2 ; trainer - db SPRITE_ROCKET, $10 + 4, $3 + 4, $ff, $d1, $44, ROCKET + $C8, $29 ; trainer - db SPRITE_ROCKET, $9 + 4, $f + 4, $ff, $d1, $45, ROCKET + $C8, $28 ; trainer - - ; warp-to - EVENT_DISP $9, $0, $9 ; SILPH_CO_10F - EVENT_DISP $9, $0, $d ; SILPH_CO_ELEVATOR - EVENT_DISP $9, $5, $5 - EVENT_DISP $9, $2, $3 ; SILPH_CO_7F - -SilphCo11Blocks: ; 0x623c8 81 - INCBIN "maps/silphco11.blk" - -INCBIN "baserom.gbc",$62419,$62453 - $62419 - -UnnamedText_62453: ; 0x62453 - TX_FAR _UnnamedText_62453 - db $50 -; 0x62453 + 5 bytes - -UnnamedText_62458: ; 0x62458 - TX_FAR _UnnamedText_62458 - db $50 -; 0x62458 + 5 bytes - -INCBIN "baserom.gbc",$6245d,$624a3 - $6245d - -UnnamedText_624a3: ; 0x624a3 - TX_FAR _UnnamedText_624a3 - db $50 -; 0x624a3 + 5 bytes - -UnnamedText_624a8: ; 0x624a8 - TX_FAR _UnnamedText_624a8 - db $50 -; 0x624a8 + 5 bytes - -UnnamedText_624ad: ; 0x624ad - TX_FAR _UnnamedText_624ad - db $50 -; 0x624ad + 5 bytes - -UnnamedText_624b2: ; 0x624b2 - TX_FAR _UnnamedText_624b2 - db $50 -; 0x624b2 + 5 bytes - -UnnamedText_624b7: ; 0x624b7 - TX_FAR _UnnamedText_624b7 - db $50 -; 0x624b7 + 5 bytes - -UnnamedText_624bc: ; 0x624bc - TX_FAR _UnnamedText_624bc - db $50 -; 0x624bc + 5 bytes - -UnnamedText_624c1: ; 0x624c1 - TX_FAR _UnnamedText_624c1 - db $50 -; 0x624c1 + 5 bytes - -UnnamedText_624c6: ; 0x624c6 - TX_FAR _UnnamedText_624c6 - db $50 -; 0x624c6 + 5 bytes - -UnnamedText_624cb: ; 0x624cb - TX_FAR _UnnamedText_624cb - db $50 -; 0x624cb + 5 bytes - -UnnamedText_624d0: ; 0x624d0 - TX_FAR _UnnamedText_624d0 - db $50 -; 0x624d0 + 5 bytes - -UnnamedText_624d5: ; 0x624d5 - TX_FAR _UnnamedText_624d5 - db $50 -; 0x624d5 + 5 bytes - -UnnamedText_624da: ; 0x624da - TX_FAR _UnnamedText_624da - db $50 -; 0x624da + 5 bytes - -UnnamedText_624df: ; 0x624df - TX_FAR _UnnamedText_624df - db $50 -; 0x624df + 5 bytes - -UnnamedText_624e4: ; 0x624e4 - db $8 - ld a, [$d838] - bit 7, a - ld hl, UnnamedText_624fd - jr nz, .asm_624f2 ; 0x624ed $3 - ld hl, UnnamedText_624f8 -.asm_624f2 - call PrintText - jp TextScriptEnd -; 0x624f8 - -UnnamedText_624f8: ; 0x624f8 - TX_FAR _UnnamedText_624f8 - db $50 -; 0x624f8 + 5 bytes - -UnnamedText_624fd: ; 0x624fd - TX_FAR _UnnamedText_624fd - db $50 -; 0x624fd + 5 bytes - -UnnamedText_62502: ; 0x62502 - TX_FAR _UnnamedText_62502 - db $50 -; 0x62502 + 5 bytes - -INCBIN "baserom.gbc",$62507,$62511 - $62507 - -UnnamedText_62511: ; 0x62511 - TX_FAR _UnnamedText_62511 - db $50 -; 0x62511 + 5 bytes - -INCBIN "baserom.gbc",$62516,$1aea - -SECTION "bank19",DATA,BANK[$19] - -Tset00_GFX: - INCBIN "gfx/tilesets/00.2bpp" -Tset00_Block: - INCBIN "gfx/blocksets/00.bst" -Tset01_GFX: - INCBIN "gfx/tilesets/01.2bpp" -Tset01_Block: - INCBIN "gfx/blocksets/01.bst" -Tset08_GFX: - INCBIN "gfx/tilesets/08.2bpp" -Tset08_Block: - INCBIN "gfx/blocksets/08.bst" -Tset13_GFX: - INCBIN "gfx/tilesets/13.2bpp" -Tset13_Block: - INCBIN "gfx/blocksets/13.bst" -Tset0E_GFX: - INCBIN "gfx/tilesets/0e.2bpp" -Tset0E_Block: - INCBIN "gfx/blocksets/0e.bst" -Tset10_GFX: - INCBIN "gfx/tilesets/10.2bpp" -Tset10_Block: - INCBIN "gfx/blocksets/10.bst" -Tset17_GFX: - INCBIN "gfx/tilesets/17.2bpp" -Tset17_Block: - INCBIN "gfx/blocksets/17.bst" - -SECTION "bank1A",DATA,BANK[$1A] - -DecrementPP: ; 0x68000 -; after using a move, decrement pp in battle and (if not transformed?) in party - ld a, [de] - cp a, STRUGGLE - ret z ; if the pokemon is using "struggle", there's nothing to do - ; we don't decrement PP for "struggle" - ld hl, W_PLAYERBATTSTATUS1 - ld a, [hli] ; load the W_PLAYERBATTSTATUS1 pokemon status flags and increment hl to load the - ; W_PLAYERBATTSTATUS2 status flags later - and a, 7 ; check to see if bits 0, 1, or 2 are set - ret nz ; if any of these statuses are true, don't decrement PP - bit 6, [hl] ; check 6th bit status flag on W_PLAYERBATTSTATUS2 - ret nz ; and return if it is set - ld hl, $D02D ; PP of first move (in battle) - call .DecrementPP\@ - - ld a, [$D064] ; load pokemon status bits? - bit 3, a ; XXX transform status? - ret nz ; If it is, return. Pokemon Red stores the "current pokemon's" PP - ; separately from the "Pokemon in your party's" PP. This is - ; duplication -- in all cases *other* than Pokemon with Transform. - ; Normally, this means we have to go on and make the same - ; modification to the "party's pokemon" PP that we made to the - ; "current pokemon's" PP. But, if we're dealing with a Transformed - ; Pokemon, it has separate PP for the move set that it copied from - ; its opponent, which is *not* the same as its real PP as part of your - ; party. So we return, and don't do that part. - - ld hl, $D188 ; PP of first move (in party) - ld a, [$CC2F] ; which mon in party is active - ld bc, $2C ; XXX probably size of party pokemon's data structure - call AddNTimes ; calculate address of the mon to modify -.DecrementPP\@ - ld a, [$CC2E] ; which move (0, 1, 2, 3) did we use? - ld c, a - ld b, 0 - add hl ,bc ; calculate the address in memory of the PP we need to decrement - ; based on the move chosen. - dec [hl] ; Decrement PP - ret -; 0x6802f - -Version_GFX: -IF _RED - INCBIN "gfx/red/redgreenversion.1bpp" - ; 80 bytes -ENDC -IF _BLUE - INCBIN "gfx/blue/blueversion.1bpp" - ; 64 bytes -ENDC - -Tset05_GFX: - INCBIN "gfx/tilesets/05.2bpp" -Tset05_Block: - INCBIN "gfx/blocksets/05.bst" -Tset02_GFX: - INCBIN "gfx/tilesets/02.2bpp" -Tset02_Block: - INCBIN "gfx/blocksets/02.bst" -Tset09_GFX: - INCBIN "gfx/tilesets/09.2bpp" -Tset09_Block: - INCBIN "gfx/blocksets/09.bst" -Tset03_GFX: - INCBIN "gfx/tilesets/03.2bpp" -Tset03_Block: - INCBIN "gfx/blocksets/03.bst" -Tset16_GFX: - INCBIN "gfx/tilesets/16.2bpp" -Tset16_Block: - INCBIN "gfx/blocksets/16.bst" - -SECTION "bank1B",DATA,BANK[$1B] - -Tset0F_GFX: - INCBIN "gfx/tilesets/0f.2bpp" -Tset0F_Block: - INCBIN "gfx/blocksets/0f.bst" -Tset11_GFX: - INCBIN "gfx/tilesets/11.2bpp" -Tset11_Block: - INCBIN "gfx/blocksets/11.bst" -Tset12_GFX: - INCBIN "gfx/tilesets/12.2bpp" -Tset12_Block: - INCBIN "gfx/blocksets/12.bst" -Tset0D_GFX: - INCBIN "gfx/tilesets/0d.2bpp" -Tset0D_Block: - INCBIN "gfx/blocksets/0d.bst" -Tset14_GFX: - INCBIN "gfx/tilesets/14.2bpp" -Tset14_Block: - INCBIN "gfx/blocksets/14.bst" -Tset15_GFX: - INCBIN "gfx/tilesets/15.2bpp" -Tset15_Block: - INCBIN "gfx/blocksets/15.bst" -Tset0B_GFX: - INCBIN "gfx/tilesets/0b.2bpp" -Tset0B_Block: - INCBIN "gfx/blocksets/0b.bst" - -SECTION "bank1C",DATA,BANK[$1C] - -INCBIN "baserom.gbc",$70000,$703fa - $70000 - -UnnamedText_703fa: ; 0x703fa - TX_FAR _UnnamedText_703fa - db $50 -; 0x703fa + 5 bytes - -UnnamedText_703ff: ; 0x703ff - TX_FAR _UnnamedText_703ff - db $50 -; 0x703ff + 5 bytes - -INCBIN "baserom.gbc",$70404,$70847 - $70404 - -UnnamedText_70847: ; 0x70847 - TX_FAR _UnnamedText_70847 - db $50 -; 0x70847 + 5 bytes - -UnnamedText_7084c: ; 0x7084c - TX_FAR _UnnamedText_7084c - db $50 -; 0x7084c + 5 bytes - -UnnamedText_70851: ; 0x70851 - TX_FAR _UnnamedText_70851 - db $50 -; 0x70851 + 5 bytes - -INCBIN "baserom.gbc",$70856,$8aa - -CompressedMap: ; 5100 -; you can decompress this file with the redrle program in the extras/ dir - INCBIN "baserom.gbc",$71100,$711AB-$71100 - -INCBIN "baserom.gbc",$711AB,$71313-$711AB - -ExternalMapEntries: ; 5313 - EMAP $2,$B,PalletTownName - EMAP $2,$8,ViridianCityName - EMAP $2,$3,PewterCityName - EMAP $A,$2,CeruleanCityName - EMAP $E,$5,LavenderTownName - EMAP $A,$9,VermilionCityName - EMAP $7,$5,CeladonCityName - EMAP $8,$D,FuchsiaCityName - EMAP $2,$F,CinnabarIslandName - EMAP $0,$2,IndigoPlateauName - EMAP $A,$5,SaffronCityName - EMAP $0,$0,PalletTownName ; unused - EMAP $2,$A,Route1Name - EMAP $2,$6,Route2Name - EMAP $4,$3,Route3Name - EMAP $8,$2,Route4Name - EMAP $A,$3,Route5Name - EMAP $A,$8,Route6Name - EMAP $8,$5,Route7Name - EMAP $D,$5,Route8Name - EMAP $D,$2,Route9Name - EMAP $E,$4,Route10Name - EMAP $C,$9,Route11Name - EMAP $E,$9,Route12Name - EMAP $D,$B,Route13Name - EMAP $B,$C,Route14Name - EMAP $A,$D,Route15Name - EMAP $5,$5,Route16Name - EMAP $4,$8,Route17Name - EMAP $6,$D,Route18Name - EMAP $6,$F,Route19Name - EMAP $4,$F,Route20Name - EMAP $2,$D,Route21Name - EMAP $0,$8,Route22Name - EMAP $0,$6,Route23Name - EMAP $A,$1,Route24Name - EMAP $B,$0,Route25Name - -InternalMapEntries: ; 5382 - IMAP $29,$2,$B,PalletTownName - IMAP $2E,$2,$8,ViridianCityName - IMAP $33,$2,$6,Route2Name - IMAP $34,$2,$4,ViridianForestName - IMAP $3B,$2,$3,PewterCityName - IMAP $3E,$6,$2,MountMoonName - IMAP $44,$A,$2,CeruleanCityName - IMAP $45,$5,$2,Route4Name - IMAP $46,$A,$2,CeruleanCityName - IMAP $49,$A,$4,Route5Name - IMAP $4C,$A,$6,Route6Name - IMAP $4F,$9,$5,Route7Name - IMAP $51,$B,$5,Route8Name - IMAP $53,$E,$3,RockTunnelName - IMAP $54,$F,$4,PowerPlantName - IMAP $57,$D,$9,Route11Name - IMAP $58,$E,$7,Route12Name - IMAP $59,$C,$0,SeaCottageName - IMAP $5F,$A,$9,VermilionCityName - IMAP $69,$9,$A,SSAnneName - IMAP $6D,$0,$4,VictoryRoadName - IMAP $77,$0,$2,PokemonLeagueName - IMAP $78,$A,$5,UndergroundPathName - IMAP $79,$0,$2,PokemonLeagueName - IMAP $7A,$A,$5,UndergroundPathName - IMAP $8D,$7,$5,CeladonCityName - IMAP $8E,$E,$5,LavenderTownName - IMAP $95,$F,$5,PokemonTowerName - IMAP $98,$E,$5,LavenderTownName - IMAP $9C,$8,$D,FuchsiaCityName - IMAP $9D,$8,$C,SafariZoneName - IMAP $9F,$8,$D,FuchsiaCityName - IMAP $A3,$5,$F,SeafoamIslandsName - IMAP $A4,$A,$9,VermilionCityName - IMAP $A5,$8,$D,FuchsiaCityName - IMAP $A6,$2,$F,PokemonMansionName - IMAP $AE,$2,$F,CinnabarIslandName - IMAP $AF,$0,$2,IndigoPlateauName - IMAP $B8,$A,$5,SaffronCityName - IMAP $BA,$9,$D,Route15Name - IMAP $BD,$4,$5,Route16Name - IMAP $BE,$E,$A,Route12Name - IMAP $C0,$7,$D,Route18Name - IMAP $C1,$5,$F,SeafoamIslandsName - IMAP $C2,$0,$7,Route22Name - IMAP $C3,$0,$4,VictoryRoadName - IMAP $C4,$E,$7,Route12Name - IMAP $C5,$A,$9,VermilionCityName - IMAP $C6,$3,$4,DiglettsCaveName - IMAP $C7,$0,$4,VictoryRoadName - IMAP $CF,$7,$5,RocketHQName - IMAP $D6,$A,$5,SilphCoName - IMAP $D9,$2,$F,PokemonMansionName - IMAP $E2,$8,$C,SafariZoneName - IMAP $E5,$9,$1,CeruleanCaveName - IMAP $E6,$E,$5,LavenderTownName - IMAP $E7,$A,$2,CeruleanCityName - IMAP $E9,$E,$3,RockTunnelName - IMAP $ED,$A,$5,SilphCoName - IMAP $F8,$0,$2,PokemonLeagueName - db $FF - -MapNames: ; 5473 -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@" -FuchsiaCityName: - db "FUCHSIA CITY@" -CinnabarIslandName: - db "CINNABAR ISLAND@" -IndigoPlateauName: - db "INDIGO PLATEAU@" -SaffronCityName: - db "SAFFRON CITY@" -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 "SEA ROUTE 19@" -Route20Name: - db "SEA ROUTE 20@" -Route21Name: - db "SEA ROUTE 21@" -Route22Name: - db "ROUTE 22@" -Route23Name: - db "ROUTE 23@" -Route24Name: - db "ROUTE 24@" -Route25Name: - db "ROUTE 25@" -ViridianForestName: - db "VIRIDIAN FOREST@" -MountMoonName: - db "MT.MOON@" -RockTunnelName: - db "ROCK TUNNEL@" -SeaCottageName: - db "SEA COTTAGE@" -SSAnneName: - db "S.S.ANNE@" -PokemonLeagueName: - db "#MON LEAGUE@" -UndergroundPathName: - db "UNDERGROUND PATH@" -PokemonTowerName: - db "#MON TOWER@" -SeafoamIslandsName: - db "SEAFOAM ISLANDS@" -VictoryRoadName: - db "VICTORY ROAD@" -DiglettsCaveName: - db "DIGLETT's CAVE@" -RocketHQName: - db "ROCKET HQ@" -SilphCoName: - db "SILPH CO.@" -PokemonMansionName: - db $4a," MANSION@" -SafariZoneName: - db "SAFARI ZONE@" -CeruleanCaveName: - db "CERULEAN CAVE@" -PowerPlantName: - db "POWER PLANT@" - -INCBIN "baserom.gbc",$716BE,$71AD9-$716BE - -Predef54: ; 0x71ad9 -; trigger the trade offer/action specified by W_WHICHTRADE - call $36f4 - ld hl,TradeMons - ld a,[W_WHICHTRADE] - ld b,a - swap a - sub b - sub b - ld c,a - ld b,$0 - add hl,bc - ld a,[hli] - ld [$cd0f],a - ld a,[hli] - ld [$cd34],a - ld a,[hli] - push af - ld de,$cd29 - ld bc,$000b - call CopyData - pop af - ld l,a - ld h,$0 - ld de,$5d64 - add hl,hl - add hl,de - ld a,[hli] - ld [$cd10],a - ld a,[hl] - ld [$cd11],a - ld a,[$cd0f] - ld de,$cd13 - call Function71b6a - ld a,[$cd34] - ld de,$cd1e - call Function71b6a - ld hl,$d737 - ld a,[W_WHICHTRADE] - ld c,a - ld b,$2 - ld a,$10 - call Predef - ld a,c - and a - ld a,$4 - ld [$cd12],a - jr nz,.asm_99bca ; 0x71b36 $20 - xor a - ld [$cd12],a - call .asm_99bca - ld a,$1 - ld [$cd12],a - call $35ec - ld a,[$cc26] - and a - jr nz,.asm_99bca ; 0x71b4b $b - call Function71c07 - jr c,.asm_99bca ; 0x71b50 $6 - ld hl, UnnamedText_71d8d - call PrintText -.asm_99bca ; 0x71b58 - ld hl,$cd12 - ld a,[hld] - ld e,a - ld d,$0 - ld a,[hld] - ld l,[hl] - ld h,a - add hl,de - add hl,de - ld a,[hli] - ld h,[hl] - ld l,a - jp PrintText - -Function71b6a: ; 0x71b6a - push de - ld [$d11e],a - call GetMonName - ld hl,$cd6d - pop de - ld bc,$b - jp CopyData - -TradeMons: ; 5B7B -; givemonster, getmonster, textstring, nickname (11 bytes), 14 bytes total - db NIDORINO, NIDORINA, 0,"TERRY@@@@@@" - db ABRA, MR_MIME, 0,"MARCEL@@@@@" - db BUTTERFREE,BEEDRILL, 2,"CHIKUCHIKU@" - db PONYTA, SEEL, 0,"SAILOR@@@@@" - db SPEAROW, FARFETCH_D,2,"DUX@@@@@@@@" - db SLOWBRO, LICKITUNG, 0,"MARC@@@@@@@" - db POLIWHIRL, JYNX, 1,"LOLA@@@@@@@" - db RAICHU, ELECTRODE, 1,"DORIS@@@@@@" - db VENONAT, TANGELA, 2,"CRINKLES@@@" - db NIDORAN_M, NIDORAN_F, 2,"SPOT@@@@@@@" - -Function71c07: ; 0x71c07 - xor a - ld [$d07d],a - dec a - ld [$cfcb],a - call $13fc - push af - call $5ca2 - pop af - ld a,$1 - jp c,.asm_c4bc2 - ld a,[$cd0f] - ld b,a - ld a,[$cf91] - cp b - ld a,$2 - jr nz,.asm_c4bc2 ; 0x71c26 $75 - ld a,[$cf92] - ld hl,$d18c - ld bc,$002c - call AddNTimes - ld a,[hl] - ld [$d127],a - ld hl,$d737 - ld a,[W_WHICHTRADE] - ld c,a - ld b,$1 - ld a,$10 - call Predef - ld hl, UnnamedText_71d88 - call PrintText - ld a,[$cf92] - push af - ld a,[$d127] - push af - call $36c0 - call $5cc1 - ld a,$38 - call Predef - pop af - ld [$d127],a - pop af - ld [$cf92],a - ld a,[$cd34] - ld [$cf91],a - xor a - ld [$cc49],a - ld [$cf95],a - call $391f - ld a,$80 - ld [$cc49],a - call AddPokemonToParty - call $5d19 - ld hl,$7d7d - ld b,$5 - call Bankswitch - call ClearScreen - call $5ca2 - ld b,$3 - ld hl,$6edc - call Bankswitch - and a - ld a,$3 - jr .asm_ee803 ; 0x71c9b $1 -.asm_c4bc2 ; 0x71c9d - scf -.asm_ee803 ; 0x71c9e - ld [$cd12],a - ret - -INCBIN "baserom.gbc",$71ca2,$71d88 - $71ca2 - -UnnamedText_71d88: ; 0x71d88 - TX_FAR _UnnamedText_71d88 - db $50 -; 0x71d88 + 5 bytes - -UnnamedText_71d8d: ; 0x71d8d - TX_FAR _UnnamedText_71d8d ; 0xa80bc - db $11, $a, $50 - -UnnamedText_71d94: ; 0x71d94 - TX_FAR _UnnamedText_71d94 - db $50 -; 0x71d94 + 5 bytes - -UnnamedText_71d99: ; 0x71d99 - TX_FAR _UnnamedText_71d99 - db $50 -; 0x71d99 + 5 bytes - -UnnamedText_71d9e: ; 0x71d9e - TX_FAR _UnnamedText_71d9e - db $50 -; 0x71d9e + 5 bytes - -UnnamedText_71da3: ; 0x71da3 - TX_FAR _UnnamedText_71da3 - db $50 -; 0x71da3 + 5 bytes - -UnnamedText_71da8: ; 0x71da8 - TX_FAR _UnnamedText_71da8 - db $50 -; 0x71da8 + 5 bytes - -UnnamedText_71dad: ; 0x71dad - TX_FAR _UnnamedText_71dad - db $50 -; 0x71dad + 5 bytes - -UnnamedText_71db2: ; 0x71db2 - TX_FAR _UnnamedText_71db2 - db $50 -; 0x71db2 + 5 bytes - -UnnamedText_71db7: ; 0x71db7 - TX_FAR _UnnamedText_71db7 - db $50 -; 0x71db7 + 5 bytes - -UnnamedText_71dbc: ; 0x71dbc - TX_FAR _UnnamedText_71dbc - db $50 -; 0x71dbc + 5 bytes - -UnnamedText_71dc1: ; 0x71dc1 - TX_FAR _UnnamedText_71dc1 - db $50 -; 0x71dc1 + 5 bytes - -UnnamedText_71dc6: ; 0x71dc6 - TX_FAR _UnnamedText_71dc6 - db $50 -; 0x71dc6 + 5 bytes - -UnnamedText_71dcb: ; 0x71dcb - TX_FAR _UnnamedText_71dcb - db $50 -; 0x71dcb + 5 bytes - -UnnamedText_71dd0: ; 0x71dd0 - TX_FAR _UnnamedText_71dd0 - db $50 -; 0x71dd0 + 5 bytes - -UnnamedText_71dd5: ; 0x71dd5 - TX_FAR _UnnamedText_71dd5 - db $50 -; 0x71dd5 + 5 bytes - -UnnamedText_71dda: ; 0x71dda - TX_FAR _UnnamedText_71dda - db $50 -; 0x71dda + 5 bytes - -INCBIN "baserom.gbc",$71ddf,$7e9 - -MonsterPalettes: ; 65C8 - db PAL_MEWMON ; MISSINGNO - db PAL_GREENMON ; BULBASAUR - db PAL_GREENMON ; IVYSAUR - db PAL_GREENMON ; VENUSAUR - db PAL_REDMON ; CHARMANDER - db PAL_REDMON ; CHARMELEON - db PAL_REDMON ; CHARIZARD - db PAL_CYANMON ; SQUIRTLE - db PAL_CYANMON ; WARTORTLE - db PAL_CYANMON ; BLASTOISE - db PAL_GREENMON ; CATERPIE - db PAL_GREENMON ; METAPOD - db PAL_CYANMON ; BUTTERFREE - db PAL_YELLOWMON ; WEEDLE - db PAL_YELLOWMON ; KAKUNA - db PAL_YELLOWMON ; BEEDRILL - db PAL_BROWNMON ; PIDGEY - db PAL_BROWNMON ; PIDGEOTTO - db PAL_BROWNMON ; PIDGEOT - db PAL_GREYMON ; RATTATA - db PAL_GREYMON ; RATICATE - db PAL_BROWNMON ; SPEAROW - db PAL_BROWNMON ; FEAROW - db PAL_PURPLEMON ; EKANS - db PAL_PURPLEMON ; ARBOK - db PAL_YELLOWMON ; PIKACHU - db PAL_YELLOWMON ; RAICHU - db PAL_BROWNMON ; SANDSHREW - db PAL_BROWNMON ; SANDSLASH - db PAL_BLUEMON ; NIDORAN_F - db PAL_BLUEMON ; NIDORINA - db PAL_BLUEMON ; NIDOQUEEN - db PAL_PURPLEMON ; NIDORAN_M - db PAL_PURPLEMON ; NIDORINO - db PAL_PURPLEMON ; NIDOKING - db PAL_PINKMON ; CLEFAIRY - db PAL_PINKMON ; CLEFABLE - db PAL_REDMON ; VULPIX - db PAL_YELLOWMON ; NINETALES - db PAL_PINKMON ; JIGGLYPUFF - db PAL_PINKMON ; WIGGLYTUFF - db PAL_BLUEMON ; ZUBAT - db PAL_BLUEMON ; GOLBAT - db PAL_GREENMON ; ODDISH - db PAL_REDMON ; GLOOM - db PAL_REDMON ; VILEPLUME - db PAL_REDMON ; PARAS - db PAL_REDMON ; PARASECT - db PAL_PURPLEMON ; VENONAT - db PAL_PURPLEMON ; VENOMOTH - db PAL_BROWNMON ; DIGLETT - db PAL_BROWNMON ; DUGTRIO - db PAL_YELLOWMON ; MEOWTH - db PAL_YELLOWMON ; PERSIAN - db PAL_YELLOWMON ; PSYDUCK - db PAL_CYANMON ; GOLDUCK - db PAL_BROWNMON ; MANKEY - db PAL_BROWNMON ; PRIMEAPE - db PAL_BROWNMON ; GROWLITHE - db PAL_REDMON ; ARCANINE - db PAL_BLUEMON ; POLIWAG - db PAL_BLUEMON ; POLIWHIRL - db PAL_BLUEMON ; POLIWRATH - db PAL_YELLOWMON ; ABRA - db PAL_YELLOWMON ; KADABRA - db PAL_YELLOWMON ; ALAKAZAM - db PAL_GREYMON ; MACHOP - db PAL_GREYMON ; MACHOKE - db PAL_GREYMON ; MACHAMP - db PAL_GREENMON ; BELLSPROUT - db PAL_GREENMON ; WEEPINBELL - db PAL_GREENMON ; VICTREEBEL - db PAL_CYANMON ; TENTACOOL - db PAL_CYANMON ; TENTACRUEL - db PAL_GREYMON ; GEODUDE - db PAL_GREYMON ; GRAVELER - db PAL_GREYMON ; GOLEM - db PAL_REDMON ; PONYTA - db PAL_REDMON ; RAPIDASH - db PAL_PINKMON ; SLOWPOKE - db PAL_PINKMON ; SLOWBRO - db PAL_GREYMON ; MAGNEMITE - db PAL_GREYMON ; MAGNETON - db PAL_BROWNMON ; FARFETCH_D - db PAL_BROWNMON ; DODUO - db PAL_BROWNMON ; DODRIO - db PAL_BLUEMON ; SEEL - db PAL_BLUEMON ; DEWGONG - db PAL_PURPLEMON ; GRIMER - db PAL_PURPLEMON ; MUK - db PAL_GREYMON ; SHELLDER - db PAL_GREYMON ; CLOYSTER - db PAL_PURPLEMON ; GASTLY - db PAL_PURPLEMON ; HAUNTER - db PAL_PURPLEMON ; GENGAR - db PAL_GREYMON ; ONIX - db PAL_YELLOWMON ; DROWZEE - db PAL_YELLOWMON ; HYPNO - db PAL_REDMON ; KRABBY - db PAL_REDMON ; KINGLER - db PAL_YELLOWMON ; VOLTORB - db PAL_YELLOWMON ; ELECTRODE - db PAL_PINKMON ; EXEGGCUTE - db PAL_GREENMON ; EXEGGUTOR - db PAL_GREYMON ; CUBONE - db PAL_GREYMON ; MAROWAK - db PAL_BROWNMON ; HITMONLEE - db PAL_BROWNMON ; HITMONCHAN - db PAL_PINKMON ; LICKITUNG - db PAL_PURPLEMON ; KOFFING - db PAL_PURPLEMON ; WEEZING - db PAL_GREYMON ; RHYHORN - db PAL_GREYMON ; RHYDON - db PAL_PINKMON ; CHANSEY - db PAL_BLUEMON ; TANGELA - db PAL_BROWNMON ; KANGASKHAN - db PAL_CYANMON ; HORSEA - db PAL_CYANMON ; SEADRA - db PAL_REDMON ; GOLDEEN - db PAL_REDMON ; SEAKING - db PAL_REDMON ; STARYU - db PAL_GREYMON ; STARMIE - db PAL_PINKMON ; MR_MIME - db PAL_GREENMON ; SCYTHER - db PAL_MEWMON ; JYNX - db PAL_YELLOWMON ; ELECTABUZZ - db PAL_REDMON ; MAGMAR - db PAL_BROWNMON ; PINSIR - db PAL_GREYMON ; TAUROS - db PAL_REDMON ; MAGIKARP - db PAL_BLUEMON ; GYARADOS - db PAL_CYANMON ; LAPRAS - db PAL_GREYMON ; DITTO - db PAL_GREYMON ; EEVEE - db PAL_CYANMON ; VAPOREON - db PAL_YELLOWMON ; JOLTEON - db PAL_REDMON ; FLAREON - db PAL_GREYMON ; PORYGON - db PAL_BLUEMON ; OMANYTE - db PAL_BLUEMON ; OMASTAR - db PAL_BROWNMON ; KABUTO - db PAL_BROWNMON ; KABUTOPS - db PAL_GREYMON ; AERODACTYL - db PAL_PINKMON ; SNORLAX - db PAL_BLUEMON ; ARTICUNO - db PAL_YELLOWMON ; ZAPDOS - db PAL_REDMON ; MOLTRES - db PAL_GREYMON ; DRATINI - db PAL_BLUEMON ; DRAGONAIR - db PAL_BROWNMON ; DRAGONITE - db PAL_MEWMON ; MEWTWO - db PAL_MEWMON ; MEW - -; palettes for overworlds, title screen, monsters -SuperPalettes: ; 6660 - RGB 31,29,31 ; PAL_ROUTE - RGB 21,28,11 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_PALLET - RGB 25,28,27 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_VIRIDIAN - RGB 17,26,3 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_PEWTER - RGB 23,25,16 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_CERULEAN - RGB 17,20,30 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_LAVENDER - RGB 27,20,27 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_VERMILION - RGB 30,18,0 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_CELADON - RGB 16,30,22 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_FUCHSIA - RGB 31,15,22 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_CINNABAR - RGB 26,10,6 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_INDIGO - RGB 22,14,24 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_SAFFRON - RGB 27,27,3 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; XXX - RGB 20,26,31 - RGB 17,23,10 - RGB 3,2,2 -IF _RED - RGB 31,29,31 ; PAL_LOGO1 - RGB 30,30,17 - RGB 17,23,10 - RGB 21,0,4 -ENDC -IF _BLUE - RGB 31,29,31 ; PAL_LOGO1 - RGB 30,30,17 - RGB 21,0,4 - RGB 14,19,29 -ENDC - RGB 31,29,31 ; XXX - RGB 30,30,17 - RGB 18,18,24 - RGB 7,7,16 - RGB 31,29,31 ; PAL_LOGO2 - RGB 24,20,30 - RGB 11,20,30 - RGB 3,2,2 - RGB 31,29,31 ; PAL_MEWMON - RGB 30,22,17 - RGB 16,14,19 - RGB 3,2,2 - RGB 31,29,31 ; PAL_BLUEMON - RGB 18,20,27 - RGB 11,15,23 - RGB 3,2,2 - RGB 31,29,31 ; PAL_REDMON - RGB 31,20,10 - RGB 26,10,6 - RGB 3,2,2 - RGB 31,29,31 ; PAL_CYANMON - RGB 21,25,29 - RGB 14,19,25 - RGB 3,2,2 - RGB 31,29,31 ; PAL_PURPLEMON - RGB 27,22,24 - RGB 21,15,23 - RGB 3,2,2 - RGB 31,29,31 ; PAL_BROWNMON - RGB 28,20,15 - RGB 21,14,9 - RGB 3,2,2 - RGB 31,29,31 ; PAL_GREENMON - RGB 20,26,16 - RGB 9,20,11 - RGB 3,2,2 - RGB 31,29,31 ; PAL_PINKMON - RGB 30,22,24 - RGB 28,15,21 - RGB 3,2,2 - RGB 31,29,31 ; PAL_YELLOWMON - RGB 31,28,14 - RGB 26,20,0 - RGB 3,2,2 - RGB 31,29,31 ; PAL_GREYMON - RGB 26,21,22 - RGB 15,15,18 - RGB 3,2,2 - RGB 31,29,31 ; PAL_SLOTS1 - RGB 26,21,22 - RGB 27,20,6 - RGB 3,2,2 - RGB 31,29,31 ; PAL_SLOTS2 - RGB 31,31,17 -IF _RED - RGB 25,17,21 -ENDC -IF _BLUE - RGB 16,19,29 -ENDC - RGB 3,2,2 - RGB 31,29,31 ; PAL_SLOTS3 - RGB 22,31,16 -IF _RED - RGB 25,17,21 -ENDC -IF _BLUE - RGB 16,19,29 -ENDC - RGB 3,2,2 - RGB 31,29,31 ; PAL_SLOTS4 -IF _RED - RGB 16,19,29 - RGB 25,17,21 -ENDC -IF _BLUE - RGB 25,17,21 - RGB 16,19,29 -ENDC - RGB 3,2,2 - RGB 31,29,31 ; PAL_BLACK - RGB 7,7,7 - RGB 2,3,3 - RGB 3,2,2 - RGB 31,29,31 ; PAL_GREENBAR - RGB 30,26,15 - RGB 9,20,11 - RGB 3,2,2 - RGB 31,29,31 ; PAL_YELLOWBAR - RGB 30,26,15 - RGB 26,20,0 - RGB 3,2,2 - RGB 31,29,31 ; PAL_REDBAR - RGB 30,26,15 - RGB 26,10,6 - RGB 3,2,2 - RGB 31,29,31 ; PAL_BADGE - RGB 30,22,17 - RGB 11,15,23 - RGB 3,2,2 - RGB 31,29,31 ; PAL_CAVE - RGB 21,14,9 - RGB 18,24,22 - RGB 3,2,2 - RGB 31,29,31 ; XXX - RGB 31,28,14 - RGB 24,20,10 - RGB 3,2,2 -BorderPalettes: ; 6788 - -IF _RED - INCBIN "gfx/red/sgbborder.map" -ENDC -IF _BLUE - INCBIN "gfx/blue/sgbborder.map" -ENDC - -INCBIN "baserom.gbc",$72E88,$2F88 - $2E88 ; All $00s -IF _RED - RGB 30,29,29 ; PAL_SGB1 - RGB 25,22,25 - RGB 25,17,21 - RGB 24,14,12 -ENDC -IF _BLUE - RGB 0,0,0 ; PAL_SGB1 (the first color is not defined, but if used, turns up as 30,29,29... o_O) - RGB 10,17,26 - RGB 5,9,20 - RGB 16,20,27 -ENDC - -INCBIN "baserom.gbc",$72F90,$2FA8 - $2F90 ; All $00s - -IF _RED - RGB 30,29,29 ; PAL_SGB2 - RGB 22,31,16 - RGB 27,20,6 - RGB 15,15,15 -ENDC -IF _BLUE - RGB 30,29,29 ; PAL_SGB2 - RGB 27,11,6 - RGB 5,9,20 - RGB 28,25,15 -ENDC - -INCBIN "baserom.gbc",$72FB0,$2FC8 - $2FB0 ; All $00s - -IF _RED - RGB 30,29,29 ; PAL_SGB3 - RGB 31,31,17 - RGB 18,21,29 - RGB 15,15,15 -ENDC -IF _BLUE - RGB 30,29,29 ; PAL_SGB3 - RGB 12,15,11 - RGB 5,9,20 - RGB 14,22,17 -ENDC - -INCBIN "baserom.gbc",$72FD0,$2FE8 - $2FD0 ; All $00s - -IF _RED - INCBIN "gfx/red/sgbborder.2bpp" -ENDC -IF _BLUE - INCBIN "gfx/blue/sgbborder.2bpp" -ENDC - -INCBIN "baserom.gbc",$735e8,$7361e - $735e8 - -UnnamedText_7361e: ; 0x7361e - TX_FAR _UnnamedText_7361e - db $50 -; 0x7361e + 5 bytes - -INCBIN "baserom.gbc",$73623,$7377d - $73623 - -UnnamedText_7377d: ; 0x7377d - TX_FAR _UnnamedText_7377d - db $50 -; 0x7377d + 5 bytes - -UnnamedText_73782: ; 0x73782 - TX_FAR _UnnamedText_73782 - db $50 -; 0x73782 + 5 bytes - -UnnamedText_73787: ; 0x73787 - TX_FAR _UnnamedText_73787 - db $50 -; 0x73787 + 5 bytes - -INCBIN "baserom.gbc",$7378c,$73909 - $7378c - -UnnamedText_73909: ; 0x73909 - TX_FAR _UnnamedText_73909 - db $50 -; 0x73909 + 5 bytes - -INCBIN "baserom.gbc",$7390e,$739d4 - $7390e - -UnnamedText_739d4: ; 0x739d4 - TX_FAR _UnnamedText_739d4 - db $50 -; 0x739d4 + 5 bytes - -INCBIN "baserom.gbc",$739d9,$627 - -SECTION "bank1D",DATA,BANK[$1D] - -CopycatsHouseF1Blocks: ; 0x74000 - INCBIN "maps/copycatshousef1.blk" - -CinnabarMartBlocks: -PewterMartBlocks: ; 0x74010 16 - INCBIN "maps/pewtermart.blk" - -FuchsiaHouse1Blocks: ; 0x74020 16 - INCBIN "maps/fuchsiahouse1.blk" - -CinnabarPokecenterBlocks: -FuchsiaPokecenterBlocks: ; 0x74030 28 - INCBIN "maps/fuchsiapokecenter.blk" - -CeruleanHouse3Blocks: ; 0x7404c 16 - INCBIN "maps/ceruleanhouse3.blk" - -INCBIN "baserom.gbc",$7405c,$6f - -Func40CB: ; 40CB - xor a - ld [$FFBA],a - call $3719 - call $4183 - - ; display the next monster from CreditsMons - ld hl,$CD3E - ld c,[hl] ; how many monsters have we displayed so far? - inc [hl] - ld b,0 - ld hl,CreditsMons - add hl,bc ; go that far in the list of monsters and get the next one - ld a,[hl] - ld [$CF91],a - ld [$D0B5],a - ld hl,$C420 - call $1537 - call $1389 - ld hl,$980C - call $4164 - xor a - ld [$FFBA],a - call $3725 - ld hl,$9800 - call $4164 - ld a,$A7 - ld [$FF4B],a - ld hl,$9C00 - call $4164 - call $4183 - ld a,$FC - ld [$FF47],a - ld bc,7 -.next\@ - call $4140 - dec c - jr nz,.next\@ - ld c,$14 -.next2\@ - call $4140 - ld a,[$FF4B] - sub 8 - ld [$FF4B],a - dec c - jr nz,.next2\@ - xor a - ld [$FFB0],a - ld a,$C0 - ld [$FF47],a - ret - -CreditsMons: ; 4131 - db VENUSAUR - db ARBOK - db RHYHORN - db FEAROW - db ABRA - db GRAVELER - db HITMONLEE - db TANGELA - db STARMIE - db GYARADOS - db DITTO - db OMASTAR - db VILEPLUME - db NIDOKING - db PARASECT - -INCBIN "baserom.gbc",$74140,$2C3 - $140 - -CreditsTextPointers: ; 42C3 - - dw CredVersion - dw CredTajiri - dw CredTaOota - dw CredMorimoto - dw CredWatanabe - dw CredMasuda - dw CredNisino - dw CredSugimori - dw CredNishida - dw CredMiyamoto - dw CredKawaguchi - dw CredIshihara - dw CredYamauchi - dw CredZinnai - dw CredHishida - dw CredSakai - dw CredYamaguchi - dw CredYamamoto - dw CredTaniguchi - dw CredNonomura - dw CredFuziwara - dw CredMatsusima - dw CredTomisawa - dw CredKawamoto - dw CredKakei - dw CredTsuchiya - dw CredTaNakamura - dw CredYuda - dw CredMon - dw CredDirector - dw CredProgrammers - dw CredCharDesign - dw CredMusic - dw CredSoundEffects - dw CredGameDesign - dw CredMonsterDesign - dw CredGameScene - dw CredParam - dw CredMap - dw CredTest - dw CredSpecial - dw CredProducers - dw CredProducer - dw CredExecutive - dw CredTamada - dw CredSaOota - dw CredYoshikawa - dw CredToOota - dw CredUSStaff - dw CredUSCoord - dw CredTilden - dw CredKawakami - dw CredHiNakamura - dw CredGiese - dw CredOsborne - dw CredTrans - dw CredOgasawara - dw CredIwata - dw CredIzushi - dw CredHarada - dw CredMurakawa - dw CredFukui - dw CredClub - dw CredPAAD - -CredVersion: -IF _RED - db "2RED VERSION STAFF@" -ENDC -IF _BLUE - db "2BLUE VERSION STAFF@" -ENDC -CredTajiri: - db "4SATOSHI TAJIRI@" -CredTaOota: - db "4TAKENORI OOTA@" -CredMorimoto: - db "3SHIGEKI MORIMOTO@" -CredWatanabe: - db "3TETSUYA WATANABE@" -CredMasuda: - db "4JUNICHI MASUDA@" -CredNisino: - db "5KOHJI NISINO@" -CredSugimori: - db "5KEN SUGIMORI@" -CredNishida: - db "4ATSUKO NISHIDA@" -CredMiyamoto: - db "3SHIGERU MIYAMOTO@" -CredKawaguchi: - db "2TAKASHI KAWAGUCHI@" -CredIshihara: - db "2TSUNEKAZU ISHIHARA@" -CredYamauchi: - db "3HIROSHI YAMAUCHI@" -CredZinnai: - db "3HIROYUKI ZINNAI@" -CredHishida: - db "3TATSUYA HISHIDA@" -CredSakai: - db "4YASUHIRO SAKAI@" -CredYamaguchi: - db "3WATARU YAMAGUCHI@" -CredYamamoto: - db "2KAZUYUKI YAMAMOTO@" -CredTaniguchi: - db "2RYOHSUKE TANIGUCHI@" -CredNonomura: - db "2FUMIHIRO NONOMURA@" -CredFuziwara: - db "3MOTOFUMI FUZIWARA@" -CredMatsusima: - db "3KENJI MATSUSIMA@" -CredTomisawa: - db "3AKIHITO TOMISAWA@" -CredKawamoto: - db "3HIROSHI KAWAMOTO@" -CredKakei: - db "4AKIYOSHI KAKEI@" -CredTsuchiya: - db "3KAZUKI TSUCHIYA@" -CredTaNakamura: - db "4TAKEO NAKAMURA@" -CredYuda: - db "4MASAMITSU YUDA@" -CredMon: - db "7#MON@" -CredDirector: - db "7DIRECTOR@" -CredProgrammers: - db "5PROGRAMMERS@" -CredCharDesign: - db "3CHARACTER DESIGN@" -CredMusic: - db "8MUSIC@" -CredSoundEffects: - db "4SOUND EFFECTS@" -CredGameDesign: - db "5GAME DESIGN@" -CredMonsterDesign: - db "4MONSTER DESIGN@" -CredGameScene: - db "4GAME SCENARIO@" -CredParam: - db "2PARAMETRIC DESIGN@" -CredMap: - db "6MAP DESIGN@" -CredTest: - db "3PRODUCT TESTING@" -CredSpecial: - db "4SPECIAL THANKS@" -CredProducers: - db "6PRODUCERS@" -CredProducer: - db "6PRODUCER@" -CredExecutive: - db "2EXECUTIVE PRODUCER@" -CredTamada: - db "4SOUSUKE TAMADA@" -CredSaOota: - db "5SATOSHI OOTA@" -CredYoshikawa: - db "4RENA YOSHIKAWA@" -CredToOota: - db "4TOMOMICHI OOTA@" -CredUSStaff: - db "3US VERSION STAFF@" -CredUSCoord: - db "3US COORDINATION@" -CredTilden: - db "5GAIL TILDEN@" -CredKawakami: - db "4NAOKO KAWAKAMI@" -CredHiNakamura: - db "4HIRO NAKAMURA@" -CredGiese: - db "4WILLIAM GIESE@" -CredOsborne: - db "5SARA OSBORNE@" -CredTrans: - db "3TEXT TRANSLATION@" -CredOgasawara: - db "4NOB OGASAWARA@" -CredIwata: - db "5SATORU IWATA@" -CredIzushi: - db "3TAKEHIRO IZUSHI@" -CredHarada: - db "3TAKAHIRO HARADA@" -CredMurakawa: - db "3TERUKI MURAKAWA@" -CredFukui: - db "5KOHTA FUKUI@" -CredClub: - db "1NCL SUPER MARIO CLUB@" -CredPAAD: - db "5PAAD TESTING@" - -TheEndGfx: ; 473E - INCBIN "gfx/theend.2bpp" - -INCBIN "baserom.gbc",$747de,$74872 - $747de - -Unnamed_ASM_74872: ; 0x74872 - ; code similar to this appears in a lot of banks; this particular - call $20EF ; one is called after you beat the Rocket that gives you TM28 DIG - ld a, $07 ; the screen then fades out, he disappears, and fades back in - ld [$CC4D], a - ld a, $15 - call $3E6D - ld a, $09 - ld [$CC4D], a - ld a, $11 - call $3E6D - ld a, $06 - ld [$CC4D], a - ld a, $11 - call Predef - call $20D1 - ret - -ViridianGym_h: ; 0x74897 to 0x748a3 (12 bytes) (id=45) - db $07 ; tileset - db VIRIDIAN_GYM_HEIGHT, VIRIDIAN_GYM_WIDTH ; dimensions (y, x) - dw ViridianGymBlocks, ViridianGymTexts, ViridianGymScript ; blocks, texts, scripts - db $00 ; connections - - dw ViridianGymObject ; objects - -ViridianGymScript: ; 0x748a3 - ld hl, Gym8CityName - ld de, Gym8LeaderName - call $317f - call $3c3c - ld hl, ViridianGymTrainerHeaders - ld de, $48e1 - ld a, [$d5fb] - call $3160 - ld [$d5fb], a - ret -; 0x748bf - -Gym8CityName: - db "VIRIDIAN CITY@" -Gym8LeaderName: - db "GIOVANNI@" - -INCBIN "baserom.gbc",$748D6,$116 - -ViridianGymTexts: ; 0x749ec - dw ViridianGymText1, ViridianGymText2, ViridianGymText3, ViridianGymText4, ViridianGymText5, ViridianGymText6, ViridianGymText7, ViridianGymText8, ViridianGymText9, ViridianGymText10, ViridianGymText11, ViridianGymText12, ViridianGymText13, ViridianGymText14 - -ViridianGymTrainerHeaders: -ViridianGymTrainerHeader1: ; 0x74a08 - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d751 ; flag's byte - dw UnnamedText_74afd ; 0x4afd TextBeforeBattle - dw UnnamedText_74b07 ; 0x4b07 TextAfterBattle - dw UnnamedText_74b02 ; 0x4b02 TextEndBattle - dw UnnamedText_74b02 ; 0x4b02 TextEndBattle -; 0x74a14 - -TrainerHeader_74a14: ; 0x74a14 - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d751 ; flag's byte - dw UnnamedText_74b16 ; 0x4b16 TextBeforeBattle - dw UnnamedText_74b20 ; 0x4b20 TextAfterBattle - dw UnnamedText_74b1b ; 0x4b1b TextEndBattle - dw UnnamedText_74b1b ; 0x4b1b TextEndBattle -; 0x74a20 - -TrainerHeader_74a20: ; 0x74a20 - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d751 ; flag's byte - dw UnnamedText_74b2f ; 0x4b2f TextBeforeBattle - dw UnnamedText_74b39 ; 0x4b39 TextAfterBattle - dw UnnamedText_74b34 ; 0x4b34 TextEndBattle - dw UnnamedText_74b34 ; 0x4b34 TextEndBattle -; 0x74a2c - -TrainerHeader_74a2c: ; 0x74a2c - db $5 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d751 ; flag's byte - dw UnnamedText_74b48 ; 0x4b48 TextBeforeBattle - dw UnnamedText_74b52 ; 0x4b52 TextAfterBattle - dw UnnamedText_74b4d ; 0x4b4d TextEndBattle - dw UnnamedText_74b4d ; 0x4b4d TextEndBattle -; 0x74a38 - -TrainerHeader_74a38: ; 0x74a38 - db $6 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d751 ; flag's byte - dw UnnamedText_74b61 ; 0x4b61 TextBeforeBattle - dw UnnamedText_74b6b ; 0x4b6b TextAfterBattle - dw UnnamedText_74b66 ; 0x4b66 TextEndBattle - dw UnnamedText_74b66 ; 0x4b66 TextEndBattle -; 0x74a44 - -TrainerHeader_74a44: ; 0x74a44 - db $7 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d751 ; flag's byte - dw UnnamedText_74b7a ; 0x4b7a TextBeforeBattle - dw UnnamedText_74b84 ; 0x4b84 TextAfterBattle - dw UnnamedText_74b7f ; 0x4b7f TextEndBattle - dw UnnamedText_74b7f ; 0x4b7f TextEndBattle -; 0x74a50 - -TrainerHeader_74a50: ; 0x74a50 - db $8 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d751 ; flag's byte - dw UnnamedText_74b93 ; 0x4b93 TextBeforeBattle - dw UnnamedText_74b9d ; 0x4b9d TextAfterBattle - dw UnnamedText_74b98 ; 0x4b98 TextEndBattle - dw UnnamedText_74b98 ; 0x4b98 TextEndBattle -; 0x74a5c - -TrainerHeader_74a5c: ; 0x74a5c - db $9 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d751 ; flag's byte - dw UnnamedText_74bac ; 0x4bac TextBeforeBattle - dw UnnamedText_74bb6 ; 0x4bb6 TextAfterBattle - dw UnnamedText_74bb1 ; 0x4bb1 TextEndBattle - dw UnnamedText_74bb1 ; 0x4bb1 TextEndBattle -; 0x74a68 - -db $ff - -ViridianGymText1: ; 0x74a69 - db $08 ; asm - ld a, [$d751] - bit 1, a - jr z, .asm_6de66 ; 0x74a6f - bit 0, a - jr nz, .asm_9fc95 ; 0x74a73 - call z, $4995 - call $30b6 - jr .asm_6dff7 ; 0x74a7b -.asm_9fc95 ; 0x74a7d - ld a, $1 - ld [$cc3c], a - ld hl, UnnamedText_74ad9 - call PrintText - call $20ef - ld a, $32 - ld [$cc4d], a - ld a, $11 - call Predef - call $2429 - call Delay3 - call $20d1 - jr .asm_6dff7 ; 0x74a9e -.asm_6de66 ; 0x74aa0 - ld hl, UnnamedText_74ace - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, $4ad3 - ld de, $4ad3 - call $3354 - ldh a, [$8c] - ld [$cf13], a - call $336a - call $32d7 - ld a, $8 - ld [$d05c], a - ld a, $3 - ld [$d5fb], a -.asm_6dff7 ; 0x74acb - jp TextScriptEnd - -UnnamedText_74ace: ; 0x74ace - TX_FAR _UnnamedText_74ace - db $50 -; 0x74ace + 5 bytes - -UnnamedText_74ad3: ; 0x74ad3 - TX_FAR _UnnamedText_74ad3 - db $0b, $50 -; 0x74ad9 - -UnnamedText_74ad9: ; 0x74ad9 - TX_FAR _UnnamedText_74ad9 - db $0d, $50 -; 0x74add - -ViridianGymText12: ; 0x74adf - TX_FAR _ViridianGymText12 - db $50 -; 0x74adf + 5 bytes - -ViridianGymText13: ; 0x74ae4 - TX_FAR _UnnamedText_74ae4 - db $0b - -UnnamedText_74ae9: - TX_FAR _UnnamedText_74ae9 - db $50 - -ViridianGymText14: ; 0x74aee - TX_FAR _UnnamedText_74aee - db $50 -; 0x74aee + 5 bytes - -ViridianGymText2: ; 0x74af3 - db $08 ; asm - ld hl, ViridianGymTrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_74afd: ; 0x74afd - TX_FAR _UnnamedText_74afd - db $50 -; 0x74afd + 5 bytes - -UnnamedText_74b02: ; 0x74b02 - TX_FAR _UnnamedText_74b02 - db $50 -; 0x74b02 + 5 bytes - -UnnamedText_74b07: ; 0x74b07 - TX_FAR _UnnamedText_74b07 - db $50 -; 0x74b07 + 5 bytes - -ViridianGymText3: ; 0x74b0c - db $08 ; asm - ld hl, TrainerHeader_74a14 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_74b16: ; 0x74b16 - TX_FAR _UnnamedText_74b16 - db $50 -; 0x74b16 + 5 bytes - -UnnamedText_74b1b: ; 0x74b1b - TX_FAR _UnnamedText_74b1b - db $50 -; 0x74b1b + 5 bytes - -UnnamedText_74b20: ; 0x74b20 - TX_FAR _UnnamedText_74b20 - db $50 -; 0x74b20 + 5 bytes - -ViridianGymText4: ; 0x74b25 - db $08 ; asm - ld hl, TrainerHeader_74a20 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_74b2f: ; 0x74b2f - TX_FAR _UnnamedText_74b2f - db $50 -; 0x74b2f + 5 bytes - -UnnamedText_74b34: ; 0x74b34 - TX_FAR _UnnamedText_74b34 - db $50 -; 0x74b34 + 5 bytes - -UnnamedText_74b39: ; 0x74b39 - TX_FAR _UnnamedText_74b39 - db $50 -; 0x74b39 + 5 bytes - -ViridianGymText5: ; 0x74b3e - db $08 ; asm - ld hl, TrainerHeader_74a2c - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_74b48: ; 0x74b48 - TX_FAR _UnnamedText_74b48 - db $50 -; 0x74b48 + 5 bytes - -UnnamedText_74b4d: ; 0x74b4d - TX_FAR _UnnamedText_74b4d - db $50 -; 0x74b4d + 5 bytes - -UnnamedText_74b52: ; 0x74b52 - TX_FAR _UnnamedText_74b52 - db $50 -; 0x74b52 + 5 bytes - -ViridianGymText6: ; 0x74b57 - db $08 ; asm - ld hl, TrainerHeader_74a38 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_74b61: ; 0x74b61 - TX_FAR _UnnamedText_74b61 - db $50 -; 0x74b61 + 5 bytes - -UnnamedText_74b66: ; 0x74b66 - TX_FAR _UnnamedText_74b66 - db $50 -; 0x74b66 + 5 bytes - -UnnamedText_74b6b: ; 0x74b6b - TX_FAR _UnnamedText_74b6b - db $50 -; 0x74b6b + 5 bytes - -ViridianGymText7: ; 0x74b70 - db $08 ; asm - ld hl, TrainerHeader_74a44 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_74b7a: ; 0x74b7a - TX_FAR _UnnamedText_74b7a - db $50 -; 0x74b7a + 5 bytes - -UnnamedText_74b7f: ; 0x74b7f - TX_FAR _UnnamedText_74b7f - db $50 -; 0x74b7f + 5 bytes - -UnnamedText_74b84: ; 0x74b84 - TX_FAR _UnnamedText_74b84 - db $50 -; 0x74b84 + 5 bytes - -ViridianGymText8: ; 0x74b89 - db $08 ; asm - ld hl, TrainerHeader_74a50 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_74b93: ; 0x74b93 - TX_FAR _UnnamedText_74b93 - db $50 -; 0x74b93 + 5 bytes - -UnnamedText_74b98: ; 0x74b98 - TX_FAR _UnnamedText_74b98 - db $50 -; 0x74b98 + 5 bytes - -UnnamedText_74b9d: ; 0x74b9d - TX_FAR _UnnamedText_74b9d - db $50 -; 0x74b9d + 5 bytes - -ViridianGymText9: ; 0x74ba2 - db $08 ; asm - ld hl, TrainerHeader_74a5c - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_74bac: ; 0x74bac - TX_FAR _UnnamedText_74bac - db $50 -; 0x74bac + 5 bytes - -UnnamedText_74bb1: ; 0x74bb1 - TX_FAR _UnnamedText_74bb1 - db $50 -; 0x74bb1 + 5 bytes - -UnnamedText_74bb6: ; 0x74bb6 - TX_FAR _UnnamedText_74bb6 - db $50 -; 0x74bb6 + 5 bytes - -ViridianGymText10: ; 0x74bbb - db $08 ; asm - ld a, [$d751] - bit 1, a - jr nz, .asm_1abd1 ; 0x74bc1 - ld hl, UnnamedText_74bd4 - call PrintText - jr .asm_6064d ; 0x74bc9 -.asm_1abd1 ; 0x74bcb - ld hl, UnnamedText_74bd9 - call PrintText -.asm_6064d ; 0x74bd1 - jp TextScriptEnd - -UnnamedText_74bd4: ; 0x74bd4 - TX_FAR _UnnamedText_74bd4 - db $50 -; 0x74bd4 + 5 bytes - -UnnamedText_74bd9: ; 0x74bd9 - TX_FAR _UnnamedText_74bd9 - db $50 -; 0x74bd9 + 5 bytes - -ViridianGymObject: ; 0x74bde (size=105) - db $3 ; border tile - - db $2 ; warps - db $11, $10, $4, $ff - db $11, $11, $4, $ff - - db $0 ; signs - - db $b ; people - db SPRITE_GIOVANNI, $1 + 4, $2 + 4, $ff, $d0, $41, GIOVANNI + $C8, $3 ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $7 + 4, $c + 4, $ff, $d0, $42, COOLTRAINER_M + $C8, $9 ; trainer - db SPRITE_HIKER, $b + 4, $b + 4, $ff, $d1, $43, BLACKBELT + $C8, $6 ; trainer - db SPRITE_ROCKER, $7 + 4, $a + 4, $ff, $d0, $44, TAMER + $C8, $3 ; trainer - db SPRITE_HIKER, $7 + 4, $3 + 4, $ff, $d2, $45, BLACKBELT + $C8, $7 ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $5 + 4, $d + 4, $ff, $d3, $46, COOLTRAINER_M + $C8, $a ; trainer - db SPRITE_HIKER, $1 + 4, $a + 4, $ff, $d0, $47, BLACKBELT + $C8, $8 ; trainer - db SPRITE_ROCKER, $10 + 4, $2 + 4, $ff, $d3, $48, TAMER + $C8, $4 ; trainer - db SPRITE_BLACK_HAIR_BOY_1, $5 + 4, $6 + 4, $ff, $d0, $49, COOLTRAINER_M + $C8, $1 ; trainer - db SPRITE_GYM_HELPER, $f + 4, $10 + 4, $ff, $d0, $a ; person - db SPRITE_BALL, $9 + 4, $10 + 4, $ff, $ff, $8b, REVIVE ; item - - ; warp-to - EVENT_DISP $a, $11, $10 - EVENT_DISP $a, $11, $11 - -ViridianGymBlocks: ; 0x74c47 90 - INCBIN "maps/viridiangym.blk" - -PewterMart_h: ; 0x74ca1 to 0x74cad (12 bytes) (id=56) - db $02 ; tileset - db PEWTER_MART_HEIGHT, PEWTER_MART_WIDTH ; dimensions (y, x) - dw PewterMartBlocks, PewterMartTexts, PewterMartScript ; blocks, texts, scripts - db $00 ; connections - - dw PewterMartObject ; objects - -PewterMartScript: ; 0x74cad - call $3c3c - ld a, $1 - ld [$cf0c], a - ret -; 0x74cb6 - -PewterMartTexts: ; 0x74cb6 - dw PewterMartText1, PewterMartText2, PewterMartText3 - -PewterMartText2: ; 0x74cbc - db $08 ; asm - ld hl, UnnamedText_74cc6 - call PrintText - jp TextScriptEnd - -UnnamedText_74cc6: ; 0x74cc6 - TX_FAR _UnnamedText_74cc6 - db $50 -; 0x74cc6 + 5 bytes - -PewterMartText3: ; 0x74ccb - db $08 ; asm - ld hl, UnnamedText_74cd5 - call PrintText - jp TextScriptEnd - -UnnamedText_74cd5: ; 0x74cd5 - TX_FAR _UnnamedText_74cd5 - db $50 -; 0x74cd5 + 5 bytes - -PewterMartObject: ; 0x74cda (size=38) - db $0 ; border tile - - db $2 ; warps - db $7, $3, $4, $ff - db $7, $4, $4, $ff - - db $0 ; signs - - db $3 ; people - db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person - db SPRITE_BUG_CATCHER, $3 + 4, $3 + 4, $fe, $1, $2 ; person - db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $5 + 4, $ff, $ff, $3 ; person - - ; warp-to - EVENT_DISP $4, $7, $3 - EVENT_DISP $4, $7, $4 - -UnknownDungeon1_h: ; 0x74d00 to 0x74d0c (12 bytes) (id=228) - db $11 ; tileset - db UNKNOWN_DUNGEON_1_HEIGHT, UNKNOWN_DUNGEON_1_WIDTH ; dimensions (y, x) - dw UnknownDungeon1Blocks, UnknownDungeon1Texts, UnknownDungeon1Script ; blocks, texts, scripts - db $00 ; connections - - dw UnknownDungeon1Object ; objects - -UnknownDungeon1Script: ; 0x74d0c - jp $3c3c -; 0x74d0f - -UnknownDungeon1Texts: ; 0x74d0f - dw UnknownDungeon1Text1, UnknownDungeon1Text2, UnknownDungeon1Text3 - -UnknownDungeon1Object: ; 0x74d15 (size=97) - db $7d ; border tile - - db $9 ; warps - db $11, $18, $6, $ff - db $11, $19, $6, $ff - db $1, $1b, $0, UNKNOWN_DUNGEON_2 - db $7, $17, $1, UNKNOWN_DUNGEON_2 - db $9, $12, $2, UNKNOWN_DUNGEON_2 - db $1, $7, $3, UNKNOWN_DUNGEON_2 - db $3, $1, $4, UNKNOWN_DUNGEON_2 - db $b, $3, $5, UNKNOWN_DUNGEON_2 - db $6, $0, $0, UNKNOWN_DUNGEON_3 - - db $0 ; signs - - db $3 ; people - db SPRITE_BALL, $d + 4, $7 + 4, $ff, $ff, $81, FULL_RESTORE ; item - db SPRITE_BALL, $3 + 4, $13 + 4, $ff, $ff, $82, MAX_ELIXER ; item - db SPRITE_BALL, $0 + 4, $5 + 4, $ff, $ff, $83, NUGGET ; item - - ; warp-to - EVENT_DISP $f, $11, $18 - EVENT_DISP $f, $11, $19 - EVENT_DISP $f, $1, $1b ; UNKNOWN_DUNGEON_2 - EVENT_DISP $f, $7, $17 ; UNKNOWN_DUNGEON_2 - EVENT_DISP $f, $9, $12 ; UNKNOWN_DUNGEON_2 - EVENT_DISP $f, $1, $7 ; UNKNOWN_DUNGEON_2 - EVENT_DISP $f, $3, $1 ; UNKNOWN_DUNGEON_2 - EVENT_DISP $f, $b, $3 ; UNKNOWN_DUNGEON_2 - EVENT_DISP $f, $6, $0 ; UNKNOWN_DUNGEON_3 - -UnknownDungeon1Blocks: ; 0x74d76 135 - INCBIN "maps/unknowndungeon1.blk" - -CeruleanHouse3_h: ; 0x74dfd to 0x74e09 (12 bytes) (id=230) - db $0d ; tileset - db CERULEAN_HOUSE_3_HEIGHT, CERULEAN_HOUSE_3_WIDTH ; dimensions (y, x) - dw CeruleanHouse3Blocks, CeruleanHouse3Texts, CeruleanHouse3Script ; blocks, texts, scripts - db $00 ; connections - - dw CeruleanHouse3Object ; objects - -CeruleanHouse3Script: ; 0x74e09 - ld a, $1 - ld [$cf0c], a - dec a - ld [$cc3c], a - ret -; 0x74e13 - -CeruleanHouse3Texts: - dw CeruleanHouse3Text1 - -CeruleanHouse3Text1: ; 0x74e15 - db $8 - ld hl, UnnamedText_74e77 - call PrintText - xor a - ld [$cc26], a - ld [$cc36], a -.asm_74e23 - ld hl, UnnamedText_74e7c - call PrintText - ld hl, UnnamedText_74e6d - call $2a5a - ld hl, $cf7b - ld a, l - ld [$cf8b], a - ld a, h - ld [$cf8c], a - xor a - ld [$cf93], a - ld [$cc35], a - ld a, $4 - ld [$cf94], a - call $2be6 - jr c, .asm_74e60 ; 0x74e49 $15 - ld hl, $4e86 - ld a, [$cf91] - sub $15 - add a - ld d, $0 - ld e, a - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - call PrintText - jr .asm_74e23 ; 0x74e5e $c3 -.asm_74e60 - xor a - ld [$cc36], a - ld hl, UnnamedText_74e81 - call PrintText - jp TextScriptEnd -; 0x74e6d - -UnnamedText_74e6d: ; 0x74e6d -db $8,BOULDERBADGE,CASCADEBADGE,THUNDERBADGE,RAINBOWBADGE,SOULBADGE,MARSHBADGE,VOLCANOBADGE,EARTHBADGE,$FF - -UnnamedText_74e77: ; 0x74e77 - TX_FAR _UnnamedText_74e77 - db $50 -; 0x74e77 + 5 bytes - -UnnamedText_74e7c: ; 0x74e7c - TX_FAR _UnnamedText_74e7c - db $50 -; 0x74e7c + 5 bytes - -UnnamedText_74e81: ; 0x74e81 - TX_FAR _UnnamedText_74e81 - db $50 -; 0x74e81 + 5 bytes - -INCBIN "baserom.gbc",$74e86,$74e96 - $74e86 - -UnnamedText_74e96: ; 0x74e96 - TX_FAR _UnnamedText_74e96 - db $50 -; 0x74e96 + 5 bytes - -UnnamedText_74e9b: ; 0x74e9b - TX_FAR _UnnamedText_74e9b - db $50 -; 0x74e9b + 5 bytes - -UnnamedText_74ea0: ; 0x74ea0 - TX_FAR _UnnamedText_74ea0 - db $50 -; 0x74ea0 + 5 bytes - -UnnamedText_74ea5: ; 0x74ea5 - TX_FAR _UnnamedText_74ea5 - db $50 -; 0x74ea5 + 5 bytes - -UnnamedText_74eaa: ; 0x74eaa - TX_FAR _UnnamedText_74eaa - db $50 -; 0x74eaa + 5 bytes - -UnnamedText_74eaf: ; 0x74eaf - TX_FAR _UnnamedText_74eaf - db $50 -; 0x74eaf + 5 bytes - -UnnamedText_74eb4: ; 0x74eb4 - TX_FAR _UnnamedText_74eb4 - db $50 -; 0x74eb4 + 5 bytes - -UnnamedText_74eb9: ; 0x74eb9 - TX_FAR _UnnamedText_74eb9 - db $50 -; 0x74eb9 + 5 bytes - -CeruleanHouse3Object: ; 0x74ebe (size=34) - db $c ; border tile - - db $3 ; warps - db $0, $2, $9, $ff - db $7, $2, $8, $ff - db $7, $3, $8, $ff - - db $0 ; signs - - db $1 ; people - db SPRITE_FAT_BALD_GUY, $3 + 4, $5 + 4, $ff, $d3, $1 ; person - - ; warp-to - EVENT_DISP $4, $0, $2 - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - -INCBIN "baserom.gbc",$74ee0,$B9 - -UnnamedText_74f99: ; 0x74f99 - TX_FAR _UnnamedText_74f99 - db $50 -; 0x74f99 + 5 bytes - -Unnamed_74f9e: ; 0x74f9e - db "FRESH WATER",$4E - db "SODA POP",$4E - db "LEMONADE",$4E - db "CANCEL@" - db $F0,"200",$4E - db $F0,"300",$4E - db $F0,"350",$4E,"@" - -UnnamedText_74fd3: ; 0x74fd3 - TX_FAR _UnnamedText_74fd3 - db $50 -; 0x74fd3 + 5 bytes - -UnnamedText_74fd8: ; 0x74fd8 - TX_FAR _UnnamedText_74fd8 - db $50 -; 0x74fd8 + 5 bytes - -UnnamedText_74fdd: ; 0x74fdd - TX_FAR _UnnamedText_74fdd - db $50 -; 0x74fdd + 5 bytes - -UnnamedText_74fe2: ; 0x74fe2 - TX_FAR _UnnamedText_74fe2 - db $50 -; 0x74fe2 + 5 bytes - -Unknown_74fe7: ; 0x74fe7 - ld hl, Unknown_75000 - ld a, [$cc26] - add a - add a - ld d, $0 - ld e, a - add hl, de - ld a, [hli] - ld [$ff00+$db], a - ld a, [hli] - ld [$ff00+$dc], a - ld a, [hli] - ld [$ff00+$dd], a - ld a, [hl] - ld [$ff00+$de], a - ret -; 0x75000 - -Unknown_75000: -INCBIN "baserom.gbc",$75000,$c - -FuchsiaHouse1_h: ; 0x7500c to 0x75018 (12 bytes) (id=153) - db $08 ; tileset - db FUCHSIA_HOUSE_1_HEIGHT, FUCHSIA_HOUSE_1_WIDTH ; dimensions (y, x) - dw FuchsiaHouse1Blocks, FuchsiaHouse1Texts, FuchsiaHouse1Script ; blocks, texts, scripts - db $00 ; connections - - dw FuchsiaHouse1Object ; objects - -FuchsiaHouse1Script: ; 0x75018 - call $3c3c - ret -; 0x7501c - -FuchsiaHouse1Texts: ; 0x7501c - dw FuchsiaHouse1Text1, FuchsiaHouse1Text2, FuchsiaHouse1Text3 - -FuchsiaHouse1Text1: ; 0x75022 - TX_FAR _FuchsiaHouse1Text1 - db $50 - -FuchsiaHouse1Text2: ; 0x75027 - TX_FAR _FuchsiaHouse1Text2 - db $50 - -FuchsiaHouse1Text3: ; 0x7502c - TX_FAR _FuchsiaHouse1Text3 - db $50 - -FuchsiaHouse1Object: ; 0x75031 (size=38) - db $a ; border tile - - db $2 ; warps - db $7, $2, $1, $ff - db $7, $3, $1, $ff - - db $0 ; signs - - db $3 ; people - db SPRITE_MOM_GEISHA, $3 + 4, $2 + 4, $ff, $d3, $1 ; person - db SPRITE_GAMBLER, $2 + 4, $7 + 4, $ff, $d1, $2 ; person - db SPRITE_BUG_CATCHER, $5 + 4, $5 + 4, $ff, $ff, $3 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - -FuchsiaPokecenter_h: ; 0x75057 to 0x75063 (12 bytes) (id=154) - db $06 ; tileset - db FUCHSIA_POKECENTER_HEIGHT, FUCHSIA_POKECENTER_WIDTH ; dimensions (y, x) - dw FuchsiaPokecenterBlocks, FuchsiaPokecenterTexts, FuchsiaPokecenterScript ; blocks, texts, scripts - db $00 ; connections - - dw FuchsiaPokecenterObject ; objects - -FuchsiaPokecenterScript: ; 0x75063 - call $22fa - jp $3c3c -; 0x75069 - -FuchsiaPokecenterTexts: - dw FuchsiaPokecenterText1, FuchsiaPokecenterText2, FuchsiaPokecenterText3, FuchsiaPokecenterText4 - -FuchsiaPokecenterText1: ; 0x75071 - db $ff - -FuchsiaPokecenterText2: ; 0x75072 - TX_FAR _FuchsiaPokecenterText1 - db $50 - -FuchsiaPokecenterText3: ; 0x75077 - TX_FAR _FuchsiaPokecenterText3 - db $50 - -FuchsiaPokecenterText4: ; 0x7507c - db $f6 - -FuchsiaPokecenterObject: ; 0x7507d (size=44) - db $0 ; border tile - - db $2 ; warps - db $7, $3, $2, $ff - db $7, $4, $2, $ff - - db $0 ; signs - - db $4 ; people - db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person - db SPRITE_ROCKER, $3 + 4, $2 + 4, $ff, $ff, $2 ; person - db SPRITE_LASS, $5 + 4, $6 + 4, $fe, $2, $3 ; person - db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person - - ; warp-to - EVENT_DISP $7, $7, $3 - EVENT_DISP $7, $7, $4 - -FuchsiaHouse2_h: ; 0x750a9 to 0x750b5 (12 bytes) (id=155) - db $14 ; tileset - db FUCHSIA_HOUSE_2_HEIGHT, FUCHSIA_HOUSE_2_WIDTH ; dimensions (y, x) - dw FuchsiaHouse2Blocks, FuchsiaHouse2Texts, FuchsiaHouse2Script ; blocks, texts, scripts - db $00 ; connections - - dw FuchsiaHouse2Object ; objects - -FuchsiaHouse2Script: ; 0x750b5 - jp $3c3c -; 0x750b8 - -FuchsiaHouse2Texts: ; 0x750b8 - dw FuchsiaHouse2Text1, FuchsiaHouse2Text2, FuchsiaHouse2Text3, FuchsiaHouse2Text4, FuchsiaHouse2Text5 - -FuchsiaHouse2Text1: ; 0x750c2 - db $08 ; asm - ld a, [$d78e] - bit 0, a - jr nz, .asm_58feb ; 0x750c8 - ld b,GOLD_TEETH - call $3493 - jr nz, .asm_3f30f ; 0x750cf - ld a, [$d78e] - bit 1, a - jr nz, .asm_60cba ; 0x750d6 - ld hl, UnnamedText_75135 - call PrintText - call $35ec - ld a, [$cc26] - and a - ld hl, UnnamedText_7513f - jr nz, .asm_61238 ; 0x750e8 - ld hl, UnnamedText_7513a -.asm_61238 ; 0x750ed - call PrintText - jr .asm_52039 ; 0x750f0 -.asm_3f30f ; 0x750f2 - ld hl, UnnamedText_75144 - call PrintText - ld a, $40 - ldh [$db], a - ld b, $5 ; BANK(MyFunction) - ld hl, $7f37 ; MyFunction - call Bankswitch - ld hl, $d78e - set 1, [hl] -.asm_60cba ; 0x75109 - ld hl, UnnamedText_7514e - call PrintText - ld bc,(HM_04 << 8) | 1 - call GiveItem - jr nc, .asm_53b90 ; 0x75115 - ld hl, UnnamedText_75153 - call PrintText - ld hl, $d78e - set 0, [hl] - jr .asm_52039 ; 0x75122 -.asm_58feb ; 0x75124 - ld hl, UnnamedText_75159 - call PrintText - jr .asm_52039 ; 0x7512a -.asm_53b90 ; 0x7512c - ld hl, UnnamedText_7515e - call PrintText -.asm_52039 ; 0x75132 - jp TextScriptEnd - -UnnamedText_75135: ; 0x75135 - TX_FAR _UnnamedText_75135 - db $50 -; 0x75135 + 5 bytes - -UnnamedText_7513a: ; 0x7513a - TX_FAR _UnnamedText_7513a - db $50 -; 0x7513a + 5 bytes - -UnnamedText_7513f: ; 0x7513f - TX_FAR _UnnamedText_7513f - db $50 -; 0x7513f + 5 bytes - -UnnamedText_75144: ; 0x75144 - TX_FAR _UnnamedText_75144 - db $0b - -UnnamedText_75149: ; 0x75149 - TX_FAR _UnnamedText_75149 - db $50 -; 0x75149 + 5 bytes - -UnnamedText_7514e: ; 0x7514e - TX_FAR _UnnamedText_7514e - db $50 -; 0x7514e + 5 bytes - -UnnamedText_75153: ; 0x75153 - TX_FAR UnnamedText_9e5a2 ; 0x9e5a2 - db $0B, $50 -; 0x75153 + 6 bytes = 0x75159 - -UnnamedText_75159: ; 0x75159 - TX_FAR _UnnamedText_75159 - db $50 -; 0x75159 + 5 bytes - -UnnamedText_7515e: ; 0x7515e - TX_FAR _UnnamedText_7515e - db $50 -; 0x7515e + 5 bytes - -FuchsiaHouse2Text5: -FuchsiaHouse2Text4: ; 0x75163 - db $08 ; asm - ldh a, [$8c] - cp $4 - ld hl, UnnamedText_7517b - jr nz, .asm_4c9a2 ; 0x7516b - ld hl, UnnamedText_75176 -.asm_4c9a2 ; 0x75170 - call PrintText - jp TextScriptEnd - -UnnamedText_75176: ; 0x75176 - TX_FAR _UnnamedText_75176 - db $50 -; 0x75176 + 5 bytes - -UnnamedText_7517b: ; 0x7517b - TX_FAR _UnnamedText_7517b - db $50 -; 0x7517b + 5 bytes - -FuchsiaHouse2Object: ; 0x75180 (size=45) - db $17 ; border tile - - db $2 ; warps - db $7, $4, $3, $ff - db $7, $5, $3, $ff - - db $2 ; signs - db $3, $4, $4 ; FuchsiaHouse2Text4 - db $3, $5, $5 ; FuchsiaHouse2Text5 - - db $3 ; people - db SPRITE_WARDEN, $3 + 4, $2 + 4, $ff, $ff, $1 ; person - db SPRITE_BALL, $3 + 4, $8 + 4, $ff, $ff, $82, RARE_CANDY ; item - db SPRITE_BOULDER, $4 + 4, $8 + 4, $ff, $10, $3 ; person - - ; warp-to - EVENT_DISP $5, $7, $4 - EVENT_DISP $5, $7, $5 - -FuchsiaHouse2Blocks: ; 0x751ad 20 - INCBIN "maps/fuchsiahouse2.blk" - -SafariZoneEntrance_h: ; 0x751c1 to 0x751cd (12 bytes) (id=156) - db $0c ; tileset - db SAFARIZONEENTRANCE_HEIGHT, SAFARIZONEENTRANCE_WIDTH ; dimensions (y, x) - dw SafariZoneEntranceBlocks, SafariZoneEntranceTexts, SafariZoneEntranceScript ; blocks, texts, scripts - db $00 ; connections - - dw SafariZoneEntranceObject ; objects - -SafariZoneEntranceScript: ; 0x751cd - call $3c3c - ld hl, SafariZoneEntranceScripts - ld a, [$d61f] - jp $3d97 -; 0x751d9 - -SafariZoneEntranceScripts: ; 0x751d9 - dw SafariZoneEntranceScript0, SafariZoneEntranceScript1, SafariZoneEntranceScript2, SafariZoneEntranceScript3, SafariZoneEntranceScript4, SafariZoneEntranceScript5, SafariZoneEntranceScript6 - -SafariZoneEntranceScript0: ; 0x751e7 - ld hl, $5221 - call $34bf - ret nc - ld a, $3 - ld [$ff00+$8c], a - call DisplayTextID - ld a, $ff - ld [$cd6b], a - xor a - ld [$ff00+$b4], a - ld a, $c - ld [$c109], a - ld a, [$cd3d] - cp $1 - jr z, .asm_7520f ; 0x75207 $6 - ld a, $2 - ld [$d61f], a - ret -.asm_7520f - ld a, $10 - ld c, $1 - call $52a3 - ld a, $f0 - ld [$cd6b], a - ld a, $1 - ld [$d61f], a - ret -; 0x75221 - -Unknown_75221: ; 0x75221 -db $2, $3, $2, $4, $ff - -SafariZoneEntranceScript1: ; 0x75226 - call $52b4 - ret nz -SafariZoneEntranceScript2: ; 0x7522a - xor a - ld [$ff00+$b4], a - ld [$cd6b], a - call $2429 - ld a, $4 - ld [$ff00+$8c], a - call $2920 - ld a, $ff - ld [$cd6b], a - ret -; 0x75240 - -SafariZoneEntranceScript3: ; 0x75240 - call $52b4 - ret nz - xor a - ld [$cd6b], a - ld a, $5 - ld [$d61f], a - ret -; 0x7524e - -SafariZoneEntranceScript5: ; 0x7524e - ld a, $4 - ld [$d528], a - ld hl, $d790 - bit 6, [hl] - res 6, [hl] - jr z, .asm_7527f ; 0x7525a $23 - res 7, [hl] - call $2429 - ld a, $f0 - ld [$cd6b], a - ld a, $6 - ld [$ff00+$8c], a - call $2920 - xor a - ld [$da47], a - ld a, $80 - ld c, $3 - call $52a3 - ld a, $4 - ld [$d61f], a - jr .asm_75286 ; 0x7527d $7 -.asm_7527f - ld a, $5 - ld [$ff00+$8c], a - call $2920 -.asm_75286 - ret -; 0x75287 - -SafariZoneEntranceScript4: ; 0x75287 - call $52b4 - ret nz - xor a - ld [$cd6b], a - ld a, $0 - ld [$d61f], a - ret -; 0x75295 - -SafariZoneEntranceScript6: ; 0x75295 - call $52b4 - ret nz - call Delay3 - ld a, [$cf0d] - ld [$d61f], a - ret -; 0x752a3 - -Unknown_752a3: ; 0x752a3 -INCBIN "baserom.gbc",$752a3,$752b9 - $752a3 - -SafariZoneEntranceTexts: ; 0x752b9 - dw SafariZoneEntranceText1, SafariZoneEntranceText2, SafariZoneEntranceText3, SafariZoneEntranceText4, SafariZoneEntranceText5, SafariZoneEntranceText6 - -SafariZoneEntranceText3: -SafariZoneEntranceText1: ; 0x752c5 - TX_FAR _SafariZoneEntranceText1 - db $50 - -SafariZoneEntranceText4: ; 0x752ca - TX_FAR UnnamedText_9e6e4 ; 0x9e6e4 - db $8 -; 0x752cf - ld a, $13 - ld [$d125], a - call $30e8 - call $35ec - ld a, [$cc26] - and a - jp nz, $5346 - xor a - ld [$ff00+$9f], a - ld a, $5 - ld [$ff00+$a0], a - ld a, $0 - ld [$ff00+$a1], a - call $35a6 - jr nc, .asm_752f9 ; 0x752ef $8 - ld hl, UnnamedText_7536a - call PrintText - jr .asm_7534c ; 0x752f7 $53 -.asm_752f9 - xor a - ld [$cd3d], a - ld a, $5 - ld [$cd3e], a - ld a, $0 - ld [$cd3f], a - ld hl, $cd3f - ld de, $d349 - ld c, $3 - ld a, $c - call Predef - ld a, $13 - ld [$d125], a - call $30e8 - ld hl, UnnamedText_7535b - call PrintText - ld a, $1e - ld [$da47], a - ld a, $1 - ld [$d70d], a - ld a, $f6 - ld [$d70e], a - ld a, $40 - ld c, $3 - call $52a3 - ld hl, $d790 - set 7, [hl] - res 6, [hl] - ld a, $3 - ld [$d61f], a - jr .asm_75358 ; 0x75344 $12 - ld hl, UnnamedText_75365 - call PrintText -.asm_7534c - ld a, $80 - ld c, $1 - call $52a3 - ld a, $4 - ld [$d61f], a -.asm_75358 - jp TextScriptEnd -; 0x7535b - -UnnamedText_7535b: ; 0x7535b - TX_FAR UnnamedText_9e747 ; 0x9e747 - db $0B - -UnnamedText_75360: ; 0x75360 - TX_FAR _UnnamedText_75360 - db $50 -; 0x75360 + 5 bytes - -UnnamedText_75365: ; 0x75365 - TX_FAR _UnnamedText_75365 - db $50 -; 0x75365 + 5 bytes - -UnnamedText_7536a: ; 0x7536a - TX_FAR _UnnamedText_7536a - db $50 -; 0x7536a + 5 bytes - -SafariZoneEntranceText5: ; 0x7536f - TX_FAR UnnamedText_9e814 ; 0x9e814 - db $8 - call $35ec - ld a, [$cc26] - and a - jr nz, .asm_7539c ; 0x7537b $1f - ld hl, UnnamedText_753bb - call PrintText - xor a - ld [$c109], a - ld a, $80 - ld c, $3 - call $52a3 - ld hl, $d790 - res 6, [hl] - res 7, [hl] - ld a, $0 - ld [$cf0d], a - jr .asm_753b3 ; 0x7539a $17 -.asm_7539c - ld hl, UnnamedText_753c0 - call PrintText - ld a, $4 - ld [$c109], a - ld a, $40 - ld c, $1 - call $52a3 - ld a, $5 - ld [$cf0d], a -.asm_753b3 - ld a, $6 - ld [$d61f], a - jp TextScriptEnd -; 0x753bb - -UnnamedText_753bb: ; 0x753bb - TX_FAR _UnnamedText_753bb - db $50 -; 0x753bb + 5 bytes - -UnnamedText_753c0: ; 0x753c0 - TX_FAR _UnnamedText_753c0 - db $50 -; 0x753c0 + 5 bytes - -SafariZoneEntranceText6: ; 0x753c5 - TX_FAR _UnnamedText_753c5 - db $50 -; 0x753c5 + 5 bytes - -SafariZoneEntranceText2: ; 0x753ca - db $08 ; asm - ld hl, UnnamedText_753e6 - call PrintText - call $35ec - ld a, [$cc26] - and a - ld hl, UnnamedText_753f0 - jr nz, .asm_278a6 ; 0x753db - ld hl, UnnamedText_753eb -.asm_278a6 ; 0x753e0 - call PrintText - jp TextScriptEnd - -UnnamedText_753e6: ; 0x753e6 - TX_FAR _UnnamedText_753e6 - db $50 -; 0x753e6 + 5 bytes - -UnnamedText_753eb: ; 0x753eb - TX_FAR _UnnamedText_753eb - db $50 -; 0x753eb + 5 bytes - -UnnamedText_753f0: ; 0x753f0 - TX_FAR _UnnamedText_753f0 - db $50 -; 0x753f0 + 5 bytes - -SafariZoneEntranceObject: ; 0x753f5 (size=48) - db $a ; border tile - - db $4 ; warps - db $5, $3, $4, $ff - db $5, $4, $4, $ff - db $0, $3, $0, SAFARI_ZONE_CENTER - db $0, $4, $1, SAFARI_ZONE_CENTER - - db $0 ; signs - - db $2 ; people - db SPRITE_WHITE_PLAYER, $2 + 4, $6 + 4, $ff, $d2, $1 ; person - db SPRITE_WHITE_PLAYER, $4 + 4, $1 + 4, $ff, $d3, $2 ; person - - ; warp-to - EVENT_DISP $4, $5, $3 - EVENT_DISP $4, $5, $4 - EVENT_DISP $4, $0, $3 ; SAFARI_ZONE_CENTER - EVENT_DISP $4, $0, $4 ; SAFARI_ZONE_CENTER - -SafariZoneEntranceBlocks: ; 0x75425 12 - INCBIN "maps/safarizoneentrance.blk" - -FuchsiaGym_h: ; 0x75431 to 0x7543d (12 bytes) (id=157) - db $07 ; tileset - db FUCHSIA_GYM_HEIGHT, FUCHSIA_GYM_WIDTH ; dimensions (y, x) - dw FuchsiaGymBlocks, FuchsiaGymTexts, FuchsiaGymScript ; blocks, texts, scripts - db $00 ; connections - - dw FuchsiaGymObject ; objects - -FuchsiaGymScript: ; 0x7543d - call FuchsiaGymScript_Unknown75453 - call $3c3c - ld hl, FuchsiaGymTrainerHeaders - ld de, $5482 - ld a, [$d65b] - call $3160 - ld [$d65b], a - ret -; 0x75453 - -FuchsiaGymScript_Unknown75453: ; 0x75453 -INCBIN "baserom.gbc",$75453,$12 - -Gym5CityName: ; 0x75465 - db "FUCHSIA CITY@" -Gym5LeaderName: ; 0x75472 - db "KOGA@" - -INCBIN "baserom.gbc",$75477,$5E - -FuchsiaGymTexts: ; 0x754d5 - dw FuchsiaGymText1, FuchsiaGymText2, FuchsiaGymText3, FuchsiaGymText4, FuchsiaGymText5, FuchsiaGymText6, FuchsiaGymText7, FuchsiaGymText8, FuchsiaGymText9, FuchsiaGymText10, FuchsiaGymText11 - -FuchsiaGymTrainerHeaders: -FuchsiaGymTrainerHeader1: ; 0x754eb - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d792 ; flag's byte - dw UnnamedText_755ae ; 0x55ae TextBeforeBattle - dw UnnamedText_755b8 ; 0x55b8 TextAfterBattle - dw UnnamedText_755b3 ; 0x55b3 TextEndBattle - dw UnnamedText_755b3 ; 0x55b3 TextEndBattle -; 0x754f7 - -TrainerHeader_754f7: ; 0x754f7 - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d792 ; flag's byte - dw UnnamedText_755c7 ; 0x55c7 TextBeforeBattle - dw UnnamedText_755d1 ; 0x55d1 TextAfterBattle - dw UnnamedText_755cc ; 0x55cc TextEndBattle - dw UnnamedText_755cc ; 0x55cc TextEndBattle -; 0x75503 - -TrainerHeader_75503: ; 0x75503 - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d792 ; flag's byte - dw UnnamedText_755e0 ; 0x55e0 TextBeforeBattle - dw UnnamedText_755ea ; 0x55ea TextAfterBattle - dw UnnamedText_755e5 ; 0x55e5 TextEndBattle - dw UnnamedText_755e5 ; 0x55e5 TextEndBattle -; 0x7550f - -TrainerHeader_7550f: ; 0x7550f - db $5 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d792 ; flag's byte - dw UnnamedText_755f9 ; 0x55f9 TextBeforeBattle - dw UnnamedText_75603 ; 0x5603 TextAfterBattle - dw UnnamedText_755fe ; 0x55fe TextEndBattle - dw UnnamedText_755fe ; 0x55fe TextEndBattle -; 0x7551b - -TrainerHeader_7551b: ; 0x7551b - db $6 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d792 ; flag's byte - dw UnnamedText_75612 ; 0x5612 TextBeforeBattle - dw UnnamedText_7561c ; 0x561c TextAfterBattle - dw UnnamedText_75617 ; 0x5617 TextEndBattle - dw UnnamedText_75617 ; 0x5617 TextEndBattle -; 0x75527 - -TrainerHeader_75527: ; 0x75527 - db $7 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d792 ; flag's byte - dw UnnamedText_7562b ; 0x562b TextBeforeBattle - dw UnnamedText_75635 ; 0x5635 TextAfterBattle - dw UnnamedText_75630 ; 0x5630 TextEndBattle - dw UnnamedText_75630 ; 0x5630 TextEndBattle -; 0x75533 - -db $ff - -FuchsiaGymText1: ; 0x75534 - db $08 ; asm - ld a, [$d792] - bit 1, a - jr z, .asm_181b6 ; 0x7553a - bit 0, a - jr nz, .asm_adc3b ; 0x7553e - call z, $5497 - call $30b6 - jr .asm_e84c6 ; 0x75546 -.asm_adc3b ; 0x75548 - ld hl, UnnamedText_7558b - call PrintText - jr .asm_e84c6 ; 0x7554e -.asm_181b6 ; 0x75550 - ld hl, UnnamedText_75581 - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, UnnamedText_75586 - ld de, $5586 ; probably UnnamedText_75586 - call $3354 - ldh a, [$8c] - ld [$cf13], a - call $336a - call $32d7 - ld a, $5 - ld [$d05c], a - xor a - ldh [$b4], a - ld a, $3 - ld [$d65b], a -.asm_e84c6 ; 0x7557e - jp TextScriptEnd - -UnnamedText_75581: ; 0x75581 - TX_FAR _UnnamedText_75581 - db $50 -; 0x75581 + 5 bytes - -UnnamedText_75586: ; 0x75586 - TX_FAR _UnnamedText_75586 - db $50 -; 0x75586 + 5 bytes - -UnnamedText_7558b: ; 0x7558b - TX_FAR _UnnamedText_7558b - db $50 -; 0x7558b + 5 bytes - -FuchsiaGymText9: ; 0x75590 - TX_FAR _UnnamedText_75590 - db $50 -; 0x75590 + 5 bytes - -FuchsiaGymText10: ; 0x75595 - TX_FAR UnnamedText_a00eb ; 0xa00eb - db $11 - -UnnamedText_7559a: ; 0x7559a - TX_FAR _UnnamedText_7559a - db $50 -; 0x7559a + 5 bytes - -FuchsiaGymText11: ; 0x7559f - TX_FAR _UnnamedText_7559f - db $50 -; 0x7559f + 5 bytes - -FuchsiaGymText2: ; 0x755a4 - db $08 ; asm - ld hl, FuchsiaGymTrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_755ae: ; 0x755ae - TX_FAR _UnnamedText_755ae - db $50 -; 0x755ae + 5 bytes - -UnnamedText_755b3: ; 0x755b3 - TX_FAR _UnnamedText_755b3 - db $50 -; 0x755b3 + 5 bytes - -UnnamedText_755b8: ; 0x755b8 - TX_FAR _UnnamedText_755b8 - db $50 -; 0x755b8 + 5 bytes - -FuchsiaGymText3: ; 0x755bd - db $08 ; asm - ld hl, TrainerHeader_754f7 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_755c7: ; 0x755c7 - TX_FAR _UnnamedText_755c7 - db $50 -; 0x755c7 + 5 bytes - -UnnamedText_755cc: ; 0x755cc - TX_FAR _UnnamedText_755cc - db $50 -; 0x755cc + 5 bytes - -UnnamedText_755d1: ; 0x755d1 - TX_FAR _UnnamedText_755d1 - db $50 -; 0x755d1 + 5 bytes - -FuchsiaGymText4: ; 0x755d6 - db $08 ; asm - ld hl, TrainerHeader_75503 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_755e0: ; 0x755e0 - TX_FAR _UnnamedText_755e0 - db $50 -; 0x755e0 + 5 bytes - -UnnamedText_755e5: ; 0x755e5 - TX_FAR _UnnamedText_755e5 - db $50 -; 0x755e5 + 5 bytes - -UnnamedText_755ea: ; 0x755ea - TX_FAR _UnnamedText_755ea - db $50 -; 0x755ea + 5 bytes - -FuchsiaGymText5: ; 0x755ef - db $08 ; asm - ld hl, TrainerHeader_7550f - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_755f9: ; 0x755f9 - TX_FAR _UnnamedText_755f9 - db $50 -; 0x755f9 + 5 bytes - -UnnamedText_755fe: ; 0x755fe - TX_FAR _UnnamedText_755fe - db $50 -; 0x755fe + 5 bytes - -UnnamedText_75603: ; 0x75603 - TX_FAR _UnnamedText_75603 - db $50 -; 0x75603 + 5 bytes - -FuchsiaGymText6: ; 0x75608 - db $08 ; asm - ld hl, TrainerHeader_7551b - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_75612: ; 0x75612 - TX_FAR _UnnamedText_75612 - db $50 -; 0x75612 + 5 bytes - -UnnamedText_75617: ; 0x75617 - TX_FAR _UnnamedText_75617 - db $50 -; 0x75617 + 5 bytes - -UnnamedText_7561c: ; 0x7561c - TX_FAR _UnnamedText_7561c - db $50 -; 0x7561c + 5 bytes - -FuchsiaGymText7: ; 0x75621 - db $08 ; asm - ld hl, TrainerHeader_75527 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_7562b: ; 0x7562b - TX_FAR _UnnamedText_7562b - db $50 -; 0x7562b + 5 bytes - -UnnamedText_75630: ; 0x75630 - TX_FAR _UnnamedText_75630 - db $50 -; 0x75630 + 5 bytes - -UnnamedText_75635: ; 0x75635 - TX_FAR _UnnamedText_75635 - db $50 -; 0x75635 + 5 bytes - -FuchsiaGymText8: ; 0x7563a - db $08 ; asm - ld a, [$d792] - bit 1, a - ld hl, UnnamedText_75653 - jr nz, .asm_50671 ; 0x75643 - ld hl, UnnamedText_7564e -.asm_50671 ; 0x75648 - call PrintText - jp TextScriptEnd - -UnnamedText_7564e: ; 0x7564e - TX_FAR _UnnamedText_7564e - db $50 -; 0x7564e + 5 bytes - -UnnamedText_75653: ; 0x75653 - TX_FAR _UnnamedText_75653 - db $50 -; 0x75653 + 5 bytes - -FuchsiaGymObject: ; 0x75658 (size=82) - db $3 ; border tile - - db $2 ; warps - db $11, $4, $5, $ff - db $11, $5, $5, $ff - - db $0 ; signs - - db $8 ; people - db SPRITE_BLACKBELT, $a + 4, $4 + 4, $ff, $d0, $41, KOGA + $C8, $1 ; trainer - db SPRITE_ROCKER, $d + 4, $8 + 4, $ff, $d0, $42, JUGGLER + $C8, $7 ; trainer - db SPRITE_ROCKER, $8 + 4, $7 + 4, $ff, $d3, $43, JUGGLER + $C8, $3 ; trainer - db SPRITE_ROCKER, $c + 4, $1 + 4, $ff, $d0, $44, JUGGLER + $C8, $8 ; trainer - db SPRITE_ROCKER, $5 + 4, $3 + 4, $ff, $d1, $45, TAMER + $C8, $1 ; trainer - db SPRITE_ROCKER, $2 + 4, $8 + 4, $ff, $d0, $46, TAMER + $C8, $2 ; trainer - db SPRITE_ROCKER, $7 + 4, $2 + 4, $ff, $d2, $47, JUGGLER + $C8, $4 ; trainer - db SPRITE_GYM_HELPER, $f + 4, $7 + 4, $ff, $d0, $8 ; person - - ; warp-to - EVENT_DISP $5, $11, $4 - EVENT_DISP $5, $11, $5 - -FuchsiaGymBlocks: ; 0x756aa 45 - INCBIN "maps/fuchsiagym.blk" - -FuchsiaMeetingRoom_h: ; 0x756d7 to 0x756e3 (12 bytes) (id=158) - db $14 ; tileset - db FUCHSIAMEETINGROOM_HEIGHT, FUCHSIAMEETINGROOM_WIDTH ; dimensions (y, x) - dw FuchsiaMeetingRoomBlocks, FuchsiaMeetingRoomTexts, FuchsiaMeetingRoomScript ; blocks, texts, scripts - db $00 ; connections - - dw FuchsiaMeetingRoomObject ; objects - -FuchsiaMeetingRoomScript: ; 0x756e3 - call $3c3c - ret -; 0x756e7 - -FuchsiaMeetingRoomTexts: ; 0x756e7 - dw FuchsiaMeetingRoomText1, FuchsiaMeetingRoomText2, FuchsiaMeetingRoomText3 - -FuchsiaMeetingRoomText1: ; 0x756ed - TX_FAR _FuchsiaMeetingRoomText1 - db $50 - -FuchsiaMeetingRoomText2: ; 0x756f2 - TX_FAR _FuchsiaMeetingRoomText2 - db $50 - -FuchsiaMeetingRoomText3: ; 0x756f7 - TX_FAR _FuchsiaMeetingRoomText3 - db $50 - -FuchsiaMeetingRoomObject: ; 0x756fc (size=38) - db $17 ; border tile - - db $2 ; warps - db $7, $4, $6, $ff - db $7, $5, $6, $ff - - db $0 ; signs - - db $3 ; people - db SPRITE_WHITE_PLAYER, $1 + 4, $4 + 4, $ff, $d0, $1 ; person - db SPRITE_WHITE_PLAYER, $2 + 4, $0 + 4, $ff, $d1, $2 ; person - db SPRITE_WHITE_PLAYER, $1 + 4, $a + 4, $ff, $d0, $3 ; person - - ; warp-to - EVENT_DISP $7, $7, $4 - EVENT_DISP $7, $7, $5 - -FuchsiaMeetingRoomBlocks: ; 0x75722 28 - INCBIN "maps/fuchsiameetingroom.blk" - -CinnabarGym_h: ; 0x7573e to 0x7574a (12 bytes) (id=166) - db $16 ; tileset - db CINNABAR_GYM_HEIGHT, CINNABAR_GYM_WIDTH ; dimensions (y, x) - dw CinnabarGymBlocks, CinnabarGymTexts, CinnabarGymScript ; blocks, texts, scripts - db $00 ; connections - - dw CinnabarGymObject ; objects - -CinnabarGymScript: ; 0x7574a - call CinnabarGymScript_Unknown75759 - call $3c3c - ld hl, CinnabarGymScripts - ld a, [$d65e] - jp $3d97 -; 0x75759 - -CinnabarGymScript_Unknown75759: ; 0x75759 -INCBIN "baserom.gbc",$75759,$7577B - $75759 - -Gym7CityName: ; 0x7577B - db "CINNABAR ISLAND@" -Gym7LeaderName: ; 0x7578b - db "BLAINE@" - -INCBIN "baserom.gbc",$75792,$757a6 - $75792 - -CinnabarGymScripts: ; 0x757a6 - dw CinnabarGymScript0, CinnabarGymScript1, CinnabarGymScript2, CinnabarGymScript3 - -CinnabarGymScript0: ; 0x757ae - ld a, [$da38] - and a - ret z - ld [$ff00+$8c], a - cp $4 - jr nz, .asm_757c3 ; 0x757b7 $a - ld a, $4 - ld [$d528], a - ld de, $57d7 - jr .asm_757cb ; 0x757c1 $8 -.asm_757c3 - ld de, $57da - ld a, $1 - ld [$d528], a -.asm_757cb - call $363a - ld a, $1 - ld [$d65e], a - ld [$da39], a - ret -; 0x757d7 - -INCBIN "baserom.gbc",$757d7,$757dc - $757d7 - -CinnabarGymScript1: ; 0x757dc - ld a, [$d730] - bit 0, a - ret nz - xor a - ld [$cd6b], a - ld a, [$da38] - ld [$cc55], a - ld [$ff00+$8c], a - jp $2920 -; 0x757f1 - -INCBIN "baserom.gbc",$757f1,$757f6 - $757f1 - -CinnabarGymScript2: ; 0x757f6 - ld a, [$d057] - cp $ff - jp z, $5792 - ld a, [$cc55] - ld [$ff00+$db], a - ld c, a - ld b, $2 - ld hl, $d79a - call $57f1 - ld a, c - and a - jr nz, .asm_7581b ; 0x7580e $b - call $3748 - ld a, $ad - call $23b1 - call $3748 -.asm_7581b - ld a, [$cc55] - ld [$ff00+$db], a - ld c, a - ld b, $1 - ld hl, $d79a - call $57f1 - ld a, [$cc55] - sub $2 - ld c, a - ld b, $1 - ld hl, $d79c - call $57f1 - call $3ead - xor a - ld [$cd6b], a - ld [$da38], a - ld a, $0 - ld [$d65e], a - ld [$da39], a - ret -; 0x7584a - -CinnabarGymScript3: ; 0x7584a - ld a, [$d057] - cp $ff - jp z, $5792 - ld a, $f0 - ld [$cd6b], a - ld a, $a - ld [$ff00+$8c], a - call $2920 - ld hl, $d79a - set 1, [hl] - ld bc, $ee01 - call GiveItem - jr nc, .asm_75879 ; 0x75869 $e - ld a, $b - ld [$ff00+$8c], a - call $2920 - ld hl, $d79a - set 0, [hl] - jr .asm_75880 ; 0x75877 $7 -.asm_75879 - ld a, $c - ld [$ff00+$8c], a - call $2920 -.asm_75880 - ld hl, $d356 - set 6, [hl] - ld hl, $d72a - set 6, [hl] - ld a, [$d79a] - or $fc - ld [$d79a], a - ld hl, $d79b - set 0, [hl] - ld hl, $d126 - set 5, [hl] - jp $5792 -; 0x7589f - -CinnabarGymTexts: ; 0x7589f - dw CinnabarGymText1, CinnabarGymText2, CinnabarGymText3, CinnabarGymText4, CinnabarGymText5, CinnabarGymText6, CinnabarGymText7, CinnabarGymText8, CinnabarGymText9 -;CinnabarGymText 10: ; 0x75925 -;CinnabarGymText 11: ; 0x7592a -;CinnabarGymText 12: ; 0x75934 - -INCBIN "baserom.gbc",$758b1,$2e - -CinnabarGymText1: ; 0x758df - db $8 - ld a, [$d79a] - bit 1, a - jr z, .asm_d9332 ; 0x758e5 $16 - bit 0, a - jr nz, .asm_3012f ; 0x758e9 $9 - call z, $5857 - call $30b6 - jp TextScriptEnd -.asm_3012f ; 0x758f4 - ld hl, UnnamedText_75920 - call PrintText - jp TextScriptEnd -.asm_d9332 ; 0x758fd - ld hl, UnnamedText_75914 - call PrintText - ld hl, UnnamedText_75919 - ld de, UnnamedText_75919 ; $5919 XXX - call $3354 - ld a, $7 - ld [$d05c], a - jp $58b7 -; 0x75914 - -UnnamedText_75914: ; 0x75914 - TX_FAR _UnnamedText_75914 - db $50 -; 0x75914 + 5 bytes - -UnnamedText_75919: ; 0x75919 - TX_FAR UnnamedText_a08c7 - db $11 - db $d - db $50 - -UnnamedText_75920: ; 0x75920 - TX_FAR _UnnamedText_75920 - db $50 -; 0x75920 + 5 bytes - -UnnamedText_75925: ; 0x75925 - TX_FAR _UnnamedText_75925 - db $50 -; 0x75925 + 5 bytes - -UnnamedText_7592a: ; 0x7592a - TX_FAR UnnamedText_a09a8 ; 0xa09a8 - db $0B - TX_FAR _UnnamedText_7592f - db $50 -; 0x75934 - -UnnamedText_75934: ; 0x75934 - TX_FAR _UnnamedText_75934 - db $50 -; 0x75934 + 5 bytes - -CinnabarGymText2: ; 0x75939 - db $08 ; asm - call $57a0 - ld a, [$d79a] - bit 2, a - jr nz, .asm_46bb4 ; 0x75942 - ld hl, UnnamedText_7595f - call PrintText - ld hl, UnnamedText_75964 - ld de, UnnamedText_75964 ; $5964 XXX - call $3354 - jp $58b7 -.asm_46bb4 ; 0x75956 - ld hl, UnnamedText_75969 - call PrintText - jp TextScriptEnd - -UnnamedText_7595f: ; 0x7595f - TX_FAR _UnnamedText_7595f - db $50 -; 0x7595f + 5 bytes - -UnnamedText_75964: ; 0x75964 - TX_FAR _UnnamedText_75964 - db $50 -; 0x75964 + 5 bytes - -UnnamedText_75969: ; 0x75969 - TX_FAR _UnnamedText_75969 - db $50 -; 0x75969 + 5 bytes - -CinnabarGymText3: ; 0x7596e - db $08 ; asm - call $57a0 - ld a, [$d79a] - bit 3, a - jr nz, .asm_4b406 ; 0x75977 - ld hl, UnnamedText_75994 - call PrintText - ld hl, UnnamedText_75999 - ld de, UnnamedText_75999 ; $5999 XXX - call $3354 - jp $58b7 -.asm_4b406 ; 0x7598b - ld hl, UnnamedText_7599e - call PrintText - jp TextScriptEnd - -UnnamedText_75994: ; 0x75994 - TX_FAR _UnnamedText_75994 - db $50 -; 0x75994 + 5 bytes - -UnnamedText_75999: ; 0x75999 - TX_FAR _UnnamedText_75999 - db $50 -; 0x75999 + 5 bytes - -UnnamedText_7599e: ; 0x7599e - TX_FAR _UnnamedText_7599e - db $50 -; 0x7599e + 5 bytes - -CinnabarGymText4: ; 0x759a3 - db $08 ; asm - call $57a0 - ld a, [$d79a] - bit 4, a - jr nz, .asm_c0673 ; 0x759ac - ld hl, UnnamedText_759c9 - call PrintText - ld hl, UnnamedText_759ce - ld de, UnnamedText_759ce ; $59ce XXX - call $3354 - jp $58b7 -.asm_c0673 ; 0x759c0 - ld hl, UnnamedText_759d3 - call PrintText - jp TextScriptEnd - -UnnamedText_759c9: ; 0x759c9 - TX_FAR _UnnamedText_759c9 - db $50 -; 0x759c9 + 5 bytes - -UnnamedText_759ce: ; 0x759ce - TX_FAR _UnnamedText_759ce - db $50 -; 0x759ce + 5 bytes - -UnnamedText_759d3: ; 0x759d3 - TX_FAR _UnnamedText_759d3 - db $50 -; 0x759d3 + 5 bytes - -CinnabarGymText5: ; 0x759d8 - db $08 ; asm - call $57a0 - ld a, [$d79a] - bit 5, a - jr nz, .asm_5cfd7 ; 0x759e1 - ld hl, UnnamedText_759fe - call PrintText - ld hl, UnnamedText_75a03 - ld de, UnnamedText_75a03 ; $5a03 XXX - call $3354 - jp $58b7 -.asm_5cfd7 ; 0x759f5 - ld hl, UnnamedText_75a08 - call PrintText - jp TextScriptEnd - -UnnamedText_759fe: ; 0x759fe - TX_FAR _UnnamedText_759fe - db $50 -; 0x759fe + 5 bytes - -UnnamedText_75a03: ; 0x75a03 - TX_FAR _UnnamedText_75a03 - db $50 -; 0x75a03 + 5 bytes - -UnnamedText_75a08: ; 0x75a08 - TX_FAR _UnnamedText_75a08 - db $50 -; 0x75a08 + 5 bytes - -CinnabarGymText6: ; 0x75a0d - db $08 ; asm - call $57a0 - ld a, [$d79a] - bit 6, a - jr nz, .asm_776b4 ; 0x75a16 - ld hl, UnnamedText_75a33 - call PrintText - ld hl, UnnamedText_75a38 - ld de, UnnamedText_75a38 - call $3354 - jp $58b7 -.asm_776b4 ; 0x75a2a - ld hl, UnnamedText_75a3d - call PrintText - jp TextScriptEnd - -UnnamedText_75a33: ; 0x75a33 - TX_FAR _UnnamedText_75a33 - db $50 -; 0x75a33 + 5 bytes - -UnnamedText_75a38: ; 0x75a38 - TX_FAR _UnnamedText_75a38 - db $50 -; 0x75a38 + 5 bytes - -UnnamedText_75a3d: ; 0x75a3d - TX_FAR _UnnamedText_75a3d - db $50 -; 0x75a3d + 5 bytes - -CinnabarGymText7: ; 0x75a42 - db $08 ; asm - call $57a0 - ld a, [$d79a] - bit 7, a - jr nz, .asm_2f755 ; 0x75a4b - ld hl, UnnamedText_75a68 - call PrintText - ld hl, $5a6d - ld de, $5a6d - call $3354 - jp $58b7 -.asm_2f755 ; 0x75a5f - ld hl, $5a72 - call PrintText - jp TextScriptEnd - -UnnamedText_75a68: ; 0x75a68 - TX_FAR _UnnamedText_75a68 - db $50 -; 0x75a68 + 5 bytes - -UnnamedText_75a6d: ; 0x75a6d - TX_FAR _UnnamedText_75a6d - db $50 -; 0x75a6d + 5 bytes - -UnnamedText_75a72: ; 0x75a72 - TX_FAR _UnnamedText_75a72 - db $50 -; 0x75a72 + 5 bytes - -CinnabarGymText8: ; 0x75a77 - db $08 ; asm - call $57a0 - ld a, [$d79b] - bit 0, a - jr nz, .asm_d87be ; 0x75a80 - ld hl, UnnamedText_75a9d - call PrintText - ld hl, UnnamedText_75aa2 - ld de, UnnamedText_75aa2 ; $5aa2 XXX - call $3354 - jp $58b7 -.asm_d87be ; 0x75a94 - ld hl, UnnamedText_75aa7 - call PrintText - jp TextScriptEnd - -UnnamedText_75a9d: ; 0x75a9d - TX_FAR _UnnamedText_75a9d - db $50 -; 0x75a9d + 5 bytes - -UnnamedText_75aa2: ; 0x75aa2 - TX_FAR _UnnamedText_75aa2 - db $50 -; 0x75aa2 + 5 bytes - -UnnamedText_75aa7: ; 0x75aa7 - TX_FAR _UnnamedText_75aa7 - db $50 -; 0x75aa7 + 5 bytes - -CinnabarGymText9: ; 0x75aac - db $08 ; asm - ld a, [$d79a] - bit 1, a - jr nz, .asm_627d9 ; 0x75ab2 - ld hl, UnnamedText_75ac2 - jr .asm_0b11d ; 0x75ab7 -.asm_627d9 ; 0x75ab9 - ld hl, UnnamedText_75ac7 -.asm_0b11d ; 0x75abc - call PrintText - jp TextScriptEnd - -UnnamedText_75ac2: ; 0x75ac2 - TX_FAR _UnnamedText_75ac2 - db $50 -; 0x75ac2 + 5 bytes - -UnnamedText_75ac7: ; 0x75ac7 - TX_FAR _UnnamedText_75ac7 - db $50 -; 0x75ac7 + 5 bytes - -CinnabarGymObject: ; 0x75acc (size=90) - db $2e ; border tile - - db $2 ; warps - db $11, $10, $1, $ff - db $11, $11, $1, $ff - - db $0 ; signs - - db $9 ; people - db SPRITE_FAT_BALD_GUY, $3 + 4, $3 + 4, $ff, $d0, $41, BLAINE + $C8, $1 ; trainer - db SPRITE_BLACK_HAIR_BOY_2, $2 + 4, $11 + 4, $ff, $d0, $42, SUPER_NERD + $C8, $9 ; trainer - db SPRITE_BLACK_HAIR_BOY_2, $8 + 4, $11 + 4, $ff, $d0, $43, BURGLAR + $C8, $4 ; trainer - db SPRITE_BLACK_HAIR_BOY_2, $4 + 4, $b + 4, $ff, $d0, $44, SUPER_NERD + $C8, $a ; trainer - db SPRITE_BLACK_HAIR_BOY_2, $8 + 4, $b + 4, $ff, $d0, $45, BURGLAR + $C8, $5 ; trainer - db SPRITE_BLACK_HAIR_BOY_2, $e + 4, $b + 4, $ff, $d0, $46, SUPER_NERD + $C8, $b ; trainer - db SPRITE_BLACK_HAIR_BOY_2, $e + 4, $3 + 4, $ff, $d0, $47, BURGLAR + $C8, $6 ; trainer - db SPRITE_BLACK_HAIR_BOY_2, $8 + 4, $3 + 4, $ff, $d0, $48, SUPER_NERD + $C8, $c ; trainer - db SPRITE_GYM_HELPER, $d + 4, $10 + 4, $ff, $d0, $9 ; person - - ; warp-to - EVENT_DISP $a, $11, $10 - EVENT_DISP $a, $11, $11 - -CinnabarGymBlocks: ; 0x75b26 90 - INCBIN "maps/cinnabargym.blk" - -Lab1_h: ; 0x75b80 to 0x75b8c (12 bytes) (id=167) - db $14 ; tileset - db CINNABAR_LAB_1_HEIGHT, CINNABAR_LAB_1_WIDTH ; dimensions (y, x) - dw Lab1Blocks, Lab1Texts, Lab1Script ; blocks, texts, scripts - db $00 ; connections - - dw Lab1Object ; objects - -Lab1Script: ; 0x75b8c - call $3c3c - ret -; 0x75b90 - -Lab1Texts: ; 0x75b90 - dw Lab1Text1, Lab1Text2, Lab1Text3, Lab1Text4, Lab1Text5 - -Lab1Text1: ; 0x75b9a - TX_FAR _Lab1Text1 - db $50 - -Lab1Text2: ; 0x75b9f - TX_FAR _Lab1Text2 - db $50 - -Lab1Text3: ; 0x75ba4 - TX_FAR _Lab1Text3 - db $50 - -Lab1Text4: ; 0x75ba9 - TX_FAR _Lab1Text4 - db $50 - -Lab1Text5: ; 0x75bae - TX_FAR _Lab1Text5 - db $50 - -Lab1Object: ; 0x75bb3 (size=62) - db $17 ; border tile - - db $5 ; warps - db $7, $2, $2, $ff - db $7, $3, $2, $ff - db $4, $8, $0, CINNABAR_LAB_2 - db $4, $c, $0, CINNABAR_LAB_3 - db $4, $10, $0, CINNABAR_LAB_4 - - db $4 ; signs - db $2, $3, $2 ; Lab1Text2 - db $4, $9, $3 ; Lab1Text3 - db $4, $d, $4 ; Lab1Text4 - db $4, $11, $5 ; Lab1Text5 - - db $1 ; people - db SPRITE_FISHER, $3 + 4, $1 + 4, $ff, $ff, $1 ; person - - ; warp-to - EVENT_DISP $9, $7, $2 - EVENT_DISP $9, $7, $3 - EVENT_DISP $9, $4, $8 ; CINNABAR_LAB_2 - EVENT_DISP $9, $4, $c ; CINNABAR_LAB_3 - EVENT_DISP $9, $4, $10 ; CINNABAR_LAB_4 - -Lab1Blocks: ; 0x75bf1 36 - INCBIN "maps/lab1.blk" - -Lab2_h: ; 0x75c15 to 0x75c21 (12 bytes) (id=168) - db $14 ; tileset - db CINNABAR_LAB_2_HEIGHT, CINNABAR_LAB_2_WIDTH ; dimensions (y, x) - dw Lab2Blocks, Lab2Texts, Lab2Script ; blocks, texts, scripts - db $00 ; connections - - dw Lab2Object ; objects - -Lab2Script: ; 0x75c21 - jp $3c3c -; 0x75c24 - -Lab2Texts: ; 0x75c24 - dw Lab2Text1, Lab2Text2, Lab2Text3 - -Lab2Text1: ; 0x75c2a - TX_FAR _Lab2Text1 - db $50 - -Lab2Text2: ; 0x75c2f - db $8 - ld a, $7 - ld [W_WHICHTRADE], a - jr asm_78552 ; 0x75c35 $6 - -Lab2Text3: ; 0x75c37 - db $8 - ld a, $8 - ld [W_WHICHTRADE], a -asm_78552: ; 0x75c3d - ld a, $54 - call Predef - jp TextScriptEnd - -Lab2Object: ; 0x75c45 (size=38) - db $17 ; border tile - - db $2 ; warps - db $7, $2, $2, CINNABAR_LAB_1 - db $7, $3, $2, CINNABAR_LAB_1 - - db $0 ; signs - - db $3 ; people - db SPRITE_BLACK_HAIR_BOY_2, $2 + 4, $3 + 4, $ff, $d0, $1 ; person - db SPRITE_OLD_PERSON, $4 + 4, $1 + 4, $ff, $ff, $2 ; person - db SPRITE_FOULARD_WOMAN, $5 + 4, $5 + 4, $ff, $d1, $3 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 ; CINNABAR_LAB_1 - EVENT_DISP $4, $7, $3 ; CINNABAR_LAB_1 - -Lab2Blocks: ; 0x75c6b 16 - INCBIN "maps/lab2.blk" - -Lab3_h: ; 0x75c7b to 0x75c87 (12 bytes) (id=169) - db $14 ; tileset - db CINNABAR_LAB_3_HEIGHT, CINNABAR_LAB_3_WIDTH ; dimensions (y, x) - dw Lab3Blocks, Lab3Texts, Lab3Script ; blocks, texts, scripts - db $00 ; connections - - dw Lab3Object ; objects - -Lab3Script: ; 0x75c87 - jp $3c3c -; 0x75c8a - -Lab3Texts: ; 0x75c8a - dw Lab3Text1, Lab3Text2, Lab3Text3, Lab3Text4, Lab3Text5 - -Lab3Text1: ; 0x75c94 - db $08 ; asm - ld a, [$d7a1] - bit 7, a - jr nz, .asm_e551a ; 0x75c9a - ld hl, UnnamedText_75cc8 - call PrintText - ld bc, (TM_35 << 8) | 1 - call GiveItem - jr nc, .asm_6c187 ; 0x75ca8 - ld hl, UnnamedText_75ccd - call PrintText - ld hl, $d7a1 - set 7, [hl] - jr .asm_eb896 ; 0x75cb5 -.asm_6c187 ; 0x75cb7 - ld hl, UnnamedText_75cd8 - call PrintText - jr .asm_eb896 ; 0x75cbd -.asm_e551a ; 0x75cbf - ld hl, UnnamedText_75cd3 - call PrintText -.asm_eb896 ; 0x75cc5 - jp TextScriptEnd - -UnnamedText_75cc8: ; 0x75cc8 - TX_FAR _UnnamedText_75cc8 - db $50 -; 0x75cc8 + 5 bytes - -UnnamedText_75ccd: ; 0x75ccd - TX_FAR UnnamedText_a0f48 ; 0xa0f48 - db $0B, $50 -; 0x75cd3 - -UnnamedText_75cd3: ; 0x75cd3 - TX_FAR _UnnamedText_75cd3 - db $50 -; 0x75cd3 + 5 bytes - -UnnamedText_75cd8: ; 0x75cd8 - TX_FAR _UnnamedText_75cd8 - db $50 -; 0x75cd8 + 5 bytes - -Lab3Text2: ; 0x75cdd - TX_FAR _Lab3Text2 - db $50 - -Lab3Text4: -Lab3Text3: ; 0x75ce2 - TX_FAR _Lab3Text3 - db $50 - -Lab3Text5: ; 0x75ce7 - TX_FAR _Lab3Text5 - db $50 - -Lab3Object: ; 0x75cec (size=41) - db $17 ; border tile - - db $2 ; warps - db $7, $2, $3, CINNABAR_LAB_1 - db $7, $3, $3, CINNABAR_LAB_1 - - db $3 ; signs - db $4, $0, $3 ; Lab3Text3 - db $4, $1, $4 ; Lab3Text4 - db $1, $2, $5 ; Lab3Text5 - - db $2 ; people - db SPRITE_OAK_AIDE, $2 + 4, $7 + 4, $ff, $d0, $1 ; person - db SPRITE_OAK_AIDE, $3 + 4, $2 + 4, $fe, $2, $2 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 ; CINNABAR_LAB_1 - EVENT_DISP $4, $7, $3 ; CINNABAR_LAB_1 - -Lab3Blocks: ; 0x75d15 16 - INCBIN "maps/lab3.blk" - -Lab4_h: ; 0x75d25 to 0x75d31 (12 bytes) (id=170) - db $14 ; tileset - db CINNABAR_LAB_4_HEIGHT, CINNABAR_LAB_4_WIDTH ; dimensions (y, x) - dw Lab4Blocks, Lab4Texts, Lab4Script ; blocks, texts, scripts - db $00 ; connections - - dw Lab4Object ; objects - -Lab4Script: ; 0x75d31 - jp $3c3c -; 0x75d34 - -Lab4Texts: ; 0x75d34 - dw Lab4Text1, Lab4Text2 - -INCBIN "baserom.gbc",$75d34 + 4,$38 -4 - -Lab4Text1: ; 0x75d6c - db $8 - ld a, [$d7a3] - bit 0, a - jr nz, .asm_75d96 ; 0x75d72 $22 - ld hl, UnnamedText_75dc6 - call PrintText - call $5d38 - ld a, [$cd37] - and a - jr z, .asm_75d8d ; 0x75d81 $a - ld b, $18 - ld hl, $5006 - call Bankswitch - jr .asm_75d93 ; 0x75d8b $6 -.asm_75d8d - ld hl, UnnamedText_75dcb - call PrintText -.asm_75d93 - jp TextScriptEnd -.asm_75d96 - bit 1, a - jr z, .asm_75da2 ; 0x75d98 $8 - ld hl, UnnamedText_75dd0 - call PrintText - jr .asm_75d93 ; 0x75da0 $f1 -.asm_75da2 - call $5de8 - ld hl, UnnamedText_75dd5 - call PrintText - ld hl, $d7a3 - set 2, [hl] - ld a, [$d710] - ld b, a - ld c, $1e - call GivePokemon - jr nc, .asm_75d93 ; 0x75db9 $d8 - ld hl, $d7a3 - res 0, [hl] - res 1, [hl] - res 2, [hl] - jr .asm_75d93 ; 0x75dc4 $cd -; 0x75dc6 - -UnnamedText_75dc6: ; 0x75dc6 - TX_FAR _UnnamedText_75dc6 - db $50 -; 0x75dc6 + 5 bytes - -UnnamedText_75dcb: ; 0x75dcb - TX_FAR _UnnamedText_75dcb - db $50 -; 0x75dcb + 5 bytes - -UnnamedText_75dd0: ; 0x75dd0 - TX_FAR _UnnamedText_75dd0 - db $50 -; 0x75dd0 + 5 bytes - -UnnamedText_75dd5: ; 0x75dd5 - TX_FAR _UnnamedText_75dd5 - db $50 -; 0x75dd5 + 5 bytes - -Lab4Text2: ; 0x75dda - db $08 ; asm - ld a, $3 - ld [W_WHICHTRADE], a - ld a, $54 - call Predef - jp TextScriptEnd - -; 0x75de8 -; XXX todo -;db $6, $18, $21, $eb, $50 -;db $c3, $d6, $35 - ld b, $18 - ld hl, $50eb - jp $35d6 -; 0x75df0 - -Lab4Object: ; 0x75df0 (size=32) - db $17 ; border tile - - db $2 ; warps - db $7, $2, $4, CINNABAR_LAB_1 - db $7, $3, $4, CINNABAR_LAB_1 - - db $0 ; signs - - db $2 ; people - db SPRITE_OAK_AIDE, $2 + 4, $5 + 4, $fe, $2, $1 ; person - db SPRITE_OAK_AIDE, $6 + 4, $7 + 4, $ff, $d1, $2 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 ; CINNABAR_LAB_1 - EVENT_DISP $4, $7, $3 ; CINNABAR_LAB_1 - -Lab4Blocks: ; 0x75e10 16 - INCBIN "maps/lab4.blk" - -CinnabarPokecenter_h: ; 0x75e20 to 0x75e2c (12 bytes) (id=171) - db $06 ; tileset - db CINNABAR_POKECENTER_HEIGHT, CINNABAR_POKECENTER_WIDTH ; dimensions (y, x) - dw CinnabarPokecenterBlocks, CinnabarPokecenterTexts, CinnabarPokecenterScript ; blocks, texts, scripts - db $00 ; connections - - dw CinnabarPokecenterObject ; objects - -CinnabarPokecenterScript: ; 0x75e2c - call $22fa - jp $3c3c -; 0x75e32 - -CinnabarPokecenterTexts: ; 0x75e32 - dw CinnabarPokecenterText1, CinnabarPokecenterText2, CinnabarPokecenterText3, CinnabarPokecenterText4 - -CinnabarPokecenterText1: ; 0x75e3a - db $ff - -CinnabarPokecenterText2: ; 0x75e3b - TX_FAR _CinnabarPokecenterText1 - db $50 - -CinnabarPokecenterText3: ; 0x75e40 - TX_FAR _CinnabarPokecenterText3 - db $50 - -CinnabarPokecenterText4: ; 0x75e45 - db $f6 - -CinnabarPokecenterObject: ; 0x75e46 (size=44) - db $0 ; border tile - - db $2 ; warps - db $7, $3, $3, $ff - db $7, $4, $3, $ff - - db $0 ; signs - - db $4 ; people - db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person - db SPRITE_LASS, $4 + 4, $9 + 4, $fe, $0, $2 ; person - db SPRITE_GENTLEMAN, $6 + 4, $2 + 4, $ff, $ff, $3 ; person - db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person - - ; warp-to - EVENT_DISP $7, $7, $3 - EVENT_DISP $7, $7, $4 - -CinnabarMart_h: ; 0x75e72 to 0x75e7e (12 bytes) (id=172) - db $02 ; tileset - db CINNABAR_MART_HEIGHT, CINNABAR_MART_WIDTH ; dimensions (y, x) - dw CinnabarMartBlocks, CinnabarMartTexts, CinnabarMartScript ; blocks, texts, scripts - db $00 ; connections - - dw CinnabarMartObject ; objects - -CinnabarMartScript: ; 0x75e7e - jp $3c3c -; 0x75e81 - -CinnabarMartTexts: ; 0x75e81 - dw CinnabarMartText1, CinnabarMartText2, CinnabarMartText3 - -CinnabarMartText2: ; 0x75e87 - TX_FAR _CinnabarMartText2 - db $50 - -CinnabarMartText3: ; 0x75e8c - TX_FAR _CinnabarMartText3 - db $50 - -CinnabarMartObject: ; 0x75e91 (size=38) - db $0 ; border tile - - db $2 ; warps - db $7, $3, $4, $ff - db $7, $4, $4, $ff - - db $0 ; signs - - db $3 ; people - db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person - db SPRITE_ERIKA, $2 + 4, $6 + 4, $ff, $ff, $2 ; person - db SPRITE_OAK_AIDE, $4 + 4, $3 + 4, $ff, $ff, $3 ; person - - ; warp-to - EVENT_DISP $4, $7, $3 - EVENT_DISP $4, $7, $4 - -CopycatsHouseF1_h: ; 0x75eb7 to 0x75ec3 (12 bytes) (id=175) - db $01 ; tileset - db COPYCATS_HOUSE_1F_HEIGHT, COPYCATS_HOUSE_1F_WIDTH ; dimensions (y, x) - dw CopycatsHouseF1Blocks, CopycatsHouseF1Texts, CopycatsHouseF1Script ; blocks, texts, scripts - db $00 ; connections - - dw CopycatsHouseF1Object ; objects - -CopycatsHouseF1Script: ; 0x75ec3 - jp $3c3c -; 0x75ec6 - -CopycatsHouseF1Texts: ; 0x75ec6 - dw CopycatsHouseF1Text1, CopycatsHouseF1Text2, CopycatsHouseF1Text3 - -CopycatsHouseF1Text1: ; 0x75ecc - TX_FAR _CopycatsHouseF1Text1 - db $50 - -CopycatsHouseF1Text2: ; 0x75ed1 - TX_FAR _CopycatsHouseF1Text2 - db $50 - -CopycatsHouseF1Text3: ; 0x75ed6 - TX_FAR _CopycatsHouseF1Text3 - db $8 - ld a, $28 - call $13d0 - jp TextScriptEnd - -CopycatsHouseF1Object: ; 0x75ee3 (size=46) - db $a ; border tile - - db $3 ; warps - db $7, $2, $0, $ff - db $7, $3, $0, $ff - db $1, $7, $0, COPYCATS_HOUSE_2F - - db $0 ; signs - - db $3 ; people - db SPRITE_MOM_GEISHA, $2 + 4, $2 + 4, $ff, $d0, $1 ; person - db SPRITE_FAT_BALD_GUY, $4 + 4, $5 + 4, $ff, $d2, $2 ; person - db SPRITE_CLEFAIRY, $4 + 4, $1 + 4, $fe, $1, $3 ; person - - ; warp-to - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 - EVENT_DISP $4, $1, $7 ; COPYCATS_HOUSE_2F - -Gary_h: ;0x75f11 - db $7 ;tileset - db $4, $4 ;Height, Width - dw GaryBlocks, GaryTexts, GaryScript - db $0 ;No Connections - - dw GaryObject - -GaryScript: ; 0x75f1d - call $3c3c - ld hl, GaryScripts - ld a, [$d64c] - jp $3d97 -; 0x75f29 - -INCBIN "baserom.gbc",$75f29,$75f31 - $75f29 - -GaryScripts: ; 0x75f31 - dw GaryScript0, GaryScript1, GaryScript2 - -INCBIN "baserom.gbc",$75f33 + 4,$14 - 4 - -GaryScript0: ; 0x75f47 - ret -; 0x75f48 - -GaryScript1: ; 0x75f48 - ld a, $ff - ld [$cd6b], a - ld hl, $ccd3 - ld de, $5f63 - call $350c - dec a - ld [$cd38], a - call $3486 - ld a, $2 - ld [$d64c], a - ret -; 0x75f63 - -INCBIN "baserom.gbc",$75f63,$75f6a - $75f63 - -GaryScript2: ; 0x75f6a 5F6A - ld a, [$cd38] - and a - ret nz - call Delay3 - xor a - ld [$cd6b], a - ld hl, $d355 - res 7, [hl] - ld a, $1 - ld [$ff00+$8c], a - call $2920 - call Delay3 - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, $60f9 - ld de, $60fe - call $3354 - ld a, $f3 - ld [$d059], a - - ; select which team to use during the encounter - ld a, [W_RIVALSTARTER] - cp SQUIRTLE - jr nz, .NotSquirtle\@ ; 0x75f9f $4 - ld a, $1 - jr .done\@ -.NotSquirtle\@ - cp BULBASAUR - jr nz, .Charmander\@ ; 0x75fa7 $4 - ld a, $2 - jr .done\@ -.Charmander\@ - ld a, $3 -.done\@ - ld [W_TRAINERNO], a - - xor a - ld [$ff00+$b4], a - ld a, $3 - ld [$d64c], a - ret -; 0x75fbb - -INCBIN "baserom.gbc",$75fbb,$760d6 - $75fbb - -GaryTexts: ; 0x760d6 - dw GaryText1, GaryText2, GaryText3, GaryText4, GaryText5 - -GaryText1: ; 0x760e0 - db $08 ; asm - ld a, [$d867] - bit 1, a - ld hl, UnnamedText_760f4 - jr z, .asm_17e9f ; 0x760e9 - ld hl, UnnamedText_76103 -.asm_17e9f ; 0x760ee - call PrintText - jp TextScriptEnd - -UnnamedText_760f4: ; 0x760f4 - TX_FAR _UnnamedText_760f4 - db $50 -; 0x760f4 + 5 bytes - -UnnamedText_760f9: ; 0x760f9 - TX_FAR _UnnamedText_760f9 - db $50 -; 0x760f9 + 5 bytes - -UnnamedText_760fe: ; 0x760fe - TX_FAR _UnnamedText_760fe - db $50 -; 0x760fe + 5 bytes - -UnnamedText_76103: ; 0x76103 - TX_FAR _UnnamedText_76103 - db $50 -; 0x76103 + 5 bytes - -GaryText2: ; 0x76108 - TX_FAR _GaryText2 - db $50 - -GaryText3: ; 0x7610d - db $8 - ld a, [$d717] - ld [$d11e], a - call GetMonName - ld hl, UnnamedText_76120 - call PrintText - jp TextScriptEnd -; 0x76120 - -UnnamedText_76120: ; 0x76120 - TX_FAR _UnnamedText_76120 - db $50 -; 0x76120 + 5 bytes - -GaryText4: ; 0x76125 - TX_FAR _UnnamedText_76125 - db $50 -; 0x76125 + 5 bytes - -GaryText5: ; 0x7612a - TX_FAR _UnnamedText_7612a - db $50 -; 0x7612a + 5 bytes - -GaryObject: ; 0x7612f (size=48) - db $3 ; border tile - - db $4 ; warps - db $7, $3, $1, LANCES_ROOM - db $7, $4, $2, LANCES_ROOM - db $0, $3, $0, HALL_OF_FAME - db $0, $4, $0, HALL_OF_FAME - - db $0 ; signs - - db $2 ; people - db SPRITE_BLUE, $2 + 4, $4 + 4, $ff, $d0, $1 ; person - db SPRITE_OAK, $7 + 4, $3 + 4, $ff, $d1, $2 ; person - - ; warp-to - EVENT_DISP $4, $7, $3 ; LANCES_ROOM - EVENT_DISP $4, $7, $4 ; LANCES_ROOM - EVENT_DISP $4, $0, $3 ; HALL_OF_FAME - EVENT_DISP $4, $0, $4 ; HALL_OF_FAME - -GaryBlocks: ; 0x7615f 16 - INCBIN "maps/gary.blk" - -Lorelei_h: ; 0x7616f to 0x7617b (12 bytes) (id=245) - db $07 ; tileset - db LORELEIS_ROOM_HEIGHT, LORELEIS_ROOM_WIDTH ; dimensions (y, x) - dw LoreleiBlocks, LoreleiTexts, LoreleiScript ; blocks, texts, scripts - db $00 ; connections - - dw LoreleiObject ; objects - -LoreleiScript: ; 0x7617b - call LoreleiScript_Unknown76191 - call $3c3c - ld hl, LoreleiTrainerHeaders - ld de, $61bb - ld a, [$d64d] - call $3160 - ld [$d64d], a - ret -; 0x76191 - -LoreleiScript_Unknown76191: ; 0x76191 -INCBIN "baserom.gbc",$76191,$c0 - -LoreleiTexts: ; 0x76251 - dw LoreleiText1, LoreleiText2 - -LoreleiTrainerHeaders: -LoreleiTrainerHeader1: ; 0x76255 - db $1 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d863 ; flag's byte - dw UnnamedText_7626c ; 0x626c TextBeforeBattle - dw UnnamedText_76276 ; 0x6276 TextAfterBattle - dw UnnamedText_76271 ; 0x6271 TextEndBattle - dw UnnamedText_76271 ; 0x6271 TextEndBattle -; 0x76261 - -db $ff - -LoreleiText1: ; 0x76262 - db $08 ; asm - ld hl, LoreleiTrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_7626c: ; 0x7626c - TX_FAR _UnnamedText_7626c - db $50 -; 0x7626c + 5 bytes - -UnnamedText_76271: ; 0x76271 - TX_FAR _UnnamedText_76271 - db $50 -; 0x76271 + 5 bytes - -UnnamedText_76276: ; 0x76276 - TX_FAR _UnnamedText_76276 - db $50 -; 0x76276 + 5 bytes - -LoreleiText2: ; 0x7627b - TX_FAR _UnnamedText_7627b - db $50 -; 0x7627b + 5 bytes - -LoreleiObject: ; 0x76280 (size=44) - db $3 ; border tile - - db $4 ; warps - db $b, $4, $2, INDIGO_PLATEAU_LOBBY - db $b, $5, $2, INDIGO_PLATEAU_LOBBY - db $0, $4, $0, BRUNOS_ROOM - db $0, $5, $1, BRUNOS_ROOM - - db $0 ; signs - - db $1 ; people - db SPRITE_LORELEI, $2 + 4, $5 + 4, $ff, $d0, $41, LORELEI + $C8, $1 ; trainer - - ; warp-to - EVENT_DISP $5, $b, $4 ; INDIGO_PLATEAU_LOBBY - EVENT_DISP $5, $b, $5 ; INDIGO_PLATEAU_LOBBY - EVENT_DISP $5, $0, $4 ; BRUNOS_ROOM - EVENT_DISP $5, $0, $5 ; BRUNOS_ROOM - -LoreleiBlocks: ; 0x762ac 30 - INCBIN "maps/loreli.blk" - -Bruno_h: ; 0x762ca to 0x762d6 (12 bytes) (id=246) - db $07 ; tileset - db BRUNOS_ROOM_HEIGHT, BRUNOS_ROOM_WIDTH ; dimensions (y, x) - dw BrunoBlocks, BrunoTexts, BrunoScript ; blocks, texts, scripts - db $00 ; connections - - dw BrunoObject ; objects - -BrunoScript: ; 0x762d6 - call BrunoScript_Unknown762ec - call $3c3c - ld hl, BrunoTrainerHeaders - ld de, $6312 - ld a, [$d64e] - call $3160 - ld [$d64e], a - ret -; 0x762ec - -BrunoScript_Unknown762ec: ; 0x762ec -INCBIN "baserom.gbc",$762ec,$bc - -BrunoTexts: ; 0x763a8 - dw BrunoText1, BrunoText2 - -BrunoTrainerHeaders: -BrunoTrainerHeader1: ; 0x763ac - db $1 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d864 ; flag's byte - dw UnnamedText_763c3 ; 0x63c3 TextBeforeBattle - dw UnnamedText_763cd ; 0x63cd TextAfterBattle - dw UnnamedText_763c8 ; 0x63c8 TextEndBattle - dw UnnamedText_763c8 ; 0x63c8 TextEndBattle -; 0x763b8 - -db $ff - -BrunoText1: ; 0x763b9 - db $08 ; asm - ld hl, BrunoTrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_763c3: ; 0x763c3 - TX_FAR _UnnamedText_763c3 - db $50 -; 0x763c3 + 5 bytes - -UnnamedText_763c8: ; 0x763c8 - TX_FAR _UnnamedText_763c8 - db $50 -; 0x763c8 + 5 bytes - -UnnamedText_763cd: ; 0x763cd - TX_FAR _UnnamedText_763cd - db $50 -; 0x763cd + 5 bytes - -BrunoText2: ; 0x763d2 - TX_FAR _UnnamedText_763d2 - db $50 -; 0x763d2 + 5 bytes - -BrunoObject: ; 0x763d7 (size=44) - db $3 ; border tile - - db $4 ; warps - db $b, $4, $2, LORELEIS_ROOM - db $b, $5, $3, LORELEIS_ROOM - db $0, $4, $0, AGATHAS_ROOM - db $0, $5, $1, AGATHAS_ROOM - - db $0 ; signs - - db $1 ; people - db SPRITE_BRUNO, $2 + 4, $5 + 4, $ff, $d0, $41, BRUNO + $C8, $1 ; trainer - - ; warp-to - EVENT_DISP $5, $b, $4 ; LORELEIS_ROOM - EVENT_DISP $5, $b, $5 ; LORELEIS_ROOM - EVENT_DISP $5, $0, $4 ; AGATHAS_ROOM - EVENT_DISP $5, $0, $5 ; AGATHAS_ROOM - -BrunoBlocks: ; 0x76403 30 - INCBIN "maps/bruno.blk" - -Agatha_h: ; 0x76421 to 0x7642d (12 bytes) (id=247) - db $0f ; tileset - db AGATHAS_ROOM_HEIGHT, AGATHAS_ROOM_WIDTH ; dimensions (y, x) - dw AgathaBlocks, AgathaTexts, AgathaScript ; blocks, texts, scripts - db $00 ; connections - - dw AgathaObject ; objects - -AgathaScript: ; 0x7642d - call AgathaScript_Unknown76443 - call $3c3c - ld hl, AgathaTrainerHeaders - ld de, $6469 - ld a, [$d64f] - call $3160 - ld [$d64f], a - ret -; 0x76443 - -AgathaScript_Unknown76443: ; 0x76443 -INCBIN "baserom.gbc",$76443,$c2 - -AgathaTexts: ; 0x76505 - dw AgathaText1, AgathaText2 - -AgathaTrainerHeaders: -AgathaTrainerHeader1: ; 0x76509 - db $1 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d865 ; flag's byte - dw UnnamedText_76520 ; 0x6520 TextBeforeBattle - dw UnnamedText_7652a ; 0x652a TextAfterBattle - dw UnnamedText_76525 ; 0x6525 TextEndBattle - dw UnnamedText_76525 ; 0x6525 TextEndBattle -; 0x76515 - -db $ff - -AgathaText1: ; 0x76516 - db $08 ; asm - ld hl, AgathaTrainerHeader1 - call LoadTrainerHeader - jp TextScriptEnd - -UnnamedText_76520: ; 0x76520 - TX_FAR _UnnamedText_76520 - db $50 -; 0x76520 + 5 bytes - -UnnamedText_76525: ; 0x76525 - TX_FAR _UnnamedText_76525 - db $50 -; 0x76525 + 5 bytes - -UnnamedText_7652a: ; 0x7652a - TX_FAR _UnnamedText_7652a - db $50 -; 0x7652a + 5 bytes - -AgathaText2: ; 0x7652f - TX_FAR _UnnamedText_7652f - db $50 -; 0x7652f + 5 bytes - -AgathaObject: ; 0x76534 (size=44) - db $0 ; border tile - - db $4 ; warps - db $b, $4, $2, BRUNOS_ROOM - db $b, $5, $3, BRUNOS_ROOM - db $0, $4, $0, LANCES_ROOM - db $0, $5, $0, LANCES_ROOM - - db $0 ; signs - - db $1 ; people - db SPRITE_AGATHA, $2 + 4, $5 + 4, $ff, $d0, $41, AGATHA + $C8, $1 ; trainer - - ; warp-to - EVENT_DISP $5, $b, $4 ; BRUNOS_ROOM - EVENT_DISP $5, $b, $5 ; BRUNOS_ROOM - EVENT_DISP $5, $0, $4 ; LANCES_ROOM - EVENT_DISP $5, $0, $5 ; LANCES_ROOM - -AgathaBlocks: ; 0x76560 30 - INCBIN "maps/agatha.blk" - -INCBIN "baserom.gbc",$7657e,$76670 - $7657e - -HallOfFameNoText: ; 0x76670 - db "HALL OF FAME No @" - -UnnamedText_76683: ; 0x76683 - TX_FAR _UnnamedText_76683 - db $50 -; 0x76683 + 5 bytes - -INCBIN "baserom.gbc",$76688,$76794 - $76688 - -UnnamedText_76794: ; 0x76794 - TX_FAR _UnnamedText_76794 - db $50 -; 0x76794 + 5 bytes - -INCBIN "baserom.gbc",$76799,$76852 - $76799 - -UnnamedText_76852: ; 0x76852 - TX_FAR _UnnamedText_76852 - db $50 -; 0x76852 + 5 bytes - -INCBIN "baserom.gbc",$76857,$76880 - $76857 - -;I'm pretty sure that the rest of the bank is assembly and thus doesn't use any of the 0s, but I've included some to be sure - -SECTION "bank1E",DATA,BANK[$1E] - -INCBIN "baserom.gbc",$78000,$F1 - -PlayAnimation: ; 40F1 - xor a - ld [$FF8B],a - ld [$D08B],a - ld a,[$D07C] ; get animation number - dec a - ld l,a - ld h,0 - add hl,hl - ld de,$607D - add hl,de - ld a,[hli] - ld h,[hl] - ld l,a -.next7\@ - ld a,[hli] - cp a,$FF - jr z,.AnimationOver\@ - cp a,$C0 ; is this animation for a monster onscreen? - jr c,.next2\@ - ld c,a - ld de,$50DA -.next4\@ - ld a,[de] - cp c - jr z,.next3\@ - inc de - inc de - inc de - jr .next4\@ -.next3\@ - ld a,[hli] - cp a,$FF - jr z,.next5\@ - ld [$CF07],a - push hl - push de - call $586F - call $23B1 - pop de - pop hl -.next5\@ - push hl - inc de - ld a,[de] - ld l,a - inc de - ld a,[de] - ld h,a - ld de,.next6\@ - push de - jp [hl] -.next2\@ - ld c,a - and a,$3F - ld [$D086],a - xor a - sla c - rla - sla c - rla - ld [$D09F],a - ld a,[hli] - ld [$CF07],a - ld a,[hli] - ld c,l - ld b,h - ld l,a - ld h,0 - add hl,hl - ld de,$676D - add hl,de - ld a,l - ld [$D094],a - ld a,h - ld [$D095],a - ld l,c - ld h,b - push hl - ld a,[rOBP0] - push af - ld a,[$CC79] - ld [rOBP0],a - call $41D2 - call $417C - call RealPlayAnimation - pop af - ld [rOBP0],a -.next6\@ - pop hl - jr .next7\@ -.AnimationOver\@ ; 417B - ret - -INCBIN "baserom.gbc",$7817C,$78BDE - $7817C - -IF _RED - INCBIN "gfx/red/slotmachine2.2bpp" -ENDC -IF _BLUE - INCBIN "gfx/blue/slotmachine2.2bpp" -ENDC - -MoveAnimation: ; 4D5E - push hl - push de - push bc - push af - call $3748 - call $4E23 - ld a,[$D07C] - and a - jr z,.AnimationFinished\@ - - ; if throwing a Poké Ball, skip the regular animation code - cp a,TOSS_ANIM - jr nz,.MoveAnimation\@ - ld de,.AnimationFinished\@ - push de - jp TossBallAnimation - -.MoveAnimation\@ - ; check if battle animations are disabled in the options - ld a,[$D355] - bit 7,a - jr nz,.AnimationsDisabled\@ - call ShareMoveAnimations - call PlayAnimation - jr .next4\@ -.AnimationsDisabled\@ - ld c,30 - call DelayFrames -.next4\@ - call $4DBD ; reload pic and flash the pic in and out (to show damage) -.AnimationFinished\@ - call $3748 - xor a - ld [$D096],a - ld [$D09B],a - ld [$D08B],a - dec a - ld [$CF07],a - pop af - pop bc - pop de - pop hl - ret - -ShareMoveAnimations: ; 4DA6 -; some moves just reuse animations from status conditions - ld a,[H_WHOSETURN] - and a - ret z - - ; opponent’s turn - - ld a,[$D07C] - - cp a,AMNESIA - ld b,CONF_ANIM - jr z,.Replace\@ - - cp a,REST - ld b,SLP_ANIM - ret nz - -.Replace\@ - ld a,b - ld [$D07C],a - ret - -Function4DBD: ; 4DBD - ld a,[$CC5B] - and a - ret z - dec a - add a - ld c,a - ld b,0 - ld hl,Pointer4DCF - add hl,bc - ld a,[hli] - ld h,[hl] - ld l,a - jp [hl] - -Pointer4DCF: ; 4DCF - dw $4DDB,$4DE3,$4DEB,$4DF0,$4DF6,$4DFE - -INCBIN "baserom.gbc",$78DDB,$78E53-$78DDB - -RealPlayAnimation: ; 4E53 - ld a,[$CF07] ; get animation # − 1 - cp a,$FF - jr z,.Next4E60 - call $586F - call $23B1 ; play sound effect -.Next4E60 - ld hl,$C300 - ld a,l - ld [$D09D],a - ld a,h - ld [$D09C],a - ld a,[$D097] - ld h,a - ld a,[$D096] - ld l,a - push hl - ld c,[hl] - ld b,0 - ld hl,PointerTable6F74 - add hl,bc - add hl,bc - ld a,[hli] - ld c,a - ld a,[hli] - ld b,a - pop hl - inc hl - push hl - ld e,[hl] - ld d,0 - ld hl,$7C85 - add hl,de - add hl,de - ld a,[hli] - ld [$D082],a - ld a,[hl] - ld [$D081],a - pop hl - inc hl - ld a,[hl] - ld [$D09E],a - call $4000 - call $4ED7 - ld a,[$D087] - dec a - ld [$D087],a - ret z - ld a,[$D097] - ld h,a - ld a,[$D096] - ld l,a - ld a,[$D08B] - cp a,4 - ld bc,3 - jr nz,.Next4EBC - ld bc,$FFFD -.Next4EBC - add hl,bc - ld a,h - ld [$D097],a - ld a,l - ld [$D096],a - jp $4E73 - -INCBIN "baserom.gbc",$78EC8,$7986F - $78EC8 - -Func586F: ; 0x7986F 586F - ld hl,MoveSoundTable - ld e,a - ld d,0 - add hl,de - add hl,de - add hl,de - ld a,[hli] - ld b,a - call IsCryMove - jr nc,.NotCryMove - ld a,[H_WHOSETURN] - and a - jr nz,.next\@ - ld a,[$D014] ; get number of current monster - jr .Continue\@ -.next\@ - ld a,[$CFE5] -.Continue\@ - push hl - call $13D9 - ld b,a - pop hl - ld a,[$C0F1] - add [hl] - ld [$C0F1],a - inc hl - ld a,[$C0F2] - add [hl] - ld [$C0F2],a - jr .done\@ -.NotCryMove - ld a,[hli] - ld [$C0F1],a - ld a,[hli] - ld [$C0F2],a -.done\@ - ld a,b - ret -IsCryMove: ; 0x798ad -; set carry if the move animation involves playing a monster cry - ld a,[$D07C] - cp a,GROWL - jr z,.CryMove - cp a,ROAR - jr z,.CryMove - and a ; clear carry - ret -.CryMove - scf - ret - -MoveSoundTable: ; 0x798bc - db $a0,$00,$80 - db $a2,$10,$80 - db $b3,$00,$80 - db $a1,$01,$80 - db $a3,$00,$40 - db $e9,$00,$ff - db $a3,$10,$60 - db $a3,$20,$80 - db $a3,$00,$a0 - db $a6,$00,$80 - db $a5,$20,$40 - db $a5,$00,$80 - db $a4,$00,$a0 - db $a7,$10,$c0 - db $a7,$00,$a0 - db $a8,$00,$c0 - db $a8,$10,$a0 - db $a9,$00,$e0 - db $a7,$20,$c0 - db $aa,$00,$80 - db $b9,$00,$80 - db $ab,$01,$80 - db $b7,$00,$80 - db $ad,$f0,$40 - db $b0,$00,$80 - db $ad,$00,$80 - db $b8,$10,$80 - db $b1,$01,$a0 - db $ae,$00,$80 - db $b4,$00,$60 - db $b4,$01,$40 - db $b6,$00,$a0 - db $b0,$10,$a0 - db $b7,$00,$c0 - db $aa,$10,$60 - db $b0,$00,$a0 - db $b9,$11,$c0 - db $b0,$20,$c0 - db $b8,$00,$80 - db $b1,$00,$80 - db $b1,$20,$c0 - db $af,$00,$80 - db $db,$ff,$40 - db $b4,$00,$80 - db $a1,$00,$c0 - db $a1,$00,$40 - db $e4,$00,$80 - db $bf,$40,$60 - db $bf,$00,$80 - db $bf,$ff,$40 - db $c7,$80,$c0 - db $af,$10,$a0 - db $af,$21,$e0 - db $c5,$00,$80 - db $bb,$20,$60 - db $c7,$00,$80 - db $cc,$00,$80 - db $c2,$40,$80 - db $c5,$f0,$e0 - db $cf,$00,$80 - db $c7,$f0,$60 - db $c2,$00,$80 - db $e6,$00,$80 - db $9d,$01,$a0 - db $a9,$f0,$20 - db $ba,$01,$c0 - db $ba,$00,$80 - db $b0,$00,$e0 - db $be,$01,$60 - db $be,$20,$40 - db $bb,$00,$80 - db $bb,$40,$c0 - db $b1,$03,$60 - db $bd,$11,$e0 - db $a8,$20,$e0 - db $d2,$00,$80 - db $b2,$00,$80 - db $b2,$11,$a0 - db $b2,$01,$c0 - db $a9,$14,$c0 - db $b1,$02,$a0 - db $c5,$f0,$80 - db $c5,$20,$c0 - db $d5,$00,$20 - db $d5,$20,$80 - db $d2,$12,$60 - db $be,$00,$80 - db $aa,$01,$e0 - db $c5,$0f,$e0 - db $c5,$11,$20 - db $a6,$10,$40 - db $a5,$10,$c0 - db $aa,$00,$20 - db $d8,$00,$80 - db $e4,$11,$18 - db $9f,$20,$c0 - db $9e,$20,$c0 - db $bd,$00,$10 - db $be,$f0,$20 - db $df,$f0,$c0 - db $a7,$f0,$e0 - db $9f,$f0,$40 - db $db,$00,$80 - db $df,$80,$40 - db $df,$00,$80 - db $aa,$11,$20 - db $aa,$22,$10 - db $b1,$f1,$ff - db $a9,$f1,$ff - db $aa,$33,$30 - db $dd,$40,$c0 - db $a4,$20,$20 - db $a4,$f0,$10 - db $a5,$f8,$10 - db $a7,$f0,$10 - db $bd,$00,$80 - db $ae,$00,$c0 - db $dd,$c0,$ff - db $9f,$f2,$20 - db $e1,$00,$80 - db $e1,$00,$40 - db $9f,$00,$40 - db $a7,$10,$ff - db $c7,$20,$20 - db $dd,$00,$80 - db $c5,$1f,$20 - db $bd,$2f,$80 - db $a5,$1f,$ff - db $ca,$1f,$60 - db $be,$1e,$20 - db $be,$1f,$18 - db $aa,$0f,$80 - db $9f,$f8,$10 - db $9e,$18,$20 - db $dd,$08,$40 - db $ad,$01,$e0 - db $a7,$09,$ff - db $e4,$42,$01 - db $b2,$00,$ff - db $dd,$08,$e0 - db $bb,$00,$80 - db $9f,$88,$10 - db $bd,$48,$ff - db $9e,$ff,$ff - db $bb,$ff,$10 - db $9e,$ff,$04 - db $b2,$01,$ff - db $a9,$f8,$ff - db $a2,$f0,$f0 - db $a5,$08,$10 - db $a3,$f0,$ff - db $b0,$f0,$ff - db $e1,$10,$ff - db $a4,$f0,$20 - db $ca,$f0,$60 - db $b8,$12,$10 - db $e6,$f0,$20 - db $b4,$12,$ff - db $db,$80,$04 - db $df,$f0,$10 - db $c5,$f8,$ff - db $be,$f0,$ff - db $a7,$01,$ff - db $cc,$d8,$04 - db $a1,$00,$80 - db $a1,$00,$80 - -INCBIN "baserom.gbc",$79AAE,$79E16 - $79AAE - -TossBallAnimation: ; 5E16 - ld a,[W_ISINBATTLE] - cp a,2 - jr z,.BlockBall\@ ; if in trainer battle, play different animation - ld a,[$D11E] - ld b,a - - ; upper nybble: how many animations (from PokeBallAnimations) to play - ; this will be 4 for successful capture, 6 for breakout - and a,$F0 - swap a - ld c,a - - ; lower nybble: number of shakes - ; store these for later - ld a,b - and a,$F - ld [$CD3D],a - - ld hl,.PokeBallAnimations - ; choose which toss animation to use - ld a,[$CF91] - cp a,POKE_BALL - ld b,TOSS_ANIM - jr z,.done\@ - cp a,GREAT_BALL - ld b,GREATTOSS_ANIM - jr z,.done\@ - ld b,ULTRATOSS_ANIM -.done\@ - ld a,b -.PlayNextAnimation\@ - ld [$D07C],a - push bc - push hl - call PlayAnimation - pop hl - ld a,[hli] - pop bc - dec c - jr nz,.PlayNextAnimation\@ - ret - -.PokeBallAnimations: ; 5E50 -; sequence of animations that make up the Poké Ball toss - db POOF_ANIM,HIDEPIC_ANIM,$C2,POOF_ANIM,SHOWPIC_ANIM - -.BlockBall\@ ; 5E55 - ld a,$C1 - ld [$D07C],a - call PlayAnimation - ld a,$95 - call $23B1 ; play sound effect - ld a,BLOCKBALL_ANIM - ld [$D07C],a - jp PlayAnimation - -INCBIN "baserom.gbc",$79E6A,$7AF74 - $79E6A - -PointerTable6F74: ; 6F74 - dw $7de7 - dw $7068 - dw $708d - dw $70ce - dw $70df - dw $70f0 - dw $7101 - dw $7132 - dw $7173 - dw $71b4 - dw $71e5 - dw $7216 - dw $7227 - dw $7238 - dw $7259 - dw $726a - dw $727b - dw $729c - dw $72bd - dw $72ca - dw $72db - dw $72fc - dw $732d - dw $734e - dw $735f - dw $7364 - dw $736d - dw $7376 - dw $737f - dw $7388 - dw $7391 - dw $73ab - dw $73b4 - dw $73cd - dw $73fe - dw $744b - dw $745c - dw $7465 - dw $7496 - dw $74a7 - dw $74bc - dw $74d5 - dw $74e6 - dw $74f7 - dw $7500 - dw $7505 - dw $7526 - dw $7547 - dw $7558 - dw $7569 - dw $756e - dw $758b - dw $75a8 - dw $75ad - dw $75c6 - dw $75d7 - dw $75e8 - dw $75f9 - dw $760a - dw $761b - dw $7630 - dw $7649 - dw $7666 - dw $7687 - dw $76a8 - dw $76b5 - dw $76c6 - dw $76f3 - dw $7720 - dw $7731 - dw $7742 - dw $7753 - dw $7764 - dw $7775 - dw $785a - dw $786b - dw $787c - dw $788d - dw $789e - dw $78bf - dw $78f0 - dw $7911 - dw $7932 - dw $7943 - dw $7950 - dw $7961 - dw $796e - dw $7987 - dw $79ac - dw $79c9 - dw $79ce - dw $79ff - dw $7a10 - dw $7a31 - dw $7a5e - dw $7a9b - dw $7aac - dw $7acd - dw $7afe - dw $7b3f - dw $7b58 - dw $7b71 - dw $7b8a - dw $7b93 - dw $7b98 - dw $7ba9 - dw $7bae - dw $7bcf - dw $7bf0 - dw $7c11 - dw $7c1a - dw $7c2b - dw $7c3c - dw $77b6 - dw $77f7 - dw $7828 - dw $7849 - dw $739a - dw $7c4d - dw $7c6a - dw $7c7b - dw $7c80 - -INCBIN "baserom.gbc",$7B068,$7C000 - $7B068 - -SECTION "bank1F",DATA,BANK[$1F] - -INCBIN "baserom.gbc",$7C000,$4000 - -SECTION "bank20",DATA,BANK[$20] - -UnnamedText_80000: ; 0x80000 - db $0, "Bingo!@@" -; 0xa80009 - -_UnnamedText_526f3: ; 0x80009 - db $0, $4f - db "The CARD KEY", $55 - db "opened the door!", $57 -; 0x80009 + 32 bytes - -_UnnamedText_526f8: ; 0x80029 - db $0, "Darn! It needs a", $4f - db "CARD KEY!", $57 -; 0x80029 + 28 bytes - -UnnamedText_80045: ; 0x80045 - TX_RAM $cd6d - db $0, ": @@" -; 0xa8004d - -_UnnamedText_70847: ; 0x8004d - db $0, "Not even a nibble!", $58 -; 0x8004d + 20 bytes - -_UnnamedText_7084c: ; 0x80061 - db $0, "Looks like there's", $4f - db "nothing here.", $58 -; 0x80061 + 33 bytes - -_UnnamedText_70851: ; 0x80082 - db $0, "Oh!", $4f - db "It's a bite!", $58 -; 0x80082 + 17 bytes - -_UnnamedText_24db: ; 0x80093 - db $0, "!", $57 -; 0x80093 + 3 bytes - -_UnnamedText_24e0: ; 0x80096 - db $0, "Ground rose up", $4f - db "somewhere!", $57 -; 0x80096 + 27 bytes - -_VictoryRoad3Text10: -_VictoryRoad3Text9: -_VictoryRoad3Text8: -_VictoryRoad3Text7: -_VictoryRoad2Text13: -_VictoryRoad2Text12: -_VictoryRoad2Text11: -_SeafoamIslands1Text2: -_SeafoamIslands1Text1: -_SeafoamIslands5Text2: -_SeafoamIslands5Text1: -_SeafoamIslands4Text6: -_SeafoamIslands4Text5: -_SeafoamIslands4Text4: -_SeafoamIslands4Text3: -_SeafoamIslands4Text2: -_SeafoamIslands4Text1: -_SeafoamIslands3Text2: -_SeafoamIslands3Text1: -_SeafoamIslands2Text2: -_SeafoamIslands2Text1: -_FuchsiaHouse2Text3: -_VictoryRoad1Text7: -_VictoryRoad1Text6: -_VictoryRoad1Text5: ; 0x800b1 - db $0, "This requires", $4f - db "STRENGTH to move!", $57 - -_SaffronCityText19: -_CinnabarIslandText4: -_FuchsiaCityText14: -_VermilionCityText9: -_LavenderTownText6: -_CeruleanCityText14: -_PewterCityText8: -_ViridianCityText11: ; 0x800d2 - db $0, "All your item", $4f - db "needs fulfilled!", $55 - db "#MON MART", $57 - -_ViridianCityText12: ; 0x800fc - db $0, "Heal Your #MON!", $4f - db "#MON CENTER", $57 - -UnnamedText_80119: ; 0x80119 - db $0, $52, " found", $4f - db "@" - TX_RAM $cf4b - db $0, "!@@" -; 0x8012a - -_UnnamedText_4e2c: ; 0x8012a - db $0, "No more room for", $4f - db "items!", $57 -; 0x8012a + 25 bytes - -_UnnamedText_59091: ; 0x80143 - db $0, "Hi! Remember me?", $4f - db "I'm PROF.OAK's", $55 - db "AIDE!", $51 - db "If you caught @" -; 0x80143 + 52 bytes - -UnnamedText_80177: ; 0x80177 - TX_NUM $ffdb, 1, 3 - db $0, $4f - db "kinds of #MON,", $55 - db "I'm supposed to", $55 - db "give you an", $55 - db "@" - TX_RAM $cc5b - db $0, "!", $51 - db "So, ", $52, "! Have", $4f - db "you caught at", $55 - db "least @" - TX_NUM $ffdb, 1, 3 - db $0, " kinds of", $55 - db "#MON?", $57 -; 0x801e4 - -_UnnamedText_59096: ; 0x801e4 - db $0, "Let's see...", $4f - db "Uh-oh! You have", $55 - db "caught only @" -; 0x801e4 + 42 bytes - -UnnamedText_8020e: ; 0x8020e - TX_NUM $ffdd, 1, 3 - db $0, $55 - db "kinds of #MON!", $51 - db "You need @" - TX_NUM $ffdb, 1, 3 - db $0, " kinds", $4f - db "if you want the", $55 - db "@" - TX_RAM $cc5b - db $0, ".", $57 -; 0x80250 - -_UnnamedText_5909b: ; 0x80250 - db $0, "Oh. I see.", $51 - db "When you get @" - TX_NUM $ffdb, 1, 3 - db $0, $4f - db "kinds, come back", $55 - db "for @" - TX_RAM $cc5b - db $0, ".", $57 -; 0x8028c - -_UnnamedText_590a0: ; 0x8028c - db $0, "Great! You have", $4f - db "caught @" -; 0x8028c + 25 bytes - -UnnamedText_802a5: ; 0x802a5 - TX_NUM $ffdd, 1, 3 - db $0, " kinds ", $55 - db "of #MON!", $55 - db "Congratulations!", $51 - db "Here you go!", $58 -; 0x802a5 + 52 bytes = 0x802d9 - -UnnamedText_802d9: ; 0x802d9 - db $0, $52, " got the", $4f - db "@" - TX_RAM $cc5b - db $0, "!@@" -; 0xa802ec - -_UnnamedText_590ab: ; 0x802ec - db $0, "Oh! I see you", $4f - db "don't have any", $55 - db "room for the", $55 - db "@" -; 0x802ec + 43 bytes - -UnnamedText_80317: ; 0x80317 - TX_RAM $cc5b - db $0, ".", $57 -; 0x80317 + 6 bytes = 0x8031d - -_ViridianForestText1: ; 0x8031d - db $0, "I came here with", $4f - db "some friends!", $51 - db "They're out for", $4f - db "#MON fights!", $57 - -_UnnamedText_6118a: ; 0x80359 - db $0, "Hey! You have", $4f - db "#MON! Come on!", $55 - db "Let's battle'em!", $57 -; 0x80359 + 46 bytes - -_UnnamedText_6118f: ; 0x80387 - db $0, "No!", $4f - db "CATERPIE can't", $55 - db "cut it!", $58 -; 0x80387 + 27 bytes - -_UnnamedText_61194: ; 0x803a2 - db $0, "Ssh! You'll scare", $4f - db "the bugs away!", $57 -; 0x803a2 + 33 bytes - -_UnnamedText_61199: ; 0x803c3 - db $0, "Yo! You can't jam", $4f - db "out if you're a", $55 - db "#MON trainer!", $57 -; 0x803c3 + 47 bytes - -_UnnamedText_6119e: ; 0x803f2 - db $0, "Huh?", $4f - db "I ran out of", $55 - db "#MON!", $58 -; 0x803f2 + 25 bytes - -_UnnamedText_611a3: ; 0x8040b - db $0, "Darn! I'm going", $4f - db "to catch some", $55 - db "stronger ones!", $57 -; 0x8040b + 45 bytes - -_UnnamedText_611a8: ; 0x80438 - db $0, "Hey, wait up!", $4f - db "What's the hurry?", $57 -; 0x80438 + 32 bytes - -_UnnamedText_611ad: ; 0x80458 - db $0, "I", $4f - db "give! You're good", $55 - db "at this!", $58 -; 0x80458 + 29 bytes - -_UnnamedText_611b2: ; 0x80475 - db $0, "Sometimes, you", $4f - db "can find stuff on", $55 - db "the ground!", $51 - db "I'm looking for", $4f - db "the stuff I", $55 - db "dropped!", $57 -; 0x80475 + 82 bytes - -_ViridianForestText8: ; 0x804c7 - db $0, "I ran out of #", $4f - db "BALLs to catch", $55 - db "#MON with!", $51 - db "You should carry", $4f - db "extras!", $57 - -_ViridianForestText9: ; 0x8050a - db $0, "TRAINER TIPS", $51 - db "If you want to", $4f - db "avoid battles,", $55 - db "stay away from", $55 - db "grassy areas!", $57 - -_ViridianForestText10: ; 0x80553 - db $0, "For poison, use", $4f - db "ANTIDOTE! Get it", $55 - db "at #MON MARTs!", $57 - -_ViridianForestText11: ; 0x80584 - db $0, "TRAINER TIPS", $51 - db "Contact PROF.OAK", $4f - db "via PC to get", $55 - db "your #DEX", $55 - db "evaluated!", $57 - -_ViridianForestText12: ; 0x805c6 - db $0, "TRAINER TIPS", $51 - db "No stealing of", $4f - db "#MON from", $55 - db "other trainers!", $55 - db "Catch only wild", $55 - db "#MON!", $57 - -_ViridianForestText13: ; 0x80613 - db $0, "TRAINER TIPS", $51 - db "Weaken #MON", $4f - db "before attempting", $55 - db "capture!", $51 - db "When healthy,", $4f - db "they may escape!", $57 - -_ViridianForestText14: ; 0x80667 - db $0, "LEAVING", $4f - db "VIRIDIAN FOREST", $55 - db "PEWTER CITY AHEAD", $57 - -_UnnamedText_49a98: ; 0x80692 - db $0, "WHOA! You shocked", $4f - db "me! Oh, you're", $55 - db "just a kid!", $57 -; 0x80692 + 45 bytes - -_UnnamedText_49a9d: ; 0x806bf - db $0, "Wow!", $4f - db "Shocked again!", $58 -; 0x806bf + 21 bytes - -_UnnamedText_49aa2: ; 0x806d4 - db $0, "Kids like you", $4f - db "shouldn't be", $55 - db "here!", $57 -; 0x806d4 + 33 bytes - -_UnnamedText_49aa7: ; 0x806f5 - db $0, "Did you come to", $4f - db "explore too?", $57 -; 0x806f5 + 30 bytes - -_UnnamedText_49aac: ; 0x80713 - db $0, "Losing", $4f - db "stinks!", $58 -; 0x80713 + 16 bytes - -_UnnamedText_49ab1: ; 0x80723 - db $0, "I came down here", $4f - db "to show off to", $55 - db "girls.", $57 -; 0x80723 + 40 bytes - -_UnnamedText_49ab6: ; 0x8074b - db $0, "Wow! It's way", $4f - db "bigger in here", $55 - db "than I thought!", $57 -; 0x8074b + 45 bytes - -_UnnamedText_49abb: ; 0x80778 - db $0, "Oh!", $4f - db "I lost it!", $58 -; 0x80778 + 16 bytes - -_UnnamedText_49ac0: ; 0x80788 - db $0, "How do you get", $4f - db "out of here?", $57 -; 0x80788 + 29 bytes - -_UnnamedText_49ac5: ; 0x807a5 - db $0, "What! Don't sneak", $4f - db "up on me!", $57 -; 0x807a5 + 28 bytes - -_UnnamedText_49aca: ; 0x807c1 - db $0, "My", $4f - db "#MON won't do!", $58 -; 0x807c1 + 18 bytes - -_UnnamedText_49acf: ; 0x807d3 - db $0, "I have to find", $4f - db "stronger #MON.", $57 -; 0x807d3 + 31 bytes - -_UnnamedText_49ad4: ; 0x807f2 - db $0, "What? I'm waiting", $4f - db "for my friends to", $55 - db "find me here.", $57 -; 0x807f2 + 50 bytes - -_UnnamedText_49ad9: ; 0x80824 - db $0, "I lost?", $58 -; 0x80824 + 9 bytes - -_UnnamedText_49ade: ; 0x8082d - db $0, "I heard there are", $4f - db "some very rare", $55 - db "fossils here.", $57 -; 0x8082d + 48 bytes - -_UnnamedText_49ae3: ; 0x8085d - db $0, "Suspicious men", $4f - db "are in the cave.", $55 - db "What about you?", $57 -; 0x8085d + 49 bytes - -_UnnamedText_49ae8: ; 0x8088e - db $0, "You", $4f - db "got me!", $58 -; 0x8088e + 13 bytes - -_UnnamedText_49aed: ; 0x8089b - db $0, "I saw them! I'm", $4f - db "sure they're from", $55 - db "TEAM ROCKET!", $57 -; 0x8089b + 46 bytes - -_UnnamedText_49af2: ; 0x808c9 - db $0, "Go through this", $4f - db "cave to get to", $55 - db "CERULEAN CITY!", $57 -; 0x808c9 + 47 bytes - -_UnnamedText_49af7: ; 0x808f8 - db $0, "I", $4f - db "lost.", $58 -; 0x808f8 + 9 bytes - -_UnnamedText_49afc: ; 0x80901 - db $0, "ZUBAT is tough!", $4f - db "But, it can be", $55 - db "useful if you", $55 - db "catch one.", $57 -; 0x80901 + 57 bytes - -_MtMoon1Text14: ; 0x8093a - db $0, "Beware! ZUBAT is", $4f - db "a blood sucker!", $57 - -_UnnamedText_51a48: ; 0x8095c - db $0, $57 -; 0x8095c + 2 bytes - -_UnnamedText_49f24: ; 0x8095e - db $0, "You want the", $4f - db "DOME FOSSIL?", $57 -; 0x8095e + 27 bytes - -_UnnamedText_49f64: ; 0x80979 - db $0, "You want the", $4f - db "HELIX FOSSIL?", $57 -; 0x80979 + 28 bytes - -_UnnamedText_49f6f: ; 0x80995 - db $0, $52, " got the", $4f - db "@" - TX_RAM $cf4b - db $0, "!@@" -; 0x809a8 - -_UnnamedText_49f7f: ; 0x809a8 - db $0, "Look, you've got", $4f - db "no room for this.@@" -; 0x809cc - -_UnnamedText_49f85: ; 0x809cc - db $0, "Hey, stop!", $51 - db "I found these", $4f - db "fossils! They're", $55 - db "both mine!", $57 -; 0x809cc + 53 bytes - -_UnnamedText_49f8a: ; 0x80a01 - db $0, "OK!", $4f - db "I'll share!", $58 -; 0x80a01 + 16 bytes - -_UnnamedText_49f8f: ; 0x80a11 - db $0, "We'll each take", $4f - db "one!", $55 - db "No being greedy!", $57 -; 0x80a11 + 38 bytes - -_UnnamedText_49f94: ; 0x80a37 - db $0, "Far away, on", $4f - db "CINNABAR ISLAND,", $55 - db "there's a #MON", $55 - db "LAB.", $51 - db "They do research", $4f - db "on regenerating", $55 - db "fossils.", $57 -; 0x80a37 + 92 bytes - -UnnamedText_80a93: ; 0x80a93 - db $0, "All right. Then", $4f - db "this is mine!@@" -; 0x80ab3 - -_UnnamedText_49f9f: ; 0x80ab3 - db $0, "TEAM ROCKET will", $4f - db "find the fossils,", $55 - db "revive and sell", $55 - db "them for cash!", $57 -; 0x80ab3 + 67 bytes - -_UnnamedText_49fa4: ; 0x80af6 - db $0, "Urgh!", $4f - db "Now I'm mad!", $58 -; 0x80af6 + 19 bytes - -_UnnamedText_49fa9: ; 0x80b09 - db $0, "You made me mad!", $4f - db "TEAM ROCKET will", $55 - db "blacklist you!", $57 -; 0x80b09 + 50 bytes - -_UnnamedText_49fae: ; 0x80b3b - db $0, "We, TEAM ROCKET,", $4f - db "are #MON", $55 - db "gangsters!", $57 -; 0x80b3b + 38 bytes - -_UnnamedText_49fb3: ; 0x80b61 - db $0, "I blew", $4f - db "it!", $58 -; 0x80b61 + 12 bytes - -_UnnamedText_49fb8: ; 0x80b6d - db $0, "Darn it all! My", $4f - db "associates won't", $55 - db "stand for this!", $57 -; 0x80b6d + 49 bytes - -_UnnamedText_49fbd: ; 0x80b9e - db $0, "We're pulling a", $4f - db "big job here!", $55 - db "Get lost, kid!", $57 -; 0x80b9e + 45 bytes - -_UnnamedText_49fc2: ; 0x80bcb - db $0, "So, you", $4f - db "are good.", $58 -; 0x80bcb + 19 bytes - -_UnnamedText_49fc7: ; 0x80bde - db $0, "If you find a", $4f - db "fossil, give it", $55 - db "to me and scram!", $57 -; 0x80bde + 48 bytes - -_UnnamedText_49fcc: ; 0x80c0e - db $0, "Little kids", $4f - db "should leave", $55 - db "grown-ups alone!", $57 -; 0x80c0e + 43 bytes - -_UnnamedText_49fd1: ; 0x80c39 - db $0, "I'm", $4f - db "steamed!", $58 -; 0x80c39 + 13 bytes - -_UnnamedText_49fd6: ; 0x80c46 - db $0, "#MON lived", $4f - db "here long before", $55 - db "people came.", $57 -; 0x80c46 + 42 bytes - -_SSAnne1Text1: ; 0x80c70 - db $0, "Bonjour!", $4f - db "I am le waiter on", $55 - db "this ship!", $51 - db "I will be happy", $4f - db "to serve you any-", $55 - db "thing you please!", $51 - db "Ah! Le strong", $4f - db "silent type!", $57 - -_SSAnne1Text2: ; 0x80ce6 - db $0, "The passengers", $4f - db "are restless!", $51 - db "You might be", $4f - db "challenged by the", $55 - db "more bored ones!", $57 - -_SSAnne2Text1: ; 0x80d34 - db $0, "This ship, she is", $4f - db "a luxury liner", $55 - db "for trainers!", $51 - db "At every port, we", $4f - db "hold parties with", $55 - db "invited trainers!", $57 - -_UnnamedText_61500: ; 0x80d9a - db $0, $53, ": Bonjour!", $4f - db $52, "!", $51 - db "Imagine seeing", $4f - db "you here!", $51 - db $52, ", were you", $4f - db "really invited?", $51 - db "So how's your", $4f - db "#DEX coming?", $51 - db "I already caught", $4f - db "40 kinds, pal!", $51 - db "Different kinds", $4f - db "are everywhere!", $51 - db "Crawl around in", $4f - db "grassy areas!", $57 -; 0x80d9a + 189 bytes - -_UnnamedText_61505: ; 0x80e57 - db $0, "Humph!", $51 - db "At least you're", $4f - db "raising your", $55 - db "#MON!", $58 -; 0x80e57 + 42 bytes - -_UnnamedText_6150a: ; 0x80e81 - db $0, $52, "! What are", $4f - db "you, seasick?", $51 - db "You should shape", $4f - db "up, pal!", $58 -; 0x80e81 + 53 bytes - -_UnnamedText_6150f: ; 0x80eb6 - db $0, $53, ": I heard", $4f - db "there was a CUT", $55 - db "master on board.", $51 - db "But, he was just a", $4f - db "seasick, old man!", $51 - db "But, CUT itself is", $4f - db "really useful!", $51 - db "You should go see", $4f - db "him! Smell ya!", $57 -; 0x80eb6 + 149 bytes - -_SSAnne3Text1: ; 0x80f4b - db $0, "Our CAPTAIN is a", $4f - db "sword master!", $51 - db "He even teaches", $4f - db "CUT to #MON!", $57 - -_SSAnne5Text1: ; 0x80f88 - db $0, "The party's over.", $4f - db "The ship will be", $55 - db "departing soon.", $57 - -_SSAnne5Text2: ; 0x80fbb - db $0, "Scrubbing decks", $4f - db "is hard work!", $57 - -_SSAnne5Text3: ; 0x80fda - db $0, "Urf. I feel ill.", $51 - db "I stepped out to", $4f - db "get some air.", $57 - -_UnnamedText_61703: ; 0x8100b - db $0, "Hey matey!", $51 - db "Let's do a little", $4f - db "jig!", $57 -; 0x8100b + 34 bytes - -_UnnamedText_61708: ; 0x8102d - db $0, "You're", $4f - db "impressive!", $58 -; 0x8102d + 19 bytes - -_UnnamedText_6170d: ; 0x81040 - db $0, "How many kinds of", $4f - db "#MON do you", $55 - db "think there are?", $57 -; 0x81040 + 48 bytes - -_UnnamedText_6171c: ; 0x81070 - db $0, "Ahoy there!", $4f - db "Are you seasick?", $57 -; 0x81070 + 30 bytes - -_UnnamedText_61721: ; 0x8108e - db $0, "I was", $4f - db "just careless!", $58 -; 0x8108e + 22 bytes - -_UnnamedText_61726: ; 0x810a4 - db $0, "My Pa said there", $4f - db "are 100 kinds of", $55 - db "#MON. I think", $55 - db "there are more.", $57 -; 0x810a4 + 65 bytes - -_SSAnne6Text1: ; 0x810e5 - db $0, "You, mon petit!", $4f - db "We're busy here!", $55 - db "Out of the way!", $57 - -_SSAnne6Text2: ; 0x81116 - db $0, "I saw an odd ball", $4f - db "in the trash.", $57 - -_SSAnne6Text3: ; 0x81137 - db $0, "I'm so busy I'm", $4f - db "getting dizzy!", $57 - -_SSAnne6Text4: ; 0x81155 - db $0, "Hum-de-hum-de-", $4f - db "ho...", $51 - db "I peel spuds", $4f - db "every day!", $55 - db "Hum-hum...", $57 - -_SSAnne6Text5: ; 0x8118e - db $0, "Did you hear about", $4f - db "SNORLAX?", $51 - db "All it does is", $4f - db "eat and sleep!", $57 - -_SSAnne6Text6: ; 0x811c9 - db $0, "Snivel...Sniff...", $51 - db "I only get to", $4f - db "peel onions...", $55 - db "Snivel...", $57 - -_UnnamedText_61807: ; 0x81203 - db $0, "Er-hem! Indeed I", $4f - db "am le CHEF!", $51 - db "Le main course is", $58 -; 0x81203 + 48 bytes - -_UnnamedText_6180c: ; 0x81233 - db $0, "Salmon du Salad!", $51 - db "Les guests may", $4f - db "gripe it's fish", $55 - db "again, however!", $57 -; 0x81233 + 64 bytes - -_UnnamedText_61811: ; 0x81273 - db $0, "Eels au Barbecue!", $51 - db "Les guests will", $4f - db "mutiny, I fear.", $57 -; 0x81273 + 51 bytes - -_UnnamedText_61816: ; 0x812a6 - db $0, "Prime Beef Steak!", $51 - db "But, have I enough", $4f - db "fillets du beef?", $57 -; 0x812a6 + 55 bytes - -_SSAnne7RubText: ; 0x812dd - db $0, "CAPTAIN: Ooargh...", $4f - db "I feel hideous...", $55 - db "Urrp! Seasick...", $51 - db $52, " rubbed", $4f - db "the CAPTAIN's", $55 - db "back!", $51 - db "Rub-rub...", $4f - db "Rub-rub...@@" -; 0x81347 - -_ReceivingHM01Text: ; 0x81347 - db $0, "CAPTAIN: Whew!", $4f - db "Thank you! I", $55 - db "feel much better!", $51 - db "You want to see", $4f - db "my CUT technique?", $51 - db "I could show you", $4f - db "if I wasn't ill...", $51 - db "I know! You can", $4f - db "have this!", $51 - db "Teach it to your", $4f - db "#MON and you", $55 - db "can see it CUT", $55 - db "any time!", $58 -; 0x81347 + 198 bytes - -_ReceivedHM01Text: ; 0x8140d - db $0, $52, " got", $4f - db "@" - TX_RAM $cf4b - db $0, "!@@" -; 0x8141c - -_UnnamedText_61932: ; 0x8141c - db $0, "CAPTAIN: Whew!", $51 - db "Now that I'm not", $4f - db "sick any more, I", $55 - db "guess it's time.", $57 -; 0x8141c + 65 bytes - -_HM01NoRoomText: ; 0x8145d - db $0, "Oh no! You have", $4f - db "no room for this!", $57 -; 0x8145d + 35 bytes - -_SSAnne7Text2: ; 0x81480 - db $0, "Yuck! Shouldn't", $4f - db "have looked!", $57 - -_SSAnne7Text3: ; 0x8149d - db $0, "How to Conquer", $4f - db "Seasickness...", $55 - db "The CAPTAIN's", $55 - db "reading this!", $57 - -_SSAnne8Text8: ; 0x814d7 - db $0, "WIGGLYTUFF: Puup", $4f - db "pupuu!@@" - -_UnnamedText_61a0b: ; 0x814f1 - db $0, "I travel alone", $4f - db "on my journeys!", $51 - db "My #MON are my", $4f - db "only friends!", $57 -; 0x814f1 + 61 bytes - -_UnnamedText_61a10: ; 0x8152e - db $0, "My, my", $4f - db "friends...", $58 -; 0x8152e + 19 bytes - -_UnnamedText_61a15: ; 0x81541 - db $0, "You should be", $4f - db "nice to friends!", $57 -; 0x81541 + 32 bytes - -_UnnamedText_61a1a: ; 0x81561 - db $0, "You pup! How dare", $4f - db "you barge in!", $57 -; 0x81561 + 33 bytes - -_UnnamedText_61a1f: ; 0x81582 - db $0, "Humph!", $4f - db "You rude child!", $58 -; 0x81582 + 24 bytes - -_UnnamedText_61a24: ; 0x8159a - db $0, "I wish to be left", $4f - db "alone! Get out!", $57 -; 0x8159a + 35 bytes - -_UnnamedText_61a29: ; 0x815bd - db $0, "I love #MON!", $4f - db "Do you?", $57 -; 0x815bd + 22 bytes - -_UnnamedText_61a2e: ; 0x815d3 - db $0, "Wow! ", $4f - db "You're great!", $58 -; 0x815d3 + 20 bytes - -_UnnamedText_61a33: ; 0x815e7 - db $0, "Let me be your", $4f - db "friend, OK?", $51 - db "Then we can trade", $4f - db "#MON!", $57 -; 0x815e7 + 52 bytes - -_UnnamedText_61a38: ; 0x8161b - db $0, "I collected these", $4f - db "#MON from all", $55 - db "around the world!", $57 -; 0x8161b + 51 bytes - -_UnnamedText_61a3d: ; 0x8164e - db $0, "Oh no!", $4f - db "I went around the", $55 - db "world for these!", $58 -; 0x8164e + 43 bytes - -_UnnamedText_61a42: ; 0x81679 - db $0, "You hurt my poor", $4f - db "worldly #MON!", $51 - db "I demand that you", $4f - db "heal them at a", $55 - db "#MON CENTER!", $57 -; 0x81679 + 78 bytes - -_SSAnne8Text5: ; 0x816c7 - db $0, "Waiter, I would", $4f - db "like a cherry pie", $55 - db "please!", $57 - -_SSAnne8Text6: ; 0x816f2 - db $0, "A cruise is so", $4f - db "elegant yet cozy!", $57 - -_SSAnne8Text7: ; 0x81714 - db $0, "I always travel", $4f - db "with WIGGLYTUFF!", $57 - -_SSAnne8Text9: ; 0x81736 - db $0, "We are cruising", $4f - db "around the world.", $57 - -_SSAnne8Text11: ; 0x81759 - db $0, "Ssh! I'm a GLOBAL", $4f - db "POLICE agent!", $51 - db "I'm on the trail", $4f - db "of TEAM ROCKET!", $57 - -_UnnamedText_61bf2: ; 0x81799 - db $0, "In all my travels", $4f - db "I've never seen", $55 - db "any #MON sleep", $55 - db "like this one!", $51 - db "It was something", $4f - db "like this!", $58 -; 0x81799 + 92 bytes - -_UnnamedText_61c01: ; 0x817f5 - db $0, "Ah yes, I have", $4f - db "seen some #MON", $55 - db "ferry people", $55 - db "across the water!", $57 -; 0x817f5 + 62 bytes - -_UnnamedText_61c10: ; 0x81833 - db $0, "#MON can CUT", $4f - db "down small bushes.", $57 -; 0x81833 + 33 bytes - -_UnnamedText_61c1f: ; 0x81854 - db $0, "Have you gone to", $4f - db "the SAFARI ZONE", $55 - db "in FUCHSIA CITY?", $51 - db "It had many rare", $4f - db "kinds of #MON!!", $57 -; 0x81854 + 84 bytes - -_UnnamedText_61c2e: ; 0x818a8 - db $0, "Me and my Daddy", $4f - db "think the SAFARI", $55 - db "ZONE is awesome!", $57 -; 0x818a8 + 51 bytes - -_UnnamedText_61c3d: ; 0x818db - db $0, "The CAPTAIN looked", $4f - db "really sick and", $55 - db "pale!", $57 -; 0x818db + 42 bytes - -_UnnamedText_61c4c: ; 0x81905 - db $0, "I hear many people", $4f - db "get seasick!", $57 -; 0x81905 + 33 bytes - -_UnnamedText_61c51: ; 0x81926 - db $0, "Competing against", $4f - db "the young keeps", $55 - db "me youthful.", $57 -; 0x81926 + 48 bytes - -_UnnamedText_61c56: ; 0x81956 - db $0, "Good", $4f - db "fight! Ah, I feel", $55 - db "young again!", $58 -; 0x81956 + 37 bytes - -_UnnamedText_61c5b: ; 0x8197b - db $0, "15 years ago, I", $4f - db "would have won!", $57 -; 0x8197b + 33 bytes - -_UnnamedText_61c60: ; 0x8199c - db $0, "Check out what I", $4f - db "fished up!", $57 -; 0x8199c + 29 bytes - -_UnnamedText_61c65: ; 0x819b9 - db $0, "I'm", $4f - db "all out!", $58 -; 0x819b9 + 13 bytes - -_UnnamedText_61c6a: ; 0x819c6 - db $0, "Party?", $51 - db "The cruise ship's", $4f - db "party should be", $55 - db "over by now.", $57 -; 0x819c6 + 54 bytes - -_UnnamedText_61c6f: ; 0x819fc - db $0, "Which do you like,", $4f - db "a strong or a", $55 - db "rare #MON?", $57 -; 0x819fc + 45 bytes - -_UnnamedText_61c74: ; 0x81a29 - db $0, "I must", $4f - db "salute you!", $58 -; 0x81a29 + 20 bytes - -_UnnamedText_61c79: ; 0x81a3d - db $0, "I prefer strong", $4f - db "and rare #MON.", $57 -; 0x81a3d + 32 bytes - -_UnnamedText_61c7e: ; 0x81a5d - db $0, "I never saw you", $4f - db "at the party.", $57 -; 0x81a5d + 31 bytes - -_UnnamedText_61c83: ; 0x81a7c - db $0, "Take", $4f - db "it easy!", $58 -; 0x81a7c + 15 bytes - -_UnnamedText_61c88: ; 0x81a8b - db $0, "Oh, I adore your", $4f - db "strong #MON!", $57 -; 0x81a8b + 31 bytes - -_SSAnne10Text8: ; 0x81aaa - db $0, "MACHOKE: Gwoh!", $4f - db "Goggoh!@@" - -_UnnamedText_61e16: ; 0x81ac3 - db $0, "You know what they", $4f - db "say about sailors", $55 - db "and fighting!", $57 -; 0x81ac3 + 52 bytes - -_UnnamedText_61e1b: ; 0x81af7 - db $0, "Right!", $4f - db "Good fight, mate!", $58 -; 0x81af7 + 26 bytes - -_UnnamedText_61e20: ; 0x81b11 - db $0, "Haha! Want to be", $4f - db "a sailor, mate?", $57 -; 0x81b11 + 34 bytes - -_UnnamedText_61e25: ; 0x81b33 - db $0, "My sailor's pride", $4f - db "is at stake!", $57 -; 0x81b33 + 31 bytes - -_UnnamedText_61e2a: ; 0x81b52 - db $0, "Your", $4f - db "spirit sank me!", $58 -; 0x81b52 + 22 bytes - -_UnnamedText_61e2f: ; 0x81b68 - db $0, "Did you see the", $4f - db "FISHING GURU in", $55 - db "VERMILION CITY?", $57 -; 0x81b68 + 49 bytes - -_UnnamedText_61e34: ; 0x81b99 - db $0, "Us sailors have", $4f - db "#MON too!", $57 -; 0x81b99 + 27 bytes - -_UnnamedText_61e39: ; 0x81bb4 - db $0, "OK, ", $4f - db "you're not bad.", $58 -; 0x81bb4 + 21 bytes - -_UnnamedText_61e3e: ; 0x81bc9 - db $0, "We caught all our", $4f - db "#MON while", $55 - db "out at sea!", $57 -; 0x81bc9 + 42 bytes - -_UnnamedText_61e43: ; 0x81bf3 - db $0, "I like feisty", $4f - db "kids like you!@@" -; 0x81bf3 + 31 bytes - -_UnnamedText_61e48: ; 0x81c12 - db $0, "Argh!", $4f - db "Lost it!", $58 -; 0x81c12 + 16 bytes - -_UnnamedText_61e4d: ; 0x81c22 - db $0, "Sea #MON live", $4f - db "in deep water.", $55 - db "You'll need a ROD!", $57 -; 0x81c22 + 48 bytes - -_UnnamedText_61e52: ; 0x81c52 - db $0, "Matey, you're", $4f - db "walking the plank", $55 - db "if you lose!", $57 -; 0x81c52 + 45 bytes - -_UnnamedText_61e57: ; 0x81c7f - db $0, "Argh!", $4f - db "Beaten by a kid!", $58 -; 0x81c7f + 24 bytes - -_UnnamedText_61e5c: ; 0x81c97 - db $0, "Jellyfish some-", $4f - db "times drift into", $55 - db "the ship.", $57 -; 0x81c97 + 44 bytes - -_UnnamedText_61e61: ; 0x81cc3 - db $0, "Hello stranger!", $4f - db "Stop and chat!", $51 - db "All my #MON", $4f - db "are from the sea!", $57 -; 0x81cc3 + 62 bytes - -_UnnamedText_61e66: ; 0x81d01 - db $0, "Darn!", $4f - db "I let that one", $55 - db "get away!", $58 -; 0x81d01 + 32 bytes - -_UnnamedText_61e6b: ; 0x81d21 - db $0, "I was going to", $4f - db "make you my", $55 - db "assistant too!", $57 -; 0x81d21 + 43 bytes - -_SSAnne10Text7: ; 0x81d4c - db $0, "My buddy, MACHOKE,", $4f - db "is super strong!", $51 - db "He has enough", $4f - db "STRENGTH to move", $55 - db "big rocks!", $57 - -_UnnamedText_44a91: ; 0x81d9b - db $0, "I heard rumors of", $4f - db "a child prodigy!", $57 -; 0x81d9b + 36 bytes - -_UnnamedText_44a96: ; 0x81dbf - db $0, "The", $4f - db "rumors were true!", $58 -; 0x81dbf + 23 bytes - -_UnnamedText_44a9b: ; 0x81dd6 - db $0, "You beat GIOVANNI", $4f - db "of TEAM ROCKET?", $57 -; 0x81dd6 + 35 bytes - -_UnnamedText_44aa0: ; 0x81df9 - db $0, "I'll show you just", $4f - db "how good you are!", $57 -; 0x81df9 + 37 bytes - -_UnnamedText_44aa5: ; 0x81e1e - db $0, "I'm", $4f - db "furious!", $58 -; 0x81e1e + 13 bytes - -_UnnamedText_44aaa: ; 0x81e2b - db $0, "You showed me just", $4f - db "how good I was!", $57 -; 0x81e2b + 36 bytes - -_UnnamedText_44aaf: ; 0x81e4f - db $0, "Only the chosen", $4f - db "can pass here!", $57 -; 0x81e4f + 32 bytes - -_UnnamedText_44ab4: ; 0x81e6f - db $0, "I", $4f - db "don't believe it!", $58 -; 0x81e6f + 20 bytes - -_UnnamedText_44ab9: ; 0x81e83 - db $0, "All trainers here", $4f - db "are headed to the", $55 - db "#MON LEAGUE!", $55 - db "Be careful!", $57 -; 0x81e83 + 62 bytes - -_UnnamedText_44abe: ; 0x81ec1 - db $0, "Trainers live to", $4f - db "seek stronger", $55 - db "opponents!", $57 -; 0x81ec1 + 43 bytes - -_UnnamedText_44ac3: ; 0x81eec - db $0, "Oh!", $4f - db "So strong!", $58 -; 0x81eec + 16 bytes - -_UnnamedText_44ac8: ; 0x81efc - db $0, "By fighting tough", $4f - db "battles, you get", $55 - db "stronger!", $57 -; 0x81efc + 46 bytes - -_UnnamedText_44c91: ; 0x81f2a - db $0, "Why...?@@" -; 0x81f34 - -_UnnamedText_44ca1: ; 0x81f34 - db $0, "Who are you? How", $4f - db "did you get here?", $57 -; 0x81f34 + 36 bytes - -_UnnamedText_44ca6: ; 0x81f58 - db $0, "Oww!", $4f - db "Beaten!", $58 -; 0x81f58 + 14 bytes - -_UnnamedText_44cab: ; 0x81f66 - db $0, "Are you dissing", $4f - db "TEAM ROCKET?", $57 -; 0x81f66 + 30 bytes - -_UnnamedText_44cb0: ; 0x81f84 - db $0, "You broke into", $4f - db "our operation?", $57 -; 0x81f84 + 31 bytes - -_UnnamedText_44cb5: ; 0x81fa3 - db $0, "Burnt!", $58 -; 0x81fa3 + 8 bytes - -_UnnamedText_44cba: ; 0x81fab - db $0, "You're not going", $4f - db "to get away with", $55 - db "this, brat!", $57 -; 0x81fab + 46 bytes - -_UnnamedText_44cbf: ; 0x81fd9 - db $0, "Intruder alert!", $57 -; 0x81fd9 + 17 bytes - -_UnnamedText_44cc4: ; 0x81fea - db $0, "I", $4f - db "can't do it!", $58 -; 0x81fea + 15 bytes - -_UnnamedText_44cc9: ; 0x81ff9 - db $0, "SILPH SCOPE?", $4f - db "I don't know", $55 - db "where it is!", $57 -; 0x81ff9 + 39 bytes - -_UnnamedText_44cce: ; 0x82020 - db $0, "Why did you come", $4f - db "here?", $57 -; 0x82020 + 24 bytes - -_UnnamedText_44cd3: ; 0x82038 - db $0, "This", $4f - db "won't do!", $58 -; 0x82038 + 15 bytes - -_UnnamedText_44cd8: ; 0x82047 - db $0, "OK, I'll talk!", $4f - db "Take the elevator", $55 - db "to see my BOSS!", $57 -; 0x82047 + 49 bytes - -_UnnamedText_44cdd: ; 0x82078 - db $0, "Are you lost, you", $4f - db "little rat?", $57 -; 0x82078 + 31 bytes - -_UnnamedText_44ce2: ; 0x82097 - db $0, "Uh-oh, that fight", $4f - db "opened the door!", $57 -; 0x82097 + 36 bytes - -_UnnamedText_450e8: ; 0x820bb - db $0, "BOSS said you can", $4f - db "see GHOSTs with", $55 - db "the SILPH SCOPE!", $57 -; 0x820bb + 52 bytes - -_UnnamedText_450ed: ; 0x820ef - db $0, "I", $4f - db "surrender!", $58 -; 0x820ef + 14 bytes - -_UnnamedText_450f2: ; 0x820fd - db $0, "The TEAM ROCKET", $4f - db "HQ has 4 basement", $55 - db "floors. Can you", $55 - db "reach the BOSS?", $57 -; 0x820fd + 67 bytes - -_UnnamedText_45325: ; 0x82140 - db $0, "Stop meddling in", $4f - db "TEAM ROCKET's", $55 - db "affairs!", $57 -; 0x82140 + 40 bytes - -_UnnamedText_4532a: ; 0x82168 - db $0, "Oof!", $4f - db "Taken down!", $58 -; 0x82168 + 18 bytes - -_UnnamedText_4532f: ; 0x8217a - db $0, "SILPH SCOPE?", $4f - db "The machine the", $55 - db "BOSS stole. It's", $55 - db "here somewhere.", $57 -; 0x8217a + 62 bytes - -_UnnamedText_4533e: ; 0x821b8 - db $0, "We got word from", $4f - db "upstairs that you", $55 - db "were coming!", $57 -; 0x821b8 + 49 bytes - -_UnnamedText_45343: ; 0x821e9 - db $0, "What?", $4f - db "I lost? No!", $58 -; 0x821e9 + 19 bytes - -_UnnamedText_45348: ; 0x821fc - db $0, "Go ahead and go!", $4f - db "But, you need the", $55 - db "LIFT KEY to run", $55 - db "the elevator!", $57 -; 0x821fc + 66 bytes - -_UnnamedText_4557a: ; 0x8223e - db $0, "So! I must say, I", $4f - db "am impressed you", $55 - db "got here!", $57 -; 0x8223e + 46 bytes - -_UnnamedText_4557f: ; 0x8226c - db $0, "WHAT!", $4f - db "This cannot be!", $58 -; 0x8226c + 23 bytes - -_UnnamedText_45584: ; 0x82283 - db $0, "I see that you", $4f - db "raise #MON", $55 - db "with utmost care.", $51 - db "A child like you", $4f - db "would never", $55 - db "understand what I", $55 - db "hope to achieve.", $51 - db "I shall step", $4f - db "aside this time!", $51 - db "I hope we meet", $4f - db "again...", $57 -; 0x82283 + 163 bytes - -_UnnamedText_45593: ; 0x82326 - db $0, "I know you! You", $4f - db "ruined our plans", $55 - db "at MT.MOON!", $57 -; 0x82326 + 46 bytes - -_UnnamedText_45598: ; 0x82354 - db $0, "Burned", $4f - db "again!", $58 -; 0x82354 + 15 bytes - -_UnnamedText_4559d: ; 0x82363 - db $0, "Do you have", $4f - db "something against", $55 - db "TEAM ROCKET?", $57 -; 0x82363 + 44 bytes - -_UnnamedText_455ac: ; 0x8238f - db $0, "How can you not", $4f - db "see the beauty of", $55 - db "our evil?", $57 -; 0x8238f + 45 bytes - -_UnnamedText_455b1: ; 0x823bc - db $0, "Ayaya!", $58 -; 0x823bc + 8 bytes - -_UnnamedText_455b6: ; 0x823c4 - db $0, "BOSS! I'm sorry I", $4f - db "failed you!", $57 -; 0x823c4 + 30 bytes - -_UnnamedText_455c5: ; 0x823e2 - db $0, "The elevator", $4f - db "doesn't work? Who", $55 - db "has the LIFT KEY?", $57 -; 0x823e2 + 49 bytes - -_UnnamedText_455ca: ; 0x82413 - db $0, "No!", $58 -; 0x82413 + 5 bytes - -_UnnamedText_455ec: ; 0x82418 - db $0, "Oh no! I dropped", $4f - db "the LIFT KEY!", $57 -; 0x82418 + 32 bytes - -_UnnamedText_4578b: ; 0x82438 - db $0, "It appears to", $4f - db "need a key.@@" -; 0xa82454 - -_UnnamedText_59ded: ; 0x82454 - db $0, "Eeek!", $4f - db "No! Stop! Help!", $51 - db "Oh, you're not", $4f - db "with TEAM ROCKET.", $55 - db "I thought...", $55 - db "I'm sorry. Here,", $55 - db "please take this!", $58 -; 0x82454 + 102 bytes - -_ReceivedTM36Text: ; 0x824ba - db $0, $52, " got", $4f - db "@" - TX_RAM $cf4b - db $0, "!@@" -; 0x824c9 - -_TM36ExplanationText: ; 0x824c9 - db $0, "TM36 is", $4f - db "SELFDESTRUCT!", $51 - db "It's powerful, but", $4f - db "the #MON that", $55 - db "uses it faints!", $55 - db "Be careful.", $57 -; 0x824c9 + 83 bytes - -_TM36NoRoomText: ; 0x8251c - db $0, "You don't have any", $4f - db "room for this.", $57 -; 0x8251c + 34 bytes - -_UnnamedText_59e2a: ; 0x8253e - db $0, "Help! I'm a SILPH", $4f - db "employee.", $57 -; 0x8253e + 28 bytes - -_UnnamedText_59e2f: ; 0x8255a - db $0, "How", $4f - db "did you know I", $55 - db "was a ROCKET?", $58 -; 0x8255a + 34 bytes - -_UnnamedText_59e34: ; 0x8257c - db $0, "I work for both", $4f - db "SILPH and TEAM", $55 - db "ROCKET!", $57 -; 0x8257c + 40 bytes - -_UnnamedText_59e39: ; 0x825a4 - db $0, "It's off limits", $4f - db "here! Go home!", $57 -; 0x825a4 + 31 bytes - -_UnnamedText_59e3e: ; 0x825c3 - db $0, "You're", $4f - db "good.", $58 -; 0x825c3 + 13 bytes - -_UnnamedText_59e43: ; 0x825d0 - db $0, "Can you solve the", $4f - db "maze in here?", $57 -; 0x825d0 + 33 bytes - -_UnnamedText_59e48: ; 0x825f1 - db $0, "No kids are", $4f - db "allowed in here!", $57 -; 0x825f1 + 30 bytes - -_UnnamedText_59e4d: ; 0x8260f - db $0, "Tough!", $58 -; 0x8260f + 8 bytes - -_UnnamedText_59e52: ; 0x82617 - db $0, "Diamond shaped", $4f - db "tiles are", $55 - db "teleport blocks!", $51 - db "They're hi-tech", $4f - db "transporters!", $57 -; 0x82617 + 72 bytes - -_UnnamedText_59e57: ; 0x8265f - db $0, "Hey kid! What are", $4f - db "you doing here?", $57 -; 0x8265f + 35 bytes - -_UnnamedText_59e5c: ; 0x82682 - db $0, "I goofed!", $58 -; 0x82682 + 11 bytes - -_UnnamedText_59e61: ; 0x8268d - db $0, "SILPH CO. will", $4f - db "be merged with", $55 - db "TEAM ROCKET!", $57 -; 0x8268d + 44 bytes - -_UnnamedText_59ff9: ; 0x826b9 - db $0, "I work for SILPH.", $4f - db "What should I do?", $57 -; 0x826b9 + 37 bytes - -_UnnamedText_59ffe: ; 0x826de - db $0, $52, "! You and", $4f - db "your #MON", $55 - db "saved us!", $57 -; 0x826de + 32 bytes - -_UnnamedText_5a00d: ; 0x826fe - db $0, "Quit messing with", $4f - db "us, kid!", $57 -; 0x826fe + 28 bytes - -_UnnamedText_5a012: ; 0x8271a - db $0, "I give", $4f - db "up!", $58 -; 0x8271a + 12 bytes - -_UnnamedText_5a017: ; 0x82726 - db $0, "A hint? You can", $4f - db "open doors with a", $55 - db "CARD KEY!", $57 -; 0x82726 + 45 bytes - -_UnnamedText_5a026: ; 0x82753 - db $0, "I support TEAM", $4f - db "ROCKET more than", $55 - db "I support SILPH!", $57 -; 0x82753 + 50 bytes - -_UnnamedText_5a02b: ; 0x82785 - db $0, "You", $4f - db "really got me!", $58 -; 0x82785 + 20 bytes - -_UnnamedText_5a030: ; 0x82799 - db $0, "Humph...", $51 - db "TEAM ROCKET said", $4f - db "that if I helped", $55 - db "them, they'd let", $55 - db "me study #MON!", $57 -; 0x82799 + 75 bytes - -_UnnamedText_19de0: ; 0x827e4 - db $0, "Sssh! Can't you", $4f - db "see I'm hiding?", $57 -; 0x827e4 + 31 bytes - -_UnnamedText_19de5: ; 0x82803 - db $0, "Huh? TEAM ROCKET", $4f - db "is gone?", $57 -; 0x82803 + 27 bytes - -_UnnamedText_19df4: ; 0x8281e - db $0, "TEAM ROCKET has", $4f - db "taken command of", $55 - db "SILPH CO.!", $57 -; 0x8281e + 45 bytes - -_UnnamedText_19df9: ; 0x8284b - db $0, "Arrgh!", $58 -; 0x8284b + 8 bytes - -_UnnamedText_19dfe: ; 0x82853 - db $0, "Fwahahaha!", $4f - db "My BOSS has been", $55 - db "after this place!", $57 -; 0x82853 + 47 bytes - -_UnnamedText_19e0d: ; 0x82882 - db $0, "My #MON are my", $4f - db "loyal soldiers!", $57 -; 0x82882 + 32 bytes - -_UnnamedText_19e12: ; 0x828a2 - db $0, "Darn!", $4f - db "You weak #MON!", $58 -; 0x828a2 + 22 bytes - -_UnnamedText_19e17: ; 0x828b8 - db $0, "The doors are", $4f - db "electronically", $55 - db "locked! A CARD", $55 - db "KEY opens them!", $57 -; 0x828b8 + 61 bytes - -_UnnamedText_19e26: ; 0x828f5 - db $0, "Intruder spotted!", $57 -; 0x828f5 + 19 bytes - -_UnnamedText_19e2b: ; 0x82908 - db $0, "Who", $4f - db "are you?", $58 -; 0x82908 + 14 bytes - -_UnnamedText_19e30: ; 0x82916 - db $0, "I better tell the", $4f - db "BOSS on 11F!", $57 -; 0x82916 + 32 bytes - -_UnnamedText_1a010: ; 0x82936 - db $0, "TEAM ROCKET is", $4f - db "in an uproar over", $55 - db "some intruder.", $55 - db "That's you right?", $57 -; 0x82936 + 66 bytes - -_UnnamedText_1a015: ; 0x82978 - db $0, "TEAM ROCKET took", $4f - db "off! You're our", $55 - db "hero! Thank you!", $57 -; 0x82978 + 50 bytes - -_UnnamedText_1a024: ; 0x829aa - db $0, "I heard a kid was", $4f - db "wandering around.", $57 -; 0x829aa + 37 bytes - -_UnnamedText_1a029: ; 0x829cf - db $0, "Boom!", $58 -; 0x829cf + 7 bytes - -_UnnamedText_1a02e: ; 0x829d6 - db $0, "It's not smart", $4f - db "to pick a fight", $55 - db "with TEAM ROCKET!", $57 -; 0x829d6 + 49 bytes - -_UnnamedText_1a03d: ; 0x82a07 - db $0, "We study #", $4f - db "BALL technology", $55 - db "on this floor!", $57 -; 0x82a07 + 43 bytes - -_UnnamedText_1a042: ; 0x82a32 - db $0, "Dang!", $4f - db "Blast it!", $58 -; 0x82a32 + 17 bytes - -_UnnamedText_1a047: ; 0x82a43 - db $0, "We worked on the", $4f - db "ultimate #", $55 - db "BALL which would", $55 - db "catch anything!", $57 -; 0x82a43 + 62 bytes - -_UnnamedText_1a056: ; 0x82a81 - db $0, "Whaaat? There", $4f - db "shouldn't be any", $55 - db "children here?", $57 -; 0x82a81 + 46 bytes - -SECTION "bank21",DATA,BANK[$21] - -_UnnamedText_1a05b: ; 0x84000 - db $0, "Oh", $4f - db "goodness!", $58 -; 0x84000 + 14 bytes - -_UnnamedText_1a060: ; 0x8400e - db $0, "You're only on 5F.", $4f - db "It's a long way", $55 - db "to my BOSS!", $57 -; 0x8400e + 46 bytes - -_UnnamedText_1a06f: ; 0x8403c - db $0, "Show TEAM ROCKET", $4f - db "a little respect!", $57 -; 0x8403c + 36 bytes - -_UnnamedText_1a074: ; 0x84060 - db $0, "Cough...", $4f - db "Cough...", $58 -; 0x84060 + 19 bytes - -_UnnamedText_1a079: ; 0x84073 - db $0, "Which reminds me.", $51 - db "KOFFING evolves", $4f - db "into WEEZING!", $57 -; 0x84073 + 49 bytes - -_SilphCo5Text9: ; 0x840a4 - db $0, "It's a #MON", $4f - db "REPORT!", $51 - db "#MON LAB", $4f - db "created PORYGON,", $55 - db "the first virtual", $55 - db "reality #MON.", $57 - -_SilphCo5Text10: ; 0x840f2 - db $0, "It's a #MON", $4f - db "REPORT!", $51 - db "Over 160 #MON", $4f - db "techniques have", $55 - db "been confirmed.", $57 - -_SilphCo5Text11: ; 0x84134 - db $0, "It's a #MON", $4f - db "REPORT!", $51 - db "4 #MON evolve", $4f - db "only when traded", $55 - db "by link-cable.", $57 - -_UnnamedText_1a24a: ; 0x84176 - db $0, "The ROCKETs came", $4f - db "and took over the", $55 - db "building!", $57 -; 0x84176 + 46 bytes - -_UnnamedText_1a24f: ; 0x841a4 - db $0, "Well, better get", $4f - db "back to work!", $57 -; 0x841a4 + 32 bytes - -_UnnamedText_1a261: ; 0x841c4 - db $0, "Oh dear, oh dear.", $4f - db "Help me please!", $57 -; 0x841c4 + 35 bytes - -_UnnamedText_1a266: ; 0x841e7 - db $0, "We got engaged!", $4f - db "Heheh!", $57 -; 0x841e7 + 24 bytes - -_UnnamedText_1a278: ; 0x841ff - db $0, "Look at him! He's", $4f - db "such a coward!", $57 -; 0x841ff + 33 bytes - -_UnnamedText_1a27d: ; 0x84220 - db $0, "I feel so sorry", $4f - db "for him, I have", $55 - db "to marry him!", $57 -; 0x84220 + 47 bytes - -_UnnamedText_1a28f: ; 0x8424f - db $0, "TEAM ROCKET is", $4f - db "trying to conquer", $55 - db "the world with", $55 - db "#MON!", $57 -; 0x8424f + 55 bytes - -_UnnamedText_1a294: ; 0x84286 - db $0, "TEAM ROCKET ran", $4f - db "because of you!", $57 -; 0x84286 + 33 bytes - -_UnnamedText_1a2a6: ; 0x842a7 - db $0, "They must have", $4f - db "targeted SILPH", $55 - db "for our #MON", $55 - db "products.", $57 -; 0x842a7 + 54 bytes - -_UnnamedText_1a2ab: ; 0x842dd - db $0, "Come work for", $4f - db "SILPH when you", $55 - db "get older!", $57 -; 0x842dd + 41 bytes - -_UnnamedText_1a2ba: ; 0x84306 - db $0, "I am one of the 4", $4f - db "ROCKET BROTHERS!", $57 -; 0x84306 + 36 bytes - -_UnnamedText_1a2bf: ; 0x8432a - db $0, "Flame", $4f - db "out!", $58 -; 0x8432a + 12 bytes - -_UnnamedText_1a2c4: ; 0x84336 - db $0, "No matter!", $4f - db "My brothers will", $55 - db "avenge me!", $57 -; 0x84336 + 40 bytes - -_UnnamedText_1a2d3: ; 0x8435e - db $0, "That rotten", $4f - db "PRESIDENT!", $51 - db "He shouldn't have", $4f - db "sent me to the", $55 - db "TIKSI BRANCH!", $57 -; 0x8435e + 70 bytes - -_UnnamedText_1a2d8: ; 0x843a4 - db $0, "Shoot!", $58 -; 0x843a4 + 8 bytes - -_UnnamedText_1a2dd: ; 0x843ac - db $0, "TIKSI BRANCH?", $4f - db "It's in Russian", $55 - db "no man's land!", $57 -; 0x843ac + 44 bytes - -_UnnamedText_1a2ec: ; 0x843d8 - db $0, "You dare betray", $4f - db "TEAM ROCKET?", $57 -; 0x843d8 + 30 bytes - -_UnnamedText_1a2f1: ; 0x843f6 - db $0, "You", $4f - db "traitor!", $58 -; 0x843f6 + 14 bytes - -_UnnamedText_1a2f6: ; 0x84404 - db $0, "If you stand for", $4f - db "justice, you", $55 - db "betray evil!", $57 -; 0x84404 + 44 bytes - -_UnnamedText_51dd3: ; 0x84430 - db $0, "Oh! Hi! You're", $4f - db "not a ROCKET! You", $55 - db "came to save us?", $55 - db "Why, thank you!", $51 - db "I want you to", $4f - db "have this #MON", $55 - db "for saving us.", $58 -; 0x84430 + 110 bytes - -_UnnamedText_51dd8: ; 0x8449e - db $0, "It's LAPRAS. It's", $4f - db "very intelligent.", $51 - db "We kept it in our", $4f - db "lab, but it will", $55 - db "be much better", $55 - db "off with you!", $51 - db "I think you will", $4f - db "be a good trainer", $55 - db "for LAPRAS!", $51 - db "It's a good", $4f - db "swimmer. It'll", $55 - db "give you a lift!", $57 -; 0x8449e + 188 bytes - -_UnnamedText_51ddd: ; 0x8455a - db $0, "TEAM ROCKET's", $4f - db "BOSS went to the", $55 - db "boardroom! Is our", $55 - db "PRESIDENT OK?", $57 -; 0x8455a + 63 bytes - -_UnnamedText_51de2: ; 0x84599 - db $0, "Saved at last!", $4f - db "Thank you!", $57 -; 0x84599 + 27 bytes - -_UnnamedText_51e00: ; 0x845b4 - db $0, "TEAM ROCKET was", $4f - db "after the MASTER", $55 - db "BALL which will", $55 - db "catch any #MON!", $57 -; 0x845b4 + 66 bytes - -_UnnamedText_51e05: ; 0x845f6 - db $0, "We canceled the", $4f - db "MASTER BALL", $55 - db "project because", $55 - db "of TEAM ROCKET.", $57 -; 0x845f6 + 61 bytes - -_UnnamedText_51e23: ; 0x84633 - db $0, "It would be bad", $4f - db "if TEAM ROCKET", $55 - db "took over SILPH", $55 - db "or our #MON!", $57 -; 0x84633 + 61 bytes - -_UnnamedText_51e28: ; 0x84670 - db $0, "Wow! You chased", $4f - db "off TEAM ROCKET", $55 - db "all by yourself?", $57 -; 0x84670 + 50 bytes - -_UnnamedText_51e46: ; 0x846a2 - db $0, "You! It's really", $4f - db "dangerous here!", $55 - db "You came to save", $55 - db "me? You can't!", $57 -; 0x846a2 + 64 bytes - -_UnnamedText_51e4b: ; 0x846e2 - db $0, "Safe at last!", $4f - db "Oh thank you!", $57 -; 0x846e2 + 29 bytes - -_UnnamedText_51e5a: ; 0x846ff - db $0, "Oh ho! I smell a", $4f - db "little rat!", $57 -; 0x846ff + 30 bytes - -_UnnamedText_51e5f: ; 0x8471d - db $0, "Lights", $4f - db "out!", $58 -; 0x8471d + 13 bytes - -_UnnamedText_51e64: ; 0x8472a - db $0, "You won't find my", $4f - db "BOSS by just", $55 - db "scurrying around!", $57 -; 0x8472a + 49 bytes - -_UnnamedText_51e73: ; 0x8475b - db $0, "Heheh!", $51 - db "You mistook me for", $4f - db "a SILPH worker?", $57 -; 0x8475b + 43 bytes - -_UnnamedText_51e78: ; 0x84786 - db $0, "I'm", $4f - db "done!", $58 -; 0x84786 + 10 bytes - -_UnnamedText_51e7d: ; 0x84790 - db $0, "Despite your age,", $4f - db "you are a skilled", $55 - db "trainer!", $57 -; 0x84790 + 46 bytes - -_UnnamedText_51e8c: ; 0x847be - db $0, "I am one of the 4", $4f - db "ROCKET BROTHERS!", $57 -; 0x847be + 36 bytes - -_UnnamedText_51e91: ; 0x847e2 - db $0, "Aack!", $4f - db "Brothers, I lost!", $58 -; 0x847e2 + 25 bytes - -_UnnamedText_51e96: ; 0x847fb - db $0, "Doesn't matter.", $4f - db "My brothers will", $55 - db "repay the favor!", $57 -; 0x847fb + 50 bytes - -_UnnamedText_51ea5: ; 0x8482d - db $0, "A child intruder?", $4f - db "That must be you!", $57 -; 0x8482d + 37 bytes - -_UnnamedText_51eaa: ; 0x84852 - db $0, "Fine!", $4f - db "I lost!", $58 -; 0x84852 + 15 bytes - -_UnnamedText_51eaf: ; 0x84861 - db $0, "Go on home", $4f - db "before my BOSS", $55 - db "gets ticked off!", $57 -; 0x84861 + 44 bytes - -_UnnamedText_51ebe: ; 0x8488d - db $0, $53, ": What", $4f - db "kept you ", $52, "?", $57 -; 0x8488d + 21 bytes - -_UnnamedText_51ec3: ; 0x848a2 - db $0, $53, ": Hahaha!", $4f - db "I thought you'd", $55 - db "turn up if I", $55 - db "waited here!", $51 - db "I guess TEAM", $4f - db "ROCKET slowed you", $55 - db "down! Not that I", $55 - db "care!", $51 - db "I saw you in", $4f - db "SAFFRON, so I", $55 - db "decided to see if", $55 - db "you got better!", $57 -; 0x848a2 + 168 bytes - -_UnnamedText_51ec8: ; 0x8494a - db $0, "Oh ho!", $4f - db "So, you are ready", $55 - db "for BOSS ROCKET!", $58 -; 0x8494a + 43 bytes - -_UnnamedText_51ecd: ; 0x84975 - db $0, $53, ": How can", $4f - db "I put this?", $51 - db "You're not good", $4f - db "enough to play", $55 - db "with us big boys!", $58 -; 0x84975 + 72 bytes - -_UnnamedText_51ed2: ; 0x849bd - db $0, "Well, ", $52, "!", $51 - db "I'm moving on up", $4f - db "and ahead!", $51 - db "By checking my", $4f - db "#DEX, I'm", $55 - db "starting to see", $55 - db "what's strong and", $55 - db "how they evolve!", $51 - db "I'm going to the", $4f - db "#MON LEAGUE", $55 - db "to boot out the", $55 - db "ELITE FOUR!", $51 - db "I'll become the", $4f - db "world's most", $55 - db "powerful trainer!", $51 - db $52, ", well", $4f - db "good luck to you!", $55 - db "Don't sweat it!", $55 - db "Smell ya!", $57 -; 0x849bd + 263 bytes - -_UnnamedText_565be: ; 0x84ac4 - db $0, "I wonder if SILPH", $4f - db "is finished...", $57 -; 0x84ac4 + 34 bytes - -_UnnamedText_565c3: ; 0x84ae6 - db $0, "Thanks for saving", $4f - db "us!", $57 -; 0x84ae6 + 23 bytes - -_UnnamedText_565e6: ; 0x84afd - db $0, "That's as far as", $4f - db "you'll go!", $57 -; 0x84afd + 27 bytes - -_UnnamedText_565eb: ; 0x84b18 - db $0, "Not", $4f - db "enough grit!", $58 -; 0x84b18 + 18 bytes - -_UnnamedText_565f0: ; 0x84b2a - db $0, "If you don't turn", $4f - db "back, I'll call", $55 - db "for backup!", $57 -; 0x84b2a + 45 bytes - -_UnnamedText_565f5: ; 0x84b57 - db $0, "You're causing us", $4f - db "problems!", $57 -; 0x84b57 + 28 bytes - -_UnnamedText_565fa: ; 0x84b73 - db $0, "Huh?", $4f - db "I lost?", $58 -; 0x84b73 + 14 bytes - -_UnnamedText_565ff: ; 0x84b81 - db $0, "So, what do you", $4f - db "think of SILPH", $55 - db "BUILDING's maze?", $57 -; 0x84b81 + 48 bytes - -_UnnamedText_56604: ; 0x84bb1 - db $0, "I am one of the 4", $4f - db "ROCKET BROTHERS!", $57 -; 0x84bb1 + 36 bytes - -_UnnamedText_56609: ; 0x84bd5 - db $0, "Whoo!", $4f - db "Oh brothers!", $58 -; 0x84bd5 + 20 bytes - -_UnnamedText_5660e: ; 0x84be9 - db $0, "I'll leave you up", $4f - db "to my brothers!", $57 -; 0x84be9 + 34 bytes - -_UnnamedText_5d8e5: ; 0x84c0b - db $0, "You look tired!", $4f - db "You should take a", $55 - db "quick nap!", $58 -; 0x84c0b + 46 bytes - -_UnnamedText_5d8ea: ; 0x84c39 - db $0, "Don't give up!", $57 -; 0x84c39 + 15 bytes - -_UnnamedText_5d8ef: ; 0x84c48 - db $0, "Thank you so", $4f - db "much!", $57 -; 0x84c48 + 20 bytes - -_UnnamedText_5d912: ; 0x84c5c - db $0, "Your #MON seem", $4f - db "to adore you, kid!", $57 -; 0x84c5c + 35 bytes - -_UnnamedText_5d917: ; 0x84c7f - db $0, "Ghaaah!", $58 -; 0x84c7f + 9 bytes - -_UnnamedText_5d91c: ; 0x84c88 - db $0, "If I had started", $4f - db "as a trainer at", $55 - db "your age...", $57 -; 0x84c88 + 46 bytes - -_UnnamedText_5d921: ; 0x84cb6 - db $0, "Your #MON have", $4f - db "weak points! I", $55 - db "can nail them!", $57 -; 0x84cb6 + 46 bytes - -_UnnamedText_5d926: ; 0x84ce4 - db $0, "You", $4f - db "hammered me!", $58 -; 0x84ce4 + 18 bytes - -_UnnamedText_5d92b: ; 0x84cf6 - db $0, "Exploiting weak", $4f - db "spots does work!", $55 - db "Think about", $55 - db "element types!", $57 -; 0x84cf6 + 61 bytes - -_UnnamedText_5d930: ; 0x84d33 - db $0, "I am one of the 4", $4f - db "ROCKET BROTHERS!", $57 -; 0x84d33 + 36 bytes - -_UnnamedText_5d935: ; 0x84d57 - db $0, "Warg!", $4f - db "Brothers, I lost!", $58 -; 0x84d57 + 25 bytes - -_UnnamedText_5d93a: ; 0x84d70 - db $0, "My brothers will", $4f - db "avenge me!", $57 -; 0x84d70 + 29 bytes - -_UnnamedText_5a1d3: ; 0x84d8d - db $0, "Waaaaa!", $55 - db "I'm scared!", $57 -; 0x84d8d + 20 bytes - -_UnnamedText_5a1d8: ; 0x84da1 - db $0, "Please keep quiet", $4f - db "about my crying!", $57 -; 0x84da1 + 36 bytes - -_UnnamedText_5a1dd: ; 0x84dc5 - db $0, "Welcome to the", $4f - db "10F! So good of", $55 - db "you to join me!", $57 -; 0x84dc5 + 48 bytes - -_UnnamedText_5a1e2: ; 0x84df5 - db $0, "I'm", $4f - db "stunned!", $58 -; 0x84df5 + 13 bytes - -_UnnamedText_5a1e7: ; 0x84e02 - db $0, "Nice try, but the", $4f - db "boardroom is up", $55 - db "one more floor!", $57 -; 0x84e02 + 51 bytes - -_UnnamedText_5a1ec: ; 0x84e35 - db $0, "Enough of your", $4f - db "silly games!", $57 -; 0x84e35 + 29 bytes - -_UnnamedText_5a1f1: ; 0x84e52 - db $0, "No", $4f - db "continues left!", $58 -; 0x84e52 + 20 bytes - -_UnnamedText_5a1f6: ; 0x84e66 - db $0, "Are you satisfied", $4f - db "with beating me?", $55 - db "Then go on home!", $57 -; 0x84e66 + 53 bytes - -_SilphCoPresidentText: ; 0x84e9b - db $0, "PRESIDENT: Thank", $4f - db "you for saving", $55 - db "SILPH!", $51 - db "I will never", $4f - db "forget you saved", $55 - db "us in our moment", $55 - db "of peril!", $51 - db "I have to thank", $4f - db "you in some way!", $51 - db "Because I am rich,", $4f - db "I can give you", $55 - db "anything!", $51 - db "Here, maybe this", $4f - db "will do!", $58 -; 0x84e9b + 200 bytes - -_ReceivedSilphCoMasterBallText: ; 0x84f63 - db $0, $52, " got a", $4f - db "@" - TX_RAM $cf4b - db $0, "!@@" -; 0x84f74 - -_UnnamedText_6231c: ; 0x84f74 - db $0, "PRESIDENT: You", $4f - db "can't buy that", $55 - db "anywhere!", $51 - db "It's our secret", $4f - db "prototype MASTER", $55 - db "BALL!", $51 - db "It will catch any", $4f - db "#MON without", $55 - db "fail!", $51 - db "You should be", $4f - db "quiet about using", $55 - db "it, though.", $57 -; 0x84f74 + 159 bytes - -_SilphCoMasterBallNoRoomText: ; 0x85013 - db $0, "You have no", $4f - db "room for this.", $57 -; 0x85013 + 28 bytes - -_SilphCo11Text2: ; 0x8502f - db $0, "SECRETARY: Thank", $4f - db "you for rescuing", $55 - db "all of us!", $51 - db "We admire your", $4f - db "courage.", $57 - -_SilphCo11Text3: ; 0x85075 - db $0, "Ah ", $52, "!", $4f - db "So we meet again!", $51 - db "The PRESIDENT and", $4f - db "I are discussing", $55 - db "a vital business", $55 - db "proposition.", $51 - db "Keep your nose", $4f - db "out of grown-up", $55 - db "matters...", $51 - db "Or, experience a", $4f - db "world of pain!", $57 - -_UnnamedText_62330: ; 0x85119 - db $0, "Arrgh!!", $4f - db "I lost again!?", $58 -; 0x85119 + 24 bytes - -_UnnamedText_62335: ; 0x85131 - db $0, "Blast it all!", $4f - db "You ruined our", $55 - db "plans for SILPH!", $51 - db "But, TEAM ROCKET", $4f - db "will never fall!", $51 - db $52, "! Never", $4f - db "forget that all", $55 - db "#MON exist", $55 - db "for TEAM ROCKET!", $51 - db "I must go, but I", $4f - db "shall return!", $57 -; 0x85131 + 165 bytes - -_UnnamedText_62344: ; 0x851d6 - db $0, "Stop right there!", $4f - db "Don't you move!", $57 -; 0x851d6 + 34 bytes - -_UnnamedText_62349: ; 0x851f8 - db $0, "Don't...", $4f - db "Please!", $58 -; 0x851f8 + 17 bytes - -_UnnamedText_6234e: ; 0x85209 - db $0, "So, you want to", $4f - db "see my BOSS?", $57 -; 0x85209 + 30 bytes - -_UnnamedText_6235d: ; 0x85227 - db $0, "Halt! Do you have", $4f - db "an appointment", $55 - db "with my BOSS?", $57 -; 0x85227 + 48 bytes - -_UnnamedText_62362: ; 0x85257 - db $0, "Gaah!", $4f - db "Demolished!", $58 -; 0x85257 + 19 bytes - -_UnnamedText_62367: ; 0x8526a - db $0, "Watch your step,", $4f - db "my BOSS likes his", $55 - db "#MON tough!", $57 -; 0x8526a + 48 bytes - -_UnnamedText_6237b: ; 0x8529a - db $0, "The monitor has", $4f - db "#MON on it!", $57 -; 0x8529a + 29 bytes - -_UnnamedText_5206e: ; 0x852b7 - db $0, "I can't get out!", $4f - db "This old place is", $55 - db "one big puzzle!", $57 -; 0x852b7 + 51 bytes - -_UnnamedText_52073: ; 0x852ea - db $0, "Oh no!", $4f - db "My bag of loot!", $58 -; 0x852ea + 24 bytes - -_UnnamedText_52078: ; 0x85302 - db $0, "Switches open and", $4f - db "close alternating", $55 - db "sets of doors!", $57 -; 0x85302 + 52 bytes - -_Mansion2Text3: ; 0x85336 - db $0, "Diary: July 5", $4f - db "Guyana,", $55 - db "South America", $51 - db "A new #MON was", $4f - db "discovered deep", $55 - db "in the jungle.", $57 - -_Mansion2Text4: ; 0x85389 - db $0, "Diary: July 10", $4f - db "We christened the", $55 - db "newly discovered", $55 - db "#MON, MEW.", $57 - -_UnnamedText_520c2: ; 0x853c7 - db $0, "A secret switch!", $51 - db "Press it?", $57 -; 0x853c7 + 28 bytes - -_UnnamedText_520c7: ; 0x853e3 - db $0, "Who wouldn't?", $58 -; 0x853e3 + 14 bytes - -_UnnamedText_520cc: ; 0x853f1 - db $0, "Not quite yet!", $57 -; 0x853f1 + 16 bytes - -_UnnamedText_522c3: ; 0x85401 - db $0, "This place is", $4f - db "like, huge!", $57 -; 0x85401 + 27 bytes - -_UnnamedText_522c8: ; 0x8541c - db $0, "Ayah!", $58 -; 0x8541c + 7 bytes - -_UnnamedText_522cd: ; 0x85423 - db $0, "I wonder where", $4f - db "my partner went.", $57 -; 0x85423 + 33 bytes - -_UnnamedText_522d2: ; 0x85444 - db $0, "My mentor once", $4f - db "lived here.", $57 -; 0x85444 + 28 bytes - -_UnnamedText_522d7: ; 0x85460 - db $0, "Whew!", $4f - db "Overwhelming!", $58 -; 0x85460 + 21 bytes - -_UnnamedText_522dc: ; 0x85475 - db $0, "So, you're stuck?", $4f - db "Try jumping off", $55 - db "over there!", $57 -; 0x85475 + 46 bytes - -_Mansion3Text5: ; 0x854a3 - db $0, "Diary: Feb. 6", $4f - db "MEW gave birth.", $51 - db "We named the", $4f - db "newborn MEWTWO.", $57 - -_UnnamedText_52475: ; 0x854df - db $0, "Uh-oh. Where am", $4f - db "I now?", $57 -; 0x854df + 24 bytes - -_UnnamedText_5247a: ; 0x854f7 - db $0, "Awooh!", $58 -; 0x854f7 + 8 bytes - -_UnnamedText_5247f: ; 0x854ff - db $0, "You can find stuff", $4f - db "lying around.", $57 -; 0x854ff + 34 bytes - -_UnnamedText_52484: ; 0x85521 - db $0, "This place is", $4f - db "ideal for a lab.", $57 -; 0x85521 + 32 bytes - -_UnnamedText_52489: ; 0x85541 - db $0, "What", $4f - db "was that for?", $58 -; 0x85541 + 20 bytes - -_UnnamedText_5248e: ; 0x85555 - db $0, "I like it here!", $4f - db "It's conducive to", $55 - db "my studies!", $57 -; 0x85555 + 46 bytes - -_Mansion4Text7: ; 0x85583 - db $0, "Diary; Sept. 1", $4f - db "MEWTWO is far too", $55 - db "powerful.", $51 - db "We have failed to", $4f - db "curb its vicious", $55 - db "tendencies...", $57 - -_SafariZoneEastText5: ; 0x855e0 - db $0, "REST HOUSE", $57 - -_SafariZoneEastText6: ; 0x855ec - db $0, "TRAINER TIPS", $51 - db "The remaining time", $4f - db "declines only", $55 - db "while you walk!", $57 - -_SafariZoneEastText7: ; 0x8562b - db $0, "CENTER AREA", $4f - db "NORTH: AREA 2", $57 - -_SafariZoneNorthText3: ; 0x85646 - db $0, "REST HOUSE", $57 - -_SafariZoneNorthText4: ; 0x85652 - db $0, "TRAINER TIPS", $51 - db "The SECRET HOUSE", $4f - db "is still ahead!", $57 - -_SafariZoneNorthText5: ; 0x85681 - db $0, "AREA 2", $57 - -_SafariZoneNorthText6: ; 0x85689 - db $0, "TRAINER TIPS", $51 - db "#MON hide in", $4f - db "tall grass!", $51 - db "Zigzag through", $4f - db "grassy areas to", $55 - db "flush them out.", $57 - -_SafariZoneNorthText7: ; 0x856df - db $0, "TRAINER TIPS", $51 - db "Win a free HM for", $4f - db "finding the", $55 - db "SECRET HOUSE!", $57 - -_SafariZoneWestText5: ; 0x85719 - db $0, "REST HOUSE", $57 - -_SafariZoneWestText6: ; 0x85725 - db $0, "REQUEST NOTICE", $51 - db "Please find the", $4f - db "SAFARI WARDEN's", $55 - db "lost GOLD TEETH.", $55 - db "They're around", $55 - db "here somewhere.", $51 - db "Reward offered!", $4f - db "Contact: WARDEN", $57 - -_SafariZoneWestText7: ; 0x857a3 - db $0, "TRAINER TIPS", $51 - db "Zone Exploration", $4f - db "Campaign!", $51 - db "The Search for", $4f - db "the SECRET HOUSE!", $57 - -_SafariZoneWestText8: ; 0x857ed - db $0, "AREA 3", $4f - db "EAST: CENTER AREA", $57 - -_SafariZoneCenterText2: ; 0x85807 - db $0, "REST HOUSE", $57 - -_SafariZoneCenterText3: ; 0x85813 - db $0, "TRAINER TIPS", $51 - db "Press the START", $4f - db "Button to check", $55 - db "remaining time!", $57 - -_SafariZoneRestHouse1Text1: ; 0x85851 - db $0, "SARA: Where did", $4f - db "my boy friend,", $55 - db "ERIK, go?", $57 - -_SafariZoneRestHouse1Text2: ; 0x8587b - db $0, "I'm catching", $4f - db "#MON to take", $55 - db "home as gifts!", $57 - -_UnnamedText_4a350: ; 0x858a4 - db $0, "Ah! Finally!", $51 - db "You're the first", $4f - db "person to reach", $55 - db "the SECRET HOUSE!", $51 - db "I was getting", $4f - db "worried that no", $55 - db "one would win our", $55 - db "campaign prize.", $51 - db "Congratulations!", $4f - db "You have won!", $58 -; 0x858a4 + 159 bytes - -_UnnamedText_4a355: ; 0x85943 - db $0, $52, " received", $4f - db "@" - TX_RAM $cf4b - db $0, "!@@" -; 0x85957 - -_UnnamedText_4a35b: ; 0x85957 - db $0, "HM03 is SURF!", $51 - db "#MON will be", $4f - db "able to ferry you", $55 - db "across water!", $51 - db "And, this HM isn't", $4f - db "disposable! You", $55 - db "can use it over", $55 - db "and over!", $51 - db "You're super lucky", $4f - db "for winning this", $55 - db "fabulous prize!", $57 -; 0x85957 + 171 bytes - -_UnnamedText_4a360: ; 0x85a02 - db $0, "You don't have", $4f - db "room for this", $55 - db "fabulous prize!", $57 -; 0x85a02 + 45 bytes - -_SafariZoneRestHouse2Text1: ; 0x85a2f - db $0, "Tossing ROCKs at", $4f - db "#MON might", $55 - db "make them run,", $55 - db "but they'll be", $55 - db "easier to catch.", $57 - -_SafariZoneRestHouse2Text2: ; 0x85a7a - db $0, "Using BAIT will", $4f - db "make #MON", $55 - db "easier to catch.", $57 - -_SafariZoneRestHouse2Text3: ; 0x85aa6 - db $0, "I hiked a lot, but", $4f - db "I didn't see any", $55 - db "#MON I wanted.", $57 - -_SafariZoneRestHouse3Text1: ; 0x85ad9 - db $0, "How many did you", $4f - db "catch? I'm bushed", $55 - db "from the work!", $57 - -_SafariZoneRestHouse3Text2: ; 0x85b0b - db $0, "I caught a", $4f - db "CHANSEY!", $51 - db "That makes this", $4f - db "all worthwhile!", $57 - -_SafariZoneRestHouse3Text3: ; 0x85b40 - db $0, "Whew! I'm tired", $4f - db "from all the fun!", $57 - -_SafariZoneRestHouse4Text1: ; 0x85b62 - db $0, "You can keep any", $4f - db "item you find on", $55 - db "the ground here.", $51 - db "But, you'll run", $4f - db "out of time if", $55 - db "you try for all", $55 - db "of them at once!", $57 - -_SafariZoneRestHouse4Text2: ; 0x85bd5 - db $0, "Go to the deepest", $4f - db "part of the", $55 - db "SAFARI ZONE. You", $55 - db "will win a prize!", $57 - -_SafariZoneRestHouse4Text3: ; 0x85c17 - db $0, "My EEVEE evolved", $4f - db "into FLAREON!", $51 - db "But, a friend's", $4f - db "EEVEE turned into", $55 - db "a VAPOREON!", $55 - db "I wonder why?", $57 - -_UnnamedText_45f26: ; 0x85c72 - db $0, "Mew!@@" -; 0x85c79 - -_UnnamedText_5da9a: ; 0x85c79 - db $0, "I wonder if you", $4f - db "are good enough", $55 - db "for me!", $57 -; 0x85c79 + 41 bytes - -_UnnamedText_5da9f: ; 0x85ca2 - db $0, "I", $4f - db "lost out!", $58 -; 0x85ca2 + 13 bytes - -_UnnamedText_5daa4: ; 0x85caf - db $0, "I never wanted to", $4f - db "lose to anybody!", $57 -; 0x85caf + 36 bytes - -_UnnamedText_5daa9: ; 0x85cd3 - db $0, "I can see you're", $4f - db "good! Let me see", $55 - db "exactly how good!", $57 -; 0x85cd3 + 52 bytes - -_UnnamedText_5daae: ; 0x85d07 - db $0, "I", $4f - db "had a chance...", $58 -; 0x85d07 + 19 bytes - -_UnnamedText_5dab3: ; 0x85d1a - db $0, "I concede, you're", $4f - db "better than me!", $57 -; 0x85d1a + 34 bytes - -_UnnamedText_5a3ae: ; 0x85d3c - db $0, "Ah! I heard about", $4f - db "you ", $52, "!", $51 - db "I lead the ELITE", $4f - db "FOUR! You can", $55 - db "call me LANCE the", $55 - db "dragon trainer!", $51 - db "You know that", $4f - db "dragons are", $55 - db "mythical #MON!", $51 - db "They're hard to", $4f - db "catch and raise,", $55 - db "but their powers", $55 - db "are superior!", $51 - db "They're virtually", $4f - db "indestructible!", $51 - db "Well, are you", $4f - db "ready to lose?", $51 - db "Your LEAGUE", $4f - db "challenge ends", $55 - db "with me, ", $52, "!", $57 -; 0x85d3c + 296 bytes - -_UnnamedText_5a3b3: ; 0x85e64 - db $0, "That's it!", $51 - db "I hate to admit", $4f - db "it, but you are a", $55 - db "#MON master!", $58 -; 0x85e64 + 58 bytes - -_UnnamedText_5a3b8: ; 0x85e9e - db $0, "I still can't", $4f - db "believe my", $55 - db "dragons lost to", $55 - db "you, ", $52, "!", $51 - db "You are now the", $4f - db "#MON LEAGUE", $55 - db "champion!", $51 - db "...Or, you would", $4f - db "have been, but", $55 - db "you have one more", $55 - db "challenge ahead.", $51 - db "You have to face", $4f - db "another trainer!", $55 - db "His name is...", $51 - db $53, "!", $4f - db "He beat the ELITE", $55 - db "FOUR before you!", $51 - db "He is the real", $4f - db "#MON LEAGUE", $55 - db "champion!@@" -; 0x85e9e + 279 bytes = 0x85fb5 - -_HallofFameRoomText1: ; 0x85fb5 - db $0, "OAK: Er-hem!", $4f - db "Congratulations", $55 - db $52, "!", $51 - db "This floor is the", $4f - db "#MON HALL OF", $55 - db "FAME!", $51 - db "#MON LEAGUE", $4f - db "champions are", $55 - db "honored for their", $55 - db "exploits here!", $51 - db "Their #MON are", $4f - db "also recorded in", $55 - db "the HALL OF FAME!", $51 - db $52, "! You have", $4f - db "endeavored hard", $55 - db "to become the new", $55 - db "LEAGUE champion!", $51 - db "Congratulations,", $4f - db $52, ", you and", $55 - db "your #MON are", $55 - db "HALL OF FAMERs!", $57 - -_UnnamedText_760f4: ; 0x860e1 - db $0, $53, ": Hey!", $51 - db "I was looking", $4f - db "forward to seeing", $55 - db "you, ", $52, "!", $51 - db "My rival should", $4f - db "be strong to keep", $55 - db "me sharp!", $51 - db "While working on", $4f - db "#DEX, I looked", $55 - db "all over for", $55 - db "powerful #MON!", $51 - db "Not only that, I", $4f - db "assembled teams", $55 - db "that would beat", $55 - db "any #MON type!", $51 - db "And now!", $51 - db "I'm the #MON", $4f - db "LEAGUE champion!", $51 - db $52, "! Do you", $4f - db "know what that", $55 - db "means?", $51 - db "I'll tell you!", $51 - db "I am the most", $4f - db "powerful trainer", $55 - db "in the world!", $57 -; 0x860e1 + 346 bytes - -_UnnamedText_760f9: ; 0x8623b - db $0, "NO!", $4f - db "That can't be!", $55 - db "You beat my best!", $51 - db "After all that", $4f - db "work to become", $55 - db "LEAGUE champ?", $51 - db "My reign is over", $4f - db "already?", $55 - db "It's not fair!", $58 -; 0x8623b + 121 bytes - -_UnnamedText_760fe: ; 0x862b4 - db $0, "Hahaha!", $4f - db "I won, I won!", $51 - db "I'm too good for", $4f - db "you, ", $52, "!", $51 - db "You did well to", $4f - db "even reach me,", $55 - db $53, ", the", $55 - db "#MON genius!", $51 - db "Nice try, loser!", $4f - db "Hahaha!", $58 -; 0x862b4 + 123 bytes - -_UnnamedText_76103: ; 0x8632f - db $0, "Why?", $4f - db "Why did I lose?", $51 - db "I never made any", $4f - db "mistakes raising", $55 - db "my #MON...", $51 - db "Darn it! You're", $4f - db "the new #MON", $55 - db "LEAGUE champion!", $51 - db "Although I don't", $4f - db "like to admit it.", $57 -; 0x8632f + 146 bytes - -_GaryText2: ; 0x863c1 - db $0, "OAK: ", $52, "!", $57 - -_UnnamedText_76120: ; 0x863ca - db $0, "OAK: So, you won!", $4f - db "Congratulations!", $55 - db "You're the new", $55 - db "#MON LEAGUE", $55 - db "champion!", $51 - db "You've grown up so", $4f - db "much since you", $55 - db "first left with", $55 - db "@" - TX_RAM $cd6d - db $0, "!", $51 - db $52, ", you have", $4f - db "come of age!", $57 -; 0xa86463 - -_UnnamedText_76125: ; 0x86463 - db $0, "OAK: ", $53, "! I'm", $4f - db "disappointed!", $51 - db "I came when I", $4f - db "heard you beat", $55 - db "the ELITE FOUR!", $51 - db "But, when I got", $4f - db "here, you had", $55 - db "already lost!", $51 - db $53, "! Do you", $4f - db "understand why", $55 - db "you lost?", $51 - db "You have forgotten", $4f - db "to treat your", $55 - db "#MON with", $55 - db "trust and love!", $51 - db "Without them, you", $4f - db "will never become", $55 - db "a champ again!", $57 -; 0x86463 + 260 bytes - -_UnnamedText_7612a: ; 0x86567 - db $0, "OAK: ", $52, "!", $51 - db "You understand", $4f - db "that your victory", $55 - db "was not just your", $55 - db "own doing!", $51 - db "The bond you share", $4f - db "with your #MON", $55 - db "is marvelous!", $51 - db $52, "!", $4f - db "Come with me!", $57 -; 0x86567 + 136 bytes - -_UnnamedText_7626c: ; 0x865ef - db $0, "Welcome to", $4f - db "#MON LEAGUE!", $51 - db "I am LORELEI of", $4f - db "the ELITE FOUR!", $51 - db "No one can best", $4f - db "me when it comes", $55 - db "to icy #MON!", $51 - db "Freezing moves", $4f - db "are powerful!", $51 - db "Your #MON will", $4f - db "be at my mercy", $55 - db "when they are", $55 - db "frozen solid!", $51 - db "Hahaha!", $4f - db "Are you ready?", $57 -; 0x865ef + 213 bytes - -_UnnamedText_76271: ; 0x866c4 - db $0, "How", $4f - db "dare you!", $58 -; 0x866c4 + 15 bytes - -_UnnamedText_76276: ; 0x866d3 - db $0, "You're better", $4f - db "than I thought!", $55 - db "Go on ahead!", $51 - db "You only got a", $4f - db "taste of #MON", $55 - db "LEAGUE power!", $57 -; 0x866d3 + 86 bytes - -_UnnamedText_7627b: ; 0x86729 - db $0, "Someone's voice:", $4f - db "Don't run away!", $57 -; 0x86729 + 32 bytes - -_UnnamedText_763c3: ; 0x86749 - db $0, "I am BRUNO of", $4f - db "the ELITE FOUR!", $51 - db "Through rigorous", $4f - db "training, people", $55 - db "and #MON can", $55 - db "become stronger!", $51 - db "I've weight", $4f - db "trained with", $55 - db "my #MON!", $51 - db $52, "!", $51 - db "We will grind you", $4f - db "down with our", $55 - db "superior power!", $51 - db "Hoo hah!", $57 -; 0x86749 + 188 bytes - -_UnnamedText_763c8: ; 0x86805 - db $0, "Why?", $4f - db "How could I lose?", $58 -; 0x86805 + 24 bytes - -_UnnamedText_763cd: ; 0x8681d - db $0, "My job is done!", $4f - db "Go face your next", $55 - db "challenge!", $57 -; 0x8681d + 46 bytes - -_UnnamedText_763d2: ; 0x8684b - db $0, "Someone's voice:", $4f - db "Don't run away!", $57 -; 0x8684b + 32 bytes - -_UnnamedText_76520: ; 0x8686b - db $0, "I am AGATHA of", $4f - db "the ELITE FOUR!", $51 - db "OAK's taken a lot", $4f - db "of interest in", $55 - db "you, child!", $51 - db "That old duff was", $4f - db "once tough and", $55 - db "handsome! That", $55 - db "was decades ago!", $51 - db "Now he just wants", $4f - db "to fiddle with", $55 - db "his #DEX! He's", $55 - db "wrong! #MON", $55 - db "are for fighting!", $51 - db $52, "! I'll show", $4f - db "you how a real", $55 - db "trainer fights!", $57 -; 0x8686b + 261 bytes - -_UnnamedText_76525: ; 0x86970 - db $0, "Oh ho!", $4f - db "You're something", $55 - db "special, child!", $58 -; 0x86970 + 40 bytes - -_UnnamedText_7652a: ; 0x86998 - db $0, "You win! I see", $4f - db "what the old duff", $55 - db "sees in you now!", $51 - db "I have nothing", $4f - db "else to say! Run", $55 - db "along now, child!", $57 -; 0x86998 + 101 bytes - -_UnnamedText_7652f: ; 0x869fd - db $0, "Someone's voice:", $4f - db "Don't run away!", $57 -; 0x869fd + 32 bytes - -_UnnamedText_460c5: ; 0x86a1d - db $0, "Hikers leave twigs", $4f - db "as trail markers.", $57 -; 0x86a1d + 38 bytes - -_UnnamedText_460ca: ; 0x86a43 - db $0, "Ohhh!", $4f - db "I did my best!", $58 -; 0x86a43 + 22 bytes - -_UnnamedText_460cf: ; 0x86a59 - db $0, "I want to go ", $4f - db "home!", $57 -; 0x86a59 + 21 bytes - -_UnnamedText_460d4: ; 0x86a6e - db $0, "Hahaha! Can you", $4f - db "beat my power?", $57 -; 0x86a6e + 32 bytes - -_UnnamedText_460d9: ; 0x86a8e - db $0, "Oops!", $4f - db "Out-muscled!", $58 -; 0x86a8e + 20 bytes - -_UnnamedText_460de: ; 0x86aa2 - db $0, "I go for power", $4f - db "because I hate", $55 - db "thinking!", $57 -; 0x86aa2 + 41 bytes - -_UnnamedText_460e3: ; 0x86acb - db $0, "You have a", $4f - db "#DEX?", $55 - db "I want one too!", $57 -; 0x86acb + 34 bytes - -_UnnamedText_460e8: ; 0x86aed - db $0, "Shoot!", $4f - db "I'm so jealous!", $58 -; 0x86aed + 23 bytes - -_UnnamedText_460ed: ; 0x86b04 - db $0, "When you finish", $4f - db "your #DEX, can", $55 - db "I have it?", $57 -; 0x86b04 + 43 bytes - -_UnnamedText_460f2: ; 0x86b2f - db $0, "Do you know about", $4f - db "costume players?", $57 -; 0x86b2f + 36 bytes - -_UnnamedText_460f7: ; 0x86b53 - db $0, "Well,", $4f - db "that's that.", $58 -; 0x86b53 + 19 bytes - -_UnnamedText_460fc: ; 0x86b66 - db $0, "Costume players", $4f - db "dress up as", $55 - db "#MON for fun.", $57 -; 0x86b66 + 43 bytes - -_UnnamedText_46101: ; 0x86b91 - db $0, "My #MON", $4f - db "techniques will", $55 - db "leave you crying!", $57 -; 0x86b91 + 43 bytes - -_UnnamedText_46106: ; 0x86bbc - db $0, "I give!", $4f - db "You're a better", $55 - db "technician!", $58 -; 0x86bbc + 36 bytes - -_UnnamedText_4610b: ; 0x86be0 - db $0, "In mountains,", $4f - db "you'll often find", $55 - db "rock-type #MON.", $57 -; 0x86be0 + 48 bytes - -_UnnamedText_46110: ; 0x86c10 - db $0, "I don't often", $4f - db "come here, but I", $55 - db "will fight you.", $57 -; 0x86c10 + 47 bytes - -_UnnamedText_46115: ; 0x86c3f - db $0, "Oh!", $4f - db "I lost!", $58 -; 0x86c3f + 13 bytes - -_UnnamedText_4611a: ; 0x86c4c - db $0, "I like tiny", $4f - db "#MON, big ones", $55 - db "are too scary!", $57 -; 0x86c4c + 43 bytes - -_UnnamedText_4611f: ; 0x86c77 - db $0, "Hit me with your", $4f - db "best shot!", $57 -; 0x86c77 + 29 bytes - -_UnnamedText_46124: ; 0x86c94 - db $0, "Fired", $4f - db "away!", $58 -; 0x86c94 + 13 bytes - -SECTION "bank22",DATA,BANK[$22] - -_UnnamedText_46129: ; 0x88000 - db $0, "I'll raise my", $4f - db "#MON to beat", $55 - db "yours, kid!", $57 -; 0x88000 + 39 bytes - -_UnnamedText_4612e: ; 0x88027 - db $0, "I draw #MON", $4f - db "when I'm home.", $57 -; 0x88027 + 27 bytes - -_UnnamedText_46133: ; 0x88042 - db $0, "Whew!", $4f - db "I'm exhausted!", $58 -; 0x88042 + 21 bytes - -_UnnamedText_46138: ; 0x88057 - db $0, "I'm an artist,", $4f - db "not a fighter.", $57 -; 0x88057 + 30 bytes - -_UnnamedText_468a2: ; 0x88075 - db $0, "Gyaoo!@@" - -_SeafoamIslands5Text4: ; 0x8807e - db $0, "Boulders might", $4f - db "change the flow", $55 - db "of water!", $57 - -_SeafoamIslands5Text5: ; 0x880a8 - db $0, "DANGER", $4f - db "Fast current!", $57 - -_AIBattleWithdrawText: - db 1 - dw $D04A - db 0," with-",$4F,"drew @",1 - dw $CFDA - db 0,"!",$58 -_AIBattleUseItemText: - db 1 - dw $D04A - db 0,$4F,"used @",1 - dw $CD6D - db 0,$55,"on @",1 - dw $CFDA - db 0,"!",$58 - -_UnnamedText_4160c: ; 0x880ef - TX_RAM $cf4b - db $0, " went", $4f - db "to @" - TX_RAM $d887 - db $0, ".", $57 -; 0x88103 - -_UnnamedText_41623: ; 0x88103 - db $0, "For ", $52, "'s", $4f - db "@" - TX_RAM $cf4b - db $0, ",", $57 -; 0x88112 - -_UnnamedText_41628: ; 0x88112 - TX_RAM $d887 - db $0, " sends", $4f - db "@" - TX_RAM $cd6d - db $0, ".", $57 -; 0x88124 - -_UnnamedText_41642: ; 0x88124 - TX_RAM $d887 - db $0, " waves", $4f - db "farewell as", $57 - -_UnnamedText_41647: ; 0x8813b - TX_RAM $cd6d - db $0, " is", $4f - db "transferred.", $57 -; 0x8813b + 21 bytes - -_UnnamedText_41655: ; 0x88150 - db $0, "Take good care of", $4f - db "@" -; 0x88150 + 20 bytes - -UnnamedText_88164: ; 0x88164 - TX_RAM $cd6d - db $0, ".", $57 -; 0x8816a - -_UnnamedText_4166c: ; 0x8816a - TX_RAM $d887 - db $0, " will", $4f - db "trade @" -; 0x8816a + 17 bytes - -UnnamedText_8817b: ; 0x8817b - TX_RAM $cd6d - db $0, $57 - -_UnnamedText_41671: ; 0x88180 - db $0, "for ", $52, "'s", $4f - db "@" - TX_RAM $cf4b - db $0, ".", $57 -; 0x8818f - -_UnnamedText_37390: ; 0x8818f - db $0, "A slot machine!", $4f - db "Want to play?", $57 -; 0x8818f + 31 bytes - -_UnnamedText_37467: ; 0x881ae - db $0, "Darn!", $4f - db "Ran out of coins!", $57 -; 0x881ae + 25 bytes - -_UnnamedText_3746c: ; 0x881c7 - db $0, "Bet how many", $4f - db "coins?", $57 -; 0x881c7 + 21 bytes - -_UnnamedText_37471: ; 0x881dc - db $0, "Start!", $57 -; 0x881dc + 8 bytes - -_UnnamedText_37476: ; 0x881e4 - db $0, "Not enough", $4f - db "coins!", $58 -; 0x881e4 + 19 bytes - -_UnnamedText_3747b: ; 0x881f7 - db $0, "One more ", $4f - db "go?", $57 -; 0x881f7 + 15 bytes - -_UnnamedText_37673: ; 0x88206 - db $0, " lined up!", $4f - db "Scored @" -; 0x88206 + 20 bytes - -UnnamedText_8821a: ; 0x8821a - TX_RAM $cf4b - db $0, " coins!", $57 -; 0x88226 - -_UnnamedText_3769d: ; 0x88226 - db $0, "Not this time!", $58 -; 0x88226 + 16 bytes - -UnnamedText_88236: ; 0x88236 - db $0, "Yeah!@@" -; 0x8823e - -_UnnamedText_703fa: ; 0x8823e - db $0, "#DEX Seen:@" -; 0x8823e + 14 bytes - -UnnamedText_8824c: ; 0x8824c - TX_NUM $cc5b, 1, 3 - db $0, $4f - db " Owned:@" - TX_NUM $cc5c, 1, 3 - db $50 -; 0x88267 - -_UnnamedText_703ff: ; 0x88267 - db $0, "#DEX Rating", $6d, $57 -; 0x88267 + 14 bytes - -_UnnamedText_62453: ; 0x88275 - TX_RAM $cf5f - db $0, $4f - db "#MON GYM", $55 - db "LEADER: @" -; 0x88275 + 23 bytes - -UnnamedText_8828c: ; 0x8828c - TX_RAM $cf70 - db $0, $51 - db "WINNING TRAINERS:", $4f - db $53, $57 -; 0x882a5 - -_UnnamedText_62458: ; 0x882a5 - TX_RAM $cf5f - db $0, $4f - db "#MON GYM", $55 - db "LEADER: @" -; 0x882a5 + 23 bytes - -UnnamedText_882bc: ; 0x882bc - TX_RAM $cf70 - db $0, $51 - db "WINNING TRAINERS:", $4f - db $53, $55 - db $52, $57 -; 0x882d7 - -_UnnamedText_624a3: ; 0x882d7 - db $0, "#MON CENTERs", $4f - db "heal your tired,", $55 - db "hurt or fainted", $55 - db "#MON!", $57 -; 0x882d7 + 53 bytes - -_UnnamedText_624a8: ; 0x8830c - db $0, "Yawn!", $51 - db "When JIGGLYPUFF", $4f - db "sings, #MON", $55 - db "get drowsy...", $51 - db "...Me too...", $4f - db "Snore...", $57 -; 0x8830c + 71 bytes - -_UnnamedText_624ad: ; 0x88353 - db $0, "BILL has lots of", $4f - db "#MON!", $51 - db "He collects rare", $4f - db "ones too!", $57 -; 0x88353 + 51 bytes - -_UnnamedText_624b2: ; 0x88386 - db $0, "CUBONEs wear", $4f - db "skulls, right?", $51 - db "People will pay a", $4f - db "lot for one!", $57 -; 0x88386 + 60 bytes - -_UnnamedText_624b7: ; 0x883c2 - db $0, "If you have too", $4f - db "many #MON, you", $55 - db "should store them", $55 - db "via PC!", $57 -; 0x883c2 + 58 bytes - -_UnnamedText_624bc: ; 0x883fc - db $0, "I heard that", $4f - db "GHOSTs haunt", $55 - db "LAVENDER TOWN!", $57 -; 0x883fc + 42 bytes - -_UnnamedText_624c1: ; 0x88426 - db $0, "I wish I could", $4f - db "catch #MON.", $57 -; 0x88426 + 28 bytes - -_UnnamedText_624c6: ; 0x88442 - db $0, "I'm tired from", $4f - db "all the fun...", $57 -; 0x88442 + 30 bytes - -_UnnamedText_624cb: ; 0x88460 - db $0, "SILPH's manager", $4f - db "is hiding in the", $55 - db "SAFARI ZONE.", $57 -; 0x88460 + 46 bytes - -_UnnamedText_624d0: ; 0x8848e - db $0, "It is true that a", $4f - db "higher level", $55 - db "#MON will be", $55 - db "more powerful...", $51 - db "But, all #MON", $4f - db "will have weak", $55 - db "points against", $55 - db "specific types.", $51 - db "So, there is no", $4f - db "universally", $55 - db "strong #MON.", $57 -; 0x8848e + 163 bytes - -_UnnamedText_624d5: ; 0x88531 - db $0, "If I had a BIKE,", $4f - db "I would go to", $55 - db "CYCLING ROAD!", $57 -; 0x88531 + 46 bytes - -_UnnamedText_624da: ; 0x8855f - db $0, "If you're studying ", $4f - db "#MON, visit", $55 - db "the SAFARI ZONE.", $51 - db "It has all sorts", $4f - db "of rare #MON.", $57 -; 0x8855f + 80 bytes - -_UnnamedText_624df: ; 0x885af - db $0, "#MON can still", $4f - db "learn techniques", $55 - db "after canceling", $55 - db "evolution.", $51 - db "Evolution can wait", $4f - db "until new moves", $55 - db "have been learned.", $57 -; 0x885af + 114 bytes - -_UnnamedText_624f8: ; 0x88621 - db $0, "It would be great", $4f - db "if the ELITE FOUR", $55 - db "came and stomped", $55 - db "TEAM ROCKET!", $57 -; 0x88621 + 67 bytes - -_UnnamedText_624fd: ; 0x88664 - db $0, "TEAM ROCKET took", $4f - db "off! We can go", $55 - db "out safely again!", $55 - db "That's great!", $57 -; 0x88664 + 64 bytes - -_UnnamedText_62502: ; 0x886a4 - db $0, "My sis brought me", $4f - db "on this vacation!", $57 -; 0x886a4 + 37 bytes - -_UnnamedText_62511: ; 0x886c9 - db $0, "Crammed full of", $4f - db "#MON books!", $57 -; 0x886c9 + 29 bytes - -_UnnamedText_1e953: ; 0x886e6 - db $0, "A shiny new", $4f - db "BICYCLE!", $57 -; 0x886e6 + 22 bytes - -_UnnamedText_1e960: ; 0x886fc - db $0, "Push START to", $4f - db "open the MENU!", $57 -; 0x886fc + 30 bytes - -_UnnamedText_1e97e: ; 0x8871a - db $0, "The SAVE option is", $4f - db "on the MENU", $55 - db "screen.", $57 -; 0x8871a + 40 bytes - -_UnnamedText_1e983: ; 0x88742 - db $0, "All #MON types", $4f - db "have strong and", $55 - db "weak points", $55 - db "against others.", $57 -; 0x88742 + 60 bytes - -_UnnamedText_1ea0d: ; 0x8877e - db $0, "PA: Ding-dong!", $51 - db "Time's up!", $58 -; 0x8877e + 26 bytes - -_UnnamedText_1ea12: ; 0x88798 - db $0, "PA: Your SAFARI", $4f - db "GAME is over!", $57 -; 0x88798 + 31 bytes - -_UnnamedText_1ea5b: ; 0x887b7 - db $0, "#MON Quiz!", $51 - db "Get it right and", $4f - db "the door opens to", $55 - db "the next room!", $51 - db "Get it wrong and", $4f - db "face a trainer!", $51 - db "If you want to", $4f - db "conserve your", $55 - db "#MON for the", $55 - db "GYM LEADER...", $51 - db "Then get it right!", $4f - db "Here we go!", $58 -; 0x887b7 + 182 bytes - -_UnnamedText_1ea6c: ; 0x8886d - db $0, "CATERPIE evolves", $4f - db "into BUTTERFREE?", $57 -; 0x8886d + 35 bytes - -_UnnamedText_1ea71: ; 0x88890 - db $0, "There are 9", $4f - db "certified #MON", $55 - db "LEAGUE BADGEs?", $57 -; 0x88890 + 43 bytes - -_UnnamedText_1ea76: ; 0x888bb - db $0, "POLIWAG evolves 3", $4f - db "times?", $57 -; 0x888bb + 26 bytes - -_UnnamedText_1ea7b: ; 0x888d5 - db $0, "Are thunder moves", $4f - db "effective against", $55 - db "ground element-", $55 - db "type #MON?", $57 -; 0x888d5 + 64 bytes - -_UnnamedText_1ea80: ; 0x88915 - db $0, "#MON of the", $4f - db "same kind and", $55 - db "level are not", $55 - db "identical?", $57 -; 0x88915 + 52 bytes - -_UnnamedText_1ea85: ; 0x88949 - db $0, "TM28 contains", $4f - db "TOMBSTONER?", $57 -; 0x88949 + 27 bytes - -UnnamedText_88964: ; 0x88964 - db $0, "You're absolutely", $4f - db "correct!", $51 - db "Go on through!@@" -; 0x8898f - -_UnnamedText_1eb05: ; 0x8898f - db $0, "Sorry! Bad call!", $58 -; 0x8898f + 18 bytes - -_UnnamedText_1eb69: ; 0x889a1 - db $0, "#MON magazines!", $51 - db "#MON notebooks!", $51 - db "#MON graphs!", $57 -; 0x889a1 + 46 bytes - -_UnnamedText_1ebdd: ; 0x889cf - db $0, "TELEPORTER is", $4f - db "displayed on the", $55 - db "PC monitor.", $57 -; 0x889cf + 44 bytes - -UnnamedText_889fb: ; 0x889fb - db $0, $52, " initiated", $4f - db "TELEPORTER's Cell", $55 - db "Separator!@@" -; 0x88a25 - -_UnnamedText_1ec7f: ; 0x88a25 - db $0, "BILL's favorite", $4f - db "#MON list!", $58 -; 0x88a25 + 27 bytes - -_UnnamedText_1ecaa: ; 0x88a40 - db $0, "Which #MON do", $4f - db "you want to see?", $57 -; 0x88a40 + 32 bytes - -_UnnamedText_1ecbd: ; 0x88a60 - db $0, "There's an e-mail", $4f - db "message here!", $51 - db "...", $51 - db "Calling all", $4f - db "#MON trainers!", $51 - db "The elite trainers", $4f - db "of #MON LEAGUE", $55 - db "are ready to take", $55 - db "on all comers!", $51 - db "Bring your best", $4f - db "#MON and see", $55 - db "how you rate as a", $55 - db "trainer!", $51 - db "#MON LEAGUE HQ", $4f - db "INDIGO PLATEAU", $51 - db "PS: PROF.OAK,", $4f - db "please visit us!", $55 - db "...", $57 -; 0x88a60 + 251 bytes - -_UnnamedText_2ff32: ; 0x88b5b - db $0, "A COIN CASE is", $4f - db "required!", $57 -; 0x88b5b + 26 bytes - -_UnnamedText_2ff37: ; 0x88b75 - db $0, "You don't have", $4f - db "any coins!", $57 -; 0x88b75 + 26 bytes - -_UnnamedText_37e79: ; 0x88b8f - db $0, "OUT OF ORDER", $4f - db "This is broken.", $57 -; 0x88b8f + 30 bytes - -_UnnamedText_37e7e: ; 0x88bad - db $0, "OUT TO LUNCH", $4f - db "This is reserved.", $57 -; 0x88bad + 32 bytes - -_UnnamedText_37e83: ; 0x88bcd - db $0, "Someone's keys!", $4f - db "They'll be back.", $57 -; 0x88bcd + 32 bytes - -_UnnamedText_21865: ; 0x88bed - db $0, "Just a moment.", $57 -; 0x88bed + 16 bytes - -UnnamedText_88bfd: ; 0x88bfd - db $0, "It's a pamphlet", $4f - db "on TMs.", $51 - db "...", $51 - db "There are 50 TMs", $4f - db "in all.", $51 - db "There are also 5", $4f - db "HMs that can be", $55 - db "used repeatedly.", $51 - db "SILPH CO.@@" -; 0x88c6f - -_UnnamedText_529e9: ; 0x88c6f - db $0, "Turn the page?", $57 -; 0x88c6f + 16 bytes - -UnnamedText_88c7f: ; 0x88c7f - db $0, "GIRL: Hey! Don't", $4f - db "look at my notes!@@" -; 0x88ca3 - -_UnnamedText_529f4: ; 0x88ca3 - db $0, "Looked at the", $4f - db "notebook!", $51 - db "First page...", $51 - db "# BALLs are", $4f - db "used to catch", $55 - db "#MON.", $51 - db "Up to 6 #MON", $4f - db "can be carried.", $51 - db "People who raise", $4f - db "and make #MON", $55 - db "fight are called", $55 - db "#MON trainers.", $58 -; 0x88ca3 + 163 bytes - -_UnnamedText_529f9: ; 0x88d46 - db $0, "Second page...", $51 - db "A healthy #MON", $4f - db "may be hard to", $55 - db "catch, so weaken", $55 - db "it first!", $51 - db "Poison, burns and", $4f - db "other damage are", $55 - db "effective!", $58 -; 0x88d46 + 119 bytes - -_UnnamedText_529fe: ; 0x88dbd - db $0, "Third page...", $51 - db "#MON trainers", $4f - db "seek others to", $55 - db "engage in #MON", $55 - db "fights.", $51 - db "Battles are", $4f - db "constantly fought", $55 - db "at #MON GYMs.", $58 -; 0x88dbd + 111 bytes - -_UnnamedText_52a03: ; 0x88e2c - db $0, "Fourth page...", $51 - db "The goal for", $4f - db "#MON trainers", $55 - db "is to beat the ", $55 - db "top 8 #MON", $55 - db "GYM LEADERs.", $51 - db "Do so to earn the", $4f - db "right to face...", $51 - db "The ELITE FOUR of", $4f - db "#MON LEAGUE!", $58 -; 0x88e2c + 149 bytes - -_UnnamedText_52a10: ; 0x88ec1 - db $0, "Enemies on every", $4f - db "side!", $57 -; 0x88ec1 + 24 bytes - -_UnnamedText_52a1d: ; 0x88ed9 - db $0, "What goes around", $4f - db "comes around!", $57 -; 0x88ed9 + 32 bytes - -_UnnamedText_52a2a: ; 0x88ef9 - db $0, "FIGHTING DOJO", $57 -; 0x88ef9 + 15 bytes - -_UnnamedText_52a3d: ; 0x88f08 - db $0, "INDIGO PLATEAU", $4f - db "#MON LEAGUE HQ", $57 -; 0x88f08 + 31 bytes - -_UnnamedText_5db81: ; 0x88f27 - db $0, $52, " is", $4f - db "playing the SNES!", $55 - db "...Okay!", $55 - db "It's time to go!", $57 -; 0x88f27 + 49 bytes - -_UnnamedText_5dba8: ; 0x88f58 - db $0, "Looked into the", $4f - db "binoculars...", $51 - db "A large, shining", $4f - db "bird is flying", $55 - db "toward the sea.", $57 -; 0x88f58 + 79 bytes - -_UnnamedText_5dbbe: ; 0x88fa7 - db $0, "AERODACTYL Fossil", $4f - db "A primitive and", $55 - db "rare #MON.", $57 -; 0x88fa7 + 46 bytes - -_UnnamedText_5dbd4: ; 0x88fd5 - db $0, "KABUTOPS Fossil", $4f - db "A primitive and", $55 - db "rare #MON.", $57 -; 0x88fd5 + 44 bytes - -_UnnamedText_5dc9e: ; 0x89001 - db $0, "TRAINER TIPS", $51 - db "Using a Game Link", $4f - db "Cable", $58 -; 0x89001 + 38 bytes - -_UnnamedText_5dca3: ; 0x89027 - db $0, "Which heading do", $4f - db "you want to read?", $57 -; 0x89027 + 36 bytes - -_UnnamedText_5dcde: ; 0x8904b - db $0, "When you have", $4f - db "linked your GAME", $55 - db "BOY with another", $55 - db "GAME BOY, talk to", $55 - db "the attendant on", $55 - db "the right in any", $55 - db "#MON CENTER.", $58 -; 0x8904b + 114 bytes - -_UnnamedText_5dce3: ; 0x890bd - db $0, "COLOSSEUM lets", $4f - db "you play against", $55 - db "a friend.", $58 -; 0x890bd + 43 bytes - -_UnnamedText_5dce8: ; 0x890e8 - db $0, "TRADE CENTER is", $4f - db "used for trading", $55 - db "#MON.", $58 -; 0x890e8 + 40 bytes - -_UnnamedText_5dda2: ; 0x89110 - db $0, "The blackboard", $4f - db "describes #MON", $55 - db "STATUS changes", $55 - db "during battles.", $58 -; 0x89110 + 62 bytes - -_UnnamedText_5dda7: ; 0x8914e - db $0, "Which heading do", $4f - db "you want to read?", $57 -; 0x8914e + 36 bytes - -_UnnamedText_5ddd6: ; 0x89172 - db $0, "A #MON can't", $4f - db "attack if it's", $55 - db "asleep!", $51 - db "#MON will stay", $4f - db "asleep even after", $55 - db "battles.", $51 - db "Use AWAKENING to", $4f - db "wake them up!", $58 -; 0x89172 + 108 bytes - -_UnnamedText_5dddb: ; 0x891de - db $0, "When poisoned, a", $4f - db "#MON's health", $55 - db "steadily drops.", $51 - db "Poison lingers", $4f - db "after battles.", $51 - db "Use an ANTIDOTE", $4f - db "to cure poison!", $58 -; 0x891de + 109 bytes - -_UnnamedText_5dde0: ; 0x8924b - db $0, "Paralysis could", $4f - db "make #MON", $55 - db "moves misfire!", $51 - db "Paralysis remains", $4f - db "after battles.", $51 - db "Use PARLYZ HEAL", $4f - db "for treatment!", $58 -; 0x8924b + 106 bytes - -_UnnamedText_5dde5: ; 0x892b5 - db $0, "A burn reduces", $4f - db "power and speed.", $55 - db "It also causes", $55 - db "ongoing damage.", $51 - db "Burns remain", $4f - db "after battles.", $51 - db "Use BURN HEAL to", $4f - db "cure a burn!", $58 -; 0x892b5 + 122 bytes - -_UnnamedText_5ddea: ; 0x8932f - db $0, "If frozen, a", $4f - db "#MON becomes", $55 - db "totally immobile!", $51 - db "It stays frozen", $4f - db "even after the", $55 - db "battle ends.", $51 - db "Use ICE HEAL to", $4f - db "thaw out #MON!", $58 -; 0x8932f + 120 bytes - -_UnnamedText_5ddf7: ; 0x893a7 - db $0, "Nope, there's", $4f - db "only trash here.", $57 -; 0x893a7 + 31 bytes - -UnnamedText_893c6: ; 0x893c6 - db $0, "Hey! There's a", $4f - db "switch under the", $55 - db "trash!", $55 - db "Turn it on!", $51 - db "The 1st electric", $4f - db "lock opened!@@" -; 0x89418 - -_UnnamedText_5dedb: ; 0x89418 - db $0, "Hey! There's", $4f - db "another switch", $55 - db "under the trash!", $55 - db "Turn it on!", $58 -; 0x89418 + 57 bytes - -UnnamedText_89451: ; 0x89451 - db $0, "The 2nd electric", $4f - db "lock opened!", $51 - db "The motorized door", $4f - db "opened!@@ -; 0x89451 + 59 bytes = 0x8948c - -UnnamedText_8948c: ; 0x8948c - db $0, "Nope! There's", $4f - db "only trash here.", $55 - db "Hey! The electric", $55 - db "locks were reset!@@" -; 0x8948c + 68 bytes = 0x894d0 - -UnnamedText_894d0: ; 0x894d0 - db $0, $52, " found", $4f - db "@" - TX_RAM $cd6d - db $0, "!@@" -; 0x894e1 - -_UnnamedText_76794: ; 0x894e1 - db $0, "But, ", $52, " has", $4f - db "no more room for", $55 - db "other items!", $57 -; 0x894e1 + 42 bytes - -UnnamedText_8950b: ; 0x8950b - db $0, $52, " found", $4f - db "@" - db $2, $a0, $ff, $c2 ; XXX $2 - db $0, " coins!@@" -; 0x89523 - -UnnamedText_89523: ; 0x89523 - db $0, $52, " found", $4f - db "@" - db $2, $a0, $ff, $c2 ; XXX $2 probably coins - db $0, " coins!@@" -; 0x8953a - -_UnnamedText_76852: ; 0x8953b - db $0, $51 - db "Oops! Dropped", $4f - db "some coins!", $57 -; 0x8953b + 28 bytes - -_UnnamedText_fbd9: ; 0x89557 - db $0, "INDIGO PLATEAU", $58 -; 0x89557 + 16 bytes - -_UnnamedText_fbde: ; 0x89567 - db $0, "The ultimate goal", $4f - db "of trainers!", $55 - db "#MON LEAGUE HQ", $57 -; 0x89567 + 47 bytes - -_UnnamedText_fbe3: ; 0x89596 - db $0, "The highest", $4f - db "#MON authority", $55 - db "#MON LEAGUE HQ", $57 -; 0x89596 + 43 bytes - -_UnnamedText_fc03: ; 0x895c1 - db $0, "Crammed full of", $4f - db "#MON books!", $57 -; 0x895c1 + 29 bytes - -_UnnamedText_fc08: ; 0x895de - db $0, "It's a sculpture", $4f - db "of DIGLETT.", $57 -; 0x895de + 29 bytes - -_UnnamedText_fc0d: ; 0x895fb - db $0, "This is an", $4f - db "elevator.", $57 -; 0x895fb + 22 bytes - -UnnamedText_89611: ; 0x89611 - db $0, "A TOWN MAP.@@" -; 0x89611 + 14 bytes = 0x8961f - -_UnnamedText_fc45: ; 0x8961f - db $0, "Wow! Tons of", $4f - db "#MON stuff!", $57 -; 0x8961f + 26 bytes - -_UnnamedText_3c1a8: ; 0x89639 - db $0, "PA: Ding-dong!", $51 - db "You are out of", $4f - db "SAFARI BALLs!", $58 -; 0x89639 + 45 bytes - -_UnnamedText_3c229: ; 0x89666 - db $0, "Wild @" - TX_RAM $cfda - db $0, $4f - db "ran!", $58 -; 0x89666 + 17 bytes = 0x89677 - -_UnnamedText_3c22e: ; 0x89677 - db $0, "Enemy @" - TX_RAM $cfda - db $0, $4f - db "ran!", $58 -; 0x89677 + 18 bytes = 0x89689 - -_UnnamedText_3c42e: ; 0x89689 - db $0, $5a, "'s", $4f - db "hurt by poison!", $58 -; 0x89689 + 20 bytes - -_UnnamedText_3c433: ; 0x8969d - db $0, $5a, "'s", $4f - db "hurt by the burn!", $58 -; 0x8969d + 22 bytes - -_UnnamedText_3c438: ; 0x896b3 - db $0, "LEECH SEED saps", $4f - db $5a, "!", $58 -; 0x896b3 + 20 bytes - -_UnnamedText_3c63e: ; 0x896c7 - db $0, "Enemy @" - TX_RAM $cfda - db $0, $4f - db "fainted!", $58 -; 0x896c7 + 22 bytes = 0x896dd - -_UnnamedText_3c6e4: ; 0x896dd - db $0, $52, " got ", $f0, "@" - ;XXX $2 - db $2, $79, $d0, $c3 - db $0, $4f - db "for winning!", $58 -; 0x896f9 - -_UnnamedText_3c6e9: ; 0x896f9 - db $0, $52, " defeated", $4f - db "@" - TX_RAM $d04a ; 0x89706 - db $0, "!", $58 -; 0x896f9 + 19 bytes = 0x8970c - -_UnnamedText_3c796: ; 0x8970c - TX_RAM $d009 - db $0, $4f - db "fainted!", $58 -; 0x8970c + 14 bytes - -_UnnamedText_3c7d3: ; 0x8971a - db $0, "Use next #MON?", $57 -; 0x8971a + 16 bytes - -_UnnamedText_3c884: ; 0x8972a - db $0, $53, ": Yeah! Am", $4f - db "I great or what?", $58 -; 0x8972a + 30 bytes - -_UnnamedText_3c889: ; 0x89748 - db $0, $52, " is out of", $4f - db "useable #MON!", $51 - db $52, " blacked", $4f - db "out!", $58 -; 0x89748 + 42 bytes - -_UnnamedText_3c88e: ; 0x89772 - db $0, $52, " lost to", $4f - db "@" - TX_RAM $d04a ; 0x8977e - db $0, "!", $58 -; 0x89772 + 18 bytes = 0x89784 - -_TrainerAboutToUseText: - db 1 - dw $D04A - db 0," is",$4F - db "about to use",$55,"@",1 - dw $CFDA - db 0,"!",$51 - db "Will ",$52,$4F - db "change #MON?",$57 - -_TrainerSentOutText: - db 1 - dw $D04A - db 0," sent",$4F - db "out @",1 - dw $CFDA - db 0,"!",$57 - -_UnnamedText_3cab4: ; 0x897c9 - db $0, "There's no will", $4f - db "to fight!", $58 -; 0x897c9 + 26 bytes - -_UnnamedText_3cb97: ; 0x897e3 - db $0, "Can't escape!", $58 -; 0x897e3 + 14 bytes - -_UnnamedText_3cb9c: ; 0x897f1 - db $0, "No! There's no", $4f - db "running from a", $55 - db "trainer battle!", $58 -; 0x897f1 + 46 bytes - -_UnnamedText_3cba1: ; 0x8981f - db $0, "Got away safely!", $58 -; 0x8981f + 18 bytes - -_UnnamedText_3d0c5: ; 0x89831 - db $0, "Items can't be", $4f - db "used here.", $58 -; 0x89831 + 26 bytes - -_UnnamedText_3d1f5: ; 0x8984b - TX_RAM $d009 - db $0, " is", $4f - db "already out!", $58 -; 0x8984b + 21 bytes - -_UnnamedText_3d3ae: ; 0x89860 - db $0, "No PP left for", $4f - db "this move!", $58 -; 0x89860 + 27 bytes - -_UnnamedText_3d3b3: ; 0x8987b - db $0, "The move is", $4f - db "disabled!", $58 -; 0x8987b + 23 bytes - -_UnnamedText_3d430: ; 0x89892 - TX_RAM $d009 - db $0, " has no", $4f - db "moves left!", $57 -; 0x89892 + 24 bytes - -_MultiHitText: - db 0,"Hit the enemy",$4F,"@" - TX_NUM W_NUMHITS,1,1 - db 0," times!",$58 - -_ScaredText: - db 1 - dw $D009 - db 0," is too",$4F - db "scared to move!",$58 - -_GetOutText: - db 0,"GHOST: Get out...",$4F - db "Get out...",$58 - -_FastAsleepText: - db 0,$5A,$4F - db "is fast asleep!",$58 - -_WokeUpText: - db 0,$5A,$4F - db "woke up!",$58 - -_FrozenText: - db 0,$5A,$4F - db "is frozen solid!",$58 - -_FullyParalyzedText: - db 0,$5A,"'s",$4F - db "fully paralyzed!",$58 - -_FlinchedText: - db 0,$5A,$4F - db "flinched!",$58 - -_MustRechargeText: - db 0,$5A,$4F - db "must recharge!",$58 - -_DisabledNoMoreText: - db 0,$5A,"'s",$4F - db "disabled no more!",$58 - -_IsConfusedText: - db 0,$5A,$4F - db "is confused!",$58 - -_HurtItselfText: - db 0,"It hurt itself in",$4F - db "its confusion!",$58 - -_ConfusedNoMoreText: - db 0,$5A,"'s",$4F - db "confused no more!",$58 - -_SavingEnergyText: - db 0,$5A,$4F - db "is saving energy!",$58 - -_UnleashedEnergyText: - db 0,$5A,$4F - db "unleashed energy!",$58 - -_ThrashingAboutText: - db 0,$5A,"'s",$4F - db "thrashing about!",$57 - -_AttackContinuesText: - db 0,$5A,"'s",$4F - db "attack continues!",$57 - -_CantMoveText: - db 0,$5A,$4F - db "can't move!",$58 - -_UnnamedText_3daa8: ; 0x89a29 - db $0, $5a, "'s", $4f - db "@" -; 0x89a29 + 5 bytes - -UnnamedText_89a2e: ; 0x89a2e - TX_RAM $cd6d - db $0, " is", $55 - db "disabled!", $58 -; 0x89a2e + 18 bytes = 0x89a40 - -UnnamedText_89a40: ; 0x89a40 - db $0, $5a, "@@" -; 0x89a40 + 4 bytes = 0x89a44 - -UnnamedText_89a44: ; 0x89a44 - db $0, $4f - db "used @@" -; 0x89a44 + 9 bytes = 0x89a4d - -UnnamedText_89a4d: ; 0x89a4d - db $0, $4f - db "used @@" -; 0x89a4d + 9 bytes = 0x89a56 - -UnnamedText_89a56: ; 0x89a56 - db $0, "instead,", $55 - db "@@ -; 0x89a56 + 12 bytes = 0x89a62 - -UnnamedText_89a62: ; 0x89a62 - TX_RAM $cf4b - db $0, "@" -; 0x89a62 + 5 bytes = 0x89a67 - -_UnnamedText_3db6c: ; 0x89a67 - db $0, "!", $57 -; 0x89a67 + 3 bytes - -_UnnamedText_3db71: ; 0x89a6a - db $0, "!", $57 -; 0x89a6a + 3 bytes - -_UnnamedText_3db76: ; 0x89a6d - db $0, "!", $57 -; 0x89a6d + 3 bytes - -_UnnamedText_3db7b: ; 0x89a70 - db $0, "!", $57 -; 0x89a70 + 3 bytes - -_UnnamedText_3db80: ; 0x89a73 - db $0, "!", $57 -; 0x89a73 + 3 bytes - -_UnnamedText_3dc42: ; 0x89a76 - db $0, $5a, "'s", $4f - db "attack missed!", $58 -; 0x89a76 + 19 bytes - -_UnnamedText_3dc47: ; 0x89a89 - db $0, $5a, $4f - db "kept going and", $55 - db "crashed!", $58 -; 0x89a89 + 27 bytes - -_UnnamedText_3dc4c: ; 0x89aa4 - db $0, $59, "'s", $4f - db "unaffected!", $58 -; 0x89aa4 + 16 bytes - -_UnnamedText_3dc57: ; 0x89ab4 - db $0, "It doesn't affect", $4f - db $59, "!", $58 -; 0x89ab4 + 21 bytes - -_UnnamedText_3dc7e: ; 0x89ac9 - db $0, "Critical hit!", $58 -; 0x89ac9 + 15 bytes - -_UnnamedText_3dc83: ; 0x89ad8 - db $0, "One-hit KO!", $58 -; 0x89ad8 + 13 bytes - -_UnnamedText_3ddb6: ; 0x89ae5 - TX_RAM $d009 - db $0, " is", $4f - db "loafing around.", $58 -; 0x89ae5 + 24 bytes - -_UnnamedText_3ddbb: ; 0x89afd - TX_RAM $d009 - db $0, " began", $4f - db "to nap!", $58 -; 0x89afd + 19 bytes - -_UnnamedText_3ddc0: ; 0x89b10 - TX_RAM $d009 - db $0, " won't", $4f - db "obey!", $58 -; 0x89b10 + 16 bytes - -_UnnamedText_3ddc5: ; 0x89b20 - TX_RAM $d009 - db $0, " turned", $4f - db "away!", $58 -; 0x89b20 + 18 bytes - -_UnnamedText_3ddca: ; 0x89b32 - TX_RAM $d009 - db $0, $4f - db "ignored orders!", $58 -; 0x89b32 + 21 bytes - -_SubstituteTookDamageText: ; 0x89b47 - db $0, "The SUBSTITUTE", $4f - db "took damage for", $55 - db $59, "!", $58 -; 0x89b47 + 35 bytes - -_SubstituteBrokeText: ; 0x89b6a - db $0, $59, "'s", $4f - db "SUBSTITUTE broke!", $58 -; 0x89b6a + 22 bytes - -_BuildingRageText: ; 0x89b80 - db $0, $5a, "'s", $4f - db "RAGE is building!", $58 -; 0x89b80 + 22 bytes - -_MirrorMoveFailedText: ; 0x89b96 - db $0, "The MIRROR MOVE", $4e, "failed!", $58 -; 0x89b96 + 25 bytes - -_UnnamedText_3e887: ; 0x89baf - db $0, "Hit @" -; 0x89baf + 6 bytes - -UnnamedText_89bb5: ; 0x89bb5 - TX_NUM $cd05, 1, 1 - db $0, " times!", $58 -; 0x89bb5 + 13 bytes = 0x89bc2 - -UnnamedText_89bc2: ; 0x89bc2 - TX_RAM $cd6d - db $0, " gained", $4f - db "@@" -; 0x89bc2 + 14 bytes = 0x89bd0 - -UnnamedText_89bd0: ; 0x89bd0 - db $0, "with EXP.ALL,", $55 - db "@@" -; 0x89bd0 + 17 bytes = 0x89be1 - -UnnamedText_89be1: ; 0x89be1 - db $0, "a boosted", $55 - db "@@" -_UnnamedText_554d8: - TX_NUM $cf4b, 2, 4 - db $0, " EXP. Points!", $58 -; 0x89be1 + 32 bytes = 0x89c01 - -UnnamedText_89c01: ; 0x89c01 - TX_RAM $cd6d - db $0, " grew", $4f - db "to level @" - TX_NUM $d127, 1, 3 - db $0, "!@@" -; 0x89c01 + 28 bytes = 0x89c1d - -_UnnamedText_58e3b: ; 0x89c1d - db $0, "Wild @" - TX_RAM $cfda - db $0, $4f - db "appeared!", $58 -; 0x89c1d + 22 bytes - -_UnnamedText_58e40: ; 0x89c33 - db $0, "The hooked", $4f - db "@" - TX_RAM $cfda - db $0, $55 - db "attacked!", $58 -; 0x89c33 + 28 bytes - -_UnnamedText_58e45: ; 0x89c4f - TX_RAM $cfda - db $0, $4f - db "appeared!", $58 -; 0x89c4f + 15 bytes - -_UnnamedText_58e4a: ; 0x89c5e - TX_RAM $d04a - db $0, " wants", $4f - db "to fight!", $58 -; 0x89c5e + 21 bytes - -_UnnamedText_58e4f: ; 0x89c73 - db $0, "SILPH SCOPE", $4f - db "unveiled the", $55 - db "GHOST's identity!", $58 -; 0x89c73 + 43 bytes - -_UnnamedText_58e54: ; 0x89c9e - db $0, "Darn! The GHOST", $4f - db "can't be ID'd!", $58 -; 0x89c9e + 30 bytes - -UnknownText_89cbc: ; 0x89cbc - db $0, "Go! @@" -; 0x89cbc + 7 bytes - db $0, "Do it! @@" -; 0x89cc3 + 10 bytes - db $0, "Get'm! @@" -; 0x89ccd + 9 bytes - -UnknownText_89cd6: ; 0x89cd6 - db $0, "The enemy's weak!", $4f - db "Get'm! @@" -; 0x89cd6 + 26 bytes - -_UnnamedText_58ecc: ; 0x89cf0 - TX_RAM $d009 - db $0, "!", $57 -; 0x89cf0 + 6 bytes - TX_RAM $d009 - db $0, " @@" - db $0, "enough!@@" -; 0x89cf0 + 23 bytes - -_UnnamedText_89d07: ; 0x8d907 - db $0, "OK!@@" -; 0x8d907 + 6 - -UnknownText_89d0d: ; 0x89d0d - db $0, "good!@@" -; 0x89d0d + 8 bytes - -_UnnamedText_58f3e: ; 0x89d15 - db $0, $4f - db "Come back!", $57 -; 0x89d15 + 13 bytes - -_UnnamedText_2fb8e: ; 0x89d22 - db $0, "It's super", $4f - db "effective!", $58 -; 0x89d22 + 22 bytes - -_UnnamedText_2fb93: ; 0x89d38 - db $0, "It's not very", $4f - db "effective...", $58 -; 0x89d38 + 27 bytes - -SafariZoneEatingText: ; 0x89d53 - db $0, "Wild @" - TX_RAM $cfda - db $0, $4f - db "is eating!", $58 -; 0x89d53 + 23 bytes - -SafariZoneAngryText: ; 0x89d6a - db $0, "Wild @" - TX_RAM $cfda - db $0, $4f - db "is angry!", $58 -; 0x89d6a + 22 bytes - -; money related -; XXX $2 BCD macro -; $2, pointer, byte -_UnnamedText_1386b: ; 0x89d80 - db $0, $52, " picked up", $4f - db $f0, "@" - db $2, $e5, $cc, $c3 - db $0, "!", $58 - -_UnnamedText_1c9c1: ; 0x89d96 - db $0, "Clear all saved", $4f - db "data?", $57 -; 0x89d96 + 23 bytes - -_UnnamedText_1ca14: ; 0x89dad - db $0, "Which floor do", $4f - db "you want? ", $57 -; 0x89dad + 27 bytes - -_UnnamedText_12e7f: ; 0x89dc8 - db $0, "Choose a #MON.", $57 -; 0x89dc8 + 16 bytes - -_UnnamedText_12e84: ; 0x89dd8 - db $0, "Use item on which", $4f - db "#MON?", $57 -; 0x89dd8 + 25 bytes - -_UnnamedText_12e89: ; 0x89df1 - db $0, "Bring out which", $4f - db "#MON?", $57 -; 0x89df1 + 23 bytes - -_UnnamedText_12e8e: ; 0x89e08 - db $0, "Use TM on which", $4f - db "#MON?", $57 -; 0x89e08 + 23 bytes - -_UnnamedText_12e93: ; 0x89e1f - db $0, "Move #MON", $4f - db "where?", $57 -; 0x89e1f + 18 bytes - -_UnnamedText_12e98: ; 0x89e31 - TX_RAM $cd6d - db $0, $4f - db "recovered by @" - TX_NUM $cefd, 2, 3 - db $0, "!", $57 -; 0x89e31 + 26 bytes - -_UnnamedText_12e9d: ; 0x89e4b - TX_RAM $cd6d - db $0, " was", $4f - db "cured of poison!", $57 -; 0x89e4b + 26 bytes - -_UnnamedText_12ea2: ; 0x89e65 - TX_RAM $cd6d - db $0, "'s", $4f - db "rid of paralysis!", $57 -; 0x89e65 + 24 bytes - -_UnnamedText_12ea7: ; 0x89e7d - TX_RAM $cd6d - db $0, "'s", $4f - db "burn was healed!", $57 -; 0x89e7d + 23 bytes - -_UnnamedText_12eac: ; 0x89e94 - TX_RAM $cd6d - db $0, " was", $4f - db "defrosted!", $57 -; 0x89e94 + 20 bytes - -_UnnamedText_12eb1: ; 0x89ea8 - TX_RAM $cd6d - db $0, $4f - db "woke up!", $57 -; 0x89ea8 + 14 bytes - -_UnnamedText_12eb6: ; 0x89eb6 - TX_RAM $cd6d - db $0, "'s", $4f - db "health returned!", $57 -; 0x89eb6 + 23 bytes - -_UnnamedText_12ebb: ; 0x89ecd - TX_RAM $cd6d - db $0, $4f - db "is revitalized!", $57 -; 0x89ecd + 21 bytes - -LevelUpText: ; 0x89ee2 - TX_RAM $cd6d - db $0, " grew", $4f - db "to level @" - TX_NUM $d127, $1,$3 - db $0, "!@@" -; 0x89ee2 + 28 bytes - -_UnnamedText_17f23: ; 0x89efe - db $0, $52, " turned on", $4f - db "the PC.", $58 -; 0x89efe + 21 bytes - -_UnnamedText_17f28: ; 0x89f13 - db $0, "Accessed BILL's", $4f - db "PC.", $51 - db "Accessed #MON", $4f - db "Storage System.", $58 -; 0x89f13 + 50 bytes - -_UnnamedText_17f2d: ; 0x89f45 - db $0, "Accessed someone's", $4f - db "PC.", $51 - db "Accessed #MON", $4f - db "Storage System.", $58 -; 0x89f45 + 53 bytes - -_UnnamedText_17f32: ; 0x89f7a - db $0, "Accessed my PC.", $51 - db "Accessed Item", $4f - db "Storage System.", $58 -; 0x89f7a + 47 bytes - -_UnnamedText_7b22: ; 0x89fa9 - db $0, $52, " turned on", $4f - db "the PC.", $58 -; 0x89fa9 + 21 bytes - -_UnnamedText_7b27: ; 0x89fbe - db $0, "What do you want", $4f - db "to do?", $57 -; 0x89fbe + 25 bytes - -_UnnamedText_7b2c: ; 0x89fd7 - db $0, "What do you want", $4f - db "to deposit?", $57 -; 0x89fd7 + 30 bytes - -_UnnamedText_7b31: ; 0x89ff5 - db $0, "How many?", $57 -; 0x89ff5 + 11 bytes - -_UnnamedText_7b36: ; 0x8a000 - TX_RAM $cd6d - db $0, " was", $4f - db "stored via PC.", $58 -; 0x8a000 + 24 bytes - -_UnnamedText_7b3b: ; 0x8a018 - db $0, "You have nothing", $4f - db "to deposit.", $58 -; 0x8a018 + 30 bytes - -_UnnamedText_7b40: ; 0x8a036 - db $0, "No room left to", $4f - db "store items.", $58 -; 0x8a036 + 30 bytes - -_UnnamedText_7b45: ; 0x8a054 - db $0, "What do you want", $4f - db "to withdraw?", $57 -; 0x8a054 + 31 bytes - -_UnnamedText_7b4a: ; 0x8a073 - db $0, "How many?", $57 -; 0x8a073 + 11 bytes - -_UnnamedText_7b4f: ; 0x8a07e - db $0, "Withdrew", $4f - db "@" - TX_RAM $cd6d - db $0, ".", $58 -; 0x8a07e + 17 bytes - -_UnnamedText_7b54: ; 0x8a08f - db $0, "There is nothing", $4f - db "stored.", $58 -; 0x8a08f + 26 bytes - -_UnnamedText_7b59: ; 0x8a0a9 - db $0, "You can't carry", $4f - db "any more items.", $58 -; 0x8a0a9 + 32 bytes - -_UnnamedText_7b5e: ; 0x8a0c9 - db $0, "What do you want", $4f - db "to toss away?", $57 -; 0x8a0c9 + 32 bytes - -_UnnamedText_7b63: ; 0x8a0e9 - db $0, "How many?", $57 -; 0x8a0e9 + 11 bytes - -_UnnamedText_76683: ; 0x8a0f4 - db $0, "Accessed #MON", $4f - db "LEAGUE's site.", $51 - db "Accessed the HALL", $4f - db "OF FAME List.", $58 -; 0x8a0f4 + 61 bytes - -_UnnamedText_217e9: ; 0x8a131 - db $0, "Switch on!", $58 -; 0x8a131 + 12 bytes - -_UnnamedText_217ee: ; 0x8a13d - db $0, "What?", $57 -; 0x8a13d + 7 bytes - -_UnnamedText_217f3: ; 0x8a144 - db $0, "Deposit which", $4f - db "#MON?", $57 -; 0x8a144 + 21 bytes - -_UnnamedText_217f8: ; 0x8a159 - TX_RAM $cf4b - db $0, " was", $4f - db "stored in Box @" - TX_RAM $cd3d - db $0, ".", $58 -; 30 bytes - -_UnnamedText_217fd: ; 0x8a177 - db $0, "You can't deposit", $4f - db "the last #MON!", $58 -; 0x8a177 + 33 bytes - -_UnnamedText_21802: ; 0x8a198 - db $0, "Oops! This Box is", $4f - db "full of #MON.", $58 -; 0x8a198 + 33 bytes - -_UnnamedText_21807: ; 0x8a1b9 - TX_RAM $cf4b - db $0, " is", $4f - db "taken out.", $55 - db "Got @" -; 0x8a1b9 + 24 bytes -UnknownText_8a1d1: ; 0x8a1d1 - TX_RAM $cf4b - db $0, ".", $58 -; 0x8a1d1 + 6 bytes - -_UnnamedText_2180c: ; 0x8a1d7 - db $0, "What? There are", $4f - db "no #MON here!", $58 -; 0x8a1d7 + 31 bytes - -_UnnamedText_21811: ; 0x8a1f6 - db $0, "You can't take", $4f - db "any more #MON.", $51 - db "Deposit #MON", $4f - db "first.", $58 -; 0x8a1f6 + 50 bytes - -_UnnamedText_21816: ; 0x8a228 - db $0, "Release which", $4f - db "#MON?", $57 -; 0x8a228 + 21 bytes - -_UnnamedText_2181b: ; 0x8a23d - db $0, "Once released,", $4f - db "@" -; 0x8a23d + 17 bytes - -UnknownText_8a24e: ; 0x8a24e - TX_RAM $cf4b - db $0, " is", $55 - db "gone forever. OK?", $57 -; 0x8a24e + 26 bytes - -_UnnamedText_21820: ; 0x8a268 - TX_RAM $cf4b - db $0, " was", $4f - db "released outside.", $55 - db "Bye @" -; 0x8a268 + 32 bytes - -_UnnamedText_8a288: ; 0x8a288 - TX_RAM $cf4b - db $0, "!", $58 - -_RequireCoinCaseText: ; 22:628E - db 0,"A COIN CASE is",$4F - db "required!@@" - -_ExchangeCoinsForPrizesText: ; 22:62A9 - db 0,"We exchange your",$4F - db "coins for prizes.",$58 - -_WhichPrizeText: ; 22:62CD - db 0,"Which prize do",$4F - db "you want?",$57 - -_HereYouGoText: ; 22:62E7 - db 0,"Here you go!@@" - -_SoYouWantPrizeText: ; 22:62F6 - db 0,"So, you want",$4F - db "@" - db 1 - dw $CD6D - db 0,"?",$57 - -_SorryNeedMoreCoins: ; 22:630B - db 0,"Sorry, you need",$4F - db "more coins.@@" - -_OopsYouDontHaveEnoughRoomText: ; 22:6329 - db 0,"Oops! You don't",$4F - db "have enough room.@@" - -_OhFineThenText: ; 22:634C - db 0,"Oh, fine then.@@" -;635d - -_UnnamedText_1e93b: ; 0x8a35d - db $0, "Want to get your", $4f - db "#DEX rated?", $57 -; 0x8a35d + 30 bytes - -UnknownText_8a37b: ; 0x8a37b - db $0, "Closed link to", $4f - db "PROF.OAK's PC.@@" -; 0x8a37b + 31 bytes - -_UnnamedText_1e946: ; 0x8a39a - db $0, "Accessed PROF.", $4f - db "OAK's PC.", $51 - db "Accessed #DEX", $4f - db "Rating System.", $58 -; 0x8a39a + 54 bytes - -_UnnamedText_5d43: ; 0x8a3d0 - db $0, "Where would you", $4f - db "like to go?", $57 -; 0x8a3d0 + 29 bytes - -_UnnamedText_5d48: ; 0x8a3ed - db $0, "OK, please wait", $4f - db "just a moment.", $57 -; 0x8a3ed + 32 bytes - -_UnnamedText_5d4d: ; 0x8a40d - db $0, "The link was", $4f - db "canceled.", $57 -; 0x8a40d + 24 bytes - -INCLUDE "text/oakspeech.tx" - -_UnnamedText_6557: ; 0x8a605 - db $0, "Do you want to", $4f - db "give a nickname", $55 - db "to @" -; 0x8a605 + 36 bytes - -UnknownText_8a629: ; 0x8a629 - TX_RAM $cd6d - db $0, "?", $57 -; 0x8a629 + 6 bytes - -_UnnamedText_699f: ; 0x8a62f - db $0, "Right! So your", $4f - db "name is ", $52, "!", $58 -; 0x8a62f + 27 bytes - -_UnnamedText_69e7: ; 0x8a64a - db $0, "That's right! I", $4f - db "remember now! His", $55 - db "name is ", $53, "!", $58 -; 0x8a64a + 45 bytes - -_UnnamedText_5a24: ; 0x8a677 - TX_RAM $cd3f - db $0, " and", $4f - db "@" -; 0x8a677 + 10 bytes - -UnknownText_8a681: ; 0x8a681 - TX_RAM $cd6d - db $0, " will", $55 - db "be traded.", $57 -; 0x8a681 + 21 bytes - -_Char00Text: - TX_NUM $FF8C,1,2 - db 0," ERROR.",$57 - -_Char55Text: - db 0,$4B,"@@" - -_DiglettsCaveRoute2Text1: ; 0x8a6a7 - db $0, "I went to ROCK", $4f - db "TUNNEL, but it's", $55 - db "dark and scary.", $51 - db "If a #MON's", $4f - db "FLASH could light", $55 - db "it up...", $57 - -_ViridianForestexitText1: ; 0x8a6fd - db $0, "Many #MON live", $4f - db "only in forests ", $55 - db "and caves.", $51 - db "You need to look", $4f - db "everywhere to get", $55 - db "different kinds!", $57 - -_ViridianForestexitText2: ; 0x8a75d - db $0, "Have you noticed", $4f - db "the bushes on the", $55 - db "roadside?", $51 - db "They can be cut", $4f - db "down by a special", $55 - db "#MON move.", $57 - -_Route2HouseText1: ; 0x8a7b8 - db $0, "A fainted #MON", $4f - db "can't fight. But, ", $55 - db "it can still use ", $55 - db "moves like CUT!", $57 - -_UnnamedText_5d616: ; 0x8a7fc - db $0, "The HM FLASH", $4f - db "lights even the", $55 - db "darkest dungeons.", $57 -; 0x8a7fc + 48 bytes - -_Route2GateText2: ; 0x8a82c - db $0, "Once a #MON", $4f - db "learns FLASH, you", $55 - db "can get through", $55 - db "ROCK TUNNEL.", $57 - -_ViridianForestEntranceText1: ; 0x8a868 - db $0, "Are you going to", $4f - db "VIRIDIAN FOREST?", $55 - db "Be careful, it's", $55 - db "a natural maze!", $57 - -_ViridianForestEntranceText2: ; 0x8a8ab - db $0, "RATTATA may be", $4f - db "small, but its", $55 - db "bite is wicked!", $55 - db "Did you get one?", $57 - -_MtMoonPokecenterText1: ; 0x8a8eb - db $0, "I've 6 # BALLs", $4f - db "set in my belt.", $51 - db "At most, you can", $4f - db "carry 6 #MON.", $57 - -_MtMoonPokecenterText3: ; 0x8a929 - db $0, "TEAM ROCKET", $4f - db "attacks CERULEAN", $55 - db "citizens...", $51 - db "TEAM ROCKET is", $4f - db "always in the", $55 - db "news!", $57 - -_UnnamedText_4935c: ; 0x8a976 - db $0, "MAN: Hello, there!", $4f - db "Have I got a deal", $55 - db "just for you!", $51 - db "I'll let you have", $4f - db "a swell MAGIKARP", $55 - db "for just ", $f0, "500!", $55 - db "What do you say?", $57 -; 0x8a976 + 118 bytes - -_UnnamedText_49361: ; 0x8a9ec - db $0, "No? I'm only", $4f - db "doing this as a", $55 - db "favor to you!", $57 -; 0x8a9ec + 43 bytes - -_UnnamedText_49366: ; 0x8aa17 - db $0, "You'll need more", $4f - db "money than that!", $57 -; 0x8aa17 + 34 bytes - -_UnnamedText_4936b: ; 0x8aa39 - db $0, "MAN: Well, I don't", $4f - db "give refunds!", $57 -; 0x8aa39 + 33 bytes - -_MtMoonPokecenterText5: ; 0x8aa5a - db $0, $57 - -_UnnamedText_1dfe7: ; 0x8aa5c - db $0, "I'm on guard duty.", $4f - db "Gee, I'm thirsty,", $55 - db "though!", $51 - db "Oh wait there,", $4f - db "the road's closed.", $57 -; 0x8aa5c + 77 bytes - -_UnnamedText_8aaa9: ; 0x8aaa9 - db $0, "Whoa, boy!", $4f - db "I'm parched!", $55 - db "...", $55 - db "Huh? I can have", $55 - db "this drink?", $55 - db "Gee, thanks!@@" -; 0x8aaa9 + 70 bytes - -_UnnamedText_1dff1: ; 0x8aaef - db $0, $51 - db "...", $4f - db "Glug glug...", $55 - db "...", $55 - db "Gulp...", $55 - db "If you want to go", $55 - db "to SAFFRON CITY...", $55 - db "...", $55 - db "You can go on", $55 - db "through. I'll", $55 - db "share this with", $55 - db "the other guards!", $57 -; 0x8aaef + 133 bytes - -_UnnamedText_1dff6: ; 0x8ab74 - db $0, "Hi, thanks for", $4f - db "the cool drinks!", $57 -; 0x8ab74 + 33 bytes - -_UnnamedText_5640f: ; 0x8ab95 - db $0, "I run a DAYCARE.", $4f - db "Would you like me", $55 - db "to raise one of", $55 - db "your #MON?", $57 -; 0x8ab95 + 63 bytes - -_UnnamedText_56414: ; 0x8abd4 - db $0, "Which #MON", $4f - db "should I raise?", $58 -; 0x8abd4 + 28 bytes - -_UnnamedText_56419: ; 0x8abf0 - db $0, "Fine, I'll look", $4f - db "after @" -; 0x8abf0 + 23 bytes - -UnknownText_8ac07: ; 0x8ac07 - TX_RAM $cd6d - db $0, $55 - db "for a while.", $58 -; 0x8ac07 + 18 bytes - -_UnnamedText_5641e: ; 0x8ac19 - db $0, "Come see me in", $4f - db "a while.", $57 -; 0x8ac19 + 25 bytes - -_UnnamedText_56423: ; 0x8ac32 - db $0, "Your @" -; 0x8ac32 + 7 bytes - -UnknownText_8ac39: ; 0x8ac39 - TX_RAM $cd6d - db $0, $4f - db "has grown a lot!", $51 - db "By level, it's", $4f - db "grown by @" -; 0x8ac39 + 46 bytes - -UnknownText_8ac67: ; 0x8ac67 - TX_NUM $cd3e,$1,$3 - db $0, "!", $51 - db "Aren't I great?", $58 -; 0x8ac67 + 22 bytes - -_UnnamedText_56428: ; 0x8ac7d - db $0, "You owe me ", $f0, "@" -; 0x8ac7d + 14 bytes - -;XXX -; 0x8ac8b -db $2, $3f, $cd, $c2 - -UnknownText_8ac8f: ; 0x8ac8f - db $0, $4f - db "for the return", $55 - db "of this #MON.", $57 -; 0x8ac8f + 31 bytes - -_UnnamedText_5642d: ; 0x8acae - db $0, $52, " got", $4f - db "@" -; 0x8acae + 8 bytes - -UnknownText_8acb6: ; 0x8acb6 - TX_RAM $da49 - db $0, " back!", $57 -; 0x8acb6 + 11 bytes - -_UnnamedText_56432: ; 0x8acc1 - db $0, "Back already?", $4f - db "Your @" -; 0x8acc1 + 21 bytes - -UnknownText_8acd6: ; 0x8acd6 - TX_RAM $cd6d - db $0, $55 - db "needs some more", $55 - db "time with me.", $58 -; 0x8acd6 + 35 bytes - -SECTION "bank23",DATA,BANK[$23] - -_UnnamedText_56437: ; 0x8c000 - db $0, "All right then,", $4f - db "@@" -; 0x8c000 + 19 bytes - -_UnnamedText_5643b: ; 0x8c013 - db $0, "come again.", $57 -; 0x8c013 + 13 bytes - -_UnnamedText_56440: ; 0x8c020 - db $0, "You have no room", $4f - db "for this #MON!", $57 -; 0x8c020 + 33 bytes - -_UnnamedText_56445: ; 0x8c041 - db $0, "You only have one", $4f - db "#MON with you.", $57 -; 0x8c041 + 34 bytes - -_UnnamedText_5644a: ; 0x8c063 - db $0, "I can't accept a", $4f - db "#MON that", $55 - db "knows an HM move.", $57 -; 0x8c063 + 45 bytes - -_UnnamedText_5644f: ; 0x8c090 - db $0, "Thank you! Here's", $4f - db "your #MON!", $58 -; 0x8c090 + 29 bytes - -_UnnamedText_56454: ; 0x8c0ad - db $0, "Hey, you don't", $4f - db "have enough ", $f0, "!", $57 -; 0x8c0ad + 30 bytes - -_UndergroundTunnelEntranceRoute6Text1: ; 0x8c0cb - db $0, "People often lose", $4f - db "things in that", $55 - db "UNDERGROUND PATH.", $57 - -_UndergroundPathEntranceRoute7Text1: ; 0x8c0ff - db $0, "I heard a sleepy", $4f - db "#MON appeared", $55 - db "near CELADON CITY.", $57 - -_UnnamedText_5d773: ; 0x8c132 - db $0, "I want to shop at", $4f - db "the dept. store", $55 - db "in CELADON but...", $51 - db "There are so many", $4f - db "rough looking", $55 - db "people there.", $57 -; 0x8c132 + 99 bytes - -_UnnamedText_5d778: ; 0x8c195 - db $0, "TEAM ROCKET had a", $4f - db "secret hideout in", $55 - db "CELADON CITY?", $57 -; 0x8c195 + 51 bytes - -_UnnamedText_5d77d: ; 0x8c1c8 - db $0, "You're here to", $4f - db "shop in CELADON?", $51 - db "Just step outside", $4f - db "and head west!", $57 -; 0x8c1c8 + 65 bytes - -_UnnamedText_5d782: ; 0x8c209 - db $0, "The UNDERGROUND", $4f - db "PATH goes beneath", $55 - db "SAFFRON and leads", $55 - db "to LAVENDER.", $51 - db "If you're heading", $4f - db "to CERULEAN, go", $55 - db "to the building", $55 - db "across the road.", $57 -; 0x8c209 + 132 bytes - -_UndergroundPathEntranceRoute8Text1: ; 0x8c28d - db $0, "The dept. store", $4f - db "in CELADON has a", $55 - db "great selection!", $57 - -_RockTunnelPokecenterText1: ; 0x8c2c0 - db $0, "The element types", $4f - db "of #MON make", $55 - db "them stronger", $55 - db "than some types", $55 - db "and weaker than", $55 - db "others!", $57 - -_RockTunnelPokecenterText3: ; 0x8c316 - db $0, "I sold a useless", $4f - db "NUGGET for ", $f0, "5000!", $57 - -_UnnamedText_44588: ; 0x8c33a - db $0, "This tunnel goes", $4f - db "a long way, kid!", $57 -; 0x8c33a + 35 bytes - -_UnnamedText_4458d: ; 0x8c35d - db $0, "Doh!", $4f - db "You win!", $58 -; 0x8c35d + 15 bytes - -_UnnamedText_44592: ; 0x8c36c - db $0, "Watch for ONIX!", $4f - db "It can put the", $55 - db "squeeze on you!", $57 -; 0x8c36c + 48 bytes - -_UnnamedText_44597: ; 0x8c39c - db $0, "Hmm. Maybe I'm", $4f - db "lost in here...", $57 -; 0x8c39c + 31 bytes - -_UnnamedText_4459c: ; 0x8c3bb - db $0, "Ease up!", $4f - db "What am I doing?", $55 - db "Which way is out?", $58 -; 0x8c3bb + 45 bytes - -_UnnamedText_445a1: ; 0x8c3e8 - db $0, "That sleeping", $4f - db "#MON on ROUTE", $55 - db "12 forced me to", $55 - db "take this detour.", $57 -; 0x8c3e8 + 63 bytes - -_UnnamedText_445a6: ; 0x8c427 - db $0, "Outsiders like", $4f - db "you need to show", $55 - db "me some respect!", $57 -; 0x8c427 + 50 bytes - -_UnnamedText_445ab: ; 0x8c459 - db $0, "I give!", $58 -; 0x8c459 + 9 bytes - -_UnnamedText_445b0: ; 0x8c462 - db $0, "You're talented", $4f - db "enough to hike!", $57 -; 0x8c462 + 32 bytes - -_UnnamedText_445b5: ; 0x8c482 - db $0, "#MON fight!", $4f - db "Ready, go!", $57 -; 0x8c482 + 24 bytes - -_UnnamedText_445ba: ; 0x8c49a - db $0, "Game", $4f - db "over!", $58 -; 0x8c49a + 12 bytes - -_UnnamedText_445bf: ; 0x8c4a6 - db $0, "Oh well, I'll get", $4f - db "a ZUBAT as I go!", $57 -; 0x8c4a6 + 35 bytes - -_UnnamedText_445c4: ; 0x8c4c9 - db $0, "Eek! Don't try", $4f - db "anything funny in", $55 - db "the dark!", $57 -; 0x8c4c9 + 43 bytes - -_UnnamedText_445c9: ; 0x8c4f4 - db $0, "It", $4f - db "was too dark!", $58 -; 0x8c4f4 + 18 bytes - -_UnnamedText_445ce: ; 0x8c506 - db $0, "I saw a MACHOP", $4f - db "in this tunnel!", $57 -; 0x8c506 + 32 bytes - -_UnnamedText_445d3: ; 0x8c526 - db $0, "I came this far", $4f - db "for #MON!", $57 -; 0x8c526 + 27 bytes - -_UnnamedText_445d8: ; 0x8c541 - db $0, "I'm", $4f - db "out of #MON!", $58 -; 0x8c541 + 17 bytes - -_UnnamedText_445dd: ; 0x8c552 - db $0, "You looked cute", $4f - db "and harmless!", $57 -; 0x8c552 + 31 bytes - -_UnnamedText_445e2: ; 0x8c571 - db $0, "You have #MON!", $4f - db "Let's start!", $57 -; 0x8c571 + 28 bytes - -_UnnamedText_445e7: ; 0x8c58d - db $0, "You", $4f - db "play hard!", $58 -; 0x8c58d + 16 bytes - -_UnnamedText_445ec: ; 0x8c59d - db $0, "Whew! I'm all", $4f - db "sweaty now!", $57 -; 0x8c59d + 26 bytes - -_RockTunnel1Text8: ; 0x8c5b7 - db $0, "ROCK TUNNEL", $4f - db "CERULEAN CITY -", $55 - db "LAVENDER TOWN", $57 - -_UnnamedText_1e3aa: ; 0x8c5e2 - db $0, "Bzzzt!", $57 -; 0x8c5e2 + 8 bytes - -_UnnamedText_1e3af: ; 0x8c5ea - db $0, "Gyaoo!@@" -; 0x8c5ea + 9 bytes - -_Route11GateText1: ; 0x8c5f3 - db $0, "When you catch", $4f - db "lots of #MON,", $55 - db "isn't it hard to", $55 - db "think up names?", $51 - db "In LAVENDER TOWN,", $4f - db "there's a man who", $55 - db "rates #MON", $55 - db "nicknames.", $51 - db "He'll help you", $4f - db "rename them too!", $57 - -_UnnamedText_494a3: ; 0x8c689 - db $0, "There are items on", $4f - db "the ground that", $55 - db "can't be seen.", $51 - db "ITEMFINDER will", $4f - db "detect an item", $55 - db "close to you.", $51 - db "It can't pinpoint", $4f - db "it, so you have", $55 - db "to look yourself!", $57 -; 0x8c689 + 146 bytes - -_UnnamedText_494c4: ; 0x8c71b - db $0, "Looked into the", $4f - db "binoculars.", $51 - db "A big #MON is", $4f - db "asleep on a road!", $57 -; 0x8c71b + 61 bytes - -_UnnamedText_494c9: ; 0x8c758 - db $0, "Looked into the", $4f - db "binoculars.", $51 - db "It's a beautiful", $4f - db "view!", $57 -; 0x8c758 + 51 bytes - -_UnnamedText_494d5: ; 0x8c78b - db $0, "Looked into the", $4f - db "binoculars.", $51 - db "The only way to", $4f - db "get from CERULEAN", $55 - db "CITY to LAVENDER", $55 - db "is by way of the", $55 - db "ROCK TUNNEL.", $57 -; 0x8c78b + 110 bytes - -_DiglettsCaveEntranceRoute11Text1: ; 0x8c7f9 - db $0, "What a surprise!", $4f - db "DIGLETTs dug this", $55 - db "long tunnel!", $51 - db "It goes right to", $4f - db "VIRIDIAN CITY!", $57 - -_Route12GateText1: ; 0x8c84a - db $0, "There's a lookout", $4f - db "spot upstairs.", $57 - -_UnnamedText_4959c: ; 0x8c86b - db $0, "My #MON's", $4f - db "ashes are stored", $55 - db "in #MON TOWER.", $51 - db "You can have this", $4f - db "TM. I don't need", $55 - db "it any more...", $58 -; 0x8c86b + 91 bytes - -_ReceivedTM39Text: ; 0x8c8c6 - db $0, $52, " received", $4f - db "TM39!@@" -; 0x8c8c6 + 19 bytes - -_UnnamedText_495a7: ; 0x8c8d9 - db $0, "TM39 is a move", $4f - db "called SWIFT.", $51 - db "It's very accurate,", $4f - db "so use it during", $55 - db "battles you can't", $55 - db "afford to lose.", $57 -; 0x8c8d9 + 99 bytes - -_UnnamedText_495ac: ; 0x8c93c - db $0, "You don't have", $4f - db "room for this.", $57 -; 0x8c93c + 30 bytes - -_UnnamedText_495b8: ; 0x8c95a - db $0, "Looked into the", $4f - db "binoculars.", $51 - db "A man fishing!", $57 -; 0x8c95a + 44 bytes - -_UnnamedText_495c4: ; 0x8c986 - db $0, "Looked into the", $4f - db "binoculars.", $51 - db "It's #MON TOWER!", $57 -; 0x8c986 + 45 bytes - -_UnnamedText_564c0: ; 0x8c9b3 - db $0, "I'm the FISHING", $4f - db "GURU's brother!", $51 - db "I simply Looove", $4f - db "fishing!", $51 - db "Do you like to", $4f - db "fish?", $57 -; 0x8c9b3 + 77 bytes - -_UnnamedText_564c5: ; 0x8ca00 - db $0, "Grand! I like", $4f - db "your style!", $51 - db "Take this and", $4f - db "fish, young one!", $51 - db $52, " received", $4f - db "a @" -; 0x8ca00 + 72 bytes - -UnknownText_8ca48: ; 0x8ca48 - TX_RAM $cf4b - db $0, "!@@" -; 0x8ca48 + 7 bytes - -_UnnamedText_564ca: ; 0x8ca4f - db $0, $51 - db "Fishing is a way", $4f - db "of life!", $51 - db "From the seas to", $4f - db "rivers, go out", $55 - db "and land the big", $55 - db "one!", $57 -; 0x8ca4f + 82 bytes - -_UnnamedText_564cf: ; 0x8caa1 - db $0, "Oh... That's so", $4f - db "disappointing...", $57 -; 0x8caa1 + 33 bytes - -_UnnamedText_564d4: ; 0x8cac2 - db $0, "Hello there,", $4f - db $52, "!", $51 - db "Use the SUPER ROD", $4f - db "in any water!", $55 - db "You can catch", $55 - db "different kinds", $55 - db "of #MON.", $51 - db "Try fishing", $4f - db "wherever you can!", $57 -; 0x8cac2 + 118 bytes - -_UnnamedText_564d9: ; 0x8cb38 - db $0, "Oh no!", $51 - db "I had a gift for", $4f - db "you, but you have", $55 - db "no room for it!", $57 -; 0x8cb38 + 59 bytes - -_Route15GateText1: ; 0x8cb73 - db $0, "Are you working", $4f - db "on a #DEX?", $51 - db "PROF.OAK's AIDE", $4f - db "came by here.", $57 - -_UnnamedText_4968c: ; 0x8cbac - db $0, "EXP.ALL gives", $4f - db "EXP points to all", $55 - db "the #MON with", $55 - db "you, even if they", $55 - db "don't fight.", $51 - db "It does, however,", $4f - db "reduce the amount", $55 - db "of EXP for each", $55 - db "#MON.", $51 - db "If you don't need", $4f - db "it, you should ", $55 - db "store it via PC.", $57 -; 0x8cbac + 185 bytes - -_UnnamedText_49698: ; 0x8cc65 - db $0, "Looked into the", $4f - db "binoculars.", $51 - db "It looks like a", $4f - db "small island!", $57 -; 0x8cc65 + 59 bytes - -_UnnamedText_49777: ; 0x8cca0 - db $0, "No pedestrians", $4f - db "are allowed on", $55 - db "CYCLING ROAD!", $57 -; 0x8cca0 + 45 bytes - -_UnnamedText_4977c: ; 0x8cccd - db $0, "CYCLING ROAD is a", $4f - db "downhill course", $55 - db "by the sea. It's", $55 - db "a great ride.", $57 -; 0x8cccd + 65 bytes - -_UnnamedText_49781: ; 0x8cd0e - db $0, "Excuse me! Wait", $4f - db "up please!", $57 -; 0x8cd0e + 28 bytes - -_Route16GateMapText2: ; 0x8cd2a - db $0, "How'd you get in?", $4f - db "Good effort!", $57 - -_UnnamedText_49820: ; 0x8cd49 - db $0, "I'm going for a", $4f - db "ride with my girl", $55 - db "friend!", $57 -; 0x8cd49 + 42 bytes - -_UnnamedText_4982f: ; 0x8cd73 - db $0, "We're going", $4f - db "riding together!", $57 -; 0x8cd73 + 29 bytes - -_UnnamedText_4983b: ; 0x8cd90 - db $0, "Looked into the", $4f - db "binoculars.", $51 - db "It's CELADON DEPT.", $4f - db "STORE!", $57 -; 0x8cd90 + 54 bytes - -_UnnamedText_49847: ; 0x8cdc6 - db $0, "Looked into the", $4f - db "binoculars.", $51 - db "There's a long", $4f - db "path over water!", $57 -; 0x8cdc6 + 60 bytes - -_Route16HouseText3: ; 0x8ce02 - db $0, "Oh, you found my", $4f - db "secret retreat!", $51 - db "Please don't tell", $4f - db "anyone I'm here.", $55 - db "I'll make it up", $55 - db "to you with this!", $58 -; 0x8ce02 + 100 bytes - -_ReceivedHM02Text: ; 0x8ce66 - db $0, $52, " received", $4f - db "HM02!@@" -; 0x8ce66 + 19 bytes - -_HM02ExplanationText: ; 0x8ce79 - db $0, "HM02 is FLY.", $4f - db "It will take you", $55 - db "back to any town.", $51 - db "Put it to good", $4f - db "use!", $57 -; 0x8ce79 + 69 bytes - -_HM02NoRoomText: ; 0x8cebe - db $0, "You don't have any", $4f - db "room for this.", $57 -; 0x8cebe + 34 bytes - -_UnnamedText_1e652: ; 0x8cee0 - db $0, "FEAROW: Kyueen!", $57 -; 0x8cee0 + 17 bytes - -_UnnamedText_49928: ; 0x8cef1 - db $0, "You need a BICYCLE", $4f - db "for CYCLING ROAD!", $57 -; 0x8cef1 + 38 bytes - -_UnnamedText_4992d: ; 0x8cf17 - db $0, "CYCLING ROAD is", $4f - db "all uphill from", $55 - db "here.", $57 -; 0x8cf17 + 39 bytes - -_UnnamedText_49932: ; 0x8cf3e - db $0, "Excuse me!", $57 -; 0x8cf3e + 12 bytes - -_UnnamedText_49993: ; 0x8cf4a - db $0, "Looked into the", $4f - db "binoculars.", $51 - db "PALLET TOWN is in", $4f - db "the west!", $57 -; 0x8cf4a + 57 bytes - -_UnnamedText_4999f: ; 0x8cf83 - db $0, "Looked into the", $4f - db "binoculars.", $51 - db "There are people", $4f - db "swimming!", $57 -; 0x8cf83 + 56 bytes - -_UnnamedText_1e704: ; 0x8cfbb - db $0, "Only truly skilled", $4f - db "trainers are", $55 - db "allowed through.", $51 - db "You don't have the", $4f - db "BOULDERBADGE yet!@@" -; 0x8d012 - -_UnnamedText_1e715: ; 0x8d012 - db $0, $51 - db "The rules are", $4f - db "rules. I can't", $55 - db "let you pass.", $57 -; 0x8d012 + 44 bytes - -_UnnamedText_1e71a: ; 0x8d03e - db $0, "Oh! That is the", $4f - db "BOULDERBADGE!", $55 - db "Go right ahead!@@" -; 0x8d03e + 48 bytes - -_UnnamedText_518ba: ; 0x8d06e - db $0, "Gyaoo!@@" -; 0x8d06e + 9 bytes - -_UnnamedText_518ca: ; 0x8d077 - db $0, "VICTORY ROAD is", $4f - db "the final test", $55 - db "for trainers!", $57 -; 0x8d077 + 46 bytes - -_UnnamedText_518cf: ; 0x8d0a5 - db $0, "Aiyah!", $58 -; 0x8d0a5 + 8 bytes - -_UnnamedText_518d4: ; 0x8d0ad - db $0, "If you get stuck,", $4f - db "try moving some", $55 - db "boulders around!", $57 -; 0x8d0ad + 52 bytes - -_UnnamedText_518d9: ; 0x8d0e1 - db $0, "Ah, so you wish", $4f - db "to challenge the", $55 - db "ELITE FOUR?", $57 -; 0x8d0e1 + 46 bytes - -_UnnamedText_518de: ; 0x8d10f - db $0, "You", $4f - db "got me!", $58 -; 0x8d10f + 13 bytes - -_UnnamedText_518e3: ; 0x8d11c - db $0, $53, " also came", $4f - db "through here!", $57 -; 0x8d11c + 27 bytes - -_UnnamedText_518e8: ; 0x8d137 - db $0, "Come on!", $4f - db "I'll whip you!", $57 -; 0x8d137 + 24 bytes - -_UnnamedText_518ed: ; 0x8d14f - db $0, "I got", $4f - db "whipped!", $58 -; 0x8d14f + 16 bytes - -_UnnamedText_518f2: ; 0x8d15f - db $0, "You earned the", $4f - db "right to be on", $55 - db "VICTORY ROAD!", $57 -; 0x8d15f + 45 bytes - -_UnnamedText_518f7: ; 0x8d18c - db $0, "If you can get", $4f - db "through here, you", $55 - db "can go meet the", $55 - db "ELITE FOUR!", $57 -; 0x8d18c + 62 bytes - -_UnnamedText_518fc: ; 0x8d1ca - db $0, "No!", $4f - db "Unbelievable!", $58 -; 0x8d1ca + 19 bytes - -_UnnamedText_51901: ; 0x8d1dd - db $0, "I can beat you", $4f - db "when it comes to", $55 - db "knowledge about", $55 - db "#MON!", $57 -; 0x8d1dd + 55 bytes - -_UnnamedText_51906: ; 0x8d214 - db $0, "Is VICTORY ROAD", $4f - db "too tough?", $57 -; 0x8d214 + 28 bytes - -_UnnamedText_5190b: ; 0x8d230 - db $0, "Well", $4f - db "done!", $58 -; 0x8d230 + 12 bytes - -_UnnamedText_51910: ; 0x8d23c - db $0, "Many trainers give", $4f - db "up the challenge", $55 - db "here.", $57 -; 0x8d23c + 43 bytes - -_UnnamedText_1e865: ; 0x8d267 - db $0, "Hiya! I'm a", $4f - db "#MON...", $55 - db "...No I'm not!", $51 - db "Call me BILL!", $4f - db "I'm a true blue", $55 - db "#MANIAC! Hey!", $55 - db "What's with that", $55 - db "skeptical look?", $51 - db "I'm not joshing", $4f - db "you, I screwed up", $55 - db "an experiment and", $55 - db "got combined with", $55 - db "a #MON!", $51 - db "So, how about it?", $4f - db "Help me out here!", $57 -; 0x8d267 + 222 bytes - -_UnnamedText_1e86a: ; 0x8d345 - db $0, "When I'm in the", $4f - db "TELEPORTER, go to", $55 - db "my PC and run the", $55 - db "Cell Separation", $55 - db "System!", $57 -; 0x8d345 + 76 bytes - -_UnnamedText_1e86f: ; 0x8d391 - db $0, "No!? Come on, you", $4f - db "gotta help a guy", $55 - db "in deep trouble!", $51 - db "What do you say,", $4f - db "chief? Please?", $55 - db "OK? All right!", $58 -; 0x8d391 + 100 bytes - -_BillThankYouText: ; 0x8d3f5 - db $0, "BILL: Yeehah!", $4f - db "Thanks, bud! I", $55 - db "owe you one!", $51 - db "So, did you come", $4f - db "to see my #MON", $55 - db "collection?", $55 - db "You didn't?", $55 - db "That's a bummer.", $51 - db "I've got to thank", $4f - db "you... Oh here,", $55 - db "maybe this'll do.", $58 -; 0x8d3f5 + 164 bytes - -_SSTicketReceivedText: ; 0x8d499 - db $0, $52, " received", $4f - db "an @" - TX_RAM $cf4b - db $0, "!@@" -; 0x8d4b0 - -_SSTicketNoRoomText: ; 0x8d4b0 - db $0, "You've got too", $4f - db "much stuff, bud!", $57 -; 0x8d4b0 + 32 bytes - -_UnnamedText_1e8cb: ; 0x8d4d0 - db $0, "That cruise ship,", $4f - db "S.S.ANNE, is in", $55 - db "VERMILION CITY.", $55 - db "Its passengers", $55 - db "are all trainers!", $51 - db "They invited me", $4f - db "to their party,", $55 - db "but I can't stand", $55 - db "fancy do's. Why", $55 - db "don't you go", $55 - db "instead of me?", $57 -; 0x8d4d0 + 175 bytes - -_UnnamedText_1e8da: ; 0x8d57f - db $0, "BILL: Look, bud,", $4f - db "just check out", $55 - db "some of my rare", $55 - db "#MON on my PC!", $57 -; 0x8d57f + 64 bytes - -_Route1ViridianMartSampleText: ; 0x8d5bf - db $0, "Hi! I work at a", $4f - db "#MON MART.", $51 - db "It's a convenient", $4f - db "shop, so please", $55 - db "visit us in", $55 - db "VIRIDIAN CITY.", $51 - db "I know, I'll give", $4f - db "you a sample!", $55 - db "Here you go!", $58 -; 0x8d5bf + 132 bytes - -UnknownText_8d643: ; 0x8d643 - db $0, $52, " got", $4f - db "@" -; 0x8d643 + 8 bytes - -UnknownText_8d64b: ; 0x8d64b - TX_RAM $cf4b - db $0, "!@@" -; 0x8d64b + 7 bytes - -_UnnamedText_1caee: ; 0x8d652 - db $0, "We also carry", $4f - db "# BALLs for", $55 - db "catching #MON!", $57 -; 0x8d652 + 42 bytes - -_UnnamedText_1caf3: ; 0x8d67c - db $0, "You have too much", $4f - db "stuff with you!", $57 -; 0x8d67c + 35 bytes - -_Route1Text2: ; 0x8d69f - db $0, "See those ledges", $4f - db "along the road?", $51 - db "It's a bit scary,", $4f - db "but you can jump", $55 - db "from them.", $51 - db "You can get back", $4f - db "to PALLET TOWN", $55 - db "quicker that way.", $57 - -_Route1Text3: ; 0x8d720 - db $0, "ROUTE 1", $4f - db "PALLET TOWN -", $55 - db "VIRIDIAN CITY", $57 - -_Route2Text3: ; 0x8d745 - db $0, "ROUTE 2", $4f - db "VIRIDIAN CITY -", $55 - db "PEWTER CITY", $57 - -_Route2Text4: ; 0x8d76a - db $0, "DIGLETT's CAVE", $57 - -_Route3Text1: ; 0x8d779 - db $0, "Whew... I better", $4f - db "take a rest...", $55 - db "Groan...", $51 - db "That tunnel from", $4f - db "CERULEAN takes a", $55 - db "lot out of you!", $57 - -_UnnamedText_55595: ; 0x8d7d5 - db $0, "Hey! I met you in", $4f - db "VIRIDIAN FOREST!", $57 -; 0x8d7d5 + 36 bytes - -_UnnamedText_5559a: ; 0x8d7f9 - db $0, "You", $4f - db "beat me again!", $58 -; 0x8d7f9 + 20 bytes - -_UnnamedText_5559f: ; 0x8d80d - db $0, "There are other", $4f - db "kinds of #MON", $55 - db "than those found", $55 - db "in the forest!", $57 -; 0x8d80d + 63 bytes - -_UnnamedText_555ae: ; 0x8d84c - db $0, "Hi! I like shorts!", $4f - db "They're comfy and", $55 - db "easy to wear!", $57 -; 0x8d84c + 51 bytes - -_UnnamedText_555b3: ; 0x8d87f - db $0, "I don't", $4f - db "believe it!", $58 -; 0x8d87f + 20 bytes - -_UnnamedText_555b8: ; 0x8d893 - db $0, "Are you storing", $4f - db "your #MON on", $55 - db "PC? Each BOX can", $55 - db "hold 20 #MON!", $57 -; 0x8d893 + 61 bytes - -_UnnamedText_555c7: ; 0x8d8d0 - db $0, "You looked at me,", $4f - db "didn't you?", $57 -; 0x8d8d0 + 30 bytes - -_UnnamedText_555cc: ; 0x8d8ee - db $0, "You're", $4f - db "mean!", $58 -; 0x8d8ee + 13 bytes - -_UnnamedText_555d1: ; 0x8d8fb - db $0, "Quit staring if", $4f - db "you don't want to", $55 - db "fight!", $57 -; 0x8d8fb + 41 bytes - -_UnnamedText_555e0: ; 0x8d924 - db $0, "Are you a trainer?", $4f - db "Let's fight!", $57 -; 0x8d924 + 32 bytes - -_UnnamedText_555e5: ; 0x8d944 - db $0, "If I", $4f - db "had new #MON I", $55 - db "would've won!", $58 -; 0x8d944 + 34 bytes - -_UnnamedText_555ea: ; 0x8d966 - db $0, "If a #MON BOX", $4f - db "on the PC gets", $55 - db "full, just switch", $55 - db "to another BOX!", $57 -; 0x8d966 + 64 bytes - -_UnnamedText_555f9: ; 0x8d9a6 - db $0, "That look you", $4f - db "gave me, it's so", $55 - db "intriguing!", $57 -; 0x8d9a6 + 43 bytes - -_UnnamedText_555fe: ; 0x8d9d1 - db $0, "Be nice!", $58 -; 0x8d9d1 + 10 bytes - -_UnnamedText_55603: ; 0x8d9db - db $0, "Avoid fights by", $4f - db "not letting", $55 - db "people see you!", $57 -; 0x8d9db + 45 bytes - -_UnnamedText_55612: ; 0x8da08 - db $0, "Hey! You're not", $4f - db "wearing shorts!", $57 -; 0x8da08 + 32 bytes - -_UnnamedText_55617: ; 0x8da28 - db $0, "Lost!", $4f - db "Lost! Lost!", $58 -; 0x8da28 + 19 bytes - -_UnnamedText_5561c: ; 0x8da3b - db $0, "I always wear", $4f - db "shorts, even in", $55 - db "winter!", $57 -; 0x8da3b + 39 bytes - -_UnnamedText_5562b: ; 0x8da62 - db $0, "You can fight my", $4f - db "new #MON!", $57 -; 0x8da62 + 28 bytes - -_UnnamedText_55630: ; 0x8da7e - db $0, "Done", $4f - db "like dinner!", $58 -; 0x8da7e + 19 bytes - -_UnnamedText_55635: ; 0x8da91 - db $0, "Trained #MON", $4f - db "are stronger than", $55 - db "the wild ones!", $57 -; 0x8da91 + 47 bytes - -_UnnamedText_55644: ; 0x8dac0 - db $0, "Eek! Did you", $4f - db "touch me?", $57 -; 0x8dac0 + 24 bytes - -_UnnamedText_55649: ; 0x8dad8 - db $0, "That's it?", $58 -; 0x8dad8 + 11 bytes - -_UnnamedText_5564e: ; 0x8dae3 - db $0, "ROUTE 4 is at the", $4f - db "foot of MT.MOON.", $57 -; 0x8dae3 + 36 bytes - -_Route3Text10: ; 0x8db07 - db $0, "ROUTE 3", $4f - db "MT.MOON AHEAD", $57 - -_Route4Text1: ; 0x8db1e - db $0, "Ouch! I tripped", $4f - db "over a rocky", $55 - db "#MON, GEODUDE!", $57 - -_UnnamedText_55699: ; 0x8db4b - db $0, "I came to get my", $4f - db "mushroom #MON!", $57 -; 0x8db4b + 33 bytes - -_UnnamedText_5569e: ; 0x8db6c - db $0, "Oh! My cute", $4f - db "mushroom #MON!", $58 -; 0x8db6c + 28 bytes - -_UnnamedText_556a3: ; 0x8db88 - db $0, "There might not", $4f - db "be any more", $55 - db "mushrooms here.", $51 - db "I think I got", $4f - db "them all.", $57 -; 0x8db88 + 69 bytes - -_Route4Text5: ; 0x8dbcd - db $0, "MT.MOON", $4f - db "Tunnel Entrance", $57 - -_Route4Text6: ; 0x8dbe6 - db $0, "ROUTE 4", $4f - db "MT.MOON -", $55 - db "CERULEAN CITY", $57 - -_Route5Text1: ; 0x8dc07 - db $0, "UNDERGROUND PATH", $4f - db "CERULEAN CITY -", $55 - db "VERMILION CITY", $57 - -_UnnamedText_5912a: ; 0x8dc38 - db $0, "Who's there?", $4f - db "Quit listening in", $55 - db "on us!", $57 -; 0x8dc38 + 38 bytes - -_UnnamedText_5912f: ; 0x8dc5e - db $0, "I", $4f - db "just can't win!", $58 -; 0x8dc5e + 18 bytes - -_UnnamedText_59134: ; 0x8dc70 - db $0, "Whisper...", $4f - db "whisper...", $57 -; 0x8dc70 + 23 bytes - -_UnnamedText_59143: ; 0x8dc87 - db $0, "Excuse me! This", $4f - db "is a private", $55 - db "conversation!", $57 -; 0x8dc87 + 44 bytes - -_UnnamedText_59148: ; 0x8dcb3 - db $0, "Ugh!", $4f - db "I hate losing!", $58 -; 0x8dcb3 + 21 bytes - -_UnnamedText_59157: ; 0x8dcc8 - db $0, "There aren't many", $4f - db "bugs out here.", $57 -; 0x8dcc8 + 33 bytes - -_UnnamedText_5915c: ; 0x8dce9 - db $0, "No!", $4f - db "You're kidding!", $58 -; 0x8dce9 + 20 bytes - -_UnnamedText_59161: ; 0x8dcfd - db $0, "I like bugs, so", $4f - db "I'm going back to", $55 - db "VIRIDIAN FOREST.", $57 -; 0x8dcfd + 51 bytes - -_UnnamedText_59170: ; 0x8dd30 - db $0, "Huh? You want", $4f - db "to talk to me?", $57 -; 0x8dd30 + 30 bytes - -_UnnamedText_59175: ; 0x8dd4e - db $0, "I", $4f - db "didn't start it!", $58 -; 0x8dd4e + 19 bytes - -_UnnamedText_5917a: ; 0x8dd61 - db $0, "I should carry", $4f - db "more #MON with", $55 - db "me for safety.", $57 -; 0x8dd61 + 46 bytes - -_UnnamedText_59189: ; 0x8dd8f - db $0, "Me? Well, OK.", $4f - db "I'll play!", $57 -; 0x8dd8f + 25 bytes - -_UnnamedText_5918e: ; 0x8dda8 - db $0, "Just", $4f - db "didn't work!", $58 -; 0x8dda8 + 18 bytes - -_UnnamedText_59193: ; 0x8ddba - db $0, "I want to get", $4f - db "stronger! What's", $55 - db "your secret?", $57 -; 0x8ddba + 44 bytes - -_UnnamedText_591a2: ; 0x8dde6 - db $0, "I've never seen", $4f - db "you around!", $55 - db "Are you good?", $57 -; 0x8dde6 + 42 bytes - -_UnnamedText_591a7: ; 0x8de10 - db $0, "You", $4f - db "are too good!", $58 -; 0x8de10 + 19 bytes - -_UnnamedText_591ac: ; 0x8de23 - db $0, "Are my #MON", $4f - db "weak? Or, am I", $55 - db "just bad?", $57 -; 0x8de23 + 38 bytes - -_Route6Text7: ; 0x8de49 - db $0, "UNDERGROUND PATH", $4f - db "CERULEAN CITY -", $55 - db "VERMILION CITY", $57 - -_Route7Text1: ; 0x8de7a - db $0, "UNDERGROUND PATH", $4f - db "CELADON CITY -", $55 - db "LAVENDER TOWN", $57 - -_UnnamedText_5925a: ; 0x8dea9 - db $0, "You look good at", $4f - db "#MON, but", $55 - db "how's your chem?", $57 -; 0x8dea9 + 44 bytes - -_UnnamedText_5925f: ; 0x8ded5 - db $0, "Ow!", $4f - db "Meltdown!", $58 -; 0x8ded5 + 15 bytes - -_UnnamedText_59264: ; 0x8dee4 - db $0, "I am better at", $4f - db "school than this!", $57 -; 0x8dee4 + 34 bytes - -_UnnamedText_59273: ; 0x8df06 - db $0, "All right! Let's", $4f - db "roll the dice!", $57 -; 0x8df06 + 32 bytes - -_UnnamedText_59278: ; 0x8df26 - db $0, "Drat!", $4f - db "Came up short!", $58 -; 0x8df26 + 22 bytes - -_UnnamedText_5927d: ; 0x8df3c - db $0, "Lady Luck's not", $4f - db "with me today!", $57 -; 0x8df3c + 31 bytes - -_UnnamedText_5928c: ; 0x8df5b - db $0, "You need strategy", $4f - db "to win at this!", $57 -; 0x8df5b + 35 bytes - -_UnnamedText_59291: ; 0x8df7e - db $0, "It's", $4f - db "not logical!", $58 -; 0x8df7e + 18 bytes - -_UnnamedText_59296: ; 0x8df90 - db $0, "Go with GRIMER", $4f - db "first...and...", $55 - db "...and...then...", $57 -; 0x8df90 + 48 bytes - -_UnnamedText_592a5: ; 0x8dfc0 - db $0, "I like NIDORAN, so", $4f - db "I collect them!", $57 -; 0x8dfc0 + 36 bytes - -_UnnamedText_592aa: ; 0x8dfe4 - db $0, "Why? Why??", $58 -; 0x8dfe4 + 12 bytes - -_UnnamedText_592af: ; 0x8dff0 - db $0, "When #MON grow", $4f - db "up they get ugly!", $55 - db "They shouldn't", $55 - db "evolve!", $57 -; 0x8dff0 + 56 bytes - -_UnnamedText_592be: ; 0x8e028 - db $0, "School is fun, but", $4f - db "so are #MON.", $57 -; 0x8e028 + 33 bytes - -_UnnamedText_592c3: ; 0x8e049 - db $0, "I'll", $4f - db "stay with school.", $58 -; 0x8e049 + 23 bytes - -_UnnamedText_592c8: ; 0x8e060 - db $0, "We're stuck here", $4f - db "because of the", $55 - db "gates at SAFFRON.", $57 -; 0x8e060 + 50 bytes - -_UnnamedText_592d7: ; 0x8e092 - db $0, "MEOWTH is so cute,", $4f - db "meow, meow, meow!", $57 -; 0x8e092 + 38 bytes - -_UnnamedText_592dc: ; 0x8e0b8 - db $0, "Meow!", $58 -; 0x8e0b8 + 7 bytes - -_UnnamedText_592e1: ; 0x8e0bf - db $0, "I think PIDGEY", $4f - db "and RATTATA", $55 - db "are cute too!", $57 -; 0x8e0bf + 42 bytes - -_UnnamedText_592f0: ; 0x8e0e9 - db $0, "We must look", $4f - db "silly standing", $55 - db "here like this!", $57 -; 0x8e0e9 + 45 bytes - -_UnnamedText_592f5: ; 0x8e116 - db $0, "Look what", $4f - db "you did!", $58 -; 0x8e116 + 20 bytes - -_UnnamedText_592fa: ; 0x8e12a - db $0, "SAFFRON's gate", $4f - db "keeper won't let", $55 - db "us through.", $55 - db "He's so mean!", $57 -; 0x8e12a + 56 bytes - -_UnnamedText_59309: ; 0x8e162 - db $0, "I'm a rambling,", $4f - db "gambling dude!", $57 -; 0x8e162 + 31 bytes - -_UnnamedText_5930e: ; 0x8e181 - db $0, "Missed", $4f - db "the big score!", $58 -; 0x8e181 + 23 bytes - -_UnnamedText_59313: ; 0x8e198 - db $0, "Gambling and", $4f - db "#MON are like", $55 - db "eating peanuts!", $55 - db "Just can't stop!", $57 -; 0x8e198 + 60 bytes - -_UnnamedText_59322: ; 0x8e1d4 - db $0, "What's a cute,", $4f - db "round and fluffy", $55 - db "#MON?", $57 -; 0x8e1d4 + 38 bytes - -_UnnamedText_59327: ; 0x8e1fa - db $0, "Stop!", $51 - db "Don't be so mean", $4f - db "to my CLEFAIRY!", $58 -; 0x8e1fa + 39 bytes - -_UnnamedText_5932c: ; 0x8e221 - db $0, "I heard that", $4f - db "CLEFAIRY evolves", $55 - db "when it's exposed", $55 - db "to a MOON STONE.", $57 -; 0x8e221 + 65 bytes - -_Route8Text10: ; 0x8e262 - db $0, "UNDERGROUND PATH", $4f - db "CELADON CITY -", $55 - db "LAVENDER TOWN", $57 - -_UnnamedText_55792: ; 0x8e291 - db $0, "You have #MON", $4f - db "with you!", $55 - db "You're mine!", $57 -; 0x8e291 + 37 bytes - -_UnnamedText_55797: ; 0x8e2b6 - db $0, "You", $4f - db "deceived me!", $58 -; 0x8e2b6 + 18 bytes - -_UnnamedText_5579c: ; 0x8e2c8 - db $0, "You need light to", $4f - db "get through that", $55 - db "dark tunnel ahead.", $57 -; 0x8e2c8 + 55 bytes - -_UnnamedText_557a1: ; 0x8e2ff - db $0, "Who's that walking", $4f - db "with those good", $55 - db "looking #MON?", $57 -; 0x8e2ff + 49 bytes - -_UnnamedText_557a6: ; 0x8e330 - db $0, "Out", $4f - db "like a light!", $58 -; 0x8e330 + 19 bytes - -_UnnamedText_557ab: ; 0x8e343 - db $0, "Keep walking!", $57 -; 0x8e343 + 15 bytes - -_UnnamedText_557b0: ; 0x8e352 - db $0, "I'm taking ROCK", $4f - db "TUNNEL to go to", $55 - db "LAVENDER...", $57 -; 0x8e352 + 44 bytes - -_UnnamedText_557b5: ; 0x8e37e - db $0, "Can't", $4f - db "measure up!", $58 -; 0x8e37e + 18 bytes - -_UnnamedText_557ba: ; 0x8e390 - db $0, "Are you off to", $4f - db "ROCK TUNNEL too?", $57 -; 0x8e390 + 33 bytes - -_UnnamedText_557bf: ; 0x8e3b1 - db $0, "Don't you dare", $4f - db "condescend me!", $57 -; 0x8e3b1 + 30 bytes - -_UnnamedText_557c4: ; 0x8e3cf - db $0, "No!", $4f - db "You're too much!", $58 -; 0x8e3cf + 21 bytes - -_UnnamedText_557c9: ; 0x8e3e4 - db $0, "You're obviously", $4f - db "talented! Good", $55 - db "luck to you!", $57 -; 0x8e3e4 + 45 bytes - -_UnnamedText_557ce: ; 0x8e411 - db $0, "Bwahaha!", $4f - db "Great! I was", $55 - db "bored, eh!", $57 -; 0x8e411 + 34 bytes - -_UnnamedText_557d3: ; 0x8e433 - db $0, "Keep it", $4f - db "coming, eh!", $51 - db "Oh wait. I'm out", $4f - db "of #MON!", $58 -; 0x8e433 + 46 bytes - -_UnnamedText_557d8: ; 0x8e461 - db $0, "You sure had guts", $4f - db "standing up to me", $55 - db "there, eh?", $57 -; 0x8e461 + 48 bytes - -_UnnamedText_557dd: ; 0x8e491 - db $0, "Hahaha!", $4f - db "Aren't you a", $55 - db "little toughie!", $57 -; 0x8e491 + 37 bytes - -_UnnamedText_557e2: ; 0x8e4b6 - db $0, "What's", $4f - db "that?", $58 -; 0x8e4b6 + 13 bytes - -_UnnamedText_557e7: ; 0x8e4c3 - db $0, "Hahaha! Kids", $4f - db "should be tough!", $57 -; 0x8e4c3 + 31 bytes - -_UnnamedText_557ec: ; 0x8e4e2 - db $0, "I got up early", $4f - db "every day to", $55 - db "raise my #MON", $55 - db "from cocoons!", $57 -; 0x8e4e2 + 57 bytes - -_UnnamedText_557f1: ; 0x8e51b - db $0, "WHAT?", $51 - db "What a total", $4f - db "waste of time!", $58 -; 0x8e51b + 35 bytes - -_UnnamedText_557f6: ; 0x8e53e - db $0, "I have to collect", $4f - db "more than bugs to", $55 - db "get stronger...", $57 -; 0x8e53e + 53 bytes - -_UnnamedText_557fb: ; 0x8e573 - db $0, "Hahahaha!", $4f - db "Come on, dude!", $57 -; 0x8e573 + 26 bytes - -_UnnamedText_55800: ; 0x8e58d - db $0, "Hahahaha!", $4f - db "You beat me fair!", $58 -; 0x8e58d + 29 bytes - -_UnnamedText_55805: ; 0x8e5aa - db $0, "Hahahaha!", $4f - db "Us hearty guys", $55 - db "always laugh!", $57 -; 0x8e5aa + 40 bytes - -_UnnamedText_5580a: ; 0x8e5d2 - db $0, "Go, my super bug", $4f - db "#MON!", $57 -; 0x8e5d2 + 24 bytes - -_UnnamedText_5580f: ; 0x8e5ea - db $0, "My", $4f - db "bugs...", $58 -; 0x8e5ea + 12 bytes - -_UnnamedText_55814: ; 0x8e5f6 - db $0, "If you don't like", $4f - db "bug #MON, you", $55 - db "bug me!", $57 -; 0x8e5f6 + 40 bytes - -_Route9Text11: ; 0x8e61e - db $0, "ROUTE 9", $4f - db "CERULEAN CITY-", $55 - db "ROCK TUNNEL", $57 - -_UnnamedText_593b6: ; 0x8e642 - db $0, "Wow, are you a", $4f - db "#MANIAC too?", $55 - db "Want to see my", $55 - db "collection?", $57 -; 0x8e642 + 56 bytes - -_UnnamedText_593bb: ; 0x8e67a - db $0, "Humph.", $4f - db "I'm not angry!", $58 -; 0x8e67a + 22 bytes - -_UnnamedText_593c0: ; 0x8e690 - db $0, "I have more rare", $4f - db "#MON at home!", $57 -; 0x8e690 + 32 bytes - -_UnnamedText_593cf: ; 0x8e6b0 - db $0, "Ha-hahah-ah-ha!", $57 -; 0x8e6b0 + 17 bytes - -_UnnamedText_593d4: ; 0x8e6c1 - db $0, "Ha-haha!", $4f - db "Not laughing!", $55 - db "Ha-hay fever!", $55 - db "Haha-ha-choo!", $58 -; 0x8e6c1 + 52 bytes - -_UnnamedText_593d9: ; 0x8e6f5 - db $0, "Haha-ha-choo!", $4f - db "Ha-choo!", $55 - db "Snort! Snivel!", $57 -; 0x8e6f5 + 39 bytes - -_UnnamedText_593e8: ; 0x8e71c - db $0, "Hi kid, want to", $4f - db "see my #MON?", $57 -; 0x8e71c + 30 bytes - -_UnnamedText_593ed: ; 0x8e73a - db $0, "Oh no!", $4f - db "My #MON!", $58 -; 0x8e73a + 17 bytes - -_UnnamedText_593f2: ; 0x8e74b - db $0, "I don't like you", $4f - db "for beating me!", $57 -; 0x8e74b + 33 bytes - -_UnnamedText_59401: ; 0x8e76c - db $0, "I've been to a", $4f - db "#MON GYM a few", $55 - db "times. But, I", $55 - db "lost each time.", $57 -; 0x8e76c + 60 bytes - -_UnnamedText_59406: ; 0x8e7a8 - db $0, "Ohh!", $4f - db "Blew it again!", $58 -; 0x8e7a8 + 21 bytes - -_UnnamedText_5940b: ; 0x8e7bd - db $0, "I noticed some", $4f - db "#MANIACs", $55 - db "prowling around.", $57 -; 0x8e7bd + 42 bytes - -_UnnamedText_5941a: ; 0x8e7e7 - db $0, "Ah! This mountain", $4f - db "air is delicious!", $57 -; 0x8e7e7 + 37 bytes - -_UnnamedText_5941f: ; 0x8e80c - db $0, "That", $4f - db "cleared my head!", $58 -; 0x8e80c + 23 bytes - -_UnnamedText_59424: ; 0x8e823 - db $0, "I feel bloated on", $4f - db "mountain air!", $57 -; 0x8e823 + 33 bytes - -_UnnamedText_59433: ; 0x8e844 - db $0, "I'm feeling a bit", $4f - db "faint from this", $55 - db "tough hike.", $57 -; 0x8e844 + 46 bytes - -_UnnamedText_59438: ; 0x8e872 - db $0, "I'm", $4f - db "not up to it!", $58 -; 0x8e872 + 18 bytes - -_UnnamedText_5943d: ; 0x8e884 - db $0, "The #MON here", $4f - db "are so chunky!", $55 - db "There should be a", $55 - db "pink one with a", $55 - db "floral pattern!", $57 -; 0x8e884 + 80 bytes - -_Route10Text9: ; 0x8e8d4 -_Route10Text7: ; 0x8e8d4 - db $0, "ROCK TUNNEL", $57 - -_Route10Text10: ; 0x8e8e1 - db $0, "POWER PLANT", $57 - -_UnnamedText_594fe: ; 0x8e8ee - db $0, "Win, lose or draw!", $57 -; 0x8e8ee + 20 bytes - -_UnnamedText_59503: ; 0x8e902 - db $0, "Atcha!", $4f - db "Didn't go my way!", $58 -; 0x8e902 + 25 bytes - -_UnnamedText_59508: ; 0x8e91b - db $0, "#MON is life!", $4f - db "And to live is to", $55 - db "gamble!", $57 -; 0x8e91b + 41 bytes - -_UnnamedText_59517: ; 0x8e944 - db $0, "Competition! I", $4f - db "can't get enough!", $57 -; 0x8e944 + 33 bytes - -_UnnamedText_5951c: ; 0x8e965 - db $0, "I had", $4f - db "a chance!", $58 -; 0x8e965 + 17 bytes - -_UnnamedText_59521: ; 0x8e976 - db $0, "You can't be a", $4f - db "coward in the", $55 - db "world of #MON!", $57 -; 0x8e976 + 44 bytes - -_UnnamedText_59530: ; 0x8e9a2 - db $0, "Let's go, but", $4f - db "don't cheat!", $57 -; 0x8e9a2 + 26 bytes - -_UnnamedText_59535: ; 0x8e9bc - db $0, "Huh?", $4f - db "That's not right!", $58 -; 0x8e9bc + 23 bytes - -_UnnamedText_5953a: ; 0x8e9d3 - db $0, "I did my best! I", $4f - db "have no regrets!", $57 -; 0x8e9d3 + 35 bytes - -_UnnamedText_59549: ; 0x8e9f6 - db $0, "Careful!", $4f - db "I'm laying down", $55 - db "some cables!", $57 -; 0x8e9f6 + 38 bytes - -_UnnamedText_5954e: ; 0x8ea1c - db $0, "That", $4f - db "was electric!", $58 -; 0x8ea1c + 20 bytes - -_UnnamedText_59553: ; 0x8ea30 - db $0, "Spread the word", $4f - db "to save energy!", $57 -; 0x8ea30 + 33 bytes - -_UnnamedText_59562: ; 0x8ea51 - db $0, "I just became a", $4f - db "trainer! But, I", $55 - db "think I can win!", $57 -; 0x8ea51 + 50 bytes - -_UnnamedText_59567: ; 0x8ea83 - db $0, "My", $4f - db "#MON couldn't!", $58 -; 0x8ea83 + 18 bytes - -_UnnamedText_5956c: ; 0x8ea95 - db $0, "What do you want?", $4f - db "Leave me alone!", $57 -; 0x8ea95 + 35 bytes - -_UnnamedText_5957b: ; 0x8eab8 - db $0, "Fwahaha! I have", $4f - db "never lost!", $57 -; 0x8eab8 + 29 bytes - -_UnnamedText_59580: ; 0x8ead5 - db $0, "My", $4f - db "first loss!", $58 -; 0x8ead5 + 16 bytes - -_UnnamedText_59585: ; 0x8eae5 - db $0, "Luck of the draw!", $4f - db "Just luck!", $57 -; 0x8eae5 + 30 bytes - -_UnnamedText_59594: ; 0x8eb03 - db $0, "I have never won", $4f - db "before...", $57 -; 0x8eb03 + 28 bytes - -_UnnamedText_59599: ; 0x8eb1f - db $0, "I saw", $4f - db "this coming...", $58 -; 0x8eb1f + 22 bytes - -_UnnamedText_5959e: ; 0x8eb35 - db $0, "It's just luck.", $4f - db "Luck of the draw.", $57 -; 0x8eb35 + 34 bytes - -_UnnamedText_595ad: ; 0x8eb57 - db $0, "I'm the best in", $4f - db "my class!", $57 -; 0x8eb57 + 26 bytes - -_UnnamedText_595b2: ; 0x8eb71 - db $0, "Darn!", $4f - db "I need to make my", $55 - db "#MON stronger!", $58 -; 0x8eb71 + 40 bytes - -_UnnamedText_595b7: ; 0x8eb99 - db $0, "There's a fat", $4f - db "#MON that", $55 - db "comes down from", $55 - db "the mountains.", $51 - db "It's strong if", $4f - db "you can get it.", $57 -; 0x8eb99 + 85 bytes - -_UnnamedText_595c6: ; 0x8ebee - db $0, "Watch out for", $4f - db "live wires!", $57 -; 0x8ebee + 27 bytes - -SECTION "bank24",DATA,BANK[$24] - -_UnnamedText_595cb: ; 0x90000 - db $0, "Whoa!", $4f - db "You spark plug!", $58 -; 0x90000 + 23 bytes - -_UnnamedText_595d0: ; 0x90017 - db $0, "Well, better get", $4f - db "back to work.", $57 -; 0x90017 + 32 bytes - -_UnnamedText_595df: ; 0x90037 - db $0, "My #MON should", $4f - db "be ready by now!", $57 -; 0x90037 + 33 bytes - -_UnnamedText_595e4: ; 0x90058 - db $0, "Too", $4f - db "much, too young!", $58 -; 0x90058 + 22 bytes - -_UnnamedText_595e9: ; 0x9006e - db $0, "I better go find", $4f - db "stronger ones!", $57 -; 0x9006e + 33 bytes - -_Route11Text11: ; 0x9008f - db $0, "DIGLETT's CAVE", $57 - -_Route12Text1: ; 0x9009e - db $0, "A sleeping #MON", $4f - db "blocks the way!", $57 - -_UnnamedText_596eb: ; 0x900bf - db $0, "SNORLAX woke up!", $51 - db "It attacked in a", $4f - db "grumpy rage!", $57 -; 0x900bf + 48 bytes - -_UnnamedText_596f0: ; 0x900ef - db $0, "SNORLAX calmed", $4f - db "down! With a big", $55 - db "yawn, it returned", $55 - db "to the mountains!", $57 -; 0x900ef + 69 bytes - -_UnnamedText_596ff: ; 0x90134 - db $0, "Yeah! I got a", $4f - db "bite, here!", $57 -; 0x90134 + 27 bytes - -_UnnamedText_59704: ; 0x9014f - db $0, "Tch!", $4f - db "Just a small fry!", $58 -; 0x9014f + 24 bytes - -_UnnamedText_59709: ; 0x90167 - db $0, "Hang on! My line's", $4f - db "snagged!", $57 -; 0x90167 + 28 bytes - -_UnnamedText_59718: ; 0x90183 - db $0, "Be patient!", $4f - db "Fishing is a", $55 - db "waiting game!", $57 -; 0x90183 + 40 bytes - -_UnnamedText_5971d: ; 0x901ab - db $0, "That", $4f - db "one got away!", $58 -; 0x901ab + 20 bytes - -_UnnamedText_59722: ; 0x901bf - db $0, "With a better ROD,", $4f - db "I could catch", $55 - db "better #MON!", $57 -; 0x901bf + 47 bytes - -_UnnamedText_59731: ; 0x901ee - db $0, "Have you found a", $4f - db "MOON STONE?", $57 -; 0x901ee + 30 bytes - -_UnnamedText_59736: ; 0x9020c - db $0, "Oww!", $58 -; 0x9020c + 6 bytes - -_UnnamedText_5973b: ; 0x90212 - db $0, "I could have made", $4f - db "my #MON evolve", $55 - db "with MOON STONE!", $57 -; 0x90212 + 51 bytes - -_UnnamedText_5974a: ; 0x90245 - db $0, "Electricity is my", $4f - db "specialty!", $57 -; 0x90245 + 30 bytes - -_UnnamedText_5974f: ; 0x90263 - db $0, "Unplugged!", $58 -; 0x90263 + 12 bytes - -_UnnamedText_59754: ; 0x9026f - db $0, "Water conducts", $4f - db "electricity, so", $55 - db "you should zap", $55 - db "sea #MON!", $57 -; 0x9026f + 57 bytes - -_UnnamedText_59763: ; 0x902a8 - db $0, "The FISHING FOOL", $4f - db "vs. #MON KID!", $57 -; 0x902a8 + 32 bytes - -_UnnamedText_59768: ; 0x902c8 - db $0, "Too", $4f - db "much!", $58 -; 0x902c8 + 11 bytes - -_UnnamedText_5976d: ; 0x902d3 - db $0, "You beat me at", $4f - db "#MON, but I'm", $55 - db "good at fishing!", $57 -; 0x902d3 + 46 bytes - -_UnnamedText_5977c: ; 0x90301 - db $0, "I'd rather be", $4f - db "working!", $57 -; 0x90301 + 23 bytes - -_UnnamedText_59781: ; 0x90318 - db $0, "It's", $4f - db "not easy...", $58 -; 0x90318 + 17 bytes - -_UnnamedText_59786: ; 0x90329 - db $0, "It's all right.", $4f - db "Losing doesn't", $55 - db "bug me any more.", $57 -; 0x90329 + 47 bytes - -_UnnamedText_59795: ; 0x90358 - db $0, "You never know", $4f - db "what you could", $55 - db "catch!", $57 -; 0x90358 + 38 bytes - -_UnnamedText_5979a: ; 0x9037e - db $0, "Lost", $4f - db "it!", $58 -; 0x9037e + 10 bytes - -_UnnamedText_5979f: ; 0x90388 - db $0, "I catch MAGIKARP", $4f - db "all the time, but", $55 - db "they're so weak!", $57 -; 0x90388 + 52 bytes - -_Route12Text11: ; 0x903bc - db $0, "ROUTE 12 ", $4f - db "North to LAVENDER", $57 - -_Route12Text12: ; 0x903d9 - db $0, "SPORT FISHING AREA", $57 - -_UnnamedText_558d4: ; 0x903ed - db $0, "My bird #MON", $4f - db "want to scrap!", $57 -; 0x903ed + 29 bytes - -_UnnamedText_558d9: ; 0x9040a - db $0, "My", $4f - db "bird combo lost?", $58 -; 0x9040a + 21 bytes - -_UnnamedText_558de: ; 0x9041f - db $0, "My #MON look", $4f - db "happy even though", $55 - db "they lost.", $57 -; 0x9041f + 43 bytes - -_UnnamedText_558ed: ; 0x9044a - db $0, "I'm told I'm good", $4f - db "for a kid!", $57 -; 0x9044a + 28 bytes - -_UnnamedText_558f2: ; 0x90466 - db $0, "Ohh!", $4f - db "I lost!", $58 -; 0x90466 + 14 bytes - -_UnnamedText_558f7: ; 0x90474 - db $0, "I want to become", $4f - db "a good trainer.", $55 - db "I'll train hard.", $57 -; 0x90474 + 50 bytes - -_UnnamedText_55906: ; 0x904a6 - db $0, "Wow! Your BADGEs", $4f - db "are too cool!", $57 -; 0x904a6 + 32 bytes - -_UnnamedText_5590b: ; 0x904c6 - db $0, "Not", $4f - db "enough!", $58 -; 0x904c6 + 13 bytes - -_UnnamedText_55910: ; 0x904d3 - db $0, "You got those", $4f - db "BADGEs from GYM", $55 - db "LEADERs. I know!", $57 -; 0x904d3 + 48 bytes - -_UnnamedText_5591f: ; 0x90503 - db $0, "My cute #MON", $4f - db "wish to make your", $55 - db "acquaintance.", $57 -; 0x90503 + 46 bytes - -_UnnamedText_55924: ; 0x90531 - db $0, "Wow!", $4f - db "You totally won!", $58 -; 0x90531 + 23 bytes - -_UnnamedText_55929: ; 0x90548 - db $0, "You have to make", $4f - db "#MON fight to", $55 - db "toughen them up!", $57 -; 0x90548 + 49 bytes - -_UnnamedText_55938: ; 0x90579 - db $0, "I found CARBOS in", $4f - db "a cave once.", $57 -; 0x90579 + 32 bytes - -_UnnamedText_5593d: ; 0x90599 - db $0, "Just", $4f - db "messed up!", $58 -; 0x90599 + 17 bytes - -_UnnamedText_55942: ; 0x905aa - db $0, "CARBOS boosted", $4f - db "the SPEED of my", $55 - db "#MON.", $57 -; 0x905aa + 38 bytes - -_UnnamedText_55951: ; 0x905d0 - db $0, "The wind's blowing", $4f - db "my way!", $57 -; 0x905d0 + 27 bytes - -_UnnamedText_55956: ; 0x905eb - db $0, "The", $4f - db "wind turned!", $58 -; 0x905eb + 18 bytes - -_UnnamedText_5595b: ; 0x905fd - db $0, "I'm beat. I guess", $4f - db "I'll FLY home.", $57 -; 0x905fd + 32 bytes - -_UnnamedText_5596a: ; 0x9061d - db $0, "Sure, I'll play", $4f - db "with you!", $57 -; 0x9061d + 26 bytes - -_UnnamedText_5596f: ; 0x90637 - db $0, "Oh!", $4f - db "You little brute!", $58 -; 0x90637 + 23 bytes - -_UnnamedText_55974: ; 0x9064e - db $0, "I wonder which is", $4f - db "stronger, male or", $55 - db "female #MON?", $57 -; 0x9064e + 50 bytes - -_UnnamedText_55983: ; 0x90680 - db $0, "Do you want to", $4f - db "#MON with me?", $57 -; 0x90680 + 30 bytes - -_UnnamedText_55988: ; 0x9069e - db $0, "It's over", $4f - db "already?", $58 -; 0x9069e + 19 bytes - -_UnnamedText_5598d: ; 0x906b1 - db $0, "I don't know", $4f - db "anything about", $55 - db "#MON. I just", $55 - db "like cool ones!", $57 -; 0x906b1 + 57 bytes - -_UnnamedText_5599c: ; 0x906ea - db $0, "What're you", $4f - db "lookin' at?", $57 -; 0x906ea + 24 bytes - -_UnnamedText_559a1: ; 0x90702 - db $0, "Dang!", $4f - db "Stripped gears!", $58 -; 0x90702 + 23 bytes - -_UnnamedText_559a6: ; 0x90719 - db $0, "Get lost!", $57 -; 0x90719 + 11 bytes - -_UnnamedText_559b5: ; 0x90724 - db $0, "I always go with", $4f - db "bird #MON!", $57 -; 0x90724 + 29 bytes - -_UnnamedText_559ba: ; 0x90741 - db $0, "Out", $4f - db "of power!", $58 -; 0x90741 + 15 bytes - -_UnnamedText_559bf: ; 0x90750 - db $0, "I wish I could", $4f - db "fly like PIDGEY", $55 - db "and PIDGEOTTO...", $57 -; 0x90750 + 49 bytes - -_Route13Text11: ; 0x90781 - db $0, "TRAINER TIPS", $51 - db "Look to the left", $4f - db "of that post!", $57 - -_Route13Text12: ; 0x907ae - db $0, "TRAINER TIPS", $51 - db "Use SELECT to", $4f - db "switch items in", $55 - db "the ITEM window!", $57 - -_Route13Text13: ; 0x907eb - db $0, "ROUTE 13", $4f - db "North to SILENCE", $55 - db "BRIDGE", $57 - -_UnnamedText_55a85: ; 0x9080d - db $0, "You need to use", $4f - db "TMs to teach good", $55 - db "moves to #MON!", $57 -; 0x9080d + 50 bytes - -_UnnamedText_55a8a: ; 0x9083f - db $0, "Not", $4f - db "good enough!", $58 -; 0x9083f + 18 bytes - -_UnnamedText_55a8f: ; 0x90851 - db $0, "You have some HMs", $4f - db "right? #MON", $55 - db "can't ever forget", $55 - db "those moves.", $57 -; 0x90851 + 61 bytes - -_UnnamedText_55a9e: ; 0x9088e - db $0, "My bird #MON", $4f - db "should be ready", $55 - db "for battle.", $57 -; 0x9088e + 42 bytes - -_UnnamedText_55aa3: ; 0x908b8 - db $0, "Not", $4f - db "ready yet!", $58 -; 0x908b8 + 16 bytes - -_UnnamedText_55aa8: ; 0x908c8 - db $0, "They need to learn", $4f - db "better moves.", $57 -; 0x908c8 + 34 bytes - -_UnnamedText_55ab7: ; 0x908ea - db $0, "TMs are on sale", $4f - db "in CELADON!", $55 - db "But, only a few", $55 - db "people have HMs!", $57 -; 0x908ea + 62 bytes - -_UnnamedText_55abc: ; 0x90928 - db $0, "Aww,", $4f - db "bummer!", $58 -; 0x90928 + 14 bytes - -_UnnamedText_55ac1: ; 0x90936 - db $0, "Teach #MON", $4f - db "moves of the same", $55 - db "element type for", $55 - db "more power.", $57 -; 0x90936 + 59 bytes - -_UnnamedText_55ad0: ; 0x90971 - db $0, "Have you taught", $4f - db "your bird #MON", $55 - db "how to FLY?", $57 -; 0x90971 + 44 bytes - -_UnnamedText_55ad5: ; 0x9099d - db $0, "Shot", $4f - db "down in flames!", $58 -; 0x9099d + 22 bytes - -_UnnamedText_55ada: ; 0x909b3 - db $0, "Bird #MON are", $4f - db "my true love!", $57 -; 0x909b3 + 29 bytes - -_UnnamedText_55ae9: ; 0x909d0 - db $0, "Have you heard of", $4f - db "the legendary", $55 - db "#MON?", $57 -; 0x909d0 + 39 bytes - -_UnnamedText_55aee: ; 0x909f7 - db $0, "Why?", $4f - db "Why'd I lose?", $58 -; 0x909f7 + 19 bytes - -_UnnamedText_55af3: ; 0x90a0a - db $0, "The 3 legendary", $4f - db "#MON are all", $55 - db "birds of prey.", $57 -; 0x90a0a + 45 bytes - -_UnnamedText_55b02: ; 0x90a37 - db $0, "I'm not into it,", $4f - db "but OK! Let's go!", $57 -; 0x90a37 + 34 bytes - -_UnnamedText_55b07: ; 0x90a59 - db $0, "I", $4f - db "knew it!", $58 -; 0x90a59 + 12 bytes - -_UnnamedText_55b0c: ; 0x90a65 - db $0, "Winning, losing,", $4f - db "it doesn't matter", $55 - db "in the long run!", $57 -; 0x90a65 + 52 bytes - -_UnnamedText_55b1b: ; 0x90a99 - db $0, "C'mon, c'mon.", $4f - db "Let's go, let's", $55 - db "go, let's go!", $57 -; 0x90a99 + 40 bytes - -_UnnamedText_55b20: ; 0x90ac1 - db $0, "Arrg!", $4f - db "Lost! Get lost!", $58 -; 0x90ac1 + 23 bytes - -_UnnamedText_55b25: ; 0x90ad8 - db $0, "What, what, what?", $4f - db "What do you want?", $57 -; 0x90ad8 + 37 bytes - -_UnnamedText_55b34: ; 0x90afd - db $0, "Perfect! I need to", $4f - db "burn some time!", $57 -; 0x90afd + 36 bytes - -_UnnamedText_55b39: ; 0x90b21 - db $0, "What?", $4f - db "You!?", $58 -; 0x90b21 + 13 bytes - -_UnnamedText_55b3e: ; 0x90b2e - db $0, "Raising #MON", $4f - db "is a drag, man.", $57 -; 0x90b2e + 30 bytes - -_UnnamedText_55b4d: ; 0x90b4c - db $0, "We ride out here", $4f - db "because there's", $55 - db "more room!", $57 -; 0x90b4c + 44 bytes - -_UnnamedText_55b52: ; 0x90b78 - db $0, "Wipe out!", $58 -; 0x90b78 + 11 bytes - -_UnnamedText_55b57: ; 0x90b83 - db $0, "It's cool you", $4f - db "made your #MON", $55 - db "so strong!", $51 - db "Might is right!", $4f - db "And you know it!", $57 -; 0x90b83 + 73 bytes - -_UnnamedText_55b66: ; 0x90bcc - db $0, "#MON fight?", $4f - db "Cool! Rumble!", $57 -; 0x90bcc + 27 bytes - -_UnnamedText_55b6b: ; 0x90be7 - db $0, "Blown", $4f - db "away!", $58 -; 0x90be7 + 13 bytes - -_UnnamedText_55b70: ; 0x90bf4 - db $0, "You know who'd", $4f - db "win, you and me", $55 - db "one on one!", $57 -; 0x90bf4 + 43 bytes - -_Route14Text11: ; 0x90c1f - db $0, "ROUTE 14", $4f - db "West to FUCHSIA", $55 - db "CITY", $57 - -_UnnamedText_59898: ; 0x90c3e - db $0, "Let me try out the", $4f - db "#MON I just", $55 - db "got in a trade!", $57 -; 0x90c3e + 48 bytes - -_UnnamedText_5989d: ; 0x90c6e - db $0, "Not", $4f - db "good enough!", $58 -; 0x90c6e + 18 bytes - -_UnnamedText_598a2: ; 0x90c80 - db $0, "You can't change", $4f - db "the nickname of", $55 - db "any #MON you", $55 - db "get in a trade.", $51 - db "Only the Original", $4f - db "Trainer can.", $57 -; 0x90c80 + 93 bytes - -_UnnamedText_598a7: ; 0x90cdd - db $0, "You look gentle,", $4f - db "so I think I can", $55 - db "beat you!", $57 -; 0x90cdd + 45 bytes - -_UnnamedText_598ac: ; 0x90d0a - db $0, "No,", $4f - db "wrong!", $58 -; 0x90d0a + 12 bytes - -_UnnamedText_598b1: ; 0x90d16 - db $0, "I'm afraid of", $4f - db "BIKERs, they look", $55 - db "so ugly and mean!", $57 -; 0x90d16 + 50 bytes - -_UnnamedText_598b6: ; 0x90d48 - db $0, "When I whistle, I", $4f - db "can summon bird", $55 - db "#MON!", $57 -; 0x90d48 + 41 bytes - -_UnnamedText_598bb: ; 0x90d71 - db $0, "Ow!", $4f - db "That's tragic!", $58 -; 0x90d71 + 19 bytes - -_UnnamedText_598c0: ; 0x90d84 - db $0, "Maybe I'm not cut", $4f - db "out for battles.", $57 -; 0x90d84 + 35 bytes - -_UnnamedText_598c5: ; 0x90da7 - db $0, "Hmm? My birds are", $4f - db "shivering! You're", $55 - db "good, aren't you?", $57 -; 0x90da7 + 53 bytes - -_UnnamedText_598ca: ; 0x90ddc - db $0, "Just", $4f - db "as I thought!", $58 -; 0x90ddc + 20 bytes - -_UnnamedText_598cf: ; 0x90df0 - db $0, "Did you know moves", $4f - db "like EARTHQUAKE", $55 - db "don't have any", $55 - db "effect on birds?", $57 -; 0x90df0 + 67 bytes - -_UnnamedText_598d4: ; 0x90e33 - db $0, "Oh, you're a", $4f - db "little cutie!", $57 -; 0x90e33 + 27 bytes - -_UnnamedText_598d9: ; 0x90e4e - db $0, "You looked", $4f - db "so cute too!", $58 -; 0x90e4e + 25 bytes - -_UnnamedText_598de: ; 0x90e67 - db $0, "I forgive you!", $4f - db "I can take it!", $57 -; 0x90e67 + 31 bytes - -_UnnamedText_598e3: ; 0x90e86 - db $0, "I raise #MON", $4f - db "because I live", $55 - db "alone!", $57 -; 0x90e86 + 36 bytes - -_UnnamedText_598e8: ; 0x90eaa - db $0, "I didn't", $4f - db "ask for this!", $58 -; 0x90eaa + 23 bytes - -_UnnamedText_598ed: ; 0x90ec1 - db $0, "I just like going", $4f - db "home to be with", $55 - db "my #MON!", $57 -; 0x90ec1 + 44 bytes - -_UnnamedText_598f2: ; 0x90eed - db $0, "Hey kid! C'mon!", $4f - db "I just got these!", $57 -; 0x90eed + 34 bytes - -_UnnamedText_598f7: ; 0x90f0f - db $0, "Why", $4f - db "not?", $58 -; 0x90f0f + 10 bytes - -_UnnamedText_598fc: ; 0x90f19 - db $0, "You only live", $4f - db "once, so I live", $55 - db "as an outlaw!", $55 - db "TEAM ROCKET RULES!", $57 -; 0x90f19 + 64 bytes - -_UnnamedText_59901: ; 0x90f59 - db $0, "Fork over all your", $4f - db "cash when you", $55 - db "lose to me, kid!", $57 -; 0x90f59 + 51 bytes - -_UnnamedText_59906: ; 0x90f8c - db $0, "That", $4f - db "can't be true!", $58 -; 0x90f8c + 20 bytes - -_UnnamedText_5990b: ; 0x90fa0 - db $0, "I was just joking", $4f - db "about the money!", $57 -; 0x90fa0 + 36 bytes - -_UnnamedText_59910: ; 0x90fc4 - db $0, "What's cool?", $4f - db "Trading #MON!", $57 -; 0x90fc4 + 27 bytes - -_UnnamedText_59915: ; 0x90fdf - db $0, "I", $4f - db "said trade!", $58 -; 0x90fdf + 15 bytes - -_UnnamedText_5991a: ; 0x90fee - db $0, "I trade #MON", $4f - db "with my friends!", $57 -; 0x90fee + 31 bytes - -_UnnamedText_5991f: ; 0x9100d - db $0, "Want to play with", $4f - db "my #MON?", $57 -; 0x9100d + 28 bytes - -_UnnamedText_59924: ; 0x91029 - db $0, "I was", $4f - db "too impatient!", $58 -; 0x91029 + 22 bytes - -_UnnamedText_59929: ; 0x9103f - db $0, "I'll go train with", $4f - db "weaker people.@" - db $50 -; 0x9103f + 34 bytes + 1 - -_Route15Text12: ; 0x91062 - db $0, "ROUTE 15", $4f - db "West to FUCHSIA", $55 - db "CITY", $57 - -_UnnamedText_59a22: ; 0x91081 - db $0, "What do you want?", $57 -; 0x91081 + 19 bytes - -_UnnamedText_59a27: ; 0x91094 - db $0, "Don't you", $4f - db "dare laugh!", $58 -; 0x91094 + 22 bytes - -_UnnamedText_59a2c: ; 0x910aa - db $0, "We like just", $4f - db "hanging here,", $55 - db "what's it to you?", $57 -; 0x910aa + 45 bytes - -_UnnamedText_59a3b: ; 0x910d7 - db $0, "Nice BIKE!", $4f - db "Hand it over!", $57 -; 0x910d7 + 26 bytes - -_UnnamedText_59a40: ; 0x910f1 - db $0, "Knock", $4f - db "out!", $58 -; 0x910f1 + 12 bytes - -_UnnamedText_59a45: ; 0x910fd - db $0, "Forget it, who", $4f - db "needs your BIKE!", $57 -; 0x910fd + 33 bytes - -_UnnamedText_59a54: ; 0x9111e - db $0, "Come out and play,", $4f - db "little mouse!", $57 -; 0x9111e + 34 bytes - -_UnnamedText_59a59: ; 0x91140 - db $0, "You", $4f - db "little rat!", $58 -; 0x91140 + 17 bytes - -_UnnamedText_59a5e: ; 0x91151 - db $0, "I hate losing!", $4f - db "Get away from me!", $57 -; 0x91151 + 34 bytes - -_UnnamedText_59a6d: ; 0x91173 - db $0, "Hey, you just", $4f - db "bumped me!", $57 -; 0x91173 + 26 bytes - -_UnnamedText_59a72: ; 0x9118d - db $0, "Kaboom!", $58 -; 0x9118d + 9 bytes - -_UnnamedText_59a77: ; 0x91196 - db $0, "You can also get", $4f - db "to FUCHSIA from", $55 - db "VERMILION using a", $55 - db "coastal road.", $57 -; 0x91196 + 66 bytes - -_UnnamedText_59a86: ; 0x911d8 - db $0, "I'm feeling", $4f - db "hungry and mean!", $57 -; 0x911d8 + 29 bytes - -_UnnamedText_59a8b: ; 0x911f5 - db $0, "Bad,", $4f - db "bad, bad!", $58 -; 0x911f5 + 16 bytes - -_UnnamedText_59a90: ; 0x91205 - db $0, "I like my #MON", $4f - db "ferocious! They", $55 - db "tear up enemies!", $57 -; 0x91205 + 49 bytes - -_UnnamedText_59a9f: ; 0x91236 - db $0, "Sure, I'll go!", $57 -; 0x91236 + 15 bytes - -_UnnamedText_59aa4: ; 0x91245 - db $0, "Don't make", $4f - db "me mad!", $58 -; 0x91245 + 19 bytes - -_UnnamedText_59aa9: ; 0x91258 - db $0, "I like harassing", $4f - db "people with my", $55 - db "vicious #MON!", $57 -; 0x91258 + 47 bytes - -_Route16Text7: ; 0x91287 - db $0, "A sleeping #MON", $4f - db "blocks the way!", $57 - -_UnnamedText_59ab3: ; 0x912a8 - db $0, "SNORLAX woke up!", $51 - db "It attacked in a", $4f - db "grumpy rage!", $57 -; 0x912a8 + 48 bytes - -_UnnamedText_59ab8: ; 0x912d8 - db $0, "With a big yawn,", $4f - db "SNORLAX returned", $55 - db "to the mountains!", $57 -; 0x912d8 + 53 bytes - -_Route16Text8: ; 0x9130d - db $0, "Enjoy the slope!", $4f - db "CYCLING ROAD", $57 - -_Route16Text9: ; 0x9132c - db $0, "ROUTE 16", $4f - db "CELADON CITY -", $55 - db "FUCHSIA CITY", $57 - -_UnnamedText_55c36: ; 0x91352 - db $0, "There's no money", $4f - db "in fighting kids!", $57 -; 0x91352 + 35 bytes - -_UnnamedText_55c3b: ; 0x91375 - db $0, "Burned", $4f - db "out!", $58 -; 0x91375 + 13 bytes - -_UnnamedText_55c40: ; 0x91382 - db $0, "Good stuff is", $4f - db "lying around on", $55 - db "CYCLING ROAD!", $57 -; 0x91382 + 45 bytes - -_UnnamedText_55c4f: ; 0x913af - db $0, "What do you want,", $4f - db "kiddo?", $57 -; 0x913af + 26 bytes - -_UnnamedText_55c54: ; 0x913c9 - db $0, "Whoo!", $58 -; 0x913c9 + 7 bytes - -_UnnamedText_55c59: ; 0x913d0 - db $0, "I could belly-", $4f - db "bump you outta", $55 - db "here!", $57 -; 0x913d0 + 37 bytes - -_UnnamedText_55c68: ; 0x913f5 - db $0, "You heading to", $4f - db "FUCHSIA?", $57 -; 0x913f5 + 25 bytes - -_UnnamedText_55c6d: ; 0x9140e - db $0, "Crash and", $4f - db "burn!", $58 -; 0x9140e + 17 bytes - -_UnnamedText_55c72: ; 0x9141f - db $0, "I love racing", $4f - db "downhill!", $57 -; 0x9141f + 25 bytes - -_UnnamedText_55c81: ; 0x91438 - db $0, "We're BIKERs!", $4f - db "Highway stars!", $57 -; 0x91438 + 29 bytes - -_UnnamedText_55c86: ; 0x91455 - db $0, "Smoked!", $58 -; 0x91455 + 9 bytes - -_UnnamedText_55c8b: ; 0x9145e - db $0, "Are you looking", $4f - db "for adventure?", $57 -; 0x9145e + 32 bytes - -_UnnamedText_55c9a: ; 0x9147e - db $0, "Let VOLTORB", $4f - db "electrify you!", $57 -; 0x9147e + 28 bytes - -_UnnamedText_55c9f: ; 0x9149a - db $0, "Grounded", $4f - db "out!", $58 -; 0x9149a + 15 bytes - -_UnnamedText_55ca4: ; 0x914a9 - db $0, "I got my VOLTORB", $4f - db "at the abandoned", $55 - db "POWER PLANT.", $57 -; 0x914a9 + 48 bytes - -_UnnamedText_55cb3: ; 0x914d9 - db $0, "My #MON won't", $4f - db "evolve! Why?", $57 -; 0x914d9 + 27 bytes - -_UnnamedText_55cb8: ; 0x914f4 - db $0, "Why,", $4f - db "you!", $58 -; 0x914f4 + 11 bytes - -_UnnamedText_55cbd: ; 0x914ff - db $0, "Maybe some #MON", $4f - db "need element", $55 - db "STONEs to evolve.", $57 -; 0x914ff + 48 bytes - -_UnnamedText_55ccc: ; 0x9152f - db $0, "I need a little", $4f - db "exercise!", $57 -; 0x9152f + 27 bytes - -_UnnamedText_55cd1: ; 0x9154a - db $0, "Whew!", $4f - db "Good workout!", $58 -; 0x9154a + 21 bytes - -_UnnamedText_55cd6: ; 0x9155f - db $0, "I'm sure I lost", $4f - db "weight there!", $57 -; 0x9155f + 30 bytes - -_UnnamedText_55ce5: ; 0x9157d - db $0, "Be a rebel!", $57 -; 0x9157d + 13 bytes - -_UnnamedText_55cea: ; 0x9158a - db $0, "Aaaargh!", $58 -; 0x9158a + 10 bytes - -_UnnamedText_55cef: ; 0x91594 - db $0, "Be ready to fight", $4f - db "for your beliefs!", $57 -; 0x91594 + 37 bytes - -_UnnamedText_55cfe: ; 0x915b9 - db $0, "Nice BIKE!", $4f - db "How's it handle?", $57 -; 0x915b9 + 28 bytes - -_UnnamedText_55d03: ; 0x915d5 - db $0, "Shoot!", $58 -; 0x915d5 + 8 bytes - -_UnnamedText_55d08: ; 0x915dd - db $0, "The slope makes", $4f - db "it hard to steer!", $57 -; 0x915dd + 35 bytes - -_UnnamedText_55d17: ; 0x91600 - db $0, "Get lost kid!", $4f - db "I'm bushed!", $57 -; 0x91600 + 26 bytes - -_UnnamedText_55d1c: ; 0x9161a - db $0, "Are you", $4f - db "satisfied?", $58 -; 0x9161a + 20 bytes - -_UnnamedText_55d21: ; 0x9162e - db $0, "I need to catch", $4f - db "a few Zs!", $57 -; 0x9162e + 27 bytes - -_Route17Text11: ; 0x91649 - db $0, "It's a notice!", $51 - db "Watch out for", $4f - db "discarded items!", $57 - -_Route17Text12: ; 0x91677 - db $0, "TRAINER TIPS", $51 - db "All #MON are", $4f - db "unique.", $51 - db "Even #MON of", $4f - db "the same type and", $55 - db "level grow at", $55 - db "different rates.", $57 - -_Route17Text13: ; 0x916d8 - db $0, "TRAINER TIPS", $51 - db "Press the A or B", $4f - db "Button to stay in", $55 - db "place while on a", $55 - db "slope.", $57 - -_Route17Text14: ; 0x91721 - db $0, "ROUTE 17", $4f - db "CELADON CITY -", $55 - db "FUCHSIA CITY", $57 - -_Route17Text15: ; 0x91747 - db $0, "It's a notice!", $51 - db "Don't throw the", $4f - db "game, throw #", $55 - db "BALLs instead!", $57 - -_Route17Text16: ; 0x91782 - db $0, "CYCLING ROAD", $4f - db "Slope ends here!", $57 - -_UnnamedText_59b19: ; 0x917a1 - db $0, "I always check", $4f - db "every grassy area", $55 - db "for new #MON.", $57 -; 0x917a1 + 48 bytes - -_UnnamedText_59b1e: ; 0x917d1 - db $0, "Tch!", $58 -; 0x917d1 + 6 bytes - -_UnnamedText_59b23: ; 0x917d7 - db $0, "I wish I had a", $4f - db "BIKE!", $57 -; 0x917d7 + 22 bytes - -_UnnamedText_59b32: ; 0x917ed - db $0, "Kurukkoo!", $4f - db "How do you like", $55 - db "my bird call?", $57 -; 0x917ed + 41 bytes - -_UnnamedText_59b37: ; 0x91816 - db $0, "I", $4f - db "had to bug you!", $58 -; 0x91816 + 19 bytes - -_UnnamedText_59b3c: ; 0x91829 - db $0, "I also collect sea", $4f - db "#MON on", $55 - db "weekends!", $57 -; 0x91829 + 38 bytes - -_UnnamedText_59b4b: ; 0x9184f - db $0, "This is my turf!", $4f - db "Get out of here!", $57 -; 0x9184f + 35 bytes - -_UnnamedText_59b50: ; 0x91872 - db $0, "Darn!", $58 -; 0x91872 + 7 bytes - -_UnnamedText_59b55: ; 0x91879 - db $0, "This is my fave", $4f - db "#MON hunting", $55 - db "area!", $57 -; 0x91879 + 36 bytes - -_Route18Text4: ; 0x9189d - db $0, "ROUTE 18", $4f - db "CELADON CITY -", $55 - db "FUCHSIA CITY", $57 - -_Route18Text5: ; 0x918c3 - db $0, "CYCLING ROAD", $4f - db "No pedestrians", $55 - db "permitted!", $57 - -_UnnamedText_55e50: ; 0x918eb - db $0, "Have to warm up", $4f - db "before my swim!", $57 -; 0x918eb + 33 bytes - -_UnnamedText_55e55: ; 0x9190c - db $0, "All", $4f - db "warmed up!", $58 -; 0x9190c + 16 bytes - -_UnnamedText_55e5a: ; 0x9191c - db $0, "Thanks, kid! I'm", $4f - db "ready for a swim!", $57 -; 0x9191c + 35 bytes - -_UnnamedText_55e5f: ; 0x9193f - db $0, "Wait! You'll have", $4f - db "a heart attack!", $57 -; 0x9193f + 34 bytes - -_UnnamedText_55e64: ; 0x91961 - db $0, "Ooh!", $4f - db "That's chilly!", $58 -; 0x91961 + 20 bytes - -_UnnamedText_55e69: ; 0x91975 - db $0, "Watch out for", $4f - db "TENTACOOL!", $57 -; 0x91975 + 26 bytes - -_UnnamedText_55e6e: ; 0x9198f - db $0, "I love swimming!", $4f - db "What about you?", $57 -; 0x9198f + 34 bytes - -_UnnamedText_55e73: ; 0x919b1 - db $0, "Belly", $4f - db "flop!", $58 -; 0x919b1 + 13 bytes - -_UnnamedText_55e78: ; 0x919be - db $0, "I can beat #MON", $4f - db "at swimming!", $57 -; 0x919be + 30 bytes - -_UnnamedText_55e7d: ; 0x919dc - db $0, "What's beyond the", $4f - db "horizon?", $57 -; 0x919dc + 27 bytes - -_UnnamedText_55e82: ; 0x919f7 - db $0, "Glub!", $58 -; 0x919f7 + 7 bytes - -_UnnamedText_55e87: ; 0x919fe - db $0, "I see a couple of", $4f - db "islands!", $57 -; 0x919fe + 28 bytes - -_UnnamedText_55e8c: ; 0x91a1a - db $0, "I tried diving", $4f - db "for #MON, but", $55 - db "it was a no go!", $57 -; 0x91a1a + 46 bytes - -_UnnamedText_55e91: ; 0x91a48 - db $0, "Help!", $58 -; 0x91a48 + 7 bytes - -_UnnamedText_55e96: ; 0x91a4f - db $0, "You have to fish", $4f - db "for sea #MON!", $57 -; 0x91a4f + 32 bytes - -_UnnamedText_55e9b: ; 0x91a6f - db $0, "I look at the", $4f - db "sea to forget!", $57 -; 0x91a6f + 30 bytes - -_UnnamedText_55ea0: ; 0x91a8d - db $0, "Ooh!", $4f - db "Traumatic!", $58 -; 0x91a8d + 17 bytes - -_UnnamedText_55ea5: ; 0x91a9e - db $0, "I'm looking at the", $4f - db "sea to forget!", $57 -; 0x91a9e + 34 bytes - -_UnnamedText_55eaa: ; 0x91ac0 - db $0, "Oh, I just love", $4f - db "your ride! Can I", $55 - db "have it if I win?", $57 -; 0x91ac0 + 52 bytes - -_UnnamedText_55eaf: ; 0x91af4 - db $0, "Oh!", $4f - db "I lost!", $58 -; 0x91af4 + 13 bytes - -_UnnamedText_55eb4: ; 0x91b01 - db $0, "It's still a long", $4f - db "way to go to", $55 - db "SEAFOAM ISLANDS.", $57 -; 0x91b01 + 48 bytes - -_UnnamedText_55eb9: ; 0x91b31 - db $0, "Swimming's great!", $4f - db "Sunburns aren't!", $57 -; 0x91b31 + 34 bytes - -_UnnamedText_55ebe: ; 0x91b53 - db $0, "Shocker!", $58 -; 0x91b53 + 10 bytes - -_UnnamedText_55ec3: ; 0x91b5d - db $0, "My boy friend", $4f - db "wanted to swim to", $55 - db "SEAFOAM ISLANDS.", $57 -; 0x91b5d + 50 bytes - -_UnnamedText_55ec8: ; 0x91b8f - db $0, "These waters are", $4f - db "treacherous!", $57 -; 0x91b8f + 31 bytes - -_UnnamedText_55ecd: ; 0x91bae - db $0, "Ooh!", $4f - db "Dangerous!", $58 -; 0x91bae + 17 bytes - -_UnnamedText_55ed2: ; 0x91bbf - db $0, "I got a cramp!", $4f - db "Glub, glub...", $57 -; 0x91bbf + 30 bytes - -_UnnamedText_55ed7: ; 0x91bdd - db $0, "I swam here, but", $4f - db "I'm tired.", $57 -; 0x91bdd + 28 bytes - -_UnnamedText_55edc: ; 0x91bf9 - db $0, "I'm", $4f - db "exhausted...", $58 -; 0x91bf9 + 17 bytes - -_UnnamedText_55ee1: ; 0x91c0a - db $0, "LAPRAS is so big,", $4f - db "it must keep you", $55 - db "dry on water.", $57 -; 0x91c0a + 50 bytes - -_Route19Text11: ; 0x91c3c - db $0, "SEA ROUTE 19", $4f - db "FUCHSIA CITY -", $55 - db "SEAFOAM ISLANDS", $57 - -_UnnamedText_50e17: ; 0x91c69 - db $0, "The water is", $4f - db "shallow here.", $57 -; 0x91c69 + 28 bytes - -_UnnamedText_50e1c: ; 0x91c85 - db $0, "Splash!", $58 -; 0x91c85 + 9 bytes - -_UnnamedText_50e21: ; 0x91c8e - db $0, "I wish I could", $4f - db "ride my #MON.", $57 -; 0x91c8e + 30 bytes - -_UnnamedText_50e26: ; 0x91cac - db $0, "SEAFOAM is a", $4f - db "quiet getaway!", $57 -; 0x91cac + 29 bytes - -_UnnamedText_50e2b: ; 0x91cc9 - db $0, "Quit it!", $58 -; 0x91cc9 + 10 bytes - -_UnnamedText_50e30: ; 0x91cd3 - db $0, "There's a huge", $4f - db "cavern underneath", $55 - db "this island.", $57 -; 0x91cd3 + 46 bytes - -_UnnamedText_50e35: ; 0x91d01 - db $0, "I love floating", $4f - db "with the fishes!", $57 -; 0x91d01 + 34 bytes - -_UnnamedText_50e3a: ; 0x91d23 - db $0, "Yowch!", $58 -; 0x91d23 + 8 bytes - -_UnnamedText_50e3f: ; 0x91d2b - db $0, "Want to float", $4f - db "with me?", $57 -; 0x91d2b + 24 bytes - -_UnnamedText_50e44: ; 0x91d43 - db $0, "Are you on", $4f - db "vacation too?", $57 -; 0x91d43 + 26 bytes - -_UnnamedText_50e49: ; 0x91d5d - db $0, "No", $4f - db "mercy at all!", $58 -; 0x91d5d + 18 bytes - -_UnnamedText_50e4e: ; 0x91d6f - db $0, "SEAFOAM used to", $4f - db "be one island!", $57 -; 0x91d6f + 32 bytes - -_UnnamedText_50e53: ; 0x91d8f - db $0, "Check out my buff", $4f - db "physique!", $57 -; 0x91d8f + 29 bytes - -_UnnamedText_50e58: ; 0x91dac - db $0, "Wimpy!", $58 -; 0x91dac + 8 bytes - -_UnnamedText_50e5d: ; 0x91db4 - db $0, "I should've been", $4f - db "buffing up my", $55 - db "#MON, not me!", $57 -; 0x91db4 + 45 bytes - -_UnnamedText_50e62: ; 0x91de1 - db $0, "Why are you", $4f - db "riding a #MON?", $55 - db "Can't you swim?", $57 -; 0x91de1 + 43 bytes - -_UnnamedText_50e67: ; 0x91e0c - db $0, "Ouch!", $4f - db "Torpedoed!", $58 -; 0x91e0c + 18 bytes - -_UnnamedText_50e6c: ; 0x91e1e - db $0, "Riding a #MON", $4f - db "sure looks fun!", $57 -; 0x91e1e + 31 bytes - -_UnnamedText_50e71: ; 0x91e3d - db $0, "I rode my bird", $4f - db "#MON here!", $57 -; 0x91e3d + 27 bytes - -_UnnamedText_50e76: ; 0x91e58 - db $0, "Oh", $4f - db "no!", $58 -; 0x91e58 + 8 bytes - -_UnnamedText_50e7b: ; 0x91e60 - db $0, "My birds can't", $4f - db "FLY me back!", $57 -; 0x91e60 + 28 bytes - -_UnnamedText_50e80: ; 0x91e7c - db $0, "My boy friend gave", $4f - db "me big pearls!", $57 -; 0x91e7c + 35 bytes - -_UnnamedText_50e85: ; 0x91e9f - db $0, "Don't", $4f - db "touch my pearls!", $58 -; 0x91e9f + 23 bytes - -_UnnamedText_50e8a: ; 0x91eb6 - db $0, "Will my pearls", $4f - db "grow bigger", $55 - db "inside CLOYSTER?", $57 -; 0x91eb6 + 45 bytes - -_UnnamedText_50e8f: ; 0x91ee3 - db $0, "I swam here from", $4f - db "CINNABAR ISLAND!", $57 -; 0x91ee3 + 35 bytes - -_UnnamedText_50e94: ; 0x91f06 - db $0, "I'm", $4f - db "so disappointed!", $58 -; 0x91f06 + 21 bytes - -_UnnamedText_50e99: ; 0x91f1b - db $0, "#MON have", $4f - db "taken over an", $55 - db "abandoned mansion", $55 - db "on CINNABAR!", $57 -; 0x91f1b + 56 bytes - -_UnnamedText_50e9e: ; 0x91f53 - db $0, "CINNABAR, in the", $4f - db "west, has a LAB", $55 - db "for #MON.", $57 -; 0x91f53 + 44 bytes - -_UnnamedText_50ea3: ; 0x91f7f - db $0, "Wait!", $58 -; 0x91f7f + 7 bytes - -_UnnamedText_50ea8: ; 0x91f86 - db $0, "CINNABAR is a ", $4f - db "volcanic island!", $57 -; 0x91f86 + 33 bytes - -_Route20Text12: ; 0x91fa7 -_Route20Text11: ; 0x91fa7 - db $0, "SEAFOAM ISLANDS", $57 - -_UnnamedText_55fdd: ; 0x91fb8 - db $0, "You want to know", $4f - db "if the fish are", $55 - db "biting?", $57 -; 0x91fb8 + 42 bytes - -_UnnamedText_55fe2: ; 0x91fe2 - db $0, "Dang!", $58 -; 0x91fe2 + 7 bytes - -_UnnamedText_55fe7: ; 0x91fe9 - db $0, "I can't catch", $4f - db "anything good!", $57 -; 0x91fe9 + 29 bytes - -_UnnamedText_55fec: ; 0x92006 - db $0, "I got a big haul!", $4f - db "Wanna go for it?", $57 -; 0x92006 + 36 bytes - -_UnnamedText_55ff1: ; 0x9202a - db $0, "Darn", $4f - db "MAGIKARP!", $58 -; 0x9202a + 16 bytes - -_UnnamedText_55ff6: ; 0x9203a - db $0, "I seem to only", $4f - db "catch MAGIKARP!", $57 -; 0x9203a + 32 bytes - -_UnnamedText_55ffb: ; 0x9205a - db $0, "The sea cleanses", $4f - db "my body and soul!", $57 -; 0x9205a + 36 bytes - -_UnnamedText_56000: ; 0x9207e - db $0, "Ayah!", $58 -; 0x9207e + 7 bytes - -_UnnamedText_56005: ; 0x92085 - db $0, "I like the", $4f - db "mountains too!", $57 -; 0x92085 + 27 bytes - -_UnnamedText_5600a: ; 0x920a0 - db $0, "What's wrong with", $4f - db "me swimming?", $57 -; 0x920a0 + 31 bytes - -_UnnamedText_5600f: ; 0x920bf - db $0, "Cheap", $4f - db "shot!", $58 -; 0x920bf + 13 bytes - -_UnnamedText_56014: ; 0x920cc - db $0, "I look like what?", $4f - db "A studded inner", $55 - db "tube? Get lost!", $57 -; 0x920cc + 51 bytes - -_UnnamedText_56019: ; 0x920ff - db $0, "I caught all my", $4f - db "#MON at sea!", $57 -; 0x920ff + 30 bytes - -_UnnamedText_5601e: ; 0x9211d - db $0, "Diver!!", $4f - db "Down!!", $58 -; 0x9211d + 16 bytes - -_UnnamedText_56023: ; 0x9212d - db $0, "Where'd you catch", $4f - db "your #MON?", $57 -; 0x9212d + 29 bytes - -_UnnamedText_56028: ; 0x9214a - db $0, "Right now, I'm in", $4f - db "a triathlon meet!", $57 -; 0x9214a + 36 bytes - -_UnnamedText_5602d: ; 0x9216e - db $0, "Pant...", $4f - db "pant...pant...", $58 -; 0x9216e + 24 bytes - -_UnnamedText_56032: ; 0x92186 - db $0, "I'm beat!", $4f - db "But, I still have", $55 - db "the bike race and", $55 - db "marathon left!", $57 -; 0x92186 + 61 bytes - -_UnnamedText_56037: ; 0x921c3 - db $0, "Ahh! Feel the sun", $4f - db "and the wind!", $57 -; 0x921c3 + 33 bytes - -_UnnamedText_5603c: ; 0x921e4 - db $0, "Yow!", $4f - db "I lost!", $58 -; 0x921e4 + 14 bytes - -_UnnamedText_56041: ; 0x921f2 - db $0, "I'm sunburnt to a", $4f - db "crisp!", $57 -; 0x921f2 + 25 bytes - -_UnnamedText_56046: ; 0x9220b - db $0, "Hey, don't scare", $4f - db "away the fish!", $57 -; 0x9220b + 32 bytes - -_UnnamedText_5604b: ; 0x9222b - db $0, "Sorry!", $4f - db "I didn't mean it!", $58 -; 0x9222b + 25 bytes - -_UnnamedText_56050: ; 0x92244 - db $0, "I was just angry", $4f - db "that I couldn't", $55 - db "catch anything.", $57 -; 0x92244 + 49 bytes - -_UnnamedText_56055: ; 0x92275 - db $0, "Keep me company", $4f - db "'til I get a hit!", $57 -; 0x92275 + 34 bytes - -_UnnamedText_5605a: ; 0x92297 - db $0, "That", $4f - db "burned some time.", $58 -; 0x92297 + 24 bytes - -_UnnamedText_5605f: ; 0x922af - db $0, "Oh wait! I got a", $4f - db "bite! Yeah!", $57 -; 0x922af + 30 bytes - -_UnnamedText_511ad: ; 0x922cd - db $0, $53, ": Hey!", $4f - db $52, "!", $51 - db "You're going to", $4f - db "#MON LEAGUE?", $51 - db "Forget it! You", $4f - db "probably don't", $55 - db "have any BADGEs!", $51 - db "The guard won't", $4f - db "let you through!", $51 - db "By the way, did", $4f - db "your #MON", $55 - db "get any stronger?", $57 -; 0x922cd + 162 bytes - -_UnnamedText_511b2: ; 0x9236f - db $0, "I heard #MON", $4f - db "LEAGUE has many", $55 - db "tough trainers!", $51 - db "I have to figure", $4f - db "out how to get", $55 - db "past them!", $51 - db "You should quit", $4f - db "dawdling and get", $55 - db "a move on!", $57 -; 0x9236f + 133 bytes - -_UnnamedText_511b7: ; 0x923f4 - db $0, "Awww!", $4f - db "You just lucked", $55 - db "out!", $58 -; 0x923f4 + 28 bytes - -_UnnamedText_511bc: ; 0x92410 - db $0, $53, ": What?", $4f - db "Why do I have 2", $55 - db "#MON?", $51 - db "You should catch", $55 - db "some more too!", $58 -; 0x92410 + 64 bytes - -_UnnamedText_511c1: ; 0x92450 - db $0, $53, ": What?", $4f - db $52, "! What a", $55 - db "surprise to see", $55 - db "you here!", $51 - db "So you're going to", $4f - db "#MON LEAGUE?", $51 - db "You collected all", $4f - db "the BADGEs too?", $55 - db "That's cool!", $51 - db "Then I'll whip you", $4f - db $52, " as a", $55 - db "warm up for", $55 - db "#MON LEAGUE!", $51 - db "Come on!", $57 -; 0x92450 + 182 bytes - -_UnnamedText_511c6: ; 0x92506 - db $0, "That loosened me", $4f - db "up! I'm ready for", $55 - db "#MON LEAGUE!", $51 - db $52, ", you need", $4f - db "more practice!", $51 - db "But hey, you know", $4f - db "that! I'm out of", $55 - db "here. Smell ya!", $57 -; 0x92506 + 125 bytes - -_UnnamedText_511cb: ; 0x92583 - db $0, "What!?", $51 - db "I was just", $4f - db "careless!", $58 -; 0x92583 + 29 bytes - -_UnnamedText_511d0: ; 0x925a0 - db $0, $53, ": Hahaha!", $4f - db $52, "! That's", $55 - db "your best? You're", $55 - db "nowhere near as", $55 - db "good as me, pal!", $51 - db "Go train some", $4f - db "more! You loser!", $58 -; 0x925a0 + 102 bytes - -_Route22Text3: ; 0x92606 - db $0, "#MON LEAGUE", $4f - db "Front Gate", $57 - -UnknownText_9261e: ; 0x9261e - db $0, "You can pass here", $4f - db "only if you have", $55 - db "the @" -; 0x9261e + 41 bytes - -UnknownText_92647: ; 0x92647 - TX_RAM $cd6d - db $0, "!", $51 - db "You don't have the", $4f - db "@" -; 0x92647 + 25 bytes (0x92660) - -UnknownText_92660: ; 0x92660 - TX_RAM $cd6d - db $0, " yet!", $51 - db "You have to have", $4f - db "it to get to", $55 - db "#MON LEAGUE!@@" -; 0x92660 + 54 bytes - -UnknownText_92696: ; 0x92696 - db $0, "You can pass here", $4f - db "only if you have", $55 - db "the @" -; 0x92696 + 41 bytes - -UnknownText_926bf: ; 0x926bf - TX_RAM $cd6d - db $0, "!", $51 - db "Oh! That is the", $4f - db "@" -; 0x926bf + 23 bytes - -UnknownText_926d6: ; 0x926d6 - TX_RAM $cd6d - db $0, "!@@" -; 0x926d6 + 7 bytes - -_UnnamedText_513a3: ; 0x926dd - db $0, $51 - db "OK then! Please,", $4f - db "go right ahead!", $57 -; 0x926dd + 35 bytes - -_Route23Text8: ; 0x92700 - db $0, "VICTORY ROAD GATE", $4f - db "- #MON LEAGUE", $57 - -_UnnamedText_51510: ; 0x92721 - db $0, "Congratulations!", $4f - db "You beat our 5", $55 - db "contest trainers!@@" -; 0x92721 + 52 bytes - -_UnnamedText_51515: ; 0x92755 - db $0, $51 - db "You just earned a", $4f - db "fabulous prize!", $58 -; 0x92755 + 36 bytes - -_UnnamedText_5151a: ; 0x92779 - db $0, $52, " received", $4f - db "a @" -; 0x92779 + 15 bytes - -UnknownText_92788: ; 0x92788 - TX_RAM $cf4b - db $0, "!@@" -; 0x92788 + 7 bytes - -_UnnamedText_51521: ; 0x9278f - db $0, "You don't have", $4f - db "any room!", $57 -; 0x9278f + 25 bytes - -_UnnamedText_51526: ; 0x927a8 - db $0, "By the way, would", $4f - db "you like to join", $55 - db "TEAM ROCKET?", $51 - db "We're a group", $4f - db "dedicated to evil", $55 - db "using #MON!", $51 - db "Want to join?", $51 - db "Are you sure?", $51 - db "Come on, join us!", $51 - db "I'm telling you", $4f - db "to join!", $51 - db "OK, you need", $4f - db "convincing!", $51 - db "I'll make you an", $4f - db "offer you can't", $55 - db "refuse!", $57 -; 0x927a8 + 226 bytes - -_UnnamedText_5152b: ; 0x9288a - db $0, "Arrgh!", $4f - db "You are good!", $58 -; 0x9288a + 22 bytes - -_UnnamedText_51530: ; 0x928a0 - db $0, "With your ability,", $4f - db "you could become", $55 - db "a top leader in", $55 - db "TEAM ROCKET!", $57 -; 0x928a0 + 66 bytes - -_UnnamedText_51571: ; 0x928e2 - db $0, "I saw your feat", $4f - db "from the grass!", $57 -; 0x928e2 + 33 bytes - -SECTION "bank25",DATA,BANK[$25] - -_UnnamedText_51576: ; 0x94000 - db $0, "I", $4f - db "thought not!", $58 -; 0x94000 + 16 bytes - -_UnnamedText_5157b: ; 0x94010 - db $0, "I hid because the", $4f - db "people on the", $55 - db "bridge scared me!", $57 -; 0x94010 + 51 bytes - -_UnnamedText_51580: ; 0x94043 - db $0, "OK! I'm No. 5!", $4f - db "I'll stomp you!", $57 -; 0x94043 + 30 bytes - -_UnnamedText_51585: ; 0x94061 - db $0, "Whoa!", $4f - db "Too much!", $58 -; 0x94061 + 17 bytes - -_UnnamedText_5158a: ; 0x94072 - db $0, "I did my best, I", $4f - db "have no regrets!", $57 -; 0x94072 + 35 bytes - -_UnnamedText_5158f: ; 0x94095 - db $0, "I'm No. 4!", $4f - db "Getting tired?", $57 -; 0x94095 + 26 bytes - -_UnnamedText_51594: ; 0x940af - db $0, "I lost", $4f - db "too!", $58 -; 0x940af + 13 bytes - -_UnnamedText_51599: ; 0x940bc - db $0, "I did my best, so", $4f - db "I've no regrets!", $57 -; 0x940bc + 35 bytes - -_UnnamedText_5159e: ; 0x940df - db $0, "Here's No. 3!", $4f - db "I won't be easy!", $57 -; 0x940df + 30 bytes - -_UnnamedText_515a3: ; 0x940fd - db $0, "Ow!", $4f - db "Stomped flat!", $58 -; 0x940fd + 19 bytes - -_UnnamedText_515a8: ; 0x94110 - db $0, "I did my best, I", $4f - db "have no regrets!", $57 -; 0x94110 + 35 bytes - -_UnnamedText_515ad: ; 0x94133 - db $0, "I'm second!", $4f - db "Now it's serious!", $57 -; 0x94133 + 29 bytes - -_UnnamedText_515b2: ; 0x94150 - db $0, "How could I", $4f - db "lose?", $58 -; 0x94150 + 19 bytes - -_UnnamedText_515b7: ; 0x94163 - db $0, "I did my best, I", $4f - db "have no regrets!", $57 -; 0x94163 + 35 bytes - -_UnnamedText_515bc: ; 0x94186 - db $0, "This is NUGGET", $4f - db "BRIDGE! Beat us 5", $55 - db "trainers and win", $55 - db "a fabulous prize!", $51 - db "Think you got", $4f - db "what it takes?", $57 -; 0x94186 + 98 bytes - -_UnnamedText_515c1: ; 0x941e8 - db $0, "Whoo!", $4f - db "Good stuff!", $58 -; 0x941e8 + 19 bytes - -_UnnamedText_515c6: ; 0x941fb - db $0, "I did my best, I", $4f - db "have no regrets!", $57 -; 0x941fb + 35 bytes - -_UnnamedText_51705: ; 0x9421e - db $0, "Local trainers", $4f - db "come here to", $55 - db "practice!", $57 -; 0x9421e + 39 bytes - -_UnnamedText_5170a: ; 0x94245 - db $0, "You're", $4f - db "decent.", $58 -; 0x94245 + 15 bytes - -_UnnamedText_5170f: ; 0x94254 - db $0, "All #MON have", $4f - db "weaknesses. It's", $55 - db "best to raise", $55 - db "different kinds.", $57 -; 0x94254 + 62 bytes - -_UnnamedText_51714: ; 0x94292 - db $0, "Dad took me to a", $4f - db "great party on", $55 - db "S.S.ANNE at", $55 - db "VERMILION CITY!", $57 -; 0x94292 + 61 bytes - -_UnnamedText_51719: ; 0x942cf - db $0, "I'm", $4f - db "not mad!", $58 -; 0x942cf + 13 bytes - -_UnnamedText_5171e: ; 0x942dc - db $0, "On S.S.ANNE, I", $4f - db "saw trainers from", $55 - db "around the world.", $57 -; 0x942dc + 52 bytes - -_UnnamedText_51723: ; 0x94310 - db $0, "I'm a cool guy.", $4f - db "I've got a girl", $55 - db "friend!", $57 -; 0x94310 + 39 bytes - -_UnnamedText_51728: ; 0x94337 - db $0, "Aww,", $4f - db "darn...", $58 -; 0x94337 + 14 bytes - -_UnnamedText_5172d: ; 0x94345 - db $0, "Oh well. My girl", $4f - db "will cheer me up.", $57 -; 0x94345 + 36 bytes - -_UnnamedText_51732: ; 0x94369 - db $0, "Hi! My boy", $4f - db "friend is cool!", $57 -; 0x94369 + 28 bytes - -_UnnamedText_51737: ; 0x94385 - db $0, "I was in", $4f - db "bad condition!", $58 -; 0x94385 + 25 bytes - -_UnnamedText_5173c: ; 0x9439e - db $0, "I wish my guy was", $4f - db "as good as you!", $57 -; 0x9439e + 35 bytes - -_UnnamedText_51741: ; 0x943c1 - db $0, "I knew I had to", $4f - db "fight you!", $57 -; 0x943c1 + 28 bytes - -_UnnamedText_51746: ; 0x943dd - db $0, "I knew", $4f - db "I'd lose too!", $58 -; 0x943dd + 21 bytes - -_UnnamedText_5174b: ; 0x943f2 - db $0, "If your #MON", $4f - db "gets confused or", $55 - db "falls asleep,", $55 - db "switch it!", $57 -; 0x943f2 + 56 bytes - -_UnnamedText_51750: ; 0x9442a - db $0, "My friend has a", $4f - db "cute #MON.", $55 - db "I'm so jealous!", $57 -; 0x9442a + 43 bytes - -_UnnamedText_51755: ; 0x94455 - db $0, "I'm", $4f - db "not so jealous!", $58 -; 0x94455 + 20 bytes - -_UnnamedText_5175a: ; 0x94469 - db $0, "You came from MT.", $4f - db "MOON? May I have", $55 - db "a CLEFAIRY?", $57 -; 0x94469 + 48 bytes - -_UnnamedText_5175f: ; 0x94499 - db $0, "I just got down", $4f - db "from MT.MOON,", $55 - db "but I'm ready!", $57 -; 0x94499 + 45 bytes - -_UnnamedText_51764: ; 0x944c6 - db $0, "You", $4f - db "worked hard!", $58 -; 0x944c6 + 18 bytes - -_UnnamedText_51769: ; 0x944d8 - db $0, "Drat!", $4f - db "A ZUBAT bit me", $55 - db "back in there.", $57 -; 0x944d8 + 37 bytes - -_UnnamedText_5176e: ; 0x944fd - db $0, "I'm off to see a", $4f - db "#MON collector", $55 - db "at the cape!", $57 -; 0x944fd + 45 bytes - -_UnnamedText_51773: ; 0x9452a - db $0, "You", $4f - db "got me.", $58 -; 0x9452a + 13 bytes - -_UnnamedText_51778: ; 0x94537 - db $0, "The collector has", $4f - db "many rare kinds", $55 - db "of #MON.", $57 -; 0x94537 + 44 bytes - -_UnnamedText_5177d: ; 0x94563 - db $0, "You're going to", $4f - db "see BILL? First,", $55 - db "let's fight!", $57 -; 0x94563 + 45 bytes - -_UnnamedText_51782: ; 0x94590 - db $0, "You're", $4f - db "something.", $58 -; 0x94590 + 18 bytes - -_UnnamedText_51787: ; 0x945a2 - db $0, "The trail below", $4f - db "is a shortcut to", $55 - db "CERULEAN CITY.", $57 -; 0x945a2 + 49 bytes - -_Route25Text11: ; 0x945d3 - db $0, "SEA COTTAGE", $4f - db "BILL lives here!", $57 - -_UnnamedText_7361e: ; 0x945f1 - db $0, "The file data is", $4f - db "destroyed!", $58 -; 0x945f1 + 29 bytes - -_UnnamedText_7377d: ; 0x9460e - db $0, "Would you like to", $4f - db "SAVE the game?", $57 -; 0x9460e + 34 bytes - -_UnnamedText_73782: ; 0x94630 - db $0, $52, " saved", $4f - db "the game!", $57 -; 0x94630 + 19 bytes - -_UnnamedText_73787: ; 0x94643 - db $0, "The older file", $4f - db "will be erased to", $55 - db "save. Okay?", $57 -; 0x94643 + 46 bytes - -_UnnamedText_73909: ; 0x94671 - db $0, "When you change a", $4f - db "#MON BOX, data", $55 - db "will be saved.", $51 - db "Is that okay?", $57 -; 0x94671 + 63 bytes - -_UnnamedText_739d4: ; 0x946b0 - db $0, "Choose a", $4f - db $4a, " BOX.@@" -; 0x946b0 + 17 bytes - -_UnnamedText_3af3e: ; 0x946c2 - TX_RAM $cf4b - db $0, " evolved", $57 -; 0x946c2 + 13 bytes - -_UnnamedText_3af43: ; 0x946cf - db $0, $4f - db "into @" -; 0x946cf + 8 bytes - -UnknownText_946d7: ; 0x946d7 - TX_RAM $cd6d - db $0, "!", $57 -; 0x946d7 + 6 bytes - -_UnnamedText_3af48: ; 0x946dd - db $0, "Huh? @" -; 0x946dd + 7 bytes - -UnknownText_946e4: ; 0x946e4 - TX_RAM $cf4b - db $0, $4f - db "stopped evolving!", $58 -; 0x946e4 + 23 bytes - -_UnnamedText_3af4d: ; 0x946fb - db $0, "What? @" -; 0x946fb + 8 bytes - -UnknownText_94703: ; 0x94703 - TX_RAM $cf4b - db $0, $4f - db "is evolving!", $57 -; 0x94703 + 18 bytes - -_UnnamedText_3f245: ; 0x94715 - db $0, $59, $4f - db "fell asleep!", $58 -; 0x94715 + 16 bytes - -_UnnamedText_3f24a: ; 0x94725 - db $0, $59, "'s", $4f - db "already asleep!", $58 -; 0x94725 + 20 bytes - -_UnnamedText_3f2df: ; 0x94739 - db $0, $59, $4f - db "was poisoned!", $58 -; 0x94739 + 17 bytes - -_UnnamedText_3f2e4: ; 0x9474a - db $0, $59, "'s", $4f - db "badly poisoned!", $58 -; 0x9474a + 20 bytes - -_UnnamedText_3f3d8: ; 0x9475e - db $0, $59, $4f - db "was burned!", $58 -; 0x9475e + 15 bytes - -_UnnamedText_3f3dd: ; 0x9476d - db $0, $59, $4f - db "was frozen solid!", $58 -; 0x9476d + 21 bytes - -_UnnamedText_3f423: ; 0x94782 - db $0, "Fire defrosted", $4f - db $59, "!", $58 -; 0x94782 + 19 bytes - -UnknownText_94795: ; 0x94795 - db $0, $5a, "'s", $4f - db "@" -; 0x94795 + 5 bytes - -UnknownText_9479a: ; 0x9479a - TX_RAM $cf4b - db $0, "@@" -; 0x9479a + 6 bytes - -UnknownText_947a0: ; 0x947a0 - db $0, $4c, "greatly@@" -; 0x947a0 + 11 bytes - -_UnnamedText_3f547: ; 0x947ab - db $0, " rose!", $58 -; 0x947ab + 8 bytes - -UnknownText_947b3: ; 0x947b3 - db $0, $59, "'s", $4f - db "@" -; 0x947b3 + 5 bytes - -UnknownText_947b8: ; 0x947b8 - TX_RAM $cf4b - db $0, "@@" -; 0x947b8 + 6 bytes - -UnknownText_947be: ; 0x947be - db $0, $4c, "greatly@@" -; 0x947be + 11 bytes - -_UnnamedText_3f683: ; 0x947c9 - db $0, " fell!", $58 -; 0x947c9 + 8 bytes - -_UnnamedText_3f802: ; 0x947d1 - db $0, $5a, $4f - db "ran from battle!", $58 -; 0x947d1 + 20 bytes - -_UnnamedText_3f807: ; 0x947e5 - db $0, $59, $4f - db "ran away scared!", $58 -; 0x947e5 + 20 bytes - -_UnnamedText_3f80c: ; 0x947f9 - db $0, $59, $4f - db "was blown away!", $58 -; 0x947f9 + 19 bytes - -UnnamedText_9480c: ; 0x9480c - db $0, $5a, "@@" -; 0x9480c + 4 bytes - -_UnnamedText_3f8f9: ; 0x94810 - db $0, $4f - db "made a whirlwind!", $58 -; 0x94810 + 20 bytes - -_UnnamedText_3f8fe: ; 0x94824 - db $0, $4f - db "took in sunlight!", $58 -; 0x94824 + 20 bytes - -_UnnamedText_3f903: ; 0x94838 - db $0, $4f - db "lowered its head!", $58 -; 0x94838 + 20 bytes - -_UnnamedText_3f908: ; 0x9484c - db $0, $4f - db "is glowing!", $58 -; 0x9484c + 14 bytes - -_UnnamedText_3f90d: ; 0x9485a - db $0, $4f - db "flew up high!", $58 -; 0x9485a + 16 bytes - -_UnnamedText_3f912: ; 0x9486a - db $0, $4f - db "dug a hole!", $58 -; 0x9486a + 14 bytes - -_UnnamedText_3f9a1: ; 0x94878 - db $0, $59, $4f - db "became confused!", $58 -; 0x94878 + 20 bytes - -_UnnamedText_3fa77: ; 0x9488c - db $0, $5a, $4f - db "learned", $55 - db "@" -; 0x9488c + 12 bytes - -UnnamedText_94898: ; 0x94898 - TX_RAM $cd6d - db $0, "!", $58 -; 0x94898 + 6 bytes - -_UnnamedText_3fb09: ; 0x9489e - db $0, $59, "'s", $4f - db "@" -; 0x9489e + 5 bytes - -UnnamedText_948a3: ; 0x948a3 - TX_RAM $cd6d - db $0, " was", $55 - db "disabled!", $58 -; 0x948a3 + 19 bytes - -_UnnamedText_3fb3e: ; 0x948b6 - db $0, "Nothing happened!", $58 -; 0x948b6 + 19 bytes - -_UnnamedText_3fb49: ; 0x948c9 - db $0, "No effect!", $58 -; 0x948c9 + 12 bytes - -_UnnamedText_3fb59: ; 0x948d5 - db $0, "But, it failed! ", $58 -; 0x948d5 + 18 bytes - -_UnnamedText_3fb64: ; 0x948e7 - db $0, "It didn't affect", $4f - db $59, "!", $58 -; 0x948e7 + 20 bytes - -_UnnamedText_3fb69: ; 0x948fb - db $0, $59, $4f - db "is unaffected!", $58 -; 0x948fb + 18 bytes - -_UnnamedText_3fb74: ; 0x9490d - db $0, $59, "'s", $4f - db "paralyzed! It may", $55 - db "not attack!", $58 -; 0x9490d + 34 bytes - -_UnnamedText_17e1d: ; 0x9492f - db $0, "It created a", $4f - db "SUBSTITUTE!", $58 -; 0x9492f + 26 bytes - -_UnnamedText_17e22: ; 0x94949 - db $0, $5a, $4f - db "has a SUBSTITUTE!", $58 -; 0x94949 + 21 bytes - -_UnnamedText_17e27: ; 0x9495e - db $0, "Too weak to make", $4f - db "a SUBSTITUTE!", $58 -; 0x9495e + 32 bytes - -_UnnamedText_2ff04: ; 0x9497e - db $0, "Coins scattered", $4f - db "everywhere!", $58 -; 0x9497e + 29 bytes - -_UnnamedText_27fb3: ; 0x9499b - db $0, $5a, "'s", $4f - db "getting pumped!", $58 -; 0x9499b + 20 bytes - -_UnnamedText_2bef2: ; 0x949af - db $0, $59, $4f - db "was seeded!", $58 -; 0x949af + 15 bytes - -_UnnamedText_2bef7: ; 0x949be - db $0, $59, $4f - db "evaded attack!", $58 -; 0x949be + 18 bytes - -_UnnamedText_1399e: ; 0x949d0 - db $0, $5a, "'s", $4f - db "hit with recoil!", $58 -; 0x949d0 + 21 bytes - -_UnnamedText_139cd: ; 0x949e5 - db $0, "Converted type to", $4f - db $59, "'s!", $58 -; 0x949e5 + 23 bytes - -_UnnamedText_13a53: ; 0x949fc - db $0, "All STATUS changes", $4f - db "are eliminated!", $58 -; 0x949fc + 36 bytes - -_UnnamedText_3baa2: ; 0x94a20 - db $0, $5a, $4f - db "started sleeping!", $57 -; 0x94a20 + 21 bytes - -_UnnamedText_3baa7: ; 0x94a35 - db $0, $5a, $4f - db "fell asleep and", $55 - db "became healthy!", $57 -; 0x94a35 + 35 bytes - -_UnnamedText_3baac: ; 0x94a58 - db $0, $5a, $4f - db "regained health!", $58 -; 0x94a58 + 20 bytes - -_UnnamedText_3bb92: ; 0x94a6c - db $0, $5a, $4f - db "transformed into", $55 - db "@" -; 0x94a6c + 21 bytes - -UnnamedText_94a81: ; 0x94a81 - TX_RAM $cd6d - db $0, "!", $58 -; 0x94a81 + 6 bytes - -_UnnamedText_3bbd7: ; 0x94a87 - db $0, $5a, "'s", $4f - db "protected against", $55 - db "special attacks!", $58 -; 0x94a87 + 39 bytes - -_UnnamedText_3bbdc: ; 0x94aae - db $0, $5a, $4f - db "gained armor!", $58 -; 0x94aae + 17 bytes - -_UnnamedText_33f52: ; 0x94abf - db $0, $5a, "'s", $4f - db "shrouded in mist!", $58 -; 0x94abf + 22 bytes - -_UnnamedText_78dc: ; 0x94ad5 - db $0, "Sucked health from", $4f - db $59, "!", $58 -; 0x94ad5 + 23 bytes - -_UnnamedText_78e1: ; 0x94aec - db $0, $59, "'s", $4f - db "dream was eaten!", $58 -; 0x94aec + 21 bytes - -_BattleCenterMText1: ; 0x94b01 - db $0, "!", $57 - -_TradeCenterMText1: ; 0x94b04 - db $0, "!", $57 - -INCLUDE "text/mapRedsHouse1F.tx" -INCLUDE "text/mapBluesHouse.tx" - -_OaksLabGaryText1: ; 0x94d5b - db $0, $53, ": Yo", $4f - db $52, "! Gramps", $55 - db "isn't around!", $57 -; 0x94d5b + 30 bytes - -_OaksLabText40: ; 0x94d79 - db $0, $53, ": Heh, I", $4f - db "don't need to be", $55 - db "greedy like you!", $51 - db "Go ahead and", $4f - db "choose, ", $52, "!", $57 -; 0x94d79 + 68 bytes - -_OaksLabText41: ; 0x94dbd - db $0, $53, ": My", $4f - db "#MON looks a", $55 - db "lot stronger.", $57 -; 0x94dbd + 34 bytes - -_OaksLabText39: ; 0x94ddf - db $0 - db "Those are #", $4f - db "BALLs. They", $55 - db "contain #MON!", $57 -; 0x94e06 - -_OaksLabCharmanderText: ; 0x94e06 - db $0, "So! You want the", $4f - db "fire #MON,", $55 - db "CHARMANDER?", $57 -; 0x94e2f - -_OaksLabSquirtleText: ; 0x94e2f - db $0, "So! You want the", $4f - db "water #MON,", $55 - db "SQUIRTLE?", $57 -; 0x94e57 - -_OaksLabBulbasaurText: ; 0x94e57 - db $0, "So! You want the", $4f - db "plant #MON,", $55 - db "BULBASAUR?", $57 -; 0x94e80 - -_OaksLabMonEnergeticText: ; 0x94e80 - db $0, "This #MON is", $4f - db "really energetic!", $58 -; 0x94ea0 - -_OaksLabReceivedMonText: ; 0x94ea0 - db $0, $52, " received", $4f - db "a @" - TX_RAM $cd6d - db $0, "!@@" -; 0x94eb6 - -_OaksLabLastMonText: ; 0x94eb6 - db $0, "That's PROF.OAK's", $4f - db "last #MON!", $57 -; 0x94ed2 - -_UnnamedText_1d2f0: ; 0x94ed2 - db $0, "OAK: Now, ", $52, ",", $4f - db "which #MON do", $55 - db "you want?", $57 -; 0x94ef8 - -_UnnamedText_1d2f5: ; 0x94ef8 - db $0, "OAK: If a wild", $4f - db "#MON appears,", $55 - db "your #MON can", $55 - db "fight against it!", $57 -; 0x94f36 - -_UnnamedText_1d2fa: ; 0x94f36 - db $0, "OAK: ", $52, ",", $4f - db "raise your young", $55 - db "#MON by making", $55 - db "it fight!", $57 -; 0x94f36 + 51 bytes - -_OaksLabDeliverParcelText1: ; 0x94f69 - db $0, "OAK: Oh, ", $52, "!", $51 - db "How is my old", $4f - db "#MON?", $51 - db "Well, it seems to", $4f - db "like you a lot.", $51 - db "You must be", $4f - db "talented as a", $55 - db "#MON trainer!", $51 - db "What? You have", $4f - db "something for me?", $51 - db $52, " delivered", $4f - db "OAK's PARCEL.@@" -; 0x94f69 + 166 bytes - -_OaksLabDeliverParcelText2: ; 0x9500f - db $0, $51 - db "Ah! This is the", $4f - db "custom # BALL", $55 - db "I ordered!", $55 - db "Thank you!", $57 -; 0x9500f + 54 bytes - -_OaksLabAroundWorldText: ; 0x95045 - db $0, "#MON around the", $4f - db "world wait for", $55 - db "you, ", $52, "!", $57 -; 0x95045 + 40 bytes - -_OaksLabGivePokeballsText1: ; 0x9506d - db $0, "OAK: You can't get", $4f - db "detailed data on", $55 - db "#MON by just", $55 - db "seeing them.", $51 - db "You must catch", $4f - db "them! Use these", $55 - db "to capture wild", $55 - db "#MON.", $51 - db $52, " got 5", $4f - db "# BALLs!@@" -; 0x9506d + 133 bytes - -_OaksLabGivePokeballsText2: ; 0x950f2 - db $0, $51 - db "When a wild", $4f - db "#MON appears,", $55 - db "it's fair game.", $51 - db "Just throw a #", $4f - db "BALL at it and try", $4f - db "to catch it!", $51 - db "This won't always", $4f - db "work, though.", $51 - db "A healthy #MON", $4f - db "could escape. You", $55 - db "have to be lucky!", $57 -; 0x950f2 + 172 bytes - -_OaksLabPleaseVisitText: ; 0x9519e - db $0, "OAK: Come see me", $4f - db "sometimes.", $51 - db "I want to know how", $4f - db "your #DEX is", $55 - db "coming along.", $57 -; 0x9519e + 75 bytes - -_UnnamedText_1d31d: ; 0x951e9 - db $0, "OAK: Good to see ", $4f - db "you! How is your ", $55 - db "#DEX coming? ", $55 - db "Here, let me take", $55 - db "a look!", $58 -; 0x951e9 + 77 bytes - -_UnnamedText_1d32c: ; 0x95236 - db $0, "It's encyclopedia-", $4f - db "like, but the", $55 - db "pages are blank!", $57 -; 0x95236 + 50 bytes - -_OaksLabText8: ; 0x95268 - db $0, "?", $57 - -_UnnamedText_1d340: ; 0x9526b - db $0, "PROF.OAK is the", $4f - db "authority on", $55 - db "#MON!", $51 - db "Many #MON", $4f - db "trainers hold him", $55 - db "in high regard!", $57 -; 0x9526b + 80 bytes - -_OaksLabRivalWaitingText: ; 0x952bb - db $0, $53, ": Gramps!", $4f - db "I'm fed up with", $55 - db "waiting!", $57 -; 0x952bb + 36 bytes - -_OaksLabChooseMonText: ; 0x952df - db $0, "OAK: ", $53, "?", $4f - db "Let me think...", $51 - db "Oh, that's right,", $4f - db "I told you to", $55 - db "come! Just wait!", $51 - db "Here, ", $52, "!", $51 - db "There are 3", $4f - db "#MON here!", $51 - db "Haha!", $51 - db "They are inside", $4f - db "the # BALLs.", $51 - db "When I was young,", $4f - db "I was a serious", $55 - db "#MON trainer!", $51 - db "In my old age, I", $4f - db "have only 3 left,", $55 - db "but you can have", $55 - db "one! Choose!", $57 -; 0x952df + 253 bytes - -_OaksLabRivalInterjectionText: ; 0x953dc - db $0, $53, ": Hey!", $4f - db "Gramps! What", $55 - db "about me?", $57 -; 0x953dc + 32 bytes - -_OaksLabBePatientText: ; 0x953fc - db $0, "OAK: Be patient!", $4f - db $53, ", you can", $55 - db "have one too!", $57 -; 0x953fc + 43 bytes - -_OaksLabLeavingText: ; 0x95427 - db $0, "OAK: Hey! Don't go", $4f - db "away yet!", $57 -; 0x95427 + 29 bytes - -_OaksLabRivalPickingMonText: ; 0x95444 - db $0, $53, ": I'll take", $4f - db "this one, then!", $57 -; 0x95444 + 29 bytes - -_OaksLabRivalReceivedMonText: ; 0x95461 - db $0, $53, " received", $4f - db "a @" -; 0x95470 - -UnnamedText_95470: ; 0x95470 - TX_RAM $cd6d - db $0, "!@@" -; 0x95470 + 7 bytes - -_OaksLabRivalChallengeText: ; 0x95477 - db $0, $53, ": Wait", $4f - db $52, "!", $55 - db "Let's check out", $55 - db "our #MON!", $51 - db "Come on, I'll take", $4f - db "you on!", $57 -; 0x95477 + 63 bytes - -_UnnamedText_1d3be: ; 0x954b6 - db $0, "WHAT?", $4f - db "Unbelievable!", $55 - db "I picked the", $55 - db "wrong #MON!", $58 -; 0x954b6 + 46 bytes - -_UnnamedText_1d3c3: ; 0x954e4 - db $0, $53, ": Yeah! Am", $4f - db "I great or what?", $58 -; 0x954e4 + 30 bytes - -_OaksLabRivalToughenUpText: ; 0x95502 - db $0, $53, ": Okay!", $4f - db "I'll make my", $55 - db "#MON fight to", $55 - db "toughen it up!", $51 - db $52, "! Gramps!", $4f - db "Smell you later!", $57 -; 0x95502 + 79 bytes - -_OaksLabText21: ; 0x95551 - db $0, $53, ": Gramps!", $57 -; 0x95551 + 12 bytes - -_OaksLabText22: ; 0x9555d - db $0, $53, ": What did", $4f - db "you call me for?", $57 -; 0x9555d + 30 bytes - -_OaksLabText23: ; 0x9557b - db $0, "OAK: Oh right! I", $4f - db "have a request", $55 - db "of you two.", $57 -; 0x9557b + 45 bytes - -_OaksLabText24: ; 0x955a8 - db $0, "On the desk there", $4f - db "is my invention,", $55 - db "#DEX!", $51 - db "It automatically", $4f - db "records data on", $55 - db "#MON you've", $55 - db "seen or caught!", $51 - db "It's a hi-tech", $4f - db "encyclopedia!", $57 -; 0x955a8 + 130 bytes - -_OaksLabText25: ; 0x9562a - db $0, "OAK: ", $52, " and", $4f - db $53, "! Take", $55 - db "these with you!", $51 - db $52, " got", $4f - db "#DEX from OAK!@@" -; 0x9562a + 58 bytes - -_OaksLabText26: ; 0x95664 - db $0, "To make a complete", $4f - db "guide on all the", $55 - db "#MON in the", $55 - db "world...", $51 - db "That was my dream!", $51 - db "But, I'm too old!", $4f - db "I can't do it!", $51 - db "So, I want you two", $4f - db "to fulfill my", $55 - db "dream for me!", $51 - db "Get moving, you", $4f - db "two!", $51 - db "This is a great", $4f - db "undertaking in", $55 - db "#MON history!", $57 -; 0x95664 + 221 bytes - -_OaksLabText27: ; 0x95741 - db $0, $53, ": Alright", $4f - db "Gramps! Leave it", $55 - db "all to me!", $51 - db $52, ", I hate to", $4f - db "say it, but I", $55 - db "don't need you!", $51 - db "I know! I'll", $4f - db "borrow a TOWN MAP", $55 - db "from my sis!", $51 - db "I'll tell her not", $4f - db "to lend you one,", $55 - db $52, "! Hahaha!", $57 -; 0x95741 + 170 bytes - -_UnnamedText_1d405: ; 0x957eb - db $0, "I study #MON as", $4f - db "PROF.OAK's AIDE.", $57 -; 0x957eb + 33 bytes - -_UnnamedText_441cc: ; 0x9580c - db $0, "#DEX comp-", $4f - db "letion is:", $51 - db "@" -; 0x9580c + 24 bytes - -UnnamedText_95824: ; 0x95824 - TX_NUM $ffdb, 1, 3 - db $0, " #MON seen", $4f - db "@" -; 0x95835 - -UnnamedText_95835: ; 0x95835 - TX_NUM $ffdc, 1, 3 - db $0, " #MON owned", $51 - db "PROF.OAK's", $4f - db "Rating:", $58 -; 0x95858 - -_UnnamedText_44201: ; 0x95858 - db $0, "You still have", $4f - db "lots to do.", $55 - db "Look for #MON", $55 - db "in grassy areas!", $57 -; 0x95858 + 59 bytes - -_UnnamedText_44206: ; 0x95893 - db $0, "You're on the", $4f - db "right track! ", $55 - db "Get a FLASH HM", $55 - db "from my AIDE!", $57 -; 0x95893 + 57 bytes - -_UnnamedText_4420b: ; 0x958cc - db $0, "You still need", $4f - db "more #MON!", $55 - db "Try to catch", $55 - db "other species!", $57 -; 0x958cc + 55 bytes - -_UnnamedText_44210: ; 0x95903 - db $0, "Good, you're", $4f - db "trying hard!", $55 - db "Get an ITEMFINDER", $55 - db "from my AIDE!", $57 -; 0x95903 + 58 bytes - -_UnnamedText_44215: ; 0x9593d - db $0, "Looking good!", $4f - db "Go find my AIDE", $55 - db "when you get 50!", $57 -; 0x9593d + 48 bytes - -_UnnamedText_4421a: ; 0x9596d - db $0, "You finally got at", $4f - db "least 50 species!", $55 - db "Be sure to get", $55 - db "EXP.ALL from my", $55 - db "AIDE!", $57 -; 0x9596d + 75 bytes - -_UnnamedText_4421f: ; 0x959b8 - db $0, "Ho! This is geting", $4f - db "even better!", $57 -; 0x959b8 + 33 bytes - -_UnnamedText_44224: ; 0x959d9 - db $0, "Very good!", $4f - db "Go fish for some", $55 - db "marine #MON!", $57 -; 0x959d9 + 42 bytes - -_UnnamedText_44229: ; 0x95a03 - db $0, "Wonderful!", $4f - db "Do you like to", $55 - db "collect things?", $57 -; 0x95a03 + 43 bytes - -_UnnamedText_4422e: ; 0x95a2e - db $0, "I'm impressed!", $4f - db "It must have been", $55 - db "difficult to do!", $57 -; 0x95a2e + 50 bytes - -_UnnamedText_44233: ; 0x95a60 - db $0, "You finally got at", $4f - db "least 100 species!", $55 - db "I can't believe", $55 - db "how good you are!", $57 -; 0x95a60 + 72 bytes - -_UnnamedText_44238: ; 0x95aa8 - db $0, "You even have the", $4f - db "evolved forms of", $55 - db "#MON! Super!", $57 -; 0x95aa8 + 49 bytes - -_UnnamedText_4423d: ; 0x95ad9 - db $0, "Excellent! Trade", $4f - db "with friends to", $55 - db "get some more!", $57 -; 0x95ad9 + 49 bytes - -_UnnamedText_44242: ; 0x95b0a - db $0, "Outstanding!", $4f - db "You've become a", $55 - db "real pro at this!", $57 -; 0x95b0a + 47 bytes - -_UnnamedText_44247: ; 0x95b39 - db $0, "I have nothing", $4f - db "left to say!", $55 - db "You're the", $55 - db "authority now!", $57 -; 0x95b39 + 54 bytes - -_UnnamedText_4424c: ; 0x95b6f - db $0, "Your #DEX is", $4f - db "entirely complete!", $55 - db "Congratulations!", $57 -; 0x95b6f + 50 bytes - -_ViridianPokeCenterText2: ; 0x95ba1 -_ViridianPokeCenterText1: ; 0x95ba1 - db $0, "You can use that", $4f - db "PC in the corner.", $51 - db "The receptionist", $4f - db "told me. So kind!", $57 - -_ViridianPokeCenterText3: ; 0x95be8 - db $0, "There's a #MON", $4f - db "CENTER in every", $55 - db "town ahead.", $51 - db "They don't charge", $4f - db "any money either!", $57 - -_ViridianMartText1: ; 0x95c36 - db $0, "Okay! Say hi to", $4f - db "PROF.OAK for me!", $57 - -_UnnamedText_1d4f5: ; 0x95c58 - db $0, "Hey! You came from", $4f - db "PALLET TOWN?", $57 -; 0x95c58 + 33 bytes - -ViridianMartParcelQuestText: ; 0x95c79 - db $0, "You know PROF.", $4f - db "OAK, right?", $51 - db "His order came in.", $4f - db "Will you take it", $55 - db "to him?", $51 - db $52, " got", $4f - db "OAK's PARCEL!@@" -; 0x95c79 + 92 bytes - -_ViridianMartText2: ; 0x95cd5 - db $0, "This shop sells", $4f - db "many ANTIDOTEs.", $57 - -_ViridianMartText3: ; 0x95cf6 - db $0, "No! POTIONs are", $4f - db "all sold out.", $57 - -_SchoolText1: ; 0x95d15 - db $0, "Whew! I'm trying", $4f - db "to memorize all", $55 - db "my notes.", $57 - -_SchoolText2: ; 0x95d40 - db $0, "Okay!", $51 - db "Be sure to read", $4f - db "the blackboard", $55 - db "carefully!", $57 - -_ViridianHouseText1: ; 0x95d71 - db $0, "Coming up with", $4f - db "nicknames is fun,", $55 - db "but hard.", $51 - db "Simple names are", $4f - db "the easiest to", $55 - db "remember.", $57 - -_ViridianHouseText2: ; 0x95dc7 - db $0, "My Daddy loves", $4f - db "#MON too.", $57 - -_UnnamedText_1d5b1: ; 0x95de1 - db $0, "SPEARY: Tetweet!", $57 -; 0x95de1 + 18 bytes - -_ViridianHouseText4: ; 0x95df3 - db $0, "SPEAROW", $4f - db "Name: SPEARY", $57 - -_UnnamedText_74ace: ; 0x95e09 - db $0, "Fwahahaha! This is", $4f - db "my hideout!", $51 - db "I planned to", $4f - db "resurrect TEAM", $55 - db "ROCKET here!", $51 - db "But, you have", $4f - db "caught me again!", $55 - db "So be it! This", $55 - db "time, I'm not", $55 - db "holding back!", $51 - db "Once more, you", $4f - db "shall face", $55 - db "GIOVANNI, the", $55 - db "greatest trainer!", $57 -; 0x95e09 + 204 bytes - -_UnnamedText_74ad3: ; 0x95ed5 - db $0, "Ha!", $4f - db "That was a truly", $55 - db "intense fight!", $55 - db "You have won!", $55 - db "As proof, here is", $55 - db "the EARTHBADGE!@@" -; 0x95ed5 + 85 bytes - -_UnnamedText_74ad9: ; 0x95f2b - db $0, "Having lost, I", $4f - db "cannot face my", $55 - db "underlings!", $55 - db "TEAM ROCKET is", $55 - db "finished forever!", $51 - db "I will dedicate my", $4f - db "life to the study", $55 - db "of #MON!", $51 - db "Let us meet again", $4f - db "some day!", $55 - db "Farewell!@@" -; 0x95f2b + 160 bytes - -_ViridianGymText12: ; 0x95fcc - db $0, "The EARTHBADGE", $4f - db "makes #MON of", $55 - db "any level obey!", $51 - db "It is evidence of", $4f - db "your mastery as a", $55 - db "#MON trainer!", $51 - db "With it, you can", $4f - db "enter the #MON", $55 - db "LEAGUE!", $51 - db "It is my gift for", $4f - db "your #MON", $55 - db "LEAGUE challenge!", $57 -; 0x95fcc + 182 bytes - -ReceivedTM27Text: ; 0x96082 -_UnnamedText_74ae4: - db $0, $52, " received", $4f - db "TM27!@@" -; 0x96082 + 19 bytes - -_UnnamedText_74ae9: ; 0x96095 - db $0, $51 - db "TM27 is FISSURE!", $4f - db "It will take out", $55 - db "#MON with just", $55 - db "one hit!", $51 - db "I made it when I", $4f - db "ran the GYM here,", $55 - db "too long ago...", $57 -; 0x96095 + 111 bytes - -_UnnamedText_74aee: ; 0x96104 - db $0, "You do not have", $4f - db "space for this!", $57 -; 0x96104 + 33 bytes - -_UnnamedText_74afd: ; 0x96125 - db $0, "Heh! You must be", $4f - db "running out of", $55 - db "steam by now!", $57 -; 0x96125 + 47 bytes - -_UnnamedText_74b02: ; 0x96154 - db $0, "I", $4f - db "ran out of gas!", $58 -; 0x96154 + 19 bytes - -_UnnamedText_74b07: ; 0x96167 - db $0, "You need power to", $4f - db "keep up with our", $55 - db "GYM LEADER!", $57 -; 0x96167 + 48 bytes - -_UnnamedText_74b16: ; 0x96197 - db $0, "Rrrroar! I'm", $4f - db "working myself", $55 - db "into a rage!", $57 -; 0x96197 + 41 bytes - -_UnnamedText_74b1b: ; 0x961c0 - db $0, "Wargh!", $58 -; 0x961c0 + 8 bytes - -_UnnamedText_74b20: ; 0x961c8 - db $0, "I'm still not", $4f - db "worthy!", $57 -; 0x961c8 + 22 bytes - -_UnnamedText_74b2f: ; 0x961de - db $0, "#MON and I, we", $4f - db "make wonderful", $55 - db "music together!", $57 -; 0x961de + 47 bytes - -_UnnamedText_74b34: ; 0x9620d - db $0, "You are in", $4f - db "perfect harmony!", $58 -; 0x9620d + 29 bytes - -_UnnamedText_74b39: ; 0x9622a - db $0, "Do you know the", $4f - db "identity of our", $55 - db "GYM LEADER?", $57 -; 0x9622a + 45 bytes - -_UnnamedText_74b48: ; 0x96257 - db $0, "Karate is the", $4f - db "ultimate form of", $55 - db "martial arts!", $57 -; 0x96257 + 46 bytes - -_UnnamedText_74b4d: ; 0x96285 - db $0, "Atcho!", $58 -; 0x96285 + 8 bytes - -_UnnamedText_74b52: ; 0x9628d - db $0, "If my #MON", $4f - db "were as good at", $55 - db "Karate as I...", $57 -; 0x9628d + 43 bytes - -_UnnamedText_74b61: ; 0x962b8 - db $0, "The truly talented", $4f - db "win with style!", $57 -; 0x962b8 + 36 bytes - -_UnnamedText_74b66: ; 0x962dc - db $0, "I", $4f - db "lost my grip!", $58 -; 0x962dc + 17 bytes - -_UnnamedText_74b6b: ; 0x962ed - db $0, "The LEADER will", $4f - db "scold me!", $57 -; 0x962ed + 27 bytes - -_UnnamedText_74b7a: ; 0x96308 - db $0, "I'm the KARATE", $4f - db "KING! Your fate", $55 - db "rests with me!", $57 -; 0x96308 + 46 bytes - -_UnnamedText_74b7f: ; 0x96336 - db $0, "Ayah!", $58 -; 0x96336 + 7 bytes - -_UnnamedText_74b84: ; 0x9633d - db $0, "#MON LEAGUE?", $4f - db "You? Don't get", $55 - db "cocky!", $57 -; 0x9633d + 35 bytes - -_UnnamedText_74b93: ; 0x96360 - db $0, "Your #MON will", $4f - db "cower at the", $55 - db "crack of my whip!", $57 -; 0x96360 + 47 bytes - -_UnnamedText_74b98: ; 0x9638f - db $0, "Yowch!", $4f - db "Whiplash!", $58 -; 0x9638f + 18 bytes - -_UnnamedText_74b9d: ; 0x963a1 - db $0, "Wait! I was just", $4f - db "careless!", $57 -; 0x963a1 + 28 bytes - -_UnnamedText_74bac: ; 0x963bd - db $0, "VIRIDIAN GYM was", $4f - db "closed for a long", $55 - db "time, but now our", $55 - db "LEADER is back!", $57 -; 0x963bd + 70 bytes - -_UnnamedText_74bb1: ; 0x96403 - db $0, "I", $4f - db "was beaten?", $58 -; 0x96403 + 15 bytes - -_UnnamedText_74bb6: ; 0x96412 - db $0, "You can go onto", $4f - db "#MON LEAGUE", $55 - db "only by defeating", $55 - db "our GYM LEADER!", $57 -; 0x96412 + 63 bytes - -_UnnamedText_74bd4: ; 0x96451 - db $0, "Yo! Champ in", $4f - db "making!", $51 - db "Even I don't know", $4f - db "VIRIDIAN LEADER's", $55 - db "identity!", $51 - db "This will be the", $4f - db "toughest of all", $55 - db "the GYM LEADERs!", $51 - db "I heard that the", $4f - db "trainers here", $55 - db "like ground-type", $55 - db "#MON!", $57 -; 0x96451 + 170 bytes - -_UnnamedText_74bd9: ; 0x964fb - db $0, "Blow me away!", $4f - db "GIOVANNI was the", $55 - db "GYM LEADER here?", $57 -; 0x964fb + 49 bytes - -_UnnamedText_5c21a: ; 0x9652c - db $0, "Come again!", $57 -; 0x9652c + 13 bytes - -_UnnamedText_5c21f: ; 0x96539 - db $0, "It's ", $f0, "50 for a", $4f - db "child's ticket.", $51 - db "Would you like to", $4f - db "come in?", $57 -; 0x96539 + 57 bytes - -_UnnamedText_5c224: ; 0x96572 - db $0, "Right, ", $f0, "50!", $4f - db "Thank you!", $57 -; 0x96572 + 24 bytes - -_UnnamedText_5c229: ; 0x9658a - db $0, "You don't have", $4f - db "enough money.", $58 -; 0x9658a + 29 bytes - -_UnnamedText_5c22e: ; 0x965a7 - db $0, "You can't sneak", $4f - db "in the back way!", $51 - db "Oh, whatever!", $4f - db "Do you know what", $55 - db "AMBER is?", $57 -; 0x965a7 + 74 bytes - -_UnnamedText_5c233: ; 0x965f1 - db $0, "There's a lab", $4f - db "somewhere trying", $55 - db "to resurrect", $55 - db "ancient #MON", $55 - db "from AMBER.", $57 -; 0x965f1 + 69 bytes - -_UnnamedText_5c238: ; 0x96636 - db $0, "AMBER is fossil-", $4f - db "ized tree sap.", $57 -; 0x96636 + 33 bytes - -_UnnamedText_5c23d: ; 0x96657 - db $0, "Please go to the", $4f - db "other side!", $57 -; 0x96657 + 30 bytes - -_UnnamedText_5c242: ; 0x96675 - db $0, "Take plenty of", $4f - db "time to look!", $57 -; 0x96675 + 30 bytes - -_UnnamedText_5c251: ; 0x96693 - db $0, "That is one", $4f - db "magnificent", $55 - db "fossil!", $57 -; 0x96693 + 33 bytes - -_UnnamedText_5c28e: ; 0x966b4 - db $0, "Ssh! I think that", $4f - db "this chunk of", $55 - db "AMBER contains", $55 - db "#MON DNA!", $51 - db "It would be great", $4f - db "if #MON could", $55 - db "be resurrected", $55 - db "from it!", $51 - db "But, my colleagues", $4f - db "just ignore me!", $51 - db "So I have a favor", $4f - db "to ask!", $51 - db "Take this to a", $4f - db "#MON LAB and", $55 - db "get it examined!", $58 -; 0x966b4 + 220 bytes - -_ReceivedOldAmberText: ; 0x96790 - db $0, $52, " received", $4f - db "OLD AMBER!@@" -; 0x96790 + 24 bytes - -_UnnamedText_5c299: ; 0x967a8 - db $0, "Ssh! Get the OLD", $4f - db "AMBER checked!", $57 -; 0x967a8 + 33 bytes - -_UnnamedText_5c29e: ; 0x967c9 - db $0, "You don't have", $4f - db "space for this!", $57 -; 0x967c9 + 31 bytes - -_UnnamedText_5c2ad: ; 0x967e8 - db $0, "We are proud of 2", $4f - db "fossils of very", $55 - db "rare, prehistoric", $55 - db "#MON!", $57 -; 0x967e8 + 59 bytes - -_UnnamedText_5c2bc: ; 0x96823 - db $0, "The AMBER is", $4f - db "clear and gold!", $57 -; 0x96823 + 30 bytes - -_MuseumF2Text1: ; 0x96841 - db $0, "MOON STONE?", $51 - db "What's so special", $4f - db "about it?", $57 - -_MuseumF2Text2: ; 0x96869 - db $0, "July 20, 1969!", $51 - db "The 1st lunar", $4f - db "landing!", $51 - db "I bought a color", $4f - db "TV to watch it!", $57 - -_MuseumF2Text3: ; 0x968b1 - db $0, "We have a space", $4f - db "exhibit now.", $57 - -_MuseumF2Text4: ; 0x968cf - db $0, "I want a PIKACHU!", $4f - db "It's so cute!", $51 - db "I asked my Daddy", $4f - db "to catch me one!", $57 - -_MuseumF2Text5: ; 0x96911 - db $0, "Yeah, a PIKACHU", $4f - db "soon, I promise!", $57 - -_MuseumF2Text6: ; 0x96933 - db $0, "SPACE SHUTTLE", $4f - db "COLUMBIA", $57 - -_MuseumF2Text7: ; 0x9694b - db $0, "Meteorite that", $4f - db "fell on MT.MOON.", $55 - db "(MOON STONE?)", $57 - -_UnnamedText_5c49e: ; 0x9697a - db $0, "I'm BROCK!", $4f - db "I'm PEWTER's GYM", $55 - db "LEADER!", $51 - db "I believe in rock", $4f - db "hard defense and", $55 - db "determination!", $51 - db "That's why my", $4f - db "#MON are all", $55 - db "the rock-type!", $51 - db "Do you still want", $4f - db "to challenge me?", $55 - db "Fine then! Show", $55 - db "me your best!", $57 -; 0x9697a + 190 bytes - -SECTION "bank26",DATA,BANK[$26] - -_UnnamedText_5c4a3: ; 0x98000 - db $0, "There are all", $4f - db "kinds of trainers", $55 - db "in the world!", $51 - db "You appear to be", $4f - db "very gifted as a", $55 - db "#MON trainer!", $51 - db "Go to the GYM in", $4f - db "CERULEAN and test", $55 - db "your abilities!", $57 -; 0x98000 + 146 bytes - -_UnnamedText_5c4a8: ; 0x98092 - db $0, "Wait! Take this", $4f - db "with you!", $57 -; 0x98092 + 27 bytes - -_ReceivedTM34Text: ; 0x980ad - db $0, $52, " received", $4f - db "TM34!@@" -; 0x980c0 - -_UnnamedText_5c4b2: ; 0x980c0 - db $0, $51 - db "A TM contains a", $4f - db "technique that", $55 - db "can be taught to", $55 - db "#MON!", $51 - db "A TM is good only", $4f - db "once! So when you", $55 - db "use one to teach", $55 - db "a new technique,", $55 - db "pick the #MON", $55 - db "carefully!", $51 - db "TM34 contains", $4f - db "BIDE!", $51 - db "Your #MON will", $4f - db "absorb damage in", $55 - db "battle then pay", $55 - db "it back double!", $57 -; 0x980c0 + 235 bytes - -_UnnamedText_5c4b7: ; 0x981ab - db $0, "You don't have", $4f - db "room for this!", $57 -; 0x981ab + 30 bytes - -_UnnamedText_5c4bc: ; 0x981c9 - db $0, "I took", $4f - db "you for granted.", $51 - db "As proof of your", $4f - db "victory, here's", $55 - db "the BOULDERBADGE!", $51 - db $52, " received", $4f - db "the BOULDERBADGE!@@" -; 0x98232 - -_UnnamedText_5c4c1: ; 0x98232 - db $0, $51 - db "That's an official", $4f - db "#MON LEAGUE", $55 - db "BADGE!", $51 - db "Its bearer's", $4f - db "#MON become", $55 - db "more powerful!", $51 - db "The technique", $4f - db "FLASH can now be", $55 - db "used any time!", $58 -; 0x98232 + 124 bytes - -_UnnamedText_5c4d0: ; 0x982ae - db $0, "Stop right there,", $4f - db "kid!", $51 - db "You're still light", $4f - db "years from facing", $55 - db "BROCK!", $57 -; 0x982ae + 67 bytes - -_UnnamedText_5c4d5: ; 0x982f1 - db $0, "Darn!", $51 - db "Light years isn't", $4f - db "time! It measures", $55 - db "distance!", $58 -; 0x982f1 + 52 bytes - -_UnnamedText_5c4da: ; 0x98325 - db $0, "You're pretty hot,", $4f - db "but not as hot", $55 - db "as BROCK!", $57 -; 0x98325 + 44 bytes - -_UnnamedText_5c515: ; 0x98351 - db $0, "Hiya! I can tell", $4f - db "you have what it", $55 - db "takes to become a", $55 - db "#MON champ!", $51 - db "I'm no trainer,", $4f - db "but I can tell", $55 - db "you how to win!", $51 - db "Let me take you", $4f - db "to the top!", $57 -; 0x98351 + 139 bytes - -_UnnamedText_5c51a: ; 0x983dc - db $0, "All right! Let's", $4f - db "get happening!", $58 -; 0x983dc + 32 bytes - -_UnnamedText_5c51f: ; 0x983fc - db $0, "The 1st #MON", $4f - db "out in a match is", $55 - db "at the top of the", $55 - db "#MON LIST!", $51 - db "By changing the", $4f - db "order of #MON,", $55 - db "matches could be", $55 - db "made easier!", $57 -; 0x983fc + 122 bytes - -_UnnamedText_5c524: ; 0x98476 - db $0, "It's a free", $4f - db "service! Let's", $55 - db "get happening!", $58 -; 0x98476 + 41 bytes - -_UnnamedText_5c529: ; 0x9849f - db $0, "Just as I thought!", $4f - db "You're #MON", $55 - db "champ material!", $57 -; 0x9849f + 47 bytes - -_PewterHouse1Text1: ; 0x984ce - db $0, "NIDORAN: Bowbow!@@" - -_PewterHouse1Text2: ; 0x984e1 - db $0, "NIDORAN sit!", $57 - -_PewterHouse1Text3: ; 0x984ef - db $0, "Our #MON's an", $4f - db "outsider, so it's", $55 - db "hard to handle.", $51 - db "An outsider is a", $4f - db "#MON that you", $55 - db "get in a trade.", $51 - db "It grows fast, but", $4f - db "it may ignore an", $55 - db "unskilled trainer", $55 - db "in battle!", $51 - db "If only we had", $4f - db "some BADGEs...", $57 - -_UnnamedText_74cc6: ; 0x985ac - db $0, "A shady, old man", $4f - db "got me to buy", $55 - db "this really weird", $55 - db "fish #MON!", $51 - db "It's totally weak", $4f - db "and it cost ", $f0, "500!", $57 -; 0x985ac + 96 bytes - -_UnnamedText_74cd5: ; 0x9860c - db $0, "Good things can", $4f - db "happen if you", $55 - db "raise #MON", $55 - db "diligently, even", $55 - db "the weak ones!", $57 -; 0x9860c + 74 bytes - -_PewterHouse2Text1: ; 0x98656 - db $0, "#MON learn new", $4f - db "techniques as", $55 - db "they grow!", $51 - db "But, some moves", $4f - db "must be taught by", $55 - db "the trainer!", $57 - -_PewterHouse2Text2: ; 0x986ae - db $0, "#MON become", $4f - db "easier to catch", $55 - db "when they are", $55 - db "hurt or asleep!", $51 - db "But, it's not a", $4f - db "sure thing!", $57 - -_PewterPokecenterText1: ; 0x98704 - db $0, "What!?", $51 - db "TEAM ROCKET is", $4f - db "at MT.MOON? Huh?", $55 - db "I'm on the phone!", $51 - db "Scram!", $57 - -_PewterPokecenterText5: ; 0x98744 - db $0, "JIGGLYPUFF: Puu", $4f - db "pupuu!", $57 -; 0x9875c - -_UnnamedText_1d6ab: ; 0x9875c - db $0, "Those miserable", $4f - db "ROCKETs!", $51 - db "Look what they", $4f - db "did here!", $51 - db "They stole a TM", $4f - db "for teaching", $55 - db "#MON how to", $55 - db "DIG holes!", $51 - db "That cost me a", $4f - db "bundle, it did!", $57 -; 0x9875c + 134 bytes - -_UnnamedText_1d6b0: ; 0x987e2 - db $0, "I figure what's", $4f - db "lost is lost!", $51 - db "I decided to teach", $4f - db "DIGLETT how to", $55 - db "DIG without a TM!", $57 -; 0x987e2 + 82 bytes - -_CeruleanHouseTrashedText2: ; 0x98834 - db $0, "TEAM ROCKET must", $4f - db "be trying to DIG", $55 - db "their way into no", $55 - db "good!", $57 - -_CeruleanHouseTrashedText3: ; 0x9886f - db $0, "TEAM ROCKET left", $4f - db "a way out!", $57 - -_CeruleanHouse2Text1: ; 0x9888c - db $0, "My husband likes", $4f - db "trading #MON.", $51 - db "If you are a", $4f - db "collector, would", $55 - db "you please trade", $55 - db "with him?", $57 - -_CeruleanPokecenterText1: ; 0x988e5 - db $0, "That BILL!", $51 - db "I heard that", $4f - db "he'll do whatever", $55 - db "it takes to get", $55 - db "rare #MON!", $57 - -_CeruleanPokecenterText3: ; 0x9892a - db $0, "Have you heard", $4f - db "about BILL?", $51 - db "Everyone calls", $4f - db "him a #MANIAC!", $51 - db "I think people", $4f - db "are just jealous", $55 - db "of BILL, though.", $51 - db "Who wouldn't want", $4f - db "to boast about", $55 - db "their #MON?", $57 - -_UnnamedText_5c7be: ; 0x989c1 - db $0, "Hi, you're a new", $4f - db "face!", $51 - db "Trainers who want", $4f - db "to turn pro have", $55 - db "to have a policy", $55 - db "about #MON!", $51 - db "What is your", $4f - db "approach when you", $55 - db "catch #MON?", $51 - db "My policy is an", $4f - db "all-out offensive", $55 - db "with water-type", $55 - db "#MON!", $57 -; 0x989c1 + 186 bytes - -_UnnamedText_5c7c3: ; 0x98a7b - db $0, "TM11 teaches", $4f - db "BUBBLEBEAM!", $51 - db "Use it on an", $4f - db "aquatic #MON!", $57 -; 0x98a7b + 53 bytes - -_UnnamedText_5c7c8: ; 0x98ab0 - db $0, "The CASCADEBADGE", $4f - db "makes all #MON", $55 - db "up to L30 obey!", $51 - db "That includes", $4f - db "even outsiders!", $51 - db "There's more, you", $4f - db "can now use CUT", $55 - db "any time!", $51 - db "You can CUT down", $4f - db "small bushes to", $55 - db "open new paths!", $51 - db "You can also have", $4f - db "my favorite TM!", $57 -; 0x98ab0 + 205 bytes - -_ReceivedTM11Text: ; 0x98b7d - db $0, $52, " received", $4f - db "TM11!@@" -; 0x98b90 - -_UnnamedText_5c7d3: ; 0x98b90 - db $0, "You better make", $4f - db "room for this!", $57 -; 0x98b90 + 32 bytes - -_UnnamedText_5c7d8: ; 0x98bb0 - db $0, "Wow!", $4f - db "You're too much!", $51 - db "All right!", $51 - db "You can have the", $4f - db "CASCADEBADGE to", $55 - db "show you beat me!@@" -; 0x98c05 - -_UnnamedText_5c7e9: ; 0x98c05 - db $0, "I'm more than good", $4f - db "enough for you!", $51 - db "MISTY can wait!", $57 -; 0x98c05 + 51 bytes - -_UnnamedText_5c7ee: ; 0x98c38 - db $0, "You", $4f - db "overwhelmed me!", $58 -; 0x98c38 + 21 bytes - -_UnnamedText_5c7f3: ; 0x98c4d - db $0, "You have to face", $4f - db "other trainers to", $55 - db "find out how good", $55 - db "you really are.", $57 -; 0x98c4d + 70 bytes - -_UnnamedText_5c802: ; 0x98c93 - db $0, "Splash!", $51 - db "I'm first up!", $4f - db "Let's do it!", $57 -; 0x98c93 + 34 bytes - -_UnnamedText_5c807: ; 0x98cb5 - db $0, "That", $4f - db "can't be!", $58 -; 0x98cb5 + 15 bytes - -_UnnamedText_5c80c: ; 0x98cc4 - db $0, "MISTY is going to", $4f - db "keep improving!", $51 - db "She won't lose to", $4f - db "someone like you!", $57 -; 0x98cc4 + 70 bytes - -_UnnamedText_5c82a: ; 0x98d0a - db $0, "Yo! Champ in", $4f - db "making!", $51 - db "Here's my advice!", $51 - db "The LEADER, MISTY,", $4f - db "is a pro who uses", $55 - db "water #MON!", $51 - db "You can drain all", $4f - db "their water with", $55 - db "plant #MON!", $51 - db "Or, zap them with", $4f - db "electricity!", $57 -; 0x98d0a + 166 bytes - -_UnnamedText_5c82f: ; 0x98db0 - db $0, "You beat MISTY!", $4f - db "What'd I tell ya?", $51 - db "You and me kid,", $4f - db "we make a pretty", $55 - db "darn good team!", $57 -; 0x98db0 + 83 bytes - -_UnnamedText_1d810: ; 0x98e03 - db $0, "Hi! Welcome to", $4f - db "our BIKE SHOP.", $51 - db "Have we got just", $4f - db "the BIKE for you!", $58 -; 0x98e03 + 66 bytes - -_UnnamedText_1d815: ; 0x98e45 - db $0, "It's a cool BIKE!", $4f - db "Do you want it?", $57 -; 0x98e45 + 34 bytes - -_UnnamedText_1d81a: ; 0x98e67 - db $0, "Sorry! You can't", $4f - db "afford it!", $58 -; 0x98e67 + 28 bytes - -_UnnamedText_1d81f: ; 0x98e83 - db $0, "Oh, that's...", $51 - db "A BIKE VOUCHER!", $51 - db "OK! Here you go!", $58 -; 0x98e83 + 47 bytes - -_UnnamedText_1d824: ; 0x98eb2 - db $0, $52, " exchanged", $4f - db "the BIKE VOUCHER", $55 - db "for a BICYCLE.@@" -; 0x98ee0 - -_UnnamedText_1d82a: ; 0x98ee0 - db $0, "Come back again", $4f - db "some time!", $57 -; 0x98ee0 + 28 bytes - -_UnnamedText_1d82f: ; 0x98efc - db $0, "How do you like", $4f - db "your new BICYCLE?", $51 - db "You can take it", $4f - db "on CYCLING ROAD", $55 - db "and in caves!", $57 -; 0x98efc + 81 bytes - -_UnnamedText_1d834: ; 0x98f4d - db $0, "You better make", $4f - db "room for this!", $57 -; 0x98f4d + 32 bytes - -_UnnamedText_1d843: ; 0x98f6d - db $0, "A plain city BIKE", $4f - db "is good enough", $55 - db "for me!", $51 - db "You can't put a", $4f - db "shopping basket", $55 - db "on an MTB!", $57 -; 0x98f6d + 84 bytes - -_UnnamedText_1d85c: ; 0x98fc1 - db $0, "These BIKEs are", $4f - db "cool, but they're", $55 - db "way expensive!", $57 -; 0x98fc1 + 49 bytes - -_UnnamedText_1d861: ; 0x98ff2 - db $0, "Wow. Your BIKE is", $4f - db "really cool!", $57 -; 0x98ff2 + 32 bytes - -_CeruleanMartText2: ; 0x99012 - db $0, "Use REPEL to keep", $4f - db "bugs and weak", $55 - db "#MON away.", $51 - db "Put your strongest", $4f - db "#MON at the", $55 - db "top of the list", $55 - db "for best results!", $57 - -_CeruleanMartText3: ; 0x9907f - db $0, "Have you seen any", $4f - db "RARE CANDY?", $51 - db "It's supposed to", $4f - db "make #MON go", $55 - db "up one level!", $57 - -_UnnamedText_74e77: ; 0x990c9 - db $0, "#MON BADGEs", $4f - db "are owned only by", $55 - db "skilled trainers.", $51 - db "I see you have", $4f - db "at least one.", $51 - db "Those BADGEs have", $4f - db "amazing secrets!", $58 -; 0x990c9 + 113 bytes - -_UnnamedText_74e7c: ; 0x9913a - db $0, "Now then...", $51 - db "Which of the 8", $4f - db "BADGEs should I", $55 - db "describe?", $57 -; 0x9913a + 54 bytes - -_UnnamedText_74e81: ; 0x99170 - db $0, "Come visit me any", $4f - db "time you wish.", $57 -; 0x99170 + 34 bytes - -_UnnamedText_74e96: ; 0x99192 - db $0, "The ATTACK of all", $4f - db "#MON increases", $55 - db "a little bit.", $51 - db "It also lets you", $4f - db "use FLASH any", $55 - db "time you desire.", $58 -; 0x99192 + 96 bytes - -_UnnamedText_74e9b: ; 0x991f2 - db $0, "#MON up to L30", $4f - db "will obey you.", $51 - db "Any higher, they", $4f - db "become unruly!", $51 - db "It also lets you", $4f - db "use CUT outside", $55 - db "of battle.", $58 -; 0x991f2 + 107 bytes - -_UnnamedText_74ea0: ; 0x9925d - db $0, "The SPEED of all", $4f - db "#MON increases", $55 - db "a little bit.", $51 - db "It also lets you", $4f - db "use FLY outside", $55 - db "of battle.", $58 -; 0x9925d + 91 bytes - -_UnnamedText_74ea5: ; 0x992b8 - db $0, "#MON up to L50", $4f - db "will obey you.", $51 - db "Any higher, they", $4f - db "become unruly!", $51 - db "It also lets you", $4f - db "use STRENGTH out-", $55 - db "side of battle.", $58 -; 0x992b8 + 114 bytes - -_UnnamedText_74eaa: ; 0x9932a - db $0, "The DEFENSE of all", $4f - db "#MON increases", $55 - db "a little bit.", $51 - db "It also lets you", $4f - db "use SURF outside", $55 - db "of battle.", $58 -; 0x9932a + 94 bytes - -_UnnamedText_74eaf: ; 0x99388 - db $0, "#MON up to L70", $4f - db "will obey you.", $51 - db "Any higher, they", $4f - db "become unruly!", $58 -; 0x99388 + 63 bytes - -_UnnamedText_74eb4: ; 0x993c7 - db $0, "Your #MON's", $4f - db "SPECIAL abilities", $55 - db "increase a bit.", $58 -; 0x993c7 + 46 bytes - -_UnnamedText_74eb9: ; 0x993f5 - db $0, "All #MON will", $4f - db "obey you!", $58 -; 0x993f5 + 25 bytes - -_LavenderPokecenterText4: -_LavenderPokecenterText2: -_LavenderPokecenterText1: ; 0x9940e - db $0, "TEAM ROCKET will", $4f - db "do anything for", $55 - db "the sake of gold!", $57 - -_LavenderPokecenterText3: ; 0x99442 - db $0, "I saw CUBONE's", $4f - db "mother die trying", $55 - db "to escape from", $55 - db "TEAM ROCKET!", $57 - -_PokemonTower1Text1: ; 0x9947f - db $0, "#MON TOWER was", $4f - db "erected in the", $55 - db "memory of #MON", $55 - db "that had died.", $57 - -_PokemonTower1Text2: ; 0x994bc - db $0, "Did you come to", $4f - db "pay respects?", $55 - db "Bless you!", $57 - -_PokemonTower1Text3: ; 0x994e6 - db $0, "I came to pray", $4f - db "for my CLEFAIRY.", $51 - db "Sniff! I can't", $4f - db "stop crying...", $57 - -_PokemonTower1Text4: ; 0x99524 - db $0, "My GROWLITHE...", $4f - db "Why did you die?", $57 - -_PokemonTower1Text5: ; 0x99546 - db $0, "I am a CHANNELER!", $4f - db "There are spirits", $55 - db "up to mischief!", $57 - -_UnnamedText_6062d: ; 0x9957b - db $0, $53, ": Hey,", $4f - db $52, "! What", $55 - db "brings you here?", $55 - db "Your #MON", $55 - db "don't look dead!", $51 - db "I can at least", $4f - db "make them faint!", $55 - db "Let's go, pal!", $57 -; 0x9957b + 106 bytes - -_UnnamedText_60632: ; 0x995e5 - db $0, "What?", $4f - db "You stinker!", $51 - db "I took it easy on", $4f - db "you too!", $58 -; 0x995e5 + 47 bytes - -_UnnamedText_60637: ; 0x99614 - db $0, $53, ": Well,", $4f - db "look at all your", $55 - db "wimpy #MON!", $51 - db "Toughen them up a", $4f - db "bit more!", $58 -; 0x99614 + 67 bytes - -_UnnamedText_6063c: ; 0x99657 - db $0, "How's your #DEX", $4f - db "coming, pal?", $55 - db "I just caught a", $55 - db "CUBONE!", $51 - db "I can't find the", $4f - db "grown-up MAROWAK", $55 - db "yet!", $51 - db "I doubt there are", $4f - db "any left! Well, I", $55 - db "better get going!", $55 - db "I've got a lot to", $55 - db "accomplish, pal!", $51 - db "Smell ya later!", $57 -; 0x99657 + 195 bytes - -_PokemonTower2Text2: ; 0x9971a - db $0, "Even we could not", $4f - db "identify the", $55 - db "wayward GHOSTs!", $51 - db "A SILPH SCOPE", $4f - db "might be able to", $55 - db "unmask them.", $57 - -_UnnamedText_60730: ; 0x99776 - db $0, "Urrg...Awaa...", $4f - db "Huhu...graa..", $57 -; 0x99776 + 30 bytes - -_UnnamedText_60735: ; 0x99794 - db $0, "Hwa!", $4f - db "I'm saved!", $58 -; 0x99794 + 16 bytes - -_UnnamedText_6073a: ; 0x997a4 - db $0, "The GHOSTs can be", $4f - db "identified by the", $55 - db "SILPH SCOPE.", $57 -; 0x997a4 + 50 bytes - -_UnnamedText_6073f: ; 0x997d6 - db $0, "Kekeke....", $4f - db "Kwaaah!", $57 -; 0x997d6 + 20 bytes - -_UnnamedText_60744: ; 0x997ea - db $0, "Hmm?", $4f - db "What am I doing?", $58 -; 0x997ea + 23 bytes - -_UnnamedText_60749: ; 0x99801 - db $0, "Sorry! I was", $4f - db "possessed!", $57 -; 0x99801 + 25 bytes - -_UnnamedText_6074e: ; 0x9981a - db $0, "Be gone!", $4f - db "Evil spirit!", $57 -; 0x9981a + 23 bytes - -_UnnamedText_60753: ; 0x99831 - db $0, "Whew!", $4f - db "The spirit left!", $58 -; 0x99831 + 24 bytes - -_UnnamedText_60758: ; 0x99849 - db $0, "My friends were", $4f - db "possessed too!", $57 -; 0x99849 + 32 bytes - -_UnnamedText_6085e: ; 0x99869 - db $0, "GHOST! No!", $4f - db "Kwaaah!", $57 -; 0x99869 + 20 bytes - -_UnnamedText_60863: ; 0x9987d - db $0, "Where", $4f - db "is the GHOST?", $58 -; 0x9987d + 21 bytes - -_UnnamedText_60868: ; 0x99892 - db $0, "I must have been", $4f - db "dreaming...", $57 -; 0x99892 + 30 bytes - -_UnnamedText_6086d: ; 0x998b0 - db $0, "Be cursed with", $4f - db "me! Kwaaah!", $57 -; 0x998b0 + 28 bytes - -_UnnamedText_60872: ; 0x998cc - db $0, "What!", $58 -; 0x998cc + 7 bytes - -_UnnamedText_60877: ; 0x998d3 - db $0, "We can't crack", $4f - db "the identity of", $55 - db "the GHOSTs.", $57 -; 0x998d3 + 43 bytes - -_UnnamedText_6087c: ; 0x998fe - db $0, "Huhuhu...", $4f - db "Beat me not!", $57 -; 0x998fe + 24 bytes - -_UnnamedText_60881: ; 0x99916 - db $0, "Huh?", $4f - db "Who? What?", $58 -; 0x99916 + 17 bytes - -_UnnamedText_60886: ; 0x99927 - db $0, "May the departed", $4f - db "souls of #MON", $55 - db "rest in peace...", $57 -; 0x99927 + 49 bytes - -_PokemonTower5Text1: ; 0x99958 - db $0, "Come, child! I", $4f - db "sealed this space", $55 - db "with white magic!", $51 - db "You can rest here!", $57 - -_UnnamedText_609e9: ; 0x9999f - db $0, "Give...me...", $4f - db "your...soul...", $57 -; 0x9999f + 29 bytes - -_UnnamedText_609ee: ; 0x999bc - db $0, "Gasp!", $58 -; 0x999bc + 7 bytes - -_UnnamedText_609f3: ; 0x999c3 - db $0, "I was under", $4f - db "possession!", $57 -; 0x999c3 + 25 bytes - -_UnnamedText_60a02: ; 0x999dc - db $0, "You...shall...", $4f - db "join...us...", $57 -; 0x999dc + 29 bytes - -_UnnamedText_60a07: ; 0x999f9 - db $0, "What", $4f - db "a nightmare!", $58 -; 0x999f9 + 19 bytes - -_UnnamedText_60a0c: ; 0x99a0c - db $0, "I was possessed!", $57 -; 0x99a0c + 18 bytes - -_UnnamedText_60a1b: ; 0x99a1e - db $0, "Zombies!", $57 -; 0x99a1e + 10 bytes - -_UnnamedText_60a20: ; 0x99a28 - db $0, "Ha?", $58 -; 0x99a28 + 5 bytes - -_UnnamedText_60a25: ; 0x99a2d - db $0, "I regained my", $4f - db "senses!", $57 -; 0x99a2d + 23 bytes - -_UnnamedText_60a34: ; 0x99a44 - db $0, "Urgah...", $4f - db "Urff....", $57 -; 0x99a44 + 19 bytes - -_UnnamedText_60a39: ; 0x99a57 - db $0, "Whoo!", $58 -; 0x99a57 + 7 bytes - -_UnnamedText_60a3e: ; 0x99a5e - db $0, "I fell to evil", $4f - db "spirits despite", $55 - db "my training!", $57 -; 0x99a5e + 45 bytes - -_UnnamedText_60a43: ; 0x99a8b - db $0, "Entered purified,", $4f - db "protected zone!", $51 - db $52, "'s #MON", $4f - db "are fully healed!", $57 -; 0x99a8b + 61 bytes - -_UnnamedText_60c1f: ; 0x99ac8 - db $0, "The GHOST was the", $4f - db "restless soul of", $55 - db "CUBONE's mother!", $57 -; 0x99ac8 + 52 bytes - -_UnnamedText_60c24: ; 0x99afc - db $0, "The mother's soul", $4f - db "was calmed.", $51 - db "It departed to", $4f - db "the afterlife!", $57 -; 0x99afc + 60 bytes - -_UnnamedText_60c29: ; 0x99b38 - db $0, "Give...me...", $4f - db "blood...", $57 -; 0x99b38 + 23 bytes - -_UnnamedText_60c2e: ; 0x99b4f - db $0, "Groan!", $58 -; 0x99b4f + 8 bytes - -_UnnamedText_60c33: ; 0x99b57 - db $0, "I feel anemic and", $4f - db "weak...", $57 -; 0x99b57 + 27 bytes - -_UnnamedText_60c38: ; 0x99b72 - db $0, "Urff... Kwaah!", $57 -; 0x99b72 + 16 bytes - -_UnnamedText_60c3d: ; 0x99b82 - db $0, "Some-", $4f - db "thing fell out!", $58 -; 0x99b82 + 23 bytes - -_UnnamedText_60c42: ; 0x99b99 - db $0, "Hair didn't fall", $4f - db "out! It was an", $55 - db "evil spirit!", $57 -; 0x99b99 + 45 bytes - -_UnnamedText_60c47: ; 0x99bc6 - db $0, "Ke..ke...ke...", $4f - db "ke..ke...ke!!", $57 -; 0x99bc6 + 30 bytes - -_UnnamedText_60c4c: ; 0x99be4 - db $0, "Keee!", $58 -; 0x99be4 + 7 bytes - -_UnnamedText_60c51: ; 0x99beb - db $0, "What's going on", $4f - db "here?", $57 -; 0x99beb + 22 bytes - -_UnnamedText_60c56: ; 0x99c01 - db $0, "Be gone...", $4f - db "Intruders...", $57 -; 0x99c01 + 25 bytes - -_UnnamedText_60ec4: ; 0x99c1a - db $0, "MR.FUJI: Heh? You", $4f - db "came to save me?", $51 - db "Thank you. But, I", $4f - db "came here of my", $55 - db "own free will.", $51 - db "I came to calm", $4f - db "the soul of", $55 - db "CUBONE's mother.", $51 - db "I think MAROWAK's", $4f - db "spirit has gone", $55 - db "to the afterlife.", $51 - db "I must thank you", $4f - db "for your kind", $55 - db "concern!", $51 - db "Follow me to my", $4f - db "home, #MON", $55 - db "HOUSE at the foot", $55 - db "of this tower.", $57 -; 0x99c1a + 279 bytes - -_UnnamedText_60ec9: ; 0x99d31 - db $0, "What do you want?", $4f - db "Why are you here?", $57 -; 0x99d31 + 37 bytes - -_UnnamedText_60ece: ; 0x99d56 - db $0, "I give up!", $58 -; 0x99d56 + 12 bytes - -_UnnamedText_60ed3: ; 0x99d62 - db $0, "I'm not going to", $4f - db "forget this!", $57 -; 0x99d62 + 30 bytes - -_UnnamedText_60ed8: ; 0x99d80 - db $0, "This old guy came", $4f - db "and complained", $55 - db "about us harming", $55 - db "useless #MON!", $51 - db "We're talking it", $4f - db "over as adults!", $57 -; 0x99d80 + 97 bytes - -_UnnamedText_60edd: ; 0x99de1 - db $0, "Please!", $4f - db "No more!", $58 -; 0x99de1 + 18 bytes - -_UnnamedText_60ee2: ; 0x99df3 - db $0, "#MON are only", $4f - db "good for making", $55 - db "money!", $51 - db "Stay out of our", $4f - db "business!", $57 -; 0x99df3 + 64 bytes - -_UnnamedText_60ee7: ; 0x99e33 - db $0, "You're not saving", $4f - db "anyone, kid!", $57 -; 0x99e33 + 31 bytes - -_UnnamedText_60eec: ; 0x99e52 - db $0, "Don't", $4f - db "fight us ROCKETs!", $58 -; 0x99e52 + 24 bytes - -_UnnamedText_60ef1: ; 0x99e6a - db $0, "You're not getting", $4f - db "away with this!", $57 -; 0x99e6a + 35 bytes - -_UnnamedText_1d8d1: ; 0x99e8d - db $0, "That's odd, MR.FUJI", $4f - db "isn't here.", $55 - db "Where'd he go?", $57 -; 0x99e8d + 45 bytes - -_UnnamedText_1d8d6: ; 0x99eba - db $0, "MR.FUJI had been", $4f - db "praying alone for", $55 - db "CUBONE's mother.", $57 -; 0x99eba + 52 bytes - -_UnnamedText_1d8f4: ; 0x99eee - db $0, "This is really", $4f - db "MR.FUJI's house.", $51 - db "He's really kind!", $51 - db "He looks after", $4f - db "abandoned and", $55 - db "orphaned #MON!", $57 -; 0x99eee + 93 bytes - -_UnnamedText_1d8f9: ; 0x99f4b - db $0, "It's so warm!", $4f - db "#MON are so", $55 - db "nice to hug!", $57 -; 0x99f4b + 39 bytes - -_LavenderHouse1Text3: ; 0x99f72 - db $0, "PSYDUCK: Gwappa!@@" - -_LavenderHouse1Text4: ; 0x99f85 - db $0, "NIDORINO: Gaoo!@@" - -_UnnamedText_1d94c: ; 0x99f97 - db $0, "MR.FUJI: ", $52, ".", $51 - db "Your #DEX quest", $4f - db "may fail without", $55 - db "love for your", $55 - db "#MON.", $51 - db "I think this may", $4f - db "help your quest.", $58 -; 0x99f97 + 100 bytes - -_UnnamedText_1d951: ; 0x99ffb - db $0, $52, " received", $4f - db "a @" - TX_RAM $cf4b - db $0, "!@@" -; 0x9a011 - -_UnnamedText_1d956: ; 0x9a011 - db $0, $51 - db "Upon hearing #", $4f - db "FLUTE, sleeping", $55 - db "#MON will", $55 - db "spring awake.", $51 - db "It works on all", $4f - db "sleeping #MON.", $57 -; 0x9a011 + 88 bytes - -_UnnamedText_1d95b: ; 0x9a069 - db $0, "You must make", $4f - db "room for this!", $57 -; 0x9a069 + 30 bytes - -_UnnamedText_1d960: ; 0x9a087 - db $0, "MR.FUJI: Has my", $4f - db "FLUTE helped you?", $57 -; 0x9a087 + 35 bytes - -_LavenderHouse1Text6: ; 0x9a0aa - db $0, "#MON Monthly", $4f - db "Grand Prize", $55 - db "Drawing!", $51 - db "The application", $4f - db "form is...", $51 - db "Gone! It's been", $4f - db "clipped out!", $57 - -_LavenderMartText2: ; 0x9a104 - db $0, "I'm searching for", $4f - db "items that raise", $55 - db "the abilities of", $55 - db "#MON during a", $55 - db "single battle.", $51 - db "X ATTACK, X", $4f - db "DEFEND, X SPEED", $55 - db "and X SPECIAL are", $55 - db "what I'm after.", $51 - db "Do you know where", $4f - db "I can get them?", $57 - -_UnnamedText_5c953: ; 0x9a1b4 - db $0, "You know REVIVE?", $4f - db "It revives any", $55 - db "fainted #MON!", $57 -; 0x9a1b4 + 47 bytes - -_UnnamedText_5c958: ; 0x9a1e3 - db $0, "I found a NUGGET", $4f - db "in the mountains.", $51 - db "I thought it was", $4f - db "useless, but it", $55 - db "sold for ", $f0, "5000!", $57 -; 0x9a1e3 + 85 bytes - -_LavenderHouse2Text1: ; 0x9a238 - db $0, "CUBONE: Kyarugoo!@@" - -_UnnamedText_1d9dc: ; 0x9a24c - db $0, "I hate those", $4f - db "horrible ROCKETs!", $51 - db "That poor CUBONE's", $4f - db "mother...", $51 - db "It was killed", $4f - db "trying to escape", $55 - db "from TEAM ROCKET!", $57 -; 0x9a24c + 109 bytes - -_UnnamedText_1d9e1: ; 0x9a2b9 - db $0, "The GHOST of", $4f - db "#MON TOWER is", $55 - db "gone!", $51 - db "Someone must have", $4f - db "soothed its", $55 - db "restless soul!", $57 -; 0x9a2b9 + 79 bytes - -_UnnamedText_1dab3: ; 0x9a308 - db $0, "Hello, hello!", $4f - db "I am the official", $55 - db "NAME RATER!", $51 - db "Want me to rate", $4f - db "the nicknames of", $55 - db "your #MON?", $57 -; 0x9a308 + 89 bytes - -_UnnamedText_1dab8: ; 0x9a361 - db $0, "Which #MON", $4f - db "should I look at?", $58 -; 0x9a361 + 30 bytes - -_UnnamedText_1dabd: ; 0x9a37f - TX_RAM $cd6d - db $0, ", is it?", $4f - db "That is a decent", $55 - db "nickname!", $51 - db "But, would you", $4f - db "like me to give", $55 - db "it a nicer name?", $51 - db "How about it?", $57 -; 0x9a37f + 102 bytes - -_UnnamedText_1dac2: ; 0x9a3e5 - db $0, "Fine! What should", $4f - db "we name it?", $58 -; 0x9a3e5 + 31 bytes - -_UnnamedText_1dac7: ; 0x9a404 - db $0, "OK! This #MON", $4f - db "has been renamed", $55 - db "@" -; 0x9a404 + 33 bytes - -UnnamedText_9a425: ; 0x9a425 - TX_RAM $cee9 - db $0, "!", $51 - db "That's a better", $4f - db "name than before!", $57 -; 0x9a44c - -_UnnamedText_1dacc: ; 0x9a44c - db $0, "Fine! Come any", $4f - db "time you like!", $57 -; 0x9a44c + 31 bytes - -_UnnamedText_1dad1: ; 0x9a46b - TX_RAM $cd6d - db $0, ", is it?", $4f - db "That is a truly", $55 - db "impeccable name!", $51 - db "Take good care of", $4f - db "@" - TX_RAM $cd6d - db $0, "!", $57 -; 0x9a4b2 - -_VermilionPokecenterText2: -_VermilionPokecenterText1: ; 0x9a4b2 - db $0, "Even if they are", $4f - db "the same level,", $55 - db "#MON can have", $55 - db "very different", $55 - db "abilities.", $51 - db "A #MON raised", $4f - db "by a trainer is", $55 - db "stronger than one", $55 - db "in the wild.", $57 - -_VermilionPokecenterText3: ; 0x9a539 - db $0, "My #MON was", $4f - db "poisoned! It", $55 - db "fainted while we", $55 - db "were walking!", $57 - -_UnnamedText_59bb7: ; 0x9a572 - db $0, "Won't you admire", $4f - db "my PIKACHU's", $55 - db "adorable tail?", $57 -; 0x9a572 + 44 bytes - -_UnnamedText_59bbc: ; 0x9a59e - db $0, "Humph! My PIKACHU", $4f - db "is twice as cute", $55 - db "as that one!", $57 -; 0x9a59e + 49 bytes - -_UnnamedText_59be4: ; 0x9a5cf - db $0, "I just love my", $4f - db "SEEL!", $51 - db "It squeals when I", $4f - db "hug it!", $57 -; 0x9a5cf + 48 bytes - -_UnnamedText_59be9: ; 0x9a5ff - db $0, "Oh dear!", $51 - db "My SEEL is far", $4f - db "more attractive!", $57 -; 0x9a5ff + 42 bytes - -_UnnamedText_59c00: ; 0x9a629 - db $0, "PIKACHU: Chu!", $4f - db "Pikachu!", $57 -; 0x9a629 + 24 bytes - -_UnnamedText_59c17: ; 0x9a641 - db $0, "SEEL: Kyuoo!", $57 -; 0x9a641 + 14 bytes - -_UnnamedText_59c65: ; 0x9a64f - db $0, "I chair the", $4f - db "#MON Fan Club!", $51 - db "I have collected", $4f - db "over 100 #MON!", $51 - db "I'm very fussy", $4f - db "when it comes to", $55 - db "#MON!", $51 - db "So...", $51 - db "Did you come", $4f - db "visit to hear", $55 - db "about my #MON?", $57 -; 0x9a64f + 145 bytes - -_UnnamedText_59c6a: ; 0x9a6e0 - db $0, "Good!", $4f - db "Then listen up!", $51 - db "My favorite", $4f - db "RAPIDASH...", $51 - db "It...cute...", $4f - db "lovely...smart...", $55 - db "plus...amazing...", $55 - db "you think so?...", $55 - db "oh yes...it...", $55 - db "stunning...", $55 - db "kindly...", $55 - db "love it!", $51 - db "Hug it...when...", $55 - db "sleeping...warm", $55 - db "and cuddly...", $55 - db "spectacular...", $55 - db "ravishing...", $55 - db "...Oops! Look at", $55 - db "the time! I kept", $55 - db "you too long!", $51 - db "Thanks for hearing", $4f - db "me out! I want", $55 - db "you to have this!", $58 -; 0x9a6e0 + 334 bytes - -_ReceivedBikeVoucherText: ; 0x9a82e - db $0, $52, " received", $4f - db "a @" - TX_RAM $cf4b - db $0, "!@@" -; 0x9a844 - -_UnnamedText_59c74: ; 0x9a844 - db $0, $51 - db "Exchange that for", $4f - db "a BICYCLE!", $51 - db "Don't worry, my", $4f - db "FEAROW will FLY", $55 - db "me anywhere!", $51 - db "So, I don't need a", $4f - db "BICYCLE!", $51 - db "I hope you like", $4f - db "cycling!", $57 -; 0x9a844 + 127 bytes - -_UnnamedText_59c79: ; 0x9a8c3 - db $0, "Oh. Come back", $4f - db "when you want to", $55 - db "hear my story!", $57 -; 0x9a8c3 + 47 bytes - -_UnnamedText_59c7e: ; 0x9a8f2 - db $0, "Hello, ", $52, "!", $51 - db "Did you come see", $4f - db "me about my", $55 - db "#MON again?", $51 - db "No? Too bad!", $57 -; 0x9a8f2 + 65 bytes - -_UnnamedText_59c83: ; 0x9a933 - db $0, "Make room for", $4f - db "this!", $57 -; 0x9a933 + 21 bytes - -_FanClubText6: ; 0x9a948 - db $0, "Our Chairman is", $4f - db "very vocal about", $55 - db "#MON.", $57 - -_FanClubText7: ; 0x9a970 - db $0, "Let's all listen", $4f - db "politely to other", $55 - db "trainers!", $57 - -_FanClubText8: ; 0x9a99d - db $0, "If someone brags,", $4f - db "brag right back!", $57 - -_VermilionMartText2: ; 0x9a9c1 - db $0, "There are evil", $4f - db "people who will", $55 - db "use #MON for", $55 - db "criminal acts.", $51 - db "TEAM ROCKET", $4f - db "traffics in rare", $55 - db "#MON.", $51 - db "They also abandon", $4f - db "#MON that they", $55 - db "consider not to", $55 - db "be popular or", $55 - db "useful.", $57 - -_VermilionMartText3: ; 0x9aa67 - db $0, "I think #MON", $4f - db "can be good or", $55 - db "evil. It depends", $55 - db "on the trainer.", $57 - -_UnnamedText_5cb6d: ; 0x9aaa5 - db $0, "Hey, kid! What do", $4f - db "you think you're", $55 - db "doing here?", $51 - db "You won't live", $4f - db "long in combat!", $55 - db "That's for sure!", $51 - db "I tell you kid,", $4f - db "electric #MON", $55 - db "saved me during", $55 - db "the war!", $51 - db "They zapped my", $4f - db "enemies into", $55 - db "paralysis!", $51 - db "The same as I'll", $4f - db "do to you!", $57 -; 0x9aaa5 + 214 bytes - -SECTION "bank27",DATA,BANK[$27] - -_UnnamedText_5cb72: ; 0x9c000 - db $0, "A little word of", $4f - db "advice, kid!", $51 - db "Electricity is", $4f - db "sure powerful!", $51 - db "But, it's useless", $4f - db "against ground-", $55 - db "type #MON!", $57 -; 0x9c000 + 105 bytes - -_UnnamedText_5cb77: ; 0x9c069 - db $0, "The THUNDERBADGE", $4f - db "cranks up your", $55 - db "#MON's SPEED!", $51 - db "It also lets your", $4f - db "#MON FLY any", $55 - db "time, kid!", $51 - db "You're special,", $4f - db "kid! Take this!", $57 -; 0x9c069 + 119 bytes - -_ReceivedTM24Text: ; 0x9c0e0 - db $0, $52, " received ", $4f - db "@" - TX_RAM $cf4b - db $0, "!@@" -; 0x9c0f5 - -_TM24ExplanationText: ; 0x9c0f5 - db $0, $51 - db "TM24 contains", $4f - db "THUNDERBOLT!", $51 - db "Teach it to an", $4f - db "electric #MON!", $57 -; 0x9c0f5 + 59 bytes - -_TM24NoRoomText: ; 0x9c130 - db $0, "Yo kid, make room", $4f - db "in your pack!", $57 -; 0x9c130 + 33 bytes - -_ReceivedThunderbadgeText: ; 0x9c151 - db $0, "Whoa!", $51 - db "You're the real", $4f - db "deal, kid!", $51 - db "Fine then, take", $4f - db "the THUNDERBADGE!", $58 -; 0x9c151 + 67 bytes - -_UnnamedText_5cb9a: ; 0x9c194 - db $0, "When I was in the", $4f - db "Army, LT.SURGE", $55 - db "was my strict CO!", $57 -; 0x9c194 + 52 bytes - -_UnnamedText_5cb9f: ; 0x9c1c8 - db $0, "Stop!", $4f - db "You're very good!", $58 -; 0x9c1c8 + 24 bytes - -_UnnamedText_5cba4: ; 0x9c1e0 - db $0, "The door won't", $4f - db "open?", $51 - db "LT.SURGE always", $4f - db "was cautious!", $57 -; 0x9c1e0 + 51 bytes - -_UnnamedText_5cbb3: ; 0x9c213 - db $0, "I'm a lightweight,", $4f - db "but I'm good with", $55 - db "electricity!", $57 -; 0x9c213 + 49 bytes - -_UnnamedText_5cbb8: ; 0x9c244 - db $0, "Fried!", $58 -; 0x9c244 + 8 bytes - -_UnnamedText_5cbbd: ; 0x9c24c - db $0, "OK, I'll talk!", $51 - db "LT.SURGE said he", $4f - db "hid door switches", $55 - db "inside something!", $57 -; 0x9c24c + 68 bytes - -_UnnamedText_5cbcc: ; 0x9c290 - db $0, "This is no place", $4f - db "for kids!", $57 -; 0x9c290 + 28 bytes - -_UnnamedText_5cbd1: ; 0x9c2ac - db $0, "Wow!", $4f - db "Surprised me!", $58 -; 0x9c2ac + 20 bytes - -_UnnamedText_5cbd6: ; 0x9c2c0 - db $0, "LT.SURGE set up", $4f - db "double locks!", $55 - db "Here's a hint!", $51 - db "When you open the", $4f - db "1st lock, the 2nd", $55 - db "lock is right", $55 - db "next to it!", $57 -; 0x9c2c0 + 107 bytes - -_UnnamedText_5cbf4: ; 0x9c32b - db $0, "Yo! Champ in", $4f - db "making!", $51 - db "LT.SURGE has a", $4f - db "nickname. People", $55 - db "refer to him as", $55 - db "the Lightning", $55 - db "American!", $51 - db "He's an expert on", $4f - db "electric #MON!", $51 - db "Birds and water", $4f - db "#MON are at", $55 - db "risk! Beware of", $55 - db "paralysis too!", $51 - db "LT.SURGE is very", $4f - db "cautious!", $51 - db "You'll have to", $4f - db "break a code to", $55 - db "get to him!", $57 -; 0x9c32b + 254 bytes - -_UnnamedText_5cbf9: ; 0x9c429 - db $0, "Whew! That match", $4f - db "was electric!", $57 -; 0x9c429 + 32 bytes - -_VermilionHouse1Text1: ; 0x9c449 - db $0, "I'm getting my", $4f - db "PIDGEY to fly a", $55 - db "letter to SAFFRON", $55 - db "in the north!", $57 - -_VermilionHouse1Text2: ; 0x9c488 - db $0, "PIDGEY: Kurukkoo!@@" - -_VermilionHouse1Text3: ; 0x9c49c - db $0, "Dear PIPPI, I hope", $4f - db "to see you soon.", $51 - db "I heard SAFFRON", $4f - db "has problems with", $55 - db "TEAM ROCKET.", $51 - db "VERMILION appears", $4f - db "to be safe.", $57 - -_UnnamedText_1dcc1: ; 0x9c50e - db $0, $57 -; 0x9c50e + 2 bytes - -_UnnamedText_560b1: ; 0x9c510 - db $0, "I'm the FISHING", $4f - db "GURU!", $51 - db "I simply Looove", $4f - db "fishing!", $51 - db "Do you like to", $4f - db "fish?", $57 -; 0x9c510 + 68 bytes - -_UnnamedText_560b6: ; 0x9c554 - db $0, "Grand! I like", $4f - db "your style!", $51 - db "Take this and", $4f - db "fish, young one!", $51 - db $52, " received", $4f - db "an @" - TX_RAM $cf4b - db $0, "!@@" -; 0x9c5a4 - -_UnnamedText_560bb: ; 0x9c5a4 - db $0, $51 - db "Fishing is a way", $4f - db "of life!", $51 - db "From the seas to", $4f - db "rivers, go out", $55 - db "and land the big", $55 - db "one, young one!", $57 -; 0x9c5a4 + 93 bytes - -_UnnamedText_560c0: ; 0x9c601 - db $0, "Oh... That's so", $4f - db "disappointing...", $57 -; 0x9c601 + 33 bytes - -_UnnamedText_560c5: ; 0x9c622 - db $0, "Hello there,", $4f - db $52, "!", $51 - db "How are the fish", $4f - db "biting?", $57 -; 0x9c622 + 42 bytes - -_UnnamedText_560ca: ; 0x9c64c - db $0, "Oh no!", $51 - db "You have no room", $4f - db "for my gift!", $57 -; 0x9c64c + 38 bytes - -_CeladonMart1Text1: ; 0x9c672 - db $0, "Hello! Welcome to", $4f - db "CELADON DEPT.", $55 - db "STORE.", $51 - db "The board on the", $4f - db "right describes", $55 - db "the store layout.", $57 - -_CeladonMart1Text2: ; 0x9c6cd - db $0, "1F: SERVICE", $4f - db " COUNTER", $51 - db "2F: TRAINER'S", $4f - db " MARKET", $51 - db "3F: TV GAME SHOP", $51 - db "4F: WISEMAN GIFTS", $51 - db "5F: DRUG STORE", $51 - db "ROOFTOP SQUARE:", $4f - db "VENDING MACHINES", $57 - -_CeladonMart1Text3: ; 0x9c752 - db $0, "1F: SERVICE", $4f - db " COUNTER", $57 - -_CeladonMart2Text3: ; 0x9c76b - db $0, "SUPER REPEL keeps", $4f - db "weak #MON at", $55 - db "bay...", $51 - db "Hmm, it's a more", $4f - db "powerful REPEL!", $57 - -_CeladonMart2Text4: ; 0x9c7b2 - db $0, "For long outings,", $4f - db "you should buy", $55 - db "REVIVE.", $57 - -_CeladonMart2Text5: ; 0x9c7dc - db $0, "Top Grade Items", $4f - db "for Trainers!", $51 - db "2F: TRAINER'S", $4f - db " MARKET", $57 - -_UnnamedText_48278: ; 0x9c814 - db $0, "Oh, hi! I finally", $4f - db "finished #MON!", $51 - db "Not done yet?", $4f - db "This might be", $55 - db "useful!", $58 -; 0x9c814 + 70 bytes - -_ReceivedTM18Text: ; 0x9c85a - db $0, $52, " received", $4f - db "@" - TX_RAM $cf4b - db $0, "!@@" -; 0x9c86e - -_TM18ExplanationText: ; 0x9c86e - db $0, "TM18 is COUNTER!", $4f - db "Not like the one", $55 - db "I'm leaning on,", $55 - db "mind you!", $57 -; 0x9c86e + 60 bytes - -_TM18NoRoomText: ; 0x9c8aa - db $0, "Your pack is full", $4f - db "of items!", $57 -; 0x9c8aa + 29 bytes - -_CeladonMart3Text2: ; 0x9c8c7 - db $0, "Captured #MON", $4f - db "are registered", $55 - db "with an ID No.", $55 - db "and OT, the name", $55 - db "of the Original", $55 - db "Trainer that", $55 - db "caught it!", $57 - -_CeladonMart3Text3: ; 0x9c92d - db $0, "All right!", $51 - db "My buddy's going", $4f - db "to trade me his", $55 - db "KANGASKHAN for my", $55 - db "GRAVELER!", $57 - -_CeladonMart3Text4: ; 0x9c975 - db $0, "Come on GRAVELER!", $51 - db "I love GRAVELER!", $4f - db "I collect them!", $51 - db "Huh?", $51 - db "GRAVELER turned", $4f - db "into a different", $55 - db "#MON!", $57 - -_CeladonMart3Text5: ; 0x9c9d5 - db $0, "You can identify", $4f - db "#MON you got", $55 - db "in trades by", $55 - db "their ID Numbers!", $57 - -_CeladonMart3Text6: ; 0x9ca13 - db $0, "It's an SNES!", $57 - -_CeladonMart3Text7: ; 0x9ca21 - db $0, "An RPG! There's", $4f - db "no time for that!", $57 - -_CeladonMart3Text9: ; 0x9ca43 - db $0, "A sports game!", $4f - db "Dad'll like that!", $57 - -_CeladonMart3Text11: ; 0x9ca64 - db $0, "A puzzle game!", $4f - db "Looks addictive!", $57 - -_CeladonMart3Text13: ; 0x9ca85 - db $0, "A fighting game!", $4f - db "Looks tough!", $57 - -_CeladonMart3Text14: ; 0x9caa4 - db $0, "3F: TV GAME SHOP", $57 - -_CeladonMart3Text15: ; 0x9cab6 - db $0, "Red and Blue!", $4f - db "Both are #MON!", $57 - -_CeladonMart4Text2: ; 0x9cad4 - db $0, "I'm getting a", $4f - db "# DOLL for my", $55 - db "girl friend!", $57 - -_CeladonMart4Text3: ; 0x9cafd - db $0, "I heard something", $4f - db "useful.", $51 - db "You can run from", $4f - db "wild #MON by", $55 - db "distracting them", $55 - db "with a # DOLL!", $57 - -_CeladonMart4Text4: ; 0x9cb56 - db $0, "Express yourself", $4f - db "with gifts!", $51 - db "4F: WISEMAN GIFTS", $51 - db "Evolution Special!", $4f - db "Element STONEs on", $55 - db "sale now!", $57 - -_UnnamedText_484ee: ; 0x9cbb5 - db $0, "Give her which", $4f - db "drink?", $57 -; 0x9cbb5 + 23 bytes - -UnnamedText_9cbcc: ; 0x9cbcc - db $0, "Yay!", $51 - db "FRESH WATER!", $51 - db "Thank you!", $51 - db "You can have this", $4f - db "from me!@@" -; 0x9cc06 - -UnnamedText_9cc06: ; 0x9cc06 - db $0, $52, " received", $4f - db "@" - TX_RAM $cf4b - db $0, "!@@" -; 0x9cc1a - -UnnamedText_9cc1a: ; 0x9cc1a - db $0, $51 - db "@" - TX_RAM $cf4b - db $0, " contains", $4f - db "ICE BEAM!", $51 - db "It can freeze the", $4f - db "target sometimes!@@" -; 0x9cc5a - -UnnamedText_9cc5a: ; 0x9cc5a - db $0, "Yay!", $51 - db "SODA POP!", $51 - db "Thank you!", $51 - db "You can have this", $4f - db "from me!@@" -; 0x9cc91 - -UnnamedText_9cc91: ; 0x9cc91 - db $0, $52, " received", $4f - db "@" - TX_RAM $cf4b - db $0, "!@@" -; 0x9cca4 - -UnnamedText_9cca5: ; 0x9cca5 - db $0, $51 - db "@" - TX_RAM $cf4b - db $0, " contains", $4f - db "ROCK SLIDE!", $51 - db "It can spook the", $4f - db "target sometimes!@@" -; 0x9cce6 - -UnnamedText_9cce6: ; 0x9cce6 - db $0, "Yay!", $51 - db "LEMONADE!", $51 - db "Thank you!", $51 - db "You can have this", $4f - db "from me!@@" -; 0x9cd1d - -ReceivedTM49Text: ; 0x9cd1d - db $0, $52, " received", $4f - db "TM49!@@" -; 0x9cd30 - -UnnamedText_9cd30: ; 0x9cd30 - db $0, $51 - db "TM49 contains", $4f - db "TRI ATTACK!@@" -; 0x9cd4d - -UnnamedText_9cd4d: ; 0x9cd4d - db $0, "You don't have", $4f - db "space for this!@@" -; 0x9cd6d - -UnnamedText_9cd6d: ; 0x9cd6d - db $0, "No thank you!", $4f - db "I'm not thirsty", $55 - db "after all!@@" -; 0x9cd97 - -_CeladonMartRoofText1: ; 0x9cd97 - db $0, "My sister is a", $4f - db "trainer, believe", $55 - db "it or not.", $51 - db "But, she's so", $4f - db "immature, she", $55 - db "drives me nuts!", $57 - -_UnnamedText_48598: ; 0x9cdee - db $0, "I'm thirsty!", $4f - db "I want something", $55 - db "to drink!", $57 -; 0x9cdee + 40 bytes - -_UnnamedText_4859d: ; 0x9ce16 - db $0, "I'm thirsty!", $4f - db "I want something", $55 - db "to drink!", $51 - db "Give her a drink?", $57 -; 0x9ce16 + 58 bytes - -_CeladonMartRoofText6: ; 0x9ce50 - db $0, "ROOFTOP SQUARE:", $4f - db "VENDING MACHINES", $57 - -_UnnamedText_74f99: ; 0x9ce72 - db $0, "A vending machine!", $4f - db "Here's the menu!", $58 -; 0x9ce72 + 36 bytes - -_UnnamedText_74fd3: ; 0x9ce96 - db $0, "Oops, not enough", $4f - db "money!", $57 -; 0x9ce96 + 25 bytes - -_UnnamedText_74fd8: ; 0x9ceaf - TX_RAM $cf4b - db $0, $4f - db "popped out!", $57 -; 0x9ceaf + 17 bytes - -_UnnamedText_74fdd: ; 0x9cec0 - db $0, "There's no more", $4f - db "room for stuff!", $57 -; 0x9cec0 + 32 bytes - -_UnnamedText_74fe2: ; 0x9cee0 - db $0, "Not thirsty!", $57 -; 0x9cee0 + 14 bytes - -_CeladonMansion1Text1: ; 0x9ceee - db $0, "MEOWTH: Meow!@@" - -_CeladonMansion1Text2: ; 0x9cefe - db $0, "My dear #MON", $4f - db "keep me company.", $51 - db "MEOWTH even brings", $4f - db "money home!", $57 - -_CeladonMansion1Text3: ; 0x9cf3c - db $0, "CLEFAIRY: Pi", $4f - db "pippippi!@@" - -_CeladonMansion1Text4: ; 0x9cf55 - db $0, "NIDORAN: Kya", $4f - db "kyaoo!@@" - -_CeladonMansion1Text5: ; 0x9cf6b - db $0, "CELADON MANSION", $4f - db "Manager's Suite", $57 - -_CeladonMansion2Text1: ; 0x9cf8b - db $0, "GAME FREAK", $4f - db "Meeting Room", $57 - -_CeladonMansion3Text1: ; 0x9cfa4 - db $0, "Me? I'm the", $4f - db "programmer!", $57 - -_CeladonMansion3Text2: ; 0x9cfbc - db $0, "I'm the graphic", $4f - db "artist!", $55 - db "I drew you!", $57 - -_CeladonMansion3Text3: ; 0x9cfe0 - db $0, "I wrote the story!", $4f - db "Isn't ERIKA cute?", $51 - db "I like MISTY a", $4f - db "lot too!", $51 - db "Oh, and SABRINA,", $4f - db "I like her!", $57 - -_UnnamedText_487d0: ; 0x9d03a - db $0, "Is that right?", $51 - db "I'm the game", $4f - db "designer!", $51 - db "Filling up your", $4f - db "#DEX is tough,", $55 - db "but don't quit!", $51 - db "When you finish,", $4f - db "come tell me!", $57 -; 0x9d03a + 115 bytes - -_UnnamedText_487d5: ; 0x9d0ad - db $0, "Wow! Excellent!", $4f - db "You completed", $55 - db "your #DEX!", $55 - db "Congratulations!", $55 - db "...@@" -; 0x9d0ed - -_CeladonMansion3Text5: ; 0x9d0ed - db $0, "It's the game", $4f - db "program! Messing", $55 - db "with it could bug", $55 - db "out the game!", $57 - -_CeladonMansion3Text6: ; 0x9d12c - db $0, "Someone's playing", $4f - db "a game instead of", $55 - db "working!", $57 - -_CeladonMansion3Text7: ; 0x9d159 - db $0, "It's the script!", $4f - db "Better not look", $55 - db "at the ending!", $57 - -_CeladonMansion3Text8: ; 0x9d189 - db $0, "GAME FREAK", $4f - db "Development Room", $57 - -_CeladonMansion4Text1: ; 0x9d1a6 - db $0, "I KNOW EVERYTHING!", $57 - -_CeladonMansion5Text1: ; 0x9d1ba - db $0, "I know everything", $4f - db "about the world", $55 - db "of #MON in", $55 - db "your GAME BOY!", $51 - db "Get together with", $4f - db "your friends and", $55 - db "trade #MON!", $57 - -_CeladonPokecenterText2: ; 0x9d226 - db $0, "# FLUTE awakens", $4f - db "#MON with a", $55 - db "sound that only", $55 - db "they can hear!", $57 - -_CeladonPokecenterText3: ; 0x9d262 - db $0, "I rode uphill on", $4f - db "CYCLING ROAD from", $55 - db "FUCHSIA!", $57 - -_UnnamedText_48a5e: ; 0x9d28f - db $0, "Hello. Lovely", $4f - db "weather isn't it?", $55 - db "It's so pleasant.", $51 - db "...Oh dear...", $4f - db "I must have dozed", $55 - db "off. Welcome.", $51 - db "My name is ERIKA.", $4f - db "I am the LEADER", $55 - db "of CELADON GYM.", $51 - db "I teach the art of", $4f - db "flower arranging.", $55 - db "My #MON are of", $55 - db "the grass-type.", $51 - db "Oh, I'm sorry, I", $4f - db "had no idea that", $55 - db "you wished to", $55 - db "challenge me.", $51 - db "Very well, but I", $4f - db "shall not lose.", $57 -; 0x9d28f + 307 bytes - -_UnnamedText_48a63: ; 0x9d3c2 - db $0, "Oh!", $4f - db "I concede defeat.", $51 - db "You are remarkably", $4f - db "strong.", $51 - db "I must confer you", $4f - db "the RAINBOWBADGE.", $58 -; 0x9d3c2 + 86 bytes - -_UnnamedText_48a68: ; 0x9d418 - db $0, "You are cataloging", $4f - db "#MON? I must", $55 - db "say I'm impressed.", $51 - db "I would never", $4f - db "collect #MON", $55 - db "if they were", $55 - db "unattractive.", $57 -; 0x9d418 + 105 bytes - -_UnnamedText_48a6d: ; 0x9d481 - db $0, "The RAINBOWBADGE", $4f - db "will make #MON", $55 - db "up to L50 obey.", $51 - db "It also allows", $4f - db "#MON to use", $55 - db "STRENGTH in and", $55 - db "out of battle.", $51 - db "Please also take", $4f - db "this with you.", $57 -; 0x9d481 + 139 bytes - -_ReceivedTM21Text: ; 0x9d50c - db $0, $52, " received", $4f - db "@" - TX_RAM $cf4b - db $0, "!@@" -; 0x9d520 - -_TM21ExplanationText: ; 0x9d520 - db $0, $51 - db "TM21 contains", $4f - db "MEGA DRAIN.", $51 - db "Half the damage", $4f - db "it inflicts is", $55 - db "drained to heal", $55 - db "your #MON!", $57 -; 0x9d520 + 86 bytes - -_TM21NoRoomText: ; 0x9d576 - db $0, "You should make", $4f - db "room for this.", $57 -; 0x9d576 + 32 bytes - -_UnnamedText_48a8b: ; 0x9d596 - db $0, "Hey!", $51 - db "You are not", $4f - db "allowed in here!", $57 -; 0x9d596 + 35 bytes - -_UnnamedText_48a90: ; 0x9d5b9 - db $0, "You're", $4f - db "too rough!", $58 -; 0x9d5b9 + 18 bytes - -_UnnamedText_48a95: ; 0x9d5cb - db $0, "Bleaah!", $4f - db "I hope ERIKA", $55 - db "wipes you out!", $57 -; 0x9d5cb + 37 bytes - -_UnnamedText_48aa4: ; 0x9d5f0 - db $0, "I was getting", $4f - db "bored.", $57 -; 0x9d5f0 + 22 bytes - -_UnnamedText_48aa9: ; 0x9d606 - db $0, "My", $4f - db "makeup!", $58 -; 0x9d606 + 12 bytes - -_UnnamedText_48aae: ; 0x9d612 - db $0, "Grass-type #MON", $4f - db "are tough against", $55 - db "the water-type!", $51 - db "They also have an", $4f - db "edge on rock and", $55 - db "ground #MON!", $57 -; 0x9d612 + 99 bytes - -_UnnamedText_48abd: ; 0x9d675 - db $0, "Aren't you the", $4f - db "peeping Tom?", $57 -; 0x9d675 + 28 bytes - -_UnnamedText_48ac2: ; 0x9d691 - db $0, "I'm", $4f - db "in shock!", $58 -; 0x9d691 + 14 bytes - -_UnnamedText_48ac7: ; 0x9d69f - db $0, "Oh, you weren't", $4f - db "peeping? We get a", $55 - db "lot of gawkers!", $57 -; 0x9d69f + 50 bytes - -_UnnamedText_48ad6: ; 0x9d6d1 - db $0, "Look at my grass", $4f - db "#MON!", $51 - db "They're so easy", $4f - db "to raise!", $57 -; 0x9d6d1 + 49 bytes - -_UnnamedText_48adb: ; 0x9d702 - db $0, "No!", $58 -; 0x9d702 + 5 bytes - -_UnnamedText_48ae0: ; 0x9d707 - db $0, "We only use grass-", $4f - db "type #MON at", $55 - db "our GYM!", $51 - db "We also use them", $4f - db "for making flower", $55 - db "arrangements!", $57 -; 0x9d707 + 91 bytes - -_UnnamedText_48aef: ; 0x9d762 - db $0, "Don't bring any", $4f - db "bugs or fire", $55 - db "#MON in here!", $57 -; 0x9d762 + 43 bytes - -_UnnamedText_48af4: ; 0x9d78d - db $0, "Oh!", $4f - db "You!", $58 -; 0x9d78d + 10 bytes - -_UnnamedText_48af9: ; 0x9d797 - db $0, "Our LEADER, ERIKA,", $4f - db "might be quiet,", $55 - db "but she's also", $55 - db "very skilled!", $57 -; 0x9d797 + 64 bytes - -_UnnamedText_48b08: ; 0x9d7d7 - db $0, "Pleased to meet", $4f - db "you. My hobby is", $55 - db "#MON training.", $57 -; 0x9d7d7 + 49 bytes - -_UnnamedText_48b0d: ; 0x9d808 - db $0, "Oh!", $4f - db "Splendid!", $58 -; 0x9d808 + 15 bytes - -_UnnamedText_48b12: ; 0x9d817 - db $0, "I have a blind", $4f - db "date coming up.", $55 - db "I have to learn", $55 - db "to be polite.", $57 -; 0x9d817 + 62 bytes - -_UnnamedText_48b21: ; 0x9d855 - db $0, "Welcome to", $4f - db "CELADON GYM!", $51 - db "You better not", $4f - db "underestimate", $55 - db "girl power!", $57 -; 0x9d855 + 66 bytes - -_UnnamedText_48b26: ; 0x9d897 - db $0, "Oh!", $4f - db "Beaten!", $58 -; 0x9d897 + 13 bytes - -_UnnamedText_48b2b: ; 0x9d8a4 - db $0, "I didn't bring my", $4f - db "best #MON!", $51 - db "Wait 'til next", $4f - db "time!", $57 -; 0x9d8a4 + 49 bytes - -_CeladonGameCornerText1: ; 0x9d8d5 - db $0, "Welcome!", $51 - db "You can exchange", $4f - db "your coins for", $55 - db "fabulous prizes", $55 - db "next door.", $57 - -_UnnamedText_48d22: ; 0x9d91a - db $0, "Welcome to ROCKET", $4f - db "GAME CORNER!", $51 - db "Do you need some", $4f - db "game coins?", $51 - db "It's ", $f0, "1000 for 50", $4f - db "coins. Would you", $55 - db "like some?", $57 -; 0x9d91a + 106 bytes - -_UnnamedText_48d27: ; 0x9d984 - db $0, "Thanks! Here are", $4f - db "your 50 coins!", $57 -; 0x9d984 + 33 bytes - -_UnnamedText_48d2c: ; 0x9d9a5 - db $0, "No? Please come", $4f - db "play sometime!", $57 -; 0x9d9a5 + 32 bytes - -_UnnamedText_48d31: ; 0x9d9c5 - db $0, "You can't afford", $4f - db "the coins!", $57 -; 0x9d9c5 + 28 bytes - -_UnnamedText_48d36: ; 0x9d9e1 - db $0, "Oops! Your COIN", $4f - db "CASE is full.", $57 -; 0x9d9e1 + 31 bytes - -_UnnamedText_48d3b: ; 0x9da00 - db $0, "You don't have a", $4f - db "COIN CASE!", $57 -; 0x9da00 + 28 bytes - -_CeladonGameCornerText3: ; 0x9da1c - db $0, "Keep this quiet.", $51 - db "It's rumored that", $4f - db "this place is run", $55 - db "by TEAM ROCKET.", $57 - -_CeladonGameCornerText4: ; 0x9da61 - db $0, "I think these", $4f - db "machines have", $55 - db "different odds.", $57 - -_UnnamedText_48d9c: ; 0x9da8e - db $0, "Kid, do you want", $4f - db "to play?", $58 -; 0x9da8e + 27 bytes - -_Received10CoinsText: ; 0x9daa9 - db $0, $52, " received", $4f - db "10 coins!@@" -; 0x9dac0 - -_UnnamedText_48da7: ; 0x9dac0 - db $0, "You don't need my", $4f - db "coins!", $57 -; 0x9dac0 + 25 bytes - -_UnnamedText_48dac: ; 0x9dad9 - db $0, "Wins seem to come", $4f - db "and go.", $57 -; 0x9dad9 + 27 bytes - -_CeladonGameCornerText6: ; 0x9daf4 - db $0, "I'm having a", $4f - db "wonderful time!", $57 - -_UnnamedText_48dca: ; 0x9db11 - db $0, "Hey!", $51 - db "You have better", $4f - db "things to do,", $55 - db "champ in making!", $51 - db "CELADON GYM's", $4f - db "LEADER is ERIKA!", $55 - db "She uses grass-", $55 - db "type #MON!", $51 - db "She might appear", $4f - db "docile, but don't", $55 - db "be fooled!", $57 -; 0x9db11 + 155 bytes - -_UnnamedText_48dcf: ; 0x9dbac - db $0, "They offer rare", $4f - db "#MON that can", $55 - db "be exchanged for", $55 - db "your coins.", $51 - db "But, I just can't", $4f - db "seem to win!", $57 -; 0x9dbac + 90 bytes - -_CeladonGameCornerText8: ; 0x9dc06 - db $0, "Games are scary!", $4f - db "It's so easy to", $55 - db "get hooked!", $57 - -_UnnamedText_48e26: ; 0x9dc33 - db $0, "What's up? Want", $4f - db "some coins?", $58 -; 0x9dc33 + 28 bytes - -_Received20CoinsText: ; 0x9dc4f - db $0, $52, " received", $4f - db "20 coins!@@" -; 0x9dc66 - -_UnnamedText_48e31: ; 0x9dc66 - db $0, "You have lots of", $4f - db "coins!", $57 -; 0x9dc66 + 25 bytes - -_UnnamedText_48e36: ; 0x9dc7f - db $0, "Darn! I need more", $4f - db "coins for the", $55 - db "#MON I want!", $57 -; 0x9dc7f + 46 bytes - -_UnnamedText_48e88: ; 0x9dcad - db $0, "Hey, what? You're", $4f - db "throwing me off!", $55 - db "Here are some", $55 - db "coins, shoo!", $58 -; 0x9dcad + 62 bytes - -_UnnamedText_48e8d: ; 0x9dceb - db $0, $52, " received", $4f - db "20 coins!@@" -; 0x9dd02 - -_UnnamedText_48e93: ; 0x9dd02 - db $0, "You've got your", $4f - db "own coins!", $57 -; 0x9dd02 + 27 bytes - -_UnnamedText_48e98: ; 0x9dd1d - db $0, "The trick is to", $4f - db "watch the reels", $55 - db "closely!", $57 -; 0x9dd1d + 42 bytes - -_UnnamedText_48ece: ; 0x9dd47 - db $0, "I'm guarding this", $4f - db "poster!", $55 - db "Go away, or else!", $57 -; 0x9dd47 + 44 bytes - -_UnnamedText_48ed3: ; 0x9dd73 - db $0, "Dang!", $58 -; 0x9dd73 + 7 bytes - -_UnnamedText_48ed8: ; 0x9dd7a - db $0, "Our hideout might", $4f - db "be discovered! I", $55 - db "better tell BOSS!", $57 -; 0x9dd7a + 54 bytes - -_UnnamedText_48f09: ; 0x9ddb0 - db $0, "Hey!", $51 - db "A switch behind", $4f - db "the poster!?", $55 - db "Let's push it!@@" -; 0x9dde2 - -_UnnamedText_48f19: ; 0x9dde2 - db $0, "Oops! Forgot the", $4f - db "COIN CASE!", $57 -; 0x9dde2 + 29 bytes - -_CeladonMart5Text1: ; 0x9ddff - db $0, "#MON ability", $4f - db "enhancers can be", $55 - db "bought only here.", $51 - db "Use CALCIUM to", $4f - db "increase SPECIAL", $55 - db "abilities.", $51 - db "Use CARBOS to", $4f - db "increase SPEED.", $57 - -_CeladonMart5Text2: ; 0x9de79 - db $0, "I'm here for", $4f - db "#MON ability", $55 - db "enhancers.", $51 - db "PROTEIN increases", $4f - db "ATTACK power.", $51 - db "IRON increases", $4f - db "DEFENSE!", $57 - -_CeladonMart5Text5: ; 0x9ded6 - db $0, "5F: DRUG STORE", $57 - -_CeladonPrizeRoomText1: ; 0x9dee6 - db $0, "I sure do fancy", $4f - db "that PORYGON!", $51 - db "But, it's hard to", $4f - db "win at slots!", $57 - -_CeladonPrizeRoomText2: ; 0x9df24 - db $0, "I had a major", $4f - db "haul today!", $57 - -_CeladonDinerText1: ; 0x9df3f - db $0, "Hi!", $51 - db "We're taking a", $4f - db "break now.", $57 - -_CeladonDinerText2: ; 0x9df5d - db $0, "My #MON are", $4f - db "weak, so I often", $55 - db "have to go to the", $55 - db "DRUG STORE.", $57 - -_CeladonDinerText3: ; 0x9df99 - db $0, "Psst! There's a", $4f - db "basement under", $55 - db "the GAME CORNER.", $57 - -_CeladonDinerText4: ; 0x9dfc9 - db $0, "Munch...", $51 - db "The man at that", $4f - db "table lost it all", $55 - db "at the slots.", $57 - -_UnnamedText_491a7: ; 0x9e003 - db $0, "Go ahead! Laugh!", $51 - db "I'm flat out", $4f - db "busted!", $51 - db "No more slots for", $4f - db "me! I'm going", $55 - db "straight!", $51 - db "Here! I won't be", $4f - db "needing this any-", $55 - db "more!", $58 -; 0x9e003 + 119 bytes - -_ReceivedCoinCaseText: ; 0x9e07a - db $0, $52, " received", $4f - db "a @" - TX_RAM $cf4b - db $0, "!@@" -; 0x9e090 - -_CoinCaseNoRoomText: ; 0x9e090 - db $0, "Make room for", $4f - db "this!", $57 -; 0x9e090 + 21 bytes - -_UnnamedText_491b7: ; 0x9e0a5 - db $0, "I always thought", $4f - db "I was going to", $55 - db "win it back...", $57 -; 0x9e0a5 + 48 bytes - -_CeladonHouseText1: ; 0x9e0d5 - db $0, "Hehehe! The slots", $4f - db "just reel in the", $55 - db "dough, big time!", $57 - -_CeladonHouseText2: ; 0x9e10a - db $0, "CHIEF!", $51 - db "We just shipped", $4f - db "2000 #MON as", $55 - db "slot prizes!", $57 - -_CeladonHouseText3: ; 0x9e13c - db $0, "Don't touch the", $4f - db "poster at the", $55 - db "GAME CORNER!", $51 - db "There's no secret", $4f - db "switch behind it!", $57 - -_CeladonHotelText1: ; 0x9e18a - db $0, "#MON? No, this", $4f - db "is a hotel for", $55 - db "people.", $51 - db "We're full up.", $57 - -_CeladonHotelText2: ; 0x9e1bf - db $0, "I'm on vacation", $4f - db "with my brother", $55 - db "and boy friend.", $51 - db "CELADON is such a", $4f - db "pretty city!", $57 - -_CeladonHotelText3: ; 0x9e20e - db $0, "Why did she bring", $4f - db "her brother?", $57 - -_FuchsiaMartText2: ; 0x9e22e - db $0, "Do you have a", $4f - db "SAFARI ZONE flag?", $51 - db "What about cards", $4f - db "or calendars?", $57 - -_FuchsiaMartText3: ; 0x9e26e - db $0, "Did you try X", $4f - db "SPEED? It speeds", $55 - db "up a #MON in", $55 - db "battle!", $57 - -_FuchsiaHouse1Text1: ; 0x9e2a3 - db $0, "SAFARI ZONE's", $4f - db "WARDEN is old,", $55 - db "but still active!", $51 - db "All his teeth are", $4f - db "false, though.", $57 - -_FuchsiaHouse1Text2: ; 0x9e2f3 - db $0, "Hmm? You've met", $4f - db "BILL?", $51 - db "He's my grandson!", $51 - db "He always liked", $4f - db "collecting things", $55 - db "even as a child!", $57 - -_FuchsiaHouse1Text3: ; 0x9e34d - db $0, "BILL files his", $4f - db "own #MON data", $55 - db "on his PC!", $51 - db "Did he show you?", $57 - -_FuchsiaPokecenterText1: ; 0x9e387 - db $0, "You can't win", $4f - db "with just one", $55 - db "strong #MON.", $51 - db "It's tough, but", $4f - db "you have to raise", $55 - db "them evenly.", $57 - -_FuchsiaPokecenterText3: ; 0x9e3de - db $0, "There's a narrow", $4f - db "trail west of", $55 - db "VIRIDIAN CITY.", $51 - db "It goes to #MON", $4f - db "LEAGUE HQ.", $55 - db "The HQ governs", $55 - db "all trainers.", $57 - -_UnnamedText_75135: ; 0x9e444 - db $0, "WARDEN: Hif fuff", $4f - db "hefifoo!", $51 - db "Ha lof ha feef ee", $4f - db "hafahi ho. Heff", $55 - db "hee fwee!", $57 -; 0x9e444 + 71 bytes - -_UnnamedText_7513a: ; 0x9e48b - db $0, "Ah howhee ho hoo!", $4f - db "Eef ee hafahi ho!", $57 -; 0x9e48b + 37 bytes - -_UnnamedText_7513f: ; 0x9e4b0 - db $0, "Ha? He ohay heh", $4f - db "ha hoo ee haheh!", $57 -; 0x9e4b0 + 34 bytes - -_UnnamedText_75144: ; 0x9e4d2 - db $0, $52, " gave the", $4f - db "GOLD TEETH to the", $55 - db "WARDEN!@@" -; 0x9e4f9 - -_UnnamedText_75149: ; 0x9e4f9 - db $0, $51 - db "The WARDEN popped", $4f - db "in his teeth!", $58 -; 0x9e4f9 + 34 bytes - -_UnnamedText_7514e: ; 0x9e51b - db $0, "WARDEN: Thanks,", $4f - db "kid! No one could", $55 - db "understand a word", $55 - db "that I said.", $51 - db "I couldn't work", $4f - db "that way.", $55 - db "Let me give you", $55 - db "something for", $55 - db "your trouble.", $58 -; 0x9e51b + 135 bytes - -UnnamedText_9e5a2: ; 0x9e5a2 - db $0, $52, " received", $4f - db "@" - TX_RAM $cf4b - db $0, "!@@" -; 0x9e5b6 - -_UnnamedText_75159: ; 0x9e5b6 - db $0, "WARDEN: HM04", $4f - db "teaches STRENGTH!", $51 - db "It lets #MON", $4f - db "move boulders", $55 - db "when you're out-", $55 - db "side of battle.", $51 - db "Oh yes, did you", $4f - db "find SECRET HOUSE", $55 - db "in SAFARI ZONE?", $51 - db "If you do, you", $4f - db "win an HM!", $51 - db "I hear it's the", $4f - db "rare SURF HM.", $57 -; 0x9e5b6 + 196 bytes - -_UnnamedText_7515e: ; 0x9e67a - db $0, "Your pack is", $4f - db "stuffed full!", $57 -; 0x9e67a + 28 bytes - -_UnnamedText_75176: ; 0x9e696 - db $0, "#MON photos", $4f - db "and fossils.", $57 -; 0x9e696 + 26 bytes - -_UnnamedText_7517b: ; 0x9e6b0 - db $0, "Old #MON", $4f - db "merchandise.", $57 -; 0x9e6b0 + 23 bytes - -_SafariZoneEntranceText1: ; 0x9e6c7 - db $0, "Welcome to the", $4f - db "SAFARI ZONE!", $57 - -UnnamedText_9e6e4: ; 0x9e6e4 - db $0, "For just ", $f0, "500,", $4f - db "you can catch all", $55 - db "the #MON you", $55 - db "want in the park!", $51 - db "Would you like to", $4f - db "join the hunt?@@" -; 0x9e747 - -UnnamedText_9e747: ; 0x9e747 - db $0, "That'll be ", $f0, "500", $4f - db "please!", $51 - db "We only use a", $4f - db "special # BALL", $55 - db "here.", $51 - db $52, " received", $4f - db "30 SAFARI BALLs!@@" -; 0x9e79f - -_UnnamedText_75360: ; 0x9e79f - db $0, $51 - db "We'll call you on", $4f - db "the PA when you", $55 - db "run out of time", $55 - db "or SAFARI BALLs!", $57 -; 0x9e79f + 68 bytes - -_UnnamedText_75365: ; 0x9e7e3 - db $0, "OK! Please come", $4f - db "again!", $57 -; 0x9e7e3 + 24 bytes - -_UnnamedText_7536a: ; 0x9e7fb - db $0, "Oops! Not enough", $4f - db "money!", $57 -; 0x9e7fb + 25 bytes - -UnnamedText_9e814: ; 0x9e814 - db $0, "Leaving early?@@" -; 0x9e825 - -_UnnamedText_753bb: ; 0x9e825 - db $0, "Please return any", $4f - db "SAFARI BALLs you", $55 - db "have left.", $57 -; 0x9e825 + 47 bytes - -_UnnamedText_753c0: ; 0x9e854 - db $0, "Good Luck!", $57 -; 0x9e854 + 12 bytes - -_UnnamedText_753c5: ; 0x9e860 - db $0, "Did you get a", $4f - db "good haul?", $55 - db "Come again!", $57 -; 0x9e860 + 38 bytes - -_UnnamedText_753e6: ; 0x9e886 - db $0, "Hi! Is it your", $4f - db "first time here?", $57 -; 0x9e886 + 33 bytes - -_UnnamedText_753eb: ; 0x9e8a7 - db $0, "SAFARI ZONE has 4", $4f - db "zones in it.", $51 - db "Each zone has", $4f - db "different kinds", $55 - db "of #MON. Use", $55 - db "SAFARI BALLs to", $55 - db "catch them!", $51 - db "When you run out", $4f - db "of time or SAFARI", $55 - db "BALLs, it's game", $55 - db "over for you!", $51 - db "Before you go,", $4f - db "open an unused", $55 - db "#MON BOX so", $55 - db "there's room for", $55 - db "new #MON!", $57 -; 0x9e8a7 + 236 bytes - -_UnnamedText_753f0: ; 0x9e993 - db $0, "Sorry, you're a", $4f - db "regular here!", $57 -; 0x9e993 + 30 bytes - -_UnnamedText_75581: ; 0x9e9b1 - db $0, "KOGA: Fwahahaha!", $51 - db "A mere child like", $4f - db "you dares to", $55 - db "challenge me?", $51 - db "Very well, I", $4f - db "shall show you", $55 - db "true terror as a", $55 - db "ninja master!", $51 - db "You shall feel", $4f - db "the despair of", $55 - db "poison and sleep", $55 - db "techniques!", $57 -; 0x9e9b1 + 181 bytes - -_UnnamedText_75586: ; 0x9ea66 - db $0, "Humph!", $4f - db "You have proven", $55 - db "your worth!", $51 - db "Here! Take the", $4f - db "SOULBADGE!", $58 -; 0x9ea66 + 62 bytes - -SECTION "bank28",DATA,BANK[$28] - -_UnnamedText_7558b: ; 0xa0000 - db $0, "When afflicted by", $4f - db "TOXIC, #MON", $55 - db "suffer more and", $55 - db "more as battle", $55 - db "progresses!", $51 - db "It will surely", $4f - db "terrorize foes!", $57 -; 0xa0000 + 105 bytes - -_UnnamedText_75590: ; 0xa0069 - db $0, "Now that you have", $4f - db "the SOULBADGE,", $55 - db "the DEFENSE of", $55 - db "your #MON", $55 - db "increases!", $51 - db "It also lets you", $4f - db "SURF outside of", $55 - db "battle!", $51 - db "Ah! Take this", $4f - db "too!", $57 -; 0xa0069 + 130 bytes - -UnnamedText_a00eb: ; 0xa00eb - db $0, $52, " received", $4f - db "@" -; 0xa00eb + 13 bytes = 0xa00f8 - -UnnamedText_a00f8: ; 0xa00f8 - TX_RAM $cf4b - db $0, "!@@" - -_UnnamedText_7559a: ; 0xa00ff - db $0, $51 - db "TM06 contains", $4f - db "TOXIC!", $51 - db "It is a secret", $4f - db "technique over", $55 - db "400 years old!", $57 -; 0xa00ff + 68 bytes - -_UnnamedText_7559f: ; 0xa0143 - db $0, "Make space for", $4f - db "this, child!", $57 -; 0xa0143 + 29 bytes - -_UnnamedText_755ae: ; 0xa0160 - db $0, "Strength isn't", $4f - db "the key for", $55 - db "#MON!", $51 - db "It's strategy!", $51 - db "I'll show you how", $4f - db "strategy can beat", $55 - db "brute strength!", $57 -; 0xa0160 + 98 bytes - -_UnnamedText_755b3: ; 0xa01c2 - db $0, "What?", $4f - db "Extraordinary!", $58 -; 0xa01c2 + 22 bytes - -_UnnamedText_755b8: ; 0xa01d8 - db $0, "So, you mix brawn", $4f - db "with brains?", $55 - db "Good strategy!", $57 -; 0xa01d8 + 47 bytes - -_UnnamedText_755c7: ; 0xa0207 - db $0, "I wanted to become", $4f - db "a ninja, so I", $55 - db "joined this GYM!", $57 -; 0xa0207 + 51 bytes - -_UnnamedText_755cc: ; 0xa023a - db $0, "I'm done", $4f - db "for!", $58 -; 0xa023a + 14 bytes - -_UnnamedText_755d1: ; 0xa0248 - db $0, "I will keep on", $4f - db "training under", $55 - db "KOGA, my ninja", $55 - db "master!", $57 -; 0xa0248 + 54 bytes - -_UnnamedText_755e0: ; 0xa027e - db $0, "Let's see you", $4f - db "beat my special", $55 - db "techniques!", $57 -; 0xa027e + 42 bytes - -_UnnamedText_755e5: ; 0xa02a8 - db $0, "You", $4f - db "had me fooled!", $58 -; 0xa02a8 + 20 bytes - -_UnnamedText_755ea: ; 0xa02bc - db $0, "I like poison and", $4f - db "sleep techniques,", $55 - db "as they linger", $55 - db "after battle!", $57 -; 0xa02bc + 66 bytes - -_UnnamedText_755f9: ; 0xa02fe - db $0, "Stop right there!", $51 - db "Our invisible", $4f - db "walls have you", $55 - db "frustrated?", $57 -; 0xa02fe + 60 bytes - -_UnnamedText_755fe: ; 0xa033a - db $0, "Whoa!", $4f - db "He's got it!", $58 -; 0xa033a + 19 bytes - -_UnnamedText_75603: ; 0xa034d - db $0, "You impressed me!", $4f - db "Here's a hint!", $51 - db "Look very closely", $4f - db "for gaps in the", $55 - db "invisible walls!", $57 -; 0xa034d + 84 bytes - -_UnnamedText_75612: ; 0xa03a1 - db $0, "I also study the", $4f - db "way of the ninja", $55 - db "with master KOGA!", $51 - db "Ninja have a long", $4f - db "history of using", $55 - db "animals!", $57 -; 0xa03a1 + 97 bytes - -_UnnamedText_75617: ; 0xa0402 - db $0, "Awoo!", $58 -; 0xa0402 + 7 bytes - -_UnnamedText_7561c: ; 0xa0409 - db $0, "I still have much", $4f - db "to learn!", $57 -; 0xa0409 + 29 bytes - -_UnnamedText_7562b: ; 0xa0426 - db $0, "Master KOGA comes", $4f - db "from a long line", $55 - db "of ninjas!", $51 - db "What did you", $4f - db "descend from?", $57 -; 0xa0426 + 74 bytes - -_UnnamedText_75630: ; 0xa0470 - db $0, "Dropped", $4f - db "my balls!", $58 -; 0xa0470 + 19 bytes - -_UnnamedText_75635: ; 0xa0483 - db $0, "Where there is", $4f - db "light, there is", $55 - db "shadow!", $51 - db "Light and shadow!", $4f - db "Which do you", $55 - db "choose?", $57 -; 0xa0483 + 79 bytes - -_UnnamedText_7564e: ; 0xa04d2 - db $0, "Yo! Champ in", $4f - db "making!", $51 - db "FUCHSIA GYM is", $4f - db "riddled with", $55 - db "invisible walls!", $51 - db "KOGA might appear", $4f - db "close, but he's", $55 - db "blocked off!", $51 - db "You have to find", $4f - db "gaps in the walls", $55 - db "to reach him!", $57 -; 0xa04d2 + 162 bytes - -_UnnamedText_75653: ; 0xa0574 - db $0, "It's amazing how", $4f - db "ninja can terrify", $55 - db "even now!", $57 -; 0xa0574 + 45 bytes - -_FuchsiaMeetingRoomText1: ; 0xa05a1 - db $0, "We nicknamed the", $4f - db "WARDEN SLOWPOKE.", $51 - db "He and SLOWPOKE", $4f - db "both look vacant!", $57 - -_FuchsiaMeetingRoomText2: ; 0xa05e6 - db $0, "SLOWPOKE is very", $4f - db "knowledgeable", $55 - db "about #MON!", $51 - db "He even has some", $4f - db "fossils of rare,", $55 - db "extinct #MON!", $57 - -_FuchsiaMeetingRoomText3: ; 0xa0642 - db $0, "SLOWPOKE came in,", $4f - db "but I couldn't", $55 - db "understand him.", $51 - db "I think he's got", $4f - db "a speech problem!", $57 - -_UnnamedText_561bd: ; 0xa0695 - db $0, "I'm the FISHING", $4f - db "GURU's older", $55 - db "brother!", $51 - db "I simply Looove", $4f - db "fishing!", $51 - db "Do you like to", $4f - db "fish?", $57 -; 0xa0695 + 83 bytes - -_UnnamedText_561c2: ; 0xa06e8 - db $0, "Grand! I like", $4f - db "your style!", $51 - db "Take this and", $4f - db "fish, young one!", $51 - db $52, " received", $4f - db "a @" - TX_RAM $cf4b - db $0, "!@@" -; 0xa0737 - -_UnnamedText_56212: ; 0xa0737 - db $0, "Oh... That's so", $4f - db "disappointing...", $57 -; 0xa0737 + 33 bytes - -_UnnamedText_56217: ; 0xa0758 - db $0, "Hello there,", $4f - db $52, "!", $51 - db "How are the fish", $4f - db "biting?", $57 -; 0xa0758 + 42 bytes - -_UnnamedText_5621c: ; 0xa0782 - db $0, "Oh no!", $51 - db "You have no room", $4f - db "for my gift!", $57 -; 0xa0782 + 38 bytes - -_UnnamedText_4434b: ; 0xa07a8 - db $0, "Who are you? There", $4f - db "shouldn't be", $55 - db "anyone here.", $57 -; 0xa07a8 + 45 bytes - -_UnnamedText_44350: ; 0xa07d5 - db $0, "Ouch!", $58 -; 0xa07d5 + 7 bytes - -_UnnamedText_44355: ; 0xa07dc - db $0, "A key? I don't", $4f - db "know what you're", $55 - db "talking about.", $57 -; 0xa07dc + 46 bytes - -_UnnamedText_44395: ; 0xa080a - db $0, "A secret switch!", $51 - db "Press it?", $57 -; 0xa080a + 28 bytes - -_UnnamedText_4439a: ; 0xa0826 - db $0, "Who wouldn't?", $58 -; 0xa0826 + 14 bytes - -_UnnamedText_4439f: ; 0xa0834 - db $0, "Not quite yet!", $57 -; 0xa0834 + 16 bytes - -_UnnamedText_75914: ; 0xa0844 - db $0, "Hah!", $51 - db "I am BLAINE! I", $4f - db "am the LEADER of", $55 - db "CINNABAR GYM!", $51 - db "My fiery #MON", $4f - db "will incinerate", $55 - db "all challengers!", $51 - db "Hah! You better", $4f - db "have BURN HEAL!", $57 -; 0xa0844 + 131 bytes - -UnnamedText_a08c7: ; 0xa08c7 - db $0, "I have", $4f - db "burnt out!", $51 - db "You have earned", $4f - db "the VOLCANOBADGE!@@" -; 0xa08fd - -_UnnamedText_75920: ; 0xa08fd - db $0, "FIRE BLAST is the", $4f - db "ultimate fire", $55 - db "technique!", $51 - db "Don't waste it on", $4f - db "water #MON!", $57 -; 0xa08fd + 73 bytes - -_UnnamedText_75925: ; 0xa0946 - db $0, "Hah!", $51 - db "The VOLCANOBADGE", $4f - db "heightens the", $55 - db "SPECIAL abilities", $55 - db "of your #MON!", $51 - db "Here, you can", $4f - db "have this too!", $57 -; 0xa0946 + 98 bytes - -UnnamedText_a09a8: ; 0xa09a8 - db $0, $52, " received", $4f - db "@" -; 0xa09a8 + 13 bytes = 0xa09b5 - -UnnamedText_a09b5: ; 0xa09b5 - TX_RAM $cf4b - db $0, "!@@" -; 0xa09b5 + 7 bytes = 0xa09bc - -_UnnamedText_7592f: ; 0xa09bc - db $0, $51 - db "TM38 contains", $4f - db "FIRE BLAST!", $51 - db "Teach it to fire-", $4f - db "type #MON!", $51 - db "CHARMELEON or", $4f - db "PONYTA would be", $55 - db "good bets!", $57 -; 0xa09bc + 98 bytes - -_UnnamedText_75934: ; 0xa0a1e - db $0, "Make room for my", $4f - db "gift!", $57 -; 0xa0a1e + 24 bytes - -_UnnamedText_7595f: ; 0xa0a36 - db $0, "Do you know how", $4f - db "hot #MON fire", $55 - db "breath can get?", $57 -; 0xa0a36 + 47 bytes - -_UnnamedText_75964: ; 0xa0a65 - db $0, "Yow!", $4f - db "Hot, hot, hot!", $58 -; 0xa0a65 + 21 bytes - -_UnnamedText_75969: ; 0xa0a7a - db $0, "Fire, or to be", $4f - db "more precise,", $55 - db "combustion...", $51 - db "Blah, blah, blah,", $4f - db "blah...", $57 -; 0xa0a7a + 70 bytes - -_UnnamedText_75994: ; 0xa0ac0 - db $0, "I was a thief, but", $4f - db "I became straight", $55 - db "as a trainer!", $57 -; 0xa0ac0 + 52 bytes - -_UnnamedText_75999: ; 0xa0af4 - db $0, "I", $4f - db "surrender!", $58 -; 0xa0af4 + 14 bytes - -_UnnamedText_7599e: ; 0xa0b02 - db $0, "I can't help", $4f - db "stealing other", $55 - db "people's #MON!", $57 -; 0xa0b02 + 42 bytes - -_UnnamedText_759c9: ; 0xa0b2c - db $0, "You can't win!", $4f - db "I have studied", $55 - db "#MON totally!", $57 -; 0xa0b2c + 44 bytes - -_UnnamedText_759ce: ; 0xa0b58 - db $0, "Waah!", $4f - db "My studies!", $58 -; 0xa0b58 + 19 bytes - -_UnnamedText_759d3: ; 0xa0b6b - db $0, "My theories are", $4f - db "too complicated", $55 - db "for you!", $57 -; 0xa0b6b + 42 bytes - -_UnnamedText_759fe: ; 0xa0b95 - db $0, "I just like using", $4f - db "fire #MON!", $57 -; 0xa0b95 + 30 bytes - -_UnnamedText_75a03: ; 0xa0bb3 - db $0, "Too hot", $4f - db "to handle!", $58 -; 0xa0bb3 + 20 bytes - -_UnnamedText_75a08: ; 0xa0bc7 - db $0, "I wish there was", $4f - db "a thief #MON!", $55 - db "I'd use that!", $57 -; 0xa0bc7 + 45 bytes - -_UnnamedText_75a33: ; 0xa0bf4 - db $0, "I know why BLAINE", $4f - db "became a trainer!", $57 -; 0xa0bf4 + 37 bytes - -_UnnamedText_75a38: ; 0xa0c19 - db $0, "Ow!", $58 -; 0xa0c19 + 5 bytes - -_UnnamedText_75a3d: ; 0xa0c1e - db $0, "BLAINE was lost", $4f - db "in the mountains", $55 - db "when a fiery bird", $55 - db "#MON appeared.", $51 - db "Its light enabled", $4f - db "BLAINE to find", $55 - db "his way down!", $57 -; 0xa0c1e + 114 bytes - -_UnnamedText_75a68: ; 0xa0c90 - db $0, "I've been to many", $4f - db "GYMs, but this is", $55 - db "my favorite!", $57 -; 0xa0c90 + 49 bytes - -_UnnamedText_75a6d: ; 0xa0cc1 - db $0, "Yowza!", $4f - db "Too hot!", $58 -; 0xa0cc1 + 17 bytes - -_UnnamedText_75a72: ; 0xa0cd2 - db $0, "Us fire #MON", $4f - db "fans like PONYTA", $55 - db "and NINETALES!", $57 -; 0xa0cd2 + 46 bytes - -_UnnamedText_75a9d: ; 0xa0d00 - db $0, "Fire is weak", $4f - db "against H2O!", $57 -; 0xa0d00 + 27 bytes - -_UnnamedText_75aa2: ; 0xa0d1b - db $0, "Oh!", $4f - db "Snuffed out!", $58 -; 0xa0d1b + 18 bytes - -_UnnamedText_75aa7: ; 0xa0d2d - db $0, "Water beats fire!", $4f - db "But, fire melts", $55 - db "ice #MON!", $57 -; 0xa0d2d + 45 bytes - -_UnnamedText_75ac2: ; 0xa0d5a - db $0, "Yo! Champ in", $4f - db "making!", $51 - db "The hot-headed", $4f - db "BLAINE is a fire", $55 - db "#MON pro!", $51 - db "Douse his spirits", $4f - db "with water!", $51 - db "You better take", $4f - db "some BURN HEALs!", $57 -; 0xa0d5a + 127 bytes - -_UnnamedText_75ac7: ; 0xa0dd9 - db $0, $52, "! You beat", $4f - db "that fire brand!", $57 -; 0xa0dd9 + 30 bytes - -_Lab1Text1: ; 0xa0df7 - db $0, "We study #MON", $4f - db "extensively here.", $51 - db "People often bring", $4f - db "us rare #MON", $55 - db "for examination.", $57 - -_Lab1Text2: ; 0xa0e49 - db $0, "A photo of the", $4f - db "LAB's founder,", $55 - db "DR.FUJI!", $57 - -_Lab1Text3: ; 0xa0e70 - db $0, "#MON LAB", $4f - db "Meeting Room", $57 - -_Lab1Text4: ; 0xa0e87 - db $0, "#MON LAB", $4f - db "R-and-D Room", $57 - -_Lab1Text5: ; 0xa0e9e - db $0, "#MON LAB", $4f - db "Testing Room", $57 - -_Lab2Text1: ; 0xa0eb5 - db $0, "I found this very", $4f - db "strange fossil in", $55 - db "MT.MOON!", $51 - db "I think it's a", $4f - db "rare, prehistoric", $55 - db "#MON!", $57 - -_UnnamedText_75cc8: ; 0xa0f09 - db $0, "Tch-tch-tch!", $4f - db "I made a cool TM!", $51 - db "It can cause all", $4f - db "kinds of fun!", $58 -; 0xa0f09 + 63 bytes - -UnnamedText_a0f48: ; 0xa0f48 - db $0, $52, " received ", $4f - db "@" -; 0xa0f56 - -UnnamedText_a0f56: ; 0xa0f56 - TX_RAM $cf4b - db $0, "!@@" -; 0xa0f5d - -_UnnamedText_75cd3: ; 0xa0f5d - db $0, "Tch-tch-tch!", $4f - db "That's the sound", $55 - db "of a METRONOME!", $51 - db "It tweaks your", $4f - db "#MON's brain", $55 - db "into using moves", $55 - db "it doesn't know!", $57 -; 0xa0f5d + 106 bytes - -_UnnamedText_75cd8: ; 0xa0fc7 - db $0, "Your pack is", $4f - db "crammed full!", $57 -; 0xa0fc7 + 28 bytes - -_Lab3Text2: ; 0xa0fe3 - db $0, "EEVEE can evolve", $4f - db "into 1 of 3 kinds", $55 - db "of #MON.", $57 - -_Lab3Text3: ; 0xa1010 - db $0, "There's an e-mail", $4f - db "message!", $51 - db "...", $51 - db "The 3 legendary", $4f - db "bird #MON are", $55 - db "ARTICUNO, ZAPDOS", $55 - db "and MOLTRES.", $51 - db "Their whereabouts", $4f - db "are unknown.", $51 - db "We plan to explore", $4f - db "the cavern close", $55 - db "to CERULEAN.", $51 - db "From: #MON", $4f - db "RESEARCH TEAM", $51 - db "...", $57 - -_Lab3Text5: ; 0xa10d8 - db $0, "An amber pipe!", $57 - -_UnnamedText_75dc6: ; 0xa10e8 - db $0, "Hiya!", $51 - db "I am important", $4f - db "doctor!", $51 - db "I study here rare", $4f - db "#MON fossils!", $51 - db "You! Have you a", $4f - db "fossil for me?", $58 -; 0xa10e8 + 93 bytes - -_UnnamedText_75dcb: ; 0xa1145 - db $0, "No! Is too bad!", $57 -; 0xa1145 + 17 bytes - -_UnnamedText_75dd0: ; 0xa1156 - db $0, "I take a little", $4f - db "time!", $51 - db "You go for walk a", $4f - db "little while!", $57 -; 0xa1156 + 55 bytes - -_UnnamedText_75dd5: ; 0xa118d - db $0, "Where were you?", $51 - db "Your fossil is", $4f - db "back to life!", $51 - db "It was @" -; 0xa118d + 54 bytes - -UnnamedText_a11c3: ; 0xa11c3 - TX_RAM $cf4b - db $0, $4f - db "like I think!", $58 -; 0xa11d6 - -_UnnamedText_610ae: ; 0xa11d6 - db $0, "Oh! That is", $4f - db "@" -; 0xa11d6 + 14 bytes - -UnnamedText_a11e4: ; 0xa11e4 - TX_RAM $cd6d - db $0, "!", $51 - db "It is fossil of", $4f - db "@" - TX_RAM $cf4b - db $0, ", a", $55 - db "#MON that is", $55 - db "already extinct!", $51 - db "My Resurrection", $4f - db "Machine will make", $55 - db "that #MON live", $55 - db "again!", $57 -; 0xa1259 - -_UnnamedText_610b3: ; 0xa1259 - db $0, "So! You hurry and", $4f - db "give me that!", $51 - db $52, " handed", $4f - db "over @" - TX_RAM $cd6d - db $0, "!", $58 -; 0xa128f - -_UnnamedText_610b8: ; 0xa128f - db $0, "I take a little", $4f - db "time!", $51 - db "You go for walk a", $4f - db "little while!", $57 -; 0xa128f + 55 bytes - -_UnnamedText_610bd: ; 0xa12c6 - db $0, "Aiyah! You come", $4f - db "again!", $57 -; 0xa12c6 + 24 bytes - -_CinnabarPokecenterText2: -_CinnabarPokecenterText1: ; 0xa12de - db $0, "You can cancel", $4f - db "evolution.", $51 - db "When a #MON is", $4f - db "evolving, you can", $55 - db "stop it and leave", $55 - db "it the way it is.", $57 - -_CinnabarPokecenterText3: ; 0xa133e - db $0, "Do you have any", $4f - db "friends?", $51 - db "#MON you get", $4f - db "in trades grow", $55 - db "very quickly.", $51 - db "I think it's", $4f - db "worth a try!", $57 - -_CinnabarMartText2: ; 0xa139b - db $0, "Don't they have X", $4f - db "ATTACK? It's good", $55 - db "for battles!", $57 - -_CinnabarMartText3: ; 0xa13cb - db $0, "It never hurts to", $4f - db "have extra items!", $57 - -_IndigoPlateauLobbyText1: ; 0xa13f0 - db $0, "Yo! Champ in", $4f - db "making!", $51 - db "At #MON LEAGUE,", $4f - db "you have to face", $55 - db "the ELITE FOUR in", $55 - db "succession.", $51 - db "If you lose, you", $4f - db "have to start all", $55 - db "over again! This", $55 - db "is it! Go for it!", $57 - -_IndigoPlateauLobbyText3: ; 0xa148b - db $0, "From here on, you", $4f - db "face the ELITE", $55 - db "FOUR one by one!", $51 - db "If you win, a", $4f - db "door opens to the", $55 - db "next trainer!", $55 - db "Good luck!", $57 - -_CopycatsHouseF1Text1: ; 0xa14f7 - db $0, "My daughter is so", $4f - db "self-centered.", $55 - db "She only has a", $55 - db "few friends.", $57 - -_CopycatsHouseF1Text2: ; 0xa1535 - db $0, "My daughter likes", $4f - db "to mimic people.", $51 - db "Her mimicry has", $4f - db "earned her the", $55 - db "nickname COPYCAT", $55 - db "around here!", $57 - -_CopycatsHouseF1Text3: ; 0xa1596 - db $0, "CHANSEY: Chaan!", $4f - db "Sii!@@" - -_UnnamedText_5ccd4: ; 0xa15ad - db $0, $52, ": Hi! Do", $4f - db "you like #MON?", $51 - db $52, ": Uh no, I", $4f - db "just asked you.", $51 - db $52, ": Huh?", $4f - db "You're strange!", $51 - db "COPYCAT: Hmm?", $4f - db "Quit mimicking?", $51 - db "But, that's my", $4f - db "favorite hobby!", $58 -; 0xa15ad + 137 bytes - -_UnnamedText_5ccd9: ; 0xa1636 - db $0, "Oh wow!", $4f - db "A # DOLL!", $51 - db "For me?", $4f - db "Thank you!", $51 - db "You can have", $4f - db "this, then!", $58 -; 0xa1636 + 63 bytes - -_ReceivedTM31Text: ; 0xa1675 - db $0, $52, " received", $4f - db "@" - TX_RAM $cf4b - db $0, "!@@" -; 0xa1689 - -_TM31ExplanationText1: ; 0xa1689 - db $0, $51 - db "TM31 contains my", $4f - db "favorite, MIMIC!", $51 - db "Use it on a good", $4f - db "#MON!@@" -; 0xa16c5 - -_TM31ExplanationText2: ; 0xa16c5 - db $0, $52, ": Hi!", $4f - db "Thanks for TM31!", $51 - db $52, ": Pardon?", $51 - db $52, ": Is it", $4f - db "that fun to mimic", $55 - db "my every move?", $51 - db "COPYCAT: You bet!", $4f - db "It's a scream!", $57 -; 0xa16c5 + 110 bytes - -_TM31NoRoomText: ; 0xa1733 - db $0, "Don't you want", $4f - db "this?@@" -; 0xa1749 - -_CopycatsHouseF2Text2: ; 0xa1749 - db $0, "DODUO: Giiih!", $51 - db "MIRROR MIRROR ON", $4f - db "THE WALL, WHO IS", $55 - db "THE FAIREST ONE", $55 - db "OF ALL?", $57 - -_CopycatsHouseF2Text3: ; 0xa1792 - db $0, "This is a rare", $4f - db "#MON! Huh?", $55 - db "It's only a doll!", $57 - -_CopycatsHouseF2Text6: ; 0xa17be - db $0, "A game with MARIO", $4f - db "wearing a bucket", $55 - db "on his head!", $57 - -_UnnamedText_5cd17: ; 0xa17ef - db $0, "...", $51 - db "My Secrets!", $51 - db "Skill: Mimicry!", $4f - db "Hobby: Collecting", $55 - db "dolls!", $55 - db "Favorite #MON:", $55 - db "CLEFAIRY!", $57 -; 0xa17ef + 83 bytes - -_UnnamedText_5cd1c: ; 0xa1842 - db $0, "Huh? Can't see!", $57 -; 0xa1842 + 16 bytes - -_UnnamedText_5ce8e: ; 0xa1852 - db $0, "Grunt!", $51 - db "I am the KARATE", $4f - db "MASTER! I am the", $55 - db "LEADER here!", $51 - db "You wish to", $4f - db "challenge us?", $55 - db "Expect no mercy!", $51 - db "Fwaaa!", $57 -; 0xa1852 + 104 bytes - -_UnnamedText_5ce93: ; 0xa18ba - db $0, "Hwa!", $4f - db "Arrgh! Beaten!", $58 -; 0xa18ba + 21 bytes - -_UnnamedText_5ce98: ; 0xa18cf - db $0, "Indeed, I have", $4f - db "lost!", $51 - db "But, I beseech", $4f - db "you, do not take", $55 - db "our emblem as", $55 - db "your trophy!", $51 - db "In return, I will", $4f - db "give you a prized", $55 - db "fighting #MON!", $51 - db "Choose whichever", $4f - db "one you like!", $57 -; 0xa18cf + 163 bytes - -_UnnamedText_5ce9d: ; 0xa1972 - db $0, "Ho!", $51 - db "Stay and train at", $4f - db "Karate with us!", $57 -; 0xa1972 + 39 bytes - -_UnnamedText_5ceac: ; 0xa1999 - db $0, "Hoargh! Take your", $4f - db "shoes off!", $57 -; 0xa1999 + 30 bytes - -_UnnamedText_5ceb1: ; 0xa19b7 - db $0, "I give", $4f - db "up!", $58 -; 0xa19b7 + 12 bytes - -_UnnamedText_5ceb6: ; 0xa19c3 - db $0, "You wait 'til you", $4f - db "see our Master!", $51 - db "I'm a small fry", $4f - db "compared to him!", $57 -; 0xa19c3 + 66 bytes - -_UnnamedText_5cec5: ; 0xa1a05 - db $0, "I hear you're", $4f - db "good! Show me!", $57 -; 0xa1a05 + 29 bytes - -_UnnamedText_5ceca: ; 0xa1a22 - db $0, "Judge!", $4f - db "1 point!", $58 -; 0xa1a22 + 17 bytes - -_UnnamedText_5cecf: ; 0xa1a33 - db $0, "Our Master is a", $4f - db "pro fighter!", $57 -; 0xa1a33 + 30 bytes - -_UnnamedText_5cede: ; 0xa1a51 - db $0, "Nothing tough", $4f - db "frightens me!", $51 - db "I break boulders", $4f - db "for training!", $57 -; 0xa1a51 + 60 bytes - -_UnnamedText_5cee3: ; 0xa1a8d - db $0, "Yow!", $4f - db "Stubbed fingers!", $58 -; 0xa1a8d + 23 bytes - -_UnnamedText_5cee8: ; 0xa1aa4 - db $0, "The only thing", $4f - db "that frightens us", $55 - db "is psychic power!", $57 -; 0xa1aa4 + 52 bytes - -_UnnamedText_5cef7: ; 0xa1ad8 - db $0, "Hoohah!", $51 - db "You're trespassing", $4f - db "in our FIGHTING", $55 - db "DOJO!", $57 -; 0xa1ad8 + 49 bytes - -_UnnamedText_5cefc: ; 0xa1b09 - db $0, "Oof!", $4f - db "I give up!", $58 -; 0xa1b09 + 17 bytes - -_UnnamedText_5cf01: ; 0xa1b1a - db $0, "The prime fighters", $4f - db "across the land", $55 - db "train here.", $57 -; 0xa1b1a + 48 bytes - -_UnnamedText_5cf49: ; 0xa1b4a - db $0, "You want the", $4f - db "hard kicking", $55 - db "HITMONLEE?", $57 -; 0xa1b4a + 38 bytes - -_UnnamedText_5cf91: ; 0xa1b70 - db $0, "You want the", $4f - db "piston punching", $55 - db "HITMONCHAN?", $57 -; 0xa1b70 + 42 bytes - -_UnnamedText_5cf96: ; 0xa1b9a - db $0, "Better not get", $4f - db "greedy...", $57 -; 0xa1b9a + 26 bytes - -_UnnamedText_5d162: ; 0xa1bb4 - db $0, "I had a vision of", $4f - db "your arrival!", $51 - db "I have had psychic", $4f - db "powers since I", $55 - db "was a child.", $51 - db "I first learned", $4f - db "to bend spoons", $55 - db "with my mind.", $51 - db "I dislike fight-", $4f - db "ing, but if you", $55 - db "wish, I will show", $55 - db "you my powers!", $57 -; 0xa1bb4 + 191 bytes - -_UnnamedText_5d167: ; 0xa1c73 - db $0, "I'm", $4f - db "shocked!", $55 - db "But, a loss is a", $55 - db "loss.", $51 - db "I admit I didn't", $4f - db "work hard enough", $55 - db "to win!", $51 - db "You earned the", $4f - db "MARSHBADGE!@@" -; 0xa1cdc - -_UnnamedText_5d16e: ; 0xa1cdc - db $0, "Everyone has", $4f - db "psychic power!", $55 - db "People just don't", $55 - db "realize it!", $57 -; 0xa1cdc + 58 bytes - -_UnnamedText_5d173: ; 0xa1d16 - db $0, "The MARSHBADGE", $4f - db "makes #MON up", $55 - db "to L70 obey you!", $51 - db "Stronger #MON", $4f - db "will become wild,", $55 - db "ignoring your", $55 - db "orders in battle!", $51 - db "Just don't raise", $4f - db "your #MON too", $55 - db "much!", $51 - db "Wait, please take", $4f - db "this TM with you!", $57 -; 0xa1d16 + 183 bytes - -ReceivedTM46Text: ; 0xa1dcd - db $0, $52, " received", $4f - db "TM46!@@" -; 0xa1de0 - -_UnnamedText_5d17d: ; 0xa1de0 - db $0, $51 - db "TM46 is PSYWAVE!", $4f - db "It uses powerful", $55 - db "psychic waves to", $55 - db "inflict damage!", $57 -; 0xa1de0 + 69 bytes - -_UnnamedText_5d182: ; 0xa1e25 - db $0, "Your pack is full", $4f - db "of other items!", $57 -; 0xa1e25 + 35 bytes - -_UnnamedText_5d1e6: ; 0xa1e48 - db $0, "Yo! Champ in", $4f - db "making!", $51 - db "SABRINA's #MON", $4f - db "use psychic power", $55 - db "instead of force!", $51 - db "Fighting #MON", $4f - db "are weak against", $55 - db "psychic #MON!", $51 - db "They get creamed", $4f - db "before they can", $55 - db "even aim a punch!", $57 -; 0xa1e48 + 168 bytes - -_UnnamedText_5d1eb: ; 0xa1ef0 - db $0, "Psychic power,", $4f - db "huh?", $51 - db "If I had that,", $4f - db "I'd make a bundle", $55 - db "at the slots!", $57 -; 0xa1ef0 + 67 bytes - -_UnnamedText_5d1f0: ; 0xa1f33 - db $0, "SABRINA is younger", $4f - db "than I, but I", $55 - db "respect her!", $57 -; 0xa1f33 + 47 bytes - -_UnnamedText_5d1f5: ; 0xa1f62 - db $0, "Not", $4f - db "good enough!", $58 -; 0xa1f62 + 18 bytes - -_UnnamedText_5d1fa: ; 0xa1f74 - db $0, "In a battle of", $4f - db "equals, the one", $55 - db "with the stronger", $55 - db "will wins!", $51 - db "If you wish", $4f - db "to beat SABRINA,", $55 - db "focus on winning!", $57 -; 0xa1f74 + 108 bytes - -_UnnamedText_5d1ff: ; 0xa1fe0 - db $0, "Does our unseen", $4f - db "power scare you?", $57 -; 0xa1fe0 + 34 bytes - -_UnnamedText_5d204: ; 0xa2002 - db $0, "I never", $4f - db "foresaw this!", $58 -; 0xa2002 + 23 bytes - -_UnnamedText_5d209: ; 0xa2019 - db $0, "Psychic #MON", $4f - db "fear only ghosts", $55 - db "and bugs!", $57 -; 0xa2019 + 41 bytes - -_UnnamedText_5d20e: ; 0xa2042 - db $0, "#MON take on", $4f - db "the appearance of", $55 - db "their trainers.", $51 - db "Your #MON must", $4f - db "be tough, then!", $57 -; 0xa2042 + 79 bytes - -_UnnamedText_5d213: ; 0xa2091 - db $0, "I knew", $4f - db "it!", $58 -; 0xa2091 + 12 bytes - -_UnnamedText_5d218: ; 0xa209d - db $0, "I must teach", $4f - db "better techniques", $55 - db "to my #MON!", $57 -; 0xa209d + 44 bytes - -_UnnamedText_5d21d: ; 0xa20c9 - db $0, "You know that", $4f - db "power alone isn't", $55 - db "enough!", $57 -; 0xa20c9 + 40 bytes - -_UnnamedText_5d222: ; 0xa20f1 - db $0, "I don't", $4f - db "believe this!", $58 -; 0xa20f1 + 22 bytes - -_UnnamedText_5d227: ; 0xa2107 - db $0, "SABRINA just wiped", $4f - db "out the KARATE", $55 - db "MASTER next door!", $57 -; 0xa2107 + 53 bytes - -_UnnamedText_5d22c: ; 0xa213c - db $0, "You and I, our", $4f - db "#MON shall", $55 - db "fight!", $57 -; 0xa213c + 34 bytes - -_UnnamedText_5d231: ; 0xa215e - db $0, "I lost", $4f - db "after all!", $58 -; 0xa215e + 19 bytes - -_UnnamedText_5d236: ; 0xa2171 - db $0, "I knew that this", $4f - db "was going to take", $55 - db "place.", $57 -; 0xa2171 + 43 bytes - -_UnnamedText_5d23b: ; 0xa219c - db $0, "SABRINA is young,", $4f - db "but she's also", $55 - db "our LEADER!", $51 - db "You won't reach", $4f - db "her easily!", $57 -; 0xa219c + 72 bytes - -_UnnamedText_5d240: ; 0xa21e4 - db $0, "I lost", $4f - db "my concentration!", $58 -; 0xa21e4 + 26 bytes - -_UnnamedText_5d245: ; 0xa21fe - db $0, "There used to be", $4f - db "2 #MON GYMs in", $55 - db "SAFFRON.", $51 - db "The FIGHTING DOJO", $4f - db "next door lost", $55 - db "its GYM status", $55 - db "when we went and", $55 - db "creamed them!", $57 -; 0xa21fe + 121 bytes - -_UnnamedText_5d24a: ; 0xa2277 - db $0, "SAFFRON #MON", $4f - db "GYM is famous for", $55 - db "its psychics!", $51 - db "You want to see", $4f - db "SABRINA!", $55 - db "I can tell!", $57 -; 0xa2277 + 83 bytes - -_UnnamedText_5d24f: ; 0xa22ca - db $0, "Arrrgh!", $58 -; 0xa22ca + 9 bytes - -_UnnamedText_5d254: ; 0xa22d3 - db $0, "That's right! I", $4f - db "used telepathy to", $55 - db "read your mind!", $57 -; 0xa22d3 + 50 bytes - -_SaffronHouse1Text1: ; 0xa2305 - db $0, "Thank you for", $4f - db "writing. I hope", $55 - db "to see you soon!", $51 - db "Hey! Don't look", $4f - db "at my letter!", $57 - -_SaffronHouse1Text2: ; 0xa2352 - db $0, "PIDGEY: Kurukkoo!@@" - -_SaffronHouse1Text3: ; 0xa2366 - db $0, "The COPYCAT is", $4f - db "cute! I'm getting", $55 - db "her a # DOLL!", $57 - -_SaffronHouse1Text4: ; 0xa2395 - db $0, "I was given a PP", $4f - db "UP as a gift.", $51 - db "It's used for", $4f - db "increasing the PP", $55 - db "of techniques!", $57 - -_SaffronMartText2: ; 0xa23e3 - db $0, "MAX REPEL lasts", $4f - db "longer than SUPER", $55 - db "REPEL for keeping", $55 - db "weaker #MON", $55 - db "away!", $57 - -_SaffronMartText3: ; 0xa242a - db $0, "REVIVE is costly,", $4f - db "but it revives", $55 - db "fainted #MON!", $57 - -_SilphCo1Text1: ; 0xa245a - db $0, "Welcome!", $51 - db "The PRESIDENT is", $4f - db "in the boardroom", $55 - db "on 11F!", $57 - -_SaffronPokecenterText1: ; 0xa248e - db $0, "#MON growth", $4f - db "rates differ from", $55 - db "specie to specie.", $57 - -_SaffronPokecenterText3: ; 0xa24bf - db $0, "SILPH CO. is very", $4f - db "famous. That's", $55 - db "why it attracted", $55 - db "TEAM ROCKET!", $57 - -_UnnamedText_1de75: ; 0xa24fe - db $0, "...Wait! Don't", $4f - db "say a word!", $51 - db "You wanted this!", $58 -; 0xa24fe + 44 bytes - -_UnnamedText_1de7a: ; 0xa252a - db $0, $52, " received", $4f - db "@" -; 0xa2537 - -UnnamedText_a2537: ; 0xa2537 - TX_RAM $cf4b - db $0, "!@@" -; 0xa253e - -_UnnamedText_1de80: ; 0xa253e - db $0, "TM29 is PSYCHIC!", $51 - db "It can lower the", $4f - db "target's SPECIAL", $55 - db "abilities.", $57 -; 0xa253e + 62 bytes - -_UnnamedText_1de85: ; 0xa257c - db $0, "Where do you plan", $4f - db "to put this?", $57 -; 0xa257c + 32 bytes - -_UnnamedText_2a55: ; 0xa259c - db $0, "Hi there!", $4e, "May I help you?", $57 -; 0xa259c + 27 bytes - -_UnnamedText_2aa4: ; 0xa25b7 - TX_RAM $cd6d - db $0, $4f - db "fainted!", $57 -; 0xa25b7 + 14 bytes - -_UnnamedText_2aba: ; 0xa25c5 - db $0, $52, " is out of", $4f - db "useable #MON!", $51 - db $52, " blacked", $4f - db "out!", $58 -; 0xa25c5 + 42 bytes - -_UnnamedText_2ac8: ; 0xa25ef - db $0, "REPEL's effect", $4f - db "wore off.", $57 -; 0xa25ef + 25 bytes - -_UnnamedText_6e0c: ; 0xa2608 - db $0, "Take your time.", $57 -; 0xa2608 + 17 bytes - -_UnnamedText_6e11: ; 0xa2619 - TX_RAM $cf4b - db $0, "?", $4f - db "That will be", $55 - db $f0, "@" - db $2, $9f, $ff, $c3 - db $0, ". OK?", $57 -; 0xa2639 - -_UnnamedText_6e16: ; 0xa2639 - db $0, "Here you are!", $4f - db "Thank you!", $58 -; 0xa2639 + 26 bytes - -_UnnamedText_6e1b: ; 0xa2653 - db $0, "You don't have", $4f - db "enough money.", $58 -; 0xa2653 + 29 bytes - -_UnnamedText_6e20: ; 0xa2670 - db $0, "You can't carry", $4f - db "any more items.", $58 -; 0xa2670 + 32 bytes - -_UnnamedText_6e25: ; 0xa2690 - db $0, "What would you", $4f - db "like to sell?", $57 -; 0xa2690 + 30 bytes - -_UnnamedText_6e2a: ; 0xa26ae - db $0, "I can pay you", $4f - db $f0, "@" - db $2, $9f, $ff, $c3 ; XXX - db $0, " for that.", $57 -; 0xa26cf - -_UnnamedText_6e2f: ; 0xa26cf - db $0, "You don't have", $4f - db "anything to sell.", $58 -; 0xa26cf + 33 bytes - -_UnnamedText_6e34: ; 0xa26f0 - db $0, "I can't put a", $4f - db "price on that.", $58 -; 0xa26f0 + 29 bytes - -_UnnamedText_6e39: ; 0xa270d - db $0, "Thank you!", $57 -; 0xa270d + 12 bytes - -_UnnamedText_6e3e: ; 0xa2719 - db $0, "Is there anything", $4f - db "else I can do?", $57 -; 0xa2719 + 34 bytes - -UnnamedText_a273b: ; 0xa273b - TX_RAM $d036 - db $0, " learned", $4f - db "@" -; 0xa2749 - -UnnamedText_a2749: ; 0xa2749 - TX_RAM $cf4b - db $0, "!@@" -; 0xa2750 - -_UnnamedText_6fb4: ; 0xa2750 - db $0, "Which move should", $4e, "be forgotten?", $57 -; 0xa2750 + 33 bytes - -_UnnamedText_6fb9: ; 0xa2771 - db $0, "Abandon learning", $4f - db "@" -; 0xa2771 + 19 bytes - -UnnamedText_a2784: ; 0xa2784 - TX_RAM $cf4b - db $0, "?", $57 -; 0xa278a - -_UnnamedText_6fbe: ; 0xa278a - TX_RAM $d036 - db $0, $4f - db "did not learn", $55 - db "@" -; 0xa278a + 20 bytes - -UnnamedText_a279e: ; 0xa279e - TX_RAM $cf4b - db $0, "!", $58 -; 0xa27a4 - -_UnnamedText_6fc3: ; 0xa27a4 - TX_RAM $d036 - db $0, " is", $4f - db "trying to learn", $55 - db "@" -; 0xa27a4 + 25 bytes - -UnnamedText_a27bd: ; 0xa27bd - TX_RAM $cf4b - db $0, "!", $51 - db "But, @" - TX_RAM $d036 - db $0, $4f - db "can't learn more", $55 - db "than 4 moves!", $51 - db "Delete an older", $4f - db "move to make room", $55 - db "for @" -; 0xa2813 - -UnnamedText_a2813: ; 0xa2813 - TX_RAM $cf4b - db $0, "?", $57 -; 0xa2819 - -_UnnamedText_6fc8: ; 0xa2819 - db $0, "1, 2 and...@@" -; 0xa2827 - -_UnnamedText_6fd7: ; 0xa2827 - db $0, " Poof!@@" -; 0xa2830 - -_UnnamedText_6fdc: ; 0xa2830 - db $0, $51 - db "@" -; 0xa2830 + 3 bytes - -UnnamedText_a2833: ; 0xa2833 - TX_RAM $d036 - db $0, " forgot", $4f - db "@" - TX_RAM $cd6d - db $0, "!", $51 - db "And...", $58 -; 0xa284d - -_UnnamedText_6fe1: ; 0xa284d - db $0, "HM techniques", $4f - db "can't be deleted!", $58 -; 0xa284d + 32 bytes - -_UnnamedText_705d: ; 0xa286d - db $0, "Welcome to our", $4f - db "#MON CENTER!", $51 - db "We heal your", $4f - db "#MON back to", $55 - db "perfect health!", $58 -; 0xa286d + 71 bytes - -_UnnamedText_7063: ; 0xa28b4 - db $0, "Shall we heal your", $4f - db "#MON?", $57 -; 0xa28b4 + 26 bytes - -_UnnamedText_7068: ; 0xa28ce - db $0, "OK. We'll need", $4f - db "your #MON.", $57 -; 0xa28ce + 26 bytes - -_UnnamedText_706d: ; 0xa28e8 - db $0, "Thank you!", $4f - db "Your #MON are", $55 - db "fighting fit!", $58 -; 0xa28e8 + 40 bytes - -_UnnamedText_7073: ; 0xa2910 - db $0, "We hope to see", $4f - db "you again!", $57 -; 0xa2910 + 27 bytes - -_UnnamedText_72b3: ; 0xa292b - db $0, "This area is", $4f - db "reserved for 2", $55 - db "friends who are", $55 - db "linked by cable.", $57 -; 0xa292b + 62 bytes - -_UnnamedText_72b8: ; 0xa2969 - db $0, "Welcome to the", $4f - db "Cable Club!", $57 -; 0xa2969 + 28 bytes - -_UnnamedText_72bd: ; 0xa2985 - db $0, "Please apply here.", $51 - db "Before opening", $4f - db "the link, we have", $55 - db "to save the game.", $57 -; 0xa2985 + 71 bytes - -UnnamedText_a29cc: ; 0xa29cc - db $0, "Please wait.@@" -; 0xa29b - -_UnnamedText_72c8: ; 0xa29db - db $0, "The link has been", $4f - db "closed because of", $55 - db "inactivity.", $51 - db "Please contact", $4f - db "your friend and", $55 - db "come again!", $57 -; 0xa29db + 92 bytes - -SECTION "bank29",DATA,BANK[$29] - -_UnnamedText_72cd: ; 0xa4000 - db $0, "Please come again!", $57 -; 0xa4000 + 20 bytes - -_UnnamedText_72d2: ; 0xa4014 - db $0, "We're making", $4f - db "preparations.", $55 - db "Please wait.", $57 -; 0xa4014 + 40 bytes - -UnnamedText_a403c: ; 0xa403c - TX_RAM $cd6d - db $0, " used", $4f - db "STRENGTH.@@" -; 0xa4051 - -_UnnamedText_cdbb: ; 0xa4051 - TX_RAM $cd6d - db $0, " can", $4f - db "move boulders.", $58 -; 0xa4051 + 24 bytes - -_UnnamedText_cdfa: ; 0xa4069 - db $0, "The current is", $4f - db "much too fast!", $58 -; 0xa4069 + 31 bytes - -_UnnamedText_cdff: ; 0xa4088 - db $0, "Cycling is fun!", $4f - db "Forget SURFing!", $58 -; 0xa4088 + 33 bytes - -_UnnamedText_13228: ; 0xa40a9 - db $0, "A blinding FLASH", $4f - db "lights the area!", $58 -; 0xa40a9 + 35 bytes - -_UnnamedText_1327b: ; 0xa40cc - db $0, "Warp to the last", $4f - db "#MON CENTER.", $57 -; 0xa40cc + 31 bytes - -_UnnamedText_13280: ; 0xa40eb - TX_RAM $cd6d - db $0, " can't", $4f - db "use TELEPORT now.", $58 -; 0xa40eb + 28 bytes - -_UnnamedText_13285: ; 0xa4107 - TX_RAM $cd6d - db $0, " can't", $4f - db "FLY here.", $58 -; 0xa4107 + 20 bytes - -_UnnamedText_132d4: ; 0xa411b - db $0, "Not healthy", $4f - db "enough.", $58 -; 0xa411b + 21 bytes - -_UnnamedText_132e8: ; 0xa4130 - db $0, "No! A new BADGE", $4f - db "is required.", $58 -; 0xa4130 + 30 bytes - -_UnnamedText_1342a: ; 0xa414e - db $0, "You can't use items", $4f - db "here.", $58 -; 0xa414e + 26 bytes - -_UnnamedText_1342f: ; 0xa4168 - db $0, "You can't get off", $4f - db "here.", $58 -; 0xa4168 + 24 bytes - -UnnamedText_a4180: ; 0xa4180 - db $0, $52, " got", $4f - db "@" - TX_RAM $cd6d - db $0, "!@@" -; 0xa418f - -_UnnamedText_4fe3f: ; 0xa418f - db $0, "There's no more", $4f - db "room for #MON!", $55 - db "@" -; 0xa418f + 32 bytes - -UnnamedText_a41af: ; 0xa41af - TX_RAM $de06 - db $0, " was", $55 - db "sent to #MON", $55 - db "BOX @" - TX_RAM $cf4b - db $0, " on PC!", $57 -; 0xa41ca + 12 bytes = 0xa41d6 - -_UnnamedText_4fe44: ; 0xa41d6 - db $0, "There's no more", $4f - db "room for #MON!", $51 - db "The #MON BOX", $4f - db "is full and can't", $55 - db "accept any more!", $51 - db "Change the BOX at", $4f - db "a #MON CENTER!", $57 -; 0xa41d6 + 111 bytes - -INCLUDE "text/mapPalletTown.tx" - -_ViridianCityText1: - db $0, "Those # BALLs", $4f - db "at your waist!", $55 - db "You have #MON!", $51 - db "It's great that", $4f - db "you can carry and", $55 - db "use #MON any", $55 - db "time, anywhere!", $57 - -_UnnamedText_19122: ; 0xa4437 - db $0, "This #MON GYM", $4f - db "is always closed.", $51 - db "I wonder who the", $4f - db "LEADER is?", $57 -; 0xa4437 + 61 bytes - -_UnnamedText_19127: ; 0xa4474 - db $0, "VIRIDIAN GYM's", $4f - db "LEADER returned!", $57 -; 0xa4474 + 32 bytes - -_UnnamedText_1914d: ; 0xa4494 - db $0, "You want to know", $4f - db "about the 2 kinds", $55 - db "of caterpillar", $55 - db "#MON?", $57 -; 0xa4494 + 57 bytes - -_UnnamedText_19152: ; 0xa44cd - db $0, "Oh, OK then!", $57 -; 0xa44cd + 14 bytes - -_UnnamedText_19157: ; 0xa44db - db $0, "CATERPIE has no", $4f - db "poison, but", $55 - db "WEEDLE does.", $51 - db "Watch out for its", $4f - db "POISON STING!", $57 -; 0xa44db + 74 bytes - -_UnnamedText_19175: ; 0xa4525 - db $0, "Oh Grandpa! Don't", $4f - db "be so mean!", $55 - db "He hasn't had his", $55 - db "coffee yet.", $57 -; 0xa4525 + 59 bytes - -_UnnamedText_1917a: ; 0xa4560 - db $0, "When I go shop in", $4f - db "PEWTER CITY, I", $55 - db "have to take the", $55 - db "winding trail in", $55 - db "VIRIDIAN FOREST.", $57 -; 0xa4560 + 85 bytes - -_UnnamedText_19191: ; 0xa45b5 - db $0, "You can't go", $4f - db "through here!", $51 - db "This is private", $4f - db "property!", $57 -; 0xa45b5 + 53 bytes - -_UnnamedText_191ca: ; 0xa45ea - db $0, "Yawn!", $4f - db "I must have dozed", $55 - db "off in the sun.", $51 - db "I had this dream", $4f - db "about a DROWZEE", $55 - db "eating my dream.", $55 - db "What's this?", $55 - db "Where did this TM", $55 - db "come from?", $51 - db "This is spooky!", $4f - db "Here, you can", $55 - db "have this TM.", $58 -; 0xa45ea + 176 bytes - -_ReceivedTM42Text: ; 0xa469a - db $0, $52, " received", $4f - db "TM42!@@" -; 0xa46ad - -_UnnamedText_191d5: ; 0xa46ad - db $0, "TM42 contains", $4f - db "DREAM EATER...", $55 - db "...Snore...", $57 -; 0xa46ad + 42 bytes - -_UnnamedText_191da: ; 0xa46d7 - db $0, "You have too much", $4f - db "stuff already.", $57 -; 0xa46d7 + 34 bytes - -_UnnamedText_1920a: ; 0xa46f9 - db $0, "Ahh, I've had my", $4f - db "coffee now and I", $55 - db "feel great!", $51 - db "Sure you can go", $4f - db "through!", $51 - db "Are you in a", $4f - db "hurry?", $57 -; 0xa46f9 + 91 bytes - -_UnnamedText_1920f: ; 0xa4754 - db $0, "I see you're using", $4f - db "a #DEX.", $51 - db "When you catch a", $4f - db "#MON, #DEX", $55 - db "is automatically", $55 - db "updated.", $51 - db "What? Don't you", $4f - db "know how to catch", $55 - db "#MON?", $51 - db "I'll show you", $4f - db "how to then.", $57 -; 0xa4754 + 146 bytes - -_UnnamedText_19214: ; 0xa47e6 - db $0, "Time is money...", $4f - db "Go along then.", $57 -; 0xa47e6 + 33 bytes - -_UnnamedText_19219: ; 0xa4807 - db $0, "First, you need", $4f - db "to weaken the", $55 - db "target #MON.", $57 -; 0xa4807 + 44 bytes - -_ViridianCityText8: ; 0xa4833 - db $0, "VIRIDIAN CITY ", $4f - db "The Eternally", $55 - db "Green Paradise", $57 - -_ViridianCityText9: ; 0xa4860 - db $0, "TRAINER TIPS", $51 - db "Catch #MON", $4f - db "and expand your", $55 - db "collection!", $51 - db "The more you have,", $4f - db "the easier it is", $55 - db "to fight!", $57 - -_ViridianCityText10: ; 0xa48c3 - db $0, "TRAINER TIPS", $51 - db "The battle moves", $4f - db "of #MON are", $55 - db "limited by their", $55 - db "POWER POINTs, PP.", $51 - db "To replenish PP,", $4f - db "rest your tired", $55 - db "#MON at a", $55 - db "#MON CENTER!", $57 - -_ViridianCityText13: ; 0xa4949 - db $0, "VIRIDIAN CITY", $4f - db "#MON GYM", $57 - -_UnnamedText_19232: ; 0xa4961 - db $0, "The GYM's doors", $4f - db "are locked...", $57 -; 0xa4961 + 30 bytes - -_PewterCityText1: ; 0xa497f - db $0, "It's rumored that", $4f - db "CLEFAIRYs came", $55 - db "from the moon!", $51 - db "They appeared ", $4f - db "after MOON STONE", $55 - db "fell on MT.MOON.", $57 - -_PewterCityText2: ; 0xa49e0 - db $0, "There aren't many", $4f - db "serious #MON", $55 - db "trainers here!", $51 - db "They're all like", $4f - db "BUG CATCHERs,", $55 - db "but PEWTER GYM's", $55 - db "BROCK is totally", $55 - db "into it!", $57 - -_UnnamedText_193f1: ; 0xa4a56 - db $0, "Did you check out", $4f - db "the MUSEUM?", $57 -; 0xa4a56 + 31 bytes - -_UnnamedText_193f6: ; 0xa4a75 - db $0, "Weren't those", $4f - db "fossils from MT.", $55 - db "MOON amazing?", $57 -; 0xa4a75 + 45 bytes - -_UnnamedText_193fb: ; 0xa4aa2 - db $0, "Really?", $4f - db "You absolutely", $55 - db "have to go!", $57 -; 0xa4aa2 + 36 bytes - -_UnnamedText_19400: ; 0xa4ac6 - db $0, "It's right here!", $4f - db "You have to pay", $55 - db "to get in, but", $55 - db "it's worth it!", $55 - db "See you around!", $57 -; 0xa4ac6 + 78 bytes - -_UnnamedText_19427: ; 0xa4b14 - db $0, "Psssst!", $4f - db "Do you know what", $55 - db "I'm doing?", $57 -; 0xa4b14 + 36 bytes - -_UnnamedText_1942c: ; 0xa4b38 - db $0, "That's right!", $4f - db "It's hard work!", $57 -; 0xa4b38 + 29 bytes - -_UnnamedText_19431: ; 0xa4b55 - db $0, "I'm spraying REPEL", $4f - db "to keep #MON", $55 - db "out of my garden!", $57 -; 0xa4b55 + 50 bytes - -_UnnamedText_1945d: ; 0xa4b87 - db $0, "You're a trainer", $4f - db "right? BROCK's", $55 - db "looking for new", $55 - db "challengers!", $55 - db "Follow me!", $57 -; 0xa4b87 + 71 bytes - -_UnnamedText_19462: ; 0xa4bce - db $0, "If you have the", $4f - db "right stuff, go", $55 - db "take on BROCK!", $57 -; 0xa4bce + 48 bytes - -_PewterCityText6: ; 0xa4bfe - db $0, "TRAINER TIPS", $51 - db "Any #MON that", $4f - db "takes part in", $55 - db "battle, however", $55 - db "short, earns EXP!", $57 - -_PewterCityText7: ; 0xa4c4a - db $0, "NOTICE!", $51 - db "Thieves have been", $4f - db "stealing #MON", $55 - db "fossils at MT.", $55 - db "MOON! Please call", $55 - db "PEWTER POLICE", $55 - db "with any info!", $57 - -_PewterCityText10: ; 0xa4cb1 - db $0, "PEWTER MUSEUM", $4f - db "OF SCIENCE", $57 - -_PewterCityText11: ; 0xa4ccb - db $0, "PEWTER CITY", $4f - db "#MON GYM", $55 - db "LEADER: BROCK", $51 - db "The Rock Solid", $4f - db "#MON Trainer!", $57 - -_PewterCityText12: ; 0xa4d0c - db $0, "PEWTER CITY", $4f - db "A Stone Gray", $55 - db "City", $57 - -_UnnamedText_19668: ; 0xa4d2b - db $0, $53, ": Yo!", $4f - db $52, "!", $51 - db "You're still", $4f - db "struggling along", $55 - db "back here?", $51 - db "I'm doing great!", $4f - db "I caught a bunch", $55 - db "of strong and", $55 - db "smart #MON!", $51 - db "Here, let me see", $4f - db "what you caught,", $55 - db $52, "!", $57 -; 0xa4d2b + 147 bytes - -_UnnamedText_1966d: ; 0xa4dbe - db $0, "Hey!", $4f - db "Take it easy!", $55 - db "You won already!", $58 -; 0xa4dbe + 37 bytes - -_UnnamedText_19672: ; 0xa4de3 - db $0, "Heh!", $4f - db "You're no match", $55 - db "for my genius!", $58 -; 0xa4de3 + 36 bytes - -_UnnamedText_19677: ; 0xa4e07 - db $0, $53, ": Hey,", $4f - db "guess what?", $51 - db "I went to BILL's", $4f - db "and got him to", $55 - db "show me his rare", $55 - db "#MON!", $51 - db "That added a lot", $4f - db "of pages to my", $55 - db "#DEX!", $51 - db "After all, BILL's", $4f - db "world famous as a", $55 - db "#MANIAC!", $51 - db "He invented the", $4f - db "#MON Storage", $55 - db "System on PC!", $51 - db "Since you're using", $4f - db "his system, go", $55 - db "thank him!", $51 - db "Well, I better", $4f - db "get rolling!", $55 - db "Smell ya later!", $57 -; 0xa4e07 + 288 bytes - -_UnnamedText_196d9: ; 0xa4f27 - db $0, "Hey! Stay out!", $4f - db "It's not your", $55 - db "yard! Huh? Me?", $51 - db "I'm an innocent", $4f - db "bystander! Don't", $55 - db "you believe me?", $57 -; 0xa4f27 + 91 bytes - -ReceivedTM28Text: ; 0xa4f82 - db $0, $52, " recovered", $4f - db "TM28!@@" -; 0xa4f96 - -UnnamedText_a4f96: ; 0xa4f96 - db $0, $51 - db "I better get", $4f - db "moving! Bye!@@" -; 0xa4fb3 - -_UnnamedText_196e9: ; 0xa4fb3 - db $0, "Make room for", $4f - db "this!", $51 - db "I can't run until", $4f - db "I give it to you!", $57 -; 0xa4fb3 + 56 bytes - -_UnnamedText_196ee: ; 0xa4feb - db $0, "Stop!", $4f - db "I give up! I'll", $55 - db "leave quietly!", $58 -; 0xa4feb + 37 bytes - -_UnnamedText_196f3: ; 0xa5010 - db $0, "OK! I'll return", $4f - db "the TM I stole!", $58 -; 0xa5010 + 32 bytes - -_CeruleanCityText3: ; 0xa5030 - db $0, "You're a trainer", $4f - db "too? Collecting,", $55 - db "fighting, it's a", $55 - db "tough life.", $57 - -_CeruleanCityText4: ; 0xa506e - db $0, "That bush in", $4f - db "front of the shop", $55 - db "is in the way.", $51 - db "There might be a", $4f - db "way around.", $57 - -_CeruleanCityText5: ; 0xa50ba - db $0, "You're making an", $4f - db "encyclopedia on", $55 - db "#MON? That", $55 - db "sounds amusing.", $57 - -_CeruleanCityText6: ; 0xa50f6 - db $0, "The people here", $4f - db "were robbed.", $51 - db "It's obvious that", $4f - db "TEAM ROCKET is", $55 - db "behind this most", $55 - db "heinous crime!", $51 - db "Even our POLICE", $4f - db "force has trouble", $55 - db "with the ROCKETs!", $57 - -_UnnamedText_19730: ; 0xa5188 - db $0, "OK! SLOWBRO!", $4f - db "Use SONICBOOM!", $55 - db "Come on, SLOWBRO", $55 - db "pay attention!", $57 -; 0xa5188 + 61 bytes - -_UnnamedText_19735: ; 0xa51c5 - db $0, "SLOWBRO punch!", $4f - db "No! You blew it", $55 - db "again!", $57 -; 0xa51c5 + 39 bytes - -_UnnamedText_1973a: ; 0xa51ec - db $0, "SLOWBRO, WITHDRAW!", $4f - db "No! That's wrong!", $51 - db "It's so hard to", $4f - db "control #MON!", $51 - db "Your #MON's", $4f - db "obedience depends", $55 - db "on your abilities", $55 - db "as a trainer!", $57 -; 0xa51ec + 127 bytes - -_UnnamedText_1976f: ; 0xa526b - db $0, "SLOWBRO took a", $4f - db "snooze...", $57 -; 0xa526b + 26 bytes - -_UnnamedText_19774: ; 0xa5285 - db $0, "SLOWBRO is", $4f - db "loafing around...", $57 -; 0xa5285 + 30 bytes - -_UnnamedText_19779: ; 0xa52a3 - db $0, "SLOWBRO turned", $4f - db "away...", $57 -; 0xa52a3 + 24 bytes - -_UnnamedText_1977e: ; 0xa52bb - db $0, "SLOWBRO", $4f - db "ignored orders...", $57 -; 0xa52bb + 27 bytes - -_CeruleanCityText9: ; 0xa52d6 - db $0, "I want a bright", $4f - db "red BICYCLE!", $51 - db "I'll keep it at", $4f - db "home, so it won't", $55 - db "get dirty!", $57 - -_CeruleanCityText10: ; 0xa531f - db $0, "This is CERULEAN", $4f - db "CAVE! Horribly", $55 - db "strong #MON", $55 - db "live in there!", $51 - db "The #MON LEAGUE", $4f - db "champion is the", $55 - db "only person who", $55 - db "is allowed in!", $57 - -_CeruleanCityText12: ; 0xa539a - db $0, "CERULEAN CITY", $4f - db "A Mysterious,", $55 - db "Blue Aura", $55 - db "Surrounds It", $57 - -_CeruleanCityText13: ; 0xa53ce - db $0, "TRAINER TIPS", $51 - db "Pressing B Button", $4f - db "during evolution", $55 - db "cancels the whole", $55 - db "process.", $57 - -_CeruleanCityText16: ; 0xa541a - db $0, "Grass and caves", $4f - db "handled easily!", $55 - db "BIKE SHOP", $57 - -_CeruleanCityText17: ; 0xa5445 - db $0, "CERULEAN CITY", $4f - db "#MON GYM", $55 - db "LEADER: MISTY", $51 - db "The Tomboyish", $4f - db "Mermaid!", $57 - -_UnnamedText_4413c: ; 0xa5482 - db $0, "Do you believe in", $4f - db "GHOSTs?", $57 -; 0xa5482 + 27 bytes - -_UnnamedText_44141: ; 0xa549d - db $0, "Really? So there", $4f - db "are believers...", $57 -; 0xa549d + 35 bytes - -_UnnamedText_44146: ; 0xa54c0 - db $0, "Hahaha, I guess", $4f - db "not.", $51 - db "That white hand", $4f - db "on your shoulder,", $55 - db "it's not real.", $57 -; 0xa54c0 + 70 bytes - -_LavenderTownText2: ; 0xa5506 - db $0, "This town is known", $4f - db "as the grave site", $55 - db "of #MON.", $51 - db "Memorial services", $4f - db "are held in", $55 - db "#MON TOWER.", $57 - -_LavenderTownText3: ; 0xa555f - db $0, "GHOSTs appeared", $4f - db "in #MON TOWER.", $51 - db "I think they're", $4f - db "the spirits of", $55 - db "#MON that the", $55 - db "ROCKETs killed.", $57 - -_LavenderTownText4: ; 0xa55bb - db $0, "LAVENDER TOWN", $4f - db "The Noble Purple", $55 - db "Town", $57 - -_LavenderTownText5: ; 0xa55e0 - db $0, "New SILPH SCOPE!", $51 - db "Make the Invisible", $4f - db "Plain to See!", $51 - db "SILPH CO.", $57 - -_LavenderTownText8: ; 0xa561d - db $0, "LAVENDER VOLUNTEER", $4f - db "#MON HOUSE", $57 - -_LavenderTownText9: ; 0xa563c - db $0, "May the Souls of", $4f - db "#MON Rest Easy", $55 - db "#MON TOWER", $57 - -_VermilionCityText1: ; 0xa5668 - db $0, "We're careful", $4f - db "about pollution!", $51 - db "We've heard GRIMER", $4f - db "multiplies in", $55 - db "toxic sludge!", $57 - -_UnnamedText_198a7: ; 0xa56b5 - db $0, "Did you see S.S.", $4f - db "ANNE moored in", $55 - db "the harbor?", $57 -; 0xa56b5 + 45 bytes - -_UnnamedText_198ac: ; 0xa56e2 - db $0, "So, S.S.ANNE has", $4f - db "departed!", $51 - db "She'll be back in", $4f - db "about a year.", $57 -; 0xa56e2 + 59 bytes - -_UnnamedText_19904: ; 0xa571d - db $0, "Welcome to S.S.", $4f - db "ANNE!", $57 -; 0xa571d + 23 bytes - -_UnnamedText_19909: ; 0xa5734 - db $0, "Welcome to S.S.", $4f - db "ANNE!", $51 - db "Excuse me, do you", $4f - db "have a ticket?", $58 -; 0xa5734 + 56 bytes - -_UnnamedText_1990e: ; 0xa576c - db $0, $52, " flashed", $4f - db "the S.S.TICKET!", $51 - db "Great! Welcome to", $4f - db "S.S.ANNE!", $57 -; 0xa576c + 55 bytes - -_UnnamedText_19913: ; 0xa57a3 - db $0, $52, " doesn't", $4f - db "have the needed", $55 - db "S.S.TICKET.", $51 - db "Sorry!", $51 - db "You need a ticket", $4f - db "to get aboard.", $57 -; 0xa57a3 + 78 bytes - -_UnnamedText_19918: ; 0xa57f1 - db $0, "The ship set sail.", $57 -; 0xa57f1 + 20 bytes - -_VermilionCityText4: ; 0xa5805 - db $0, "I'm putting up a", $4f - db "building on this", $55 - db "plot of land.", $51 - db "My #MON is", $4f - db "tamping the land.", $57 - -_VermilionCityText5: ; 0xa5852 - db $0, "MACHOP: Guoh!", $4f - db "Gogogoh!@@" - -_VermilionCityText14: ; 0xa586b - db $0, $51 - db "A MACHOP is", $4f - db "stomping the land", $55 - db "flat.", $57 - -_VermilionCityText6: ; 0xa5891 - db $0, "S.S.ANNE is a", $4f - db "famous luxury", $55 - db "cruise ship.", $51 - db "We visit VERMILION", $4f - db "once a year.", $57 - -_VermilionCityText7: ; 0xa58db - db $0, "VERMILION CITY", $4f - db "The Port of", $55 - db "Exquisite Sunsets", $57 - -_VermilionCityText8: ; 0xa5909 - db $0, "NOTICE!", $51 - db "ROUTE 12 may be", $4f - db "blocked off by a", $55 - db "sleeping #MON.", $51 - db "Detour through", $4f - db "ROCK TUNNEL to", $55 - db "LAVENDER TOWN.", $51 - db "VERMILION POLICE", $57 - -_VermilionCityText11: ; 0xa5980 - db $0, "#MON FAN CLUB", $4f - db "All #MON fans", $55 - db "welcome!", $57 - -_VermilionCityText12: ; 0xa59a6 - db $0, "VERMILION CITY", $4f - db "#MON GYM", $55 - db "LEADER: LT.SURGE", $51 - db "The Lightning ", $4f - db "American!", $57 - -_VermilionCityText13: ; 0xa59e9 - db $0, "VERMILION HARBOR", $57 - -_CeladonCityText1: ; 0xa59fb - db $0, "I got my KOFFING", $4f - db "in CINNABAR!", $51 - db "It's nice, but it", $4f - db "breathes poison", $55 - db "when it's angry!", $57 - -_CeladonCityText2: ; 0xa5a4b - db $0, "Heheh! This GYM", $4f - db "is great! It's", $55 - db "full of women!", $57 - -_CeladonCityText3: ; 0xa5a79 - db $0, "The GAME CORNER", $4f - db "is bad for our", $55 - db "city's image!", $57 - -_CeladonCityText4: ; 0xa5aa6 - db $0, "Moan! I blew it", $4f - db "all at the slots!", $51 - db "I knew I should", $4f - db "have cashed in my", $55 - db "coins for prizes!", $57 - -_UnnamedText_199d2: ; 0xa5afd - db $0, "Hello, there!", $51 - db "I've seen you,", $4f - db "but I never had a", $55 - db "chance to talk!", $51 - db "Here's a gift for", $4f - db "dropping by!", $58 -; 0xa5afd + 93 bytes - -_UnnamedText_199d7: ; 0xa5b5a - db $0, $52, " received", $4f - db "@" - TX_RAM $cf4b - db $0, "!@@" -; 0xa5b6e - -_UnnamedText_199dd: ; 0xa5b6e - db $0, "TM41 teaches", $4f - db "SOFTBOILED!", $51 - db "Only one #MON", $4f - db "can use it!", $51 - db "That #MON is", $4f - db "CHANSEY!", $57 -; 0xa5b6e + 74 bytes - -_UnnamedText_199e2: ; 0xa5bb8 - db $0, "Oh, your pack is", $4f - db "full of items!", $57 -; 0xa5bb8 + 33 bytes - -_CeladonCityText6: ; 0xa5bd9 - db $0, "This is my trusted", $4f - db "pal, POLIWRATH!", $51 - db "It evolved from", $4f - db "POLIWHIRL when I", $55 - db "used WATER STONE!", $57 - -_CeladonCityText7: ; 0xa5c30 - db $0, "POLIWRATH: Ribi", $4f - db "ribit!@@" - -_CeladonCityText8: ; 0xa5c49 - db $0, "What are you", $4f - db "staring at?", $57 - -_CeladonCityText9: ; 0xa5c63 - db $0, "Keep out of TEAM", $4f - db "ROCKET's way!", $57 - -_CeladonCityText10: ; 0xa5c82 - db $0, "TRAINER TIPS", $51 - db "X ACCURACY boosts", $4f - db "the accuracy of", $55 - db "techniques!", $51 - db "DIRE HIT jacks up", $4f - db "the likelihood of", $55 - db "critical hits!", $51 - db "Get your items at", $4f - db "CELADON DEPT.", $55 - db "STORE!", $57 - -_CeladonCityText11: ; 0xa5d18 - db $0, "CELADON CITY", $4f - db "The City of", $55 - db "Rainbow Dreams", $57 - -_CeladonCityText13: ; 0xa5d41 - db $0, "CELADON CITY", $4f - db "#MON GYM", $55 - db "LEADER: ERIKA", $51 - db "The Nature Loving", $4f - db "Princess!", $57 - -_CeladonCityText14: ; 0xa5d82 - db $0, "CELADON MANSION", $57 - -_CeladonCityText15: ; 0xa5d93 - db $0, "Find what you", $4f - db "need at CELADON", $55 - db "DEPT. STORE!", $57 - -_CeladonCityText16: ; 0xa5dbf - db $0, "TRAINER TIPS", $51 - db "GUARD SPEC.", $4f - db "protects #MON", $55 - db "against SPECIAL", $55 - db "attacks such as", $55 - db "fire and water!", $51 - db "Get your items at", $4f - db "CELADON DEPT.", $55 - db "STORE!", $57 - -_CeladonCityText17: ; 0xa5e3e - db $0, "Coins exchanged", $4f - db "for prizes!", $55 - db "PRIZE EXCHANGE", $57 - -_CeladonCityText18: ; 0xa5e6a - db $0, "ROCKET GAME CORNER", $4f - db "The playground", $55 - db "for grown-ups!", $57 - -_FuchsiaCityText1: ; 0xa5e9c - db $0, "Did you try the", $4f - db "SAFARI GAME? Some", $55 - db "#MON can only", $55 - db "be caught there.", $57 - -_FuchsiaCityText2: ; 0xa5ede - db $0, "SAFARI ZONE has a", $4f - db "zoo in front of", $55 - db "the entrance.", $51 - db "Out back is the", $4f - db "SAFARI GAME for", $55 - db "catching #MON.", $57 - -_FuchsiaCityText3: ; 0xa5f3e - db $0, "ERIK: Where's", $4f - db "SARA? I said I'd", $55 - db "meet her here.", $57 - -_FuchsiaCityText4: ; 0xa5f6b - db $0, "That item ball in", $4f - db "there is really a", $55 - db "#MON.", $57 - -_FuchsiaCityText5: ; 0xa5f96 - db $0, "!", $57 - -_FuchsiaCityText11: ; 0xa5f99 - db $0, "FUCHSIA CITY", $4f - db "Behold! It's", $55 - db "Passion Pink!", $57 - -_FuchsiaCityText13: ; 0xa5fc1 - db $0, "SAFARI GAME", $4f - db "#MON-U-CATCH!", $57 - -_FuchsiaCityText16: ; 0xa5fdc - db $0, "SAFARI ZONE", $4f - db "WARDEN's HOME", $57 - -_FuchsiaCityText17: ; 0xa5ff6 - db $0, "#MON PARADISE", $4f - db "SAFARI ZONE", $57 - -_FuchsiaCityText18: ; 0xa6011 - db $0, "FUCHSIA CITY", $4f - db "#MON GYM", $55 - db "LEADER: KOGA", $51 - db "The Poisonous", $4f - db "Ninja Master", $57 - -_UnnamedText_19a9f: ; 0xa6050 - db $0, "Name: CHANSEY", $51 - db "Catching one is", $4f - db "all up to chance.", $58 -; 0xa6050 + 49 bytes - -_UnnamedText_19ab3: ; 0xa6081 - db $0, "Name: VOLTORB", $51 - db "The very image of", $4f - db "a # BALL.", $58 -; 0xa6081 + 43 bytes - -_UnnamedText_19ac7: ; 0xa60ac - db $0, "Name: KANGASKHAN", $51 - db "A maternal #MON", $4f - db "that raises its", $55 - db "young in a pouch", $55 - db "on its belly.", $58 -; 0xa60ac + 81 bytes - -_UnnamedText_19adb: ; 0xa60fd - db $0, "Name: SLOWPOKE", $51 - db "Friendly and very", $4f - db "slow moving.", $58 -; 0xa60fd + 47 bytes - -_UnnamedText_19aef: ; 0xa612c - db $0, "Name: LAPRAS", $51 - db "A.K.A. the king", $4f - db "of the seas.", $58 -; 0xa612c + 43 bytes - -_UnnamedText_19b20: ; 0xa6157 - db $0, "Name: OMANYTE", $51 - db "A #MON that", $4f - db "was resurrected", $55 - db "from a fossil.", $58 -; 0xa6157 + 58 bytes - -_UnnamedText_19b25: ; 0xa6191 - db $0, "Name: KABUTO", $51 - db "A #MON that", $4f - db "was resurrected", $55 - db "from a fossil.", $58 -; 0xa6191 + 57 bytes - -_UnnamedText_19b2a: ; 0xa61ca - db $0, "...", $57 -; 0xa61ca + 5 bytes - -_CinnabarIslandText8: ; 0xa61cf - db $0, "The door is", $4f - db "locked...", $57 -; 0xa61cf + 23 bytes - -_CinnabarIslandText1: ; 0xa61e6 - db $0, "CINNABAR GYM's", $4f - db "BLAINE is an odd", $55 - db "man who has lived", $55 - db "here for decades.", $57 - -_CinnabarIslandText2: ; 0xa622a - db $0, "Scientists conduct", $4f - db "experiments in", $55 - db "the burned out", $55 - db "building.", $57 - -_CinnabarIslandText3: ; 0xa6266 - db $0, "CINNABAR ISLAND", $4f - db "The Fiery Town of", $55 - db "Burning Desire", $57 - -_CinnabarIslandText6: ; 0xa6298 - db $0, "#MON LAB", $57 - -_CinnabarIslandText7: ; 0xa62a2 - db $0, "CINNABAR ISLAND", $4f - db "#MON GYM", $55 - db "LEADER: BLAINE", $51 - db "The Hot-Headed", $4f - db "Quiz Master!", $57 - -_SaffronCityText1: ; 0xa62e7 - db $0, "What do you want?", $4f - db "Get lost!", $57 - -_SaffronCityText2: ; 0xa6304 - db $0, "BOSS said he'll", $4f - db "take this town!", $57 - -_SaffronCityText3: ; 0xa6324 - db $0, "Get out of the", $4f - db "way!", $57 - -_SaffronCityText4: ; 0xa6339 - db $0, "SAFFRON belongs", $4f - db "to TEAM ROCKET!", $57 - -_SaffronCityText5: ; 0xa635a - db $0, "Being evil makes", $4f - db "me feel so alive!", $57 - -_SaffronCityText6: ; 0xa637e - db $0, "Ow! Watch where", $4f - db "you're walking!", $57 - -_SaffronCityText7: ; 0xa639e - db $0, "With SILPH under", $4f - db "control, we can", $55 - db "exploit #MON", $55 - db "around the world!", $57 - -_SaffronCityText8: ; 0xa63df - db $0, "You beat TEAM", $4f - db "ROCKET all alone?", $55 - db "That's amazing!", $57 - -_SaffronCityText9: ; 0xa640f - db $0, "Yeah! TEAM ROCKET", $4f - db "is gone!", $55 - db "It's safe to go", $55 - db "out again!", $57 - -_SaffronCityText10: ; 0xa6445 - db $0, "People should be", $4f - db "flocking back to", $55 - db "SAFFRON now.", $57 - -_SaffronCityText11: ; 0xa6475 - db $0, "I flew here on my", $4f - db "PIDGEOT when I", $55 - db "read about SILPH.", $51 - db "It's already over?", $4f - db "I missed the", $55 - db "media action.", $57 - -_SaffronCityText12: ; 0xa64d6 - db $0, "PIDGEOT: Bi bibii!@@" - -_SaffronCityText13: ; 0xa64eb - db $0, "I saw ROCKET", $4f - db "BOSS escaping", $55 - db "SILPH's building.", $57 - -_SaffronCityText14: ; 0xa6518 - db $0, "I'm a security", $4f - db "guard.", $51 - db "Suspicious kids I", $4f - db "don't allow in!", $57 - -_SaffronCityText15: ; 0xa654f - db $0, "...", $4f - db "Snore...", $51 - db "Hah! He's taking", $4f - db "a snooze!", $57 - -_SaffronCityText16: ; 0xa6577 - db $0, "SAFFRON CITY", $4f - db "Shining, Golden", $55 - db "Land of Commerce", $57 - -_SaffronCityText17: ; 0xa65a6 - db $0, "FIGHTING DOJO", $57 - -_SaffronCityText18: ; 0xa65b5 - db $0, "SAFFRON CITY", $4f - db "#MON GYM", $55 - db "LEADER: SABRINA", $51 - db "The Master of", $4f - db "Psychic #MON!", $57 - -_SaffronCityText20: ; 0xa65f8 - db $0, "TRAINER TIPS", $51 - db "FULL HEAL cures", $4f - db "all ailments like", $55 - db "sleep and burns.", $51 - db "It costs a bit", $4f - db "more, but it's", $55 - db "more convenient.", $57 - -_SaffronCityText21: ; 0xa6667 - db $0, "TRAINER TIPS", $51 - db "New GREAT BALL", $4f - db "offers improved", $55 - db "capture rates.", $51 - db "Try it on those", $4f - db "hard-to-catch", $55 - db "#MON.", $57 - -_SaffronCityText22: ; 0xa66c7 - db $0, "SILPH CO.", $4f - db "OFFICE BUILDING", $57 - -_SaffronCityText24: ; 0xa66e2 - db $0, "MR.PSYCHIC's", $4f - db "HOUSE", $57 - -_SaffronCityText25: ; 0xa66f5 - db $0, "SILPH's latest", $4f - db "product!", $51 - db "Release to be", $4f - db "determined...", $57 - -_ItemUseBallText00: - db 0,"It dodged the",$4F - db "thrown BALL!",$51 - db "This #MON",$4F - db "can't be caught!",$58 - -_ItemUseBallText01: - db 0,"You missed the",$4F - db "#MON!",$58 - -_ItemUseBallText02: - db 0,"Darn! The #MON",$4F - db "broke free!",$58 - -_ItemUseBallText03: - db 0,"Aww! It appeared",$4F - db "to be caught! ",$58 - -_ItemUseBallText04: - db 0,"Shoot! It was so",$4F - db "close too!",$58 - -_ItemUseBallText05: - db 0,"All right!",$4F,"@",1 - dw $CFDA - db 0," was",$55 - db "caught!@@" - -_ItemUseBallText07: - db 1 - dw $DE06 - db 0," was",$4F - db "transferred to",$55 - db "BILL's PC!",$58 - -_ItemUseBallText08: - db 1 - dw $DE06 - db 0," was",$4F - db "transferred to",$55 - db "someone's PC!",$58 - -_ItemUseBallText06: - db 0,"New #DEX data",$4F - db "will be added for",$55,"@",1 - dw $CFDA - db 0,"!@@" - -_UnnamedText_da4c: ; 0xa685e - db $0, $52, " got on", $4f - db "@" -; 0xa685e + 11 bytes - -UnnamedText_a6869: ; 0xa6869 - TX_RAM $cd6d - db $0, "!", $58 -; 0xa686f - -_UnnamedText_da51: ; 0xa686f - db $0, "There's no place", $4f - db "to get off!", $58 -; 0xa686f + 29 bytes - -_UnnamedText_df24: ; 0xa688c - TX_RAM $cd6d - db $0, "'s", $4f - db "@" -; 0xa688c + 7 bytes - -UnnamedText_a6893: ; 0xa6893 - TX_RAM $cf4b - db $0, " rose.", $58 -; 0xa689e - -_UnnamedText_df29: ; 0xa689e - db $0, "It won't have any", $4f - db "effect.", $58 -; 0xa689e + 26 bytes - -_UnnamedText_dfa5: ; 0xa68b8 - db $0, $52, " threw", $4f - db "some BAIT.", $57 -; 0xa68b8 + 20 bytes - -_UnnamedText_dfaa: ; 0xa68cc - db $0, $52, " threw a", $4f - db "ROCK.", $57 -; 0xa68cc + 17 bytes - -_UnnamedText_e20b: ; 0xa68dd - db $0, "Played the #", $4f - db "FLUTE.", $51 - db "Now, that's a", $4f - db "catchy tune!", $58 -; 0xa68dd + 47 bytes - -_UnnamedText_e210: ; 0xa690c - db $0, "All sleeping", $4f - db "#MON woke up.", $58 -; 0xa690c + 28 bytes - -UnnamedText_a6928: ; 0xa6928 - db $0, $52, " played the", $4f - db "# FLUTE.@@" -; 0xa6940 - -_UnnamedText_e247: ; 0xa6940 - db $0, "Coins", $4f - db "@" -; 0xa6940 + 8 bytes - db $2, $a4, $d5, $c2 -; 0xa694c - db $0, " ", $58 -; 0xa694f - -_UnnamedText_e30d: ; 0xa694f - db $0, "Yes! ITEMFINDER", $4f - db "indicates there's", $55 - db "an item nearby.", $58 -; 0xa694f + 50 bytes - -_UnnamedText_e312: ; 0xa6981 - db $0, "Nope! ITEMFINDER", $4f - db "isn't responding.", $58 -; 0xa6981 + 35 bytes - -_UnnamedText_e45d: ; 0xa69a4 - db $0, "Raise PP of which", $4f - db "technique?", $57 -; 0xa69a4 + 30 bytes - -_UnnamedText_e462: ; 0xa69c2 - db $0, "Restore PP of", $4f - db "which technique?", $57 -; 0xa69c2 + 32 bytes - -_UnnamedText_e467: ; 0xa69e2 - TX_RAM $cf4b - db $0, "'s PP", $4f - db "is maxed out.", $58 -; 0xa69e2 + 23 bytes - -_UnnamedText_e46c: ; 0xa69f9 - TX_RAM $cf4b - db $0, "'s PP", $4f - db "increased.", $58 -; 0xa69f9 + 20 bytes - -_UnnamedText_e471: ; 0xa6a0d - db $0, "PP was restored.", $58 -; 0xa6a0d + 18 bytes - -UnnamedText_a6a1f: ; 0xa6a1f - db $0, "Booted up a TM!", $58 -; 0xa6a30 - -UnnamedText_a6a30: ; 0xa6a30 - db $0, "Booted up an HM!", $58 -; 0xa6a42 - -UnnamedText_a6a42: ; 0xa6a42 - db $0, "It contained", $4f - db "@" - TX_RAM $cf4b - db $0, "!", $51 - db "Teach @" - TX_RAM $cf4b - db $0, $4f - db "to a #MON?", $57 -; 0xa6a6e - -UnnamedText_a6a6e: ; 0xa6a6e - TX_RAM $cd6d - db $0, " is not", $4f - db "compatible with", $55 - db "@" - TX_RAM $cf4b - db $0, ".", $51 - db "It can't learn", $4f - db "@" -; 0xa6a8b + 21 bytes = 0xa6aa0 - -UnnamedText_a6aa0: ; 0xa6aa0 - TX_RAM $cf4b - db $0, ".", $58 -; 0xa6aa0 + 6 bytes = 0xa6aa6 - -UnnamedText_a6aa6: ; 0xa6aa6 - db $0, "OAK: ", $52, "!", $4f - db "This isn't the", $55 - db "time to use that! ", $58 -; 0xa6aa6 + 42 bytes = 0xa6ad0 - -UnnamedText_a6ad0: ; 0xa6ad0 - db $0, "This isn't yours", $4f - db "to use!", $58 -; 0xa6ad0 + 25 bytes = 0xa6ae9 - -UnnamedText_a6ae9: ; 0xa6ae9 - db $0, "It won't have any", $4f - db "effect.", $58 -; 0xa6ae9 + 26 bytes = 0xa6b03 - -UnnamedText_a6b03: ; 0xa6b03 - db $0, "The trainer", $4f - db "blocked the BALL!", $58 -; 0xa6b03 + 31 bytes = 0xa6b22 - -UnnamedText_a6b22: ; 0xa6b22 - db $0, "Don't be a thief!", $58 -; 0xa6b22 + 18 bytes = 0xa6b34 - -UnnamedText_a6b34: ; 0xa6b34 - db $0, "No cycling", $4e, "allowed here.", $58 -; 0xa6b34 + 26 bytes = 0xa6b4e - -UnnamedText_a6b4e: ; 0xa6b4e - db $0, "No SURFing on", $4f - db "@" -; 0xa6b4e + 16 bytes = 0xa6b5e - -UnnamedText_a6b5e: ; 0xa6b5e - TX_RAM $cd6d - db $0, " here!", $58 -; 0xa6b5e + 11 bytes = 0xa6b69 - -UnnamedText_a6b69: ; 0xa6b69 - db $0, "The #MON BOX", $4f - db "is full! Can't", $55 - db "use that item!", $58 -; 0xa6b69 + 43 bytes = 0xa6b94 - -SECTION "bank2A",DATA,BANK[$2A] - -_ItemUseText001: - db 0,$52," used@@" - -_ItemUseText002: ; 0xa8009 - TX_RAM $cf4b - db $0, "!", $57 -; 0xa800e - -UnnamedText_a800f: ; 0xa800f - db $0, $52, " got on the@@" -; 0xa801e - -_UnnamedText_e5f7: ; 0xa801e - TX_RAM $cf4b - db $0, "!", $58 -; 0xa801e + 6 bytes - -UnnamedText_a8024: ; 0xa8024 - db $0, $52, " got off@@" -; 0xa8030 - -_UnnamedText_e601: ; 0xa8030 - db $0, "the @" - TX_RAM $cf4b - db $0, ".", $58 -; 0xa803c - -_UnnamedText_e755: ; 0xa803c - db $0, "Threw away", $4f - db "@" -; 0xa803c + 13 bytes - -UnnamedText_a8049: ; 0xa8049 - TX_RAM $cd6d - db $0, ".", $58 -; 0xa804f - -_UnnamedText_e75a: ; 0xa804f - db $0, "Is it OK to toss", $4f - db "@" -; 0xa804f + 19 bytes - -UnnamedText_a8062: ; 0xa8062 - TX_RAM $cf4b - db $0, "?", $58 -; 0xa8068 - -_UnnamedText_e75f: ; 0xa8068 - db $0, "That's too impor-", $4f - db "tant to toss!", $58 -; 0xa8068 + 32 bytes - -_UnnamedText_2fe3b: ; 0xa8088 - TX_RAM $cd6d - db $0, " knows", $4f - db "@" -; 0xa8088 + 12 bytes - -UnnamedText_a8094: ; 0xa8094 - TX_RAM $cf4b - db $0, "!", $58 -; 0xa809a - -_UnnamedText_71d88: ; 0xa809a - db $0, "Okay, connect the", $4f - db "cable like so!", $58 -; 0xa809a + 34 bytes - -_UnnamedText_71d8d: ; 0xa80bc - db $0, $52, " traded", $4f - db "@" - -UnnamedText_a80c7: ; 0xa80c7 - TX_RAM $cd13 - db $0, " for", $55 - db "@" - TX_RAM $cd1e - db $0, "!@@" -; 0xa80d8 - -_UnnamedText_71d94: ; 0xa80d8 - db $0, "I'm looking for", $4f - db "@" -; 0xa80d8 + 17 bytes - -UnnamedText_a80e9: ; 0xa80e9 - TX_RAM $cd13 - db $0, "! Wanna", $51 - db "trade one for", $4f - db "@" - TX_RAM $cd1e - db $0, "? ", $57 -; 0xa810b - -_UnnamedText_71d99: ; 0xa810b - db $0, "Awww!", $4f - db "Oh well...", $57 -; 0xa810b + 18 bytes - -_UnnamedText_71d9e: ; 0xa811d - db $0, "What? That's not", $4f - db "@" -; 0xa811d + 18 bytes - -UnnamedText_a812f: ; 0xa812f - TX_RAM $cd13 - db $0, "!", $51 - db "If you get one,", $4f - db "come back here!", $57 -; 0xa8155 - -_UnnamedText_71da3: ; 0xa8155 - db $0, "Hey thanks!", $57 -; 0xa8155 + 13 bytes - -_UnnamedText_71da8: ; 0xa8162 - db $0, "Isn't my old", $4f - db "@" -; 0xa8162 + 14 bytes - -UnnamedText_a8170: ; 0xa8170 - TX_RAM $cd1e - db $0, " great?", $57 -; 0xa8170 - -_UnnamedText_71dad: ; 0xa817c - db $0, "Hello there! Do", $4f - db "you want to trade", $51 - db "your @" -; 0xa817c + 41 bytes - -UnnamedText_a81a5: ; 0xa81a5 - TX_RAM $cd13 - db $0, $4f - db "for @" - TX_RAM $cd1e - db $0, "?", $57 -; 0xa81b5 - -_UnnamedText_71db2: ; 0xa81b5 - db $0, "Well, if you", $4f - db "don't want to...", $57 -; 0xa81b5 + 30 bytes - -_UnnamedText_71db7: ; 0xa81d3 - db $0, "Hmmm? This isn't", $4f - db "@" - TX_RAM $cd13 - db $0, ".", $51 - db "Think of me when", $4f - db "you get one.", $57 -; 0xa8209 - -_UnnamedText_71dbc: ; 0xa8209 - db $0, "Thanks!", $57 -; 0xa8209 + 9 bytes - -_UnnamedText_71dc1: ; 0xa8212 - db $0, "The @" - TX_RAM $cd13 - db $0, " you", $4f - db "traded to me", $51 - db "went and evolved!", $57 -; 0xa8240 - -_UnnamedText_71dc6: ; 0xa8240 - db $0, "Hi! Do you have", $4f - db "@" - TX_RAM $cd13 - db $0, "?", $51 - db "Want to trade it", $4f - db "for @" - TX_RAM $cd1e - db $0, "?", $57 -; 0xa8274 - -_UnnamedText_71dcb: ; 0xa8274 - db $0, "That's too bad.", $57 -; 0xa8274 + 16 bytes - -_UnnamedText_71dd0: ; 0xa8284 - db $0, "...This is no", $4f - db "@" - TX_RAM $cd13 - db $0, ".", $51 - db "If you get one,", $4f - db "trade it with me!", $57 -; 0xa82bc - -_UnnamedText_71dd5: ; 0xa82bc - db $0, "Thanks pal!", $57 -; 0xa82bc + 13 bytes - -_UnnamedText_71dda: ; 0xa82c9 - db $0, "How is my old", $4f - db "@" - TX_RAM $cd1e - db $0, "?", $51 - db "My @" - TX_RAM $cd13 - db $0, " is", $4f - db "doing great!", $57 -; 0xa82f8 - -; XXX -db $0, $93, $a7, $a4, $b1, $a4, $7f, $a8, $b2, $ad, $be, $4f -db $a0, $ad, $b8, $b3, $a7, $a8, $ad, $a6, $7f, $b3, $ae, $7f, $82, $94, $93, $e7, $58 -db $1, $6d, $cd -db $0, $7f, $a7, $a0, $a2, $aa, $a4, $a3, $4f -db $a0, $b6, $a0, $b8, $7f, $b6, $a8, $b3, $a7, $7f, $82, $94, $93, $e7, $58 - -SECTION "bank2B",DATA,BANK[$2B] - -INCLUDE "text/pokedex.tx" - -SECTION "bank2C",DATA,BANK[$2C] - -MoveNames: ; 4000 - db "POUND@" - db "KARATE CHOP@" - db "DOUBLESLAP@" - db "COMET PUNCH@" - db "MEGA PUNCH@" - db "PAY DAY@" - db "FIRE PUNCH@" - db "ICE PUNCH@" - db "THUNDERPUNCH@" - db "SCRATCH@" - db "VICEGRIP@" - db "GUILLOTINE@" - db "RAZOR WIND@" - db "SWORDS DANCE@" - db "CUT@" - db "GUST@" - db "WING ATTACK@" - db "WHIRLWIND@" - db "FLY@" - db "BIND@" - db "SLAM@" - db "VINE WHIP@" - db "STOMP@" - db "DOUBLE KICK@" - db "MEGA KICK@" - db "JUMP KICK@" - db "ROLLING KICK@" - db "SAND-ATTACK@" - db "HEADBUTT@" - db "HORN ATTACK@" - db "FURY ATTACK@" - db "HORN DRILL@" - db "TACKLE@" - db "BODY SLAM@" - db "WRAP@" - db "TAKE DOWN@" - db "THRASH@" - db "DOUBLE-EDGE@" - db "TAIL WHIP@" - db "POISON STING@" - db "TWINEEDLE@" - db "PIN MISSILE@" - db "LEER@" - db "BITE@" - db "GROWL@" - db "ROAR@" - db "SING@" - db "SUPERSONIC@" - db "SONICBOOM@" - db "DISABLE@" - db "ACID@" - db "EMBER@" - db "FLAMETHROWER@" - db "MIST@" - db "WATER GUN@" - db "HYDRO PUMP@" - db "SURF@" - db "ICE BEAM@" - db "BLIZZARD@" - db "PSYBEAM@" - db "BUBBLEBEAM@" - db "AURORA BEAM@" - db "HYPER BEAM@" - db "PECK@" - db "DRILL PECK@" - db "SUBMISSION@" - db "LOW KICK@" - db "COUNTER@" - db "SEISMIC TOSS@" - db "STRENGTH@" - db "ABSORB@" - db "MEGA DRAIN@" - db "LEECH SEED@" - db "GROWTH@" - db "RAZOR LEAF@" - db "SOLARBEAM@" - db "POISONPOWDER@" - db "STUN SPORE@" - db "SLEEP POWDER@" - db "PETAL DANCE@" - db "STRING SHOT@" - db "DRAGON RAGE@" - db "FIRE SPIN@" - db "THUNDERSHOCK@" - db "THUNDERBOLT@" - db "THUNDER WAVE@" - db "THUNDER@" - db "ROCK THROW@" - db "EARTHQUAKE@" - db "FISSURE@" - db "DIG@" - db "TOXIC@" - db "CONFUSION@" - db "PSYCHIC@" - db "HYPNOSIS@" - db "MEDITATE@" - db "AGILITY@" - db "QUICK ATTACK@" - db "RAGE@" - db "TELEPORT@" - db "NIGHT SHADE@" - db "MIMIC@" - db "SCREECH@" - db "DOUBLE TEAM@" - db "RECOVER@" - db "HARDEN@" - db "MINIMIZE@" - db "SMOKESCREEN@" - db "CONFUSE RAY@" - db "WITHDRAW@" - db "DEFENSE CURL@" - db "BARRIER@" - db "LIGHT SCREEN@" - db "HAZE@" - db "REFLECT@" - db "FOCUS ENERGY@" - db "BIDE@" - db "METRONOME@" - db "MIRROR MOVE@" - db "SELFDESTRUCT@" - db "EGG BOMB@" - db "LICK@" - db "SMOG@" - db "SLUDGE@" - db "BONE CLUB@" - db "FIRE BLAST@" - db "WATERFALL@" - db "CLAMP@" - db "SWIFT@" - db "SKULL BASH@" - db "SPIKE CANNON@" - db "CONSTRICT@" - db "AMNESIA@" - db "KINESIS@" - db "SOFTBOILED@" - db "HI JUMP KICK@" - db "GLARE@" - db "DREAM EATER@" - db "POISON GAS@" - db "BARRAGE@" - db "LEECH LIFE@" - db "LOVELY KISS@" - db "SKY ATTACK@" - db "TRANSFORM@" - db "BUBBLE@" - db "DIZZY PUNCH@" - db "SPORE@" - db "FLASH@" - db "PSYWAVE@" - db "SPLASH@" - db "ACID ARMOR@" - db "CRABHAMMER@" - db "EXPLOSION@" - db "FURY SWIPES@" - db "BONEMERANG@" - db "REST@" - db "ROCK SLIDE@" - db "HYPER FANG@" - db "SHARPEN@" - db "CONVERSION@" - db "TRI ATTACK@" - db "SUPER FANG@" - db "SLASH@" - db "SUBSTITUTE@" - db "STRUGGLE@" diff --git a/extras/analyze_incbins.py b/extras/analyze_incbins.py index ef5405ef..3f0f9093 100644 --- a/extras/analyze_incbins.py +++ b/extras/analyze_incbins.py @@ -27,7 +27,7 @@ def offset_to_pointer(offset): if type(offset) == str: offset = int(offset, base) return int(offset) % 0x4000 + 0x4000 -def load_asm(filename="../common.asm"): +def load_asm(filename="../main.asm"): "loads the asm source code into memory" global asm asm = open(filename, "r").read().split("\n") @@ -86,7 +86,7 @@ def process_incbins(): def find_incbin_to_replace_for(address): """returns a line number for which incbin to edit - if you were to insert bytes into common.asm""" + if you were to insert bytes into main.asm""" if type(address) == str: address = int(address, 16) for incbin_key in processed_incbins.keys(): @@ -155,7 +155,7 @@ def generate_diff_insert(line_number, newline): newfile_fh.close() try: - diffcontent = subprocess.check_output("diff -u ../common.asm " + newfile_filename, shell=True) + diffcontent = subprocess.check_output("diff -u ../main.asm " + newfile_filename, shell=True) except AttributeError, exc: raise exc except Exception, exc: @@ -195,7 +195,7 @@ def insert_map_header_asm(map_id): fh.close() #apply the patch - os.system("patch ../common.asm temp.patch") + os.system("patch ../main.asm temp.patch") #remove the patch os.system("rm temp.patch") @@ -230,8 +230,8 @@ def apply_diff(diff, try_fixing=True): fh.close() #apply the patch - os.system("cp ../common.asm ../common1.asm") - os.system("patch ../common.asm temp.patch") + os.system("cp ../main.asm ../main1.asm") + os.system("patch ../main.asm temp.patch") #remove the patch os.system("rm temp.patch") @@ -242,7 +242,7 @@ def apply_diff(diff, try_fixing=True): return True except Exception, exc: if try_fixing: - os.system("mv ../common1.asm ../common.asm") + os.system("mv ../main1.asm ../main.asm") return False def index(seq, f): diff --git a/extras/insert_texts.py b/extras/insert_texts.py index 30163b4d..c3133bf8 100644 --- a/extras/insert_texts.py +++ b/extras/insert_texts.py @@ -610,7 +610,7 @@ def scan_for_map_scripts_pointer(): def scan_rom_for_tx_fars_and_insert(): """calls analyze_texts.scan_rom_for_tx_fars() - looks through INCBIN'd addresses from common.asm, + looks through INCBIN'd addresses from main.asm, finds TX_FARs that aren't included yet. """ x = 0 diff --git a/extras/make_map_size_constants.py b/extras/make_map_size_constants.py index c40a4514..c4b13da7 100644 --- a/extras/make_map_size_constants.py +++ b/extras/make_map_size_constants.py @@ -23,8 +23,8 @@ def get_map_size_constants(do_sed=False): output += constant_name + "_WIDTH EQU $%.2x\n" % (width) output += "\n" - sed_lines += "sed -i 's/" + base_name + "Height/" + constant_name + "_HEIGHT" + "/g' common.asm" + "\n" - sed_lines += "sed -i 's/" + base_name + "Width/" + constant_name + "_WIDTH" + "/g' common.asm" + "\n" + sed_lines += "sed -i 's/" + base_name + "Height/" + constant_name + "_HEIGHT" + "/g' main.asm" + "\n" + sed_lines += "sed -i 's/" + base_name + "Width/" + constant_name + "_WIDTH" + "/g' main.asm" + "\n" if do_sed: return sed_lines diff --git a/extras/replace_dimensions.py b/extras/replace_dimensions.py index 9d4df895..cdd72906 100644 --- a/extras/replace_dimensions.py +++ b/extras/replace_dimensions.py @@ -39,7 +39,7 @@ asm = None asm_lines = None def load_asm(): global asm, asm_lines - asm = open("../common.asm", "r").read() + asm = open("../main.asm", "r").read() asm_lines = asm.split("\n") def get_xy_movement_of_connection_strip(map_id, connection_id): diff --git a/extras/romvisualizer.py b/extras/romvisualizer.py index 7e80f786..b3fd7cd5 100644 --- a/extras/romvisualizer.py +++ b/extras/romvisualizer.py @@ -6,12 +6,12 @@ import os changeset_numbers = range(266, 635) def take_snapshot_image(changeset_number): - "turn common.asm into an image at a certain version" + "turn main.asm into an image at a certain version" - print "reverting common.asm to r" + str(changeset_number) + print "reverting main.asm to r" + str(changeset_number) #revert the file - os.system("hg revert ../common.asm -r" + str(changeset_number)) + os.system("hg revert ../main.asm -r" + str(changeset_number)) print "generating the image.." diff --git a/main.asm b/main.asm new file mode 100644 index 00000000..97dd3d57 --- /dev/null +++ b/main.asm @@ -0,0 +1,72641 @@ +INCLUDE "constants.asm" + +; the rst vectors are unused +SECTION "rst00",HOME[0] + db $FF +SECTION "rst08",HOME[8] + db $FF +SECTION "rst10",HOME[$10] + db $FF +SECTION "rst18",HOME[$18] + db $FF +SECTION "rst20",HOME[$20] + db $FF +SECTION "rst28",HOME[$28] + db $FF +SECTION "rst30",HOME[$30] + db $FF +SECTION "rst38",HOME[$38] + db $FF + +; interrupts +SECTION "vblank",HOME[$40] + jp $2024 +SECTION "lcdc",HOME[$48] + db $FF +SECTION "timer",HOME[$50] + jp $2306 +SECTION "serial",HOME[$58] + jp $2125 +SECTION "joypad",HOME[$60] + reti + +SECTION "bank0",HOME[$61] + +DisableLCD: ; $0061 + xor a + ld [$ff0f],a + ld a,[$ffff] + ld b,a + res 0,a + ld [$ffff],a +.jr0\@ + ld a,[$ff44] + cp a,$91 + jr nz,.jr0\@ + ld a,[$ff40] + and a,$7f ; res 7,a + ld [$ff40],a + ld a,b + ld [$ffff],a + ret + +EnableLCD: ; $007b + ld a,[$ff40] + set 7,a + ld [$ff40],a + ret + +CleanLCD_OAM: ; $0082 + xor a + ld hl,$c300 + ld b,$a0 +.jr0\@ + ld [hli],a + dec b + jr nz,.jr0\@ + ret + +ResetLCD_OAM: ; $008d + ld a,$a0 + ld hl,$c300 + ld de,$0004 + ld b,$28 +.jr0\@ + ld [hl],a + add hl,de + dec b + jr nz,.jr0\@ + ret + +FarCopyData: ; 009D +; copy bc bytes of data from a:hl to de + ld [$CEE9],a ; save future bank # for later + ld a,[$FFB8] ; get current bank # + push af + ld a,[$CEE9] ; get future bank #, switch + ld [$FFB8],a + ld [$2000],a + call CopyData + pop af ; okay, done, time to switch back + ld [$FFB8],a + ld [$2000],a + ret +CopyData: ; 00B5 +; copy bc bytes of data from hl to de + ld a,[hli] + ld [de],a + inc de + dec bc + ld a,c + or b + jr nz,CopyData + ret + +SECTION "romheader",HOME[$100] +nop +jp Start + +Section "start",HOME[$150] +Start: ; 0x150 + cp $11 ; value that indicates Gameboy Color + jr z,.gbcDetected\@ + xor a + jr .storeValue\@ +.gbcDetected\@ + ld a,$00 +.storeValue\@ + ld [$cf1a],a ; same value ($00) either way + jp InitGame + +; this function directly reads the joypad I/O register +; it reads many times in order to give the joypad a chance to stabilize +; it saves a result in [$fff8] in the following format +; (set bit indicates pressed button) +; bit 0 - A button +; bit 1 - B button +; bit 2 - Select button +; bit 3 - Start button +; bit 4 - Right +; bit 5 - Left +; bit 6 - Up +; bit 7 - Down +ReadJoypadRegister: ; 15F + ld a,%00100000 ; select direction keys + ld c,$00 + ld [rJOYP],a + ld a,[rJOYP] + ld a,[rJOYP] + ld a,[rJOYP] + ld a,[rJOYP] + ld a,[rJOYP] + ld a,[rJOYP] + cpl ; complement the result so that a set bit indicates a pressed key + and a,%00001111 + swap a ; put direction keys in upper nibble + ld b,a + ld a,%00010000 ; select button keys + ld [rJOYP],a + ld a,[rJOYP] + ld a,[rJOYP] + ld a,[rJOYP] + ld a,[rJOYP] + ld a,[rJOYP] + ld a,[rJOYP] + ld a,[rJOYP] + ld a,[rJOYP] + ld a,[rJOYP] + ld a,[rJOYP] + cpl ; complement the result so that a set bit indicates a pressed key + and a,%00001111 + or b ; put button keys in lower nibble + ld [$fff8],a ; save joypad state + ld a,%00110000 ; unselect all keys + ld [rJOYP],a + ret + +; function to update the joypad state variables +; output: +; [$ffb2] = keys released since last time +; [$ffb3] = keys pressed since last time +; [$ffb4] = currently pressed keys +GetJoypadState: ; 19A + ld a, [$ffb8] + push af + ld a,$3 + ld [$ffb8],a + ld [$2000],a + call $4000 + pop af + ld [$ff00+$b8],a + ld [$2000],a + ret + +; see also MapHeaderBanks +MapHeaderPointers: ; $01AE + dw PalletTown_h + dw ViridianCity_h + dw PewterCity_h + dw CeruleanCity_h + dw LavenderTown_h + dw VermilionCity_h + dw CeladonCity_h + dw FuchsiaCity_h + dw CinnabarIsland_h + dw IndigoPlateau_h + dw SaffronCity_h + dw SaffronCity_h + dw Route1_h + dw Route2_h + dw Route3_h + dw Route4_h + dw Route5_h + dw Route6_h + dw Route7_h + dw Route8_h + dw Route9_h + dw Route10_h + dw Route11_h + dw Route12_h + dw Route13_h + dw Route14_h + dw Route15_h + dw Route16_h + dw Route17_h + dw Route18_h + dw Route19_h + dw Route20_h + dw Route21_h + dw Route22_h + dw Route23_h + dw Route24_h + dw Route25_h + dw RedsHouse1F_h + dw RedsHouse2F_h + dw BluesHouse_h + dw OaksLab_h ;id=40 + dw ViridianPokecenter_h + dw ViridianMart_h + dw School_h + dw ViridianHouse_h + dw ViridianGym_h + dw DiglettsCaveRoute2_h + dw ViridianForestexit_h + dw Route2House_h + dw Route2Gate_h + dw ViridianForestEntrance_h ;id=50 + dw ViridianForest_h + dw MuseumF1_h + dw MuseumF2_h + dw PewterGym_h + dw PewterHouse1_h + dw PewterMart_h + dw PewterHouse2_h + dw PewterPokecenter_h + dw MtMoon1_h + dw MtMoon2_h ;id=60 + dw MtMoon3_h + dw CeruleanHouseTrashed_h + dw CeruleanHouse2_h + dw CeruleanPokecenter_h + dw CeruleanGym_h + dw BikeShop_h + dw CeruleanMart_h + dw MtMoonPokecenter_h + dw CeruleanHouseTrashed_h ; copy + dw Route5Gate_h + dw UndergroundTunnelEntranceRoute5_h + dw DayCareM_h + dw Route6Gate_h + dw UndergroundTunnelEntranceRoute6_h + dw UndergroundTunnelEntranceRoute6_h ; unused + dw Route7Gate_h + dw UndergroundPathEntranceRoute7_h + dw $575d + dw Route8Gate_h + dw UndergroundPathEntranceRoute8_h ;id=80 + dw RockTunnelPokecenter_h + dw RockTunnel1_h + dw PowerPlant_h + dw Route11Gate_h + dw DiglettsCaveEntranceRoute11_h + dw Route11GateUpstairs_h + dw Route12Gate_h + dw BillsHouse_h + dw VermilionPokecenter_h + dw FanClub_h ;id=90 + dw VermilionMart_h + dw VermilionGym_h + dw VermilionHouse1_h + dw VermilionDock_h + dw SSAnne1_h + dw SSAnne2_h + dw SSAnne3_h + dw SSAnne4_h + dw SSAnne5_h + dw SSAnne6_h ;id=100 + dw SSAnne7_h + dw SSAnne8_h + dw SSAnne9_h + dw SSAnne10_h + dw Lance_h ; unused + dw Lance_h ; unused + dw Lance_h ; unused + dw VictoryRoad1_h + dw Lance_h ; unused + dw Lance_h ; unused ;id=110 + dw Lance_h ; unused + dw Lance_h ; unused + dw Lance_h + dw Lance_h ; unused + dw Lance_h ; unused + dw Lance_h ; unused + dw Lance_h ; unused + dw HallofFameRoom_h + dw UndergroundPathNS_h + dw Gary_h ;id=120 + dw UndergroundPathWE_h + dw CeladonMart1_h + dw CeladonMart2_h + dw CeladonMart3_h + dw CeladonMart4_h + dw CeladonMartRoof_h + dw CeladonMartElevator_h + dw CeladonMansion1_h + dw CeladonMansion2_h + dw CeladonMansion3_h ;id=130 + dw CeladonMansion4_h + dw CeladonMansion5_h + dw CeladonPokecenter_h + dw CeladonGym_h + dw CeladonGameCorner_h + dw CeladonMart5_h + dw CeladonPrizeRoom_h + dw CeladonDiner_h + dw CeladonHouse_h + dw CeladonHotel_h ;id=140 + dw LavenderPokecenter_h + dw PokemonTower1_h + dw PokemonTower2_h + dw PokemonTower3_h + dw PokemonTower4_h + dw PokemonTower5_h + dw PokemonTower6_h + dw PokemonTower7_h + dw LavenderHouse1_h + dw LavenderMart_h ;id=150 + dw LavenderHouse2_h + dw FuchsiaMart_h + dw FuchsiaHouse1_h + dw FuchsiaPokecenter_h + dw FuchsiaHouse2_h + dw SafariZoneEntrance_h + dw FuchsiaGym_h + dw FuchsiaMeetingRoom_h + dw SeafoamIslands2_h + dw SeafoamIslands3_h ;id=160 + dw SeafoamIslands4_h + dw SeafoamIslands5_h + dw VermilionHouse2_h + dw FuchsiaHouse3_h + dw Mansion1_h + dw CinnabarGym_h + dw Lab1_h + dw Lab2_h + dw Lab3_h + dw Lab4_h ;id=170 + dw CinnabarPokecenter_h + dw CinnabarMart_h + dw CinnabarMart_h ; unused + dw IndigoPlateauLobby_h + dw CopycatsHouseF1_h + dw CopycatsHouseF2_h + dw FightingDojo_h + dw SaffronGym_h + dw SaffronHouse1_h + dw SaffronMart_h ;id=180 + dw SilphCo1_h + dw SaffronPokecenter_h + dw SaffronHouse2_h + dw Route15Gate_h + dw $563e + dw Route16GateMap_h + dw Route16GateUpstairs_h + dw Route16House_h + dw Route12House_h + dw Route18Gate_h ;id=190 + dw Route18GateHeader_h + dw SeafoamIslands1_h + dw Route22Gate_h + dw VictoryRoad2_h + dw Route12GateUpstairs_h + dw VermilionHouse3_h + dw DiglettsCave_h + dw VictoryRoad3_h + dw RocketHideout1_h + dw RocketHideout2_h ;200 + dw RocketHideout3_h + dw RocketHideout4_h + dw RocketHideoutElevator_h + dw RocketHideoutElevator_h ; unused + dw RocketHideoutElevator_h ; unused + dw RocketHideoutElevator_h ; unused + dw SilphCo2_h + dw SilphCo3_h + dw SilphCo4_h + dw SilphCo5_h ;210 + dw SilphCo6_h + dw SilphCo7_h + dw SilphCo8_h + dw Mansion2_h + dw Mansion3_h + dw Mansion4_h + dw SafariZoneEast_h + dw SafariZoneNorth_h + dw SafariZoneWest_h + dw SafariZoneCenter_h ;220 + dw SafariZoneRestHouse1_h + dw SafariZoneSecretHouse_h + dw SafariZoneRestHouse2_h + dw SafariZoneRestHouse3_h + dw SafariZoneRestHouse4_h + dw UnknownDungeon2_h + dw UnknownDungeon3_h + dw UnknownDungeon1_h + dw NameRater_h + dw CeruleanHouse3_h + dw Route16GateMap_h ; unused + dw RockTunnel2_h + dw SilphCo9_h + dw SilphCo10_h + dw SilphCo11_h + dw SilphCoElevator_h + dw SilphCo2_h ; unused + dw SilphCo2_h ; unused + dw BattleCenterM_h + dw TradeCenterM_h + dw SilphCo2_h ; unused + dw SilphCo2_h ; unused + dw SilphCo2_h ; unused + dw SilphCo2_h ; unused + dw Lorelei_h + dw Bruno_h + dw Agatha_h ;247 + +; this function calls a function that takes necessary actions +; at the beginning of each overworld loop iteration as the player jumps +; down a ledge +; it also ends the jump when it's completed +HandleMidJump: ; 39E + ld b,$1c + ld hl,$487e + jp Bankswitch + +; this is jumped to immediately after loading a save / starting a new game / loading a new map +EnterMap: ; 3A6 + ld a,$ff + ld [$cd6b],a + call LoadMapData ; load map data + ld b,$03 + ld hl,$4335 + call Bankswitch ; initialize some variables + ld hl,$d72c + bit 0,[hl] + jr z,.doNotCountSteps\@ + ld a,$03 + ld [$d13c],a ; some kind of step counter (counts up to 3 steps?) +.doNotCountSteps\@ + ld hl,$d72e + bit 5,[hl] ; did a battle happen immediately before this? + res 5,[hl] ; unset the "battle just happened" flag + call z,$12e7 + call nz,MapEntryAfterBattle + ld hl,$d732 + ld a,[hl] + and a,$18 + jr z,.didNotFlyOrTeleportIn\@ + res 3,[hl] + ld b,$1c + ld hl,$4510 + call Bankswitch ; display fly/teleport in graphical effect + call $2429 ; move sprites +.didNotFlyOrTeleportIn\@ + ld b,$03 + ld hl,$438b + call Bankswitch ; handle currents in SF islands and forced bike riding in cycling road + ld hl,$d72d + res 5,[hl] + call $2429 ; move sprites + ld hl,$d126 + set 5,[hl] + set 6,[hl] + xor a + ld [$cd6b],a + +OverworldLoop: ; 3FF + call DelayFrame +OverworldLoopLessDelay: ; 402 + call DelayFrame + call LoadGBPal + ld a,[$d736] + bit 6,a ; jumping down a ledge? + call nz, HandleMidJump + ld a,[W_WALKCOUNTER] + and a + jp nz,.moveAhead\@ ; if the player sprite has not yet completed the walking animation + call GetJoypadStateOverworld ; get joypad state (which is possibly simulated) + ld b,$07 + ld hl,$6988 + call Bankswitch + ld a,[$da46] + and a + jp nz,WarpFound2 + ld hl,$d72d + bit 3,[hl] + res 3,[hl] + jp nz,WarpFound2 + ld a,[$d732] + and a,$18 + jp nz,HandleFlyOrTeleportAway + ld a,[W_CUROPPONENT] + and a + jp nz,.newBattle\@ + ld a,[$d730] + bit 7,a ; are we simulating button presses? + jr z,.notSimulating\@ + ld a,[$ffb4] + jr .checkIfStartIsPressed\@ +.notSimulating\@ + ld a,[$ffb3] +.checkIfStartIsPressed\@ + bit 3,a ; start button + jr z,.startButtonNotPressed\@ +; if START is pressed + xor a + ld [$ff8c],a ; the $2920 ID for the start menu is 0 + jp .displayDialogue\@ +.startButtonNotPressed\@ + bit 0,a ; A button + jp z,.checkIfDownButtonIsPressed\@ +; if A is pressed + ld a,[$d730] + bit 2,a + jp nz,.noDirectionButtonsPressed\@ + call $30fd + jr nz,.checkForOpponent\@ + call $3eb5 ; check for hidden items, PC's, etc. + ld a,[$ffeb] + and a + jp z,OverworldLoop + call IsSpriteOrSignInFrontOfPlayer ; check for sign or sprite in front of the player + ld a,[$ff8c] ; $2920 ID for NPC/sign text, if any + and a + jp z,OverworldLoop +.displayDialogue\@ + ld a,$35 + call Predef ; check what is in front of the player + call $2429 ; move sprites + ld a,[$cd60] + bit 2,a + jr nz,.checkForOpponent\@ + bit 0,a + jr nz,.checkForOpponent\@ + ld a,[$c45c] + ld [$cf0e],a + call $2920 ; display either the start menu or the NPC/sign text + ld a,[$cc47] + and a + jr z,.checkForOpponent\@ + dec a + ld a,$00 + ld [$cc47],a + jr z,.changeMap\@ + ld a,$52 + call Predef + ld a,[W_CURMAP] + ld [$d71a],a + call $62ce + ld a,[W_CURMAP] + call SwitchToMapRomBank ; switch to the ROM bank of the current map + ld hl,$d367 + set 7,[hl] +.changeMap\@ + jp EnterMap +.checkForOpponent\@ + ld a,[W_CUROPPONENT] + and a + jp nz,.newBattle\@ + jp OverworldLoop +.noDirectionButtonsPressed\@ + ld hl,$cd60 + res 2,[hl] + call $2429 ; move sprites + ld a,$01 + ld [$cc4b],a + ld a,[$d528] ; the direction that was pressed last time + and a + jp z,OverworldLoop +; if a direction was pressed last time + ld [$d529],a ; save the last direction + xor a + ld [$d528],a ; zero the direction + jp OverworldLoop +.checkIfDownButtonIsPressed\@ + ld a,[$ffb4] ; current joypad state + bit 7,a ; down button + jr z,.checkIfUpButtonIsPressed\@ + ld a,$01 + ld [$c103],a + ld a,$04 + jr .handleDirectionButtonPress\@ +.checkIfUpButtonIsPressed\@ + bit 6,a ; up button + jr z,.checkIfLeftButtonIsPressed\@ + ld a,$ff + ld [$c103],a + ld a,$08 + jr .handleDirectionButtonPress\@ +.checkIfLeftButtonIsPressed\@ + bit 5,a ; left button + jr z,.checkIfRightButtonIsPressed\@ + ld a,$ff + ld [$c105],a + ld a,$02 + jr .handleDirectionButtonPress\@ +.checkIfRightButtonIsPressed\@ + bit 4,a ; right button + jr z,.noDirectionButtonsPressed\@ + ld a,$01 + ld [$c105],a +.handleDirectionButtonPress\@ + ld [$d52a],a ; new direction + ld a,[$d730] + bit 7,a ; are we simulating button presses? + jr nz,.noDirectionChange\@ ; ignore direction changes if we are + ld a,[$cc4b] + and a + jr z,.noDirectionChange\@ + ld a,[$d52a] ; new direction + ld b,a + ld a,[$d529] ; old direction + cp b + jr z,.noDirectionChange\@ +; the code below is strange +; it computes whether or not the player did a 180 degree turn, but then overwrites the result +; also, it does a seemingly pointless loop afterwards + swap a ; put old direction in upper half + or b ; put new direction in lower half + cp a,$48 ; change dir from down to up + jr nz,.notDownToUp\@ + ld a,$02 + ld [$d528],a + jr .oddLoop\@ +.notDownToUp\@ + cp a,$84 ; change dir from up to down + jr nz,.notUpToDown\@ + ld a,$01 + ld [$d528],a + jr .oddLoop\@ +.notUpToDown\@ + cp a,$12 ; change dir from right to left + jr nz,.notRightToLeft\@ + ld a,$04 + ld [$d528],a + jr .oddLoop\@ +.notRightToLeft\@ + cp a,$21 ; change dir from left to right + jr nz,.oddLoop\@ + ld a,$08 + ld [$d528],a +.oddLoop\@ + ld hl,$cd60 + set 2,[hl] + ld hl,$cc4b + dec [hl] + jr nz,.oddLoop\@ + ld a,[$d52a] + ld [$d528],a + call NewBattle + jp c,.battleOccurred\@ + jp OverworldLoop +.noDirectionChange\@ + ld a,[$d52a] ; current direction + ld [$d528],a ; save direction + call $2429 ; move sprites + ld a,[$d700] + cp a,$02 ; surfing + jr z,.surfing\@ +; not surfing + call CollisionCheckOnLand + jr nc,.noCollision\@ + push hl + ld hl,$d736 + bit 2,[hl] + pop hl + jp z,OverworldLoop + push hl + call ExtraWarpCheck ; sets carry if there is a potential to warp + pop hl + jp c,CheckWarpsCollision + jp OverworldLoop +.surfing\@ + call CollisionCheckOnWater + jp c,OverworldLoop +.noCollision\@ + ld a,$08 + ld [W_WALKCOUNTER],a + jr .moveAhead2\@ +.moveAhead\@ + ld a,[$d736] + bit 7,a + jr z,.noSpinning\@ + ld b,$11 + ld hl,$4fd7 + call Bankswitch ; spin while moving +.noSpinning\@ + call $2429 ; move sprites +.moveAhead2\@ + ld hl,$cd60 + res 2,[hl] + ld a,[$d700] + dec a ; riding a bike? + jr nz,.normalPlayerSpriteAdvancement\@ + ld a,[$d736] + bit 6,a ; jumping a ledge? + jr nz,.normalPlayerSpriteAdvancement\@ + call BikeSpeedup ; if riding a bike and not jumping a ledge +.normalPlayerSpriteAdvancement\@ + call AdvancePlayerSprite + ld a,[W_WALKCOUNTER] + and a + jp nz,CheckMapConnections ; it seems like this check will never succeed (the other place where CheckMapConnections is run works) +; walking animation finished + ld a,[$d730] + bit 7,a + jr nz,.doneStepCounting\@ ; if button presses are being simulated, don't count steps +; step counting + ld hl,$d13b ; step counter + dec [hl] + ld a,[$d72c] + bit 0,a + jr z,.doneStepCounting\@ + ld hl,$d13c + dec [hl] + jr nz,.doneStepCounting\@ + ld hl,$d72c + res 0,[hl] +.doneStepCounting\@ + ld a,[$d790] + bit 7,a ; in the safari zone? + jr z,.notSafariZone\@ + ld b,$07 + ld hl,$6997 + call Bankswitch + ld a,[$da46] + and a + jp nz,WarpFound2 +.notSafariZone\@ + ld a,[W_ISINBATTLE] + and a + jp nz,CheckWarpsNoCollision + ld a,$13 + call Predef ; decrement HP of poisoned pokemon + ld a,[$d12d] + and a + jp nz,HandleBlackOut ; if all pokemon fainted +.newBattle\@ + call NewBattle + ld hl,$d736 + res 2,[hl] + jp nc,CheckWarpsNoCollision ; check for warps if there was no battle +.battleOccurred\@ + ld hl,$d72d + res 6,[hl] + ld hl,$d733 + res 3,[hl] + ld hl,$d126 + set 5,[hl] + set 6,[hl] + xor a + ld [$ffb4],a ; clear joypad state + ld a,[W_CURMAP] + cp a,CINNABAR_GYM + jr nz,.notCinnabarGym\@ + ld hl,$d79b + set 7,[hl] +.notCinnabarGym\@ + ld hl,$d72e + set 5,[hl] + ld a,[W_CURMAP] + cp a,OAKS_LAB + jp z,.noFaintCheck\@ + ld hl,$4a83 + ld b,$0f + call Bankswitch ; check if all the player's pokemon fainted + ld a,d + and a + jr z,.allPokemonFainted\@ +.noFaintCheck\@ + ld c,$0a + call DelayFrames + jp EnterMap +.allPokemonFainted\@ + ld a,$ff + ld [$d057],a + call RunMapScript + jp HandleBlackOut + +; function to determine if there will be a battle and execute it (either a trainer battle or wild battle) +; sets carry if a battle occurred and unsets carry if not +NewBattle: ; 683 + ld a,[$d72d] + bit 4,a + jr nz,.noBattle\@ + call $30fd + jr nz,.noBattle\@ + ld a,[$d72e] + bit 4,a + jr nz,.noBattle\@ + ld b,$0f + ld hl,$6f12 + jp Bankswitch ; determines if a battle will occurr and runs the battle if so +.noBattle\@ + and a + ret + +; function to make bikes twice as fast as walking +BikeSpeedup: ; 6A0 + ld a,[$cc57] + and a + ret nz + ld a,[W_CURMAP] + cp a,ROUTE_17 ; Cycling Road + jr nz,.goFaster\@ + ld a,[$ffb4] ; current joypad state + and a,%01110000 ; bit mask for up, left, right buttons + ret nz +.goFaster\@ + jp AdvancePlayerSprite + +; check if the player has stepped onto a warp after having not collided +CheckWarpsNoCollision: ; 6B4 + ld a,[$d3ae] ; number of warps + and a + jp z,CheckMapConnections + ld a,[$d3ae] ; number of warps + ld b,$00 + ld c,a + ld a,[W_YCOORD] + ld d,a + ld a,[W_XCOORD] + ld e,a + ld hl,$d3af ; start of warp entries +CheckWarpsNoCollisionLoop: ; 6CC + ld a,[hli] ; check if the warp's Y position matches + cp d + jr nz,CheckWarpsNoCollisionRetry1 + ld a,[hli] ; check if the warp's X position matches + cp e + jr nz,CheckWarpsNoCollisionRetry2 +; if a match was found + push hl + push bc + ld hl,$d736 + set 2,[hl] + ld b,$03 + ld hl,$449d + call Bankswitch ; check if the player sprite is standing on a "door" tile + pop bc + pop hl + jr c,WarpFound1 ; if it is, go to 0735 + push hl + push bc + call ExtraWarpCheck ; sets carry if the warp is confirmed + pop bc + pop hl + jr nc,CheckWarpsNoCollisionRetry2 +; if the extra check passed + ld a,[$d733] + bit 2,a + jr nz,WarpFound1 + push de + push bc + call GetJoypadState + pop bc + pop de + ld a,[$ffb4] ; current joypad state + and a,%11110000 ; bit mask for directional buttons + jr z,CheckWarpsNoCollisionRetry2 ; if directional buttons aren't being pressed, do not pass through the warp + jr WarpFound1 + +; check if the player has stepped onto a warp after having collided +CheckWarpsCollision: ; 706 + ld a,[$d3ae] ; number of warps + ld c,a + ld hl,$d3af ; start of warp entries +.loop\@ + ld a,[hli] ; Y coordinate of warp + ld b,a + ld a,[W_YCOORD] + cp b + jr nz,.retry1\@ + ld a,[hli] ; X coordinate of warp + ld b,a + ld a,[W_XCOORD] + cp b + jr nz,.retry2\@ + ld a,[hli] + ld [$d42f],a ; save target warp ID + ld a,[hl] + ld [$ff8b],a ; save target map + jr WarpFound2 +.retry1\@ + inc hl +.retry2\@ + inc hl + inc hl + dec c + jr nz,.loop\@ + jp OverworldLoop + +CheckWarpsNoCollisionRetry1: ; 72F + inc hl +CheckWarpsNoCollisionRetry2: ; 730 + inc hl + inc hl + jp ContinueCheckWarpsNoCollisionLoop + +WarpFound1: ; 735 + ld a,[hli] + ld [$d42f],a ; save target warp ID + ld a,[hli] + ld [$ff8b],a ; save target map + +WarpFound2: ; 73C + ld a,[$d3ae] ; number of warps + sub c + ld [$d73b],a ; save ID of used warp + ld a,[W_CURMAP] + ld [$d73c],a + call CheckIfInOutsideMap ; check if the tileset number is 0 or the map is Route 12 + jr nz,.indoorMaps\@ +; this is for handling "outside" maps that can't have the 0xFF destination map + ld a,[W_CURMAP] + ld [$d365],a ; save current map as previous map + ld a,[W_CURMAPWIDTH] + ld [$d366],a + ld a,[$ff8b] ; destination map number + ld [W_CURMAP],a ; change current map to destination map + cp a,ROCK_TUNNEL_1 + jr nz,.notRockTunnel\@ + ld a,$06 + ld [$d35d],a + call GBFadeIn1 +.notRockTunnel\@ + call PlayMapChangeSound + jr .done\@ +; for maps that can have the 0xFF destination map, which means to return to the outside map; not all these maps are necessarily indoors, though +.indoorMaps\@ + ld a,[$ff8b] ; destination map + cp a,$ff + jr z,.goBackOutside\@ +; if not going back to the previous map + ld [W_CURMAP],a ; current map number + ld b,$1c + ld hl,$4787 + call Bankswitch ; check if the warp was a Silph Co. teleporter + ld a,[$cd5b] + dec a + jr nz,.notTeleporter\@ +; if it's a Silph Co. teleporter + ld hl,$d732 + set 3,[hl] + call DoFlyOrTeleportAwayGraphics + jr .skipMapChangeSound\@ +.notTeleporter\@ + call PlayMapChangeSound +.skipMapChangeSound\@ + ld hl,$d736 + res 0,[hl] + res 1,[hl] + jr .done\@ +.goBackOutside\@ + ld a,[$d365] ; previous map + ld [W_CURMAP],a + call PlayMapChangeSound + xor a + ld [$d35d],a +.done\@ + ld hl,$d736 + set 0,[hl] + call $12da + jp EnterMap + +ContinueCheckWarpsNoCollisionLoop: ; 7B5 + inc b ; increment warp number + dec c ; decrement number of warps + jp nz,CheckWarpsNoCollisionLoop + +; if no matching warp was found +CheckMapConnections: ; 7BA +.checkWestMap\@ + ld a,[W_XCOORD] + cp a,$ff + jr nz,.checkEastMap\@ + ld a,[$d387] + ld [W_CURMAP],a + ld a,[$d38f] ; new X coordinate upon entering west map + ld [W_XCOORD],a + ld a,[W_YCOORD] + ld c,a + ld a,[$d38e] ; Y adjustment upon entering west map + add c + ld c,a + ld [W_YCOORD],a + ld a,[$d390] ; pointer to upper left corner of map without adjustment for Y position + ld l,a + ld a,[$d391] + ld h,a + srl c + jr z,.savePointer1\@ +.pointerAdjustmentLoop1\@ + ld a,[$d38d] ; width of connected map + add a,$06 + ld e,a + ld d,$00 + ld b,$00 + add hl,de + dec c + jr nz,.pointerAdjustmentLoop1\@ +.savePointer1\@ + ld a,l + ld [$d35f],a ; pointer to upper left corner of current tile block map section + ld a,h + ld [$d360],a + jp .loadNewMap\@ +.checkEastMap\@ + ld b,a + ld a,[$d525] ; map width + cp b + jr nz,.checkNorthMap\@ + ld a,[$d392] + ld [W_CURMAP],a + ld a,[$d39a] ; new X coordinate upon entering east map + ld [W_XCOORD],a + ld a,[W_YCOORD] + ld c,a + ld a,[$d399] ; Y adjustment upon entering east map + add c + ld c,a + ld [W_YCOORD],a + ld a,[$d39b] ; pointer to upper left corner of map without adjustment for Y position + ld l,a + ld a,[$d39c] + ld h,a + srl c + jr z,.savePointer2\@ +.pointerAdjustmentLoop2\@ + ld a,[$d398] + add a,$06 + ld e,a + ld d,$00 + ld b,$00 + add hl,de + dec c + jr nz,.pointerAdjustmentLoop2\@ +.savePointer2\@ + ld a,l + ld [$d35f],a ; pointer to upper left corner of current tile block map section + ld a,h + ld [$d360],a + jp .loadNewMap\@ +.checkNorthMap\@ + ld a,[W_YCOORD] + cp a,$ff + jr nz,.checkSouthMap\@ + ld a,[$d371] + ld [W_CURMAP],a + ld a,[$d378] ; new Y coordinate upon entering north map + ld [W_YCOORD],a + ld a,[W_XCOORD] + ld c,a + ld a,[$d379] ; X adjustment upon entering north map + add c + ld c,a + ld [W_XCOORD],a + ld a,[$d37a] ; pointer to upper left corner of map without adjustment for X position + ld l,a + ld a,[$d37b] + ld h,a + ld b,$00 + srl c + add hl,bc + ld a,l + ld [$d35f],a ; pointer to upper left corner of current tile block map section + ld a,h + ld [$d360],a + jp .loadNewMap\@ +.checkSouthMap\@ + ld b,a + ld a,[$d524] + cp b + jr nz,.didNotEnterConnectedMap\@ + ld a,[$d37c] + ld [W_CURMAP],a + ld a,[$d383] ; new Y coordinate upon entering south map + ld [W_YCOORD],a + ld a,[W_XCOORD] + ld c,a + ld a,[$d384] ; X adjustment upon entering south map + add c + ld c,a + ld [W_XCOORD],a + ld a,[$d385] ; pointer to upper left corner of map without adjustment for X position + ld l,a + ld a,[$d386] + ld h,a + ld b,$00 + srl c + add hl,bc + ld a,l + ld [$d35f],a ; pointer to upper left corner of current tile block map section + ld a,h + ld [$d360],a +.loadNewMap\@ ; load the connected map that was entered + call LoadMapHeader + call $2312 ; music + ld b,$09 + call $3def ; SGB palette + ld b,$05 + ld hl,$785b ; load tile pattern data for sprites + call Bankswitch + call LoadTileBlockMap + jp OverworldLoopLessDelay +.didNotEnterConnectedMap\@ + jp OverworldLoop + +; function to play a sound when changing maps +PlayMapChangeSound: ; 8c9 + ld a,[$c448] ; upper left tile of the 4x4 square the player's sprite is standing on + cp a,$0b ; door tile in tileset 0 + jr nz,.didNotGoThroughDoor\@ + ld a,$ad + jr .playSound\@ +.didNotGoThroughDoor\@ + ld a,$b5 +.playSound\@ + call $23b1 + ld a,[$d35d] + and a + ret nz + jp GBFadeIn1 + +; function to set the Z flag if the tileset number is 0 or the map is Route 12 +; strangely, Route 12 has tileset 0, so the check is redundant +CheckIfInOutsideMap: ; 8E1 + ld a,[W_CURMAPTILESET] + and a + ret z + cp a,ROUTE_12 + ret + +; this function is an extra check that sometimes has to pass in order to warp, beyond just standing on a warp +; the "sometimes" qualification is necessary because of CheckWarpsNoCollision's behavior +; depending on the map, either "function 1" or "function 2" is used for the check +; "function 1" passes when the player is at the edge of the map and is facing towards the outside of the map +; "function 2" passes when the the tile in front of the player is among a certain set +; sets carry if the check passes, otherwise clears carry +ExtraWarpCheck: ; 8E9 + ld a,[W_CURMAP] + cp a,SS_ANNE_3 + jr z,.useFunction1\@ + cp a,ROCKET_HIDEOUT_1 + jr z,.useFunction2\@ + cp a,ROCKET_HIDEOUT_2 + jr z,.useFunction2\@ + cp a,ROCKET_HIDEOUT_4 + jr z,.useFunction2\@ + cp a,ROCK_TUNNEL_1 + jr z,.useFunction2\@ + ld a,[W_CURMAPTILESET] + and a ; outside tileset + jr z,.useFunction2\@ + cp a,$0d ; S.S. Anne tileset + jr z,.useFunction2\@ + cp a,$0e ; Vermilion Port tileset + jr z,.useFunction2\@ + cp a,$17 ; Indigo Plateau tileset + jr z,.useFunction2\@ +.useFunction1\@ + ld hl,$43ff + jr .doBankswitch\@ +.useFunction2\@ + ld hl,$444e +.doBankswitch\@ + ld b,$03 + jp Bankswitch + +MapEntryAfterBattle: ; 91F + ld b,$03 + ld hl,$435f + call Bankswitch ; function that appears to disable warp testing after collisions if the player is standing on a warp + ld a,[$d35d] + and a + jp z,GBFadeIn2 + jp LoadGBPal + +; for when all the player's pokemon faint +; other code prints the "you blacked out" message before this is called +HandleBlackOut: ; 931 + call GBFadeIn1 + ld a,$08 + call StopMusic + ld hl,$d72e + res 5,[hl] + ld a,$01 + ld [$ffb8],a + ld [$2000],a + call $40b0 + call $62ce + call $2312 + jp $5d5f + +StopMusic: ; 951 + ld [$cfc7],a + ld a,$ff + ld [$c0ee],a + call $23b1 +.waitLoop\@ + ld a,[$cfc7] + and a + jr nz,.waitLoop\@ + jp $200e + +HandleFlyOrTeleportAway: ; 965 + call $2429 ; move sprites + call $3dd7 + xor a + ld [$cf0b],a + ld [$d700],a + ld [$d057],a + ld [$d35d],a + ld hl,$d732 + set 2,[hl] + res 5,[hl] + call DoFlyOrTeleportAwayGraphics + ld a,$01 + ld [$ffb8],a + ld [$2000],a + call $62ce + jp $5d5f + +; function that calls a function to do fly away or teleport away graphics +DoFlyOrTeleportAwayGraphics: ; 98F + ld b,$1c + ld hl,$45ba + jp Bankswitch + +; load sprite graphics based on whether the player is standing, biking, or surfing +LoadPlayerSpriteGraphics: ; 997 + ld a,[$d700] + dec a + jr z,.ridingBike\@ + ld a,[$ffd7] + and a + jr nz,.determineGraphics\@ + jr .startWalking\@ +.ridingBike\@ + call IsBikeRidingAllowed + jr c,.determineGraphics\@ ; don't start walking if bike riding is allowed +.startWalking\@ + xor a + ld [$d700],a + ld [$d11a],a + jp LoadWalkingPlayerSpriteGraphics +.determineGraphics\@ + ld a,[$d700] + and a + jp z,LoadWalkingPlayerSpriteGraphics + dec a + jp z,LoadBikePlayerSpriteGraphics + dec a + jp z,LoadSurfingPlayerSpriteGraphics + jp LoadWalkingPlayerSpriteGraphics + +; function to check if bike riding is allowed on the current map +; sets carry if bike is allowed, clears carry otherwise +IsBikeRidingAllowed: ; 9c5 + ld a,[W_CURMAP] + cp a,ROUTE_23 + jr z,.allowed\@ + cp a,INDIGO_PLATEAU + jr z,.allowed\@ + ld a,[W_CURMAPTILESET] + ld b,a + ld hl,BikeRidingTilesets +.loop\@ + ld a,[hli] + cp b + jr z,.allowed\@ + inc a + jr nz,.loop\@ + and a + ret +.allowed\@ + scf + ret + +BikeRidingTilesets: ; 9E2 +db $00, $03, $0B, $0E, $11, $FF + +; load the tile pattern data of the current tileset into VRAM +LoadTilesetTilePatternData: ; 9E8 + ld a,[$d52e] + ld l,a + ld a,[$d52f] + ld h,a + ld de,$9000 + ld bc,$0600 + ld a,[$d52b] + jp $17f7 + +; this loads the current maps complete tile map (which references blocks, not individual tiles) to C6E8 +; it can also load partial tile maps of connected maps into a border of length 3 around the current map +LoadTileBlockMap: ; 9FC +; fill C6E8-CBFB with the background tile + ld hl,$c6e8 + ld a,[$d3ad] ; background tile number + ld d,a + ld bc,$0514 +.backgroundTileLoop\@ + ld a,d + ld [hli],a + dec bc + ld a,c + or b + jr nz,.backgroundTileLoop\@ +; load tile map of current map (made of tile block IDs) +; a 3-byte border at the edges of the map is kept so that there is space for map connections + ld hl,$c6e8 + ld a,[W_CURMAPWIDTH] + ld [$ff8c],a + add a,$06 ; border (east and west) + ld [$ff8b],a ; map width + border + ld b,$00 + ld c,a +; make space for north border (next 3 lines) + add hl,bc + add hl,bc + add hl,bc + ld c,$03 + add hl,bc ; this puts us past the (west) border + ld a,[$d36a] ; tile map pointer + ld e,a + ld a,[$d36b] + ld d,a ; de = tile map pointer + ld a,[W_CURMAPHEIGHT] + ld b,a +.rowLoop\@ ; copy one row each iteration + push hl + ld a,[$ff8c] ; map width (without border) + ld c,a +.rowInnerLoop\@ + ld a,[de] + inc de + ld [hli],a + dec c + jr nz,.rowInnerLoop\@ +; add the map width plus the border to the base address of the current row to get the next row's address + pop hl + ld a,[$ff8b] ; map width + border + add l + ld l,a + jr nc,.noCarry\@ + inc h +.noCarry\@ + dec b + jr nz,.rowLoop\@ +.northConnection\@ + ld a,[$d371] + cp a,$ff + jr z,.southConnection\@ + call SwitchToMapRomBank + ld a,[$d372] + ld l,a + ld a,[$d373] + ld h,a + ld a,[$d374] + ld e,a + ld a,[$d375] + ld d,a + ld a,[$d376] + ld [$ff8b],a + ld a,[$d377] + ld [$ff8c],a + call LoadNorthSouthConnectionsTileMap +.southConnection\@ + ld a,[$d37c] + cp a,$ff + jr z,.westConnection\@ + call SwitchToMapRomBank + ld a,[$d37d] + ld l,a + ld a,[$d37e] + ld h,a + ld a,[$d37f] + ld e,a + ld a,[$d380] + ld d,a + ld a,[$d381] + ld [$ff8b],a + ld a,[$d382] + ld [$ff8c],a + call LoadNorthSouthConnectionsTileMap +.westConnection\@ + ld a,[$d387] + cp a,$ff + jr z,.eastConnection\@ + call SwitchToMapRomBank + ld a,[$d388] + ld l,a + ld a,[$d389] + ld h,a + ld a,[$d38a] + ld e,a + ld a,[$d38b] + ld d,a + ld a,[$d38c] + ld b,a + ld a,[$d38d] + ld [$ff8b],a + call LoadEastWestConnectionsTileMap +.eastConnection\@ + ld a,[$d392] + cp a,$ff + jr z,.done\@ + call SwitchToMapRomBank + ld a,[$d393] + ld l,a + ld a,[$d394] + ld h,a + ld a,[$d395] + ld e,a + ld a,[$d396] + ld d,a + ld a,[$d397] + ld b,a + ld a,[$d398] + ld [$ff8b],a + call LoadEastWestConnectionsTileMap +.done\@ + ret + +LoadNorthSouthConnectionsTileMap: ; ADE + ld c,$03 +.loop\@ + push de + push hl + ld a,[$ff8b] ; width of connection + ld b,a +.innerLoop\@ + ld a,[hli] + ld [de],a + inc de + dec b + jr nz,.innerLoop\@ + pop hl + pop de + ld a,[$ff8c] ; width of connected map + add l + ld l,a + jr nc,.noCarry1\@ + inc h +.noCarry1\@ + ld a,[W_CURMAPWIDTH] + add a,$06 + add e + ld e,a + jr nc,.noCarry2\@ + inc d +.noCarry2\@ + dec c + jr nz,.loop\@ + ret + +LoadEastWestConnectionsTileMap: ; B02 + push hl + push de + ld c,$03 +.innerLoop\@ + ld a,[hli] + ld [de],a + inc de + dec c + jr nz,.innerLoop\@ + pop de + pop hl + ld a,[$ff8b] ; width of connected map + add l + ld l,a + jr nc,.noCarry1\@ + inc h +.noCarry1\@ + ld a,[W_CURMAPWIDTH] + add a,$06 + add e + ld e,a + jr nc,.noCarry2\@ + inc d +.noCarry2\@ + dec b + jr nz,LoadEastWestConnectionsTileMap + ret + +; function to check if there is a sign or sprite in front of the player +; if so, it is stored in [$FF8C] +; if not, [$FF8C] is set to 0 +IsSpriteOrSignInFrontOfPlayer: ; B23 + xor a + ld [$ff8c],a + ld a,[$d4b0] ; number of signs in the map + and a + jr z,.extendRangeOverCounter\@ +; if there are signs + ld a,$35 + call Predef ; get the coordinates in front of the player in de + ld hl,$d4b1 ; start of sign coordinates + ld a,[$d4b0] ; number of signs in the map + ld b,a + ld c,$00 +.signLoop\@ + inc c + ld a,[hli] ; sign Y + cp d + jr z,.yCoordMatched\@ + inc hl + jr .retry\@ +.yCoordMatched\@ + ld a,[hli] ; sign X + cp e + jr nz,.retry\@ +.xCoordMatched\@ +; found sign + push hl + push bc + ld hl,$d4d1 ; start of sign text ID's + ld b,$00 + dec c + add hl,bc + ld a,[hl] + ld [$ff8c],a ; store sign text ID + pop bc + pop hl + ret +.retry\@ + dec b + jr nz,.signLoop\@ +; check if the player is front of a counter in a pokemon center, pokemart, etc. and if so, extend the range at which he can talk to the NPC +.extendRangeOverCounter\@ + ld a,$35 + call Predef ; get the tile in front of the player in c + ld hl,$d532 ; list of tiles that extend talking range (counter tiles) + ld b,$03 + ld d,$20 ; talking range in pixels (long range) +.counterTilesLoop\@ + ld a,[hli] + cp c + jr z,IsSpriteInFrontOfPlayer2 ; jumps if the tile in front of the player is a counter tile + dec b + jr nz,.counterTilesLoop\@ + +; part of the above function, but sometimes its called on its own, when signs are irrelevant +; the caller must zero [$FF8C] +IsSpriteInFrontOfPlayer: ; B6B + ld d,$10 ; talking range in pixels (normal range) +IsSpriteInFrontOfPlayer2: ; B6D + ld bc,$3c40 ; Y and X position of player sprite + ld a,[$c109] ; direction the player is facing +.checkIfPlayerFacingUp\@ + cp a,$04 + jr nz,.checkIfPlayerFacingDown\@ +; facing up + ld a,b + sub d + ld b,a + ld a,$08 + jr .doneCheckingDirection\@ +.checkIfPlayerFacingDown\@ + cp a,$00 + jr nz,.checkIfPlayerFacingRight\@ +; facing down + ld a,b + add d + ld b,a + ld a,$04 + jr .doneCheckingDirection\@ +.checkIfPlayerFacingRight\@ + cp a,$0c + jr nz,.playerFacingLeft\@ +; facing right + ld a,c + add d + ld c,a + ld a,$01 + jr .doneCheckingDirection\@ +.playerFacingLeft\@ +; facing left + ld a,c + sub d + ld c,a + ld a,$02 +.doneCheckingDirection\@ + ld [$d52a],a + ld a,[$d4e1] ; number of sprites + and a + ret z +; if there are sprites + ld hl,$c110 + ld d,a + ld e,$01 +.spriteLoop\@ + push hl + ld a,[hli] ; image (0 if no sprite) + and a + jr z,.nextSprite\@ + inc l + ld a,[hli] ; sprite visibility + inc a + jr z,.nextSprite\@ + inc l + ld a,[hli] ; Y location + cp b + jr nz,.nextSprite\@ + inc l + ld a,[hl] ; X location + cp c + jr z,.foundSpriteInFrontOfPlayer\@ +.nextSprite\@ + pop hl + ld a,l + add a,$10 + ld l,a + inc e + dec d + jr nz,.spriteLoop\@ + ret +.foundSpriteInFrontOfPlayer\@ + pop hl + ld a,l + and a,$f0 + inc a + ld l,a + set 7,[hl] + ld a,e + ld [$ff8c],a ; store sprite ID + ret + +; function to check if the player will jump down a ledge and check if the tile ahead is passable (when not surfing) +; sets the carry flag if there is a collision, and unsets it if there isn't a collision +CollisionCheckOnLand: ; BD1 + ld a,[$d736] + bit 6,a ; is the player jumping? + jr nz,.noCollision\@ +; if not jumping a ledge + ld a,[$cd38] + and a + jr nz,.noCollision\@ + ld a,[$d52a] ; the direction that the player is trying to go in + ld d,a + ld a,[$c10c] ; the player sprite's collision data (bit field) (set in the sprite movement code) + and d ; check if a sprite is in the direction the player is trying to go + jr nz,.collision\@ + xor a + ld [$ff8c],a + call IsSpriteInFrontOfPlayer ; check for sprite collisions again? when does the above check fail to detect a sprite collision? + ld a,[$ff8c] + and a ; was there a sprite collision? + jr nz,.collision\@ +; if no sprite collision + ld hl,TilePairCollisionsLand + call CheckForJumpingAndTilePairCollisions + jr c,.collision\@ + call CheckTilePassable + jr nc,.noCollision\@ +.collision\@ + ld a,[$c02a] + cp a,$b4 ; check if collision sound is already playing + jr z,.setCarry\@ + ld a,$b4 + call $23b1 ; play collision sound (if it's not already playing) +.setCarry\@ + scf + ret +.noCollision\@ + and a + ret + +; function that checks if the tile in front of the player is passable +; clears carry if it is, sets carry if not +CheckTilePassable: ; C10 + ld a,$35 + call Predef ; get tile in front of player + ld a,[$cfc6] ; tile in front of player + ld c,a + ld hl,$d530 ; pointer to list of passable tiles + ld a,[hli] + ld h,[hl] + ld l,a ; hl now points to passable tiles +.loop\@ + ld a,[hli] + cp a,$ff + jr z,.tileNotPassable\@ + cp c + ret z + jr .loop\@ +.tileNotPassable\@ + scf + ret + +; check if the player is going to jump down a small ledge +; and check for collisions that only occur between certain pairs of tiles +; Input: hl - address of directional collision data +; sets carry if there is a collision and unsets carry if not +CheckForJumpingAndTilePairCollisions: ; C2A + push hl + ld a,$35 + call Predef ; get the tile in front of the player + push de + push bc + ld b,$06 + ld hl,$6672 + call Bankswitch ; check if the player is trying to jump a ledge + pop bc + pop de + pop hl + and a + ld a,[$d736] + bit 6,a ; is the player jumping? + ret nz +; if not jumping + ld a,[$c45c] ; tile the player is on + ld [$cf0e],a + ld a,[$cfc6] ; tile in front of the player + ld c,a +.tilePairCollisionLoop\@ + ld a,[W_CURMAPTILESET] ; tileset number + ld b,a + ld a,[hli] + cp a,$ff + jr z,.noMatch\@ + cp b + jr z,.tilesetMatches\@ + inc hl +.retry\@ + inc hl + jr .tilePairCollisionLoop\@ +.tilesetMatches\@ + ld a,[$cf0e] ; tile the player is on + ld b,a + ld a,[hl] + cp b + jr z,.currentTileMatchesFirstInPair\@ + inc hl + ld a,[hl] + cp b + jr z,.currentTileMatchesSecondInPair\@ + jr .retry\@ +.currentTileMatchesFirstInPair\@ + inc hl + ld a,[hl] + cp c + jr z,.foundMatch\@ + jr .tilePairCollisionLoop\@ +.currentTileMatchesSecondInPair\@ + dec hl + ld a,[hli] + cp c + inc hl + jr nz,.tilePairCollisionLoop\@ +.foundMatch\@ + scf + ret +.noMatch\@ + and a + ret + +; FORMAT: tileset number, tile 1, tile 2 +; terminated by 0xFF +; these entries indicate that the player may not cross between tile 1 and tile 2 +; it's mainly used to simulate differences in elevation + +TilePairCollisionsLand: ; C7E +db $11, $20, $05; +db $11, $41, $05; +db $03, $30, $2E; +db $11, $2A, $05; +db $11, $05, $21; +db $03, $52, $2E; +db $03, $55, $2E; +db $03, $56, $2E; +db $03, $20, $2E; +db $03, $5E, $2E; +db $03, $5F, $2E; +db $FF; + +TilePairCollisionsWater: ; CA0 +db $03, $14, $2E; +db $03, $48, $2E; +db $11, $14, $05; +db $FF; + +; this builds a tile map from the tile block map based on the current X/Y coordinates of the player's character +LoadCurrentMapView: ; CAA + ld a,[$ffb8] + push af + ld a,[$d52b] ; tile data ROM bank + ld [$ffb8],a + ld [$2000],a ; switch to ROM bank that contains tile data + ld a,[$d35f] ; address of upper left corner of current map view + ld e,a + ld a,[$d360] + ld d,a + ld hl,$c508 + ld b,$05 +.rowLoop\@ ; each loop iteration fills in one row of tile blocks + push hl + push de + ld c,$06 +.rowInnerLoop\@ ; loop to draw each tile block of the current row + push bc + push de + push hl + ld a,[de] + ld c,a ; tile block number + call DrawTileBlock + pop hl + pop de + pop bc + inc hl + inc hl + inc hl + inc hl + inc de + dec c + jr nz,.rowInnerLoop\@ +; update tile block map pointer to next row's address + pop de + ld a,[W_CURMAPWIDTH] + add a,$06 + add e + ld e,a + jr nc,.noCarry\@ + inc d +.noCarry\@ +; update tile map pointer to next row's address + pop hl + ld a,$60 + add l + ld l,a + jr nc,.noCarry2\@ + inc h +.noCarry2\@ + dec b + jr nz,.rowLoop\@ + ld hl,$c508 + ld bc,$0000 +.adjustForYCoordWithinTileBlock\@ + ld a,[W_YBLOCKCOORD] + and a + jr z,.adjustForXCoordWithinTileBlock\@ + ld bc,$0030 + add hl,bc +.adjustForXCoordWithinTileBlock\@ + ld a,[W_XBLOCKCOORD] + and a + jr z,.copyToVisibleAreaBuffer\@ + ld bc,$0002 + add hl,bc +.copyToVisibleAreaBuffer\@ + ld de,$c3a0 ; base address for the tiles that are directly transfered to VRAM during V-blank + ld b,$12 +.rowLoop2\@ + ld c,$14 +.rowInnerLoop2\@ + ld a,[hli] + ld [de],a + inc de + dec c + jr nz,.rowInnerLoop2\@ + ld a,$04 + add l + ld l,a + jr nc,.noCarry3\@ + inc h +.noCarry3\@ + dec b + jr nz,.rowLoop2\@ + pop af + ld [$ffb8],a + ld [$2000],a ; restore previous ROM bank + ret + +AdvancePlayerSprite: ; D27 + ld a,[$c103] ; delta Y + ld b,a + ld a,[$c105] ; delta X + ld c,a + ld hl,W_WALKCOUNTER ; walking animation counter + dec [hl] + jr nz,.afterUpdateMapCoords\@ +; if it's the end of the animation, update the player's map coordinates + ld a,[W_YCOORD] + add b + ld [W_YCOORD],a + ld a,[W_XCOORD] + add c + ld [W_XCOORD],a +.afterUpdateMapCoords\@ + ld a,[W_WALKCOUNTER] ; walking animation counter + cp a,$07 + jp nz,.scrollBackgroundAndSprites\@ +; if this is the first iteration of the animation + ld a,c + cp a,$01 + jr nz,.checkIfMovingWest\@ +; moving east + ld a,[$d526] + ld e,a + and a,$e0 + ld d,a + ld a,e + add a,$02 + and a,$1f + or d + ld [$d526],a + jr .adjustXCoordWithinBlock\@ +.checkIfMovingWest\@ + cp a,$ff + jr nz,.checkIfMovingSouth\@ +; moving west + ld a,[$d526] + ld e,a + and a,$e0 + ld d,a + ld a,e + sub a,$02 + and a,$1f + or d + ld [$d526],a + jr .adjustXCoordWithinBlock\@ +.checkIfMovingSouth\@ + ld a,b + cp a,$01 + jr nz,.checkIfMovingNorth\@ +; moving south + ld a,[$d526] + add a,$40 + ld [$d526],a + jr nc,.adjustXCoordWithinBlock\@ + ld a,[$d527] + inc a + and a,$03 + or a,$98 + ld [$d527],a + jr .adjustXCoordWithinBlock\@ +.checkIfMovingNorth\@ + cp a,$ff + jr nz,.adjustXCoordWithinBlock\@ +; moving north + ld a,[$d526] + sub a,$40 + ld [$d526],a + jr nc,.adjustXCoordWithinBlock\@ + ld a,[$d527] + dec a + and a,$03 + or a,$98 + ld [$d527],a +.adjustXCoordWithinBlock\@ + ld a,c + and a + jr z,.pointlessJump\@ ; mistake? +.pointlessJump\@ + ld hl,W_XBLOCKCOORD + ld a,[hl] + add c + ld [hl],a + cp a,$02 + jr nz,.checkForMoveToWestBlock\@ +; moved into the tile block to the east + xor a + ld [hl],a + ld hl,$d4e3 + inc [hl] + ld de,$d35f + call MoveTileBlockMapPointerEast + jr .updateMapView\@ +.checkForMoveToWestBlock\@ + cp a,$ff + jr nz,.adjustYCoordWithinBlock\@ +; moved into the tile block to the west + ld a,$01 + ld [hl],a + ld hl,$d4e3 + dec [hl] + ld de,$d35f + call MoveTileBlockMapPointerWest + jr .updateMapView\@ +.adjustYCoordWithinBlock\@ + ld hl,W_YBLOCKCOORD + ld a,[hl] + add b + ld [hl],a + cp a,$02 + jr nz,.checkForMoveToNorthBlock\@ +; moved into the tile block to the south + xor a + ld [hl],a + ld hl,$d4e2 + inc [hl] + ld de,$d35f + ld a,[W_CURMAPWIDTH] + call MoveTileBlockMapPointerSouth + jr .updateMapView\@ +.checkForMoveToNorthBlock\@ + cp a,$ff + jr nz,.updateMapView\@ +; moved into the tile block to the north + ld a,$01 + ld [hl],a + ld hl,$d4e2 + dec [hl] + ld de,$d35f + ld a,[W_CURMAPWIDTH] + call MoveTileBlockMapPointerNorth +.updateMapView\@ + call LoadCurrentMapView + ld a,[$c103] ; delta Y + cp a,$01 + jr nz,.checkIfMovingNorth2\@ +; if moving south + call ScheduleSouthRowRedraw + jr .scrollBackgroundAndSprites\@ +.checkIfMovingNorth2\@ + cp a,$ff + jr nz,.checkIfMovingEast2\@ +; if moving north + call ScheduleNorthRowRedraw + jr .scrollBackgroundAndSprites\@ +.checkIfMovingEast2\@ + ld a,[$c105] ; delta X + cp a,$01 + jr nz,.checkIfMovingWest2\@ +; if moving east + call ScheduleEastColumnRedraw + jr .scrollBackgroundAndSprites\@ +.checkIfMovingWest2\@ + cp a,$ff + jr nz,.scrollBackgroundAndSprites\@ +; if moving west + call ScheduleWestColumnRedraw +.scrollBackgroundAndSprites\@ + ld a,[$c103] ; delta Y + ld b,a + ld a,[$c105] ; delta X + ld c,a + sla b + sla c + ld a,[$ffaf] + add b + ld [$ffaf],a ; update background scroll Y + ld a,[$ffae] + add c + ld [$ffae],a ; update background scroll X +; shift all the sprites in the direction opposite of the player's motion +; so that the player appears to move relative to them + ld hl,$c114 + ld a,[$d4e1] ; number of sprites + and a ; are there any sprites? + jr z,.done\@ + ld e,a +.spriteShiftLoop\@ + ld a,[hl] + sub b + ld [hli],a + inc l + ld a,[hl] + sub c + ld [hl],a + ld a,$0e + add l + ld l,a + dec e + jr nz,.spriteShiftLoop\@ +.done\@ + ret + +; the following four functions are used to move the pointer to the upper left +; corner of the tile block map in the direction of motion + +MoveTileBlockMapPointerEast: ; E65 + ld a,[de] + add a,$01 + ld [de],a + ret nc + inc de + ld a,[de] + inc a + ld [de],a + ret + +MoveTileBlockMapPointerWest: ; E6F + ld a,[de] + sub a,$01 + ld [de],a + ret nc + inc de + ld a,[de] + dec a + ld [de],a + ret + +MoveTileBlockMapPointerSouth: ; E79 + add a,$06 + ld b,a + ld a,[de] + add b + ld [de],a + ret nc + inc de + ld a,[de] + inc a + ld [de],a + ret + +MoveTileBlockMapPointerNorth: ; E85 + add a,$06 + ld b,a + ld a,[de] + sub b + ld [de],a + ret nc + inc de + ld a,[de] + dec a + ld [de],a + ret + +; the following 6 functions are used to tell the V-blank handler to redraw +; the portion of the map that was newly exposed due to the player's movement + +ScheduleNorthRowRedraw: ; E91 + ld hl,$c3a0 + call ScheduleRowRedrawHelper + ld a,[$d526] + ld [$ffd1],a + ld a,[$d527] + ld [$ffd2],a + ld a,$02 + ld [$ffd0],a + ret + +ScheduleRowRedrawHelper: ; EA6 + ld de,$cbfc + ld c,$28 +.loop\@ + ld a,[hli] + ld [de],a + inc de + dec c + jr nz,.loop\@ + ret + +ScheduleSouthRowRedraw: ; EB2 + ld hl,$c4e0 + call $0ea6 + ld a,[$d526] + ld l,a + ld a,[$d527] + ld h,a + ld bc,$0200 + add hl,bc + ld a,h + and a,$03 + or a,$98 + ld [$ffd2],a + ld a,l + ld [$ffd1],a + ld a,$02 + ld [$ffd0],a + ret + +ScheduleEastColumnRedraw: ; ED3 + ld hl,$c3b2 + call ScheduleColumnRedrawHelper + ld a,[$d526] + ld c,a + and a,$e0 + ld b,a + ld a,c + add a,$12 + and a,$1f + or b + ld [$ffd1],a + ld a,[$d527] + ld [$ffd2],a + ld a,$01 + ld [$ffd0],a + ret + +ScheduleColumnRedrawHelper: ; EF2 + ld de,$cbfc + ld c,$12 +.loop\@ + ld a,[hli] + ld [de],a + inc de + ld a,[hl] + ld [de],a + inc de + ld a,$13 + add l + ld l,a + jr nc,.noCarry\@ + inc h +.noCarry\@ + dec c + jr nz,.loop\@ + ret + +ScheduleWestColumnRedraw: ; F08 + ld hl,$c3a0 + call ScheduleColumnRedrawHelper + ld a,[$d526] + ld [$ffd1],a + ld a,[$d527] + ld [$ffd2],a + ld a,$01 + ld [$ffd0],a + ret + +; function to write the tiles that make up a tile block to memory +; Input: c = tile block ID, hl = destination address +DrawTileBlock: ; F1D + push hl + ld a,[$d52c] ; pointer to tiles + ld l,a + ld a,[$d52d] + ld h,a + ld a,c + swap a + ld b,a + and a,$f0 + ld c,a + ld a,b + and a,$0f + ld b,a ; bc = tile block ID * 0x10 + add hl,bc + ld d,h + ld e,l ; de = address of the tile block's tiles + pop hl + ld c,$04 ; 4 loop iterations +.loop\@ ; each loop iteration, write 4 tile numbers + push bc + ld a,[de] + ld [hli],a + inc de + ld a,[de] + ld [hli],a + inc de + ld a,[de] + ld [hli],a + inc de + ld a,[de] + ld [hl],a + inc de + ld bc,$0015 + add hl,bc + pop bc + dec c + jr nz,.loop\@ + ret + +; function to update joypad state and simulate button presses +GetJoypadStateOverworld: ; F4D + xor a + ld [$c103],a + ld [$c105],a + call RunMapScript + call GetJoypadState + ld a,[$d733] + bit 3,a ; check if a trainer wants a challenge + jr nz,.notForcedDownwards\@ + ld a,[W_CURMAP] + cp a,ROUTE_17 ; Cycling Road + jr nz,.notForcedDownwards\@ + ld a,[$ffb4] ; current joypad state + and a,%11110011 ; bit mask for all directions and A/B + jr nz,.notForcedDownwards\@ + ld a,%10000000 ; down pressed + ld [$ffb4],a ; on the cycling road, if there isn't a trainer and the player isn't pressing buttons, simulate a down press +.notForcedDownwards\@ + ld a,[$d730] + bit 7,a + ret z +; if simulating button presses + ld a,[$ffb4] ; current joypad state + ld b,a + ld a,[$cd3b] ; bit mask for button presses that override simulated ones + and b + ret nz ; return if the simulated button presses are overridden + ld hl,$cd38 ; index of current simulated button press + dec [hl] + ld a,[hl] + cp a,$ff + jr z,.doneSimulating\@ ; if the end of the simulated button presses has been reached + ld hl,$ccd3 ; base address of simulated button presses +; add offset to base address + add l + ld l,a + jr nc,.noCarry\@ + inc h +.noCarry\@ + ld a,[hl] + ld [$ffb4],a ; store simulated button press in joypad state + and a + ret nz + ld [$ffb3],a + ld [$ffb2],a + ret +; if done simulating button presses +.doneSimulating\@ + xor a + ld [$cd3a],a + ld [$cd38],a + ld [$ccd3],a + ld [$cd6b],a + ld [$ffb4],a + ld hl,$d736 + ld a,[hl] + and a,$f8 + ld [hl],a + ld hl,$d730 + res 7,[hl] + ret + +; function to check the tile ahead to determine if the character should get on land or keep surfing +; sets carry if there is a collision and clears carry otherwise +; It seems that this function has a bug in it, but due to luck, it doesn't +; show up. After detecting a sprite collision, it jumps to the code that +; checks if the next tile is passable instead of just directly jumping to the +; "collision detected" code. However, it doesn't store the next tile in c, +; so the old value of c is used. 2429 is always called before this function, +; and 2429 always sets c to 0xF0. There is no 0xF0 background tile, so it +; is considered impassable and it is detected as a collision. +CollisionCheckOnWater: ; FB7 + ld a,[$d730] + bit 7,a + jp nz,.noCollision\@ ; return and clear carry if button presses are being simulated + ld a,[$d52a] ; the direction that the player is trying to go in + ld d,a + ld a,[$c10c] ; the player sprite's collision data (bit field) (set in the sprite movement code) + and d ; check if a sprite is in the direction the player is trying to go + jr nz,.checkIfNextTileIsPassable\@ ; bug? + ld hl,TilePairCollisionsWater + call CheckForJumpingAndTilePairCollisions + jr c,.collision\@ + ld a,$35 + call Predef ; get tile in front of player (puts it in c and [$CFC6]) + ld a,[$cfc6] ; tile in front of player + cp a,$14 ; water tile + jr z,.noCollision\@ ; keep surfing if it's a water tile + cp a,$32 ; either the left tile of the S.S. Anne boarding platform or the tile on eastern coastlines (depending on the current tileset) + jr z,.checkIfVermilionDockTileset\@ + cp a,$48 ; tile on right on coast lines in Safari Zone + jr z,.noCollision\@ ; keep surfing +; check if the [land] tile in front of the player is passable +.checkIfNextTileIsPassable\@ + ld hl,$d530 ; pointer to list of passable tiles + ld a,[hli] + ld h,[hl] + ld l,a +.loop\@ + ld a,[hli] + cp a,$ff + jr z,.collision\@ + cp c + jr z,.stopSurfing\@ ; stop surfing if the tile is passable + jr .loop\@ +.collision\@ + ld a,[$c02a] + cp a,$b4 ; check if collision sound is already playing + jr z,.setCarry\@ + ld a,$b4 + call $23b1 ; play collision sound (if it's not already playing) +.setCarry\@ + scf + jr .done\@ +.noCollision\@ + and a +.done\@ + ret +.stopSurfing\@ + xor a + ld [$d700],a + call LoadPlayerSpriteGraphics + call $2307 + jr .noCollision\@ +.checkIfVermilionDockTileset\@ + ld a,[W_CURMAPTILESET] ; tileset + cp a,$0e ; Vermilion Dock tileset + jr nz,.noCollision\@ ; keep surfing if it's not the boarding platform tile + jr .stopSurfing\@ ; if it is the boarding platform tile, stop surfing + +; function to run the current map's script +RunMapScript: ; 101B + push hl + push de + push bc + ld b,$03 + ld hl,$7225 + call Bankswitch ; check if the player is pushing a boulder + ld a,[$cd60] + bit 1,a ; is the player pushing a boulder? + jr z,.afterBoulderEffect\@ + ld b,$03 + ld hl,$72b5 + call Bankswitch ; displays dust effect when pushing a boulder +.afterBoulderEffect\@ + pop bc + pop de + pop hl + call $310e + ld a,[W_CURMAP] ; current map number + call SwitchToMapRomBank ; change to the ROM bank the map's data is in + ld hl,W_MAPSCRIPTPTR + ld a,[hli] + ld h,[hl] + ld l,a + ld de,.return\@ + push de + jp [hl] ; jump to script +.return\@ + ret + +LoadWalkingPlayerSpriteGraphics: ; 0x104d + ld de,$4180 + ld hl,$8000 + jr LoadPlayerSpriteGraphicsCommon + +LoadSurfingPlayerSpriteGraphics: ; 0x1055 + ld de,$76c0 + ld hl,$8000 + jr LoadPlayerSpriteGraphicsCommon + +LoadBikePlayerSpriteGraphics: ; 0x105d + ld de,$4000 + ld hl,$8000 + +LoadPlayerSpriteGraphicsCommon: ; 0x1063 + push de + push hl + ld bc,$050c + call $1848 + pop hl + pop de + ld a,$c0 + add e + ld e,a + jr nc,.noCarry\@ + inc d +.noCarry\@ + set 3,h + ld bc,$050c + jp $1848 + +; function to load data from the map header +LoadMapHeader: ; 107C + ld b,$03 + ld hl,$7113 + call Bankswitch + ld a,[W_CURMAPTILESET] + ld [$d119],a + ld a,[W_CURMAP] + call SwitchToMapRomBank + ld a,[W_CURMAPTILESET] + ld b,a + res 7,a + ld [W_CURMAPTILESET],a + ld [$ff8b],a + bit 7,b + ret nz + ld hl,MapHeaderPointers + ld a,[W_CURMAP] + sla a + jr nc,.noCarry1\@ + inc h +.noCarry1\@ + add l + ld l,a + jr nc,.noCarry2\@ + inc h +.noCarry2\@ + ld a,[hli] + ld h,[hl] + ld l,a ; hl = base of map header +; copy the first 10 bytes (the fixed area) of the map data to D367-D370 + ld de,$d367 + ld c,$0a +.copyFixedHeaderLoop\@ + ld a,[hli] + ld [de],a + inc de + dec c + jr nz,.copyFixedHeaderLoop\@ +; initialize all the connected maps to disabled at first, before loading the actual values + ld a,$ff + ld [$d371],a + ld [$d37c],a + ld [$d387],a + ld [$d392],a +; copy connection data (if any) to WRAM + ld a,[W_MAPCONNECTIONS] + ld b,a +.checkNorth\@ + bit 3,b + jr z,.checkSouth\@ + ld de,W_MAPCONN1PTR + call CopyMapConnectionHeader +.checkSouth\@ + bit 2,b + jr z,.checkWest\@ + ld de,W_MAPCONN2PTR + call CopyMapConnectionHeader +.checkWest\@ + bit 1,b + jr z,.checkEast\@ + ld de,W_MAPCONN3PTR + call CopyMapConnectionHeader +.checkEast\@ + bit 0,b + jr z,.getObjectDataPointer\@ + ld de,W_MAPCONN4PTR + call CopyMapConnectionHeader +.getObjectDataPointer\@ + ld a,[hli] + ld [$d3a9],a + ld a,[hli] + ld [$d3aa],a + push hl + ld a,[$d3a9] + ld l,a + ld a,[$d3aa] + ld h,a ; hl = base of object data + ld de,$d3ad ; background tile ID + ld a,[hli] + ld [de],a ; save background tile ID +.loadWarpData\@ + ld a,[hli] ; number of warps + ld [$d3ae],a ; save the number of warps + and a ; are there any warps? + jr z,.loadSignData\@ ; if not, skip this + ld c,a + ld de,$d3af ; base address of warps +.warpLoop\@ ; one warp per loop iteration + ld b,$04 +.warpInnerLoop\@ + ld a,[hli] + ld [de],a + inc de + dec b + jr nz,.warpInnerLoop\@ + dec c + jr nz,.warpLoop\@ +.loadSignData\@ + ld a,[hli] ; number of signs + ld [$d4b0],a ; save the number of signs + and a ; are there any signs? + jr z,.loadSpriteData\@ ; if not, skip this + ld c,a + ld de,$d4d1 ; base address of sign text IDs + ld a,d + ld [$ff95],a + ld a,e + ld [$ff96],a + ld de,$d4b1 ; base address of sign coordinates +.signLoop\@ + ld a,[hli] + ld [de],a + inc de + ld a,[hli] + ld [de],a + inc de + push de + ld a,[$ff95] + ld d,a + ld a,[$ff96] + ld e,a + ld a,[hli] + ld [de],a + inc de + ld a,d + ld [$ff95],a + ld a,e + ld [$ff96],a + pop de + dec c + jr nz,.signLoop\@ +.loadSpriteData\@ + ld a,[$d72e] + bit 5,a ; did a battle happen immediately before this? + jp nz,.finishUp\@ ; if so, skip this because battles don't destroy this data + ld a,[hli] + ld [$d4e1],a ; save the number of sprites + push hl +; zero C110-C1FF and C210-C2FF + ld hl,$c110 + ld de,$c210 + xor a + ld b,$f0 +.zeroSpriteDataLoop\@ + ld [hli],a + ld [de],a + inc e + dec b + jr nz,.zeroSpriteDataLoop\@ +; initialize all C100-C1FF sprite entries to disabled (other than player's) + ld hl,$c112 + ld de,$0010 + ld c,$0f +.disableSpriteEntriesLoop\@ + ld [hl],$ff + add hl,de + dec c + jr nz,.disableSpriteEntriesLoop\@ + pop hl + ld de,$c110 + ld a,[$d4e1] ; number of sprites + and a ; are there any sprites? + jp z,.finishUp\@ ; if there are no sprites, skip the rest + ld b,a + ld c,$00 +.loadSpriteLoop\@ + ld a,[hli] + ld [de],a ; store picture ID at C1X0 + inc d + ld a,$04 + add e + ld e,a + ld a,[hli] + ld [de],a ; store Y position at C2X4 + inc e + ld a,[hli] + ld [de],a ; store X position at C2X5 + inc e + ld a,[hli] + ld [de],a ; store movement byte 1 at C2X6 + ld a,[hli] + ld [$ff8d],a ; save movement byte 2 + ld a,[hli] + ld [$ff8e],a ; save text ID and flags byte + push bc + push hl + ld b,$00 + ld hl,$d4e4 ; base address of sprite entries + add hl,bc + ld a,[$ff8d] + ld [hli],a ; store movement byte 2 in byte 0 of sprite entry + ld a,[$ff8e] + ld [hl],a ; this appears pointless, since the value is overwritten immediately after + ld a,[$ff8e] + ld [$ff8d],a + and a,$3f + ld [hl],a ; store text ID in byte 1 of sprite entry + pop hl + ld a,[$ff8d] + bit 6,a + jr nz,.trainerSprite\@ + bit 7,a + jr nz,.itemBallSprite\@ + jr .regularSprite\@ +.trainerSprite\@ + ld a,[hli] + ld [$ff8d],a ; save trainer class + ld a,[hli] + ld [$ff8e],a ; save trainer number (within class) + push hl + ld hl,$d504 ; base address of extra sprite info entries + add hl,bc + ld a,[$ff8d] + ld [hli],a ; store trainer class in byte 0 of the entry + ld a,[$ff8e] + ld [hl],a ; store trainer number in byte 1 of the entry + pop hl + jr .nextSprite\@ +.itemBallSprite\@ + ld a,[hli] + ld [$ff8d],a ; save item number + push hl + ld hl,$d504 ; base address of extra sprite info + add hl,bc + ld a,[$ff8d] + ld [hli],a ; store item number in byte 0 of the entry + xor a + ld [hl],a ; zero byte 1, since it is not used + pop hl + jr .nextSprite\@ +.regularSprite\@ + push hl + ld hl,$d504 ; base address of extra sprite info + add hl,bc +; zero both bytes, since regular sprites don't use this extra space + xor a + ld [hli],a + ld [hl],a + pop hl +.nextSprite\@ + pop bc + dec d + ld a,$0a + add e + ld e,a + inc c + inc c + dec b + jp nz,.loadSpriteLoop\@ +.finishUp\@ + ld a,$19 + call Predef ; load tileset data + ld hl,$4eb8 + ld b,$03 + call Bankswitch ; load wild pokemon data + pop hl ; restore hl from before going to the warp/sign/sprite data (this value was saved for seemingly no purpose) + ld a,[W_CURMAPHEIGHT] ; map height in 4x4 tile blocks + add a ; double it + ld [$d524],a ; store map height in 2x2 tile blocks + ld a,[W_CURMAPWIDTH] ; map width in 4x4 tile blocks + add a ; double it + ld [$d525],a ; map width in 2x2 tile blocks + ld a,[W_CURMAP] + ld c,a + ld b,$00 + ld a,[$ffb8] + push af + ld a,$03 + ld [$ffb8],a + ld [$2000],a + ld hl,$404d + add hl,bc + add hl,bc + ld a,[hli] + ld [$d35b],a ; music 1 + ld a,[hl] + ld [$d35c],a ; music 2 + pop af + ld [$ffb8],a + ld [$2000],a + ret + +; function to copy map connection data from ROM to WRAM +; Input: hl = source, de = destination +CopyMapConnectionHeader: ; 1238 + ld c,$0b +.loop\@ + ld a,[hli] + ld [de],a + inc de + dec c + jr nz,.loop\@ + ret + +; function to load map data +LoadMapData: ; 1241 + ld a,[$ffb8] + push af + call DisableLCD + ld a,$98 + ld [$d527],a + xor a + ld [$d526],a + ld [$ffaf],a + ld [$ffae],a + ld [W_WALKCOUNTER],a + ld [$d119],a + ld [$d11a],a + ld [$d3a8],a + call $36a0 ; transfer tile pattern data for text windows into VRAM + call LoadMapHeader + ld b,$05 + ld hl,$785b + call Bankswitch ; load tile pattern data for sprites + call LoadTileBlockMap + call LoadTilesetTilePatternData + call LoadCurrentMapView +; copy current map view to VRAM + ld hl,$c3a0 + ld de,$9800 + ld b,$12 +.vramCopyLoop\@ + ld c,$14 +.vramCopyInnerLoop\@ + ld a,[hli] + ld [de],a + inc e + dec c + jr nz,.vramCopyInnerLoop\@ + ld a,$0c + add e + ld e,a + jr nc,.noCarry\@ + inc d +.noCarry\@ + dec b + jr nz,.vramCopyLoop\@ + ld a,$01 + ld [$cfcb],a + call EnableLCD + ld b,$09 + call $3def ; handle SGB palette + call LoadPlayerSpriteGraphics + ld a,[$d732] + and a,$18 ; did the player fly or teleport in? + jr nz,.restoreRomBank\@ + ld a,[$d733] + bit 1,a + jr nz,.restoreRomBank\@ + call $235f ; music related + call $2312 ; music related +.restoreRomBank\@ + pop af + ld [$ffb8],a + ld [$2000],a + ret + +; function to switch to the ROM bank that a map is stored in +; Input: a = map number +SwitchToMapRomBank: ; 12BC + push hl + push bc + ld c,a + ld b,$00 + ld a,$03 + call BankswitchHome ; switch to ROM bank 3 + ld hl,MapHeaderBanks + add hl,bc + ld a,[hl] + ld [$ffe8],a ; save map ROM bank + call BankswitchBack + ld a,[$ffe8] + ld [$ffb8],a + ld [$2000],a ; switch to map ROM bank + pop bc + pop hl + ret + +INCBIN "baserom.gbc",$12DA,$1627 - $12DA + +;XXX what does this do +;XXX what points to this +Unknown_1627: ; 0x1627 + ld bc,$D0B8 + add hl,bc + ld a,[hli] + ld [$D0AB],a + ld a,[hl] + ld [$D0AC],a + +Unknown_1633: ; 0x1633 +; define (by index number) the bank that a pokemon's image is in +; index = Mew, bank 1 +; index = Kabutops fossil, bank $B +; index < $1F, bank 9 +; $1F ≤ index < $4A, bank $A +; $4A ≤ index < $74, bank $B +; $74 ≤ index < $99, bank $C +; $99 ≤ index, bank $D + ld a,[$CF91] ; XXX name for this ram location + ld b,a + cp $15 + ld a,$01 + jr z,.GotBank\@ + ld a,b + cp $B6 + ld a,$0B + jr z,.GotBank\@ + ld a,b + cp $1F + ld a,$09 + jr c,.GotBank\@ + ld a,b + cp $4A + ld a,$0A + jr c,.GotBank\@ + ld a,b + cp $74 + ld a,$0B + jr c,.GotBank\@ + ld a,b + cp $99 + ld a,$0C + jr c,.GotBank\@ + ld a,$0D +.GotBank\@ + jp $24FD + +INCBIN "baserom.gbc",$1665,$172F - $1665 + +Tset0B_Coll: ; 0x172F + INCBIN "gfx/tilesets/0b.tilecoll" +Tset00_Coll: ; 0x1735 + INCBIN "gfx/tilesets/00.tilecoll" +Tset01_Coll: ; 0x1749 + INCBIN "gfx/tilesets/01.tilecoll" +Tset02_Coll: ; 0x1753 + INCBIN "gfx/tilesets/02.tilecoll" +Tset05_Coll: ; 0x1759 + INCBIN "gfx/tilesets/05.tilecoll" +Tset03_Coll: ; 0x1765 + INCBIN "gfx/tilesets/03.tilecoll" +Tset08_Coll: ; 0x1775 + INCBIN "gfx/tilesets/08.tilecoll" +Tset09_Coll: ; 0x177f + INCBIN "gfx/tilesets/09.tilecoll" +Tset0D_Coll: ; 0x178a + INCBIN "gfx/tilesets/0d.tilecoll" +Tset0E_Coll: ; 0x1795 + INCBIN "gfx/tilesets/0e.tilecoll" +Tset0F_Coll: ; 0x179a + INCBIN "gfx/tilesets/0f.tilecoll" +Tset10_Coll: ; 0x17a2 + INCBIN "gfx/tilesets/10.tilecoll" +Tset11_Coll: ; 0x17ac + INCBIN "gfx/tilesets/11.tilecoll" +Tset12_Coll: ; 0x17b8 + INCBIN "gfx/tilesets/12.tilecoll" +Tset13_Coll: ; 0x17c0 + INCBIN "gfx/tilesets/13.tilecoll" +Tset14_Coll: ; 0x17ca + INCBIN "gfx/tilesets/14.tilecoll" +Tset15_Coll: ; 0x17d1 + INCBIN "gfx/tilesets/15.tilecoll" +Tset16_Coll: ; 0x17dd + INCBIN "gfx/tilesets/16.tilecoll" +Tset17_Coll: ; 0x17f0 + INCBIN "gfx/tilesets/17.tilecoll" +;Tile Collision ends 0x17f7 + +INCBIN "baserom.gbc",$17F7,$190F-$17F7 + +ClearScreen: ; 190F +; clears all tiles in the tilemap, +; then wait three frames + ld bc,$0168 ; tilemap size + inc b + ld hl,$C3A0 ; TILEMAP_START + ld a,$7F ; $7F is blank tile +.loop\@ + ld [hli],a + dec c + jr nz,.loop\@ + dec b + jr nz,.loop\@ + jp Delay3 + +TextBoxBorder: ; 1922 +; draw a text box +; upper-left corner at coordinates hl +; height b +; width c + + ; first row + push hl + ld a,"┌" + ld [hli],a + inc a ; horizontal border ─ + call NPlaceChar + inc a ; upper-right border ┐ + ld [hl],a + + ; middle rows + pop hl + ld de,20 + add hl,de ; skip the top row + +.PlaceRow\@ + push hl + ld a,"│" + ld [hli],a + ld a," " + call NPlaceChar + ld [hl],"│" + + pop hl + ld de,20 + add hl,de ; move to next row + dec b + jr nz,.PlaceRow\@ + + ; bottom row + ld a,"└" + ld [hli],a + ld a,"─" + call NPlaceChar + ld [hl],"┘" + ret +; +NPlaceChar: ; 0x194f +; place a row of width c of identical characters + ld d,c +.loop\@ + ld [hli],a + dec d + jr nz,.loop\@ + ret + +PlaceString: ; 1955 + push hl +PlaceNextChar: ; 1956 + ld a,[de] + + cp "@" + jr nz,.PlaceText\@ + ld b,h + ld c,l + pop hl + ret + +.PlaceText\@ + cp $4E + jr nz,.next\@ + ld bc,$0028 + ld a,[$FFF6] + bit 2,a + jr z,.next2\@ + ld bc,$14 +.next2\@ + pop hl + add hl,bc + push hl + jp Next19E8 + +.next\@ + cp $4F + jr nz,.next3\@ + pop hl + ld hl,$C4E1 + push hl + jp Next19E8 + +.next3\@ ; Check against a dictionary + and a + jp z,Char00 + cp $4C + jp z,$1B0A + cp $4B + jp z,Char4B + cp $51 + jp z,Char51 + cp $49 + jp z,Char49 + cp $52 + jp z,Char52 + cp $53 + jp z,Char53 + cp $54 + jp z,Char54 + cp $5B + jp z,Char5B + cp $5E + jp z,Char5E + cp $5C + jp z,Char5C + cp $5D + jp z,Char5D + cp $55 + jp z,$1A7C + cp $56 + jp z,Char56 + cp $57 + jp z,$1AAD + cp $58 + jp z,Char58 + cp $4A + jp z,Char4A + cp $5F + jp z,Char5F + cp $59 + jp z,Char59 + cp $5A + jp z,Char5A + ld [hli],a + call $38D3 +Next19E8: ; 0x19e8 + inc de + jp PlaceNextChar + +Char00: ; 0x19ec + ld b,h + ld c,l + pop hl + ld de,Char00Text + dec de + ret + +Char00Text: ; 0x19f4 “%d ERROR.” + TX_FAR _Char00Text + db "@" + +Char52: ; 0x19f9 player’s name + push de + ld de,W_PLAYERNAME + jr FinishDTE + +Char53: ; rival’s name + push de + ld de,W_RIVALNAME + jr FinishDTE + +Char5D: ; TRAINER + push de + ld de,Char5DText + jr FinishDTE + +Char5C: ; TM + push de + ld de,Char5CText + jr FinishDTE + +Char5B: ; PC + push de + ld de,Char5BText + jr FinishDTE + +Char5E: ; ROCKET + push de + ld de,Char5EText + jr FinishDTE + +Char54: ; POKé + push de + ld de,Char54Text + jr FinishDTE + +Char56: ; …… + push de + ld de,Char56Text + jr FinishDTE + +Char4A: ; PKMN + push de + ld de,Char4AText + jr FinishDTE + +Char59: +; depending on whose turn it is, print +; enemy active monster’s name, prefixed with “Enemy ” +; or +; player active monster’s name +; (like Char5A but flipped) + ld a,[H_WHOSETURN] + xor 1 + jr MonsterNameCharsCommon + +Char5A: +; depending on whose turn it is, print +; player active monster’s name +; or +; enemy active monster’s name, prefixed with “Enemy ” + ld a,[H_WHOSETURN] +MonsterNameCharsCommon: + push de + and a + jr nz,.Enemy\@ + ld de,$D009 ; player active monster name + jr FinishDTE + +.Enemy\@ ; 1A40 + ; print “Enemy ” + ld de,Char5AText + call PlaceString + + ld h,b + ld l,c + ld de,$CFDA ; enemy active monster name + +FinishDTE: + call PlaceString + ld h,b + ld l,c + pop de + inc de + jp PlaceNextChar + +Char5CText: ; 0x1a55 + db "TM@" +Char5DText: ; 0x1a58 + db "TRAINER@" +Char5BText: ; 0x1a60 + db "PC@" +Char5EText: ; 0x1a63 + db "ROCKET@" +Char54Text: ; 0x1a6a + db "POKé@" +Char56Text: ; 0x1a70 + db "……@" +Char5AText: ; 0x1a72 + db "Enemy @" +Char4AText: ; 0x1a79 + db $E1,$E2,"@" ; PKMN + +Char55: ; 0x1a7c + push de + ld b,h + ld c,l + ld hl,Char55Text + call $1B40 + ld h,b + ld l,c + pop de + inc de + jp PlaceNextChar + +Char55Text: ; 0x1a8c +; equivalent to Char4B + TX_FAR _Char55Text + db "@" + +Char5F: ; 0x1a91 +; ends a Pokédex entry + ld [hl],"." + pop hl + ret + +Char58: ; 0x1a95 + ld a,[$D12B] + cp 4 + jp z,Next1AA2 + ld a,$EE + ld [$C4F2],a +Next1AA2: ; 0x1aa2 + call ProtectedDelay3 + call $3898 + ld a,$7F + ld [$C4F2],a + pop hl + ld de,Char58Text + dec de + ret + +Char58Text: ; 0x1ab3 + db "@" + +Char51: ; 0x1ab4 + push de + ld a,$EE + ld [$C4F2],a + call ProtectedDelay3 + call $3898 + ld hl,$C4A5 + ld bc,$0412 + call $18C4 + ld c,$14 + call DelayFrames + pop de + ld hl,$C4B9 + jp Next19E8 + +Char49: ; 0x1ad5 + push de + ld a,$EE + ld [$C4F2],a + call ProtectedDelay3 + call $3898 + ld hl,$C469 + ld bc,$0712 + call $18C4 + ld c,$14 + call DelayFrames + pop de + pop hl + ld hl,$C47D + push hl + jp Next19E8 + +Char4B: ; 0x1af8 + ld a,$EE + ld [$C4F2],a + call ProtectedDelay3 + push de + call $3898 + pop de + ld a,$7F + ld [$C4F2],a + push de + call Next1B18 + call Next1B18 + ld hl,$C4E1 + pop de + jp Next19E8 + +Next1B18: ; 0x1b18 + ld hl,$C4B8 + ld de,$C4A4 + ld b,$3C +.next\@ + ld a,[hli] + ld [de],a + inc de + dec b + jr nz,.next\@ + ld hl,$C4E1 + ld a,$7F + ld b,$12 +.next2\@ + ld [hli],a + dec b + jr nz,.next2\@ + + ; wait five frames + ld b,5 +.WaitFrame\@ + call DelayFrame + dec b + jr nz,.WaitFrame\@ + + ret + +ProtectedDelay3: ; 0x1b3a + push bc + call Delay3 + pop bc + ret + +TextCommandProcessor: ; 1B40 + ld a,[$d358] + push af + set 1,a + ld e,a + ld a,[$fff4] + xor e + ld [$d358],a + ld a,c + ld [$cc3a],a + ld a,b + ld [$cc3b],a + +NextTextCommand: ; 1B55 + ld a,[hli] + cp a,$50 ; terminator + jr nz,.doTextCommand\@ + pop af + ld [$d358],a + ret +.doTextCommand\@ + push hl + cp a,$17 + jp z,TextCommand17 + cp a,$0e + jp nc,TextCommand0B ; if a != 0x17 and a >= 0xE, go to command 0xB +; if a < 0xE, use a jump table + ld hl,TextCommandJumpTable + push bc + add a + ld b,$00 + ld c,a + add hl,bc + pop bc + ld a,[hli] + ld h,[hl] + ld l,a + jp [hl] + +; draw box +; 04AAAABBCC +; AAAA = address of upper left corner +; BB = height +; CC = width +TextCommand04: ; 1B78 + pop hl + ld a,[hli] + ld e,a + ld a,[hli] + ld d,a + ld a,[hli] + ld b,a + ld a,[hli] + ld c,a + push hl + ld h,d + ld l,e + call TextBoxBorder + pop hl + jr NextTextCommand + +; place string inline +; 00{string} +TextCommand00: ; 1B8A + pop hl + ld d,h + ld e,l + ld h,b + ld l,c + call PlaceString + ld h,d + ld l,e + inc hl + jr NextTextCommand + +; place string from RAM +; 01AAAA +; AAAA = address of string +TextCommand01: ; 1B97 + pop hl + ld a,[hli] + ld e,a + ld a,[hli] + ld d,a + push hl + ld h,b + ld l,c + call PlaceString + pop hl + jr NextTextCommand + +; print BCD number +; 02AAAABB +; AAAA = address of BCD number +; BB +; bits 0-4 = length in bytes +; bits 5-7 = unknown flags +TextCommand02: ; 1BA5 + pop hl + ld a,[hli] + ld e,a + ld a,[hli] + ld d,a + ld a,[hli] + push hl + ld h,b + ld l,c + ld c,a + call $15cd + ld b,h + ld c,l + pop hl + jr NextTextCommand + +; repoint destination address +; 03AAAA +; AAAA = new destination address +TextCommand03: ; 1BB7 + pop hl + ld a,[hli] + ld [$cc3a],a + ld c,a + ld a,[hli] + ld [$cc3b],a + ld b,a + jp NextTextCommand + +; repoint destination to second line of dialogue text box +; 05 +; (no arguments) +TextCommand05: ; 1BC5 + pop hl + ld bc,$c4e1 ; address of second line of dialogue text box + jp NextTextCommand + +; blink arrow and wait for A or B to be pressed +; 06 +; (no arguments) +TextCommand06: ; 1BCC + ld a,[W_ISLINKBATTLE] + cp a,$04 + jp z,TextCommand0D + ld a,$ee ; down arrow + ld [$c4f2],a ; place down arrow in lower right corner of dialogue text box + push bc + call $3898 ; blink arrow and wait for A or B to be pressed + pop bc + ld a,$7f ; blank space + ld [$c4f2],a ; overwrite down arrow with blank space + pop hl + jp NextTextCommand + +; scroll text up one line +; 07 +; (no arguments) +TextCommand07: ; 1BE7 + ld a,$7f ; blank space + ld [$c4f2],a ; place blank space in lower right corner of dialogue text box + call $1b18 ; scroll up text + call $1b18 + pop hl + ld bc,$c4e1 ; address of second line of dialogue text box + jp NextTextCommand + +; execute asm inline +; 08{code} +TextCommand08: ; 1BF9 + pop hl + ld de,NextTextCommand + push de ; return address + jp [hl] + +; print decimal number (converted from binary number) +; 09AAAABB +; AAAA = address of number +; BB +; bits 0-3 = how many digits to display +; bits 4-7 = how long the number is in bytes +TextCommand09: ; 1BFF + pop hl + ld a,[hli] + ld e,a + ld a,[hli] + ld d,a + ld a,[hli] + push hl + ld h,b + ld l,c + ld b,a + and a,$0f + ld c,a + ld a,b + and a,$f0 + swap a + set 6,a + ld b,a + call $3c5f + ld b,h + ld c,l + pop hl + jp NextTextCommand + +; wait half a second if the user doesn't hold A or B +; 0A +; (no arguments) +TextCommand0A: ; 1C1D + push bc + call GetJoypadState + ld a,[$ffb4] + and a,%00000011 ; A and B buttons + jr nz,.skipDelay\@ + ld c,30 + call DelayFrames +.skipDelay\@ + pop bc + pop hl + jp NextTextCommand + +; plays sounds +; this actually handles various command ID's, not just 0B +; (no arguments) +TextCommand0B: ; 1C31 + pop hl + push bc + dec hl + ld a,[hli] + ld b,a ; b = command number that got us here + push hl + ld hl,TextCommandSounds +.loop\@ + ld a,[hli] + cp b + jr z,.matchFound\@ + inc hl + jr .loop\@ +.matchFound\@ + cp a,$14 + jr z,.pokemonCry\@ + cp a,$15 + jr z,.pokemonCry\@ + cp a,$16 + jr z,.pokemonCry\@ + ld a,[hl] + call $23b1 + call $3748 + pop hl + pop bc + jp NextTextCommand +.pokemonCry\@ + push de + ld a,[hl] + call $13d0 + pop de + pop hl + pop bc + jp NextTextCommand + +; format: text command ID, sound ID or cry ID +TextCommandSounds: ; 1C64 +db $0B,$86 +db $12,$9A +db $0E,$91 +db $0F,$86 +db $10,$89 +db $11,$94 +db $13,$98 +db $14,$A8 +db $15,$97 +db $16,$78 + +; draw ellipses +; 0CAA +; AA = number of ellipses to draw +TextCommand0C: ; 1C78 + pop hl + ld a,[hli] + ld d,a + push hl + ld h,b + ld l,c +.loop\@ + ld a,$75 ; ellipsis + ld [hli],a + push de + call GetJoypadState + pop de + ld a,[$ffb4] ; joypad state + and a,%00000011 ; is A or B button pressed? + jr nz,.skipDelay\@ ; if so, skip the delay + ld c,10 + call DelayFrames +.skipDelay\@ + dec d + jr nz,.loop\@ + ld b,h + ld c,l + pop hl + jp NextTextCommand + +; wait for A or B to be pressed +; 0D +; (no arguments) +TextCommand0D: ; 1C9A + push bc + call $3898 ; wait for A or B to be pressed + pop bc + pop hl + jp NextTextCommand + +; process text commands in another ROM bank +; 17AAAABB +; AAAA = address of text commands +; BB = bank +TextCommand17: ; 1CA3 + pop hl + ld a,[$ffb8] + push af + ld a,[hli] + ld e,a + ld a,[hli] + ld d,a + ld a,[hli] + ld [$ffb8],a + ld [$2000],a + push hl + ld l,e + ld h,d + call TextCommandProcessor + pop hl + pop af + ld [$ffb8],a + ld [$2000],a + jp NextTextCommand + +TextCommandJumpTable: ; 1CC1 +dw TextCommand00 +dw TextCommand01 +dw TextCommand02 +dw TextCommand03 +dw TextCommand04 +dw TextCommand05 +dw TextCommand06 +dw TextCommand07 +dw TextCommand08 +dw TextCommand09 +dw TextCommand0A +dw TextCommand0B +dw TextCommand0C +dw TextCommand0D + +; this function seems to be used only once +; it store the address of a row and column of the VRAM background map in hl +; INPUT: h - row, l - column, b - high byte of background tile map address in VRAM +GetRowColAddressBgMap: ; 1CDD + xor a + srl h + rr a + srl h + rr a + srl h + rr a + or l + ld l,a + ld a,b + or h + ld h,a + ret + +; clears a VRAM background map with blank space tiles +; INPUT: h - high byte of background tile map address in VRAM +ClearBgMap: ; 1CF0 + ld a,$7f ; blank space + jr .next\@ + ld a,l ; XXX does anything call this? +.next\@ + ld de,$400 ; size of VRAM background map + ld l,e +.loop\@ + ld [hli],a + dec e + jr nz,.loop\@ + dec d + jr nz,.loop\@ + ret + +INCBIN "baserom.gbc",$1D01,$1F54 - $1D01 + +; initialization code +; explanation for %11100011 (value stored in rLCDC) +; * LCD enabled +; * Window tile map at $9C00 +; * Window display enabled +; * BG and window tile data at $8800 +; * BG tile map at $9800 +; * 8x8 OBJ size +; * OBJ display enabled +; * BG display enabled +InitGame: ; 1F54 + di +; zero I/O registers + xor a + ld [$ff0f],a + ld [$ffff],a + ld [$ff43],a + ld [$ff42],a + ld [$ff01],a + ld [$ff02],a + ld [$ff4b],a + ld [$ff4a],a + ld [$ff06],a + ld [$ff07],a + ld [$ff47],a + ld [$ff48],a + ld [$ff49],a + ld a,%10000000 ; enable LCD + ld [rLCDC],a + call DisableLCD ; why enable then disable? + ld sp,$dfff ; initialize stack pointer + ld hl,$c000 ; start of WRAM + ld bc,$2000 ; size of WRAM +.zeroWramLoop\@ + ld [hl],0 + inc hl + dec bc + ld a,b + or c + jr nz,.zeroWramLoop\@ + call ZeroVram + ld hl,$ff80 + ld bc,$007f + call $36e0 ; zero HRAM + call CleanLCD_OAM ; this is unnecessary since it was already cleared above + ld a,$01 + ld [$ffb8],a + ld [$2000],a + call $4bed ; copy DMA code to HRAM + xor a + ld [$ffd7],a + ld [$ff41],a + ld [$ffae],a + ld [$ffaf],a + ld [$ff0f],a + ld a,%00001101 ; enable V-blank, timer, and serial interrupts + ld [rIE],a + ld a,$90 ; put the window off the screen + ld [$ffb0],a + ld [rWX],a + ld a,$07 + ld [rWY],a + ld a,$ff + ld [$ffaa],a + ld h,$98 + call ClearBgMap ; fill $9800-$9BFF (BG tile map) with $7F tiles + ld h,$9c + call ClearBgMap ; fill $9C00-$9FFF (Window tile map) with $7F tiles + ld a,%11100011 + ld [rLCDC],a ; enabled LCD + ld a,$10 + ld [$ff8a],a + call $200e + ei + ld a,$40 + call Predef ; SGB border + ld a,$1f + ld [$c0ef],a + ld [$c0f0],a + ld a,$9c + ld [$ffbd],a + xor a + ld [$ffbc],a + dec a + ld [$cfcb],a + ld a,$32 + call Predef ; display the copyrights, GameFreak logo, and battle animation + call DisableLCD + call ZeroVram + call $3ddc + call CleanLCD_OAM + ld a,%11100011 + ld [rLCDC],a ; enable LCD + jp $42b7 + +; zeroes all VRAM +ZeroVram: ; 2004 + ld hl,$8000 + ld bc,$2000 + xor a + jp $36e0 + +INCBIN "baserom.gbc",$200E,$20AF - $200E + +DelayFrame: ; 20AF +; delay for one frame + ld a,1 + ld [$FFD6],a + +; wait for the next Vblank, halting to conserve battery +.halt\@ + db $76 ; XXX this is a hack--rgbasm adds a nop after this instr even when ints are enabled + ld a,[$FFD6] + and a + jr nz,.halt\@ + + ret + +; These routines manage gradual fading +; (e.g., entering a doorway) +LoadGBPal: ; 20BA + ld a,[$d35d] ;tells if cur.map is dark (requires HM5_FLASH?) + ld b,a + ld hl,GBPalTable_00 ;16 + ld a,l + sub b + ld l,a + jr nc,.jr0\@ + dec h +.jr0\@ + ld a,[hli] + ld [rBGP],a + ld a,[hli] + ld [rOBP0],a + ld a,[hli] + ld [rOBP1],a + ret + +GBFadeOut1: ; 20D1 + ld hl,IncGradGBPalTable_01 ;0d + ld b,$04 + jr GBFadeOutCommon + +GBFadeOut2: ; 20D8 + ld hl,IncGradGBPalTable_02 ;1c + ld b,$03 + +GBFadeOutCommon: ; 0x20dd + ld a,[hli] + ld [rBGP],a + ld a,[hli] + ld [rOBP0],a + ld a,[hli] + ld [rOBP1],a + ld c,8 + call DelayFrames + dec b + jr nz,GBFadeOutCommon + ret + +GBFadeIn1: ; 20EF + ld hl,DecGradGBPalTable_01 ;18 + ld b,$04 + jr GBFadeInCommon + +GBFadeIn2: ; 20F6 + ld hl,DecGradGBPalTable_02 ;21 + ld b,$03 + +GBFadeInCommon: ; 0x20fb + ld a,[hld] + ld [rOBP1],a + ld a,[hld] + ld [rOBP0],a + ld a,[hld] + ld [rBGP],a + ld c,8 + call DelayFrames + dec b + jr nz,GBFadeInCommon + ret + +IncGradGBPalTable_01: ; 210D + db %11111111 ;BG Pal + db %11111111 ;OBJ Pal 1 + db %11111111 ;OBJ Pal 2 + ;and so on... + db %11111110 + db %11111110 + db %11111000 + + db %11111001 + db %11100100 + db %11100100 +GBPalTable_00: ; 0x2116 16 + db %11100100 + db %11010000 +DecGradGBPalTable_01: ; 0x2118 18 + db %11100000 + ;19 + db %11100100 + db %11010000 + db %11100000 +IncGradGBPalTable_02: ; 0x211c + db %10010000 + db %10000000 + db %10010000 + + db %01000000 + db %01000000 +DecGradGBPalTable_02: ; 0x2121 + db %01000000 + + db %00000000 + db %00000000 + db %00000000 + +INCBIN "baserom.gbc",$2125,$2442 - $2125 + +; XXX where is the pointer to this data? +MartInventories: ; 2442 + ; first byte $FE, next byte # of items, last byte $FF + +; Viridian +ViridianMartText4: ; 2442 XXX confirm + db $FE,4,POKE_BALL,ANTIDOTE,PARLYZ_HEAL,BURN_HEAL,$FF + +; Pewter +PewterMartText1: ; 2449 + db $FE,7,POKE_BALL,POTION,ESCAPE_ROPE,ANTIDOTE,BURN_HEAL,AWAKENING + db PARLYZ_HEAL,$FF + +; Cerulean +CeruleanMartText1: ; 2453 + db $FE,7,POKE_BALL,POTION,REPEL,ANTIDOTE,BURN_HEAL,AWAKENING + db PARLYZ_HEAL,$FF + +; Bike shop + db $FE,1,BICYCLE,$FF + +; Vermilion +VermilionMartText1: ; 2461 + db $FE,6,POKE_BALL,SUPER_POTION,ICE_HEAL,AWAKENING,PARLYZ_HEAL + db REPEL,$FF + +; Lavender +LavenderMartText1: ; 246a + db $FE,9,GREAT_BALL,SUPER_POTION,REVIVE,ESCAPE_ROPE,SUPER_REPEL + db ANTIDOTE,BURN_HEAL,ICE_HEAL,PARLYZ_HEAL,$FF + +; Celadon Dept. Store 2F (1) +CeladonMart2Text1: ; 2476 + db $FE,9,GREAT_BALL,SUPER_POTION,REVIVE,SUPER_REPEL,ANTIDOTE + db BURN_HEAL,ICE_HEAL,AWAKENING,PARLYZ_HEAL,$FF + +; Celadon Dept. Store 2F (2) +CeladonMart2Text2: ; 2482 + db $FE,9,TM_32,TM_33,TM_02,TM_07,TM_37,TM_01,TM_05,TM_09,TM_17,$FF + +; Celadon Dept. Store 4F +CeladonMart4Text1: ; 248e + db $FE,5,POKE_DOLL,FIRE_STONE,THUNDER_STONE,WATER_STONE,LEAF_STONE,$FF + +; Celadon Dept. Store 5F (1) +CeladonMart5Text3: ; 2496 + db $FE,7,X_ACCURACY,GUARD_SPEC_,DIRE_HIT,X_ATTACK,X_DEFEND,X_SPEED + db X_SPECIAL,$FF + +; Celadon Dept. Store 5F (2) +CeladonMart5Text4: ; 24a0 + db $FE,5,HP_UP,PROTEIN,IRON,CARBOS,CALCIUM,$FF + +; Fuchsia +FuchsiaMartText1: ; 24a8 + db $FE,6,ULTRA_BALL,GREAT_BALL,SUPER_POTION,REVIVE,FULL_HEAL + db SUPER_REPEL,$FF + +; unused? 24b1 + db $FE,5,GREAT_BALL,HYPER_POTION,SUPER_POTION,FULL_HEAL,REVIVE,$FF + +; Cinnabar +CinnabarMartText1: ; 24b9 + db $FE,7,ULTRA_BALL,GREAT_BALL,HYPER_POTION,MAX_REPEL,ESCAPE_ROPE + db FULL_HEAL,REVIVE,$FF + +; Saffron +SaffronMartText1: ; 24c3 + db $FE,6,GREAT_BALL,HYPER_POTION,MAX_REPEL,ESCAPE_ROPE,FULL_HEAL + db REVIVE,$FF + +; Indigo +IndigoPlateauLobbyText4: ; 24cc + db $FE,7,ULTRA_BALL,GREAT_BALL,FULL_RESTORE,MAX_POTION,FULL_HEAL + db REVIVE,MAX_REPEL,$FF + +TextScriptEndingChar: ; 24D6 + db "@" +TextScriptEnd: ; 24D7 24d7 + ld hl,TextScriptEndingChar + ret + +UnnamedText_24db: ; 0x24db + TX_FAR _UnnamedText_24db + db $50 +; 0x24db + 5 bytes + +UnnamedText_24e0: ; 0x24e0 + TX_FAR _UnnamedText_24e0 + db $50 +; 0x24e0 + 5 bytes + +VictoryRoad3Text10: +VictoryRoad3Text9: +VictoryRoad3Text8: +VictoryRoad3Text7: +VictoryRoad2Text13: +VictoryRoad2Text12: +VictoryRoad2Text11: +SeafoamIslands1Text2: +SeafoamIslands1Text1: +SeafoamIslands5Text2: +SeafoamIslands5Text1: +SeafoamIslands4Text6: +SeafoamIslands4Text5: +SeafoamIslands4Text4: +SeafoamIslands4Text3: +SeafoamIslands4Text2: +SeafoamIslands4Text1: +SeafoamIslands3Text2: +SeafoamIslands3Text1: +SeafoamIslands2Text2: +SeafoamIslands2Text1: +FuchsiaHouse2Text3: +VictoryRoad1Text7: +VictoryRoad1Text6: +VictoryRoad1Text5: ; 0x24e5 + TX_FAR _VictoryRoad1Text5 + db $50 + +SaffronCityText19: +CinnabarIslandText4: +FuchsiaCityText14: +VermilionCityText9: +LavenderTownText6: +CeruleanCityText14: +PewterCityText8: +ViridianCityText11: ; 0x24ea + TX_FAR _ViridianCityText11 + db $50 + +PewterCityText9: +CeruleanCityText15: +LavenderTownText7: +VermilionCityText10: +CeladonCityText12: +FuchsiaCityText15: +CinnabarIslandText5: +SaffronCityText23: +Route4Text4: +Route10Text8: +ViridianCityText12: ; 0x24ef + TX_FAR _ViridianCityText12 + db $50 + +Route2Text1: +Route4Text3: +Route9Text10: +Route12Text9: +Route12Text10: +Route15Text11: +Route24Text8: +Route25Text10: +ViridianGymText11: +ViridianForestText5: +ViridianForestText6: +ViridianForestText7: +MtMoon1Text8: +MtMoon1Text9: +MtMoon1Text10: +MtMoon1Text11: +MtMoon1Text12: +MtMoon1Text13: +MtMoon3Text8: +MtMoon3Text9: +PowerPlantText10: +PowerPlantText11: +PowerPlantText12: +PowerPlantText13: +PowerPlantText14: +SSAnne8Text10: +SSAnne9Text6: +SSAnne9Text9: +SSAnne10Text9: +SSAnne10Text10: +SSAnne10Text11: +VictoryRoad1Text3: +VictoryRoad1Text4: +PokemonTower3Text4: +PokemonTower4Text4: +PokemonTower4Text5: +PokemonTower4Text6: +PokemonTower5Text6: +PokemonTower6Text4: +PokemonTower6Text5: +FuchsiaHouse2Text2: +VictoryRoad2Text7: +VictoryRoad2Text8: +VictoryRoad2Text9: +VictoryRoad2Text10: +VictoryRoad3Text5: +VictoryRoad3Text6: +RocketHideout1Text6: +RocketHideout1Text7: +RocketHideout2Text2: +RocketHideout2Text3: +RocketHideout2Text4: +RocketHideout2Text5: +RocketHideout3Text3: +RocketHideout3Text4: +RocketHideout4Text5: +RocketHideout4Text6: +RocketHideout4Text7: +RocketHideout4Text8: +RocketHideout4Text9: +SilphCo3Text4: +SilphCo4Text5: +SilphCo4Text6: +SilphCo4Text7: +SilphCo5Text6: +SilphCo5Text7: +SilphCo5Text8: +SilphCo6Text9: +SilphCo6Text10: +SilphCo7Text10: +SilphCo7Text11: +SilphCo7Text12: +Mansion1Text2: +Mansion1Text3: +Mansion2Text2: +Mansion3Text3: +Mansion3Text4: +Mansion4Text3: +Mansion4Text4: +Mansion4Text5: +Mansion4Text6: +Mansion4Text8: +SafariZoneEastText1: +SafariZoneEastText2: +SafariZoneEastText3: +SafariZoneEastText4: +SafariZoneNorthText1: +SafariZoneNorthText2: +SafariZoneWestText1: +SafariZoneWestText2: +SafariZoneWestText3: +SafariZoneWestText4: +SafariZoneCenterText1: +UnknownDungeon2Text1: +UnknownDungeon2Text2: +UnknownDungeon2Text3: +UnknownDungeon3Text2: +UnknownDungeon3Text3: +UnknownDungeon1Text1: +UnknownDungeon1Text2: +UnknownDungeon1Text3: +SilphCo10Text4: +SilphCo10Text5: +SilphCo10Text6: +Route2Text2: ; 24f4 0x424f4 + db $08 ; asm + ld a, $5c + call Predef + jp TextScriptEnd + +INCBIN "baserom.gbc",$24fd,$2920 - $24fd + +; this function is used to display sign messages, sprite dialog, etc. +; INPUT: [$ff8c] = sprite ID or text ID +DisplayTextID: ; 2920 + ld a,[$ffb8] + push af + ld b,BANK(DisplayTextIDInit) + ld hl,DisplayTextIDInit ; initialization + call Bankswitch + ld hl,$cf11 + bit 0,[hl] + res 0,[hl] + jr nz,.skipSwitchToMapBank\@ + ld a,[W_CURMAP] + call SwitchToMapRomBank +.skipSwitchToMapBank\@ + ld a,$1e + ld [$ffd5],a ; joypad poll timer + ld hl,W_MAPTEXTPTR + ld a,[hli] + ld h,[hl] + ld l,a ; hl = map text pointer + ld d,$00 + ld a,[$ff8c] ; text ID + ld [$cf13],a + and a + jp z,$2acd + cp a,$d3 ; safari game over + jp z,$2a90 + cp a,$d0 ; fainted + jp z,$2a9b + cp a,$d1 ; blacked out + jp z,$2aa9 + cp a,$d2 ; repel wore off + jp z,$2abf + ld a,[$d4e1] ; number of sprites + ld e,a + ld a,[$ff8c] ; sprite ID + cp e + jr z,.spriteHandling\@ + jr nc,.skipSpriteHandling\@ +.spriteHandling\@ +; get the text ID of the sprite + push hl + push de + push bc + ld b,$04 + ld hl,$7074 + call Bankswitch ; update the graphics of the sprite the player is talking to (to face the right direction) + pop bc + pop de + ld hl,$d4e4 ; NPC text entries + ld a,[$ff8c] + dec a + add a + add l + ld l,a + jr nc,.noCarry\@ + inc h +.noCarry\@ + inc hl + ld a,[hl] ; a = text ID of the sprite + pop hl +.skipSpriteHandling\@ +; look up the address of the text in the map's text entries + dec a + ld e,a + sla e + add hl,de + ld a,[hli] + ld h,[hl] + ld l,a + ld a,[hl] ; hl = address of the text +; check for special cases + cp a,$fe ; Pokemart NPC + jp z,$2a2e + cp a,$ff ; Pokemon Center NPC + jp z,$2a72 + cp a,$fc ; Item Storage PC + jp z,$3460 + cp a,$fd ; Bill's PC + jp z,$346a + cp a,$f9 ; Pokemon Center PC + jp z,$347f + cp a,$f5 ; Vending Machine + jr nz,.notVendingMachine\@ + ld b,$1d + ld hl,$4ee0 + call Bankswitch + jr .skipTextDisplay\@ +.notVendingMachine\@ + cp a,$f7 ; slot machine + jp z,$3474 + cp a,$f6 ; cable connection NPC in Pokemon Center + jr nz,.notSpecialCase\@ + ld hl,$71c5 + ld b,$01 + call Bankswitch + jr .skipTextDisplay\@ +.notSpecialCase\@ + call $3c59 ; display the text + ld a,[$cc3c] + and a + jr nz,.holdBoxOpen\@ +.skipTextDisplay\@ + ld a,[$cc47] + and a + jr nz,.holdBoxOpen\@ + call $3865 ; wait for a button press after displaying all the text +; loop to hold the dialogue box open as long as the player keeps holding down the A button +.holdBoxOpen\@ + call GetJoypadState + ld a,[$ffb4] + bit 0,a ; is the A button being pressed? + jr nz,.holdBoxOpen\@ + ld a,[W_CURMAP] + call SwitchToMapRomBank + ld a,$90 + ld [$ffb0],a ; move the window off the screen + call DelayFrame + call LoadGBPal + xor a + ld [$ffba],a ; disable continuous WRAM to VRAM transfer each V-blank +; loop to make sprites face the directions they originally faced before the dialogue + ld hl,$c219 + ld c,$0f + ld de,$0010 +.restoreSpriteFacingDirectionLoop\@ + ld a,[hl] + dec h + ld [hl],a + inc h + add hl,de + dec c + jr nz,.restoreSpriteFacingDirectionLoop\@ + ld a,$05 + ld [$ffb8],a + ld [$2000],a + call $785b ; reload sprite tile pattern data (since it was partially overwritten by text tile patterns) + ld hl,$cfc4 + res 0,[hl] + ld a,[$d732] + bit 3,a + call z,LoadPlayerSpriteGraphics + call LoadCurrentMapView + pop af + ld [$ffb8],a + ld [$2000],a + jp $2429 ; move sprites + +INCBIN "baserom.gbc",$2a2e,$2a55 - $2a2e + +UnnamedText_2a55: ; 0x2a55 + TX_FAR _UnnamedText_2a55 + db $50 +; 0x2a55 + 5 bytes + +INCBIN "baserom.gbc",$2a5a,$2aa4 - $2a5a + +UnnamedText_2aa4: ; 0x2aa4 + TX_FAR _UnnamedText_2aa4 + db $50 +; 0x2aa4 + 5 bytes + +INCBIN "baserom.gbc",$2aa9,$2aba - $2aa9 + +UnnamedText_2aba: ; 0x2aba + TX_FAR _UnnamedText_2aba + db $50 +; 0x2aba + 5 bytes + +INCBIN "baserom.gbc",$2abf,$2ac8 - $2abf + +UnnamedText_2ac8: ; 0x2ac8 + TX_FAR _UnnamedText_2ac8 + db $50 +; 0x2ac8 + 5 bytes + +INCBIN "baserom.gbc",$2acd,$4d1 + +GetMonName: ; 2F9E + push hl + ld a,[$ffb8] + push af + ld a,BANK(MonsterNames) ; 07 + ld [$ffb8],a + ld [$2000],a + ld a,[$d11e] + dec a + ld hl,MonsterNames ; 421E + ld c,10 + ld b,0 + call AddNTimes + ld de,$cd6d + push de + ld bc,10 + call CopyData + ld hl,$cd77 + ld [hl],$50 + pop de + pop af + ld [$ffb8],a + ld [$2000],a + pop hl + ret + +GetItemName: ; 2FCF +; given an item ID at [$D11E], store the name of the item into a string +; starting at $CD6D + push hl + push bc + ld a,[$D11E] + cp HM_01 ; is this a TM/HM? + jr nc,.Machine\@ + + ld [$D0B5],a + ld a,ITEM_NAME + ld [$D0B6],a + ld a,BANK(ItemNames) + ld [$D0B7],a + call GetName + jr .Finish\@ + +.Machine\@ + call GetMachineName +.Finish\@ + ld de,$CD6D ; pointer to where item name is stored in RAM + pop bc + pop hl + ret + +GetMachineName: ; 2ff3 +; copies the name of the TM/HM in [$D11E] to $CD6D + push hl + push de + push bc + ld a,[$D11E] + push af + cp TM_01 ; is this a TM? [not HM] + jr nc,.WriteTM\@ +; if HM, then write "HM" and add 5 to the item ID, so we can reuse the +; TM printing code + add 5 + ld [$D11E],a + ld hl,HiddenPrefix ; points to "HM" + ld bc,2 + jr .WriteMachinePrefix\@ +.WriteTM\@ + ld hl,TechnicalPrefix ; points to "TM" + ld bc,2 +.WriteMachinePrefix\@ + ld de,$CD6D + call CopyData + +; now get the machine number and convert it to text + ld a,[$D11E] + sub TM_01 - 1 + ld b,$F6 ; "0" +.FirstDigit\@ + sub 10 + jr c,.SecondDigit\@ + inc b + jr .FirstDigit\@ +.SecondDigit\@ + add 10 + push af + ld a,b + ld [de],a + inc de + pop af + ld b,$F6 ; "0" + add b + ld [de],a + inc de + ld a,"@" + ld [de],a + + pop af + ld [$D11E],a + pop bc + pop de + pop hl + ret + +TechnicalPrefix: ; 303c + db "TM" +HiddenPrefix: ; 303e + db "HM" + +INCBIN "baserom.gbc",$3040,$31cc - $3040 + +LoadTrainerHeader: ; 0x31cc + call $3157 + xor a + call $3193 + ld a, $2 + call $3193 + ld a, [$cc55] + ld c, a + ld b, $2 + call $31c7 + ld a, c + and a + jr z, .asm_c2964 ; 0x31e3 $8 + ld a, $6 + call $3193 + jp PrintText +.asm_c2964 ; 0x31ed + ld a, $4 + call $3193 + call PrintText + ld a, $a + call $3193 + push de + ld a, $8 + call $3193 + pop de + call $3354 + ld hl, $d733 + set 4, [hl] + ld hl, $cd60 + bit 0, [hl] + ret nz + call $336a + ld hl, $da39 + inc [hl] + jp $325d + call $3306 + ld a, [$cf13] + cp $ff + jr nz, .asm_76c22 ; 0x3221 $8 + xor a + ld [$cf13], a + ld [$cc55], a + ret +.asm_76c22 ; 0x322b + ld hl, $d733 + set 3, [hl] + ld [$cd4f], a + xor a + ld [$cd50], a + ld a, $4c + call Predef + ld a, $f0 + ld [$cd6b], a + xor a + ldh [$b4], a + call $32cf + ld hl, $da39 + inc [hl] + ret + +INCBIN "baserom.gbc",$324c,$3474 - $324c + +FuncTX_F7: ; 3474 +; XXX find a better name for this function +; special_F7 + ld b,BANK(CeladonPrizeMenu) + ld hl,CeladonPrizeMenu + call Bankswitch + jp $29DF ; continue to main text-engine function + +INCBIN "baserom.gbc",$347F,$3493 - $347F + +IsItemInBag: ; 3493 +; given an item_id in b +; set zero flag if item isn't in player's bag +; else reset zero flag +; related to Pokémon Tower and ghosts + ld a,$1C + call Predef + ld a,b + and a + ret + +INCBIN "baserom.gbc",$349B,$3541 - $349B + +Function3541: ; 3541 +; XXX what do these three functions do + push hl + call Function354E + ld [hl],$FF + call Function3558 + ld [hl],$FF ; prevent person from walking? + pop hl + ret + +Function354E: ; 354E + ld h,$C2 + ld a,[$FF8C] ; the sprite to move + swap a + add a,6 + ld l,a + ret + +Function3558: ; 3558 + push de + ld hl,W_PEOPLEMOVEPERMISSIONS + ld a,[$FF8C] ; the sprite to move + dec a + add a + ld d,0 + ld e,a + add hl,de + pop de + ret + +INCBIN "baserom.gbc",$3566,$35BC - $3566 + +BankswitchHome: ; 35BC +; switches to bank # in a +; Only use this when in the home bank! + ld [$CF09],a + ld a,[$FFB8] + ld [$CF08],a + ld a,[$CF09] + ld [$FFB8],a + ld [$2000],a + ret + +BankswitchBack: ; 35CD +; returns from BankswitchHome + ld a,[$CF08] + ld [$FFB8],a + ld [$2000],a + ret + +Bankswitch: ; 35D6 +; self-contained bankswitch, use this when not in the home bank +; switches to the bank in b + ld a,[$FFB8] + push af + ld a,b + ld [$FFB8],a + ld [$2000],a + ld bc,.Return\@ + push bc + jp [hl] +.Return\@ + pop bc + ld a,b + ld [$FFB8],a + ld [$2000],a + ret + +INCBIN "baserom.gbc",$35EC,$363A - $35EC + +MoveSprite: ; 363A +; move the sprite [$FF8C] with the movement pointed to by de +; actually only copies the movement data to $CC5B for later + call Function3541 + push hl + push bc + call Function354E + xor a + ld [hl],a + ld hl,$CC5B + ld c,0 + +.loop\@ + ld a,[de] + ld [hli],a + inc de + inc c + cp a,$FF ; have we reached the end of the movement data? + jr nz,.loop\@ + + ld a,c + ld [$CF0F],a ; number of steps taken + + pop bc + ld hl,$D730 + set 0,[hl] + pop hl + xor a + ld [$CD3B],a + ld [$CCD3],a + dec a + ld [$CD6B],a + ld [$CD3A],a + ret + +INCBIN "baserom.gbc",$366B,$3739 - $366B + +DelayFrames: ; 3739 +; wait n frames, where n is the value in c + call DelayFrame + dec c + jr nz,DelayFrames + ret + +INCBIN "baserom.gbc",$3740,$375D - $3740 + +NamePointers: ; 375D + dw MonsterNames + dw MoveNames + dw UnusedNames + dw ItemNames + dw $D273 ; player's OT names list + dw $D9AC ; enemy's OT names list + dw TrainerNames + +GetName: ; 376B +; arguments: +; [$D0B5] = which name +; [$D0B6] = which list +; [$D0B7] = bank of list +; +; returns pointer to name in de + ld a,[$d0b5] + ld [$d11e],a + cp a,$C4 ;it's TM/HM + jp nc,GetMachineName + ld a,[$ffb8] + push af + push hl + push bc + push de + ld a,[$d0b6] ;List3759_entrySelector + dec a + jr nz,.otherEntries\@ + ;1 = MON_NAMES + call GetMonName + ld hl,11 + add hl,de + ld e,l + ld d,h + jr .gotPtr\@ +.otherEntries\@ ; $378d + ;2-7 = OTHER ENTRIES + ld a,[$d0b7] + ld [$ffb8],a + ld [$2000],a + ld a,[$d0b6] ;VariousNames' entryID + dec a + add a + ld d,0 + ld e,a + jr nc,.skip\@ + inc d +.skip\@ ; $37a0 + ld hl,NamePointers + add hl,de + ld a,[hli] + ld [$ff96],a + ld a,[hl] + ld [$ff95],a + ld a,[$ff95] + ld h,a + ld a,[$ff96] + ld l,a + ld a,[$d0b5] + ld b,a + ld c,0 +.nextName\@ + ld d,h + ld e,l +.nextChar\@ + ld a,[hli] + cp a,$50 + jr nz,.nextChar\@ + inc c ;entry counter + ld a,b ;wanted entry + cp c + jr nz,.nextName\@ + ld h,d + ld l,e + ld de,$cd6d + ld bc,$0014 + call CopyData +.gotPtr\@ ; $37cd + ld a,e + ld [$cf8d],a + ld a,d + ld [$cf8e],a + pop de + pop bc + pop hl + pop af + ld [$ffb8],a + ld [$2000],a + ret + +INCBIN "baserom.gbc",$37df,$3831 - $37df + +; this function is used when lower button sensitivity is wanted (e.g. menus) +; OUTPUT: [$ffb5] = pressed buttons in usual format +; there are two flags that control its functionality, [$ffb6] and [$ffb7] +; there are esentially three modes of operation +; 1. Get newly pressed buttons only +; ([$ffb7] == 0, [$ffb6] == any) +; Just copies [$ffb3] to [$ffb5]. +; 2. Get currently pressed buttons at low sample rate with delay +; ([$ffb7] == 0, [$ffb6] != 0) +; If the user holds down buttons for more than half a second, +; report buttons as being pressed up to 12 times per second thereafter. +; If the user holds down buttons for less than half a second, +; report only one button press. +; 3. Same as 2, but report no buttons as pressed if A or B is held down. +; ([$ffb7] == 0, [$ffb6] == 0) +GetJoypadStateLowSensitivity: ; 3831 + call GetJoypadState + ld a,[$ffb7] ; flag + and a ; get all currently pressed buttons or only newly pressed buttons? + ld a,[$ffb3] ; newly pressed buttons + jr z,.storeButtonState\@ + ld a,[$ffb4] ; all currently pressed buttons +.storeButtonState\@ + ld [$ffb5],a + ld a,[$ffb3] ; newly pressed buttons + and a ; have any buttons been newly pressed since last check? + jr z,.noNewlyPressedButtons\@ +.newlyPressedButtons\@ + ld a,30 ; half a second delay + ld [$ffd5],a ; frame counter + ret +.noNewlyPressedButtons\@ + ld a,[$ffd5] ; frame counter + and a ; is the delay over? + jr z,.delayOver\@ +.delayNotOver\@ + xor a + ld [$ffb5],a ; report no buttons as pressed + ret +.delayOver\@ +; if [$ffb6] = 0 and A or B is pressed, report no buttons as pressed + ld a,[$ffb4] + and a,%00000011 ; A and B buttons + jr z,.setShortDelay\@ + ld a,[$ffb6] ; flag + and a + jr nz,.setShortDelay\@ + xor a + ld [$ffb5],a +.setShortDelay\@ + ld a,5 ; 1/12 of a second delay + ld [$ffd5],a ; frame counter + ret + +INCBIN "baserom.gbc",$3865,$3927 - $3865 + +AddPokemonToParty: ; 0x3927 + push hl + push de + push bc + ld b, $3 ; BANK(MyFunction) + ld hl, $72e5 ; MyFunction + call Bankswitch + pop bc + pop de + pop hl + ret + +INCBIN "baserom.gbc",$3936,$3A87 - $3936 + +AddNTimes: ; 3A87 +; add bc to hl a times + and a + ret z +.loop\@ + add hl,bc + dec a + jr nz,.loop\@ + ret + +INCBIN "baserom.gbc",$3A8E,$3C49 - $3A8E + +PrintText: ; 3C49 +; given a pointer in hl, print the text there + push hl + ld a,1 + ld [$D125],a + call $30E8 + call $2429 + call Delay3 + pop hl + FuncCoord 1,14 + ld bc,Coord ;$C4B9 + jp $1B40 + +Func3C5F: ; 3C5F + push bc + xor a + ld [$FF95],a + ld [$FF96],a + ld [$FF97],a + ld a,b + and $F + cp 1 + jr z,.next\@ + cp 2 + jr z,.next2\@ + ld a,[de] + ld [$FF96],a + inc de + ld a,[de] + ld [$FF97],a + inc de + ld a,[de] + ld [$FF98],a + jr .next3\@ + +.next2\@ + ld a,[de] + ld [$FF97],a + inc de + ld a,[de] + ld [$FF98],a + jr .next3\@ + +.next\@ + ld a,[de] + ld [$FF98],a + +.next3\@ + push de + ld d,b + ld a,c + ld b,a + xor a + ld c,a + ld a,b + cp 2 + jr z,.next4\@ + cp 3 + jr z,.next5\@ + cp 4 + jr z,.next6\@ + cp 5 + jr z,.next7\@ + cp 6 + jr z,.next8\@ + ld a,$F + ld [$FF99],a + ld a,$42 + ld [$FF9A],a + ld a,$40 + ld [$FF9B],a + call $3D25 + call $3D89 +.next8\@ + ld a,1 + ld [$FF99],a + ld a,$86 + ld [$FF9A],a + ld a,$A0 + ld [$FF9B],a + call $3D25 + call $3D89 +.next7\@ + xor a + ld [$FF99],a + ld a,$27 + ld [$FF9A],a + ld a,$10 + ld [$FF9B],a + call $3D25 + call $3D89 +.next6\@ + xor a + ld [$FF99],a + ld a,3 + ld [$FF9A],a + ld a,$E8 + ld [$FF9B],a + call $3D25 + call $3D89 +.next5\@ + xor a + ld [$FF99],a + xor a + ld [$FF9A],a + ld a,$64 + ld [$FF9B],a + call $3D25 + call $3D89 +.next4\@ + ld c,0 + ld a,[$FF98] +.next10\@ + cp $A + jr c,.next9\@ + sub $A + inc c + jr .next10\@ +.next9\@ + ld b,a + ld a,[$FF95] + or c + ld [$FF95],a + jr nz,.next11\@ + call $3D83 + jr .next12\@ +.next11\@ + ld a,$F6 + add a,c + ld [hl],a +.next12\@ + call $3D89 + ld a,$F6 + add a,b + ld [hli],a + pop de + dec de + pop bc + ret + +INCBIN "baserom.gbc",$3D25,$3DAB - $3D25 + +IsInArray: ; 3DAB +; searches an array at hl for the value in a. +; skips (de − 1) bytes between reads, so to check every byte, de should be 1. +; if found, returns count in b and sets carry. + ld b,0 + ld c,a +.loop\@ + ld a,[hl] + cp a,$FF + jr z,.NotInArray\@ + cp c + jr z,.InArray\@ + inc b + add hl,de + jr .loop\@ +.NotInArray\@ + and a + ret +.InArray\@ + scf + ret + +INCBIN "baserom.gbc",$3DBE,$3DD7 - $3DBE + +Delay3: ; 3DD7 +; call Delay with a parameter of 3 + ld c,3 + jp DelayFrames + +INCBIN "baserom.gbc",$3DDC,$3DED - $3DDC + +GoPAL_SET_CF1C: ; 3ded + ld b,$ff +GoPAL_SET: ; 3def + ld a,[$cf1b] + and a + ret z + ld a,$45 + jp Predef + +INCBIN "baserom.gbc",$3df9,$3e2e - $3df9 + +GiveItem: ; 0x3e2e + ld a, b + ld [$d11e], a + ld [$cf91], a + ld a, c + ld [$cf96], a + ld hl,W_NUMBAGITEMS + call $2bcf + ret nc + call GetItemName ; $2fcf + call $3826 + scf + ret + +GivePokemon: ; 0x3e48 + ld a, b + ld [$cf91], a + ld a, c + ld [$d127], a + xor a + ld [$cc49], a + ld b, $13 + ld hl, $7da5 + jp Bankswitch + +GenRandom: ; 3E5C +; store a random 8-bit value in a + push hl + push de + push bc + ld b,BANK(GenRandom_) + ld hl,GenRandom_ + call Bankswitch + ld a,[H_RAND1] + pop bc + pop de + pop hl + ret + +Predef: ; 3E6D +; runs a predefined ASM command, where the command ID is read from $D0B7 +; $3E6D grabs the ath pointer from PredefPointers and executes it + + ld [$CC4E],a ; save the predef routine's ID for later + + ld a,[$FFB8] + ld [$CF12],a + + ; save bank and call 13:7E49 + push af + ld a,BANK(GetPredefPointer) + ld [$FFB8],a + ld [$2000],a + call GetPredefPointer + + ; call the predef function + ; ($D0B7 has the bank of the predef routine) + ld a,[$D0B7] + ld [$FFB8],a + ld [$2000],a + ld de,.Return\@ + push de + jp [hl] + ; after the predefined function finishes it returns here +.Return\@ + pop af + ld [$FFB8],a + ld [$2000],a + ret + +INCBIN "baserom.gbc",$3E94,$4000 - $3E94 + +SECTION "bank1",DATA,BANK[$1] + +INCBIN "baserom.gbc",$4000,$112 + +MewPicFront: ; 0x4112 + INCBIN "pic/bmon/mew.pic" +MewPicBack: ; 0x4205 + INCBIN "pic/monback/mewb.pic" +; 0x425b + +INCBIN "baserom.gbc",$425b,$42a7 - $425b + +UnnamedText_42a7: ; 0x42a7 + TX_FAR SafariZoneEatingText + db $50 +; 0x42a7 + 5 bytes + +UnnamedText_42ac: ; 0x42ac + TX_FAR SafariZoneAngryText + db $50 +; 0x42ac + 5 bytes + +INCBIN "baserom.gbc",$42b1,$84 + +; 0x4335 +IF _RED + ld de,$9600 ; where to put redgreenversion.2bpp in the VRAM + ld bc,$50 ; how big that file is +ENDC +IF _BLUE + ld de,$9610 ; where to put blueversion.2bpp in the VRAM + ld bc,$40 ; how big that file is +ENDC + +INCBIN "baserom.gbc",$433B,$4398-$433B + +IF _RED + ld a,CHARMANDER ; which Pokemon to show first on the title screen +ENDC +IF _BLUE + ld a,SQUIRTLE ; which Pokemon to show first on the title screen +ENDC + +INCBIN "baserom.gbc",$439A,$4588-$439A + +TitleMons: ; 4588 +; mons on the title screen are randomly chosen from here +IF _RED + db CHARMANDER + db SQUIRTLE + db BULBASAUR + db WEEDLE + db NIDORAN_M + db SCYTHER + db PIKACHU + db CLEFAIRY + db RHYDON + db ABRA + db GASTLY + db DITTO + db PIDGEOTTO + db ONIX + db PONYTA + db MAGIKARP +ENDC +IF _GREEN + db BULBASAUR + db CHARMANDER + db SQUIRTLE + db CATERPIE + db NIDORAN_F + db PINSIR + db PIKACHU + db CLEFAIRY + db RHYDON + db ABRA + db GASTLY + db DITTO + db PIDGEOTTO + db ONIX + db PONYTA + db MAGIKARP +ENDC +IF _BLUE + db SQUIRTLE + db CHARMANDER + db BULBASAUR + db MANKEY + db HITMONLEE + db VULPIX + db CHANSEY + db AERODACTYL + db JOLTEON + db SNORLAX + db GLOOM + db POLIWAG + db DODUO + db PORYGON + db GENGAR + db RAICHU +ENDC + +INCBIN "baserom.gbc",$4598,$45A1-$4598 + +; xxx Version tilemap on the title screen +IF _RED + db $60,$61,$7F,$65,$66,$67,$68,$69,$50 +ENDC +IF _BLUE + db $61,$62,$63,$64,$65,$66,$67,$68,$50 +ENDC + +INCBIN "baserom.gbc",$45AA,$472B-$45AA + +ItemNames: ; 472B + db "MASTER BALL@" + db "ULTRA BALL@" + db "GREAT BALL@" + db "POKé BALL@" + db "TOWN MAP@" + db "BICYCLE@" + db "?????@" + db "SAFARI BALL@" + db "POKéDEX@" + db "MOON STONE@" + db "ANTIDOTE@" + db "BURN HEAL@" + db "ICE HEAL@" + db "AWAKENING@" + db "PARLYZ HEAL@" + db "FULL RESTORE@" + db "MAX POTION@" + db "HYPER POTION@" + db "SUPER POTION@" + db "POTION@" + db "BOULDERBADGE@" + db "CASCADEBADGE@" + db "THUNDERBADGE@" + db "RAINBOWBADGE@" + db "SOULBADGE@" + db "MARSHBADGE@" + db "VOLCANOBADGE@" + db "EARTHBADGE@" + db "ESCAPE ROPE@" + db "REPEL@" + db "OLD AMBER@" + db "FIRE STONE@" + db "THUNDERSTONE@" + db "WATER STONE@" + db "HP UP@" + db "PROTEIN@" + db "IRON@" + db "CARBOS@" + db "CALCIUM@" + db "RARE CANDY@" + db "DOME FOSSIL@" + db "HELIX FOSSIL@" + db "SECRET KEY@" + db "?????@" + db "BIKE VOUCHER@" + db "X ACCURACY@" + db "LEAF STONE@" + db "CARD KEY@" + db "NUGGET@" + db "PP UP@" + db "POKé DOLL@" + db "FULL HEAL@" + db "REVIVE@" + db "MAX REVIVE@" + db "GUARD SPEC.@" + db "SUPER REPEL@" + db "MAX REPEL@" + db "DIRE HIT@" + db "COIN@" + db "FRESH WATER@" + db "SODA POP@" + db "LEMONADE@" + db "S.S.TICKET@" + db "GOLD TEETH@" + db "X ATTACK@" + db "X DEFEND@" + db "X SPEED@" + db "X SPECIAL@" + db "COIN CASE@" + db "OAK's PARCEL@" + db "ITEMFINDER@" + db "SILPH SCOPE@" + db "POKé FLUTE@" + db "LIFT KEY@" + db "EXP.ALL@" + db "OLD ROD@" + db "GOOD ROD@" + db "SUPER ROD@" + db "PP UP@" + db "ETHER@" + db "MAX ETHER@" + db "ELIXER@" + db "MAX ELIXER@" + db "B2F@" + db "B1F@" + db "1F@" + db "2F@" + db "3F@" + db "4F@" + db "5F@" + db "6F@" + db "7F@" + db "8F@" + db "9F@" + db "10F@" + db "11F@" + db "B4F@" + +UnusedNames: ; 4A92 + db "かみなりバッヂ@" + db "かいがらバッヂ@" + db "おじぞうバッヂ@" + db "はやぶさバッヂ@" + db "ひんやりバッヂ@" + db "なかよしバッヂ@" + db "バラバッヂ@" + db "ひのたまバッヂ@" + db "ゴールドバッヂ@" + db "たまご@" + db "ひよこ@" + db "ブロンズ@" + db "シルバー@" + db "ゴールド@" + db "プチキャプテン@" + db "キャプテン@" + db "プチマスター@" + db "マスター@" + +INCBIN "baserom.gbc",$4b09,$4e2c - $4b09 + +UnnamedText_4e2c: ; 0x4e2c + TX_FAR _UnnamedText_4e2c + db $50 +; 0x4e2c + 5 bytes + +INCBIN "baserom.gbc",$4e31,$5a24 - $4e31 + +UnnamedText_5a24: ; 0x5a24 + TX_FAR _UnnamedText_5a24 + db $50 +; 0x5a24 + 5 bytes + +INCBIN "baserom.gbc",$5a29,$c9 + +MainMenu: ; 0x5af2 +; Check save file + call Func_5bff + xor a + ld [$D08A],a + inc a + ld [$D088],a + call $609E + jr nc,.next0\@ + + ; Predef 52 loads the save from SRAM to RAM + ld a,$52 + call Predef + +.next0\@ + ld c,20 + call DelayFrames + xor a + ld [$D12B],a + ld hl,$CC2B + ld [hli],a + ld [hli],a + ld [hli],a + ld [hl],a + ld [$D07C],a + ld hl,$D72E + res 6,[hl] + call ClearScreen + call $3DED + call $36A0 ; load some graphics in VRAM + call $3680 ; load fonts in VRAM + ld hl,$D730 + set 6,[hl] + ld a,[$D088] + cp a,1 + jr z,.next1\@ + FuncCoord 0,0 + ld hl,Coord + ld b,6 + ld c,13 + call TextBoxBorder + FuncCoord 2,2 + ld hl,Coord + ld de,$5D7E + call PlaceString + jr .next2\@ +.next1\@ + FuncCoord 0,0 + ld hl,Coord + ld b,4 + ld c,13 + call TextBoxBorder + FuncCoord 2,2 + ld hl,Coord + ld de,$5D87 + call PlaceString +.next2\@ + ld hl,$D730 + res 6,[hl] + call $2429 ; OAM? + xor a + ld [$CC26],a + ld [$CC2A],a + ld [$CC34],a + inc a + ld [$CC25],a + inc a + ld [$CC24],a + ld a,$B + ld [$CC29],a + ld a,[$D088] + ld [$CC28],a + call $3ABE + bit 1,a + jp nz,$42DD ; load title screen (gfx and arrangement) + ld c,20 + call DelayFrames + ld a,[$CC26] + ld b,a + ld a,[$D088] + cp a,2 + jp z,.next3\@ + inc b ; adjust MenuArrow_Counter +.next3\@ + ld a,b + and a + jr z,.next4\@ ; if press_A on Continue + cp a,1 + jp z,$5D52 ; if press_A on NewGame + call $5E8A ; if press_a on Options + ld a,1 + ld [$D08A],a + jp .next0\@ +.next4\@ + call $5DB5 + ld hl,$D126 + set 5,[hl] +.next6\@ + xor a + ld [$FFB3],a + ld [$FFB2],a + ld [$FFB4],a + call GetJoypadState + ld a,[$FFB4] + bit 0,a + jr nz,.next5\@ + bit 1,a + jp nz,.next0\@ + jr .next6\@ +.next5\@ + call $3DD4 + call ClearScreen + ld a,4 + ld [$D52A],a + ld c,10 + call DelayFrames + ld a,[$D5A2] + and a + jp z,$5D5F + ld a,[W_CURMAP] ; map ID + cp a,HALL_OF_FAME + jp nz,$5D5F + xor a + ld [$D71A],a + ld hl,$D732 + set 2,[hl] + call $62CE + jp $5D5F +Func_5bff: ; 0x5bff + ld a,1 + ld [$D358],a + ld a,3 + ld [$D355],a + ret +; 0x5c0a + +INCBIN "baserom.gbc",$5c0a,$5d43 - $5c0a + +UnnamedText_5d43: ; 0x5d43 + TX_FAR _UnnamedText_5d43 + db $50 +; 0x5d43 + 5 bytes + +UnnamedText_5d48: ; 0x5d48 + TX_FAR _UnnamedText_5d48 + db $50 +; 0x5d48 + 5 bytes + +UnnamedText_5d4d: ; 0x5d4d + TX_FAR _UnnamedText_5d4d + db $50 +; 0x5d4d + 5 bytes + +INCBIN "baserom.gbc",$5d52,$3c3 + +OakSpeech: ; 6115 + ld a,$FF + call $23B1 ; stop music + ld a,2 ; bank of song + ld c,a + ld a,$EF ; song # + call $23A1 ; plays music + call ClearScreen + call $36A0 + call $60CA + ld a,$18 + call Predef + ld hl,$D53A + ld a,$14 + ld [$CF91],a + ld a,1 + ld [$CF96],a + call $2BCF + ld a,[$D07C] + ld [$D71A],a + call Function62CE + xor a + ld [$FFD7],a + ld a,[$D732] + bit 1,a ; XXX when is bit 1 set? + jp nz,Function61BC ; easter egg: skip the intro + ld de,$615F + ld bc,$1300 + call IntroPredef3B ; displays Oak pic? + call FadeInIntroPic + ld hl,OakSpeechText1 + call PrintText ; prints text box + call GBFadeOut2 + call ClearScreen + ld a,NIDORINO + ld [$D0B5],a ; pic displayed is stored at this location + ld [$CF91],a + call $1537 ; this is also related to the pic + ld hl,$C3F6 ; position on tilemap the pic is displayed + call $1384 ; displays pic? + call MovePicLeft + ld hl,OakSpeechText2 + call PrintText ; Prints text box + call GBFadeOut2 + call ClearScreen + ld de,$6EDE + ld bc,$0400 ; affects the position of the player pic + call IntroPredef3B ; displays player pic? + call MovePicLeft + ld hl,IntroducePlayerText + call PrintText + call $695D ; brings up NewName/Red/etc menu + call GBFadeOut2 + call ClearScreen + ld de,$6049 + ld bc,$1300 + call IntroPredef3B ; displays rival pic + call FadeInIntroPic + ld hl,IntroduceRivalText + call PrintText + call $69A4 +Function61BC: ; 0x61bc + call GBFadeOut2 + call ClearScreen + ld de,$6EDE + ld bc,$0400 + call IntroPredef3B + call GBFadeIn2 + ld a,[$D72D] + and a + jr nz,.next\@ + ld hl,OakSpeechText3 + call PrintText +.next\@ ld a,[$FFB8] + push af + ld a,$9C + call $23B1 + pop af + ld [$FFB8],a + ld [$2000],a + ld c,4 + call DelayFrames + ld de,$4180 + ld hl,$8000 + ld bc,$050C + call $1848 + ld de,$6FE8 + ld bc,$0400 + call IntroPredef3B + ld c,4 + call DelayFrames + ld de,$7042 + ld bc,$0400 + call IntroPredef3B + call $28A6 + ld a,[$FFB8] + push af + ld a,2 + ld [$C0EF],a + ld [$C0F0],a + ld a,$A + ld [$CFC7],a + ld a,$FF + ld [$C0EE],a + call $23B1 ; stop music + pop af + ld [$FFB8],a + ld [$2000],a + ld c,$14 + call DelayFrames + ld hl,$C40A + ld b,7 + ld c,7 + call $18C4 + call $36A0 + ld a,1 + ld [$CFCB],a + ld c,$32 + call DelayFrames + call GBFadeOut2 + jp ClearScreen +OakSpeechText1: ; 0x6253 + TX_FAR _OakSpeechText1 + db "@" +OakSpeechText2: ; 0x6258 + TX_FAR _OakSpeechText2A + db $14 + TX_FAR _OakSpeechText2B + db "@" +IntroducePlayerText: ; 0x6262 + TX_FAR _IntroducePlayerText + db "@" +IntroduceRivalText: ; 0x6267 + TX_FAR _IntroduceRivalText + db "@" +OakSpeechText3: ; 0x626c + TX_FAR _OakSpeechText3 + db "@" + +FadeInIntroPic: ; 0x6271 + ld hl,IntroFadePalettes + ld b,6 +.next\@ + ld a,[hli] + ld [rBGP],a + ld c,10 + call DelayFrames + dec b + jr nz,.next\@ + ret + +IntroFadePalettes: ; 0x6282 + db %01010100 + db %10101000 + db %11111100 + db %11111000 + db %11110100 + db %11100100 + +MovePicLeft: ; 0x6288 + ld a,119 + ld [$FF4B],a + call DelayFrame + + ld a,$E4 + ld [rBGP],a +.next\@ + call DelayFrame + ld a,[$FF4B] + sub 8 + cp $FF + ret z + ld [$FF4B],a + jr .next\@ + +Predef3B: ; 62A1 + call $3E94 +IntroPredef3B: ; 62A4 + push bc + ld a,b + call $36EB + ld hl,$A188 + ld de,$A000 + ld bc,$0310 + call CopyData + ld de,$9000 + call $16EA + pop bc + ld a,c + and a + ld hl,$C3C3 + jr nz,.next\@ + ld hl,$C3F6 +.next\@ + xor a + ld [$FFE1],a + ld a,1 + jp $3E6D + +Function62CE: ; 62CE XXX called by 4B2 948 989 5BF9 5D15 + call $62FF + ld a,$19 + call $3E6D + ld hl,$D732 + bit 2,[hl] + res 2,[hl] + jr z,.next\@ + ld a,[$D71A] + jr .next2\@ +.next\@ + bit 1,[hl] + jr z,.next3\@ + call $64EA +.next3\@ + ld a,0 +.next2\@ + ld b,a + ld a,[$D72D] + and a + jr nz,.next4\@ + ld a,b +.next4\@ + ld hl,$D732 + bit 4,[hl] + ret nz + ld [$D365],a + ret + +INCBIN "baserom.gbc",$62FF,$6420-$62FF + +FirstMapSpec: ; 0x6420 + db REDS_HOUSE_2F ; RedsHouse2F +; Original Format: +; [Event Displacement][Y-block][X-block][Y-sub_block][X-sub_block] +; Macro Format: +; FLYWARP_DATA [Map Width][Y-pos][X-pos] + FLYWARP_DATA 4,6,3 + db $04 ;Tileset_id + +INCBIN "baserom.gbc",$6428,$6448-$6428 + +FlyWarpDataPtr: ; 0x6448 + db $00,0 + dw Map00FlyWarp + db $01,0 + dw Map01FlyWarp + db $02,0 + dw Map02FlyWarp + db $03,0 + dw Map03FlyWarp + db $04,0 + dw Map04FlyWarp + db $05,0 + dw Map05FlyWarp + db $06,0 + dw Map06FlyWarp + db $07,0 + dw Map07FlyWarp + db $08,0 + dw Map08FlyWarp + db $09,0 + dw Map09FlyWarp + db $0A,0 + dw Map0aFlyWarp + db $0F,0 + dw Map0fFlyWarp + db $15,0 + dw Map15FlyWarp + +; Original Format: +; [Event Displacement][Y-block][X-block][Y-sub_block][X-sub_block] +; Macro Format: +; FLYWARP_DATA [Map Width][Y-pos][X-pos] +Map00FlyWarp: ; 0x647c + FLYWARP_DATA 10,6,5 +Map01FlyWarp: ; 0x6482 + FLYWARP_DATA 20,26,23 +Map02FlyWarp: ; 0x6488 + FLYWARP_DATA 20,26,13 +Map03FlyWarp: ; 0x648e + FLYWARP_DATA 20,18,19 +Map04FlyWarp: ; 0x6494 + FLYWARP_DATA 10,6,3 +Map05FlyWarp: ; 0x649a + FLYWARP_DATA 20,4,11 +Map06FlyWarp: ; 0x64a0 + FLYWARP_DATA 25,10,41 +Map07FlyWarp: ; 0x64a6 + FLYWARP_DATA 20,28,19 +Map08FlyWarp: ; 0x64ac + FLYWARP_DATA 10,12,11 +Map09FlyWarp: ; 0x64b2 + FLYWARP_DATA 10,6,9 +Map0aFlyWarp: ; 0x64b8 + FLYWARP_DATA 20,30,9 +Map0fFlyWarp: ; 0x64be + FLYWARP_DATA 45,6,11 +Map15FlyWarp: ; 0x64c4 + FLYWARP_DATA 10,20,11 + +INCBIN "baserom.gbc",$64ca,$6557 - $64ca + +UnnamedText_6557: ; 0x6557 + TX_FAR _UnnamedText_6557 + db $50 +; 0x6557 + 5 bytes + +INCBIN "baserom.gbc",$655c,$699f - $655c + +UnnamedText_699f: ; 0x699f + TX_FAR _UnnamedText_699f + db $50 +; 0x699f + 5 bytes + +; 0x69a4 + call Unnamed_6a12 ; 0x69a4 call 0x6a12 + ld de, DefaultNamesRival +; 0x69aa + +INCBIN "baserom.gbc",$69AA,$69B3 - $69AA + +ld hl, DefaultNamesRivalList + +INCBIN "baserom.gbc",$69b6,$69e7 - $69b6 + +UnnamedText_69e7: ; 0x69e7 + TX_FAR _UnnamedText_69e7 + db $50 +; 0x69e7 + 5 bytes + +INCBIN "baserom.gbc",$69ec,$6a12 - $69ec + +Unnamed_6a12: ; 0x6a12 +INCBIN "baserom.gbc",$6a12,$6aa8 - $6a12 + +IF _RED +DefaultNamesPlayer: ; 0x6aa8 22 + db "NEW NAME",$4E,"RED",$4E,"ASH",$4E,"JACK@" +DefaultNamesRival: ; 0x6abe 24 + db "NEW NAME",$4E,"BLUE",$4E,"GARY",$4E,"JOHN@" +ENDC +IF _BLUE +DefaultNamesPlayer: + db "NEW NAME",$4E,"BLUE",$4E,"GARY",$4E,"JOHN@" +DefaultNamesRival: + db "NEW NAME",$4E,"RED",$4E,"ASH",$4E,"JACK@" +ENDC + +INCBIN "baserom.gbc",$6AD6,$6AF2 - $6AD6 + +IF _RED +DefaultNamesPlayerList: ; 0x6AF2 22 + db "NEW NAME@RED@ASH@JACK@" +DefaultNamesRivalList: ; 0x6b08 25 + db "NEW NAME@BLUE@GARY@JOHN@@" +ENDC +IF _BLUE +DefaultNamesPlayerList: + db "NEW NAME@BLUE@GARY@JOHN@" +DefaultNamesRivalList: + db "NEW NAME@RED@ASH@JACK@@" +ENDC + +INCBIN "baserom.gbc",$6b21,$6e0c - $6b21 + +UnnamedText_6e0c: ; 0x6e0c + TX_FAR _UnnamedText_6e0c + db $50 +; 0x6e0c + 5 bytes + +UnnamedText_6e11: ; 0x6e11 + TX_FAR _UnnamedText_6e11 + db $50 +; 0x6e11 + 5 bytes + +UnnamedText_6e16: ; 0x6e16 + TX_FAR _UnnamedText_6e16 + db $50 +; 0x6e16 + 5 bytes + +UnnamedText_6e1b: ; 0x6e1b + TX_FAR _UnnamedText_6e1b + db $50 +; 0x6e1b + 5 bytes + +UnnamedText_6e20: ; 0x6e20 + TX_FAR _UnnamedText_6e20 + db $50 +; 0x6e20 + 5 bytes + +UnnamedText_6e25: ; 0x6e25 + TX_FAR _UnnamedText_6e25 + db $50 +; 0x6e25 + 5 bytes + +UnnamedText_6e2a: ; 0x6e2a + TX_FAR _UnnamedText_6e2a + db $50 +; 0x6e2a + 5 bytes + +UnnamedText_6e2f: ; 0x6e2f + TX_FAR _UnnamedText_6e2f + db $50 +; 0x6e2f + 5 bytes + +UnnamedText_6e34: ; 0x6e34 + TX_FAR _UnnamedText_6e34 + db $50 +; 0x6e34 + 5 bytes + +UnnamedText_6e39: ; 0x6e39 + TX_FAR _UnnamedText_6e39 + db $50 +; 0x6e39 + 5 bytes + +UnnamedText_6e3e: ; 0x6e3e + TX_FAR _UnnamedText_6e3e + db $50 +; 0x6e3e + 5 bytes + +INCBIN "baserom.gbc",$6e43,$6fb4 - $6e43 + +UnnamedText_6fb4: ; 0x6fb4 + TX_FAR _UnnamedText_6fb4 + db $50 +; 0x6fb4 + 5 bytes + +UnnamedText_6fb9: ; 0x6fb9 + TX_FAR _UnnamedText_6fb9 + db $50 +; 0x6fb9 + 5 bytes + +UnnamedText_6fbe: ; 0x6fbe + TX_FAR _UnnamedText_6fbe + db $50 +; 0x6fbe + 5 bytes + +UnnamedText_6fc3: ; 0x6fc3 + TX_FAR _UnnamedText_6fc3 + db $50 +; 0x6fc3 + 5 bytes + +UnnamedText_6fc8: ; 0x6fc8 + TX_FAR _UnnamedText_6fc8 ; 0xa2819 + db $a + db $8 + ld a, $ae + call $3740 + ld hl, $6fd7 + ret +; 0x6fd7 + +UnnamedText_6fd7: ; 0x6fd7 + TX_FAR _UnnamedText_6fd7 ; 0xa2827 + db $a ; 0x6fdb +UnnamedText_6fdc: ; 0x6fdc + TX_FAR _UnnamedText_6fdc + db $50 +; 0x6fe1 + +UnnamedText_6fe1: ; 0x6fe1 + TX_FAR _UnnamedText_6fe1 + db $50 +; 0x6fe1 + 5 bytes + +Unnamed_6fe6: ; 0x6fe6 + call $3719 + ld hl, $705d + call PrintText + ld hl, $d72e + bit 2, [hl] + set 1, [hl] + set 2, [hl] + jr nz, .asm_7000 ; 0x6ff8 $6 + ld hl, $7062 + call PrintText +.asm_7000 + call $360a + ld a, [$cc26] + and a + jr nz, .asm_7051 ; 0x7007 $48 + call $7078 + call $3725 + ld hl, $7068 + call PrintText + ld a, $18 + ld [$c112], a + call Delay3 + ld a, $7 + call Predef + ld b, $1c + ld hl, $4433 + call Bankswitch + xor a + ld [$cfc7], a + ld a, [$c0f0] + ld [$c0ef], a + ld a, [$d35b] + ld [$cfca], a + ld [$c0ee], a + call $23b1 + ld hl, $706d + call PrintText + ld a, $14 + ld [$c112], a + ld c, a + call DelayFrames + jr .asm_7054 ; 0x704f $3 +.asm_7051 + call $3725 +.asm_7054 + ld hl, $7072 + call PrintText + jp $2429 +; 0x705d + +UnnamedText_705d: ; 0x705d + TX_FAR _UnnamedText_705d + db $50 +; 0x705d + 5 bytes + +; 0x7062 +db $a + +UnnamedText_7063: ; 0x7063 + TX_FAR _UnnamedText_7063 + db $50 +; 0x7063 + 5 bytes + +UnnamedText_7068: ; 0x7068 + TX_FAR _UnnamedText_7068 + db $50 +; 0x7068 + 5 bytes + +UnnamedText_706d: ; 0x706d + TX_FAR _UnnamedText_706d + db $50 +; 0x706d + 5 bytes + +db $a + +UnnamedText_7073: ; 0x7073 + TX_FAR _UnnamedText_7073 + db $50 +; 0x7078 + +Unknown_7078: ; 0x7078 + push hl + ld hl, $7092 + ld a, [$d35e] + ld b, a +.asm_7080 + ld a, [hli] + cp $ff + jr z, .asm_708a ; 0x7083 $5 + cp b + jr nz, .asm_7080 ; 0x7086 $f8 + jr .asm_7090 ; 0x7088 $6 +.asm_708a + ld a, [$d365] + ld [$d719], a +.asm_7090 + pop hl + ret +; 0x7092 + +Unknown_7092: ; 0x7092 +INCBIN "baserom.gbc",$7092,4 + +; function that performs initialization for DisplayTextID +DisplayTextIDInit: ; 7096 + xor a + ld [$cf94],a + ld a,[$cf0c] + bit 0,a + jr nz,.skipDrawingTextBoxBorder\@ + ld a,[$ff8c] ; text ID (or sprite ID) + and a + jr nz,.notStartMenu\@ +; if text ID is 0 (i.e. the start menu) +; Note that the start menu text border is also drawn in the function directly +; below this, so this seems unnecessary. + ld a,[$d74b] + bit 5,a ; does the player have the pokedex? +; start menu with pokedex + ld hl,$c3aa + ld b,$0e + ld c,$08 + jr nz,.drawTextBoxBorder\@ +; start menu without pokedex + ld hl,$c3aa + ld b,$0c + ld c,$08 + jr .drawTextBoxBorder\@ +; if text ID is not 0 (i.e. not the start menu) then do a standard dialogue text box +.notStartMenu\@ + ld hl,$c490 + ld b,$04 + ld c,$12 +.drawTextBoxBorder\@ + call TextBoxBorder +.skipDrawingTextBoxBorder\@ + ld hl,$cfc4 + set 0,[hl] + ld hl,$cd60 + bit 4,[hl] + res 4,[hl] + jr nz,.skipMovingSprites\@ + call $2429 ; move sprites +.skipMovingSprites\@ +; loop to copy C1X9 (direction the sprite is facing) to C2X9 for each sprite +; this is done because when you talk to an NPC, they turn to look your way +; the original direction they were facing must be restored after the dialogue is over + ld hl,$c119 + ld c,$0f + ld de,$0010 +.spriteFacingDirectionCopyLoop\@ + ld a,[hl] + inc h + ld [hl],a + dec h + add hl,de + dec c + jr nz,.spriteFacingDirectionCopyLoop\@ +; loop to force all the sprites in the middle of animation to stand still +; (so that they don't like they're frozen mid-step during the dialogue) + ld hl,$c102 + ld de,$0010 + ld c,e +.spriteStandStillLoop\@ + ld a,[hl] + cp a,$ff ; is the sprite visible? + jr z,.nextSprite\@ +; if it is visible + and a,$fc + ld [hl],a +.nextSprite\@ + add hl,de + dec c + jr nz,.spriteStandStillLoop\@ + ld b,$9c ; window background address + call $18d6 ; transfer background in WRAM to VRAM + xor a + ld [$ffb0],a ; put the window on the screen + call $3680 ; transfer tile pattern data for text into VRAM + ld a,$01 + ld [$ffba],a ; enable continuous WRAM to VRAM transfer each V-blank + ret + +; function that displays the start menu +DrawStartMenu: ; 710B + ld a,[$d74b] + bit 5,a ; does the player have the pokedex? +; menu with pokedex + ld hl,$c3aa + ld b,$0e + ld c,$08 + jr nz,.drawTextBoxBorder\@ +; shorter menu if the player doesn't have the pokedex + ld hl,$c3aa + ld b,$0c + ld c,$08 +.drawTextBoxBorder\@ + call TextBoxBorder + ld a,%11001011 ; bit mask for down, up, start, B, and A buttons + ld [$cc29],a + ld a,$02 + ld [$cc24],a ; Y position of first menu choice + ld a,$0b + ld [$cc25],a ; X position of first menu choice + ld a,[$cc2d] ; remembered menu selection from last time + ld [$cc26],a + ld [$cc2a],a + xor a + ld [$cc37],a + ld hl,$d730 + set 6,[hl] ; no pauses between printing each letter + ld hl,$c3d4 + ld a,[$d74b] + bit 5,a ; does the player have the pokedex? +; case for not having pokdex + ld a,$06 + jr z,.storeMenuItemCount\@ +; case for having pokedex + ld de,StartMenuPokedexText + call PrintStartMenuItem + ld a,$07 +.storeMenuItemCount\@ + ld [$cc28],a ; number of menu items + ld de,StartMenuPokemonText + call PrintStartMenuItem + ld de,StartMenuItemText + call PrintStartMenuItem + ld de,$d158 ; player's name + call PrintStartMenuItem + ld a,[$d72e] + bit 6,a ; is the player using the link feature? +; case for not using link feature + ld de,StartMenuSaveText + jr z,.printSaveOrResetText\@ +; case for using link feature + ld de,StartMenuResetText +.printSaveOrResetText\@ + call PrintStartMenuItem + ld de,StartMenuOptionText + call PrintStartMenuItem + ld de,StartMenuExitText + call PlaceString + ld hl,$d730 + res 6,[hl] ; turn pauses between printing letters back on + ret + +StartMenuPokedexText: ; 718F +db "POKéDEX@" + +StartMenuPokemonText: ; 7197 +db "POKéMON@" + +StartMenuItemText: ; 719F +db "ITEM@" + +StartMenuSaveText: ; 71A4 +db "SAVE@" + +StartMenuResetText: ; 71A9 +db "RESET@" + +StartMenuExitText: ; 71AF +db "EXIT@" + +StartMenuOptionText: ; 71B4 +db "OPTION@" + +PrintStartMenuItem: ; 71BB + push hl + call PlaceString + pop hl + ld de,$28 + add hl,de + ret + +Unknown_71c5: ; 0x71c5 + ld hl, $72b8 + call PrintText + ld a, [$d74b] + bit 5, a + jp nz, $71e1 + ld c, $3c + call DelayFrames + ld hl, $72d2 + call PrintText + jp $7298 +; 0x71e1 + +Unknown_71e1: ; 0x71e1 + ld a, $1 + ld [$cc34], a + ld a, $5a + ld [$cc47], a +.asm_71eb + ld a, [$ff00+$aa] + cp $2 + jr z, .asm_721a ; 0x71ef $29 + cp $1 + jr z, .asm_721a ; 0x71f3 $25 + ld a, $ff + ld [$ff00+$aa], a + ld a, $2 + ld [$ff00+$1], a + xor a + ld [$ff00+$ad], a + ld a, $80 + ld [$ff00+$2], a + ld a, [$cc47] + dec a + ld [$cc47], a + jr z, .asm_7287 ; 0x720b $7a + ld a, $1 + ld [$ff00+$1], a + ld a, $81 + ld [$ff00+$2], a + call DelayFrame + jr .asm_71eb ; 0x7218 $d1 +.asm_721a + call $22ed + call DelayFrame + call $22ed + ld c, $32 + call DelayFrames + ld hl, $72bd + call PrintText + xor a + ld [$cc34], a + call $35ec + ld a, $1 + ld [$cc34], a + ld a, [$cc26] + and a + jr nz, .asm_728f ; 0x723e $4f + ld hl, $7848 + ld b, $1c + call Bankswitch + call $3748 + ld a, $b6 + call $3740 + ld hl, $72c2 + call PrintText + ld hl, $cc47 + ld a, $3 + ld [hli], a + xor a + ld [hl], a + ld [$ff00+$a9], a + ld [$cc42], a + call $227f + ld hl, $cc47 + ld a, [hli] + inc a + jr nz, .asm_72a8 ; 0x726b $3b + ld a, [hl] + inc a + jr nz, .asm_72a8 ; 0x726f $37 + ld b, $a +.asm_7273 + call DelayFrame + call $22ed + dec b + jr nz, .asm_7273 ; 0x727a $f7 + call $72d7 + ld hl, $72c8 + call PrintText + jr .asm_7298 ; 0x7285 $11 +.asm_7287 + ld hl, $72b3 + call PrintText + jr .asm_7298 ; 0x728d $9 +.asm_728f + call $72d7 + ld hl, $72cd + call PrintText +.asm_7298 + xor a + ld hl, $cc47 + ld [hli], a + ld [hl], a + ld hl, $d72e + res 6, [hl] + xor a + ld [$cc34], a + ret +.asm_72a8 + xor a + ld [hld], a + ld [hl], a + ld hl, $5c0a + ld b, $1 + jp Bankswitch +; 0x72b3 + +UnnamedText_72b3: ; 0x72b3 + TX_FAR _UnnamedText_72b3 + db $50 +; 0x72b3 + 5 bytes + +UnnamedText_72b8: ; 0x72b8 + TX_FAR _UnnamedText_72b8 + db $50 +; 0x72b8 + 5 bytes + +UnnamedText_72bd: ; 0x72bd + TX_FAR _UnnamedText_72bd + db $50 +; 0x72bd + 5 bytes + +UnnamedText_72c2: ; 0x72c2 + TX_FAR UnnamedText_a29cc + db $a, $50 + +UnnamedText_72c8: ; 0x72c8 + TX_FAR _UnnamedText_72c8 + db $50 +; 0x72c8 + 5 bytes + +UnnamedText_72cd: ; 0x72cd + TX_FAR _UnnamedText_72cd + db $50 +; 0x72cd + 5 bytes + +UnnamedText_72d2: ; 0x72d2 + TX_FAR _UnnamedText_72d2 + db $50 +; 0x72d2 + 5 bytes + +INCBIN "baserom.gbc",$72d7,$4b6 + +FieldMoveNames: ; 778D + db "CUT@" + db "FLY@" + db "@" + db "SURF@" + db "STRENGTH@" + db "FLASH@" + db "DIG@" + db "TELEPORT@" + db "SOFTBOILED@" + +PokemonMenuEntries: ; 77C2 + db "STATS",$4E + db "SWITCH",$4E + db "CANCEL@" + +INCBIN "baserom.gbc",$77d6,$78dc - $77d6 + +UnnamedText_78dc: ; 0x78dc + TX_FAR _UnnamedText_78dc + db $50 +; 0x78dc + 5 bytes + +UnnamedText_78e1: ; 0x78e1 + TX_FAR _UnnamedText_78e1 + db $50 +; 0x78e1 + 5 bytes + +INCBIN "baserom.gbc",$78e6,$20f + +PlayersPCMenuEntries: ; 7AF5 + db "WITHDRAW ITEM",$4E + db "DEPOSIT ITEM",$4E + db "TOSS ITEM",$4E + db "LOG OFF@" + +UnnamedText_7b22: ; 0x7b22 + TX_FAR _UnnamedText_7b22 + db $50 +; 0x7b22 + 5 bytes + +UnnamedText_7b27: ; 0x7b27 + TX_FAR _UnnamedText_7b27 + db $50 +; 0x7b27 + 5 bytes + +UnnamedText_7b2c: ; 0x7b2c + TX_FAR _UnnamedText_7b2c + db $50 +; 0x7b2c + 5 bytes + +UnnamedText_7b31: ; 0x7b31 + TX_FAR _UnnamedText_7b31 + db $50 +; 0x7b31 + 5 bytes + +UnnamedText_7b36: ; 0x7b36 + TX_FAR _UnnamedText_7b36 + db $50 +; 0x7b36 + 5 bytes + +UnnamedText_7b3b: ; 0x7b3b + TX_FAR _UnnamedText_7b3b + db $50 +; 0x7b3b + 5 bytes + +UnnamedText_7b40: ; 0x7b40 + TX_FAR _UnnamedText_7b40 + db $50 +; 0x7b40 + 5 bytes + +UnnamedText_7b45: ; 0x7b45 + TX_FAR _UnnamedText_7b45 + db $50 +; 0x7b45 + 5 bytes + +UnnamedText_7b4a: ; 0x7b4a + TX_FAR _UnnamedText_7b4a + db $50 +; 0x7b4a + 5 bytes + +UnnamedText_7b4f: ; 0x7b4f + TX_FAR _UnnamedText_7b4f + db $50 +; 0x7b4f + 5 bytes + +UnnamedText_7b54: ; 0x7b54 + TX_FAR _UnnamedText_7b54 + db $50 +; 0x7b54 + 5 bytes + +UnnamedText_7b59: ; 0x7b59 + TX_FAR _UnnamedText_7b59 + db $50 +; 0x7b59 + 5 bytes + +UnnamedText_7b5e: ; 0x7b5e + TX_FAR _UnnamedText_7b5e + db $50 +; 0x7b5e + 5 bytes + +UnnamedText_7b63: ; 0x7b63 + TX_FAR _UnnamedText_7b63 + db $50 +; 0x7b63 + 5 bytes + +INCBIN "baserom.gbc",$7b68,$e1 + +SECTION "bank2",DATA,BANK[$2] + +INCBIN "baserom.gbc",$8000,$822E - $8000 + +;Music Headers +;Pallet Town +PalletTown_mh: ; 0x822E - 0x8236 + db $80 + dw PalletTown_md_1 ;Channel 1 ($A7C5 - $A85E) + db $01 + dw PalletTown_md_2 ;Channel 2 ($A85f - $A8DD) + db $02 + dw PalletTown_md_3 ;Channel 3 ($A8DE - $AA75) + +;Pokemon Center +Pokecenter_mh: ; 0x8237 - 0x823F + db $80 + dw Pokecenter_md_1 ;Channel 1 ($BE56 - $BEF8) + db $01 + dw Pokecenter_md_2 ;Channel 2 ($BEF9 - $BF6F) + db $02 + dw Pokecenter_md_3 ;Channel 3 ($BF70 - $BFFF) + +;Gyms +Gym_mh: ; 0x8240 - 0x8248 + db $80 + dw Gym_md_1 ;Channel 1 ($BCBB - $BD6A) + db $01 + dw Gym_md_2 ;Channel 2 ($BD6B - $BDF9) + db $02 + dw Gym_md_3 ;Channel 3 ($BDFA - $BE55) + +;Viridian City, Pewter City, Saffron City +Cities1_mh: ; 0x8249 - 0x8254 + db $C0 + dw Cities1_md_1 ;Channel 1 + db $01 + dw Cities1_md_2 ;Channel 2 + db $02 + dw Cities1_md_3 ;Channel 3 + db $03 + dw Cities1_md_4 ;Channel 4 + +;Cerulean City, Fuchsia City +Cities2_mh: ; 0x8255 - 0x825D + db $80 + dw Cities2_md_1 ;Channel 1 + db $01 + dw Cities2_md_2 ;Channel 2 + db $02 + dw Cities2_md_3 ;Channel 3 + +;Celadon City +Celadon_mh: ; 0x825E - 0x8266 + db $80 + dw Celadon_md_1 ;Channel 1 + db $01 + dw Celadon_md_2 ;Channel 2 + db $02 + dw Celadon_md_3 ;Channel 3 + +;Cinnabar Island +Cinnabar_mh: ; 0x8267 - 0x826F + db $80 + dw Cinnabar_md_1 ;Channel 1 + db $01 + dw Cinnabar_md_2 ;Channel 2 + db $02 + dw Cinnabar_md_3 ;Channel 3 + +;Vermilion City +Vermilion_mh: ; 0x8270 - 0x827B + db $C0 + dw Vermilion_md_1 ;Channel 1 + db $01 + dw Vermilion_md_2 ;Channel 2 + db $02 + dw Vermilion_md_3 ;Channel 3 + db $03 + dw Vermilion_md_4 ;Channel 4 + +;Lavender Town +Lavender_mh: ; 0x827C - 0x8287 + db $C0 + dw Lavender_md_1 ;Channel 1 + db $01 + dw Lavender_md_2 ;Channel 2 + db $02 + dw Lavender_md_3 ;Channel 3 + db $03 + dw Lavender_md_4 ;Channel 4 + +;SS Anne +SSAnne_mh: ; 0x8288 - 0x8290 + db $80 + dw SSAnne_md_1 ;Channel 1 + db $01 + dw SSAnne_md_2 ;Channel 2 + db $02 + dw SSAnne_md_3 ;Channel 3 + +;Meet Prof. Oak +MeetProfOak_mh: ; 0x8291 - 0x8299 + db $80 + dw MeetProfOak_md_1 ;Channel 1 + db $01 + dw MeetProfOak_md_2 ;Channel 2 + db $02 + dw MeetProfOak_md_3 ;Channel 3 + +;Meet Rival +MeetRival_mh: ; 0x829A - 0x82A2 + db $80 + dw MeetRival_md_1 ;Channel 1 + db $01 + dw MeetRival_md_2 ;Channel 2 + db $02 + dw MeetRival_md_3 ;Channel 3 + +;Guy walks you to museum +MuseumGuy_mh: ; 0x82A3 - 0x82AE + db $C0 + dw MuseumGuy_md_1 ;Channel 1 + db $01 + dw MuseumGuy_md_2 ;Channel 2 + db $02 + dw MuseumGuy_md_3 ;Channel 3 + db $03 + dw MuseumGuy_md_4 ;Channel 4 + +;Safari Zone +SafariZone_mh: ; 0x82AF - 0x82B7 + db $80 + dw SafariZone_md_1 ;Channel 1 + db $01 + dw SafariZone_md_2 ;Channel 2 + db $02 + dw SafariZone_md_3 ;Channel 3 + +;Pokemon Get Healed +PkmnHealed_mh: ; 0x82B8 - 0x82C0 + db $80 + dw PkmnHealed_md_1 ;Channel 1 + db $01 + dw PkmnHealed_md_2 ;Channel 2 + db $02 + dw PkmnHealed_md_3 ;Channel 3 + +;Routes 1 and 2 +Routes1_mh: ; 0x82C1 - 0x82CC + db $C0 + dw Routes1_md_1 ;Channel 1 + db $01 + dw Routes1_md_2 ;Channel 2 + db $02 + dw Routes1_md_3 ;Channel 3 + db $03 + dw Routes1_md_4 ;Channel 4 + +;Routes 24 and 25 +Routes2_mh: ; 0x82CD - 0x82D8 + db $C0 + dw Routes2_md_1 ;Channel 1 + db $01 + dw Routes2_md_2 ;Channel 2 + db $02 + dw Routes2_md_3 ;Channel 3 + db $03 + dw Routes2_md_4 ;Channel 4 + +;Routes 3, 4, 5, 6, 7, 8, 9, 10, 16, 17, 18, 19, 20, 21, 22 +Routes3_mh: ; 0x82D9 - 0x82E4 + db $C0 + dw Routes3_md_1 ;Channel 1 + db $01 + dw Routes3_md_2 ;Channel 2 + db $02 + dw Routes3_md_3 ;Channel 3 + db $03 + dw Routes3_md_4 ;Channel 4 + +;Routes 11, 12, 13, 14, 15 +Routes4_mh: ; 0x82E5 - 0x82F0 + db $C0 + dw Routes4_md_1 ;Channel 1 + db $01 + dw Routes4_md_2 ;Channel 2 + db $02 + dw Routes4_md_3 ;Channel 3 + db $03 + dw Routes4_md_4 ;Channel 4 + +;Indigo Plateau +IndigoPlateau_mh: ; 0x82F1 - 0x82FC + db $C0 + dw IndigoPlateau_md_1 ;Channel 1 + db $01 + dw IndigoPlateau_md_2 ;Channel 2 + db $02 + dw IndigoPlateau_md_3 ;Channel 3 + db $03 + dw IndigoPlateau_md_4 ;Channel 4 + +INCLUDE "music.asm" + +SECTION "bank3",DATA,BANK[$3] + +INCBIN "baserom.gbc",$C000,$C23D - $C000 + +; see also MapHeaderPointers +MapHeaderBanks: ; 423D + db BANK(PalletTown_h) ;PALLET_TOWN + db BANK(ViridianCity_h) ; VIRIDIAN_CITY + db BANK(PewterCity_h) ; PEWTER_CITY + db BANK(CeruleanCity_h) ; CERULEAN_CITY + db BANK(LavenderTown_h) ; LAVENDER_TOWN + db BANK(VermilionCity_h) ; VERMILION_CITY + db BANK(CeladonCity_h) ; CELADON_CITY + db BANK(FuchsiaCity_h) ; FUCHSIA_CITY + db BANK(CinnabarIsland_h) ; CINNABAR_ISLAND + db BANK(IndigoPlateau_h) ; INDIGO_PLATEAU + db BANK(SaffronCity_h) ; SAFFRON_CITY + db $1 ; unused + db BANK(Route1_h) ; ROUTE_1 + db BANK(Route2_h) ; ROUTE_2 + db BANK(Route3_h) ; ROUTE_3 + db BANK(Route4_h) ; ROUTE_4 + db BANK(Route5_h) ; ROUTE_5 + db BANK(Route6_h) ; ROUTE_6 + db BANK(Route7_h) ; ROUTE_7 + db BANK(Route8_h) ; ROUTE_8 + db BANK(Route9_h) ; ROUTE_9 + db BANK(Route10_h) ; ROUTE_10 + db BANK(Route11_h) ; ROUTE_11 + db BANK(Route12_h) ; ROUTE_12 + db BANK(Route13_h) ; ROUTE_13 + db BANK(Route14_h) ; ROUTE_14 + db BANK(Route15_h) ; ROUTE_15 + db BANK(Route16_h) ; ROUTE_16 + db BANK(Route17_h) ; ROUTE_17 + db BANK(Route18_h) ; ROUTE_18 + db BANK(Route19_h) ; ROUTE_19 + db BANK(Route20_h) ; ROUTE_20 + db BANK(Route21_h) ; ROUTE_21 + db BANK(Route22_h) ; ROUTE_22 + db BANK(Route23_h) ; ROUTE_23 + db BANK(Route24_h) ; ROUTE_24 + db BANK(Route25_h) ; ROUTE_25 + db BANK(RedsHouse1F_h) + db BANK(RedsHouse2F_h) + db BANK(BluesHouse_h) + db BANK(OaksLab_h) + db BANK(ViridianPokecenter_h) + db BANK(ViridianMart_h) + db BANK(School_h) + db BANK(ViridianHouse_h) + db BANK(ViridianGym_h) + db BANK(DiglettsCaveRoute2_h) + db BANK(ViridianForestexit_h) + db BANK(Route2House_h) + db BANK(Route2Gate_h) + db BANK(ViridianForestEntrance_h) + db BANK(ViridianForest_h) + db BANK(MuseumF1_h) + db BANK(MuseumF2_h) + db BANK(PewterGym_h) + db BANK(PewterHouse1_h) + db BANK(PewterMart_h) + db BANK(PewterHouse2_h) + db BANK(PewterPokecenter_h) + db BANK(MtMoon1_h) + db BANK(MtMoon2_h) + db BANK(MtMoon3_h) + db BANK(CeruleanHouseTrashed_h) + db BANK(CeruleanHouse2_h) + db BANK(CeruleanPokecenter_h) + db BANK(CeruleanGym_h) + db BANK(BikeShop_h) + db BANK(CeruleanMart_h) + db BANK(MtMoonPokecenter_h) + db BANK(CeruleanHouseTrashed_h) + db BANK(Route5Gate_h) + db BANK(UndergroundTunnelEntranceRoute5_h) + db BANK(DayCareM_h) + db BANK(Route6Gate_h) + db BANK(UndergroundTunnelEntranceRoute6_h) + db $17 ;FREEZE + db BANK(Route7Gate_h) + db BANK(UndergroundPathEntranceRoute7_h) + db $17 ;FREEZE + db BANK(Route8Gate_h) + db BANK(UndergroundPathEntranceRoute8_h) + db BANK(RockTunnelPokecenter_h) + db BANK(RockTunnel1_h) + db BANK(PowerPlant_h) + db BANK(Route11Gate_h) + db BANK(DiglettsCaveEntranceRoute11_h) + db BANK(Route11GateUpstairs_h) + db BANK(Route12Gate_h) + db BANK(BillsHouse_h) + db BANK(VermilionPokecenter_h) + db BANK(FanClub_h) + db BANK(VermilionMart_h) + db BANK(VermilionGym_h) + db BANK(VermilionHouse1_h) + db BANK(VermilionDock_h) + db BANK(SSAnne1_h) + db BANK(SSAnne2_h) + db BANK(SSAnne3_h) + db BANK(SSAnne4_h) + db BANK(SSAnne5_h) + db BANK(SSAnne6_h) + db BANK(SSAnne7_h) + db BANK(SSAnne8_h) + db BANK(SSAnne9_h) + db BANK(SSAnne10_h) + db $1D ;unused + db $1D ;unused + db $1D ;unused + db BANK(VictoryRoad1_h) + db $1D ;unused + db $1D ;unused + db $1D ;unused + db $1D ;unused + db BANK(Lance_h) + db $1D ;unused + db $1D ;unused + db $1D ;unused + db $1D ;unused + db BANK(HallofFameRoom_h) + db BANK(UndergroundPathNS_h) + db BANK(Gary_h) + db BANK(UndergroundPathWE_h) + db BANK(CeladonMart1_h) + db BANK(CeladonMart2_h) + db BANK(CeladonMart3_h) + db BANK(CeladonMart4_h) + db BANK(CeladonMartRoof_h) + db BANK(CeladonMartElevator_h) + db BANK(CeladonMansion1_h) + db BANK(CeladonMansion2_h) + db BANK(CeladonMansion3_h) + db BANK(CeladonMansion4_h) + db BANK(CeladonMansion5_h) + db BANK(CeladonPokecenter_h) + db BANK(CeladonGym_h) + db BANK(CeladonGameCorner_h) + db BANK(CeladonMart5_h) + db BANK(CeladonPrizeRoom_h) + db BANK(CeladonDiner_h) + db BANK(CeladonHouse_h) + db BANK(CeladonHotel_h) + db BANK(LavenderPokecenter_h) + db BANK(PokemonTower1_h) + db BANK(PokemonTower2_h) + db BANK(PokemonTower3_h) + db BANK(PokemonTower4_h) + db BANK(PokemonTower5_h) + db BANK(PokemonTower6_h) + db BANK(PokemonTower7_h) + db BANK(LavenderHouse1_h) + db BANK(LavenderMart_h) + db BANK(LavenderHouse2_h) + db BANK(FuchsiaMart_h) + db BANK(FuchsiaHouse1_h) + db BANK(FuchsiaPokecenter_h) + db BANK(FuchsiaHouse2_h) + db BANK(SafariZoneEntrance_h) + db BANK(FuchsiaGym_h) + db BANK(FuchsiaMeetingRoom_h) + db BANK(SeafoamIslands2_h) + db BANK(SeafoamIslands3_h) + db BANK(SeafoamIslands4_h) + db BANK(SeafoamIslands5_h) + db BANK(VermilionHouse2_h) + db BANK(FuchsiaHouse3_h) + db BANK(Mansion1_h) + db BANK(CinnabarGym_h) + db BANK(Lab1_h) + db BANK(Lab2_h) + db BANK(Lab3_h) + db BANK(Lab4_h) + db BANK(CinnabarPokecenter_h) + db BANK(CinnabarMart_h) + db $1D + db BANK(IndigoPlateauLobby_h) + db BANK(CopycatsHouseF1_h) + db BANK(CopycatsHouseF2_h) + db BANK(FightingDojo_h) + db BANK(SaffronGym_h) + db BANK(SaffronHouse1_h) + db BANK(SaffronMart_h) + db BANK(SilphCo1_h) + db BANK(SaffronPokecenter_h) + db BANK(SaffronHouse2_h) + db BANK(Route15Gate_h) + db $12 + db BANK(Route16GateMap_h) + db BANK(Route16GateUpstairs_h) + db BANK(Route16House_h) + db BANK(Route12House_h) + db BANK(Route18Gate_h) + db BANK(Route18GateHeader_h) + db BANK(SeafoamIslands1_h) + db BANK(Route22Gate_h) + db BANK(VictoryRoad2_h) + db BANK(Route12GateUpstairs_h) + db BANK(VermilionHouse3_h) + db BANK(DiglettsCave_h) + db BANK(VictoryRoad3_h) + db BANK(RocketHideout1_h) + db BANK(RocketHideout2_h) + db BANK(RocketHideout3_h) + db BANK(RocketHideout4_h) + db BANK(RocketHideoutElevator_h) + db $01 + db $01 + db $01 + db BANK(SilphCo2_h) + db BANK(SilphCo3_h) + db BANK(SilphCo4_h) + db BANK(SilphCo5_h) + db BANK(SilphCo6_h) + db BANK(SilphCo7_h) + db BANK(SilphCo8_h) + db BANK(Mansion2_h) + db BANK(Mansion3_h) + db BANK(Mansion4_h) + db BANK(SafariZoneEast_h) + db BANK(SafariZoneNorth_h) + db BANK(SafariZoneWest_h) + db BANK(SafariZoneCenter_h) + db BANK(SafariZoneRestHouse1_h) + db BANK(SafariZoneSecretHouse_h) + db BANK(SafariZoneRestHouse2_h) + db BANK(SafariZoneRestHouse3_h) + db BANK(SafariZoneRestHouse4_h) + db BANK(UnknownDungeon2_h) + db BANK(UnknownDungeon3_h) + db BANK(UnknownDungeon1_h) + db BANK(NameRater_h) + db BANK(CeruleanHouse3_h) + db $01 + db BANK(RockTunnel2_h) + db BANK(SilphCo9_h) + db BANK(SilphCo10_h) + db BANK(SilphCo11_h) + db BANK(SilphCoElevator_h) + db $11 + db $11 + db BANK(BattleCenterM_h) + db BANK(TradeCenterM_h) + db $11 + db $11 + db $11 + db $11 + db BANK(Lorelei_h) + db BANK(Bruno_h) + db BANK(Agatha_h) + +INCBIN "baserom.gbc",$C335,$C766-$C335 + ld hl, TilesetsHeadPtr + +INCBIN "baserom.gbc",$C769,$C7BE-$C769 + +TilesetsHeadPtr: ; 0xC7BE + TSETHEAD Tset00_Block,Tset00_GFX,Tset00_Coll,$FF,$FF,$FF,$52,2 + TSETHEAD Tset01_Block,Tset01_GFX,Tset01_Coll,$FF,$FF,$FF,$FF,0 + TSETHEAD Tset02_Block,Tset02_GFX,Tset02_Coll,$18,$19,$1E,$FF,0 + TSETHEAD Tset03_Block,Tset03_GFX,Tset03_Coll,$FF,$FF,$FF,$20,1 + TSETHEAD Tset01_Block,Tset01_GFX,Tset01_Coll,$FF,$FF,$FF,$FF,0 + TSETHEAD Tset05_Block,Tset05_GFX,Tset05_Coll,$3A,$FF,$FF,$FF,2 + TSETHEAD Tset02_Block,Tset02_GFX,Tset02_Coll,$18,$19,$1E,$FF,0 + TSETHEAD Tset05_Block,Tset05_GFX,Tset05_Coll,$3A,$FF,$FF,$FF,2 + TSETHEAD Tset08_Block,Tset08_GFX,Tset08_Coll,$FF,$FF,$FF,$FF,0 + TSETHEAD Tset09_Block,Tset09_GFX,Tset09_Coll,$17,$32,$FF,$FF,0 + TSETHEAD Tset09_Block,Tset09_GFX,Tset09_Coll,$17,$32,$FF,$FF,0 + TSETHEAD Tset0B_Block,Tset0B_GFX,Tset0B_Coll,$FF,$FF,$FF,$FF,0 + TSETHEAD Tset09_Block,Tset09_GFX,Tset09_Coll,$17,$32,$FF,$FF,0 + TSETHEAD Tset0D_Block,Tset0D_GFX,Tset0D_Coll,$FF,$FF,$FF,$FF,1 + TSETHEAD Tset0E_Block,Tset0E_GFX,Tset0E_Coll,$FF,$FF,$FF,$FF,1 + TSETHEAD Tset0F_Block,Tset0F_GFX,Tset0F_Coll,$12,$FF,$FF,$FF,0 + TSETHEAD Tset10_Block,Tset10_GFX,Tset10_Coll,$FF,$FF,$FF,$FF,0 + TSETHEAD Tset11_Block,Tset11_GFX,Tset11_Coll,$FF,$FF,$FF,$FF,1 + TSETHEAD Tset12_Block,Tset12_GFX,Tset12_Coll,$15,$36,$FF,$FF,0 + TSETHEAD Tset13_Block,Tset13_GFX,Tset13_Coll,$FF,$FF,$FF,$FF,0 + TSETHEAD Tset14_Block,Tset14_GFX,Tset14_Coll,$FF,$FF,$FF,$FF,0 + TSETHEAD Tset15_Block,Tset15_GFX,Tset15_Coll,$07,$17,$FF,$FF,0 + TSETHEAD Tset16_Block,Tset16_GFX,Tset16_Coll,$12,$FF,$FF,$FF,1 + TSETHEAD Tset17_Block,Tset17_GFX,Tset17_Coll,$FF,$FF,$FF,$45,1 +; 0xC8DE + +INCBIN "baserom.gbc",$C8DE,$C8F5-$C8DE + +; data for default hidden/shown +; objects for each map ($00-$F8) + +; Table of 2-Byte pointers, one pointer per map, +; goes up to Map_F7, ends with $FFFF. +MapHSPointers: ; 48F5 + dw MapHS00 + dw MapHS01 + dw MapHS02 + dw MapHS03 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS0A + dw MapHSXX + dw MapHSXX + dw MapHS0D + dw MapHSXX + dw MapHS0F + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS14 + dw MapHSXX + dw MapHSXX + dw MapHS17 + dw MapHSXX + dw MapHSXX + dw MapHS1A + dw MapHS1B + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS21 + dw MapHSXX + dw MapHS23 + dw MapHS24 + dw MapHSXX + dw MapHSXX + dw MapHS27 + dw MapHS28 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS2D + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS33 + dw MapHS34 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS3B + dw MapHSXX + dw MapHS3D + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS53 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS58 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS60 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS66 + dw MapHS67 + dw MapHS68 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS6C + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS78 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS84 + dw MapHSXX + dw MapHSXX + dw MapHS87 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS8F + dw MapHS90 + dw MapHS91 + dw MapHS92 + dw MapHS93 + dw MapHS94 + dw MapHS95 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS9B + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS9F + dw MapHSA0 + dw MapHSA1 + dw MapHSA2 + dw MapHSXX + dw MapHSXX + dw MapHSA5 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSB1 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSB5 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSC0 + dw MapHSXX + dw MapHSC2 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSC6 + dw MapHSC7 + dw MapHSC8 + dw MapHSC9 + dw MapHSCA + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSCF + dw MapHSD0 + dw MapHSD1 + dw MapHSD2 + dw MapHSD3 + dw MapHSD4 + dw MapHSD5 + dw MapHSD6 + dw MapHSD7 + dw MapHSD8 + dw MapHSD9 + dw MapHSDA + dw MapHSDB + dw MapHSDC + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSE2 + dw MapHSE3 + dw MapHSE4 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSE9 + dw MapHSEA + dw MapHSEB + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSF4 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw $FFFF + +; Structure: +; 3 bytes per object +; [Map_ID][Object_ID][H/S] +; +; Program stops reading when either: +; a) Map_ID = $FF +; b) Map_ID ≠ currentMapID +; +; This Data is loaded into RAM at $D5CE-$D5F?. + +; These constants come from the bytes for Predef functions: +Hide equ $11 +Show equ $15 + +MapHSXX: + db $FF,$FF,$FF +MapHS00: + db PALLET_TOWN,$01,Hide +MapHS01: + db VIRIDIAN_CITY,$05,Show + db VIRIDIAN_CITY,$07,Hide +MapHS02: + db PEWTER_CITY,$03,Show + db PEWTER_CITY,$05,Show +MapHS03: + db CERULEAN_CITY,$01,Hide + db CERULEAN_CITY,$02,Show + db CERULEAN_CITY,$06,Hide + db CERULEAN_CITY,$0A,Show + db CERULEAN_CITY,$0B,Show +MapHS0A: + db SAFFRON_CITY,$01,Show + db SAFFRON_CITY,$02,Show + db SAFFRON_CITY,$03,Show + db SAFFRON_CITY,$04,Show + db SAFFRON_CITY,$05,Show + db SAFFRON_CITY,$06,Show + db SAFFRON_CITY,$07,Show + db SAFFRON_CITY,$08,Hide + db SAFFRON_CITY,$09,Hide + db SAFFRON_CITY,$0A,Hide + db SAFFRON_CITY,$0B,Hide + db SAFFRON_CITY,$0C,Hide + db SAFFRON_CITY,$0D,Hide + db SAFFRON_CITY,$0E,Show + db SAFFRON_CITY,$0F,Hide +MapHS0D: + db ROUTE_2,$01,Show + db ROUTE_2,$02,Show +MapHS0F: + db ROUTE_4,$03,Show +MapHS14: + db ROUTE_9,$0A,Show +MapHS17: + db ROUTE_12,$01,Show + db ROUTE_12,$09,Show + db ROUTE_12,$0A,Show +MapHS1A: + db ROUTE_15,$0B,Show +MapHS1B: + db ROUTE_16,$07,Show +MapHS21: + db ROUTE_22,$01,Hide + db ROUTE_22,$02,Hide +MapHS23: + db ROUTE_24,$01,Show + db ROUTE_24,$08,Show +MapHS24: + db ROUTE_25,$0A,Show +MapHS27: + db BLUES_HOUSE,$01,Show + db BLUES_HOUSE,$02,Hide + db BLUES_HOUSE,$03,Show +MapHS28: + db OAKS_LAB,$01,Show + db OAKS_LAB,$02,Show + db OAKS_LAB,$03,Show + db OAKS_LAB,$04,Show + db OAKS_LAB,$05,Hide + db OAKS_LAB,$06,Show + db OAKS_LAB,$07,Show + db OAKS_LAB,$08,Hide +MapHS2D: + db VIRIDIAN_GYM,$01,Show + db VIRIDIAN_GYM,$0B,Show +MapHS34: + db MUSEUM_1F,$05,Show +MapHSE4: + db UNKNOWN_DUNGEON_1,$01,Show + db UNKNOWN_DUNGEON_1,$02,Show + db UNKNOWN_DUNGEON_1,$03,Show +MapHS8F: + db POKEMONTOWER_2,$01,Show +MapHS90: + db POKEMONTOWER_3,$04,Show +MapHS91: + db POKEMONTOWER_4,$04,Show + db POKEMONTOWER_4,$05,Show + db POKEMONTOWER_4,$06,Show +MapHS92: + db POKEMONTOWER_5,$06,Show +MapHS93: + db POKEMONTOWER_6,$04,Show + db POKEMONTOWER_6,$05,Show +MapHS94: + db POKEMONTOWER_7,$01,Show + db POKEMONTOWER_7,$02,Show + db POKEMONTOWER_7,$03,Show + db POKEMONTOWER_7,$04,Show +MapHS95: + db LAVENDER_HOUSE_1,$05,Hide +MapHS84: + db CELADON_MANSION_5,$02,Show +MapHS87: + db GAME_CORNER,$0B,Show +MapHS9B: + db FUCHSIA_HOUSE_2,$02,Show +MapHSA5: + db MANSION_1,$02,Show + db MANSION_1,$03,Show +MapHSB1: + db FIGHTINGDOJO,$06,Show + db FIGHTINGDOJO,$07,Show +MapHSB5: + db SILPH_CO_1F,$01,Hide +MapHS53: + db POWER_PLANT,$01,Show + db POWER_PLANT,$02,Show + db POWER_PLANT,$03,Show + db POWER_PLANT,$04,Show + db POWER_PLANT,$05,Show + db POWER_PLANT,$06,Show + db POWER_PLANT,$07,Show + db POWER_PLANT,$08,Show + db POWER_PLANT,$09,Show + db POWER_PLANT,$0A,Show + db POWER_PLANT,$0B,Show + db POWER_PLANT,$0C,Show + db POWER_PLANT,$0D,Show + db POWER_PLANT,$0E,Show +MapHSC2: + db VICTORY_ROAD_2,$06,Show + db VICTORY_ROAD_2,$07,Show + db VICTORY_ROAD_2,$08,Show + db VICTORY_ROAD_2,$09,Show + db VICTORY_ROAD_2,$0A,Show + db VICTORY_ROAD_2,$0D,Show +MapHS58: + db BILLS_HOUSE,$01,Show + db BILLS_HOUSE,$02,Hide + db BILLS_HOUSE,$03,Hide +MapHS33: + db VIRIDIAN_FOREST,$05,Show + db VIRIDIAN_FOREST,$06,Show + db VIRIDIAN_FOREST,$07,Show +MapHS3B: + db MT_MOON_1,$08,Show + db MT_MOON_1,$09,Show + db MT_MOON_1,$0A,Show + db MT_MOON_1,$0B,Show + db MT_MOON_1,$0C,Show + db MT_MOON_1,$0D,Show +MapHS3D: + db MT_MOON_3,$06,Show + db MT_MOON_3,$07,Show + db MT_MOON_3,$08,Show + db MT_MOON_3,$09,Show +MapHS60: + db SS_ANNE_2,$02,Hide +MapHS66: + db SS_ANNE_8,$0A,Show +MapHS67: + db SS_ANNE_9,$06,Show + db SS_ANNE_9,$09,Show +MapHS68: + db SS_ANNE_10,$09,Show + db SS_ANNE_10,$0A,Show + db SS_ANNE_10,$0B,Show +MapHSC6: + db VICTORY_ROAD_3,$05,Show + db VICTORY_ROAD_3,$06,Show + db VICTORY_ROAD_3,$0A,Show +MapHSC7: + db ROCKET_HIDEOUT_1,$06,Show + db ROCKET_HIDEOUT_1,$07,Show +MapHSC8: + db ROCKET_HIDEOUT_2,$02,Show + db ROCKET_HIDEOUT_2,$03,Show + db ROCKET_HIDEOUT_2,$04,Show + db ROCKET_HIDEOUT_2,$05,Show +MapHSC9: + db ROCKET_HIDEOUT_3,$03,Show + db ROCKET_HIDEOUT_3,$04,Show +MapHSCA: + db ROCKET_HIDEOUT_4,$01,Show + db ROCKET_HIDEOUT_4,$05,Show + db ROCKET_HIDEOUT_4,$06,Show + db ROCKET_HIDEOUT_4,$07,Show + db ROCKET_HIDEOUT_4,$08,Hide + db ROCKET_HIDEOUT_4,$09,Hide +MapHSCF: + db SILPH_CO_2F,$01,Show + db SILPH_CO_2F,$02,Show + db SILPH_CO_2F,$03,Show + db SILPH_CO_2F,$04,Show + db SILPH_CO_2F,$05,Show +MapHSD0: + db SILPH_CO_3F,$02,Show + db SILPH_CO_3F,$03,Show + db SILPH_CO_3F,$04,Show +MapHSD1: + db SILPH_CO_4F,$02,Show + db SILPH_CO_4F,$03,Show + db SILPH_CO_4F,$04,Show + db SILPH_CO_4F,$05,Show + db SILPH_CO_4F,$06,Show + db SILPH_CO_4F,$07,Show +MapHSD2: + db SILPH_CO_5F,$02,Show + db SILPH_CO_5F,$03,Show + db SILPH_CO_5F,$04,Show + db SILPH_CO_5F,$05,Show + db SILPH_CO_5F,$06,Show + db SILPH_CO_5F,$07,Show + db SILPH_CO_5F,$08,Show +MapHSD3: + db SILPH_CO_6F,$06,Show + db SILPH_CO_6F,$07,Show + db SILPH_CO_6F,$08,Show + db SILPH_CO_6F,$09,Show + db SILPH_CO_6F,$0A,Show +MapHSD4: + db SILPH_CO_7F,$05,Show + db SILPH_CO_7F,$06,Show + db SILPH_CO_7F,$07,Show + db SILPH_CO_7F,$08,Show + db SILPH_CO_7F,$09,Show + db SILPH_CO_7F,$0A,Show + db SILPH_CO_7F,$0B,Show + db SILPH_CO_7F,$0C,Show +MapHSD5: + db SILPH_CO_8F,$02,Show + db SILPH_CO_8F,$03,Show + db SILPH_CO_8F,$04,Show +MapHSE9: + db SILPH_CO_9F,$02,Show + db SILPH_CO_9F,$03,Show + db SILPH_CO_9F,$04,Show +MapHSEA: + db SILPH_CO_10F,$01,Show + db SILPH_CO_10F,$02,Show + db SILPH_CO_10F,$03,Show + db SILPH_CO_10F,$04,Show + db SILPH_CO_10F,$05,Show + db SILPH_CO_10F,$06,Show +MapHSEB: + db SILPH_CO_11F,$03,Show + db SILPH_CO_11F,$04,Show + db SILPH_CO_11F,$05,Show +MapHSF4: + db $F4,$02,Show +MapHSD6: + db MANSION_2,$02,Show +MapHSD7: + db MANSION_3,$03,Show + db MANSION_3,$04,Show +MapHSD8: + db MANSION_4,$03,Show + db MANSION_4,$04,Show + db MANSION_4,$05,Show + db MANSION_4,$06,Show + db MANSION_4,$08,Show +MapHSD9: + db SAFARI_ZONE_EAST,$01,Show + db SAFARI_ZONE_EAST,$02,Show + db SAFARI_ZONE_EAST,$03,Show + db SAFARI_ZONE_EAST,$04,Show +MapHSDA: + db SAFARI_ZONE_NORTH,$01,Show + db SAFARI_ZONE_NORTH,$02,Show +MapHSDB: + db SAFARI_ZONE_WEST,$01,Show + db SAFARI_ZONE_WEST,$02,Show + db SAFARI_ZONE_WEST,$03,Show + db SAFARI_ZONE_WEST,$04,Show +MapHSDC: + db SAFARI_ZONE_CENTER,$01,Show +MapHSE2: + db UNKNOWN_DUNGEON_2,$01,Show + db UNKNOWN_DUNGEON_2,$02,Show + db UNKNOWN_DUNGEON_2,$03,Show +MapHSE3: + db UNKNOWN_DUNGEON_3,$01,Show + db UNKNOWN_DUNGEON_3,$02,Show + db UNKNOWN_DUNGEON_3,$03,Show +MapHS6C: + db VICTORY_ROAD_1,$03,Show + db VICTORY_ROAD_1,$04,Show +MapHS78: + db CHAMPIONS_ROOM,$02,Hide +MapHSC0: + db SEAFOAM_ISLANDS_1,$01,Show + db SEAFOAM_ISLANDS_1,$02,Show +MapHS9F: + db SEAFOAM_ISLANDS_2,$01,Hide + db SEAFOAM_ISLANDS_2,$02,Hide +MapHSA0: + db SEAFOAM_ISLANDS_3,$01,Hide + db SEAFOAM_ISLANDS_3,$02,Hide +MapHSA1: + db SEAFOAM_ISLANDS_4,$02,Show + db SEAFOAM_ISLANDS_4,$03,Show + db SEAFOAM_ISLANDS_4,$05,Hide + db SEAFOAM_ISLANDS_4,$06,Hide +MapHSA2: + db SEAFOAM_ISLANDS_5,$01,Hide + db SEAFOAM_ISLANDS_5,$02,Hide + db SEAFOAM_ISLANDS_5,$03,Show + + db $FF + +INCBIN "baserom.gbc",$cd97,$cdbb - $cd97 + +UnnamedText_cdbb: ; 0xcdbb + TX_FAR _UnnamedText_cdbb + db $50 +; 0xcdbb + 5 bytes + +INCBIN "baserom.gbc",$cdc0,$cdfa - $cdc0 + +UnnamedText_cdfa: ; 0xcdfa + TX_FAR _UnnamedText_cdfa + db $50 +; 0xcdfa + 5 bytes + +UnnamedText_cdff: ; 0xcdff + TX_FAR _UnnamedText_cdff + db $50 +; 0xcdff + 5 bytes + +INCBIN "baserom.gbc",$ce04,$b4 + +; wild pokemon data: from 4EB8 to 55C7 + +LoadWildData: ; 4EB8 + ld hl,WildDataPointers + ld a,[W_CURMAP] + + ; get wild data for current map + ld c,a + ld b,0 + add hl,bc + add hl,bc + ld a,[hli] + ld h,[hl] + ld l,a ; hl now points to wild data for current map + ld a,[hli] + ld [W_GRASSRATE],a + and a + jr z,.NoGrassData\@ ; if no grass data, skip to surfing data + push hl + ld de,W_GRASSMONS ; otherwise, load grass data + ld bc,$0014 + call CopyData + pop hl + ld bc,$0014 + add hl,bc +.NoGrassData\@ + ld a,[hli] + ld [W_WATERRATE],a + and a + ret z ; if no water data, we're done + ld de,W_WATERMONS ; otherwise, load surfing data + ld bc,$0014 + jp CopyData + +WildDataPointers: ; 4EEB + dw NoMons ; PALLET_TOWN + dw NoMons ; VIRIDIAN_CITY + dw NoMons ; PEWTER_CITY + dw NoMons ; CERULEAN_CITY + dw NoMons ; LAVENDER_TOWN + dw NoMons ; VERMILION_CITY + dw NoMons ; CELADON_CITY + dw NoMons ; FUCHSIA_CITY + dw NoMons ; CINNABAR_ISLAND + dw NoMons ; INDIGO_PLATEAU + dw NoMons ; SAFFRON_CITY + dw NoMons ; unused + dw Route1Mons ; ROUTE_1 + dw Route2Mons ; ROUTE_2 + dw Route3Mons ; ROUTE_3 + dw Route4Mons ; ROUTE_4 + dw Route5Mons ; ROUTE_5 + dw Route6Mons ; ROUTE_6 + dw Route7Mons ; ROUTE_7 + dw Route8Mons ; ROUTE_8 + dw Route9Mons ; ROUTE_9 + dw Route10Mons ; ROUTE_10 + dw Route11Mons ; ROUTE_11 + dw Route12Mons ; ROUTE_12 + dw Route13Mons ; ROUTE_13 + dw Route14Mons ; ROUTE_14 + dw Route15Mons ; ROUTE_15 + dw Route16Mons ; ROUTE_16 + dw Route17Mons ; ROUTE_17 + dw Route18Mons ; ROUTE_18 + dw WaterMons ; ROUTE_19 + dw WaterMons ; ROUTE_20 + dw Route21Mons ; ROUTE_21 + dw Route22Mons ; ROUTE_22 + dw Route23Mons ; ROUTE_23 + dw Route24Mons ; ROUTE_24 + dw Route25Mons ; ROUTE_25 + dw NoMons ; REDS_HOUSE_1F + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw ForestMons ; ViridianForest + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw MoonMons1 + dw MoonMonsB1 + dw MoonMonsB2 + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw TunnelMonsB1 + dw PowerPlantMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw PlateauMons1 + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw TowerMons1 + dw TowerMons2 + dw TowerMons3 + dw TowerMons4 + dw TowerMons5 + dw TowerMons6 + dw TowerMons7 + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw IslandMonsB1 + dw IslandMonsB2 + dw IslandMonsB3 + dw IslandMonsB4 + dw NoMons + dw NoMons + dw MansionMons1 + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw IslandMons1 + dw NoMons + dw PlateauMons2 + dw NoMons + dw NoMons + dw CaveMons + dw PlateauMons3 + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw MansionMons2 + dw MansionMons3 + dw MansionMonsB1 + dw ZoneMons1 + dw ZoneMons2 + dw ZoneMons3 + dw ZoneMonsCenter + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw DungeonMons2 + dw DungeonMonsB1 + dw DungeonMons1 + dw NoMons + dw NoMons + dw NoMons + dw TunnelMonsB2 + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw $FFFF + +; wild pokemon data is divided into two parts. +; first part: pokemon found in grass +; second part: pokemon found while surfing +; each part goes as follows: + ; if first byte == 00, then + ; no wild pokemon on this map + ; if first byte != 00, then + ; first byte is encounter rate + ; followed by 20 bytes: + ; level, species (ten times) + +IF _RED +NoMons: + db $00 + + db $00 + +Route1Mons: + db $19 + db 3,PIDGEY + db 3,RATTATA + db 3,RATTATA + db 2,RATTATA + db 2,PIDGEY + db 3,PIDGEY + db 3,PIDGEY + db 4,RATTATA + db 4,PIDGEY + db 5,PIDGEY + + db $00 + +Route2Mons: + db $19 + db 3,RATTATA + db 3,PIDGEY + db 4,PIDGEY + db 4,RATTATA + db 5,PIDGEY + db 3,WEEDLE + db 2,RATTATA + db 5,RATTATA + db 4,WEEDLE + db 5,WEEDLE + + db $00 + +Route22Mons: + db $19 + db 3,RATTATA + db 3,NIDORAN_M + db 4,RATTATA + db 4,NIDORAN_M + db 2,RATTATA + db 2,NIDORAN_M + db 3,SPEAROW + db 5,SPEAROW + db 3,NIDORAN_F + db 4,NIDORAN_F + + db $00 + +ForestMons: + db $08 + db 4,WEEDLE + db 5,KAKUNA + db 3,WEEDLE + db 5,WEEDLE + db 4,KAKUNA + db 6,KAKUNA + db 4,METAPOD + db 3,CATERPIE + db 3,PIKACHU + db 5,PIKACHU + + db $00 + +Route3Mons: + db $14 + db 6,PIDGEY + db 5,SPEAROW + db 7,PIDGEY + db 6,SPEAROW + db 7,SPEAROW + db 8,PIDGEY + db 8,SPEAROW + db 3,JIGGLYPUFF + db 5,JIGGLYPUFF + db 7,JIGGLYPUFF + + db $00 + +MoonMons1: + db $0A + db 8,ZUBAT + db 7,ZUBAT + db 9,ZUBAT + db 8,GEODUDE + db 6,ZUBAT + db 10,ZUBAT + db 10,GEODUDE + db 8,PARAS + db 11,ZUBAT + db 8,CLEFAIRY + + db $00 + +MoonMonsB1: + db $0A + db 8,ZUBAT + db 7,ZUBAT + db 7,GEODUDE + db 8,GEODUDE + db 9,ZUBAT + db 10,PARAS + db 10,ZUBAT + db 11,ZUBAT + db 9,CLEFAIRY + db 9,GEODUDE + + db $00 + +MoonMonsB2: + db $0A + db 9,ZUBAT + db 9,GEODUDE + db 10,ZUBAT + db 10,GEODUDE + db 11,ZUBAT + db 10,PARAS + db 12,PARAS + db 10,CLEFAIRY + db 12,ZUBAT + db 12,CLEFAIRY + + db $00 + +Route4Mons: + db $14 + db 10,RATTATA + db 10,SPEAROW + db 8,RATTATA + db 6,EKANS + db 8,SPEAROW + db 10,EKANS + db 12,RATTATA + db 12,SPEAROW + db 8,EKANS + db 12,EKANS + + db $00 + +Route24Mons: + db $19 + db 7,WEEDLE + db 8,KAKUNA + db 12,PIDGEY + db 12,ODDISH + db 13,ODDISH + db 10,ABRA + db 14,ODDISH + db 13,PIDGEY + db 8,ABRA + db 12,ABRA + + db $00 + +Route25Mons: + db $0F + db 8,WEEDLE + db 9,KAKUNA + db 13,PIDGEY + db 12,ODDISH + db 13,ODDISH + db 12,ABRA + db 14,ODDISH + db 10,ABRA + db 7,METAPOD + db 8,CATERPIE + + db $00 + +Route9Mons: + db $0F + db 16,RATTATA + db 16,SPEAROW + db 14,RATTATA + db 11,EKANS + db 13,SPEAROW + db 15,EKANS + db 17,RATTATA + db 17,SPEAROW + db 13,EKANS + db 17,EKANS + + db $00 + +Route5Mons: + db $0F + db 13,ODDISH + db 13,PIDGEY + db 15,PIDGEY + db 10,MANKEY + db 12,MANKEY + db 15,ODDISH + db 16,ODDISH + db 16,PIDGEY + db 14,MANKEY + db 16,MANKEY + + db $00 + +Route6Mons: + db $0F + db 13,ODDISH + db 13,PIDGEY + db 15,PIDGEY + db 10,MANKEY + db 12,MANKEY + db 15,ODDISH + db 16,ODDISH + db 16,PIDGEY + db 14,MANKEY + db 16,MANKEY + + db $00 + +Route11Mons: + db $0F + db 14,EKANS + db 15,SPEAROW + db 12,EKANS + db 9,DROWZEE + db 13,SPEAROW + db 13,DROWZEE + db 15,EKANS + db 17,SPEAROW + db 11,DROWZEE + db 15,DROWZEE + + db $00 + +TunnelMonsB1: + db $0F + db 16,ZUBAT + db 17,ZUBAT + db 17,GEODUDE + db 15,MACHOP + db 16,GEODUDE + db 18,ZUBAT + db 15,ZUBAT + db 17,MACHOP + db 13,ONIX + db 15,ONIX + + db $00 + +TunnelMonsB2: + db $0F + db 16,ZUBAT + db 17,ZUBAT + db 17,GEODUDE + db 15,MACHOP + db 16,GEODUDE + db 18,ZUBAT + db 17,MACHOP + db 17,ONIX + db 13,ONIX + db 18,GEODUDE + + db $00 + +Route10Mons: + db $0F + db 16,VOLTORB + db 16,SPEAROW + db 14,VOLTORB + db 11,EKANS + db 13,SPEAROW + db 15,EKANS + db 17,VOLTORB + db 17,SPEAROW + db 13,EKANS + db 17,EKANS + + db $00 + +Route12Mons: + db $0F + db 24,ODDISH + db 25,PIDGEY + db 23,PIDGEY + db 24,VENONAT + db 22,ODDISH + db 26,VENONAT + db 26,ODDISH + db 27,PIDGEY + db 28,GLOOM + db 30,GLOOM + + db $00 + +Route8Mons: + db $0F + db 18,PIDGEY + db 18,MANKEY + db 17,EKANS + db 16,GROWLITHE + db 20,PIDGEY + db 20,MANKEY + db 19,EKANS + db 17,GROWLITHE + db 15,GROWLITHE + db 18,GROWLITHE + + db $00 + +Route7Mons: + db $0F + db 19,PIDGEY + db 19,ODDISH + db 17,MANKEY + db 22,ODDISH + db 22,PIDGEY + db 18,MANKEY + db 18,GROWLITHE + db 20,GROWLITHE + db 19,MANKEY + db 20,MANKEY + + db $00 + +TowerMons1: + db $00 + + db $00 + +TowerMons2: + db $00 + + db $00 + +TowerMons3: + db $0A + db 20,GASTLY + db 21,GASTLY + db 22,GASTLY + db 23,GASTLY + db 19,GASTLY + db 18,GASTLY + db 24,GASTLY + db 20,CUBONE + db 22,CUBONE + db 25,HAUNTER + + db $00 + +TowerMons4: + db $0A + db 20,GASTLY + db 21,GASTLY + db 22,GASTLY + db 23,GASTLY + db 19,GASTLY + db 18,GASTLY + db 25,HAUNTER + db 20,CUBONE + db 22,CUBONE + db 24,GASTLY + + db $00 + +TowerMons5: + db $0A + db 20,GASTLY + db 21,GASTLY + db 22,GASTLY + db 23,GASTLY + db 19,GASTLY + db 18,GASTLY + db 25,HAUNTER + db 20,CUBONE + db 22,CUBONE + db 24,GASTLY + + db $00 + +TowerMons6: + db $0F + db 21,GASTLY + db 22,GASTLY + db 23,GASTLY + db 24,GASTLY + db 20,GASTLY + db 19,GASTLY + db 26,HAUNTER + db 22,CUBONE + db 24,CUBONE + db 28,HAUNTER + + db $00 + +TowerMons7: + db $0F + db 21,GASTLY + db 22,GASTLY + db 23,GASTLY + db 24,GASTLY + db 20,GASTLY + db 28,HAUNTER + db 22,CUBONE + db 24,CUBONE + db 28,HAUNTER + db 30,HAUNTER + + db $00 + +Route13Mons: + db $14 + db 24,ODDISH + db 25,PIDGEY + db 27,PIDGEY + db 24,VENONAT + db 22,ODDISH + db 26,VENONAT + db 26,ODDISH + db 25,DITTO + db 28,GLOOM + db 30,GLOOM + + db $00 + +Route14Mons: + db $0F + db 24,ODDISH + db 26,PIDGEY + db 23,DITTO + db 24,VENONAT + db 22,ODDISH + db 26,VENONAT + db 26,ODDISH + db 30,GLOOM + db 28,PIDGEOTTO + db 30,PIDGEOTTO + + db $00 + +Route15Mons: + db $0F + db 24,ODDISH + db 26,DITTO + db 23,PIDGEY + db 26,VENONAT + db 22,ODDISH + db 28,VENONAT + db 26,ODDISH + db 30,GLOOM + db 28,PIDGEOTTO + db 30,PIDGEOTTO + + db $00 + +Route16Mons: + db $19 + db 20,SPEAROW + db 22,SPEAROW + db 18,RATTATA + db 20,DODUO + db 20,RATTATA + db 18,DODUO + db 22,DODUO + db 22,RATTATA + db 23,RATICATE + db 25,RATICATE + + db $00 + +Route17Mons: + db $19 + db 20,SPEAROW + db 22,SPEAROW + db 25,RATICATE + db 24,DODUO + db 27,RATICATE + db 26,DODUO + db 28,DODUO + db 29,RATICATE + db 25,FEAROW + db 27,FEAROW + + db $00 + +Route18Mons: + db $19 + db 20,SPEAROW + db 22,SPEAROW + db 25,RATICATE + db 24,DODUO + db 25,FEAROW + db 26,DODUO + db 28,DODUO + db 29,RATICATE + db 27,FEAROW + db 29,FEAROW + + db $00 + +ZoneMonsCenter: + db $1E + db 22,NIDORAN_M + db 25,RHYHORN + db 22,VENONAT + db 24,EXEGGCUTE + db 31,NIDORINO + db 25,EXEGGCUTE + db 31,NIDORINA + db 30,PARASECT + db 23,SCYTHER + db 23,CHANSEY + + db $00 + +ZoneMons1: + db $1E + db 24,NIDORAN_M + db 26,DODUO + db 22,PARAS + db 25,EXEGGCUTE + db 33,NIDORINO + db 23,EXEGGCUTE + db 24,NIDORAN_F + db 25,PARASECT + db 25,KANGASKHAN + db 28,SCYTHER + + db $00 + +ZoneMons2: + db $1E + db 22,NIDORAN_M + db 26,RHYHORN + db 23,PARAS + db 25,EXEGGCUTE + db 30,NIDORINO + db 27,EXEGGCUTE + db 30,NIDORINA + db 32,VENOMOTH + db 26,CHANSEY + db 28,TAUROS + + db $00 + +ZoneMons3: + db $1E + db 25,NIDORAN_M + db 26,DODUO + db 23,VENONAT + db 24,EXEGGCUTE + db 33,NIDORINO + db 26,EXEGGCUTE + db 25,NIDORAN_F + db 31,VENOMOTH + db 26,TAUROS + db 28,KANGASKHAN + + db $00 + +WaterMons: + db $00 + + db $05 + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 20,TENTACOOL + db 30,TENTACOOL + db 35,TENTACOOL + db 40,TENTACOOL + +IslandMons1: + db $0F + db 30,SEEL + db 30,SLOWPOKE + db 30,SHELLDER + db 30,HORSEA + db 28,HORSEA + db 21,ZUBAT + db 29,GOLBAT + db 28,PSYDUCK + db 28,SHELLDER + db 38,GOLDUCK + + db $00 + +IslandMonsB1: + db $0A + db 30,STARYU + db 30,HORSEA + db 32,SHELLDER + db 32,HORSEA + db 28,SLOWPOKE + db 30,SEEL + db 30,SLOWPOKE + db 28,SEEL + db 38,DEWGONG + db 37,SEADRA + + db $00 + +IslandMonsB2: + db $0A + db 30,SEEL + db 30,SLOWPOKE + db 32,SEEL + db 32,SLOWPOKE + db 28,HORSEA + db 30,STARYU + db 30,HORSEA + db 28,SHELLDER + db 30,GOLBAT + db 37,SLOWBRO + + db $00 + +IslandMonsB3: + db $0A + db 31,SLOWPOKE + db 31,SEEL + db 33,SLOWPOKE + db 33,SEEL + db 29,HORSEA + db 31,SHELLDER + db 31,HORSEA + db 29,SHELLDER + db 39,SEADRA + db 37,DEWGONG + + db $00 + +IslandMonsB4: + db $0A + db 31,HORSEA + db 31,SHELLDER + db 33,HORSEA + db 33,SHELLDER + db 29,SLOWPOKE + db 31,SEEL + db 31,SLOWPOKE + db 29,SEEL + db 39,SLOWBRO + db 32,GOLBAT + + db $00 + +MansionMons1: + db $0A + db 32,KOFFING + db 30,KOFFING + db 34,PONYTA + db 30,PONYTA + db 34,GROWLITHE + db 32,PONYTA + db 30,GRIMER + db 28,PONYTA + db 37,WEEZING + db 39,MUK + + db $00 + +MansionMons2: + db $0A + db 32,GROWLITHE + db 34,KOFFING + db 34,KOFFING + db 30,PONYTA + db 30,KOFFING + db 32,PONYTA + db 30,GRIMER + db 28,PONYTA + db 39,WEEZING + db 37,MUK + + db $00 + +MansionMons3: + db $0A + db 31,KOFFING + db 33,GROWLITHE + db 35,KOFFING + db 32,PONYTA + db 34,PONYTA + db 40,WEEZING + db 34,GRIMER + db 38,WEEZING + db 36,PONYTA + db 42,MUK + + db $00 + +MansionMonsB1: + db $0A + db 33,KOFFING + db 31,KOFFING + db 35,GROWLITHE + db 32,PONYTA + db 31,KOFFING + db 40,WEEZING + db 34,PONYTA + db 35,GRIMER + db 42,WEEZING + db 42,MUK + + db $00 + +Route21Mons: + db $19 + db 21,RATTATA + db 23,PIDGEY + db 30,RATICATE + db 23,RATTATA + db 21,PIDGEY + db 30,PIDGEOTTO + db 32,PIDGEOTTO + db 28,TANGELA + db 30,TANGELA + db 32,TANGELA + + db $05 + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 20,TENTACOOL + db 30,TENTACOOL + db 35,TENTACOOL + db 40,TENTACOOL + +DungeonMons1: + db $0A + db 46,GOLBAT + db 46,HYPNO + db 46,MAGNETON + db 49,DODRIO + db 49,VENOMOTH + db 52,ARBOK + db 49,KADABRA + db 52,PARASECT + db 53,RAICHU + db 53,DITTO + + db $00 + +DungeonMons2: + db $0F + db 51,DODRIO + db 51,VENOMOTH + db 51,KADABRA + db 52,RHYDON + db 52,MAROWAK + db 52,ELECTRODE + db 56,CHANSEY + db 54,WIGGLYTUFF + db 55,DITTO + db 60,DITTO + + db $00 + +DungeonMonsB1: + db $19 + db 55,RHYDON + db 55,MAROWAK + db 55,ELECTRODE + db 64,CHANSEY + db 64,PARASECT + db 64,RAICHU + db 57,ARBOK + db 65,DITTO + db 63,DITTO + db 67,DITTO + + db $00 + +PowerPlantMons: + db $0A + db 21,VOLTORB + db 21,MAGNEMITE + db 20,PIKACHU + db 24,PIKACHU + db 23,MAGNEMITE + db 23,VOLTORB + db 32,MAGNETON + db 35,MAGNETON + db 33,ELECTABUZZ + db 36,ELECTABUZZ + + db $00 + +Route23Mons: + db $0A + db 26,EKANS + db 33,DITTO + db 26,SPEAROW + db 38,FEAROW + db 38,DITTO + db 38,FEAROW + db 41,ARBOK + db 43,DITTO + db 41,FEAROW + db 43,FEAROW + + db $00 + +PlateauMons2: + db $0A + db 22,MACHOP + db 24,GEODUDE + db 26,ZUBAT + db 36,ONIX + db 39,ONIX + db 42,ONIX + db 41,MACHOKE + db 40,GOLBAT + db 40,MAROWAK + db 43,GRAVELER + + db $00 + +PlateauMons3: + db $0F + db 24,MACHOP + db 26,GEODUDE + db 22,ZUBAT + db 42,ONIX + db 40,VENOMOTH + db 45,ONIX + db 43,GRAVELER + db 41,GOLBAT + db 42,MACHOKE + db 45,MACHOKE + + db $00 + +PlateauMons1: + db $0F + db 24,MACHOP + db 26,GEODUDE + db 22,ZUBAT + db 36,ONIX + db 39,ONIX + db 42,ONIX + db 41,GRAVELER + db 41,GOLBAT + db 42,MACHOKE + db 43,MAROWAK + + db $00 + +CaveMons: + db $14 + db 18,DIGLETT + db 19,DIGLETT + db 17,DIGLETT + db 20,DIGLETT + db 16,DIGLETT + db 15,DIGLETT + db 21,DIGLETT + db 22,DIGLETT + db 29,DUGTRIO + db 31,DUGTRIO + + db $00 + +ENDC +IF _GREEN || !_JAPAN && _BLUE +NoMons: + db $00 + + db $00 + +Route1Mons: + db $19 + db 3,PIDGEY + db 3,RATTATA + db 3,RATTATA + db 2,RATTATA + db 2,PIDGEY + db 3,PIDGEY + db 3,PIDGEY + db 4,RATTATA + db 4,PIDGEY + db 5,PIDGEY + + db $00 + +Route2Mons: + db $19 + db 3,RATTATA + db 3,PIDGEY + db 4,PIDGEY + db 4,RATTATA + db 5,PIDGEY + db 3,CATERPIE + db 2,RATTATA + db 5,RATTATA + db 4,CATERPIE + db 5,CATERPIE + + db $00 + +Route22Mons: + db $19 + db 3,RATTATA + db 3,NIDORAN_F + db 4,RATTATA + db 4,NIDORAN_F + db 2,RATTATA + db 2,NIDORAN_F + db 3,SPEAROW + db 5,SPEAROW + db 3,NIDORAN_M + db 4,NIDORAN_M + + db $00 + +ForestMons: + db $08 + db 4,CATERPIE + db 5,METAPOD + db 3,CATERPIE + db 5,CATERPIE + db 4,METAPOD + db 6,METAPOD + db 4,KAKUNA + db 3,WEEDLE + db 3,PIKACHU + db 5,PIKACHU + + db $00 + +Route3Mons: + db $14 + db 6,PIDGEY + db 5,SPEAROW + db 7,PIDGEY + db 6,SPEAROW + db 7,SPEAROW + db 8,PIDGEY + db 8,SPEAROW + db 3,JIGGLYPUFF + db 5,JIGGLYPUFF + db 7,JIGGLYPUFF + + db $00 + +MoonMons1: + db $0A + db 8,ZUBAT + db 7,ZUBAT + db 9,ZUBAT + db 8,GEODUDE + db 6,ZUBAT + db 10,ZUBAT + db 10,GEODUDE + db 8,PARAS + db 11,ZUBAT + db 8,CLEFAIRY + + db $00 + +MoonMonsB1: + db $0A + db 8,ZUBAT + db 7,ZUBAT + db 7,GEODUDE + db 8,GEODUDE + db 9,ZUBAT + db 10,PARAS + db 10,ZUBAT + db 11,ZUBAT + db 9,CLEFAIRY + db 9,GEODUDE + + db $00 + +MoonMonsB2: + db $0A + db 9,ZUBAT + db 9,GEODUDE + db 10,ZUBAT + db 10,GEODUDE + db 11,ZUBAT + db 10,PARAS + db 12,PARAS + db 10,CLEFAIRY + db 12,ZUBAT + db 12,CLEFAIRY + + db $00 + +Route4Mons: + db $14 + db 10,RATTATA + db 10,SPEAROW + db 8,RATTATA + db 6,SANDSHREW + db 8,SPEAROW + db 10,SANDSHREW + db 12,RATTATA + db 12,SPEAROW + db 8,SANDSHREW + db 12,SANDSHREW + + db $00 + +Route24Mons: + db $19 + db 7,CATERPIE + db 8,METAPOD + db 12,PIDGEY + db 12,BELLSPROUT + db 13,BELLSPROUT + db 10,ABRA + db 14,BELLSPROUT + db 13,PIDGEY + db 8,ABRA + db 12,ABRA + + db $00 + +Route25Mons: + db $0F + db 8,CATERPIE + db 9,METAPOD + db 13,PIDGEY + db 12,BELLSPROUT + db 13,BELLSPROUT + db 12,ABRA + db 14,BELLSPROUT + db 10,ABRA + db 7,KAKUNA + db 8,WEEDLE + + db $00 + +Route9Mons: + db $0F + db 16,RATTATA + db 16,SPEAROW + db 14,RATTATA + db 11,SANDSHREW + db 13,SPEAROW + db 15,SANDSHREW + db 17,RATTATA + db 17,SPEAROW + db 13,SANDSHREW + db 17,SANDSHREW + + db $00 + +Route5Mons: + db $0F + db 13,BELLSPROUT + db 13,PIDGEY + db 15,PIDGEY + db 10,MEOWTH + db 12,MEOWTH + db 15,BELLSPROUT + db 16,BELLSPROUT + db 16,PIDGEY + db 14,MEOWTH + db 16,MEOWTH + + db $00 + +Route6Mons: + db $0F + db 13,BELLSPROUT + db 13,PIDGEY + db 15,PIDGEY + db 10,MEOWTH + db 12,MEOWTH + db 15,BELLSPROUT + db 16,BELLSPROUT + db 16,PIDGEY + db 14,MEOWTH + db 16,MEOWTH + + db $00 + +Route11Mons: + db $0F + db 14,SANDSHREW + db 15,SPEAROW + db 12,SANDSHREW + db 9,DROWZEE + db 13,SPEAROW + db 13,DROWZEE + db 15,SANDSHREW + db 17,SPEAROW + db 11,DROWZEE + db 15,DROWZEE + + db $00 + +TunnelMonsB1: + db $0F + db 16,ZUBAT + db 17,ZUBAT + db 17,GEODUDE + db 15,MACHOP + db 16,GEODUDE + db 18,ZUBAT + db 15,ZUBAT + db 17,MACHOP + db 13,ONIX + db 15,ONIX + + db $00 + +TunnelMonsB2: + db $0F + db 16,ZUBAT + db 17,ZUBAT + db 17,GEODUDE + db 15,MACHOP + db 16,GEODUDE + db 18,ZUBAT + db 17,MACHOP + db 17,ONIX + db 13,ONIX + db 18,GEODUDE + + db $00 + +Route10Mons: + db $0F + db 16,VOLTORB + db 16,SPEAROW + db 14,VOLTORB + db 11,SANDSHREW + db 13,SPEAROW + db 15,SANDSHREW + db 17,VOLTORB + db 17,SPEAROW + db 13,SANDSHREW + db 17,SANDSHREW + + db $00 + +Route12Mons: + db $0F + db 24,BELLSPROUT + db 25,PIDGEY + db 23,PIDGEY + db 24,VENONAT + db 22,BELLSPROUT + db 26,VENONAT + db 26,BELLSPROUT + db 27,PIDGEY + db 28,WEEPINBELL + db 30,WEEPINBELL + + db $00 + +Route8Mons: + db $0F + db 18,PIDGEY + db 18,MEOWTH + db 17,SANDSHREW + db 16,VULPIX + db 20,PIDGEY + db 20,MEOWTH + db 19,SANDSHREW + db 17,VULPIX + db 15,VULPIX + db 18,VULPIX + + db $00 + +Route7Mons: + db $0F + db 19,PIDGEY + db 19,BELLSPROUT + db 17,MEOWTH + db 22,BELLSPROUT + db 22,PIDGEY + db 18,MEOWTH + db 18,VULPIX + db 20,VULPIX + db 19,MEOWTH + db 20,MEOWTH + + db $00 + +TowerMons1: + db $00 + + db $00 + +TowerMons2: + db $00 + + db $00 + +TowerMons3: + db $0A + db 20,GASTLY + db 21,GASTLY + db 22,GASTLY + db 23,GASTLY + db 19,GASTLY + db 18,GASTLY + db 24,GASTLY + db 20,CUBONE + db 22,CUBONE + db 25,HAUNTER + + db $00 + +TowerMons4: + db $0A + db 20,GASTLY + db 21,GASTLY + db 22,GASTLY + db 23,GASTLY + db 19,GASTLY + db 18,GASTLY + db 25,HAUNTER + db 20,CUBONE + db 22,CUBONE + db 24,GASTLY + + db $00 + +TowerMons5: + db $0A + db 20,GASTLY + db 21,GASTLY + db 22,GASTLY + db 23,GASTLY + db 19,GASTLY + db 18,GASTLY + db 25,HAUNTER + db 20,CUBONE + db 22,CUBONE + db 24,GASTLY + + db $00 + +TowerMons6: + db $0F + db 21,GASTLY + db 22,GASTLY + db 23,GASTLY + db 24,GASTLY + db 20,GASTLY + db 19,GASTLY + db 26,HAUNTER + db 22,CUBONE + db 24,CUBONE + db 28,HAUNTER + + db $00 + +TowerMons7: + db $0F + db 21,GASTLY + db 22,GASTLY + db 23,GASTLY + db 24,GASTLY + db 20,GASTLY + db 28,HAUNTER + db 22,CUBONE + db 24,CUBONE + db 28,HAUNTER + db 30,HAUNTER + + db $00 + +Route13Mons: + db $14 + db 24,BELLSPROUT + db 25,PIDGEY + db 27,PIDGEY + db 24,VENONAT + db 22,BELLSPROUT + db 26,VENONAT + db 26,BELLSPROUT + db 25,DITTO + db 28,WEEPINBELL + db 30,WEEPINBELL + + db $00 + +Route14Mons: + db $0F + db 24,BELLSPROUT + db 26,PIDGEY + db 23,DITTO + db 24,VENONAT + db 22,BELLSPROUT + db 26,VENONAT + db 26,BELLSPROUT + db 30,WEEPINBELL + db 28,PIDGEOTTO + db 30,PIDGEOTTO + + db $00 + +Route15Mons: + db $0F + db 24,BELLSPROUT + db 26,DITTO + db 23,PIDGEY + db 26,VENONAT + db 22,BELLSPROUT + db 28,VENONAT + db 26,BELLSPROUT + db 30,WEEPINBELL + db 28,PIDGEOTTO + db 30,PIDGEOTTO + + db $00 + +Route16Mons: + db $19 + db 20,SPEAROW + db 22,SPEAROW + db 18,RATTATA + db 20,DODUO + db 20,RATTATA + db 18,DODUO + db 22,DODUO + db 22,RATTATA + db 23,RATICATE + db 25,RATICATE + + db $00 + +Route17Mons: + db $19 + db 20,SPEAROW + db 22,SPEAROW + db 25,RATICATE + db 24,DODUO + db 27,RATICATE + db 26,DODUO + db 28,DODUO + db 29,RATICATE + db 25,FEAROW + db 27,FEAROW + + db $00 + +Route18Mons: + db $19 + db 20,SPEAROW + db 22,SPEAROW + db 25,RATICATE + db 24,DODUO + db 25,FEAROW + db 26,DODUO + db 28,DODUO + db 29,RATICATE + db 27,FEAROW + db 29,FEAROW + + db $00 + +ZoneMonsCenter: + db $1E + db 22,NIDORAN_F + db 25,RHYHORN + db 22,VENONAT + db 24,EXEGGCUTE + db 31,NIDORINA + db 25,EXEGGCUTE + db 31,NIDORINO + db 30,PARASECT + db 23,PINSIR + db 23,CHANSEY + + db $00 + +ZoneMons1: + db $1E + db 24,NIDORAN_F + db 26,DODUO + db 22,PARAS + db 25,EXEGGCUTE + db 33,NIDORINA + db 23,EXEGGCUTE + db 24,NIDORAN_M + db 25,PARASECT + db 25,KANGASKHAN + db 28,PINSIR + + db $00 + +ZoneMons2: + db $1E + db 22,NIDORAN_F + db 26,RHYHORN + db 23,PARAS + db 25,EXEGGCUTE + db 30,NIDORINA + db 27,EXEGGCUTE + db 30,NIDORINO + db 32,VENOMOTH + db 26,CHANSEY + db 28,TAUROS + + db $00 + +ZoneMons3: + db $1E + db 25,NIDORAN_F + db 26,DODUO + db 23,VENONAT + db 24,EXEGGCUTE + db 33,NIDORINA + db 26,EXEGGCUTE + db 25,NIDORAN_M + db 31,VENOMOTH + db 26,TAUROS + db 28,KANGASKHAN + + db $00 + +WaterMons: + db $00 + + db $05 + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 20,TENTACOOL + db 30,TENTACOOL + db 35,TENTACOOL + db 40,TENTACOOL + +IslandMons1: + db $0F + db 30,SEEL + db 30,PSYDUCK + db 30,STARYU + db 30,KRABBY + db 28,KRABBY + db 21,ZUBAT + db 29,GOLBAT + db 28,SLOWPOKE + db 28,STARYU + db 38,SLOWBRO + + db $00 + +IslandMonsB1: + db $0A + db 30,SHELLDER + db 30,KRABBY + db 32,STARYU + db 32,KRABBY + db 28,PSYDUCK + db 30,SEEL + db 30,PSYDUCK + db 28,SEEL + db 38,DEWGONG + db 37,KINGLER + + db $00 + +IslandMonsB2: + db $0A + db 30,SEEL + db 30,PSYDUCK + db 32,SEEL + db 32,PSYDUCK + db 28,KRABBY + db 30,SHELLDER + db 30,KRABBY + db 28,STARYU + db 30,GOLBAT + db 37,GOLDUCK + + db $00 + +IslandMonsB3: + db $0A + db 31,PSYDUCK + db 31,SEEL + db 33,PSYDUCK + db 33,SEEL + db 29,KRABBY + db 31,STARYU + db 31,KRABBY + db 29,STARYU + db 39,KINGLER + db 37,DEWGONG + + db $00 + +IslandMonsB4: + db $0A + db 31,KRABBY + db 31,STARYU + db 33,KRABBY + db 33,STARYU + db 29,PSYDUCK + db 31,SEEL + db 31,PSYDUCK + db 29,SEEL + db 39,GOLDUCK + db 32,GOLBAT + + db $00 + +MansionMons1: + db $0A + db 32,GRIMER + db 30,GRIMER + db 34,PONYTA + db 30,PONYTA + db 34,VULPIX + db 32,PONYTA + db 30,KOFFING + db 28,PONYTA + db 37,MUK + db 39,WEEZING + + db $00 + +MansionMons2: + db $0A + db 32,VULPIX + db 34,GRIMER + db 34,GRIMER + db 30,PONYTA + db 30,GRIMER + db 32,PONYTA + db 30,KOFFING + db 28,PONYTA + db 39,MUK + db 37,WEEZING + + db $00 + +MansionMons3: + db $0A + db 31,GRIMER + db 33,VULPIX + db 35,GRIMER + db 32,PONYTA + db 34,MAGMAR + db 40,MUK + db 34,KOFFING + db 38,MUK + db 36,PONYTA + db 42,WEEZING + + db $00 + +MansionMonsB1: + db $0A + db 33,GRIMER + db 31,GRIMER + db 35,VULPIX + db 32,PONYTA + db 31,GRIMER + db 40,MUK + db 34,PONYTA + db 35,KOFFING + db 38,MAGMAR + db 42,WEEZING + + db $00 + +Route21Mons: + db $19 + db 21,RATTATA + db 23,PIDGEY + db 30,RATICATE + db 23,RATTATA + db 21,PIDGEY + db 30,PIDGEOTTO + db 32,PIDGEOTTO + db 28,TANGELA + db 30,TANGELA + db 32,TANGELA + + db $05 + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 20,TENTACOOL + db 30,TENTACOOL + db 35,TENTACOOL + db 40,TENTACOOL + +DungeonMons1: + db $0A + db 46,GOLBAT + db 46,HYPNO + db 46,MAGNETON + db 49,DODRIO + db 49,VENOMOTH + db 52,SANDSLASH + db 49,KADABRA + db 52,PARASECT + db 53,RAICHU + db 53,DITTO + + db $00 + +DungeonMons2: + db $0F + db 51,DODRIO + db 51,VENOMOTH + db 51,KADABRA + db 52,RHYDON + db 52,MAROWAK + db 52,ELECTRODE + db 56,CHANSEY + db 54,WIGGLYTUFF + db 55,DITTO + db 60,DITTO + + db $00 + +DungeonMonsB1: + db $19 + db 55,RHYDON + db 55,MAROWAK + db 55,ELECTRODE + db 64,CHANSEY + db 64,PARASECT + db 64,RAICHU + db 57,SANDSLASH + db 65,DITTO + db 63,DITTO + db 67,DITTO + + db $00 + +PowerPlantMons: + db $0A + db 21,VOLTORB + db 21,MAGNEMITE + db 20,PIKACHU + db 24,PIKACHU + db 23,MAGNEMITE + db 23,VOLTORB + db 32,MAGNETON + db 35,MAGNETON + db 33,RAICHU + db 36,RAICHU + + db $00 + +Route23Mons: + db $0A + db 26,SANDSHREW + db 33,DITTO + db 26,SPEAROW + db 38,FEAROW + db 38,DITTO + db 38,FEAROW + db 41,SANDSLASH + db 43,DITTO + db 41,FEAROW + db 43,FEAROW + + db $00 + +PlateauMons2: + db $0A + db 22,MACHOP + db 24,GEODUDE + db 26,ZUBAT + db 36,ONIX + db 39,ONIX + db 42,ONIX + db 41,MACHOKE + db 40,GOLBAT + db 40,MAROWAK + db 43,GRAVELER + + db $00 + +PlateauMons3: + db $0F + db 24,MACHOP + db 26,GEODUDE + db 22,ZUBAT + db 42,ONIX + db 40,VENOMOTH + db 45,ONIX + db 43,GRAVELER + db 41,GOLBAT + db 42,MACHOKE + db 45,MACHOKE + + db $00 + +PlateauMons1: + db $0F + db 24,MACHOP + db 26,GEODUDE + db 22,ZUBAT + db 36,ONIX + db 39,ONIX + db 42,ONIX + db 41,GRAVELER + db 41,GOLBAT + db 42,MACHOKE + db 43,MAROWAK + + db $00 + +CaveMons: + db $14 + db 18,DIGLETT + db 19,DIGLETT + db 17,DIGLETT + db 20,DIGLETT + db 16,DIGLETT + db 15,DIGLETT + db 21,DIGLETT + db 22,DIGLETT + db 29,DUGTRIO + db 31,DUGTRIO + + db $00 + +ENDC +IF _JAPAN && _BLUE +NoMons: + db $00 + + db $00 + +Route1Mons: + db $19 + db 3,PIDGEY + db 3,RATTATA + db 3,RATTATA + db 2,RATTATA + db 2,PIDGEY + db 3,PIDGEY + db 3,PIDGEY + db 4,RATTATA + db 4,PIDGEY + db 5,PIDGEY + + db $00 + +Route2Mons: + db $19 + db 3,RATTATA + db 3,PIDGEY + db 4,PIDGEY + db 4,RATTATA + db 5,PIDGEY + db 3,CATERPIE + db 2,RATTATA + db 5,RATTATA + db 4,CATERPIE + db 5,CATERPIE + + db $00 + +Route22Mons: + db $19 + db 3,RATTATA + db 3,NIDORAN_M + db 4,RATTATA + db 4,NIDORAN_M + db 2,RATTATA + db 2,NIDORAN_M + db 3,SPEAROW + db 5,SPEAROW + db 3,NIDORAN_F + db 4,NIDORAN_F + + db $00 + +ForestMons: + db $08 + db 4,CATERPIE + db 5,METAPOD + db 3,CATERPIE + db 5,CATERPIE + db 4,METAPOD + db 6,METAPOD + db 4,KAKUNA + db 3,WEEDLE + db 3,PIKACHU + db 5,PIKACHU + + db $00 + +Route3Mons: + db $14 + db 6,PIDGEY + db 5,SPEAROW + db 7,PIDGEY + db 6,SPEAROW + db 7,SPEAROW + db 8,PIDGEY + db 8,SPEAROW + db 3,JIGGLYPUFF + db 5,JIGGLYPUFF + db 7,JIGGLYPUFF + + db $00 + +MoonMons1: + db $0A + db 8,ZUBAT + db 7,ZUBAT + db 9,ZUBAT + db 8,GEODUDE + db 6,ZUBAT + db 10,ZUBAT + db 10,GEODUDE + db 8,PARAS + db 11,ZUBAT + db 8,CLEFAIRY + + db $00 + +MoonMonsB1: + db $0A + db 8,ZUBAT + db 7,ZUBAT + db 7,GEODUDE + db 8,GEODUDE + db 9,ZUBAT + db 10,PARAS + db 10,ZUBAT + db 11,ZUBAT + db 9,CLEFAIRY + db 9,GEODUDE + + db $00 + +MoonMonsB2: + db $0A + db 9,ZUBAT + db 9,GEODUDE + db 10,ZUBAT + db 10,GEODUDE + db 11,ZUBAT + db 10,PARAS + db 12,PARAS + db 10,CLEFAIRY + db 12,ZUBAT + db 12,CLEFAIRY + + db $00 + +Route4Mons: + db $14 + db 10,RATTATA + db 10,SPEAROW + db 8,RATTATA + db 6,SANDSHREW + db 8,SPEAROW + db 10,SANDSHREW + db 12,RATTATA + db 12,SPEAROW + db 8,SANDSHREW + db 12,SANDSHREW + + db $00 + +Route24Mons: + db $19 + db 7,CATERPIE + db 8,METAPOD + db 12,PIDGEY + db 12,ODDISH + db 13,ODDISH + db 10,ABRA + db 14,ODDISH + db 13,PIDGEY + db 8,ABRA + db 12,ABRA + + db $00 + +Route25Mons: + db $0F + db 8,CATERPIE + db 9,METAPOD + db 13,PIDGEY + db 12,ODDISH + db 13,ODDISH + db 12,ABRA + db 14,ODDISH + db 10,ABRA + db 7,KAKUNA + db 8,WEEDLE + + db $00 + +Route9Mons: + db $0F + db 16,RATTATA + db 16,SPEAROW + db 14,RATTATA + db 11,SANDSHREW + db 13,SPEAROW + db 15,SANDSHREW + db 17,RATTATA + db 17,SPEAROW + db 13,SANDSHREW + db 17,SANDSHREW + + db $00 + +Route5Mons: + db $0F + db 13,ODDISH + db 13,PIDGEY + db 15,PIDGEY + db 10,MEOWTH + db 12,MEOWTH + db 15,ODDISH + db 16,ODDISH + db 16,PIDGEY + db 14,MEOWTH + db 16,MEOWTH + + db $00 + +Route6Mons: + db $0F + db 13,ODDISH + db 13,PIDGEY + db 15,PIDGEY + db 10,MEOWTH + db 12,MEOWTH + db 15,ODDISH + db 16,ODDISH + db 16,PIDGEY + db 14,MEOWTH + db 16,MEOWTH + + db $00 + +Route11Mons: + db $0F + db 14,SANDSHREW + db 15,SPEAROW + db 12,SANDSHREW + db 9,DROWZEE + db 13,SPEAROW + db 13,DROWZEE + db 15,SANDSHREW + db 17,SPEAROW + db 11,DROWZEE + db 15,DROWZEE + + db $00 + +TunnelMonsB1: + db $0F + db 16,ZUBAT + db 17,ZUBAT + db 17,GEODUDE + db 15,MACHOP + db 16,GEODUDE + db 18,DITTO + db 15,ZUBAT + db 17,MACHOP + db 13,ONIX + db 15,ONIX + + db $00 + +TunnelMonsB2: + db $0F + db 16,ZUBAT + db 17,ZUBAT + db 17,GEODUDE + db 15,MACHOP + db 16,GEODUDE + db 18,DITTO + db 17,MACHOP + db 17,ONIX + db 13,ONIX + db 18,GEODUDE + + db $00 + +Route10Mons: + db $0F + db 16,VOLTORB + db 16,SPEAROW + db 14,VOLTORB + db 11,SANDSHREW + db 13,SPEAROW + db 15,SANDSHREW + db 17,VOLTORB + db 17,SPEAROW + db 13,SANDSHREW + db 17,SANDSHREW + + db $00 + +Route12Mons: + db $0F + db 24,ODDISH + db 25,PIDGEY + db 23,PIDGEY + db 24,VENONAT + db 22,ODDISH + db 26,VENONAT + db 26,ODDISH + db 27,PIDGEY + db 28,GLOOM + db 30,GLOOM + + db $00 + +Route8Mons: + db $0F + db 18,PIDGEY + db 18,MEOWTH + db 17,SANDSHREW + db 16,GROWLITHE + db 20,PIDGEY + db 20,MEOWTH + db 19,SANDSHREW + db 17,GROWLITHE + db 15,GROWLITHE + db 18,GROWLITHE + + db $00 + +Route7Mons: + db $0F + db 19,PIDGEY + db 19,ODDISH + db 17,MEOWTH + db 22,ODDISH + db 22,PIDGEY + db 18,MEOWTH + db 18,GROWLITHE + db 20,GROWLITHE + db 19,MEOWTH + db 20,MEOWTH + + db $00 + +TowerMons1: + db $00 + + db $00 + +TowerMons2: + db $00 + + db $00 + +TowerMons3: + db $0A + db 20,GASTLY + db 21,GASTLY + db 22,GASTLY + db 23,GASTLY + db 19,GASTLY + db 18,GASTLY + db 24,GASTLY + db 20,CUBONE + db 22,CUBONE + db 25,HAUNTER + + db $00 + +TowerMons4: + db $0A + db 20,GASTLY + db 21,GASTLY + db 22,GASTLY + db 23,GASTLY + db 19,GASTLY + db 18,GASTLY + db 25,HAUNTER + db 20,CUBONE + db 22,CUBONE + db 24,GASTLY + + db $00 + +TowerMons5: + db $0A + db 20,GASTLY + db 21,GASTLY + db 22,GASTLY + db 23,GASTLY + db 19,GASTLY + db 18,GASTLY + db 25,HAUNTER + db 20,CUBONE + db 22,CUBONE + db 24,GASTLY + + db $00 + +TowerMons6: + db $0F + db 21,GASTLY + db 22,GASTLY + db 23,GASTLY + db 24,GASTLY + db 20,GASTLY + db 19,GASTLY + db 26,HAUNTER + db 22,CUBONE + db 24,CUBONE + db 28,HAUNTER + + db $00 + +TowerMons7: + db $0F + db 21,GASTLY + db 22,GASTLY + db 23,GASTLY + db 24,GASTLY + db 20,GASTLY + db 28,HAUNTER + db 22,CUBONE + db 24,CUBONE + db 28,HAUNTER + db 30,HAUNTER + + db $00 + +Route13Mons: + db $14 + db 24,ODDISH + db 25,PIDGEY + db 27,PIDGEY + db 24,VENONAT + db 22,ODDISH + db 26,VENONAT + db 26,ODDISH + db 25,DITTO + db 28,GLOOM + db 30,GLOOM + + db $00 + +Route14Mons: + db $0F + db 24,ODDISH + db 26,PIDGEY + db 23,DITTO + db 24,VENONAT + db 22,ODDISH + db 26,VENONAT + db 26,ODDISH + db 30,GLOOM + db 28,PIDGEOTTO + db 30,PIDGEOTTO + + db $00 + +Route15Mons: + db $0F + db 24,ODDISH + db 26,DITTO + db 23,PIDGEY + db 26,VENONAT + db 22,ODDISH + db 28,VENONAT + db 26,ODDISH + db 30,GLOOM + db 28,PIDGEOTTO + db 30,PIDGEOTTO + + db $00 + +Route16Mons: + db $19 + db 20,SPEAROW + db 22,SPEAROW + db 18,RATTATA + db 20,DODUO + db 20,RATTATA + db 18,DODUO + db 22,DODUO + db 22,RATTATA + db 23,RATICATE + db 25,RATICATE + + db $00 + +Route17Mons: + db $19 + db 20,SPEAROW + db 22,SPEAROW + db 25,RATICATE + db 24,DODUO + db 27,RATICATE + db 26,DODUO + db 28,DODUO + db 29,RATICATE + db 25,FEAROW + db 27,FEAROW + + db $00 + +Route18Mons: + db $19 + db 20,SPEAROW + db 22,SPEAROW + db 25,RATICATE + db 24,DODUO + db 25,FEAROW + db 26,DODUO + db 28,DODUO + db 29,RATICATE + db 27,FEAROW + db 29,FEAROW + + db $00 + +ZoneMonsCenter: + db $1E + db 22,NIDORAN_M + db 25,RHYHORN + db 22,VENONAT + db 24,EXEGGCUTE + db 31,NIDORINO + db 25,EXEGGCUTE + db 31,NIDORINA + db 30,PARASECT + db 23,SCYTHER + db 23,CHANSEY + + db $00 + +ZoneMons1: + db $1E + db 24,NIDORAN_M + db 26,DODUO + db 22,PARAS + db 25,EXEGGCUTE + db 33,NIDORINO + db 23,EXEGGCUTE + db 24,NIDORAN_F + db 25,PARASECT + db 25,LICKITUNG + db 28,SCYTHER + + db $00 + +ZoneMons2: + db $1E + db 22,NIDORAN_M + db 26,RHYHORN + db 23,PARAS + db 25,EXEGGCUTE + db 30,NIDORINO + db 27,EXEGGCUTE + db 30,NIDORINA + db 32,VENOMOTH + db 26,CHANSEY + db 28,PINSIR + + db $00 + +ZoneMons3: + db $1E + db 25,NIDORAN_M + db 26,DODUO + db 23,VENONAT + db 24,EXEGGCUTE + db 33,NIDORINO + db 26,EXEGGCUTE + db 25,NIDORAN_F + db 31,VENOMOTH + db 26,PINSIR + db 28,LICKITUNG + + db $00 + +WaterMons: + db $00 + + db $05 + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 20,TENTACOOL + db 30,TENTACOOL + db 35,TENTACOOL + db 40,TENTACOOL + +WaterMons: + db $00 + + db $05 + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 20,TENTACOOL + db 30,TENTACOOL + db 35,TENTACOOL + db 40,TENTACOOL + +IslandMons1: + db $0F + db 30,SEEL + db 30,HORSEA + db 30,STARYU + db 30,KRABBY + db 28,KRABBY + db 21,ZUBAT + db 29,GOLBAT + db 28,SLOWPOKE + db 28,STARYU + db 38,SLOWBRO + + db $00 + +IslandMonsB1: + db $0A + db 30,SHELLDER + db 30,KRABBY + db 32,STARYU + db 32,KRABBY + db 28,HORSEA + db 30,SEEL + db 30,HORSEA + db 28,SEEL + db 38,DEWGONG + db 37,KINGLER + + db $00 + +IslandMonsB2: + db $0A + db 30,SEEL + db 30,HORSEA + db 32,SEEL + db 32,HORSEA + db 28,KRABBY + db 30,SHELLDER + db 30,KRABBY + db 28,STARYU + db 30,GOLBAT + db 37,JYNX + + db $00 + +IslandMonsB3: + db $0A + db 31,HORSEA + db 31,SEEL + db 33,HORSEA + db 33,SEEL + db 29,KRABBY + db 31,STARYU + db 31,KRABBY + db 29,STARYU + db 39,KINGLER + db 37,DEWGONG + + db $00 + +IslandMonsB4: + db $0A + db 31,KRABBY + db 31,STARYU + db 33,KRABBY + db 33,STARYU + db 29,HORSEA + db 31,SEEL + db 31,HORSEA + db 29,SEEL + db 39,JYNX + db 32,GOLBAT + + db $00 + +MansionMons1: + db $0A + db 32,GRIMER + db 30,GRIMER + db 34,PONYTA + db 30,PONYTA + db 34,GROWLITHE + db 32,PONYTA + db 30,KOFFING + db 28,PONYTA + db 37,MUK + db 39,WEEZING + + db $00 + +MansionMons2: + db $0A + db 32,GROWLITHE + db 34,GRIMER + db 34,GRIMER + db 30,PONYTA + db 30,GRIMER + db 32,PONYTA + db 30,KOFFING + db 28,PONYTA + db 39,MUK + db 37,WEEZING + + db $00 + +MansionMons3: + db $0A + db 31,GRIMER + db 33,GROWLITHE + db 35,GRIMER + db 32,PONYTA + db 34,PONYTA + db 40,MUK + db 34,KOFFING + db 38,MUK + db 36,PONYTA + db 42,WEEZING + + db $00 + +MansionMonsB1: + db $0A + db 33,GRIMER + db 31,GRIMER + db 35,GROWLITHE + db 32,PONYTA + db 31,GRIMER + db 40,MUK + db 34,PONYTA + db 35,KOFFING + db 38,MUK + db 42,WEEZING + + db $00 + +Route21Mons: + db $19 + db 21,RATTATA + db 23,PIDGEY + db 30,RATICATE + db 23,RATTATA + db 21,PIDGEY + db 30,PIDGEOTTO + db 32,PIDGEOTTO + db 28,TANGELA + db 30,TANGELA + db 32,TANGELA + + db $05 + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 20,TENTACOOL + db 30,TENTACOOL + db 35,TENTACOOL + db 40,TENTACOOL + +DungeonMons1: + db $0A + db 46,GOLBAT + db 46,HYPNO + db 46,MAGNETON + db 49,RAPIDASH + db 49,VENOMOTH + db 52,SANDSLASH + db 49,KADABRA + db 52,PARASECT + db 53,RAICHU + db 53,DITTO + + db $00 + +DungeonMons2: + db $0F + db 51,DODRIO + db 51,VENOMOTH + db 51,KADABRA + db 52,RHYDON + db 52,RATICATE + db 52,ELECTRODE + db 56,CHANSEY + db 54,WIGGLYTUFF + db 55,DITTO + db 60,DITTO + + db $00 + +DungeonMonsB1: + db $19 + db 55,RHYDON + db 55,MAROWAK + db 55,ELECTRODE + db 64,CLEFAIRY + db 64,PARASECT + db 64,RAICHU + db 57,SANDSLASH + db 65,DITTO + db 63,DITTO + db 67,DITTO + + db $00 + +PowerPlantMons: + db $0A + db 21,VOLTORB + db 21,MAGNEMITE + db 20,PIKACHU + db 24,PIKACHU + db 23,MAGNEMITE + db 23,VOLTORB + db 32,MAGNETON + db 35,MAGNETON + db 33,RAICHU + db 36,RAICHU + + db $00 + +Route23Mons: + db $0A + db 26,SANDSHREW + db 33,DITTO + db 26,SPEAROW + db 38,FEAROW + db 38,DITTO + db 38,FEAROW + db 41,SANDSLASH + db 43,DITTO + db 41,FEAROW + db 43,FEAROW + + db $00 + +PlateauMons2: + db $0A + db 22,MACHOP + db 24,GEODUDE + db 26,ZUBAT + db 36,ONIX + db 39,ONIX + db 42,ONIX + db 41,MACHOKE + db 40,GOLBAT + db 40,MAROWAK + db 43,GRAVELER + + db $00 + +PlateauMons3: + db $0F + db 24,MACHOP + db 26,GEODUDE + db 22,ZUBAT + db 42,ONIX + db 40,VENOMOTH + db 45,ONIX + db 43,GRAVELER + db 41,GOLBAT + db 42,MACHOKE + db 45,MACHOKE + + db $00 + +PlateauMons1: + db $0F + db 24,MACHOP + db 26,GEODUDE + db 22,ZUBAT + db 36,ONIX + db 39,ONIX + db 42,ONIX + db 41,GRAVELER + db 41,GOLBAT + db 42,MACHOKE + db 43,MAROWAK + + db $00 + +CaveMons: + db $14 + db 18,DIGLETT + db 19,DIGLETT + db 17,DIGLETT + db 20,DIGLETT + db 16,DIGLETT + db 15,DIGLETT + db 21,DIGLETT + db 22,DIGLETT + db 29,DUGTRIO + db 31,DUGTRIO + + db $00 + +ENDC +IF _YELLOW +NoMons: + db $00 + + db $00 + +Route1Mons: + db $19 + db 3,PIDGEY + db 4,PIDGEY + db 2,RATTATA + db 3,RATTATA + db 2,PIDGEY + db 3,PIDGEY + db 5,PIDGEY + db 4,RATTATA + db 6,PIDGEY + db 7,PIDGEY + + db $00 + +Route2Mons: + db $19 + db 3,RATTATA + db 3,PIDGEY + db 4,RATTATA + db 4,NIDORAN_M + db 4,NIDORAN_F + db 5,PIDGEY + db 6,NIDORAN_M + db 6,NIDORAN_F + db 7,PIDGEY + db 7,PIDGEY + + db $00 + +Route22Mons: + db $19 + db 2,NIDORAN_M + db 2,NIDORAN_F + db 3,MANKEY + db 3,RATTATA + db 4,NIDORAN_M + db 4,NIDORAN_F + db 5,MANKEY + db 2,SPEAROW + db 4,SPEAROW + db 6,SPEAROW + + db $00 + +ForestMons: + db $19 + db 3,CATERPIE + db 4,METAPOD + db 4,CATERPIE + db 5,CATERPIE + db 4,PIDGEY + db 6,PIDGEY + db 6,CATERPIE + db 6,METAPOD + db 8,PIDGEY + db 9,PIDGEOTTO + + db $00 + +Route3Mons: + db $14 + db 8,SPEAROW + db 9,SPEAROW + db 9,MANKEY + db 10,SPEAROW + db 8,SANDSHREW + db 10,RATTATA + db 10,SANDSHREW + db 12,RATTATA + db 11,SPEAROW + db 12,SPEAROW + + db $00 + +MoonMons1: + db $0A + db 8,ZUBAT + db 9,ZUBAT + db 10,GEODUDE + db 6,ZUBAT + db 7,ZUBAT + db 10,ZUBAT + db 10,GEODUDE + db 11,ZUBAT + db 12,SANDSHREW + db 11,CLEFAIRY + + db $00 + +MoonMonsB1: + db $0A + db 8,ZUBAT + db 9,ZUBAT + db 10,ZUBAT + db 10,GEODUDE + db 11,GEODUDE + db 11,ZUBAT + db 9,PARAS + db 11,PARAS + db 10,CLEFAIRY + db 12,CLEFAIRY + + db $00 + +MoonMonsB2: + db $0A + db 10,ZUBAT + db 11,GEODUDE + db 13,PARAS + db 11,ZUBAT + db 11,ZUBAT + db 12,ZUBAT + db 13,ZUBAT + db 9,CLEFAIRY + db 11,CLEFAIRY + db 13,CLEFAIRY + + db $00 + +Route4Mons: + db $14 + db 8,SPEAROW + db 9,SPEAROW + db 9,MANKEY + db 10,SPEAROW + db 8,SANDSHREW + db 10,RATTATA + db 10,SANDSHREW + db 12,RATTATA + db 11,SPEAROW + db 12,SPEAROW + + db $00 + +Route24Mons: + db $19 + db 12,ODDISH + db 12,BELLSPROUT + db 13,PIDGEY + db 14,ODDISH + db 14,BELLSPROUT + db 15,PIDGEY + db 13,VENONAT + db 16,VENONAT + db 17,PIDGEY + db 17,PIDGEOTTO + + db $00 + +Route25Mons: + db $0F + db 12,ODDISH + db 12,BELLSPROUT + db 13,PIDGEY + db 14,ODDISH + db 14,BELLSPROUT + db 15,PIDGEY + db 13,VENONAT + db 16,VENONAT + db 17,PIDGEY + db 17,PIDGEOTTO + + db $00 + +Route9Mons: + db $0F + db 16,NIDORAN_M + db 16,NIDORAN_F + db 18,RATTATA + db 18,NIDORAN_M + db 18,NIDORAN_F + db 17,SPEAROW + db 18,NIDORINO + db 18,NIDORINA + db 20,RATICATE + db 19,FEAROW + + db $00 + +Route5Mons: + db $0F + db 15,PIDGEY + db 14,RATTATA + db 7,ABRA + db 16,PIDGEY + db 16,RATTATA + db 17,PIDGEY + db 17,PIDGEOTTO + db 3,JIGGLYPUFF + db 5,JIGGLYPUFF + db 7,JIGGLYPUFF + + db $00 + +Route6Mons: + db $0F + db 15,PIDGEY + db 14,RATTATA + db 7,ABRA + db 16,PIDGEY + db 16,RATTATA + db 17,PIDGEY + db 17,PIDGEOTTO + db 3,JIGGLYPUFF + db 5,JIGGLYPUFF + db 7,JIGGLYPUFF + + db $03 + db 15,PSYDUCK + db 15,PSYDUCK + db 15,PSYDUCK + db 15,PSYDUCK + db 15,PSYDUCK + db 15,PSYDUCK + db 15,PSYDUCK + db 15,PSYDUCK + db 15,GOLDUCK + db 20,GOLDUCK + +Route11Mons: + db $0F + db 16,PIDGEY + db 15,RATTATA + db 18,PIDGEY + db 15,DROWZEE + db 17,RATTATA + db 17,DROWZEE + db 18,PIDGEOTTO + db 20,PIDGEOTTO + db 19,DROWZEE + db 17,RATICATE + + db $00 + +TunnelMonsB1: + db $0F + db 15,ZUBAT + db 16,GEODUDE + db 17,ZUBAT + db 19,ZUBAT + db 18,GEODUDE + db 20,GEODUDE + db 21,ZUBAT + db 17,MACHOP + db 19,MACHOP + db 21,MACHOP + + db $00 + +TunnelMonsB2: + db $0F + db 20,ZUBAT + db 17,GEODUDE + db 18,MACHOP + db 21,ZUBAT + db 22,ZUBAT + db 21,GEODUDE + db 20,MACHOP + db 14,ONIX + db 18,ONIX + db 22,ONIX + + db $00 + +Route10Mons: + db $0F + db 16,MAGNEMITE + db 18,RATTATA + db 18,MAGNEMITE + db 20,MAGNEMITE + db 17,NIDORAN_M + db 17,NIDORAN_F + db 22,MAGNEMITE + db 20,RATICATE + db 16,MACHOP + db 18,MACHOP + + db $00 + +Route12Mons: + db $0F + db 25,ODDISH + db 25,BELLSPROUT + db 28,PIDGEY + db 28,PIDGEOTTO + db 27,ODDISH + db 27,BELLSPROUT + db 29,GLOOM + db 29,WEEPINBELL + db 26,FARFETCH_D + db 31,FARFETCH_D + + db $03 + db 15,SLOWPOKE + db 15,SLOWPOKE + db 15,SLOWPOKE + db 15,SLOWPOKE + db 15,SLOWPOKE + db 15,SLOWPOKE + db 15,SLOWPOKE + db 15,SLOWPOKE + db 15,SLOWBRO + db 20,SLOWBRO + +Route8Mons: + db $0F + db 20,PIDGEY + db 22,PIDGEY + db 20,RATTATA + db 15,ABRA + db 19,ABRA + db 24,PIDGEOTTO + db 19,JIGGLYPUFF + db 24,JIGGLYPUFF + db 20,KADABRA + db 27,KADABRA + + db $00 + +Route7Mons: + db $0F + db 20,PIDGEY + db 22,PIDGEY + db 20,RATTATA + db 15,ABRA + db 19,ABRA + db 24,PIDGEOTTO + db 26,ABRA + db 19,JIGGLYPUFF + db 24,JIGGLYPUFF + db 24,JIGGLYPUFF + + db $00 + +TowerMons1: + db $00 + + db $00 + +TowerMons2: + db $00 + + db $00 + +TowerMons3: + db $0A + db 20,GASTLY + db 21,GASTLY + db 22,GASTLY + db 23,GASTLY + db 24,GASTLY + db 19,GASTLY + db 18,GASTLY + db 25,GASTLY + db 20,HAUNTER + db 25,HAUNTER + + db $00 + +TowerMons4: + db $0A + db 20,GASTLY + db 21,GASTLY + db 22,GASTLY + db 23,GASTLY + db 24,GASTLY + db 19,GASTLY + db 18,GASTLY + db 25,GASTLY + db 20,HAUNTER + db 25,HAUNTER + + db $00 + +TowerMons5: + db $0F + db 22,GASTLY + db 23,GASTLY + db 24,GASTLY + db 25,GASTLY + db 26,GASTLY + db 21,GASTLY + db 20,CUBONE + db 27,GASTLY + db 22,HAUNTER + db 27,HAUNTER + + db $00 + +TowerMons6: + db $0F + db 22,GASTLY + db 23,GASTLY + db 24,GASTLY + db 25,GASTLY + db 26,GASTLY + db 21,GASTLY + db 22,CUBONE + db 27,GASTLY + db 22,HAUNTER + db 27,HAUNTER + + db $00 + +TowerMons7: + db $14 + db 24,GASTLY + db 25,GASTLY + db 26,GASTLY + db 27,GASTLY + db 28,GASTLY + db 23,GASTLY + db 24,CUBONE + db 29,GASTLY + db 24,HAUNTER + db 29,HAUNTER + + db $00 + +Route13Mons: + db $0F + db 25,ODDISH + db 25,BELLSPROUT + db 28,PIDGEOTTO + db 28,PIDGEY + db 27,ODDISH + db 27,BELLSPROUT + db 29,GLOOM + db 29,WEEPINBELL + db 26,FARFETCH_D + db 31,FARFETCH_D + + db $03 + db 15,SLOWPOKE + db 15,SLOWPOKE + db 15,SLOWPOKE + db 15,SLOWPOKE + db 15,SLOWPOKE + db 15,SLOWPOKE + db 15,SLOWPOKE + db 15,SLOWPOKE + db 15,SLOWBRO + db 20,SLOWBRO + +Route14Mons: + db $0F + db 26,ODDISH + db 26,BELLSPROUT + db 24,VENONAT + db 30,PIDGEOTTO + db 28,ODDISH + db 28,BELLSPROUT + db 30,GLOOM + db 30,WEEPINBELL + db 27,VENONAT + db 30,VENOMOTH + + db $00 + +Route15Mons: + db $0F + db 26,ODDISH + db 26,BELLSPROUT + db 24,VENONAT + db 32,PIDGEOTTO + db 28,ODDISH + db 28,BELLSPROUT + db 30,GLOOM + db 30,WEEPINBELL + db 27,VENONAT + db 30,VENOMOTH + + db $00 + +Route16Mons: + db $19 + db 22,SPEAROW + db 22,DODUO + db 23,RATTATA + db 24,DODUO + db 24,RATTATA + db 26,DODUO + db 23,SPEAROW + db 24,FEAROW + db 25,RATICATE + db 26,RATICATE + + db $00 + +Route17Mons: + db $19 + db 26,DODUO + db 27,FEAROW + db 27,DODUO + db 28,DODUO + db 28,PONYTA + db 30,PONYTA + db 29,FEAROW + db 28,DODUO + db 32,PONYTA + db 29,DODRIO + + db $00 + +Route18Mons: + db $19 + db 22,SPEAROW + db 22,DODUO + db 23,RATTATA + db 24,DODUO + db 24,RATTATA + db 26,DODUO + db 23,SPEAROW + db 24,FEAROW + db 25,RATICATE + db 26,RATICATE + + db $00 + +ZoneMonsCenter: + db $1E + db 14,NIDORAN_M + db 36,NIDORAN_F + db 24,EXEGGCUTE + db 20,RHYHORN + db 23,NIDORINO + db 27,PARASECT + db 27,PARAS + db 32,PARASECT + db 22,TANGELA + db 7,CHANSEY + + db $00 + +ZoneMons1: + db $1E + db 21,NIDORAN_M + db 29,NIDORAN_F + db 22,EXEGGCUTE + db 21,TAUROS + db 32,NIDORINA + db 19,CUBONE + db 26,EXEGGCUTE + db 24,MAROWAK + db 21,CHANSEY + db 15,SCYTHER + + db $00 + +ZoneMons2: + db $1E + db 36,NIDORAN_M + db 14,NIDORAN_F + db 20,EXEGGCUTE + db 25,RHYHORN + db 23,NIDORINA + db 28,KANGASKHAN + db 16,CUBONE + db 33,KANGASKHAN + db 25,SCYTHER + db 15,PINSIR + + db $00 + +ZoneMons3: + db $1E + db 29,NIDORAN_M + db 21,NIDORAN_F + db 22,EXEGGCUTE + db 21,TAUROS + db 32,NIDORINO + db 19,CUBONE + db 26,EXEGGCUTE + db 24,MAROWAK + db 25,PINSIR + db 27,TANGELA + + db $00 + +WaterMons: + db $00 + + db $05 + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 20,TENTACOOL + db 30,TENTACOOL + db 35,TENTACOOL + db 40,TENTACOOL + +WaterMons: + db $00 + + db $05 + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 20,TENTACOOL + db 30,TENTACOOL + db 35,TENTACOOL + db 40,TENTACOOL + +IslandMons1: + db $0F + db 18,ZUBAT + db 25,KRABBY + db 27,KRABBY + db 27,ZUBAT + db 36,ZUBAT + db 28,SLOWPOKE + db 30,SLOWPOKE + db 9,ZUBAT + db 27,GOLBAT + db 36,GOLBAT + + db $00 + +IslandMonsB1: + db $0A + db 27,ZUBAT + db 26,KRABBY + db 36,ZUBAT + db 28,KRABBY + db 27,GOLBAT + db 29,SLOWPOKE + db 18,ZUBAT + db 28,KINGLER + db 22,SEEL + db 26,SEEL + + db $00 + +IslandMonsB2: + db $0A + db 27,ZUBAT + db 27,KRABBY + db 36,ZUBAT + db 27,GOLBAT + db 28,KINGLER + db 24,SEEL + db 29,KRABBY + db 36,GOLBAT + db 31,SLOWPOKE + db 31,SLOWBRO + + db $00 + +IslandMonsB3: + db $0A + db 27,GOLBAT + db 36,ZUBAT + db 29,KRABBY + db 27,ZUBAT + db 30,KINGLER + db 26,SEEL + db 31,KRABBY + db 30,SEEL + db 28,DEWGONG + db 32,DEWGONG + + db $05 + db 25,TENTACOOL + db 30,TENTACOOL + db 20,TENTACOOL + db 30,STARYU + db 35,TENTACOOL + db 30,STARYU + db 40,TENTACOOL + db 30,STARYU + db 30,STARYU + db 30,STARYU + +IslandMonsB4: + db $0A + db 36,GOLBAT + db 36,ZUBAT + db 30,KRABBY + db 32,KINGLER + db 28,SEEL + db 32,SEEL + db 27,GOLBAT + db 45,ZUBAT + db 30,DEWGONG + db 34,DEWGONG + + db $05 + db 25,TENTACOOL + db 30,TENTACOOL + db 20,TENTACOOL + db 30,STARYU + db 35,TENTACOOL + db 30,STARYU + db 40,TENTACOOL + db 30,STARYU + db 30,STARYU + db 30,STARYU + +MansionMons1: + db $0A + db 34,RATTATA + db 34,RATICATE + db 23,GRIMER + db 26,GROWLITHE + db 37,RATTATA + db 37,RATICATE + db 30,GROWLITHE + db 26,GRIMER + db 34,GROWLITHE + db 38,GROWLITHE + + db $00 + +MansionMons2: + db $0A + db 37,RATTATA + db 37,RATICATE + db 26,GRIMER + db 29,GRIMER + db 40,RATTATA + db 40,RATICATE + db 32,GRIMER + db 35,GRIMER + db 35,MUK + db 38,MUK + + db $00 + +MansionMons3: + db $0A + db 40,RATTATA + db 40,RATICATE + db 32,GRIMER + db 35,GRIMER + db 43,RATTATA + db 43,RATICATE + db 38,GRIMER + db 38,GRIMER + db 38,MUK + db 41,MUK + + db $00 + +MansionMonsB1: + db $0A + db 35,GRIMER + db 38,GRIMER + db 37,RATICATE + db 40,RATICATE + db 41,MUK + db 43,RATICATE + db 24,DITTO + db 46,RATICATE + db 18,DITTO + db 12,DITTO + + db $00 + +Route21Mons: + db $19 + db 15,PIDGEY + db 13,RATTATA + db 13,PIDGEY + db 11,PIDGEY + db 17,PIDGEY + db 15,RATTATA + db 15,RATICATE + db 17,PIDGEOTTO + db 19,PIDGEOTTO + db 15,PIDGEOTTO + + db $05 + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 20,TENTACOOL + db 30,TENTACOOL + db 35,TENTACOOL + db 40,TENTACOOL + +DungeonMons1: + db $0A + db 50,GOLBAT + db 55,GOLBAT + db 45,GRAVELER + db 55,GLOOM + db 55,WEEPINBELL + db 52,SANDSLASH + db 54,VENOMOTH + db 54,PARASECT + db 55,DITTO + db 60,DITTO + + db $00 + +DungeonMons2: + db $0F + db 52,GOLBAT + db 57,GOLBAT + db 50,GRAVELER + db 56,SANDSLASH + db 50,RHYHORN + db 60,DITTO + db 58,GLOOM + db 58,WEEPINBELL + db 60,RHYDON + db 58,RHYDON + + db $00 + +DungeonMonsB1: + db $19 + db 54,GOLBAT + db 59,GOLBAT + db 55,GRAVELER + db 52,RHYHORN + db 62,RHYDON + db 60,DITTO + db 56,CHANSEY + db 65,DITTO + db 55,LICKITUNG + db 50,LICKITUNG + + db $00 + +PowerPlantMons: + db $0A + db 30,MAGNEMITE + db 35,MAGNEMITE + db 33,MAGNETON + db 33,VOLTORB + db 37,VOLTORB + db 33,GRIMER + db 37,GRIMER + db 38,MAGNETON + db 33,MUK + db 37,MUK + + db $00 + +Route23Mons: + db $0A + db 41,NIDORINO + db 41,NIDORINA + db 36,MANKEY + db 44,NIDORINO + db 44,NIDORINA + db 40,FEAROW + db 41,MANKEY + db 45,FEAROW + db 41,PRIMEAPE + db 46,PRIMEAPE + + db $00 + +PlateauMons2: + db $0A + db 31,GEODUDE + db 36,GEODUDE + db 41,GEODUDE + db 44,ZUBAT + db 39,GOLBAT + db 44,GRAVELER + db 45,ONIX + db 47,ONIX + db 39,MACHOKE + db 42,MACHOKE + + db $00 + +PlateauMons3: + db $0F + db 36,GEODUDE + db 44,GOLBAT + db 41,GEODUDE + db 49,ONIX + db 46,GEODUDE + db 41,GRAVELER + db 42,MACHOKE + db 45,MACHOKE + db 47,GRAVELER + db 47,GRAVELER + + db $00 + +PlateauMons1: + db $0F + db 26,GEODUDE + db 31,GEODUDE + db 36,GEODUDE + db 39,ZUBAT + db 44,ZUBAT + db 41,GEODUDE + db 43,ONIX + db 45,ONIX + db 41,GRAVELER + db 47,GRAVELER + + db $00 + +CaveMons: + db $14 + db 18,DIGLETT + db 19,DIGLETT + db 17,DIGLETT + db 20,DIGLETT + db 16,DIGLETT + db 15,DIGLETT + db 21,DIGLETT + db 22,DIGLETT + db 29,DUGTRIO + db 31,DUGTRIO + + db $00 + +ENDC + +GetItemUse: ; $D5C7 + ld a,1 + ld [$cd6a],a + ld a,[$cf91] ;contains item_ID + cp a,HM_01 + jp nc,ItemUseTMHM + ld hl,ItemUsePtrTable + dec a + add a + ld c,a + ld b,0 + add hl,bc + ld a,[hli] + ld h,[hl] + ld l,a + jp [hl] + +ItemUsePtrTable: ; $D5E1 + dw ItemUseBall ;$5687 masterball + dw ItemUseBall ;$5687 ultraball + dw ItemUseBall ;$5687 greatball + dw ItemUseBall ;$5687 pokeball + dw ItemUseTownMap ;$5968 TownMap + dw $5977 ;ItemUseBicycle + dw $59B4 ;ItemUseSurfBoard (UNUSED, glitchy!) + dw ItemUseBall ;$5687 Safariball + dw ItemUsePokedex ;$DA56 pokedex + dw $5A5B ; MOON_STONE + dw $5ABB ; ANTIDOTE + dw $5ABB ; BURN_HEAL + dw $5ABB ; ICE_HEAL + dw $5ABB ; AWAKENING + dw $5ABB ; PARLYZ_HEAL + dw $5ABB ; FULL_RESTORE + dw $5ABB ; MAX_POTION + dw $5ABB ; HYPER_POTION + dw $5ABB ; SUPER_POTION + dw $5ABB ; POTION + dw $5F52 ; BOULDERBADGE + dw $5F67 ; CASCADEBADGE + dw $6476 ; THUNDERBADGE + dw $6476 ; RAINBOWBADGE + dw $6476 ; SOULBADGE + dw $6476 ; MARSHBADGE + dw $6476 ; VOLCANOBADGE + dw $6476 ; EARTHBADGE + dw $5FAF ; ESCAPE_ROPE + dw $6003 ; REPEL + dw $6476 ; OLD_AMBER + dw $5A5B ; FIRE_STONE + dw $5A5B ; THUNDER_STONE + dw $5A5B ; WATER_STONE + dw $5AB4 ; HP_UP + dw $5AB4 ; PROTEIN + dw $5AB4 ; IRON + dw $5AB4 ; CARBOS + dw $5AB4 ; CALCIUM + dw $5AB4 ; RARE_CANDY + dw $6476 ; DOME_FOSSIL + dw $6476 ; HELIX_FOSSIL + dw $6476 ; SECRET_KEY + dw $6476 + dw $6476 ; BIKE_VOUCHER + dw $6013 ; X_ACCURACY + dw $5A5B ; LEAF_STONE + dw $6022 ; CARD_KEY + dw $6476 ; NUGGET + dw $6476 ; ??? PP_UP + dw $60CD ; POKE_DOLL + dw $5ABB ; FULL_HEAL + dw $5ABB ; REVIVE + dw $5ABB ; MAX_REVIVE + dw $60DC ; GUARD_SPEC_ + dw $60EB ; SUPER_REPL + dw $60F0 ; MAX_REPEL + dw $60F5 ; DIRE_HIT + dw $6476 ; COIN + dw $5ABB ; FRESH_WATER + dw $5ABB ; SODA_POP + dw $5ABB ; LEMONADE + dw $6476 ; S_S__TICKET + dw $6476 ; GOLD_TEETH + dw $6104 ; X_ATTACK + dw $6104 ; X_DEFEND + dw $6104 ; X_SPEED + dw $6104 ; X_SPECIAL + dw $623A ; COIN_CASE + dw $62DE ; OAKS_PARCEL + dw $62E1 ; ITEMFINDER + dw $6476 ; SILPH_SCOPE + dw $6140 ; POKE_FLUTE + dw $6476 ; LIFT_KEY + dw $6476 ; EXP__ALL + dw OldRodCode ; OLD_ROD + dw GoodRodCode ; GOOD_ROD $6259 + dw SuperRodCode ; SUPER_ROD $6283 + dw $6317 ; PP_UP (see other?) + dw $631E ; ETHER + dw $631E ; MAX_ETHER + dw $631E ; ELIXER + dw $631E ; MAX_ELIXER + +ItemUseBall: ; 03:5687 + ld a,[W_ISINBATTLE] + and a + jp z,ItemUseNotTime ; not in battle + dec a + jp nz,$658b ; in trainer battle + ld a,[W_BATTLETYPE] + dec a + jr z,.UseBall\@ + ld a,[W_NUMINPARTY] ;is Party full? + cp a,6 + jr nz,.UseBall\@ + ld a,[W_NUMINBOX] ;is Box full? + cp a,20 + jp z,$65b1 +.UseBall\@ ;$56a7 +;ok, you can use a ball + xor a + ld [$d11c],a + ld a,[W_BATTLETYPE] + cp a,2 ;SafariBattle + jr nz,.skipSafariZoneCode\@ +.safariZone\@ + ; remove a Safari Ball from inventory + ld hl,W_NUMSAFARIBALLS + dec [hl] +.skipSafariZoneCode\@ ;$56b6 + call GoPAL_SET_CF1C + ld a,$43 + ld [$d11e],a + call $3725 ;restore screenBuffer from Backup + ld hl,ItemUseText00 + call PrintText + ld hl,$583a + ld b,$0f + call Bankswitch + ld b,$10 + jp z,$5801 + ld a,[W_BATTLETYPE] + dec a + jr nz,.notOldManBattle\@ +.oldManBattle\@ + ld hl,W_GRASSRATE + ld de,W_PLAYERNAME + ld bc,11 + call CopyData ; save the player's name in the Wild Monster data (part of the Cinnabar Island Missingno glitch) + jp .BallSuccess\@ ;$578b +.notOldManBattle\@ ;$56e9 + ld a,[W_CURMAP] + cp a,POKEMONTOWER_6 + jr nz,.loop\@ + ld a,[$cfd8] + cp a,MAROWAK + ld b,$10 + jp z,$5801 +; if not fighting ghost Marowak, loop until a random number in the current +; pokeball's allowed range is found +.loop\@ ;$56fa + call GenRandom + ld b,a + ld hl,$cf91 + ld a,[hl] + cp a,MASTER_BALL + jp z,.BallSuccess\@ ;$578b + cp a,POKE_BALL + jr z,.checkForAilments + ld a,200 + cp b + jr c,.loop\@ ;get only numbers <= 200 for Great Ball + ld a,[hl] + cp a,GREAT_BALL + jr z,.checkForAilments + ld a,150 ;get only numbers <= 150 for Ultra Ball + cp b + jr c,.loop\@ +.checkForAilments\@ ;$571a +; pokemon can be caught more easily with any (primary) status ailment +; Frozen/Asleep pokemon are relatively even easier to catch +; for Frozen/Asleep pokemon, any random number from 0-24 ensures a catch. +; for the others, a random number from 0-11 ensures a catch. + ld a,[W_ENEMYMONSTATUS] ;status ailments + and a + jr z,.noAilments\@ + and a,(FRZ + SLP) ;is frozen and/or asleep? + ld c,12 + jr z,.notFrozenOrAsleep\@ + ld c,25 +.notFrozenOrAsleep\@ ;$5728 + ld a,b + sub c + jp c,.BallSuccess\@ ;$578b + ld b,a +.noAilments\@ ;$572e + push bc ;save RANDOM number + xor a + ld [H_MULTIPLICAND],a + ld hl,W_ENEMYMONMAXHP + ld a,[hli] + ld [H_MULTIPLICAND + 1],a + ld a,[hl] + ld [H_MULTIPLICAND + 2],a + ld a,255 + ld [H_MULTIPLIER],a + call $38ac ;Multiply: MaxHP * 255 + ld a,[$cf91] + cp a,GREAT_BALL + ld a,12 ;any other BallFactor + jr nz,.next7\@ + ld a,8 +.next7\@ ;$574d + ld [H_DIVISOR],a + ld b,4 ;number of significant bytes + call $38b9 ;Divide + ld hl,W_ENEMYMONCURHP + ld a,[hli] + ld b,a + ld a,[hl] + +; explanation: we have a 16-bit value equal to [b << 8 | a]. +; This number is divided by 4. The result is 8 bit (reg. a). +; Always bigger than zero. + srl b + rr a + srl b + rr a ; a = current HP / 4 + and a + jr nz,.next8\@ + inc a +.next8\@ ;$5766 + ld [H_DIVISOR],a + ld b,4 + call $38b9 ; Divide: ((MaxHP * 255) / BallFactor) / (CurHP / 4) + ld a,[H_QUOTIENT + 2] + and a + jr z,.next9\@ + ld a,255 + ld [H_QUOTIENT + 3],a +.next9\@ ;$5776 + pop bc + ld a,[$d007] ;enemy: Catch Rate + cp b + jr c,.next10\@ + ld a,[H_QUOTIENT + 2] + and a + jr nz,.BallSuccess\@ ; if ((MaxHP * 255) / BallFactor) / (CurHP / 4) > 0x255, automatic success + call GenRandom + ld b,a + ld a,[H_QUOTIENT + 3] + cp b + jr c,.next10\@ +.BallSuccess\@ ;$578b + jr .BallSuccess2\@ +.next10\@ ;$578d + ld a,[H_QUOTIENT + 3] + ld [$d11e],a + xor a + ld [H_MULTIPLICAND],a + ld [H_MULTIPLICAND + 1],a + ld a,[$d007] ;enemy: Catch Rate + ld [H_MULTIPLICAND + 2],a + ld a,100 + ld [H_MULTIPLIER],a + call $38ac ;Multiply: CatchRate * 100 + ld a,[$cf91] + ld b,255 + cp a,POKE_BALL + jr z,.next11\@ + ld b,200 + cp a,GREAT_BALL + jr z,.next11\@ + ld b,150 + cp a,ULTRA_BALL + jr z,.next11\@ +.next11\@ ;$57b8 + ld a,b + ld [H_DIVISOR],a + ld b,4 + call $38b9 ;Divide + ld a,[H_QUOTIENT + 2] + and a + ld b,$63 + jr nz,.next12\@ + ld a,[$d11e] + ld [H_MULTIPLIER],a + call $38ac + ld a,255 + ld [H_DIVISOR],a + ld b,4 + call $38b9 + ld a,[W_ENEMYMONSTATUS] ;status ailments + and a + jr z,.next13\@ + and a,(FRZ + SLP) + ld b,5 + jr z,.next14\@ + ld b,10 +.next14\@ ;$57e6 + ld a,[H_QUOTIENT + 3] + add b + ld [H_QUOTIENT + 3],a +.next13\@ ;$57eb + ld a,[H_QUOTIENT + 3] + cp a,10 + ld b,$20 + jr c,.next12\@ + cp a,30 + ld b,$61 + jr c,.next12\@ + cp a,70 + ld b,$62 + jr c,.next12\@ + ld b,$63 +.next12\@ ;$5801 + ld a,b + ld [$d11e],a +.BallSuccess2\@ ;$5805 + ld c,20 + call DelayFrames + ld a,$c1 + ld [$d07c],a + xor a + ld [$fff3],a + ld [$cc5b],a + ld [$d05b],a + ld a,[$cf92] + push af + ld a,[$cf91] + push af + ld a,$08 ;probably animations + call Predef + pop af + ld [$cf91],a + pop af + ld [$cf92],a + ld a,[$d11e] + cp a,$10 + ld hl,ItemUseBallText00 + jp z,.printText0\@ + cp a,$20 + ld hl,ItemUseBallText01 + jp z,.printText0\@ + cp a,$61 + ld hl,ItemUseBallText02 + jp z,.printText0\@ + cp a,$62 + ld hl,ItemUseBallText03 + jp z,.printText0\@ + cp a,$63 + ld hl,ItemUseBallText04 + jp z,.printText0\@ + ld hl,$cfe6 ;current HP + ld a,[hli] + push af + ld a,[hli] + push af ;backup currentHP... + inc hl + ld a,[hl] + push af ;...and status ailments + push hl + ld hl,$d069 + bit 3,[hl] + jr z,.next15\@ + ld a,$4c + ld [$cfd8],a + jr .next16\@ +.next15\@ ;$5871 + set 3,[hl] + ld hl,$cceb + ld a,[$cff1] + ld [hli],a + ld a,[$cff2] + ld [hl],a +.next16\@ ;$587e + ld a,[$cf91] + push af + ld a,[$cfd8] + ld [$cf91],a + ld a,[$cff3] + ld [$d127],a + ld hl,$6b01 + ld b,$0f + call Bankswitch + pop af + ld [$cf91],a + pop hl + pop af + ld [hld],a + dec hl + pop af + ld [hld],a + pop af + ld [hl],a + ld a,[$cfe5] ;enemy + ld [$d11c],a + ld [$cf91],a + ld [$d11e],a + ld a,[W_BATTLETYPE] + dec a + jr z,.printText1\@ + ld hl,ItemUseBallText05 + call PrintText + ld a,$3a ;convert order: Internal->Dex + call Predef + ld a,[$d11e] + dec a + ld c,a + ld b,2 + ld hl,$d2f7 ;Dex_own_flags (pokemon) + ld a,$10 + call Predef ;check Dex flag (own already or not) + ld a,c + push af + ld a,[$d11e] + dec a + ld c,a + ld b,1 + ld a,$10 ;set Dex_own_flag? + call Predef + pop af + and a + jr nz,.checkParty\@ + ld hl,ItemUseBallText06 + call PrintText + call CleanLCD_OAM + ld a,[$cfe5] ;caught mon_ID + ld [$d11e],a + ld a,$3d + call Predef +.checkParty\@ ;$58f4 + ld a,[W_NUMINPARTY] + cp a,6 ;is party full? + jr z,.sendToBox\@ + xor a + ld [$cc49],a + call CleanLCD_OAM + call AddPokemonToParty ;add mon to Party + jr .End\@ +.sendToBox\@ ;$5907 + call CleanLCD_OAM + call $67a4 + ld hl,ItemUseBallText07 + ld a,[$d7f1] + bit 0,a ;already met Bill? + jr nz,.sendToBox2\@ + ld hl,ItemUseBallText08 +.sendToBox2\@ ;$591a + call PrintText + jr .End\@ +.printText1\@ ;$591f + ld hl,ItemUseBallText05 +.printText0\@ ;$5922 + call PrintText + call CleanLCD_OAM +.End\@ ;$5928 + ld a,[W_BATTLETYPE] + and a + ret nz + ld hl,$d31d + inc a + ld [$cf96],a + jp $2bbb ;remove ITEM (XXX) +ItemUseBallText00: +;"It dodged the thrown ball!" +;"This pokemon can't be caught" + TX_FAR _ItemUseBallText00 + db "@" +ItemUseBallText01: +;"You missed the pokemon!" + TX_FAR _ItemUseBallText01 + db "@" +ItemUseBallText02: +;"Darn! The pokemon broke free!" + TX_FAR _ItemUseBallText02 + db "@" +ItemUseBallText03: +;"Aww! It appeared to be caught!" + TX_FAR _ItemUseBallText03 + db "@" +ItemUseBallText04: +;"Shoot! It was so close too!" + TX_FAR _ItemUseBallText04 + db "@" +ItemUseBallText05: +;"All right! {MonName} was caught!" +;play sound + TX_FAR _ItemUseBallText05 + db $12,$06 + db "@" +ItemUseBallText07: +;"X was transferred to Bill's PC" + TX_FAR _ItemUseBallText07 + db "@" +ItemUseBallText08: +;"X was transferred to someone's PC" + TX_FAR _ItemUseBallText08 + db "@" + +ItemUseBallText06: +;"New DEX data will be added..." +;play sound + TX_FAR _ItemUseBallText06 + db $13,$06 + db "@" + +ItemUseTownMap: ; 03:5968 + ld a,[W_ISINBATTLE] ;in-battle or outside + and a + jp nz,ItemUseNotTime ;OAK: "this isn't the time..." + +INCBIN "baserom.gbc",$d96f,$da4c - $d96f + +UnnamedText_da4c: ; 0xda4c + TX_FAR _UnnamedText_da4c + db $50 +; 0xda4c + 5 bytes + +UnnamedText_da51: ; 0xda51 + TX_FAR _UnnamedText_da51 + db $50 +; 0xda51 + 5 bytes + +ItemUsePokedex: ; 0xda56 5A56 + ld a, $29 + jp $3e6d +; 0xda5b + +INCBIN "baserom.gbc",$da5b,$df24 - $da5b + +UnnamedText_df24: ; 0xdf24 + TX_FAR _UnnamedText_df24 + db $50 +; 0xdf24 + 5 bytes + +UnnamedText_df29: ; 0xdf29 + TX_FAR _UnnamedText_df29 + db $50 +; 0xdf29 + 5 bytes + +INCBIN "baserom.gbc",$df2e,$dfa5 - $df2e + +UnnamedText_dfa5: ; 0xdfa5 + TX_FAR _UnnamedText_dfa5 + db $50 +; 0xdfa5 + 5 bytes + +UnnamedText_dfaa: ; 0xdfaa + TX_FAR _UnnamedText_dfaa + db $50 +; 0xdfaa + 5 bytes + +INCBIN "baserom.gbc",$dfaf,$e20b - $dfaf + +UnnamedText_e20b: ; 0xe20b + TX_FAR _UnnamedText_e20b + db $50 +; 0xe20b + 5 bytes + +UnnamedText_e210: ; 0xe210 + TX_FAR _UnnamedText_e210 + db $50 +; 0xe210 + 5 bytes + +INCBIN "baserom.gbc",$e215,$e247 - $e215 + +UnnamedText_e247: ; 0xe247 + TX_FAR _UnnamedText_e247 + db $50 +; 0xe247 + 5 bytes + +OldRodCode: ; 0xe24c + call $62b4 ; probably sets carry if not in battle or not by water + jp c, ItemUseNotTime + ld bc, (5 << 8) | MAGIKARP + ld a, $1 ; set bite + jr RodResponse ; 0xe257 $34 + +GoodRodCode: ; 6259 0xe259 + call $62B4 ; probably sets carry if not in battle or not by water + jp c,ItemUseNotTime +.RandomLoop + call GenRandom + srl a + jr c, .SetBite + and %11 + cp 2 + jr nc, .RandomLoop + ; choose which monster appears + ld hl,GoodRodMons + add a,a + ld c,a + ld b,0 + add hl,bc + ld b,[hl] + inc hl + ld c,[hl] + and a +.SetBite + ld a,0 + rla + xor 1 + jr RodResponse + +GoodRodMons: + db 10,GOLDEEN + db 10,POLIWAG + +SuperRodCode: ; $6283 0xe283 + call $62B4 ; probably sets carry if in battle or not by water + jp c, ItemUseNotTime + call ReadSuperRodData ; 0xe8ea + ld a, e +RodResponse: + ld [$CD3D], a + + dec a ; is there a bite? + jr nz, .next\@ + ; if yes, store level and species data + ld a, 1 + ld [$D05F], a + ld a, b ; level + ld [W_CURENEMYLVL], a + ld a, c ; species + ld [W_CUROPPONENT], a + +.next\@ + ld hl, $D700 + ld a, [hl] ; store the value in a + push af + push hl + ld [hl], 0 + ld b, $1C + ld hl, $47B6 + call Bankswitch + pop hl + pop af + ld [hl], a + ret + +INCBIN "baserom.gbc",$e2b4,$e30d - $e2b4 + +UnnamedText_e30d: ; 0xe30d + TX_FAR _UnnamedText_e30d + db $50 +; 0xe30d + 5 bytes + +UnnamedText_e312: ; 0xe312 + TX_FAR _UnnamedText_e312 + db $50 +; 0xe312 + 5 bytes + +INCBIN "baserom.gbc",$e317,$e45d - $e317 + +UnnamedText_e45d: ; 0xe45d + TX_FAR _UnnamedText_e45d + db $50 +; 0xe45d + 5 bytes + +UnnamedText_e462: ; 0xe462 + TX_FAR _UnnamedText_e462 + db $50 +; 0xe462 + 5 bytes + +UnnamedText_e467: ; 0xe467 + TX_FAR _UnnamedText_e467 + db $50 +; 0xe467 + 5 bytes + +UnnamedText_e46c: ; 0xe46c + TX_FAR _UnnamedText_e46c + db $50 +; 0xe46c + 5 bytes + +UnnamedText_e471: ; 0xe471 + TX_FAR _UnnamedText_e471 + db $50 +; 0xe471 + 5 bytes + +INCBIN "baserom.gbc",$e476,$3 + +ItemUseTMHM: ; 03:6479 + INCBIN "baserom.gbc",$E479,$E581 - $E479 +ItemUseNotTime: ; 03:6581 + INCBIN "baserom.gbc",$E581,$E5E8 - $E581 +ItemUseText00: ; 03:65e8 + TX_FAR _ItemUseText001 + db $05 + TX_FAR _ItemUseText002 + db "@" + +INCBIN "baserom.gbc",$e5f2,$e5f7 - $e5f2 + +UnnamedText_e5f7: ; 0xe5f7 + TX_FAR _UnnamedText_e5f7 + db $50 +; 0xe5f7 + 5 bytes + +INCBIN "baserom.gbc",$e5fc,$e601 - $e5fc + +UnnamedText_e601: ; 0xe601 + TX_FAR _UnnamedText_e601 + db $50 +; 0xe601 + 5 bytes + +INCBIN "baserom.gbc",$e606,$e755 - $e606 + +UnnamedText_e755: ; 0xe755 + TX_FAR _UnnamedText_e755 + db $50 +; 0xe755 + 5 bytes + +UnnamedText_e75a: ; 0xe75a + TX_FAR _UnnamedText_e75a + db $50 +; 0xe75a + 5 bytes + +UnnamedText_e75f: ; 0xe75f + TX_FAR _UnnamedText_e75f + db $50 +; 0xe75f + 5 bytes + +INCBIN "baserom.gbc",$e764,$e8ea - $e764 + +; 68EA 0xe8ea +ReadSuperRodData: +; return e = 2 if no fish on this map +; return e = 1 if a bite, bc = level,species +; return e = 0 if no bite + ld a, [W_CURMAP] + ld de, 3 ; each fishing group is three bytes wide + ld hl, SuperRodData + call IsInArray + jr c, .ReadFishingGroup + ld e, $2 ; $2 if no fishing groups found + ret + +.ReadFishingGroup ; 0xe8f6 +; hl points to the fishing group entry in the index + inc hl ; skip map id + + ; read fishing group address + ld a, [hli] + ld h, [hl] + ld l, a + + ld b, [hl] ; how many mons in group + inc hl ; point to data + ld e, $0 ; no bite yet + +.RandomLoop ; 0xe90c + call GenRandom + srl a + ret c ; 50% chance of no battle + + and %11 ; 2-bit random number + cp b + jr nc, .RandomLoop ; if a is greater than the number of mons, regenerate + + ; get the mon + add a + ld c, a + ld b, $0 + add hl, bc + ld b, [hl] ; level + inc hl + ld c, [hl] ; species + ld e, $1 ; $1 if there's a bite + ret +; 0xe919 + +; super rod data +; format: map, pointer to fishing group +SuperRodData: ; 6919 + dbw PALLET_TOWN, FishingGroup1 + dbw VIRIDIAN_CITY, FishingGroup1 + dbw CERULEAN_CITY, FishingGroup3 + dbw VERMILION_CITY, FishingGroup4 + dbw CELADON_CITY, FishingGroup5 + dbw FUCHSIA_CITY, FishingGroup10 + dbw CINNABAR_ISLAND, FishingGroup8 + dbw ROUTE_4, FishingGroup3 + dbw ROUTE_6, FishingGroup4 + dbw ROUTE_10, FishingGroup5 + dbw ROUTE_11, FishingGroup4 + dbw ROUTE_12, FishingGroup7 + dbw ROUTE_13, FishingGroup7 + dbw ROUTE_17, FishingGroup7 + dbw ROUTE_18, FishingGroup7 + dbw ROUTE_19, FishingGroup8 + dbw ROUTE_20, FishingGroup8 + dbw ROUTE_21, FishingGroup8 + dbw ROUTE_22, FishingGroup2 + dbw ROUTE_23, FishingGroup9 + dbw ROUTE_24, FishingGroup3 + dbw ROUTE_25, FishingGroup3 + dbw CERULEAN_GYM, FishingGroup3 + dbw VERMILION_DOCK, FishingGroup4 +;XXX syntax errors on the rest? + dbw $A1, FishingGroup8 ; SEAFOAM_ISLANDS_4 + dbw $A2, FishingGroup8 ; SEAFOAM_ISLANDS_5 + dbw SAFARI_ZONE_EAST, FishingGroup6 + dbw $DA, FishingGroup6 ; SAFARI_ZONE_NORTH + dbw SAFARI_ZONE_WEST, FishingGroup6 + dbw $DC, FishingGroup6 ; SAFARI_ZONE_CENTER + dbw $E2, FishingGroup9 ; UNKNOWN_DUNGEON_2 + dbw $E3, FishingGroup9 ; UNKNOWN_DUNGEON_3 + dbw $E4, FishingGroup9 ; UNKNOWN_DUNGEON_1 + db $FF + +; fishing groups +; number of monsters, followed by level/monster pairs +FishingGroup1: + db 2 + db 15,TENTACOOL + db 15,POLIWAG + +FishingGroup2: + db 2 + db 15,GOLDEEN + db 15,POLIWAG + +FishingGroup3: + db 3 + db 15,PSYDUCK + db 15,GOLDEEN + db 15,KRABBY + +FishingGroup4: + db 2 + db 15,KRABBY + db 15,SHELLDER + +FishingGroup5: + db 2 + db 23,POLIWHIRL + db 15,SLOWPOKE + +FishingGroup6: + db 4 + db 15,DRATINI + db 15,KRABBY + db 15,PSYDUCK + db 15,SLOWPOKE + +FishingGroup7: + db 4 + db 5,TENTACOOL + db 15,KRABBY + db 15,GOLDEEN + db 15,MAGIKARP + +FishingGroup8: + db 4 + db 15,STARYU + db 15,HORSEA + db 15,SHELLDER + db 15,GOLDEEN + +FishingGroup9: + db 4 + db 23,SLOWBRO + db 23,SEAKING + db 23,KINGLER + db 23,SEADRA + +FishingGroup10: + db 4 + db 23,SEAKING + db 15,KRABBY + db 15,GOLDEEN + db 15,MAGIKARP + +INCBIN "baserom.gbc",$E9C5,$ef7d - $E9C5 + +_UnnamedText_ef7d: ; 0xef7d + db $17, $f8, $42, $2a + db $50 +; 0xef7d + 5 bytes + +INCBIN "baserom.gbc",$ef82,$f6a5 - $ef82 + +HealParty: + ld hl, W_PARTYMON1 + ld de, W_PARTYMON1_HP +.HealPokemon\@: ; 0xf704 + ld a, [hli] + cp $ff + jr z, .DoneHealing\@ ; End if there's no Pokémon + push hl + push de + ld hl, $0003 ; Status offset + add hl, de + xor a + ld [hl], a ; Clean status conditions + push de + ld b, $4 ; A Pokémon has 4 moves +.RestorePP\@: + ld hl, $0007 ; Move offset + add hl, de + ld a, [hl] + and a + jr z, .HealNext\@ ; Skip if there's no move here + dec a + ld hl, $001c ; PP offset + add hl, de + push hl + push de + push bc + ld hl, Moves + ld bc, $0006 + call AddNTimes + ld de, $cd6d + ld a, BANK(Moves) + call FarCopyData ; copy move header to memory + ld a, [$cd72] ; get default PP + pop bc + pop de + pop hl + inc de + push bc + ld b, a + ld a, [hl] + and $c0 + add b + ld [hl], a + pop bc +.HealNext\@: + dec b + jr nz, .RestorePP\@ ; Continue if there's still moves + pop de + ld hl, $0021 ; Max HP offset + add hl, de + ld a, [hli] + ld [de], a + inc de + ld a, [hl] + ld [de], a ; Restore full HP + pop de + pop hl + push hl + ld bc, $002c + ld h, d + ld l, e + add hl, bc + ld d, h + ld e, l + pop hl + jr .HealPokemon\@ ; Next Pokémon +.DoneHealing\@ ; This calls $6606 for each Pokémon in party -- no idea why + xor a + ld [$cf92], a + ld [$d11e], a + ld a, [W_NUMINPARTY] + ld b, a +.asm_f711 + push bc + call $6606 + pop bc + ld hl, $cf92 + inc [hl] + dec b + jr nz, .asm_f711 ; 0xf71b $f4 + ret + +INCBIN "baserom.gbc",$f71e,$fbd9 - $f71e + +UnnamedText_fbd9: ; 0xfbd9 + TX_FAR _UnnamedText_fbd9 + db $50 +; 0xfbd9 + 5 bytes + +UnnamedText_fbde: ; 0xfbde + TX_FAR _UnnamedText_fbde + db $50 +; 0xfbde + 5 bytes + +UnnamedText_fbe3: ; 0xfbe3 + TX_FAR _UnnamedText_fbe3 + db $50 +; 0xfbe3 + 5 bytes + +INCBIN "baserom.gbc",$fbe8,$fc03 - $fbe8 + +UnnamedText_fc03: ; 0xfc03 + TX_FAR _UnnamedText_fc03 + db $50 +; 0xfc03 + 5 bytes + +UnnamedText_fc08: ; 0xfc08 + TX_FAR _UnnamedText_fc08 + db $50 +; 0xfc08 + 5 bytes + +UnnamedText_fc0d: ; 0xfc0d + TX_FAR _UnnamedText_fc0d + db $50 +; 0xfc0d + 5 bytes + +INCBIN "baserom.gbc",$fc12,$fc45 - $fc12 + +UnnamedText_fc45: ; 0xfc45 + TX_FAR _UnnamedText_fc45 + db $50 +; 0xfc45 + 5 bytes + +INCBIN "baserom.gbc",$fc4a,$3b6 + +SECTION "bank4",DATA,BANK[$4] + +INCBIN "baserom.gbc",$10000,$12e7f - $10000 + +UnnamedText_12e7f: ; 0x12e7f + TX_FAR _UnnamedText_12e7f + db $50 +; 0x12e7f + 5 bytes + +UnnamedText_12e84: ; 0x12e84 + TX_FAR _UnnamedText_12e84 + db $50 +; 0x12e84 + 5 bytes + +UnnamedText_12e89: ; 0x12e89 + TX_FAR _UnnamedText_12e89 + db $50 +; 0x12e89 + 5 bytes + +UnnamedText_12e8e: ; 0x12e8e + TX_FAR _UnnamedText_12e8e + db $50 +; 0x12e8e + 5 bytes + +UnnamedText_12e93: ; 0x12e93 + TX_FAR _UnnamedText_12e93 + db $50 +; 0x12e93 + 5 bytes + +UnnamedText_12e98: ; 0x12e98 + TX_FAR _UnnamedText_12e98 + db $50 +; 0x12e98 + 5 bytes + +UnnamedText_12e9d: ; 0x12e9d + TX_FAR _UnnamedText_12e9d + db $50 +; 0x12e9d + 5 bytes + +UnnamedText_12ea2: ; 0x12ea2 + TX_FAR _UnnamedText_12ea2 + db $50 +; 0x12ea2 + 5 bytes + +UnnamedText_12ea7: ; 0x12ea7 + TX_FAR _UnnamedText_12ea7 + db $50 +; 0x12ea7 + 5 bytes + +UnnamedText_12eac: ; 0x12eac + TX_FAR _UnnamedText_12eac + db $50 +; 0x12eac + 5 bytes + +UnnamedText_12eb1: ; 0x12eb1 + TX_FAR _UnnamedText_12eb1 + db $50 +; 0x12eb1 + 5 bytes + +UnnamedText_12eb6: ; 0x12eb6 + TX_FAR _UnnamedText_12eb6 + db $50 +; 0x12eb6 + 5 bytes + +UnnamedText_12ebb: ; 0x12ebb + TX_FAR _UnnamedText_12ebb + db $50 +; 0x12ebb + 5 bytes + +INCBIN "baserom.gbc",$12ec0,$1e + +RedPicFront: + INCBIN "pic/trainer/red.pic" +ShrinkPic1: + INCBIN "pic/trainer/shrink1.pic" +ShrinkPic2: + INCBIN "pic/trainer/shrink2.pic" + +INCBIN "baserom.gbc",$13074,$13228 - $13074 + +UnnamedText_13228: ; 0x13228 + TX_FAR _UnnamedText_13228 + db $50 +; 0x13228 + 5 bytes + +INCBIN "baserom.gbc",$1322d,$1327b - $1322d + +UnnamedText_1327b: ; 0x1327b + TX_FAR _UnnamedText_1327b + db $50 +; 0x1327b + 5 bytes + +UnnamedText_13280: ; 0x13280 + TX_FAR _UnnamedText_13280 + db $50 +; 0x13280 + 5 bytes + +UnnamedText_13285: ; 0x13285 + TX_FAR _UnnamedText_13285 + db $50 +; 0x13285 + 5 bytes + +INCBIN "baserom.gbc",$1328a,$132d4 - $1328a + +UnnamedText_132d4: ; 0x132d4 + TX_FAR _UnnamedText_132d4 + db $50 +; 0x132d4 + 5 bytes + +INCBIN "baserom.gbc",$132d9,$132e8 - $132d9 + +UnnamedText_132e8: ; 0x132e8 + TX_FAR _UnnamedText_132e8 + db $50 +; 0x132e8 + 5 bytes + +INCBIN "baserom.gbc",$132ed,$1342a - $132ed + +UnnamedText_1342a: ; 0x1342a + TX_FAR _UnnamedText_1342a + db $50 +; 0x1342a + 5 bytes + +UnnamedText_1342f: ; 0x1342f + TX_FAR _UnnamedText_1342f + db $50 +; 0x1342f + 5 bytes + +INCBIN "baserom.gbc",$13434,$13773 - $13434 + +TechnicalMachines: ; 0x13773 + db MEGA_PUNCH + db RAZOR_WIND + db SWORDS_DANCE + db WHIRLWIND + db MEGA_KICK + db TOXIC + db HORN_DRILL + db BODY_SLAM + db TAKE_DOWN + db DOUBLE_EDGE + db BUBBLEBEAM + db WATER_GUN + db ICE_BEAM + db BLIZZARD + db HYPER_BEAM + db PAY_DAY + db SUBMISSION + db COUNTER + db SEISMIC_TOSS + db RAGE + db MEGA_DRAIN + db SOLARBEAM + db DRAGON_RAGE + db THUNDERBOLT + db THUNDER + db EARTHQUAKE + db FISSURE + db DIG + db PSYCHIC_M + db TELEPORT + db MIMIC + db DOUBLE_TEAM + db REFLECT + db BIDE + db METRONOME + db SELFDESTRUCT + db EGG_BOMB + db FIRE_BLAST + db SWIFT + db SKULL_BASH + db SOFTBOILED + db DREAM_EATER + db SKY_ATTACK + db REST + db THUNDER_WAVE + db PSYWAVE + db EXPLOSION + db ROCK_SLIDE + db TRI_ATTACK + db SUBSTITUTE + db CUT + db FLY + db SURF + db STRENGTH + db FLASH + +INCBIN "baserom.gbc",$137aa,$1386b - $137aa + +UnnamedText_1386b: ; 0x1386b + TX_FAR _UnnamedText_1386b + db $50 +; 0x1386b + 5 bytes + +INCBIN "baserom.gbc",$13870,$1399e - $13870 + +UnnamedText_1399e: ; 0x1399e + TX_FAR _UnnamedText_1399e + db $50 +; 0x1399e + 5 bytes + +INCBIN "baserom.gbc",$139a3,$139cd - $139a3 + +UnnamedText_139cd: ; 0x139cd + TX_FAR _UnnamedText_139cd + db $50 +; 0x139cd + 5 bytes + +INCBIN "baserom.gbc",$139d2,$13a53 - $139d2 + +UnnamedText_13a53: ; 0x13a53 + TX_FAR _UnnamedText_13a53 + db $50 +; 0x13a53 + 5 bytes + +INCBIN "baserom.gbc",$13a58,$37 + +GenRandom_: ; 7A8F +; generate a random 16-bit integer and store it at $FFD3,$FFD4 + ld a,[rDIV] + ld b,a + ld a,[H_RAND1] + adc b + ld [H_RAND1],a + ld a,[rDIV] + ld b,a + ld a,[H_RAND2] + sbc b + ld [H_RAND2],a + ret + +SECTION "bank5",DATA,BANK[$5] + +INCBIN "baserom.gbc",$14000,$17e1d - $14000 + +UnnamedText_17e1d: ; 0x17e1d + TX_FAR _UnnamedText_17e1d + db $50 +; 0x17e1d + 5 bytes + +UnnamedText_17e22: ; 0x17e22 + TX_FAR _UnnamedText_17e22 + db $50 +; 0x17e22 + 5 bytes + +UnnamedText_17e27: ; 0x17e27 + TX_FAR _UnnamedText_17e27 + db $50 +; 0x17e27 + 5 bytes + +INCBIN "baserom.gbc",$17e2c,$17f23 - $17e2c + +UnnamedText_17f23: ; 0x17f23 + TX_FAR _UnnamedText_17f23 + db $50 +; 0x17f23 + 5 bytes + +UnnamedText_17f28: ; 0x17f28 + TX_FAR _UnnamedText_17f28 + db $50 +; 0x17f28 + 5 bytes + +UnnamedText_17f2d: ; 0x17f2d + TX_FAR _UnnamedText_17f2d + db $50 +; 0x17f2d + 5 bytes + +UnnamedText_17f32: ; 0x17f32 + TX_FAR _UnnamedText_17f32 + db $50 +; 0x17f32 + 5 bytes + +INCBIN "baserom.gbc",$17f37,$c9 + +SECTION "bank6",DATA,BANK[$6] + +CeladonCity_h: ; 0x18000 + db $00 ; tileset + db CELADON_CITY_HEIGHT, CELADON_CITY_WIDTH ; dimensions (y, x) + dw CeladonCityBlocks, CeladonCityTexts, CeladonCityScript ; blocks, texts, scripts + db WEST | EAST ; connections + + ; connections data + + db ROUTE_16 + dw $4B95, $C7C1 ; pointers (connected, current) (strip) + db $09, $14 ; bigness, width + db $F8, $27 ; alignments (y, x) + dw $C716 ; window + + db ROUTE_7 + dw $4051, $C7DD ; pointers (connected, current) (strip) + db $09, $0A ; bigness, width + db $F8, $00 ; alignments (y, x) + dw $C6F9 ; window + + ; end connections data + + dw CeladonCityObject ; objects + +CeladonCityObject: ; 0x18022 (size=189) + db $f ; border tile + + db $d ; warps + db $d, $8, $0, CELADON_MART_1 + db $d, $a, $2, CELADON_MART_1 + db $9, $18, $0, CELADON_MANSION_1 + db $3, $18, $2, CELADON_MANSION_1 + db $3, $19, $2, CELADON_MANSION_1 + db $9, $29, $0, CELADON_POKECENTER + db $1b, $c, $0, CELADON_GYM + db $13, $1c, $0, GAME_CORNER + db $13, $27, $0, CELADON_MART_5 + db $13, $21, $0, CELADONPRIZE_ROOM + db $1b, $1f, $0, CELADON_DINER + db $1b, $23, $0, CELADON_HOUSE + db $1b, $2b, $0, CELADON_HOTEL + + db $9 ; signs + db $f, $1b, $a ; CeladonCityText10 + db $f, $13, $b ; CeladonCityText11 + db $9, $2a, $c ; CeladonCityText12 + db $1d, $d, $d ; CeladonCityText13 + db $9, $15, $e ; CeladonCityText14 + db $d, $c, $f ; CeladonCityText15 + db $15, $27, $10 ; CeladonCityText16 + db $15, $21, $11 ; CeladonCityText17 + db $15, $1b, $12 ; CeladonCityText18 + + db $9 ; people + db SPRITE_LITTLE_GIRL, $11 + 4, $8 + 4, $fe, $0, $1 ; person + db SPRITE_OLD_PERSON, $1c + 4, $b + 4, $ff, $d1, $2 ; person + db SPRITE_GIRL, $13 + 4, $e + 4, $fe, $1, $3 ; person + db SPRITE_OLD_PERSON, $16 + 4, $19 + 4, $ff, $d0, $4 ; person + db SPRITE_OLD_PERSON, $10 + 4, $16 + 4, $ff, $d0, $5 ; person + db SPRITE_FISHER2, $c + 4, $20 + 4, $ff, $d2, $6 ; person + db SPRITE_SLOWBRO, $c + 4, $1e + 4, $ff, $d3, $7 ; person + db SPRITE_ROCKET, $1d + 4, $20 + 4, $fe, $2, $8 ; person + db SPRITE_ROCKET, $e + 4, $2a + 4, $fe, $2, $9 ; person + + ; warp-to + EVENT_DISP $19, $d, $8 ; CELADON_MART_1 + EVENT_DISP $19, $d, $a ; CELADON_MART_1 + EVENT_DISP $19, $9, $18 ; CELADON_MANSION_1 + EVENT_DISP $19, $3, $18 ; CELADON_MANSION_1 + EVENT_DISP $19, $3, $19 ; CELADON_MANSION_1 + EVENT_DISP $19, $9, $29 ; CELADON_POKECENTER + EVENT_DISP $19, $1b, $c ; CELADON_GYM + EVENT_DISP $19, $13, $1c ; GAME_CORNER + EVENT_DISP $19, $13, $27 ; CELADON_MART_5 + EVENT_DISP $19, $13, $21 ; CELADONPRIZE_ROOM + EVENT_DISP $19, $1b, $1f ; CELADON_DINER + EVENT_DISP $19, $1b, $23 ; CELADON_HOUSE + EVENT_DISP $19, $1b, $2b ; CELADON_HOTEL + +CeladonCityBlocks: ; 0x180df 450 + INCBIN "maps/celadoncity.blk" + +PalletTown_h: ; 0x182a1 + db $00 ; tileset + db PALLET_TOWN_HEIGHT, PALLET_TOWN_WIDTH ; dimensions + dw PalletTownBlocks, PalletTownTexts, PalletTownScript + db NORTH | SOUTH ; connections + + db ROUTE_1 + dw Route1Blocks + ((ROUTE_1_WIDTH * 15) + 0) ;y, x Strip Starting Point + dw $C6EB + 0 ;Strip X-Offset to current map + db ROUTE_1_WIDTH ;"Bigness" (Unsure) ;Something to do with MapData + db ROUTE_1_WIDTH ;"Map Width" (Unsure) ;Something to do with TileSet + db (ROUTE_1_HEIGHT * 2) - 1 ;Player's new Y-Coordinates + db (0 * -2) ;Player's new X-Coordinates + dw $C6E9 + ROUTE_1_HEIGHT * (ROUTE_1_WIDTH + 6) ;New UL Block Pos (Window) + + db ROUTE_21 + dw Route21Blocks,$C7AB ; pointers + db $0A,$0A ; bigness, width + db $00,$00 ; alignments + dw $C6F9 ; window + + dw PalletTownObject + +PalletTownObject: ; 0x182c3 (size=58) + db $b ; border tile + + db $3 ; warps + db $5, $5, $0, REDS_HOUSE_1F + db $5, $d, $0, BLUES_HOUSE + db $b, $c, $1, OAKS_LAB + + db $4 ; signs + db $d, $d, $4 ; PalletTownText4 + db $9, $7, $5 ; PalletTownText5 + db $5, $3, $6 ; PalletTownText6 + db $5, $b, $7 ; PalletTownText7 + + db $3 ; people + db SPRITE_OAK, $5 + 4, $8 + 4, $ff, $ff, $1 ; person + db SPRITE_GIRL, $8 + 4, $3 + 4, $fe, $0, $2 ; person + db SPRITE_FISHER2, $e + 4, $b + 4, $fe, $0, $3 ; person + + ; warp-to + EVENT_DISP $a, $5, $5 ; REDS_HOUSE_1F + EVENT_DISP $a, $5, $d ; BLUES_HOUSE + EVENT_DISP $a, $b, $c ; OAKS_LAB + +PalletTownBlocks: ; 0x182fd + INCBIN "maps/pallettown.blk" + +ViridianCity_h: ; 0x18357 to 0x18384 (45 bytes) (bank=6) (id=1) + db $00 ; tileset + db VIRIDIAN_CITY_HEIGHT, VIRIDIAN_CITY_WIDTH ; dimensions (y, x) + dw ViridianCityBlocks, ViridianCityTexts, ViridianCityScript ; blocks, texts, scripts + db NORTH | SOUTH | WEST ; connections + + ; connections data + + db ROUTE_2 + dw Route2Blocks + (ROUTE_2_HEIGHT - 3) * ROUTE_2_WIDTH ; connection strip location + dw $C6EB + 5 ; current map position + db ROUTE_2_WIDTH, ROUTE_2_WIDTH ; bigness, width + db (ROUTE_2_HEIGHT * 2) - 1, (5 * -2) ; alignments (y, x) + dw $C6E9 + ROUTE_2_HEIGHT * (ROUTE_2_WIDTH + 6) ; window + + db ROUTE_1 + dw Route1Blocks ; connection strip location + dw $C6EB + (VIRIDIAN_CITY_HEIGHT + 3) * (VIRIDIAN_CITY_WIDTH + 6) + 5 ; current map position + db ROUTE_1_WIDTH, ROUTE_1_WIDTH ; bigness, width + db 0, (5 * -2) ; alignments (y, x) + dw $C6EF + ROUTE_1_WIDTH ; window + + db ROUTE_22 + dw Route22Blocks - 3 + (ROUTE_22_WIDTH) ; connection strip location + dw $C6E8 + (VIRIDIAN_CITY_WIDTH + 6) * (4 + 3) ; current map position + db ROUTE_22_HEIGHT, ROUTE_22_WIDTH ; bigness, width + db (4 * -2), (ROUTE_22_WIDTH * 2) - 1 ; alignments (y, x) + dw $C6EE + 2 * ROUTE_22_WIDTH ; window + + ; end connections data + + dw ViridianCityObject ; objects + +ViridianCityObject: ; 0x18384 (size=104) + db $f ; border tile + + db $5 ; warps + db $19, $17, $0, VIRIDIAN_POKECENTER + db $13, $1d, $0, VIRIDIAN_MART + db $f, $15, $0, VIRIDIAN_SCHOOL + db $9, $15, $0, VIRIDIAN_HOUSE + db $7, $20, $0, VIRIDIAN_GYM + + db $6 ; signs + db $11, $11, $8 ; ViridianCityText8 + db $1, $13, $9 ; ViridianCityText9 + db $1d, $15, $a ; ViridianCityText10 + db $13, $1e, $b ; ViridianCityText11 + db $19, $18, $c ; ViridianCityText12 + db $7, $1b, $d ; ViridianCityText13 + + db $7 ; people + db SPRITE_BUG_CATCHER, $14 + 4, $d + 4, $fe, $0, $1 ; person + db SPRITE_GAMBLER, $8 + 4, $1e + 4, $ff, $ff, $2 ; person + db SPRITE_BUG_CATCHER, $19 + 4, $1e + 4, $fe, $0, $3 ; person + db SPRITE_GIRL, $9 + 4, $11 + 4, $ff, $d3, $4 ; person + db SPRITE_LYING_OLD_MAN, $9 + 4, $12 + 4, $ff, $ff, $5 ; person + db SPRITE_FISHER2, $17 + 4, $6 + 4, $ff, $d0, $6 ; person + db SPRITE_GAMBLER, $5 + 4, $11 + 4, $fe, $2, $7 ; person + + ; warp-to + EVENT_DISP $14, $19, $17 ; VIRIDIAN_POKECENTER + EVENT_DISP $14, $13, $1d ; VIRIDIAN_MART + EVENT_DISP $14, $f, $15 ; VIRIDIAN_SCHOOL + EVENT_DISP $14, $9, $15 ; VIRIDIAN_HOUSE + EVENT_DISP $14, $7, $20 ; VIRIDIAN_GYM + +ViridianCityBlocks: ; 0x183ec 360 + INCBIN "maps/viridiancity.blk" + +PewterCity_h: ; 0x18554 to 0x18576 (34 bytes) (bank=6) (id=2) + db $00 ; tileset + db PEWTER_CITY_HEIGHT, PEWTER_CITY_WIDTH ; dimensions (y, x) + dw PewterCityBlocks, PewterCityTexts, PewterCityScript ; blocks, texts, scripts + db SOUTH | EAST ; connections + + ; connections data + + db ROUTE_2 + dw Route2Blocks ; connection strip location + dw $C6EB + (PEWTER_CITY_HEIGHT + 3) * (PEWTER_CITY_WIDTH + 6) + 5 ; current map position + db ROUTE_2_WIDTH, ROUTE_2_WIDTH ; bigness, width + db 0, (5 * -2) ; alignments (y, x) + dw $C6EF + ROUTE_2_WIDTH ; window + + db ROUTE_3 + dw Route3Blocks + (ROUTE_3_WIDTH * 0) ; connection strip location + dw $C6E5 + (PEWTER_CITY_WIDTH + 6) * (4 + 4) ; current map position + db ROUTE_3_HEIGHT, ROUTE_3_WIDTH ; bigness, width + db (4 * -2), 0 ; alignments (y, x) + dw $C6EF + ROUTE_3_WIDTH ; window + + ; end connections data + + dw PewterCityObject ; objects + +INCBIN "baserom.gbc",$18576,$18577 - $18576 + +PewterCityObject: ; 0x18577 (size=111) + db $a ; border tile + + db $7 ; warps + db $7, $e, $0, MUSEUM_1F + db $5, $13, $2, MUSEUM_1F + db $11, $10, $0, PEWTER_GYM + db $d, $1d, $0, PEWTER_HOUSE_1 + db $11, $17, $0, PEWTER_MART + db $1d, $7, $0, PEWTER_HOUSE_2 + db $19, $d, $0, PEWTER_POKECENTER + + db $7 ; signs + db $1d, $13, $6 ; PewterCityText6 + db $13, $21, $7 ; PewterCityText7 + db $11, $18, $8 ; PewterCityText8 + db $19, $e, $9 ; PewterCityText9 + db $9, $f, $a ; PewterCityText10 + db $11, $b, $b ; PewterCityText11 + db $17, $19, $c ; PewterCityText12 + + db $5 ; people + db SPRITE_LASS, $f + 4, $8 + 4, $ff, $ff, $1 ; person + db SPRITE_BLACK_HAIR_BOY_1, $19 + 4, $11 + 4, $ff, $ff, $2 ; person + db SPRITE_BLACK_HAIR_BOY_2, $11 + 4, $1b + 4, $ff, $ff, $3 ; person + db SPRITE_BLACK_HAIR_BOY_2, $19 + 4, $1a + 4, $fe, $2, $4 ; person + db SPRITE_BUG_CATCHER, $10 + 4, $23 + 4, $ff, $d0, $5 ; person + + ; warp-to + EVENT_DISP $14, $7, $e ; MUSEUM_1F + EVENT_DISP $14, $5, $13 ; MUSEUM_1F + EVENT_DISP $14, $11, $10 ; PEWTER_GYM + EVENT_DISP $14, $d, $1d ; PEWTER_HOUSE_1 + EVENT_DISP $14, $11, $17 ; PEWTER_MART + EVENT_DISP $14, $1d, $7 ; PEWTER_HOUSE_2 + EVENT_DISP $14, $19, $d ; PEWTER_POKECENTER + +PewterCityBlocks: ; 0x185e6 360 + INCBIN "maps/pewtercity.blk" + +CeruleanCity_h: ; 0x1874e to 0x18786 (56 bytes) (bank=6) (id=3) + db $00 ; tileset + db CERULEAN_CITY_HEIGHT, CERULEAN_CITY_WIDTH ; dimensions (y, x) + dw CeruleanCityBlocks, CeruleanCityTexts, CeruleanCityScript ; blocks, texts, scripts + db NORTH | SOUTH | WEST | EAST ; connections + + ; connections data + + db ROUTE_24 + dw Route24Blocks + (ROUTE_24_HEIGHT - 3) * ROUTE_24_WIDTH ; connection strip location + dw $C6EB + 5 ; current map position + db ROUTE_24_WIDTH, ROUTE_24_WIDTH ; bigness, width + db (ROUTE_24_HEIGHT * 2) - 1, (5 * -2) ; alignments (y, x) + dw $C6E9 + ROUTE_24_HEIGHT * (ROUTE_24_WIDTH + 6) ; window + + db ROUTE_5 + dw Route5Blocks ; connection strip location + dw $C6EB + (CERULEAN_CITY_HEIGHT + 3) * (CERULEAN_CITY_WIDTH + 6) + 5 ; current map position + db ROUTE_5_WIDTH, ROUTE_5_WIDTH ; bigness, width + db 0, (5 * -2) ; alignments (y, x) + dw $C6EF + ROUTE_5_WIDTH ; window + + db ROUTE_4 + dw Route4Blocks - 3 + (ROUTE_4_WIDTH) ; connection strip location + dw $C6E8 + (CERULEAN_CITY_WIDTH + 6) * (4 + 3) ; current map position + db ROUTE_4_HEIGHT, ROUTE_4_WIDTH ; bigness, width + db (4 * -2), (ROUTE_4_WIDTH * 2) - 1 ; alignments (y, x) + dw $C6EE + 2 * ROUTE_4_WIDTH ; window + + db ROUTE_9 + dw Route9Blocks + (ROUTE_9_WIDTH * 0) ; connection strip location + dw $C6E5 + (CERULEAN_CITY_WIDTH + 6) * (4 + 4) ; current map position + db ROUTE_9_HEIGHT, ROUTE_9_WIDTH ; bigness, width + db (4 * -2), 0 ; alignments (y, x) + dw $C6EF + ROUTE_9_WIDTH ; window + + ; end connections data + + dw CeruleanCityObject ; objects + +CeruleanCityObject: ; 0x18786 (size=170) + db $f ; border tile + + db $a ; warps + db $b, $1b, $0, TRASHED_HOUSE + db $f, $d, $0, CERULEAN_HOUSE + db $11, $13, $0, CERULEAN_POKECENTER + db $13, $1e, $0, CERULEAN_GYM + db $19, $d, $0, BIKE_SHOP + db $19, $19, $0, CERULEAN_MART + db $b, $4, $0, UNKNOWN_DUNGEON_1 + db $9, $1b, $2, TRASHED_HOUSE + db $b, $9, $1, CERULEAN_HOUSE_3 + db $9, $9, $0, CERULEAN_HOUSE_3 + + db $6 ; signs + db $13, $17, $c ; CeruleanCityText12 + db $1d, $11, $d ; CeruleanCityText13 + db $19, $1a, $e ; CeruleanCityText14 + db $11, $14, $f ; CeruleanCityText15 + db $19, $b, $10 ; CeruleanCityText16 + db $15, $1b, $11 ; CeruleanCityText17 + + db $b ; people + db SPRITE_BLUE, $2 + 4, $14 + 4, $ff, $d0, $1 ; person + db SPRITE_ROCKET, $8 + 4, $1e + 4, $ff, $ff, $42, ROCKET + $C8, $5 ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $14 + 4, $1f + 4, $ff, $d0, $3 ; person + db SPRITE_BLACK_HAIR_BOY_2, $12 + 4, $f + 4, $fe, $1, $4 ; person + db SPRITE_BLACK_HAIR_BOY_2, $15 + 4, $9 + 4, $fe, $2, $5 ; person + db SPRITE_GUARD, $c + 4, $1c + 4, $ff, $d0, $6 ; person + db SPRITE_LASS, $1a + 4, $1d + 4, $ff, $d2, $7 ; person + db SPRITE_SLOWBRO, $1a + 4, $1c + 4, $ff, $d0, $8 ; person + db SPRITE_LASS, $1b + 4, $9 + 4, $fe, $2, $9 ; person + db SPRITE_BLACK_HAIR_BOY_2, $c + 4, $4 + 4, $ff, $d0, $a ; person + db SPRITE_GUARD, $c + 4, $1b + 4, $ff, $d0, $b ; person + + ; warp-to + EVENT_DISP $14, $b, $1b ; TRASHED_HOUSE + EVENT_DISP $14, $f, $d ; CERULEAN_HOUSE + EVENT_DISP $14, $11, $13 ; CERULEAN_POKECENTER + EVENT_DISP $14, $13, $1e ; CERULEAN_GYM + EVENT_DISP $14, $19, $d ; BIKE_SHOP + EVENT_DISP $14, $19, $19 ; CERULEAN_MART + EVENT_DISP $14, $b, $4 ; UNKNOWN_DUNGEON_1 + EVENT_DISP $14, $9, $1b ; TRASHED_HOUSE + EVENT_DISP $14, $b, $9 ; CERULEAN_HOUSE_3 + EVENT_DISP $14, $9, $9 ; CERULEAN_HOUSE_3 + +CeruleanCityBlocks: ; 0x18830 360 + INCBIN "maps/ceruleancity.blk" + +VermilionCity_h: ; 0x18998 to 0x189ba (34 bytes) (bank=6) (id=5) + db $00 ; tileset + db VERMILION_CITY_HEIGHT, VERMILION_CITY_WIDTH ; dimensions (y, x) + dw VermilionCityBlocks, VermilionCityTexts, VermilionCityScript ; blocks, texts, scripts + db NORTH | EAST ; connections + + ; connections data + + db ROUTE_6 + dw Route6Blocks + (ROUTE_6_HEIGHT - 3) * ROUTE_6_WIDTH ; connection strip location + dw $C6EB + 5 ; current map position + db ROUTE_6_WIDTH, ROUTE_6_WIDTH ; bigness, width + db (ROUTE_6_HEIGHT * 2) - 1, (5 * -2) ; alignments (y, x) + dw $C6E9 + ROUTE_6_HEIGHT * (ROUTE_6_WIDTH + 6) ; window + + db ROUTE_11 + dw Route11Blocks + (ROUTE_11_WIDTH * 0) ; connection strip location + dw $C6E5 + (VERMILION_CITY_WIDTH + 6) * (4 + 4) ; current map position + db ROUTE_11_HEIGHT, ROUTE_11_WIDTH ; bigness, width + db (4 * -2), 0 ; alignments (y, x) + dw $C6EF + ROUTE_11_WIDTH ; window + + ; end connections data + + dw VermilionCityObject ; objects + +VermilionCityObject: ; 0x189ba (size=133) + db $43 ; border tile + + db $9 ; warps + db $3, $b, $0, VERMILION_POKECENTER + db $d, $9, $0, POKEMON_FAN_CLUB + db $d, $17, $0, VERMILION_MART + db $13, $c, $0, VERMILION_GYM + db $13, $17, $0, VERMILION_HOUSE_1 + db $1f, $12, $0, VERMILION_DOCK + db $1f, $13, $0, VERMILION_DOCK + db $d, $f, $0, VERMILION_HOUSE_3 + db $3, $7, $0, VERMILION_HOUSE_2 + + db $7 ; signs + db $3, $1b, $7 ; VermilionCityText7 + db $d, $25, $8 ; VermilionCityText8 + db $d, $18, $9 ; VermilionCityText9 + db $3, $c, $a ; VermilionCityText10 + db $d, $7, $b ; VermilionCityText11 + db $13, $7, $c ; VermilionCityText12 + db $f, $1d, $d ; VermilionCityText13 + + db $6 ; people + db SPRITE_FOULARD_WOMAN, $7 + 4, $13 + 4, $fe, $2, $1 ; person + db SPRITE_GAMBLER, $6 + 4, $e + 4, $ff, $ff, $2 ; person + db SPRITE_SAILOR, $1e + 4, $13 + 4, $ff, $d1, $3 ; person + db SPRITE_GAMBLER, $7 + 4, $1e + 4, $ff, $ff, $4 ; person + db SPRITE_SLOWBRO, $9 + 4, $1d + 4, $fe, $1, $5 ; person + db SPRITE_SAILOR, $1b + 4, $19 + 4, $fe, $2, $6 ; person + + ; warp-to + EVENT_DISP $14, $3, $b ; VERMILION_POKECENTER + EVENT_DISP $14, $d, $9 ; POKEMON_FAN_CLUB + EVENT_DISP $14, $d, $17 ; VERMILION_MART + EVENT_DISP $14, $13, $c ; VERMILION_GYM + EVENT_DISP $14, $13, $17 ; VERMILION_HOUSE_1 + EVENT_DISP $14, $1f, $12 ; VERMILION_DOCK + EVENT_DISP $14, $1f, $13 ; VERMILION_DOCK + EVENT_DISP $14, $d, $f ; VERMILION_HOUSE_3 + EVENT_DISP $14, $3, $7 ; VERMILION_HOUSE_2 + +VermilionCityBlocks: ; 0x18a3f 360 + INCBIN "maps/vermilioncity.blk" + +FuchsiaCity_h: ; 0x18ba7 to 0x18bd4 (45 bytes) (bank=6) (id=7) + db $00 ; tileset + db FUCHSIA_CITY_HEIGHT, FUCHSIA_CITY_WIDTH ; dimensions (y, x) + dw FuchsiaCityBlocks, FuchsiaCityTexts, FuchsiaCityScript ; blocks, texts, scripts + db SOUTH | WEST | EAST ; connections + + ; connections data + + db ROUTE_19 + dw Route19Blocks ; connection strip location + dw $C6EB + (FUCHSIA_CITY_HEIGHT + 3) * (FUCHSIA_CITY_WIDTH + 6) + 5 ; current map position + db ROUTE_19_WIDTH, ROUTE_19_WIDTH ; bigness, width + db 0, (5 * -2) ; alignments (y, x) + dw $C6EF + ROUTE_19_WIDTH ; window + + db ROUTE_18 + dw Route18Blocks - 3 + (ROUTE_18_WIDTH) ; connection strip location + dw $C6E8 + (FUCHSIA_CITY_WIDTH + 6) * (4 + 3) ; current map position + db ROUTE_18_HEIGHT, ROUTE_18_WIDTH ; bigness, width + db (4 * -2), (ROUTE_18_WIDTH * 2) - 1 ; alignments (y, x) + dw $C6EE + 2 * ROUTE_18_WIDTH ; window + + db ROUTE_15 + dw Route15Blocks + (ROUTE_15_WIDTH * 0) ; connection strip location + dw $C6E5 + (FUCHSIA_CITY_WIDTH + 6) * (4 + 4) ; current map position + db ROUTE_15_HEIGHT, ROUTE_15_WIDTH ; bigness, width + db (4 * -2), 0 ; alignments (y, x) + dw $C6EF + ROUTE_15_WIDTH ; window + + ; end connections data + + dw FuchsiaCityObject ; objects + +FuchsiaCityObject: ; 0x18bd4 (size=178) + db $f ; border tile + + db $9 ; warps + db $d, $5, $0, FUCHSIA_MART + db $1b, $b, $0, FUCHSIA_HOUSE_1 + db $1b, $13, $0, FUCHSIA_POKECENTER + db $1b, $1b, $0, FUCHSIA_HOUSE_2 + db $3, $12, $0, SAFARIZONEENTRANCE + db $1b, $5, $0, FUCHSIA_GYM + db $d, $16, $0, FUCHSIAMEETINGROOM + db $1b, $1f, $1, FUCHSIA_HOUSE_3 + db $18, $1f, $0, FUCHSIA_HOUSE_3 + + db $e ; signs + db $17, $f, $b ; FuchsiaCityText11 + db $f, $19, $c ; FuchsiaCityText12 + db $5, $11, $d ; FuchsiaCityText13 + db $d, $6, $e ; FuchsiaCityText14 + db $1b, $14, $f ; FuchsiaCityText15 + db $1d, $1b, $10 ; FuchsiaCityText16 + db $f, $15, $11 ; FuchsiaCityText17 + db $1d, $5, $12 ; FuchsiaCityText18 + db $7, $21, $13 ; FuchsiaCityText19 + db $7, $1b, $14 ; FuchsiaCityText20 + db $7, $d, $15 ; FuchsiaCityText21 + db $d, $1f, $16 ; FuchsiaCityText22 + db $f, $d, $17 ; FuchsiaCityText23 + db $7, $7, $18 ; FuchsiaCityText24 + + db $a ; people + db SPRITE_BUG_CATCHER, $c + 4, $a + 4, $fe, $2, $1 ; person + db SPRITE_GAMBLER, $11 + 4, $1c + 4, $fe, $2, $2 ; person + db SPRITE_FISHER2, $e + 4, $1e + 4, $ff, $d0, $3 ; person + db SPRITE_BUG_CATCHER, $8 + 4, $18 + 4, $ff, $d1, $4 ; person + db SPRITE_CLEFAIRY, $5 + 4, $1f + 4, $fe, $0, $5 ; person + db SPRITE_BALL, $6 + 4, $19 + 4, $ff, $ff, $6 ; person + db SPRITE_SLOWBRO, $6 + 4, $c + 4, $fe, $2, $7 ; person + db SPRITE_SLOWBRO, $c + 4, $1e + 4, $fe, $2, $8 ; person + db SPRITE_SEEL, $11 + 4, $8 + 4, $fe, $0, $9 ; person + db SPRITE_OMANYTE, $5 + 4, $6 + 4, $ff, $ff, $a ; person + + ; warp-to + EVENT_DISP $14, $d, $5 ; FUCHSIA_MART + EVENT_DISP $14, $1b, $b ; FUCHSIA_HOUSE_1 + EVENT_DISP $14, $1b, $13 ; FUCHSIA_POKECENTER + EVENT_DISP $14, $1b, $1b ; FUCHSIA_HOUSE_2 + EVENT_DISP $14, $3, $12 ; SAFARIZONEENTRANCE + EVENT_DISP $14, $1b, $5 ; FUCHSIA_GYM + EVENT_DISP $14, $d, $16 ; FUCHSIAMEETINGROOM + EVENT_DISP $14, $1b, $1f ; FUCHSIA_HOUSE_3 + EVENT_DISP $14, $18, $1f ; FUCHSIA_HOUSE_3 + +FuchsiaCityBlocks: ; 0x18c86 360 + INCBIN "maps/fuchsiacity.blk" + +INCBIN "baserom.gbc",$18dee,$6d + +PalletTownScript: + ld a,[$D74B] + bit 4,a + jr z,.next\@ + ld hl,$D747 + set 6,[hl] +.next\@ + call $3C3C + ld hl,PalletTownScriptPointers + ld a,[$D5F1] + jp $3D97 +; 0x18e73 + +PalletTownScriptPointers: + dw PalletTownScript1,PalletTownScript2,PalletTownScript3,PalletTownScript4,PalletTownScript5,PalletTownScript6,PalletTownScript7 + +PalletTownScript1: + ld a,[$D747] + bit 0,a + ret nz + ld a,[W_YCOORD] + cp 1 ; is player near north exit? + ret nz + xor a + ld [$FFB4],a + ld a,4 + ld [$D528],a + ld a,$FF + call $23B1 ; stop music + ld a,2 + ld c,a ; song bank + ld a,$DB ; “oak appears” music + call $23A1 ; plays music + ld a,$FC + ld [$CD6B],a + ld hl,$D74B + set 7,[hl] + + ; trigger the next script + ld a,1 + ld [$D5F1],a + ret + +PalletTownScript2: + xor a + ld [$CF0D],a + ld a,1 + ld [$FF8C],a + call $2920 + ld a,$FF + ld [$CD6B],a + ld a,0 + ld [$CC4D],a + ld a,$15 + call Predef + + ; trigger the next script + ld a,2 + ld [$D5F1],a + ret + +PalletTownScript3: + ld a,1 + ld [$FF8C],a + ld a,4 + ld [$FF8D],a + call $34A6 + call Delay3 + ld a,1 + ld [W_YCOORD],a + ld a,1 + ld [$FF9B],a + ld a,1 + swap a + ld [$FF95],a + ld a,$22 + call Predef + ld hl,$FF95 + dec [hl] + ld a,$20 + call Predef ; load Oak’s movement into $CC97 + ld de,$CC97 + ld a,1 ; oak + ld [$FF8C],a + call MoveSprite + ld a,$FF + ld [$CD6B],a + + ; trigger the next script + ld a,3 + ld [$D5F1],a + ret + +PalletTownScript4: + ld a,[$D730] + bit 0,a + ret nz + xor a + ld [$C109],a + ld a,1 + ld [$CF0D],a + ld a,$FC + ld [$CD6B],a + ld a,1 + ld [$FF8C],a + call $2920 + ld a,$FF + ld [$CD6B],a + ld a,1 + ld [$CF13],a + xor a + ld [$CF10],a + ld a,1 + ld [$CC57],a + ld a,[$FFB8] + ld [$CC58],a + + ; trigger the next script + ld a,4 + ld [$D5F1],a + ret + +PalletTownScript5: + ld a,[$CC57] + and a + ret nz + + ; trigger the next script + ld a,5 + ld [$D5F1],a + ret + +PalletTownScript6: + ld a,[$D74A] + bit 2,a + jr nz,.next\@ + and 3 + cp 3 + jr nz,.next\@ + ld hl,$D74A + set 2,[hl] + ld a,$27 + ld [$CC4D],a + ld a,$11 + call Predef + ld a,$28 + ld [$CC4D],a + ld a,$15 + jp Predef +.next\@ + ld a,[$D74B] + bit 4,a + ret z + ld hl,$D74B + set 6,[hl] +PalletTownScript7: + ret + +PalletTownTexts: ; 0x18f88 + dw PalletTownText1,PalletTownText2,PalletTownText3,PalletTownText4,PalletTownText5,PalletTownText6,PalletTownText7 + +PalletTownText1: ; 4F96 0x18f96 + db 8 + ld a,[$CF0D] + and a + jr nz,.next\@ + ld a,1 + ld [$CC3C],a + ld hl,OakAppearsText + jr .done\@ +.next\@ + ld hl,OakWalksUpText +.done\@ + call PrintText + jp TextScriptEnd + +OakAppearsText: + TX_FAR _OakAppearsText + db 8 + ld c,10 + call DelayFrames + xor a + ld [$CD4F],a + ld [$CD50],a + ld a,$4C + call Predef ; display ! over head + ld a,4 + ld [$D528],a + jp TextScriptEnd + +OakWalksUpText: + TX_FAR _OakWalksUpText + db "@" + +PalletTownText2: ; 0x18fd3 girl + TX_FAR _PalletTownText2 ; dc 42 29 pointing to 0xa42dc + db "@" +; 0x18fd8 + +PalletTownText3: ; 0x18fd8 fat man + TX_FAR _PalletTownText3 + db "@" +; 0x18fdd + +PalletTownText4: ; 0x18fdd sign by lab + TX_FAR _PalletTownText4 + db "@" +; 0x18fe2 + +PalletTownText5: ; 0x18fe2 sign by fence + TX_FAR _PalletTownText5 + db "@" +; 0x18fe7 + +PalletTownText6: ; 0x18fe7 sign by Red’s house + TX_FAR _PalletTownText6 + db "@" +; 0x18fec + +PalletTownText7: ; 0x18fec sign by Blue’s house + TX_FAR _PalletTownText7 + db "@" + +ViridianCityScript: ; 0x18ff1 + call $3c3c + ld hl, ViridianCityScripts + ld a, [$d5f4] + jp $3d97 +; 0x18ffd + +ViridianCityScripts: ; 0x18ffd + dw ViridianCityScript0 + +INCBIN "baserom.gbc",$18fff,$6 + +ViridianCityScript0: ; 0x19005 + call $500b + jp $503d +; 0x1900b + +INCBIN "baserom.gbc",$1900b,$d9 + +ViridianCityTexts: ; 0x190e4 + dw ViridianCityText1, ViridianCityText2, ViridianCityText3, ViridianCityText4, ViridianCityText5, ViridianCityText6, ViridianCityText7, ViridianCityText8, ViridianCityText9, ViridianCityText10, ViridianCityText11, ViridianCityText12, ViridianCityText13, ViridianCityText14, ViridianCityText15 + +ViridianCityText1: ; 0x19102 + TX_FAR _ViridianCityText1 + db $50 + +ViridianCityText2: ; 0x19107 + db $08 ; asm + ld a, [$d356] + cp $7f + ld hl, UnnamedText_19127 + jr z, .asm_ae9fe ; 0x19110 + ld a, [$d751] + bit 1, a + jr nz, .asm_ae9fe ; 0x19117 + ld hl, UnnamedText_19122 +.asm_ae9fe ; 0x1911c + call PrintText + jp TextScriptEnd + +UnnamedText_19122: ; 0x19122 + TX_FAR _UnnamedText_19122 + db $50 +; 0x19122 + 5 bytes + +UnnamedText_19127: ; 0x19127 + TX_FAR _UnnamedText_19127 + db $50 +; 0x19127 + 5 bytes + +ViridianCityText3: ; 0x1912c + db $08 ; asm + ld hl, UnnamedText_1914d + call PrintText + call $35ec + ld a, [$cc26] + and a + jr nz, .asm_6dfea ; 0x1913a + ld hl, UnnamedText_19157 + call PrintText + jr .asm_d611f ; 0x19142 +.asm_6dfea ; 0x19144 + ld hl, UnnamedText_19152 + call PrintText +.asm_d611f ; 0x1914a + jp TextScriptEnd + +UnnamedText_1914d: ; 0x1914d + TX_FAR _UnnamedText_1914d + db $50 +; 0x1914d + 5 bytes + +UnnamedText_19152: ; 0x19152 + TX_FAR _UnnamedText_19152 + db $50 +; 0x19152 + 5 bytes + +UnnamedText_19157: ; 0x19157 + TX_FAR _UnnamedText_19157 + db $50 +; 0x19157 + 5 bytes + +ViridianCityText4: ; 0x1915c + db $08 ; asm + ld a, [$d74b] + bit 5, a + jr nz, .asm_83894 ; 0x19162 + ld hl, UnnamedText_19175 + call PrintText + jr .asm_700a6 ; 0x1916a +.asm_83894 ; 0x1916c + ld hl, UnnamedText_1917a + call PrintText +.asm_700a6 ; 0x19172 + jp TextScriptEnd + +UnnamedText_19175: ; 0x19175 + TX_FAR _UnnamedText_19175 + db $50 +; 0x19175 + 5 bytes + +UnnamedText_1917a: ; 0x1917a + TX_FAR _UnnamedText_1917a + db $50 +; 0x1917a + 5 bytes + +ViridianCityText5: ; 0x1917f + db $08 ; asm + ld hl, UnnamedText_19191 + call PrintText + call $50cf + ld a, $3 + ld [$d5f4], a + jp TextScriptEnd + +UnnamedText_19191: ; 0x19191 + TX_FAR _UnnamedText_19191 + db $50 +; 0x19191 + 5 bytes + +ViridianCityText6: ; 0x19196 + db $08 ; asm + ld a, [$d74c] + bit 1, a + jr nz, .asm_4e5a0 ; 0x1919c + ld hl, UnnamedText_191ca + call PrintText + ld bc, (TM_42 << 8) | 1 + call GiveItem + jr nc, .asm_b655e ; 0x191aa + ld hl, ReceivedTM42Text + call PrintText + ld hl, $d74c + set 1, [hl] + jr .asm_3c73c ; 0x191b7 +.asm_b655e ; 0x191b9 + ld hl, UnnamedText_191da + call PrintText + jr .asm_3c73c ; 0x191bf +.asm_4e5a0 ; 0x191c1 + ld hl, UnnamedText_191d5 + call PrintText +.asm_3c73c ; 0x191c7 + jp TextScriptEnd + +UnnamedText_191ca: ; 0x191ca + TX_FAR _UnnamedText_191ca + db $50 +; 0x191ca + 5 bytes + +ReceivedTM42Text: ; 0x191cf + TX_FAR _ReceivedTM42Text ; 0xa469a + db $10, $50 +; 0x191cf + 6 bytes = 0x191d5 + +UnnamedText_191d5: ; 0x191d5 + TX_FAR _UnnamedText_191d5 + db $50 +; 0x191d5 + 5 bytes + +UnnamedText_191da: ; 0x191da + TX_FAR _UnnamedText_191da + db $50 +; 0x191da + 5 bytes + +ViridianCityText7: ; 0x191df + db $08 ; asm + ld hl, UnnamedText_1920a + call PrintText + ld c, $2 + call $3739 + call $35ec + ld a, [$cc26] + and a + jr z, .asm_42f68 ; 0x191f2 + ld hl, UnnamedText_1920f + call PrintText + ld a, $1 + ld [$d5f4], a + jr .asm_2413a ; 0x191ff +.asm_42f68 ; 0x19201 + ld hl, UnnamedText_19214 + call PrintText +.asm_2413a ; 0x19207 + jp TextScriptEnd + +UnnamedText_1920a: ; 0x1920a + TX_FAR _UnnamedText_1920a + db $50 +; 0x1920a + 5 bytes + +UnnamedText_1920f: ; 0x1920f + TX_FAR _UnnamedText_1920f + db $50 +; 0x1920f + 5 bytes + +UnnamedText_19214: ; 0x19214 + TX_FAR _UnnamedText_19214 + db $50 +; 0x19214 + 5 bytes + +ViridianCityText15: ; 0x19219 + TX_FAR _UnnamedText_19219 + db $50 +; 0x19219 + 5 bytes + +ViridianCityText8: ; 0x1921e + TX_FAR _ViridianCityText8 + db $50 + +ViridianCityText9: ; 0x19223 + TX_FAR _ViridianCityText9 + db $50 + +ViridianCityText10: ; 0x19228 + TX_FAR _ViridianCityText10 + db $50 + +ViridianCityText13: ; 0x1922d + TX_FAR _ViridianCityText13 + db $50 + +ViridianCityText14: + +UnnamedText_19232: ; 0x19232 + TX_FAR _UnnamedText_19232 + db $50 +; 0x19232 + 5 bytes + +PewterCityScript: ; 0x19237 + call $3c3c + ld hl, PewterCityScripts + ld a, [$d5f7] + jp $3d97 +; 0x19243 + +PewterCityScripts: ; 0x19243 + dw PewterCityScript0 + +INCBIN "baserom.gbc",$19245,$c + +PewterCityScript0: ; 0x19251 + xor a + ld [$d619], a + ld hl, $d754 + res 0, [hl] + call $525e + ret +; 0x1925e + +INCBIN "baserom.gbc",$1925e,$12d + +PewterCityTexts: ; 0x1938b + dw PewterCityText1, PewterCityText2, PewterCityText3, PewterCityText4, PewterCityText5, PewterCityText6, PewterCityText7, PewterCityText8, PewterCityText9, PewterCityText10, PewterCityText11, PewterCityText12, PewterCityText13, PewterCityText14 + +PewterCityText1: ; 0x193a7 + TX_FAR _PewterCityText1 + db $50 + +PewterCityText2: ; 0x193ac + TX_FAR _PewterCityText2 + db $50 + +PewterCityText3: ; 0x193b1 + db $08 ; asm + ld hl, UnnamedText_193f1 + call PrintText + call $35ec + ld a, [$cc26] + and a + jr nz, .asm_f46a9 ; 0x193bf + ld hl, UnnamedText_193f6 + call PrintText + jr .asm_ac429 ; 0x193c7 +.asm_f46a9 ; 0x193c9 + ld hl, UnnamedText_193fb + call PrintText + xor a + ldh [$b3], a + ldh [$b4], a + ld [$cf10], a + ld a, $2 + ld [$cc57], a + ldh a, [$b8] + ld [$cc58], a + ld a, $3 + ld [$cf13], a + call $32f4 + ld a, $1 + ld [$d5f7], a +.asm_ac429 ; 0x193ee + jp TextScriptEnd + +UnnamedText_193f1: ; 0x193f1 + TX_FAR _UnnamedText_193f1 + db $50 +; 0x193f1 + 5 bytes + +UnnamedText_193f6: ; 0x193f6 + TX_FAR _UnnamedText_193f6 + db $50 +; 0x193f6 + 5 bytes + +UnnamedText_193fb: ; 0x193fb + TX_FAR _UnnamedText_193fb + db $50 +; 0x193fb + 5 bytes + +PewterCityText13: + +UnnamedText_19400: ; 0x19400 + TX_FAR _UnnamedText_19400 + db $50 +; 0x19400 + 5 bytes + +PewterCityText4: ; 0x19405 + db $8 + ld hl, UnnamedText_19427 + call PrintText + call $35ec + ld a, [$cc26] + cp $0 + jr nz, .asm_e4603 + ld hl, UnnamedText_1942c + call PrintText + jr .asm_e4604 ; 0x1941c $6 +.asm_e4603 + ld hl, UnnamedText_19431 + call PrintText +.asm_e4604 ; 0x19424 + jp TextScriptEnd +; 0x19427 + +UnnamedText_19427: ; 0x19427 + TX_FAR _UnnamedText_19427 + db $50 +; 0x19427 + 5 bytes + +UnnamedText_1942c: ; 0x1942c + TX_FAR _UnnamedText_1942c + db $50 +; 0x1942c + 5 bytes + +UnnamedText_19431: ; 0x19431 + TX_FAR _UnnamedText_19431 + db $50 +; 0x19431 + 5 bytes + +PewterCityText5: ; 0x19436 + db $08 ; asm + ld hl, UnnamedText_1945d + call PrintText + xor a + ldh [$b4], a + ld [$cf10], a + ld a, $3 + ld [$cc57], a + ldh a, [$b8] + ld [$cc58], a + ld a, $5 + ld [$cf13], a + call $32f4 + ld a, $4 + ld [$d5f7], a + jp TextScriptEnd + +UnnamedText_1945d: ; 0x1945d + TX_FAR _UnnamedText_1945d + db $50 +; 0x1945d + 5 bytes + +PewterCityText14: ; 0x19462 + +UnnamedText_19462: ; 0x19462 + TX_FAR _UnnamedText_19462 + db $50 +; 0x19462 + 5 bytes + +PewterCityText6: ; 0x19467 + TX_FAR _PewterCityText6 + db $50 + +PewterCityText7: ; 0x1946c + TX_FAR _PewterCityText7 + db $50 + +PewterCityText10: ; 0x19471 + TX_FAR _PewterCityText10 + db $50 + +PewterCityText11: ; 0x19476 + TX_FAR _PewterCityText11 + db $50 + +PewterCityText12: ; 0x1947b + TX_FAR _PewterCityText12 + db $50 + +CeruleanCityScript: ; 0x19480 + call $3c3c + ld hl, CeruleanCityScripts + ld a, [$d60f] + jp $3d97 +; 0x1948c + +INCBIN "baserom.gbc",$1948c,$1949d - $1948c + +CeruleanCityScripts: ; 0x1949d + dw CeruleanCityScript0, CeruleanCityScript1, CeruleanCityScript2, CeruleanCityScript3 + +INCBIN "baserom.gbc",$194a5,$23 + +CeruleanCityScript0: ; 0x194c8 + ld a, [$d75b] + bit 7, a + jr nz, .asm_194f7 ; 0x194cd $28 + ld hl, $554f + call $34bf + jr nc, .asm_194f7 ; 0x194d5 $20 + ld a, [$cd3d] + cp $1 + ld a, $8 + ld b, $0 + jr nz, .asm_194e6 ; 0x194e0 $4 + ld a, $4 + ld b, $4 +.asm_194e6 + ld [$d528], a + ld a, b + ld [$c129], a + call Delay3 + ld a, $2 + ld [$ff00+$8c], a + jp $2920 +.asm_194f7 + ld a, [$d75a] + bit 0, a + ret nz + ld hl, $5554 + call $34bf + ret nc + ld a, [$d700] + and a + jr z, .asm_19512 ; 0x19508 $8 + ld a, $ff + ld [$c0ee], a + call $23b1 +.asm_19512 + ld c, $2 + ld a, $de + call $23a1 + xor a + ld [$ff00+$b4], a + ld a, $f0 + ld [$cd6b], a + ld a, [$d362] + cp $14 + jr z, .asm_19535 ; 0x19526 $d + ld a, $1 + ld [$ff00+$8c], a + ld a, $5 + ld [$ff00+$8b], a + call $3500 + ld [hl], $19 +.asm_19535 + ld a, $5 + ld [$cc4d], a + ld a, $15 + call Predef + ld de, $5559 + ld a, $1 + ld [$ff00+$8c], a + call $363a + ld a, $1 + ld [$d60f], a + ret +; 0x1954f + +INCBIN "baserom.gbc",$1954f,$19567 - $1954f + +CeruleanCityScript1: ; 0x19567 + ld a, [$d730] + bit 0, a + ret nz + xor a + ld [$cd6b], a + ld a, $1 + ld [$ff00+$8c], a + call $2920 + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, $566d + ld de, $5672 + call $3354 + ld a, $e1 + ld [$d059], a + + ; select which team to use during the encounter + ld a, [W_RIVALSTARTER] + cp SQUIRTLE + jr nz, .NotSquirtle\@ ; 0x19592 $4 + ld a, $7 + jr .done\@ +.NotSquirtle\@ + cp BULBASAUR + jr nz, .Charmander\@ ; 0x1959a $4 + ld a, $8 + jr .done\@ +.Charmander\@ + ld a, $9 +.done\@ + ld [W_TRAINERNO], a + + xor a + ld [$ff00+$b4], a + call $555d + ld a, $2 + ld [$d60f], a + ret +; 0x195b1 + +CeruleanCityScript2: ; 0x195b1 + ld a, [$d057] + cp $ff + jp z, $548c + call $555d + ld a, $f0 + ld [$cd6b], a + ld hl, $d75a + set 0, [hl] + ld a, $1 + ld [$ff00+$8c], a + call $2920 + ld a, $ff + ld [$c0ee], a + call $23b1 + ld b, $2 + ld hl, $5b47 + call Bankswitch + ld a, $1 + ld [$ff00+$8c], a + call $3541 + ld a, [$d362] + cp $14 + jr nz, .asm_195f0 ; 0x195e9 $5 + ld de, $5608 + jr .asm_195f3 ; 0x195ee $3 +.asm_195f0 + ld de, $5600 +.asm_195f3 + ld a, $1 + ld [$ff00+$8c], a + call $363a + ld a, $3 + ld [$d60f], a + ret +; 0x19600 + +INCBIN "baserom.gbc",$19600,$19610 - $19600 + +CeruleanCityScript3: ; 0x19610 + ld a, [$d730] + bit 0, a + ret nz + ld a, $5 + ld [$cc4d], a + ld a, $11 + call Predef + xor a + ld [$cd6b], a + call $2307 + ld a, $0 + ld [$d60f], a + ret +; 0x1962d + +CeruleanCityTexts: ; 0x1962d + dw CeruleanCityText1, CeruleanCityText2, CeruleanCityText3, CeruleanCityText4, CeruleanCityText5, CeruleanCityText6, CeruleanCityText7, CeruleanCityText8, CeruleanCityText9, CeruleanCityText10, CeruleanCityText11, CeruleanCityText12, CeruleanCityText13, CeruleanCityText14, CeruleanCityText15, CeruleanCityText16, CeruleanCityText17 + +CeruleanCityText1: ; 0x1964f + db $08 ; asm + ld a, [$d75a] + bit 0, a + jr z, .asm_a89f9 ; 0x19655 + ld hl, UnnamedText_19677 + call PrintText + jr .asm_815c6 ; 0x1965d +.asm_a89f9 ; 0x1965f + ld hl, UnnamedText_19668 + call PrintText +.asm_815c6 ; 0x19665 + jp TextScriptEnd + +UnnamedText_19668: ; 0x19668 + TX_FAR _UnnamedText_19668 + db $50 +; 0x19668 + 5 bytes + +UnnamedText_1966d: ; 0x1966d + TX_FAR _UnnamedText_1966d + db $50 +; 0x1966d + 5 bytes + +UnnamedText_19672: ; 0x19672 + TX_FAR _UnnamedText_19672 + db $50 +; 0x19672 + 5 bytes + +UnnamedText_19677: ; 0x19677 + TX_FAR _UnnamedText_19677 + db $50 +; 0x19677 + 5 bytes + +CeruleanCityText2: ; 0x1967c + db $8 + ld a, [$d75b] + bit 7, a + jr nz, .asm_4ca20 ; 0x19682 $29 + ld hl, UnnamedText_196d9 + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, $56ee + ld de, $56ee + call $3354 + ld a, [$ff00+$8c] + ld [$cf13], a + call $336a + call $32d7 + ld a, $4 + ld [$d60f], a + jp TextScriptEnd +.asm_4ca20 ; 0x196ad + ld hl, UnnamedText_196f3 + call PrintText + ld bc, $e401 + call GiveItem + jr c, .asm_8bbbd ; 0x196b9 $8 + ld hl, UnnamedText_196e9 + call PrintText + jr .asm_e4e6f ; 0x196c1 $13 +.asm_8bbbd ; 0x196c3 + ld a, $1 + ld [$cc3c], a + ld hl, UnnamedText_196de + call PrintText + ld b, $1d + ld hl, Unnamed_ASM_74872 + call Bankswitch +.asm_e4e6f ; 0x196d6 + jp TextScriptEnd +; 0x196d9 + +UnnamedText_196d9: ; 0x196d9 + TX_FAR _UnnamedText_196d9 + db $50 +; 0x196d9 + 5 bytes + +UnnamedText_196de: ; 0x196de + TX_FAR ReceivedTM28Text ; 0xa4f82 + db $0B + TX_FAR UnnamedText_a4f96 ; 0xa4f96 + db $0D, $50 +; 0x196e9 + +UnnamedText_196e9: ; 0x196e9 + TX_FAR _UnnamedText_196e9 + db $50 +; 0x196e9 + 5 bytes + +UnnamedText_196ee: ; 0x196ee + TX_FAR _UnnamedText_196ee + db $50 +; 0x196ee + 5 bytes + +UnnamedText_196f3: ; 0x196f3 + TX_FAR _UnnamedText_196f3 + db $50 +; 0x196f3 + 5 bytes + +CeruleanCityText3: ; 0x196f8 + TX_FAR _CeruleanCityText3 + db $50 + +CeruleanCityText4: ; 0x196fd + TX_FAR _CeruleanCityText4 + db $50 + +CeruleanCityText5: ; 0x19702 + TX_FAR _CeruleanCityText5 + db $50 + +CeruleanCityText11: +CeruleanCityText6: ; 0x19707 + TX_FAR _CeruleanCityText6 + db $50 + +CeruleanCityText7: ; 0x1970c + db $08 ; asm + ldh a, [$d3] + cp $b4 + jr c, .asm_e9fc9 ; 0x19711 + ld hl, UnnamedText_19730 + call PrintText + jr .asm_d486e ; 0x19719 +.asm_e9fc9 ; 0x1971b + cp $64 + jr c, .asm_df99b ; 0x1971d + ld hl, UnnamedText_19735 + call PrintText + jr .asm_d486e ; 0x19725 +.asm_df99b ; 0x19727 + ld hl, UnnamedText_1973a + call PrintText +.asm_d486e ; 0x1972d + jp TextScriptEnd + +UnnamedText_19730: ; 0x19730 + TX_FAR _UnnamedText_19730 + db $50 +; 0x19730 + 5 bytes + +UnnamedText_19735: ; 0x19735 + TX_FAR _UnnamedText_19735 + db $50 +; 0x19735 + 5 bytes + +UnnamedText_1973a: ; 0x1973a + TX_FAR _UnnamedText_1973a + db $50 +; 0x1973a + 5 bytes + +CeruleanCityText8: ; 0x1973f + db $08 ; asm + ldh a, [$d3] + cp $b4 + jr c, .asm_e28da ; 0x19744 + ld hl, UnnamedText_1976f + call PrintText + jr .asm_f2f38 ; 0x1974c +.asm_e28da ; 0x1974e + cp $78 + jr c, .asm_15d08 ; 0x19750 + ld hl, UnnamedText_19774 + call PrintText + jr .asm_f2f38 ; 0x19758 +.asm_15d08 ; 0x1975a + cp $3c + jr c, .asm_d7fea ; 0x1975c + ld hl, UnnamedText_19779 + call PrintText + jr .asm_f2f38 ; 0x19764 +.asm_d7fea ; 0x19766 + ld hl, UnnamedText_1977e + call PrintText +.asm_f2f38 ; 0x1976c + jp TextScriptEnd + +UnnamedText_1976f: ; 0x1976f + TX_FAR _UnnamedText_1976f + db $50 +; 0x1976f + 5 bytes + +UnnamedText_19774: ; 0x19774 + TX_FAR _UnnamedText_19774 + db $50 +; 0x19774 + 5 bytes + +UnnamedText_19779: ; 0x19779 + TX_FAR _UnnamedText_19779 + db $50 +; 0x19779 + 5 bytes + +UnnamedText_1977e: ; 0x1977e + TX_FAR _UnnamedText_1977e + db $50 +; 0x1977e + 5 bytes + +CeruleanCityText9: ; 0x19783 + TX_FAR _CeruleanCityText9 + db $50 + +CeruleanCityText10: ; 0x19788 + TX_FAR _CeruleanCityText10 + db $50 + +CeruleanCityText12: ; 0x1978d + TX_FAR _CeruleanCityText12 + db $50 + +CeruleanCityText13: ; 0x19792 + TX_FAR _CeruleanCityText13 + db $50 + +CeruleanCityText16: ; 0x19797 + TX_FAR _CeruleanCityText16 + db $50 + +CeruleanCityText17: ; 0x1979c + TX_FAR _CeruleanCityText17 + db $50 + +VermilionCityScript: ; 0x197a1 + call $3c3c + ld hl, $d126 + bit 6, [hl] + res 6, [hl] + push hl + call nz, $57cb + pop hl + bit 5, [hl] + res 5, [hl] + call nz, VermilionCityScript_Unknown197c0 + ld hl, VermilionCityScripts + ld a, [$d62a] + jp $3d97 +; 0x197c0 + +VermilionCityScript_Unknown197c0: ; 0x197c0 +INCBIN "baserom.gbc",$197c0,$197dc - $197c0 + +VermilionCityScripts: ; 0x197dc + dw VermilionCityScript0, VermilionCityScript1 + +INCBIN "baserom.gbc",$197e0,$6 + +VermilionCityScript0: ; 0x197e6 + ld a, [$c109] + and a + ret nz + ld hl, $5823 + call $34bf + ret nc + xor a + ld [$ff00+$b4], a + ld [$cf0d], a + ld a, $3 + ld [$ff00+$8c], a + call $2920 + ld a, [$d803] + bit 2, a + jr nz, .asm_19810 ; 0x19804 $a + ld b, $3f + ld a, $1c + call Predef + ld a, b + and a + ret nz +.asm_19810 + ld a, $40 + ld [$ccd3], a + ld a, $1 + ld [$cd38], a + call $3486 + ld a, $1 + ld [$d62a], a + ret +; 0x19823 + +INCBIN "baserom.gbc",$19823,$1985f - $19823 + +VermilionCityScript1: ; 0x1985f + ld a, [$cd38] + and a + ret nz + ld c, $a + call $3739 + ld a, $0 + ld [$d62a], a + ret +; 0x1986f + +VermilionCityTexts: ; 0x1986f + dw VermilionCityText1, VermilionCityText2, VermilionCityText3, VermilionCityText4, VermilionCityText5, VermilionCityText6, VermilionCityText7, VermilionCityText8, VermilionCityText9, VermilionCityText10, VermilionCityText11, VermilionCityText12, VermilionCityText13 + +VermilionCityText1: ; 0x19889 + TX_FAR _VermilionCityText1 + db $50 + +VermilionCityText2: ; 0x1988e + db $08 ; asm + ld a, [$d803] + bit 2, a + jr nz, .asm_359bd ; 0x19894 + ld hl, UnnamedText_198a7 + call PrintText + jr .asm_735d9 ; 0x1989c +.asm_359bd ; 0x1989e + ld hl, UnnamedText_198ac + call PrintText +.asm_735d9 ; 0x198a4 + jp TextScriptEnd + +UnnamedText_198a7: ; 0x198a7 + TX_FAR _UnnamedText_198a7 + db $50 +; 0x198a7 + 5 bytes + +UnnamedText_198ac: ; 0x198ac + TX_FAR _UnnamedText_198ac + db $50 +; 0x198ac + 5 bytes + +VermilionCityText3: ; 0x198b1 + db $08 ; asm + ld a, [$d803] + bit 2, a + jr nz, .asm_3e0e9 ; 0x198b7 + ld a, [$c109] + cp $c + jr z, .asm_07af3 ; 0x198be + ld hl, $58ff + call $34bf + jr nc, .asm_57b73 ; 0x198c6 +.asm_07af3 ; 0x198c8 + ld hl, UnnamedText_19904 + call PrintText + jr .asm_79bd1 ; 0x198ce +.asm_57b73 ; 0x198d0 + ld hl, UnnamedText_19909 + call PrintText + ld b, $3f + ld a, $1c + call Predef + ld a, b + and a + jr nz, .asm_0419b ; 0x198df + ld hl, UnnamedText_19913 + call PrintText + jr .asm_79bd1 ; 0x198e7 +.asm_0419b ; 0x198e9 + ld hl, UnnamedText_1990e + call PrintText + ld a, $4 + ld [$d62a], a + jr .asm_79bd1 ; 0x198f4 +.asm_3e0e9 ; 0x198f6 + ld hl, UnnamedText_19918 + call PrintText +.asm_79bd1 ; 0x198fc + jp TextScriptEnd + +INCBIN "baserom.gbc",$198ff,$19904 - $198ff + +UnnamedText_19904: ; 0x19904 + TX_FAR _UnnamedText_19904 + db $50 +; 0x19904 + 5 bytes + +UnnamedText_19909: ; 0x19909 + TX_FAR _UnnamedText_19909 + db $50 +; 0x19909 + 5 bytes + +UnnamedText_1990e: ; 0x1990e + TX_FAR _UnnamedText_1990e + db $50 +; 0x1990e + 5 bytes + +UnnamedText_19913: ; 0x19913 + TX_FAR _UnnamedText_19913 + db $50 +; 0x19913 + 5 bytes + +UnnamedText_19918: ; 0x19918 + TX_FAR _UnnamedText_19918 + db $50 +; 0x19918 + 5 bytes + +VermilionCityText4: ; 0x1991d + TX_FAR _VermilionCityText4 + db $50 + +VermilionCityText5: ; 0x19922 + TX_FAR _VermilionCityText5 + db $08 ; asm + ld a, $6a + call $13d0 + call $3748 + ld hl, $5933 + ret + +VermilionCityText14: ; 0x19933 + TX_FAR _VermilionCityText14 + db $50 + +VermilionCityText6: ; 0x19938 + TX_FAR _VermilionCityText6 + db $50 + +VermilionCityText7: ; 0x1993d + TX_FAR _VermilionCityText7 + db $50 + +VermilionCityText8: ; 0x19942 + TX_FAR _VermilionCityText8 + db $50 + +VermilionCityText11: ; 0x19947 + TX_FAR _VermilionCityText11 + db $50 + +VermilionCityText12: ; 0x1994c + TX_FAR _VermilionCityText12 + db $50 + +VermilionCityText13: ; 0x19951 + TX_FAR _VermilionCityText13 + db $50 + +CeladonCityScript: ; 0x19956 + call $3c3c + ld hl, $d77e + res 0, [hl] + res 7, [hl] + ld hl, $d816 + res 7, [hl] + ret +; 0x19966 + +CeladonCityTexts: ; 0x19966 + dw CeladonCityText1, CeladonCityText2, CeladonCityText3, CeladonCityText4, CeladonCityText5, CeladonCityText6, CeladonCityText7, CeladonCityText8, CeladonCityText9, CeladonCityText10, CeladonCityText11, CeladonCityText12, CeladonCityText13, CeladonCityText14, CeladonCityText15, CeladonCityText16, CeladonCityText17, CeladonCityText18 + +CeladonCityText1: ; 0x1998a + TX_FAR _CeladonCityText1 + db $50 + +CeladonCityText2: ; 0x1998f + TX_FAR _CeladonCityText2 + db $50 + +CeladonCityText3: ; 0x19994 + TX_FAR _CeladonCityText3 + db $50 + +CeladonCityText4: ; 0x19999 + TX_FAR _CeladonCityText4 + db $50 + +CeladonCityText5: ; 0x1999e + db $08 ; asm + ld a, [$d777] + bit 0, a + jr nz, .asm_7053f ; 0x199a4 + ld hl, UnnamedText_199d2 + call PrintText + ld bc, (TM_41 << 8) | 1 + call GiveItem + jr c, .asm_890ec ; 0x199b2 + ld hl, UnnamedText_199e2 + call PrintText + jr .asm_c765a ; 0x199ba +.asm_890ec ; 0x199bc + ld hl, UnnamedText_199d7 + call PrintText + ld hl, $d777 + set 0, [hl] + jr .asm_c765a ; 0x199c7 +.asm_7053f ; 0x199c9 + ld hl, UnnamedText_199dd + call PrintText +.asm_c765a ; 0x199cf + jp TextScriptEnd + +UnnamedText_199d2: ; 0x199d2 + TX_FAR _UnnamedText_199d2 + db $50 +; 0x199d2 + 5 bytes + +UnnamedText_199d7: ; 0x199d7 + TX_FAR _UnnamedText_199d7 ; 0xa5b5a + db $0B, $50 +; 0x199d7 + 6 bytes = 0x199dd + +UnnamedText_199dd: ; 0x199dd + TX_FAR _UnnamedText_199dd + db $50 +; 0x199dd + 5 bytes + +UnnamedText_199e2: ; 0x199e2 + TX_FAR _UnnamedText_199e2 + db $50 +; 0x199e2 + 5 bytes + +CeladonCityText6: ; 0x199e7 + TX_FAR _CeladonCityText6 + db $50 + +CeladonCityText7: ; 0x199ec + TX_FAR _CeladonCityText7 + db $08 ; asm + ld a, $6f + call $13d0 + jp TextScriptEnd + +CeladonCityText8: ; 0x199f9 + TX_FAR _CeladonCityText8 + db $50 + +CeladonCityText9: ; 0x199fe + TX_FAR _CeladonCityText9 + db $50 + +CeladonCityText10: ; 0x19a03 + TX_FAR _CeladonCityText10 + db $50 + +CeladonCityText11: ; 0x19a08 + TX_FAR _CeladonCityText11 + db $50 + +CeladonCityText13: ; 0x19a0d + TX_FAR _CeladonCityText13 + db $50 + +CeladonCityText14: ; 0x19a12 + TX_FAR _CeladonCityText14 + db $50 + +CeladonCityText15: ; 0x19a17 + TX_FAR _CeladonCityText15 + db $50 + +CeladonCityText16: ; 0x19a1c + TX_FAR _CeladonCityText16 + db $50 + +CeladonCityText17: ; 0x19a21 + TX_FAR _CeladonCityText17 + db $50 + +CeladonCityText18: ; 0x19a26 + TX_FAR _CeladonCityText18 + db $50 + +FuchsiaCityScript: ; 0x19a2b + jp $3c3c +; 0x19a2e + +FuchsiaCityTexts: ; 0x19a2e + dw FuchsiaCityText1, FuchsiaCityText2, FuchsiaCityText3, FuchsiaCityText4, FuchsiaCityText5, FuchsiaCityText6, FuchsiaCityText7, FuchsiaCityText8, FuchsiaCityText9, FuchsiaCityText10, FuchsiaCityText11, FuchsiaCityText12, FuchsiaCityText13, FuchsiaCityText14, FuchsiaCityText15, FuchsiaCityText16, FuchsiaCityText17, FuchsiaCityText18, FuchsiaCityText19, FuchsiaCityText20, FuchsiaCityText21, FuchsiaCityText22, FuchsiaCityText23, FuchsiaCityText24 + +FuchsiaCityText1: ; 0x19a5e + TX_FAR _FuchsiaCityText1 + db $50 + +FuchsiaCityText2: ; 0x19a63 + TX_FAR _FuchsiaCityText2 + db $50 + +FuchsiaCityText3: ; 0x19a68 + TX_FAR _FuchsiaCityText3 + db $50 + +FuchsiaCityText4: ; 0x19a6d + TX_FAR _FuchsiaCityText4 + db $50 + +FuchsiaCityText5: ; 0x19a72 +FuchsiaCityText6: +FuchsiaCityText7: +FuchsiaCityText8: +FuchsiaCityText9: +FuchsiaCityText10: ; 0x19a72 + TX_FAR _FuchsiaCityText5 + db $50 + +FuchsiaCityText12: +FuchsiaCityText11: ; 0x19a77 + TX_FAR _FuchsiaCityText11 + db $50 + +FuchsiaCityText13: ; 0x19a7c + TX_FAR _FuchsiaCityText13 + db $50 + +FuchsiaCityText16: ; 0x19a81 + TX_FAR _FuchsiaCityText16 + db $50 + +FuchsiaCityText17: ; 0x19a86 + TX_FAR _FuchsiaCityText17 + db $50 + +FuchsiaCityText18: ; 0x19a8b + TX_FAR _FuchsiaCityText18 + db $50 + +FuchsiaCityText19: ; 0x19a90 + db $08 ; asm + ld hl, UnnamedText_19a9f + call PrintText + ld a, $28 + call $349b + jp TextScriptEnd + +UnnamedText_19a9f: ; 0x19a9f + TX_FAR _UnnamedText_19a9f + db $50 +; 0x19a9f + 5 bytes + +FuchsiaCityText20: ; 0x19aa4 + db $08 ; asm + ld hl, UnnamedText_19ab3 + call PrintText + ld a, $6 + call $349b + jp TextScriptEnd + +UnnamedText_19ab3: ; 0x19ab3 + TX_FAR _UnnamedText_19ab3 + db $50 +; 0x19ab3 + 5 bytes + +FuchsiaCityText21: ; 0x19ab8 + db $08 ; asm + ld hl, UnnamedText_19ac7 + call PrintText + ld a, $2 + call $349b + jp TextScriptEnd + +UnnamedText_19ac7: ; 0x19ac7 + TX_FAR _UnnamedText_19ac7 + db $50 +; 0x19ac7 + 5 bytes + +FuchsiaCityText22: ; 0x19acc + db $08 ; asm + ld hl, UnnamedText_19adb + call PrintText + ld a, $25 + call $349b + jp TextScriptEnd + +UnnamedText_19adb: ; 0x19adb + TX_FAR _UnnamedText_19adb + db $50 +; 0x19adb + 5 bytes + +FuchsiaCityText23: ; 0x19ae0 + db $08 ; asm + ld hl, UnnamedText_19aef + call PrintText + ld a, $13 + call $349b + jp TextScriptEnd + +UnnamedText_19aef: ; 0x19aef + TX_FAR _UnnamedText_19aef + db $50 +; 0x19aef + 5 bytes + +FuchsiaCityText24: ; 0x19af4 + db $08 ; asm + ld a, [$d7f6] + bit 6, a + jr nz, .asm_3b4e8 ; 0x19afa + bit 7, a + jr nz, .asm_667d5 ; 0x19afe + ld hl, UnnamedText_19b2a + call PrintText + jr .asm_4343f ; 0x19b06 +.asm_3b4e8 ; 0x19b08 + ld hl, UnnamedText_19b20 + call PrintText + ld a, $62 + jr .asm_81556 ; 0x19b10 +.asm_667d5 ; 0x19b12 + ld hl, UnnamedText_19b25 + call PrintText + ld a, $5a +.asm_81556 ; 0x19b1a + call $349b +.asm_4343f ; 0x19b1d + jp TextScriptEnd + +UnnamedText_19b20: ; 0x19b20 + TX_FAR _UnnamedText_19b20 + db $50 +; 0x19b20 + 5 bytes + +UnnamedText_19b25: ; 0x19b25 + TX_FAR _UnnamedText_19b25 + db $50 +; 0x19b25 + 5 bytes + +UnnamedText_19b2a: ; 0x19b2a + TX_FAR _UnnamedText_19b2a + db $50 +; 0x19b2a + 5 bytes + +BluesHouse_h: ; 0x19b2f id=39 + db $08 ; tileset + db BLUES_HOUSE_HEIGHT, BLUES_HOUSE_WIDTH ; dimensions + dw BluesHouseBlocks, BluesHouseTexts, BluesHouseScript + db 0 + dw BluesHouseObject + +BluesHouseScript: ; 0x19b3b + call $3C3C + ld hl,BluesHouseScriptPointers + ld a,[$D5F3] + jp $3D97 + +BluesHouseScriptPointers: ; 0x19b47 + dw BluesHouseScript1,BluesHouseScript2 + +BluesHouseScript1: ; 0x19b4a + ld hl,$D74A + set 1,[hl] + + ; trigger the next script + ld a,1 + ld [$D5F3],a + ret + +BluesHouseScript2: ; 0x19B56 + ret + +BluesHouseTexts: ; 0x19B57 + dw BluesHouseText1,BluesHouseText2,BluesHouseText3 + +BluesHouseText1: ; 5B5D 0x19B5D + db 8 + ld a,[$D74A] + bit 0,a + jr nz,.GotMap\@ + ld a,[$D74B] + bit 5,a + jr nz,.GiveMap\@ + ld hl,DaisyInitialText + call PrintText + jr .done\@ +.GiveMap\@ + ld hl,DaisyOfferMapText + call PrintText + ld bc,(TOWN_MAP << 8) | 1 + call $3E2E + jr nc,.BagFull\@ + ld a,$29 + ld [$CC4D],a + ld a,$11 + call Predef ; hide table map object + ld hl,GotMapText + call PrintText + ld hl,$D74A + set 0,[hl] + jr .done\@ +.GotMap\@ + ld hl,DaisyUseMapText + call PrintText + jr .done\@ +.BagFull\@ + ld hl,DaisyBagFullText + call PrintText +.done\@ + jp TextScriptEnd + +DaisyInitialText: ; 0x19baa + TX_FAR _DaisyInitialText + db "@" + +DaisyOfferMapText: ; 0x19baf + TX_FAR _DaisyOfferMapText + db "@" + +GotMapText: ; 0x19bb4 + TX_FAR _GotMapText + db $11,"@" + +DaisyBagFullText: ; 0x19bba + TX_FAR _DaisyBagFullText + db "@" + +DaisyUseMapText: ; 0x19bbf + TX_FAR _DaisyUseMapText + db "@" + +BluesHouseText2: ; 0x19bc4 Daisy, walking around + TX_FAR _BluesHouseText2 + db "@" + +BluesHouseText3: ; 0x19bc9 map on table + TX_FAR _BluesHouseText3 + db "@" + +BluesHouseObject: ; 0x19bce + db $0A ; border tile + + db 2 ; warps + db 7,2,1,$FF + db 7,3,1,$FF + + db 0 ; signs + + db 3 ; people + db $11,4+3,4+2,$FF,$D3,1 ; Daisy, sitting by map + db $11,4+4,4+6,$FE,1,ITEM|2,0 ; map on table + db $41,4+3,4+3,$FF,$FF,ITEM|3,0 ; Daisy, walking around + + ; warp-to + dw $C712 + db 7,2 + + dw $C712 + db 7,3 + +BluesHouseBlocks: ; 0x19bf6 + INCBIN "maps/blueshouse.blk" + +VermilionHouse3_h: ; 0x19c06 to 0x19c12 (12 bytes) (bank=6) (id=196) + db $08 ; tileset + db VERMILION_HOUSE_3_HEIGHT, VERMILION_HOUSE_3_WIDTH ; dimensions (y, x) + dw VermilionHouse3Blocks, VermilionHouse3Texts, VermilionHouse3Script ; blocks, texts, scripts + db $00 ; connections + + dw VermilionHouse3Object ; objects + +VermilionHouse3Script: ; 0x19c12 + jp $3c3c +; 0x19c15 + +VermilionHouse3Texts: ; 0x19c15 + dw VermilionHouse3Text1 + +VermilionHouse3Text1: ; 0x19c17 + db $08 ; asm + ld a, $4 + ld [W_WHICHTRADE], a + ld a, $54 + call Predef + jp TextScriptEnd + +VermilionHouse3Object: ; 0x19c25 (size=26) + db $a ; border tile + + db $2 ; warps + db $7, $2, $7, $ff + db $7, $3, $7, $ff + + db $0 ; signs + + db $1 ; people + db SPRITE_LITTLE_GIRL, $5 + 4, $3 + 4, $ff, $d1, $1 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + +VermilionHouse3Blocks: ; 0x19c3f 16 + INCBIN "maps/vermilionhouse3.blk" + +IndigoPlateauLobby_h: ; 0x19c4f to 0x19c5b (12 bytes) (bank=6) (id=174) + db $02 ; tileset + db INDIGO_PLATEAU_LOBBY_HEIGHT, INDIGO_PLATEAU_LOBBY_WIDTH ; dimensions (y, x) + dw IndigoPlateauLobbyBlocks, IndigoPlateauLobbyTexts, IndigoPlateauLobbyScript ; blocks, texts, scripts + db $00 ; connections + + dw IndigoPlateauLobbyObject ; objects + +IndigoPlateauLobbyScript: ; 0x19c5b + call $22fa + call $3c3c + ld hl, $d126 + bit 6, [hl] + res 6, [hl] + ret z + ld hl, $d869 + res 7, [hl] + ld hl, $d734 + bit 1, [hl] + res 1, [hl] + ret z + ld hl, $d863 + xor a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + ret +; 0x19c7f + +IndigoPlateauLobbyTexts: ; 0x19c7f + dw IndigoPlateauLobbyText1, IndigoPlateauLobbyText2, IndigoPlateauLobbyText3, IndigoPlateauLobbyText4, IndigoPlateauLobbyText5 + +IndigoPlateauLobbyText1: ; 0x19c8a + db $ff + +IndigoPlateauLobbyText2: ; 0x19c8b + TX_FAR _IndigoPlateauLobbyText1 + db $50 + +INCBIN "baserom.gbc",$19c8f,$19c8f - $19c8f + +IndigoPlateauLobbyText3: ; 0x19c8f + TX_FAR _IndigoPlateauLobbyText3 + db $50 + +IndigoPlateauLobbyText5: ; 0x19c94 + db $f6 + +IndigoPlateauLobbyObject: ; 0x19c95 (size=58) + db $0 ; border tile + + db $3 ; warps + db $b, $7, $0, $ff + db $b, $8, $1, $ff + db $0, $8, $0, LORELEIS_ROOM + + db $0 ; signs + + db $5 ; people + db SPRITE_NURSE, $5 + 4, $7 + 4, $ff, $d0, $1 ; person + db SPRITE_GYM_HELPER, $9 + 4, $4 + 4, $ff, $d3, $2 ; person + db SPRITE_LASS, $1 + 4, $5 + 4, $ff, $d0, $3 ; person + db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $4 ; person + db SPRITE_CABLE_CLUB_WOMAN, $6 + 4, $d + 4, $ff, $d0, $5 ; person + + ; warp-to + EVENT_DISP $8, $b, $7 + EVENT_DISP $8, $b, $8 + EVENT_DISP $8, $0, $8 ; LORELEIS_ROOM + +IndigoPlateauLobbyBlocks: ; 0x19ccf 48 + INCBIN "maps/indigoplateaulobby.blk" + +SilphCo4_h: ; 0x19cff to 0x19d0b (12 bytes) (bank=6) (id=209) + db $16 ; tileset + db SILPH_CO_4F_HEIGHT, SILPH_CO_4F_WIDTH ; dimensions (y, x) + dw SilphCo4Blocks, SilphCo4Texts, SilphCo4Script ; blocks, texts, scripts + db $00 ; connections + + dw SilphCo4Object ; objects + +SilphCo4Script: ; 0x19d0b + call SilphCo4Script_Unknown19d21 + call $3c3c + ld hl, SilphCo4TrainerHeaders + ld de, $5d9a + ld a, [$d645] + call $3160 + ld [$d645], a + ret +; 0x19d21 + +SilphCo4Script_Unknown19d21: ; 0x19d21 +INCBIN "baserom.gbc",$19d21,$7f + +SilphCo4Texts: ; 0x19da0 + dw SilphCo4Text1, SilphCo4Text2, SilphCo4Text3, SilphCo4Text4, SilphCo4Text5, SilphCo4Text6, SilphCo4Text7 + +SilphCo4TrainerHeaders: +TrainerHeader_19dae: ; 0x19dae + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d829 ; flag's byte + dw UnnamedText_19df4 ; 0x5df4 TextBeforeBattle + dw UnnamedText_19dfe ; 0x5dfe TextAfterBattle + dw UnnamedText_19df9 ; 0x5df9 TextEndBattle + dw UnnamedText_19df9 ; 0x5df9 TextEndBattle +; 0x19dba + +TrainerHeader_19dba: ; 0x19dba + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d829 ; flag's byte + dw UnnamedText_19e0d ; 0x5e0d TextBeforeBattle + dw UnnamedText_19e17 ; 0x5e17 TextAfterBattle + dw UnnamedText_19e12 ; 0x5e12 TextEndBattle + dw UnnamedText_19e12 ; 0x5e12 TextEndBattle +; 0x19dc4 + +TrainerHeader_19dc6: ; 0x19dc6 + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d829 ; flag's byte + dw UnnamedText_19e26 ; 0x5e26 TextBeforeBattle + dw UnnamedText_19e30 ; 0x5e30 TextAfterBattle + dw UnnamedText_19e2b ; 0x5e2b TextEndBattle + dw UnnamedText_19e2b ; 0x5e2b TextEndBattle +; 0x19dd2 + +db $ff + +SilphCo4Text1: ; 0x19dd3 + db $08 ; asm + ld hl, $5de0 + ld de, $5de5 + call $622f + jp TextScriptEnd + +UnnamedText_19de0: ; 0x19de0 + TX_FAR _UnnamedText_19de0 + db $50 +; 0x19de0 + 5 bytes + +UnnamedText_19de5: ; 0x19de5 + TX_FAR _UnnamedText_19de5 + db $50 +; 0x19de5 + 5 bytes + +SilphCo4Text2: ; 0x19dea + db $08 ; asm + ld hl, TrainerHeader_19dae + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_19df4: ; 0x19df4 + TX_FAR _UnnamedText_19df4 + db $50 +; 0x19df4 + 5 bytes + +UnnamedText_19df9: ; 0x19df9 + TX_FAR _UnnamedText_19df9 + db $50 +; 0x19df9 + 5 bytes + +UnnamedText_19dfe: ; 0x19dfe + TX_FAR _UnnamedText_19dfe + db $50 +; 0x19dfe + 5 bytes + +SilphCo4Text3: ; 0x19e03 + db $08 ; asm + ld hl, TrainerHeader_19dba + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_19e0d: ; 0x19e0d + TX_FAR _UnnamedText_19e0d + db $50 +; 0x19e0d + 5 bytes + +UnnamedText_19e12: ; 0x19e12 + TX_FAR _UnnamedText_19e12 + db $50 +; 0x19e12 + 5 bytes + +UnnamedText_19e17: ; 0x19e17 + TX_FAR _UnnamedText_19e17 + db $50 +; 0x19e17 + 5 bytes + +SilphCo4Text4: ; 0x19e1c + db $08 ; asm + ld hl, TrainerHeader_19dc6 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_19e26: ; 0x19e26 + TX_FAR _UnnamedText_19e26 + db $50 +; 0x19e26 + 5 bytes + +UnnamedText_19e2b: ; 0x19e2b + TX_FAR _UnnamedText_19e2b + db $50 +; 0x19e2b + 5 bytes + +UnnamedText_19e30: ; 0x19e30 + TX_FAR _UnnamedText_19e30 + db $50 +; 0x19e30 + 5 bytes + +SilphCo4Object: ; 0x19e35 (size=111) + db $2e ; border tile + + db $7 ; warps + db $0, $18, $1, SILPH_CO_3F + db $0, $1a, $1, SILPH_CO_5F + db $0, $14, $0, SILPH_CO_ELEVATOR + db $7, $b, $3, SILPH_CO_10F + db $3, $11, $3, SILPH_CO_6F + db $f, $3, $4, SILPH_CO_10F + db $b, $11, $5, SILPH_CO_10F + + db $0 ; signs + + db $7 ; people + db SPRITE_LAPRAS_GIVER, $2 + 4, $6 + 4, $ff, $ff, $1 ; person + db SPRITE_ROCKET, $e + 4, $9 + 4, $ff, $d3, $42, ROCKET + $C8, $1a ; trainer + db SPRITE_OAK_AIDE, $6 + 4, $e + 4, $ff, $d2, $43, SCIENTIST + $C8, $5 ; trainer + db SPRITE_ROCKET, $a + 4, $1a + 4, $ff, $d1, $44, ROCKET + $C8, $1b ; trainer + db SPRITE_BALL, $9 + 4, $3 + 4, $ff, $ff, $85, FULL_HEAL ; item + db SPRITE_BALL, $7 + 4, $4 + 4, $ff, $ff, $86, MAX_REVIVE ; item + db SPRITE_BALL, $8 + 4, $5 + 4, $ff, $ff, $87, ESCAPE_ROPE ; item + + ; warp-to + EVENT_DISP $f, $0, $18 ; SILPH_CO_3F + EVENT_DISP $f, $0, $1a ; SILPH_CO_5F + EVENT_DISP $f, $0, $14 ; SILPH_CO_ELEVATOR + EVENT_DISP $f, $7, $b ; SILPH_CO_10F + EVENT_DISP $f, $3, $11 ; SILPH_CO_6F + EVENT_DISP $f, $f, $3 ; SILPH_CO_10F + EVENT_DISP $f, $b, $11 ; SILPH_CO_10F + +SilphCo4Blocks: ; 0x19ea4 135 + INCBIN "maps/silphco4.blk" + +SilphCo5_h: ; 0x19f2b to 0x19f37 (12 bytes) (bank=6) (id=210) + db $16 ; tileset + db SILPH_CO_5F_HEIGHT, SILPH_CO_5F_WIDTH ; dimensions (y, x) + dw SilphCo5Blocks, SilphCo5Texts, SilphCo5Script ; blocks, texts, scripts + db $00 ; connections + + dw SilphCo5Object ; objects + +SilphCo5Script: ; 0x19f37 + call Unnamed_19f4d + call $3c3c + ld hl, SilphCo5TrainerHeaders + ld de, $5fb6 + ld a, [$d646] + call $3160 + ld [$d646], a + ret +; 0x19f4d + +Unnamed_19f4d: ; 0x19f4d +INCBIN "baserom.gbc",$19f4d,$6f + +SilphCo5Texts: ; 0x19fbc + dw SilphCo5Text1, SilphCo5Text2, SilphCo5Text3, SilphCo5Text4, SilphCo5Text5, SilphCo5Text6, SilphCo5Text7, SilphCo5Text8, SilphCo5Text9, SilphCo5Text10, SilphCo5Text11 + +SilphCo5TrainerHeaders: +TrainerHeader_19fd2: ; 0x19fd2 + db $2 ; flag's bit + db ($1 << 4) ; trainer's view range + dw $d82b ; flag's byte + dw UnnamedText_1a024 ; 0x6024 TextBeforeBattle + dw UnnamedText_1a02e ; 0x602e TextAfterBattle + dw UnnamedText_1a029 ; 0x6029 TextEndBattle + dw UnnamedText_1a029 ; 0x6029 TextEndBattle +; 0x19fde + +TrainerHeader_19fde: ; 0x19fde + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d82b ; flag's byte + dw UnnamedText_1a03d ; 0x603d TextBeforeBattle + dw UnnamedText_1a047 ; 0x6047 TextAfterBattle + dw UnnamedText_1a042 ; 0x6042 TextEndBattle + dw UnnamedText_1a042 ; 0x6042 TextEndBattle +; 0x19fea + +TrainerHeader_19fea: ; 0x19fea + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d82b ; flag's byte + dw UnnamedText_1a056 ; 0x6056 TextBeforeBattle + dw UnnamedText_1a060 ; 0x6060 TextAfterBattle + dw UnnamedText_1a05b ; 0x605b TextEndBattle + dw UnnamedText_1a05b ; 0x605b TextEndBattle +; 0x19ff4 + +TrainerHeader_19ff6: ; 0x19ff6 + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d82b ; flag's byte + dw UnnamedText_1a06f ; 0x606f TextBeforeBattle + dw UnnamedText_1a079 ; 0x6079 TextAfterBattle + dw UnnamedText_1a074 ; 0x6074 TextEndBattle + dw UnnamedText_1a074 ; 0x6074 TextEndBattle +; 0x1a002 + +db $ff + +SilphCo5Text1: ; 0x1a003 + db $08 ; asm + ld hl, $6010 + ld de, $6015 + call $622f + jp TextScriptEnd + +UnnamedText_1a010: ; 0x1a010 + TX_FAR _UnnamedText_1a010 + db $50 +; 0x1a010 + 5 bytes + +UnnamedText_1a015: ; 0x1a015 + TX_FAR _UnnamedText_1a015 + db $50 +; 0x1a015 + 5 bytes + +SilphCo5Text2: ; 0x1a01a + db $08 ; asm + ld hl, TrainerHeader_19fd2 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_1a024: ; 0x1a024 + TX_FAR _UnnamedText_1a024 + db $50 +; 0x1a024 + 5 bytes + +UnnamedText_1a029: ; 0x1a029 + TX_FAR _UnnamedText_1a029 + db $50 +; 0x1a029 + 5 bytes + +UnnamedText_1a02e: ; 0x1a02e + TX_FAR _UnnamedText_1a02e + db $50 +; 0x1a02e + 5 bytes + +SilphCo5Text3: ; 0x1a033 + db $08 ; asm + ld hl, TrainerHeader_19fde + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_1a03d: ; 0x1a03d + TX_FAR _UnnamedText_1a03d + db $50 +; 0x1a03d + 5 bytes + +UnnamedText_1a042: ; 0x1a042 + TX_FAR _UnnamedText_1a042 + db $50 +; 0x1a042 + 5 bytes + +UnnamedText_1a047: ; 0x1a047 + TX_FAR _UnnamedText_1a047 + db $50 +; 0x1a047 + 5 bytes + +SilphCo5Text4: ; 0x1a04c + db $08 ; asm + ld hl, TrainerHeader_19fea + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_1a056: ; 0x1a056 + TX_FAR _UnnamedText_1a056 + db $50 +; 0x1a056 + 5 bytes + +UnnamedText_1a05b: ; 0x1a05b + TX_FAR _UnnamedText_1a05b + db $50 +; 0x1a05b + 5 bytes + +UnnamedText_1a060: ; 0x1a060 + TX_FAR _UnnamedText_1a060 + db $50 +; 0x1a060 + 5 bytes + +SilphCo5Text5: ; 0x1a065 + db $08 ; asm + ld hl, TrainerHeader_19ff6 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_1a06f: ; 0x1a06f + TX_FAR _UnnamedText_1a06f + db $50 +; 0x1a06f + 5 bytes + +UnnamedText_1a074: ; 0x1a074 + TX_FAR _UnnamedText_1a074 + db $50 +; 0x1a074 + 5 bytes + +UnnamedText_1a079: ; 0x1a079 + TX_FAR _UnnamedText_1a079 + db $50 +; 0x1a079 + 5 bytes + +SilphCo5Text9: ; 0x1a07e + TX_FAR _SilphCo5Text9 + db $50 + +SilphCo5Text10: ; 0x1a083 + TX_FAR _SilphCo5Text10 + db $50 + +SilphCo5Text11: ; 0x1a088 + TX_FAR _SilphCo5Text11 + db $50 + +SilphCo5Object: ; 0x1a08d (size=137) + db $2e ; border tile + + db $7 ; warps + db $0, $18, $1, SILPH_CO_6F + db $0, $1a, $1, SILPH_CO_4F + db $0, $14, $0, SILPH_CO_ELEVATOR + db $3, $1b, $5, SILPH_CO_7F + db $f, $9, $4, SILPH_CO_9F + db $5, $b, $4, SILPH_CO_3F + db $f, $3, $5, SILPH_CO_3F + + db $0 ; signs + + db $b ; people + db SPRITE_LAPRAS_GIVER, $9 + 4, $d + 4, $ff, $ff, $1 ; person + db SPRITE_ROCKET, $10 + 4, $8 + 4, $ff, $d3, $42, ROCKET + $C8, $1c ; trainer + db SPRITE_OAK_AIDE, $3 + 4, $8 + 4, $ff, $d3, $43, SCIENTIST + $C8, $6 ; trainer + db SPRITE_ROCKER, $a + 4, $12 + 4, $ff, $d1, $44, JUGGLER + $C8, $1 ; trainer + db SPRITE_ROCKET, $4 + 4, $1c + 4, $ff, $d1, $45, ROCKET + $C8, $1d ; trainer + db SPRITE_BALL, $d + 4, $2 + 4, $ff, $ff, $86, TM_09 ; item + db SPRITE_BALL, $6 + 4, $4 + 4, $ff, $ff, $87, PROTEIN ; item + db SPRITE_BALL, $10 + 4, $15 + 4, $ff, $ff, $88, CARD_KEY ; item + db SPRITE_CLIPBOARD, $c + 4, $16 + 4, $ff, $ff, $9 ; person + db SPRITE_CLIPBOARD, $a + 4, $19 + 4, $ff, $ff, $a ; person + db SPRITE_CLIPBOARD, $6 + 4, $18 + 4, $ff, $ff, $b ; person + + ; warp-to + EVENT_DISP $f, $0, $18 ; SILPH_CO_6F + EVENT_DISP $f, $0, $1a ; SILPH_CO_4F + EVENT_DISP $f, $0, $14 ; SILPH_CO_ELEVATOR + EVENT_DISP $f, $3, $1b ; SILPH_CO_7F + EVENT_DISP $f, $f, $9 ; SILPH_CO_9F + EVENT_DISP $f, $5, $b ; SILPH_CO_3F + EVENT_DISP $f, $f, $3 ; SILPH_CO_3F + +SilphCo5Blocks: ; 0x1a116 135 + INCBIN "maps/silphco5.blk" + +SilphCo6_h: ; 0x1a19d to 0x1a1a9 (12 bytes) (bank=6) (id=211) + db $16 ; tileset + db SILPH_CO_6F_HEIGHT, SILPH_CO_6F_WIDTH ; dimensions (y, x) + dw SilphCo6Blocks, SilphCo6Texts, SilphCo6Script ; blocks, texts, scripts + db $00 ; connections + + dw SilphCo6Object ; objects + +SilphCo6Script: ; 0x1a1a9 + call Unnamed_1a1bf + call $3c3c + ld hl, SilphCo6TrainerHeaders + ld de, $61f0 + ld a, [$d647] + call $3160 + ld [$d647], a + ret +; 0x1a1bf + +Unnamed_1a1bf: ; 0x1a1bf +INCBIN "baserom.gbc",$1a1bf,$37 + +SilphCo6Texts: ; 0x1a1f6 + dw SilphCo6Text1, SilphCo6Text2, SilphCo6Text3, SilphCo6Text4, SilphCo6Text5, SilphCo6Text6, SilphCo6Text7, SilphCo6Text8, SilphCo6Text9, SilphCo6Text10 + +SilphCo6TrainerHeaders: +TrainerHeader_1a20a: ; 0x1a20a + db $6 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d82d ; flag's byte + dw UnnamedText_1a2ba ; 0x62ba TextBeforeBattle + dw UnnamedText_1a2c4 ; 0x62c4 TextAfterBattle + dw UnnamedText_1a2bf ; 0x62bf TextEndBattle + dw UnnamedText_1a2bf ; 0x62bf TextEndBattle +; 0x1a216 + +TrainerHeader_1a216: ; 0x1a216 + db $7 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d82d ; flag's byte + dw UnnamedText_1a2d3 ; 0x62d3 TextBeforeBattle + dw UnnamedText_1a2dd ; 0x62dd TextAfterBattle + dw UnnamedText_1a2d8 ; 0x62d8 TextEndBattle + dw UnnamedText_1a2d8 ; 0x62d8 TextEndBattle +; 0x1a222 + +TrainerHeader_1a222: ; 0x1a222 + db $8 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d82d ; flag's byte + dw UnnamedText_1a2ec ; 0x62ec TextBeforeBattle + dw UnnamedText_1a2f6 ; 0x62f6 TextAfterBattle + dw UnnamedText_1a2f1 ; 0x62f1 TextEndBattle + dw UnnamedText_1a2f1 ; 0x62f1 TextEndBattle +; 0x1a22e + +db $ff + +Unnamed_622f: ; 0x1a22f +INCBIN "baserom.gbc",$1a22f,$1a23d - $1a22f + +SilphCo6Text1: ; 0x1a23d + db $08 ; asm + ld hl, UnnamedText_1a24a + ld de, UnnamedText_1a24f + call Unnamed_622f + jp TextScriptEnd + +UnnamedText_1a24a: ; 0x1a24a + TX_FAR _UnnamedText_1a24a + db $50 +; 0x1a24a + 5 bytes + +UnnamedText_1a24f: ; 0x1a24f + TX_FAR _UnnamedText_1a24f + db $50 +; 0x1a24f + 5 bytes + +SilphCo6Text2: ; 0x1a254 + db $08 ; asm + ld hl, UnnamedText_1a261 + ld de, UnnamedText_1a266 + call Unnamed_622f + jp TextScriptEnd + +UnnamedText_1a261: ; 0x1a261 + TX_FAR _UnnamedText_1a261 + db $50 +; 0x1a261 + 5 bytes + +UnnamedText_1a266: ; 0x1a266 + TX_FAR _UnnamedText_1a266 + db $50 +; 0x1a266 + 5 bytes + +SilphCo6Text3: ; 0x1a26b + db $08 ; asm + ld hl, UnnamedText_1a278 + ld de, UnnamedText_1a27d + call Unnamed_622f + jp TextScriptEnd + +UnnamedText_1a278: ; 0x1a278 + TX_FAR _UnnamedText_1a278 + db $50 +; 0x1a278 + 5 bytes + +UnnamedText_1a27d: ; 0x1a27d + TX_FAR _UnnamedText_1a27d + db $50 +; 0x1a27d + 5 bytes + +SilphCo6Text4: ; 0x1a282 + db $08 ; asm + ld hl, UnnamedText_1a28f + ld de, UnnamedText_1a294 + call Unnamed_622f + jp TextScriptEnd + +UnnamedText_1a28f: ; 0x1a28f + TX_FAR _UnnamedText_1a28f + db $50 +; 0x1a28f + 5 bytes + +UnnamedText_1a294: ; 0x1a294 + TX_FAR _UnnamedText_1a294 + db $50 +; 0x1a294 + 5 bytes + +SilphCo6Text5: ; 0x1a299 + db $08 ; asm + ld hl, UnnamedText_1a2a6 + ld de, UnnamedText_1a2ab + call Unnamed_622f + jp TextScriptEnd + +UnnamedText_1a2a6: ; 0x1a2a6 + TX_FAR _UnnamedText_1a2a6 + db $50 +; 0x1a2a6 + 5 bytes + +UnnamedText_1a2ab: ; 0x1a2ab + TX_FAR _UnnamedText_1a2ab + db $50 +; 0x1a2ab + 5 bytes + +SilphCo6Text6: ; 0x1a2b0 + db $08 ; asm + ld hl, TrainerHeader_1a20a + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_1a2ba: ; 0x1a2ba + TX_FAR _UnnamedText_1a2ba + db $50 +; 0x1a2ba + 5 bytes + +UnnamedText_1a2bf: ; 0x1a2bf + TX_FAR _UnnamedText_1a2bf + db $50 +; 0x1a2bf + 5 bytes + +UnnamedText_1a2c4: ; 0x1a2c4 + TX_FAR _UnnamedText_1a2c4 + db $50 +; 0x1a2c4 + 5 bytes + +SilphCo6Text7: ; 0x1a2c9 + db $08 ; asm + ld hl, TrainerHeader_1a216 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_1a2d3: ; 0x1a2d3 + TX_FAR _UnnamedText_1a2d3 + db $50 +; 0x1a2d3 + 5 bytes + +UnnamedText_1a2d8: ; 0x1a2d8 + TX_FAR _UnnamedText_1a2d8 + db $50 +; 0x1a2d8 + 5 bytes + +UnnamedText_1a2dd: ; 0x1a2dd + TX_FAR _UnnamedText_1a2dd + db $50 +; 0x1a2dd + 5 bytes + +SilphCo6Text8: ; 0x1a2e2 + db $08 ; asm + ld hl, TrainerHeader_1a222 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_1a2ec: ; 0x1a2ec + TX_FAR _UnnamedText_1a2ec + db $50 +; 0x1a2ec + 5 bytes + +UnnamedText_1a2f1: ; 0x1a2f1 + TX_FAR _UnnamedText_1a2f1 + db $50 +; 0x1a2f1 + 5 bytes + +UnnamedText_1a2f6: ; 0x1a2f6 + TX_FAR _UnnamedText_1a2f6 + db $50 +; 0x1a2f6 + 5 bytes + +SilphCo6Object: ; 0x1a2fb (size=112) + db $2e ; border tile + + db $5 ; warps + db $0, $10, $1, SILPH_CO_7F + db $0, $e, $0, SILPH_CO_5F + db $0, $12, $0, SILPH_CO_ELEVATOR + db $3, $3, $4, SILPH_CO_4F + db $3, $17, $6, SILPH_CO_2F + + db $0 ; signs + + db $a ; people + db SPRITE_LAPRAS_GIVER, $6 + 4, $a + 4, $ff, $ff, $1 ; person + db SPRITE_LAPRAS_GIVER, $6 + 4, $14 + 4, $ff, $ff, $2 ; person + db SPRITE_ERIKA, $6 + 4, $15 + 4, $ff, $d0, $3 ; person + db SPRITE_ERIKA, $a + 4, $b + 4, $ff, $d3, $4 ; person + db SPRITE_LAPRAS_GIVER, $d + 4, $12 + 4, $ff, $d1, $5 ; person + db SPRITE_ROCKET, $3 + 4, $11 + 4, $ff, $d3, $46, ROCKET + $C8, $1e ; trainer + db SPRITE_OAK_AIDE, $8 + 4, $7 + 4, $ff, $d0, $47, SCIENTIST + $C8, $7 ; trainer + db SPRITE_ROCKET, $f + 4, $e + 4, $ff, $d2, $48, ROCKET + $C8, $1f ; trainer + db SPRITE_BALL, $c + 4, $3 + 4, $ff, $ff, $89, HP_UP ; item + db SPRITE_BALL, $f + 4, $2 + 4, $ff, $ff, $8a, X_ACCURACY ; item + + ; warp-to + EVENT_DISP $d, $0, $10 ; SILPH_CO_7F + EVENT_DISP $d, $0, $e ; SILPH_CO_5F + EVENT_DISP $d, $0, $12 ; SILPH_CO_ELEVATOR + EVENT_DISP $d, $3, $3 ; SILPH_CO_4F + EVENT_DISP $d, $3, $17 ; SILPH_CO_2F + +SilphCo6Blocks: ; 0x1a36b 117 + INCBIN "maps/silphco6.blk" + +INCBIN "baserom.gbc",$1a3e0,$1c20 + +SECTION "bank7",DATA,BANK[$7] + +CinnabarIsland_h: ; 0x1c000 to 0x1c022 (34 bytes) (bank=7) (id=8) + db $00 ; tileset + db CINNABAR_ISLAND_HEIGHT, CINNABAR_ISLAND_WIDTH ; dimensions (y, x) + dw CinnabarIslandBlocks, CinnabarIslandTexts, CinnabarIslandScript ; blocks, texts, scripts + db NORTH | EAST ; connections + + ; connections data + + db ROUTE_21 + dw Route21Blocks + (ROUTE_21_HEIGHT - 3) * ROUTE_21_WIDTH ; connection strip location + dw $C6EB + 0 ; current map position + db ROUTE_21_WIDTH, ROUTE_21_WIDTH ; bigness, width + db (ROUTE_21_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x) + dw $C6E9 + ROUTE_21_HEIGHT * (ROUTE_21_WIDTH + 6) ; window + + db ROUTE_20 + dw Route20Blocks + (ROUTE_20_WIDTH * 0) ; connection strip location + dw $C6E5 + (CINNABAR_ISLAND_WIDTH + 6) * (0 + 4) ; current map position + db ROUTE_20_HEIGHT, ROUTE_20_WIDTH ; bigness, width + db (0 * -2), 0 ; alignments (y, x) + dw $C6EF + ROUTE_20_WIDTH ; window + + ; end connections data + + dw CinnabarIslandObject ; objects + +CinnabarIslandObject: ; 0x1c022 (size=71) + db $43 ; border tile + + db $5 ; warps + db $3, $6, $1, MANSION_1 + db $3, $12, $0, CINNABAR_GYM + db $9, $6, $0, CINNABAR_LAB_1 + db $b, $b, $0, CINNABAR_POKECENTER + db $b, $f, $0, CINNABAR_MART + + db $5 ; signs + db $5, $9, $3 ; CinnabarIslandText3 + db $b, $10, $4 ; CinnabarIslandText4 + db $b, $c, $5 ; CinnabarIslandText5 + db $b, $9, $6 ; CinnabarIslandText6 + db $3, $d, $7 ; CinnabarIslandText7 + + db $2 ; people + db SPRITE_GIRL, $5 + 4, $c + 4, $fe, $2, $1 ; person + db SPRITE_GAMBLER, $6 + 4, $e + 4, $ff, $ff, $2 ; person + + ; warp-to + EVENT_DISP $a, $3, $6 ; MANSION_1 + EVENT_DISP $a, $3, $12 ; CINNABAR_GYM + EVENT_DISP $a, $9, $6 ; CINNABAR_LAB_1 + EVENT_DISP $a, $b, $b ; CINNABAR_POKECENTER + EVENT_DISP $a, $b, $f ; CINNABAR_MART + +CinnabarIslandBlocks: ; 0x1c069 90 + INCBIN "maps/cinnabarisland.blk" + +Route1_h: ; 0x1c0c3 to 0x1c0e5 (34 bytes) (bank=7) (id=12) + db $00 ; tileset + db ROUTE_1_HEIGHT, ROUTE_1_WIDTH ; dimensions (y, x) + dw Route1Blocks, Route1Texts, Route1Script ; blocks, texts, scripts + db NORTH | SOUTH ; connections + + ; connections data + + db VIRIDIAN_CITY + dw ViridianCityBlocks + (VIRIDIAN_CITY_HEIGHT - 3) * VIRIDIAN_CITY_WIDTH + 2, $c6e8 ; pointers (connected, current) (strip) + db $10, $14 ; bigness, width + db $23, $0a ; alignments (y, x) + dw $c8bd ; window + + db PALLET_TOWN + dw PalletTownBlocks, $c83b ; pointers (connected, current) (strip) + db $0a, $0a ; bigness, width + db $00, $00 ; alignments (y, x) + dw $c6f9 ; window + + ; end connections data + + dw Route1Object ; objects + +Route1Object: ; 0x1c0e5 (size=19) + db $b ; border tile + + db $0 ; warps + + db $1 ; signs + db $1b, $9, $3 ; Route1Text3 + + db $2 ; people + db SPRITE_BUG_CATCHER, $18 + 4, $5 + 4, $fe, $1, $1 ; person + db SPRITE_BUG_CATCHER, $d + 4, $f + 4, $fe, $2, $2 ; person + +; XXX what is this? +Unknown_1c0f8: ; 0x1c0f8 + db $12, $c7, $7, $2 + +Route1Blocks: ; 0x1c0fc 180 + INCBIN "maps/route1.blk" + +UndergroundPathEntranceRoute8Blocks: ; 0x1c1b0 16 + INCBIN "maps/undergroundpathentranceroute8.blk" + +OaksLabBlocks: ; 0x1c1c0 30 + INCBIN "maps/oakslab.blk" + +Route16HouseBlocks: +Route2HouseBlocks: +SaffronHouse1Blocks: +SaffronHouse2Blocks: +VermilionHouse1Blocks: +NameRaterBlocks: +LavenderHouse1Blocks: +LavenderHouse2Blocks: +CeruleanHouse2Blocks: +PewterHouse1Blocks: +PewterHouse2Blocks: +ViridianHouseBlocks: ; 0x1c1de 41DE size=16 + INCBIN "maps/viridianhouse.blk" + +CeladonMansion5Blocks: +SchoolBlocks: ; 0x1c1ee 41EE size=16 + INCBIN "maps/school.blk" + +CeruleanHouseTrashedBlocks: ; 0x1c1fe size=16 + INCBIN "maps/ceruleanhousetrashed.blk" + +DiglettsCaveEntranceRoute11Blocks: +DiglettsCaveRoute2Blocks: ; 0x1c20e size=16 + INCBIN "maps/diglettscaveroute2.blk" + +MonsterNames: ; 421E + db "RHYDON@@@@" + db "KANGASKHAN" + db "NIDORAN♂@@" + db "CLEFAIRY@@" + db "SPEAROW@@@" + db "VOLTORB@@@" + db "NIDOKING@@" + db "SLOWBRO@@@" + db "IVYSAUR@@@" + db "EXEGGUTOR@" + db "LICKITUNG@" + db "EXEGGCUTE@" + db "GRIMER@@@@" + db "GENGAR@@@@" + db "NIDORAN♀@@" + 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 "MISSINGNO." + db "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 "MISSINGNO." + db "MAGMAR@@@@" + db "MISSINGNO." + db "ELECTABUZZ" + db "MAGNETON@@" + db "KOFFING@@@" + db "MISSINGNO." + db "MANKEY@@@@" + db "SEEL@@@@@@" + db "DIGLETT@@@" + db "TAUROS@@@@" + db "MISSINGNO." + db "MISSINGNO." + db "MISSINGNO." + db "FARFETCH'D" + db "VENONAT@@@" + db "DRAGONITE@" + db "MISSINGNO." + db "MISSINGNO." + db "MISSINGNO." + db "DODUO@@@@@" + db "POLIWAG@@@" + db "JYNX@@@@@@" + db "MOLTRES@@@" + db "ARTICUNO@@" + db "ZAPDOS@@@@" + db "DITTO@@@@@" + db "MEOWTH@@@@" + db "KRABBY@@@@" + db "MISSINGNO." + db "MISSINGNO." + db "MISSINGNO." + db "VULPIX@@@@" + db "NINETALES@" + db "PIKACHU@@@" + db "RAICHU@@@@" + db "MISSINGNO." + db "MISSINGNO." + db "DRATINI@@@" + db "DRAGONAIR@" + db "KABUTO@@@@" + db "KABUTOPS@@" + db "HORSEA@@@@" + db "SEADRA@@@@" + db "MISSINGNO." + db "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 "MISSINGNO." + db "DODRIO@@@@" + db "PRIMEAPE@@" + db "DUGTRIO@@@" + db "VENOMOTH@@" + db "DEWGONG@@@" + db "MISSINGNO." + db "MISSINGNO." + db "CATERPIE@@" + db "METAPOD@@@" + db "BUTTERFREE" + db "MACHAMP@@@" + db "MISSINGNO." + db "GOLDUCK@@@" + db "HYPNO@@@@@" + db "GOLBAT@@@@" + db "MEWTWO@@@@" + db "SNORLAX@@@" + db "MAGIKARP@@" + db "MISSINGNO." + db "MISSINGNO." + db "MUK@@@@@@@" + db "MISSINGNO." + db "KINGLER@@@" + db "CLOYSTER@@" + db "MISSINGNO." + db "ELECTRODE@" + db "CLEFABLE@@" + db "WEEZING@@@" + db "PERSIAN@@@" + db "MAROWAK@@@" + db "MISSINGNO." + db "HAUNTER@@@" + db "ABRA@@@@@@" + db "ALAKAZAM@@" + db "PIDGEOTTO@" + db "PIDGEOT@@@" + db "STARMIE@@@" + db "BULBASAUR@" + db "VENUSAUR@@" + db "TENTACRUEL" + db "MISSINGNO." + db "GOLDEEN@@@" + db "SEAKING@@@" + db "MISSINGNO." + db "MISSINGNO." + db "MISSINGNO." + db "MISSINGNO." + db "PONYTA@@@@" + db "RAPIDASH@@" + db "RATTATA@@@" + db "RATICATE@@" + db "NIDORINO@@" + db "NIDORINA@@" + db "GEODUDE@@@" + db "PORYGON@@@" + db "AERODACTYL" + db "MISSINGNO." + db "MAGNEMITE@" + db "MISSINGNO." + db "MISSINGNO." + db "CHARMANDER" + db "SQUIRTLE@@" + db "CHARMELEON" + db "WARTORTLE@" + db "CHARIZARD@" + db "MISSINGNO." + db "MISSINGNO." + db "MISSINGNO." + db "MISSINGNO." + db "ODDISH@@@@" + db "GLOOM@@@@@" + db "VILEPLUME@" + db "BELLSPROUT" + db "WEEPINBELL" + db "VICTREEBEL" + +INCBIN "baserom.gbc",$1c98a,$1c9c1 - $1c98a + +UnnamedText_1c9c1: ; 0x1c9c1 + TX_FAR _UnnamedText_1c9c1 + db $50 +; 0x1c9c1 + 5 bytes + +INCBIN "baserom.gbc",$1c9c6,$1ca14 - $1c9c6 + +UnnamedText_1ca14: ; 0x1ca14 + TX_FAR _UnnamedText_1ca14 + db $50 +; 0x1ca14 + 5 bytes + +CinnabarIslandScript: ; 0x1ca19 + call $3c3c + ld hl, $d126 + set 5, [hl] + ld hl, $d796 + res 0, [hl] + ld hl, $d7a3 + res 1, [hl] + ld hl, CinnabarIslandScripts + ld a, [$d639] + jp $3d97 +; 0x1ca34 + +CinnabarIslandScripts: ; 0x1ca34 + dw CinnabarIslandScript0, CinnabarIslandScript1 + +CinnabarIslandScript0: ; 0x1ca38 + ld b, $2b + call $3493 + ret nz + ld a, [$d361] + cp $4 + ret nz + ld a, [$d362] + cp $12 + ret nz + ld a, $8 + ld [$d528], a + ld a, $8 + ld [$ff00+$8c], a + call $2920 + xor a + ld [$ff00+$b4], a + ld a, $1 + ld [$cd38], a + ld a, $80 + ld [$ccd3], a + call $3486 + xor a + ld [$c109], a + ld [$cd6b], a + ld a, $1 + ld [$d639], a + ret +; 0x1ca73 + +CinnabarIslandScript1: ; 0x1ca73 + ld a, [$cd38] + and a + ret nz + call Delay3 + ld a, $0 + ld [$d639], a + ret +; 0x1ca81 + +CinnabarIslandTexts: ; 0x1ca81 + dw CinnabarIslandText1, CinnabarIslandText2, CinnabarIslandText3, CinnabarIslandText4, CinnabarIslandText5, CinnabarIslandText6, CinnabarIslandText7, CinnabarIslandText8 + +CinnabarIslandText8: ; 0x1ca91 + TX_FAR _CinnabarIslandText8 + db $50 +; 0x1ca91 + 5 bytes + +CinnabarIslandText1: ; 0x1ca96 + TX_FAR _CinnabarIslandText1 + db $50 + +CinnabarIslandText2: ; 0x1ca9b + TX_FAR _CinnabarIslandText2 + db $50 + +CinnabarIslandText3: ; 0x1caa0 + TX_FAR _CinnabarIslandText3 + db $50 + +CinnabarIslandText6: ; 0x1caa5 + TX_FAR _CinnabarIslandText6 + db $50 + +CinnabarIslandText7: ; 0x1caaa + TX_FAR _CinnabarIslandText7 + db $50 + +Route1Script: ; 0x1caaf + jp $3c3c +; 0x1cab2 + +Route1Texts: ; 0x1cab2 + dw Route1Text1, Route1Text2, Route1Text3 + +Route1Text1: ; 0x1cab8 + db $08 ; asm + ld hl, $d7bf + bit 0, [hl] + set 0, [hl] + jr nz, .asm_02840 ; 0x1cac0 + ld hl, Route1ViridianMartSampleText + call PrintText + ld bc, (POTION << 8) | 1 + call GiveItem + jr nc, .asm_a630e ; 0x1cace + ld hl, $4ae8 + jr .asm_46d43 ; 0x1cad3 +.asm_a630e ; 0x1cad5 + ld hl, $4af3 + jr .asm_46d43 ; 0x1cad8 +.asm_02840 ; 0x1cada + ld hl, $4aee +.asm_46d43 ; 0x1cadd + call PrintText + jp TextScriptEnd + +Route1ViridianMartSampleText: ; 0x1cae3 + TX_FAR _Route1ViridianMartSampleText + db $50 +; 0x1cae3 + 5 bytes + +INCBIN "baserom.gbc",$1cae8,$1caee - $1cae8 + +UnnamedText_1caee: ; 0x1caee + TX_FAR _UnnamedText_1caee + db $50 +; 0x1caee + 5 bytes + +UnnamedText_1caf3: ; 0x1caf3 + TX_FAR _UnnamedText_1caf3 + db $50 +; 0x1caf3 + 5 bytes + +Route1Text2: ; 0x1caf8 + TX_FAR _Route1Text2 + db $50 + +Route1Text3: ; 0x1cafd + TX_FAR _Route1Text3 + db $50 + +OaksLab_h: ; 0x1cb02 to 0x1cb0e (12 bytes) (bank=7) (id=40) + db $05 ; tileset + db OAKS_LAB_HEIGHT, OAKS_LAB_WIDTH ; dimensions (y, x) + dw OaksLabBlocks, OaksLabTexts, OaksLabScript ; blocks, texts, scripts + db $00 ; connections + + dw OaksLabObject ; objects + +OaksLabScript: ; 0x1cb0e + ld a, [$d74b] + bit 6, a + call nz, $5076 + ld a, $1 + ld [$cf0c], a + xor a + ld [$cc3c], a + ld hl, OaksLabScripts + ld a, [W_OAKSLABCURSCRIPT] + jp $3d97 +; 0x1cb28 + +OaksLabScripts: ; 0x1cb28 + dw OaksLabScript0, OaksLabScript1, OaksLabScript2, OaksLabScript3, OaksLabScript4, OaksLabScript5, OaksLabScript6, OaksLabScript7, OaksLabScript8, OaksLabScript9, OaksLabScript10, OaksLabScript11, OaksLabScript12, OaksLabScript13, OaksLabScript14, OaksLabScript15, OaksLabScript16, OaksLabScript17, OaksLabScript18 + +OaksLabScript0: ; 0x1cb4e + ld a, [$d74b] + bit 7, a + ret z + ld a, [$cf10] + and a + ret nz + ld a, $31 + ld [$cc4d], a + ld a, $15 + call Predef + ld hl, $d72e + res 4, [hl] + + ld a, $1 + ld [W_OAKSLABCURSCRIPT], a + ret +; 0x1cb6e + +OaksLabScript1: ; 0x1cb6e + ld a, $8 + ld [$ff00+$8c], a + ld de, OakEntryMovement + call MoveSprite + + ld a, $2 + ld [W_OAKSLABCURSCRIPT], a + ret +; 0x1cb7e + +OakEntryMovement: ; 0x1cb7e + db $40, $40, $40, $ff + +OaksLabScript2: ; 0x1cb82 + ld a, [$d730] + bit 0, a + ret nz + ld a, $31 + ld [$cc4d], a + ld a, $11 + call Predef + ld a, $2e + ld [$cc4d], a + ld a, $15 + call Predef + + ld a, $3 + ld [W_OAKSLABCURSCRIPT], a + ret +; 0x1cba2 + +OaksLabScript3: ; 0x1cba2 + call Delay3 + ld hl, $ccd3 + ld de, PlayerEntryMovementRLE + call $350c + dec a + ld [$cd38], a + call $3486 + ld a, $1 + ld [$ff00+$8c], a + xor a + ld [$ff00+$8d], a + call $34a6 ; face object + ld a, $5 + ld [$ff00+$8c], a + xor a + ld [$ff00+$8d], a + call $34a6 ; face object + + ld a, $4 + ld [W_OAKSLABCURSCRIPT], a + ret +; 0x1cbcf + +PlayerEntryMovementRLE: ; 0x1cbcf + db $40, $8, $ff + +OaksLabScript4: ; 0x1cbd2 + ld a, [$cd38] + and a + ret nz + ld hl, $d747 + set 0, [hl] + ld hl, $d74b + set 0, [hl] + ld a, $1 + ld [$ff00+$8c], a + ld a, $4 + ld [$ff00+$8d], a + call $34a6 ; face object + call $2429 + ld hl, $d733 + res 1, [hl] + call $2307 + + ld a, $5 + ld [W_OAKSLABCURSCRIPT], a + ret +; 0x1cbfd + +OaksLabScript5: ; 0x1cbfd + ld a, $fc + ld [$cd6b], a + ld a, $11 + ld [$ff00+$8c], a + call $2920 + call Delay3 + ld a, $12 + ld [$ff00+$8c], a + call $2920 + call Delay3 + ld a, $13 + ld [$ff00+$8c], a + call $2920 + call Delay3 + ld a, $14 + ld [$ff00+$8c], a + call $2920 + ld hl, $d74b + set 1, [hl] + xor a + ld [$cd6b], a + + ld a, $6 + ld [W_OAKSLABCURSCRIPT], a + ret +; 0x1cc36 + +OaksLabScript6: ; 0x1cc36 + ld a, [W_YCOORD] + cp $6 + ret nz + ld a, $5 + ld [$ff00+$8c], a + xor a + ld [$ff00+$8d], a + call $34a6 ; face object + ld a, $1 + ld [$ff00+$8c], a + xor a + ld [$ff00+$8d], a + call $34a6 ; face object + call $2429 + ld a, $c + ld [$ff00+$8c], a + call $2920 + ld a, $1 + ld [$cd38], a + ld a, $40 + ld [$ccd3], a + call $3486 + ld a, $8 + ld [$d528], a + + ld a, $7 + ld [W_OAKSLABCURSCRIPT], a + ret +; 0x1cc72 + +OaksLabScript7: ; 0x1cc72 + ld a, [$cd38] + and a + ret nz + call Delay3 + + ld a, $6 + ld [W_OAKSLABCURSCRIPT], a + ret +; 0x1cc80 + +OaksLabScript8: ; 0x1cc80 + ld a, [W_PLAYERSTARTER] + cp CHARMANDER + jr z, .Charmander\@ ; 0x1cc85 $6 + cp SQUIRTLE + jr z, .Squirtle\@ ; 0x1cc89 $1d + jr .Bulbasaur\@ ; 0x1cc8b $38 +.Charmander\@ + ld de, .MiddleBallMovement1 + ld a, [W_YCOORD] + cp $4 ; is the player standing below the table? + jr z, .asm_1ccf3 ; 0x1cc95 $5c + ld de, .MiddleBallMovement2 + jr .asm_1ccf3 ; 0x1cc9a $57 + +.MiddleBallMovement1 + db 0,0,$C0,$C0,$C0,$40,$FF +.MiddleBallMovement2 + db 0,$C0,$C0,$C0,$FF + +.Squirtle\@ + ld de, .RightBallMovement1 + ld a, [W_YCOORD] + cp $4 ; is the player standing below the table? + jr z, .asm_1ccf3 ; 0x1ccb0 $41 + ld de, .RightBallMovement2 + jr .asm_1ccf3 ; 0x1ccb5 $3c + +.RightBallMovement1 + db 0,0,$C0,$C0,$C0,$C0,$40,$FF +.RightBallMovement2 + db 0,$C0,$C0,$C0,$C0,$FF + +.Bulbasaur\@ + ld de, .LeftBallMovement1 + ld a, [W_XCOORD] + cp $9 ; is the player standing to the right of the table? + jr nz, .asm_1ccf3 ; 0x1cccd $24 + push hl + ld a, $1 + ld [$ff00+$8c], a + ld a, $4 + ld [$ff00+$8b], a + call $34fc + push hl + ld [hl], $4c + inc hl + inc hl + ld [hl], $0 + pop hl + inc h + ld [hl], $8 + inc hl + ld [hl], $9 + ld de, .LeftBallMovement2 ; the rival is not currently onscreen, so account for that + pop hl + jr .asm_1ccf3 ; 0x1cced $4 + +.LeftBallMovement1 + db 0,$C0 ; not yet terminated! +.LeftBallMovement2 + db $C0,$FF + +.asm_1ccf3 + ld a, $1 + ld [$ff00+$8c], a + call MoveSprite + + ld a, $9 + ld [W_OAKSLABCURSCRIPT], a + ret +; 0x1cd00 + +OaksLabScript9: ; 0x1cd00 + ld a, [$d730] + bit 0, a + ret nz + ld a, $fc + ld [$cd6b], a + ld a, $1 + ld [$ff00+$8c], a + ld a, $4 + ld [$ff00+$8d], a + call $34a6 ; face object + ld a, $d + ld [$ff00+$8c], a + call $2920 + ld a, [$cd3e] + cp $2 + jr nz, .asm_1cd28 ; 0x1cd22 $4 + ld a, $2b + jr .asm_1cd32 ; 0x1cd26 $a +.asm_1cd28 + cp $3 + jr nz, .asm_1cd30 ; 0x1cd2a $4 + ld a, $2c + jr .asm_1cd32 ; 0x1cd2e $2 +.asm_1cd30 + ld a, $2d +.asm_1cd32 + ld [$cc4d], a + ld a, $11 + call Predef + call Delay3 + ld a, [$cd3d] + ld [W_RIVALSTARTER], a + ld [$cf91], a + ld [$d11e], a + call GetMonName + ld a, $1 + ld [$ff00+$8c], a + ld a, $4 + ld [$ff00+$8d], a + call $34a6 ; face object + ld a, $e + ld [$ff00+$8c], a + call $2920 + ld hl, $d74b + set 2, [hl] + xor a + ld [$cd6b], a + + ld a, $a + ld [W_OAKSLABCURSCRIPT], a + ret +; 0x1cd6d + +OaksLabScript10: ; 0x1cd6d + ld a, [W_YCOORD] + cp $6 + ret nz + ld a, $1 + ld [$ff00+$8c], a + xor a + ld [$ff00+$8d], a + call $34a6 ; face object + ld a, $8 + ld [$d528], a + ld c, $2 + ld a, $de + call $23a1 ; play music + ld a, $f + ld [$ff00+$8c], a + call $2920 + ld a, $1 + ld [$ff00+$9b], a + ld a, $1 + swap a + ld [$ff00+$95], a + ld a, $22 + call Predef + ld a, [$ff00+$95] + dec a + ld [$ff00+$95], a + ld a, $20 + call Predef + ld de, $cc97 + ld a, $1 + ld [$ff00+$8c], a + call MoveSprite + + ld a, $b + ld [W_OAKSLABCURSCRIPT], a + ret +; 0x1cdb9 + +OaksLabScript11: ; 0x1cdb9 + ld a, [$d730] + bit 0, a + ret nz + + ; define which team rival uses, and fight it + ld a, SONY1 + 200 + ld [W_CUROPPONENT], a + ld a, [W_RIVALSTARTER] + cp SQUIRTLE + jr nz, .NotSquirtle\@ ; 0x1cdc9 $4 + ld a, $1 + jr .done\@ ; 0x1cdcd $a +.NotSquirtle\@ + cp BULBASAUR + jr nz, .Charmander\@ ; 0x1cdd1 $4 + ld a, $2 + jr .done\@ ; 0x1cdd5 $2 +.Charmander\@ + ld a, $3 +.done\@ + ld [W_TRAINERNO], a + ld a, $1 + ld [$cf13], a + call $32ef + ld hl, $53be + ld de, $53c3 + call $3354 + ld hl, $d72d + set 6, [hl] + set 7, [hl] + xor a + ld [$cd6b], a + ld a, $8 + ld [$d528], a + + ld a, $c + ld [W_OAKSLABCURSCRIPT], a + ret +; 0x1ce03 + +OaksLabScript12: ; 0x1ce03 + ld a, $f0 + ld [$cd6b], a + ld a, $8 + ld [$d528], a + call $2429 + ld a, $1 + ld [$cf13], a + call $32f9 + ld a, $1 + ld [$ff00+$8c], a + xor a + ld [$ff00+$8d], a + call $34a6 ; face object + ld a, $7 + call Predef + ld hl, $d74b + set 3, [hl] + + ld a, $d + ld [W_OAKSLABCURSCRIPT], a + ret +; 0x1ce32 + +OaksLabScript13: ; 0x1ce32 + ld c, $14 + call $3739 + ld a, $10 + ld [$ff00+$8c], a + call $2920 + ld b, $2 + ld hl, $5b47 + call Bankswitch + ld a, $1 + ld [$ff00+$8c], a + ld de, .RivalExitMovement + call MoveSprite + ld a, [W_XCOORD] + cp $4 + ; move left or right depending on where the player is standing + jr nz, .asm_1ce5b ; 0x1ce55 $4 + ld a, $c0 + jr .asm_1ce5d ; 0x1ce59 $2 +.asm_1ce5b + ld a, $80 +.asm_1ce5d + ld [$cc5b], a + + ld a, $e + ld [W_OAKSLABCURSCRIPT], a + ret +; 0x1ce66 + +.RivalExitMovement + db $E0,0,0,0,0,0,$FF + +OaksLabScript14: ; 0x1ce6d + ld a, [$d730] + bit 0, a + jr nz, .asm_1ce8c ; 0x1ce72 $18 + ld a, $2a + ld [$cc4d], a + ld a, $11 + call Predef + xor a + ld [$cd6b], a + call $2307 ; reset to map music + ld a, $12 + ld [W_OAKSLABCURSCRIPT], a + jr .done\@ ; 0x1ce8a $23 +.asm_1ce8c + ld a, [$cf0f] + cp $5 + jr nz, .asm_1cea8 ; 0x1ce91 $15 + ld a, [$d362] + cp $4 + jr nz, .asm_1cea1 ; 0x1ce98 $7 + ld a, $c + ld [$c109], a + jr .done\@ ; 0x1ce9f $e +.asm_1cea1 + ld a, $8 + ld [$c109], a + jr .done\@ ; 0x1cea6 $7 +.asm_1cea8 + cp $4 + ret nz + xor a + ld [$c109], a +.done\@ + ret +; 0x1ceb0 + +OaksLabScript15: ; 0x1ceb0 + xor a + ld [$ff00+$b4], a + call $3c3c + ld a, $ff + ld [$c0ee], a + call $23b1 + ld b, $2 + ld hl, $5b47 + call Bankswitch + ld a, $15 + ld [$ff00+$8c], a + call $2920 + call $502b + ld a, $2a + ld [$cc4d], a + ld a, $15 + call Predef + ld a, [$cd37] + ld [$d157], a + ld b, $0 + ld c, a + ld hl, $cc97 + ld a, $40 + call $36e0 + ld [hl], $ff + ld a, $1 + ld [$ff00+$8c], a + ld de, $cc97 + call MoveSprite + + ld a, $10 + ld [W_OAKSLABCURSCRIPT], a + ret +; 0x1cefd + +Function1CEFD ; 0x1cefd + ld a, $1 + ld [$ff00+$8c], a + ld a, $4 + ld [$ff00+$8d], a + call $34a6 ; face object + ld a, $8 + ld [$ff00+$8c], a + xor a + ld [$ff00+$8d], a + jp $34a6 ; face object +; 0x1cf12 + +OaksLabScript16: ; 0x1cf12 + ld a, [$d730] + bit 0, a + ret nz + call $3c3c + call $2307 + ld a, $fc + ld [$cd6b], a + call Function1CEFD + ld a, $16 + ld [$ff00+$8c], a + call $2920 + call DelayFrame + call Function1CEFD + ld a, $17 + ld [$ff00+$8c], a + call $2920 + call DelayFrame + call Function1CEFD + ld a, $18 + ld [$ff00+$8c], a + call $2920 + call DelayFrame + ld a, $19 + ld [$ff00+$8c], a + call $2920 + call Delay3 + ld a, $2f + ld [$cc4d], a + ld a, $11 + call Predef + ld a, $30 + ld [$cc4d], a + ld a, $11 + call Predef + call Function1CEFD + ld a, $1a + ld [$ff00+$8c], a + call $2920 + ld a, $1 + ld [$ff00+$8c], a + ld a, $c + ld [$ff00+$8d], a + call $34a6 ; face object + call Delay3 + ld a, $1b + ld [$ff00+$8c], a + call $2920 + ld hl, $d74b + set 5, [hl] + ld hl, $d74e + set 0, [hl] + ld a, $1 + ld [$cc4d], a + ld a, $11 + call Predef + ld a, $2 + ld [$cc4d], a + ld a, $15 + call Predef + ld a, [$d157] + ld b, $0 + ld c, a + ld hl, $cc97 + xor a + call $36e0 + ld [hl], $ff + ld a, $ff + ld [$c0ee], a + call $23b1 + ld b, $2 + ld hl, $5b47 + call Bankswitch + ld a, $1 + ld [$ff00+$8c], a + ld de, $cc97 + call MoveSprite + + ld a, $11 + ld [W_OAKSLABCURSCRIPT], a + ret +; 0x1cfd4 + +OaksLabScript17: ; 0x1cfd4 + ld a, [$d730] + bit 0, a + ret nz + call $2307 + ld a, $2a + ld [$cc4d], a + ld a, $11 + call Predef + ld hl, $d7eb + set 0, [hl] + res 1, [hl] + set 7, [hl] + ld a, $22 + ld [$cc4d], a + ld a, $15 + call Predef + ld a, $5 + ld [$d5f1], a + xor a + ld [$cd6b], a + + ld a, $12 + ld [W_OAKSLABCURSCRIPT], a + ret +; 0x1d009 + +OaksLabScript18: ; 0x1d009 + ret +; 0x1d00a + +Function1D00A: ; 0x1d00a + ld hl, W_BAGITEM01 + ld bc, $0000 +.asm_1d010 + ld a, [hli] + cp $ff + ret z + cp OAKS_PARCEL + jr z, .GotParcel ; 0x1d016 $4 + inc hl + inc c + jr .asm_1d010 ; 0x1d01a $f4 +.GotParcel + ld hl, $d31d + ld a, c + ld [$cf92], a + ld a, $1 + ld [$cf96], a + jp $2bbb +; 0x1d02b + + +INCBIN "baserom.gbc",$1d02b,$1d082-$1d02b + +OaksLabTexts: ; 0x1d082 + dw OaksLabText1, OaksLabText2, OaksLabText3, OaksLabText4, OaksLabText5, OaksLabText6, OaksLabText7, OaksLabText8, OaksLabText9, OaksLabText10, OaksLabText11, OaksLabText12, OaksLabText13, OaksLabText14, OaksLabText15, OaksLabText16, OaksLabText17, OaksLabText18, OaksLabText19, OaksLabText20, OaksLabText21, OaksLabText22, OaksLabText23, OaksLabText24, OaksLabText25, OaksLabText26, OaksLabText27, OaksLabText28, OaksLabText29, OaksLabText30, OaksLabText31, OaksLabText32, OaksLabText33, OaksLabText34, OaksLabText35, OaksLabText36, OaksLabText37, OaksLabText38 + +OaksLabText28: +OaksLabText1: ; 0x1d0ce + db $08 ; asm + ld a, [$d74b] + bit 0, a + jr nz, .asm_1d0de ; 0x1d0d4 + ld hl, OaksLabGaryText1 + call PrintText + jr .asm_1d0f0 ; 0x1d0dc +.asm_1d0de ; 0x1d0de + bit 2, a + jr nz, .asm_1d0ea ; 0x1d0e0 + ld hl, OaksLabText40 + call PrintText + jr .asm_1d0f0 ; 0x1d0e8 +.asm_1d0ea ; 0x1d0ea + ld hl, OaksLabText41 + call PrintText +.asm_1d0f0 ; 0x1d0f0 + jp TextScriptEnd + +OaksLabGaryText1: ; 0x1d0f3 + TX_FAR _OaksLabGaryText1 + db $50 +; 0x1d0f8 + +OaksLabText40: ; 0x1d0f8 + TX_FAR _OaksLabText40 + db $50 +; 0x1d0f8 + 5 bytes + +OaksLabText41: ; 0x1d0fd + TX_FAR _OaksLabText41 + db $50 +; 0x1d0fd + 5 bytes + +OaksLabText29: +OaksLabText2: ; 0x1d102 + db $8 + ld a, $b1 + ld [$cd3d], a + ld a, $3 + ld [$cd3e], a + ld a, $b0 + ld b, $2 + jr asm_1d133 ; 0x1d111 $20 + +OaksLabText30: +OaksLabText3: ; 0x1d113 + db $8 + ld a, $99 + ld [$cd3d], a + ld a, $4 + ld [$cd3e], a + ld a, $b1 + ld b, $3 + jr asm_1d133 ; 0x1d122 $f + +OaksLabText31: +OaksLabText4: ; 0x1d124 + db $8 + ld a, $b0 + ld [$cd3d], a + ld a, $2 + ld [$cd3e], a + ld a, $99 + ld b, $4 + +asm_1d133: ; 0x1d133 + ld [$cf91], a + ld [$d11e], a + ld a, b + ld [$cf13], a + ld a, [$d74b] + bit 2, a + jp nz, $522d + bit 1, a + jr nz, asm_1d157 ; 0x1d147 $e + ld hl, OaksLabText39 + call PrintText + jp TextScriptEnd +; 0x1d152 + +OaksLabText39: ; 0x1d152 + TX_FAR _OaksLabText39 + db $50 + +asm_1d157: ; 0x1d157 + ld a, $5 + ld [$ff00+$8c], a + ld a, $9 + ld [$ff00+$8b], a + call $34fc + ld [hl], $0 + ; manually fixed some disassembler issues around here + ld a, $1 + ld [$FF8c], a + ld a, $9 + ld [$ff00+$8b], a + call $34fc + ld [hl], $c + ld hl, $d730 + set 6, [hl] + ld a, $46 + call Predef + ld hl, $d730 + res 6, [hl] + call $3071 + ld c, $a + call $3739 + ld a, [$cf13] + cp $2 + jr z, OaksLabLookAtCharmander + cp $3 + jr z, OaksLabLookAtSquirtle + jr OaksLabLookAtBulbasaur + +OaksLabLookAtCharmander ; 0x1d195 + ld hl, OaksLabCharmanderText + jr OaksLabMonChoiceMenu +OaksLabCharmanderText: ; 0x1d19a + TX_FAR _OaksLabCharmanderText ; 0x94e06 + db $50 +; 0x1d19f + +OaksLabLookAtSquirtle: ; 0x1d19f + ld hl, OaksLabSquirtleText + jr OaksLabMonChoiceMenu +OaksLabSquirtleText: ; 0x1d1a4 + TX_FAR _OaksLabSquirtleText ; 0x94e2f + db $50 +; 0x1d1a9 + +OaksLabLookAtBulbasaur: ; 0x1d1a9 + ld hl, OaksLabBulbasaurText + jr OaksLabMonChoiceMenu +OaksLabBulbasaurText: ; 0x1d1ae + TX_FAR _OaksLabBulbasaurText ; 0x94e57 + db $50 +; 0x1d1b3 + +OaksLabMonChoiceMenu: ; 0x1d1b3 + call PrintText + ld a, $1 + ld [$cc3c], a + call $35ec ; yes/no menu + ld a, [$cc26] + and a + jr nz, OaksLabMonChoiceEnd + ld a, [$cf91] + ld [$d717], a + ld [$d11e], a + call GetMonName + ld a, [$cf13] + cp $2 + jr nz, asm_1d1db ; 0x1d1d5 $4 + ld a, $2b + jr asm_1d1e5 ; 0x1d1d9 $a +asm_1d1db: ; 0x1d1db + cp $3 + jr nz, asm_1d1e3 ; 0x1d1dd $4 + ld a, $2c + jr asm_1d1e5 ; 0x1d1e1 $2 +asm_1d1e3: ; 0x1d1e3 + ld a, $2d +asm_1d1e5: ; 0x1d1e5 + ld [$cc4d], a + ld a, $11 + call Predef + ld a, $1 + ld [$cc3c], a + ld hl, OaksLabMonEnergeticText + call PrintText + ld hl, OaksLabReceivedMonText + call PrintText + xor a + ld [$cc49], a + ld a, $5 + ld [$d127], a + ld a, [$cf91] + ld [$d11e], a + call AddPokemonToParty + ld hl, $d72e + set 3, [hl] + ld a, $fc + ld [$cd6b], a + ld a, $8 + ld [W_OAKSLABCURSCRIPT], a +OaksLabMonChoiceEnd: ; 0x1d21f + jp TextScriptEnd +; 0x1d222 + +OaksLabMonEnergeticText: ; 0x1d222 + TX_FAR _OaksLabMonEnergeticText + db $50 +; 0x1d222 + 5 bytes + +OaksLabReceivedMonText: ; 0x1d227 + TX_FAR _OaksLabReceivedMonText ; 0x94ea0 + db $11, $50 +; 0x1d22d + +INCBIN "baserom.gbc",$1d22d,$1d243 - $1d22d + +OaksLabLastMonText: ; 0x1d243 + TX_FAR _OaksLabLastMonText + db $50 +; 0x1d248 + +OaksLabText32: +OaksLabText5: ; 0x1d248 + db $08 ; asm + ld a, [$d747] + bit 6, a + jr nz, .asm_50e81 ; 0x1d24e + ld hl, $d2f7 + ld b, $13 + call $2b7f + ld a, [$d11e] + cp $2 + jr c, .asm_b28b0 ; 0x1d25d + ld a, [$d74b] + bit 5, a + jr z, .asm_b28b0 ; 0x1d264 +.asm_50e81 ; 0x1d266 + ld hl, UnnamedText_1d31d + call PrintText + ld a, $1 + ld [$cc3c], a + ld a, $56 + call Predef + jp $52ed +.asm_b28b0 ; 0x1d279 + ld b,POKE_BALL + call $3493 + jr nz, .asm_17c30 ; 0x1d27e + ld a, [$d7eb] + bit 5, a + jr nz, .asm_f1adc ; 0x1d285 + ld a, [$d74b] + bit 5, a + jr nz, .asm_333a2 ; 0x1d28c + bit 3, a + jr nz, .asm_76269 ; 0x1d290 + ld a, [$d72e] + bit 3, a + jr nz, .asm_4a5e0 ; 0x1d297 + ld hl, UnnamedText_1d2f0 + call PrintText + jr .asm_0f042 ; 0x1d29f +.asm_4a5e0 ; 0x1d2a1 + ld hl, UnnamedText_1d2f5 + call PrintText + jr .asm_0f042 ; 0x1d2a7 +.asm_76269 ; 0x1d2a9 + ld b, OAKS_PARCEL + call $3493 + jr nz, .asm_a8fcf ; 0x1d2ae + ld hl, UnnamedText_1d2fa + call PrintText + jr .asm_0f042 ; 0x1d2b6 +.asm_a8fcf ; 0x1d2b8 + ld hl, OaksLabDeliverParcelText + call PrintText + call $500a + ld a, $f + ld [W_OAKSLABCURSCRIPT], a + jr .asm_0f042 ; 0x1d2c6 +.asm_333a2 ; 0x1d2c8 + ld hl, OaksLabAroundWorldText + call PrintText + jr .asm_0f042 ; 0x1d2ce +.asm_f1adc ; 0x1d2d0 + ld hl, $d74b + bit 4, [hl] + set 4, [hl] + jr nz, .asm_17c30 ; 0x1d2d7 + ld bc, (POKE_BALL << 8) | 5 + call GiveItem + ld hl, OaksLabGivePokeballsText + call PrintText + jr .asm_0f042 ; 0x1d2e5 +.asm_17c30 ; 0x1d2e7 + ld hl, OaksLabPleaseVisitText + call PrintText +.asm_0f042 ; 0x1d2ed + jp TextScriptEnd +; 0x1d2f0 + +UnnamedText_1d2f0: ; 0x1d2f0 + TX_FAR _UnnamedText_1d2f0 + db $50 +; 0x1d2f5 + +UnnamedText_1d2f5: ; 0x1d2f5 + TX_FAR _UnnamedText_1d2f5 + db $50 +; 0x1d2fa + +UnnamedText_1d2fa: ; 0x1d2fa + TX_FAR _UnnamedText_1d2fa + db $50 +; 0x1d2ff + +OaksLabDeliverParcelText: ; 0x1d2ff + TX_FAR _OaksLabDeliverParcelText1 ; 0x94f69 + db $11 + TX_FAR _OaksLabDeliverParcelText2 + db $50 +; 0x1d309 + +OaksLabAroundWorldText: ; 0x1d309 + TX_FAR _OaksLabAroundWorldText + db $50 +; 0x1d30e + +OaksLabGivePokeballsText: ; 0x1d30e + TX_FAR _OaksLabGivePokeballsText1 ; 0x9506d + db $11 + TX_FAR _OaksLabGivePokeballsText2 + db $50 +; 0x1d318 + +OaksLabPleaseVisitText: ; 0x1d318 + TX_FAR _OaksLabPleaseVisitText + db $50 +; 0x1d318 + 5 bytes + +UnnamedText_1d31d: ; 0x1d31d + TX_FAR _UnnamedText_1d31d + db $50 +; 0x1d31d + 5 bytes + +OaksLabText34: +OaksLabText33: +OaksLabText7: ; 0x1d322 +OaksLabText6: ; 0x1d322 + db $08 ; asm + ld hl, UnnamedText_1d32c + call PrintText + jp TextScriptEnd + +UnnamedText_1d32c: ; 0x1d32c + TX_FAR _UnnamedText_1d32c + db $50 +; 0x1d32c + 5 bytes + +OaksLabText35: +OaksLabText8: ; 0x1d331 + TX_FAR _OaksLabText8 + db $50 + +OaksLabText36: +OaksLabText9: ; 0x1d336 + db $08 ; asm + ld hl, UnnamedText_1d340 + call PrintText + jp TextScriptEnd + +UnnamedText_1d340: ; 0x1d340 + TX_FAR _UnnamedText_1d340 + db $50 +; 0x1d340 + 5 bytes + +OaksLabText17: ; 0x1d345 + db $8 + ld hl, OaksLabRivalWaitingText + call PrintText + jp TextScriptEnd +; 0x1d34f + +OaksLabRivalWaitingText: ; 0x1d34f + TX_FAR _OaksLabRivalWaitingText + db $50 +; 0x1d34f + 5 bytes + +OaksLabText18: ; 0x1d354 + db $8 + ld hl, OaksLabChooseMonText + call PrintText + jp TextScriptEnd +; 0x1d35e + +OaksLabChooseMonText: ; 0x1d35e + TX_FAR _OaksLabChooseMonText + db $50 +; 0x1d35e + 5 bytes + +OaksLabText19: ; 0x1d363 + db $8 + ld hl, OaksLabRivalInterjectionText + call PrintText + jp TextScriptEnd +; 0x1d36d + +OaksLabRivalInterjectionText: ; 0x1d36d + TX_FAR _OaksLabRivalInterjectionText + db $50 +; 0x1d36d + 5 bytes + +OaksLabText20: ; 0x1d372 + db $8 + ld hl, OaksLabBePatientText + call PrintText + jp TextScriptEnd +; 0x1d37c + +OaksLabBePatientText: ; 0x1d37c + TX_FAR _OaksLabBePatientText + db $50 +; 0x1d37c + 5 bytes + +OaksLabText12: ; 0x1d381 + db $8 + ld hl, OaksLabLeavingText + call PrintText + jp TextScriptEnd +; 0x1d38b + +OaksLabLeavingText: ; 0x1d38b + TX_FAR _OaksLabLeavingText + db $50 +; 0x1d38b + 5 bytes + +OaksLabText13: ; 0x1d390 + db $8 + ld hl, OaksLabRivalPickingMonText + call PrintText + jp TextScriptEnd +; 0x1d39a + +OaksLabRivalPickingMonText: ; 0x1d39a + TX_FAR _OaksLabRivalPickingMonText + db $50 +; 0x1d39f + +OaksLabText14: ; 0x1d39f + db $8 + ld hl, OaksLabRivalReceivedMonText + call PrintText + jp TextScriptEnd +; 0x1d3a9 + +OaksLabRivalReceivedMonText: ; 0x1d3a9 + TX_FAR _OaksLabRivalReceivedMonText ; 0x95461 + db $11, $50 +; 0x1d3af + +OaksLabText15: ; 0x1d3af + db $8 + ld hl, OaksLabRivalChallengeText + call PrintText + jp TextScriptEnd +; 0x1d3b9 + +OaksLabRivalChallengeText: ; 0x1d3b9 + TX_FAR _OaksLabRivalChallengeText + db $50 +; 0x1d3be + +UnnamedText_1d3be: ; 0x1d3be + TX_FAR _UnnamedText_1d3be + db $50 +; 0x1d3c3 + +UnnamedText_1d3c3: ; 0x1d3c3 + TX_FAR _UnnamedText_1d3c3 + db $50 +; 0x1d3c8 + +OaksLabText16: ; 0x1d3c8 + db $8 + ld hl, OaksLabRivalToughenUpText + call PrintText + jp TextScriptEnd +; 0x1d3d2 + +OaksLabRivalToughenUpText: ; 0x1d3d2 + TX_FAR _OaksLabRivalToughenUpText + db $50 +; 0x1d3d7 + +OaksLabText21: ; 0x1d3d7 + TX_FAR _OaksLabText21 + db $50 +; 0x1d3dc + +OaksLabText22: ; 0x1d3dc + TX_FAR _OaksLabText22 + db $50 +; 0x1d3e1 + +OaksLabText23: ; 0x1d3e1 + TX_FAR _OaksLabText23 + db $50 +; 0x1d3e6 + +OaksLabText24: ; 0x1d3e6 + TX_FAR _OaksLabText24 + db $50 +; 0x1d3eb + +OaksLabText25: ; 0x1d3eb + TX_FAR _OaksLabText25 + db $11, $50 +; 0x1d3f1 + +OaksLabText26: ; 0x1d3f1 + TX_FAR _OaksLabText26 + db $50 +; 0x1d3f6 + +OaksLabText27: ; 0x1d3f6 + TX_FAR _OaksLabText27 + db $50 +; 0x1d3fb + +OaksLabText38: +OaksLabText37: +OaksLabText11: +OaksLabText10: ; 0x1d3fb + db $08 ; asm + ld hl, UnnamedText_1d405 + call PrintText + jp TextScriptEnd + +UnnamedText_1d405: ; 0x1d405 + TX_FAR _UnnamedText_1d405 + db $50 +; 0x1d405 + 5 bytes + +OaksLabObject: ; 0x1d40a (size=88) + db $3 ; border tile + + db $2 ; warps + db $b, $4, $2, $ff + db $b, $5, $2, $ff + + db $0 ; signs + + db $b ; people + db SPRITE_BLUE, $3 + 4, $4 + 4, $ff, $ff, $41, SONY1 + $C8, $1 ; trainer + db SPRITE_BALL, $3 + 4, $6 + 4, $ff, $ff, $2 ; person + db SPRITE_BALL, $3 + 4, $7 + 4, $ff, $ff, $3 ; person + db SPRITE_BALL, $3 + 4, $8 + 4, $ff, $ff, $4 ; person + db SPRITE_OAK, $2 + 4, $5 + 4, $ff, $d0, $5 ; person + db SPRITE_BOOK_MAP_DEX, $1 + 4, $2 + 4, $ff, $ff, $6 ; person + db SPRITE_BOOK_MAP_DEX, $1 + 4, $3 + 4, $ff, $ff, $7 ; person + db SPRITE_OAK, $a + 4, $5 + 4, $ff, $d1, $8 ; person + db SPRITE_GIRL, $9 + 4, $1 + 4, $fe, $1, $9 ; person + db SPRITE_OAK_AIDE, $a + 4, $2 + 4, $ff, $ff, $a ; person + db SPRITE_OAK_AIDE, $a + 4, $8 + 4, $ff, $ff, $b ; person + + ; warp-to + EVENT_DISP $5, $b, $4 + EVENT_DISP $5, $b, $5 + +ViridianMart_h: ; 0x1d462 to 0x1d46e (12 bytes) (bank=7) (id=42) + db $02 ; tileset + db VIRIDIAN_MART_HEIGHT, VIRIDIAN_MART_WIDTH ; dimensions (y, x) + dw ViridianMartBlocks, ViridianMartTexts, ViridianMartScript ; blocks, texts, scripts + db $00 ; connections + + dw ViridianMartObject ; objects + +ViridianMartScript: ; 0x1d46e + call ViridianMartScript_Unknown1d47d + call $3c3c + ld hl, $5495 + ld a, [$d60d] + jp $3d97 +; 0x1d47d + +ViridianMartScript_Unknown1d47d: ; 0x1d47d +INCBIN "baserom.gbc",$1d47d,$1e + +ViridianMartScript0: ; 0x1d49b + call $2429 + ld a, $4 + ld [$ff00+$8c], a + call $2920 + ld hl, $ccd3 + ld de, $54bb + call $350c + dec a + ld [$cd38], a + call $3486 + ld a, $1 + ld [$d60d], a + ret +; 0x1d4bb + +INCBIN "baserom.gbc",$1d4bb,$1d4c0 - $1d4bb + +ViridianMartScript1: ; 0x1d4c0 + ld a, [$cd38] + and a + ret nz + call Delay3 + ld a, $5 + ld [$ff00+$8c], a + call $2920 + ld bc, $4601 + call GiveItem + ld hl, $d74e + set 1, [hl] + ld a, $2 + ld [$d60d], a + ret +; 0x1d4e0 + +ViridianMartTexts: ; 0x1d4e0 + dw ViridianMartText1, ViridianMartText2, ViridianMartText3 ;, ViridianMartText4 + +INCBIN "baserom.gbc",$1d4e6,$a + +ViridianMartText1: ; 0x1d4f0 + TX_FAR _ViridianMartText1 + db $50 + +UnnamedText_1d4f5: ; 0x1d4f5 + TX_FAR _UnnamedText_1d4f5 + db $50 +; 0x1d4f5 + 5 bytes + +INCBIN "baserom.gbc",$1d4fa,$6 + +ViridianMartText2: ; 0x1d500 + TX_FAR _ViridianMartText2 + db $50 + +ViridianMartText3: ; 0x1d505 + TX_FAR _ViridianMartText3 + db $50 + +ViridianMartObject: ; 0x1d50a (size=38) + db $0 ; border tile + + db $2 ; warps + db $7, $3, $1, $ff + db $7, $4, $1, $ff + + db $0 ; signs + + db $3 ; people + db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person + db SPRITE_BUG_CATCHER, $5 + 4, $5 + 4, $fe, $1, $2 ; person + db SPRITE_BLACK_HAIR_BOY_1, $3 + 4, $3 + 4, $ff, $ff, $3 ; person + + ; warp-to + EVENT_DISP $4, $7, $3 + EVENT_DISP $4, $7, $4 + +ViridianMartBlocks: ; 0x1d530 16 + INCBIN "maps/viridianmart.blk" + +School_h: ; 0x1d540 to 0x1d54c (12 bytes) (bank=7) (id=43) + db $08 ; tileset + db VIRIDIAN_SCHOOL_HEIGHT, VIRIDIAN_SCHOOL_WIDTH ; dimensions (y, x) + dw SchoolBlocks, SchoolTexts, SchoolScript ; blocks, texts, scripts + db $00 ; connections + + dw SchoolObject ; objects + +SchoolScript: ; 0x1d54c + jp $3c3c +; 0x1d54f + +SchoolTexts: ; 0x1d54f + dw SchoolText1, SchoolText2 + +SchoolText1: ; 0x1d553 + TX_FAR _SchoolText1 + db $50 + +SchoolText2: ; 0x1d558 + TX_FAR _SchoolText2 + db $50 + +SchoolObject: ; 0x1d55d (size=32) + db $a ; border tile + + db $2 ; warps + db $7, $2, $2, $ff + db $7, $3, $2, $ff + + db $0 ; signs + + db $2 ; people + db SPRITE_BRUNETTE_GIRL, $5 + 4, $3 + 4, $ff, $d1, $1 ; person + db SPRITE_LASS, $1 + 4, $4 + 4, $ff, $d0, $2 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + +ViridianHouse_h: ; 0x1d57d to 0x1d589 (12 bytes) (bank=7) (id=44) + db $08 ; tileset + db VIRIDIAN_HOUSE_HEIGHT, VIRIDIAN_HOUSE_WIDTH ; dimensions (y, x) + dw ViridianHouseBlocks, ViridianHouseTexts, ViridianHouseScript ; blocks, texts, scripts + db $00 ; connections + + dw ViridianHouseObject ; objects + +INCBIN "baserom.gbc",$1d589,$1d58a - $1d589 + +ViridianHouseScript: ; 0x1d58a + jp $3c3c +; 0x1d58d + +ViridianHouseTexts: ; 0x1d58d + dw ViridianHouseText1, ViridianHouseText2, ViridianHouseText3, ViridianHouseText4 + +ViridianHouseText1: ; 0x1d595 + TX_FAR _ViridianHouseText1 + db $50 + +ViridianHouseText2: ; 0x1d59a + TX_FAR _ViridianHouseText2 + db $50 + +ViridianHouseText3: ; 0x1d59f + db $08 ; asm + ld hl, UnnamedText_1d5b1 + call PrintText + ld a, SPEAROW + call $13d0 + call $3748 + jp TextScriptEnd + +UnnamedText_1d5b1: ; 0x1d5b1 + TX_FAR _UnnamedText_1d5b1 + db $50 +; 0x1d5b1 + 5 bytes + +ViridianHouseText4: ; 0x1d5b6 + TX_FAR _ViridianHouseText4 + db $50 + +ViridianHouseObject: ; 0x1d5bb (size=44) + db $a ; border tile + + db $2 ; warps + db $7, $2, $3, $ff + db $7, $3, $3, $ff + + db $0 ; signs + + db $4 ; people + db SPRITE_BALDING_GUY, $3 + 4, $5 + 4, $ff, $ff, $1 ; person + db SPRITE_LITTLE_GIRL, $4 + 4, $1 + 4, $fe, $1, $2 ; person + db SPRITE_BIRD, $5 + 4, $5 + 4, $fe, $2, $3 ; person + db SPRITE_CLIPBOARD, $0 + 4, $4 + 4, $ff, $ff, $4 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + +PewterHouse1_h: ; 0x1d5e7 to 0x1d5f3 (12 bytes) (bank=7) (id=55) + db $08 ; tileset + db PEWTER_HOUSE_1_HEIGHT, PEWTER_HOUSE_1_WIDTH ; dimensions (y, x) + dw PewterHouse1Blocks, PewterHouse1Texts, PewterHouse1Script ; blocks, texts, scripts + db $00 ; connections + + dw PewterHouse1Object ; objects + +PewterHouse1Script: ; 0x1d5f3 + jp $3c3c +; 0x1d5f6 + +PewterHouse1Texts: ; 0x1d5f6 + dw PewterHouse1Text1, PewterHouse1Text2, PewterHouse1Text3 + +PewterHouse1Text1: ; 0x1d5fc + TX_FAR _PewterHouse1Text1 + db $08 ; asm + ld a, $3 + call $13d0 + call $3748 + jp TextScriptEnd + +PewterHouse1Text2: ; 0x1d60c + TX_FAR _PewterHouse1Text2 + db $50 + +PewterHouse1Text3: ; 0x1d611 + TX_FAR _PewterHouse1Text3 + db $50 + +PewterHouse1Object: ; 0x1d616 (size=38) + db $a ; border tile + + db $2 ; warps + db $7, $2, $3, $ff + db $7, $3, $3, $ff + + db $0 ; signs + + db $3 ; people + db SPRITE_SLOWBRO, $5 + 4, $4 + 4, $ff, $d2, $1 ; person + db SPRITE_YOUNG_BOY, $5 + 4, $3 + 4, $ff, $d3, $2 ; person + db SPRITE_FAT_BALD_GUY, $2 + 4, $1 + 4, $ff, $ff, $3 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + +PewterHouse2_h: ; 0x1d63c to 0x1d648 (12 bytes) (bank=7) (id=57) + db $08 ; tileset + db PEWTER_HOUSE_2_HEIGHT, PEWTER_HOUSE_2_WIDTH ; dimensions (y, x) + dw PewterHouse2Blocks, PewterHouse2Texts, PewterHouse2Script ; blocks, texts, scripts + db $00 ; connections + + dw PewterHouse2Object ; objects + +PewterHouse2Script: ; 0x1d648 + jp $3c3c +; 0x1d64b + +PewterHouse2Texts: ; 0x1d64b + dw PewterHouse2Text1, PewterHouse2Text2 + +PewterHouse2Text1: ; 0x1d64f + TX_FAR _PewterHouse2Text1 + db $50 + +PewterHouse2Text2: ; 0x1d654 + TX_FAR _PewterHouse2Text2 + db $50 + +PewterHouse2Object: ; 0x1d659 (size=32) + db $a ; border tile + + db $2 ; warps + db $7, $2, $5, $ff + db $7, $3, $5, $ff + + db $0 ; signs + + db $2 ; people + db SPRITE_GAMBLER, $3 + 4, $2 + 4, $ff, $d3, $1 ; person + db SPRITE_BUG_CATCHER, $5 + 4, $4 + 4, $ff, $ff, $2 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + +CeruleanHouseTrashed_h: ; 0x1d679 to 0x1d685 (12 bytes) (bank=7) (id=62) + db $08 ; tileset + db TRASHED_HOUSE_HEIGHT, TRASHED_HOUSE_WIDTH ; dimensions (y, x) + dw CeruleanHouseTrashedBlocks, CeruleanHouseTrashedTexts, CeruleanHouseTrashedScript ; blocks, texts, scripts + db $00 ; connections + + dw CeruleanHouseTrashedObject ; objects + +CeruleanHouseTrashedScript: ; 0x1d685 + call $3c3c + ret +; 0x1d689 + +CeruleanHouseTrashedTexts: ; 0x1d689 + dw CeruleanHouseTrashedText1, CeruleanHouseTrashedText2, CeruleanHouseTrashedText3 + +CeruleanHouseTrashedText1: ; 0x1d68f + db $08 ; asm + ld b, $e4 + ld a, $1c + call Predef + and b + jr z, .asm_f8734 ; 0x1d698 + ld hl, UnnamedText_1d6b0 + call PrintText + jr .asm_8dfe9 ; 0x1d6a0 +.asm_f8734 ; 0x1d6a2 + ld hl, UnnamedText_1d6ab + call PrintText +.asm_8dfe9 ; 0x1d6a8 + jp TextScriptEnd + +UnnamedText_1d6ab: ; 0x1d6ab + TX_FAR _UnnamedText_1d6ab + db $50 +; 0x1d6ab + 5 bytes + +UnnamedText_1d6b0: ; 0x1d6b0 + TX_FAR _UnnamedText_1d6b0 + db $50 +; 0x1d6b0 + 5 bytes + +CeruleanHouseTrashedText2: ; 0x1d6b5 + TX_FAR _CeruleanHouseTrashedText2 + db $50 + +CeruleanHouseTrashedText3: ; 0x1d6ba + TX_FAR _CeruleanHouseTrashedText3 + db $50 + +CeruleanHouseTrashedObject: ; 0x1d6bf (size=43) + db $a ; border tile + + db $3 ; warps + db $7, $2, $0, $ff + db $7, $3, $0, $ff + db $0, $3, $7, $ff + + db $1 ; signs + db $0, $3, $3 ; CeruleanHouseTrashedText3 + + db $2 ; people + db SPRITE_FISHER, $1 + 4, $2 + 4, $ff, $d0, $1 ; person + db SPRITE_GIRL, $6 + 4, $5 + 4, $fe, $2, $2 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + EVENT_DISP $4, $0, $3 + +CeruleanHouse2_h: ; 0x1d6ea to 0x1d6f6 (12 bytes) (bank=7) (id=63) + db $08 ; tileset + db CERULEAN_HOUSE_HEIGHT, CERULEAN_HOUSE_WIDTH ; dimensions (y, x) + dw CeruleanHouse2Blocks, CeruleanHouse2Texts, CeruleanHouse2Script ; blocks, texts, scripts + db $00 ; connections + + dw CeruleanHouse2Object ; objects + +CeruleanHouse2Script: ; 0x1d6f6 + jp $3c3c +; 0x1d6f9 + +CeruleanHouse2Texts: ; 0x1d6f9 + dw CeruleanHouse2Text1, CeruleanHouse2Text2 + +CeruleanHouse2Text1: ; 0x1d6fd + TX_FAR _CeruleanHouse2Text1 + db $50 + +CeruleanHouse2Text2: ; 0x1d702 + db $08 ; asm + ld a, $6 + ld [W_WHICHTRADE], a + ld a, $54 + call Predef + jp TextScriptEnd + +CeruleanHouse2Object: ; 0x1d710 (size=32) + db $a ; border tile + + db $2 ; warps + db $7, $2, $1, $ff + db $7, $3, $1, $ff + + db $0 ; signs + + db $2 ; people + db SPRITE_OLD_MEDIUM_WOMAN, $4 + 4, $5 + 4, $ff, $d2, $1 ; person + db SPRITE_GAMBLER, $2 + 4, $1 + 4, $ff, $ff, $2 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + +BikeShop_h: ; 0x1d730 to 0x1d73c (12 bytes) (bank=7) (id=66) + db $15 ; tileset + db BIKE_SHOP_HEIGHT, BIKE_SHOP_WIDTH ; dimensions (y, x) + dw BikeShopBlocks, BikeShopTexts, BikeShopScript ; blocks, texts, scripts + db $00 ; connections + + dw BikeShopObject ; objects + +BikeShopScript: ; 0x1d73c + jp $3c3c +; 0x1d73f + +BikeShopTexts: ; 0x1d73f + dw BikeShopText1, BikeShopText2, BikeShopText3 + +BikeShopText1: ; 0x1d745 + db $08 ; asm + ld a, [$d75f] + bit 0, a + jr z, .asm_260d4 ; 0x1d74b + ld hl, UnnamedText_1d82f + call PrintText + jp $57f5 +.asm_260d4 ; 0x1d756 + ld b, BIKE_VOUCHER + call $3493 + jr z, .asm_41190 ; 0x1d75b + ld hl, UnnamedText_1d81f + call PrintText + ld bc, (BICYCLE << 8) | 1 + call GiveItem + jr nc, .asm_d0d90 ; 0x1d769 + ld a, $2d + ldh [$db], a + ld b, $5 ; BANK(MyFunction) + ld hl, $7f37 ; MyFunction + call Bankswitch + ld hl, $d75f + set 0, [hl] + ld hl, UnnamedText_1d824 + call PrintText + jr .asm_99ef2 ; 0x1d782 +.asm_d0d90 ; 0x1d784 + ld hl, UnnamedText_1d834 + call PrintText + jr .asm_99ef2 ; 0x1d78a +.asm_41190 ; 0x1d78c + ld hl, UnnamedText_1d810 + call PrintText + xor a + ld [$cc26], a + ld [$cc2a], a + ld a, $3 + ld [$cc29], a + ld a, $1 + ld [$cc28], a + ld a, $2 + ld [$cc24], a + ld a, $1 + ld [$cc25], a + ld hl, $d730 + set 6, [hl] + ld hl, $c3a0 + ld b, $4 + ld c, $f + call $1922 + call $2429 + ld hl, $c3ca + ld de, $57f8 + call $1955 + ld hl, $c3e4 + ld de, $5807 + call $1955 + ld hl, UnnamedText_1d815 + call PrintText + call $3abe + bit 1, a + jr nz, .asm_b7579 ; 0x1d7dc + ld hl, $d730 + res 6, [hl] + ld a, [$cc26] + and a + jr nz, .asm_b7579 ; 0x1d7e7 + ld hl, UnnamedText_1d81a + call PrintText +.asm_b7579 ; 0x1d7ef + ld hl, UnnamedText_1d82a + call PrintText +.asm_99ef2 ; 0x1d7f5 + jp TextScriptEnd + +INCBIN "baserom.gbc",$1d7f8,$1d810 - $1d7f8 + +UnnamedText_1d810: ; 0x1d810 + TX_FAR _UnnamedText_1d810 + db $50 +; 0x1d810 + 5 bytes + +UnnamedText_1d815: ; 0x1d815 + TX_FAR _UnnamedText_1d815 + db $50 +; 0x1d815 + 5 bytes + +UnnamedText_1d81a: ; 0x1d81a + TX_FAR _UnnamedText_1d81a + db $50 +; 0x1d81a + 5 bytes + +UnnamedText_1d81f: ; 0x1d81f + TX_FAR _UnnamedText_1d81f + db $50 +; 0x1d81f + 5 bytes + +UnnamedText_1d824: ; 0x1d824 + TX_FAR _UnnamedText_1d824 ; 0x98eb2 + db $11, $50 + +UnnamedText_1d82a: ; 0x1d82a + TX_FAR _UnnamedText_1d82a + db $50 +; 0x1d82a + 5 bytes + +UnnamedText_1d82f: ; 0x1d82f + TX_FAR _UnnamedText_1d82f + db $50 +; 0x1d82f + 5 bytes + +UnnamedText_1d834: ; 0x1d834 + TX_FAR _UnnamedText_1d834 + db $50 +; 0x1d834 + 5 bytes + +BikeShopText2: ; 0x1d839 + db $08 ; asm + ld hl, UnnamedText_1d843 + call PrintText + jp TextScriptEnd + +UnnamedText_1d843: ; 0x1d843 + TX_FAR _UnnamedText_1d843 + db $50 +; 0x1d843 + 5 bytes + +BikeShopText3: ; 0x1d848 + db $08 ; asm + ld a, [$d75f] + bit 0, a + ld hl, UnnamedText_1d861 + jr nz, .asm_34d2d ; 0x1d851 + ld hl, UnnamedText_1d85c +.asm_34d2d ; 0x1d856 + call PrintText + jp TextScriptEnd + +UnnamedText_1d85c: ; 0x1d85c + TX_FAR _UnnamedText_1d85c + db $50 +; 0x1d85c + 5 bytes + +UnnamedText_1d861: ; 0x1d861 + TX_FAR _UnnamedText_1d861 + db $50 +; 0x1d861 + 5 bytes + +BikeShopObject: ; 0x1d866 (size=38) + db $e ; border tile + + db $2 ; warps + db $7, $2, $4, $ff + db $7, $3, $4, $ff + + db $0 ; signs + + db $3 ; people + db SPRITE_BIKE_SHOP_GUY, $2 + 4, $6 + 4, $ff, $ff, $1 ; person + db SPRITE_MOM_GEISHA, $6 + 4, $5 + 4, $fe, $1, $2 ; person + db SPRITE_BUG_CATCHER, $3 + 4, $1 + 4, $ff, $d1, $3 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + +BikeShopBlocks: ; 0x1d88c 16 + INCBIN "maps/bikeshop.blk" + +LavenderHouse1_h: ; 0x1d89c to 0x1d8a8 (12 bytes) (bank=7) (id=149) + db $08 ; tileset + db LAVENDER_HOUSE_1_HEIGHT, LAVENDER_HOUSE_1_WIDTH ; dimensions (y, x) + dw LavenderHouse1Blocks, LavenderHouse1Texts, LavenderHouse1Script ; blocks, texts, scripts + db $00 ; connections + + dw LavenderHouse1Object ; objects + +LavenderHouse1Script: ; 0x1d8a8 + call $3c3c + ret +; 0x1d8ac + +LavenderHouse1Texts: ; 0x1d8ac + dw LavenderHouse1Text1, LavenderHouse1Text2, LavenderHouse1Text3, LavenderHouse1Text4, LavenderHouse1Text5, LavenderHouse1Text6 + +LavenderHouse1Text1: ; 0x1d8b8 + db $08 ; asm + ld a, [$d7e0] + bit 7, a + jr nz, .asm_72e5d ; 0x1d8be + ld hl, UnnamedText_1d8d1 + call PrintText + jr .asm_6957f ; 0x1d8c6 +.asm_72e5d ; 0x1d8c8 + ld hl, UnnamedText_1d8d6 + call PrintText +.asm_6957f ; 0x1d8ce + jp TextScriptEnd + +UnnamedText_1d8d1: ; 0x1d8d1 + TX_FAR _UnnamedText_1d8d1 + db $50 +; 0x1d8d1 + 5 bytes + +UnnamedText_1d8d6: ; 0x1d8d6 + TX_FAR _UnnamedText_1d8d6 + db $50 +; 0x1d8d6 + 5 bytes + +LavenderHouse1Text2: ; 0x1d8db + db $08 ; asm + ld a, [$d7e0] + bit 7, a + jr nz, .asm_06470 ; 0x1d8e1 + ld hl, UnnamedText_1d8f4 + call PrintText + jr .asm_3d208 ; 0x1d8e9 +.asm_06470 ; 0x1d8eb + ld hl, UnnamedText_1d8f9 + call PrintText +.asm_3d208 ; 0x1d8f1 + jp TextScriptEnd + +UnnamedText_1d8f4: ; 0x1d8f4 + TX_FAR _UnnamedText_1d8f4 + db $50 +; 0x1d8f4 + 5 bytes + +UnnamedText_1d8f9: ; 0x1d8f9 + TX_FAR _UnnamedText_1d8f9 + db $50 +; 0x1d8f9 + 5 bytes + +LavenderHouse1Text3: ; 0x1d8fe + TX_FAR _LavenderHouse1Text3 + db $8 + ld a, $2f + call $13d0 + jp TextScriptEnd + +LavenderHouse1Text4: ; 0x1d90b + TX_FAR _LavenderHouse1Text4 + db $8 + ld a, $a7 + call $13d0 + jp TextScriptEnd +; 0x1d918 + +LavenderHouse1Text5: ; 0x1d918 + db $08 ; asm + ld a, [$d76c] + bit 0, a + jr nz, .asm_15ac2 ; 0x1d91e + ld hl, UnnamedText_1d94c + call PrintText + ld bc, (POKE_FLUTE << 8) | 1 + call GiveItem + jr nc, .asm_5ce36 ; 0x1d92c + ld hl, UnnamedText_1d951 + call PrintText + ld hl, $d76c + set 0, [hl] + jr .asm_da749 ; 0x1d939 +.asm_5ce36 ; 0x1d93b + ld hl, UnnamedText_1d95b + call PrintText + jr .asm_da749 ; 0x1d941 +.asm_15ac2 ; 0x1d943 + ld hl, UnnamedText_1d960 + call PrintText +.asm_da749 ; 0x1d949 + jp TextScriptEnd + +UnnamedText_1d94c: ; 0x1d94c + TX_FAR _UnnamedText_1d94c + db $50 +; 0x1d94c + 5 bytes + +UnnamedText_1d951: ; 0x1d951 + TX_FAR _UnnamedText_1d951 ; 0x99ffb + db $11 + TX_FAR _UnnamedText_1d956 ; 0x9a011 + db $50 +; 0x1d95b + +UnnamedText_1d95b: ; 0x1d95b + TX_FAR _UnnamedText_1d95b + db $50 +; 0x1d95b + 5 bytes + +UnnamedText_1d960: ; 0x1d960 + TX_FAR _UnnamedText_1d960 + db $50 +; 0x1d960 + 5 bytes + +LavenderHouse1Text6: ; 0x1d965 + TX_FAR _LavenderHouse1Text6 + db $50 + +LavenderHouse1Object: ; 0x1d96a (size=56) + db $a ; border tile + + db $2 ; warps + db $7, $2, $2, $ff + db $7, $3, $2, $ff + + db $0 ; signs + + db $6 ; people + db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $3 + 4, $ff, $ff, $1 ; person + db SPRITE_LITTLE_GIRL, $3 + 4, $6 + 4, $ff, $d0, $2 ; person + db SPRITE_SLOWBRO, $4 + 4, $6 + 4, $ff, $d1, $3 ; person + db SPRITE_SLOWBRO, $3 + 4, $1 + 4, $ff, $ff, $4 ; person + db SPRITE_MR_FUJI, $1 + 4, $3 + 4, $ff, $ff, $5 ; person + db SPRITE_BOOK_MAP_DEX, $3 + 4, $3 + 4, $ff, $ff, $6 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + +LavenderHouse2_h: ; 0x1d9a2 to 0x1d9ae (12 bytes) (bank=7) (id=151) + db $08 ; tileset + db LAVENDER_HOUSE_2_HEIGHT, LAVENDER_HOUSE_2_WIDTH ; dimensions (y, x) + dw LavenderHouse2Blocks, LavenderHouse2Texts, LavenderHouse2Script ; blocks, texts, scripts + db $00 ; connections + + dw LavenderHouse2Object ; objects + +LavenderHouse2Script: ; 0x1d9ae + call $3c3c + ret +; 0x1d9b2 + +LavenderHouse2Texts: ; 0x1d9b2 + dw LavenderHouse2Text1, LavenderHouse2Text2 + +LavenderHouse2Text1: ; 0x1d9b6 + TX_FAR _LavenderHouse2Text1 + db $8 + ld a, $11 + call $13d0 + jp TextScriptEnd +; 0x1d9c3 + +LavenderHouse2Text2: ; 0x1d9c3 + db $08 ; asm + ld a, [$d7e0] + bit 7, a + jr nz, .asm_65711 ; 0x1d9c9 + ld hl, UnnamedText_1d9dc + call PrintText + jr .asm_64be1 ; 0x1d9d1 +.asm_65711 ; 0x1d9d3 + ld hl, UnnamedText_1d9e1 + call PrintText +.asm_64be1 ; 0x1d9d9 + jp TextScriptEnd + +UnnamedText_1d9dc: ; 0x1d9dc + TX_FAR _UnnamedText_1d9dc + db $50 +; 0x1d9dc + 5 bytes + +UnnamedText_1d9e1: ; 0x1d9e1 + TX_FAR _UnnamedText_1d9e1 + db $50 +; 0x1d9e1 + 5 bytes + +LavenderHouse2Object: ; 0x1d9e6 (size=32) + db $a ; border tile + + db $2 ; warps + db $7, $2, $4, $ff + db $7, $3, $4, $ff + + db $0 ; signs + + db $2 ; people + db SPRITE_SLOWBRO, $5 + 4, $3 + 4, $ff, $d1, $1 ; person + db SPRITE_BRUNETTE_GIRL, $4 + 4, $2 + 4, $ff, $d3, $2 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + +NameRater_h: ; 0x1da06 to 0x1da12 (12 bytes) (bank=7) (id=229) + db $08 ; tileset + db NAME_RATERS_HOUSE_HEIGHT, NAME_RATERS_HOUSE_WIDTH ; dimensions (y, x) + dw NameRaterBlocks, $5a54, NameRaterScript ; blocks, texts, scripts + db $00 ; connections + + dw NameRaterObject ; objects + +NameRaterScript: ; 0x1da12 + jp $3c3c +; 0x1da15 + +INCBIN "baserom.gbc",$1da15,$41 + +NameRaterText1: ; 0x1da56 + db $8 + call $36f4 + ld hl, UnnamedText_1dab3 + call $5a15 + jr nz, .asm_1daae ; 0x1da60 $4c + ld hl, UnnamedText_1dab8 + call PrintText + xor a + ld [$d07d], a + ld [$cfcb], a + ld [$cc35], a + call $13fc + push af + call $3dd4 + call $3dbe + call $20ba + pop af + jr c, .asm_1daae ; 0x1da80 $2c + call $15b4 + call $5a20 + ld hl, UnnamedText_1dad1 + jr c, .asm_1daa8 ; 0x1da8b $1b + ld hl, UnnamedText_1dabd + call $5a15 + jr nz, .asm_1daae ; 0x1da93 $19 + ld hl, UnnamedText_1dac2 + call PrintText + ld b, $1 + ld hl, $655c + call Bankswitch + jr c, .asm_1daae ; 0x1daa3 $9 + ld hl, UnnamedText_1dac7 +.asm_1daa8 + call PrintText + jp TextScriptEnd +.asm_1daae + ld hl, UnnamedText_1dacc + jr .asm_1daa8 ; 0x1dab1 $f5 +; 0x1dab3 + +UnnamedText_1dab3: ; 0x1dab3 + TX_FAR _UnnamedText_1dab3 + db $50 +; 0x1dab3 + 5 bytes + +UnnamedText_1dab8: ; 0x1dab8 + TX_FAR _UnnamedText_1dab8 + db $50 +; 0x1dab8 + 5 bytes + +UnnamedText_1dabd: ; 0x1dabd + TX_FAR _UnnamedText_1dabd + db $50 +; 0x1dabd + 5 bytes + +UnnamedText_1dac2: ; 0x1dac2 + TX_FAR _UnnamedText_1dac2 + db $50 +; 0x1dac2 + 5 bytes + +UnnamedText_1dac7: ; 0x1dac7 + TX_FAR _UnnamedText_1dac7 + db $50 +; 0x1dac7 + 5 bytes + +UnnamedText_1dacc: ; 0x1dacc + TX_FAR _UnnamedText_1dacc + db $50 +; 0x1dacc + 5 bytes + +UnnamedText_1dad1: ; 0x1dad1 + TX_FAR _UnnamedText_1dad1 + db $50 +; 0x1dad1 + 5 bytes + +NameRaterObject: ; 0x1dad6 (size=26) + db $a ; border tile + + db $2 ; warps + db $7, $2, $5, $ff + db $7, $3, $5, $ff + + db $0 ; signs + + db $1 ; people + db SPRITE_MR_MASTERBALL, $3 + 4, $5 + 4, $ff, $d2, $1 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + +VermilionHouse1_h: ; 0x1daf0 to 0x1dafc (12 bytes) (bank=7) (id=93) + db $08 ; tileset + db VERMILION_HOUSE_1_HEIGHT, VERMILION_HOUSE_1_WIDTH ; dimensions (y, x) + dw VermilionHouse1Blocks, VermilionHouse1Texts, VermilionHouse1Script ; blocks, texts, scripts + db $00 ; connections + + dw VermilionHouse1Object ; objects + +VermilionHouse1Script: ; 0x1dafc + call $3c3c + ret +; 0x1db00 + +VermilionHouse1Texts: ; 0x1db00 + dw VermilionHouse1Text1, VermilionHouse1Text2, VermilionHouse1Text3 + +VermilionHouse1Text1: ; 0x1db06 + TX_FAR _VermilionHouse1Text1 + db $50 + +VermilionHouse1Text2: ; 0x1db0b + TX_FAR _VermilionHouse1Text2 + db $08 ; asm + ld a, $24 + call $13d0 + call $3748 + jp TextScriptEnd + +VermilionHouse1Text3: ; 0x1db1b + TX_FAR _VermilionHouse1Text3 + db $50 + +INCBIN "baserom.gbc", $1db1b + 5, $1db20 - ($1db1b + 5) + +VermilionHouse1Object: ; 0x1db20 (size=38) + db $a ; border tile + + db $2 ; warps + db $7, $2, $4, $ff + db $7, $3, $4, $ff + + db $0 ; signs + + db $3 ; people + db SPRITE_BUG_CATCHER, $3 + 4, $5 + 4, $ff, $d2, $1 ; person + db SPRITE_BIRD, $5 + 4, $3 + 4, $fe, $2, $2 ; person + db SPRITE_PAPER_SHEET, $3 + 4, $4 + 4, $ff, $ff, $3 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + +VermilionDock_h: ; 0x1db46 to 0x1db52 (12 bytes) (bank=7) (id=94) + db $0e ; tileset + db VERMILION_DOCK_HEIGHT, VERMILION_DOCK_WIDTH ; dimensions (y, x) + dw VermilionDockBlocks, VermilionDockTexts, VermilionDockScript ; blocks, texts, scripts + db $00 ; connections + + dw VermilionDockObject ; objects + +VermilionDockScript: ; 0x1db52 + call $3c3c + ld hl, $d803 + bit 4, [hl] + jr nz, .asm_1db8d ; 0x1db5a $31 + bit 0, [hl] + ret z + ld a, [$d42f] + cp $1 + ret nz + bit 2, [hl] + jp z, $5b9b + set 4, [hl] + call Delay3 + ld hl, $d730 + set 7, [hl] + ld hl, $ccd3 + ld a, $40 + ld [hli], a + ld [hli], a + ld [hl], a + ld a, $3 + ld [$cd38], a + xor a + ld [$c206], a + ld [$cd3b], a + dec a + ld [$cd6b], a + ret +.asm_1db8d + bit 5, [hl] + ret nz + ld a, [$cd38] + and a + ret nz + ld [$cd6b], a + set 5, [hl] + ret +; 0x1db9b + +INCBIN "baserom.gbc",$1db9b,$1dcbf - $1db9b + +VermilionDockTexts: ; 0x1dcbf +INCBIN "baserom.gbc",$1dcbf,$1dcc1 - $1dcbf + +UnnamedText_1dcc1: ; 0x1dcc1 + TX_FAR _UnnamedText_1dcc1 + db $50 +; 0x1dcc1 + 5 bytes + +VermilionDockObject: ; 0x1dcc6 (size=20) + db $f ; border tile + + db $2 ; warps + db $0, $e, $5, $ff + db $2, $e, $1, SS_ANNE_1 + + db $0 ; signs + + db $0 ; people + + ; warp-to + EVENT_DISP $e, $0, $e + EVENT_DISP $e, $2, $e ; SS_ANNE_1 + +VermilionDockBlocks: ; 0x1dcda 84 + INCBIN "maps/vermiliondock.blk" + +CeladonMansion5_h: ; 0x1dd2e to 0x1dd3a (12 bytes) (bank=7) (id=132) + db $08 ; tileset + db CELADON_MANSION_5_HEIGHT, CELADON_MANSION_5_WIDTH ; dimensions (y, x) + dw CeladonMansion5Blocks, CeladonMansion5Texts, CeladonMansion5Script ; blocks, texts, scripts + db $00 ; connections + + dw CeladonMansion5Object ; objects + +CeladonMansion5Script: ; 0x1dd3a + jp $3c3c +; 0x1dd3d + +CeladonMansion5Texts: ; 0x1dd3d + dw CeladonMansion5Text1, CeladonMansion5Text2 + +CeladonMansion5Text1: ; 0x1dd41 + TX_FAR _CeladonMansion5Text1 + db $50 + +CeladonMansion5Text2: ; 0x1dd46 + db $08 ; asm + ld bc,(EEVEE << 8) | 25 + call GivePokemon + jr nc, .asm_24365 ; 0x1dd4d + ld a, $45 + ld [$cc4d], a + ld a, $11 + call Predef +.asm_24365 ; 0x1dd59 + jp TextScriptEnd + +CeladonMansion5Object: ; 0x1dd5c (size=32) + db $a ; border tile + + db $2 ; warps + db $7, $2, $2, CELADON_MANSION_4 + db $7, $3, $2, CELADON_MANSION_4 + + db $0 ; signs + + db $2 ; people + db SPRITE_HIKER, $2 + 4, $2 + 4, $ff, $d0, $1 ; person + db SPRITE_BALL, $3 + 4, $4 + 4, $ff, $ff, $2 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 ; CELADON_MANSION_4 + EVENT_DISP $4, $7, $3 ; CELADON_MANSION_4 + +FuchsiaMart_h: ; 0x1dd7c to 0x1dd88 (12 bytes) (bank=7) (id=152) + db $02 ; tileset + db FUCHSIA_MART_HEIGHT, FUCHSIA_MART_WIDTH ; dimensions (y, x) + dw FuchsiaMartBlocks, FuchsiaMartTexts, FuchsiaMartScript ; blocks, texts, scripts + db $00 ; connections + + dw FuchsiaMartObject ; objects + +FuchsiaMartScript: ; 0x1dd88 + jp $3c3c +; 0x1dd8b + +FuchsiaMartTexts: ; 0x1dd8b + dw FuchsiaMartText1, FuchsiaMartText2, FuchsiaMartText3 + +FuchsiaMartText2: ; 0x1dd91 + TX_FAR _FuchsiaMartText2 + db $50 + +FuchsiaMartText3: ; 0x1dd96 + TX_FAR _FuchsiaMartText3 + db $50 + +FuchsiaMartObject: ; 0x1dd9b (size=38) + db $0 ; border tile + + db $2 ; warps + db $7, $3, $0, $ff + db $7, $4, $0, $ff + + db $0 ; signs + + db $3 ; people + db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person + db SPRITE_FAT_BALD_GUY, $2 + 4, $4 + 4, $ff, $ff, $2 ; person + db SPRITE_LASS, $5 + 4, $6 + 4, $fe, $1, $3 ; person + + ; warp-to + EVENT_DISP $4, $7, $3 + EVENT_DISP $4, $7, $4 + +FuchsiaMartBlocks: ; 0x1ddc1 16 + INCBIN "maps/fuchsiamart.blk" + +SaffronHouse1_h: ; 0x1ddd1 to 0x1dddd (12 bytes) (bank=7) (id=179) + db $08 ; tileset + db SAFFRON_HOUSE_1_HEIGHT, SAFFRON_HOUSE_1_WIDTH ; dimensions (y, x) + dw SaffronHouse1Blocks, SaffronHouse1Texts, SaffronHouse1Script ; blocks, texts, scripts + db $00 ; connections + + dw SaffronHouse1Object ; objects + +SaffronHouse1Script: ; 0x1dddd + jp $3c3c +; 0x1dde0 + +SaffronHouse1Texts: ; 0x1dde0 + dw SaffronHouse1Text1, SaffronHouse1Text2, SaffronHouse1Text3, SaffronHouse1Text4 + +SaffronHouse1Text1: ; 0x1dde8 + TX_FAR _SaffronHouse1Text1 + db $50 + +SaffronHouse1Text2: ; 0x1dded + TX_FAR _SaffronHouse1Text2 + db $8 + ld a, $24 + call $13d0 + jp TextScriptEnd +; 0x1ddfa + +SaffronHouse1Text3: ; 0x1ddfa + TX_FAR _SaffronHouse1Text3 + db $50 + +SaffronHouse1Text4: ; 0x1ddff + TX_FAR _SaffronHouse1Text4 + db $50 + +SaffronHouse1Object: ; 0x1de04 (size=44) + db $a ; border tile + + db $2 ; warps + db $7, $2, $3, $ff + db $7, $3, $3, $ff + + db $0 ; signs + + db $4 ; people + db SPRITE_BRUNETTE_GIRL, $3 + 4, $2 + 4, $ff, $d3, $1 ; person + db SPRITE_BIRD, $4 + 4, $0 + 4, $fe, $1, $2 ; person + db SPRITE_BUG_CATCHER, $1 + 4, $4 + 4, $ff, $d0, $3 ; person + db SPRITE_PAPER_SHEET, $3 + 4, $3 + 4, $ff, $ff, $4 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + +SaffronHouse2_h: ; 0x1de30 to 0x1de3c (12 bytes) (bank=7) (id=183) + db $08 ; tileset + db SAFFRON_HOUSE_2_HEIGHT, SAFFRON_HOUSE_2_WIDTH ; dimensions (y, x) + dw SaffronHouse2Blocks, SaffronHouse2Texts, SaffronHouse2Script ; blocks, texts, scripts + db $00 ; connections + + dw SaffronHouse2Object ; objects + +SaffronHouse2Script: ; 0x1de3c + jp $3c3c +; 0x1de3f + +SaffronHouse2Texts: ; 0x1de3f + dw SaffronHouse2Text1 + +SaffronHouse2Text1: ; 0x1de41 + db $08 ; asm + ld a, [$d7bd] + bit 0, a + jr nz, .asm_9e72b ; 0x1de47 + ld hl, UnnamedText_1de75 + call PrintText + ld bc,(TM_29 << 8) | 1 + call GiveItem + jr nc, .asm_4b1da ; 0x1de55 + ld hl, UnnamedText_1de7a + call PrintText + ld hl, $d7bd + set 0, [hl] + jr .asm_fe4e1 ; 0x1de62 +.asm_4b1da ; 0x1de64 + ld hl, UnnamedText_1de85 + call PrintText + jr .asm_fe4e1 ; 0x1de6a +.asm_9e72b ; 0x1de6c + ld hl, UnnamedText_1de80 + call PrintText +.asm_fe4e1 ; 0x1de72 + jp TextScriptEnd + +UnnamedText_1de75: ; 0x1de75 + TX_FAR _UnnamedText_1de75 + db $50 +; 0x1de75 + 5 bytes + +UnnamedText_1de7a: ; 0x1de7a + TX_FAR _UnnamedText_1de7a ; 0xa252a + db $0B, $50 +; 0x1de80 + +UnnamedText_1de80: ; 0x1de80 + TX_FAR _UnnamedText_1de80 + db $50 +; 0x1de80 + 5 bytes + +UnnamedText_1de85: ; 0x1de85 + TX_FAR _UnnamedText_1de85 + db $50 +; 0x1de85 + 5 bytes + +SaffronHouse2Object: ; 0x1de8a (size=26) + db $a ; border tile + + db $2 ; warps + db $7, $2, $7, $ff + db $7, $3, $7, $ff + + db $0 ; signs + + db $1 ; people + db SPRITE_FISHER, $3 + 4, $5 + 4, $ff, $d2, $1 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + +DiglettsCaveRoute2_h: ; 0x1dea4 to 0x1deb0 (12 bytes) (bank=7) (id=46) + db $11 ; tileset + db DIGLETTS_CAVE_EXIT_HEIGHT, DIGLETTS_CAVE_EXIT_WIDTH ; dimensions (y, x) + dw DiglettsCaveRoute2Blocks, DiglettsCaveRoute2Texts, DiglettsCaveRoute2Script ; blocks, texts, scripts + db $00 ; connections + + dw DiglettsCaveRoute2Object ; objects + +DiglettsCaveRoute2Script: ; 0x1deb0 + ld a, $d + ld [$d365], a + jp $3c3c +; 0x1deb8 + +DiglettsCaveRoute2Texts: ; 0x1deb8 + dw DiglettsCaveRoute2Text1 + +DiglettsCaveRoute2Text1: ; 0x1deba + TX_FAR _DiglettsCaveRoute2Text1 + db $50 + +DiglettsCaveRoute2Object: ; 0x1debf (size=34) + db $7d ; border tile + + db $3 ; warps + db $7, $2, $0, $ff + db $7, $3, $0, $ff + db $4, $4, $0, DIGLETTS_CAVE + + db $0 ; signs + + db $1 ; people + db SPRITE_FISHER, $3 + 4, $3 + 4, $ff, $ff, $1 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + EVENT_DISP $4, $4, $4 ; DIGLETTS_CAVE + +Route2House_h: ; 0x1dee1 to 0x1deed (12 bytes) (bank=7) (id=48) + db $08 ; tileset + db ROUTE_2_HOUSE_HEIGHT, ROUTE_2_HOUSE_WIDTH ; dimensions (y, x) + dw Route2HouseBlocks, Route2HouseTexts, Route2HouseScript ; blocks, texts, scripts + db $00 ; connections + + dw Route2HouseObject ; objects + +Route2HouseScript: ; 0x1deed + jp $3c3c +; 0x1def0 + +Route2HouseTexts: ; 0x1def0 + dw Route2HouseText1, Route2HouseText2 + +Route2HouseText1: ; 0x1def4 + TX_FAR _Route2HouseText1 + db $50 + +Route2HouseText2: ; 0x1def9 + db $08 ; asm + ld a, $1 + ld [W_WHICHTRADE], a + ld a, $54 + call Predef + jp TextScriptEnd + +Route2HouseObject: ; 0x1df07 (size=32) + db $a ; border tile + + db $2 ; warps + db $7, $2, $2, $ff + db $7, $3, $2, $ff + + db $0 ; signs + + db $2 ; people + db SPRITE_OAK_AIDE, $4 + 4, $2 + 4, $ff, $d3, $1 ; person + db SPRITE_GAMEBOY_KID_COPY, $1 + 4, $4 + 4, $ff, $d0, $2 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + +Route5Gate_h: ; 0x1df27 to 0x1df33 (12 bytes) (bank=7) (id=70) + db $0c ; tileset + db ROUTE_5_GATE_HEIGHT, ROUTE_5_GATE_WIDTH ; dimensions (y, x) + dw Route5GateBlocks, Route5GateTexts, Route5GateScript ; blocks, texts, scripts + db $00 ; connections + + dw Route5GateObject ; objects + +Route5GateScript: ; 0x1df33 + call $3c3c + ld a, [$d662] + ld hl, Route5GateScripts + jp $3d97 +; 0x1df3f + +Route5GateScripts: ; 0x1df3f + dw Route5GateScript0 + +INCBIN "baserom.gbc",$1df41,$f + +Route5GateScript0: ; 0x1df50 + ld a, [$d728] + bit 6, a + ret nz + ld hl, $5f8f + call $34bf + ret nc + ld a, $2 + ld [$d528], a + xor a + ld [$ff00+$b4], a + ld b, $16 + ld hl, $659f + call Bankswitch + ld a, [$ff00+$db] + and a + jr nz, .asm_1df82 ; 0x1df70 $10 + ld a, $2 + ld [$ff00+$8c], a + call $2920 + call $5f43 + ld a, $1 + ld [$d662], a + ret +.asm_1df82 + ld a, $3 + ld [$ff00+$8c], a + call $2920 + ld hl, $d728 + set 6, [hl] + ret +; 0x1df8f + +INCBIN "baserom.gbc",$1df8f,$15 + +Route5GateTexts: ; 0x1dfa4 + dw Route5GateText1, Route5GateText2, Route5GateText3 + +Route8GateText1: +Route7GateText1: +Route6GateText1: +Route5GateText1: ; 0x1dfaa + db $8 + ld a, [$d728] + bit 6, a + jr nz, .asm_88856 ; 0x1dfb0 $2c + ld b, $16 + ld hl, $659f + call Bankswitch + ld a, [$ff00+$db] + and a + jr nz, .asm_768a2 ; 0x1dfbd $11 + ld hl, UnnamedText_1dfe7 + call PrintText + call $5f43 + ld a, $1 + ld [$d662], a + jp TextScriptEnd +.asm_768a2 ; 0x1dfd0 + ld hl, UnnamedText_1dfec + call PrintText + ld hl, $d728 + set 6, [hl] + jp TextScriptEnd +.asm_88856 ; 0x1dfde + ld hl, UnnamedText_1dff6 + call PrintText + jp TextScriptEnd +; 0x1dfe7 + +Route8GateText2: +Route7GateText2: +Route6GateText2: +Route5GateText2: ; 0x1dfe7 +UnnamedText_1dfe7: ; 0x1dfe7 + TX_FAR _UnnamedText_1dfe7 + db $50 +; 0x1dfe7 + 5 bytes + +Route8GateText3: +Route7GateText3: +Route6GateText3: +Route5GateText3: ; 0x1dfec +UnnamedText_1dfec: ; 0x1dfec + TX_FAR _UnnamedText_8aaa9 ; 0x8aaa9 + db $11 + TX_FAR _UnnamedText_1dff1 ; 0x8aaef + db $50 +; 0x1dff6 + +UnnamedText_1dff6: ; 0x1dff6 + TX_FAR _UnnamedText_1dff6 + db $50 +; 0x1dff6 + 5 bytes + +Route5GateObject: ; 0x1dffb (size=42) + db $a ; border tile + + db $4 ; warps + db $5, $3, $2, $ff + db $5, $4, $2, $ff + db $0, $3, $1, $ff + db $0, $4, $0, $ff + + db $0 ; signs + + db $1 ; people + db SPRITE_GUARD, $3 + 4, $1 + 4, $ff, $d3, $1 ; person + + ; warp-to + EVENT_DISP $4, $5, $3 + EVENT_DISP $4, $5, $4 + EVENT_DISP $4, $0, $3 + EVENT_DISP $4, $0, $4 + +Route5GateBlocks: ; 0x1e025 12 + INCBIN "maps/route5gate.blk" + +Route6Gate_h: ; 0x1e031 to 0x1e03d (12 bytes) (bank=7) (id=73) + db $0c ; tileset + db ROUTE_6_GATE_HEIGHT, ROUTE_6_GATE_WIDTH ; dimensions (y, x) + dw Route6GateBlocks, Route6GateTexts, Route6GateScript ; blocks, texts, scripts + db $00 ; connections + + dw Route6GateObject ; objects + +Route6GateScript: ; 0x1e03d + call $3c3c + ld hl, Route6GateScripts + ld a, [$d636] + call $3d97 + ret +; 0x1e04a + +Route6GateScripts: ; 0x1e04a + dw Route6GateScript0 + +INCBIN "baserom.gbc",$1e04c,$2 + +Route6GateScript0: ; 0x1e04e + ld a, [$d728] + bit 6, a + ret nz + ld hl, $608c + call $34bf + ret nc + ld a, $1 + ld [$d528], a + xor a + ld [$ff00+$b4], a + ld b, $16 + ld hl, $659f + call Bankswitch + ld a, [$ff00+$db] + and a + jr nz, .asm_1e080 ; 0x1e06e $10 + ld a, $2 + ld [$ff00+$8c], a + call $2920 + call $60a1 + ld a, $1 + ld [$d636], a + ret +.asm_1e080 + ld hl, $d728 + set 6, [hl] + ld a, $3 + ld [$ff00+$8c], a + jp $2920 +; 0x1e08c + +INCBIN "baserom.gbc",$1e08c,$2c + +Route6GateTexts: ; 0x1e0b8 + dw Route6GateText1, Route6GateText2, Route6GateText3 + +Route6GateObject: ; 0x1e0be (size=42) + db $a ; border tile + + db $4 ; warps + db $5, $3, $2, $ff + db $5, $4, $2, $ff + db $0, $3, $1, $ff + db $0, $4, $1, $ff + + db $0 ; signs + + db $1 ; people + db SPRITE_GUARD, $2 + 4, $6 + 4, $ff, $d2, $1 ; person + + ; warp-to + EVENT_DISP $4, $5, $3 + EVENT_DISP $4, $5, $4 + EVENT_DISP $4, $0, $3 + EVENT_DISP $4, $0, $4 + +Route6GateBlocks: ; 0x1e0e8 12 + INCBIN "maps/route6gate.blk" + +Route7Gate_h: ; 0x1e0f4 to 0x1e100 (12 bytes) (bank=7) (id=76) + db $0c ; tileset + db ROUTE_7_GATE_HEIGHT, ROUTE_7_GATE_WIDTH ; dimensions (y, x) + dw Route7GateBlocks, Route7GateTexts, Route7GateScript ; blocks, texts, scripts + db $00 ; connections + + dw Route7GateObject ; objects + +Route7GateScript: ; 0x1e100 + call $3c3c + ld a, [$d663] + ld hl, Route7GateScripts + call $3d97 + ret +; 0x1e10d + +Route7GateScripts: ; 0x1e10d + dw Route7GateScript0 + +INCBIN "baserom.gbc",$1e10f,$19 + +Route7GateScript0: ; 0x1e128 + ld a, [$d728] + bit 6, a + ret nz + ld hl, $6167 + call $34bf + ret nc + ld a, $8 + ld [$d528], a + xor a + ld [$ff00+$b4], a + ld b, $16 + ld hl, $659f + call Bankswitch + ld a, [$ff00+$db] + and a + jr nz, .asm_1e15a ; 0x1e148 $10 + ld a, $2 + ld [$ff00+$8c], a + call $2920 + call $6111 + ld a, $1 + ld [$d663], a + ret +.asm_1e15a + ld a, $3 + ld [$ff00+$8c], a + call $2920 + ld hl, $d728 + set 6, [hl] + ret +; 0x1e167 + +INCBIN "baserom.gbc",$1e167,$18 + +Route7GateTexts: ; 0x1e17f + dw Route7GateText1, Route7GateText2, Route7GateText3 + +Route7GateObject: ; 0x1e185 (size=42) + db $a ; border tile + + db $4 ; warps + db $3, $0, $3, $ff + db $4, $0, $3, $ff + db $3, $5, $0, $ff + db $4, $5, $1, $ff + + db $0 ; signs + + db $1 ; people + db SPRITE_GUARD, $1 + 4, $3 + 4, $ff, $d0, $1 ; person + + ; warp-to + EVENT_DISP $3, $3, $0 + EVENT_DISP $3, $4, $0 + EVENT_DISP $3, $3, $5 + EVENT_DISP $3, $4, $5 + +Route7GateBlocks: ; 0x1e1af 12 + INCBIN "maps/route7gate.blk" + +Route8Gate_h: ; 0x1e1bb to 0x1e1c7 (12 bytes) (bank=7) (id=79) + db $0c ; tileset + db ROUTE_8_GATE_HEIGHT, ROUTE_8_GATE_WIDTH ; dimensions (y, x) + dw Route8GateBlocks, Route8GateTexts, Route8GateScript ; blocks, texts, scripts + db $00 ; connections + + dw Route8GateObject ; objects + +Route8GateScript: ; 0x1e1c7 + call $3c3c + ld hl, Route8GateScripts + ld a, [$d637] + jp $3d97 +; 0x1e1d3 + +Route8GateScripts: ; 0x1e1d3 + dw Route8GateScript0 + +INCBIN "baserom.gbc",$1e1d5,$19 + +Route8GateScript0: ; 0x1e1ee + ld a, [$d728] + bit 6, a + ret nz + ld hl, $622c + call $34bf + ret nc + ld a, $2 + ld [$d528], a + xor a + ld [$ff00+$b4], a + ld b, $16 + ld hl, $659f + call Bankswitch + ld a, [$ff00+$db] + and a + jr nz, .asm_1e220 ; 0x1e20e $10 + ld a, $2 + ld [$ff00+$8c], a + call $2920 + call $61d7 + ld a, $1 + ld [$d637], a + ret +.asm_1e220 + ld hl, $d728 + set 6, [hl] + ld a, $3 + ld [$ff00+$8c], a + jp $2920 +; 0x1e22c + +INCBIN "baserom.gbc",$1e22c,$15 + +Route8GateTexts: ; 0x1e241 + dw Route8GateText1, Route8GateText2, Route8GateText3 + +Route8GateObject: ; 0x1e247 (size=42) + db $a ; border tile + + db $4 ; warps + db $3, $0, $0, $ff + db $4, $0, $1, $ff + db $3, $5, $2, $ff + db $4, $5, $3, $ff + + db $0 ; signs + + db $1 ; people + db SPRITE_GUARD, $1 + 4, $2 + 4, $ff, $d0, $1 ; person + + ; warp-to + EVENT_DISP $3, $3, $0 + EVENT_DISP $3, $4, $0 + EVENT_DISP $3, $3, $5 + EVENT_DISP $3, $4, $5 + +Route8GateBlocks: ; 0x1e271 12 + INCBIN "maps/route8gate.blk" + +UndergroundPathEntranceRoute8_h: ; 0x1e27d to 0x1e289 (12 bytes) (bank=7) (id=80) + db $0c ; tileset + db PATH_ENTRANCE_ROUTE_8_HEIGHT, PATH_ENTRANCE_ROUTE_8_WIDTH ; dimensions (y, x) + dw UndergroundPathEntranceRoute8Blocks, UndergroundPathEntranceRoute8Texts, UndergroundPathEntranceRoute8Script ; blocks, texts, scripts + db $00 ; connections + + dw UndergroundPathEntranceRoute8Object ; objects + +UndergroundPathEntranceRoute8Script: ; 0x1e289 + ld a, $13 + ld [$d365], a + jp $3c3c +; 0x1e291 + +UndergroundPathEntranceRoute8Texts: ; 0x1e291 + dw UndergroundPathEntranceRoute8Text1 + +;XXX wtf? syntax error +UndergroundPathEntranceRoute8Text1: ; 0x1e293 + db $17, $8d, $42, $23 + ;TX_FAR _UndergroundPathEntranceRoute8Text1 + db $50 + +UndergroundPathEntranceRoute8Object: ; 0x1e298 (size=34) + db $a ; border tile + + db $3 ; warps + db $7, $3, $4, $ff + db $7, $4, $4, $ff + db $4, $4, $1, UNDERGROUND_PATH_WE + + db $0 ; signs + + db $1 ; people + db SPRITE_GIRL, $4 + 4, $3 + 4, $ff, $ff, $1 ; person + + ; warp-to + EVENT_DISP $4, $7, $3 + EVENT_DISP $4, $7, $4 + EVENT_DISP $4, $4, $4 ; UNDERGROUND_PATH_WE + +PowerPlant_h: ; 0x1e2ba to 0x1e2c6 (12 bytes) (bank=7) (id=83) + db $16 ; tileset + db POWER_PLANT_HEIGHT, POWER_PLANT_WIDTH ; dimensions (y, x) + dw PowerPlantBlocks, PowerPlantTexts, PowerPlantScript ; blocks, texts, scripts + db $00 ; connections + + dw PowerPlantObject ; objects + +PowerPlantScript: ; 0x1e2c6 + call $3c3c + ld hl, $62fb + ld de, PowerPlantScript_Unknown1e2d9 + ld a, [$d663] + call $3160 + ld [$d663], a + ret +; 0x1e2d9 + +PowerPlantScript_Unknown1e2d9: ; 0x1e2d9 +INCBIN "baserom.gbc",$1e2d9,$6 + +PowerPlantTexts: ; 0x1e2df + dw PowerPlantText1, PowerPlantText2, PowerPlantText3, PowerPlantText4, PowerPlantText5, PowerPlantText6, PowerPlantText7, PowerPlantText8, PowerPlantText9, PowerPlantText10, PowerPlantText11, PowerPlantText12, PowerPlantText13, PowerPlantText14 + +INCBIN "baserom.gbc",$1e2fb,$6d + +asm_234cc: + call $31cc + ld a, [$da39] + ld [$d663], a + jp TextScriptEnd +; 0x1e374 + +PowerPlantText1: ; 0x1e374 + db $8 ; asm + ld hl, $62fb + jr asm_234cc ; 0x1e378 $ee + +PowerPlantText2: ; 0x1e37a + db $8 ; asm + ld hl, $6307 + jr asm_234cc ; 0x1e37e $e8 + +PowerPlantText3: ; 0x1e380 + db $8 ; asm + ld hl, $6313 + jr asm_234cc ; 0x1e384 $e2 + +PowerPlantText4: ; 0x1e386 + db $8 ; asm + ld hl, $631f + jr asm_234cc ; 0x1e38a $dc + +PowerPlantText5: + db $8 ; asm + ld hl, $632b + jr asm_234cc ; 0x1e390 $d6 + +PowerPlantText6: ; 0x1e392 + db $8 ; asm + ld hl, $6337 + jr asm_234cc ; 0x1e396 $d0 + +PowerPlantText7: ; 0x1e398 + db $8 ; asm + ld hl, $6343 + jr asm_234cc ; 0x1e39c $ca + +PowerPlantText8: ; 0x1e39e + db $8 ; asm + ld hl, $634f + jr asm_234cc ; 0x1e3a2 $c4 + +PowerPlantText9: ; 0x1e3a4 + db $8 ; asm + ld hl, $635b + jr asm_234cc ; 0x1e3a8 $be +; 0x1e3aa + +UnnamedText_1e3aa: ; 0x1e3aa + TX_FAR _UnnamedText_1e3aa ; 0x8c5e2 + db $50 +; 0x1e3af + +UnnamedText_1e3af: ; 0x1e3af + TX_FAR _UnnamedText_1e3af ; 0x8c5ea + db $8 + ld a, $4b + call $13d0 + call $3748 + jp TextScriptEnd +; 0x1e3bf + +PowerPlantObject: ; 0x1e3bf (size=135) + db $2e ; border tile + + db $3 ; warps + db $23, $4, $3, $ff + db $23, $5, $3, $ff + db $b, $0, $3, $ff + + db $0 ; signs + + db $e ; people + db SPRITE_BALL, $14 + 4, $9 + 4, $ff, $ff, $41, VOLTORB, $28 ; trainer + db SPRITE_BALL, $12 + 4, $20 + 4, $ff, $ff, $42, VOLTORB, $28 ; trainer + db SPRITE_BALL, $19 + 4, $15 + 4, $ff, $ff, $43, VOLTORB, $28 ; trainer + db SPRITE_BALL, $12 + 4, $19 + 4, $ff, $ff, $44, ELECTRODE, $2b ; trainer + db SPRITE_BALL, $22 + 4, $17 + 4, $ff, $ff, $45, VOLTORB, $28 ; trainer + db SPRITE_BALL, $1c + 4, $1a + 4, $ff, $ff, $46, VOLTORB, $28 ; trainer + db SPRITE_BALL, $e + 4, $15 + 4, $ff, $ff, $47, ELECTRODE, $2b ; trainer + db SPRITE_BALL, $20 + 4, $25 + 4, $ff, $ff, $48, VOLTORB, $28 ; trainer + db SPRITE_BIRD, $9 + 4, $4 + 4, $ff, $d1, $49, ZAPDOS, $32 ; trainer + db SPRITE_BALL, $19 + 4, $7 + 4, $ff, $ff, $8a, CARBOS ; item + db SPRITE_BALL, $3 + 4, $1c + 4, $ff, $ff, $8b, HP_UP ; item + db SPRITE_BALL, $3 + 4, $22 + 4, $ff, $ff, $8c, RARE_CANDY ; item + db SPRITE_BALL, $20 + 4, $1a + 4, $ff, $ff, $8d, TM_25 ; item + db SPRITE_BALL, $20 + 4, $14 + 4, $ff, $ff, $8e, TM_33 ; item + + ; warp-to + EVENT_DISP $14, $23, $4 + EVENT_DISP $14, $23, $5 + EVENT_DISP $14, $b, $0 + +PowerPlantBlocks: ; 0x1e446 360 + INCBIN "maps/powerplant.blk" + +DiglettsCaveEntranceRoute11_h: ; 0x1e5ae to 0x1e5ba (12 bytes) (bank=7) (id=85) + db $11 ; tileset + db DIGLETTS_CAVE_ENTRANCE_HEIGHT, DIGLETTS_CAVE_ENTRANCE_WIDTH ; dimensions (y, x) + dw DiglettsCaveEntranceRoute11Blocks, DiglettsCaveEntranceRoute11Texts, DiglettsCaveEntranceRoute11Script ; blocks, texts, scripts + db $00 ; connections + + dw DiglettsCaveEntranceRoute11Object ; objects + +DiglettsCaveEntranceRoute11Script: ; 0x1e5ba + call $3c3c + ld a, $16 + ld [$d365], a + ret +; 0x1e5c3 + +DiglettsCaveEntranceRoute11Texts: ; 0x1e5c3 + dw DiglettsCaveEntranceRoute11Text1 + +; XXX wtf? syntax error +DiglettsCaveEntranceRoute11Text1: ; 0x1e5c5 + db $17, $f9, $47, $23 + ;TX_FAR _DiglettsCaveEntranceRoute11Text1 + db $50 + +DiglettsCaveEntranceRoute11Object: ; 0x1e5ca (size=34) + db $7d ; border tile + + db $3 ; warps + db $7, $2, $4, $ff + db $7, $3, $4, $ff + db $4, $4, $1, DIGLETTS_CAVE + + db $0 ; signs + + db $1 ; people + db SPRITE_GAMBLER, $3 + 4, $2 + 4, $ff, $ff, $1 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + EVENT_DISP $4, $4, $4 ; DIGLETTS_CAVE + +Route16House_h: ; 0x1e5ec to 0x1e5f8 (12 bytes) (bank=7) (id=188) + db $08 ; tileset + db ROUTE_16_HOUSE_HEIGHT, ROUTE_16_HOUSE_WIDTH ; dimensions (y, x) + dw Route16HouseBlocks, Route16HouseTexts, Route16HouseScript ; blocks, texts, scripts + db $00 ; connections + + dw Route16HouseObject ; objects + +Route16HouseScript: ; 0x1e5f8 + jp $3c3c +; 0x1e5fb + +Route16HouseTexts: ; 0x1e5fb + dw Route16HouseText1, Route16HouseText2 + +Route16HouseText1: ; 0x1e5ff + db $08 ; asm + ld a, [$d7e0] + bit 6, a + ld hl, HM02ExplanationText + jr nz, .asm_13616 ; 0x1e608 + ld hl, Route16HouseText3 + call PrintText + ld bc, (HM_02 << 8) | 1 + call GiveItem + jr nc, .asm_d3ee3 ; 0x1e616 + ld hl, $d7e0 + set 6, [hl] + ld hl, ReceivedHM02Text + jr .asm_13616 ; 0x1e620 +.asm_d3ee3 ; 0x1e622 + ld hl, HM02NoRoomText +.asm_13616 ; 0x1e625 + call PrintText + jp TextScriptEnd + +Route16HouseText3: ; 0x1e62b + TX_FAR _Route16HouseText3 + db $50 +; 0x1e62b + 5 bytes + +ReceivedHM02Text: ; 0x1e630 + TX_FAR _ReceivedHM02Text ; 0x8ce66 + db $11, $50 + +HM02ExplanationText: ; 0x1e636 + TX_FAR _HM02ExplanationText + db $50 +; 0x1e636 + 5 bytes + +HM02NoRoomText: ; 0x1e63b + TX_FAR _HM02NoRoomText + db $50 +; 0x1e63b + 5 bytes + +Route16HouseText2: ; 0x1e640 + db $08 ; asm + ld hl, UnnamedText_1e652 + call PrintText + ld a, FEAROW + call $13d0 + call $3748 + jp TextScriptEnd + +UnnamedText_1e652: ; 0x1e652 + TX_FAR _UnnamedText_1e652 + db $50 +; 0x1e652 + 5 bytes + +Route16HouseObject: ; 0x1e657 (size=32) + db $a ; border tile + + db $2 ; warps + db $7, $2, $8, $ff + db $7, $3, $8, $ff + + db $0 ; signs + + db $2 ; people + db SPRITE_BRUNETTE_GIRL, $3 + 4, $2 + 4, $ff, $d3, $1 ; person + db SPRITE_BIRD, $4 + 4, $6 + 4, $fe, $0, $2 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + +Route22Gate_h: ; 0x1e677 to 0x1e683 (12 bytes) (bank=7) (id=193) + db $0c ; tileset + db ROUTE_22_GATE_HEIGHT, ROUTE_22_GATE_WIDTH ; dimensions (y, x) + dw Route22GateBlocks, Route22GateTexts, Route22GateScript ; blocks, texts, scripts + db $00 ; connections + + dw Route22GateObject ; objects + +Route22GateScript: ; 0x1e683 + call $3c3c + ld hl, Route22GateScripts + ld a, [$d60e] + call $3d97 + ld a, [$d361] + cp $4 + ld a, $22 + jr c, .asm_1e69a ; 0x1e696 $2 + ld a, $21 +.asm_1e69a + ld [$d365], a + ret +; 0x1e69e + +Route22GateScripts: ; 0x1e69e + dw Route22GateScript0, Route22GateScript1 + +INCBIN "baserom.gbc",$1e6a2,$2 + +Route22GateScript0: ; 0x1e6a4 + ld hl, $66b5 + call $34bf + ret nc + xor a + ld [$ff00+$b4], a + ld a, $1 + ld [$ff00+$8c], a + jp $2920 +; 0x1e6b5 + +INCBIN "baserom.gbc",$1e6b5,$1e6cd - $1e6b5 + +Route22GateScript1: ; 0x1e6cd + ld a, [$cd38] + and a + ret nz + xor a + ld [$cd6b], a + call Delay3 + ld a, $0 + ld [$d60e], a + ret +; 0x1e6df + +Route22GateTexts: ; 0x1e6df + dw Route22GateText1 + +Route22GateText1: ; 0x1e6e1 + db $8 + ld a, [$d356] + bit 0, a + jr nz, .asm_8a809 ; 0x1e6e7 $d + ld hl, UnnamedText_1e704 + call PrintText + call $66ba + ld a, $1 + jr .asm_20f7e ; 0x1e6f4 $8 +.asm_8a809 ; 0x1e6f6 + ld hl, UnnamedText_1e71a + call PrintText + ld a, $2 +.asm_20f7e ; 0x1e6fe + ld [$d60e], a + jp TextScriptEnd +; 0x1e704 + +UnnamedText_1e704: ; 0x1e704 + TX_FAR _UnnamedText_1e704 ; 0x8cfbb + db $8 + ld a, $a5 + call $3740 + call $3748 + ld hl, $6715 + ret +; 0x1e715 + +UnnamedText_1e715: ; 0x1e715 + TX_FAR _UnnamedText_1e715 + db $50 +; 0x1e71a + +UnnamedText_1e71a: ; 0x1e71a + TX_FAR _UnnamedText_1e71a ; 0x8d03e + db $0B, $50 +; 0x1e720 + +Route22GateObject: ; 0x1e720 (size=42) + db $a ; border tile + + db $4 ; warps + db $7, $4, $0, $ff + db $7, $5, $0, $ff + db $0, $4, $0, $ff + db $0, $5, $1, $ff + + db $0 ; signs + + db $1 ; people + db SPRITE_GUARD, $2 + 4, $6 + 4, $ff, $d2, $1 ; person + + ; warp-to + EVENT_DISP $5, $7, $4 + EVENT_DISP $5, $7, $5 + EVENT_DISP $5, $0, $4 + EVENT_DISP $5, $0, $5 + +Route22GateBlocks: ; 0x1e74a 20 + INCBIN "maps/route22gate.blk" + +BillsHouse_h: ; 0x1e75e to 0x1e76a (12 bytes) (bank=7) (id=88) + db $10 ; tileset + db BILLS_HOUSE_HEIGHT, BILLS_HOUSE_WIDTH ; dimensions (y, x) + dw BillsHouseBlocks, BillsHouseTexts, BillsHouseScript ; blocks, texts, scripts + db $00 ; connections + + dw BillsHouseObject ; objects + +BillsHouseScript: ; 0x1e76a + call $3c3c + ld a, [$d661] + ld hl, BillsHouseScripts + jp $3d97 +; 0x1e776 + +BillsHouseScripts: ; 0x1e776 + dw BillsHouseScript0 + +INCBIN "baserom.gbc",$1e778,$a + +BillsHouseScript0: ; 0x1e782 + ret +; 0x1e783 + +INCBIN "baserom.gbc",$1e783,$b1 + +BillsHouseTexts: ; 0x1e834 + dw BillsHouseText1, BillsHouseText2, BillsHouseText3, BillsHouseText4 + +BillsHouseText4: ; 0x1e83c + db $fd + +BillsHouseText1: ; 0x1e83d + db $8 + ld hl, UnnamedText_1e865 + call PrintText + call $35ec + ld a, [$cc26] + and a + jr nz, asm_6b196 ; 0x1e84b $d +asm_4d03c: + ld hl, UnnamedText_1e86a + call PrintText + ld a, $1 + ld [$d661], a + jr asm_fd4e2 ; 0x1e858 $8 +asm_6b196: ; 0x1e85a + ld hl, UnnamedText_1e86f + call PrintText + jr asm_4d03c ; 0x1e860 $eb +asm_fd4e2 ; 0x1e862 + jp TextScriptEnd + +UnnamedText_1e865: ; 0x1e865 + TX_FAR _UnnamedText_1e865 ; 0x8d267 + db $50 +; 0x1e86a + +UnnamedText_1e86a: ; 0x1e86a + TX_FAR _UnnamedText_1e86a ; 0x8d345 + db $50 +; 0x1e86f + +UnnamedText_1e86f: ; 0x1e86f + TX_FAR _UnnamedText_1e86f ; 0x8d391 + db $50 +; 0x1e874 + +BillsHouseText2: ; 0x1e874 + db $08 ; asm + ld a, [$d7f2] + bit 4, a + jr nz, .asm_5491f ; 0x1e87a + ld hl, BillThankYouText + call PrintText + ld bc, (S_S__TICKET << 8) | 1 + call GiveItem + jr nc, .asm_18a67 ; 0x1e888 + ld hl, SSTicketReceivedText + call PrintText + ld hl, $d7f2 + set 4, [hl] + ld a, $7 + ld [$cc4d], a + ld a, $15 + call Predef + ld a, $9 + ld [$cc4d], a + ld a, $11 + call Predef +.asm_5491f ; 0x1e8a9 + ld hl, UnnamedText_1e8cb + call PrintText + jr .asm_bd408 ; 0x1e8af +.asm_18a67 ; 0x1e8b1 + ld hl, SSTicketNoRoomText + call PrintText +.asm_bd408 ; 0x1e8b7 + jp TextScriptEnd + +BillThankYouText: ; 0x1e8ba + TX_FAR _BillThankYouText + db $50 +; 0x1e8ba + 5 bytes + +SSTicketReceivedText: ; 0x1e8bf + TX_FAR _SSTicketReceivedText ; 0x8d499 + db $11, $6, $50 + +SSTicketNoRoomText: ; 0x1e8c6 + TX_FAR _SSTicketNoRoomText + db $50 +; 0x1e8c6 + 5 bytes + +UnnamedText_1e8cb: ; 0x1e8cb + TX_FAR _UnnamedText_1e8cb + db $50 +; 0x1e8cb + 5 bytes + +BillsHouseText3: ; 0x1e8d0 + db $08 ; asm + ld hl, UnnamedText_1e8da + call PrintText + jp TextScriptEnd +; 0x1e8da + +UnnamedText_1e8da: ; 0x1e8da + TX_FAR _UnnamedText_1e8da + db $50 +; 0x1e8da + 5 bytes + +BillsHouseObject: ; 0x1e8df (size=38) + db $d ; border tile + + db $2 ; warps + db $7, $2, $0, $ff + db $7, $3, $0, $ff + + db $0 ; signs + + db $3 ; people + db SPRITE_SLOWBRO, $5 + 4, $6 + 4, $ff, $ff, $1 ; person + db SPRITE_BLACK_HAIR_BOY_2, $4 + 4, $4 + 4, $ff, $ff, $2 ; person + db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $6 + 4, $ff, $ff, $3 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + +BillsHouseBlocks: ; 0x1e905 + INCBIN "maps/billshouse.blk" + +INCBIN "baserom.gbc",$1e915,$1e93b - $1e915 + +UnnamedText_1e93b: ; 0x1e93b + TX_FAR _UnnamedText_1e93b + db $50 +; 0x1e93b + 5 bytes + +INCBIN "baserom.gbc",$1e940,$1e946 - $1e940 + +UnnamedText_1e946: ; 0x1e946 + TX_FAR _UnnamedText_1e946 + db $50 +; 0x1e946 + 5 bytes + +INCBIN "baserom.gbc",$1e94b,$1e953 - $1e94b + +UnnamedText_1e953: ; 0x1e953 + TX_FAR _UnnamedText_1e953 + db $50 +; 0x1e953 + 5 bytes + +INCBIN "baserom.gbc",$1e958,$1e960 - $1e958 + +UnnamedText_1e960: ; 0x1e960 + TX_FAR _UnnamedText_1e960 + db $50 +; 0x1e960 + 5 bytes + +INCBIN "baserom.gbc",$1e965,$1e97e - $1e965 + +UnnamedText_1e97e: ; 0x1e97e + TX_FAR _UnnamedText_1e97e + db $50 +; 0x1e97e + 5 bytes + +UnnamedText_1e983: ; 0x1e983 + TX_FAR _UnnamedText_1e983 + db $50 +; 0x1e983 + 5 bytes + +INCBIN "baserom.gbc",$1e988,$1ea0d - $1e988 + +UnnamedText_1ea0d: ; 0x1ea0d + TX_FAR _UnnamedText_1ea0d + db $50 +; 0x1ea0d + 5 bytes + +UnnamedText_1ea12: ; 0x1ea12 + TX_FAR _UnnamedText_1ea12 + db $50 +; 0x1ea12 + 5 bytes + +INCBIN "baserom.gbc",$1ea17,$1ea5b - $1ea17 + +UnnamedText_1ea5b: ; 0x1ea5b + TX_FAR _UnnamedText_1ea5b + db $50 +; 0x1ea5b + 5 bytes + +INCBIN "baserom.gbc",$1ea60,$1ea6c - $1ea60 + +UnnamedText_1ea6c: ; 0x1ea6c + TX_FAR _UnnamedText_1ea6c + db $50 +; 0x1ea6c + 5 bytes + +UnnamedText_1ea71: ; 0x1ea71 + TX_FAR _UnnamedText_1ea71 + db $50 +; 0x1ea71 + 5 bytes + +UnnamedText_1ea76: ; 0x1ea76 + TX_FAR _UnnamedText_1ea76 + db $50 +; 0x1ea76 + 5 bytes + +UnnamedText_1ea7b: ; 0x1ea7b + TX_FAR _UnnamedText_1ea7b + db $50 +; 0x1ea7b + 5 bytes + +UnnamedText_1ea80: ; 0x1ea80 + TX_FAR _UnnamedText_1ea80 + db $50 +; 0x1ea80 + 5 bytes + +UnnamedText_1ea85: ; 0x1ea85 + TX_FAR _UnnamedText_1ea85 + db $50 +; 0x1ea85 + 5 bytes + +INCBIN "baserom.gbc",$1ea8a,$1eb05 - $1ea8a + +UnnamedText_1eb05: ; 0x1eb05 + TX_FAR _UnnamedText_1eb05 + db $50 +; 0x1eb05 + 5 bytes + +INCBIN "baserom.gbc",$1eb0a,$1eb69 - $1eb0a + +UnnamedText_1eb69: ; 0x1eb69 + TX_FAR _UnnamedText_1eb69 + db $50 +; 0x1eb69 + 5 bytes + +INCBIN "baserom.gbc",$1eb6e,$1ebdd - $1eb6e + +UnnamedText_1ebdd: ; 0x1ebdd + TX_FAR _UnnamedText_1ebdd + db $50 +; 0x1ebdd + 5 bytes + +INCBIN "baserom.gbc",$1ebe2,$1ec7f - $1ebe2 + +UnnamedText_1ec7f: ; 0x1ec7f + TX_FAR _UnnamedText_1ec7f + db $50 +; 0x1ec7f + 5 bytes + +INCBIN "baserom.gbc",$1ec84,$1ecaa - $1ec84 + +UnnamedText_1ecaa: ; 0x1ecaa + TX_FAR _UnnamedText_1ecaa + db $50 +; 0x1ecaa + 5 bytes + +INCBIN "baserom.gbc",$1ecaf,$1ecbd - $1ecaf + +UnnamedText_1ecbd: ; 0x1ecbd + TX_FAR _UnnamedText_1ecbd + db $50 +; 0x1ecbd + 5 bytes + +INCBIN "baserom.gbc",$1ecc2,$133e + +SECTION "bank8",DATA,BANK[$8] + +INCBIN "baserom.gbc",$20000,$217e9 - $20000 + +UnnamedText_217e9: ; 0x217e9 + TX_FAR _UnnamedText_217e9 + db $50 +; 0x217e9 + 5 bytes + +UnnamedText_217ee: ; 0x217ee + TX_FAR _UnnamedText_217ee + db $50 +; 0x217ee + 5 bytes + +UnnamedText_217f3: ; 0x217f3 + TX_FAR _UnnamedText_217f3 + db $50 +; 0x217f3 + 5 bytes + +UnnamedText_217f8: ; 0x217f8 + TX_FAR _UnnamedText_217f8 + db $50 +; 0x217f8 + 5 bytes + +UnnamedText_217fd: ; 0x217fd + TX_FAR _UnnamedText_217fd + db $50 +; 0x217fd + 5 bytes + +UnnamedText_21802: ; 0x21802 + TX_FAR _UnnamedText_21802 + db $50 +; 0x21802 + 5 bytes + +UnnamedText_21807: ; 0x21807 + TX_FAR _UnnamedText_21807 + db $50 +; 0x21807 + 5 bytes + +UnnamedText_2180c: ; 0x2180c + TX_FAR _UnnamedText_2180c + db $50 +; 0x2180c + 5 bytes + +UnnamedText_21811: ; 0x21811 + TX_FAR _UnnamedText_21811 + db $50 +; 0x21811 + 5 bytes + +UnnamedText_21816: ; 0x21816 + TX_FAR _UnnamedText_21816 + db $50 +; 0x21816 + 5 bytes + +UnnamedText_2181b: ; 0x2181b + TX_FAR _UnnamedText_2181b + db $50 +; 0x2181b + 5 bytes + +UnnamedText_21820: ; 0x21820 + TX_FAR _UnnamedText_21820 + db $50 +; 0x21820 + 5 bytes + +INCBIN "baserom.gbc",$21825,$21865 - $21825 + +UnnamedText_21865: ; 0x21865 + TX_FAR _UnnamedText_21865 + db $50 +; 0x21865 + 5 bytes + +INCBIN "baserom.gbc",$2186a,$2796 + +SECTION "bank9",DATA,BANK[$9] + +RhydonPicFront: + INCBIN "pic/bmon/rhydon.pic" +RhydonPicBack: + INCBIN "pic/monback/rhydonb.pic" +KangaskhanPicFront: + INCBIN "pic/bmon/kangaskhan.pic" +KangaskhanPicBack: + INCBIN "pic/monback/kangaskhanb.pic" +NidoranMPicFront: + INCBIN "pic/bmon/nidoranm.pic" +NidoranMPicBack: + INCBIN "pic/monback/nidoranmb.pic" +ClefairyPicFront: + INCBIN "pic/bmon/clefairy.pic" +ClefairyPicBack: + INCBIN "pic/monback/clefairyb.pic" +SpearowPicFront: + INCBIN "pic/bmon/spearow.pic" +SpearowPicBack: + INCBIN "pic/monback/spearowb.pic" +VoltorbPicFront: + INCBIN "pic/bmon/voltorb.pic" +VoltorbPicBack: + INCBIN "pic/monback/voltorbb.pic" +NidokingPicFront: + INCBIN "pic/bmon/nidoking.pic" +NidokingPicBack: + INCBIN "pic/monback/nidokingb.pic" +SlowbroPicFront: + INCBIN "pic/bmon/slowbro.pic" +SlowbroPicBack: + INCBIN "pic/monback/slowbrob.pic" +IvysaurPicFront: + INCBIN "pic/bmon/ivysaur.pic" +IvysaurPicBack: + INCBIN "pic/monback/ivysaurb.pic" +ExeggutorPicFront: + INCBIN "pic/bmon/exeggutor.pic" +ExeggutorPicBack: + INCBIN "pic/monback/exeggutorb.pic" +LickitungPicFront: + INCBIN "pic/bmon/lickitung.pic" +LickitungPicBack: + INCBIN "pic/monback/lickitungb.pic" +ExeggcutePicFront: + INCBIN "pic/bmon/exeggcute.pic" +ExeggcutePicBack: + INCBIN "pic/monback/exeggcuteb.pic" +GrimerPicFront: + INCBIN "pic/bmon/grimer.pic" +GrimerPicBack: + INCBIN "pic/monback/grimerb.pic" +GengarPicFront: + INCBIN "pic/bmon/gengar.pic" +GengarPicBack: + INCBIN "pic/monback/gengarb.pic" +NidoranFPicFront: + INCBIN "pic/bmon/nidoranf.pic" +NidoranFPicBack: + INCBIN "pic/monback/nidoranfb.pic" +NidoqueenPicFront: + INCBIN "pic/bmon/nidoqueen.pic" +NidoqueenPicBack: + INCBIN "pic/monback/nidoqueenb.pic" +CubonePicFront: + INCBIN "pic/bmon/cubone.pic" +CubonePicBack: + INCBIN "pic/monback/cuboneb.pic" +RhyhornPicFront: + INCBIN "pic/bmon/rhyhorn.pic" +RhyhornPicBack: + INCBIN "pic/monback/rhyhornb.pic" +LaprasPicFront: + INCBIN "pic/bmon/lapras.pic" +LaprasPicBack: + INCBIN "pic/monback/laprasb.pic" +ArcaninePicFront: + INCBIN "pic/bmon/arcanine.pic" +ArcaninePicBack: + INCBIN "pic/monback/arcanineb.pic" +GyaradosPicFront: + INCBIN "pic/bmon/gyarados.pic" +GyaradosPicBack: + INCBIN "pic/monback/gyaradosb.pic" +ShellderPicFront: + INCBIN "pic/bmon/shellder.pic" +ShellderPicBack: + INCBIN "pic/monback/shellderb.pic" +TentacoolPicFront: + INCBIN "pic/bmon/tentacool.pic" +TentacoolPicBack: + INCBIN "pic/monback/tentacoolb.pic" +GastlyPicFront: + INCBIN "pic/bmon/gastly.pic" +GastlyPicBack: + INCBIN "pic/monback/gastlyb.pic" +ScytherPicFront: + INCBIN "pic/bmon/scyther.pic" +ScytherPicBack: + INCBIN "pic/monback/scytherb.pic" +StaryuPicFront: + INCBIN "pic/bmon/staryu.pic" +StaryuPicBack: + INCBIN "pic/monback/staryub.pic" +BlastoisePicFront: + INCBIN "pic/bmon/blastoise.pic" +BlastoisePicBack: + INCBIN "pic/monback/blastoiseb.pic" +PinsirPicFront: + INCBIN "pic/bmon/pinsir.pic" +PinsirPicBack: ; 0x27aaa + INCBIN "pic/monback/pinsirb.pic" +TangelaPicFront: ; 0x27b39 + INCBIN "pic/bmon/tangela.pic" +TangelaPicBack: ; 0x27ce7 + INCBIN "pic/monback/tangelab.pic" + +INCBIN "baserom.gbc",$27d6b,$27DAE - $27d6b + +TypeNamePointers: ; 7DAE + dw Type00Name + dw Type01Name + dw Type02Name + dw Type03Name + dw Type04Name + dw Type05Name + dw Type06Name + dw Type07Name + dw Type08Name + dw Type00Name + dw Type00Name + dw Type00Name + dw Type00Name + dw Type00Name + dw Type00Name + dw Type00Name + dw Type00Name + dw Type00Name + dw Type00Name + dw Type00Name + dw Type14Name + dw Type15Name + dw Type16Name + dw Type17Name + dw Type18Name + dw Type19Name + dw Type1AName + +Type00Name: + db "NORMAL@" +Type01Name: + db "FIGHTING@" +Type02Name: + db "FLYING@" +Type03Name: + db "POISON@" +Type14Name: + db "FIRE@" +Type15Name: + db "WATER@" +Type16Name: + db "GRASS@" +Type17Name: + db "ELECTRIC@" +Type18Name: + db "PSYCHIC@" +Type19Name: + db "ICE@" +Type04Name: + db "GROUND@" +Type05Name: + db "ROCK@" +Type06Name: + db "BIRD@" +Type07Name: + db "BUG@" +Type08Name: + db "GHOST@" +Type1AName: + db "DRAGON@" + +SaveTrainerName: ; 7E4A + ld hl,TrainerNamePointers + ld a,[W_TRAINERCLASS] + dec a + ld c,a + ld b,0 + add hl,bc + add hl,bc + ld a,[hli] + ld h,[hl] + ld l,a + ld de,$CD6D +.CopyCharacter\@ + ld a,[hli] + ld [de],a + inc de + cp "@" + jr nz,.CopyCharacter\@ + ret + +TrainerNamePointers: ; 0x27e64 +; what is the point of these? + dw YoungsterName + dw BugCatcherName + dw LassName + dw $D04A + dw JrTrainerMName + dw JrTrainerFName + dw PokemaniacName + dw SuperNerdName + dw $D04A + dw $D04A + dw BurglarName + dw EngineerName + dw JugglerXName + dw $D04A + dw SwimmerName + dw $D04A + dw $D04A + dw BeautyName + dw $D04A + dw RockerName + dw JugglerName + dw $D04A + dw $D04A + dw BlackbeltName + dw $D04A + dw ProfOakName + dw ChiefName + dw ScientistName + dw $D04A + dw RocketName + dw CooltrainerMName + dw CooltrainerFName + dw $D04A + dw $D04A + dw $D04A + dw $D04A + dw $D04A + dw $D04A + dw $D04A + dw $D04A + dw $D04A + dw $D04A + dw $D04A + dw $D04A + dw $D04A + dw $D04A + dw $D04A + +YoungsterName: + db "YOUNGSTER@" +BugCatcherName: + db "BUG CATCHER@" +LassName: + db "LASS@" +JrTrainerMName: + db "JR.TRAINER♂@" +JrTrainerFName: + db "JR.TRAINER♀@" +PokemaniacName: + db "POKéMANIAC@" +SuperNerdName: + db "SUPER NERD@" +BurglarName: + db "BURGLAR@" +EngineerName: + db "ENGINEER@" +JugglerXName: + db "JUGGLER@" +SwimmerName: + db "SWIMMER@" +BeautyName: + db "BEAUTY@" +RockerName: + db "ROCKER@" +JugglerName: + db "JUGGLER@" +BlackbeltName: + db "BLACKBELT@" +ProfOakName: + db "PROF.OAK@" +ChiefName: + db "CHIEF@" +ScientistName: + db "SCIENTIST@" +RocketName: + db "ROCKET@" +CooltrainerMName: + db "COOLTRAINER♂@" +CooltrainerFName: + db "COOLTRAINER♀@" + +INCBIN "baserom.gbc",$27f86,$27fb3 - $27f86 + +UnnamedText_27fb3: ; 0x27fb3 + TX_FAR _UnnamedText_27fb3 + db $50 +; 0x27fb3 + 5 bytes + +SECTION "bankA",DATA,BANK[$A] +GrowlithePicFront: + INCBIN "pic/bmon/growlithe.pic" +GrowlithePicBack: + INCBIN "pic/monback/growlitheb.pic" +OnixPicFront: + INCBIN "pic/bmon/onix.pic" +OnixPicBack: + INCBIN "pic/monback/onixb.pic" +FearowPicFront: + INCBIN "pic/bmon/fearow.pic" +FearowPicBack: + INCBIN "pic/monback/fearowb.pic" +PidgeyPicFront: + INCBIN "pic/bmon/pidgey.pic" +PidgeyPicBack: + INCBIN "pic/monback/pidgeyb.pic" +SlowpokePicFront: + INCBIN "pic/bmon/slowpoke.pic" +SlowpokePicBack: + INCBIN "pic/monback/slowpokeb.pic" +KadabraPicFront: + INCBIN "pic/bmon/kadabra.pic" +KadabraPicBack: + INCBIN "pic/monback/kadabrab.pic" +GravelerPicFront: + INCBIN "pic/bmon/graveler.pic" +GravelerPicBack: + INCBIN "pic/monback/gravelerb.pic" +ChanseyPicFront: + INCBIN "pic/bmon/chansey.pic" +ChanseyPicBack: + INCBIN "pic/monback/chanseyb.pic" +MachokePicFront: + INCBIN "pic/bmon/machoke.pic" +MachokePicBack: + INCBIN "pic/monback/machokeb.pic" +MrMimePicFront: + INCBIN "pic/bmon/mr.mime.pic" +MrMimePicBack: + INCBIN "pic/monback/mr.mimeb.pic" +HitmonleePicFront: + INCBIN "pic/bmon/hitmonlee.pic" +HitmonleePicBack: + INCBIN "pic/monback/hitmonleeb.pic" +HitmonchanPicFront: + INCBIN "pic/bmon/hitmonchan.pic" +HitmonchanPicBack: + INCBIN "pic/monback/hitmonchanb.pic" +ArbokPicFront: + INCBIN "pic/bmon/arbok.pic" +ArbokPicBack: + INCBIN "pic/monback/arbokb.pic" +ParasectPicFront: + INCBIN "pic/bmon/parasect.pic" +ParasectPicBack: + INCBIN "pic/monback/parasectb.pic" +PsyduckPicFront: + INCBIN "pic/bmon/psyduck.pic" +PsyduckPicBack: + INCBIN "pic/monback/psyduckb.pic" +DrowzeePicFront: + INCBIN "pic/bmon/drowzee.pic" +DrowzeePicBack: + INCBIN "pic/monback/drowzeeb.pic" +GolemPicFront: + INCBIN "pic/bmon/golem.pic" +GolemPicBack: + INCBIN "pic/monback/golemb.pic" +MagmarPicFront: + INCBIN "pic/bmon/magmar.pic" +MagmarPicBack: + INCBIN "pic/monback/magmarb.pic" +ElectabuzzPicFront: + INCBIN "pic/bmon/electabuzz.pic" +ElectabuzzPicBack: + INCBIN "pic/monback/electabuzzb.pic" +MagnetonPicFront: + INCBIN "pic/bmon/magneton.pic" +MagnetonPicBack: + INCBIN "pic/monback/magnetonb.pic" +KoffingPicFront: + INCBIN "pic/bmon/koffing.pic" +KoffingPicBack: + INCBIN "pic/monback/koffingb.pic" +MankeyPicFront: + INCBIN "pic/bmon/mankey.pic" +MankeyPicBack: + INCBIN "pic/monback/mankeyb.pic" +SeelPicFront: + INCBIN "pic/bmon/seel.pic" +SeelPicBack: + INCBIN "pic/monback/seelb.pic" +DiglettPicFront: + INCBIN "pic/bmon/diglett.pic" +DiglettPicBack: + INCBIN "pic/monback/diglettb.pic" +TaurosPicFront: + INCBIN "pic/bmon/tauros.pic" +TaurosPicBack: + INCBIN "pic/monback/taurosb.pic" +FarfetchdPicFront: + INCBIN "pic/bmon/farfetchd.pic" +FarfetchdPicBack: + INCBIN "pic/monback/farfetchdb.pic" +VenonatPicFront: + INCBIN "pic/bmon/venonat.pic" +VenonatPicBack: + INCBIN "pic/monback/venonatb.pic" +DragonitePicFront: + INCBIN "pic/bmon/dragonite.pic" +DragonitePicBack: + INCBIN "pic/monback/dragoniteb.pic" +DoduoPicFront: + INCBIN "pic/bmon/doduo.pic" +DoduoPicBack: + INCBIN "pic/monback/doduob.pic" +PoliwagPicFront: + INCBIN "pic/bmon/poliwag.pic" +PoliwagPicBack: + INCBIN "pic/monback/poliwagb.pic" +JynxPicFront: + INCBIN "pic/bmon/jynx.pic" +JynxPicBack: + INCBIN "pic/monback/jynxb.pic" +MoltresPicFront: + INCBIN "pic/bmon/moltres.pic" +MoltresPicBack: + INCBIN "pic/monback/moltresb.pic" + +INCBIN "baserom.gbc",$2bea9,$2bef2 - $2bea9 + +UnnamedText_2bef2: ; 0x2bef2 + TX_FAR _UnnamedText_2bef2 + db $50 +; 0x2bef2 + 5 bytes + +UnnamedText_2bef7: ; 0x2bef7 + TX_FAR _UnnamedText_2bef7 + db $50 +; 0x2bef7 + 5 bytes + +SECTION "bankB",DATA,BANK[$B] +ArticunoPicFront: + INCBIN "pic/bmon/articuno.pic" +ArticunoPicBack: + INCBIN "pic/monback/articunob.pic" +ZapdosPicFront: + INCBIN "pic/bmon/zapdos.pic" +ZapdosPicBack: + INCBIN "pic/monback/zapdosb.pic" +DittoPicFront: + INCBIN "pic/bmon/ditto.pic" +DittoPicBack: + INCBIN "pic/monback/dittob.pic" +MeowthPicFront: + INCBIN "pic/bmon/meowth.pic" +MeowthPicBack: + INCBIN "pic/monback/meowthb.pic" +KrabbyPicFront: + INCBIN "pic/bmon/krabby.pic" +KrabbyPicBack: + INCBIN "pic/monback/krabbyb.pic" +VulpixPicFront: + INCBIN "pic/bmon/vulpix.pic" +VulpixPicBack: + INCBIN "pic/monback/vulpixb.pic" +NinetalesPicFront: + INCBIN "pic/bmon/ninetales.pic" +NinetalesPicBack: + INCBIN "pic/monback/ninetalesb.pic" +PikachuPicFront: + INCBIN "pic/bmon/pikachu.pic" +PikachuPicBack: + INCBIN "pic/monback/pikachub.pic" +RaichuPicFront: + INCBIN "pic/bmon/raichu.pic" +RaichuPicBack: + INCBIN "pic/monback/raichub.pic" +DratiniPicFront: + INCBIN "pic/bmon/dratini.pic" +DratiniPicBack: + INCBIN "pic/monback/dratinib.pic" +DragonairPicFront: + INCBIN "pic/bmon/dragonair.pic" +DragonairPicBack: + INCBIN "pic/monback/dragonairb.pic" +KabutoPicFront: + INCBIN "pic/bmon/kabuto.pic" +KabutoPicBack: + INCBIN "pic/monback/kabutob.pic" +KabutopsPicFront: + INCBIN "pic/bmon/kabutops.pic" +KabutopsPicBack: + INCBIN "pic/monback/kabutopsb.pic" +HorseaPicFront: + INCBIN "pic/bmon/horsea.pic" +HorseaPicBack: + INCBIN "pic/monback/horseab.pic" +SeadraPicFront: + INCBIN "pic/bmon/seadra.pic" +SeadraPicBack: + INCBIN "pic/monback/seadrab.pic" +SandshrewPicFront: + INCBIN "pic/bmon/sandshrew.pic" +SandshrewPicBack: + INCBIN "pic/monback/sandshrewb.pic" +SandslashPicFront: + INCBIN "pic/bmon/sandslash.pic" +SandslashPicBack: + INCBIN "pic/monback/sandslashb.pic" +OmanytePicFront: + INCBIN "pic/bmon/omanyte.pic" +OmanytePicBack: + INCBIN "pic/monback/omanyteb.pic" +OmastarPicFront: + INCBIN "pic/bmon/omastar.pic" +OmastarPicBack: + INCBIN "pic/monback/omastarb.pic" +JigglypuffPicFront: + INCBIN "pic/bmon/jigglypuff.pic" +JigglypuffPicBack: + INCBIN "pic/monback/jigglypuffb.pic" +WigglytuffPicFront: + INCBIN "pic/bmon/wigglytuff.pic" +WigglytuffPicBack: + INCBIN "pic/monback/wigglytuffb.pic" +EeveePicFront: + INCBIN "pic/bmon/eevee.pic" +EeveePicBack: + INCBIN "pic/monback/eeveeb.pic" +FlareonPicFront: + INCBIN "pic/bmon/flareon.pic" +FlareonPicBack: + INCBIN "pic/monback/flareonb.pic" +JolteonPicFront: + INCBIN "pic/bmon/jolteon.pic" +JolteonPicBack: + INCBIN "pic/monback/jolteonb.pic" +VaporeonPicFront: + INCBIN "pic/bmon/vaporeon.pic" +VaporeonPicBack: + INCBIN "pic/monback/vaporeonb.pic" +MachopPicFront: + INCBIN "pic/bmon/machop.pic" +MachopPicBack: + INCBIN "pic/monback/machopb.pic" +ZubatPicFront: + INCBIN "pic/bmon/zubat.pic" +ZubatPicBack: + INCBIN "pic/monback/zubatb.pic" +EkansPicFront: + INCBIN "pic/bmon/ekans.pic" +EkansPicBack: + INCBIN "pic/monback/ekansb.pic" +ParasPicFront: + INCBIN "pic/bmon/paras.pic" +ParasPicBack: + INCBIN "pic/monback/parasb.pic" +PoliwhirlPicFront: + INCBIN "pic/bmon/poliwhirl.pic" +PoliwhirlPicBack: + INCBIN "pic/monback/poliwhirlb.pic" +PoliwrathPicFront: + INCBIN "pic/bmon/poliwrath.pic" +PoliwrathPicBack: + INCBIN "pic/monback/poliwrathb.pic" +WeedlePicFront: + INCBIN "pic/bmon/weedle.pic" +WeedlePicBack: + INCBIN "pic/monback/weedleb.pic" +KakunaPicFront: + INCBIN "pic/bmon/kakuna.pic" +KakunaPicBack: + INCBIN "pic/monback/kakunab.pic" +BeedrillPicFront: + INCBIN "pic/bmon/beedrill.pic" +BeedrillPicBack: + INCBIN "pic/monback/beedrillb.pic" +FossilKabutopsPic: + INCBIN "pic/bmon/fossilkabutops.pic" + +INCBIN "baserom.gbc",$2fb7b,$2fb8e - $2fb7b + +UnnamedText_2fb8e: ; 0x2fb8e + TX_FAR _UnnamedText_2fb8e + db $50 +; 0x2fb8e + 5 bytes + +UnnamedText_2fb93: ; 0x2fb93 + TX_FAR _UnnamedText_2fb93 + db $50 +; 0x2fb93 + 5 bytes + +INCBIN "baserom.gbc",$2fb98,$2fe3b - $2fb98 + +UnnamedText_2fe3b: ; 0x2fe3b + TX_FAR _UnnamedText_2fe3b + db $50 +; 0x2fe3b + 5 bytes + +INCBIN "baserom.gbc",$2fe40,$2ff04 - $2fe40 + +UnnamedText_2ff04: ; 0x2ff04 + TX_FAR _UnnamedText_2ff04 + db $50 +; 0x2ff04 + 5 bytes + +INCBIN "baserom.gbc",$2ff09,$2ff32 - $2ff09 + +UnnamedText_2ff32: ; 0x2ff32 + TX_FAR _UnnamedText_2ff32 + db $50 +; 0x2ff32 + 5 bytes + +UnnamedText_2ff37: ; 0x2ff37 + TX_FAR _UnnamedText_2ff37 + db $50 +; 0x2ff37 + 5 bytes + +SECTION "bankC",DATA,BANK[$C] +DodrioPicFront: + INCBIN "pic/bmon/dodrio.pic" +DodrioPicBack: + INCBIN "pic/monback/dodriob.pic" +PrimeapePicFront: + INCBIN "pic/bmon/primeape.pic" +PrimeapePicBack: + INCBIN "pic/monback/primeapeb.pic" +DugtrioPicFront: + INCBIN "pic/bmon/dugtrio.pic" +DugtrioPicBack: + INCBIN "pic/monback/dugtriob.pic" +VenomothPicFront: + INCBIN "pic/bmon/venomoth.pic" +VenomothPicBack: + INCBIN "pic/monback/venomothb.pic" +DewgongPicFront: + INCBIN "pic/bmon/dewgong.pic" +DewgongPicBack: + INCBIN "pic/monback/dewgongb.pic" +CaterpiePicFront: + INCBIN "pic/bmon/caterpie.pic" +CaterpiePicBack: + INCBIN "pic/monback/caterpieb.pic" +MetapodPicFront: + INCBIN "pic/bmon/metapod.pic" +MetapodPicBack: + INCBIN "pic/monback/metapodb.pic" +ButterfreePicFront: + INCBIN "pic/bmon/butterfree.pic" +ButterfreePicBack: + INCBIN "pic/monback/butterfreeb.pic" +MachampPicFront: + INCBIN "pic/bmon/machamp.pic" +MachampPicBack: + INCBIN "pic/monback/machampb.pic" +GolduckPicFront: + INCBIN "pic/bmon/golduck.pic" +GolduckPicBack: + INCBIN "pic/monback/golduckb.pic" +HypnoPicFront: + INCBIN "pic/bmon/hypno.pic" +HypnoPicBack: + INCBIN "pic/monback/hypnob.pic" +GolbatPicFront: + INCBIN "pic/bmon/golbat.pic" +GolbatPicBack: + INCBIN "pic/monback/golbatb.pic" +MewtwoPicFront: + INCBIN "pic/bmon/mewtwo.pic" +MewtwoPicBack: + INCBIN "pic/monback/mewtwob.pic" +SnorlaxPicFront: + INCBIN "pic/bmon/snorlax.pic" +SnorlaxPicBack: + INCBIN "pic/monback/snorlaxb.pic" +MagikarpPicFront: + INCBIN "pic/bmon/magikarp.pic" +MagikarpPicBack: + INCBIN "pic/monback/magikarpb.pic" +MukPicFront: + INCBIN "pic/bmon/muk.pic" +MukPicBack: + INCBIN "pic/monback/mukb.pic" +KinglerPicFront: + INCBIN "pic/bmon/kingler.pic" +KinglerPicBack: + INCBIN "pic/monback/kinglerb.pic" +CloysterPicFront: + INCBIN "pic/bmon/cloyster.pic" +CloysterPicBack: + INCBIN "pic/monback/cloysterb.pic" +ElectrodePicFront: + INCBIN "pic/bmon/electrode.pic" +ElectrodePicBack: + INCBIN "pic/monback/electrodeb.pic" +ClefablePicFront: + INCBIN "pic/bmon/clefable.pic" +ClefablePicBack: + INCBIN "pic/monback/clefableb.pic" +WeezingPicFront: + INCBIN "pic/bmon/weezing.pic" +WeezingPicBack: + INCBIN "pic/monback/weezingb.pic" +PersianPicFront: + INCBIN "pic/bmon/persian.pic" +PersianPicBack: + INCBIN "pic/monback/persianb.pic" +MarowakPicFront: + INCBIN "pic/bmon/marowak.pic" +MarowakPicBack: + INCBIN "pic/monback/marowakb.pic" +HaunterPicFront: + INCBIN "pic/bmon/haunter.pic" +HaunterPicBack: + INCBIN "pic/monback/haunterb.pic" +AbraPicFront: + INCBIN "pic/bmon/abra.pic" +AbraPicBack: + INCBIN "pic/monback/abrab.pic" +AlakazamPicFront: + INCBIN "pic/bmon/alakazam.pic" +AlakazamPicBack: + INCBIN "pic/monback/alakazamb.pic" +PidgeottoPicFront: + INCBIN "pic/bmon/pidgeotto.pic" +PidgeottoPicBack: + INCBIN "pic/monback/pidgeottob.pic" +PidgeotPicFront: + INCBIN "pic/bmon/pidgeot.pic" +PidgeotPicBack: + INCBIN "pic/monback/pidgeotb.pic" +StarmiePicFront: + INCBIN "pic/bmon/starmie.pic" +StarmiePicBack: + INCBIN "pic/monback/starmieb.pic" +RedPicBack: + INCBIN "pic/trainer/redb.pic" +OldManPic: + INCBIN "pic/trainer/oldman.pic" + +INCBIN "baserom.gbc",$33f2b,$33f52 - $33f2b + +UnnamedText_33f52: ; 0x33f52 + TX_FAR _UnnamedText_33f52 + db $50 +; 0x33f52 + 5 bytes + +INCBIN "baserom.gbc",$33f57,$39 + +SECTION "bankD",DATA,BANK[$D] +BulbasaurPicFront: + INCBIN "pic/bmon/bulbasaur.pic" +BulbasaurPicBack: + INCBIN "pic/monback/bulbasaurb.pic" +VenusaurPicFront: + INCBIN "pic/bmon/venusaur.pic" +VenusaurPicBack: + INCBIN "pic/monback/venusaurb.pic" +TentacruelPicFront: + INCBIN "pic/bmon/tentacruel.pic" +TentacruelPicBack: + INCBIN "pic/monback/tentacruelb.pic" +GoldeenPicFront: + INCBIN "pic/bmon/goldeen.pic" +GoldeenPicBack: + INCBIN "pic/monback/goldeenb.pic" +SeakingPicFront: + INCBIN "pic/bmon/seaking.pic" +SeakingPicBack: + INCBIN "pic/monback/seakingb.pic" +PonytaPicFront: + INCBIN "pic/bmon/ponyta.pic" +RapidashPicFront: + INCBIN "pic/bmon/rapidash.pic" +PonytaPicBack: + INCBIN "pic/monback/ponytab.pic" +RapidashPicBack: + INCBIN "pic/monback/rapidashb.pic" +RattataPicFront: + INCBIN "pic/bmon/rattata.pic" +RattataPicBack: + INCBIN "pic/monback/rattatab.pic" +RaticatePicFront: + INCBIN "pic/bmon/raticate.pic" +RaticatePicBack: + INCBIN "pic/monback/raticateb.pic" +NidorinoPicFront: + INCBIN "pic/bmon/nidorino.pic" +NidorinoPicBack: + INCBIN "pic/monback/nidorinob.pic" +NidorinaPicFront: + INCBIN "pic/bmon/nidorina.pic" +NidorinaPicBack: + INCBIN "pic/monback/nidorinab.pic" +GeodudePicFront: + INCBIN "pic/bmon/geodude.pic" +GeodudePicBack: + INCBIN "pic/monback/geodudeb.pic" +PorygonPicFront: + INCBIN "pic/bmon/porygon.pic" +PorygonPicBack: + INCBIN "pic/monback/porygonb.pic" +AerodactylPicFront: + INCBIN "pic/bmon/aerodactyl.pic" +AerodactylPicBack: + INCBIN "pic/monback/aerodactylb.pic" +MagnemitePicFront: + INCBIN "pic/bmon/magnemite.pic" +MagnemitePicBack: + INCBIN "pic/monback/magnemiteb.pic" +CharmanderPicFront: + INCBIN "pic/bmon/charmander.pic" +CharmanderPicBack: + INCBIN "pic/monback/charmanderb.pic" +SquirtlePicFront: + INCBIN "pic/bmon/squirtle.pic" +SquirtlePicBack: + INCBIN "pic/monback/squirtleb.pic" +CharmeleonPicFront: + INCBIN "pic/bmon/charmeleon.pic" +CharmeleonPicBack: + INCBIN "pic/monback/charmeleonb.pic" +WartortlePicFront: + INCBIN "pic/bmon/wartortle.pic" +WartortlePicBack: + INCBIN "pic/monback/wartortleb.pic" +CharizardPicFront: + INCBIN "pic/bmon/charizard.pic" +CharizardPicBack: + INCBIN "pic/monback/charizardb.pic" +FossilAerodactylPic: + INCBIN "pic/bmon/fossilaerodactyl.pic" +GhostPic: + INCBIN "pic/other/ghost.pic" +OddishPicFront: + INCBIN "pic/bmon/oddish.pic" +OddishPicBack: + INCBIN "pic/monback/oddishb.pic" +GloomPicFront: + INCBIN "pic/bmon/gloom.pic" +GloomPicBack: + INCBIN "pic/monback/gloomb.pic" +VileplumePicFront: + INCBIN "pic/bmon/vileplume.pic" +VileplumePicBack: + INCBIN "pic/monback/vileplumeb.pic" +BellsproutPicFront: + INCBIN "pic/bmon/bellsprout.pic" +BellsproutPicBack: + INCBIN "pic/monback/bellsproutb.pic" +WeepinbellPicFront: + INCBIN "pic/bmon/weepinbell.pic" +WeepinbellPicBack: + INCBIN "pic/monback/weepinbellb.pic" +VictreebelPicFront: + INCBIN "pic/bmon/victreebel.pic" +VictreebelPicBack: + INCBIN "pic/monback/victreebelb.pic" + +INCBIN "baserom.gbc",$37244,$37390 - $37244 + +UnnamedText_37390: ; 0x37390 + TX_FAR _UnnamedText_37390 + db $50 +; 0x37390 + 5 bytes + +INCBIN "baserom.gbc",$37395,$37467 - $37395 + +UnnamedText_37467: ; 0x37467 + TX_FAR _UnnamedText_37467 + db $50 +; 0x37467 + 5 bytes + +UnnamedText_3746c: ; 0x3746c + TX_FAR _UnnamedText_3746c + db $50 +; 0x3746c + 5 bytes + +UnnamedText_37471: ; 0x37471 + TX_FAR _UnnamedText_37471 + db $50 +; 0x37471 + 5 bytes + +UnnamedText_37476: ; 0x37476 + TX_FAR _UnnamedText_37476 + db $50 +; 0x37476 + 5 bytes + +UnnamedText_3747b: ; 0x3747b + TX_FAR _UnnamedText_3747b + db $50 +; 0x3747b + 5 bytes + +INCBIN "baserom.gbc",$37480,$37673 - $37480 + +UnnamedText_37673: ; 0x37673 + TX_FAR _UnnamedText_37673 + db $50 +; 0x37673 + 5 bytes + +INCBIN "baserom.gbc",$37678,$3769d - $37678 + +UnnamedText_3769d: ; 0x3769d + TX_FAR _UnnamedText_3769d + db $50 +; 0x3769d + 5 bytes + +INCBIN "baserom.gbc",$376a2,$44f + +IF _RED + INCBIN "gfx/red/slotmachine1.2bpp" +ENDC +IF _BLUE + INCBIN "gfx/blue/slotmachine1.2bpp" +ENDC + +INCBIN "baserom.gbc",$37ca1,$37e79 - $37ca1 + +UnnamedText_37e79: ; 0x37e79 + TX_FAR _UnnamedText_37e79 + db $50 +; 0x37e79 + 5 bytes + +UnnamedText_37e7e: ; 0x37e7e + TX_FAR _UnnamedText_37e7e + db $50 +; 0x37e7e + 5 bytes + +UnnamedText_37e83: ; 0x37e83 + TX_FAR _UnnamedText_37e83 + db $50 +; 0x37e83 + 5 bytes + +SECTION "bankE",DATA,BANK[$E] + +Moves: ; 4000 +; characteristics of each move +; animation, effect, power, type, accuracy, PP +db POUND ,$00,$28,NORMAL,$FF,35 +db KARATE_CHOP ,$00,$32,NORMAL,$FF,25 +db DOUBLESLAP ,$1D,$0F,NORMAL,$D8,10 +db COMET_PUNCH ,$1D,$12,NORMAL,$D8,15 +db MEGA_PUNCH ,$00,$50,NORMAL,$D8,20 +db PAY_DAY ,$10,$28,NORMAL,$FF,20 +db FIRE_PUNCH ,$04,$4B,FIRE,$FF,15 +db ICE_PUNCH ,$05,$4B,ICE,$FF,15 +db THUNDERPUNCH,$06,$4B,ELECTRIC,$FF,15 +db SCRATCH ,$00,$28,NORMAL,$FF,35 +db VICEGRIP ,$00,$37,NORMAL,$FF,30 +db GUILLOTINE ,$26,$01,NORMAL,$4C,5 +db RAZOR_WIND ,$27,$50,NORMAL,$BF,10 +db SWORDS_DANCE,$32,$00,NORMAL,$FF,30 +db CUT ,$00,$32,NORMAL,$F2,30 +db GUST ,$00,$28,NORMAL,$FF,35 +db WING_ATTACK ,$00,$23,FLYING,$FF,35 +db WHIRLWIND ,$1C,$00,NORMAL,$D8,20 +db FLY ,$2B,$46,FLYING,$F2,15 +db BIND ,$2A,$0F,NORMAL,$BF,20 +db SLAM ,$00,$50,NORMAL,$BF,20 +db VINE_WHIP ,$00,$23,GRASS,$FF,10 +db STOMP ,$25,$41,NORMAL,$FF,20 +db DOUBLE_KICK ,$2C,$1E,FIGHTING,$FF,30 +db MEGA_KICK ,$00,$78,NORMAL,$BF,5 +db JUMP_KICK ,$2D,$46,FIGHTING,$F2,25 +db ROLLING_KICK,$25,$3C,FIGHTING,$D8,15 +db SAND_ATTACK ,$16,$00,NORMAL,$FF,15 +db HEADBUTT ,$25,$46,NORMAL,$FF,15 +db HORN_ATTACK ,$00,$41,NORMAL,$FF,25 +db FURY_ATTACK ,$1D,$0F,NORMAL,$D8,20 +db HORN_DRILL ,$26,$01,NORMAL,$4C,5 +db TACKLE ,$00,$23,NORMAL,$F2,35 +db BODY_SLAM ,$24,$55,NORMAL,$FF,15 +db WRAP ,$2A,$0F,NORMAL,$D8,20 +db TAKE_DOWN ,$30,$5A,NORMAL,$D8,20 +db THRASH ,$1B,$5A,NORMAL,$FF,20 +db DOUBLE_EDGE ,$30,$64,NORMAL,$FF,15 +db TAIL_WHIP ,$13,$00,NORMAL,$FF,30 +db POISON_STING,$02,$0F,POISON,$FF,35 +db TWINEEDLE ,$4D,$19,BUG,$FF,20 +db PIN_MISSILE ,$1D,$0E,BUG,$D8,20 +db LEER ,$13,$00,NORMAL,$FF,30 +db BITE ,$1F,$3C,NORMAL,$FF,25 +db GROWL ,$12,$00,NORMAL,$FF,40 +db ROAR ,$1C,$00,NORMAL,$FF,20 +db SING ,$20,$00,NORMAL,$8C,15 +db SUPERSONIC ,$31,$00,NORMAL,$8C,20 +db SONICBOOM ,$29,$01,NORMAL,$E5,20 +db DISABLE ,$56,$00,NORMAL,$8C,20 +db ACID ,$45,$28,POISON,$FF,30 +db EMBER ,$04,$28,FIRE,$FF,25 +db FLAMETHROWER,$04,$5F,FIRE,$FF,15 +db MIST ,$2E,$00,ICE,$FF,30 +db WATER_GUN ,$00,$28,WATER,$FF,25 +db HYDRO_PUMP ,$00,$78,WATER,$CC,5 +db SURF ,$00,$5F,WATER,$FF,15 +db ICE_BEAM ,$05,$5F,ICE,$FF,10 +db BLIZZARD ,$05,$78,ICE,$E5,5 +db PSYBEAM ,$4C,$41,PSYCHIC,$FF,20 +db BUBBLEBEAM ,$46,$41,WATER,$FF,20 +db AURORA_BEAM ,$44,$41,ICE,$FF,20 +db HYPER_BEAM ,$50,$96,NORMAL,$E5,5 +db PECK ,$00,$23,FLYING,$FF,35 +db DRILL_PECK ,$00,$50,FLYING,$FF,20 +db SUBMISSION ,$30,$50,FIGHTING,$CC,25 +db LOW_KICK ,$25,$32,FIGHTING,$E5,20 +db COUNTER ,$00,$01,FIGHTING,$FF,20 +db SEISMIC_TOSS,$29,$01,FIGHTING,$FF,20 +db STRENGTH ,$00,$50,NORMAL,$FF,15 +db ABSORB ,$03,$14,GRASS,$FF,20 +db MEGA_DRAIN ,$03,$28,GRASS,$FF,10 +db LEECH_SEED ,$54,$00,GRASS,$E5,10 +db GROWTH ,$0D,$00,NORMAL,$FF,40 +db RAZOR_LEAF ,$00,$37,GRASS,$F2,25 +db SOLARBEAM ,$27,$78,GRASS,$FF,10 +db POISONPOWDER,$42,$00,POISON,$BF,35 +db STUN_SPORE ,$43,$00,GRASS,$BF,30 +db SLEEP_POWDER,$20,$00,GRASS,$BF,15 +db PETAL_DANCE ,$1B,$46,GRASS,$FF,20 +db STRING_SHOT ,$14,$00,BUG,$F2,40 +db DRAGON_RAGE ,$29,$01,DRAGON,$FF,10 +db FIRE_SPIN ,$2A,$0F,FIRE,$B2,15 +db THUNDERSHOCK,$06,$28,ELECTRIC,$FF,30 +db THUNDERBOLT ,$06,$5F,ELECTRIC,$FF,15 +db THUNDER_WAVE,$43,$00,ELECTRIC,$FF,20 +db THUNDER ,$06,$78,ELECTRIC,$B2,10 +db ROCK_THROW ,$00,$32,ROCK,$A5,15 +db EARTHQUAKE ,$00,$64,GROUND,$FF,10 +db FISSURE ,$26,$01,GROUND,$4C,5 +db DIG ,$27,$64,GROUND,$FF,10 +db TOXIC ,$42,$00,POISON,$D8,10 +db CONFUSION ,$4C,$32,PSYCHIC,$FF,25 +db PSYCHIC_M ,$47,$5A,PSYCHIC,$FF,10 +db HYPNOSIS ,$20,$00,PSYCHIC,$99,20 +db MEDITATE ,$0A,$00,PSYCHIC,$FF,40 +db AGILITY ,$34,$00,PSYCHIC,$FF,30 +db QUICK_ATTACK,$00,$28,NORMAL,$FF,30 +db RAGE ,$51,$14,NORMAL,$FF,20 +db TELEPORT ,$1C,$00,PSYCHIC,$FF,20 +db NIGHT_SHADE ,$29,$00,GHOST,$FF,15 +db MIMIC ,$52,$00,NORMAL,$FF,10 +db SCREECH ,$3B,$00,NORMAL,$D8,40 +db DOUBLE_TEAM ,$0F,$00,NORMAL,$FF,15 +db RECOVER ,$38,$00,NORMAL,$FF,20 +db HARDEN ,$0B,$00,NORMAL,$FF,30 +db MINIMIZE ,$0F,$00,NORMAL,$FF,20 +db SMOKESCREEN ,$16,$00,NORMAL,$FF,20 +db CONFUSE_RAY ,$31,$00,GHOST,$FF,10 +db WITHDRAW ,$0B,$00,WATER,$FF,40 +db DEFENSE_CURL,$0B,$00,NORMAL,$FF,40 +db BARRIER ,$33,$00,PSYCHIC,$FF,30 +db LIGHT_SCREEN,$40,$00,PSYCHIC,$FF,30 +db HAZE ,$19,$00,ICE,$FF,30 +db REFLECT ,$41,$00,PSYCHIC,$FF,20 +db FOCUS_ENERGY,$2F,$00,NORMAL,$FF,30 +db BIDE ,$1A,$00,NORMAL,$FF,10 +db METRONOME ,$53,$00,NORMAL,$FF,10 +db MIRROR_MOVE ,$09,$00,FLYING,$FF,20 +db SELFDESTRUCT,$07,$82,NORMAL,$FF,5 +db EGG_BOMB ,$00,$64,NORMAL,$BF,10 +db LICK ,$24,$14,GHOST,$FF,30 +db SMOG ,$21,$14,POISON,$B2,20 +db SLUDGE ,$21,$41,POISON,$FF,20 +db BONE_CLUB ,$1F,$41,GROUND,$D8,20 +db FIRE_BLAST ,$22,$78,FIRE,$D8,5 +db WATERFALL ,$00,$50,WATER,$FF,15 +db CLAMP ,$2A,$23,WATER,$BF,10 +db SWIFT ,$11,$3C,NORMAL,$FF,20 +db SKULL_BASH ,$27,$64,NORMAL,$FF,15 +db SPIKE_CANNON,$1D,$14,NORMAL,$FF,15 +db CONSTRICT ,$46,$0A,NORMAL,$FF,35 +db AMNESIA ,$35,$00,PSYCHIC,$FF,20 +db KINESIS ,$16,$00,PSYCHIC,$CC,15 +db SOFTBOILED ,$38,$00,NORMAL,$FF,10 +db HI_JUMP_KICK,$2D,$55,FIGHTING,$E5,20 +db GLARE ,$43,$00,NORMAL,$BF,30 +db DREAM_EATER ,$08,$64,PSYCHIC,$FF,15 +db POISON_GAS ,$42,$00,POISON,$8C,40 +db BARRAGE ,$1D,$0F,NORMAL,$D8,20 +db LEECH_LIFE ,$03,$14,BUG,$FF,15 +db LOVELY_KISS ,$20,$00,NORMAL,$BF,10 +db SKY_ATTACK ,$27,$8C,FLYING,$E5,5 +db TRANSFORM ,$39,$00,NORMAL,$FF,10 +db BUBBLE ,$46,$14,WATER,$FF,30 +db DIZZY_PUNCH ,$00,$46,NORMAL,$FF,10 +db SPORE ,$20,$00,GRASS,$FF,15 +db FLASH ,$16,$00,NORMAL,$B2,20 +db PSYWAVE ,$29,$01,PSYCHIC,$CC,15 +db SPLASH ,$55,$00,NORMAL,$FF,40 +db ACID_ARMOR ,$33,$00,POISON,$FF,40 +db CRABHAMMER ,$00,$5A,WATER,$D8,10 +db EXPLOSION ,$07,$AA,NORMAL,$FF,5 +db FURY_SWIPES ,$1D,$12,NORMAL,$CC,15 +db BONEMERANG ,$2C,$32,GROUND,$E5,10 +db REST ,$38,$00,PSYCHIC,$FF,10 +db ROCK_SLIDE ,$00,$4B,ROCK,$E5,10 +db HYPER_FANG ,$1F,$50,NORMAL,$E5,15 +db SHARPEN ,$0A,$00,NORMAL,$FF,30 +db CONVERSION ,$18,$00,NORMAL,$FF,30 +db TRI_ATTACK ,$00,$50,NORMAL,$FF,10 +db SUPER_FANG ,$28,$01,NORMAL,$E5,10 +db SLASH ,$00,$46,NORMAL,$FF,20 +db SUBSTITUTE ,$4F,$00,NORMAL,$FF,10 +db STRUGGLE ,$30,$32,NORMAL,$FF,10 + +INCBIN "baserom.gbc",$383DE,$39884 - $383DE + +ReadMove: ; 5884 + push hl + push de + push bc + dec a + ld hl,Moves + ld bc,6 + call AddNTimes + ld de,$CFCC + call CopyData + pop bc + pop de + pop hl + ret + +; trainer data: from 5C53 to 652E + +INCBIN "baserom.gbc",$3989B,$39914 - $3989B + +; trainer pic pointers and base money. +dw YoungsterPic +db 0,$15,0 + +dw BugCatcherPic +db 0,$10,0 + +dw LassPic +db 0,$15,0 + +dw SailorPic +db 0,$30,0 + +dw JrTrainerMPic +db 0,$20,0 + +dw JrTrainerFPic +db 0,$20,0 + +dw PokemaniacPic +db 0,$50,0 + +dw SuperNerdPic +db 0,$25,0 + +dw HikerPic +db 0,$35,0 + +dw BikerPic +db 0,$20,0 + +dw BurglarPic +db 0,$90,0 + +dw EngineerPic +db 0,$50,0 + +dw JugglerPic +db 0,$35,0 + +dw FisherPic +db 0,$35,0 + +dw SwimmerPic +db 0,$05,0 + +dw CueBallPic +db 0,$25,0 + +dw GamblerPic +db 0,$70,0 + +dw BeautyPic +db 0,$70,0 + +dw PsychicPic +db 0,$10,0 + +dw RockerPic +db 0,$25,0 + +dw JugglerPic +db 0,$35,0 + +dw TamerPic +db 0,$40,0 + +dw BirdKeeperPic +db 0,$25,0 + +dw BlackbeltPic +db 0,$25,0 + +dw Rival1Pic +db 0,$35,0 + +dw ProfOakPic +db 0,$99,0 + +dw ChiefPic +db 0,$30,0 + +dw ScientistPic +db 0,$50,0 + +dw GiovanniPic +db 0,$99,0 + +dw RocketPic +db 0,$30,0 + +dw CooltrainerMPic +db 0,$35,0 + +dw CooltrainerFPic +db 0,$35,0 + +dw BrunoPic +db 0,$99,0 + +dw BrockPic +db 0,$99,0 + +dw MistyPic +db 0,$99,0 + +dw LtSurgePic +db 0,$99,0 + +dw ErikaPic +db 0,$99,0 + +dw KogaPic +db 0,$99,0 + +dw BlainePic +db 0,$99,0 + +dw SabrinaPic +db 0,$99,0 + +dw GentlemanPic +db 0,$70,0 + +dw Rival2Pic +db 0,$65,0 + +dw Rival3Pic +db 0,$99,0 + +dw LoreleiPic +db 0,$99,0 + +dw ChannelerPic +db 0,$30,0 + +dw AgathaPic +db 0,$99,0 + +dw LancePic +db 0,$99,0 + +TrainerNames: ; 59FF + db "YOUNGSTER@" + db "BUG CATCHER@" + db "LASS@" + db "SAILOR@" + db "JR.TRAINER♂@" + db "JR.TRAINER♀@" + db "POKéMANIAC@" + db "SUPER NERD@" + db "HIKER@" + db "BIKER@" + db "BURGLAR@" + db "ENGINEER@" + db "JUGGLER@" + db "FISHERMAN@" + db "SWIMMER@" + db "CUE BALL@" + db "GAMBLER@" + db "BEAUTY@" + db "PSYCHIC@" + db "ROCKER@" + db "JUGGLER@" + db "TAMER@" + db "BIRD KEEPER@" + db "BLACKBELT@" + db "RIVAL1@" + db "PROF.OAK@" + db "CHIEF@" + db "SCIENTIST@" + db "GIOVANNI@" + db "ROCKET@" + db "COOLTRAINER♂@" + db "COOLTRAINER♀@" + db "BRUNO@" + db "BROCK@" + db "MISTY@" + db "LT.SURGE@" + db "ERIKA@" + db "KOGA@" + db "BLAINE@" + db "SABRINA@" + db "GENTLEMAN@" + db "RIVAL2@" + db "RIVAL3@" + db "LORELEI@" + db "CHANNELER@" + db "AGATHA@" + db "LANCE@" + +INCBIN "baserom.gbc",$39B87,$39C53 - $39B87 + +ReadTrainer: ; 5C53 + +; don't change any moves in a link battle + ld a,[W_ISLINKBATTLE] + and a + ret nz + +; set [W_ENEMYMONCOUNT] to 0, [$D89D] to FF +; XXX first is total enemy pokemon? +; XXX second is species of first pokemon? + ld hl,W_ENEMYMONCOUNT + xor a + ld [hli],a + dec a + ld [hl],a + +; get the pointer to trainer data for this class + ld a,[W_CUROPPONENT] + sub $C9 ; convert value from pokemon to trainer + add a,a + ld hl,TrainerDataPointers + ld c,a + ld b,0 + add hl,bc ; hl points to trainer class + ld a,[hli] + ld h,[hl] + ld l,a + ld a,[W_TRAINERNO] + ld b,a +; At this point b contains the trainer number, +; and hl points to the trainer class. +; Our next task is to iterate through the trainers, +; decrementing b each time, until we get to the right one. +.outer\@ + dec b + jr z,.IterateTrainer +.inner\@ + ld a,[hli] + and a + jr nz,.inner\@ + jr .outer\@ + +; if the first byte of trainer data is FF, +; - each pokemon has a specific level +; (as opposed to the whole team being of the same level) +; - if [W_LONEATTACKNO] != 0, one pokemon on the team has a special move +; else the first byte is the level of every pokemon on the team +.IterateTrainer + ld a,[hli] + cp $FF ; is the trainer special? + jr z,.SpecialTrainer\@ ; if so, check for special moves + ld [W_CURENEMYLVL],a +.LoopTrainerData\@ + ld a,[hli] + and a ; have we reached the end of the trainer data? + jr z,.FinishUp\@ + ld [$CF91],a ; write species somewhere (XXX why?) + ld a,1 + ld [$CC49],a + push hl + call AddPokemonToParty + pop hl + jr .LoopTrainerData\@ +.SpecialTrainer\@ +; if this code is being run: +; - each pokemon has a specific level +; (as opposed to the whole team being of the same level) +; - if [W_LONEATTACKNO] != 0, one pokemon on the team has a special move + ld a,[hli] + and a ; have we reached the end of the trainer data? + jr z,.AddLoneMove\@ + ld [W_CURENEMYLVL],a + ld a,[hli] + ld [$CF91],a + ld a,1 + ld [$CC49],a + push hl + call AddPokemonToParty + pop hl + jr .SpecialTrainer\@ +.AddLoneMove\@ +; does the trainer have a single monster with a different move + ld a,[W_LONEATTACKNO] ; Brock is 01, Misty is 02, Erika is 04, etc + and a + jr z,.AddTeamMove\@ + dec a + add a,a + ld c,a + ld b,0 + ld hl,LoneMoves + add hl,bc + ld a,[hli] + ld d,[hl] + ld hl,W_ENEMYMON1MOVE3 + ld bc,W_ENEMYMON2MOVE3 - W_ENEMYMON1MOVE3 + call AddNTimes + ld [hl],d + jr .FinishUp\@ +.AddTeamMove\@ +; check if our trainer's team has special moves + +; get trainer class number + ld a,[$D059] + sub $C8 + ld b,a + ld hl,TeamMoves + +; iterate through entries in TeamMoves, checking each for our trainer class +.IterateTeamMoves\@ + ld a,[hli] + cp b + jr z,.GiveTeamMoves\@ ; is there a match? + inc hl ; if not, go to the next entry + inc a + jr nz,.IterateTeamMoves\@ + + ; no matches found. is this trainer champion rival? + ld a,b + cp SONY3 + jr z,.ChampionRival\@ + jr .FinishUp\@ ; nope +.GiveTeamMoves\@ + ld a,[hl] + ld [$D95E],a + jr .FinishUp\@ +.ChampionRival\@ ; give moves to his team + +; pidgeot + ld a,SKY_ATTACK + ld [W_ENEMYMON1MOVE3],a + +; starter + ld a,[W_RIVALSTARTER] + cp BULBASAUR + ld b,MEGA_DRAIN + jr z,.GiveStarterMove\@ + cp CHARMANDER + ld b,FIRE_BLAST + jr z,.GiveStarterMove\@ + ld b,BLIZZARD ; must be squirtle +.GiveStarterMove\@ + ld a,b + ld [W_ENEMYMON6MOVE3],a +.FinishUp\@ ; XXX this needs documenting + xor a ; clear D079-D07B + ld de,$D079 + ld [de],a + inc de + ld [de],a + inc de + ld [de],a + ld a,[W_CURENEMYLVL] + ld b,a +.LastLoop\@ + ld hl,$D047 + ld c,2 + push bc + ld a,$B + call Predef + pop bc + inc de + inc de + dec b + jr nz,.LastLoop\@ + ret + +LoneMoves: ; 5D22 +; these are used for gym leaders. +; this is not automatic! you have to write the number you want to W_LONEATTACKNO +; first. e.g., erika's script writes 4 to W_LONEATTACKNO to get mega drain, +; the fourth entry in the list. + +; first byte: pokemon in the trainer's party that gets the move +; second byte: move +; unterminated + db 1,BIDE + db 1,BUBBLEBEAM + db 2,THUNDERBOLT + db 2,MEGA_DRAIN + db 3,TOXIC + db 3,PSYWAVE + db 3,FIRE_BLAST + db 4,FISSURE + +TeamMoves: ; 5D32 +; these are used for elite four. +; this is automatic, based on trainer class. +; don't be confused by LoneMoves above, the two data structures are + ; _completely_ unrelated. + +; first byte: trainer (all trainers in this class have this move) +; second byte: move +; ff-terminated + db LORELEI,BLIZZARD + db BRUNO,FISSURE + db AGATHA,TOXIC + db LANCE,BARRIER + db $FF + +TrainerDataPointers: ; 5D3B + dw YoungsterData,BugCatcherData,LassData,SailorData,JrTrainerMData + dw JrTrainerFData,PokemaniacData,SuperNerdData,HikerData,BikerData + dw BurglarData,EngineerData,Juggler1Data,FisherData,SwimmerData + dw CueBallData,GamblerData,BeautyData,PsychicData,RockerData + dw JugglerData,TamerData,BirdKeeperData,BlackbeltData,Green1Data + dw ProfOakData,ChiefData,ScientistData,GiovanniData,RocketData + dw CooltrainerMData,CooltrainerFData,BrunoData,BrockData,MistyData + dw LtSurgeData,ErikaData,KogaData,BlaineData,SabrinaData + dw GentlemanData,Green2Data,Green3Data,LoreleiData,ChannelerData + dw AgathaData,LanceData + +; if first byte != FF, then + ; first byte is level (of all pokemon on this team) + ; all the next bytes are pokemon species + ; null-terminated +; if first byte == FF, then + ; first byte is FF (obviously) + ; every next two bytes are a level and species + ; null-terminated + +YoungsterData: + db 11,RATTATA,EKANS,0 + db 14,SPEAROW,0 + db 10,RATTATA,RATTATA,ZUBAT,0 + db 14,RATTATA,EKANS,ZUBAT,0 + db 15,RATTATA,SPEAROW,0 + db 17,SLOWPOKE,0 + db 14,EKANS,SANDSHREW,0 + db 21,NIDORAN_M,0 + db 21,EKANS,0 + db 19,SANDSHREW,ZUBAT,0 + db 17,RATTATA,RATTATA,RATICATE,0 + db 18,NIDORAN_M,NIDORINO,0 + db 17,SPEAROW,RATTATA,RATTATA,SPEAROW,0 +BugCatcherData: + db 6,WEEDLE,CATERPIE,0 + db 7,WEEDLE,KAKUNA,WEEDLE,0 + db 9,WEEDLE,0 + db 10,CATERPIE,WEEDLE,CATERPIE,0 + db 9,WEEDLE,KAKUNA,CATERPIE,METAPOD,0 + db 11,CATERPIE,METAPOD,0 + db 11,WEEDLE,KAKUNA,0 + db 10,CATERPIE,METAPOD,CATERPIE,0 + db 14,CATERPIE,WEEDLE,0 + db 16,WEEDLE,CATERPIE,WEEDLE,0 + db 20,BUTTERFREE,0 + db 18,METAPOD,CATERPIE,VENONAT,0 + db 19,BEEDRILL,BEEDRILL,0 + db 20,CATERPIE,WEEDLE,VENONAT,0 +LassData: + db 9,PIDGEY,PIDGEY,0 + db 10,RATTATA,NIDORAN_M,0 + db 14,JIGGLYPUFF,0 + db 31,PARAS,PARAS,PARASECT,0 + db 11,ODDISH,BELLSPROUT,0 + db 14,CLEFAIRY,0 + db 16,PIDGEY,NIDORAN_F,0 + db 14,PIDGEY,NIDORAN_F,0 + db 15,NIDORAN_M,NIDORAN_F,0 + db 13,ODDISH,PIDGEY,ODDISH,0 + db 18,PIDGEY,NIDORAN_F,0 + db 18,RATTATA,PIKACHU,0 + db 23,NIDORAN_F,NIDORINA,0 + db 24,MEOWTH,MEOWTH,MEOWTH,0 + db 19,PIDGEY,RATTATA,NIDORAN_M,MEOWTH,PIKACHU,0 + db 22,CLEFAIRY,CLEFAIRY,0 + db 23,BELLSPROUT,WEEPINBELL,0 + db 23,ODDISH,GLOOM,0 +SailorData: + db 18,MACHOP,SHELLDER,0 + db 17,MACHOP,TENTACOOL,0 + db 21,SHELLDER,0 + db 17,HORSEA,SHELLDER,TENTACOOL,0 + db 18,TENTACOOL,STARYU,0 + db 17,HORSEA,HORSEA,HORSEA,0 + db 20,MACHOP,0 + db 21,PIKACHU,PIKACHU,0 +JrTrainerMData: + db 11,DIGLETT,SANDSHREW,0 + db 14,RATTATA,EKANS,0 + db 18,MANKEY,0 + db 20,SQUIRTLE,0 + db 16,SPEAROW,RATICATE,0 + db 18,DIGLETT,DIGLETT,SANDSHREW,0 + db 21,GROWLITHE,CHARMANDER,0 + db 19,RATTATA,DIGLETT,EKANS,SANDSHREW,0 + db 29,NIDORAN_M,NIDORINO,0 +JrTrainerFData: + db 19,GOLDEEN,0 + db 16,RATTATA,PIKACHU,0 + db 16,PIDGEY,PIDGEY,PIDGEY,0 + db 22,BULBASAUR,0 + db 18,ODDISH,BELLSPROUT,ODDISH,BELLSPROUT,0 + db 23,MEOWTH,0 + db 20,PIKACHU,CLEFAIRY,0 + db 21,PIDGEY,PIDGEOTTO,0 + db 21,JIGGLYPUFF,PIDGEY,MEOWTH,0 + db 22,ODDISH,BULBASAUR,0 + db 24,BULBASAUR,IVYSAUR,0 + db 24,PIDGEY,MEOWTH,RATTATA,PIKACHU,MEOWTH,0 + db 30,POLIWAG,POLIWAG,0 + db 27,PIDGEY,MEOWTH,PIDGEY,PIDGEOTTO,0 + db 28,GOLDEEN,POLIWAG,HORSEA,0 + db 31,GOLDEEN,SEAKING,0 + db 22,BELLSPROUT,CLEFAIRY,0 + db 20,MEOWTH,ODDISH,PIDGEY,0 + db 19,PIDGEY,RATTATA,RATTATA,BELLSPROUT,0 + db 28,GLOOM,ODDISH,ODDISH,0 + db 29,PIKACHU,RAICHU,0 + db 33,CLEFAIRY,0 + db 29,BELLSPROUT,ODDISH,TANGELA,0 + db 30,TENTACOOL,HORSEA,SEEL,0 +PokemaniacData: + db 30,RHYHORN,LICKITUNG,0 + db 20,CUBONE,SLOWPOKE,0 + db 20,SLOWPOKE,SLOWPOKE,SLOWPOKE,0 + db 22,CHARMANDER,CUBONE,0 + db 25,SLOWPOKE,0 + db 40,CHARMELEON,LAPRAS,LICKITUNG,0 + db 23,CUBONE,SLOWPOKE,0 +SuperNerdData: + db 11,MAGNEMITE,VOLTORB,0 + db 12,GRIMER,VOLTORB,KOFFING,0 + db 20,VOLTORB,KOFFING,VOLTORB,MAGNEMITE,0 + db 22,GRIMER,MUK,GRIMER,0 + db 26,KOFFING,0 + db 22,KOFFING,MAGNEMITE,WEEZING,0 + db 20,MAGNEMITE,MAGNEMITE,KOFFING,MAGNEMITE,0 + db 24,MAGNEMITE,VOLTORB,0 + db 36,VULPIX,VULPIX,NINETALES,0 + db 34,PONYTA,CHARMANDER,VULPIX,GROWLITHE,0 + db 41,RAPIDASH,0 + db 37,GROWLITHE,VULPIX,0 +HikerData: + db 10,GEODUDE,GEODUDE,ONIX,0 + db 15,MACHOP,GEODUDE,0 + db 13,GEODUDE,GEODUDE,MACHOP,GEODUDE,0 + db 17,ONIX,0 + db 21,GEODUDE,ONIX,0 + db 20,GEODUDE,MACHOP,GEODUDE,0 + db 21,GEODUDE,ONIX,0 + db 19,ONIX,GRAVELER,0 + db 21,GEODUDE,GEODUDE,GRAVELER,0 + db 25,GEODUDE,0 + db 20,MACHOP,ONIX,0 + db 19,GEODUDE,MACHOP,GEODUDE,GEODUDE,0 + db 20,ONIX,ONIX,GEODUDE,0 + db 21,GEODUDE,GRAVELER,0 +BikerData: + db 28,KOFFING,KOFFING,KOFFING,0 + db 29,KOFFING,GRIMER,0 + db 25,KOFFING,KOFFING,WEEZING,KOFFING,GRIMER,0 + db 28,KOFFING,GRIMER,WEEZING,0 + db 29,GRIMER,KOFFING,0 + db 33,WEEZING,0 + db 26,GRIMER,GRIMER,GRIMER,GRIMER,0 + db 28,WEEZING,KOFFING,WEEZING,0 + db 33,MUK,0 + db 29,VOLTORB,VOLTORB,0 + db 29,WEEZING,MUK,0 + db 25,KOFFING,WEEZING,KOFFING,KOFFING,WEEZING,0 + db 26,KOFFING,KOFFING,GRIMER,KOFFING,0 + db 28,GRIMER,GRIMER,KOFFING,0 + db 29,KOFFING,MUK,0 +BurglarData: + db 29,GROWLITHE,VULPIX,0 + db 33,GROWLITHE,0 + db 28,VULPIX,CHARMANDER,PONYTA,0 + db 36,GROWLITHE,VULPIX,NINETALES,0 + db 41,PONYTA,0 + db 37,VULPIX,GROWLITHE,0 + db 34,CHARMANDER,CHARMELEON,0 + db 38,NINETALES,0 + db 34,GROWLITHE,PONYTA,0 +EngineerData: + db 21,VOLTORB,MAGNEMITE,0 + db 21,MAGNEMITE,0 + db 18,MAGNEMITE,MAGNEMITE,MAGNETON,0 +Juggler1Data: +; none +FisherData: + db 17,GOLDEEN,TENTACOOL,GOLDEEN,0 + db 17,TENTACOOL,STARYU,SHELLDER,0 + db 22,GOLDEEN,POLIWAG,GOLDEEN,0 + db 24,TENTACOOL,GOLDEEN,0 + db 27,GOLDEEN,0 + db 21,POLIWAG,SHELLDER,GOLDEEN,HORSEA,0 + db 28,SEAKING,GOLDEEN,SEAKING,SEAKING,0 + db 31,SHELLDER,CLOYSTER,0 + db 27,MAGIKARP,MAGIKARP,MAGIKARP,MAGIKARP,MAGIKARP,MAGIKARP,0 + db 33,SEAKING,GOLDEEN,0 + db 24,MAGIKARP,MAGIKARP,0 +SwimmerData: + db 16,HORSEA,SHELLDER,0 + db 30,TENTACOOL,SHELLDER,0 + db 29,GOLDEEN,HORSEA,STARYU,0 + db 30,POLIWAG,POLIWHIRL,0 + db 27,HORSEA,TENTACOOL,TENTACOOL,GOLDEEN,0 + db 29,GOLDEEN,SHELLDER,SEAKING,0 + db 30,HORSEA,HORSEA,0 + db 27,TENTACOOL,TENTACOOL,STARYU,HORSEA,TENTACRUEL,0 + db 31,SHELLDER,CLOYSTER,0 + db 35,STARYU,0 + db 28,HORSEA,HORSEA,SEADRA,HORSEA,0 + db 33,SEADRA,TENTACRUEL,0 + db 37,STARMIE,0 + db 33,STARYU,WARTORTLE,0 + db 32,POLIWHIRL,TENTACOOL,SEADRA,0 +CueBallData: + db 28,MACHOP,MANKEY,MACHOP,0 + db 29,MANKEY,MACHOP,0 + db 33,MACHOP,0 + db 29,MANKEY,PRIMEAPE,0 + db 29,MACHOP,MACHOKE,0 + db 33,MACHOKE,0 + db 26,MANKEY,MANKEY,MACHOKE,MACHOP,0 + db 29,PRIMEAPE,MACHOKE,0 + db 31,TENTACOOL,TENTACOOL,TENTACRUEL,0 +GamblerData: + db 18,POLIWAG,HORSEA,0 + db 18,BELLSPROUT,ODDISH,0 + db 18,VOLTORB,MAGNEMITE,0 + db 18,GROWLITHE,VULPIX,0 + db 22,POLIWAG,POLIWAG,POLIWHIRL,0 + db 22,ONIX,GEODUDE,GRAVELER,0 + db 24,GROWLITHE,VULPIX,0 +BeautyData: + db 21,ODDISH,BELLSPROUT,ODDISH,BELLSPROUT,0 + db 24,BELLSPROUT,BELLSPROUT,0 + db 26,EXEGGCUTE,0 + db 27,RATTATA,PIKACHU,RATTATA,0 + db 29,CLEFAIRY,MEOWTH,0 + db 35,SEAKING,0 + db 30,SHELLDER,SHELLDER,CLOYSTER,0 + db 31,POLIWAG,SEAKING,0 + db 29,PIDGEOTTO,WIGGLYTUFF,0 + db 29,BULBASAUR,IVYSAUR,0 + db 33,WEEPINBELL,BELLSPROUT,WEEPINBELL,0 + db 27,POLIWAG,GOLDEEN,SEAKING,GOLDEEN,POLIWAG,0 + db 30,GOLDEEN,SEAKING,0 + db 29,STARYU,STARYU,STARYU,0 + db 30,SEADRA,HORSEA,SEADRA,0 +PsychicData: + db 31,KADABRA,SLOWPOKE,MR_MIME,KADABRA,0 + db 34,MR_MIME,KADABRA,0 + db 33,SLOWPOKE,SLOWPOKE,SLOWBRO,0 + db 38,SLOWBRO,0 +RockerData: + db 20,VOLTORB,MAGNEMITE,VOLTORB,0 + db 29,VOLTORB,ELECTRODE,0 +JugglerData: + db 29,KADABRA,MR_MIME,0 + db 41,DROWZEE,HYPNO,KADABRA,KADABRA,0 + db 31,DROWZEE,DROWZEE,KADABRA,DROWZEE,0 + db 34,DROWZEE,HYPNO,0 + db 48,MR_MIME,0 + db 33,HYPNO,0 + db 38,HYPNO,0 + db 34,DROWZEE,KADABRA,0 +TamerData: + db 34,SANDSLASH,ARBOK,0 + db 33,ARBOK,SANDSLASH,ARBOK,0 + db 43,RHYHORN,0 + db 39,ARBOK,TAUROS,0 + db 44,PERSIAN,GOLDUCK,0 + db 42,RHYHORN,PRIMEAPE,ARBOK,TAUROS,0 +BirdKeeperData: + db 29,PIDGEY,PIDGEOTTO,0 + db 25,SPEAROW,PIDGEY,PIDGEY,SPEAROW,SPEAROW,0 + db 26,PIDGEY,PIDGEOTTO,SPEAROW,FEAROW,0 + db 33,FARFETCH_D,0 + db 29,SPEAROW,FEAROW,0 + db 26,PIDGEOTTO,FARFETCH_D,DODUO,PIDGEY,0 + db 28,DODRIO,DODUO,DODUO,0 + db 29,SPEAROW,FEAROW,0 + db 34,DODRIO,0 + db 26,SPEAROW,SPEAROW,FEAROW,SPEAROW,0 + db 30,FEAROW,FEAROW,PIDGEOTTO,0 + db 39,PIDGEOTTO,PIDGEOTTO,PIDGEY,PIDGEOTTO,0 + db 42,FARFETCH_D,FEAROW,0 + db 28,PIDGEY,DODUO,PIDGEOTTO,0 + db 26,PIDGEY,SPEAROW,PIDGEY,FEAROW,0 + db 29,PIDGEOTTO,FEAROW,0 + db 28,SPEAROW,DODUO,FEAROW,0 +BlackbeltData: + db 37,HITMONLEE,HITMONCHAN,0 + db 31,MANKEY,MANKEY,PRIMEAPE,0 + db 32,MACHOP,MACHOKE,0 + db 36,PRIMEAPE,0 + db 31,MACHOP,MANKEY,PRIMEAPE,0 + db 40,MACHOP,MACHOKE,0 + db 43,MACHOKE,0 + db 38,MACHOKE,MACHOP,MACHOKE,0 + db 43,MACHOKE,MACHOP,MACHOKE,0 +Green1Data: + db 5,SQUIRTLE,0 + db 5,BULBASAUR,0 + db 5,CHARMANDER,0 + db $FF,9,PIDGEY,8,SQUIRTLE,0 + db $FF,9,PIDGEY,8,BULBASAUR,0 + db $FF,9,PIDGEY,8,CHARMANDER,0 + db $FF,18,PIDGEOTTO,15,ABRA,15,RATTATA,17,SQUIRTLE,0 + db $FF,18,PIDGEOTTO,15,ABRA,15,RATTATA,17,BULBASAUR,0 + db $FF,18,PIDGEOTTO,15,ABRA,15,RATTATA,17,CHARMANDER,0 +ProfOakData: + db $FF,66,TAUROS,67,EXEGGUTOR,68,ARCANINE,69,BLASTOISE,70,GYARADOS,0 + db $FF,66,TAUROS,67,EXEGGUTOR,68,ARCANINE,69,VENUSAUR,70,GYARADOS,0 + db $FF,66,TAUROS,67,EXEGGUTOR,68,ARCANINE,69,CHARIZARD,70,GYARADOS,0 +ChiefData: +; none +ScientistData: + db 34,KOFFING,VOLTORB,0 + db 26,GRIMER,WEEZING,KOFFING,WEEZING,0 + db 28,MAGNEMITE,VOLTORB,MAGNETON,0 + db 29,ELECTRODE,WEEZING,0 + db 33,ELECTRODE,0 + db 26,MAGNETON,KOFFING,WEEZING,MAGNEMITE,0 + db 25,VOLTORB,KOFFING,MAGNETON,MAGNEMITE,KOFFING,0 + db 29,ELECTRODE,MUK,0 + db 29,GRIMER,ELECTRODE,0 + db 28,VOLTORB,KOFFING,MAGNETON,0 + db 29,MAGNEMITE,KOFFING,0 + db 33,MAGNEMITE,MAGNETON,VOLTORB,0 + db 34,MAGNEMITE,ELECTRODE,0 +GiovanniData: + db $FF,25,ONIX,24,RHYHORN,29,KANGASKHAN,0 + db $FF,37,NIDORINO,35,KANGASKHAN,37,RHYHORN,41,NIDOQUEEN,0 + db $FF,45,RHYHORN,42,DUGTRIO,44,NIDOQUEEN,45,NIDOKING,50,RHYDON,0 +RocketData: + db 13,RATTATA,ZUBAT,0 + db 11,SANDSHREW,RATTATA,ZUBAT,0 + db 12,ZUBAT,EKANS,0 + db 16,RATICATE,0 + db 17,MACHOP,DROWZEE,0 + db 15,EKANS,ZUBAT,0 + db 20,RATICATE,ZUBAT,0 + db 21,DROWZEE,MACHOP,0 + db 21,RATICATE,RATICATE,0 + db 20,GRIMER,KOFFING,KOFFING,0 + db 19,RATTATA,RATICATE,RATICATE,RATTATA,0 + db 22,GRIMER,KOFFING,0 + db 17,ZUBAT,KOFFING,GRIMER,ZUBAT,RATICATE,0 + db 20,RATTATA,RATICATE,DROWZEE,0 + db 21,MACHOP,MACHOP,0 + db 23,SANDSHREW,EKANS,SANDSLASH,0 + db 23,EKANS,SANDSHREW,ARBOK,0 + db 21,KOFFING,ZUBAT,0 + db 25,ZUBAT,ZUBAT,GOLBAT,0 + db 26,KOFFING,DROWZEE,0 + db 23,ZUBAT,RATTATA,RATICATE,ZUBAT,0 + db 26,DROWZEE,KOFFING,0 + db 29,CUBONE,ZUBAT,0 + db 25,GOLBAT,ZUBAT,ZUBAT,RATICATE,ZUBAT,0 + db 28,RATICATE,HYPNO,RATICATE,0 + db 29,MACHOP,DROWZEE,0 + db 28,EKANS,ZUBAT,CUBONE,0 + db 33,ARBOK,0 + db 33,HYPNO,0 + db 29,MACHOP,MACHOKE,0 + db 28,ZUBAT,ZUBAT,GOLBAT,0 + db 26,RATICATE,ARBOK,KOFFING,GOLBAT,0 + db 29,CUBONE,CUBONE,0 + db 29,SANDSHREW,SANDSLASH,0 + db 26,RATICATE,ZUBAT,GOLBAT,RATTATA,0 + db 28,WEEZING,GOLBAT,KOFFING,0 + db 28,DROWZEE,GRIMER,MACHOP,0 + db 28,GOLBAT,DROWZEE,HYPNO,0 + db 33,MACHOKE,0 + db 25,RATTATA,RATTATA,ZUBAT,RATTATA,EKANS,0 + db 32,CUBONE,DROWZEE,MAROWAK,0 +CooltrainerMData: + db 39,NIDORINO,NIDOKING,0 + db 43,EXEGGUTOR,CLOYSTER,ARCANINE,0 + db 43,KINGLER,TENTACRUEL,BLASTOISE,0 + db 45,KINGLER,STARMIE,0 + db 42,IVYSAUR,WARTORTLE,CHARMELEON,CHARIZARD,0 + db 44,IVYSAUR,WARTORTLE,CHARMELEON,0 + db 49,NIDOKING,0 + db 44,KINGLER,CLOYSTER,0 + db 39,SANDSLASH,DUGTRIO,0 + db 43,RHYHORN,0 +CooltrainerFData: + db 24,WEEPINBELL,GLOOM,IVYSAUR,0 + db 43,BELLSPROUT,WEEPINBELL,VICTREEBEL,0 + db 43,PARASECT,DEWGONG,CHANSEY,0 + db 46,VILEPLUME,BUTTERFREE,0 + db 44,PERSIAN,NINETALES,0 + db 45,IVYSAUR,VENUSAUR,0 + db 45,NIDORINA,NIDOQUEEN,0 + db 43,PERSIAN,NINETALES,RAICHU,0 +BrunoData: + db $FF,53,ONIX,55,HITMONCHAN,55,HITMONLEE,56,ONIX,58,MACHAMP,0 +BrockData: + db $FF,12,GEODUDE,14,ONIX,0 +MistyData: + db $FF,18,STARYU,21,STARMIE,0 +LtSurgeData: + db $FF,21,VOLTORB,18,PIKACHU,24,RAICHU,0 +ErikaData: + db $FF,29,VICTREEBEL,24,TANGELA,29,VILEPLUME,0 +KogaData: + db $FF,37,KOFFING,39,MUK,37,KOFFING,43,WEEZING,0 +BlaineData: + db $FF,42,GROWLITHE,40,PONYTA,42,RAPIDASH,47,ARCANINE,0 +SabrinaData: + db $FF,38,KADABRA,37,MR_MIME,38,VENOMOTH,43,ALAKAZAM,0 +GentlemanData: + db 18,GROWLITHE,GROWLITHE,0 + db 19,NIDORAN_M,NIDORAN_F,0 + db 23,PIKACHU,0 + db 48,PRIMEAPE,0 + db 17,GROWLITHE,PONYTA,0 +Green2Data: + db $FF,19,PIDGEOTTO,16,RATICATE,18,KADABRA,20,WARTORTLE,0 + db $FF,19,PIDGEOTTO,16,RATICATE,18,KADABRA,20,IVYSAUR,0 + db $FF,19,PIDGEOTTO,16,RATICATE,18,KADABRA,20,CHARMELEON,0 + db $FF,25,PIDGEOTTO,23,GROWLITHE,22,EXEGGCUTE,20,KADABRA,25,WARTORTLE,0 + db $FF,25,PIDGEOTTO,23,GYARADOS,22,GROWLITHE,20,KADABRA,25,IVYSAUR,0 + db $FF,25,PIDGEOTTO,23,EXEGGCUTE,22,GYARADOS,20,KADABRA,25,CHARMELEON,0 + db $FF,37,PIDGEOT,38,GROWLITHE,35,EXEGGCUTE,35,ALAKAZAM,40,BLASTOISE,0 + db $FF,37,PIDGEOT,38,GYARADOS,35,GROWLITHE,35,ALAKAZAM,40,VENUSAUR,0 + db $FF,37,PIDGEOT,38,EXEGGCUTE,35,GYARADOS,35,ALAKAZAM,40,CHARIZARD,0 + db $FF,47,PIDGEOT,45,RHYHORN,45,GROWLITHE,47,EXEGGCUTE,50,ALAKAZAM,53,BLASTOISE,0 + db $FF,47,PIDGEOT,45,RHYHORN,45,GYARADOS,47,GROWLITHE,50,ALAKAZAM,53,VENUSAUR,0 + db $FF,47,PIDGEOT,45,RHYHORN,45,EXEGGCUTE,47,GYARADOS,50,ALAKAZAM,53,CHARIZARD,0 +Green3Data: + db $FF,61,PIDGEOT,59,ALAKAZAM,61,RHYDON,61,ARCANINE,63,EXEGGUTOR,65,BLASTOISE,0 + db $FF,61,PIDGEOT,59,ALAKAZAM,61,RHYDON,61,GYARADOS,63,ARCANINE,65,VENUSAUR,0 + db $FF,61,PIDGEOT,59,ALAKAZAM,61,RHYDON,61,EXEGGUTOR,63,GYARADOS,65,CHARIZARD,0 +LoreleiData: + db $FF,54,DEWGONG,53,CLOYSTER,54,SLOWBRO,56,JYNX,56,LAPRAS,0 +ChannelerData: + db 22,GASTLY,0 + db 24,GASTLY,0 + db 23,GASTLY,GASTLY,0 + db 24,GASTLY,0 + db 23,GASTLY,0 + db 24,GASTLY,0 + db 24,HAUNTER,0 + db 22,GASTLY,0 + db 24,GASTLY,0 + db 23,GASTLY,GASTLY,0 + db 24,GASTLY,0 + db 22,GASTLY,0 + db 24,GASTLY,0 + db 23,HAUNTER,0 + db 24,GASTLY,0 + db 22,GASTLY,0 + db 24,GASTLY,0 + db 22,HAUNTER,0 + db 22,GASTLY,GASTLY,GASTLY,0 + db 24,GASTLY,0 + db 24,GASTLY,0 + db 34,GASTLY,HAUNTER,0 + db 38,HAUNTER,0 + db 33,GASTLY,GASTLY,HAUNTER,0 +AgathaData: + db $FF,56,GENGAR,56,GOLBAT,55,HAUNTER,58,ARBOK,60,GENGAR,0 +LanceData: + db $FF,58,GYARADOS,56,DRAGONAIR,56,DRAGONAIR,60,AERODACTYL,62,DRAGONITE,0 + +TrainerAI: ; 652E +;XXX called at 34964, 3c342, 3c398 + and a + ld a,[W_ISINBATTLE] + dec a + ret z ; if not a trainer, we're done here + ld a,[W_ISLINKBATTLE] + cp 4 + ret z + ld a,[W_TRAINERCLASS] ; what trainer class is this? + dec a + ld c,a + ld b,0 + ld hl,TrainerAIPointers + add hl,bc + add hl,bc + add hl,bc + ld a,[W_AICOUNT] + and a + ret z ; if no AI uses left, we're done here + inc hl + inc a + jr nz,.getpointer\@ + dec hl + ld a,[hli] + ld [W_AICOUNT],a +.getpointer\@ + ld a,[hli] + ld h,[hl] + ld l,a + call GenRandom + jp [hl] + +TrainerAIPointers: ; 655C +; one entry per trainer class +; first byte, number of times (per Pokémon) it can occur +; next two bytes, pointer to AI subroutine for trainer class + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,JugglerAI ; juggler_x + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,JugglerAI ; juggler + dbw 3,GenericAI + dbw 3,GenericAI + dbw 2,BlackbeltAI ; blackbelt + dbw 3,GenericAI + dbw 3,GenericAI + dbw 1,GenericAI ; chief + dbw 3,GenericAI + dbw 1,GiovanniAI ; giovanni + dbw 3,GenericAI + dbw 2,CooltrainerMAI ; cooltrainerm + dbw 1,CooltrainerFAI ; cooltrainerf + dbw 2,BrunoAI ; bruno + dbw 5,BrockAI ; brock + dbw 1,MistyAI ; misty + dbw 1,LtSurgeAI ; surge + dbw 1,ErikaAI ; erika + dbw 2,KogaAI ; koga + dbw 2,BlaineAI ; blaine + dbw 1,SabrinaAI ; sabrina + dbw 3,GenericAI + dbw 1,Sony2AI ; sony2 + dbw 1,Sony3AI ; sony3 + dbw 2,LoreleiAI ; lorelei + dbw 3,GenericAI + dbw 2,AgathaAI ; agatha + dbw 1,LanceAI ; lance + +JugglerAI: + cp $40 + ret nc + jp $672A + +BlackbeltAI: + cp $20 + ret nc + jp AIUseXAttack + +GiovanniAI: + cp $40 + ret nc + jp AIUseGuardSpec + +CooltrainerMAI: + cp $40 + ret nc + jp AIUseXAttack + +CooltrainerFAI: + cp $40 + ld a,$A + call $67CF + jp c,AIUseHyperPotion + ld a,5 + call $67CF + ret nc + jp $672A + +BrockAI: +; if his active monster has a status condition, use a full heal + ld a,[W_ENEMYMONSTATUS] + and a + ret z + jp AIUseFullHeal + +MistyAI: + cp $40 + ret nc + jp AIUseXDefend + +LtSurgeAI: + cp $40 + ret nc + jp AIUseXSpeed + +ErikaAI: + cp $80 + ret nc + ld a,$A + call $67CF + ret nc + jp AIUseSuperPotion + +KogaAI: + cp $40 + ret nc + jp AIUseXAttack + +BlaineAI: + cp $40 + ret nc + jp AIUseSuperPotion + +SabrinaAI: + cp $40 + ret nc + ld a,$A + call $67CF + ret nc + jp AIUseHyperPotion + +Sony2AI: + cp $20 + ret nc + ld a,5 + call $67CF + ret nc + jp AIUsePotion + +Sony3AI: + cp $20 + ret nc + ld a,5 + call $67CF + ret nc + jp AIUseFullRestore + +LoreleiAI: + cp $80 + ret nc + ld a,5 + call $67CF + ret nc + jp AIUseSuperPotion + +BrunoAI: + cp $40 + ret nc + jp AIUseXDefend + +AgathaAI: + cp $14 + jp c,$672A + cp $80 + ret nc + ld a,4 + call $67CF + ret nc + jp AIUseSuperPotion + +LanceAI: + cp $80 + ret nc + ld a,5 + call $67CF + ret nc + jp AIUseHyperPotion + +GenericAI: + and a ; clear carry + ret + +; end of individual trainer AI routines + +DecrementAICount: ; 6695 + ld hl,W_AICOUNT + dec [hl] + scf + ret + +Function669B: ; 669B +; XXX what does this do + ld a,$8E + jp $3740 + +AIUseFullRestore: ; 0x3a6a0 + call AICureStatus + ld a,FULL_RESTORE + ld [$CF05],a + ld de,$CEEB + ld hl,$CFE7 + ld a,[hld] + ld [de],a + inc de + ld a,[hl] + ld [de],a + inc de + ld hl,$CFF5 + ld a,[hld] + ld [de],a + inc de + ld [$CEE9],a + ld [$CFE7],a + ld a,[hl] + ld [de],a + ld [$CEEA],a + ld [W_ENEMYMONCURHP],a + jr Function6718 +; 0x3a6ca + +AIUsePotion: ; 0x3a6ca +; enemy trainer heals his monster with a potion + ld a,POTION + ld b,20 + jr AIRecoverHP + +AIUseSuperPotion: ; 0x3a6d0 +; enemy trainer heals his monster with a super potion + ld a,SUPER_POTION + ld b,50 + jr AIRecoverHP + +AIUseHyperPotion: ; 0x3a6d6 +; enemy trainer heals his monster with a hyper potion + ld a,HYPER_POTION + ld b,200 + ; fallthrough + +AIRecoverHP: ; 66DA +; heal b HP and print "trainer used $(a) on pokemon!" + ld [$CF05],a + ld hl,$CFE7 + ld a,[hl] + ld [$CEEB],a + add b + ld [hld],a + ld [$CEED],a + ld a,[hl] + ld [$CEEC],a + ld [$CEEE],a + jr nc,.next\@ + inc a + ld [hl],a + ld [$CEEE],a +.next\@ + inc hl + ld a,[hld] + ld b,a + ld de,$CFF5 + ld a,[de] + dec de + ld [$CEE9],a + sub b + ld a,[hli] + ld b,a + ld a,[de] + ld [$CEEA],a + sbc b + jr nc,Function6718 + inc de + ld a,[de] + dec de + ld [hld],a + ld [$CEED],a + ld a,[de] + ld [hl],a + ld [$CEEE],a + ; fallthrough + +Function6718: ; 6718 + call AIPrintItemUse_ + ld hl,$C3CA + xor a + ld [$CF94],a + ld a,$48 + call Predef + jp DecrementAICount + +Function672A: ; 672A + ld a,[W_ENEMYMONCOUNT] + ld c,a + ld hl,W_ENEMYMON1HP + + ld d,0 ; keep count of unfainted monsters + + ; count how many monsters haven't fainted yet +.loop\@ + ld a,[hli] + ld b,a + ld a,[hld] + or b + jr z,.Fainted\@ ; has monster fainted? + inc d +.Fainted\@ + push bc + ld bc,$2C + add hl,bc + pop bc + dec c + jr nz,.loop\@ + + ld a,d ; how many available monsters are there? + cp 2 ; don't bother if only 1 or 2 + jp nc,Function674B ; XXX check, does this jump when a = 2? + and a + ret + +Function674B: ; 674B + +; prepare to withdraw the active monster: copy hp, number, and status to roster + + ld a,[W_ENEMYMONNUMBER] + ld hl,W_ENEMYMON1HP + ld bc,$2C + call AddNTimes + ld d,h + ld e,l + ld hl,W_ENEMYMONCURHP + ld bc,4 + call CopyData + + ld hl, AIBattleWithdrawText + call PrintText + + ld a,1 + ld [$D11D],a + ld hl,EnemySendOut + ld b,BANK(EnemySendOut) + call Bankswitch + xor a + ld [$D11D],a + + ld a,[W_ISLINKBATTLE] + cp 4 + ret z + scf + ret + +AIBattleWithdrawText: ; 0x3a781 + TX_FAR _AIBattleWithdrawText + db "@" + +AIUseFullHeal: ; 0x3a786 + call $669B + call AICureStatus + ld a,FULL_HEAL + jp AIPrintItemUse + +AICureStatus: ; 0x3a791 +; cures the status of enemy's active pokemon + ld a,[W_ENEMYMONNUMBER] + ld hl,$D8A8 + ld bc,$2C + call AddNTimes + xor a + ld [hl],a ; clear status in enemy team roster + ld [W_ENEMYMONSTATUS],a ; clear status of active enemy + ld hl,$D069 + res 0,[hl] + ret + +AIUseXAccuracy: ; 0x3a7a8 unused + call $669B + ld hl,$D068 + set 0,[hl] + ld a,X_ACCURACY + jp AIPrintItemUse + +AIUseGuardSpec: ; 0x3a7b5 + call $669B + ld hl,$D068 + set 1,[hl] + ld a,GUARD_SPEC_ + jp AIPrintItemUse + +AIUseDireHit: ; 0x3a7c2 unused + call $669B + ld hl,$D068 + set 2,[hl] + ld a,DIRE_HIT + jp AIPrintItemUse + +Function67CF: ; 0x3a7cf 67CF + ld [H_DIVISOR],a + ld hl,$CFF4 + ld a,[hli] + ld [H_DIVIDEND],a + ld a,[hl] + ld [H_DIVIDEND + 1],a + ld b,2 + call $38B9 + ld a,[H_QUOTIENT + 3] + ld c,a + ld a,[H_QUOTIENT + 2] + ld b,a + ld hl,$CFE7 + ld a,[hld] + ld e,a + ld a,[hl] + ld d,a + ld a,d + sub b + ret nz + ld a,e + sub c + ret + +AIUseXAttack: ; 0x3a7f2 + ld b,$A + ld a,X_ATTACK + jr AIIncreaseStat + +AIUseXDefend: ; 0x3a7f8 + ld b,$B + ld a,X_DEFEND + jr AIIncreaseStat + +AIUseXSpeed: ; 0x3a7fe + ld b,$C + ld a,X_SPEED + jr AIIncreaseStat + +AIUseXSpecial: ; 0x3a804 + ld b,$D + ld a,X_SPECIAL + ; fallthrough + +AIIncreaseStat: ; 0x3a808 + ld [$CF05],a + push bc + call AIPrintItemUse_ + pop bc + ld hl,$CFCD + ld a,[hld] + push af + ld a,[hl] + push af + push hl + ld a,$AF + ld [hli],a + ld [hl],b + ld hl,$7428 + ld b,$F + call Bankswitch + pop hl + pop af + ld [hli],a + pop af + ld [hl],a + jp DecrementAICount + +AIPrintItemUse: ; 0x3a82c + ld [$CF05],a + call AIPrintItemUse_ + jp DecrementAICount + +AIPrintItemUse_: ; 0x3a835 +; print "x used [$CF05] on z!" + ld a,[$CF05] + ld [$D11E],a + call GetItemName + ld hl, AIBattleUseItemText + jp PrintText + +AIBattleUseItemText: ; 0x3a844 + TX_FAR _AIBattleUseItemText + db "@" + +INCBIN "baserom.gbc",$3a849,$3af3e - $3a849 + +UnnamedText_3af3e: ; 0x3af3e + TX_FAR _UnnamedText_3af3e + db $50 +; 0x3af3e + 5 bytes + +UnnamedText_3af43: ; 0x3af43 + TX_FAR _UnnamedText_3af43 + db $50 +; 0x3af43 + 5 bytes + +UnnamedText_3af48: ; 0x3af48 + TX_FAR _UnnamedText_3af48 + db $50 +; 0x3af48 + 5 bytes + +UnnamedText_3af4d: ; 0x3af4d + TX_FAR _UnnamedText_3af4d + db $50 +; 0x3af4d + 5 bytes + +INCBIN "baserom.gbc",$3af52,$10a + +EvosMovesPointerTable: ; 705C + dw Mon112_EvosMoves + dw Mon115_EvosMoves + dw Mon032_EvosMoves + dw Mon035_EvosMoves + dw Mon021_EvosMoves + dw Mon100_EvosMoves + dw Mon034_EvosMoves + dw Mon080_EvosMoves + dw Mon002_EvosMoves + dw Mon103_EvosMoves + dw Mon108_EvosMoves + dw Mon102_EvosMoves + dw Mon088_EvosMoves + dw Mon094_EvosMoves + dw Mon029_EvosMoves + dw Mon031_EvosMoves + dw Mon104_EvosMoves + dw Mon111_EvosMoves + dw Mon131_EvosMoves + dw Mon059_EvosMoves + dw Mon151_EvosMoves + dw Mon130_EvosMoves + dw Mon090_EvosMoves + dw Mon072_EvosMoves + dw Mon092_EvosMoves + dw Mon123_EvosMoves + dw Mon120_EvosMoves + dw Mon009_EvosMoves + dw Mon127_EvosMoves + dw Mon114_EvosMoves + dw Mon152_EvosMoves ;MissingNo + dw Mon153_EvosMoves ;MissingNo + dw Mon058_EvosMoves + dw Mon095_EvosMoves + dw Mon022_EvosMoves + dw Mon016_EvosMoves + dw Mon079_EvosMoves + dw Mon064_EvosMoves + dw Mon075_EvosMoves + dw Mon113_EvosMoves + dw Mon067_EvosMoves + dw Mon122_EvosMoves + dw Mon106_EvosMoves + dw Mon107_EvosMoves + dw Mon024_EvosMoves + dw Mon047_EvosMoves + dw Mon054_EvosMoves + dw Mon096_EvosMoves + dw Mon076_EvosMoves + dw Mon154_EvosMoves ;MissingNo + dw Mon126_EvosMoves + dw Mon155_EvosMoves ;MissingNo + dw Mon125_EvosMoves + dw Mon082_EvosMoves + dw Mon109_EvosMoves + dw Mon156_EvosMoves ;MissingNo + dw Mon056_EvosMoves + dw Mon086_EvosMoves + dw Mon050_EvosMoves + dw Mon128_EvosMoves + dw Mon157_EvosMoves ;MissingNo + dw Mon158_EvosMoves ;MissingNo + dw Mon159_EvosMoves ;MissingNo + dw Mon083_EvosMoves + dw Mon048_EvosMoves + dw Mon149_EvosMoves + dw Mon160_EvosMoves ;MissingNo + dw Mon161_EvosMoves ;MissingNo + dw Mon162_EvosMoves ;MissingNo + dw Mon084_EvosMoves + dw Mon060_EvosMoves + dw Mon124_EvosMoves + dw Mon146_EvosMoves + dw Mon144_EvosMoves + dw Mon145_EvosMoves + dw Mon132_EvosMoves + dw Mon052_EvosMoves + dw Mon098_EvosMoves + dw Mon163_EvosMoves ;MissingNo + dw Mon164_EvosMoves ;MissingNo + dw Mon165_EvosMoves ;MissingNo + dw Mon037_EvosMoves + dw Mon038_EvosMoves + dw Mon025_EvosMoves + dw Mon026_EvosMoves + dw Mon166_EvosMoves ;MissingNo + dw Mon167_EvosMoves ;MissingNo + dw Mon147_EvosMoves + dw Mon148_EvosMoves + dw Mon140_EvosMoves + dw Mon141_EvosMoves + dw Mon116_EvosMoves + dw Mon117_EvosMoves + dw Mon168_EvosMoves ;MissingNo + dw Mon169_EvosMoves ;MissingNo + dw Mon027_EvosMoves + dw Mon028_EvosMoves + dw Mon138_EvosMoves + dw Mon139_EvosMoves + dw Mon039_EvosMoves + dw Mon040_EvosMoves + dw Mon133_EvosMoves + dw Mon136_EvosMoves + dw Mon135_EvosMoves + dw Mon134_EvosMoves + dw Mon066_EvosMoves + dw Mon041_EvosMoves + dw Mon023_EvosMoves + dw Mon046_EvosMoves + dw Mon061_EvosMoves + dw Mon062_EvosMoves + dw Mon013_EvosMoves + dw Mon014_EvosMoves + dw Mon015_EvosMoves + dw Mon170_EvosMoves ;MissingNo + dw Mon085_EvosMoves + dw Mon057_EvosMoves + dw Mon051_EvosMoves + dw Mon049_EvosMoves + dw Mon087_EvosMoves + dw Mon171_EvosMoves ;MissingNo + dw Mon172_EvosMoves ;MissingNo + dw Mon010_EvosMoves + dw Mon011_EvosMoves + dw Mon012_EvosMoves + dw Mon068_EvosMoves + dw Mon173_EvosMoves ;MissingNo + dw Mon055_EvosMoves + dw Mon097_EvosMoves + dw Mon042_EvosMoves + dw Mon150_EvosMoves + dw Mon143_EvosMoves + dw Mon129_EvosMoves + dw Mon174_EvosMoves ;MissingNo + dw Mon175_EvosMoves ;MissingNo + dw Mon089_EvosMoves + dw Mon176_EvosMoves ;MissingNo + dw Mon099_EvosMoves + dw Mon091_EvosMoves + dw Mon177_EvosMoves ;MissingNo + dw Mon101_EvosMoves + dw Mon036_EvosMoves + dw Mon110_EvosMoves + dw Mon053_EvosMoves + dw Mon105_EvosMoves + dw Mon178_EvosMoves ;MissingNo + dw Mon093_EvosMoves + dw Mon063_EvosMoves + dw Mon065_EvosMoves + dw Mon017_EvosMoves + dw Mon018_EvosMoves + dw Mon121_EvosMoves + dw Mon001_EvosMoves + dw Mon003_EvosMoves + dw Mon073_EvosMoves + dw Mon179_EvosMoves ;MissingNo + dw Mon118_EvosMoves + dw Mon119_EvosMoves + dw Mon180_EvosMoves ;MissingNo + dw Mon181_EvosMoves ;MissingNo + dw Mon182_EvosMoves ;MissingNo + dw Mon183_EvosMoves ;MissingNo + dw Mon077_EvosMoves + dw Mon078_EvosMoves + dw Mon019_EvosMoves + dw Mon020_EvosMoves + dw Mon033_EvosMoves + dw Mon030_EvosMoves + dw Mon074_EvosMoves + dw Mon137_EvosMoves + dw Mon142_EvosMoves + dw Mon184_EvosMoves ;MissingNo + dw Mon081_EvosMoves + dw Mon185_EvosMoves ;MissingNo + dw Mon186_EvosMoves ;MissingNo + dw Mon004_EvosMoves + dw Mon007_EvosMoves + dw Mon005_EvosMoves + dw Mon008_EvosMoves + dw Mon006_EvosMoves + dw Mon187_EvosMoves ;MissingNo + dw Mon188_EvosMoves ;MissingNo + dw Mon189_EvosMoves ;MissingNo + dw Mon190_EvosMoves ;MissingNo + dw Mon043_EvosMoves + dw Mon044_EvosMoves + dw Mon045_EvosMoves + dw Mon069_EvosMoves + dw Mon070_EvosMoves + dw Mon071_EvosMoves + +Mon112_EvosMoves: +;RHYDON +;Evolutions + db 0 +;Learnset + db 30,STOMP + db 35,TAIL_WHIP + db 40,FURY_ATTACK + db 48,HORN_DRILL + db 55,LEER + db 64,TAKE_DOWN + db 0 +Mon115_EvosMoves: +;KANGASKHAN +;Evolutions + db 0 +;Learnset + db 26,BITE + db 31,TAIL_WHIP + db 36,MEGA_PUNCH + db 41,LEER + db 46,DIZZY_PUNCH + db 0 +Mon032_EvosMoves: +;NIDORAN_M +;Evolutions + db EV_LEVEL,16,NIDORINO + db 0 +;Learnset + db 8,HORN_ATTACK + db 14,POISON_STING + db 21,FOCUS_ENERGY + db 29,FURY_ATTACK + db 36,HORN_DRILL + db 43,DOUBLE_KICK + db 0 +Mon035_EvosMoves: +;CLEFAIRY +;Evolutions + db EV_ITEM,MOON_STONE,1,CLEFABLE + db 0 +;Learnset + db 13,SING + db 18,DOUBLESLAP + db 24,MINIMIZE + db 31,METRONOME + db 39,DEFENSE_CURL + db 48,LIGHT_SCREEN + db 0 +Mon021_EvosMoves: +;SPEAROW +;Evolutions + db EV_LEVEL,20,FEAROW + db 0 +;Learnset + db 9,LEER + db 15,FURY_ATTACK + db 22,MIRROR_MOVE + db 29,DRILL_PECK + db 36,AGILITY + db 0 +Mon100_EvosMoves: +;VOLTORB +;Evolutions + db EV_LEVEL,30,ELECTRODE + db 0 +;Learnset + db 17,SONICBOOM + db 22,SELFDESTRUCT + db 29,LIGHT_SCREEN + db 36,SWIFT + db 43,EXPLOSION + db 0 +Mon034_EvosMoves: +;NIDOKING +;Evolutions + db 0 +;Learnset + db 8,HORN_ATTACK + db 14,POISON_STING + db 23,THRASH + db 0 +Mon080_EvosMoves: +;SLOWBRO +;Evolutions + db 0 +;Learnset + db 18,DISABLE + db 22,HEADBUTT + db 27,GROWL + db 33,WATER_GUN + db 37,WITHDRAW + db 44,AMNESIA + db 55,PSYCHIC_M + db 0 +Mon002_EvosMoves: +;IVYSAUR +;Evolutions + db EV_LEVEL,32,VENUSAUR + db 0 +;Learnset + db 7,LEECH_SEED + db 13,VINE_WHIP + db 22,POISONPOWDER + db 30,RAZOR_LEAF + db 38,GROWTH + db 46,SLEEP_POWDER + db 54,SOLARBEAM + db 0 +Mon103_EvosMoves: +;EXEGGUTOR +;Evolutions + db 0 +;Learnset + db 28,STOMP + db 0 +Mon108_EvosMoves: +;LICKITUNG +;Evolutions + db 0 +;Learnset + db 7,STOMP + db 15,DISABLE + db 23,DEFENSE_CURL + db 31,SLAM + db 39,SCREECH + db 0 +Mon102_EvosMoves: +;EXEGGCUTE +;Evolutions + db EV_ITEM,LEAF_STONE ,1,EXEGGUTOR + db 0 +;Learnset + db 25,REFLECT + db 28,LEECH_SEED + db 32,STUN_SPORE + db 37,POISONPOWDER + db 42,SOLARBEAM + db 48,SLEEP_POWDER + db 0 +Mon088_EvosMoves: +;GRIMER +;Evolutions + db EV_LEVEL,38,MUK + db 0 +;Learnset + db 30,POISON_GAS + db 33,MINIMIZE + db 37,SLUDGE + db 42,HARDEN + db 48,SCREECH + db 55,ACID_ARMOR + db 0 +Mon094_EvosMoves: +;GENGAR +;Evolutions + db 0 +;Learnset + db 29,HYPNOSIS + db 38,DREAM_EATER + db 0 +Mon029_EvosMoves: +;NIDORAN_F +;Evolutions + db EV_LEVEL,16,NIDORINA + db 0 +;Learnset + db 8,SCRATCH + db 14,POISON_STING + db 21,TAIL_WHIP + db 29,BITE + db 36,FURY_SWIPES + db 43,DOUBLE_KICK + db 0 +Mon031_EvosMoves: +;NIDOQUEEN +;Evolutions + db 0 +;Learnset + db 8,SCRATCH + db 14,POISON_STING + db 23,BODY_SLAM + db 0 +Mon104_EvosMoves: +;CUBONE +;Evolutions + db EV_LEVEL,28,MAROWAK + db 0 +;Learnset + db 25,LEER + db 31,FOCUS_ENERGY + db 38,THRASH + db 43,BONEMERANG + db 46,RAGE + db 0 +Mon111_EvosMoves: +;RHYHORN +;Evolutions + db EV_LEVEL,42,RHYDON + db 0 +;Learnset + db 30,STOMP + db 35,TAIL_WHIP + db 40,FURY_ATTACK + db 45,HORN_DRILL + db 50,LEER + db 55,TAKE_DOWN + db 0 +Mon131_EvosMoves: +;LAPRAS +;Evolutions + db 0 +;Learnset + db 16,SING + db 20,MIST + db 25,BODY_SLAM + db 31,CONFUSE_RAY + db 38,ICE_BEAM + db 46,HYDRO_PUMP + db 0 +Mon059_EvosMoves: +;ARCANINE +;Evolutions + db 0 +;Learnset + db 0 +Mon151_EvosMoves: +;MEW +;Evolutions + db 0 +;Learnset + db 10,TRANSFORM + db 20,MEGA_PUNCH + db 30,METRONOME + db 40,PSYCHIC_M + db 0 +Mon130_EvosMoves: +;GYARADOS +;Evolutions + db 0 +;Learnset + db 20,BITE + db 25,DRAGON_RAGE + db 32,LEER + db 41,HYDRO_PUMP + db 52,HYPER_BEAM + db 0 +Mon090_EvosMoves: +;SHELLDER +;Evolutions + db EV_ITEM,WATER_STONE ,1,CLOYSTER + db 0 +;Learnset + db 18,SUPERSONIC + db 23,CLAMP + db 30,AURORA_BEAM + db 39,LEER + db 50,ICE_BEAM + db 0 +Mon072_EvosMoves: +;TENTACOOL +;Evolutions + db EV_LEVEL,30,TENTACRUEL + db 0 +;Learnset + db 7,SUPERSONIC + db 13,WRAP + db 18,POISON_STING + db 22,WATER_GUN + db 27,CONSTRICT + db 33,BARRIER + db 40,SCREECH + db 48,HYDRO_PUMP + db 0 +Mon092_EvosMoves: +;GASTLY +;Evolutions + db EV_LEVEL,25,HAUNTER + db 0 +;Learnset + db 27,HYPNOSIS + db 35,DREAM_EATER + db 0 +Mon123_EvosMoves: +;SCYTHER +;Evolutions + db 0 +;Learnset + db 17,LEER + db 20,FOCUS_ENERGY + db 24,DOUBLE_TEAM + db 29,SLASH + db 35,SWORDS_DANCE + db 42,AGILITY + db 0 +Mon120_EvosMoves: +;STARYU +;Evolutions + db EV_ITEM,WATER_STONE ,1,STARMIE + db 0 +;Learnset + db 17,WATER_GUN + db 22,HARDEN + db 27,RECOVER + db 32,SWIFT + db 37,MINIMIZE + db 42,LIGHT_SCREEN + db 47,HYDRO_PUMP + db 0 +Mon009_EvosMoves: +;BLASTOISE +;Evolutions + db 0 +;Learnset + db 8,BUBBLE + db 15,WATER_GUN + db 24,BITE + db 31,WITHDRAW + db 42,SKULL_BASH + db 52,HYDRO_PUMP + db 0 +Mon127_EvosMoves: +;PINSIR +;Evolutions + db 0 +;Learnset + db 25,SEISMIC_TOSS + db 30,GUILLOTINE + db 36,FOCUS_ENERGY + db 43,HARDEN + db 49,SLASH + db 54,SWORDS_DANCE + db 0 +Mon114_EvosMoves: +;TANGELA +;Evolutions + db 0 +;Learnset + db 29,ABSORB + db 32,POISONPOWDER + db 36,STUN_SPORE + db 39,SLEEP_POWDER + db 45,SLAM + db 49,GROWTH + db 0 + +Mon152_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 + +Mon153_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 +Mon058_EvosMoves: +;GROWLITHE +;Evolutions + db EV_ITEM,FIRE_STONE,1,ARCANINE + db 0 +;Learnset + db 18,EMBER + db 23,LEER + db 30,TAKE_DOWN + db 39,AGILITY + db 50,FLAMETHROWER + db 0 +Mon095_EvosMoves: +;ONIX +;Evolutions + db 0 +;Learnset + db 15,BIND + db 19,ROCK_THROW + db 25,RAGE + db 33,SLAM + db 43,HARDEN + db 0 +Mon022_EvosMoves: +;FEAROW +;Evolutions + db 0 +;Learnset + db 9,LEER + db 15,FURY_ATTACK + db 25,MIRROR_MOVE + db 34,DRILL_PECK + db 43,AGILITY + db 0 +Mon016_EvosMoves: +;PIDGEY +;Evolutions + db EV_LEVEL,18,PIDGEOTTO + db 0 +;Learnset + db 5,SAND_ATTACK + db 12,QUICK_ATTACK + db 19,WHIRLWIND + db 28,WING_ATTACK + db 36,AGILITY + db 44,MIRROR_MOVE + db 0 +Mon079_EvosMoves: +;SLOWPOKE +;Evolutions + db EV_LEVEL,37,SLOWBRO + db 0 +;Learnset + db 18,DISABLE + db 22,HEADBUTT + db 27,GROWL + db 33,WATER_GUN + db 40,AMNESIA + db 48,PSYCHIC_M + db 0 +Mon064_EvosMoves: +;KADABRA +;Evolutions + db EV_TRADE,1,ALAKAZAM + db 0 +;Learnset + db 16,CONFUSION + db 20,DISABLE + db 27,PSYBEAM + db 31,RECOVER + db 38,PSYCHIC_M + db 42,REFLECT + db 0 +Mon075_EvosMoves: +;GRAVELER +;Evolutions + db EV_TRADE,1,GOLEM + db 0 +;Learnset + db 11,DEFENSE_CURL + db 16,ROCK_THROW + db 21,SELFDESTRUCT + db 29,HARDEN + db 36,EARTHQUAKE + db 43,EXPLOSION + db 0 +Mon113_EvosMoves: +;CHANSEY +;Evolutions + db 0 +;Learnset + db 24,SING + db 30,GROWL + db 38,MINIMIZE + db 44,DEFENSE_CURL + db 48,LIGHT_SCREEN + db 54,DOUBLE_EDGE + db 0 +Mon067_EvosMoves: +;MACHOKE +;Evolutions + db EV_TRADE,1,MACHAMP + db 0 +;Learnset + db 20,LOW_KICK + db 25,LEER + db 36,FOCUS_ENERGY + db 44,SEISMIC_TOSS + db 52,SUBMISSION + db 0 +Mon122_EvosMoves: +;MR_MIME +;Evolutions + db 0 +;Learnset + db 15,CONFUSION + db 23,LIGHT_SCREEN + db 31,DOUBLESLAP + db 39,MEDITATE + db 47,SUBSTITUTE + db 0 +Mon106_EvosMoves: +;HITMONLEE +;Evolutions + db 0 +;Learnset + db 33,ROLLING_KICK + db 38,JUMP_KICK + db 43,FOCUS_ENERGY + db 48,HI_JUMP_KICK + db 53,MEGA_KICK + db 0 +Mon107_EvosMoves: +;HITMONCHAN +;Evolutions + db 0 +;Learnset + db 33,FIRE_PUNCH + db 38,ICE_PUNCH + db 43,THUNDERPUNCH + db 48,MEGA_PUNCH + db 53,COUNTER + db 0 +Mon024_EvosMoves: +;ARBOK +;Evolutions + db 0 +;Learnset + db 10,POISON_STING + db 17,BITE + db 27,GLARE + db 36,SCREECH + db 47,ACID + db 0 +Mon047_EvosMoves: +;PARASECT +;Evolutions + db 0 +;Learnset + db 13,STUN_SPORE + db 20,LEECH_LIFE + db 30,SPORE + db 39,SLASH + db 48,GROWTH + db 0 +Mon054_EvosMoves: +;PSYDUCK +;Evolutions + db EV_LEVEL,33,GOLDUCK + db 0 +;Learnset + db 28,TAIL_WHIP + db 31,DISABLE + db 36,CONFUSION + db 43,FURY_SWIPES + db 52,HYDRO_PUMP + db 0 +Mon096_EvosMoves: +;DROWZEE +;Evolutions + db EV_LEVEL,26,HYPNO + db 0 +;Learnset + db 12,DISABLE + db 17,CONFUSION + db 24,HEADBUTT + db 29,POISON_GAS + db 32,PSYCHIC_M + db 37,MEDITATE + db 0 +Mon076_EvosMoves: +;GOLEM +;Evolutions + db 0 +;Learnset + db 11,DEFENSE_CURL + db 16,ROCK_THROW + db 21,SELFDESTRUCT + db 29,HARDEN + db 36,EARTHQUAKE + db 43,EXPLOSION + db 0 + +Mon154_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 +Mon126_EvosMoves: +;MAGMAR +;Evolutions + db 0 +;Learnset + db 36,LEER + db 39,CONFUSE_RAY + db 43,FIRE_PUNCH + db 48,SMOKESCREEN + db 52,SMOG + db 55,FLAMETHROWER + db 0 + +Mon155_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 +Mon125_EvosMoves: +;ELECTABUZZ +;Evolutions + db 0 +;Learnset + db 34,THUNDERSHOCK + db 37,SCREECH + db 42,THUNDERPUNCH + db 49,LIGHT_SCREEN + db 54,THUNDER + db 0 +Mon082_EvosMoves: +;MAGNETON +;Evolutions + db 0 +;Learnset + db 21,SONICBOOM + db 25,THUNDERSHOCK + db 29,SUPERSONIC + db 38,THUNDER_WAVE + db 46,SWIFT + db 54,SCREECH + db 0 +Mon109_EvosMoves: +;KOFFING +;Evolutions + db EV_LEVEL,35,WEEZING + db 0 +;Learnset + db 32,SLUDGE + db 37,SMOKESCREEN + db 40,SELFDESTRUCT + db 45,HAZE + db 48,EXPLOSION + db 0 + +Mon156_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 +Mon056_EvosMoves: +;MANKEY +;Evolutions + db EV_LEVEL,28,PRIMEAPE + db 0 +;Learnset + db 15,KARATE_CHOP + db 21,FURY_SWIPES + db 27,FOCUS_ENERGY + db 33,SEISMIC_TOSS + db 39,THRASH + db 0 +Mon086_EvosMoves: +;SEEL +;Evolutions + db EV_LEVEL,34,DEWGONG + db 0 +;Learnset + db 30,GROWL + db 35,AURORA_BEAM + db 40,REST + db 45,TAKE_DOWN + db 50,ICE_BEAM + db 0 +Mon050_EvosMoves: +;DIGLETT +;Evolutions + db EV_LEVEL,26,DUGTRIO + db 0 +;Learnset + db 15,GROWL + db 19,DIG + db 24,SAND_ATTACK + db 31,SLASH + db 40,EARTHQUAKE + db 0 +Mon128_EvosMoves: +;TAUROS +;Evolutions + db 0 +;Learnset + db 21,STOMP + db 28,TAIL_WHIP + db 35,LEER + db 44,RAGE + db 51,TAKE_DOWN + db 0 + +Mon157_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 + +Mon158_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 + +Mon159_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 +Mon083_EvosMoves: +;FARFETCH_D +;Evolutions + db 0 +;Learnset + db 7,LEER + db 15,FURY_ATTACK + db 23,SWORDS_DANCE + db 31,AGILITY + db 39,SLASH + db 0 +Mon048_EvosMoves: +;VENONAT +;Evolutions + db EV_LEVEL,31,VENOMOTH + db 0 +;Learnset + db 24,POISONPOWDER + db 27,LEECH_LIFE + db 30,STUN_SPORE + db 35,PSYBEAM + db 38,SLEEP_POWDER + db 43,PSYCHIC_M + db 0 +Mon149_EvosMoves: +;DRAGONITE +;Evolutions + db 0 +;Learnset + db 10,THUNDER_WAVE + db 20,AGILITY + db 35,SLAM + db 45,DRAGON_RAGE + db 60,HYPER_BEAM + db 0 + +Mon160_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 + +Mon161_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 + +Mon162_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 +Mon084_EvosMoves: +;DODUO +;Evolutions + db EV_LEVEL,31,DODRIO + db 0 +;Learnset + db 20,GROWL + db 24,FURY_ATTACK + db 30,DRILL_PECK + db 36,RAGE + db 40,TRI_ATTACK + db 44,AGILITY + db 0 +Mon060_EvosMoves: +;POLIWAG +;Evolutions + db EV_LEVEL,25,POLIWHIRL + db 0 +;Learnset + db 16,HYPNOSIS + db 19,WATER_GUN + db 25,DOUBLESLAP + db 31,BODY_SLAM + db 38,AMNESIA + db 45,HYDRO_PUMP + db 0 +Mon124_EvosMoves: +;JYNX +;Evolutions + db 0 +;Learnset + db 18,LICK + db 23,DOUBLESLAP + db 31,ICE_PUNCH + db 39,BODY_SLAM + db 47,THRASH + db 58,BLIZZARD + db 0 +Mon146_EvosMoves: +;MOLTRES +;Evolutions + db 0 +;Learnset + db 51,LEER + db 55,AGILITY + db 60,SKY_ATTACK + db 0 +Mon144_EvosMoves: +;ARTICUNO +;Evolutions + db 0 +;Learnset + db 51,BLIZZARD + db 55,AGILITY + db 60,MIST + db 0 +Mon145_EvosMoves: +;ZAPDOS +;Evolutions + db 0 +;Learnset + db 51,THUNDER + db 55,AGILITY + db 60,LIGHT_SCREEN + db 0 +Mon132_EvosMoves: +;DITTO +;Evolutions + db 0 +;Learnset + db 0 +Mon052_EvosMoves: +;MEOWTH +;Evolutions + db EV_LEVEL,28,PERSIAN + db 0 +;Learnset + db 12,BITE + db 17,PAY_DAY + db 24,SCREECH + db 33,FURY_SWIPES + db 44,SLASH + db 0 +Mon098_EvosMoves: +;KRABBY +;Evolutions + db EV_LEVEL,28,KINGLER + db 0 +;Learnset + db 20,VICEGRIP + db 25,GUILLOTINE + db 30,STOMP + db 35,CRABHAMMER + db 40,HARDEN + db 0 + +Mon163_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 + +Mon164_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 + +Mon165_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 +Mon037_EvosMoves: +;VULPIX +;Evolutions + db EV_ITEM,FIRE_STONE,1,NINETALES + db 0 +;Learnset + db 16,QUICK_ATTACK + db 21,ROAR + db 28,CONFUSE_RAY + db 35,FLAMETHROWER + db 42,FIRE_SPIN + db 0 +Mon038_EvosMoves: +;NINETALES +;Evolutions + db 0 +;Learnset + db 0 +Mon025_EvosMoves: +;PIKACHU +;Evolutions + db EV_ITEM,THUNDER_STONE ,1,RAICHU + db 0 +;Learnset + db 9,THUNDER_WAVE + db 16,QUICK_ATTACK + db 26,SWIFT + db 33,AGILITY + db 43,THUNDER + db 0 +Mon026_EvosMoves: +;RAICHU +;Evolutions + db 0 +;Learnset + db 0 + +Mon166_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 + +Mon167_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 +Mon147_EvosMoves: +;DRATINI +;Evolutions + db EV_LEVEL,30,DRAGONAIR + db 0 +;Learnset + db 10,THUNDER_WAVE + db 20,AGILITY + db 30,SLAM + db 40,DRAGON_RAGE + db 50,HYPER_BEAM + db 0 +Mon148_EvosMoves: +;DRAGONAIR +;Evolutions + db EV_LEVEL,55,DRAGONITE + db 0 +;Learnset + db 10,THUNDER_WAVE + db 20,AGILITY + db 35,SLAM + db 45,DRAGON_RAGE + db 55,HYPER_BEAM + db 0 +Mon140_EvosMoves: +;KABUTO +;Evolutions + db EV_LEVEL,40,KABUTOPS + db 0 +;Learnset + db 34,ABSORB + db 39,SLASH + db 44,LEER + db 49,HYDRO_PUMP + db 0 +Mon141_EvosMoves: +;KABUTOPS +;Evolutions + db 0 +;Learnset + db 34,ABSORB + db 39,SLASH + db 46,LEER + db 53,HYDRO_PUMP + db 0 +Mon116_EvosMoves: +;HORSEA +;Evolutions + db EV_LEVEL,32,SEADRA + db 0 +;Learnset + db 19,SMOKESCREEN + db 24,LEER + db 30,WATER_GUN + db 37,AGILITY + db 45,HYDRO_PUMP + db 0 +Mon117_EvosMoves: +;SEADRA +;Evolutions + db 0 +;Learnset + db 19,SMOKESCREEN + db 24,LEER + db 30,WATER_GUN + db 41,AGILITY + db 52,HYDRO_PUMP + db 0 + +Mon168_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 + +Mon169_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 +Mon027_EvosMoves: +;SANDSHREW +;Evolutions + db EV_LEVEL,22,SANDSLASH + db 0 +;Learnset + db 10,SAND_ATTACK + db 17,SLASH + db 24,POISON_STING + db 31,SWIFT + db 38,FURY_SWIPES + db 0 +Mon028_EvosMoves: +;SANDSLASH +;Evolutions + db 0 +;Learnset + db 10,SAND_ATTACK + db 17,SLASH + db 27,POISON_STING + db 36,SWIFT + db 47,FURY_SWIPES + db 0 +Mon138_EvosMoves: +;OMANYTE +;Evolutions + db EV_LEVEL,40,OMASTAR + db 0 +;Learnset + db 34,HORN_ATTACK + db 39,LEER + db 46,SPIKE_CANNON + db 53,HYDRO_PUMP + db 0 +Mon139_EvosMoves: +;OMASTAR +;Evolutions + db 0 +;Learnset + db 34,HORN_ATTACK + db 39,LEER + db 44,SPIKE_CANNON + db 49,HYDRO_PUMP + db 0 +Mon039_EvosMoves: +;JIGGLYPUFF +;Evolutions + db EV_ITEM,MOON_STONE,1,WIGGLYTUFF + db 0 +;Learnset + db 9,POUND + db 14,DISABLE + db 19,DEFENSE_CURL + db 24,DOUBLESLAP + db 29,REST + db 34,BODY_SLAM + db 39,DOUBLE_EDGE + db 0 +Mon040_EvosMoves: +;WIGGLYTUFF +;Evolutions + db 0 +;Learnset + db 0 +Mon133_EvosMoves: +;EEVEE +;Evolutions + db EV_ITEM,FIRE_STONE,1,FLAREON + db EV_ITEM,THUNDER_STONE ,1,JOLTEON + db EV_ITEM,WATER_STONE ,1,VAPOREON + db 0 +;Learnset + db 27,QUICK_ATTACK + db 31,TAIL_WHIP + db 37,BITE + db 45,TAKE_DOWN + db 0 +Mon136_EvosMoves: +;FLAREON +;Evolutions + db 0 +;Learnset + db 27,QUICK_ATTACK + db 31,EMBER + db 37,TAIL_WHIP + db 40,BITE + db 42,LEER + db 44,FIRE_SPIN + db 48,RAGE + db 54,FLAMETHROWER + db 0 +Mon135_EvosMoves: +;JOLTEON +;Evolutions + db 0 +;Learnset + db 27,QUICK_ATTACK + db 31,THUNDERSHOCK + db 37,TAIL_WHIP + db 40,THUNDER_WAVE + db 42,DOUBLE_KICK + db 44,AGILITY + db 48,PIN_MISSILE + db 54,THUNDER + db 0 +Mon134_EvosMoves: +;VAPOREON +;Evolutions + db 0 +;Learnset + db 27,QUICK_ATTACK + db 31,WATER_GUN + db 37,TAIL_WHIP + db 40,BITE + db 42,ACID_ARMOR + db 44,HAZE + db 48,MIST + db 54,HYDRO_PUMP + db 0 +Mon066_EvosMoves: +;MACHOP +;Evolutions + db EV_LEVEL,28,MACHOKE + db 0 +;Learnset + db 20,LOW_KICK + db 25,LEER + db 32,FOCUS_ENERGY + db 39,SEISMIC_TOSS + db 46,SUBMISSION + db 0 +Mon041_EvosMoves: +;ZUBAT +;Evolutions + db EV_LEVEL,22,GOLBAT + db 0 +;Learnset + db 10,SUPERSONIC + db 15,BITE + db 21,CONFUSE_RAY + db 28,WING_ATTACK + db 36,HAZE + db 0 +Mon023_EvosMoves: +;EKANS +;Evolutions + db EV_LEVEL,22,ARBOK + db 0 +;Learnset + db 10,POISON_STING + db 17,BITE + db 24,GLARE + db 31,SCREECH + db 38,ACID + db 0 +Mon046_EvosMoves: +;PARAS +;Evolutions + db EV_LEVEL,24,PARASECT + db 0 +;Learnset + db 13,STUN_SPORE + db 20,LEECH_LIFE + db 27,SPORE + db 34,SLASH + db 41,GROWTH + db 0 +Mon061_EvosMoves: +;POLIWHIRL +;Evolutions + db EV_ITEM,WATER_STONE ,1,POLIWRATH + db 0 +;Learnset + db 16,HYPNOSIS + db 19,WATER_GUN + db 26,DOUBLESLAP + db 33,BODY_SLAM + db 41,AMNESIA + db 49,HYDRO_PUMP + db 0 +Mon062_EvosMoves: +;POLIWRATH +;Evolutions + db 0 +;Learnset + db 16,HYPNOSIS + db 19,WATER_GUN + db 0 +Mon013_EvosMoves: +;WEEDLE +;Evolutions + db EV_LEVEL,7,KAKUNA + db 0 +;Learnset + db 0 +Mon014_EvosMoves: +;KAKUNA +;Evolutions + db EV_LEVEL,10,BEEDRILL + db 0 +;Learnset + db 0 +Mon015_EvosMoves: +;BEEDRILL +;Evolutions + db 0 +;Learnset + db 12,FURY_ATTACK + db 16,FOCUS_ENERGY + db 20,TWINEEDLE + db 25,RAGE + db 30,PIN_MISSILE + db 35,AGILITY + db 0 + +Mon170_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 +Mon085_EvosMoves: +;DODRIO +;Evolutions + db 0 +;Learnset + db 20,GROWL + db 24,FURY_ATTACK + db 30,DRILL_PECK + db 39,RAGE + db 45,TRI_ATTACK + db 51,AGILITY + db 0 +Mon057_EvosMoves: +;PRIMEAPE +;Evolutions + db 0 +;Learnset + db 15,KARATE_CHOP + db 21,FURY_SWIPES + db 27,FOCUS_ENERGY + db 37,SEISMIC_TOSS + db 46,THRASH + db 0 +Mon051_EvosMoves: +;DUGTRIO +;Evolutions + db 0 +;Learnset + db 15,GROWL + db 19,DIG + db 24,SAND_ATTACK + db 35,SLASH + db 47,EARTHQUAKE + db 0 +Mon049_EvosMoves: +;VENOMOTH +;Evolutions + db 0 +;Learnset + db 24,POISONPOWDER + db 27,LEECH_LIFE + db 30,STUN_SPORE + db 38,PSYBEAM + db 43,SLEEP_POWDER + db 50,PSYCHIC_M + db 0 +Mon087_EvosMoves: +;DEWGONG +;Evolutions + db 0 +;Learnset + db 30,GROWL + db 35,AURORA_BEAM + db 44,REST + db 50,TAKE_DOWN + db 56,ICE_BEAM + db 0 + +Mon171_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 + +Mon172_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 +Mon010_EvosMoves: +;CATERPIE +;Evolutions + db EV_LEVEL,7,METAPOD + db 0 +;Learnset + db 0 +Mon011_EvosMoves: +;METAPOD +;Evolutions + db EV_LEVEL,10,BUTTERFREE + db 0 +;Learnset + db 0 +Mon012_EvosMoves: +;BUTTERFREE +;Evolutions + db 0 +;Learnset + db 12,CONFUSION + db 15,POISONPOWDER + db 16,STUN_SPORE + db 17,SLEEP_POWDER + db 21,SUPERSONIC + db 26,WHIRLWIND + db 32,PSYBEAM + db 0 +Mon068_EvosMoves: +;MACHAMP +;Evolutions + db 0 +;Learnset + db 20,LOW_KICK + db 25,LEER + db 36,FOCUS_ENERGY + db 44,SEISMIC_TOSS + db 52,SUBMISSION + db 0 + +Mon173_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 +Mon055_EvosMoves: +;GOLDUCK +;Evolutions + db 0 +;Learnset + db 28,TAIL_WHIP + db 31,DISABLE + db 39,CONFUSION + db 48,FURY_SWIPES + db 59,HYDRO_PUMP + db 0 +Mon097_EvosMoves: +;HYPNO +;Evolutions + db 0 +;Learnset + db 12,DISABLE + db 17,CONFUSION + db 24,HEADBUTT + db 33,POISON_GAS + db 37,PSYCHIC_M + db 43,MEDITATE + db 0 +Mon042_EvosMoves: +;GOLBAT +;Evolutions + db 0 +;Learnset + db 10,SUPERSONIC + db 15,BITE + db 21,CONFUSE_RAY + db 32,WING_ATTACK + db 43,HAZE + db 0 +Mon150_EvosMoves: +;MEWTWO +;Evolutions + db 0 +;Learnset + db 63,BARRIER + db 66,PSYCHIC_M + db 70,RECOVER + db 75,MIST + db 81,AMNESIA + db 0 +Mon143_EvosMoves: +;SNORLAX +;Evolutions + db 0 +;Learnset + db 35,BODY_SLAM + db 41,HARDEN + db 48,DOUBLE_EDGE + db 56,HYPER_BEAM + db 0 +Mon129_EvosMoves: +;MAGIKARP +;Evolutions + db EV_LEVEL,20,GYARADOS + db 0 +;Learnset + db 15,TACKLE + db 0 + +Mon174_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 + +Mon175_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 +Mon089_EvosMoves: +;MUK +;Evolutions + db 0 +;Learnset + db 30,POISON_GAS + db 33,MINIMIZE + db 37,SLUDGE + db 45,HARDEN + db 53,SCREECH + db 60,ACID_ARMOR + db 0 + +Mon176_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 +Mon099_EvosMoves: +;KINGLER +;Evolutions + db 0 +;Learnset + db 20,VICEGRIP + db 25,GUILLOTINE + db 34,STOMP + db 42,CRABHAMMER + db 49,HARDEN + db 0 +Mon091_EvosMoves: +;CLOYSTER +;Evolutions + db 0 +;Learnset + db 50,SPIKE_CANNON + db 0 + +Mon177_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 +Mon101_EvosMoves: +;ELECTRODE +;Evolutions + db 0 +;Learnset + db 17,SONICBOOM + db 22,SELFDESTRUCT + db 29,LIGHT_SCREEN + db 40,SWIFT + db 50,EXPLOSION + db 0 +Mon036_EvosMoves: +;CLEFABLE +;Evolutions + db 0 +;Learnset + db 0 +Mon110_EvosMoves: +;WEEZING +;Evolutions + db 0 +;Learnset + db 32,SLUDGE + db 39,SMOKESCREEN + db 43,SELFDESTRUCT + db 49,HAZE + db 53,EXPLOSION + db 0 +Mon053_EvosMoves: +;PERSIAN +;Evolutions + db 0 +;Learnset + db 12,BITE + db 17,PAY_DAY + db 24,SCREECH + db 37,FURY_SWIPES + db 51,SLASH + db 0 +Mon105_EvosMoves: +;MAROWAK +;Evolutions + db 0 +;Learnset + db 25,LEER + db 33,FOCUS_ENERGY + db 41,THRASH + db 48,BONEMERANG + db 55,RAGE + db 0 + +Mon178_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 +Mon093_EvosMoves: +;HAUNTER +;Evolutions + db EV_TRADE,1,GENGAR + db 0 +;Learnset + db 29,HYPNOSIS + db 38,DREAM_EATER + db 0 +Mon063_EvosMoves: +;ABRA +;Evolutions + db EV_LEVEL,16,KADABRA + db 0 +;Learnset + db 0 +Mon065_EvosMoves: +;ALAKAZAM +;Evolutions + db 0 +;Learnset + db 16,CONFUSION + db 20,DISABLE + db 27,PSYBEAM + db 31,RECOVER + db 38,PSYCHIC_M + db 42,REFLECT + db 0 +Mon017_EvosMoves: +;PIDGEOTTO +;Evolutions + db EV_LEVEL,36,PIDGEOT + db 0 +;Learnset + db 5,SAND_ATTACK + db 12,QUICK_ATTACK + db 21,WHIRLWIND + db 31,WING_ATTACK + db 40,AGILITY + db 49,MIRROR_MOVE + db 0 +Mon018_EvosMoves: +;PIDGEOT +;Evolutions + db 0 +;Learnset + db 5,SAND_ATTACK + db 12,QUICK_ATTACK + db 21,WHIRLWIND + db 31,WING_ATTACK + db 44,AGILITY + db 54,MIRROR_MOVE + db 0 +Mon121_EvosMoves: +;STARMIE +;Evolutions + db 0 +;Learnset + db 0 +Mon001_EvosMoves: +;BULBASAUR +;Evolutions + db EV_LEVEL,16,IVYSAUR + db 0 +;Learnset + db 7,LEECH_SEED + db 13,VINE_WHIP + db 20,POISONPOWDER + db 27,RAZOR_LEAF + db 34,GROWTH + db 41,SLEEP_POWDER + db 48,SOLARBEAM + db 0 +Mon003_EvosMoves: +;VENUSAUR +;Evolutions + db 0 +;Learnset + db 7,LEECH_SEED + db 13,VINE_WHIP + db 22,POISONPOWDER + db 30,RAZOR_LEAF + db 43,GROWTH + db 55,SLEEP_POWDER + db 65,SOLARBEAM + db 0 +Mon073_EvosMoves: +;TENTACRUEL +;Evolutions + db 0 +;Learnset + db 7,SUPERSONIC + db 13,WRAP + db 18,POISON_STING + db 22,WATER_GUN + db 27,CONSTRICT + db 35,BARRIER + db 43,SCREECH + db 50,HYDRO_PUMP + db 0 + +Mon179_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 +Mon118_EvosMoves: +;GOLDEEN +;Evolutions + db EV_LEVEL,33,SEAKING + db 0 +;Learnset + db 19,SUPERSONIC + db 24,HORN_ATTACK + db 30,FURY_ATTACK + db 37,WATERFALL + db 45,HORN_DRILL + db 54,AGILITY + db 0 +Mon119_EvosMoves: +;SEAKING +;Evolutions + db 0 +;Learnset + db 19,SUPERSONIC + db 24,HORN_ATTACK + db 30,FURY_ATTACK + db 39,WATERFALL + db 48,HORN_DRILL + db 54,AGILITY + db 0 + +Mon180_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 + +Mon181_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 + +Mon182_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 + +Mon183_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 +Mon077_EvosMoves: +;PONYTA +;Evolutions + db EV_LEVEL,40,RAPIDASH + db 0 +;Learnset + db 30,TAIL_WHIP + db 32,STOMP + db 35,GROWL + db 39,FIRE_SPIN + db 43,TAKE_DOWN + db 48,AGILITY + db 0 +Mon078_EvosMoves: +;RAPIDASH +;Evolutions + db 0 +;Learnset + db 30,TAIL_WHIP + db 32,STOMP + db 35,GROWL + db 39,FIRE_SPIN + db 47,TAKE_DOWN + db 55,AGILITY + db 0 +Mon019_EvosMoves: +;RATTATA +;Evolutions + db EV_LEVEL,20,RATICATE + db 0 +;Learnset + db 7,QUICK_ATTACK + db 14,HYPER_FANG + db 23,FOCUS_ENERGY + db 34,SUPER_FANG + db 0 +Mon020_EvosMoves: +;RATICATE +;Evolutions + db 0 +;Learnset + db 7,QUICK_ATTACK + db 14,HYPER_FANG + db 27,FOCUS_ENERGY + db 41,SUPER_FANG + db 0 +Mon033_EvosMoves: +;NIDORINO +;Evolutions + db EV_ITEM,MOON_STONE,1,NIDOKING + db 0 +;Learnset + db 8,HORN_ATTACK + db 14,POISON_STING + db 23,FOCUS_ENERGY + db 32,FURY_ATTACK + db 41,HORN_DRILL + db 50,DOUBLE_KICK + db 0 +Mon030_EvosMoves: +;NIDORINA +;Evolutions + db EV_ITEM,MOON_STONE,1,NIDOQUEEN + db 0 +;Learnset + db 8,SCRATCH + db 14,POISON_STING + db 23,TAIL_WHIP + db 32,BITE + db 41,FURY_SWIPES + db 50,DOUBLE_KICK + db 0 +Mon074_EvosMoves: +;GEODUDE +;Evolutions + db EV_LEVEL,25,GRAVELER + db 0 +;Learnset + db 11,DEFENSE_CURL + db 16,ROCK_THROW + db 21,SELFDESTRUCT + db 26,HARDEN + db 31,EARTHQUAKE + db 36,EXPLOSION + db 0 +Mon137_EvosMoves: +;PORYGON +;Evolutions + db 0 +;Learnset + db 23,PSYBEAM + db 28,RECOVER + db 35,AGILITY + db 42,TRI_ATTACK + db 0 +Mon142_EvosMoves: +;AERODACTYL +;Evolutions + db 0 +;Learnset + db 33,SUPERSONIC + db 38,BITE + db 45,TAKE_DOWN + db 54,HYPER_BEAM + db 0 + +Mon184_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 +Mon081_EvosMoves: +;MAGNEMITE +;Evolutions + db EV_LEVEL,30,MAGNETON + db 0 +;Learnset + db 21,SONICBOOM + db 25,THUNDERSHOCK + db 29,SUPERSONIC + db 35,THUNDER_WAVE + db 41,SWIFT + db 47,SCREECH + db 0 + +Mon185_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 + +Mon186_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 +Mon004_EvosMoves: +;CHARMANDER +;Evolutions + db EV_LEVEL,16,CHARMELEON + db 0 +;Learnset + db 9,EMBER + db 15,LEER + db 22,RAGE + db 30,SLASH + db 38,FLAMETHROWER + db 46,FIRE_SPIN + db 0 +Mon007_EvosMoves: +;SQUIRTLE +;Evolutions + db EV_LEVEL,16,WARTORTLE + db 0 +;Learnset + db 8,BUBBLE + db 15,WATER_GUN + db 22,BITE + db 28,WITHDRAW + db 35,SKULL_BASH + db 42,HYDRO_PUMP + db 0 +Mon005_EvosMoves: +;CHARMELEON +;Evolutions + db EV_LEVEL,36,CHARIZARD + db 0 +;Learnset + db 9,EMBER + db 15,LEER + db 24,RAGE + db 33,SLASH + db 42,FLAMETHROWER + db 56,FIRE_SPIN + db 0 +Mon008_EvosMoves: +;WARTORTLE +;Evolutions + db EV_LEVEL,36,BLASTOISE + db 0 +;Learnset + db 8,BUBBLE + db 15,WATER_GUN + db 24,BITE + db 31,WITHDRAW + db 39,SKULL_BASH + db 47,HYDRO_PUMP + db 0 +Mon006_EvosMoves: +;CHARIZARD +;Evolutions + db 0 +;Learnset + db 9,EMBER + db 15,LEER + db 24,RAGE + db 36,SLASH + db 46,FLAMETHROWER + db 55,FIRE_SPIN + db 0 + +Mon187_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 + +Mon188_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 + +Mon189_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 + +Mon190_EvosMoves: +;MISSINGNO +;Evolutions + db 0 +;Learnset + db 0 +Mon043_EvosMoves: +;ODDISH +;Evolutions + db EV_LEVEL,21,GLOOM + db 0 +;Learnset + db 15,POISONPOWDER + db 17,STUN_SPORE + db 19,SLEEP_POWDER + db 24,ACID + db 33,PETAL_DANCE + db 46,SOLARBEAM + db 0 +Mon044_EvosMoves: +;GLOOM +;Evolutions + db EV_ITEM,LEAF_STONE ,1,VILEPLUME + db 0 +;Learnset + db 15,POISONPOWDER + db 17,STUN_SPORE + db 19,SLEEP_POWDER + db 28,ACID + db 38,PETAL_DANCE + db 52,SOLARBEAM + db 0 +Mon045_EvosMoves: +;VILEPLUME +;Evolutions + db 0 +;Learnset + db 15,POISONPOWDER + db 17,STUN_SPORE + db 19,SLEEP_POWDER + db 0 +Mon069_EvosMoves: +;BELLSPROUT +;Evolutions + db EV_LEVEL,21,WEEPINBELL + db 0 +;Learnset + db 13,WRAP + db 15,POISONPOWDER + db 18,SLEEP_POWDER + db 21,STUN_SPORE + db 26,ACID + db 33,RAZOR_LEAF + db 42,SLAM + db 0 +Mon070_EvosMoves: +;WEEPINBELL +;Evolutions + db EV_ITEM,LEAF_STONE ,1,VICTREEBEL + db 0 +;Learnset + db 13,WRAP + db 15,POISONPOWDER + db 18,SLEEP_POWDER + db 23,STUN_SPORE + db 29,ACID + db 38,RAZOR_LEAF + db 49,SLAM + db 0 +Mon071_EvosMoves: +;VICTREEBEL +;Evolutions + db 0 +;Learnset + db 13,WRAP + db 15,POISONPOWDER + db 18,SLEEP_POWDER + db 0 + +INCBIN "baserom.gbc",$3b9ec,$3baa2 - $3b9ec + +UnnamedText_3baa2: ; 0x3baa2 + TX_FAR _UnnamedText_3baa2 + db $50 +; 0x3baa2 + 5 bytes + +UnnamedText_3baa7: ; 0x3baa7 + TX_FAR _UnnamedText_3baa7 + db $50 +; 0x3baa7 + 5 bytes + +UnnamedText_3baac: ; 0x3baac + TX_FAR _UnnamedText_3baac + db $50 +; 0x3baac + 5 bytes + +INCBIN "baserom.gbc",$3bab1,$3bb92 - $3bab1 + +UnnamedText_3bb92: ; 0x3bb92 + TX_FAR _UnnamedText_3bb92 + db $50 +; 0x3bb92 + 5 bytes + +INCBIN "baserom.gbc",$3bb97,$3bbd7 - $3bb97 + +UnnamedText_3bbd7: ; 0x3bbd7 + TX_FAR _UnnamedText_3bbd7 + db $50 +; 0x3bbd7 + 5 bytes + +UnnamedText_3bbdc: ; 0x3bbdc + TX_FAR _UnnamedText_3bbdc + db $50 +; 0x3bbdc + 5 bytes + +INCBIN "baserom.gbc",$3bbe1,$41f + +SECTION "bankF",DATA,BANK[$F] + +; These are move effects (second value from the Moves table in bank $E). +EffectsArray1: ; 4000 + db $18,$19,$1C,$2E,$2F,$31,$38,$39,$40,$41,$42,$43,$4F,$52,$54,$55,$FF +EffectsArray2: ; 4011 +; moves that do damage but not through normal calculations +; e.g., Super Fang, Psywave + db $28,$29,$FF +EffectsArray3: ; 4014 +; non-damaging, stat‐affecting or status‐causing moves? +; e.g., Meditate, Bide, Hypnosis + db $01,$0A,$0B,$0C,$0D,$0E,$0F,$12,$13,$14,$15,$16,$17,$1A,$20,$32,$33,$34,$35,$36,$37,$3A,$3B,$3C,$3D,$3E,$3F,$FF +EffectsArray4: ; 4030 + db $03,$07,$08,$10,$1D,$1E,$2C,$30,$4D,$51,$FF +EffectsArray5: ; 403B + db $03,$07,$08,$10,$11,$1D,$1E,$27,$28,$29,$2B,$2C,$2D,$30 ; fallthru +EffectsArray5B: ; 4049 +; moves that prevent the player from switching moves? + db $1B,$2A,$FF + +INCBIN "baserom.gbc",$3c04c,$3c1a8 - $3c04c + +UnnamedText_3c1a8: ; 0x3c1a8 + TX_FAR _UnnamedText_3c1a8 + db $50 +; 0x3c1a8 + 5 bytes + +INCBIN "baserom.gbc",$3c1ad,$3c229 - $3c1ad + +UnnamedText_3c229: ; 0x3c229 + TX_FAR _UnnamedText_3c229 + db $50 +; 0x3c229 + 5 bytes + +UnnamedText_3c22e: ; 0x3c22e + TX_FAR _UnnamedText_3c22e + db $50 +; 0x3c22e + 5 bytes + +INCBIN "baserom.gbc",$3c233,$3c42e - $3c233 + +UnnamedText_3c42e: ; 0x3c42e + TX_FAR _UnnamedText_3c42e + db $50 +; 0x3c42e + 5 bytes + +UnnamedText_3c433: ; 0x3c433 + TX_FAR _UnnamedText_3c433 + db $50 +; 0x3c433 + 5 bytes + +UnnamedText_3c438: ; 0x3c438 + TX_FAR _UnnamedText_3c438 + db $50 +; 0x3c438 + 5 bytes + +INCBIN "baserom.gbc",$3c43d,$3c63e - $3c43d + +UnnamedText_3c63e: ; 0x3c63e + TX_FAR _UnnamedText_3c63e + db $50 +; 0x3c63e + 5 bytes + +INCBIN "baserom.gbc",$3c643,$3c6e4 - $3c643 + +UnnamedText_3c6e4: ; 0x3c6e4 + TX_FAR _UnnamedText_3c6e4 + db $50 +; 0x3c6e4 + 5 bytes + +UnnamedText_3c6e9: ; 0x3c6e9 + TX_FAR _UnnamedText_3c6e9 + db $50 +; 0x3c6e9 + 5 bytes + +INCBIN "baserom.gbc",$3c6ee,$3c796 - $3c6ee + +UnnamedText_3c796: ; 0x3c796 + TX_FAR _UnnamedText_3c796 + db $50 +; 0x3c796 + 5 bytes + +INCBIN "baserom.gbc",$3c79b,$3c7d3 - $3c79b + +UnnamedText_3c7d3: ; 0x3c7d3 + TX_FAR _UnnamedText_3c7d3 + db $50 +; 0x3c7d3 + 5 bytes + +INCBIN "baserom.gbc",$3c7d8,$3c884 - $3c7d8 + +UnnamedText_3c884: ; 0x3c884 + TX_FAR _UnnamedText_3c884 + db $50 +; 0x3c884 + 5 bytes + +UnnamedText_3c889: ; 0x3c889 + TX_FAR _UnnamedText_3c889 + db $50 +; 0x3c889 + 5 bytes + +UnnamedText_3c88e: ; 0x3c88e + TX_FAR _UnnamedText_3c88e + db $50 +; 0x3c88e + 5 bytes + +INCBIN "baserom.gbc",$3c893,$7b + +; XXX this needs cleaning up. it's what runs when a juggler switches pokemon +EnemySendOut: ; 490E + ld hl,$D058 + xor a + ld [hl],a + ld a,[$CC2F] + ld c,a + ld b,1 + push bc + ld a,$10 + call Predef + ld hl,$CCF5 + xor a + ld [hl],a + pop bc + ld a,$10 + call Predef + xor a + ld hl,$D065 + ld [hli],a + ld [hli],a + ld [hli],a + ld [hli],a + ld [hl],a + ld [$D072],a + ld [$CCEF],a + ld [$CCF3],a + ld hl,$CCF1 + ld [hli],a + ld [hl],a + dec a + ld [W_AICOUNT],a + ld hl,W_PLAYERBATTSTATUS1 + res 5,[hl] + ld hl,$C3B2 + ld a,8 + call $48DF + call $6E94 + call $3719 + ld a,[$D12B] + cp 4 + jr nz,.next\@ + ld a,[$CC3E] + sub 4 + ld [$CF92],a + jr .next3\@ +.next\@ + ld b,$FF +.next2\@ + inc b + ld a,[$CFE8] + cp b + jr z,.next2\@ + ld hl,$D8A4 + ld a,b + ld [$CF92],a + push bc + ld bc,$2C + call AddNTimes + pop bc + inc hl + ld a,[hli] + ld c,a + ld a,[hl] + or c + jr z,.next2\@ +.next3\@ + ld a,[$CF92] + ld hl,$D8C5 + ld bc,$2C + call AddNTimes + ld a,[hl] + ld [$D127],a + ld a,[$CF92] + inc a + ld hl,$D89C + ld c,a + ld b,0 + add hl,bc + ld a,[hl] + ld [$CFD8],a + ld [$CF91],a + call $6B01 + ld hl,$CFE6 + ld a,[hli] + ld [$CCE3],a + ld a,[hl] + ld [$CCE4],a + ld a,1 + ld [$CC26],a + ld a,[$D11D] + dec a + jr z,.next4\@ + ld a,[W_NUMINPARTY] + dec a + jr z,.next4\@ + ld a,[$D12B] + cp 4 + jr z,.next4\@ + ld a,[$D355] + bit 6,a + jr nz,.next4\@ + ld hl, TrainerAboutToUseText + call PrintText + ld hl,$C42C + ld bc,$0801 + ld a,$14 + ld [$D125],a + call $30E8 + ld a,[$CC26] + and a + jr nz,.next4\@ + ld a,2 + ld [$D07D],a + call $13FC +.next9\@ + ld a,1 + ld [$CC26],a + jr c,.next7\@ + ld hl,$CC2F + ld a,[$CF92] + cp [hl] + jr nz,.next6\@ + ld hl,$51F5 + call PrintText +.next8\@ + call $1411 + jr .next9\@ +.next6\@ + call $4A97 + jr z,.next8\@ + xor a + ld [$CC26],a +.next7\@ + call $3DE5 + call $6E5B + call $3725 +.next4\@ + call $0082 + ld hl,$C3A0 + ld bc,$040B + call $18C4 + ld b,1 + call $3DEF + call $3DDC + ld hl,TrainerSentOutText + call PrintText + ld a,[$CFD8] + ld [$CF91],a + ld [$D0B5],a + call $1537 + ld de,$9000 + call $1665 + ld a,$CF + ld [$FFE1],a + ld hl,$C427 + ld a,2 + call Predef + ld a,[$CFD8] + call $13D0 + call $4DEC + ld a,[$CC26] + and a + ret nz + xor a + ld [$D058],a + ld [$CCF5],a + call $3719 + jp $51BA + +TrainerAboutToUseText: ; 0x3ca79 + TX_FAR _TrainerAboutToUseText + db "@" + +TrainerSentOutText: ; 0x3ca7e + TX_FAR _TrainerSentOutText + db "@" + +INCBIN "baserom.gbc",$3ca83,$3cab4 - $3ca83 + +UnnamedText_3cab4: ; 0x3cab4 + TX_FAR _UnnamedText_3cab4 + db $50 +; 0x3cab4 + 5 bytes + +INCBIN "baserom.gbc",$3cab9,$3cb97 - $3cab9 + +UnnamedText_3cb97: ; 0x3cb97 + TX_FAR _UnnamedText_3cb97 + db $50 +; 0x3cb97 + 5 bytes + +UnnamedText_3cb9c: ; 0x3cb9c + TX_FAR _UnnamedText_3cb9c + db $50 +; 0x3cb9c + 5 bytes + +UnnamedText_3cba1: ; 0x3cba1 + TX_FAR _UnnamedText_3cba1 + db $50 +; 0x3cba1 + 5 bytes + +INCBIN "baserom.gbc",$3cba6,$3d0c5 - $3cba6 + +UnnamedText_3d0c5: ; 0x3d0c5 + TX_FAR _UnnamedText_3d0c5 + db $50 +; 0x3d0c5 + 5 bytes + +INCBIN "baserom.gbc",$3d0ca,$3d1f5 - $3d0ca + +UnnamedText_3d1f5: ; 0x3d1f5 + TX_FAR _UnnamedText_3d1f5 + db $50 +; 0x3d1f5 + 5 bytes + +INCBIN "baserom.gbc",$3d1fa,$3d3ae - $3d1fa + +UnnamedText_3d3ae: ; 0x3d3ae + TX_FAR _UnnamedText_3d3ae + db $50 +; 0x3d3ae + 5 bytes + +UnnamedText_3d3b3: ; 0x3d3b3 + TX_FAR _UnnamedText_3d3b3 + db $50 +; 0x3d3b3 + 5 bytes + +INCBIN "baserom.gbc",$3d3b8,$3d430 - $3d3b8 + +UnnamedText_3d430: ; 0x3d430 + TX_FAR _UnnamedText_3d430 + db $50 +; 0x3d430 + 5 bytes + +INCBIN "baserom.gbc",$3d435,$274 + +; in-battle stuff + ld hl,W_PLAYERBATTSTATUS1 + res 4,[hl] + res 6,[hl] + call $5AF5 + ld hl,DecrementPP + ld de,$CCDC ; pointer to the move just used + ld b,BANK(DecrementPP) + call Bankswitch + ld a,[W_PLAYERMOVEEFFECT] ; effect of the move just used + ld hl,EffectsArray1 + ld de,1 + call IsInArray + jp c,$7132 + ld a,[W_PLAYERMOVEEFFECT] + ld hl,EffectsArray5B + ld de,1 + call IsInArray + call c,$7132 + ld a,[W_PLAYERMOVEEFFECT] + ld hl,EffectsArray2 + ld de,1 + call IsInArray + jp c,$5702 + call $6023 + call $6093 + jr z,.next11\@ + call $5DCF + call $5F65 + jp z,$574B + call $63A5 + call $6687 + call $656B +.next11\@ + ld a,[W_MOVEMISSED] + and a + jr z,.next\@ + ld a,[W_PLAYERMOVEEFFECT] + sub a,7 + jr z,.next2\@ + jr .next3\@ ; 574B +.next\@ + ld a,[W_PLAYERMOVEEFFECT] + and a + ld a,4 + jr z,.next2\@ + ld a,5 +.next2\@ + push af + ld a,[W_PLAYERBATTSTATUS2] + bit 4,a + ld hl,$5747 + ld b,$1E + call nz,Bankswitch + pop af + ld [$CC5B],a + ld a,[W_PLAYERMOVENUM] + call $6F07 + call $6ED3 + call $4D60 + ld a,[W_PLAYERBATTSTATUS2] + bit 4,a + ld hl,$5771 + ld b,$1E + call nz,Bankswitch + jr .next4\@ +.next3\@ + ld c,$1E + call $3739 + ld a,[W_PLAYERMOVEEFFECT] + cp a,$2B + jr z,.next5\@ + cp a,$27 ; XXX SLP | FRZ ? + jr z,.next5\@ + jr .next4\@ +.next5\@ + xor a + ld [$CC5B],a + ld a,$A7 + call $6F07 +.next4\@ + ld a,[W_PLAYERMOVEEFFECT] + cp a,9 + jr nz,.next6\@ ; 577A + call $62FD + jp z,Function580A + xor a + ld [$CCED],a + jp $569A +.next6\@ + cp a,$53 + jr nz,.next7\@ ; 5784 + call $6348 + jp $569A +.next7\@ + ld a,[W_PLAYERMOVEEFFECT] + ld hl,EffectsArray3 + ld de,1 + call IsInArray + jp c,$7132 + ld a,[W_MOVEMISSED] + and a + jr z,.next8\@ ; 57A6 + call $5BE2 + ld a,[W_PLAYERMOVEEFFECT] + cp a,7 + jr z,.next9\@ ; 57B9 + jp Function580A +.next8\@ + call $60DF + call $5C5C + ld hl,$7B7B ; MyFunction + ld b,$B ; BANK(MyFunction) + call Bankswitch + ld a,1 + ld [$CCF4],a +.next9\@ + ld a,[W_PLAYERMOVEEFFECT] + ld hl,EffectsArray4 + ld de,1 + call IsInArray + call c,$7132 + ld hl,$CFE6 + ld a,[hli] + ld b,[hl] + or b + ret z + call $62B6 + + ld hl,W_PLAYERBATTSTATUS1 + bit 2,[hl] + jr z,.next10\@ ; 57EF + ld a,[$D06A] + dec a + ld [$D06A],a + jp nz,$5714 + + res 2,[hl] + ld hl,MultiHitText + call PrintText + xor a + ld [W_NUMHITS],a ; reset +.next10\@ + ld a,[W_PLAYERMOVEEFFECT] + and a + jp z,Function580A + ld hl,EffectsArray5 + ld de,1 + call IsInArray + call nc,$7132 + jp Function580A + +MultiHitText: ; 0x3d805 + TX_FAR _MultiHitText + db "@" + +Function580A: ; 0x3d80a 580A + xor a + ld [$CD6A],a + ld b,1 + ret + +Function5811: ; 0x3d811 5811 +; print the ghost battle messages + call $583A + ret nz + ld a,[H_WHOSETURN] + and a + jr nz,.Ghost\@ + ld a,[W_PLAYERMONSTATUS] ; player’s turn + and a,SLP | FRZ + ret nz + ld hl,ScaredText + call PrintText + xor a + ret +.Ghost\@ ; ghost’s turn + ld hl,GetOutText + call PrintText + xor a + ret + +ScaredText: ; 0x3d830 + TX_FAR _ScaredText + db "@" + +GetOutText: ; 0x3d835 + TX_FAR _GetOutText + db "@" + +Function583A: ; 0x3d83a 583A + ld a,[W_ISINBATTLE] + dec a + ret nz + ld a,[W_CURMAP] + cp a,$8E ; Lavender Town + jr c,.next\@ + cp a,$95 ; Pokémon Tower + jr nc,.next\@ + ld b,SILPH_SCOPE + call IsItemInBag ; $3493 + ret z +.next\@ + ld a,1 + and a + ret + +Function5854: ; 5854 + ld hl,W_PLAYERMONSTATUS + ld a,[hl] + and a,SLP + jr z,.FrozenCheck\@ ; to 5884 + + dec a + ld [W_PLAYERMONSTATUS],a ; decrement sleep count + and a + jr z,.WakeUp\@ ; to 5874 + + xor a + ld [$CC5B],a + ld a,SLP_ANIM - 1 + call $6F07 + ld hl,FastAsleepText + call PrintText + jr .sleepDone\@ +.WakeUp\@ + ld hl,WokeUpText + call PrintText +.sleepDone\@ + xor a + ld [$CCF1],a + ld hl,Function580A + jp $5A37 + +.FrozenCheck\@ + bit 5,[hl] ; frozen? + jr z,.HeldInPlaceCheck\@ ; to 5898 + ld hl,FrozenText + call PrintText + xor a + ld [$CCF1],a + ld hl,Function580A + jp $5A37 + +.HeldInPlaceCheck\@ + ld a,[W_ENEMYBATTSTATUS1] + bit 5,a + jp z,FlinchedCheck + ld hl,CantMoveText + call PrintText + ld hl,Function580A + jp $5A37 + +FlinchedCheck: ; 58AC + ld hl,W_PLAYERBATTSTATUS1 + bit 3,[hl] + jp z,HyperBeamCheck + res 3,[hl] + ld hl,FlinchedText + call PrintText + ld hl,Function580A + jp $5A37 + +HyperBeamCheck: ; 58C2 + ld hl,W_PLAYERBATTSTATUS2 + bit 5,[hl] + jr z,.next\@ ; 58D7 + res 5,[hl] + ld hl,MustRechargeText + call PrintText + ld hl,$580A + jp $5A37 +.next\@ + ld hl,$D06D + ld a,[hl] + and a + jr z,.next2\@ ; 58EE + dec a + ld [hl],a + and a,$F + jr nz,.next2\@ + ld [hl],a + ld [$CCEE],a + ld hl,DisabledNoMoreText + call PrintText +.next2\@ + ld a,[W_PLAYERBATTSTATUS1] + add a + jr nc,.next3\@ ; 5929 + ld hl,$D06B + dec [hl] + jr nz,.next4\@ ; 5907 + ld hl,W_PLAYERBATTSTATUS1 + res 7,[hl] + ld hl,ConfusedNoMoreText + call PrintText + jr .next3\@ +.next4\@ + ld hl,IsConfusedText + call PrintText + xor a + ld [$CC5B],a + ld a,CONF_ANIM - 1 + call $6F07 + call $6E9B + cp a,$80 + jr c,.next3\@ + ld hl,W_PLAYERBATTSTATUS1 + ld a,[hl] + and a,$80 + ld [hl],a + call $5AAD + jr .next5\@ ; 5952 +.next3\@ + ld a,[$CCEE] + and a + jr z,.ParalysisCheck\@ ; 593E + ld hl,$CCDC + cp [hl] + jr nz,.ParalysisCheck\@ + call $5A88 + ld hl,$580A + jp $5A37 +.ParalysisCheck\@ + ld hl,W_PLAYERMONSTATUS + bit 6,[hl] + jr z,.next7\@ ; 5975 + call $6E9B ; random number? + cp a,$3F + jr nc,.next7\@ + ld hl,FullyParalyzedText + call PrintText +.next5\@ + ld hl,W_PLAYERBATTSTATUS1 + ld a,[hl] + and a,$CC + ld [hl],a + ld a,[W_PLAYERMOVEEFFECT] + cp a,$2B + jr z,.next8\@ ; 5966 + cp a,$27 + jr z,.next8\@ + jr .next9\@ ; 596F +.next8\@ + xor a + ld [$CC5B],a + ld a,$A7 + call $6F07 +.next9\@ + ld hl,$580A + jp $5A37 +.next7\@ + ld hl,W_PLAYERBATTSTATUS1 + bit 0,[hl] + jr z,.next10\@ ; 59D0 + xor a + ld [W_PLAYERMOVENUM],a + ld hl,$D0D7 + ld a,[hli] + ld b,a + ld c,[hl] + ld hl,$D075 + ld a,[hl] + add c + ld [hld],a + ld a,[hl] + adc b + ld [hl],a + ld hl,$D06A + dec [hl] + jr z,.next11\@ ; 599B + ld hl,$580A + jp $5A37 +.next11\@ + ld hl,W_PLAYERBATTSTATUS1 + res 0,[hl] + ld hl,UnleashedEnergyText + call PrintText + ld a,1 + ld [$CFD4],a + ld hl,$D075 + ld a,[hld] + add a + ld b,a + ld [$D0D8],a + ld a,[hl] + rl a + ld [$D0D7],a + or b + jr nz,.next12\@ ; 59C2 + ld a,1 + ld [W_MOVEMISSED],a +.next12\@ + xor a + ld [hli],a + ld [hl],a + ld a,$75 + ld [W_PLAYERMOVENUM],a + ld hl,$5705 + jp $5A37 +.next10\@ + bit 1,[hl] + jr z,.next13\@ ; 59FF + ld a,$25 + ld [W_PLAYERMOVENUM],a + ld hl,ThrashingAboutText + call PrintText + ld hl,$D06A + dec [hl] + ld hl,$56DC + jp nz,$5A37 + push hl + ld hl,W_PLAYERBATTSTATUS1 + res 1,[hl] + set 7,[hl] + call $6E9B ; random number? + and a,3 + inc a + inc a + ld [$D06B],a + pop hl + jp $5A37 +.next13\@ + bit 5,[hl] + jp z,$5A1A + ld hl,AttackContinuesText + call PrintText + ld a,[$D06A] + dec a + ld [$D06A],a + ld hl,$5714 + jp nz,$5A37 + jp $5A37 + +INCBIN "baserom.gbc",$3DA1A,$3DA3D - $3DA1A + +FastAsleepText: + TX_FAR _FastAsleepText + db "@" + +WokeUpText: + TX_FAR _WokeUpText + db "@" + +FrozenText: + TX_FAR _FrozenText + db "@" + +FullyParalyzedText: + TX_FAR _FullyParalyzedText + db "@" + +FlinchedText: + TX_FAR _FlinchedText + db "@" + +MustRechargeText: + TX_FAR _MustRechargeText + db "@" + +DisabledNoMoreText: + TX_FAR _DisabledNoMoreText + db "@" + +IsConfusedText: + TX_FAR _IsConfusedText + db "@" + +HurtItselfText: + TX_FAR _HurtItselfText + db "@" + +ConfusedNoMoreText: + TX_FAR _ConfusedNoMoreText + db "@" + +SavingEnergyText: + TX_FAR _SavingEnergyText + db "@" + +UnleashedEnergyText: + TX_FAR _UnleashedEnergyText + db "@" + +ThrashingAboutText: + TX_FAR _ThrashingAboutText + db "@" + +AttackContinuesText: + TX_FAR _AttackContinuesText + db "@" + +CantMoveText: + TX_FAR _CantMoveText + db "@" + +INCBIN "baserom.gbc",$3da88,$3daa8 - $3da88 + +UnnamedText_3daa8: ; 0x3daa8 + TX_FAR _UnnamedText_3daa8 + db $50 +; 0x3daa8 + 5 bytes + +INCBIN "baserom.gbc",$3daad,$3db6c - $3daad + +UnnamedText_3db6c: ; 0x3db6c + TX_FAR _UnnamedText_3db6c + db $50 +; 0x3db6c + 5 bytes + +UnnamedText_3db71: ; 0x3db71 + TX_FAR _UnnamedText_3db71 + db $50 +; 0x3db71 + 5 bytes + +UnnamedText_3db76: ; 0x3db76 + TX_FAR _UnnamedText_3db76 + db $50 +; 0x3db76 + 5 bytes + +UnnamedText_3db7b: ; 0x3db7b + TX_FAR _UnnamedText_3db7b + db $50 +; 0x3db7b + 5 bytes + +UnnamedText_3db80: ; 0x3db80 + TX_FAR _UnnamedText_3db80 + db $50 +; 0x3db80 + 5 bytes + +INCBIN "baserom.gbc",$3db85,$3dc42 - $3db85 + +UnnamedText_3dc42: ; 0x3dc42 + TX_FAR _UnnamedText_3dc42 + db $50 +; 0x3dc42 + 5 bytes + +UnnamedText_3dc47: ; 0x3dc47 + TX_FAR _UnnamedText_3dc47 + db $50 +; 0x3dc47 + 5 bytes + +UnnamedText_3dc4c: ; 0x3dc4c + TX_FAR _UnnamedText_3dc4c + db $50 +; 0x3dc4c + 5 bytes + +INCBIN "baserom.gbc",$3dc51,$3dc57 - $3dc51 + +UnnamedText_3dc57: ; 0x3dc57 + TX_FAR _UnnamedText_3dc57 + db $50 +; 0x3dc57 + 5 bytes + +INCBIN "baserom.gbc",$3dc5c,$3dc7e - $3dc5c + +UnnamedText_3dc7e: ; 0x3dc7e + TX_FAR _UnnamedText_3dc7e + db $50 +; 0x3dc7e + 5 bytes + +UnnamedText_3dc83: ; 0x3dc83 + TX_FAR _UnnamedText_3dc83 + db $50 +; 0x3dc83 + 5 bytes + +INCBIN "baserom.gbc",$3dc88,$3ddb6 - $3dc88 + +UnnamedText_3ddb6: ; 0x3ddb6 + TX_FAR _UnnamedText_3ddb6 + db $50 +; 0x3ddb6 + 5 bytes + +UnnamedText_3ddbb: ; 0x3ddbb + TX_FAR _UnnamedText_3ddbb + db $50 +; 0x3ddbb + 5 bytes + +UnnamedText_3ddc0: ; 0x3ddc0 + TX_FAR _UnnamedText_3ddc0 + db $50 +; 0x3ddc0 + 5 bytes + +UnnamedText_3ddc5: ; 0x3ddc5 + TX_FAR _UnnamedText_3ddc5 + db $50 +; 0x3ddc5 + 5 bytes + +UnnamedText_3ddca: ; 0x3ddca + TX_FAR _UnnamedText_3ddca + db $50 +; 0x3ddca + 5 bytes + +INCBIN "baserom.gbc",$3ddcf,$3e04f - $3ddcf + +; azure heights claims "the fastest pokémon (who are,not coincidentally, +; among the most popular) tend to CH about 20 to 25% of the time." +CriticalHitProbability: ; 0x3e04f + ld a, [hld] ; read base power from RAM + and a + ret z ; do nothing if zero + dec hl + ld c, [hl] ; read move id + ld a, [de] + bit 2, a + jr nz, .asm_3e061 + sla b + jr nc, .asm_3e063 + ld b, $ff + jr .asm_3e063 +.asm_3e061 + srl b +.asm_3e063 + ld hl, HighCriticalMoves ; table of high critical hit moves +.Loop + ld a, [hli] ; read move from move table + cp c ; does it match the move about to be used? + jr z, .HighCritical ; if so, the move about to be used is a high critical hit ratio move + inc a ; move on to the next move, FF terminates loop + jr nz, .Loop ; check the next move in HighCriticalMoves + srl b ; /2 for regular move (effective 1/512?) + jr .SkipHighCritical ; continue as a normal move +.HighCritical + sla b ; *2 for high critical hit moves + jr nc, .asm_3e077 + ld b, $ff ; set to FF (max) on overflow +.asm_3e077 + sla b ; *4 for high critical move (effective 1/64?) + jr nc, .SkipHighCritical + ld b, $ff +.SkipHighCritical + call $6e9b ; probably generates a random value, in "a" + rlc a + rlc a + rlc a + cp b ; check a against $ff + ret nc ; no critical hit if no borrow + ld a, $1 + ld [$d05e], a ; set critical hit flag + ret +; 0x3e08e + +; high critical hit moves +HighCriticalMoves: ; 0x3e08e + db KARATE_CHOP + db RAZOR_LEAF + db CRABHAMMER + db SLASH + db $FF +; 0x3e093 + +; function to determine if Counter hits and if so, how much damage it does +HandleCounterMove: ; 6093 + ld a,[H_WHOSETURN] ; whose turn + and a +; player's turn + ld hl,W_ENEMYSELECTEDMOVE + ld de,W_ENEMYMOVEPOWER + ld a,[W_PLAYERSELECTEDMOVE] + jr z,.next\@ +; enemy's turn + ld hl,W_PLAYERSELECTEDMOVE + ld de,W_PLAYERMOVEPOWER + ld a,[W_ENEMYSELECTEDMOVE] +.next\@ + cp a,COUNTER + ret nz ; return if not using Counter + ld a,$01 + ld [W_MOVEMISSED],a ; initialize the move missed variable to true (it is set to false below if the move hits) + ld a,[hl] + cp a,COUNTER + ret z ; if the target also used Counter, miss + ld a,[de] + and a + ret z ; if the move the target used has 0 power, miss +; check if the move the target used was Normal or Fighting type + inc de + ld a,[de] + and a ; normal type + jr z,.counterableType\@ + cp a,FIGHTING + jr z,.counterableType\@ +; if the move wasn't Normal or Fighting type, miss + xor a + ret +.counterableType\@ + ld hl,W_DAMAGE + ld a,[hli] + or [hl] + ret z ; Counter misses if the target did no damage to the Counter user +; double the damage that the target did to the Counter user + ld a,[hl] + add a + ldd [hl],a + ld a,[hl] + adc a + ld [hl],a + jr nc,.noCarry\@ +; damage is capped at 0xFFFF + ld a,$ff + ld [hli],a + ld [hl],a +.noCarry\@ + xor a + ld [W_MOVEMISSED],a + call MoveHitTest ; do the normal move hit test in addition to Counter's special rules + xor a + ret + +ApplyDamageToEnemyPokemon: ; 60DF + ld a,[W_PLAYERMOVEEFFECT] + cp a,OHKO_EFFECT + jr z,.applyDamage\@ + cp a,SUPER_FANG_EFFECT + jr z,.superFangEffect\@ + cp a,SPECIAL_DAMAGE_EFFECT + jr z,.specialDamage\@ + ld a,[W_PLAYERMOVEPOWER] + and a + jp z,.done\@ + jr .applyDamage\@ +.superFangEffect\@ +; set the damage to half the target's HP + ld hl,W_ENEMYMONCURHP + ld de,W_DAMAGE + ld a,[hli] + srl a + ld [de],a + inc de + ld b,a + ld a,[hl] + rr a + ld [de],a + or b + jr nz,.applyDamage\@ +; make sure Super Fang's damage is always at least 1 + ld a,$01 + ld [de],a + jr .applyDamage\@ +.specialDamage\@ + ld hl,W_PLAYERMONLEVEL + ld a,[hl] + ld b,a + ld a,[W_PLAYERMOVENUM] + cp a,SEISMIC_TOSS + jr z,.storeDamage\@ + cp a,NIGHT_SHADE + jr z,.storeDamage\@ + ld b,SONICBOOM_DAMAGE + cp a,SONICBOOM + jr z,.storeDamage\@ + ld b,DRAGON_RAGE_DAMAGE + cp a,DRAGON_RAGE + jr z,.storeDamage\@ +; Psywave + ld a,[hl] + ld b,a + srl a + add b + ld b,a ; b = level * 1.5 +; loop until a random number in the range [1, b) is found +.loop\@ + call $6e9b ; random number + and a + jr z,.loop\@ + cp b + jr nc,.loop\@ + ld b,a +.storeDamage\@ + ld hl,W_DAMAGE + xor a + ld [hli],a + ld a,b + ld [hl],a +.applyDamage\@ + ld hl,W_DAMAGE + ld a,[hli] + ld b,a + ld a,[hl] + or b + jr z,.done\@ ; we're done if damage is 0 + ld a,[W_ENEMYBATTSTATUS2] + bit 4,a ; does the enemy have a substitute? + jp nz,AttackSubstitute +; subtract the damage from the pokemon's current HP +; also, save the current HP at $CEEB + ld a,[hld] + ld b,a + ld a,[W_ENEMYMONCURHP + 1] + ld [$ceeb],a + sub b + ld [W_ENEMYMONCURHP + 1],a + ld a,[hl] + ld b,a + ld a,[W_ENEMYMONCURHP] + ld [$ceec],a + sbc b + ld [W_ENEMYMONCURHP],a + jr nc,.animateHpBar\@ +; if more damage was done than the current HP, zero the HP and set the damage +; equal to how much HP the pokemon had before the attack + ld a,[$ceec] + ld [hli],a + ld a,[$ceeb] + ld [hl],a + xor a + ld hl,W_ENEMYMONCURHP + ld [hli],a + ld [hl],a +.animateHpBar\@ + ld hl,W_ENEMYMONMAXHP + ld a,[hli] + ld [$ceea],a + ld a,[hl] + ld [$cee9],a + ld hl,W_ENEMYMONCURHP + ld a,[hli] + ld [$ceee],a + ld a,[hl] + ld [$ceed],a + ld hl,$c3ca + xor a + ld [$cf94],a + ld a,$48 + call Predef ; animate the HP bar shortening +.done\@ + jp $4d5a ; redraw pokemon names and HP bars + +ApplyDamageToPlayerPokemon: ; 61A0 + ld a,[W_ENEMYMOVEEFFECT] + cp a,OHKO_EFFECT + jr z,.applyDamage\@ + cp a,SUPER_FANG_EFFECT + jr z,.superFangEffect\@ + cp a,SPECIAL_DAMAGE_EFFECT + jr z,.specialDamage\@ + ld a,[W_ENEMYMOVEPOWER] + and a + jp z,.done\@ + jr .applyDamage\@ +.superFangEffect\@ +; set the damage to half the target's HP + ld hl,W_PLAYERMONCURHP + ld de,W_DAMAGE + ld a,[hli] + srl a + ld [de],a + inc de + ld b,a + ld a,[hl] + rr a + ld [de],a + or b + jr nz,.applyDamage\@ +; make sure Super Fang's damage is always at least 1 + ld a,$01 + ld [de],a + jr .applyDamage\@ +.specialDamage\@ + ld hl,W_ENEMYMONLEVEL + ld a,[hl] + ld b,a + ld a,[W_ENEMYMOVENUM] + cp a,SEISMIC_TOSS + jr z,.storeDamage\@ + cp a,NIGHT_SHADE + jr z,.storeDamage\@ + ld b,SONICBOOM_DAMAGE + cp a,SONICBOOM + jr z,.storeDamage\@ + ld b,DRAGON_RAGE_DAMAGE + cp a,DRAGON_RAGE + jr z,.storeDamage\@ +; Psywave + ld a,[hl] + ld b,a + srl a + add b + ld b,a ; b = attacker's level * 1.5 +; loop until a random number in the range [0, b) is found +; this differs from the range when the player attacks, which is [1, b) +; it's possible for the enemy to do 0 damage with Psywave, but the player always does at least 1 damage +.loop\@ + call $6e9b ; random number + cp b + jr nc,.loop\@ + ld b,a +.storeDamage\@ + ld hl,W_DAMAGE + xor a + ld [hli],a + ld a,b + ld [hl],a +.applyDamage\@ + ld hl,W_DAMAGE + ld a,[hli] + ld b,a + ld a,[hl] + or b + jr z,.done\@ ; we're done if damage is 0 + ld a,[W_PLAYERBATTSTATUS2] + bit 4,a ; does the player have a substitute? + jp nz,AttackSubstitute +; subtract the damage from the pokemon's current HP +; also, save the current HP at $CEEB and the new HP at $CEED + ld a,[hld] + ld b,a + ld a,[W_PLAYERMONCURHP + 1] + ld [$ceeb],a + sub b + ld [W_PLAYERMONCURHP + 1],a + ld [$ceed],a + ld b,[hl] + ld a,[W_PLAYERMONCURHP] + ld [$ceec],a + sbc b + ld [W_PLAYERMONCURHP],a + ld [$ceee],a + jr nc,.animateHpBar\@ +; if more damage was done than the current HP, zero the HP and set the damage +; equal to how much HP the pokemon had before the attack + ld a,[$ceec] + ld [hli],a + ld a,[$ceeb] + ld [hl],a + xor a + ld hl,W_PLAYERMONCURHP + ld [hli],a + ld [hl],a + ld hl,$ceed + ld [hli],a + ld [hl],a +.animateHpBar\@ + ld hl,W_PLAYERMONMAXHP + ld a,[hli] + ld [$ceea],a + ld a,[hl] + ld [$cee9],a + ld hl,$c45e + ld a,$01 + ld [$cf94],a + ld a,$48 + call Predef ; animate the HP bar shortening +.done\@ + jp $4d5a ; redraw pokemon names and HP bars + +AttackSubstitute: ; 625E + ld hl,SubstituteTookDamageText + call PrintText +; values for player turn + ld de,W_ENEMYSUBSITUTEHP + ld bc,W_ENEMYBATTSTATUS2 + ld a,[H_WHOSETURN] + and a + jr z,.applyDamageToSubstitute\@ +; values for enemy turn + ld de,W_PLAYERSUBSITUTEHP + ld bc,W_PLAYERBATTSTATUS2 +.applyDamageToSubstitute\@ + ld hl,W_DAMAGE + ld a,[hli] + and a + jr nz,.substituteBroke\@ ; damage > 0xFF always breaks substitutes +; subtract damage from HP of substitute + ld a,[de] + sub [hl] + ld [de],a + ret nc +.substituteBroke\@ + ld h,b + ld l,c + res 4,[hl] ; unset the substitute bit + ld hl,SubstituteBrokeText + call PrintText +; flip whose turn it is for the next function call + ld a,[H_WHOSETURN] + xor a,$01 + ld [H_WHOSETURN],a + ld hl,$5747 + ld b,$1e ; animate the substitute breaking + call Bankswitch ; substitute +; flip the turn back to the way it was + ld a,[H_WHOSETURN] + xor a,$01 + ld [H_WHOSETURN],a + ld hl,W_PLAYERMOVEEFFECT ; value for player's turn + and a + jr z,.nullifyEffect\@ + ld hl,W_ENEMYMOVEEFFECT ; value for enemy's turn +.nullifyEffect\@ + xor a + ld [hl],a ; zero the effect of the attacker's move + jp $4d5a ; redraw pokemon names and HP bars + +SubstituteTookDamageText: ; 0x3e2ac + TX_FAR _SubstituteTookDamageText + db $50 +; 0x3e2ac + 5 bytes + +SubstituteBrokeText: ; 0x3e2b1 + TX_FAR _SubstituteBrokeText + db $50 +; 0x3e2b1 + 5 bytes + +; this function raises the attack modifier of a pokemon using Rage when that pokemon is attacked +HandleBuildingRage: ; 62B6 +; values for the player turn + ld hl,W_ENEMYBATTSTATUS2 + ld de,W_ENEMYMONATTACKMOD + ld bc,W_ENEMYMOVENUM + ld a,[H_WHOSETURN] + and a + jr z,.next\@ +; values for the enemy turn + ld hl,W_PLAYERBATTSTATUS2 + ld de,W_PLAYERMONATTACKMOD + ld bc,W_PLAYERMOVENUM +.next\@ + bit 6,[hl] ; is the pokemon being attacked under the effect of Rage? + ret z ; return if not + ld a,[de] + cp a,$0d ; maximum stat modifier value + ret z ; return if attack modifier is already maxed + ld a,[H_WHOSETURN] + xor a,$01 ; flip turn for the stat modifier raising function + ld [H_WHOSETURN],a +; change the target pokemon's move to $00 and the effect to the one +; that causes the attack modifier to go up one stage + ld h,b + ld l,c + ld [hl],$00 ; null move number + inc hl + ld [hl],ATTACK_UP1_EFFECT + push hl + ld hl,BuildingRageText + call PrintText + call $7428 ; stat modifier raising function + pop hl + xor a + ldd [hl],a ; null move effect + ld a,RAGE + ld [hl],a ; restore the target pokemon's move number to Rage + ld a,[H_WHOSETURN] + xor a,$01 ; flip turn back to the way it was + ld [H_WHOSETURN],a + ret + +BuildingRageText: ; 0x3e2f8 + TX_FAR _BuildingRageText + db $50 +; 0x3e2f8 + 5 bytes + +; copy last move for Mirror Move +; sets zero flag on failure and unsets zero flag on success +MirrorMoveCopyMove: ; 62FD + ld a,[H_WHOSETURN] + and a +; values for player turn + ld a,[$ccf2] + ld hl,W_PLAYERSELECTEDMOVE + ld de,W_PLAYERMOVENUM + jr z,.next\@ +; values for enemy turn + ld a,[$ccf1] + ld de,W_ENEMYMOVENUM + ld hl,W_ENEMYSELECTEDMOVE +.next\@ + ld [hl],a + cp a,MIRROR_MOVE ; did the target pokemon also use Mirror Move? + jr z,.mirrorMoveFailed\@ + and a ; null move? + jr nz,ReloadMoveData +.mirrorMoveFailed\@ +; Mirror Move fails on itself and null moves + ld hl,MirrorMoveFailedText + call PrintText + xor a + ret + +MirrorMoveFailedText: ; 0x3e324 + TX_FAR _MirrorMoveFailedText + db $50 +; 0x3e324 + 5 bytes + +; function used to reload move data for moves like Mirror Move and Metronome +ReloadMoveData: ; 6329 + ld [$d11e],a + dec a + ld hl,Moves + ld bc,$0006 + call AddNTimes + ld a,BANK(Moves) + call FarCopyData ; copy the move's stats + call IncrementMovePP +; the follow two function calls are used to reload the move name + call $3058 + call $3826 + ld a,$01 + and a + ret + +; function that picks a random move for metronome +MetronomePickMove: ; 6348 + xor a + ld [$cc5b],a + ld a,METRONOME + call PlayMoveAnimation ; play Metronome's animation +; values for player turn + ld de,W_PLAYERMOVENUM + ld hl,W_PLAYERSELECTEDMOVE + ld a,[H_WHOSETURN] + and a + jr z,.pickMoveLoop\@ +; values for enemy turn + ld de,W_ENEMYMOVENUM + ld hl,W_ENEMYSELECTEDMOVE +; loop to pick a random number in the range [1, $a5) to be the move used by Metronome +.pickMoveLoop\@ + call $6e9b ; random number + and a + jr z,.pickMoveLoop\@ + cp a,$a5 ; max normal move number + 1 (this is Struggle's move number) + jr nc,.pickMoveLoop\@ + cp a,METRONOME + jr z,.pickMoveLoop\@ + ld [hl],a + jr ReloadMoveData + +; this function increments the current move's PP +; it's used to prevent moves that run another move within the same turn +; (like Mirror Move and Metronome) from losing 2 PP +IncrementMovePP: ; 6373 + ld a,[H_WHOSETURN] + and a +; values for player turn + ld hl,W_PLAYERMONPP + ld de,W_PARTYMON1_MOVE1PP + ld a,[W_PLAYERMOVELISTINDEX] + jr z,.next\@ +; values for enemy turn + ld hl,W_ENEMYMONPP + ld de,$d8c1 ; enemy party pokemon 1 PP + ld a,[W_ENEMYMOVELISTINDEX] +.next\@ + ld b,$00 + ld c,a + add hl,bc + inc [hl] ; increment PP in the currently battling pokemon memory location + ld h,d + ld l,e + add hl,bc + ld a,[H_WHOSETURN] + and a + ld a,[W_PLAYERMONNUMBER] ; value for player turn + jr z,.next2\@ + ld a,[W_ENEMYMONNUMBER] ; value for enemy turn +.next2\@ + ld bc,$002c + call AddNTimes + inc [hl] ; increment PP in the party memory location + ret + +; function to adjust the base damage of an attack to account for type effectiveness +AdjustDamageForMoveType: ; 63A5 +; values for player turn + ld hl,W_PLAYERMONTYPES + ld a,[hli] + ld b,a ; b = type 1 of attacker + ld c,[hl] ; c = type 2 of attacker + ld hl,W_ENEMYMONTYPES + ld a,[hli] + ld d,a ; d = type 1 of defender + ld e,[hl] ; e = type 2 of defender + ld a,[W_PLAYERMOVETYPE] + ld [$d11e],a + ld a,[H_WHOSETURN] + and a + jr z,.next\@ +; values for enemy turn + ld hl,W_ENEMYMONTYPES + ld a,[hli] + ld b,a ; b = type 1 of attacker + ld c,[hl] ; c = type 2 of attacker + ld hl,W_PLAYERMONTYPES + ld a,[hli] + ld d,a ; d = type 1 of defender + ld e,[hl] ; e = type 2 of defender + ld a,[W_ENEMYMOVETYPE] + ld [$d11e],a +.next\@ + ld a,[$d11e] ; move type + cp b ; does the move type match type 1 of the attacker? + jr z,.sameTypeAttackBonus\@ + cp c ; does the move type match type 2 of the attacker? + jr z,.sameTypeAttackBonus\@ + jr .skipSameTypeAttackBonus\@ +.sameTypeAttackBonus\@ +; if the move type matches one of the attacker's types + ld hl,W_DAMAGE + 1 + ld a,[hld] + ld h,[hl] + ld l,a ; hl = damage + ld b,h + ld c,l ; bc = damage + srl b + rr c ; bc = floor(0.5 * damage) + add hl,bc ; hl = floor(1.5 * damage) +; store damage + ld a,h + ld [W_DAMAGE],a + ld a,l + ld [W_DAMAGE + 1],a + ld hl,$d05b + set 7,[hl] +.skipSameTypeAttackBonus\@ + ld a,[$d11e] + ld b,a ; b = move type + ld hl,TypeEffects +.loop\@ + ld a,[hli] ; a = "attacking type" of the current type pair + cp a,$ff + jr z,.done\@ + cp b ; does move type match "attacking type"? + jr nz,.nextTypePair\@ + ld a,[hl] ; a = "defending type" of the current type pair + cp d ; does type 1 of defender match "defending type"? + jr z,.matchingPairFound\@ + cp e ; does type 2 of defender match "defending type"? + jr z,.matchingPairFound\@ + jr .nextTypePair\@ +.matchingPairFound\@ +; if the move type matches the "attacking type" and one of the defender's types matches the "defending type" + push hl + push bc + inc hl + ld a,[$d05b] + and a,$80 + ld b,a + ld a,[hl] ; a = damage multiplier + ld [H_MULTIPLIER],a + add b + ld [$d05b],a + xor a + ld [H_MULTIPLICAND],a + ld hl,W_DAMAGE + ld a,[hli] + ld [H_MULTIPLICAND + 1],a + ld a,[hld] + ld [H_MULTIPLICAND + 2],a + call $38ac ; multiply + ld a,10 + ld [H_DIVISOR],a + ld b,$04 + call $38b9 ; divide + ld a,[H_QUOTIENT + 2] + ld [hli],a + ld b,a + ld a,[H_QUOTIENT + 3] + ld [hl],a + or b ; is damage 0? + jr nz,.skipTypeImmunity\@ +.typeImmunity\@ +; if damage is 0, make the move miss + inc a + ld [W_MOVEMISSED],a +.skipTypeImmunity\@ + pop bc + pop hl +.nextTypePair\@ + inc hl + inc hl + jp .loop\@ +.done\@ + ret + +; function to tell how effective the type of an enemy attack is on the player's current pokemon +; this doesn't take into account the effects that dual types can have +; (e.g. 4x weakness / resistance, weaknesses and resistances canceling) +; the result is stored in [$D11E] +; ($05 is not very effective, $10 is neutral, $14 is super effective) +; as far is can tell, this is only used once in some AI code to help decide which move to use +AIGetTypeEffectiveness: ; 6449 + ld a,[W_ENEMYMOVETYPE] + ld d,a ; d = type of enemy move + ld hl,W_PLAYERMONTYPES + ld b,[hl] ; b = type 1 of player's pokemon + inc hl + ld c,[hl] ; c = type 2 of player's pokemon + ld a,$10 + ld [$d11e],a ; initialize [$D11E] to neutral effectiveness + ld hl,TypeEffects +.loop\@ + ld a,[hli] + cp a,$ff + ret z + cp d ; match the type of the move + jr nz,.nextTypePair1\@ + ld a,[hli] + cp b ; match with type 1 of pokemon + jr z,.done\@ + cp c ; or match with type 2 of pokemon + jr z,.done\@ + jr .nextTypePair2\@ +.nextTypePair1\@ + inc hl +.nextTypePair2\@ + inc hl + jr .loop\@ +.done\@ + ld a,[hl] + ld [$d11e],a ; store damage multiplier + ret + +TypeEffects: ; 6474 +; format: attacking type, defending type, damage multiplier +; the multiplier is a (decimal) fixed-point number: +; 20 is ×2.0 +; 05 is ×0.5 +; 00 is ×0 + db WATER,FIRE,20 + db FIRE,GRASS,20 + db FIRE,ICE,20 + db GRASS,WATER,20 + db ELECTRIC,WATER,20 + db WATER,ROCK,20 + db GROUND,FLYING,00 + db WATER,WATER,05 + db FIRE,FIRE,05 + db ELECTRIC,ELECTRIC,05 + db ICE,ICE,05 + db GRASS,GRASS,05 + db PSYCHIC,PSYCHIC,05 + db FIRE,WATER,05 + db GRASS,FIRE,05 + db WATER,GRASS,05 + db ELECTRIC,GRASS,05 + db NORMAL,ROCK,05 + db NORMAL,GHOST,00 + db GHOST,GHOST,20 + db FIRE,BUG,20 + db FIRE,ROCK,05 + db WATER,GROUND,20 + db ELECTRIC,GROUND,00 + db ELECTRIC,FLYING,20 + db GRASS,GROUND,20 + db GRASS,BUG,05 + db GRASS,POISON,05 + db GRASS,ROCK,20 + db GRASS,FLYING,05 + db ICE,WATER,05 + db ICE,GRASS,20 + db ICE,GROUND,20 + db ICE,FLYING,20 + db FIGHTING,NORMAL,20 + db FIGHTING,POISON,05 + db FIGHTING,FLYING,05 + db FIGHTING,PSYCHIC,05 + db FIGHTING,BUG,05 + db FIGHTING,ROCK,20 + db FIGHTING,ICE,20 + db FIGHTING,GHOST,00 + db POISON,GRASS,20 + db POISON,POISON,05 + db POISON,GROUND,05 + db POISON,BUG,20 + db POISON,ROCK,05 + db POISON,GHOST,05 + db GROUND,FIRE,20 + db GROUND,ELECTRIC,20 + db GROUND,GRASS,05 + db GROUND,BUG,05 + db GROUND,ROCK,20 + db GROUND,POISON,20 + db FLYING,ELECTRIC,05 + db FLYING,FIGHTING,20 + db FLYING,BUG,20 + db FLYING,GRASS,20 + db FLYING,ROCK,05 + db PSYCHIC,FIGHTING,20 + db PSYCHIC,POISON,20 + db BUG,FIRE,05 + db BUG,GRASS,20 + db BUG,FIGHTING,05 + db BUG,FLYING,05 + db BUG,PSYCHIC,20 + db BUG,GHOST,05 + db BUG,POISON,20 + db ROCK,FIRE,20 + db ROCK,FIGHTING,05 + db ROCK,GROUND,05 + db ROCK,FLYING,20 + db ROCK,BUG,20 + db ROCK,ICE,20 + db GHOST,NORMAL,00 + db GHOST,PSYCHIC,00 + db FIRE,DRAGON,05 + db WATER,DRAGON,05 + db ELECTRIC,DRAGON,05 + db GRASS,DRAGON,05 + db ICE,DRAGON,20 + db DRAGON,DRAGON,20 + db $FF + +; some tests that need to pass for a move to hit +MoveHitTest: ; 656B +; player's turn + ld hl,W_ENEMYBATTSTATUS1 + ld de,W_PLAYERMOVEEFFECT + ld bc,W_ENEMYMONSTATUS + ld a,[H_WHOSETURN] + and a + jr z,.dreamEaterCheck\@ +; enemy's turn + ld hl,W_PLAYERBATTSTATUS1 + ld de,W_ENEMYMOVEEFFECT + ld bc,W_PLAYERMONSTATUS +.dreamEaterCheck\@ + ld a,[de] + cp a,DREAM_EATER_EFFECT + jr nz,.swiftCheck\@ + ld a,[bc] + and a,$07 ; is the target pokemon sleeping? + jp z,.moveMissed\@ +.swiftCheck\@ + ld a,[de] + cp a,SWIFT_EFFECT + ret z ; Swift never misses (interestingly, Azure Heights lists this is a myth, but it appears to be true) + call $7b79 ; substitute check (note that this overwrites a) + jr z,.checkForDigOrFlyStatus\@ +; this code is buggy. it's supposed to prevent HP draining moves from working on substitutes. +; since $7b79 overwrites a with either $00 or $01, it never works. + cp a,DRAIN_HP_EFFECT ; $03 + jp z,.moveMissed\@ + cp a,DREAM_EATER_EFFECT ; $08 + jp z,.moveMissed\@ +.checkForDigOrFlyStatus\@ + bit 6,[hl] + jp nz,.moveMissed\@ + ld a,[H_WHOSETURN] + and a + jr nz,.enemyTurn\@ +.playerTurn\@ +; this checks if the move effect is disallowed by mist + ld a,[W_PLAYERMOVEEFFECT] + cp a,$12 + jr c,.skipEnemyMistCheck\@ + cp a,$1a + jr c,.enemyMistCheck\@ + cp a,$3a + jr c,.skipEnemyMistCheck\@ + cp a,$42 + jr c,.enemyMistCheck\@ + jr .skipEnemyMistCheck\@ +.enemyMistCheck\@ +; if move effect is from $12 to $19 inclusive or $3a to $41 inclusive +; i.e. the following moves +; GROWL, TAIL WHIP, LEER, STRING SHOT, SAND-ATTACK, SMOKESCREEN, KINESIS, +; FLASH, CONVERSION, HAZE*, SCREECH, LIGHT SCREEN*, REFLECT* +; the moves that are marked with an asterisk are not affected since this +; function is not called when those moves are used +; XXX are there are any others like those three? + ld a,[W_ENEMYBATTSTATUS2] + bit 1,a + jp nz,.moveMissed\@ +.skipEnemyMistCheck\@ + ld a,[W_PLAYERBATTSTATUS2] + bit 0,a ; is the player using X Accuracy? + ret nz ; if so, always hit regardless of accuracy/evasion + jr .calcHitChance\@ +.enemyTurn\@ + ld a,[W_ENEMYMOVEEFFECT] + cp a,$12 + jr c,.skipPlayerMistCheck\@ + cp a,$1a + jr c,.playerMistCheck\@ + cp a,$3a + jr c,.skipPlayerMistCheck\@ + cp a,$42 + jr c,.playerMistCheck\@ + jr .skipPlayerMistCheck\@ +.playerMistCheck\@ +; similar to enemy mist check + ld a,[W_PLAYERBATTSTATUS2] + bit 1,a + jp nz,.moveMissed\@ +.skipPlayerMistCheck\@ + ld a,[W_ENEMYBATTSTATUS2] + bit 0,a ; is the enemy using X Accuracy? + ret nz ; if so, always hit regardless of accuracy/evasion +.calcHitChance\@ + call CalcHitChance ; scale the move accuracy according to attacker's accuracy and target's evasion + ld a,[W_PLAYERMOVEACCURACY] + ld b,a + ld a,[H_WHOSETURN] + and a + jr z,.doAccuracyCheck\@ + ld a,[W_ENEMYMOVEACCURACY] + ld b,a +.doAccuracyCheck\@ +; if the random number generated is greater than or equal to the scaled accuracy, the move misses +; note that this means that even the highest accuracy is still just a 255/256 chance, not 100% + call $6e9b ; random number + cp b + jr nc,.moveMissed\@ + ret +.moveMissed\@ + xor a + ld hl,W_DAMAGE ; zero the damage + ld [hli],a + ld [hl],a + inc a + ld [W_MOVEMISSED],a + ld a,[H_WHOSETURN] + and a + jr z,.playerTurn2\@ +.enemyTurn2\@ + ld hl,W_ENEMYBATTSTATUS1 + res 5,[hl] ; end multi-turn attack e.g. wrap + ret +.playerTurn2\@ + ld hl,W_PLAYERBATTSTATUS1 + res 5,[hl] ; end multi-turn attack e.g. wrap + ret + +; values for player turn +CalcHitChance: ; 6624 + ld hl,W_PLAYERMOVEACCURACY + ld a,[H_WHOSETURN] + and a + ld a,[W_PLAYERMONACCURACYMOD] + ld b,a + ld a,[W_ENEMYMONEVASIONMOD] + ld c,a + jr z,.next\@ +; values for enemy turn + ld hl,W_ENEMYMOVEACCURACY + ld a,[W_ENEMYMONACCURACYMOD] + ld b,a + ld a,[W_PLAYERMONEVASIONMOD] + ld c,a +.next\@ + ld a,$0e + sub c + ld c,a ; c = 14 - EVASIONMOD (this "reflects" the value over 7, so that an increase in the target's evasion decreases the hit chance instead of increasing the hit chance) +; zero the high bytes of the multiplicand + xor a + ld [H_MULTIPLICAND],a + ld [H_MULTIPLICAND + 1],a + ld a,[hl] + ld [H_MULTIPLICAND + 2],a ; set multiplicand to move accuracy + push hl + ld d,$02 ; loop has two iterations +; loop to do the calculations, the first iteration multiplies by the accuracy ratio and the second iteration multiplies by the evasion ratio +.loop\@ + push bc + ld hl,$76cb ; stat modifier ratios + dec b + sla b + ld c,b + ld b,$00 + add hl,bc ; hl = address of stat modifier ratio + pop bc + ld a,[hli] + ld [H_MULTIPLIER],a ; set multiplier to the numerator of the ratio + call $38ac ; multiply + ld a,[hl] + ld [H_DIVISOR],a ; set divisor to the the denominator of the ratio (the dividend is the product of the previous multiplication) + ld b,$04 ; number of significant bytes in the dividend + call $38b9 ; divide + ld a,[H_QUOTIENT + 3] + ld b,a + ld a,[H_QUOTIENT + 2] + or b + jp nz,.nextCalculation\@ +; make sure the result is always at least one + ld [H_QUOTIENT + 2],a + ld a,$01 + ld [H_QUOTIENT + 3],a +.nextCalculation\@ + ld b,c + dec d + jr nz,.loop\@ + ld a,[H_QUOTIENT + 2] + and a ; is the calculated hit chance over 0xFF? + ld a,[H_QUOTIENT + 3] + jr z,.storeAccuracy\@ +; if calculated hit chance over 0xFF + ld a,$ff ; set the hit chance to 0xFF +.storeAccuracy\@ + pop hl + ld [hl],a ; store the hit chance in the move accuracy variable + ret + +INCBIN "baserom.gbc",$3e687,$3e887 - $3e687 + +UnnamedText_3e887: ; 0x3e887 + TX_FAR _UnnamedText_3e887 + db $50 +; 0x3e887 + 5 bytes + +INCBIN "baserom.gbc",$3e88c,$67b + +PlayMoveAnimation: ; 6F07 + ld [$D07C],a + call Delay3 + ld a,8 + jp Predef + +INCBIN "baserom.gbc",$3ef12,$3f245 - $3ef12 + +UnnamedText_3f245: ; 0x3f245 + TX_FAR _UnnamedText_3f245 + db $50 +; 0x3f245 + 5 bytes + +UnnamedText_3f24a: ; 0x3f24a + TX_FAR _UnnamedText_3f24a + db $50 +; 0x3f24a + 5 bytes + +INCBIN "baserom.gbc",$3f24f,$3f2df - $3f24f + +UnnamedText_3f2df: ; 0x3f2df + TX_FAR _UnnamedText_3f2df + db $50 +; 0x3f2df + 5 bytes + +UnnamedText_3f2e4: ; 0x3f2e4 + TX_FAR _UnnamedText_3f2e4 + db $50 +; 0x3f2e4 + 5 bytes + +INCBIN "baserom.gbc",$3f2e9,$3f3d8 - $3f2e9 + +UnnamedText_3f3d8: ; 0x3f3d8 + TX_FAR _UnnamedText_3f3d8 + db $50 +; 0x3f3d8 + 5 bytes + +UnnamedText_3f3dd: ; 0x3f3dd + TX_FAR _UnnamedText_3f3dd + db $50 +; 0x3f3dd + 5 bytes + +INCBIN "baserom.gbc",$3f3e2,$3f423 - $3f3e2 + +UnnamedText_3f423: ; 0x3f423 + TX_FAR _UnnamedText_3f423 + db $50 +; 0x3f423 + 5 bytes + +INCBIN "baserom.gbc",$3f428,$3f547 - $3f428 + +UnnamedText_3f547: ; 0x3f547 + TX_FAR _UnnamedText_3f547 + db $50 +; 0x3f547 + 5 bytes + +INCBIN "baserom.gbc",$3f54c,$3f683 - $3f54c + +UnnamedText_3f683: ; 0x3f683 + TX_FAR _UnnamedText_3f683 + db $50 +; 0x3f683 + 5 bytes + +INCBIN "baserom.gbc",$3f688,$3f802 - $3f688 + +UnnamedText_3f802: ; 0x3f802 + TX_FAR _UnnamedText_3f802 + db $50 +; 0x3f802 + 5 bytes + +UnnamedText_3f807: ; 0x3f807 + TX_FAR _UnnamedText_3f807 + db $50 +; 0x3f807 + 5 bytes + +UnnamedText_3f80c: ; 0x3f80c + TX_FAR _UnnamedText_3f80c + db $50 +; 0x3f80c + 5 bytes + +INCBIN "baserom.gbc",$3f811,$3f8f9 - $3f811 + +UnnamedText_3f8f9: ; 0x3f8f9 + TX_FAR _UnnamedText_3f8f9 + db $50 +; 0x3f8f9 + 5 bytes + +UnnamedText_3f8fe: ; 0x3f8fe + TX_FAR _UnnamedText_3f8fe + db $50 +; 0x3f8fe + 5 bytes + +UnnamedText_3f903: ; 0x3f903 + TX_FAR _UnnamedText_3f903 + db $50 +; 0x3f903 + 5 bytes + +UnnamedText_3f908: ; 0x3f908 + TX_FAR _UnnamedText_3f908 + db $50 +; 0x3f908 + 5 bytes + +UnnamedText_3f90d: ; 0x3f90d + TX_FAR _UnnamedText_3f90d + db $50 +; 0x3f90d + 5 bytes + +UnnamedText_3f912: ; 0x3f912 + TX_FAR _UnnamedText_3f912 + db $50 +; 0x3f912 + 5 bytes + +INCBIN "baserom.gbc",$3f917,$3f9a1 - $3f917 + +UnnamedText_3f9a1: ; 0x3f9a1 + TX_FAR _UnnamedText_3f9a1 + db $50 +; 0x3f9a1 + 5 bytes + +INCBIN "baserom.gbc",$3f9a6,$3fa77 - $3f9a6 + +UnnamedText_3fa77: ; 0x3fa77 + TX_FAR _UnnamedText_3fa77 + db $50 +; 0x3fa77 + 5 bytes + +INCBIN "baserom.gbc",$3fa7c,$3fb09 - $3fa7c + +UnnamedText_3fb09: ; 0x3fb09 + TX_FAR _UnnamedText_3fb09 + db $50 +; 0x3fb09 + 5 bytes + +INCBIN "baserom.gbc",$3fb0e,$3fb3e - $3fb0e + +UnnamedText_3fb3e: ; 0x3fb3e + TX_FAR _UnnamedText_3fb3e + db $50 +; 0x3fb3e + 5 bytes + +INCBIN "baserom.gbc",$3fb43,$3fb49 - $3fb43 + +UnnamedText_3fb49: ; 0x3fb49 + TX_FAR _UnnamedText_3fb49 + db $50 +; 0x3fb49 + 5 bytes + +INCBIN "baserom.gbc",$3fb4e,$3fb59 - $3fb4e + +UnnamedText_3fb59: ; 0x3fb59 + TX_FAR _UnnamedText_3fb59 + db $50 +; 0x3fb59 + 5 bytes + +INCBIN "baserom.gbc",$3fb5e,$3fb64 - $3fb5e + +UnnamedText_3fb64: ; 0x3fb64 + TX_FAR _UnnamedText_3fb64 + db $50 +; 0x3fb64 + 5 bytes + +UnnamedText_3fb69: ; 0x3fb69 + TX_FAR _UnnamedText_3fb69 + db $50 +; 0x3fb69 + 5 bytes + +INCBIN "baserom.gbc",$3fb6e,$3fb74 - $3fb6e + +UnnamedText_3fb74: ; 0x3fb74 + TX_FAR _UnnamedText_3fb74 + db $50 +; 0x3fb74 + 5 bytes + +INCBIN "baserom.gbc",$3fb79,$487 + +SECTION "bank10",DATA,BANK[$10] + +INCBIN "baserom.gbc",$40000,$47E + +PokedexEntryPointers: ; 447E + dw RhydonDexEntry + dw KangaskhanDexEntry + dw NidoranMDexEntry + dw ClefairyDexEntry + dw SpearowDexEntry + dw VoltorbDexEntry + dw NidokingDexEntry + dw SlowbroDexEntry + dw IvysaurDexEntry + dw ExeggutorDexEntry + dw LickitungDexEntry + dw ExeggcuteDexEntry + dw GrimerDexEntry + dw GengarDexEntry + dw NidoranFDexEntry + dw NidoqueenDexEntry + dw CuboneDexEntry + dw RhyhornDexEntry + dw LaprasDexEntry + dw ArcanineDexEntry + dw MewDexEntry + dw GyaradosDexEntry + dw ShellderDexEntry + dw TentacoolDexEntry + dw GastlyDexEntry + dw ScytherDexEntry + dw StaryuDexEntry + dw BlastoiseDexEntry + dw PinsirDexEntry + dw TangelaDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw GrowlitheDexEntry + dw OnixDexEntry + dw FearowDexEntry + dw PidgeyDexEntry + dw SlowpokeDexEntry + dw KadabraDexEntry + dw GravelerDexEntry + dw ChanseyDexEntry + dw MachokeDexEntry + dw MrMimeDexEntry + dw HitmonleeDexEntry + dw HitmonchanDexEntry + dw ArbokDexEntry + dw ParasectDexEntry + dw PsyduckDexEntry + dw DrowzeeDexEntry + dw GolemDexEntry + dw MissingNoDexEntry + dw MagmarDexEntry + dw MissingNoDexEntry + dw ElectabuzzDexEntry + dw MagnetonDexEntry + dw KoffingDexEntry + dw MissingNoDexEntry + dw MankeyDexEntry + dw SeelDexEntry + dw DiglettDexEntry + dw TaurosDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw FarfetchdDexEntry + dw VenonatDexEntry + dw DragoniteDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw DoduoDexEntry + dw PoliwagDexEntry + dw JynxDexEntry + dw MoltresDexEntry + dw ArticunoDexEntry + dw ZapdosDexEntry + dw DittoDexEntry + dw MeowthDexEntry + dw KrabbyDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw VulpixDexEntry + dw NinetalesDexEntry + dw PikachuDexEntry + dw RaichuDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw DratiniDexEntry + dw DragonairDexEntry + dw KabutoDexEntry + dw KabutopsDexEntry + dw HorseaDexEntry + dw SeadraDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw SandshrewDexEntry + dw SandslashDexEntry + dw OmanyteDexEntry + dw OmastarDexEntry + dw JigglypuffDexEntry + dw WigglytuffDexEntry + dw EeveeDexEntry + dw FlareonDexEntry + dw JolteonDexEntry + dw VaporeonDexEntry + dw MachopDexEntry + dw ZubatDexEntry + dw EkansDexEntry + dw ParasDexEntry + dw PoliwhirlDexEntry + dw PoliwrathDexEntry + dw WeedleDexEntry + dw KakunaDexEntry + dw BeedrillDexEntry + dw MissingNoDexEntry + dw DodrioDexEntry + dw PrimeapeDexEntry + dw DugtrioDexEntry + dw VenomothDexEntry + dw DewgongDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw CaterpieDexEntry + dw MetapodDexEntry + dw ButterfreeDexEntry + dw MachampDexEntry + dw MissingNoDexEntry + dw GolduckDexEntry + dw HypnoDexEntry + dw GolbatDexEntry + dw MewtwoDexEntry + dw SnorlaxDexEntry + dw MagikarpDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw MukDexEntry + dw MissingNoDexEntry + dw KinglerDexEntry + dw CloysterDexEntry + dw MissingNoDexEntry + dw ElectrodeDexEntry + dw ClefableDexEntry + dw WeezingDexEntry + dw PersianDexEntry + dw MarowakDexEntry + dw MissingNoDexEntry + dw HaunterDexEntry + dw AbraDexEntry + dw AlakazamDexEntry + dw PidgeottoDexEntry + dw PidgeotDexEntry + dw StarmieDexEntry + dw BulbasaurDexEntry + dw VenusaurDexEntry + dw TentacruelDexEntry + dw MissingNoDexEntry + dw GoldeenDexEntry + dw SeakingDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw PonytaDexEntry + dw RapidashDexEntry + dw RattataDexEntry + dw RaticateDexEntry + dw NidorinoDexEntry + dw NidorinaDexEntry + dw GeodudeDexEntry + dw PorygonDexEntry + dw AerodactylDexEntry + dw MissingNoDexEntry + dw MagnemiteDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw CharmanderDexEntry + dw SquirtleDexEntry + dw CharmeleonDexEntry + dw WartortleDexEntry + dw CharizardDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw OddishDexEntry + dw GloomDexEntry + dw VileplumeDexEntry + dw BellsproutDexEntry + dw WeepinbellDexEntry + dw VictreebelDexEntry + +; string: species name +; height in feet, inches +; weight in pounds +; text entry + +RhydonDexEntry: + db "DRILL@" + db 6,3 + dw 2650 + TX_FAR _RhydonDexEntry + db "@" + +KangaskhanDexEntry: + db "PARENT@" + db 7,3 + dw 1760 + TX_FAR _KangaskhanDexEntry + db "@" + +NidoranMDexEntry: + db "POISON PIN@" + db 1,8 + dw 200 + TX_FAR _NidoranMDexEntry + db "@" + +ClefairyDexEntry: + db "FAIRY@" + db 2,0 + dw 170 + TX_FAR _ClefairyDexEntry + db "@" + +SpearowDexEntry: + db "TINY BIRD@" + db 1,0 + dw 40 + TX_FAR _SpearowDexEntry + db "@" + +VoltorbDexEntry: + db "BALL@" + db 1,8 + dw 230 + TX_FAR _VoltorbDexEntry + db "@" + +NidokingDexEntry: + db "DRILL@" + db 4,7 + dw 1370 + TX_FAR _NidokingDexEntry + db "@" + +SlowbroDexEntry: + db "HERMITCRAB@" + db 5,3 + dw 1730 + TX_FAR _SlowbroDexEntry + db "@" + +IvysaurDexEntry: + db "SEED@" + db 3,3 + dw 290 + TX_FAR _IvysaurDexEntry + db "@" + +ExeggutorDexEntry: + db "COCONUT@" + db 6,7 + dw 2650 + TX_FAR _ExeggutorDexEntry + db "@" + +LickitungDexEntry: + db "LICKING@" + db 3,11 + dw 1440 + TX_FAR _LickitungDexEntry + db "@" + +ExeggcuteDexEntry: + db "EGG@" + db 1,4 + dw 60 + TX_FAR _ExeggcuteDexEntry + db "@" + +GrimerDexEntry: + db "SLUDGE@" + db 2,11 + dw 660 + TX_FAR _GrimerDexEntry + db "@" + +GengarDexEntry: + db "SHADOW@" + db 4,11 + dw 890 + TX_FAR _GengarDexEntry + db "@" + +NidoranFDexEntry: + db "POISON PIN@" + db 1,4 + dw 150 + TX_FAR _NidoranFDexEntry + db "@" + +NidoqueenDexEntry: + db "DRILL@" + db 4,3 + dw 1320 + TX_FAR _NidoqueenDexEntry + db "@" + +CuboneDexEntry: + db "LONELY@" + db 1,4 + dw 140 + TX_FAR _CuboneDexEntry + db "@" + +RhyhornDexEntry: + db "SPIKES@" + db 3,3 + dw 2540 + TX_FAR _RhyhornDexEntry + db "@" + +LaprasDexEntry: + db "TRANSPORT@" + db 8,2 + dw 4850 + TX_FAR _LaprasDexEntry + db "@" + +ArcanineDexEntry: + db "LEGENDARY@" + db 6,3 + dw 3420 + TX_FAR _ArcanineDexEntry + db "@" + +MewDexEntry: + db "NEW SPECIE@" + db 1,4 + dw 90 + TX_FAR _MewDexEntry + db "@" + +GyaradosDexEntry: + db "ATROCIOUS@" + db 21,4 + dw 5180 + TX_FAR _GyaradosDexEntry + db "@" + +ShellderDexEntry: + db "BIVALVE@" + db 1,0 + dw 90 + TX_FAR _ShellderDexEntry + db "@" + +TentacoolDexEntry: + db "JELLYFISH@" + db 2,11 + dw 1000 + TX_FAR _TentacoolDexEntry + db "@" + +GastlyDexEntry: + db "GAS@" + db 4,3 + dw 2 + TX_FAR _GastlyDexEntry + db "@" + +ScytherDexEntry: + db "MANTIS@" + db 4,11 + dw 1230 + TX_FAR _ScytherDexEntry + db "@" + +StaryuDexEntry: + db "STARSHAPE@" + db 2,7 + dw 760 + TX_FAR _StaryuDexEntry + db "@" + +BlastoiseDexEntry: + db "SHELLFISH@" + db 5,3 + dw 1890 + TX_FAR _BlastoiseDexEntry + db "@" + +PinsirDexEntry: + db "STAGBEETLE@" + db 4,11 + dw 1210 + TX_FAR _PinsirDexEntry + db "@" + +TangelaDexEntry: + db "VINE@" + db 3,3 + dw 770 + TX_FAR _TangelaDexEntry + db "@" + +GrowlitheDexEntry: + db "PUPPY@" + db 2,4 + dw 420 + TX_FAR _GrowlitheDexEntry + db "@" + +OnixDexEntry: + db "ROCK SNAKE@" + db 28,10 + dw 4630 + TX_FAR _OnixDexEntry + db "@" + +FearowDexEntry: + db "BEAK@" + db 3,11 + dw 840 + TX_FAR _FearowDexEntry + db "@" + +PidgeyDexEntry: + db "TINY BIRD@" + db 1,0 + dw 40 + TX_FAR _PidgeyDexEntry + db "@" + +SlowpokeDexEntry: + db "DOPEY@" + db 3,11 + dw 790 + TX_FAR _SlowpokeDexEntry + db "@" + +KadabraDexEntry: + db "PSI@" + db 4,3 + dw 1250 + TX_FAR _KadabraDexEntry + db "@" + +GravelerDexEntry: + db "ROCK@" + db 3,3 + dw 2320 + TX_FAR _GravelerDexEntry + db "@" + +ChanseyDexEntry: + db "EGG@" + db 3,7 + dw 760 + TX_FAR _ChanseyDexEntry + db "@" + +MachokeDexEntry: + db "SUPERPOWER@" + db 4,11 + dw 1550 + TX_FAR _MachokeDexEntry + db "@" + +MrMimeDexEntry: + db "BARRIER@" + db 4,3 + dw 1200 + TX_FAR _MrMimeDexEntry + db "@" + +HitmonleeDexEntry: + db "KICKING@" + db 4,11 + dw 1100 + TX_FAR _HitmonleeDexEntry + db "@" + +HitmonchanDexEntry: + db "PUNCHING@" + db 4,7 + dw 1110 + TX_FAR _HitmonchanDexEntry + db "@" + +ArbokDexEntry: + db "COBRA@" + db 11,6 + dw 1430 + TX_FAR _ArbokDexEntry + db "@" + +ParasectDexEntry: + db "MUSHROOM@" + db 3,3 + dw 650 + TX_FAR _ParasectDexEntry + db "@" + +PsyduckDexEntry: + db "DUCK@" + db 2,7 + dw 430 + TX_FAR _PsyduckDexEntry + db "@" + +DrowzeeDexEntry: + db "HYPNOSIS@" + db 3,3 + dw 710 + TX_FAR _DrowzeeDexEntry + db "@" + +GolemDexEntry: + db "MEGATON@" + db 4,7 + dw 6620 + TX_FAR _GolemDexEntry + db "@" + +MagmarDexEntry: + db "SPITFIRE@" + db 4,3 + dw 980 + TX_FAR _MagmarDexEntry + db "@" + +ElectabuzzDexEntry: + db "ELECTRIC@" + db 3,7 + dw 660 + TX_FAR _ElectabuzzDexEntry + db "@" + +MagnetonDexEntry: + db "MAGNET@" + db 3,3 + dw 1320 + TX_FAR _MagnetonDexEntry + db "@" + +KoffingDexEntry: + db "POISON GAS@" + db 2,0 + dw 20 + TX_FAR _KoffingDexEntry + db "@" + +MankeyDexEntry: + db "PIG MONKEY@" + db 1,8 + dw 620 + TX_FAR _MankeyDexEntry + db "@" + +SeelDexEntry: + db "SEA LION@" + db 3,7 + dw 1980 + TX_FAR _SeelDexEntry + db "@" + +DiglettDexEntry: + db "MOLE@" + db 0,8 + dw 20 + TX_FAR _DiglettDexEntry + db "@" + +TaurosDexEntry: + db "WILD BULL@" + db 4,7 + dw 1950 + TX_FAR _TaurosDexEntry + db "@" + +FarfetchdDexEntry: + db "WILD DUCK@" + db 2,7 + dw 330 + TX_FAR _FarfetchdDexEntry + db "@" + +VenonatDexEntry: + db "INSECT@" + db 3,3 + dw 660 + TX_FAR _VenonatDexEntry + db "@" + +DragoniteDexEntry: + db "DRAGON@" + db 7,3 + dw 4630 + TX_FAR _DragoniteDexEntry + db "@" + +DoduoDexEntry: + db "TWIN BIRD@" + db 4,7 + dw 860 + TX_FAR _DoduoDexEntry + db "@" + +PoliwagDexEntry: + db "TADPOLE@" + db 2,0 + dw 270 + TX_FAR _PoliwagDexEntry + db "@" + +JynxDexEntry: + db "HUMANSHAPE@" + db 4,7 + dw 900 + TX_FAR _JynxDexEntry + db "@" + +MoltresDexEntry: + db "FLAME@" + db 6,7 + dw 1320 + TX_FAR _MoltresDexEntry + db "@" + +ArticunoDexEntry: + db "FREEZE@" + db 5,7 + dw 1220 + TX_FAR _ArticunoDexEntry + db "@" + +ZapdosDexEntry: + db "ELECTRIC@" + db 5,3 + dw 1160 + TX_FAR _ZapdosDexEntry + db "@" + +DittoDexEntry: + db "TRANSFORM@" + db 1,0 + dw 90 + TX_FAR _DittoDexEntry + db "@" + +MeowthDexEntry: + db "SCRATCHCAT@" + db 1,4 + dw 90 + TX_FAR _MeowthDexEntry + db "@" + +KrabbyDexEntry: + db "RIVER CRAB@" + db 1,4 + dw 140 + TX_FAR _KrabbyDexEntry + db "@" + +VulpixDexEntry: + db "FOX@" + db 2,0 + dw 220 + TX_FAR _VulpixDexEntry + db "@" + +NinetalesDexEntry: + db "FOX@" + db 3,7 + dw 440 + TX_FAR _NinetalesDexEntry + db "@" + +PikachuDexEntry: + db "MOUSE@" + db 1,4 + dw 130 + TX_FAR _PikachuDexEntry + db "@" + +RaichuDexEntry: + db "MOUSE@" + db 2,7 + dw 660 + TX_FAR _RaichuDexEntry + db "@" + +DratiniDexEntry: + db "DRAGON@" + db 5,11 + dw 70 + TX_FAR _DratiniDexEntry + db "@" + +DragonairDexEntry: + db "DRAGON@" + db 13,1 + dw 360 + TX_FAR _DragonairDexEntry + db "@" + +KabutoDexEntry: + db "SHELLFISH@" + db 1,8 + dw 250 + TX_FAR _KabutoDexEntry + db "@" + +KabutopsDexEntry: + db "SHELLFISH@" + db 4,3 + dw 890 + TX_FAR _KabutopsDexEntry + db "@" + +HorseaDexEntry: + db "DRAGON@" + db 1,4 + dw 180 + TX_FAR _HorseaDexEntry + db "@" + +SeadraDexEntry: + db "DRAGON@" + db 3,11 + dw 550 + TX_FAR _SeadraDexEntry + db "@" + +SandshrewDexEntry: + db "MOUSE@" + db 2,0 + dw 260 + TX_FAR _SandshrewDexEntry + db "@" + +SandslashDexEntry: + db "MOUSE@" + db 3,3 + dw 650 + TX_FAR _SandslashDexEntry + db "@" + +OmanyteDexEntry: + db "SPIRAL@" + db 1,4 + dw 170 + TX_FAR _OmanyteDexEntry + db "@" + +OmastarDexEntry: + db "SPIRAL@" + db 3,3 + dw 770 + TX_FAR _OmastarDexEntry + db "@" + +JigglypuffDexEntry: + db "BALLOON@" + db 1,8 + dw 120 + TX_FAR _JigglypuffDexEntry + db "@" + +WigglytuffDexEntry: + db "BALLOON@" + db 3,3 + dw 260 + TX_FAR _WigglytuffDexEntry + db "@" + +EeveeDexEntry: + db "EVOLUTION@" + db 1,0 + dw 140 + TX_FAR _EeveeDexEntry + db "@" + +FlareonDexEntry: + db "FLAME@" + db 2,11 + dw 550 + TX_FAR _FlareonDexEntry + db "@" + +JolteonDexEntry: + db "LIGHTNING@" + db 2,7 + dw 540 + TX_FAR _JolteonDexEntry + db "@" + +VaporeonDexEntry: + db "BUBBLE JET@" + db 3,3 + dw 640 + TX_FAR _VaporeonDexEntry + db "@" + +MachopDexEntry: + db "SUPERPOWER@" + db 2,7 + dw 430 + TX_FAR _MachopDexEntry + db "@" + +ZubatDexEntry: + db "BAT@" + db 2,7 + dw 170 + TX_FAR _ZubatDexEntry + db "@" + +EkansDexEntry: + db "SNAKE@" + db 6,7 + dw 150 + TX_FAR _EkansDexEntry + db "@" + +ParasDexEntry: + db "MUSHROOM@" + db 1,0 + dw 120 + TX_FAR _ParasDexEntry + db "@" + +PoliwhirlDexEntry: + db "TADPOLE@" + db 3,3 + dw 440 + TX_FAR _PoliwhirlDexEntry + db "@" + +PoliwrathDexEntry: + db "TADPOLE@" + db 4,3 + dw 1190 + TX_FAR _PoliwrathDexEntry + db "@" + +WeedleDexEntry: + db "HAIRY BUG@" + db 1,0 + dw 70 + TX_FAR _WeedleDexEntry + db "@" + +KakunaDexEntry: + db "COCOON@" + db 2,0 + dw 220 + TX_FAR _KakunaDexEntry + db "@" + +BeedrillDexEntry: + db "POISON BEE@" + db 3,3 + dw 650 + TX_FAR _BeedrillDexEntry + db "@" + +DodrioDexEntry: + db "TRIPLEBIRD@" + db 5,11 + dw 1880 + TX_FAR _DodrioDexEntry + db "@" + +PrimeapeDexEntry: + db "PIG MONKEY@" + db 3,3 + dw 710 + TX_FAR _PrimeapeDexEntry + db "@" + +DugtrioDexEntry: + db "MOLE@" + db 2,4 + dw 730 + TX_FAR _DugtrioDexEntry + db "@" + +VenomothDexEntry: + db "POISONMOTH@" + db 4,11 + dw 280 + TX_FAR _VenomothDexEntry + db "@" + +DewgongDexEntry: + db "SEA LION@" + db 5,7 + dw 2650 + TX_FAR _DewgongDexEntry + db "@" + +CaterpieDexEntry: + db "WORM@" + db 1,0 + dw 60 + TX_FAR _CaterpieDexEntry + db "@" + +MetapodDexEntry: + db "COCOON@" + db 2,4 + dw 220 + TX_FAR _MetapodDexEntry + db "@" + +ButterfreeDexEntry: + db "BUTTERFLY@" + db 3,7 + dw 710 + TX_FAR _ButterfreeDexEntry + db "@" + +MachampDexEntry: + db "SUPERPOWER@" + db 5,3 + dw 2870 + TX_FAR _MachampDexEntry + db "@" + +GolduckDexEntry: + db "DUCK@" + db 5,7 + dw 1690 + TX_FAR _GolduckDexEntry + db "@" + +HypnoDexEntry: + db "HYPNOSIS@" + db 5,3 + dw 1670 + TX_FAR _HypnoDexEntry + db "@" + +GolbatDexEntry: + db "BAT@" + db 5,3 + dw 1210 + TX_FAR _GolbatDexEntry + db "@" + +MewtwoDexEntry: + db "GENETIC@" + db 6,7 + dw 2690 + TX_FAR _MewtwoDexEntry + db "@" + +SnorlaxDexEntry: + db "SLEEPING@" + db 6,11 + dw 10140 + TX_FAR _SnorlaxDexEntry + db "@" + +MagikarpDexEntry: + db "FISH@" + db 2,11 + dw 220 + TX_FAR _MagikarpDexEntry + db "@" + +MukDexEntry: + db "SLUDGE@" + db 3,11 + dw 660 + TX_FAR _MukDexEntry + db "@" + +KinglerDexEntry: + db "PINCER@" + db 4,3 + dw 1320 + TX_FAR _KinglerDexEntry + db "@" + +CloysterDexEntry: + db "BIVALVE@" + db 4,11 + dw 2920 + TX_FAR _CloysterDexEntry + db "@" + +ElectrodeDexEntry: + db "BALL@" + db 3,11 + dw 1470 + TX_FAR _ElectrodeDexEntry + db "@" + +ClefableDexEntry: + db "FAIRY@" + db 4,3 + dw 880 + TX_FAR _ClefableDexEntry + db "@" + +WeezingDexEntry: + db "POISON GAS@" + db 3,11 + dw 210 + TX_FAR _WeezingDexEntry + db "@" + +PersianDexEntry: + db "CLASSY CAT@" + db 3,3 + dw 710 + TX_FAR _PersianDexEntry + db "@" + +MarowakDexEntry: + db "BONEKEEPER@" + db 3,3 + dw 990 + TX_FAR _MarowakDexEntry + db "@" + +HaunterDexEntry: + db "GAS@" + db 5,3 + dw 2 + TX_FAR _HaunterDexEntry + db "@" + +AbraDexEntry: + db "PSI@" + db 2,11 + dw 430 + TX_FAR _AbraDexEntry + db "@" + +AlakazamDexEntry: + db "PSI@" + db 4,11 + dw 1060 + TX_FAR _AlakazamDexEntry + db "@" + +PidgeottoDexEntry: + db "BIRD@" + db 3,7 + dw 660 + TX_FAR _PidgeottoDexEntry + db "@" + +PidgeotDexEntry: + db "BIRD@" + db 4,11 + dw 870 + TX_FAR _PidgeotDexEntry + db "@" + +StarmieDexEntry: + db "MYSTERIOUS@" + db 3,7 + dw 1760 + TX_FAR _StarmieDexEntry + db "@" + +BulbasaurDexEntry: + db "SEED@" + db 2,4 + dw 150 + TX_FAR _BulbasaurDexEntry + db "@" + +VenusaurDexEntry: + db "SEED@" + db 6,7 + dw 2210 + TX_FAR _VenusaurDexEntry + db "@" + +TentacruelDexEntry: + db "JELLYFISH@" + db 5,3 + dw 1210 + TX_FAR _TentacruelDexEntry + db "@" + +GoldeenDexEntry: + db "GOLDFISH@" + db 2,0 + dw 330 + TX_FAR _GoldeenDexEntry + db "@" + +SeakingDexEntry: + db "GOLDFISH@" + db 4,3 + dw 860 + TX_FAR _SeakingDexEntry + db "@" + +PonytaDexEntry: + db "FIRE HORSE@" + db 3,3 + dw 660 + TX_FAR _PonytaDexEntry + db "@" + +RapidashDexEntry: + db "FIRE HORSE@" + db 5,7 + dw 2090 + TX_FAR _RapidashDexEntry + db "@" + +RattataDexEntry: + db "RAT@" + db 1,0 + dw 80 + TX_FAR _RattataDexEntry + db "@" + +RaticateDexEntry: + db "RAT@" + db 2,4 + dw 410 + TX_FAR _RaticateDexEntry + db "@" + +NidorinoDexEntry: + db "POISON PIN@" + db 2,11 + dw 430 + TX_FAR _NidorinoDexEntry + db "@" + +NidorinaDexEntry: + db "POISON PIN@" + db 2,7 + dw 440 + TX_FAR _NidorinaDexEntry + db "@" + +GeodudeDexEntry: + db "ROCK@" + db 1,4 + dw 440 + TX_FAR _GeodudeDexEntry + db "@" + +PorygonDexEntry: + db "VIRTUAL@" + db 2,7 + dw 800 + TX_FAR _PorygonDexEntry + db "@" + +AerodactylDexEntry: + db "FOSSIL@" + db 5,11 + dw 1300 + TX_FAR _AerodactylDexEntry + db "@" + +MagnemiteDexEntry: + db "MAGNET@" + db 1,0 + dw 130 + TX_FAR _MagnemiteDexEntry + db "@" + +CharmanderDexEntry: + db "LIZARD@" + db 2,0 + dw 190 + TX_FAR _CharmanderDexEntry + db "@" + +SquirtleDexEntry: + db "TINYTURTLE@" + db 1,8 + dw 200 + TX_FAR _SquirtleDexEntry + db "@" + +CharmeleonDexEntry: + db "FLAME@" + db 3,7 + dw 420 + TX_FAR _CharmeleonDexEntry + db "@" + +WartortleDexEntry: + db "TURTLE@" + db 3,3 + dw 500 + TX_FAR _WartortleDexEntry + db "@" + +CharizardDexEntry: + db "FLAME@" + db 5,7 + dw 2000 + TX_FAR _CharizardDexEntry + db "@" + +OddishDexEntry: + db "WEED@" + db 1,8 + dw 120 + TX_FAR _OddishDexEntry + db "@" + +GloomDexEntry: + db "WEED@" + db 2,7 + dw 190 + TX_FAR _GloomDexEntry + db "@" + +VileplumeDexEntry: + db "FLOWER@" + db 3,11 + dw 410 + TX_FAR _VileplumeDexEntry + db "@" + +BellsproutDexEntry: + db "FLOWER@" + db 2,4 + dw 90 + TX_FAR _BellsproutDexEntry + db "@" + +WeepinbellDexEntry: + db "FLYCATCHER@" + db 3,3 + dw 140 + TX_FAR _WeepinbellDexEntry + db "@" + +VictreebelDexEntry: + db "FLYCATCHER@" + db 5,7 + dw 340 + TX_FAR _VictreebelDexEntry + db "@" + +MissingNoDexEntry: + db "???@" + db 10 ; 1.0 m + db 100 ; 10.0 kg + db 0,"コメント さくせいちゅう@" ; コメント作成中 (Comment to be written) + +PokedexToIndex: + ; converts the Pokédex number at $D11E to an index + push bc + push hl + ld a,[$D11E] + ld b,a + ld c,0 + ld hl,PokedexOrder + +.loop\@ ; go through the list until we find an entry with a matching dex number + inc c + ld a,[hli] + cp b + jr nz,.loop\@ + + ld a,c + ld [$D11E],a + pop hl + pop bc + ret + +IndexToPokedex: + ; converts the indexédex number at $D11E to a Pokédex number + push bc + push hl + ld a,[$D11E] + dec a + ld hl,PokedexOrder + ld b,0 + ld c,a + add hl,bc + ld a,[hl] + ld [$D11E],a + pop hl + pop bc + ret + +PokedexOrder: ; 5024 + db DEX_RHYDON + db DEX_KANGASKHAN + db DEX_NIDORAN_M + db DEX_CLEFAIRY + db DEX_SPEAROW + db DEX_VOLTORB + db DEX_NIDOKING + db DEX_SLOWBRO + db DEX_IVYSAUR + db DEX_EXEGGUTOR + db DEX_LICKITUNG + db DEX_EXEGGCUTE + db DEX_GRIMER + db DEX_GENGAR + db DEX_NIDORAN_F + db DEX_NIDOQUEEN + db DEX_CUBONE + db DEX_RHYHORN + db DEX_LAPRAS + db DEX_ARCANINE + db DEX_MEW + db DEX_GYARADOS + db DEX_SHELLDER + db DEX_TENTACOOL + db DEX_GASTLY + db DEX_SCYTHER + db DEX_STARYU + db DEX_BLASTOISE + db DEX_PINSIR + db DEX_TANGELA + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db DEX_GROWLITHE + db DEX_ONIX + db DEX_FEAROW + db DEX_PIDGEY + db DEX_SLOWPOKE + db DEX_KADABRA + db DEX_GRAVELER + db DEX_CHANSEY + db DEX_MACHOKE + db DEX_MR_MIME + db DEX_HITMONLEE + db DEX_HITMONCHAN + db DEX_ARBOK + db DEX_PARASECT + db DEX_PSYDUCK + db DEX_DROWZEE + db DEX_GOLEM + db 0 ; MISSINGNO. + db DEX_MAGMAR + db 0 ; MISSINGNO. + db DEX_ELECTABUZZ + db DEX_MAGNETON + db DEX_KOFFING + db 0 ; MISSINGNO. + db DEX_MANKEY + db DEX_SEEL + db DEX_DIGLETT + db DEX_TAUROS + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db DEX_FARFETCH_D + db DEX_VENONAT + db DEX_DRAGONITE + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db DEX_DODUO + db DEX_POLIWAG + db DEX_JYNX + db DEX_MOLTRES + db DEX_ARTICUNO + db DEX_ZAPDOS + db DEX_DITTO + db DEX_MEOWTH + db DEX_KRABBY + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db DEX_VULPIX + db DEX_NINETALES + db DEX_PIKACHU + db DEX_RAICHU + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db DEX_DRATINI + db DEX_DRAGONAIR + db DEX_KABUTO + db DEX_KABUTOPS + db DEX_HORSEA + db DEX_SEADRA + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db DEX_SANDSHREW + db DEX_SANDSLASH + db DEX_OMANYTE + db DEX_OMASTAR + db DEX_JIGGLYPUFF + db DEX_WIGGLYTUFF + db DEX_EEVEE + db DEX_FLAREON + db DEX_JOLTEON + db DEX_VAPOREON + db DEX_MACHOP + db DEX_ZUBAT + db DEX_EKANS + db DEX_PARAS + db DEX_POLIWHIRL + db DEX_POLIWRATH + db DEX_WEEDLE + db DEX_KAKUNA + db DEX_BEEDRILL + db 0 ; MISSINGNO. + db DEX_DODRIO + db DEX_PRIMEAPE + db DEX_DUGTRIO + db DEX_VENOMOTH + db DEX_DEWGONG + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db DEX_CATERPIE + db DEX_METAPOD + db DEX_BUTTERFREE + db DEX_MACHAMP + db 0 ; MISSINGNO. + db DEX_GOLDUCK + db DEX_HYPNO + db DEX_GOLBAT + db DEX_MEWTWO + db DEX_SNORLAX + db DEX_MAGIKARP + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db DEX_MUK + db 0 ; MISSINGNO. + db DEX_KINGLER + db DEX_CLOYSTER + db 0 ; MISSINGNO. + db DEX_ELECTRODE + db DEX_CLEFABLE + db DEX_WEEZING + db DEX_PERSIAN + db DEX_MAROWAK + db 0 ; MISSINGNO. + db DEX_HAUNTER + db DEX_ABRA + db DEX_ALAKAZAM + db DEX_PIDGEOTTO + db DEX_PIDGEOT + db DEX_STARMIE + db DEX_BULBASAUR + db DEX_VENUSAUR + db DEX_TENTACRUEL + db 0 ; MISSINGNO. + db DEX_GOLDEEN + db DEX_SEAKING + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db DEX_PONYTA + db DEX_RAPIDASH + db DEX_RATTATA + db DEX_RATICATE + db DEX_NIDORINO + db DEX_NIDORINA + db DEX_GEODUDE + db DEX_PORYGON + db DEX_AERODACTYL + db 0 ; MISSINGNO. + db DEX_MAGNEMITE + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db DEX_CHARMANDER + db DEX_SQUIRTLE + db DEX_CHARMELEON + db DEX_WARTORTLE + db DEX_CHARIZARD + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db DEX_ODDISH + db DEX_GLOOM + db DEX_VILEPLUME + db DEX_BELLSPROUT + db DEX_WEEPINBELL + db DEX_VICTREEBEL + +INCBIN "baserom.gbc",$410e2,$4160c - $410e2 + +UnnamedText_4160c: ; 0x4160c + TX_FAR _UnnamedText_4160c + db $50 +; 0x4160c + 5 bytes + +INCBIN "baserom.gbc",$41611,$41623 - $41611 + +UnnamedText_41623: ; 0x41623 + TX_FAR _UnnamedText_41623 + db $50 +; 0x41623 + 5 bytes + +UnnamedText_41628: ; 0x41628 + TX_FAR _UnnamedText_41628 + db $50 +; 0x41628 + 5 bytes + +INCBIN "baserom.gbc",$4162d,$41642 - $4162d + +UnnamedText_41642: ; 0x41642 + TX_FAR _UnnamedText_41642 + db $50 +; 0x41642 + 5 bytes + +UnnamedText_41647: ; 0x41647 + TX_FAR _UnnamedText_41647 + db $50 +; 0x41647 + 5 bytes + +INCBIN "baserom.gbc",$4164c,$41655 - $4164c + +UnnamedText_41655: ; 0x41655 + TX_FAR _UnnamedText_41655 + db $50 +; 0x41655 + 5 bytes + +INCBIN "baserom.gbc",$4165a,$4166c - $4165a + +UnnamedText_4166c: ; 0x4166c + TX_FAR _UnnamedText_4166c + db $50 +; 0x4166c + 5 bytes + +UnnamedText_41671: ; 0x41671 + TX_FAR _UnnamedText_41671 + db $50 +; 0x41671 + 5 bytes + +INCBIN "baserom.gbc",$41676,$a63 + +IF _RED + INCBIN "gfx/red/introfight.2bpp" +ENDC +IF _BLUE + INCBIN "gfx/blue/introfight.2bpp" +ENDC + +; XXX what do these do + FuncCoord 5,0 + ld hl,Coord + ld de,OTString67E5 + call PlaceString + ld a,[$CD3D] + ld [$D11E],a + ld a,$3A + call Predef + ld hl,$C3A9 + ld de,$D11E + ld bc,$8103 + call $3C5F + FuncCoord 5,2 + ld hl,Coord + ld de,$CF4B + call PlaceString + FuncCoord 8,4 + ld hl,Coord + ld de,$CD41 + call PlaceString + ld hl,$C420 + ld de,$CD4C + ld bc,$8205 + jp $3C5F + + FuncCoord 5,10 + ld hl,Coord + ld de,OTString67E5 + call PlaceString + ld a,[$CD3E] + ld [$D11E],a + ld a,$3A + call Predef + ld hl,$C471 + ld de,$D11E + ld bc,$8103 + call $3C5F + FuncCoord 5,12 + ld hl,Coord + ld de,$CD6D + call PlaceString + FuncCoord 8,14 + ld hl,Coord + ld de,$CD4E + call PlaceString + ld hl,$C4E8 + ld de,$CD59 + ld bc,$8205 + jp $3C5F + +OTString67E5: ; 67E5 + db "──",$74,$F2,$4E + db $4E + db "OT/",$4E + db $73,"№",$F2,"@" + +SECTION "bank11",DATA,BANK[$11] + +LavenderTown_h: ; 0x44000 to 0x4402d (45 bytes) (bank=11) (id=4) + db $00 ; tileset + db LAVENDER_TOWN_HEIGHT, LAVENDER_TOWN_WIDTH ; dimensions (y, x) + dw LavenderTownBlocks, LavenderTownTexts, LavenderTownScript ; blocks, texts, scripts + db NORTH | SOUTH | WEST ; connections + + ; connections data + + db ROUTE_10 + dw Route10Blocks + (ROUTE_10_HEIGHT - 3) * ROUTE_10_WIDTH ; connection strip location + dw $C6EB + 0 ; current map position + db ROUTE_10_WIDTH, ROUTE_10_WIDTH ; bigness, width + db (ROUTE_10_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x) + dw $C6E9 + ROUTE_10_HEIGHT * (ROUTE_10_WIDTH + 6) ; window + + db ROUTE_12 + dw Route12Blocks ; connection strip location + dw $C6EB + (LAVENDER_TOWN_HEIGHT + 3) * (LAVENDER_TOWN_WIDTH + 6) + 0 ; current map position + db ROUTE_12_WIDTH, ROUTE_12_WIDTH ; bigness, width + db 0, (0 * -2) ; alignments (y, x) + dw $C6EF + ROUTE_12_WIDTH ; window + + db ROUTE_8 + dw Route8Blocks - 3 + (ROUTE_8_WIDTH) ; connection strip location + dw $C6E8 + (LAVENDER_TOWN_WIDTH + 6) * (0 + 3) ; current map position + db ROUTE_8_HEIGHT, ROUTE_8_WIDTH ; bigness, width + db (0 * -2), (ROUTE_8_WIDTH * 2) - 1 ; alignments (y, x) + dw $C6EE + 2 * ROUTE_8_WIDTH ; window + + ; end connections data + + dw LavenderTownObject ; objects + +LavenderTownObject: ; 0x4402d (size=88) + db $2c ; border tile + + db $6 ; warps + db $5, $3, $0, LAVENDER_POKECENTER + db $5, $e, $0, POKEMONTOWER_1 + db $9, $7, $0, LAVENDER_HOUSE_1 + db $d, $f, $0, LAVENDER_MART + db $d, $3, $0, LAVENDER_HOUSE_2 + db $d, $7, $0, NAME_RATERS_HOUSE + + db $6 ; signs + db $9, $b, $4 ; LavenderTownText4 + db $3, $9, $5 ; LavenderTownText5 + db $d, $10, $6 ; LavenderTownText6 + db $5, $4, $7 ; LavenderTownText7 + db $9, $5, $8 ; LavenderTownText8 + db $7, $11, $9 ; LavenderTownText9 + + db $3 ; people + db SPRITE_LITTLE_GIRL, $9 + 4, $f + 4, $fe, $0, $1 ; person + db SPRITE_BLACK_HAIR_BOY_1, $a + 4, $9 + 4, $ff, $ff, $2 ; person + db SPRITE_BLACK_HAIR_BOY_2, $7 + 4, $8 + 4, $fe, $2, $3 ; person + + ; warp-to + EVENT_DISP $a, $5, $3 ; LAVENDER_POKECENTER + EVENT_DISP $a, $5, $e ; POKEMONTOWER_1 + EVENT_DISP $a, $9, $7 ; LAVENDER_HOUSE_1 + EVENT_DISP $a, $d, $f ; LAVENDER_MART + EVENT_DISP $a, $d, $3 ; LAVENDER_HOUSE_2 + EVENT_DISP $a, $d, $7 ; NAME_RATERS_HOUSE + +LavenderTownBlocks: ; 0x44085 90 + INCBIN "maps/lavendertown.blk" + +ViridianPokecenterBlocks: ; 0x440df 28 + INCBIN "maps/viridianpokecenter.blk" + +SafariZoneRestHouse1Blocks: ; 0x440fb 16 + INCBIN "maps/safarizoneresthouse1.blk" + +LavenderTownScript: ; 0x4410b + jp $3c3c +; 0x4410e + +LavenderTownTexts: ; 0x4410e + dw LavenderTownText1, LavenderTownText2, LavenderTownText3, LavenderTownText4, LavenderTownText5, LavenderTownText6, LavenderTownText7, LavenderTownText8, LavenderTownText9 + +LavenderTownText1: ; 0x44120 + db $08 ; asm + ld hl, UnnamedText_4413c + call PrintText + call $35ec + ld a, [$cc26] + and a + ld hl, UnnamedText_44146 + jr nz, .asm_40831 ; 0x44131 + ld hl, UnnamedText_44141 +.asm_40831 ; 0x44136 + call PrintText + jp TextScriptEnd + +UnnamedText_4413c: ; 0x4413c + TX_FAR _UnnamedText_4413c + db $50 +; 0x4413c + 5 bytes + +UnnamedText_44141: ; 0x44141 + TX_FAR _UnnamedText_44141 + db $50 +; 0x44141 + 5 bytes + +UnnamedText_44146: ; 0x44146 + TX_FAR _UnnamedText_44146 + db $50 +; 0x44146 + 5 bytes + +LavenderTownText2: ; 0x4414b + TX_FAR _LavenderTownText2 + db $50 + +LavenderTownText3: ; 0x44150 + TX_FAR _LavenderTownText3 + db $50 + +LavenderTownText4: ; 0x44155 + TX_FAR _LavenderTownText4 + db $50 + +LavenderTownText5: ; 0x4415a + TX_FAR _LavenderTownText5 + db $50 + +LavenderTownText8: ; 0x4415f + TX_FAR _LavenderTownText8 + db $50 + +LavenderTownText9: ; 0x44164 + TX_FAR _LavenderTownText9 + db $50 + +INCBIN "baserom.gbc",$44169,$441cc - $44169 + +UnnamedText_441cc: ; 0x441cc + TX_FAR _UnnamedText_441cc + db $50 +; 0x441cc + 5 bytes + +INCBIN "baserom.gbc",$441d1,$44201 - $441d1 + +UnnamedText_44201: ; 0x44201 + TX_FAR _UnnamedText_44201 + db $50 +; 0x44201 + 5 bytes + +UnnamedText_44206: ; 0x44206 + TX_FAR _UnnamedText_44206 + db $50 +; 0x44206 + 5 bytes + +UnnamedText_4420b: ; 0x4420b + TX_FAR _UnnamedText_4420b + db $50 +; 0x4420b + 5 bytes + +UnnamedText_44210: ; 0x44210 + TX_FAR _UnnamedText_44210 + db $50 +; 0x44210 + 5 bytes + +UnnamedText_44215: ; 0x44215 + TX_FAR _UnnamedText_44215 + db $50 +; 0x44215 + 5 bytes + +UnnamedText_4421a: ; 0x4421a + TX_FAR _UnnamedText_4421a + db $50 +; 0x4421a + 5 bytes + +UnnamedText_4421f: ; 0x4421f + TX_FAR _UnnamedText_4421f + db $50 +; 0x4421f + 5 bytes + +UnnamedText_44224: ; 0x44224 + TX_FAR _UnnamedText_44224 + db $50 +; 0x44224 + 5 bytes + +UnnamedText_44229: ; 0x44229 + TX_FAR _UnnamedText_44229 + db $50 +; 0x44229 + 5 bytes + +UnnamedText_4422e: ; 0x4422e + TX_FAR _UnnamedText_4422e + db $50 +; 0x4422e + 5 bytes + +UnnamedText_44233: ; 0x44233 + TX_FAR _UnnamedText_44233 + db $50 +; 0x44233 + 5 bytes + +UnnamedText_44238: ; 0x44238 + TX_FAR _UnnamedText_44238 + db $50 +; 0x44238 + 5 bytes + +UnnamedText_4423d: ; 0x4423d + TX_FAR _UnnamedText_4423d + db $50 +; 0x4423d + 5 bytes + +UnnamedText_44242: ; 0x44242 + TX_FAR _UnnamedText_44242 + db $50 +; 0x44242 + 5 bytes + +UnnamedText_44247: ; 0x44247 + TX_FAR _UnnamedText_44247 + db $50 +; 0x44247 + 5 bytes + +UnnamedText_4424c: ; 0x4424c + TX_FAR _UnnamedText_4424c + db $50 +; 0x4424c + 5 bytes + +ViridianPokecenter_h: ; 0x44251 to 0x4425d (12 bytes) (bank=11) (id=41) + db $06 ; tileset + db $04, $07 ; dimensions (y, x) + dw ViridianPokecenterBlocks, ViridianPokecenterTexts, ViridianPokeCenterScript ; blocks, texts, scripts + db $00 ; connections + + dw ViridianPokecenterObject ; objects + +ViridianPokeCenterScript: ; 0x4425d + call $22fa + jp $3c3c +; 0x44263 + +ViridianPokecenterTexts: ; 0x44263 + dw ViridianPokeCenterText1, ViridianPokeCenterText2, ViridianPokeCenterText3, ViridianPokeCenterText4 + +ViridianPokeCenterText1: ; 0x4426b + db $ff + +ViridianPokeCenterText2: ; 0x4426c + TX_FAR _ViridianPokeCenterText1 + db $50 + +INCBIN "baserom.gbc",$44271,$44271 - $44271 + +ViridianPokeCenterText3: ; 0x44271 + TX_FAR _ViridianPokeCenterText3 + db $50 + +ViridianPokeCenterText4: + db $f6 + +ViridianPokecenterObject: ; 0x44277 (size=44) + db $0 ; border tile + + db $2 ; warps + db $7, $3, $0, $ff + db $7, $4, $0, $ff + + db $0 ; signs + + db $4 ; people + db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person + db SPRITE_GENTLEMAN, $5 + 4, $a + 4, $fe, $1, $2 ; person + db SPRITE_BLACK_HAIR_BOY_1, $3 + 4, $4 + 4, $ff, $ff, $3 ; person + db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person + + ; warp-to + EVENT_DISP $7, $7, $3 + EVENT_DISP $7, $7, $4 + +Mansion1_h: ; 0x442a3 to 0x442af (12 bytes) (bank=11) (id=165) + db $16 ; tileset + db MANSION_1_HEIGHT, MANSION_1_WIDTH ; dimensions (y, x) + dw Mansion1Blocks, Mansion1Texts, Mansion1Script ; blocks, texts, scripts + db $00 ; connections + + dw Mansion1Object ; objects + +Mansion1Script: + call Mansion1Subscript1 + call $3c3c + ld hl, Mansion1TrainerHeaders + ld de, $4326 + ld a, [$d63a] + call $3160 + ld [$d63a], a + ret +; 0x442c5 + +Mansion1Subscript1: ; 0x442c5 + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + ret z + ld a, [$d796] + bit 0, a + jr nz, .asm_442ec ; 0x442d2 $18 + ld bc, $060c + call $430b + ld bc, $0308 + call $4304 + ld bc, $080a + call $4304 + ld bc, $0d0d + jp $4304 +.asm_442ec + ld bc, $060c + call $4304 + ld bc, $0308 + call $430b + ld bc, $080a + call $430b + ld bc, $0d0d + jp $430b +; 0x44304 + +INCBIN "baserom.gbc",$44304,$4432c - $44304 + +Mansion1Texts: ; 0x4432c + dw Mansion1Text1, Mansion1Text2, Mansion1Text3, Mansion1Text4 + +Mansion1TrainerHeaders: +TrainerHeader_44334: ; 0x44334 + db $1 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d798 ; flag's byte + dw UnnamedText_4434b ; 0x434b TextBeforeBattle + dw UnnamedText_44355 ; 0x4355 TextAfterBattle + dw UnnamedText_44350 ; 0x4350 TextEndBattle + dw UnnamedText_44350 ; 0x4350 TextEndBattle +; 0x44340 + +db $ff + +Mansion1Text1: ; 0x44341 + db $08 ; asm + ld hl, TrainerHeader_44334 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_4434b: ; 0x4434b + TX_FAR _UnnamedText_4434b + db $50 +; 0x4434b + 5 bytes + +UnnamedText_44350: ; 0x44350 + TX_FAR _UnnamedText_44350 + db $50 +; 0x44350 + 5 bytes + +UnnamedText_44355: ; 0x44355 + TX_FAR _UnnamedText_44355 + db $50 +; 0x44355 + 5 bytes + +Mansion1Text4: ; 0x4435a + db $8 + ld hl, UnnamedText_44395 + call PrintText + call $35ec + ld a, [$cc26] + and a + jr nz, .asm_4438c ; 0x44368 $22 + ld a, $1 + ld [$cc3c], a + ld hl, $d126 + set 5, [hl] + ld hl, UnnamedText_4439a + call PrintText + ld a, $ad + call $23b1 + ld hl, $d796 + bit 0, [hl] + set 0, [hl] + jr z, .asm_44392 ; 0x44386 $a + res 0, [hl] + jr .asm_44392 ; 0x4438a $6 +.asm_4438c + ld hl, UnnamedText_4439f + call PrintText +.asm_44392 + jp TextScriptEnd +; 0x44395 + +UnnamedText_44395: ; 0x44395 + TX_FAR _UnnamedText_44395 + db $50 +; 0x44395 + 5 bytes + +UnnamedText_4439a: ; 0x4439a + TX_FAR _UnnamedText_4439a + db $50 +; 0x4439a + 5 bytes + +UnnamedText_4439f: ; 0x4439f + TX_FAR _UnnamedText_4439f + db $50 +; 0x4439f + 5 bytes + +Mansion1Object: ; 0x443a4 (size=90) + db $2e ; border tile + + db $8 ; warps + db $1b, $4, $0, $ff + db $1b, $5, $0, $ff + db $1b, $6, $0, $ff + db $1b, $7, $0, $ff + db $a, $5, $0, MANSION_2 + db $17, $15, $0, MANSION_4 + db $1b, $1a, $0, $ff + db $1b, $1b, $0, $ff + + db $0 ; signs + + db $3 ; people + db SPRITE_OAK_AIDE, $11 + 4, $11 + 4, $ff, $d2, $41, SCIENTIST + $C8, $4 ; trainer + db SPRITE_BALL, $3 + 4, $e + 4, $ff, $ff, $82, ESCAPE_ROPE ; item + db SPRITE_BALL, $15 + 4, $12 + 4, $ff, $ff, $83, CARBOS ; item + + ; warp-to + EVENT_DISP $f, $1b, $4 + EVENT_DISP $f, $1b, $5 + EVENT_DISP $f, $1b, $6 + EVENT_DISP $f, $1b, $7 + EVENT_DISP $f, $a, $5 ; MANSION_2 + EVENT_DISP $f, $17, $15 ; MANSION_4 + EVENT_DISP $f, $1b, $1a + EVENT_DISP $f, $1b, $1b + +Mansion1Blocks: ; 0x44405 203 + INCBIN "maps/mansion1.blk" + +RockTunnel1_h: ; 0x444d0 to 0x444dc (12 bytes) (bank=11) (id=82) + db $11 ; tileset + db ROCK_TUNNEL_1_HEIGHT, ROCK_TUNNEL_1_WIDTH ; dimensions (y, x) + dw RockTunnel1Blocks, RockTunnel1Texts, RockTunnel1Script ; blocks, texts, scripts + db $00 ; connections + + dw RockTunnel1Object ; objects + +RockTunnel1Script: ; 0x444dc + call $3c3c + ld hl, Unnamed_44505 ; $4505 + ld de, Unnamed_444ef ; $44ef + ld a, [$d621] + call $3160 + ld [$d621], a + ret +; 0x444ef + +Unnamed_444ef: +INCBIN "baserom.gbc",$444ef,$6 + +RockTunnel1Texts: ; 0x444f5 + dw RockTunnel1Text1, RockTunnel1Text2, RockTunnel1Text3, RockTunnel1Text4, RockTunnel1Text5, RockTunnel1Text6, RockTunnel1Text7, RockTunnel1Text8 + +Unnamed_44505: +INCBIN "baserom.gbc",$44505,$55 + +RockTunnel1Text1: ; 0x4455a + db $8 + ld hl, $4505 + jr asm_0c916 ; 0x4455e $22 + +RockTunnel1Text2: + db $8 + ld hl, $4511 + jr asm_0c916 ; 0x44564 $1c + +RockTunnel1Text3: + db $8 + ld hl, $451d + jr asm_0c916 ; 0x4456a $16 + +RockTunnel1Text4: + db $8 + ld hl, $4529 + jr asm_0c916 ; 0x44570 $10 + +RockTunnel1Text5: + db $8 + ld hl, $4535 + jr asm_0c916 ; 0x44576 $a + +RockTunnel1Text6: + db $8 + ld hl, $4541 + jr asm_0c916 ; 0x4457c $4 + +RockTunnel1Text7: + db $8 + ld hl, $454d +asm_0c916: ; 0x44582 + call $31cc + jp TextScriptEnd + +UnnamedText_44588: ; 0x44588 + TX_FAR _UnnamedText_44588 + db $50 +; 0x44588 + 5 bytes + +UnnamedText_4458d: ; 0x4458d + TX_FAR _UnnamedText_4458d + db $50 +; 0x4458d + 5 bytes + +UnnamedText_44592: ; 0x44592 + TX_FAR _UnnamedText_44592 + db $50 +; 0x44592 + 5 bytes + +UnnamedText_44597: ; 0x44597 + TX_FAR _UnnamedText_44597 + db $50 +; 0x44597 + 5 bytes + +UnnamedText_4459c: ; 0x4459c + TX_FAR _UnnamedText_4459c + db $50 +; 0x4459c + 5 bytes + +UnnamedText_445a1: ; 0x445a1 + TX_FAR _UnnamedText_445a1 + db $50 +; 0x445a1 + 5 bytes + +UnnamedText_445a6: ; 0x445a6 + TX_FAR _UnnamedText_445a6 + db $50 +; 0x445a6 + 5 bytes + +UnnamedText_445ab: ; 0x445ab + TX_FAR _UnnamedText_445ab + db $50 +; 0x445ab + 5 bytes + +UnnamedText_445b0: ; 0x445b0 + TX_FAR _UnnamedText_445b0 + db $50 +; 0x445b0 + 5 bytes + +UnnamedText_445b5: ; 0x445b5 + TX_FAR _UnnamedText_445b5 + db $50 +; 0x445b5 + 5 bytes + +UnnamedText_445ba: ; 0x445ba + TX_FAR _UnnamedText_445ba + db $50 +; 0x445ba + 5 bytes + +UnnamedText_445bf: ; 0x445bf + TX_FAR _UnnamedText_445bf + db $50 +; 0x445bf + 5 bytes + +UnnamedText_445c4: ; 0x445c4 + TX_FAR _UnnamedText_445c4 + db $50 +; 0x445c4 + 5 bytes + +UnnamedText_445c9: ; 0x445c9 + TX_FAR _UnnamedText_445c9 + db $50 +; 0x445c9 + 5 bytes + +UnnamedText_445ce: ; 0x445ce + TX_FAR _UnnamedText_445ce + db $50 +; 0x445ce + 5 bytes + +UnnamedText_445d3: ; 0x445d3 + TX_FAR _UnnamedText_445d3 + db $50 +; 0x445d3 + 5 bytes + +UnnamedText_445d8: ; 0x445d8 + TX_FAR _UnnamedText_445d8 + db $50 +; 0x445d8 + 5 bytes + +UnnamedText_445dd: ; 0x445dd + TX_FAR _UnnamedText_445dd + db $50 +; 0x445dd + 5 bytes + +UnnamedText_445e2: ; 0x445e2 + TX_FAR _UnnamedText_445e2 + db $50 +; 0x445e2 + 5 bytes + +UnnamedText_445e7: ; 0x445e7 + TX_FAR _UnnamedText_445e7 + db $50 +; 0x445e7 + 5 bytes + +UnnamedText_445ec: ; 0x445ec + TX_FAR _UnnamedText_445ec + db $50 +; 0x445ec + 5 bytes + +RockTunnel1Text8: ; 0x445f1 + TX_FAR _RockTunnel1Text8 + db $50 + +RockTunnel1Object: ; 0x445f6 (size=127) + db $3 ; border tile + + db $8 ; warps + db $3, $f, $1, $ff + db $0, $f, $1, $ff + db $21, $f, $2, $ff + db $23, $f, $2, $ff + db $3, $25, $0, ROCK_TUNNEL_2 + db $3, $5, $1, ROCK_TUNNEL_2 + db $b, $11, $2, ROCK_TUNNEL_2 + db $11, $25, $3, ROCK_TUNNEL_2 + + db $1 ; signs + db $1d, $b, $8 ; RockTunnel1Text8 + + db $7 ; people + db SPRITE_HIKER, $5 + 4, $7 + 4, $ff, $d0, $41, HIKER + $C8, $c ; trainer + db SPRITE_HIKER, $10 + 4, $5 + 4, $ff, $d0, $42, HIKER + $C8, $d ; trainer + db SPRITE_HIKER, $f + 4, $11 + 4, $ff, $d2, $43, HIKER + $C8, $e ; trainer + db SPRITE_BLACK_HAIR_BOY_2, $8 + 4, $17 + 4, $ff, $d2, $44, POKEMANIAC + $C8, $7 ; trainer + db SPRITE_LASS, $15 + 4, $25 + 4, $ff, $d2, $45, JR__TRAINER_F + $C8, $11 ; trainer + db SPRITE_LASS, $18 + 4, $16 + 4, $ff, $d0, $46, JR__TRAINER_F + $C8, $12 ; trainer + db SPRITE_LASS, $18 + 4, $20 + 4, $ff, $d3, $47, JR__TRAINER_F + $C8, $13 ; trainer + + ; warp-to + EVENT_DISP $14, $3, $f + EVENT_DISP $14, $0, $f + EVENT_DISP $14, $21, $f + EVENT_DISP $14, $23, $f + EVENT_DISP $14, $3, $25 ; ROCK_TUNNEL_2 + EVENT_DISP $14, $3, $5 ; ROCK_TUNNEL_2 + EVENT_DISP $14, $b, $11 ; ROCK_TUNNEL_2 + EVENT_DISP $14, $11, $25 ; ROCK_TUNNEL_2 + +RockTunnel1Blocks: ; 0x44675 360 + INCBIN "maps/rocktunnel1.blk" + +SeafoamIslands1_h: ; 0x447dd to 0x447e9 (12 bytes) (bank=11) (id=192) + db $11 ; tileset + db SEAFOAM_ISLANDS_1_HEIGHT, SEAFOAM_ISLANDS_1_WIDTH ; dimensions (y, x) + dw SeafoamIslands1Blocks, SeafoamIslands1Texts, SeafoamIslands1Script ; blocks, texts, scripts + db $00 ; connections + + dw SeafoamIslands1Object ; objects + +SeafoamIslands1Script: ; 0x447e9 + call $3c3c + ld hl, $d7e7 + set 0, [hl] + ld hl, $cd60 + bit 7, [hl] + res 7, [hl] + jr z, .asm_4483b ; 0x447f8 $41 + ld hl, SeafoamIslands1Script_Unknown44846 + call $34e4 + ret nc + ld hl, $d7e8 + ld a, [$cd3d] + cp $1 + jr nz, .asm_44819 ; 0x44809 $e + set 6, [hl] + ld a, $d7 + ld [$d079], a + ld a, $d9 + ld [$d07a], a + jr .asm_44825 ; 0x44817 $c +.asm_44819 + set 7, [hl] + ld a, $d8 + ld [$d079], a + ld a, $da + ld [$d07a], a +.asm_44825 + ld a, [$d079] + ld [$cc4d], a + ld a, $11 + call Predef + ld a, [$d07a] + ld [$cc4d], a + ld a, $15 + jp $3e6d +.asm_4483b + ld a, $9f + ld [$d71d], a + ld hl, SeafoamIslands1Script_Unknown44846 + jp $6981 +; 0x44846 + +SeafoamIslands1Script_Unknown44846: ; 0x44846 +INCBIN "baserom.gbc",$44846,$5 + +SeafoamIslands1Texts: ; 0x4484b + dw SeafoamIslands1Text1, SeafoamIslands1Text2 + +SeafoamIslands1Object: ; 0x4484f (size=72) + db $7d ; border tile + + db $7 ; warps + db $11, $4, $0, $ff + db $11, $5, $0, $ff + db $11, $1a, $1, $ff + db $11, $1b, $1, $ff + db $5, $7, $1, SEAFOAM_ISLANDS_2 + db $3, $19, $6, SEAFOAM_ISLANDS_2 + db $f, $17, $4, SEAFOAM_ISLANDS_2 + + db $0 ; signs + + db $2 ; people + db SPRITE_BOULDER, $a + 4, $12 + 4, $ff, $10, $1 ; person + db SPRITE_BOULDER, $7 + 4, $1a + 4, $ff, $10, $2 ; person + + ; warp-to + EVENT_DISP $f, $11, $4 + EVENT_DISP $f, $11, $5 + EVENT_DISP $f, $11, $1a + EVENT_DISP $f, $11, $1b + EVENT_DISP $f, $5, $7 ; SEAFOAM_ISLANDS_2 + EVENT_DISP $f, $3, $19 ; SEAFOAM_ISLANDS_2 + EVENT_DISP $f, $f, $17 ; SEAFOAM_ISLANDS_2 + +INCBIN "baserom.gbc",$44897,$8 + +SeafoamIslands1Blocks: ; 0x4489f 135 + INCBIN "maps/seafoamislands1.blk" + +SSAnne3_h: ; 0x44926 to 0x44932 (12 bytes) (bank=11) (id=97) + db $0d ; tileset + db SS_ANNE_3_HEIGHT, SS_ANNE_3_WIDTH ; dimensions (y, x) + dw SSAnne3Blocks, SSAnne3Texts, SSAnne3Script ; blocks, texts, scripts + db $00 ; connections + + dw SSAnne3Object ; objects + +SSAnne3Script: ; 0x44932 + jp $3c3c +; 0x44935 + +SSAnne3Texts: ; 0x44935 + dw SSAnne3Text1 + +SSAnne3Text1: ; 0x44937 + TX_FAR _SSAnne3Text1 + db $50 + +SSAnne3Object: ; 0x4493c (size=26) + db $c ; border tile + + db $2 ; warps + db $3, $0, $0, SS_ANNE_5 + db $3, $13, $7, SS_ANNE_2 + + db $0 ; signs + + db $1 ; people + db SPRITE_SAILOR, $3 + 4, $9 + 4, $fe, $2, $1 ; person + + ; warp-to + EVENT_DISP $a, $3, $0 ; SS_ANNE_5 + EVENT_DISP $a, $3, $13 ; SS_ANNE_2 + +SSAnne3Blocks: ; 0x44956 30 + INCBIN "maps/ssanne3.blk" + +VictoryRoad3_h: ; 0x44974 to 0x44980 (12 bytes) (bank=11) (id=198) + db $11 ; tileset + db VICTORY_ROAD_3_HEIGHT, VICTORY_ROAD_3_WIDTH ; dimensions (y, x) + dw VictoryRoad3Blocks, VictoryRoad3Texts, VictoryRoad3Script ; blocks, texts, scripts + db $00 ; connections + + dw VictoryRoad3Object ; objects + +VictoryRoad3Script: ; 0x44980 + call VictoryRoad3Script_Unknown44996 + call $3c3c + ld hl, VictoryRoad3TrainerHeaders + ld de, $49b1 + ld a, [$d640] + call $3160 + ld [$d640], a + ret +; 0x44996 + +VictoryRoad3Script_Unknown44996: ; 0x44996 +INCBIN "baserom.gbc",$44996,$8e + +VictoryRoad3Texts: ; 0x44a24 + dw VictoryRoad3Text1, VictoryRoad3Text2, VictoryRoad3Text3, VictoryRoad3Text4, VictoryRoad3Text5, VictoryRoad3Text6, VictoryRoad3Text7, VictoryRoad3Text8, VictoryRoad3Text9, VictoryRoad3Text10 + +VictoryRoad3TrainerHeaders: +TrainerHeader_44a38: ; 0x44a38 + db $1 ; flag's bit + db ($1 << 4) ; trainer's view range + dw $d813 ; flag's byte + dw UnnamedText_44a91 ; 0x4a91 TextBeforeBattle + dw UnnamedText_44a9b ; 0x4a9b TextAfterBattle + dw UnnamedText_44a96 ; 0x4a96 TextEndBattle + dw UnnamedText_44a96 ; 0x4a96 TextEndBattle +; 0x44a44 + +TrainerHeader_44a44: ; 0x44a44 + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d813 ; flag's byte + dw UnnamedText_44aa0 ; 0x4aa0 TextBeforeBattle + dw UnnamedText_44aaa ; 0x4aaa TextAfterBattle + dw UnnamedText_44aa5 ; 0x4aa5 TextEndBattle + dw UnnamedText_44aa5 ; 0x4aa5 TextEndBattle +; 0x44a50 + +TrainerHeader_44a50: ; 0x44a50 + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d813 ; flag's byte + dw UnnamedText_44aaf ; 0x4aaf TextBeforeBattle + dw UnnamedText_44ab9 ; 0x4ab9 TextAfterBattle + dw UnnamedText_44ab4 ; 0x4ab4 TextEndBattle + dw UnnamedText_44ab4 ; 0x4ab4 TextEndBattle +; 0x44a5c + +TrainerHeader_44a5c: ; 0x44a5c + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d813 ; flag's byte + dw UnnamedText_44abe ; 0x4abe TextBeforeBattle + dw UnnamedText_44ac8 ; 0x4ac8 TextAfterBattle + dw UnnamedText_44ac3 ; 0x4ac3 TextEndBattle + dw UnnamedText_44ac3 ; 0x4ac3 TextEndBattle +; 0x44a68 + +db $ff + +VictoryRoad3Text1: ; 0x44a69 + db $08 ; asm + ld hl, TrainerHeader_44a38 + call LoadTrainerHeader + jp TextScriptEnd + +VictoryRoad3Text2: ; 0x44a73 + db $08 ; asm + ld hl, TrainerHeader_44a44 + call LoadTrainerHeader + jp TextScriptEnd + +VictoryRoad3Text3: ; 0x44a7d + db $08 ; asm + ld hl, TrainerHeader_44a50 + call LoadTrainerHeader + jp TextScriptEnd + +VictoryRoad3Text4: ; 0x44a87 + db $08 ; asm + ld hl, TrainerHeader_44a5c + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_44a91: ; 0x44a91 + TX_FAR _UnnamedText_44a91 + db $50 +; 0x44a91 + 5 bytes + +UnnamedText_44a96: ; 0x44a96 + TX_FAR _UnnamedText_44a96 + db $50 +; 0x44a96 + 5 bytes + +UnnamedText_44a9b: ; 0x44a9b + TX_FAR _UnnamedText_44a9b + db $50 +; 0x44a9b + 5 bytes + +UnnamedText_44aa0: ; 0x44aa0 + TX_FAR _UnnamedText_44aa0 + db $50 +; 0x44aa0 + 5 bytes + +UnnamedText_44aa5: ; 0x44aa5 + TX_FAR _UnnamedText_44aa5 + db $50 +; 0x44aa5 + 5 bytes + +UnnamedText_44aaa: ; 0x44aaa + TX_FAR _UnnamedText_44aaa + db $50 +; 0x44aaa + 5 bytes + +UnnamedText_44aaf: ; 0x44aaf + TX_FAR _UnnamedText_44aaf + db $50 +; 0x44aaf + 5 bytes + +UnnamedText_44ab4: ; 0x44ab4 + TX_FAR _UnnamedText_44ab4 + db $50 +; 0x44ab4 + 5 bytes + +UnnamedText_44ab9: ; 0x44ab9 + TX_FAR _UnnamedText_44ab9 + db $50 +; 0x44ab9 + 5 bytes + +UnnamedText_44abe: ; 0x44abe + TX_FAR _UnnamedText_44abe + db $50 +; 0x44abe + 5 bytes + +UnnamedText_44ac3: ; 0x44ac3 + TX_FAR _UnnamedText_44ac3 + db $50 +; 0x44ac3 + 5 bytes + +UnnamedText_44ac8: ; 0x44ac8 + TX_FAR _UnnamedText_44ac8 + db $50 +; 0x44ac8 + 5 bytes + +VictoryRoad3Object: ; 0x44acd (size=106) + db $7d ; border tile + + db $4 ; warps + db $7, $17, $3, VICTORY_ROAD_2 + db $8, $1a, $5, VICTORY_ROAD_2 + db $f, $1b, $4, VICTORY_ROAD_2 + db $0, $2, $6, VICTORY_ROAD_2 + + db $0 ; signs + + db $a ; people + db SPRITE_BLACK_HAIR_BOY_1, $5 + 4, $1c + 4, $ff, $d2, $41, COOLTRAINER_M + $C8, $2 ; trainer + db SPRITE_LASS, $d + 4, $7 + 4, $ff, $d3, $42, COOLTRAINER_F + $C8, $2 ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $e + 4, $6 + 4, $ff, $d2, $43, COOLTRAINER_M + $C8, $3 ; trainer + db SPRITE_LASS, $3 + 4, $d + 4, $ff, $d3, $44, COOLTRAINER_F + $C8, $3 ; trainer + db SPRITE_BALL, $5 + 4, $1a + 4, $ff, $ff, $85, MAX_REVIVE ; item + db SPRITE_BALL, $7 + 4, $7 + 4, $ff, $ff, $86, TM_47 ; item + db SPRITE_BOULDER, $3 + 4, $16 + 4, $ff, $10, $7 ; person + db SPRITE_BOULDER, $c + 4, $d + 4, $ff, $10, $8 ; person + db SPRITE_BOULDER, $a + 4, $18 + 4, $ff, $10, $9 ; person + db SPRITE_BOULDER, $f + 4, $16 + 4, $ff, $10, $a ; person + + ; warp-to + EVENT_DISP $f, $7, $17 ; VICTORY_ROAD_2 + EVENT_DISP $f, $8, $1a ; VICTORY_ROAD_2 + EVENT_DISP $f, $f, $1b ; VICTORY_ROAD_2 + EVENT_DISP $f, $0, $2 ; VICTORY_ROAD_2 + +VictoryRoad3Blocks: ; 0x44b37 135 + INCBIN "maps/victoryroad3.blk" + +RocketHideout1_h: ; 0x44bbe to 0x44bca (12 bytes) (bank=11) (id=199) + db $16 ; tileset + db ROCKET_HIDEOUT_1_HEIGHT, ROCKET_HIDEOUT_1_WIDTH ; dimensions (y, x) + dw RocketHideout1Blocks, RocketHideout1Texts, RocketHideout1Script ; blocks, texts, scripts + db $00 ; connections + + dw RocketHideout1Object ; objects + +RocketHideout1Script: ; 0x44bca + call Unknown_44be0 + call $3c3c + ld hl, RocketHideout1TrainerHeaders + ld de, $4c0e + ld a, [$d631] + call $3160 + ld [$d631], a + ret +; 0x44be0 + +Unknown_44be0: ; 0x44be0 +INCBIN "baserom.gbc",$44be0,$34 + +RocketHideout1Texts: ; 0x44c14 + dw RocketHideout1Text1, RocketHideout1Text2, RocketHideout1Text3, RocketHideout1Text4, RocketHideout1Text5, RocketHideout1Text6, RocketHideout1Text7 + +RocketHideout1TrainerHeaders: +TrainerHeader_44c22: ; 0x44c22 + db $1 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d815 ; flag's byte + dw UnnamedText_44ca1 ; 0x4ca1 TextBeforeBattle + dw UnnamedText_44cab ; 0x4cab TextAfterBattle + dw UnnamedText_44ca6 ; 0x4ca6 TextEndBattle + dw UnnamedText_44ca6 ; 0x4ca6 TextEndBattle +; 0x44c2e + +TrainerHeader_44c2e: ; 0x44c2e + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d815 ; flag's byte + dw UnnamedText_44cb0 ; 0x4cb0 TextBeforeBattle + dw UnnamedText_44cba ; 0x4cba TextAfterBattle + dw UnnamedText_44cb5 ; 0x4cb5 TextEndBattle + dw UnnamedText_44cb5 ; 0x4cb5 TextEndBattle +; 0x44c3a + +TrainerHeader_44c3a: ; 0x44c3a + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d815 ; flag's byte + dw UnnamedText_44cbf ; 0x4cbf TextBeforeBattle + dw UnnamedText_44cc9 ; 0x4cc9 TextAfterBattle + dw UnnamedText_44cc4 ; 0x4cc4 TextEndBattle + dw UnnamedText_44cc4 ; 0x4cc4 TextEndBattle +; 0x44c46 + +TrainerHeader_44c46: ; 0x44c46 + db $4 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d815 ; flag's byte + dw UnnamedText_44cce ; 0x4cce TextBeforeBattle + dw UnnamedText_44cd8 ; 0x4cd8 TextAfterBattle + dw UnnamedText_44cd3 ; 0x4cd3 TextEndBattle + dw UnnamedText_44cd3 ; 0x4cd3 TextEndBattle +; 0x44c52 + +TrainerHeader_44c52: ; 0x44c52 + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d815 ; flag's byte + dw UnnamedText_44cdd ; 0x4cdd TextBeforeBattle + dw UnnamedText_44ce2 ; 0x4ce2 TextAfterBattle + dw UnnamedText_44c91 ; 0x4c91 TextEndBattle + dw UnnamedText_44c91 ; 0x4c91 TextEndBattle +; 0x44c5e + +db $ff + +RocketHideout1Text1: ; 0x44c5f + db $08 ; asm + ld hl, TrainerHeader_44c22 + call LoadTrainerHeader + jp TextScriptEnd + +RocketHideout1Text2: ; 0x44c69 + db $08 ; asm + ld hl, TrainerHeader_44c2e + call LoadTrainerHeader + jp TextScriptEnd + +RocketHideout1Text3: ; 0x44c73 + db $08 ; asm + ld hl, TrainerHeader_44c3a + call LoadTrainerHeader + jp TextScriptEnd + +RocketHideout1Text4: ; 0x44c7d + db $08 ; asm + ld hl, TrainerHeader_44c46 + call LoadTrainerHeader + jp TextScriptEnd + +RocketHideout1Text5: ; 0x44c87 + db $08 ; asm + ld hl, TrainerHeader_44c52 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_44c91: ; 0x44c91 + TX_FAR _UnnamedText_44c91 ; 0x81f2a + db $8 + ld hl, $d815 + set 5, [hl] + ld hl, UnnamedText_44c9f + ret +; 0x44c9f + +UnnamedText_44c9f: ; 0x44c9f + db $6, $50 +; 0x44ca1 + +UnnamedText_44ca1: ; 0x44ca1 + TX_FAR _UnnamedText_44ca1 + db $50 +; 0x44ca1 + 5 bytes + +UnnamedText_44ca6: ; 0x44ca6 + TX_FAR _UnnamedText_44ca6 + db $50 +; 0x44ca6 + 5 bytes + +UnnamedText_44cab: ; 0x44cab + TX_FAR _UnnamedText_44cab + db $50 +; 0x44cab + 5 bytes + +UnnamedText_44cb0: ; 0x44cb0 + TX_FAR _UnnamedText_44cb0 + db $50 +; 0x44cb0 + 5 bytes + +UnnamedText_44cb5: ; 0x44cb5 + TX_FAR _UnnamedText_44cb5 + db $50 +; 0x44cb5 + 5 bytes + +UnnamedText_44cba: ; 0x44cba + TX_FAR _UnnamedText_44cba + db $50 +; 0x44cba + 5 bytes + +UnnamedText_44cbf: ; 0x44cbf + TX_FAR _UnnamedText_44cbf + db $50 +; 0x44cbf + 5 bytes + +UnnamedText_44cc4: ; 0x44cc4 + TX_FAR _UnnamedText_44cc4 + db $50 +; 0x44cc4 + 5 bytes + +UnnamedText_44cc9: ; 0x44cc9 + TX_FAR _UnnamedText_44cc9 + db $50 +; 0x44cc9 + 5 bytes + +UnnamedText_44cce: ; 0x44cce + TX_FAR _UnnamedText_44cce + db $50 +; 0x44cce + 5 bytes + +UnnamedText_44cd3: ; 0x44cd3 + TX_FAR _UnnamedText_44cd3 + db $50 +; 0x44cd3 + 5 bytes + +UnnamedText_44cd8: ; 0x44cd8 + TX_FAR _UnnamedText_44cd8 + db $50 +; 0x44cd8 + 5 bytes + +UnnamedText_44cdd: ; 0x44cdd + TX_FAR _UnnamedText_44cdd + db $50 +; 0x44cdd + 5 bytes + +UnnamedText_44ce2: ; 0x44ce2 + TX_FAR _UnnamedText_44ce2 + db $50 +; 0x44ce2 + 5 bytes + +RocketHideout1Object: ; 0x44ce7 (size=98) + db $2e ; border tile + + db $5 ; warps + db $2, $17, $0, ROCKET_HIDEOUT_2 + db $2, $15, $2, GAME_CORNER + db $13, $18, $0, ROCKET_HIDEOUT_ELEVATOR + db $18, $15, $3, ROCKET_HIDEOUT_2 + db $13, $19, $1, ROCKET_HIDEOUT_ELEVATOR + + db $0 ; signs + + db $7 ; people + db SPRITE_ROCKET, $8 + 4, $1a + 4, $ff, $d2, $41, ROCKET + $C8, $8 ; trainer + db SPRITE_ROCKET, $6 + 4, $c + 4, $ff, $d3, $42, ROCKET + $C8, $9 ; trainer + db SPRITE_ROCKET, $11 + 4, $12 + 4, $ff, $d0, $43, ROCKET + $C8, $a ; trainer + db SPRITE_ROCKET, $19 + 4, $f + 4, $ff, $d3, $44, ROCKET + $C8, $b ; trainer + db SPRITE_ROCKET, $12 + 4, $1c + 4, $ff, $d2, $45, ROCKET + $C8, $c ; trainer + db SPRITE_BALL, $e + 4, $b + 4, $ff, $ff, $86, ESCAPE_ROPE ; item + db SPRITE_BALL, $11 + 4, $9 + 4, $ff, $ff, $87, HYPER_POTION ; item + + ; warp-to + EVENT_DISP $f, $2, $17 ; ROCKET_HIDEOUT_2 + EVENT_DISP $f, $2, $15 ; GAME_CORNER + EVENT_DISP $f, $13, $18 ; ROCKET_HIDEOUT_ELEVATOR + EVENT_DISP $f, $18, $15 ; ROCKET_HIDEOUT_2 + EVENT_DISP $f, $13, $19 ; ROCKET_HIDEOUT_ELEVATOR + +RocketHideout1Blocks: ; 0x44d49 210 + INCBIN "maps/rockethideout1.blk" + +RocketHideout2_h: ; 0x44e1b to 0x44e27 (12 bytes) (bank=11) (id=200) + db $16 ; tileset + db ROCKET_HIDEOUT_2_HEIGHT, ROCKET_HIDEOUT_2_WIDTH ; dimensions (y, x) + dw RocketHideout2Blocks, RocketHideout2Texts, RocketHideout2Script ; blocks, texts, scripts + db $00 ; connections + + dw RocketHideout2Object ; objects + +RocketHideout2Script: ; 0x44e27 + call $3c3c + ld hl, RocketHideout2TrainerHeaders + ld de, RocketHideout2_Unknown44e3a + ld a, [$d632] + call $3160 + ld [$d632], a + ret +; 0x44e3a + +RocketHideout2_Unknown44e3a: ; 0x44ea +INCBIN "baserom.gbc",$44e3a,$28d + +RocketHideout2Texts: ; 0x450c7 + dw RocketHideout2Text1, RocketHideout2Text2, RocketHideout2Text3, RocketHideout2Text4, RocketHideout2Text5 + +RocketHideout2TrainerHeaders: +TrainerHeader_450d1: ; 0x450d1 + db $1 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d817 ; flag's byte + dw UnnamedText_450e8 ; 0x50e8 TextBeforeBattle + dw UnnamedText_450f2 ; 0x50f2 TextAfterBattle + dw UnnamedText_450ed ; 0x50ed TextEndBattle + dw UnnamedText_450ed ; 0x50ed TextEndBattle +; 0x450dd + +db $ff + +RocketHideout2Text1: ; 0x450de + db $08 ; asm + ld hl, TrainerHeader_450d1 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_450e8: ; 0x450e8 + TX_FAR _UnnamedText_450e8 + db $50 +; 0x450e8 + 5 bytes + +UnnamedText_450ed: ; 0x450ed + TX_FAR _UnnamedText_450ed + db $50 +; 0x450ed + 5 bytes + +UnnamedText_450f2: ; 0x450f2 + TX_FAR _UnnamedText_450f2 + db $50 +; 0x450f2 + 5 bytes + +RocketHideout2Object: ; 0x450f7 (size=80) + db $2e ; border tile + + db $5 ; warps + db $8, $1b, $0, ROCKET_HIDEOUT_1 + db $8, $15, $0, ROCKET_HIDEOUT_3 + db $13, $18, $0, ROCKET_HIDEOUT_ELEVATOR + db $16, $15, $3, ROCKET_HIDEOUT_1 + db $13, $19, $1, ROCKET_HIDEOUT_ELEVATOR + + db $0 ; signs + + db $5 ; people + db SPRITE_ROCKET, $c + 4, $14 + 4, $ff, $d0, $41, ROCKET + $C8, $d ; trainer + db SPRITE_BALL, $b + 4, $1 + 4, $ff, $ff, $82, MOON_STONE ; item + db SPRITE_BALL, $8 + 4, $10 + 4, $ff, $ff, $83, NUGGET ; item + db SPRITE_BALL, $c + 4, $6 + 4, $ff, $ff, $84, TM_07 ; item + db SPRITE_BALL, $15 + 4, $3 + 4, $ff, $ff, $85, SUPER_POTION ; item + + ; warp-to + EVENT_DISP $f, $8, $1b ; ROCKET_HIDEOUT_1 + EVENT_DISP $f, $8, $15 ; ROCKET_HIDEOUT_3 + EVENT_DISP $f, $13, $18 ; ROCKET_HIDEOUT_ELEVATOR + EVENT_DISP $f, $16, $15 ; ROCKET_HIDEOUT_1 + EVENT_DISP $f, $13, $19 ; ROCKET_HIDEOUT_ELEVATOR + +RocketHideout2Blocks: ; 0x45147 210 + INCBIN "maps/rockethideout2.blk" + +RocketHideout3_h: ; 0x45219 to 0x45225 (12 bytes) (bank=11) (id=201) + db $16 ; tileset + db ROCKET_HIDEOUT_3_HEIGHT, ROCKET_HIDEOUT_3_WIDTH ; dimensions (y, x) + dw RocketHideout3Blocks, RocketHideout3Texts, RocketHideout3Script ; blocks, texts, scripts + db $00 ; connections + + dw RocketHideout3Object ; objects + +RocketHideout3Script: ; 0x45225 + call $3c3c + ld hl, RocketHideout3TrainerHeaders + ld de, RocketHideout3Script_Unknown45238 + ld a, [$d633] + call $3160 + ld [$d633], a + ret +; 0x45238 + +RocketHideout3Script_Unknown45238: ; 0x45238 +INCBIN "baserom.gbc",$45238,$c2 + +RocketHideout3Texts: ; 0x452fa + dw RocketHideout3Text1, RocketHideout3Text2, RocketHideout3Text3, RocketHideout3Text4 + +RocketHideout3TrainerHeaders: +TrainerHeader_45302: ; 0x45302 + db $1 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d819 ; flag's byte + dw UnnamedText_45325 ; 0x5325 TextBeforeBattle + dw UnnamedText_4532f ; 0x532f TextAfterBattle + dw UnnamedText_4532a ; 0x532a TextEndBattle + dw UnnamedText_4532a ; 0x532a TextEndBattle +; 0x4530e + +TrainerHeader_4530e: ; 0x4530e + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d819 ; flag's byte + dw UnnamedText_4533e ; 0x533e TextBeforeBattle + dw UnnamedText_45348 ; 0x5348 TextAfterBattle + dw UnnamedText_45343 ; 0x5343 TextEndBattle + dw UnnamedText_45343 ; 0x5343 TextEndBattle +; 0x4531a + +db $ff + +RocketHideout3Text1: ; 0x4531b + db $08 ; asm + ld hl, TrainerHeader_45302 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_45325: ; 0x45325 + TX_FAR _UnnamedText_45325 + db $50 +; 0x45325 + 5 bytes + +UnnamedText_4532a: ; 0x4532a + TX_FAR _UnnamedText_4532a + db $50 +; 0x4532a + 5 bytes + +UnnamedText_4532f: ; 0x4532f + TX_FAR _UnnamedText_4532f + db $50 +; 0x4532f + 5 bytes + +RocketHideout3Text2: ; 0x45334 + db $08 ; asm + ld hl, TrainerHeader_4530e + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_4533e: ; 0x4533e + TX_FAR _UnnamedText_4533e + db $50 +; 0x4533e + 5 bytes + +UnnamedText_45343: ; 0x45343 + TX_FAR _UnnamedText_45343 + db $50 +; 0x45343 + 5 bytes + +UnnamedText_45348: ; 0x45348 + TX_FAR _UnnamedText_45348 + db $50 +; 0x45348 + 5 bytes + +RocketHideout3Object: ; 0x4534d (size=50) + db $2e ; border tile + + db $2 ; warps + db $6, $19, $1, ROCKET_HIDEOUT_2 + db $12, $13, $0, ROCKET_HIDEOUT_4 + + db $0 ; signs + + db $4 ; people + db SPRITE_ROCKET, $16 + 4, $a + 4, $ff, $d3, $41, ROCKET + $C8, $e ; trainer + db SPRITE_ROCKET, $c + 4, $1a + 4, $ff, $d1, $42, ROCKET + $C8, $f ; trainer + db SPRITE_BALL, $11 + 4, $1a + 4, $ff, $ff, $83, TM_10 ; item + db SPRITE_BALL, $e + 4, $14 + 4, $ff, $ff, $84, RARE_CANDY ; item + + ; warp-to + EVENT_DISP $f, $6, $19 ; ROCKET_HIDEOUT_2 + EVENT_DISP $f, $12, $13 ; ROCKET_HIDEOUT_4 + +RocketHideout3Blocks: ; 0x4537f 210 + INCBIN "maps/rockethideout3.blk" + +RocketHideout4_h: ; 0x45451 to 0x4545d (12 bytes) (bank=11) (id=202) + db $16 ; tileset + db ROCKET_HIDEOUT_4_HEIGHT, ROCKET_HIDEOUT_4_WIDTH ; dimensions (y, x) + dw RocketHideout4Blocks, RocketHideout4Texts, RocketHideout4Script ; blocks, texts, scripts + db $00 ; connections + + dw RocketHideout4Object ; objects + +RocketHideout4Script: ; 0x4545d + call Unnamed_45473 + call $3c3c + ld hl, TrainerHeader_45515 + ld de, $54ae + ld a, [$d634] + call $3160 + ld [$d634], a + ret +; 0x45473 + +Unnamed_45473: ; 0x45473 +INCBIN "baserom.gbc",$45473,$8e + +RocketHideout4Texts: ; 0x45501 + dw RocketHideout4Text1, RocketHideout4Text2, RocketHideout4Text3, RocketHideout4Text4, RocketHideout4Text5, RocketHideout4Text6, RocketHideout4Text7, RocketHideout4Text8, RocketHideout4Text9, RocketHideout4Text10 + +RocketHideout4TrainerHeaders: +TrainerHeader_45515: ; 0x45515 + db $2 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d81b ; flag's byte + dw UnnamedText_45593 ; 0x5593 TextBeforeBattle + dw UnnamedText_4559d ; 0x559d TextAfterBattle + dw UnnamedText_45598 ; 0x5598 TextEndBattle + dw UnnamedText_45598 ; 0x5598 TextEndBattle +; 0x45521 + +TrainerHeader_45521: ; 0x45521 + db $3 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d81b ; flag's byte + dw UnnamedText_455ac ; 0x55ac TextBeforeBattle + dw UnnamedText_455b6 ; 0x55b6 TextAfterBattle + dw UnnamedText_455b1 ; 0x55b1 TextEndBattle + dw UnnamedText_455b1 ; 0x55b1 TextEndBattle +; 0x4552d + +TrainerHeader_4552d: ; 0x4552d + db $4 ; flag's bit + db ($1 << 4) ; trainer's view range + dw $d81b ; flag's byte + dw UnnamedText_455c5 ; 0x55c5 TextBeforeBattle + dw UnknownText_455cf ; 0x55cf TextAfterBattle + dw UnnamedText_455ca ; 0x55ca TextEndBattle + dw UnnamedText_455ca ; 0x55ca TextEndBattle +; 0x45539 + +db $ff + +RocketHideout4Text1: ; 0x4553a + db $08 ; asm + ld a, [$d81b] + bit 7, a + jp nz, $5571 + ld hl, UnnamedText_4557a + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, UnnamedText_4557f + ld de, $557f ; probably UnnamedText_4557f + call $3354 + ldh a, [$8c] + ld [$cf13], a + call $336a + call $32d7 + xor a + ldh [$b4], a + ld a, $3 + ld [$d634], a + ld [$da39], a + jr .asm_209f0 ; 0x4556f + ld hl, RocketHideout4Text10 + call PrintText +.asm_209f0 ; 0x45577 + jp TextScriptEnd + +UnnamedText_4557a: ; 0x4557a + TX_FAR _UnnamedText_4557a + db $50 +; 0x4557a + 5 bytes + +UnnamedText_4557f: ; 0x4557f + TX_FAR _UnnamedText_4557f + db $50 +; 0x4557f + 5 bytes + +RocketHideout4Text10: ; 0x45584 + TX_FAR _UnnamedText_45584 + db $50 +; 0x45584 + 5 bytes + +RocketHideout4Text2: ; 0x45589 + db $08 ; asm + ld hl, TrainerHeader_45515 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_45593: ; 0x45593 + TX_FAR _UnnamedText_45593 + db $50 +; 0x45593 + 5 bytes + +UnnamedText_45598: ; 0x45598 + TX_FAR _UnnamedText_45598 + db $50 +; 0x45598 + 5 bytes + +UnnamedText_4559d: ; 0x4559d + TX_FAR _UnnamedText_4559d + db $50 +; 0x4559d + 5 bytes + +RocketHideout4Text3: ; 0x455a2 + db $08 ; asm + ld hl, TrainerHeader_45521 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_455ac: ; 0x455ac + TX_FAR _UnnamedText_455ac + db $50 +; 0x455ac + 5 bytes + +UnnamedText_455b1: ; 0x455b1 + TX_FAR _UnnamedText_455b1 + db $50 +; 0x455b1 + 5 bytes + +UnnamedText_455b6: ; 0x455b6 + TX_FAR _UnnamedText_455b6 + db $50 +; 0x455b6 + 5 bytes + +RocketHideout4Text4: ; 0x455bb + db $08 ; asm + ld hl, TrainerHeader_4552d + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_455c5: ; 0x455c5 + TX_FAR _UnnamedText_455c5 + db $50 +; 0x455c5 + 5 bytes + +UnnamedText_455ca: ; 0x455ca + TX_FAR _UnnamedText_455ca + db $50 +; 0x455ca + 5 bytes + +UnknownText_455cf: ; 0x455cf + db $8 + ld hl, $55ec + call PrintText + ld hl, $d81b + bit 6, [hl] + set 6, [hl] + jr nz, .asm_455e9 ; 0x455dd $a + ld a, $88 + ld [$cc4d], a + ld a, $15 + call Predef +.asm_455e9 + jp TextScriptEnd +; 0x455ec + +UnnamedText_455ec: ; 0x455ec + TX_FAR _UnnamedText_455ec + db $50 +; 0x455ec + 5 bytes + +RocketHideout4Object: ; 0x455f1 (size=95) + db $2e ; border tile + + db $3 ; warps + db $a, $13, $1, ROCKET_HIDEOUT_3 + db $f, $18, $0, ROCKET_HIDEOUT_ELEVATOR + db $f, $19, $1, ROCKET_HIDEOUT_ELEVATOR + + db $0 ; signs + + db $9 ; people + db SPRITE_GIOVANNI, $3 + 4, $19 + 4, $ff, $d0, $41, GIOVANNI + $C8, $1 ; trainer + db SPRITE_ROCKET, $c + 4, $17 + 4, $ff, $d0, $42, ROCKET + $C8, $10 ; trainer + db SPRITE_ROCKET, $c + 4, $1a + 4, $ff, $d0, $43, ROCKET + $C8, $11 ; trainer + db SPRITE_ROCKET, $2 + 4, $b + 4, $ff, $d0, $44, ROCKET + $C8, $12 ; trainer + db SPRITE_BALL, $c + 4, $a + 4, $ff, $ff, $85, HP_UP ; item + db SPRITE_BALL, $4 + 4, $9 + 4, $ff, $ff, $86, TM_02 ; item + db SPRITE_BALL, $14 + 4, $c + 4, $ff, $ff, $87, IRON ; item + db SPRITE_BALL, $2 + 4, $19 + 4, $ff, $ff, $88, SILPH_SCOPE ; item + db SPRITE_BALL, $2 + 4, $a + 4, $ff, $ff, $89, LIFT_KEY ; item + + ; warp-to + EVENT_DISP $f, $a, $13 ; ROCKET_HIDEOUT_3 + EVENT_DISP $f, $f, $18 ; ROCKET_HIDEOUT_ELEVATOR + EVENT_DISP $f, $f, $19 ; ROCKET_HIDEOUT_ELEVATOR + +RocketHideout4Blocks: ; 0x45650 180 + INCBIN "maps/rockethideout4.blk" + +RocketHideoutElevator_h: ; 0x45704 to 0x45710 (12 bytes) (bank=11) (id=203) + db $12 ; tileset + db ROCKET_HIDEOUT_ELEVATOR_HEIGHT, ROCKET_HIDEOUT_ELEVATOR_WIDTH ; dimensions (y, x) + dw RocketHideoutElevatorBlocks, RocketHideoutElevatorTexts, RocketHideoutElevatorScript ; blocks, texts, scripts + db $00 ; connections + + dw RocketHideoutElevatorObject ; objects + +RocketHideoutElevatorScript: ; 0x45710 + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + push hl + call nz, RocketHideoutElevatorScript_Unknown4572c + pop hl + bit 7, [hl] + res 7, [hl] + call nz, $575f + xor a + ld [$cf0c], a + inc a + ld [$cc3c], a + ret +; 0x4572c + +RocketHideoutElevatorScript_Unknown4572c: ; 0x4572c +INCBIN "baserom.gbc",$4572c,$3f + +RocketHideoutElevatorTexts: ; 0x4576b + dw RocketHideoutElevatorText1 + +RocketHideoutElevatorText1: ; 0x4576d + db $08 ; asm + ld b, LIFT_KEY + call $3493 + jr z, .asm_8d8f0 ; 0x45773 + call $5741 + ld hl, $5759 + ld a, $61 + call Predef + jr .asm_46c43 ; 0x45780 +.asm_8d8f0 ; 0x45782 + ld hl, UnnamedText_4578b + call PrintText +.asm_46c43 ; 0x45788 + jp TextScriptEnd + +UnnamedText_4578b: ; 0x4578b + TX_FAR _UnnamedText_4578b ; 0x82438 + db $d, $50 + +RocketHideoutElevatorObject: ; 0x45791 (size=23) + db $f ; border tile + + db $2 ; warps + db $1, $2, $2, ROCKET_HIDEOUT_1 + db $1, $3, $4, ROCKET_HIDEOUT_1 + + db $1 ; signs + db $1, $1, $1 ; RocketHideoutElevatorText1 + + db $0 ; people + + ; warp-to + EVENT_DISP $3, $1, $2 ; ROCKET_HIDEOUT_1 + EVENT_DISP $3, $1, $3 ; ROCKET_HIDEOUT_1 + +RocketHideoutElevatorBlocks: ; 0x457a8 12 + INCBIN "maps/rockethideoutelevator.blk" + +SilphCoElevator_h: ; 0x457b4 to 0x457c0 (12 bytes) (bank=11) (id=236) + db $12 ; tileset + db SILPH_CO_ELEVATOR_HEIGHT, SILPH_CO_ELEVATOR_WIDTH ; dimensions (y, x) + dw SilphCoElevatorBlocks, SilphCoElevatorTexts, SilphCoElevatorScript ; blocks, texts, scripts + db $00 ; connections + + dw SilphCoElevatorObject ; objects + +SilphCoElevatorScript: ; 0x457c0 + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + push hl + call nz, SilphCoElevatorScript_Unknown457dc + pop hl + bit 7, [hl] + res 7, [hl] + call nz, $5827 + xor a + ld [$cf0c], a + inc a + ld [$cc3c], a + ret +; 0x457dc + +SilphCoElevatorScript_Unknown457dc: ; 0x457dc +INCBIN "baserom.gbc",$457dc,$57 + +SilphCoElevatorTexts: ; 0x45833 + dw SilphCoElevatorText1 + +SilphCoElevatorText1: ; 0x45835 + db $08 ; asm + call $57f1 + ld hl, $5811 + ld a, $61 + call Predef + jp TextScriptEnd + +SilphCoElevatorObject: ; 0x45844 (size=23) + db $f ; border tile + + db $2 ; warps + db $3, $1, $0, $ed + db $3, $2, $0, $ed + + db $1 ; signs + db $0, $3, $1 ; SilphCoElevatorText1 + + db $0 ; people + + ; warp-to + EVENT_DISP $2, $3, $1 + EVENT_DISP $2, $3, $2 + +SilphCoElevatorBlocks: ; 0x4585b 4 + INCBIN "maps/silphcoelevator.blk" + +SafariZoneEast_h: ; 0x4585f to 0x4586b (12 bytes) (bank=11) (id=217) + db $03 ; tileset + db SAFARI_ZONE_EAST_HEIGHT, SAFARI_ZONE_EAST_WIDTH ; dimensions (y, x) + dw SafariZoneEastBlocks, SafariZoneEastTexts, SafariZoneEastScript ; blocks, texts, scripts + db $00 ; connections + + dw SafariZoneEastObject ; objects + +SafariZoneEastScript: ; 0x4586b + jp $3c3c +; 0x4586e + +SafariZoneEastTexts: ; 0x4586e + dw SafariZoneEastText1, SafariZoneEastText2, SafariZoneEastText3, SafariZoneEastText4, SafariZoneEastText5, SafariZoneEastText6, SafariZoneEastText7 + +SafariZoneEastText5: ; 0x4587c + TX_FAR _SafariZoneEastText5 + db $50 + +SafariZoneEastText6: ; 0x45881 + TX_FAR _SafariZoneEastText6 + db $50 + +SafariZoneEastText7: ; 0x45886 + TX_FAR _SafariZoneEastText7 + db $50 + +SafariZoneEastObject: ; 0x4588b (size=81) + db $0 ; border tile + + db $5 ; warps + db $4, $0, $6, SAFARI_ZONE_NORTH + db $5, $0, $7, SAFARI_ZONE_NORTH + db $16, $0, $6, SAFARI_ZONE_CENTER + db $17, $0, $6, SAFARI_ZONE_CENTER + db $9, $19, $0, SAFARI_ZONE_REST_HOUSE_3 + + db $3 ; signs + db $a, $1a, $5 ; SafariZoneEastText5 + db $4, $6, $6 ; SafariZoneEastText6 + db $17, $5, $7 ; SafariZoneEastText7 + + db $4 ; people + db SPRITE_BALL, $a + 4, $15 + 4, $ff, $ff, $81, FULL_RESTORE ; item + db SPRITE_BALL, $7 + 4, $3 + 4, $ff, $ff, $82, MAX_POTION ; item + db SPRITE_BALL, $d + 4, $14 + 4, $ff, $ff, $83, CARBOS ; item + db SPRITE_BALL, $c + 4, $f + 4, $ff, $ff, $84, TM_37 ; item + + ; warp-to + EVENT_DISP $f, $4, $0 ; SAFARI_ZONE_NORTH + EVENT_DISP $f, $5, $0 ; SAFARI_ZONE_NORTH + EVENT_DISP $f, $16, $0 ; SAFARI_ZONE_CENTER + EVENT_DISP $f, $17, $0 ; SAFARI_ZONE_CENTER + EVENT_DISP $f, $9, $19 ; SAFARI_ZONE_REST_HOUSE_3 + +SafariZoneEastBlocks: ; 0x458dc 195 + INCBIN "maps/safarizoneeast.blk" + +SafariZoneNorth_h: ; 0x4599f to 0x459ab (12 bytes) (bank=11) (id=218) + db $03 ; tileset + db SAFARI_ZONE_NORTH_HEIGHT, SAFARI_ZONE_NORTH_WIDTH ; dimensions (y, x) + dw SafariZoneNorthBlocks, SafariZoneNorthTexts, SafariZoneNorthScript ; blocks, texts, scripts + db $00 ; connections + + dw SafariZoneNorthObject ; objects + +SafariZoneNorthScript: ; 0x459ab + jp $3c3c +; 0x459ae + +SafariZoneNorthTexts: ; 0x459ae + dw SafariZoneNorthText1, SafariZoneNorthText2, SafariZoneNorthText3, SafariZoneNorthText4, SafariZoneNorthText5, SafariZoneNorthText6, SafariZoneNorthText7 + +SafariZoneNorthText3: ; 0x459bc + TX_FAR _SafariZoneNorthText3 + db $50 + +SafariZoneNorthText4: ; 0x459c1 + TX_FAR _SafariZoneNorthText4 + db $50 + +SafariZoneNorthText5: ; 0x459c6 + TX_FAR _SafariZoneNorthText5 + db $50 + +SafariZoneNorthText6: ; 0x459cb + TX_FAR _SafariZoneNorthText6 + db $50 + +SafariZoneNorthText7: ; 0x459d0 + TX_FAR _SafariZoneNorthText7 + db $50 + +SafariZoneNorthObject: ; 0x459d5 (size=105) + db $0 ; border tile + + db $9 ; warps + db $23, $2, $0, SAFARI_ZONE_WEST + db $23, $3, $1, SAFARI_ZONE_WEST + db $23, $8, $2, SAFARI_ZONE_WEST + db $23, $9, $3, SAFARI_ZONE_WEST + db $23, $14, $4, SAFARI_ZONE_CENTER + db $23, $15, $5, SAFARI_ZONE_CENTER + db $1e, $27, $0, SAFARI_ZONE_EAST + db $1f, $27, $1, SAFARI_ZONE_EAST + db $3, $23, $0, SAFARI_ZONE_REST_HOUSE_4 + + db $5 ; signs + db $4, $24, $3 ; SafariZoneNorthText3 + db $19, $4, $4 ; SafariZoneNorthText4 + db $1f, $d, $5 ; SafariZoneNorthText5 + db $21, $13, $6 ; SafariZoneNorthText6 + db $1c, $1a, $7 ; SafariZoneNorthText7 + + db $2 ; people + db SPRITE_BALL, $1 + 4, $19 + 4, $ff, $ff, $81, PROTEIN ; item + db SPRITE_BALL, $7 + 4, $13 + 4, $ff, $ff, $82, TM_40 ; item + + ; warp-to + EVENT_DISP $14, $23, $2 ; SAFARI_ZONE_WEST + EVENT_DISP $14, $23, $3 ; SAFARI_ZONE_WEST + EVENT_DISP $14, $23, $8 ; SAFARI_ZONE_WEST + EVENT_DISP $14, $23, $9 ; SAFARI_ZONE_WEST + EVENT_DISP $14, $23, $14 ; SAFARI_ZONE_CENTER + EVENT_DISP $14, $23, $15 ; SAFARI_ZONE_CENTER + EVENT_DISP $14, $1e, $27 ; SAFARI_ZONE_EAST + EVENT_DISP $14, $1f, $27 ; SAFARI_ZONE_EAST + EVENT_DISP $14, $3, $23 ; SAFARI_ZONE_REST_HOUSE_4 + +SafariZoneNorthBlocks: ; 0x45a3e 360 + INCBIN "maps/safarizonenorth.blk" + +SafariZoneCenter_h: ; 0x45ba6 to 0x45bb2 (12 bytes) (bank=11) (id=220) + db $03 ; tileset + db SAFARI_ZONE_CENTER_HEIGHT, SAFARI_ZONE_CENTER_WIDTH ; dimensions (y, x) + dw SafariZoneCenterBlocks, SafariZoneCenterTexts, SafariZoneCenterScript ; blocks, texts, scripts + db $00 ; connections + + dw SafariZoneCenterObject ; objects + +SafariZoneCenterScript: ; 0x45bb2 + jp $3c3c +; 0x45bb5 + +SafariZoneCenterTexts: ; 0x45bb5 + dw SafariZoneCenterText1, SafariZoneCenterText2, SafariZoneCenterText3 + +SafariZoneCenterText2: ; 0x45bbb + TX_FAR _SafariZoneCenterText2 + db $50 + +SafariZoneCenterText3: ; 0x45bc0 + TX_FAR _SafariZoneCenterText3 + db $50 + +SafariZoneCenterObject: ; 0x45bc5 (size=89) + db $0 ; border tile + + db $9 ; warps + db $19, $e, $2, SAFARIZONEENTRANCE + db $19, $f, $3, SAFARIZONEENTRANCE + db $a, $0, $4, SAFARI_ZONE_WEST + db $b, $0, $5, SAFARI_ZONE_WEST + db $0, $e, $4, SAFARI_ZONE_NORTH + db $0, $f, $5, SAFARI_ZONE_NORTH + db $a, $1d, $2, SAFARI_ZONE_EAST + db $b, $1d, $3, SAFARI_ZONE_EAST + db $13, $11, $0, SAFARI_ZONE_REST_HOUSE_1 + + db $2 ; signs + db $14, $12, $2 ; SafariZoneCenterText2 + db $16, $e, $3 ; SafariZoneCenterText3 + + db $1 ; people + db SPRITE_BALL, $a + 4, $e + 4, $ff, $ff, $81, NUGGET ; item + + ; warp-to + EVENT_DISP $f, $19, $e ; SAFARIZONEENTRANCE + EVENT_DISP $f, $19, $f ; SAFARIZONEENTRANCE + EVENT_DISP $f, $a, $0 ; SAFARI_ZONE_WEST + EVENT_DISP $f, $b, $0 ; SAFARI_ZONE_WEST + EVENT_DISP $f, $0, $e ; SAFARI_ZONE_NORTH + EVENT_DISP $f, $0, $f ; SAFARI_ZONE_NORTH + EVENT_DISP $f, $a, $1d ; SAFARI_ZONE_EAST + EVENT_DISP $f, $b, $1d ; SAFARI_ZONE_EAST + EVENT_DISP $f, $13, $11 ; SAFARI_ZONE_REST_HOUSE_1 + +SafariZoneCenterBlocks: ; 0x45c1e 195 + INCBIN "maps/safarizonecenter.blk" + +SafariZoneRestHouse1_h: ; 0x45ce1 to 0x45ced (12 bytes) (bank=11) (id=221) + db $0c ; tileset + db SAFARI_ZONE_REST_HOUSE_1_HEIGHT, SAFARI_ZONE_REST_HOUSE_1_WIDTH ; dimensions (y, x) + dw SafariZoneRestHouse1Blocks, SafariZoneRestHouse1Texts, SafariZoneRestHouse1Script ; blocks, texts, scripts + db $00 ; connections + + dw SafariZoneRestHouse1Object ; objects + +SafariZoneRestHouse1Script: ; 0x45ced + jp $3c3c +; 0x45cf0 + +SafariZoneRestHouse1Texts: ; 0x45cf0 + dw SafariZoneRestHouse1Text1, SafariZoneRestHouse1Text2 + +SafariZoneRestHouse1Text1: ; 0x45cf4 + TX_FAR _SafariZoneRestHouse1Text1 + db $50 + +SafariZoneRestHouse1Text2: ; 0x45cf9 + TX_FAR _SafariZoneRestHouse1Text2 + db $50 + +SafariZoneRestHouse1Object: ; 0x45cfe (size=32) + db $a ; border tile + + db $2 ; warps + db $7, $2, $8, SAFARI_ZONE_CENTER + db $7, $3, $8, SAFARI_ZONE_CENTER + + db $0 ; signs + + db $2 ; people + db SPRITE_GIRL, $2 + 4, $3 + 4, $ff, $d0, $1 ; person + db SPRITE_OAK_AIDE, $4 + 4, $1 + 4, $fe, $1, $2 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 ; SAFARI_ZONE_CENTER + EVENT_DISP $4, $7, $3 ; SAFARI_ZONE_CENTER + +SafariZoneRestHouse2_h: ; 0x45d1e to 0x45d2a (12 bytes) (bank=11) (id=223) + db $0c ; tileset + db SAFARI_ZONE_REST_HOUSE_2_HEIGHT, SAFARI_ZONE_REST_HOUSE_2_WIDTH ; dimensions (y, x) + dw $40fb, SafariZoneRestHouse2Texts, SafariZoneRestHouse2Script ; blocks, texts, scripts + db $00 ; connections + + dw SafariZoneRestHouse2Object ; objects + +SafariZoneRestHouse2Script: ; 0x45d2a + call $3c3c + ret +; 0x45d2e + +SafariZoneRestHouse2Texts: ; 0x45d2e + dw SafariZoneRestHouse2Text1, SafariZoneRestHouse2Text2, SafariZoneRestHouse2Text3 + +SafariZoneRestHouse2Text1: ; 0x45d34 + TX_FAR _SafariZoneRestHouse2Text1 + db $50 + +SafariZoneRestHouse2Text2: ; 0x45d39 + TX_FAR _SafariZoneRestHouse2Text2 + db $50 + +SafariZoneRestHouse2Text3: ; 0x45d3e + TX_FAR _SafariZoneRestHouse2Text3 + db $50 + +SafariZoneRestHouse2Object: ; 0x45d43 (size=38) + db $a ; border tile + + db $2 ; warps + db $7, $2, $7, SAFARI_ZONE_WEST + db $7, $3, $7, SAFARI_ZONE_WEST + + db $0 ; signs + + db $3 ; people + db SPRITE_OAK_AIDE, $4 + 4, $4 + 4, $fe, $0, $1 ; person + db SPRITE_BLACK_HAIR_BOY_1, $2 + 4, $0 + 4, $ff, $d3, $2 ; person + db SPRITE_ERIKA, $2 + 4, $6 + 4, $ff, $d0, $3 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 ; SAFARI_ZONE_WEST + EVENT_DISP $4, $7, $3 ; SAFARI_ZONE_WEST + +SafariZoneRestHouse3_h: ; 0x45d69 to 0x45d75 (12 bytes) (bank=11) (id=224) + db $0c ; tileset + db SAFARI_ZONE_REST_HOUSE_3_HEIGHT, SAFARI_ZONE_REST_HOUSE_3_WIDTH ; dimensions (y, x) + dw $40fb, SafariZoneRestHouse3Texts, SafariZoneRestHouse3Script ; blocks, texts, scripts + db $00 ; connections + + dw SafariZoneRestHouse3Object ; objects + +SafariZoneRestHouse3Script: ; 0x45d75 + call $3c3c + ret +; 0x45d79 + +SafariZoneRestHouse3Texts: ; 0x45d79 + dw SafariZoneRestHouse3Text1, SafariZoneRestHouse3Text2, SafariZoneRestHouse3Text3 + +SafariZoneRestHouse3Text1: ; 0x45d7f + TX_FAR _SafariZoneRestHouse3Text1 + db $50 + +SafariZoneRestHouse3Text2: ; 0x45d84 + TX_FAR _SafariZoneRestHouse3Text2 + db $50 + +SafariZoneRestHouse3Text3: ; 0x45d89 + TX_FAR _SafariZoneRestHouse3Text3 + db $50 + +SafariZoneRestHouse3Object: ; 0x45d8e (size=38) + db $a ; border tile + + db $2 ; warps + db $7, $2, $4, SAFARI_ZONE_EAST + db $7, $3, $4, SAFARI_ZONE_EAST + + db $0 ; signs + + db $3 ; people + db SPRITE_OAK_AIDE, $3 + 4, $1 + 4, $fe, $1, $1 ; person + db SPRITE_ROCKER, $2 + 4, $4 + 4, $ff, $ff, $2 ; person + db SPRITE_LAPRAS_GIVER, $2 + 4, $5 + 4, $ff, $ff, $3 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 ; SAFARI_ZONE_EAST + EVENT_DISP $4, $7, $3 ; SAFARI_ZONE_EAST + +SafariZoneRestHouse4_h: ; 0x45db4 to 0x45dc0 (12 bytes) (bank=11) (id=225) + db $0c ; tileset + db SAFARI_ZONE_REST_HOUSE_4_HEIGHT, SAFARI_ZONE_REST_HOUSE_4_WIDTH ; dimensions (y, x) + dw $40fb, SafariZoneRestHouse4Texts, SafariZoneRestHouse4Script ; blocks, texts, scripts + db $00 ; connections + + dw SafariZoneRestHouse4Object ; objects + +SafariZoneRestHouse4Script: ; 0x45dc0 + call $3c3c + ret +; 0x45dc4 + +SafariZoneRestHouse4Texts: ; 0x45dc4 + dw SafariZoneRestHouse4Text1, SafariZoneRestHouse4Text2, SafariZoneRestHouse4Text3 + +SafariZoneRestHouse4Text1: ; 0x45dca + TX_FAR _SafariZoneRestHouse4Text1 + db $50 + +SafariZoneRestHouse4Text2: ; 0x45dcf + TX_FAR _SafariZoneRestHouse4Text2 + db $50 + +SafariZoneRestHouse4Text3: ; 0x45dd4 + TX_FAR _SafariZoneRestHouse4Text3 + db $50 + +SafariZoneRestHouse4Object: ; 0x45dd9 (size=38) + db $a ; border tile + + db $2 ; warps + db $7, $2, $8, SAFARI_ZONE_NORTH + db $7, $3, $8, SAFARI_ZONE_NORTH + + db $0 ; signs + + db $3 ; people + db SPRITE_OAK_AIDE, $3 + 4, $6 + 4, $fe, $2, $1 ; person + db SPRITE_WHITE_PLAYER, $4 + 4, $3 + 4, $ff, $ff, $2 ; person + db SPRITE_GENTLEMAN, $5 + 4, $1 + 4, $fe, $1, $3 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 ; SAFARI_ZONE_NORTH + EVENT_DISP $4, $7, $3 ; SAFARI_ZONE_NORTH + +UnknownDungeon2_h: ; 0x45dff to 0x45e0b (12 bytes) (bank=11) (id=226) + db $11 ; tileset + db UNKNOWN_DUNGEON_2_HEIGHT, UNKNOWN_DUNGEON_2_WIDTH ; dimensions (y, x) + dw UnknownDungeon2Blocks, UnknownDungeon2Texts, UnknownDungeon2Script ; blocks, texts, scripts + db $00 ; connections + + dw UnknownDungeon2Object ; objects + +UnknownDungeon2Script: ; 0x45e0b + jp $3c3c +; 0x45e0e + +UnknownDungeon2Texts: ; 0x45e0e + dw UnknownDungeon2Text1, UnknownDungeon2Text2, UnknownDungeon2Text3 + +UnknownDungeon2Object: ; 0x45e14 (size=73) + db $7d ; border tile + + db $6 ; warps + db $1, $1d, $2, UNKNOWN_DUNGEON_1 + db $6, $16, $3, UNKNOWN_DUNGEON_1 + db $7, $13, $4, UNKNOWN_DUNGEON_1 + db $1, $9, $5, UNKNOWN_DUNGEON_1 + db $3, $1, $6, UNKNOWN_DUNGEON_1 + db $b, $3, $7, UNKNOWN_DUNGEON_1 + + db $0 ; signs + + db $3 ; people + db SPRITE_BALL, $9 + 4, $1d + 4, $ff, $ff, $81, PP_UP ; item + db SPRITE_BALL, $f + 4, $4 + 4, $ff, $ff, $82, ULTRA_BALL ; item + db SPRITE_BALL, $6 + 4, $d + 4, $ff, $ff, $83, FULL_RESTORE ; item + + ; warp-to + EVENT_DISP $f, $1, $1d ; UNKNOWN_DUNGEON_1 + EVENT_DISP $f, $6, $16 ; UNKNOWN_DUNGEON_1 + EVENT_DISP $f, $7, $13 ; UNKNOWN_DUNGEON_1 + EVENT_DISP $f, $1, $9 ; UNKNOWN_DUNGEON_1 + EVENT_DISP $f, $3, $1 ; UNKNOWN_DUNGEON_1 + EVENT_DISP $f, $b, $3 ; UNKNOWN_DUNGEON_1 + +UnknownDungeon2Blocks: ; 0x45e5d 135 + INCBIN "maps/unknowndungeon2.blk" + +UnknownDungeon3_h: ; 0x45ee4 to 0x45ef0 (12 bytes) (bank=11) (id=227) + db $11 ; tileset + db UNKNOWN_DUNGEON_3_HEIGHT, UNKNOWN_DUNGEON_3_WIDTH ; dimensions (y, x) + dw UnknownDungeon3Blocks, UnknownDungeon3Texts, UnknownDungeon3Script ; blocks, texts, scripts + db $00 ; connections + + dw UnknownDungeon3Object ; objects + +UnknownDungeon3Script: ; 0x45ef0 + call $3c3c + ld hl, UnknownDungeon3TrainerHeaders + ld de, UnknownDungeon3Script_Unknown45f03 + ld a, [$d650] + call $3160 + ld [$d650], a + ret +; 0x45f03 + +UnknownDungeon3Script_Unknown45f03: ; 0x45f03 +INCBIN "baserom.gbc",$45f03,$6 + +UnknownDungeon3Texts: ; 0x45f09 + dw UnknownDungeon3Text1, UnknownDungeon3Text2, UnknownDungeon3Text3 + +UnknownDungeon3TrainerHeaders: +TrainerHeader_45f0f: ; 0x45f0f + db $1 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d85f ; flag's byte + dw UnnamedText_45f26 ; 0x5f26 TextBeforeBattle + dw UnnamedText_45f26 ; 0x5f26 TextAfterBattle + dw UnnamedText_45f26 ; 0x5f26 TextEndBattle + dw UnnamedText_45f26 ; 0x5f26 TextEndBattle +; 0x45f1b + +db $ff + +UnknownDungeon3Text1: ; 0x45f1c + db $08 ; asm + ld hl, TrainerHeader_45f0f + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_45f26: ; 0x45f26 + TX_FAR _UnnamedText_45f26 ; 0x85c72 + db $8 + ld a, $83 + call $13d0 + call $3748 + jp TextScriptEnd +; 0x45f36 + +UnknownDungeon3Object: ; 0x45f36 (size=34) + db $7d ; border tile + + db $1 ; warps + db $6, $3, $8, UNKNOWN_DUNGEON_1 + + db $0 ; signs + + db $3 ; people + db SPRITE_SLOWBRO, $d + 4, $1b + 4, $ff, $d0, $41, MEWTWO, $46 ; trainer + db SPRITE_BALL, $9 + 4, $10 + 4, $ff, $ff, $82, ULTRA_BALL ; item + db SPRITE_BALL, $1 + 4, $12 + 4, $ff, $ff, $83, MAX_REVIVE ; item + + ; warp-to + EVENT_DISP $f, $6, $3 ; UNKNOWN_DUNGEON_1 + +UnknownDungeon3Blocks: ; 0x45f58 135 + INCBIN "maps/unknowndungeon3.blk" + +RockTunnel2_h: ; 0x45fdf to 0x45feb (12 bytes) (bank=11) (id=232) + db $11 ; tileset + db ROCK_TUNNEL_2_HEIGHT, ROCK_TUNNEL_2_WIDTH ; dimensions (y, x) + dw RockTunnel2Blocks, RockTunnel2Texts, RockTunnel2Script ; blocks, texts, scripts + db $00 ; connections + + dw RockTunnel2Object ; objects + +RockTunnel2Script: ; 0x45feb + call $3c3c + ld hl, RockTunnel2TrainerHeaders + ld de, RockTunnel2Script_Unknown45ffe + ld a, [$d620] + call $3160 + ld [$d620], a + ret +; 0x45ffe + +RockTunnel2Script_Unknown45ffe: ; 0x45ffe +INCBIN "baserom.gbc",$45ffe,$6 + +RockTunnel2Texts: ; 0x46004 + dw RockTunnel2Text1, RockTunnel2Text2, RockTunnel2Text3, RockTunnel2Text4, RockTunnel2Text5, RockTunnel2Text6, RockTunnel2Text7, RockTunnel2Text8 + +RockTunnel2TrainerHeaders: +TrainerHeader_46014: ; 0x46014 + db $1 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d87d ; flag's byte + dw UnnamedText_460c5 ; 0x60c5 TextBeforeBattle + dw UnnamedText_460cf ; 0x60cf TextAfterBattle + dw UnnamedText_460ca ; 0x60ca TextEndBattle + dw UnnamedText_460ca ; 0x60ca TextEndBattle +; 0x46020 + +TrainerHeader_46020: ; 0x46020 + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d87d ; flag's byte + dw UnnamedText_460d4 ; 0x60d4 TextBeforeBattle + dw UnnamedText_460de ; 0x60de TextAfterBattle + dw UnnamedText_460d9 ; 0x60d9 TextEndBattle + dw UnnamedText_460d9 ; 0x60d9 TextEndBattle +; 0x4602c + +TrainerHeader_4602c: ; 0x4602c + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d87d ; flag's byte + dw UnnamedText_460e3 ; 0x60e3 TextBeforeBattle + dw UnnamedText_460ed ; 0x60ed TextAfterBattle + dw UnnamedText_460e8 ; 0x60e8 TextEndBattle + dw UnnamedText_460e8 ; 0x60e8 TextEndBattle +; 0x46038 + +TrainerHeader_46038: ; 0x46038 + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d87d ; flag's byte + dw UnnamedText_460f2 ; 0x60f2 TextBeforeBattle + dw UnnamedText_460fc ; 0x60fc TextAfterBattle + dw UnnamedText_460f7 ; 0x60f7 TextEndBattle + dw UnnamedText_460f7 ; 0x60f7 TextEndBattle +; 0x46044 + +TrainerHeader_46044: ; 0x46044 + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d87d ; flag's byte + dw UnnamedText_46101 ; 0x6101 TextBeforeBattle + dw UnnamedText_4610b ; 0x610b TextAfterBattle + dw UnnamedText_46106 ; 0x6106 TextEndBattle + dw UnnamedText_46106 ; 0x6106 TextEndBattle +; 0x46050 + +TrainerHeader_46050: ; 0x46050 + db $6 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d87d ; flag's byte + dw UnnamedText_46110 ; 0x6110 TextBeforeBattle + dw UnnamedText_4611a ; 0x611a TextAfterBattle + dw UnnamedText_46115 ; 0x6115 TextEndBattle + dw UnnamedText_46115 ; 0x6115 TextEndBattle +; 0x4605c + +TrainerHeader_4605c: ; 0x4605c + db $7 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d87d ; flag's byte + dw UnnamedText_4611f ; 0x611f TextBeforeBattle + dw UnnamedText_46129 ; 0x6129 TextAfterBattle + dw UnnamedText_46124 ; 0x6124 TextEndBattle + dw UnnamedText_46124 ; 0x6124 TextEndBattle +; 0x46068 + +TrainerHeader_46068: ; 0x46068 + db $8 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d87d ; flag's byte + dw UnnamedText_4612e ; 0x612e TextBeforeBattle + dw UnnamedText_46138 ; 0x6138 TextAfterBattle + dw UnnamedText_46133 ; 0x6133 TextEndBattle + dw UnnamedText_46133 ; 0x6133 TextEndBattle +; 0x46074 + +db $ff + +RockTunnel2Text1: ; 0x46075 + db $08 ; asm + ld hl, TrainerHeader_46014 + call LoadTrainerHeader + jp TextScriptEnd + +RockTunnel2Text2: ; 0x4607f + db $08 ; asm + ld hl, TrainerHeader_46020 + call LoadTrainerHeader + jp TextScriptEnd + +RockTunnel2Text3: ; 0x46089 + db $08 ; asm + ld hl, TrainerHeader_4602c + call LoadTrainerHeader + jp TextScriptEnd + +RockTunnel2Text4: ; 0x46093 + db $08 ; asm + ld hl, TrainerHeader_46038 + call LoadTrainerHeader + jp TextScriptEnd + +RockTunnel2Text5: ; 0x4609d + db $08 ; asm + ld hl, TrainerHeader_46044 + call LoadTrainerHeader + jp TextScriptEnd + +RockTunnel2Text6: ; 0x460a7 + db $08 ; asm + ld hl, TrainerHeader_46050 + call LoadTrainerHeader + jp TextScriptEnd + +RockTunnel2Text7: ; 0x460b1 + db $08 ; asm + ld hl, TrainerHeader_4605c + call LoadTrainerHeader + jp TextScriptEnd + +RockTunnel2Text8: ; 0x460bb + db $08 ; asm + ld hl, TrainerHeader_46068 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_460c5: ; 0x460c5 + TX_FAR _UnnamedText_460c5 + db $50 +; 0x460c5 + 5 bytes + +UnnamedText_460ca: ; 0x460ca + TX_FAR _UnnamedText_460ca + db $50 +; 0x460ca + 5 bytes + +UnnamedText_460cf: ; 0x460cf + TX_FAR _UnnamedText_460cf + db $50 +; 0x460cf + 5 bytes + +UnnamedText_460d4: ; 0x460d4 + TX_FAR _UnnamedText_460d4 + db $50 +; 0x460d4 + 5 bytes + +UnnamedText_460d9: ; 0x460d9 + TX_FAR _UnnamedText_460d9 + db $50 +; 0x460d9 + 5 bytes + +UnnamedText_460de: ; 0x460de + TX_FAR _UnnamedText_460de + db $50 +; 0x460de + 5 bytes + +UnnamedText_460e3: ; 0x460e3 + TX_FAR _UnnamedText_460e3 + db $50 +; 0x460e3 + 5 bytes + +UnnamedText_460e8: ; 0x460e8 + TX_FAR _UnnamedText_460e8 + db $50 +; 0x460e8 + 5 bytes + +UnnamedText_460ed: ; 0x460ed + TX_FAR _UnnamedText_460ed + db $50 +; 0x460ed + 5 bytes + +UnnamedText_460f2: ; 0x460f2 + TX_FAR _UnnamedText_460f2 + db $50 +; 0x460f2 + 5 bytes + +UnnamedText_460f7: ; 0x460f7 + TX_FAR _UnnamedText_460f7 + db $50 +; 0x460f7 + 5 bytes + +UnnamedText_460fc: ; 0x460fc + TX_FAR _UnnamedText_460fc + db $50 +; 0x460fc + 5 bytes + +UnnamedText_46101: ; 0x46101 + TX_FAR _UnnamedText_46101 + db $50 +; 0x46101 + 5 bytes + +UnnamedText_46106: ; 0x46106 + TX_FAR _UnnamedText_46106 + db $50 +; 0x46106 + 5 bytes + +UnnamedText_4610b: ; 0x4610b + TX_FAR _UnnamedText_4610b + db $50 +; 0x4610b + 5 bytes + +UnnamedText_46110: ; 0x46110 + TX_FAR _UnnamedText_46110 + db $50 +; 0x46110 + 5 bytes + +UnnamedText_46115: ; 0x46115 + TX_FAR _UnnamedText_46115 + db $50 +; 0x46115 + 5 bytes + +UnnamedText_4611a: ; 0x4611a + TX_FAR _UnnamedText_4611a + db $50 +; 0x4611a + 5 bytes + +UnnamedText_4611f: ; 0x4611f + TX_FAR _UnnamedText_4611f + db $50 +; 0x4611f + 5 bytes + +UnnamedText_46124: ; 0x46124 + TX_FAR _UnnamedText_46124 + db $50 +; 0x46124 + 5 bytes + +UnnamedText_46129: ; 0x46129 + TX_FAR _UnnamedText_46129 + db $50 +; 0x46129 + 5 bytes + +UnnamedText_4612e: ; 0x4612e + TX_FAR _UnnamedText_4612e + db $50 +; 0x4612e + 5 bytes + +UnnamedText_46133: ; 0x46133 + TX_FAR _UnnamedText_46133 + db $50 +; 0x46133 + 5 bytes + +UnnamedText_46138: ; 0x46138 + TX_FAR _UnnamedText_46138 + db $50 +; 0x46138 + 5 bytes + +RockTunnel2Object: ; 0x4613d (size=100) + db $3 ; border tile + + db $4 ; warps + db $19, $21, $4, ROCK_TUNNEL_1 + db $3, $1b, $5, ROCK_TUNNEL_1 + db $b, $17, $6, ROCK_TUNNEL_1 + db $3, $3, $7, ROCK_TUNNEL_1 + + db $0 ; signs + + db $8 ; people + db SPRITE_LASS, $d + 4, $b + 4, $ff, $d0, $41, JR__TRAINER_F + $C8, $9 ; trainer + db SPRITE_HIKER, $a + 4, $6 + 4, $ff, $d0, $42, HIKER + $C8, $9 ; trainer + db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $3 + 4, $ff, $d0, $43, POKEMANIAC + $C8, $3 ; trainer + db SPRITE_BLACK_HAIR_BOY_2, $15 + 4, $14 + 4, $ff, $d3, $44, POKEMANIAC + $C8, $4 ; trainer + db SPRITE_HIKER, $a + 4, $1e + 4, $ff, $d0, $45, HIKER + $C8, $a ; trainer + db SPRITE_LASS, $1c + 4, $e + 4, $ff, $d3, $46, JR__TRAINER_F + $C8, $a ; trainer + db SPRITE_HIKER, $5 + 4, $21 + 4, $ff, $d3, $47, HIKER + $C8, $b ; trainer + db SPRITE_BLACK_HAIR_BOY_2, $1e + 4, $1a + 4, $ff, $d0, $48, POKEMANIAC + $C8, $5 ; trainer + + ; warp-to + EVENT_DISP $14, $19, $21 ; ROCK_TUNNEL_1 + EVENT_DISP $14, $3, $1b ; ROCK_TUNNEL_1 + EVENT_DISP $14, $b, $17 ; ROCK_TUNNEL_1 + EVENT_DISP $14, $3, $3 ; ROCK_TUNNEL_1 + +RockTunnel2Blocks: ; 0x461a1 360 + INCBIN "maps/rocktunnel2.blk" + +SeafoamIslands2_h: ; 0x46309 to 0x46315 (12 bytes) (bank=11) (id=159) + db $11 ; tileset + db SEAFOAM_ISLANDS_2_HEIGHT, SEAFOAM_ISLANDS_2_WIDTH ; dimensions (y, x) + dw SeafoamIslands2Blocks, SeafoamIslands2Texts, SeafoamIslands2Script ; blocks, texts, scripts + db $00 ; connections + + dw SeafoamIslands2Object ; objects + +SeafoamIslands2Script: ; 0x46315 + call $3c3c + ld hl, $cd60 + bit 7, [hl] + res 7, [hl] + jr z, .asm_46362 ; 0x4631f $41 + ld hl, SeafoamIslands2Script_Unknown4636d + call $34e4 + ret nc + ld hl, $d87f + ld a, [$cd3d] + cp $1 + jr nz, .asm_46340 ; 0x46330 $e + set 0, [hl] + ld a, $d9 + ld [$d079], a + ld a, $db + ld [$d07a], a + jr .asm_4634c ; 0x4633e $c +.asm_46340 + set 1, [hl] + ld a, $da + ld [$d079], a + ld a, $dc + ld [$d07a], a +.asm_4634c + ld a, [$d079] + ld [$cc4d], a + ld a, $11 + call Predef + ld a, [$d07a] + ld [$cc4d], a + ld a, $15 + jp $3e6d +.asm_46362 + ld a, $a0 + ld [$d71d], a + ld hl, SeafoamIslands2Script_Unknown4636d + jp $6981 +; 0x4636d + +SeafoamIslands2Script_Unknown4636d: ; 0x4636d +INCBIN "baserom.gbc",$4636d,$5 + +SeafoamIslands2Texts: ; 0x46372 + dw SeafoamIslands2Text1, SeafoamIslands2Text2 + +SeafoamIslands2Object: ; 0x46376 (size=72) + db $7d ; border tile + + db $7 ; warps + db $2, $4, $0, SEAFOAM_ISLANDS_3 + db $5, $7, $4, SEAFOAM_ISLANDS_1 + db $7, $d, $2, SEAFOAM_ISLANDS_3 + db $f, $13, $3, SEAFOAM_ISLANDS_3 + db $f, $17, $6, SEAFOAM_ISLANDS_1 + db $b, $19, $5, SEAFOAM_ISLANDS_3 + db $3, $19, $5, SEAFOAM_ISLANDS_1 + + db $0 ; signs + + db $2 ; people + db SPRITE_BOULDER, $6 + 4, $11 + 4, $ff, $10, $1 ; person + db SPRITE_BOULDER, $6 + 4, $16 + 4, $ff, $10, $2 ; person + + ; warp-to + EVENT_DISP $f, $2, $4 ; SEAFOAM_ISLANDS_3 + EVENT_DISP $f, $5, $7 ; SEAFOAM_ISLANDS_1 + EVENT_DISP $f, $7, $d ; SEAFOAM_ISLANDS_3 + EVENT_DISP $f, $f, $13 ; SEAFOAM_ISLANDS_3 + EVENT_DISP $f, $f, $17 ; SEAFOAM_ISLANDS_1 + EVENT_DISP $f, $b, $19 ; SEAFOAM_ISLANDS_3 + EVENT_DISP $f, $3, $19 ; SEAFOAM_ISLANDS_1 + +SeafoamIslands2Blocks: ; 0x463be 135 + INCBIN "maps/seafoamislands2.blk" + +SeafoamIslands3_h: ; 0x46445 to 0x46451 (12 bytes) (bank=11) (id=160) + db $11 ; tileset + db SEAFOAM_ISLANDS_3_HEIGHT, SEAFOAM_ISLANDS_3_WIDTH ; dimensions (y, x) + dw SeafoamIslands3Blocks, SeafoamIslands3Texts, SeafoamIslands3Script ; blocks, texts, scripts + db $00 ; connections + + dw SeafoamIslands3Object ; objects + +SeafoamIslands3Script: ; 0x46451 + call $3c3c + ld hl, $cd60 + bit 7, [hl] + res 7, [hl] + jr z, .asm_4649e ; 0x4645b $41 + ld hl, SeafoamIslands3Script_Unknown464a9 + call $34e4 + ret nc + ld hl, $d880 + ld a, [$cd3d] + cp $1 + jr nz, .asm_4647c ; 0x4646c $e + set 0, [hl] + ld a, $db + ld [$d079], a + ld a, $df + ld [$d07a], a + jr .asm_46488 ; 0x4647a $c +.asm_4647c + set 1, [hl] + ld a, $dc + ld [$d079], a + ld a, $e0 + ld [$d07a], a +.asm_46488 + ld a, [$d079] + ld [$cc4d], a + ld a, $11 + call Predef + ld a, [$d07a] + ld [$cc4d], a + ld a, $15 + jp $3e6d +.asm_4649e + ld a, $a1 + ld [$d71d], a + ld hl, SeafoamIslands3Script_Unknown464a9 + jp $6981 +; 0x464a9 + +SeafoamIslands3Script_Unknown464a9: ; 0x464a9 +INCBIN "baserom.gbc",$464a9,$5 + +SeafoamIslands3Texts: ; 0x464ae + dw SeafoamIslands3Text1, SeafoamIslands3Text2 + +SeafoamIslands3Object: ; 0x464b2 (size=72) + db $7d ; border tile + + db $7 ; warps + db $3, $5, $0, SEAFOAM_ISLANDS_2 + db $d, $5, $0, SEAFOAM_ISLANDS_4 + db $7, $d, $2, SEAFOAM_ISLANDS_2 + db $f, $13, $3, SEAFOAM_ISLANDS_2 + db $3, $19, $3, SEAFOAM_ISLANDS_4 + db $b, $19, $5, SEAFOAM_ISLANDS_2 + db $e, $19, $4, SEAFOAM_ISLANDS_4 + + db $0 ; signs + + db $2 ; people + db SPRITE_BOULDER, $6 + 4, $12 + 4, $ff, $10, $1 ; person + db SPRITE_BOULDER, $6 + 4, $17 + 4, $ff, $10, $2 ; person + + ; warp-to + EVENT_DISP $f, $3, $5 ; SEAFOAM_ISLANDS_2 + EVENT_DISP $f, $d, $5 ; SEAFOAM_ISLANDS_4 + EVENT_DISP $f, $7, $d ; SEAFOAM_ISLANDS_2 + EVENT_DISP $f, $f, $13 ; SEAFOAM_ISLANDS_2 + EVENT_DISP $f, $3, $19 ; SEAFOAM_ISLANDS_4 + EVENT_DISP $f, $b, $19 ; SEAFOAM_ISLANDS_2 + EVENT_DISP $f, $e, $19 ; SEAFOAM_ISLANDS_4 + +SeafoamIslands3Blocks: ; 0x464fa 135 + INCBIN "maps/seafoamislands3.blk" + +SeafoamIslands4_h: ; 0x46581 to 0x4658d (12 bytes) (bank=11) (id=161) + db $11 ; tileset + db SEAFOAM_ISLANDS_4_HEIGHT, SEAFOAM_ISLANDS_4_WIDTH ; dimensions (y, x) + dw SeafoamIslands4Blocks, SeafoamIslands4Texts, SeafoamIslands4Script ; blocks, texts, scripts + db $00 ; connections + + dw SeafoamIslands4Object ; objects + +SeafoamIslands4Script: ; 0x4658d + call $3c3c + ld hl, $cd60 + bit 7, [hl] + res 7, [hl] + jr z, .asm_465dc ; 0x46597 $43 + ld hl, SeafoamIslands4Script_Unknown465f6 + call $34e4 + ret nc + ld hl, $d881 + ld a, [$cd3d] + cp $1 + jr nz, .asm_465b8 ; 0x465a8 $e + set 0, [hl] + ld a, $dd + ld [$d079], a + ld a, $e1 + ld [$d07a], a + jr .asm_465c4 ; 0x465b6 $c +.asm_465b8 + set 1, [hl] + ld a, $de + ld [$d079], a + ld a, $e2 + ld [$d07a], a +.asm_465c4 + ld a, [$d079] + ld [$cc4d], a + ld a, $11 + call Predef + ld a, [$d07a] + ld [$cc4d], a + ld a, $15 + call Predef + jr .asm_465ed ; 0x465da $11 +.asm_465dc + ld a, $a2 + ld [$d71d], a + ld hl, SeafoamIslands4Script_Unknown465f6 + call $6981 + ld a, [$d732] + bit 4, a + ret nz +.asm_465ed + ld hl, SeafoamIslands4Scripts + ld a, [$d666] + jp $3d97 +; 0x465f6 + +SeafoamIslands4Script_Unknown465f6: ; 0x465f6 +INCBIN "baserom.gbc",$465f6,$465fb - $465f6 + +SeafoamIslands4Scripts: ; 0x465fb + dw SeafoamIslands4Script0, SeafoamIslands4Script1 + +INCBIN "baserom.gbc",$465ff,$4 + +SeafoamIslands4Script0: ; 0x46603 + ld a, [$d880] + and $3 + cp $3 + ret z + ld a, [$d361] + cp $8 + ret nz + ld a, [$d362] + cp $f + ret nz + ld hl, $ccd3 + ld de, SeafoamIslands4Script0_Unknown46632 + call $350c + dec a + ld [$cd38], a + call $3486 + ld hl, $d733 + set 2, [hl] + ld a, $1 + ld [$d666], a + ret +; 0x46632 + +SeafoamIslands4Script0_Unknown46632: ; 0x46632 +INCBIN "baserom.gbc",$46632,$46639 - $46632 + +SeafoamIslands4Script1: ; 0x46639 + ld a, [$cd38] + and a + ret nz + ld a, $0 + ld [$d666], a + ret +; 0x46644 + +INCBIN "baserom.gbc",$46644,$56 + +SeafoamIslands4Texts: ; 0x4669a + dw SeafoamIslands4Text1, SeafoamIslands4Text2, SeafoamIslands4Text3, SeafoamIslands4Text4, SeafoamIslands4Text5, SeafoamIslands4Text6 + +SeafoamIslands4Object: ; 0x466a6 (size=96) + db $7d ; border tile + + db $7 ; warps + db $c, $5, $1, SEAFOAM_ISLANDS_3 + db $6, $8, $2, SEAFOAM_ISLANDS_5 + db $4, $19, $3, SEAFOAM_ISLANDS_5 + db $3, $19, $4, SEAFOAM_ISLANDS_3 + db $e, $19, $6, SEAFOAM_ISLANDS_3 + db $11, $14, $0, SEAFOAM_ISLANDS_5 + db $11, $15, $1, SEAFOAM_ISLANDS_5 + + db $0 ; signs + + db $6 ; people + db SPRITE_BOULDER, $e + 4, $5 + 4, $ff, $10, $1 ; person + db SPRITE_BOULDER, $f + 4, $3 + 4, $ff, $10, $2 ; person + db SPRITE_BOULDER, $e + 4, $8 + 4, $ff, $10, $3 ; person + db SPRITE_BOULDER, $e + 4, $9 + 4, $ff, $10, $4 ; person + db SPRITE_BOULDER, $6 + 4, $12 + 4, $ff, $ff, $5 ; person + db SPRITE_BOULDER, $6 + 4, $13 + 4, $ff, $ff, $6 ; person + + ; warp-to + EVENT_DISP $f, $c, $5 ; SEAFOAM_ISLANDS_3 + EVENT_DISP $f, $6, $8 ; SEAFOAM_ISLANDS_5 + EVENT_DISP $f, $4, $19 ; SEAFOAM_ISLANDS_5 + EVENT_DISP $f, $3, $19 ; SEAFOAM_ISLANDS_3 + EVENT_DISP $f, $e, $19 ; SEAFOAM_ISLANDS_3 + EVENT_DISP $f, $11, $14 ; SEAFOAM_ISLANDS_5 + EVENT_DISP $f, $11, $15 ; SEAFOAM_ISLANDS_5 + +SeafoamIslands4Blocks: ; 0x46706 135 + INCBIN "maps/seafoamislands4.blk" + +SeafoamIslands5_h: ; 0x4678d to 0x46799 (12 bytes) (bank=11) (id=162) + db $11 ; tileset + db SEAFOAM_ISLANDS_5_HEIGHT, SEAFOAM_ISLANDS_5_WIDTH ; dimensions (y, x) + dw SeafoamIslands5Blocks, SeafoamIslands5Texts, SeafoamIslands5Script ; blocks, texts, scripts + db $00 ; connections + + dw SeafoamIslands5Object ; objects + +SeafoamIslands5Script: ; 0x46799 + call $3c3c + ld a, [$d668] + ld hl, SeafoamIslands5Scripts + jp $3d97 +; 0x467a5 + +INCBIN "baserom.gbc",$467a5,$467ad - $467a5 + +SeafoamIslands5Scripts: ; 0x467ad + dw SeafoamIslands5Script0, SeafoamIslands5Script1 + +INCBIN "baserom.gbc",$467b1,$16 + +SeafoamIslands5Script0: ; 0x467c7 + ld a, [$d880] + and $3 + cp $3 + ret z + ld hl, $67fe + call $34bf + ret nc + ld a, [$cd3d] + cp $3 + jr nc, .asm_467e6 ; 0x467db $9 + ld a, $40 + ld [$ccd4], a + ld a, $2 + jr .asm_467e8 ; 0x467e4 $2 +.asm_467e6 + ld a, $1 +.asm_467e8 + ld [$cd38], a + ld a, $40 + ld [$ccd3], a + call $3486 + ld hl, $d733 + res 2, [hl] + ld a, $1 + ld [$d668], a + ret +; 0x467fe + +INCBIN "baserom.gbc",$467fe,$46807 - $467fe + +SeafoamIslands5Script1: ; 0x46807 + ld a, [$cd38] + and a + ret nz + xor a + ld [$cd6b], a + ld a, $0 + ld [$d668], a + ret +; 0x46816 + +INCBIN "baserom.gbc",$46816,$66 + +SeafoamIslands5Texts: ; 0x4687c + dw SeafoamIslands5Text1, SeafoamIslands5Text2, SeafoamIslands5Text3, SeafoamIslands5Text4, SeafoamIslands5Text5 + +SeafoamIslands5TrainerHeaders: +TrainerHeader_46886: ; 0x46886 + db $2 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d882 ; flag's byte + dw UnnamedText_468a2 ; 0x68a2 TextBeforeBattle + dw UnnamedText_468a2 ; 0x68a2 TextAfterBattle + dw UnnamedText_468a2 ; 0x68a2 TextEndBattle + dw UnnamedText_468a2 ; 0x68a2 TextEndBattle +; 0x46892 + +db $ff + +SeafoamIslands5Text3: ; 0x46893 + db $08 ; asm + ld hl, TrainerHeader_46886 + call LoadTrainerHeader + ld a, $4 + ld [$d668], a + jp TextScriptEnd + +UnnamedText_468a2: ; 0x468a2 + TX_FAR _UnnamedText_468a2 ; 0x88075 + db $8 + ld a, $4a + call $13d0 + call $3748 + jp TextScriptEnd +; 0x468b2 + +SeafoamIslands5Text4: ; 0x468b2 + TX_FAR _SeafoamIslands5Text4 + db $50 + +SeafoamIslands5Text5: ; 0x468b7 + TX_FAR _SeafoamIslands5Text5 + db $50 + +SeafoamIslands5Object: ; 0x468bc (size=62) + db $7d ; border tile + + db $4 ; warps + db $11, $14, $5, SEAFOAM_ISLANDS_4 + db $11, $15, $6, SEAFOAM_ISLANDS_4 + db $7, $b, $1, SEAFOAM_ISLANDS_4 + db $4, $19, $2, SEAFOAM_ISLANDS_4 + + db $2 ; signs + db $f, $9, $4 ; SeafoamIslands5Text4 + db $1, $17, $5 ; SeafoamIslands5Text5 + + db $3 ; people + db SPRITE_BOULDER, $f + 4, $4 + 4, $ff, $ff, $1 ; person + db SPRITE_BOULDER, $f + 4, $5 + 4, $ff, $ff, $2 ; person + db SPRITE_BIRD, $1 + 4, $6 + 4, $ff, $d0, $43, ARTICUNO, $32 ; trainer + + ; warp-to + EVENT_DISP $f, $11, $14 ; SEAFOAM_ISLANDS_4 + EVENT_DISP $f, $11, $15 ; SEAFOAM_ISLANDS_4 + EVENT_DISP $f, $7, $b ; SEAFOAM_ISLANDS_4 + EVENT_DISP $f, $4, $19 ; SEAFOAM_ISLANDS_4 + +SeafoamIslands5Blocks: ; 0x468fa 135 + INCBIN "maps/seafoamislands5.blk" + +INCBIN "baserom.gbc",$46981,$167f + +SECTION "bank12",DATA,BANK[$12] + +Route7_h: ; 0x48000 to 0x48022 (34 bytes) (bank=12) (id=18) + db $00 ; tileset + db ROUTE_7_HEIGHT, ROUTE_7_WIDTH ; dimensions (y, x) + dw Route7Blocks, $4155, Route7Script ; blocks, texts, scripts + db WEST | EAST ; connections + + ; connections data + + db CELADON_CITY + dw CeladonCityBlocks - 3 + (CELADON_CITY_WIDTH * 2) ; connection strip location + dw $C6E8 + (ROUTE_7_WIDTH + 6) * (-3 + 3) ; current map position + db $f, CELADON_CITY_WIDTH ; bigness, width + db (-4 * -2), (CELADON_CITY_WIDTH * 2) - 1 ; alignments (y, x) + dw $C6EE + 2 * CELADON_CITY_WIDTH ; window + + db SAFFRON_CITY + dw SaffronCityBlocks + (SAFFRON_CITY_WIDTH) ; connection strip location + dw $C6E5 + (ROUTE_7_WIDTH + 6) * (-3 + 4) ; current map position + db $f, SAFFRON_CITY_WIDTH ; bigness, width + db (-4 * -2), 0 ; alignments (y, x) + dw $C6EF + SAFFRON_CITY_WIDTH ; window + + ; end connections data + + dw Route7Object ; objects + +Route7Object: ; 0x48022 (size=47) + db $f ; border tile + + db $5 ; warps + db $9, $12, $2, ROUTE_7_GATE + db $a, $12, $3, ROUTE_7_GATE + db $9, $b, $0, ROUTE_7_GATE + db $a, $b, $1, ROUTE_7_GATE + db $d, $5, $0, PATH_ENTRANCE_ROUTE_7 + + db $1 ; signs + db $d, $3, $1 ; Route7Text1 + + db $0 ; people + + ; warp-to + EVENT_DISP $a, $9, $12 ; ROUTE_7_GATE + EVENT_DISP $a, $a, $12 ; ROUTE_7_GATE + EVENT_DISP $a, $9, $b ; ROUTE_7_GATE + EVENT_DISP $a, $a, $b ; ROUTE_7_GATE + EVENT_DISP $a, $d, $5 ; PATH_ENTRANCE_ROUTE_7 + +Route7Blocks: ; 4051 90 + INCBIN "maps/route7.blk" + +CeladonPokecenterBlocks: +RockTunnelPokecenterBlocks: +MtMoonPokecenterBlocks: ; 40ab 28 + INCBIN "maps/mtmoonpokecenter.blk" + +Route18GateBlocks: +Route15GateBlocks: +Route11GateBlocks: ; 40c7 20 + INCBIN "maps/route11gate.blk" + +Route18GateHeaderBlocks: +Route16GateUpstairsBlocks: +Route12GateUpstairsBlocks: +Route11GateUpstairsBlocks: ; 40db 16 + INCBIN "maps/route11gateupstairs.blk" + +INCBIN "baserom.gbc",$480eb,$48152 - $480eb + +Route7Script: ; 0x48152 + jp $3c3c +; 0x48155 + +; XXX +db $57, $41 + +Route7Text1: ; 0x48157 + TX_FAR _Route7Text1 + db $50 + +RedsHouse1F_h: ; 415C + db $01 ; tileset + db $04,$04 ; dimensions + dw RedsHouse1FBlocks, RedsHouse1FTexts, RedsHouse1FScript + db 0 ; no connections + dw RedsHouse1FObject + +RedsHouse1FScript: ; 4168 + jp $3C3C + +RedsHouse1FTexts: ; 416B + dw RedsHouse1FText1,RedsHouse1FText2 + +RedsHouse1FText1: ; 416F Mom + db 8 + ld a, [$D72E] + bit 3, a + jr nz, .heal\@ ; if player has received a Pokémon from Oak, heal team + ld hl, MomWakeUpText + call PrintText + jr .done\@ +.heal\@ + call MomHealPokemon +.done\@ + jp TextScriptEnd + +MomWakeUpText: ; 0x48185 + TX_FAR _MomWakeUpText + db "@" + +MomHealPokemon: ; 0x4818a + ld hl, MomHealText1 + call PrintText + call GBFadeOut2 + call $3071 + ld a, 7 + call Predef + ld a, $E8 + ld [$C0EE], a + call $23B1 ; play sound? +.next\@ + ld a, [$C026] + cp $E8 + jr z, .next\@ + ld a, [$D35B] + ld [$C0EE], a + call $23B1 + call GBFadeIn2 + ld hl, MomHealText2 + jp PrintText + +MomHealText1: ; 0x481bc + TX_FAR _MomHealText1 + db "@" +MomHealText2: ; 0x481c1 + TX_FAR _MomHealText2 + db "@" + +RedsHouse1FText2: ; 0x481c6 TV + db 8 + ld a,[$C109] + cp 4 + ld hl,TVWrongSideText + jr nz,.done\@ ; if player is not facing up + ld hl,StandByMeText +.done\@ + call PrintText + jp TextScriptEnd + +StandByMeText: ; 0x481da + TX_FAR _StandByMeText + db "@" + +TVWrongSideText: ; 0x481df + TX_FAR _TVWrongSideText + db "@" + +RedsHouse1FObject: ; 0x481e4 + db $0A ; border tile + + db 3 ; warps + db 7,2,0,$FF ; exit1 + db 7,3,0,$FF ; exit2 + db 1,7,0,$26 ; staircase + + db 1 ; signs + db 1,3,2 ; TV + + db 1 ; people + db $33,4+4,5+4,$FF,$D2,1 ; Mom + + ; warp-to + + dw $C6EF + 4 + (4 + 6) * (3) + 1 + db 7,2 + + dw $C6EF + 4 + (4 + 6) * (3) + 1 + db 7,3 + + dw $C6EF + 4 + (4 + 6) * (0) + 3 + db 1,7 + +RedsHouse1FBlocks: + INCBIN "maps/redshouse1f.blk" + +CeladonMart3_h: ; 0x48219 to 0x48225 (12 bytes) (bank=12) (id=124) + db $12 ; tileset + db CELADON_MART_3_HEIGHT, CELADON_MART_3_WIDTH ; dimensions (y, x) + dw CeladonMart3Blocks, CeladonMart3Texts, CeladonMart3Script ; blocks, texts, scripts + db $00 ; connections + + dw CeladonMart3Object ; objects + +CeladonMart3Script: ; 0x48225 + jp $3c3c +; 0x48228 + +CeladonMart3Texts: ; 0x48228 + dw CeladonMart3Text1, CeladonMart3Text2, CeladonMart3Text3, CeladonMart3Text4, CeladonMart3Text5, CeladonMart3Text6, CeladonMart3Text7, CeladonMart3Text8, CeladonMart3Text9, CeladonMart3Text10, CeladonMart3Text11, CeladonMart3Text12, CeladonMart3Text13, CeladonMart3Text14, CeladonMart3Text15, CeladonMart3Text16, CeladonMart3Text17 + +CeladonMart3Text1: ; 0x4824a + db $08 ; asm + ld a, [$d778] + bit 7, a + jr nz, .asm_a5463 ; 0x48250 + ld hl, UnnamedText_48278 + call PrintText + ld bc, (TM_18 << 8) | 1 + call GiveItem + jr nc, .asm_95f37 ; 0x4825e + ld hl, $d778 + set 7, [hl] + ld hl, ReceivedTM18Text + jr .asm_81359 ; 0x48268 +.asm_95f37 ; 0x4826a + ld hl, TM18NoRoomText + jr .asm_81359 ; 0x4826d +.asm_a5463 ; 0x4826f + ld hl, TM18ExplanationText +.asm_81359 ; 0x48272 + call PrintText + jp TextScriptEnd + +UnnamedText_48278: ; 0x48278 + TX_FAR _UnnamedText_48278 + db $50 +; 0x48278 + 5 bytes + +ReceivedTM18Text: ; 0x4827d + TX_FAR _ReceivedTM18Text ; 0x9c85a + db $0B, $50 +; 0x48283 + +TM18ExplanationText: ; 0x48283 + TX_FAR _TM18ExplanationText + db $50 +; 0x48283 + 5 bytes + +TM18NoRoomText: ; 0x48288 + TX_FAR _TM18NoRoomText + db $50 +; 0x48288 + 5 bytes + +CeladonMart3Text2: ; 0x4828d + TX_FAR _CeladonMart3Text2 + db $50 + +CeladonMart3Text3: ; 0x48292 + TX_FAR _CeladonMart3Text3 + db $50 + +CeladonMart3Text4: ; 0x48297 + TX_FAR _CeladonMart3Text4 + db $50 + +CeladonMart3Text5: ; 0x4829c + TX_FAR _CeladonMart3Text5 + db $50 + +CeladonMart3Text12 +CeladonMart3Text10: +CeladonMart3Text8: +CeladonMart3Text6: ; 0x482a1 + TX_FAR _CeladonMart3Text6 + db $50 + +CeladonMart3Text7: ; 0x482a6 + TX_FAR _CeladonMart3Text7 + db $50 + +CeladonMart3Text9: ; 0x482ab + TX_FAR _CeladonMart3Text9 + db $50 + +CeladonMart3Text11: ; 0x482b0 + TX_FAR _CeladonMart3Text11 + db $50 + +CeladonMart3Text13: ; 0x482b5 + TX_FAR _CeladonMart3Text13 + db $50 + +CeladonMart3Text14: ; 0x482ba + TX_FAR _CeladonMart3Text14 + db $50 + +CeladonMart3Text17: +CeladonMart3Text16: +CeladonMart3Text15: ; 0x482bf + TX_FAR _CeladonMart3Text15 + db $50 + +CeladonMart3Object: ; 0x482c4 (size=94) + db $f ; border tile + + db $3 ; warps + db $1, $c, $0, CELADON_MART_4 + db $1, $10, $1, CELADON_MART_2 + db $1, $1, $0, CELADON_MART_ELEVATOR + + db $c ; signs + db $4, $2, $6 ; CeladonMart3Text6 + db $4, $3, $7 ; CeladonMart3Text7 + db $4, $5, $8 ; CeladonMart3Text8 + db $4, $6, $9 ; CeladonMart3Text9 + db $6, $2, $a ; CeladonMart3Text10 + db $6, $3, $b ; CeladonMart3Text11 + db $6, $5, $c ; CeladonMart3Text12 + db $6, $6, $d ; CeladonMart3Text13 + db $1, $e, $e ; CeladonMart3Text14 + db $1, $4, $f ; CeladonMart3Text15 + db $1, $6, $10 ; CeladonMart3Text16 + db $1, $a, $11 ; CeladonMart3Text17 + + db $5 ; people + db SPRITE_MART_GUY, $5 + 4, $10 + 4, $ff, $ff, $1 ; person + db SPRITE_GAMEBOY_KID_COPY, $6 + 4, $b + 4, $ff, $d3, $2 ; person + db SPRITE_GAMEBOY_KID_COPY, $2 + 4, $7 + 4, $ff, $d0, $3 ; person + db SPRITE_GAMEBOY_KID_COPY, $2 + 4, $8 + 4, $ff, $d0, $4 ; person + db SPRITE_YOUNG_BOY, $5 + 4, $2 + 4, $ff, $d1, $5 ; person + + ; warp-to + EVENT_DISP $a, $1, $c ; CELADON_MART_4 + EVENT_DISP $a, $1, $10 ; CELADON_MART_2 + EVENT_DISP $a, $1, $1 ; CELADON_MART_ELEVATOR + +CeladonMart3Blocks: ; 0x48322 40 + INCBIN "maps/celadonmart3.blk" + +CeladonMart4_h: ; 0x4834a to 0x48356 (12 bytes) (bank=12) (id=125) + db $12 ; tileset + db CELADON_MART_4_HEIGHT, CELADON_MART_4_WIDTH ; dimensions (y, x) + dw CeladonMart4Blocks, CeladonMart4Texts, CeladonMart4Script ; blocks, texts, scripts + db $00 ; connections + + dw CeladonMart4Object ; objects + +CeladonMart4Script: ; 0x48356 + jp $3c3c +; 0x48359 + +CeladonMart4Texts: ; 0x48359 + dw CeladonMart4Text1, CeladonMart4Text2, CeladonMart4Text3, CeladonMart4Text4 + +CeladonMart4Text2: ; 0x48361 + TX_FAR _CeladonMart4Text2 + db $50 + +CeladonMart4Text3: ; 0x48366 + TX_FAR _CeladonMart4Text3 + db $50 + +CeladonMart4Text4: ; 0x4836b + TX_FAR _CeladonMart4Text4 + db $50 + +CeladonMart4Object: ; 0x48370 (size=49) + db $f ; border tile + + db $3 ; warps + db $1, $c, $0, CELADON_MART_3 + db $1, $10, $1, CELADON_MART_5 + db $1, $1, $0, CELADON_MART_ELEVATOR + + db $1 ; signs + db $1, $e, $4 ; CeladonMart4Text4 + + db $3 ; people + db SPRITE_MART_GUY, $7 + 4, $5 + 4, $ff, $ff, $1 ; person + db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $f + 4, $fe, $2, $2 ; person + db SPRITE_BUG_CATCHER, $2 + 4, $5 + 4, $fe, $2, $3 ; person + + ; warp-to + EVENT_DISP $a, $1, $c ; CELADON_MART_3 + EVENT_DISP $a, $1, $10 ; CELADON_MART_5 + EVENT_DISP $a, $1, $1 ; CELADON_MART_ELEVATOR + +CeladonMart4Blocks: ; 0x483a1 40 + INCBIN "maps/celadonmart4.blk" + +CeladonMartRoof_h: ; 0x483c9 to 0x483d5 (12 bytes) (bank=12) (id=126) + db $12 ; tileset + db CELADON_MART_5_HEIGHT, CELADON_MART_5_WIDTH ; dimensions (y, x) + dw CeladonMartRoofBlocks, CeladonMartRoofTexts, CeladonMartRoofScript ; blocks, texts, scripts + db $00 ; connections + + dw CeladonMartRoofObject ; objects + +CeladonMartRoofScript: ; 0x483d5 + jp $3c3c +; 0x483d8 + +INCBIN "baserom.gbc",$483d8,$484ee - $483d8 + +UnnamedText_484ee: ; 0x484ee + TX_FAR _UnnamedText_484ee + db $50 +; 0x484ee + 5 bytes + +INCBIN "baserom.gbc",$484f3,$68 + +CeladonMartRoofTexts: ; 0x4855b + dw CeladonMartRoofText1, CeladonMartRoofText2, CeladonMartRoofText5, CeladonMartRoofText5, CeladonMartRoofText5, CeladonMartRoofText6 + +CeladonMartRoofText1: ; 0x48567 + TX_FAR _CeladonMartRoofText1 + db $50 + +CeladonMartRoofText2: ; 0x4856c + db $08 ; asm + call $43d8 + ld a, [$cd37] + and a + jr z, .asm_914b9 ; 0x48574 + ld a, $1 + ld [$cc3c], a + ld hl, CeladonMartRoofText4 + call PrintText + call $35ec + ld a, [$cc26] + and a + jr nz, .asm_05aa4 ; 0x48588 + call $440c + jr .asm_05aa4 ; 0x4858d +.asm_914b9 ; 0x4858f + ld hl, CeladonMartRoofText3 + call PrintText +.asm_05aa4 ; 0x48595 + jp TextScriptEnd + +CeladonMartRoofText3: ; 0x48598 + TX_FAR _UnnamedText_48598 + db $50 +; 0x48598 + 5 bytes + +CeladonMartRoofText4: +UnnamedText_4859d: ; 0x4859d + TX_FAR _UnnamedText_4859d + db $50 +; 0x4859d + 5 bytes + +CeladonMartRoofText5: ; 0x485a2 + db $f5 + +CeladonMartRoofText6: ; 0x485a3 + TX_FAR _CeladonMartRoofText6 + db $50 + +CeladonMartRoofObject: ; 0x485a8 (size=36) + db $42 ; border tile + + db $1 ; warps + db $2, $f, $0, CELADON_MART_5 + + db $4 ; signs + db $1, $a, $3 ; CeladonMartRoofText3 + db $1, $b, $4 ; CeladonMartRoofText4 + db $2, $c, $5 ; CeladonMartRoofText5 + db $2, $d, $6 ; CeladonMartRoofText6 + + db $2 ; people + db SPRITE_BLACK_HAIR_BOY_2, $4 + 4, $a + 4, $ff, $d2, $1 ; person + db SPRITE_LITTLE_GIRL, $5 + 4, $5 + 4, $fe, $0, $2 ; person + + ; warp-to + EVENT_DISP $a, $2, $f ; CELADON_MART_5 + +CeladonMartRoofBlocks: ; 0x485cc 40 + INCBIN "maps/celadonmart5.blk" + +CeladonMartElevator_h: ; 0x485f4 to 0x48600 (12 bytes) (bank=12) (id=127) + db $12 ; tileset + db CELADON_MART_6_HEIGHT, CELADON_MART_6_WIDTH ; dimensions (y, x) + dw CeladonMartElevatorBlocks, CeladonMartElevatorTexts, CeladonMartElevatorScript ; blocks, texts, scripts + db $00 ; connections + + dw CeladonMartElevatorObject ; objects + +CeladonMartElevatorScript: ; 0x48600 + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + push hl + call nz, CeladonMartElevatorScript_Unknown4861c + pop hl + bit 7, [hl] + res 7, [hl] + call nz, $4654 + xor a + ld [$cf0c], a + inc a + ld [$cc3c], a + ret +; 0x4861c + +CeladonMartElevatorScript_Unknown4861c: ; 0x4861c +INCBIN "baserom.gbc",$4861c,$40 + +CeladonMartElevatorTexts: ; 0x4865c + dw CeladonMartElevatorText1 + +CeladonMartElevatorText1: ; 0x4865e + db $08 ; asm + call $4631 + ld hl, $464a + ld a, $61 + call Predef + jp TextScriptEnd + +CeladonMartElevatorObject: ; 0x4866d (size=23) + db $f ; border tile + + db $2 ; warps + db $3, $1, $5, CELADON_MART_1 + db $3, $2, $5, CELADON_MART_1 + + db $1 ; signs + db $0, $3, $1 ; CeladonMartElevatorText1 + + db $0 ; people + + ; warp-to + EVENT_DISP $2, $3, $1 ; CELADON_MART_1 + EVENT_DISP $2, $3, $2 ; CELADON_MART_1 + +CeladonMartElevatorBlocks: ; 0x48684 4 + INCBIN "maps/celadonmart6.blk" + +CeladonMansion1_h: ; 0x48688 to 0x48694 (12 bytes) (bank=12) (id=128) + db $13 ; tileset + db CELADON_MANSION_1_HEIGHT, CELADON_MANSION_1_WIDTH ; dimensions (y, x) + dw CeladonMansion1Blocks, CeladonMansion1Texts, CeladonMansion1Script ; blocks, texts, scripts + db $00 ; connections + + dw CeladonMansion1Object ; objects + +CeladonMansion1Script: ; 0x48694 + jp $3c3c +; 0x48697 + +CeladonMansion1Texts: ; 0x48697 + dw CeladonMansion1Text1, CeladonMansion1Text2, CeladonMansion1Text3, CeladonMansion1Text4, CeladonMansion1Text5 + +;0x486a1 + call $13d0 + jp TextScriptEnd +; 0x486a7 + +CeladonMansion1Text1: ; 0x486a7 + TX_FAR _CeladonMansion1Text1 + db $08 ; asm + ld a, $4d + jp $46a1 + +CeladonMansion1Text2: ; 0x486b1 + TX_FAR _CeladonMansion1Text2 + db $50 + +CeladonMansion1Text3: ; 0x486b6 + TX_FAR _CeladonMansion1Text3 + db $8 + ld a, $4 + jp $46a1 +; 0x486c0 + +CeladonMansion1Text4: ; 0x486c0 + TX_FAR _CeladonMansion1Text4 + db $8 + ld a, $f + jp $46a1 +; 0x486ca + +CeladonMansion1Text5: ; 0x486ca + TX_FAR _CeladonMansion1Text5 + db $50 + +CeladonMansion1Object: ; 0x486cf (size=71) + db $f ; border tile + + db $5 ; warps + db $b, $4, $2, $ff + db $b, $5, $2, $ff + db $0, $4, $4, $ff + db $1, $7, $1, CELADON_MANSION_2 + db $1, $2, $2, CELADON_MANSION_2 + + db $1 ; signs + db $9, $4, $5 ; CeladonMansion1Text5 + + db $4 ; people + db SPRITE_SLOWBRO, $5 + 4, $0 + 4, $ff, $d3, $1 ; person + db SPRITE_OLD_MEDIUM_WOMAN, $5 + 4, $1 + 4, $ff, $d0, $2 ; person + db SPRITE_CLEFAIRY, $8 + 4, $1 + 4, $fe, $2, $3 ; person + db SPRITE_SLOWBRO, $4 + 4, $4 + 4, $fe, $1, $4 ; person + + ; warp-to + EVENT_DISP $4, $b, $4 + EVENT_DISP $4, $b, $5 + EVENT_DISP $4, $0, $4 + EVENT_DISP $4, $1, $7 ; CELADON_MANSION_2 + EVENT_DISP $4, $1, $2 ; CELADON_MANSION_2 + +CeladonMansion1Blocks: ; 0x48716 24 + INCBIN "maps/celadonmansion1.blk" + +CeladonMansion2_h: ; 0x4872e to 0x4873a (12 bytes) (bank=12) (id=129) + db $13 ; tileset + db CELADON_MANSION_2_HEIGHT, CELADON_MANSION_2_WIDTH ; dimensions (y, x) + dw CeladonMansion2Blocks, CeladonMansion2Texts, CeladonMansion2Script ; blocks, texts, scripts + db $00 ; connections + + dw CeladonMansion2Object ; objects + +CeladonMansion2Script: ; 0x4873a + call $3c3c + ret +; 0x4873e + +CeladonMansion2Texts: ; 0x4873e + dw CeladonMansion2Text1 + +CeladonMansion2Text1: ; 0x48740 + TX_FAR _CeladonMansion2Text1 + db $50 + +CeladonMansion2Object: ; 0x48745 (size=39) + db $f ; border tile + + db $4 ; warps + db $1, $6, $0, CELADON_MANSION_3 + db $1, $7, $3, CELADON_MANSION_1 + db $1, $2, $4, CELADON_MANSION_1 + db $1, $4, $3, CELADON_MANSION_3 + + db $1 ; signs + db $9, $4, $1 ; CeladonMansion2Text1 + + db $0 ; people + + ; warp-to + EVENT_DISP $4, $1, $6 ; CELADON_MANSION_3 + EVENT_DISP $4, $1, $7 ; CELADON_MANSION_1 + EVENT_DISP $4, $1, $2 ; CELADON_MANSION_1 + EVENT_DISP $4, $1, $4 ; CELADON_MANSION_3 + +CeladonMansion2Blocks: ; 0x4876c 24 + INCBIN "maps/celadonmansion2.blk" + +CeladonMansion3_h: ; 0x48784 to 0x48790 (12 bytes) (bank=12) (id=130) + db $13 ; tileset + db CELADON_MANSION_3_HEIGHT, CELADON_MANSION_3_WIDTH ; dimensions (y, x) + dw CeladonMansion3Blocks, CeladonMansion3Texts, CeladonMansion3Script ; blocks, texts, scripts + db $00 ; connections + + dw CeladonMansion3Object ; objects + +CeladonMansion3Script: ; 0x48790 + jp $3c3c +; 0x48793 + +CeladonMansion3Texts: ; 0x48793 + dw CeladonMansion3Text1, CeladonMansion3Text2, CeladonMansion3Text3, CeladonMansion3Text4, CeladonMansion3Text5, CeladonMansion3Text6, CeladonMansion3Text7, CeladonMansion3Text8 + +CeladonMansion3Text1: ; 0x487a3 + TX_FAR _CeladonMansion3Text1 + db $50 + +CeladonMansion3Text2: ; 0x487a8 + TX_FAR _CeladonMansion3Text2 + db $50 + +CeladonMansion3Text3: ; 0x487ad + TX_FAR _CeladonMansion3Text3 + db $50 + +CeladonMansion3Text4: ; 0x487b2 + db $08 ; asm + ld hl, $d2f7 + ld b, $13 + call $2b7f + ld a, [$d11e] + cp $96 + jr nc, .asm_f03d0 ; 0x487c0 + ld hl, UnnamedText_487d0 + jr .asm_c13f0 ; 0x487c5 +.asm_f03d0 ; 0x487c7 + ld hl, UnnamedText_487d5 +.asm_c13f0 ; 0x487ca + call PrintText + jp TextScriptEnd + +UnnamedText_487d0: ; 0x487d0 + TX_FAR _UnnamedText_487d0 + db $50 +; 0x487d5 + +UnnamedText_487d5: ; 0x487d5 + TX_FAR _UnnamedText_487d5 ; 0x9d0ad + db $6 + db $8 + ld hl, $66e2 + ld b, $15 + call Bankswitch + ld a, $1 + ld [$cc3c], a + jp TextScriptEnd +; 0x487eb + +CeladonMansion3Text5: ; 0x487eb + TX_FAR _CeladonMansion3Text5 + db $50 + +CeladonMansion3Text6: ; 0x487f0 + TX_FAR _CeladonMansion3Text6 + db $50 + +CeladonMansion3Text7: ; 0x487f5 + TX_FAR _CeladonMansion3Text7 + db $50 + +CeladonMansion3Text8: ; 0x487fa + TX_FAR _CeladonMansion3Text8 + db $50 + +CeladonMansion3Object: ; 0x487ff (size=72) + db $f ; border tile + + db $4 ; warps + db $1, $6, $0, CELADON_MANSION_2 + db $1, $7, $0, CELADON_MANSION_4 + db $1, $2, $1, CELADON_MANSION_4 + db $1, $4, $3, CELADON_MANSION_2 + + db $4 ; signs + db $3, $1, $5 ; CeladonMansion3Text5 + db $3, $4, $6 ; CeladonMansion3Text6 + db $6, $1, $7 ; CeladonMansion3Text7 + db $9, $4, $8 ; CeladonMansion3Text8 + + db $4 ; people + db SPRITE_BIKE_SHOP_GUY, $4 + 4, $0 + 4, $ff, $d1, $1 ; person + db SPRITE_MART_GUY, $4 + 4, $3 + 4, $ff, $d1, $2 ; person + db SPRITE_BLACK_HAIR_BOY_2, $7 + 4, $0 + 4, $ff, $d1, $3 ; person + db SPRITE_LAPRAS_GIVER, $3 + 4, $2 + 4, $ff, $ff, $4 ; person + + ; warp-to + EVENT_DISP $4, $1, $6 ; CELADON_MANSION_2 + EVENT_DISP $4, $1, $7 ; CELADON_MANSION_4 + EVENT_DISP $4, $1, $2 ; CELADON_MANSION_4 + EVENT_DISP $4, $1, $4 ; CELADON_MANSION_2 + +CeladonMansion3Blocks: ; 0x48847 24 + INCBIN "maps/celadonmansion3.blk" + +CeladonMansion4_h: ; 0x4885f to 0x4886b (12 bytes) (bank=12) (id=131) + db $13 ; tileset + db CELADON_MANSION_4_HEIGHT, CELADON_MANSION_4_WIDTH ; dimensions (y, x) + dw CeladonMansion4Blocks, CeladonMansion4Texts, CeladonMansion4Script ; blocks, texts, scripts + db $00 ; connections + + dw CeladonMansion4Object ; objects + +CeladonMansion4Script: ; 0x4886b + jp $3c3c +; 0x4886e + +CeladonMansion4Texts: ; 0x4886e + dw CeladonMansion4Text1 + +CeladonMansion4Text1: ; 0x48870 + TX_FAR _CeladonMansion4Text1 + db $50 + +CeladonMansion4Object: ; 0x48875 (size=31) + db $9 ; border tile + + db $3 ; warps + db $1, $6, $1, CELADON_MANSION_3 + db $1, $2, $2, CELADON_MANSION_3 + db $7, $2, $0, CELADON_MANSION_5 + + db $1 ; signs + db $7, $3, $1 ; CeladonMansion4Text1 + + db $0 ; people + + ; warp-to + EVENT_DISP $4, $1, $6 ; CELADON_MANSION_3 + EVENT_DISP $4, $1, $2 ; CELADON_MANSION_3 + EVENT_DISP $4, $7, $2 ; CELADON_MANSION_5 + +CeladonMansion4Blocks: ; 0x48894 24 + INCBIN "maps/celadonmansion4.blk" + +CeladonPokecenter_h: ; 0x488ac to 0x488b8 (12 bytes) (bank=12) (id=133) + db $06 ; tileset + db CELADON_POKECENTER_HEIGHT, CELADON_POKECENTER_WIDTH ; dimensions (y, x) + dw CeladonPokecenterBlocks, CeladonPokecenterTexts, CeladonPokecenterScript ; blocks, texts, scripts + db $00 ; connections + + dw CeladonPokecenterObject ; objects + +CeladonPokecenterScript: ; 0x488b8 + call $22fa + jp $3c3c +; 0x488be + +CeladonPokecenterTexts: + dw CeladonPokecenterText1, CeladonPokecenterText2, CeladonPokecenterText3, CeladonPokecenterText4 + +CeladonPokecenterText4: + db $f6 + +CeladonPokecenterText1: + db $ff + +CeladonPokecenterText2: ; 0x488c8 + TX_FAR _CeladonPokecenterText2 + db $50 + +CeladonPokecenterText3: ; 0x488cd + TX_FAR _CeladonPokecenterText3 + db $50 + +CeladonPokecenterObject: ; 0x488d2 (size=44) + db $0 ; border tile + + db $2 ; warps + db $7, $3, $5, $ff + db $7, $4, $5, $ff + + db $0 ; signs + + db $4 ; people + db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person + db SPRITE_GENTLEMAN, $3 + 4, $7 + 4, $fe, $2, $2 ; person + db SPRITE_FOULARD_WOMAN, $5 + 4, $a + 4, $fe, $0, $3 ; person + db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person + + ; warp-to + EVENT_DISP $7, $7, $3 + EVENT_DISP $7, $7, $4 + +CeladonGym_h: ; 0x488fe to 0x4890a (12 bytes) (bank=12) (id=134) + db $07 ; tileset + db CELADON_GYM_HEIGHT, CELADON_GYM_WIDTH ; dimensions (y, x) + dw CeladonGymBlocks, CeladonGymTexts, CeladonGymScript ; blocks, texts, scripts + db $00 ; connections + + dw CeladonGymObject ; objects + +CeladonGymScript: ; 0x4890a + ld hl, $d126 + bit 6, [hl] + res 6, [hl] + call nz, CeladonGymScript_Unknown48927 + call $3c3c + ld hl, CeladonGymTrainerHeaders + ld de, $494e + ld a, [$d5ff] + call $3160 + ld [$d5ff], a + ret +; 0x48927 + +CeladonGymScript_Unknown48927: ; 0x48927 +INCBIN "baserom.gbc",$48927,$7f + +CeladonGymTexts: ; 0x489a6 + dw CeladonGymText1, CeladonGymText2, CeladonGymText3, CeladonGymText4, CeladonGymText5, CeladonGymText6, CeladonGymText7, CeladonGymText8, CeladonGymText9, TM21Text, TM21NoRoomText + +CeladonGymTrainerHeaders: +TrainerHeader_489bc: ; 0x489bc + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d77c ; flag's byte + dw UnnamedText_48a8b ; 0x4a8b TextBeforeBattle + dw UnnamedText_48a95 ; 0x4a95 TextAfterBattle + dw UnnamedText_48a90 ; 0x4a90 TextEndBattle + dw UnnamedText_48a90 ; 0x4a90 TextEndBattle +; 0x489c8 + +TrainerHeader_489c8: ; 0x489c8 + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d77c ; flag's byte + dw UnnamedText_48aa4 ; 0x4aa4 TextBeforeBattle + dw UnnamedText_48aae ; 0x4aae TextAfterBattle + dw UnnamedText_48aa9 ; 0x4aa9 TextEndBattle + dw UnnamedText_48aa9 ; 0x4aa9 TextEndBattle +; 0x489d4 + +TrainerHeader_489d4: ; 0x489d4 + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d77c ; flag's byte + dw UnnamedText_48abd ; 0x4abd TextBeforeBattle + dw UnnamedText_48ac7 ; 0x4ac7 TextAfterBattle + dw UnnamedText_48ac2 ; 0x4ac2 TextEndBattle + dw UnnamedText_48ac2 ; 0x4ac2 TextEndBattle +; 0x489e0 + +TrainerHeader_489e0: ; 0x489e0 + db $5 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d77c ; flag's byte + dw UnnamedText_48ad6 ; 0x4ad6 TextBeforeBattle + dw UnnamedText_48ae0 ; 0x4ae0 TextAfterBattle + dw UnnamedText_48adb ; 0x4adb TextEndBattle + dw UnnamedText_48adb ; 0x4adb TextEndBattle +; 0x489ec + +TrainerHeader_489ec: ; 0x489ec + db $6 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d77c ; flag's byte + dw UnnamedText_48aef ; 0x4aef TextBeforeBattle + dw UnnamedText_48af9 ; 0x4af9 TextAfterBattle + dw UnnamedText_48af4 ; 0x4af4 TextEndBattle + dw UnnamedText_48af4 ; 0x4af4 TextEndBattle +; 0x489f8 + +TrainerHeader_489f8: ; 0x489f8 + db $7 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d77c ; flag's byte + dw UnnamedText_48b08 ; 0x4b08 TextBeforeBattle + dw UnnamedText_48b12 ; 0x4b12 TextAfterBattle + dw UnnamedText_48b0d ; 0x4b0d TextEndBattle + dw UnnamedText_48b0d ; 0x4b0d TextEndBattle +; 0x48a04 + +TrainerHeader_48a04: ; 0x48a04 + db $8 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d77c ; flag's byte + dw UnnamedText_48b21 ; 0x4b21 TextBeforeBattle + dw UnnamedText_48b2b ; 0x4b2b TextAfterBattle + dw UnnamedText_48b26 ; 0x4b26 TextEndBattle + dw UnnamedText_48b26 ; 0x4b26 TextEndBattle +; 0x48a10 + +db $ff + +CeladonGymText1: ; 0x48a11 + db $08 ; asm + ld a, [$d77c] + bit 1, a + jr z, .asm_16064 ; 0x48a17 + bit 0, a + jr nz, .asm_3b22c ; 0x48a1b + call z, $4963 + call $30b6 + jr .asm_96252 ; 0x48a23 +.asm_3b22c ; 0x48a25 + ld hl, UnnamedText_48a68 + call PrintText + jr .asm_96252 ; 0x48a2b +.asm_16064 ; 0x48a2d + ld hl, UnnamedText_48a5e + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, $4a63 + ld de, $4a63 + call $3354 + ldh a, [$8c] + ld [$cf13], a + call $336a + call $32d7 + ld a, $4 + ld [$d05c], a + ld a, $3 + ld [$d5ff], a + ld [$da39], a +.asm_96252 ; 0x48a5b + jp TextScriptEnd + +UnnamedText_48a5e: ; 0x48a5e + TX_FAR _UnnamedText_48a5e + db $50 +; 0x48a5e + 5 bytes + +UnnamedText_48a63: ; 0x48a63 + TX_FAR _UnnamedText_48a63 + db $50 +; 0x48a63 + 5 bytes + +UnnamedText_48a68: ; 0x48a68 + TX_FAR _UnnamedText_48a68 + db $50 +; 0x48a68 + 5 bytes + +CeladonGymText9: ; 0x48a6d +UnnamedText_48a6d: ; 0x48a6d + TX_FAR _UnnamedText_48a6d + db $50 +; 0x48a6d + 5 bytes + +TM21Text: ; 0x48a72 + TX_FAR _ReceivedTM21Text ; 0x9d50c + db $0B + TX_FAR _TM21ExplanationText ; 0x9d520 + db $50 +; 0x48a7c + +TM21NoRoomText: ; 0x48a7c + TX_FAR _TM21NoRoomText + db $50 +; 0x48a7c + 5 bytes + +CeladonGymText2: ; 0x48a81 + db $08 ; asm + ld hl, TrainerHeader_489bc + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_48a8b: ; 0x48a8b + TX_FAR _UnnamedText_48a8b + db $50 +; 0x48a8b + 5 bytes + +UnnamedText_48a90: ; 0x48a90 + TX_FAR _UnnamedText_48a90 + db $50 +; 0x48a90 + 5 bytes + +UnnamedText_48a95: ; 0x48a95 + TX_FAR _UnnamedText_48a95 + db $50 +; 0x48a95 + 5 bytes + +CeladonGymText3: ; 0x48a9a + db $08 ; asm + ld hl, TrainerHeader_489c8 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_48aa4: ; 0x48aa4 + TX_FAR _UnnamedText_48aa4 + db $50 +; 0x48aa4 + 5 bytes + +UnnamedText_48aa9: ; 0x48aa9 + TX_FAR _UnnamedText_48aa9 + db $50 +; 0x48aa9 + 5 bytes + +UnnamedText_48aae: ; 0x48aae + TX_FAR _UnnamedText_48aae + db $50 +; 0x48aae + 5 bytes + +CeladonGymText4: ; 0x48ab3 + db $08 ; asm + ld hl, TrainerHeader_489d4 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_48abd: ; 0x48abd + TX_FAR _UnnamedText_48abd + db $50 +; 0x48abd + 5 bytes + +UnnamedText_48ac2: ; 0x48ac2 + TX_FAR _UnnamedText_48ac2 + db $50 +; 0x48ac2 + 5 bytes + +UnnamedText_48ac7: ; 0x48ac7 + TX_FAR _UnnamedText_48ac7 + db $50 +; 0x48ac7 + 5 bytes + +CeladonGymText5: ; 0x48acc + db $08 ; asm + ld hl, TrainerHeader_489e0 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_48ad6: ; 0x48ad6 + TX_FAR _UnnamedText_48ad6 + db $50 +; 0x48ad6 + 5 bytes + +UnnamedText_48adb: ; 0x48adb + TX_FAR _UnnamedText_48adb + db $50 +; 0x48adb + 5 bytes + +UnnamedText_48ae0: ; 0x48ae0 + TX_FAR _UnnamedText_48ae0 + db $50 +; 0x48ae0 + 5 bytes + +CeladonGymText6: ; 0x48ae5 + db $08 ; asm + ld hl, TrainerHeader_489ec + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_48aef: ; 0x48aef + TX_FAR _UnnamedText_48aef + db $50 +; 0x48aef + 5 bytes + +UnnamedText_48af4: ; 0x48af4 + TX_FAR _UnnamedText_48af4 + db $50 +; 0x48af4 + 5 bytes + +UnnamedText_48af9: ; 0x48af9 + TX_FAR _UnnamedText_48af9 + db $50 +; 0x48af9 + 5 bytes + +CeladonGymText7: ; 0x48afe + db $08 ; asm + ld hl, TrainerHeader_489f8 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_48b08: ; 0x48b08 + TX_FAR _UnnamedText_48b08 + db $50 +; 0x48b08 + 5 bytes + +UnnamedText_48b0d: ; 0x48b0d + TX_FAR _UnnamedText_48b0d + db $50 +; 0x48b0d + 5 bytes + +UnnamedText_48b12: ; 0x48b12 + TX_FAR _UnnamedText_48b12 + db $50 +; 0x48b12 + 5 bytes + +CeladonGymText8: ; 0x48b17 + db $08 ; asm + ld hl, TrainerHeader_48a04 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_48b21: ; 0x48b21 + TX_FAR _UnnamedText_48b21 + db $50 +; 0x48b21 + 5 bytes + +UnnamedText_48b26: ; 0x48b26 + TX_FAR _UnnamedText_48b26 + db $50 +; 0x48b26 + 5 bytes + +UnnamedText_48b2b: ; 0x48b2b + TX_FAR _UnnamedText_48b2b + db $50 +; 0x48b2b + 5 bytes + +CeladonGymObject: ; 0x48b30 (size=84) + db $3 ; border tile + + db $2 ; warps + db $11, $4, $6, $ff + db $11, $5, $6, $ff + + db $0 ; signs + + db $8 ; people + db SPRITE_ERIKA, $3 + 4, $4 + 4, $ff, $d0, $41, ERIKA + $C8, $1 ; trainer + db SPRITE_LASS, $b + 4, $2 + 4, $ff, $d3, $42, LASS + $C8, $11 ; trainer + db SPRITE_FOULARD_WOMAN, $a + 4, $7 + 4, $ff, $d2, $43, BEAUTY + $C8, $1 ; trainer + db SPRITE_LASS, $5 + 4, $9 + 4, $ff, $d0, $44, JR__TRAINER_F + $C8, $b ; trainer + db SPRITE_FOULARD_WOMAN, $5 + 4, $1 + 4, $ff, $d0, $45, BEAUTY + $C8, $2 ; trainer + db SPRITE_LASS, $3 + 4, $6 + 4, $ff, $d0, $46, LASS + $C8, $12 ; trainer + db SPRITE_FOULARD_WOMAN, $3 + 4, $3 + 4, $ff, $d0, $47, BEAUTY + $C8, $3 ; trainer + db SPRITE_LASS, $3 + 4, $5 + 4, $ff, $d0, $48, COOLTRAINER_F + $C8, $1 ; trainer + + ; warp-to + EVENT_DISP $5, $11, $4 + EVENT_DISP $5, $11, $5 + +CeladonGymBlocks: ; 0x48b84 45 + INCBIN "maps/celadongym.blk" + +CeladonGameCorner_h: ; 0x48bb1 to 0x48bbd (12 bytes) (bank=12) (id=135) + db $12 ; tileset + db GAME_CORNER_HEIGHT, GAME_CORNER_WIDTH ; dimensions (y, x) + dw CeladonGameCornerBlocks, CeladonGameCornerTexts, CeladonGameCornerScript ; blocks, texts, scripts + db $00 ; connections + + dw CeladonGameCornerObject ; objects + +CeladonGameCornerScript: ; 0x48bbd + call Unknown_48bcf + call $4bec + call $3c3c + ld hl, CeladonGameCornerScripts + ld a, [$d65f] + jp $3d97 +; 0x48bcf + +Unknown_48bcf: ; 0x48bcf +INCBIN "baserom.gbc",$48bcf,$48c12 - $48bcf + +CeladonGameCornerScripts: ; 0x48c12 + dw CeladonGameCornerScript0, CeladonGameCornerScript1 + +INCBIN "baserom.gbc",$48c16,$2 + +CeladonGameCornerScript0: ; 0x48c18 + ret +; 0x48c19 + +CeladonGameCornerScript1: ; 0x48c19 +INCBIN "baserom.gbc",$48c19,$71 + +CeladonGameCornerTexts: ; 0x48c8a + dw CeladonGameCornerText1, CeladonGameCornerText2, CeladonGameCornerText3, CeladonGameCornerText4, CeladonGameCornerText5, CeladonGameCornerText6, CeladonGameCornerText7, CeladonGameCornerText8, CeladonGameCornerText9, CeladonGameCornerText10, CeladonGameCornerText11, CeladonGameCornerText12, CeladonGameCornerText13 + +CeladonGameCornerText1: ; 0x48ca4 + TX_FAR _CeladonGameCornerText1 + db $50 + +CeladonGameCornerText2: ; 0x48ca9 + db $08 ; asm + call $4f1e + ld hl, UnnamedText_48d22 + call PrintText + call $35ec + ld a, [$cc26] + and a + jr nz, .asm_c650b ; 0x48cba + ld b,COIN_CASE + call $3493 + jr z, .asm_ed086 ; 0x48cc1 + call $4f95 + jr nc, .asm_31338 ; 0x48cc6 + xor a + ldh [$9f], a + ldh [$a1], a + ld a, $10 + ldh [$a0], a + call $35a6 + jr nc, .asm_b6ef0 ; 0x48cd4 + ld hl, $4d31 + jr .asm_e2afd ; 0x48cd9 +.asm_b6ef0 ; 0x48cdb + xor a + ldh [$9f], a + ldh [$a1], a + ld a, $10 + ldh [$a0], a + ld hl, $ffa1 + ld de, $d349 + ld c, $3 + ld a, $c + call Predef + xor a + ldh [$9f], a + ldh [$a0], a + ld a, $50 + ldh [$a1], a + ld de, $d5a5 + ld hl, $ffa1 + ld c, $2 + ld a, $b + call Predef + call $4f1e + ld hl, UnnamedText_48d27 + jr .asm_e2afd ; 0x48d0d +.asm_c650b ; 0x48d0f + ld hl, UnnamedText_48d2c + jr .asm_e2afd ; 0x48d12 +.asm_31338 ; 0x48d14 + ld hl, UnnamedText_48d36 + jr .asm_e2afd ; 0x48d17 +.asm_ed086 ; 0x48d19 + ld hl, UnnamedText_48d3b +.asm_e2afd ; 0x48d1c + call PrintText + jp TextScriptEnd + +UnnamedText_48d22: ; 0x48d22 + TX_FAR _UnnamedText_48d22 + db $50 +; 0x48d27 + +UnnamedText_48d27: ; 0x48d27 + TX_FAR _UnnamedText_48d27 + db $50 +; 0x48d2c + +UnnamedText_48d2c: ; 0x48d2c + TX_FAR _UnnamedText_48d2c + db $50 +; 0x48d31 + +UnnamedText_48d31: ; 0x48d31 + TX_FAR _UnnamedText_48d31 + db $50 +; 0x48d36 + +UnnamedText_48d36: ; 0x48d36 + TX_FAR _UnnamedText_48d36 + db $50 +; 0x48d3b + +UnnamedText_48d3b: ; 0x48d3b + TX_FAR _UnnamedText_48d3b + db $50 +; 0x48d40 + +CeladonGameCornerText3: ; 0x48d40 + TX_FAR _CeladonGameCornerText3 + db $50 + +CeladonGameCornerText4: ; 0x48d45 + TX_FAR _CeladonGameCornerText4 + db $50 + +CeladonGameCornerText5: ; 0x48d4a + db $08 ; asm + ld a, [$d77e] + bit 2, a + jr nz, .asm_d0957 ; 0x48d50 + ld hl, UnnamedText_48d9c + call PrintText + ld b, COIN_CASE + call $3493 + jr z, .asm_5aef9 ; 0x48d5d + call $4f95 + jr nc, .asm_98546 ; 0x48d62 + xor a + ldh [$9f], a + ldh [$a0], a + ld a, $10 + ldh [$a1], a + ld de, $d5a5 + ld hl, $ffa1 + ld c, $2 + ld a, $b + call Predef + ld hl, $d77e + set 2, [hl] + ld a, $1 + ld [$cc3c], a + ld hl, Received10CoinsText + jr .asm_c7d1a ; 0x48d87 +.asm_d0957 ; 0x48d89 + ld hl, UnnamedText_48dac + jr .asm_c7d1a ; 0x48d8c +.asm_98546 ; 0x48d8e + ld hl, UnnamedText_48da7 + jr .asm_c7d1a ; 0x48d91 +.asm_5aef9 ; 0x48d93 + ld hl, UnnamedText_48f19 +.asm_c7d1a ; 0x48d96 + call PrintText + jp TextScriptEnd + +UnnamedText_48d9c: ; 0x48d9c + TX_FAR _UnnamedText_48d9c + db $50 +; 0x48d9c + 5 bytes + +Received10CoinsText: ; 0x48da1 + TX_FAR _Received10CoinsText ; 0x9daa9 + db $0B, $50 + +UnnamedText_48da7: ; 0x48da7 + TX_FAR _UnnamedText_48da7 + db $50 +; 0x48da7 + 5 bytes + +UnnamedText_48dac: ; 0x48dac + TX_FAR _UnnamedText_48dac + db $50 +; 0x48dac + 5 bytes + +CeladonGameCornerText6: ; 0x48db1 + TX_FAR _CeladonGameCornerText6 + db $50 + +CeladonGameCornerText7: ; 0x48db6 + db $08 ; asm + ld a, [$d77c] + bit 1, a + ld hl, $4dca + jr z, .asm_be3fd ; 0x48dbf + ld hl, $4dcf +.asm_be3fd ; 0x48dc4 + call PrintText + jp TextScriptEnd + +UnnamedText_48dca: ; 0x48dca + TX_FAR _UnnamedText_48dca + db $50 +; 0x48dca + 5 bytes + +UnnamedText_48dcf: ; 0x48dcf + TX_FAR _UnnamedText_48dcf + db $50 +; 0x48dcf + 5 bytes + +CeladonGameCornerText8: ; 0x48dd4 + TX_FAR _CeladonGameCornerText8 + db $50 + +CeladonGameCornerText9: ; 0x48dd9 + db $08 ; asm + ld a, [$d77e] + bit 4, a + jr nz, .asm_ed8bc ; 0x48ddf + ld hl, UnnamedText_48e26 + call PrintText + ld b, COIN_CASE + call $3493 + jr z, .asm_df794 ; 0x48dec + call $4f95 + jr nc, .asm_f17c3 ; 0x48df1 + xor a + ldh [$9f], a + ldh [$a0], a + ld a, $20 + ldh [$a1], a + ld de, $d5a5 + ld hl, $ffa1 + ld c, $2 + ld a, $b + call Predef + ld hl, $d77e + set 4, [hl] + ld hl, Received20CoinsText + jr .asm_0ddc2 ; 0x48e11 +.asm_ed8bc ; 0x48e13 + ld hl, UnnamedText_48e36 + jr .asm_0ddc2 ; 0x48e16 +.asm_f17c3 ; 0x48e18 + ld hl, UnnamedText_48e31 + jr .asm_0ddc2 ; 0x48e1b +.asm_df794 ; 0x48e1d + ld hl, UnnamedText_48f19 +.asm_0ddc2 ; 0x48e20 + call PrintText + jp TextScriptEnd + +UnnamedText_48e26: ; 0x48e26 + TX_FAR _UnnamedText_48e26 + db $50 +; 0x48e26 + 5 bytes + +Received20CoinsText: ; 0x48e2b + TX_FAR _Received20CoinsText ; 0x9dc4f + db $0B, $50 +; 0x48e31 + +UnnamedText_48e31: ; 0x48e31 + TX_FAR _UnnamedText_48e31 + db $50 +; 0x48e31 + 5 bytes + +UnnamedText_48e36: ; 0x48e36 + TX_FAR _UnnamedText_48e36 + db $50 +; 0x48e36 + 5 bytes + +CeladonGameCornerText10: ; 0x48e3b + db $08 ; asm + ld a, [$d77e] + bit 3, a + jr nz, .asm_ff080 ; 0x48e41 + ld hl, $4e88 + call PrintText + ld b,COIN_CASE + call $3493 + jr z, .asm_4fb0c ; 0x48e4e + call $4f95 + jr z, .asm_9505a ; 0x48e53 + xor a + ldh [$9f], a + ldh [$a0], a + ld a, $20 + ldh [$a1], a + ld de, $d5a5 + ld hl, $ffa1 + ld c, $2 + ld a, $b + call Predef + ld hl, $d77e + set 3, [hl] + ld hl, UnnamedText_48e8d + jr .asm_78d65 ; 0x48e73 +.asm_ff080 ; 0x48e75 + ld hl, UnnamedText_48e98 + jr .asm_78d65 ; 0x48e78 +.asm_9505a ; 0x48e7a + ld hl, UnnamedText_48e93 + jr .asm_78d65 ; 0x48e7d +.asm_4fb0c ; 0x48e7f + ld hl, UnnamedText_48f19 +.asm_78d65 ; 0x48e82 + call PrintText + jp TextScriptEnd + +UnnamedText_48e88: ; 0x48e88 + TX_FAR _UnnamedText_48e88 + db $50 +; 0x48e88 + 5 bytes + +UnnamedText_48e8d: ; 0x48e8d + TX_FAR _UnnamedText_48e8d ; 0x9dceb + db $0B, $50 +; 0x48e93 + +UnnamedText_48e93: ; 0x48e93 + TX_FAR _UnnamedText_48e93 + db $50 +; 0x48e93 + 5 bytes + +UnnamedText_48e98: ; 0x48e98 + TX_FAR _UnnamedText_48e98 + db $50 +; 0x48e98 + 5 bytes + +CeladonGameCornerText11: ; 0x48e9d + db $08 ; asm + ld hl, UnnamedText_48ece + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, UnnamedText_48ed3 + ld de, $4ed3 ; maybe UnnamedText_48ed3 + call $3354 + ldh a, [$8c] + ld [$cf13], a + call $336a + call $32d7 + xor a + ldh [$b4], a + ldh [$b3], a + ldh [$b2], a + ld a, $1 + ld [$d65f], a + jp TextScriptEnd + +UnnamedText_48ece: ; 0x48ece + TX_FAR _UnnamedText_48ece + db $50 +; 0x48ece + 5 bytes + +UnnamedText_48ed3: ; 0x48ed3 + TX_FAR _UnnamedText_48ed3 + db $50 +; 0x48ed3 + 5 bytes + +CeladonGameCornerText13: ; 0x48ed8 + TX_FAR _UnnamedText_48ed8 + db $50 +; 0x48ed8 + 5 bytes + +CeladonGameCornerText12: ; 0x48edd + db $08 ; asm + ld a, $1 + ld [$cc3c], a + ld hl, UnnamedText_48f09 + call PrintText + call $3748 + ld a, $ad + call $23b1 + call $3748 + ld hl, $d77e + set 1, [hl] + ld a, $43 + ld [$d09f], a + ld bc, $0208 + ld a, $17 + call Predef + jp TextScriptEnd + +UnnamedText_48f09: ; 0x48f09 + TX_FAR _UnnamedText_48f09 ; 0x9ddb0 + db $8 + ld a, $9d + call $23b1 + call $3748 + jp TextScriptEnd +; 0x48f19 + +UnnamedText_48f19: ; 0x48f19 + TX_FAR _UnnamedText_48f19 + db $50 +; 0x48f19 + 5 bytes + +INCBIN "baserom.gbc",$48f1e,$82 + +CeladonGameCornerObject: ; 0x48fa0 (size=99) + db $f ; border tile + + db $3 ; warps + db $11, $f, $7, $ff + db $11, $10, $7, $ff + db $4, $11, $1, ROCKET_HIDEOUT_1 + + db $1 ; signs + db $4, $9, $c ; CeladonGameCornerText12 + + db $b ; people + db SPRITE_FOULARD_WOMAN, $6 + 4, $2 + 4, $ff, $d0, $1 ; person + db SPRITE_MART_GUY, $6 + 4, $5 + 4, $ff, $d0, $2 ; person + db SPRITE_FAT_BALD_GUY, $a + 4, $2 + 4, $ff, $d2, $3 ; person + db SPRITE_FOULARD_WOMAN, $d + 4, $2 + 4, $ff, $d2, $4 ; person + db SPRITE_FISHER, $b + 4, $5 + 4, $ff, $d3, $5 ; person + db SPRITE_MOM_GEISHA, $b + 4, $8 + 4, $ff, $d2, $6 ; person + db SPRITE_GYM_HELPER, $e + 4, $8 + 4, $ff, $d2, $7 ; person + db SPRITE_GAMBLER, $f + 4, $b + 4, $ff, $d3, $8 ; person + db SPRITE_MART_GUY, $b + 4, $e + 4, $ff, $d2, $9 ; person + db SPRITE_GENTLEMAN, $d + 4, $11 + 4, $ff, $d3, $a ; person + db SPRITE_ROCKET, $5 + 4, $9 + 4, $ff, $d1, $4b, ROCKET + $C8, $7 ; trainer + + ; warp-to + EVENT_DISP $a, $11, $f + EVENT_DISP $a, $11, $10 + EVENT_DISP $a, $4, $11 ; ROCKET_HIDEOUT_1 + +CeladonGameCornerBlocks: ; 0x49003 90 + INCBIN "maps/celadongamecorner.blk" + +CeladonMart5_h: ; 0x4905d to 0x49069 (12 bytes) (bank=12) (id=136) + db $12 ; tileset + db CELADON_HOUSE_HEIGHT, CELADON_HOUSE_WIDTH ; dimensions (y, x) + dw CeladonMart5Blocks, CeladonMart5Texts, CeladonMart5Script ; blocks, texts, scripts + db $00 ; connections + + dw CeladonMart5Object ; objects + +CeladonMart5Script: ; 0x49069 + jp $3c3c +; 0x4906c + +CeladonMart5Texts: ; 0x4906c + dw CeladonMart5Text1, CeladonMart5Text2, CeladonMart5Text3, CeladonMart5Text4, CeladonMart5Text5 + +CeladonMart5Text1: ; 0x49076 + TX_FAR _CeladonMart5Text1 + db $50 + +CeladonMart5Text2: ; 0x4907b + TX_FAR _CeladonMart5Text2 + db $50 + +CeladonMart5Text5: ; 0x49080 + TX_FAR _CeladonMart5Text5 + db $50 + +CeladonMart5Object: ; 0x49085 (size=55) + db $f ; border tile + + db $3 ; warps + db $1, $c, $0, CELADON_MART_ROOF + db $1, $10, $1, CELADON_MART_4 + db $1, $1, $0, CELADON_MART_ELEVATOR + + db $1 ; signs + db $1, $e, $5 ; CeladonMart5Text5 + + db $4 ; people + db SPRITE_GENTLEMAN, $5 + 4, $e + 4, $fe, $1, $1 ; person + db SPRITE_SAILOR, $6 + 4, $2 + 4, $ff, $ff, $2 ; person + db SPRITE_MART_GUY, $3 + 4, $5 + 4, $ff, $d0, $3 ; person + db SPRITE_MART_GUY, $3 + 4, $6 + 4, $ff, $d0, $4 ; person + + ; warp-to + EVENT_DISP $a, $1, $c ; CELADON_MART_ROOF + EVENT_DISP $a, $1, $10 ; CELADON_MART_4 + EVENT_DISP $a, $1, $1 ; CELADON_MART_ELEVATOR + +CeladonMart5Blocks: ; 0x490bc 40 + INCBIN "maps/celadonhouse.blk" + +CeladonPrizeRoom_h: ; 0x490e4 to 0x490f0 (12 bytes) (bank=12) (id=137) + db $12 ; tileset + db CELADONPRIZE_ROOM_HEIGHT, CELADONPRIZE_ROOM_WIDTH ; dimensions (y, x) + dw CeladonPrizeRoomBlocks, CeladonPrizeRoomTexts, CeladonPrizeRoomScript ; blocks, texts, scripts + db $00 ; connections + + dw CeladonPrizeRoomObject ; objects + +CeladonPrizeRoomScript: ; 0x490f0 + jp $3c3c +; 0x490f3 + +CeladonPrizeRoomTexts: + dw CeladonPrizeRoomText1, CeladonPrizeRoomText2, CeladonPrizeRoomText3, CeladonPrizeRoomText3, CeladonPrizeRoomText3 + +CeladonPrizeRoomText1: ; 0x490fd + TX_FAR _CeladonPrizeRoomText1 + db $50 + +CeladonPrizeRoomText2: ; 0x49102 + TX_FAR _CeladonPrizeRoomText2 + db $50 + +CeladonPrizeRoomText3: ; 0x49107 + db $f7 + +CeladonPrizeRoomObject: ; 0x49108 (size=41) + db $f ; border tile + + db $2 ; warps + db $7, $4, $9, $ff + db $7, $5, $9, $ff + + db $3 ; signs + db $2, $2, $3 ; CeladonPrizeRoomText3 + db $2, $4, $4 ; CeladonPrizeRoomText4 + db $2, $6, $5 ; CeladonPrizeRoomText5 + + db $2 ; people + db SPRITE_BALDING_GUY, $4 + 4, $1 + 4, $ff, $ff, $1 ; person + db SPRITE_GAMBLER, $3 + 4, $7 + 4, $fe, $2, $2 ; person + + ; warp-to + EVENT_DISP $5, $7, $4 + EVENT_DISP $5, $7, $5 + +CeladonPrizeRoomBlocks: ; 0x49131 20 + INCBIN "maps/celadonprizeroom.blk" + +CeladonDiner_h: ; 0x49145 to 0x49151 (12 bytes) (bank=12) (id=138) + db $12 ; tileset + db CELADON_DINER_HEIGHT, CELADON_DINER_WIDTH ; dimensions (y, x) + dw CeladonDinerBlocks, CeladonDinerTexts, CeladonDinerScript ; blocks, texts, scripts + db $00 ; connections + + dw CeladonDinerObject ; objects + +CeladonDinerScript: ; 0x49151 + call $3c3c + ret +; 0x49155 + +CeladonDinerTexts: ; 0x49155 + dw CeladonDinerText1, CeladonDinerText2, CeladonDinerText3, CeladonDinerText4, CeladonDinerText5 + +CeladonDinerText1: ; 0x4915f + TX_FAR _CeladonDinerText1 + db $50 + +CeladonDinerText2: ; 0x49164 + TX_FAR _CeladonDinerText2 + db $50 + +CeladonDinerText3: ; 0x49169 + TX_FAR _CeladonDinerText3 + db $50 + +CeladonDinerText4: ; 0x4916e + TX_FAR _CeladonDinerText4 + db $50 + +CeladonDinerText5: ; 0x49173 + db $08 ; asm + ld a, [$d783] + bit 0, a + jr nz, .asm_eb14d ; 0x49179 + ld hl, UnnamedText_491a7 + call PrintText + ld bc, (COIN_CASE << 8) | 1 + call GiveItem + jr nc, .asm_78e93 ; 0x49187 + ld hl, $d783 + set 0, [hl] + ld hl, ReceivedCoinCaseText + call PrintText + jr .asm_68b61 ; 0x49194 +.asm_78e93 ; 0x49196 + ld hl, CoinCaseNoRoomText + call PrintText + jr .asm_68b61 ; 0x4919c +.asm_eb14d ; 0x4919e + ld hl, UnnamedText_491b7 + call PrintText +.asm_68b61 ; 0x491a4 + jp TextScriptEnd + +UnnamedText_491a7: ; 0x491a7 + TX_FAR _UnnamedText_491a7 + db $50 +; 0x491a7 + 5 bytes + +ReceivedCoinCaseText: ; 0x491ac + TX_FAR _ReceivedCoinCaseText ; 0x9e07a + db $11, $50 +; 0x491b2 + +CoinCaseNoRoomText: ; 0x491b2 + TX_FAR _CoinCaseNoRoomText + db $50 +; 0x491b2 + 5 bytes + +UnnamedText_491b7: ; 0x491b7 + TX_FAR _UnnamedText_491b7 + db $50 +; 0x491b7 + 5 bytes + +CeladonDinerObject: ; 0x491bc (size=50) + db $f ; border tile + + db $2 ; warps + db $7, $3, $a, $ff + db $7, $4, $a, $ff + + db $0 ; signs + + db $5 ; people + db SPRITE_COOK, $5 + 4, $8 + 4, $fe, $2, $1 ; person + db SPRITE_MOM_GEISHA, $2 + 4, $7 + 4, $ff, $ff, $2 ; person + db SPRITE_FAT_BALD_GUY, $4 + 4, $1 + 4, $ff, $d0, $3 ; person + db SPRITE_FISHER2, $3 + 4, $5 + 4, $ff, $d3, $4 ; person + db SPRITE_GYM_HELPER, $1 + 4, $0 + 4, $ff, $d0, $5 ; person + + ; warp-to + EVENT_DISP $5, $7, $3 + EVENT_DISP $5, $7, $4 + +CeladonDinerBlocks: ; 0x491ee 20 + INCBIN "maps/celadondiner.blk" + +CeladonHouse_h: ; 0x49202 to 0x4920e (12 bytes) (bank=12) (id=139) + db $13 ; tileset + db CELADON_HOUSE_2_HEIGHT, CELADON_HOUSE_2_WIDTH ; dimensions (y, x) + dw CeladonHouseBlocks, CeladonHouseTexts, CeladonHouseScript ; blocks, texts, scripts + db $00 ; connections + + dw CeladonHouseObject ; objects + +CeladonHouseScript: ; 0x4920e + call $3c3c + ret +; 0x49212 + +CeladonHouseTexts: ; 0x49212 + dw CeladonHouseText1, CeladonHouseText2, CeladonHouseText3 + +CeladonHouseText1: ; 0x49218 + TX_FAR _CeladonHouseText1 + db $50 + +CeladonHouseText2: ; 0x4921d + TX_FAR _CeladonHouseText2 + db $50 + +CeladonHouseText3: ; 0x49222 + TX_FAR _CeladonHouseText3 + db $50 + +CeladonHouseObject: ; 0x49227 (size=38) + db $f ; border tile + + db $2 ; warps + db $7, $2, $b, $ff + db $7, $3, $b, $ff + + db $0 ; signs + + db $3 ; people + db SPRITE_OLD_PERSON, $2 + 4, $4 + 4, $ff, $d0, $1 ; person + db SPRITE_ROCKET, $4 + 4, $1 + 4, $fe, $0, $2 ; person + db SPRITE_SAILOR, $6 + 4, $5 + 4, $ff, $d2, $3 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + +CeladonHouseBlocks: ; 0x4924d 16 + INCBIN "maps/celadonhouse2.blk" + +CeladonHotel_h: ; 0x4925d to 0x49269 (12 bytes) (bank=12) (id=140) + db $06 ; tileset + db CELADONHOTEL_HEIGHT, CELADONHOTEL_WIDTH ; dimensions (y, x) + dw CeladonHotelBlocks, CeladonHotelTexts, CeladonHotelScript ; blocks, texts, scripts + db $00 ; connections + + dw CeladonHotelObject ; objects + +CeladonHotelScript: ; 0x49269 + jp $3c3c +; 0x4926c + +CeladonHotelTexts: ; 0x4926c + dw CeladonHotelText1, CeladonHotelText2, CeladonHotelText3 + +CeladonHotelText1: ; 0x49272 + TX_FAR _CeladonHotelText1 + db $50 + +CeladonHotelText2: ; 0x49277 + TX_FAR _CeladonHotelText2 + db $50 + +CeladonHotelText3: ; 0x4927c + TX_FAR _CeladonHotelText3 + db $50 + +CeladonHotelObject: ; 0x49281 (size=38) + db $0 ; border tile + + db $2 ; warps + db $7, $3, $c, $ff + db $7, $4, $c, $ff + + db $0 ; signs + + db $3 ; people + db SPRITE_OLD_MEDIUM_WOMAN, $1 + 4, $3 + 4, $ff, $d0, $1 ; person + db SPRITE_FOULARD_WOMAN, $4 + 4, $2 + 4, $ff, $ff, $2 ; person + db SPRITE_BLACK_HAIR_BOY_2, $4 + 4, $8 + 4, $fe, $2, $3 ; person + + ; warp-to + EVENT_DISP $7, $7, $3 + EVENT_DISP $7, $7, $4 + +CeladonHotelBlocks: ; 0x492a7 28 + INCBIN "maps/celadonhotel.blk" + +MtMoonPokecenter_h: ; 0x492c3 to 0x492cf (12 bytes) (bank=12) (id=68) + db $06 ; tileset + db MT_MOON_POKECENTER_HEIGHT, MT_MOON_POKECENTER_WIDTH ; dimensions (y, x) + dw MtMoonPokecenterBlocks, MtMoonPokecenterTexts, MtMoonPokecenterScript ; blocks, texts, scripts + db $00 ; connections + + dw MtMoonPokecenterObject ; objects + +MtMoonPokecenterScript: ; 0x492cf + call $22fa + jp $3c3c +; 0x492d5 + +MtMoonPokecenterTexts: + dw MtMoonPokecenterText1, MtMoonPokecenterText2, MtMoonPokecenterText3, MtMoonPokecenterText4, MtMoonPokecenterText5, MtMoonPokecenterText6 + +MtMoonPokecenterText1: ; 0x492e0 + db $ff + +MtMoonPokecenterText2: ; 0x492e2 + TX_FAR _MtMoonPokecenterText1 + db $50 + +MtMoonPokecenterText3: ; 0x492e7 + TX_FAR _MtMoonPokecenterText3 + db $50 + +MtMoonPokecenterText4: ; 0x492ec + db $08 ; asm + ld a, [$d7c6] + add a + jp c, .asm_49353 + ld hl, UnnamedText_4935c + call PrintText + ld a, $13 + ld [$d125], a + call $30e8 + call $35ec + ld a, [$cc26] + and a + jp nz, .asm_4934e + ldh [$9f], a + ldh [$a1], a + ld a, $5 + ldh [$a0], a + call $35a6 + jr nc, .asm_faa09 ; 0x49317 + ld hl, UnnamedText_49366 + jr .asm_49356 ; 0x4931c +.asm_faa09 ; 0x4931e + ld bc,(MAGIKARP << 8) | 5 + call GivePokemon + jr nc, .asm_49359 ; 0x49324 + xor a + ld [W_WHICHTRADE], a + ld [$cd3f], a + ld a, $5 + ld [$cd3e], a + ld hl, $cd3f + ld de, $d349 + ld c, $3 + ld a, $c + call Predef + ld a, $13 + ld [$d125], a + call $30e8 + ld hl, $d7c6 + set 7, [hl] + jr .asm_49359 ; 0x4934c +.asm_4934e ; 0x4934e + ld hl, UnnamedText_49361 + jr .asm_49356 ; 0x49351 +.asm_49353 ; 0x49353 + ld hl, UnnamedText_4936b +.asm_49356 ; 0x49356 + call PrintText +.asm_49359 ; 0x49359 + jp TextScriptEnd + +UnnamedText_4935c: ; 0x4935c + TX_FAR _UnnamedText_4935c + db $50 +; 0x4935c + 5 bytes + +UnnamedText_49361: ; 0x49361 + TX_FAR _UnnamedText_49361 + db $50 +; 0x49361 + 5 bytes + +UnnamedText_49366: ; 0x49366 + TX_FAR _UnnamedText_49366 + db $50 +; 0x49366 + 5 bytes + +UnnamedText_4936b: ; 0x4936b + TX_FAR _UnnamedText_4936b + db $50 +; 0x4936b + 5 bytes + +MtMoonPokecenterText5: ; 0x49370 + TX_FAR _MtMoonPokecenterText5 + db $50 + +MtMoonPokecenterText6: + db $f6 + +MtMoonPokecenterObject: ; 0x49376 (size=56) + db $0 ; border tile + + db $2 ; warps + db $7, $3, $0, $ff + db $7, $4, $0, $ff + + db $0 ; signs + + db $6 ; people + db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person + db SPRITE_BUG_CATCHER, $3 + 4, $4 + 4, $ff, $d1, $2 ; person + db SPRITE_GENTLEMAN, $3 + 4, $7 + 4, $ff, $d1, $3 ; person + db SPRITE_FAT_BALD_GUY, $6 + 4, $a + 4, $fe, $2, $4 ; person + db SPRITE_CLIPBOARD, $2 + 4, $7 + 4, $ff, $ff, $5 ; person + db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $6 ; person + + ; warp-to + EVENT_DISP $7, $7, $3 + EVENT_DISP $7, $7, $4 + +RockTunnelPokecenter_h: ; 0x493ae to 0x493ba (12 bytes) (id=81) + db $06 ; tileset + db ROCK_TUNNEL_POKECENTER_HEIGHT, ROCK_TUNNEL_POKECENTER_WIDTH ; dimensions (y, x) + dw RockTunnelPokecenterBlocks, RockTunnelPokecenterTexts, RockTunnelPokecenterScript ; blocks, texts, scripts + db $00 ; connections + + dw RockTunnelPokecenterObject ; objects + +RockTunnelPokecenterScript: ; 0x493ba + call $22fa + jp $3c3c +; 0x493c0 + +RockTunnelPokecenterTexts: + dw RockTunnelPokecenterText1, RockTunnelPokecenterText2, RockTunnelPokecenterText3, RockTunnelPokecenterText4 + +RockTunnelPokecenterText1: ; 0x493c8 + db $ff + +RockTunnelPokecenterText2: ; 0x493c9 + TX_FAR _RockTunnelPokecenterText1 + db $50 + +RockTunnelPokecenterText3: ; 0x493ce + TX_FAR _RockTunnelPokecenterText3 + db $50 + +RockTunnelPokecenterText4: ; 0x493d3 + db $f6 + +RockTunnelPokecenterObject: ; 0x493d4 (size=44) + db $0 ; border tile + + db $2 ; warps + db $7, $3, $0, $ff + db $7, $4, $0, $ff + + db $0 ; signs + + db $4 ; people + db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person + db SPRITE_GENTLEMAN, $3 + 4, $7 + 4, $fe, $2, $2 ; person + db SPRITE_FISHER2, $5 + 4, $2 + 4, $ff, $ff, $3 ; person + db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person + + ; warp-to + EVENT_DISP $7, $7, $3 + EVENT_DISP $7, $7, $4 + +Route11Gate_h: ; 0x49400 to 0x4940c (12 bytes) (id=84) + db $0c ; tileset + db ROUTE_11_GATE_1F_HEIGHT, ROUTE_11_GATE_1F_WIDTH ; dimensions (y, x) + dw Route11GateBlocks, Route11GateTexts, Route11GateScript ; blocks, texts, scripts + db $00 ; connections + + dw Route11GateObject ; objects + +Route11GateScript: ; 0x4940c + jp $3c3c +; 0x4940f + +Route11GateTexts: ; 0x4940f + dw Route11GateText1 + +Route11GateText1: ; 0x49411 + TX_FAR _Route11GateText1 + db $50 + +Route11GateObject: ; 0x49416 (size=50) + db $a ; border tile + + db $5 ; warps + db $4, $0, $0, $ff + db $5, $0, $1, $ff + db $4, $7, $2, $ff + db $5, $7, $3, $ff + db $8, $6, $0, ROUTE_11_GATE_2F + + db $0 ; signs + + db $1 ; people + db SPRITE_GUARD, $1 + 4, $4 + 4, $ff, $ff, $1 ; person + + ; warp-to + EVENT_DISP $4, $4, $0 + EVENT_DISP $4, $5, $0 + EVENT_DISP $4, $4, $7 + EVENT_DISP $4, $5, $7 + EVENT_DISP $4, $8, $6 ; ROUTE_11_GATE_2F + +Route11GateUpstairs_h: ; 0x49448 to 0x49454 (12 bytes) (id=86) + db $0c ; tileset + db ROUTE_11_GATE_2F_HEIGHT, ROUTE_11_GATE_2F_WIDTH ; dimensions (y, x) + dw Route11GateUpstairsBlocks, Route11GateUpstairsTexts, Route11GateUpstairsScript ; blocks, texts, scripts + db $00 ; connections + + dw Route11GateUpstairsObject ; objects + +Route11GateUpstairsScript: ; 0x49454 + jp $3c3f +; 0x49457 + +Route11GateUpstairsTexts: + dw Route11GateUpstairsText1, Route11GateUpstairsText2, Route11GateUpstairsText3, Route11GateUpstairsText4 + +Route11GateUpstairsText1: ; 0x4945f + db $08 ; asm + xor a + ld [W_WHICHTRADE], a + ld a, $54 + call Predef +asm_49469: + jp TextScriptEnd + +Route11GateUpstairsText2: ; 0x4946c + db $8 + ld a, [$d7d6] + add a + jr c, .asm_4949b ; 0x49471 $28 + ld a, $1e + ld [$ff00+$db], a + ld a, $47 + ld [$ff00+$dc], a + ld [$d11e], a + call $2fcf + ld h, d + ld l, e + ld de, $cc5b + ld bc, $000d + call CopyData + ld a, $62 + call Predef + ld a, [$ff00+$db] + dec a + jr nz, .asm_494a1 ; 0x49494 $b + ld hl, $d7d6 + set 7, [hl] +.asm_4949b + ld hl, UnnamedText_494a3 + call PrintText +.asm_494a1 + jr asm_49469 ; 0x494a1 $c6 +; 0x494a3 + +UnnamedText_494a3: ; 0x494a3 + TX_FAR _UnnamedText_494a3 + db $50 +; 0x494a3 + 5 bytes + +Route11GateUpstairsText3: ; 0x494a8 + db $08 ; asm + ld a, [$c109] + cp $4 + jp nz, Unnamed_55c9 + ld a, [$d7d8] + bit 7, a + ld hl, UnnamedText_494c4 + jr z, .asm_5ac80 ; 0x494b9 + ld hl, UnnamedText_494c9 +.asm_5ac80 ; 0x494be + call PrintText + jp TextScriptEnd + +UnnamedText_494c4: ; 0x494c4 + TX_FAR _UnnamedText_494c4 + db $50 +; 0x494c4 + 5 bytes + +UnnamedText_494c9: ; 0x494c9 + TX_FAR _UnnamedText_494c9 + db $50 +; 0x494c9 + 5 bytes + +Route11GateUpstairsText4: ; 0x494ce + db $8 + ld hl, $54d5 + jp Unnamed_55c9 +; 0x494d5 + +UnnamedText_494d5: ; 0x494d5 + TX_FAR _UnnamedText_494d5 + db $50 +; 0x494d5 + 5 bytes + +Route11GateUpstairsObject: ; 0x494da (size=30) + db $a ; border tile + + db $1 ; warps + db $7, $7, $4, ROUTE_11_GATE_1F + + db $2 ; signs + db $2, $1, $3 ; Route11GateUpstairsText3 + db $2, $6, $4 ; Route11GateUpstairsText4 + + db $2 ; people + db SPRITE_BUG_CATCHER, $2 + 4, $4 + 4, $fe, $2, $1 ; person + db SPRITE_OAK_AIDE, $6 + 4, $2 + 4, $ff, $ff, $2 ; person + + ; warp-to + EVENT_DISP $4, $7, $7 ; ROUTE_11_GATE_1F + +Route12Gate_h: ; 0x494f8 to 0x49504 (12 bytes) (id=87) + db $0c ; tileset + db ROUTE_12_GATE_HEIGHT, ROUTE_12_GATE_WIDTH ; dimensions (y, x) + dw Route12GateBlocks, Route12GateTexts, Route12GateScript ; blocks, texts, scripts + db $00 ; connections + + dw Route12GateObject ; objects + +Route12GateScript: ; 0x49504 + jp $3c3c +; 0x49507 + +Route12GateTexts: ; 0x49507 + dw Route12GateText1 + +Route12GateText1: ; 0x49509 + TX_FAR _Route12GateText1 + db $50 + +Route12GateObject: ; 0x4950e (size=50) + db $a ; border tile + + db $5 ; warps + db $0, $4, $0, $ff + db $0, $5, $1, $ff + db $7, $4, $2, $ff + db $7, $5, $2, $ff + db $6, $8, $0, ROUTE_12_GATE_2F + + db $0 ; signs + + db $1 ; people + db SPRITE_GUARD, $3 + 4, $1 + 4, $ff, $ff, $1 ; person + + ; warp-to + EVENT_DISP $5, $0, $4 + EVENT_DISP $5, $0, $5 + EVENT_DISP $5, $7, $4 + EVENT_DISP $5, $7, $5 + EVENT_DISP $5, $6, $8 ; ROUTE_12_GATE_2F + +Route12GateBlocks: ; 0x49540 20 + INCBIN "maps/route12gate.blk" + +Route12GateUpstairs_h: ; 0x49554 to 0x49560 (12 bytes) (id=195) + db $0c ; tileset + db ROUTE_12_GATE_2F_HEIGHT, ROUTE_12_GATE_2F_WIDTH ; dimensions (y, x) + dw Route12GateUpstairsBlocks, Route12GateUpstairsTexts, Route12GateUpstairsScript ; blocks, texts, scripts + db $00 ; connections + + dw Route12GateUpstairsObject ; objects + +Route12GateUpstairsScript: ; 0x49560 + jp $3c3f +; 0x49563 + +Route12GateUpstairsTexts: ; 0x49563 + dw Route12GateUpstairsText1, Route12GateUpstairsText2, Route12GateUpstairsText3 + +Route12GateUpstairsText1: ; 0x49569 + db $08 ; asm + ld a, [$d7d7] + rrca + jr c, .asm_0ad3c ; 0x4956e + ld hl, UnnamedText_4959c + call PrintText + ld bc, (TM_39 << 8) | 1 + call GiveItem + jr nc, .asm_4c2be ; 0x4957c + ld hl, ReceivedTM39Text + call PrintText + ld hl, $d7d7 + set 0, [hl] + jr .asm_4ba56 ; 0x49589 +.asm_4c2be ; 0x4958b + ld hl, UnnamedText_495ac + call PrintText + jr .asm_4ba56 ; 0x49591 +.asm_0ad3c ; 0x49593 + ld hl, UnnamedText_495a7 + call PrintText +.asm_4ba56 ; 0x49599 + jp TextScriptEnd + +UnnamedText_4959c: ; 0x4959c + TX_FAR _UnnamedText_4959c + db $50 +; 0x4959c + 5 bytes + +ReceivedTM39Text: ; 0x495a1 + TX_FAR _ReceivedTM39Text ; 0x8c8c6 + db $0B, $50 +; 0x495a7 + +UnnamedText_495a7: ; 0x495a7 + TX_FAR _UnnamedText_495a7 + db $50 +; 0x495a7 + 5 bytes + +UnnamedText_495ac: ; 0x495ac + TX_FAR _UnnamedText_495ac + db $50 +; 0x495ac + 5 bytes + +Route12GateUpstairsText2: ; 0x495b1 + db $08 ; asm + ld hl, UnnamedText_495b8 + jp Unnamed_55c9 + +UnnamedText_495b8: ; 0x495b8 + TX_FAR _UnnamedText_495b8 ; 0x8c95a + db $50 +; 0x495bd + +Route12GateUpstairsText3: ; 0x495bd + db $8 + ld hl, UnnamedText_495c4 + jp Unnamed_55c9 +; 0x495c4 + +UnnamedText_495c4: ; 0x495c4 + TX_FAR _UnnamedText_495c4 + db $50 +; 0x495c4 + 5 bytes + +Unnamed_55c9: + ld a, [$c109] + cp $4 + jr z, .asm_495d4 ; 0x495ce $4 + ld a, $1 + jr .asm_495d8 ; 0x495d2 $4 +.asm_495d4 + call PrintText + xor a +.asm_495d8 + ld [$cc3c], a + jp TextScriptEnd +; 0x495de + +Route12GateUpstairsObject: ; 0x495de (size=24) + db $a ; border tile + + db $1 ; warps + db $7, $7, $4, ROUTE_12_GATE + + db $2 ; signs + db $2, $1, $2 ; Route12GateUpstairsText2 + db $2, $6, $3 ; Route12GateUpstairsText3 + + db $1 ; people + db SPRITE_BRUNETTE_GIRL, $4 + 4, $3 + 4, $fe, $1, $1 ; person + + ; warp-to + EVENT_DISP $4, $7, $7 ; ROUTE_12_GATE + +Route15Gate_h: ; 0x495f6 to 0x49602 (12 bytes) (id=184) + db $0c ; tileset + db ROUTE_15_GATE_HEIGHT, ROUTE_15_GATE_WIDTH ; dimensions (y, x) + dw Route15GateBlocks, Route15GateTexts, Route15GateScript ; blocks, texts, scripts + db $00 ; connections + + dw Route15GateObject ; objects + +Route15GateScript: ; 0x49602 + jp $3c3c +; 0x49605 + +Route15GateTexts: ; 0x49605 + dw Route15GateText1 + +Route15GateText1: ; 0x49607 + TX_FAR _Route15GateText1 + db $50 + +Route15GateObject: ; 0x4960c (size=50) + db $a ; border tile + + db $5 ; warps + db $4, $0, $0, $ff + db $5, $0, $1, $ff + db $4, $7, $2, $ff + db $5, $7, $3, $ff + db $8, $6, $0, $b9 + + db $0 ; signs + + db $1 ; people + db SPRITE_GUARD, $1 + 4, $4 + 4, $ff, $ff, $1 ; person + + ; warp-to + EVENT_DISP $4, $4, $0 + EVENT_DISP $4, $5, $0 + EVENT_DISP $4, $4, $7 + EVENT_DISP $4, $5, $7 + EVENT_DISP $4, $8, $6 + +INCBIN "baserom.gbc",$4963e,$4968c - $4963e + +UnnamedText_4968c: ; 0x4968c + TX_FAR _UnnamedText_4968c + db $50 +; 0x4968c + 5 bytes + +INCBIN "baserom.gbc",$49691,$49698 - $49691 + +UnnamedText_49698: ; 0x49698 + TX_FAR _UnnamedText_49698 + db $50 +; 0x49698 + 5 bytes + +INCBIN "baserom.gbc",$4969d,$15 + +Route16GateMap_h: ; 0x496b2 to 0x496be (12 bytes) (id=186) + db $0c ; tileset + db ROUTE_16_GATE_1F_HEIGHT, ROUTE_16_GATE_1F_WIDTH ; dimensions (y, x) + dw Route16GateMapBlocks, Route16GateMapTexts, Route16GateMapScript ; blocks, texts, scripts + db $00 ; connections + + dw Route16GateMapObject ; objects + +Route16GateMapScript: ; 0x496be + ld hl, $d732 + res 5, [hl] + call $3c3c + ld a, [$d660] + ld hl, Route16GateMapScripts + jp $3d97 +; 0x496cf + +Route16GateMapScripts: ; 0x496cf + dw Route16GateMapScript0 + +INCBIN "baserom.gbc",$496d1,$6 + +Route16GateMapScript0: ; 0x496d7 + call $5755 + ret nz + ld hl, $5714 + call $34bf + ret nc + ld a, $3 + ld [$ff00+$8c], a + call $2920 + xor a + ld [$ff00+$b4], a + ld a, [$cd3d] + cp $1 + jr z, .asm_4970e ; 0x496f1 $1b + ld a, [$cd3d] + dec a + ld [$cd38], a + ld b, $0 + ld c, a + ld a, $40 + ld hl, $ccd3 + call $36e0 + call $3486 + ld a, $1 + ld [$d660], a + ret +.asm_4970e + ld a, $2 + ld [$d660], a + ret +; 0x49714 + +INCBIN "baserom.gbc",$49714,$46 + +Route16GateMapTexts: ; 0x4975a + dw Route16GateMapText1, Route16GateMapText2, Route16GateMapText3 + +Route16GateMapText1: ; 0x49760 + db $08 ; asm + call $5755 + jr z, .asm_0bdf3 ; 0x49764 + ld hl, UnnamedText_4977c + call PrintText + jr .asm_56c9d ; 0x4976c +.asm_0bdf3 ; 0x4976e + ld hl, UnnamedText_49777 + call PrintText +.asm_56c9d ; 0x49774 + jp TextScriptEnd + +UnnamedText_49777: ; 0x49777 + TX_FAR _UnnamedText_49777 + db $50 +; 0x49777 + 5 bytes + +UnnamedText_4977c: ; 0x4977c + TX_FAR _UnnamedText_4977c + db $50 +; 0x4977c + 5 bytes + +Route16GateMapText3: ; 0x49781 + TX_FAR _UnnamedText_49781 + db $50 +; 0x49781 + 5 bytes + +Route16GateMapText2: ; 0x49786 + TX_FAR _Route16GateMapText2 + db $50 + +Route16GateMapObject: ; 0x4978b (size=88) + db $a ; border tile + + db $9 ; warps + db $8, $0, $0, $ff + db $9, $0, $1, $ff + db $8, $7, $2, $ff + db $9, $7, $2, $ff + db $2, $0, $4, $ff + db $3, $0, $5, $ff + db $2, $7, $6, $ff + db $3, $7, $7, $ff + db $c, $6, $0, ROUTE_16_GATE_2F + + db $0 ; signs + + db $2 ; people + db SPRITE_GUARD, $5 + 4, $4 + 4, $ff, $d0, $1 ; person + db SPRITE_GAMBLER, $3 + 4, $4 + 4, $ff, $ff, $2 ; person + + ; warp-to + EVENT_DISP $4, $8, $0 + EVENT_DISP $4, $9, $0 + EVENT_DISP $4, $8, $7 + EVENT_DISP $4, $9, $7 + EVENT_DISP $4, $2, $0 + EVENT_DISP $4, $3, $0 + EVENT_DISP $4, $2, $7 + EVENT_DISP $4, $3, $7 + EVENT_DISP $4, $c, $6 ; ROUTE_16_GATE_2F + +Route16GateMapBlocks: ; 0x497e3 28 + INCBIN "maps/route16gatemap.blk" + +Route16GateUpstairs_h: ; 0x497ff to 0x4980b (12 bytes) (id=187) + db $0c ; tileset + db ROUTE_16_GATE_2F_HEIGHT, ROUTE_16_GATE_2F_WIDTH ; dimensions (y, x) + dw Route16GateUpstairsBlocks, Route16GateUpstairsTexts, Route16GateUpstairsScript ; blocks, texts, scripts + db $00 ; connections + + dw Route16GateUpstairsObject ; objects + +Route16GateUpstairsScript: ; 0x4980b + jp $3c3f +; 0x4980e + +Route16GateUpstairsTexts: ; 0x4980e + dw Route16GateUpstairsText1, Route16GateUpstairsText2, Route16GateUpstairsText3, Route16GateUpstairsText4 + +Route16GateUpstairsText1: ; 0x49816 + db $08 ; asm + ld hl, UnnamedText_49820 + call PrintText + jp TextScriptEnd + +UnnamedText_49820: ; 0x49820 + TX_FAR _UnnamedText_49820 + db $50 +; 0x49820 + 5 bytes + +Route16GateUpstairsText2: ; 0x49825 + db $08 ; asm + ld hl, UnnamedText_4982f + call PrintText + jp TextScriptEnd + +UnnamedText_4982f: ; 0x4982f + TX_FAR _UnnamedText_4982f + db $50 +; 0x4982f + 5 bytes + +Route16GateUpstairsText3: ; 0x49834 + db $8 + ld hl, UnnamedText_4983b + jp $55c9 +; 0x4983b + +UnnamedText_4983b: ; 0x4983b + TX_FAR _UnnamedText_4983b + db $50 +; 0x4983b + 5 bytes + +Route16GateUpstairsText4: ; 0x49840 + db $8 + ld hl, $5847 + jp $55c9 +; 0x49847 + +UnnamedText_49847: ; 0x49847 + TX_FAR _UnnamedText_49847 + db $50 +; 0x49847 + 5 bytes + +Route16GateUpstairsObject: ; 0x4984c (size=30) + db $a ; border tile + + db $1 ; warps + db $7, $7, $8, ROUTE_16_GATE_1F + + db $2 ; signs + db $2, $1, $3 ; Route16GateUpstairsText3 + db $2, $6, $4 ; Route16GateUpstairsText4 + + db $2 ; people + db SPRITE_YOUNG_BOY, $2 + 4, $4 + 4, $ff, $ff, $1 ; person + db SPRITE_LITTLE_GIRL, $5 + 4, $2 + 4, $fe, $2, $2 ; person + + ; warp-to + EVENT_DISP $4, $7, $7 ; ROUTE_16_GATE_1F + +Route18Gate_h: ; 0x4986a to 0x49876 (12 bytes) (id=190) + db $0c ; tileset + db ROUTE_18_GATE_1F_HEIGHT, ROUTE_18_GATE_1F_WIDTH ; dimensions (y, x) + dw Route18GateBlocks, Route18GateTexts, Route18GateScript ; blocks, texts, scripts + db $00 ; connections + + dw Route18GateObject ; objects + +Route18GateScript: ; 0x49876 + ld hl, $d732 + res 5, [hl] + call $3c3c + ld a, [$d669] + ld hl, Route18GateScripts + jp $3d97 +; 0x49887 + +Route18GateScripts: ; 0x49887 + dw Route18GateScript0 + +INCBIN "baserom.gbc",$49889,$6 + +Route18GateScript0: ; 0x4988f + call $5755 + ret nz + ld hl, $58cc + call $34bf + ret nc + ld a, $2 + ld [$ff00+$8c], a + call $2920 + xor a + ld [$ff00+$b4], a + ld a, [$cd3d] + cp $1 + jr z, .asm_498c6 ; 0x498a9 $1b + ld a, [$cd3d] + dec a + ld [$cd38], a + ld b, $0 + ld c, a + ld a, $40 + ld hl, $ccd3 + call $36e0 + call $3486 + ld a, $1 + ld [$d669], a + ret +.asm_498c6 + ld a, $2 + ld [$d669], a + ret +; 0x498cc + +INCBIN "baserom.gbc",$498cc,$41 + +Route18GateTexts: ; 0x4990d + dw Route18GateText1, Route18GateText2 + +Route18GateText1: ; 0x49911 + db $08 ; asm + call $5755 + jr z, .asm_3c84d ; 0x49915 + ld hl, UnnamedText_4992d + call PrintText + jr .asm_a8410 ; 0x4991d +.asm_3c84d ; 0x4991f + ld hl, UnnamedText_49928 + call PrintText +.asm_a8410 ; 0x49925 + jp TextScriptEnd + +UnnamedText_49928: ; 0x49928 + TX_FAR _UnnamedText_49928 + db $50 +; 0x4992d + +UnnamedText_4992d: ; 0x4992d + TX_FAR _UnnamedText_4992d + db $50 +; 0x49932 + +Route18GateText2: ; 0x49932 + TX_FAR _UnnamedText_49932 + db $50 +; 0x49937 + +Route18GateObject: ; 0x49937 (size=50) + db $a ; border tile + + db $5 ; warps + db $4, $0, $0, $ff + db $5, $0, $1, $ff + db $4, $7, $2, $ff + db $5, $7, $3, $ff + db $8, $6, $0, ROUTE_18_GATE_2F + + db $0 ; signs + + db $1 ; people + db SPRITE_GUARD, $1 + 4, $4 + 4, $ff, $d0, $1 ; person + + ; warp-to + EVENT_DISP $4, $4, $0 + EVENT_DISP $4, $5, $0 + EVENT_DISP $4, $4, $7 + EVENT_DISP $4, $5, $7 + EVENT_DISP $4, $8, $6 ; ROUTE_18_GATE_2F + +Route18GateHeader_h: ; 0x49969 to 0x49975 (12 bytes) (id=191) + db $0c ; tileset + db ROUTE_18_GATE_2F_HEIGHT, ROUTE_18_GATE_2F_WIDTH ; dimensions (y, x) + dw Route18GateHeaderBlocks, Route18GateHeaderTexts, Route18GateHeaderScript ; blocks, texts, scripts + db $00 ; connections + + dw Route18GateHeaderObject ; objects + +Route18GateHeaderScript: ; 0x49975 + jp $3c3f +; 0x49978 + +Route18GateHeaderTexts: ; 0x49978 + dw Route18GateHeaderText1, Route18GateHeaderText2, Route18GateHeaderText3 + +Route18GateHeaderText1: ; 0x4997e + db $08 ; asm + ld a, $5 + ld [W_WHICHTRADE], a + ld a, $54 + call Predef + jp TextScriptEnd + +Route18GateHeaderText2: ; 0x4998c + db $8 + ld hl, $5993 + jp $55c9 +; 0x49993 + +UnnamedText_49993: ; 0x49993 + TX_FAR _UnnamedText_49993 + db $50 +; 0x49993 + 5 bytes + +Route18GateHeaderText3: ; 0x49998 + db $8 + ld hl, $599f + jp $55c9 +; 0x4999f + +UnnamedText_4999f: ; 0x4999f + TX_FAR _UnnamedText_4999f + db $50 +; 0x4999f + 5 bytes + +Route18GateHeaderObject: ; 0x499a4 (size=24) + db $a ; border tile + + db $1 ; warps + db $7, $7, $4, ROUTE_18_GATE_1F + + db $2 ; signs + db $2, $1, $2 ; Route18GateHeaderText2 + db $2, $6, $3 ; Route18GateHeaderText3 + + db $1 ; people + db SPRITE_BUG_CATCHER, $2 + 4, $4 + 4, $fe, $2, $1 ; person + + ; warp-to + EVENT_DISP $4, $7, $7 ; ROUTE_18_GATE_1F + +MtMoon1_h: ; 0x499bc to 0x499c8 (12 bytes) (id=59) + db $11 ; tileset + db MT_MOON_1_HEIGHT, MT_MOON_1_WIDTH ; dimensions (y, x) + dw MtMoon1Blocks, MtMoon1Texts, MtMoon1Script ; blocks, texts, scripts + db $00 ; connections + + dw MtMoon1Object ; objects + +MtMoon1Script: ; 0x499c8 + call $3c3c + ld hl, TrainerHeader_499fd + ld de, Unknown_59db + ld a, [$d606] + call $3160 + ld [$d606], a + ret +; 0x499db + +Unknown_59db: ; 0x59db +INCBIN "baserom.gbc",$499db,$6 + +MtMoon1Texts: ; 0x499e1 + dw MtMoon1Text1, MtMoon1Text2, MtMoon1Text3, MtMoon1Text4, MtMoon1Text5, MtMoon1Text6, MtMoon1Text7, MtMoon1Text8, MtMoon1Text9, MtMoon1Text10, MtMoon1Text11, MtMoon1Text12, MtMoon1Text13, MtMoon1Text14 + +MtMoon1TrainerHeaders: +TrainerHeader_499fd: ; 0x499fd + db $1 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7f5 ; flag's byte + dw UnnamedText_49a98 ; 0x5a98 TextBeforeBattle + dw UnnamedText_49aa2 ; 0x5aa2 TextAfterBattle + dw UnnamedText_49a9d ; 0x5a9d TextEndBattle + dw UnnamedText_49a9d ; 0x5a9d TextEndBattle +; 0x49a09 + +TrainerHeader_49a09: ; 0x49a09 + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7f5 ; flag's byte + dw UnnamedText_49aa7 ; 0x5aa7 TextBeforeBattle + dw UnnamedText_49ab1 ; 0x5ab1 TextAfterBattle + dw UnnamedText_49aac ; 0x5aac TextEndBattle + dw UnnamedText_49aac ; 0x5aac TextEndBattle +; 0x49a15 + +TrainerHeader_49a15: ; 0x49a15 + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7f5 ; flag's byte + dw UnnamedText_49ab6 ; 0x5ab6 TextBeforeBattle + dw UnnamedText_49ac0 ; 0x5ac0 TextAfterBattle + dw UnnamedText_49abb ; 0x5abb TextEndBattle + dw UnnamedText_49abb ; 0x5abb TextEndBattle +; 0x49a21 + +TrainerHeader_49a21: ; 0x49a21 + db $4 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7f5 ; flag's byte + dw UnnamedText_49ac5 ; 0x5ac5 TextBeforeBattle + dw UnnamedText_49acf ; 0x5acf TextAfterBattle + dw UnnamedText_49aca ; 0x5aca TextEndBattle + dw UnnamedText_49aca ; 0x5aca TextEndBattle +; 0x49a2d + +TrainerHeader_49a2d: ; 0x49a2d + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7f5 ; flag's byte + dw UnnamedText_49ad4 ; 0x5ad4 TextBeforeBattle + dw UnnamedText_49ade ; 0x5ade TextAfterBattle + dw UnnamedText_49ad9 ; 0x5ad9 TextEndBattle + dw UnnamedText_49ad9 ; 0x5ad9 TextEndBattle +; 0x49a39 + +TrainerHeader_49a39: ; 0x49a39 + db $6 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7f5 ; flag's byte + dw UnnamedText_49ae3 ; 0x5ae3 TextBeforeBattle + dw UnnamedText_49aed ; 0x5aed TextAfterBattle + dw UnnamedText_49ae8 ; 0x5ae8 TextEndBattle + dw UnnamedText_49ae8 ; 0x5ae8 TextEndBattle +; 0x49a45 + +TrainerHeader_49a45: ; 0x49a45 + db $7 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7f5 ; flag's byte + dw MainMenu ; 0x5af2 TextBeforeBattle + dw UnnamedText_49afc ; 0x5afc TextAfterBattle + dw UnnamedText_49af7 ; 0x5af7 TextEndBattle + dw UnnamedText_49af7 ; 0x5af7 TextEndBattle +; 0x49a51 + +db $ff + +MtMoon1Text1: ; 0x49a52 + db $08 ; asm + ld hl, TrainerHeader_499fd + call LoadTrainerHeader + jp TextScriptEnd + +MtMoon1Text2: ; 0x49a5c + db $08 ; asm + ld hl, TrainerHeader_49a09 + call LoadTrainerHeader + jp TextScriptEnd + +MtMoon1Text3: ; 0x49a66 + db $08 ; asm + ld hl, TrainerHeader_49a15 + call LoadTrainerHeader + jp TextScriptEnd + +MtMoon1Text4: ; 0x49a70 + db $08 ; asm + ld hl, TrainerHeader_49a21 + call LoadTrainerHeader + jp TextScriptEnd + +MtMoon1Text5: ; 0x49a7a + db $08 ; asm + ld hl, TrainerHeader_49a2d + call LoadTrainerHeader + jp TextScriptEnd + +MtMoon1Text6: ; 0x49a84 + db $08 ; asm + ld hl, TrainerHeader_49a39 + call LoadTrainerHeader + jp TextScriptEnd + +MtMoon1Text7: ; 0x49a8e + db $08 ; asm + ld hl, TrainerHeader_49a45 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_49a98: ; 0x49a98 + TX_FAR _UnnamedText_49a98 + db $50 +; 0x49a98 + 5 bytes + +UnnamedText_49a9d: ; 0x49a9d + TX_FAR _UnnamedText_49a9d + db $50 +; 0x49a9d + 5 bytes + +UnnamedText_49aa2: ; 0x49aa2 + TX_FAR _UnnamedText_49aa2 + db $50 +; 0x49aa2 + 5 bytes + +UnnamedText_49aa7: ; 0x49aa7 + TX_FAR _UnnamedText_49aa7 + db $50 +; 0x49aa7 + 5 bytes + +UnnamedText_49aac: ; 0x49aac + TX_FAR _UnnamedText_49aac + db $50 +; 0x49aac + 5 bytes + +UnnamedText_49ab1: ; 0x49ab1 + TX_FAR _UnnamedText_49ab1 + db $50 +; 0x49ab1 + 5 bytes + +UnnamedText_49ab6: ; 0x49ab6 + TX_FAR _UnnamedText_49ab6 + db $50 +; 0x49ab6 + 5 bytes + +UnnamedText_49abb: ; 0x49abb + TX_FAR _UnnamedText_49abb + db $50 +; 0x49abb + 5 bytes + +UnnamedText_49ac0: ; 0x49ac0 + TX_FAR _UnnamedText_49ac0 + db $50 +; 0x49ac0 + 5 bytes + +UnnamedText_49ac5: ; 0x49ac5 + TX_FAR _UnnamedText_49ac5 + db $50 +; 0x49ac5 + 5 bytes + +UnnamedText_49aca: ; 0x49aca + TX_FAR _UnnamedText_49aca + db $50 +; 0x49aca + 5 bytes + +UnnamedText_49acf: ; 0x49acf + TX_FAR _UnnamedText_49acf + db $50 +; 0x49acf + 5 bytes + +UnnamedText_49ad4: ; 0x49ad4 + TX_FAR _UnnamedText_49ad4 + db $50 +; 0x49ad4 + 5 bytes + +UnnamedText_49ad9: ; 0x49ad9 + TX_FAR _UnnamedText_49ad9 + db $50 +; 0x49ad9 + 5 bytes + +UnnamedText_49ade: ; 0x49ade + TX_FAR _UnnamedText_49ade + db $50 +; 0x49ade + 5 bytes + +UnnamedText_49ae3: ; 0x49ae3 + TX_FAR _UnnamedText_49ae3 + db $50 +; 0x49ae3 + 5 bytes + +UnnamedText_49ae8: ; 0x49ae8 + TX_FAR _UnnamedText_49ae8 + db $50 +; 0x49ae8 + 5 bytes + +UnnamedText_49aed: ; 0x49aed + TX_FAR _UnnamedText_49aed + db $50 +; 0x49aed + 5 bytes + +UnnamedText_49af2: ; 0x49af2 + TX_FAR _UnnamedText_49af2 + db $50 +; 0x49af2 + 5 bytes + +UnnamedText_49af7: ; 0x49af7 + TX_FAR _UnnamedText_49af7 + db $50 +; 0x49af7 + 5 bytes + +UnnamedText_49afc: ; 0x49afc + TX_FAR _UnnamedText_49afc + db $50 +; 0x49afc + 5 bytes + +MtMoon1Text14: ; 0x49b01 + TX_FAR _MtMoon1Text14 + db $50 + +MtMoon1Object: ; 0x49b06 (size=145) + db $3 ; border tile + + db $5 ; warps + db $23, $e, $1, $ff + db $23, $f, $1, $ff + db $5, $5, $0, MT_MOON_2 + db $b, $11, $2, MT_MOON_2 + db $f, $19, $3, MT_MOON_2 + + db $1 ; signs + db $17, $f, $e ; MtMoon1Text14 + + db $d ; people + db SPRITE_HIKER, $6 + 4, $5 + 4, $ff, $d0, $41, HIKER + $C8, $1 ; trainer + db SPRITE_BUG_CATCHER, $10 + 4, $c + 4, $ff, $d3, $42, YOUNGSTER + $C8, $3 ; trainer + db SPRITE_LASS, $4 + 4, $1e + 4, $ff, $d0, $43, LASS + $C8, $5 ; trainer + db SPRITE_BLACK_HAIR_BOY_2, $1f + 4, $18 + 4, $ff, $d1, $44, SUPER_NERD + $C8, $1 ; trainer + db SPRITE_LASS, $17 + 4, $10 + 4, $ff, $d0, $45, LASS + $C8, $6 ; trainer + db SPRITE_BUG_CATCHER, $16 + 4, $7 + 4, $ff, $d0, $46, BUG_CATCHER + $C8, $7 ; trainer + db SPRITE_BUG_CATCHER, $1b + 4, $1e + 4, $ff, $d3, $47, BUG_CATCHER + $C8, $8 ; trainer + db SPRITE_BALL, $14 + 4, $2 + 4, $ff, $ff, $88, POTION ; item + db SPRITE_BALL, $2 + 4, $2 + 4, $ff, $ff, $89, MOON_STONE ; item + db SPRITE_BALL, $1f + 4, $23 + 4, $ff, $ff, $8a, RARE_CANDY ; item + db SPRITE_BALL, $17 + 4, $24 + 4, $ff, $ff, $8b, ESCAPE_ROPE ; item + db SPRITE_BALL, $21 + 4, $14 + 4, $ff, $ff, $8c, POTION ; item + db SPRITE_BALL, $20 + 4, $5 + 4, $ff, $ff, $8d, TM_12 ; item + + ; warp-to + EVENT_DISP $14, $23, $e + EVENT_DISP $14, $23, $f + EVENT_DISP $14, $5, $5 ; MT_MOON_2 + EVENT_DISP $14, $b, $11 ; MT_MOON_2 + EVENT_DISP $14, $f, $19 ; MT_MOON_2 + +MtMoon1Blocks: ; 0x49b97 360 + INCBIN "maps/mtmoon1.blk" + +MtMoon3_h: ; 0x49cff to 0x49d0b (12 bytes) (id=61) + db $11 ; tileset + db MT_MOON_3_HEIGHT, MT_MOON_3_WIDTH ; dimensions (y, x) + dw MtMoon3Blocks, MtMoon3Texts, MtMoon3Script ; blocks, texts, scripts + db $00 ; connections + + dw MtMoon3Object ; objects + +MtMoon3Script: ; 0x49d0b + call $3c3c + ld hl, $5e48 + ld de, $5d63 + ld a, [$d607] + call $3160 + ld [$d607], a + ld a, [$d7f6] + bit 1, a + ret z + ld hl, $5d37 + call $34bf + jr nc, .asm_49d31 ; 0x49d29 $6 + ld hl, $d72e + set 4, [hl] + ret +.asm_49d31 + ld hl, $d72e + res 4, [hl] + ret +; 0x49d37 + +INCBIN "baserom.gbc",$49d37,$fd + +MtMoon3Texts: ; 0x49e34 + dw MtMoon3Text1, MtMoon3Text2, MtMoon3Text3, MtMoon3Text4, MtMoon3Text5, MtMoon3Text6, MtMoon3Text7, MtMoon3Text8, MtMoon3Text9, Unnamed_49f99 + +MtMoon3TrainerHeaders: +TrainerHeader_49e48: ; 0x49e48 + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7f6 ; flag's byte + dw UnnamedText_49f9f ; 0x5f9f TextBeforeBattle + dw UnnamedText_49fa9 ; 0x5fa9 TextAfterBattle + dw UnnamedText_49fa4 ; 0x5fa4 TextEndBattle + dw UnnamedText_49fa4 ; 0x5fa4 TextEndBattle +; 0x49e54 + +TrainerHeader_49e54: ; 0x49e54 + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7f6 ; flag's byte + dw UnnamedText_49fae ; 0x5fae TextBeforeBattle + dw UnnamedText_49fb8 ; 0x5fb8 TextAfterBattle + dw UnnamedText_49fb3 ; 0x5fb3 TextEndBattle + dw UnnamedText_49fb3 ; 0x5fb3 TextEndBattle +; 0x49e60 + +TrainerHeader_49e60: ; 0x49e60 + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7f6 ; flag's byte + dw UnnamedText_49fbd ; 0x5fbd TextBeforeBattle + dw UnnamedText_49fc7 ; 0x5fc7 TextAfterBattle + dw UnnamedText_49fc2 ; 0x5fc2 TextEndBattle + dw UnnamedText_49fc2 ; 0x5fc2 TextEndBattle +; 0x49e6c + +TrainerHeader_49e6c: ; 0x49e6c + db $5 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7f6 ; flag's byte + dw UnnamedText_49fcc ; 0x5fcc TextBeforeBattle + dw UnnamedText_49fd6 ; 0x5fd6 TextAfterBattle + dw UnnamedText_49fd1 ; 0x5fd1 TextEndBattle + dw UnnamedText_49fd1 ; 0x5fd1 TextEndBattle +; 0x49e78 + +db $ff + +MtMoon3Text1: ; 0x49e79 + db $08 ; asm + ld a, [$d7f6] + bit 1, a + jr z, .asm_be1e0 ; 0x49e7f + and $c0 + jr nz, .asm_f8cd4 ; 0x49e83 + ld hl, UnnamedText_49f8f + call PrintText + jr .asm_f1fba ; 0x49e8b +.asm_be1e0 ; 0x49e8d + ld hl, UnnamedText_49f85 + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, UnnamedText_49f8a + ld de, UnnamedText_49f8a + call $3354 + ldh a, [$8c] + ld [$cf13], a + call $336a + call $32d7 + ld a, $3 + ld [$d607], a + ld [$da39], a + jr .asm_f1fba ; 0x49eb6 +.asm_f8cd4 ; 0x49eb8 + ld hl, UnnamedText_49f94 + call PrintText +.asm_f1fba ; 0x49ebe + jp TextScriptEnd + +MtMoon3Text2: ; 0x49ec1 + db $08 ; asm + ld hl, TrainerHeader_49e48 + call LoadTrainerHeader + jp TextScriptEnd + +MtMoon3Text3: ; 0x49ecb + db $08 ; asm + ld hl, TrainerHeader_49e54 + call LoadTrainerHeader + jp TextScriptEnd + +MtMoon3Text4: ; 0x49ed5 + db $08 ; asm + ld hl, TrainerHeader_49e60 + call LoadTrainerHeader + jp TextScriptEnd + +MtMoon3Text5: ; 0x49edf + db $08 ; asm + ld hl, $5e6c + call LoadTrainerHeader + jp TextScriptEnd + +MtMoon3Text6: ; 0x49ee9 + db $08 ; asm + ld a, $1 + ld [$cc3c], a + ld hl, UnnamedText_49f24 + call PrintText + call $35ec + ld a, [$cc26] + and a + jr nz, .asm_1fa5e ; 0x49efc + ld bc,(DOME_FOSSIL << 8) | 1 + call GiveItem + jp nc, $5f76 + call $5f69 + ld a, $6d + ld [$cc4d], a + ld a, $11 + call Predef + ld hl, $d7f6 + set 6, [hl] + ld a, $4 + ld [$d607], a + ld [$da39], a +.asm_1fa5e ; 0x49f21 + jp TextScriptEnd + +UnnamedText_49f24: ; 0x49f24 + TX_FAR _UnnamedText_49f24 + db $50 +; 0x49f24 + 5 bytes + +MtMoon3Text7: ; 0x49f29 + db $08 ; asm + ld a, $1 + ld [$cc3c], a + ld hl, UnnamedText_49f64 + call PrintText + call $35ec + ld a, [$cc26] + and a + jr nz, .asm_8e988 ; 0x49f3c + ld bc, (HELIX_FOSSIL << 8) | 1 + call GiveItem + jp nc, Unnamed_49f76 + call Unnamed_49f69 + ld a, $6e + ld [$cc4d], a + ld a, $11 + call Predef + ld hl, $d7f6 + set 7, [hl] + ld a, $4 + ld [$d607], a + ld [$da39], a +.asm_8e988 ; 0x49f61 + jp TextScriptEnd + +UnnamedText_49f64: ; 0x49f64 + TX_FAR _UnnamedText_49f64 + db $50 +; 0x49f64 + 5 bytes + +Unnamed_49f69: ; 0x49f69 + ld hl, UnnamedText_49f6f + jp PrintText +; 0x49f6f + +UnnamedText_49f6f: ; 0x49f6f + TX_FAR _UnnamedText_49f6f ; 0x80995 + db $11, $d, $50 +; 0x49f76 + +Unnamed_49f76: ; 0x49f76 + ld hl, UnnamedText_49f7f + call PrintText + jp TextScriptEnd +; 0x49f7f + +UnnamedText_49f7f: ; 0x49f7f + TX_FAR _UnnamedText_49f7f ; 0x809a8 + db $d, $50 +; 0x49f85 + +UnnamedText_49f85: ; 0x49f85 + TX_FAR _UnnamedText_49f85 + db $50 +; 0x49f85 + 5 bytes + +UnnamedText_49f8a: ; 0x49f8a + TX_FAR _UnnamedText_49f8a + db $50 +; 0x49f8a + 5 bytes + +UnnamedText_49f8f: ; 0x49f8f + TX_FAR _UnnamedText_49f8f + db $50 +; 0x49f8f + 5 bytes + +UnnamedText_49f94: ; 0x49f94 + TX_FAR _UnnamedText_49f94 + db $50 +; 0x49f94 + 5 bytes + +Unnamed_49f99: ; 0x49f99 +INCBIN "baserom.gbc",$49f99,$49f9f - $49f99 + +UnnamedText_49f9f: ; 0x49f9f + TX_FAR _UnnamedText_49f9f + db $50 +; 0x49f9f + 5 bytes + +UnnamedText_49fa4: ; 0x49fa4 + TX_FAR _UnnamedText_49fa4 + db $50 +; 0x49fa4 + 5 bytes + +UnnamedText_49fa9: ; 0x49fa9 + TX_FAR _UnnamedText_49fa9 + db $50 +; 0x49fa9 + 5 bytes + +UnnamedText_49fae: ; 0x49fae + TX_FAR _UnnamedText_49fae + db $50 +; 0x49fae + 5 bytes + +UnnamedText_49fb3: ; 0x49fb3 + TX_FAR _UnnamedText_49fb3 + db $50 +; 0x49fb3 + 5 bytes + +UnnamedText_49fb8: ; 0x49fb8 + TX_FAR _UnnamedText_49fb8 + db $50 +; 0x49fb8 + 5 bytes + +UnnamedText_49fbd: ; 0x49fbd + TX_FAR _UnnamedText_49fbd + db $50 +; 0x49fbd + 5 bytes + +UnnamedText_49fc2: ; 0x49fc2 + TX_FAR _UnnamedText_49fc2 + db $50 +; 0x49fc2 + 5 bytes + +UnnamedText_49fc7: ; 0x49fc7 + TX_FAR _UnnamedText_49fc7 + db $50 +; 0x49fc7 + 5 bytes + +UnnamedText_49fcc: ; 0x49fcc + TX_FAR _UnnamedText_49fcc + db $50 +; 0x49fcc + 5 bytes + +UnnamedText_49fd1: ; 0x49fd1 + TX_FAR _UnnamedText_49fd1 + db $50 +; 0x49fd1 + 5 bytes + +UnnamedText_49fd6: ; 0x49fd6 + TX_FAR _UnnamedText_49fd6 + db $50 +; 0x49fd6 + 5 bytes + +MtMoon3Object: ; 0x49fdb (size=102) + db $3 ; border tile + + db $4 ; warps + db $9, $19, $1, MT_MOON_2 + db $11, $15, $4, MT_MOON_2 + db $1b, $f, $5, MT_MOON_2 + db $7, $5, $6, MT_MOON_2 + + db $0 ; signs + + db $9 ; people + db SPRITE_BLACK_HAIR_BOY_2, $8 + 4, $c + 4, $ff, $d3, $41, SUPER_NERD + $C8, $2 ; trainer + db SPRITE_ROCKET, $10 + 4, $b + 4, $ff, $d0, $42, ROCKET + $C8, $1 ; trainer + db SPRITE_ROCKET, $16 + 4, $f + 4, $ff, $d0, $43, ROCKET + $C8, $2 ; trainer + db SPRITE_ROCKET, $b + 4, $1d + 4, $ff, $d1, $44, ROCKET + $C8, $3 ; trainer + db SPRITE_ROCKET, $11 + 4, $1d + 4, $ff, $d2, $45, ROCKET + $C8, $4 ; trainer + db SPRITE_OMANYTE, $6 + 4, $c + 4, $ff, $ff, $6 ; person + db SPRITE_OMANYTE, $6 + 4, $d + 4, $ff, $ff, $7 ; person + db SPRITE_BALL, $15 + 4, $19 + 4, $ff, $ff, $88, HP_UP ; item + db SPRITE_BALL, $5 + 4, $1d + 4, $ff, $ff, $89, TM_01 ; item + + ; warp-to + EVENT_DISP $14, $9, $19 ; MT_MOON_2 + EVENT_DISP $14, $11, $15 ; MT_MOON_2 + EVENT_DISP $14, $1b, $f ; MT_MOON_2 + EVENT_DISP $14, $7, $5 ; MT_MOON_2 + +MtMoon3Blocks: ; 0x4a041 360 + INCBIN "maps/mtmoon3.blk" + +SafariZoneWest_h: ; 0x4a1a9 to 0x4a1b5 (12 bytes) (id=219) + db $03 ; tileset + db SAFARI_ZONE_WEST_HEIGHT, SAFARI_ZONE_WEST_WIDTH ; dimensions (y, x) + dw SafariZoneWestBlocks, SafariZoneWestTexts, SafariZoneWestScript ; blocks, texts, scripts + db $00 ; connections + + dw SafariZoneWestObject ; objects + +SafariZoneWestScript: ; 0x4a1b5 + jp $3c3c +; 0x4a1b8 + +SafariZoneWestTexts: ; 0x4a1b8 + dw SafariZoneWestText1, SafariZoneWestText2, SafariZoneWestText3, SafariZoneWestText4, SafariZoneWestText5, SafariZoneWestText6, SafariZoneWestText7, SafariZoneWestText8 + +SafariZoneWestText5: ; 0x4a1c8 + TX_FAR _SafariZoneWestText5 + db $50 + +SafariZoneWestText6: ; 0x4a1cd + TX_FAR _SafariZoneWestText6 + db $50 + +SafariZoneWestText7: ; 0x4a1d2 + TX_FAR _SafariZoneWestText7 + db $50 + +SafariZoneWestText8: ; 0x4a1d7 + TX_FAR _SafariZoneWestText8 + db $50 + +SafariZoneWestObject: ; 0x4a1dc (size=108) + db $0 ; border tile + + db $8 ; warps + db $0, $14, $0, SAFARI_ZONE_NORTH + db $0, $15, $1, SAFARI_ZONE_NORTH + db $0, $1a, $2, SAFARI_ZONE_NORTH + db $0, $1b, $3, SAFARI_ZONE_NORTH + db $16, $1d, $2, SAFARI_ZONE_CENTER + db $17, $1d, $3, SAFARI_ZONE_CENTER + db $3, $3, $0, SAFARI_ZONE_SECRET_HOUSE + db $b, $b, $0, SAFARI_ZONE_REST_HOUSE_2 + + db $4 ; signs + db $c, $c, $5 ; SafariZoneWestText5 + db $3, $11, $6 ; SafariZoneWestText6 + db $4, $1a, $7 ; SafariZoneWestText7 + db $16, $18, $8 ; SafariZoneWestText8 + + db $4 ; people + db SPRITE_BALL, $14 + 4, $8 + 4, $ff, $ff, $81, MAX_POTION ; item + db SPRITE_BALL, $7 + 4, $9 + 4, $ff, $ff, $82, TM_32 ; item + db SPRITE_BALL, $12 + 4, $12 + 4, $ff, $ff, $83, MAX_REVIVE ; item + db SPRITE_BALL, $7 + 4, $13 + 4, $ff, $ff, $84, GOLD_TEETH ; item + + ; warp-to + EVENT_DISP $f, $0, $14 ; SAFARI_ZONE_NORTH + EVENT_DISP $f, $0, $15 ; SAFARI_ZONE_NORTH + EVENT_DISP $f, $0, $1a ; SAFARI_ZONE_NORTH + EVENT_DISP $f, $0, $1b ; SAFARI_ZONE_NORTH + EVENT_DISP $f, $16, $1d ; SAFARI_ZONE_CENTER + EVENT_DISP $f, $17, $1d ; SAFARI_ZONE_CENTER + EVENT_DISP $f, $3, $3 ; SAFARI_ZONE_SECRET_HOUSE + EVENT_DISP $f, $b, $b ; SAFARI_ZONE_REST_HOUSE_2 + +SafariZoneWestBlocks: ; 0x4a248 195 + INCBIN "maps/safarizonewest.blk" + +SafariZoneSecretHouse_h: ; 0x4a30b to 0x4a317 (12 bytes) (id=222) + db $14 ; tileset + db SAFARI_ZONE_SECRET_HOUSE_HEIGHT, SAFARI_ZONE_SECRET_HOUSE_WIDTH ; dimensions (y, x) + dw SafariZoneSecretHouseBlocks, SafariZoneSecretHouseTexts, SafariZoneSecretHouseScript ; blocks, texts, scripts + db $00 ; connections + + dw SafariZoneSecretHouseObject ; objects + +SafariZoneSecretHouseScript: ; 0x4a317 + jp $3c3c +; 0x4a31a + +SafariZoneSecretHouseTexts: ; 0x4a31a + dw SafariZoneSecretHouseText1 + +SafariZoneSecretHouseText1: ; 0x4a31c + db $08 ; asm + ld a, [$d857] + bit 0, a + jr nz, .asm_20a9b ; 0x4a322 + ld hl, UnnamedText_4a350 + call PrintText + ld bc, (HM_03 << 8) | 1 + call GiveItem + jr nc, .asm_a21d2 ; 0x4a330 + ld hl, UnnamedText_4a355 + call PrintText + ld hl, $d857 + set 0, [hl] + jr .asm_8f1fc ; 0x4a33d +.asm_a21d2 ; 0x4a33f + ld hl, UnnamedText_4a360 + call PrintText + jr .asm_8f1fc ; 0x4a345 +.asm_20a9b ; 0x4a347 + ld hl, UnnamedText_4a35b + call PrintText +.asm_8f1fc ; 0x4a34d + jp TextScriptEnd + +UnnamedText_4a350: ; 0x4a350 + TX_FAR _UnnamedText_4a350 + db $50 +; 0x4a350 + 5 bytes + +UnnamedText_4a355: ; 0x4a355 + TX_FAR _UnnamedText_4a355 ; 0x85943 + db $0B, $50 +; 0x4a35b + +UnnamedText_4a35b: ; 0x4a35b + TX_FAR _UnnamedText_4a35b + db $50 +; 0x4a35b + 5 bytes + +UnnamedText_4a360: ; 0x4a360 + TX_FAR _UnnamedText_4a360 + db $50 +; 0x4a360 + 5 bytes + +SafariZoneSecretHouseObject: ; 0x4a365 (size=26) + db $17 ; border tile + + db $2 ; warps + db $7, $2, $6, SAFARI_ZONE_WEST + db $7, $3, $6, SAFARI_ZONE_WEST + + db $0 ; signs + + db $1 ; people + db SPRITE_FISHER, $3 + 4, $3 + 4, $ff, $d0, $1 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 ; SAFARI_ZONE_WEST + EVENT_DISP $4, $7, $3 ; SAFARI_ZONE_WEST + +SafariZoneSecretHouseBlocks: ; 0x4a37f 16 + INCBIN "maps/safarizonesecrethouse.blk" + +INCBIN "baserom.gbc",$4a38f,$1c71 + +SECTION "bank13",DATA,BANK[$13] + +YoungsterPic: + INCBIN "pic/trainer/youngster.pic" +BugCatcherPic: + INCBIN "pic/trainer/bugcatcher.pic" +LassPic: + INCBIN "pic/trainer/lass.pic" +SailorPic: + INCBIN "pic/trainer/sailor.pic" +JrTrainerMPic: + INCBIN "pic/trainer/jr.trainerm.pic" +JrTrainerFPic: + INCBIN "pic/trainer/jr.trainerf.pic" +PokemaniacPic: + INCBIN "pic/trainer/pokemaniac.pic" +SuperNerdPic: + INCBIN "pic/trainer/supernerd.pic" +HikerPic: + INCBIN "pic/trainer/hiker.pic" +BikerPic: + INCBIN "pic/trainer/biker.pic" +BurglarPic: + INCBIN "pic/trainer/burglar.pic" +EngineerPic: + INCBIN "pic/trainer/engineer.pic" +FisherPic: + INCBIN "pic/trainer/fisher.pic" +SwimmerPic: + INCBIN "pic/trainer/swimmer.pic" +CueBallPic: + INCBIN "pic/trainer/cueball.pic" +GamblerPic: + INCBIN "pic/trainer/gambler.pic" +BeautyPic: + INCBIN "pic/trainer/beauty.pic" +PsychicPic: + INCBIN "pic/trainer/psychic.pic" +RockerPic: + INCBIN "pic/trainer/rocker.pic" +JugglerPic: + INCBIN "pic/trainer/juggler.pic" +TamerPic: + INCBIN "pic/trainer/tamer.pic" +BirdKeeperPic: + INCBIN "pic/trainer/birdkeeper.pic" +BlackbeltPic: + INCBIN "pic/trainer/blackbelt.pic" +Rival1Pic: + INCBIN "pic/trainer/rival1.pic" +ProfOakPic: + INCBIN "pic/trainer/prof.oak.pic" +ChiefPic: +ScientistPic: + INCBIN "pic/trainer/scientist.pic" +GiovanniPic: + INCBIN "pic/trainer/giovanni.pic" +RocketPic: + INCBIN "pic/trainer/rocket.pic" +CooltrainerMPic: + INCBIN "pic/trainer/cooltrainerm.pic" +CooltrainerFPic: + INCBIN "pic/trainer/cooltrainerf.pic" +BrunoPic: + INCBIN "pic/trainer/bruno.pic" +BrockPic: + INCBIN "pic/trainer/brock.pic" +MistyPic: + INCBIN "pic/trainer/misty.pic" +LtSurgePic: + INCBIN "pic/trainer/lt.surge.pic" +ErikaPic: + INCBIN "pic/trainer/erika.pic" +KogaPic: + INCBIN "pic/trainer/koga.pic" +BlainePic: + INCBIN "pic/trainer/blaine.pic" +SabrinaPic: + INCBIN "pic/trainer/sabrina.pic" +GentlemanPic: + INCBIN "pic/trainer/gentleman.pic" +Rival2Pic: + INCBIN "pic/trainer/rival2.pic" +Rival3Pic: + INCBIN "pic/trainer/rival3.pic" +LoreleiPic: + INCBIN "pic/trainer/lorelei.pic" +ChannelerPic: + INCBIN "pic/trainer/channeler.pic" +AgathaPic: + INCBIN "pic/trainer/agatha.pic" +LancePic: + INCBIN "pic/trainer/lance.pic" + +BattleCenterM_h: ; 0x4fd04 to 0x4fd10 (12 bytes) (id=239) + db $15 ; tileset + db BATTLE_CENTER_HEIGHT, BATTLE_CENTER_WIDTH ; dimensions (y, x) + dw BattleCenterMBlocks, BattleCenterMTexts, BattleCenterMScript ; blocks, texts, scripts + db $00 ; connections + + dw BattleCenterMObject ; objects + +BattleCenterMScript: ; 0x4fd10 + call $3c3c + ld a, [$ff00+$aa] + cp $2 + ld a, $8 + jr z, .asm_4fd1d ; 0x4fd19 $2 + ld a, $c +.asm_4fd1d + ld [$ff00+$8d], a + ld a, $1 + ld [$ff00+$8c], a + call $34ae + ld hl, $d72d + bit 0, [hl] + set 0, [hl] + ret nz + ld hl, $c214 + ld a, $8 + ld [hli], a + ld a, $a + ld [hl], a + ld a, $8 + ld [$c119], a + ld a, [$ff00+$aa] + cp $2 + ret z + ld a, $7 + ld [$c215], a + ld a, $c + ld [$c119], a + ret +; 0x4fd4c + +BattleCenterMTexts: ; 0x4fd4c + dw BattleCenterMText1 + +BattleCenterMText1: ; 0x4fd4e + TX_FAR _BattleCenterMText1 + db $50 + +BattleCenterMObject: ; 0x4fd53 (size=10) + db $e ; border tile + + db $0 ; warps + + db $0 ; signs + + db $1 ; people + db SPRITE_RED, $2 + 4, $2 + 4, $ff, $0, $1 ; person + +BattleCenterMBlocks: ; 0x4fd5d 20 + INCBIN "maps/battlecenterm.blk" + +TradeCenterM_h: ; 0x4fd71 to 0x4fd7d (12 bytes) (id=240) + db $15 ; tileset + db TRADE_CENTER_HEIGHT, TRADE_CENTER_WIDTH ; dimensions (y, x) + dw TradeCenterMBlocks, TradeCenterMTexts, TradeCenterMScript ; blocks, texts, scripts + db $00 ; connections + + dw TradeCenterMObject ; objects + +TradeCenterMScript: ; 0x4fd7d + jp $7d10 +; 0x4fd80 + +TradeCenterMTexts: ; 0x4fd80 + dw TradeCenterMText1 + +TradeCenterMText1: ; 0x4fd82 + TX_FAR _TradeCenterMText1 + db $50 + +TradeCenterMObject: ; 0x4fd87 (size=10) + db $e ; border tile + + db $0 ; warps + + db $0 ; signs + + db $1 ; people + db SPRITE_RED, $2 + 4, $2 + 4, $ff, $0, $1 ; person + +TradeCenterMBlocks: ; 0x4fd91 20 + INCBIN "maps/tradecenterm.blk" + +INCBIN "baserom.gbc",$4fda5,$4fe3f - $4fda5 + +UnnamedText_4fe3f: ; 0x4fe3f + TX_FAR _UnnamedText_4fe3f + db $50 +; 0x4fe3f + 5 bytes + +UnnamedText_4fe44: ; 0x4fe44 + TX_FAR _UnnamedText_4fe44 + db $50 +; 0x4fe44 + 5 bytes + +GetPredefPointer: ; 7E49 +; stores hl in $CC4F,$CC50 +; stores de in $CC51,$CC52 +; stores bc in $CC53,$CC54 +; grabs a byte "n" from $CC4E, +; and gets the nth (3-byte) pointer in PredefPointers +; stores the bank of said pointer in [$D0B7] +; stores the pointer in hl and returns + ; ld $CC4F,hl + ld a,h + ld [$CC4F],a + ld a,l + ld [$CC50],a + + ; ld $CC51,de + ld hl,$CC51 + ld a,d + ld [hli],a + ld a,e + ld [hli],a + + ; ld $CC53,bc + ld a,b + ld [hli],a + ld [hl],c + + ld hl,PredefPointers + ld de,0 + + ; de = 3 * [$CC4E] + ld a,[$CC4E] + ld e,a + add a,a + add a,e + ld e,a + jr nc,.next\@ + inc d + +.next\@ + add hl,de + ld d,h + ld e,l + + ; get bank of predef routine + ld a,[de] + ld [$D0B7],a + + ; get pointer + inc de + ld a,[de] + ld l,a + inc de + ld a,[de] + ld h,a + + ret + +PredefPointers: ; 7E79 +; these are pointers to ASM routines. +; they appear to be used in overworld map scripts. + dbw $0F,$4D60 + dbw $0F,$70C6 + dbw $0F,$7073 + dbw $0B,$7E40 + dbw $0F,$7103 + dbw $1E,$5ABA + dbw $03,$7132 + dbw BANK(HealParty),HealParty + dbw BANK(MoveAnimation),MoveAnimation; 08 play move animation + dbw $03,$771E + dbw $03,$771E + dbw $03,$781D + dbw $03,$7836 + dbw $03,$771E + dbw $03,$771E + dbw $03,$7850 + dbw $03,$7666 + dbw $03,$71D7 + dbw $03,$71A6 + dbw $03,$469C + dbw $0F,$4A83 + dbw $03,$71C8 + dbw $03,$71C8 + dbw $03,$6E9E + dbw $03,$7850 + dbw $03,$4754 + dbw $0E,$6F5B + dbw $01,$6E43 + dbw $03,$78A5; 1C, used in Pokémon Tower + dbw $03,$3EB5 + dbw $03,$3E2E + dbw $12,$40EB + dbw $03,$78BA + dbw $12,$40FF + dbw $03,$7929 + dbw $03,$79A0 + dbw $12,$4125 + dbw $03,$7A1D + dbw $03,$79DC + dbw $01,$5AB0 + dbw $0F,$6D02 + dbw $10,$4000 + dbw $0E,$6D1C + dbw $1C,$778C + dbw $0F,$6F18 + dbw $01,$5A5F + dbw $03,$6A03 + dbw $10,$50F3 + dbw $1C,$496D + dbw $1E,$5DDA + dbw $10,$5682 + dbw $1E,$5869 + dbw $1C,$4B5D + dbw $03,$4586 + dbw $04,$6953 + dbw $04,$6B57 + dbw $10,$50E2 + dbw $15,$690F + dbw $10,$5010 + dbw BANK(Predef3B),Predef3B; 3B display pic? + dbw $03,$6F54 + dbw $10,$42D1 + dbw $0E,$6FB8 + dbw $1C,$770A + dbw $1C,$602B + dbw $03,$7113 + dbw $17,$5B5E + dbw $04,$773E + dbw $04,$7763 + dbw $1C,$5DDF + dbw $17,$40DC; 46 load dex screen + dbw $03,$72E5 + dbw $03,$7A1D + dbw $0F,$4DEC + dbw $1C,$4F60 + dbw $09,$7D6B + dbw $05,$7C47; 4C player exclamation + dbw $01,$5AAF; return immediately + dbw $01,$64EB + dbw $0D,$7CA1 + dbw $1C,$780F + dbw $1C,$76BD + dbw $1C,$75E8 + dbw $1C,$77E2 + dbw BANK(Predef54),Predef54 ; 54 initiate trade + dbw $1D,$405C + dbw $11,$4169 + dbw $1E,$45BA + dbw $1E,$4510 + dbw $03,$45BE + dbw $03,$460B + dbw $03,$4D99 + dbw $01,$4DE1 + dbw $09,$7D98 + dbw $03,$7473 + dbw $04,$68EF + dbw $04,$68F6 + dbw $07,$49C6 + dbw $16,$5035 + +SECTION "bank14",DATA,BANK[$14] + +Route22_h: ; 0x50000 to 0x50022 (34 bytes) (id=33) + db $00 ; tileset + db ROUTE_22_HEIGHT, ROUTE_22_WIDTH ; dimensions (y, x) + dw Route22Blocks, Route22Texts, Route22Script ; blocks, texts, scripts + db NORTH | EAST ; connections + + ; connections data + + db ROUTE_23 + dw Route23Blocks + (ROUTE_23_HEIGHT - 3) * ROUTE_23_WIDTH ; connection strip location + dw $C6EB + 0 ; current map position + db ROUTE_23_WIDTH, ROUTE_23_WIDTH ; bigness, width + db (ROUTE_23_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x) + dw $C6E9 + ROUTE_23_HEIGHT * (ROUTE_23_WIDTH + 6) ; window + + db VIRIDIAN_CITY + dw ViridianCityBlocks + (VIRIDIAN_CITY_WIDTH) ; connection strip location + dw $C6E5 + (ROUTE_22_WIDTH + 6) * (-3 + 4) ; current map position + db $f, VIRIDIAN_CITY_WIDTH ; bigness, width + db (-4 * -2), 0 ; alignments (y, x) + dw $C6EF + VIRIDIAN_CITY_WIDTH ; window + + ; end connections data + + dw Route22Object ; objects + +Route22Object: ; 0x50022 (size=27) + db $2c ; border tile + + db $1 ; warps + db $5, $8, $0, ROUTE_22_GATE + + db $1 ; signs + db $b, $7, $3 ; Route22Text3 + + db $2 ; people + db SPRITE_BLUE, $5 + 4, $19 + 4, $ff, $ff, $1 ; person + db SPRITE_BLUE, $5 + 4, $19 + 4, $ff, $ff, $2 ; person + + ; warp-to + EVENT_DISP $14, $5, $8 ; ROUTE_22_GATE + +Route22Blocks: ; 0x5003d 180 + INCBIN "maps/route22.blk" + +Route20_h: ; 0x500f1 to 0x50113 (34 bytes) (id=31) + db $00 ; tileset + db ROUTE_20_HEIGHT, ROUTE_20_WIDTH ; dimensions (y, x) + dw Route20Blocks, Route20Texts, Route20Script ; blocks, texts, scripts + db WEST | EAST ; connections + + ; connections data + + db CINNABAR_ISLAND + dw CinnabarIslandBlocks - 3 + (CINNABAR_ISLAND_WIDTH) ; connection strip location + dw $C6E8 + (ROUTE_20_WIDTH + 6) * (0 + 3) ; current map position + db CINNABAR_ISLAND_HEIGHT, CINNABAR_ISLAND_WIDTH ; bigness, width + db (0 * -2), (CINNABAR_ISLAND_WIDTH * 2) - 1 ; alignments (y, x) + dw $C6EE + 2 * CINNABAR_ISLAND_WIDTH ; window + + db ROUTE_19 + dw Route19Blocks + (ROUTE_19_WIDTH * 15) ; connection strip location + dw $C6E5 + (ROUTE_20_WIDTH + 6) * (-3 + 4) ; current map position + db $c, ROUTE_19_WIDTH ; bigness, width + db (-18 * -2), 0 ; alignments (y, x) + dw $C6EF + ROUTE_19_WIDTH ; window + + ; end connections data + + dw Route20Object ; objects + +Route20Object: ; 0x50113 (size=106) + db $43 ; border tile + + db $2 ; warps + db $5, $30, $0, SEAFOAM_ISLANDS_1 + db $9, $3a, $2, SEAFOAM_ISLANDS_1 + + db $2 ; signs + db $7, $33, $b ; Route20Text11 + db $b, $39, $c ; Route20Text12 + + db $a ; people + db SPRITE_SWIMMER, $8 + 4, $57 + 4, $ff, $d1, $41, SWIMMER + $C8, $9 ; trainer + db SPRITE_SWIMMER, $b + 4, $44 + 4, $ff, $d1, $42, BEAUTY + $C8, $f ; trainer + db SPRITE_SWIMMER, $a + 4, $2d + 4, $ff, $d0, $43, BEAUTY + $C8, $6 ; trainer + db SPRITE_SWIMMER, $e + 4, $37 + 4, $ff, $d3, $44, JR__TRAINER_F + $C8, $18 ; trainer + db SPRITE_SWIMMER, $d + 4, $26 + 4, $ff, $d0, $45, SWIMMER + $C8, $a ; trainer + db SPRITE_SWIMMER, $d + 4, $57 + 4, $ff, $d1, $46, SWIMMER + $C8, $b ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $9 + 4, $22 + 4, $ff, $d1, $47, BIRD_KEEPER + $C8, $b ; trainer + db SPRITE_SWIMMER, $7 + 4, $19 + 4, $ff, $d1, $48, BEAUTY + $C8, $7 ; trainer + db SPRITE_SWIMMER, $c + 4, $18 + 4, $ff, $d0, $49, JR__TRAINER_F + $C8, $10 ; trainer + db SPRITE_SWIMMER, $8 + 4, $f + 4, $ff, $d1, $4a, BEAUTY + $C8, $8 ; trainer + + ; warp-to + EVENT_DISP $32, $5, $30 ; SEAFOAM_ISLANDS_1 + EVENT_DISP $32, $9, $3a ; SEAFOAM_ISLANDS_1 + +Route20Blocks: ; 0x5017d 450 + INCBIN "maps/route20.blk" + +Route23_h: ; 0x5033f to 0x50361 (34 bytes) (id=34) + db $17 ; tileset + db ROUTE_23_HEIGHT, ROUTE_23_WIDTH ; dimensions (y, x) + dw Route23Blocks, Route23Texts, Route23Script ; blocks, texts, scripts + db NORTH | SOUTH ; connections + + ; connections data + + db INDIGO_PLATEAU + dw IndigoPlateauBlocks + (INDIGO_PLATEAU_HEIGHT - 3) * INDIGO_PLATEAU_WIDTH ; connection strip location + dw $C6EB + 0 ; current map position + db INDIGO_PLATEAU_WIDTH, INDIGO_PLATEAU_WIDTH ; bigness, width + db (INDIGO_PLATEAU_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x) + dw $C6E9 + INDIGO_PLATEAU_HEIGHT * (INDIGO_PLATEAU_WIDTH + 6) ; window + + db ROUTE_22 + dw Route22Blocks ; connection strip location + dw $C6EB + (ROUTE_23_HEIGHT + 3) * (ROUTE_23_WIDTH + 6) + 0 ; current map position + db $d, ROUTE_22_WIDTH ; bigness, width + db 0, (0 * -2) ; alignments (y, x) + dw $C6EF + ROUTE_22_WIDTH ; window + + ; end connections data + + dw Route23Object ; objects + +Route23Object: ; 0x50361 (size=81) + db $f ; border tile + + db $4 ; warps + db $8b, $7, $2, ROUTE_22_GATE + db $8b, $8, $3, ROUTE_22_GATE + db $1f, $4, $0, VICTORY_ROAD_1 + db $1f, $e, $1, VICTORY_ROAD_2 + + db $1 ; signs + db $21, $3, $8 ; Route23Text8 + + db $7 ; people + db SPRITE_GUARD, $23 + 4, $4 + 4, $ff, $d0, $1 ; person + db SPRITE_GUARD, $38 + 4, $a + 4, $ff, $d0, $2 ; person + db SPRITE_SWIMMER, $55 + 4, $8 + 4, $ff, $d0, $3 ; person + db SPRITE_SWIMMER, $60 + 4, $b + 4, $ff, $d0, $4 ; person + db SPRITE_GUARD, $69 + 4, $c + 4, $ff, $d0, $5 ; person + db SPRITE_GUARD, $77 + 4, $8 + 4, $ff, $d0, $6 ; person + db SPRITE_GUARD, $88 + 4, $8 + 4, $ff, $d0, $7 ; person + + ; warp-to + EVENT_DISP $a, $8b, $7 ; ROUTE_22_GATE + EVENT_DISP $a, $8b, $8 ; ROUTE_22_GATE + EVENT_DISP $a, $1f, $4 ; VICTORY_ROAD_1 + EVENT_DISP $a, $1f, $e ; VICTORY_ROAD_2 + +Route23Blocks: ; 0x503b2 720 + INCBIN "maps/route23.blk" + +Route24_h: ; 0x50682 to 0x506a4 (34 bytes) (id=35) + db $00 ; tileset + db ROUTE_24_HEIGHT, ROUTE_24_WIDTH ; dimensions (y, x) + dw Route24Blocks, Route24Texts, Route24Script ; blocks, texts, scripts + db SOUTH | EAST ; connections + + ; connections data + + db CERULEAN_CITY + dw CeruleanCityBlocks + 2 ; connection strip location + dw $C6EB + (ROUTE_24_HEIGHT + 3) * (ROUTE_24_WIDTH + 6) + -3 ; current map position + db $10, CERULEAN_CITY_WIDTH ; bigness, width + db 0, (-5 * -2) ; alignments (y, x) + dw $C6EF + CERULEAN_CITY_WIDTH ; window + + db ROUTE_25 + dw Route25Blocks + (ROUTE_25_WIDTH * 0) ; connection strip location + dw $C6E5 + (ROUTE_24_WIDTH + 6) * (0 + 4) ; current map position + db ROUTE_25_HEIGHT, ROUTE_25_WIDTH ; bigness, width + db (0 * -2), 0 ; alignments (y, x) + dw $C6EF + ROUTE_25_WIDTH ; window + + ; end connections data + + dw Route24Object ; objects + +Route24Object: ; 0x506a4 (size=67) + db $2c ; border tile + + db $0 ; warps + + db $0 ; signs + + db $8 ; people + db SPRITE_BLACK_HAIR_BOY_1, $f + 4, $b + 4, $ff, $d2, $41, ROCKET + $C8, $6 ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $14 + 4, $5 + 4, $ff, $d1, $42, JR__TRAINER_M + $C8, $2 ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $13 + 4, $b + 4, $ff, $d2, $43, JR__TRAINER_M + $C8, $3 ; trainer + db SPRITE_LASS, $16 + 4, $a + 4, $ff, $d3, $44, LASS + $C8, $7 ; trainer + db SPRITE_BUG_CATCHER, $19 + 4, $b + 4, $ff, $d2, $45, YOUNGSTER + $C8, $4 ; trainer + db SPRITE_LASS, $1c + 4, $a + 4, $ff, $d3, $46, LASS + $C8, $8 ; trainer + db SPRITE_BUG_CATCHER, $1f + 4, $b + 4, $ff, $d2, $47, BUG_CATCHER + $C8, $9 ; trainer + db SPRITE_BALL, $5 + 4, $a + 4, $ff, $ff, $88, TM_45 ; item + +Route24Blocks: ; 0x506e7 180 + INCBIN "maps/route24.blk" + +Route25_h: ; 0x5079b to 0x507b2 (23 bytes) (id=36) + db $00 ; tileset + db ROUTE_25_HEIGHT, ROUTE_25_WIDTH ; dimensions (y, x) + dw Route25Blocks, Route25Texts, Route25Script ; blocks, texts, scripts + db WEST ; connections + + ; connections data + + db ROUTE_24 + dw Route24Blocks - 3 + (ROUTE_24_WIDTH) ; connection strip location + dw $C6E8 + (ROUTE_25_WIDTH + 6) * (0 + 3) ; current map position + db $c, ROUTE_24_WIDTH ; bigness, width + db (0 * -2), (ROUTE_24_WIDTH * 2) - 1 ; alignments (y, x) + dw $C6EE + 2 * ROUTE_24_WIDTH ; window + + ; end connections data + + dw Route25Object ; objects + +Route25Object: ; 0x507b2 (size=94) + db $2c ; border tile + + db $1 ; warps + db $3, $2d, $0, BILLS_HOUSE + + db $1 ; signs + db $3, $2b, $b ; Route25Text11 + + db $a ; people + db SPRITE_BUG_CATCHER, $2 + 4, $e + 4, $ff, $d0, $41, YOUNGSTER + $C8, $5 ; trainer + db SPRITE_BUG_CATCHER, $5 + 4, $12 + 4, $ff, $d1, $42, YOUNGSTER + $C8, $6 ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $4 + 4, $18 + 4, $ff, $d0, $43, JR__TRAINER_M + $C8, $2 ; trainer + db SPRITE_LASS, $8 + 4, $12 + 4, $ff, $d3, $44, LASS + $C8, $9 ; trainer + db SPRITE_BUG_CATCHER, $3 + 4, $20 + 4, $ff, $d2, $45, YOUNGSTER + $C8, $7 ; trainer + db SPRITE_LASS, $4 + 4, $25 + 4, $ff, $d0, $46, LASS + $C8, $a ; trainer + db SPRITE_HIKER, $4 + 4, $8 + 4, $ff, $d3, $47, HIKER + $C8, $2 ; trainer + db SPRITE_HIKER, $9 + 4, $17 + 4, $ff, $d1, $48, HIKER + $C8, $3 ; trainer + db SPRITE_HIKER, $7 + 4, $d + 4, $ff, $d3, $49, HIKER + $C8, $4 ; trainer + db SPRITE_BALL, $2 + 4, $16 + 4, $ff, $ff, $8a, TM_19 ; item + + ; warp-to + EVENT_DISP $1e, $3, $2d ; BILLS_HOUSE + +Route25Blocks: ; 0x50810 270 + INCBIN "maps/route25.blk" + +IndigoPlateau_h: ; 0x5091e to 0x50935 (23 bytes) (id=9) + db $17 ; tileset + db INDIGO_PLATEAU_HEIGHT, INDIGO_PLATEAU_WIDTH ; dimensions (y, x) + dw IndigoPlateauBlocks, IndigoPlateauTexts, IndigoPlateauScript ; blocks, texts, scripts + db SOUTH ; connections + + ; connections data + + db ROUTE_23 + dw Route23Blocks ; connection strip location + dw $C6EB + (INDIGO_PLATEAU_HEIGHT + 3) * (INDIGO_PLATEAU_WIDTH + 6) + 0 ; current map position + db ROUTE_23_WIDTH, ROUTE_23_WIDTH ; bigness, width + db 0, (0 * -2) ; alignments (y, x) + dw $C6EF + ROUTE_23_WIDTH ; window + + ; end connections data + + dw IndigoPlateauObject ; objects + +IndigoPlateauScript: ; 0x50935 + ret +; 0x50936 + +IndigoPlateauTexts: +IndigoPlateauObject: ; 0x50936 (size=20) + db $e ; border tile + + db $2 ; warps + db $5, $9, $0, INDIGO_PLATEAU_LOBBY + db $5, $a, $0, INDIGO_PLATEAU_LOBBY + + db $0 ; signs + + db $0 ; people + + ; warp-to + EVENT_DISP $a, $5, $9 ; INDIGO_PLATEAU_LOBBY + EVENT_DISP $a, $5, $a ; INDIGO_PLATEAU_LOBBY + +IndigoPlateauBlocks: ; 0x5094a 90 + INCBIN "maps/indigoplateau.blk" + +SaffronCity_h: ; 0x509a4 to 0x509dc (56 bytes) (id=10) + db $00 ; tileset + db SAFFRON_CITY_HEIGHT, SAFFRON_CITY_WIDTH ; dimensions (y, x) + dw SaffronCityBlocks, SaffronCityTexts, SaffronCityScript ; blocks, texts, scripts + db NORTH | SOUTH | WEST | EAST ; connections + + ; connections data + + db ROUTE_5 + dw Route5Blocks + (ROUTE_5_HEIGHT - 3) * ROUTE_5_WIDTH ; connection strip location + dw $C6EB + 5 ; current map position + db ROUTE_5_WIDTH, ROUTE_5_WIDTH ; bigness, width + db (ROUTE_5_HEIGHT * 2) - 1, (5 * -2) ; alignments (y, x) + dw $C6E9 + ROUTE_5_HEIGHT * (ROUTE_5_WIDTH + 6) ; window + + db ROUTE_6 + dw Route6Blocks ; connection strip location + dw $C6EB + (SAFFRON_CITY_HEIGHT + 3) * (SAFFRON_CITY_WIDTH + 6) + 5 ; current map position + db ROUTE_6_WIDTH, ROUTE_6_WIDTH ; bigness, width + db 0, (5 * -2) ; alignments (y, x) + dw $C6EF + ROUTE_6_WIDTH ; window + + db ROUTE_7 + dw Route7Blocks - 3 + (ROUTE_7_WIDTH) ; connection strip location + dw $C6E8 + (SAFFRON_CITY_WIDTH + 6) * (4 + 3) ; current map position + db ROUTE_7_HEIGHT, ROUTE_7_WIDTH ; bigness, width + db (4 * -2), (ROUTE_7_WIDTH * 2) - 1 ; alignments (y, x) + dw $C6EE + 2 * ROUTE_7_WIDTH ; window + + db ROUTE_8 + dw Route8Blocks + (ROUTE_8_WIDTH * 0) ; connection strip location + dw $C6E5 + (SAFFRON_CITY_WIDTH + 6) * (4 + 4) ; current map position + db ROUTE_8_HEIGHT, ROUTE_8_WIDTH ; bigness, width + db (4 * -2), 0 ; alignments (y, x) + dw $C6EF + ROUTE_8_WIDTH ; window + + ; end connections data + + dw SaffronCityObject ; objects + +SaffronCityObject: ; 0x509dc (size=188) + db $f ; border tile + + db $8 ; warps + db $5, $7, $0, COPYCATS_HOUSE_1F + db $3, $1a, $0, FIGHTINGDOJO + db $3, $22, $0, SAFFRON_GYM + db $b, $d, $0, SAFFRON_HOUSE_1 + db $b, $19, $0, SAFFRON_MART + db $15, $12, $0, SILPH_CO_1F + db $1d, $9, $0, SAFFRON_POKECENTER + db $1d, $1d, $0, SAFFRON_HOUSE_2 + + db $a ; signs + db $5, $11, $10 ; SaffronCityText16 + db $5, $1b, $11 ; SaffronCityText17 + db $5, $23, $12 ; SaffronCityText18 + db $b, $1a, $13 ; SaffronCityText19 + db $13, $27, $14 ; SaffronCityText20 + db $15, $5, $15 ; SaffronCityText21 + db $15, $f, $16 ; SaffronCityText22 + db $1d, $a, $17 ; SaffronCityText23 + db $1d, $1b, $18 ; SaffronCityText24 + db $13, $1, $19 ; SaffronCityText25 + + db $f ; people + db SPRITE_ROCKET, $6 + 4, $7 + 4, $ff, $ff, $1 ; person + db SPRITE_ROCKET, $8 + 4, $14 + 4, $fe, $2, $2 ; person + db SPRITE_ROCKET, $4 + 4, $22 + 4, $ff, $ff, $3 ; person + db SPRITE_ROCKET, $c + 4, $d + 4, $ff, $ff, $4 ; person + db SPRITE_ROCKET, $19 + 4, $b + 4, $fe, $2, $5 ; person + db SPRITE_ROCKET, $d + 4, $20 + 4, $fe, $2, $6 ; person + db SPRITE_ROCKET, $1e + 4, $12 + 4, $fe, $2, $7 ; person + db SPRITE_OAK_AIDE, $e + 4, $8 + 4, $fe, $0, $8 ; person + db SPRITE_LAPRAS_GIVER, $17 + 4, $17 + 4, $ff, $ff, $9 ; person + db SPRITE_ERIKA, $1e + 4, $11 + 4, $fe, $2, $a ; person + db SPRITE_GENTLEMAN, $c + 4, $1e + 4, $ff, $d0, $b ; person + db SPRITE_BIRD, $c + 4, $1f + 4, $ff, $d0, $c ; person + db SPRITE_ROCKER, $8 + 4, $12 + 4, $ff, $d1, $d ; person + db SPRITE_ROCKET, $16 + 4, $12 + 4, $ff, $d0, $e ; person + db SPRITE_ROCKET, $16 + 4, $13 + 4, $ff, $d0, $f ; person + + ; warp-to + EVENT_DISP $14, $5, $7 ; COPYCATS_HOUSE_1F + EVENT_DISP $14, $3, $1a ; FIGHTINGDOJO + EVENT_DISP $14, $3, $22 ; SAFFRON_GYM + EVENT_DISP $14, $b, $d ; SAFFRON_HOUSE_1 + EVENT_DISP $14, $b, $19 ; SAFFRON_MART + EVENT_DISP $14, $15, $12 ; SILPH_CO_1F + EVENT_DISP $14, $1d, $9 ; SAFFRON_POKECENTER + EVENT_DISP $14, $1d, $1d ; SAFFRON_HOUSE_2 + +SaffronCityBlocks: ; 0x50a98 360 + INCBIN "maps/saffroncity.blk" + +SaffronCityScript: ; 0x50c00 + jp $3c3c +; 0x50c03 + +SaffronCityTexts: ; 0x50c03 + dw SaffronCityText1, SaffronCityText2, SaffronCityText3, SaffronCityText4, SaffronCityText5, SaffronCityText6, SaffronCityText7, SaffronCityText8, SaffronCityText9, SaffronCityText10, SaffronCityText11, SaffronCityText12, SaffronCityText13, SaffronCityText14, SaffronCityText15, SaffronCityText16, SaffronCityText17, SaffronCityText18, SaffronCityText19, SaffronCityText20, SaffronCityText21, SaffronCityText22, SaffronCityText23, SaffronCityText24, SaffronCityText25 + +SaffronCityText1: ; 0x50c35 + TX_FAR _SaffronCityText1 + db $50 + +SaffronCityText2: ; 0x50c3a + TX_FAR _SaffronCityText2 + db $50 + +SaffronCityText3: ; 0x50c3f + TX_FAR _SaffronCityText3 + db $50 + +SaffronCityText4: ; 0x50c44 + TX_FAR _SaffronCityText4 + db $50 + +SaffronCityText5: ; 0x50c49 + TX_FAR _SaffronCityText5 + db $50 + +SaffronCityText6: ; 0x50c4e + TX_FAR _SaffronCityText6 + db $50 + +SaffronCityText7: ; 0x50c53 + TX_FAR _SaffronCityText7 + db $50 + +SaffronCityText8: ; 0x50c58 + TX_FAR _SaffronCityText8 + db $50 + +SaffronCityText9: ; 0x50c5d + TX_FAR _SaffronCityText9 + db $50 + +SaffronCityText10: ; 0x50c62 + TX_FAR _SaffronCityText10 + db $50 + +SaffronCityText11: ; 0x50c67 + TX_FAR _SaffronCityText11 + db $50 + +SaffronCityText12: ; 0x50c6c + TX_FAR _SaffronCityText12 + db $15, $50 + +SaffronCityText13: ; 0x50c72 + TX_FAR _SaffronCityText13 + db $50 + +SaffronCityText14: ; 0x50c77 + TX_FAR _SaffronCityText14 + db $50 + +SaffronCityText15: ; 0x50c7c + TX_FAR _SaffronCityText15 + db $50 + +SaffronCityText16: ; 0x50c81 + TX_FAR _SaffronCityText16 + db $50 + +SaffronCityText17: ; 0x50c86 + TX_FAR _SaffronCityText17 + db $50 + +SaffronCityText18: ; 0x50c8b + TX_FAR _SaffronCityText18 + db $50 + +SaffronCityText20: ; 0x50c90 + TX_FAR _SaffronCityText20 + db $50 + +SaffronCityText21: ; 0x50c95 + TX_FAR _SaffronCityText21 + db $50 + +SaffronCityText22: ; 0x50c9a + TX_FAR _SaffronCityText22 + db $50 + +SaffronCityText24: ; 0x50c9f + TX_FAR _SaffronCityText24 + db $50 + +SaffronCityText25: ; 0x50ca4 + TX_FAR _SaffronCityText25 + db $50 + +Route20Script: ; 0x50ca9 + ld hl, $d7e7 + bit 0, [hl] + res 0, [hl] + call nz, $4cc6 + call $3c3c + ld hl, $4d3a + ld de, $4d1c + ld a, [$d628] + call $3160 + ld [$d628], a + ret +; 0x50cc6 + +INCBIN "baserom.gbc",$50cc6,$5c + +Route20Texts: ; 0x50d22 + dw Route20Text1, Route20Text2, Route20Text3, Route20Text4, Route20Text5, Route20Text6, Route20Text7, Route20Text8, Route20Text9, Route20Text10, Route20Text11, Route20Text12 + +Route20TrainerHeaders: +Route20TrainerHeader1: + db $1 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e7 ; flag's byte + dw UnnamedText_50e17 ; 0x4e17 TextBeforeBattle + dw UnnamedText_50e21 ; 0x4e21 TextAfterBattle + dw UnnamedText_50e1c ; 0x4e1c TextEndBattle + dw UnnamedText_50e1c ; 0x4e1c TextEndBattle +; 0x50d46 + +TrainerHeader_50d46: ; 0x50d46 + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e7 ; flag's byte + dw UnnamedText_50e26 ; 0x4e26 TextBeforeBattle + dw UnnamedText_50e30 ; 0x4e30 TextAfterBattle + dw UnnamedText_50e2b ; 0x4e2b TextEndBattle + dw UnnamedText_50e2b ; 0x4e2b TextEndBattle +; 0x50d52 + +TrainerHeader_50d52: ; 0x50d52 + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7e7 ; flag's byte + dw UnnamedText_50e35 ; 0x4e35 TextBeforeBattle + dw UnnamedText_50e3f ; 0x4e3f TextAfterBattle + dw UnnamedText_50e3a ; 0x4e3a TextEndBattle + dw UnnamedText_50e3a ; 0x4e3a TextEndBattle +; 0x50d5e + +TrainerHeader_50d5e: ; 0x50d5e + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e7 ; flag's byte + dw UnnamedText_50e44 ; 0x4e44 TextBeforeBattle + dw UnnamedText_50e4e ; 0x4e4e TextAfterBattle + dw UnnamedText_50e49 ; 0x4e49 TextEndBattle + dw UnnamedText_50e49 ; 0x4e49 TextEndBattle +; 0x50d6a + +TrainerHeader_50d6a: ; 0x50d6a + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7e7 ; flag's byte + dw UnnamedText_50e53 ; 0x4e53 TextBeforeBattle + dw UnnamedText_50e5d ; 0x4e5d TextAfterBattle + dw UnnamedText_50e58 ; 0x4e58 TextEndBattle + dw UnnamedText_50e58 ; 0x4e58 TextEndBattle +; 0x50d76 + +TrainerHeader_50d76: ; 0x50d76 + db $6 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e7 ; flag's byte + dw UnnamedText_50e62 ; 0x4e62 TextBeforeBattle + dw UnnamedText_50e6c ; 0x4e6c TextAfterBattle + dw UnnamedText_50e67 ; 0x4e67 TextEndBattle + dw UnnamedText_50e67 ; 0x4e67 TextEndBattle +; 0x50d82 + +TrainerHeader_50d82: ; 0x50d82 + db $7 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7e7 ; flag's byte + dw UnnamedText_50e71 ; 0x4e71 TextBeforeBattle + dw UnnamedText_50e7b ; 0x4e7b TextAfterBattle + dw UnnamedText_50e76 ; 0x4e76 TextEndBattle + dw UnnamedText_50e76 ; 0x4e76 TextEndBattle +; 0x50d8e + +TrainerHeader_50d8e: ; 0x50d8e + db $8 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e7 ; flag's byte + dw UnnamedText_50e80 ; 0x4e80 TextBeforeBattle + dw UnnamedText_50e8a ; 0x4e8a TextAfterBattle + dw UnnamedText_50e85 ; 0x4e85 TextEndBattle + dw UnnamedText_50e85 ; 0x4e85 TextEndBattle +; 0x50d9a + +TrainerHeader_50d9a: ; 0x50d9a + db $9 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7e7 ; flag's byte + dw UnnamedText_50e8f ; 0x4e8f TextBeforeBattle + dw UnnamedText_50e99 ; 0x4e99 TextAfterBattle + dw UnnamedText_50e94 ; 0x4e94 TextEndBattle + dw UnnamedText_50e94 ; 0x4e94 TextEndBattle +; 0x50da6 + +TrainerHeader_50da6: ; 0x50da6 + db $a ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e7 ; flag's byte + dw UnnamedText_50e9e ; 0x4e9e TextBeforeBattle + dw UnnamedText_50ea8 ; 0x4ea8 TextAfterBattle + dw UnnamedText_50ea3 ; 0x4ea3 TextEndBattle + dw UnnamedText_50ea3 ; 0x4ea3 TextEndBattle +; 0x50db2 + +db $ff + +Route20Text1: ; 0x50db3 + db $08 ; asm + ld hl, Route20TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +Route20Text2: ; 0x50dbd + db $08 ; asm + ld hl, TrainerHeader_50d46 + call LoadTrainerHeader + jp TextScriptEnd + +Route20Text3: ; 0x50dc7 + db $08 ; asm + ld hl, TrainerHeader_50d52 + call LoadTrainerHeader + jp TextScriptEnd + +Route20Text4: ; 0x50dd1 + db $08 ; asm + ld hl, TrainerHeader_50d5e + call LoadTrainerHeader + jp TextScriptEnd + +Route20Text5: ; 0x50ddb + db $08 ; asm + ld hl, TrainerHeader_50d6a + call LoadTrainerHeader + jp TextScriptEnd + +Route20Text6: ; 0x50de5 + db $08 ; asm + ld hl, TrainerHeader_50d76 + call LoadTrainerHeader + jp TextScriptEnd + +Route20Text7: ; 0x50def + db $08 ; asm + ld hl, TrainerHeader_50d82 + call LoadTrainerHeader + jp TextScriptEnd + +Route20Text8: ; 0x50df9 + db $08 ; asm + ld hl, TrainerHeader_50d8e + call LoadTrainerHeader + jp TextScriptEnd + +Route20Text9: ; 0x50e03 + db $08 ; asm + ld hl, TrainerHeader_50d9a + call LoadTrainerHeader + jp TextScriptEnd + +Route20Text10: ; 0x50e0d + db $08 ; asm + ld hl, TrainerHeader_50da6 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_50e17: ; 0x50e17 + TX_FAR _UnnamedText_50e17 + db $50 +; 0x50e17 + 5 bytes + +UnnamedText_50e1c: ; 0x50e1c + TX_FAR _UnnamedText_50e1c + db $50 +; 0x50e1c + 5 bytes + +UnnamedText_50e21: ; 0x50e21 + TX_FAR _UnnamedText_50e21 + db $50 +; 0x50e21 + 5 bytes + +UnnamedText_50e26: ; 0x50e26 + TX_FAR _UnnamedText_50e26 + db $50 +; 0x50e26 + 5 bytes + +UnnamedText_50e2b: ; 0x50e2b + TX_FAR _UnnamedText_50e2b + db $50 +; 0x50e2b + 5 bytes + +UnnamedText_50e30: ; 0x50e30 + TX_FAR _UnnamedText_50e30 + db $50 +; 0x50e30 + 5 bytes + +UnnamedText_50e35: ; 0x50e35 + TX_FAR _UnnamedText_50e35 + db $50 +; 0x50e35 + 5 bytes + +UnnamedText_50e3a: ; 0x50e3a + TX_FAR _UnnamedText_50e3a + db $50 +; 0x50e3a + 5 bytes + +UnnamedText_50e3f: ; 0x50e3f + TX_FAR _UnnamedText_50e3f + db $50 +; 0x50e3f + 5 bytes + +UnnamedText_50e44: ; 0x50e44 + TX_FAR _UnnamedText_50e44 + db $50 +; 0x50e44 + 5 bytes + +UnnamedText_50e49: ; 0x50e49 + TX_FAR _UnnamedText_50e49 + db $50 +; 0x50e49 + 5 bytes + +UnnamedText_50e4e: ; 0x50e4e + TX_FAR _UnnamedText_50e4e + db $50 +; 0x50e4e + 5 bytes + +UnnamedText_50e53: ; 0x50e53 + TX_FAR _UnnamedText_50e53 + db $50 +; 0x50e53 + 5 bytes + +UnnamedText_50e58: ; 0x50e58 + TX_FAR _UnnamedText_50e58 + db $50 +; 0x50e58 + 5 bytes + +UnnamedText_50e5d: ; 0x50e5d + TX_FAR _UnnamedText_50e5d + db $50 +; 0x50e5d + 5 bytes + +UnnamedText_50e62: ; 0x50e62 + TX_FAR _UnnamedText_50e62 + db $50 +; 0x50e62 + 5 bytes + +UnnamedText_50e67: ; 0x50e67 + TX_FAR _UnnamedText_50e67 + db $50 +; 0x50e67 + 5 bytes + +UnnamedText_50e6c: ; 0x50e6c + TX_FAR _UnnamedText_50e6c + db $50 +; 0x50e6c + 5 bytes + +UnnamedText_50e71: ; 0x50e71 + TX_FAR _UnnamedText_50e71 + db $50 +; 0x50e71 + 5 bytes + +UnnamedText_50e76: ; 0x50e76 + TX_FAR _UnnamedText_50e76 + db $50 +; 0x50e76 + 5 bytes + +UnnamedText_50e7b: ; 0x50e7b + TX_FAR _UnnamedText_50e7b + db $50 +; 0x50e7b + 5 bytes + +UnnamedText_50e80: ; 0x50e80 + TX_FAR _UnnamedText_50e80 + db $50 +; 0x50e80 + 5 bytes + +UnnamedText_50e85: ; 0x50e85 + TX_FAR _UnnamedText_50e85 + db $50 +; 0x50e85 + 5 bytes + +UnnamedText_50e8a: ; 0x50e8a + TX_FAR _UnnamedText_50e8a + db $50 +; 0x50e8a + 5 bytes + +UnnamedText_50e8f: ; 0x50e8f + TX_FAR _UnnamedText_50e8f + db $50 +; 0x50e8f + 5 bytes + +UnnamedText_50e94: ; 0x50e94 + TX_FAR _UnnamedText_50e94 + db $50 +; 0x50e94 + 5 bytes + +UnnamedText_50e99: ; 0x50e99 + TX_FAR _UnnamedText_50e99 + db $50 +; 0x50e99 + 5 bytes + +UnnamedText_50e9e: ; 0x50e9e + TX_FAR _UnnamedText_50e9e + db $50 +; 0x50e9e + 5 bytes + +UnnamedText_50ea3: ; 0x50ea3 + TX_FAR _UnnamedText_50ea3 + db $50 +; 0x50ea3 + 5 bytes + +UnnamedText_50ea8: ; 0x50ea8 + TX_FAR _UnnamedText_50ea8 + db $50 +; 0x50ea8 + 5 bytes + +Route20Text12: +Route20Text11: ; 0x50ead + TX_FAR _Route20Text11 + db $50 + +Route22Script: ; 0x50eb2 + call $3c3c + ld hl, Route22Scripts + ld a, [$d60a] + jp $3d97 +; 0x50ebe + +Route22Scripts: ; 0x50ebe + dw Route22Script0, Route22Script1, Route22Script2, Route22Script3 + +INCBIN "baserom.gbc",$50ec6,$3a + +Route22Script0: ; 0x50f00 + ld a, [$d7eb] + bit 7, a + ret z + ld hl, $4f2d + call $34bf + ret nc + ld a, [$cd3d] + ld [$cf0d], a + xor a + ld [$ff00+$b4], a + ld a, $f0 + ld [$cd6b], a + ld a, $2 + ld [$d528], a + ld a, [$d7eb] + bit 0, a + jr nz, .asm_50f32 ; 0x50f25 $b + bit 1, a + jp nz, $504e + ret + inc b + dec e + dec b + dec e + rst $38 +.asm_50f32 + ld a, $1 + ld [$cd4f], a + xor a + ld [$cd50], a + ld a, $4c + call Predef + ld a, [$d700] + and a + jr z, .asm_50f4e ; 0x50f44 $8 + ld a, $ff + ld [$c0ee], a + call $23b1 +.asm_50f4e + ld c, $2 + ld a, $de + call $23a1 + ld a, $1 + ld [$ff00+$8c], a + call $4ee6 + ld a, $1 + ld [$d60a], a + ret +; 0x50f62 + +Route22Script1: ; 0x50f62 + ld a, [$d730] + bit 0, a + ret nz + ld a, [$cf0d] + cp $1 + jr nz, .asm_50f78 ; 0x50f6d $9 + ld a, $4 + ld [$d528], a + ld a, $4 + jr .asm_50f7a ; 0x50f76 $2 +.asm_50f78 + ld a, $c +.asm_50f7a + ld [$ff00+$8d], a + ld a, $1 + ld [$ff00+$8c], a + call $34a6 + xor a + ld [$cd6b], a + ld a, $1 + ld [$ff00+$8c], a + call $2920 + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, $51b7 + ld de, $51bc + call $3354 + ld a, $e1 + ld [$d059], a + ld hl, $4faf + call $4ed6 + ld a, $2 + ld [$d60a], a + ret +; 0x50faf + +INCBIN "baserom.gbc",$50faf,$50fb5 - $50faf + +Route22Script2: ; 0x50fb5 + ld a, [$d057] + cp $ff + jp z, $4ece + ld a, [$c109] + and a + jr nz, .asm_50fc7 ; 0x50fc1 $4 + ld a, $4 + jr .asm_50fc9 ; 0x50fc5 $2 +.asm_50fc7 + ld a, $c +.asm_50fc9 + ld [$ff00+$8d], a + ld a, $1 + ld [$ff00+$8c], a + call $34a6 + ld a, $f0 + ld [$cd6b], a + ld hl, $d7eb + set 5, [hl] + ld a, $1 + ld [$ff00+$8c], a + call $2920 + ld a, $ff + ld [$c0ee], a + call $23b1 + ld b, $2 + ld hl, $5b47 + call Bankswitch + ld a, [$cf0d] + cp $1 + jr nz, .asm_50fff ; 0x50ff8 $5 + call $5008 + jr .asm_51002 ; 0x50ffd $3 +.asm_50fff + call $500d +.asm_51002 + ld a, $3 + ld [$d60a], a + ret +; 0x51008 + +INCBIN "baserom.gbc",$51008,$5102a - $51008 + +Route22Script3: ; 0x5102a + ld a, [$d730] + bit 0, a + ret nz + xor a + ld [$cd6b], a + ld a, $22 + ld [$cc4d], a + ld a, $11 + call Predef + call $2307 + ld hl, $d7eb + res 0, [hl] + res 7, [hl] + ld a, $0 + ld [$d60a], a + ret +; 0x5104e + +INCBIN "baserom.gbc",$5104e,$127 + +Route22Texts: ; 0x51175 + dw Route22Text1, Route22Text2, Route22Text3 + +Route22Text1: ; 0x5117b + db $08 ; asm + ld a, [$d7eb] + bit 5, a + jr z, .asm_a88cf ; 0x51181 + ld hl, UnnamedText_511b2 + call PrintText + jr .asm_48088 ; 0x51189 +.asm_a88cf ; 0x5118b + ld hl, UnnamedText_511ad + call PrintText +.asm_48088 ; 0x51191 + jp TextScriptEnd + +Route22Text2: ; 0x51194 + db $08 ; asm + ld a, [$d7eb] + bit 6, a + jr z, .asm_58c0a ; 0x5119a + ld hl, UnnamedText_511c6 + call PrintText + jr .asm_673ee ; 0x511a2 +.asm_58c0a ; 0x511a4 + ld hl, UnnamedText_511c1 + call PrintText +.asm_673ee ; 0x511aa + jp TextScriptEnd + +UnnamedText_511ad: ; 0x511ad + TX_FAR _UnnamedText_511ad + db $50 +; 0x511ad + 5 bytes + +UnnamedText_511b2: ; 0x511b2 + TX_FAR _UnnamedText_511b2 + db $50 +; 0x511b2 + 5 bytes + +UnnamedText_511b7: ; 0x511b7 + TX_FAR _UnnamedText_511b7 + db $50 +; 0x511b7 + 5 bytes + +UnnamedText_511bc: ; 0x511bc + TX_FAR _UnnamedText_511bc + db $50 +; 0x511bc + 5 bytes + +UnnamedText_511c1: ; 0x511c1 + TX_FAR _UnnamedText_511c1 + db $50 +; 0x511c1 + 5 bytes + +UnnamedText_511c6: ; 0x511c6 + TX_FAR _UnnamedText_511c6 + db $50 +; 0x511c6 + 5 bytes + +UnnamedText_511cb: ; 0x511cb + TX_FAR _UnnamedText_511cb + db $50 +; 0x511cb + 5 bytes + +UnnamedText_511d0: ; 0x511d0 + TX_FAR _UnnamedText_511d0 + db $50 +; 0x511d0 + 5 bytes + +Route22Text3: ; 0x511d5 + TX_FAR _Route22Text3 + db $50 + +Route23Script: ; 0x511da + call $51e9 + call $3c3c + ld hl, Route23Scripts + ld a, [$d667] + jp $3d97 +; 0x511e9 + +INCBIN "baserom.gbc",$511e9,$51213 - $511e9 + +Route23Scripts: ; 0x51213 + dw Route23Script0 + +INCBIN "baserom.gbc",$51215,$4 + +Route23Script0: ; 0x51219 + ld hl, $5255 + ld a, [$d361] + ld b, a + ld e, $0 + ld c, $7 +.asm_51224 + ld a, [hli] + cp $ff + ret z + inc e + dec c + cp b + jr nz, .asm_51224 ; 0x5122b $f7 + cp $23 + jr nz, .asm_51237 ; 0x5122f $6 + ld a, [$d362] + cp $e + ret nc +.asm_51237 + ld a, e + ld [$ff00+$8c], a + ld a, c + ld [$cd3d], a + ld b, $2 + ld hl, $d7ed + ld a, $10 + call Predef + ld a, c + and a + ret nz + call $525d + call $2920 + xor a + ld [$ff00+$b4], a + ret +; 0x51255 + +INCBIN "baserom.gbc",$51255,$a2 + +Route23Texts: ; 0x512f7 + dw Route23Text1, Route23Text2, Route23Text3, Route23Text4, Route23Text5, Route23Text6, Route23Text7, Route23Text8 + +Route23Text1: ; 0x51307 + db $08 ; asm + ld a, $6 + call $5346 + jp TextScriptEnd + +Route23Text2: ; 0x51310 + db $08 ; asm + ld a, $5 + call $5346 + jp TextScriptEnd + +Route23Text3: ; 0x51319 + db $08 ; asm + ld a, $4 + call $5346 + jp TextScriptEnd + +Route23Text4: ; 0x51322 + db $08 ; asm + ld a, $3 + call $5346 + jp TextScriptEnd + +Route23Text5: ; 0x5132b + db $08 ; asm + ld a, $2 + call $5346 + jp TextScriptEnd + +Route23Text6: ; 0x51334 + db $08 ; asm + ld a, $1 + call $5346 + jp TextScriptEnd + +Route23Text7: ; 0x5133d + db $8 + ld a, $0 + call $5346 + jp TextScriptEnd +; 0x51346 + +INCBIN "baserom.gbc",$51346,$513a3 - $51346 + +UnnamedText_513a3: ; 0x513a3 + TX_FAR _UnnamedText_513a3 + db $50 +; 0x513a3 + 5 bytes + +Route23Text8: ; 0x513a8 + TX_FAR _Route23Text8 + db $50 + +Route24Script: ; 0x513ad + call $3c3c + ld hl, $545b + ld de, $53cb + ld a, [$d602] + call $3160 + ld [$d602], a + ret +; 0x513c0 + +INCBIN "baserom.gbc",$513c0,$8b + +Route24Texts: ; 0x5144b + dw Route24Text1, Route24Text2, Route24Text3, Route24Text4, Route24Text5, Route24Text6, Route24Text7, Route24Text8 + +TrainerHeader_5145b: ; 0x5145b + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7ef ; flag's byte + dw UnnamedText_51571 ; 0x5571 TextBeforeBattle + dw UnnamedText_5157b ; 0x557b TextAfterBattle + dw UnnamedText_51576 ; 0x5576 TextEndBattle + dw UnnamedText_51576 ; 0x5576 TextEndBattle +; 0x51467 + +TrainerHeader_51467: ; 0x51467 + db $3 ; flag's bit + db ($1 << 4) ; trainer's view range + dw $d7ef ; flag's byte + dw UnnamedText_51580 ; 0x5580 TextBeforeBattle + dw UnnamedText_5158a ; 0x558a TextAfterBattle + dw UnnamedText_51585 ; 0x5585 TextEndBattle + dw UnnamedText_51585 ; 0x5585 TextEndBattle +; 0x51473 + +TrainerHeader_51473: ; 0x51473 + db $4 ; flag's bit + db ($1 << 4) ; trainer's view range + dw $d7ef ; flag's byte + dw UnnamedText_5158f ; 0x558f TextBeforeBattle + dw UnnamedText_51599 ; 0x5599 TextAfterBattle + dw UnnamedText_51594 ; 0x5594 TextEndBattle + dw UnnamedText_51594 ; 0x5594 TextEndBattle +; 0x5147f + +TrainerHeader_5147f: ; 0x5147f + db $5 ; flag's bit + db ($1 << 4) ; trainer's view range + dw $d7ef ; flag's byte + dw UnnamedText_5159e ; 0x559e TextBeforeBattle + dw UnnamedText_515a8 ; 0x55a8 TextAfterBattle + dw UnnamedText_515a3 ; 0x55a3 TextEndBattle + dw UnnamedText_515a3 ; 0x55a3 TextEndBattle +; 0x5148b + +TrainerHeader_5148b: ; 0x5148b + db $6 ; flag's bit + db ($1 << 4) ; trainer's view range + dw $d7ef ; flag's byte + dw UnnamedText_515ad ; 0x55ad TextBeforeBattle + dw UnnamedText_515b7 ; 0x55b7 TextAfterBattle + dw UnnamedText_515b2 ; 0x55b2 TextEndBattle + dw UnnamedText_515b2 ; 0x55b2 TextEndBattle +; 0x51497 + +TrainerHeader_51497: ; 0x51497 + db $7 ; flag's bit + db ($1 << 4) ; trainer's view range + dw $d7ef ; flag's byte + dw UnnamedText_515bc ; 0x55bc TextBeforeBattle + dw UnnamedText_515c6 ; 0x55c6 TextAfterBattle + dw UnnamedText_515c1 ; 0x55c1 TextEndBattle + dw UnnamedText_515c1 ; 0x55c1 TextEndBattle +; 0x514a3 + +db $ff + +Route24Text1: ; 0x514a4 + db $8 + ld hl, $d7f0 + res 1, [hl] + ld a, [$d7ef] + bit 0, a + jr nz, .asm_a03f5 ; 0x514af $48 + ld hl, UnnamedText_51510 + call PrintText + ld bc, $3101 + call GiveItem + jr nc, .asm_3a23d ; 0x514bd $43 + ld hl, $d7ef + set 0, [hl] + ld hl, UnnamedText_5151a + call PrintText + ld hl, UnnamedText_51526 + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, UnnamedText_5152b + ld de, UnnamedText_5152b + call $3354 + ld a, [$ff00+$8c] + ld [$cf13], a + call $336a + call $32d7 + xor a + ld [$ff00+$b4], a + ld a, $3 + ld [$d602], a + ld [$da39], a + jp TextScriptEnd +.asm_a03f5 ; 0x514f9 + ld hl, UnnamedText_51530 + call PrintText + jp TextScriptEnd +.asm_3a23d ; 0x51502 + ld hl, UnnamedText_51521 + call PrintText + ld hl, $d7f0 + set 1, [hl] + jp TextScriptEnd +; 0x51510 + +UnnamedText_51510: ; 0x51510 + TX_FAR _UnnamedText_51510 ; 0x92721 + db $0B + TX_FAR _UnnamedText_51515 ; 0x92755 + db $50 +; 0x5151a + +UnnamedText_5151a: ; 0x5151a + TX_FAR _UnnamedText_5151a ; 0x92779 + db $0B, $6, $50 + +UnnamedText_51521: ; 0x51521 + TX_FAR _UnnamedText_51521 + db $50 +; 0x51521 + 5 bytes + +UnnamedText_51526: ; 0x51526 + TX_FAR _UnnamedText_51526 + db $50 +; 0x51526 + 5 bytes + +UnnamedText_5152b: ; 0x5152b + TX_FAR _UnnamedText_5152b + db $50 +; 0x5152b + 5 bytes + +UnnamedText_51530: ; 0x51530 + TX_FAR _UnnamedText_51530 + db $50 +; 0x51530 + 5 bytes + +Route24Text2: ; 0x51535 + db $08 ; asm + ld hl, TrainerHeader_5145b + call LoadTrainerHeader + jp TextScriptEnd + +Route24Text3: ; 0x5153f + db $08 ; asm + ld hl, TrainerHeader_51467 + call LoadTrainerHeader + jp TextScriptEnd + +Route24Text4: ; 0x51549 + db $08 ; asm + ld hl, TrainerHeader_51473 + call LoadTrainerHeader + jp TextScriptEnd + +Route24Text5: ; 0x51553 + db $08 ; asm + ld hl, TrainerHeader_5147f + call LoadTrainerHeader + jp TextScriptEnd + +Route24Text6: ; 0x5155d + db $08 ; asm + ld hl, TrainerHeader_5148b + call LoadTrainerHeader + jp TextScriptEnd + +Route24Text7: ; 0x51567 + db $08 ; asm + ld hl, TrainerHeader_51497 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_51571: ; 0x51571 + TX_FAR _UnnamedText_51571 + db $50 +; 0x51571 + 5 bytes + +UnnamedText_51576: ; 0x51576 + TX_FAR _UnnamedText_51576 + db $50 +; 0x51576 + 5 bytes + +UnnamedText_5157b: ; 0x5157b + TX_FAR _UnnamedText_5157b + db $50 +; 0x5157b + 5 bytes + +UnnamedText_51580: ; 0x51580 + TX_FAR _UnnamedText_51580 + db $50 +; 0x51580 + 5 bytes + +UnnamedText_51585: ; 0x51585 + TX_FAR _UnnamedText_51585 + db $50 +; 0x51585 + 5 bytes + +UnnamedText_5158a: ; 0x5158a + TX_FAR _UnnamedText_5158a + db $50 +; 0x5158a + 5 bytes + +UnnamedText_5158f: ; 0x5158f + TX_FAR _UnnamedText_5158f + db $50 +; 0x5158f + 5 bytes + +UnnamedText_51594: ; 0x51594 + TX_FAR _UnnamedText_51594 + db $50 +; 0x51594 + 5 bytes + +UnnamedText_51599: ; 0x51599 + TX_FAR _UnnamedText_51599 + db $50 +; 0x51599 + 5 bytes + +UnnamedText_5159e: ; 0x5159e + TX_FAR _UnnamedText_5159e + db $50 +; 0x5159e + 5 bytes + +UnnamedText_515a3: ; 0x515a3 + TX_FAR _UnnamedText_515a3 + db $50 +; 0x515a3 + 5 bytes + +UnnamedText_515a8: ; 0x515a8 + TX_FAR _UnnamedText_515a8 + db $50 +; 0x515a8 + 5 bytes + +UnnamedText_515ad: ; 0x515ad + TX_FAR _UnnamedText_515ad + db $50 +; 0x515ad + 5 bytes + +UnnamedText_515b2: ; 0x515b2 + TX_FAR _UnnamedText_515b2 + db $50 +; 0x515b2 + 5 bytes + +UnnamedText_515b7: ; 0x515b7 + TX_FAR _UnnamedText_515b7 + db $50 +; 0x515b7 + 5 bytes + +UnnamedText_515bc: ; 0x515bc + TX_FAR _UnnamedText_515bc + db $50 +; 0x515bc + 5 bytes + +UnnamedText_515c1: ; 0x515c1 + TX_FAR _UnnamedText_515c1 + db $50 +; 0x515c1 + 5 bytes + +UnnamedText_515c6: ; 0x515c6 + TX_FAR _UnnamedText_515c6 + db $50 +; 0x515c6 + 5 bytes + +Route25Script: ; 0x515cb + call Unknown_515e1 + call $3c3c + ld hl, Route25TrainerHeader1 + ld de, $5622 + ld a, [$d603] + call $3160 + ld [$d603], a + ret +; 0x515e1 + +Unknown_515e1: ; 0x515e1 +INCBIN "baserom.gbc",$515e1,$47 + +Route25Texts: ; 0x51628 + dw Route25Text1, Route25Text2, Route25Text3, Route25Text4, Route25Text5, Route25Text6, Route25Text7, Route25Text8, Route25Text9, Route25Text10, Route25Text11 + +Route25TrainerHeaders: +Route25TrainerHeader1: +TrainerHeader_5163e: ; 0x5163e + db $1 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7f1 ; flag's byte + dw UnnamedText_51705 ; 0x5705 TextBeforeBattle + dw UnnamedText_5170f ; 0x570f TextAfterBattle + dw UnnamedText_5170a ; 0x570a TextEndBattle + dw UnnamedText_5170a ; 0x570a TextEndBattle +; 0x5164a + +TrainerHeader_5164a: ; 0x5164a + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7f1 ; flag's byte + dw UnnamedText_51714 ; 0x5714 TextBeforeBattle + dw UnnamedText_5171e ; 0x571e TextAfterBattle + dw UnnamedText_51719 ; 0x5719 TextEndBattle + dw UnnamedText_51719 ; 0x5719 TextEndBattle +; 0x51656 + +TrainerHeader_51656: ; 0x51656 + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7f1 ; flag's byte + dw UnnamedText_51723 ; 0x5723 TextBeforeBattle + dw UnnamedText_5172d ; 0x572d TextAfterBattle + dw UnnamedText_51728 ; 0x5728 TextEndBattle + dw UnnamedText_51728 ; 0x5728 TextEndBattle +; 0x51662 + +TrainerHeader_51662: ; 0x51662 + db $4 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7f1 ; flag's byte + dw UnnamedText_51732 ; 0x5732 TextBeforeBattle + dw UnnamedText_5173c ; 0x573c TextAfterBattle + dw UnnamedText_51737 ; 0x5737 TextEndBattle + dw UnnamedText_51737 ; 0x5737 TextEndBattle +; 0x5166e + +TrainerHeader_5166e: ; 0x5166e + db $5 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7f1 ; flag's byte + dw UnnamedText_51741 ; 0x5741 TextBeforeBattle + dw UnnamedText_5174b ; 0x574b TextAfterBattle + dw UnnamedText_51746 ; 0x5746 TextEndBattle + dw UnnamedText_51746 ; 0x5746 TextEndBattle +; 0x5167a + +TrainerHeader_5167a: ; 0x5167a + db $6 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7f1 ; flag's byte + dw UnnamedText_51750 ; 0x5750 TextBeforeBattle + dw UnnamedText_5175a ; 0x575a TextAfterBattle + dw UnnamedText_51755 ; 0x5755 TextEndBattle + dw UnnamedText_51755 ; 0x5755 TextEndBattle +; 0x51686 + +TrainerHeader_51686: ; 0x51686 + db $7 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7f1 ; flag's byte + dw UnnamedText_5175f ; 0x575f TextBeforeBattle + dw UnnamedText_51769 ; 0x5769 TextAfterBattle + dw UnnamedText_51764 ; 0x5764 TextEndBattle + dw UnnamedText_51764 ; 0x5764 TextEndBattle +; 0x51692 + +TrainerHeader_51692: ; 0x51692 + db $8 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7f1 ; flag's byte + dw UnnamedText_5176e ; 0x576e TextBeforeBattle + dw UnnamedText_51778 ; 0x5778 TextAfterBattle + dw UnnamedText_51773 ; 0x5773 TextEndBattle + dw UnnamedText_51773 ; 0x5773 TextEndBattle +; 0x5169e + +TrainerHeader_5169e: ; 0x5169e + db $9 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7f1 ; flag's byte + dw UnnamedText_5177d ; 0x577d TextBeforeBattle + dw UnnamedText_51787 ; 0x5787 TextAfterBattle + dw UnnamedText_51782 ; 0x5782 TextEndBattle + dw UnnamedText_51782 ; 0x5782 TextEndBattle +; 0x516aa + +db $ff + +Route25Text1: ; 0x516ab + db $08 ; asm + ld hl, TrainerHeader_5163e + call LoadTrainerHeader + jp TextScriptEnd + +Route25Text2: ; 0x516b5 + db $08 ; asm + ld hl, TrainerHeader_5164a + call LoadTrainerHeader + jp TextScriptEnd + +Route25Text3: ; 0x516bf + db $08 ; asm + ld hl, TrainerHeader_51656 + call LoadTrainerHeader + jp TextScriptEnd + +Route25Text4: ; 0x516c9 + db $08 ; asm + ld hl, TrainerHeader_51662 + call LoadTrainerHeader + jp TextScriptEnd + +Route25Text5: ; 0x516d3 + db $08 ; asm + ld hl, TrainerHeader_5166e + call LoadTrainerHeader + jp TextScriptEnd + +Route25Text6: ; 0x516dd + db $08 ; asm + ld hl, TrainerHeader_5167a + call LoadTrainerHeader + jp TextScriptEnd + +Route25Text7: ; 0x516e7 + db $08 ; asm + ld hl, TrainerHeader_51686 + call LoadTrainerHeader + jp TextScriptEnd + +Route25Text8: ; 0x516f1 + db $08 ; asm + ld hl, TrainerHeader_51692 + call LoadTrainerHeader + jp TextScriptEnd + +Route25Text9: ; 0x516fb + db $08 ; asm + ld hl, TrainerHeader_5169e + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_51705: ; 0x51705 + TX_FAR _UnnamedText_51705 + db $50 +; 0x51705 + 5 bytes + +UnnamedText_5170a: ; 0x5170a + TX_FAR _UnnamedText_5170a + db $50 +; 0x5170a + 5 bytes + +UnnamedText_5170f: ; 0x5170f + TX_FAR _UnnamedText_5170f + db $50 +; 0x5170f + 5 bytes + +UnnamedText_51714: ; 0x51714 + TX_FAR _UnnamedText_51714 + db $50 +; 0x51714 + 5 bytes + +UnnamedText_51719: ; 0x51719 + TX_FAR _UnnamedText_51719 + db $50 +; 0x51719 + 5 bytes + +UnnamedText_5171e: ; 0x5171e + TX_FAR _UnnamedText_5171e + db $50 +; 0x5171e + 5 bytes + +UnnamedText_51723: ; 0x51723 + TX_FAR _UnnamedText_51723 + db $50 +; 0x51723 + 5 bytes + +UnnamedText_51728: ; 0x51728 + TX_FAR _UnnamedText_51728 + db $50 +; 0x51728 + 5 bytes + +UnnamedText_5172d: ; 0x5172d + TX_FAR _UnnamedText_5172d + db $50 +; 0x5172d + 5 bytes + +UnnamedText_51732: ; 0x51732 + TX_FAR _UnnamedText_51732 + db $50 +; 0x51732 + 5 bytes + +UnnamedText_51737: ; 0x51737 + TX_FAR _UnnamedText_51737 + db $50 +; 0x51737 + 5 bytes + +UnnamedText_5173c: ; 0x5173c + TX_FAR _UnnamedText_5173c + db $50 +; 0x5173c + 5 bytes + +UnnamedText_51741: ; 0x51741 + TX_FAR _UnnamedText_51741 + db $50 +; 0x51741 + 5 bytes + +UnnamedText_51746: ; 0x51746 + TX_FAR _UnnamedText_51746 + db $50 +; 0x51746 + 5 bytes + +UnnamedText_5174b: ; 0x5174b + TX_FAR _UnnamedText_5174b + db $50 +; 0x5174b + 5 bytes + +UnnamedText_51750: ; 0x51750 + TX_FAR _UnnamedText_51750 + db $50 +; 0x51750 + 5 bytes + +UnnamedText_51755: ; 0x51755 + TX_FAR _UnnamedText_51755 + db $50 +; 0x51755 + 5 bytes + +UnnamedText_5175a: ; 0x5175a + TX_FAR _UnnamedText_5175a + db $50 +; 0x5175a + 5 bytes + +UnnamedText_5175f: ; 0x5175f + TX_FAR _UnnamedText_5175f + db $50 +; 0x5175f + 5 bytes + +UnnamedText_51764: ; 0x51764 + TX_FAR _UnnamedText_51764 + db $50 +; 0x51764 + 5 bytes + +UnnamedText_51769: ; 0x51769 + TX_FAR _UnnamedText_51769 + db $50 +; 0x51769 + 5 bytes + +UnnamedText_5176e: ; 0x5176e + TX_FAR _UnnamedText_5176e + db $50 +; 0x5176e + 5 bytes + +UnnamedText_51773: ; 0x51773 + TX_FAR _UnnamedText_51773 + db $50 +; 0x51773 + 5 bytes + +UnnamedText_51778: ; 0x51778 + TX_FAR _UnnamedText_51778 + db $50 +; 0x51778 + 5 bytes + +UnnamedText_5177d: ; 0x5177d + TX_FAR _UnnamedText_5177d + db $50 +; 0x5177d + 5 bytes + +UnnamedText_51782: ; 0x51782 + TX_FAR _UnnamedText_51782 + db $50 +; 0x51782 + 5 bytes + +UnnamedText_51787: ; 0x51787 + TX_FAR _UnnamedText_51787 + db $50 +; 0x51787 + 5 bytes + +Route25Text11: ; 0x5178c + TX_FAR _Route25Text11 + db $50 + +VictoryRoad2_h: ; 0x51791 to 0x5179d (12 bytes) (id=194) + db $11 ; tileset + db VICTORY_ROAD_2_HEIGHT, VICTORY_ROAD_2_WIDTH ; dimensions (y, x) + dw VictoryRoad2Blocks, VictoryRoad2Texts, VictoryRoad2Script ; blocks, texts, scripts + db $00 ; connections + + dw VictoryRoad2Object ; objects + +VictoryRoad2Script: ; 0x5179d + ld hl, $d126 + bit 6, [hl] + res 6, [hl] + call nz, VictoryRoad2Script_Unknown517c4 + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + call nz, $57c9 + call $3c3c + ld hl, VictoryRoad2TrainerHeaders + ld de, $57eb + ld a, [$d63f] + call $3160 + ld [$d63f], a + ret +; 0x517c4 + +VictoryRoad2Script_Unknown517c4: ; 0x517c4 +INCBIN "baserom.gbc",$517c4,$57 + +VictoryRoad2Texts: ; 0x5181b + dw VictoryRoad2Text1, VictoryRoad2Text2, VictoryRoad2Text3, VictoryRoad2Text4, VictoryRoad2Text5, VictoryRoad2Text6, VictoryRoad2Text7, VictoryRoad2Text8, VictoryRoad2Text9, VictoryRoad2Text10, VictoryRoad2Text11, VictoryRoad2Text12, VictoryRoad2Text13 + +VictoryRoad2TrainerHeaders: +TrainerHeader_51835: ; 0x51835 + db $1 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7ee ; flag's byte + dw UnnamedText_518ca ; 0x58ca TextBeforeBattle + dw UnnamedText_518d4 ; 0x58d4 TextAfterBattle + dw UnnamedText_518cf ; 0x58cf TextEndBattle + dw UnnamedText_518cf ; 0x58cf TextEndBattle +; 0x51841 + +TrainerHeader_51841: ; 0x51841 + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7ee ; flag's byte + dw UnnamedText_518d9 ; 0x58d9 TextBeforeBattle + dw UnnamedText_518e3 ; 0x58e3 TextAfterBattle + dw UnnamedText_518de ; 0x58de TextEndBattle + dw UnnamedText_518de ; 0x58de TextEndBattle +; 0x5184d + +TrainerHeader_5184d: ; 0x5184d + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7ee ; flag's byte + dw UnnamedText_518e8 ; 0x58e8 TextBeforeBattle + dw UnnamedText_518f2 ; 0x58f2 TextAfterBattle + dw UnnamedText_518ed ; 0x58ed TextEndBattle + dw UnnamedText_518ed ; 0x58ed TextEndBattle +; 0x51859 + +TrainerHeader_51859: ; 0x51859 + db $4 ; flag's bit + db ($1 << 4) ; trainer's view range + dw $d7ee ; flag's byte + dw UnnamedText_518f7 ; 0x58f7 TextBeforeBattle + dw UnnamedText_51901 ; 0x5901 TextAfterBattle + dw UnnamedText_518fc ; 0x58fc TextEndBattle + dw UnnamedText_518fc ; 0x58fc TextEndBattle +; 0x51865 + +TrainerHeader_51865: ; 0x51865 + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7ee ; flag's byte + dw UnnamedText_51906 ; 0x5906 TextBeforeBattle + dw UnnamedText_51910 ; 0x5910 TextAfterBattle + dw UnnamedText_5190b ; 0x590b TextEndBattle + dw UnnamedText_5190b ; 0x590b TextEndBattle +; 0x51871 + +TrainerHeader_51871: ; 0x51871 + db $6 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d7ee ; flag's byte + dw UnnamedText_518ba ; 0x58ba TextBeforeBattle + dw UnnamedText_518ba ; 0x58ba TextAfterBattle + dw UnnamedText_518ba ; 0x58ba TextEndBattle + dw UnnamedText_518ba ; 0x58ba TextEndBattle +; 0x5187d + +db $ff + +VictoryRoad2Text1: ; 0x5187e + db $08 ; asm + ld hl, TrainerHeader_51835 + call LoadTrainerHeader + jp TextScriptEnd + +VictoryRoad2Text2: ; 0x51888 + db $08 ; asm + ld hl, TrainerHeader_51841 + call LoadTrainerHeader + jp TextScriptEnd + +VictoryRoad2Text3: ; 0x51892 + db $08 ; asm + ld hl, TrainerHeader_5184d + call LoadTrainerHeader + jp TextScriptEnd + +VictoryRoad2Text4: ; 0x5189c + db $08 ; asm + ld hl, TrainerHeader_51859 + call LoadTrainerHeader + jp TextScriptEnd + +VictoryRoad2Text5: ; 0x518a6 + db $08 ; asm + ld hl, TrainerHeader_51865 + call LoadTrainerHeader + jp TextScriptEnd + +VictoryRoad2Text6: ; 0x518b0 + db $08 ; asm + ld hl, TrainerHeader_51871 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_518ba: ; 0x518ba + TX_FAR _UnnamedText_518ba ; 0x8d06e + db $8 + ld a, $49 + call $13d0 + call $3748 + jp TextScriptEnd +; 0x518ca + +UnnamedText_518ca: ; 0x518ca + TX_FAR _UnnamedText_518ca + db $50 +; 0x518ca + 5 bytes + +UnnamedText_518cf: ; 0x518cf + TX_FAR _UnnamedText_518cf + db $50 +; 0x518cf + 5 bytes + +UnnamedText_518d4: ; 0x518d4 + TX_FAR _UnnamedText_518d4 + db $50 +; 0x518d4 + 5 bytes + +UnnamedText_518d9: ; 0x518d9 + TX_FAR _UnnamedText_518d9 + db $50 +; 0x518d9 + 5 bytes + +UnnamedText_518de: ; 0x518de + TX_FAR _UnnamedText_518de + db $50 +; 0x518de + 5 bytes + +UnnamedText_518e3: ; 0x518e3 + TX_FAR _UnnamedText_518e3 + db $50 +; 0x518e3 + 5 bytes + +UnnamedText_518e8: ; 0x518e8 + TX_FAR _UnnamedText_518e8 + db $50 +; 0x518e8 + 5 bytes + +UnnamedText_518ed: ; 0x518ed + TX_FAR _UnnamedText_518ed + db $50 +; 0x518ed + 5 bytes + +UnnamedText_518f2: ; 0x518f2 + TX_FAR _UnnamedText_518f2 + db $50 +; 0x518f2 + 5 bytes + +UnnamedText_518f7: ; 0x518f7 + TX_FAR _UnnamedText_518f7 + db $50 +; 0x518f7 + 5 bytes + +UnnamedText_518fc: ; 0x518fc + TX_FAR _UnnamedText_518fc + db $50 +; 0x518fc + 5 bytes + +UnnamedText_51901: ; 0x51901 + TX_FAR _UnnamedText_51901 + db $50 +; 0x51901 + 5 bytes + +UnnamedText_51906: ; 0x51906 + TX_FAR _UnnamedText_51906 + db $50 +; 0x51906 + 5 bytes + +UnnamedText_5190b: ; 0x5190b + TX_FAR _UnnamedText_5190b + db $50 +; 0x5190b + 5 bytes + +UnnamedText_51910: ; 0x51910 + TX_FAR _UnnamedText_51910 + db $50 +; 0x51910 + 5 bytes + +VictoryRoad2Object: ; 0x51915 (size=154) + db $7d ; border tile + + db $7 ; warps + db $8, $0, $2, VICTORY_ROAD_1 + db $7, $1d, $3, $ff + db $8, $1d, $3, $ff + db $7, $17, $0, VICTORY_ROAD_3 + db $e, $19, $2, VICTORY_ROAD_3 + db $7, $1b, $1, VICTORY_ROAD_3 + db $1, $1, $3, VICTORY_ROAD_3 + + db $0 ; signs + + db $d ; people + db SPRITE_HIKER, $9 + 4, $c + 4, $ff, $d2, $41, BLACKBELT + $C8, $9 ; trainer + db SPRITE_BLACK_HAIR_BOY_2, $d + 4, $15 + 4, $ff, $d2, $42, JUGGLER + $C8, $2 ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $8 + 4, $13 + 4, $ff, $d0, $43, TAMER + $C8, $5 ; trainer + db SPRITE_BLACK_HAIR_BOY_2, $2 + 4, $4 + 4, $ff, $d0, $44, POKEMANIAC + $C8, $6 ; trainer + db SPRITE_BLACK_HAIR_BOY_2, $3 + 4, $1a + 4, $ff, $d2, $45, JUGGLER + $C8, $5 ; trainer + db SPRITE_BIRD, $5 + 4, $b + 4, $ff, $d1, $46, MOLTRES, $32 ; trainer + db SPRITE_BALL, $5 + 4, $1b + 4, $ff, $ff, $87, TM_17 ; item + db SPRITE_BALL, $9 + 4, $12 + 4, $ff, $ff, $88, FULL_HEAL ; item + db SPRITE_BALL, $b + 4, $9 + 4, $ff, $ff, $89, TM_05 ; item + db SPRITE_BALL, $0 + 4, $b + 4, $ff, $ff, $8a, GUARD_SPEC_ ; item + db SPRITE_BOULDER, $e + 4, $4 + 4, $ff, $10, $b ; person + db SPRITE_BOULDER, $5 + 4, $5 + 4, $ff, $10, $c ; person + db SPRITE_BOULDER, $10 + 4, $17 + 4, $ff, $10, $d ; person + + ; warp-to + EVENT_DISP $f, $8, $0 ; VICTORY_ROAD_1 + EVENT_DISP $f, $7, $1d + EVENT_DISP $f, $8, $1d + EVENT_DISP $f, $7, $17 ; VICTORY_ROAD_3 + EVENT_DISP $f, $e, $19 ; VICTORY_ROAD_3 + EVENT_DISP $f, $7, $1b ; VICTORY_ROAD_3 + EVENT_DISP $f, $1, $1 ; VICTORY_ROAD_3 + +VictoryRoad2Blocks: ; 0x519af 135 + INCBIN "maps/victoryroad2.blk" + +MtMoon2_h: ; 0x51a36 to 0x51a42 (12 bytes) (id=60) + db $11 ; tileset + db MT_MOON_2_HEIGHT, MT_MOON_2_WIDTH ; dimensions (y, x) + dw MtMoon2Blocks, MtMoon2Texts, MtMoon2Script ; blocks, texts, scripts + db $00 ; connections + + dw MtMoon2Object ; objects + +MtMoon2Script: ; 0x51a42 + call $3c3c + ret +; 0x51a46 + +MtMoon2Texts: + dw MtMoonText1 + +MtMoonText1: ; 0x51a48 + TX_FAR _UnnamedText_51a48 + db $50 +; 0x51a48 + 5 bytes + +MtMoon2Object: ; 0x51a4d (size=68) + db $3 ; border tile + + db $8 ; warps + db $5, $5, $2, MT_MOON_1 + db $b, $11, $0, MT_MOON_3 + db $9, $19, $3, MT_MOON_1 + db $f, $19, $4, MT_MOON_1 + db $11, $15, $1, MT_MOON_3 + db $1b, $d, $2, MT_MOON_3 + db $3, $17, $3, MT_MOON_3 + db $3, $1b, $2, $ff + + db $0 ; signs + + db $0 ; people + + ; warp-to + EVENT_DISP $e, $5, $5 ; MT_MOON_1 + EVENT_DISP $e, $b, $11 ; MT_MOON_3 + EVENT_DISP $e, $9, $19 ; MT_MOON_1 + EVENT_DISP $e, $f, $19 ; MT_MOON_1 + EVENT_DISP $e, $11, $15 ; MT_MOON_3 + EVENT_DISP $e, $1b, $d ; MT_MOON_3 + EVENT_DISP $e, $3, $17 ; MT_MOON_3 + EVENT_DISP $e, $3, $1b + +MtMoon2Blocks: ; 0x51a91 196 + INCBIN "maps/mtmoon2.blk" + +SilphCo7_h: ; 0x51b55 to 0x51b61 (12 bytes) (id=212) + db $16 ; tileset + db SILPH_CO_7F_HEIGHT, SILPH_CO_7F_WIDTH ; dimensions (y, x) + dw SilphCo7Blocks, SilphCo7Texts, SilphCo7Script ; blocks, texts, scripts + db $00 ; connections + + dw SilphCo7Object ; objects + +SilphCo7Script: ; 0x51b61 + call SilphCo7Script_Unknown51b77 + call $3c3c + ld hl, SilphCo7TrainerHeaders + ld de, $5c17 + ld a, [$d648] + call $3160 + ld [$d648], a + ret +; 0x51b77 + +SilphCo7Script_Unknown51b77: ; 0x5177 +INCBIN "baserom.gbc",$51b77,$1c8 + +SilphCo7Texts: ; 0x51d3f + dw SilphCo7Text1, SilphCo7Text2, SilphCo7Text3, SilphCo7Text4, SilphCo7Text5, SilphCo7Text6, SilphCo7Text7, SilphCo7Text8, SilphCo7Text9, SilphCo7Text10, SilphCo7Text11, SilphCo7Text12, SilphCo7Text13, SilphCo7Text14, SilphCo7Text15 + +SilphCo7TrainerHeaders: +TrainerHeader_51d5d: ; 0x51d5d + db $5 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d82f ; flag's byte + dw UnnamedText_51e5a ; 0x5e5a TextBeforeBattle + dw UnnamedText_51e64 ; 0x5e64 TextAfterBattle + dw UnnamedText_51e5f ; 0x5e5f TextEndBattle + dw UnnamedText_51e5f ; 0x5e5f TextEndBattle +; 0x51d69 + +TrainerHeader_51d69: ; 0x51d69 + db $6 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d82f ; flag's byte + dw UnnamedText_51e73 ; 0x5e73 TextBeforeBattle + dw UnnamedText_51e7d ; 0x5e7d TextAfterBattle + dw UnnamedText_51e78 ; 0x5e78 TextEndBattle + dw UnnamedText_51e78 ; 0x5e78 TextEndBattle +; 0x51d75 + +TrainerHeader_51d75: ; 0x51d75 + db $7 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d82f ; flag's byte + dw UnnamedText_51e8c ; 0x5e8c TextBeforeBattle + dw UnnamedText_51e96 ; 0x5e96 TextAfterBattle + dw UnnamedText_51e91 ; 0x5e91 TextEndBattle + dw UnnamedText_51e91 ; 0x5e91 TextEndBattle +; 0x51d81 + +TrainerHeader_51d81: ; 0x51d81 + db $8 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d82f ; flag's byte + dw UnnamedText_51ea5 ; 0x5ea5 TextBeforeBattle + dw UnnamedText_51eaf ; 0x5eaf TextAfterBattle + dw UnnamedText_51eaa ; 0x5eaa TextEndBattle + dw UnnamedText_51eaa ; 0x5eaa TextEndBattle +; 0x51d8d + +db $ff + +SilphCo7Text1: ; 0x51d8e + db $08 ; asm + ld a, [$d72e] + bit 0, a + jr z, .asm_d7e17 ; 0x51d94 + ld a, [$d838] + bit 7, a + jr nz, .asm_688b4 ; 0x51d9b + ld hl, UnnamedText_51ddd + call PrintText + jr .asm_b3069 ; 0x51da3 +.asm_d7e17 ; 0x51da5 + ld hl, UnnamedText_51dd3 + call PrintText + ld bc, (LAPRAS << 8) | 15 + call GivePokemon + jr nc, .asm_b3069 ; 0x51db1 + ld a, [$ccd3] + and a + call z, $3865 + call $3c3c + ld hl, UnnamedText_51dd8 + call PrintText + ld hl, $d72e + set 0, [hl] + jr .asm_b3069 ; 0x51dc8 +.asm_688b4 ; 0x51dca + ld hl, UnnamedText_51de2 + call PrintText +.asm_b3069 ; 0x51dd0 + jp TextScriptEnd + +UnnamedText_51dd3: ; 0x51dd3 + TX_FAR _UnnamedText_51dd3 + db $50 +; 0x51dd3 + 5 bytes + +UnnamedText_51dd8: ; 0x51dd8 + TX_FAR _UnnamedText_51dd8 + db $50 +; 0x51dd8 + 5 bytes + +UnnamedText_51ddd: ; 0x51ddd + TX_FAR _UnnamedText_51ddd + db $50 +; 0x51ddd + 5 bytes + +UnnamedText_51de2: ; 0x51de2 + TX_FAR _UnnamedText_51de2 + db $50 +; 0x51de2 + 5 bytes + +SilphCo7Text2: ; 0x51de7 + db $8 + ld a, [$d838] + bit 7, a + jr nz, .asm_892ce ; 0x51ded $8 + ld hl, UnnamedText_51e00 + call PrintText + jr .asm_e4d89 ; 0x51df5 $6 +.asm_892ce ; 0x51df7 + ld hl, UnnamedText_51e05 + call PrintText +.asm_e4d89 ; 0x51dfd + jp TextScriptEnd +; 0x51e00 + +UnnamedText_51e00: ; 0x51e00 + TX_FAR _UnnamedText_51e00 + db $50 +; 0x51e00 + 5 bytes + +UnnamedText_51e05: ; 0x51e05 + TX_FAR _UnnamedText_51e05 + db $50 +; 0x51e05 + 5 bytes + +SilphCo7Text3: ; 0x51e0a + db $08 ; asm + ld a, [$d838] + bit 7, a + jr nz, .asm_254aa ; 0x51e10 + ld hl, UnnamedText_51e23 + call PrintText + jr .asm_6472b ; 0x51e18 +.asm_254aa ; 0x51e1a + ld hl, UnnamedText_51e28 + call PrintText +.asm_6472b ; 0x51e20 + jp TextScriptEnd + +UnnamedText_51e23: ; 0x51e23 + TX_FAR _UnnamedText_51e23 + db $50 +; 0x51e23 + 5 bytes + +UnnamedText_51e28: ; 0x51e28 + TX_FAR _UnnamedText_51e28 + db $50 +; 0x51e28 + 5 bytes + +SilphCo7Text4: ; 0x51e2d + db $08 ; asm + ld a, [$d838] + bit 7, a + jr nz, .asm_0f7ee ; 0x51e33 + ld hl, UnnamedText_51e46 + call PrintText + jr .asm_27a32 ; 0x51e3b +.asm_0f7ee ; 0x51e3d + ld hl, UnnamedText_51e4b + call PrintText +.asm_27a32 ; 0x51e43 + jp TextScriptEnd + +UnnamedText_51e46: ; 0x51e46 + TX_FAR _UnnamedText_51e46 + db $50 +; 0x51e46 + 5 bytes + +UnnamedText_51e4b: ; 0x51e4b + TX_FAR _UnnamedText_51e4b + db $50 +; 0x51e4b + 5 bytes + +SilphCo7Text5: ; 0x51e50 + db $08 ; asm + ld hl, TrainerHeader_51d5d + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_51e5a: ; 0x51e5a + TX_FAR _UnnamedText_51e5a + db $50 +; 0x51e5a + 5 bytes + +UnnamedText_51e5f: ; 0x51e5f + TX_FAR _UnnamedText_51e5f + db $50 +; 0x51e5f + 5 bytes + +UnnamedText_51e64: ; 0x51e64 + TX_FAR _UnnamedText_51e64 + db $50 +; 0x51e64 + 5 bytes + +SilphCo7Text6: ; 0x51e69 + db $08 ; asm + ld hl, TrainerHeader_51d69 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_51e73: ; 0x51e73 + TX_FAR _UnnamedText_51e73 + db $50 +; 0x51e73 + 5 bytes + +UnnamedText_51e78: ; 0x51e78 + TX_FAR _UnnamedText_51e78 + db $50 +; 0x51e78 + 5 bytes + +UnnamedText_51e7d: ; 0x51e7d + TX_FAR _UnnamedText_51e7d + db $50 +; 0x51e7d + 5 bytes + +SilphCo7Text7: ; 0x51e82 + db $08 ; asm + ld hl, TrainerHeader_51d75 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_51e8c: ; 0x51e8c + TX_FAR _UnnamedText_51e8c + db $50 +; 0x51e8c + 5 bytes + +UnnamedText_51e91: ; 0x51e91 + TX_FAR _UnnamedText_51e91 + db $50 +; 0x51e91 + 5 bytes + +UnnamedText_51e96: ; 0x51e96 + TX_FAR _UnnamedText_51e96 + db $50 +; 0x51e96 + 5 bytes + +SilphCo7Text8: ; 0x51e9b + db $08 ; asm + ld hl, TrainerHeader_51d81 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_51ea5: ; 0x51ea5 + TX_FAR _UnnamedText_51ea5 + db $50 +; 0x51ea5 + 5 bytes + +UnnamedText_51eaa: ; 0x51eaa + TX_FAR _UnnamedText_51eaa + db $50 +; 0x51eaa + 5 bytes + +UnnamedText_51eaf: ; 0x51eaf + TX_FAR _UnnamedText_51eaf + db $50 +; 0x51eaf + 5 bytes + +SilphCo7Text9: ; 0x51eb4 + db $08 ; asm + ld hl, UnnamedText_51ebe + call PrintText + jp TextScriptEnd + +UnnamedText_51ebe: ; 0x51ebe + TX_FAR _UnnamedText_51ebe + db $50 +; 0x51ebe + 5 bytes + +SilphCo7Text13: ; 0x51ec3 + TX_FAR _UnnamedText_51ec3 + db $50 +; 0x51ec3 + 5 bytes + +SilphCo7Text14: ; 0x51ec8 + TX_FAR _UnnamedText_51ec8 + db $50 +; 0x51ec8 + 5 bytes + +UnnamedText_51ecd: ; 0x51ecd + TX_FAR _UnnamedText_51ecd + db $50 +; 0x51ecd + 5 bytes + +SilphCo7Text15: ; 0x51ed2 + TX_FAR _UnnamedText_51ed2 + db $50 +; 0x51ed2 + 5 bytes + +SilphCo7Object: ; 0x51ed7 (size=128) + db $2e ; border tile + + db $6 ; warps + db $0, $10, $1, SILPH_CO_8F + db $0, $16, $0, SILPH_CO_6F + db $0, $12, $0, SILPH_CO_ELEVATOR + db $7, $5, $3, SILPH_CO_11F + db $3, $5, $8, SILPH_CO_3F + db $f, $15, $3, SILPH_CO_5F + + db $0 ; signs + + db $b ; people + db SPRITE_LAPRAS_GIVER, $5 + 4, $1 + 4, $ff, $ff, $1 ; person + db SPRITE_LAPRAS_GIVER, $d + 4, $d + 4, $ff, $d1, $2 ; person + db SPRITE_LAPRAS_GIVER, $a + 4, $7 + 4, $ff, $ff, $3 ; person + db SPRITE_ERIKA, $8 + 4, $a + 4, $ff, $ff, $4 ; person + db SPRITE_ROCKET, $1 + 4, $d + 4, $ff, $d0, $45, ROCKET + $C8, $20 ; trainer + db SPRITE_OAK_AIDE, $d + 4, $2 + 4, $ff, $d0, $46, SCIENTIST + $C8, $8 ; trainer + db SPRITE_ROCKET, $2 + 4, $14 + 4, $ff, $d2, $47, ROCKET + $C8, $21 ; trainer + db SPRITE_ROCKET, $e + 4, $13 + 4, $ff, $d3, $48, ROCKET + $C8, $22 ; trainer + db SPRITE_BLUE, $7 + 4, $3 + 4, $ff, $d1, $9 ; person + db SPRITE_BALL, $9 + 4, $1 + 4, $ff, $ff, $8a, CALCIUM ; item + db SPRITE_BALL, $b + 4, $18 + 4, $ff, $ff, $8b, TM_03 ; item + + ; warp-to + EVENT_DISP $d, $0, $10 ; SILPH_CO_8F + EVENT_DISP $d, $0, $16 ; SILPH_CO_6F + EVENT_DISP $d, $0, $12 ; SILPH_CO_ELEVATOR + EVENT_DISP $d, $7, $5 ; SILPH_CO_11F + EVENT_DISP $d, $3, $5 ; SILPH_CO_3F + EVENT_DISP $d, $f, $15 ; SILPH_CO_5F + +SilphCo7Blocks: ; 0x51f57 117 + INCBIN "maps/silphco7.blk" + +Mansion2_h: ; 0x51fcc to 0x51fd8 (12 bytes) (id=214) + db $16 ; tileset + db MANSION_2_HEIGHT, MANSION_2_WIDTH ; dimensions (y, x) + dw Mansion2Blocks, Mansion2Texts, Mansion2Script ; blocks, texts, scripts + db $00 ; connections + + dw Mansion2Object ; objects + +Mansion2Script: + call Mansion2Script_Unknown51fee + call $3c3c + ld hl, Mansion2TrainerHeaders + ld de, $6047 + ld a, [$d63c] + call $3160 + ld [$d63c], a + ret +; 0x51fee + +Mansion2Script_Unknown51fee: ; 0x51fee +INCBIN "baserom.gbc",$51fee,$5204d - $51fee + +Mansion2Texts: ; 0x5204d + dw Mansion2Text1, Mansion2Text2, Mansion2Text3, Mansion2Text4, Mansion2Text5 + +Mansion2TrainerHeaders: +Mansion2TrainerHeader1: ; 0x52057 + db $1 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d847 ; flag's byte + dw UnnamedText_5206e ; 0x606e TextBeforeBattle + dw UnnamedText_52078 ; 0x6078 TextAfterBattle + dw UnnamedText_52073 ; 0x6073 TextEndBattle + dw UnnamedText_52073 ; 0x6073 TextEndBattle +; 0x52063 + +db $ff + +Mansion2Text1: ; 0x52064 + db $08 ; asm + ld hl, Mansion2TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_5206e: ; 0x5206e + TX_FAR _UnnamedText_5206e + db $50 +; 0x5206e + 5 bytes + +UnnamedText_52073: ; 0x52073 + TX_FAR _UnnamedText_52073 + db $50 +; 0x52073 + 5 bytes + +UnnamedText_52078: ; 0x52078 + TX_FAR _UnnamedText_52078 + db $50 +; 0x52078 + 5 bytes + +Mansion2Text3: ; 0x5207d + TX_FAR _Mansion2Text3 + db $50 + +Mansion2Text4: ; 0x52082 + TX_FAR _Mansion2Text4 + db $50 + +Mansion3Text6: +Mansion2Text5: ; 0x52087 + db $8 + ld hl, UnnamedText_520c2 + call PrintText + call $35ec + ld a, [$cc26] + and a + jr nz, .asm_520b9 ; 0x52095 $22 + ld a, $1 + ld [$cc3c], a + ld hl, $d126 + set 5, [hl] + ld hl, UnnamedText_520c7 + call PrintText + ld a, $ad + call $23b1 + ld hl, $d796 + bit 0, [hl] + set 0, [hl] + jr z, .asm_520bf ; 0x520b3 $a + res 0, [hl] + jr .asm_520bf ; 0x520b7 $6 +.asm_520b9 + ld hl, UnnamedText_520cc + call PrintText +.asm_520bf + jp TextScriptEnd +; 0x520c2 + +UnnamedText_520c2: ; 0x520c2 + TX_FAR _UnnamedText_520c2 + db $50 +; 0x520c2 + 5 bytes + +UnnamedText_520c7: ; 0x520c7 + TX_FAR _UnnamedText_520c7 + db $50 +; 0x520c7 + 5 bytes + +UnnamedText_520cc: ; 0x520cc + TX_FAR _UnnamedText_520cc + db $50 +; 0x520cc + 5 bytes + +Mansion2Object: ; 0x520d1 (size=63) + db $1 ; border tile + + db $4 ; warps + db $a, $5, $4, MANSION_1 + db $a, $7, $0, MANSION_3 + db $e, $19, $2, MANSION_3 + db $1, $6, $1, MANSION_3 + + db $0 ; signs + + db $4 ; people + db SPRITE_BLACK_HAIR_BOY_2, $11 + 4, $3 + 4, $fe, $2, $41, BURGLAR + $C8, $7 ; trainer + db SPRITE_BALL, $7 + 4, $1c + 4, $ff, $ff, $82, CALCIUM ; item + db SPRITE_BOOK_MAP_DEX, $2 + 4, $12 + 4, $ff, $ff, $3 ; person + db SPRITE_BOOK_MAP_DEX, $16 + 4, $3 + 4, $ff, $ff, $4 ; person + + ; warp-to + EVENT_DISP $f, $a, $5 ; MANSION_1 + EVENT_DISP $f, $a, $7 ; MANSION_3 + EVENT_DISP $f, $e, $19 ; MANSION_3 + EVENT_DISP $f, $1, $6 ; MANSION_3 + +Mansion2Blocks: + INCBIN "maps/mansion2.blk" + +Mansion3_h: ; 0x521e2 to 0x521ee (12 bytes) (id=215) + db $16 ; tileset + db MANSION_3_HEIGHT, MANSION_3_WIDTH ; dimensions (y, x) + dw Mansion3Blocks, Mansion3Texts, Mansion3Script ; blocks, texts, scripts + db $00 ; connections + + dw Mansion3Object ; objects + +Mansion3Script: + call Unnamed_52204 + call $3c3c + ld hl, Mansion3TrainerHeader1 + ld de, $6235 + ld a, [$d63d] + call $3160 + ld [$d63d], a + ret +; 0x52204 + +Unnamed_52204: ; 0x52204 +INCBIN "baserom.gbc",$52204,$5228a - $52204 + +Mansion3Texts: ; 0x5228a + dw Mansion3Text1, Mansion3Text2, Mansion3Text3, Mansion3Text4, Mansion3Text5, Mansion3Text6 + +Mansion3TrainerHeaders: +Mansion3TrainerHeader1: ; 0x52296 + db $1 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d849 ; flag's byte + dw UnnamedText_522c3 ; 0x62c3 TextBeforeBattle + dw UnnamedText_522cd ; 0x62cd TextAfterBattle + dw UnnamedText_522c8 ; 0x62c8 TextEndBattle + dw UnnamedText_522c8 ; 0x62c8 TextEndBattle +; 0x522a2 + +TrainerHeader_522a2: ; 0x522a2 + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d849 ; flag's byte + dw UnnamedText_522d2 ; 0x62d2 TextBeforeBattle + dw UnnamedText_522dc ; 0x62dc TextAfterBattle + dw UnnamedText_522d7 ; 0x62d7 TextEndBattle + dw UnnamedText_522d7 ; 0x62d7 TextEndBattle +; 0x522ae + +db $ff + +Mansion3Text1: ; 0x522af + db $08 ; asm + ld hl, Mansion3TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +Mansion3Text2: ; 0x522b9 + db $08 ; asm + ld hl, TrainerHeader_522a2 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_522c3: ; 0x522c3 + TX_FAR _UnnamedText_522c3 + db $50 +; 0x522c3 + 5 bytes + +UnnamedText_522c8: ; 0x522c8 + TX_FAR _UnnamedText_522c8 + db $50 +; 0x522c8 + 5 bytes + +UnnamedText_522cd: ; 0x522cd + TX_FAR _UnnamedText_522cd + db $50 +; 0x522cd + 5 bytes + +UnnamedText_522d2: ; 0x522d2 + TX_FAR _UnnamedText_522d2 + db $50 +; 0x522d2 + 5 bytes + +UnnamedText_522d7: ; 0x522d7 + TX_FAR _UnnamedText_522d7 + db $50 +; 0x522d7 + 5 bytes + +UnnamedText_522dc: ; 0x522dc + TX_FAR _UnnamedText_522dc + db $50 +; 0x522dc + 5 bytes + +Mansion3Text5: ; 0x522e1 + TX_FAR _Mansion3Text5 + db $50 + +Mansion3Object: ; 0x522e6 (size=64) + db $1 ; border tile + + db $3 ; warps + db $a, $7, $1, MANSION_2 + db $1, $6, $3, MANSION_2 + db $e, $19, $2, MANSION_2 + + db $0 ; signs + + db $5 ; people + db SPRITE_BLACK_HAIR_BOY_2, $b + 4, $5 + 4, $fe, $2, $41, BURGLAR + $C8, $8 ; trainer + db SPRITE_OAK_AIDE, $b + 4, $14 + 4, $ff, $d2, $42, SCIENTIST + $C8, $c ; trainer + db SPRITE_BALL, $10 + 4, $1 + 4, $ff, $ff, $83, MAX_POTION ; item + db SPRITE_BALL, $5 + 4, $19 + 4, $ff, $ff, $84, IRON ; item + db SPRITE_BOOK_MAP_DEX, $c + 4, $6 + 4, $ff, $ff, $5 ; person + + ; warp-to + EVENT_DISP $f, $a, $7 ; MANSION_2 + EVENT_DISP $f, $1, $6 ; MANSION_2 + EVENT_DISP $f, $e, $19 ; MANSION_2 + +Mansion3Blocks: + INCBIN "maps/mansion3.blk" + +Mansion4_h: ; 0x523ad to 0x523b9 (12 bytes) (id=216) + db $16 ; tileset + db MANSION_4_HEIGHT, MANSION_4_WIDTH ; dimensions (y, x) + dw Mansion4Blocks, Mansion4Texts, Mansion4Script ; blocks, texts, scripts + db $00 ; connections + + dw Mansion4Object ; objects + +Mansion4Script: ; 0x523b9 + call Unknown_523cf + call $3c3c + ld hl, Mansion4TrainerHeader1 + ld de, $6430 + ld a, [$d63e] + call $3160 + ld [$d63e], a + ret +; 0x523cf + +Unknown_523cf: ; 0x523cf +INCBIN "baserom.gbc",$523cf,$52436 - $523cf + +Mansion4Texts: ; 0x52436 +INCBIN "baserom.gbc",$52436,$52448 - $52436 + +Mansion4TrainerHeaders: +Mansion4TrainerHeader1: ; 0x52448 + db $1 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d84b ; flag's byte + dw UnnamedText_52475 ; 0x6475 TextBeforeBattle + dw UnnamedText_5247f ; 0x647f TextAfterBattle + dw UnnamedText_5247a ; 0x647a TextEndBattle + dw UnnamedText_5247a ; 0x647a TextEndBattle +; 0x52454 + +TrainerHeader_52454: ; 0x52454 + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d84b ; flag's byte + dw UnnamedText_52484 ; 0x6484 TextBeforeBattle + dw Map03FlyWarp ; 0x648e TextAfterBattle + dw UnnamedText_52489 ; 0x6489 TextEndBattle + dw UnnamedText_52489 ; 0x6489 TextEndBattle +; 0x52460 + +db $ff + +Mansion4Text1: ; 0x52461 + db $08 ; asm + ld hl, Mansion4TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +Mansion4Text2: ; 0x5246b + db $08 ; asm + ld hl, TrainerHeader_52454 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_52475: ; 0x52475 + TX_FAR _UnnamedText_52475 + db $50 +; 0x52475 + 5 bytes + +UnnamedText_5247a: ; 0x5247a + TX_FAR _UnnamedText_5247a + db $50 +; 0x5247a + 5 bytes + +UnnamedText_5247f: ; 0x5247f + TX_FAR _UnnamedText_5247f + db $50 +; 0x5247f + 5 bytes + +UnnamedText_52484: ; 0x52484 + TX_FAR _UnnamedText_52484 + db $50 +; 0x52484 + 5 bytes + +UnnamedText_52489: ; 0x52489 + TX_FAR _UnnamedText_52489 + db $50 +; 0x52489 + 5 bytes + +UnnamedText_5248e: ; 0x5248e + TX_FAR _UnnamedText_5248e + db $50 +; 0x5248e + 5 bytes + +Mansion4Text7: ; 0x52493 + TX_FAR _Mansion4Text7 + db $50 + +Mansion4Object: ; 0x52498 (size=69) + db $1 ; border tile + + db $1 ; warps + db $16, $17, $5, MANSION_1 + + db $0 ; signs + + db $8 ; people + db SPRITE_BLACK_HAIR_BOY_2, $17 + 4, $10 + 4, $ff, $ff, $41, BURGLAR + $C8, $9 ; trainer + db SPRITE_OAK_AIDE, $b + 4, $1b + 4, $ff, $d0, $42, SCIENTIST + $C8, $d ; trainer + db SPRITE_BALL, $2 + 4, $a + 4, $ff, $ff, $83, RARE_CANDY ; item + db SPRITE_BALL, $16 + 4, $1 + 4, $ff, $ff, $84, FULL_RESTORE ; item + db SPRITE_BALL, $19 + 4, $13 + 4, $ff, $ff, $85, TM_14 ; item + db SPRITE_BALL, $4 + 4, $5 + 4, $ff, $ff, $86, TM_22 ; item + db SPRITE_BOOK_MAP_DEX, $14 + 4, $10 + 4, $ff, $ff, $7 ; person + db SPRITE_BALL, $d + 4, $5 + 4, $ff, $ff, $88, SECRET_KEY ; item + + ; warp-to + EVENT_DISP $f, $16, $17 ; MANSION_1 + +Mansion4Blocks: + INCBIN "maps/mansion4.blk" + +INCBIN "baserom.gbc",$525af,$526f3 - $525af + +UnnamedText_526f3: ; 0x526f3 + TX_FAR _UnnamedText_526f3 + db $50 +; 0x526f3 + 5 bytes + +UnnamedText_526f8: ; 0x526f8 + TX_FAR _UnnamedText_526f8 + db $50 +; 0x526f8 + 5 bytes + +INCBIN "baserom.gbc",$526fd,$1e + +CeladonPrizeMenu: ; 0x5271b 14:671B + ld b,COIN_CASE + call IsItemInBag + jr nz,.havingCoinCase\@ + ld hl,RequireCoinCaseTextPtr + jp PrintText +.havingCoinCase\@ + ld hl,$D730 + set 6,[hl] + ld hl,ExchangeCoinsForPrizesTextPtr + call PrintText +; the following are the menu settings + xor a + ld [$CC26],a + ld [$CC2A],a + ld a,$03 + ld [$CC29],a + ld a,$03 + ld [$CC28],a + ld a,$04 + ld [$CC24],a + ld a,$01 + ld [$CC25],a + call PrintPrizePrice ; 687A + FuncCoord 0,2 + ld hl,Coord + ld b,$08 + ld c,$10 + call TextBoxBorder + call GetPrizeMenuId ;678E + call $2429 + ld hl,WhichPrizeTextPtr + call PrintText + call $3ABE ; menu choice handler + bit 1,a ; keypress = B (Cancel) + jr nz,.NoChoice\@ + ld a,[$CC26] + cp a,$03 ; "NO,THANKS" choice + jr z,.NoChoice\@ + call HandlePrizeChoice ; 14:68C6 +.NoChoice\@ + ld hl,$D730 + res 6,[hl] + ret + +RequireCoinCaseTextPtr: ; 14:677E + TX_FAR _RequireCoinCaseText ; 22:628E + db $0D + db "@" + +ExchangeCoinsForPrizesTextPtr: ; 14:6784 + TX_FAR _ExchangeCoinsForPrizesText ; 22:62A9 + db "@" + +WhichPrizeTextPtr: ; 14:6789 + TX_FAR _WhichPrizeText ; 22:62CD + db "@" + +GetPrizeMenuId: ; 14:678E +; determine which one among the three +; prize-texts has been selected +; using the text ID (stored in [$FF8C]) +; load the three prizes at $D13D-$D13F +; load the three prices ar $D141-$D146 +; display the three prizes' names +; (distinguishing between Pokemon names +; and Items (specifically TMs) names) + ld a,[$FF8C] + sub a,$03 ; prize-texts' id are 3, 4 and 5 + ld [$D12F],a ; prize-texts' id (relative, i.e. 0, 1 or 2) + add a + add a + ld d,$00 + ld e,a + ld hl,PrizeDifferentMenuPtrs + add hl,de + ld a,[hli] + ld d,[hl] + ld e,a + inc hl + push hl + ld hl,W_PRIZE1 + call $3829 ; XXX what does this do + pop hl + ld a,[hli] + ld h,[hl] + ld l,a + ld de,$D141 + ld bc,$0006 + call CopyData + ld a,[$D12F] + cp a,$02 ;is TM_menu? + jr nz,.putMonName\@ + ld a,[W_PRIZE1] + ld [$D11E],a + call GetItemName + FuncCoord 2,4 + ld hl,Coord + call PlaceString + ld a,[W_PRIZE2] + ld [$D11E],a + call GetItemName + FuncCoord 2,6 + ld hl,Coord + call PlaceString + ld a,[W_PRIZE3] + ld [$D11E],a + call GetItemName + FuncCoord 2,8 + ld hl,Coord + call PlaceString + jr .putNoThanksText\@ +.putMonName\@ ; 14:67EC + ld a,[W_PRIZE1] + ld [$D11E],a + call GetMonName + FuncCoord 2,4 + ld hl,Coord + call PlaceString + ld a,[W_PRIZE2] + ld [$D11E],a + call GetMonName + FuncCoord 2,6 + ld hl,Coord + call PlaceString + ld a,[W_PRIZE3] + ld [$D11E],a + call GetMonName + FuncCoord 2,8 + ld hl,Coord + call PlaceString +.putNoThanksText\@ ; 14:6819 + FuncCoord 2,10 + ld hl,Coord + ld de,NoThanksText + call PlaceString +; put prices on the right side of the textbox + ld de,$D141 + FuncCoord 13,5 + ld hl,Coord +; reg. c: +; [low nybble] number of bytes +; [bit 765 = %100] space-padding (not zero-padding) + ld c,(1 << 7 | 2) +; Function $15CD displays BCD value (same routine +; used by text-command $02) + call $15CD ; Print_BCD + ld de,$D143 + FuncCoord 13,7 + ld hl,Coord + ld c,(%1 << 7 | 2) + call $15CD + ld de,$D145 + FuncCoord 13,9 + ld hl,Coord + ld c,(1 << 7 | 2) + jp $15CD + +PrizeDifferentMenuPtrs: ; 14:6843 + dw PrizeMenuMon1Entries + dw PrizeMenuMon1Cost + + dw PrizeMenuMon2Entries + dw PrizeMenuMon2Cost + + dw PrizeMenuTMsEntries + dw PrizeMenuTMsCost + +NoThanksText: ; 14:684F + db "NO THANKS@" + +PrizeMenuMon1Entries: ; 14:6859 + db ABRA + db CLEFAIRY +IF _RED + db NIDORINA +ENDC +IF _BLUE + db NIDORINO +ENDC + db "@" +PrizeMenuMon1Cost: ; 14:685D +IF _RED + db $01,$80 + db $05,$00 +ENDC +IF _BLUE + db $01,$20 + db $07,$50 +ENDC + db $12,$00 + db "@" + +PrizeMenuMon2Entries: ; 14:6864 +IF _RED + db DRATINI + db SCYTHER +ENDC +IF _BLUE + db PINSIR + db DRATINI +ENDC + db PORYGON + db "@" +PrizeMenuMon2Cost: ; 14:6868 +IF _RED + db $28,$00 + db $55,$00 + db $99,$99 +ENDC +IF _BLUE + db $25,$00 + db $46,$00 + db $65,$00 +ENDC + db "@" + +PrizeMenuTMsEntries: ; 14:686F + db TM_23 + db TM_15 + db TM_50 + db "@" +PrizeMenuTMsCost: ; 14:6873 + db $33,$00 ; 3300 Coins + db $55,$00 ; 5500 Coins + db $77,$00 ; 7700 Coins + db "@" + +PrintPrizePrice: ; 14:687A + FuncCoord 11,0 + ld hl,Coord + ld b,$01 + ld c,$07 + call TextBoxBorder + call $2429 ; XXX save OAM? + FuncCoord 12,0 + ld hl,Coord + ld de,.CoinText\@ + call PlaceString + FuncCoord 13,1 + ld hl,Coord + ld de,.SixSpacesText\@ + call PlaceString + FuncCoord 13,1 + ld hl,Coord + ld de,W_PLAYERCOINS1 + ld c,%10000010 + call $15CD + ret + +.CoinText\@ ; 14:68A5 + db "COIN@" + +.SixSpacesText\@ ; 14:68AA + db " @" + +LoadCoinsToSubtract: ; 14:68B1 + ld a,[$D139] ; backup of selected menu_entry + add a + ld d,$00 + ld e,a + ld hl,$D141 ; first prize's price + add hl,de ; get selected prize's price + xor a + ld [$FF9F],a + ld a,[hli] + ld [$FFA0],a + ld a,[hl] + ld [$FFA1],a + ret + +HandlePrizeChoice: ; 14:68C6 + ld a,[$CC26] ; selected menu_entry + ld [$D139],a + ld d,$00 + ld e,a + ld hl,W_PRIZE1 + add hl,de + ld a,[hl] + ld [$D11E],a + ld a,[$D12F] + cp a,$02 ; is prize a TM? + jr nz,.GetMonName\@ + call GetItemName + jr .GivePrize\@ +.GetMonName\@ ; 14:68E3 + call GetMonName +.GivePrize\@ ; 14:68E6 + ld hl,SoYouWantPrizeTextPtr + call PrintText + call $35EC ; yes/no textbox + ld a,[$CC26] ; yes/no answer (Y=0, N=1) + and a + jr nz,.PrintOhFineThen\@ + call LoadCoinsToSubtract + call $35B1 ; subtract COINs from COIN_CASE + jr c,.NotEnoughCoins\@ + ld a,[$D12F] + cp a,$02 + jr nz,.GiveMon\@ + ld a,[$D11E] + ld b,a + ld a,$01 + ld c,a + call $3E2E ; GiveItem + jr nc,.BagIsFull\@ + jr .SubtractCoins\@ +.GiveMon\@ ; 14:6912 + ld a,[$D11E] + ld [$CF91],a + push af + call GetPrizeMonLevel ; 14:6977 + ld c,a + pop af + ld b,a + call GivePokemon + push af + ld a,[$CCD3] ; XXX is there room? + and a + call z,$3865 + pop af + ret nc +.SubtractCoins\@ ; 14:692C + call LoadCoinsToSubtract + ld hl,$FFA1 + ld de,W_PLAYERCOINS2 + ld c,$02 ; how many bytes + ld a,$0C + call Predef ; subtract coins (BCD daa operations) + jp PrintPrizePrice +.BagIsFull\@ ; 14:693F + ld hl,PrizeRoomBagIsFullTextPtr + jp PrintText +.NotEnoughCoins\@ ; 14:6945 + ld hl,SorryNeedMoreCoinsTextPtr + jp PrintText +.PrintOhFineThen\@ ; 14:694B + ld hl,OhFineThenTextPtr + jp PrintText + +UnknownData52951: ; 14:6951 +; XXX what's this? + db $00,$01,$00,$01,$00,$01,$00,$00,$01 + +HereYouGoTextPtr: + TX_FAR _HereYouGoText ; 22:62E7 + db $0D + db "@" + +SoYouWantPrizeTextPtr: ; 14:6960 + TX_FAR _SoYouWantPrizeText ; 22:62F6 + db "@" + +SorryNeedMoreCoinsTextPtr: ; 14:6965 + TX_FAR _SorryNeedMoreCoins ; 22:630B + db $0D + db "@" + +PrizeRoomBagIsFullTextPtr: ; 14:696B + TX_FAR _OopsYouDontHaveEnoughRoomText ; 22:6329 + db $0D + db "@" + +OhFineThenTextPtr: ; 14:6971 + TX_FAR _OhFineThenText; 22:634C + db $0D ; wait keypress (A/B) without blink + db "@" + +GetPrizeMonLevel: ; 14:6977 + ld a,[$CF91] + ld b,a + ld hl,PrizeMonLevelDictionary +.loop\@ ; 14:697E + ld a,[hli] + cp b + jr z,.matchFound\@ + inc hl + jr .loop\@ +.matchFound\@ ; 14:6985 + ld a,[hl] + ld [$D127],a + ret + +PrizeMonLevelDictionary: ; 14:698A +IF _RED + db ABRA,9 + db CLEFAIRY,8 + db NIDORINA,17 + + db DRATINI,18 + db SCYTHER,25 + db PORYGON,26 +ENDC +IF _BLUE + db ABRA,6 + db CLEFAIRY,12 + db NIDORINO,17 + + db PINSIR,20 + db DRATINI,24 + db PORYGON,18 +ENDC + +INCBIN "baserom.gbc",$52996,$529e9 - $52996 + +UnnamedText_529e9: ; 0x529e9 + TX_FAR _UnnamedText_529e9 + db $50 +; 0x529e9 + 5 bytes + +INCBIN "baserom.gbc",$529ee,$529f4 - $529ee + +UnnamedText_529f4: ; 0x529f4 + TX_FAR _UnnamedText_529f4 + db $50 +; 0x529f4 + 5 bytes + +UnnamedText_529f9: ; 0x529f9 + TX_FAR _UnnamedText_529f9 + db $50 +; 0x529f9 + 5 bytes + +UnnamedText_529fe: ; 0x529fe + TX_FAR _UnnamedText_529fe + db $50 +; 0x529fe + 5 bytes + +UnnamedText_52a03: ; 0x52a03 + TX_FAR _UnnamedText_52a03 + db $50 +; 0x52a03 + 5 bytes + +INCBIN "baserom.gbc",$52a08,$52a10 - $52a08 + +UnnamedText_52a10: ; 0x52a10 + TX_FAR _UnnamedText_52a10 + db $50 +; 0x52a10 + 5 bytes + +INCBIN "baserom.gbc",$52a15,$52a1d - $52a15 + +UnnamedText_52a1d: ; 0x52a1d + TX_FAR _UnnamedText_52a1d + db $50 +; 0x52a1d + 5 bytes + +INCBIN "baserom.gbc",$52a22,$52a2a - $52a22 + +UnnamedText_52a2a: ; 0x52a2a + TX_FAR _UnnamedText_52a2a + db $50 +; 0x52a2a + 5 bytes + +INCBIN "baserom.gbc",$52a2f,$52a3d - $52a2f + +UnnamedText_52a3d: ; 0x52a3d + TX_FAR _UnnamedText_52a3d + db $50 +; 0x52a3d + 5 bytes + +INCBIN "baserom.gbc",$52a42,$15be + +SECTION "bank15",DATA,BANK[$15] + +Route2_h: + db 00 ; Tileset + db ROUTE_2_HEIGHT,ROUTE_2_WIDTH ;Height,Width blocks (1 block = 4x4 tiles) + dw Route2Blocks ;Map-Pointer + dw Route2Texts ;Maps text pointer + dw Route2Script ;Maps script pointer + db NORTH | SOUTH ;Connection Byte + + ;Connection data + db PEWTER_CITY ;Map + dw $4714 ;y, x Strip Starting Point + dw $C6E8 ;Strip X-Offset to current map + db 16 ;"Bigness" (Unsure) ;Something to do with MapData + db 20 ;"Map Width" (Unsure) ;Something to do with TileSet + db 35 ;Player's new Y-Coordinates + db 10 ;Player's new X-Coordinates + dw $C8BD ;New UL Block Pos (Window) + + db VIRIDIAN_CITY ;Map + dw $43EE ;y, x Strip Starting Point + dw $C958 ;Strip X-Offset to current map + db 16 ;"Bigness" (Unsure) ;Something to do with MapData + db 20 ;"Map Width" (Unsure) ;Something to do with TileSet + db 0 ;Player's new Y-Coordinates + db 10 ;Player's new X-Coordinates + dw $C703 ;New UL Block Pos (Window) + + dw Route2Object ;Object Data Pointer + +Route2Object: ; 0x54022 (size=72) + db $f ; border tile + + db $6 ; warps + db $9, $c, $0, DIGLETTS_CAVE_EXIT + db $b, $3, $1, VIRIDIAN_FOREST_EXIT + db $13, $f, $0, ROUTE_2_HOUSE + db $23, $10, $1, ROUTE_2_GATE + db $27, $f, $2, ROUTE_2_GATE + db $2b, $3, $2, VIRIDIAN_FOREST_ENTRANCE + + db $2 ; signs + db $41, $5, $3 ; Route2Text3 + db $b, $b, $4 ; Route2Text4 + + db $2 ; people + db SPRITE_BALL, $36 + 4, $d + 4, $ff, $ff, $81, MOON_STONE ; item + db SPRITE_BALL, $2d + 4, $d + 4, $ff, $ff, $82, HP_UP ; item + + ; warp-to + EVENT_DISP $a, $9, $c ; DIGLETTS_CAVE_EXIT + EVENT_DISP $a, $b, $3 ; VIRIDIAN_FOREST_EXIT + EVENT_DISP $a, $13, $f ; ROUTE_2_HOUSE + EVENT_DISP $a, $23, $10 ; ROUTE_2_GATE + EVENT_DISP $a, $27, $f ; ROUTE_2_GATE + EVENT_DISP $a, $2b, $3 ; VIRIDIAN_FOREST_ENTRANCE + +INCBIN "baserom.gbc",$5406a,$14 + +Route2Blocks: ; 0x5407e 360 + INCBIN "maps/route2.blk" + +Route3_h: ; 0x541e6 to 0x54208 (34 bytes) (id=14) + db $00 ; tileset + db ROUTE_3_HEIGHT, ROUTE_3_WIDTH ; dimensions (y, x) + dw Route3Blocks, Route3Texts, Route3Script ; blocks, texts, scripts + db NORTH | WEST ; connections + + ; connections data + + db ROUTE_4 + dw Route4Blocks + (ROUTE_4_HEIGHT - 3) * ROUTE_4_WIDTH ; connection strip location + dw $C6EB + 25 ; current map position + db $d, ROUTE_4_WIDTH ; bigness, width + db (ROUTE_4_HEIGHT * 2) - 1, (25 * -2) ; alignments (y, x) + dw $C6E9 + ROUTE_4_HEIGHT * (ROUTE_4_WIDTH + 6) ; window + + db PEWTER_CITY + dw PewterCityBlocks - 3 + (PEWTER_CITY_WIDTH * 2) ; connection strip location + dw $C6E8 + (ROUTE_3_WIDTH + 6) * (-3 + 3) ; current map position + db $f, PEWTER_CITY_WIDTH ; bigness, width + db (-4 * -2), (PEWTER_CITY_WIDTH * 2) - 1 ; alignments (y, x) + dw $C6EE + 2 * PEWTER_CITY_WIDTH ; window + + ; end connections data + + dw Route3Object ; objects + +Route3Object: ; 0x54208 (size=77) + db $2c ; border tile + + db $0 ; warps + + db $1 ; signs + db $9, $3b, $a ; Route3Text10 + + db $9 ; people + db SPRITE_BLACK_HAIR_BOY_2, $b + 4, $39 + 4, $ff, $ff, $1 ; person + db SPRITE_BUG_CATCHER, $6 + 4, $a + 4, $ff, $d3, $42, BUG_CATCHER + $C8, $4 ; trainer + db SPRITE_BUG_CATCHER, $4 + 4, $e + 4, $ff, $d0, $43, YOUNGSTER + $C8, $1 ; trainer + db SPRITE_LASS, $9 + 4, $10 + 4, $ff, $d2, $44, LASS + $C8, $1 ; trainer + db SPRITE_BUG_CATCHER, $5 + 4, $13 + 4, $ff, $d0, $45, BUG_CATCHER + $C8, $5 ; trainer + db SPRITE_LASS, $4 + 4, $17 + 4, $ff, $d2, $46, LASS + $C8, $2 ; trainer + db SPRITE_BUG_CATCHER, $9 + 4, $16 + 4, $ff, $d2, $47, YOUNGSTER + $C8, $2 ; trainer + db SPRITE_BUG_CATCHER, $6 + 4, $18 + 4, $ff, $d3, $48, BUG_CATCHER + $C8, $6 ; trainer + db SPRITE_LASS, $a + 4, $21 + 4, $ff, $d1, $49, LASS + $C8, $3 ; trainer + +Route3Blocks: ; 0x54255 315 + INCBIN "maps/route3.blk" + +Route4_h: ; 0x54390 to 0x543b2 (34 bytes) (id=15) + db $00 ; tileset + db ROUTE_4_HEIGHT, ROUTE_4_WIDTH ; dimensions (y, x) + dw Route4Blocks, Route4Texts, Route4Script; blocks, texts, scripts + db SOUTH | EAST ; connections + + ; connections data + + db ROUTE_3 + dw Route3Blocks + 22 ; connection strip location + dw $C6EB + (ROUTE_4_HEIGHT + 3) * (ROUTE_4_WIDTH + 6) + -3 ; current map position + db $d, ROUTE_3_WIDTH ; bigness, width + db 0, (-25 * -2) ; alignments (y, x) + dw $C6EF + ROUTE_3_WIDTH ; window + + db CERULEAN_CITY + dw CeruleanCityBlocks + (CERULEAN_CITY_WIDTH) ; connection strip location + dw $C6E5 + (ROUTE_4_WIDTH + 6) * (-3 + 4) ; current map position + db $f, CERULEAN_CITY_WIDTH ; bigness, width + db (-4 * -2), 0 ; alignments (y, x) + dw $C6EF + CERULEAN_CITY_WIDTH ; window + + ; end connections data + + dw Route4Object ; objects + +Route4Object: ; 0x543b2 (size=58) + db $2c ; border tile + + db $3 ; warps + db $5, $b, $0, MT_MOON_POKECENTER + db $5, $12, $0, MT_MOON_1 + db $5, $18, $7, MT_MOON_2 + + db $3 ; signs + db $5, $c, $4 ; Route4Text4 + db $7, $11, $5 ; Route4Text5 + db $7, $1b, $6 ; Route4Text6 + + db $3 ; people + db SPRITE_LASS, $8 + 4, $9 + 4, $fe, $0, $1 ; person + db SPRITE_LASS, $3 + 4, $3f + 4, $ff, $d3, $42, LASS + $C8, $4 ; trainer + db SPRITE_BALL, $3 + 4, $39 + 4, $ff, $ff, $83, TM_04 ; item + + ; warp-to + EVENT_DISP $2d, $5, $b ; MT_MOON_POKECENTER + EVENT_DISP $2d, $5, $12 ; MT_MOON_1 + EVENT_DISP $2d, $5, $18 ; MT_MOON_2 + +Route4Blocks: ; 0x543ec 405 + INCBIN "maps/route4.blk" + +Route5_h: ; 0x54581 to 0x545a3 (34 bytes) (id=16) + db $00 ; tileset + db ROUTE_5_HEIGHT, ROUTE_5_WIDTH ; dimensions (y, x) + dw Route5Blocks, Route5Texts, Route5Script ; blocks, texts, scripts + db NORTH | SOUTH ; connections + + ; connections data + + db CERULEAN_CITY + dw CeruleanCityBlocks + (CERULEAN_CITY_HEIGHT - 3) * CERULEAN_CITY_WIDTH + 2 ; connection strip location + dw $C6EB + -3 ; current map position + db $10, CERULEAN_CITY_WIDTH ; bigness, width + db (CERULEAN_CITY_HEIGHT * 2) - 1, (-5 * -2) ; alignments (y, x) + dw $C6E9 + CERULEAN_CITY_HEIGHT * (CERULEAN_CITY_WIDTH + 6) ; window + + db SAFFRON_CITY + dw SaffronCityBlocks + 2 ; connection strip location + dw $C6EB + (ROUTE_5_HEIGHT + 3) * (ROUTE_5_WIDTH + 6) + -3 ; current map position + db $10, SAFFRON_CITY_WIDTH ; bigness, width + db 0, (-5 * -2) ; alignments (y, x) + dw $C6EF + SAFFRON_CITY_WIDTH ; window + + ; end connections data + + dw Route5Object ; objects + +Route5Object: ; 0x545a3 (size=47) + db $a ; border tile + + db $5 ; warps + db $1d, $a, $3, ROUTE_5_GATE + db $1d, $9, $2, ROUTE_5_GATE + db $21, $a, $0, ROUTE_5_GATE + db $1b, $11, $0, PATH_ENTRANCE_ROUTE_5 + db $15, $a, $0, DAYCAREM + + db $1 ; signs + db $1d, $11, $1 ; Route5Text1 + + db $0 ; people + + ; warp-to + EVENT_DISP $a, $1d, $a ; ROUTE_5_GATE + EVENT_DISP $a, $1d, $9 ; ROUTE_5_GATE + EVENT_DISP $a, $21, $a ; ROUTE_5_GATE + EVENT_DISP $a, $1b, $11 ; PATH_ENTRANCE_ROUTE_5 + EVENT_DISP $a, $15, $a ; DAYCAREM + +Route5Blocks: ; 0x545d2 180 + INCBIN "maps/route5.blk" + +Route9_h: ; 0x54686 to 0x546a8 (34 bytes) (id=20) + db $00 ; tileset + db ROUTE_9_HEIGHT, ROUTE_9_WIDTH ; dimensions (y, x) + dw Route9Blocks, Route9Texts, Route9Script ; blocks, texts, scripts + db WEST | EAST ; connections + + ; connections data + + db CERULEAN_CITY + dw CeruleanCityBlocks - 3 + (CERULEAN_CITY_WIDTH * 2) ; connection strip location + dw $C6E8 + (ROUTE_9_WIDTH + 6) * (-3 + 3) ; current map position + db $f, CERULEAN_CITY_WIDTH ; bigness, width + db (-4 * -2), (CERULEAN_CITY_WIDTH * 2) - 1 ; alignments (y, x) + dw $C6EE + 2 * CERULEAN_CITY_WIDTH ; window + + db ROUTE_10 + dw Route10Blocks + (ROUTE_10_WIDTH * 0) ; connection strip location + dw $C6E5 + (ROUTE_9_WIDTH + 6) * (0 + 4) ; current map position + db $c, ROUTE_10_WIDTH ; bigness, width + db (0 * -2), 0 ; alignments (y, x) + dw $C6EF + ROUTE_10_WIDTH ; window + + ; end connections data + + dw Route9Object ; objects + +Route9Object: ; 0x546a8 (size=86) + db $2c ; border tile + + db $0 ; warps + + db $1 ; signs + db $7, $19, $b ; Route9Text11 + + db $a ; people + db SPRITE_LASS, $a + 4, $d + 4, $ff, $d2, $41, JR__TRAINER_F + $C8, $5 ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $7 + 4, $18 + 4, $ff, $d2, $42, JR__TRAINER_M + $C8, $7 ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $7 + 4, $1f + 4, $ff, $d3, $43, JR__TRAINER_M + $C8, $8 ; trainer + db SPRITE_LASS, $8 + 4, $30 + 4, $ff, $d3, $44, JR__TRAINER_F + $C8, $6 ; trainer + db SPRITE_HIKER, $f + 4, $10 + 4, $ff, $d2, $45, HIKER + $C8, $b ; trainer + db SPRITE_HIKER, $3 + 4, $2b + 4, $ff, $d2, $46, HIKER + $C8, $6 ; trainer + db SPRITE_BUG_CATCHER, $2 + 4, $16 + 4, $ff, $d0, $47, BUG_CATCHER + $C8, $d ; trainer + db SPRITE_HIKER, $f + 4, $2d + 4, $ff, $d3, $48, HIKER + $C8, $5 ; trainer + db SPRITE_BUG_CATCHER, $8 + 4, $28 + 4, $ff, $d3, $49, BUG_CATCHER + $C8, $e ; trainer + db SPRITE_BALL, $f + 4, $a + 4, $ff, $ff, $8a, TM_30 ; item + +Route9Blocks: ; 0x546fe 270 + INCBIN "maps/route9.blk" + +Route13_h: ; 0x5480c to 0x5482e (34 bytes) (id=24) + db $00 ; tileset + db ROUTE_13_HEIGHT, ROUTE_13_WIDTH ; dimensions (y, x) + dw Route13Blocks, Route13Texts, Route13Script ; blocks, texts, scripts + db NORTH | WEST ; connections + + ; connections data + + db ROUTE_12 + dw Route12Blocks + (ROUTE_12_HEIGHT - 3) * ROUTE_12_WIDTH ; connection strip location + dw $C6EB + 20 ; current map position + db ROUTE_12_WIDTH, ROUTE_12_WIDTH ; bigness, width + db (ROUTE_12_HEIGHT * 2) - 1, (20 * -2) ; alignments (y, x) + dw $C6E9 + ROUTE_12_HEIGHT * (ROUTE_12_WIDTH + 6) ; window + + db ROUTE_14 + dw Route14Blocks - 3 + (ROUTE_14_WIDTH) ; connection strip location + dw $C6E8 + (ROUTE_13_WIDTH + 6) * (0 + 3) ; current map position + db $c, ROUTE_14_WIDTH ; bigness, width + db (0 * -2), (ROUTE_14_WIDTH * 2) - 1 ; alignments (y, x) + dw $C6EE + 2 * ROUTE_14_WIDTH ; window + + ; end connections data + + dw Route13Object ; objects + +Route13Object: ; 0x5482e (size=93) + db $43 ; border tile + + db $0 ; warps + + db $3 ; signs + db $d, $f, $b ; Route13Text11 + db $5, $21, $c ; Route13Text12 + db $b, $1f, $d ; Route13Text13 + + db $a ; people + db SPRITE_BLACK_HAIR_BOY_1, $a + 4, $31 + 4, $ff, $d3, $41, BIRD_KEEPER + $C8, $1 ; trainer + db SPRITE_LASS, $a + 4, $30 + 4, $ff, $d0, $42, JR__TRAINER_F + $C8, $c ; trainer + db SPRITE_LASS, $9 + 4, $1b + 4, $ff, $d0, $43, JR__TRAINER_F + $C8, $d ; trainer + db SPRITE_LASS, $a + 4, $17 + 4, $ff, $d2, $44, JR__TRAINER_F + $C8, $e ; trainer + db SPRITE_LASS, $5 + 4, $32 + 4, $ff, $d0, $45, JR__TRAINER_F + $C8, $f ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $4 + 4, $c + 4, $ff, $d3, $46, BIRD_KEEPER + $C8, $2 ; trainer + db SPRITE_FOULARD_WOMAN, $6 + 4, $21 + 4, $ff, $d0, $47, BEAUTY + $C8, $4 ; trainer + db SPRITE_FOULARD_WOMAN, $6 + 4, $20 + 4, $ff, $d0, $48, BEAUTY + $C8, $5 ; trainer + db SPRITE_BIKER, $7 + 4, $a + 4, $ff, $d1, $49, BIKER + $C8, $1 ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $d + 4, $7 + 4, $ff, $d1, $4a, BIRD_KEEPER + $C8, $3 ; trainer + +Route13Blocks: ; 0x5488b 270 + INCBIN "maps/route13.blk" + +Route14_h: ; 0x54999 to 0x549bb (34 bytes) (id=25) + db $00 ; tileset + db ROUTE_14_HEIGHT, ROUTE_14_WIDTH ; dimensions (y, x) + dw Route14Blocks, Route14Texts, Route14Script ; blocks, texts, scripts + db WEST | EAST ; connections + + ; connections data + + db ROUTE_15 + dw Route15Blocks - 3 + (ROUTE_15_WIDTH) ; connection strip location + dw $C6E8 + (ROUTE_14_WIDTH + 6) * (18 + 3) ; current map position + db ROUTE_15_HEIGHT, ROUTE_15_WIDTH ; bigness, width + db (18 * -2), (ROUTE_15_WIDTH * 2) - 1 ; alignments (y, x) + dw $C6EE + 2 * ROUTE_15_WIDTH ; window + + db ROUTE_13 + dw Route13Blocks + (ROUTE_13_WIDTH * 0) ; connection strip location + dw $C6E5 + (ROUTE_14_WIDTH + 6) * (0 + 4) ; current map position + db ROUTE_13_HEIGHT, ROUTE_13_WIDTH ; bigness, width + db (0 * -2), 0 ; alignments (y, x) + dw $C6EF + ROUTE_13_WIDTH ; window + + ; end connections data + + dw Route14Object ; objects + +Route14Object: ; 0x549bb (size=87) + db $43 ; border tile + + db $0 ; warps + + db $1 ; signs + db $d, $11, $b ; Route14Text11 + + db $a ; people + db SPRITE_BLACK_HAIR_BOY_1, $4 + 4, $4 + 4, $ff, $d0, $41, BIRD_KEEPER + $C8, $e ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $6 + 4, $f + 4, $ff, $d0, $42, BIRD_KEEPER + $C8, $f ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $b + 4, $c + 4, $ff, $d0, $43, BIRD_KEEPER + $C8, $10 ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $f + 4, $e + 4, $ff, $d1, $44, BIRD_KEEPER + $C8, $11 ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $1f + 4, $f + 4, $ff, $d2, $45, BIRD_KEEPER + $C8, $4 ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $31 + 4, $6 + 4, $ff, $d1, $46, BIRD_KEEPER + $C8, $5 ; trainer + db SPRITE_BIKER, $27 + 4, $5 + 4, $ff, $d0, $47, BIKER + $C8, $d ; trainer + db SPRITE_BIKER, $1e + 4, $4 + 4, $ff, $d3, $48, BIKER + $C8, $e ; trainer + db SPRITE_BIKER, $1e + 4, $f + 4, $ff, $d2, $49, BIKER + $C8, $f ; trainer + db SPRITE_BIKER, $1f + 4, $4 + 4, $ff, $d3, $4a, BIKER + $C8, $2 ; trainer + +Route14Blocks: ; 0x54a12 270 + INCBIN "maps/route14.blk" + +Route17_h: ; 0x54b20 to 0x54b42 (34 bytes) (id=28) + db $00 ; tileset + db ROUTE_17_HEIGHT, ROUTE_17_WIDTH ; dimensions (y, x) + dw Route17Blocks, Route17Texts, Route17Script ; blocks, texts, scripts + db NORTH | SOUTH ; connections + + ; connections data + + db ROUTE_16 + dw Route16Blocks + (ROUTE_16_HEIGHT - 3) * ROUTE_16_WIDTH ; connection strip location + dw $C6EB + 0 ; current map position + db $d, ROUTE_16_WIDTH ; bigness, width + db (ROUTE_16_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x) + dw $C6E9 + ROUTE_16_HEIGHT * (ROUTE_16_WIDTH + 6) ; window + + db ROUTE_18 + dw Route18Blocks ; connection strip location + dw $C6EB + (ROUTE_17_HEIGHT + 3) * (ROUTE_17_WIDTH + 6) + 0 ; current map position + db $d, ROUTE_18_WIDTH ; bigness, width + db 0, (0 * -2) ; alignments (y, x) + dw $C6EF + ROUTE_18_WIDTH ; window + + ; end connections data + + dw Route17Object ; objects + +Route17Object: ; 0x54b42 (size=102) + db $43 ; border tile + + db $0 ; warps + + db $6 ; signs + db $33, $9, $b ; Route17Text11 + db $3f, $9, $c ; Route17Text12 + db $4b, $9, $d ; Route17Text13 + db $57, $9, $e ; Route17Text14 + db $6f, $9, $f ; Route17Text15 + db $8d, $9, $10 ; Route17Text16 + + db $a ; people + db SPRITE_BIKER, $13 + 4, $c + 4, $ff, $d2, $41, CUE_BALL + $C8, $4 ; trainer + db SPRITE_BIKER, $10 + 4, $b + 4, $ff, $d3, $42, CUE_BALL + $C8, $5 ; trainer + db SPRITE_BIKER, $12 + 4, $4 + 4, $ff, $d1, $43, BIKER + $C8, $8 ; trainer + db SPRITE_BIKER, $20 + 4, $7 + 4, $ff, $d2, $44, BIKER + $C8, $9 ; trainer + db SPRITE_BIKER, $22 + 4, $e + 4, $ff, $d3, $45, BIKER + $C8, $a ; trainer + db SPRITE_BIKER, $3a + 4, $11 + 4, $ff, $d2, $46, CUE_BALL + $C8, $6 ; trainer + db SPRITE_BIKER, $44 + 4, $2 + 4, $ff, $d3, $47, CUE_BALL + $C8, $7 ; trainer + db SPRITE_BIKER, $62 + 4, $e + 4, $ff, $d3, $48, CUE_BALL + $C8, $8 ; trainer + db SPRITE_BIKER, $62 + 4, $5 + 4, $ff, $d2, $49, BIKER + $C8, $b ; trainer + db SPRITE_BIKER, $76 + 4, $a + 4, $ff, $d0, $4a, BIKER + $C8, $c ; trainer + +Route17Blocks: ; 0x54ba8 720 + INCBIN "maps/route17.blk" + +Route19_h: ; 0x54e78 to 0x54e9a (34 bytes) (id=30) + db $00 ; tileset + db ROUTE_19_HEIGHT, ROUTE_19_WIDTH ; dimensions (y, x) + dw Route19Blocks, Route19Texts, Route19Script ; blocks, texts, scripts + db NORTH | WEST ; connections + + ; connections data + + db FUCHSIA_CITY + dw FuchsiaCityBlocks + (FUCHSIA_CITY_HEIGHT - 3) * FUCHSIA_CITY_WIDTH + 2 ; connection strip location + dw $C6EB + -3 ; current map position + db $10, FUCHSIA_CITY_WIDTH ; bigness, width + db (FUCHSIA_CITY_HEIGHT * 2) - 1, (-5 * -2) ; alignments (y, x) + dw $C6E9 + FUCHSIA_CITY_HEIGHT * (FUCHSIA_CITY_WIDTH + 6) ; window + + db ROUTE_20 + dw Route20Blocks - 3 + (ROUTE_20_WIDTH) ; connection strip location + dw $C6E8 + (ROUTE_19_WIDTH + 6) * (18 + 3) ; current map position + db ROUTE_20_HEIGHT, ROUTE_20_WIDTH ; bigness, width + db (18 * -2), (ROUTE_20_WIDTH * 2) - 1 ; alignments (y, x) + dw $C6EE + 2 * ROUTE_20_WIDTH ; window + + ; end connections data + + dw Route19Object ; objects + +Route19Object: ; 0x54e9a (size=87) + db $43 ; border tile + + db $0 ; warps + + db $1 ; signs + db $9, $b, $b ; Route19Text11 + + db $a ; people + db SPRITE_BLACK_HAIR_BOY_1, $7 + 4, $8 + 4, $ff, $d2, $41, SWIMMER + $C8, $2 ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $7 + 4, $d + 4, $ff, $d2, $42, SWIMMER + $C8, $3 ; trainer + db SPRITE_SWIMMER, $19 + 4, $d + 4, $ff, $d2, $43, SWIMMER + $C8, $4 ; trainer + db SPRITE_SWIMMER, $1b + 4, $4 + 4, $ff, $d3, $44, SWIMMER + $C8, $5 ; trainer + db SPRITE_SWIMMER, $1f + 4, $10 + 4, $ff, $d1, $45, SWIMMER + $C8, $6 ; trainer + db SPRITE_SWIMMER, $b + 4, $9 + 4, $ff, $d0, $46, SWIMMER + $C8, $7 ; trainer + db SPRITE_SWIMMER, $2b + 4, $8 + 4, $ff, $d2, $47, BEAUTY + $C8, $c ; trainer + db SPRITE_SWIMMER, $2b + 4, $b + 4, $ff, $d3, $48, BEAUTY + $C8, $d ; trainer + db SPRITE_SWIMMER, $2a + 4, $9 + 4, $ff, $d1, $49, SWIMMER + $C8, $8 ; trainer + db SPRITE_SWIMMER, $2c + 4, $a + 4, $ff, $d0, $4a, BEAUTY + $C8, $e ; trainer + +Route19Blocks: ; 0x54ef1 270 + INCBIN "maps/route19.blk" + +Route21_h: ; 0x54fff to 0x55021 (34 bytes) (id=32) + db $00 ; tileset + db ROUTE_21_HEIGHT, ROUTE_21_WIDTH ; dimensions (y, x) + dw Route21Blocks, Route21Texts, Route21Script ; blocks, texts, scripts + db NORTH | SOUTH ; connections + + ; connections data + + db PALLET_TOWN + dw PalletTownBlocks + (PALLET_TOWN_HEIGHT - 3) * PALLET_TOWN_WIDTH ; connection strip location + dw $C6EB + 0 ; current map position + db PALLET_TOWN_WIDTH, PALLET_TOWN_WIDTH ; bigness, width + db (PALLET_TOWN_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x) + dw $C6E9 + PALLET_TOWN_HEIGHT * (PALLET_TOWN_WIDTH + 6) ; window + + db CINNABAR_ISLAND + dw CinnabarIslandBlocks ; connection strip location + dw $C6EB + (ROUTE_21_HEIGHT + 3) * (ROUTE_21_WIDTH + 6) + 0 ; current map position + db CINNABAR_ISLAND_WIDTH, CINNABAR_ISLAND_WIDTH ; bigness, width + db 0, (0 * -2) ; alignments (y, x) + dw $C6EF + CINNABAR_ISLAND_WIDTH ; window + + ; end connections data + + dw Route21Object ; objects + +Route21Object: ; 0x55021 (size=76) + db $43 ; border tile + + db $0 ; warps + + db $0 ; signs + + db $9 ; people + db SPRITE_FISHER2, $18 + 4, $4 + 4, $ff, $d2, $41, FISHER + $C8, $7 ; trainer + db SPRITE_FISHER2, $19 + 4, $6 + 4, $ff, $d0, $42, FISHER + $C8, $9 ; trainer + db SPRITE_SWIMMER, $1f + 4, $a + 4, $ff, $d1, $43, SWIMMER + $C8, $c ; trainer + db SPRITE_SWIMMER, $1e + 4, $c + 4, $ff, $d3, $44, CUE_BALL + $C8, $9 ; trainer + db SPRITE_SWIMMER, $3f + 4, $10 + 4, $ff, $d0, $45, SWIMMER + $C8, $d ; trainer + db SPRITE_SWIMMER, $47 + 4, $5 + 4, $ff, $d3, $46, SWIMMER + $C8, $e ; trainer + db SPRITE_SWIMMER, $47 + 4, $f + 4, $ff, $d2, $47, SWIMMER + $C8, $f ; trainer + db SPRITE_FISHER2, $38 + 4, $e + 4, $ff, $d2, $48, FISHER + $C8, $8 ; trainer + db SPRITE_FISHER2, $39 + 4, $11 + 4, $ff, $d3, $49, FISHER + $C8, $a ; trainer + +Route21Blocks: ; 0x5506d 450 + INCBIN "maps/route21.blk" + +VermilionHouse2Blocks: +Route12HouseBlocks: +DayCareMBlocks: ; 0x5522f 522F 16 + INCBIN "maps/daycarem.blk" + +FuchsiaHouse3Blocks: ; 0x5523f 16 + INCBIN "maps/fuchsiahouse3.blk" + +INCBIN "baserom.gbc",$5524f,$554d8 - $5524f + +UnnamedText_554d8: ; 0x554d8 + TX_FAR _UnnamedText_554d8 ; 0x89bee + db $50 +; 0x554dd + +INCBIN "baserom.gbc",$554dd,$554e3 - $554dd + +Route2Script: ; 0x554e3 + jp $3c3c +; 0x554e6 + +Route2Texts: + dw Route2Text1, Route2Text2, Route2Text3, Route2Text4 + +Route2Text3: ; 0x554ee + TX_FAR _Route2Text3 + db $50 + +Route2Text4: ; 0x554f3 + TX_FAR _Route2Text4 + db $50 + +Route3Script: ; 0x554f8 + call $3c3c + ld hl, Route3TrainerHeader1 + ld de, Unknown_5550b + ld a, [$d5f8] + call $3160 + ld [$d5f8], a + ret +; 0x5550b + +Unknown_5550b: ; 0x5550b +INCBIN "baserom.gbc",$5550b,$6 + +Route3Texts: ; 0x55511 + dw Route3Text1, Route3Text2, Route3Text3, Route3Text4, Route3Text5, Route3Text6, Route3Text7, Route3Text8, Route3Text9, Route3Text10 + +Route3TrainerHeaders: +Route3TrainerHeader1: ; 0x55525 + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7c3 ; flag's byte + dw UnnamedText_55595 ; 0x5595 TextBeforeBattle + dw UnnamedText_5559f ; 0x559f TextAfterBattle + dw UnnamedText_5559a ; 0x559a TextEndBattle + dw UnnamedText_5559a ; 0x559a TextEndBattle +; 0x55531 + +TrainerHeader_55531: ; 0x55531 + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7c3 ; flag's byte + dw UnnamedText_555ae ; 0x55ae TextBeforeBattle + dw UnnamedText_555b8 ; 0x55b8 TextAfterBattle + dw UnnamedText_555b3 ; 0x55b3 TextEndBattle + dw UnnamedText_555b3 ; 0x55b3 TextEndBattle +; 0x5553d + +TrainerHeader_5553d: ; 0x5553d + db $4 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7c3 ; flag's byte + dw UnnamedText_555c7 ; 0x55c7 TextBeforeBattle + dw UnnamedText_555d1 ; 0x55d1 TextAfterBattle + dw UnnamedText_555cc ; 0x55cc TextEndBattle + dw UnnamedText_555cc ; 0x55cc TextEndBattle +; 0x55549 + +TrainerHeader_55549: ; 0x55549 + db $5 ; flag's bit + db ($1 << 4) ; trainer's view range + dw $d7c3 ; flag's byte + dw UnnamedText_555e0 ; 0x55e0 TextBeforeBattle + dw UnnamedText_555ea ; 0x55ea TextAfterBattle + dw UnnamedText_555e5 ; 0x55e5 TextEndBattle + dw UnnamedText_555e5 ; 0x55e5 TextEndBattle +; 0x55555 + +TrainerHeader_55555: ; 0x55555 + db $6 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7c3 ; flag's byte + dw UnnamedText_555f9 ; 0x55f9 TextBeforeBattle + dw UnnamedText_55603 ; 0x5603 TextAfterBattle + dw UnnamedText_555fe ; 0x55fe TextEndBattle + dw UnnamedText_555fe ; 0x55fe TextEndBattle +; 0x55561 + +TrainerHeader_55561: ; 0x55561 + db $7 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7c3 ; flag's byte + dw UnnamedText_55612 ; 0x5612 TextBeforeBattle + dw UnnamedText_5561c ; 0x561c TextAfterBattle + dw UnnamedText_55617 ; 0x5617 TextEndBattle + dw UnnamedText_55617 ; 0x5617 TextEndBattle +; 0x5556d + +TrainerHeader_5556d: ; 0x5556d + db $8 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7c3 ; flag's byte + dw UnnamedText_5562b ; 0x562b TextBeforeBattle + dw UnnamedText_55635 ; 0x5635 TextAfterBattle + dw UnnamedText_55630 ; 0x5630 TextEndBattle + dw UnnamedText_55630 ; 0x5630 TextEndBattle +; 0x55579 + +TrainerHeader_55579: ; 0x55579 + db $9 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7c3 ; flag's byte + dw UnnamedText_55644 ; 0x5644 TextBeforeBattle + dw UnnamedText_5564e ; 0x564e TextAfterBattle + dw UnnamedText_55649 ; 0x5649 TextEndBattle + dw UnnamedText_55649 ; 0x5649 TextEndBattle +; 0x55585 + +db $ff + +Route3Text1: ; 0x55586 + TX_FAR _Route3Text1 + db $50 + +Route3Text2: ; 0x5558b + db $08 ; asm + ld hl, Route3TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55595: ; 0x55595 + TX_FAR _UnnamedText_55595 + db $50 +; 0x55595 + 5 bytes + +UnnamedText_5559a: ; 0x5559a + TX_FAR _UnnamedText_5559a + db $50 +; 0x5559a + 5 bytes + +UnnamedText_5559f: ; 0x5559f + TX_FAR _UnnamedText_5559f + db $50 +; 0x5559f + 5 bytes + +Route3Text3: ; 0x555a4 + db $08 ; asm + ld hl, TrainerHeader_55531 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_555ae: ; 0x555ae + TX_FAR _UnnamedText_555ae + db $50 +; 0x555ae + 5 bytes + +UnnamedText_555b3: ; 0x555b3 + TX_FAR _UnnamedText_555b3 + db $50 +; 0x555b3 + 5 bytes + +UnnamedText_555b8: ; 0x555b8 + TX_FAR _UnnamedText_555b8 + db $50 +; 0x555b8 + 5 bytes + +Route3Text4: ; 0x555bd + db $08 ; asm + ld hl, TrainerHeader_5553d + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_555c7: ; 0x555c7 + TX_FAR _UnnamedText_555c7 + db $50 +; 0x555c7 + 5 bytes + +UnnamedText_555cc: ; 0x555cc + TX_FAR _UnnamedText_555cc + db $50 +; 0x555cc + 5 bytes + +UnnamedText_555d1: ; 0x555d1 + TX_FAR _UnnamedText_555d1 + db $50 +; 0x555d1 + 5 bytes + +Route3Text5: ; 0x555d6 + db $08 ; asm + ld hl, TrainerHeader_55549 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_555e0: ; 0x555e0 + TX_FAR _UnnamedText_555e0 + db $50 +; 0x555e0 + 5 bytes + +UnnamedText_555e5: ; 0x555e5 + TX_FAR _UnnamedText_555e5 + db $50 +; 0x555e5 + 5 bytes + +UnnamedText_555ea: ; 0x555ea + TX_FAR _UnnamedText_555ea + db $50 +; 0x555ea + 5 bytes + +Route3Text6: ; 0x555ef + db $08 ; asm + ld hl, TrainerHeader_55555 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_555f9: ; 0x555f9 + TX_FAR _UnnamedText_555f9 + db $50 +; 0x555f9 + 5 bytes + +UnnamedText_555fe: ; 0x555fe + TX_FAR _UnnamedText_555fe + db $50 +; 0x555fe + 5 bytes + +UnnamedText_55603: ; 0x55603 + TX_FAR _UnnamedText_55603 + db $50 +; 0x55603 + 5 bytes + +Route3Text7: ; 0x55608 + db $08 ; asm + ld hl, TrainerHeader_55561 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55612: ; 0x55612 + TX_FAR _UnnamedText_55612 + db $50 +; 0x55612 + 5 bytes + +UnnamedText_55617: ; 0x55617 + TX_FAR _UnnamedText_55617 + db $50 +; 0x55617 + 5 bytes + +UnnamedText_5561c: ; 0x5561c + TX_FAR _UnnamedText_5561c + db $50 +; 0x5561c + 5 bytes + +Route3Text8: ; 0x55621 + db $08 ; asm + ld hl, TrainerHeader_5556d + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_5562b: ; 0x5562b + TX_FAR _UnnamedText_5562b + db $50 +; 0x5562b + 5 bytes + +UnnamedText_55630: ; 0x55630 + TX_FAR _UnnamedText_55630 + db $50 +; 0x55630 + 5 bytes + +UnnamedText_55635: ; 0x55635 + TX_FAR _UnnamedText_55635 + db $50 +; 0x55635 + 5 bytes + +Route3Text9: ; 0x5563a + db $08 ; asm + ld hl, TrainerHeader_55579 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55644: ; 0x55644 + TX_FAR _UnnamedText_55644 + db $50 +; 0x55644 + 5 bytes + +UnnamedText_55649: ; 0x55649 + TX_FAR _UnnamedText_55649 + db $50 +; 0x55649 + 5 bytes + +UnnamedText_5564e: ; 0x5564e + TX_FAR _UnnamedText_5564e + db $50 +; 0x5564e + 5 bytes + +Route3Text10: ; 0x55653 + TX_FAR _Route3Text10 + db $50 + +Route4Script: ; 0x55658 + call $3c3c + ld hl, Route4TrainerHeaders + ld de, Unknown_5566b + ld a, [$d5f9] + call $3160 + ld [$d5f9], a + ret +; 0x5566b + +Unknown_5566b: ; 0x5566b +INCBIN "baserom.gbc",$5566b,$6 + +Route4Texts: ; 0x55671 + dw Route4Text1, Route4Text2, Route4Text3, Route4Text4, Route4Text5, Route4Text6 + +Route4TrainerHeaders: +Route4TrainerHeader1: ; 0x5567d + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7c5 ; flag's byte + dw UnnamedText_55699 ; 0x5699 TextBeforeBattle + dw UnnamedText_556a3 ; 0x56a3 TextAfterBattle + dw UnnamedText_5569e ; 0x569e TextEndBattle + dw UnnamedText_5569e ; 0x569e TextEndBattle +; 0x55689 + +db $ff + +Route4Text1: ; 0x5568a + TX_FAR _Route4Text1 + db $50 + +Route4Text2: ; 0x5568f + db $08 ; asm + ld hl, Route4TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55699: ; 0x55699 + TX_FAR _UnnamedText_55699 + db $50 +; 0x55699 + 5 bytes + +UnnamedText_5569e: ; 0x5569e + TX_FAR _UnnamedText_5569e + db $50 +; 0x5569e + 5 bytes + +UnnamedText_556a3: ; 0x556a3 + TX_FAR _UnnamedText_556a3 + db $50 +; 0x556a3 + 5 bytes + +Route4Text5: ; 0x556a8 + TX_FAR _Route4Text5 + db $50 + +Route4Text6: ; 0x556ad + TX_FAR _Route4Text6 + db $50 + +Route5Script: ; 0x556b2 + jp $3c3c +; 0x556b5 + +Route5Texts: ; 0x556b5 + dw Route5Text1 + +Route5Text1: ; 0x556b7 + TX_FAR _Route5Text1 + db $50 + +Route9Script: ; 0x556bc + call $3c3c + ld hl, Route9TrainerHeaders + ld de, Unknown_556cf + ld a, [$d604] + call $3160 + ld [$d604], a + ret +; 0x556cf + +Unknown_556cf: ; 0x556cf +INCBIN "baserom.gbc",$556cf,$6 + +Route9Texts: ; 0x556d5 + dw Route9Text1, Route9Text2, Route9Text3, Route9Text4, Route9Text5, Route9Text6, Route9Text7, Route9Text8, Route9Text9, Route9Text10, Route9Text11 + +Route9TrainerHeaders: +Route9TrainerHeader1: ; 0x556eb + db $1 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7cf ; flag's byte + dw UnnamedText_55792 ; 0x5792 TextBeforeBattle + dw UnnamedText_5579c ; 0x579c TextAfterBattle + dw UnnamedText_55797 ; 0x5797 TextEndBattle + dw UnnamedText_55797 ; 0x5797 TextEndBattle +; 0x556f7 + +TrainerHeader_556f7: ; 0x556f7 + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7cf ; flag's byte + dw UnnamedText_557a1 ; 0x57a1 TextBeforeBattle + dw UnnamedText_557ab ; 0x57ab TextAfterBattle + dw UnnamedText_557a6 ; 0x57a6 TextEndBattle + dw UnnamedText_557a6 ; 0x57a6 TextEndBattle +; 0x55703 + +TrainerHeader_55703: ; 0x55703 + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7cf ; flag's byte + dw UnnamedText_557b0 ; 0x57b0 TextBeforeBattle + dw UnnamedText_557ba ; 0x57ba TextAfterBattle + dw UnnamedText_557b5 ; 0x57b5 TextEndBattle + dw UnnamedText_557b5 ; 0x57b5 TextEndBattle +; 0x5570f + +TrainerHeader_5570f: ; 0x5570f + db $4 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7cf ; flag's byte + dw UnnamedText_557bf ; 0x57bf TextBeforeBattle + dw UnnamedText_557c9 ; 0x57c9 TextAfterBattle + dw UnnamedText_557c4 ; 0x57c4 TextEndBattle + dw UnnamedText_557c4 ; 0x57c4 TextEndBattle +; 0x5571b + +TrainerHeader_5571b: ; 0x5571b + db $5 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7cf ; flag's byte + dw UnnamedText_557ce ; 0x57ce TextBeforeBattle + dw UnnamedText_557d8 ; 0x57d8 TextAfterBattle + dw UnnamedText_557d3 ; 0x57d3 TextEndBattle + dw UnnamedText_557d3 ; 0x57d3 TextEndBattle +; 0x55727 + +TrainerHeader_55727: ; 0x55727 + db $6 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7cf ; flag's byte + dw UnnamedText_557dd ; 0x57dd TextBeforeBattle + dw UnnamedText_557e7 ; 0x57e7 TextAfterBattle + dw UnnamedText_557e2 ; 0x57e2 TextEndBattle + dw UnnamedText_557e2 ; 0x57e2 TextEndBattle +; 0x55733 + +TrainerHeader_55733: ; 0x55733 + db $7 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7cf ; flag's byte + dw UnnamedText_557ec ; 0x57ec TextBeforeBattle + dw UnnamedText_557f6 ; 0x57f6 TextAfterBattle + dw UnnamedText_557f1 ; 0x57f1 TextEndBattle + dw UnnamedText_557f1 ; 0x57f1 TextEndBattle +; 0x5573f + +TrainerHeader_5573f: ; 0x5573f + db $8 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7cf ; flag's byte + dw UnnamedText_557fb ; 0x57fb TextBeforeBattle + dw UnnamedText_55805 ; 0x5805 TextAfterBattle + dw UnnamedText_55800 ; 0x5800 TextEndBattle + dw UnnamedText_55800 ; 0x5800 TextEndBattle +; 0x5574b + +TrainerHeader_5574b: ; 0x5574b + db $9 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7cf ; flag's byte + dw UnnamedText_5580a ; 0x580a TextBeforeBattle + dw UnnamedText_55814 ; 0x5814 TextAfterBattle + dw UnnamedText_5580f ; 0x580f TextEndBattle + dw UnnamedText_5580f ; 0x580f TextEndBattle +; 0x55757 + +db $ff + +Route9Text1: ; 0x55758 + db $8 ; asm + ld hl, Route9TrainerHeader1 + jr asm_8be3d ; 0x5575c $2e + +Route9Text2: + db $8 ; asm + ld hl, TrainerHeader_556f7 + jr asm_8be3d ; 0x55762 $28 + +Route9Text3: + db $8 ; asm + ld hl, TrainerHeader_55703 + jr asm_8be3d ; 0x55768 $22 + +Route9Text4: + db $8 ; asm + ld hl, TrainerHeader_5570f + jr asm_8be3d ; 0x5576e $1c + +Route9Text5: + db $8 ; asm + ld hl, TrainerHeader_5571b + jr asm_8be3d ; 0x55774 $16 + +Route9Text6: + db $8 ; asm + ld hl, TrainerHeader_55727 + jr asm_8be3d ; 0x5577a $10 + +Route9Text7: + db $8 ; asm + ld hl, TrainerHeader_55733 + jr asm_8be3d ; 0x55780 $a + +Route9Text8: + db $8 ; asm + ld hl, TrainerHeader_5573f + jr asm_8be3d ; 0x55786 $4 + +Route9Text9: + db $8 ; asm + ld hl, TrainerHeader_5574b +asm_8be3d: ; 0x5578c + call LoadTrainerHeader + jp TextScriptEnd +; 0x55792 + +UnnamedText_55792: ; 0x55792 + TX_FAR _UnnamedText_55792 + db $50 +; 0x55792 + 5 bytes + +UnnamedText_55797: ; 0x55797 + TX_FAR _UnnamedText_55797 + db $50 +; 0x55797 + 5 bytes + +UnnamedText_5579c: ; 0x5579c + TX_FAR _UnnamedText_5579c + db $50 +; 0x5579c + 5 bytes + +UnnamedText_557a1: ; 0x557a1 + TX_FAR _UnnamedText_557a1 + db $50 +; 0x557a1 + 5 bytes + +UnnamedText_557a6: ; 0x557a6 + TX_FAR _UnnamedText_557a6 + db $50 +; 0x557a6 + 5 bytes + +UnnamedText_557ab: ; 0x557ab + TX_FAR _UnnamedText_557ab + db $50 +; 0x557ab + 5 bytes + +UnnamedText_557b0: ; 0x557b0 + TX_FAR _UnnamedText_557b0 + db $50 +; 0x557b0 + 5 bytes + +UnnamedText_557b5: ; 0x557b5 + TX_FAR _UnnamedText_557b5 + db $50 +; 0x557b5 + 5 bytes + +UnnamedText_557ba: ; 0x557ba + TX_FAR _UnnamedText_557ba + db $50 +; 0x557ba + 5 bytes + +UnnamedText_557bf: ; 0x557bf + TX_FAR _UnnamedText_557bf + db $50 +; 0x557bf + 5 bytes + +UnnamedText_557c4: ; 0x557c4 + TX_FAR _UnnamedText_557c4 + db $50 +; 0x557c4 + 5 bytes + +UnnamedText_557c9: ; 0x557c9 + TX_FAR _UnnamedText_557c9 + db $50 +; 0x557c9 + 5 bytes + +UnnamedText_557ce: ; 0x557ce + TX_FAR _UnnamedText_557ce + db $50 +; 0x557ce + 5 bytes + +UnnamedText_557d3: ; 0x557d3 + TX_FAR _UnnamedText_557d3 + db $50 +; 0x557d3 + 5 bytes + +UnnamedText_557d8: ; 0x557d8 + TX_FAR _UnnamedText_557d8 + db $50 +; 0x557d8 + 5 bytes + +UnnamedText_557dd: ; 0x557dd + TX_FAR _UnnamedText_557dd + db $50 +; 0x557dd + 5 bytes + +UnnamedText_557e2: ; 0x557e2 + TX_FAR _UnnamedText_557e2 + db $50 +; 0x557e2 + 5 bytes + +UnnamedText_557e7: ; 0x557e7 + TX_FAR _UnnamedText_557e7 + db $50 +; 0x557e7 + 5 bytes + +UnnamedText_557ec: ; 0x557ec + TX_FAR _UnnamedText_557ec + db $50 +; 0x557ec + 5 bytes + +UnnamedText_557f1: ; 0x557f1 + TX_FAR _UnnamedText_557f1 + db $50 +; 0x557f1 + 5 bytes + +UnnamedText_557f6: ; 0x557f6 + TX_FAR _UnnamedText_557f6 + db $50 +; 0x557f6 + 5 bytes + +UnnamedText_557fb: ; 0x557fb + TX_FAR _UnnamedText_557fb + db $50 +; 0x557fb + 5 bytes + +UnnamedText_55800: ; 0x55800 + TX_FAR _UnnamedText_55800 + db $50 +; 0x55800 + 5 bytes + +UnnamedText_55805: ; 0x55805 + TX_FAR _UnnamedText_55805 + db $50 +; 0x55805 + 5 bytes + +UnnamedText_5580a: ; 0x5580a + TX_FAR _UnnamedText_5580a + db $50 +; 0x5580a + 5 bytes + +UnnamedText_5580f: ; 0x5580f + TX_FAR _UnnamedText_5580f + db $50 +; 0x5580f + 5 bytes + +UnnamedText_55814: ; 0x55814 + TX_FAR _UnnamedText_55814 + db $50 +; 0x55814 + 5 bytes + +Route9Text11: ; 0x55819 + TX_FAR _Route9Text11 + db $50 + +Route13Script: ; 0x5581e + call $3c3c + ld hl, Route13TrainerHeaders + ld de, Route13Script_Unknown55831 + ld a, [$d61a] + call $3160 + ld [$d61a], a + ret +; 0x55831 + +Route13Script_Unknown55831: ; 0x55831 +INCBIN "baserom.gbc",$55831,$6 + +Route13Texts: ; 0x55837 + dw Route13Text1, Route13Text2, Route13Text3, Route13Text4, Route13Text5, Route13Text6, Route13Text7, Route13Text8, Route13Text9, Route13Text10, Route13Text11, Route13Text12, Route13Text13 + +Route13TrainerHeaders: +TrainerHeader_55851: ; 0x55851 + db $1 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7d9 ; flag's byte + dw UnnamedText_558d4 ; 0x58d4 TextBeforeBattle + dw UnnamedText_558de ; 0x58de TextAfterBattle + dw UnnamedText_558d9 ; 0x58d9 TextEndBattle + dw UnnamedText_558d9 ; 0x58d9 TextEndBattle +; 0x5585d + +TrainerHeader_5585d: ; 0x5585d + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7d9 ; flag's byte + dw UnnamedText_558ed ; 0x58ed TextBeforeBattle + dw UnnamedText_558f7 ; 0x58f7 TextAfterBattle + dw UnnamedText_558f2 ; 0x58f2 TextEndBattle + dw UnnamedText_558f2 ; 0x58f2 TextEndBattle +; 0x55869 + +TrainerHeader_55869: ; 0x55869 + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7d9 ; flag's byte + dw UnnamedText_55906 ; 0x5906 TextBeforeBattle + dw UnnamedText_55910 ; 0x5910 TextAfterBattle + dw UnnamedText_5590b ; 0x590b TextEndBattle + dw UnnamedText_5590b ; 0x590b TextEndBattle +; 0x55875 + +TrainerHeader_55875: ; 0x55875 + db $4 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7d9 ; flag's byte + dw UnnamedText_5591f ; 0x591f TextBeforeBattle + dw UnnamedText_55929 ; 0x5929 TextAfterBattle + dw UnnamedText_55924 ; 0x5924 TextEndBattle + dw UnnamedText_55924 ; 0x5924 TextEndBattle +; 0x55881 + +TrainerHeader_55881: ; 0x55881 + db $5 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d9 ; flag's byte + dw UnnamedText_55938 ; 0x5938 TextBeforeBattle + dw UnnamedText_55942 ; 0x5942 TextAfterBattle + dw UnnamedText_5593d ; 0x593d TextEndBattle + dw UnnamedText_5593d ; 0x593d TextEndBattle +; 0x5588d + +TrainerHeader_5588d: ; 0x5588d + db $6 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7d9 ; flag's byte + dw UnnamedText_55951 ; 0x5951 TextBeforeBattle + dw UnnamedText_5595b ; 0x595b TextAfterBattle + dw UnnamedText_55956 ; 0x5956 TextEndBattle + dw UnnamedText_55956 ; 0x5956 TextEndBattle +; 0x55899 + +TrainerHeader_55899: ; 0x55899 + db $7 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d9 ; flag's byte + dw UnnamedText_5596a ; 0x596a TextBeforeBattle + dw UnnamedText_55974 ; 0x5974 TextAfterBattle + dw UnnamedText_5596f ; 0x596f TextEndBattle + dw UnnamedText_5596f ; 0x596f TextEndBattle +; 0x558a5 + +TrainerHeader_558a5: ; 0x558a5 + db $8 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7d9 ; flag's byte + dw UnnamedText_55983 ; 0x5983 TextBeforeBattle + dw UnnamedText_5598d ; 0x598d TextAfterBattle + dw UnnamedText_55988 ; 0x5988 TextEndBattle + dw UnnamedText_55988 ; 0x5988 TextEndBattle +; 0x558b1 + +TrainerHeader_558b1: ; 0x558b1 + db $9 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7d9 ; flag's byte + dw UnnamedText_5599c ; 0x599c TextBeforeBattle + dw UnnamedText_559a6 ; 0x59a6 TextAfterBattle + dw UnnamedText_559a1 ; 0x59a1 TextEndBattle + dw UnnamedText_559a1 ; 0x59a1 TextEndBattle +; 0x558bd + +TrainerHeader_558bd: ; 0x558bd + db $a ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d9 ; flag's byte + dw UnnamedText_559b5 ; 0x59b5 TextBeforeBattle + dw UnnamedText_559bf ; 0x59bf TextAfterBattle + dw UnnamedText_559ba ; 0x59ba TextEndBattle + dw UnnamedText_559ba ; 0x59ba TextEndBattle +; 0x558c9 + +db $ff + +Route13Text1: ; 0x558ca + db $08 ; asm + ld hl, TrainerHeader_55851 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_558d4: ; 0x558d4 + TX_FAR _UnnamedText_558d4 + db $50 +; 0x558d4 + 5 bytes + +UnnamedText_558d9: ; 0x558d9 + TX_FAR _UnnamedText_558d9 + db $50 +; 0x558d9 + 5 bytes + +UnnamedText_558de: ; 0x558de + TX_FAR _UnnamedText_558de + db $50 +; 0x558de + 5 bytes + +Route13Text2: ; 0x558e3 + db $08 ; asm + ld hl, TrainerHeader_5585d + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_558ed: ; 0x558ed + TX_FAR _UnnamedText_558ed + db $50 +; 0x558ed + 5 bytes + +UnnamedText_558f2: ; 0x558f2 + TX_FAR _UnnamedText_558f2 + db $50 +; 0x558f2 + 5 bytes + +UnnamedText_558f7: ; 0x558f7 + TX_FAR _UnnamedText_558f7 + db $50 +; 0x558f7 + 5 bytes + +Route13Text3: ; 0x558fc + db $08 ; asm + ld hl, TrainerHeader_55869 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55906: ; 0x55906 + TX_FAR _UnnamedText_55906 + db $50 +; 0x55906 + 5 bytes + +UnnamedText_5590b: ; 0x5590b + TX_FAR _UnnamedText_5590b + db $50 +; 0x5590b + 5 bytes + +UnnamedText_55910: ; 0x55910 + TX_FAR _UnnamedText_55910 + db $50 +; 0x55910 + 5 bytes + +Route13Text4: ; 0x55915 + db $08 ; asm + ld hl, TrainerHeader_55875 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_5591f: ; 0x5591f + TX_FAR _UnnamedText_5591f + db $50 +; 0x5591f + 5 bytes + +UnnamedText_55924: ; 0x55924 + TX_FAR _UnnamedText_55924 + db $50 +; 0x55924 + 5 bytes + +UnnamedText_55929: ; 0x55929 + TX_FAR _UnnamedText_55929 + db $50 +; 0x55929 + 5 bytes + +Route13Text5: ; 0x5592e + db $08 ; asm + ld hl, TrainerHeader_55881 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55938: ; 0x55938 + TX_FAR _UnnamedText_55938 + db $50 +; 0x55938 + 5 bytes + +UnnamedText_5593d: ; 0x5593d + TX_FAR _UnnamedText_5593d + db $50 +; 0x5593d + 5 bytes + +UnnamedText_55942: ; 0x55942 + TX_FAR _UnnamedText_55942 + db $50 +; 0x55942 + 5 bytes + +Route13Text6: ; 0x55947 + db $08 ; asm + ld hl, TrainerHeader_5588d + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55951: ; 0x55951 + TX_FAR _UnnamedText_55951 + db $50 +; 0x55951 + 5 bytes + +UnnamedText_55956: ; 0x55956 + TX_FAR _UnnamedText_55956 + db $50 +; 0x55956 + 5 bytes + +UnnamedText_5595b: ; 0x5595b + TX_FAR _UnnamedText_5595b + db $50 +; 0x5595b + 5 bytes + +Route13Text7: ; 0x55960 + db $08 ; asm + ld hl, TrainerHeader_55899 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_5596a: ; 0x5596a + TX_FAR _UnnamedText_5596a + db $50 +; 0x5596a + 5 bytes + +UnnamedText_5596f: ; 0x5596f + TX_FAR _UnnamedText_5596f + db $50 +; 0x5596f + 5 bytes + +UnnamedText_55974: ; 0x55974 + TX_FAR _UnnamedText_55974 + db $50 +; 0x55974 + 5 bytes + +Route13Text8: ; 0x55979 + db $08 ; asm + ld hl, TrainerHeader_558a5 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55983: ; 0x55983 + TX_FAR _UnnamedText_55983 + db $50 +; 0x55983 + 5 bytes + +UnnamedText_55988: ; 0x55988 + TX_FAR _UnnamedText_55988 + db $50 +; 0x55988 + 5 bytes + +UnnamedText_5598d: ; 0x5598d + TX_FAR _UnnamedText_5598d + db $50 +; 0x5598d + 5 bytes + +Route13Text9: ; 0x55992 + db $08 ; asm + ld hl, TrainerHeader_558b1 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_5599c: ; 0x5599c + TX_FAR _UnnamedText_5599c + db $50 +; 0x5599c + 5 bytes + +UnnamedText_559a1: ; 0x559a1 + TX_FAR _UnnamedText_559a1 + db $50 +; 0x559a1 + 5 bytes + +UnnamedText_559a6: ; 0x559a6 + TX_FAR _UnnamedText_559a6 + db $50 +; 0x559a6 + 5 bytes + +Route13Text10: ; 0x559ab + db $08 ; asm + ld hl, TrainerHeader_558bd + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_559b5: ; 0x559b5 + TX_FAR _UnnamedText_559b5 + db $50 +; 0x559b5 + 5 bytes + +UnnamedText_559ba: ; 0x559ba + TX_FAR _UnnamedText_559ba + db $50 +; 0x559ba + 5 bytes + +UnnamedText_559bf: ; 0x559bf + TX_FAR _UnnamedText_559bf + db $50 +; 0x559bf + 5 bytes + +Route13Text11: ; 0x559c4 + TX_FAR _Route13Text11 + db $50 + +Route13Text12: ; 0x559c9 + TX_FAR _Route13Text12 + db $50 + +Route13Text13: ; 0x559ce + TX_FAR _Route13Text13 + db $50 + +Route14Script: ; 0x559d3 + call $3c3c + ld hl, Route14TrainerHeaders + ld de, Unknown_559e6 + ld a, [$d61b] + call $3160 + ld [$d61b], a + ret +; 0x559e6 + +Unknown_559e6: ; 0x559e6 +INCBIN "baserom.gbc",$559e6,$6 + +Route14Texts: ; 0x559ec + dw Route14Text1, Route14Text2, Route14Text3, Route14Text4, Route14Text5, Route14Text6, Route14Text7, Route14Text8, Route14Text9, Route14Text10, Route14Text11 + +Route14TrainerHeaders: +Route14TrainerHeader1: ; 0x55a02 + db $1 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7db ; flag's byte + dw UnnamedText_55a85 ; 0x5a85 TextBeforeBattle + dw UnnamedText_55a8f ; 0x5a8f TextAfterBattle + dw UnnamedText_55a8a ; 0x5a8a TextEndBattle + dw UnnamedText_55a8a ; 0x5a8a TextEndBattle +; 0x55a0e + +TrainerHeader_55a0e: ; 0x55a0e + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7db ; flag's byte + dw UnnamedText_55a9e ; 0x5a9e TextBeforeBattle + dw UnnamedText_55aa8 ; 0x5aa8 TextAfterBattle + dw UnnamedText_55aa3 ; 0x5aa3 TextEndBattle + dw UnnamedText_55aa3 ; 0x5aa3 TextEndBattle +; 0x55a1a + +TrainerHeader_55a1a: ; 0x55a1a + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7db ; flag's byte + dw UnnamedText_55ab7 ; 0x5ab7 TextBeforeBattle + dw UnnamedText_55ac1 ; 0x5ac1 TextAfterBattle + dw UnnamedText_55abc ; 0x5abc TextEndBattle + dw UnnamedText_55abc ; 0x5abc TextEndBattle +; 0x55a26 + +TrainerHeader_55a26: ; 0x55a26 + db $4 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7db ; flag's byte + dw UnnamedText_55ad0 ; 0x5ad0 TextBeforeBattle + dw UnnamedText_55ada ; 0x5ada TextAfterBattle + dw UnnamedText_55ad5 ; 0x5ad5 TextEndBattle + dw UnnamedText_55ad5 ; 0x5ad5 TextEndBattle +; 0x55a32 + +TrainerHeader_55a32: ; 0x55a32 + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7db ; flag's byte + dw UnnamedText_55ae9 ; 0x5ae9 TextBeforeBattle + dw UnnamedText_55af3 ; 0x5af3 TextAfterBattle + dw UnnamedText_55aee ; 0x5aee TextEndBattle + dw UnnamedText_55aee ; 0x5aee TextEndBattle +; 0x55a3e + +TrainerHeader_55a3e: ; 0x55a3e + db $6 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7db ; flag's byte + dw UnnamedText_55b02 ; 0x5b02 TextBeforeBattle + dw UnnamedText_55b0c ; 0x5b0c TextAfterBattle + dw UnnamedText_55b07 ; 0x5b07 TextEndBattle + dw UnnamedText_55b07 ; 0x5b07 TextEndBattle +; 0x55a4a + +TrainerHeader_55a4a: ; 0x55a4a + db $7 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7db ; flag's byte + dw UnnamedText_55b1b ; 0x5b1b TextBeforeBattle + dw UnnamedText_55b25 ; 0x5b25 TextAfterBattle + dw UnnamedText_55b20 ; 0x5b20 TextEndBattle + dw UnnamedText_55b20 ; 0x5b20 TextEndBattle +; 0x55a56 + +TrainerHeader_55a56: ; 0x55a56 + db $8 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7db ; flag's byte + dw UnnamedText_55b34 ; 0x5b34 TextBeforeBattle + dw UnnamedText_55b3e ; 0x5b3e TextAfterBattle + dw UnnamedText_55b39 ; 0x5b39 TextEndBattle + dw UnnamedText_55b39 ; 0x5b39 TextEndBattle +; 0x55a62 + +TrainerHeader_55a62: ; 0x55a62 + db $9 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7db ; flag's byte + dw UnnamedText_55b4d ; 0x5b4d TextBeforeBattle + dw UnnamedText_55b57 ; 0x5b57 TextAfterBattle + dw UnnamedText_55b52 ; 0x5b52 TextEndBattle + dw UnnamedText_55b52 ; 0x5b52 TextEndBattle +; 0x55a6e + +TrainerHeader_55a6e: ; 0x55a6e + db $a ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7db ; flag's byte + dw UnnamedText_55b66 ; 0x5b66 TextBeforeBattle + dw UnnamedText_55b70 ; 0x5b70 TextAfterBattle + dw UnnamedText_55b6b ; 0x5b6b TextEndBattle + dw UnnamedText_55b6b ; 0x5b6b TextEndBattle +; 0x55a7a + +db $ff + +Route14Text1: ; 0x55a7b + db $08 ; asm + ld hl, Route14TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55a85: ; 0x55a85 + TX_FAR _UnnamedText_55a85 + db $50 +; 0x55a85 + 5 bytes + +UnnamedText_55a8a: ; 0x55a8a + TX_FAR _UnnamedText_55a8a + db $50 +; 0x55a8a + 5 bytes + +UnnamedText_55a8f: ; 0x55a8f + TX_FAR _UnnamedText_55a8f + db $50 +; 0x55a8f + 5 bytes + +Route14Text2: ; 0x55a94 + db $08 ; asm + ld hl, TrainerHeader_55a0e + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55a9e: ; 0x55a9e + TX_FAR _UnnamedText_55a9e + db $50 +; 0x55a9e + 5 bytes + +UnnamedText_55aa3: ; 0x55aa3 + TX_FAR _UnnamedText_55aa3 + db $50 +; 0x55aa3 + 5 bytes + +UnnamedText_55aa8: ; 0x55aa8 + TX_FAR _UnnamedText_55aa8 + db $50 +; 0x55aa8 + 5 bytes + +Route14Text3: ; 0x55aad + db $08 ; asm + ld hl, TrainerHeader_55a1a + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55ab7: ; 0x55ab7 + TX_FAR _UnnamedText_55ab7 + db $50 +; 0x55ab7 + 5 bytes + +UnnamedText_55abc: ; 0x55abc + TX_FAR _UnnamedText_55abc + db $50 +; 0x55abc + 5 bytes + +UnnamedText_55ac1: ; 0x55ac1 + TX_FAR _UnnamedText_55ac1 + db $50 +; 0x55ac1 + 5 bytes + +Route14Text4: ; 0x55ac6 + db $08 ; asm + ld hl, TrainerHeader_55a26 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55ad0: ; 0x55ad0 + TX_FAR _UnnamedText_55ad0 + db $50 +; 0x55ad0 + 5 bytes + +UnnamedText_55ad5: ; 0x55ad5 + TX_FAR _UnnamedText_55ad5 + db $50 +; 0x55ad5 + 5 bytes + +UnnamedText_55ada: ; 0x55ada + TX_FAR _UnnamedText_55ada + db $50 +; 0x55ada + 5 bytes + +Route14Text5: ; 0x55adf + db $08 ; asm + ld hl, TrainerHeader_55a32 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55ae9: ; 0x55ae9 + TX_FAR _UnnamedText_55ae9 + db $50 +; 0x55ae9 + 5 bytes + +UnnamedText_55aee: ; 0x55aee + TX_FAR _UnnamedText_55aee + db $50 +; 0x55aee + 5 bytes + +UnnamedText_55af3: ; 0x55af3 + TX_FAR _UnnamedText_55af3 + db $50 +; 0x55af3 + 5 bytes + +Route14Text6: ; 0x55af8 + db $08 ; asm + ld hl, TrainerHeader_55a3e + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55b02: ; 0x55b02 + TX_FAR _UnnamedText_55b02 + db $50 +; 0x55b02 + 5 bytes + +UnnamedText_55b07: ; 0x55b07 + TX_FAR _UnnamedText_55b07 + db $50 +; 0x55b07 + 5 bytes + +UnnamedText_55b0c: ; 0x55b0c + TX_FAR _UnnamedText_55b0c + db $50 +; 0x55b0c + 5 bytes + +Route14Text7: ; 0x55b11 + db $08 ; asm + ld hl, TrainerHeader_55a4a + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55b1b: ; 0x55b1b + TX_FAR _UnnamedText_55b1b + db $50 +; 0x55b1b + 5 bytes + +UnnamedText_55b20: ; 0x55b20 + TX_FAR _UnnamedText_55b20 + db $50 +; 0x55b20 + 5 bytes + +UnnamedText_55b25: ; 0x55b25 + TX_FAR _UnnamedText_55b25 + db $50 +; 0x55b25 + 5 bytes + +Route14Text8: ; 0x55b2a + db $08 ; asm + ld hl, TrainerHeader_55a56 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55b34: ; 0x55b34 + TX_FAR _UnnamedText_55b34 + db $50 +; 0x55b34 + 5 bytes + +UnnamedText_55b39: ; 0x55b39 + TX_FAR _UnnamedText_55b39 + db $50 +; 0x55b39 + 5 bytes + +UnnamedText_55b3e: ; 0x55b3e + TX_FAR _UnnamedText_55b3e + db $50 +; 0x55b3e + 5 bytes + +Route14Text9: ; 0x55b43 + db $08 ; asm + ld hl, TrainerHeader_55a62 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55b4d: ; 0x55b4d + TX_FAR _UnnamedText_55b4d + db $50 +; 0x55b4d + 5 bytes + +UnnamedText_55b52: ; 0x55b52 + TX_FAR _UnnamedText_55b52 + db $50 +; 0x55b52 + 5 bytes + +UnnamedText_55b57: ; 0x55b57 + TX_FAR _UnnamedText_55b57 + db $50 +; 0x55b57 + 5 bytes + +Route14Text10: ; 0x55b5c + db $08 ; asm + ld hl, TrainerHeader_55a6e + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55b66: ; 0x55b66 + TX_FAR _UnnamedText_55b66 + db $50 +; 0x55b66 + 5 bytes + +UnnamedText_55b6b: ; 0x55b6b + TX_FAR _UnnamedText_55b6b + db $50 +; 0x55b6b + 5 bytes + +UnnamedText_55b70: ; 0x55b70 + TX_FAR _UnnamedText_55b70 + db $50 +; 0x55b70 + 5 bytes + +Route14Text11: ; 0x55b75 + TX_FAR _Route14Text11 + db $50 + +Route17Script: ; 0x55b7a + call $3c3c + ld hl, Route17TrainerHeaders + ld de, Route17_Unknown55b8d + ld a, [$d61c] + call $3160 + ld [$d61c], a + ret +; 0x55b8d + +Route17_Unknown55b8d: ; 0x55b8d +INCBIN "baserom.gbc",$55b8d,$6 + +Route17Texts: ; 0x55b93 + dw Route17Text1, Route17Text2, Route17Text3, Route17Text4, Route17Text5, Route17Text6, Route17Text7, Route17Text8, Route17Text9, Route17Text10, Route17Text11, Route17Text12, Route17Text13, Route17Text14, Route17Text15, Route17Text16 + +Route17TrainerHeaders: +Route17TrainerHeader1: ; 0x55bb3 + db $1 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7e1 ; flag's byte + dw UnnamedText_55c36 ; 0x5c36 TextBeforeBattle + dw UnnamedText_55c40 ; 0x5c40 TextAfterBattle + dw UnnamedText_55c3b ; 0x5c3b TextEndBattle + dw UnnamedText_55c3b ; 0x5c3b TextEndBattle +; 0x55bbf + +TrainerHeader_55bbf: ; 0x55bbf + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e1 ; flag's byte + dw UnnamedText_55c4f ; 0x5c4f TextBeforeBattle + dw UnnamedText_55c59 ; 0x5c59 TextAfterBattle + dw UnnamedText_55c54 ; 0x5c54 TextEndBattle + dw UnnamedText_55c54 ; 0x5c54 TextEndBattle +; 0x55bcb + +TrainerHeader_55bcb: ; 0x55bcb + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e1 ; flag's byte + dw UnnamedText_55c68 ; 0x5c68 TextBeforeBattle + dw UnnamedText_55c72 ; 0x5c72 TextAfterBattle + dw UnnamedText_55c6d ; 0x5c6d TextEndBattle + dw UnnamedText_55c6d ; 0x5c6d TextEndBattle +; 0x55bd7 + +TrainerHeader_55bd7: ; 0x55bd7 + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e1 ; flag's byte + dw UnnamedText_55c81 ; 0x5c81 TextBeforeBattle + dw UnnamedText_55c8b ; 0x5c8b TextAfterBattle + dw UnnamedText_55c86 ; 0x5c86 TextEndBattle + dw UnnamedText_55c86 ; 0x5c86 TextEndBattle +; 0x55be3 + +TrainerHeader_55be3: ; 0x55be3 + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7e1 ; flag's byte + dw UnnamedText_55c9a ; 0x5c9a TextBeforeBattle + dw UnnamedText_55ca4 ; 0x5ca4 TextAfterBattle + dw UnnamedText_55c9f ; 0x5c9f TextEndBattle + dw UnnamedText_55c9f ; 0x5c9f TextEndBattle +; 0x55bef + +TrainerHeader_55bef: ; 0x55bef + db $6 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7e1 ; flag's byte + dw UnnamedText_55cb3 ; 0x5cb3 TextBeforeBattle + dw UnnamedText_55cbd ; 0x5cbd TextAfterBattle + dw UnnamedText_55cb8 ; 0x5cb8 TextEndBattle + dw UnnamedText_55cb8 ; 0x5cb8 TextEndBattle +; 0x55bfb + +TrainerHeader_55bfb: ; 0x55bfb + db $7 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e1 ; flag's byte + dw UnnamedText_55ccc ; 0x5ccc TextBeforeBattle + dw UnnamedText_55cd6 ; 0x5cd6 TextAfterBattle + dw UnnamedText_55cd1 ; 0x5cd1 TextEndBattle + dw UnnamedText_55cd1 ; 0x5cd1 TextEndBattle +; 0x55c07 + +TrainerHeader_55c07: ; 0x55c07 + db $8 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7e1 ; flag's byte + dw UnnamedText_55ce5 ; 0x5ce5 TextBeforeBattle + dw UnnamedText_55cef ; 0x5cef TextAfterBattle + dw UnnamedText_55cea ; 0x5cea TextEndBattle + dw UnnamedText_55cea ; 0x5cea TextEndBattle +; 0x55c13 + +TrainerHeader_55c13: ; 0x55c13 + db $9 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7e1 ; flag's byte + dw UnnamedText_55cfe ; 0x5cfe TextBeforeBattle + dw UnnamedText_55d08 ; 0x5d08 TextAfterBattle + dw UnnamedText_55d03 ; 0x5d03 TextEndBattle + dw UnnamedText_55d03 ; 0x5d03 TextEndBattle +; 0x55c1f + +TrainerHeader_55c1f: ; 0x55c1f + db $a ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e1 ; flag's byte + dw UnnamedText_55d17 ; 0x5d17 TextBeforeBattle + dw UnnamedText_55d21 ; 0x5d21 TextAfterBattle + dw UnnamedText_55d1c ; 0x5d1c TextEndBattle + dw UnnamedText_55d1c ; 0x5d1c TextEndBattle +; 0x55c2b + +db $ff + +Route17Text1: ; 0x55c2c + db $08 ; asm + ld hl, Route17TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55c36: ; 0x55c36 + TX_FAR _UnnamedText_55c36 + db $50 +; 0x55c36 + 5 bytes + +UnnamedText_55c3b: ; 0x55c3b + TX_FAR _UnnamedText_55c3b + db $50 +; 0x55c3b + 5 bytes + +UnnamedText_55c40: ; 0x55c40 + TX_FAR _UnnamedText_55c40 + db $50 +; 0x55c40 + 5 bytes + +Route17Text2: ; 0x55c45 + db $08 ; asm + ld hl, TrainerHeader_55bbf + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55c4f: ; 0x55c4f + TX_FAR _UnnamedText_55c4f + db $50 +; 0x55c4f + 5 bytes + +UnnamedText_55c54: ; 0x55c54 + TX_FAR _UnnamedText_55c54 + db $50 +; 0x55c54 + 5 bytes + +UnnamedText_55c59: ; 0x55c59 + TX_FAR _UnnamedText_55c59 + db $50 +; 0x55c59 + 5 bytes + +Route17Text3: ; 0x55c5e + db $08 ; asm + ld hl, TrainerHeader_55bcb + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55c68: ; 0x55c68 + TX_FAR _UnnamedText_55c68 + db $50 +; 0x55c68 + 5 bytes + +UnnamedText_55c6d: ; 0x55c6d + TX_FAR _UnnamedText_55c6d + db $50 +; 0x55c6d + 5 bytes + +UnnamedText_55c72: ; 0x55c72 + TX_FAR _UnnamedText_55c72 + db $50 +; 0x55c72 + 5 bytes + +Route17Text4: ; 0x55c77 + db $08 ; asm + ld hl, TrainerHeader_55bd7 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55c81: ; 0x55c81 + TX_FAR _UnnamedText_55c81 + db $50 +; 0x55c81 + 5 bytes + +UnnamedText_55c86: ; 0x55c86 + TX_FAR _UnnamedText_55c86 + db $50 +; 0x55c86 + 5 bytes + +UnnamedText_55c8b: ; 0x55c8b + TX_FAR _UnnamedText_55c8b + db $50 +; 0x55c8b + 5 bytes + +Route17Text5: ; 0x55c90 + db $08 ; asm + ld hl, TrainerHeader_55be3 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55c9a: ; 0x55c9a + TX_FAR _UnnamedText_55c9a + db $50 +; 0x55c9a + 5 bytes + +UnnamedText_55c9f: ; 0x55c9f + TX_FAR _UnnamedText_55c9f + db $50 +; 0x55c9f + 5 bytes + +UnnamedText_55ca4: ; 0x55ca4 + TX_FAR _UnnamedText_55ca4 + db $50 +; 0x55ca4 + 5 bytes + +Route17Text6: ; 0x55ca9 + db $08 ; asm + ld hl, TrainerHeader_55bef + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55cb3: ; 0x55cb3 + TX_FAR _UnnamedText_55cb3 + db $50 +; 0x55cb3 + 5 bytes + +UnnamedText_55cb8: ; 0x55cb8 + TX_FAR _UnnamedText_55cb8 + db $50 +; 0x55cb8 + 5 bytes + +UnnamedText_55cbd: ; 0x55cbd + TX_FAR _UnnamedText_55cbd + db $50 +; 0x55cbd + 5 bytes + +Route17Text7: ; 0x55cc2 + db $08 ; asm + ld hl, TrainerHeader_55bfb + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55ccc: ; 0x55ccc + TX_FAR _UnnamedText_55ccc + db $50 +; 0x55ccc + 5 bytes + +UnnamedText_55cd1: ; 0x55cd1 + TX_FAR _UnnamedText_55cd1 + db $50 +; 0x55cd1 + 5 bytes + +UnnamedText_55cd6: ; 0x55cd6 + TX_FAR _UnnamedText_55cd6 + db $50 +; 0x55cd6 + 5 bytes + +Route17Text8: ; 0x55cdb + db $08 ; asm + ld hl, TrainerHeader_55c07 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55ce5: ; 0x55ce5 + TX_FAR _UnnamedText_55ce5 + db $50 +; 0x55ce5 + 5 bytes + +UnnamedText_55cea: ; 0x55cea + TX_FAR _UnnamedText_55cea + db $50 +; 0x55cea + 5 bytes + +UnnamedText_55cef: ; 0x55cef + TX_FAR _UnnamedText_55cef + db $50 +; 0x55cef + 5 bytes + +Route17Text9: ; 0x55cf4 + db $08 ; asm + ld hl, TrainerHeader_55c13 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55cfe: ; 0x55cfe + TX_FAR _UnnamedText_55cfe + db $50 +; 0x55cfe + 5 bytes + +UnnamedText_55d03: ; 0x55d03 + TX_FAR _UnnamedText_55d03 + db $50 +; 0x55d03 + 5 bytes + +UnnamedText_55d08: ; 0x55d08 + TX_FAR _UnnamedText_55d08 + db $50 +; 0x55d08 + 5 bytes + +Route17Text10: ; 0x55d0d + db $08 ; asm + ld hl, TrainerHeader_55c1f + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55d17: ; 0x55d17 + TX_FAR _UnnamedText_55d17 + db $50 +; 0x55d17 + 5 bytes + +UnnamedText_55d1c: ; 0x55d1c + TX_FAR _UnnamedText_55d1c + db $50 +; 0x55d1c + 5 bytes + +UnnamedText_55d21: ; 0x55d21 + TX_FAR _UnnamedText_55d21 + db $50 +; 0x55d21 + 5 bytes + +Route17Text11: ; 0x55d26 + TX_FAR _Route17Text11 + db $50 + +Route17Text12: ; 0x55d2b + TX_FAR _Route17Text12 + db $50 + +Route17Text13: ; 0x55d30 + TX_FAR _Route17Text13 + db $50 + +Route17Text14: ; 0x55d35 + TX_FAR _Route17Text14 + db $50 + +Route17Text15: ; 0x55d3a + TX_FAR _Route17Text15 + db $50 + +Route17Text16: ; 0x55d3f + TX_FAR _Route17Text16 + db $50 + +Route19Script: ; 0x55d44 + call $3c3c + ld hl, Route19TrainerHeaders + ld de, Route19_Unknown55d57 + ld a, [$d61d] + call $3160 + ld [$d61d], a + ret +; 0x55d57 + +Route19_Unknown55d57: ; 0x55d57 +INCBIN "baserom.gbc",$55d57,$6 + +Route19Texts: ; 0x55d5d + dw Route19Text1, Route19Text2, Route19Text3, Route19Text4, Route19Text5, Route19Text6, Route19Text7, Route19Text8, Route19Text9, Route19Text10, Route19Text11 + +Route19TrainerHeaders: +Route19TrainerHeader1: ; 0x55d73 + db $1 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e5 ; flag's byte + dw UnnamedText_55e50 ; 0x5e50 TextBeforeBattle + dw UnnamedText_55e5a ; 0x5e5a TextAfterBattle + dw UnnamedText_55e55 ; 0x5e55 TextEndBattle + dw UnnamedText_55e55 ; 0x5e55 TextEndBattle +; 0x55d7f + +TrainerHeader_55d7f: ; 0x55d7f + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7e5 ; flag's byte + dw UnnamedText_55e5f ; 0x5e5f TextBeforeBattle + dw UnnamedText_55e69 ; 0x5e69 TextAfterBattle + dw UnnamedText_55e64 ; 0x5e64 TextEndBattle + dw UnnamedText_55e64 ; 0x5e64 TextEndBattle +; 0x55d8b + +TrainerHeader_55d8b: ; 0x55d8b + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7e5 ; flag's byte + dw UnnamedText_55e6e ; 0x5e6e TextBeforeBattle + dw UnnamedText_55e78 ; 0x5e78 TextAfterBattle + dw UnnamedText_55e73 ; 0x5e73 TextEndBattle + dw UnnamedText_55e73 ; 0x5e73 TextEndBattle +; 0x55d97 + +TrainerHeader_55d97: ; 0x55d97 + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e5 ; flag's byte + dw UnnamedText_55e7d ; 0x5e7d TextBeforeBattle + dw UnnamedText_55e87 ; 0x5e87 TextAfterBattle + dw UnnamedText_55e82 ; 0x5e82 TextEndBattle + dw UnnamedText_55e82 ; 0x5e82 TextEndBattle +; 0x55da3 + +TrainerHeader_55da3: ; 0x55da3 + db $5 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e5 ; flag's byte + dw UnnamedText_55e8c ; 0x5e8c TextBeforeBattle + dw UnnamedText_55e96 ; 0x5e96 TextAfterBattle + dw UnnamedText_55e91 ; 0x5e91 TextEndBattle + dw UnnamedText_55e91 ; 0x5e91 TextEndBattle +; 0x55daf + +TrainerHeader_55daf: ; 0x55daf + db $6 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e5 ; flag's byte + dw UnnamedText_55e9b ; 0x5e9b TextBeforeBattle + dw UnnamedText_55ea5 ; 0x5ea5 TextAfterBattle + dw UnnamedText_55ea0 ; 0x5ea0 TextEndBattle + dw UnnamedText_55ea0 ; 0x5ea0 TextEndBattle +; 0x55dbb + +TrainerHeader_55dbb: ; 0x55dbb + db $7 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7e5 ; flag's byte + dw UnnamedText_55eaa ; 0x5eaa TextBeforeBattle + dw UnnamedText_55eb4 ; 0x5eb4 TextAfterBattle + dw UnnamedText_55eaf ; 0x5eaf TextEndBattle + dw UnnamedText_55eaf ; 0x5eaf TextEndBattle +; 0x55dc7 + +TrainerHeader_55dc7: ; 0x55dc7 + db $8 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e5 ; flag's byte + dw UnnamedText_55eb9 ; 0x5eb9 TextBeforeBattle + dw UnnamedText_55ec3 ; 0x5ec3 TextAfterBattle + dw UnnamedText_55ebe ; 0x5ebe TextEndBattle + dw UnnamedText_55ebe ; 0x5ebe TextEndBattle +; 0x55dd3 + +TrainerHeader_55dd3: ; 0x55dd3 + db $9 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e5 ; flag's byte + dw UnnamedText_55ec8 ; 0x5ec8 TextBeforeBattle + dw UnnamedText_55ed2 ; 0x5ed2 TextAfterBattle + dw UnnamedText_55ecd ; 0x5ecd TextEndBattle + dw UnnamedText_55ecd ; 0x5ecd TextEndBattle +; 0x55ddf + +TrainerHeader_55ddf: ; 0x55ddf + db $a ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e5 ; flag's byte + dw UnnamedText_55ed7 ; 0x5ed7 TextBeforeBattle + dw UnnamedText_55ee1 ; 0x5ee1 TextAfterBattle + dw UnnamedText_55edc ; 0x5edc TextEndBattle + dw UnnamedText_55edc ; 0x5edc TextEndBattle +; 0x55deb + +db $ff + +Route19Text1: ; 0x55dec + db $08 ; asm + ld hl, Route19TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +Route19Text2: ; 0x55df6 + db $08 ; asm + ld hl, TrainerHeader_55d7f + call LoadTrainerHeader + jp TextScriptEnd + +Route19Text3: ; 0x55e00 + db $08 ; asm + ld hl, TrainerHeader_55d8b + call LoadTrainerHeader + jp TextScriptEnd + +Route19Text4: ; 0x55e0a + db $08 ; asm + ld hl, TrainerHeader_55d97 + call LoadTrainerHeader + jp TextScriptEnd + +Route19Text5: ; 0x55e14 + db $08 ; asm + ld hl, TrainerHeader_55da3 + call LoadTrainerHeader + jp TextScriptEnd + +Route19Text6: ; 0x55e1e + db $08 ; asm + ld hl, TrainerHeader_55daf + call LoadTrainerHeader + jp TextScriptEnd + +Route19Text7: ; 0x55e28 + db $08 ; asm + ld hl, TrainerHeader_55dbb + call LoadTrainerHeader + jp TextScriptEnd + +Route19Text8: ; 0x55e32 + db $08 ; asm + ld hl, TrainerHeader_55dc7 + call LoadTrainerHeader + jp TextScriptEnd + +Route19Text9: ; 0x55e3c + db $08 ; asm + ld hl, TrainerHeader_55dd3 + call LoadTrainerHeader + jp TextScriptEnd + +Route19Text10: ; 0x55e46 + db $08 ; asm + ld hl, TrainerHeader_55ddf + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55e50: ; 0x55e50 + TX_FAR _UnnamedText_55e50 + db $50 +; 0x55e50 + 5 bytes + +UnnamedText_55e55: ; 0x55e55 + TX_FAR _UnnamedText_55e55 + db $50 +; 0x55e55 + 5 bytes + +UnnamedText_55e5a: ; 0x55e5a + TX_FAR _UnnamedText_55e5a + db $50 +; 0x55e5a + 5 bytes + +UnnamedText_55e5f: ; 0x55e5f + TX_FAR _UnnamedText_55e5f + db $50 +; 0x55e5f + 5 bytes + +UnnamedText_55e64: ; 0x55e64 + TX_FAR _UnnamedText_55e64 + db $50 +; 0x55e64 + 5 bytes + +UnnamedText_55e69: ; 0x55e69 + TX_FAR _UnnamedText_55e69 + db $50 +; 0x55e69 + 5 bytes + +UnnamedText_55e6e: ; 0x55e6e + TX_FAR _UnnamedText_55e6e + db $50 +; 0x55e6e + 5 bytes + +UnnamedText_55e73: ; 0x55e73 + TX_FAR _UnnamedText_55e73 + db $50 +; 0x55e73 + 5 bytes + +UnnamedText_55e78: ; 0x55e78 + TX_FAR _UnnamedText_55e78 + db $50 +; 0x55e78 + 5 bytes + +UnnamedText_55e7d: ; 0x55e7d + TX_FAR _UnnamedText_55e7d + db $50 +; 0x55e7d + 5 bytes + +UnnamedText_55e82: ; 0x55e82 + TX_FAR _UnnamedText_55e82 + db $50 +; 0x55e82 + 5 bytes + +UnnamedText_55e87: ; 0x55e87 + TX_FAR _UnnamedText_55e87 + db $50 +; 0x55e87 + 5 bytes + +UnnamedText_55e8c: ; 0x55e8c + TX_FAR _UnnamedText_55e8c + db $50 +; 0x55e8c + 5 bytes + +UnnamedText_55e91: ; 0x55e91 + TX_FAR _UnnamedText_55e91 + db $50 +; 0x55e91 + 5 bytes + +UnnamedText_55e96: ; 0x55e96 + TX_FAR _UnnamedText_55e96 + db $50 +; 0x55e96 + 5 bytes + +UnnamedText_55e9b: ; 0x55e9b + TX_FAR _UnnamedText_55e9b + db $50 +; 0x55e9b + 5 bytes + +UnnamedText_55ea0: ; 0x55ea0 + TX_FAR _UnnamedText_55ea0 + db $50 +; 0x55ea0 + 5 bytes + +UnnamedText_55ea5: ; 0x55ea5 + TX_FAR _UnnamedText_55ea5 + db $50 +; 0x55ea5 + 5 bytes + +UnnamedText_55eaa: ; 0x55eaa + TX_FAR _UnnamedText_55eaa + db $50 +; 0x55eaa + 5 bytes + +UnnamedText_55eaf: ; 0x55eaf + TX_FAR _UnnamedText_55eaf + db $50 +; 0x55eaf + 5 bytes + +UnnamedText_55eb4: ; 0x55eb4 + TX_FAR _UnnamedText_55eb4 + db $50 +; 0x55eb4 + 5 bytes + +UnnamedText_55eb9: ; 0x55eb9 + TX_FAR _UnnamedText_55eb9 + db $50 +; 0x55eb9 + 5 bytes + +UnnamedText_55ebe: ; 0x55ebe + TX_FAR _UnnamedText_55ebe + db $50 +; 0x55ebe + 5 bytes + +UnnamedText_55ec3: ; 0x55ec3 + TX_FAR _UnnamedText_55ec3 + db $50 +; 0x55ec3 + 5 bytes + +UnnamedText_55ec8: ; 0x55ec8 + TX_FAR _UnnamedText_55ec8 + db $50 +; 0x55ec8 + 5 bytes + +UnnamedText_55ecd: ; 0x55ecd + TX_FAR _UnnamedText_55ecd + db $50 +; 0x55ecd + 5 bytes + +UnnamedText_55ed2: ; 0x55ed2 + TX_FAR _UnnamedText_55ed2 + db $50 +; 0x55ed2 + 5 bytes + +UnnamedText_55ed7: ; 0x55ed7 + TX_FAR _UnnamedText_55ed7 + db $50 +; 0x55ed7 + 5 bytes + +UnnamedText_55edc: ; 0x55edc + TX_FAR _UnnamedText_55edc + db $50 +; 0x55edc + 5 bytes + +UnnamedText_55ee1: ; 0x55ee1 + TX_FAR _UnnamedText_55ee1 + db $50 +; 0x55ee1 + 5 bytes + +Route19Text11: ; 0x55ee6 + TX_FAR _Route19Text11 + db $50 + +Route21Script: ; 0x55eeb + call $3c3c + ld hl, Route21TrainerHeaders + ld de, Route21_Unknown55efe + ld a, [$d61e] + call $3160 + ld [$d61e], a + ret +; 0x55efe + +Route21_Unknown55efe: ; 0x55efe +INCBIN "baserom.gbc",$55efe,$6 + +Route21Texts: ; 0x55f04 + dw Route21Text1, Route21Text2, Route21Text3, Route21Text4, Route21Text5, Route21Text6, Route21Text7, Route21Text8, Route21Text9 + +Route21TrainerHeaders: +Route21TrainerHeader1: ; 0x55f16 + db $1 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d7e9 ; flag's byte + dw UnnamedText_55fdd ; 0x5fdd TextBeforeBattle + dw UnnamedText_55fe7 ; 0x5fe7 TextAfterBattle + dw UnnamedText_55fe2 ; 0x5fe2 TextEndBattle + dw UnnamedText_55fe2 ; 0x5fe2 TextEndBattle +; 0x55f22 + +TrainerHeader_55f22: ; 0x55f22 + db $2 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d7e9 ; flag's byte + dw UnnamedText_55fec ; 0x5fec TextBeforeBattle + dw UnnamedText_55ff6 ; 0x5ff6 TextAfterBattle + dw UnnamedText_55ff1 ; 0x5ff1 TextEndBattle + dw UnnamedText_55ff1 ; 0x5ff1 TextEndBattle +; 0x55f2e + +TrainerHeader_55f2e: ; 0x55f2e + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e9 ; flag's byte + dw UnnamedText_55ffb ; 0x5ffb TextBeforeBattle + dw UnnamedText_56005 ; 0x6005 TextAfterBattle + dw UnnamedText_56000 ; 0x6000 TextEndBattle + dw UnnamedText_56000 ; 0x6000 TextEndBattle +; 0x55f3a + +TrainerHeader_55f3a: ; 0x55f3a + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e9 ; flag's byte + dw UnnamedText_5600a ; 0x600a TextBeforeBattle + dw UnnamedText_56014 ; 0x6014 TextAfterBattle + dw UnnamedText_5600f ; 0x600f TextEndBattle + dw UnnamedText_5600f ; 0x600f TextEndBattle +; 0x55f46 + +TrainerHeader_55f46: ; 0x55f46 + db $5 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e9 ; flag's byte + dw UnnamedText_56019 ; 0x6019 TextBeforeBattle + dw UnnamedText_56023 ; 0x6023 TextAfterBattle + dw UnnamedText_5601e ; 0x601e TextEndBattle + dw UnnamedText_5601e ; 0x601e TextEndBattle +; 0x55f52 + +TrainerHeader_55f52: ; 0x55f52 + db $6 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e9 ; flag's byte + dw UnnamedText_56028 ; 0x6028 TextBeforeBattle + dw UnnamedText_56032 ; 0x6032 TextAfterBattle + dw UnnamedText_5602d ; 0x602d TextEndBattle + dw UnnamedText_5602d ; 0x602d TextEndBattle +; 0x55f5e + +TrainerHeader_55f5e: ; 0x55f5e + db $7 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7e9 ; flag's byte + dw UnnamedText_56037 ; 0x6037 TextBeforeBattle + dw UnnamedText_56041 ; 0x6041 TextAfterBattle + dw UnnamedText_5603c ; 0x603c TextEndBattle + dw UnnamedText_5603c ; 0x603c TextEndBattle +; 0x55f6a + +TrainerHeader_55f6a: ; 0x55f6a + db $8 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d7e9 ; flag's byte + dw UnnamedText_56046 ; 0x6046 TextBeforeBattle + dw UnnamedText_56050 ; 0x6050 TextAfterBattle + dw UnnamedText_5604b ; 0x604b TextEndBattle + dw UnnamedText_5604b ; 0x604b TextEndBattle +; 0x55f76 + +TrainerHeader_55f76: ; 0x55f76 + db $9 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d7e9 ; flag's byte + dw UnnamedText_56055 ; 0x6055 TextBeforeBattle + dw UnnamedText_5605f ; 0x605f TextAfterBattle + dw UnnamedText_5605a ; 0x605a TextEndBattle + dw UnnamedText_5605a ; 0x605a TextEndBattle +; 0x55f82 + +db $ff + +Route21Text1: ; 0x55f83 + db $08 ; asm + ld hl, Route21TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +Route21Text2: ; 0x55f8d + db $08 ; asm + ld hl, TrainerHeader_55f22 + call LoadTrainerHeader + jp TextScriptEnd + +Route21Text3: ; 0x55f97 + db $08 ; asm + ld hl, TrainerHeader_55f2e + call LoadTrainerHeader + jp TextScriptEnd + +Route21Text4: ; 0x55fa1 + db $08 ; asm + ld hl, TrainerHeader_55f3a + call LoadTrainerHeader + jp TextScriptEnd + +Route21Text5: ; 0x55fab + db $08 ; asm + ld hl, TrainerHeader_55f46 + call LoadTrainerHeader + jp TextScriptEnd + +Route21Text6: ; 0x55fb5 + db $08 ; asm + ld hl, TrainerHeader_55f52 + call LoadTrainerHeader + jp TextScriptEnd + +Route21Text7: ; 0x55fbf + db $08 ; asm + ld hl, TrainerHeader_55f5e + call LoadTrainerHeader + jp TextScriptEnd + +Route21Text8: ; 0x55fc9 + db $08 ; asm + ld hl, TrainerHeader_55f6a + call LoadTrainerHeader + jp TextScriptEnd + +Route21Text9: ; 0x55fd3 + db $08 ; asm + ld hl, TrainerHeader_55f76 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_55fdd: ; 0x55fdd + TX_FAR _UnnamedText_55fdd + db $50 +; 0x55fdd + 5 bytes + +UnnamedText_55fe2: ; 0x55fe2 + TX_FAR _UnnamedText_55fe2 + db $50 +; 0x55fe2 + 5 bytes + +UnnamedText_55fe7: ; 0x55fe7 + TX_FAR _UnnamedText_55fe7 + db $50 +; 0x55fe7 + 5 bytes + +UnnamedText_55fec: ; 0x55fec + TX_FAR _UnnamedText_55fec + db $50 +; 0x55fec + 5 bytes + +UnnamedText_55ff1: ; 0x55ff1 + TX_FAR _UnnamedText_55ff1 + db $50 +; 0x55ff1 + 5 bytes + +UnnamedText_55ff6: ; 0x55ff6 + TX_FAR _UnnamedText_55ff6 + db $50 +; 0x55ff6 + 5 bytes + +UnnamedText_55ffb: ; 0x55ffb + TX_FAR _UnnamedText_55ffb + db $50 +; 0x55ffb + 5 bytes + +UnnamedText_56000: ; 0x56000 + TX_FAR _UnnamedText_56000 + db $50 +; 0x56000 + 5 bytes + +UnnamedText_56005: ; 0x56005 + TX_FAR _UnnamedText_56005 + db $50 +; 0x56005 + 5 bytes + +UnnamedText_5600a: ; 0x5600a + TX_FAR _UnnamedText_5600a + db $50 +; 0x5600a + 5 bytes + +UnnamedText_5600f: ; 0x5600f + TX_FAR _UnnamedText_5600f + db $50 +; 0x5600f + 5 bytes + +UnnamedText_56014: ; 0x56014 + TX_FAR _UnnamedText_56014 + db $50 +; 0x56014 + 5 bytes + +UnnamedText_56019: ; 0x56019 + TX_FAR _UnnamedText_56019 + db $50 +; 0x56019 + 5 bytes + +UnnamedText_5601e: ; 0x5601e + TX_FAR _UnnamedText_5601e + db $50 +; 0x5601e + 5 bytes + +UnnamedText_56023: ; 0x56023 + TX_FAR _UnnamedText_56023 + db $50 +; 0x56023 + 5 bytes + +UnnamedText_56028: ; 0x56028 + TX_FAR _UnnamedText_56028 + db $50 +; 0x56028 + 5 bytes + +UnnamedText_5602d: ; 0x5602d + TX_FAR _UnnamedText_5602d + db $50 +; 0x5602d + 5 bytes + +UnnamedText_56032: ; 0x56032 + TX_FAR _UnnamedText_56032 + db $50 +; 0x56032 + 5 bytes + +UnnamedText_56037: ; 0x56037 + TX_FAR _UnnamedText_56037 + db $50 +; 0x56037 + 5 bytes + +UnnamedText_5603c: ; 0x5603c + TX_FAR _UnnamedText_5603c + db $50 +; 0x5603c + 5 bytes + +UnnamedText_56041: ; 0x56041 + TX_FAR _UnnamedText_56041 + db $50 +; 0x56041 + 5 bytes + +UnnamedText_56046: ; 0x56046 + TX_FAR _UnnamedText_56046 + db $50 +; 0x56046 + 5 bytes + +UnnamedText_5604b: ; 0x5604b + TX_FAR _UnnamedText_5604b + db $50 +; 0x5604b + 5 bytes + +UnnamedText_56050: ; 0x56050 + TX_FAR _UnnamedText_56050 + db $50 +; 0x56050 + 5 bytes + +UnnamedText_56055: ; 0x56055 + TX_FAR _UnnamedText_56055 + db $50 +; 0x56055 + 5 bytes + +UnnamedText_5605a: ; 0x5605a + TX_FAR _UnnamedText_5605a + db $50 +; 0x5605a + 5 bytes + +UnnamedText_5605f: ; 0x5605f + TX_FAR _UnnamedText_5605f + db $50 +; 0x5605f + 5 bytes + +VermilionHouse2_h: ; 0x56064 to 0x56070 (12 bytes) (id=163) + db $08 ; tileset + db VERMILION_HOUSE_2_HEIGHT, VERMILION_HOUSE_2_WIDTH ; dimensions (y, x) + dw VermilionHouse2Blocks, VermilionHouse2Texts, VermilionHouse2Script ; blocks, texts, scripts + db $00 ; connections + + dw VermilionHouse2Object ; objects + +VermilionHouse2Script: ; 0x56070 + jp $3c3c +; 0x56073 + +VermilionHouse2Texts: ; 0x56073 + dw VermilionHouse2Text1 + +VermilionHouse2Text1: ; 0x56075 + db $08 ; asm + ld a, [$d728] + bit 3, a + jr nz, asm_03ef5 ; 0x5607b + ld hl, UnnamedText_560b1 + call PrintText + call $35ec + ld a, [$cc26] + and a + jr nz, asm_eb1b7 ; 0x5608a + ld bc, (OLD_ROD << 8) | 1 + call GiveItem + jr nc, asm_fd67b ; 0x56092 + ld hl, $d728 + set 3, [hl] + ld hl, UnnamedText_560b6 + jr asm_5dd95 ; 0x5609c +asm_fd67b ; 0x5609e + ld hl, UnnamedText_560ca + jr asm_5dd95 ; 0x560a1 +asm_eb1b7 ; 0x560a3 + ld hl, UnnamedText_560c0 + jr asm_5dd95 ; 0x560a6 +asm_03ef5 ; 0x560a8 + ld hl, UnnamedText_560c5 +asm_5dd95 ; 0x560ab + call PrintText + jp TextScriptEnd + +UnnamedText_560b1: ; 0x560b1 + TX_FAR _UnnamedText_560b1 + db $50 +; 0x560b1 + 5 bytes + +UnnamedText_560b6: ; 0x560b6 + TX_FAR _UnnamedText_560b6 ; 0x9c554 + db $0B + TX_FAR _UnnamedText_560bb ; 0x9c5a4 + db $50 +; 0x560c0 + +UnnamedText_560c0: ; 0x560c0 + TX_FAR _UnnamedText_560c0 + db $50 +; 0x560c0 + 5 bytes + +UnnamedText_560c5: ; 0x560c5 + TX_FAR _UnnamedText_560c5 + db $50 +; 0x560c5 + 5 bytes + +UnnamedText_560ca: ; 0x560ca + TX_FAR _UnnamedText_560ca + db $50 +; 0x560ca + 5 bytes + +VermilionHouse2Object: ; 0x560cf (size=26) + db $a ; border tile + + db $2 ; warps + db $7, $2, $8, $ff + db $7, $3, $8, $ff + + db $0 ; signs + + db $1 ; people + db SPRITE_FISHER, $4 + 4, $2 + 4, $ff, $d3, $1 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + +CeladonMart2_h: ; 0x560e9 to 0x560f5 (12 bytes) (id=123) + db $12 ; tileset + db CELADON_MART_2_HEIGHT, CELADON_MART_2_WIDTH ; dimensions (y, x) + dw CeladonMart2Blocks, CeladonMart2Texts, CeladonMart2Script ; blocks, texts, scripts + db $00 ; connections + + dw CeladonMart2Object ; objects + +CeladonMart2Script: ; 0x560f5 + jp $3c3c +; 0x560f8 + +CeladonMart2Texts: ; 0x560f8 + dw CeladonMart2Text1, CeladonMart2Text2, CeladonMart2Text3, CeladonMart2Text4, CeladonMart2Text5 + +CeladonMart2Text3: ; 0x56102 + TX_FAR _CeladonMart2Text3 + db $50 + +CeladonMart2Text4: ; 0x56107 + TX_FAR _CeladonMart2Text4 + db $50 + +CeladonMart2Text5: ; 0x5610c + TX_FAR _CeladonMart2Text5 + db $50 + +CeladonMart2Object: ; 0x56111 (size=55) + db $f ; border tile + + db $3 ; warps + db $1, $c, $4, CELADON_MART_1 + db $1, $10, $1, CELADON_MART_3 + db $1, $1, $0, CELADON_MART_ELEVATOR + + db $1 ; signs + db $1, $e, $5 ; CeladonMart2Text5 + + db $4 ; people + db SPRITE_MART_GUY, $3 + 4, $5 + 4, $ff, $d0, $1 ; person + db SPRITE_MART_GUY, $3 + 4, $6 + 4, $ff, $d0, $2 ; person + db SPRITE_FAT_BALD_GUY, $5 + 4, $13 + 4, $ff, $ff, $3 ; person + db SPRITE_GIRL, $4 + 4, $e + 4, $fe, $1, $4 ; person + + ; warp-to + EVENT_DISP $a, $1, $c ; CELADON_MART_1 + EVENT_DISP $a, $1, $10 ; CELADON_MART_3 + EVENT_DISP $a, $1, $1 ; CELADON_MART_ELEVATOR + +CeladonMart2Blocks: ; 0x56148 40 + INCBIN "maps/celadonmart2.blk" + +FuchsiaHouse3_h: ; 0x56170 to 0x5617c (12 bytes) (id=164) + db $0d ; tileset + db FUCHSIA_HOUSE_3_HEIGHT, FUCHSIA_HOUSE_3_WIDTH ; dimensions (y, x) + dw FuchsiaHouse3Blocks, FuchsiaHouse3Texts, FuchsiaHouse3Script ; blocks, texts, scripts + db $00 ; connections + + dw FuchsiaHouse3Object ; objects + +FuchsiaHouse3Script: ; 0x5617c + jp $3c3c +; 0x5617f + +FuchsiaHouse3Texts: ; 0x5617f + dw FuchsiaHouse3Text1 + +FuchsiaHouse3Text1: ; 0x56181 + db $08 ; asm + ld a, [$d728] + bit 4, a + jr nz, asm_6084e ; 0x56187 + ld hl, UnnamedText_561bd + call PrintText + call $35ec + ld a, [$cc26] + and a + jr nz, asm_3ace4 ; 0x56196 + ld bc, (GOOD_ROD << 8) | 1 + call GiveItem + jr nc, asm_628ee ; 0x5619e + ld hl, $d728 + set 4, [hl] + ld hl, UnnamedText_561c2 + jr asm_1b09c ; 0x561a8 +asm_628ee ; 0x561aa + ld hl, UnnamedText_5621c + jr asm_1b09c ; 0x561ad +asm_3ace4 ; 0x561af + ld hl, UnnamedText_56212 + jr asm_1b09c ; 0x561b2 +asm_6084e ; 0x561b4 + ld hl, UnnamedText_56217 +asm_1b09c ; 0x561b7 + call PrintText + jp TextScriptEnd + +UnnamedText_561bd: ; 0x561bd + TX_FAR _UnnamedText_561bd + db $50 +; 0x561bd + 5 bytes + +UnnamedText_561c2: ; 0x561c2 + TX_FAR _UnnamedText_561c2 ; 0xa06e8 + db $0B, $50 +; 0x561c8 + +INCBIN "baserom.gbc",$561c8,$56212 - $561c8 + +UnnamedText_56212: ; 0x56212 + TX_FAR _UnnamedText_56212 + db $50 +; 0x56212 + 5 bytes + +UnnamedText_56217: ; 0x56217 + TX_FAR _UnnamedText_56217 + db $50 +; 0x56217 + 5 bytes + +UnnamedText_5621c: ; 0x5621c + TX_FAR _UnnamedText_5621c + db $50 +; 0x5621c + 5 bytes + +FuchsiaHouse3Object: ; 0x56221 (size=34) + db $c ; border tile + + db $3 ; warps + db $0, $2, $8, $ff + db $7, $2, $7, $ff + db $7, $3, $7, $ff + + db $0 ; signs + + db $1 ; people + db SPRITE_FISHER, $3 + 4, $5 + 4, $ff, $d3, $1 ; person + + ; warp-to + EVENT_DISP $4, $0, $2 + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + +DayCareM_h: ; 0x56243 to 0x5624f (12 bytes) (id=72) + db $08 ; tileset + db DAYCAREM_HEIGHT, DAYCAREM_WIDTH ; dimensions (y, x) + dw DayCareMBlocks, DayCareMTexts, DayCareMScript ; blocks, texts, scripts + db $00 ; connections + + dw DayCareMObject ; objects + +DayCareMScript: ; 0x5624f + jp $3c3c +; 0x56252 + +DayCareMTexts: ; 0x56252 + dw DayCareMText1 + +DayCareMText1: ; 0x56254 + db $8 + call $36f4 + ld a, [$da48] + and a + jp nz, Unnamed_562e1 + ld hl, UnnamedText_5640f + call PrintText + call $35ec + ld a, [$cc26] + and a + ld hl, UnnamedText_5643b + jp nz, Unnamed_56409 + ld a, [$d163] + dec a + ld hl, UnnamedText_56445 + jp z, Unnamed_56409 + ld hl, UnnamedText_56414 + call PrintText + xor a + ld [$cfcb], a + ld [$d07d], a + ld [$cc35], a + call $13fc + push af + call $3dd4 + call $3dbe + call $20ba + pop af + ld hl, UnnamedText_56437 + jp c, Unnamed_56409 + ld hl, TrainerHeader_5571b + ld b, $8 + call Bankswitch + ld hl, UnnamedText_5644a + jp c, Unnamed_56409 + xor a + ld [$cc2b], a + ld a, [$cf92] + ld hl, $d2b5 + call $15ba + ld hl, UnnamedText_56419 + call PrintText + ld a, $1 + ld [$da48], a + ld a, $3 + ld [$cf95], a + call $3a68 + xor a + ld [$cf95], a + call $391f + ld a, [$cf91] + call $13d0 + ld hl, UnnamedText_5641e + jp Unnamed_56409 +; 0x562e1 + +Unnamed_562e1: +INCBIN "baserom.gbc",$562e1,$56409 - $562e1 + +Unnamed_56409: ; 0x56409 + call PrintText + jp TextScriptEnd +; 0x5640f + +UnnamedText_5640f: ; 0x5640f + TX_FAR _UnnamedText_5640f + db $50 +; 0x5640f + 5 bytes + +UnnamedText_56414: ; 0x56414 + TX_FAR _UnnamedText_56414 + db $50 +; 0x56414 + 5 bytes + +UnnamedText_56419: ; 0x56419 + TX_FAR _UnnamedText_56419 + db $50 +; 0x56419 + 5 bytes + +UnnamedText_5641e: ; 0x5641e + TX_FAR _UnnamedText_5641e + db $50 +; 0x5641e + 5 bytes + +UnnamedText_56423: ; 0x56423 + TX_FAR _UnnamedText_56423 + db $50 +; 0x56423 + 5 bytes + +UnnamedText_56428: ; 0x56428 + TX_FAR _UnnamedText_56428 + db $50 +; 0x56428 + 5 bytes + +UnnamedText_5642d: ; 0x5642d + TX_FAR _UnnamedText_5642d + db $50 +; 0x5642d + 5 bytes + +UnnamedText_56432: ; 0x56432 + TX_FAR _UnnamedText_56432 + db $50 +; 0x56432 + 5 bytes + +UnnamedText_56437: ; 0x56437 + TX_FAR _UnnamedText_56437 ; 0x8c000 +UnnamedText_5643b: ; 0x5643b + TX_FAR _UnnamedText_5643b ; 0x8c013 + db $50 +; 0x5643b + 5 bytes + +UnnamedText_56440: ; 0x56440 + TX_FAR _UnnamedText_56440 + db $50 +; 0x56440 + 5 bytes + +UnnamedText_56445: ; 0x56445 + TX_FAR _UnnamedText_56445 + db $50 +; 0x56445 + 5 bytes + +UnnamedText_5644a: ; 0x5644a + TX_FAR _UnnamedText_5644a + db $50 +; 0x5644a + 5 bytes + +UnnamedText_5644f: ; 0x5644f + TX_FAR _UnnamedText_5644f + db $50 +; 0x5644f + 5 bytes + +UnnamedText_56454: ; 0x56454 + TX_FAR _UnnamedText_56454 + db $50 +; 0x56454 + 5 bytes + +DayCareMObject: ; 0x56459 (size=26) + db $a ; border tile + + db $2 ; warps + db $7, $2, $4, $ff + db $7, $3, $4, $ff + + db $0 ; signs + + db $1 ; people + db SPRITE_GENTLEMAN, $3 + 4, $2 + 4, $ff, $d3, $1 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + +Route12House_h: ; 0x56473 to 0x5647f (12 bytes) (id=189) + db $08 ; tileset + db ROUTE_12_HOUSE_HEIGHT, ROUTE_12_HOUSE_WIDTH ; dimensions (y, x) + dw Route12HouseBlocks, Route12HouseTexts, Route12HouseScript ; blocks, texts, scripts + db $00 ; connections + + dw Route12HouseObject ; objects + +Route12HouseScript: ; 0x5647f + jp $3c3c +; 0x56482 + +Route12HouseTexts: ; 0x56482 + dw Route12HouseText1 + +Route12HouseText1: ; 0x56484 + db $08 ; asm + ld a, [$d728] + bit 5, a + jr nz, asm_b4cad ; 0x5648a + ld hl, UnnamedText_564c0 + call PrintText + call $35ec + ld a, [$cc26] + and a + jr nz, asm_a2d76 ; 0x56499 + ld bc, (SUPER_ROD << 8) | 1 + call GiveItem + jr nc, asm_e3b89 ; 0x564a1 + ld hl, $d728 + set 5, [hl] + ld hl, UnnamedText_564c5 + jr asm_df984 ; 0x564ab +asm_e3b89 ; 0x564ad + ld hl, UnnamedText_564d9 + jr asm_df984 ; 0x564b0 +asm_a2d76 ; 0x564b2 + ld hl, UnnamedText_564cf + jr asm_df984 ; 0x564b5 +asm_b4cad ; 0x564b7 + ld hl, UnnamedText_564d4 +asm_df984 ; 0x564ba + call PrintText + jp TextScriptEnd + +UnnamedText_564c0: ; 0x564c0 + TX_FAR _UnnamedText_564c0 + db $50 +; 0x564c0 + 5 bytes + +UnnamedText_564c5: ; 0x564c5 + TX_FAR _UnnamedText_564c5 ; 0x8ca00 + db $0B + TX_FAR _UnnamedText_564ca ; 0x8ca4f + db $50 +; 0x564c5 + 10 bytes = 0x564cf + +UnnamedText_564cf: ; 0x564cf + TX_FAR _UnnamedText_564cf + db $50 +; 0x564cf + 5 bytes + +UnnamedText_564d4: ; 0x564d4 + TX_FAR _UnnamedText_564d4 + db $50 +; 0x564d4 + 5 bytes + +UnnamedText_564d9: ; 0x564d9 + TX_FAR _UnnamedText_564d9 + db $50 +; 0x564d9 + 5 bytes + +Route12HouseObject: ; 0x564de (size=26) + db $a ; border tile + + db $2 ; warps + db $7, $2, $3, $ff + db $7, $3, $3, $ff + + db $0 ; signs + + db $1 ; people + db SPRITE_FISHER, $4 + 4, $2 + 4, $ff, $d3, $1 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + +SilphCo8_h: ; 0x564f8 to 0x56504 (12 bytes) (id=213) + db $16 ; tileset + db SILPH_CO_8F_HEIGHT, SILPH_CO_8F_WIDTH ; dimensions (y, x) + dw SilphCo8Blocks, SilphCo8Texts, SilphCo8Script ; blocks, texts, scripts + db $00 ; connections + + dw SilphCo8Object ; objects + +SilphCo8Script: ; 0x56504 + call SilphCo8_Unknown5651a + call $3c3c + ld hl, SilphCo8TrainerHeader1 + ld de, $6577 + ld a, [$d649] + call $3160 + ld [$d649], a + ret +; 0x5651a + +SilphCo8_Unknown5651a: ; 0x5651a +INCBIN "baserom.gbc",$5651a,$63 + +SilphCo8Texts: ; 0x5657d + dw SilphCo8Text1, SilphCo8Text2, SilphCo8Text3, SilphCo8Text4 + +SilphCo8TrainerHeaders: +SilphCo8TrainerHeader1: ; 0x56585 + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d831 ; flag's byte + dw UnnamedText_565e6 ; 0x65e6 TextBeforeBattle + dw UnnamedText_565f0 ; 0x65f0 TextAfterBattle + dw UnnamedText_565eb ; 0x65eb TextEndBattle + dw UnnamedText_565eb ; 0x65eb TextEndBattle +; 0x56591 + +TrainerHeader_56591: ; 0x56591 + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d831 ; flag's byte + dw UnnamedText_565f5 ; 0x65f5 TextBeforeBattle + dw UnnamedText_565ff ; 0x65ff TextAfterBattle + dw UnnamedText_565fa ; 0x65fa TextEndBattle + dw UnnamedText_565fa ; 0x65fa TextEndBattle +; 0x5659d + +TrainerHeader_5659d: ; 0x5659d + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d831 ; flag's byte + dw UnnamedText_56604 ; 0x6604 TextBeforeBattle + dw UnnamedText_5660e ; 0x660e TextAfterBattle + dw UnnamedText_56609 ; 0x6609 TextEndBattle + dw UnnamedText_56609 ; 0x6609 TextEndBattle +; 0x565a9 + +db $ff + +SilphCo8Text1: ; 0x565aa + db $08 ; asm + ld a, [$d838] + bit 7, a + ld hl, UnnamedText_565c3 + jr nz, asm_a468f ; 0x565b3 + ld hl, UnnamedText_565be +asm_a468f ; 0x565b8 + call PrintText + jp TextScriptEnd + +UnnamedText_565be: ; 0x565be + TX_FAR _UnnamedText_565be + db $50 +; 0x565be + 5 bytes + +UnnamedText_565c3: ; 0x565c3 + TX_FAR _UnnamedText_565c3 + db $50 +; 0x565c3 + 5 bytes + +SilphCo8Text2: ; 0x565c8 + db $08 ; asm + ld hl, SilphCo8TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +SilphCo8Text3: ; 0x565d2 + db $08 ; asm + ld hl, TrainerHeader_56591 + call LoadTrainerHeader + jp TextScriptEnd + +SilphCo8Text4: ; 0x565dc + db $08 ; asm + ld hl, TrainerHeader_5659d + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_565e6: ; 0x565e6 + TX_FAR _UnnamedText_565e6 + db $50 +; 0x565e6 + 5 bytes + +UnnamedText_565eb: ; 0x565eb + TX_FAR _UnnamedText_565eb + db $50 +; 0x565eb + 5 bytes + +UnnamedText_565f0: ; 0x565f0 + TX_FAR _UnnamedText_565f0 + db $50 +; 0x565f0 + 5 bytes + +UnnamedText_565f5: ; 0x565f5 + TX_FAR _UnnamedText_565f5 + db $50 +; 0x565f5 + 5 bytes + +UnnamedText_565fa: ; 0x565fa + TX_FAR _UnnamedText_565fa + db $50 +; 0x565fa + 5 bytes + +UnnamedText_565ff: ; 0x565ff + TX_FAR _UnnamedText_565ff + db $50 +; 0x565ff + 5 bytes + +UnnamedText_56604: ; 0x56604 + TX_FAR _UnnamedText_56604 + db $50 +; 0x56604 + 5 bytes + +UnnamedText_56609: ; 0x56609 + TX_FAR _UnnamedText_56609 + db $50 +; 0x56609 + 5 bytes + +UnnamedText_5660e: ; 0x5660e + TX_FAR _UnnamedText_5660e + db $50 +; 0x5660e + 5 bytes + +SilphCo8Object: ; 0x56613 (size=90) + db $2e ; border tile + + db $7 ; warps + db $0, $10, $1, SILPH_CO_9F + db $0, $e, $0, SILPH_CO_7F + db $0, $12, $0, SILPH_CO_ELEVATOR + db $b, $3, $6, SILPH_CO_8F + db $f, $3, $4, SILPH_CO_2F + db $5, $b, $5, SILPH_CO_2F + db $9, $b, $3, SILPH_CO_8F + + db $0 ; signs + + db $4 ; people + db SPRITE_LAPRAS_GIVER, $2 + 4, $4 + 4, $ff, $ff, $1 ; person + db SPRITE_ROCKET, $2 + 4, $13 + 4, $ff, $d2, $42, ROCKET + $C8, $23 ; trainer + db SPRITE_OAK_AIDE, $2 + 4, $a + 4, $ff, $d0, $43, SCIENTIST + $C8, $9 ; trainer + db SPRITE_ROCKET, $f + 4, $c + 4, $ff, $d3, $44, ROCKET + $C8, $24 ; trainer + + ; warp-to + EVENT_DISP $d, $0, $10 ; SILPH_CO_9F + EVENT_DISP $d, $0, $e ; SILPH_CO_7F + EVENT_DISP $d, $0, $12 ; SILPH_CO_ELEVATOR + EVENT_DISP $d, $b, $3 ; SILPH_CO_8F + EVENT_DISP $d, $f, $3 ; SILPH_CO_2F + EVENT_DISP $d, $5, $b ; SILPH_CO_2F + EVENT_DISP $d, $9, $b ; SILPH_CO_8F + +SilphCo8Blocks: ; 0x5666d 117 + INCBIN "maps/silphco8.blk" + +INCBIN "baserom.gbc",$566e2,$191e + +SECTION "bank16",DATA,BANK[$16] + +Route6_h: ; 0x58000 to 0x58022 (34 bytes) (id=17) + db $00 ; tileset + db ROUTE_6_HEIGHT, ROUTE_6_WIDTH ; dimensions (y, x) + dw Route6Blocks, Route6Texts, Route6Script ; blocks, texts, scripts + db NORTH | SOUTH ; connections + + ; connections data + + db SAFFRON_CITY + dw SaffronCityBlocks + (SAFFRON_CITY_HEIGHT - 3) * SAFFRON_CITY_WIDTH + 2 ; connection strip location + dw $C6EB + -3 ; current map position + db $10, SAFFRON_CITY_WIDTH ; bigness, width + db (SAFFRON_CITY_HEIGHT * 2) - 1, (-5 * -2) ; alignments (y, x) + dw $C6E9 + SAFFRON_CITY_HEIGHT * (SAFFRON_CITY_WIDTH + 6) ; window + + db VERMILION_CITY + dw VermilionCityBlocks + 2 ; connection strip location + dw $C6EB + (ROUTE_6_HEIGHT + 3) * (ROUTE_6_WIDTH + 6) + -3 ; current map position + db $10, VERMILION_CITY_WIDTH ; bigness, width + db 0, (-5 * -2) ; alignments (y, x) + dw $C6EF + VERMILION_CITY_WIDTH ; window + + ; end connections data + + dw Route6Object ; objects + +Route6Object: ; 0x58022 (size=87) + db $f ; border tile + + db $4 ; warps + db $1, $9, $2, ROUTE_6_GATE + db $1, $a, $2, ROUTE_6_GATE + db $7, $a, $0, ROUTE_6_GATE + db $d, $11, $0, PATH_ENTRANCE_ROUTE_6 + + db $1 ; signs + db $f, $13, $7 ; Route6Text7 + + db $6 ; people + db SPRITE_BLACK_HAIR_BOY_1, $15 + 4, $a + 4, $ff, $d3, $41, JR__TRAINER_M + $C8, $4 ; trainer + db SPRITE_LASS, $15 + 4, $b + 4, $ff, $d2, $42, JR__TRAINER_F + $C8, $2 ; trainer + db SPRITE_BUG_CATCHER, $f + 4, $0 + 4, $ff, $d3, $43, BUG_CATCHER + $C8, $a ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $1f + 4, $b + 4, $ff, $d2, $44, JR__TRAINER_M + $C8, $5 ; trainer + db SPRITE_LASS, $1e + 4, $b + 4, $ff, $d2, $45, JR__TRAINER_F + $C8, $3 ; trainer + db SPRITE_BUG_CATCHER, $1a + 4, $13 + 4, $ff, $d2, $46, BUG_CATCHER + $C8, $b ; trainer + + ; warp-to + EVENT_DISP $a, $1, $9 ; ROUTE_6_GATE + EVENT_DISP $a, $1, $a ; ROUTE_6_GATE + EVENT_DISP $a, $7, $a ; ROUTE_6_GATE + EVENT_DISP $a, $d, $11 ; PATH_ENTRANCE_ROUTE_6 + +Route6Blocks: ; 0x58079 180 + INCBIN "maps/route6.blk" + +Route8_h: ; 0x5812d to 0x5814f (34 bytes) (id=19) + db $00 ; tileset + db ROUTE_8_HEIGHT, ROUTE_8_WIDTH ; dimensions (y, x) + dw Route8Blocks, Route8Texts, Route8Script ; blocks, texts, scripts + db WEST | EAST ; connections + + ; connections data + + db SAFFRON_CITY + dw SaffronCityBlocks - 3 + (SAFFRON_CITY_WIDTH * 2) ; connection strip location + dw $C6E8 + (ROUTE_8_WIDTH + 6) * (-3 + 3) ; current map position + db $f, SAFFRON_CITY_WIDTH ; bigness, width + db (-4 * -2), (SAFFRON_CITY_WIDTH * 2) - 1 ; alignments (y, x) + dw $C6EE + 2 * SAFFRON_CITY_WIDTH ; window + + db LAVENDER_TOWN + dw LavenderTownBlocks + (LAVENDER_TOWN_WIDTH * 0) ; connection strip location + dw $C6E5 + (ROUTE_8_WIDTH + 6) * (0 + 4) ; current map position + db LAVENDER_TOWN_HEIGHT, LAVENDER_TOWN_WIDTH ; bigness, width + db (0 * -2), 0 ; alignments (y, x) + dw $C6EF + LAVENDER_TOWN_WIDTH ; window + + ; end connections data + + dw Route8Object ; objects + +Route8Object: ; 0x5814f (size=119) + db $2c ; border tile + + db $5 ; warps + db $9, $1, $0, ROUTE_8_GATE + db $a, $1, $1, ROUTE_8_GATE + db $9, $8, $2, ROUTE_8_GATE + db $a, $8, $3, ROUTE_8_GATE + db $3, $d, $0, PATH_ENTRANCE_ROUTE_8 + + db $1 ; signs + db $3, $11, $a ; Route8Text10 + + db $9 ; people + db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $8 + 4, $ff, $d3, $41, SUPER_NERD + $C8, $3 ; trainer + db SPRITE_GAMBLER, $9 + 4, $d + 4, $ff, $d1, $42, GAMBLER + $C8, $5 ; trainer + db SPRITE_BLACK_HAIR_BOY_2, $6 + 4, $2a + 4, $ff, $d1, $43, SUPER_NERD + $C8, $4 ; trainer + db SPRITE_LASS, $3 + 4, $1a + 4, $ff, $d2, $44, LASS + $C8, $d ; trainer + db SPRITE_BLACK_HAIR_BOY_2, $4 + 4, $1a + 4, $ff, $d3, $45, SUPER_NERD + $C8, $5 ; trainer + db SPRITE_LASS, $5 + 4, $1a + 4, $ff, $d2, $46, LASS + $C8, $e ; trainer + db SPRITE_LASS, $6 + 4, $1a + 4, $ff, $d3, $47, LASS + $C8, $f ; trainer + db SPRITE_GAMBLER, $d + 4, $2e + 4, $ff, $d0, $48, GAMBLER + $C8, $7 ; trainer + db SPRITE_LASS, $c + 4, $33 + 4, $ff, $d2, $49, LASS + $C8, $10 ; trainer + + ; warp-to + EVENT_DISP $1e, $9, $1 ; ROUTE_8_GATE + EVENT_DISP $1e, $a, $1 ; ROUTE_8_GATE + EVENT_DISP $1e, $9, $8 ; ROUTE_8_GATE + EVENT_DISP $1e, $a, $8 ; ROUTE_8_GATE + EVENT_DISP $1e, $3, $d ; PATH_ENTRANCE_ROUTE_8 + +Route8Blocks: ; 0x581c6 270 + INCBIN "maps/route8.blk" + +Route10_h: ; 0x582d4 to 0x582f6 (34 bytes) (id=21) + db $00 ; tileset + db ROUTE_10_HEIGHT, ROUTE_10_WIDTH ; dimensions (y, x) + dw Route10Blocks, Route10Texts, Route10Script ; blocks, texts, scripts + db SOUTH | WEST ; connections + + ; connections data + + db LAVENDER_TOWN + dw LavenderTownBlocks ; connection strip location + dw $C6EB + (ROUTE_10_HEIGHT + 3) * (ROUTE_10_WIDTH + 6) + 0 ; current map position + db LAVENDER_TOWN_WIDTH, LAVENDER_TOWN_WIDTH ; bigness, width + db 0, (0 * -2) ; alignments (y, x) + dw $C6EF + LAVENDER_TOWN_WIDTH ; window + + db ROUTE_9 + dw Route9Blocks - 3 + (ROUTE_9_WIDTH) ; connection strip location + dw $C6E8 + (ROUTE_10_WIDTH + 6) * (0 + 3) ; current map position + db ROUTE_9_HEIGHT, ROUTE_9_WIDTH ; bigness, width + db (0 * -2), (ROUTE_9_WIDTH * 2) - 1 ; alignments (y, x) + dw $C6EE + 2 * ROUTE_9_WIDTH ; window + + ; end connections data + + dw Route10Object ; objects + +Route10Object: ; 0x582f6 (size=96) + db $2c ; border tile + + db $4 ; warps + db $13, $b, $0, ROCK_TUNNEL_POKECENTER + db $11, $8, $0, ROCK_TUNNEL_1 + db $35, $8, $2, ROCK_TUNNEL_1 + db $27, $6, $0, POWER_PLANT + + db $4 ; signs + db $13, $7, $7 ; Route10Text7 + db $13, $c, $8 ; Route10Text8 + db $37, $9, $9 ; Route10Text9 + db $29, $5, $a ; Route10Text10 + + db $6 ; people + db SPRITE_BLACK_HAIR_BOY_2, $2c + 4, $a + 4, $ff, $d2, $41, POKEMANIAC + $C8, $1 ; trainer + db SPRITE_HIKER, $39 + 4, $3 + 4, $ff, $d1, $42, HIKER + $C8, $7 ; trainer + db SPRITE_BLACK_HAIR_BOY_2, $40 + 4, $e + 4, $ff, $d2, $43, POKEMANIAC + $C8, $2 ; trainer + db SPRITE_LASS, $19 + 4, $7 + 4, $ff, $d2, $44, JR__TRAINER_F + $C8, $7 ; trainer + db SPRITE_HIKER, $3d + 4, $3 + 4, $ff, $d0, $45, HIKER + $C8, $8 ; trainer + db SPRITE_LASS, $36 + 4, $7 + 4, $ff, $d0, $46, JR__TRAINER_F + $C8, $8 ; trainer + + ; warp-to + EVENT_DISP $a, $13, $b ; ROCK_TUNNEL_POKECENTER + EVENT_DISP $a, $11, $8 ; ROCK_TUNNEL_1 + EVENT_DISP $a, $35, $8 ; ROCK_TUNNEL_1 + EVENT_DISP $a, $27, $6 ; POWER_PLANT + +Route10Blocks: ; 0x58356 360 + INCBIN "maps/route10.blk" + +Route11_h: ; 0x584be to 0x584e0 (34 bytes) (id=22) + db $00 ; tileset + db ROUTE_11_HEIGHT, ROUTE_11_WIDTH ; dimensions (y, x) + dw Route11Blocks, Route11Texts, Route11Script ; blocks, texts, scripts + db WEST | EAST ; connections + + ; connections data + + db VERMILION_CITY + dw VermilionCityBlocks - 3 + (VERMILION_CITY_WIDTH * 2) ; connection strip location + dw $C6E8 + (ROUTE_11_WIDTH + 6) * (-3 + 3) ; current map position + db $f, VERMILION_CITY_WIDTH ; bigness, width + db (-4 * -2), (VERMILION_CITY_WIDTH * 2) - 1 ; alignments (y, x) + dw $C6EE + 2 * VERMILION_CITY_WIDTH ; window + + db ROUTE_12 + dw Route12Blocks + (ROUTE_12_WIDTH * 24) ; connection strip location + dw $C6E5 + (ROUTE_11_WIDTH + 6) * (-3 + 4) ; current map position + db $f, ROUTE_12_WIDTH ; bigness, width + db (-27 * -2), 0 ; alignments (y, x) + dw $C6EF + ROUTE_12_WIDTH ; window + + ; end connections data + + dw Route11Object ; objects + +Route11Object: ; 0x584e0 (size=127) + db $f ; border tile + + db $5 ; warps + db $8, $31, $0, ROUTE_11_GATE_1F + db $9, $31, $1, ROUTE_11_GATE_1F + db $8, $3a, $2, ROUTE_11_GATE_1F + db $9, $3a, $3, ROUTE_11_GATE_1F + db $5, $4, $0, DIGLETTS_CAVE_ENTRANCE + + db $1 ; signs + db $5, $1, $b ; Route11Text11 + + db $a ; people + db SPRITE_GAMBLER, $e + 4, $a + 4, $ff, $d0, $41, GAMBLER + $C8, $1 ; trainer + db SPRITE_GAMBLER, $9 + 4, $1a + 4, $ff, $d0, $42, GAMBLER + $C8, $2 ; trainer + db SPRITE_BUG_CATCHER, $5 + 4, $d + 4, $ff, $d2, $43, YOUNGSTER + $C8, $9 ; trainer + db SPRITE_BLACK_HAIR_BOY_2, $b + 4, $24 + 4, $ff, $d0, $44, ENGINEER + $C8, $2 ; trainer + db SPRITE_BUG_CATCHER, $4 + 4, $16 + 4, $ff, $d1, $45, YOUNGSTER + $C8, $a ; trainer + db SPRITE_GAMBLER, $7 + 4, $2d + 4, $ff, $d0, $46, GAMBLER + $C8, $3 ; trainer + db SPRITE_GAMBLER, $3 + 4, $21 + 4, $ff, $d1, $47, GAMBLER + $C8, $4 ; trainer + db SPRITE_BUG_CATCHER, $5 + 4, $2b + 4, $ff, $d3, $48, YOUNGSTER + $C8, $b ; trainer + db SPRITE_BLACK_HAIR_BOY_2, $10 + 4, $2d + 4, $ff, $d2, $49, ENGINEER + $C8, $3 ; trainer + db SPRITE_BUG_CATCHER, $c + 4, $16 + 4, $ff, $d1, $4a, YOUNGSTER + $C8, $c ; trainer + + ; warp-to + EVENT_DISP $1e, $8, $31 ; ROUTE_11_GATE_1F + EVENT_DISP $1e, $9, $31 ; ROUTE_11_GATE_1F + EVENT_DISP $1e, $8, $3a ; ROUTE_11_GATE_1F + EVENT_DISP $1e, $9, $3a ; ROUTE_11_GATE_1F + EVENT_DISP $1e, $5, $4 ; DIGLETTS_CAVE_ENTRANCE + +Route11Blocks: ; 0x5855f 270 + INCBIN "maps/route11.blk" + +Route12_h: ; 0x5866d to 0x5869a (45 bytes) (id=23) + db $00 ; tileset + db ROUTE_12_HEIGHT, ROUTE_12_WIDTH ; dimensions (y, x) + dw Route12Blocks, Route12Texts, Route12Script ; blocks, texts, scripts + db NORTH | SOUTH | WEST ; connections + + ; connections data + + db LAVENDER_TOWN + dw LavenderTownBlocks + (LAVENDER_TOWN_HEIGHT - 3) * LAVENDER_TOWN_WIDTH ; connection strip location + dw $C6EB + 0 ; current map position + db LAVENDER_TOWN_WIDTH, LAVENDER_TOWN_WIDTH ; bigness, width + db (LAVENDER_TOWN_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x) + dw $C6E9 + LAVENDER_TOWN_HEIGHT * (LAVENDER_TOWN_WIDTH + 6) ; window + + db ROUTE_13 + dw Route13Blocks + 17 ; connection strip location + dw $C6EB + (ROUTE_12_HEIGHT + 3) * (ROUTE_12_WIDTH + 6) + -3 ; current map position + db $d, ROUTE_13_WIDTH ; bigness, width + db 0, (-20 * -2) ; alignments (y, x) + dw $C6EF + ROUTE_13_WIDTH ; window + + db ROUTE_11 + dw Route11Blocks - 3 + (ROUTE_11_WIDTH) ; connection strip location + dw $C6E8 + (ROUTE_12_WIDTH + 6) * (27 + 3) ; current map position + db ROUTE_11_HEIGHT, ROUTE_11_WIDTH ; bigness, width + db (27 * -2), (ROUTE_11_WIDTH * 2) - 1 ; alignments (y, x) + dw $C6EE + 2 * ROUTE_11_WIDTH ; window + + ; end connections data + + dw Route12Object ; objects + +Route12Object: ; 0x5869a (size=118) + db $43 ; border tile + + db $4 ; warps + db $f, $a, $0, ROUTE_12_GATE + db $f, $b, $1, ROUTE_12_GATE + db $15, $a, $2, ROUTE_12_GATE + db $4d, $b, $0, ROUTE_12_HOUSE + + db $2 ; signs + db $d, $d, $b ; Route12Text11 + db $3f, $b, $c ; Route12Text12 + + db $a ; people + db SPRITE_SNORLAX, $3e + 4, $a + 4, $ff, $d0, $1 ; person + db SPRITE_FISHER2, $1f + 4, $e + 4, $ff, $d2, $42, FISHER + $C8, $3 ; trainer + db SPRITE_FISHER2, $27 + 4, $5 + 4, $ff, $d1, $43, FISHER + $C8, $4 ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $5c + 4, $b + 4, $ff, $d2, $44, JR__TRAINER_M + $C8, $9 ; trainer + db SPRITE_BLACK_HAIR_BOY_2, $4c + 4, $e + 4, $ff, $d1, $45, ROCKER + $C8, $2 ; trainer + db SPRITE_FISHER2, $28 + 4, $c + 4, $ff, $d2, $46, FISHER + $C8, $5 ; trainer + db SPRITE_FISHER2, $34 + 4, $9 + 4, $ff, $d3, $47, FISHER + $C8, $6 ; trainer + db SPRITE_FISHER2, $57 + 4, $6 + 4, $ff, $d0, $48, FISHER + $C8, $b ; trainer + db SPRITE_BALL, $23 + 4, $e + 4, $ff, $ff, $89, TM_16 ; item + db SPRITE_BALL, $59 + 4, $5 + 4, $ff, $ff, $8a, IRON ; item + + ; warp-to + EVENT_DISP $a, $f, $a ; ROUTE_12_GATE + EVENT_DISP $a, $f, $b ; ROUTE_12_GATE + EVENT_DISP $a, $15, $a ; ROUTE_12_GATE + EVENT_DISP $a, $4d, $b ; ROUTE_12_HOUSE + +Route12Blocks: ; 0x58710 540 + INCBIN "maps/route12.blk" + +Route15_h: ; 0x5892c to 0x5894e (34 bytes) (id=26) + db $00 ; tileset + db ROUTE_15_HEIGHT, ROUTE_15_WIDTH ; dimensions (y, x) + dw Route15Blocks, Route15Texts, Route15Script ; blocks, texts, scripts + db WEST | EAST ; connections + + ; connections data + + db FUCHSIA_CITY + dw FuchsiaCityBlocks - 3 + (FUCHSIA_CITY_WIDTH * 2) ; connection strip location + dw $C6E8 + (ROUTE_15_WIDTH + 6) * (-3 + 3) ; current map position + db $f, FUCHSIA_CITY_WIDTH ; bigness, width + db (-4 * -2), (FUCHSIA_CITY_WIDTH * 2) - 1 ; alignments (y, x) + dw $C6EE + 2 * FUCHSIA_CITY_WIDTH ; window + + db ROUTE_14 + dw Route14Blocks + (ROUTE_14_WIDTH * 15) ; connection strip location + dw $C6E5 + (ROUTE_15_WIDTH + 6) * (-3 + 4) ; current map position + db $c, ROUTE_14_WIDTH ; bigness, width + db (-18 * -2), 0 ; alignments (y, x) + dw $C6EF + ROUTE_14_WIDTH ; window + + ; end connections data + + dw Route15Object ; objects + +Route15Object: ; 0x5894e (size=126) + db $43 ; border tile + + db $4 ; warps + db $8, $7, $0, ROUTE_15_GATE + db $9, $7, $1, ROUTE_15_GATE + db $8, $e, $2, ROUTE_15_GATE + db $9, $e, $3, ROUTE_15_GATE + + db $1 ; signs + db $9, $27, $c ; Route15Text12 + + db $b ; people + db SPRITE_LASS, $b + 4, $29 + 4, $ff, $d0, $41, JR__TRAINER_F + $C8, $14 ; trainer + db SPRITE_LASS, $a + 4, $35 + 4, $ff, $d2, $42, JR__TRAINER_F + $C8, $15 ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $d + 4, $1f + 4, $ff, $d1, $43, BIRD_KEEPER + $C8, $6 ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $d + 4, $23 + 4, $ff, $d1, $44, BIRD_KEEPER + $C8, $7 ; trainer + db SPRITE_FOULARD_WOMAN, $b + 4, $35 + 4, $ff, $d0, $45, BEAUTY + $C8, $9 ; trainer + db SPRITE_FOULARD_WOMAN, $a + 4, $29 + 4, $ff, $d3, $46, BEAUTY + $C8, $a ; trainer + db SPRITE_BIKER, $a + 4, $30 + 4, $ff, $d0, $47, BIKER + $C8, $3 ; trainer + db SPRITE_BIKER, $a + 4, $2e + 4, $ff, $d0, $48, BIKER + $C8, $4 ; trainer + db SPRITE_LASS, $5 + 4, $25 + 4, $ff, $d3, $49, JR__TRAINER_F + $C8, $16 ; trainer + db SPRITE_LASS, $d + 4, $12 + 4, $ff, $d1, $4a, JR__TRAINER_F + $C8, $17 ; trainer + db SPRITE_BALL, $5 + 4, $12 + 4, $ff, $ff, $8b, TM_20 ; item + + ; warp-to + EVENT_DISP $1e, $8, $7 ; ROUTE_15_GATE + EVENT_DISP $1e, $9, $7 ; ROUTE_15_GATE + EVENT_DISP $1e, $8, $e ; ROUTE_15_GATE + EVENT_DISP $1e, $9, $e ; ROUTE_15_GATE + +Route15Blocks: ; 0x589cc 270 + INCBIN "maps/route15.blk" + +Route16_h: ; 0x58ada to 0x58afc (34 bytes) (id=27) + db $00 ; tileset + db ROUTE_16_HEIGHT, ROUTE_16_WIDTH ; dimensions (y, x) + dw Route16Blocks, Route16Texts, Route16Script ; blocks, texts, scripts + db SOUTH | EAST ; connections + + ; connections data + + db ROUTE_17 + dw Route17Blocks ; connection strip location + dw $C6EB + (ROUTE_16_HEIGHT + 3) * (ROUTE_16_WIDTH + 6) + 0 ; current map position + db ROUTE_17_WIDTH, ROUTE_17_WIDTH ; bigness, width + db 0, (0 * -2) ; alignments (y, x) + dw $C6EF + ROUTE_17_WIDTH ; window + + db CELADON_CITY + dw CeladonCityBlocks + (CELADON_CITY_WIDTH) ; connection strip location + dw $C6E5 + (ROUTE_16_WIDTH + 6) * (-3 + 4) ; current map position + db $f, CELADON_CITY_WIDTH ; bigness, width + db (-4 * -2), 0 ; alignments (y, x) + dw $C6EF + CELADON_CITY_WIDTH ; window + + ; end connections data + + dw Route16Object ; objects + +Route16Object: ; 0x58afc (size=136) + db $f ; border tile + + db $9 ; warps + db $a, $11, $0, ROUTE_16_GATE_1F + db $b, $11, $1, ROUTE_16_GATE_1F + db $a, $18, $2, ROUTE_16_GATE_1F + db $b, $18, $3, ROUTE_16_GATE_1F + db $4, $11, $4, ROUTE_16_GATE_1F + db $5, $11, $5, ROUTE_16_GATE_1F + db $4, $18, $6, ROUTE_16_GATE_1F + db $5, $18, $7, ROUTE_16_GATE_1F + db $5, $7, $0, ROUTE_16_HOUSE + + db $2 ; signs + db $b, $1b, $8 ; Route16Text8 + db $11, $5, $9 ; Route16Text9 + + db $7 ; people + db SPRITE_BIKER, $c + 4, $11 + 4, $ff, $d2, $41, BIKER + $C8, $5 ; trainer + db SPRITE_BIKER, $d + 4, $e + 4, $ff, $d3, $42, CUE_BALL + $C8, $1 ; trainer + db SPRITE_BIKER, $c + 4, $b + 4, $ff, $d1, $43, CUE_BALL + $C8, $2 ; trainer + db SPRITE_BIKER, $b + 4, $9 + 4, $ff, $d2, $44, BIKER + $C8, $6 ; trainer + db SPRITE_BIKER, $a + 4, $6 + 4, $ff, $d3, $45, CUE_BALL + $C8, $3 ; trainer + db SPRITE_BIKER, $c + 4, $3 + 4, $ff, $d3, $46, BIKER + $C8, $7 ; trainer + db SPRITE_SNORLAX, $a + 4, $1a + 4, $ff, $d0, $7 ; person + + ; warp-to + EVENT_DISP $14, $a, $11 ; ROUTE_16_GATE_1F + EVENT_DISP $14, $b, $11 ; ROUTE_16_GATE_1F + EVENT_DISP $14, $a, $18 ; ROUTE_16_GATE_1F + EVENT_DISP $14, $b, $18 ; ROUTE_16_GATE_1F + EVENT_DISP $14, $4, $11 ; ROUTE_16_GATE_1F + EVENT_DISP $14, $5, $11 ; ROUTE_16_GATE_1F + EVENT_DISP $14, $4, $18 ; ROUTE_16_GATE_1F + EVENT_DISP $14, $5, $18 ; ROUTE_16_GATE_1F + EVENT_DISP $14, $5, $7 ; ROUTE_16_HOUSE + +Route16Blocks: ; 0x58b84 180 + INCBIN "maps/route16.blk" + +Route18_h: ; 0x58c38 to 0x58c5a (34 bytes) (id=29) + db $00 ; tileset + db ROUTE_18_HEIGHT, ROUTE_18_WIDTH ; dimensions (y, x) + dw Route18Blocks, Route18Texts, Route18Script ; blocks, texts, scripts + db NORTH | EAST ; connections + + ; connections data + + db ROUTE_17 + dw Route17Blocks + (ROUTE_17_HEIGHT - 3) * ROUTE_17_WIDTH ; connection strip location + dw $C6EB + 0 ; current map position + db ROUTE_17_WIDTH, ROUTE_17_WIDTH ; bigness, width + db (ROUTE_17_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x) + dw $C6E9 + ROUTE_17_HEIGHT * (ROUTE_17_WIDTH + 6) ; window + + db FUCHSIA_CITY + dw FuchsiaCityBlocks + (FUCHSIA_CITY_WIDTH) ; connection strip location + dw $C6E5 + (ROUTE_18_WIDTH + 6) * (-3 + 4) ; current map position + db $f, FUCHSIA_CITY_WIDTH ; bigness, width + db (-4 * -2), 0 ; alignments (y, x) + dw $C6EF + FUCHSIA_CITY_WIDTH ; window + + ; end connections data + + dw Route18Object ; objects + +Route18Object: ; 0x58c5a (size=66) + db $43 ; border tile + + db $4 ; warps + db $8, $21, $0, ROUTE_18_GATE_1F + db $9, $21, $1, ROUTE_18_GATE_1F + db $8, $28, $2, ROUTE_18_GATE_1F + db $9, $28, $3, ROUTE_18_GATE_1F + + db $2 ; signs + db $7, $2b, $4 ; Route18Text4 + db $5, $21, $5 ; Route18Text5 + + db $3 ; people + db SPRITE_BLACK_HAIR_BOY_1, $b + 4, $24 + 4, $ff, $d3, $41, BIRD_KEEPER + $C8, $8 ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $f + 4, $28 + 4, $ff, $d2, $42, BIRD_KEEPER + $C8, $9 ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $d + 4, $2a + 4, $ff, $d2, $43, BIRD_KEEPER + $C8, $a ; trainer + + ; warp-to + EVENT_DISP $19, $8, $21 ; ROUTE_18_GATE_1F + EVENT_DISP $19, $9, $21 ; ROUTE_18_GATE_1F + EVENT_DISP $19, $8, $28 ; ROUTE_18_GATE_1F + EVENT_DISP $19, $9, $28 ; ROUTE_18_GATE_1F + +Route18Blocks: ; 0x58c9c 225 + INCBIN "maps/route18.blk" + +INCBIN "baserom.gbc",$58d7d,$58e3b - $58d7d + +UnnamedText_58e3b: ; 0x58e3b + TX_FAR _UnnamedText_58e3b + db $50 +; 0x58e3b + 5 bytes + +UnnamedText_58e40: ; 0x58e40 + TX_FAR _UnnamedText_58e40 + db $50 +; 0x58e40 + 5 bytes + +UnnamedText_58e45: ; 0x58e45 + TX_FAR _UnnamedText_58e45 + db $50 +; 0x58e45 + 5 bytes + +UnnamedText_58e4a: ; 0x58e4a + TX_FAR _UnnamedText_58e4a + db $50 +; 0x58e4a + 5 bytes + +UnnamedText_58e4f: ; 0x58e4f + TX_FAR _UnnamedText_58e4f + db $50 +; 0x58e4f + 5 bytes + +UnnamedText_58e54: ; 0x58e54 + TX_FAR _UnnamedText_58e54 + db $50 +; 0x58e54 + 5 bytes + +INCBIN "baserom.gbc",$58e59,$58ecc - $58e59 + +UnnamedText_58ecc: ; 0x58ecc + TX_FAR _UnnamedText_58ecc + db $50 +; 0x58ecc + 5 bytes + +INCBIN "baserom.gbc",$58ed1,$58f3e - $58ed1 + +UnnamedText_58f3e: ; 0x58f3e + TX_FAR _UnnamedText_58f3e + db $50 +; 0x58f3e + 5 bytes + +INCBIN "baserom.gbc",$58f43,$59091 - $58f43 + +UnnamedText_59091: ; 0x59091 + TX_FAR _UnnamedText_59091 + db $50 +; 0x59091 + 5 bytes + +UnnamedText_59096: ; 0x59096 + TX_FAR _UnnamedText_59096 + db $50 +; 0x59096 + 5 bytes + +UnnamedText_5909b: ; 0x5909b + TX_FAR _UnnamedText_5909b + db $50 +; 0x5909b + 5 bytes + +UnnamedText_590a0: ; 0x590a0 + TX_FAR _UnnamedText_590a0 + db $50 +; 0x590a0 + 5 bytes + +INCBIN "baserom.gbc",$590a5,$590ab - $590a5 + +UnnamedText_590ab: ; 0x590ab + TX_FAR _UnnamedText_590ab + db $50 +; 0x590ab + 5 bytes + +Route6Script: ; 0x590b0 + call $3c3c + ld hl, Route6TrainerHeaders + ld de, Route6_Unknown590c3 + ld a, [$d600] + call $3160 + ld [$d600], a + ret +; 0x590c3 + +Route6_Unknown590c3: ; 0x590c3 +INCBIN "baserom.gbc",$590c3,$590c9 - $590c3 + +Route6Texts: + dw Route6Text1, Route6Text2, Route6Text3, Route6Text4, Route6Text5, Route6Text6, Route6Text7 + +Route6TrainerHeaders: +Route6TrainerHeader1: ; 0x590d7 + db $1 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d7c9 ; flag's byte + dw UnnamedText_5912a ; 0x512a TextBeforeBattle + dw UnnamedText_59134 ; 0x5134 TextAfterBattle + dw UnnamedText_5912f ; 0x512f TextEndBattle + dw UnnamedText_5912f ; 0x512f TextEndBattle +; 0x590e3 + +TrainerHeader_590e3: ; 0x590e3 + db $2 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d7c9 ; flag's byte + dw UnnamedText_59143 ; 0x5143 TextBeforeBattle + dw UnnamedText_59134 ; 0x5134 TextAfterBattle + dw UnnamedText_59148 ; 0x5148 TextEndBattle + dw UnnamedText_59148 ; 0x5148 TextEndBattle +; 0x590ef + +TrainerHeader_590ef: ; 0x590ef + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7c9 ; flag's byte + dw UnnamedText_59157 ; 0x5157 TextBeforeBattle + dw UnnamedText_59161 ; 0x5161 TextAfterBattle + dw UnnamedText_5915c ; 0x515c TextEndBattle + dw UnnamedText_5915c ; 0x515c TextEndBattle +; 0x590fb + +TrainerHeader_590fb: ; 0x590fb + db $4 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7c9 ; flag's byte + dw UnnamedText_59170 ; 0x5170 TextBeforeBattle + dw UnnamedText_5917a ; 0x517a TextAfterBattle + dw UnnamedText_59175 ; 0x5175 TextEndBattle + dw UnnamedText_59175 ; 0x5175 TextEndBattle +; 0x59107 + +TrainerHeader_59107: ; 0x59107 + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7c9 ; flag's byte + dw UnnamedText_59189 ; 0x5189 TextBeforeBattle + dw UnnamedText_59193 ; 0x5193 TextAfterBattle + dw UnnamedText_5918e ; 0x518e TextEndBattle + dw UnnamedText_5918e ; 0x518e TextEndBattle +; 0x59113 + +TrainerHeader_59113: ; 0x59113 + db $6 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7c9 ; flag's byte + dw UnnamedText_591a2 ; 0x51a2 TextBeforeBattle + dw UnnamedText_591ac ; 0x51ac TextAfterBattle + dw UnnamedText_591a7 ; 0x51a7 TextEndBattle + dw UnnamedText_591a7 ; 0x51a7 TextEndBattle +; 0x5911e + +db $ff + +Route6Text1: ; 0x59120 + db $8 + ld hl, Route6TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd +; 0x5912a + +UnnamedText_5912a: ; 0x5912a + TX_FAR _UnnamedText_5912a + db $50 +; 0x5912a + 5 bytes + +UnnamedText_5912f: ; 0x5912f + TX_FAR _UnnamedText_5912f + db $50 +; 0x5912f + 5 bytes + +UnnamedText_59134: ; 0x59134 + TX_FAR _UnnamedText_59134 + db $50 +; 0x59134 + 5 bytes + +Route6Text2: ; 0x59139 + db $08 ; asm + ld hl, TrainerHeader_590e3 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59143: ; 0x59143 + TX_FAR _UnnamedText_59143 + db $50 +; 0x59143 + 5 bytes + +UnnamedText_59148: ; 0x59148 + TX_FAR _UnnamedText_59148 + db $50 +; 0x59148 + 5 bytes + +Route6Text3: ; 0x5914d + db $08 ; asm + ld hl, TrainerHeader_590ef + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59157: ; 0x59157 + TX_FAR _UnnamedText_59157 + db $50 +; 0x59157 + 5 bytes + +UnnamedText_5915c: ; 0x5915c + TX_FAR _UnnamedText_5915c + db $50 +; 0x5915c + 5 bytes + +UnnamedText_59161: ; 0x59161 + TX_FAR _UnnamedText_59161 + db $50 +; 0x59161 + 5 bytes + +Route6Text4: ; 0x59166 + db $08 ; asm + ld hl, TrainerHeader_590fb + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59170: ; 0x59170 + TX_FAR _UnnamedText_59170 + db $50 +; 0x59170 + 5 bytes + +UnnamedText_59175: ; 0x59175 + TX_FAR _UnnamedText_59175 + db $50 +; 0x59175 + 5 bytes + +UnnamedText_5917a: ; 0x5917a + TX_FAR _UnnamedText_5917a + db $50 +; 0x5917a + 5 bytes + +Route6Text5: ; 0x5917f + db $08 ; asm + ld hl, TrainerHeader_59107 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59189: ; 0x59189 + TX_FAR _UnnamedText_59189 + db $50 +; 0x59189 + 5 bytes + +UnnamedText_5918e: ; 0x5918e + TX_FAR _UnnamedText_5918e + db $50 +; 0x5918e + 5 bytes + +UnnamedText_59193: ; 0x59193 + TX_FAR _UnnamedText_59193 + db $50 +; 0x59193 + 5 bytes + +Route6Text6: ; 0x59198 + db $08 ; asm + ld hl, TrainerHeader_59113 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_591a2: ; 0x591a2 + TX_FAR _UnnamedText_591a2 + db $50 +; 0x591a2 + 5 bytes + +UnnamedText_591a7: ; 0x591a7 + TX_FAR _UnnamedText_591a7 + db $50 +; 0x591a7 + 5 bytes + +UnnamedText_591ac: ; 0x591ac + TX_FAR _UnnamedText_591ac + db $50 +; 0x591ac + 5 bytes + +Route6Text7: ; 0x591b1 + TX_FAR _Route6Text7 + db $50 + +Route8Script: ; 0x591b6 + call $3c3c + ld hl, Route8TrainerHeaders + ld de, Route8_Unknown591c9 + ld a, [$d601] + call $3160 + ld [$d601], a + ret +; 0x591c9 + +Route8_Unknown591c9: ; 0x591c9 +INCBIN "baserom.gbc",$591c9,$591cf - $591c9 + +Route8Texts: ; 0x591cf + dw Route8Text1, Route8Text2, Route8Text3, Route8Text4, Route8Text5, Route8Text6, Route8Text7, Route8Text8, Route8Text9, Route8Text10 + +Route8TrainerHeaders: ; 0x591e3 +Route8TrainerHeader1: ; 0x591e3 + db $1 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7cd ; flag's byte + dw UnnamedText_5925a ; 0x525a TextBeforeBattle + dw UnnamedText_59264 ; 0x5264 TextAfterBattle + dw UnnamedText_5925f ; 0x525f TextEndBattle + dw UnnamedText_5925f ; 0x525f TextEndBattle +; 0x591ef + +TrainerHeader_591ef: ; 0x591ef + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7cd ; flag's byte + dw UnnamedText_59273 ; 0x5273 TextBeforeBattle + dw UnnamedText_5927d ; 0x527d TextAfterBattle + dw UnnamedText_59278 ; 0x5278 TextEndBattle + dw UnnamedText_59278 ; 0x5278 TextEndBattle +; 0x591fb + +TrainerHeader_591fb: ; 0x591fb + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7cd ; flag's byte + dw UnnamedText_5928c ; 0x528c TextBeforeBattle + dw UnnamedText_59296 ; 0x5296 TextAfterBattle + dw UnnamedText_59291 ; 0x5291 TextEndBattle + dw UnnamedText_59291 ; 0x5291 TextEndBattle +; 0x59207 + +TrainerHeader_59207: ; 0x59207 + db $4 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7cd ; flag's byte + dw UnnamedText_592a5 ; 0x52a5 TextBeforeBattle + dw UnnamedText_592af ; 0x52af TextAfterBattle + dw UnnamedText_592aa ; 0x52aa TextEndBattle + dw UnnamedText_592aa ; 0x52aa TextEndBattle +; 0x59213 + +TrainerHeader_59213: ; 0x59213 + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7cd ; flag's byte + dw UnnamedText_592be ; 0x52be TextBeforeBattle + dw UnnamedText_592c8 ; 0x52c8 TextAfterBattle + dw UnnamedText_592c3 ; 0x52c3 TextEndBattle + dw UnnamedText_592c3 ; 0x52c3 TextEndBattle +; 0x5921f + +TrainerHeader_5921f: ; 0x5921f + db $6 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7cd ; flag's byte + dw UnnamedText_592d7 ; 0x52d7 TextBeforeBattle + dw UnnamedText_592e1 ; 0x52e1 TextAfterBattle + dw UnnamedText_592dc ; 0x52dc TextEndBattle + dw UnnamedText_592dc ; 0x52dc TextEndBattle +; 0x5922b + +TrainerHeader_5922b: ; 0x5922b + db $7 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7cd ; flag's byte + dw UnnamedText_592f0 ; 0x52f0 TextBeforeBattle + dw UnnamedText_592fa ; 0x52fa TextAfterBattle + dw UnnamedText_592f5 ; 0x52f5 TextEndBattle + dw UnnamedText_592f5 ; 0x52f5 TextEndBattle +; 0x59237 + +TrainerHeader_59237: ; 0x59237 + db $8 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7cd ; flag's byte + dw UnnamedText_59309 ; 0x5309 TextBeforeBattle + dw UnnamedText_59313 ; 0x5313 TextAfterBattle + dw UnnamedText_5930e ; 0x530e TextEndBattle + dw UnnamedText_5930e ; 0x530e TextEndBattle +; 0x59243 + +TrainerHeader_59243: ; 0x59243 + db $9 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7cd ; flag's byte + dw UnnamedText_59322 ; 0x5322 TextBeforeBattle + dw UnnamedText_5932c ; 0x532c TextAfterBattle + dw UnnamedText_59327 ; 0x5327 TextEndBattle + dw UnnamedText_59327 ; 0x5327 TextEndBattle +; 0x5924e + +db $ff + +Route8Text1: ; 0x59250 + db $8 + ld hl, Route8TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd +; 0x5925a + +UnnamedText_5925a: ; 0x5925a + TX_FAR _UnnamedText_5925a + db $50 +; 0x5925f + +UnnamedText_5925f: ; 0x5925f + TX_FAR _UnnamedText_5925f + db $50 +; 0x5925f + 5 bytes + +UnnamedText_59264: ; 0x59264 + TX_FAR _UnnamedText_59264 + db $50 +; 0x59264 + 5 bytes + +Route8Text2: ; 0x59269 + db $08 ; asm + ld hl, TrainerHeader_591ef + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59273: ; 0x59273 + TX_FAR _UnnamedText_59273 + db $50 +; 0x59273 + 5 bytes + +UnnamedText_59278: ; 0x59278 + TX_FAR _UnnamedText_59278 + db $50 +; 0x59278 + 5 bytes + +UnnamedText_5927d: ; 0x5927d + TX_FAR _UnnamedText_5927d + db $50 +; 0x5927d + 5 bytes + +Route8Text3: ; 0x59282 + db $08 ; asm + ld hl, TrainerHeader_591fb + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_5928c: ; 0x5928c + TX_FAR _UnnamedText_5928c + db $50 +; 0x5928c + 5 bytes + +UnnamedText_59291: ; 0x59291 + TX_FAR _UnnamedText_59291 + db $50 +; 0x59291 + 5 bytes + +UnnamedText_59296: ; 0x59296 + TX_FAR _UnnamedText_59296 + db $50 +; 0x59296 + 5 bytes + +Route8Text4: ; 0x5929b + db $08 ; asm + ld hl, TrainerHeader_59207 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_592a5: ; 0x592a5 + TX_FAR _UnnamedText_592a5 + db $50 +; 0x592a5 + 5 bytes + +UnnamedText_592aa: ; 0x592aa + TX_FAR _UnnamedText_592aa + db $50 +; 0x592aa + 5 bytes + +UnnamedText_592af: ; 0x592af + TX_FAR _UnnamedText_592af + db $50 +; 0x592af + 5 bytes + +Route8Text5: ; 0x592b4 + db $08 ; asm + ld hl, TrainerHeader_59213 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_592be: ; 0x592be + TX_FAR _UnnamedText_592be + db $50 +; 0x592be + 5 bytes + +UnnamedText_592c3: ; 0x592c3 + TX_FAR _UnnamedText_592c3 + db $50 +; 0x592c3 + 5 bytes + +UnnamedText_592c8: ; 0x592c8 + TX_FAR _UnnamedText_592c8 + db $50 +; 0x592c8 + 5 bytes + +Route8Text6: ; 0x592cd + db $08 ; asm + ld hl, TrainerHeader_5921f + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_592d7: ; 0x592d7 + TX_FAR _UnnamedText_592d7 + db $50 +; 0x592d7 + 5 bytes + +UnnamedText_592dc: ; 0x592dc + TX_FAR _UnnamedText_592dc + db $50 +; 0x592dc + 5 bytes + +UnnamedText_592e1: ; 0x592e1 + TX_FAR _UnnamedText_592e1 + db $50 +; 0x592e1 + 5 bytes + +Route8Text7: ; 0x592e6 + db $08 ; asm + ld hl, TrainerHeader_5922b + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_592f0: ; 0x592f0 + TX_FAR _UnnamedText_592f0 + db $50 +; 0x592f0 + 5 bytes + +UnnamedText_592f5: ; 0x592f5 + TX_FAR _UnnamedText_592f5 + db $50 +; 0x592f5 + 5 bytes + +UnnamedText_592fa: ; 0x592fa + TX_FAR _UnnamedText_592fa + db $50 +; 0x592fa + 5 bytes + +Route8Text8: ; 0x592ff + db $08 ; asm + ld hl, TrainerHeader_59237 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59309: ; 0x59309 + TX_FAR _UnnamedText_59309 + db $50 +; 0x59309 + 5 bytes + +UnnamedText_5930e: ; 0x5930e + TX_FAR _UnnamedText_5930e + db $50 +; 0x5930e + 5 bytes + +UnnamedText_59313: ; 0x59313 + TX_FAR _UnnamedText_59313 + db $50 +; 0x59313 + 5 bytes + +Route8Text9: ; 0x59318 + db $08 ; asm + ld hl, TrainerHeader_59243 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59322: ; 0x59322 + TX_FAR _UnnamedText_59322 + db $50 +; 0x59322 + 5 bytes + +UnnamedText_59327: ; 0x59327 + TX_FAR _UnnamedText_59327 + db $50 +; 0x59327 + 5 bytes + +UnnamedText_5932c: ; 0x5932c + TX_FAR _UnnamedText_5932c + db $50 +; 0x5932c + 5 bytes + +Route8Text10: ; 0x59331 + TX_FAR _Route8Text10 + db $50 + +Route10Script: ; 0x59336 + call $3c3c + ld hl, Route10TrainerHeaders + ld de, Route10_Unknown59349 + ld a, [$d605] + call $3160 + ld [$d605], a + ret +; 0x59349 + +Route10_Unknown59349: ; 0x59349 +INCBIN "baserom.gbc",$59349,$6 + +Route10Texts: ; 0x5934f + dw Route10Text1, Route10Text2, Route10Text3, Route10Text4, Route10Text5, Route10Text6, Route10Text7, Route10Text8, Route10Text9, Route10Text10 + +Route10TrainerHeaders: +Route10TrainerHeader1: ; 0x59363 + db $1 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d1 ; flag's byte + dw UnnamedText_593b6 ; 0x53b6 TextBeforeBattle + dw UnnamedText_593c0 ; 0x53c0 TextAfterBattle + dw UnnamedText_593bb ; 0x53bb TextEndBattle + dw UnnamedText_593bb ; 0x53bb TextEndBattle +; 0x5936f + +TrainerHeader_5936f: ; 0x5936f + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7d1 ; flag's byte + dw UnnamedText_593cf ; 0x53cf TextBeforeBattle + dw UnnamedText_593d9 ; 0x53d9 TextAfterBattle + dw UnnamedText_593d4 ; 0x53d4 TextEndBattle + dw UnnamedText_593d4 ; 0x53d4 TextEndBattle +; 0x5937b + +TrainerHeader_5937b: ; 0x5937b + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d1 ; flag's byte + dw UnnamedText_593e8 ; 0x53e8 TextBeforeBattle + dw UnnamedText_593f2 ; 0x53f2 TextAfterBattle + dw UnnamedText_593ed ; 0x53ed TextEndBattle + dw UnnamedText_593ed ; 0x53ed TextEndBattle +; 0x59387 + +TrainerHeader_59387: ; 0x59387 + db $4 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7d1 ; flag's byte + dw UnnamedText_59401 ; 0x5401 TextBeforeBattle + dw UnnamedText_5940b ; 0x540b TextAfterBattle + dw UnnamedText_59406 ; 0x5406 TextEndBattle + dw UnnamedText_59406 ; 0x5406 TextEndBattle +; 0x59393 + +TrainerHeader_59393: ; 0x59393 + db $5 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7d1 ; flag's byte + dw UnnamedText_5941a ; 0x541a TextBeforeBattle + dw UnnamedText_59424 ; 0x5424 TextAfterBattle + dw UnnamedText_5941f ; 0x541f TextEndBattle + dw UnnamedText_5941f ; 0x541f TextEndBattle +; 0x5939f + +TrainerHeader_5939f: ; 0x5939f + db $6 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7d1 ; flag's byte + dw UnnamedText_59433 ; 0x5433 TextBeforeBattle + dw UnnamedText_5943d ; 0x543d TextAfterBattle + dw UnnamedText_59438 ; 0x5438 TextEndBattle + dw UnnamedText_59438 ; 0x5438 TextEndBattle +; 0x593ab + +db $ff + +Route10Text1: ; 0x593ac + db $08 ; asm + ld hl, Route10TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_593b6: ; 0x593b6 + TX_FAR _UnnamedText_593b6 + db $50 +; 0x593b6 + 5 bytes + +UnnamedText_593bb: ; 0x593bb + TX_FAR _UnnamedText_593bb + db $50 +; 0x593bb + 5 bytes + +UnnamedText_593c0: ; 0x593c0 + TX_FAR _UnnamedText_593c0 + db $50 +; 0x593c0 + 5 bytes + +Route10Text2: ; 0x593c5 + db $08 ; asm + ld hl, TrainerHeader_5936f + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_593cf: ; 0x593cf + TX_FAR _UnnamedText_593cf + db $50 +; 0x593cf + 5 bytes + +UnnamedText_593d4: ; 0x593d4 + TX_FAR _UnnamedText_593d4 + db $50 +; 0x593d4 + 5 bytes + +UnnamedText_593d9: ; 0x593d9 + TX_FAR _UnnamedText_593d9 + db $50 +; 0x593d9 + 5 bytes + +Route10Text3: ; 0x593de + db $08 ; asm + ld hl, TrainerHeader_5937b + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_593e8: ; 0x593e8 + TX_FAR _UnnamedText_593e8 + db $50 +; 0x593e8 + 5 bytes + +UnnamedText_593ed: ; 0x593ed + TX_FAR _UnnamedText_593ed + db $50 +; 0x593ed + 5 bytes + +UnnamedText_593f2: ; 0x593f2 + TX_FAR _UnnamedText_593f2 + db $50 +; 0x593f2 + 5 bytes + +Route10Text4: ; 0x593f7 + db $08 ; asm + ld hl, TrainerHeader_59387 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59401: ; 0x59401 + TX_FAR _UnnamedText_59401 + db $50 +; 0x59401 + 5 bytes + +UnnamedText_59406: ; 0x59406 + TX_FAR _UnnamedText_59406 + db $50 +; 0x59406 + 5 bytes + +UnnamedText_5940b: ; 0x5940b + TX_FAR _UnnamedText_5940b + db $50 +; 0x5940b + 5 bytes + +Route10Text5: ; 0x59410 + db $08 ; asm + ld hl, TrainerHeader_59393 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_5941a: ; 0x5941a + TX_FAR _UnnamedText_5941a + db $50 +; 0x5941a + 5 bytes + +UnnamedText_5941f: ; 0x5941f + TX_FAR _UnnamedText_5941f + db $50 +; 0x5941f + 5 bytes + +UnnamedText_59424: ; 0x59424 + TX_FAR _UnnamedText_59424 + db $50 +; 0x59424 + 5 bytes + +Route10Text6: ; 0x59429 + db $08 ; asm + ld hl, TrainerHeader_5939f + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59433: ; 0x59433 + TX_FAR _UnnamedText_59433 + db $50 +; 0x59433 + 5 bytes + +UnnamedText_59438: ; 0x59438 + TX_FAR _UnnamedText_59438 + db $50 +; 0x59438 + 5 bytes + +UnnamedText_5943d: ; 0x5943d + TX_FAR _UnnamedText_5943d + db $50 +; 0x5943d + 5 bytes + +Route10Text9: ; 0x59442 +Route10Text7: ; 0x59442 + TX_FAR _Route10Text7 ; _Route10Text9 + db $50 + +Route10Text10: ; 0x59447 + TX_FAR _Route10Text10 + db $50 + +Route11Script: ; 0x5944c + call $3c3c + ld hl, Route11TrainerHeaders + ld de, Route11_Unknown5945f + ld a, [$d623] + call $3160 + ld [$d623], a + ret +; 0x5945f + +Route11_Unknown5945f: ; 0x5945f +INCBIN "baserom.gbc",$5945f,$59465 - $5945f + +Route11Texts: ; 0x59465 + dw UnnamedText_594f4, Route11Text2, Route11Text3, Route11Text4, Route11Text5, Route11Text6, Route11Text7, Route11Text8, Route11Text9, Route11Text10, Route11Text11 + +Route11TrainerHeaders: +Route11TrainerHeader1: ; 0x5947b + db $1 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7d5 ; flag's byte + dw UnnamedText_594fe ; 0x54fe TextBeforeBattle + dw UnnamedText_59508 ; 0x5508 TextAfterBattle + dw UnnamedText_59503 ; 0x5503 TextEndBattle + dw UnnamedText_59503 ; 0x5503 TextEndBattle +; 0x59487 + +TrainerHeader_59487: ; 0x59487 + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7d5 ; flag's byte + dw UnnamedText_59517 ; 0x5517 TextBeforeBattle + dw UnnamedText_59521 ; 0x5521 TextAfterBattle + dw UnnamedText_5951c ; 0x551c TextEndBattle + dw UnnamedText_5951c ; 0x551c TextEndBattle +; 0x59493 + +TrainerHeader_59493: ; 0x59493 + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7d5 ; flag's byte + dw UnnamedText_59530 ; 0x5530 TextBeforeBattle + dw UnnamedText_5953a ; 0x553a TextAfterBattle + dw UnnamedText_59535 ; 0x5535 TextEndBattle + dw UnnamedText_59535 ; 0x5535 TextEndBattle +; 0x5949f + +TrainerHeader_5949f: ; 0x5949f + db $4 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7d5 ; flag's byte + dw UnnamedText_59549 ; 0x5549 TextBeforeBattle + dw UnnamedText_59553 ; 0x5553 TextAfterBattle + dw UnnamedText_5954e ; 0x554e TextEndBattle + dw UnnamedText_5954e ; 0x554e TextEndBattle +; 0x594ab + +TrainerHeader_594ab: ; 0x594ab + db $5 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d5 ; flag's byte + dw UnnamedText_59562 ; 0x5562 TextBeforeBattle + dw UnnamedText_5956c ; 0x556c TextAfterBattle + dw UnnamedText_59567 ; 0x5567 TextEndBattle + dw UnnamedText_59567 ; 0x5567 TextEndBattle +; 0x594b7 + +TrainerHeader_594b7: ; 0x594b7 + db $6 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7d5 ; flag's byte + dw UnnamedText_5957b ; 0x557b TextBeforeBattle + dw UnnamedText_59585 ; 0x5585 TextAfterBattle + dw UnnamedText_59580 ; 0x5580 TextEndBattle + dw UnnamedText_59580 ; 0x5580 TextEndBattle +; 0x594c3 + +TrainerHeader_594c3: ; 0x594c3 + db $7 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7d5 ; flag's byte + dw UnnamedText_59594 ; 0x5594 TextBeforeBattle + dw UnnamedText_5959e ; 0x559e TextAfterBattle + dw UnnamedText_59599 ; 0x5599 TextEndBattle + dw UnnamedText_59599 ; 0x5599 TextEndBattle +; 0x594cf + +TrainerHeader_594cf: ; 0x594cf + db $8 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d5 ; flag's byte + dw UnnamedText_595ad ; 0x55ad TextBeforeBattle + dw UnnamedText_595b7 ; 0x55b7 TextAfterBattle + dw UnnamedText_595b2 ; 0x55b2 TextEndBattle + dw UnnamedText_595b2 ; 0x55b2 TextEndBattle +; 0x594db + +TrainerHeader_594db: ; 0x594db + db $9 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7d5 ; flag's byte + dw UnnamedText_595c6 ; 0x55c6 TextBeforeBattle + dw UnnamedText_595d0 ; 0x55d0 TextAfterBattle + dw UnnamedText_595cb ; 0x55cb TextEndBattle + dw UnnamedText_595cb ; 0x55cb TextEndBattle +; 0x594e7 + +TrainerHeader_594e7: ; 0x594e7 + db $a ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d5 ; flag's byte + dw UnnamedText_595df ; 0x55df TextBeforeBattle + dw UnnamedText_595e9 ; 0x55e9 TextAfterBattle + dw UnnamedText_595e4 ; 0x55e4 TextEndBattle + dw UnnamedText_595e4 ; 0x55e4 TextEndBattle +; 0x594f3 + +db $ff + +UnnamedText_594f4: ; 0x594f4 + db $8 + ld hl, Route11TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd +; 0x594fe + +UnnamedText_594fe: ; 0x594fe + TX_FAR _UnnamedText_594fe + db $50 +; 0x594fe + 5 bytes + +UnnamedText_59503: ; 0x59503 + TX_FAR _UnnamedText_59503 + db $50 +; 0x59503 + 5 bytes + +UnnamedText_59508: ; 0x59508 + TX_FAR _UnnamedText_59508 + db $50 +; 0x59508 + 5 bytes + +Route11Text2: ; 0x5950d + db $08 ; asm + ld hl, TrainerHeader_59487 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59517: ; 0x59517 + TX_FAR _UnnamedText_59517 + db $50 +; 0x59517 + 5 bytes + +UnnamedText_5951c: ; 0x5951c + TX_FAR _UnnamedText_5951c + db $50 +; 0x5951c + 5 bytes + +UnnamedText_59521: ; 0x59521 + TX_FAR _UnnamedText_59521 + db $50 +; 0x59521 + 5 bytes + +Route11Text3: ; 0x59526 + db $08 ; asm + ld hl, TrainerHeader_59493 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59530: ; 0x59530 + TX_FAR _UnnamedText_59530 + db $50 +; 0x59530 + 5 bytes + +UnnamedText_59535: ; 0x59535 + TX_FAR _UnnamedText_59535 + db $50 +; 0x59535 + 5 bytes + +UnnamedText_5953a: ; 0x5953a + TX_FAR _UnnamedText_5953a + db $50 +; 0x5953a + 5 bytes + +Route11Text4: ; 0x5953f + db $08 ; asm + ld hl, TrainerHeader_5949f + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59549: ; 0x59549 + TX_FAR _UnnamedText_59549 + db $50 +; 0x59549 + 5 bytes + +UnnamedText_5954e: ; 0x5954e + TX_FAR _UnnamedText_5954e + db $50 +; 0x5954e + 5 bytes + +UnnamedText_59553: ; 0x59553 + TX_FAR _UnnamedText_59553 + db $50 +; 0x59553 + 5 bytes + +Route11Text5: ; 0x59558 + db $08 ; asm + ld hl, TrainerHeader_594ab + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59562: ; 0x59562 + TX_FAR _UnnamedText_59562 + db $50 +; 0x59562 + 5 bytes + +UnnamedText_59567: ; 0x59567 + TX_FAR _UnnamedText_59567 + db $50 +; 0x59567 + 5 bytes + +UnnamedText_5956c: ; 0x5956c + TX_FAR _UnnamedText_5956c + db $50 +; 0x5956c + 5 bytes + +Route11Text6: ; 0x59571 + db $08 ; asm + ld hl, TrainerHeader_594b7 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_5957b: ; 0x5957b + TX_FAR _UnnamedText_5957b + db $50 +; 0x5957b + 5 bytes + +UnnamedText_59580: ; 0x59580 + TX_FAR _UnnamedText_59580 + db $50 +; 0x59580 + 5 bytes + +UnnamedText_59585: ; 0x59585 + TX_FAR _UnnamedText_59585 + db $50 +; 0x59585 + 5 bytes + +Route11Text7: ; 0x5958a + db $08 ; asm + ld hl, TrainerHeader_594c3 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59594: ; 0x59594 + TX_FAR _UnnamedText_59594 + db $50 +; 0x59594 + 5 bytes + +UnnamedText_59599: ; 0x59599 + TX_FAR _UnnamedText_59599 + db $50 +; 0x59599 + 5 bytes + +UnnamedText_5959e: ; 0x5959e + TX_FAR _UnnamedText_5959e + db $50 +; 0x5959e + 5 bytes + +Route11Text8: ; 0x595a3 + db $08 ; asm + ld hl, TrainerHeader_594cf + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_595ad: ; 0x595ad + TX_FAR _UnnamedText_595ad + db $50 +; 0x595ad + 5 bytes + +UnnamedText_595b2: ; 0x595b2 + TX_FAR _UnnamedText_595b2 + db $50 +; 0x595b2 + 5 bytes + +UnnamedText_595b7: ; 0x595b7 + TX_FAR _UnnamedText_595b7 + db $50 +; 0x595b7 + 5 bytes + +Route11Text9: ; 0x595bc + db $08 ; asm + ld hl, TrainerHeader_594db + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_595c6: ; 0x595c6 + TX_FAR _UnnamedText_595c6 + db $50 +; 0x595c6 + 5 bytes + +UnnamedText_595cb: ; 0x595cb + TX_FAR _UnnamedText_595cb + db $50 +; 0x595cb + 5 bytes + +UnnamedText_595d0: ; 0x595d0 + TX_FAR _UnnamedText_595d0 + db $50 +; 0x595d0 + 5 bytes + +Route11Text10: ; 0x595d5 + db $08 ; asm + ld hl, TrainerHeader_594e7 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_595df: ; 0x595df + TX_FAR _UnnamedText_595df + db $50 +; 0x595df + 5 bytes + +UnnamedText_595e4: ; 0x595e4 + TX_FAR _UnnamedText_595e4 + db $50 +; 0x595e4 + 5 bytes + +UnnamedText_595e9: ; 0x595e9 + TX_FAR _UnnamedText_595e9 + db $50 +; 0x595e9 + 5 bytes + +Route11Text11: ; 0x595ee + TX_FAR _Route11Text11 + db $50 + +Route12Script: ; 0x595f3 + call $3c3c + ld hl, Route12TrainerHeaders + ld de, $5611 + ld a, [$d624] + call $3160 + ld [$d624], a + ret +; 0x59606 + +INCBIN "baserom.gbc",$59606,$6f + +Route12Texts: ; 0x59675 + dw Route12Text1, Route12Text2, Route12Text3, Route12Text4, Route12Text5, Route12Text6, Route12Text7, Route12Text8, Route12Text9, Route12Text10, Route12Text11, Route12Text12, Route12Text13, Route12Text14 + +Route12TrainerHeaders: +Route12TrainerHeader1: ; 0x59691 + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d7 ; flag's byte + dw UnnamedText_596ff ; 0x56ff TextBeforeBattle + dw UnnamedText_59709 ; 0x5709 TextAfterBattle + dw UnnamedText_59704 ; 0x5704 TextEndBattle + dw UnnamedText_59704 ; 0x5704 TextEndBattle +; 0x5969d + +TrainerHeader_5969d: ; 0x5969d + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d7 ; flag's byte + dw UnnamedText_59718 ; 0x5718 TextBeforeBattle + dw UnnamedText_59722 ; 0x5722 TextAfterBattle + dw UnnamedText_5971d ; 0x571d TextEndBattle + dw UnnamedText_5971d ; 0x571d TextEndBattle +; 0x596a9 + +TrainerHeader_596a9: ; 0x596a9 + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d7 ; flag's byte + dw UnnamedText_59731 ; 0x5731 TextBeforeBattle + dw UnnamedText_5973b ; 0x573b TextAfterBattle + dw UnnamedText_59736 ; 0x5736 TextEndBattle + dw UnnamedText_59736 ; 0x5736 TextEndBattle +; 0x596b5 + +TrainerHeader_596b5: ; 0x596b5 + db $5 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d7 ; flag's byte + dw UnnamedText_5974a ; 0x574a TextBeforeBattle + dw UnnamedText_59754 ; 0x5754 TextAfterBattle + dw UnnamedText_5974f ; 0x574f TextEndBattle + dw UnnamedText_5974f ; 0x574f TextEndBattle +; 0x596c1 + +TrainerHeader_596c1: ; 0x596c1 + db $6 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d7 ; flag's byte + dw UnnamedText_59763 ; 0x5763 TextBeforeBattle + dw UnnamedText_5976d ; 0x576d TextAfterBattle + dw UnnamedText_59768 ; 0x5768 TextEndBattle + dw UnnamedText_59768 ; 0x5768 TextEndBattle +; 0x596cd + +TrainerHeader_596cd: ; 0x596cd + db $7 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d7 ; flag's byte + dw UnnamedText_5977c ; 0x577c TextBeforeBattle + dw UnnamedText_59786 ; 0x5786 TextAfterBattle + dw UnnamedText_59781 ; 0x5781 TextEndBattle + dw UnnamedText_59781 ; 0x5781 TextEndBattle +; 0x596d9 + +TrainerHeader_596d9: ; 0x596d9 + db $8 ; flag's bit + db ($1 << 4) ; trainer's view range + dw $d7d7 ; flag's byte + dw UnnamedText_59795 ; 0x5795 TextBeforeBattle + dw UnnamedText_5979f ; 0x579f TextAfterBattle + dw UnnamedText_5979a ; 0x579a TextEndBattle + dw UnnamedText_5979a ; 0x579a TextEndBattle +; 0x596e5 + +db $ff + +Route12Text1: ; 0x596e6 + TX_FAR _Route12Text1 + db $50 + +Route12Text13: +UnnamedText_596eb: ; 0x596eb + TX_FAR _UnnamedText_596eb + db $50 +; 0x596eb + 5 bytes + +Route12Text14: +UnnamedText_596f0: ; 0x596f0 + TX_FAR _UnnamedText_596f0 + db $50 +; 0x596f0 + 5 bytes + +Route12Text2: ; 0x596f5 + db $08 ; asm + ld hl, Route12TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_596ff: ; 0x596ff + TX_FAR _UnnamedText_596ff + db $50 +; 0x596ff + 5 bytes + +UnnamedText_59704: ; 0x59704 + TX_FAR _UnnamedText_59704 + db $50 +; 0x59704 + 5 bytes + +UnnamedText_59709: ; 0x59709 + TX_FAR _UnnamedText_59709 + db $50 +; 0x59709 + 5 bytes + +Route12Text3: ; 0x5970e + db $08 ; asm + ld hl, TrainerHeader_5969d + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59718: ; 0x59718 + TX_FAR _UnnamedText_59718 + db $50 +; 0x59718 + 5 bytes + +UnnamedText_5971d: ; 0x5971d + TX_FAR _UnnamedText_5971d + db $50 +; 0x5971d + 5 bytes + +UnnamedText_59722: ; 0x59722 + TX_FAR _UnnamedText_59722 + db $50 +; 0x59722 + 5 bytes + +Route12Text4: ; 0x59727 + db $08 ; asm + ld hl, TrainerHeader_596a9 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59731: ; 0x59731 + TX_FAR _UnnamedText_59731 + db $50 +; 0x59731 + 5 bytes + +UnnamedText_59736: ; 0x59736 + TX_FAR _UnnamedText_59736 + db $50 +; 0x59736 + 5 bytes + +UnnamedText_5973b: ; 0x5973b + TX_FAR _UnnamedText_5973b + db $50 +; 0x5973b + 5 bytes + +Route12Text5: ; 0x59740 + db $08 ; asm + ld hl, TrainerHeader_596b5 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_5974a: ; 0x5974a + TX_FAR _UnnamedText_5974a + db $50 +; 0x5974a + 5 bytes + +UnnamedText_5974f: ; 0x5974f + TX_FAR _UnnamedText_5974f + db $50 +; 0x5974f + 5 bytes + +UnnamedText_59754: ; 0x59754 + TX_FAR _UnnamedText_59754 + db $50 +; 0x59754 + 5 bytes + +Route12Text6: ; 0x59759 + db $08 ; asm + ld hl, TrainerHeader_596c1 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59763: ; 0x59763 + TX_FAR _UnnamedText_59763 + db $50 +; 0x59763 + 5 bytes + +UnnamedText_59768: ; 0x59768 + TX_FAR _UnnamedText_59768 + db $50 +; 0x59768 + 5 bytes + +UnnamedText_5976d: ; 0x5976d + TX_FAR _UnnamedText_5976d + db $50 +; 0x5976d + 5 bytes + +Route12Text7: ; 0x59772 + db $08 ; asm + ld hl, TrainerHeader_596cd + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_5977c: ; 0x5977c + TX_FAR _UnnamedText_5977c + db $50 +; 0x5977c + 5 bytes + +UnnamedText_59781: ; 0x59781 + TX_FAR _UnnamedText_59781 + db $50 +; 0x59781 + 5 bytes + +UnnamedText_59786: ; 0x59786 + TX_FAR _UnnamedText_59786 + db $50 +; 0x59786 + 5 bytes + +Route12Text8: ; 0x5978b + db $08 ; asm + ld hl, TrainerHeader_596d9 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59795: ; 0x59795 + TX_FAR _UnnamedText_59795 + db $50 +; 0x59795 + 5 bytes + +UnnamedText_5979a: ; 0x5979a + TX_FAR _UnnamedText_5979a + db $50 +; 0x5979a + 5 bytes + +UnnamedText_5979f: ; 0x5979f + TX_FAR _UnnamedText_5979f + db $50 +; 0x5979f + 5 bytes + +Route12Text11: ; 0x597a4 + TX_FAR _Route12Text11 + db $50 + +Route12Text12: ; 0x597a9 + TX_FAR _Route12Text12 + db $50 + +Route15Script: ; 0x597ae + call $3c3c + ld hl, Route15TrainerHeaders + ld de, Route15_Unknown597c1 + ld a, [$d625] + call $3160 + ld [$d625], a + ret +; 0x597c1 + +Route15_Unknown597c1: ; 0x597c1 +INCBIN "baserom.gbc",$597c1,$6 + +Route15Texts: ; 0x597c7 + dw Route15Text1, Route15Text2, Route15Text3, Route15Text4, Route15Text5, Route15Text6, Route15Text7, Route15Text8, Route15Text9, Route15Text10, Route15Text11, Route15Text12 + +Route15TrainerHeaders: +Route15TrainerHeader1: ; 0x597df + db $1 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7dd ; flag's byte + dw UnnamedText_59898 ; 0x5898 TextBeforeBattle + dw UnnamedText_598a2 ; 0x58a2 TextAfterBattle + dw UnnamedText_5989d ; 0x589d TextEndBattle + dw UnnamedText_5989d ; 0x589d TextEndBattle +; 0x597eb + +TrainerHeader_597eb: ; 0x597eb + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7dd ; flag's byte + dw UnnamedText_598a7 ; 0x58a7 TextBeforeBattle + dw UnnamedText_598b1 ; 0x58b1 TextAfterBattle + dw UnnamedText_598ac ; 0x58ac TextEndBattle + dw UnnamedText_598ac ; 0x58ac TextEndBattle +; 0x597f7 + +TrainerHeader_597f7: ; 0x597f7 + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7dd ; flag's byte + dw UnnamedText_598b6 ; 0x58b6 TextBeforeBattle + dw UnnamedText_598c0 ; 0x58c0 TextAfterBattle + dw UnnamedText_598bb ; 0x58bb TextEndBattle + dw UnnamedText_598bb ; 0x58bb TextEndBattle +; 0x59803 + +TrainerHeader_59803: ; 0x59803 + db $4 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7dd ; flag's byte + dw UnnamedText_598c5 ; 0x58c5 TextBeforeBattle + dw UnnamedText_598cf ; 0x58cf TextAfterBattle + dw UnnamedText_598ca ; 0x58ca TextEndBattle + dw UnnamedText_598ca ; 0x58ca TextEndBattle +; 0x5980f + +TrainerHeader_5980f: ; 0x5980f + db $5 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7dd ; flag's byte + dw UnnamedText_598d4 ; 0x58d4 TextBeforeBattle + dw UnnamedText_598de ; 0x58de TextAfterBattle + dw UnnamedText_598d9 ; 0x58d9 TextEndBattle + dw UnnamedText_598d9 ; 0x58d9 TextEndBattle +; 0x5981b + +TrainerHeader_5981b: ; 0x5981b + db $6 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7dd ; flag's byte + dw UnnamedText_598e3 ; 0x58e3 TextBeforeBattle + dw UnnamedText_598ed ; 0x58ed TextAfterBattle + dw UnnamedText_598e8 ; 0x58e8 TextEndBattle + dw UnnamedText_598e8 ; 0x58e8 TextEndBattle +; 0x59827 + +TrainerHeader_59827: ; 0x59827 + db $7 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7dd ; flag's byte + dw UnnamedText_598f2 ; 0x58f2 TextBeforeBattle + dw UnnamedText_598fc ; 0x58fc TextAfterBattle + dw UnnamedText_598f7 ; 0x58f7 TextEndBattle + dw UnnamedText_598f7 ; 0x58f7 TextEndBattle +; 0x59833 + +TrainerHeader_59833: ; 0x59833 + db $8 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7dd ; flag's byte + dw UnnamedText_59901 ; 0x5901 TextBeforeBattle + dw UnnamedText_5990b ; 0x590b TextAfterBattle + dw UnnamedText_59906 ; 0x5906 TextEndBattle + dw UnnamedText_59906 ; 0x5906 TextEndBattle +; 0x5983f + +TrainerHeader_5983f: ; 0x5983f + db $9 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7dd ; flag's byte + dw UnnamedText_59910 ; 0x5910 TextBeforeBattle + dw UnnamedText_5991a ; 0x591a TextAfterBattle + dw UnnamedText_59915 ; 0x5915 TextEndBattle + dw UnnamedText_59915 ; 0x5915 TextEndBattle +; 0x5984b + +TrainerHeader_5984b: ; 0x5984b + db $a ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7dd ; flag's byte + dw UnnamedText_5991f ; 0x591f TextBeforeBattle + dw UnnamedText_59929 ; 0x5929 TextAfterBattle + dw UnnamedText_59924 ; 0x5924 TextEndBattle + dw UnnamedText_59924 ; 0x5924 TextEndBattle +; 0x59857 + +db $ff + +Route15Text1: ; 0x59858 + db $8 ; asm + ld hl, Route15TrainerHeader1 + jr asm_33cb7 ; 0x5985c $34 + +Route15Text2: + db $8 ; asm + ld hl, TrainerHeader_597eb + jr asm_33cb7 ; 0x59862 $2e + +Route15Text3: + db $8 ; asm + ld hl, TrainerHeader_597f7 + jr asm_33cb7 ; 0x59868 $28 + +Route15Text4: + db $8 ; asm + ld hl, TrainerHeader_59803 + jr asm_33cb7 ; 0x5986e $22 + +Route15Text5: + db $8 ; asm + ld hl, TrainerHeader_5980f + jr asm_33cb7 ; 0x59874 $1c + +Route15Text6: + db $8 ; asm + ld hl, TrainerHeader_5981b + jr asm_33cb7 ; 0x5987a $16 + +Route15Text7: + db $8 ; asm + ld hl, TrainerHeader_59827 + jr asm_33cb7 ; 0x59880 $10 + +Route15Text8: + db $8 ; asm + ld hl, TrainerHeader_59833 + jr asm_33cb7 ; 0x59886 $a + +Route15Text9: + db $8 ; asm + ld hl, TrainerHeader_5983f + jr asm_33cb7 ; 0x5988c $4 + +Route15Text10: + db $8 ; asm + ld hl, TrainerHeader_5984b +asm_33cb7: ; 0x59892 + call LoadTrainerHeader + jp TextScriptEnd +; 0x59898 + +UnnamedText_59898: ; 0x59898 + TX_FAR _UnnamedText_59898 + db $50 +; 0x59898 + 5 bytes + +UnnamedText_5989d: ; 0x5989d + TX_FAR _UnnamedText_5989d + db $50 +; 0x5989d + 5 bytes + +UnnamedText_598a2: ; 0x598a2 + TX_FAR _UnnamedText_598a2 + db $50 +; 0x598a2 + 5 bytes + +UnnamedText_598a7: ; 0x598a7 + TX_FAR _UnnamedText_598a7 + db $50 +; 0x598a7 + 5 bytes + +UnnamedText_598ac: ; 0x598ac + TX_FAR _UnnamedText_598ac + db $50 +; 0x598ac + 5 bytes + +UnnamedText_598b1: ; 0x598b1 + TX_FAR _UnnamedText_598b1 + db $50 +; 0x598b1 + 5 bytes + +UnnamedText_598b6: ; 0x598b6 + TX_FAR _UnnamedText_598b6 + db $50 +; 0x598b6 + 5 bytes + +UnnamedText_598bb: ; 0x598bb + TX_FAR _UnnamedText_598bb + db $50 +; 0x598bb + 5 bytes + +UnnamedText_598c0: ; 0x598c0 + TX_FAR _UnnamedText_598c0 + db $50 +; 0x598c0 + 5 bytes + +UnnamedText_598c5: ; 0x598c5 + TX_FAR _UnnamedText_598c5 + db $50 +; 0x598c5 + 5 bytes + +UnnamedText_598ca: ; 0x598ca + TX_FAR _UnnamedText_598ca + db $50 +; 0x598ca + 5 bytes + +UnnamedText_598cf: ; 0x598cf + TX_FAR _UnnamedText_598cf + db $50 +; 0x598cf + 5 bytes + +UnnamedText_598d4: ; 0x598d4 + TX_FAR _UnnamedText_598d4 + db $50 +; 0x598d4 + 5 bytes + +UnnamedText_598d9: ; 0x598d9 + TX_FAR _UnnamedText_598d9 + db $50 +; 0x598d9 + 5 bytes + +UnnamedText_598de: ; 0x598de + TX_FAR _UnnamedText_598de + db $50 +; 0x598de + 5 bytes + +UnnamedText_598e3: ; 0x598e3 + TX_FAR _UnnamedText_598e3 + db $50 +; 0x598e3 + 5 bytes + +UnnamedText_598e8: ; 0x598e8 + TX_FAR _UnnamedText_598e8 + db $50 +; 0x598e8 + 5 bytes + +UnnamedText_598ed: ; 0x598ed + TX_FAR _UnnamedText_598ed + db $50 +; 0x598ed + 5 bytes + +UnnamedText_598f2: ; 0x598f2 + TX_FAR _UnnamedText_598f2 + db $50 +; 0x598f2 + 5 bytes + +UnnamedText_598f7: ; 0x598f7 + TX_FAR _UnnamedText_598f7 + db $50 +; 0x598f7 + 5 bytes + +UnnamedText_598fc: ; 0x598fc + TX_FAR _UnnamedText_598fc + db $50 +; 0x598fc + 5 bytes + +UnnamedText_59901: ; 0x59901 + TX_FAR _UnnamedText_59901 + db $50 +; 0x59901 + 5 bytes + +UnnamedText_59906: ; 0x59906 + TX_FAR _UnnamedText_59906 + db $50 +; 0x59906 + 5 bytes + +UnnamedText_5990b: ; 0x5990b + TX_FAR _UnnamedText_5990b + db $50 +; 0x5990b + 5 bytes + +UnnamedText_59910: ; 0x59910 + TX_FAR _UnnamedText_59910 + db $50 +; 0x59910 + 5 bytes + +UnnamedText_59915: ; 0x59915 + TX_FAR _UnnamedText_59915 + db $50 +; 0x59915 + 5 bytes + +UnnamedText_5991a: ; 0x5991a + TX_FAR _UnnamedText_5991a + db $50 +; 0x5991a + 5 bytes + +UnnamedText_5991f: ; 0x5991f + TX_FAR _UnnamedText_5991f + db $50 +; 0x5991f + 5 bytes + +UnnamedText_59924: ; 0x59924 + TX_FAR _UnnamedText_59924 + db $50 +; 0x59924 + 5 bytes + +UnnamedText_59929: ; 0x59929 + TX_FAR _UnnamedText_59929 + db $50 +; 0x59929 + 5 bytes + +Route15Text12: ; 0x5992e + TX_FAR _Route15Text12 + db $50 + +Route16Script: ; 0x59933 + call $3c3c + ld hl, Route16TrainerHeaders + ld de, $5951 + ld a, [$d626] + call $3160 + ld [$d626], a + ret +; 0x59946 + +INCBIN "baserom.gbc",$59946,$73 + +Route16Texts: ; 0x599b9 + dw Route16Text1, Route16Text2, Route16Text3, Route16Text4, Route16Text5, Route16Text6, Route16Text7, Route16Text8, Route16Text9, Route16Text10, Route16Text11 + +Route16TrainerHeaders: +Route16TrainerHeader1: ; 0x599cf + db $1 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7df ; flag's byte + dw UnnamedText_59a22 ; 0x5a22 TextBeforeBattle + dw UnnamedText_59a2c ; 0x5a2c TextAfterBattle + dw UnnamedText_59a27 ; 0x5a27 TextEndBattle + dw UnnamedText_59a27 ; 0x5a27 TextEndBattle +; 0x599db + +TrainerHeader_599db: ; 0x599db + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7df ; flag's byte + dw UnnamedText_59a3b ; 0x5a3b TextBeforeBattle + dw UnnamedText_59a45 ; 0x5a45 TextAfterBattle + dw UnnamedText_59a40 ; 0x5a40 TextEndBattle + dw UnnamedText_59a40 ; 0x5a40 TextEndBattle +; 0x599e7 + +TrainerHeader_599e7: ; 0x599e7 + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7df ; flag's byte + dw UnnamedText_59a54 ; 0x5a54 TextBeforeBattle + dw UnnamedText_59a5e ; 0x5a5e TextAfterBattle + dw UnnamedText_59a59 ; 0x5a59 TextEndBattle + dw UnnamedText_59a59 ; 0x5a59 TextEndBattle +; 0x599f3 + +TrainerHeader_599f3: ; 0x599f3 + db $4 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7df ; flag's byte + dw UnnamedText_59a6d ; 0x5a6d TextBeforeBattle + dw UnnamedText_59a77 ; 0x5a77 TextAfterBattle + dw UnnamedText_59a72 ; 0x5a72 TextEndBattle + dw UnnamedText_59a72 ; 0x5a72 TextEndBattle +; 0x599ff + +TrainerHeader_599ff: ; 0x599ff + db $5 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7df ; flag's byte + dw UnnamedText_59a86 ; 0x5a86 TextBeforeBattle + dw UnnamedText_59a90 ; 0x5a90 TextAfterBattle + dw UnnamedText_59a8b ; 0x5a8b TextEndBattle + dw UnnamedText_59a8b ; 0x5a8b TextEndBattle +; 0x59a0b + +TrainerHeader_59a0b: ; 0x59a0b + db $6 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7df ; flag's byte + dw UnnamedText_59a9f ; 0x5a9f TextBeforeBattle + dw UnnamedText_59aa9 ; 0x5aa9 TextAfterBattle + dw UnnamedText_59aa4 ; 0x5aa4 TextEndBattle + dw UnnamedText_59aa4 ; 0x5aa4 TextEndBattle +; 0x59a17 + +db $ff + +Route16Text1: ; 0x59a18 + db $08 ; asm + ld hl, Route16TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59a22: ; 0x59a22 + TX_FAR _UnnamedText_59a22 + db $50 +; 0x59a22 + 5 bytes + +UnnamedText_59a27: ; 0x59a27 + TX_FAR _UnnamedText_59a27 + db $50 +; 0x59a27 + 5 bytes + +UnnamedText_59a2c: ; 0x59a2c + TX_FAR _UnnamedText_59a2c + db $50 +; 0x59a2c + 5 bytes + +Route16Text2: ; 0x59a31 + db $08 ; asm + ld hl, TrainerHeader_599db + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59a3b: ; 0x59a3b + TX_FAR _UnnamedText_59a3b + db $50 +; 0x59a3b + 5 bytes + +UnnamedText_59a40: ; 0x59a40 + TX_FAR _UnnamedText_59a40 + db $50 +; 0x59a40 + 5 bytes + +UnnamedText_59a45: ; 0x59a45 + TX_FAR _UnnamedText_59a45 + db $50 +; 0x59a45 + 5 bytes + +Route16Text3: ; 0x59a4a + db $08 ; asm + ld hl, TrainerHeader_599e7 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59a54: ; 0x59a54 + TX_FAR _UnnamedText_59a54 + db $50 +; 0x59a54 + 5 bytes + +UnnamedText_59a59: ; 0x59a59 + TX_FAR _UnnamedText_59a59 + db $50 +; 0x59a59 + 5 bytes + +UnnamedText_59a5e: ; 0x59a5e + TX_FAR _UnnamedText_59a5e + db $50 +; 0x59a5e + 5 bytes + +Route16Text4: ; 0x59a63 + db $08 ; asm + ld hl, TrainerHeader_599f3 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59a6d: ; 0x59a6d + TX_FAR _UnnamedText_59a6d + db $50 +; 0x59a6d + 5 bytes + +UnnamedText_59a72: ; 0x59a72 + TX_FAR _UnnamedText_59a72 + db $50 +; 0x59a72 + 5 bytes + +UnnamedText_59a77: ; 0x59a77 + TX_FAR _UnnamedText_59a77 + db $50 +; 0x59a77 + 5 bytes + +Route16Text5: ; 0x59a7c + db $08 ; asm + ld hl, TrainerHeader_599ff + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59a86: ; 0x59a86 + TX_FAR _UnnamedText_59a86 + db $50 +; 0x59a86 + 5 bytes + +UnnamedText_59a8b: ; 0x59a8b + TX_FAR _UnnamedText_59a8b + db $50 +; 0x59a8b + 5 bytes + +UnnamedText_59a90: ; 0x59a90 + TX_FAR _UnnamedText_59a90 + db $50 +; 0x59a90 + 5 bytes + +Route16Text6: ; 0x59a95 + db $08 ; asm + ld hl, TrainerHeader_59a0b + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59a9f: ; 0x59a9f + TX_FAR _UnnamedText_59a9f + db $50 +; 0x59a9f + 5 bytes + +UnnamedText_59aa4: ; 0x59aa4 + TX_FAR _UnnamedText_59aa4 + db $50 +; 0x59aa4 + 5 bytes + +UnnamedText_59aa9: ; 0x59aa9 + TX_FAR _UnnamedText_59aa9 + db $50 +; 0x59aa9 + 5 bytes + +Route16Text7: ; 0x59aae + TX_FAR _Route16Text7 + db $50 + +Route16Text10: ; 0x59ab3 + TX_FAR _UnnamedText_59ab3 + db $50 +; 0x59ab3 + 5 bytes + +Route16Text11: ; 0x59ab8 + TX_FAR _UnnamedText_59ab8 + db $50 +; 0x59ab8 + 5 bytes + +Route16Text8: ; 0x59abd + TX_FAR _Route16Text8 + db $50 + +Route16Text9: ; 0x59ac2 + TX_FAR _Route16Text9 + db $50 + +Route18Script: ; 0x59ac7 + call $3c3c + ld hl, Route18TrainerHeaders + ld de, Route18_Unknown59ada + ld a, [$d627] + call $3160 + ld [$d627], a + ret +; 0x59ada + +Route18_Unknown59ada: ; 0x59ada +INCBIN "baserom.gbc",$59ada,$6 + +Route18Texts: ; 0x59ae0 + dw Route18Text1, Route18Text2, Route18Text3, Route18Text4, Route18Text5 + +Route18TrainerHeaders: +Route18TrainerHeader1: ; 0x59aea + db $1 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7e3 ; flag's byte + dw UnnamedText_59b19 ; 0x5b19 TextBeforeBattle + dw UnnamedText_59b23 ; 0x5b23 TextAfterBattle + dw UnnamedText_59b1e ; 0x5b1e TextEndBattle + dw UnnamedText_59b1e ; 0x5b1e TextEndBattle +; 0x59af6 + +TrainerHeader_59af6: ; 0x59af6 + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7e3 ; flag's byte + dw UnnamedText_59b32 ; 0x5b32 TextBeforeBattle + dw UnnamedText_59b3c ; 0x5b3c TextAfterBattle + dw UnnamedText_59b37 ; 0x5b37 TextEndBattle + dw UnnamedText_59b37 ; 0x5b37 TextEndBattle +; 0x59b02 + +TrainerHeader_59b02: ; 0x59b02 + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e3 ; flag's byte + dw UnnamedText_59b4b ; 0x5b4b TextBeforeBattle + dw UnnamedText_59b55 ; 0x5b55 TextAfterBattle + dw UnnamedText_59b50 ; 0x5b50 TextEndBattle + dw UnnamedText_59b50 ; 0x5b50 TextEndBattle +; 0x59b0e + +db $ff + +Route18Text1: ; 0x59b0f + db $08 ; asm + ld hl, Route18TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59b19: ; 0x59b19 + TX_FAR _UnnamedText_59b19 + db $50 +; 0x59b19 + 5 bytes + +UnnamedText_59b1e: ; 0x59b1e + TX_FAR _UnnamedText_59b1e + db $50 +; 0x59b1e + 5 bytes + +UnnamedText_59b23: ; 0x59b23 + TX_FAR _UnnamedText_59b23 + db $50 +; 0x59b23 + 5 bytes + +Route18Text2: ; 0x59b28 + db $08 ; asm + ld hl, TrainerHeader_59af6 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59b32: ; 0x59b32 + TX_FAR _UnnamedText_59b32 + db $50 +; 0x59b32 + 5 bytes + +UnnamedText_59b37: ; 0x59b37 + TX_FAR _UnnamedText_59b37 + db $50 +; 0x59b37 + 5 bytes + +UnnamedText_59b3c: ; 0x59b3c + TX_FAR _UnnamedText_59b3c + db $50 +; 0x59b3c + 5 bytes + +Route18Text3: ; 0x59b41 + db $08 ; asm + ld hl, TrainerHeader_59b02 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59b4b: ; 0x59b4b + TX_FAR _UnnamedText_59b4b + db $50 +; 0x59b4b + 5 bytes + +UnnamedText_59b50: ; 0x59b50 + TX_FAR _UnnamedText_59b50 + db $50 +; 0x59b50 + 5 bytes + +UnnamedText_59b55: ; 0x59b55 + TX_FAR _UnnamedText_59b55 + db $50 +; 0x59b55 + 5 bytes + +Route18Text4: ; 0x59b5a + TX_FAR _Route18Text4 + db $50 + +Route18Text5: ; 0x59b5f + TX_FAR _Route18Text5 + db $50 + +FanClub_h: ; 0x59b64 to 0x59b70 (12 bytes) (id=90) + db $10 ; tileset + db POKEMON_FAN_CLUB_HEIGHT, POKEMON_FAN_CLUB_WIDTH ; dimensions (y, x) + dw FanClubBlocks, FanClubTexts, FanClubScript ; blocks, texts, scripts + db $00 ; connections + + dw FanClubObject ; objects + +FanClubScript: ; 0x59b70 + jp $3c3c +; 0x59b73 + +INCBIN "baserom.gbc",$59b73,$11 + +FanClubTexts: ; 0x59b84 + dw FanClubText1, FanClubText2, FanClubText3, FanClubText4, FanClubText5, FanClubText6, FanClubText7, FanClubText8 + +FanClubText1: ; 0x59b94 + db $08 ; asm + ld a, [$d771] + bit 7, a + jr nz, asm_67b22 ; 0x59b9a + ld hl, UnnamedText_59bb7 + call PrintText + ld hl, $d771 + set 6, [hl] + jr asm_64f01 ; 0x59ba7 +asm_67b22 ; 0x59ba9 + ld hl, UnnamedText_59bbc + call PrintText + ld hl, $d771 + res 7, [hl] +asm_64f01 ; 0x59bb4 + jp TextScriptEnd + +UnnamedText_59bb7: ; 0x59bb7 + TX_FAR _UnnamedText_59bb7 + db $50 +; 0x59bb7 + 5 bytes + +UnnamedText_59bbc: ; 0x59bbc + TX_FAR _UnnamedText_59bbc + db $50 +; 0x59bbc + 5 bytes + +FanClubText2: ; 0x59bc1 + db $08 ; asm + ld a, [$d771] + bit 6, a + jr nz, asm_5cd59 ; 0x59bc7 + ld hl, UnnamedText_59be4 + call PrintText + ld hl, $d771 + set 7, [hl] + jr asm_59625 ; 0x59bd4 +asm_5cd59 ; 0x59bd6 + ld hl, UnnamedText_59be9 + call PrintText + ld hl, $d771 + res 6, [hl] +asm_59625 ; 0x59be1 + jp TextScriptEnd + +UnnamedText_59be4: ; 0x59be4 + TX_FAR _UnnamedText_59be4 + db $50 +; 0x59be4 + 5 bytes + +UnnamedText_59be9: ; 0x59be9 + TX_FAR _UnnamedText_59be9 + db $50 +; 0x59be9 + 5 bytes + +FanClubText3: ; 0x59bee + db $8 + ld hl, UnnamedText_59c00 + call PrintText + ld a, $54 + call $13d0 + call $3748 + jp TextScriptEnd +; 0x59c00 + +UnnamedText_59c00: ; 0x59c00 + TX_FAR _UnnamedText_59c00 + db $50 +; 0x59c00 + 5 bytes + +FanClubText4: ; 0x59c05 + db $08 ; asm + ld hl, UnnamedText_59c17 + call PrintText + ld a, SEEL + call $13d0 + call $3748 + jp TextScriptEnd + +UnnamedText_59c17: ; 0x59c17 + TX_FAR _UnnamedText_59c17 + db $50 +; 0x59c17 + 5 bytes + +FanClubText5: ; 0x59c1c + db $08 ; asm + call $5b73 + jr nz, asm_38bb3 ; 0x59c20 + ld hl, UnnamedText_59c65 + call PrintText + call $35ec + ld a, [$cc26] + and a + jr nz, asm_2c8d7 ; 0x59c2f + ld hl, UnnamedText_59c6a + call PrintText + ld bc, (BIKE_VOUCHER << 8) | 1 + call GiveItem + jr nc, asm_867d4 ; 0x59c3d + ld hl, ReceivedBikeVoucherText + call PrintText + ld hl, $d771 + set 1, [hl] + jr asm_d3c26 ; 0x59c4a +asm_867d4 ; 0x59c4c + ld hl, UnnamedText_59c83 + call PrintText + jr asm_d3c26 ; 0x59c52 +asm_2c8d7 ; 0x59c54 + ld hl, UnnamedText_59c79 + call PrintText + jr asm_d3c26 ; 0x59c5a +asm_38bb3 ; 0x59c5c + ld hl, UnnamedText_59c7e + call PrintText +asm_d3c26 ; 0x59c62 + jp TextScriptEnd + +UnnamedText_59c65: ; 0x59c65 + TX_FAR _UnnamedText_59c65 + db $50 +; 0x59c65 + 5 bytes + +UnnamedText_59c6a: ; 0x59c6a + TX_FAR _UnnamedText_59c6a + db $50 +; 0x59c6a + 5 bytes + +ReceivedBikeVoucherText: ; 0x59c6f + TX_FAR _ReceivedBikeVoucherText ; 0x9a82e + db $11 + TX_FAR _UnnamedText_59c74 ; 0x9a844 + db $50 +; 0x59c6f + 10 bytes = 0x59c79 + +UnnamedText_59c79: ; 0x59c79 + TX_FAR _UnnamedText_59c79 + db $50 +; 0x59c79 + 5 bytes + +UnnamedText_59c7e: ; 0x59c7e + TX_FAR _UnnamedText_59c7e + db $50 +; 0x59c7e + 5 bytes + +UnnamedText_59c83: ; 0x59c83 + TX_FAR _UnnamedText_59c83 + db $50 +; 0x59c83 + 5 bytes + +FanClubText6: + TX_FAR _FanClubText6 + db $50 + +FanClubText7: + TX_FAR _FanClubText7 + db $50 + +FanClubText8: ; 0x59c92 + TX_FAR _FanClubText8 + db $50 + +FanClubObject: ; 0x59c97 (size=62) + db $d ; border tile + + db $2 ; warps + db $7, $2, $1, $ff + db $7, $3, $1, $ff + + db $2 ; signs + db $0, $1, $7 ; FanClubText7 + db $0, $6, $8 ; FanClubText8 + + db $6 ; people + db SPRITE_FISHER2, $3 + 4, $6 + 4, $ff, $d2, $1 ; person + db SPRITE_GIRL, $3 + 4, $1 + 4, $ff, $d3, $2 ; person + db SPRITE_CLEFAIRY, $4 + 4, $6 + 4, $ff, $d2, $3 ; person + db SPRITE_SEEL, $4 + 4, $1 + 4, $ff, $d3, $4 ; person + db SPRITE_GENTLEMAN, $1 + 4, $3 + 4, $ff, $d0, $5 ; person + db SPRITE_CABLE_CLUB_WOMAN, $1 + 4, $5 + 4, $ff, $d0, $6 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + +FanClubBlocks: ; 0x59cd5 16 + INCBIN "maps/fanclub.blk" + +SilphCo2_h: ; 0x59ce5 to 0x59cf1 (12 bytes) (id=207) + db $16 ; tileset + db SILPH_CO_2F_HEIGHT, SILPH_CO_2F_WIDTH ; dimensions (y, x) + dw SilphCo2Blocks, SilphCo2Texts, SilphCo2Script ; blocks, texts, scripts + db $00 ; connections + + dw SilphCo2Object ; objects + +SilphCo2Script: ; 0x59cf1 + call SilphCo2_Unknown59d07 + call $3c3c + ld hl, SilphCo2TrainerHeaders + ld de, $5d80 + ld a, [$d643] + call $3160 + ld [$d643], a + ret +; 0x59d07 + +SilphCo2_Unknown59d07: ; 0x59d07 +INCBIN "baserom.gbc",$59d07,$7f + +SilphCo2Texts: ; 0x59d86 + dw SilphCo2Text1, SilphCo2Text2, SilphCo2Text3, SilphCo2Text4, SilphCo2Text5 + +SilphCo2TrainerHeaders: +SilphCo2TrainerHeader1: ; 0x59d90 + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d825 ; flag's byte + dw UnnamedText_59e2a ; 0x5e2a TextBeforeBattle + dw UnnamedText_59e34 ; 0x5e34 TextAfterBattle + dw UnnamedText_59e2f ; 0x5e2f TextEndBattle + dw UnnamedText_59e2f ; 0x5e2f TextEndBattle +; 0x59d9c + +TrainerHeader_59d9c: ; 0x59d9c + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d825 ; flag's byte + dw UnnamedText_59e39 ; 0x5e39 TextBeforeBattle + dw UnnamedText_59e43 ; 0x5e43 TextAfterBattle + dw UnnamedText_59e3e ; 0x5e3e TextEndBattle + dw UnnamedText_59e3e ; 0x5e3e TextEndBattle +; 0x59da8 + +TrainerHeader_59da8: ; 0x59da8 + db $4 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d825 ; flag's byte + dw UnnamedText_59e48 ; 0x5e48 TextBeforeBattle + dw UnnamedText_59e52 ; 0x5e52 TextAfterBattle + dw UnnamedText_59e4d ; 0x5e4d TextEndBattle + dw UnnamedText_59e4d ; 0x5e4d TextEndBattle +; 0x59db4 + +TrainerHeader_59db4: ; 0x59db4 + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d825 ; flag's byte + dw UnnamedText_59e57 ; 0x5e57 TextBeforeBattle + dw UnnamedText_59e61 ; 0x5e61 TextAfterBattle + dw UnnamedText_59e5c ; 0x5e5c TextEndBattle + dw UnnamedText_59e5c ; 0x5e5c TextEndBattle +; 0x59dc0 + +db $ff + +SilphCo2Text1: ; 0x59dc1 + db $08 ; asm + ld a, [$d826] + bit 7, a + jr nz, asm_b8a0d ; 0x59dc7 + ld hl, UnnamedText_59ded + call PrintText + ld bc, (TM_36 << 8) | 1 + call GiveItem + ld hl, TM36NoRoomText + jr nc, asm_2c1e0 ; 0x59dd8 + ld hl, $d826 + set 7, [hl] + ld hl, ReceivedTM36Text + jr asm_2c1e0 ; 0x59de2 +asm_b8a0d ; 0x59de4 + ld hl, TM36ExplanationText +asm_2c1e0 ; 0x59de7 + call PrintText + jp TextScriptEnd + +UnnamedText_59ded: ; 0x59ded + TX_FAR _UnnamedText_59ded + db $50 +; 0x59ded + 5 bytes + +ReceivedTM36Text: ; 0x59df2 + TX_FAR _ReceivedTM36Text ; 0x824ba + db $0B, $50 +; 0x59df2 + 6 bytes = 0x59df8 + +TM36ExplanationText: ; 0x59df8 + TX_FAR _TM36ExplanationText + db $50 +; 0x59df8 + 5 bytes + +TM36NoRoomText: ; 0x59dfd + TX_FAR _TM36NoRoomText + db $50 +; 0x59dfd + 5 bytes + +SilphCo2Text2: ; 0x59e02 + db $08 ; asm + ld hl, SilphCo2TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +SilphCo2Text3: ; 0x59e0c + db $08 ; asm + ld hl, TrainerHeader_59d9c + call LoadTrainerHeader + jp TextScriptEnd + +SilphCo2Text4: ; 0x59e16 + db $08 ; asm + ld hl, TrainerHeader_59da8 + call LoadTrainerHeader + jp TextScriptEnd + +SilphCo2Text5: ; 0x59e20 + db $08 ; asm + ld hl, TrainerHeader_59db4 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_59e2a: ; 0x59e2a + TX_FAR _UnnamedText_59e2a + db $50 +; 0x59e2a + 5 bytes + +UnnamedText_59e2f: ; 0x59e2f + TX_FAR _UnnamedText_59e2f + db $50 +; 0x59e2f + 5 bytes + +UnnamedText_59e34: ; 0x59e34 + TX_FAR _UnnamedText_59e34 + db $50 +; 0x59e34 + 5 bytes + +UnnamedText_59e39: ; 0x59e39 + TX_FAR _UnnamedText_59e39 + db $50 +; 0x59e39 + 5 bytes + +UnnamedText_59e3e: ; 0x59e3e + TX_FAR _UnnamedText_59e3e + db $50 +; 0x59e3e + 5 bytes + +UnnamedText_59e43: ; 0x59e43 + TX_FAR _UnnamedText_59e43 + db $50 +; 0x59e43 + 5 bytes + +UnnamedText_59e48: ; 0x59e48 + TX_FAR _UnnamedText_59e48 + db $50 +; 0x59e48 + 5 bytes + +UnnamedText_59e4d: ; 0x59e4d + TX_FAR _UnnamedText_59e4d + db $50 +; 0x59e4d + 5 bytes + +UnnamedText_59e52: ; 0x59e52 + TX_FAR _UnnamedText_59e52 + db $50 +; 0x59e52 + 5 bytes + +UnnamedText_59e57: ; 0x59e57 + TX_FAR _UnnamedText_59e57 + db $50 +; 0x59e57 + 5 bytes + +UnnamedText_59e5c: ; 0x59e5c + TX_FAR _UnnamedText_59e5c + db $50 +; 0x59e5c + 5 bytes + +UnnamedText_59e61: ; 0x59e61 + TX_FAR _UnnamedText_59e61 + db $50 +; 0x59e61 + 5 bytes + +SilphCo2Object: ; 0x59e66 (size=98) + db $2e ; border tile + + db $7 ; warps + db $0, $18, $2, SILPH_CO_1F + db $0, $1a, $0, SILPH_CO_3F + db $0, $14, $0, SILPH_CO_ELEVATOR + db $3, $3, $6, SILPH_CO_3F + db $3, $d, $4, SILPH_CO_8F + db $f, $1b, $5, SILPH_CO_8F + db $f, $9, $4, SILPH_CO_6F + + db $0 ; signs + + db $5 ; people + db SPRITE_ERIKA, $1 + 4, $a + 4, $ff, $d1, $1 ; person + db SPRITE_OAK_AIDE, $c + 4, $5 + 4, $ff, $d0, $42, SCIENTIST + $C8, $2 ; trainer + db SPRITE_OAK_AIDE, $d + 4, $18 + 4, $ff, $d2, $43, SCIENTIST + $C8, $3 ; trainer + db SPRITE_ROCKET, $b + 4, $10 + 4, $ff, $d1, $44, ROCKET + $C8, $17 ; trainer + db SPRITE_ROCKET, $7 + 4, $18 + 4, $ff, $d1, $45, ROCKET + $C8, $18 ; trainer + + ; warp-to + EVENT_DISP $f, $0, $18 ; SILPH_CO_1F + EVENT_DISP $f, $0, $1a ; SILPH_CO_3F + EVENT_DISP $f, $0, $14 ; SILPH_CO_ELEVATOR + EVENT_DISP $f, $3, $3 ; SILPH_CO_3F + EVENT_DISP $f, $3, $d ; SILPH_CO_8F + EVENT_DISP $f, $f, $1b ; SILPH_CO_8F + EVENT_DISP $f, $f, $9 ; SILPH_CO_6F + +SilphCo2Blocks: ; 0x59ec8 135 + INCBIN "maps/silphco2.blk" + +SilphCo3_h: ; 0x59f4f to 0x59f5b (12 bytes) (id=208) + db $16 ; tileset + db SILPH_CO_3F_HEIGHT, SILPH_CO_3F_WIDTH ; dimensions (y, x) + dw SilphCo3Blocks, SilphCo3Texts, SilphCo3Script ; blocks, texts, scripts + db $00 ; connections + + dw SilphCo3Object ; objects + +SilphCo3Script: ; 0x59f5b + call SilphCo3Script_Unknown59f71 + call $3c3c + ld hl, SilphCo3TrainerHeaders + ld de, $5fbe + ld a, [$d644] + call $3160 + ld [$d644], a + ret +; 0x59f71 + +SilphCo3Script_Unknown59f71: ; 0x59f71 +INCBIN "baserom.gbc",$59f71,$53 + +SilphCo3Texts: ; 0x59fc4 + dw SilphCo3Text1, SilphCo3Text2, SilphCo3Text3, SilphCo3Text4 + +SilphCo3TrainerHeaders: +SilphCo3TrainerHeader1: ; 0x59fcc + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d827 ; flag's byte + dw UnnamedText_5a00d ; 0x600d TextBeforeBattle + dw UnnamedText_5a017 ; 0x6017 TextAfterBattle + dw UnnamedText_5a012 ; 0x6012 TextEndBattle + dw UnnamedText_5a012 ; 0x6012 TextEndBattle +; 0x59fd8 + +TrainerHeader_59fd8: ; 0x59fd8 + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d827 ; flag's byte + dw UnnamedText_5a026 ; 0x6026 TextBeforeBattle + dw UnnamedText_5a030 ; 0x6030 TextAfterBattle + dw UnnamedText_5a02b ; 0x602b TextEndBattle + dw UnnamedText_5a02b ; 0x602b TextEndBattle +; 0x59fe4 + +db $ff + +SilphCo3Text1: ; 0x59fe5 + db $08 ; asm + ld a, [$d838] + bit 7, a + ld hl, UnnamedText_59ffe + jr nz, asm_8c56f ; 0x59fee + ld hl, UnnamedText_59ff9 +asm_8c56f ; 0x59ff3 + call PrintText + jp TextScriptEnd + +UnnamedText_59ff9: ; 0x59ff9 + TX_FAR _UnnamedText_59ff9 + db $50 +; 0x59ff9 + 5 bytes + +UnnamedText_59ffe: ; 0x59ffe + TX_FAR _UnnamedText_59ffe + db $50 +; 0x59ffe + 5 bytes + +SilphCo3Text2: ; 0x5a003 + db $08 ; asm + ld hl, SilphCo3TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_5a00d: ; 0x5a00d + TX_FAR _UnnamedText_5a00d + db $50 +; 0x5a00d + 5 bytes + +UnnamedText_5a012: ; 0x5a012 + TX_FAR _UnnamedText_5a012 + db $50 +; 0x5a012 + 5 bytes + +UnnamedText_5a017: ; 0x5a017 + TX_FAR _UnnamedText_5a017 + db $50 +; 0x5a017 + 5 bytes + +SilphCo3Text3: ; 0x5a01c + db $08 ; asm + ld hl, TrainerHeader_59fd8 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_5a026: ; 0x5a026 + TX_FAR _UnnamedText_5a026 + db $50 +; 0x5a026 + 5 bytes + +UnnamedText_5a02b: ; 0x5a02b + TX_FAR _UnnamedText_5a02b + db $50 +; 0x5a02b + 5 bytes + +UnnamedText_5a030: ; 0x5a030 + TX_FAR _UnnamedText_5a030 + db $50 +; 0x5a030 + 5 bytes + +SilphCo3Object: ; 0x5a035 (size=113) + db $2e ; border tile + + db $a ; warps + db $0, $1a, $1, SILPH_CO_2F + db $0, $18, $0, SILPH_CO_4F + db $0, $14, $0, SILPH_CO_ELEVATOR + db $b, $17, $9, SILPH_CO_3F + db $3, $3, $5, SILPH_CO_5F + db $f, $3, $6, SILPH_CO_5F + db $3, $1b, $3, SILPH_CO_2F + db $b, $3, $3, SILPH_CO_9F + db $b, $b, $4, SILPH_CO_7F + db $f, $1b, $3, SILPH_CO_3F + + db $0 ; signs + + db $4 ; people + db SPRITE_LAPRAS_GIVER, $8 + 4, $18 + 4, $ff, $ff, $1 ; person + db SPRITE_ROCKET, $7 + 4, $14 + 4, $ff, $d2, $42, ROCKET + $C8, $19 ; trainer + db SPRITE_OAK_AIDE, $9 + 4, $7 + 4, $ff, $d0, $43, SCIENTIST + $C8, $4 ; trainer + db SPRITE_BALL, $5 + 4, $8 + 4, $ff, $ff, $84, HYPER_POTION ; item + + ; warp-to + EVENT_DISP $f, $0, $1a ; SILPH_CO_2F + EVENT_DISP $f, $0, $18 ; SILPH_CO_4F + EVENT_DISP $f, $0, $14 ; SILPH_CO_ELEVATOR + EVENT_DISP $f, $b, $17 ; SILPH_CO_3F + EVENT_DISP $f, $3, $3 ; SILPH_CO_5F + EVENT_DISP $f, $f, $3 ; SILPH_CO_5F + EVENT_DISP $f, $3, $1b ; SILPH_CO_2F + EVENT_DISP $f, $b, $3 ; SILPH_CO_9F + EVENT_DISP $f, $b, $b ; SILPH_CO_7F + EVENT_DISP $f, $f, $1b ; SILPH_CO_3F + +SilphCo3Blocks: ; 0x5a0a6 135 + INCBIN "maps/silphco3.blk" + +SilphCo10_h: ; 0x5a12d to 0x5a139 (12 bytes) (id=234) + db $16 ; tileset + db SILPH_CO_10F_HEIGHT, SILPH_CO_10F_WIDTH ; dimensions (y, x) + dw SilphCo10Blocks, SilphCo10Texts, SilphCo10Script ; blocks, texts, scripts + db $00 ; connections + + dw SilphCo10Object ; objects + +SilphCo10Script: ; 0x5a139 + call SilphCo10Script_Unknown5a14f + call $3c3c + ld hl, SilphCo10TrainerHeaders + ld de, $6180 + ld a, [$d658] + call $3160 + ld [$d658], a + ret +; 0x5a14f + +SilphCo10Script_Unknown5a14f: ; 0x5a14f +INCBIN "baserom.gbc",$5a14f,$37 + +SilphCo10Texts: ; 0x5a186 + dw SilphCo10Text1, SilphCo10Text2, SilphCo10Text3, SilphCo10Text4, SilphCo10Text5, SilphCo10Text6 + +SilphCo10TrainerHeaders: +SilphCo10TrainerHeader1: ; 0x5a192 + db $1 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d835 ; flag's byte + dw UnnamedText_5a1dd ; 0x61dd TextBeforeBattle + dw UnnamedText_5a1e7 ; 0x61e7 TextAfterBattle + dw UnnamedText_5a1e2 ; 0x61e2 TextEndBattle + dw UnnamedText_5a1e2 ; 0x61e2 TextEndBattle +; 0x5a19e + +TrainerHeader_5a19e: ; 0x5a19e + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d835 ; flag's byte + dw UnnamedText_5a1ec ; 0x61ec TextBeforeBattle + dw UnnamedText_5a1f6 ; 0x61f6 TextAfterBattle + dw UnnamedText_5a1f1 ; 0x61f1 TextEndBattle + dw UnnamedText_5a1f1 ; 0x61f1 TextEndBattle +; 0x5a1aa + +db $ff + +SilphCo10Text1: ; 0x5a1ab + db $08 ; asm + ld hl, SilphCo10TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +SilphCo10Text2: ; 0x5a1b5 + db $08 ; asm + ld hl, TrainerHeader_5a19e + call LoadTrainerHeader + jp TextScriptEnd + +SilphCo10Text3: ; 0x5a1bf + db $08 ; asm + ld a, [$d838] + bit 7, a + ld hl, UnnamedText_5a1d8 + jr nz, asm_cf85f ; 0x5a1c8 + ld hl, UnnamedText_5a1d3 +asm_cf85f ; 0x5a1cd + call PrintText + jp TextScriptEnd + +UnnamedText_5a1d3: ; 0x5a1d3 + TX_FAR _UnnamedText_5a1d3 + db $50 +; 0x5a1d3 + 5 bytes + +UnnamedText_5a1d8: ; 0x5a1d8 + TX_FAR _UnnamedText_5a1d8 + db $50 +; 0x5a1d8 + 5 bytes + +UnnamedText_5a1dd: ; 0x5a1dd + TX_FAR _UnnamedText_5a1dd + db $50 +; 0x5a1dd + 5 bytes + +UnnamedText_5a1e2: ; 0x5a1e2 + TX_FAR _UnnamedText_5a1e2 + db $50 +; 0x5a1e2 + 5 bytes + +UnnamedText_5a1e7: ; 0x5a1e7 + TX_FAR _UnnamedText_5a1e7 + db $50 +; 0x5a1e7 + 5 bytes + +UnnamedText_5a1ec: ; 0x5a1ec + TX_FAR _UnnamedText_5a1ec + db $50 +; 0x5a1ec + 5 bytes + +UnnamedText_5a1f1: ; 0x5a1f1 + TX_FAR _UnnamedText_5a1f1 + db $50 +; 0x5a1f1 + 5 bytes + +UnnamedText_5a1f6: ; 0x5a1f6 + TX_FAR _UnnamedText_5a1f6 + db $50 +; 0x5a1f6 + 5 bytes + +SilphCo10Object: ; 0x5a1fb (size=95) + db $2e ; border tile + + db $6 ; warps + db $0, $8, $0, SILPH_CO_9F + db $0, $a, $0, SILPH_CO_11F + db $0, $c, $0, SILPH_CO_ELEVATOR + db $b, $9, $3, SILPH_CO_4F + db $f, $d, $5, SILPH_CO_4F + db $7, $d, $6, SILPH_CO_4F + + db $0 ; signs + + db $6 ; people + db SPRITE_ROCKET, $9 + 4, $1 + 4, $ff, $d3, $41, ROCKET + $C8, $27 ; trainer + db SPRITE_OAK_AIDE, $2 + 4, $a + 4, $ff, $d2, $42, SCIENTIST + $C8, $b ; trainer + db SPRITE_ERIKA, $f + 4, $9 + 4, $fe, $0, $3 ; person + db SPRITE_BALL, $c + 4, $2 + 4, $ff, $ff, $84, TM_26 ; item + db SPRITE_BALL, $e + 4, $4 + 4, $ff, $ff, $85, RARE_CANDY ; item + db SPRITE_BALL, $b + 4, $5 + 4, $ff, $ff, $86, CARBOS ; item + + ; warp-to + EVENT_DISP $8, $0, $8 ; SILPH_CO_9F + EVENT_DISP $8, $0, $a ; SILPH_CO_11F + EVENT_DISP $8, $0, $c ; SILPH_CO_ELEVATOR + EVENT_DISP $8, $b, $9 ; SILPH_CO_4F + EVENT_DISP $8, $f, $d ; SILPH_CO_4F + EVENT_DISP $8, $7, $d ; SILPH_CO_4F + +SilphCo10Blocks: ; 0x5a25a 72 + INCBIN "maps/silphco10.blk" + +Lance_h: ; 0x5a2a2 to 0x5a2ae (12 bytes) (id=113) + db $05 ; tileset + db LANCES_ROOM_HEIGHT, LANCES_ROOM_WIDTH ; dimensions (y, x) + dw LanceBlocks, LanceTexts, LanceScript ; blocks, texts, scripts + db $00 ; connections + + dw LanceObject ; objects + +LanceScript: ; 0x5a2ae + call LanceScript_Unknown5a2c4 + call $3c3c + ld hl, LanceTrainerHeaders + ld de, $62fa + ld a, [$d653] + call $3160 + ld [$d653], a + ret +; 0x5a2c4 + +LanceScript_Unknown5a2c4: ; 0x5a2c4 +INCBIN "baserom.gbc",$5a2c4,$d1 + +LanceTexts: ; 0x5a395 + dw LanceText1 + +LanceTrainerHeaders: +LanceTrainerHeader1: ; 0x5a397 + db $1 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d866 ; flag's byte + dw UnnamedText_5a3ae ; 0x63ae TextBeforeBattle + dw UnnamedText_5a3b8 ; 0x63b8 TextAfterBattle + dw UnnamedText_5a3b3 ; 0x63b3 TextEndBattle + dw UnnamedText_5a3b3 ; 0x63b3 TextEndBattle +; 0x5a3a3 + +db $ff + +LanceText1: ; 0x5a3a4 + db $08 ; asm + ld hl, LanceTrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_5a3ae: ; 0x5a3ae + TX_FAR _UnnamedText_5a3ae + db $50 +; 0x5a3ae + 5 bytes + +UnnamedText_5a3b3: ; 0x5a3b3 + TX_FAR _UnnamedText_5a3b3 + db $50 +; 0x5a3b3 + 5 bytes + +UnnamedText_5a3b8: ; 0x5a3b8 + TX_FAR _UnnamedText_5a3b8 ; 0x85e9e + db $8 + ld hl, $d866 + set 6, [hl] + jp TextScriptEnd +; 0x5a3c5 + +LanceObject: ; 0x5a3c5 (size=36) + db $3 ; border tile + + db $3 ; warps + db $10, $18, $2, AGATHAS_ROOM + db $0, $5, $0, CHAMPIONS_ROOM + db $0, $6, $0, CHAMPIONS_ROOM + + db $0 ; signs + + db $1 ; people + db SPRITE_LANCE, $1 + 4, $6 + 4, $ff, $d0, $41, LANCE + $C8, $1 ; trainer + + ; warp-to + EVENT_DISP $d, $10, $18 ; AGATHAS_ROOM + EVENT_DISP $d, $0, $5 ; CHAMPIONS_ROOM + EVENT_DISP $d, $0, $6 ; CHAMPIONS_ROOM + +LanceBlocks: ; 0x5a3e9 169 + INCBIN "maps/lance.blk" + +HallofFameRoom_h: ; 0x5a492 to 0x5a49e (12 bytes) (id=118) + db $07 ; tileset + db HALL_OF_FAME_HEIGHT, HALL_OF_FAME_WIDTH ; dimensions (y, x) + dw HallofFameRoomBlocks, HallofFameRoomTexts, HallofFameRoomScript ; blocks, texts, scripts + db $00 ; connections + + dw HallofFameRoomObject ; objects + +HallofFameRoomScript: ; 0x5a49e + call $3c3c + ld hl, HallofFameRoomScripts + ld a, [$d64b] + jp $3d97 +; 0x5a4aa + +INCBIN "baserom.gbc",$5a4aa,$5a4b2 - $5a4aa + +HallofFameRoomScripts: ; 0x5a4b2 + dw HallofFameRoomScript0, HallofFameRoomScript1, HallofFameRoomScript2 + +INCBIN "baserom.gbc",$5a4b8,$3 + +HallofFameRoomScript2: ; 0x5a4bb + call Delay3 + ld a, [$d358] + push af + xor a + ld [$cd6b], a + ld a, $55 + call Predef + pop af + ld [$d358], a + ld hl, $d733 + res 1, [hl] + inc hl + set 0, [hl] + xor a + ld hl, $d64d + ld [hli], a + ld [hli], a + ld [hl], a + ld [$d653], a + ld [$d64b], a + ld hl, $d863 + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + xor a + ld [$d64b], a + ld a, $0 + ld [$d719], a + ld b, $1c + ld hl, $7848 + call Bankswitch + ld b, $5 +.asm_5a4ff + ld c, $78 + call $3739 + dec b + jr nz, .asm_5a4ff ; 0x5a505 $f8 + call $3865 + jp $1f54 +; 0x5a50d + +HallofFameRoomScript0: ; 0x5a50d + ld a, $ff + ld [$cd6b], a + ld hl, $ccd3 + ld de, $6528 + call $350c + dec a + ld [$cd38], a + call $3486 + ld a, $1 + ld [$d64b], a + ret +; 0x5a528 + +INCBIN "baserom.gbc",$5a528,$5a52b - $5a528 + +HallofFameRoomScript1: ; 0x5a52b + ld a, [$cd38] + and a + ret nz + ld a, $1 + ld [$d528], a + ld a, $1 + ld [$ff00+$8c], a + call $3541 + ld a, $8 + ld [$ff00+$8d], a + call $34a6 + call Delay3 + xor a + ld [$cd6b], a + inc a + ld [$d528], a + ld a, $1 + ld [$ff00+$8c], a + call $2920 + ld a, $ff + ld [$cd6b], a + ld a, $8 + ld [$cc4d], a + ld a, $11 + call Predef + ld a, $2 + ld [$d64b], a + ret +; 0x5a56a + +HallofFameRoomTexts: ; 0x5a56a + dw HallofFameRoomText1 + +HallofFameRoomText1: ; 0x5a56c + TX_FAR _HallofFameRoomText1 + db $50 + +HallofFameRoomObject: ; 0x5a571 (size=26) + db $3 ; border tile + + db $2 ; warps + db $7, $4, $2, CHAMPIONS_ROOM + db $7, $5, $3, CHAMPIONS_ROOM + + db $0 ; signs + + db $1 ; people + db SPRITE_OAK, $2 + 4, $5 + 4, $ff, $d0, $1 ; person + + ; warp-to + EVENT_DISP $5, $7, $4 ; CHAMPIONS_ROOM + EVENT_DISP $5, $7, $5 ; CHAMPIONS_ROOM + +HallofFameRoomBlocks: ; 0x5a58b 20 + INCBIN "maps/halloffameroom.blk" + +INCBIN "baserom.gbc",$5a59f,$1a61 + +SECTION "bank17",DATA,BANK[$17] + +SaffronMartBlocks: +LavenderMartBlocks: +CeruleanMartBlocks: +VermilionMartBlocks: ; 0x5c000 16 + INCBIN "maps/vermilionmart.blk" + +CopycatsHouseF2Blocks: +RedsHouse2FBlocks: ; 0x5c010 16? + INCBIN "maps/redshouse2f.blk" + +MuseumF1Blocks: ; 0x5c020 40 + INCBIN "maps/museumf1.blk" + +MuseumF2Blocks: ; 0x5c048 28 + INCBIN "maps/museumf2.blk" + +SaffronPokecenterBlocks: +VermilionPokecenterBlocks: +LavenderPokecenterBlocks: +PewterPokecenterBlocks: ; 0x5c064 28 + INCBIN "maps/pewterpokecenter.blk" + +UndergroundTunnelEntranceRoute7Blocks: +UndergroundTunnelEntranceRoute6Blocks: +UndergroundTunnelEntranceRoute5Blocks: ; 0x5c080 16 + INCBIN "maps/undergroundtunnelentranceroute5.blk" + +Route2GateBlocks: +ViridianForestEntranceBlocks: +ViridianForestexitBlocks: ; 0x5c090 20 + INCBIN "maps/viridianforestexit.blk" + +RedsHouse2F_h: + db $04 ; tileset + db $04,$04 ; dimensions + dw RedsHouse2FBlocks, RedsHouse2FTexts, RedsHouse2FScript + db 0 ; no connections + dw RedsHouse2FObject + +RedsHouse2FScript: + call $3C3C + ld hl,RedsHouse2FScriptPointers + ld a,[$D60C] + jp $3D97 + +RedsHouse2FScriptPointers: + dw RedsHouse2FScript1,RedsHouse2FScript2 + +RedsHouse2FScript1: + xor a + ld [$FFB4],a + ld a,8 + ld [$D528],a + ld a,1 + ld [$D60C],a + ret + +RedsHouse2FScript2: ; 0x5c0ed + ret + +RedsHouse2FTexts: ; 0x5c0ef + db "@" + +RedsHouse2FObject: ; 0x5c0d0 ? + db $0A ; border tile + + db 1 ; warps + db 1,7,2,$25 + + db 0 ; signs + + db 0 ; people + + dw $C6EF + 4 + (4 + 6) * 0 + 3 + db 1,7 + +INCBIN "baserom.gbc",$5c0dc,$5c0eb - $5c0dc + +MuseumF1_h: ; 0x5c0eb to 0x5c0f7 (12 bytes) (id=52) + db $0a ; tileset + db MUSEUM_1F_HEIGHT, MUSEUM_1F_WIDTH ; dimensions (y, x) + dw MuseumF1Blocks, MuseumF1Texts, MuseumF1Script ; blocks, texts, scripts + db $00 ; connections + + dw MuseumF1Object ; objects + +MuseumF1Script: ; 0x5c0f7 + ld a, $1 + ld [$cf0c], a + xor a + ld [$cc3c], a + ld hl, MuseumF1Scripts + ld a, [$d619] + jp $3d97 +; 0x5c109 + +MuseumF1Scripts: ; 0x5c109 + dw MuseumF1Script0, MuseumF1Script1 + +MuseumF1Script0: ; 0x5c10d + ld a, [$d361] + cp $4 + ret nz + ld a, [$d362] + cp $9 + jr z, .asm_5c120 ; 0x5c118 $6 + ld a, [$d362] + cp $a + ret nz +.asm_5c120 + xor a + ld [$ff00+$b4], a + ld a, $1 + ld [$ff00+$8c], a + jp $2920 +; 0x5c12a + +MuseumF1Script1: ; 0x5c12a + ret +; 0x5c12b + +MuseumF1Texts: ; 0x5c12b + dw MuseumF1Text1, MuseumF1Text2, MuseumF1Text3, MuseumF1Text4, MuseumF1Text5 + +MuseumF1Text1: ; 0x5c135 + db $8 + ld a, [$d361] + cp $4 + jr nz, asm_8774b ; 0x5c13b $a + ld a, [$d362] + cp $d + jp z, $41f9 + jr asm_b8709 ; 0x5c145 $1c +asm_8774b: ; 0x5c147 + cp $3 + jr nz, asm_d49e7 ; 0x5c149 $8 + ld a, [$d362] + cp $c + jp z, $41f9 +asm_d49e7: ; 0x5c153 + ld a, [$d754] + bit 0, a + jr nz, asm_31a16 ; 0x5c158 $10 + ld hl, UnnamedText_5c23d + call PrintText + jp $4217 +asm_b8709: ; 0x5c163 + ld a, [$d754] + bit 0, a + jr z, asm_3ded4 ; 0x5c168 $9 +asm_31a16: ; 0x5c16a + ld hl, UnnamedText_5c242 + call PrintText + jp $4217 +asm_3ded4: ; 0x5c173 + ld a, $13 + ld [$d125], a + call $30e8 + xor a + ld [$ff00+$b4], a + ld hl, UnnamedText_5c21f + call PrintText + call $35ec + ld a, [$cc26] + and a + jr nz, asm_de133 ; 0x5c18b $4d + xor a + ld [$ff00+$9f], a + ld [$ff00+$a0], a + ld a, $50 + ld [$ff00+$a1], a + call $35a6 + jr nc, asm_0f3e3 ; 0x5c199 $9 + ld hl, UnnamedText_5c229 + call PrintText + jp $41da +asm_0f3e3: ; 0x5c1a4 + ld hl, UnnamedText_5c224 + call PrintText + ld hl, $d754 + set 0, [hl] + xor a + ld [$cd3d], a + ld [$cd3e], a + ld a, $50 + ld [$cd3f], a + ld hl, $cd3f + ld de, $d349 + ld c, $3 + ld a, $c + call Predef + ld a, $13 + ld [$d125], a + call $30e8 + ld a, $b2 + call $3740 + call $3748 + jr asm_0b094 ; 0x5c1d8 $18 +asm_de133: ; 0x5c1da + ld hl, $421a + call PrintText + ld a, $1 + ld [$cd38], a + ld a, $80 + ld [$ccd3], a + call $3486 + call $2429 + jr asm_d1145 ; 0x5c1f0 $25 +asm_0b094: ; 0x5c1f2 + ld a, $1 + ld [$d619], a + jr asm_d1145 ; 0x5c1f7 $1e +;XXX what calls this? + ld hl, UnnamedText_5c22e + call PrintText + call $35ec + ld a, [$cc26] + cp $0 + jr nz, asm_d1144 + ld hl, UnnamedText_5c233 + call PrintText + jr asm_d1145 ; 0x5c20f $6 +asm_d1144: + ld hl, UnnamedText_5c238 + call PrintText +asm_d1145: ; 0x5c217 + jp TextScriptEnd +; 0x5c21a + +UnnamedText_5c21a: ; 0x5c21a + TX_FAR _UnnamedText_5c21a + db $50 +; 0x5c21a + 5 bytes + +UnnamedText_5c21f: ; 0x5c21f + TX_FAR _UnnamedText_5c21f + db $50 +; 0x5c21f + 5 bytes + +UnnamedText_5c224: ; 0x5c224 + TX_FAR _UnnamedText_5c224 + db $50 +; 0x5c224 + 5 bytes + +UnnamedText_5c229: ; 0x5c229 + TX_FAR _UnnamedText_5c229 + db $50 +; 0x5c229 + 5 bytes + +UnnamedText_5c22e: ; 0x5c22e + TX_FAR _UnnamedText_5c22e + db $50 +; 0x5c22e + 5 bytes + +UnnamedText_5c233: ; 0x5c233 + TX_FAR _UnnamedText_5c233 + db $50 +; 0x5c233 + 5 bytes + +UnnamedText_5c238: ; 0x5c238 + TX_FAR _UnnamedText_5c238 + db $50 +; 0x5c238 + 5 bytes + +UnnamedText_5c23d: ; 0x5c23d + TX_FAR _UnnamedText_5c23d + db $50 +; 0x5c23d + 5 bytes + +UnnamedText_5c242: ; 0x5c242 + TX_FAR _UnnamedText_5c242 + db $50 +; 0x5c242 + 5 bytes + +MuseumF1Text2: ; 0x5c247 + db $08 ; asm + ld hl, UnnamedText_5c251 + call PrintText + jp TextScriptEnd + +UnnamedText_5c251: ; 0x5c251 + TX_FAR _UnnamedText_5c251 + db $50 +; 0x5c251 + 5 bytes + +MuseumF1Text3: ; 0x5c256 + db $08 ; asm + ld a, [$d754] + bit 1, a + jr nz, .asm_16599 ; 0x5c25c + ld hl, UnnamedText_5c28e + call PrintText + ld bc, (OLD_AMBER << 8) | 1 + call GiveItem + jr nc, .asm_91ebf ; 0x5c26a + ld hl, $d754 + set 1, [hl] + ld a, $34 + ld [$cc4d], a + ld a, $11 + call Predef + ld hl, ReceivedOldAmberText + jr .asm_52e0f ; 0x5c27e +.asm_91ebf ; 0x5c280 + ld hl, UnnamedText_5c29e + jr .asm_52e0f ; 0x5c283 +.asm_16599 ; 0x5c285 + ld hl, UnnamedText_5c299 +.asm_52e0f ; 0x5c288 + call PrintText + jp TextScriptEnd + +UnnamedText_5c28e: ; 0x5c28e + TX_FAR _UnnamedText_5c28e + db $50 +; 0x5c28e + 5 bytes + +ReceivedOldAmberText: ; 0x5c293 + TX_FAR _ReceivedOldAmberText ; 0x96790 + db $0B, $50 +; 0x5c293 + 6 bytes = 0x5c299 + +UnnamedText_5c299: ; 0x5c299 + TX_FAR _UnnamedText_5c299 + db $50 +; 0x5c299 + 5 bytes + +UnnamedText_5c29e: ; 0x5c29e + TX_FAR _UnnamedText_5c29e + db $50 +; 0x5c29e + 5 bytes + +MuseumF1Text4: ; 0x5c2a3 + db $08 ; asm + ld hl, UnnamedText_5c2ad + call PrintText + jp TextScriptEnd + +UnnamedText_5c2ad: ; 0x5c2ad + TX_FAR _UnnamedText_5c2ad + db $50 +; 0x5c2ad + 5 bytes + +MuseumF1Text5: ; 0x5c2b2 + db $08 ; asm + ld hl, UnnamedText_5c2bc + call PrintText + jp TextScriptEnd + +UnnamedText_5c2bc: ; 0x5c2bc + TX_FAR _UnnamedText_5c2bc + db $50 +; 0x5c2bc + 5 bytes + +MuseumF1Object: ; 0x5c2c1 (size=74) + db $a ; border tile + + db $5 ; warps + db $7, $a, $0, $ff + db $7, $b, $0, $ff + db $7, $10, $1, $ff + db $7, $11, $1, $ff + db $7, $7, $0, MUSEUM_2F + + db $0 ; signs + + db $5 ; people + db SPRITE_OAK_AIDE, $4 + 4, $c + 4, $ff, $d2, $1 ; person + db SPRITE_GAMBLER, $4 + 4, $1 + 4, $ff, $ff, $2 ; person + db SPRITE_OAK_AIDE, $2 + 4, $f + 4, $ff, $d0, $3 ; person + db SPRITE_OAK_AIDE, $4 + 4, $11 + 4, $ff, $ff, $4 ; person + db SPRITE_OLD_AMBER, $2 + 4, $10 + 4, $ff, $ff, $5 ; person + + ; warp-to + EVENT_DISP $a, $7, $a + EVENT_DISP $a, $7, $b + EVENT_DISP $a, $7, $10 + EVENT_DISP $a, $7, $11 + EVENT_DISP $a, $7, $7 ; MUSEUM_2F + +MuseumF2_h: ; 0x5c30b to 0x5c317 (12 bytes) (id=53) + db $0a ; tileset + db MUSEUM_2F_HEIGHT, MUSEUM_2F_WIDTH ; dimensions (y, x) + dw MuseumF2Blocks, MuseumF2Texts, MuseumF2Script ; blocks, texts, scripts + db $00 ; connections + + dw MuseumF2Object ; objects + +MuseumF2Script: ; 0x5c317 + jp $3c3c +; 0x5c31a + +MuseumF2Texts: ; 0x5c31a + dw MuseumF2Text1, MuseumF2Text2, MuseumF2Text3, MuseumF2Text4, MuseumF2Text5, MuseumF2Text6, MuseumF2Text7 + +MuseumF2Text1: ; 0x5c328 + TX_FAR _MuseumF2Text1 + db $50 + +MuseumF2Text2: ; 0x5c32d + TX_FAR _MuseumF2Text2 + db $50 + +MuseumF2Text3: ; 0x5c332 + TX_FAR _MuseumF2Text3 + db $50 + +MuseumF2Text4: ; 0x5c337 + TX_FAR _MuseumF2Text4 + db $50 + +MuseumF2Text5: ; 0x5c33c + TX_FAR _MuseumF2Text5 + db $50 + +MuseumF2Text6: ; 0x5c341 + TX_FAR _MuseumF2Text6 + db $50 + +MuseumF2Text7: ; 0x5c346 + TX_FAR _MuseumF2Text7 + db $50 + +MuseumF2Object: ; 0x5c34b (size=48) + db $a ; border tile + + db $1 ; warps + db $7, $7, $4, MUSEUM_1F + + db $2 ; signs + db $2, $b, $6 ; MuseumF2Text6 + db $5, $2, $7 ; MuseumF2Text7 + + db $5 ; people + db SPRITE_BUG_CATCHER, $7 + 4, $1 + 4, $fe, $2, $1 ; person + db SPRITE_OLD_PERSON, $5 + 4, $0 + 4, $ff, $d0, $2 ; person + db SPRITE_OAK_AIDE, $5 + 4, $7 + 4, $ff, $d0, $3 ; person + db SPRITE_BRUNETTE_GIRL, $5 + 4, $b + 4, $ff, $ff, $4 ; person + db SPRITE_HIKER, $5 + 4, $c + 4, $ff, $d0, $5 ; person + + ; warp-to + EVENT_DISP $7, $7, $7 ; MUSEUM_1F + +PewterGym_h: ; 0x5c37b to 0x5c387 (12 bytes) (id=54) + db $07 ; tileset + db PEWTER_GYM_HEIGHT, PEWTER_GYM_WIDTH ; dimensions (y, x) + dw PewterGymBlocks, PewterGymTexts, PewterGymScript ; blocks, texts, scripts + db $00 ; connections + + dw PewterGymObject ; objects + +PewterGymScript: ; 0x5c387 + ld hl, $d126 + bit 6, [hl] + res 6, [hl] + call nz, PewterGymScript_Unknown5c3a4 + call $3c3c + ld hl, PewterGymTrainerHeaders + ld de, $43ca + ld a, [$d5fc] + call $3160 + ld [$d5fc], a + ret +; 0x5c3a4 + +PewterGymScript_Unknown5c3a4: ; 0x5c3a4 +INCBIN "baserom.gbc",$5c3a4,$91 + +PewterGymTexts: ; 0x5c435 + dw PewterGymText1, PewterGymText2, PewterGymText3, PewterGymText4, PewterGymText5, PewterGymText6 + +PewterGymTrainerHeaders: +PewterGymTrainerHeader1: ; 0x5c441 + db $2 ; flag's bit + db ($5 << 4) ; trainer's view range + dw $d755 ; flag's byte + dw UnnamedText_5c4d0 ; 0x44d0 TextBeforeBattle + dw UnnamedText_5c4da ; 0x44da TextAfterBattle + dw UnnamedText_5c4d5 ; 0x44d5 TextEndBattle + dw UnnamedText_5c4d5 ; 0x44d5 TextEndBattle +; 0x5c44d + +db $ff + +PewterGymText1: ; 0x5c44e + db $08 ; asm + ld a, [$d755] + bit 7, a + jr z, .asm_4a735 ; 0x5c454 + bit 6, a + jr nz, .asm_ff7d0 ; 0x5c458 + call z, $43df + call $30b6 + jr .asm_e0ffb ; 0x5c460 +.asm_ff7d0 ; 0x5c462 + ld hl, UnnamedText_5c4a3 + call PrintText + jr .asm_e0ffb ; 0x5c468 +.asm_4a735 ; 0x5c46a + ld hl, UnnamedText_5c49e + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, UnnamedText_5c4bc + ld de, UnnamedText_5c4bc + call $3354 + ldh a, [$8c] + ld [$cf13], a + call $336a + call $32d7 + ld a, $1 + ld [$d05c], a + xor a + ldh [$b4], a + ld a, $3 + ld [$d5fc], a + ld [$da39], a +.asm_e0ffb ; 0x5c49b + jp TextScriptEnd + +UnnamedText_5c49e: ; 0x5c49e + TX_FAR _UnnamedText_5c49e + db $50 +; 0x5c49e + 5 bytes + +UnnamedText_5c4a3: ; 0x5c4a3 + TX_FAR _UnnamedText_5c4a3 + db $50 +; 0x5c4a3 + 5 bytes + +PewterGymText4: ; 0x5c4a8 + TX_FAR _UnnamedText_5c4a8 + db $50 +; 0x5c4a8 + 5 bytes + +PewterGymText5: ; 0x5c4ad + TX_FAR _ReceivedTM34Text ; 0x980ad + db $0B + TX_FAR _UnnamedText_5c4b2 ; 0x980c0 + db $50 +; 0x5c4ad + 10 bytes = 0x5c4b7 + +PewterGymText6: ; 0x5c4b7 + TX_FAR _UnnamedText_5c4b7 + db $50 + +UnnamedText_5c4bc: ; 0x5c4bc + TX_FAR _UnnamedText_5c4bc ; 0x981c9 + db $0B + TX_FAR _UnnamedText_5c4c1 ; 0x98232 + db $50 +; 0x5c4c6 + +PewterGymText2: ; 0x5c4c6 + db $08 ; asm + ld hl, PewterGymTrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_5c4d0: ; 0x5c4d0 + TX_FAR _UnnamedText_5c4d0 + db $50 +; 0x5c4d0 + 5 bytes + +UnnamedText_5c4d5: ; 0x5c4d5 + TX_FAR _UnnamedText_5c4d5 + db $50 +; 0x5c4d5 + 5 bytes + +UnnamedText_5c4da: ; 0x5c4da + TX_FAR _UnnamedText_5c4da + db $50 +; 0x5c4da + 5 bytes + +PewterGymText3: ; 0x5c4df + db $08 ; asm + ld a, [$d72a] + bit 0, a + jr nz, .asm_71369 ; 0x5c4e5 + ld hl, UnnamedText_5c515 + call PrintText + call $35ec + ld a, [$cc26] + and a + jr nz, .asm_6123a ; 0x5c4f4 + ld hl, UnnamedText_5c51a + call PrintText + jr .asm_d1578 ; 0x5c4fc +.asm_6123a ; 0x5c4fe + ld hl, UnnamedText_5c524 + call PrintText +.asm_d1578 ; 0x5c504 + ld hl, UnnamedText_5c51f + call PrintText + jr .asm_07013 ; 0x5c50a +.asm_71369 ; 0x5c50c + ld hl, UnnamedText_5c529 + call PrintText +.asm_07013 ; 0x5c512 + jp TextScriptEnd + +UnnamedText_5c515: ; 0x5c515 + TX_FAR _UnnamedText_5c515 + db $50 +; 0x5c515 + 5 bytes + +UnnamedText_5c51a: ; 0x5c51a + TX_FAR _UnnamedText_5c51a + db $50 +; 0x5c51a + 5 bytes + +UnnamedText_5c51f: ; 0x5c51f + TX_FAR _UnnamedText_5c51f + db $50 +; 0x5c51f + 5 bytes + +UnnamedText_5c524: ; 0x5c524 + TX_FAR _UnnamedText_5c524 + db $50 +; 0x5c524 + 5 bytes + +UnnamedText_5c529: ; 0x5c529 + TX_FAR _UnnamedText_5c529 + db $50 +; 0x5c529 + 5 bytes + +PewterGymObject: ; 0x5c52e (size=42) + db $3 ; border tile + + db $2 ; warps + db $d, $4, $2, $ff + db $d, $5, $2, $ff + + db $0 ; signs + + db $3 ; people + db SPRITE_BLACK_HAIR_BOY_2, $1 + 4, $4 + 4, $ff, $d0, $41, BROCK + $C8, $1 ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $6 + 4, $3 + 4, $ff, $d3, $42, JR__TRAINER_M + $C8, $1 ; trainer + db SPRITE_GYM_HELPER, $a + 4, $7 + 4, $ff, $d0, $3 ; person + + ; warp-to + EVENT_DISP $5, $d, $4 + EVENT_DISP $5, $d, $5 + +PewterGymBlocks: ; 0x5c558 35 + INCBIN "maps/pewtergym.blk" + +PewterPokecenter_h: ; 0x5c57b to 0x5c587 (12 bytes) (id=58) + db $06 ; tileset + db PEWTER_POKECENTER_HEIGHT, PEWTER_POKECENTER_WIDTH ; dimensions (y, x) + dw PewterPokecenterBlocks, PewterPokecenterTexts, PewterPokecenterScript ; blocks, texts, scripts + db $00 ; connections + + dw PewterPokecenterObject ; objects + +PewterPokecenterScript: ; 0x5c587 + call $22fa + jp $3c3c +; 0x5c58d + +PewterPokecenterTexts: ; 0x5c58d + dw PewterPokecenterText1, PewterPokecenterText2, PewterPokecenterText3, PewterPokecenterText4 + +PewterPokecenterText1: ; 0x5c595 + db $ff + +PewterPokecenterText2: ; 0x5c596 + TX_FAR _PewterPokecenterText1 + db $50 + +PewterPokecenterText3: ; 0x5c59b + db $8 + ld a, $1 + ld [$cc3c], a + ld hl, PewterPokecenterText5 + call PrintText + ld a, $ff + call $23b1 + ld c, $20 + call $3739 + ld hl, $4608 + ld de, $cd3f + ld bc, $0004 + call CopyData + ld a, [$c132] + ld hl, $cd3f +.asm_5c5c3 + cp [hl] + inc hl + jr nz, .asm_5c5c3 ; 0x5c5c5 $fc + dec hl + push hl + ld c, $1f + ld a, $d0 + call $23a1 + pop hl +.asm_5c5d1 + ld a, [hl] + ld [$c132], a + push hl + ld hl, $cd3f + ld de, $cd3e + ld bc, $0004 + call CopyData + ld a, [$cd3e] + ld [$cd42], a + pop hl + ld c, $18 + call $3739 + ld a, [$c026] + ld b, a + ld a, [$c027] + or b + jr nz, .asm_5c5d1 ; 0x5c5f6 $d9 + ld c, $30 + call $3739 + call $2307 + jp TextScriptEnd +; 0x5c603 + +PewterPokecenterText5: ; 0x5c603 + TX_FAR _PewterPokecenterText5 ; 0x98744 + db $50 +; 0x5c603 + 5 bytes = 0x5c608 + +; 0x5c608 XXX +db $30, $38, $34, $3c + +PewterPokecenterText4: ; 0x5c60b + db $f6 + +PewterPokecenterObject: ; 0x5c60d (size=44) + db $0 ; border tile + + db $2 ; warps + db $7, $3, $6, $ff + db $7, $4, $6, $ff + + db $0 ; signs + + db $4 ; people + db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person + db SPRITE_GENTLEMAN, $7 + 4, $b + 4, $ff, $d2, $2 ; person + db SPRITE_CLEFAIRY, $3 + 4, $1 + 4, $ff, $d0, $3 ; person + db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person + + ; warp-to + EVENT_DISP $7, $7, $3 + EVENT_DISP $7, $7, $4 + +CeruleanPokecenter_h: ; 0x5c639 to 0x5c645 (12 bytes) (id=64) + db $06 ; tileset + db CERULEAN_POKECENTER_HEIGHT, CERULEAN_POKECENTER_WIDTH ; dimensions (y, x) + dw CeruleanPokecenterBlocks, CeruleanPokecenterTexts, CeruleanPokecenterScript ; blocks, texts, scripts + db $00 ; connections + + dw CeruleanPokecenterObject ; objects + +CeruleanPokecenterScript: ; 0x5c645 + call $22fa + jp $3c3c +; 0x5c64b + +CeruleanPokecenterTexts: + dw CeruleanPokecenterText1, CeruleanPokecenterText2, CeruleanPokecenterText3, CeruleanPokecenterText4 + +CeruleanPokecenterText4: + db $f6 + +CeruleanPokecenterText1: ; 0x5c654 + db $ff + +CeruleanPokecenterText2: ; 0x5c655 + TX_FAR _CeruleanPokecenterText1 + db $50 + +CeruleanPokecenterText3: + TX_FAR _CeruleanPokecenterText3 + db $50 + +CeruleanPokecenterObject: ; 0x5c65f (size=44) + db $0 ; border tile + + db $2 ; warps + db $7, $3, $2, $ff + db $7, $4, $2, $ff + + db $0 ; signs + + db $4 ; people + db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person + db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $a + 4, $fe, $0, $2 ; person + db SPRITE_GENTLEMAN, $3 + 4, $4 + 4, $ff, $d0, $3 ; person + db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person + + ; warp-to + EVENT_DISP $7, $7, $3 + EVENT_DISP $7, $7, $4 + +CeruleanPokecenterBlocks: ; 0x5c68b 28 + INCBIN "maps/ceruleanpokecenter.blk" + +CeruleanGym_h: ; 0x5c6a7 to 0x5c6b3 (12 bytes) (id=65) + db $07 ; tileset + db CERULEAN_GYM_HEIGHT, CERULEAN_GYM_WIDTH ; dimensions (y, x) + dw CeruleanGymBlocks, CeruleanGymTexts, CeruleanGymScript ; blocks, texts, scripts + db $00 ; connections + + dw CeruleanGymObject ; objects + +CeruleanGymScript: ; 0x5c6b3 + ld hl, $d126 + bit 6, [hl] + res 6, [hl] + call nz, CeruleanGymScript_Unknown5c6d0 + call $3c3c + ld hl, CeruleanGymTrainerHeaders + ld de, $46f8 + ld a, [$d5fd] + call $3160 + ld [$d5fd], a + ret +; 0x5c6d0 + +CeruleanGymScript_Unknown5c6d0: ; 0x5c6d0 +INCBIN "baserom.gbc",$5c6d0,$7a + +CeruleanGymTexts: ; 0x5c74a + dw CeruleanGymText1, CeruleanGymText2, CeruleanGymText3, CeruleanGymText4, CeruleanGymText5, CeruleanGymText6, CeruleanGymText7 + +CeruleanGymTrainerHeaders: +CeruleanGymTrainerHeader1: ; 0x5c758 + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d75e ; flag's byte + dw UnnamedText_5c7e9 ; 0x47e9 TextBeforeBattle + dw UnnamedText_5c7f3 ; 0x47f3 TextAfterBattle + dw UnnamedText_5c7ee ; 0x47ee TextEndBattle + dw UnnamedText_5c7ee ; 0x47ee TextEndBattle +; 0x5c764 + +TrainerHeader_5c764: ; 0x5c764 + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d75e ; flag's byte + dw UnnamedText_5c802 ; 0x4802 TextBeforeBattle + dw UnnamedText_5c80c ; 0x480c TextAfterBattle + dw UnnamedText_5c807 ; 0x4807 TextEndBattle + dw UnnamedText_5c807 ; 0x4807 TextEndBattle +; 0x5c770 + +db $ff + +CeruleanGymText1: ; 0x5c771 + db $08 ; asm + ld a, [$d75e] + bit 7, a + jr z, .asm_10854 ; 0x5c777 + bit 6, a + jr nz, .asm_37a1b ; 0x5c77b + call z, $470d + call $30b6 + jr .asm_95b04 ; 0x5c783 +.asm_37a1b ; 0x5c785 + ld hl, UnnamedText_5c7c3 + call PrintText + jr .asm_95b04 ; 0x5c78b +.asm_10854 ; 0x5c78d + ld hl, UnnamedText_5c7be + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, $47d8 + ld de, $47d8 + call $3354 + ldh a, [$8c] + ld [$cf13], a + call $336a + call $32d7 + ld a, $2 + ld [$d05c], a + xor a + ldh [$b4], a + ld a, $3 + ld [$d5fd], a +.asm_95b04 ; 0x5c7bb + jp TextScriptEnd + +UnnamedText_5c7be: ; 0x5c7be + TX_FAR _UnnamedText_5c7be + db $50 +; 0x5c7be + 5 bytes + +UnnamedText_5c7c3: ; 0x5c7c3 + TX_FAR _UnnamedText_5c7c3 + db $50 +; 0x5c7c3 + 5 bytes + +CeruleanGymText5: ; 0x5c7c8 + TX_FAR _UnnamedText_5c7c8 + db $50 +; 0x5c7c8 + 5 bytes + +CeruleanGymText6: ; 0x5c7cd +ReceivedTM11Text: ; 0x5c7cd + TX_FAR _ReceivedTM11Text ; 0x98b7d + db $0B, $50 +; 0x5c7cd + 6 bytes = 0x5c7d3 + +CeruleanGymText7: ; 0x5c7d3 + TX_FAR _UnnamedText_5c7d3 + db $50 +; 0x5c7d3 + 5 bytes + +UnnamedText_5c7d8: ; 0x5c7d8 + TX_FAR _UnnamedText_5c7d8 ; 0x98bb0 + db $11, $6, $50 +; 0x5c7d8 + 7 bytes = 0x5c7df + +CeruleanGymText2: ; 0x5c7df + db $08 ; asm + ld hl, CeruleanGymTrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_5c7e9: ; 0x5c7e9 + TX_FAR _UnnamedText_5c7e9 + db $50 +; 0x5c7e9 + 5 bytes + +UnnamedText_5c7ee: ; 0x5c7ee + TX_FAR _UnnamedText_5c7ee + db $50 +; 0x5c7ee + 5 bytes + +UnnamedText_5c7f3: ; 0x5c7f3 + TX_FAR _UnnamedText_5c7f3 + db $50 +; 0x5c7f3 + 5 bytes + +CeruleanGymText3: ; 0x5c7f8 + db $08 ; asm + ld hl, TrainerHeader_5c764 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_5c802: ; 0x5c802 + TX_FAR _UnnamedText_5c802 + db $50 +; 0x5c802 + 5 bytes + +UnnamedText_5c807: ; 0x5c807 + TX_FAR _UnnamedText_5c807 + db $50 +; 0x5c807 + 5 bytes + +UnnamedText_5c80c: ; 0x5c80c + TX_FAR _UnnamedText_5c80c + db $50 +; 0x5c80c + 5 bytes + +CeruleanGymText4: ; 0x5c811 + db $08 ; asm + ld a, [$d75e] + bit 7, a + jr nz, .asm_f80ce ; 0x5c817 + ld hl, UnnamedText_5c82a + call PrintText + jr .asm_18a31 ; 0x5c81f +.asm_f80ce ; 0x5c821 + ld hl, UnnamedText_5c82f + call PrintText +.asm_18a31 ; 0x5c827 + jp TextScriptEnd + +UnnamedText_5c82a: ; 0x5c82a + TX_FAR _UnnamedText_5c82a + db $50 +; 0x5c82a + 5 bytes + +UnnamedText_5c82f: ; 0x5c82f + TX_FAR _UnnamedText_5c82f + db $50 +; 0x5c82f + 5 bytes + +CeruleanGymObject: ; 0x5c834 (size=50) + db $3 ; border tile + + db $2 ; warps + db $d, $4, $3, $ff + db $d, $5, $3, $ff + + db $0 ; signs + + db $4 ; people + db SPRITE_BRUNETTE_GIRL, $2 + 4, $4 + 4, $ff, $d0, $41, MISTY + $C8, $1 ; trainer + db SPRITE_LASS, $3 + 4, $2 + 4, $ff, $d3, $42, JR__TRAINER_F + $C8, $1 ; trainer + db SPRITE_SWIMMER, $7 + 4, $8 + 4, $ff, $d2, $43, SWIMMER + $C8, $1 ; trainer + db SPRITE_GYM_HELPER, $a + 4, $7 + 4, $ff, $d0, $4 ; person + + ; warp-to + EVENT_DISP $5, $d, $4 + EVENT_DISP $5, $d, $5 + +CeruleanGymBlocks: ; 0x5c866 35 + INCBIN "maps/ceruleangym.blk" + +CeruleanMart_h: ; 0x5c889 to 0x5c895 (12 bytes) (id=67) + db $02 ; tileset + db CERULEAN_MART_HEIGHT, CERULEAN_MART_WIDTH ; dimensions (y, x) + dw CeruleanMartBlocks, CeruleanMartTexts, CeruleanMartScript ; blocks, texts, scripts + db $00 ; connections + + dw CeruleanMartObject ; objects + +CeruleanMartScript: ; 0x5c895 + jp $3c3c +; 0x5c898 + +CeruleanMartTexts: ; 0x5c898 + dw CeruleanMartText1, CeruleanMartText2, CeruleanMartText3 + +CeruleanMartText2: ; 0x5c89e + TX_FAR _CeruleanMartText2 + db $50 + +CeruleanMartText3: ; 0x5c8a3 + TX_FAR _CeruleanMartText3 + db $50 + +CeruleanMartObject: ; 0x5c8a8 (size=38) + db $0 ; border tile + + db $2 ; warps + db $7, $3, $5, $ff + db $7, $4, $5, $ff + + db $0 ; signs + + db $3 ; people + db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person + db SPRITE_BLACK_HAIR_BOY_1, $4 + 4, $3 + 4, $fe, $1, $2 ; person + db SPRITE_LASS, $2 + 4, $6 + 4, $fe, $2, $3 ; person + + ; warp-to + EVENT_DISP $4, $7, $3 + EVENT_DISP $4, $7, $4 + +LavenderPokecenter_h: ; 0x5c8ce to 0x5c8da (12 bytes) (id=141) + db $06 ; tileset + db LAVENDER_POKECENTER_HEIGHT, LAVENDER_POKECENTER_WIDTH ; dimensions (y, x) + dw LavenderPokecenterBlocks, LavenderPokecenterTexts, LavenderPokecenterScript ; blocks, texts, scripts + db $00 ; connections + + dw LavenderPokecenterObject ; objects + +LavenderPokecenterScript: ; 0x5c8da + call $22fa + jp $3c3c +; 0x5c8e0 + +LavenderPokecenterTexts: + dw LavenderPokecenterText1, LavenderPokecenterText2, LavenderPokecenterText3, LavenderPokecenterText4 + +LavenderPokecenterText4: + db $f6 + +LavenderPokecenterText1: ; 0x5c8ea + db $ff + +LavenderPokecenterText2: ; 0x5c8eb + TX_FAR _LavenderPokecenterText1 + db $50 + +LavenderPokecenterText3: ; 0x5c8ef + TX_FAR _LavenderPokecenterText3 + db $50 + +LavenderPokecenterObject: ; 0x5c8f4 (size=44) + db $0 ; border tile + + db $2 ; warps + db $7, $3, $0, $ff + db $7, $4, $0, $ff + + db $0 ; signs + + db $4 ; people + db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person + db SPRITE_GENTLEMAN, $3 + 4, $5 + 4, $ff, $ff, $2 ; person + db SPRITE_LITTLE_GIRL, $6 + 4, $2 + 4, $fe, $1, $3 ; person + db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person + + ; warp-to + EVENT_DISP $7, $7, $3 + EVENT_DISP $7, $7, $4 + +LavenderMart_h: ; 0x5c920 to 0x5c92c (12 bytes) (id=150) + db $02 ; tileset + db LAVENDER_MART_HEIGHT, LAVENDER_MART_WIDTH ; dimensions (y, x) + dw LavenderMartBlocks, LavenderMartTexts, LavenderMartScript ; blocks, texts, scripts + db $00 ; connections + + dw LavenderMartObject ; objects + +LavenderMartScript: ; 0x5c92c + jp $3c3c +; 0x5c92f + +LavenderMartTexts: ; 0x5c92f + dw LavenderMartText1, LavenderMartText2, LavenderMartText3 + +LavenderMartText2: ; 0x5c935 + TX_FAR _LavenderMartText2 + db $50 + +LavenderMartText3: ; 0x5c93a + db $08 ; asm + ld a, [$d7e0] + bit 7, a + jr nz, .asm_c88d4 ; 0x5c940 + ld hl, UnnamedText_5c953 + call PrintText + jr .asm_6d225 ; 0x5c948 +.asm_c88d4 ; 0x5c94a + ld hl, UnnamedText_5c958 + call PrintText +.asm_6d225 ; 0x5c950 + jp TextScriptEnd + +UnnamedText_5c953: ; 0x5c953 + TX_FAR _UnnamedText_5c953 + db $50 +; 0x5c953 + 5 bytes + +UnnamedText_5c958: ; 0x5c958 + TX_FAR _UnnamedText_5c958 + db $50 +; 0x5c958 + 5 bytes + +LavenderMartObject: ; 0x5c95d (size=38) + db $0 ; border tile + + db $2 ; warps + db $7, $3, $3, $ff + db $7, $4, $3, $ff + + db $0 ; signs + + db $3 ; people + db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person + db SPRITE_BALDING_GUY, $4 + 4, $3 + 4, $ff, $ff, $2 ; person + db SPRITE_BLACK_HAIR_BOY_1, $2 + 4, $7 + 4, $ff, $ff, $3 ; person + + ; warp-to + EVENT_DISP $4, $7, $3 + EVENT_DISP $4, $7, $4 + +VermilionPokecenter_h: ; 0x5c983 to 0x5c98f (12 bytes) (id=89) + db $06 ; tileset + db VERMILION_POKECENTER_HEIGHT, VERMILION_POKECENTER_WIDTH ; dimensions (y, x) + dw VermilionPokecenterBlocks, VermilionPokecenterTexts, VermilionPokecenterScript ; blocks, texts, scripts + db $00 ; connections + + dw VermilionPokecenterObject ; objects + +VermilionPokecenterScript: ; 0x5c98f + call $22fa + jp $3c3c +; 0x5c995 + +VermilionPokecenterTexts: + dw VermilionPokecenterText1, VermilionPokecenterText2, VermilionPokecenterText3, VermilionPokecenterText4 + +VermilionPokecenterText1: ; 0x5c99d + db $ff + +VermilionPokecenterText2: ; 0x5c99e + TX_FAR _VermilionPokecenterText1 + db $50 + +VermilionPokecenterText3: ; 0x5c9a3 + TX_FAR _VermilionPokecenterText3 + db $50 + +VermilionPokecenterText4: ; 0x5c9a8 + db $f6 + +VermilionPokecenterObject: ; 0x5c9a9 (size=44) + db $0 ; border tile + + db $2 ; warps + db $7, $3, $0, $ff + db $7, $4, $0, $ff + + db $0 ; signs + + db $4 ; people + db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person + db SPRITE_FISHER, $5 + 4, $a + 4, $ff, $ff, $2 ; person + db SPRITE_SAILOR, $4 + 4, $5 + 4, $ff, $ff, $3 ; person + db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person + + ; warp-to + EVENT_DISP $7, $7, $3 + EVENT_DISP $7, $7, $4 + +VermilionMart_h: ; 0x5c9d5 to 0x5c9e1 (12 bytes) (id=91) + db $02 ; tileset + db VERMILION_MART_HEIGHT, VERMILION_MART_WIDTH ; dimensions (y, x) + dw VermilionMartBlocks, VermilionMartTexts, VermilionMartScript ; blocks, texts, scripts + db $00 ; connections + + dw VermilionMartObject ; objects + +VermilionMartScript: ; 0x5c9e1 + jp $3c3c +; 0x5c9e4 + +VermilionMartTexts: ; 0x5c9e4 + dw VermilionMartText1, VermilionMartText2, VermilionMartText3 + +VermilionMartText2: ; 0x5c9ea + TX_FAR _VermilionMartText2 + db $50 + +VermilionMartText3: ; 0x5c9ef + TX_FAR _VermilionMartText3 + db $50 + +VermilionMartObject: ; 0x5c9f4 (size=38) + db $0 ; border tile + + db $2 ; warps + db $7, $3, $2, $ff + db $7, $4, $2, $ff + + db $0 ; signs + + db $3 ; people + db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person + db SPRITE_BLACK_HAIR_BOY_1, $6 + 4, $5 + 4, $ff, $ff, $2 ; person + db SPRITE_LASS, $3 + 4, $3 + 4, $fe, $2, $3 ; person + + ; warp-to + EVENT_DISP $4, $7, $3 + EVENT_DISP $4, $7, $4 + +VermilionGym_h: ; 0x5ca1a to 0x5ca26 (12 bytes) (id=92) + db $07 ; tileset + db VERMILION_GYM_HEIGHT, VERMILION_GYM_WIDTH ; dimensions (y, x) + dw VermilionGymBlocks, VermilionGymTexts, VermilionGymScript ; blocks, texts, scripts + db $00 ; connections + + dw VermilionGymObject ; objects + +VermilionGymScript: ; 0x5ca26 + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + push hl + call nz, VermilionGymScript_Unknown5ca4c + pop hl + bit 6, [hl] + res 6, [hl] + call nz, $4a6d + call $3c3c + ld hl, VermilionGymTrainerHeader1 + ld de, $4a95 + ld a, [$d5fe] + call $3160 + ld [$d5fe], a + ret +; 0x5ca4c + +VermilionGymScript_Unknown5ca4c: ; 0x5ca4c +INCBIN "baserom.gbc",$5ca4c,$9c + +VermilionGymTexts: ; 0x5cae8 + dw VermilionGymText1, VermilionGymText2, VermilionGymText3, VermilionGymText4, VermilionGymText5, VermilionGymText6, VermilionGymText7, VermilionGymText8 + +VermilionGymTrainerHeaders: +VermilionGymTrainerHeader1: ; 0x5caf8 + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d773 ; flag's byte + dw UnnamedText_5cb9a ; 0x4b9a TextBeforeBattle + dw UnnamedText_5cba4 ; 0x4ba4 TextAfterBattle + dw UnnamedText_5cb9f ; 0x4b9f TextEndBattle + dw UnnamedText_5cb9f ; 0x4b9f TextEndBattle +; 0x5cb04 + +TrainerHeader_5cb04: ; 0x5cb04 + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d773 ; flag's byte + dw UnnamedText_5cbb3 ; 0x4bb3 TextBeforeBattle + dw UnnamedText_5cbbd ; 0x4bbd TextAfterBattle + dw UnnamedText_5cbb8 ; 0x4bb8 TextEndBattle + dw UnnamedText_5cbb8 ; 0x4bb8 TextEndBattle +; 0x5cb10 + +TrainerHeader_5cb10: ; 0x5cb10 + db $4 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d773 ; flag's byte + dw UnnamedText_5cbcc ; 0x4bcc TextBeforeBattle + dw UnnamedText_5cbd6 ; 0x4bd6 TextAfterBattle + dw UnnamedText_5cbd1 ; 0x4bd1 TextEndBattle + dw UnnamedText_5cbd1 ; 0x4bd1 TextEndBattle +; 0x5cb1c + +db $ff + +VermilionGymText1: ; 0x5cb1d + db $08 ; asm + ld a, [$d773] + bit 7, a + jr z, .asm_7cc29 ; 0x5cb23 + bit 6, a + jr nz, .asm_41203 ; 0x5cb27 + call z, $4aaa + call $30b6 + jr .asm_23621 ; 0x5cb2f +.asm_41203 ; 0x5cb31 + ld hl, UnnamedText_5cb72 + call PrintText + jr .asm_23621 ; 0x5cb37 +.asm_7cc29 ; 0x5cb39 + ld hl, UnnamedText_5cb6d + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, $4b8b + ld de, $4b8b + call $3354 + ldh a, [$8c] + ld [$cf13], a + call $336a + call $32d7 + ld a, $3 + ld [$d05c], a + xor a + ldh [$b4], a + ld a, $3 + ld [$d5fe], a + ld [$da39], a +.asm_23621 ; 0x5cb6a + jp TextScriptEnd + +UnnamedText_5cb6d: ; 0x5cb6d + TX_FAR _UnnamedText_5cb6d + db $50 +; 0x5cb6d + 5 bytes + +UnnamedText_5cb72: ; 0x5cb72 + TX_FAR _UnnamedText_5cb72 + db $50 +; 0x5cb72 + 5 bytes + +VermilionGymText6: + TX_FAR _UnnamedText_5cb77 + db $50 +; 0x5cb77 + 5 bytes + +VermilionGymText7: ; 0x5cb7c + TX_FAR _ReceivedTM24Text ; 0x9c0e0 + db $11 + TX_FAR _TM24ExplanationText ; 0x9c0f5 + db $50 +; 0x5cb7c + 10 bytes = 0x5cb86 + +VermilionGymText8: ; 0x5cb86 + TX_FAR _TM24NoRoomText + db $50 + +ReceivedThunderbadgeText: + TX_FAR _ReceivedThunderbadgeText + db $50 + +VermilionGymText2: ; 0x5cb90 + db $08 ; asm + ld hl, VermilionGymTrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_5cb9a: ; 0x5cb9a + TX_FAR _UnnamedText_5cb9a + db $50 +; 0x5cb9a + 5 bytes + +UnnamedText_5cb9f: ; 0x5cb9f + TX_FAR _UnnamedText_5cb9f + db $50 +; 0x5cb9f + 5 bytes + +UnnamedText_5cba4: ; 0x5cba4 + TX_FAR _UnnamedText_5cba4 + db $50 +; 0x5cba4 + 5 bytes + +VermilionGymText3: ; 0x5cba9 + db $08 ; asm + ld hl, TrainerHeader_5cb04 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_5cbb3: ; 0x5cbb3 + TX_FAR _UnnamedText_5cbb3 + db $50 +; 0x5cbb3 + 5 bytes + +UnnamedText_5cbb8: ; 0x5cbb8 + TX_FAR _UnnamedText_5cbb8 + db $50 +; 0x5cbb8 + 5 bytes + +UnnamedText_5cbbd: ; 0x5cbbd + TX_FAR _UnnamedText_5cbbd + db $50 +; 0x5cbbd + 5 bytes + +VermilionGymText4: ; 0x5cbc2 + db $08 ; asm + ld hl, TrainerHeader_5cb10 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_5cbcc: ; 0x5cbcc + TX_FAR _UnnamedText_5cbcc + db $50 +; 0x5cbcc + 5 bytes + +UnnamedText_5cbd1: ; 0x5cbd1 + TX_FAR _UnnamedText_5cbd1 + db $50 +; 0x5cbd1 + 5 bytes + +UnnamedText_5cbd6: ; 0x5cbd6 + TX_FAR _UnnamedText_5cbd6 + db $50 +; 0x5cbd6 + 5 bytes + +VermilionGymText5: ; 0x5cbdb + db $08 ; asm + ld a, [$d72a] + bit 2, a + jr nz, .asm_13b67 ; 0x5cbe1 + ld hl, UnnamedText_5cbf4 + call PrintText + jr .asm_c2b38 ; 0x5cbe9 +.asm_13b67 ; 0x5cbeb + ld hl, UnnamedText_5cbf9 + call PrintText +.asm_c2b38 ; 0x5cbf1 + jp TextScriptEnd + +UnnamedText_5cbf4: ; 0x5cbf4 + TX_FAR _UnnamedText_5cbf4 + db $50 +; 0x5cbf4 + 5 bytes + +UnnamedText_5cbf9: ; 0x5cbf9 + TX_FAR _UnnamedText_5cbf9 + db $50 +; 0x5cbf9 + 5 bytes + +VermilionGymObject: ; 0x5cbfe (size=58) + db $3 ; border tile + + db $2 ; warps + db $11, $4, $3, $ff + db $11, $5, $3, $ff + + db $0 ; signs + + db $5 ; people + db SPRITE_ROCKER, $1 + 4, $5 + 4, $ff, $d0, $41, LT__SURGE + $C8, $1 ; trainer + db SPRITE_GENTLEMAN, $6 + 4, $9 + 4, $ff, $d2, $42, GENTLEMAN + $C8, $3 ; trainer + db SPRITE_BLACK_HAIR_BOY_2, $8 + 4, $3 + 4, $ff, $d2, $43, ROCKER + $C8, $1 ; trainer + db SPRITE_SAILOR, $a + 4, $0 + 4, $ff, $d3, $44, SAILOR + $C8, $8 ; trainer + db SPRITE_GYM_HELPER, $e + 4, $4 + 4, $ff, $d0, $5 ; person + + ; warp-to + EVENT_DISP $5, $11, $4 + EVENT_DISP $5, $11, $5 + +VermilionGymBlocks: ; 0x5cc38 45 + INCBIN "maps/vermiliongym.blk" + +CopycatsHouseF2_h: ; 0x5cc65 to 0x5cc71 (12 bytes) (id=176) + db $04 ; tileset + db COPYCATS_HOUSE_2F_HEIGHT, COPYCATS_HOUSE_2F_WIDTH ; dimensions (y, x) + dw CopycatsHouseF2Blocks, CopycatsHouseF2Texts, CopycatsHouseF2Script ; blocks, texts, scripts + db $00 ; connections + + dw CopycatsHouseF2Object ; objects + +CopycatsHouseF2Script: ; 0x5cc71 + jp $3c3c +; 0x5cc74 + +CopycatsHouseF2Texts: ; 0x5cc74 + dw CopycatsHouseF2Text1, CopycatsHouseF2Text2, CopycatsHouseF2Text3, CopycatsHouseF2Text4, CopycatsHouseF2Text5, CopycatsHouseF2Text6, CopycatsHouseF2Text7 + +CopycatsHouseF2Text1: ; 0x5cc82 + db $08 ; asm + ld a, [$d7af] + bit 0, a + jr nz, .asm_7ccf3 ; 0x5cc88 + ld a, $1 + ld [$cc3c], a + ld hl, UnnamedText_5ccd4 + call PrintText + ld b, POKE_DOLL + call $3493 ; probably check has item or take item + jr z, .asm_62ecd ; 0x5cc9a + ld hl, UnnamedText_5ccd9 + call PrintText + ld bc, (TM_31 << 8) | 1 + call GiveItem + jr nc, .asm_16690 ; 0x5cca8 + ld hl, ReceivedTM31Text + call PrintText + ld a, $33 + ldh [$db], a + ld b, $5 ; BANK(MyFunction) + ld hl, $7f37 ; MyFunction + call Bankswitch + ld hl, $d7af + set 0, [hl] + jr .asm_62ecd ; 0x5ccc1 +.asm_16690 ; 0x5ccc3 + ld hl, TM31NoRoomText + call PrintText + jr .asm_62ecd ; 0x5ccc9 +.asm_7ccf3 ; 0x5cccb + ld hl, TM31ExplanationText2 + call PrintText +.asm_62ecd ; 0x5ccd1 + jp TextScriptEnd + +UnnamedText_5ccd4: ; 0x5ccd4 + TX_FAR _UnnamedText_5ccd4 + db $50 +; 0x5ccd4 + 5 bytes + +UnnamedText_5ccd9: ; 0x5ccd9 + TX_FAR _UnnamedText_5ccd9 + db $50 +; 0x5ccd9 + 5 bytes + +ReceivedTM31Text: ; 0x5ccde + TX_FAR _ReceivedTM31Text ; 0xa1675 + db $0B +TM31ExplanationText1: ; 0x5cce2 + TX_FAR _TM31ExplanationText1 ; 0xa1689 + db $d, $50 +; 0x5cce9 + +TM31ExplanationText2: ; 0x5cce9 + TX_FAR _TM31ExplanationText2 ; 0xa16c5 + db $50 +; 0x5cce9 + 5 bytes = 0x5ccee + +TM31NoRoomText: ; 0x5ccee + TX_FAR _TM31NoRoomText ; 0xa1733 + db $d, $50 +; 0x5ccf4 + +CopycatsHouseF2Text2: ; 0x5ccf4 + TX_FAR _CopycatsHouseF2Text2 + db $50 + +CopycatsHouseF2Text5: +CopycatsHouseF2Text4: +CopycatsHouseF2Text3: ; 0x5ccf9 + TX_FAR _CopycatsHouseF2Text3 + db $50 + +CopycatsHouseF2Text6: ; 0x5ccfe + TX_FAR _CopycatsHouseF2Text6 + db $50 + +CopycatsHouseF2Text7: ; 0x5cd03 + db $08 ; asm + ld a, [$c109] + cp $4 + ld hl, UnnamedText_5cd1c + jr nz, .asm_399a4 ; 0x5cd0c + ld hl, UnnamedText_5cd17 +.asm_399a4 ; 0x5cd11 + call PrintText + jp TextScriptEnd + +UnnamedText_5cd17: ; 0x5cd17 + TX_FAR _UnnamedText_5cd17 + db $50 +; 0x5cd17 + 5 bytes + +UnnamedText_5cd1c: ; 0x5cd1c + TX_FAR _UnnamedText_5cd1c + db $50 +; 0x5cd1c + 5 bytes + +CopycatsHouseF2Object: ; 0x5cd21 (size=48) + db $a ; border tile + + db $1 ; warps + db $1, $7, $2, COPYCATS_HOUSE_1F + + db $2 ; signs + db $5, $3, $6 ; CopycatsHouseF2Text6 + db $1, $0, $7 ; CopycatsHouseF2Text7 + + db $5 ; people + db SPRITE_BRUNETTE_GIRL, $3 + 4, $4 + 4, $fe, $0, $1 ; person + db SPRITE_BIRD, $6 + 4, $4 + 4, $fe, $2, $2 ; person + db SPRITE_SLOWBRO, $1 + 4, $5 + 4, $ff, $d0, $3 ; person + db SPRITE_BIRD, $0 + 4, $2 + 4, $ff, $d0, $4 ; person + db SPRITE_CLEFAIRY, $6 + 4, $1 + 4, $ff, $d3, $5 ; person + + ; warp-to + EVENT_DISP $4, $1, $7 ; COPYCATS_HOUSE_1F + +FightingDojo_h: ; 0x5cd51 to 0x5cd5d (12 bytes) (id=177) + db $05 ; tileset + db FIGHTINGDOJO_HEIGHT, FIGHTINGDOJO_WIDTH ; dimensions (y, x) + dw FightingDojoBlocks, FightingDojoTexts, FightingDojoScript ; blocks, texts, scripts + db $00 ; connections + + dw FightingDojoObject ; objects + +FightingDojoScript: ; 0x5cd5d + call $3c3c + ld hl, FightingDojoTrainerHeaders + ld de, $4d7b + ld a, [$d642] + call $3160 + ld [$d642], a + ret +; 0x5cd70 + +INCBIN "baserom.gbc",$5cd70,$93 + +FightingDojoTexts: ; 0x5ce03 + dw FightingDojoText1, FightingDojoText2, FightingDojoText3, FightingDojoText4, FightingDojoText5, FightingDojoText6, FightingDojoText7, FightingDojoText8 + +FightingDojoTrainerHeaders: +FightingDojoTrainerHeader1: ; 0x5ce13 + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7b1 ; flag's byte + dw UnnamedText_5ceac ; 0x4eac TextBeforeBattle + dw UnnamedText_5ceb6 ; 0x4eb6 TextAfterBattle + dw UnnamedText_5ceb1 ; 0x4eb1 TextEndBattle + dw UnnamedText_5ceb1 ; 0x4eb1 TextEndBattle +; 0x5ce1f + +TrainerHeader_5ce1f: ; 0x5ce1f + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7b1 ; flag's byte + dw UnnamedText_5cec5 ; 0x4ec5 TextBeforeBattle + dw UnnamedText_5cecf ; 0x4ecf TextAfterBattle + dw UnnamedText_5ceca ; 0x4eca TextEndBattle + dw UnnamedText_5ceca ; 0x4eca TextEndBattle +; 0x5ce2b + +TrainerHeader_5ce2b: ; 0x5ce2b + db $4 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7b1 ; flag's byte + dw UnnamedText_5cede ; 0x4ede TextBeforeBattle + dw UnnamedText_5cee8 ; 0x4ee8 TextAfterBattle + dw UnnamedText_5cee3 ; 0x4ee3 TextEndBattle + dw UnnamedText_5cee3 ; 0x4ee3 TextEndBattle +; 0x5ce37 + +TrainerHeader_5ce37: ; 0x5ce37 + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7b1 ; flag's byte + dw UnnamedText_5cef7 ; 0x4ef7 TextBeforeBattle + dw UnnamedText_5cf01 ; 0x4f01 TextAfterBattle + dw UnnamedText_5cefc ; 0x4efc TextEndBattle + dw UnnamedText_5cefc ; 0x4efc TextEndBattle +; 0x5ce43 + +db $ff + +FightingDojoText1: ; 0x5ce44 + db $08 ; asm + ld a, [$d7b1] + bit 0, a + jp nz, .continue1\@ + bit 1, a + jp nz, .continue2\@ + ld hl, UnnamedText_5ce8e + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, $4e93 + ld de, $4e93 + call $3354 + ldh a, [$8c] + ld [$cf13], a + call $336a + call $32d7 + ld a, $3 + ld [$d642], a + ld [$da39], a + jr .asm_9dba4 ; 0x5ce7b +.continue1\@ ; 0x5ce7d + ld hl, UnnamedText_5ce9d + call PrintText + jr .asm_9dba4 ; 0x5ce83 +.continue2\@ ; 0x5ce85f + ld hl, FightingDojoText8 + call PrintText +.asm_9dba4 ; 0x5ce8b + jp TextScriptEnd + +UnnamedText_5ce8e: ; 0x5ce8e + TX_FAR _UnnamedText_5ce8e + db $50 +; 0x5ce8e + 5 bytes + +UnnamedText_5ce93: ; 0x5ce93 + TX_FAR _UnnamedText_5ce93 + db $50 +; 0x5ce93 + 5 bytes + +FightingDojoText8: ; 0x5ce98 + TX_FAR _UnnamedText_5ce98 + db $50 +; 0x5ce98 + 5 bytes + +UnnamedText_5ce9d: ; 0x5ce9d + TX_FAR _UnnamedText_5ce9d + db $50 +; 0x5ce9d + 5 bytes + +FightingDojoText2: ; 0x5cea2 + db $08 ; asm + ld hl, FightingDojoTrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_5ceac: ; 0x5ceac + TX_FAR _UnnamedText_5ceac + db $50 +; 0x5ceac + 5 bytes + +UnnamedText_5ceb1: ; 0x5ceb1 + TX_FAR _UnnamedText_5ceb1 + db $50 +; 0x5ceb1 + 5 bytes + +UnnamedText_5ceb6: ; 0x5ceb6 + TX_FAR _UnnamedText_5ceb6 + db $50 +; 0x5ceb6 + 5 bytes + +FightingDojoText3: ; 0x5cebb + db $08 ; asm + ld hl, TrainerHeader_5ce1f + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_5cec5: ; 0x5cec5 + TX_FAR _UnnamedText_5cec5 + db $50 +; 0x5cec5 + 5 bytes + +UnnamedText_5ceca: ; 0x5ceca + TX_FAR _UnnamedText_5ceca + db $50 +; 0x5ceca + 5 bytes + +UnnamedText_5cecf: ; 0x5cecf + TX_FAR _UnnamedText_5cecf + db $50 +; 0x5cecf + 5 bytes + +FightingDojoText4: ; 0x5ced4 + db $08 ; asm + ld hl, TrainerHeader_5ce2b + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_5cede: ; 0x5cede + TX_FAR _UnnamedText_5cede + db $50 +; 0x5cede + 5 bytes + +UnnamedText_5cee3: ; 0x5cee3 + TX_FAR _UnnamedText_5cee3 + db $50 +; 0x5cee3 + 5 bytes + +UnnamedText_5cee8: ; 0x5cee8 + TX_FAR _UnnamedText_5cee8 + db $50 +; 0x5cee8 + 5 bytes + +FightingDojoText5: ; 0x5ceed + db $08 ; asm + ld hl, TrainerHeader_5ce37 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_5cef7: ; 0x5cef7 + TX_FAR _UnnamedText_5cef7 + db $50 +; 0x5cef7 + 5 bytes + +UnnamedText_5cefc: ; 0x5cefc + TX_FAR _UnnamedText_5cefc + db $50 +; 0x5cefc + 5 bytes + +UnnamedText_5cf01: ; 0x5cf01 + TX_FAR _UnnamedText_5cf01 + db $50 +; 0x5cf01 + 5 bytes + +FightingDojoText6: ; 0x5cf06 + db $08 ; asm + ld a, [$d7b1] + and $c0 + jr z, .asm_f8e28 ; 0x5cf0c + ld hl, UnnamedText_5cf96 + call PrintText + jr .asm_3a2c8 ; 0x5cf14 +.asm_f8e28 ; 0x5cf16 + ld a, $2b + call $349b + ld hl, UnnamedText_5cf49 + call PrintText + call $35ec + ld a, [$cc26] + and a + jr nz, .asm_3a2c8 ; 0x5cf28 + ld a, [$cf91] + ld b, a + ld c, 30 + call GivePokemon + jr nc, .asm_3a2c8 ; 0x5cf33 + ld a, $4a + ld [$cc4d], a + ld a, $11 + call Predef + ld hl, $d7b1 + set 6, [hl] + set 0, [hl] +.asm_3a2c8 ; 0x5cf46 + jp TextScriptEnd + +UnnamedText_5cf49: ; 0x5cf49 + TX_FAR _UnnamedText_5cf49 + db $50 +; 0x5cf49 + 5 bytes + +FightingDojoText7: ; 0x5cf4e + db $08 ; asm + ld a, [$d7b1] + and $c0 + jr z, .asm_170a9 ; 0x5cf54 + ld hl, UnnamedText_5cf96 + call PrintText + jr .asm_f1f47 ; 0x5cf5c +.asm_170a9 ; 0x5cf5e + ld a, $2c + call $349b + ld hl, UnnamedText_5cf91 + call PrintText + call $35ec + ld a, [$cc26] + and a + jr nz, .asm_f1f47 ; 0x5cf70 + ld a, [$cf91] + ld b, a + ld c,30 + call GivePokemon + jr nc, .asm_f1f47 ; 0x5cf7b + ld hl, $d7b1 + set 7, [hl] + set 0, [hl] + ld a, $4b + ld [$cc4d], a + ld a, $11 + call Predef +.asm_f1f47 ; 0x5cf8e + jp TextScriptEnd + +UnnamedText_5cf91: ; 0x5cf91 + TX_FAR _UnnamedText_5cf91 + db $50 +; 0x5cf91 + 5 bytes + +UnnamedText_5cf96: ; 0x5cf96 + TX_FAR _UnnamedText_5cf96 + db $50 +; 0x5cf96 + 5 bytes + +FightingDojoObject: ; 0x5cf9b (size=72) + db $3 ; border tile + + db $2 ; warps + db $b, $4, $1, $ff + db $b, $5, $1, $ff + + db $0 ; signs + + db $7 ; people + db SPRITE_HIKER, $3 + 4, $5 + 4, $ff, $d0, $41, BLACKBELT + $C8, $1 ; trainer + db SPRITE_HIKER, $4 + 4, $3 + 4, $ff, $d3, $42, BLACKBELT + $C8, $2 ; trainer + db SPRITE_HIKER, $6 + 4, $3 + 4, $ff, $d3, $43, BLACKBELT + $C8, $3 ; trainer + db SPRITE_HIKER, $5 + 4, $5 + 4, $ff, $d2, $44, BLACKBELT + $C8, $4 ; trainer + db SPRITE_HIKER, $7 + 4, $5 + 4, $ff, $d2, $45, BLACKBELT + $C8, $5 ; trainer + db SPRITE_BALL, $1 + 4, $4 + 4, $ff, $ff, $6 ; person + db SPRITE_BALL, $1 + 4, $5 + 4, $ff, $ff, $7 ; person + + ; warp-to + EVENT_DISP $5, $b, $4 + EVENT_DISP $5, $b, $5 + +FightingDojoBlocks: ; 0x5cfe3 30 + INCBIN "maps/fightingdojo.blk" + +SaffronGym_h: ; 0x5d001 to 0x5d00d (12 bytes) (id=178) + db $16 ; tileset + db SAFFRON_GYM_HEIGHT, SAFFRON_GYM_WIDTH ; dimensions (y, x) + dw SaffronGymBlocks, SaffronGymTexts, SaffronGymScript ; blocks, texts, scripts + db $00 ; connections + + dw SaffronGymObject ; objects + +SaffronGymScript: ; 0x5d00d + ld hl, $d126 + bit 6, [hl] + res 6, [hl] + call nz, .extra + call $3c3c + ld hl, $50c3 + ld de, $5053 + ld a, [$d65c] + call $3160 + ld [$d65c], a + ret +; 0x5d02a +.extra +INCBIN "baserom.gbc",$5d02a,$81 + +SaffronGymTexts: ; 0x5d0ab + dw SaffronGymText1, SaffronGymText2, SaffronGymText3, SaffronGymText4, SaffronGymText5, SaffronGymText6, SaffronGymText7, SaffronGymText8, SaffronGymText9, SaffronGymText10, SaffronGymText11, SaffronGymText12 + +SaffronGymTrainerHeaders: +SaffronGymTrainerHeader1: ; 0x5d0c3 + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7b3 ; flag's byte + dw UnnamedText_5d1f0 ; 0x51f0 TextBeforeBattle + dw UnnamedText_5d1fa ; 0x51fa TextAfterBattle + dw UnnamedText_5d1f5 ; 0x51f5 TextEndBattle + dw UnnamedText_5d1f5 ; 0x51f5 TextEndBattle +; 0x5d0cf + +TrainerHeader_5d0cf: ; 0x5d0cf + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7b3 ; flag's byte + dw UnnamedText_5d1ff ; 0x51ff TextBeforeBattle + dw UnnamedText_5d209 ; 0x5209 TextAfterBattle + dw UnnamedText_5d204 ; 0x5204 TextEndBattle + dw UnnamedText_5d204 ; 0x5204 TextEndBattle +; 0x5d0db + +TrainerHeader_5d0db: ; 0x5d0db + db $4 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7b3 ; flag's byte + dw UnnamedText_5d20e ; 0x520e TextBeforeBattle + dw UnnamedText_5d218 ; 0x5218 TextAfterBattle + dw UnnamedText_5d213 ; 0x5213 TextEndBattle + dw UnnamedText_5d213 ; 0x5213 TextEndBattle +; 0x5d0e7 + +TrainerHeader_5d0e7: ; 0x5d0e7 + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7b3 ; flag's byte + dw UnnamedText_5d21d ; 0x521d TextBeforeBattle + dw UnnamedText_5d227 ; 0x5227 TextAfterBattle + dw UnnamedText_5d222 ; 0x5222 TextEndBattle + dw UnnamedText_5d222 ; 0x5222 TextEndBattle +; 0x5d0f3 + +TrainerHeader_5d0f3: ; 0x5d0f3 + db $6 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7b3 ; flag's byte + dw UnnamedText_5d22c ; 0x522c TextBeforeBattle + dw UnnamedText_5d236 ; 0x5236 TextAfterBattle + dw UnnamedText_5d231 ; 0x5231 TextEndBattle + dw UnnamedText_5d231 ; 0x5231 TextEndBattle +; 0x5d0ff + +TrainerHeader_5d0ff: ; 0x5d0ff + db $7 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7b3 ; flag's byte + dw UnnamedText_5d23b ; 0x523b TextBeforeBattle + dw UnnamedText_5d245 ; 0x5245 TextAfterBattle + dw UnnamedText_5d240 ; 0x5240 TextEndBattle + dw UnnamedText_5d240 ; 0x5240 TextEndBattle +; 0x5d10b + +TrainerHeader_5d10b: ; 0x5d10b + db $8 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7b3 ; flag's byte + dw UnnamedText_5d24a ; 0x524a TextBeforeBattle + dw UnnamedText_5d254 ; 0x5254 TextAfterBattle + dw UnnamedText_5d24f ; 0x524f TextEndBattle + dw UnnamedText_5d24f ; 0x524f TextEndBattle +; 0x5d117 + +db $ff + +SaffronGymText1: ; 0x5d118 + db $08 ; asm + ld a, [$d7b3] + bit 1, a + jr z, .asm_e3544 ; 0x5d11e + bit 0, a + jr nz, .asm_8d2f6 ; 0x5d122 + call z, $5068 + call $30b6 + jr .asm_34c2c ; 0x5d12a +.asm_8d2f6 ; 0x5d12c + ld hl, UnnamedText_5d16e + call PrintText + jr .asm_34c2c ; 0x5d132 +.asm_e3544 ; 0x5d134 + ld hl, UnnamedText_5d162 + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, UnnamedText_5d167 + ld de, $5167 ; probably UnnamedText_5d167 + call $3354 + ldh a, [$8c] + ld [$cf13], a + call $336a + call $32d7 + ld a, $6 + ld [$d05c], a + ld a, $3 + ld [$d65c], a +.asm_34c2c ; 0x5d15f + jp TextScriptEnd + +UnnamedText_5d162: ; 0x5d162 + TX_FAR _UnnamedText_5d162 + db $50 +; 0x5d162 + 5 bytes + +UnnamedText_5d167: ; 0x5d167 + TX_FAR _UnnamedText_5d167 ; 0xa1c73 + db $11 ; play same sound as red giving oak parcel + db $6 ; wait for keypress + db $50 +; 0x5d16e + +UnnamedText_5d16e: ; 0x5d16e + TX_FAR _UnnamedText_5d16e + db $50 +; 0x5d16e + 5 bytes + +SaffronGymText10: ; 0x5d173 + TX_FAR _UnnamedText_5d173 + db $50 +; 0x5d173 + 5 bytes + +SaffronGymText11: ; 0x5d178 + TX_FAR ReceivedTM46Text + db $b + TX_FAR _UnnamedText_5d17d + db $50 + +SaffronGymText12: ; 0x5d182 + TX_FAR _UnnamedText_5d182 ; pack full + db $50 +; 0x5d182 + 5 bytes + +SaffronGymText2: ; 0x5d187 + db $08 ; asm + ld hl, SaffronGymTrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +SaffronGymText3: ; 0x5d191 + db $08 ; asm + ld hl, TrainerHeader_5d0cf + call LoadTrainerHeader + jp TextScriptEnd + +SaffronGymText4: ; 0x5d19b + db $08 ; asm + ld hl, TrainerHeader_5d0db + call LoadTrainerHeader + jp TextScriptEnd + +SaffronGymText5: ; 0x5d1a5 + db $08 ; asm + ld hl, TrainerHeader_5d0e7 + call LoadTrainerHeader + jp TextScriptEnd + +SaffronGymText6: ; 0x5d1af + db $08 ; asm + ld hl, TrainerHeader_5d0f3 + call LoadTrainerHeader + jp TextScriptEnd + +SaffronGymText7: ; 0x5d1b9 + db $08 ; asm + ld hl, TrainerHeader_5d0ff + call LoadTrainerHeader + jp TextScriptEnd + +SaffronGymText8: ; 0x5d1c3 + db $08 ; asm + ld hl, TrainerHeader_5d10b + call LoadTrainerHeader + jp TextScriptEnd + +SaffronGymText9: ; 0x5d1cd + db $08 ; asm + ld a, [$d7b3] + bit 1, a + jr nz, .asm_13f3c ; 0x5d1d3 + ld hl, UnnamedText_5d1e6 + call PrintText + jr .asm_e9907 ; 0x5d1db +.asm_13f3c ; 0x5d1dd + ld hl, UnnamedText_5d1eb + call PrintText +.asm_e9907 ; 0x5d1e3 + jp TextScriptEnd + +UnnamedText_5d1e6: ; 0x5d1e6 + TX_FAR _UnnamedText_5d1e6 + db $50 +; 0x5d1e6 + 5 bytes + +UnnamedText_5d1eb: ; 0x5d1eb + TX_FAR _UnnamedText_5d1eb + db $50 +; 0x5d1eb + 5 bytes + +UnnamedText_5d1f0: ; 0x5d1f0 + TX_FAR _UnnamedText_5d1f0 + db $50 +; 0x5d1f0 + 5 bytes + +UnnamedText_5d1f5: ; 0x5d1f5 + TX_FAR _UnnamedText_5d1f5 + db $50 +; 0x5d1f5 + 5 bytes + +UnnamedText_5d1fa: ; 0x5d1fa + TX_FAR _UnnamedText_5d1fa + db $50 +; 0x5d1fa + 5 bytes + +UnnamedText_5d1ff: ; 0x5d1ff + TX_FAR _UnnamedText_5d1ff + db $50 +; 0x5d1ff + 5 bytes + +UnnamedText_5d204: ; 0x5d204 + TX_FAR _UnnamedText_5d204 + db $50 +; 0x5d204 + 5 bytes + +UnnamedText_5d209: ; 0x5d209 + TX_FAR _UnnamedText_5d209 + db $50 +; 0x5d209 + 5 bytes + +UnnamedText_5d20e: ; 0x5d20e + TX_FAR _UnnamedText_5d20e + db $50 +; 0x5d20e + 5 bytes + +UnnamedText_5d213: ; 0x5d213 + TX_FAR _UnnamedText_5d213 + db $50 +; 0x5d213 + 5 bytes + +UnnamedText_5d218: ; 0x5d218 + TX_FAR _UnnamedText_5d218 + db $50 +; 0x5d218 + 5 bytes + +UnnamedText_5d21d: ; 0x5d21d + TX_FAR _UnnamedText_5d21d + db $50 +; 0x5d21d + 5 bytes + +UnnamedText_5d222: ; 0x5d222 + TX_FAR _UnnamedText_5d222 + db $50 +; 0x5d222 + 5 bytes + +UnnamedText_5d227: ; 0x5d227 + TX_FAR _UnnamedText_5d227 + db $50 +; 0x5d227 + 5 bytes + +UnnamedText_5d22c: ; 0x5d22c + TX_FAR _UnnamedText_5d22c + db $50 +; 0x5d22c + 5 bytes + +UnnamedText_5d231: ; 0x5d231 + TX_FAR _UnnamedText_5d231 + db $50 +; 0x5d231 + 5 bytes + +UnnamedText_5d236: ; 0x5d236 + TX_FAR _UnnamedText_5d236 + db $50 +; 0x5d236 + 5 bytes + +UnnamedText_5d23b: ; 0x5d23b + TX_FAR _UnnamedText_5d23b + db $50 +; 0x5d23b + 5 bytes + +UnnamedText_5d240: ; 0x5d240 + TX_FAR _UnnamedText_5d240 + db $50 +; 0x5d240 + 5 bytes + +UnnamedText_5d245: ; 0x5d245 + TX_FAR _UnnamedText_5d245 + db $50 +; 0x5d245 + 5 bytes + +UnnamedText_5d24a: ; 0x5d24a + TX_FAR _UnnamedText_5d24a + db $50 +; 0x5d24a + 5 bytes + +UnnamedText_5d24f: ; 0x5d24f + TX_FAR _UnnamedText_5d24f + db $50 +; 0x5d24f + 5 bytes + +UnnamedText_5d254: ; 0x5d254 + TX_FAR _UnnamedText_5d254 + db $50 +; 0x5d254 + 5 bytes + +SaffronGymObject: ; 0x5d259 (size=330) + db $2e ; border tile + + db $20 ; warps + db $11, $8, $2, $ff + db $11, $9, $2, $ff + db $3, $1, $16, SAFFRON_GYM + db $3, $5, $f, SAFFRON_GYM + db $5, $1, $12, SAFFRON_GYM + db $5, $5, $8, SAFFRON_GYM + db $9, $1, $1b, SAFFRON_GYM + db $9, $5, $10, SAFFRON_GYM + db $b, $1, $5, SAFFRON_GYM + db $b, $5, $d, SAFFRON_GYM + db $f, $1, $17, SAFFRON_GYM + db $f, $5, $1e, SAFFRON_GYM + db $11, $1, $11, SAFFRON_GYM + db $11, $5, $9, SAFFRON_GYM + db $3, $9, $1a, SAFFRON_GYM + db $3, $b, $3, SAFFRON_GYM + db $5, $9, $7, SAFFRON_GYM + db $5, $b, $c, SAFFRON_GYM + db $b, $b, $4, SAFFRON_GYM + db $f, $b, $1f, SAFFRON_GYM + db $3, $f, $18, SAFFRON_GYM + db $3, $13, $1c, SAFFRON_GYM + db $5, $f, $2, SAFFRON_GYM + db $5, $13, $a, SAFFRON_GYM + db $9, $f, $14, SAFFRON_GYM + db $9, $13, $1d, SAFFRON_GYM + db $b, $f, $e, SAFFRON_GYM + db $b, $13, $6, SAFFRON_GYM + db $f, $f, $15, SAFFRON_GYM + db $f, $13, $19, SAFFRON_GYM + db $11, $f, $b, SAFFRON_GYM + db $11, $13, $13, SAFFRON_GYM + + db $0 ; signs + + db $9 ; people + db SPRITE_GIRL, $8 + 4, $9 + 4, $ff, $d0, $41, SABRINA + $C8, $1 ; trainer + db SPRITE_MEDIUM, $1 + 4, $a + 4, $ff, $d0, $42, CHANNELER + $C8, $16 ; trainer + db SPRITE_BUG_CATCHER, $1 + 4, $11 + 4, $ff, $d0, $43, PSYCHIC_TR + $C8, $1 ; trainer + db SPRITE_MEDIUM, $7 + 4, $3 + 4, $ff, $d0, $44, CHANNELER + $C8, $17 ; trainer + db SPRITE_BUG_CATCHER, $7 + 4, $11 + 4, $ff, $d0, $45, PSYCHIC_TR + $C8, $2 ; trainer + db SPRITE_MEDIUM, $d + 4, $3 + 4, $ff, $d0, $46, CHANNELER + $C8, $18 ; trainer + db SPRITE_BUG_CATCHER, $d + 4, $11 + 4, $ff, $d0, $47, PSYCHIC_TR + $C8, $3 ; trainer + db SPRITE_BUG_CATCHER, $1 + 4, $3 + 4, $ff, $d0, $48, PSYCHIC_TR + $C8, $4 ; trainer + db SPRITE_GYM_HELPER, $f + 4, $a + 4, $ff, $d0, $9 ; person + + ; warp-to + EVENT_DISP $a, $11, $8 + EVENT_DISP $a, $11, $9 + EVENT_DISP $a, $3, $1 ; SAFFRON_GYM + EVENT_DISP $a, $3, $5 ; SAFFRON_GYM + EVENT_DISP $a, $5, $1 ; SAFFRON_GYM + EVENT_DISP $a, $5, $5 ; SAFFRON_GYM + EVENT_DISP $a, $9, $1 ; SAFFRON_GYM + EVENT_DISP $a, $9, $5 ; SAFFRON_GYM + EVENT_DISP $a, $b, $1 ; SAFFRON_GYM + EVENT_DISP $a, $b, $5 ; SAFFRON_GYM + EVENT_DISP $a, $f, $1 ; SAFFRON_GYM + EVENT_DISP $a, $f, $5 ; SAFFRON_GYM + EVENT_DISP $a, $11, $1 ; SAFFRON_GYM + EVENT_DISP $a, $11, $5 ; SAFFRON_GYM + EVENT_DISP $a, $3, $9 ; SAFFRON_GYM + EVENT_DISP $a, $3, $b ; SAFFRON_GYM + EVENT_DISP $a, $5, $9 ; SAFFRON_GYM + EVENT_DISP $a, $5, $b ; SAFFRON_GYM + EVENT_DISP $a, $b, $b ; SAFFRON_GYM + EVENT_DISP $a, $f, $b ; SAFFRON_GYM + EVENT_DISP $a, $3, $f ; SAFFRON_GYM + EVENT_DISP $a, $3, $13 ; SAFFRON_GYM + EVENT_DISP $a, $5, $f ; SAFFRON_GYM + EVENT_DISP $a, $5, $13 ; SAFFRON_GYM + EVENT_DISP $a, $9, $f ; SAFFRON_GYM + EVENT_DISP $a, $9, $13 ; SAFFRON_GYM + EVENT_DISP $a, $b, $f ; SAFFRON_GYM + EVENT_DISP $a, $b, $13 ; SAFFRON_GYM + EVENT_DISP $a, $f, $f ; SAFFRON_GYM + EVENT_DISP $a, $f, $13 ; SAFFRON_GYM + EVENT_DISP $a, $11, $f ; SAFFRON_GYM + EVENT_DISP $a, $11, $13 ; SAFFRON_GYM + +SaffronGymBlocks: ; 0x5d3a3 90 + INCBIN "maps/saffrongym.blk" + +SaffronMart_h: ; 0x5d3fd to 0x5d409 (12 bytes) (id=180) + db $02 ; tileset + db SAFFRON_MART_HEIGHT, SAFFRON_MART_WIDTH ; dimensions (y, x) + dw SaffronMartBlocks, SaffronMartTexts, SaffronMartScript ; blocks, texts, scripts + db $00 ; connections + + dw SaffronMartObject ; objects + +SaffronMartScript: ; 0x5d409 + jp $3c3c +; 0x5d40c + +SaffronMartTexts: ; 0x5d40c + dw SaffronMartText1, SaffronMartText2, SaffronMartText3 + +SaffronMartText2: ; 0x5d412 + TX_FAR _SaffronMartText2 + db $50 + +SaffronMartText3: ; 0x5d417 + TX_FAR _SaffronMartText3 + db $50 + +SaffronMartObject: ; 0x5d41c (size=38) + db $0 ; border tile + + db $2 ; warps + db $7, $3, $4, $ff + db $7, $4, $4, $ff + + db $0 ; signs + + db $3 ; people + db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person + db SPRITE_BLACK_HAIR_BOY_2, $2 + 4, $4 + 4, $ff, $ff, $2 ; person + db SPRITE_LASS, $5 + 4, $6 + 4, $fe, $0, $3 ; person + + ; warp-to + EVENT_DISP $4, $7, $3 + EVENT_DISP $4, $7, $4 + +SilphCo1_h: ; 0x5d442 to 0x5d44e (12 bytes) (id=181) + db $16 ; tileset + db SILPH_CO_1F_HEIGHT, SILPH_CO_1F_WIDTH ; dimensions (y, x) + dw SilphCo1Blocks, SilphCo1Texts, SilphCo1Script ; blocks, texts, scripts + db $00 ; connections + + dw SilphCo1Object ; objects + +SilphCo1Script: ; 0x5d44e + call $3c3c + ld a, [$d838] + bit 7, a + ret z + ld hl, $d7b9 + bit 7, [hl] + set 7, [hl] + ret nz + ld a, $4c + ld [$cc4d], a + ld a, $15 + jp $3e6d +; 0x5d469 + +SilphCo1Texts: ; 0x5d469 + dw SilphCo1Text1 + +SilphCo1Text1: ; 0x5d46b + TX_FAR _SilphCo1Text1 + db $50 + +SilphCo1Object: ; 0x5d470 (size=50) + db $2e ; border tile + + db $5 ; warps + db $11, $a, $5, $ff + db $11, $b, $5, $ff + db $0, $1a, $0, SILPH_CO_2F + db $0, $14, $0, SILPH_CO_ELEVATOR + db $a, $10, $6, SILPH_CO_3F + + db $0 ; signs + + db $1 ; people + db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $4 + 4, $ff, $d0, $1 ; person + + ; warp-to + EVENT_DISP $f, $11, $a + EVENT_DISP $f, $11, $b + EVENT_DISP $f, $0, $1a ; SILPH_CO_2F + EVENT_DISP $f, $0, $14 ; SILPH_CO_ELEVATOR + EVENT_DISP $f, $a, $10 ; SILPH_CO_3F + +SilphCo1Blocks: ; 0x5d4a2 135 + INCBIN "maps/silphco1.blk" + +SaffronPokecenter_h: ; 0x5d529 to 0x5d535 (12 bytes) (id=182) + db $06 ; tileset + db SAFFRON_POKECENTER_HEIGHT, SAFFRON_POKECENTER_WIDTH ; dimensions (y, x) + dw SaffronPokecenterBlocks, SaffronPokecenterTexts, SaffronPokecenterScript ; blocks, texts, scripts + db $00 ; connections + + dw SaffronPokecenterObject ; objects + +SaffronPokecenterScript: ; 0x5d535 + call $22fa + jp $3c3c +; 0x5d53b + +SaffronPokecenterTexts: + dw SaffronPokecenterText1, SaffronPokecenterText2, SaffronPokecenterText3, SaffronPokecenterText4 + +SaffronPokecenterText1: ; 0x5d542 + db $ff + +SaffronPokecenterText2: ; 0x5d543 + TX_FAR _SaffronPokecenterText1 + db $50 + +SaffronPokecenterText3: ; 0x5d549 + TX_FAR _SaffronPokecenterText3 + db $50 + +SaffronPokecenterText4: + db $f6 + +SaffronPokecenterObject: ; 0x5d54f (size=44) + db $0 ; border tile + + db $2 ; warps + db $7, $3, $6, $ff + db $7, $4, $6, $ff + + db $0 ; signs + + db $4 ; people + db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person + db SPRITE_FOULARD_WOMAN, $5 + 4, $5 + 4, $ff, $ff, $2 ; person + db SPRITE_GENTLEMAN, $3 + 4, $8 + 4, $ff, $d0, $3 ; person + db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person + + ; warp-to + EVENT_DISP $7, $7, $3 + EVENT_DISP $7, $7, $4 + +ViridianForestexit_h: ; 0x5d57b to 0x5d587 (12 bytes) (id=47) + db $09 ; tileset + db VIRIDIAN_FOREST_EXIT_HEIGHT, VIRIDIAN_FOREST_EXIT_WIDTH ; dimensions (y, x) + dw ViridianForestexitBlocks, ViridianForestexitTexts, ViridianForestexitScript ; blocks, texts, scripts + db $00 ; connections + + dw ViridianForestexitObject ; objects + +ViridianForestexitScript: ; 0x5d587 + jp $3c3c +; 0x5d58a + +ViridianForestexitTexts: ; 0x5d58a + dw ViridianForestexitText1, ViridianForestexitText2 + +ViridianForestexitText1: ; 0x5d58e + TX_FAR _ViridianForestexitText1 + db $50 + +ViridianForestexitText2: ; 0x5d593 + TX_FAR _ViridianForestexitText2 + db $50 + +ViridianForestexitObject: ; 0x5d598 (size=48) + db $a ; border tile + + db $4 ; warps + db $0, $4, $1, $ff + db $0, $5, $1, $ff + db $7, $4, $0, VIRIDIAN_FOREST + db $7, $5, $0, VIRIDIAN_FOREST + + db $0 ; signs + + db $2 ; people + db SPRITE_BLACK_HAIR_BOY_2, $2 + 4, $3 + 4, $ff, $ff, $1 ; person + db SPRITE_OLD_PERSON, $5 + 4, $2 + 4, $ff, $ff, $2 ; person + + ; warp-to + EVENT_DISP $5, $0, $4 + EVENT_DISP $5, $0, $5 + EVENT_DISP $5, $7, $4 ; VIRIDIAN_FOREST + EVENT_DISP $5, $7, $5 ; VIRIDIAN_FOREST + +Route2Gate_h: ; 0x5d5c8 to 0x5d5d4 (12 bytes) (id=49) + db $0c ; tileset + db ROUTE_2_GATE_HEIGHT, ROUTE_2_GATE_WIDTH ; dimensions (y, x) + dw Route2GateBlocks, Route2GateTexts, Route2GateScript ; blocks, texts, scripts + db $00 ; connections + + dw Route2GateObject ; objects + +Route2GateScript: ; 0x5d5d4 + jp $3c3c +; 0x5d5d7 + +Route2GateTexts: ; 0x5d5d7 + dw Route2GateText1, Route2GateText2 + +Route2GateText1: ; 0x5d5db + db $08 ; asm + ld a, [$d7c2] + bit 0, a + jr nz, .asm_6592c ; 0x5d5e1 + ld a, $a + ldh [$db], a + ld a, $c8 + ldh [$dc], a + ld [$d11e], a + call GetItemName ; $2fcf + ld hl, $cd6d + ld de, $cc5b + ld bc, $000d + call CopyData + ld a, $62 + call Predef + ldh a, [$db] + cp $1 + jr nz, .asm_ad646 ; 0x5d606 + ld hl, $d7c2 + set 0, [hl] +.asm_6592c ; 0x5d60d + ld hl, UnnamedText_5d616 + call PrintText +.asm_ad646 ; 0x5d613 + jp TextScriptEnd + +UnnamedText_5d616: ; 0x5d616 + TX_FAR _UnnamedText_5d616 + db $50 +; 0x5d616 + 5 bytes + +Route2GateText2: ; 0x5d61b + TX_FAR _Route2GateText2 + db $50 + +Route2GateObject: ; 0x5d620 (size=48) + db $a ; border tile + + db $4 ; warps + db $0, $4, $3, $ff + db $0, $5, $3, $ff + db $7, $4, $4, $ff + db $7, $5, $4, $ff + + db $0 ; signs + + db $2 ; people + db SPRITE_OAK_AIDE, $4 + 4, $1 + 4, $ff, $d2, $1 ; person + db SPRITE_BUG_CATCHER, $4 + 4, $5 + 4, $fe, $2, $2 ; person + + ; warp-to + EVENT_DISP $5, $0, $4 + EVENT_DISP $5, $0, $5 + EVENT_DISP $5, $7, $4 + EVENT_DISP $5, $7, $5 + +ViridianForestEntrance_h: ; 0x5d650 to 0x5d65c (12 bytes) (id=50) + db $09 ; tileset + db VIRIDIAN_FOREST_ENTRANCE_HEIGHT, VIRIDIAN_FOREST_ENTRANCE_WIDTH ; dimensions (y, x) + dw ViridianForestEntranceBlocks, ViridianForestEntranceTexts, ViridianForestEntranceScript ; blocks, texts, scripts + db $00 ; connections + + dw ViridianForestEntranceObject ; objects + +ViridianForestEntranceScript: ; 0x5d65c + jp $3c3c +; 0x5d65f + +ViridianForestEntranceTexts: ; 0x5d65f + dw ViridianForestEntranceText1, ViridianForestEntranceText2 + +ViridianForestEntranceText1: ; 0x5d663 + TX_FAR _ViridianForestEntranceText1 + db $50 + +ViridianForestEntranceText2: ; 0x5d668 + TX_FAR _ViridianForestEntranceText2 + db $50 + +ViridianForestEntranceObject: ; 0x5d66d (size=48) + db $a ; border tile + + db $4 ; warps + db $0, $4, $3, VIRIDIAN_FOREST + db $0, $5, $4, VIRIDIAN_FOREST + db $7, $4, $5, $ff + db $7, $5, $5, $ff + + db $0 ; signs + + db $2 ; people + db SPRITE_GIRL, $4 + 4, $8 + 4, $ff, $d2, $1 ; person + db SPRITE_LITTLE_GIRL, $4 + 4, $2 + 4, $fe, $1, $2 ; person + + ; warp-to + EVENT_DISP $5, $0, $4 ; VIRIDIAN_FOREST + EVENT_DISP $5, $0, $5 ; VIRIDIAN_FOREST + EVENT_DISP $5, $7, $4 + EVENT_DISP $5, $7, $5 + +UndergroundTunnelEntranceRoute5_h: ; 0x5d69d to 0x5d6a9 (12 bytes) (id=71) + db $0c ; tileset + db PATH_ENTRANCE_ROUTE_5_HEIGHT, PATH_ENTRANCE_ROUTE_5_WIDTH ; dimensions (y, x) + dw UndergroundTunnelEntranceRoute5Blocks, UndergroundTunnelEntranceRoute5Texts, UndergroundTunnelEntranceRoute5Script ; blocks, texts, scripts + db $00 ; connections + + dw UndergroundTunnelEntranceRoute5Object ; objects + +UndergroundTunnelEntranceRoute5Script: ; 0x5d6a9 + ld a, $10 + ld [$d365], a + ret +; 0x5d6af + +UndergroundTunnelEntranceRoute5_5d6af: ; 0x5d6af + db $50 + +UndergroundTunnelEntranceRoute5Texts: ; 0x5d6b0 + dw UndergroundTunnelEntranceRoute5Text1 + +UndergroundTunnelEntranceRoute5Text1: ; 0x5d6b2 + db $08 ; asm + ld a, $9 + ld [W_WHICHTRADE], a + ld a, $54 + call Predef + ld hl, UndergroundTunnelEntranceRoute5_5d6af + ret + +UndergroundTunnelEntranceRoute5Object: ; 0x5d6c1 (size=34) + db $a ; border tile + + db $3 ; warps + db $7, $3, $3, $ff + db $7, $4, $3, $ff + db $4, $4, $0, UNDERGROUND_PATH_NS + + db $0 ; signs + + db $1 ; people + db SPRITE_LITTLE_GIRL, $3 + 4, $2 + 4, $ff, $ff, $1 ; person + + ; warp-to + EVENT_DISP $4, $7, $3 + EVENT_DISP $4, $7, $4 + EVENT_DISP $4, $4, $4 ; UNDERGROUND_PATH_NS + +UndergroundTunnelEntranceRoute6_h: ; 0x5d6e3 to 0x5d6ef (12 bytes) (id=74) + db $0c ; tileset + db PATH_ENTRANCE_ROUTE_6_HEIGHT, PATH_ENTRANCE_ROUTE_6_WIDTH ; dimensions (y, x) + dw UndergroundTunnelEntranceRoute6Blocks, UndergroundTunnelEntranceRoute6Texts, UndergroundTunnelEntranceRoute6Script ; blocks, texts, scripts + db $00 ; connections + + dw UndergroundTunnelEntranceRoute6Object ; objects + +UndergroundTunnelEntranceRoute6Script: ; 0x5d6ef + ld a, $11 + ld [$d365], a + jp $3c3c +; 0x5d6f7 + +UndergroundTunnelEntranceRoute6Texts: ; 0x5d6f7 + dw UndergroundTunnelEntranceRoute6Text1 + +;XXX wtf? syntax error on TX_FAR? +UndergroundTunnelEntranceRoute6Text1: ; 0x5d6f9 + db $17, $cb, $40, $23 + ;TX_FAR _UndergroundTunnelEntranceRoute6Text1 ; $cb, $40, $23 + db $50 + +UndergroundTunnelEntranceRoute6Object: ; 0x5d6fe (size=34) + db $a ; border tile + + db $3 ; warps + db $7, $3, $3, $ff + db $7, $4, $3, $ff + db $4, $4, $1, UNDERGROUND_PATH_NS + + db $0 ; signs + + db $1 ; people + db SPRITE_GIRL, $3 + 4, $2 + 4, $ff, $ff, $1 ; person + + ; warp-to + EVENT_DISP $4, $7, $3 + EVENT_DISP $4, $7, $4 + EVENT_DISP $4, $4, $4 ; UNDERGROUND_PATH_NS + +UndergroundPathEntranceRoute7_h: ; 0x5d720 to 0x5d72c (12 bytes) (id=77) + db $0c ; tileset + db PATH_ENTRANCE_ROUTE_7_HEIGHT, PATH_ENTRANCE_ROUTE_7_WIDTH ; dimensions (y, x) + dw UndergroundTunnelEntranceRoute7Blocks, UndergroundPathEntranceRoute7Texts, UndergroundPathEntranceRoute7Script ; blocks, texts, scripts + db $00 ; connections + + dw UndergroundPathEntranceRoute7Object ; objects + +UndergroundPathEntranceRoute7Script: ; 0x5d72c + ld a, $12 + ld [$d365], a + jp $3c3c +; 0x5d734 + +UndergroundPathEntranceRoute7Texts: ; 0x5d734 + dw UndergroundPathEntranceRoute7Text1 + +UndergroundPathEntranceRoute7Text1: ; 0x5d736 + db $17, $ff, $40, $23 + ;TX_FAR _UndergroundPathEntranceRoute7Text1 + db $50 + +UndergroundPathEntranceRoute7Object: ; 0x5d73b (size=34) + db $a ; border tile + + db $3 ; warps + db $7, $3, $4, $ff + db $7, $4, $4, $ff + db $4, $4, $0, UNDERGROUND_PATH_WE + + db $0 ; signs + + db $1 ; people + db SPRITE_FAT_BALD_GUY, $4 + 4, $2 + 4, $ff, $ff, $1 ; person + + ; warp-to + EVENT_DISP $4, $7, $3 + EVENT_DISP $4, $7, $4 + EVENT_DISP $4, $4, $4 ; UNDERGROUND_PATH_WE + +INCBIN "baserom.gbc",$5d75d,$5d773 - $5d75d + +UnnamedText_5d773: ; 0x5d773 + TX_FAR _UnnamedText_5d773 + db $50 +; 0x5d773 + 5 bytes + +UnnamedText_5d778: ; 0x5d778 + TX_FAR _UnnamedText_5d778 + db $50 +; 0x5d778 + 5 bytes + +UnnamedText_5d77d: ; 0x5d77d + TX_FAR _UnnamedText_5d77d + db $50 +; 0x5d77d + 5 bytes + +UnnamedText_5d782: ; 0x5d782 + TX_FAR _UnnamedText_5d782 + db $50 +; 0x5d782 + 5 bytes + +INCBIN "baserom.gbc",$5d787,$28 + +SilphCo9_h: ; 0x5d7af to 0x5d7bb (12 bytes) (id=233) + db $16 ; tileset + db SILPH_CO_9F_HEIGHT, SILPH_CO_9F_WIDTH ; dimensions (y, x) + dw SilphCo9Blocks, SilphCo9Texts, SilphCo9Script ; blocks, texts, scripts + db $00 ; connections + + dw SilphCo9Object ; objects + +SilphCo9Script: ; 0x5d7bb + call SilphCo9Script_Unknown5d7d1 + call $3c3c + ld hl, SilphCo9TrainerHeaders + ld de, $5885 + ld a, [$d64a] + call $3160 + ld [$d64a], a + ret +; 0x5d7d1 + +SilphCo9Script_Unknown5d7d1: ; 0x5d7d1 +INCBIN "baserom.gbc",$5d7d1,$ba + +SilphCo9Texts: ; 0x5d88b + dw SilphCo9Text1, SilphCo9Text2, SilphCo9Text3, SilphCo9Text4 + +SilphCo9TrainerHeaders: +SilphCo9TrainerHeader1: ; 0x5d893 + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d833 ; flag's byte + dw UnnamedText_5d912 ; 0x5912 TextBeforeBattle + dw UnnamedText_5d91c ; 0x591c TextAfterBattle + dw UnnamedText_5d917 ; 0x5917 TextEndBattle + dw UnnamedText_5d917 ; 0x5917 TextEndBattle +; 0x5d89f + +TrainerHeader_5d89f: ; 0x5d89f + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d833 ; flag's byte + dw UnnamedText_5d921 ; 0x5921 TextBeforeBattle + dw UnnamedText_5d92b ; 0x592b TextAfterBattle + dw UnnamedText_5d926 ; 0x5926 TextEndBattle + dw UnnamedText_5d926 ; 0x5926 TextEndBattle +; 0x5d8ab + +TrainerHeader_5d8ab: ; 0x5d8ab + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d833 ; flag's byte + dw UnnamedText_5d930 ; 0x5930 TextBeforeBattle + dw UnnamedText_5d93a ; 0x593a TextAfterBattle + dw UnnamedText_5d935 ; 0x5935 TextEndBattle + dw UnnamedText_5d935 ; 0x5935 TextEndBattle +; 0x5d8b7 + +db $ff + +SilphCo9Text1: ; 0x5d8b8 + db $08 ; asm + ld a, [$d838] + bit 7, a + jr nz, .asm_a14c3 ; 0x5d8be + ld hl, UnnamedText_5d8e5 + call PrintText + ld a, $7 + call Predef + call $20d8 + call Delay3 + call $20f6 + ld hl, UnnamedText_5d8ea + call PrintText + jr .asm_b6e28 ; 0x5d8da +.asm_a14c3 ; 0x5d8dc + ld hl, UnnamedText_5d8ef + call PrintText +.asm_b6e28 ; 0x5d8e2 + jp TextScriptEnd + +UnnamedText_5d8e5: ; 0x5d8e5 + TX_FAR _UnnamedText_5d8e5 + db $50 +; 0x5d8e5 + 5 bytes + +UnnamedText_5d8ea: ; 0x5d8ea + TX_FAR _UnnamedText_5d8ea + db $50 +; 0x5d8ea + 5 bytes + +UnnamedText_5d8ef: ; 0x5d8ef + TX_FAR _UnnamedText_5d8ef + db $50 +; 0x5d8ef + 5 bytes + +SilphCo9Text2: ; 0x5d8f4 + db $08 ; asm + ld hl, SilphCo9TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +SilphCo9Text3: ; 0x5d8fe + db $08 ; asm + ld hl, TrainerHeader_5d89f + call LoadTrainerHeader + jp TextScriptEnd + +SilphCo9Text4: ; 0x5d908 + db $08 ; asm + ld hl, TrainerHeader_5d8ab + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_5d912: ; 0x5d912 + TX_FAR _UnnamedText_5d912 + db $50 +; 0x5d912 + 5 bytes + +UnnamedText_5d917: ; 0x5d917 + TX_FAR _UnnamedText_5d917 + db $50 +; 0x5d917 + 5 bytes + +UnnamedText_5d91c: ; 0x5d91c + TX_FAR _UnnamedText_5d91c + db $50 +; 0x5d91c + 5 bytes + +UnnamedText_5d921: ; 0x5d921 + TX_FAR _UnnamedText_5d921 + db $50 +; 0x5d921 + 5 bytes + +UnnamedText_5d926: ; 0x5d926 + TX_FAR _UnnamedText_5d926 + db $50 +; 0x5d926 + 5 bytes + +UnnamedText_5d92b: ; 0x5d92b + TX_FAR _UnnamedText_5d92b + db $50 +; 0x5d92b + 5 bytes + +UnnamedText_5d930: ; 0x5d930 + TX_FAR _UnnamedText_5d930 + db $50 +; 0x5d930 + 5 bytes + +UnnamedText_5d935: ; 0x5d935 + TX_FAR _UnnamedText_5d935 + db $50 +; 0x5d935 + 5 bytes + +UnnamedText_5d93a: ; 0x5d93a + TX_FAR _UnnamedText_5d93a + db $50 +; 0x5d93a + 5 bytes + +SilphCo9Object: ; 0x5d93f (size=74) + db $2e ; border tile + + db $5 ; warps + db $0, $e, $0, SILPH_CO_10F + db $0, $10, $0, SILPH_CO_8F + db $0, $12, $0, SILPH_CO_ELEVATOR + db $3, $9, $7, SILPH_CO_3F + db $f, $11, $4, SILPH_CO_5F + + db $0 ; signs + + db $4 ; people + db SPRITE_NURSE, $e + 4, $3 + 4, $ff, $d0, $1 ; person + db SPRITE_ROCKET, $4 + 4, $2 + 4, $ff, $d1, $42, ROCKET + $C8, $25 ; trainer + db SPRITE_OAK_AIDE, $d + 4, $15 + 4, $ff, $d0, $43, SCIENTIST + $C8, $a ; trainer + db SPRITE_ROCKET, $10 + 4, $d + 4, $ff, $d1, $44, ROCKET + $C8, $26 ; trainer + + ; warp-to + EVENT_DISP $d, $0, $e ; SILPH_CO_10F + EVENT_DISP $d, $0, $10 ; SILPH_CO_8F + EVENT_DISP $d, $0, $12 ; SILPH_CO_ELEVATOR + EVENT_DISP $d, $3, $9 ; SILPH_CO_3F + EVENT_DISP $d, $f, $11 ; SILPH_CO_5F + +SilphCo9Blocks: ; 0x5d989 117 + INCBIN "maps/silphco9.blk" + +VictoryRoad1_h: ; 0x5d9fe to 0x5da0a (12 bytes) (id=108) + db $11 ; tileset + db VICTORY_ROAD_1_HEIGHT, VICTORY_ROAD_1_WIDTH ; dimensions (y, x) + dw VictoryRoad1Blocks, VictoryRoad1Texts, VictoryRoad1Script ; blocks, texts, scripts + db $00 ; connections + + dw VictoryRoad1Object ; objects + +VictoryRoad1Script: ; 0x5da0a + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + call nz, .next + call $3c3c + ld hl, VictoryRoad1TrainerHeaders + ld de, $5a3a + ld a, [$d651] + call $3160 + ld [$d651], a + ret +; 0x5da27 +.next +INCBIN "baserom.gbc",$5da27,$38 + +VictoryRoad1Texts: ; 0x5da5f + dw VictoryRoad1Text1, VictoryRoad1Text2, VictoryRoad1Text3, VictoryRoad1Text4, VictoryRoad1Text5, VictoryRoad1Text6, VictoryRoad1Text7 + +VictoryRoad1TrainerHeaders +VictoryRoad1TrainerHeader1: ; 0x5da6d + db $1 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d869 ; flag's byte + dw UnnamedText_5da9a ; 0x5a9a TextBeforeBattle + dw UnnamedText_5daa4 ; 0x5aa4 TextAfterBattle + dw UnnamedText_5da9f ; 0x5a9f TextEndBattle + dw UnnamedText_5da9f ; 0x5a9f TextEndBattle +; 0x5da79 + +TrainerHeader_5da79: ; 0x5da79 + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d869 ; flag's byte + dw UnnamedText_5daa9 ; 0x5aa9 TextBeforeBattle + dw UnnamedText_5dab3 ; 0x5ab3 TextAfterBattle + dw UnnamedText_5daae ; 0x5aae TextEndBattle + dw UnnamedText_5daae ; 0x5aae TextEndBattle +; 0x5da85 + +db $ff + +VictoryRoad1Text1: ; 0x5da86 + db $08 ; asm + ld hl, VictoryRoad1TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +VictoryRoad1Text2: ; 0x5da90 + db $08 ; asm + ld hl, TrainerHeader_5da79 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_5da9a: ; 0x5da9a + TX_FAR _UnnamedText_5da9a + db $50 +; 0x5da9a + 5 bytes + +UnnamedText_5da9f: ; 0x5da9f + TX_FAR _UnnamedText_5da9f + db $50 +; 0x5da9f + 5 bytes + +UnnamedText_5daa4: ; 0x5daa4 + TX_FAR _UnnamedText_5daa4 + db $50 +; 0x5daa4 + 5 bytes + +UnnamedText_5daa9: ; 0x5daa9 + TX_FAR _UnnamedText_5daa9 + db $50 +; 0x5daa9 + 5 bytes + +UnnamedText_5daae: ; 0x5daae + TX_FAR _UnnamedText_5daae + db $50 +; 0x5daae + 5 bytes + +UnnamedText_5dab3: ; 0x5dab3 + TX_FAR _UnnamedText_5dab3 + db $50 +; 0x5dab3 + 5 bytes + +VictoryRoad1Object: ; 0x5dab8 (size=76) + db $7d ; border tile + + db $3 ; warps + db $11, $8, $2, $ff + db $11, $9, $2, $ff + db $1, $1, $0, VICTORY_ROAD_2 + + db $0 ; signs + + db $7 ; people + db SPRITE_LASS, $5 + 4, $7 + 4, $ff, $d3, $41, COOLTRAINER_F + $C8, $5 ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $2 + 4, $3 + 4, $ff, $d0, $42, COOLTRAINER_M + $C8, $5 ; trainer + db SPRITE_BALL, $0 + 4, $b + 4, $ff, $ff, $83, TM_43 ; item + db SPRITE_BALL, $2 + 4, $9 + 4, $ff, $ff, $84, RARE_CANDY ; item + db SPRITE_BOULDER, $f + 4, $5 + 4, $ff, $10, $5 ; person + db SPRITE_BOULDER, $2 + 4, $e + 4, $ff, $10, $6 ; person + db SPRITE_BOULDER, $a + 4, $2 + 4, $ff, $10, $7 ; person + + ; warp-to + EVENT_DISP $a, $11, $8 + EVENT_DISP $a, $11, $9 + EVENT_DISP $a, $1, $1 ; VICTORY_ROAD_2 + +VictoryRoad1Blocks: ; 0x5db04 90 + INCBIN "maps/victoryroad1.blk" + +INCBIN "baserom.gbc",$5db5e,$5db81 - $5db5e + +UnnamedText_5db81: ; 0x5db81 + TX_FAR _UnnamedText_5db81 + db $50 +; 0x5db81 + 5 bytes + +INCBIN "baserom.gbc",$5db86,$5dba8 - $5db86 + +UnnamedText_5dba8: ; 0x5dba8 + TX_FAR _UnnamedText_5dba8 + db $50 +; 0x5dba8 + 5 bytes + +INCBIN "baserom.gbc",$5dbad,$5dbbe - $5dbad + +UnnamedText_5dbbe: ; 0x5dbbe + TX_FAR _UnnamedText_5dbbe + db $50 +; 0x5dbbe + 5 bytes + +INCBIN "baserom.gbc",$5dbc3,$5dbd4 - $5dbc3 + +UnnamedText_5dbd4: ; 0x5dbd4 + TX_FAR _UnnamedText_5dbd4 + db $50 +; 0x5dbd4 + 5 bytes + +INCBIN "baserom.gbc",$5dbd9,$5dc9e - $5dbd9 + +UnnamedText_5dc9e: ; 0x5dc9e + TX_FAR _UnnamedText_5dc9e + db $50 +; 0x5dc9e + 5 bytes + +UnnamedText_5dca3: ; 0x5dca3 + TX_FAR _UnnamedText_5dca3 + db $50 +; 0x5dca3 + 5 bytes + +INCBIN "baserom.gbc",$5dca8,$5dcde - $5dca8 + +UnnamedText_5dcde: ; 0x5dcde + TX_FAR _UnnamedText_5dcde + db $50 +; 0x5dcde + 5 bytes + +UnnamedText_5dce3: ; 0x5dce3 + TX_FAR _UnnamedText_5dce3 + db $50 +; 0x5dce3 + 5 bytes + +UnnamedText_5dce8: ; 0x5dce8 + TX_FAR _UnnamedText_5dce8 + db $50 +; 0x5dce8 + 5 bytes + +INCBIN "baserom.gbc",$5dced,$5dda2 - $5dced + +UnnamedText_5dda2: ; 0x5dda2 + TX_FAR _UnnamedText_5dda2 + db $50 +; 0x5dda2 + 5 bytes + +UnnamedText_5dda7: ; 0x5dda7 + TX_FAR _UnnamedText_5dda7 + db $50 +; 0x5dda7 + 5 bytes + +INCBIN "baserom.gbc",$5ddac,$5ddd6 - $5ddac + +UnnamedText_5ddd6: ; 0x5ddd6 + TX_FAR _UnnamedText_5ddd6 + db $50 +; 0x5ddd6 + 5 bytes + +UnnamedText_5dddb: ; 0x5dddb + TX_FAR _UnnamedText_5dddb + db $50 +; 0x5dddb + 5 bytes + +UnnamedText_5dde0: ; 0x5dde0 + TX_FAR _UnnamedText_5dde0 + db $50 +; 0x5dde0 + 5 bytes + +UnnamedText_5dde5: ; 0x5dde5 + TX_FAR _UnnamedText_5dde5 + db $50 +; 0x5dde5 + 5 bytes + +UnnamedText_5ddea: ; 0x5ddea + TX_FAR _UnnamedText_5ddea + db $50 +; 0x5ddea + 5 bytes + +INCBIN "baserom.gbc",$5ddef,$5ddf7 - $5ddef + +UnnamedText_5ddf7: ; 0x5ddf7 + TX_FAR _UnnamedText_5ddf7 + db $50 +; 0x5ddf7 + 5 bytes + +INCBIN "baserom.gbc",$5ddfc,$5dedb - $5ddfc + +UnnamedText_5dedb: ; 0x5dedb + TX_FAR _UnnamedText_5dedb + db $50 +; 0x5dedb + 5 bytes + +INCBIN "baserom.gbc",$5dee0,$2120 + +SECTION "bank18",DATA,BANK[$18] + +ViridianForestBlocks: + INCBIN "maps/viridianforest.blk" + +UndergroundPathNSBlocks: ; 0x60198 96 + INCBIN "maps/undergroundpathns.blk" + +INCBIN "baserom.gbc",$601f8,$1c8 + +SSAnne10Blocks: +SSAnne9Blocks: ; 0x603c0 96 + INCBIN "maps/ssanne9.blk" + +PokemonTower1_h: ; 0x60420 to 0x6042c (12 bytes) (id=142) + db $0f ; tileset + db POKEMONTOWER_1_HEIGHT, POKEMONTOWER_1_WIDTH ; dimensions (y, x) + dw PokemonTower1Blocks, PokemonTower1Texts, PokemonTower1Script ; blocks, texts, scripts + db $00 ; connections + + dw PokemonTower1Object ; objects + +PokemonTower1Script: ; 0x6042c + jp $3c3c +; 0x6042f + +PokemonTower1Texts: ; 0x6042f + dw PokemonTower1Text1, PokemonTower1Text2, PokemonTower1Text3, PokemonTower1Text4, PokemonTower1Text5 + +PokemonTower1Text1: ; 0x60439 + TX_FAR _PokemonTower1Text1 + db $50 + +PokemonTower1Text2: ; 0x6043e + TX_FAR _PokemonTower1Text2 + db $50 + +PokemonTower1Text3: ; 0x60443 + TX_FAR _PokemonTower1Text3 + db $50 + +PokemonTower1Text4: ; 0x60448 + TX_FAR _PokemonTower1Text4 + db $50 + +PokemonTower1Text5: ; 0x6044d + TX_FAR _PokemonTower1Text5 + db $50 + +PokemonTower1Object: ; 0x60452 (size=58) + db $1 ; border tile + + db $3 ; warps + db $11, $a, $1, $ff + db $11, $b, $1, $ff + db $9, $12, $1, POKEMONTOWER_2 + + db $0 ; signs + + db $5 ; people + db SPRITE_CABLE_CLUB_WOMAN, $d + 4, $f + 4, $ff, $d1, $1 ; person + db SPRITE_MOM_GEISHA, $8 + 4, $6 + 4, $ff, $ff, $2 ; person + db SPRITE_BALDING_GUY, $c + 4, $8 + 4, $ff, $ff, $3 ; person + db SPRITE_GIRL, $7 + 4, $d + 4, $ff, $ff, $4 ; person + db SPRITE_MEDIUM, $7 + 4, $11 + 4, $ff, $d2, $5 ; person + + ; warp-to + EVENT_DISP $a, $11, $a + EVENT_DISP $a, $11, $b + EVENT_DISP $a, $9, $12 ; POKEMONTOWER_2 + +PokemonTower1Blocks: ; 0x6048c 90 + INCBIN "maps/pokemontower1.blk" + +PokemonTower2_h: ; 0x604e6 to 0x604f2 (12 bytes) (id=143) + db $0f ; tileset + db POKEMONTOWER_2_HEIGHT, POKEMONTOWER_2_WIDTH ; dimensions (y, x) + dw PokemonTower2Blocks, PokemonTower2Texts, PokemonTower2Script ; blocks, texts, scripts + db $00 ; connections + + dw PokemonTower2Object ; objects + +PokemonTower2Script: ; 0x604f2 + call $3c3c + ld hl, PokemonTower2Scripts + ld a, [$d62b] + jp $3d97 +; 0x604fe + +INCBIN "baserom.gbc",$604fe,$60509 - $604fe + +PokemonTower2Scripts: ; 0x60509 + dw PokemonTower2Script0, PokemonTower2Script1, PokemonTower2Script2 + +PokemonTower2Script0: ; 0x6050f + ld a, [$d764] + bit 7, a + ret nz + ld hl, $455e + call $34bf + ret nc + ld a, $ff + ld [$c0ee], a + call $23b1 + ld c, $2 + ld a, $de + call $23a1 + ld hl, $d764 + res 6, [hl] + ld a, [$cd3d] + cp $1 + ld a, $8 + ld b, $0 + jr nz, .asm_60544 ; 0x60539 $9 + ld hl, $d764 + set 6, [hl] + ld a, $2 + ld b, $c +.asm_60544 + ld [$d528], a + ld a, $1 + ld [$ff00+$8c], a + ld a, b + ld [$ff00+$8d], a + call $34a6 + ld a, $1 + ld [$ff00+$8c], a + call $2920 + xor a + ld [$ff00+$b4], a + ld [$ff00+$b3], a + ret +; 0x6055e + +INCBIN "baserom.gbc",$6055e,$60563 - $6055e + +PokemonTower2Script1: ; 0x60563 + ld a, [$d057] + cp $ff + jp z, $44fe + ld a, $f0 + ld [$cd6b], a + ld hl, $d764 + set 7, [hl] + ld a, $1 + ld [$ff00+$8c], a + call $2920 + ld de, $45b2 + ld a, [$d764] + bit 6, a + jr nz, .asm_60589 ; 0x60584 $3 + ld de, $45a9 +.asm_60589 + ld a, $1 + ld [$ff00+$8c], a + call $363a + ld a, $ff + ld [$c0ee], a + call $23b1 + ld b, $2 + ld hl, $5b47 + call Bankswitch + ld a, $2 + ld [$d62b], a + ld [$da39], a + ret +; 0x605a9 + +INCBIN "baserom.gbc",$605a9,$605bb - $605a9 + +PokemonTower2Script2: ; 0x605bb + ld a, [$d730] + bit 0, a + ret nz + ld a, $38 + ld [$cc4d], a + ld a, $11 + call Predef + xor a + ld [$cd6b], a + call $2307 + ld a, $0 + ld [$d62b], a + ld [$da39], a + ret +; 0x605db + +PokemonTower2Texts: ; 0x605db + dw PokemonTower2Text1, PokemonTower2Text2 + +PokemonTower2Text1: ; 0x605df + db $08 ; asm + ld a, [$d764] + bit 7, a + jr z, .asm_16f24 ; 0x605e5 + ld hl, UnnamedText_6063c + call PrintText + jr .asm_41852 ; 0x605ed +.asm_16f24 ; 0x605ef + ld hl, UnnamedText_6062d + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, UnnamedText_60632 + ld de, UnnamedText_60637 ; XXX $4637 + call $3354 + ld a, $f2 + ld [$d059], a + + ; select which team to use during the encounter + ld a, [W_RIVALSTARTER] + cp SQUIRTLE + jr nz, .NotSquirtle\@ ; 0x6060f + ld a, $4 + jr .done\@ +.NotSquirtle\@ ; 0x60615 + cp BULBASAUR + jr nz, .Charmander\@ ; 0x60617 + ld a, $5 + jr .done\@ +.Charmander\@ ; 0x6061d + ld a, $6 +.done\@ + ld [W_TRAINERNO], a + + ld a, $1 + ld [$d62b], a + ld [$da39], a +.asm_41852 ; 0x6062a + jp TextScriptEnd + +UnnamedText_6062d: ; 0x6062d + TX_FAR _UnnamedText_6062d + db $50 +; 0x6062d + 5 bytes + +UnnamedText_60632: ; 0x60632 + TX_FAR _UnnamedText_60632 + db $50 +; 0x60632 + 5 bytes + +UnnamedText_60637: ; 0x60637 + TX_FAR _UnnamedText_60637 + db $50 +; 0x60637 + 5 bytes + +UnnamedText_6063c: ; 0x6063c + TX_FAR _UnnamedText_6063c + db $50 +; 0x6063c + 5 bytes + +PokemonTower2Text2: ; 0x60641 + TX_FAR _PokemonTower2Text2 + db $50 + +PokemonTower2Object: ; 0x60646 (size=32) + db $1 ; border tile + + db $2 ; warps + db $9, $3, $0, POKEMONTOWER_3 + db $9, $12, $2, POKEMONTOWER_1 + + db $0 ; signs + + db $2 ; people + db SPRITE_BLUE, $5 + 4, $e + 4, $ff, $ff, $1 ; person + db SPRITE_MEDIUM, $7 + 4, $3 + 4, $ff, $d3, $2 ; person + + ; warp-to + EVENT_DISP $a, $9, $3 ; POKEMONTOWER_3 + EVENT_DISP $a, $9, $12 ; POKEMONTOWER_1 + +PokemonTower2Blocks: ; 0x60666 90 + INCBIN "maps/pokemontower2.blk" + +PokemonTower3_h: ; 0x606c0 to 0x606cc (12 bytes) (id=144) + db $0f ; tileset + db POKEMONTOWER_3_HEIGHT, POKEMONTOWER_3_WIDTH ; dimensions (y, x) + dw PokemonTower3Blocks, PokemonTower3Texts, PokemonTower3Script ; blocks, texts, scripts + db $00 ; connections + + dw PokemonTower3Object ; objects + +PokemonTower3Script: ; 0x606cc + call $3c3c + ld hl, PokemonTower3TrainerHeaders + ld de, Unknown_606df + ld a, [$d62c] + call $3160 + ld [$d62c], a + ret +; 0x606df + +Unknown_606df: ; 0x606df +INCBIN "baserom.gbc",$606df,$6 + +PokemonTower3Texts: ; 0x606e5 + dw PokemonTower3Text1, PokemonTower3Text2, PokemonTower3Text3, PokemonTower3Text4 + +PokemonTower3TrainerHeaders: +PokemonTower3TrainerHeader1: ; 0x606ed + db $1 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d765 ; flag's byte + dw UnnamedText_60730 ; 0x4730 TextBeforeBattle + dw UnnamedText_6073a ; 0x473a TextAfterBattle + dw UnnamedText_60735 ; 0x4735 TextEndBattle + dw UnnamedText_60735 ; 0x4735 TextEndBattle +; 0x606f9 + +TrainerHeader_606f9: ; 0x606f9 + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d765 ; flag's byte + dw UnnamedText_6073f ; 0x473f TextBeforeBattle + dw UnnamedText_60749 ; 0x4749 TextAfterBattle + dw UnnamedText_60744 ; 0x4744 TextEndBattle + dw UnnamedText_60744 ; 0x4744 TextEndBattle +; 0x60705 + +TrainerHeader_60705: ; 0x60705 + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d765 ; flag's byte + dw UnnamedText_6074e ; 0x474e TextBeforeBattle + dw UnnamedText_60758 ; 0x4758 TextAfterBattle + dw UnnamedText_60753 ; 0x4753 TextEndBattle + dw UnnamedText_60753 ; 0x4753 TextEndBattle +; 0x60711 +db $ff + +PokemonTower3Text1: ; 0x60712 + db $08 ; asm + ld hl, PokemonTower3TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +PokemonTower3Text2: ; 0x6071c + db $08 ; asm + ld hl, TrainerHeader_606f9 + call LoadTrainerHeader + jp TextScriptEnd + +PokemonTower3Text3: ; 0x60726 + db $08 ; asm + ld hl, TrainerHeader_60705 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_60730: ; 0x60730 + TX_FAR _UnnamedText_60730 + db $50 +; 0x60730 + 5 bytes + +UnnamedText_60735: ; 0x60735 + TX_FAR _UnnamedText_60735 + db $50 +; 0x60735 + 5 bytes + +UnnamedText_6073a: ; 0x6073a + TX_FAR _UnnamedText_6073a + db $50 +; 0x6073a + 5 bytes + +UnnamedText_6073f: ; 0x6073f + TX_FAR _UnnamedText_6073f + db $50 +; 0x6073f + 5 bytes + +UnnamedText_60744: ; 0x60744 + TX_FAR _UnnamedText_60744 + db $50 +; 0x60744 + 5 bytes + +UnnamedText_60749: ; 0x60749 + TX_FAR _UnnamedText_60749 + db $50 +; 0x60749 + 5 bytes + +UnnamedText_6074e: ; 0x6074e + TX_FAR _UnnamedText_6074e + db $50 +; 0x6074e + 5 bytes + +UnnamedText_60753: ; 0x60753 + TX_FAR _UnnamedText_60753 + db $50 +; 0x60753 + 5 bytes + +UnnamedText_60758: ; 0x60758 + TX_FAR _UnnamedText_60758 + db $50 +; 0x60758 + 5 bytes + +PokemonTower3Object: ; 0x6075d (size=51) + db $1 ; border tile + + db $2 ; warps + db $9, $3, $0, POKEMONTOWER_2 + db $9, $12, $1, POKEMONTOWER_4 + + db $0 ; signs + + db $4 ; people + db SPRITE_MEDIUM, $3 + 4, $c + 4, $ff, $d2, $41, CHANNELER + $C8, $5 ; trainer + db SPRITE_MEDIUM, $8 + 4, $9 + 4, $ff, $d0, $42, CHANNELER + $C8, $6 ; trainer + db SPRITE_MEDIUM, $d + 4, $a + 4, $ff, $d0, $43, CHANNELER + $C8, $8 ; trainer + db SPRITE_BALL, $1 + 4, $c + 4, $ff, $ff, $84, ESCAPE_ROPE ; item + + ; warp-to + EVENT_DISP $a, $9, $3 ; POKEMONTOWER_2 + EVENT_DISP $a, $9, $12 ; POKEMONTOWER_4 + +PokemonTower3Blocks: ; 0x60790 90 + INCBIN "maps/pokemontower3.blk" + +PokemonTower4_h: ; 0x607ea to 0x607f6 (12 bytes) (id=145) + db $0f ; tileset + db POKEMONTOWER_4_HEIGHT, POKEMONTOWER_4_WIDTH ; dimensions (y, x) + dw PokemonTower4Blocks, PokemonTower4Texts, PokemonTower4Script ; blocks, texts, scripts + db $00 ; connections + + dw PokemonTower4Object ; objects + +PokemonTower4Script: ; 0x607f6 + call $3c3c + ld hl, PokemonTower4TrainerHeaders + ld de, PokemonTower4Script_Unknown60809 + ld a, [$d62d] + call $3160 + ld [$d62d], a + ret +; 0x60809 + +PokemonTower4Script_Unknown60809: ; 0x60809 +INCBIN "baserom.gbc",$60809,$6 + +PokemonTower4Texts: ; 0x6080f + dw PokemonTower4Text1, PokemonTower4Text2, PokemonTower4Text3, PokemonTower4Text4, PokemonTower4Text5, PokemonTower4Text6 + +PokemonTower4TrainerHeaders: +PokemonTower4TrainerHeader1: ; 0x6081b + db $1 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d766 ; flag's byte + dw UnnamedText_6085e ; 0x485e TextBeforeBattle + dw UnnamedText_60868 ; 0x4868 TextAfterBattle + dw UnnamedText_60863 ; 0x4863 TextEndBattle + dw UnnamedText_60863 ; 0x4863 TextEndBattle +; 0x60827 + +TrainerHeader_60827: ; 0x60827 + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d766 ; flag's byte + dw UnnamedText_6086d ; 0x486d TextBeforeBattle + dw UnnamedText_60877 ; 0x4877 TextAfterBattle + dw UnnamedText_60872 ; 0x4872 TextEndBattle + dw UnnamedText_60872 ; 0x4872 TextEndBattle +; 0x60833 + +TrainerHeader_60833: ; 0x60833 + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d766 ; flag's byte + dw UnnamedText_6087c ; 0x487c TextBeforeBattle + dw UnnamedText_60886 ; 0x4886 TextAfterBattle + dw UnnamedText_60881 ; 0x4881 TextEndBattle + dw UnnamedText_60881 ; 0x4881 TextEndBattle +; 0x6083f + +db $ff + +PokemonTower4Text1: ; 0x60840 + db $08 ; asm + ld hl, PokemonTower4TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +PokemonTower4Text2: ; 0x6084a + db $08 ; asm + ld hl, TrainerHeader_60827 + call LoadTrainerHeader + jp TextScriptEnd + +PokemonTower4Text3: ; 0x60854 + db $08 ; asm + ld hl, TrainerHeader_60833 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_6085e: ; 0x6085e + TX_FAR _UnnamedText_6085e + db $50 +; 0x6085e + 5 bytes + +UnnamedText_60863: ; 0x60863 + TX_FAR _UnnamedText_60863 + db $50 +; 0x60863 + 5 bytes + +UnnamedText_60868: ; 0x60868 + TX_FAR _UnnamedText_60868 + db $50 +; 0x60868 + 5 bytes + +UnnamedText_6086d: ; 0x6086d + TX_FAR _UnnamedText_6086d + db $50 +; 0x6086d + 5 bytes + +UnnamedText_60872: ; 0x60872 + TX_FAR _UnnamedText_60872 + db $50 +; 0x60872 + 5 bytes + +UnnamedText_60877: ; 0x60877 + TX_FAR _UnnamedText_60877 + db $50 +; 0x60877 + 5 bytes + +UnnamedText_6087c: ; 0x6087c + TX_FAR _UnnamedText_6087c + db $50 +; 0x6087c + 5 bytes + +UnnamedText_60881: ; 0x60881 + TX_FAR _UnnamedText_60881 + db $50 +; 0x60881 + 5 bytes + +UnnamedText_60886: ; 0x60886 + TX_FAR _UnnamedText_60886 + db $50 +; 0x60886 + 5 bytes + +PokemonTower4Object: ; 0x6088b (size=65) + db $1 ; border tile + + db $2 ; warps + db $9, $3, $0, POKEMONTOWER_5 + db $9, $12, $1, POKEMONTOWER_3 + + db $0 ; signs + + db $6 ; people + db SPRITE_MEDIUM, $a + 4, $5 + 4, $ff, $d3, $41, CHANNELER + $C8, $9 ; trainer + db SPRITE_MEDIUM, $7 + 4, $f + 4, $ff, $d0, $42, CHANNELER + $C8, $a ; trainer + db SPRITE_MEDIUM, $c + 4, $e + 4, $ff, $d2, $43, CHANNELER + $C8, $c ; trainer + db SPRITE_BALL, $a + 4, $c + 4, $ff, $ff, $84, ELIXER ; item + db SPRITE_BALL, $a + 4, $9 + 4, $ff, $ff, $85, AWAKENING ; item + db SPRITE_BALL, $10 + 4, $c + 4, $ff, $ff, $86, HP_UP ; item + + ; warp-to + EVENT_DISP $a, $9, $3 ; POKEMONTOWER_5 + EVENT_DISP $a, $9, $12 ; POKEMONTOWER_3 + +PokemonTower4Blocks: ; 0x608cc 90 + INCBIN "maps/pokemontower4.blk" + +PokemonTower5_h: ; 0x60926 to 0x60932 (12 bytes) (id=146) + db $0f ; tileset + db POKEMONTOWER_5_HEIGHT, POKEMONTOWER_5_WIDTH ; dimensions (y, x) + dw PokemonTower5Blocks, PokemonTower5Texts, PokemonTower5Script ; blocks, texts, scripts + db $00 ; connections + + dw PokemonTower5Object ; objects + +PokemonTower5Script: ; 0x60932 + call $3c3c + ld hl, PokemonTower5TrainerHeaders + ld de, PokemonTower5Script_Unknown60945 + ld a, [$d62e] + call $3160 + ld [$d62e], a + ret +; 0x60945 + +PokemonTower5Script_Unknown60945: ; 0x60945 +INCBIN "baserom.gbc",$60945,$56 + +PokemonTower5Texts: ; 0x6099b + dw PokemonTower5Text1, PokemonTower5Text2, PokemonTower5Text3, PokemonTower5Text4, PokemonTower5Text5, PokemonTower5Text6, PokemonTower5Text7 + +PokemonTower5TrainerHeaders: +PokemonTower5TrainerHeader1: ; 0x609a9 + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d767 ; flag's byte + dw UnnamedText_609e9 ; 0x49e9 TextBeforeBattle + dw UnnamedText_609f3 ; 0x49f3 TextAfterBattle + dw UnnamedText_609ee ; 0x49ee TextEndBattle + dw UnnamedText_609ee ; 0x49ee TextEndBattle +; 0x609b5 + +TrainerHeader_609b5: ; 0x609b5 + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d767 ; flag's byte + dw UnnamedText_60a02 ; 0x4a02 TextBeforeBattle + dw UnnamedText_60a0c ; 0x4a0c TextAfterBattle + dw UnnamedText_60a07 ; 0x4a07 TextEndBattle + dw UnnamedText_60a07 ; 0x4a07 TextEndBattle +; 0x609c1 + +TrainerHeader_609c1: ; 0x609c1 + db $4 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d767 ; flag's byte + dw UnnamedText_60a1b ; 0x4a1b TextBeforeBattle + dw UnnamedText_60a25 ; 0x4a25 TextAfterBattle + dw UnnamedText_60a20 ; 0x4a20 TextEndBattle + dw UnnamedText_60a20 ; 0x4a20 TextEndBattle +; 0x609cd + +TrainerHeader_609cd: ; 0x609cd + db $5 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d767 ; flag's byte + dw UnnamedText_60a34 ; 0x4a34 TextBeforeBattle + dw UnnamedText_60a3e ; 0x4a3e TextAfterBattle + dw UnnamedText_60a39 ; 0x4a39 TextEndBattle + dw UnnamedText_60a39 ; 0x4a39 TextEndBattle +; 0x609d9 + +db $ff + +PokemonTower5Text1: ; 0x609da + TX_FAR _PokemonTower5Text1 + db $50 + +PokemonTower5Text2: ; 0x609df + db $08 ; asm + ld hl, PokemonTower5TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_609e9: ; 0x609e9 + TX_FAR _UnnamedText_609e9 + db $50 +; 0x609e9 + 5 bytes + +UnnamedText_609ee: ; 0x609ee + TX_FAR _UnnamedText_609ee + db $50 +; 0x609ee + 5 bytes + +UnnamedText_609f3: ; 0x609f3 + TX_FAR _UnnamedText_609f3 + db $50 +; 0x609f3 + 5 bytes + +PokemonTower5Text3: ; 0x609f8 + db $08 ; asm + ld hl, TrainerHeader_609b5 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_60a02: ; 0x60a02 + TX_FAR _UnnamedText_60a02 + db $50 +; 0x60a02 + 5 bytes + +UnnamedText_60a07: ; 0x60a07 + TX_FAR _UnnamedText_60a07 + db $50 +; 0x60a07 + 5 bytes + +UnnamedText_60a0c: ; 0x60a0c + TX_FAR _UnnamedText_60a0c + db $50 +; 0x60a0c + 5 bytes + +PokemonTower5Text4: ; 0x60a11 + db $08 ; asm + ld hl, TrainerHeader_609c1 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_60a1b: ; 0x60a1b + TX_FAR _UnnamedText_60a1b + db $50 +; 0x60a1b + 5 bytes + +UnnamedText_60a20: ; 0x60a20 + TX_FAR _UnnamedText_60a20 + db $50 +; 0x60a20 + 5 bytes + +UnnamedText_60a25: ; 0x60a25 + TX_FAR _UnnamedText_60a25 + db $50 +; 0x60a25 + 5 bytes + +PokemonTower5Text5: ; 0x60a2a + db $08 ; asm + ld hl, $49cd + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_60a34: ; 0x60a34 + TX_FAR _UnnamedText_60a34 + db $50 +; 0x60a34 + 5 bytes + +UnnamedText_60a39: ; 0x60a39 + TX_FAR _UnnamedText_60a39 + db $50 +; 0x60a39 + 5 bytes + +UnnamedText_60a3e: ; 0x60a3e + TX_FAR _UnnamedText_60a3e + db $50 +; 0x60a3e + 5 bytes + +PokemonTower5Text7: ; 0x60a43 + TX_FAR _UnnamedText_60a43 + db $50 +; 0x60a43 + 5 bytes + +PokemonTower5Object: ; 0x60a48 (size=65) + db $1 ; border tile + + db $2 ; warps + db $9, $3, $0, POKEMONTOWER_4 + db $9, $12, $0, POKEMONTOWER_6 + + db $0 ; signs + + db $6 ; people + db SPRITE_MEDIUM, $8 + 4, $c + 4, $ff, $ff, $1 ; person + db SPRITE_MEDIUM, $7 + 4, $11 + 4, $ff, $d2, $42, CHANNELER + $C8, $e ; trainer + db SPRITE_MEDIUM, $3 + 4, $e + 4, $ff, $d2, $43, CHANNELER + $C8, $10 ; trainer + db SPRITE_MEDIUM, $a + 4, $6 + 4, $ff, $d3, $44, CHANNELER + $C8, $11 ; trainer + db SPRITE_MEDIUM, $10 + 4, $9 + 4, $ff, $d3, $45, CHANNELER + $C8, $12 ; trainer + db SPRITE_BALL, $e + 4, $6 + 4, $ff, $ff, $86, NUGGET ; item + + ; warp-to + EVENT_DISP $a, $9, $3 ; POKEMONTOWER_4 + EVENT_DISP $a, $9, $12 ; POKEMONTOWER_6 + +PokemonTower5Blocks: ; 0x60a89 90 + INCBIN "maps/pokemontower5.blk" + +PokemonTower6_h: ; 0x60ae3 to 0x60aef (12 bytes) (id=147) + db $0f ; tileset + db POKEMONTOWER_6_HEIGHT, POKEMONTOWER_6_WIDTH ; dimensions (y, x) + dw PokemonTower6Blocks, PokemonTower6Texts, PokemonTower6Script ; blocks, texts, scripts + db $00 ; connections + + dw PokemonTower6Object ; objects + +PokemonTower6Script: ; 0x60aef + call $3c3c + ld hl, PokemonTower6TrainerHeaders + ld de, $4b0d + ld a, [$d62f] + call $3160 + ld [$d62f], a + ret +; 0x60b02 + +INCBIN "baserom.gbc",$60b02,$af + +PokemonTower6Texts: ; 0x60bb1 + dw PokemonTower6Text1, PokemonTower6Text2, PokemonTower6Text3, PokemonTower6Text4, PokemonTower6Text5, PokemonTower6Text6, PokemonTower6Text7 + +PokemonTower6TrainerHeaders: +PokemonTower6TrainerHeader1: ; 0x60bbf + db $1 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d768 ; flag's byte + dw UnnamedText_60c29 ; 0x4c29 TextBeforeBattle + dw UnnamedText_60c33 ; 0x4c33 TextAfterBattle + dw UnnamedText_60c2e ; 0x4c2e TextEndBattle + dw UnnamedText_60c2e ; 0x4c2e TextEndBattle +; 0x60bcb + +TrainerHeader_60bcb: ; 0x60bcb + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d768 ; flag's byte + dw UnnamedText_60c38 ; 0x4c38 TextBeforeBattle + dw UnnamedText_60c42 ; 0x4c42 TextAfterBattle + dw UnnamedText_60c3d ; 0x4c3d TextEndBattle + dw UnnamedText_60c3d ; 0x4c3d TextEndBattle +; 0x60bd7 + +TrainerHeader_60bd7: ; 0x60bd7 + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d768 ; flag's byte + dw UnnamedText_60c47 ; 0x4c47 TextBeforeBattle + dw UnnamedText_60c51 ; 0x4c51 TextAfterBattle + dw UnnamedText_60c4c ; 0x4c4c TextEndBattle + dw UnnamedText_60c4c ; 0x4c4c TextEndBattle +; 0x60be3 + +db $ff + +PokemonTower6Text1: ; 0x60be4 + db $08 ; asm + ld hl, PokemonTower6TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +PokemonTower6Text2: ; 0x60bee + db $08 ; asm + ld hl, TrainerHeader_60bcb + call LoadTrainerHeader + jp TextScriptEnd + +PokemonTower6Text3: ; 0x60bf8 + db $08 ; asm + ld hl, TrainerHeader_60bd7 + call LoadTrainerHeader + jp TextScriptEnd + +PokemonTower6Text7: ; 0x60c02 + db $8 + ld hl, UnnamedText_60c1f + call PrintText + ld a, $91 + call $13d0 + call $3748 + ld c, $1e + call DelayFrames + ld hl, UnnamedText_60c24 + call PrintText + jp TextScriptEnd +; 0x60c1f + +UnnamedText_60c1f: ; 0x60c1f + TX_FAR _UnnamedText_60c1f + db $50 +; 0x60c1f + 5 bytes + +UnnamedText_60c24: ; 0x60c24 + TX_FAR _UnnamedText_60c24 + db $50 +; 0x60c24 + 5 bytes + +UnnamedText_60c29: ; 0x60c29 + TX_FAR _UnnamedText_60c29 + db $50 +; 0x60c29 + 5 bytes + +UnnamedText_60c2e: ; 0x60c2e + TX_FAR _UnnamedText_60c2e + db $50 +; 0x60c2e + 5 bytes + +UnnamedText_60c33: ; 0x60c33 + TX_FAR _UnnamedText_60c33 + db $50 +; 0x60c33 + 5 bytes + +UnnamedText_60c38: ; 0x60c38 + TX_FAR _UnnamedText_60c38 + db $50 +; 0x60c38 + 5 bytes + +UnnamedText_60c3d: ; 0x60c3d + TX_FAR _UnnamedText_60c3d + db $50 +; 0x60c3d + 5 bytes + +UnnamedText_60c42: ; 0x60c42 + TX_FAR _UnnamedText_60c42 + db $50 +; 0x60c42 + 5 bytes + +UnnamedText_60c47: ; 0x60c47 + TX_FAR _UnnamedText_60c47 + db $50 +; 0x60c47 + 5 bytes + +UnnamedText_60c4c: ; 0x60c4c + TX_FAR _UnnamedText_60c4c + db $50 +; 0x60c4c + 5 bytes + +UnnamedText_60c51: ; 0x60c51 + TX_FAR _UnnamedText_60c51 + db $50 +; 0x60c51 + 5 bytes + +PokemonTower6Text6: ; 0x60c56 + TX_FAR _UnnamedText_60c56 + db $50 +; 0x60c56 + 5 bytes + +PokemonTower6Object: ; 0x60c5b (size=58) + db $1 ; border tile + + db $2 ; warps + db $9, $12, $1, POKEMONTOWER_5 + db $10, $9, $0, POKEMONTOWER_7 + + db $0 ; signs + + db $5 ; people + db SPRITE_MEDIUM, $a + 4, $c + 4, $ff, $d3, $41, CHANNELER + $C8, $13 ; trainer + db SPRITE_MEDIUM, $5 + 4, $9 + 4, $ff, $d0, $42, CHANNELER + $C8, $14 ; trainer + db SPRITE_MEDIUM, $5 + 4, $10 + 4, $ff, $d2, $43, CHANNELER + $C8, $15 ; trainer + db SPRITE_BALL, $8 + 4, $6 + 4, $ff, $ff, $84, RARE_CANDY ; item + db SPRITE_BALL, $e + 4, $e + 4, $ff, $ff, $85, X_ACCURACY ; item + + ; warp-to + EVENT_DISP $a, $9, $12 ; POKEMONTOWER_5 + EVENT_DISP $a, $10, $9 ; POKEMONTOWER_7 + +PokemonTower6Blocks: ; 0x60c95 90 + INCBIN "maps/pokemontower6.blk" + +INCBIN "baserom.gbc",$60cef,$a + +PokemonTower7_h: ; 0x60cf9 to 0x60d05 (12 bytes) (id=148) + db $0f ; tileset + db POKEMONTOWER_7_HEIGHT, POKEMONTOWER_7_WIDTH ; dimensions (y, x) + dw PokemonTower7Blocks, PokemonTower7Texts, PokemonTower7Script ; blocks, texts, scripts + db $00 ; connections + + dw PokemonTower7Object ; objects + +PokemonTower7Script: ; 0x60d05 + call $3c3c + ld hl, PokemonTower7TrainerHeaders + ld de, $4d23 + ld a, [$d630] + call $3160 + ld [$d630], a + ret +; 0x60d18 + +INCBIN "baserom.gbc",$60d18,$127 + +PokemonTower7Texts: ; 0x60e3f + dw PokemonTower7Text1, PokemonTower7Text2, PokemonTower7Text3, PokemonTower7Text4 + +PokemonTower7TrainerHeaders: +PokemonTower7TrainerHeader1: ; 0x60e47 + db $1 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d769 ; flag's byte + dw UnnamedText_60ec9 ; 0x4ec9 TextBeforeBattle + dw UnnamedText_60ed3 ; 0x4ed3 TextAfterBattle + dw UnnamedText_60ece ; 0x4ece TextEndBattle + dw UnnamedText_60ece ; 0x4ece TextEndBattle +; 0x60e53 + +TrainerHeader_60e53: ; 0x60e53 + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d769 ; flag's byte + dw UnnamedText_60ed8 ; 0x4ed8 TextBeforeBattle + dw UnnamedText_60ee2 ; 0x4ee2 TextAfterBattle + dw UnnamedText_60edd ; 0x4edd TextEndBattle + dw UnnamedText_60edd ; 0x4edd TextEndBattle +; 0x60e5f + +TrainerHeader_60e5f: ; 0x60e5f + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d769 ; flag's byte + dw UnnamedText_60ee7 ; 0x4ee7 TextBeforeBattle + dw UnnamedText_60ef1 ; 0x4ef1 TextAfterBattle + dw UnnamedText_60eec ; 0x4eec TextEndBattle + dw UnnamedText_60eec ; 0x4eec TextEndBattle +; 0x60e6b + +db $ff + +PokemonTower7Text1: ; 0x60e6c + db $08 ; asm + ld hl, PokemonTower7TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +PokemonTower7Text2: ; 0x60e76 + db $08 ; asm + ld hl, TrainerHeader_60e53 + call LoadTrainerHeader + jp TextScriptEnd + +PokemonTower7Text3: ; 0x60e80 + db $08 ; asm + ld hl, TrainerHeader_60e5f + call LoadTrainerHeader + jp TextScriptEnd + +PokemonTower7Text4: ; 0x60e8a + db $08 ; asm + ld hl, UnnamedText_60ec4 + call PrintText + ld hl, $d7e0 + set 7, [hl] + ld hl, $d769 + set 7, [hl] + ld a, $44 + ld [$cc4d], a + ld a, $15 + call Predef + ld a, $17 + ld [$cc4d], a + ld a, $11 + call Predef + ld a, $18 + ld [$cc4d], a + ld a, $15 + call Predef + ld a, $4 + ld [$d630], a + ld [$da39], a + jp TextScriptEnd + +UnnamedText_60ec4: ; 0x60ec4 + TX_FAR _UnnamedText_60ec4 + db $50 +; 0x60ec4 + 5 bytes + +UnnamedText_60ec9: ; 0x60ec9 + TX_FAR _UnnamedText_60ec9 + db $50 +; 0x60ec9 + 5 bytes + +UnnamedText_60ece: ; 0x60ece + TX_FAR _UnnamedText_60ece + db $50 +; 0x60ece + 5 bytes + +UnnamedText_60ed3: ; 0x60ed3 + TX_FAR _UnnamedText_60ed3 + db $50 +; 0x60ed3 + 5 bytes + +UnnamedText_60ed8: ; 0x60ed8 + TX_FAR _UnnamedText_60ed8 + db $50 +; 0x60ed8 + 5 bytes + +UnnamedText_60edd: ; 0x60edd + TX_FAR _UnnamedText_60edd + db $50 +; 0x60edd + 5 bytes + +UnnamedText_60ee2: ; 0x60ee2 + TX_FAR _UnnamedText_60ee2 + db $50 +; 0x60ee2 + 5 bytes + +UnnamedText_60ee7: ; 0x60ee7 + TX_FAR _UnnamedText_60ee7 + db $50 +; 0x60ee7 + 5 bytes + +UnnamedText_60eec: ; 0x60eec + TX_FAR _UnnamedText_60eec + db $50 +; 0x60eec + 5 bytes + +UnnamedText_60ef1: ; 0x60ef1 + TX_FAR _UnnamedText_60ef1 + db $50 +; 0x60ef1 + 5 bytes + +PokemonTower7Object: ; 0x60ef6 (size=42) + db $1 ; border tile + + db $1 ; warps + db $10, $9, $1, POKEMONTOWER_6 + + db $0 ; signs + + db $4 ; people + db SPRITE_ROCKET, $b + 4, $9 + 4, $ff, $d3, $41, ROCKET + $C8, $13 ; trainer + db SPRITE_ROCKET, $9 + 4, $c + 4, $ff, $d2, $42, ROCKET + $C8, $14 ; trainer + db SPRITE_ROCKET, $7 + 4, $9 + 4, $ff, $d3, $43, ROCKET + $C8, $15 ; trainer + db SPRITE_MR_FUJI, $3 + 4, $a + 4, $ff, $d0, $4 ; person + + ; warp-to + EVENT_DISP $a, $10, $9 ; POKEMONTOWER_6 + +PokemonTower7Blocks: ; 0x60f20 90 + INCBIN "maps/pokemontower7.blk" + +CeladonMart1_h: ; 0x60f7a to 0x60f86 (12 bytes) (id=122) + db $12 ; tileset + db CELADON_MART_1_HEIGHT, CELADON_MART_1_WIDTH ; dimensions (y, x) + dw CeladonMart1Blocks, CeladonMart1Texts, CeladonMart1Script ; blocks, texts, scripts + db $00 ; connections + + dw CeladonMart1Object ; objects + +CeladonMart1Script: ; 0x60f86 + jp $3c3c +; 0x60f89 + +CeladonMart1Texts: ; 0x60f89 + dw CeladonMart1Text1, CeladonMart1Text2, CeladonMart1Text3 + +CeladonMart1Text1: ; 0x60f8f + TX_FAR _CeladonMart1Text1 + db $50 + +CeladonMart1Text2: ; 0x60f94 + TX_FAR _CeladonMart1Text2 + db $50 + +CeladonMart1Text3: ; 0x60f99 + TX_FAR _CeladonMart1Text3 + db $50 + +CeladonMart1Object: ; 0x60f9e (size=64) + db $f ; border tile + + db $6 ; warps + db $7, $2, $0, $ff + db $7, $3, $0, $ff + db $7, $10, $1, $ff + db $7, $11, $1, $ff + db $1, $c, $0, CELADON_MART_2 + db $1, $1, $0, CELADON_MART_ELEVATOR + + db $2 ; signs + db $4, $b, $2 ; CeladonMart1Text2 + db $1, $e, $3 ; CeladonMart1Text3 + + db $1 ; people + db SPRITE_CABLE_CLUB_WOMAN, $3 + 4, $8 + 4, $ff, $d0, $1 ; person + + ; warp-to + EVENT_DISP $a, $7, $2 + EVENT_DISP $a, $7, $3 + EVENT_DISP $a, $7, $10 + EVENT_DISP $a, $7, $11 + EVENT_DISP $a, $1, $c ; CELADON_MART_2 + EVENT_DISP $a, $1, $1 ; CELADON_MART_ELEVATOR + +CeladonMart1Blocks: ; 0x60fde 40 + INCBIN "maps/celadonmart1.blk" + +INCBIN "baserom.gbc",$61006,$610ae - $61006 + +UnnamedText_610ae: ; 0x610ae + TX_FAR _UnnamedText_610ae + db $50 +; 0x610ae + 5 bytes + +UnnamedText_610b3: ; 0x610b3 + TX_FAR _UnnamedText_610b3 + db $50 +; 0x610b3 + 5 bytes + +UnnamedText_610b8: ; 0x610b8 + TX_FAR _UnnamedText_610b8 + db $50 +; 0x610b8 + 5 bytes + +UnnamedText_610bd: ; 0x610bd + TX_FAR _UnnamedText_610bd + db $50 +; 0x610bd + 5 bytes + +INCBIN "baserom.gbc",$610c2,$3f + +ViridianForest_h: ; 0x61101 to 0x6110d (12 bytes) (id=51) + db $03 ; tileset + db VIRIDIAN_FOREST_HEIGHT, VIRIDIAN_FOREST_WIDTH ; dimensions (y, x) + dw ViridianForestBlocks, ViridianForestTexts, ViridianForestScript ; blocks, texts, scripts + db $00 ; connections + + dw ViridianForestObject ; objects + +ViridianForestScript: ; 0x6110d + call $3c3c + ld hl, ViridianForestTrainerHeaders + ld de, ViridianForestScript_Unknown61120 + ld a, [$d618] + call $3160 + ld [$d618], a + ret +; 0x61120 + +ViridianForestScript_Unknown61120: ; 0x61120 +INCBIN "baserom.gbc",$61120,$6 + +ViridianForestTexts: ; 0x61126 + dw ViridianForestText1, ViridianForestText2, ViridianForestText3, ViridianForestText4, ViridianForestText5, ViridianForestText6, ViridianForestText7, ViridianForestText8, ViridianForestText9, ViridianForestText10, ViridianForestText11, ViridianForestText12, ViridianForestText13, ViridianForestText14 + +ViridianForestTrainerHeaders: +ViridianForestTrainerHeader1: ; 0x61142 + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7f3 ; flag's byte + dw UnnamedText_6118a ; 0x518a TextBeforeBattle + dw UnnamedText_61194 ; 0x5194 TextAfterBattle + dw UnnamedText_6118f ; 0x518f TextEndBattle + dw UnnamedText_6118f ; 0x518f TextEndBattle +; 0x6114e + +TrainerHeader_6114e: ; 0x6114e + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7f3 ; flag's byte + dw UnnamedText_61199 ; 0x5199 TextBeforeBattle + dw UnnamedText_611a3 ; 0x51a3 TextAfterBattle + dw UnnamedText_6119e ; 0x519e TextEndBattle + dw UnnamedText_6119e ; 0x519e TextEndBattle +; 0x6115a + +TrainerHeader_6115a: ; 0x6115a + db $4 ; flag's bit + db ($1 << 4) ; trainer's view range + dw $d7f3 ; flag's byte + dw UnnamedText_611a8 ; 0x51a8 TextBeforeBattle + dw UnnamedText_611b2 ; 0x51b2 TextAfterBattle + dw UnnamedText_611ad ; 0x51ad TextEndBattle + dw UnnamedText_611ad ; 0x51ad TextEndBattle +; 0x61166 + +db $ff + +ViridianForestText1: ; 0x61167 + TX_FAR _ViridianForestText1 + db $50 + +ViridianForestText2: ; 0x6116c + db $08 ; asm + ld hl, ViridianForestTrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +ViridianForestText3: ; 0x61176 + db $08 ; asm + ld hl, TrainerHeader_6114e + call LoadTrainerHeader + jp TextScriptEnd + +ViridianForestText4: ; 0x61180 + db $08 ; asm + ld hl, TrainerHeader_6115a + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_6118a: ; 0x6118a + TX_FAR _UnnamedText_6118a + db $50 +; 0x6118a + 5 bytes + +UnnamedText_6118f: ; 0x6118f + TX_FAR _UnnamedText_6118f + db $50 +; 0x6118f + 5 bytes + +UnnamedText_61194: ; 0x61194 + TX_FAR _UnnamedText_61194 + db $50 +; 0x61194 + 5 bytes + +UnnamedText_61199: ; 0x61199 + TX_FAR _UnnamedText_61199 + db $50 +; 0x61199 + 5 bytes + +UnnamedText_6119e: ; 0x6119e + TX_FAR _UnnamedText_6119e + db $50 +; 0x6119e + 5 bytes + +UnnamedText_611a3: ; 0x611a3 + TX_FAR _UnnamedText_611a3 + db $50 +; 0x611a3 + 5 bytes + +UnnamedText_611a8: ; 0x611a8 + TX_FAR _UnnamedText_611a8 + db $50 +; 0x611a8 + 5 bytes + +UnnamedText_611ad: ; 0x611ad + TX_FAR _UnnamedText_611ad + db $50 +; 0x611ad + 5 bytes + +UnnamedText_611b2: ; 0x611b2 + TX_FAR _UnnamedText_611b2 + db $50 +; 0x611b2 + 5 bytes + +ViridianForestText8: ; 0x611b7 + TX_FAR _ViridianForestText8 + db $50 + +ViridianForestText9: ; 0x611bc + TX_FAR _ViridianForestText9 + db $50 + +ViridianForestText10: ; 0x611c1 + TX_FAR _ViridianForestText10 + db $50 + +ViridianForestText11: ; 0x611c6 + TX_FAR _ViridianForestText11 + db $50 + +ViridianForestText12: ; 0x611cb + TX_FAR _ViridianForestText12 + db $50 + +ViridianForestText13: ; 0x611d0 + TX_FAR _ViridianForestText13 + db $50 + +ViridianForestText14: ; 0x611d5 + TX_FAR _ViridianForestText14 + db $50 + +ViridianForestObject: ; 0x611da (size=127) + db $3 ; border tile + + db $6 ; warps + db $0, $1, $2, VIRIDIAN_FOREST_EXIT + db $0, $2, $3, VIRIDIAN_FOREST_EXIT + db $2f, $f, $1, VIRIDIAN_FOREST_ENTRANCE + db $2f, $10, $1, VIRIDIAN_FOREST_ENTRANCE + db $2f, $11, $1, VIRIDIAN_FOREST_ENTRANCE + db $2f, $12, $1, VIRIDIAN_FOREST_ENTRANCE + + db $6 ; signs + db $28, $18, $9 ; ViridianForestText9 + db $20, $10, $a ; ViridianForestText10 + db $11, $1a, $b ; ViridianForestText11 + db $18, $4, $c ; ViridianForestText12 + db $2d, $12, $d ; ViridianForestText13 + db $1, $2, $e ; ViridianForestText14 + + db $8 ; people + db SPRITE_BUG_CATCHER, $2b + 4, $10 + 4, $ff, $ff, $1 ; person + db SPRITE_BUG_CATCHER, $21 + 4, $1e + 4, $ff, $d2, $42, BUG_CATCHER + $C8, $1 ; trainer + db SPRITE_BUG_CATCHER, $13 + 4, $1e + 4, $ff, $d2, $43, BUG_CATCHER + $C8, $2 ; trainer + db SPRITE_BUG_CATCHER, $12 + 4, $2 + 4, $ff, $d2, $44, BUG_CATCHER + $C8, $3 ; trainer + db SPRITE_BALL, $b + 4, $19 + 4, $ff, $ff, $85, ANTIDOTE ; item + db SPRITE_BALL, $1d + 4, $c + 4, $ff, $ff, $86, POTION ; item + db SPRITE_BALL, $1f + 4, $1 + 4, $ff, $ff, $87, POKE_BALL ; item + db SPRITE_BUG_CATCHER, $28 + 4, $1b + 4, $ff, $ff, $8 ; person + + ; warp-to + EVENT_DISP $11, $0, $1 ; VIRIDIAN_FOREST_EXIT + EVENT_DISP $11, $0, $2 ; VIRIDIAN_FOREST_EXIT + EVENT_DISP $11, $2f, $f ; VIRIDIAN_FOREST_ENTRANCE + EVENT_DISP $11, $2f, $10 ; VIRIDIAN_FOREST_ENTRANCE + EVENT_DISP $11, $2f, $11 ; VIRIDIAN_FOREST_ENTRANCE + EVENT_DISP $11, $2f, $12 ; VIRIDIAN_FOREST_ENTRANCE + +SSAnne1_h: ; 0x61259 to 0x61265 (12 bytes) (id=95) + db $0d ; tileset + db SS_ANNE_1_HEIGHT, SS_ANNE_1_WIDTH ; dimensions (y, x) + dw SSAnne1Blocks, SSAnne1Texts, SSAnne1Script ; blocks, texts, scripts + db $00 ; connections + + dw SSAnne1Object ; objects + +SSAnne1Script: ; 0x61265 + call $3c3c + ret +; 0x61269 + +SSAnne1Texts: ; 0x61269 + dw SSAnne1Text1, SSAnne1Text2 + +SSAnne1Text1: ; 0x6126d + TX_FAR _SSAnne1Text1 + db $50 + +SSAnne1Text2: ; 0x61272 + TX_FAR _SSAnne1Text2 + db $50 + +SSAnne1Object: ; 0x61277 (size=104) + db $c ; border tile + + db $b ; warps + db $0, $1a, $1, VERMILION_DOCK + db $0, $1b, $1, VERMILION_DOCK + db $8, $1f, $0, SS_ANNE_8 + db $8, $17, $1, SS_ANNE_8 + db $8, $13, $2, SS_ANNE_8 + db $8, $f, $3, SS_ANNE_8 + db $8, $b, $4, SS_ANNE_8 + db $8, $7, $5, SS_ANNE_8 + db $6, $2, $6, SS_ANNE_2 + db $f, $25, $5, SS_ANNE_4 + db $10, $3, $0, SS_ANNE_6 + + db $0 ; signs + + db $2 ; people + db SPRITE_WAITER, $6 + 4, $c + 4, $fe, $2, $1 ; person + db SPRITE_SAILOR, $5 + 4, $1b + 4, $ff, $ff, $2 ; person + + ; warp-to + EVENT_DISP $14, $0, $1a ; VERMILION_DOCK + EVENT_DISP $14, $0, $1b ; VERMILION_DOCK + EVENT_DISP $14, $8, $1f ; SS_ANNE_8 + EVENT_DISP $14, $8, $17 ; SS_ANNE_8 + EVENT_DISP $14, $8, $13 ; SS_ANNE_8 + EVENT_DISP $14, $8, $f ; SS_ANNE_8 + EVENT_DISP $14, $8, $b ; SS_ANNE_8 + EVENT_DISP $14, $8, $7 ; SS_ANNE_8 + EVENT_DISP $14, $6, $2 ; SS_ANNE_2 + EVENT_DISP $14, $f, $25 ; SS_ANNE_4 + EVENT_DISP $14, $10, $3 ; SS_ANNE_6 + +SSAnne1Blocks: ; 0x612df 180 + INCBIN "maps/ssanne1.blk" + +SSAnne2_h: ; 0x61393 to 0x6139f (12 bytes) (id=96) + db $0d ; tileset + db SS_ANNE_2_HEIGHT, SS_ANNE_2_WIDTH ; dimensions (y, x) + dw SSAnne2Blocks, SSAnne2Texts, SSAnne2Script ; blocks, texts, scripts + db $00 ; connections + + dw SSAnne2Object ; objects + +SSAnne2Script: ; 0x6139f + call $3c3c + ld hl, SSAnne2Scripts + ld a, [$d665] + jp $3d97 +; 0x613ab + +INCBIN "baserom.gbc",$613ab,$613b3 - $613ab + +SSAnne2Scripts: ; 0x613b3 + dw SSAnne2Script0, SSAnne2Script1, SSAnne2Script2, SSAnne2Script3, SSAnne2Script4 + +SSAnne2Script4: ; 0x613bd + ret +; 0x613be + +SSAnne2Script0: ; 0x613be + ld hl, $5411 + call $34bf + ret nc + ld a, $ff + ld [$c0ee], a + call $23b1 + ld c, $2 + ld a, $de + call $23a1 + ld a, [$cd3d] + ld [$ff00+$db], a + ld a, $71 + ld [$cc4d], a + ld a, $15 + call Predef + call Delay3 + ld a, $2 + ld [$ff00+$8c], a + call $3541 + xor a + ld [$ff00+$b4], a + ld a, $f0 + ld [$cd6b], a + ld a, [$ff00+$db] + cp $2 + jr nz, .asm_61400 ; 0x613f9 $5 + ld de, $540c + jr .asm_61403 ; 0x613fe $3 +.asm_61400 + ld de, $540d +.asm_61403 + call $363a + ld a, $1 + ld [$d665], a + ret +; 0x6140c + +INCBIN "baserom.gbc",$6140c,$61430 - $6140c + +SSAnne2Script1: ; 0x61430 + ld a, [$d730] + bit 0, a + ret nz + call $5416 + xor a + ld [$cd6b], a + ld a, $2 + ld [$ff00+$8c], a + call $2920 + call Delay3 + ld a, $f2 + ld [$d059], a + + ; select which team to use during the encounter + ld a, [W_RIVALSTARTER] + cp SQUIRTLE + jr nz, .NotSquirtle\@ ; 0x61451 $4 + ld a, $1 + jr .done\@ +.NotSquirtle\@ + cp BULBASAUR + jr nz, .Charmander\@ ; 0x61459 $4 + ld a, $2 + jr .done\@ +.Charmander\@ + ld a, $3 +.done\@ + ld [W_TRAINERNO], a + + call $5416 + ld a, $2 + ld [$d665], a + ret +; 0x6146d + +SSAnne2Script2: ; 0x6146d + ld a, [$d057] + cp $ff + jp z, $53ab + call $5416 + ld a, $f0 + ld [$cd6b], a + ld a, $3 + ld [$ff00+$8c], a + call $2920 + ld a, $2 + ld [$ff00+$8c], a + call $3541 + ld a, [$d362] + cp $25 + jr nz, .asm_61497 ; 0x61490 $5 + ld de, $54b9 + jr .asm_6149a ; 0x61495 $3 +.asm_61497 + ld de, $54b7 +.asm_6149a + ld a, $2 + ld [$ff00+$8c], a + call $363a + ld a, $ff + ld [$c0ee], a + call $23b1 + ld b, $2 + ld hl, $5b47 + call Bankswitch + ld a, $3 + ld [$d665], a + ret +; 0x614b7 + +INCBIN "baserom.gbc",$614b7,$614be - $614b7 + +SSAnne2Script3: ; 0x614be + ld a, [$d730] + bit 0, a + ret nz + xor a + ld [$cd6b], a + ld a, $71 + ld [$cc4d], a + ld a, $11 + call Predef + call $2307 + ld a, $4 + ld [$d665], a + ret +; 0x614db + +SSAnne2Texts: ; 0x614db + dw SSAnne2Text1, SSAnne2Text2, SSAnne2Text3 + +SSAnne2Text1: ; 0x614e1 + TX_FAR _SSAnne2Text1 + db $50 + +SSAnne2Text2: ; 0x614e6 + db $8 + ld hl, UnnamedText_61500 + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, $5505 + ld de, $550a + call $3354 + jp TextScriptEnd +; 0x61500 + +UnnamedText_61500: ; 0x61500 + TX_FAR _UnnamedText_61500 + db $50 +; 0x61500 + 5 bytes + +UnnamedText_61505: ; 0x61505 + TX_FAR _UnnamedText_61505 + db $50 +; 0x61505 + 5 bytes + +UnnamedText_6150a: ; 0x6150a + TX_FAR _UnnamedText_6150a + db $50 +; 0x6150a + 5 bytes + +SSAnne2Text3: ; 0x6150f + TX_FAR _UnnamedText_6150f + db $50 +; 0x6150f + 5 bytes + +SSAnne2Object: ; 0x61514 (size=90) + db $c ; border tile + + db $9 ; warps + db $b, $9, $0, SS_ANNE_9 + db $b, $d, $2, SS_ANNE_9 + db $b, $11, $4, SS_ANNE_9 + db $b, $15, $6, SS_ANNE_9 + db $b, $19, $8, SS_ANNE_9 + db $b, $1d, $a, SS_ANNE_9 + db $4, $2, $8, SS_ANNE_1 + db $c, $2, $1, SS_ANNE_3 + db $4, $24, $0, SS_ANNE_7 + + db $0 ; signs + + db $2 ; people + db SPRITE_WAITER, $7 + 4, $3 + 4, $fe, $1, $1 ; person + db SPRITE_BLUE, $4 + 4, $24 + 4, $ff, $d0, $42, SONY1 + $C8, $1 ; trainer + + ; warp-to + EVENT_DISP $14, $b, $9 ; SS_ANNE_9 + EVENT_DISP $14, $b, $d ; SS_ANNE_9 + EVENT_DISP $14, $b, $11 ; SS_ANNE_9 + EVENT_DISP $14, $b, $15 ; SS_ANNE_9 + EVENT_DISP $14, $b, $19 ; SS_ANNE_9 + EVENT_DISP $14, $b, $1d ; SS_ANNE_9 + EVENT_DISP $14, $4, $2 ; SS_ANNE_1 + EVENT_DISP $14, $c, $2 ; SS_ANNE_3 + EVENT_DISP $14, $4, $24 ; SS_ANNE_7 + +SSAnne2Blocks: ; 0x6156e 180 + INCBIN "maps/ssanne2.blk" + +SSAnne4_h: ; 0x61622 to 0x6162e (12 bytes) (id=98) + db $0d ; tileset + db SS_ANNE_4_HEIGHT, SS_ANNE_4_WIDTH ; dimensions (y, x) + dw SSAnne4Blocks, SSAnne4Texts, SSAnne4Script ; blocks, texts, scripts + db $00 ; connections + + dw SSAnne4Object ; objects + +SSAnne4Script: ; 0x6162e + jp $3c3c +; 0x61631 + +SSAnne4Texts: + +INCBIN "baserom.gbc",$61631,$1 + +SSAnne4Object: ; 0x61632 (size=52) + db $c ; border tile + + db $6 ; warps + db $3, $17, $8, SS_ANNE_10 + db $3, $13, $6, SS_ANNE_10 + db $3, $f, $4, SS_ANNE_10 + db $3, $b, $2, SS_ANNE_10 + db $3, $7, $0, SS_ANNE_10 + db $5, $1b, $9, SS_ANNE_1 + + db $0 ; signs + + db $0 ; people + + ; warp-to + EVENT_DISP $f, $3, $17 ; SS_ANNE_10 + EVENT_DISP $f, $3, $13 ; SS_ANNE_10 + EVENT_DISP $f, $3, $f ; SS_ANNE_10 + EVENT_DISP $f, $3, $b ; SS_ANNE_10 + EVENT_DISP $f, $3, $7 ; SS_ANNE_10 + EVENT_DISP $f, $5, $1b ; SS_ANNE_1 + +SSAnne4Blocks: ; 0x61666 60 + INCBIN "maps/ssanne4.blk" + +SSAnne5_h: ; 0x616a2 to 0x616ae (12 bytes) (id=99) + db $0d ; tileset + db SS_ANNE_5_HEIGHT, SS_ANNE_5_WIDTH ; dimensions (y, x) + dw SSAnne5Blocks, SSAnne5Texts, SSAnne5Script ; blocks, texts, scripts + db $00 ; connections + + dw SSAnne5Object ; objects + +SSAnne5Script: ; 0x616ae + call $3c3c + ld hl, $56d1 + ld de, SSAnne5Script_Unknown616c1 + ld a, [$d617] + call $3160 + ld [$d617], a + ret +; 0x616c1 + +SSAnne5Script_Unknown616c1: ; 0x616c1 +INCBIN "baserom.gbc",$616c1,$6 + +SSAnne5Texts: ; 0x616c7 + dw SSAnne5Text1, SSAnne5Text2, SSAnne5Text3, SSAnne5Text4, SSAnne5Text5 + +SSAnneTrainerHeaders: +SSAnneTrainerHeader1: ; 0x616d1 + db $4 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7ff ; flag's byte + dw UnnamedText_61703 ; 0x5703 TextBeforeBattle + dw UnnamedText_6170d ; 0x570d TextAfterBattle + dw UnnamedText_61708 ; 0x5708 TextEndBattle + dw UnnamedText_61708 ; 0x5708 TextEndBattle +; 0x616dd + +TrainerHeader_616dd: ; 0x616dd + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7ff ; flag's byte + dw UnnamedText_6171c ; 0x571c TextBeforeBattle + dw UnnamedText_61726 ; 0x5726 TextAfterBattle + dw UnnamedText_61721 ; 0x5721 TextEndBattle + dw UnnamedText_61721 ; 0x5721 TextEndBattle +; 0x616e9 + +db $ff + +SSAnne5Text1: ; 0x616ea + TX_FAR _SSAnne5Text1 + db $50 + +SSAnne5Text2: ; 0x616ef + TX_FAR _SSAnne5Text2 + db $50 + +SSAnne5Text3: ; 0x616f4 + TX_FAR _SSAnne5Text3 + db $50 + +SSAnne5Text4: ; 0x616f9 + db $08 ; asm + ld hl, SSAnneTrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_61703: ; 0x61703 + TX_FAR _UnnamedText_61703 + db $50 +; 0x61703 + 5 bytes + +UnnamedText_61708: ; 0x61708 + TX_FAR _UnnamedText_61708 + db $50 +; 0x61708 + 5 bytes + +UnnamedText_6170d: ; 0x6170d + TX_FAR _UnnamedText_6170d + db $50 +; 0x6170d + 5 bytes + +SSAnne5Text5: ; 0x61712 + db $08 ; asm + ld hl, TrainerHeader_616dd + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_6171c: ; 0x6171c + TX_FAR _UnnamedText_6171c + db $50 +; 0x6171c + 5 bytes + +UnnamedText_61721: ; 0x61721 + TX_FAR _UnnamedText_61721 + db $50 +; 0x61721 + 5 bytes + +UnnamedText_61726: ; 0x61726 + TX_FAR _UnnamedText_61726 + db $50 +; 0x61726 + 5 bytes + +SSAnne5Object: ; 0x6172b (size=54) + db $23 ; border tile + + db $2 ; warps + db $6, $d, $0, SS_ANNE_3 + db $7, $d, $0, SS_ANNE_3 + + db $0 ; signs + + db $5 ; people + db SPRITE_BLACK_HAIR_BOY_2, $2 + 4, $5 + 4, $ff, $d1, $1 ; person + db SPRITE_SAILOR, $9 + 4, $4 + 4, $ff, $ff, $2 ; person + db SPRITE_BLACK_HAIR_BOY_1, $b + 4, $7 + 4, $ff, $ff, $3 ; person + db SPRITE_SAILOR, $4 + 4, $4 + 4, $ff, $d0, $44, SAILOR + $C8, $1 ; trainer + db SPRITE_SAILOR, $8 + 4, $a + 4, $ff, $d1, $45, SAILOR + $C8, $2 ; trainer + + ; warp-to + EVENT_DISP $a, $6, $d ; SS_ANNE_3 + EVENT_DISP $a, $7, $d ; SS_ANNE_3 + +SSAnne5Blocks: ; 0x61761 70 + INCBIN "maps/ssanne5.blk" + +SSAnne6_h: ; 0x617a7 to 0x617b3 (12 bytes) (id=100) + db $0d ; tileset + db SS_ANNE_6_HEIGHT, SS_ANNE_6_WIDTH ; dimensions (y, x) + dw SSAnne6Blocks, SSAnne6Texts, SSAnne6Script ; blocks, texts, scripts + db $00 ; connections + + dw SSAnne6Object ; objects + +SSAnne6Script: ; 0x617b3 + call $3c3c + ret +; 0x617b7 + +SSAnne6Texts: ; 0x617b7 + dw SSAnne6Text1, SSAnne6Text2, SSAnne6Text3, SSAnne6Text4, SSAnne6Text5, SSAnne6Text6, SSAnne6Text7 + +SSAnne6Text1: ; 0x617c5 + TX_FAR _SSAnne6Text1 + db $50 + +SSAnne6Text2: ; 0x617ca + TX_FAR _SSAnne6Text2 + db $50 + +SSAnne6Text3: ; 0x617cf + TX_FAR _SSAnne6Text3 + db $50 + +SSAnne6Text4: ; 0x617d4 + TX_FAR _SSAnne6Text4 + db $50 + +SSAnne6Text5: ; 0x617d9 + TX_FAR _SSAnne6Text5 + db $50 + +SSAnne6Text6: ; 0x617de + TX_FAR _SSAnne6Text6 + db $50 + +SSAnne6Text7: ; 0x617e3 + db $08 ; asm + ld hl, UnnamedText_61807 + call PrintText + ldh a, [$d3] + bit 7, a + jr z, .asm_93eb1 ; 0x617ee + ld hl, UnnamedText_6180c + jr .asm_63292 ; 0x617f3 +.asm_93eb1 ; 0x617f5 + bit 4, a + jr z, .asm_7436c ; 0x617f7 + ld hl, UnnamedText_61811 + jr .asm_63292 ; 0x617fc +.asm_7436c ; 0x617fe + ld hl, UnnamedText_61816 +.asm_63292 ; 0x61801 + call PrintText + jp TextScriptEnd + +UnnamedText_61807: ; 0x61807 + TX_FAR _UnnamedText_61807 + db $50 +; 0x61807 + 5 bytes + +UnnamedText_6180c: ; 0x6180c + TX_FAR _UnnamedText_6180c + db $50 +; 0x6180c + 5 bytes + +UnnamedText_61811: ; 0x61811 + TX_FAR _UnnamedText_61811 + db $50 +; 0x61811 + 5 bytes + +UnnamedText_61816: ; 0x61816 + TX_FAR _UnnamedText_61816 + db $50 +; 0x61816 + 5 bytes + +SSAnne6Object: ; 0x6181b (size=54) + db $c ; border tile + + db $1 ; warps + db $0, $6, $a, SS_ANNE_1 + + db $0 ; signs + + db $7 ; people + db SPRITE_COOK, $8 + 4, $1 + 4, $fe, $1, $1 ; person + db SPRITE_COOK, $8 + 4, $5 + 4, $fe, $1, $2 ; person + db SPRITE_COOK, $7 + 4, $9 + 4, $fe, $1, $3 ; person + db SPRITE_COOK, $6 + 4, $d + 4, $ff, $ff, $4 ; person + db SPRITE_COOK, $8 + 4, $d + 4, $ff, $ff, $5 ; person + db SPRITE_COOK, $a + 4, $d + 4, $ff, $ff, $6 ; person + db SPRITE_COOK, $d + 4, $b + 4, $ff, $d1, $7 ; person + + ; warp-to + EVENT_DISP $7, $0, $6 ; SS_ANNE_1 + +SSAnne6Blocks: ; 0x61851 56 + INCBIN "maps/ssanne6.blk" + +SSAnne7_h: ; 0x61889 to 0x61895 (12 bytes) (id=101) + db $0d ; tileset + db SS_ANNE_7_HEIGHT, SS_ANNE_7_WIDTH ; dimensions (y, x) + dw SSAnne7Blocks, SSAnne7Texts, SSAnne7Script ; blocks, texts, scripts + db $00 ; connections + + dw SSAnne7Object ; objects + +SSAnne7Script: ; 0x61895 + call SSAnne7Script_Unknown6189b + jp $3c3c +; 0x6189b + +SSAnne7Script_Unknown6189b: ; 0x6189b +INCBIN "baserom.gbc",$6189b,$c + +SSAnne7Texts: ; 0x618a7 + dw SSAnne7Text1, SSAnne7Text2, SSAnne7Text3 + +SSAnne7Text1: ; 0x618ad + db $08 ; asm + ld a, [$d803] + bit 0, a + jr nz, .asm_797c4 ; 0x618b3 + ld hl, SSAnne7RubText + call PrintText + ld hl, ReceivingHM01Text + call PrintText + ld bc, (HM_01 << 8) | 1 + call GiveItem + jr nc, .asm_ccdcd ; 0x618c7 + ld hl, ReceivedHM01Text + call PrintText + ld hl, $d803 + set 0, [hl] + jr .asm_0faf5 ; 0x618d4 +.asm_ccdcd ; 0x618d6 + ld hl, HM01NoRoomText + call PrintText + ld hl, $d72d + set 5, [hl] + jr .asm_0faf5 ; 0x618e1 +.asm_797c4 ; 0x618e3 + ld hl, UnnamedText_61932 + call PrintText +.asm_0faf5 ; 0x618e9 + jp TextScriptEnd + +SSAnne7RubText: ; 0x618ec + TX_FAR _SSAnne7RubText ; 0x812dd + db $8 + ld a, [$c0ef] + cp $1f + ld [$c0f0], a + jr nz, .asm_61908 ; 0x618f9 $d + ld a, $ff + ld [$c0ee], a + call $23b1 + ld a, $2 + ld [$c0ef], a +.asm_61908 + ld a, $e8 + ld [$c0ee], a + call $23b1 +.asm_61910 + ld a, [$c026] + cp $e8 + jr z, .asm_61910 ; 0x61915 $f9 + call $2307 + ld hl, $d803 + set 1, [hl] + ld hl, $d72d + res 5, [hl] + jp TextScriptEnd +; 0x61927 + +ReceivingHM01Text: ; 0x61927 + TX_FAR _ReceivingHM01Text + db $50 +; 0x61927 + 5 bytes + +ReceivedHM01Text: ; 0x6192c + TX_FAR _ReceivedHM01Text ; 0x8140d + db $11, $50 +; 0x6192c + 6 bytes = 0x61932 + +UnnamedText_61932: ; 0x61932 + TX_FAR _UnnamedText_61932 + db $50 +; 0x61932 + 5 bytes + +HM01NoRoomText: ; 0x61937 + TX_FAR _HM01NoRoomText + db $50 +; 0x61937 + 5 bytes + +SSAnne7Text2: ; 0x6193c + TX_FAR _SSAnne7Text2 + db $50 + +SSAnne7Text3: ; 0x61941 + TX_FAR _SSAnne7Text3 + db $50 + +SSAnne7Object: ; 0x61946 (size=24) + db $c ; border tile + + db $1 ; warps + db $7, $0, $8, SS_ANNE_2 + + db $2 ; signs + db $1, $4, $2 ; SSAnne7Text2 + db $2, $1, $3 ; SSAnne7Text3 + + db $1 ; people + db SPRITE_SS_CAPTAIN, $2 + 4, $4 + 4, $ff, $d1, $1 ; person + + ; warp-to + EVENT_DISP $3, $7, $0 ; SS_ANNE_2 + +SSAnne7Blocks: ; 0x6195e 12 + INCBIN "maps/ssanne7.blk" + +SSAnne8_h: ; 0x6196a to 0x61976 (12 bytes) (id=102) + db $0d ; tileset + db SS_ANNE_8_HEIGHT, SS_ANNE_8_WIDTH ; dimensions (y, x) + dw SSAnne8Blocks, SSAnne8Texts, SSAnne8Script ; blocks, texts, scripts + db $00 ; connections + + dw SSAnne8Object ; objects + +SSAnne8Script: ; 0x61976 + call $3c3c + ld hl, SSAnne8TrainerHeaders + ld de, SSAnne8Script_Unknown61989 + ld a, [$d608] + call $3160 + ld [$d608], a + ret +; 0x61989 + +SSAnne8Script_Unknown61989: ; 0x61989 +INCBIN "baserom.gbc",$61989,$6 + +SSAnne8Texts: ; 0x6198f + dw SSAnne8Text1, SSAnne8Text2, SSAnne8Text3, SSAnne8Text4, SSAnne8Text5, SSAnne8Text6, SSAnne8Text7, SSAnne8Text8, SSAnne8Text9, SSAnne8Text10, SSAnne8Text11 + +SSAnne8TrainerHeaders: +SSAnne8TrainerHeader1: ; 0x619a5 + db $1 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d805 ; flag's byte + dw UnnamedText_61a0b ; 0x5a0b TextBeforeBattle + dw UnnamedText_61a15 ; 0x5a15 TextAfterBattle + dw UnnamedText_61a10 ; 0x5a10 TextEndBattle + dw UnnamedText_61a10 ; 0x5a10 TextEndBattle +; 0x619b1 + +TrainerHeader_619b1: ; 0x619b1 + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d805 ; flag's byte + dw UnnamedText_61a1a ; 0x5a1a TextBeforeBattle + dw UnnamedText_5a24 ; 0x5a24 TextAfterBattle + dw UnnamedText_61a1f ; 0x5a1f TextEndBattle + dw UnnamedText_61a1f ; 0x5a1f TextEndBattle +; 0x619bd + +TrainerHeader_619bd: ; 0x619bd + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d805 ; flag's byte + dw UnnamedText_61a29 ; 0x5a29 TextBeforeBattle + dw UnnamedText_61a33 ; 0x5a33 TextAfterBattle + dw UnnamedText_61a2e ; 0x5a2e TextEndBattle + dw UnnamedText_61a2e ; 0x5a2e TextEndBattle +; 0x619c9 + +TrainerHeader_619c9: ; 0x619c9 + db $4 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d805 ; flag's byte + dw UnnamedText_61a38 ; 0x5a38 TextBeforeBattle + dw UnnamedText_61a42 ; 0x5a42 TextAfterBattle + dw UnnamedText_61a3d ; 0x5a3d TextEndBattle + dw UnnamedText_61a3d ; 0x5a3d TextEndBattle +; 0x619d5 + +db $ff + +SSAnne8Text1: ; 0x619d6 + db $08 ; asm + ld hl, SSAnne8TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +SSAnne8Text2: ; 0x619e0 + db $08 ; asm + ld hl, TrainerHeader_619b1 + call LoadTrainerHeader + jp TextScriptEnd + +SSAnne8Text3: ; 0x619ea + db $08 ; asm + ld hl, TrainerHeader_619bd + call LoadTrainerHeader + jp TextScriptEnd + +SSAnne8Text4: ; 0x619f4 + db $08 ; asm + ld hl, TrainerHeader_619c9 + call LoadTrainerHeader + jp TextScriptEnd + +SSAnne8Text8: ; 0x619fe + TX_FAR _SSAnne8Text8 + db $08 ; asm + ld a, $65 + call $13d0 + jp TextScriptEnd + +UnnamedText_61a0b: ; 0x61a0b + TX_FAR _UnnamedText_61a0b + db $50 +; 0x61a0b + 5 bytes + +UnnamedText_61a10: ; 0x61a10 + TX_FAR _UnnamedText_61a10 + db $50 +; 0x61a10 + 5 bytes + +UnnamedText_61a15: ; 0x61a15 + TX_FAR _UnnamedText_61a15 + db $50 +; 0x61a15 + 5 bytes + +UnnamedText_61a1a: ; 0x61a1a + TX_FAR _UnnamedText_61a1a + db $50 +; 0x61a1a + 5 bytes + +UnnamedText_61a1f: ; 0x61a1f + TX_FAR _UnnamedText_61a1f + db $50 +; 0x61a1f + 5 bytes + +UnnamedText_61a24: ; 0x61a24 + TX_FAR _UnnamedText_61a24 + db $50 +; 0x61a24 + 5 bytes + +UnnamedText_61a29: ; 0x61a29 + TX_FAR _UnnamedText_61a29 + db $50 +; 0x61a29 + 5 bytes + +UnnamedText_61a2e: ; 0x61a2e + TX_FAR _UnnamedText_61a2e + db $50 +; 0x61a2e + 5 bytes + +UnnamedText_61a33: ; 0x61a33 + TX_FAR _UnnamedText_61a33 + db $50 +; 0x61a33 + 5 bytes + +UnnamedText_61a38: ; 0x61a38 + TX_FAR _UnnamedText_61a38 + db $50 +; 0x61a38 + 5 bytes + +UnnamedText_61a3d: ; 0x61a3d + TX_FAR _UnnamedText_61a3d + db $50 +; 0x61a3d + 5 bytes + +UnnamedText_61a42: ; 0x61a42 + TX_FAR _UnnamedText_61a42 + db $50 +; 0x61a42 + 5 bytes + +SSAnne8Text5: ; 0x61a47 + TX_FAR _SSAnne8Text5 + db $50 + +SSAnne8Text6: ; 0x61a4c + TX_FAR _SSAnne8Text6 + db $50 + +SSAnne8Text7: ; 0x61a51 + TX_FAR _SSAnne8Text7 + db $50 + +SSAnne8Text9: ; 0x61a56 + TX_FAR _SSAnne8Text9 + db $50 + +SSAnne8Text11: ; 0x61a5b + TX_FAR _SSAnne8Text11 + db $50 + +SSAnne8Object: ; 0x61a60 (size=127) + db $c ; border tile + + db $6 ; warps + db $0, $0, $2, SS_ANNE_1 + db $0, $a, $3, SS_ANNE_1 + db $0, $14, $4, SS_ANNE_1 + db $a, $0, $5, SS_ANNE_1 + db $a, $a, $6, SS_ANNE_1 + db $a, $14, $7, SS_ANNE_1 + + db $0 ; signs + + db $b ; people + db SPRITE_GENTLEMAN, $3 + 4, $2 + 4, $ff, $d2, $41, GENTLEMAN + $C8, $1 ; trainer + db SPRITE_GENTLEMAN, $4 + 4, $b + 4, $ff, $d1, $42, GENTLEMAN + $C8, $2 ; trainer + db SPRITE_BUG_CATCHER, $e + 4, $b + 4, $ff, $d1, $43, YOUNGSTER + $C8, $8 ; trainer + db SPRITE_LASS, $b + 4, $d + 4, $ff, $d2, $44, LASS + $C8, $b ; trainer + db SPRITE_GIRL, $3 + 4, $16 + 4, $fe, $1, $5 ; person + db SPRITE_FAT_BALD_GUY, $e + 4, $0 + 4, $ff, $ff, $6 ; person + db SPRITE_LITTLE_GIRL, $b + 4, $2 + 4, $ff, $d0, $7 ; person + db SPRITE_CLEFAIRY, $b + 4, $3 + 4, $ff, $d0, $8 ; person + db SPRITE_GIRL, $d + 4, $a + 4, $ff, $d3, $9 ; person + db SPRITE_BALL, $f + 4, $c + 4, $ff, $ff, $8a, TM_08 ; item + db SPRITE_GENTLEMAN, $d + 4, $15 + 4, $fe, $2, $b ; person + + ; warp-to + EVENT_DISP $c, $0, $0 ; SS_ANNE_1 + EVENT_DISP $c, $0, $a ; SS_ANNE_1 + EVENT_DISP $c, $0, $14 ; SS_ANNE_1 + EVENT_DISP $c, $a, $0 ; SS_ANNE_1 + EVENT_DISP $c, $a, $a ; SS_ANNE_1 + EVENT_DISP $c, $a, $14 ; SS_ANNE_1 + +SSAnne8Blocks: ; 0x61adf 96 + INCBIN "maps/ssanne8.blk" + +SSAnne9_h: ; 0x61b3f to 0x61b4b (12 bytes) (id=103) + db $0d ; tileset + db SS_ANNE_9_HEIGHT, SS_ANNE_9_WIDTH ; dimensions (y, x) + dw SSAnne9Blocks, SSAnne9Texts, SSAnne9Script ; blocks, texts, scripts + db $00 ; connections + + dw SSAnne9Object ; objects + +SSAnne9Script: ; 0x61b4b + ld a, $1 + ld [$cf0c], a + xor a + ld [$cc3c], a + ld hl, SSAnne9TrainerHeaders + ld de, SSAnne9Script_Unknown61b64 + ld a, [$d609] + call $3160 + ld [$d609], a + ret +; 0x61b64 + +SSAnne9Script_Unknown61b64: ; 0x61b64 +INCBIN "baserom.gbc",$61b64,$6 + +SSAnne9Texts: ; 0x61b6a + dw SSAnne9Text1, SSAnne9Text2, SSAnne9Text3, SSAnne9Text4, SSAnne9Text5, SSAnne9Text6, SSAnne9Text7, SSAnne9Text8, SSAnne9Text9, SSAnne9Text10, SSAnne9Text11, SSAnne9Text12, SSAnne9Text13 + +SSAnne9TrainerHeaders: +SSAnne9TrainerHeader1: ; 0x61b84 + db $1 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d807 ; flag's byte + dw UnnamedText_61c51 ; 0x5c51 TextBeforeBattle + dw UnnamedText_61c5b ; 0x5c5b TextAfterBattle + dw UnnamedText_61c56 ; 0x5c56 TextEndBattle + dw UnnamedText_61c56 ; 0x5c56 TextEndBattle +; 0x61b90 + +TrainerHeader_61b90: ; 0x61b90 + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d807 ; flag's byte + dw UnnamedText_61c60 ; 0x5c60 TextBeforeBattle + dw UnnamedText_61c6a ; 0x5c6a TextAfterBattle + dw UnnamedText_61c65 ; 0x5c65 TextEndBattle + dw UnnamedText_61c65 ; 0x5c65 TextEndBattle +; 0x61b9c + +TrainerHeader_61b9c: ; 0x61b9c + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d807 ; flag's byte + dw UnnamedText_61c6f ; 0x5c6f TextBeforeBattle + dw UnnamedText_61c79 ; 0x5c79 TextAfterBattle + dw UnnamedText_61c74 ; 0x5c74 TextEndBattle + dw UnnamedText_61c74 ; 0x5c74 TextEndBattle +; 0x61ba8 + +TrainerHeader_61ba8: ; 0x61ba8 + db $4 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d807 ; flag's byte + dw UnnamedText_61c7e ; 0x5c7e TextBeforeBattle + dw UnnamedText_61c88 ; 0x5c88 TextAfterBattle + dw UnnamedText_61c83 ; 0x5c83 TextEndBattle + dw UnnamedText_61c83 ; 0x5c83 TextEndBattle +; 0x61bb4 + + +db $ff + +SSAnne9Text1: ; 0x61bb5 + db $08 ; asm + ld hl, SSAnne9TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +SSAnne9Text2: ; 0x61bbf + db $08 ; asm + ld hl, TrainerHeader_61b90 + call LoadTrainerHeader + jp TextScriptEnd + +SSAnne9Text3: ; 0x61bc9 + db $08 ; asm + ld hl, TrainerHeader_61b9c + call LoadTrainerHeader + jp TextScriptEnd + +SSAnne9Text4: ; 0x61bd3 + db $08 ; asm + ld hl, TrainerHeader_61ba8 + call LoadTrainerHeader + jp TextScriptEnd + +SSAnne9Text5: ; 0x61bdd + db $08 ; asm + call $3719 + ld hl, UnnamedText_61bf2 + call PrintText + call $3725 + ld a, $84 + call $349b + jp TextScriptEnd + +UnnamedText_61bf2: ; 0x61bf2 + TX_FAR _UnnamedText_61bf2 + db $50 +; 0x61bf2 + 5 bytes + +SSAnne9Text7: ; 0x61bf7 + db $08 ; asm + ld hl, UnnamedText_61c01 + call PrintText + jp TextScriptEnd + +UnnamedText_61c01: ; 0x61c01 + TX_FAR _UnnamedText_61c01 + db $50 +; 0x61c01 + 5 bytes + +SSAnne9Text8: ; 0x61c06 + db $08 ; asm + ld hl, UnnamedText_61c10 + call PrintText + jp TextScriptEnd + +UnnamedText_61c10: ; 0x61c10 + TX_FAR _UnnamedText_61c10 + db $50 +; 0x61c10 + 5 bytes + +SSAnne9Text10: ; 0x61c15 + db $08 ; asm + ld hl, UnnamedText_61c1f + call PrintText + jp TextScriptEnd + +UnnamedText_61c1f: ; 0x61c1f + TX_FAR _UnnamedText_61c1f + db $50 +; 0x61c1f + 5 bytes + +SSAnne9Text11: ; 0x61c24 + db $08 ; asm + ld hl, UnnamedText_61c2e + call PrintText + jp TextScriptEnd + +UnnamedText_61c2e: ; 0x61c2e + TX_FAR _UnnamedText_61c2e + db $50 +; 0x61c2e + 5 bytes + +SSAnne9Text12: ; 0x61c33 + db $08 ; asm + ld hl, UnnamedText_61c3d + call PrintText + jp TextScriptEnd + +UnnamedText_61c3d: ; 0x61c3d + TX_FAR _UnnamedText_61c3d + db $50 +; 0x61c3d + 5 bytes + +SSAnne9Text13: ; 0x61c42 + db $08 ; asm + ld hl, UnnamedText_61c4c + call PrintText + jp TextScriptEnd + +UnnamedText_61c4c: ; 0x61c4c + TX_FAR _UnnamedText_61c4c + db $50 +; 0x61c4c + 5 bytes + +UnnamedText_61c51: ; 0x61c51 + TX_FAR _UnnamedText_61c51 + db $50 +; 0x61c51 + 5 bytes + +UnnamedText_61c56: ; 0x61c56 + TX_FAR _UnnamedText_61c56 + db $50 +; 0x61c56 + 5 bytes + +UnnamedText_61c5b: ; 0x61c5b + TX_FAR _UnnamedText_61c5b + db $50 +; 0x61c5b + 5 bytes + +UnnamedText_61c60: ; 0x61c60 + TX_FAR _UnnamedText_61c60 + db $50 +; 0x61c60 + 5 bytes + +UnnamedText_61c65: ; 0x61c65 + TX_FAR _UnnamedText_61c65 + db $50 +; 0x61c65 + 5 bytes + +UnnamedText_61c6a: ; 0x61c6a + TX_FAR _UnnamedText_61c6a + db $50 +; 0x61c6a + 5 bytes + +UnnamedText_61c6f: ; 0x61c6f + TX_FAR _UnnamedText_61c6f + db $50 +; 0x61c6f + 5 bytes + +UnnamedText_61c74: ; 0x61c74 + TX_FAR _UnnamedText_61c74 + db $50 +; 0x61c74 + 5 bytes + +UnnamedText_61c79: ; 0x61c79 + TX_FAR _UnnamedText_61c79 + db $50 +; 0x61c79 + 5 bytes + +UnnamedText_61c7e: ; 0x61c7e + TX_FAR _UnnamedText_61c7e + db $50 +; 0x61c7e + 5 bytes + +UnnamedText_61c83: ; 0x61c83 + TX_FAR _UnnamedText_61c83 + db $50 +; 0x61c83 + 5 bytes + +UnnamedText_61c88: ; 0x61c88 + TX_FAR _UnnamedText_61c88 + db $50 +; 0x61c88 + 5 bytes + +SSAnne9Object: ; 0x61c8d (size=188) + db $c ; border tile + + db $c ; warps + db $5, $2, $0, SS_ANNE_2 + db $5, $3, $0, SS_ANNE_2 + db $5, $c, $1, SS_ANNE_2 + db $5, $d, $1, SS_ANNE_2 + db $5, $16, $2, SS_ANNE_2 + db $5, $17, $2, SS_ANNE_2 + db $f, $2, $3, SS_ANNE_2 + db $f, $3, $3, SS_ANNE_2 + db $f, $c, $4, SS_ANNE_2 + db $f, $d, $4, SS_ANNE_2 + db $f, $16, $5, SS_ANNE_2 + db $f, $17, $5, SS_ANNE_2 + + db $0 ; signs + + db $d ; people + db SPRITE_GENTLEMAN, $2 + 4, $a + 4, $ff, $d3, $41, GENTLEMAN + $C8, $3 ; trainer + db SPRITE_FISHER2, $4 + 4, $d + 4, $ff, $d2, $42, FISHER + $C8, $1 ; trainer + db SPRITE_GENTLEMAN, $e + 4, $0 + 4, $ff, $d3, $43, GENTLEMAN + $C8, $5 ; trainer + db SPRITE_LASS, $b + 4, $2 + 4, $ff, $d0, $44, LASS + $C8, $c ; trainer + db SPRITE_GENTLEMAN, $2 + 4, $1 + 4, $ff, $d0, $5 ; person + db SPRITE_BALL, $1 + 4, $c + 4, $ff, $ff, $86, MAX_ETHER ; item + db SPRITE_GENTLEMAN, $2 + 4, $15 + 4, $ff, $d0, $7 ; person + db SPRITE_OLD_PERSON, $1 + 4, $16 + 4, $ff, $d0, $8 ; person + db SPRITE_BALL, $c + 4, $0 + 4, $ff, $ff, $89, RARE_CANDY ; item + db SPRITE_GENTLEMAN, $c + 4, $c + 4, $ff, $d0, $a ; person + db SPRITE_YOUNG_BOY, $e + 4, $b + 4, $ff, $ff, $b ; person + db SPRITE_BRUNETTE_GIRL, $c + 4, $16 + 4, $ff, $d2, $c ; person + db SPRITE_FOULARD_WOMAN, $c + 4, $14 + 4, $ff, $d3, $d ; person + + ; warp-to + EVENT_DISP $c, $5, $2 ; SS_ANNE_2 + EVENT_DISP $c, $5, $3 ; SS_ANNE_2 + EVENT_DISP $c, $5, $c ; SS_ANNE_2 + EVENT_DISP $c, $5, $d ; SS_ANNE_2 + EVENT_DISP $c, $5, $16 ; SS_ANNE_2 + EVENT_DISP $c, $5, $17 ; SS_ANNE_2 + EVENT_DISP $c, $f, $2 ; SS_ANNE_2 + EVENT_DISP $c, $f, $3 ; SS_ANNE_2 + EVENT_DISP $c, $f, $c ; SS_ANNE_2 + EVENT_DISP $c, $f, $d ; SS_ANNE_2 + EVENT_DISP $c, $f, $16 ; SS_ANNE_2 + EVENT_DISP $c, $f, $17 ; SS_ANNE_2 + +SSAnne10_h: ; 0x61d49 to 0x61d55 (12 bytes) (id=104) + db $0d ; tileset + db SS_ANNE_10_HEIGHT, SS_ANNE_10_WIDTH ; dimensions (y, x) + dw SSAnne10Blocks, SSAnne10Texts, SSAnne10Script ; blocks, texts, scripts + db $00 ; connections + + dw SSAnne10Object ; objects + +SSAnne10Script: ; 0x61d55 + call $3c3c + ld hl, SSAnne10TrainerHeaders + ld de, SSAnne10Script_Unknown61d68 + ld a, [$d629] + call $3160 + ld [$d629], a + ret +; 0x61d68 + +SSAnne10Script_Unknown61d68: ; 0x61d68 +INCBIN "baserom.gbc",$61d68,$6 + +SSAnne10Texts: ; 0x61d6e + dw SSAnne10Text1, SSAnne10Text2, SSAnne10Text3, SSAnne10Text4, SSAnne10Text5, SSAnne10Text6, SSAnne10Text7, SSAnne10Text8, SSAnne10Text9, SSAnne10Text10, SSAnne10Text11 + +SSAnne10TrainerHeaders: +SSAnne10TrainerHeader1: ; 0x61d84 + db $1 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d809 ; flag's byte + dw UnnamedText_61e16 ; 0x5e16 TextBeforeBattle + dw UnnamedText_61e20 ; 0x5e20 TextAfterBattle + dw UnnamedText_61e1b ; 0x5e1b TextEndBattle + dw UnnamedText_61e1b ; 0x5e1b TextEndBattle +; 0x61d90 + +TrainerHeader_61d90: ; 0x61d90 + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d809 ; flag's byte + dw UnnamedText_61e25 ; 0x5e25 TextBeforeBattle + dw UnnamedText_61e2f ; 0x5e2f TextAfterBattle + dw UnnamedText_61e2a ; 0x5e2a TextEndBattle + dw UnnamedText_61e2a ; 0x5e2a TextEndBattle +; 0x61d9c + +TrainerHeader_61d9c: ; 0x61d9c + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d809 ; flag's byte + dw UnnamedText_61e34 ; 0x5e34 TextBeforeBattle + dw UnnamedText_61e3e ; 0x5e3e TextAfterBattle + dw UnnamedText_61e39 ; 0x5e39 TextEndBattle + dw UnnamedText_61e39 ; 0x5e39 TextEndBattle +; 0x61da8 + +TrainerHeader_61da8: ; 0x61da8 + db $4 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d809 ; flag's byte + dw UnnamedText_61e43 ; 0x5e43 TextBeforeBattle + dw UnnamedText_61e4d ; 0x5e4d TextAfterBattle + dw UnnamedText_61e48 ; 0x5e48 TextEndBattle + dw UnnamedText_61e48 ; 0x5e48 TextEndBattle +; 0x61db4 + +TrainerHeader_61db4: ; 0x61db4 + db $5 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d809 ; flag's byte + dw UnnamedText_61e52 ; 0x5e52 TextBeforeBattle + dw UnnamedText_61e5c ; 0x5e5c TextAfterBattle + dw UnnamedText_61e57 ; 0x5e57 TextEndBattle + dw UnnamedText_61e57 ; 0x5e57 TextEndBattle +; 0x61dc0 + +TrainerHeader_61dc0: ; 0x61dc0 + db $6 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d809 ; flag's byte + dw UnnamedText_61e61 ; 0x5e61 TextBeforeBattle + dw UnnamedText_61e6b ; 0x5e6b TextAfterBattle + dw UnnamedText_61e66 ; 0x5e66 TextEndBattle + dw UnnamedText_61e66 ; 0x5e66 TextEndBattle +; 0x61dcc + +db $ff + +SSAnne10Text1: ; 0x61dcd + db $08 ; asm + ld hl, SSAnne10TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +SSAnne10Text2: ; 0x61dd7 + db $08 ; asm + ld hl, TrainerHeader_61d90 + call LoadTrainerHeader + jp TextScriptEnd + +SSAnne10Text3: ; 0x61de1 + db $08 ; asm + ld hl, TrainerHeader_61d9c + call LoadTrainerHeader + jp TextScriptEnd + +SSAnne10Text4: ; 0x61deb + db $08 ; asm + ld hl, TrainerHeader_61da8 + call LoadTrainerHeader + jp TextScriptEnd + +SSAnne10Text5: ; 0x61df5 + db $08 ; asm + ld hl, TrainerHeader_61db4 + call LoadTrainerHeader + jp TextScriptEnd + +SSAnne10Text6: ; 0x61dff + db $08 ; asm + ld hl, TrainerHeader_61dc0 + call LoadTrainerHeader + jp TextScriptEnd + +SSAnne10Text8: ; 0x61e09 + TX_FAR _SSAnne10Text8 + db $8 ; 0x61e0d + ld a, $29 + call $13d0 + jp TextScriptEnd + +UnnamedText_61e16: ; 0x61e16 + TX_FAR _UnnamedText_61e16 + db $50 +; 0x61e16 + 5 bytes + +UnnamedText_61e1b: ; 0x61e1b + TX_FAR _UnnamedText_61e1b + db $50 +; 0x61e1b + 5 bytes + +UnnamedText_61e20: ; 0x61e20 + TX_FAR _UnnamedText_61e20 + db $50 +; 0x61e20 + 5 bytes + +UnnamedText_61e25: ; 0x61e25 + TX_FAR _UnnamedText_61e25 + db $50 +; 0x61e25 + 5 bytes + +UnnamedText_61e2a: ; 0x61e2a + TX_FAR _UnnamedText_61e2a + db $50 +; 0x61e2a + 5 bytes + +UnnamedText_61e2f: ; 0x61e2f + TX_FAR _UnnamedText_61e2f + db $50 +; 0x61e2f + 5 bytes + +UnnamedText_61e34: ; 0x61e34 + TX_FAR _UnnamedText_61e34 + db $50 +; 0x61e34 + 5 bytes + +UnnamedText_61e39: ; 0x61e39 + TX_FAR _UnnamedText_61e39 + db $50 +; 0x61e39 + 5 bytes + +UnnamedText_61e3e: ; 0x61e3e + TX_FAR _UnnamedText_61e3e + db $50 +; 0x61e3e + 5 bytes + +UnnamedText_61e43: ; 0x61e43 + TX_FAR _UnnamedText_61e43 + db $50 +; 0x61e43 + 5 bytes + +UnnamedText_61e48: ; 0x61e48 + TX_FAR _UnnamedText_61e48 + db $50 +; 0x61e48 + 5 bytes + +UnnamedText_61e4d: ; 0x61e4d + TX_FAR _UnnamedText_61e4d + db $50 +; 0x61e4d + 5 bytes + +UnnamedText_61e52: ; 0x61e52 + TX_FAR _UnnamedText_61e52 + db $50 +; 0x61e52 + 5 bytes + +UnnamedText_61e57: ; 0x61e57 + TX_FAR _UnnamedText_61e57 + db $50 +; 0x61e57 + 5 bytes + +UnnamedText_61e5c: ; 0x61e5c + TX_FAR _UnnamedText_61e5c + db $50 +; 0x61e5c + 5 bytes + +UnnamedText_61e61: ; 0x61e61 + TX_FAR _UnnamedText_61e61 + db $50 +; 0x61e61 + 5 bytes + +UnnamedText_61e66: ; 0x61e66 + TX_FAR _UnnamedText_61e66 + db $50 +; 0x61e66 + 5 bytes + +UnnamedText_61e6b: ; 0x61e6b + TX_FAR _UnnamedText_61e6b + db $50 +; 0x61e6b + 5 bytes + +SSAnne10Text7: ; 0x61e70 + TX_FAR _SSAnne10Text7 + db $50 + +SSAnne10Object: ; 0x61e75 (size=165) + db $c ; border tile + + db $a ; warps + db $5, $2, $4, SS_ANNE_4 + db $5, $3, $4, SS_ANNE_4 + db $5, $c, $3, SS_ANNE_4 + db $5, $d, $3, SS_ANNE_4 + db $5, $16, $2, SS_ANNE_4 + db $5, $17, $2, SS_ANNE_4 + db $f, $2, $1, SS_ANNE_4 + db $f, $3, $1, SS_ANNE_4 + db $f, $c, $0, SS_ANNE_4 + db $f, $d, $0, SS_ANNE_4 + + db $0 ; signs + + db $b ; people + db SPRITE_SAILOR, $d + 4, $0 + 4, $ff, $d0, $41, SAILOR + $C8, $3 ; trainer + db SPRITE_SAILOR, $b + 4, $2 + 4, $ff, $d0, $42, SAILOR + $C8, $4 ; trainer + db SPRITE_SAILOR, $3 + 4, $c + 4, $ff, $d2, $43, SAILOR + $C8, $5 ; trainer + db SPRITE_SAILOR, $2 + 4, $16 + 4, $ff, $d0, $44, SAILOR + $C8, $6 ; trainer + db SPRITE_SAILOR, $2 + 4, $0 + 4, $ff, $d3, $45, SAILOR + $C8, $7 ; trainer + db SPRITE_FISHER2, $4 + 4, $0 + 4, $ff, $d3, $46, FISHER + $C8, $2 ; trainer + db SPRITE_BLACK_HAIR_BOY_2, $d + 4, $a + 4, $ff, $d3, $7 ; person + db SPRITE_SLOWBRO, $c + 4, $b + 4, $ff, $ff, $8 ; person + db SPRITE_BALL, $2 + 4, $14 + 4, $ff, $ff, $89, ETHER ; item + db SPRITE_BALL, $2 + 4, $a + 4, $ff, $ff, $8a, TM_44 ; item + db SPRITE_BALL, $b + 4, $c + 4, $ff, $ff, $8b, MAX_POTION ; item + + ; warp-to + EVENT_DISP $c, $5, $2 ; SS_ANNE_4 + EVENT_DISP $c, $5, $3 ; SS_ANNE_4 + EVENT_DISP $c, $5, $c ; SS_ANNE_4 + EVENT_DISP $c, $5, $d ; SS_ANNE_4 + EVENT_DISP $c, $5, $16 ; SS_ANNE_4 + EVENT_DISP $c, $5, $17 ; SS_ANNE_4 + EVENT_DISP $c, $f, $2 ; SS_ANNE_4 + EVENT_DISP $c, $f, $3 ; SS_ANNE_4 + EVENT_DISP $c, $f, $c ; SS_ANNE_4 + EVENT_DISP $c, $f, $d ; SS_ANNE_4 + +UndergroundPathNS_h: ; 0x61f1a to 0x61f26 (12 bytes) (id=119) + db $0b ; tileset + db UNDERGROUND_PATH_NS_HEIGHT, UNDERGROUND_PATH_NS_WIDTH ; dimensions (y, x) + dw UndergroundPathNSBlocks, UndergroundPathNSTexts, UndergroundPathNSScript ; blocks, texts, scripts + db $00 ; connections + + dw UndergroundPathNSObject ; objects + +UndergroundPathNSScript: ; 0x61f26 + jp $3c3c +; 0x61f29 + +UndergroundPathNSTexts: + db $50 + +UndergroundPathNSObject: ; 0x61f2a (size=20) + db $1 ; border tile + + db $2 ; warps + db $4, $5, $2, PATH_ENTRANCE_ROUTE_5 + db $29, $2, $2, PATH_ENTRANCE_ROUTE_6 + + db $0 ; signs + + db $0 ; people + + ; warp-to + EVENT_DISP $4, $4, $5 ; PATH_ENTRANCE_ROUTE_5 + EVENT_DISP $4, $29, $2 ; PATH_ENTRANCE_ROUTE_6 + +UndergroundPathWE_h: ; 0x61f3e to 0x61f4a (12 bytes) (id=121) + db $0b ; tileset + db UNDERGROUND_PATH_WE_HEIGHT, UNDERGROUND_PATH_WE_WIDTH ; dimensions (y, x) + dw $41f4, UndergroundPathWETexts, UndergroundPathWEScript ; blocks, texts, scripts + db $00 ; connections + + dw UndergroundPathWEObject ; objects + +UndergroundPathWEScript: ; 0x61f4a + jp $3c3c +; 0x61f4d + +UndergroundPathWETexts: + db $50 + +UndergroundPathWEObject: ; 0x61f4e (size=20) + db $1 ; border tile + + db $2 ; warps + db $5, $2, $2, PATH_ENTRANCE_ROUTE_7 + db $2, $2f, $2, PATH_ENTRANCE_ROUTE_8 + + db $0 ; signs + + db $0 ; people + + ; warp-to + EVENT_DISP $19, $5, $2 ; PATH_ENTRANCE_ROUTE_7 + EVENT_DISP $19, $2, $2f ; PATH_ENTRANCE_ROUTE_8 + +DiglettsCave_h: ; 0x61f62 to 0x61f6e (12 bytes) (id=197) + db $11 ; tileset + db DIGLETTS_CAVE_HEIGHT, DIGLETTS_CAVE_WIDTH ; dimensions (y, x) + dw DiglettsCaveBlocks, DiglettsCaveTexts, DiglettsCaveScript ; blocks, texts, scripts + db $00 ; connections + + dw DiglettsCaveObject ; objects + +DiglettsCaveScript: ; 0x61f6e + jp $3c3c +; 0x61f71 + +DiglettsCaveTexts: + db $50 + +DiglettsCaveObject: ; 0x61f72 (size=20) + db $19 ; border tile + + db $2 ; warps + db $5, $5, $2, DIGLETTS_CAVE_EXIT + db $1f, $25, $2, DIGLETTS_CAVE_ENTRANCE + + db $0 ; signs + + db $0 ; people + + ; warp-to + EVENT_DISP $14, $5, $5 ; DIGLETTS_CAVE_EXIT + EVENT_DISP $14, $1f, $25 ; DIGLETTS_CAVE_ENTRANCE + +DiglettsCaveBlocks: ; 0x61f86 360 + INCBIN "maps/diglettscave.blk" + +SilphCo11_h: ; 0x620ee to 0x620fa (12 bytes) (id=235) + db $10 ; tileset + db SILPH_CO_11F_HEIGHT, SILPH_CO_11F_WIDTH ; dimensions (y, x) + dw SilphCo11Blocks, SilphCo11Texts, SilphCo11Script ; blocks, texts, scripts + db $00 ; connections + + dw SilphCo11Object ; objects + +SilphCo11Script: ; 0x620fa + call SilphCo11Script_Unknown62110 + call $3c3c + ld hl, SilphCo11TrainerHeaders + ld de, $61cf + ld a, [$d659] + call $3160 + ld [$d659], a + ret +; 0x62110 + +SilphCo11Script_Unknown62110: ; 0x62110 +INCBIN "baserom.gbc",$62110,$1a7 + +SilphCo11Texts: ; 0x622b7 + dw SilphCo11Text1, SilphCo11Text2, SilphCo11Text3, SilphCo11Text4, SilphCo11Text5, SilphCo11Text6 + +SilphCo11TrainerHeaders: +SilphCo11TrainerHeader1: ; 0x622c3 + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d837 ; flag's byte + dw UnnamedText_62344 ; 0x6344 TextBeforeBattle + dw UnnamedText_6234e ; 0x634e TextAfterBattle + dw UnnamedText_62349 ; 0x6349 TextEndBattle + dw UnnamedText_62349 ; 0x6349 TextEndBattle +; 0x622cf + +TrainerHeader_622cf: ; 0x622cf + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d837 ; flag's byte + dw UnnamedText_6235d ; 0x635d TextBeforeBattle + dw UnnamedText_62367 ; 0x6367 TextAfterBattle + dw UnnamedText_62362 ; 0x6362 TextEndBattle + dw UnnamedText_62362 ; 0x6362 TextEndBattle +; 0x622db + +db $ff + +SilphCo11Text1: ; 0x622dc + db $08 ; asm + ld a, [$d838] + bit 5, a + jp nz, .asm_62308 + ld hl, SilphCoPresidentText + call PrintText + ld bc, (MASTER_BALL << 8) | 1 + call GiveItem + jr nc, .asm_36088 ; 0x622f1 + ld hl, ReceivedSilphCoMasterBallText + call PrintText + ld hl, $d838 + set 5, [hl] + jr .asm_fd405 ; 0x622fe +.asm_36088 ; 0x62300 + ld hl, SilphCoMasterBallNoRoomText + call PrintText + jr .asm_fd405 ; 0x62306 +.asm_62308 ; 0x62308 + ld hl, UnnamedText_6231c + call PrintText +.asm_fd405 ; 0x6230e + jp TextScriptEnd + +SilphCoPresidentText: ; 0x62311 + TX_FAR _SilphCoPresidentText + db $50 +; 0x62311 + 5 bytes + +ReceivedSilphCoMasterBallText: ; 0x62316 + TX_FAR _ReceivedSilphCoMasterBallText ; 0x84f63 + db $11, $50 +; 0x62316 + 6 bytes = 0x6231c + +UnnamedText_6231c: ; 0x6231c + TX_FAR _UnnamedText_6231c + db $50 +; 0x6231c + 5 bytes + +SilphCoMasterBallNoRoomText: ; 0x62321 + TX_FAR _SilphCoMasterBallNoRoomText + db $50 +; 0x62321 + 5 bytes + +SilphCo11Text2: ; 0x62326 + TX_FAR _SilphCo11Text2 + db $50 + +SilphCo11Text3: ; 0x6232b + TX_FAR _SilphCo11Text3 + db $50 + +UnnamedText_62330: ; 0x62330 + TX_FAR _UnnamedText_62330 + db $50 +; 0x62330 + 5 bytes + +SilphCo11Text6: ; 0x62335 + TX_FAR _UnnamedText_62335 + db $50 +; 0x62335 + 5 bytes + +SilphCo11Text4: ; 0x6233a + db $08 ; asm + ld hl, SilphCo11TrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_62344: ; 0x62344 + TX_FAR _UnnamedText_62344 + db $50 +; 0x62344 + 5 bytes + +UnnamedText_62349: ; 0x62349 + TX_FAR _UnnamedText_62349 + db $50 +; 0x62349 + 5 bytes + +UnnamedText_6234e: ; 0x6234e + TX_FAR _UnnamedText_6234e + db $50 +; 0x6234e + 5 bytes + +SilphCo11Text5: ; 0x62353 + db $08 ; asm + ld hl, TrainerHeader_622cf + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_6235d: ; 0x6235d + TX_FAR _UnnamedText_6235d + db $50 +; 0x6235d + 5 bytes + +UnnamedText_62362: ; 0x62362 + TX_FAR _UnnamedText_62362 + db $50 +; 0x62362 + 5 bytes + +UnnamedText_62367: ; 0x62367 + TX_FAR _UnnamedText_62367 + db $50 +; 0x62367 + 5 bytes + +UnknownText_6236c: ; 0x6236c + db $8 + ld hl, UnnamedText_6237b + call PrintText + ld a, $aa + call $349b + jp TextScriptEnd +; 0x6237b + +UnnamedText_6237b: ; 0x6237b + TX_FAR _UnnamedText_6237b + db $50 +; 0x6237b + 5 bytes + +SilphCo11Object: ; 0x62380 (size=72) + db $d ; border tile + + db $4 ; warps + db $0, $9, $1, SILPH_CO_10F + db $0, $d, $0, SILPH_CO_ELEVATOR + db $5, $5, $9, $ff + db $2, $3, $3, SILPH_CO_7F + + db $0 ; signs + + db $5 ; people + db SPRITE_MR_MASTERBALL, $5 + 4, $7 + 4, $ff, $d0, $1 ; person + db SPRITE_FOULARD_WOMAN, $5 + 4, $a + 4, $ff, $d0, $2 ; person + db SPRITE_GIOVANNI, $9 + 4, $6 + 4, $ff, $d0, $43, GIOVANNI + $C8, $2 ; trainer + db SPRITE_ROCKET, $10 + 4, $3 + 4, $ff, $d1, $44, ROCKET + $C8, $29 ; trainer + db SPRITE_ROCKET, $9 + 4, $f + 4, $ff, $d1, $45, ROCKET + $C8, $28 ; trainer + + ; warp-to + EVENT_DISP $9, $0, $9 ; SILPH_CO_10F + EVENT_DISP $9, $0, $d ; SILPH_CO_ELEVATOR + EVENT_DISP $9, $5, $5 + EVENT_DISP $9, $2, $3 ; SILPH_CO_7F + +SilphCo11Blocks: ; 0x623c8 81 + INCBIN "maps/silphco11.blk" + +INCBIN "baserom.gbc",$62419,$62453 - $62419 + +UnnamedText_62453: ; 0x62453 + TX_FAR _UnnamedText_62453 + db $50 +; 0x62453 + 5 bytes + +UnnamedText_62458: ; 0x62458 + TX_FAR _UnnamedText_62458 + db $50 +; 0x62458 + 5 bytes + +INCBIN "baserom.gbc",$6245d,$624a3 - $6245d + +UnnamedText_624a3: ; 0x624a3 + TX_FAR _UnnamedText_624a3 + db $50 +; 0x624a3 + 5 bytes + +UnnamedText_624a8: ; 0x624a8 + TX_FAR _UnnamedText_624a8 + db $50 +; 0x624a8 + 5 bytes + +UnnamedText_624ad: ; 0x624ad + TX_FAR _UnnamedText_624ad + db $50 +; 0x624ad + 5 bytes + +UnnamedText_624b2: ; 0x624b2 + TX_FAR _UnnamedText_624b2 + db $50 +; 0x624b2 + 5 bytes + +UnnamedText_624b7: ; 0x624b7 + TX_FAR _UnnamedText_624b7 + db $50 +; 0x624b7 + 5 bytes + +UnnamedText_624bc: ; 0x624bc + TX_FAR _UnnamedText_624bc + db $50 +; 0x624bc + 5 bytes + +UnnamedText_624c1: ; 0x624c1 + TX_FAR _UnnamedText_624c1 + db $50 +; 0x624c1 + 5 bytes + +UnnamedText_624c6: ; 0x624c6 + TX_FAR _UnnamedText_624c6 + db $50 +; 0x624c6 + 5 bytes + +UnnamedText_624cb: ; 0x624cb + TX_FAR _UnnamedText_624cb + db $50 +; 0x624cb + 5 bytes + +UnnamedText_624d0: ; 0x624d0 + TX_FAR _UnnamedText_624d0 + db $50 +; 0x624d0 + 5 bytes + +UnnamedText_624d5: ; 0x624d5 + TX_FAR _UnnamedText_624d5 + db $50 +; 0x624d5 + 5 bytes + +UnnamedText_624da: ; 0x624da + TX_FAR _UnnamedText_624da + db $50 +; 0x624da + 5 bytes + +UnnamedText_624df: ; 0x624df + TX_FAR _UnnamedText_624df + db $50 +; 0x624df + 5 bytes + +UnnamedText_624e4: ; 0x624e4 + db $8 + ld a, [$d838] + bit 7, a + ld hl, UnnamedText_624fd + jr nz, .asm_624f2 ; 0x624ed $3 + ld hl, UnnamedText_624f8 +.asm_624f2 + call PrintText + jp TextScriptEnd +; 0x624f8 + +UnnamedText_624f8: ; 0x624f8 + TX_FAR _UnnamedText_624f8 + db $50 +; 0x624f8 + 5 bytes + +UnnamedText_624fd: ; 0x624fd + TX_FAR _UnnamedText_624fd + db $50 +; 0x624fd + 5 bytes + +UnnamedText_62502: ; 0x62502 + TX_FAR _UnnamedText_62502 + db $50 +; 0x62502 + 5 bytes + +INCBIN "baserom.gbc",$62507,$62511 - $62507 + +UnnamedText_62511: ; 0x62511 + TX_FAR _UnnamedText_62511 + db $50 +; 0x62511 + 5 bytes + +INCBIN "baserom.gbc",$62516,$1aea + +SECTION "bank19",DATA,BANK[$19] + +Tset00_GFX: + INCBIN "gfx/tilesets/00.2bpp" +Tset00_Block: + INCBIN "gfx/blocksets/00.bst" +Tset01_GFX: + INCBIN "gfx/tilesets/01.2bpp" +Tset01_Block: + INCBIN "gfx/blocksets/01.bst" +Tset08_GFX: + INCBIN "gfx/tilesets/08.2bpp" +Tset08_Block: + INCBIN "gfx/blocksets/08.bst" +Tset13_GFX: + INCBIN "gfx/tilesets/13.2bpp" +Tset13_Block: + INCBIN "gfx/blocksets/13.bst" +Tset0E_GFX: + INCBIN "gfx/tilesets/0e.2bpp" +Tset0E_Block: + INCBIN "gfx/blocksets/0e.bst" +Tset10_GFX: + INCBIN "gfx/tilesets/10.2bpp" +Tset10_Block: + INCBIN "gfx/blocksets/10.bst" +Tset17_GFX: + INCBIN "gfx/tilesets/17.2bpp" +Tset17_Block: + INCBIN "gfx/blocksets/17.bst" + +SECTION "bank1A",DATA,BANK[$1A] + +DecrementPP: ; 0x68000 +; after using a move, decrement pp in battle and (if not transformed?) in party + ld a, [de] + cp a, STRUGGLE + ret z ; if the pokemon is using "struggle", there's nothing to do + ; we don't decrement PP for "struggle" + ld hl, W_PLAYERBATTSTATUS1 + ld a, [hli] ; load the W_PLAYERBATTSTATUS1 pokemon status flags and increment hl to load the + ; W_PLAYERBATTSTATUS2 status flags later + and a, 7 ; check to see if bits 0, 1, or 2 are set + ret nz ; if any of these statuses are true, don't decrement PP + bit 6, [hl] ; check 6th bit status flag on W_PLAYERBATTSTATUS2 + ret nz ; and return if it is set + ld hl, $D02D ; PP of first move (in battle) + call .DecrementPP\@ + + ld a, [$D064] ; load pokemon status bits? + bit 3, a ; XXX transform status? + ret nz ; If it is, return. Pokemon Red stores the "current pokemon's" PP + ; separately from the "Pokemon in your party's" PP. This is + ; duplication -- in all cases *other* than Pokemon with Transform. + ; Normally, this means we have to go on and make the same + ; modification to the "party's pokemon" PP that we made to the + ; "current pokemon's" PP. But, if we're dealing with a Transformed + ; Pokemon, it has separate PP for the move set that it copied from + ; its opponent, which is *not* the same as its real PP as part of your + ; party. So we return, and don't do that part. + + ld hl, $D188 ; PP of first move (in party) + ld a, [$CC2F] ; which mon in party is active + ld bc, $2C ; XXX probably size of party pokemon's data structure + call AddNTimes ; calculate address of the mon to modify +.DecrementPP\@ + ld a, [$CC2E] ; which move (0, 1, 2, 3) did we use? + ld c, a + ld b, 0 + add hl ,bc ; calculate the address in memory of the PP we need to decrement + ; based on the move chosen. + dec [hl] ; Decrement PP + ret +; 0x6802f + +Version_GFX: +IF _RED + INCBIN "gfx/red/redgreenversion.1bpp" + ; 80 bytes +ENDC +IF _BLUE + INCBIN "gfx/blue/blueversion.1bpp" + ; 64 bytes +ENDC + +Tset05_GFX: + INCBIN "gfx/tilesets/05.2bpp" +Tset05_Block: + INCBIN "gfx/blocksets/05.bst" +Tset02_GFX: + INCBIN "gfx/tilesets/02.2bpp" +Tset02_Block: + INCBIN "gfx/blocksets/02.bst" +Tset09_GFX: + INCBIN "gfx/tilesets/09.2bpp" +Tset09_Block: + INCBIN "gfx/blocksets/09.bst" +Tset03_GFX: + INCBIN "gfx/tilesets/03.2bpp" +Tset03_Block: + INCBIN "gfx/blocksets/03.bst" +Tset16_GFX: + INCBIN "gfx/tilesets/16.2bpp" +Tset16_Block: + INCBIN "gfx/blocksets/16.bst" + +SECTION "bank1B",DATA,BANK[$1B] + +Tset0F_GFX: + INCBIN "gfx/tilesets/0f.2bpp" +Tset0F_Block: + INCBIN "gfx/blocksets/0f.bst" +Tset11_GFX: + INCBIN "gfx/tilesets/11.2bpp" +Tset11_Block: + INCBIN "gfx/blocksets/11.bst" +Tset12_GFX: + INCBIN "gfx/tilesets/12.2bpp" +Tset12_Block: + INCBIN "gfx/blocksets/12.bst" +Tset0D_GFX: + INCBIN "gfx/tilesets/0d.2bpp" +Tset0D_Block: + INCBIN "gfx/blocksets/0d.bst" +Tset14_GFX: + INCBIN "gfx/tilesets/14.2bpp" +Tset14_Block: + INCBIN "gfx/blocksets/14.bst" +Tset15_GFX: + INCBIN "gfx/tilesets/15.2bpp" +Tset15_Block: + INCBIN "gfx/blocksets/15.bst" +Tset0B_GFX: + INCBIN "gfx/tilesets/0b.2bpp" +Tset0B_Block: + INCBIN "gfx/blocksets/0b.bst" + +SECTION "bank1C",DATA,BANK[$1C] + +INCBIN "baserom.gbc",$70000,$703fa - $70000 + +UnnamedText_703fa: ; 0x703fa + TX_FAR _UnnamedText_703fa + db $50 +; 0x703fa + 5 bytes + +UnnamedText_703ff: ; 0x703ff + TX_FAR _UnnamedText_703ff + db $50 +; 0x703ff + 5 bytes + +INCBIN "baserom.gbc",$70404,$70847 - $70404 + +UnnamedText_70847: ; 0x70847 + TX_FAR _UnnamedText_70847 + db $50 +; 0x70847 + 5 bytes + +UnnamedText_7084c: ; 0x7084c + TX_FAR _UnnamedText_7084c + db $50 +; 0x7084c + 5 bytes + +UnnamedText_70851: ; 0x70851 + TX_FAR _UnnamedText_70851 + db $50 +; 0x70851 + 5 bytes + +INCBIN "baserom.gbc",$70856,$8aa + +CompressedMap: ; 5100 +; you can decompress this file with the redrle program in the extras/ dir + INCBIN "baserom.gbc",$71100,$711AB-$71100 + +INCBIN "baserom.gbc",$711AB,$71313-$711AB + +ExternalMapEntries: ; 5313 + EMAP $2,$B,PalletTownName + EMAP $2,$8,ViridianCityName + EMAP $2,$3,PewterCityName + EMAP $A,$2,CeruleanCityName + EMAP $E,$5,LavenderTownName + EMAP $A,$9,VermilionCityName + EMAP $7,$5,CeladonCityName + EMAP $8,$D,FuchsiaCityName + EMAP $2,$F,CinnabarIslandName + EMAP $0,$2,IndigoPlateauName + EMAP $A,$5,SaffronCityName + EMAP $0,$0,PalletTownName ; unused + EMAP $2,$A,Route1Name + EMAP $2,$6,Route2Name + EMAP $4,$3,Route3Name + EMAP $8,$2,Route4Name + EMAP $A,$3,Route5Name + EMAP $A,$8,Route6Name + EMAP $8,$5,Route7Name + EMAP $D,$5,Route8Name + EMAP $D,$2,Route9Name + EMAP $E,$4,Route10Name + EMAP $C,$9,Route11Name + EMAP $E,$9,Route12Name + EMAP $D,$B,Route13Name + EMAP $B,$C,Route14Name + EMAP $A,$D,Route15Name + EMAP $5,$5,Route16Name + EMAP $4,$8,Route17Name + EMAP $6,$D,Route18Name + EMAP $6,$F,Route19Name + EMAP $4,$F,Route20Name + EMAP $2,$D,Route21Name + EMAP $0,$8,Route22Name + EMAP $0,$6,Route23Name + EMAP $A,$1,Route24Name + EMAP $B,$0,Route25Name + +InternalMapEntries: ; 5382 + IMAP $29,$2,$B,PalletTownName + IMAP $2E,$2,$8,ViridianCityName + IMAP $33,$2,$6,Route2Name + IMAP $34,$2,$4,ViridianForestName + IMAP $3B,$2,$3,PewterCityName + IMAP $3E,$6,$2,MountMoonName + IMAP $44,$A,$2,CeruleanCityName + IMAP $45,$5,$2,Route4Name + IMAP $46,$A,$2,CeruleanCityName + IMAP $49,$A,$4,Route5Name + IMAP $4C,$A,$6,Route6Name + IMAP $4F,$9,$5,Route7Name + IMAP $51,$B,$5,Route8Name + IMAP $53,$E,$3,RockTunnelName + IMAP $54,$F,$4,PowerPlantName + IMAP $57,$D,$9,Route11Name + IMAP $58,$E,$7,Route12Name + IMAP $59,$C,$0,SeaCottageName + IMAP $5F,$A,$9,VermilionCityName + IMAP $69,$9,$A,SSAnneName + IMAP $6D,$0,$4,VictoryRoadName + IMAP $77,$0,$2,PokemonLeagueName + IMAP $78,$A,$5,UndergroundPathName + IMAP $79,$0,$2,PokemonLeagueName + IMAP $7A,$A,$5,UndergroundPathName + IMAP $8D,$7,$5,CeladonCityName + IMAP $8E,$E,$5,LavenderTownName + IMAP $95,$F,$5,PokemonTowerName + IMAP $98,$E,$5,LavenderTownName + IMAP $9C,$8,$D,FuchsiaCityName + IMAP $9D,$8,$C,SafariZoneName + IMAP $9F,$8,$D,FuchsiaCityName + IMAP $A3,$5,$F,SeafoamIslandsName + IMAP $A4,$A,$9,VermilionCityName + IMAP $A5,$8,$D,FuchsiaCityName + IMAP $A6,$2,$F,PokemonMansionName + IMAP $AE,$2,$F,CinnabarIslandName + IMAP $AF,$0,$2,IndigoPlateauName + IMAP $B8,$A,$5,SaffronCityName + IMAP $BA,$9,$D,Route15Name + IMAP $BD,$4,$5,Route16Name + IMAP $BE,$E,$A,Route12Name + IMAP $C0,$7,$D,Route18Name + IMAP $C1,$5,$F,SeafoamIslandsName + IMAP $C2,$0,$7,Route22Name + IMAP $C3,$0,$4,VictoryRoadName + IMAP $C4,$E,$7,Route12Name + IMAP $C5,$A,$9,VermilionCityName + IMAP $C6,$3,$4,DiglettsCaveName + IMAP $C7,$0,$4,VictoryRoadName + IMAP $CF,$7,$5,RocketHQName + IMAP $D6,$A,$5,SilphCoName + IMAP $D9,$2,$F,PokemonMansionName + IMAP $E2,$8,$C,SafariZoneName + IMAP $E5,$9,$1,CeruleanCaveName + IMAP $E6,$E,$5,LavenderTownName + IMAP $E7,$A,$2,CeruleanCityName + IMAP $E9,$E,$3,RockTunnelName + IMAP $ED,$A,$5,SilphCoName + IMAP $F8,$0,$2,PokemonLeagueName + db $FF + +MapNames: ; 5473 +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@" +FuchsiaCityName: + db "FUCHSIA CITY@" +CinnabarIslandName: + db "CINNABAR ISLAND@" +IndigoPlateauName: + db "INDIGO PLATEAU@" +SaffronCityName: + db "SAFFRON CITY@" +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 "SEA ROUTE 19@" +Route20Name: + db "SEA ROUTE 20@" +Route21Name: + db "SEA ROUTE 21@" +Route22Name: + db "ROUTE 22@" +Route23Name: + db "ROUTE 23@" +Route24Name: + db "ROUTE 24@" +Route25Name: + db "ROUTE 25@" +ViridianForestName: + db "VIRIDIAN FOREST@" +MountMoonName: + db "MT.MOON@" +RockTunnelName: + db "ROCK TUNNEL@" +SeaCottageName: + db "SEA COTTAGE@" +SSAnneName: + db "S.S.ANNE@" +PokemonLeagueName: + db "#MON LEAGUE@" +UndergroundPathName: + db "UNDERGROUND PATH@" +PokemonTowerName: + db "#MON TOWER@" +SeafoamIslandsName: + db "SEAFOAM ISLANDS@" +VictoryRoadName: + db "VICTORY ROAD@" +DiglettsCaveName: + db "DIGLETT's CAVE@" +RocketHQName: + db "ROCKET HQ@" +SilphCoName: + db "SILPH CO.@" +PokemonMansionName: + db $4a," MANSION@" +SafariZoneName: + db "SAFARI ZONE@" +CeruleanCaveName: + db "CERULEAN CAVE@" +PowerPlantName: + db "POWER PLANT@" + +INCBIN "baserom.gbc",$716BE,$71AD9-$716BE + +Predef54: ; 0x71ad9 +; trigger the trade offer/action specified by W_WHICHTRADE + call $36f4 + ld hl,TradeMons + ld a,[W_WHICHTRADE] + ld b,a + swap a + sub b + sub b + ld c,a + ld b,$0 + add hl,bc + ld a,[hli] + ld [$cd0f],a + ld a,[hli] + ld [$cd34],a + ld a,[hli] + push af + ld de,$cd29 + ld bc,$000b + call CopyData + pop af + ld l,a + ld h,$0 + ld de,$5d64 + add hl,hl + add hl,de + ld a,[hli] + ld [$cd10],a + ld a,[hl] + ld [$cd11],a + ld a,[$cd0f] + ld de,$cd13 + call Function71b6a + ld a,[$cd34] + ld de,$cd1e + call Function71b6a + ld hl,$d737 + ld a,[W_WHICHTRADE] + ld c,a + ld b,$2 + ld a,$10 + call Predef + ld a,c + and a + ld a,$4 + ld [$cd12],a + jr nz,.asm_99bca ; 0x71b36 $20 + xor a + ld [$cd12],a + call .asm_99bca + ld a,$1 + ld [$cd12],a + call $35ec + ld a,[$cc26] + and a + jr nz,.asm_99bca ; 0x71b4b $b + call Function71c07 + jr c,.asm_99bca ; 0x71b50 $6 + ld hl, UnnamedText_71d8d + call PrintText +.asm_99bca ; 0x71b58 + ld hl,$cd12 + ld a,[hld] + ld e,a + ld d,$0 + ld a,[hld] + ld l,[hl] + ld h,a + add hl,de + add hl,de + ld a,[hli] + ld h,[hl] + ld l,a + jp PrintText + +Function71b6a: ; 0x71b6a + push de + ld [$d11e],a + call GetMonName + ld hl,$cd6d + pop de + ld bc,$b + jp CopyData + +TradeMons: ; 5B7B +; givemonster, getmonster, textstring, nickname (11 bytes), 14 bytes total + db NIDORINO, NIDORINA, 0,"TERRY@@@@@@" + db ABRA, MR_MIME, 0,"MARCEL@@@@@" + db BUTTERFREE,BEEDRILL, 2,"CHIKUCHIKU@" + db PONYTA, SEEL, 0,"SAILOR@@@@@" + db SPEAROW, FARFETCH_D,2,"DUX@@@@@@@@" + db SLOWBRO, LICKITUNG, 0,"MARC@@@@@@@" + db POLIWHIRL, JYNX, 1,"LOLA@@@@@@@" + db RAICHU, ELECTRODE, 1,"DORIS@@@@@@" + db VENONAT, TANGELA, 2,"CRINKLES@@@" + db NIDORAN_M, NIDORAN_F, 2,"SPOT@@@@@@@" + +Function71c07: ; 0x71c07 + xor a + ld [$d07d],a + dec a + ld [$cfcb],a + call $13fc + push af + call $5ca2 + pop af + ld a,$1 + jp c,.asm_c4bc2 + ld a,[$cd0f] + ld b,a + ld a,[$cf91] + cp b + ld a,$2 + jr nz,.asm_c4bc2 ; 0x71c26 $75 + ld a,[$cf92] + ld hl,$d18c + ld bc,$002c + call AddNTimes + ld a,[hl] + ld [$d127],a + ld hl,$d737 + ld a,[W_WHICHTRADE] + ld c,a + ld b,$1 + ld a,$10 + call Predef + ld hl, UnnamedText_71d88 + call PrintText + ld a,[$cf92] + push af + ld a,[$d127] + push af + call $36c0 + call $5cc1 + ld a,$38 + call Predef + pop af + ld [$d127],a + pop af + ld [$cf92],a + ld a,[$cd34] + ld [$cf91],a + xor a + ld [$cc49],a + ld [$cf95],a + call $391f + ld a,$80 + ld [$cc49],a + call AddPokemonToParty + call $5d19 + ld hl,$7d7d + ld b,$5 + call Bankswitch + call ClearScreen + call $5ca2 + ld b,$3 + ld hl,$6edc + call Bankswitch + and a + ld a,$3 + jr .asm_ee803 ; 0x71c9b $1 +.asm_c4bc2 ; 0x71c9d + scf +.asm_ee803 ; 0x71c9e + ld [$cd12],a + ret + +INCBIN "baserom.gbc",$71ca2,$71d88 - $71ca2 + +UnnamedText_71d88: ; 0x71d88 + TX_FAR _UnnamedText_71d88 + db $50 +; 0x71d88 + 5 bytes + +UnnamedText_71d8d: ; 0x71d8d + TX_FAR _UnnamedText_71d8d ; 0xa80bc + db $11, $a, $50 + +UnnamedText_71d94: ; 0x71d94 + TX_FAR _UnnamedText_71d94 + db $50 +; 0x71d94 + 5 bytes + +UnnamedText_71d99: ; 0x71d99 + TX_FAR _UnnamedText_71d99 + db $50 +; 0x71d99 + 5 bytes + +UnnamedText_71d9e: ; 0x71d9e + TX_FAR _UnnamedText_71d9e + db $50 +; 0x71d9e + 5 bytes + +UnnamedText_71da3: ; 0x71da3 + TX_FAR _UnnamedText_71da3 + db $50 +; 0x71da3 + 5 bytes + +UnnamedText_71da8: ; 0x71da8 + TX_FAR _UnnamedText_71da8 + db $50 +; 0x71da8 + 5 bytes + +UnnamedText_71dad: ; 0x71dad + TX_FAR _UnnamedText_71dad + db $50 +; 0x71dad + 5 bytes + +UnnamedText_71db2: ; 0x71db2 + TX_FAR _UnnamedText_71db2 + db $50 +; 0x71db2 + 5 bytes + +UnnamedText_71db7: ; 0x71db7 + TX_FAR _UnnamedText_71db7 + db $50 +; 0x71db7 + 5 bytes + +UnnamedText_71dbc: ; 0x71dbc + TX_FAR _UnnamedText_71dbc + db $50 +; 0x71dbc + 5 bytes + +UnnamedText_71dc1: ; 0x71dc1 + TX_FAR _UnnamedText_71dc1 + db $50 +; 0x71dc1 + 5 bytes + +UnnamedText_71dc6: ; 0x71dc6 + TX_FAR _UnnamedText_71dc6 + db $50 +; 0x71dc6 + 5 bytes + +UnnamedText_71dcb: ; 0x71dcb + TX_FAR _UnnamedText_71dcb + db $50 +; 0x71dcb + 5 bytes + +UnnamedText_71dd0: ; 0x71dd0 + TX_FAR _UnnamedText_71dd0 + db $50 +; 0x71dd0 + 5 bytes + +UnnamedText_71dd5: ; 0x71dd5 + TX_FAR _UnnamedText_71dd5 + db $50 +; 0x71dd5 + 5 bytes + +UnnamedText_71dda: ; 0x71dda + TX_FAR _UnnamedText_71dda + db $50 +; 0x71dda + 5 bytes + +INCBIN "baserom.gbc",$71ddf,$7e9 + +MonsterPalettes: ; 65C8 + db PAL_MEWMON ; MISSINGNO + db PAL_GREENMON ; BULBASAUR + db PAL_GREENMON ; IVYSAUR + db PAL_GREENMON ; VENUSAUR + db PAL_REDMON ; CHARMANDER + db PAL_REDMON ; CHARMELEON + db PAL_REDMON ; CHARIZARD + db PAL_CYANMON ; SQUIRTLE + db PAL_CYANMON ; WARTORTLE + db PAL_CYANMON ; BLASTOISE + db PAL_GREENMON ; CATERPIE + db PAL_GREENMON ; METAPOD + db PAL_CYANMON ; BUTTERFREE + db PAL_YELLOWMON ; WEEDLE + db PAL_YELLOWMON ; KAKUNA + db PAL_YELLOWMON ; BEEDRILL + db PAL_BROWNMON ; PIDGEY + db PAL_BROWNMON ; PIDGEOTTO + db PAL_BROWNMON ; PIDGEOT + db PAL_GREYMON ; RATTATA + db PAL_GREYMON ; RATICATE + db PAL_BROWNMON ; SPEAROW + db PAL_BROWNMON ; FEAROW + db PAL_PURPLEMON ; EKANS + db PAL_PURPLEMON ; ARBOK + db PAL_YELLOWMON ; PIKACHU + db PAL_YELLOWMON ; RAICHU + db PAL_BROWNMON ; SANDSHREW + db PAL_BROWNMON ; SANDSLASH + db PAL_BLUEMON ; NIDORAN_F + db PAL_BLUEMON ; NIDORINA + db PAL_BLUEMON ; NIDOQUEEN + db PAL_PURPLEMON ; NIDORAN_M + db PAL_PURPLEMON ; NIDORINO + db PAL_PURPLEMON ; NIDOKING + db PAL_PINKMON ; CLEFAIRY + db PAL_PINKMON ; CLEFABLE + db PAL_REDMON ; VULPIX + db PAL_YELLOWMON ; NINETALES + db PAL_PINKMON ; JIGGLYPUFF + db PAL_PINKMON ; WIGGLYTUFF + db PAL_BLUEMON ; ZUBAT + db PAL_BLUEMON ; GOLBAT + db PAL_GREENMON ; ODDISH + db PAL_REDMON ; GLOOM + db PAL_REDMON ; VILEPLUME + db PAL_REDMON ; PARAS + db PAL_REDMON ; PARASECT + db PAL_PURPLEMON ; VENONAT + db PAL_PURPLEMON ; VENOMOTH + db PAL_BROWNMON ; DIGLETT + db PAL_BROWNMON ; DUGTRIO + db PAL_YELLOWMON ; MEOWTH + db PAL_YELLOWMON ; PERSIAN + db PAL_YELLOWMON ; PSYDUCK + db PAL_CYANMON ; GOLDUCK + db PAL_BROWNMON ; MANKEY + db PAL_BROWNMON ; PRIMEAPE + db PAL_BROWNMON ; GROWLITHE + db PAL_REDMON ; ARCANINE + db PAL_BLUEMON ; POLIWAG + db PAL_BLUEMON ; POLIWHIRL + db PAL_BLUEMON ; POLIWRATH + db PAL_YELLOWMON ; ABRA + db PAL_YELLOWMON ; KADABRA + db PAL_YELLOWMON ; ALAKAZAM + db PAL_GREYMON ; MACHOP + db PAL_GREYMON ; MACHOKE + db PAL_GREYMON ; MACHAMP + db PAL_GREENMON ; BELLSPROUT + db PAL_GREENMON ; WEEPINBELL + db PAL_GREENMON ; VICTREEBEL + db PAL_CYANMON ; TENTACOOL + db PAL_CYANMON ; TENTACRUEL + db PAL_GREYMON ; GEODUDE + db PAL_GREYMON ; GRAVELER + db PAL_GREYMON ; GOLEM + db PAL_REDMON ; PONYTA + db PAL_REDMON ; RAPIDASH + db PAL_PINKMON ; SLOWPOKE + db PAL_PINKMON ; SLOWBRO + db PAL_GREYMON ; MAGNEMITE + db PAL_GREYMON ; MAGNETON + db PAL_BROWNMON ; FARFETCH_D + db PAL_BROWNMON ; DODUO + db PAL_BROWNMON ; DODRIO + db PAL_BLUEMON ; SEEL + db PAL_BLUEMON ; DEWGONG + db PAL_PURPLEMON ; GRIMER + db PAL_PURPLEMON ; MUK + db PAL_GREYMON ; SHELLDER + db PAL_GREYMON ; CLOYSTER + db PAL_PURPLEMON ; GASTLY + db PAL_PURPLEMON ; HAUNTER + db PAL_PURPLEMON ; GENGAR + db PAL_GREYMON ; ONIX + db PAL_YELLOWMON ; DROWZEE + db PAL_YELLOWMON ; HYPNO + db PAL_REDMON ; KRABBY + db PAL_REDMON ; KINGLER + db PAL_YELLOWMON ; VOLTORB + db PAL_YELLOWMON ; ELECTRODE + db PAL_PINKMON ; EXEGGCUTE + db PAL_GREENMON ; EXEGGUTOR + db PAL_GREYMON ; CUBONE + db PAL_GREYMON ; MAROWAK + db PAL_BROWNMON ; HITMONLEE + db PAL_BROWNMON ; HITMONCHAN + db PAL_PINKMON ; LICKITUNG + db PAL_PURPLEMON ; KOFFING + db PAL_PURPLEMON ; WEEZING + db PAL_GREYMON ; RHYHORN + db PAL_GREYMON ; RHYDON + db PAL_PINKMON ; CHANSEY + db PAL_BLUEMON ; TANGELA + db PAL_BROWNMON ; KANGASKHAN + db PAL_CYANMON ; HORSEA + db PAL_CYANMON ; SEADRA + db PAL_REDMON ; GOLDEEN + db PAL_REDMON ; SEAKING + db PAL_REDMON ; STARYU + db PAL_GREYMON ; STARMIE + db PAL_PINKMON ; MR_MIME + db PAL_GREENMON ; SCYTHER + db PAL_MEWMON ; JYNX + db PAL_YELLOWMON ; ELECTABUZZ + db PAL_REDMON ; MAGMAR + db PAL_BROWNMON ; PINSIR + db PAL_GREYMON ; TAUROS + db PAL_REDMON ; MAGIKARP + db PAL_BLUEMON ; GYARADOS + db PAL_CYANMON ; LAPRAS + db PAL_GREYMON ; DITTO + db PAL_GREYMON ; EEVEE + db PAL_CYANMON ; VAPOREON + db PAL_YELLOWMON ; JOLTEON + db PAL_REDMON ; FLAREON + db PAL_GREYMON ; PORYGON + db PAL_BLUEMON ; OMANYTE + db PAL_BLUEMON ; OMASTAR + db PAL_BROWNMON ; KABUTO + db PAL_BROWNMON ; KABUTOPS + db PAL_GREYMON ; AERODACTYL + db PAL_PINKMON ; SNORLAX + db PAL_BLUEMON ; ARTICUNO + db PAL_YELLOWMON ; ZAPDOS + db PAL_REDMON ; MOLTRES + db PAL_GREYMON ; DRATINI + db PAL_BLUEMON ; DRAGONAIR + db PAL_BROWNMON ; DRAGONITE + db PAL_MEWMON ; MEWTWO + db PAL_MEWMON ; MEW + +; palettes for overworlds, title screen, monsters +SuperPalettes: ; 6660 + RGB 31,29,31 ; PAL_ROUTE + RGB 21,28,11 + RGB 20,26,31 + RGB 3,2,2 + RGB 31,29,31 ; PAL_PALLET + RGB 25,28,27 + RGB 20,26,31 + RGB 3,2,2 + RGB 31,29,31 ; PAL_VIRIDIAN + RGB 17,26,3 + RGB 20,26,31 + RGB 3,2,2 + RGB 31,29,31 ; PAL_PEWTER + RGB 23,25,16 + RGB 20,26,31 + RGB 3,2,2 + RGB 31,29,31 ; PAL_CERULEAN + RGB 17,20,30 + RGB 20,26,31 + RGB 3,2,2 + RGB 31,29,31 ; PAL_LAVENDER + RGB 27,20,27 + RGB 20,26,31 + RGB 3,2,2 + RGB 31,29,31 ; PAL_VERMILION + RGB 30,18,0 + RGB 20,26,31 + RGB 3,2,2 + RGB 31,29,31 ; PAL_CELADON + RGB 16,30,22 + RGB 20,26,31 + RGB 3,2,2 + RGB 31,29,31 ; PAL_FUCHSIA + RGB 31,15,22 + RGB 20,26,31 + RGB 3,2,2 + RGB 31,29,31 ; PAL_CINNABAR + RGB 26,10,6 + RGB 20,26,31 + RGB 3,2,2 + RGB 31,29,31 ; PAL_INDIGO + RGB 22,14,24 + RGB 20,26,31 + RGB 3,2,2 + RGB 31,29,31 ; PAL_SAFFRON + RGB 27,27,3 + RGB 20,26,31 + RGB 3,2,2 + RGB 31,29,31 ; XXX + RGB 20,26,31 + RGB 17,23,10 + RGB 3,2,2 +IF _RED + RGB 31,29,31 ; PAL_LOGO1 + RGB 30,30,17 + RGB 17,23,10 + RGB 21,0,4 +ENDC +IF _BLUE + RGB 31,29,31 ; PAL_LOGO1 + RGB 30,30,17 + RGB 21,0,4 + RGB 14,19,29 +ENDC + RGB 31,29,31 ; XXX + RGB 30,30,17 + RGB 18,18,24 + RGB 7,7,16 + RGB 31,29,31 ; PAL_LOGO2 + RGB 24,20,30 + RGB 11,20,30 + RGB 3,2,2 + RGB 31,29,31 ; PAL_MEWMON + RGB 30,22,17 + RGB 16,14,19 + RGB 3,2,2 + RGB 31,29,31 ; PAL_BLUEMON + RGB 18,20,27 + RGB 11,15,23 + RGB 3,2,2 + RGB 31,29,31 ; PAL_REDMON + RGB 31,20,10 + RGB 26,10,6 + RGB 3,2,2 + RGB 31,29,31 ; PAL_CYANMON + RGB 21,25,29 + RGB 14,19,25 + RGB 3,2,2 + RGB 31,29,31 ; PAL_PURPLEMON + RGB 27,22,24 + RGB 21,15,23 + RGB 3,2,2 + RGB 31,29,31 ; PAL_BROWNMON + RGB 28,20,15 + RGB 21,14,9 + RGB 3,2,2 + RGB 31,29,31 ; PAL_GREENMON + RGB 20,26,16 + RGB 9,20,11 + RGB 3,2,2 + RGB 31,29,31 ; PAL_PINKMON + RGB 30,22,24 + RGB 28,15,21 + RGB 3,2,2 + RGB 31,29,31 ; PAL_YELLOWMON + RGB 31,28,14 + RGB 26,20,0 + RGB 3,2,2 + RGB 31,29,31 ; PAL_GREYMON + RGB 26,21,22 + RGB 15,15,18 + RGB 3,2,2 + RGB 31,29,31 ; PAL_SLOTS1 + RGB 26,21,22 + RGB 27,20,6 + RGB 3,2,2 + RGB 31,29,31 ; PAL_SLOTS2 + RGB 31,31,17 +IF _RED + RGB 25,17,21 +ENDC +IF _BLUE + RGB 16,19,29 +ENDC + RGB 3,2,2 + RGB 31,29,31 ; PAL_SLOTS3 + RGB 22,31,16 +IF _RED + RGB 25,17,21 +ENDC +IF _BLUE + RGB 16,19,29 +ENDC + RGB 3,2,2 + RGB 31,29,31 ; PAL_SLOTS4 +IF _RED + RGB 16,19,29 + RGB 25,17,21 +ENDC +IF _BLUE + RGB 25,17,21 + RGB 16,19,29 +ENDC + RGB 3,2,2 + RGB 31,29,31 ; PAL_BLACK + RGB 7,7,7 + RGB 2,3,3 + RGB 3,2,2 + RGB 31,29,31 ; PAL_GREENBAR + RGB 30,26,15 + RGB 9,20,11 + RGB 3,2,2 + RGB 31,29,31 ; PAL_YELLOWBAR + RGB 30,26,15 + RGB 26,20,0 + RGB 3,2,2 + RGB 31,29,31 ; PAL_REDBAR + RGB 30,26,15 + RGB 26,10,6 + RGB 3,2,2 + RGB 31,29,31 ; PAL_BADGE + RGB 30,22,17 + RGB 11,15,23 + RGB 3,2,2 + RGB 31,29,31 ; PAL_CAVE + RGB 21,14,9 + RGB 18,24,22 + RGB 3,2,2 + RGB 31,29,31 ; XXX + RGB 31,28,14 + RGB 24,20,10 + RGB 3,2,2 +BorderPalettes: ; 6788 + +IF _RED + INCBIN "gfx/red/sgbborder.map" +ENDC +IF _BLUE + INCBIN "gfx/blue/sgbborder.map" +ENDC + +INCBIN "baserom.gbc",$72E88,$2F88 - $2E88 ; All $00s +IF _RED + RGB 30,29,29 ; PAL_SGB1 + RGB 25,22,25 + RGB 25,17,21 + RGB 24,14,12 +ENDC +IF _BLUE + RGB 0,0,0 ; PAL_SGB1 (the first color is not defined, but if used, turns up as 30,29,29... o_O) + RGB 10,17,26 + RGB 5,9,20 + RGB 16,20,27 +ENDC + +INCBIN "baserom.gbc",$72F90,$2FA8 - $2F90 ; All $00s + +IF _RED + RGB 30,29,29 ; PAL_SGB2 + RGB 22,31,16 + RGB 27,20,6 + RGB 15,15,15 +ENDC +IF _BLUE + RGB 30,29,29 ; PAL_SGB2 + RGB 27,11,6 + RGB 5,9,20 + RGB 28,25,15 +ENDC + +INCBIN "baserom.gbc",$72FB0,$2FC8 - $2FB0 ; All $00s + +IF _RED + RGB 30,29,29 ; PAL_SGB3 + RGB 31,31,17 + RGB 18,21,29 + RGB 15,15,15 +ENDC +IF _BLUE + RGB 30,29,29 ; PAL_SGB3 + RGB 12,15,11 + RGB 5,9,20 + RGB 14,22,17 +ENDC + +INCBIN "baserom.gbc",$72FD0,$2FE8 - $2FD0 ; All $00s + +IF _RED + INCBIN "gfx/red/sgbborder.2bpp" +ENDC +IF _BLUE + INCBIN "gfx/blue/sgbborder.2bpp" +ENDC + +INCBIN "baserom.gbc",$735e8,$7361e - $735e8 + +UnnamedText_7361e: ; 0x7361e + TX_FAR _UnnamedText_7361e + db $50 +; 0x7361e + 5 bytes + +INCBIN "baserom.gbc",$73623,$7377d - $73623 + +UnnamedText_7377d: ; 0x7377d + TX_FAR _UnnamedText_7377d + db $50 +; 0x7377d + 5 bytes + +UnnamedText_73782: ; 0x73782 + TX_FAR _UnnamedText_73782 + db $50 +; 0x73782 + 5 bytes + +UnnamedText_73787: ; 0x73787 + TX_FAR _UnnamedText_73787 + db $50 +; 0x73787 + 5 bytes + +INCBIN "baserom.gbc",$7378c,$73909 - $7378c + +UnnamedText_73909: ; 0x73909 + TX_FAR _UnnamedText_73909 + db $50 +; 0x73909 + 5 bytes + +INCBIN "baserom.gbc",$7390e,$739d4 - $7390e + +UnnamedText_739d4: ; 0x739d4 + TX_FAR _UnnamedText_739d4 + db $50 +; 0x739d4 + 5 bytes + +INCBIN "baserom.gbc",$739d9,$627 + +SECTION "bank1D",DATA,BANK[$1D] + +CopycatsHouseF1Blocks: ; 0x74000 + INCBIN "maps/copycatshousef1.blk" + +CinnabarMartBlocks: +PewterMartBlocks: ; 0x74010 16 + INCBIN "maps/pewtermart.blk" + +FuchsiaHouse1Blocks: ; 0x74020 16 + INCBIN "maps/fuchsiahouse1.blk" + +CinnabarPokecenterBlocks: +FuchsiaPokecenterBlocks: ; 0x74030 28 + INCBIN "maps/fuchsiapokecenter.blk" + +CeruleanHouse3Blocks: ; 0x7404c 16 + INCBIN "maps/ceruleanhouse3.blk" + +INCBIN "baserom.gbc",$7405c,$6f + +Func40CB: ; 40CB + xor a + ld [$FFBA],a + call $3719 + call $4183 + + ; display the next monster from CreditsMons + ld hl,$CD3E + ld c,[hl] ; how many monsters have we displayed so far? + inc [hl] + ld b,0 + ld hl,CreditsMons + add hl,bc ; go that far in the list of monsters and get the next one + ld a,[hl] + ld [$CF91],a + ld [$D0B5],a + ld hl,$C420 + call $1537 + call $1389 + ld hl,$980C + call $4164 + xor a + ld [$FFBA],a + call $3725 + ld hl,$9800 + call $4164 + ld a,$A7 + ld [$FF4B],a + ld hl,$9C00 + call $4164 + call $4183 + ld a,$FC + ld [$FF47],a + ld bc,7 +.next\@ + call $4140 + dec c + jr nz,.next\@ + ld c,$14 +.next2\@ + call $4140 + ld a,[$FF4B] + sub 8 + ld [$FF4B],a + dec c + jr nz,.next2\@ + xor a + ld [$FFB0],a + ld a,$C0 + ld [$FF47],a + ret + +CreditsMons: ; 4131 + db VENUSAUR + db ARBOK + db RHYHORN + db FEAROW + db ABRA + db GRAVELER + db HITMONLEE + db TANGELA + db STARMIE + db GYARADOS + db DITTO + db OMASTAR + db VILEPLUME + db NIDOKING + db PARASECT + +INCBIN "baserom.gbc",$74140,$2C3 - $140 + +CreditsTextPointers: ; 42C3 + + dw CredVersion + dw CredTajiri + dw CredTaOota + dw CredMorimoto + dw CredWatanabe + dw CredMasuda + dw CredNisino + dw CredSugimori + dw CredNishida + dw CredMiyamoto + dw CredKawaguchi + dw CredIshihara + dw CredYamauchi + dw CredZinnai + dw CredHishida + dw CredSakai + dw CredYamaguchi + dw CredYamamoto + dw CredTaniguchi + dw CredNonomura + dw CredFuziwara + dw CredMatsusima + dw CredTomisawa + dw CredKawamoto + dw CredKakei + dw CredTsuchiya + dw CredTaNakamura + dw CredYuda + dw CredMon + dw CredDirector + dw CredProgrammers + dw CredCharDesign + dw CredMusic + dw CredSoundEffects + dw CredGameDesign + dw CredMonsterDesign + dw CredGameScene + dw CredParam + dw CredMap + dw CredTest + dw CredSpecial + dw CredProducers + dw CredProducer + dw CredExecutive + dw CredTamada + dw CredSaOota + dw CredYoshikawa + dw CredToOota + dw CredUSStaff + dw CredUSCoord + dw CredTilden + dw CredKawakami + dw CredHiNakamura + dw CredGiese + dw CredOsborne + dw CredTrans + dw CredOgasawara + dw CredIwata + dw CredIzushi + dw CredHarada + dw CredMurakawa + dw CredFukui + dw CredClub + dw CredPAAD + +CredVersion: +IF _RED + db "2RED VERSION STAFF@" +ENDC +IF _BLUE + db "2BLUE VERSION STAFF@" +ENDC +CredTajiri: + db "4SATOSHI TAJIRI@" +CredTaOota: + db "4TAKENORI OOTA@" +CredMorimoto: + db "3SHIGEKI MORIMOTO@" +CredWatanabe: + db "3TETSUYA WATANABE@" +CredMasuda: + db "4JUNICHI MASUDA@" +CredNisino: + db "5KOHJI NISINO@" +CredSugimori: + db "5KEN SUGIMORI@" +CredNishida: + db "4ATSUKO NISHIDA@" +CredMiyamoto: + db "3SHIGERU MIYAMOTO@" +CredKawaguchi: + db "2TAKASHI KAWAGUCHI@" +CredIshihara: + db "2TSUNEKAZU ISHIHARA@" +CredYamauchi: + db "3HIROSHI YAMAUCHI@" +CredZinnai: + db "3HIROYUKI ZINNAI@" +CredHishida: + db "3TATSUYA HISHIDA@" +CredSakai: + db "4YASUHIRO SAKAI@" +CredYamaguchi: + db "3WATARU YAMAGUCHI@" +CredYamamoto: + db "2KAZUYUKI YAMAMOTO@" +CredTaniguchi: + db "2RYOHSUKE TANIGUCHI@" +CredNonomura: + db "2FUMIHIRO NONOMURA@" +CredFuziwara: + db "3MOTOFUMI FUZIWARA@" +CredMatsusima: + db "3KENJI MATSUSIMA@" +CredTomisawa: + db "3AKIHITO TOMISAWA@" +CredKawamoto: + db "3HIROSHI KAWAMOTO@" +CredKakei: + db "4AKIYOSHI KAKEI@" +CredTsuchiya: + db "3KAZUKI TSUCHIYA@" +CredTaNakamura: + db "4TAKEO NAKAMURA@" +CredYuda: + db "4MASAMITSU YUDA@" +CredMon: + db "7#MON@" +CredDirector: + db "7DIRECTOR@" +CredProgrammers: + db "5PROGRAMMERS@" +CredCharDesign: + db "3CHARACTER DESIGN@" +CredMusic: + db "8MUSIC@" +CredSoundEffects: + db "4SOUND EFFECTS@" +CredGameDesign: + db "5GAME DESIGN@" +CredMonsterDesign: + db "4MONSTER DESIGN@" +CredGameScene: + db "4GAME SCENARIO@" +CredParam: + db "2PARAMETRIC DESIGN@" +CredMap: + db "6MAP DESIGN@" +CredTest: + db "3PRODUCT TESTING@" +CredSpecial: + db "4SPECIAL THANKS@" +CredProducers: + db "6PRODUCERS@" +CredProducer: + db "6PRODUCER@" +CredExecutive: + db "2EXECUTIVE PRODUCER@" +CredTamada: + db "4SOUSUKE TAMADA@" +CredSaOota: + db "5SATOSHI OOTA@" +CredYoshikawa: + db "4RENA YOSHIKAWA@" +CredToOota: + db "4TOMOMICHI OOTA@" +CredUSStaff: + db "3US VERSION STAFF@" +CredUSCoord: + db "3US COORDINATION@" +CredTilden: + db "5GAIL TILDEN@" +CredKawakami: + db "4NAOKO KAWAKAMI@" +CredHiNakamura: + db "4HIRO NAKAMURA@" +CredGiese: + db "4WILLIAM GIESE@" +CredOsborne: + db "5SARA OSBORNE@" +CredTrans: + db "3TEXT TRANSLATION@" +CredOgasawara: + db "4NOB OGASAWARA@" +CredIwata: + db "5SATORU IWATA@" +CredIzushi: + db "3TAKEHIRO IZUSHI@" +CredHarada: + db "3TAKAHIRO HARADA@" +CredMurakawa: + db "3TERUKI MURAKAWA@" +CredFukui: + db "5KOHTA FUKUI@" +CredClub: + db "1NCL SUPER MARIO CLUB@" +CredPAAD: + db "5PAAD TESTING@" + +TheEndGfx: ; 473E + INCBIN "gfx/theend.2bpp" + +INCBIN "baserom.gbc",$747de,$74872 - $747de + +Unnamed_ASM_74872: ; 0x74872 + ; code similar to this appears in a lot of banks; this particular + call $20EF ; one is called after you beat the Rocket that gives you TM28 DIG + ld a, $07 ; the screen then fades out, he disappears, and fades back in + ld [$CC4D], a + ld a, $15 + call $3E6D + ld a, $09 + ld [$CC4D], a + ld a, $11 + call $3E6D + ld a, $06 + ld [$CC4D], a + ld a, $11 + call Predef + call $20D1 + ret + +ViridianGym_h: ; 0x74897 to 0x748a3 (12 bytes) (id=45) + db $07 ; tileset + db VIRIDIAN_GYM_HEIGHT, VIRIDIAN_GYM_WIDTH ; dimensions (y, x) + dw ViridianGymBlocks, ViridianGymTexts, ViridianGymScript ; blocks, texts, scripts + db $00 ; connections + + dw ViridianGymObject ; objects + +ViridianGymScript: ; 0x748a3 + ld hl, Gym8CityName + ld de, Gym8LeaderName + call $317f + call $3c3c + ld hl, ViridianGymTrainerHeaders + ld de, $48e1 + ld a, [$d5fb] + call $3160 + ld [$d5fb], a + ret +; 0x748bf + +Gym8CityName: + db "VIRIDIAN CITY@" +Gym8LeaderName: + db "GIOVANNI@" + +INCBIN "baserom.gbc",$748D6,$116 + +ViridianGymTexts: ; 0x749ec + dw ViridianGymText1, ViridianGymText2, ViridianGymText3, ViridianGymText4, ViridianGymText5, ViridianGymText6, ViridianGymText7, ViridianGymText8, ViridianGymText9, ViridianGymText10, ViridianGymText11, ViridianGymText12, ViridianGymText13, ViridianGymText14 + +ViridianGymTrainerHeaders: +ViridianGymTrainerHeader1: ; 0x74a08 + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d751 ; flag's byte + dw UnnamedText_74afd ; 0x4afd TextBeforeBattle + dw UnnamedText_74b07 ; 0x4b07 TextAfterBattle + dw UnnamedText_74b02 ; 0x4b02 TextEndBattle + dw UnnamedText_74b02 ; 0x4b02 TextEndBattle +; 0x74a14 + +TrainerHeader_74a14: ; 0x74a14 + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d751 ; flag's byte + dw UnnamedText_74b16 ; 0x4b16 TextBeforeBattle + dw UnnamedText_74b20 ; 0x4b20 TextAfterBattle + dw UnnamedText_74b1b ; 0x4b1b TextEndBattle + dw UnnamedText_74b1b ; 0x4b1b TextEndBattle +; 0x74a20 + +TrainerHeader_74a20: ; 0x74a20 + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d751 ; flag's byte + dw UnnamedText_74b2f ; 0x4b2f TextBeforeBattle + dw UnnamedText_74b39 ; 0x4b39 TextAfterBattle + dw UnnamedText_74b34 ; 0x4b34 TextEndBattle + dw UnnamedText_74b34 ; 0x4b34 TextEndBattle +; 0x74a2c + +TrainerHeader_74a2c: ; 0x74a2c + db $5 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d751 ; flag's byte + dw UnnamedText_74b48 ; 0x4b48 TextBeforeBattle + dw UnnamedText_74b52 ; 0x4b52 TextAfterBattle + dw UnnamedText_74b4d ; 0x4b4d TextEndBattle + dw UnnamedText_74b4d ; 0x4b4d TextEndBattle +; 0x74a38 + +TrainerHeader_74a38: ; 0x74a38 + db $6 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d751 ; flag's byte + dw UnnamedText_74b61 ; 0x4b61 TextBeforeBattle + dw UnnamedText_74b6b ; 0x4b6b TextAfterBattle + dw UnnamedText_74b66 ; 0x4b66 TextEndBattle + dw UnnamedText_74b66 ; 0x4b66 TextEndBattle +; 0x74a44 + +TrainerHeader_74a44: ; 0x74a44 + db $7 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d751 ; flag's byte + dw UnnamedText_74b7a ; 0x4b7a TextBeforeBattle + dw UnnamedText_74b84 ; 0x4b84 TextAfterBattle + dw UnnamedText_74b7f ; 0x4b7f TextEndBattle + dw UnnamedText_74b7f ; 0x4b7f TextEndBattle +; 0x74a50 + +TrainerHeader_74a50: ; 0x74a50 + db $8 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d751 ; flag's byte + dw UnnamedText_74b93 ; 0x4b93 TextBeforeBattle + dw UnnamedText_74b9d ; 0x4b9d TextAfterBattle + dw UnnamedText_74b98 ; 0x4b98 TextEndBattle + dw UnnamedText_74b98 ; 0x4b98 TextEndBattle +; 0x74a5c + +TrainerHeader_74a5c: ; 0x74a5c + db $9 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d751 ; flag's byte + dw UnnamedText_74bac ; 0x4bac TextBeforeBattle + dw UnnamedText_74bb6 ; 0x4bb6 TextAfterBattle + dw UnnamedText_74bb1 ; 0x4bb1 TextEndBattle + dw UnnamedText_74bb1 ; 0x4bb1 TextEndBattle +; 0x74a68 + +db $ff + +ViridianGymText1: ; 0x74a69 + db $08 ; asm + ld a, [$d751] + bit 1, a + jr z, .asm_6de66 ; 0x74a6f + bit 0, a + jr nz, .asm_9fc95 ; 0x74a73 + call z, $4995 + call $30b6 + jr .asm_6dff7 ; 0x74a7b +.asm_9fc95 ; 0x74a7d + ld a, $1 + ld [$cc3c], a + ld hl, UnnamedText_74ad9 + call PrintText + call $20ef + ld a, $32 + ld [$cc4d], a + ld a, $11 + call Predef + call $2429 + call Delay3 + call $20d1 + jr .asm_6dff7 ; 0x74a9e +.asm_6de66 ; 0x74aa0 + ld hl, UnnamedText_74ace + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, $4ad3 + ld de, $4ad3 + call $3354 + ldh a, [$8c] + ld [$cf13], a + call $336a + call $32d7 + ld a, $8 + ld [$d05c], a + ld a, $3 + ld [$d5fb], a +.asm_6dff7 ; 0x74acb + jp TextScriptEnd + +UnnamedText_74ace: ; 0x74ace + TX_FAR _UnnamedText_74ace + db $50 +; 0x74ace + 5 bytes + +UnnamedText_74ad3: ; 0x74ad3 + TX_FAR _UnnamedText_74ad3 + db $0b, $50 +; 0x74ad9 + +UnnamedText_74ad9: ; 0x74ad9 + TX_FAR _UnnamedText_74ad9 + db $0d, $50 +; 0x74add + +ViridianGymText12: ; 0x74adf + TX_FAR _ViridianGymText12 + db $50 +; 0x74adf + 5 bytes + +ViridianGymText13: ; 0x74ae4 + TX_FAR _UnnamedText_74ae4 + db $0b + +UnnamedText_74ae9: + TX_FAR _UnnamedText_74ae9 + db $50 + +ViridianGymText14: ; 0x74aee + TX_FAR _UnnamedText_74aee + db $50 +; 0x74aee + 5 bytes + +ViridianGymText2: ; 0x74af3 + db $08 ; asm + ld hl, ViridianGymTrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_74afd: ; 0x74afd + TX_FAR _UnnamedText_74afd + db $50 +; 0x74afd + 5 bytes + +UnnamedText_74b02: ; 0x74b02 + TX_FAR _UnnamedText_74b02 + db $50 +; 0x74b02 + 5 bytes + +UnnamedText_74b07: ; 0x74b07 + TX_FAR _UnnamedText_74b07 + db $50 +; 0x74b07 + 5 bytes + +ViridianGymText3: ; 0x74b0c + db $08 ; asm + ld hl, TrainerHeader_74a14 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_74b16: ; 0x74b16 + TX_FAR _UnnamedText_74b16 + db $50 +; 0x74b16 + 5 bytes + +UnnamedText_74b1b: ; 0x74b1b + TX_FAR _UnnamedText_74b1b + db $50 +; 0x74b1b + 5 bytes + +UnnamedText_74b20: ; 0x74b20 + TX_FAR _UnnamedText_74b20 + db $50 +; 0x74b20 + 5 bytes + +ViridianGymText4: ; 0x74b25 + db $08 ; asm + ld hl, TrainerHeader_74a20 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_74b2f: ; 0x74b2f + TX_FAR _UnnamedText_74b2f + db $50 +; 0x74b2f + 5 bytes + +UnnamedText_74b34: ; 0x74b34 + TX_FAR _UnnamedText_74b34 + db $50 +; 0x74b34 + 5 bytes + +UnnamedText_74b39: ; 0x74b39 + TX_FAR _UnnamedText_74b39 + db $50 +; 0x74b39 + 5 bytes + +ViridianGymText5: ; 0x74b3e + db $08 ; asm + ld hl, TrainerHeader_74a2c + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_74b48: ; 0x74b48 + TX_FAR _UnnamedText_74b48 + db $50 +; 0x74b48 + 5 bytes + +UnnamedText_74b4d: ; 0x74b4d + TX_FAR _UnnamedText_74b4d + db $50 +; 0x74b4d + 5 bytes + +UnnamedText_74b52: ; 0x74b52 + TX_FAR _UnnamedText_74b52 + db $50 +; 0x74b52 + 5 bytes + +ViridianGymText6: ; 0x74b57 + db $08 ; asm + ld hl, TrainerHeader_74a38 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_74b61: ; 0x74b61 + TX_FAR _UnnamedText_74b61 + db $50 +; 0x74b61 + 5 bytes + +UnnamedText_74b66: ; 0x74b66 + TX_FAR _UnnamedText_74b66 + db $50 +; 0x74b66 + 5 bytes + +UnnamedText_74b6b: ; 0x74b6b + TX_FAR _UnnamedText_74b6b + db $50 +; 0x74b6b + 5 bytes + +ViridianGymText7: ; 0x74b70 + db $08 ; asm + ld hl, TrainerHeader_74a44 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_74b7a: ; 0x74b7a + TX_FAR _UnnamedText_74b7a + db $50 +; 0x74b7a + 5 bytes + +UnnamedText_74b7f: ; 0x74b7f + TX_FAR _UnnamedText_74b7f + db $50 +; 0x74b7f + 5 bytes + +UnnamedText_74b84: ; 0x74b84 + TX_FAR _UnnamedText_74b84 + db $50 +; 0x74b84 + 5 bytes + +ViridianGymText8: ; 0x74b89 + db $08 ; asm + ld hl, TrainerHeader_74a50 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_74b93: ; 0x74b93 + TX_FAR _UnnamedText_74b93 + db $50 +; 0x74b93 + 5 bytes + +UnnamedText_74b98: ; 0x74b98 + TX_FAR _UnnamedText_74b98 + db $50 +; 0x74b98 + 5 bytes + +UnnamedText_74b9d: ; 0x74b9d + TX_FAR _UnnamedText_74b9d + db $50 +; 0x74b9d + 5 bytes + +ViridianGymText9: ; 0x74ba2 + db $08 ; asm + ld hl, TrainerHeader_74a5c + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_74bac: ; 0x74bac + TX_FAR _UnnamedText_74bac + db $50 +; 0x74bac + 5 bytes + +UnnamedText_74bb1: ; 0x74bb1 + TX_FAR _UnnamedText_74bb1 + db $50 +; 0x74bb1 + 5 bytes + +UnnamedText_74bb6: ; 0x74bb6 + TX_FAR _UnnamedText_74bb6 + db $50 +; 0x74bb6 + 5 bytes + +ViridianGymText10: ; 0x74bbb + db $08 ; asm + ld a, [$d751] + bit 1, a + jr nz, .asm_1abd1 ; 0x74bc1 + ld hl, UnnamedText_74bd4 + call PrintText + jr .asm_6064d ; 0x74bc9 +.asm_1abd1 ; 0x74bcb + ld hl, UnnamedText_74bd9 + call PrintText +.asm_6064d ; 0x74bd1 + jp TextScriptEnd + +UnnamedText_74bd4: ; 0x74bd4 + TX_FAR _UnnamedText_74bd4 + db $50 +; 0x74bd4 + 5 bytes + +UnnamedText_74bd9: ; 0x74bd9 + TX_FAR _UnnamedText_74bd9 + db $50 +; 0x74bd9 + 5 bytes + +ViridianGymObject: ; 0x74bde (size=105) + db $3 ; border tile + + db $2 ; warps + db $11, $10, $4, $ff + db $11, $11, $4, $ff + + db $0 ; signs + + db $b ; people + db SPRITE_GIOVANNI, $1 + 4, $2 + 4, $ff, $d0, $41, GIOVANNI + $C8, $3 ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $7 + 4, $c + 4, $ff, $d0, $42, COOLTRAINER_M + $C8, $9 ; trainer + db SPRITE_HIKER, $b + 4, $b + 4, $ff, $d1, $43, BLACKBELT + $C8, $6 ; trainer + db SPRITE_ROCKER, $7 + 4, $a + 4, $ff, $d0, $44, TAMER + $C8, $3 ; trainer + db SPRITE_HIKER, $7 + 4, $3 + 4, $ff, $d2, $45, BLACKBELT + $C8, $7 ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $5 + 4, $d + 4, $ff, $d3, $46, COOLTRAINER_M + $C8, $a ; trainer + db SPRITE_HIKER, $1 + 4, $a + 4, $ff, $d0, $47, BLACKBELT + $C8, $8 ; trainer + db SPRITE_ROCKER, $10 + 4, $2 + 4, $ff, $d3, $48, TAMER + $C8, $4 ; trainer + db SPRITE_BLACK_HAIR_BOY_1, $5 + 4, $6 + 4, $ff, $d0, $49, COOLTRAINER_M + $C8, $1 ; trainer + db SPRITE_GYM_HELPER, $f + 4, $10 + 4, $ff, $d0, $a ; person + db SPRITE_BALL, $9 + 4, $10 + 4, $ff, $ff, $8b, REVIVE ; item + + ; warp-to + EVENT_DISP $a, $11, $10 + EVENT_DISP $a, $11, $11 + +ViridianGymBlocks: ; 0x74c47 90 + INCBIN "maps/viridiangym.blk" + +PewterMart_h: ; 0x74ca1 to 0x74cad (12 bytes) (id=56) + db $02 ; tileset + db PEWTER_MART_HEIGHT, PEWTER_MART_WIDTH ; dimensions (y, x) + dw PewterMartBlocks, PewterMartTexts, PewterMartScript ; blocks, texts, scripts + db $00 ; connections + + dw PewterMartObject ; objects + +PewterMartScript: ; 0x74cad + call $3c3c + ld a, $1 + ld [$cf0c], a + ret +; 0x74cb6 + +PewterMartTexts: ; 0x74cb6 + dw PewterMartText1, PewterMartText2, PewterMartText3 + +PewterMartText2: ; 0x74cbc + db $08 ; asm + ld hl, UnnamedText_74cc6 + call PrintText + jp TextScriptEnd + +UnnamedText_74cc6: ; 0x74cc6 + TX_FAR _UnnamedText_74cc6 + db $50 +; 0x74cc6 + 5 bytes + +PewterMartText3: ; 0x74ccb + db $08 ; asm + ld hl, UnnamedText_74cd5 + call PrintText + jp TextScriptEnd + +UnnamedText_74cd5: ; 0x74cd5 + TX_FAR _UnnamedText_74cd5 + db $50 +; 0x74cd5 + 5 bytes + +PewterMartObject: ; 0x74cda (size=38) + db $0 ; border tile + + db $2 ; warps + db $7, $3, $4, $ff + db $7, $4, $4, $ff + + db $0 ; signs + + db $3 ; people + db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person + db SPRITE_BUG_CATCHER, $3 + 4, $3 + 4, $fe, $1, $2 ; person + db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $5 + 4, $ff, $ff, $3 ; person + + ; warp-to + EVENT_DISP $4, $7, $3 + EVENT_DISP $4, $7, $4 + +UnknownDungeon1_h: ; 0x74d00 to 0x74d0c (12 bytes) (id=228) + db $11 ; tileset + db UNKNOWN_DUNGEON_1_HEIGHT, UNKNOWN_DUNGEON_1_WIDTH ; dimensions (y, x) + dw UnknownDungeon1Blocks, UnknownDungeon1Texts, UnknownDungeon1Script ; blocks, texts, scripts + db $00 ; connections + + dw UnknownDungeon1Object ; objects + +UnknownDungeon1Script: ; 0x74d0c + jp $3c3c +; 0x74d0f + +UnknownDungeon1Texts: ; 0x74d0f + dw UnknownDungeon1Text1, UnknownDungeon1Text2, UnknownDungeon1Text3 + +UnknownDungeon1Object: ; 0x74d15 (size=97) + db $7d ; border tile + + db $9 ; warps + db $11, $18, $6, $ff + db $11, $19, $6, $ff + db $1, $1b, $0, UNKNOWN_DUNGEON_2 + db $7, $17, $1, UNKNOWN_DUNGEON_2 + db $9, $12, $2, UNKNOWN_DUNGEON_2 + db $1, $7, $3, UNKNOWN_DUNGEON_2 + db $3, $1, $4, UNKNOWN_DUNGEON_2 + db $b, $3, $5, UNKNOWN_DUNGEON_2 + db $6, $0, $0, UNKNOWN_DUNGEON_3 + + db $0 ; signs + + db $3 ; people + db SPRITE_BALL, $d + 4, $7 + 4, $ff, $ff, $81, FULL_RESTORE ; item + db SPRITE_BALL, $3 + 4, $13 + 4, $ff, $ff, $82, MAX_ELIXER ; item + db SPRITE_BALL, $0 + 4, $5 + 4, $ff, $ff, $83, NUGGET ; item + + ; warp-to + EVENT_DISP $f, $11, $18 + EVENT_DISP $f, $11, $19 + EVENT_DISP $f, $1, $1b ; UNKNOWN_DUNGEON_2 + EVENT_DISP $f, $7, $17 ; UNKNOWN_DUNGEON_2 + EVENT_DISP $f, $9, $12 ; UNKNOWN_DUNGEON_2 + EVENT_DISP $f, $1, $7 ; UNKNOWN_DUNGEON_2 + EVENT_DISP $f, $3, $1 ; UNKNOWN_DUNGEON_2 + EVENT_DISP $f, $b, $3 ; UNKNOWN_DUNGEON_2 + EVENT_DISP $f, $6, $0 ; UNKNOWN_DUNGEON_3 + +UnknownDungeon1Blocks: ; 0x74d76 135 + INCBIN "maps/unknowndungeon1.blk" + +CeruleanHouse3_h: ; 0x74dfd to 0x74e09 (12 bytes) (id=230) + db $0d ; tileset + db CERULEAN_HOUSE_3_HEIGHT, CERULEAN_HOUSE_3_WIDTH ; dimensions (y, x) + dw CeruleanHouse3Blocks, CeruleanHouse3Texts, CeruleanHouse3Script ; blocks, texts, scripts + db $00 ; connections + + dw CeruleanHouse3Object ; objects + +CeruleanHouse3Script: ; 0x74e09 + ld a, $1 + ld [$cf0c], a + dec a + ld [$cc3c], a + ret +; 0x74e13 + +CeruleanHouse3Texts: + dw CeruleanHouse3Text1 + +CeruleanHouse3Text1: ; 0x74e15 + db $8 + ld hl, UnnamedText_74e77 + call PrintText + xor a + ld [$cc26], a + ld [$cc36], a +.asm_74e23 + ld hl, UnnamedText_74e7c + call PrintText + ld hl, UnnamedText_74e6d + call $2a5a + ld hl, $cf7b + ld a, l + ld [$cf8b], a + ld a, h + ld [$cf8c], a + xor a + ld [$cf93], a + ld [$cc35], a + ld a, $4 + ld [$cf94], a + call $2be6 + jr c, .asm_74e60 ; 0x74e49 $15 + ld hl, $4e86 + ld a, [$cf91] + sub $15 + add a + ld d, $0 + ld e, a + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + call PrintText + jr .asm_74e23 ; 0x74e5e $c3 +.asm_74e60 + xor a + ld [$cc36], a + ld hl, UnnamedText_74e81 + call PrintText + jp TextScriptEnd +; 0x74e6d + +UnnamedText_74e6d: ; 0x74e6d +db $8,BOULDERBADGE,CASCADEBADGE,THUNDERBADGE,RAINBOWBADGE,SOULBADGE,MARSHBADGE,VOLCANOBADGE,EARTHBADGE,$FF + +UnnamedText_74e77: ; 0x74e77 + TX_FAR _UnnamedText_74e77 + db $50 +; 0x74e77 + 5 bytes + +UnnamedText_74e7c: ; 0x74e7c + TX_FAR _UnnamedText_74e7c + db $50 +; 0x74e7c + 5 bytes + +UnnamedText_74e81: ; 0x74e81 + TX_FAR _UnnamedText_74e81 + db $50 +; 0x74e81 + 5 bytes + +INCBIN "baserom.gbc",$74e86,$74e96 - $74e86 + +UnnamedText_74e96: ; 0x74e96 + TX_FAR _UnnamedText_74e96 + db $50 +; 0x74e96 + 5 bytes + +UnnamedText_74e9b: ; 0x74e9b + TX_FAR _UnnamedText_74e9b + db $50 +; 0x74e9b + 5 bytes + +UnnamedText_74ea0: ; 0x74ea0 + TX_FAR _UnnamedText_74ea0 + db $50 +; 0x74ea0 + 5 bytes + +UnnamedText_74ea5: ; 0x74ea5 + TX_FAR _UnnamedText_74ea5 + db $50 +; 0x74ea5 + 5 bytes + +UnnamedText_74eaa: ; 0x74eaa + TX_FAR _UnnamedText_74eaa + db $50 +; 0x74eaa + 5 bytes + +UnnamedText_74eaf: ; 0x74eaf + TX_FAR _UnnamedText_74eaf + db $50 +; 0x74eaf + 5 bytes + +UnnamedText_74eb4: ; 0x74eb4 + TX_FAR _UnnamedText_74eb4 + db $50 +; 0x74eb4 + 5 bytes + +UnnamedText_74eb9: ; 0x74eb9 + TX_FAR _UnnamedText_74eb9 + db $50 +; 0x74eb9 + 5 bytes + +CeruleanHouse3Object: ; 0x74ebe (size=34) + db $c ; border tile + + db $3 ; warps + db $0, $2, $9, $ff + db $7, $2, $8, $ff + db $7, $3, $8, $ff + + db $0 ; signs + + db $1 ; people + db SPRITE_FAT_BALD_GUY, $3 + 4, $5 + 4, $ff, $d3, $1 ; person + + ; warp-to + EVENT_DISP $4, $0, $2 + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + +INCBIN "baserom.gbc",$74ee0,$B9 + +UnnamedText_74f99: ; 0x74f99 + TX_FAR _UnnamedText_74f99 + db $50 +; 0x74f99 + 5 bytes + +Unnamed_74f9e: ; 0x74f9e + db "FRESH WATER",$4E + db "SODA POP",$4E + db "LEMONADE",$4E + db "CANCEL@" + db $F0,"200",$4E + db $F0,"300",$4E + db $F0,"350",$4E,"@" + +UnnamedText_74fd3: ; 0x74fd3 + TX_FAR _UnnamedText_74fd3 + db $50 +; 0x74fd3 + 5 bytes + +UnnamedText_74fd8: ; 0x74fd8 + TX_FAR _UnnamedText_74fd8 + db $50 +; 0x74fd8 + 5 bytes + +UnnamedText_74fdd: ; 0x74fdd + TX_FAR _UnnamedText_74fdd + db $50 +; 0x74fdd + 5 bytes + +UnnamedText_74fe2: ; 0x74fe2 + TX_FAR _UnnamedText_74fe2 + db $50 +; 0x74fe2 + 5 bytes + +Unknown_74fe7: ; 0x74fe7 + ld hl, Unknown_75000 + ld a, [$cc26] + add a + add a + ld d, $0 + ld e, a + add hl, de + ld a, [hli] + ld [$ff00+$db], a + ld a, [hli] + ld [$ff00+$dc], a + ld a, [hli] + ld [$ff00+$dd], a + ld a, [hl] + ld [$ff00+$de], a + ret +; 0x75000 + +Unknown_75000: +INCBIN "baserom.gbc",$75000,$c + +FuchsiaHouse1_h: ; 0x7500c to 0x75018 (12 bytes) (id=153) + db $08 ; tileset + db FUCHSIA_HOUSE_1_HEIGHT, FUCHSIA_HOUSE_1_WIDTH ; dimensions (y, x) + dw FuchsiaHouse1Blocks, FuchsiaHouse1Texts, FuchsiaHouse1Script ; blocks, texts, scripts + db $00 ; connections + + dw FuchsiaHouse1Object ; objects + +FuchsiaHouse1Script: ; 0x75018 + call $3c3c + ret +; 0x7501c + +FuchsiaHouse1Texts: ; 0x7501c + dw FuchsiaHouse1Text1, FuchsiaHouse1Text2, FuchsiaHouse1Text3 + +FuchsiaHouse1Text1: ; 0x75022 + TX_FAR _FuchsiaHouse1Text1 + db $50 + +FuchsiaHouse1Text2: ; 0x75027 + TX_FAR _FuchsiaHouse1Text2 + db $50 + +FuchsiaHouse1Text3: ; 0x7502c + TX_FAR _FuchsiaHouse1Text3 + db $50 + +FuchsiaHouse1Object: ; 0x75031 (size=38) + db $a ; border tile + + db $2 ; warps + db $7, $2, $1, $ff + db $7, $3, $1, $ff + + db $0 ; signs + + db $3 ; people + db SPRITE_MOM_GEISHA, $3 + 4, $2 + 4, $ff, $d3, $1 ; person + db SPRITE_GAMBLER, $2 + 4, $7 + 4, $ff, $d1, $2 ; person + db SPRITE_BUG_CATCHER, $5 + 4, $5 + 4, $ff, $ff, $3 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + +FuchsiaPokecenter_h: ; 0x75057 to 0x75063 (12 bytes) (id=154) + db $06 ; tileset + db FUCHSIA_POKECENTER_HEIGHT, FUCHSIA_POKECENTER_WIDTH ; dimensions (y, x) + dw FuchsiaPokecenterBlocks, FuchsiaPokecenterTexts, FuchsiaPokecenterScript ; blocks, texts, scripts + db $00 ; connections + + dw FuchsiaPokecenterObject ; objects + +FuchsiaPokecenterScript: ; 0x75063 + call $22fa + jp $3c3c +; 0x75069 + +FuchsiaPokecenterTexts: + dw FuchsiaPokecenterText1, FuchsiaPokecenterText2, FuchsiaPokecenterText3, FuchsiaPokecenterText4 + +FuchsiaPokecenterText1: ; 0x75071 + db $ff + +FuchsiaPokecenterText2: ; 0x75072 + TX_FAR _FuchsiaPokecenterText1 + db $50 + +FuchsiaPokecenterText3: ; 0x75077 + TX_FAR _FuchsiaPokecenterText3 + db $50 + +FuchsiaPokecenterText4: ; 0x7507c + db $f6 + +FuchsiaPokecenterObject: ; 0x7507d (size=44) + db $0 ; border tile + + db $2 ; warps + db $7, $3, $2, $ff + db $7, $4, $2, $ff + + db $0 ; signs + + db $4 ; people + db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person + db SPRITE_ROCKER, $3 + 4, $2 + 4, $ff, $ff, $2 ; person + db SPRITE_LASS, $5 + 4, $6 + 4, $fe, $2, $3 ; person + db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person + + ; warp-to + EVENT_DISP $7, $7, $3 + EVENT_DISP $7, $7, $4 + +FuchsiaHouse2_h: ; 0x750a9 to 0x750b5 (12 bytes) (id=155) + db $14 ; tileset + db FUCHSIA_HOUSE_2_HEIGHT, FUCHSIA_HOUSE_2_WIDTH ; dimensions (y, x) + dw FuchsiaHouse2Blocks, FuchsiaHouse2Texts, FuchsiaHouse2Script ; blocks, texts, scripts + db $00 ; connections + + dw FuchsiaHouse2Object ; objects + +FuchsiaHouse2Script: ; 0x750b5 + jp $3c3c +; 0x750b8 + +FuchsiaHouse2Texts: ; 0x750b8 + dw FuchsiaHouse2Text1, FuchsiaHouse2Text2, FuchsiaHouse2Text3, FuchsiaHouse2Text4, FuchsiaHouse2Text5 + +FuchsiaHouse2Text1: ; 0x750c2 + db $08 ; asm + ld a, [$d78e] + bit 0, a + jr nz, .asm_58feb ; 0x750c8 + ld b,GOLD_TEETH + call $3493 + jr nz, .asm_3f30f ; 0x750cf + ld a, [$d78e] + bit 1, a + jr nz, .asm_60cba ; 0x750d6 + ld hl, UnnamedText_75135 + call PrintText + call $35ec + ld a, [$cc26] + and a + ld hl, UnnamedText_7513f + jr nz, .asm_61238 ; 0x750e8 + ld hl, UnnamedText_7513a +.asm_61238 ; 0x750ed + call PrintText + jr .asm_52039 ; 0x750f0 +.asm_3f30f ; 0x750f2 + ld hl, UnnamedText_75144 + call PrintText + ld a, $40 + ldh [$db], a + ld b, $5 ; BANK(MyFunction) + ld hl, $7f37 ; MyFunction + call Bankswitch + ld hl, $d78e + set 1, [hl] +.asm_60cba ; 0x75109 + ld hl, UnnamedText_7514e + call PrintText + ld bc,(HM_04 << 8) | 1 + call GiveItem + jr nc, .asm_53b90 ; 0x75115 + ld hl, UnnamedText_75153 + call PrintText + ld hl, $d78e + set 0, [hl] + jr .asm_52039 ; 0x75122 +.asm_58feb ; 0x75124 + ld hl, UnnamedText_75159 + call PrintText + jr .asm_52039 ; 0x7512a +.asm_53b90 ; 0x7512c + ld hl, UnnamedText_7515e + call PrintText +.asm_52039 ; 0x75132 + jp TextScriptEnd + +UnnamedText_75135: ; 0x75135 + TX_FAR _UnnamedText_75135 + db $50 +; 0x75135 + 5 bytes + +UnnamedText_7513a: ; 0x7513a + TX_FAR _UnnamedText_7513a + db $50 +; 0x7513a + 5 bytes + +UnnamedText_7513f: ; 0x7513f + TX_FAR _UnnamedText_7513f + db $50 +; 0x7513f + 5 bytes + +UnnamedText_75144: ; 0x75144 + TX_FAR _UnnamedText_75144 + db $0b + +UnnamedText_75149: ; 0x75149 + TX_FAR _UnnamedText_75149 + db $50 +; 0x75149 + 5 bytes + +UnnamedText_7514e: ; 0x7514e + TX_FAR _UnnamedText_7514e + db $50 +; 0x7514e + 5 bytes + +UnnamedText_75153: ; 0x75153 + TX_FAR UnnamedText_9e5a2 ; 0x9e5a2 + db $0B, $50 +; 0x75153 + 6 bytes = 0x75159 + +UnnamedText_75159: ; 0x75159 + TX_FAR _UnnamedText_75159 + db $50 +; 0x75159 + 5 bytes + +UnnamedText_7515e: ; 0x7515e + TX_FAR _UnnamedText_7515e + db $50 +; 0x7515e + 5 bytes + +FuchsiaHouse2Text5: +FuchsiaHouse2Text4: ; 0x75163 + db $08 ; asm + ldh a, [$8c] + cp $4 + ld hl, UnnamedText_7517b + jr nz, .asm_4c9a2 ; 0x7516b + ld hl, UnnamedText_75176 +.asm_4c9a2 ; 0x75170 + call PrintText + jp TextScriptEnd + +UnnamedText_75176: ; 0x75176 + TX_FAR _UnnamedText_75176 + db $50 +; 0x75176 + 5 bytes + +UnnamedText_7517b: ; 0x7517b + TX_FAR _UnnamedText_7517b + db $50 +; 0x7517b + 5 bytes + +FuchsiaHouse2Object: ; 0x75180 (size=45) + db $17 ; border tile + + db $2 ; warps + db $7, $4, $3, $ff + db $7, $5, $3, $ff + + db $2 ; signs + db $3, $4, $4 ; FuchsiaHouse2Text4 + db $3, $5, $5 ; FuchsiaHouse2Text5 + + db $3 ; people + db SPRITE_WARDEN, $3 + 4, $2 + 4, $ff, $ff, $1 ; person + db SPRITE_BALL, $3 + 4, $8 + 4, $ff, $ff, $82, RARE_CANDY ; item + db SPRITE_BOULDER, $4 + 4, $8 + 4, $ff, $10, $3 ; person + + ; warp-to + EVENT_DISP $5, $7, $4 + EVENT_DISP $5, $7, $5 + +FuchsiaHouse2Blocks: ; 0x751ad 20 + INCBIN "maps/fuchsiahouse2.blk" + +SafariZoneEntrance_h: ; 0x751c1 to 0x751cd (12 bytes) (id=156) + db $0c ; tileset + db SAFARIZONEENTRANCE_HEIGHT, SAFARIZONEENTRANCE_WIDTH ; dimensions (y, x) + dw SafariZoneEntranceBlocks, SafariZoneEntranceTexts, SafariZoneEntranceScript ; blocks, texts, scripts + db $00 ; connections + + dw SafariZoneEntranceObject ; objects + +SafariZoneEntranceScript: ; 0x751cd + call $3c3c + ld hl, SafariZoneEntranceScripts + ld a, [$d61f] + jp $3d97 +; 0x751d9 + +SafariZoneEntranceScripts: ; 0x751d9 + dw SafariZoneEntranceScript0, SafariZoneEntranceScript1, SafariZoneEntranceScript2, SafariZoneEntranceScript3, SafariZoneEntranceScript4, SafariZoneEntranceScript5, SafariZoneEntranceScript6 + +SafariZoneEntranceScript0: ; 0x751e7 + ld hl, $5221 + call $34bf + ret nc + ld a, $3 + ld [$ff00+$8c], a + call DisplayTextID + ld a, $ff + ld [$cd6b], a + xor a + ld [$ff00+$b4], a + ld a, $c + ld [$c109], a + ld a, [$cd3d] + cp $1 + jr z, .asm_7520f ; 0x75207 $6 + ld a, $2 + ld [$d61f], a + ret +.asm_7520f + ld a, $10 + ld c, $1 + call $52a3 + ld a, $f0 + ld [$cd6b], a + ld a, $1 + ld [$d61f], a + ret +; 0x75221 + +Unknown_75221: ; 0x75221 +db $2, $3, $2, $4, $ff + +SafariZoneEntranceScript1: ; 0x75226 + call $52b4 + ret nz +SafariZoneEntranceScript2: ; 0x7522a + xor a + ld [$ff00+$b4], a + ld [$cd6b], a + call $2429 + ld a, $4 + ld [$ff00+$8c], a + call $2920 + ld a, $ff + ld [$cd6b], a + ret +; 0x75240 + +SafariZoneEntranceScript3: ; 0x75240 + call $52b4 + ret nz + xor a + ld [$cd6b], a + ld a, $5 + ld [$d61f], a + ret +; 0x7524e + +SafariZoneEntranceScript5: ; 0x7524e + ld a, $4 + ld [$d528], a + ld hl, $d790 + bit 6, [hl] + res 6, [hl] + jr z, .asm_7527f ; 0x7525a $23 + res 7, [hl] + call $2429 + ld a, $f0 + ld [$cd6b], a + ld a, $6 + ld [$ff00+$8c], a + call $2920 + xor a + ld [$da47], a + ld a, $80 + ld c, $3 + call $52a3 + ld a, $4 + ld [$d61f], a + jr .asm_75286 ; 0x7527d $7 +.asm_7527f + ld a, $5 + ld [$ff00+$8c], a + call $2920 +.asm_75286 + ret +; 0x75287 + +SafariZoneEntranceScript4: ; 0x75287 + call $52b4 + ret nz + xor a + ld [$cd6b], a + ld a, $0 + ld [$d61f], a + ret +; 0x75295 + +SafariZoneEntranceScript6: ; 0x75295 + call $52b4 + ret nz + call Delay3 + ld a, [$cf0d] + ld [$d61f], a + ret +; 0x752a3 + +Unknown_752a3: ; 0x752a3 +INCBIN "baserom.gbc",$752a3,$752b9 - $752a3 + +SafariZoneEntranceTexts: ; 0x752b9 + dw SafariZoneEntranceText1, SafariZoneEntranceText2, SafariZoneEntranceText3, SafariZoneEntranceText4, SafariZoneEntranceText5, SafariZoneEntranceText6 + +SafariZoneEntranceText3: +SafariZoneEntranceText1: ; 0x752c5 + TX_FAR _SafariZoneEntranceText1 + db $50 + +SafariZoneEntranceText4: ; 0x752ca + TX_FAR UnnamedText_9e6e4 ; 0x9e6e4 + db $8 +; 0x752cf + ld a, $13 + ld [$d125], a + call $30e8 + call $35ec + ld a, [$cc26] + and a + jp nz, $5346 + xor a + ld [$ff00+$9f], a + ld a, $5 + ld [$ff00+$a0], a + ld a, $0 + ld [$ff00+$a1], a + call $35a6 + jr nc, .asm_752f9 ; 0x752ef $8 + ld hl, UnnamedText_7536a + call PrintText + jr .asm_7534c ; 0x752f7 $53 +.asm_752f9 + xor a + ld [$cd3d], a + ld a, $5 + ld [$cd3e], a + ld a, $0 + ld [$cd3f], a + ld hl, $cd3f + ld de, $d349 + ld c, $3 + ld a, $c + call Predef + ld a, $13 + ld [$d125], a + call $30e8 + ld hl, UnnamedText_7535b + call PrintText + ld a, $1e + ld [$da47], a + ld a, $1 + ld [$d70d], a + ld a, $f6 + ld [$d70e], a + ld a, $40 + ld c, $3 + call $52a3 + ld hl, $d790 + set 7, [hl] + res 6, [hl] + ld a, $3 + ld [$d61f], a + jr .asm_75358 ; 0x75344 $12 + ld hl, UnnamedText_75365 + call PrintText +.asm_7534c + ld a, $80 + ld c, $1 + call $52a3 + ld a, $4 + ld [$d61f], a +.asm_75358 + jp TextScriptEnd +; 0x7535b + +UnnamedText_7535b: ; 0x7535b + TX_FAR UnnamedText_9e747 ; 0x9e747 + db $0B + +UnnamedText_75360: ; 0x75360 + TX_FAR _UnnamedText_75360 + db $50 +; 0x75360 + 5 bytes + +UnnamedText_75365: ; 0x75365 + TX_FAR _UnnamedText_75365 + db $50 +; 0x75365 + 5 bytes + +UnnamedText_7536a: ; 0x7536a + TX_FAR _UnnamedText_7536a + db $50 +; 0x7536a + 5 bytes + +SafariZoneEntranceText5: ; 0x7536f + TX_FAR UnnamedText_9e814 ; 0x9e814 + db $8 + call $35ec + ld a, [$cc26] + and a + jr nz, .asm_7539c ; 0x7537b $1f + ld hl, UnnamedText_753bb + call PrintText + xor a + ld [$c109], a + ld a, $80 + ld c, $3 + call $52a3 + ld hl, $d790 + res 6, [hl] + res 7, [hl] + ld a, $0 + ld [$cf0d], a + jr .asm_753b3 ; 0x7539a $17 +.asm_7539c + ld hl, UnnamedText_753c0 + call PrintText + ld a, $4 + ld [$c109], a + ld a, $40 + ld c, $1 + call $52a3 + ld a, $5 + ld [$cf0d], a +.asm_753b3 + ld a, $6 + ld [$d61f], a + jp TextScriptEnd +; 0x753bb + +UnnamedText_753bb: ; 0x753bb + TX_FAR _UnnamedText_753bb + db $50 +; 0x753bb + 5 bytes + +UnnamedText_753c0: ; 0x753c0 + TX_FAR _UnnamedText_753c0 + db $50 +; 0x753c0 + 5 bytes + +SafariZoneEntranceText6: ; 0x753c5 + TX_FAR _UnnamedText_753c5 + db $50 +; 0x753c5 + 5 bytes + +SafariZoneEntranceText2: ; 0x753ca + db $08 ; asm + ld hl, UnnamedText_753e6 + call PrintText + call $35ec + ld a, [$cc26] + and a + ld hl, UnnamedText_753f0 + jr nz, .asm_278a6 ; 0x753db + ld hl, UnnamedText_753eb +.asm_278a6 ; 0x753e0 + call PrintText + jp TextScriptEnd + +UnnamedText_753e6: ; 0x753e6 + TX_FAR _UnnamedText_753e6 + db $50 +; 0x753e6 + 5 bytes + +UnnamedText_753eb: ; 0x753eb + TX_FAR _UnnamedText_753eb + db $50 +; 0x753eb + 5 bytes + +UnnamedText_753f0: ; 0x753f0 + TX_FAR _UnnamedText_753f0 + db $50 +; 0x753f0 + 5 bytes + +SafariZoneEntranceObject: ; 0x753f5 (size=48) + db $a ; border tile + + db $4 ; warps + db $5, $3, $4, $ff + db $5, $4, $4, $ff + db $0, $3, $0, SAFARI_ZONE_CENTER + db $0, $4, $1, SAFARI_ZONE_CENTER + + db $0 ; signs + + db $2 ; people + db SPRITE_WHITE_PLAYER, $2 + 4, $6 + 4, $ff, $d2, $1 ; person + db SPRITE_WHITE_PLAYER, $4 + 4, $1 + 4, $ff, $d3, $2 ; person + + ; warp-to + EVENT_DISP $4, $5, $3 + EVENT_DISP $4, $5, $4 + EVENT_DISP $4, $0, $3 ; SAFARI_ZONE_CENTER + EVENT_DISP $4, $0, $4 ; SAFARI_ZONE_CENTER + +SafariZoneEntranceBlocks: ; 0x75425 12 + INCBIN "maps/safarizoneentrance.blk" + +FuchsiaGym_h: ; 0x75431 to 0x7543d (12 bytes) (id=157) + db $07 ; tileset + db FUCHSIA_GYM_HEIGHT, FUCHSIA_GYM_WIDTH ; dimensions (y, x) + dw FuchsiaGymBlocks, FuchsiaGymTexts, FuchsiaGymScript ; blocks, texts, scripts + db $00 ; connections + + dw FuchsiaGymObject ; objects + +FuchsiaGymScript: ; 0x7543d + call FuchsiaGymScript_Unknown75453 + call $3c3c + ld hl, FuchsiaGymTrainerHeaders + ld de, $5482 + ld a, [$d65b] + call $3160 + ld [$d65b], a + ret +; 0x75453 + +FuchsiaGymScript_Unknown75453: ; 0x75453 +INCBIN "baserom.gbc",$75453,$12 + +Gym5CityName: ; 0x75465 + db "FUCHSIA CITY@" +Gym5LeaderName: ; 0x75472 + db "KOGA@" + +INCBIN "baserom.gbc",$75477,$5E + +FuchsiaGymTexts: ; 0x754d5 + dw FuchsiaGymText1, FuchsiaGymText2, FuchsiaGymText3, FuchsiaGymText4, FuchsiaGymText5, FuchsiaGymText6, FuchsiaGymText7, FuchsiaGymText8, FuchsiaGymText9, FuchsiaGymText10, FuchsiaGymText11 + +FuchsiaGymTrainerHeaders: +FuchsiaGymTrainerHeader1: ; 0x754eb + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d792 ; flag's byte + dw UnnamedText_755ae ; 0x55ae TextBeforeBattle + dw UnnamedText_755b8 ; 0x55b8 TextAfterBattle + dw UnnamedText_755b3 ; 0x55b3 TextEndBattle + dw UnnamedText_755b3 ; 0x55b3 TextEndBattle +; 0x754f7 + +TrainerHeader_754f7: ; 0x754f7 + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d792 ; flag's byte + dw UnnamedText_755c7 ; 0x55c7 TextBeforeBattle + dw UnnamedText_755d1 ; 0x55d1 TextAfterBattle + dw UnnamedText_755cc ; 0x55cc TextEndBattle + dw UnnamedText_755cc ; 0x55cc TextEndBattle +; 0x75503 + +TrainerHeader_75503: ; 0x75503 + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d792 ; flag's byte + dw UnnamedText_755e0 ; 0x55e0 TextBeforeBattle + dw UnnamedText_755ea ; 0x55ea TextAfterBattle + dw UnnamedText_755e5 ; 0x55e5 TextEndBattle + dw UnnamedText_755e5 ; 0x55e5 TextEndBattle +; 0x7550f + +TrainerHeader_7550f: ; 0x7550f + db $5 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d792 ; flag's byte + dw UnnamedText_755f9 ; 0x55f9 TextBeforeBattle + dw UnnamedText_75603 ; 0x5603 TextAfterBattle + dw UnnamedText_755fe ; 0x55fe TextEndBattle + dw UnnamedText_755fe ; 0x55fe TextEndBattle +; 0x7551b + +TrainerHeader_7551b: ; 0x7551b + db $6 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d792 ; flag's byte + dw UnnamedText_75612 ; 0x5612 TextBeforeBattle + dw UnnamedText_7561c ; 0x561c TextAfterBattle + dw UnnamedText_75617 ; 0x5617 TextEndBattle + dw UnnamedText_75617 ; 0x5617 TextEndBattle +; 0x75527 + +TrainerHeader_75527: ; 0x75527 + db $7 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d792 ; flag's byte + dw UnnamedText_7562b ; 0x562b TextBeforeBattle + dw UnnamedText_75635 ; 0x5635 TextAfterBattle + dw UnnamedText_75630 ; 0x5630 TextEndBattle + dw UnnamedText_75630 ; 0x5630 TextEndBattle +; 0x75533 + +db $ff + +FuchsiaGymText1: ; 0x75534 + db $08 ; asm + ld a, [$d792] + bit 1, a + jr z, .asm_181b6 ; 0x7553a + bit 0, a + jr nz, .asm_adc3b ; 0x7553e + call z, $5497 + call $30b6 + jr .asm_e84c6 ; 0x75546 +.asm_adc3b ; 0x75548 + ld hl, UnnamedText_7558b + call PrintText + jr .asm_e84c6 ; 0x7554e +.asm_181b6 ; 0x75550 + ld hl, UnnamedText_75581 + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, UnnamedText_75586 + ld de, $5586 ; probably UnnamedText_75586 + call $3354 + ldh a, [$8c] + ld [$cf13], a + call $336a + call $32d7 + ld a, $5 + ld [$d05c], a + xor a + ldh [$b4], a + ld a, $3 + ld [$d65b], a +.asm_e84c6 ; 0x7557e + jp TextScriptEnd + +UnnamedText_75581: ; 0x75581 + TX_FAR _UnnamedText_75581 + db $50 +; 0x75581 + 5 bytes + +UnnamedText_75586: ; 0x75586 + TX_FAR _UnnamedText_75586 + db $50 +; 0x75586 + 5 bytes + +UnnamedText_7558b: ; 0x7558b + TX_FAR _UnnamedText_7558b + db $50 +; 0x7558b + 5 bytes + +FuchsiaGymText9: ; 0x75590 + TX_FAR _UnnamedText_75590 + db $50 +; 0x75590 + 5 bytes + +FuchsiaGymText10: ; 0x75595 + TX_FAR UnnamedText_a00eb ; 0xa00eb + db $11 + +UnnamedText_7559a: ; 0x7559a + TX_FAR _UnnamedText_7559a + db $50 +; 0x7559a + 5 bytes + +FuchsiaGymText11: ; 0x7559f + TX_FAR _UnnamedText_7559f + db $50 +; 0x7559f + 5 bytes + +FuchsiaGymText2: ; 0x755a4 + db $08 ; asm + ld hl, FuchsiaGymTrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_755ae: ; 0x755ae + TX_FAR _UnnamedText_755ae + db $50 +; 0x755ae + 5 bytes + +UnnamedText_755b3: ; 0x755b3 + TX_FAR _UnnamedText_755b3 + db $50 +; 0x755b3 + 5 bytes + +UnnamedText_755b8: ; 0x755b8 + TX_FAR _UnnamedText_755b8 + db $50 +; 0x755b8 + 5 bytes + +FuchsiaGymText3: ; 0x755bd + db $08 ; asm + ld hl, TrainerHeader_754f7 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_755c7: ; 0x755c7 + TX_FAR _UnnamedText_755c7 + db $50 +; 0x755c7 + 5 bytes + +UnnamedText_755cc: ; 0x755cc + TX_FAR _UnnamedText_755cc + db $50 +; 0x755cc + 5 bytes + +UnnamedText_755d1: ; 0x755d1 + TX_FAR _UnnamedText_755d1 + db $50 +; 0x755d1 + 5 bytes + +FuchsiaGymText4: ; 0x755d6 + db $08 ; asm + ld hl, TrainerHeader_75503 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_755e0: ; 0x755e0 + TX_FAR _UnnamedText_755e0 + db $50 +; 0x755e0 + 5 bytes + +UnnamedText_755e5: ; 0x755e5 + TX_FAR _UnnamedText_755e5 + db $50 +; 0x755e5 + 5 bytes + +UnnamedText_755ea: ; 0x755ea + TX_FAR _UnnamedText_755ea + db $50 +; 0x755ea + 5 bytes + +FuchsiaGymText5: ; 0x755ef + db $08 ; asm + ld hl, TrainerHeader_7550f + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_755f9: ; 0x755f9 + TX_FAR _UnnamedText_755f9 + db $50 +; 0x755f9 + 5 bytes + +UnnamedText_755fe: ; 0x755fe + TX_FAR _UnnamedText_755fe + db $50 +; 0x755fe + 5 bytes + +UnnamedText_75603: ; 0x75603 + TX_FAR _UnnamedText_75603 + db $50 +; 0x75603 + 5 bytes + +FuchsiaGymText6: ; 0x75608 + db $08 ; asm + ld hl, TrainerHeader_7551b + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_75612: ; 0x75612 + TX_FAR _UnnamedText_75612 + db $50 +; 0x75612 + 5 bytes + +UnnamedText_75617: ; 0x75617 + TX_FAR _UnnamedText_75617 + db $50 +; 0x75617 + 5 bytes + +UnnamedText_7561c: ; 0x7561c + TX_FAR _UnnamedText_7561c + db $50 +; 0x7561c + 5 bytes + +FuchsiaGymText7: ; 0x75621 + db $08 ; asm + ld hl, TrainerHeader_75527 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_7562b: ; 0x7562b + TX_FAR _UnnamedText_7562b + db $50 +; 0x7562b + 5 bytes + +UnnamedText_75630: ; 0x75630 + TX_FAR _UnnamedText_75630 + db $50 +; 0x75630 + 5 bytes + +UnnamedText_75635: ; 0x75635 + TX_FAR _UnnamedText_75635 + db $50 +; 0x75635 + 5 bytes + +FuchsiaGymText8: ; 0x7563a + db $08 ; asm + ld a, [$d792] + bit 1, a + ld hl, UnnamedText_75653 + jr nz, .asm_50671 ; 0x75643 + ld hl, UnnamedText_7564e +.asm_50671 ; 0x75648 + call PrintText + jp TextScriptEnd + +UnnamedText_7564e: ; 0x7564e + TX_FAR _UnnamedText_7564e + db $50 +; 0x7564e + 5 bytes + +UnnamedText_75653: ; 0x75653 + TX_FAR _UnnamedText_75653 + db $50 +; 0x75653 + 5 bytes + +FuchsiaGymObject: ; 0x75658 (size=82) + db $3 ; border tile + + db $2 ; warps + db $11, $4, $5, $ff + db $11, $5, $5, $ff + + db $0 ; signs + + db $8 ; people + db SPRITE_BLACKBELT, $a + 4, $4 + 4, $ff, $d0, $41, KOGA + $C8, $1 ; trainer + db SPRITE_ROCKER, $d + 4, $8 + 4, $ff, $d0, $42, JUGGLER + $C8, $7 ; trainer + db SPRITE_ROCKER, $8 + 4, $7 + 4, $ff, $d3, $43, JUGGLER + $C8, $3 ; trainer + db SPRITE_ROCKER, $c + 4, $1 + 4, $ff, $d0, $44, JUGGLER + $C8, $8 ; trainer + db SPRITE_ROCKER, $5 + 4, $3 + 4, $ff, $d1, $45, TAMER + $C8, $1 ; trainer + db SPRITE_ROCKER, $2 + 4, $8 + 4, $ff, $d0, $46, TAMER + $C8, $2 ; trainer + db SPRITE_ROCKER, $7 + 4, $2 + 4, $ff, $d2, $47, JUGGLER + $C8, $4 ; trainer + db SPRITE_GYM_HELPER, $f + 4, $7 + 4, $ff, $d0, $8 ; person + + ; warp-to + EVENT_DISP $5, $11, $4 + EVENT_DISP $5, $11, $5 + +FuchsiaGymBlocks: ; 0x756aa 45 + INCBIN "maps/fuchsiagym.blk" + +FuchsiaMeetingRoom_h: ; 0x756d7 to 0x756e3 (12 bytes) (id=158) + db $14 ; tileset + db FUCHSIAMEETINGROOM_HEIGHT, FUCHSIAMEETINGROOM_WIDTH ; dimensions (y, x) + dw FuchsiaMeetingRoomBlocks, FuchsiaMeetingRoomTexts, FuchsiaMeetingRoomScript ; blocks, texts, scripts + db $00 ; connections + + dw FuchsiaMeetingRoomObject ; objects + +FuchsiaMeetingRoomScript: ; 0x756e3 + call $3c3c + ret +; 0x756e7 + +FuchsiaMeetingRoomTexts: ; 0x756e7 + dw FuchsiaMeetingRoomText1, FuchsiaMeetingRoomText2, FuchsiaMeetingRoomText3 + +FuchsiaMeetingRoomText1: ; 0x756ed + TX_FAR _FuchsiaMeetingRoomText1 + db $50 + +FuchsiaMeetingRoomText2: ; 0x756f2 + TX_FAR _FuchsiaMeetingRoomText2 + db $50 + +FuchsiaMeetingRoomText3: ; 0x756f7 + TX_FAR _FuchsiaMeetingRoomText3 + db $50 + +FuchsiaMeetingRoomObject: ; 0x756fc (size=38) + db $17 ; border tile + + db $2 ; warps + db $7, $4, $6, $ff + db $7, $5, $6, $ff + + db $0 ; signs + + db $3 ; people + db SPRITE_WHITE_PLAYER, $1 + 4, $4 + 4, $ff, $d0, $1 ; person + db SPRITE_WHITE_PLAYER, $2 + 4, $0 + 4, $ff, $d1, $2 ; person + db SPRITE_WHITE_PLAYER, $1 + 4, $a + 4, $ff, $d0, $3 ; person + + ; warp-to + EVENT_DISP $7, $7, $4 + EVENT_DISP $7, $7, $5 + +FuchsiaMeetingRoomBlocks: ; 0x75722 28 + INCBIN "maps/fuchsiameetingroom.blk" + +CinnabarGym_h: ; 0x7573e to 0x7574a (12 bytes) (id=166) + db $16 ; tileset + db CINNABAR_GYM_HEIGHT, CINNABAR_GYM_WIDTH ; dimensions (y, x) + dw CinnabarGymBlocks, CinnabarGymTexts, CinnabarGymScript ; blocks, texts, scripts + db $00 ; connections + + dw CinnabarGymObject ; objects + +CinnabarGymScript: ; 0x7574a + call CinnabarGymScript_Unknown75759 + call $3c3c + ld hl, CinnabarGymScripts + ld a, [$d65e] + jp $3d97 +; 0x75759 + +CinnabarGymScript_Unknown75759: ; 0x75759 +INCBIN "baserom.gbc",$75759,$7577B - $75759 + +Gym7CityName: ; 0x7577B + db "CINNABAR ISLAND@" +Gym7LeaderName: ; 0x7578b + db "BLAINE@" + +INCBIN "baserom.gbc",$75792,$757a6 - $75792 + +CinnabarGymScripts: ; 0x757a6 + dw CinnabarGymScript0, CinnabarGymScript1, CinnabarGymScript2, CinnabarGymScript3 + +CinnabarGymScript0: ; 0x757ae + ld a, [$da38] + and a + ret z + ld [$ff00+$8c], a + cp $4 + jr nz, .asm_757c3 ; 0x757b7 $a + ld a, $4 + ld [$d528], a + ld de, $57d7 + jr .asm_757cb ; 0x757c1 $8 +.asm_757c3 + ld de, $57da + ld a, $1 + ld [$d528], a +.asm_757cb + call $363a + ld a, $1 + ld [$d65e], a + ld [$da39], a + ret +; 0x757d7 + +INCBIN "baserom.gbc",$757d7,$757dc - $757d7 + +CinnabarGymScript1: ; 0x757dc + ld a, [$d730] + bit 0, a + ret nz + xor a + ld [$cd6b], a + ld a, [$da38] + ld [$cc55], a + ld [$ff00+$8c], a + jp $2920 +; 0x757f1 + +INCBIN "baserom.gbc",$757f1,$757f6 - $757f1 + +CinnabarGymScript2: ; 0x757f6 + ld a, [$d057] + cp $ff + jp z, $5792 + ld a, [$cc55] + ld [$ff00+$db], a + ld c, a + ld b, $2 + ld hl, $d79a + call $57f1 + ld a, c + and a + jr nz, .asm_7581b ; 0x7580e $b + call $3748 + ld a, $ad + call $23b1 + call $3748 +.asm_7581b + ld a, [$cc55] + ld [$ff00+$db], a + ld c, a + ld b, $1 + ld hl, $d79a + call $57f1 + ld a, [$cc55] + sub $2 + ld c, a + ld b, $1 + ld hl, $d79c + call $57f1 + call $3ead + xor a + ld [$cd6b], a + ld [$da38], a + ld a, $0 + ld [$d65e], a + ld [$da39], a + ret +; 0x7584a + +CinnabarGymScript3: ; 0x7584a + ld a, [$d057] + cp $ff + jp z, $5792 + ld a, $f0 + ld [$cd6b], a + ld a, $a + ld [$ff00+$8c], a + call $2920 + ld hl, $d79a + set 1, [hl] + ld bc, $ee01 + call GiveItem + jr nc, .asm_75879 ; 0x75869 $e + ld a, $b + ld [$ff00+$8c], a + call $2920 + ld hl, $d79a + set 0, [hl] + jr .asm_75880 ; 0x75877 $7 +.asm_75879 + ld a, $c + ld [$ff00+$8c], a + call $2920 +.asm_75880 + ld hl, $d356 + set 6, [hl] + ld hl, $d72a + set 6, [hl] + ld a, [$d79a] + or $fc + ld [$d79a], a + ld hl, $d79b + set 0, [hl] + ld hl, $d126 + set 5, [hl] + jp $5792 +; 0x7589f + +CinnabarGymTexts: ; 0x7589f + dw CinnabarGymText1, CinnabarGymText2, CinnabarGymText3, CinnabarGymText4, CinnabarGymText5, CinnabarGymText6, CinnabarGymText7, CinnabarGymText8, CinnabarGymText9 +;CinnabarGymText 10: ; 0x75925 +;CinnabarGymText 11: ; 0x7592a +;CinnabarGymText 12: ; 0x75934 + +INCBIN "baserom.gbc",$758b1,$2e + +CinnabarGymText1: ; 0x758df + db $8 + ld a, [$d79a] + bit 1, a + jr z, .asm_d9332 ; 0x758e5 $16 + bit 0, a + jr nz, .asm_3012f ; 0x758e9 $9 + call z, $5857 + call $30b6 + jp TextScriptEnd +.asm_3012f ; 0x758f4 + ld hl, UnnamedText_75920 + call PrintText + jp TextScriptEnd +.asm_d9332 ; 0x758fd + ld hl, UnnamedText_75914 + call PrintText + ld hl, UnnamedText_75919 + ld de, UnnamedText_75919 ; $5919 XXX + call $3354 + ld a, $7 + ld [$d05c], a + jp $58b7 +; 0x75914 + +UnnamedText_75914: ; 0x75914 + TX_FAR _UnnamedText_75914 + db $50 +; 0x75914 + 5 bytes + +UnnamedText_75919: ; 0x75919 + TX_FAR UnnamedText_a08c7 + db $11 + db $d + db $50 + +UnnamedText_75920: ; 0x75920 + TX_FAR _UnnamedText_75920 + db $50 +; 0x75920 + 5 bytes + +UnnamedText_75925: ; 0x75925 + TX_FAR _UnnamedText_75925 + db $50 +; 0x75925 + 5 bytes + +UnnamedText_7592a: ; 0x7592a + TX_FAR UnnamedText_a09a8 ; 0xa09a8 + db $0B + TX_FAR _UnnamedText_7592f + db $50 +; 0x75934 + +UnnamedText_75934: ; 0x75934 + TX_FAR _UnnamedText_75934 + db $50 +; 0x75934 + 5 bytes + +CinnabarGymText2: ; 0x75939 + db $08 ; asm + call $57a0 + ld a, [$d79a] + bit 2, a + jr nz, .asm_46bb4 ; 0x75942 + ld hl, UnnamedText_7595f + call PrintText + ld hl, UnnamedText_75964 + ld de, UnnamedText_75964 ; $5964 XXX + call $3354 + jp $58b7 +.asm_46bb4 ; 0x75956 + ld hl, UnnamedText_75969 + call PrintText + jp TextScriptEnd + +UnnamedText_7595f: ; 0x7595f + TX_FAR _UnnamedText_7595f + db $50 +; 0x7595f + 5 bytes + +UnnamedText_75964: ; 0x75964 + TX_FAR _UnnamedText_75964 + db $50 +; 0x75964 + 5 bytes + +UnnamedText_75969: ; 0x75969 + TX_FAR _UnnamedText_75969 + db $50 +; 0x75969 + 5 bytes + +CinnabarGymText3: ; 0x7596e + db $08 ; asm + call $57a0 + ld a, [$d79a] + bit 3, a + jr nz, .asm_4b406 ; 0x75977 + ld hl, UnnamedText_75994 + call PrintText + ld hl, UnnamedText_75999 + ld de, UnnamedText_75999 ; $5999 XXX + call $3354 + jp $58b7 +.asm_4b406 ; 0x7598b + ld hl, UnnamedText_7599e + call PrintText + jp TextScriptEnd + +UnnamedText_75994: ; 0x75994 + TX_FAR _UnnamedText_75994 + db $50 +; 0x75994 + 5 bytes + +UnnamedText_75999: ; 0x75999 + TX_FAR _UnnamedText_75999 + db $50 +; 0x75999 + 5 bytes + +UnnamedText_7599e: ; 0x7599e + TX_FAR _UnnamedText_7599e + db $50 +; 0x7599e + 5 bytes + +CinnabarGymText4: ; 0x759a3 + db $08 ; asm + call $57a0 + ld a, [$d79a] + bit 4, a + jr nz, .asm_c0673 ; 0x759ac + ld hl, UnnamedText_759c9 + call PrintText + ld hl, UnnamedText_759ce + ld de, UnnamedText_759ce ; $59ce XXX + call $3354 + jp $58b7 +.asm_c0673 ; 0x759c0 + ld hl, UnnamedText_759d3 + call PrintText + jp TextScriptEnd + +UnnamedText_759c9: ; 0x759c9 + TX_FAR _UnnamedText_759c9 + db $50 +; 0x759c9 + 5 bytes + +UnnamedText_759ce: ; 0x759ce + TX_FAR _UnnamedText_759ce + db $50 +; 0x759ce + 5 bytes + +UnnamedText_759d3: ; 0x759d3 + TX_FAR _UnnamedText_759d3 + db $50 +; 0x759d3 + 5 bytes + +CinnabarGymText5: ; 0x759d8 + db $08 ; asm + call $57a0 + ld a, [$d79a] + bit 5, a + jr nz, .asm_5cfd7 ; 0x759e1 + ld hl, UnnamedText_759fe + call PrintText + ld hl, UnnamedText_75a03 + ld de, UnnamedText_75a03 ; $5a03 XXX + call $3354 + jp $58b7 +.asm_5cfd7 ; 0x759f5 + ld hl, UnnamedText_75a08 + call PrintText + jp TextScriptEnd + +UnnamedText_759fe: ; 0x759fe + TX_FAR _UnnamedText_759fe + db $50 +; 0x759fe + 5 bytes + +UnnamedText_75a03: ; 0x75a03 + TX_FAR _UnnamedText_75a03 + db $50 +; 0x75a03 + 5 bytes + +UnnamedText_75a08: ; 0x75a08 + TX_FAR _UnnamedText_75a08 + db $50 +; 0x75a08 + 5 bytes + +CinnabarGymText6: ; 0x75a0d + db $08 ; asm + call $57a0 + ld a, [$d79a] + bit 6, a + jr nz, .asm_776b4 ; 0x75a16 + ld hl, UnnamedText_75a33 + call PrintText + ld hl, UnnamedText_75a38 + ld de, UnnamedText_75a38 + call $3354 + jp $58b7 +.asm_776b4 ; 0x75a2a + ld hl, UnnamedText_75a3d + call PrintText + jp TextScriptEnd + +UnnamedText_75a33: ; 0x75a33 + TX_FAR _UnnamedText_75a33 + db $50 +; 0x75a33 + 5 bytes + +UnnamedText_75a38: ; 0x75a38 + TX_FAR _UnnamedText_75a38 + db $50 +; 0x75a38 + 5 bytes + +UnnamedText_75a3d: ; 0x75a3d + TX_FAR _UnnamedText_75a3d + db $50 +; 0x75a3d + 5 bytes + +CinnabarGymText7: ; 0x75a42 + db $08 ; asm + call $57a0 + ld a, [$d79a] + bit 7, a + jr nz, .asm_2f755 ; 0x75a4b + ld hl, UnnamedText_75a68 + call PrintText + ld hl, $5a6d + ld de, $5a6d + call $3354 + jp $58b7 +.asm_2f755 ; 0x75a5f + ld hl, $5a72 + call PrintText + jp TextScriptEnd + +UnnamedText_75a68: ; 0x75a68 + TX_FAR _UnnamedText_75a68 + db $50 +; 0x75a68 + 5 bytes + +UnnamedText_75a6d: ; 0x75a6d + TX_FAR _UnnamedText_75a6d + db $50 +; 0x75a6d + 5 bytes + +UnnamedText_75a72: ; 0x75a72 + TX_FAR _UnnamedText_75a72 + db $50 +; 0x75a72 + 5 bytes + +CinnabarGymText8: ; 0x75a77 + db $08 ; asm + call $57a0 + ld a, [$d79b] + bit 0, a + jr nz, .asm_d87be ; 0x75a80 + ld hl, UnnamedText_75a9d + call PrintText + ld hl, UnnamedText_75aa2 + ld de, UnnamedText_75aa2 ; $5aa2 XXX + call $3354 + jp $58b7 +.asm_d87be ; 0x75a94 + ld hl, UnnamedText_75aa7 + call PrintText + jp TextScriptEnd + +UnnamedText_75a9d: ; 0x75a9d + TX_FAR _UnnamedText_75a9d + db $50 +; 0x75a9d + 5 bytes + +UnnamedText_75aa2: ; 0x75aa2 + TX_FAR _UnnamedText_75aa2 + db $50 +; 0x75aa2 + 5 bytes + +UnnamedText_75aa7: ; 0x75aa7 + TX_FAR _UnnamedText_75aa7 + db $50 +; 0x75aa7 + 5 bytes + +CinnabarGymText9: ; 0x75aac + db $08 ; asm + ld a, [$d79a] + bit 1, a + jr nz, .asm_627d9 ; 0x75ab2 + ld hl, UnnamedText_75ac2 + jr .asm_0b11d ; 0x75ab7 +.asm_627d9 ; 0x75ab9 + ld hl, UnnamedText_75ac7 +.asm_0b11d ; 0x75abc + call PrintText + jp TextScriptEnd + +UnnamedText_75ac2: ; 0x75ac2 + TX_FAR _UnnamedText_75ac2 + db $50 +; 0x75ac2 + 5 bytes + +UnnamedText_75ac7: ; 0x75ac7 + TX_FAR _UnnamedText_75ac7 + db $50 +; 0x75ac7 + 5 bytes + +CinnabarGymObject: ; 0x75acc (size=90) + db $2e ; border tile + + db $2 ; warps + db $11, $10, $1, $ff + db $11, $11, $1, $ff + + db $0 ; signs + + db $9 ; people + db SPRITE_FAT_BALD_GUY, $3 + 4, $3 + 4, $ff, $d0, $41, BLAINE + $C8, $1 ; trainer + db SPRITE_BLACK_HAIR_BOY_2, $2 + 4, $11 + 4, $ff, $d0, $42, SUPER_NERD + $C8, $9 ; trainer + db SPRITE_BLACK_HAIR_BOY_2, $8 + 4, $11 + 4, $ff, $d0, $43, BURGLAR + $C8, $4 ; trainer + db SPRITE_BLACK_HAIR_BOY_2, $4 + 4, $b + 4, $ff, $d0, $44, SUPER_NERD + $C8, $a ; trainer + db SPRITE_BLACK_HAIR_BOY_2, $8 + 4, $b + 4, $ff, $d0, $45, BURGLAR + $C8, $5 ; trainer + db SPRITE_BLACK_HAIR_BOY_2, $e + 4, $b + 4, $ff, $d0, $46, SUPER_NERD + $C8, $b ; trainer + db SPRITE_BLACK_HAIR_BOY_2, $e + 4, $3 + 4, $ff, $d0, $47, BURGLAR + $C8, $6 ; trainer + db SPRITE_BLACK_HAIR_BOY_2, $8 + 4, $3 + 4, $ff, $d0, $48, SUPER_NERD + $C8, $c ; trainer + db SPRITE_GYM_HELPER, $d + 4, $10 + 4, $ff, $d0, $9 ; person + + ; warp-to + EVENT_DISP $a, $11, $10 + EVENT_DISP $a, $11, $11 + +CinnabarGymBlocks: ; 0x75b26 90 + INCBIN "maps/cinnabargym.blk" + +Lab1_h: ; 0x75b80 to 0x75b8c (12 bytes) (id=167) + db $14 ; tileset + db CINNABAR_LAB_1_HEIGHT, CINNABAR_LAB_1_WIDTH ; dimensions (y, x) + dw Lab1Blocks, Lab1Texts, Lab1Script ; blocks, texts, scripts + db $00 ; connections + + dw Lab1Object ; objects + +Lab1Script: ; 0x75b8c + call $3c3c + ret +; 0x75b90 + +Lab1Texts: ; 0x75b90 + dw Lab1Text1, Lab1Text2, Lab1Text3, Lab1Text4, Lab1Text5 + +Lab1Text1: ; 0x75b9a + TX_FAR _Lab1Text1 + db $50 + +Lab1Text2: ; 0x75b9f + TX_FAR _Lab1Text2 + db $50 + +Lab1Text3: ; 0x75ba4 + TX_FAR _Lab1Text3 + db $50 + +Lab1Text4: ; 0x75ba9 + TX_FAR _Lab1Text4 + db $50 + +Lab1Text5: ; 0x75bae + TX_FAR _Lab1Text5 + db $50 + +Lab1Object: ; 0x75bb3 (size=62) + db $17 ; border tile + + db $5 ; warps + db $7, $2, $2, $ff + db $7, $3, $2, $ff + db $4, $8, $0, CINNABAR_LAB_2 + db $4, $c, $0, CINNABAR_LAB_3 + db $4, $10, $0, CINNABAR_LAB_4 + + db $4 ; signs + db $2, $3, $2 ; Lab1Text2 + db $4, $9, $3 ; Lab1Text3 + db $4, $d, $4 ; Lab1Text4 + db $4, $11, $5 ; Lab1Text5 + + db $1 ; people + db SPRITE_FISHER, $3 + 4, $1 + 4, $ff, $ff, $1 ; person + + ; warp-to + EVENT_DISP $9, $7, $2 + EVENT_DISP $9, $7, $3 + EVENT_DISP $9, $4, $8 ; CINNABAR_LAB_2 + EVENT_DISP $9, $4, $c ; CINNABAR_LAB_3 + EVENT_DISP $9, $4, $10 ; CINNABAR_LAB_4 + +Lab1Blocks: ; 0x75bf1 36 + INCBIN "maps/lab1.blk" + +Lab2_h: ; 0x75c15 to 0x75c21 (12 bytes) (id=168) + db $14 ; tileset + db CINNABAR_LAB_2_HEIGHT, CINNABAR_LAB_2_WIDTH ; dimensions (y, x) + dw Lab2Blocks, Lab2Texts, Lab2Script ; blocks, texts, scripts + db $00 ; connections + + dw Lab2Object ; objects + +Lab2Script: ; 0x75c21 + jp $3c3c +; 0x75c24 + +Lab2Texts: ; 0x75c24 + dw Lab2Text1, Lab2Text2, Lab2Text3 + +Lab2Text1: ; 0x75c2a + TX_FAR _Lab2Text1 + db $50 + +Lab2Text2: ; 0x75c2f + db $8 + ld a, $7 + ld [W_WHICHTRADE], a + jr asm_78552 ; 0x75c35 $6 + +Lab2Text3: ; 0x75c37 + db $8 + ld a, $8 + ld [W_WHICHTRADE], a +asm_78552: ; 0x75c3d + ld a, $54 + call Predef + jp TextScriptEnd + +Lab2Object: ; 0x75c45 (size=38) + db $17 ; border tile + + db $2 ; warps + db $7, $2, $2, CINNABAR_LAB_1 + db $7, $3, $2, CINNABAR_LAB_1 + + db $0 ; signs + + db $3 ; people + db SPRITE_BLACK_HAIR_BOY_2, $2 + 4, $3 + 4, $ff, $d0, $1 ; person + db SPRITE_OLD_PERSON, $4 + 4, $1 + 4, $ff, $ff, $2 ; person + db SPRITE_FOULARD_WOMAN, $5 + 4, $5 + 4, $ff, $d1, $3 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 ; CINNABAR_LAB_1 + EVENT_DISP $4, $7, $3 ; CINNABAR_LAB_1 + +Lab2Blocks: ; 0x75c6b 16 + INCBIN "maps/lab2.blk" + +Lab3_h: ; 0x75c7b to 0x75c87 (12 bytes) (id=169) + db $14 ; tileset + db CINNABAR_LAB_3_HEIGHT, CINNABAR_LAB_3_WIDTH ; dimensions (y, x) + dw Lab3Blocks, Lab3Texts, Lab3Script ; blocks, texts, scripts + db $00 ; connections + + dw Lab3Object ; objects + +Lab3Script: ; 0x75c87 + jp $3c3c +; 0x75c8a + +Lab3Texts: ; 0x75c8a + dw Lab3Text1, Lab3Text2, Lab3Text3, Lab3Text4, Lab3Text5 + +Lab3Text1: ; 0x75c94 + db $08 ; asm + ld a, [$d7a1] + bit 7, a + jr nz, .asm_e551a ; 0x75c9a + ld hl, UnnamedText_75cc8 + call PrintText + ld bc, (TM_35 << 8) | 1 + call GiveItem + jr nc, .asm_6c187 ; 0x75ca8 + ld hl, UnnamedText_75ccd + call PrintText + ld hl, $d7a1 + set 7, [hl] + jr .asm_eb896 ; 0x75cb5 +.asm_6c187 ; 0x75cb7 + ld hl, UnnamedText_75cd8 + call PrintText + jr .asm_eb896 ; 0x75cbd +.asm_e551a ; 0x75cbf + ld hl, UnnamedText_75cd3 + call PrintText +.asm_eb896 ; 0x75cc5 + jp TextScriptEnd + +UnnamedText_75cc8: ; 0x75cc8 + TX_FAR _UnnamedText_75cc8 + db $50 +; 0x75cc8 + 5 bytes + +UnnamedText_75ccd: ; 0x75ccd + TX_FAR UnnamedText_a0f48 ; 0xa0f48 + db $0B, $50 +; 0x75cd3 + +UnnamedText_75cd3: ; 0x75cd3 + TX_FAR _UnnamedText_75cd3 + db $50 +; 0x75cd3 + 5 bytes + +UnnamedText_75cd8: ; 0x75cd8 + TX_FAR _UnnamedText_75cd8 + db $50 +; 0x75cd8 + 5 bytes + +Lab3Text2: ; 0x75cdd + TX_FAR _Lab3Text2 + db $50 + +Lab3Text4: +Lab3Text3: ; 0x75ce2 + TX_FAR _Lab3Text3 + db $50 + +Lab3Text5: ; 0x75ce7 + TX_FAR _Lab3Text5 + db $50 + +Lab3Object: ; 0x75cec (size=41) + db $17 ; border tile + + db $2 ; warps + db $7, $2, $3, CINNABAR_LAB_1 + db $7, $3, $3, CINNABAR_LAB_1 + + db $3 ; signs + db $4, $0, $3 ; Lab3Text3 + db $4, $1, $4 ; Lab3Text4 + db $1, $2, $5 ; Lab3Text5 + + db $2 ; people + db SPRITE_OAK_AIDE, $2 + 4, $7 + 4, $ff, $d0, $1 ; person + db SPRITE_OAK_AIDE, $3 + 4, $2 + 4, $fe, $2, $2 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 ; CINNABAR_LAB_1 + EVENT_DISP $4, $7, $3 ; CINNABAR_LAB_1 + +Lab3Blocks: ; 0x75d15 16 + INCBIN "maps/lab3.blk" + +Lab4_h: ; 0x75d25 to 0x75d31 (12 bytes) (id=170) + db $14 ; tileset + db CINNABAR_LAB_4_HEIGHT, CINNABAR_LAB_4_WIDTH ; dimensions (y, x) + dw Lab4Blocks, Lab4Texts, Lab4Script ; blocks, texts, scripts + db $00 ; connections + + dw Lab4Object ; objects + +Lab4Script: ; 0x75d31 + jp $3c3c +; 0x75d34 + +Lab4Texts: ; 0x75d34 + dw Lab4Text1, Lab4Text2 + +INCBIN "baserom.gbc",$75d34 + 4,$38 -4 + +Lab4Text1: ; 0x75d6c + db $8 + ld a, [$d7a3] + bit 0, a + jr nz, .asm_75d96 ; 0x75d72 $22 + ld hl, UnnamedText_75dc6 + call PrintText + call $5d38 + ld a, [$cd37] + and a + jr z, .asm_75d8d ; 0x75d81 $a + ld b, $18 + ld hl, $5006 + call Bankswitch + jr .asm_75d93 ; 0x75d8b $6 +.asm_75d8d + ld hl, UnnamedText_75dcb + call PrintText +.asm_75d93 + jp TextScriptEnd +.asm_75d96 + bit 1, a + jr z, .asm_75da2 ; 0x75d98 $8 + ld hl, UnnamedText_75dd0 + call PrintText + jr .asm_75d93 ; 0x75da0 $f1 +.asm_75da2 + call $5de8 + ld hl, UnnamedText_75dd5 + call PrintText + ld hl, $d7a3 + set 2, [hl] + ld a, [$d710] + ld b, a + ld c, $1e + call GivePokemon + jr nc, .asm_75d93 ; 0x75db9 $d8 + ld hl, $d7a3 + res 0, [hl] + res 1, [hl] + res 2, [hl] + jr .asm_75d93 ; 0x75dc4 $cd +; 0x75dc6 + +UnnamedText_75dc6: ; 0x75dc6 + TX_FAR _UnnamedText_75dc6 + db $50 +; 0x75dc6 + 5 bytes + +UnnamedText_75dcb: ; 0x75dcb + TX_FAR _UnnamedText_75dcb + db $50 +; 0x75dcb + 5 bytes + +UnnamedText_75dd0: ; 0x75dd0 + TX_FAR _UnnamedText_75dd0 + db $50 +; 0x75dd0 + 5 bytes + +UnnamedText_75dd5: ; 0x75dd5 + TX_FAR _UnnamedText_75dd5 + db $50 +; 0x75dd5 + 5 bytes + +Lab4Text2: ; 0x75dda + db $08 ; asm + ld a, $3 + ld [W_WHICHTRADE], a + ld a, $54 + call Predef + jp TextScriptEnd + +; 0x75de8 +; XXX todo +;db $6, $18, $21, $eb, $50 +;db $c3, $d6, $35 + ld b, $18 + ld hl, $50eb + jp $35d6 +; 0x75df0 + +Lab4Object: ; 0x75df0 (size=32) + db $17 ; border tile + + db $2 ; warps + db $7, $2, $4, CINNABAR_LAB_1 + db $7, $3, $4, CINNABAR_LAB_1 + + db $0 ; signs + + db $2 ; people + db SPRITE_OAK_AIDE, $2 + 4, $5 + 4, $fe, $2, $1 ; person + db SPRITE_OAK_AIDE, $6 + 4, $7 + 4, $ff, $d1, $2 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 ; CINNABAR_LAB_1 + EVENT_DISP $4, $7, $3 ; CINNABAR_LAB_1 + +Lab4Blocks: ; 0x75e10 16 + INCBIN "maps/lab4.blk" + +CinnabarPokecenter_h: ; 0x75e20 to 0x75e2c (12 bytes) (id=171) + db $06 ; tileset + db CINNABAR_POKECENTER_HEIGHT, CINNABAR_POKECENTER_WIDTH ; dimensions (y, x) + dw CinnabarPokecenterBlocks, CinnabarPokecenterTexts, CinnabarPokecenterScript ; blocks, texts, scripts + db $00 ; connections + + dw CinnabarPokecenterObject ; objects + +CinnabarPokecenterScript: ; 0x75e2c + call $22fa + jp $3c3c +; 0x75e32 + +CinnabarPokecenterTexts: ; 0x75e32 + dw CinnabarPokecenterText1, CinnabarPokecenterText2, CinnabarPokecenterText3, CinnabarPokecenterText4 + +CinnabarPokecenterText1: ; 0x75e3a + db $ff + +CinnabarPokecenterText2: ; 0x75e3b + TX_FAR _CinnabarPokecenterText1 + db $50 + +CinnabarPokecenterText3: ; 0x75e40 + TX_FAR _CinnabarPokecenterText3 + db $50 + +CinnabarPokecenterText4: ; 0x75e45 + db $f6 + +CinnabarPokecenterObject: ; 0x75e46 (size=44) + db $0 ; border tile + + db $2 ; warps + db $7, $3, $3, $ff + db $7, $4, $3, $ff + + db $0 ; signs + + db $4 ; people + db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person + db SPRITE_LASS, $4 + 4, $9 + 4, $fe, $0, $2 ; person + db SPRITE_GENTLEMAN, $6 + 4, $2 + 4, $ff, $ff, $3 ; person + db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person + + ; warp-to + EVENT_DISP $7, $7, $3 + EVENT_DISP $7, $7, $4 + +CinnabarMart_h: ; 0x75e72 to 0x75e7e (12 bytes) (id=172) + db $02 ; tileset + db CINNABAR_MART_HEIGHT, CINNABAR_MART_WIDTH ; dimensions (y, x) + dw CinnabarMartBlocks, CinnabarMartTexts, CinnabarMartScript ; blocks, texts, scripts + db $00 ; connections + + dw CinnabarMartObject ; objects + +CinnabarMartScript: ; 0x75e7e + jp $3c3c +; 0x75e81 + +CinnabarMartTexts: ; 0x75e81 + dw CinnabarMartText1, CinnabarMartText2, CinnabarMartText3 + +CinnabarMartText2: ; 0x75e87 + TX_FAR _CinnabarMartText2 + db $50 + +CinnabarMartText3: ; 0x75e8c + TX_FAR _CinnabarMartText3 + db $50 + +CinnabarMartObject: ; 0x75e91 (size=38) + db $0 ; border tile + + db $2 ; warps + db $7, $3, $4, $ff + db $7, $4, $4, $ff + + db $0 ; signs + + db $3 ; people + db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person + db SPRITE_ERIKA, $2 + 4, $6 + 4, $ff, $ff, $2 ; person + db SPRITE_OAK_AIDE, $4 + 4, $3 + 4, $ff, $ff, $3 ; person + + ; warp-to + EVENT_DISP $4, $7, $3 + EVENT_DISP $4, $7, $4 + +CopycatsHouseF1_h: ; 0x75eb7 to 0x75ec3 (12 bytes) (id=175) + db $01 ; tileset + db COPYCATS_HOUSE_1F_HEIGHT, COPYCATS_HOUSE_1F_WIDTH ; dimensions (y, x) + dw CopycatsHouseF1Blocks, CopycatsHouseF1Texts, CopycatsHouseF1Script ; blocks, texts, scripts + db $00 ; connections + + dw CopycatsHouseF1Object ; objects + +CopycatsHouseF1Script: ; 0x75ec3 + jp $3c3c +; 0x75ec6 + +CopycatsHouseF1Texts: ; 0x75ec6 + dw CopycatsHouseF1Text1, CopycatsHouseF1Text2, CopycatsHouseF1Text3 + +CopycatsHouseF1Text1: ; 0x75ecc + TX_FAR _CopycatsHouseF1Text1 + db $50 + +CopycatsHouseF1Text2: ; 0x75ed1 + TX_FAR _CopycatsHouseF1Text2 + db $50 + +CopycatsHouseF1Text3: ; 0x75ed6 + TX_FAR _CopycatsHouseF1Text3 + db $8 + ld a, $28 + call $13d0 + jp TextScriptEnd + +CopycatsHouseF1Object: ; 0x75ee3 (size=46) + db $a ; border tile + + db $3 ; warps + db $7, $2, $0, $ff + db $7, $3, $0, $ff + db $1, $7, $0, COPYCATS_HOUSE_2F + + db $0 ; signs + + db $3 ; people + db SPRITE_MOM_GEISHA, $2 + 4, $2 + 4, $ff, $d0, $1 ; person + db SPRITE_FAT_BALD_GUY, $4 + 4, $5 + 4, $ff, $d2, $2 ; person + db SPRITE_CLEFAIRY, $4 + 4, $1 + 4, $fe, $1, $3 ; person + + ; warp-to + EVENT_DISP $4, $7, $2 + EVENT_DISP $4, $7, $3 + EVENT_DISP $4, $1, $7 ; COPYCATS_HOUSE_2F + +Gary_h: ;0x75f11 + db $7 ;tileset + db $4, $4 ;Height, Width + dw GaryBlocks, GaryTexts, GaryScript + db $0 ;No Connections + + dw GaryObject + +GaryScript: ; 0x75f1d + call $3c3c + ld hl, GaryScripts + ld a, [$d64c] + jp $3d97 +; 0x75f29 + +INCBIN "baserom.gbc",$75f29,$75f31 - $75f29 + +GaryScripts: ; 0x75f31 + dw GaryScript0, GaryScript1, GaryScript2 + +INCBIN "baserom.gbc",$75f33 + 4,$14 - 4 + +GaryScript0: ; 0x75f47 + ret +; 0x75f48 + +GaryScript1: ; 0x75f48 + ld a, $ff + ld [$cd6b], a + ld hl, $ccd3 + ld de, $5f63 + call $350c + dec a + ld [$cd38], a + call $3486 + ld a, $2 + ld [$d64c], a + ret +; 0x75f63 + +INCBIN "baserom.gbc",$75f63,$75f6a - $75f63 + +GaryScript2: ; 0x75f6a 5F6A + ld a, [$cd38] + and a + ret nz + call Delay3 + xor a + ld [$cd6b], a + ld hl, $d355 + res 7, [hl] + ld a, $1 + ld [$ff00+$8c], a + call $2920 + call Delay3 + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, $60f9 + ld de, $60fe + call $3354 + ld a, $f3 + ld [$d059], a + + ; select which team to use during the encounter + ld a, [W_RIVALSTARTER] + cp SQUIRTLE + jr nz, .NotSquirtle\@ ; 0x75f9f $4 + ld a, $1 + jr .done\@ +.NotSquirtle\@ + cp BULBASAUR + jr nz, .Charmander\@ ; 0x75fa7 $4 + ld a, $2 + jr .done\@ +.Charmander\@ + ld a, $3 +.done\@ + ld [W_TRAINERNO], a + + xor a + ld [$ff00+$b4], a + ld a, $3 + ld [$d64c], a + ret +; 0x75fbb + +INCBIN "baserom.gbc",$75fbb,$760d6 - $75fbb + +GaryTexts: ; 0x760d6 + dw GaryText1, GaryText2, GaryText3, GaryText4, GaryText5 + +GaryText1: ; 0x760e0 + db $08 ; asm + ld a, [$d867] + bit 1, a + ld hl, UnnamedText_760f4 + jr z, .asm_17e9f ; 0x760e9 + ld hl, UnnamedText_76103 +.asm_17e9f ; 0x760ee + call PrintText + jp TextScriptEnd + +UnnamedText_760f4: ; 0x760f4 + TX_FAR _UnnamedText_760f4 + db $50 +; 0x760f4 + 5 bytes + +UnnamedText_760f9: ; 0x760f9 + TX_FAR _UnnamedText_760f9 + db $50 +; 0x760f9 + 5 bytes + +UnnamedText_760fe: ; 0x760fe + TX_FAR _UnnamedText_760fe + db $50 +; 0x760fe + 5 bytes + +UnnamedText_76103: ; 0x76103 + TX_FAR _UnnamedText_76103 + db $50 +; 0x76103 + 5 bytes + +GaryText2: ; 0x76108 + TX_FAR _GaryText2 + db $50 + +GaryText3: ; 0x7610d + db $8 + ld a, [$d717] + ld [$d11e], a + call GetMonName + ld hl, UnnamedText_76120 + call PrintText + jp TextScriptEnd +; 0x76120 + +UnnamedText_76120: ; 0x76120 + TX_FAR _UnnamedText_76120 + db $50 +; 0x76120 + 5 bytes + +GaryText4: ; 0x76125 + TX_FAR _UnnamedText_76125 + db $50 +; 0x76125 + 5 bytes + +GaryText5: ; 0x7612a + TX_FAR _UnnamedText_7612a + db $50 +; 0x7612a + 5 bytes + +GaryObject: ; 0x7612f (size=48) + db $3 ; border tile + + db $4 ; warps + db $7, $3, $1, LANCES_ROOM + db $7, $4, $2, LANCES_ROOM + db $0, $3, $0, HALL_OF_FAME + db $0, $4, $0, HALL_OF_FAME + + db $0 ; signs + + db $2 ; people + db SPRITE_BLUE, $2 + 4, $4 + 4, $ff, $d0, $1 ; person + db SPRITE_OAK, $7 + 4, $3 + 4, $ff, $d1, $2 ; person + + ; warp-to + EVENT_DISP $4, $7, $3 ; LANCES_ROOM + EVENT_DISP $4, $7, $4 ; LANCES_ROOM + EVENT_DISP $4, $0, $3 ; HALL_OF_FAME + EVENT_DISP $4, $0, $4 ; HALL_OF_FAME + +GaryBlocks: ; 0x7615f 16 + INCBIN "maps/gary.blk" + +Lorelei_h: ; 0x7616f to 0x7617b (12 bytes) (id=245) + db $07 ; tileset + db LORELEIS_ROOM_HEIGHT, LORELEIS_ROOM_WIDTH ; dimensions (y, x) + dw LoreleiBlocks, LoreleiTexts, LoreleiScript ; blocks, texts, scripts + db $00 ; connections + + dw LoreleiObject ; objects + +LoreleiScript: ; 0x7617b + call LoreleiScript_Unknown76191 + call $3c3c + ld hl, LoreleiTrainerHeaders + ld de, $61bb + ld a, [$d64d] + call $3160 + ld [$d64d], a + ret +; 0x76191 + +LoreleiScript_Unknown76191: ; 0x76191 +INCBIN "baserom.gbc",$76191,$c0 + +LoreleiTexts: ; 0x76251 + dw LoreleiText1, LoreleiText2 + +LoreleiTrainerHeaders: +LoreleiTrainerHeader1: ; 0x76255 + db $1 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d863 ; flag's byte + dw UnnamedText_7626c ; 0x626c TextBeforeBattle + dw UnnamedText_76276 ; 0x6276 TextAfterBattle + dw UnnamedText_76271 ; 0x6271 TextEndBattle + dw UnnamedText_76271 ; 0x6271 TextEndBattle +; 0x76261 + +db $ff + +LoreleiText1: ; 0x76262 + db $08 ; asm + ld hl, LoreleiTrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_7626c: ; 0x7626c + TX_FAR _UnnamedText_7626c + db $50 +; 0x7626c + 5 bytes + +UnnamedText_76271: ; 0x76271 + TX_FAR _UnnamedText_76271 + db $50 +; 0x76271 + 5 bytes + +UnnamedText_76276: ; 0x76276 + TX_FAR _UnnamedText_76276 + db $50 +; 0x76276 + 5 bytes + +LoreleiText2: ; 0x7627b + TX_FAR _UnnamedText_7627b + db $50 +; 0x7627b + 5 bytes + +LoreleiObject: ; 0x76280 (size=44) + db $3 ; border tile + + db $4 ; warps + db $b, $4, $2, INDIGO_PLATEAU_LOBBY + db $b, $5, $2, INDIGO_PLATEAU_LOBBY + db $0, $4, $0, BRUNOS_ROOM + db $0, $5, $1, BRUNOS_ROOM + + db $0 ; signs + + db $1 ; people + db SPRITE_LORELEI, $2 + 4, $5 + 4, $ff, $d0, $41, LORELEI + $C8, $1 ; trainer + + ; warp-to + EVENT_DISP $5, $b, $4 ; INDIGO_PLATEAU_LOBBY + EVENT_DISP $5, $b, $5 ; INDIGO_PLATEAU_LOBBY + EVENT_DISP $5, $0, $4 ; BRUNOS_ROOM + EVENT_DISP $5, $0, $5 ; BRUNOS_ROOM + +LoreleiBlocks: ; 0x762ac 30 + INCBIN "maps/loreli.blk" + +Bruno_h: ; 0x762ca to 0x762d6 (12 bytes) (id=246) + db $07 ; tileset + db BRUNOS_ROOM_HEIGHT, BRUNOS_ROOM_WIDTH ; dimensions (y, x) + dw BrunoBlocks, BrunoTexts, BrunoScript ; blocks, texts, scripts + db $00 ; connections + + dw BrunoObject ; objects + +BrunoScript: ; 0x762d6 + call BrunoScript_Unknown762ec + call $3c3c + ld hl, BrunoTrainerHeaders + ld de, $6312 + ld a, [$d64e] + call $3160 + ld [$d64e], a + ret +; 0x762ec + +BrunoScript_Unknown762ec: ; 0x762ec +INCBIN "baserom.gbc",$762ec,$bc + +BrunoTexts: ; 0x763a8 + dw BrunoText1, BrunoText2 + +BrunoTrainerHeaders: +BrunoTrainerHeader1: ; 0x763ac + db $1 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d864 ; flag's byte + dw UnnamedText_763c3 ; 0x63c3 TextBeforeBattle + dw UnnamedText_763cd ; 0x63cd TextAfterBattle + dw UnnamedText_763c8 ; 0x63c8 TextEndBattle + dw UnnamedText_763c8 ; 0x63c8 TextEndBattle +; 0x763b8 + +db $ff + +BrunoText1: ; 0x763b9 + db $08 ; asm + ld hl, BrunoTrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_763c3: ; 0x763c3 + TX_FAR _UnnamedText_763c3 + db $50 +; 0x763c3 + 5 bytes + +UnnamedText_763c8: ; 0x763c8 + TX_FAR _UnnamedText_763c8 + db $50 +; 0x763c8 + 5 bytes + +UnnamedText_763cd: ; 0x763cd + TX_FAR _UnnamedText_763cd + db $50 +; 0x763cd + 5 bytes + +BrunoText2: ; 0x763d2 + TX_FAR _UnnamedText_763d2 + db $50 +; 0x763d2 + 5 bytes + +BrunoObject: ; 0x763d7 (size=44) + db $3 ; border tile + + db $4 ; warps + db $b, $4, $2, LORELEIS_ROOM + db $b, $5, $3, LORELEIS_ROOM + db $0, $4, $0, AGATHAS_ROOM + db $0, $5, $1, AGATHAS_ROOM + + db $0 ; signs + + db $1 ; people + db SPRITE_BRUNO, $2 + 4, $5 + 4, $ff, $d0, $41, BRUNO + $C8, $1 ; trainer + + ; warp-to + EVENT_DISP $5, $b, $4 ; LORELEIS_ROOM + EVENT_DISP $5, $b, $5 ; LORELEIS_ROOM + EVENT_DISP $5, $0, $4 ; AGATHAS_ROOM + EVENT_DISP $5, $0, $5 ; AGATHAS_ROOM + +BrunoBlocks: ; 0x76403 30 + INCBIN "maps/bruno.blk" + +Agatha_h: ; 0x76421 to 0x7642d (12 bytes) (id=247) + db $0f ; tileset + db AGATHAS_ROOM_HEIGHT, AGATHAS_ROOM_WIDTH ; dimensions (y, x) + dw AgathaBlocks, AgathaTexts, AgathaScript ; blocks, texts, scripts + db $00 ; connections + + dw AgathaObject ; objects + +AgathaScript: ; 0x7642d + call AgathaScript_Unknown76443 + call $3c3c + ld hl, AgathaTrainerHeaders + ld de, $6469 + ld a, [$d64f] + call $3160 + ld [$d64f], a + ret +; 0x76443 + +AgathaScript_Unknown76443: ; 0x76443 +INCBIN "baserom.gbc",$76443,$c2 + +AgathaTexts: ; 0x76505 + dw AgathaText1, AgathaText2 + +AgathaTrainerHeaders: +AgathaTrainerHeader1: ; 0x76509 + db $1 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d865 ; flag's byte + dw UnnamedText_76520 ; 0x6520 TextBeforeBattle + dw UnnamedText_7652a ; 0x652a TextAfterBattle + dw UnnamedText_76525 ; 0x6525 TextEndBattle + dw UnnamedText_76525 ; 0x6525 TextEndBattle +; 0x76515 + +db $ff + +AgathaText1: ; 0x76516 + db $08 ; asm + ld hl, AgathaTrainerHeader1 + call LoadTrainerHeader + jp TextScriptEnd + +UnnamedText_76520: ; 0x76520 + TX_FAR _UnnamedText_76520 + db $50 +; 0x76520 + 5 bytes + +UnnamedText_76525: ; 0x76525 + TX_FAR _UnnamedText_76525 + db $50 +; 0x76525 + 5 bytes + +UnnamedText_7652a: ; 0x7652a + TX_FAR _UnnamedText_7652a + db $50 +; 0x7652a + 5 bytes + +AgathaText2: ; 0x7652f + TX_FAR _UnnamedText_7652f + db $50 +; 0x7652f + 5 bytes + +AgathaObject: ; 0x76534 (size=44) + db $0 ; border tile + + db $4 ; warps + db $b, $4, $2, BRUNOS_ROOM + db $b, $5, $3, BRUNOS_ROOM + db $0, $4, $0, LANCES_ROOM + db $0, $5, $0, LANCES_ROOM + + db $0 ; signs + + db $1 ; people + db SPRITE_AGATHA, $2 + 4, $5 + 4, $ff, $d0, $41, AGATHA + $C8, $1 ; trainer + + ; warp-to + EVENT_DISP $5, $b, $4 ; BRUNOS_ROOM + EVENT_DISP $5, $b, $5 ; BRUNOS_ROOM + EVENT_DISP $5, $0, $4 ; LANCES_ROOM + EVENT_DISP $5, $0, $5 ; LANCES_ROOM + +AgathaBlocks: ; 0x76560 30 + INCBIN "maps/agatha.blk" + +INCBIN "baserom.gbc",$7657e,$76670 - $7657e + +HallOfFameNoText: ; 0x76670 + db "HALL OF FAME No @" + +UnnamedText_76683: ; 0x76683 + TX_FAR _UnnamedText_76683 + db $50 +; 0x76683 + 5 bytes + +INCBIN "baserom.gbc",$76688,$76794 - $76688 + +UnnamedText_76794: ; 0x76794 + TX_FAR _UnnamedText_76794 + db $50 +; 0x76794 + 5 bytes + +INCBIN "baserom.gbc",$76799,$76852 - $76799 + +UnnamedText_76852: ; 0x76852 + TX_FAR _UnnamedText_76852 + db $50 +; 0x76852 + 5 bytes + +INCBIN "baserom.gbc",$76857,$76880 - $76857 + +;I'm pretty sure that the rest of the bank is assembly and thus doesn't use any of the 0s, but I've included some to be sure + +SECTION "bank1E",DATA,BANK[$1E] + +INCBIN "baserom.gbc",$78000,$F1 + +PlayAnimation: ; 40F1 + xor a + ld [$FF8B],a + ld [$D08B],a + ld a,[$D07C] ; get animation number + dec a + ld l,a + ld h,0 + add hl,hl + ld de,$607D + add hl,de + ld a,[hli] + ld h,[hl] + ld l,a +.next7\@ + ld a,[hli] + cp a,$FF + jr z,.AnimationOver\@ + cp a,$C0 ; is this animation for a monster onscreen? + jr c,.next2\@ + ld c,a + ld de,$50DA +.next4\@ + ld a,[de] + cp c + jr z,.next3\@ + inc de + inc de + inc de + jr .next4\@ +.next3\@ + ld a,[hli] + cp a,$FF + jr z,.next5\@ + ld [$CF07],a + push hl + push de + call $586F + call $23B1 + pop de + pop hl +.next5\@ + push hl + inc de + ld a,[de] + ld l,a + inc de + ld a,[de] + ld h,a + ld de,.next6\@ + push de + jp [hl] +.next2\@ + ld c,a + and a,$3F + ld [$D086],a + xor a + sla c + rla + sla c + rla + ld [$D09F],a + ld a,[hli] + ld [$CF07],a + ld a,[hli] + ld c,l + ld b,h + ld l,a + ld h,0 + add hl,hl + ld de,$676D + add hl,de + ld a,l + ld [$D094],a + ld a,h + ld [$D095],a + ld l,c + ld h,b + push hl + ld a,[rOBP0] + push af + ld a,[$CC79] + ld [rOBP0],a + call $41D2 + call $417C + call RealPlayAnimation + pop af + ld [rOBP0],a +.next6\@ + pop hl + jr .next7\@ +.AnimationOver\@ ; 417B + ret + +INCBIN "baserom.gbc",$7817C,$78BDE - $7817C + +IF _RED + INCBIN "gfx/red/slotmachine2.2bpp" +ENDC +IF _BLUE + INCBIN "gfx/blue/slotmachine2.2bpp" +ENDC + +MoveAnimation: ; 4D5E + push hl + push de + push bc + push af + call $3748 + call $4E23 + ld a,[$D07C] + and a + jr z,.AnimationFinished\@ + + ; if throwing a Poké Ball, skip the regular animation code + cp a,TOSS_ANIM + jr nz,.MoveAnimation\@ + ld de,.AnimationFinished\@ + push de + jp TossBallAnimation + +.MoveAnimation\@ + ; check if battle animations are disabled in the options + ld a,[$D355] + bit 7,a + jr nz,.AnimationsDisabled\@ + call ShareMoveAnimations + call PlayAnimation + jr .next4\@ +.AnimationsDisabled\@ + ld c,30 + call DelayFrames +.next4\@ + call $4DBD ; reload pic and flash the pic in and out (to show damage) +.AnimationFinished\@ + call $3748 + xor a + ld [$D096],a + ld [$D09B],a + ld [$D08B],a + dec a + ld [$CF07],a + pop af + pop bc + pop de + pop hl + ret + +ShareMoveAnimations: ; 4DA6 +; some moves just reuse animations from status conditions + ld a,[H_WHOSETURN] + and a + ret z + + ; opponent’s turn + + ld a,[$D07C] + + cp a,AMNESIA + ld b,CONF_ANIM + jr z,.Replace\@ + + cp a,REST + ld b,SLP_ANIM + ret nz + +.Replace\@ + ld a,b + ld [$D07C],a + ret + +Function4DBD: ; 4DBD + ld a,[$CC5B] + and a + ret z + dec a + add a + ld c,a + ld b,0 + ld hl,Pointer4DCF + add hl,bc + ld a,[hli] + ld h,[hl] + ld l,a + jp [hl] + +Pointer4DCF: ; 4DCF + dw $4DDB,$4DE3,$4DEB,$4DF0,$4DF6,$4DFE + +INCBIN "baserom.gbc",$78DDB,$78E53-$78DDB + +RealPlayAnimation: ; 4E53 + ld a,[$CF07] ; get animation # − 1 + cp a,$FF + jr z,.Next4E60 + call $586F + call $23B1 ; play sound effect +.Next4E60 + ld hl,$C300 + ld a,l + ld [$D09D],a + ld a,h + ld [$D09C],a + ld a,[$D097] + ld h,a + ld a,[$D096] + ld l,a + push hl + ld c,[hl] + ld b,0 + ld hl,PointerTable6F74 + add hl,bc + add hl,bc + ld a,[hli] + ld c,a + ld a,[hli] + ld b,a + pop hl + inc hl + push hl + ld e,[hl] + ld d,0 + ld hl,$7C85 + add hl,de + add hl,de + ld a,[hli] + ld [$D082],a + ld a,[hl] + ld [$D081],a + pop hl + inc hl + ld a,[hl] + ld [$D09E],a + call $4000 + call $4ED7 + ld a,[$D087] + dec a + ld [$D087],a + ret z + ld a,[$D097] + ld h,a + ld a,[$D096] + ld l,a + ld a,[$D08B] + cp a,4 + ld bc,3 + jr nz,.Next4EBC + ld bc,$FFFD +.Next4EBC + add hl,bc + ld a,h + ld [$D097],a + ld a,l + ld [$D096],a + jp $4E73 + +INCBIN "baserom.gbc",$78EC8,$7986F - $78EC8 + +Func586F: ; 0x7986F 586F + ld hl,MoveSoundTable + ld e,a + ld d,0 + add hl,de + add hl,de + add hl,de + ld a,[hli] + ld b,a + call IsCryMove + jr nc,.NotCryMove + ld a,[H_WHOSETURN] + and a + jr nz,.next\@ + ld a,[$D014] ; get number of current monster + jr .Continue\@ +.next\@ + ld a,[$CFE5] +.Continue\@ + push hl + call $13D9 + ld b,a + pop hl + ld a,[$C0F1] + add [hl] + ld [$C0F1],a + inc hl + ld a,[$C0F2] + add [hl] + ld [$C0F2],a + jr .done\@ +.NotCryMove + ld a,[hli] + ld [$C0F1],a + ld a,[hli] + ld [$C0F2],a +.done\@ + ld a,b + ret +IsCryMove: ; 0x798ad +; set carry if the move animation involves playing a monster cry + ld a,[$D07C] + cp a,GROWL + jr z,.CryMove + cp a,ROAR + jr z,.CryMove + and a ; clear carry + ret +.CryMove + scf + ret + +MoveSoundTable: ; 0x798bc + db $a0,$00,$80 + db $a2,$10,$80 + db $b3,$00,$80 + db $a1,$01,$80 + db $a3,$00,$40 + db $e9,$00,$ff + db $a3,$10,$60 + db $a3,$20,$80 + db $a3,$00,$a0 + db $a6,$00,$80 + db $a5,$20,$40 + db $a5,$00,$80 + db $a4,$00,$a0 + db $a7,$10,$c0 + db $a7,$00,$a0 + db $a8,$00,$c0 + db $a8,$10,$a0 + db $a9,$00,$e0 + db $a7,$20,$c0 + db $aa,$00,$80 + db $b9,$00,$80 + db $ab,$01,$80 + db $b7,$00,$80 + db $ad,$f0,$40 + db $b0,$00,$80 + db $ad,$00,$80 + db $b8,$10,$80 + db $b1,$01,$a0 + db $ae,$00,$80 + db $b4,$00,$60 + db $b4,$01,$40 + db $b6,$00,$a0 + db $b0,$10,$a0 + db $b7,$00,$c0 + db $aa,$10,$60 + db $b0,$00,$a0 + db $b9,$11,$c0 + db $b0,$20,$c0 + db $b8,$00,$80 + db $b1,$00,$80 + db $b1,$20,$c0 + db $af,$00,$80 + db $db,$ff,$40 + db $b4,$00,$80 + db $a1,$00,$c0 + db $a1,$00,$40 + db $e4,$00,$80 + db $bf,$40,$60 + db $bf,$00,$80 + db $bf,$ff,$40 + db $c7,$80,$c0 + db $af,$10,$a0 + db $af,$21,$e0 + db $c5,$00,$80 + db $bb,$20,$60 + db $c7,$00,$80 + db $cc,$00,$80 + db $c2,$40,$80 + db $c5,$f0,$e0 + db $cf,$00,$80 + db $c7,$f0,$60 + db $c2,$00,$80 + db $e6,$00,$80 + db $9d,$01,$a0 + db $a9,$f0,$20 + db $ba,$01,$c0 + db $ba,$00,$80 + db $b0,$00,$e0 + db $be,$01,$60 + db $be,$20,$40 + db $bb,$00,$80 + db $bb,$40,$c0 + db $b1,$03,$60 + db $bd,$11,$e0 + db $a8,$20,$e0 + db $d2,$00,$80 + db $b2,$00,$80 + db $b2,$11,$a0 + db $b2,$01,$c0 + db $a9,$14,$c0 + db $b1,$02,$a0 + db $c5,$f0,$80 + db $c5,$20,$c0 + db $d5,$00,$20 + db $d5,$20,$80 + db $d2,$12,$60 + db $be,$00,$80 + db $aa,$01,$e0 + db $c5,$0f,$e0 + db $c5,$11,$20 + db $a6,$10,$40 + db $a5,$10,$c0 + db $aa,$00,$20 + db $d8,$00,$80 + db $e4,$11,$18 + db $9f,$20,$c0 + db $9e,$20,$c0 + db $bd,$00,$10 + db $be,$f0,$20 + db $df,$f0,$c0 + db $a7,$f0,$e0 + db $9f,$f0,$40 + db $db,$00,$80 + db $df,$80,$40 + db $df,$00,$80 + db $aa,$11,$20 + db $aa,$22,$10 + db $b1,$f1,$ff + db $a9,$f1,$ff + db $aa,$33,$30 + db $dd,$40,$c0 + db $a4,$20,$20 + db $a4,$f0,$10 + db $a5,$f8,$10 + db $a7,$f0,$10 + db $bd,$00,$80 + db $ae,$00,$c0 + db $dd,$c0,$ff + db $9f,$f2,$20 + db $e1,$00,$80 + db $e1,$00,$40 + db $9f,$00,$40 + db $a7,$10,$ff + db $c7,$20,$20 + db $dd,$00,$80 + db $c5,$1f,$20 + db $bd,$2f,$80 + db $a5,$1f,$ff + db $ca,$1f,$60 + db $be,$1e,$20 + db $be,$1f,$18 + db $aa,$0f,$80 + db $9f,$f8,$10 + db $9e,$18,$20 + db $dd,$08,$40 + db $ad,$01,$e0 + db $a7,$09,$ff + db $e4,$42,$01 + db $b2,$00,$ff + db $dd,$08,$e0 + db $bb,$00,$80 + db $9f,$88,$10 + db $bd,$48,$ff + db $9e,$ff,$ff + db $bb,$ff,$10 + db $9e,$ff,$04 + db $b2,$01,$ff + db $a9,$f8,$ff + db $a2,$f0,$f0 + db $a5,$08,$10 + db $a3,$f0,$ff + db $b0,$f0,$ff + db $e1,$10,$ff + db $a4,$f0,$20 + db $ca,$f0,$60 + db $b8,$12,$10 + db $e6,$f0,$20 + db $b4,$12,$ff + db $db,$80,$04 + db $df,$f0,$10 + db $c5,$f8,$ff + db $be,$f0,$ff + db $a7,$01,$ff + db $cc,$d8,$04 + db $a1,$00,$80 + db $a1,$00,$80 + +INCBIN "baserom.gbc",$79AAE,$79E16 - $79AAE + +TossBallAnimation: ; 5E16 + ld a,[W_ISINBATTLE] + cp a,2 + jr z,.BlockBall\@ ; if in trainer battle, play different animation + ld a,[$D11E] + ld b,a + + ; upper nybble: how many animations (from PokeBallAnimations) to play + ; this will be 4 for successful capture, 6 for breakout + and a,$F0 + swap a + ld c,a + + ; lower nybble: number of shakes + ; store these for later + ld a,b + and a,$F + ld [$CD3D],a + + ld hl,.PokeBallAnimations + ; choose which toss animation to use + ld a,[$CF91] + cp a,POKE_BALL + ld b,TOSS_ANIM + jr z,.done\@ + cp a,GREAT_BALL + ld b,GREATTOSS_ANIM + jr z,.done\@ + ld b,ULTRATOSS_ANIM +.done\@ + ld a,b +.PlayNextAnimation\@ + ld [$D07C],a + push bc + push hl + call PlayAnimation + pop hl + ld a,[hli] + pop bc + dec c + jr nz,.PlayNextAnimation\@ + ret + +.PokeBallAnimations: ; 5E50 +; sequence of animations that make up the Poké Ball toss + db POOF_ANIM,HIDEPIC_ANIM,$C2,POOF_ANIM,SHOWPIC_ANIM + +.BlockBall\@ ; 5E55 + ld a,$C1 + ld [$D07C],a + call PlayAnimation + ld a,$95 + call $23B1 ; play sound effect + ld a,BLOCKBALL_ANIM + ld [$D07C],a + jp PlayAnimation + +INCBIN "baserom.gbc",$79E6A,$7AF74 - $79E6A + +PointerTable6F74: ; 6F74 + dw $7de7 + dw $7068 + dw $708d + dw $70ce + dw $70df + dw $70f0 + dw $7101 + dw $7132 + dw $7173 + dw $71b4 + dw $71e5 + dw $7216 + dw $7227 + dw $7238 + dw $7259 + dw $726a + dw $727b + dw $729c + dw $72bd + dw $72ca + dw $72db + dw $72fc + dw $732d + dw $734e + dw $735f + dw $7364 + dw $736d + dw $7376 + dw $737f + dw $7388 + dw $7391 + dw $73ab + dw $73b4 + dw $73cd + dw $73fe + dw $744b + dw $745c + dw $7465 + dw $7496 + dw $74a7 + dw $74bc + dw $74d5 + dw $74e6 + dw $74f7 + dw $7500 + dw $7505 + dw $7526 + dw $7547 + dw $7558 + dw $7569 + dw $756e + dw $758b + dw $75a8 + dw $75ad + dw $75c6 + dw $75d7 + dw $75e8 + dw $75f9 + dw $760a + dw $761b + dw $7630 + dw $7649 + dw $7666 + dw $7687 + dw $76a8 + dw $76b5 + dw $76c6 + dw $76f3 + dw $7720 + dw $7731 + dw $7742 + dw $7753 + dw $7764 + dw $7775 + dw $785a + dw $786b + dw $787c + dw $788d + dw $789e + dw $78bf + dw $78f0 + dw $7911 + dw $7932 + dw $7943 + dw $7950 + dw $7961 + dw $796e + dw $7987 + dw $79ac + dw $79c9 + dw $79ce + dw $79ff + dw $7a10 + dw $7a31 + dw $7a5e + dw $7a9b + dw $7aac + dw $7acd + dw $7afe + dw $7b3f + dw $7b58 + dw $7b71 + dw $7b8a + dw $7b93 + dw $7b98 + dw $7ba9 + dw $7bae + dw $7bcf + dw $7bf0 + dw $7c11 + dw $7c1a + dw $7c2b + dw $7c3c + dw $77b6 + dw $77f7 + dw $7828 + dw $7849 + dw $739a + dw $7c4d + dw $7c6a + dw $7c7b + dw $7c80 + +INCBIN "baserom.gbc",$7B068,$7C000 - $7B068 + +SECTION "bank1F",DATA,BANK[$1F] + +INCBIN "baserom.gbc",$7C000,$4000 + +SECTION "bank20",DATA,BANK[$20] + +UnnamedText_80000: ; 0x80000 + db $0, "Bingo!@@" +; 0xa80009 + +_UnnamedText_526f3: ; 0x80009 + db $0, $4f + db "The CARD KEY", $55 + db "opened the door!", $57 +; 0x80009 + 32 bytes + +_UnnamedText_526f8: ; 0x80029 + db $0, "Darn! It needs a", $4f + db "CARD KEY!", $57 +; 0x80029 + 28 bytes + +UnnamedText_80045: ; 0x80045 + TX_RAM $cd6d + db $0, ": @@" +; 0xa8004d + +_UnnamedText_70847: ; 0x8004d + db $0, "Not even a nibble!", $58 +; 0x8004d + 20 bytes + +_UnnamedText_7084c: ; 0x80061 + db $0, "Looks like there's", $4f + db "nothing here.", $58 +; 0x80061 + 33 bytes + +_UnnamedText_70851: ; 0x80082 + db $0, "Oh!", $4f + db "It's a bite!", $58 +; 0x80082 + 17 bytes + +_UnnamedText_24db: ; 0x80093 + db $0, "!", $57 +; 0x80093 + 3 bytes + +_UnnamedText_24e0: ; 0x80096 + db $0, "Ground rose up", $4f + db "somewhere!", $57 +; 0x80096 + 27 bytes + +_VictoryRoad3Text10: +_VictoryRoad3Text9: +_VictoryRoad3Text8: +_VictoryRoad3Text7: +_VictoryRoad2Text13: +_VictoryRoad2Text12: +_VictoryRoad2Text11: +_SeafoamIslands1Text2: +_SeafoamIslands1Text1: +_SeafoamIslands5Text2: +_SeafoamIslands5Text1: +_SeafoamIslands4Text6: +_SeafoamIslands4Text5: +_SeafoamIslands4Text4: +_SeafoamIslands4Text3: +_SeafoamIslands4Text2: +_SeafoamIslands4Text1: +_SeafoamIslands3Text2: +_SeafoamIslands3Text1: +_SeafoamIslands2Text2: +_SeafoamIslands2Text1: +_FuchsiaHouse2Text3: +_VictoryRoad1Text7: +_VictoryRoad1Text6: +_VictoryRoad1Text5: ; 0x800b1 + db $0, "This requires", $4f + db "STRENGTH to move!", $57 + +_SaffronCityText19: +_CinnabarIslandText4: +_FuchsiaCityText14: +_VermilionCityText9: +_LavenderTownText6: +_CeruleanCityText14: +_PewterCityText8: +_ViridianCityText11: ; 0x800d2 + db $0, "All your item", $4f + db "needs fulfilled!", $55 + db "#MON MART", $57 + +_ViridianCityText12: ; 0x800fc + db $0, "Heal Your #MON!", $4f + db "#MON CENTER", $57 + +UnnamedText_80119: ; 0x80119 + db $0, $52, " found", $4f + db "@" + TX_RAM $cf4b + db $0, "!@@" +; 0x8012a + +_UnnamedText_4e2c: ; 0x8012a + db $0, "No more room for", $4f + db "items!", $57 +; 0x8012a + 25 bytes + +_UnnamedText_59091: ; 0x80143 + db $0, "Hi! Remember me?", $4f + db "I'm PROF.OAK's", $55 + db "AIDE!", $51 + db "If you caught @" +; 0x80143 + 52 bytes + +UnnamedText_80177: ; 0x80177 + TX_NUM $ffdb, 1, 3 + db $0, $4f + db "kinds of #MON,", $55 + db "I'm supposed to", $55 + db "give you an", $55 + db "@" + TX_RAM $cc5b + db $0, "!", $51 + db "So, ", $52, "! Have", $4f + db "you caught at", $55 + db "least @" + TX_NUM $ffdb, 1, 3 + db $0, " kinds of", $55 + db "#MON?", $57 +; 0x801e4 + +_UnnamedText_59096: ; 0x801e4 + db $0, "Let's see...", $4f + db "Uh-oh! You have", $55 + db "caught only @" +; 0x801e4 + 42 bytes + +UnnamedText_8020e: ; 0x8020e + TX_NUM $ffdd, 1, 3 + db $0, $55 + db "kinds of #MON!", $51 + db "You need @" + TX_NUM $ffdb, 1, 3 + db $0, " kinds", $4f + db "if you want the", $55 + db "@" + TX_RAM $cc5b + db $0, ".", $57 +; 0x80250 + +_UnnamedText_5909b: ; 0x80250 + db $0, "Oh. I see.", $51 + db "When you get @" + TX_NUM $ffdb, 1, 3 + db $0, $4f + db "kinds, come back", $55 + db "for @" + TX_RAM $cc5b + db $0, ".", $57 +; 0x8028c + +_UnnamedText_590a0: ; 0x8028c + db $0, "Great! You have", $4f + db "caught @" +; 0x8028c + 25 bytes + +UnnamedText_802a5: ; 0x802a5 + TX_NUM $ffdd, 1, 3 + db $0, " kinds ", $55 + db "of #MON!", $55 + db "Congratulations!", $51 + db "Here you go!", $58 +; 0x802a5 + 52 bytes = 0x802d9 + +UnnamedText_802d9: ; 0x802d9 + db $0, $52, " got the", $4f + db "@" + TX_RAM $cc5b + db $0, "!@@" +; 0xa802ec + +_UnnamedText_590ab: ; 0x802ec + db $0, "Oh! I see you", $4f + db "don't have any", $55 + db "room for the", $55 + db "@" +; 0x802ec + 43 bytes + +UnnamedText_80317: ; 0x80317 + TX_RAM $cc5b + db $0, ".", $57 +; 0x80317 + 6 bytes = 0x8031d + +_ViridianForestText1: ; 0x8031d + db $0, "I came here with", $4f + db "some friends!", $51 + db "They're out for", $4f + db "#MON fights!", $57 + +_UnnamedText_6118a: ; 0x80359 + db $0, "Hey! You have", $4f + db "#MON! Come on!", $55 + db "Let's battle'em!", $57 +; 0x80359 + 46 bytes + +_UnnamedText_6118f: ; 0x80387 + db $0, "No!", $4f + db "CATERPIE can't", $55 + db "cut it!", $58 +; 0x80387 + 27 bytes + +_UnnamedText_61194: ; 0x803a2 + db $0, "Ssh! You'll scare", $4f + db "the bugs away!", $57 +; 0x803a2 + 33 bytes + +_UnnamedText_61199: ; 0x803c3 + db $0, "Yo! You can't jam", $4f + db "out if you're a", $55 + db "#MON trainer!", $57 +; 0x803c3 + 47 bytes + +_UnnamedText_6119e: ; 0x803f2 + db $0, "Huh?", $4f + db "I ran out of", $55 + db "#MON!", $58 +; 0x803f2 + 25 bytes + +_UnnamedText_611a3: ; 0x8040b + db $0, "Darn! I'm going", $4f + db "to catch some", $55 + db "stronger ones!", $57 +; 0x8040b + 45 bytes + +_UnnamedText_611a8: ; 0x80438 + db $0, "Hey, wait up!", $4f + db "What's the hurry?", $57 +; 0x80438 + 32 bytes + +_UnnamedText_611ad: ; 0x80458 + db $0, "I", $4f + db "give! You're good", $55 + db "at this!", $58 +; 0x80458 + 29 bytes + +_UnnamedText_611b2: ; 0x80475 + db $0, "Sometimes, you", $4f + db "can find stuff on", $55 + db "the ground!", $51 + db "I'm looking for", $4f + db "the stuff I", $55 + db "dropped!", $57 +; 0x80475 + 82 bytes + +_ViridianForestText8: ; 0x804c7 + db $0, "I ran out of #", $4f + db "BALLs to catch", $55 + db "#MON with!", $51 + db "You should carry", $4f + db "extras!", $57 + +_ViridianForestText9: ; 0x8050a + db $0, "TRAINER TIPS", $51 + db "If you want to", $4f + db "avoid battles,", $55 + db "stay away from", $55 + db "grassy areas!", $57 + +_ViridianForestText10: ; 0x80553 + db $0, "For poison, use", $4f + db "ANTIDOTE! Get it", $55 + db "at #MON MARTs!", $57 + +_ViridianForestText11: ; 0x80584 + db $0, "TRAINER TIPS", $51 + db "Contact PROF.OAK", $4f + db "via PC to get", $55 + db "your #DEX", $55 + db "evaluated!", $57 + +_ViridianForestText12: ; 0x805c6 + db $0, "TRAINER TIPS", $51 + db "No stealing of", $4f + db "#MON from", $55 + db "other trainers!", $55 + db "Catch only wild", $55 + db "#MON!", $57 + +_ViridianForestText13: ; 0x80613 + db $0, "TRAINER TIPS", $51 + db "Weaken #MON", $4f + db "before attempting", $55 + db "capture!", $51 + db "When healthy,", $4f + db "they may escape!", $57 + +_ViridianForestText14: ; 0x80667 + db $0, "LEAVING", $4f + db "VIRIDIAN FOREST", $55 + db "PEWTER CITY AHEAD", $57 + +_UnnamedText_49a98: ; 0x80692 + db $0, "WHOA! You shocked", $4f + db "me! Oh, you're", $55 + db "just a kid!", $57 +; 0x80692 + 45 bytes + +_UnnamedText_49a9d: ; 0x806bf + db $0, "Wow!", $4f + db "Shocked again!", $58 +; 0x806bf + 21 bytes + +_UnnamedText_49aa2: ; 0x806d4 + db $0, "Kids like you", $4f + db "shouldn't be", $55 + db "here!", $57 +; 0x806d4 + 33 bytes + +_UnnamedText_49aa7: ; 0x806f5 + db $0, "Did you come to", $4f + db "explore too?", $57 +; 0x806f5 + 30 bytes + +_UnnamedText_49aac: ; 0x80713 + db $0, "Losing", $4f + db "stinks!", $58 +; 0x80713 + 16 bytes + +_UnnamedText_49ab1: ; 0x80723 + db $0, "I came down here", $4f + db "to show off to", $55 + db "girls.", $57 +; 0x80723 + 40 bytes + +_UnnamedText_49ab6: ; 0x8074b + db $0, "Wow! It's way", $4f + db "bigger in here", $55 + db "than I thought!", $57 +; 0x8074b + 45 bytes + +_UnnamedText_49abb: ; 0x80778 + db $0, "Oh!", $4f + db "I lost it!", $58 +; 0x80778 + 16 bytes + +_UnnamedText_49ac0: ; 0x80788 + db $0, "How do you get", $4f + db "out of here?", $57 +; 0x80788 + 29 bytes + +_UnnamedText_49ac5: ; 0x807a5 + db $0, "What! Don't sneak", $4f + db "up on me!", $57 +; 0x807a5 + 28 bytes + +_UnnamedText_49aca: ; 0x807c1 + db $0, "My", $4f + db "#MON won't do!", $58 +; 0x807c1 + 18 bytes + +_UnnamedText_49acf: ; 0x807d3 + db $0, "I have to find", $4f + db "stronger #MON.", $57 +; 0x807d3 + 31 bytes + +_UnnamedText_49ad4: ; 0x807f2 + db $0, "What? I'm waiting", $4f + db "for my friends to", $55 + db "find me here.", $57 +; 0x807f2 + 50 bytes + +_UnnamedText_49ad9: ; 0x80824 + db $0, "I lost?", $58 +; 0x80824 + 9 bytes + +_UnnamedText_49ade: ; 0x8082d + db $0, "I heard there are", $4f + db "some very rare", $55 + db "fossils here.", $57 +; 0x8082d + 48 bytes + +_UnnamedText_49ae3: ; 0x8085d + db $0, "Suspicious men", $4f + db "are in the cave.", $55 + db "What about you?", $57 +; 0x8085d + 49 bytes + +_UnnamedText_49ae8: ; 0x8088e + db $0, "You", $4f + db "got me!", $58 +; 0x8088e + 13 bytes + +_UnnamedText_49aed: ; 0x8089b + db $0, "I saw them! I'm", $4f + db "sure they're from", $55 + db "TEAM ROCKET!", $57 +; 0x8089b + 46 bytes + +_UnnamedText_49af2: ; 0x808c9 + db $0, "Go through this", $4f + db "cave to get to", $55 + db "CERULEAN CITY!", $57 +; 0x808c9 + 47 bytes + +_UnnamedText_49af7: ; 0x808f8 + db $0, "I", $4f + db "lost.", $58 +; 0x808f8 + 9 bytes + +_UnnamedText_49afc: ; 0x80901 + db $0, "ZUBAT is tough!", $4f + db "But, it can be", $55 + db "useful if you", $55 + db "catch one.", $57 +; 0x80901 + 57 bytes + +_MtMoon1Text14: ; 0x8093a + db $0, "Beware! ZUBAT is", $4f + db "a blood sucker!", $57 + +_UnnamedText_51a48: ; 0x8095c + db $0, $57 +; 0x8095c + 2 bytes + +_UnnamedText_49f24: ; 0x8095e + db $0, "You want the", $4f + db "DOME FOSSIL?", $57 +; 0x8095e + 27 bytes + +_UnnamedText_49f64: ; 0x80979 + db $0, "You want the", $4f + db "HELIX FOSSIL?", $57 +; 0x80979 + 28 bytes + +_UnnamedText_49f6f: ; 0x80995 + db $0, $52, " got the", $4f + db "@" + TX_RAM $cf4b + db $0, "!@@" +; 0x809a8 + +_UnnamedText_49f7f: ; 0x809a8 + db $0, "Look, you've got", $4f + db "no room for this.@@" +; 0x809cc + +_UnnamedText_49f85: ; 0x809cc + db $0, "Hey, stop!", $51 + db "I found these", $4f + db "fossils! They're", $55 + db "both mine!", $57 +; 0x809cc + 53 bytes + +_UnnamedText_49f8a: ; 0x80a01 + db $0, "OK!", $4f + db "I'll share!", $58 +; 0x80a01 + 16 bytes + +_UnnamedText_49f8f: ; 0x80a11 + db $0, "We'll each take", $4f + db "one!", $55 + db "No being greedy!", $57 +; 0x80a11 + 38 bytes + +_UnnamedText_49f94: ; 0x80a37 + db $0, "Far away, on", $4f + db "CINNABAR ISLAND,", $55 + db "there's a #MON", $55 + db "LAB.", $51 + db "They do research", $4f + db "on regenerating", $55 + db "fossils.", $57 +; 0x80a37 + 92 bytes + +UnnamedText_80a93: ; 0x80a93 + db $0, "All right. Then", $4f + db "this is mine!@@" +; 0x80ab3 + +_UnnamedText_49f9f: ; 0x80ab3 + db $0, "TEAM ROCKET will", $4f + db "find the fossils,", $55 + db "revive and sell", $55 + db "them for cash!", $57 +; 0x80ab3 + 67 bytes + +_UnnamedText_49fa4: ; 0x80af6 + db $0, "Urgh!", $4f + db "Now I'm mad!", $58 +; 0x80af6 + 19 bytes + +_UnnamedText_49fa9: ; 0x80b09 + db $0, "You made me mad!", $4f + db "TEAM ROCKET will", $55 + db "blacklist you!", $57 +; 0x80b09 + 50 bytes + +_UnnamedText_49fae: ; 0x80b3b + db $0, "We, TEAM ROCKET,", $4f + db "are #MON", $55 + db "gangsters!", $57 +; 0x80b3b + 38 bytes + +_UnnamedText_49fb3: ; 0x80b61 + db $0, "I blew", $4f + db "it!", $58 +; 0x80b61 + 12 bytes + +_UnnamedText_49fb8: ; 0x80b6d + db $0, "Darn it all! My", $4f + db "associates won't", $55 + db "stand for this!", $57 +; 0x80b6d + 49 bytes + +_UnnamedText_49fbd: ; 0x80b9e + db $0, "We're pulling a", $4f + db "big job here!", $55 + db "Get lost, kid!", $57 +; 0x80b9e + 45 bytes + +_UnnamedText_49fc2: ; 0x80bcb + db $0, "So, you", $4f + db "are good.", $58 +; 0x80bcb + 19 bytes + +_UnnamedText_49fc7: ; 0x80bde + db $0, "If you find a", $4f + db "fossil, give it", $55 + db "to me and scram!", $57 +; 0x80bde + 48 bytes + +_UnnamedText_49fcc: ; 0x80c0e + db $0, "Little kids", $4f + db "should leave", $55 + db "grown-ups alone!", $57 +; 0x80c0e + 43 bytes + +_UnnamedText_49fd1: ; 0x80c39 + db $0, "I'm", $4f + db "steamed!", $58 +; 0x80c39 + 13 bytes + +_UnnamedText_49fd6: ; 0x80c46 + db $0, "#MON lived", $4f + db "here long before", $55 + db "people came.", $57 +; 0x80c46 + 42 bytes + +_SSAnne1Text1: ; 0x80c70 + db $0, "Bonjour!", $4f + db "I am le waiter on", $55 + db "this ship!", $51 + db "I will be happy", $4f + db "to serve you any-", $55 + db "thing you please!", $51 + db "Ah! Le strong", $4f + db "silent type!", $57 + +_SSAnne1Text2: ; 0x80ce6 + db $0, "The passengers", $4f + db "are restless!", $51 + db "You might be", $4f + db "challenged by the", $55 + db "more bored ones!", $57 + +_SSAnne2Text1: ; 0x80d34 + db $0, "This ship, she is", $4f + db "a luxury liner", $55 + db "for trainers!", $51 + db "At every port, we", $4f + db "hold parties with", $55 + db "invited trainers!", $57 + +_UnnamedText_61500: ; 0x80d9a + db $0, $53, ": Bonjour!", $4f + db $52, "!", $51 + db "Imagine seeing", $4f + db "you here!", $51 + db $52, ", were you", $4f + db "really invited?", $51 + db "So how's your", $4f + db "#DEX coming?", $51 + db "I already caught", $4f + db "40 kinds, pal!", $51 + db "Different kinds", $4f + db "are everywhere!", $51 + db "Crawl around in", $4f + db "grassy areas!", $57 +; 0x80d9a + 189 bytes + +_UnnamedText_61505: ; 0x80e57 + db $0, "Humph!", $51 + db "At least you're", $4f + db "raising your", $55 + db "#MON!", $58 +; 0x80e57 + 42 bytes + +_UnnamedText_6150a: ; 0x80e81 + db $0, $52, "! What are", $4f + db "you, seasick?", $51 + db "You should shape", $4f + db "up, pal!", $58 +; 0x80e81 + 53 bytes + +_UnnamedText_6150f: ; 0x80eb6 + db $0, $53, ": I heard", $4f + db "there was a CUT", $55 + db "master on board.", $51 + db "But, he was just a", $4f + db "seasick, old man!", $51 + db "But, CUT itself is", $4f + db "really useful!", $51 + db "You should go see", $4f + db "him! Smell ya!", $57 +; 0x80eb6 + 149 bytes + +_SSAnne3Text1: ; 0x80f4b + db $0, "Our CAPTAIN is a", $4f + db "sword master!", $51 + db "He even teaches", $4f + db "CUT to #MON!", $57 + +_SSAnne5Text1: ; 0x80f88 + db $0, "The party's over.", $4f + db "The ship will be", $55 + db "departing soon.", $57 + +_SSAnne5Text2: ; 0x80fbb + db $0, "Scrubbing decks", $4f + db "is hard work!", $57 + +_SSAnne5Text3: ; 0x80fda + db $0, "Urf. I feel ill.", $51 + db "I stepped out to", $4f + db "get some air.", $57 + +_UnnamedText_61703: ; 0x8100b + db $0, "Hey matey!", $51 + db "Let's do a little", $4f + db "jig!", $57 +; 0x8100b + 34 bytes + +_UnnamedText_61708: ; 0x8102d + db $0, "You're", $4f + db "impressive!", $58 +; 0x8102d + 19 bytes + +_UnnamedText_6170d: ; 0x81040 + db $0, "How many kinds of", $4f + db "#MON do you", $55 + db "think there are?", $57 +; 0x81040 + 48 bytes + +_UnnamedText_6171c: ; 0x81070 + db $0, "Ahoy there!", $4f + db "Are you seasick?", $57 +; 0x81070 + 30 bytes + +_UnnamedText_61721: ; 0x8108e + db $0, "I was", $4f + db "just careless!", $58 +; 0x8108e + 22 bytes + +_UnnamedText_61726: ; 0x810a4 + db $0, "My Pa said there", $4f + db "are 100 kinds of", $55 + db "#MON. I think", $55 + db "there are more.", $57 +; 0x810a4 + 65 bytes + +_SSAnne6Text1: ; 0x810e5 + db $0, "You, mon petit!", $4f + db "We're busy here!", $55 + db "Out of the way!", $57 + +_SSAnne6Text2: ; 0x81116 + db $0, "I saw an odd ball", $4f + db "in the trash.", $57 + +_SSAnne6Text3: ; 0x81137 + db $0, "I'm so busy I'm", $4f + db "getting dizzy!", $57 + +_SSAnne6Text4: ; 0x81155 + db $0, "Hum-de-hum-de-", $4f + db "ho...", $51 + db "I peel spuds", $4f + db "every day!", $55 + db "Hum-hum...", $57 + +_SSAnne6Text5: ; 0x8118e + db $0, "Did you hear about", $4f + db "SNORLAX?", $51 + db "All it does is", $4f + db "eat and sleep!", $57 + +_SSAnne6Text6: ; 0x811c9 + db $0, "Snivel...Sniff...", $51 + db "I only get to", $4f + db "peel onions...", $55 + db "Snivel...", $57 + +_UnnamedText_61807: ; 0x81203 + db $0, "Er-hem! Indeed I", $4f + db "am le CHEF!", $51 + db "Le main course is", $58 +; 0x81203 + 48 bytes + +_UnnamedText_6180c: ; 0x81233 + db $0, "Salmon du Salad!", $51 + db "Les guests may", $4f + db "gripe it's fish", $55 + db "again, however!", $57 +; 0x81233 + 64 bytes + +_UnnamedText_61811: ; 0x81273 + db $0, "Eels au Barbecue!", $51 + db "Les guests will", $4f + db "mutiny, I fear.", $57 +; 0x81273 + 51 bytes + +_UnnamedText_61816: ; 0x812a6 + db $0, "Prime Beef Steak!", $51 + db "But, have I enough", $4f + db "fillets du beef?", $57 +; 0x812a6 + 55 bytes + +_SSAnne7RubText: ; 0x812dd + db $0, "CAPTAIN: Ooargh...", $4f + db "I feel hideous...", $55 + db "Urrp! Seasick...", $51 + db $52, " rubbed", $4f + db "the CAPTAIN's", $55 + db "back!", $51 + db "Rub-rub...", $4f + db "Rub-rub...@@" +; 0x81347 + +_ReceivingHM01Text: ; 0x81347 + db $0, "CAPTAIN: Whew!", $4f + db "Thank you! I", $55 + db "feel much better!", $51 + db "You want to see", $4f + db "my CUT technique?", $51 + db "I could show you", $4f + db "if I wasn't ill...", $51 + db "I know! You can", $4f + db "have this!", $51 + db "Teach it to your", $4f + db "#MON and you", $55 + db "can see it CUT", $55 + db "any time!", $58 +; 0x81347 + 198 bytes + +_ReceivedHM01Text: ; 0x8140d + db $0, $52, " got", $4f + db "@" + TX_RAM $cf4b + db $0, "!@@" +; 0x8141c + +_UnnamedText_61932: ; 0x8141c + db $0, "CAPTAIN: Whew!", $51 + db "Now that I'm not", $4f + db "sick any more, I", $55 + db "guess it's time.", $57 +; 0x8141c + 65 bytes + +_HM01NoRoomText: ; 0x8145d + db $0, "Oh no! You have", $4f + db "no room for this!", $57 +; 0x8145d + 35 bytes + +_SSAnne7Text2: ; 0x81480 + db $0, "Yuck! Shouldn't", $4f + db "have looked!", $57 + +_SSAnne7Text3: ; 0x8149d + db $0, "How to Conquer", $4f + db "Seasickness...", $55 + db "The CAPTAIN's", $55 + db "reading this!", $57 + +_SSAnne8Text8: ; 0x814d7 + db $0, "WIGGLYTUFF: Puup", $4f + db "pupuu!@@" + +_UnnamedText_61a0b: ; 0x814f1 + db $0, "I travel alone", $4f + db "on my journeys!", $51 + db "My #MON are my", $4f + db "only friends!", $57 +; 0x814f1 + 61 bytes + +_UnnamedText_61a10: ; 0x8152e + db $0, "My, my", $4f + db "friends...", $58 +; 0x8152e + 19 bytes + +_UnnamedText_61a15: ; 0x81541 + db $0, "You should be", $4f + db "nice to friends!", $57 +; 0x81541 + 32 bytes + +_UnnamedText_61a1a: ; 0x81561 + db $0, "You pup! How dare", $4f + db "you barge in!", $57 +; 0x81561 + 33 bytes + +_UnnamedText_61a1f: ; 0x81582 + db $0, "Humph!", $4f + db "You rude child!", $58 +; 0x81582 + 24 bytes + +_UnnamedText_61a24: ; 0x8159a + db $0, "I wish to be left", $4f + db "alone! Get out!", $57 +; 0x8159a + 35 bytes + +_UnnamedText_61a29: ; 0x815bd + db $0, "I love #MON!", $4f + db "Do you?", $57 +; 0x815bd + 22 bytes + +_UnnamedText_61a2e: ; 0x815d3 + db $0, "Wow! ", $4f + db "You're great!", $58 +; 0x815d3 + 20 bytes + +_UnnamedText_61a33: ; 0x815e7 + db $0, "Let me be your", $4f + db "friend, OK?", $51 + db "Then we can trade", $4f + db "#MON!", $57 +; 0x815e7 + 52 bytes + +_UnnamedText_61a38: ; 0x8161b + db $0, "I collected these", $4f + db "#MON from all", $55 + db "around the world!", $57 +; 0x8161b + 51 bytes + +_UnnamedText_61a3d: ; 0x8164e + db $0, "Oh no!", $4f + db "I went around the", $55 + db "world for these!", $58 +; 0x8164e + 43 bytes + +_UnnamedText_61a42: ; 0x81679 + db $0, "You hurt my poor", $4f + db "worldly #MON!", $51 + db "I demand that you", $4f + db "heal them at a", $55 + db "#MON CENTER!", $57 +; 0x81679 + 78 bytes + +_SSAnne8Text5: ; 0x816c7 + db $0, "Waiter, I would", $4f + db "like a cherry pie", $55 + db "please!", $57 + +_SSAnne8Text6: ; 0x816f2 + db $0, "A cruise is so", $4f + db "elegant yet cozy!", $57 + +_SSAnne8Text7: ; 0x81714 + db $0, "I always travel", $4f + db "with WIGGLYTUFF!", $57 + +_SSAnne8Text9: ; 0x81736 + db $0, "We are cruising", $4f + db "around the world.", $57 + +_SSAnne8Text11: ; 0x81759 + db $0, "Ssh! I'm a GLOBAL", $4f + db "POLICE agent!", $51 + db "I'm on the trail", $4f + db "of TEAM ROCKET!", $57 + +_UnnamedText_61bf2: ; 0x81799 + db $0, "In all my travels", $4f + db "I've never seen", $55 + db "any #MON sleep", $55 + db "like this one!", $51 + db "It was something", $4f + db "like this!", $58 +; 0x81799 + 92 bytes + +_UnnamedText_61c01: ; 0x817f5 + db $0, "Ah yes, I have", $4f + db "seen some #MON", $55 + db "ferry people", $55 + db "across the water!", $57 +; 0x817f5 + 62 bytes + +_UnnamedText_61c10: ; 0x81833 + db $0, "#MON can CUT", $4f + db "down small bushes.", $57 +; 0x81833 + 33 bytes + +_UnnamedText_61c1f: ; 0x81854 + db $0, "Have you gone to", $4f + db "the SAFARI ZONE", $55 + db "in FUCHSIA CITY?", $51 + db "It had many rare", $4f + db "kinds of #MON!!", $57 +; 0x81854 + 84 bytes + +_UnnamedText_61c2e: ; 0x818a8 + db $0, "Me and my Daddy", $4f + db "think the SAFARI", $55 + db "ZONE is awesome!", $57 +; 0x818a8 + 51 bytes + +_UnnamedText_61c3d: ; 0x818db + db $0, "The CAPTAIN looked", $4f + db "really sick and", $55 + db "pale!", $57 +; 0x818db + 42 bytes + +_UnnamedText_61c4c: ; 0x81905 + db $0, "I hear many people", $4f + db "get seasick!", $57 +; 0x81905 + 33 bytes + +_UnnamedText_61c51: ; 0x81926 + db $0, "Competing against", $4f + db "the young keeps", $55 + db "me youthful.", $57 +; 0x81926 + 48 bytes + +_UnnamedText_61c56: ; 0x81956 + db $0, "Good", $4f + db "fight! Ah, I feel", $55 + db "young again!", $58 +; 0x81956 + 37 bytes + +_UnnamedText_61c5b: ; 0x8197b + db $0, "15 years ago, I", $4f + db "would have won!", $57 +; 0x8197b + 33 bytes + +_UnnamedText_61c60: ; 0x8199c + db $0, "Check out what I", $4f + db "fished up!", $57 +; 0x8199c + 29 bytes + +_UnnamedText_61c65: ; 0x819b9 + db $0, "I'm", $4f + db "all out!", $58 +; 0x819b9 + 13 bytes + +_UnnamedText_61c6a: ; 0x819c6 + db $0, "Party?", $51 + db "The cruise ship's", $4f + db "party should be", $55 + db "over by now.", $57 +; 0x819c6 + 54 bytes + +_UnnamedText_61c6f: ; 0x819fc + db $0, "Which do you like,", $4f + db "a strong or a", $55 + db "rare #MON?", $57 +; 0x819fc + 45 bytes + +_UnnamedText_61c74: ; 0x81a29 + db $0, "I must", $4f + db "salute you!", $58 +; 0x81a29 + 20 bytes + +_UnnamedText_61c79: ; 0x81a3d + db $0, "I prefer strong", $4f + db "and rare #MON.", $57 +; 0x81a3d + 32 bytes + +_UnnamedText_61c7e: ; 0x81a5d + db $0, "I never saw you", $4f + db "at the party.", $57 +; 0x81a5d + 31 bytes + +_UnnamedText_61c83: ; 0x81a7c + db $0, "Take", $4f + db "it easy!", $58 +; 0x81a7c + 15 bytes + +_UnnamedText_61c88: ; 0x81a8b + db $0, "Oh, I adore your", $4f + db "strong #MON!", $57 +; 0x81a8b + 31 bytes + +_SSAnne10Text8: ; 0x81aaa + db $0, "MACHOKE: Gwoh!", $4f + db "Goggoh!@@" + +_UnnamedText_61e16: ; 0x81ac3 + db $0, "You know what they", $4f + db "say about sailors", $55 + db "and fighting!", $57 +; 0x81ac3 + 52 bytes + +_UnnamedText_61e1b: ; 0x81af7 + db $0, "Right!", $4f + db "Good fight, mate!", $58 +; 0x81af7 + 26 bytes + +_UnnamedText_61e20: ; 0x81b11 + db $0, "Haha! Want to be", $4f + db "a sailor, mate?", $57 +; 0x81b11 + 34 bytes + +_UnnamedText_61e25: ; 0x81b33 + db $0, "My sailor's pride", $4f + db "is at stake!", $57 +; 0x81b33 + 31 bytes + +_UnnamedText_61e2a: ; 0x81b52 + db $0, "Your", $4f + db "spirit sank me!", $58 +; 0x81b52 + 22 bytes + +_UnnamedText_61e2f: ; 0x81b68 + db $0, "Did you see the", $4f + db "FISHING GURU in", $55 + db "VERMILION CITY?", $57 +; 0x81b68 + 49 bytes + +_UnnamedText_61e34: ; 0x81b99 + db $0, "Us sailors have", $4f + db "#MON too!", $57 +; 0x81b99 + 27 bytes + +_UnnamedText_61e39: ; 0x81bb4 + db $0, "OK, ", $4f + db "you're not bad.", $58 +; 0x81bb4 + 21 bytes + +_UnnamedText_61e3e: ; 0x81bc9 + db $0, "We caught all our", $4f + db "#MON while", $55 + db "out at sea!", $57 +; 0x81bc9 + 42 bytes + +_UnnamedText_61e43: ; 0x81bf3 + db $0, "I like feisty", $4f + db "kids like you!@@" +; 0x81bf3 + 31 bytes + +_UnnamedText_61e48: ; 0x81c12 + db $0, "Argh!", $4f + db "Lost it!", $58 +; 0x81c12 + 16 bytes + +_UnnamedText_61e4d: ; 0x81c22 + db $0, "Sea #MON live", $4f + db "in deep water.", $55 + db "You'll need a ROD!", $57 +; 0x81c22 + 48 bytes + +_UnnamedText_61e52: ; 0x81c52 + db $0, "Matey, you're", $4f + db "walking the plank", $55 + db "if you lose!", $57 +; 0x81c52 + 45 bytes + +_UnnamedText_61e57: ; 0x81c7f + db $0, "Argh!", $4f + db "Beaten by a kid!", $58 +; 0x81c7f + 24 bytes + +_UnnamedText_61e5c: ; 0x81c97 + db $0, "Jellyfish some-", $4f + db "times drift into", $55 + db "the ship.", $57 +; 0x81c97 + 44 bytes + +_UnnamedText_61e61: ; 0x81cc3 + db $0, "Hello stranger!", $4f + db "Stop and chat!", $51 + db "All my #MON", $4f + db "are from the sea!", $57 +; 0x81cc3 + 62 bytes + +_UnnamedText_61e66: ; 0x81d01 + db $0, "Darn!", $4f + db "I let that one", $55 + db "get away!", $58 +; 0x81d01 + 32 bytes + +_UnnamedText_61e6b: ; 0x81d21 + db $0, "I was going to", $4f + db "make you my", $55 + db "assistant too!", $57 +; 0x81d21 + 43 bytes + +_SSAnne10Text7: ; 0x81d4c + db $0, "My buddy, MACHOKE,", $4f + db "is super strong!", $51 + db "He has enough", $4f + db "STRENGTH to move", $55 + db "big rocks!", $57 + +_UnnamedText_44a91: ; 0x81d9b + db $0, "I heard rumors of", $4f + db "a child prodigy!", $57 +; 0x81d9b + 36 bytes + +_UnnamedText_44a96: ; 0x81dbf + db $0, "The", $4f + db "rumors were true!", $58 +; 0x81dbf + 23 bytes + +_UnnamedText_44a9b: ; 0x81dd6 + db $0, "You beat GIOVANNI", $4f + db "of TEAM ROCKET?", $57 +; 0x81dd6 + 35 bytes + +_UnnamedText_44aa0: ; 0x81df9 + db $0, "I'll show you just", $4f + db "how good you are!", $57 +; 0x81df9 + 37 bytes + +_UnnamedText_44aa5: ; 0x81e1e + db $0, "I'm", $4f + db "furious!", $58 +; 0x81e1e + 13 bytes + +_UnnamedText_44aaa: ; 0x81e2b + db $0, "You showed me just", $4f + db "how good I was!", $57 +; 0x81e2b + 36 bytes + +_UnnamedText_44aaf: ; 0x81e4f + db $0, "Only the chosen", $4f + db "can pass here!", $57 +; 0x81e4f + 32 bytes + +_UnnamedText_44ab4: ; 0x81e6f + db $0, "I", $4f + db "don't believe it!", $58 +; 0x81e6f + 20 bytes + +_UnnamedText_44ab9: ; 0x81e83 + db $0, "All trainers here", $4f + db "are headed to the", $55 + db "#MON LEAGUE!", $55 + db "Be careful!", $57 +; 0x81e83 + 62 bytes + +_UnnamedText_44abe: ; 0x81ec1 + db $0, "Trainers live to", $4f + db "seek stronger", $55 + db "opponents!", $57 +; 0x81ec1 + 43 bytes + +_UnnamedText_44ac3: ; 0x81eec + db $0, "Oh!", $4f + db "So strong!", $58 +; 0x81eec + 16 bytes + +_UnnamedText_44ac8: ; 0x81efc + db $0, "By fighting tough", $4f + db "battles, you get", $55 + db "stronger!", $57 +; 0x81efc + 46 bytes + +_UnnamedText_44c91: ; 0x81f2a + db $0, "Why...?@@" +; 0x81f34 + +_UnnamedText_44ca1: ; 0x81f34 + db $0, "Who are you? How", $4f + db "did you get here?", $57 +; 0x81f34 + 36 bytes + +_UnnamedText_44ca6: ; 0x81f58 + db $0, "Oww!", $4f + db "Beaten!", $58 +; 0x81f58 + 14 bytes + +_UnnamedText_44cab: ; 0x81f66 + db $0, "Are you dissing", $4f + db "TEAM ROCKET?", $57 +; 0x81f66 + 30 bytes + +_UnnamedText_44cb0: ; 0x81f84 + db $0, "You broke into", $4f + db "our operation?", $57 +; 0x81f84 + 31 bytes + +_UnnamedText_44cb5: ; 0x81fa3 + db $0, "Burnt!", $58 +; 0x81fa3 + 8 bytes + +_UnnamedText_44cba: ; 0x81fab + db $0, "You're not going", $4f + db "to get away with", $55 + db "this, brat!", $57 +; 0x81fab + 46 bytes + +_UnnamedText_44cbf: ; 0x81fd9 + db $0, "Intruder alert!", $57 +; 0x81fd9 + 17 bytes + +_UnnamedText_44cc4: ; 0x81fea + db $0, "I", $4f + db "can't do it!", $58 +; 0x81fea + 15 bytes + +_UnnamedText_44cc9: ; 0x81ff9 + db $0, "SILPH SCOPE?", $4f + db "I don't know", $55 + db "where it is!", $57 +; 0x81ff9 + 39 bytes + +_UnnamedText_44cce: ; 0x82020 + db $0, "Why did you come", $4f + db "here?", $57 +; 0x82020 + 24 bytes + +_UnnamedText_44cd3: ; 0x82038 + db $0, "This", $4f + db "won't do!", $58 +; 0x82038 + 15 bytes + +_UnnamedText_44cd8: ; 0x82047 + db $0, "OK, I'll talk!", $4f + db "Take the elevator", $55 + db "to see my BOSS!", $57 +; 0x82047 + 49 bytes + +_UnnamedText_44cdd: ; 0x82078 + db $0, "Are you lost, you", $4f + db "little rat?", $57 +; 0x82078 + 31 bytes + +_UnnamedText_44ce2: ; 0x82097 + db $0, "Uh-oh, that fight", $4f + db "opened the door!", $57 +; 0x82097 + 36 bytes + +_UnnamedText_450e8: ; 0x820bb + db $0, "BOSS said you can", $4f + db "see GHOSTs with", $55 + db "the SILPH SCOPE!", $57 +; 0x820bb + 52 bytes + +_UnnamedText_450ed: ; 0x820ef + db $0, "I", $4f + db "surrender!", $58 +; 0x820ef + 14 bytes + +_UnnamedText_450f2: ; 0x820fd + db $0, "The TEAM ROCKET", $4f + db "HQ has 4 basement", $55 + db "floors. Can you", $55 + db "reach the BOSS?", $57 +; 0x820fd + 67 bytes + +_UnnamedText_45325: ; 0x82140 + db $0, "Stop meddling in", $4f + db "TEAM ROCKET's", $55 + db "affairs!", $57 +; 0x82140 + 40 bytes + +_UnnamedText_4532a: ; 0x82168 + db $0, "Oof!", $4f + db "Taken down!", $58 +; 0x82168 + 18 bytes + +_UnnamedText_4532f: ; 0x8217a + db $0, "SILPH SCOPE?", $4f + db "The machine the", $55 + db "BOSS stole. It's", $55 + db "here somewhere.", $57 +; 0x8217a + 62 bytes + +_UnnamedText_4533e: ; 0x821b8 + db $0, "We got word from", $4f + db "upstairs that you", $55 + db "were coming!", $57 +; 0x821b8 + 49 bytes + +_UnnamedText_45343: ; 0x821e9 + db $0, "What?", $4f + db "I lost? No!", $58 +; 0x821e9 + 19 bytes + +_UnnamedText_45348: ; 0x821fc + db $0, "Go ahead and go!", $4f + db "But, you need the", $55 + db "LIFT KEY to run", $55 + db "the elevator!", $57 +; 0x821fc + 66 bytes + +_UnnamedText_4557a: ; 0x8223e + db $0, "So! I must say, I", $4f + db "am impressed you", $55 + db "got here!", $57 +; 0x8223e + 46 bytes + +_UnnamedText_4557f: ; 0x8226c + db $0, "WHAT!", $4f + db "This cannot be!", $58 +; 0x8226c + 23 bytes + +_UnnamedText_45584: ; 0x82283 + db $0, "I see that you", $4f + db "raise #MON", $55 + db "with utmost care.", $51 + db "A child like you", $4f + db "would never", $55 + db "understand what I", $55 + db "hope to achieve.", $51 + db "I shall step", $4f + db "aside this time!", $51 + db "I hope we meet", $4f + db "again...", $57 +; 0x82283 + 163 bytes + +_UnnamedText_45593: ; 0x82326 + db $0, "I know you! You", $4f + db "ruined our plans", $55 + db "at MT.MOON!", $57 +; 0x82326 + 46 bytes + +_UnnamedText_45598: ; 0x82354 + db $0, "Burned", $4f + db "again!", $58 +; 0x82354 + 15 bytes + +_UnnamedText_4559d: ; 0x82363 + db $0, "Do you have", $4f + db "something against", $55 + db "TEAM ROCKET?", $57 +; 0x82363 + 44 bytes + +_UnnamedText_455ac: ; 0x8238f + db $0, "How can you not", $4f + db "see the beauty of", $55 + db "our evil?", $57 +; 0x8238f + 45 bytes + +_UnnamedText_455b1: ; 0x823bc + db $0, "Ayaya!", $58 +; 0x823bc + 8 bytes + +_UnnamedText_455b6: ; 0x823c4 + db $0, "BOSS! I'm sorry I", $4f + db "failed you!", $57 +; 0x823c4 + 30 bytes + +_UnnamedText_455c5: ; 0x823e2 + db $0, "The elevator", $4f + db "doesn't work? Who", $55 + db "has the LIFT KEY?", $57 +; 0x823e2 + 49 bytes + +_UnnamedText_455ca: ; 0x82413 + db $0, "No!", $58 +; 0x82413 + 5 bytes + +_UnnamedText_455ec: ; 0x82418 + db $0, "Oh no! I dropped", $4f + db "the LIFT KEY!", $57 +; 0x82418 + 32 bytes + +_UnnamedText_4578b: ; 0x82438 + db $0, "It appears to", $4f + db "need a key.@@" +; 0xa82454 + +_UnnamedText_59ded: ; 0x82454 + db $0, "Eeek!", $4f + db "No! Stop! Help!", $51 + db "Oh, you're not", $4f + db "with TEAM ROCKET.", $55 + db "I thought...", $55 + db "I'm sorry. Here,", $55 + db "please take this!", $58 +; 0x82454 + 102 bytes + +_ReceivedTM36Text: ; 0x824ba + db $0, $52, " got", $4f + db "@" + TX_RAM $cf4b + db $0, "!@@" +; 0x824c9 + +_TM36ExplanationText: ; 0x824c9 + db $0, "TM36 is", $4f + db "SELFDESTRUCT!", $51 + db "It's powerful, but", $4f + db "the #MON that", $55 + db "uses it faints!", $55 + db "Be careful.", $57 +; 0x824c9 + 83 bytes + +_TM36NoRoomText: ; 0x8251c + db $0, "You don't have any", $4f + db "room for this.", $57 +; 0x8251c + 34 bytes + +_UnnamedText_59e2a: ; 0x8253e + db $0, "Help! I'm a SILPH", $4f + db "employee.", $57 +; 0x8253e + 28 bytes + +_UnnamedText_59e2f: ; 0x8255a + db $0, "How", $4f + db "did you know I", $55 + db "was a ROCKET?", $58 +; 0x8255a + 34 bytes + +_UnnamedText_59e34: ; 0x8257c + db $0, "I work for both", $4f + db "SILPH and TEAM", $55 + db "ROCKET!", $57 +; 0x8257c + 40 bytes + +_UnnamedText_59e39: ; 0x825a4 + db $0, "It's off limits", $4f + db "here! Go home!", $57 +; 0x825a4 + 31 bytes + +_UnnamedText_59e3e: ; 0x825c3 + db $0, "You're", $4f + db "good.", $58 +; 0x825c3 + 13 bytes + +_UnnamedText_59e43: ; 0x825d0 + db $0, "Can you solve the", $4f + db "maze in here?", $57 +; 0x825d0 + 33 bytes + +_UnnamedText_59e48: ; 0x825f1 + db $0, "No kids are", $4f + db "allowed in here!", $57 +; 0x825f1 + 30 bytes + +_UnnamedText_59e4d: ; 0x8260f + db $0, "Tough!", $58 +; 0x8260f + 8 bytes + +_UnnamedText_59e52: ; 0x82617 + db $0, "Diamond shaped", $4f + db "tiles are", $55 + db "teleport blocks!", $51 + db "They're hi-tech", $4f + db "transporters!", $57 +; 0x82617 + 72 bytes + +_UnnamedText_59e57: ; 0x8265f + db $0, "Hey kid! What are", $4f + db "you doing here?", $57 +; 0x8265f + 35 bytes + +_UnnamedText_59e5c: ; 0x82682 + db $0, "I goofed!", $58 +; 0x82682 + 11 bytes + +_UnnamedText_59e61: ; 0x8268d + db $0, "SILPH CO. will", $4f + db "be merged with", $55 + db "TEAM ROCKET!", $57 +; 0x8268d + 44 bytes + +_UnnamedText_59ff9: ; 0x826b9 + db $0, "I work for SILPH.", $4f + db "What should I do?", $57 +; 0x826b9 + 37 bytes + +_UnnamedText_59ffe: ; 0x826de + db $0, $52, "! You and", $4f + db "your #MON", $55 + db "saved us!", $57 +; 0x826de + 32 bytes + +_UnnamedText_5a00d: ; 0x826fe + db $0, "Quit messing with", $4f + db "us, kid!", $57 +; 0x826fe + 28 bytes + +_UnnamedText_5a012: ; 0x8271a + db $0, "I give", $4f + db "up!", $58 +; 0x8271a + 12 bytes + +_UnnamedText_5a017: ; 0x82726 + db $0, "A hint? You can", $4f + db "open doors with a", $55 + db "CARD KEY!", $57 +; 0x82726 + 45 bytes + +_UnnamedText_5a026: ; 0x82753 + db $0, "I support TEAM", $4f + db "ROCKET more than", $55 + db "I support SILPH!", $57 +; 0x82753 + 50 bytes + +_UnnamedText_5a02b: ; 0x82785 + db $0, "You", $4f + db "really got me!", $58 +; 0x82785 + 20 bytes + +_UnnamedText_5a030: ; 0x82799 + db $0, "Humph...", $51 + db "TEAM ROCKET said", $4f + db "that if I helped", $55 + db "them, they'd let", $55 + db "me study #MON!", $57 +; 0x82799 + 75 bytes + +_UnnamedText_19de0: ; 0x827e4 + db $0, "Sssh! Can't you", $4f + db "see I'm hiding?", $57 +; 0x827e4 + 31 bytes + +_UnnamedText_19de5: ; 0x82803 + db $0, "Huh? TEAM ROCKET", $4f + db "is gone?", $57 +; 0x82803 + 27 bytes + +_UnnamedText_19df4: ; 0x8281e + db $0, "TEAM ROCKET has", $4f + db "taken command of", $55 + db "SILPH CO.!", $57 +; 0x8281e + 45 bytes + +_UnnamedText_19df9: ; 0x8284b + db $0, "Arrgh!", $58 +; 0x8284b + 8 bytes + +_UnnamedText_19dfe: ; 0x82853 + db $0, "Fwahahaha!", $4f + db "My BOSS has been", $55 + db "after this place!", $57 +; 0x82853 + 47 bytes + +_UnnamedText_19e0d: ; 0x82882 + db $0, "My #MON are my", $4f + db "loyal soldiers!", $57 +; 0x82882 + 32 bytes + +_UnnamedText_19e12: ; 0x828a2 + db $0, "Darn!", $4f + db "You weak #MON!", $58 +; 0x828a2 + 22 bytes + +_UnnamedText_19e17: ; 0x828b8 + db $0, "The doors are", $4f + db "electronically", $55 + db "locked! A CARD", $55 + db "KEY opens them!", $57 +; 0x828b8 + 61 bytes + +_UnnamedText_19e26: ; 0x828f5 + db $0, "Intruder spotted!", $57 +; 0x828f5 + 19 bytes + +_UnnamedText_19e2b: ; 0x82908 + db $0, "Who", $4f + db "are you?", $58 +; 0x82908 + 14 bytes + +_UnnamedText_19e30: ; 0x82916 + db $0, "I better tell the", $4f + db "BOSS on 11F!", $57 +; 0x82916 + 32 bytes + +_UnnamedText_1a010: ; 0x82936 + db $0, "TEAM ROCKET is", $4f + db "in an uproar over", $55 + db "some intruder.", $55 + db "That's you right?", $57 +; 0x82936 + 66 bytes + +_UnnamedText_1a015: ; 0x82978 + db $0, "TEAM ROCKET took", $4f + db "off! You're our", $55 + db "hero! Thank you!", $57 +; 0x82978 + 50 bytes + +_UnnamedText_1a024: ; 0x829aa + db $0, "I heard a kid was", $4f + db "wandering around.", $57 +; 0x829aa + 37 bytes + +_UnnamedText_1a029: ; 0x829cf + db $0, "Boom!", $58 +; 0x829cf + 7 bytes + +_UnnamedText_1a02e: ; 0x829d6 + db $0, "It's not smart", $4f + db "to pick a fight", $55 + db "with TEAM ROCKET!", $57 +; 0x829d6 + 49 bytes + +_UnnamedText_1a03d: ; 0x82a07 + db $0, "We study #", $4f + db "BALL technology", $55 + db "on this floor!", $57 +; 0x82a07 + 43 bytes + +_UnnamedText_1a042: ; 0x82a32 + db $0, "Dang!", $4f + db "Blast it!", $58 +; 0x82a32 + 17 bytes + +_UnnamedText_1a047: ; 0x82a43 + db $0, "We worked on the", $4f + db "ultimate #", $55 + db "BALL which would", $55 + db "catch anything!", $57 +; 0x82a43 + 62 bytes + +_UnnamedText_1a056: ; 0x82a81 + db $0, "Whaaat? There", $4f + db "shouldn't be any", $55 + db "children here?", $57 +; 0x82a81 + 46 bytes + +SECTION "bank21",DATA,BANK[$21] + +_UnnamedText_1a05b: ; 0x84000 + db $0, "Oh", $4f + db "goodness!", $58 +; 0x84000 + 14 bytes + +_UnnamedText_1a060: ; 0x8400e + db $0, "You're only on 5F.", $4f + db "It's a long way", $55 + db "to my BOSS!", $57 +; 0x8400e + 46 bytes + +_UnnamedText_1a06f: ; 0x8403c + db $0, "Show TEAM ROCKET", $4f + db "a little respect!", $57 +; 0x8403c + 36 bytes + +_UnnamedText_1a074: ; 0x84060 + db $0, "Cough...", $4f + db "Cough...", $58 +; 0x84060 + 19 bytes + +_UnnamedText_1a079: ; 0x84073 + db $0, "Which reminds me.", $51 + db "KOFFING evolves", $4f + db "into WEEZING!", $57 +; 0x84073 + 49 bytes + +_SilphCo5Text9: ; 0x840a4 + db $0, "It's a #MON", $4f + db "REPORT!", $51 + db "#MON LAB", $4f + db "created PORYGON,", $55 + db "the first virtual", $55 + db "reality #MON.", $57 + +_SilphCo5Text10: ; 0x840f2 + db $0, "It's a #MON", $4f + db "REPORT!", $51 + db "Over 160 #MON", $4f + db "techniques have", $55 + db "been confirmed.", $57 + +_SilphCo5Text11: ; 0x84134 + db $0, "It's a #MON", $4f + db "REPORT!", $51 + db "4 #MON evolve", $4f + db "only when traded", $55 + db "by link-cable.", $57 + +_UnnamedText_1a24a: ; 0x84176 + db $0, "The ROCKETs came", $4f + db "and took over the", $55 + db "building!", $57 +; 0x84176 + 46 bytes + +_UnnamedText_1a24f: ; 0x841a4 + db $0, "Well, better get", $4f + db "back to work!", $57 +; 0x841a4 + 32 bytes + +_UnnamedText_1a261: ; 0x841c4 + db $0, "Oh dear, oh dear.", $4f + db "Help me please!", $57 +; 0x841c4 + 35 bytes + +_UnnamedText_1a266: ; 0x841e7 + db $0, "We got engaged!", $4f + db "Heheh!", $57 +; 0x841e7 + 24 bytes + +_UnnamedText_1a278: ; 0x841ff + db $0, "Look at him! He's", $4f + db "such a coward!", $57 +; 0x841ff + 33 bytes + +_UnnamedText_1a27d: ; 0x84220 + db $0, "I feel so sorry", $4f + db "for him, I have", $55 + db "to marry him!", $57 +; 0x84220 + 47 bytes + +_UnnamedText_1a28f: ; 0x8424f + db $0, "TEAM ROCKET is", $4f + db "trying to conquer", $55 + db "the world with", $55 + db "#MON!", $57 +; 0x8424f + 55 bytes + +_UnnamedText_1a294: ; 0x84286 + db $0, "TEAM ROCKET ran", $4f + db "because of you!", $57 +; 0x84286 + 33 bytes + +_UnnamedText_1a2a6: ; 0x842a7 + db $0, "They must have", $4f + db "targeted SILPH", $55 + db "for our #MON", $55 + db "products.", $57 +; 0x842a7 + 54 bytes + +_UnnamedText_1a2ab: ; 0x842dd + db $0, "Come work for", $4f + db "SILPH when you", $55 + db "get older!", $57 +; 0x842dd + 41 bytes + +_UnnamedText_1a2ba: ; 0x84306 + db $0, "I am one of the 4", $4f + db "ROCKET BROTHERS!", $57 +; 0x84306 + 36 bytes + +_UnnamedText_1a2bf: ; 0x8432a + db $0, "Flame", $4f + db "out!", $58 +; 0x8432a + 12 bytes + +_UnnamedText_1a2c4: ; 0x84336 + db $0, "No matter!", $4f + db "My brothers will", $55 + db "avenge me!", $57 +; 0x84336 + 40 bytes + +_UnnamedText_1a2d3: ; 0x8435e + db $0, "That rotten", $4f + db "PRESIDENT!", $51 + db "He shouldn't have", $4f + db "sent me to the", $55 + db "TIKSI BRANCH!", $57 +; 0x8435e + 70 bytes + +_UnnamedText_1a2d8: ; 0x843a4 + db $0, "Shoot!", $58 +; 0x843a4 + 8 bytes + +_UnnamedText_1a2dd: ; 0x843ac + db $0, "TIKSI BRANCH?", $4f + db "It's in Russian", $55 + db "no man's land!", $57 +; 0x843ac + 44 bytes + +_UnnamedText_1a2ec: ; 0x843d8 + db $0, "You dare betray", $4f + db "TEAM ROCKET?", $57 +; 0x843d8 + 30 bytes + +_UnnamedText_1a2f1: ; 0x843f6 + db $0, "You", $4f + db "traitor!", $58 +; 0x843f6 + 14 bytes + +_UnnamedText_1a2f6: ; 0x84404 + db $0, "If you stand for", $4f + db "justice, you", $55 + db "betray evil!", $57 +; 0x84404 + 44 bytes + +_UnnamedText_51dd3: ; 0x84430 + db $0, "Oh! Hi! You're", $4f + db "not a ROCKET! You", $55 + db "came to save us?", $55 + db "Why, thank you!", $51 + db "I want you to", $4f + db "have this #MON", $55 + db "for saving us.", $58 +; 0x84430 + 110 bytes + +_UnnamedText_51dd8: ; 0x8449e + db $0, "It's LAPRAS. It's", $4f + db "very intelligent.", $51 + db "We kept it in our", $4f + db "lab, but it will", $55 + db "be much better", $55 + db "off with you!", $51 + db "I think you will", $4f + db "be a good trainer", $55 + db "for LAPRAS!", $51 + db "It's a good", $4f + db "swimmer. It'll", $55 + db "give you a lift!", $57 +; 0x8449e + 188 bytes + +_UnnamedText_51ddd: ; 0x8455a + db $0, "TEAM ROCKET's", $4f + db "BOSS went to the", $55 + db "boardroom! Is our", $55 + db "PRESIDENT OK?", $57 +; 0x8455a + 63 bytes + +_UnnamedText_51de2: ; 0x84599 + db $0, "Saved at last!", $4f + db "Thank you!", $57 +; 0x84599 + 27 bytes + +_UnnamedText_51e00: ; 0x845b4 + db $0, "TEAM ROCKET was", $4f + db "after the MASTER", $55 + db "BALL which will", $55 + db "catch any #MON!", $57 +; 0x845b4 + 66 bytes + +_UnnamedText_51e05: ; 0x845f6 + db $0, "We canceled the", $4f + db "MASTER BALL", $55 + db "project because", $55 + db "of TEAM ROCKET.", $57 +; 0x845f6 + 61 bytes + +_UnnamedText_51e23: ; 0x84633 + db $0, "It would be bad", $4f + db "if TEAM ROCKET", $55 + db "took over SILPH", $55 + db "or our #MON!", $57 +; 0x84633 + 61 bytes + +_UnnamedText_51e28: ; 0x84670 + db $0, "Wow! You chased", $4f + db "off TEAM ROCKET", $55 + db "all by yourself?", $57 +; 0x84670 + 50 bytes + +_UnnamedText_51e46: ; 0x846a2 + db $0, "You! It's really", $4f + db "dangerous here!", $55 + db "You came to save", $55 + db "me? You can't!", $57 +; 0x846a2 + 64 bytes + +_UnnamedText_51e4b: ; 0x846e2 + db $0, "Safe at last!", $4f + db "Oh thank you!", $57 +; 0x846e2 + 29 bytes + +_UnnamedText_51e5a: ; 0x846ff + db $0, "Oh ho! I smell a", $4f + db "little rat!", $57 +; 0x846ff + 30 bytes + +_UnnamedText_51e5f: ; 0x8471d + db $0, "Lights", $4f + db "out!", $58 +; 0x8471d + 13 bytes + +_UnnamedText_51e64: ; 0x8472a + db $0, "You won't find my", $4f + db "BOSS by just", $55 + db "scurrying around!", $57 +; 0x8472a + 49 bytes + +_UnnamedText_51e73: ; 0x8475b + db $0, "Heheh!", $51 + db "You mistook me for", $4f + db "a SILPH worker?", $57 +; 0x8475b + 43 bytes + +_UnnamedText_51e78: ; 0x84786 + db $0, "I'm", $4f + db "done!", $58 +; 0x84786 + 10 bytes + +_UnnamedText_51e7d: ; 0x84790 + db $0, "Despite your age,", $4f + db "you are a skilled", $55 + db "trainer!", $57 +; 0x84790 + 46 bytes + +_UnnamedText_51e8c: ; 0x847be + db $0, "I am one of the 4", $4f + db "ROCKET BROTHERS!", $57 +; 0x847be + 36 bytes + +_UnnamedText_51e91: ; 0x847e2 + db $0, "Aack!", $4f + db "Brothers, I lost!", $58 +; 0x847e2 + 25 bytes + +_UnnamedText_51e96: ; 0x847fb + db $0, "Doesn't matter.", $4f + db "My brothers will", $55 + db "repay the favor!", $57 +; 0x847fb + 50 bytes + +_UnnamedText_51ea5: ; 0x8482d + db $0, "A child intruder?", $4f + db "That must be you!", $57 +; 0x8482d + 37 bytes + +_UnnamedText_51eaa: ; 0x84852 + db $0, "Fine!", $4f + db "I lost!", $58 +; 0x84852 + 15 bytes + +_UnnamedText_51eaf: ; 0x84861 + db $0, "Go on home", $4f + db "before my BOSS", $55 + db "gets ticked off!", $57 +; 0x84861 + 44 bytes + +_UnnamedText_51ebe: ; 0x8488d + db $0, $53, ": What", $4f + db "kept you ", $52, "?", $57 +; 0x8488d + 21 bytes + +_UnnamedText_51ec3: ; 0x848a2 + db $0, $53, ": Hahaha!", $4f + db "I thought you'd", $55 + db "turn up if I", $55 + db "waited here!", $51 + db "I guess TEAM", $4f + db "ROCKET slowed you", $55 + db "down! Not that I", $55 + db "care!", $51 + db "I saw you in", $4f + db "SAFFRON, so I", $55 + db "decided to see if", $55 + db "you got better!", $57 +; 0x848a2 + 168 bytes + +_UnnamedText_51ec8: ; 0x8494a + db $0, "Oh ho!", $4f + db "So, you are ready", $55 + db "for BOSS ROCKET!", $58 +; 0x8494a + 43 bytes + +_UnnamedText_51ecd: ; 0x84975 + db $0, $53, ": How can", $4f + db "I put this?", $51 + db "You're not good", $4f + db "enough to play", $55 + db "with us big boys!", $58 +; 0x84975 + 72 bytes + +_UnnamedText_51ed2: ; 0x849bd + db $0, "Well, ", $52, "!", $51 + db "I'm moving on up", $4f + db "and ahead!", $51 + db "By checking my", $4f + db "#DEX, I'm", $55 + db "starting to see", $55 + db "what's strong and", $55 + db "how they evolve!", $51 + db "I'm going to the", $4f + db "#MON LEAGUE", $55 + db "to boot out the", $55 + db "ELITE FOUR!", $51 + db "I'll become the", $4f + db "world's most", $55 + db "powerful trainer!", $51 + db $52, ", well", $4f + db "good luck to you!", $55 + db "Don't sweat it!", $55 + db "Smell ya!", $57 +; 0x849bd + 263 bytes + +_UnnamedText_565be: ; 0x84ac4 + db $0, "I wonder if SILPH", $4f + db "is finished...", $57 +; 0x84ac4 + 34 bytes + +_UnnamedText_565c3: ; 0x84ae6 + db $0, "Thanks for saving", $4f + db "us!", $57 +; 0x84ae6 + 23 bytes + +_UnnamedText_565e6: ; 0x84afd + db $0, "That's as far as", $4f + db "you'll go!", $57 +; 0x84afd + 27 bytes + +_UnnamedText_565eb: ; 0x84b18 + db $0, "Not", $4f + db "enough grit!", $58 +; 0x84b18 + 18 bytes + +_UnnamedText_565f0: ; 0x84b2a + db $0, "If you don't turn", $4f + db "back, I'll call", $55 + db "for backup!", $57 +; 0x84b2a + 45 bytes + +_UnnamedText_565f5: ; 0x84b57 + db $0, "You're causing us", $4f + db "problems!", $57 +; 0x84b57 + 28 bytes + +_UnnamedText_565fa: ; 0x84b73 + db $0, "Huh?", $4f + db "I lost?", $58 +; 0x84b73 + 14 bytes + +_UnnamedText_565ff: ; 0x84b81 + db $0, "So, what do you", $4f + db "think of SILPH", $55 + db "BUILDING's maze?", $57 +; 0x84b81 + 48 bytes + +_UnnamedText_56604: ; 0x84bb1 + db $0, "I am one of the 4", $4f + db "ROCKET BROTHERS!", $57 +; 0x84bb1 + 36 bytes + +_UnnamedText_56609: ; 0x84bd5 + db $0, "Whoo!", $4f + db "Oh brothers!", $58 +; 0x84bd5 + 20 bytes + +_UnnamedText_5660e: ; 0x84be9 + db $0, "I'll leave you up", $4f + db "to my brothers!", $57 +; 0x84be9 + 34 bytes + +_UnnamedText_5d8e5: ; 0x84c0b + db $0, "You look tired!", $4f + db "You should take a", $55 + db "quick nap!", $58 +; 0x84c0b + 46 bytes + +_UnnamedText_5d8ea: ; 0x84c39 + db $0, "Don't give up!", $57 +; 0x84c39 + 15 bytes + +_UnnamedText_5d8ef: ; 0x84c48 + db $0, "Thank you so", $4f + db "much!", $57 +; 0x84c48 + 20 bytes + +_UnnamedText_5d912: ; 0x84c5c + db $0, "Your #MON seem", $4f + db "to adore you, kid!", $57 +; 0x84c5c + 35 bytes + +_UnnamedText_5d917: ; 0x84c7f + db $0, "Ghaaah!", $58 +; 0x84c7f + 9 bytes + +_UnnamedText_5d91c: ; 0x84c88 + db $0, "If I had started", $4f + db "as a trainer at", $55 + db "your age...", $57 +; 0x84c88 + 46 bytes + +_UnnamedText_5d921: ; 0x84cb6 + db $0, "Your #MON have", $4f + db "weak points! I", $55 + db "can nail them!", $57 +; 0x84cb6 + 46 bytes + +_UnnamedText_5d926: ; 0x84ce4 + db $0, "You", $4f + db "hammered me!", $58 +; 0x84ce4 + 18 bytes + +_UnnamedText_5d92b: ; 0x84cf6 + db $0, "Exploiting weak", $4f + db "spots does work!", $55 + db "Think about", $55 + db "element types!", $57 +; 0x84cf6 + 61 bytes + +_UnnamedText_5d930: ; 0x84d33 + db $0, "I am one of the 4", $4f + db "ROCKET BROTHERS!", $57 +; 0x84d33 + 36 bytes + +_UnnamedText_5d935: ; 0x84d57 + db $0, "Warg!", $4f + db "Brothers, I lost!", $58 +; 0x84d57 + 25 bytes + +_UnnamedText_5d93a: ; 0x84d70 + db $0, "My brothers will", $4f + db "avenge me!", $57 +; 0x84d70 + 29 bytes + +_UnnamedText_5a1d3: ; 0x84d8d + db $0, "Waaaaa!", $55 + db "I'm scared!", $57 +; 0x84d8d + 20 bytes + +_UnnamedText_5a1d8: ; 0x84da1 + db $0, "Please keep quiet", $4f + db "about my crying!", $57 +; 0x84da1 + 36 bytes + +_UnnamedText_5a1dd: ; 0x84dc5 + db $0, "Welcome to the", $4f + db "10F! So good of", $55 + db "you to join me!", $57 +; 0x84dc5 + 48 bytes + +_UnnamedText_5a1e2: ; 0x84df5 + db $0, "I'm", $4f + db "stunned!", $58 +; 0x84df5 + 13 bytes + +_UnnamedText_5a1e7: ; 0x84e02 + db $0, "Nice try, but the", $4f + db "boardroom is up", $55 + db "one more floor!", $57 +; 0x84e02 + 51 bytes + +_UnnamedText_5a1ec: ; 0x84e35 + db $0, "Enough of your", $4f + db "silly games!", $57 +; 0x84e35 + 29 bytes + +_UnnamedText_5a1f1: ; 0x84e52 + db $0, "No", $4f + db "continues left!", $58 +; 0x84e52 + 20 bytes + +_UnnamedText_5a1f6: ; 0x84e66 + db $0, "Are you satisfied", $4f + db "with beating me?", $55 + db "Then go on home!", $57 +; 0x84e66 + 53 bytes + +_SilphCoPresidentText: ; 0x84e9b + db $0, "PRESIDENT: Thank", $4f + db "you for saving", $55 + db "SILPH!", $51 + db "I will never", $4f + db "forget you saved", $55 + db "us in our moment", $55 + db "of peril!", $51 + db "I have to thank", $4f + db "you in some way!", $51 + db "Because I am rich,", $4f + db "I can give you", $55 + db "anything!", $51 + db "Here, maybe this", $4f + db "will do!", $58 +; 0x84e9b + 200 bytes + +_ReceivedSilphCoMasterBallText: ; 0x84f63 + db $0, $52, " got a", $4f + db "@" + TX_RAM $cf4b + db $0, "!@@" +; 0x84f74 + +_UnnamedText_6231c: ; 0x84f74 + db $0, "PRESIDENT: You", $4f + db "can't buy that", $55 + db "anywhere!", $51 + db "It's our secret", $4f + db "prototype MASTER", $55 + db "BALL!", $51 + db "It will catch any", $4f + db "#MON without", $55 + db "fail!", $51 + db "You should be", $4f + db "quiet about using", $55 + db "it, though.", $57 +; 0x84f74 + 159 bytes + +_SilphCoMasterBallNoRoomText: ; 0x85013 + db $0, "You have no", $4f + db "room for this.", $57 +; 0x85013 + 28 bytes + +_SilphCo11Text2: ; 0x8502f + db $0, "SECRETARY: Thank", $4f + db "you for rescuing", $55 + db "all of us!", $51 + db "We admire your", $4f + db "courage.", $57 + +_SilphCo11Text3: ; 0x85075 + db $0, "Ah ", $52, "!", $4f + db "So we meet again!", $51 + db "The PRESIDENT and", $4f + db "I are discussing", $55 + db "a vital business", $55 + db "proposition.", $51 + db "Keep your nose", $4f + db "out of grown-up", $55 + db "matters...", $51 + db "Or, experience a", $4f + db "world of pain!", $57 + +_UnnamedText_62330: ; 0x85119 + db $0, "Arrgh!!", $4f + db "I lost again!?", $58 +; 0x85119 + 24 bytes + +_UnnamedText_62335: ; 0x85131 + db $0, "Blast it all!", $4f + db "You ruined our", $55 + db "plans for SILPH!", $51 + db "But, TEAM ROCKET", $4f + db "will never fall!", $51 + db $52, "! Never", $4f + db "forget that all", $55 + db "#MON exist", $55 + db "for TEAM ROCKET!", $51 + db "I must go, but I", $4f + db "shall return!", $57 +; 0x85131 + 165 bytes + +_UnnamedText_62344: ; 0x851d6 + db $0, "Stop right there!", $4f + db "Don't you move!", $57 +; 0x851d6 + 34 bytes + +_UnnamedText_62349: ; 0x851f8 + db $0, "Don't...", $4f + db "Please!", $58 +; 0x851f8 + 17 bytes + +_UnnamedText_6234e: ; 0x85209 + db $0, "So, you want to", $4f + db "see my BOSS?", $57 +; 0x85209 + 30 bytes + +_UnnamedText_6235d: ; 0x85227 + db $0, "Halt! Do you have", $4f + db "an appointment", $55 + db "with my BOSS?", $57 +; 0x85227 + 48 bytes + +_UnnamedText_62362: ; 0x85257 + db $0, "Gaah!", $4f + db "Demolished!", $58 +; 0x85257 + 19 bytes + +_UnnamedText_62367: ; 0x8526a + db $0, "Watch your step,", $4f + db "my BOSS likes his", $55 + db "#MON tough!", $57 +; 0x8526a + 48 bytes + +_UnnamedText_6237b: ; 0x8529a + db $0, "The monitor has", $4f + db "#MON on it!", $57 +; 0x8529a + 29 bytes + +_UnnamedText_5206e: ; 0x852b7 + db $0, "I can't get out!", $4f + db "This old place is", $55 + db "one big puzzle!", $57 +; 0x852b7 + 51 bytes + +_UnnamedText_52073: ; 0x852ea + db $0, "Oh no!", $4f + db "My bag of loot!", $58 +; 0x852ea + 24 bytes + +_UnnamedText_52078: ; 0x85302 + db $0, "Switches open and", $4f + db "close alternating", $55 + db "sets of doors!", $57 +; 0x85302 + 52 bytes + +_Mansion2Text3: ; 0x85336 + db $0, "Diary: July 5", $4f + db "Guyana,", $55 + db "South America", $51 + db "A new #MON was", $4f + db "discovered deep", $55 + db "in the jungle.", $57 + +_Mansion2Text4: ; 0x85389 + db $0, "Diary: July 10", $4f + db "We christened the", $55 + db "newly discovered", $55 + db "#MON, MEW.", $57 + +_UnnamedText_520c2: ; 0x853c7 + db $0, "A secret switch!", $51 + db "Press it?", $57 +; 0x853c7 + 28 bytes + +_UnnamedText_520c7: ; 0x853e3 + db $0, "Who wouldn't?", $58 +; 0x853e3 + 14 bytes + +_UnnamedText_520cc: ; 0x853f1 + db $0, "Not quite yet!", $57 +; 0x853f1 + 16 bytes + +_UnnamedText_522c3: ; 0x85401 + db $0, "This place is", $4f + db "like, huge!", $57 +; 0x85401 + 27 bytes + +_UnnamedText_522c8: ; 0x8541c + db $0, "Ayah!", $58 +; 0x8541c + 7 bytes + +_UnnamedText_522cd: ; 0x85423 + db $0, "I wonder where", $4f + db "my partner went.", $57 +; 0x85423 + 33 bytes + +_UnnamedText_522d2: ; 0x85444 + db $0, "My mentor once", $4f + db "lived here.", $57 +; 0x85444 + 28 bytes + +_UnnamedText_522d7: ; 0x85460 + db $0, "Whew!", $4f + db "Overwhelming!", $58 +; 0x85460 + 21 bytes + +_UnnamedText_522dc: ; 0x85475 + db $0, "So, you're stuck?", $4f + db "Try jumping off", $55 + db "over there!", $57 +; 0x85475 + 46 bytes + +_Mansion3Text5: ; 0x854a3 + db $0, "Diary: Feb. 6", $4f + db "MEW gave birth.", $51 + db "We named the", $4f + db "newborn MEWTWO.", $57 + +_UnnamedText_52475: ; 0x854df + db $0, "Uh-oh. Where am", $4f + db "I now?", $57 +; 0x854df + 24 bytes + +_UnnamedText_5247a: ; 0x854f7 + db $0, "Awooh!", $58 +; 0x854f7 + 8 bytes + +_UnnamedText_5247f: ; 0x854ff + db $0, "You can find stuff", $4f + db "lying around.", $57 +; 0x854ff + 34 bytes + +_UnnamedText_52484: ; 0x85521 + db $0, "This place is", $4f + db "ideal for a lab.", $57 +; 0x85521 + 32 bytes + +_UnnamedText_52489: ; 0x85541 + db $0, "What", $4f + db "was that for?", $58 +; 0x85541 + 20 bytes + +_UnnamedText_5248e: ; 0x85555 + db $0, "I like it here!", $4f + db "It's conducive to", $55 + db "my studies!", $57 +; 0x85555 + 46 bytes + +_Mansion4Text7: ; 0x85583 + db $0, "Diary; Sept. 1", $4f + db "MEWTWO is far too", $55 + db "powerful.", $51 + db "We have failed to", $4f + db "curb its vicious", $55 + db "tendencies...", $57 + +_SafariZoneEastText5: ; 0x855e0 + db $0, "REST HOUSE", $57 + +_SafariZoneEastText6: ; 0x855ec + db $0, "TRAINER TIPS", $51 + db "The remaining time", $4f + db "declines only", $55 + db "while you walk!", $57 + +_SafariZoneEastText7: ; 0x8562b + db $0, "CENTER AREA", $4f + db "NORTH: AREA 2", $57 + +_SafariZoneNorthText3: ; 0x85646 + db $0, "REST HOUSE", $57 + +_SafariZoneNorthText4: ; 0x85652 + db $0, "TRAINER TIPS", $51 + db "The SECRET HOUSE", $4f + db "is still ahead!", $57 + +_SafariZoneNorthText5: ; 0x85681 + db $0, "AREA 2", $57 + +_SafariZoneNorthText6: ; 0x85689 + db $0, "TRAINER TIPS", $51 + db "#MON hide in", $4f + db "tall grass!", $51 + db "Zigzag through", $4f + db "grassy areas to", $55 + db "flush them out.", $57 + +_SafariZoneNorthText7: ; 0x856df + db $0, "TRAINER TIPS", $51 + db "Win a free HM for", $4f + db "finding the", $55 + db "SECRET HOUSE!", $57 + +_SafariZoneWestText5: ; 0x85719 + db $0, "REST HOUSE", $57 + +_SafariZoneWestText6: ; 0x85725 + db $0, "REQUEST NOTICE", $51 + db "Please find the", $4f + db "SAFARI WARDEN's", $55 + db "lost GOLD TEETH.", $55 + db "They're around", $55 + db "here somewhere.", $51 + db "Reward offered!", $4f + db "Contact: WARDEN", $57 + +_SafariZoneWestText7: ; 0x857a3 + db $0, "TRAINER TIPS", $51 + db "Zone Exploration", $4f + db "Campaign!", $51 + db "The Search for", $4f + db "the SECRET HOUSE!", $57 + +_SafariZoneWestText8: ; 0x857ed + db $0, "AREA 3", $4f + db "EAST: CENTER AREA", $57 + +_SafariZoneCenterText2: ; 0x85807 + db $0, "REST HOUSE", $57 + +_SafariZoneCenterText3: ; 0x85813 + db $0, "TRAINER TIPS", $51 + db "Press the START", $4f + db "Button to check", $55 + db "remaining time!", $57 + +_SafariZoneRestHouse1Text1: ; 0x85851 + db $0, "SARA: Where did", $4f + db "my boy friend,", $55 + db "ERIK, go?", $57 + +_SafariZoneRestHouse1Text2: ; 0x8587b + db $0, "I'm catching", $4f + db "#MON to take", $55 + db "home as gifts!", $57 + +_UnnamedText_4a350: ; 0x858a4 + db $0, "Ah! Finally!", $51 + db "You're the first", $4f + db "person to reach", $55 + db "the SECRET HOUSE!", $51 + db "I was getting", $4f + db "worried that no", $55 + db "one would win our", $55 + db "campaign prize.", $51 + db "Congratulations!", $4f + db "You have won!", $58 +; 0x858a4 + 159 bytes + +_UnnamedText_4a355: ; 0x85943 + db $0, $52, " received", $4f + db "@" + TX_RAM $cf4b + db $0, "!@@" +; 0x85957 + +_UnnamedText_4a35b: ; 0x85957 + db $0, "HM03 is SURF!", $51 + db "#MON will be", $4f + db "able to ferry you", $55 + db "across water!", $51 + db "And, this HM isn't", $4f + db "disposable! You", $55 + db "can use it over", $55 + db "and over!", $51 + db "You're super lucky", $4f + db "for winning this", $55 + db "fabulous prize!", $57 +; 0x85957 + 171 bytes + +_UnnamedText_4a360: ; 0x85a02 + db $0, "You don't have", $4f + db "room for this", $55 + db "fabulous prize!", $57 +; 0x85a02 + 45 bytes + +_SafariZoneRestHouse2Text1: ; 0x85a2f + db $0, "Tossing ROCKs at", $4f + db "#MON might", $55 + db "make them run,", $55 + db "but they'll be", $55 + db "easier to catch.", $57 + +_SafariZoneRestHouse2Text2: ; 0x85a7a + db $0, "Using BAIT will", $4f + db "make #MON", $55 + db "easier to catch.", $57 + +_SafariZoneRestHouse2Text3: ; 0x85aa6 + db $0, "I hiked a lot, but", $4f + db "I didn't see any", $55 + db "#MON I wanted.", $57 + +_SafariZoneRestHouse3Text1: ; 0x85ad9 + db $0, "How many did you", $4f + db "catch? I'm bushed", $55 + db "from the work!", $57 + +_SafariZoneRestHouse3Text2: ; 0x85b0b + db $0, "I caught a", $4f + db "CHANSEY!", $51 + db "That makes this", $4f + db "all worthwhile!", $57 + +_SafariZoneRestHouse3Text3: ; 0x85b40 + db $0, "Whew! I'm tired", $4f + db "from all the fun!", $57 + +_SafariZoneRestHouse4Text1: ; 0x85b62 + db $0, "You can keep any", $4f + db "item you find on", $55 + db "the ground here.", $51 + db "But, you'll run", $4f + db "out of time if", $55 + db "you try for all", $55 + db "of them at once!", $57 + +_SafariZoneRestHouse4Text2: ; 0x85bd5 + db $0, "Go to the deepest", $4f + db "part of the", $55 + db "SAFARI ZONE. You", $55 + db "will win a prize!", $57 + +_SafariZoneRestHouse4Text3: ; 0x85c17 + db $0, "My EEVEE evolved", $4f + db "into FLAREON!", $51 + db "But, a friend's", $4f + db "EEVEE turned into", $55 + db "a VAPOREON!", $55 + db "I wonder why?", $57 + +_UnnamedText_45f26: ; 0x85c72 + db $0, "Mew!@@" +; 0x85c79 + +_UnnamedText_5da9a: ; 0x85c79 + db $0, "I wonder if you", $4f + db "are good enough", $55 + db "for me!", $57 +; 0x85c79 + 41 bytes + +_UnnamedText_5da9f: ; 0x85ca2 + db $0, "I", $4f + db "lost out!", $58 +; 0x85ca2 + 13 bytes + +_UnnamedText_5daa4: ; 0x85caf + db $0, "I never wanted to", $4f + db "lose to anybody!", $57 +; 0x85caf + 36 bytes + +_UnnamedText_5daa9: ; 0x85cd3 + db $0, "I can see you're", $4f + db "good! Let me see", $55 + db "exactly how good!", $57 +; 0x85cd3 + 52 bytes + +_UnnamedText_5daae: ; 0x85d07 + db $0, "I", $4f + db "had a chance...", $58 +; 0x85d07 + 19 bytes + +_UnnamedText_5dab3: ; 0x85d1a + db $0, "I concede, you're", $4f + db "better than me!", $57 +; 0x85d1a + 34 bytes + +_UnnamedText_5a3ae: ; 0x85d3c + db $0, "Ah! I heard about", $4f + db "you ", $52, "!", $51 + db "I lead the ELITE", $4f + db "FOUR! You can", $55 + db "call me LANCE the", $55 + db "dragon trainer!", $51 + db "You know that", $4f + db "dragons are", $55 + db "mythical #MON!", $51 + db "They're hard to", $4f + db "catch and raise,", $55 + db "but their powers", $55 + db "are superior!", $51 + db "They're virtually", $4f + db "indestructible!", $51 + db "Well, are you", $4f + db "ready to lose?", $51 + db "Your LEAGUE", $4f + db "challenge ends", $55 + db "with me, ", $52, "!", $57 +; 0x85d3c + 296 bytes + +_UnnamedText_5a3b3: ; 0x85e64 + db $0, "That's it!", $51 + db "I hate to admit", $4f + db "it, but you are a", $55 + db "#MON master!", $58 +; 0x85e64 + 58 bytes + +_UnnamedText_5a3b8: ; 0x85e9e + db $0, "I still can't", $4f + db "believe my", $55 + db "dragons lost to", $55 + db "you, ", $52, "!", $51 + db "You are now the", $4f + db "#MON LEAGUE", $55 + db "champion!", $51 + db "...Or, you would", $4f + db "have been, but", $55 + db "you have one more", $55 + db "challenge ahead.", $51 + db "You have to face", $4f + db "another trainer!", $55 + db "His name is...", $51 + db $53, "!", $4f + db "He beat the ELITE", $55 + db "FOUR before you!", $51 + db "He is the real", $4f + db "#MON LEAGUE", $55 + db "champion!@@" +; 0x85e9e + 279 bytes = 0x85fb5 + +_HallofFameRoomText1: ; 0x85fb5 + db $0, "OAK: Er-hem!", $4f + db "Congratulations", $55 + db $52, "!", $51 + db "This floor is the", $4f + db "#MON HALL OF", $55 + db "FAME!", $51 + db "#MON LEAGUE", $4f + db "champions are", $55 + db "honored for their", $55 + db "exploits here!", $51 + db "Their #MON are", $4f + db "also recorded in", $55 + db "the HALL OF FAME!", $51 + db $52, "! You have", $4f + db "endeavored hard", $55 + db "to become the new", $55 + db "LEAGUE champion!", $51 + db "Congratulations,", $4f + db $52, ", you and", $55 + db "your #MON are", $55 + db "HALL OF FAMERs!", $57 + +_UnnamedText_760f4: ; 0x860e1 + db $0, $53, ": Hey!", $51 + db "I was looking", $4f + db "forward to seeing", $55 + db "you, ", $52, "!", $51 + db "My rival should", $4f + db "be strong to keep", $55 + db "me sharp!", $51 + db "While working on", $4f + db "#DEX, I looked", $55 + db "all over for", $55 + db "powerful #MON!", $51 + db "Not only that, I", $4f + db "assembled teams", $55 + db "that would beat", $55 + db "any #MON type!", $51 + db "And now!", $51 + db "I'm the #MON", $4f + db "LEAGUE champion!", $51 + db $52, "! Do you", $4f + db "know what that", $55 + db "means?", $51 + db "I'll tell you!", $51 + db "I am the most", $4f + db "powerful trainer", $55 + db "in the world!", $57 +; 0x860e1 + 346 bytes + +_UnnamedText_760f9: ; 0x8623b + db $0, "NO!", $4f + db "That can't be!", $55 + db "You beat my best!", $51 + db "After all that", $4f + db "work to become", $55 + db "LEAGUE champ?", $51 + db "My reign is over", $4f + db "already?", $55 + db "It's not fair!", $58 +; 0x8623b + 121 bytes + +_UnnamedText_760fe: ; 0x862b4 + db $0, "Hahaha!", $4f + db "I won, I won!", $51 + db "I'm too good for", $4f + db "you, ", $52, "!", $51 + db "You did well to", $4f + db "even reach me,", $55 + db $53, ", the", $55 + db "#MON genius!", $51 + db "Nice try, loser!", $4f + db "Hahaha!", $58 +; 0x862b4 + 123 bytes + +_UnnamedText_76103: ; 0x8632f + db $0, "Why?", $4f + db "Why did I lose?", $51 + db "I never made any", $4f + db "mistakes raising", $55 + db "my #MON...", $51 + db "Darn it! You're", $4f + db "the new #MON", $55 + db "LEAGUE champion!", $51 + db "Although I don't", $4f + db "like to admit it.", $57 +; 0x8632f + 146 bytes + +_GaryText2: ; 0x863c1 + db $0, "OAK: ", $52, "!", $57 + +_UnnamedText_76120: ; 0x863ca + db $0, "OAK: So, you won!", $4f + db "Congratulations!", $55 + db "You're the new", $55 + db "#MON LEAGUE", $55 + db "champion!", $51 + db "You've grown up so", $4f + db "much since you", $55 + db "first left with", $55 + db "@" + TX_RAM $cd6d + db $0, "!", $51 + db $52, ", you have", $4f + db "come of age!", $57 +; 0xa86463 + +_UnnamedText_76125: ; 0x86463 + db $0, "OAK: ", $53, "! I'm", $4f + db "disappointed!", $51 + db "I came when I", $4f + db "heard you beat", $55 + db "the ELITE FOUR!", $51 + db "But, when I got", $4f + db "here, you had", $55 + db "already lost!", $51 + db $53, "! Do you", $4f + db "understand why", $55 + db "you lost?", $51 + db "You have forgotten", $4f + db "to treat your", $55 + db "#MON with", $55 + db "trust and love!", $51 + db "Without them, you", $4f + db "will never become", $55 + db "a champ again!", $57 +; 0x86463 + 260 bytes + +_UnnamedText_7612a: ; 0x86567 + db $0, "OAK: ", $52, "!", $51 + db "You understand", $4f + db "that your victory", $55 + db "was not just your", $55 + db "own doing!", $51 + db "The bond you share", $4f + db "with your #MON", $55 + db "is marvelous!", $51 + db $52, "!", $4f + db "Come with me!", $57 +; 0x86567 + 136 bytes + +_UnnamedText_7626c: ; 0x865ef + db $0, "Welcome to", $4f + db "#MON LEAGUE!", $51 + db "I am LORELEI of", $4f + db "the ELITE FOUR!", $51 + db "No one can best", $4f + db "me when it comes", $55 + db "to icy #MON!", $51 + db "Freezing moves", $4f + db "are powerful!", $51 + db "Your #MON will", $4f + db "be at my mercy", $55 + db "when they are", $55 + db "frozen solid!", $51 + db "Hahaha!", $4f + db "Are you ready?", $57 +; 0x865ef + 213 bytes + +_UnnamedText_76271: ; 0x866c4 + db $0, "How", $4f + db "dare you!", $58 +; 0x866c4 + 15 bytes + +_UnnamedText_76276: ; 0x866d3 + db $0, "You're better", $4f + db "than I thought!", $55 + db "Go on ahead!", $51 + db "You only got a", $4f + db "taste of #MON", $55 + db "LEAGUE power!", $57 +; 0x866d3 + 86 bytes + +_UnnamedText_7627b: ; 0x86729 + db $0, "Someone's voice:", $4f + db "Don't run away!", $57 +; 0x86729 + 32 bytes + +_UnnamedText_763c3: ; 0x86749 + db $0, "I am BRUNO of", $4f + db "the ELITE FOUR!", $51 + db "Through rigorous", $4f + db "training, people", $55 + db "and #MON can", $55 + db "become stronger!", $51 + db "I've weight", $4f + db "trained with", $55 + db "my #MON!", $51 + db $52, "!", $51 + db "We will grind you", $4f + db "down with our", $55 + db "superior power!", $51 + db "Hoo hah!", $57 +; 0x86749 + 188 bytes + +_UnnamedText_763c8: ; 0x86805 + db $0, "Why?", $4f + db "How could I lose?", $58 +; 0x86805 + 24 bytes + +_UnnamedText_763cd: ; 0x8681d + db $0, "My job is done!", $4f + db "Go face your next", $55 + db "challenge!", $57 +; 0x8681d + 46 bytes + +_UnnamedText_763d2: ; 0x8684b + db $0, "Someone's voice:", $4f + db "Don't run away!", $57 +; 0x8684b + 32 bytes + +_UnnamedText_76520: ; 0x8686b + db $0, "I am AGATHA of", $4f + db "the ELITE FOUR!", $51 + db "OAK's taken a lot", $4f + db "of interest in", $55 + db "you, child!", $51 + db "That old duff was", $4f + db "once tough and", $55 + db "handsome! That", $55 + db "was decades ago!", $51 + db "Now he just wants", $4f + db "to fiddle with", $55 + db "his #DEX! He's", $55 + db "wrong! #MON", $55 + db "are for fighting!", $51 + db $52, "! I'll show", $4f + db "you how a real", $55 + db "trainer fights!", $57 +; 0x8686b + 261 bytes + +_UnnamedText_76525: ; 0x86970 + db $0, "Oh ho!", $4f + db "You're something", $55 + db "special, child!", $58 +; 0x86970 + 40 bytes + +_UnnamedText_7652a: ; 0x86998 + db $0, "You win! I see", $4f + db "what the old duff", $55 + db "sees in you now!", $51 + db "I have nothing", $4f + db "else to say! Run", $55 + db "along now, child!", $57 +; 0x86998 + 101 bytes + +_UnnamedText_7652f: ; 0x869fd + db $0, "Someone's voice:", $4f + db "Don't run away!", $57 +; 0x869fd + 32 bytes + +_UnnamedText_460c5: ; 0x86a1d + db $0, "Hikers leave twigs", $4f + db "as trail markers.", $57 +; 0x86a1d + 38 bytes + +_UnnamedText_460ca: ; 0x86a43 + db $0, "Ohhh!", $4f + db "I did my best!", $58 +; 0x86a43 + 22 bytes + +_UnnamedText_460cf: ; 0x86a59 + db $0, "I want to go ", $4f + db "home!", $57 +; 0x86a59 + 21 bytes + +_UnnamedText_460d4: ; 0x86a6e + db $0, "Hahaha! Can you", $4f + db "beat my power?", $57 +; 0x86a6e + 32 bytes + +_UnnamedText_460d9: ; 0x86a8e + db $0, "Oops!", $4f + db "Out-muscled!", $58 +; 0x86a8e + 20 bytes + +_UnnamedText_460de: ; 0x86aa2 + db $0, "I go for power", $4f + db "because I hate", $55 + db "thinking!", $57 +; 0x86aa2 + 41 bytes + +_UnnamedText_460e3: ; 0x86acb + db $0, "You have a", $4f + db "#DEX?", $55 + db "I want one too!", $57 +; 0x86acb + 34 bytes + +_UnnamedText_460e8: ; 0x86aed + db $0, "Shoot!", $4f + db "I'm so jealous!", $58 +; 0x86aed + 23 bytes + +_UnnamedText_460ed: ; 0x86b04 + db $0, "When you finish", $4f + db "your #DEX, can", $55 + db "I have it?", $57 +; 0x86b04 + 43 bytes + +_UnnamedText_460f2: ; 0x86b2f + db $0, "Do you know about", $4f + db "costume players?", $57 +; 0x86b2f + 36 bytes + +_UnnamedText_460f7: ; 0x86b53 + db $0, "Well,", $4f + db "that's that.", $58 +; 0x86b53 + 19 bytes + +_UnnamedText_460fc: ; 0x86b66 + db $0, "Costume players", $4f + db "dress up as", $55 + db "#MON for fun.", $57 +; 0x86b66 + 43 bytes + +_UnnamedText_46101: ; 0x86b91 + db $0, "My #MON", $4f + db "techniques will", $55 + db "leave you crying!", $57 +; 0x86b91 + 43 bytes + +_UnnamedText_46106: ; 0x86bbc + db $0, "I give!", $4f + db "You're a better", $55 + db "technician!", $58 +; 0x86bbc + 36 bytes + +_UnnamedText_4610b: ; 0x86be0 + db $0, "In mountains,", $4f + db "you'll often find", $55 + db "rock-type #MON.", $57 +; 0x86be0 + 48 bytes + +_UnnamedText_46110: ; 0x86c10 + db $0, "I don't often", $4f + db "come here, but I", $55 + db "will fight you.", $57 +; 0x86c10 + 47 bytes + +_UnnamedText_46115: ; 0x86c3f + db $0, "Oh!", $4f + db "I lost!", $58 +; 0x86c3f + 13 bytes + +_UnnamedText_4611a: ; 0x86c4c + db $0, "I like tiny", $4f + db "#MON, big ones", $55 + db "are too scary!", $57 +; 0x86c4c + 43 bytes + +_UnnamedText_4611f: ; 0x86c77 + db $0, "Hit me with your", $4f + db "best shot!", $57 +; 0x86c77 + 29 bytes + +_UnnamedText_46124: ; 0x86c94 + db $0, "Fired", $4f + db "away!", $58 +; 0x86c94 + 13 bytes + +SECTION "bank22",DATA,BANK[$22] + +_UnnamedText_46129: ; 0x88000 + db $0, "I'll raise my", $4f + db "#MON to beat", $55 + db "yours, kid!", $57 +; 0x88000 + 39 bytes + +_UnnamedText_4612e: ; 0x88027 + db $0, "I draw #MON", $4f + db "when I'm home.", $57 +; 0x88027 + 27 bytes + +_UnnamedText_46133: ; 0x88042 + db $0, "Whew!", $4f + db "I'm exhausted!", $58 +; 0x88042 + 21 bytes + +_UnnamedText_46138: ; 0x88057 + db $0, "I'm an artist,", $4f + db "not a fighter.", $57 +; 0x88057 + 30 bytes + +_UnnamedText_468a2: ; 0x88075 + db $0, "Gyaoo!@@" + +_SeafoamIslands5Text4: ; 0x8807e + db $0, "Boulders might", $4f + db "change the flow", $55 + db "of water!", $57 + +_SeafoamIslands5Text5: ; 0x880a8 + db $0, "DANGER", $4f + db "Fast current!", $57 + +_AIBattleWithdrawText: + db 1 + dw $D04A + db 0," with-",$4F,"drew @",1 + dw $CFDA + db 0,"!",$58 +_AIBattleUseItemText: + db 1 + dw $D04A + db 0,$4F,"used @",1 + dw $CD6D + db 0,$55,"on @",1 + dw $CFDA + db 0,"!",$58 + +_UnnamedText_4160c: ; 0x880ef + TX_RAM $cf4b + db $0, " went", $4f + db "to @" + TX_RAM $d887 + db $0, ".", $57 +; 0x88103 + +_UnnamedText_41623: ; 0x88103 + db $0, "For ", $52, "'s", $4f + db "@" + TX_RAM $cf4b + db $0, ",", $57 +; 0x88112 + +_UnnamedText_41628: ; 0x88112 + TX_RAM $d887 + db $0, " sends", $4f + db "@" + TX_RAM $cd6d + db $0, ".", $57 +; 0x88124 + +_UnnamedText_41642: ; 0x88124 + TX_RAM $d887 + db $0, " waves", $4f + db "farewell as", $57 + +_UnnamedText_41647: ; 0x8813b + TX_RAM $cd6d + db $0, " is", $4f + db "transferred.", $57 +; 0x8813b + 21 bytes + +_UnnamedText_41655: ; 0x88150 + db $0, "Take good care of", $4f + db "@" +; 0x88150 + 20 bytes + +UnnamedText_88164: ; 0x88164 + TX_RAM $cd6d + db $0, ".", $57 +; 0x8816a + +_UnnamedText_4166c: ; 0x8816a + TX_RAM $d887 + db $0, " will", $4f + db "trade @" +; 0x8816a + 17 bytes + +UnnamedText_8817b: ; 0x8817b + TX_RAM $cd6d + db $0, $57 + +_UnnamedText_41671: ; 0x88180 + db $0, "for ", $52, "'s", $4f + db "@" + TX_RAM $cf4b + db $0, ".", $57 +; 0x8818f + +_UnnamedText_37390: ; 0x8818f + db $0, "A slot machine!", $4f + db "Want to play?", $57 +; 0x8818f + 31 bytes + +_UnnamedText_37467: ; 0x881ae + db $0, "Darn!", $4f + db "Ran out of coins!", $57 +; 0x881ae + 25 bytes + +_UnnamedText_3746c: ; 0x881c7 + db $0, "Bet how many", $4f + db "coins?", $57 +; 0x881c7 + 21 bytes + +_UnnamedText_37471: ; 0x881dc + db $0, "Start!", $57 +; 0x881dc + 8 bytes + +_UnnamedText_37476: ; 0x881e4 + db $0, "Not enough", $4f + db "coins!", $58 +; 0x881e4 + 19 bytes + +_UnnamedText_3747b: ; 0x881f7 + db $0, "One more ", $4f + db "go?", $57 +; 0x881f7 + 15 bytes + +_UnnamedText_37673: ; 0x88206 + db $0, " lined up!", $4f + db "Scored @" +; 0x88206 + 20 bytes + +UnnamedText_8821a: ; 0x8821a + TX_RAM $cf4b + db $0, " coins!", $57 +; 0x88226 + +_UnnamedText_3769d: ; 0x88226 + db $0, "Not this time!", $58 +; 0x88226 + 16 bytes + +UnnamedText_88236: ; 0x88236 + db $0, "Yeah!@@" +; 0x8823e + +_UnnamedText_703fa: ; 0x8823e + db $0, "#DEX Seen:@" +; 0x8823e + 14 bytes + +UnnamedText_8824c: ; 0x8824c + TX_NUM $cc5b, 1, 3 + db $0, $4f + db " Owned:@" + TX_NUM $cc5c, 1, 3 + db $50 +; 0x88267 + +_UnnamedText_703ff: ; 0x88267 + db $0, "#DEX Rating", $6d, $57 +; 0x88267 + 14 bytes + +_UnnamedText_62453: ; 0x88275 + TX_RAM $cf5f + db $0, $4f + db "#MON GYM", $55 + db "LEADER: @" +; 0x88275 + 23 bytes + +UnnamedText_8828c: ; 0x8828c + TX_RAM $cf70 + db $0, $51 + db "WINNING TRAINERS:", $4f + db $53, $57 +; 0x882a5 + +_UnnamedText_62458: ; 0x882a5 + TX_RAM $cf5f + db $0, $4f + db "#MON GYM", $55 + db "LEADER: @" +; 0x882a5 + 23 bytes + +UnnamedText_882bc: ; 0x882bc + TX_RAM $cf70 + db $0, $51 + db "WINNING TRAINERS:", $4f + db $53, $55 + db $52, $57 +; 0x882d7 + +_UnnamedText_624a3: ; 0x882d7 + db $0, "#MON CENTERs", $4f + db "heal your tired,", $55 + db "hurt or fainted", $55 + db "#MON!", $57 +; 0x882d7 + 53 bytes + +_UnnamedText_624a8: ; 0x8830c + db $0, "Yawn!", $51 + db "When JIGGLYPUFF", $4f + db "sings, #MON", $55 + db "get drowsy...", $51 + db "...Me too...", $4f + db "Snore...", $57 +; 0x8830c + 71 bytes + +_UnnamedText_624ad: ; 0x88353 + db $0, "BILL has lots of", $4f + db "#MON!", $51 + db "He collects rare", $4f + db "ones too!", $57 +; 0x88353 + 51 bytes + +_UnnamedText_624b2: ; 0x88386 + db $0, "CUBONEs wear", $4f + db "skulls, right?", $51 + db "People will pay a", $4f + db "lot for one!", $57 +; 0x88386 + 60 bytes + +_UnnamedText_624b7: ; 0x883c2 + db $0, "If you have too", $4f + db "many #MON, you", $55 + db "should store them", $55 + db "via PC!", $57 +; 0x883c2 + 58 bytes + +_UnnamedText_624bc: ; 0x883fc + db $0, "I heard that", $4f + db "GHOSTs haunt", $55 + db "LAVENDER TOWN!", $57 +; 0x883fc + 42 bytes + +_UnnamedText_624c1: ; 0x88426 + db $0, "I wish I could", $4f + db "catch #MON.", $57 +; 0x88426 + 28 bytes + +_UnnamedText_624c6: ; 0x88442 + db $0, "I'm tired from", $4f + db "all the fun...", $57 +; 0x88442 + 30 bytes + +_UnnamedText_624cb: ; 0x88460 + db $0, "SILPH's manager", $4f + db "is hiding in the", $55 + db "SAFARI ZONE.", $57 +; 0x88460 + 46 bytes + +_UnnamedText_624d0: ; 0x8848e + db $0, "It is true that a", $4f + db "higher level", $55 + db "#MON will be", $55 + db "more powerful...", $51 + db "But, all #MON", $4f + db "will have weak", $55 + db "points against", $55 + db "specific types.", $51 + db "So, there is no", $4f + db "universally", $55 + db "strong #MON.", $57 +; 0x8848e + 163 bytes + +_UnnamedText_624d5: ; 0x88531 + db $0, "If I had a BIKE,", $4f + db "I would go to", $55 + db "CYCLING ROAD!", $57 +; 0x88531 + 46 bytes + +_UnnamedText_624da: ; 0x8855f + db $0, "If you're studying ", $4f + db "#MON, visit", $55 + db "the SAFARI ZONE.", $51 + db "It has all sorts", $4f + db "of rare #MON.", $57 +; 0x8855f + 80 bytes + +_UnnamedText_624df: ; 0x885af + db $0, "#MON can still", $4f + db "learn techniques", $55 + db "after canceling", $55 + db "evolution.", $51 + db "Evolution can wait", $4f + db "until new moves", $55 + db "have been learned.", $57 +; 0x885af + 114 bytes + +_UnnamedText_624f8: ; 0x88621 + db $0, "It would be great", $4f + db "if the ELITE FOUR", $55 + db "came and stomped", $55 + db "TEAM ROCKET!", $57 +; 0x88621 + 67 bytes + +_UnnamedText_624fd: ; 0x88664 + db $0, "TEAM ROCKET took", $4f + db "off! We can go", $55 + db "out safely again!", $55 + db "That's great!", $57 +; 0x88664 + 64 bytes + +_UnnamedText_62502: ; 0x886a4 + db $0, "My sis brought me", $4f + db "on this vacation!", $57 +; 0x886a4 + 37 bytes + +_UnnamedText_62511: ; 0x886c9 + db $0, "Crammed full of", $4f + db "#MON books!", $57 +; 0x886c9 + 29 bytes + +_UnnamedText_1e953: ; 0x886e6 + db $0, "A shiny new", $4f + db "BICYCLE!", $57 +; 0x886e6 + 22 bytes + +_UnnamedText_1e960: ; 0x886fc + db $0, "Push START to", $4f + db "open the MENU!", $57 +; 0x886fc + 30 bytes + +_UnnamedText_1e97e: ; 0x8871a + db $0, "The SAVE option is", $4f + db "on the MENU", $55 + db "screen.", $57 +; 0x8871a + 40 bytes + +_UnnamedText_1e983: ; 0x88742 + db $0, "All #MON types", $4f + db "have strong and", $55 + db "weak points", $55 + db "against others.", $57 +; 0x88742 + 60 bytes + +_UnnamedText_1ea0d: ; 0x8877e + db $0, "PA: Ding-dong!", $51 + db "Time's up!", $58 +; 0x8877e + 26 bytes + +_UnnamedText_1ea12: ; 0x88798 + db $0, "PA: Your SAFARI", $4f + db "GAME is over!", $57 +; 0x88798 + 31 bytes + +_UnnamedText_1ea5b: ; 0x887b7 + db $0, "#MON Quiz!", $51 + db "Get it right and", $4f + db "the door opens to", $55 + db "the next room!", $51 + db "Get it wrong and", $4f + db "face a trainer!", $51 + db "If you want to", $4f + db "conserve your", $55 + db "#MON for the", $55 + db "GYM LEADER...", $51 + db "Then get it right!", $4f + db "Here we go!", $58 +; 0x887b7 + 182 bytes + +_UnnamedText_1ea6c: ; 0x8886d + db $0, "CATERPIE evolves", $4f + db "into BUTTERFREE?", $57 +; 0x8886d + 35 bytes + +_UnnamedText_1ea71: ; 0x88890 + db $0, "There are 9", $4f + db "certified #MON", $55 + db "LEAGUE BADGEs?", $57 +; 0x88890 + 43 bytes + +_UnnamedText_1ea76: ; 0x888bb + db $0, "POLIWAG evolves 3", $4f + db "times?", $57 +; 0x888bb + 26 bytes + +_UnnamedText_1ea7b: ; 0x888d5 + db $0, "Are thunder moves", $4f + db "effective against", $55 + db "ground element-", $55 + db "type #MON?", $57 +; 0x888d5 + 64 bytes + +_UnnamedText_1ea80: ; 0x88915 + db $0, "#MON of the", $4f + db "same kind and", $55 + db "level are not", $55 + db "identical?", $57 +; 0x88915 + 52 bytes + +_UnnamedText_1ea85: ; 0x88949 + db $0, "TM28 contains", $4f + db "TOMBSTONER?", $57 +; 0x88949 + 27 bytes + +UnnamedText_88964: ; 0x88964 + db $0, "You're absolutely", $4f + db "correct!", $51 + db "Go on through!@@" +; 0x8898f + +_UnnamedText_1eb05: ; 0x8898f + db $0, "Sorry! Bad call!", $58 +; 0x8898f + 18 bytes + +_UnnamedText_1eb69: ; 0x889a1 + db $0, "#MON magazines!", $51 + db "#MON notebooks!", $51 + db "#MON graphs!", $57 +; 0x889a1 + 46 bytes + +_UnnamedText_1ebdd: ; 0x889cf + db $0, "TELEPORTER is", $4f + db "displayed on the", $55 + db "PC monitor.", $57 +; 0x889cf + 44 bytes + +UnnamedText_889fb: ; 0x889fb + db $0, $52, " initiated", $4f + db "TELEPORTER's Cell", $55 + db "Separator!@@" +; 0x88a25 + +_UnnamedText_1ec7f: ; 0x88a25 + db $0, "BILL's favorite", $4f + db "#MON list!", $58 +; 0x88a25 + 27 bytes + +_UnnamedText_1ecaa: ; 0x88a40 + db $0, "Which #MON do", $4f + db "you want to see?", $57 +; 0x88a40 + 32 bytes + +_UnnamedText_1ecbd: ; 0x88a60 + db $0, "There's an e-mail", $4f + db "message here!", $51 + db "...", $51 + db "Calling all", $4f + db "#MON trainers!", $51 + db "The elite trainers", $4f + db "of #MON LEAGUE", $55 + db "are ready to take", $55 + db "on all comers!", $51 + db "Bring your best", $4f + db "#MON and see", $55 + db "how you rate as a", $55 + db "trainer!", $51 + db "#MON LEAGUE HQ", $4f + db "INDIGO PLATEAU", $51 + db "PS: PROF.OAK,", $4f + db "please visit us!", $55 + db "...", $57 +; 0x88a60 + 251 bytes + +_UnnamedText_2ff32: ; 0x88b5b + db $0, "A COIN CASE is", $4f + db "required!", $57 +; 0x88b5b + 26 bytes + +_UnnamedText_2ff37: ; 0x88b75 + db $0, "You don't have", $4f + db "any coins!", $57 +; 0x88b75 + 26 bytes + +_UnnamedText_37e79: ; 0x88b8f + db $0, "OUT OF ORDER", $4f + db "This is broken.", $57 +; 0x88b8f + 30 bytes + +_UnnamedText_37e7e: ; 0x88bad + db $0, "OUT TO LUNCH", $4f + db "This is reserved.", $57 +; 0x88bad + 32 bytes + +_UnnamedText_37e83: ; 0x88bcd + db $0, "Someone's keys!", $4f + db "They'll be back.", $57 +; 0x88bcd + 32 bytes + +_UnnamedText_21865: ; 0x88bed + db $0, "Just a moment.", $57 +; 0x88bed + 16 bytes + +UnnamedText_88bfd: ; 0x88bfd + db $0, "It's a pamphlet", $4f + db "on TMs.", $51 + db "...", $51 + db "There are 50 TMs", $4f + db "in all.", $51 + db "There are also 5", $4f + db "HMs that can be", $55 + db "used repeatedly.", $51 + db "SILPH CO.@@" +; 0x88c6f + +_UnnamedText_529e9: ; 0x88c6f + db $0, "Turn the page?", $57 +; 0x88c6f + 16 bytes + +UnnamedText_88c7f: ; 0x88c7f + db $0, "GIRL: Hey! Don't", $4f + db "look at my notes!@@" +; 0x88ca3 + +_UnnamedText_529f4: ; 0x88ca3 + db $0, "Looked at the", $4f + db "notebook!", $51 + db "First page...", $51 + db "# BALLs are", $4f + db "used to catch", $55 + db "#MON.", $51 + db "Up to 6 #MON", $4f + db "can be carried.", $51 + db "People who raise", $4f + db "and make #MON", $55 + db "fight are called", $55 + db "#MON trainers.", $58 +; 0x88ca3 + 163 bytes + +_UnnamedText_529f9: ; 0x88d46 + db $0, "Second page...", $51 + db "A healthy #MON", $4f + db "may be hard to", $55 + db "catch, so weaken", $55 + db "it first!", $51 + db "Poison, burns and", $4f + db "other damage are", $55 + db "effective!", $58 +; 0x88d46 + 119 bytes + +_UnnamedText_529fe: ; 0x88dbd + db $0, "Third page...", $51 + db "#MON trainers", $4f + db "seek others to", $55 + db "engage in #MON", $55 + db "fights.", $51 + db "Battles are", $4f + db "constantly fought", $55 + db "at #MON GYMs.", $58 +; 0x88dbd + 111 bytes + +_UnnamedText_52a03: ; 0x88e2c + db $0, "Fourth page...", $51 + db "The goal for", $4f + db "#MON trainers", $55 + db "is to beat the ", $55 + db "top 8 #MON", $55 + db "GYM LEADERs.", $51 + db "Do so to earn the", $4f + db "right to face...", $51 + db "The ELITE FOUR of", $4f + db "#MON LEAGUE!", $58 +; 0x88e2c + 149 bytes + +_UnnamedText_52a10: ; 0x88ec1 + db $0, "Enemies on every", $4f + db "side!", $57 +; 0x88ec1 + 24 bytes + +_UnnamedText_52a1d: ; 0x88ed9 + db $0, "What goes around", $4f + db "comes around!", $57 +; 0x88ed9 + 32 bytes + +_UnnamedText_52a2a: ; 0x88ef9 + db $0, "FIGHTING DOJO", $57 +; 0x88ef9 + 15 bytes + +_UnnamedText_52a3d: ; 0x88f08 + db $0, "INDIGO PLATEAU", $4f + db "#MON LEAGUE HQ", $57 +; 0x88f08 + 31 bytes + +_UnnamedText_5db81: ; 0x88f27 + db $0, $52, " is", $4f + db "playing the SNES!", $55 + db "...Okay!", $55 + db "It's time to go!", $57 +; 0x88f27 + 49 bytes + +_UnnamedText_5dba8: ; 0x88f58 + db $0, "Looked into the", $4f + db "binoculars...", $51 + db "A large, shining", $4f + db "bird is flying", $55 + db "toward the sea.", $57 +; 0x88f58 + 79 bytes + +_UnnamedText_5dbbe: ; 0x88fa7 + db $0, "AERODACTYL Fossil", $4f + db "A primitive and", $55 + db "rare #MON.", $57 +; 0x88fa7 + 46 bytes + +_UnnamedText_5dbd4: ; 0x88fd5 + db $0, "KABUTOPS Fossil", $4f + db "A primitive and", $55 + db "rare #MON.", $57 +; 0x88fd5 + 44 bytes + +_UnnamedText_5dc9e: ; 0x89001 + db $0, "TRAINER TIPS", $51 + db "Using a Game Link", $4f + db "Cable", $58 +; 0x89001 + 38 bytes + +_UnnamedText_5dca3: ; 0x89027 + db $0, "Which heading do", $4f + db "you want to read?", $57 +; 0x89027 + 36 bytes + +_UnnamedText_5dcde: ; 0x8904b + db $0, "When you have", $4f + db "linked your GAME", $55 + db "BOY with another", $55 + db "GAME BOY, talk to", $55 + db "the attendant on", $55 + db "the right in any", $55 + db "#MON CENTER.", $58 +; 0x8904b + 114 bytes + +_UnnamedText_5dce3: ; 0x890bd + db $0, "COLOSSEUM lets", $4f + db "you play against", $55 + db "a friend.", $58 +; 0x890bd + 43 bytes + +_UnnamedText_5dce8: ; 0x890e8 + db $0, "TRADE CENTER is", $4f + db "used for trading", $55 + db "#MON.", $58 +; 0x890e8 + 40 bytes + +_UnnamedText_5dda2: ; 0x89110 + db $0, "The blackboard", $4f + db "describes #MON", $55 + db "STATUS changes", $55 + db "during battles.", $58 +; 0x89110 + 62 bytes + +_UnnamedText_5dda7: ; 0x8914e + db $0, "Which heading do", $4f + db "you want to read?", $57 +; 0x8914e + 36 bytes + +_UnnamedText_5ddd6: ; 0x89172 + db $0, "A #MON can't", $4f + db "attack if it's", $55 + db "asleep!", $51 + db "#MON will stay", $4f + db "asleep even after", $55 + db "battles.", $51 + db "Use AWAKENING to", $4f + db "wake them up!", $58 +; 0x89172 + 108 bytes + +_UnnamedText_5dddb: ; 0x891de + db $0, "When poisoned, a", $4f + db "#MON's health", $55 + db "steadily drops.", $51 + db "Poison lingers", $4f + db "after battles.", $51 + db "Use an ANTIDOTE", $4f + db "to cure poison!", $58 +; 0x891de + 109 bytes + +_UnnamedText_5dde0: ; 0x8924b + db $0, "Paralysis could", $4f + db "make #MON", $55 + db "moves misfire!", $51 + db "Paralysis remains", $4f + db "after battles.", $51 + db "Use PARLYZ HEAL", $4f + db "for treatment!", $58 +; 0x8924b + 106 bytes + +_UnnamedText_5dde5: ; 0x892b5 + db $0, "A burn reduces", $4f + db "power and speed.", $55 + db "It also causes", $55 + db "ongoing damage.", $51 + db "Burns remain", $4f + db "after battles.", $51 + db "Use BURN HEAL to", $4f + db "cure a burn!", $58 +; 0x892b5 + 122 bytes + +_UnnamedText_5ddea: ; 0x8932f + db $0, "If frozen, a", $4f + db "#MON becomes", $55 + db "totally immobile!", $51 + db "It stays frozen", $4f + db "even after the", $55 + db "battle ends.", $51 + db "Use ICE HEAL to", $4f + db "thaw out #MON!", $58 +; 0x8932f + 120 bytes + +_UnnamedText_5ddf7: ; 0x893a7 + db $0, "Nope, there's", $4f + db "only trash here.", $57 +; 0x893a7 + 31 bytes + +UnnamedText_893c6: ; 0x893c6 + db $0, "Hey! There's a", $4f + db "switch under the", $55 + db "trash!", $55 + db "Turn it on!", $51 + db "The 1st electric", $4f + db "lock opened!@@" +; 0x89418 + +_UnnamedText_5dedb: ; 0x89418 + db $0, "Hey! There's", $4f + db "another switch", $55 + db "under the trash!", $55 + db "Turn it on!", $58 +; 0x89418 + 57 bytes + +UnnamedText_89451: ; 0x89451 + db $0, "The 2nd electric", $4f + db "lock opened!", $51 + db "The motorized door", $4f + db "opened!@@ +; 0x89451 + 59 bytes = 0x8948c + +UnnamedText_8948c: ; 0x8948c + db $0, "Nope! There's", $4f + db "only trash here.", $55 + db "Hey! The electric", $55 + db "locks were reset!@@" +; 0x8948c + 68 bytes = 0x894d0 + +UnnamedText_894d0: ; 0x894d0 + db $0, $52, " found", $4f + db "@" + TX_RAM $cd6d + db $0, "!@@" +; 0x894e1 + +_UnnamedText_76794: ; 0x894e1 + db $0, "But, ", $52, " has", $4f + db "no more room for", $55 + db "other items!", $57 +; 0x894e1 + 42 bytes + +UnnamedText_8950b: ; 0x8950b + db $0, $52, " found", $4f + db "@" + db $2, $a0, $ff, $c2 ; XXX $2 + db $0, " coins!@@" +; 0x89523 + +UnnamedText_89523: ; 0x89523 + db $0, $52, " found", $4f + db "@" + db $2, $a0, $ff, $c2 ; XXX $2 probably coins + db $0, " coins!@@" +; 0x8953a + +_UnnamedText_76852: ; 0x8953b + db $0, $51 + db "Oops! Dropped", $4f + db "some coins!", $57 +; 0x8953b + 28 bytes + +_UnnamedText_fbd9: ; 0x89557 + db $0, "INDIGO PLATEAU", $58 +; 0x89557 + 16 bytes + +_UnnamedText_fbde: ; 0x89567 + db $0, "The ultimate goal", $4f + db "of trainers!", $55 + db "#MON LEAGUE HQ", $57 +; 0x89567 + 47 bytes + +_UnnamedText_fbe3: ; 0x89596 + db $0, "The highest", $4f + db "#MON authority", $55 + db "#MON LEAGUE HQ", $57 +; 0x89596 + 43 bytes + +_UnnamedText_fc03: ; 0x895c1 + db $0, "Crammed full of", $4f + db "#MON books!", $57 +; 0x895c1 + 29 bytes + +_UnnamedText_fc08: ; 0x895de + db $0, "It's a sculpture", $4f + db "of DIGLETT.", $57 +; 0x895de + 29 bytes + +_UnnamedText_fc0d: ; 0x895fb + db $0, "This is an", $4f + db "elevator.", $57 +; 0x895fb + 22 bytes + +UnnamedText_89611: ; 0x89611 + db $0, "A TOWN MAP.@@" +; 0x89611 + 14 bytes = 0x8961f + +_UnnamedText_fc45: ; 0x8961f + db $0, "Wow! Tons of", $4f + db "#MON stuff!", $57 +; 0x8961f + 26 bytes + +_UnnamedText_3c1a8: ; 0x89639 + db $0, "PA: Ding-dong!", $51 + db "You are out of", $4f + db "SAFARI BALLs!", $58 +; 0x89639 + 45 bytes + +_UnnamedText_3c229: ; 0x89666 + db $0, "Wild @" + TX_RAM $cfda + db $0, $4f + db "ran!", $58 +; 0x89666 + 17 bytes = 0x89677 + +_UnnamedText_3c22e: ; 0x89677 + db $0, "Enemy @" + TX_RAM $cfda + db $0, $4f + db "ran!", $58 +; 0x89677 + 18 bytes = 0x89689 + +_UnnamedText_3c42e: ; 0x89689 + db $0, $5a, "'s", $4f + db "hurt by poison!", $58 +; 0x89689 + 20 bytes + +_UnnamedText_3c433: ; 0x8969d + db $0, $5a, "'s", $4f + db "hurt by the burn!", $58 +; 0x8969d + 22 bytes + +_UnnamedText_3c438: ; 0x896b3 + db $0, "LEECH SEED saps", $4f + db $5a, "!", $58 +; 0x896b3 + 20 bytes + +_UnnamedText_3c63e: ; 0x896c7 + db $0, "Enemy @" + TX_RAM $cfda + db $0, $4f + db "fainted!", $58 +; 0x896c7 + 22 bytes = 0x896dd + +_UnnamedText_3c6e4: ; 0x896dd + db $0, $52, " got ", $f0, "@" + ;XXX $2 + db $2, $79, $d0, $c3 + db $0, $4f + db "for winning!", $58 +; 0x896f9 + +_UnnamedText_3c6e9: ; 0x896f9 + db $0, $52, " defeated", $4f + db "@" + TX_RAM $d04a ; 0x89706 + db $0, "!", $58 +; 0x896f9 + 19 bytes = 0x8970c + +_UnnamedText_3c796: ; 0x8970c + TX_RAM $d009 + db $0, $4f + db "fainted!", $58 +; 0x8970c + 14 bytes + +_UnnamedText_3c7d3: ; 0x8971a + db $0, "Use next #MON?", $57 +; 0x8971a + 16 bytes + +_UnnamedText_3c884: ; 0x8972a + db $0, $53, ": Yeah! Am", $4f + db "I great or what?", $58 +; 0x8972a + 30 bytes + +_UnnamedText_3c889: ; 0x89748 + db $0, $52, " is out of", $4f + db "useable #MON!", $51 + db $52, " blacked", $4f + db "out!", $58 +; 0x89748 + 42 bytes + +_UnnamedText_3c88e: ; 0x89772 + db $0, $52, " lost to", $4f + db "@" + TX_RAM $d04a ; 0x8977e + db $0, "!", $58 +; 0x89772 + 18 bytes = 0x89784 + +_TrainerAboutToUseText: + db 1 + dw $D04A + db 0," is",$4F + db "about to use",$55,"@",1 + dw $CFDA + db 0,"!",$51 + db "Will ",$52,$4F + db "change #MON?",$57 + +_TrainerSentOutText: + db 1 + dw $D04A + db 0," sent",$4F + db "out @",1 + dw $CFDA + db 0,"!",$57 + +_UnnamedText_3cab4: ; 0x897c9 + db $0, "There's no will", $4f + db "to fight!", $58 +; 0x897c9 + 26 bytes + +_UnnamedText_3cb97: ; 0x897e3 + db $0, "Can't escape!", $58 +; 0x897e3 + 14 bytes + +_UnnamedText_3cb9c: ; 0x897f1 + db $0, "No! There's no", $4f + db "running from a", $55 + db "trainer battle!", $58 +; 0x897f1 + 46 bytes + +_UnnamedText_3cba1: ; 0x8981f + db $0, "Got away safely!", $58 +; 0x8981f + 18 bytes + +_UnnamedText_3d0c5: ; 0x89831 + db $0, "Items can't be", $4f + db "used here.", $58 +; 0x89831 + 26 bytes + +_UnnamedText_3d1f5: ; 0x8984b + TX_RAM $d009 + db $0, " is", $4f + db "already out!", $58 +; 0x8984b + 21 bytes + +_UnnamedText_3d3ae: ; 0x89860 + db $0, "No PP left for", $4f + db "this move!", $58 +; 0x89860 + 27 bytes + +_UnnamedText_3d3b3: ; 0x8987b + db $0, "The move is", $4f + db "disabled!", $58 +; 0x8987b + 23 bytes + +_UnnamedText_3d430: ; 0x89892 + TX_RAM $d009 + db $0, " has no", $4f + db "moves left!", $57 +; 0x89892 + 24 bytes + +_MultiHitText: + db 0,"Hit the enemy",$4F,"@" + TX_NUM W_NUMHITS,1,1 + db 0," times!",$58 + +_ScaredText: + db 1 + dw $D009 + db 0," is too",$4F + db "scared to move!",$58 + +_GetOutText: + db 0,"GHOST: Get out...",$4F + db "Get out...",$58 + +_FastAsleepText: + db 0,$5A,$4F + db "is fast asleep!",$58 + +_WokeUpText: + db 0,$5A,$4F + db "woke up!",$58 + +_FrozenText: + db 0,$5A,$4F + db "is frozen solid!",$58 + +_FullyParalyzedText: + db 0,$5A,"'s",$4F + db "fully paralyzed!",$58 + +_FlinchedText: + db 0,$5A,$4F + db "flinched!",$58 + +_MustRechargeText: + db 0,$5A,$4F + db "must recharge!",$58 + +_DisabledNoMoreText: + db 0,$5A,"'s",$4F + db "disabled no more!",$58 + +_IsConfusedText: + db 0,$5A,$4F + db "is confused!",$58 + +_HurtItselfText: + db 0,"It hurt itself in",$4F + db "its confusion!",$58 + +_ConfusedNoMoreText: + db 0,$5A,"'s",$4F + db "confused no more!",$58 + +_SavingEnergyText: + db 0,$5A,$4F + db "is saving energy!",$58 + +_UnleashedEnergyText: + db 0,$5A,$4F + db "unleashed energy!",$58 + +_ThrashingAboutText: + db 0,$5A,"'s",$4F + db "thrashing about!",$57 + +_AttackContinuesText: + db 0,$5A,"'s",$4F + db "attack continues!",$57 + +_CantMoveText: + db 0,$5A,$4F + db "can't move!",$58 + +_UnnamedText_3daa8: ; 0x89a29 + db $0, $5a, "'s", $4f + db "@" +; 0x89a29 + 5 bytes + +UnnamedText_89a2e: ; 0x89a2e + TX_RAM $cd6d + db $0, " is", $55 + db "disabled!", $58 +; 0x89a2e + 18 bytes = 0x89a40 + +UnnamedText_89a40: ; 0x89a40 + db $0, $5a, "@@" +; 0x89a40 + 4 bytes = 0x89a44 + +UnnamedText_89a44: ; 0x89a44 + db $0, $4f + db "used @@" +; 0x89a44 + 9 bytes = 0x89a4d + +UnnamedText_89a4d: ; 0x89a4d + db $0, $4f + db "used @@" +; 0x89a4d + 9 bytes = 0x89a56 + +UnnamedText_89a56: ; 0x89a56 + db $0, "instead,", $55 + db "@@ +; 0x89a56 + 12 bytes = 0x89a62 + +UnnamedText_89a62: ; 0x89a62 + TX_RAM $cf4b + db $0, "@" +; 0x89a62 + 5 bytes = 0x89a67 + +_UnnamedText_3db6c: ; 0x89a67 + db $0, "!", $57 +; 0x89a67 + 3 bytes + +_UnnamedText_3db71: ; 0x89a6a + db $0, "!", $57 +; 0x89a6a + 3 bytes + +_UnnamedText_3db76: ; 0x89a6d + db $0, "!", $57 +; 0x89a6d + 3 bytes + +_UnnamedText_3db7b: ; 0x89a70 + db $0, "!", $57 +; 0x89a70 + 3 bytes + +_UnnamedText_3db80: ; 0x89a73 + db $0, "!", $57 +; 0x89a73 + 3 bytes + +_UnnamedText_3dc42: ; 0x89a76 + db $0, $5a, "'s", $4f + db "attack missed!", $58 +; 0x89a76 + 19 bytes + +_UnnamedText_3dc47: ; 0x89a89 + db $0, $5a, $4f + db "kept going and", $55 + db "crashed!", $58 +; 0x89a89 + 27 bytes + +_UnnamedText_3dc4c: ; 0x89aa4 + db $0, $59, "'s", $4f + db "unaffected!", $58 +; 0x89aa4 + 16 bytes + +_UnnamedText_3dc57: ; 0x89ab4 + db $0, "It doesn't affect", $4f + db $59, "!", $58 +; 0x89ab4 + 21 bytes + +_UnnamedText_3dc7e: ; 0x89ac9 + db $0, "Critical hit!", $58 +; 0x89ac9 + 15 bytes + +_UnnamedText_3dc83: ; 0x89ad8 + db $0, "One-hit KO!", $58 +; 0x89ad8 + 13 bytes + +_UnnamedText_3ddb6: ; 0x89ae5 + TX_RAM $d009 + db $0, " is", $4f + db "loafing around.", $58 +; 0x89ae5 + 24 bytes + +_UnnamedText_3ddbb: ; 0x89afd + TX_RAM $d009 + db $0, " began", $4f + db "to nap!", $58 +; 0x89afd + 19 bytes + +_UnnamedText_3ddc0: ; 0x89b10 + TX_RAM $d009 + db $0, " won't", $4f + db "obey!", $58 +; 0x89b10 + 16 bytes + +_UnnamedText_3ddc5: ; 0x89b20 + TX_RAM $d009 + db $0, " turned", $4f + db "away!", $58 +; 0x89b20 + 18 bytes + +_UnnamedText_3ddca: ; 0x89b32 + TX_RAM $d009 + db $0, $4f + db "ignored orders!", $58 +; 0x89b32 + 21 bytes + +_SubstituteTookDamageText: ; 0x89b47 + db $0, "The SUBSTITUTE", $4f + db "took damage for", $55 + db $59, "!", $58 +; 0x89b47 + 35 bytes + +_SubstituteBrokeText: ; 0x89b6a + db $0, $59, "'s", $4f + db "SUBSTITUTE broke!", $58 +; 0x89b6a + 22 bytes + +_BuildingRageText: ; 0x89b80 + db $0, $5a, "'s", $4f + db "RAGE is building!", $58 +; 0x89b80 + 22 bytes + +_MirrorMoveFailedText: ; 0x89b96 + db $0, "The MIRROR MOVE", $4e, "failed!", $58 +; 0x89b96 + 25 bytes + +_UnnamedText_3e887: ; 0x89baf + db $0, "Hit @" +; 0x89baf + 6 bytes + +UnnamedText_89bb5: ; 0x89bb5 + TX_NUM $cd05, 1, 1 + db $0, " times!", $58 +; 0x89bb5 + 13 bytes = 0x89bc2 + +UnnamedText_89bc2: ; 0x89bc2 + TX_RAM $cd6d + db $0, " gained", $4f + db "@@" +; 0x89bc2 + 14 bytes = 0x89bd0 + +UnnamedText_89bd0: ; 0x89bd0 + db $0, "with EXP.ALL,", $55 + db "@@" +; 0x89bd0 + 17 bytes = 0x89be1 + +UnnamedText_89be1: ; 0x89be1 + db $0, "a boosted", $55 + db "@@" +_UnnamedText_554d8: + TX_NUM $cf4b, 2, 4 + db $0, " EXP. Points!", $58 +; 0x89be1 + 32 bytes = 0x89c01 + +UnnamedText_89c01: ; 0x89c01 + TX_RAM $cd6d + db $0, " grew", $4f + db "to level @" + TX_NUM $d127, 1, 3 + db $0, "!@@" +; 0x89c01 + 28 bytes = 0x89c1d + +_UnnamedText_58e3b: ; 0x89c1d + db $0, "Wild @" + TX_RAM $cfda + db $0, $4f + db "appeared!", $58 +; 0x89c1d + 22 bytes + +_UnnamedText_58e40: ; 0x89c33 + db $0, "The hooked", $4f + db "@" + TX_RAM $cfda + db $0, $55 + db "attacked!", $58 +; 0x89c33 + 28 bytes + +_UnnamedText_58e45: ; 0x89c4f + TX_RAM $cfda + db $0, $4f + db "appeared!", $58 +; 0x89c4f + 15 bytes + +_UnnamedText_58e4a: ; 0x89c5e + TX_RAM $d04a + db $0, " wants", $4f + db "to fight!", $58 +; 0x89c5e + 21 bytes + +_UnnamedText_58e4f: ; 0x89c73 + db $0, "SILPH SCOPE", $4f + db "unveiled the", $55 + db "GHOST's identity!", $58 +; 0x89c73 + 43 bytes + +_UnnamedText_58e54: ; 0x89c9e + db $0, "Darn! The GHOST", $4f + db "can't be ID'd!", $58 +; 0x89c9e + 30 bytes + +UnknownText_89cbc: ; 0x89cbc + db $0, "Go! @@" +; 0x89cbc + 7 bytes + db $0, "Do it! @@" +; 0x89cc3 + 10 bytes + db $0, "Get'm! @@" +; 0x89ccd + 9 bytes + +UnknownText_89cd6: ; 0x89cd6 + db $0, "The enemy's weak!", $4f + db "Get'm! @@" +; 0x89cd6 + 26 bytes + +_UnnamedText_58ecc: ; 0x89cf0 + TX_RAM $d009 + db $0, "!", $57 +; 0x89cf0 + 6 bytes + TX_RAM $d009 + db $0, " @@" + db $0, "enough!@@" +; 0x89cf0 + 23 bytes + +_UnnamedText_89d07: ; 0x8d907 + db $0, "OK!@@" +; 0x8d907 + 6 + +UnknownText_89d0d: ; 0x89d0d + db $0, "good!@@" +; 0x89d0d + 8 bytes + +_UnnamedText_58f3e: ; 0x89d15 + db $0, $4f + db "Come back!", $57 +; 0x89d15 + 13 bytes + +_UnnamedText_2fb8e: ; 0x89d22 + db $0, "It's super", $4f + db "effective!", $58 +; 0x89d22 + 22 bytes + +_UnnamedText_2fb93: ; 0x89d38 + db $0, "It's not very", $4f + db "effective...", $58 +; 0x89d38 + 27 bytes + +SafariZoneEatingText: ; 0x89d53 + db $0, "Wild @" + TX_RAM $cfda + db $0, $4f + db "is eating!", $58 +; 0x89d53 + 23 bytes + +SafariZoneAngryText: ; 0x89d6a + db $0, "Wild @" + TX_RAM $cfda + db $0, $4f + db "is angry!", $58 +; 0x89d6a + 22 bytes + +; money related +; XXX $2 BCD macro +; $2, pointer, byte +_UnnamedText_1386b: ; 0x89d80 + db $0, $52, " picked up", $4f + db $f0, "@" + db $2, $e5, $cc, $c3 + db $0, "!", $58 + +_UnnamedText_1c9c1: ; 0x89d96 + db $0, "Clear all saved", $4f + db "data?", $57 +; 0x89d96 + 23 bytes + +_UnnamedText_1ca14: ; 0x89dad + db $0, "Which floor do", $4f + db "you want? ", $57 +; 0x89dad + 27 bytes + +_UnnamedText_12e7f: ; 0x89dc8 + db $0, "Choose a #MON.", $57 +; 0x89dc8 + 16 bytes + +_UnnamedText_12e84: ; 0x89dd8 + db $0, "Use item on which", $4f + db "#MON?", $57 +; 0x89dd8 + 25 bytes + +_UnnamedText_12e89: ; 0x89df1 + db $0, "Bring out which", $4f + db "#MON?", $57 +; 0x89df1 + 23 bytes + +_UnnamedText_12e8e: ; 0x89e08 + db $0, "Use TM on which", $4f + db "#MON?", $57 +; 0x89e08 + 23 bytes + +_UnnamedText_12e93: ; 0x89e1f + db $0, "Move #MON", $4f + db "where?", $57 +; 0x89e1f + 18 bytes + +_UnnamedText_12e98: ; 0x89e31 + TX_RAM $cd6d + db $0, $4f + db "recovered by @" + TX_NUM $cefd, 2, 3 + db $0, "!", $57 +; 0x89e31 + 26 bytes + +_UnnamedText_12e9d: ; 0x89e4b + TX_RAM $cd6d + db $0, " was", $4f + db "cured of poison!", $57 +; 0x89e4b + 26 bytes + +_UnnamedText_12ea2: ; 0x89e65 + TX_RAM $cd6d + db $0, "'s", $4f + db "rid of paralysis!", $57 +; 0x89e65 + 24 bytes + +_UnnamedText_12ea7: ; 0x89e7d + TX_RAM $cd6d + db $0, "'s", $4f + db "burn was healed!", $57 +; 0x89e7d + 23 bytes + +_UnnamedText_12eac: ; 0x89e94 + TX_RAM $cd6d + db $0, " was", $4f + db "defrosted!", $57 +; 0x89e94 + 20 bytes + +_UnnamedText_12eb1: ; 0x89ea8 + TX_RAM $cd6d + db $0, $4f + db "woke up!", $57 +; 0x89ea8 + 14 bytes + +_UnnamedText_12eb6: ; 0x89eb6 + TX_RAM $cd6d + db $0, "'s", $4f + db "health returned!", $57 +; 0x89eb6 + 23 bytes + +_UnnamedText_12ebb: ; 0x89ecd + TX_RAM $cd6d + db $0, $4f + db "is revitalized!", $57 +; 0x89ecd + 21 bytes + +LevelUpText: ; 0x89ee2 + TX_RAM $cd6d + db $0, " grew", $4f + db "to level @" + TX_NUM $d127, $1,$3 + db $0, "!@@" +; 0x89ee2 + 28 bytes + +_UnnamedText_17f23: ; 0x89efe + db $0, $52, " turned on", $4f + db "the PC.", $58 +; 0x89efe + 21 bytes + +_UnnamedText_17f28: ; 0x89f13 + db $0, "Accessed BILL's", $4f + db "PC.", $51 + db "Accessed #MON", $4f + db "Storage System.", $58 +; 0x89f13 + 50 bytes + +_UnnamedText_17f2d: ; 0x89f45 + db $0, "Accessed someone's", $4f + db "PC.", $51 + db "Accessed #MON", $4f + db "Storage System.", $58 +; 0x89f45 + 53 bytes + +_UnnamedText_17f32: ; 0x89f7a + db $0, "Accessed my PC.", $51 + db "Accessed Item", $4f + db "Storage System.", $58 +; 0x89f7a + 47 bytes + +_UnnamedText_7b22: ; 0x89fa9 + db $0, $52, " turned on", $4f + db "the PC.", $58 +; 0x89fa9 + 21 bytes + +_UnnamedText_7b27: ; 0x89fbe + db $0, "What do you want", $4f + db "to do?", $57 +; 0x89fbe + 25 bytes + +_UnnamedText_7b2c: ; 0x89fd7 + db $0, "What do you want", $4f + db "to deposit?", $57 +; 0x89fd7 + 30 bytes + +_UnnamedText_7b31: ; 0x89ff5 + db $0, "How many?", $57 +; 0x89ff5 + 11 bytes + +_UnnamedText_7b36: ; 0x8a000 + TX_RAM $cd6d + db $0, " was", $4f + db "stored via PC.", $58 +; 0x8a000 + 24 bytes + +_UnnamedText_7b3b: ; 0x8a018 + db $0, "You have nothing", $4f + db "to deposit.", $58 +; 0x8a018 + 30 bytes + +_UnnamedText_7b40: ; 0x8a036 + db $0, "No room left to", $4f + db "store items.", $58 +; 0x8a036 + 30 bytes + +_UnnamedText_7b45: ; 0x8a054 + db $0, "What do you want", $4f + db "to withdraw?", $57 +; 0x8a054 + 31 bytes + +_UnnamedText_7b4a: ; 0x8a073 + db $0, "How many?", $57 +; 0x8a073 + 11 bytes + +_UnnamedText_7b4f: ; 0x8a07e + db $0, "Withdrew", $4f + db "@" + TX_RAM $cd6d + db $0, ".", $58 +; 0x8a07e + 17 bytes + +_UnnamedText_7b54: ; 0x8a08f + db $0, "There is nothing", $4f + db "stored.", $58 +; 0x8a08f + 26 bytes + +_UnnamedText_7b59: ; 0x8a0a9 + db $0, "You can't carry", $4f + db "any more items.", $58 +; 0x8a0a9 + 32 bytes + +_UnnamedText_7b5e: ; 0x8a0c9 + db $0, "What do you want", $4f + db "to toss away?", $57 +; 0x8a0c9 + 32 bytes + +_UnnamedText_7b63: ; 0x8a0e9 + db $0, "How many?", $57 +; 0x8a0e9 + 11 bytes + +_UnnamedText_76683: ; 0x8a0f4 + db $0, "Accessed #MON", $4f + db "LEAGUE's site.", $51 + db "Accessed the HALL", $4f + db "OF FAME List.", $58 +; 0x8a0f4 + 61 bytes + +_UnnamedText_217e9: ; 0x8a131 + db $0, "Switch on!", $58 +; 0x8a131 + 12 bytes + +_UnnamedText_217ee: ; 0x8a13d + db $0, "What?", $57 +; 0x8a13d + 7 bytes + +_UnnamedText_217f3: ; 0x8a144 + db $0, "Deposit which", $4f + db "#MON?", $57 +; 0x8a144 + 21 bytes + +_UnnamedText_217f8: ; 0x8a159 + TX_RAM $cf4b + db $0, " was", $4f + db "stored in Box @" + TX_RAM $cd3d + db $0, ".", $58 +; 30 bytes + +_UnnamedText_217fd: ; 0x8a177 + db $0, "You can't deposit", $4f + db "the last #MON!", $58 +; 0x8a177 + 33 bytes + +_UnnamedText_21802: ; 0x8a198 + db $0, "Oops! This Box is", $4f + db "full of #MON.", $58 +; 0x8a198 + 33 bytes + +_UnnamedText_21807: ; 0x8a1b9 + TX_RAM $cf4b + db $0, " is", $4f + db "taken out.", $55 + db "Got @" +; 0x8a1b9 + 24 bytes +UnknownText_8a1d1: ; 0x8a1d1 + TX_RAM $cf4b + db $0, ".", $58 +; 0x8a1d1 + 6 bytes + +_UnnamedText_2180c: ; 0x8a1d7 + db $0, "What? There are", $4f + db "no #MON here!", $58 +; 0x8a1d7 + 31 bytes + +_UnnamedText_21811: ; 0x8a1f6 + db $0, "You can't take", $4f + db "any more #MON.", $51 + db "Deposit #MON", $4f + db "first.", $58 +; 0x8a1f6 + 50 bytes + +_UnnamedText_21816: ; 0x8a228 + db $0, "Release which", $4f + db "#MON?", $57 +; 0x8a228 + 21 bytes + +_UnnamedText_2181b: ; 0x8a23d + db $0, "Once released,", $4f + db "@" +; 0x8a23d + 17 bytes + +UnknownText_8a24e: ; 0x8a24e + TX_RAM $cf4b + db $0, " is", $55 + db "gone forever. OK?", $57 +; 0x8a24e + 26 bytes + +_UnnamedText_21820: ; 0x8a268 + TX_RAM $cf4b + db $0, " was", $4f + db "released outside.", $55 + db "Bye @" +; 0x8a268 + 32 bytes + +_UnnamedText_8a288: ; 0x8a288 + TX_RAM $cf4b + db $0, "!", $58 + +_RequireCoinCaseText: ; 22:628E + db 0,"A COIN CASE is",$4F + db "required!@@" + +_ExchangeCoinsForPrizesText: ; 22:62A9 + db 0,"We exchange your",$4F + db "coins for prizes.",$58 + +_WhichPrizeText: ; 22:62CD + db 0,"Which prize do",$4F + db "you want?",$57 + +_HereYouGoText: ; 22:62E7 + db 0,"Here you go!@@" + +_SoYouWantPrizeText: ; 22:62F6 + db 0,"So, you want",$4F + db "@" + db 1 + dw $CD6D + db 0,"?",$57 + +_SorryNeedMoreCoins: ; 22:630B + db 0,"Sorry, you need",$4F + db "more coins.@@" + +_OopsYouDontHaveEnoughRoomText: ; 22:6329 + db 0,"Oops! You don't",$4F + db "have enough room.@@" + +_OhFineThenText: ; 22:634C + db 0,"Oh, fine then.@@" +;635d + +_UnnamedText_1e93b: ; 0x8a35d + db $0, "Want to get your", $4f + db "#DEX rated?", $57 +; 0x8a35d + 30 bytes + +UnknownText_8a37b: ; 0x8a37b + db $0, "Closed link to", $4f + db "PROF.OAK's PC.@@" +; 0x8a37b + 31 bytes + +_UnnamedText_1e946: ; 0x8a39a + db $0, "Accessed PROF.", $4f + db "OAK's PC.", $51 + db "Accessed #DEX", $4f + db "Rating System.", $58 +; 0x8a39a + 54 bytes + +_UnnamedText_5d43: ; 0x8a3d0 + db $0, "Where would you", $4f + db "like to go?", $57 +; 0x8a3d0 + 29 bytes + +_UnnamedText_5d48: ; 0x8a3ed + db $0, "OK, please wait", $4f + db "just a moment.", $57 +; 0x8a3ed + 32 bytes + +_UnnamedText_5d4d: ; 0x8a40d + db $0, "The link was", $4f + db "canceled.", $57 +; 0x8a40d + 24 bytes + +INCLUDE "text/oakspeech.tx" + +_UnnamedText_6557: ; 0x8a605 + db $0, "Do you want to", $4f + db "give a nickname", $55 + db "to @" +; 0x8a605 + 36 bytes + +UnknownText_8a629: ; 0x8a629 + TX_RAM $cd6d + db $0, "?", $57 +; 0x8a629 + 6 bytes + +_UnnamedText_699f: ; 0x8a62f + db $0, "Right! So your", $4f + db "name is ", $52, "!", $58 +; 0x8a62f + 27 bytes + +_UnnamedText_69e7: ; 0x8a64a + db $0, "That's right! I", $4f + db "remember now! His", $55 + db "name is ", $53, "!", $58 +; 0x8a64a + 45 bytes + +_UnnamedText_5a24: ; 0x8a677 + TX_RAM $cd3f + db $0, " and", $4f + db "@" +; 0x8a677 + 10 bytes + +UnknownText_8a681: ; 0x8a681 + TX_RAM $cd6d + db $0, " will", $55 + db "be traded.", $57 +; 0x8a681 + 21 bytes + +_Char00Text: + TX_NUM $FF8C,1,2 + db 0," ERROR.",$57 + +_Char55Text: + db 0,$4B,"@@" + +_DiglettsCaveRoute2Text1: ; 0x8a6a7 + db $0, "I went to ROCK", $4f + db "TUNNEL, but it's", $55 + db "dark and scary.", $51 + db "If a #MON's", $4f + db "FLASH could light", $55 + db "it up...", $57 + +_ViridianForestexitText1: ; 0x8a6fd + db $0, "Many #MON live", $4f + db "only in forests ", $55 + db "and caves.", $51 + db "You need to look", $4f + db "everywhere to get", $55 + db "different kinds!", $57 + +_ViridianForestexitText2: ; 0x8a75d + db $0, "Have you noticed", $4f + db "the bushes on the", $55 + db "roadside?", $51 + db "They can be cut", $4f + db "down by a special", $55 + db "#MON move.", $57 + +_Route2HouseText1: ; 0x8a7b8 + db $0, "A fainted #MON", $4f + db "can't fight. But, ", $55 + db "it can still use ", $55 + db "moves like CUT!", $57 + +_UnnamedText_5d616: ; 0x8a7fc + db $0, "The HM FLASH", $4f + db "lights even the", $55 + db "darkest dungeons.", $57 +; 0x8a7fc + 48 bytes + +_Route2GateText2: ; 0x8a82c + db $0, "Once a #MON", $4f + db "learns FLASH, you", $55 + db "can get through", $55 + db "ROCK TUNNEL.", $57 + +_ViridianForestEntranceText1: ; 0x8a868 + db $0, "Are you going to", $4f + db "VIRIDIAN FOREST?", $55 + db "Be careful, it's", $55 + db "a natural maze!", $57 + +_ViridianForestEntranceText2: ; 0x8a8ab + db $0, "RATTATA may be", $4f + db "small, but its", $55 + db "bite is wicked!", $55 + db "Did you get one?", $57 + +_MtMoonPokecenterText1: ; 0x8a8eb + db $0, "I've 6 # BALLs", $4f + db "set in my belt.", $51 + db "At most, you can", $4f + db "carry 6 #MON.", $57 + +_MtMoonPokecenterText3: ; 0x8a929 + db $0, "TEAM ROCKET", $4f + db "attacks CERULEAN", $55 + db "citizens...", $51 + db "TEAM ROCKET is", $4f + db "always in the", $55 + db "news!", $57 + +_UnnamedText_4935c: ; 0x8a976 + db $0, "MAN: Hello, there!", $4f + db "Have I got a deal", $55 + db "just for you!", $51 + db "I'll let you have", $4f + db "a swell MAGIKARP", $55 + db "for just ", $f0, "500!", $55 + db "What do you say?", $57 +; 0x8a976 + 118 bytes + +_UnnamedText_49361: ; 0x8a9ec + db $0, "No? I'm only", $4f + db "doing this as a", $55 + db "favor to you!", $57 +; 0x8a9ec + 43 bytes + +_UnnamedText_49366: ; 0x8aa17 + db $0, "You'll need more", $4f + db "money than that!", $57 +; 0x8aa17 + 34 bytes + +_UnnamedText_4936b: ; 0x8aa39 + db $0, "MAN: Well, I don't", $4f + db "give refunds!", $57 +; 0x8aa39 + 33 bytes + +_MtMoonPokecenterText5: ; 0x8aa5a + db $0, $57 + +_UnnamedText_1dfe7: ; 0x8aa5c + db $0, "I'm on guard duty.", $4f + db "Gee, I'm thirsty,", $55 + db "though!", $51 + db "Oh wait there,", $4f + db "the road's closed.", $57 +; 0x8aa5c + 77 bytes + +_UnnamedText_8aaa9: ; 0x8aaa9 + db $0, "Whoa, boy!", $4f + db "I'm parched!", $55 + db "...", $55 + db "Huh? I can have", $55 + db "this drink?", $55 + db "Gee, thanks!@@" +; 0x8aaa9 + 70 bytes + +_UnnamedText_1dff1: ; 0x8aaef + db $0, $51 + db "...", $4f + db "Glug glug...", $55 + db "...", $55 + db "Gulp...", $55 + db "If you want to go", $55 + db "to SAFFRON CITY...", $55 + db "...", $55 + db "You can go on", $55 + db "through. I'll", $55 + db "share this with", $55 + db "the other guards!", $57 +; 0x8aaef + 133 bytes + +_UnnamedText_1dff6: ; 0x8ab74 + db $0, "Hi, thanks for", $4f + db "the cool drinks!", $57 +; 0x8ab74 + 33 bytes + +_UnnamedText_5640f: ; 0x8ab95 + db $0, "I run a DAYCARE.", $4f + db "Would you like me", $55 + db "to raise one of", $55 + db "your #MON?", $57 +; 0x8ab95 + 63 bytes + +_UnnamedText_56414: ; 0x8abd4 + db $0, "Which #MON", $4f + db "should I raise?", $58 +; 0x8abd4 + 28 bytes + +_UnnamedText_56419: ; 0x8abf0 + db $0, "Fine, I'll look", $4f + db "after @" +; 0x8abf0 + 23 bytes + +UnknownText_8ac07: ; 0x8ac07 + TX_RAM $cd6d + db $0, $55 + db "for a while.", $58 +; 0x8ac07 + 18 bytes + +_UnnamedText_5641e: ; 0x8ac19 + db $0, "Come see me in", $4f + db "a while.", $57 +; 0x8ac19 + 25 bytes + +_UnnamedText_56423: ; 0x8ac32 + db $0, "Your @" +; 0x8ac32 + 7 bytes + +UnknownText_8ac39: ; 0x8ac39 + TX_RAM $cd6d + db $0, $4f + db "has grown a lot!", $51 + db "By level, it's", $4f + db "grown by @" +; 0x8ac39 + 46 bytes + +UnknownText_8ac67: ; 0x8ac67 + TX_NUM $cd3e,$1,$3 + db $0, "!", $51 + db "Aren't I great?", $58 +; 0x8ac67 + 22 bytes + +_UnnamedText_56428: ; 0x8ac7d + db $0, "You owe me ", $f0, "@" +; 0x8ac7d + 14 bytes + +;XXX +; 0x8ac8b +db $2, $3f, $cd, $c2 + +UnknownText_8ac8f: ; 0x8ac8f + db $0, $4f + db "for the return", $55 + db "of this #MON.", $57 +; 0x8ac8f + 31 bytes + +_UnnamedText_5642d: ; 0x8acae + db $0, $52, " got", $4f + db "@" +; 0x8acae + 8 bytes + +UnknownText_8acb6: ; 0x8acb6 + TX_RAM $da49 + db $0, " back!", $57 +; 0x8acb6 + 11 bytes + +_UnnamedText_56432: ; 0x8acc1 + db $0, "Back already?", $4f + db "Your @" +; 0x8acc1 + 21 bytes + +UnknownText_8acd6: ; 0x8acd6 + TX_RAM $cd6d + db $0, $55 + db "needs some more", $55 + db "time with me.", $58 +; 0x8acd6 + 35 bytes + +SECTION "bank23",DATA,BANK[$23] + +_UnnamedText_56437: ; 0x8c000 + db $0, "All right then,", $4f + db "@@" +; 0x8c000 + 19 bytes + +_UnnamedText_5643b: ; 0x8c013 + db $0, "come again.", $57 +; 0x8c013 + 13 bytes + +_UnnamedText_56440: ; 0x8c020 + db $0, "You have no room", $4f + db "for this #MON!", $57 +; 0x8c020 + 33 bytes + +_UnnamedText_56445: ; 0x8c041 + db $0, "You only have one", $4f + db "#MON with you.", $57 +; 0x8c041 + 34 bytes + +_UnnamedText_5644a: ; 0x8c063 + db $0, "I can't accept a", $4f + db "#MON that", $55 + db "knows an HM move.", $57 +; 0x8c063 + 45 bytes + +_UnnamedText_5644f: ; 0x8c090 + db $0, "Thank you! Here's", $4f + db "your #MON!", $58 +; 0x8c090 + 29 bytes + +_UnnamedText_56454: ; 0x8c0ad + db $0, "Hey, you don't", $4f + db "have enough ", $f0, "!", $57 +; 0x8c0ad + 30 bytes + +_UndergroundTunnelEntranceRoute6Text1: ; 0x8c0cb + db $0, "People often lose", $4f + db "things in that", $55 + db "UNDERGROUND PATH.", $57 + +_UndergroundPathEntranceRoute7Text1: ; 0x8c0ff + db $0, "I heard a sleepy", $4f + db "#MON appeared", $55 + db "near CELADON CITY.", $57 + +_UnnamedText_5d773: ; 0x8c132 + db $0, "I want to shop at", $4f + db "the dept. store", $55 + db "in CELADON but...", $51 + db "There are so many", $4f + db "rough looking", $55 + db "people there.", $57 +; 0x8c132 + 99 bytes + +_UnnamedText_5d778: ; 0x8c195 + db $0, "TEAM ROCKET had a", $4f + db "secret hideout in", $55 + db "CELADON CITY?", $57 +; 0x8c195 + 51 bytes + +_UnnamedText_5d77d: ; 0x8c1c8 + db $0, "You're here to", $4f + db "shop in CELADON?", $51 + db "Just step outside", $4f + db "and head west!", $57 +; 0x8c1c8 + 65 bytes + +_UnnamedText_5d782: ; 0x8c209 + db $0, "The UNDERGROUND", $4f + db "PATH goes beneath", $55 + db "SAFFRON and leads", $55 + db "to LAVENDER.", $51 + db "If you're heading", $4f + db "to CERULEAN, go", $55 + db "to the building", $55 + db "across the road.", $57 +; 0x8c209 + 132 bytes + +_UndergroundPathEntranceRoute8Text1: ; 0x8c28d + db $0, "The dept. store", $4f + db "in CELADON has a", $55 + db "great selection!", $57 + +_RockTunnelPokecenterText1: ; 0x8c2c0 + db $0, "The element types", $4f + db "of #MON make", $55 + db "them stronger", $55 + db "than some types", $55 + db "and weaker than", $55 + db "others!", $57 + +_RockTunnelPokecenterText3: ; 0x8c316 + db $0, "I sold a useless", $4f + db "NUGGET for ", $f0, "5000!", $57 + +_UnnamedText_44588: ; 0x8c33a + db $0, "This tunnel goes", $4f + db "a long way, kid!", $57 +; 0x8c33a + 35 bytes + +_UnnamedText_4458d: ; 0x8c35d + db $0, "Doh!", $4f + db "You win!", $58 +; 0x8c35d + 15 bytes + +_UnnamedText_44592: ; 0x8c36c + db $0, "Watch for ONIX!", $4f + db "It can put the", $55 + db "squeeze on you!", $57 +; 0x8c36c + 48 bytes + +_UnnamedText_44597: ; 0x8c39c + db $0, "Hmm. Maybe I'm", $4f + db "lost in here...", $57 +; 0x8c39c + 31 bytes + +_UnnamedText_4459c: ; 0x8c3bb + db $0, "Ease up!", $4f + db "What am I doing?", $55 + db "Which way is out?", $58 +; 0x8c3bb + 45 bytes + +_UnnamedText_445a1: ; 0x8c3e8 + db $0, "That sleeping", $4f + db "#MON on ROUTE", $55 + db "12 forced me to", $55 + db "take this detour.", $57 +; 0x8c3e8 + 63 bytes + +_UnnamedText_445a6: ; 0x8c427 + db $0, "Outsiders like", $4f + db "you need to show", $55 + db "me some respect!", $57 +; 0x8c427 + 50 bytes + +_UnnamedText_445ab: ; 0x8c459 + db $0, "I give!", $58 +; 0x8c459 + 9 bytes + +_UnnamedText_445b0: ; 0x8c462 + db $0, "You're talented", $4f + db "enough to hike!", $57 +; 0x8c462 + 32 bytes + +_UnnamedText_445b5: ; 0x8c482 + db $0, "#MON fight!", $4f + db "Ready, go!", $57 +; 0x8c482 + 24 bytes + +_UnnamedText_445ba: ; 0x8c49a + db $0, "Game", $4f + db "over!", $58 +; 0x8c49a + 12 bytes + +_UnnamedText_445bf: ; 0x8c4a6 + db $0, "Oh well, I'll get", $4f + db "a ZUBAT as I go!", $57 +; 0x8c4a6 + 35 bytes + +_UnnamedText_445c4: ; 0x8c4c9 + db $0, "Eek! Don't try", $4f + db "anything funny in", $55 + db "the dark!", $57 +; 0x8c4c9 + 43 bytes + +_UnnamedText_445c9: ; 0x8c4f4 + db $0, "It", $4f + db "was too dark!", $58 +; 0x8c4f4 + 18 bytes + +_UnnamedText_445ce: ; 0x8c506 + db $0, "I saw a MACHOP", $4f + db "in this tunnel!", $57 +; 0x8c506 + 32 bytes + +_UnnamedText_445d3: ; 0x8c526 + db $0, "I came this far", $4f + db "for #MON!", $57 +; 0x8c526 + 27 bytes + +_UnnamedText_445d8: ; 0x8c541 + db $0, "I'm", $4f + db "out of #MON!", $58 +; 0x8c541 + 17 bytes + +_UnnamedText_445dd: ; 0x8c552 + db $0, "You looked cute", $4f + db "and harmless!", $57 +; 0x8c552 + 31 bytes + +_UnnamedText_445e2: ; 0x8c571 + db $0, "You have #MON!", $4f + db "Let's start!", $57 +; 0x8c571 + 28 bytes + +_UnnamedText_445e7: ; 0x8c58d + db $0, "You", $4f + db "play hard!", $58 +; 0x8c58d + 16 bytes + +_UnnamedText_445ec: ; 0x8c59d + db $0, "Whew! I'm all", $4f + db "sweaty now!", $57 +; 0x8c59d + 26 bytes + +_RockTunnel1Text8: ; 0x8c5b7 + db $0, "ROCK TUNNEL", $4f + db "CERULEAN CITY -", $55 + db "LAVENDER TOWN", $57 + +_UnnamedText_1e3aa: ; 0x8c5e2 + db $0, "Bzzzt!", $57 +; 0x8c5e2 + 8 bytes + +_UnnamedText_1e3af: ; 0x8c5ea + db $0, "Gyaoo!@@" +; 0x8c5ea + 9 bytes + +_Route11GateText1: ; 0x8c5f3 + db $0, "When you catch", $4f + db "lots of #MON,", $55 + db "isn't it hard to", $55 + db "think up names?", $51 + db "In LAVENDER TOWN,", $4f + db "there's a man who", $55 + db "rates #MON", $55 + db "nicknames.", $51 + db "He'll help you", $4f + db "rename them too!", $57 + +_UnnamedText_494a3: ; 0x8c689 + db $0, "There are items on", $4f + db "the ground that", $55 + db "can't be seen.", $51 + db "ITEMFINDER will", $4f + db "detect an item", $55 + db "close to you.", $51 + db "It can't pinpoint", $4f + db "it, so you have", $55 + db "to look yourself!", $57 +; 0x8c689 + 146 bytes + +_UnnamedText_494c4: ; 0x8c71b + db $0, "Looked into the", $4f + db "binoculars.", $51 + db "A big #MON is", $4f + db "asleep on a road!", $57 +; 0x8c71b + 61 bytes + +_UnnamedText_494c9: ; 0x8c758 + db $0, "Looked into the", $4f + db "binoculars.", $51 + db "It's a beautiful", $4f + db "view!", $57 +; 0x8c758 + 51 bytes + +_UnnamedText_494d5: ; 0x8c78b + db $0, "Looked into the", $4f + db "binoculars.", $51 + db "The only way to", $4f + db "get from CERULEAN", $55 + db "CITY to LAVENDER", $55 + db "is by way of the", $55 + db "ROCK TUNNEL.", $57 +; 0x8c78b + 110 bytes + +_DiglettsCaveEntranceRoute11Text1: ; 0x8c7f9 + db $0, "What a surprise!", $4f + db "DIGLETTs dug this", $55 + db "long tunnel!", $51 + db "It goes right to", $4f + db "VIRIDIAN CITY!", $57 + +_Route12GateText1: ; 0x8c84a + db $0, "There's a lookout", $4f + db "spot upstairs.", $57 + +_UnnamedText_4959c: ; 0x8c86b + db $0, "My #MON's", $4f + db "ashes are stored", $55 + db "in #MON TOWER.", $51 + db "You can have this", $4f + db "TM. I don't need", $55 + db "it any more...", $58 +; 0x8c86b + 91 bytes + +_ReceivedTM39Text: ; 0x8c8c6 + db $0, $52, " received", $4f + db "TM39!@@" +; 0x8c8c6 + 19 bytes + +_UnnamedText_495a7: ; 0x8c8d9 + db $0, "TM39 is a move", $4f + db "called SWIFT.", $51 + db "It's very accurate,", $4f + db "so use it during", $55 + db "battles you can't", $55 + db "afford to lose.", $57 +; 0x8c8d9 + 99 bytes + +_UnnamedText_495ac: ; 0x8c93c + db $0, "You don't have", $4f + db "room for this.", $57 +; 0x8c93c + 30 bytes + +_UnnamedText_495b8: ; 0x8c95a + db $0, "Looked into the", $4f + db "binoculars.", $51 + db "A man fishing!", $57 +; 0x8c95a + 44 bytes + +_UnnamedText_495c4: ; 0x8c986 + db $0, "Looked into the", $4f + db "binoculars.", $51 + db "It's #MON TOWER!", $57 +; 0x8c986 + 45 bytes + +_UnnamedText_564c0: ; 0x8c9b3 + db $0, "I'm the FISHING", $4f + db "GURU's brother!", $51 + db "I simply Looove", $4f + db "fishing!", $51 + db "Do you like to", $4f + db "fish?", $57 +; 0x8c9b3 + 77 bytes + +_UnnamedText_564c5: ; 0x8ca00 + db $0, "Grand! I like", $4f + db "your style!", $51 + db "Take this and", $4f + db "fish, young one!", $51 + db $52, " received", $4f + db "a @" +; 0x8ca00 + 72 bytes + +UnknownText_8ca48: ; 0x8ca48 + TX_RAM $cf4b + db $0, "!@@" +; 0x8ca48 + 7 bytes + +_UnnamedText_564ca: ; 0x8ca4f + db $0, $51 + db "Fishing is a way", $4f + db "of life!", $51 + db "From the seas to", $4f + db "rivers, go out", $55 + db "and land the big", $55 + db "one!", $57 +; 0x8ca4f + 82 bytes + +_UnnamedText_564cf: ; 0x8caa1 + db $0, "Oh... That's so", $4f + db "disappointing...", $57 +; 0x8caa1 + 33 bytes + +_UnnamedText_564d4: ; 0x8cac2 + db $0, "Hello there,", $4f + db $52, "!", $51 + db "Use the SUPER ROD", $4f + db "in any water!", $55 + db "You can catch", $55 + db "different kinds", $55 + db "of #MON.", $51 + db "Try fishing", $4f + db "wherever you can!", $57 +; 0x8cac2 + 118 bytes + +_UnnamedText_564d9: ; 0x8cb38 + db $0, "Oh no!", $51 + db "I had a gift for", $4f + db "you, but you have", $55 + db "no room for it!", $57 +; 0x8cb38 + 59 bytes + +_Route15GateText1: ; 0x8cb73 + db $0, "Are you working", $4f + db "on a #DEX?", $51 + db "PROF.OAK's AIDE", $4f + db "came by here.", $57 + +_UnnamedText_4968c: ; 0x8cbac + db $0, "EXP.ALL gives", $4f + db "EXP points to all", $55 + db "the #MON with", $55 + db "you, even if they", $55 + db "don't fight.", $51 + db "It does, however,", $4f + db "reduce the amount", $55 + db "of EXP for each", $55 + db "#MON.", $51 + db "If you don't need", $4f + db "it, you should ", $55 + db "store it via PC.", $57 +; 0x8cbac + 185 bytes + +_UnnamedText_49698: ; 0x8cc65 + db $0, "Looked into the", $4f + db "binoculars.", $51 + db "It looks like a", $4f + db "small island!", $57 +; 0x8cc65 + 59 bytes + +_UnnamedText_49777: ; 0x8cca0 + db $0, "No pedestrians", $4f + db "are allowed on", $55 + db "CYCLING ROAD!", $57 +; 0x8cca0 + 45 bytes + +_UnnamedText_4977c: ; 0x8cccd + db $0, "CYCLING ROAD is a", $4f + db "downhill course", $55 + db "by the sea. It's", $55 + db "a great ride.", $57 +; 0x8cccd + 65 bytes + +_UnnamedText_49781: ; 0x8cd0e + db $0, "Excuse me! Wait", $4f + db "up please!", $57 +; 0x8cd0e + 28 bytes + +_Route16GateMapText2: ; 0x8cd2a + db $0, "How'd you get in?", $4f + db "Good effort!", $57 + +_UnnamedText_49820: ; 0x8cd49 + db $0, "I'm going for a", $4f + db "ride with my girl", $55 + db "friend!", $57 +; 0x8cd49 + 42 bytes + +_UnnamedText_4982f: ; 0x8cd73 + db $0, "We're going", $4f + db "riding together!", $57 +; 0x8cd73 + 29 bytes + +_UnnamedText_4983b: ; 0x8cd90 + db $0, "Looked into the", $4f + db "binoculars.", $51 + db "It's CELADON DEPT.", $4f + db "STORE!", $57 +; 0x8cd90 + 54 bytes + +_UnnamedText_49847: ; 0x8cdc6 + db $0, "Looked into the", $4f + db "binoculars.", $51 + db "There's a long", $4f + db "path over water!", $57 +; 0x8cdc6 + 60 bytes + +_Route16HouseText3: ; 0x8ce02 + db $0, "Oh, you found my", $4f + db "secret retreat!", $51 + db "Please don't tell", $4f + db "anyone I'm here.", $55 + db "I'll make it up", $55 + db "to you with this!", $58 +; 0x8ce02 + 100 bytes + +_ReceivedHM02Text: ; 0x8ce66 + db $0, $52, " received", $4f + db "HM02!@@" +; 0x8ce66 + 19 bytes + +_HM02ExplanationText: ; 0x8ce79 + db $0, "HM02 is FLY.", $4f + db "It will take you", $55 + db "back to any town.", $51 + db "Put it to good", $4f + db "use!", $57 +; 0x8ce79 + 69 bytes + +_HM02NoRoomText: ; 0x8cebe + db $0, "You don't have any", $4f + db "room for this.", $57 +; 0x8cebe + 34 bytes + +_UnnamedText_1e652: ; 0x8cee0 + db $0, "FEAROW: Kyueen!", $57 +; 0x8cee0 + 17 bytes + +_UnnamedText_49928: ; 0x8cef1 + db $0, "You need a BICYCLE", $4f + db "for CYCLING ROAD!", $57 +; 0x8cef1 + 38 bytes + +_UnnamedText_4992d: ; 0x8cf17 + db $0, "CYCLING ROAD is", $4f + db "all uphill from", $55 + db "here.", $57 +; 0x8cf17 + 39 bytes + +_UnnamedText_49932: ; 0x8cf3e + db $0, "Excuse me!", $57 +; 0x8cf3e + 12 bytes + +_UnnamedText_49993: ; 0x8cf4a + db $0, "Looked into the", $4f + db "binoculars.", $51 + db "PALLET TOWN is in", $4f + db "the west!", $57 +; 0x8cf4a + 57 bytes + +_UnnamedText_4999f: ; 0x8cf83 + db $0, "Looked into the", $4f + db "binoculars.", $51 + db "There are people", $4f + db "swimming!", $57 +; 0x8cf83 + 56 bytes + +_UnnamedText_1e704: ; 0x8cfbb + db $0, "Only truly skilled", $4f + db "trainers are", $55 + db "allowed through.", $51 + db "You don't have the", $4f + db "BOULDERBADGE yet!@@" +; 0x8d012 + +_UnnamedText_1e715: ; 0x8d012 + db $0, $51 + db "The rules are", $4f + db "rules. I can't", $55 + db "let you pass.", $57 +; 0x8d012 + 44 bytes + +_UnnamedText_1e71a: ; 0x8d03e + db $0, "Oh! That is the", $4f + db "BOULDERBADGE!", $55 + db "Go right ahead!@@" +; 0x8d03e + 48 bytes + +_UnnamedText_518ba: ; 0x8d06e + db $0, "Gyaoo!@@" +; 0x8d06e + 9 bytes + +_UnnamedText_518ca: ; 0x8d077 + db $0, "VICTORY ROAD is", $4f + db "the final test", $55 + db "for trainers!", $57 +; 0x8d077 + 46 bytes + +_UnnamedText_518cf: ; 0x8d0a5 + db $0, "Aiyah!", $58 +; 0x8d0a5 + 8 bytes + +_UnnamedText_518d4: ; 0x8d0ad + db $0, "If you get stuck,", $4f + db "try moving some", $55 + db "boulders around!", $57 +; 0x8d0ad + 52 bytes + +_UnnamedText_518d9: ; 0x8d0e1 + db $0, "Ah, so you wish", $4f + db "to challenge the", $55 + db "ELITE FOUR?", $57 +; 0x8d0e1 + 46 bytes + +_UnnamedText_518de: ; 0x8d10f + db $0, "You", $4f + db "got me!", $58 +; 0x8d10f + 13 bytes + +_UnnamedText_518e3: ; 0x8d11c + db $0, $53, " also came", $4f + db "through here!", $57 +; 0x8d11c + 27 bytes + +_UnnamedText_518e8: ; 0x8d137 + db $0, "Come on!", $4f + db "I'll whip you!", $57 +; 0x8d137 + 24 bytes + +_UnnamedText_518ed: ; 0x8d14f + db $0, "I got", $4f + db "whipped!", $58 +; 0x8d14f + 16 bytes + +_UnnamedText_518f2: ; 0x8d15f + db $0, "You earned the", $4f + db "right to be on", $55 + db "VICTORY ROAD!", $57 +; 0x8d15f + 45 bytes + +_UnnamedText_518f7: ; 0x8d18c + db $0, "If you can get", $4f + db "through here, you", $55 + db "can go meet the", $55 + db "ELITE FOUR!", $57 +; 0x8d18c + 62 bytes + +_UnnamedText_518fc: ; 0x8d1ca + db $0, "No!", $4f + db "Unbelievable!", $58 +; 0x8d1ca + 19 bytes + +_UnnamedText_51901: ; 0x8d1dd + db $0, "I can beat you", $4f + db "when it comes to", $55 + db "knowledge about", $55 + db "#MON!", $57 +; 0x8d1dd + 55 bytes + +_UnnamedText_51906: ; 0x8d214 + db $0, "Is VICTORY ROAD", $4f + db "too tough?", $57 +; 0x8d214 + 28 bytes + +_UnnamedText_5190b: ; 0x8d230 + db $0, "Well", $4f + db "done!", $58 +; 0x8d230 + 12 bytes + +_UnnamedText_51910: ; 0x8d23c + db $0, "Many trainers give", $4f + db "up the challenge", $55 + db "here.", $57 +; 0x8d23c + 43 bytes + +_UnnamedText_1e865: ; 0x8d267 + db $0, "Hiya! I'm a", $4f + db "#MON...", $55 + db "...No I'm not!", $51 + db "Call me BILL!", $4f + db "I'm a true blue", $55 + db "#MANIAC! Hey!", $55 + db "What's with that", $55 + db "skeptical look?", $51 + db "I'm not joshing", $4f + db "you, I screwed up", $55 + db "an experiment and", $55 + db "got combined with", $55 + db "a #MON!", $51 + db "So, how about it?", $4f + db "Help me out here!", $57 +; 0x8d267 + 222 bytes + +_UnnamedText_1e86a: ; 0x8d345 + db $0, "When I'm in the", $4f + db "TELEPORTER, go to", $55 + db "my PC and run the", $55 + db "Cell Separation", $55 + db "System!", $57 +; 0x8d345 + 76 bytes + +_UnnamedText_1e86f: ; 0x8d391 + db $0, "No!? Come on, you", $4f + db "gotta help a guy", $55 + db "in deep trouble!", $51 + db "What do you say,", $4f + db "chief? Please?", $55 + db "OK? All right!", $58 +; 0x8d391 + 100 bytes + +_BillThankYouText: ; 0x8d3f5 + db $0, "BILL: Yeehah!", $4f + db "Thanks, bud! I", $55 + db "owe you one!", $51 + db "So, did you come", $4f + db "to see my #MON", $55 + db "collection?", $55 + db "You didn't?", $55 + db "That's a bummer.", $51 + db "I've got to thank", $4f + db "you... Oh here,", $55 + db "maybe this'll do.", $58 +; 0x8d3f5 + 164 bytes + +_SSTicketReceivedText: ; 0x8d499 + db $0, $52, " received", $4f + db "an @" + TX_RAM $cf4b + db $0, "!@@" +; 0x8d4b0 + +_SSTicketNoRoomText: ; 0x8d4b0 + db $0, "You've got too", $4f + db "much stuff, bud!", $57 +; 0x8d4b0 + 32 bytes + +_UnnamedText_1e8cb: ; 0x8d4d0 + db $0, "That cruise ship,", $4f + db "S.S.ANNE, is in", $55 + db "VERMILION CITY.", $55 + db "Its passengers", $55 + db "are all trainers!", $51 + db "They invited me", $4f + db "to their party,", $55 + db "but I can't stand", $55 + db "fancy do's. Why", $55 + db "don't you go", $55 + db "instead of me?", $57 +; 0x8d4d0 + 175 bytes + +_UnnamedText_1e8da: ; 0x8d57f + db $0, "BILL: Look, bud,", $4f + db "just check out", $55 + db "some of my rare", $55 + db "#MON on my PC!", $57 +; 0x8d57f + 64 bytes + +_Route1ViridianMartSampleText: ; 0x8d5bf + db $0, "Hi! I work at a", $4f + db "#MON MART.", $51 + db "It's a convenient", $4f + db "shop, so please", $55 + db "visit us in", $55 + db "VIRIDIAN CITY.", $51 + db "I know, I'll give", $4f + db "you a sample!", $55 + db "Here you go!", $58 +; 0x8d5bf + 132 bytes + +UnknownText_8d643: ; 0x8d643 + db $0, $52, " got", $4f + db "@" +; 0x8d643 + 8 bytes + +UnknownText_8d64b: ; 0x8d64b + TX_RAM $cf4b + db $0, "!@@" +; 0x8d64b + 7 bytes + +_UnnamedText_1caee: ; 0x8d652 + db $0, "We also carry", $4f + db "# BALLs for", $55 + db "catching #MON!", $57 +; 0x8d652 + 42 bytes + +_UnnamedText_1caf3: ; 0x8d67c + db $0, "You have too much", $4f + db "stuff with you!", $57 +; 0x8d67c + 35 bytes + +_Route1Text2: ; 0x8d69f + db $0, "See those ledges", $4f + db "along the road?", $51 + db "It's a bit scary,", $4f + db "but you can jump", $55 + db "from them.", $51 + db "You can get back", $4f + db "to PALLET TOWN", $55 + db "quicker that way.", $57 + +_Route1Text3: ; 0x8d720 + db $0, "ROUTE 1", $4f + db "PALLET TOWN -", $55 + db "VIRIDIAN CITY", $57 + +_Route2Text3: ; 0x8d745 + db $0, "ROUTE 2", $4f + db "VIRIDIAN CITY -", $55 + db "PEWTER CITY", $57 + +_Route2Text4: ; 0x8d76a + db $0, "DIGLETT's CAVE", $57 + +_Route3Text1: ; 0x8d779 + db $0, "Whew... I better", $4f + db "take a rest...", $55 + db "Groan...", $51 + db "That tunnel from", $4f + db "CERULEAN takes a", $55 + db "lot out of you!", $57 + +_UnnamedText_55595: ; 0x8d7d5 + db $0, "Hey! I met you in", $4f + db "VIRIDIAN FOREST!", $57 +; 0x8d7d5 + 36 bytes + +_UnnamedText_5559a: ; 0x8d7f9 + db $0, "You", $4f + db "beat me again!", $58 +; 0x8d7f9 + 20 bytes + +_UnnamedText_5559f: ; 0x8d80d + db $0, "There are other", $4f + db "kinds of #MON", $55 + db "than those found", $55 + db "in the forest!", $57 +; 0x8d80d + 63 bytes + +_UnnamedText_555ae: ; 0x8d84c + db $0, "Hi! I like shorts!", $4f + db "They're comfy and", $55 + db "easy to wear!", $57 +; 0x8d84c + 51 bytes + +_UnnamedText_555b3: ; 0x8d87f + db $0, "I don't", $4f + db "believe it!", $58 +; 0x8d87f + 20 bytes + +_UnnamedText_555b8: ; 0x8d893 + db $0, "Are you storing", $4f + db "your #MON on", $55 + db "PC? Each BOX can", $55 + db "hold 20 #MON!", $57 +; 0x8d893 + 61 bytes + +_UnnamedText_555c7: ; 0x8d8d0 + db $0, "You looked at me,", $4f + db "didn't you?", $57 +; 0x8d8d0 + 30 bytes + +_UnnamedText_555cc: ; 0x8d8ee + db $0, "You're", $4f + db "mean!", $58 +; 0x8d8ee + 13 bytes + +_UnnamedText_555d1: ; 0x8d8fb + db $0, "Quit staring if", $4f + db "you don't want to", $55 + db "fight!", $57 +; 0x8d8fb + 41 bytes + +_UnnamedText_555e0: ; 0x8d924 + db $0, "Are you a trainer?", $4f + db "Let's fight!", $57 +; 0x8d924 + 32 bytes + +_UnnamedText_555e5: ; 0x8d944 + db $0, "If I", $4f + db "had new #MON I", $55 + db "would've won!", $58 +; 0x8d944 + 34 bytes + +_UnnamedText_555ea: ; 0x8d966 + db $0, "If a #MON BOX", $4f + db "on the PC gets", $55 + db "full, just switch", $55 + db "to another BOX!", $57 +; 0x8d966 + 64 bytes + +_UnnamedText_555f9: ; 0x8d9a6 + db $0, "That look you", $4f + db "gave me, it's so", $55 + db "intriguing!", $57 +; 0x8d9a6 + 43 bytes + +_UnnamedText_555fe: ; 0x8d9d1 + db $0, "Be nice!", $58 +; 0x8d9d1 + 10 bytes + +_UnnamedText_55603: ; 0x8d9db + db $0, "Avoid fights by", $4f + db "not letting", $55 + db "people see you!", $57 +; 0x8d9db + 45 bytes + +_UnnamedText_55612: ; 0x8da08 + db $0, "Hey! You're not", $4f + db "wearing shorts!", $57 +; 0x8da08 + 32 bytes + +_UnnamedText_55617: ; 0x8da28 + db $0, "Lost!", $4f + db "Lost! Lost!", $58 +; 0x8da28 + 19 bytes + +_UnnamedText_5561c: ; 0x8da3b + db $0, "I always wear", $4f + db "shorts, even in", $55 + db "winter!", $57 +; 0x8da3b + 39 bytes + +_UnnamedText_5562b: ; 0x8da62 + db $0, "You can fight my", $4f + db "new #MON!", $57 +; 0x8da62 + 28 bytes + +_UnnamedText_55630: ; 0x8da7e + db $0, "Done", $4f + db "like dinner!", $58 +; 0x8da7e + 19 bytes + +_UnnamedText_55635: ; 0x8da91 + db $0, "Trained #MON", $4f + db "are stronger than", $55 + db "the wild ones!", $57 +; 0x8da91 + 47 bytes + +_UnnamedText_55644: ; 0x8dac0 + db $0, "Eek! Did you", $4f + db "touch me?", $57 +; 0x8dac0 + 24 bytes + +_UnnamedText_55649: ; 0x8dad8 + db $0, "That's it?", $58 +; 0x8dad8 + 11 bytes + +_UnnamedText_5564e: ; 0x8dae3 + db $0, "ROUTE 4 is at the", $4f + db "foot of MT.MOON.", $57 +; 0x8dae3 + 36 bytes + +_Route3Text10: ; 0x8db07 + db $0, "ROUTE 3", $4f + db "MT.MOON AHEAD", $57 + +_Route4Text1: ; 0x8db1e + db $0, "Ouch! I tripped", $4f + db "over a rocky", $55 + db "#MON, GEODUDE!", $57 + +_UnnamedText_55699: ; 0x8db4b + db $0, "I came to get my", $4f + db "mushroom #MON!", $57 +; 0x8db4b + 33 bytes + +_UnnamedText_5569e: ; 0x8db6c + db $0, "Oh! My cute", $4f + db "mushroom #MON!", $58 +; 0x8db6c + 28 bytes + +_UnnamedText_556a3: ; 0x8db88 + db $0, "There might not", $4f + db "be any more", $55 + db "mushrooms here.", $51 + db "I think I got", $4f + db "them all.", $57 +; 0x8db88 + 69 bytes + +_Route4Text5: ; 0x8dbcd + db $0, "MT.MOON", $4f + db "Tunnel Entrance", $57 + +_Route4Text6: ; 0x8dbe6 + db $0, "ROUTE 4", $4f + db "MT.MOON -", $55 + db "CERULEAN CITY", $57 + +_Route5Text1: ; 0x8dc07 + db $0, "UNDERGROUND PATH", $4f + db "CERULEAN CITY -", $55 + db "VERMILION CITY", $57 + +_UnnamedText_5912a: ; 0x8dc38 + db $0, "Who's there?", $4f + db "Quit listening in", $55 + db "on us!", $57 +; 0x8dc38 + 38 bytes + +_UnnamedText_5912f: ; 0x8dc5e + db $0, "I", $4f + db "just can't win!", $58 +; 0x8dc5e + 18 bytes + +_UnnamedText_59134: ; 0x8dc70 + db $0, "Whisper...", $4f + db "whisper...", $57 +; 0x8dc70 + 23 bytes + +_UnnamedText_59143: ; 0x8dc87 + db $0, "Excuse me! This", $4f + db "is a private", $55 + db "conversation!", $57 +; 0x8dc87 + 44 bytes + +_UnnamedText_59148: ; 0x8dcb3 + db $0, "Ugh!", $4f + db "I hate losing!", $58 +; 0x8dcb3 + 21 bytes + +_UnnamedText_59157: ; 0x8dcc8 + db $0, "There aren't many", $4f + db "bugs out here.", $57 +; 0x8dcc8 + 33 bytes + +_UnnamedText_5915c: ; 0x8dce9 + db $0, "No!", $4f + db "You're kidding!", $58 +; 0x8dce9 + 20 bytes + +_UnnamedText_59161: ; 0x8dcfd + db $0, "I like bugs, so", $4f + db "I'm going back to", $55 + db "VIRIDIAN FOREST.", $57 +; 0x8dcfd + 51 bytes + +_UnnamedText_59170: ; 0x8dd30 + db $0, "Huh? You want", $4f + db "to talk to me?", $57 +; 0x8dd30 + 30 bytes + +_UnnamedText_59175: ; 0x8dd4e + db $0, "I", $4f + db "didn't start it!", $58 +; 0x8dd4e + 19 bytes + +_UnnamedText_5917a: ; 0x8dd61 + db $0, "I should carry", $4f + db "more #MON with", $55 + db "me for safety.", $57 +; 0x8dd61 + 46 bytes + +_UnnamedText_59189: ; 0x8dd8f + db $0, "Me? Well, OK.", $4f + db "I'll play!", $57 +; 0x8dd8f + 25 bytes + +_UnnamedText_5918e: ; 0x8dda8 + db $0, "Just", $4f + db "didn't work!", $58 +; 0x8dda8 + 18 bytes + +_UnnamedText_59193: ; 0x8ddba + db $0, "I want to get", $4f + db "stronger! What's", $55 + db "your secret?", $57 +; 0x8ddba + 44 bytes + +_UnnamedText_591a2: ; 0x8dde6 + db $0, "I've never seen", $4f + db "you around!", $55 + db "Are you good?", $57 +; 0x8dde6 + 42 bytes + +_UnnamedText_591a7: ; 0x8de10 + db $0, "You", $4f + db "are too good!", $58 +; 0x8de10 + 19 bytes + +_UnnamedText_591ac: ; 0x8de23 + db $0, "Are my #MON", $4f + db "weak? Or, am I", $55 + db "just bad?", $57 +; 0x8de23 + 38 bytes + +_Route6Text7: ; 0x8de49 + db $0, "UNDERGROUND PATH", $4f + db "CERULEAN CITY -", $55 + db "VERMILION CITY", $57 + +_Route7Text1: ; 0x8de7a + db $0, "UNDERGROUND PATH", $4f + db "CELADON CITY -", $55 + db "LAVENDER TOWN", $57 + +_UnnamedText_5925a: ; 0x8dea9 + db $0, "You look good at", $4f + db "#MON, but", $55 + db "how's your chem?", $57 +; 0x8dea9 + 44 bytes + +_UnnamedText_5925f: ; 0x8ded5 + db $0, "Ow!", $4f + db "Meltdown!", $58 +; 0x8ded5 + 15 bytes + +_UnnamedText_59264: ; 0x8dee4 + db $0, "I am better at", $4f + db "school than this!", $57 +; 0x8dee4 + 34 bytes + +_UnnamedText_59273: ; 0x8df06 + db $0, "All right! Let's", $4f + db "roll the dice!", $57 +; 0x8df06 + 32 bytes + +_UnnamedText_59278: ; 0x8df26 + db $0, "Drat!", $4f + db "Came up short!", $58 +; 0x8df26 + 22 bytes + +_UnnamedText_5927d: ; 0x8df3c + db $0, "Lady Luck's not", $4f + db "with me today!", $57 +; 0x8df3c + 31 bytes + +_UnnamedText_5928c: ; 0x8df5b + db $0, "You need strategy", $4f + db "to win at this!", $57 +; 0x8df5b + 35 bytes + +_UnnamedText_59291: ; 0x8df7e + db $0, "It's", $4f + db "not logical!", $58 +; 0x8df7e + 18 bytes + +_UnnamedText_59296: ; 0x8df90 + db $0, "Go with GRIMER", $4f + db "first...and...", $55 + db "...and...then...", $57 +; 0x8df90 + 48 bytes + +_UnnamedText_592a5: ; 0x8dfc0 + db $0, "I like NIDORAN, so", $4f + db "I collect them!", $57 +; 0x8dfc0 + 36 bytes + +_UnnamedText_592aa: ; 0x8dfe4 + db $0, "Why? Why??", $58 +; 0x8dfe4 + 12 bytes + +_UnnamedText_592af: ; 0x8dff0 + db $0, "When #MON grow", $4f + db "up they get ugly!", $55 + db "They shouldn't", $55 + db "evolve!", $57 +; 0x8dff0 + 56 bytes + +_UnnamedText_592be: ; 0x8e028 + db $0, "School is fun, but", $4f + db "so are #MON.", $57 +; 0x8e028 + 33 bytes + +_UnnamedText_592c3: ; 0x8e049 + db $0, "I'll", $4f + db "stay with school.", $58 +; 0x8e049 + 23 bytes + +_UnnamedText_592c8: ; 0x8e060 + db $0, "We're stuck here", $4f + db "because of the", $55 + db "gates at SAFFRON.", $57 +; 0x8e060 + 50 bytes + +_UnnamedText_592d7: ; 0x8e092 + db $0, "MEOWTH is so cute,", $4f + db "meow, meow, meow!", $57 +; 0x8e092 + 38 bytes + +_UnnamedText_592dc: ; 0x8e0b8 + db $0, "Meow!", $58 +; 0x8e0b8 + 7 bytes + +_UnnamedText_592e1: ; 0x8e0bf + db $0, "I think PIDGEY", $4f + db "and RATTATA", $55 + db "are cute too!", $57 +; 0x8e0bf + 42 bytes + +_UnnamedText_592f0: ; 0x8e0e9 + db $0, "We must look", $4f + db "silly standing", $55 + db "here like this!", $57 +; 0x8e0e9 + 45 bytes + +_UnnamedText_592f5: ; 0x8e116 + db $0, "Look what", $4f + db "you did!", $58 +; 0x8e116 + 20 bytes + +_UnnamedText_592fa: ; 0x8e12a + db $0, "SAFFRON's gate", $4f + db "keeper won't let", $55 + db "us through.", $55 + db "He's so mean!", $57 +; 0x8e12a + 56 bytes + +_UnnamedText_59309: ; 0x8e162 + db $0, "I'm a rambling,", $4f + db "gambling dude!", $57 +; 0x8e162 + 31 bytes + +_UnnamedText_5930e: ; 0x8e181 + db $0, "Missed", $4f + db "the big score!", $58 +; 0x8e181 + 23 bytes + +_UnnamedText_59313: ; 0x8e198 + db $0, "Gambling and", $4f + db "#MON are like", $55 + db "eating peanuts!", $55 + db "Just can't stop!", $57 +; 0x8e198 + 60 bytes + +_UnnamedText_59322: ; 0x8e1d4 + db $0, "What's a cute,", $4f + db "round and fluffy", $55 + db "#MON?", $57 +; 0x8e1d4 + 38 bytes + +_UnnamedText_59327: ; 0x8e1fa + db $0, "Stop!", $51 + db "Don't be so mean", $4f + db "to my CLEFAIRY!", $58 +; 0x8e1fa + 39 bytes + +_UnnamedText_5932c: ; 0x8e221 + db $0, "I heard that", $4f + db "CLEFAIRY evolves", $55 + db "when it's exposed", $55 + db "to a MOON STONE.", $57 +; 0x8e221 + 65 bytes + +_Route8Text10: ; 0x8e262 + db $0, "UNDERGROUND PATH", $4f + db "CELADON CITY -", $55 + db "LAVENDER TOWN", $57 + +_UnnamedText_55792: ; 0x8e291 + db $0, "You have #MON", $4f + db "with you!", $55 + db "You're mine!", $57 +; 0x8e291 + 37 bytes + +_UnnamedText_55797: ; 0x8e2b6 + db $0, "You", $4f + db "deceived me!", $58 +; 0x8e2b6 + 18 bytes + +_UnnamedText_5579c: ; 0x8e2c8 + db $0, "You need light to", $4f + db "get through that", $55 + db "dark tunnel ahead.", $57 +; 0x8e2c8 + 55 bytes + +_UnnamedText_557a1: ; 0x8e2ff + db $0, "Who's that walking", $4f + db "with those good", $55 + db "looking #MON?", $57 +; 0x8e2ff + 49 bytes + +_UnnamedText_557a6: ; 0x8e330 + db $0, "Out", $4f + db "like a light!", $58 +; 0x8e330 + 19 bytes + +_UnnamedText_557ab: ; 0x8e343 + db $0, "Keep walking!", $57 +; 0x8e343 + 15 bytes + +_UnnamedText_557b0: ; 0x8e352 + db $0, "I'm taking ROCK", $4f + db "TUNNEL to go to", $55 + db "LAVENDER...", $57 +; 0x8e352 + 44 bytes + +_UnnamedText_557b5: ; 0x8e37e + db $0, "Can't", $4f + db "measure up!", $58 +; 0x8e37e + 18 bytes + +_UnnamedText_557ba: ; 0x8e390 + db $0, "Are you off to", $4f + db "ROCK TUNNEL too?", $57 +; 0x8e390 + 33 bytes + +_UnnamedText_557bf: ; 0x8e3b1 + db $0, "Don't you dare", $4f + db "condescend me!", $57 +; 0x8e3b1 + 30 bytes + +_UnnamedText_557c4: ; 0x8e3cf + db $0, "No!", $4f + db "You're too much!", $58 +; 0x8e3cf + 21 bytes + +_UnnamedText_557c9: ; 0x8e3e4 + db $0, "You're obviously", $4f + db "talented! Good", $55 + db "luck to you!", $57 +; 0x8e3e4 + 45 bytes + +_UnnamedText_557ce: ; 0x8e411 + db $0, "Bwahaha!", $4f + db "Great! I was", $55 + db "bored, eh!", $57 +; 0x8e411 + 34 bytes + +_UnnamedText_557d3: ; 0x8e433 + db $0, "Keep it", $4f + db "coming, eh!", $51 + db "Oh wait. I'm out", $4f + db "of #MON!", $58 +; 0x8e433 + 46 bytes + +_UnnamedText_557d8: ; 0x8e461 + db $0, "You sure had guts", $4f + db "standing up to me", $55 + db "there, eh?", $57 +; 0x8e461 + 48 bytes + +_UnnamedText_557dd: ; 0x8e491 + db $0, "Hahaha!", $4f + db "Aren't you a", $55 + db "little toughie!", $57 +; 0x8e491 + 37 bytes + +_UnnamedText_557e2: ; 0x8e4b6 + db $0, "What's", $4f + db "that?", $58 +; 0x8e4b6 + 13 bytes + +_UnnamedText_557e7: ; 0x8e4c3 + db $0, "Hahaha! Kids", $4f + db "should be tough!", $57 +; 0x8e4c3 + 31 bytes + +_UnnamedText_557ec: ; 0x8e4e2 + db $0, "I got up early", $4f + db "every day to", $55 + db "raise my #MON", $55 + db "from cocoons!", $57 +; 0x8e4e2 + 57 bytes + +_UnnamedText_557f1: ; 0x8e51b + db $0, "WHAT?", $51 + db "What a total", $4f + db "waste of time!", $58 +; 0x8e51b + 35 bytes + +_UnnamedText_557f6: ; 0x8e53e + db $0, "I have to collect", $4f + db "more than bugs to", $55 + db "get stronger...", $57 +; 0x8e53e + 53 bytes + +_UnnamedText_557fb: ; 0x8e573 + db $0, "Hahahaha!", $4f + db "Come on, dude!", $57 +; 0x8e573 + 26 bytes + +_UnnamedText_55800: ; 0x8e58d + db $0, "Hahahaha!", $4f + db "You beat me fair!", $58 +; 0x8e58d + 29 bytes + +_UnnamedText_55805: ; 0x8e5aa + db $0, "Hahahaha!", $4f + db "Us hearty guys", $55 + db "always laugh!", $57 +; 0x8e5aa + 40 bytes + +_UnnamedText_5580a: ; 0x8e5d2 + db $0, "Go, my super bug", $4f + db "#MON!", $57 +; 0x8e5d2 + 24 bytes + +_UnnamedText_5580f: ; 0x8e5ea + db $0, "My", $4f + db "bugs...", $58 +; 0x8e5ea + 12 bytes + +_UnnamedText_55814: ; 0x8e5f6 + db $0, "If you don't like", $4f + db "bug #MON, you", $55 + db "bug me!", $57 +; 0x8e5f6 + 40 bytes + +_Route9Text11: ; 0x8e61e + db $0, "ROUTE 9", $4f + db "CERULEAN CITY-", $55 + db "ROCK TUNNEL", $57 + +_UnnamedText_593b6: ; 0x8e642 + db $0, "Wow, are you a", $4f + db "#MANIAC too?", $55 + db "Want to see my", $55 + db "collection?", $57 +; 0x8e642 + 56 bytes + +_UnnamedText_593bb: ; 0x8e67a + db $0, "Humph.", $4f + db "I'm not angry!", $58 +; 0x8e67a + 22 bytes + +_UnnamedText_593c0: ; 0x8e690 + db $0, "I have more rare", $4f + db "#MON at home!", $57 +; 0x8e690 + 32 bytes + +_UnnamedText_593cf: ; 0x8e6b0 + db $0, "Ha-hahah-ah-ha!", $57 +; 0x8e6b0 + 17 bytes + +_UnnamedText_593d4: ; 0x8e6c1 + db $0, "Ha-haha!", $4f + db "Not laughing!", $55 + db "Ha-hay fever!", $55 + db "Haha-ha-choo!", $58 +; 0x8e6c1 + 52 bytes + +_UnnamedText_593d9: ; 0x8e6f5 + db $0, "Haha-ha-choo!", $4f + db "Ha-choo!", $55 + db "Snort! Snivel!", $57 +; 0x8e6f5 + 39 bytes + +_UnnamedText_593e8: ; 0x8e71c + db $0, "Hi kid, want to", $4f + db "see my #MON?", $57 +; 0x8e71c + 30 bytes + +_UnnamedText_593ed: ; 0x8e73a + db $0, "Oh no!", $4f + db "My #MON!", $58 +; 0x8e73a + 17 bytes + +_UnnamedText_593f2: ; 0x8e74b + db $0, "I don't like you", $4f + db "for beating me!", $57 +; 0x8e74b + 33 bytes + +_UnnamedText_59401: ; 0x8e76c + db $0, "I've been to a", $4f + db "#MON GYM a few", $55 + db "times. But, I", $55 + db "lost each time.", $57 +; 0x8e76c + 60 bytes + +_UnnamedText_59406: ; 0x8e7a8 + db $0, "Ohh!", $4f + db "Blew it again!", $58 +; 0x8e7a8 + 21 bytes + +_UnnamedText_5940b: ; 0x8e7bd + db $0, "I noticed some", $4f + db "#MANIACs", $55 + db "prowling around.", $57 +; 0x8e7bd + 42 bytes + +_UnnamedText_5941a: ; 0x8e7e7 + db $0, "Ah! This mountain", $4f + db "air is delicious!", $57 +; 0x8e7e7 + 37 bytes + +_UnnamedText_5941f: ; 0x8e80c + db $0, "That", $4f + db "cleared my head!", $58 +; 0x8e80c + 23 bytes + +_UnnamedText_59424: ; 0x8e823 + db $0, "I feel bloated on", $4f + db "mountain air!", $57 +; 0x8e823 + 33 bytes + +_UnnamedText_59433: ; 0x8e844 + db $0, "I'm feeling a bit", $4f + db "faint from this", $55 + db "tough hike.", $57 +; 0x8e844 + 46 bytes + +_UnnamedText_59438: ; 0x8e872 + db $0, "I'm", $4f + db "not up to it!", $58 +; 0x8e872 + 18 bytes + +_UnnamedText_5943d: ; 0x8e884 + db $0, "The #MON here", $4f + db "are so chunky!", $55 + db "There should be a", $55 + db "pink one with a", $55 + db "floral pattern!", $57 +; 0x8e884 + 80 bytes + +_Route10Text9: ; 0x8e8d4 +_Route10Text7: ; 0x8e8d4 + db $0, "ROCK TUNNEL", $57 + +_Route10Text10: ; 0x8e8e1 + db $0, "POWER PLANT", $57 + +_UnnamedText_594fe: ; 0x8e8ee + db $0, "Win, lose or draw!", $57 +; 0x8e8ee + 20 bytes + +_UnnamedText_59503: ; 0x8e902 + db $0, "Atcha!", $4f + db "Didn't go my way!", $58 +; 0x8e902 + 25 bytes + +_UnnamedText_59508: ; 0x8e91b + db $0, "#MON is life!", $4f + db "And to live is to", $55 + db "gamble!", $57 +; 0x8e91b + 41 bytes + +_UnnamedText_59517: ; 0x8e944 + db $0, "Competition! I", $4f + db "can't get enough!", $57 +; 0x8e944 + 33 bytes + +_UnnamedText_5951c: ; 0x8e965 + db $0, "I had", $4f + db "a chance!", $58 +; 0x8e965 + 17 bytes + +_UnnamedText_59521: ; 0x8e976 + db $0, "You can't be a", $4f + db "coward in the", $55 + db "world of #MON!", $57 +; 0x8e976 + 44 bytes + +_UnnamedText_59530: ; 0x8e9a2 + db $0, "Let's go, but", $4f + db "don't cheat!", $57 +; 0x8e9a2 + 26 bytes + +_UnnamedText_59535: ; 0x8e9bc + db $0, "Huh?", $4f + db "That's not right!", $58 +; 0x8e9bc + 23 bytes + +_UnnamedText_5953a: ; 0x8e9d3 + db $0, "I did my best! I", $4f + db "have no regrets!", $57 +; 0x8e9d3 + 35 bytes + +_UnnamedText_59549: ; 0x8e9f6 + db $0, "Careful!", $4f + db "I'm laying down", $55 + db "some cables!", $57 +; 0x8e9f6 + 38 bytes + +_UnnamedText_5954e: ; 0x8ea1c + db $0, "That", $4f + db "was electric!", $58 +; 0x8ea1c + 20 bytes + +_UnnamedText_59553: ; 0x8ea30 + db $0, "Spread the word", $4f + db "to save energy!", $57 +; 0x8ea30 + 33 bytes + +_UnnamedText_59562: ; 0x8ea51 + db $0, "I just became a", $4f + db "trainer! But, I", $55 + db "think I can win!", $57 +; 0x8ea51 + 50 bytes + +_UnnamedText_59567: ; 0x8ea83 + db $0, "My", $4f + db "#MON couldn't!", $58 +; 0x8ea83 + 18 bytes + +_UnnamedText_5956c: ; 0x8ea95 + db $0, "What do you want?", $4f + db "Leave me alone!", $57 +; 0x8ea95 + 35 bytes + +_UnnamedText_5957b: ; 0x8eab8 + db $0, "Fwahaha! I have", $4f + db "never lost!", $57 +; 0x8eab8 + 29 bytes + +_UnnamedText_59580: ; 0x8ead5 + db $0, "My", $4f + db "first loss!", $58 +; 0x8ead5 + 16 bytes + +_UnnamedText_59585: ; 0x8eae5 + db $0, "Luck of the draw!", $4f + db "Just luck!", $57 +; 0x8eae5 + 30 bytes + +_UnnamedText_59594: ; 0x8eb03 + db $0, "I have never won", $4f + db "before...", $57 +; 0x8eb03 + 28 bytes + +_UnnamedText_59599: ; 0x8eb1f + db $0, "I saw", $4f + db "this coming...", $58 +; 0x8eb1f + 22 bytes + +_UnnamedText_5959e: ; 0x8eb35 + db $0, "It's just luck.", $4f + db "Luck of the draw.", $57 +; 0x8eb35 + 34 bytes + +_UnnamedText_595ad: ; 0x8eb57 + db $0, "I'm the best in", $4f + db "my class!", $57 +; 0x8eb57 + 26 bytes + +_UnnamedText_595b2: ; 0x8eb71 + db $0, "Darn!", $4f + db "I need to make my", $55 + db "#MON stronger!", $58 +; 0x8eb71 + 40 bytes + +_UnnamedText_595b7: ; 0x8eb99 + db $0, "There's a fat", $4f + db "#MON that", $55 + db "comes down from", $55 + db "the mountains.", $51 + db "It's strong if", $4f + db "you can get it.", $57 +; 0x8eb99 + 85 bytes + +_UnnamedText_595c6: ; 0x8ebee + db $0, "Watch out for", $4f + db "live wires!", $57 +; 0x8ebee + 27 bytes + +SECTION "bank24",DATA,BANK[$24] + +_UnnamedText_595cb: ; 0x90000 + db $0, "Whoa!", $4f + db "You spark plug!", $58 +; 0x90000 + 23 bytes + +_UnnamedText_595d0: ; 0x90017 + db $0, "Well, better get", $4f + db "back to work.", $57 +; 0x90017 + 32 bytes + +_UnnamedText_595df: ; 0x90037 + db $0, "My #MON should", $4f + db "be ready by now!", $57 +; 0x90037 + 33 bytes + +_UnnamedText_595e4: ; 0x90058 + db $0, "Too", $4f + db "much, too young!", $58 +; 0x90058 + 22 bytes + +_UnnamedText_595e9: ; 0x9006e + db $0, "I better go find", $4f + db "stronger ones!", $57 +; 0x9006e + 33 bytes + +_Route11Text11: ; 0x9008f + db $0, "DIGLETT's CAVE", $57 + +_Route12Text1: ; 0x9009e + db $0, "A sleeping #MON", $4f + db "blocks the way!", $57 + +_UnnamedText_596eb: ; 0x900bf + db $0, "SNORLAX woke up!", $51 + db "It attacked in a", $4f + db "grumpy rage!", $57 +; 0x900bf + 48 bytes + +_UnnamedText_596f0: ; 0x900ef + db $0, "SNORLAX calmed", $4f + db "down! With a big", $55 + db "yawn, it returned", $55 + db "to the mountains!", $57 +; 0x900ef + 69 bytes + +_UnnamedText_596ff: ; 0x90134 + db $0, "Yeah! I got a", $4f + db "bite, here!", $57 +; 0x90134 + 27 bytes + +_UnnamedText_59704: ; 0x9014f + db $0, "Tch!", $4f + db "Just a small fry!", $58 +; 0x9014f + 24 bytes + +_UnnamedText_59709: ; 0x90167 + db $0, "Hang on! My line's", $4f + db "snagged!", $57 +; 0x90167 + 28 bytes + +_UnnamedText_59718: ; 0x90183 + db $0, "Be patient!", $4f + db "Fishing is a", $55 + db "waiting game!", $57 +; 0x90183 + 40 bytes + +_UnnamedText_5971d: ; 0x901ab + db $0, "That", $4f + db "one got away!", $58 +; 0x901ab + 20 bytes + +_UnnamedText_59722: ; 0x901bf + db $0, "With a better ROD,", $4f + db "I could catch", $55 + db "better #MON!", $57 +; 0x901bf + 47 bytes + +_UnnamedText_59731: ; 0x901ee + db $0, "Have you found a", $4f + db "MOON STONE?", $57 +; 0x901ee + 30 bytes + +_UnnamedText_59736: ; 0x9020c + db $0, "Oww!", $58 +; 0x9020c + 6 bytes + +_UnnamedText_5973b: ; 0x90212 + db $0, "I could have made", $4f + db "my #MON evolve", $55 + db "with MOON STONE!", $57 +; 0x90212 + 51 bytes + +_UnnamedText_5974a: ; 0x90245 + db $0, "Electricity is my", $4f + db "specialty!", $57 +; 0x90245 + 30 bytes + +_UnnamedText_5974f: ; 0x90263 + db $0, "Unplugged!", $58 +; 0x90263 + 12 bytes + +_UnnamedText_59754: ; 0x9026f + db $0, "Water conducts", $4f + db "electricity, so", $55 + db "you should zap", $55 + db "sea #MON!", $57 +; 0x9026f + 57 bytes + +_UnnamedText_59763: ; 0x902a8 + db $0, "The FISHING FOOL", $4f + db "vs. #MON KID!", $57 +; 0x902a8 + 32 bytes + +_UnnamedText_59768: ; 0x902c8 + db $0, "Too", $4f + db "much!", $58 +; 0x902c8 + 11 bytes + +_UnnamedText_5976d: ; 0x902d3 + db $0, "You beat me at", $4f + db "#MON, but I'm", $55 + db "good at fishing!", $57 +; 0x902d3 + 46 bytes + +_UnnamedText_5977c: ; 0x90301 + db $0, "I'd rather be", $4f + db "working!", $57 +; 0x90301 + 23 bytes + +_UnnamedText_59781: ; 0x90318 + db $0, "It's", $4f + db "not easy...", $58 +; 0x90318 + 17 bytes + +_UnnamedText_59786: ; 0x90329 + db $0, "It's all right.", $4f + db "Losing doesn't", $55 + db "bug me any more.", $57 +; 0x90329 + 47 bytes + +_UnnamedText_59795: ; 0x90358 + db $0, "You never know", $4f + db "what you could", $55 + db "catch!", $57 +; 0x90358 + 38 bytes + +_UnnamedText_5979a: ; 0x9037e + db $0, "Lost", $4f + db "it!", $58 +; 0x9037e + 10 bytes + +_UnnamedText_5979f: ; 0x90388 + db $0, "I catch MAGIKARP", $4f + db "all the time, but", $55 + db "they're so weak!", $57 +; 0x90388 + 52 bytes + +_Route12Text11: ; 0x903bc + db $0, "ROUTE 12 ", $4f + db "North to LAVENDER", $57 + +_Route12Text12: ; 0x903d9 + db $0, "SPORT FISHING AREA", $57 + +_UnnamedText_558d4: ; 0x903ed + db $0, "My bird #MON", $4f + db "want to scrap!", $57 +; 0x903ed + 29 bytes + +_UnnamedText_558d9: ; 0x9040a + db $0, "My", $4f + db "bird combo lost?", $58 +; 0x9040a + 21 bytes + +_UnnamedText_558de: ; 0x9041f + db $0, "My #MON look", $4f + db "happy even though", $55 + db "they lost.", $57 +; 0x9041f + 43 bytes + +_UnnamedText_558ed: ; 0x9044a + db $0, "I'm told I'm good", $4f + db "for a kid!", $57 +; 0x9044a + 28 bytes + +_UnnamedText_558f2: ; 0x90466 + db $0, "Ohh!", $4f + db "I lost!", $58 +; 0x90466 + 14 bytes + +_UnnamedText_558f7: ; 0x90474 + db $0, "I want to become", $4f + db "a good trainer.", $55 + db "I'll train hard.", $57 +; 0x90474 + 50 bytes + +_UnnamedText_55906: ; 0x904a6 + db $0, "Wow! Your BADGEs", $4f + db "are too cool!", $57 +; 0x904a6 + 32 bytes + +_UnnamedText_5590b: ; 0x904c6 + db $0, "Not", $4f + db "enough!", $58 +; 0x904c6 + 13 bytes + +_UnnamedText_55910: ; 0x904d3 + db $0, "You got those", $4f + db "BADGEs from GYM", $55 + db "LEADERs. I know!", $57 +; 0x904d3 + 48 bytes + +_UnnamedText_5591f: ; 0x90503 + db $0, "My cute #MON", $4f + db "wish to make your", $55 + db "acquaintance.", $57 +; 0x90503 + 46 bytes + +_UnnamedText_55924: ; 0x90531 + db $0, "Wow!", $4f + db "You totally won!", $58 +; 0x90531 + 23 bytes + +_UnnamedText_55929: ; 0x90548 + db $0, "You have to make", $4f + db "#MON fight to", $55 + db "toughen them up!", $57 +; 0x90548 + 49 bytes + +_UnnamedText_55938: ; 0x90579 + db $0, "I found CARBOS in", $4f + db "a cave once.", $57 +; 0x90579 + 32 bytes + +_UnnamedText_5593d: ; 0x90599 + db $0, "Just", $4f + db "messed up!", $58 +; 0x90599 + 17 bytes + +_UnnamedText_55942: ; 0x905aa + db $0, "CARBOS boosted", $4f + db "the SPEED of my", $55 + db "#MON.", $57 +; 0x905aa + 38 bytes + +_UnnamedText_55951: ; 0x905d0 + db $0, "The wind's blowing", $4f + db "my way!", $57 +; 0x905d0 + 27 bytes + +_UnnamedText_55956: ; 0x905eb + db $0, "The", $4f + db "wind turned!", $58 +; 0x905eb + 18 bytes + +_UnnamedText_5595b: ; 0x905fd + db $0, "I'm beat. I guess", $4f + db "I'll FLY home.", $57 +; 0x905fd + 32 bytes + +_UnnamedText_5596a: ; 0x9061d + db $0, "Sure, I'll play", $4f + db "with you!", $57 +; 0x9061d + 26 bytes + +_UnnamedText_5596f: ; 0x90637 + db $0, "Oh!", $4f + db "You little brute!", $58 +; 0x90637 + 23 bytes + +_UnnamedText_55974: ; 0x9064e + db $0, "I wonder which is", $4f + db "stronger, male or", $55 + db "female #MON?", $57 +; 0x9064e + 50 bytes + +_UnnamedText_55983: ; 0x90680 + db $0, "Do you want to", $4f + db "#MON with me?", $57 +; 0x90680 + 30 bytes + +_UnnamedText_55988: ; 0x9069e + db $0, "It's over", $4f + db "already?", $58 +; 0x9069e + 19 bytes + +_UnnamedText_5598d: ; 0x906b1 + db $0, "I don't know", $4f + db "anything about", $55 + db "#MON. I just", $55 + db "like cool ones!", $57 +; 0x906b1 + 57 bytes + +_UnnamedText_5599c: ; 0x906ea + db $0, "What're you", $4f + db "lookin' at?", $57 +; 0x906ea + 24 bytes + +_UnnamedText_559a1: ; 0x90702 + db $0, "Dang!", $4f + db "Stripped gears!", $58 +; 0x90702 + 23 bytes + +_UnnamedText_559a6: ; 0x90719 + db $0, "Get lost!", $57 +; 0x90719 + 11 bytes + +_UnnamedText_559b5: ; 0x90724 + db $0, "I always go with", $4f + db "bird #MON!", $57 +; 0x90724 + 29 bytes + +_UnnamedText_559ba: ; 0x90741 + db $0, "Out", $4f + db "of power!", $58 +; 0x90741 + 15 bytes + +_UnnamedText_559bf: ; 0x90750 + db $0, "I wish I could", $4f + db "fly like PIDGEY", $55 + db "and PIDGEOTTO...", $57 +; 0x90750 + 49 bytes + +_Route13Text11: ; 0x90781 + db $0, "TRAINER TIPS", $51 + db "Look to the left", $4f + db "of that post!", $57 + +_Route13Text12: ; 0x907ae + db $0, "TRAINER TIPS", $51 + db "Use SELECT to", $4f + db "switch items in", $55 + db "the ITEM window!", $57 + +_Route13Text13: ; 0x907eb + db $0, "ROUTE 13", $4f + db "North to SILENCE", $55 + db "BRIDGE", $57 + +_UnnamedText_55a85: ; 0x9080d + db $0, "You need to use", $4f + db "TMs to teach good", $55 + db "moves to #MON!", $57 +; 0x9080d + 50 bytes + +_UnnamedText_55a8a: ; 0x9083f + db $0, "Not", $4f + db "good enough!", $58 +; 0x9083f + 18 bytes + +_UnnamedText_55a8f: ; 0x90851 + db $0, "You have some HMs", $4f + db "right? #MON", $55 + db "can't ever forget", $55 + db "those moves.", $57 +; 0x90851 + 61 bytes + +_UnnamedText_55a9e: ; 0x9088e + db $0, "My bird #MON", $4f + db "should be ready", $55 + db "for battle.", $57 +; 0x9088e + 42 bytes + +_UnnamedText_55aa3: ; 0x908b8 + db $0, "Not", $4f + db "ready yet!", $58 +; 0x908b8 + 16 bytes + +_UnnamedText_55aa8: ; 0x908c8 + db $0, "They need to learn", $4f + db "better moves.", $57 +; 0x908c8 + 34 bytes + +_UnnamedText_55ab7: ; 0x908ea + db $0, "TMs are on sale", $4f + db "in CELADON!", $55 + db "But, only a few", $55 + db "people have HMs!", $57 +; 0x908ea + 62 bytes + +_UnnamedText_55abc: ; 0x90928 + db $0, "Aww,", $4f + db "bummer!", $58 +; 0x90928 + 14 bytes + +_UnnamedText_55ac1: ; 0x90936 + db $0, "Teach #MON", $4f + db "moves of the same", $55 + db "element type for", $55 + db "more power.", $57 +; 0x90936 + 59 bytes + +_UnnamedText_55ad0: ; 0x90971 + db $0, "Have you taught", $4f + db "your bird #MON", $55 + db "how to FLY?", $57 +; 0x90971 + 44 bytes + +_UnnamedText_55ad5: ; 0x9099d + db $0, "Shot", $4f + db "down in flames!", $58 +; 0x9099d + 22 bytes + +_UnnamedText_55ada: ; 0x909b3 + db $0, "Bird #MON are", $4f + db "my true love!", $57 +; 0x909b3 + 29 bytes + +_UnnamedText_55ae9: ; 0x909d0 + db $0, "Have you heard of", $4f + db "the legendary", $55 + db "#MON?", $57 +; 0x909d0 + 39 bytes + +_UnnamedText_55aee: ; 0x909f7 + db $0, "Why?", $4f + db "Why'd I lose?", $58 +; 0x909f7 + 19 bytes + +_UnnamedText_55af3: ; 0x90a0a + db $0, "The 3 legendary", $4f + db "#MON are all", $55 + db "birds of prey.", $57 +; 0x90a0a + 45 bytes + +_UnnamedText_55b02: ; 0x90a37 + db $0, "I'm not into it,", $4f + db "but OK! Let's go!", $57 +; 0x90a37 + 34 bytes + +_UnnamedText_55b07: ; 0x90a59 + db $0, "I", $4f + db "knew it!", $58 +; 0x90a59 + 12 bytes + +_UnnamedText_55b0c: ; 0x90a65 + db $0, "Winning, losing,", $4f + db "it doesn't matter", $55 + db "in the long run!", $57 +; 0x90a65 + 52 bytes + +_UnnamedText_55b1b: ; 0x90a99 + db $0, "C'mon, c'mon.", $4f + db "Let's go, let's", $55 + db "go, let's go!", $57 +; 0x90a99 + 40 bytes + +_UnnamedText_55b20: ; 0x90ac1 + db $0, "Arrg!", $4f + db "Lost! Get lost!", $58 +; 0x90ac1 + 23 bytes + +_UnnamedText_55b25: ; 0x90ad8 + db $0, "What, what, what?", $4f + db "What do you want?", $57 +; 0x90ad8 + 37 bytes + +_UnnamedText_55b34: ; 0x90afd + db $0, "Perfect! I need to", $4f + db "burn some time!", $57 +; 0x90afd + 36 bytes + +_UnnamedText_55b39: ; 0x90b21 + db $0, "What?", $4f + db "You!?", $58 +; 0x90b21 + 13 bytes + +_UnnamedText_55b3e: ; 0x90b2e + db $0, "Raising #MON", $4f + db "is a drag, man.", $57 +; 0x90b2e + 30 bytes + +_UnnamedText_55b4d: ; 0x90b4c + db $0, "We ride out here", $4f + db "because there's", $55 + db "more room!", $57 +; 0x90b4c + 44 bytes + +_UnnamedText_55b52: ; 0x90b78 + db $0, "Wipe out!", $58 +; 0x90b78 + 11 bytes + +_UnnamedText_55b57: ; 0x90b83 + db $0, "It's cool you", $4f + db "made your #MON", $55 + db "so strong!", $51 + db "Might is right!", $4f + db "And you know it!", $57 +; 0x90b83 + 73 bytes + +_UnnamedText_55b66: ; 0x90bcc + db $0, "#MON fight?", $4f + db "Cool! Rumble!", $57 +; 0x90bcc + 27 bytes + +_UnnamedText_55b6b: ; 0x90be7 + db $0, "Blown", $4f + db "away!", $58 +; 0x90be7 + 13 bytes + +_UnnamedText_55b70: ; 0x90bf4 + db $0, "You know who'd", $4f + db "win, you and me", $55 + db "one on one!", $57 +; 0x90bf4 + 43 bytes + +_Route14Text11: ; 0x90c1f + db $0, "ROUTE 14", $4f + db "West to FUCHSIA", $55 + db "CITY", $57 + +_UnnamedText_59898: ; 0x90c3e + db $0, "Let me try out the", $4f + db "#MON I just", $55 + db "got in a trade!", $57 +; 0x90c3e + 48 bytes + +_UnnamedText_5989d: ; 0x90c6e + db $0, "Not", $4f + db "good enough!", $58 +; 0x90c6e + 18 bytes + +_UnnamedText_598a2: ; 0x90c80 + db $0, "You can't change", $4f + db "the nickname of", $55 + db "any #MON you", $55 + db "get in a trade.", $51 + db "Only the Original", $4f + db "Trainer can.", $57 +; 0x90c80 + 93 bytes + +_UnnamedText_598a7: ; 0x90cdd + db $0, "You look gentle,", $4f + db "so I think I can", $55 + db "beat you!", $57 +; 0x90cdd + 45 bytes + +_UnnamedText_598ac: ; 0x90d0a + db $0, "No,", $4f + db "wrong!", $58 +; 0x90d0a + 12 bytes + +_UnnamedText_598b1: ; 0x90d16 + db $0, "I'm afraid of", $4f + db "BIKERs, they look", $55 + db "so ugly and mean!", $57 +; 0x90d16 + 50 bytes + +_UnnamedText_598b6: ; 0x90d48 + db $0, "When I whistle, I", $4f + db "can summon bird", $55 + db "#MON!", $57 +; 0x90d48 + 41 bytes + +_UnnamedText_598bb: ; 0x90d71 + db $0, "Ow!", $4f + db "That's tragic!", $58 +; 0x90d71 + 19 bytes + +_UnnamedText_598c0: ; 0x90d84 + db $0, "Maybe I'm not cut", $4f + db "out for battles.", $57 +; 0x90d84 + 35 bytes + +_UnnamedText_598c5: ; 0x90da7 + db $0, "Hmm? My birds are", $4f + db "shivering! You're", $55 + db "good, aren't you?", $57 +; 0x90da7 + 53 bytes + +_UnnamedText_598ca: ; 0x90ddc + db $0, "Just", $4f + db "as I thought!", $58 +; 0x90ddc + 20 bytes + +_UnnamedText_598cf: ; 0x90df0 + db $0, "Did you know moves", $4f + db "like EARTHQUAKE", $55 + db "don't have any", $55 + db "effect on birds?", $57 +; 0x90df0 + 67 bytes + +_UnnamedText_598d4: ; 0x90e33 + db $0, "Oh, you're a", $4f + db "little cutie!", $57 +; 0x90e33 + 27 bytes + +_UnnamedText_598d9: ; 0x90e4e + db $0, "You looked", $4f + db "so cute too!", $58 +; 0x90e4e + 25 bytes + +_UnnamedText_598de: ; 0x90e67 + db $0, "I forgive you!", $4f + db "I can take it!", $57 +; 0x90e67 + 31 bytes + +_UnnamedText_598e3: ; 0x90e86 + db $0, "I raise #MON", $4f + db "because I live", $55 + db "alone!", $57 +; 0x90e86 + 36 bytes + +_UnnamedText_598e8: ; 0x90eaa + db $0, "I didn't", $4f + db "ask for this!", $58 +; 0x90eaa + 23 bytes + +_UnnamedText_598ed: ; 0x90ec1 + db $0, "I just like going", $4f + db "home to be with", $55 + db "my #MON!", $57 +; 0x90ec1 + 44 bytes + +_UnnamedText_598f2: ; 0x90eed + db $0, "Hey kid! C'mon!", $4f + db "I just got these!", $57 +; 0x90eed + 34 bytes + +_UnnamedText_598f7: ; 0x90f0f + db $0, "Why", $4f + db "not?", $58 +; 0x90f0f + 10 bytes + +_UnnamedText_598fc: ; 0x90f19 + db $0, "You only live", $4f + db "once, so I live", $55 + db "as an outlaw!", $55 + db "TEAM ROCKET RULES!", $57 +; 0x90f19 + 64 bytes + +_UnnamedText_59901: ; 0x90f59 + db $0, "Fork over all your", $4f + db "cash when you", $55 + db "lose to me, kid!", $57 +; 0x90f59 + 51 bytes + +_UnnamedText_59906: ; 0x90f8c + db $0, "That", $4f + db "can't be true!", $58 +; 0x90f8c + 20 bytes + +_UnnamedText_5990b: ; 0x90fa0 + db $0, "I was just joking", $4f + db "about the money!", $57 +; 0x90fa0 + 36 bytes + +_UnnamedText_59910: ; 0x90fc4 + db $0, "What's cool?", $4f + db "Trading #MON!", $57 +; 0x90fc4 + 27 bytes + +_UnnamedText_59915: ; 0x90fdf + db $0, "I", $4f + db "said trade!", $58 +; 0x90fdf + 15 bytes + +_UnnamedText_5991a: ; 0x90fee + db $0, "I trade #MON", $4f + db "with my friends!", $57 +; 0x90fee + 31 bytes + +_UnnamedText_5991f: ; 0x9100d + db $0, "Want to play with", $4f + db "my #MON?", $57 +; 0x9100d + 28 bytes + +_UnnamedText_59924: ; 0x91029 + db $0, "I was", $4f + db "too impatient!", $58 +; 0x91029 + 22 bytes + +_UnnamedText_59929: ; 0x9103f + db $0, "I'll go train with", $4f + db "weaker people.@" + db $50 +; 0x9103f + 34 bytes + 1 + +_Route15Text12: ; 0x91062 + db $0, "ROUTE 15", $4f + db "West to FUCHSIA", $55 + db "CITY", $57 + +_UnnamedText_59a22: ; 0x91081 + db $0, "What do you want?", $57 +; 0x91081 + 19 bytes + +_UnnamedText_59a27: ; 0x91094 + db $0, "Don't you", $4f + db "dare laugh!", $58 +; 0x91094 + 22 bytes + +_UnnamedText_59a2c: ; 0x910aa + db $0, "We like just", $4f + db "hanging here,", $55 + db "what's it to you?", $57 +; 0x910aa + 45 bytes + +_UnnamedText_59a3b: ; 0x910d7 + db $0, "Nice BIKE!", $4f + db "Hand it over!", $57 +; 0x910d7 + 26 bytes + +_UnnamedText_59a40: ; 0x910f1 + db $0, "Knock", $4f + db "out!", $58 +; 0x910f1 + 12 bytes + +_UnnamedText_59a45: ; 0x910fd + db $0, "Forget it, who", $4f + db "needs your BIKE!", $57 +; 0x910fd + 33 bytes + +_UnnamedText_59a54: ; 0x9111e + db $0, "Come out and play,", $4f + db "little mouse!", $57 +; 0x9111e + 34 bytes + +_UnnamedText_59a59: ; 0x91140 + db $0, "You", $4f + db "little rat!", $58 +; 0x91140 + 17 bytes + +_UnnamedText_59a5e: ; 0x91151 + db $0, "I hate losing!", $4f + db "Get away from me!", $57 +; 0x91151 + 34 bytes + +_UnnamedText_59a6d: ; 0x91173 + db $0, "Hey, you just", $4f + db "bumped me!", $57 +; 0x91173 + 26 bytes + +_UnnamedText_59a72: ; 0x9118d + db $0, "Kaboom!", $58 +; 0x9118d + 9 bytes + +_UnnamedText_59a77: ; 0x91196 + db $0, "You can also get", $4f + db "to FUCHSIA from", $55 + db "VERMILION using a", $55 + db "coastal road.", $57 +; 0x91196 + 66 bytes + +_UnnamedText_59a86: ; 0x911d8 + db $0, "I'm feeling", $4f + db "hungry and mean!", $57 +; 0x911d8 + 29 bytes + +_UnnamedText_59a8b: ; 0x911f5 + db $0, "Bad,", $4f + db "bad, bad!", $58 +; 0x911f5 + 16 bytes + +_UnnamedText_59a90: ; 0x91205 + db $0, "I like my #MON", $4f + db "ferocious! They", $55 + db "tear up enemies!", $57 +; 0x91205 + 49 bytes + +_UnnamedText_59a9f: ; 0x91236 + db $0, "Sure, I'll go!", $57 +; 0x91236 + 15 bytes + +_UnnamedText_59aa4: ; 0x91245 + db $0, "Don't make", $4f + db "me mad!", $58 +; 0x91245 + 19 bytes + +_UnnamedText_59aa9: ; 0x91258 + db $0, "I like harassing", $4f + db "people with my", $55 + db "vicious #MON!", $57 +; 0x91258 + 47 bytes + +_Route16Text7: ; 0x91287 + db $0, "A sleeping #MON", $4f + db "blocks the way!", $57 + +_UnnamedText_59ab3: ; 0x912a8 + db $0, "SNORLAX woke up!", $51 + db "It attacked in a", $4f + db "grumpy rage!", $57 +; 0x912a8 + 48 bytes + +_UnnamedText_59ab8: ; 0x912d8 + db $0, "With a big yawn,", $4f + db "SNORLAX returned", $55 + db "to the mountains!", $57 +; 0x912d8 + 53 bytes + +_Route16Text8: ; 0x9130d + db $0, "Enjoy the slope!", $4f + db "CYCLING ROAD", $57 + +_Route16Text9: ; 0x9132c + db $0, "ROUTE 16", $4f + db "CELADON CITY -", $55 + db "FUCHSIA CITY", $57 + +_UnnamedText_55c36: ; 0x91352 + db $0, "There's no money", $4f + db "in fighting kids!", $57 +; 0x91352 + 35 bytes + +_UnnamedText_55c3b: ; 0x91375 + db $0, "Burned", $4f + db "out!", $58 +; 0x91375 + 13 bytes + +_UnnamedText_55c40: ; 0x91382 + db $0, "Good stuff is", $4f + db "lying around on", $55 + db "CYCLING ROAD!", $57 +; 0x91382 + 45 bytes + +_UnnamedText_55c4f: ; 0x913af + db $0, "What do you want,", $4f + db "kiddo?", $57 +; 0x913af + 26 bytes + +_UnnamedText_55c54: ; 0x913c9 + db $0, "Whoo!", $58 +; 0x913c9 + 7 bytes + +_UnnamedText_55c59: ; 0x913d0 + db $0, "I could belly-", $4f + db "bump you outta", $55 + db "here!", $57 +; 0x913d0 + 37 bytes + +_UnnamedText_55c68: ; 0x913f5 + db $0, "You heading to", $4f + db "FUCHSIA?", $57 +; 0x913f5 + 25 bytes + +_UnnamedText_55c6d: ; 0x9140e + db $0, "Crash and", $4f + db "burn!", $58 +; 0x9140e + 17 bytes + +_UnnamedText_55c72: ; 0x9141f + db $0, "I love racing", $4f + db "downhill!", $57 +; 0x9141f + 25 bytes + +_UnnamedText_55c81: ; 0x91438 + db $0, "We're BIKERs!", $4f + db "Highway stars!", $57 +; 0x91438 + 29 bytes + +_UnnamedText_55c86: ; 0x91455 + db $0, "Smoked!", $58 +; 0x91455 + 9 bytes + +_UnnamedText_55c8b: ; 0x9145e + db $0, "Are you looking", $4f + db "for adventure?", $57 +; 0x9145e + 32 bytes + +_UnnamedText_55c9a: ; 0x9147e + db $0, "Let VOLTORB", $4f + db "electrify you!", $57 +; 0x9147e + 28 bytes + +_UnnamedText_55c9f: ; 0x9149a + db $0, "Grounded", $4f + db "out!", $58 +; 0x9149a + 15 bytes + +_UnnamedText_55ca4: ; 0x914a9 + db $0, "I got my VOLTORB", $4f + db "at the abandoned", $55 + db "POWER PLANT.", $57 +; 0x914a9 + 48 bytes + +_UnnamedText_55cb3: ; 0x914d9 + db $0, "My #MON won't", $4f + db "evolve! Why?", $57 +; 0x914d9 + 27 bytes + +_UnnamedText_55cb8: ; 0x914f4 + db $0, "Why,", $4f + db "you!", $58 +; 0x914f4 + 11 bytes + +_UnnamedText_55cbd: ; 0x914ff + db $0, "Maybe some #MON", $4f + db "need element", $55 + db "STONEs to evolve.", $57 +; 0x914ff + 48 bytes + +_UnnamedText_55ccc: ; 0x9152f + db $0, "I need a little", $4f + db "exercise!", $57 +; 0x9152f + 27 bytes + +_UnnamedText_55cd1: ; 0x9154a + db $0, "Whew!", $4f + db "Good workout!", $58 +; 0x9154a + 21 bytes + +_UnnamedText_55cd6: ; 0x9155f + db $0, "I'm sure I lost", $4f + db "weight there!", $57 +; 0x9155f + 30 bytes + +_UnnamedText_55ce5: ; 0x9157d + db $0, "Be a rebel!", $57 +; 0x9157d + 13 bytes + +_UnnamedText_55cea: ; 0x9158a + db $0, "Aaaargh!", $58 +; 0x9158a + 10 bytes + +_UnnamedText_55cef: ; 0x91594 + db $0, "Be ready to fight", $4f + db "for your beliefs!", $57 +; 0x91594 + 37 bytes + +_UnnamedText_55cfe: ; 0x915b9 + db $0, "Nice BIKE!", $4f + db "How's it handle?", $57 +; 0x915b9 + 28 bytes + +_UnnamedText_55d03: ; 0x915d5 + db $0, "Shoot!", $58 +; 0x915d5 + 8 bytes + +_UnnamedText_55d08: ; 0x915dd + db $0, "The slope makes", $4f + db "it hard to steer!", $57 +; 0x915dd + 35 bytes + +_UnnamedText_55d17: ; 0x91600 + db $0, "Get lost kid!", $4f + db "I'm bushed!", $57 +; 0x91600 + 26 bytes + +_UnnamedText_55d1c: ; 0x9161a + db $0, "Are you", $4f + db "satisfied?", $58 +; 0x9161a + 20 bytes + +_UnnamedText_55d21: ; 0x9162e + db $0, "I need to catch", $4f + db "a few Zs!", $57 +; 0x9162e + 27 bytes + +_Route17Text11: ; 0x91649 + db $0, "It's a notice!", $51 + db "Watch out for", $4f + db "discarded items!", $57 + +_Route17Text12: ; 0x91677 + db $0, "TRAINER TIPS", $51 + db "All #MON are", $4f + db "unique.", $51 + db "Even #MON of", $4f + db "the same type and", $55 + db "level grow at", $55 + db "different rates.", $57 + +_Route17Text13: ; 0x916d8 + db $0, "TRAINER TIPS", $51 + db "Press the A or B", $4f + db "Button to stay in", $55 + db "place while on a", $55 + db "slope.", $57 + +_Route17Text14: ; 0x91721 + db $0, "ROUTE 17", $4f + db "CELADON CITY -", $55 + db "FUCHSIA CITY", $57 + +_Route17Text15: ; 0x91747 + db $0, "It's a notice!", $51 + db "Don't throw the", $4f + db "game, throw #", $55 + db "BALLs instead!", $57 + +_Route17Text16: ; 0x91782 + db $0, "CYCLING ROAD", $4f + db "Slope ends here!", $57 + +_UnnamedText_59b19: ; 0x917a1 + db $0, "I always check", $4f + db "every grassy area", $55 + db "for new #MON.", $57 +; 0x917a1 + 48 bytes + +_UnnamedText_59b1e: ; 0x917d1 + db $0, "Tch!", $58 +; 0x917d1 + 6 bytes + +_UnnamedText_59b23: ; 0x917d7 + db $0, "I wish I had a", $4f + db "BIKE!", $57 +; 0x917d7 + 22 bytes + +_UnnamedText_59b32: ; 0x917ed + db $0, "Kurukkoo!", $4f + db "How do you like", $55 + db "my bird call?", $57 +; 0x917ed + 41 bytes + +_UnnamedText_59b37: ; 0x91816 + db $0, "I", $4f + db "had to bug you!", $58 +; 0x91816 + 19 bytes + +_UnnamedText_59b3c: ; 0x91829 + db $0, "I also collect sea", $4f + db "#MON on", $55 + db "weekends!", $57 +; 0x91829 + 38 bytes + +_UnnamedText_59b4b: ; 0x9184f + db $0, "This is my turf!", $4f + db "Get out of here!", $57 +; 0x9184f + 35 bytes + +_UnnamedText_59b50: ; 0x91872 + db $0, "Darn!", $58 +; 0x91872 + 7 bytes + +_UnnamedText_59b55: ; 0x91879 + db $0, "This is my fave", $4f + db "#MON hunting", $55 + db "area!", $57 +; 0x91879 + 36 bytes + +_Route18Text4: ; 0x9189d + db $0, "ROUTE 18", $4f + db "CELADON CITY -", $55 + db "FUCHSIA CITY", $57 + +_Route18Text5: ; 0x918c3 + db $0, "CYCLING ROAD", $4f + db "No pedestrians", $55 + db "permitted!", $57 + +_UnnamedText_55e50: ; 0x918eb + db $0, "Have to warm up", $4f + db "before my swim!", $57 +; 0x918eb + 33 bytes + +_UnnamedText_55e55: ; 0x9190c + db $0, "All", $4f + db "warmed up!", $58 +; 0x9190c + 16 bytes + +_UnnamedText_55e5a: ; 0x9191c + db $0, "Thanks, kid! I'm", $4f + db "ready for a swim!", $57 +; 0x9191c + 35 bytes + +_UnnamedText_55e5f: ; 0x9193f + db $0, "Wait! You'll have", $4f + db "a heart attack!", $57 +; 0x9193f + 34 bytes + +_UnnamedText_55e64: ; 0x91961 + db $0, "Ooh!", $4f + db "That's chilly!", $58 +; 0x91961 + 20 bytes + +_UnnamedText_55e69: ; 0x91975 + db $0, "Watch out for", $4f + db "TENTACOOL!", $57 +; 0x91975 + 26 bytes + +_UnnamedText_55e6e: ; 0x9198f + db $0, "I love swimming!", $4f + db "What about you?", $57 +; 0x9198f + 34 bytes + +_UnnamedText_55e73: ; 0x919b1 + db $0, "Belly", $4f + db "flop!", $58 +; 0x919b1 + 13 bytes + +_UnnamedText_55e78: ; 0x919be + db $0, "I can beat #MON", $4f + db "at swimming!", $57 +; 0x919be + 30 bytes + +_UnnamedText_55e7d: ; 0x919dc + db $0, "What's beyond the", $4f + db "horizon?", $57 +; 0x919dc + 27 bytes + +_UnnamedText_55e82: ; 0x919f7 + db $0, "Glub!", $58 +; 0x919f7 + 7 bytes + +_UnnamedText_55e87: ; 0x919fe + db $0, "I see a couple of", $4f + db "islands!", $57 +; 0x919fe + 28 bytes + +_UnnamedText_55e8c: ; 0x91a1a + db $0, "I tried diving", $4f + db "for #MON, but", $55 + db "it was a no go!", $57 +; 0x91a1a + 46 bytes + +_UnnamedText_55e91: ; 0x91a48 + db $0, "Help!", $58 +; 0x91a48 + 7 bytes + +_UnnamedText_55e96: ; 0x91a4f + db $0, "You have to fish", $4f + db "for sea #MON!", $57 +; 0x91a4f + 32 bytes + +_UnnamedText_55e9b: ; 0x91a6f + db $0, "I look at the", $4f + db "sea to forget!", $57 +; 0x91a6f + 30 bytes + +_UnnamedText_55ea0: ; 0x91a8d + db $0, "Ooh!", $4f + db "Traumatic!", $58 +; 0x91a8d + 17 bytes + +_UnnamedText_55ea5: ; 0x91a9e + db $0, "I'm looking at the", $4f + db "sea to forget!", $57 +; 0x91a9e + 34 bytes + +_UnnamedText_55eaa: ; 0x91ac0 + db $0, "Oh, I just love", $4f + db "your ride! Can I", $55 + db "have it if I win?", $57 +; 0x91ac0 + 52 bytes + +_UnnamedText_55eaf: ; 0x91af4 + db $0, "Oh!", $4f + db "I lost!", $58 +; 0x91af4 + 13 bytes + +_UnnamedText_55eb4: ; 0x91b01 + db $0, "It's still a long", $4f + db "way to go to", $55 + db "SEAFOAM ISLANDS.", $57 +; 0x91b01 + 48 bytes + +_UnnamedText_55eb9: ; 0x91b31 + db $0, "Swimming's great!", $4f + db "Sunburns aren't!", $57 +; 0x91b31 + 34 bytes + +_UnnamedText_55ebe: ; 0x91b53 + db $0, "Shocker!", $58 +; 0x91b53 + 10 bytes + +_UnnamedText_55ec3: ; 0x91b5d + db $0, "My boy friend", $4f + db "wanted to swim to", $55 + db "SEAFOAM ISLANDS.", $57 +; 0x91b5d + 50 bytes + +_UnnamedText_55ec8: ; 0x91b8f + db $0, "These waters are", $4f + db "treacherous!", $57 +; 0x91b8f + 31 bytes + +_UnnamedText_55ecd: ; 0x91bae + db $0, "Ooh!", $4f + db "Dangerous!", $58 +; 0x91bae + 17 bytes + +_UnnamedText_55ed2: ; 0x91bbf + db $0, "I got a cramp!", $4f + db "Glub, glub...", $57 +; 0x91bbf + 30 bytes + +_UnnamedText_55ed7: ; 0x91bdd + db $0, "I swam here, but", $4f + db "I'm tired.", $57 +; 0x91bdd + 28 bytes + +_UnnamedText_55edc: ; 0x91bf9 + db $0, "I'm", $4f + db "exhausted...", $58 +; 0x91bf9 + 17 bytes + +_UnnamedText_55ee1: ; 0x91c0a + db $0, "LAPRAS is so big,", $4f + db "it must keep you", $55 + db "dry on water.", $57 +; 0x91c0a + 50 bytes + +_Route19Text11: ; 0x91c3c + db $0, "SEA ROUTE 19", $4f + db "FUCHSIA CITY -", $55 + db "SEAFOAM ISLANDS", $57 + +_UnnamedText_50e17: ; 0x91c69 + db $0, "The water is", $4f + db "shallow here.", $57 +; 0x91c69 + 28 bytes + +_UnnamedText_50e1c: ; 0x91c85 + db $0, "Splash!", $58 +; 0x91c85 + 9 bytes + +_UnnamedText_50e21: ; 0x91c8e + db $0, "I wish I could", $4f + db "ride my #MON.", $57 +; 0x91c8e + 30 bytes + +_UnnamedText_50e26: ; 0x91cac + db $0, "SEAFOAM is a", $4f + db "quiet getaway!", $57 +; 0x91cac + 29 bytes + +_UnnamedText_50e2b: ; 0x91cc9 + db $0, "Quit it!", $58 +; 0x91cc9 + 10 bytes + +_UnnamedText_50e30: ; 0x91cd3 + db $0, "There's a huge", $4f + db "cavern underneath", $55 + db "this island.", $57 +; 0x91cd3 + 46 bytes + +_UnnamedText_50e35: ; 0x91d01 + db $0, "I love floating", $4f + db "with the fishes!", $57 +; 0x91d01 + 34 bytes + +_UnnamedText_50e3a: ; 0x91d23 + db $0, "Yowch!", $58 +; 0x91d23 + 8 bytes + +_UnnamedText_50e3f: ; 0x91d2b + db $0, "Want to float", $4f + db "with me?", $57 +; 0x91d2b + 24 bytes + +_UnnamedText_50e44: ; 0x91d43 + db $0, "Are you on", $4f + db "vacation too?", $57 +; 0x91d43 + 26 bytes + +_UnnamedText_50e49: ; 0x91d5d + db $0, "No", $4f + db "mercy at all!", $58 +; 0x91d5d + 18 bytes + +_UnnamedText_50e4e: ; 0x91d6f + db $0, "SEAFOAM used to", $4f + db "be one island!", $57 +; 0x91d6f + 32 bytes + +_UnnamedText_50e53: ; 0x91d8f + db $0, "Check out my buff", $4f + db "physique!", $57 +; 0x91d8f + 29 bytes + +_UnnamedText_50e58: ; 0x91dac + db $0, "Wimpy!", $58 +; 0x91dac + 8 bytes + +_UnnamedText_50e5d: ; 0x91db4 + db $0, "I should've been", $4f + db "buffing up my", $55 + db "#MON, not me!", $57 +; 0x91db4 + 45 bytes + +_UnnamedText_50e62: ; 0x91de1 + db $0, "Why are you", $4f + db "riding a #MON?", $55 + db "Can't you swim?", $57 +; 0x91de1 + 43 bytes + +_UnnamedText_50e67: ; 0x91e0c + db $0, "Ouch!", $4f + db "Torpedoed!", $58 +; 0x91e0c + 18 bytes + +_UnnamedText_50e6c: ; 0x91e1e + db $0, "Riding a #MON", $4f + db "sure looks fun!", $57 +; 0x91e1e + 31 bytes + +_UnnamedText_50e71: ; 0x91e3d + db $0, "I rode my bird", $4f + db "#MON here!", $57 +; 0x91e3d + 27 bytes + +_UnnamedText_50e76: ; 0x91e58 + db $0, "Oh", $4f + db "no!", $58 +; 0x91e58 + 8 bytes + +_UnnamedText_50e7b: ; 0x91e60 + db $0, "My birds can't", $4f + db "FLY me back!", $57 +; 0x91e60 + 28 bytes + +_UnnamedText_50e80: ; 0x91e7c + db $0, "My boy friend gave", $4f + db "me big pearls!", $57 +; 0x91e7c + 35 bytes + +_UnnamedText_50e85: ; 0x91e9f + db $0, "Don't", $4f + db "touch my pearls!", $58 +; 0x91e9f + 23 bytes + +_UnnamedText_50e8a: ; 0x91eb6 + db $0, "Will my pearls", $4f + db "grow bigger", $55 + db "inside CLOYSTER?", $57 +; 0x91eb6 + 45 bytes + +_UnnamedText_50e8f: ; 0x91ee3 + db $0, "I swam here from", $4f + db "CINNABAR ISLAND!", $57 +; 0x91ee3 + 35 bytes + +_UnnamedText_50e94: ; 0x91f06 + db $0, "I'm", $4f + db "so disappointed!", $58 +; 0x91f06 + 21 bytes + +_UnnamedText_50e99: ; 0x91f1b + db $0, "#MON have", $4f + db "taken over an", $55 + db "abandoned mansion", $55 + db "on CINNABAR!", $57 +; 0x91f1b + 56 bytes + +_UnnamedText_50e9e: ; 0x91f53 + db $0, "CINNABAR, in the", $4f + db "west, has a LAB", $55 + db "for #MON.", $57 +; 0x91f53 + 44 bytes + +_UnnamedText_50ea3: ; 0x91f7f + db $0, "Wait!", $58 +; 0x91f7f + 7 bytes + +_UnnamedText_50ea8: ; 0x91f86 + db $0, "CINNABAR is a ", $4f + db "volcanic island!", $57 +; 0x91f86 + 33 bytes + +_Route20Text12: ; 0x91fa7 +_Route20Text11: ; 0x91fa7 + db $0, "SEAFOAM ISLANDS", $57 + +_UnnamedText_55fdd: ; 0x91fb8 + db $0, "You want to know", $4f + db "if the fish are", $55 + db "biting?", $57 +; 0x91fb8 + 42 bytes + +_UnnamedText_55fe2: ; 0x91fe2 + db $0, "Dang!", $58 +; 0x91fe2 + 7 bytes + +_UnnamedText_55fe7: ; 0x91fe9 + db $0, "I can't catch", $4f + db "anything good!", $57 +; 0x91fe9 + 29 bytes + +_UnnamedText_55fec: ; 0x92006 + db $0, "I got a big haul!", $4f + db "Wanna go for it?", $57 +; 0x92006 + 36 bytes + +_UnnamedText_55ff1: ; 0x9202a + db $0, "Darn", $4f + db "MAGIKARP!", $58 +; 0x9202a + 16 bytes + +_UnnamedText_55ff6: ; 0x9203a + db $0, "I seem to only", $4f + db "catch MAGIKARP!", $57 +; 0x9203a + 32 bytes + +_UnnamedText_55ffb: ; 0x9205a + db $0, "The sea cleanses", $4f + db "my body and soul!", $57 +; 0x9205a + 36 bytes + +_UnnamedText_56000: ; 0x9207e + db $0, "Ayah!", $58 +; 0x9207e + 7 bytes + +_UnnamedText_56005: ; 0x92085 + db $0, "I like the", $4f + db "mountains too!", $57 +; 0x92085 + 27 bytes + +_UnnamedText_5600a: ; 0x920a0 + db $0, "What's wrong with", $4f + db "me swimming?", $57 +; 0x920a0 + 31 bytes + +_UnnamedText_5600f: ; 0x920bf + db $0, "Cheap", $4f + db "shot!", $58 +; 0x920bf + 13 bytes + +_UnnamedText_56014: ; 0x920cc + db $0, "I look like what?", $4f + db "A studded inner", $55 + db "tube? Get lost!", $57 +; 0x920cc + 51 bytes + +_UnnamedText_56019: ; 0x920ff + db $0, "I caught all my", $4f + db "#MON at sea!", $57 +; 0x920ff + 30 bytes + +_UnnamedText_5601e: ; 0x9211d + db $0, "Diver!!", $4f + db "Down!!", $58 +; 0x9211d + 16 bytes + +_UnnamedText_56023: ; 0x9212d + db $0, "Where'd you catch", $4f + db "your #MON?", $57 +; 0x9212d + 29 bytes + +_UnnamedText_56028: ; 0x9214a + db $0, "Right now, I'm in", $4f + db "a triathlon meet!", $57 +; 0x9214a + 36 bytes + +_UnnamedText_5602d: ; 0x9216e + db $0, "Pant...", $4f + db "pant...pant...", $58 +; 0x9216e + 24 bytes + +_UnnamedText_56032: ; 0x92186 + db $0, "I'm beat!", $4f + db "But, I still have", $55 + db "the bike race and", $55 + db "marathon left!", $57 +; 0x92186 + 61 bytes + +_UnnamedText_56037: ; 0x921c3 + db $0, "Ahh! Feel the sun", $4f + db "and the wind!", $57 +; 0x921c3 + 33 bytes + +_UnnamedText_5603c: ; 0x921e4 + db $0, "Yow!", $4f + db "I lost!", $58 +; 0x921e4 + 14 bytes + +_UnnamedText_56041: ; 0x921f2 + db $0, "I'm sunburnt to a", $4f + db "crisp!", $57 +; 0x921f2 + 25 bytes + +_UnnamedText_56046: ; 0x9220b + db $0, "Hey, don't scare", $4f + db "away the fish!", $57 +; 0x9220b + 32 bytes + +_UnnamedText_5604b: ; 0x9222b + db $0, "Sorry!", $4f + db "I didn't mean it!", $58 +; 0x9222b + 25 bytes + +_UnnamedText_56050: ; 0x92244 + db $0, "I was just angry", $4f + db "that I couldn't", $55 + db "catch anything.", $57 +; 0x92244 + 49 bytes + +_UnnamedText_56055: ; 0x92275 + db $0, "Keep me company", $4f + db "'til I get a hit!", $57 +; 0x92275 + 34 bytes + +_UnnamedText_5605a: ; 0x92297 + db $0, "That", $4f + db "burned some time.", $58 +; 0x92297 + 24 bytes + +_UnnamedText_5605f: ; 0x922af + db $0, "Oh wait! I got a", $4f + db "bite! Yeah!", $57 +; 0x922af + 30 bytes + +_UnnamedText_511ad: ; 0x922cd + db $0, $53, ": Hey!", $4f + db $52, "!", $51 + db "You're going to", $4f + db "#MON LEAGUE?", $51 + db "Forget it! You", $4f + db "probably don't", $55 + db "have any BADGEs!", $51 + db "The guard won't", $4f + db "let you through!", $51 + db "By the way, did", $4f + db "your #MON", $55 + db "get any stronger?", $57 +; 0x922cd + 162 bytes + +_UnnamedText_511b2: ; 0x9236f + db $0, "I heard #MON", $4f + db "LEAGUE has many", $55 + db "tough trainers!", $51 + db "I have to figure", $4f + db "out how to get", $55 + db "past them!", $51 + db "You should quit", $4f + db "dawdling and get", $55 + db "a move on!", $57 +; 0x9236f + 133 bytes + +_UnnamedText_511b7: ; 0x923f4 + db $0, "Awww!", $4f + db "You just lucked", $55 + db "out!", $58 +; 0x923f4 + 28 bytes + +_UnnamedText_511bc: ; 0x92410 + db $0, $53, ": What?", $4f + db "Why do I have 2", $55 + db "#MON?", $51 + db "You should catch", $55 + db "some more too!", $58 +; 0x92410 + 64 bytes + +_UnnamedText_511c1: ; 0x92450 + db $0, $53, ": What?", $4f + db $52, "! What a", $55 + db "surprise to see", $55 + db "you here!", $51 + db "So you're going to", $4f + db "#MON LEAGUE?", $51 + db "You collected all", $4f + db "the BADGEs too?", $55 + db "That's cool!", $51 + db "Then I'll whip you", $4f + db $52, " as a", $55 + db "warm up for", $55 + db "#MON LEAGUE!", $51 + db "Come on!", $57 +; 0x92450 + 182 bytes + +_UnnamedText_511c6: ; 0x92506 + db $0, "That loosened me", $4f + db "up! I'm ready for", $55 + db "#MON LEAGUE!", $51 + db $52, ", you need", $4f + db "more practice!", $51 + db "But hey, you know", $4f + db "that! I'm out of", $55 + db "here. Smell ya!", $57 +; 0x92506 + 125 bytes + +_UnnamedText_511cb: ; 0x92583 + db $0, "What!?", $51 + db "I was just", $4f + db "careless!", $58 +; 0x92583 + 29 bytes + +_UnnamedText_511d0: ; 0x925a0 + db $0, $53, ": Hahaha!", $4f + db $52, "! That's", $55 + db "your best? You're", $55 + db "nowhere near as", $55 + db "good as me, pal!", $51 + db "Go train some", $4f + db "more! You loser!", $58 +; 0x925a0 + 102 bytes + +_Route22Text3: ; 0x92606 + db $0, "#MON LEAGUE", $4f + db "Front Gate", $57 + +UnknownText_9261e: ; 0x9261e + db $0, "You can pass here", $4f + db "only if you have", $55 + db "the @" +; 0x9261e + 41 bytes + +UnknownText_92647: ; 0x92647 + TX_RAM $cd6d + db $0, "!", $51 + db "You don't have the", $4f + db "@" +; 0x92647 + 25 bytes (0x92660) + +UnknownText_92660: ; 0x92660 + TX_RAM $cd6d + db $0, " yet!", $51 + db "You have to have", $4f + db "it to get to", $55 + db "#MON LEAGUE!@@" +; 0x92660 + 54 bytes + +UnknownText_92696: ; 0x92696 + db $0, "You can pass here", $4f + db "only if you have", $55 + db "the @" +; 0x92696 + 41 bytes + +UnknownText_926bf: ; 0x926bf + TX_RAM $cd6d + db $0, "!", $51 + db "Oh! That is the", $4f + db "@" +; 0x926bf + 23 bytes + +UnknownText_926d6: ; 0x926d6 + TX_RAM $cd6d + db $0, "!@@" +; 0x926d6 + 7 bytes + +_UnnamedText_513a3: ; 0x926dd + db $0, $51 + db "OK then! Please,", $4f + db "go right ahead!", $57 +; 0x926dd + 35 bytes + +_Route23Text8: ; 0x92700 + db $0, "VICTORY ROAD GATE", $4f + db "- #MON LEAGUE", $57 + +_UnnamedText_51510: ; 0x92721 + db $0, "Congratulations!", $4f + db "You beat our 5", $55 + db "contest trainers!@@" +; 0x92721 + 52 bytes + +_UnnamedText_51515: ; 0x92755 + db $0, $51 + db "You just earned a", $4f + db "fabulous prize!", $58 +; 0x92755 + 36 bytes + +_UnnamedText_5151a: ; 0x92779 + db $0, $52, " received", $4f + db "a @" +; 0x92779 + 15 bytes + +UnknownText_92788: ; 0x92788 + TX_RAM $cf4b + db $0, "!@@" +; 0x92788 + 7 bytes + +_UnnamedText_51521: ; 0x9278f + db $0, "You don't have", $4f + db "any room!", $57 +; 0x9278f + 25 bytes + +_UnnamedText_51526: ; 0x927a8 + db $0, "By the way, would", $4f + db "you like to join", $55 + db "TEAM ROCKET?", $51 + db "We're a group", $4f + db "dedicated to evil", $55 + db "using #MON!", $51 + db "Want to join?", $51 + db "Are you sure?", $51 + db "Come on, join us!", $51 + db "I'm telling you", $4f + db "to join!", $51 + db "OK, you need", $4f + db "convincing!", $51 + db "I'll make you an", $4f + db "offer you can't", $55 + db "refuse!", $57 +; 0x927a8 + 226 bytes + +_UnnamedText_5152b: ; 0x9288a + db $0, "Arrgh!", $4f + db "You are good!", $58 +; 0x9288a + 22 bytes + +_UnnamedText_51530: ; 0x928a0 + db $0, "With your ability,", $4f + db "you could become", $55 + db "a top leader in", $55 + db "TEAM ROCKET!", $57 +; 0x928a0 + 66 bytes + +_UnnamedText_51571: ; 0x928e2 + db $0, "I saw your feat", $4f + db "from the grass!", $57 +; 0x928e2 + 33 bytes + +SECTION "bank25",DATA,BANK[$25] + +_UnnamedText_51576: ; 0x94000 + db $0, "I", $4f + db "thought not!", $58 +; 0x94000 + 16 bytes + +_UnnamedText_5157b: ; 0x94010 + db $0, "I hid because the", $4f + db "people on the", $55 + db "bridge scared me!", $57 +; 0x94010 + 51 bytes + +_UnnamedText_51580: ; 0x94043 + db $0, "OK! I'm No. 5!", $4f + db "I'll stomp you!", $57 +; 0x94043 + 30 bytes + +_UnnamedText_51585: ; 0x94061 + db $0, "Whoa!", $4f + db "Too much!", $58 +; 0x94061 + 17 bytes + +_UnnamedText_5158a: ; 0x94072 + db $0, "I did my best, I", $4f + db "have no regrets!", $57 +; 0x94072 + 35 bytes + +_UnnamedText_5158f: ; 0x94095 + db $0, "I'm No. 4!", $4f + db "Getting tired?", $57 +; 0x94095 + 26 bytes + +_UnnamedText_51594: ; 0x940af + db $0, "I lost", $4f + db "too!", $58 +; 0x940af + 13 bytes + +_UnnamedText_51599: ; 0x940bc + db $0, "I did my best, so", $4f + db "I've no regrets!", $57 +; 0x940bc + 35 bytes + +_UnnamedText_5159e: ; 0x940df + db $0, "Here's No. 3!", $4f + db "I won't be easy!", $57 +; 0x940df + 30 bytes + +_UnnamedText_515a3: ; 0x940fd + db $0, "Ow!", $4f + db "Stomped flat!", $58 +; 0x940fd + 19 bytes + +_UnnamedText_515a8: ; 0x94110 + db $0, "I did my best, I", $4f + db "have no regrets!", $57 +; 0x94110 + 35 bytes + +_UnnamedText_515ad: ; 0x94133 + db $0, "I'm second!", $4f + db "Now it's serious!", $57 +; 0x94133 + 29 bytes + +_UnnamedText_515b2: ; 0x94150 + db $0, "How could I", $4f + db "lose?", $58 +; 0x94150 + 19 bytes + +_UnnamedText_515b7: ; 0x94163 + db $0, "I did my best, I", $4f + db "have no regrets!", $57 +; 0x94163 + 35 bytes + +_UnnamedText_515bc: ; 0x94186 + db $0, "This is NUGGET", $4f + db "BRIDGE! Beat us 5", $55 + db "trainers and win", $55 + db "a fabulous prize!", $51 + db "Think you got", $4f + db "what it takes?", $57 +; 0x94186 + 98 bytes + +_UnnamedText_515c1: ; 0x941e8 + db $0, "Whoo!", $4f + db "Good stuff!", $58 +; 0x941e8 + 19 bytes + +_UnnamedText_515c6: ; 0x941fb + db $0, "I did my best, I", $4f + db "have no regrets!", $57 +; 0x941fb + 35 bytes + +_UnnamedText_51705: ; 0x9421e + db $0, "Local trainers", $4f + db "come here to", $55 + db "practice!", $57 +; 0x9421e + 39 bytes + +_UnnamedText_5170a: ; 0x94245 + db $0, "You're", $4f + db "decent.", $58 +; 0x94245 + 15 bytes + +_UnnamedText_5170f: ; 0x94254 + db $0, "All #MON have", $4f + db "weaknesses. It's", $55 + db "best to raise", $55 + db "different kinds.", $57 +; 0x94254 + 62 bytes + +_UnnamedText_51714: ; 0x94292 + db $0, "Dad took me to a", $4f + db "great party on", $55 + db "S.S.ANNE at", $55 + db "VERMILION CITY!", $57 +; 0x94292 + 61 bytes + +_UnnamedText_51719: ; 0x942cf + db $0, "I'm", $4f + db "not mad!", $58 +; 0x942cf + 13 bytes + +_UnnamedText_5171e: ; 0x942dc + db $0, "On S.S.ANNE, I", $4f + db "saw trainers from", $55 + db "around the world.", $57 +; 0x942dc + 52 bytes + +_UnnamedText_51723: ; 0x94310 + db $0, "I'm a cool guy.", $4f + db "I've got a girl", $55 + db "friend!", $57 +; 0x94310 + 39 bytes + +_UnnamedText_51728: ; 0x94337 + db $0, "Aww,", $4f + db "darn...", $58 +; 0x94337 + 14 bytes + +_UnnamedText_5172d: ; 0x94345 + db $0, "Oh well. My girl", $4f + db "will cheer me up.", $57 +; 0x94345 + 36 bytes + +_UnnamedText_51732: ; 0x94369 + db $0, "Hi! My boy", $4f + db "friend is cool!", $57 +; 0x94369 + 28 bytes + +_UnnamedText_51737: ; 0x94385 + db $0, "I was in", $4f + db "bad condition!", $58 +; 0x94385 + 25 bytes + +_UnnamedText_5173c: ; 0x9439e + db $0, "I wish my guy was", $4f + db "as good as you!", $57 +; 0x9439e + 35 bytes + +_UnnamedText_51741: ; 0x943c1 + db $0, "I knew I had to", $4f + db "fight you!", $57 +; 0x943c1 + 28 bytes + +_UnnamedText_51746: ; 0x943dd + db $0, "I knew", $4f + db "I'd lose too!", $58 +; 0x943dd + 21 bytes + +_UnnamedText_5174b: ; 0x943f2 + db $0, "If your #MON", $4f + db "gets confused or", $55 + db "falls asleep,", $55 + db "switch it!", $57 +; 0x943f2 + 56 bytes + +_UnnamedText_51750: ; 0x9442a + db $0, "My friend has a", $4f + db "cute #MON.", $55 + db "I'm so jealous!", $57 +; 0x9442a + 43 bytes + +_UnnamedText_51755: ; 0x94455 + db $0, "I'm", $4f + db "not so jealous!", $58 +; 0x94455 + 20 bytes + +_UnnamedText_5175a: ; 0x94469 + db $0, "You came from MT.", $4f + db "MOON? May I have", $55 + db "a CLEFAIRY?", $57 +; 0x94469 + 48 bytes + +_UnnamedText_5175f: ; 0x94499 + db $0, "I just got down", $4f + db "from MT.MOON,", $55 + db "but I'm ready!", $57 +; 0x94499 + 45 bytes + +_UnnamedText_51764: ; 0x944c6 + db $0, "You", $4f + db "worked hard!", $58 +; 0x944c6 + 18 bytes + +_UnnamedText_51769: ; 0x944d8 + db $0, "Drat!", $4f + db "A ZUBAT bit me", $55 + db "back in there.", $57 +; 0x944d8 + 37 bytes + +_UnnamedText_5176e: ; 0x944fd + db $0, "I'm off to see a", $4f + db "#MON collector", $55 + db "at the cape!", $57 +; 0x944fd + 45 bytes + +_UnnamedText_51773: ; 0x9452a + db $0, "You", $4f + db "got me.", $58 +; 0x9452a + 13 bytes + +_UnnamedText_51778: ; 0x94537 + db $0, "The collector has", $4f + db "many rare kinds", $55 + db "of #MON.", $57 +; 0x94537 + 44 bytes + +_UnnamedText_5177d: ; 0x94563 + db $0, "You're going to", $4f + db "see BILL? First,", $55 + db "let's fight!", $57 +; 0x94563 + 45 bytes + +_UnnamedText_51782: ; 0x94590 + db $0, "You're", $4f + db "something.", $58 +; 0x94590 + 18 bytes + +_UnnamedText_51787: ; 0x945a2 + db $0, "The trail below", $4f + db "is a shortcut to", $55 + db "CERULEAN CITY.", $57 +; 0x945a2 + 49 bytes + +_Route25Text11: ; 0x945d3 + db $0, "SEA COTTAGE", $4f + db "BILL lives here!", $57 + +_UnnamedText_7361e: ; 0x945f1 + db $0, "The file data is", $4f + db "destroyed!", $58 +; 0x945f1 + 29 bytes + +_UnnamedText_7377d: ; 0x9460e + db $0, "Would you like to", $4f + db "SAVE the game?", $57 +; 0x9460e + 34 bytes + +_UnnamedText_73782: ; 0x94630 + db $0, $52, " saved", $4f + db "the game!", $57 +; 0x94630 + 19 bytes + +_UnnamedText_73787: ; 0x94643 + db $0, "The older file", $4f + db "will be erased to", $55 + db "save. Okay?", $57 +; 0x94643 + 46 bytes + +_UnnamedText_73909: ; 0x94671 + db $0, "When you change a", $4f + db "#MON BOX, data", $55 + db "will be saved.", $51 + db "Is that okay?", $57 +; 0x94671 + 63 bytes + +_UnnamedText_739d4: ; 0x946b0 + db $0, "Choose a", $4f + db $4a, " BOX.@@" +; 0x946b0 + 17 bytes + +_UnnamedText_3af3e: ; 0x946c2 + TX_RAM $cf4b + db $0, " evolved", $57 +; 0x946c2 + 13 bytes + +_UnnamedText_3af43: ; 0x946cf + db $0, $4f + db "into @" +; 0x946cf + 8 bytes + +UnknownText_946d7: ; 0x946d7 + TX_RAM $cd6d + db $0, "!", $57 +; 0x946d7 + 6 bytes + +_UnnamedText_3af48: ; 0x946dd + db $0, "Huh? @" +; 0x946dd + 7 bytes + +UnknownText_946e4: ; 0x946e4 + TX_RAM $cf4b + db $0, $4f + db "stopped evolving!", $58 +; 0x946e4 + 23 bytes + +_UnnamedText_3af4d: ; 0x946fb + db $0, "What? @" +; 0x946fb + 8 bytes + +UnknownText_94703: ; 0x94703 + TX_RAM $cf4b + db $0, $4f + db "is evolving!", $57 +; 0x94703 + 18 bytes + +_UnnamedText_3f245: ; 0x94715 + db $0, $59, $4f + db "fell asleep!", $58 +; 0x94715 + 16 bytes + +_UnnamedText_3f24a: ; 0x94725 + db $0, $59, "'s", $4f + db "already asleep!", $58 +; 0x94725 + 20 bytes + +_UnnamedText_3f2df: ; 0x94739 + db $0, $59, $4f + db "was poisoned!", $58 +; 0x94739 + 17 bytes + +_UnnamedText_3f2e4: ; 0x9474a + db $0, $59, "'s", $4f + db "badly poisoned!", $58 +; 0x9474a + 20 bytes + +_UnnamedText_3f3d8: ; 0x9475e + db $0, $59, $4f + db "was burned!", $58 +; 0x9475e + 15 bytes + +_UnnamedText_3f3dd: ; 0x9476d + db $0, $59, $4f + db "was frozen solid!", $58 +; 0x9476d + 21 bytes + +_UnnamedText_3f423: ; 0x94782 + db $0, "Fire defrosted", $4f + db $59, "!", $58 +; 0x94782 + 19 bytes + +UnknownText_94795: ; 0x94795 + db $0, $5a, "'s", $4f + db "@" +; 0x94795 + 5 bytes + +UnknownText_9479a: ; 0x9479a + TX_RAM $cf4b + db $0, "@@" +; 0x9479a + 6 bytes + +UnknownText_947a0: ; 0x947a0 + db $0, $4c, "greatly@@" +; 0x947a0 + 11 bytes + +_UnnamedText_3f547: ; 0x947ab + db $0, " rose!", $58 +; 0x947ab + 8 bytes + +UnknownText_947b3: ; 0x947b3 + db $0, $59, "'s", $4f + db "@" +; 0x947b3 + 5 bytes + +UnknownText_947b8: ; 0x947b8 + TX_RAM $cf4b + db $0, "@@" +; 0x947b8 + 6 bytes + +UnknownText_947be: ; 0x947be + db $0, $4c, "greatly@@" +; 0x947be + 11 bytes + +_UnnamedText_3f683: ; 0x947c9 + db $0, " fell!", $58 +; 0x947c9 + 8 bytes + +_UnnamedText_3f802: ; 0x947d1 + db $0, $5a, $4f + db "ran from battle!", $58 +; 0x947d1 + 20 bytes + +_UnnamedText_3f807: ; 0x947e5 + db $0, $59, $4f + db "ran away scared!", $58 +; 0x947e5 + 20 bytes + +_UnnamedText_3f80c: ; 0x947f9 + db $0, $59, $4f + db "was blown away!", $58 +; 0x947f9 + 19 bytes + +UnnamedText_9480c: ; 0x9480c + db $0, $5a, "@@" +; 0x9480c + 4 bytes + +_UnnamedText_3f8f9: ; 0x94810 + db $0, $4f + db "made a whirlwind!", $58 +; 0x94810 + 20 bytes + +_UnnamedText_3f8fe: ; 0x94824 + db $0, $4f + db "took in sunlight!", $58 +; 0x94824 + 20 bytes + +_UnnamedText_3f903: ; 0x94838 + db $0, $4f + db "lowered its head!", $58 +; 0x94838 + 20 bytes + +_UnnamedText_3f908: ; 0x9484c + db $0, $4f + db "is glowing!", $58 +; 0x9484c + 14 bytes + +_UnnamedText_3f90d: ; 0x9485a + db $0, $4f + db "flew up high!", $58 +; 0x9485a + 16 bytes + +_UnnamedText_3f912: ; 0x9486a + db $0, $4f + db "dug a hole!", $58 +; 0x9486a + 14 bytes + +_UnnamedText_3f9a1: ; 0x94878 + db $0, $59, $4f + db "became confused!", $58 +; 0x94878 + 20 bytes + +_UnnamedText_3fa77: ; 0x9488c + db $0, $5a, $4f + db "learned", $55 + db "@" +; 0x9488c + 12 bytes + +UnnamedText_94898: ; 0x94898 + TX_RAM $cd6d + db $0, "!", $58 +; 0x94898 + 6 bytes + +_UnnamedText_3fb09: ; 0x9489e + db $0, $59, "'s", $4f + db "@" +; 0x9489e + 5 bytes + +UnnamedText_948a3: ; 0x948a3 + TX_RAM $cd6d + db $0, " was", $55 + db "disabled!", $58 +; 0x948a3 + 19 bytes + +_UnnamedText_3fb3e: ; 0x948b6 + db $0, "Nothing happened!", $58 +; 0x948b6 + 19 bytes + +_UnnamedText_3fb49: ; 0x948c9 + db $0, "No effect!", $58 +; 0x948c9 + 12 bytes + +_UnnamedText_3fb59: ; 0x948d5 + db $0, "But, it failed! ", $58 +; 0x948d5 + 18 bytes + +_UnnamedText_3fb64: ; 0x948e7 + db $0, "It didn't affect", $4f + db $59, "!", $58 +; 0x948e7 + 20 bytes + +_UnnamedText_3fb69: ; 0x948fb + db $0, $59, $4f + db "is unaffected!", $58 +; 0x948fb + 18 bytes + +_UnnamedText_3fb74: ; 0x9490d + db $0, $59, "'s", $4f + db "paralyzed! It may", $55 + db "not attack!", $58 +; 0x9490d + 34 bytes + +_UnnamedText_17e1d: ; 0x9492f + db $0, "It created a", $4f + db "SUBSTITUTE!", $58 +; 0x9492f + 26 bytes + +_UnnamedText_17e22: ; 0x94949 + db $0, $5a, $4f + db "has a SUBSTITUTE!", $58 +; 0x94949 + 21 bytes + +_UnnamedText_17e27: ; 0x9495e + db $0, "Too weak to make", $4f + db "a SUBSTITUTE!", $58 +; 0x9495e + 32 bytes + +_UnnamedText_2ff04: ; 0x9497e + db $0, "Coins scattered", $4f + db "everywhere!", $58 +; 0x9497e + 29 bytes + +_UnnamedText_27fb3: ; 0x9499b + db $0, $5a, "'s", $4f + db "getting pumped!", $58 +; 0x9499b + 20 bytes + +_UnnamedText_2bef2: ; 0x949af + db $0, $59, $4f + db "was seeded!", $58 +; 0x949af + 15 bytes + +_UnnamedText_2bef7: ; 0x949be + db $0, $59, $4f + db "evaded attack!", $58 +; 0x949be + 18 bytes + +_UnnamedText_1399e: ; 0x949d0 + db $0, $5a, "'s", $4f + db "hit with recoil!", $58 +; 0x949d0 + 21 bytes + +_UnnamedText_139cd: ; 0x949e5 + db $0, "Converted type to", $4f + db $59, "'s!", $58 +; 0x949e5 + 23 bytes + +_UnnamedText_13a53: ; 0x949fc + db $0, "All STATUS changes", $4f + db "are eliminated!", $58 +; 0x949fc + 36 bytes + +_UnnamedText_3baa2: ; 0x94a20 + db $0, $5a, $4f + db "started sleeping!", $57 +; 0x94a20 + 21 bytes + +_UnnamedText_3baa7: ; 0x94a35 + db $0, $5a, $4f + db "fell asleep and", $55 + db "became healthy!", $57 +; 0x94a35 + 35 bytes + +_UnnamedText_3baac: ; 0x94a58 + db $0, $5a, $4f + db "regained health!", $58 +; 0x94a58 + 20 bytes + +_UnnamedText_3bb92: ; 0x94a6c + db $0, $5a, $4f + db "transformed into", $55 + db "@" +; 0x94a6c + 21 bytes + +UnnamedText_94a81: ; 0x94a81 + TX_RAM $cd6d + db $0, "!", $58 +; 0x94a81 + 6 bytes + +_UnnamedText_3bbd7: ; 0x94a87 + db $0, $5a, "'s", $4f + db "protected against", $55 + db "special attacks!", $58 +; 0x94a87 + 39 bytes + +_UnnamedText_3bbdc: ; 0x94aae + db $0, $5a, $4f + db "gained armor!", $58 +; 0x94aae + 17 bytes + +_UnnamedText_33f52: ; 0x94abf + db $0, $5a, "'s", $4f + db "shrouded in mist!", $58 +; 0x94abf + 22 bytes + +_UnnamedText_78dc: ; 0x94ad5 + db $0, "Sucked health from", $4f + db $59, "!", $58 +; 0x94ad5 + 23 bytes + +_UnnamedText_78e1: ; 0x94aec + db $0, $59, "'s", $4f + db "dream was eaten!", $58 +; 0x94aec + 21 bytes + +_BattleCenterMText1: ; 0x94b01 + db $0, "!", $57 + +_TradeCenterMText1: ; 0x94b04 + db $0, "!", $57 + +INCLUDE "text/mapRedsHouse1F.tx" +INCLUDE "text/mapBluesHouse.tx" + +_OaksLabGaryText1: ; 0x94d5b + db $0, $53, ": Yo", $4f + db $52, "! Gramps", $55 + db "isn't around!", $57 +; 0x94d5b + 30 bytes + +_OaksLabText40: ; 0x94d79 + db $0, $53, ": Heh, I", $4f + db "don't need to be", $55 + db "greedy like you!", $51 + db "Go ahead and", $4f + db "choose, ", $52, "!", $57 +; 0x94d79 + 68 bytes + +_OaksLabText41: ; 0x94dbd + db $0, $53, ": My", $4f + db "#MON looks a", $55 + db "lot stronger.", $57 +; 0x94dbd + 34 bytes + +_OaksLabText39: ; 0x94ddf + db $0 + db "Those are #", $4f + db "BALLs. They", $55 + db "contain #MON!", $57 +; 0x94e06 + +_OaksLabCharmanderText: ; 0x94e06 + db $0, "So! You want the", $4f + db "fire #MON,", $55 + db "CHARMANDER?", $57 +; 0x94e2f + +_OaksLabSquirtleText: ; 0x94e2f + db $0, "So! You want the", $4f + db "water #MON,", $55 + db "SQUIRTLE?", $57 +; 0x94e57 + +_OaksLabBulbasaurText: ; 0x94e57 + db $0, "So! You want the", $4f + db "plant #MON,", $55 + db "BULBASAUR?", $57 +; 0x94e80 + +_OaksLabMonEnergeticText: ; 0x94e80 + db $0, "This #MON is", $4f + db "really energetic!", $58 +; 0x94ea0 + +_OaksLabReceivedMonText: ; 0x94ea0 + db $0, $52, " received", $4f + db "a @" + TX_RAM $cd6d + db $0, "!@@" +; 0x94eb6 + +_OaksLabLastMonText: ; 0x94eb6 + db $0, "That's PROF.OAK's", $4f + db "last #MON!", $57 +; 0x94ed2 + +_UnnamedText_1d2f0: ; 0x94ed2 + db $0, "OAK: Now, ", $52, ",", $4f + db "which #MON do", $55 + db "you want?", $57 +; 0x94ef8 + +_UnnamedText_1d2f5: ; 0x94ef8 + db $0, "OAK: If a wild", $4f + db "#MON appears,", $55 + db "your #MON can", $55 + db "fight against it!", $57 +; 0x94f36 + +_UnnamedText_1d2fa: ; 0x94f36 + db $0, "OAK: ", $52, ",", $4f + db "raise your young", $55 + db "#MON by making", $55 + db "it fight!", $57 +; 0x94f36 + 51 bytes + +_OaksLabDeliverParcelText1: ; 0x94f69 + db $0, "OAK: Oh, ", $52, "!", $51 + db "How is my old", $4f + db "#MON?", $51 + db "Well, it seems to", $4f + db "like you a lot.", $51 + db "You must be", $4f + db "talented as a", $55 + db "#MON trainer!", $51 + db "What? You have", $4f + db "something for me?", $51 + db $52, " delivered", $4f + db "OAK's PARCEL.@@" +; 0x94f69 + 166 bytes + +_OaksLabDeliverParcelText2: ; 0x9500f + db $0, $51 + db "Ah! This is the", $4f + db "custom # BALL", $55 + db "I ordered!", $55 + db "Thank you!", $57 +; 0x9500f + 54 bytes + +_OaksLabAroundWorldText: ; 0x95045 + db $0, "#MON around the", $4f + db "world wait for", $55 + db "you, ", $52, "!", $57 +; 0x95045 + 40 bytes + +_OaksLabGivePokeballsText1: ; 0x9506d + db $0, "OAK: You can't get", $4f + db "detailed data on", $55 + db "#MON by just", $55 + db "seeing them.", $51 + db "You must catch", $4f + db "them! Use these", $55 + db "to capture wild", $55 + db "#MON.", $51 + db $52, " got 5", $4f + db "# BALLs!@@" +; 0x9506d + 133 bytes + +_OaksLabGivePokeballsText2: ; 0x950f2 + db $0, $51 + db "When a wild", $4f + db "#MON appears,", $55 + db "it's fair game.", $51 + db "Just throw a #", $4f + db "BALL at it and try", $4f + db "to catch it!", $51 + db "This won't always", $4f + db "work, though.", $51 + db "A healthy #MON", $4f + db "could escape. You", $55 + db "have to be lucky!", $57 +; 0x950f2 + 172 bytes + +_OaksLabPleaseVisitText: ; 0x9519e + db $0, "OAK: Come see me", $4f + db "sometimes.", $51 + db "I want to know how", $4f + db "your #DEX is", $55 + db "coming along.", $57 +; 0x9519e + 75 bytes + +_UnnamedText_1d31d: ; 0x951e9 + db $0, "OAK: Good to see ", $4f + db "you! How is your ", $55 + db "#DEX coming? ", $55 + db "Here, let me take", $55 + db "a look!", $58 +; 0x951e9 + 77 bytes + +_UnnamedText_1d32c: ; 0x95236 + db $0, "It's encyclopedia-", $4f + db "like, but the", $55 + db "pages are blank!", $57 +; 0x95236 + 50 bytes + +_OaksLabText8: ; 0x95268 + db $0, "?", $57 + +_UnnamedText_1d340: ; 0x9526b + db $0, "PROF.OAK is the", $4f + db "authority on", $55 + db "#MON!", $51 + db "Many #MON", $4f + db "trainers hold him", $55 + db "in high regard!", $57 +; 0x9526b + 80 bytes + +_OaksLabRivalWaitingText: ; 0x952bb + db $0, $53, ": Gramps!", $4f + db "I'm fed up with", $55 + db "waiting!", $57 +; 0x952bb + 36 bytes + +_OaksLabChooseMonText: ; 0x952df + db $0, "OAK: ", $53, "?", $4f + db "Let me think...", $51 + db "Oh, that's right,", $4f + db "I told you to", $55 + db "come! Just wait!", $51 + db "Here, ", $52, "!", $51 + db "There are 3", $4f + db "#MON here!", $51 + db "Haha!", $51 + db "They are inside", $4f + db "the # BALLs.", $51 + db "When I was young,", $4f + db "I was a serious", $55 + db "#MON trainer!", $51 + db "In my old age, I", $4f + db "have only 3 left,", $55 + db "but you can have", $55 + db "one! Choose!", $57 +; 0x952df + 253 bytes + +_OaksLabRivalInterjectionText: ; 0x953dc + db $0, $53, ": Hey!", $4f + db "Gramps! What", $55 + db "about me?", $57 +; 0x953dc + 32 bytes + +_OaksLabBePatientText: ; 0x953fc + db $0, "OAK: Be patient!", $4f + db $53, ", you can", $55 + db "have one too!", $57 +; 0x953fc + 43 bytes + +_OaksLabLeavingText: ; 0x95427 + db $0, "OAK: Hey! Don't go", $4f + db "away yet!", $57 +; 0x95427 + 29 bytes + +_OaksLabRivalPickingMonText: ; 0x95444 + db $0, $53, ": I'll take", $4f + db "this one, then!", $57 +; 0x95444 + 29 bytes + +_OaksLabRivalReceivedMonText: ; 0x95461 + db $0, $53, " received", $4f + db "a @" +; 0x95470 + +UnnamedText_95470: ; 0x95470 + TX_RAM $cd6d + db $0, "!@@" +; 0x95470 + 7 bytes + +_OaksLabRivalChallengeText: ; 0x95477 + db $0, $53, ": Wait", $4f + db $52, "!", $55 + db "Let's check out", $55 + db "our #MON!", $51 + db "Come on, I'll take", $4f + db "you on!", $57 +; 0x95477 + 63 bytes + +_UnnamedText_1d3be: ; 0x954b6 + db $0, "WHAT?", $4f + db "Unbelievable!", $55 + db "I picked the", $55 + db "wrong #MON!", $58 +; 0x954b6 + 46 bytes + +_UnnamedText_1d3c3: ; 0x954e4 + db $0, $53, ": Yeah! Am", $4f + db "I great or what?", $58 +; 0x954e4 + 30 bytes + +_OaksLabRivalToughenUpText: ; 0x95502 + db $0, $53, ": Okay!", $4f + db "I'll make my", $55 + db "#MON fight to", $55 + db "toughen it up!", $51 + db $52, "! Gramps!", $4f + db "Smell you later!", $57 +; 0x95502 + 79 bytes + +_OaksLabText21: ; 0x95551 + db $0, $53, ": Gramps!", $57 +; 0x95551 + 12 bytes + +_OaksLabText22: ; 0x9555d + db $0, $53, ": What did", $4f + db "you call me for?", $57 +; 0x9555d + 30 bytes + +_OaksLabText23: ; 0x9557b + db $0, "OAK: Oh right! I", $4f + db "have a request", $55 + db "of you two.", $57 +; 0x9557b + 45 bytes + +_OaksLabText24: ; 0x955a8 + db $0, "On the desk there", $4f + db "is my invention,", $55 + db "#DEX!", $51 + db "It automatically", $4f + db "records data on", $55 + db "#MON you've", $55 + db "seen or caught!", $51 + db "It's a hi-tech", $4f + db "encyclopedia!", $57 +; 0x955a8 + 130 bytes + +_OaksLabText25: ; 0x9562a + db $0, "OAK: ", $52, " and", $4f + db $53, "! Take", $55 + db "these with you!", $51 + db $52, " got", $4f + db "#DEX from OAK!@@" +; 0x9562a + 58 bytes + +_OaksLabText26: ; 0x95664 + db $0, "To make a complete", $4f + db "guide on all the", $55 + db "#MON in the", $55 + db "world...", $51 + db "That was my dream!", $51 + db "But, I'm too old!", $4f + db "I can't do it!", $51 + db "So, I want you two", $4f + db "to fulfill my", $55 + db "dream for me!", $51 + db "Get moving, you", $4f + db "two!", $51 + db "This is a great", $4f + db "undertaking in", $55 + db "#MON history!", $57 +; 0x95664 + 221 bytes + +_OaksLabText27: ; 0x95741 + db $0, $53, ": Alright", $4f + db "Gramps! Leave it", $55 + db "all to me!", $51 + db $52, ", I hate to", $4f + db "say it, but I", $55 + db "don't need you!", $51 + db "I know! I'll", $4f + db "borrow a TOWN MAP", $55 + db "from my sis!", $51 + db "I'll tell her not", $4f + db "to lend you one,", $55 + db $52, "! Hahaha!", $57 +; 0x95741 + 170 bytes + +_UnnamedText_1d405: ; 0x957eb + db $0, "I study #MON as", $4f + db "PROF.OAK's AIDE.", $57 +; 0x957eb + 33 bytes + +_UnnamedText_441cc: ; 0x9580c + db $0, "#DEX comp-", $4f + db "letion is:", $51 + db "@" +; 0x9580c + 24 bytes + +UnnamedText_95824: ; 0x95824 + TX_NUM $ffdb, 1, 3 + db $0, " #MON seen", $4f + db "@" +; 0x95835 + +UnnamedText_95835: ; 0x95835 + TX_NUM $ffdc, 1, 3 + db $0, " #MON owned", $51 + db "PROF.OAK's", $4f + db "Rating:", $58 +; 0x95858 + +_UnnamedText_44201: ; 0x95858 + db $0, "You still have", $4f + db "lots to do.", $55 + db "Look for #MON", $55 + db "in grassy areas!", $57 +; 0x95858 + 59 bytes + +_UnnamedText_44206: ; 0x95893 + db $0, "You're on the", $4f + db "right track! ", $55 + db "Get a FLASH HM", $55 + db "from my AIDE!", $57 +; 0x95893 + 57 bytes + +_UnnamedText_4420b: ; 0x958cc + db $0, "You still need", $4f + db "more #MON!", $55 + db "Try to catch", $55 + db "other species!", $57 +; 0x958cc + 55 bytes + +_UnnamedText_44210: ; 0x95903 + db $0, "Good, you're", $4f + db "trying hard!", $55 + db "Get an ITEMFINDER", $55 + db "from my AIDE!", $57 +; 0x95903 + 58 bytes + +_UnnamedText_44215: ; 0x9593d + db $0, "Looking good!", $4f + db "Go find my AIDE", $55 + db "when you get 50!", $57 +; 0x9593d + 48 bytes + +_UnnamedText_4421a: ; 0x9596d + db $0, "You finally got at", $4f + db "least 50 species!", $55 + db "Be sure to get", $55 + db "EXP.ALL from my", $55 + db "AIDE!", $57 +; 0x9596d + 75 bytes + +_UnnamedText_4421f: ; 0x959b8 + db $0, "Ho! This is geting", $4f + db "even better!", $57 +; 0x959b8 + 33 bytes + +_UnnamedText_44224: ; 0x959d9 + db $0, "Very good!", $4f + db "Go fish for some", $55 + db "marine #MON!", $57 +; 0x959d9 + 42 bytes + +_UnnamedText_44229: ; 0x95a03 + db $0, "Wonderful!", $4f + db "Do you like to", $55 + db "collect things?", $57 +; 0x95a03 + 43 bytes + +_UnnamedText_4422e: ; 0x95a2e + db $0, "I'm impressed!", $4f + db "It must have been", $55 + db "difficult to do!", $57 +; 0x95a2e + 50 bytes + +_UnnamedText_44233: ; 0x95a60 + db $0, "You finally got at", $4f + db "least 100 species!", $55 + db "I can't believe", $55 + db "how good you are!", $57 +; 0x95a60 + 72 bytes + +_UnnamedText_44238: ; 0x95aa8 + db $0, "You even have the", $4f + db "evolved forms of", $55 + db "#MON! Super!", $57 +; 0x95aa8 + 49 bytes + +_UnnamedText_4423d: ; 0x95ad9 + db $0, "Excellent! Trade", $4f + db "with friends to", $55 + db "get some more!", $57 +; 0x95ad9 + 49 bytes + +_UnnamedText_44242: ; 0x95b0a + db $0, "Outstanding!", $4f + db "You've become a", $55 + db "real pro at this!", $57 +; 0x95b0a + 47 bytes + +_UnnamedText_44247: ; 0x95b39 + db $0, "I have nothing", $4f + db "left to say!", $55 + db "You're the", $55 + db "authority now!", $57 +; 0x95b39 + 54 bytes + +_UnnamedText_4424c: ; 0x95b6f + db $0, "Your #DEX is", $4f + db "entirely complete!", $55 + db "Congratulations!", $57 +; 0x95b6f + 50 bytes + +_ViridianPokeCenterText2: ; 0x95ba1 +_ViridianPokeCenterText1: ; 0x95ba1 + db $0, "You can use that", $4f + db "PC in the corner.", $51 + db "The receptionist", $4f + db "told me. So kind!", $57 + +_ViridianPokeCenterText3: ; 0x95be8 + db $0, "There's a #MON", $4f + db "CENTER in every", $55 + db "town ahead.", $51 + db "They don't charge", $4f + db "any money either!", $57 + +_ViridianMartText1: ; 0x95c36 + db $0, "Okay! Say hi to", $4f + db "PROF.OAK for me!", $57 + +_UnnamedText_1d4f5: ; 0x95c58 + db $0, "Hey! You came from", $4f + db "PALLET TOWN?", $57 +; 0x95c58 + 33 bytes + +ViridianMartParcelQuestText: ; 0x95c79 + db $0, "You know PROF.", $4f + db "OAK, right?", $51 + db "His order came in.", $4f + db "Will you take it", $55 + db "to him?", $51 + db $52, " got", $4f + db "OAK's PARCEL!@@" +; 0x95c79 + 92 bytes + +_ViridianMartText2: ; 0x95cd5 + db $0, "This shop sells", $4f + db "many ANTIDOTEs.", $57 + +_ViridianMartText3: ; 0x95cf6 + db $0, "No! POTIONs are", $4f + db "all sold out.", $57 + +_SchoolText1: ; 0x95d15 + db $0, "Whew! I'm trying", $4f + db "to memorize all", $55 + db "my notes.", $57 + +_SchoolText2: ; 0x95d40 + db $0, "Okay!", $51 + db "Be sure to read", $4f + db "the blackboard", $55 + db "carefully!", $57 + +_ViridianHouseText1: ; 0x95d71 + db $0, "Coming up with", $4f + db "nicknames is fun,", $55 + db "but hard.", $51 + db "Simple names are", $4f + db "the easiest to", $55 + db "remember.", $57 + +_ViridianHouseText2: ; 0x95dc7 + db $0, "My Daddy loves", $4f + db "#MON too.", $57 + +_UnnamedText_1d5b1: ; 0x95de1 + db $0, "SPEARY: Tetweet!", $57 +; 0x95de1 + 18 bytes + +_ViridianHouseText4: ; 0x95df3 + db $0, "SPEAROW", $4f + db "Name: SPEARY", $57 + +_UnnamedText_74ace: ; 0x95e09 + db $0, "Fwahahaha! This is", $4f + db "my hideout!", $51 + db "I planned to", $4f + db "resurrect TEAM", $55 + db "ROCKET here!", $51 + db "But, you have", $4f + db "caught me again!", $55 + db "So be it! This", $55 + db "time, I'm not", $55 + db "holding back!", $51 + db "Once more, you", $4f + db "shall face", $55 + db "GIOVANNI, the", $55 + db "greatest trainer!", $57 +; 0x95e09 + 204 bytes + +_UnnamedText_74ad3: ; 0x95ed5 + db $0, "Ha!", $4f + db "That was a truly", $55 + db "intense fight!", $55 + db "You have won!", $55 + db "As proof, here is", $55 + db "the EARTHBADGE!@@" +; 0x95ed5 + 85 bytes + +_UnnamedText_74ad9: ; 0x95f2b + db $0, "Having lost, I", $4f + db "cannot face my", $55 + db "underlings!", $55 + db "TEAM ROCKET is", $55 + db "finished forever!", $51 + db "I will dedicate my", $4f + db "life to the study", $55 + db "of #MON!", $51 + db "Let us meet again", $4f + db "some day!", $55 + db "Farewell!@@" +; 0x95f2b + 160 bytes + +_ViridianGymText12: ; 0x95fcc + db $0, "The EARTHBADGE", $4f + db "makes #MON of", $55 + db "any level obey!", $51 + db "It is evidence of", $4f + db "your mastery as a", $55 + db "#MON trainer!", $51 + db "With it, you can", $4f + db "enter the #MON", $55 + db "LEAGUE!", $51 + db "It is my gift for", $4f + db "your #MON", $55 + db "LEAGUE challenge!", $57 +; 0x95fcc + 182 bytes + +ReceivedTM27Text: ; 0x96082 +_UnnamedText_74ae4: + db $0, $52, " received", $4f + db "TM27!@@" +; 0x96082 + 19 bytes + +_UnnamedText_74ae9: ; 0x96095 + db $0, $51 + db "TM27 is FISSURE!", $4f + db "It will take out", $55 + db "#MON with just", $55 + db "one hit!", $51 + db "I made it when I", $4f + db "ran the GYM here,", $55 + db "too long ago...", $57 +; 0x96095 + 111 bytes + +_UnnamedText_74aee: ; 0x96104 + db $0, "You do not have", $4f + db "space for this!", $57 +; 0x96104 + 33 bytes + +_UnnamedText_74afd: ; 0x96125 + db $0, "Heh! You must be", $4f + db "running out of", $55 + db "steam by now!", $57 +; 0x96125 + 47 bytes + +_UnnamedText_74b02: ; 0x96154 + db $0, "I", $4f + db "ran out of gas!", $58 +; 0x96154 + 19 bytes + +_UnnamedText_74b07: ; 0x96167 + db $0, "You need power to", $4f + db "keep up with our", $55 + db "GYM LEADER!", $57 +; 0x96167 + 48 bytes + +_UnnamedText_74b16: ; 0x96197 + db $0, "Rrrroar! I'm", $4f + db "working myself", $55 + db "into a rage!", $57 +; 0x96197 + 41 bytes + +_UnnamedText_74b1b: ; 0x961c0 + db $0, "Wargh!", $58 +; 0x961c0 + 8 bytes + +_UnnamedText_74b20: ; 0x961c8 + db $0, "I'm still not", $4f + db "worthy!", $57 +; 0x961c8 + 22 bytes + +_UnnamedText_74b2f: ; 0x961de + db $0, "#MON and I, we", $4f + db "make wonderful", $55 + db "music together!", $57 +; 0x961de + 47 bytes + +_UnnamedText_74b34: ; 0x9620d + db $0, "You are in", $4f + db "perfect harmony!", $58 +; 0x9620d + 29 bytes + +_UnnamedText_74b39: ; 0x9622a + db $0, "Do you know the", $4f + db "identity of our", $55 + db "GYM LEADER?", $57 +; 0x9622a + 45 bytes + +_UnnamedText_74b48: ; 0x96257 + db $0, "Karate is the", $4f + db "ultimate form of", $55 + db "martial arts!", $57 +; 0x96257 + 46 bytes + +_UnnamedText_74b4d: ; 0x96285 + db $0, "Atcho!", $58 +; 0x96285 + 8 bytes + +_UnnamedText_74b52: ; 0x9628d + db $0, "If my #MON", $4f + db "were as good at", $55 + db "Karate as I...", $57 +; 0x9628d + 43 bytes + +_UnnamedText_74b61: ; 0x962b8 + db $0, "The truly talented", $4f + db "win with style!", $57 +; 0x962b8 + 36 bytes + +_UnnamedText_74b66: ; 0x962dc + db $0, "I", $4f + db "lost my grip!", $58 +; 0x962dc + 17 bytes + +_UnnamedText_74b6b: ; 0x962ed + db $0, "The LEADER will", $4f + db "scold me!", $57 +; 0x962ed + 27 bytes + +_UnnamedText_74b7a: ; 0x96308 + db $0, "I'm the KARATE", $4f + db "KING! Your fate", $55 + db "rests with me!", $57 +; 0x96308 + 46 bytes + +_UnnamedText_74b7f: ; 0x96336 + db $0, "Ayah!", $58 +; 0x96336 + 7 bytes + +_UnnamedText_74b84: ; 0x9633d + db $0, "#MON LEAGUE?", $4f + db "You? Don't get", $55 + db "cocky!", $57 +; 0x9633d + 35 bytes + +_UnnamedText_74b93: ; 0x96360 + db $0, "Your #MON will", $4f + db "cower at the", $55 + db "crack of my whip!", $57 +; 0x96360 + 47 bytes + +_UnnamedText_74b98: ; 0x9638f + db $0, "Yowch!", $4f + db "Whiplash!", $58 +; 0x9638f + 18 bytes + +_UnnamedText_74b9d: ; 0x963a1 + db $0, "Wait! I was just", $4f + db "careless!", $57 +; 0x963a1 + 28 bytes + +_UnnamedText_74bac: ; 0x963bd + db $0, "VIRIDIAN GYM was", $4f + db "closed for a long", $55 + db "time, but now our", $55 + db "LEADER is back!", $57 +; 0x963bd + 70 bytes + +_UnnamedText_74bb1: ; 0x96403 + db $0, "I", $4f + db "was beaten?", $58 +; 0x96403 + 15 bytes + +_UnnamedText_74bb6: ; 0x96412 + db $0, "You can go onto", $4f + db "#MON LEAGUE", $55 + db "only by defeating", $55 + db "our GYM LEADER!", $57 +; 0x96412 + 63 bytes + +_UnnamedText_74bd4: ; 0x96451 + db $0, "Yo! Champ in", $4f + db "making!", $51 + db "Even I don't know", $4f + db "VIRIDIAN LEADER's", $55 + db "identity!", $51 + db "This will be the", $4f + db "toughest of all", $55 + db "the GYM LEADERs!", $51 + db "I heard that the", $4f + db "trainers here", $55 + db "like ground-type", $55 + db "#MON!", $57 +; 0x96451 + 170 bytes + +_UnnamedText_74bd9: ; 0x964fb + db $0, "Blow me away!", $4f + db "GIOVANNI was the", $55 + db "GYM LEADER here?", $57 +; 0x964fb + 49 bytes + +_UnnamedText_5c21a: ; 0x9652c + db $0, "Come again!", $57 +; 0x9652c + 13 bytes + +_UnnamedText_5c21f: ; 0x96539 + db $0, "It's ", $f0, "50 for a", $4f + db "child's ticket.", $51 + db "Would you like to", $4f + db "come in?", $57 +; 0x96539 + 57 bytes + +_UnnamedText_5c224: ; 0x96572 + db $0, "Right, ", $f0, "50!", $4f + db "Thank you!", $57 +; 0x96572 + 24 bytes + +_UnnamedText_5c229: ; 0x9658a + db $0, "You don't have", $4f + db "enough money.", $58 +; 0x9658a + 29 bytes + +_UnnamedText_5c22e: ; 0x965a7 + db $0, "You can't sneak", $4f + db "in the back way!", $51 + db "Oh, whatever!", $4f + db "Do you know what", $55 + db "AMBER is?", $57 +; 0x965a7 + 74 bytes + +_UnnamedText_5c233: ; 0x965f1 + db $0, "There's a lab", $4f + db "somewhere trying", $55 + db "to resurrect", $55 + db "ancient #MON", $55 + db "from AMBER.", $57 +; 0x965f1 + 69 bytes + +_UnnamedText_5c238: ; 0x96636 + db $0, "AMBER is fossil-", $4f + db "ized tree sap.", $57 +; 0x96636 + 33 bytes + +_UnnamedText_5c23d: ; 0x96657 + db $0, "Please go to the", $4f + db "other side!", $57 +; 0x96657 + 30 bytes + +_UnnamedText_5c242: ; 0x96675 + db $0, "Take plenty of", $4f + db "time to look!", $57 +; 0x96675 + 30 bytes + +_UnnamedText_5c251: ; 0x96693 + db $0, "That is one", $4f + db "magnificent", $55 + db "fossil!", $57 +; 0x96693 + 33 bytes + +_UnnamedText_5c28e: ; 0x966b4 + db $0, "Ssh! I think that", $4f + db "this chunk of", $55 + db "AMBER contains", $55 + db "#MON DNA!", $51 + db "It would be great", $4f + db "if #MON could", $55 + db "be resurrected", $55 + db "from it!", $51 + db "But, my colleagues", $4f + db "just ignore me!", $51 + db "So I have a favor", $4f + db "to ask!", $51 + db "Take this to a", $4f + db "#MON LAB and", $55 + db "get it examined!", $58 +; 0x966b4 + 220 bytes + +_ReceivedOldAmberText: ; 0x96790 + db $0, $52, " received", $4f + db "OLD AMBER!@@" +; 0x96790 + 24 bytes + +_UnnamedText_5c299: ; 0x967a8 + db $0, "Ssh! Get the OLD", $4f + db "AMBER checked!", $57 +; 0x967a8 + 33 bytes + +_UnnamedText_5c29e: ; 0x967c9 + db $0, "You don't have", $4f + db "space for this!", $57 +; 0x967c9 + 31 bytes + +_UnnamedText_5c2ad: ; 0x967e8 + db $0, "We are proud of 2", $4f + db "fossils of very", $55 + db "rare, prehistoric", $55 + db "#MON!", $57 +; 0x967e8 + 59 bytes + +_UnnamedText_5c2bc: ; 0x96823 + db $0, "The AMBER is", $4f + db "clear and gold!", $57 +; 0x96823 + 30 bytes + +_MuseumF2Text1: ; 0x96841 + db $0, "MOON STONE?", $51 + db "What's so special", $4f + db "about it?", $57 + +_MuseumF2Text2: ; 0x96869 + db $0, "July 20, 1969!", $51 + db "The 1st lunar", $4f + db "landing!", $51 + db "I bought a color", $4f + db "TV to watch it!", $57 + +_MuseumF2Text3: ; 0x968b1 + db $0, "We have a space", $4f + db "exhibit now.", $57 + +_MuseumF2Text4: ; 0x968cf + db $0, "I want a PIKACHU!", $4f + db "It's so cute!", $51 + db "I asked my Daddy", $4f + db "to catch me one!", $57 + +_MuseumF2Text5: ; 0x96911 + db $0, "Yeah, a PIKACHU", $4f + db "soon, I promise!", $57 + +_MuseumF2Text6: ; 0x96933 + db $0, "SPACE SHUTTLE", $4f + db "COLUMBIA", $57 + +_MuseumF2Text7: ; 0x9694b + db $0, "Meteorite that", $4f + db "fell on MT.MOON.", $55 + db "(MOON STONE?)", $57 + +_UnnamedText_5c49e: ; 0x9697a + db $0, "I'm BROCK!", $4f + db "I'm PEWTER's GYM", $55 + db "LEADER!", $51 + db "I believe in rock", $4f + db "hard defense and", $55 + db "determination!", $51 + db "That's why my", $4f + db "#MON are all", $55 + db "the rock-type!", $51 + db "Do you still want", $4f + db "to challenge me?", $55 + db "Fine then! Show", $55 + db "me your best!", $57 +; 0x9697a + 190 bytes + +SECTION "bank26",DATA,BANK[$26] + +_UnnamedText_5c4a3: ; 0x98000 + db $0, "There are all", $4f + db "kinds of trainers", $55 + db "in the world!", $51 + db "You appear to be", $4f + db "very gifted as a", $55 + db "#MON trainer!", $51 + db "Go to the GYM in", $4f + db "CERULEAN and test", $55 + db "your abilities!", $57 +; 0x98000 + 146 bytes + +_UnnamedText_5c4a8: ; 0x98092 + db $0, "Wait! Take this", $4f + db "with you!", $57 +; 0x98092 + 27 bytes + +_ReceivedTM34Text: ; 0x980ad + db $0, $52, " received", $4f + db "TM34!@@" +; 0x980c0 + +_UnnamedText_5c4b2: ; 0x980c0 + db $0, $51 + db "A TM contains a", $4f + db "technique that", $55 + db "can be taught to", $55 + db "#MON!", $51 + db "A TM is good only", $4f + db "once! So when you", $55 + db "use one to teach", $55 + db "a new technique,", $55 + db "pick the #MON", $55 + db "carefully!", $51 + db "TM34 contains", $4f + db "BIDE!", $51 + db "Your #MON will", $4f + db "absorb damage in", $55 + db "battle then pay", $55 + db "it back double!", $57 +; 0x980c0 + 235 bytes + +_UnnamedText_5c4b7: ; 0x981ab + db $0, "You don't have", $4f + db "room for this!", $57 +; 0x981ab + 30 bytes + +_UnnamedText_5c4bc: ; 0x981c9 + db $0, "I took", $4f + db "you for granted.", $51 + db "As proof of your", $4f + db "victory, here's", $55 + db "the BOULDERBADGE!", $51 + db $52, " received", $4f + db "the BOULDERBADGE!@@" +; 0x98232 + +_UnnamedText_5c4c1: ; 0x98232 + db $0, $51 + db "That's an official", $4f + db "#MON LEAGUE", $55 + db "BADGE!", $51 + db "Its bearer's", $4f + db "#MON become", $55 + db "more powerful!", $51 + db "The technique", $4f + db "FLASH can now be", $55 + db "used any time!", $58 +; 0x98232 + 124 bytes + +_UnnamedText_5c4d0: ; 0x982ae + db $0, "Stop right there,", $4f + db "kid!", $51 + db "You're still light", $4f + db "years from facing", $55 + db "BROCK!", $57 +; 0x982ae + 67 bytes + +_UnnamedText_5c4d5: ; 0x982f1 + db $0, "Darn!", $51 + db "Light years isn't", $4f + db "time! It measures", $55 + db "distance!", $58 +; 0x982f1 + 52 bytes + +_UnnamedText_5c4da: ; 0x98325 + db $0, "You're pretty hot,", $4f + db "but not as hot", $55 + db "as BROCK!", $57 +; 0x98325 + 44 bytes + +_UnnamedText_5c515: ; 0x98351 + db $0, "Hiya! I can tell", $4f + db "you have what it", $55 + db "takes to become a", $55 + db "#MON champ!", $51 + db "I'm no trainer,", $4f + db "but I can tell", $55 + db "you how to win!", $51 + db "Let me take you", $4f + db "to the top!", $57 +; 0x98351 + 139 bytes + +_UnnamedText_5c51a: ; 0x983dc + db $0, "All right! Let's", $4f + db "get happening!", $58 +; 0x983dc + 32 bytes + +_UnnamedText_5c51f: ; 0x983fc + db $0, "The 1st #MON", $4f + db "out in a match is", $55 + db "at the top of the", $55 + db "#MON LIST!", $51 + db "By changing the", $4f + db "order of #MON,", $55 + db "matches could be", $55 + db "made easier!", $57 +; 0x983fc + 122 bytes + +_UnnamedText_5c524: ; 0x98476 + db $0, "It's a free", $4f + db "service! Let's", $55 + db "get happening!", $58 +; 0x98476 + 41 bytes + +_UnnamedText_5c529: ; 0x9849f + db $0, "Just as I thought!", $4f + db "You're #MON", $55 + db "champ material!", $57 +; 0x9849f + 47 bytes + +_PewterHouse1Text1: ; 0x984ce + db $0, "NIDORAN: Bowbow!@@" + +_PewterHouse1Text2: ; 0x984e1 + db $0, "NIDORAN sit!", $57 + +_PewterHouse1Text3: ; 0x984ef + db $0, "Our #MON's an", $4f + db "outsider, so it's", $55 + db "hard to handle.", $51 + db "An outsider is a", $4f + db "#MON that you", $55 + db "get in a trade.", $51 + db "It grows fast, but", $4f + db "it may ignore an", $55 + db "unskilled trainer", $55 + db "in battle!", $51 + db "If only we had", $4f + db "some BADGEs...", $57 + +_UnnamedText_74cc6: ; 0x985ac + db $0, "A shady, old man", $4f + db "got me to buy", $55 + db "this really weird", $55 + db "fish #MON!", $51 + db "It's totally weak", $4f + db "and it cost ", $f0, "500!", $57 +; 0x985ac + 96 bytes + +_UnnamedText_74cd5: ; 0x9860c + db $0, "Good things can", $4f + db "happen if you", $55 + db "raise #MON", $55 + db "diligently, even", $55 + db "the weak ones!", $57 +; 0x9860c + 74 bytes + +_PewterHouse2Text1: ; 0x98656 + db $0, "#MON learn new", $4f + db "techniques as", $55 + db "they grow!", $51 + db "But, some moves", $4f + db "must be taught by", $55 + db "the trainer!", $57 + +_PewterHouse2Text2: ; 0x986ae + db $0, "#MON become", $4f + db "easier to catch", $55 + db "when they are", $55 + db "hurt or asleep!", $51 + db "But, it's not a", $4f + db "sure thing!", $57 + +_PewterPokecenterText1: ; 0x98704 + db $0, "What!?", $51 + db "TEAM ROCKET is", $4f + db "at MT.MOON? Huh?", $55 + db "I'm on the phone!", $51 + db "Scram!", $57 + +_PewterPokecenterText5: ; 0x98744 + db $0, "JIGGLYPUFF: Puu", $4f + db "pupuu!", $57 +; 0x9875c + +_UnnamedText_1d6ab: ; 0x9875c + db $0, "Those miserable", $4f + db "ROCKETs!", $51 + db "Look what they", $4f + db "did here!", $51 + db "They stole a TM", $4f + db "for teaching", $55 + db "#MON how to", $55 + db "DIG holes!", $51 + db "That cost me a", $4f + db "bundle, it did!", $57 +; 0x9875c + 134 bytes + +_UnnamedText_1d6b0: ; 0x987e2 + db $0, "I figure what's", $4f + db "lost is lost!", $51 + db "I decided to teach", $4f + db "DIGLETT how to", $55 + db "DIG without a TM!", $57 +; 0x987e2 + 82 bytes + +_CeruleanHouseTrashedText2: ; 0x98834 + db $0, "TEAM ROCKET must", $4f + db "be trying to DIG", $55 + db "their way into no", $55 + db "good!", $57 + +_CeruleanHouseTrashedText3: ; 0x9886f + db $0, "TEAM ROCKET left", $4f + db "a way out!", $57 + +_CeruleanHouse2Text1: ; 0x9888c + db $0, "My husband likes", $4f + db "trading #MON.", $51 + db "If you are a", $4f + db "collector, would", $55 + db "you please trade", $55 + db "with him?", $57 + +_CeruleanPokecenterText1: ; 0x988e5 + db $0, "That BILL!", $51 + db "I heard that", $4f + db "he'll do whatever", $55 + db "it takes to get", $55 + db "rare #MON!", $57 + +_CeruleanPokecenterText3: ; 0x9892a + db $0, "Have you heard", $4f + db "about BILL?", $51 + db "Everyone calls", $4f + db "him a #MANIAC!", $51 + db "I think people", $4f + db "are just jealous", $55 + db "of BILL, though.", $51 + db "Who wouldn't want", $4f + db "to boast about", $55 + db "their #MON?", $57 + +_UnnamedText_5c7be: ; 0x989c1 + db $0, "Hi, you're a new", $4f + db "face!", $51 + db "Trainers who want", $4f + db "to turn pro have", $55 + db "to have a policy", $55 + db "about #MON!", $51 + db "What is your", $4f + db "approach when you", $55 + db "catch #MON?", $51 + db "My policy is an", $4f + db "all-out offensive", $55 + db "with water-type", $55 + db "#MON!", $57 +; 0x989c1 + 186 bytes + +_UnnamedText_5c7c3: ; 0x98a7b + db $0, "TM11 teaches", $4f + db "BUBBLEBEAM!", $51 + db "Use it on an", $4f + db "aquatic #MON!", $57 +; 0x98a7b + 53 bytes + +_UnnamedText_5c7c8: ; 0x98ab0 + db $0, "The CASCADEBADGE", $4f + db "makes all #MON", $55 + db "up to L30 obey!", $51 + db "That includes", $4f + db "even outsiders!", $51 + db "There's more, you", $4f + db "can now use CUT", $55 + db "any time!", $51 + db "You can CUT down", $4f + db "small bushes to", $55 + db "open new paths!", $51 + db "You can also have", $4f + db "my favorite TM!", $57 +; 0x98ab0 + 205 bytes + +_ReceivedTM11Text: ; 0x98b7d + db $0, $52, " received", $4f + db "TM11!@@" +; 0x98b90 + +_UnnamedText_5c7d3: ; 0x98b90 + db $0, "You better make", $4f + db "room for this!", $57 +; 0x98b90 + 32 bytes + +_UnnamedText_5c7d8: ; 0x98bb0 + db $0, "Wow!", $4f + db "You're too much!", $51 + db "All right!", $51 + db "You can have the", $4f + db "CASCADEBADGE to", $55 + db "show you beat me!@@" +; 0x98c05 + +_UnnamedText_5c7e9: ; 0x98c05 + db $0, "I'm more than good", $4f + db "enough for you!", $51 + db "MISTY can wait!", $57 +; 0x98c05 + 51 bytes + +_UnnamedText_5c7ee: ; 0x98c38 + db $0, "You", $4f + db "overwhelmed me!", $58 +; 0x98c38 + 21 bytes + +_UnnamedText_5c7f3: ; 0x98c4d + db $0, "You have to face", $4f + db "other trainers to", $55 + db "find out how good", $55 + db "you really are.", $57 +; 0x98c4d + 70 bytes + +_UnnamedText_5c802: ; 0x98c93 + db $0, "Splash!", $51 + db "I'm first up!", $4f + db "Let's do it!", $57 +; 0x98c93 + 34 bytes + +_UnnamedText_5c807: ; 0x98cb5 + db $0, "That", $4f + db "can't be!", $58 +; 0x98cb5 + 15 bytes + +_UnnamedText_5c80c: ; 0x98cc4 + db $0, "MISTY is going to", $4f + db "keep improving!", $51 + db "She won't lose to", $4f + db "someone like you!", $57 +; 0x98cc4 + 70 bytes + +_UnnamedText_5c82a: ; 0x98d0a + db $0, "Yo! Champ in", $4f + db "making!", $51 + db "Here's my advice!", $51 + db "The LEADER, MISTY,", $4f + db "is a pro who uses", $55 + db "water #MON!", $51 + db "You can drain all", $4f + db "their water with", $55 + db "plant #MON!", $51 + db "Or, zap them with", $4f + db "electricity!", $57 +; 0x98d0a + 166 bytes + +_UnnamedText_5c82f: ; 0x98db0 + db $0, "You beat MISTY!", $4f + db "What'd I tell ya?", $51 + db "You and me kid,", $4f + db "we make a pretty", $55 + db "darn good team!", $57 +; 0x98db0 + 83 bytes + +_UnnamedText_1d810: ; 0x98e03 + db $0, "Hi! Welcome to", $4f + db "our BIKE SHOP.", $51 + db "Have we got just", $4f + db "the BIKE for you!", $58 +; 0x98e03 + 66 bytes + +_UnnamedText_1d815: ; 0x98e45 + db $0, "It's a cool BIKE!", $4f + db "Do you want it?", $57 +; 0x98e45 + 34 bytes + +_UnnamedText_1d81a: ; 0x98e67 + db $0, "Sorry! You can't", $4f + db "afford it!", $58 +; 0x98e67 + 28 bytes + +_UnnamedText_1d81f: ; 0x98e83 + db $0, "Oh, that's...", $51 + db "A BIKE VOUCHER!", $51 + db "OK! Here you go!", $58 +; 0x98e83 + 47 bytes + +_UnnamedText_1d824: ; 0x98eb2 + db $0, $52, " exchanged", $4f + db "the BIKE VOUCHER", $55 + db "for a BICYCLE.@@" +; 0x98ee0 + +_UnnamedText_1d82a: ; 0x98ee0 + db $0, "Come back again", $4f + db "some time!", $57 +; 0x98ee0 + 28 bytes + +_UnnamedText_1d82f: ; 0x98efc + db $0, "How do you like", $4f + db "your new BICYCLE?", $51 + db "You can take it", $4f + db "on CYCLING ROAD", $55 + db "and in caves!", $57 +; 0x98efc + 81 bytes + +_UnnamedText_1d834: ; 0x98f4d + db $0, "You better make", $4f + db "room for this!", $57 +; 0x98f4d + 32 bytes + +_UnnamedText_1d843: ; 0x98f6d + db $0, "A plain city BIKE", $4f + db "is good enough", $55 + db "for me!", $51 + db "You can't put a", $4f + db "shopping basket", $55 + db "on an MTB!", $57 +; 0x98f6d + 84 bytes + +_UnnamedText_1d85c: ; 0x98fc1 + db $0, "These BIKEs are", $4f + db "cool, but they're", $55 + db "way expensive!", $57 +; 0x98fc1 + 49 bytes + +_UnnamedText_1d861: ; 0x98ff2 + db $0, "Wow. Your BIKE is", $4f + db "really cool!", $57 +; 0x98ff2 + 32 bytes + +_CeruleanMartText2: ; 0x99012 + db $0, "Use REPEL to keep", $4f + db "bugs and weak", $55 + db "#MON away.", $51 + db "Put your strongest", $4f + db "#MON at the", $55 + db "top of the list", $55 + db "for best results!", $57 + +_CeruleanMartText3: ; 0x9907f + db $0, "Have you seen any", $4f + db "RARE CANDY?", $51 + db "It's supposed to", $4f + db "make #MON go", $55 + db "up one level!", $57 + +_UnnamedText_74e77: ; 0x990c9 + db $0, "#MON BADGEs", $4f + db "are owned only by", $55 + db "skilled trainers.", $51 + db "I see you have", $4f + db "at least one.", $51 + db "Those BADGEs have", $4f + db "amazing secrets!", $58 +; 0x990c9 + 113 bytes + +_UnnamedText_74e7c: ; 0x9913a + db $0, "Now then...", $51 + db "Which of the 8", $4f + db "BADGEs should I", $55 + db "describe?", $57 +; 0x9913a + 54 bytes + +_UnnamedText_74e81: ; 0x99170 + db $0, "Come visit me any", $4f + db "time you wish.", $57 +; 0x99170 + 34 bytes + +_UnnamedText_74e96: ; 0x99192 + db $0, "The ATTACK of all", $4f + db "#MON increases", $55 + db "a little bit.", $51 + db "It also lets you", $4f + db "use FLASH any", $55 + db "time you desire.", $58 +; 0x99192 + 96 bytes + +_UnnamedText_74e9b: ; 0x991f2 + db $0, "#MON up to L30", $4f + db "will obey you.", $51 + db "Any higher, they", $4f + db "become unruly!", $51 + db "It also lets you", $4f + db "use CUT outside", $55 + db "of battle.", $58 +; 0x991f2 + 107 bytes + +_UnnamedText_74ea0: ; 0x9925d + db $0, "The SPEED of all", $4f + db "#MON increases", $55 + db "a little bit.", $51 + db "It also lets you", $4f + db "use FLY outside", $55 + db "of battle.", $58 +; 0x9925d + 91 bytes + +_UnnamedText_74ea5: ; 0x992b8 + db $0, "#MON up to L50", $4f + db "will obey you.", $51 + db "Any higher, they", $4f + db "become unruly!", $51 + db "It also lets you", $4f + db "use STRENGTH out-", $55 + db "side of battle.", $58 +; 0x992b8 + 114 bytes + +_UnnamedText_74eaa: ; 0x9932a + db $0, "The DEFENSE of all", $4f + db "#MON increases", $55 + db "a little bit.", $51 + db "It also lets you", $4f + db "use SURF outside", $55 + db "of battle.", $58 +; 0x9932a + 94 bytes + +_UnnamedText_74eaf: ; 0x99388 + db $0, "#MON up to L70", $4f + db "will obey you.", $51 + db "Any higher, they", $4f + db "become unruly!", $58 +; 0x99388 + 63 bytes + +_UnnamedText_74eb4: ; 0x993c7 + db $0, "Your #MON's", $4f + db "SPECIAL abilities", $55 + db "increase a bit.", $58 +; 0x993c7 + 46 bytes + +_UnnamedText_74eb9: ; 0x993f5 + db $0, "All #MON will", $4f + db "obey you!", $58 +; 0x993f5 + 25 bytes + +_LavenderPokecenterText4: +_LavenderPokecenterText2: +_LavenderPokecenterText1: ; 0x9940e + db $0, "TEAM ROCKET will", $4f + db "do anything for", $55 + db "the sake of gold!", $57 + +_LavenderPokecenterText3: ; 0x99442 + db $0, "I saw CUBONE's", $4f + db "mother die trying", $55 + db "to escape from", $55 + db "TEAM ROCKET!", $57 + +_PokemonTower1Text1: ; 0x9947f + db $0, "#MON TOWER was", $4f + db "erected in the", $55 + db "memory of #MON", $55 + db "that had died.", $57 + +_PokemonTower1Text2: ; 0x994bc + db $0, "Did you come to", $4f + db "pay respects?", $55 + db "Bless you!", $57 + +_PokemonTower1Text3: ; 0x994e6 + db $0, "I came to pray", $4f + db "for my CLEFAIRY.", $51 + db "Sniff! I can't", $4f + db "stop crying...", $57 + +_PokemonTower1Text4: ; 0x99524 + db $0, "My GROWLITHE...", $4f + db "Why did you die?", $57 + +_PokemonTower1Text5: ; 0x99546 + db $0, "I am a CHANNELER!", $4f + db "There are spirits", $55 + db "up to mischief!", $57 + +_UnnamedText_6062d: ; 0x9957b + db $0, $53, ": Hey,", $4f + db $52, "! What", $55 + db "brings you here?", $55 + db "Your #MON", $55 + db "don't look dead!", $51 + db "I can at least", $4f + db "make them faint!", $55 + db "Let's go, pal!", $57 +; 0x9957b + 106 bytes + +_UnnamedText_60632: ; 0x995e5 + db $0, "What?", $4f + db "You stinker!", $51 + db "I took it easy on", $4f + db "you too!", $58 +; 0x995e5 + 47 bytes + +_UnnamedText_60637: ; 0x99614 + db $0, $53, ": Well,", $4f + db "look at all your", $55 + db "wimpy #MON!", $51 + db "Toughen them up a", $4f + db "bit more!", $58 +; 0x99614 + 67 bytes + +_UnnamedText_6063c: ; 0x99657 + db $0, "How's your #DEX", $4f + db "coming, pal?", $55 + db "I just caught a", $55 + db "CUBONE!", $51 + db "I can't find the", $4f + db "grown-up MAROWAK", $55 + db "yet!", $51 + db "I doubt there are", $4f + db "any left! Well, I", $55 + db "better get going!", $55 + db "I've got a lot to", $55 + db "accomplish, pal!", $51 + db "Smell ya later!", $57 +; 0x99657 + 195 bytes + +_PokemonTower2Text2: ; 0x9971a + db $0, "Even we could not", $4f + db "identify the", $55 + db "wayward GHOSTs!", $51 + db "A SILPH SCOPE", $4f + db "might be able to", $55 + db "unmask them.", $57 + +_UnnamedText_60730: ; 0x99776 + db $0, "Urrg...Awaa...", $4f + db "Huhu...graa..", $57 +; 0x99776 + 30 bytes + +_UnnamedText_60735: ; 0x99794 + db $0, "Hwa!", $4f + db "I'm saved!", $58 +; 0x99794 + 16 bytes + +_UnnamedText_6073a: ; 0x997a4 + db $0, "The GHOSTs can be", $4f + db "identified by the", $55 + db "SILPH SCOPE.", $57 +; 0x997a4 + 50 bytes + +_UnnamedText_6073f: ; 0x997d6 + db $0, "Kekeke....", $4f + db "Kwaaah!", $57 +; 0x997d6 + 20 bytes + +_UnnamedText_60744: ; 0x997ea + db $0, "Hmm?", $4f + db "What am I doing?", $58 +; 0x997ea + 23 bytes + +_UnnamedText_60749: ; 0x99801 + db $0, "Sorry! I was", $4f + db "possessed!", $57 +; 0x99801 + 25 bytes + +_UnnamedText_6074e: ; 0x9981a + db $0, "Be gone!", $4f + db "Evil spirit!", $57 +; 0x9981a + 23 bytes + +_UnnamedText_60753: ; 0x99831 + db $0, "Whew!", $4f + db "The spirit left!", $58 +; 0x99831 + 24 bytes + +_UnnamedText_60758: ; 0x99849 + db $0, "My friends were", $4f + db "possessed too!", $57 +; 0x99849 + 32 bytes + +_UnnamedText_6085e: ; 0x99869 + db $0, "GHOST! No!", $4f + db "Kwaaah!", $57 +; 0x99869 + 20 bytes + +_UnnamedText_60863: ; 0x9987d + db $0, "Where", $4f + db "is the GHOST?", $58 +; 0x9987d + 21 bytes + +_UnnamedText_60868: ; 0x99892 + db $0, "I must have been", $4f + db "dreaming...", $57 +; 0x99892 + 30 bytes + +_UnnamedText_6086d: ; 0x998b0 + db $0, "Be cursed with", $4f + db "me! Kwaaah!", $57 +; 0x998b0 + 28 bytes + +_UnnamedText_60872: ; 0x998cc + db $0, "What!", $58 +; 0x998cc + 7 bytes + +_UnnamedText_60877: ; 0x998d3 + db $0, "We can't crack", $4f + db "the identity of", $55 + db "the GHOSTs.", $57 +; 0x998d3 + 43 bytes + +_UnnamedText_6087c: ; 0x998fe + db $0, "Huhuhu...", $4f + db "Beat me not!", $57 +; 0x998fe + 24 bytes + +_UnnamedText_60881: ; 0x99916 + db $0, "Huh?", $4f + db "Who? What?", $58 +; 0x99916 + 17 bytes + +_UnnamedText_60886: ; 0x99927 + db $0, "May the departed", $4f + db "souls of #MON", $55 + db "rest in peace...", $57 +; 0x99927 + 49 bytes + +_PokemonTower5Text1: ; 0x99958 + db $0, "Come, child! I", $4f + db "sealed this space", $55 + db "with white magic!", $51 + db "You can rest here!", $57 + +_UnnamedText_609e9: ; 0x9999f + db $0, "Give...me...", $4f + db "your...soul...", $57 +; 0x9999f + 29 bytes + +_UnnamedText_609ee: ; 0x999bc + db $0, "Gasp!", $58 +; 0x999bc + 7 bytes + +_UnnamedText_609f3: ; 0x999c3 + db $0, "I was under", $4f + db "possession!", $57 +; 0x999c3 + 25 bytes + +_UnnamedText_60a02: ; 0x999dc + db $0, "You...shall...", $4f + db "join...us...", $57 +; 0x999dc + 29 bytes + +_UnnamedText_60a07: ; 0x999f9 + db $0, "What", $4f + db "a nightmare!", $58 +; 0x999f9 + 19 bytes + +_UnnamedText_60a0c: ; 0x99a0c + db $0, "I was possessed!", $57 +; 0x99a0c + 18 bytes + +_UnnamedText_60a1b: ; 0x99a1e + db $0, "Zombies!", $57 +; 0x99a1e + 10 bytes + +_UnnamedText_60a20: ; 0x99a28 + db $0, "Ha?", $58 +; 0x99a28 + 5 bytes + +_UnnamedText_60a25: ; 0x99a2d + db $0, "I regained my", $4f + db "senses!", $57 +; 0x99a2d + 23 bytes + +_UnnamedText_60a34: ; 0x99a44 + db $0, "Urgah...", $4f + db "Urff....", $57 +; 0x99a44 + 19 bytes + +_UnnamedText_60a39: ; 0x99a57 + db $0, "Whoo!", $58 +; 0x99a57 + 7 bytes + +_UnnamedText_60a3e: ; 0x99a5e + db $0, "I fell to evil", $4f + db "spirits despite", $55 + db "my training!", $57 +; 0x99a5e + 45 bytes + +_UnnamedText_60a43: ; 0x99a8b + db $0, "Entered purified,", $4f + db "protected zone!", $51 + db $52, "'s #MON", $4f + db "are fully healed!", $57 +; 0x99a8b + 61 bytes + +_UnnamedText_60c1f: ; 0x99ac8 + db $0, "The GHOST was the", $4f + db "restless soul of", $55 + db "CUBONE's mother!", $57 +; 0x99ac8 + 52 bytes + +_UnnamedText_60c24: ; 0x99afc + db $0, "The mother's soul", $4f + db "was calmed.", $51 + db "It departed to", $4f + db "the afterlife!", $57 +; 0x99afc + 60 bytes + +_UnnamedText_60c29: ; 0x99b38 + db $0, "Give...me...", $4f + db "blood...", $57 +; 0x99b38 + 23 bytes + +_UnnamedText_60c2e: ; 0x99b4f + db $0, "Groan!", $58 +; 0x99b4f + 8 bytes + +_UnnamedText_60c33: ; 0x99b57 + db $0, "I feel anemic and", $4f + db "weak...", $57 +; 0x99b57 + 27 bytes + +_UnnamedText_60c38: ; 0x99b72 + db $0, "Urff... Kwaah!", $57 +; 0x99b72 + 16 bytes + +_UnnamedText_60c3d: ; 0x99b82 + db $0, "Some-", $4f + db "thing fell out!", $58 +; 0x99b82 + 23 bytes + +_UnnamedText_60c42: ; 0x99b99 + db $0, "Hair didn't fall", $4f + db "out! It was an", $55 + db "evil spirit!", $57 +; 0x99b99 + 45 bytes + +_UnnamedText_60c47: ; 0x99bc6 + db $0, "Ke..ke...ke...", $4f + db "ke..ke...ke!!", $57 +; 0x99bc6 + 30 bytes + +_UnnamedText_60c4c: ; 0x99be4 + db $0, "Keee!", $58 +; 0x99be4 + 7 bytes + +_UnnamedText_60c51: ; 0x99beb + db $0, "What's going on", $4f + db "here?", $57 +; 0x99beb + 22 bytes + +_UnnamedText_60c56: ; 0x99c01 + db $0, "Be gone...", $4f + db "Intruders...", $57 +; 0x99c01 + 25 bytes + +_UnnamedText_60ec4: ; 0x99c1a + db $0, "MR.FUJI: Heh? You", $4f + db "came to save me?", $51 + db "Thank you. But, I", $4f + db "came here of my", $55 + db "own free will.", $51 + db "I came to calm", $4f + db "the soul of", $55 + db "CUBONE's mother.", $51 + db "I think MAROWAK's", $4f + db "spirit has gone", $55 + db "to the afterlife.", $51 + db "I must thank you", $4f + db "for your kind", $55 + db "concern!", $51 + db "Follow me to my", $4f + db "home, #MON", $55 + db "HOUSE at the foot", $55 + db "of this tower.", $57 +; 0x99c1a + 279 bytes + +_UnnamedText_60ec9: ; 0x99d31 + db $0, "What do you want?", $4f + db "Why are you here?", $57 +; 0x99d31 + 37 bytes + +_UnnamedText_60ece: ; 0x99d56 + db $0, "I give up!", $58 +; 0x99d56 + 12 bytes + +_UnnamedText_60ed3: ; 0x99d62 + db $0, "I'm not going to", $4f + db "forget this!", $57 +; 0x99d62 + 30 bytes + +_UnnamedText_60ed8: ; 0x99d80 + db $0, "This old guy came", $4f + db "and complained", $55 + db "about us harming", $55 + db "useless #MON!", $51 + db "We're talking it", $4f + db "over as adults!", $57 +; 0x99d80 + 97 bytes + +_UnnamedText_60edd: ; 0x99de1 + db $0, "Please!", $4f + db "No more!", $58 +; 0x99de1 + 18 bytes + +_UnnamedText_60ee2: ; 0x99df3 + db $0, "#MON are only", $4f + db "good for making", $55 + db "money!", $51 + db "Stay out of our", $4f + db "business!", $57 +; 0x99df3 + 64 bytes + +_UnnamedText_60ee7: ; 0x99e33 + db $0, "You're not saving", $4f + db "anyone, kid!", $57 +; 0x99e33 + 31 bytes + +_UnnamedText_60eec: ; 0x99e52 + db $0, "Don't", $4f + db "fight us ROCKETs!", $58 +; 0x99e52 + 24 bytes + +_UnnamedText_60ef1: ; 0x99e6a + db $0, "You're not getting", $4f + db "away with this!", $57 +; 0x99e6a + 35 bytes + +_UnnamedText_1d8d1: ; 0x99e8d + db $0, "That's odd, MR.FUJI", $4f + db "isn't here.", $55 + db "Where'd he go?", $57 +; 0x99e8d + 45 bytes + +_UnnamedText_1d8d6: ; 0x99eba + db $0, "MR.FUJI had been", $4f + db "praying alone for", $55 + db "CUBONE's mother.", $57 +; 0x99eba + 52 bytes + +_UnnamedText_1d8f4: ; 0x99eee + db $0, "This is really", $4f + db "MR.FUJI's house.", $51 + db "He's really kind!", $51 + db "He looks after", $4f + db "abandoned and", $55 + db "orphaned #MON!", $57 +; 0x99eee + 93 bytes + +_UnnamedText_1d8f9: ; 0x99f4b + db $0, "It's so warm!", $4f + db "#MON are so", $55 + db "nice to hug!", $57 +; 0x99f4b + 39 bytes + +_LavenderHouse1Text3: ; 0x99f72 + db $0, "PSYDUCK: Gwappa!@@" + +_LavenderHouse1Text4: ; 0x99f85 + db $0, "NIDORINO: Gaoo!@@" + +_UnnamedText_1d94c: ; 0x99f97 + db $0, "MR.FUJI: ", $52, ".", $51 + db "Your #DEX quest", $4f + db "may fail without", $55 + db "love for your", $55 + db "#MON.", $51 + db "I think this may", $4f + db "help your quest.", $58 +; 0x99f97 + 100 bytes + +_UnnamedText_1d951: ; 0x99ffb + db $0, $52, " received", $4f + db "a @" + TX_RAM $cf4b + db $0, "!@@" +; 0x9a011 + +_UnnamedText_1d956: ; 0x9a011 + db $0, $51 + db "Upon hearing #", $4f + db "FLUTE, sleeping", $55 + db "#MON will", $55 + db "spring awake.", $51 + db "It works on all", $4f + db "sleeping #MON.", $57 +; 0x9a011 + 88 bytes + +_UnnamedText_1d95b: ; 0x9a069 + db $0, "You must make", $4f + db "room for this!", $57 +; 0x9a069 + 30 bytes + +_UnnamedText_1d960: ; 0x9a087 + db $0, "MR.FUJI: Has my", $4f + db "FLUTE helped you?", $57 +; 0x9a087 + 35 bytes + +_LavenderHouse1Text6: ; 0x9a0aa + db $0, "#MON Monthly", $4f + db "Grand Prize", $55 + db "Drawing!", $51 + db "The application", $4f + db "form is...", $51 + db "Gone! It's been", $4f + db "clipped out!", $57 + +_LavenderMartText2: ; 0x9a104 + db $0, "I'm searching for", $4f + db "items that raise", $55 + db "the abilities of", $55 + db "#MON during a", $55 + db "single battle.", $51 + db "X ATTACK, X", $4f + db "DEFEND, X SPEED", $55 + db "and X SPECIAL are", $55 + db "what I'm after.", $51 + db "Do you know where", $4f + db "I can get them?", $57 + +_UnnamedText_5c953: ; 0x9a1b4 + db $0, "You know REVIVE?", $4f + db "It revives any", $55 + db "fainted #MON!", $57 +; 0x9a1b4 + 47 bytes + +_UnnamedText_5c958: ; 0x9a1e3 + db $0, "I found a NUGGET", $4f + db "in the mountains.", $51 + db "I thought it was", $4f + db "useless, but it", $55 + db "sold for ", $f0, "5000!", $57 +; 0x9a1e3 + 85 bytes + +_LavenderHouse2Text1: ; 0x9a238 + db $0, "CUBONE: Kyarugoo!@@" + +_UnnamedText_1d9dc: ; 0x9a24c + db $0, "I hate those", $4f + db "horrible ROCKETs!", $51 + db "That poor CUBONE's", $4f + db "mother...", $51 + db "It was killed", $4f + db "trying to escape", $55 + db "from TEAM ROCKET!", $57 +; 0x9a24c + 109 bytes + +_UnnamedText_1d9e1: ; 0x9a2b9 + db $0, "The GHOST of", $4f + db "#MON TOWER is", $55 + db "gone!", $51 + db "Someone must have", $4f + db "soothed its", $55 + db "restless soul!", $57 +; 0x9a2b9 + 79 bytes + +_UnnamedText_1dab3: ; 0x9a308 + db $0, "Hello, hello!", $4f + db "I am the official", $55 + db "NAME RATER!", $51 + db "Want me to rate", $4f + db "the nicknames of", $55 + db "your #MON?", $57 +; 0x9a308 + 89 bytes + +_UnnamedText_1dab8: ; 0x9a361 + db $0, "Which #MON", $4f + db "should I look at?", $58 +; 0x9a361 + 30 bytes + +_UnnamedText_1dabd: ; 0x9a37f + TX_RAM $cd6d + db $0, ", is it?", $4f + db "That is a decent", $55 + db "nickname!", $51 + db "But, would you", $4f + db "like me to give", $55 + db "it a nicer name?", $51 + db "How about it?", $57 +; 0x9a37f + 102 bytes + +_UnnamedText_1dac2: ; 0x9a3e5 + db $0, "Fine! What should", $4f + db "we name it?", $58 +; 0x9a3e5 + 31 bytes + +_UnnamedText_1dac7: ; 0x9a404 + db $0, "OK! This #MON", $4f + db "has been renamed", $55 + db "@" +; 0x9a404 + 33 bytes + +UnnamedText_9a425: ; 0x9a425 + TX_RAM $cee9 + db $0, "!", $51 + db "That's a better", $4f + db "name than before!", $57 +; 0x9a44c + +_UnnamedText_1dacc: ; 0x9a44c + db $0, "Fine! Come any", $4f + db "time you like!", $57 +; 0x9a44c + 31 bytes + +_UnnamedText_1dad1: ; 0x9a46b + TX_RAM $cd6d + db $0, ", is it?", $4f + db "That is a truly", $55 + db "impeccable name!", $51 + db "Take good care of", $4f + db "@" + TX_RAM $cd6d + db $0, "!", $57 +; 0x9a4b2 + +_VermilionPokecenterText2: +_VermilionPokecenterText1: ; 0x9a4b2 + db $0, "Even if they are", $4f + db "the same level,", $55 + db "#MON can have", $55 + db "very different", $55 + db "abilities.", $51 + db "A #MON raised", $4f + db "by a trainer is", $55 + db "stronger than one", $55 + db "in the wild.", $57 + +_VermilionPokecenterText3: ; 0x9a539 + db $0, "My #MON was", $4f + db "poisoned! It", $55 + db "fainted while we", $55 + db "were walking!", $57 + +_UnnamedText_59bb7: ; 0x9a572 + db $0, "Won't you admire", $4f + db "my PIKACHU's", $55 + db "adorable tail?", $57 +; 0x9a572 + 44 bytes + +_UnnamedText_59bbc: ; 0x9a59e + db $0, "Humph! My PIKACHU", $4f + db "is twice as cute", $55 + db "as that one!", $57 +; 0x9a59e + 49 bytes + +_UnnamedText_59be4: ; 0x9a5cf + db $0, "I just love my", $4f + db "SEEL!", $51 + db "It squeals when I", $4f + db "hug it!", $57 +; 0x9a5cf + 48 bytes + +_UnnamedText_59be9: ; 0x9a5ff + db $0, "Oh dear!", $51 + db "My SEEL is far", $4f + db "more attractive!", $57 +; 0x9a5ff + 42 bytes + +_UnnamedText_59c00: ; 0x9a629 + db $0, "PIKACHU: Chu!", $4f + db "Pikachu!", $57 +; 0x9a629 + 24 bytes + +_UnnamedText_59c17: ; 0x9a641 + db $0, "SEEL: Kyuoo!", $57 +; 0x9a641 + 14 bytes + +_UnnamedText_59c65: ; 0x9a64f + db $0, "I chair the", $4f + db "#MON Fan Club!", $51 + db "I have collected", $4f + db "over 100 #MON!", $51 + db "I'm very fussy", $4f + db "when it comes to", $55 + db "#MON!", $51 + db "So...", $51 + db "Did you come", $4f + db "visit to hear", $55 + db "about my #MON?", $57 +; 0x9a64f + 145 bytes + +_UnnamedText_59c6a: ; 0x9a6e0 + db $0, "Good!", $4f + db "Then listen up!", $51 + db "My favorite", $4f + db "RAPIDASH...", $51 + db "It...cute...", $4f + db "lovely...smart...", $55 + db "plus...amazing...", $55 + db "you think so?...", $55 + db "oh yes...it...", $55 + db "stunning...", $55 + db "kindly...", $55 + db "love it!", $51 + db "Hug it...when...", $55 + db "sleeping...warm", $55 + db "and cuddly...", $55 + db "spectacular...", $55 + db "ravishing...", $55 + db "...Oops! Look at", $55 + db "the time! I kept", $55 + db "you too long!", $51 + db "Thanks for hearing", $4f + db "me out! I want", $55 + db "you to have this!", $58 +; 0x9a6e0 + 334 bytes + +_ReceivedBikeVoucherText: ; 0x9a82e + db $0, $52, " received", $4f + db "a @" + TX_RAM $cf4b + db $0, "!@@" +; 0x9a844 + +_UnnamedText_59c74: ; 0x9a844 + db $0, $51 + db "Exchange that for", $4f + db "a BICYCLE!", $51 + db "Don't worry, my", $4f + db "FEAROW will FLY", $55 + db "me anywhere!", $51 + db "So, I don't need a", $4f + db "BICYCLE!", $51 + db "I hope you like", $4f + db "cycling!", $57 +; 0x9a844 + 127 bytes + +_UnnamedText_59c79: ; 0x9a8c3 + db $0, "Oh. Come back", $4f + db "when you want to", $55 + db "hear my story!", $57 +; 0x9a8c3 + 47 bytes + +_UnnamedText_59c7e: ; 0x9a8f2 + db $0, "Hello, ", $52, "!", $51 + db "Did you come see", $4f + db "me about my", $55 + db "#MON again?", $51 + db "No? Too bad!", $57 +; 0x9a8f2 + 65 bytes + +_UnnamedText_59c83: ; 0x9a933 + db $0, "Make room for", $4f + db "this!", $57 +; 0x9a933 + 21 bytes + +_FanClubText6: ; 0x9a948 + db $0, "Our Chairman is", $4f + db "very vocal about", $55 + db "#MON.", $57 + +_FanClubText7: ; 0x9a970 + db $0, "Let's all listen", $4f + db "politely to other", $55 + db "trainers!", $57 + +_FanClubText8: ; 0x9a99d + db $0, "If someone brags,", $4f + db "brag right back!", $57 + +_VermilionMartText2: ; 0x9a9c1 + db $0, "There are evil", $4f + db "people who will", $55 + db "use #MON for", $55 + db "criminal acts.", $51 + db "TEAM ROCKET", $4f + db "traffics in rare", $55 + db "#MON.", $51 + db "They also abandon", $4f + db "#MON that they", $55 + db "consider not to", $55 + db "be popular or", $55 + db "useful.", $57 + +_VermilionMartText3: ; 0x9aa67 + db $0, "I think #MON", $4f + db "can be good or", $55 + db "evil. It depends", $55 + db "on the trainer.", $57 + +_UnnamedText_5cb6d: ; 0x9aaa5 + db $0, "Hey, kid! What do", $4f + db "you think you're", $55 + db "doing here?", $51 + db "You won't live", $4f + db "long in combat!", $55 + db "That's for sure!", $51 + db "I tell you kid,", $4f + db "electric #MON", $55 + db "saved me during", $55 + db "the war!", $51 + db "They zapped my", $4f + db "enemies into", $55 + db "paralysis!", $51 + db "The same as I'll", $4f + db "do to you!", $57 +; 0x9aaa5 + 214 bytes + +SECTION "bank27",DATA,BANK[$27] + +_UnnamedText_5cb72: ; 0x9c000 + db $0, "A little word of", $4f + db "advice, kid!", $51 + db "Electricity is", $4f + db "sure powerful!", $51 + db "But, it's useless", $4f + db "against ground-", $55 + db "type #MON!", $57 +; 0x9c000 + 105 bytes + +_UnnamedText_5cb77: ; 0x9c069 + db $0, "The THUNDERBADGE", $4f + db "cranks up your", $55 + db "#MON's SPEED!", $51 + db "It also lets your", $4f + db "#MON FLY any", $55 + db "time, kid!", $51 + db "You're special,", $4f + db "kid! Take this!", $57 +; 0x9c069 + 119 bytes + +_ReceivedTM24Text: ; 0x9c0e0 + db $0, $52, " received ", $4f + db "@" + TX_RAM $cf4b + db $0, "!@@" +; 0x9c0f5 + +_TM24ExplanationText: ; 0x9c0f5 + db $0, $51 + db "TM24 contains", $4f + db "THUNDERBOLT!", $51 + db "Teach it to an", $4f + db "electric #MON!", $57 +; 0x9c0f5 + 59 bytes + +_TM24NoRoomText: ; 0x9c130 + db $0, "Yo kid, make room", $4f + db "in your pack!", $57 +; 0x9c130 + 33 bytes + +_ReceivedThunderbadgeText: ; 0x9c151 + db $0, "Whoa!", $51 + db "You're the real", $4f + db "deal, kid!", $51 + db "Fine then, take", $4f + db "the THUNDERBADGE!", $58 +; 0x9c151 + 67 bytes + +_UnnamedText_5cb9a: ; 0x9c194 + db $0, "When I was in the", $4f + db "Army, LT.SURGE", $55 + db "was my strict CO!", $57 +; 0x9c194 + 52 bytes + +_UnnamedText_5cb9f: ; 0x9c1c8 + db $0, "Stop!", $4f + db "You're very good!", $58 +; 0x9c1c8 + 24 bytes + +_UnnamedText_5cba4: ; 0x9c1e0 + db $0, "The door won't", $4f + db "open?", $51 + db "LT.SURGE always", $4f + db "was cautious!", $57 +; 0x9c1e0 + 51 bytes + +_UnnamedText_5cbb3: ; 0x9c213 + db $0, "I'm a lightweight,", $4f + db "but I'm good with", $55 + db "electricity!", $57 +; 0x9c213 + 49 bytes + +_UnnamedText_5cbb8: ; 0x9c244 + db $0, "Fried!", $58 +; 0x9c244 + 8 bytes + +_UnnamedText_5cbbd: ; 0x9c24c + db $0, "OK, I'll talk!", $51 + db "LT.SURGE said he", $4f + db "hid door switches", $55 + db "inside something!", $57 +; 0x9c24c + 68 bytes + +_UnnamedText_5cbcc: ; 0x9c290 + db $0, "This is no place", $4f + db "for kids!", $57 +; 0x9c290 + 28 bytes + +_UnnamedText_5cbd1: ; 0x9c2ac + db $0, "Wow!", $4f + db "Surprised me!", $58 +; 0x9c2ac + 20 bytes + +_UnnamedText_5cbd6: ; 0x9c2c0 + db $0, "LT.SURGE set up", $4f + db "double locks!", $55 + db "Here's a hint!", $51 + db "When you open the", $4f + db "1st lock, the 2nd", $55 + db "lock is right", $55 + db "next to it!", $57 +; 0x9c2c0 + 107 bytes + +_UnnamedText_5cbf4: ; 0x9c32b + db $0, "Yo! Champ in", $4f + db "making!", $51 + db "LT.SURGE has a", $4f + db "nickname. People", $55 + db "refer to him as", $55 + db "the Lightning", $55 + db "American!", $51 + db "He's an expert on", $4f + db "electric #MON!", $51 + db "Birds and water", $4f + db "#MON are at", $55 + db "risk! Beware of", $55 + db "paralysis too!", $51 + db "LT.SURGE is very", $4f + db "cautious!", $51 + db "You'll have to", $4f + db "break a code to", $55 + db "get to him!", $57 +; 0x9c32b + 254 bytes + +_UnnamedText_5cbf9: ; 0x9c429 + db $0, "Whew! That match", $4f + db "was electric!", $57 +; 0x9c429 + 32 bytes + +_VermilionHouse1Text1: ; 0x9c449 + db $0, "I'm getting my", $4f + db "PIDGEY to fly a", $55 + db "letter to SAFFRON", $55 + db "in the north!", $57 + +_VermilionHouse1Text2: ; 0x9c488 + db $0, "PIDGEY: Kurukkoo!@@" + +_VermilionHouse1Text3: ; 0x9c49c + db $0, "Dear PIPPI, I hope", $4f + db "to see you soon.", $51 + db "I heard SAFFRON", $4f + db "has problems with", $55 + db "TEAM ROCKET.", $51 + db "VERMILION appears", $4f + db "to be safe.", $57 + +_UnnamedText_1dcc1: ; 0x9c50e + db $0, $57 +; 0x9c50e + 2 bytes + +_UnnamedText_560b1: ; 0x9c510 + db $0, "I'm the FISHING", $4f + db "GURU!", $51 + db "I simply Looove", $4f + db "fishing!", $51 + db "Do you like to", $4f + db "fish?", $57 +; 0x9c510 + 68 bytes + +_UnnamedText_560b6: ; 0x9c554 + db $0, "Grand! I like", $4f + db "your style!", $51 + db "Take this and", $4f + db "fish, young one!", $51 + db $52, " received", $4f + db "an @" + TX_RAM $cf4b + db $0, "!@@" +; 0x9c5a4 + +_UnnamedText_560bb: ; 0x9c5a4 + db $0, $51 + db "Fishing is a way", $4f + db "of life!", $51 + db "From the seas to", $4f + db "rivers, go out", $55 + db "and land the big", $55 + db "one, young one!", $57 +; 0x9c5a4 + 93 bytes + +_UnnamedText_560c0: ; 0x9c601 + db $0, "Oh... That's so", $4f + db "disappointing...", $57 +; 0x9c601 + 33 bytes + +_UnnamedText_560c5: ; 0x9c622 + db $0, "Hello there,", $4f + db $52, "!", $51 + db "How are the fish", $4f + db "biting?", $57 +; 0x9c622 + 42 bytes + +_UnnamedText_560ca: ; 0x9c64c + db $0, "Oh no!", $51 + db "You have no room", $4f + db "for my gift!", $57 +; 0x9c64c + 38 bytes + +_CeladonMart1Text1: ; 0x9c672 + db $0, "Hello! Welcome to", $4f + db "CELADON DEPT.", $55 + db "STORE.", $51 + db "The board on the", $4f + db "right describes", $55 + db "the store layout.", $57 + +_CeladonMart1Text2: ; 0x9c6cd + db $0, "1F: SERVICE", $4f + db " COUNTER", $51 + db "2F: TRAINER'S", $4f + db " MARKET", $51 + db "3F: TV GAME SHOP", $51 + db "4F: WISEMAN GIFTS", $51 + db "5F: DRUG STORE", $51 + db "ROOFTOP SQUARE:", $4f + db "VENDING MACHINES", $57 + +_CeladonMart1Text3: ; 0x9c752 + db $0, "1F: SERVICE", $4f + db " COUNTER", $57 + +_CeladonMart2Text3: ; 0x9c76b + db $0, "SUPER REPEL keeps", $4f + db "weak #MON at", $55 + db "bay...", $51 + db "Hmm, it's a more", $4f + db "powerful REPEL!", $57 + +_CeladonMart2Text4: ; 0x9c7b2 + db $0, "For long outings,", $4f + db "you should buy", $55 + db "REVIVE.", $57 + +_CeladonMart2Text5: ; 0x9c7dc + db $0, "Top Grade Items", $4f + db "for Trainers!", $51 + db "2F: TRAINER'S", $4f + db " MARKET", $57 + +_UnnamedText_48278: ; 0x9c814 + db $0, "Oh, hi! I finally", $4f + db "finished #MON!", $51 + db "Not done yet?", $4f + db "This might be", $55 + db "useful!", $58 +; 0x9c814 + 70 bytes + +_ReceivedTM18Text: ; 0x9c85a + db $0, $52, " received", $4f + db "@" + TX_RAM $cf4b + db $0, "!@@" +; 0x9c86e + +_TM18ExplanationText: ; 0x9c86e + db $0, "TM18 is COUNTER!", $4f + db "Not like the one", $55 + db "I'm leaning on,", $55 + db "mind you!", $57 +; 0x9c86e + 60 bytes + +_TM18NoRoomText: ; 0x9c8aa + db $0, "Your pack is full", $4f + db "of items!", $57 +; 0x9c8aa + 29 bytes + +_CeladonMart3Text2: ; 0x9c8c7 + db $0, "Captured #MON", $4f + db "are registered", $55 + db "with an ID No.", $55 + db "and OT, the name", $55 + db "of the Original", $55 + db "Trainer that", $55 + db "caught it!", $57 + +_CeladonMart3Text3: ; 0x9c92d + db $0, "All right!", $51 + db "My buddy's going", $4f + db "to trade me his", $55 + db "KANGASKHAN for my", $55 + db "GRAVELER!", $57 + +_CeladonMart3Text4: ; 0x9c975 + db $0, "Come on GRAVELER!", $51 + db "I love GRAVELER!", $4f + db "I collect them!", $51 + db "Huh?", $51 + db "GRAVELER turned", $4f + db "into a different", $55 + db "#MON!", $57 + +_CeladonMart3Text5: ; 0x9c9d5 + db $0, "You can identify", $4f + db "#MON you got", $55 + db "in trades by", $55 + db "their ID Numbers!", $57 + +_CeladonMart3Text6: ; 0x9ca13 + db $0, "It's an SNES!", $57 + +_CeladonMart3Text7: ; 0x9ca21 + db $0, "An RPG! There's", $4f + db "no time for that!", $57 + +_CeladonMart3Text9: ; 0x9ca43 + db $0, "A sports game!", $4f + db "Dad'll like that!", $57 + +_CeladonMart3Text11: ; 0x9ca64 + db $0, "A puzzle game!", $4f + db "Looks addictive!", $57 + +_CeladonMart3Text13: ; 0x9ca85 + db $0, "A fighting game!", $4f + db "Looks tough!", $57 + +_CeladonMart3Text14: ; 0x9caa4 + db $0, "3F: TV GAME SHOP", $57 + +_CeladonMart3Text15: ; 0x9cab6 + db $0, "Red and Blue!", $4f + db "Both are #MON!", $57 + +_CeladonMart4Text2: ; 0x9cad4 + db $0, "I'm getting a", $4f + db "# DOLL for my", $55 + db "girl friend!", $57 + +_CeladonMart4Text3: ; 0x9cafd + db $0, "I heard something", $4f + db "useful.", $51 + db "You can run from", $4f + db "wild #MON by", $55 + db "distracting them", $55 + db "with a # DOLL!", $57 + +_CeladonMart4Text4: ; 0x9cb56 + db $0, "Express yourself", $4f + db "with gifts!", $51 + db "4F: WISEMAN GIFTS", $51 + db "Evolution Special!", $4f + db "Element STONEs on", $55 + db "sale now!", $57 + +_UnnamedText_484ee: ; 0x9cbb5 + db $0, "Give her which", $4f + db "drink?", $57 +; 0x9cbb5 + 23 bytes + +UnnamedText_9cbcc: ; 0x9cbcc + db $0, "Yay!", $51 + db "FRESH WATER!", $51 + db "Thank you!", $51 + db "You can have this", $4f + db "from me!@@" +; 0x9cc06 + +UnnamedText_9cc06: ; 0x9cc06 + db $0, $52, " received", $4f + db "@" + TX_RAM $cf4b + db $0, "!@@" +; 0x9cc1a + +UnnamedText_9cc1a: ; 0x9cc1a + db $0, $51 + db "@" + TX_RAM $cf4b + db $0, " contains", $4f + db "ICE BEAM!", $51 + db "It can freeze the", $4f + db "target sometimes!@@" +; 0x9cc5a + +UnnamedText_9cc5a: ; 0x9cc5a + db $0, "Yay!", $51 + db "SODA POP!", $51 + db "Thank you!", $51 + db "You can have this", $4f + db "from me!@@" +; 0x9cc91 + +UnnamedText_9cc91: ; 0x9cc91 + db $0, $52, " received", $4f + db "@" + TX_RAM $cf4b + db $0, "!@@" +; 0x9cca4 + +UnnamedText_9cca5: ; 0x9cca5 + db $0, $51 + db "@" + TX_RAM $cf4b + db $0, " contains", $4f + db "ROCK SLIDE!", $51 + db "It can spook the", $4f + db "target sometimes!@@" +; 0x9cce6 + +UnnamedText_9cce6: ; 0x9cce6 + db $0, "Yay!", $51 + db "LEMONADE!", $51 + db "Thank you!", $51 + db "You can have this", $4f + db "from me!@@" +; 0x9cd1d + +ReceivedTM49Text: ; 0x9cd1d + db $0, $52, " received", $4f + db "TM49!@@" +; 0x9cd30 + +UnnamedText_9cd30: ; 0x9cd30 + db $0, $51 + db "TM49 contains", $4f + db "TRI ATTACK!@@" +; 0x9cd4d + +UnnamedText_9cd4d: ; 0x9cd4d + db $0, "You don't have", $4f + db "space for this!@@" +; 0x9cd6d + +UnnamedText_9cd6d: ; 0x9cd6d + db $0, "No thank you!", $4f + db "I'm not thirsty", $55 + db "after all!@@" +; 0x9cd97 + +_CeladonMartRoofText1: ; 0x9cd97 + db $0, "My sister is a", $4f + db "trainer, believe", $55 + db "it or not.", $51 + db "But, she's so", $4f + db "immature, she", $55 + db "drives me nuts!", $57 + +_UnnamedText_48598: ; 0x9cdee + db $0, "I'm thirsty!", $4f + db "I want something", $55 + db "to drink!", $57 +; 0x9cdee + 40 bytes + +_UnnamedText_4859d: ; 0x9ce16 + db $0, "I'm thirsty!", $4f + db "I want something", $55 + db "to drink!", $51 + db "Give her a drink?", $57 +; 0x9ce16 + 58 bytes + +_CeladonMartRoofText6: ; 0x9ce50 + db $0, "ROOFTOP SQUARE:", $4f + db "VENDING MACHINES", $57 + +_UnnamedText_74f99: ; 0x9ce72 + db $0, "A vending machine!", $4f + db "Here's the menu!", $58 +; 0x9ce72 + 36 bytes + +_UnnamedText_74fd3: ; 0x9ce96 + db $0, "Oops, not enough", $4f + db "money!", $57 +; 0x9ce96 + 25 bytes + +_UnnamedText_74fd8: ; 0x9ceaf + TX_RAM $cf4b + db $0, $4f + db "popped out!", $57 +; 0x9ceaf + 17 bytes + +_UnnamedText_74fdd: ; 0x9cec0 + db $0, "There's no more", $4f + db "room for stuff!", $57 +; 0x9cec0 + 32 bytes + +_UnnamedText_74fe2: ; 0x9cee0 + db $0, "Not thirsty!", $57 +; 0x9cee0 + 14 bytes + +_CeladonMansion1Text1: ; 0x9ceee + db $0, "MEOWTH: Meow!@@" + +_CeladonMansion1Text2: ; 0x9cefe + db $0, "My dear #MON", $4f + db "keep me company.", $51 + db "MEOWTH even brings", $4f + db "money home!", $57 + +_CeladonMansion1Text3: ; 0x9cf3c + db $0, "CLEFAIRY: Pi", $4f + db "pippippi!@@" + +_CeladonMansion1Text4: ; 0x9cf55 + db $0, "NIDORAN: Kya", $4f + db "kyaoo!@@" + +_CeladonMansion1Text5: ; 0x9cf6b + db $0, "CELADON MANSION", $4f + db "Manager's Suite", $57 + +_CeladonMansion2Text1: ; 0x9cf8b + db $0, "GAME FREAK", $4f + db "Meeting Room", $57 + +_CeladonMansion3Text1: ; 0x9cfa4 + db $0, "Me? I'm the", $4f + db "programmer!", $57 + +_CeladonMansion3Text2: ; 0x9cfbc + db $0, "I'm the graphic", $4f + db "artist!", $55 + db "I drew you!", $57 + +_CeladonMansion3Text3: ; 0x9cfe0 + db $0, "I wrote the story!", $4f + db "Isn't ERIKA cute?", $51 + db "I like MISTY a", $4f + db "lot too!", $51 + db "Oh, and SABRINA,", $4f + db "I like her!", $57 + +_UnnamedText_487d0: ; 0x9d03a + db $0, "Is that right?", $51 + db "I'm the game", $4f + db "designer!", $51 + db "Filling up your", $4f + db "#DEX is tough,", $55 + db "but don't quit!", $51 + db "When you finish,", $4f + db "come tell me!", $57 +; 0x9d03a + 115 bytes + +_UnnamedText_487d5: ; 0x9d0ad + db $0, "Wow! Excellent!", $4f + db "You completed", $55 + db "your #DEX!", $55 + db "Congratulations!", $55 + db "...@@" +; 0x9d0ed + +_CeladonMansion3Text5: ; 0x9d0ed + db $0, "It's the game", $4f + db "program! Messing", $55 + db "with it could bug", $55 + db "out the game!", $57 + +_CeladonMansion3Text6: ; 0x9d12c + db $0, "Someone's playing", $4f + db "a game instead of", $55 + db "working!", $57 + +_CeladonMansion3Text7: ; 0x9d159 + db $0, "It's the script!", $4f + db "Better not look", $55 + db "at the ending!", $57 + +_CeladonMansion3Text8: ; 0x9d189 + db $0, "GAME FREAK", $4f + db "Development Room", $57 + +_CeladonMansion4Text1: ; 0x9d1a6 + db $0, "I KNOW EVERYTHING!", $57 + +_CeladonMansion5Text1: ; 0x9d1ba + db $0, "I know everything", $4f + db "about the world", $55 + db "of #MON in", $55 + db "your GAME BOY!", $51 + db "Get together with", $4f + db "your friends and", $55 + db "trade #MON!", $57 + +_CeladonPokecenterText2: ; 0x9d226 + db $0, "# FLUTE awakens", $4f + db "#MON with a", $55 + db "sound that only", $55 + db "they can hear!", $57 + +_CeladonPokecenterText3: ; 0x9d262 + db $0, "I rode uphill on", $4f + db "CYCLING ROAD from", $55 + db "FUCHSIA!", $57 + +_UnnamedText_48a5e: ; 0x9d28f + db $0, "Hello. Lovely", $4f + db "weather isn't it?", $55 + db "It's so pleasant.", $51 + db "...Oh dear...", $4f + db "I must have dozed", $55 + db "off. Welcome.", $51 + db "My name is ERIKA.", $4f + db "I am the LEADER", $55 + db "of CELADON GYM.", $51 + db "I teach the art of", $4f + db "flower arranging.", $55 + db "My #MON are of", $55 + db "the grass-type.", $51 + db "Oh, I'm sorry, I", $4f + db "had no idea that", $55 + db "you wished to", $55 + db "challenge me.", $51 + db "Very well, but I", $4f + db "shall not lose.", $57 +; 0x9d28f + 307 bytes + +_UnnamedText_48a63: ; 0x9d3c2 + db $0, "Oh!", $4f + db "I concede defeat.", $51 + db "You are remarkably", $4f + db "strong.", $51 + db "I must confer you", $4f + db "the RAINBOWBADGE.", $58 +; 0x9d3c2 + 86 bytes + +_UnnamedText_48a68: ; 0x9d418 + db $0, "You are cataloging", $4f + db "#MON? I must", $55 + db "say I'm impressed.", $51 + db "I would never", $4f + db "collect #MON", $55 + db "if they were", $55 + db "unattractive.", $57 +; 0x9d418 + 105 bytes + +_UnnamedText_48a6d: ; 0x9d481 + db $0, "The RAINBOWBADGE", $4f + db "will make #MON", $55 + db "up to L50 obey.", $51 + db "It also allows", $4f + db "#MON to use", $55 + db "STRENGTH in and", $55 + db "out of battle.", $51 + db "Please also take", $4f + db "this with you.", $57 +; 0x9d481 + 139 bytes + +_ReceivedTM21Text: ; 0x9d50c + db $0, $52, " received", $4f + db "@" + TX_RAM $cf4b + db $0, "!@@" +; 0x9d520 + +_TM21ExplanationText: ; 0x9d520 + db $0, $51 + db "TM21 contains", $4f + db "MEGA DRAIN.", $51 + db "Half the damage", $4f + db "it inflicts is", $55 + db "drained to heal", $55 + db "your #MON!", $57 +; 0x9d520 + 86 bytes + +_TM21NoRoomText: ; 0x9d576 + db $0, "You should make", $4f + db "room for this.", $57 +; 0x9d576 + 32 bytes + +_UnnamedText_48a8b: ; 0x9d596 + db $0, "Hey!", $51 + db "You are not", $4f + db "allowed in here!", $57 +; 0x9d596 + 35 bytes + +_UnnamedText_48a90: ; 0x9d5b9 + db $0, "You're", $4f + db "too rough!", $58 +; 0x9d5b9 + 18 bytes + +_UnnamedText_48a95: ; 0x9d5cb + db $0, "Bleaah!", $4f + db "I hope ERIKA", $55 + db "wipes you out!", $57 +; 0x9d5cb + 37 bytes + +_UnnamedText_48aa4: ; 0x9d5f0 + db $0, "I was getting", $4f + db "bored.", $57 +; 0x9d5f0 + 22 bytes + +_UnnamedText_48aa9: ; 0x9d606 + db $0, "My", $4f + db "makeup!", $58 +; 0x9d606 + 12 bytes + +_UnnamedText_48aae: ; 0x9d612 + db $0, "Grass-type #MON", $4f + db "are tough against", $55 + db "the water-type!", $51 + db "They also have an", $4f + db "edge on rock and", $55 + db "ground #MON!", $57 +; 0x9d612 + 99 bytes + +_UnnamedText_48abd: ; 0x9d675 + db $0, "Aren't you the", $4f + db "peeping Tom?", $57 +; 0x9d675 + 28 bytes + +_UnnamedText_48ac2: ; 0x9d691 + db $0, "I'm", $4f + db "in shock!", $58 +; 0x9d691 + 14 bytes + +_UnnamedText_48ac7: ; 0x9d69f + db $0, "Oh, you weren't", $4f + db "peeping? We get a", $55 + db "lot of gawkers!", $57 +; 0x9d69f + 50 bytes + +_UnnamedText_48ad6: ; 0x9d6d1 + db $0, "Look at my grass", $4f + db "#MON!", $51 + db "They're so easy", $4f + db "to raise!", $57 +; 0x9d6d1 + 49 bytes + +_UnnamedText_48adb: ; 0x9d702 + db $0, "No!", $58 +; 0x9d702 + 5 bytes + +_UnnamedText_48ae0: ; 0x9d707 + db $0, "We only use grass-", $4f + db "type #MON at", $55 + db "our GYM!", $51 + db "We also use them", $4f + db "for making flower", $55 + db "arrangements!", $57 +; 0x9d707 + 91 bytes + +_UnnamedText_48aef: ; 0x9d762 + db $0, "Don't bring any", $4f + db "bugs or fire", $55 + db "#MON in here!", $57 +; 0x9d762 + 43 bytes + +_UnnamedText_48af4: ; 0x9d78d + db $0, "Oh!", $4f + db "You!", $58 +; 0x9d78d + 10 bytes + +_UnnamedText_48af9: ; 0x9d797 + db $0, "Our LEADER, ERIKA,", $4f + db "might be quiet,", $55 + db "but she's also", $55 + db "very skilled!", $57 +; 0x9d797 + 64 bytes + +_UnnamedText_48b08: ; 0x9d7d7 + db $0, "Pleased to meet", $4f + db "you. My hobby is", $55 + db "#MON training.", $57 +; 0x9d7d7 + 49 bytes + +_UnnamedText_48b0d: ; 0x9d808 + db $0, "Oh!", $4f + db "Splendid!", $58 +; 0x9d808 + 15 bytes + +_UnnamedText_48b12: ; 0x9d817 + db $0, "I have a blind", $4f + db "date coming up.", $55 + db "I have to learn", $55 + db "to be polite.", $57 +; 0x9d817 + 62 bytes + +_UnnamedText_48b21: ; 0x9d855 + db $0, "Welcome to", $4f + db "CELADON GYM!", $51 + db "You better not", $4f + db "underestimate", $55 + db "girl power!", $57 +; 0x9d855 + 66 bytes + +_UnnamedText_48b26: ; 0x9d897 + db $0, "Oh!", $4f + db "Beaten!", $58 +; 0x9d897 + 13 bytes + +_UnnamedText_48b2b: ; 0x9d8a4 + db $0, "I didn't bring my", $4f + db "best #MON!", $51 + db "Wait 'til next", $4f + db "time!", $57 +; 0x9d8a4 + 49 bytes + +_CeladonGameCornerText1: ; 0x9d8d5 + db $0, "Welcome!", $51 + db "You can exchange", $4f + db "your coins for", $55 + db "fabulous prizes", $55 + db "next door.", $57 + +_UnnamedText_48d22: ; 0x9d91a + db $0, "Welcome to ROCKET", $4f + db "GAME CORNER!", $51 + db "Do you need some", $4f + db "game coins?", $51 + db "It's ", $f0, "1000 for 50", $4f + db "coins. Would you", $55 + db "like some?", $57 +; 0x9d91a + 106 bytes + +_UnnamedText_48d27: ; 0x9d984 + db $0, "Thanks! Here are", $4f + db "your 50 coins!", $57 +; 0x9d984 + 33 bytes + +_UnnamedText_48d2c: ; 0x9d9a5 + db $0, "No? Please come", $4f + db "play sometime!", $57 +; 0x9d9a5 + 32 bytes + +_UnnamedText_48d31: ; 0x9d9c5 + db $0, "You can't afford", $4f + db "the coins!", $57 +; 0x9d9c5 + 28 bytes + +_UnnamedText_48d36: ; 0x9d9e1 + db $0, "Oops! Your COIN", $4f + db "CASE is full.", $57 +; 0x9d9e1 + 31 bytes + +_UnnamedText_48d3b: ; 0x9da00 + db $0, "You don't have a", $4f + db "COIN CASE!", $57 +; 0x9da00 + 28 bytes + +_CeladonGameCornerText3: ; 0x9da1c + db $0, "Keep this quiet.", $51 + db "It's rumored that", $4f + db "this place is run", $55 + db "by TEAM ROCKET.", $57 + +_CeladonGameCornerText4: ; 0x9da61 + db $0, "I think these", $4f + db "machines have", $55 + db "different odds.", $57 + +_UnnamedText_48d9c: ; 0x9da8e + db $0, "Kid, do you want", $4f + db "to play?", $58 +; 0x9da8e + 27 bytes + +_Received10CoinsText: ; 0x9daa9 + db $0, $52, " received", $4f + db "10 coins!@@" +; 0x9dac0 + +_UnnamedText_48da7: ; 0x9dac0 + db $0, "You don't need my", $4f + db "coins!", $57 +; 0x9dac0 + 25 bytes + +_UnnamedText_48dac: ; 0x9dad9 + db $0, "Wins seem to come", $4f + db "and go.", $57 +; 0x9dad9 + 27 bytes + +_CeladonGameCornerText6: ; 0x9daf4 + db $0, "I'm having a", $4f + db "wonderful time!", $57 + +_UnnamedText_48dca: ; 0x9db11 + db $0, "Hey!", $51 + db "You have better", $4f + db "things to do,", $55 + db "champ in making!", $51 + db "CELADON GYM's", $4f + db "LEADER is ERIKA!", $55 + db "She uses grass-", $55 + db "type #MON!", $51 + db "She might appear", $4f + db "docile, but don't", $55 + db "be fooled!", $57 +; 0x9db11 + 155 bytes + +_UnnamedText_48dcf: ; 0x9dbac + db $0, "They offer rare", $4f + db "#MON that can", $55 + db "be exchanged for", $55 + db "your coins.", $51 + db "But, I just can't", $4f + db "seem to win!", $57 +; 0x9dbac + 90 bytes + +_CeladonGameCornerText8: ; 0x9dc06 + db $0, "Games are scary!", $4f + db "It's so easy to", $55 + db "get hooked!", $57 + +_UnnamedText_48e26: ; 0x9dc33 + db $0, "What's up? Want", $4f + db "some coins?", $58 +; 0x9dc33 + 28 bytes + +_Received20CoinsText: ; 0x9dc4f + db $0, $52, " received", $4f + db "20 coins!@@" +; 0x9dc66 + +_UnnamedText_48e31: ; 0x9dc66 + db $0, "You have lots of", $4f + db "coins!", $57 +; 0x9dc66 + 25 bytes + +_UnnamedText_48e36: ; 0x9dc7f + db $0, "Darn! I need more", $4f + db "coins for the", $55 + db "#MON I want!", $57 +; 0x9dc7f + 46 bytes + +_UnnamedText_48e88: ; 0x9dcad + db $0, "Hey, what? You're", $4f + db "throwing me off!", $55 + db "Here are some", $55 + db "coins, shoo!", $58 +; 0x9dcad + 62 bytes + +_UnnamedText_48e8d: ; 0x9dceb + db $0, $52, " received", $4f + db "20 coins!@@" +; 0x9dd02 + +_UnnamedText_48e93: ; 0x9dd02 + db $0, "You've got your", $4f + db "own coins!", $57 +; 0x9dd02 + 27 bytes + +_UnnamedText_48e98: ; 0x9dd1d + db $0, "The trick is to", $4f + db "watch the reels", $55 + db "closely!", $57 +; 0x9dd1d + 42 bytes + +_UnnamedText_48ece: ; 0x9dd47 + db $0, "I'm guarding this", $4f + db "poster!", $55 + db "Go away, or else!", $57 +; 0x9dd47 + 44 bytes + +_UnnamedText_48ed3: ; 0x9dd73 + db $0, "Dang!", $58 +; 0x9dd73 + 7 bytes + +_UnnamedText_48ed8: ; 0x9dd7a + db $0, "Our hideout might", $4f + db "be discovered! I", $55 + db "better tell BOSS!", $57 +; 0x9dd7a + 54 bytes + +_UnnamedText_48f09: ; 0x9ddb0 + db $0, "Hey!", $51 + db "A switch behind", $4f + db "the poster!?", $55 + db "Let's push it!@@" +; 0x9dde2 + +_UnnamedText_48f19: ; 0x9dde2 + db $0, "Oops! Forgot the", $4f + db "COIN CASE!", $57 +; 0x9dde2 + 29 bytes + +_CeladonMart5Text1: ; 0x9ddff + db $0, "#MON ability", $4f + db "enhancers can be", $55 + db "bought only here.", $51 + db "Use CALCIUM to", $4f + db "increase SPECIAL", $55 + db "abilities.", $51 + db "Use CARBOS to", $4f + db "increase SPEED.", $57 + +_CeladonMart5Text2: ; 0x9de79 + db $0, "I'm here for", $4f + db "#MON ability", $55 + db "enhancers.", $51 + db "PROTEIN increases", $4f + db "ATTACK power.", $51 + db "IRON increases", $4f + db "DEFENSE!", $57 + +_CeladonMart5Text5: ; 0x9ded6 + db $0, "5F: DRUG STORE", $57 + +_CeladonPrizeRoomText1: ; 0x9dee6 + db $0, "I sure do fancy", $4f + db "that PORYGON!", $51 + db "But, it's hard to", $4f + db "win at slots!", $57 + +_CeladonPrizeRoomText2: ; 0x9df24 + db $0, "I had a major", $4f + db "haul today!", $57 + +_CeladonDinerText1: ; 0x9df3f + db $0, "Hi!", $51 + db "We're taking a", $4f + db "break now.", $57 + +_CeladonDinerText2: ; 0x9df5d + db $0, "My #MON are", $4f + db "weak, so I often", $55 + db "have to go to the", $55 + db "DRUG STORE.", $57 + +_CeladonDinerText3: ; 0x9df99 + db $0, "Psst! There's a", $4f + db "basement under", $55 + db "the GAME CORNER.", $57 + +_CeladonDinerText4: ; 0x9dfc9 + db $0, "Munch...", $51 + db "The man at that", $4f + db "table lost it all", $55 + db "at the slots.", $57 + +_UnnamedText_491a7: ; 0x9e003 + db $0, "Go ahead! Laugh!", $51 + db "I'm flat out", $4f + db "busted!", $51 + db "No more slots for", $4f + db "me! I'm going", $55 + db "straight!", $51 + db "Here! I won't be", $4f + db "needing this any-", $55 + db "more!", $58 +; 0x9e003 + 119 bytes + +_ReceivedCoinCaseText: ; 0x9e07a + db $0, $52, " received", $4f + db "a @" + TX_RAM $cf4b + db $0, "!@@" +; 0x9e090 + +_CoinCaseNoRoomText: ; 0x9e090 + db $0, "Make room for", $4f + db "this!", $57 +; 0x9e090 + 21 bytes + +_UnnamedText_491b7: ; 0x9e0a5 + db $0, "I always thought", $4f + db "I was going to", $55 + db "win it back...", $57 +; 0x9e0a5 + 48 bytes + +_CeladonHouseText1: ; 0x9e0d5 + db $0, "Hehehe! The slots", $4f + db "just reel in the", $55 + db "dough, big time!", $57 + +_CeladonHouseText2: ; 0x9e10a + db $0, "CHIEF!", $51 + db "We just shipped", $4f + db "2000 #MON as", $55 + db "slot prizes!", $57 + +_CeladonHouseText3: ; 0x9e13c + db $0, "Don't touch the", $4f + db "poster at the", $55 + db "GAME CORNER!", $51 + db "There's no secret", $4f + db "switch behind it!", $57 + +_CeladonHotelText1: ; 0x9e18a + db $0, "#MON? No, this", $4f + db "is a hotel for", $55 + db "people.", $51 + db "We're full up.", $57 + +_CeladonHotelText2: ; 0x9e1bf + db $0, "I'm on vacation", $4f + db "with my brother", $55 + db "and boy friend.", $51 + db "CELADON is such a", $4f + db "pretty city!", $57 + +_CeladonHotelText3: ; 0x9e20e + db $0, "Why did she bring", $4f + db "her brother?", $57 + +_FuchsiaMartText2: ; 0x9e22e + db $0, "Do you have a", $4f + db "SAFARI ZONE flag?", $51 + db "What about cards", $4f + db "or calendars?", $57 + +_FuchsiaMartText3: ; 0x9e26e + db $0, "Did you try X", $4f + db "SPEED? It speeds", $55 + db "up a #MON in", $55 + db "battle!", $57 + +_FuchsiaHouse1Text1: ; 0x9e2a3 + db $0, "SAFARI ZONE's", $4f + db "WARDEN is old,", $55 + db "but still active!", $51 + db "All his teeth are", $4f + db "false, though.", $57 + +_FuchsiaHouse1Text2: ; 0x9e2f3 + db $0, "Hmm? You've met", $4f + db "BILL?", $51 + db "He's my grandson!", $51 + db "He always liked", $4f + db "collecting things", $55 + db "even as a child!", $57 + +_FuchsiaHouse1Text3: ; 0x9e34d + db $0, "BILL files his", $4f + db "own #MON data", $55 + db "on his PC!", $51 + db "Did he show you?", $57 + +_FuchsiaPokecenterText1: ; 0x9e387 + db $0, "You can't win", $4f + db "with just one", $55 + db "strong #MON.", $51 + db "It's tough, but", $4f + db "you have to raise", $55 + db "them evenly.", $57 + +_FuchsiaPokecenterText3: ; 0x9e3de + db $0, "There's a narrow", $4f + db "trail west of", $55 + db "VIRIDIAN CITY.", $51 + db "It goes to #MON", $4f + db "LEAGUE HQ.", $55 + db "The HQ governs", $55 + db "all trainers.", $57 + +_UnnamedText_75135: ; 0x9e444 + db $0, "WARDEN: Hif fuff", $4f + db "hefifoo!", $51 + db "Ha lof ha feef ee", $4f + db "hafahi ho. Heff", $55 + db "hee fwee!", $57 +; 0x9e444 + 71 bytes + +_UnnamedText_7513a: ; 0x9e48b + db $0, "Ah howhee ho hoo!", $4f + db "Eef ee hafahi ho!", $57 +; 0x9e48b + 37 bytes + +_UnnamedText_7513f: ; 0x9e4b0 + db $0, "Ha? He ohay heh", $4f + db "ha hoo ee haheh!", $57 +; 0x9e4b0 + 34 bytes + +_UnnamedText_75144: ; 0x9e4d2 + db $0, $52, " gave the", $4f + db "GOLD TEETH to the", $55 + db "WARDEN!@@" +; 0x9e4f9 + +_UnnamedText_75149: ; 0x9e4f9 + db $0, $51 + db "The WARDEN popped", $4f + db "in his teeth!", $58 +; 0x9e4f9 + 34 bytes + +_UnnamedText_7514e: ; 0x9e51b + db $0, "WARDEN: Thanks,", $4f + db "kid! No one could", $55 + db "understand a word", $55 + db "that I said.", $51 + db "I couldn't work", $4f + db "that way.", $55 + db "Let me give you", $55 + db "something for", $55 + db "your trouble.", $58 +; 0x9e51b + 135 bytes + +UnnamedText_9e5a2: ; 0x9e5a2 + db $0, $52, " received", $4f + db "@" + TX_RAM $cf4b + db $0, "!@@" +; 0x9e5b6 + +_UnnamedText_75159: ; 0x9e5b6 + db $0, "WARDEN: HM04", $4f + db "teaches STRENGTH!", $51 + db "It lets #MON", $4f + db "move boulders", $55 + db "when you're out-", $55 + db "side of battle.", $51 + db "Oh yes, did you", $4f + db "find SECRET HOUSE", $55 + db "in SAFARI ZONE?", $51 + db "If you do, you", $4f + db "win an HM!", $51 + db "I hear it's the", $4f + db "rare SURF HM.", $57 +; 0x9e5b6 + 196 bytes + +_UnnamedText_7515e: ; 0x9e67a + db $0, "Your pack is", $4f + db "stuffed full!", $57 +; 0x9e67a + 28 bytes + +_UnnamedText_75176: ; 0x9e696 + db $0, "#MON photos", $4f + db "and fossils.", $57 +; 0x9e696 + 26 bytes + +_UnnamedText_7517b: ; 0x9e6b0 + db $0, "Old #MON", $4f + db "merchandise.", $57 +; 0x9e6b0 + 23 bytes + +_SafariZoneEntranceText1: ; 0x9e6c7 + db $0, "Welcome to the", $4f + db "SAFARI ZONE!", $57 + +UnnamedText_9e6e4: ; 0x9e6e4 + db $0, "For just ", $f0, "500,", $4f + db "you can catch all", $55 + db "the #MON you", $55 + db "want in the park!", $51 + db "Would you like to", $4f + db "join the hunt?@@" +; 0x9e747 + +UnnamedText_9e747: ; 0x9e747 + db $0, "That'll be ", $f0, "500", $4f + db "please!", $51 + db "We only use a", $4f + db "special # BALL", $55 + db "here.", $51 + db $52, " received", $4f + db "30 SAFARI BALLs!@@" +; 0x9e79f + +_UnnamedText_75360: ; 0x9e79f + db $0, $51 + db "We'll call you on", $4f + db "the PA when you", $55 + db "run out of time", $55 + db "or SAFARI BALLs!", $57 +; 0x9e79f + 68 bytes + +_UnnamedText_75365: ; 0x9e7e3 + db $0, "OK! Please come", $4f + db "again!", $57 +; 0x9e7e3 + 24 bytes + +_UnnamedText_7536a: ; 0x9e7fb + db $0, "Oops! Not enough", $4f + db "money!", $57 +; 0x9e7fb + 25 bytes + +UnnamedText_9e814: ; 0x9e814 + db $0, "Leaving early?@@" +; 0x9e825 + +_UnnamedText_753bb: ; 0x9e825 + db $0, "Please return any", $4f + db "SAFARI BALLs you", $55 + db "have left.", $57 +; 0x9e825 + 47 bytes + +_UnnamedText_753c0: ; 0x9e854 + db $0, "Good Luck!", $57 +; 0x9e854 + 12 bytes + +_UnnamedText_753c5: ; 0x9e860 + db $0, "Did you get a", $4f + db "good haul?", $55 + db "Come again!", $57 +; 0x9e860 + 38 bytes + +_UnnamedText_753e6: ; 0x9e886 + db $0, "Hi! Is it your", $4f + db "first time here?", $57 +; 0x9e886 + 33 bytes + +_UnnamedText_753eb: ; 0x9e8a7 + db $0, "SAFARI ZONE has 4", $4f + db "zones in it.", $51 + db "Each zone has", $4f + db "different kinds", $55 + db "of #MON. Use", $55 + db "SAFARI BALLs to", $55 + db "catch them!", $51 + db "When you run out", $4f + db "of time or SAFARI", $55 + db "BALLs, it's game", $55 + db "over for you!", $51 + db "Before you go,", $4f + db "open an unused", $55 + db "#MON BOX so", $55 + db "there's room for", $55 + db "new #MON!", $57 +; 0x9e8a7 + 236 bytes + +_UnnamedText_753f0: ; 0x9e993 + db $0, "Sorry, you're a", $4f + db "regular here!", $57 +; 0x9e993 + 30 bytes + +_UnnamedText_75581: ; 0x9e9b1 + db $0, "KOGA: Fwahahaha!", $51 + db "A mere child like", $4f + db "you dares to", $55 + db "challenge me?", $51 + db "Very well, I", $4f + db "shall show you", $55 + db "true terror as a", $55 + db "ninja master!", $51 + db "You shall feel", $4f + db "the despair of", $55 + db "poison and sleep", $55 + db "techniques!", $57 +; 0x9e9b1 + 181 bytes + +_UnnamedText_75586: ; 0x9ea66 + db $0, "Humph!", $4f + db "You have proven", $55 + db "your worth!", $51 + db "Here! Take the", $4f + db "SOULBADGE!", $58 +; 0x9ea66 + 62 bytes + +SECTION "bank28",DATA,BANK[$28] + +_UnnamedText_7558b: ; 0xa0000 + db $0, "When afflicted by", $4f + db "TOXIC, #MON", $55 + db "suffer more and", $55 + db "more as battle", $55 + db "progresses!", $51 + db "It will surely", $4f + db "terrorize foes!", $57 +; 0xa0000 + 105 bytes + +_UnnamedText_75590: ; 0xa0069 + db $0, "Now that you have", $4f + db "the SOULBADGE,", $55 + db "the DEFENSE of", $55 + db "your #MON", $55 + db "increases!", $51 + db "It also lets you", $4f + db "SURF outside of", $55 + db "battle!", $51 + db "Ah! Take this", $4f + db "too!", $57 +; 0xa0069 + 130 bytes + +UnnamedText_a00eb: ; 0xa00eb + db $0, $52, " received", $4f + db "@" +; 0xa00eb + 13 bytes = 0xa00f8 + +UnnamedText_a00f8: ; 0xa00f8 + TX_RAM $cf4b + db $0, "!@@" + +_UnnamedText_7559a: ; 0xa00ff + db $0, $51 + db "TM06 contains", $4f + db "TOXIC!", $51 + db "It is a secret", $4f + db "technique over", $55 + db "400 years old!", $57 +; 0xa00ff + 68 bytes + +_UnnamedText_7559f: ; 0xa0143 + db $0, "Make space for", $4f + db "this, child!", $57 +; 0xa0143 + 29 bytes + +_UnnamedText_755ae: ; 0xa0160 + db $0, "Strength isn't", $4f + db "the key for", $55 + db "#MON!", $51 + db "It's strategy!", $51 + db "I'll show you how", $4f + db "strategy can beat", $55 + db "brute strength!", $57 +; 0xa0160 + 98 bytes + +_UnnamedText_755b3: ; 0xa01c2 + db $0, "What?", $4f + db "Extraordinary!", $58 +; 0xa01c2 + 22 bytes + +_UnnamedText_755b8: ; 0xa01d8 + db $0, "So, you mix brawn", $4f + db "with brains?", $55 + db "Good strategy!", $57 +; 0xa01d8 + 47 bytes + +_UnnamedText_755c7: ; 0xa0207 + db $0, "I wanted to become", $4f + db "a ninja, so I", $55 + db "joined this GYM!", $57 +; 0xa0207 + 51 bytes + +_UnnamedText_755cc: ; 0xa023a + db $0, "I'm done", $4f + db "for!", $58 +; 0xa023a + 14 bytes + +_UnnamedText_755d1: ; 0xa0248 + db $0, "I will keep on", $4f + db "training under", $55 + db "KOGA, my ninja", $55 + db "master!", $57 +; 0xa0248 + 54 bytes + +_UnnamedText_755e0: ; 0xa027e + db $0, "Let's see you", $4f + db "beat my special", $55 + db "techniques!", $57 +; 0xa027e + 42 bytes + +_UnnamedText_755e5: ; 0xa02a8 + db $0, "You", $4f + db "had me fooled!", $58 +; 0xa02a8 + 20 bytes + +_UnnamedText_755ea: ; 0xa02bc + db $0, "I like poison and", $4f + db "sleep techniques,", $55 + db "as they linger", $55 + db "after battle!", $57 +; 0xa02bc + 66 bytes + +_UnnamedText_755f9: ; 0xa02fe + db $0, "Stop right there!", $51 + db "Our invisible", $4f + db "walls have you", $55 + db "frustrated?", $57 +; 0xa02fe + 60 bytes + +_UnnamedText_755fe: ; 0xa033a + db $0, "Whoa!", $4f + db "He's got it!", $58 +; 0xa033a + 19 bytes + +_UnnamedText_75603: ; 0xa034d + db $0, "You impressed me!", $4f + db "Here's a hint!", $51 + db "Look very closely", $4f + db "for gaps in the", $55 + db "invisible walls!", $57 +; 0xa034d + 84 bytes + +_UnnamedText_75612: ; 0xa03a1 + db $0, "I also study the", $4f + db "way of the ninja", $55 + db "with master KOGA!", $51 + db "Ninja have a long", $4f + db "history of using", $55 + db "animals!", $57 +; 0xa03a1 + 97 bytes + +_UnnamedText_75617: ; 0xa0402 + db $0, "Awoo!", $58 +; 0xa0402 + 7 bytes + +_UnnamedText_7561c: ; 0xa0409 + db $0, "I still have much", $4f + db "to learn!", $57 +; 0xa0409 + 29 bytes + +_UnnamedText_7562b: ; 0xa0426 + db $0, "Master KOGA comes", $4f + db "from a long line", $55 + db "of ninjas!", $51 + db "What did you", $4f + db "descend from?", $57 +; 0xa0426 + 74 bytes + +_UnnamedText_75630: ; 0xa0470 + db $0, "Dropped", $4f + db "my balls!", $58 +; 0xa0470 + 19 bytes + +_UnnamedText_75635: ; 0xa0483 + db $0, "Where there is", $4f + db "light, there is", $55 + db "shadow!", $51 + db "Light and shadow!", $4f + db "Which do you", $55 + db "choose?", $57 +; 0xa0483 + 79 bytes + +_UnnamedText_7564e: ; 0xa04d2 + db $0, "Yo! Champ in", $4f + db "making!", $51 + db "FUCHSIA GYM is", $4f + db "riddled with", $55 + db "invisible walls!", $51 + db "KOGA might appear", $4f + db "close, but he's", $55 + db "blocked off!", $51 + db "You have to find", $4f + db "gaps in the walls", $55 + db "to reach him!", $57 +; 0xa04d2 + 162 bytes + +_UnnamedText_75653: ; 0xa0574 + db $0, "It's amazing how", $4f + db "ninja can terrify", $55 + db "even now!", $57 +; 0xa0574 + 45 bytes + +_FuchsiaMeetingRoomText1: ; 0xa05a1 + db $0, "We nicknamed the", $4f + db "WARDEN SLOWPOKE.", $51 + db "He and SLOWPOKE", $4f + db "both look vacant!", $57 + +_FuchsiaMeetingRoomText2: ; 0xa05e6 + db $0, "SLOWPOKE is very", $4f + db "knowledgeable", $55 + db "about #MON!", $51 + db "He even has some", $4f + db "fossils of rare,", $55 + db "extinct #MON!", $57 + +_FuchsiaMeetingRoomText3: ; 0xa0642 + db $0, "SLOWPOKE came in,", $4f + db "but I couldn't", $55 + db "understand him.", $51 + db "I think he's got", $4f + db "a speech problem!", $57 + +_UnnamedText_561bd: ; 0xa0695 + db $0, "I'm the FISHING", $4f + db "GURU's older", $55 + db "brother!", $51 + db "I simply Looove", $4f + db "fishing!", $51 + db "Do you like to", $4f + db "fish?", $57 +; 0xa0695 + 83 bytes + +_UnnamedText_561c2: ; 0xa06e8 + db $0, "Grand! I like", $4f + db "your style!", $51 + db "Take this and", $4f + db "fish, young one!", $51 + db $52, " received", $4f + db "a @" + TX_RAM $cf4b + db $0, "!@@" +; 0xa0737 + +_UnnamedText_56212: ; 0xa0737 + db $0, "Oh... That's so", $4f + db "disappointing...", $57 +; 0xa0737 + 33 bytes + +_UnnamedText_56217: ; 0xa0758 + db $0, "Hello there,", $4f + db $52, "!", $51 + db "How are the fish", $4f + db "biting?", $57 +; 0xa0758 + 42 bytes + +_UnnamedText_5621c: ; 0xa0782 + db $0, "Oh no!", $51 + db "You have no room", $4f + db "for my gift!", $57 +; 0xa0782 + 38 bytes + +_UnnamedText_4434b: ; 0xa07a8 + db $0, "Who are you? There", $4f + db "shouldn't be", $55 + db "anyone here.", $57 +; 0xa07a8 + 45 bytes + +_UnnamedText_44350: ; 0xa07d5 + db $0, "Ouch!", $58 +; 0xa07d5 + 7 bytes + +_UnnamedText_44355: ; 0xa07dc + db $0, "A key? I don't", $4f + db "know what you're", $55 + db "talking about.", $57 +; 0xa07dc + 46 bytes + +_UnnamedText_44395: ; 0xa080a + db $0, "A secret switch!", $51 + db "Press it?", $57 +; 0xa080a + 28 bytes + +_UnnamedText_4439a: ; 0xa0826 + db $0, "Who wouldn't?", $58 +; 0xa0826 + 14 bytes + +_UnnamedText_4439f: ; 0xa0834 + db $0, "Not quite yet!", $57 +; 0xa0834 + 16 bytes + +_UnnamedText_75914: ; 0xa0844 + db $0, "Hah!", $51 + db "I am BLAINE! I", $4f + db "am the LEADER of", $55 + db "CINNABAR GYM!", $51 + db "My fiery #MON", $4f + db "will incinerate", $55 + db "all challengers!", $51 + db "Hah! You better", $4f + db "have BURN HEAL!", $57 +; 0xa0844 + 131 bytes + +UnnamedText_a08c7: ; 0xa08c7 + db $0, "I have", $4f + db "burnt out!", $51 + db "You have earned", $4f + db "the VOLCANOBADGE!@@" +; 0xa08fd + +_UnnamedText_75920: ; 0xa08fd + db $0, "FIRE BLAST is the", $4f + db "ultimate fire", $55 + db "technique!", $51 + db "Don't waste it on", $4f + db "water #MON!", $57 +; 0xa08fd + 73 bytes + +_UnnamedText_75925: ; 0xa0946 + db $0, "Hah!", $51 + db "The VOLCANOBADGE", $4f + db "heightens the", $55 + db "SPECIAL abilities", $55 + db "of your #MON!", $51 + db "Here, you can", $4f + db "have this too!", $57 +; 0xa0946 + 98 bytes + +UnnamedText_a09a8: ; 0xa09a8 + db $0, $52, " received", $4f + db "@" +; 0xa09a8 + 13 bytes = 0xa09b5 + +UnnamedText_a09b5: ; 0xa09b5 + TX_RAM $cf4b + db $0, "!@@" +; 0xa09b5 + 7 bytes = 0xa09bc + +_UnnamedText_7592f: ; 0xa09bc + db $0, $51 + db "TM38 contains", $4f + db "FIRE BLAST!", $51 + db "Teach it to fire-", $4f + db "type #MON!", $51 + db "CHARMELEON or", $4f + db "PONYTA would be", $55 + db "good bets!", $57 +; 0xa09bc + 98 bytes + +_UnnamedText_75934: ; 0xa0a1e + db $0, "Make room for my", $4f + db "gift!", $57 +; 0xa0a1e + 24 bytes + +_UnnamedText_7595f: ; 0xa0a36 + db $0, "Do you know how", $4f + db "hot #MON fire", $55 + db "breath can get?", $57 +; 0xa0a36 + 47 bytes + +_UnnamedText_75964: ; 0xa0a65 + db $0, "Yow!", $4f + db "Hot, hot, hot!", $58 +; 0xa0a65 + 21 bytes + +_UnnamedText_75969: ; 0xa0a7a + db $0, "Fire, or to be", $4f + db "more precise,", $55 + db "combustion...", $51 + db "Blah, blah, blah,", $4f + db "blah...", $57 +; 0xa0a7a + 70 bytes + +_UnnamedText_75994: ; 0xa0ac0 + db $0, "I was a thief, but", $4f + db "I became straight", $55 + db "as a trainer!", $57 +; 0xa0ac0 + 52 bytes + +_UnnamedText_75999: ; 0xa0af4 + db $0, "I", $4f + db "surrender!", $58 +; 0xa0af4 + 14 bytes + +_UnnamedText_7599e: ; 0xa0b02 + db $0, "I can't help", $4f + db "stealing other", $55 + db "people's #MON!", $57 +; 0xa0b02 + 42 bytes + +_UnnamedText_759c9: ; 0xa0b2c + db $0, "You can't win!", $4f + db "I have studied", $55 + db "#MON totally!", $57 +; 0xa0b2c + 44 bytes + +_UnnamedText_759ce: ; 0xa0b58 + db $0, "Waah!", $4f + db "My studies!", $58 +; 0xa0b58 + 19 bytes + +_UnnamedText_759d3: ; 0xa0b6b + db $0, "My theories are", $4f + db "too complicated", $55 + db "for you!", $57 +; 0xa0b6b + 42 bytes + +_UnnamedText_759fe: ; 0xa0b95 + db $0, "I just like using", $4f + db "fire #MON!", $57 +; 0xa0b95 + 30 bytes + +_UnnamedText_75a03: ; 0xa0bb3 + db $0, "Too hot", $4f + db "to handle!", $58 +; 0xa0bb3 + 20 bytes + +_UnnamedText_75a08: ; 0xa0bc7 + db $0, "I wish there was", $4f + db "a thief #MON!", $55 + db "I'd use that!", $57 +; 0xa0bc7 + 45 bytes + +_UnnamedText_75a33: ; 0xa0bf4 + db $0, "I know why BLAINE", $4f + db "became a trainer!", $57 +; 0xa0bf4 + 37 bytes + +_UnnamedText_75a38: ; 0xa0c19 + db $0, "Ow!", $58 +; 0xa0c19 + 5 bytes + +_UnnamedText_75a3d: ; 0xa0c1e + db $0, "BLAINE was lost", $4f + db "in the mountains", $55 + db "when a fiery bird", $55 + db "#MON appeared.", $51 + db "Its light enabled", $4f + db "BLAINE to find", $55 + db "his way down!", $57 +; 0xa0c1e + 114 bytes + +_UnnamedText_75a68: ; 0xa0c90 + db $0, "I've been to many", $4f + db "GYMs, but this is", $55 + db "my favorite!", $57 +; 0xa0c90 + 49 bytes + +_UnnamedText_75a6d: ; 0xa0cc1 + db $0, "Yowza!", $4f + db "Too hot!", $58 +; 0xa0cc1 + 17 bytes + +_UnnamedText_75a72: ; 0xa0cd2 + db $0, "Us fire #MON", $4f + db "fans like PONYTA", $55 + db "and NINETALES!", $57 +; 0xa0cd2 + 46 bytes + +_UnnamedText_75a9d: ; 0xa0d00 + db $0, "Fire is weak", $4f + db "against H2O!", $57 +; 0xa0d00 + 27 bytes + +_UnnamedText_75aa2: ; 0xa0d1b + db $0, "Oh!", $4f + db "Snuffed out!", $58 +; 0xa0d1b + 18 bytes + +_UnnamedText_75aa7: ; 0xa0d2d + db $0, "Water beats fire!", $4f + db "But, fire melts", $55 + db "ice #MON!", $57 +; 0xa0d2d + 45 bytes + +_UnnamedText_75ac2: ; 0xa0d5a + db $0, "Yo! Champ in", $4f + db "making!", $51 + db "The hot-headed", $4f + db "BLAINE is a fire", $55 + db "#MON pro!", $51 + db "Douse his spirits", $4f + db "with water!", $51 + db "You better take", $4f + db "some BURN HEALs!", $57 +; 0xa0d5a + 127 bytes + +_UnnamedText_75ac7: ; 0xa0dd9 + db $0, $52, "! You beat", $4f + db "that fire brand!", $57 +; 0xa0dd9 + 30 bytes + +_Lab1Text1: ; 0xa0df7 + db $0, "We study #MON", $4f + db "extensively here.", $51 + db "People often bring", $4f + db "us rare #MON", $55 + db "for examination.", $57 + +_Lab1Text2: ; 0xa0e49 + db $0, "A photo of the", $4f + db "LAB's founder,", $55 + db "DR.FUJI!", $57 + +_Lab1Text3: ; 0xa0e70 + db $0, "#MON LAB", $4f + db "Meeting Room", $57 + +_Lab1Text4: ; 0xa0e87 + db $0, "#MON LAB", $4f + db "R-and-D Room", $57 + +_Lab1Text5: ; 0xa0e9e + db $0, "#MON LAB", $4f + db "Testing Room", $57 + +_Lab2Text1: ; 0xa0eb5 + db $0, "I found this very", $4f + db "strange fossil in", $55 + db "MT.MOON!", $51 + db "I think it's a", $4f + db "rare, prehistoric", $55 + db "#MON!", $57 + +_UnnamedText_75cc8: ; 0xa0f09 + db $0, "Tch-tch-tch!", $4f + db "I made a cool TM!", $51 + db "It can cause all", $4f + db "kinds of fun!", $58 +; 0xa0f09 + 63 bytes + +UnnamedText_a0f48: ; 0xa0f48 + db $0, $52, " received ", $4f + db "@" +; 0xa0f56 + +UnnamedText_a0f56: ; 0xa0f56 + TX_RAM $cf4b + db $0, "!@@" +; 0xa0f5d + +_UnnamedText_75cd3: ; 0xa0f5d + db $0, "Tch-tch-tch!", $4f + db "That's the sound", $55 + db "of a METRONOME!", $51 + db "It tweaks your", $4f + db "#MON's brain", $55 + db "into using moves", $55 + db "it doesn't know!", $57 +; 0xa0f5d + 106 bytes + +_UnnamedText_75cd8: ; 0xa0fc7 + db $0, "Your pack is", $4f + db "crammed full!", $57 +; 0xa0fc7 + 28 bytes + +_Lab3Text2: ; 0xa0fe3 + db $0, "EEVEE can evolve", $4f + db "into 1 of 3 kinds", $55 + db "of #MON.", $57 + +_Lab3Text3: ; 0xa1010 + db $0, "There's an e-mail", $4f + db "message!", $51 + db "...", $51 + db "The 3 legendary", $4f + db "bird #MON are", $55 + db "ARTICUNO, ZAPDOS", $55 + db "and MOLTRES.", $51 + db "Their whereabouts", $4f + db "are unknown.", $51 + db "We plan to explore", $4f + db "the cavern close", $55 + db "to CERULEAN.", $51 + db "From: #MON", $4f + db "RESEARCH TEAM", $51 + db "...", $57 + +_Lab3Text5: ; 0xa10d8 + db $0, "An amber pipe!", $57 + +_UnnamedText_75dc6: ; 0xa10e8 + db $0, "Hiya!", $51 + db "I am important", $4f + db "doctor!", $51 + db "I study here rare", $4f + db "#MON fossils!", $51 + db "You! Have you a", $4f + db "fossil for me?", $58 +; 0xa10e8 + 93 bytes + +_UnnamedText_75dcb: ; 0xa1145 + db $0, "No! Is too bad!", $57 +; 0xa1145 + 17 bytes + +_UnnamedText_75dd0: ; 0xa1156 + db $0, "I take a little", $4f + db "time!", $51 + db "You go for walk a", $4f + db "little while!", $57 +; 0xa1156 + 55 bytes + +_UnnamedText_75dd5: ; 0xa118d + db $0, "Where were you?", $51 + db "Your fossil is", $4f + db "back to life!", $51 + db "It was @" +; 0xa118d + 54 bytes + +UnnamedText_a11c3: ; 0xa11c3 + TX_RAM $cf4b + db $0, $4f + db "like I think!", $58 +; 0xa11d6 + +_UnnamedText_610ae: ; 0xa11d6 + db $0, "Oh! That is", $4f + db "@" +; 0xa11d6 + 14 bytes + +UnnamedText_a11e4: ; 0xa11e4 + TX_RAM $cd6d + db $0, "!", $51 + db "It is fossil of", $4f + db "@" + TX_RAM $cf4b + db $0, ", a", $55 + db "#MON that is", $55 + db "already extinct!", $51 + db "My Resurrection", $4f + db "Machine will make", $55 + db "that #MON live", $55 + db "again!", $57 +; 0xa1259 + +_UnnamedText_610b3: ; 0xa1259 + db $0, "So! You hurry and", $4f + db "give me that!", $51 + db $52, " handed", $4f + db "over @" + TX_RAM $cd6d + db $0, "!", $58 +; 0xa128f + +_UnnamedText_610b8: ; 0xa128f + db $0, "I take a little", $4f + db "time!", $51 + db "You go for walk a", $4f + db "little while!", $57 +; 0xa128f + 55 bytes + +_UnnamedText_610bd: ; 0xa12c6 + db $0, "Aiyah! You come", $4f + db "again!", $57 +; 0xa12c6 + 24 bytes + +_CinnabarPokecenterText2: +_CinnabarPokecenterText1: ; 0xa12de + db $0, "You can cancel", $4f + db "evolution.", $51 + db "When a #MON is", $4f + db "evolving, you can", $55 + db "stop it and leave", $55 + db "it the way it is.", $57 + +_CinnabarPokecenterText3: ; 0xa133e + db $0, "Do you have any", $4f + db "friends?", $51 + db "#MON you get", $4f + db "in trades grow", $55 + db "very quickly.", $51 + db "I think it's", $4f + db "worth a try!", $57 + +_CinnabarMartText2: ; 0xa139b + db $0, "Don't they have X", $4f + db "ATTACK? It's good", $55 + db "for battles!", $57 + +_CinnabarMartText3: ; 0xa13cb + db $0, "It never hurts to", $4f + db "have extra items!", $57 + +_IndigoPlateauLobbyText1: ; 0xa13f0 + db $0, "Yo! Champ in", $4f + db "making!", $51 + db "At #MON LEAGUE,", $4f + db "you have to face", $55 + db "the ELITE FOUR in", $55 + db "succession.", $51 + db "If you lose, you", $4f + db "have to start all", $55 + db "over again! This", $55 + db "is it! Go for it!", $57 + +_IndigoPlateauLobbyText3: ; 0xa148b + db $0, "From here on, you", $4f + db "face the ELITE", $55 + db "FOUR one by one!", $51 + db "If you win, a", $4f + db "door opens to the", $55 + db "next trainer!", $55 + db "Good luck!", $57 + +_CopycatsHouseF1Text1: ; 0xa14f7 + db $0, "My daughter is so", $4f + db "self-centered.", $55 + db "She only has a", $55 + db "few friends.", $57 + +_CopycatsHouseF1Text2: ; 0xa1535 + db $0, "My daughter likes", $4f + db "to mimic people.", $51 + db "Her mimicry has", $4f + db "earned her the", $55 + db "nickname COPYCAT", $55 + db "around here!", $57 + +_CopycatsHouseF1Text3: ; 0xa1596 + db $0, "CHANSEY: Chaan!", $4f + db "Sii!@@" + +_UnnamedText_5ccd4: ; 0xa15ad + db $0, $52, ": Hi! Do", $4f + db "you like #MON?", $51 + db $52, ": Uh no, I", $4f + db "just asked you.", $51 + db $52, ": Huh?", $4f + db "You're strange!", $51 + db "COPYCAT: Hmm?", $4f + db "Quit mimicking?", $51 + db "But, that's my", $4f + db "favorite hobby!", $58 +; 0xa15ad + 137 bytes + +_UnnamedText_5ccd9: ; 0xa1636 + db $0, "Oh wow!", $4f + db "A # DOLL!", $51 + db "For me?", $4f + db "Thank you!", $51 + db "You can have", $4f + db "this, then!", $58 +; 0xa1636 + 63 bytes + +_ReceivedTM31Text: ; 0xa1675 + db $0, $52, " received", $4f + db "@" + TX_RAM $cf4b + db $0, "!@@" +; 0xa1689 + +_TM31ExplanationText1: ; 0xa1689 + db $0, $51 + db "TM31 contains my", $4f + db "favorite, MIMIC!", $51 + db "Use it on a good", $4f + db "#MON!@@" +; 0xa16c5 + +_TM31ExplanationText2: ; 0xa16c5 + db $0, $52, ": Hi!", $4f + db "Thanks for TM31!", $51 + db $52, ": Pardon?", $51 + db $52, ": Is it", $4f + db "that fun to mimic", $55 + db "my every move?", $51 + db "COPYCAT: You bet!", $4f + db "It's a scream!", $57 +; 0xa16c5 + 110 bytes + +_TM31NoRoomText: ; 0xa1733 + db $0, "Don't you want", $4f + db "this?@@" +; 0xa1749 + +_CopycatsHouseF2Text2: ; 0xa1749 + db $0, "DODUO: Giiih!", $51 + db "MIRROR MIRROR ON", $4f + db "THE WALL, WHO IS", $55 + db "THE FAIREST ONE", $55 + db "OF ALL?", $57 + +_CopycatsHouseF2Text3: ; 0xa1792 + db $0, "This is a rare", $4f + db "#MON! Huh?", $55 + db "It's only a doll!", $57 + +_CopycatsHouseF2Text6: ; 0xa17be + db $0, "A game with MARIO", $4f + db "wearing a bucket", $55 + db "on his head!", $57 + +_UnnamedText_5cd17: ; 0xa17ef + db $0, "...", $51 + db "My Secrets!", $51 + db "Skill: Mimicry!", $4f + db "Hobby: Collecting", $55 + db "dolls!", $55 + db "Favorite #MON:", $55 + db "CLEFAIRY!", $57 +; 0xa17ef + 83 bytes + +_UnnamedText_5cd1c: ; 0xa1842 + db $0, "Huh? Can't see!", $57 +; 0xa1842 + 16 bytes + +_UnnamedText_5ce8e: ; 0xa1852 + db $0, "Grunt!", $51 + db "I am the KARATE", $4f + db "MASTER! I am the", $55 + db "LEADER here!", $51 + db "You wish to", $4f + db "challenge us?", $55 + db "Expect no mercy!", $51 + db "Fwaaa!", $57 +; 0xa1852 + 104 bytes + +_UnnamedText_5ce93: ; 0xa18ba + db $0, "Hwa!", $4f + db "Arrgh! Beaten!", $58 +; 0xa18ba + 21 bytes + +_UnnamedText_5ce98: ; 0xa18cf + db $0, "Indeed, I have", $4f + db "lost!", $51 + db "But, I beseech", $4f + db "you, do not take", $55 + db "our emblem as", $55 + db "your trophy!", $51 + db "In return, I will", $4f + db "give you a prized", $55 + db "fighting #MON!", $51 + db "Choose whichever", $4f + db "one you like!", $57 +; 0xa18cf + 163 bytes + +_UnnamedText_5ce9d: ; 0xa1972 + db $0, "Ho!", $51 + db "Stay and train at", $4f + db "Karate with us!", $57 +; 0xa1972 + 39 bytes + +_UnnamedText_5ceac: ; 0xa1999 + db $0, "Hoargh! Take your", $4f + db "shoes off!", $57 +; 0xa1999 + 30 bytes + +_UnnamedText_5ceb1: ; 0xa19b7 + db $0, "I give", $4f + db "up!", $58 +; 0xa19b7 + 12 bytes + +_UnnamedText_5ceb6: ; 0xa19c3 + db $0, "You wait 'til you", $4f + db "see our Master!", $51 + db "I'm a small fry", $4f + db "compared to him!", $57 +; 0xa19c3 + 66 bytes + +_UnnamedText_5cec5: ; 0xa1a05 + db $0, "I hear you're", $4f + db "good! Show me!", $57 +; 0xa1a05 + 29 bytes + +_UnnamedText_5ceca: ; 0xa1a22 + db $0, "Judge!", $4f + db "1 point!", $58 +; 0xa1a22 + 17 bytes + +_UnnamedText_5cecf: ; 0xa1a33 + db $0, "Our Master is a", $4f + db "pro fighter!", $57 +; 0xa1a33 + 30 bytes + +_UnnamedText_5cede: ; 0xa1a51 + db $0, "Nothing tough", $4f + db "frightens me!", $51 + db "I break boulders", $4f + db "for training!", $57 +; 0xa1a51 + 60 bytes + +_UnnamedText_5cee3: ; 0xa1a8d + db $0, "Yow!", $4f + db "Stubbed fingers!", $58 +; 0xa1a8d + 23 bytes + +_UnnamedText_5cee8: ; 0xa1aa4 + db $0, "The only thing", $4f + db "that frightens us", $55 + db "is psychic power!", $57 +; 0xa1aa4 + 52 bytes + +_UnnamedText_5cef7: ; 0xa1ad8 + db $0, "Hoohah!", $51 + db "You're trespassing", $4f + db "in our FIGHTING", $55 + db "DOJO!", $57 +; 0xa1ad8 + 49 bytes + +_UnnamedText_5cefc: ; 0xa1b09 + db $0, "Oof!", $4f + db "I give up!", $58 +; 0xa1b09 + 17 bytes + +_UnnamedText_5cf01: ; 0xa1b1a + db $0, "The prime fighters", $4f + db "across the land", $55 + db "train here.", $57 +; 0xa1b1a + 48 bytes + +_UnnamedText_5cf49: ; 0xa1b4a + db $0, "You want the", $4f + db "hard kicking", $55 + db "HITMONLEE?", $57 +; 0xa1b4a + 38 bytes + +_UnnamedText_5cf91: ; 0xa1b70 + db $0, "You want the", $4f + db "piston punching", $55 + db "HITMONCHAN?", $57 +; 0xa1b70 + 42 bytes + +_UnnamedText_5cf96: ; 0xa1b9a + db $0, "Better not get", $4f + db "greedy...", $57 +; 0xa1b9a + 26 bytes + +_UnnamedText_5d162: ; 0xa1bb4 + db $0, "I had a vision of", $4f + db "your arrival!", $51 + db "I have had psychic", $4f + db "powers since I", $55 + db "was a child.", $51 + db "I first learned", $4f + db "to bend spoons", $55 + db "with my mind.", $51 + db "I dislike fight-", $4f + db "ing, but if you", $55 + db "wish, I will show", $55 + db "you my powers!", $57 +; 0xa1bb4 + 191 bytes + +_UnnamedText_5d167: ; 0xa1c73 + db $0, "I'm", $4f + db "shocked!", $55 + db "But, a loss is a", $55 + db "loss.", $51 + db "I admit I didn't", $4f + db "work hard enough", $55 + db "to win!", $51 + db "You earned the", $4f + db "MARSHBADGE!@@" +; 0xa1cdc + +_UnnamedText_5d16e: ; 0xa1cdc + db $0, "Everyone has", $4f + db "psychic power!", $55 + db "People just don't", $55 + db "realize it!", $57 +; 0xa1cdc + 58 bytes + +_UnnamedText_5d173: ; 0xa1d16 + db $0, "The MARSHBADGE", $4f + db "makes #MON up", $55 + db "to L70 obey you!", $51 + db "Stronger #MON", $4f + db "will become wild,", $55 + db "ignoring your", $55 + db "orders in battle!", $51 + db "Just don't raise", $4f + db "your #MON too", $55 + db "much!", $51 + db "Wait, please take", $4f + db "this TM with you!", $57 +; 0xa1d16 + 183 bytes + +ReceivedTM46Text: ; 0xa1dcd + db $0, $52, " received", $4f + db "TM46!@@" +; 0xa1de0 + +_UnnamedText_5d17d: ; 0xa1de0 + db $0, $51 + db "TM46 is PSYWAVE!", $4f + db "It uses powerful", $55 + db "psychic waves to", $55 + db "inflict damage!", $57 +; 0xa1de0 + 69 bytes + +_UnnamedText_5d182: ; 0xa1e25 + db $0, "Your pack is full", $4f + db "of other items!", $57 +; 0xa1e25 + 35 bytes + +_UnnamedText_5d1e6: ; 0xa1e48 + db $0, "Yo! Champ in", $4f + db "making!", $51 + db "SABRINA's #MON", $4f + db "use psychic power", $55 + db "instead of force!", $51 + db "Fighting #MON", $4f + db "are weak against", $55 + db "psychic #MON!", $51 + db "They get creamed", $4f + db "before they can", $55 + db "even aim a punch!", $57 +; 0xa1e48 + 168 bytes + +_UnnamedText_5d1eb: ; 0xa1ef0 + db $0, "Psychic power,", $4f + db "huh?", $51 + db "If I had that,", $4f + db "I'd make a bundle", $55 + db "at the slots!", $57 +; 0xa1ef0 + 67 bytes + +_UnnamedText_5d1f0: ; 0xa1f33 + db $0, "SABRINA is younger", $4f + db "than I, but I", $55 + db "respect her!", $57 +; 0xa1f33 + 47 bytes + +_UnnamedText_5d1f5: ; 0xa1f62 + db $0, "Not", $4f + db "good enough!", $58 +; 0xa1f62 + 18 bytes + +_UnnamedText_5d1fa: ; 0xa1f74 + db $0, "In a battle of", $4f + db "equals, the one", $55 + db "with the stronger", $55 + db "will wins!", $51 + db "If you wish", $4f + db "to beat SABRINA,", $55 + db "focus on winning!", $57 +; 0xa1f74 + 108 bytes + +_UnnamedText_5d1ff: ; 0xa1fe0 + db $0, "Does our unseen", $4f + db "power scare you?", $57 +; 0xa1fe0 + 34 bytes + +_UnnamedText_5d204: ; 0xa2002 + db $0, "I never", $4f + db "foresaw this!", $58 +; 0xa2002 + 23 bytes + +_UnnamedText_5d209: ; 0xa2019 + db $0, "Psychic #MON", $4f + db "fear only ghosts", $55 + db "and bugs!", $57 +; 0xa2019 + 41 bytes + +_UnnamedText_5d20e: ; 0xa2042 + db $0, "#MON take on", $4f + db "the appearance of", $55 + db "their trainers.", $51 + db "Your #MON must", $4f + db "be tough, then!", $57 +; 0xa2042 + 79 bytes + +_UnnamedText_5d213: ; 0xa2091 + db $0, "I knew", $4f + db "it!", $58 +; 0xa2091 + 12 bytes + +_UnnamedText_5d218: ; 0xa209d + db $0, "I must teach", $4f + db "better techniques", $55 + db "to my #MON!", $57 +; 0xa209d + 44 bytes + +_UnnamedText_5d21d: ; 0xa20c9 + db $0, "You know that", $4f + db "power alone isn't", $55 + db "enough!", $57 +; 0xa20c9 + 40 bytes + +_UnnamedText_5d222: ; 0xa20f1 + db $0, "I don't", $4f + db "believe this!", $58 +; 0xa20f1 + 22 bytes + +_UnnamedText_5d227: ; 0xa2107 + db $0, "SABRINA just wiped", $4f + db "out the KARATE", $55 + db "MASTER next door!", $57 +; 0xa2107 + 53 bytes + +_UnnamedText_5d22c: ; 0xa213c + db $0, "You and I, our", $4f + db "#MON shall", $55 + db "fight!", $57 +; 0xa213c + 34 bytes + +_UnnamedText_5d231: ; 0xa215e + db $0, "I lost", $4f + db "after all!", $58 +; 0xa215e + 19 bytes + +_UnnamedText_5d236: ; 0xa2171 + db $0, "I knew that this", $4f + db "was going to take", $55 + db "place.", $57 +; 0xa2171 + 43 bytes + +_UnnamedText_5d23b: ; 0xa219c + db $0, "SABRINA is young,", $4f + db "but she's also", $55 + db "our LEADER!", $51 + db "You won't reach", $4f + db "her easily!", $57 +; 0xa219c + 72 bytes + +_UnnamedText_5d240: ; 0xa21e4 + db $0, "I lost", $4f + db "my concentration!", $58 +; 0xa21e4 + 26 bytes + +_UnnamedText_5d245: ; 0xa21fe + db $0, "There used to be", $4f + db "2 #MON GYMs in", $55 + db "SAFFRON.", $51 + db "The FIGHTING DOJO", $4f + db "next door lost", $55 + db "its GYM status", $55 + db "when we went and", $55 + db "creamed them!", $57 +; 0xa21fe + 121 bytes + +_UnnamedText_5d24a: ; 0xa2277 + db $0, "SAFFRON #MON", $4f + db "GYM is famous for", $55 + db "its psychics!", $51 + db "You want to see", $4f + db "SABRINA!", $55 + db "I can tell!", $57 +; 0xa2277 + 83 bytes + +_UnnamedText_5d24f: ; 0xa22ca + db $0, "Arrrgh!", $58 +; 0xa22ca + 9 bytes + +_UnnamedText_5d254: ; 0xa22d3 + db $0, "That's right! I", $4f + db "used telepathy to", $55 + db "read your mind!", $57 +; 0xa22d3 + 50 bytes + +_SaffronHouse1Text1: ; 0xa2305 + db $0, "Thank you for", $4f + db "writing. I hope", $55 + db "to see you soon!", $51 + db "Hey! Don't look", $4f + db "at my letter!", $57 + +_SaffronHouse1Text2: ; 0xa2352 + db $0, "PIDGEY: Kurukkoo!@@" + +_SaffronHouse1Text3: ; 0xa2366 + db $0, "The COPYCAT is", $4f + db "cute! I'm getting", $55 + db "her a # DOLL!", $57 + +_SaffronHouse1Text4: ; 0xa2395 + db $0, "I was given a PP", $4f + db "UP as a gift.", $51 + db "It's used for", $4f + db "increasing the PP", $55 + db "of techniques!", $57 + +_SaffronMartText2: ; 0xa23e3 + db $0, "MAX REPEL lasts", $4f + db "longer than SUPER", $55 + db "REPEL for keeping", $55 + db "weaker #MON", $55 + db "away!", $57 + +_SaffronMartText3: ; 0xa242a + db $0, "REVIVE is costly,", $4f + db "but it revives", $55 + db "fainted #MON!", $57 + +_SilphCo1Text1: ; 0xa245a + db $0, "Welcome!", $51 + db "The PRESIDENT is", $4f + db "in the boardroom", $55 + db "on 11F!", $57 + +_SaffronPokecenterText1: ; 0xa248e + db $0, "#MON growth", $4f + db "rates differ from", $55 + db "specie to specie.", $57 + +_SaffronPokecenterText3: ; 0xa24bf + db $0, "SILPH CO. is very", $4f + db "famous. That's", $55 + db "why it attracted", $55 + db "TEAM ROCKET!", $57 + +_UnnamedText_1de75: ; 0xa24fe + db $0, "...Wait! Don't", $4f + db "say a word!", $51 + db "You wanted this!", $58 +; 0xa24fe + 44 bytes + +_UnnamedText_1de7a: ; 0xa252a + db $0, $52, " received", $4f + db "@" +; 0xa2537 + +UnnamedText_a2537: ; 0xa2537 + TX_RAM $cf4b + db $0, "!@@" +; 0xa253e + +_UnnamedText_1de80: ; 0xa253e + db $0, "TM29 is PSYCHIC!", $51 + db "It can lower the", $4f + db "target's SPECIAL", $55 + db "abilities.", $57 +; 0xa253e + 62 bytes + +_UnnamedText_1de85: ; 0xa257c + db $0, "Where do you plan", $4f + db "to put this?", $57 +; 0xa257c + 32 bytes + +_UnnamedText_2a55: ; 0xa259c + db $0, "Hi there!", $4e, "May I help you?", $57 +; 0xa259c + 27 bytes + +_UnnamedText_2aa4: ; 0xa25b7 + TX_RAM $cd6d + db $0, $4f + db "fainted!", $57 +; 0xa25b7 + 14 bytes + +_UnnamedText_2aba: ; 0xa25c5 + db $0, $52, " is out of", $4f + db "useable #MON!", $51 + db $52, " blacked", $4f + db "out!", $58 +; 0xa25c5 + 42 bytes + +_UnnamedText_2ac8: ; 0xa25ef + db $0, "REPEL's effect", $4f + db "wore off.", $57 +; 0xa25ef + 25 bytes + +_UnnamedText_6e0c: ; 0xa2608 + db $0, "Take your time.", $57 +; 0xa2608 + 17 bytes + +_UnnamedText_6e11: ; 0xa2619 + TX_RAM $cf4b + db $0, "?", $4f + db "That will be", $55 + db $f0, "@" + db $2, $9f, $ff, $c3 + db $0, ". OK?", $57 +; 0xa2639 + +_UnnamedText_6e16: ; 0xa2639 + db $0, "Here you are!", $4f + db "Thank you!", $58 +; 0xa2639 + 26 bytes + +_UnnamedText_6e1b: ; 0xa2653 + db $0, "You don't have", $4f + db "enough money.", $58 +; 0xa2653 + 29 bytes + +_UnnamedText_6e20: ; 0xa2670 + db $0, "You can't carry", $4f + db "any more items.", $58 +; 0xa2670 + 32 bytes + +_UnnamedText_6e25: ; 0xa2690 + db $0, "What would you", $4f + db "like to sell?", $57 +; 0xa2690 + 30 bytes + +_UnnamedText_6e2a: ; 0xa26ae + db $0, "I can pay you", $4f + db $f0, "@" + db $2, $9f, $ff, $c3 ; XXX + db $0, " for that.", $57 +; 0xa26cf + +_UnnamedText_6e2f: ; 0xa26cf + db $0, "You don't have", $4f + db "anything to sell.", $58 +; 0xa26cf + 33 bytes + +_UnnamedText_6e34: ; 0xa26f0 + db $0, "I can't put a", $4f + db "price on that.", $58 +; 0xa26f0 + 29 bytes + +_UnnamedText_6e39: ; 0xa270d + db $0, "Thank you!", $57 +; 0xa270d + 12 bytes + +_UnnamedText_6e3e: ; 0xa2719 + db $0, "Is there anything", $4f + db "else I can do?", $57 +; 0xa2719 + 34 bytes + +UnnamedText_a273b: ; 0xa273b + TX_RAM $d036 + db $0, " learned", $4f + db "@" +; 0xa2749 + +UnnamedText_a2749: ; 0xa2749 + TX_RAM $cf4b + db $0, "!@@" +; 0xa2750 + +_UnnamedText_6fb4: ; 0xa2750 + db $0, "Which move should", $4e, "be forgotten?", $57 +; 0xa2750 + 33 bytes + +_UnnamedText_6fb9: ; 0xa2771 + db $0, "Abandon learning", $4f + db "@" +; 0xa2771 + 19 bytes + +UnnamedText_a2784: ; 0xa2784 + TX_RAM $cf4b + db $0, "?", $57 +; 0xa278a + +_UnnamedText_6fbe: ; 0xa278a + TX_RAM $d036 + db $0, $4f + db "did not learn", $55 + db "@" +; 0xa278a + 20 bytes + +UnnamedText_a279e: ; 0xa279e + TX_RAM $cf4b + db $0, "!", $58 +; 0xa27a4 + +_UnnamedText_6fc3: ; 0xa27a4 + TX_RAM $d036 + db $0, " is", $4f + db "trying to learn", $55 + db "@" +; 0xa27a4 + 25 bytes + +UnnamedText_a27bd: ; 0xa27bd + TX_RAM $cf4b + db $0, "!", $51 + db "But, @" + TX_RAM $d036 + db $0, $4f + db "can't learn more", $55 + db "than 4 moves!", $51 + db "Delete an older", $4f + db "move to make room", $55 + db "for @" +; 0xa2813 + +UnnamedText_a2813: ; 0xa2813 + TX_RAM $cf4b + db $0, "?", $57 +; 0xa2819 + +_UnnamedText_6fc8: ; 0xa2819 + db $0, "1, 2 and...@@" +; 0xa2827 + +_UnnamedText_6fd7: ; 0xa2827 + db $0, " Poof!@@" +; 0xa2830 + +_UnnamedText_6fdc: ; 0xa2830 + db $0, $51 + db "@" +; 0xa2830 + 3 bytes + +UnnamedText_a2833: ; 0xa2833 + TX_RAM $d036 + db $0, " forgot", $4f + db "@" + TX_RAM $cd6d + db $0, "!", $51 + db "And...", $58 +; 0xa284d + +_UnnamedText_6fe1: ; 0xa284d + db $0, "HM techniques", $4f + db "can't be deleted!", $58 +; 0xa284d + 32 bytes + +_UnnamedText_705d: ; 0xa286d + db $0, "Welcome to our", $4f + db "#MON CENTER!", $51 + db "We heal your", $4f + db "#MON back to", $55 + db "perfect health!", $58 +; 0xa286d + 71 bytes + +_UnnamedText_7063: ; 0xa28b4 + db $0, "Shall we heal your", $4f + db "#MON?", $57 +; 0xa28b4 + 26 bytes + +_UnnamedText_7068: ; 0xa28ce + db $0, "OK. We'll need", $4f + db "your #MON.", $57 +; 0xa28ce + 26 bytes + +_UnnamedText_706d: ; 0xa28e8 + db $0, "Thank you!", $4f + db "Your #MON are", $55 + db "fighting fit!", $58 +; 0xa28e8 + 40 bytes + +_UnnamedText_7073: ; 0xa2910 + db $0, "We hope to see", $4f + db "you again!", $57 +; 0xa2910 + 27 bytes + +_UnnamedText_72b3: ; 0xa292b + db $0, "This area is", $4f + db "reserved for 2", $55 + db "friends who are", $55 + db "linked by cable.", $57 +; 0xa292b + 62 bytes + +_UnnamedText_72b8: ; 0xa2969 + db $0, "Welcome to the", $4f + db "Cable Club!", $57 +; 0xa2969 + 28 bytes + +_UnnamedText_72bd: ; 0xa2985 + db $0, "Please apply here.", $51 + db "Before opening", $4f + db "the link, we have", $55 + db "to save the game.", $57 +; 0xa2985 + 71 bytes + +UnnamedText_a29cc: ; 0xa29cc + db $0, "Please wait.@@" +; 0xa29b + +_UnnamedText_72c8: ; 0xa29db + db $0, "The link has been", $4f + db "closed because of", $55 + db "inactivity.", $51 + db "Please contact", $4f + db "your friend and", $55 + db "come again!", $57 +; 0xa29db + 92 bytes + +SECTION "bank29",DATA,BANK[$29] + +_UnnamedText_72cd: ; 0xa4000 + db $0, "Please come again!", $57 +; 0xa4000 + 20 bytes + +_UnnamedText_72d2: ; 0xa4014 + db $0, "We're making", $4f + db "preparations.", $55 + db "Please wait.", $57 +; 0xa4014 + 40 bytes + +UnnamedText_a403c: ; 0xa403c + TX_RAM $cd6d + db $0, " used", $4f + db "STRENGTH.@@" +; 0xa4051 + +_UnnamedText_cdbb: ; 0xa4051 + TX_RAM $cd6d + db $0, " can", $4f + db "move boulders.", $58 +; 0xa4051 + 24 bytes + +_UnnamedText_cdfa: ; 0xa4069 + db $0, "The current is", $4f + db "much too fast!", $58 +; 0xa4069 + 31 bytes + +_UnnamedText_cdff: ; 0xa4088 + db $0, "Cycling is fun!", $4f + db "Forget SURFing!", $58 +; 0xa4088 + 33 bytes + +_UnnamedText_13228: ; 0xa40a9 + db $0, "A blinding FLASH", $4f + db "lights the area!", $58 +; 0xa40a9 + 35 bytes + +_UnnamedText_1327b: ; 0xa40cc + db $0, "Warp to the last", $4f + db "#MON CENTER.", $57 +; 0xa40cc + 31 bytes + +_UnnamedText_13280: ; 0xa40eb + TX_RAM $cd6d + db $0, " can't", $4f + db "use TELEPORT now.", $58 +; 0xa40eb + 28 bytes + +_UnnamedText_13285: ; 0xa4107 + TX_RAM $cd6d + db $0, " can't", $4f + db "FLY here.", $58 +; 0xa4107 + 20 bytes + +_UnnamedText_132d4: ; 0xa411b + db $0, "Not healthy", $4f + db "enough.", $58 +; 0xa411b + 21 bytes + +_UnnamedText_132e8: ; 0xa4130 + db $0, "No! A new BADGE", $4f + db "is required.", $58 +; 0xa4130 + 30 bytes + +_UnnamedText_1342a: ; 0xa414e + db $0, "You can't use items", $4f + db "here.", $58 +; 0xa414e + 26 bytes + +_UnnamedText_1342f: ; 0xa4168 + db $0, "You can't get off", $4f + db "here.", $58 +; 0xa4168 + 24 bytes + +UnnamedText_a4180: ; 0xa4180 + db $0, $52, " got", $4f + db "@" + TX_RAM $cd6d + db $0, "!@@" +; 0xa418f + +_UnnamedText_4fe3f: ; 0xa418f + db $0, "There's no more", $4f + db "room for #MON!", $55 + db "@" +; 0xa418f + 32 bytes + +UnnamedText_a41af: ; 0xa41af + TX_RAM $de06 + db $0, " was", $55 + db "sent to #MON", $55 + db "BOX @" + TX_RAM $cf4b + db $0, " on PC!", $57 +; 0xa41ca + 12 bytes = 0xa41d6 + +_UnnamedText_4fe44: ; 0xa41d6 + db $0, "There's no more", $4f + db "room for #MON!", $51 + db "The #MON BOX", $4f + db "is full and can't", $55 + db "accept any more!", $51 + db "Change the BOX at", $4f + db "a #MON CENTER!", $57 +; 0xa41d6 + 111 bytes + +INCLUDE "text/mapPalletTown.tx" + +_ViridianCityText1: + db $0, "Those # BALLs", $4f + db "at your waist!", $55 + db "You have #MON!", $51 + db "It's great that", $4f + db "you can carry and", $55 + db "use #MON any", $55 + db "time, anywhere!", $57 + +_UnnamedText_19122: ; 0xa4437 + db $0, "This #MON GYM", $4f + db "is always closed.", $51 + db "I wonder who the", $4f + db "LEADER is?", $57 +; 0xa4437 + 61 bytes + +_UnnamedText_19127: ; 0xa4474 + db $0, "VIRIDIAN GYM's", $4f + db "LEADER returned!", $57 +; 0xa4474 + 32 bytes + +_UnnamedText_1914d: ; 0xa4494 + db $0, "You want to know", $4f + db "about the 2 kinds", $55 + db "of caterpillar", $55 + db "#MON?", $57 +; 0xa4494 + 57 bytes + +_UnnamedText_19152: ; 0xa44cd + db $0, "Oh, OK then!", $57 +; 0xa44cd + 14 bytes + +_UnnamedText_19157: ; 0xa44db + db $0, "CATERPIE has no", $4f + db "poison, but", $55 + db "WEEDLE does.", $51 + db "Watch out for its", $4f + db "POISON STING!", $57 +; 0xa44db + 74 bytes + +_UnnamedText_19175: ; 0xa4525 + db $0, "Oh Grandpa! Don't", $4f + db "be so mean!", $55 + db "He hasn't had his", $55 + db "coffee yet.", $57 +; 0xa4525 + 59 bytes + +_UnnamedText_1917a: ; 0xa4560 + db $0, "When I go shop in", $4f + db "PEWTER CITY, I", $55 + db "have to take the", $55 + db "winding trail in", $55 + db "VIRIDIAN FOREST.", $57 +; 0xa4560 + 85 bytes + +_UnnamedText_19191: ; 0xa45b5 + db $0, "You can't go", $4f + db "through here!", $51 + db "This is private", $4f + db "property!", $57 +; 0xa45b5 + 53 bytes + +_UnnamedText_191ca: ; 0xa45ea + db $0, "Yawn!", $4f + db "I must have dozed", $55 + db "off in the sun.", $51 + db "I had this dream", $4f + db "about a DROWZEE", $55 + db "eating my dream.", $55 + db "What's this?", $55 + db "Where did this TM", $55 + db "come from?", $51 + db "This is spooky!", $4f + db "Here, you can", $55 + db "have this TM.", $58 +; 0xa45ea + 176 bytes + +_ReceivedTM42Text: ; 0xa469a + db $0, $52, " received", $4f + db "TM42!@@" +; 0xa46ad + +_UnnamedText_191d5: ; 0xa46ad + db $0, "TM42 contains", $4f + db "DREAM EATER...", $55 + db "...Snore...", $57 +; 0xa46ad + 42 bytes + +_UnnamedText_191da: ; 0xa46d7 + db $0, "You have too much", $4f + db "stuff already.", $57 +; 0xa46d7 + 34 bytes + +_UnnamedText_1920a: ; 0xa46f9 + db $0, "Ahh, I've had my", $4f + db "coffee now and I", $55 + db "feel great!", $51 + db "Sure you can go", $4f + db "through!", $51 + db "Are you in a", $4f + db "hurry?", $57 +; 0xa46f9 + 91 bytes + +_UnnamedText_1920f: ; 0xa4754 + db $0, "I see you're using", $4f + db "a #DEX.", $51 + db "When you catch a", $4f + db "#MON, #DEX", $55 + db "is automatically", $55 + db "updated.", $51 + db "What? Don't you", $4f + db "know how to catch", $55 + db "#MON?", $51 + db "I'll show you", $4f + db "how to then.", $57 +; 0xa4754 + 146 bytes + +_UnnamedText_19214: ; 0xa47e6 + db $0, "Time is money...", $4f + db "Go along then.", $57 +; 0xa47e6 + 33 bytes + +_UnnamedText_19219: ; 0xa4807 + db $0, "First, you need", $4f + db "to weaken the", $55 + db "target #MON.", $57 +; 0xa4807 + 44 bytes + +_ViridianCityText8: ; 0xa4833 + db $0, "VIRIDIAN CITY ", $4f + db "The Eternally", $55 + db "Green Paradise", $57 + +_ViridianCityText9: ; 0xa4860 + db $0, "TRAINER TIPS", $51 + db "Catch #MON", $4f + db "and expand your", $55 + db "collection!", $51 + db "The more you have,", $4f + db "the easier it is", $55 + db "to fight!", $57 + +_ViridianCityText10: ; 0xa48c3 + db $0, "TRAINER TIPS", $51 + db "The battle moves", $4f + db "of #MON are", $55 + db "limited by their", $55 + db "POWER POINTs, PP.", $51 + db "To replenish PP,", $4f + db "rest your tired", $55 + db "#MON at a", $55 + db "#MON CENTER!", $57 + +_ViridianCityText13: ; 0xa4949 + db $0, "VIRIDIAN CITY", $4f + db "#MON GYM", $57 + +_UnnamedText_19232: ; 0xa4961 + db $0, "The GYM's doors", $4f + db "are locked...", $57 +; 0xa4961 + 30 bytes + +_PewterCityText1: ; 0xa497f + db $0, "It's rumored that", $4f + db "CLEFAIRYs came", $55 + db "from the moon!", $51 + db "They appeared ", $4f + db "after MOON STONE", $55 + db "fell on MT.MOON.", $57 + +_PewterCityText2: ; 0xa49e0 + db $0, "There aren't many", $4f + db "serious #MON", $55 + db "trainers here!", $51 + db "They're all like", $4f + db "BUG CATCHERs,", $55 + db "but PEWTER GYM's", $55 + db "BROCK is totally", $55 + db "into it!", $57 + +_UnnamedText_193f1: ; 0xa4a56 + db $0, "Did you check out", $4f + db "the MUSEUM?", $57 +; 0xa4a56 + 31 bytes + +_UnnamedText_193f6: ; 0xa4a75 + db $0, "Weren't those", $4f + db "fossils from MT.", $55 + db "MOON amazing?", $57 +; 0xa4a75 + 45 bytes + +_UnnamedText_193fb: ; 0xa4aa2 + db $0, "Really?", $4f + db "You absolutely", $55 + db "have to go!", $57 +; 0xa4aa2 + 36 bytes + +_UnnamedText_19400: ; 0xa4ac6 + db $0, "It's right here!", $4f + db "You have to pay", $55 + db "to get in, but", $55 + db "it's worth it!", $55 + db "See you around!", $57 +; 0xa4ac6 + 78 bytes + +_UnnamedText_19427: ; 0xa4b14 + db $0, "Psssst!", $4f + db "Do you know what", $55 + db "I'm doing?", $57 +; 0xa4b14 + 36 bytes + +_UnnamedText_1942c: ; 0xa4b38 + db $0, "That's right!", $4f + db "It's hard work!", $57 +; 0xa4b38 + 29 bytes + +_UnnamedText_19431: ; 0xa4b55 + db $0, "I'm spraying REPEL", $4f + db "to keep #MON", $55 + db "out of my garden!", $57 +; 0xa4b55 + 50 bytes + +_UnnamedText_1945d: ; 0xa4b87 + db $0, "You're a trainer", $4f + db "right? BROCK's", $55 + db "looking for new", $55 + db "challengers!", $55 + db "Follow me!", $57 +; 0xa4b87 + 71 bytes + +_UnnamedText_19462: ; 0xa4bce + db $0, "If you have the", $4f + db "right stuff, go", $55 + db "take on BROCK!", $57 +; 0xa4bce + 48 bytes + +_PewterCityText6: ; 0xa4bfe + db $0, "TRAINER TIPS", $51 + db "Any #MON that", $4f + db "takes part in", $55 + db "battle, however", $55 + db "short, earns EXP!", $57 + +_PewterCityText7: ; 0xa4c4a + db $0, "NOTICE!", $51 + db "Thieves have been", $4f + db "stealing #MON", $55 + db "fossils at MT.", $55 + db "MOON! Please call", $55 + db "PEWTER POLICE", $55 + db "with any info!", $57 + +_PewterCityText10: ; 0xa4cb1 + db $0, "PEWTER MUSEUM", $4f + db "OF SCIENCE", $57 + +_PewterCityText11: ; 0xa4ccb + db $0, "PEWTER CITY", $4f + db "#MON GYM", $55 + db "LEADER: BROCK", $51 + db "The Rock Solid", $4f + db "#MON Trainer!", $57 + +_PewterCityText12: ; 0xa4d0c + db $0, "PEWTER CITY", $4f + db "A Stone Gray", $55 + db "City", $57 + +_UnnamedText_19668: ; 0xa4d2b + db $0, $53, ": Yo!", $4f + db $52, "!", $51 + db "You're still", $4f + db "struggling along", $55 + db "back here?", $51 + db "I'm doing great!", $4f + db "I caught a bunch", $55 + db "of strong and", $55 + db "smart #MON!", $51 + db "Here, let me see", $4f + db "what you caught,", $55 + db $52, "!", $57 +; 0xa4d2b + 147 bytes + +_UnnamedText_1966d: ; 0xa4dbe + db $0, "Hey!", $4f + db "Take it easy!", $55 + db "You won already!", $58 +; 0xa4dbe + 37 bytes + +_UnnamedText_19672: ; 0xa4de3 + db $0, "Heh!", $4f + db "You're no match", $55 + db "for my genius!", $58 +; 0xa4de3 + 36 bytes + +_UnnamedText_19677: ; 0xa4e07 + db $0, $53, ": Hey,", $4f + db "guess what?", $51 + db "I went to BILL's", $4f + db "and got him to", $55 + db "show me his rare", $55 + db "#MON!", $51 + db "That added a lot", $4f + db "of pages to my", $55 + db "#DEX!", $51 + db "After all, BILL's", $4f + db "world famous as a", $55 + db "#MANIAC!", $51 + db "He invented the", $4f + db "#MON Storage", $55 + db "System on PC!", $51 + db "Since you're using", $4f + db "his system, go", $55 + db "thank him!", $51 + db "Well, I better", $4f + db "get rolling!", $55 + db "Smell ya later!", $57 +; 0xa4e07 + 288 bytes + +_UnnamedText_196d9: ; 0xa4f27 + db $0, "Hey! Stay out!", $4f + db "It's not your", $55 + db "yard! Huh? Me?", $51 + db "I'm an innocent", $4f + db "bystander! Don't", $55 + db "you believe me?", $57 +; 0xa4f27 + 91 bytes + +ReceivedTM28Text: ; 0xa4f82 + db $0, $52, " recovered", $4f + db "TM28!@@" +; 0xa4f96 + +UnnamedText_a4f96: ; 0xa4f96 + db $0, $51 + db "I better get", $4f + db "moving! Bye!@@" +; 0xa4fb3 + +_UnnamedText_196e9: ; 0xa4fb3 + db $0, "Make room for", $4f + db "this!", $51 + db "I can't run until", $4f + db "I give it to you!", $57 +; 0xa4fb3 + 56 bytes + +_UnnamedText_196ee: ; 0xa4feb + db $0, "Stop!", $4f + db "I give up! I'll", $55 + db "leave quietly!", $58 +; 0xa4feb + 37 bytes + +_UnnamedText_196f3: ; 0xa5010 + db $0, "OK! I'll return", $4f + db "the TM I stole!", $58 +; 0xa5010 + 32 bytes + +_CeruleanCityText3: ; 0xa5030 + db $0, "You're a trainer", $4f + db "too? Collecting,", $55 + db "fighting, it's a", $55 + db "tough life.", $57 + +_CeruleanCityText4: ; 0xa506e + db $0, "That bush in", $4f + db "front of the shop", $55 + db "is in the way.", $51 + db "There might be a", $4f + db "way around.", $57 + +_CeruleanCityText5: ; 0xa50ba + db $0, "You're making an", $4f + db "encyclopedia on", $55 + db "#MON? That", $55 + db "sounds amusing.", $57 + +_CeruleanCityText6: ; 0xa50f6 + db $0, "The people here", $4f + db "were robbed.", $51 + db "It's obvious that", $4f + db "TEAM ROCKET is", $55 + db "behind this most", $55 + db "heinous crime!", $51 + db "Even our POLICE", $4f + db "force has trouble", $55 + db "with the ROCKETs!", $57 + +_UnnamedText_19730: ; 0xa5188 + db $0, "OK! SLOWBRO!", $4f + db "Use SONICBOOM!", $55 + db "Come on, SLOWBRO", $55 + db "pay attention!", $57 +; 0xa5188 + 61 bytes + +_UnnamedText_19735: ; 0xa51c5 + db $0, "SLOWBRO punch!", $4f + db "No! You blew it", $55 + db "again!", $57 +; 0xa51c5 + 39 bytes + +_UnnamedText_1973a: ; 0xa51ec + db $0, "SLOWBRO, WITHDRAW!", $4f + db "No! That's wrong!", $51 + db "It's so hard to", $4f + db "control #MON!", $51 + db "Your #MON's", $4f + db "obedience depends", $55 + db "on your abilities", $55 + db "as a trainer!", $57 +; 0xa51ec + 127 bytes + +_UnnamedText_1976f: ; 0xa526b + db $0, "SLOWBRO took a", $4f + db "snooze...", $57 +; 0xa526b + 26 bytes + +_UnnamedText_19774: ; 0xa5285 + db $0, "SLOWBRO is", $4f + db "loafing around...", $57 +; 0xa5285 + 30 bytes + +_UnnamedText_19779: ; 0xa52a3 + db $0, "SLOWBRO turned", $4f + db "away...", $57 +; 0xa52a3 + 24 bytes + +_UnnamedText_1977e: ; 0xa52bb + db $0, "SLOWBRO", $4f + db "ignored orders...", $57 +; 0xa52bb + 27 bytes + +_CeruleanCityText9: ; 0xa52d6 + db $0, "I want a bright", $4f + db "red BICYCLE!", $51 + db "I'll keep it at", $4f + db "home, so it won't", $55 + db "get dirty!", $57 + +_CeruleanCityText10: ; 0xa531f + db $0, "This is CERULEAN", $4f + db "CAVE! Horribly", $55 + db "strong #MON", $55 + db "live in there!", $51 + db "The #MON LEAGUE", $4f + db "champion is the", $55 + db "only person who", $55 + db "is allowed in!", $57 + +_CeruleanCityText12: ; 0xa539a + db $0, "CERULEAN CITY", $4f + db "A Mysterious,", $55 + db "Blue Aura", $55 + db "Surrounds It", $57 + +_CeruleanCityText13: ; 0xa53ce + db $0, "TRAINER TIPS", $51 + db "Pressing B Button", $4f + db "during evolution", $55 + db "cancels the whole", $55 + db "process.", $57 + +_CeruleanCityText16: ; 0xa541a + db $0, "Grass and caves", $4f + db "handled easily!", $55 + db "BIKE SHOP", $57 + +_CeruleanCityText17: ; 0xa5445 + db $0, "CERULEAN CITY", $4f + db "#MON GYM", $55 + db "LEADER: MISTY", $51 + db "The Tomboyish", $4f + db "Mermaid!", $57 + +_UnnamedText_4413c: ; 0xa5482 + db $0, "Do you believe in", $4f + db "GHOSTs?", $57 +; 0xa5482 + 27 bytes + +_UnnamedText_44141: ; 0xa549d + db $0, "Really? So there", $4f + db "are believers...", $57 +; 0xa549d + 35 bytes + +_UnnamedText_44146: ; 0xa54c0 + db $0, "Hahaha, I guess", $4f + db "not.", $51 + db "That white hand", $4f + db "on your shoulder,", $55 + db "it's not real.", $57 +; 0xa54c0 + 70 bytes + +_LavenderTownText2: ; 0xa5506 + db $0, "This town is known", $4f + db "as the grave site", $55 + db "of #MON.", $51 + db "Memorial services", $4f + db "are held in", $55 + db "#MON TOWER.", $57 + +_LavenderTownText3: ; 0xa555f + db $0, "GHOSTs appeared", $4f + db "in #MON TOWER.", $51 + db "I think they're", $4f + db "the spirits of", $55 + db "#MON that the", $55 + db "ROCKETs killed.", $57 + +_LavenderTownText4: ; 0xa55bb + db $0, "LAVENDER TOWN", $4f + db "The Noble Purple", $55 + db "Town", $57 + +_LavenderTownText5: ; 0xa55e0 + db $0, "New SILPH SCOPE!", $51 + db "Make the Invisible", $4f + db "Plain to See!", $51 + db "SILPH CO.", $57 + +_LavenderTownText8: ; 0xa561d + db $0, "LAVENDER VOLUNTEER", $4f + db "#MON HOUSE", $57 + +_LavenderTownText9: ; 0xa563c + db $0, "May the Souls of", $4f + db "#MON Rest Easy", $55 + db "#MON TOWER", $57 + +_VermilionCityText1: ; 0xa5668 + db $0, "We're careful", $4f + db "about pollution!", $51 + db "We've heard GRIMER", $4f + db "multiplies in", $55 + db "toxic sludge!", $57 + +_UnnamedText_198a7: ; 0xa56b5 + db $0, "Did you see S.S.", $4f + db "ANNE moored in", $55 + db "the harbor?", $57 +; 0xa56b5 + 45 bytes + +_UnnamedText_198ac: ; 0xa56e2 + db $0, "So, S.S.ANNE has", $4f + db "departed!", $51 + db "She'll be back in", $4f + db "about a year.", $57 +; 0xa56e2 + 59 bytes + +_UnnamedText_19904: ; 0xa571d + db $0, "Welcome to S.S.", $4f + db "ANNE!", $57 +; 0xa571d + 23 bytes + +_UnnamedText_19909: ; 0xa5734 + db $0, "Welcome to S.S.", $4f + db "ANNE!", $51 + db "Excuse me, do you", $4f + db "have a ticket?", $58 +; 0xa5734 + 56 bytes + +_UnnamedText_1990e: ; 0xa576c + db $0, $52, " flashed", $4f + db "the S.S.TICKET!", $51 + db "Great! Welcome to", $4f + db "S.S.ANNE!", $57 +; 0xa576c + 55 bytes + +_UnnamedText_19913: ; 0xa57a3 + db $0, $52, " doesn't", $4f + db "have the needed", $55 + db "S.S.TICKET.", $51 + db "Sorry!", $51 + db "You need a ticket", $4f + db "to get aboard.", $57 +; 0xa57a3 + 78 bytes + +_UnnamedText_19918: ; 0xa57f1 + db $0, "The ship set sail.", $57 +; 0xa57f1 + 20 bytes + +_VermilionCityText4: ; 0xa5805 + db $0, "I'm putting up a", $4f + db "building on this", $55 + db "plot of land.", $51 + db "My #MON is", $4f + db "tamping the land.", $57 + +_VermilionCityText5: ; 0xa5852 + db $0, "MACHOP: Guoh!", $4f + db "Gogogoh!@@" + +_VermilionCityText14: ; 0xa586b + db $0, $51 + db "A MACHOP is", $4f + db "stomping the land", $55 + db "flat.", $57 + +_VermilionCityText6: ; 0xa5891 + db $0, "S.S.ANNE is a", $4f + db "famous luxury", $55 + db "cruise ship.", $51 + db "We visit VERMILION", $4f + db "once a year.", $57 + +_VermilionCityText7: ; 0xa58db + db $0, "VERMILION CITY", $4f + db "The Port of", $55 + db "Exquisite Sunsets", $57 + +_VermilionCityText8: ; 0xa5909 + db $0, "NOTICE!", $51 + db "ROUTE 12 may be", $4f + db "blocked off by a", $55 + db "sleeping #MON.", $51 + db "Detour through", $4f + db "ROCK TUNNEL to", $55 + db "LAVENDER TOWN.", $51 + db "VERMILION POLICE", $57 + +_VermilionCityText11: ; 0xa5980 + db $0, "#MON FAN CLUB", $4f + db "All #MON fans", $55 + db "welcome!", $57 + +_VermilionCityText12: ; 0xa59a6 + db $0, "VERMILION CITY", $4f + db "#MON GYM", $55 + db "LEADER: LT.SURGE", $51 + db "The Lightning ", $4f + db "American!", $57 + +_VermilionCityText13: ; 0xa59e9 + db $0, "VERMILION HARBOR", $57 + +_CeladonCityText1: ; 0xa59fb + db $0, "I got my KOFFING", $4f + db "in CINNABAR!", $51 + db "It's nice, but it", $4f + db "breathes poison", $55 + db "when it's angry!", $57 + +_CeladonCityText2: ; 0xa5a4b + db $0, "Heheh! This GYM", $4f + db "is great! It's", $55 + db "full of women!", $57 + +_CeladonCityText3: ; 0xa5a79 + db $0, "The GAME CORNER", $4f + db "is bad for our", $55 + db "city's image!", $57 + +_CeladonCityText4: ; 0xa5aa6 + db $0, "Moan! I blew it", $4f + db "all at the slots!", $51 + db "I knew I should", $4f + db "have cashed in my", $55 + db "coins for prizes!", $57 + +_UnnamedText_199d2: ; 0xa5afd + db $0, "Hello, there!", $51 + db "I've seen you,", $4f + db "but I never had a", $55 + db "chance to talk!", $51 + db "Here's a gift for", $4f + db "dropping by!", $58 +; 0xa5afd + 93 bytes + +_UnnamedText_199d7: ; 0xa5b5a + db $0, $52, " received", $4f + db "@" + TX_RAM $cf4b + db $0, "!@@" +; 0xa5b6e + +_UnnamedText_199dd: ; 0xa5b6e + db $0, "TM41 teaches", $4f + db "SOFTBOILED!", $51 + db "Only one #MON", $4f + db "can use it!", $51 + db "That #MON is", $4f + db "CHANSEY!", $57 +; 0xa5b6e + 74 bytes + +_UnnamedText_199e2: ; 0xa5bb8 + db $0, "Oh, your pack is", $4f + db "full of items!", $57 +; 0xa5bb8 + 33 bytes + +_CeladonCityText6: ; 0xa5bd9 + db $0, "This is my trusted", $4f + db "pal, POLIWRATH!", $51 + db "It evolved from", $4f + db "POLIWHIRL when I", $55 + db "used WATER STONE!", $57 + +_CeladonCityText7: ; 0xa5c30 + db $0, "POLIWRATH: Ribi", $4f + db "ribit!@@" + +_CeladonCityText8: ; 0xa5c49 + db $0, "What are you", $4f + db "staring at?", $57 + +_CeladonCityText9: ; 0xa5c63 + db $0, "Keep out of TEAM", $4f + db "ROCKET's way!", $57 + +_CeladonCityText10: ; 0xa5c82 + db $0, "TRAINER TIPS", $51 + db "X ACCURACY boosts", $4f + db "the accuracy of", $55 + db "techniques!", $51 + db "DIRE HIT jacks up", $4f + db "the likelihood of", $55 + db "critical hits!", $51 + db "Get your items at", $4f + db "CELADON DEPT.", $55 + db "STORE!", $57 + +_CeladonCityText11: ; 0xa5d18 + db $0, "CELADON CITY", $4f + db "The City of", $55 + db "Rainbow Dreams", $57 + +_CeladonCityText13: ; 0xa5d41 + db $0, "CELADON CITY", $4f + db "#MON GYM", $55 + db "LEADER: ERIKA", $51 + db "The Nature Loving", $4f + db "Princess!", $57 + +_CeladonCityText14: ; 0xa5d82 + db $0, "CELADON MANSION", $57 + +_CeladonCityText15: ; 0xa5d93 + db $0, "Find what you", $4f + db "need at CELADON", $55 + db "DEPT. STORE!", $57 + +_CeladonCityText16: ; 0xa5dbf + db $0, "TRAINER TIPS", $51 + db "GUARD SPEC.", $4f + db "protects #MON", $55 + db "against SPECIAL", $55 + db "attacks such as", $55 + db "fire and water!", $51 + db "Get your items at", $4f + db "CELADON DEPT.", $55 + db "STORE!", $57 + +_CeladonCityText17: ; 0xa5e3e + db $0, "Coins exchanged", $4f + db "for prizes!", $55 + db "PRIZE EXCHANGE", $57 + +_CeladonCityText18: ; 0xa5e6a + db $0, "ROCKET GAME CORNER", $4f + db "The playground", $55 + db "for grown-ups!", $57 + +_FuchsiaCityText1: ; 0xa5e9c + db $0, "Did you try the", $4f + db "SAFARI GAME? Some", $55 + db "#MON can only", $55 + db "be caught there.", $57 + +_FuchsiaCityText2: ; 0xa5ede + db $0, "SAFARI ZONE has a", $4f + db "zoo in front of", $55 + db "the entrance.", $51 + db "Out back is the", $4f + db "SAFARI GAME for", $55 + db "catching #MON.", $57 + +_FuchsiaCityText3: ; 0xa5f3e + db $0, "ERIK: Where's", $4f + db "SARA? I said I'd", $55 + db "meet her here.", $57 + +_FuchsiaCityText4: ; 0xa5f6b + db $0, "That item ball in", $4f + db "there is really a", $55 + db "#MON.", $57 + +_FuchsiaCityText5: ; 0xa5f96 + db $0, "!", $57 + +_FuchsiaCityText11: ; 0xa5f99 + db $0, "FUCHSIA CITY", $4f + db "Behold! It's", $55 + db "Passion Pink!", $57 + +_FuchsiaCityText13: ; 0xa5fc1 + db $0, "SAFARI GAME", $4f + db "#MON-U-CATCH!", $57 + +_FuchsiaCityText16: ; 0xa5fdc + db $0, "SAFARI ZONE", $4f + db "WARDEN's HOME", $57 + +_FuchsiaCityText17: ; 0xa5ff6 + db $0, "#MON PARADISE", $4f + db "SAFARI ZONE", $57 + +_FuchsiaCityText18: ; 0xa6011 + db $0, "FUCHSIA CITY", $4f + db "#MON GYM", $55 + db "LEADER: KOGA", $51 + db "The Poisonous", $4f + db "Ninja Master", $57 + +_UnnamedText_19a9f: ; 0xa6050 + db $0, "Name: CHANSEY", $51 + db "Catching one is", $4f + db "all up to chance.", $58 +; 0xa6050 + 49 bytes + +_UnnamedText_19ab3: ; 0xa6081 + db $0, "Name: VOLTORB", $51 + db "The very image of", $4f + db "a # BALL.", $58 +; 0xa6081 + 43 bytes + +_UnnamedText_19ac7: ; 0xa60ac + db $0, "Name: KANGASKHAN", $51 + db "A maternal #MON", $4f + db "that raises its", $55 + db "young in a pouch", $55 + db "on its belly.", $58 +; 0xa60ac + 81 bytes + +_UnnamedText_19adb: ; 0xa60fd + db $0, "Name: SLOWPOKE", $51 + db "Friendly and very", $4f + db "slow moving.", $58 +; 0xa60fd + 47 bytes + +_UnnamedText_19aef: ; 0xa612c + db $0, "Name: LAPRAS", $51 + db "A.K.A. the king", $4f + db "of the seas.", $58 +; 0xa612c + 43 bytes + +_UnnamedText_19b20: ; 0xa6157 + db $0, "Name: OMANYTE", $51 + db "A #MON that", $4f + db "was resurrected", $55 + db "from a fossil.", $58 +; 0xa6157 + 58 bytes + +_UnnamedText_19b25: ; 0xa6191 + db $0, "Name: KABUTO", $51 + db "A #MON that", $4f + db "was resurrected", $55 + db "from a fossil.", $58 +; 0xa6191 + 57 bytes + +_UnnamedText_19b2a: ; 0xa61ca + db $0, "...", $57 +; 0xa61ca + 5 bytes + +_CinnabarIslandText8: ; 0xa61cf + db $0, "The door is", $4f + db "locked...", $57 +; 0xa61cf + 23 bytes + +_CinnabarIslandText1: ; 0xa61e6 + db $0, "CINNABAR GYM's", $4f + db "BLAINE is an odd", $55 + db "man who has lived", $55 + db "here for decades.", $57 + +_CinnabarIslandText2: ; 0xa622a + db $0, "Scientists conduct", $4f + db "experiments in", $55 + db "the burned out", $55 + db "building.", $57 + +_CinnabarIslandText3: ; 0xa6266 + db $0, "CINNABAR ISLAND", $4f + db "The Fiery Town of", $55 + db "Burning Desire", $57 + +_CinnabarIslandText6: ; 0xa6298 + db $0, "#MON LAB", $57 + +_CinnabarIslandText7: ; 0xa62a2 + db $0, "CINNABAR ISLAND", $4f + db "#MON GYM", $55 + db "LEADER: BLAINE", $51 + db "The Hot-Headed", $4f + db "Quiz Master!", $57 + +_SaffronCityText1: ; 0xa62e7 + db $0, "What do you want?", $4f + db "Get lost!", $57 + +_SaffronCityText2: ; 0xa6304 + db $0, "BOSS said he'll", $4f + db "take this town!", $57 + +_SaffronCityText3: ; 0xa6324 + db $0, "Get out of the", $4f + db "way!", $57 + +_SaffronCityText4: ; 0xa6339 + db $0, "SAFFRON belongs", $4f + db "to TEAM ROCKET!", $57 + +_SaffronCityText5: ; 0xa635a + db $0, "Being evil makes", $4f + db "me feel so alive!", $57 + +_SaffronCityText6: ; 0xa637e + db $0, "Ow! Watch where", $4f + db "you're walking!", $57 + +_SaffronCityText7: ; 0xa639e + db $0, "With SILPH under", $4f + db "control, we can", $55 + db "exploit #MON", $55 + db "around the world!", $57 + +_SaffronCityText8: ; 0xa63df + db $0, "You beat TEAM", $4f + db "ROCKET all alone?", $55 + db "That's amazing!", $57 + +_SaffronCityText9: ; 0xa640f + db $0, "Yeah! TEAM ROCKET", $4f + db "is gone!", $55 + db "It's safe to go", $55 + db "out again!", $57 + +_SaffronCityText10: ; 0xa6445 + db $0, "People should be", $4f + db "flocking back to", $55 + db "SAFFRON now.", $57 + +_SaffronCityText11: ; 0xa6475 + db $0, "I flew here on my", $4f + db "PIDGEOT when I", $55 + db "read about SILPH.", $51 + db "It's already over?", $4f + db "I missed the", $55 + db "media action.", $57 + +_SaffronCityText12: ; 0xa64d6 + db $0, "PIDGEOT: Bi bibii!@@" + +_SaffronCityText13: ; 0xa64eb + db $0, "I saw ROCKET", $4f + db "BOSS escaping", $55 + db "SILPH's building.", $57 + +_SaffronCityText14: ; 0xa6518 + db $0, "I'm a security", $4f + db "guard.", $51 + db "Suspicious kids I", $4f + db "don't allow in!", $57 + +_SaffronCityText15: ; 0xa654f + db $0, "...", $4f + db "Snore...", $51 + db "Hah! He's taking", $4f + db "a snooze!", $57 + +_SaffronCityText16: ; 0xa6577 + db $0, "SAFFRON CITY", $4f + db "Shining, Golden", $55 + db "Land of Commerce", $57 + +_SaffronCityText17: ; 0xa65a6 + db $0, "FIGHTING DOJO", $57 + +_SaffronCityText18: ; 0xa65b5 + db $0, "SAFFRON CITY", $4f + db "#MON GYM", $55 + db "LEADER: SABRINA", $51 + db "The Master of", $4f + db "Psychic #MON!", $57 + +_SaffronCityText20: ; 0xa65f8 + db $0, "TRAINER TIPS", $51 + db "FULL HEAL cures", $4f + db "all ailments like", $55 + db "sleep and burns.", $51 + db "It costs a bit", $4f + db "more, but it's", $55 + db "more convenient.", $57 + +_SaffronCityText21: ; 0xa6667 + db $0, "TRAINER TIPS", $51 + db "New GREAT BALL", $4f + db "offers improved", $55 + db "capture rates.", $51 + db "Try it on those", $4f + db "hard-to-catch", $55 + db "#MON.", $57 + +_SaffronCityText22: ; 0xa66c7 + db $0, "SILPH CO.", $4f + db "OFFICE BUILDING", $57 + +_SaffronCityText24: ; 0xa66e2 + db $0, "MR.PSYCHIC's", $4f + db "HOUSE", $57 + +_SaffronCityText25: ; 0xa66f5 + db $0, "SILPH's latest", $4f + db "product!", $51 + db "Release to be", $4f + db "determined...", $57 + +_ItemUseBallText00: + db 0,"It dodged the",$4F + db "thrown BALL!",$51 + db "This #MON",$4F + db "can't be caught!",$58 + +_ItemUseBallText01: + db 0,"You missed the",$4F + db "#MON!",$58 + +_ItemUseBallText02: + db 0,"Darn! The #MON",$4F + db "broke free!",$58 + +_ItemUseBallText03: + db 0,"Aww! It appeared",$4F + db "to be caught! ",$58 + +_ItemUseBallText04: + db 0,"Shoot! It was so",$4F + db "close too!",$58 + +_ItemUseBallText05: + db 0,"All right!",$4F,"@",1 + dw $CFDA + db 0," was",$55 + db "caught!@@" + +_ItemUseBallText07: + db 1 + dw $DE06 + db 0," was",$4F + db "transferred to",$55 + db "BILL's PC!",$58 + +_ItemUseBallText08: + db 1 + dw $DE06 + db 0," was",$4F + db "transferred to",$55 + db "someone's PC!",$58 + +_ItemUseBallText06: + db 0,"New #DEX data",$4F + db "will be added for",$55,"@",1 + dw $CFDA + db 0,"!@@" + +_UnnamedText_da4c: ; 0xa685e + db $0, $52, " got on", $4f + db "@" +; 0xa685e + 11 bytes + +UnnamedText_a6869: ; 0xa6869 + TX_RAM $cd6d + db $0, "!", $58 +; 0xa686f + +_UnnamedText_da51: ; 0xa686f + db $0, "There's no place", $4f + db "to get off!", $58 +; 0xa686f + 29 bytes + +_UnnamedText_df24: ; 0xa688c + TX_RAM $cd6d + db $0, "'s", $4f + db "@" +; 0xa688c + 7 bytes + +UnnamedText_a6893: ; 0xa6893 + TX_RAM $cf4b + db $0, " rose.", $58 +; 0xa689e + +_UnnamedText_df29: ; 0xa689e + db $0, "It won't have any", $4f + db "effect.", $58 +; 0xa689e + 26 bytes + +_UnnamedText_dfa5: ; 0xa68b8 + db $0, $52, " threw", $4f + db "some BAIT.", $57 +; 0xa68b8 + 20 bytes + +_UnnamedText_dfaa: ; 0xa68cc + db $0, $52, " threw a", $4f + db "ROCK.", $57 +; 0xa68cc + 17 bytes + +_UnnamedText_e20b: ; 0xa68dd + db $0, "Played the #", $4f + db "FLUTE.", $51 + db "Now, that's a", $4f + db "catchy tune!", $58 +; 0xa68dd + 47 bytes + +_UnnamedText_e210: ; 0xa690c + db $0, "All sleeping", $4f + db "#MON woke up.", $58 +; 0xa690c + 28 bytes + +UnnamedText_a6928: ; 0xa6928 + db $0, $52, " played the", $4f + db "# FLUTE.@@" +; 0xa6940 + +_UnnamedText_e247: ; 0xa6940 + db $0, "Coins", $4f + db "@" +; 0xa6940 + 8 bytes + db $2, $a4, $d5, $c2 +; 0xa694c + db $0, " ", $58 +; 0xa694f + +_UnnamedText_e30d: ; 0xa694f + db $0, "Yes! ITEMFINDER", $4f + db "indicates there's", $55 + db "an item nearby.", $58 +; 0xa694f + 50 bytes + +_UnnamedText_e312: ; 0xa6981 + db $0, "Nope! ITEMFINDER", $4f + db "isn't responding.", $58 +; 0xa6981 + 35 bytes + +_UnnamedText_e45d: ; 0xa69a4 + db $0, "Raise PP of which", $4f + db "technique?", $57 +; 0xa69a4 + 30 bytes + +_UnnamedText_e462: ; 0xa69c2 + db $0, "Restore PP of", $4f + db "which technique?", $57 +; 0xa69c2 + 32 bytes + +_UnnamedText_e467: ; 0xa69e2 + TX_RAM $cf4b + db $0, "'s PP", $4f + db "is maxed out.", $58 +; 0xa69e2 + 23 bytes + +_UnnamedText_e46c: ; 0xa69f9 + TX_RAM $cf4b + db $0, "'s PP", $4f + db "increased.", $58 +; 0xa69f9 + 20 bytes + +_UnnamedText_e471: ; 0xa6a0d + db $0, "PP was restored.", $58 +; 0xa6a0d + 18 bytes + +UnnamedText_a6a1f: ; 0xa6a1f + db $0, "Booted up a TM!", $58 +; 0xa6a30 + +UnnamedText_a6a30: ; 0xa6a30 + db $0, "Booted up an HM!", $58 +; 0xa6a42 + +UnnamedText_a6a42: ; 0xa6a42 + db $0, "It contained", $4f + db "@" + TX_RAM $cf4b + db $0, "!", $51 + db "Teach @" + TX_RAM $cf4b + db $0, $4f + db "to a #MON?", $57 +; 0xa6a6e + +UnnamedText_a6a6e: ; 0xa6a6e + TX_RAM $cd6d + db $0, " is not", $4f + db "compatible with", $55 + db "@" + TX_RAM $cf4b + db $0, ".", $51 + db "It can't learn", $4f + db "@" +; 0xa6a8b + 21 bytes = 0xa6aa0 + +UnnamedText_a6aa0: ; 0xa6aa0 + TX_RAM $cf4b + db $0, ".", $58 +; 0xa6aa0 + 6 bytes = 0xa6aa6 + +UnnamedText_a6aa6: ; 0xa6aa6 + db $0, "OAK: ", $52, "!", $4f + db "This isn't the", $55 + db "time to use that! ", $58 +; 0xa6aa6 + 42 bytes = 0xa6ad0 + +UnnamedText_a6ad0: ; 0xa6ad0 + db $0, "This isn't yours", $4f + db "to use!", $58 +; 0xa6ad0 + 25 bytes = 0xa6ae9 + +UnnamedText_a6ae9: ; 0xa6ae9 + db $0, "It won't have any", $4f + db "effect.", $58 +; 0xa6ae9 + 26 bytes = 0xa6b03 + +UnnamedText_a6b03: ; 0xa6b03 + db $0, "The trainer", $4f + db "blocked the BALL!", $58 +; 0xa6b03 + 31 bytes = 0xa6b22 + +UnnamedText_a6b22: ; 0xa6b22 + db $0, "Don't be a thief!", $58 +; 0xa6b22 + 18 bytes = 0xa6b34 + +UnnamedText_a6b34: ; 0xa6b34 + db $0, "No cycling", $4e, "allowed here.", $58 +; 0xa6b34 + 26 bytes = 0xa6b4e + +UnnamedText_a6b4e: ; 0xa6b4e + db $0, "No SURFing on", $4f + db "@" +; 0xa6b4e + 16 bytes = 0xa6b5e + +UnnamedText_a6b5e: ; 0xa6b5e + TX_RAM $cd6d + db $0, " here!", $58 +; 0xa6b5e + 11 bytes = 0xa6b69 + +UnnamedText_a6b69: ; 0xa6b69 + db $0, "The #MON BOX", $4f + db "is full! Can't", $55 + db "use that item!", $58 +; 0xa6b69 + 43 bytes = 0xa6b94 + +SECTION "bank2A",DATA,BANK[$2A] + +_ItemUseText001: + db 0,$52," used@@" + +_ItemUseText002: ; 0xa8009 + TX_RAM $cf4b + db $0, "!", $57 +; 0xa800e + +UnnamedText_a800f: ; 0xa800f + db $0, $52, " got on the@@" +; 0xa801e + +_UnnamedText_e5f7: ; 0xa801e + TX_RAM $cf4b + db $0, "!", $58 +; 0xa801e + 6 bytes + +UnnamedText_a8024: ; 0xa8024 + db $0, $52, " got off@@" +; 0xa8030 + +_UnnamedText_e601: ; 0xa8030 + db $0, "the @" + TX_RAM $cf4b + db $0, ".", $58 +; 0xa803c + +_UnnamedText_e755: ; 0xa803c + db $0, "Threw away", $4f + db "@" +; 0xa803c + 13 bytes + +UnnamedText_a8049: ; 0xa8049 + TX_RAM $cd6d + db $0, ".", $58 +; 0xa804f + +_UnnamedText_e75a: ; 0xa804f + db $0, "Is it OK to toss", $4f + db "@" +; 0xa804f + 19 bytes + +UnnamedText_a8062: ; 0xa8062 + TX_RAM $cf4b + db $0, "?", $58 +; 0xa8068 + +_UnnamedText_e75f: ; 0xa8068 + db $0, "That's too impor-", $4f + db "tant to toss!", $58 +; 0xa8068 + 32 bytes + +_UnnamedText_2fe3b: ; 0xa8088 + TX_RAM $cd6d + db $0, " knows", $4f + db "@" +; 0xa8088 + 12 bytes + +UnnamedText_a8094: ; 0xa8094 + TX_RAM $cf4b + db $0, "!", $58 +; 0xa809a + +_UnnamedText_71d88: ; 0xa809a + db $0, "Okay, connect the", $4f + db "cable like so!", $58 +; 0xa809a + 34 bytes + +_UnnamedText_71d8d: ; 0xa80bc + db $0, $52, " traded", $4f + db "@" + +UnnamedText_a80c7: ; 0xa80c7 + TX_RAM $cd13 + db $0, " for", $55 + db "@" + TX_RAM $cd1e + db $0, "!@@" +; 0xa80d8 + +_UnnamedText_71d94: ; 0xa80d8 + db $0, "I'm looking for", $4f + db "@" +; 0xa80d8 + 17 bytes + +UnnamedText_a80e9: ; 0xa80e9 + TX_RAM $cd13 + db $0, "! Wanna", $51 + db "trade one for", $4f + db "@" + TX_RAM $cd1e + db $0, "? ", $57 +; 0xa810b + +_UnnamedText_71d99: ; 0xa810b + db $0, "Awww!", $4f + db "Oh well...", $57 +; 0xa810b + 18 bytes + +_UnnamedText_71d9e: ; 0xa811d + db $0, "What? That's not", $4f + db "@" +; 0xa811d + 18 bytes + +UnnamedText_a812f: ; 0xa812f + TX_RAM $cd13 + db $0, "!", $51 + db "If you get one,", $4f + db "come back here!", $57 +; 0xa8155 + +_UnnamedText_71da3: ; 0xa8155 + db $0, "Hey thanks!", $57 +; 0xa8155 + 13 bytes + +_UnnamedText_71da8: ; 0xa8162 + db $0, "Isn't my old", $4f + db "@" +; 0xa8162 + 14 bytes + +UnnamedText_a8170: ; 0xa8170 + TX_RAM $cd1e + db $0, " great?", $57 +; 0xa8170 + +_UnnamedText_71dad: ; 0xa817c + db $0, "Hello there! Do", $4f + db "you want to trade", $51 + db "your @" +; 0xa817c + 41 bytes + +UnnamedText_a81a5: ; 0xa81a5 + TX_RAM $cd13 + db $0, $4f + db "for @" + TX_RAM $cd1e + db $0, "?", $57 +; 0xa81b5 + +_UnnamedText_71db2: ; 0xa81b5 + db $0, "Well, if you", $4f + db "don't want to...", $57 +; 0xa81b5 + 30 bytes + +_UnnamedText_71db7: ; 0xa81d3 + db $0, "Hmmm? This isn't", $4f + db "@" + TX_RAM $cd13 + db $0, ".", $51 + db "Think of me when", $4f + db "you get one.", $57 +; 0xa8209 + +_UnnamedText_71dbc: ; 0xa8209 + db $0, "Thanks!", $57 +; 0xa8209 + 9 bytes + +_UnnamedText_71dc1: ; 0xa8212 + db $0, "The @" + TX_RAM $cd13 + db $0, " you", $4f + db "traded to me", $51 + db "went and evolved!", $57 +; 0xa8240 + +_UnnamedText_71dc6: ; 0xa8240 + db $0, "Hi! Do you have", $4f + db "@" + TX_RAM $cd13 + db $0, "?", $51 + db "Want to trade it", $4f + db "for @" + TX_RAM $cd1e + db $0, "?", $57 +; 0xa8274 + +_UnnamedText_71dcb: ; 0xa8274 + db $0, "That's too bad.", $57 +; 0xa8274 + 16 bytes + +_UnnamedText_71dd0: ; 0xa8284 + db $0, "...This is no", $4f + db "@" + TX_RAM $cd13 + db $0, ".", $51 + db "If you get one,", $4f + db "trade it with me!", $57 +; 0xa82bc + +_UnnamedText_71dd5: ; 0xa82bc + db $0, "Thanks pal!", $57 +; 0xa82bc + 13 bytes + +_UnnamedText_71dda: ; 0xa82c9 + db $0, "How is my old", $4f + db "@" + TX_RAM $cd1e + db $0, "?", $51 + db "My @" + TX_RAM $cd13 + db $0, " is", $4f + db "doing great!", $57 +; 0xa82f8 + +; XXX +db $0, $93, $a7, $a4, $b1, $a4, $7f, $a8, $b2, $ad, $be, $4f +db $a0, $ad, $b8, $b3, $a7, $a8, $ad, $a6, $7f, $b3, $ae, $7f, $82, $94, $93, $e7, $58 +db $1, $6d, $cd +db $0, $7f, $a7, $a0, $a2, $aa, $a4, $a3, $4f +db $a0, $b6, $a0, $b8, $7f, $b6, $a8, $b3, $a7, $7f, $82, $94, $93, $e7, $58 + +SECTION "bank2B",DATA,BANK[$2B] + +INCLUDE "text/pokedex.tx" + +SECTION "bank2C",DATA,BANK[$2C] + +MoveNames: ; 4000 + db "POUND@" + db "KARATE CHOP@" + db "DOUBLESLAP@" + db "COMET PUNCH@" + db "MEGA PUNCH@" + db "PAY DAY@" + db "FIRE PUNCH@" + db "ICE PUNCH@" + db "THUNDERPUNCH@" + db "SCRATCH@" + db "VICEGRIP@" + db "GUILLOTINE@" + db "RAZOR WIND@" + db "SWORDS DANCE@" + db "CUT@" + db "GUST@" + db "WING ATTACK@" + db "WHIRLWIND@" + db "FLY@" + db "BIND@" + db "SLAM@" + db "VINE WHIP@" + db "STOMP@" + db "DOUBLE KICK@" + db "MEGA KICK@" + db "JUMP KICK@" + db "ROLLING KICK@" + db "SAND-ATTACK@" + db "HEADBUTT@" + db "HORN ATTACK@" + db "FURY ATTACK@" + db "HORN DRILL@" + db "TACKLE@" + db "BODY SLAM@" + db "WRAP@" + db "TAKE DOWN@" + db "THRASH@" + db "DOUBLE-EDGE@" + db "TAIL WHIP@" + db "POISON STING@" + db "TWINEEDLE@" + db "PIN MISSILE@" + db "LEER@" + db "BITE@" + db "GROWL@" + db "ROAR@" + db "SING@" + db "SUPERSONIC@" + db "SONICBOOM@" + db "DISABLE@" + db "ACID@" + db "EMBER@" + db "FLAMETHROWER@" + db "MIST@" + db "WATER GUN@" + db "HYDRO PUMP@" + db "SURF@" + db "ICE BEAM@" + db "BLIZZARD@" + db "PSYBEAM@" + db "BUBBLEBEAM@" + db "AURORA BEAM@" + db "HYPER BEAM@" + db "PECK@" + db "DRILL PECK@" + db "SUBMISSION@" + db "LOW KICK@" + db "COUNTER@" + db "SEISMIC TOSS@" + db "STRENGTH@" + db "ABSORB@" + db "MEGA DRAIN@" + db "LEECH SEED@" + db "GROWTH@" + db "RAZOR LEAF@" + db "SOLARBEAM@" + db "POISONPOWDER@" + db "STUN SPORE@" + db "SLEEP POWDER@" + db "PETAL DANCE@" + db "STRING SHOT@" + db "DRAGON RAGE@" + db "FIRE SPIN@" + db "THUNDERSHOCK@" + db "THUNDERBOLT@" + db "THUNDER WAVE@" + db "THUNDER@" + db "ROCK THROW@" + db "EARTHQUAKE@" + db "FISSURE@" + db "DIG@" + db "TOXIC@" + db "CONFUSION@" + db "PSYCHIC@" + db "HYPNOSIS@" + db "MEDITATE@" + db "AGILITY@" + db "QUICK ATTACK@" + db "RAGE@" + db "TELEPORT@" + db "NIGHT SHADE@" + db "MIMIC@" + db "SCREECH@" + db "DOUBLE TEAM@" + db "RECOVER@" + db "HARDEN@" + db "MINIMIZE@" + db "SMOKESCREEN@" + db "CONFUSE RAY@" + db "WITHDRAW@" + db "DEFENSE CURL@" + db "BARRIER@" + db "LIGHT SCREEN@" + db "HAZE@" + db "REFLECT@" + db "FOCUS ENERGY@" + db "BIDE@" + db "METRONOME@" + db "MIRROR MOVE@" + db "SELFDESTRUCT@" + db "EGG BOMB@" + db "LICK@" + db "SMOG@" + db "SLUDGE@" + db "BONE CLUB@" + db "FIRE BLAST@" + db "WATERFALL@" + db "CLAMP@" + db "SWIFT@" + db "SKULL BASH@" + db "SPIKE CANNON@" + db "CONSTRICT@" + db "AMNESIA@" + db "KINESIS@" + db "SOFTBOILED@" + db "HI JUMP KICK@" + db "GLARE@" + db "DREAM EATER@" + db "POISON GAS@" + db "BARRAGE@" + db "LEECH LIFE@" + db "LOVELY KISS@" + db "SKY ATTACK@" + db "TRANSFORM@" + db "BUBBLE@" + db "DIZZY PUNCH@" + db "SPORE@" + db "FLASH@" + db "PSYWAVE@" + db "SPLASH@" + db "ACID ARMOR@" + db "CRABHAMMER@" + db "EXPLOSION@" + db "FURY SWIPES@" + db "BONEMERANG@" + db "REST@" + db "ROCK SLIDE@" + db "HYPER FANG@" + db "SHARPEN@" + db "CONVERSION@" + db "TRI ATTACK@" + db "SUPER FANG@" + db "SLASH@" + db "SUBSTITUTE@" + db "STRUGGLE@" diff --git a/pokeblue.asm b/pokeblue.asm index 8e241791..78f8cd48 100644 --- a/pokeblue.asm +++ b/pokeblue.asm @@ -1,3 +1,3 @@ _RED EQU 0 _BLUE EQU 1 -INCLUDE "common.tx" +INCLUDE "main.tx" diff --git a/pokered.asm b/pokered.asm index 0fb863a4..a6e1f6c8 100644 --- a/pokered.asm +++ b/pokered.asm @@ -1,3 +1,3 @@ _RED EQU 1 _BLUE EQU 0 -INCLUDE "common.tx" +INCLUDE "main.tx" -- cgit v1.2.3