Refactor Giovanni's Room, restore Rocket Hideout B1F

With the way KEP is shaping up, the Rocket Hideout can easily stay with little issue. I don't expect it to be a problem at all. Therefore, in the interest of keeping Lavender Tower's progression the same, it's being restored. I do expect some Lavender Tower floors to be nommed, though.

I expect Silph to also be salvageable but I also really hate Silph.

Oh, also, the Game Corner guard has been buffed. He sucks. They call that a guard??
This commit is contained in:
Llinos Evans 2023-05-02 02:48:41 +01:00
parent d176c80055
commit abaff60797
22 changed files with 523 additions and 301 deletions

View file

@ -262,4 +262,6 @@ DEF SHOW EQU $15
const HS_MT_MOON_CRATER_ITEM_9 ; FA const HS_MT_MOON_CRATER_ITEM_9 ; FA
const HS_MT_MOON_CRATER_ITEM_10 ; FB const HS_MT_MOON_CRATER_ITEM_10 ; FB
const HS_MT_MOON_CRATER_ITEM_11 ; FC 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 DEF NUM_HS_OBJECTS EQU const_value

View file

@ -219,7 +219,7 @@ DEF FIRST_INDOOR_MAP EQU const_value
map_const VERMILION_TRADE_HOUSE, 4, 4 ; $C5 map_const VERMILION_TRADE_HOUSE, 4, 4 ; $C5
map_const DIGLETTS_CAVE, 20, 18 ; $C6 map_const DIGLETTS_CAVE, 20, 18 ; $C6
map_const VICTORY_ROAD_3F, 15, 9 ; $C7 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_B2F, 15, 14 ; $C9 - Currently unused
map_const ROCKET_HIDEOUT_B3F, 15, 14 ; $CA - Currently unused map_const ROCKET_HIDEOUT_B3F, 15, 14 ; $CA - Currently unused
map_const ROCKET_HIDEOUT_B4F, 15, 12 ; $CB - 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 BILLS_GARDEN, 10, 10 ; $F4 - Was UNUSED_MAP_F3
map_const LORELEIS_ROOM, 5, 6 ; $F5 map_const LORELEIS_ROOM, 5, 6 ; $F5
map_const BRUNOS_ROOM, 5, 6 ; $F6 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 CINNABAR_VOLCANO_FLOORS, 20, 20 ; $F8
map_const GIOVANNIS_ROOM, 11, 14 ; $F9
DEF NUM_MAPS EQU const_value DEF NUM_MAPS EQU const_value
; Indoor maps, such as houses, use this as the Map ID in their exit warps ; Indoor maps, such as houses, use this as the Map ID in their exit warps

View file

@ -0,0 +1,2 @@
map_header GiovannisRoom, GIOVANNIS_ROOM, FACILITY, 0
end_map_header

View file

@ -252,6 +252,7 @@ MapHSPointers:
dw NoHS dw NoHS
dw NoHS dw NoHS
dw NoHS dw NoHS
dw GiovannisRoomHS
assert_table_length NUM_MAPS assert_table_length NUM_MAPS
dw -1 ; end dw -1 ; end
@ -442,8 +443,8 @@ VictoryRoad3FHS:
db VICTORY_ROAD_3F, $06, SHOW ; HS_VICTORY_ROAD_3F_ITEM_2 db VICTORY_ROAD_3F, $06, SHOW ; HS_VICTORY_ROAD_3F_ITEM_2
db VICTORY_ROAD_3F, $0A, SHOW ; HS_VICTORY_ROAD_3F_BOULDER db VICTORY_ROAD_3F, $0A, SHOW ; HS_VICTORY_ROAD_3F_BOULDER
RocketHideoutB1FHS: RocketHideoutB1FHS:
db ROCKET_HIDEOUT_B1F, $05, SHOW ; HS_ROCKET_HIDEOUT_B1F_ITEM_1 db ROCKET_HIDEOUT_B1F, $06, SHOW
db ROCKET_HIDEOUT_B1F, $06, SHOW ; HS_ROCKET_HIDEOUT_B1F_ITEM_2 db ROCKET_HIDEOUT_B1F, $07, SHOW
RocketHideoutB2FHS: RocketHideoutB2FHS:
db ROCKET_HIDEOUT_B2F, $02, SHOW ; HS_ROCKET_HIDEOUT_B2F_ITEM_1 db ROCKET_HIDEOUT_B2F, $02, SHOW ; HS_ROCKET_HIDEOUT_B2F_ITEM_1
db ROCKET_HIDEOUT_B2F, $03, SHOW ; HS_ROCKET_HIDEOUT_B2F_ITEM_2 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, $09, SHOW ; HS_MT_MOON_CRATER_ITEM_9
db MT_MOON_CRATER, $0A, SHOW ; HS_MT_MOON_CRATER_ITEM_10 db MT_MOON_CRATER, $0A, SHOW ; HS_MT_MOON_CRATER_ITEM_10
db MT_MOON_CRATER, $0B, SHOW ; HS_MT_MOON_CRATER_ITEM_11 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 db $FF, $01, SHOW ; end
assert_table_length NUM_HS_OBJECTS + 1 assert_table_length NUM_HS_OBJECTS + 1

