diff options
-rw-r--r-- | constants/event_constants.asm | 2 | ||||
-rwxr-xr-x | constants/hide_show_constants.asm | 35 | ||||
-rwxr-xr-x | data/mapObjects/ceruleanhouse1.asm | 8 | ||||
-rw-r--r-- | data/map_header_banks.asm | 2 | ||||
-rw-r--r-- | data/map_header_pointers.asm | 2 | ||||
-rwxr-xr-x | main.asm | 7 | ||||
-rwxr-xr-x | scripts/ceruleanhouse1.asm | 99 |
7 files changed, 123 insertions, 32 deletions
diff --git a/constants/event_constants.asm b/constants/event_constants.asm index 49050dd3..2d1fab45 100644 --- a/constants/event_constants.asm +++ b/constants/event_constants.asm @@ -168,7 +168,7 @@ const_value = 0 const EVENT_0A5 ; 0A5, (D75B, bit 5) const EVENT_0A6 ; 0A6, (D75B, bit 6) const EVENT_BEAT_CERULEAN_ROCKET_THIEF ; 0A7, (D75B, bit 7) - const EVENT_0A8 ; 0A8, (D75C, bit 0) + const EVENT_GOT_BULBASAUR_IN_CERULEAN ; 0A8, (D75C, bit 0) const EVENT_0A9 ; 0A9, (D75C, bit 1) const EVENT_0AA ; 0AA, (D75C, bit 2) const EVENT_0AB ; 0AB, (D75C, bit 3) diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index 6fc52187..f41477a5 100755 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -51,10 +51,6 @@ const_value = 0 const HS_TOWN_MAP ; 2A const HS_OAKS_LAB_RIVAL ; 2B const HS_STARTER_BALL_1 ; 2C - const HS_STARTER_BALL_2 ; 2D - const HS_STARTER_BALL_3 ; 2E - -const_value SET $2D const HS_OAKS_LAB_OAK_1 ; 2D const HS_POKEDEX_1 ; 2E const HS_POKEDEX_2 ; 2F @@ -62,22 +58,21 @@ const_value SET $2D const HS_VIRIDIAN_GYM_GIOVANNI ; 31 const HS_VIRIDIAN_GYM_ITEM ; 32 const HS_OLD_AMBER ; 33 X - const HS_UNKNOWN_DUNGEON_1_ITEM_1 ; 34 - const HS_UNKNOWN_DUNGEON_1_ITEM_2 ; 35 X - const HS_UNKNOWN_DUNGEON_1_ITEM_3 ; 36 X - const HS_POKEMONTOWER_2_RIVAL ; 37 X - const HS_POKEMONTOWER_3_ITEM ; 38 - const HS_POKEMONTOWER_4_ITEM_1 ; 39 X - const HS_POKEMONTOWER_4_ITEM_2 ; 3A X - const HS_POKEMONTOWER_4_ITEM_3 ; 3B X - const HS_POKEMONTOWER_5_ITEM ; 3C X - const HS_POKEMONTOWER_6_ITEM_1 ; 3D X - const HS_POKEMONTOWER_6_ITEM_2 ; 3E X - const HS_POKEMONTOWER_7_ROCKET_1 ; 3F X - const HS_POKEMONTOWER_7_ROCKET_2 ; 40 X - const HS_POKEMONTOWER_7_ROCKET_3 ; 41 X - -const_value SET $43 ; replace the tower rockets with jessie/james + const HS_CERULEAN_BULBASAUR ; 34 + const HS_UNKNOWN_DUNGEON_1_ITEM_1 ; 35 X + const HS_UNKNOWN_DUNGEON_1_ITEM_2 ; 36 X + const HS_UNKNOWN_DUNGEON_1_ITEM_3 ; 37 X + const HS_POKEMONTOWER_2_RIVAL ; 38 + const HS_POKEMONTOWER_3_ITEM ; 39 X + const HS_POKEMONTOWER_4_ITEM_1 ; 3A X + const HS_POKEMONTOWER_4_ITEM_2 ; 3B X + const HS_POKEMONTOWER_4_ITEM_3 ; 3C X + const HS_POKEMONTOWER_5_ITEM ; 3D X + const HS_POKEMONTOWER_6_ITEM_1 ; 3E X + const HS_POKEMONTOWER_6_ITEM_2 ; 3F X + const HS_POKEMONTOWER_7_ROCKET_1 ; 40 X + const HS_POKEMONTOWER_7_ROCKET_2 ; 41 X + const HS_POKEMONTOWER_7_ROCKET_3 ; 42 const HS_POKEMONTOWER_7_MR_FUJI ; 43 const HS_LAVENDER_HOUSE_1_MR_FUJI ; 44 const HS_CELADON_MANSION_5_GIFT ; 45 diff --git a/data/mapObjects/ceruleanhouse1.asm b/data/mapObjects/ceruleanhouse1.asm index db0be014..aa9f66a4 100755 --- a/data/mapObjects/ceruleanhouse1.asm +++ b/data/mapObjects/ceruleanhouse1.asm @@ -7,9 +7,11 @@ CeruleanHouse1Object: ; 0x1d710 (size=32) db $0 ; signs - db $2 ; objects - object SPRITE_OLD_MEDIUM_WOMAN, $5, $4, STAY, LEFT, $1 ; person - object SPRITE_GAMBLER, $1, $2, STAY, NONE, $2 ; person + db $4 ; objects + object SPRITE_GIRL, $3, $1, STAY, DOWN, $1 ; person + object SPRITE_BULBASAUR, $4, $1, STAY, DOWN, $2 ; person + object SPRITE_ODDISH, $1, $4, STAY, NONE, $3 ; person + object SPRITE_SANDSHREW, $5, $3, STAY, LEFT, $4 ; person ; warp-to EVENT_DISP CERULEAN_HOUSE_1_WIDTH, $7, $2 diff --git a/data/map_header_banks.asm b/data/map_header_banks.asm index 1664cb08..bbcdd278 100644 --- a/data/map_header_banks.asm +++ b/data/map_header_banks.asm @@ -63,7 +63,7 @@ MapHeaderBanks:: ; fc3e4 (3f:43e4) db BANK(MtMoon2_h) db BANK(MtMoon3_h) db BANK(CeruleanHouseTrashed_h) - db $07 ; db BANK(CeruleanHouse1_h) + db BANK(CeruleanHouse1_h) db $17 ; db BANK(CeruleanPokecenter_h) db $17 ; db BANK(CeruleanGym_h) db $07 ; db BANK(BikeShop_h) diff --git a/data/map_header_pointers.asm b/data/map_header_pointers.asm index 4d6a8847..9558ca6e 100644 --- a/data/map_header_pointers.asm +++ b/data/map_header_pointers.asm @@ -63,7 +63,7 @@ MapHeaderPointers:: ; fc1f2 (3f:41f2) dw MtMoon2_h ;id=60 dw MtMoon3_h dw CeruleanHouseTrashed_h - dw $4f34 ; dw CeruleanHouse1_h + dw CeruleanHouse1_h dw $44f5 ; dw CeruleanPokecenter_h dw $4577 ; dw CeruleanGym_h dw $5038 ; dw BikeShop_h @@ -297,6 +297,7 @@ ViridianHouseBlocks: Route2HouseBlocks: PewterHouse1Blocks: PewterHouse2Blocks: +CeruleanHouse1Blocks: INCBIN "maps/viridianhouse.blk" SchoolBlocks: INCBIN "maps/school.blk" @@ -347,7 +348,11 @@ INCLUDE "data/mapObjects/pewterhouse2.asm" INCLUDE "data/mapHeaders/ceruleanhousetrashed.asm" INCLUDE "scripts/ceruleanhousetrashed.asm" INCLUDE "data/mapObjects/ceruleanhousetrashed.asm" - dr $1cf34,$1d7ae ; map scripts + +INCLUDE "data/mapHeaders/ceruleanhouse1.asm" +INCLUDE "scripts/ceruleanhouse1.asm" +INCLUDE "data/mapObjects/ceruleanhouse1.asm" + dr $1d038,$1d7ae ; map scripts INCLUDE "data/mapHeaders/diglettscaveroute2.asm" INCLUDE "scripts/diglettscaveroute2.asm" diff --git a/scripts/ceruleanhouse1.asm b/scripts/ceruleanhouse1.asm index e703d830..0b9a9052 100755 --- a/scripts/ceruleanhouse1.asm +++ b/scripts/ceruleanhouse1.asm @@ -1,17 +1,106 @@ CeruleanHouse1Script: ; 1d6f6 (7:56f6) - jp EnableAutoTextBoxDrawing + call EnableAutoTextBoxDrawing + ret CeruleanHouse1TextPointers: ; 1d6f9 (7:56f9) dw CeruleanHouse1Text1 dw CeruleanHouse1Text2 + dw CeruleanHouse1Text3 + dw CeruleanHouse1Text4 CeruleanHouse1Text1: ; 1d6fd (7:56fd) - TX_FAR _CeruleanHouse1Text1 + TX_ASM + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + CheckEvent EVENT_GOT_BULBASAUR_IN_CERULEAN + jr nz, .asm_1cfbf + ld hl, CeruleanHouse1Text_1cfc8 + call PrintText + ld a, [wPikachuHappiness] + cp 147 + jr c, .asm_1cfb3 + ld hl, CeruleanHouse1Text_1cfce + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .asm_1cfb6 + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld a, BULBASAUR + ld [wd11e], a + ld [wcf91], a + call GetMonName + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + lb bc, BULBASAUR, 10 + call GivePokemon + jr nc, .asm_1cfb3 + ld a, [wAddedToParty] + and a + call z, WaitForTextScrollButtonPress + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld hl, CeruleanHouse1Text_1cfd3 + call PrintText + ld a, HS_CERULEAN_BULBASAUR + ld [wMissableObjectIndex], a + predef HideObject + SetEvent EVENT_GOT_BULBASAUR_IN_CERULEAN +.asm_1cfb3 + jp TextScriptEnd + +.asm_1cfb6 + ld hl, CeruleanHouse1Text_1cfdf + call PrintText + jp TextScriptEnd + +.asm_1cfbf + ld hl, CeruleanHouse1Text_1cfd9 + call PrintText + jp TextScriptEnd + +CeruleanHouse1Text_1cfc8: + TX_FAR MelanieText1 + TX_WAIT_BUTTON + db "@" + +CeruleanHouse1Text_1cfce: + TX_FAR MelanieText2 + db "@" + +CeruleanHouse1Text_1cfd3: + TX_FAR MelanieText3 + TX_WAIT_BUTTON + db "@" + +CeruleanHouse1Text_1cfd9: + TX_FAR MelanieText4 + TX_WAIT_BUTTON + db "@" + +CeruleanHouse1Text_1cfdf: + TX_FAR MelanieText5 + TX_WAIT_BUTTON db "@" CeruleanHouse1Text2: ; 1d702 (7:5702) + TX_FAR MelanieBulbasaurText + TX_ASM + ld a, BULBASAUR + call PlayCry + jp TextScriptEnd + +CeruleanHouse1Text3: ; 1d702 (7:5702) + TX_FAR MelanieOddishText + TX_ASM + ld a, ODDISH + call PlayCry + jp TextScriptEnd + +CeruleanHouse1Text4: ; 1d702 (7:5702) + TX_FAR MelanieSandshrewText TX_ASM - ld a, $6 - ld [wWhichTrade], a - predef DoInGameTradeDialogue + ld a, SANDSHREW + call PlayCry jp TextScriptEnd |