diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index 18605f13..e549deda 100644 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -262,4 +262,6 @@ DEF SHOW EQU $15 const HS_MT_MOON_CRATER_ITEM_9 ; FA const HS_MT_MOON_CRATER_ITEM_10 ; FB const HS_MT_MOON_CRATER_ITEM_11 ; FC + const HS_GIOVANNIS_ROOM_ITEM_1 ; FD + const HS_GIOVANNIS_ROOM_ITEM_2 ; FE uh oh DEF NUM_HS_OBJECTS EQU const_value diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 44a0ad28..4ff43d98 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -219,7 +219,7 @@ DEF FIRST_INDOOR_MAP EQU const_value map_const VERMILION_TRADE_HOUSE, 4, 4 ; $C5 map_const DIGLETTS_CAVE, 20, 18 ; $C6 map_const VICTORY_ROAD_3F, 15, 9 ; $C7 - map_const ROCKET_HIDEOUT_B1F, 11, 14 ; $C8 + map_const ROCKET_HIDEOUT_B1F, 15, 14 ; $C8 map_const ROCKET_HIDEOUT_B2F, 15, 14 ; $C9 - Currently unused map_const ROCKET_HIDEOUT_B3F, 15, 14 ; $CA - Currently unused map_const ROCKET_HIDEOUT_B4F, 15, 12 ; $CB - Currently unused @@ -266,8 +266,9 @@ DEF FIRST_INDOOR_MAP EQU const_value map_const BILLS_GARDEN, 10, 10 ; $F4 - Was UNUSED_MAP_F3 map_const LORELEIS_ROOM, 5, 6 ; $F5 map_const BRUNOS_ROOM, 5, 6 ; $F6 - map_const AGATHAS_ROOM, 5, 6 ; $F7 - Maps F8 - FE currently have no data, bear in mind we need room for everything in citrine + map_const AGATHAS_ROOM, 5, 6 ; $F7 - Maps FA - FE currently have no data, bear in mind we need room for everything in citrine map_const CINNABAR_VOLCANO_FLOORS, 20, 20 ; $F8 + map_const GIOVANNIS_ROOM, 11, 14 ; $F9 DEF NUM_MAPS EQU const_value ; Indoor maps, such as houses, use this as the Map ID in their exit warps diff --git a/data/maps/headers/GiovannisRoom.asm b/data/maps/headers/GiovannisRoom.asm new file mode 100644 index 00000000..7355a403 --- /dev/null +++ b/data/maps/headers/GiovannisRoom.asm @@ -0,0 +1,2 @@ + map_header GiovannisRoom, GIOVANNIS_ROOM, FACILITY, 0 + end_map_header diff --git a/data/maps/hide_show_data.asm b/data/maps/hide_show_data.asm index 7b1c0d69..38d2b207 100644 --- a/data/maps/hide_show_data.asm +++ b/data/maps/hide_show_data.asm @@ -252,6 +252,7 @@ MapHSPointers: dw NoHS dw NoHS dw NoHS + dw GiovannisRoomHS assert_table_length NUM_MAPS dw -1 ; end @@ -442,8 +443,8 @@ VictoryRoad3FHS: db VICTORY_ROAD_3F, $06, SHOW ; HS_VICTORY_ROAD_3F_ITEM_2 db VICTORY_ROAD_3F, $0A, SHOW ; HS_VICTORY_ROAD_3F_BOULDER RocketHideoutB1FHS: - db ROCKET_HIDEOUT_B1F, $05, SHOW ; HS_ROCKET_HIDEOUT_B1F_ITEM_1 - db ROCKET_HIDEOUT_B1F, $06, SHOW ; HS_ROCKET_HIDEOUT_B1F_ITEM_2 + db ROCKET_HIDEOUT_B1F, $06, SHOW + db ROCKET_HIDEOUT_B1F, $07, SHOW RocketHideoutB2FHS: db ROCKET_HIDEOUT_B2F, $02, SHOW ; HS_ROCKET_HIDEOUT_B2F_ITEM_1 db ROCKET_HIDEOUT_B2F, $03, SHOW ; HS_ROCKET_HIDEOUT_B2F_ITEM_2 @@ -600,7 +601,9 @@ MtMoonCraterHS: db MT_MOON_CRATER, $09, SHOW ; HS_MT_MOON_CRATER_ITEM_9 db MT_MOON_CRATER, $0A, SHOW ; HS_MT_MOON_CRATER_ITEM_10 db MT_MOON_CRATER, $0B, SHOW ; HS_MT_MOON_CRATER_ITEM_11 - +GiovannisRoomHS: + db GIOVANNIS_ROOM, $05, SHOW ; HS_GIOVANNIS_ROOM_ITEM_1 + db GIOVANNIS_ROOM, $06, SHOW ; HS_GIOVANNIS_ROOM_ITEM_2 db $FF, $01, SHOW ; end assert_table_length NUM_HS_OBJECTS + 1 diff --git a/data/maps/map_header_banks.asm b/data/maps/map_header_banks.asm index fe909db0..11e9a6ed 100644 --- a/data/maps/map_header_banks.asm +++ b/data/maps/map_header_banks.asm @@ -250,4 +250,5 @@ MapHeaderBanks:: db BANK(BrunosRoom_h) db BANK(AgathasRoom_h) db BANK(CinnabarVolcanoFloors_h) + db BANK(GiovannisRoom_h) assert_table_length NUM_MAPS diff --git a/data/maps/map_header_pointers.asm b/data/maps/map_header_pointers.asm index 9f093fc6..07af87c7 100644 --- a/data/maps/map_header_pointers.asm +++ b/data/maps/map_header_pointers.asm @@ -250,4 +250,5 @@ MapHeaderPointers:: dw BrunosRoom_h dw AgathasRoom_h dw CinnabarVolcanoFloors_h + dw GiovannisRoom_h assert_table_length NUM_MAPS diff --git a/data/maps/objects/GameCorner.asm b/data/maps/objects/GameCorner.asm index 97754a15..2b4c8f72 100644 --- a/data/maps/objects/GameCorner.asm +++ b/data/maps/objects/GameCorner.asm @@ -4,10 +4,10 @@ GameCorner_Object: def_warp_events warp_event 15, 17, LAST_MAP, 8 warp_event 16, 17, LAST_MAP, 8 - ; warp_event 17, 4, ROCKET_HIDEOUT_B1F, 2 + warp_event 17, 4, ROCKET_HIDEOUT_B1F, 2 def_bg_events - ; bg_event 9, 4, 12 ; CeladonGameCornerText12 + bg_event 9, 4, 12 ; CeladonGameCornerText12 def_object_events object_event 2, 6, SPRITE_BEAUTY, STAY, DOWN, 1 ; person @@ -20,6 +20,6 @@ GameCorner_Object: object_event 11, 15, SPRITE_GAMBLER, STAY, RIGHT, 8 ; person object_event 14, 11, SPRITE_CLERK, STAY, LEFT, 9 ; person object_event 17, 13, SPRITE_GENTLEMAN, STAY, RIGHT, 10 ; person - ; object_event 9, 5, SPRITE_ROCKET, STAY, UP, 11, OPP_ROCKET, 7 + object_event 9, 5, SPRITE_ROCKET, STAY, UP, 11, OPP_ROCKET, 7 def_warps_to GAME_CORNER diff --git a/data/maps/objects/GiovannisRoom.asm b/data/maps/objects/GiovannisRoom.asm new file mode 100644 index 00000000..062a333e --- /dev/null +++ b/data/maps/objects/GiovannisRoom.asm @@ -0,0 +1,19 @@ +GiovannisRoom_Object: + db $2e ; border block + + def_warp_events + warp_event 5, 4, VIRIDIAN_GYM, 3 + warp_event 17, 4, VIRIDIAN_CITY, 6 + + def_bg_events + + def_object_events + object_event 4, 22, SPRITE_PAPER, STAY, DOWN, 1 + object_event 17, 8, SPRITE_PAPER, STAY, RIGHT, 2 + object_event 17, 15, SPRITE_PAPER, STAY, DOWN, 3 + object_event 8, 16, SPRITE_PAPER, STAY, RIGHT, 4 + object_event 17, 22, SPRITE_POKE_BALL, STAY, NONE, 5, TM_EARTHQUAKE + object_event 5, 22, SPRITE_POKE_BALL, STAY, NONE, 6, PROTECTOR + object_event 6, 17, SPRITE_ROCKET, STAY, LEFT, 7, OPP_ROCKET, 8 + + def_warps_to GIOVANNIS_ROOM diff --git a/data/maps/objects/RocketHideoutB1F.asm b/data/maps/objects/RocketHideoutB1F.asm index c100c0b7..25750eb0 100644 --- a/data/maps/objects/RocketHideoutB1F.asm +++ b/data/maps/objects/RocketHideoutB1F.asm @@ -2,18 +2,21 @@ RocketHideoutB1F_Object: db $2e ; border block def_warp_events - warp_event 5, 4, VIRIDIAN_GYM, 3 - warp_event 17, 4, VIRIDIAN_CITY, 6 + warp_event 23, 2, ROCKET_HIDEOUT_B2F, 1 + warp_event 21, 2, GAME_CORNER, 3 + warp_event 24, 19, ROCKET_HIDEOUT_ELEVATOR, 1 + warp_event 21, 24, ROCKET_HIDEOUT_B2F, 4 + warp_event 25, 19, ROCKET_HIDEOUT_ELEVATOR, 2 def_bg_events def_object_events - object_event 4, 22, SPRITE_PAPER, STAY, DOWN, 1 - object_event 17, 8, SPRITE_PAPER, STAY, RIGHT, 2 - object_event 17, 15, SPRITE_PAPER, STAY, DOWN, 3 - object_event 8, 16, SPRITE_PAPER, STAY, RIGHT, 4 - object_event 17, 22, SPRITE_POKE_BALL, STAY, NONE, 5, TM_EARTHQUAKE - object_event 7, 22, SPRITE_POKE_BALL, STAY, NONE, 6, PROTECTOR - object_event 6, 17, SPRITE_ROCKET, STAY, LEFT, 7, OPP_ROCKET, 8 + object_event 26, 8, SPRITE_ROCKET, STAY, LEFT, 1, OPP_ROCKET, 8 + object_event 12, 6, SPRITE_ROCKET, STAY, RIGHT, 2, OPP_ROCKET, 9 + object_event 18, 17, SPRITE_ROCKET, STAY, DOWN, 3, OPP_ROCKET, 10 + object_event 15, 25, SPRITE_ROCKET, STAY, RIGHT, 4, OPP_ROCKET, 11 + object_event 28, 18, SPRITE_ROCKET, STAY, LEFT, 5, OPP_ROCKET, 12 + object_event 11, 14, SPRITE_POKE_BALL, STAY, NONE, 6, ESCAPE_ROPE + object_event 9, 17, SPRITE_POKE_BALL, STAY, NONE, 7, HYPER_POTION def_warps_to ROCKET_HIDEOUT_B1F diff --git a/data/maps/objects/ViridianGym.asm b/data/maps/objects/ViridianGym.asm index 61216e68..df97d37f 100644 --- a/data/maps/objects/ViridianGym.asm +++ b/data/maps/objects/ViridianGym.asm @@ -4,7 +4,7 @@ ViridianGym_Object: def_warp_events warp_event 16, 17, LAST_MAP, 5 ; front door warp_event 17, 17, LAST_MAP, 5 ; front door - warp_event 4, 2, ROCKET_HIDEOUT_B1F, 1 ; stairs + warp_event 4, 2, GIOVANNIS_ROOM, 1 ; stairs def_bg_events diff --git a/data/maps/songs.asm b/data/maps/songs.asm index 22cbf846..d2b45d02 100644 --- a/data/maps/songs.asm +++ b/data/maps/songs.asm @@ -249,4 +249,5 @@ MapSongBanks:: db MUSIC_DUNGEON1, 0 ; BRUNOS_ROOM db MUSIC_POKEMON_TOWER, 0 ; AGATHAS_ROOM db MUSIC_DUNGEON3, 0 ; CINNABAR_VOLCANO_FLOORS + db MUSIC_DUNGEON2, 0 ; GIOVANNIS_ROOM assert_table_length NUM_MAPS diff --git a/data/trainers/parties.asm b/data/trainers/parties.asm index e70ac773..315c1abe 100644 --- a/data/trainers/parties.asm +++ b/data/trainers/parties.asm @@ -532,7 +532,7 @@ RocketData: ; restoring these so undefined stuff isn't pulled RIGHT NOW ; Route 24 db 15, EKANS, ZUBAT, 0 ; Game Corner - db 20, RATICATE, ZUBAT, 0 + db 22, ZUBAT, KOFFING, RATICATE, ARBOK, 0 ; Rocket Hideout B1F db 42, HYPNO, WEEZING, ARBOK, 0 ; Rocket Hideout B1F - all now unused diff --git a/data/wild/grass_water.asm b/data/wild/grass_water.asm index e8363d3c..352d4877 100644 --- a/data/wild/grass_water.asm +++ b/data/wild/grass_water.asm @@ -249,6 +249,7 @@ WildDataPointers: dw NothingWildMons dw NothingWildMons dw CinnabarVolcanoFloorsWildMons + dw NothingWildMons assert_table_length NUM_MAPS dw -1 ; end diff --git a/maps.asm b/maps.asm index 3a6347eb..59913d49 100644 --- a/maps.asm +++ b/maps.asm @@ -1255,6 +1255,11 @@ INCLUDE "scripts/CinnabarVolcanoFloors.asm" INCLUDE "data/maps/objects/CinnabarVolcanoFloors.asm" CinnabarVolcanoFloors_Blocks: INCBIN "maps/CinnabarVolcanoFloors.blk" +INCLUDE "data/maps/headers/GiovannisRoom.asm" +INCLUDE "scripts/GiovannisRoom.asm" +INCLUDE "data/maps/objects/GiovannisRoom.asm" +GiovannisRoom_Blocks: INCBIN "maps/GiovannisRoom.blk" + SECTION "Maps 22", ROMX ; Made this because the previous bank was filled to max. INCLUDE "data/maps/headers/CeladonUniversityOutside.asm" diff --git a/maps/GiovannisRoom.blk b/maps/GiovannisRoom.blk new file mode 100644 index 00000000..fe968d84 --- /dev/null +++ b/maps/GiovannisRoom.blk @@ -0,0 +1 @@ +............@AABAAAAB..DoFnF..@*+B 55..D F GF..D F ''F..D F 59..D F'..HwEJ55..DF555..D^F*+AAB..DGGqF..S F..HIIJIIIIJ. \ No newline at end of file diff --git a/maps/RocketHideoutB1F.blk b/maps/RocketHideoutB1F.blk index adcceb52..18b02211 100644 --- a/maps/RocketHideoutB1F.blk +++ b/maps/RocketHideoutB1F.blk @@ -1 +1 @@ -............@AABAA@AB..DoF&nF..@*+B 55..D F GF..D F ''F..D F 59..D F'..HwEJ55..DF555..D,^F*+AAB..DGGqF..CS F..HIIJIIIIJ. \ No newline at end of file +.........@AAB...........DnoF......@AAAAcgAB....DF....@*+B  @*+B....DF  DF....DGGF  DGGF....F  F....@AAAAAABgB....444F,WJ....666F.......666F.......777oF.......HIIIIIIJ... \ No newline at end of file diff --git a/scripts/GameCorner.asm b/scripts/GameCorner.asm index 339b1ad9..04c8504e 100644 --- a/scripts/GameCorner.asm +++ b/scripts/GameCorner.asm @@ -15,7 +15,7 @@ CeladonGameCornerScript_48bcf: ldh a, [hRandomAdd] cp $7 jr nc, .asm_48be2 - ld a, $7 ; no longer makes the lucky machine a nonexistent one + ld a, $8 .asm_48be2 srl a srl a @@ -152,7 +152,7 @@ CeladonGameCornerText2: xor a ldh [hMoney], a ldh [hMoney + 2], a - ld a, $80 + ld a, $10 ldh [hMoney + 1], a call HasEnoughMoney jr nc, .asm_48cdb @@ -162,7 +162,7 @@ CeladonGameCornerText2: xor a ldh [hMoney], a ldh [hMoney + 2], a - ld a, $80 + ld a, $10 ldh [hMoney + 1], a ld hl, hMoney + 2 ld de, wPlayerMoney + 2 @@ -170,13 +170,12 @@ CeladonGameCornerText2: predef SubBCDPredef xor a ldh [hUnusedCoinsByte], a - ldh [hCoins + 1], a - ldh [hCoins + 2], a - ld a, $05 ldh [hCoins], a - ld de, wPlayerCoins + 2 - ld hl, hCoins + 2 - ld c, $3 + ld a, $50 + ldh [hCoins + 1], a + ld de, wPlayerCoins + 1 + ld hl, hCoins + 1 + ld c, $2 predef AddBCDPredef call CeladonGameCornerScript_48f1e ld hl, CeladonGameCornerText_48d27 diff --git a/scripts/GiovannisRoom.asm b/scripts/GiovannisRoom.asm new file mode 100644 index 00000000..2ba2e51b --- /dev/null +++ b/scripts/GiovannisRoom.asm @@ -0,0 +1,170 @@ +GiovannisRoom_Script: + call EnableAutoTextBoxDrawing + ld hl, GiovannisRoomTrainerHeaders + ld de, RocketHideoutB1F_ScriptPointers + ld a, [wRocketHideoutB1FCurScript] + call ExecuteCurMapScriptInTable + ld [wRocketHideoutB1FCurScript], a + ret + +GiovannisRoom_ScriptPointers: + dw GiovannisRoomScript0 + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + dw GiovannisRoomScript4 + +GiovannisRoomScript0: + ld a, [wYCoord] + ld b, a + ld a, [wXCoord] + ld c, a + ld hl, GiovannisRoomArrowTilePlayerMovement + call DecodeArrowMovementRLE + cp $ff + jp z, CheckFightingMapTrainers + ld hl, wd736 + set 7, [hl] + call StartSimulatingJoypadStates + ld a, SFX_ARROW_TILES + call PlaySound + ld a, $ff + ld [wJoyIgnore], a + ld a, $3 + ld [wCurMapScript], a + ret + +GiovannisRoomArrowTilePlayerMovement: + map_coord_movement 12, 16, GiovannisRoomArrowMovement1 + map_coord_movement 14, 15, GiovannisRoomArrowMovement2 + map_coord_movement 10, 15, GiovannisRoomArrowMovement3 + map_coord_movement 11, 14, GiovannisRoomArrowMovement4 + map_coord_movement 13, 8, GiovannisRoomArrowMovement5 + map_coord_movement 15, 8, GiovannisRoomArrowMovement7 + map_coord_movement 12, 9, GiovannisRoomArrowMovement8 + map_coord_movement 14, 9, GiovannisRoomArrowMovement9 + map_coord_movement 13, 10, GiovannisRoomArrowMovement10 + map_coord_movement 15, 10, GiovannisRoomArrowMovement11 + map_coord_movement 12, 11, GiovannisRoomArrowMovement12 + map_coord_movement 14, 11, GiovannisRoomArrowMovement13 + map_coord_movement 14, 5, GiovannisRoomArrowMovement14 + db -1 ; end + +GiovannisRoomArrowMovement1: + db D_UP, 2 + db -1 ; end + +GiovannisRoomArrowMovement2: + db D_UP, 9 + db D_LEFT, 4 + db -1 ; end + +GiovannisRoomArrowMovement3: + db D_UP, 9 + db -1 ; end + +GiovannisRoomArrowMovement4: + db D_RIGHT, 2 + db -1 ; end + +GiovannisRoomArrowMovement5: + db D_RIGHT, 3 + db D_DOWN, 2 + db D_RIGHT, 2 + db -1 ; end + +GiovannisRoomArrowMovement7: + db D_RIGHT, 3 + db D_DOWN, 2 + db -1 ; end + +GiovannisRoomArrowMovement8: + db D_UP, 1 + db D_RIGHT, 2 + db -1 ; end + +GiovannisRoomArrowMovement9: + db D_UP, 1 + db -1 ; end + +GiovannisRoomArrowMovement10: + db D_RIGHT, 5 + db -1 ; end + +GiovannisRoomArrowMovement11: + db D_RIGHT, 3 + db -1 ; end + +GiovannisRoomArrowMovement12: + db D_UP, 1 + db D_RIGHT, 2 + db D_UP, 2 + db -1 ; end + +GiovannisRoomArrowMovement13: + db D_UP, 3 + db -1 ; end + +GiovannisRoomArrowMovement14: + db D_RIGHT, 4 + db -1 ; end + +GiovannisRoomScript4: + ld a, [wSimulatedJoypadStatesIndex] + and a + jp nz, LoadSpinnerArrowTiles + xor a + ld [wJoyIgnore], a + ld hl, wd736 + res 7, [hl] + ld a, $0 + ld [wCurMapScript], a + ret + +GiovannisRoom_TextPointers: + dw GiovannisRoomText1 + dw GiovannisRoomText2 + dw GiovannisRoomText3 + dw GiovannisRoomText4 + dw PickUpItemText + dw PickUpItemText + dw GiovannisRoomText7 + +GiovannisRoomTrainerHeaders: + def_trainers +GiovannisRoomTrainerHeader0: + trainer EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0, 3, GiovannisRoomBattleText2, GiovannisRoomEndBattleText2, GiovannisRoomAfterBattleTxt2 + db -1 ; end + +GiovannisRoomText1: + text_far _GiovannisRoomText1 + text_end + +GiovannisRoomText2: + text_far _GiovannisRoomText2 + text_end + +GiovannisRoomText3: + text_far _GiovannisRoomText3 + text_end + +GiovannisRoomText4: + text_far _GiovannisRoomText4 + text_end + +GiovannisRoomText7: + text_asm + ld hl, GiovannisRoomTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +GiovannisRoomBattleText2: + text_far _GiovannisRoomBattleText2 + text_end + +GiovannisRoomEndBattleText2: + text_far _GiovannisRoomEndBattleText2 + text_end + +GiovannisRoomAfterBattleTxt2: + text_far _GiovannisRoomAfterBattleTxt2 + text_end \ No newline at end of file diff --git a/scripts/RocketHideoutB1F.asm b/scripts/RocketHideoutB1F.asm index 96fc8e2a..44964e14 100644 --- a/scripts/RocketHideoutB1F.asm +++ b/scripts/RocketHideoutB1F.asm @@ -1,5 +1,5 @@ RocketHideoutB1F_Script: - ;call RocketHideout1Script_44be0 + call RocketHideout1Script_44be0 call EnableAutoTextBoxDrawing ld hl, RocketHideout1TrainerHeaders ld de, RocketHideoutB1F_ScriptPointers @@ -8,186 +8,97 @@ RocketHideoutB1F_Script: ld [wRocketHideoutB1FCurScript], a ret -;RocketHideout1Script_44be0: -; ld hl, wCurrentMapScriptFlags -; bit 5, [hl] -; res 5, [hl] -; ret z -; CheckEvent EVENT_677 -; jr nz, .asm_44c01 -; CheckEventReuseA EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 -; jr nz, .asm_44bf7 -; ld a, $54 -; jr .asm_44c03 -;.asm_44bf7 -; ld a, SFX_GO_INSIDE -; call PlaySound -; CheckEventHL EVENT_677 -;.asm_44c01 -; ld a, $e -;.asm_44c03 -; ld [wNewTileBlockID], a -; lb bc, 8, 12 -; predef_jump ReplaceTileBlock +RocketHideout1Script_44be0: + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + ret z + CheckEvent EVENT_677 + jr nz, .asm_44c01 + CheckEventReuseA EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 + jr nz, .asm_44bf7 + ld a, $54 + jr .asm_44c03 +.asm_44bf7 + ld a, SFX_GO_INSIDE + call PlaySound + CheckEventHL EVENT_677 +.asm_44c01 + ld a, $e +.asm_44c03 + ld [wNewTileBlockID], a + lb bc, 8, 12 + predef_jump ReplaceTileBlock RocketHideoutB1F_ScriptPointers: - dw RocketHideout1Script0 + dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle - dw RocketHideout1Script4 - -RocketHideout1Script0: - ld a, [wYCoord] - ld b, a - ld a, [wXCoord] - ld c, a - ld hl, RocketHideout1ArrowTilePlayerMovement - call DecodeArrowMovementRLE - cp $ff - jp z, CheckFightingMapTrainers - ld hl, wd736 - set 7, [hl] - call StartSimulatingJoypadStates - ld a, SFX_ARROW_TILES - call PlaySound - ld a, $ff - ld [wJoyIgnore], a - ld a, $3 - ld [wCurMapScript], a - ret - -RocketHideout1ArrowTilePlayerMovement: - map_coord_movement 12, 16, RocketHideout1ArrowMovement1 - map_coord_movement 14, 15, RocketHideout1ArrowMovement2 - map_coord_movement 10, 15, RocketHideout1ArrowMovement3 - map_coord_movement 11, 14, RocketHideout1ArrowMovement4 - map_coord_movement 13, 8, RocketHideout1ArrowMovement5 - map_coord_movement 15, 8, RocketHideout1ArrowMovement7 - map_coord_movement 12, 9, RocketHideout1ArrowMovement8 - map_coord_movement 14, 9, RocketHideout1ArrowMovement9 - map_coord_movement 13, 10, RocketHideout1ArrowMovement10 - map_coord_movement 15, 10, RocketHideout1ArrowMovement11 - map_coord_movement 12, 11, RocketHideout1ArrowMovement12 - map_coord_movement 14, 11, RocketHideout1ArrowMovement13 - map_coord_movement 14, 5, RocketHideout1ArrowMovement14 - db -1 ; end - -RocketHideout1ArrowMovement1: - db D_UP, 2 - db -1 ; end - -RocketHideout1ArrowMovement2: - db D_UP, 9 - db D_LEFT, 4 - db -1 ; end - -RocketHideout1ArrowMovement3: - db D_UP, 9 - db -1 ; end - -RocketHideout1ArrowMovement4: - db D_RIGHT, 2 - db -1 ; end - -RocketHideout1ArrowMovement5: - db D_RIGHT, 3 - db D_DOWN, 2 - db D_RIGHT, 2 - db -1 ; end - -RocketHideout1ArrowMovement7: - db D_RIGHT, 3 - db D_DOWN, 2 - db -1 ; end - -RocketHideout1ArrowMovement8: - db D_UP, 1 - db D_RIGHT, 2 - db -1 ; end - -RocketHideout1ArrowMovement9: - db D_UP, 1 - db -1 ; end - -RocketHideout1ArrowMovement10: - db D_RIGHT, 5 - db -1 ; end - -RocketHideout1ArrowMovement11: - db D_RIGHT, 3 - db -1 ; end - -RocketHideout1ArrowMovement12: - db D_UP, 1 - db D_RIGHT, 2 - db D_UP, 2 - db -1 ; end - -RocketHideout1ArrowMovement13: - db D_UP, 3 - db -1 ; end - -RocketHideout1ArrowMovement14: - db D_RIGHT, 4 - db -1 ; end - -RocketHideout1Script4: - ld a, [wSimulatedJoypadStatesIndex] - and a - jp nz, LoadSpinnerArrowTiles - xor a - ld [wJoyIgnore], a - ld hl, wd736 - res 7, [hl] - ld a, $0 - ld [wCurMapScript], a - ret RocketHideoutB1F_TextPointers: dw RocketHideout1Text1 dw RocketHideout1Text2 dw RocketHideout1Text3 dw RocketHideout1Text4 + dw RocketHideout1Text5 dw PickUpItemText dw PickUpItemText - dw RocketHideout1Text7 RocketHideout1TrainerHeaders: def_trainers RocketHideout1TrainerHeader0: trainer EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0, 3, RocketHideout1BattleText2, RocketHideout1EndBattleText2, RocketHideout1AfterBattleTxt2 -;RocketHideout1TrainerHeader1: -; trainer EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_1, 2, RocketHideout1BattleText3, RocketHideout1EndBattleText3, RocketHideout1AfterBattleTxt3 -;RocketHideout1TrainerHeader2: -; trainer EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2, 2, RocketHideout1BattleText4, RocketHideout1EndBattleText4, RocketHideout1AfterBattleTxt4 -;RocketHideout1TrainerHeader3: -; trainer EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3, 3, RocketHideout1BattleText5, RocketHideout1EndBattleText5, RocketHideout1AfterBattleTxt5 -;RocketHideout1TrainerHeader4: -; trainer EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4, 3, RocketHideout1BattleText6, RocketHideout1EndBattleText6, RocketHideout1AfterBattleTxt6 +RocketHideout1TrainerHeader1: + trainer EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_1, 2, RocketHideout1BattleText3, RocketHideout1EndBattleText3, RocketHideout1AfterBattleTxt3 +RocketHideout1TrainerHeader2: + trainer EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2, 2, RocketHideout1BattleText4, RocketHideout1EndBattleText4, RocketHideout1AfterBattleTxt4 +RocketHideout1TrainerHeader3: + trainer EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3, 3, RocketHideout1BattleText5, RocketHideout1EndBattleText5, RocketHideout1AfterBattleTxt5 +RocketHideout1TrainerHeader4: + trainer EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4, 3, RocketHideout1BattleText6, RocketHideout1EndBattleText6, RocketHideout1AfterBattleTxt6 db -1 ; end RocketHideout1Text1: - text_far _RocketHideout1Text1 - text_end - -RocketHideout1Text2: - text_far _RocketHideout1Text2 - text_end - -RocketHideout1Text3: - text_far _RocketHideout1Text3 - text_end - -RocketHideout1Text4: - text_far _RocketHideout1Text4 - text_end - -RocketHideout1Text7: text_asm ld hl, RocketHideout1TrainerHeader0 call TalkToTrainer jp TextScriptEnd +RocketHideout1Text2: + text_asm + ld hl, RocketHideout1TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +RocketHideout1Text3: + text_asm + ld hl, RocketHideout1TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +RocketHideout1Text4: + text_asm + ld hl, RocketHideout1TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +RocketHideout1Text5: + text_asm + ld hl, RocketHideout1TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +RocketHideout1EndBattleText6: + text_far _RocketHideout1EndBattleText6 + text_asm + SetEvent EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 + ld hl, RocketHideout1Text_44c9f + ret + +RocketHideout1Text_44c9f: + text_promptbutton + text_end + RocketHideout1BattleText2: text_far _RocketHideout1BattleText2 text_end @@ -198,4 +109,48 @@ RocketHideout1EndBattleText2: RocketHideout1AfterBattleTxt2: text_far _RocketHideout1AfterBattleTxt2 - text_end \ No newline at end of file + text_end + +RocketHideout1BattleText3: + text_far _RocketHideout1BattleText3 + text_end + +RocketHideout1EndBattleText3: + text_far _RocketHideout1EndBattleText3 + text_end + +RocketHideout1AfterBattleTxt3: + text_far _RocketHideout1AfterBattleTxt3 + text_end + +RocketHideout1BattleText4: + text_far _RocketHideout1BattleText4 + text_end + +RocketHideout1EndBattleText4: + text_far _RocketHideout1EndBattleText4 + text_end + +RocketHideout1AfterBattleTxt4: + text_far _RocketHideout1AfterBattleTxt4 + text_end + +RocketHideout1BattleText5: + text_far _RocketHideout1BattleText5 + text_end + +RocketHideout1EndBattleText5: + text_far _RocketHideout1EndBattleText5 + text_end + +RocketHideout1AfterBattleTxt5: + text_far _RocketHideout1AfterBattleTxt5 + text_end + +RocketHideout1BattleText6: + text_far _RocketHideout1BattleText6 + text_end + +RocketHideout1AfterBattleTxt6: + text_far _RocketHideout1AfterBattleTxt6 + text_end diff --git a/text.asm b/text.asm index 93efeb02..a3b8031b 100644 --- a/text.asm +++ b/text.asm @@ -293,6 +293,7 @@ INCLUDE "text/CitrineMart.asm" INCLUDE "text/GarnetCavern1F.asm" INCLUDE "text/GarnetCavernB1F.asm" INCLUDE "text/GarnetCavern2F.asm" +INCLUDE "text/GiovannisRoom.asm" SECTION "Pokédex Text", ROMX diff --git a/text/GiovannisRoom.asm b/text/GiovannisRoom.asm new file mode 100644 index 00000000..dfcc5f4f --- /dev/null +++ b/text/GiovannisRoom.asm @@ -0,0 +1,109 @@ +_GiovannisRoomText1:: + text "MYSTERIES OF THE" + line "EARTH - GIOVANNI" + + para "In this book, I" + line "will reveal" + cont "RHYDON's" + cont "highest form." + + para "Its name is" + line "RHYPERIOR." + + para "However, it" + cont "cannot be" + cont "obtained with" + cont "items found in" + cont "KANTO." + + para "It needs an item" + line "called a" + cont "PROTECTOR." + + para "It unfortunately" + line "fails to address" + cont "RHYDON's poor" + cont "SPEED." + + para "Ergo, it cannot" + line "use my FISSURE" + cont "technique to" + cont "its complete" + cont "potential." + + done + +_GiovannisRoomText2:: + text "Aug 1st, 1975" + line "I managed to" + cont "get my first" + cont "#MON." + + para "It's a CHARMANDER!" + line "But...I have to" + cont "keep this a" + cont "secret from" + cont "mother." + + para "She would auction" + line "it off without a" + cont "second thought." + + para "CHARMANDER..." + + para "I will protect" + line "you!" + + done + +_GiovannisRoomText3:: + text "Various financial" + line "documents are" + cont "scattered on" + cont "the floor..." + + para "PROTECTOR: ¥3,000" + + para "GUARD SPEC: ¥4,200" + + para "DEVELOPMENT OF" + line "TM27: ¥15,000" + + para "Business: ¥100,000" + + para "It keeps going..." + + done + +_GiovannisRoomText4:: + text "It's a document" + line "about a failed" + cont "attempt to" + cont "capture MEW." + + para "It's dated..." + + para "1977?!" + + done + +_GiovannisRoomBattleText2:: + text "Hey! Intruders" + line "aren't welcome in" + cont "the BOSS's room!" + + para "I'm his last" + line "line of defence!" + done + +_GiovannisRoomEndBattleText2:: + text "Oww!" + line "Beaten!" + prompt + +_GiovannisRoomAfterBattleTxt2:: + text "What?! Are you" + line "serious? TEAM" + cont "ROCKET is" + cont "disbanding?" + done diff --git a/text/RocketHideoutB1F.asm b/text/RocketHideoutB1F.asm index 6eccbf4b..c4fcb4b1 100644 --- a/text/RocketHideoutB1F.asm +++ b/text/RocketHideoutB1F.asm @@ -1,116 +1,10 @@ -_RocketHideout1Text1:: - text "MYSTERIES OF THE" - line "EARTH - GIOVANNI" - - para "In this book, I" - line "will reveal the" - cont "existence of" - cont "RHYDON's highest" - cont "form." - - para "Its name is" - line "RHYPERIOR." - cont "However, it" - cont "cannot be" - cont "obtained with" - cont "items found in" - cont "KANTO." - - para "It needs an item" - line "called a" - cont "PROTECTOR. For" - cont "reasons I do" - cont "not understand," - cont "the PROTECTOR" - cont "resonates with" - cont "RHYDON when it" - cont "is traded." - - para "This is unlike" - line "any evolution" - cont "currently" - cont "understood in" - cont "KANTO." - - para "However, with" - line "enough force," - cont "RHYDON can evolve" - cont "successfully." - - para "It unfortunately" - line "fails to address" - cont "RHYDON's poor" - cont "SPEED." - - para "Ergo, it cannot" - line "use my FISSURE" - cont "technique to" - cont "its complete" - cont "potential." - - done - -_RocketHideout1Text2:: - text "Aug 1st, 1975" - line "I managed to" - cont "get my first" - cont "#MON." - - para "It's a CHARMANDER!" - line "But...I have to" - cont "keep this a" - cont "secret from" - cont "mother." - - para "She would auction" - line "it off without a" - cont "second thought." - - para "CHARMANDER..." - - para "I will protect" - line "you!" - - done - -_RocketHideout1Text3:: - text "Various financial" - line "documents are" - cont "scattered on" - cont "the floor..." - - para "PROTECTOR: ¥3,000" - - para "GUARD SPEC: ¥4,200" - - para "DEVELOPMENT OF" - line "TM26: ¥15,000" - - para "Business: ¥100,000" - - para "It keeps going..." - - done - -_RocketHideout1Text4:: - text "It's a document" - line "about a failed" - cont "attempt to" - cont "capture MEW." - - para "It's dated..." - - para "1977?!" - - done +_RocketHideout1EndBattleText6:: + text "Why...?@" + text_end _RocketHideout1BattleText2:: - text "Hey! Intruders" - line "aren't welcome in" - cont "the BOSS's room!" - - para "I'm his last" - line "line of defence!" + text "Who are you? How" + line "did you get here?" done _RocketHideout1EndBattleText2:: @@ -119,8 +13,62 @@ _RocketHideout1EndBattleText2:: prompt _RocketHideout1AfterBattleTxt2:: - text "What?! Are you" - line "serious? TEAM" - cont "ROCKET is" - cont "disbanding?" + text "Are you dissing" + line "TEAM ROCKET?" + done + +_RocketHideout1BattleText3:: + text "You broke into" + line "our operation?" + done + +_RocketHideout1EndBattleText3:: + text "Burnt!" + prompt + +_RocketHideout1AfterBattleTxt3:: + text "You're not going" + line "to get away with" + cont "this, brat!" + done + +_RocketHideout1BattleText4:: + text "Intruder alert!" + done + +_RocketHideout1EndBattleText4:: + text "I" + line "can't do it!" + prompt + +_RocketHideout1AfterBattleTxt4:: + text "SILPH SCOPE?" + line "I don't know" + cont "where it is!" + done + +_RocketHideout1BattleText5:: + text "Why did you come" + line "here?" + done + +_RocketHideout1EndBattleText5:: + text "This" + line "won't do!" + prompt + +_RocketHideout1AfterBattleTxt5:: + text "OK, I'll talk!" + line "Take the elevator" + cont "to see my BOSS!" + done + +_RocketHideout1BattleText6:: + text "Are you lost, you" + line "little rat?" + done + +_RocketHideout1AfterBattleTxt6:: + text "Uh-oh, that fight" + line "opened the door!" done