View file

@ -250,4 +250,5 @@ MapHeaderBanks::
db BANK(BrunosRoom_h) db BANK(BrunosRoom_h)
db BANK(AgathasRoom_h) db BANK(AgathasRoom_h)
db BANK(CinnabarVolcanoFloors_h) db BANK(CinnabarVolcanoFloors_h)
db BANK(GiovannisRoom_h)
assert_table_length NUM_MAPS assert_table_length NUM_MAPS

View file

@ -250,4 +250,5 @@ MapHeaderPointers::
dw BrunosRoom_h dw BrunosRoom_h
dw AgathasRoom_h dw AgathasRoom_h
dw CinnabarVolcanoFloors_h dw CinnabarVolcanoFloors_h
dw GiovannisRoom_h
assert_table_length NUM_MAPS assert_table_length NUM_MAPS

View file

@ -4,10 +4,10 @@ GameCorner_Object:
def_warp_events def_warp_events
warp_event 15, 17, LAST_MAP, 8 warp_event 15, 17, LAST_MAP, 8
warp_event 16, 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 def_bg_events
; bg_event 9, 4, 12 ; CeladonGameCornerText12 bg_event 9, 4, 12 ; CeladonGameCornerText12
def_object_events def_object_events
object_event 2, 6, SPRITE_BEAUTY, STAY, DOWN, 1 ; person 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 11, 15, SPRITE_GAMBLER, STAY, RIGHT, 8 ; person
object_event 14, 11, SPRITE_CLERK, STAY, LEFT, 9 ; person object_event 14, 11, SPRITE_CLERK, STAY, LEFT, 9 ; person
object_event 17, 13, SPRITE_GENTLEMAN, STAY, RIGHT, 10 ; 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 def_warps_to GAME_CORNER

View file

@ -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

View file

@ -2,18 +2,21 @@ RocketHideoutB1F_Object:
db $2e ; border block db $2e ; border block
def_warp_events def_warp_events
warp_event 5, 4, VIRIDIAN_GYM, 3 warp_event 23, 2, ROCKET_HIDEOUT_B2F, 1
warp_event 17, 4, VIRIDIAN_CITY, 6 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_bg_events
def_object_events def_object_events
object_event 4, 22, SPRITE_PAPER, STAY, DOWN, 1 object_event 26, 8, SPRITE_ROCKET, STAY, LEFT, 1, OPP_ROCKET, 8
object_event 17, 8, SPRITE_PAPER, STAY, RIGHT, 2 object_event 12, 6, SPRITE_ROCKET, STAY, RIGHT, 2, OPP_ROCKET, 9
object_event 17, 15, SPRITE_PAPER, STAY, DOWN, 3 object_event 18, 17, SPRITE_ROCKET, STAY, DOWN, 3, OPP_ROCKET, 10
object_event 8, 16, SPRITE_PAPER, STAY, RIGHT, 4 object_event 15, 25, SPRITE_ROCKET, STAY, RIGHT, 4, OPP_ROCKET, 11
object_event 17, 22, SPRITE_POKE_BALL, STAY, NONE, 5, TM_EARTHQUAKE object_event 28, 18, SPRITE_ROCKET, STAY, LEFT, 5, OPP_ROCKET, 12
object_event 7, 22, SPRITE_POKE_BALL, STAY, NONE, 6, PROTECTOR object_event 11, 14, SPRITE_POKE_BALL, STAY, NONE, 6, ESCAPE_ROPE
object_event 6, 17, SPRITE_ROCKET, STAY, LEFT, 7, OPP_ROCKET, 8 object_event 9, 17, SPRITE_POKE_BALL, STAY, NONE, 7, HYPER_POTION
def_warps_to ROCKET_HIDEOUT_B1F def_warps_to ROCKET_HIDEOUT_B1F

View file

@ -4,7 +4,7 @@ ViridianGym_Object:
def_warp_events def_warp_events
warp_event 16, 17, LAST_MAP, 5 ; front door warp_event 16, 17, LAST_MAP, 5 ; front door
warp_event 17, 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 def_bg_events

View file

@ -249,4 +249,5 @@ MapSongBanks::
db MUSIC_DUNGEON1, 0 ; BRUNOS_ROOM db MUSIC_DUNGEON1, 0 ; BRUNOS_ROOM
db MUSIC_POKEMON_TOWER, 0 ; AGATHAS_ROOM db MUSIC_POKEMON_TOWER, 0 ; AGATHAS_ROOM
db MUSIC_DUNGEON3, 0 ; CINNABAR_VOLCANO_FLOORS db MUSIC_DUNGEON3, 0 ; CINNABAR_VOLCANO_FLOORS
db MUSIC_DUNGEON2, 0 ; GIOVANNIS_ROOM
assert_table_length NUM_MAPS assert_table_length NUM_MAPS

View file

@ -532,7 +532,7 @@ RocketData: ; restoring these so undefined stuff isn't pulled RIGHT NOW
; Route 24 ; Route 24
db 15, EKANS, ZUBAT, 0 db 15, EKANS, ZUBAT, 0
; Game Corner ; Game Corner
db 20, RATICATE, ZUBAT, 0 db 22, ZUBAT, KOFFING, RATICATE, ARBOK, 0
; Rocket Hideout B1F ; Rocket Hideout B1F
db 42, HYPNO, WEEZING, ARBOK, 0 db 42, HYPNO, WEEZING, ARBOK, 0
; Rocket Hideout B1F - all now unused ; Rocket Hideout B1F - all now unused

View file

@ -249,6 +249,7 @@ WildDataPointers:
dw NothingWildMons dw NothingWildMons
dw NothingWildMons dw NothingWildMons
dw CinnabarVolcanoFloorsWildMons dw CinnabarVolcanoFloorsWildMons
dw NothingWildMons
assert_table_length NUM_MAPS assert_table_length NUM_MAPS
dw -1 ; end dw -1 ; end

View file

@ -1255,6 +1255,11 @@ INCLUDE "scripts/CinnabarVolcanoFloors.asm"
INCLUDE "data/maps/objects/CinnabarVolcanoFloors.asm" INCLUDE "data/maps/objects/CinnabarVolcanoFloors.asm"
CinnabarVolcanoFloors_Blocks: INCBIN "maps/CinnabarVolcanoFloors.blk" 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. SECTION "Maps 22", ROMX ; Made this because the previous bank was filled to max.
INCLUDE "data/maps/headers/CeladonUniversityOutside.asm" INCLUDE "data/maps/headers/CeladonUniversityOutside.asm"

1
maps/GiovannisRoom.blk Normal file
View file

@ -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.

View file

@ -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. .........@AAB...........DnoF......@AAAAcgAB....DF....@*+B  @*+B....DF  DF....DGGF  DGGF....F  F....@AAAAAABgB....444F,WJ....666F.......666F.......777oF.......HIIIIIIJ...

View file

@ -15,7 +15,7 @@ CeladonGameCornerScript_48bcf:
ldh a, [hRandomAdd] ldh a, [hRandomAdd]
cp $7 cp $7
jr nc, .asm_48be2 jr nc, .asm_48be2
ld a, $7 ; no longer makes the lucky machine a nonexistent one ld a, $8
.asm_48be2 .asm_48be2
srl a srl a
srl a srl a
@ -152,7 +152,7 @@ CeladonGameCornerText2:
xor a xor a
ldh [hMoney], a ldh [hMoney], a
ldh [hMoney + 2], a ldh [hMoney + 2], a
ld a, $80 ld a, $10
ldh [hMoney + 1], a ldh [hMoney + 1], a
call HasEnoughMoney call HasEnoughMoney
jr nc, .asm_48cdb jr nc, .asm_48cdb
@ -162,7 +162,7 @@ CeladonGameCornerText2:
xor a xor a
ldh [hMoney], a ldh [hMoney], a
ldh [hMoney + 2], a ldh [hMoney + 2], a
ld a, $80 ld a, $10
ldh [hMoney + 1], a ldh [hMoney + 1], a
ld hl, hMoney + 2 ld hl, hMoney + 2
ld de, wPlayerMoney + 2 ld de, wPlayerMoney + 2
@ -170,13 +170,12 @@ CeladonGameCornerText2:
predef SubBCDPredef predef SubBCDPredef
xor a xor a
ldh [hUnusedCoinsByte], a ldh [hUnusedCoinsByte], a
ldh [hCoins + 1], a
ldh [hCoins + 2], a
ld a, $05
ldh [hCoins], a ldh [hCoins], a
ld de, wPlayerCoins + 2 ld a, $50
ld hl, hCoins + 2 ldh [hCoins + 1], a
ld c, $3 ld de, wPlayerCoins + 1
ld hl, hCoins + 1
ld c, $2
predef AddBCDPredef predef AddBCDPredef
call CeladonGameCornerScript_48f1e call CeladonGameCornerScript_48f1e
ld hl, CeladonGameCornerText_48d27 ld hl, CeladonGameCornerText_48d27

170
scripts/GiovannisRoom.asm Normal file
View file

@ -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

View file

@ -1,5 +1,5 @@
RocketHideoutB1F_Script: RocketHideoutB1F_Script:
;call RocketHideout1Script_44be0 call RocketHideout1Script_44be0
call EnableAutoTextBoxDrawing call EnableAutoTextBoxDrawing
ld hl, RocketHideout1TrainerHeaders ld hl, RocketHideout1TrainerHeaders
ld de, RocketHideoutB1F_ScriptPointers ld de, RocketHideoutB1F_ScriptPointers
@ -8,186 +8,97 @@ RocketHideoutB1F_Script:
ld [wRocketHideoutB1FCurScript], a ld [wRocketHideoutB1FCurScript], a
ret ret
;RocketHideout1Script_44be0: RocketHideout1Script_44be0:
; ld hl, wCurrentMapScriptFlags ld hl, wCurrentMapScriptFlags
; bit 5, [hl] bit 5, [hl]
; res 5, [hl] res 5, [hl]
; ret z ret z
; CheckEvent EVENT_677 CheckEvent EVENT_677
; jr nz, .asm_44c01 jr nz, .asm_44c01
; CheckEventReuseA EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 CheckEventReuseA EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4
; jr nz, .asm_44bf7 jr nz, .asm_44bf7
; ld a, $54 ld a, $54
; jr .asm_44c03 jr .asm_44c03
;.asm_44bf7 .asm_44bf7
; ld a, SFX_GO_INSIDE ld a, SFX_GO_INSIDE
; call PlaySound call PlaySound
; CheckEventHL EVENT_677 CheckEventHL EVENT_677
;.asm_44c01 .asm_44c01
; ld a, $e ld a, $e
;.asm_44c03 .asm_44c03
; ld [wNewTileBlockID], a ld [wNewTileBlockID], a
; lb bc, 8, 12 lb bc, 8, 12
; predef_jump ReplaceTileBlock predef_jump ReplaceTileBlock
RocketHideoutB1F_ScriptPointers: RocketHideoutB1F_ScriptPointers:
dw RocketHideout1Script0 dw CheckFightingMapTrainers
dw DisplayEnemyTrainerTextAndStartBattle dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle 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: RocketHideoutB1F_TextPointers:
dw RocketHideout1Text1 dw RocketHideout1Text1
dw RocketHideout1Text2 dw RocketHideout1Text2
dw RocketHideout1Text3 dw RocketHideout1Text3
dw RocketHideout1Text4 dw RocketHideout1Text4
dw RocketHideout1Text5
dw PickUpItemText dw PickUpItemText
dw PickUpItemText dw PickUpItemText
dw RocketHideout1Text7
RocketHideout1TrainerHeaders: RocketHideout1TrainerHeaders:
def_trainers def_trainers
RocketHideout1TrainerHeader0: RocketHideout1TrainerHeader0:
trainer EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0, 3, RocketHideout1BattleText2, RocketHideout1EndBattleText2, RocketHideout1AfterBattleTxt2 trainer EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0, 3, RocketHideout1BattleText2, RocketHideout1EndBattleText2, RocketHideout1AfterBattleTxt2
;RocketHideout1TrainerHeader1: RocketHideout1TrainerHeader1:
; trainer EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_1, 2, RocketHideout1BattleText3, RocketHideout1EndBattleText3, RocketHideout1AfterBattleTxt3 trainer EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_1, 2, RocketHideout1BattleText3, RocketHideout1EndBattleText3, RocketHideout1AfterBattleTxt3
;RocketHideout1TrainerHeader2: RocketHideout1TrainerHeader2:
; trainer EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2, 2, RocketHideout1BattleText4, RocketHideout1EndBattleText4, RocketHideout1AfterBattleTxt4 trainer EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2, 2, RocketHideout1BattleText4, RocketHideout1EndBattleText4, RocketHideout1AfterBattleTxt4
;RocketHideout1TrainerHeader3: RocketHideout1TrainerHeader3:
; trainer EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3, 3, RocketHideout1BattleText5, RocketHideout1EndBattleText5, RocketHideout1AfterBattleTxt5 trainer EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3, 3, RocketHideout1BattleText5, RocketHideout1EndBattleText5, RocketHideout1AfterBattleTxt5
;RocketHideout1TrainerHeader4: RocketHideout1TrainerHeader4:
; trainer EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4, 3, RocketHideout1BattleText6, RocketHideout1EndBattleText6, RocketHideout1AfterBattleTxt6 trainer EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4, 3, RocketHideout1BattleText6, RocketHideout1EndBattleText6, RocketHideout1AfterBattleTxt6
db -1 ; end db -1 ; end
RocketHideout1Text1: 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 text_asm
ld hl, RocketHideout1TrainerHeader0 ld hl, RocketHideout1TrainerHeader0
call TalkToTrainer call TalkToTrainer
jp TextScriptEnd 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: RocketHideout1BattleText2:
text_far _RocketHideout1BattleText2 text_far _RocketHideout1BattleText2
text_end text_end
@ -198,4 +109,48 @@ RocketHideout1EndBattleText2:
RocketHideout1AfterBattleTxt2: RocketHideout1AfterBattleTxt2:
text_far _RocketHideout1AfterBattleTxt2 text_far _RocketHideout1AfterBattleTxt2
text_end 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

View file

@ -293,6 +293,7 @@ INCLUDE "text/CitrineMart.asm"
INCLUDE "text/GarnetCavern1F.asm" INCLUDE "text/GarnetCavern1F.asm"
INCLUDE "text/GarnetCavernB1F.asm" INCLUDE "text/GarnetCavernB1F.asm"
INCLUDE "text/GarnetCavern2F.asm" INCLUDE "text/GarnetCavern2F.asm"
INCLUDE "text/GiovannisRoom.asm"
SECTION "Pokédex Text", ROMX SECTION "Pokédex Text", ROMX

109
text/GiovannisRoom.asm Normal file
View file

@ -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

View file

@ -1,116 +1,10 @@
_RocketHideout1Text1:: _RocketHideout1EndBattleText6::
text "MYSTERIES OF THE" text "Why...?@"
line "EARTH - GIOVANNI" text_end
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
_RocketHideout1BattleText2:: _RocketHideout1BattleText2::
text "Hey! Intruders" text "Who are you? How"
line "aren't welcome in" line "did you get here?"
cont "the BOSS's room!"
para "I'm his last"
line "line of defence!"
done done
_RocketHideout1EndBattleText2:: _RocketHideout1EndBattleText2::
@ -119,8 +13,62 @@ _RocketHideout1EndBattleText2::
prompt prompt
_RocketHideout1AfterBattleTxt2:: _RocketHideout1AfterBattleTxt2::
text "What?! Are you" text "Are you dissing"
line "serious? TEAM" line "TEAM ROCKET?"
cont "ROCKET is" done
cont "disbanding?"
_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 done