mirror of
https://github.com/thornAvery/kep-hack.git
synced 2026-02-20 22:28:41 +13:00
The Big One.
Whoa, this one's been in the making for a while now. This one has been my attempt to fix as much as I could within a little over a month. Here's what I've got for you. - Fixed a bug in Silph Gauntlet where the trainers would not see you unless you spoke to them - Removed the unnecessary Gawarhed and Wugtrio static encounters. In what was once Gawarhed's place is a Rare Candy. - Implemented a working ferry system (huge thanks to Red++) that allows travelling to Faraway Island and Citrine City with the right tickets. Currently both maps use a copy of the SS Anne, which may be revised later. - Bittybat, Magnetite and Burgela have been removed to fix a Pokedex bug where entries wouldn't display correctly if the total number wasn't a multiple of 8. - Fixed a bug where fishing up a Wiglett and Wugtrio would play the trainer battle and Champion battle themes respectively - Restructured the Pokedex a little. Don't worry, Lickitung's still number 108! - All references to betamon in the disassembly have had their names updated to match the new Ogasawara ones - Removed Blastyke as a Game Corner prize, replacing it with Squeamata. - Garnet Cavern is now properly listed as a dungeon map - Fixed an issue where trying to leave Bill's House after entering the garden would put you back in the garden - Moved Silph Gauntlet's Beauty down 1 floor to make the number of trainers on each floor more consistent - Finished Gauntlet 6F except for the trainer text (PvK please help) - Gavillain's stats updated to match KEP 1.4 on the Showdown server. It's now a Dragon/Electric type with less Ice coverage. - Fixed Clefable's and Wigglytuff's starting movesets from an earlier commit - Fixed an ABSOLUTELY HORRIBLE, EGREGIOUSLY FRUSTRATING BUG that caused the Pokedex's seen counter to rarely update. This is what caused this commit to be delayed for so long. No joke. - New sprites, courtesy of Albatross, for Sylveon's back sprite, Alolan Marowak, Alolan Muk, Galarian Weezing and Magnezone! - Fixed a bug preventing the trade for Haunter from being accessed.
This commit is contained in:
parent
57186bb2a0
commit
508a4e790e
246 changed files with 2446 additions and 2384 deletions
|
|
@ -144,7 +144,7 @@ FakeTreeEvent:
|
|||
CactusBattleText:
|
||||
text_far _FakeTreeAttack
|
||||
text_asm
|
||||
ld a, CACTUS
|
||||
ld a, CACTORMUS
|
||||
call PlayCry
|
||||
call WaitForSoundToFinish
|
||||
jp TextScriptEnd
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ Lab4Text_75dd5:
|
|||
|
||||
Lab4Text2:
|
||||
text_asm
|
||||
ld a, TRADE_FOR_JIMBO
|
||||
ld a, TRADE_FOR_MICHELLE
|
||||
ld [wWhichTrade], a
|
||||
predef DoInGameTradeDialogue
|
||||
jp TextScriptEnd
|
||||
|
|
|
|||
6
scripts/CitrineFerryDock.asm
Normal file
6
scripts/CitrineFerryDock.asm
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
CitrineFerryDock_Script:
|
||||
jp EnableAutoTextBoxDrawing
|
||||
|
||||
CitrineFerryDock_TextPointers:
|
||||
|
||||
text_end
|
||||
|
|
@ -1,36 +1,6 @@
|
|||
DiglettsCave_Script:
|
||||
call EnableAutoTextBoxDrawing
|
||||
ld hl, DiglettsCaveTrainerHeaders
|
||||
ld de, DiglettsCave_ScriptPointers
|
||||
ld a, [wDiglettsCaveCurScript]
|
||||
call ExecuteCurMapScriptInTable
|
||||
ld [wDiglettsCaveCurScript], a
|
||||
ret
|
||||
|
||||
DiglettsCave_ScriptPointers:
|
||||
dw CheckFightingMapTrainers
|
||||
dw DisplayEnemyTrainerTextAndStartBattle
|
||||
dw EndTrainerBattle
|
||||
jp EnableAutoTextBoxDrawing
|
||||
|
||||
DiglettsCave_TextPointers:
|
||||
dw WugtrioText
|
||||
|
||||
DiglettsCaveTrainerHeaders:
|
||||
def_trainers
|
||||
WugtrioTrainerHeader:
|
||||
trainer EVENT_BEAT_WUGTRIO, 0, WugtrioBattleText, WugtrioBattleText, WugtrioBattleText
|
||||
db -1 ; end
|
||||
|
||||
WugtrioText:
|
||||
text_asm
|
||||
ld hl, WugtrioTrainerHeader
|
||||
call TalkToTrainer
|
||||
jp TextScriptEnd
|
||||
|
||||
WugtrioBattleText:
|
||||
text_far _WugtrioBattleText
|
||||
text_asm
|
||||
ld a, WUGTRIO
|
||||
call PlayCry
|
||||
call WaitForSoundToFinish
|
||||
jp TextScriptEnd
|
||||
text_end ; unused
|
||||
|
|
|
|||
|
|
@ -1,16 +1,8 @@
|
|||
GiovannisRoom_Script:
|
||||
call EnableAutoTextBoxDrawing
|
||||
ld hl, GiovannisRoomTrainerHeaders
|
||||
ld de, RocketHideoutB1F_ScriptPointers
|
||||
ld a, [wRocketHideoutB1FCurScript]
|
||||
call ExecuteCurMapScriptInTable
|
||||
ld [wRocketHideoutB1FCurScript], a
|
||||
ret
|
||||
jp EnableAutoTextBoxDrawing
|
||||
|
||||
GiovannisRoom_ScriptPointers:
|
||||
dw GiovannisRoomScript0
|
||||
dw DisplayEnemyTrainerTextAndStartBattle
|
||||
dw EndTrainerBattle
|
||||
dw GiovannisRoomScript4
|
||||
|
||||
GiovannisRoomScript0:
|
||||
|
|
@ -127,13 +119,6 @@ GiovannisRoom_TextPointers:
|
|||
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
|
||||
|
|
@ -150,21 +135,3 @@ GiovannisRoomText3:
|
|||
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
|
||||
|
|
@ -164,7 +164,7 @@ ResetLegendaryPokemon:
|
|||
; Omega is special.
|
||||
; If Omega wasn't caught, it'll be available in the empty room of Silph Co. 11F.
|
||||
; In my mind, Omega was sent there, pending eventual scrapping for spare parts.
|
||||
ld a, DEX_OMEGA
|
||||
ld a, DEX_OMEGADGE
|
||||
call HoFIsPokemonBitSet
|
||||
jr nz, .skipOmega
|
||||
ResetEvent EVENT_BEAT_OMEGA ; Reusing the old event - it's completely free to use.
|
||||
|
|
|
|||
47
scripts/SeagallopFerry.asm
Normal file
47
scripts/SeagallopFerry.asm
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
; All credit to Mateo's Pokemon Red++
|
||||
|
||||
SeagallopFerry_Script: ; setup the stuff when you walk inside
|
||||
ld hl, wCurrentMapScriptFlags
|
||||
bit 5, [hl]
|
||||
res 5, [hl]
|
||||
push hl
|
||||
call nz, SeagallopFerry_GetLastWarp
|
||||
pop hl
|
||||
bit 7, [hl]
|
||||
res 7, [hl]
|
||||
call nz, SeagallopFerry_ShakeElevator
|
||||
xor a
|
||||
ld [wAutoTextBoxDrawingControl], a
|
||||
inc a
|
||||
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
|
||||
ret
|
||||
|
||||
SeagallopFerry_GetLastWarp:
|
||||
ld hl, wWarpEntries
|
||||
ld a, [wWarpedFromWhichWarp] ; last warped number
|
||||
ld b, a
|
||||
ld a, [wWarpedFromWhichMap] ; last warped map
|
||||
ld c, a
|
||||
call SeagallopFerry_ApplyWarpData
|
||||
|
||||
SeagallopFerry_ApplyWarpData:
|
||||
inc hl
|
||||
inc hl
|
||||
ld a, b
|
||||
ld [hli], a
|
||||
ld a, c
|
||||
ld [hli], a
|
||||
ret
|
||||
|
||||
SeagallopFerry_ShakeElevator:
|
||||
ld b, BANK(ShakeElevatorFerry)
|
||||
ld hl, ShakeElevatorFerry
|
||||
jp Bankswitch
|
||||
|
||||
SeagallopFerry_TextPointers:
|
||||
dw SeagallopFerryText1
|
||||
|
||||
SeagallopFerryText1:
|
||||
text_asm
|
||||
farcall EventIslandsFerryScript
|
||||
jp TextScriptEnd
|
||||
|
|
@ -72,7 +72,7 @@ SilphCo11Script_6217b:
|
|||
ld a, $7
|
||||
ldh [hSpriteIndex], a ; TODO: Make Omega look at the player.
|
||||
call MoveOmegaSprite
|
||||
ld a, OMEGA
|
||||
ld a, OMEGADGE
|
||||
ld [wcf91], a
|
||||
call PlayCry
|
||||
ld a, SFX_STOP_ALL_MUSIC
|
||||
|
|
@ -93,7 +93,7 @@ SilphCo11ScriptOmegaBattle:
|
|||
ld a, 11
|
||||
ldh [hSpriteIndexOrTextID], a
|
||||
call DisplayTextID
|
||||
ld a, OMEGA
|
||||
ld a, OMEGADGE
|
||||
ld [wCurOpponent], a
|
||||
ld a, 40
|
||||
ld [wCurEnemyLVL], a
|
||||
|
|
@ -165,16 +165,16 @@ MissableObjectIDs_6219b:
|
|||
db HS_SAFFRON_CITY_E
|
||||
db HS_SILPH_CO_3F_1
|
||||
db HS_SILPH_CO_3F_2
|
||||
db HS_SILPH_CO_4F_1
|
||||
db HS_SILPH_CO_4F_2
|
||||
db HS_SILPH_CO_4F_3
|
||||
;db HS_SILPH_CO_4F_1
|
||||
;db HS_SILPH_CO_4F_2
|
||||
;db HS_SILPH_CO_4F_3
|
||||
db HS_SILPH_CO_5F_1
|
||||
db HS_SILPH_CO_5F_2
|
||||
db HS_SILPH_CO_5F_3
|
||||
db HS_SILPH_CO_5F_4
|
||||
db HS_SILPH_CO_6F_1
|
||||
db HS_SILPH_CO_6F_2
|
||||
db HS_SILPH_CO_6F_3
|
||||
;db HS_SILPH_CO_6F_1
|
||||
;db HS_SILPH_CO_6F_2
|
||||
;db HS_SILPH_CO_6F_3
|
||||
db HS_SILPH_CO_7F_1
|
||||
db HS_SILPH_CO_7F_2
|
||||
db HS_SILPH_CO_7F_3
|
||||
|
|
@ -630,16 +630,16 @@ SaffronCityRockets:
|
|||
db HS_SAFFRON_CITY_E
|
||||
db HS_SILPH_CO_3F_1
|
||||
db HS_SILPH_CO_3F_2
|
||||
db HS_SILPH_CO_4F_1
|
||||
db HS_SILPH_CO_4F_2
|
||||
db HS_SILPH_CO_4F_3
|
||||
;db HS_SILPH_CO_4F_1
|
||||
;db HS_SILPH_CO_4F_2
|
||||
;db HS_SILPH_CO_4F_3
|
||||
db HS_SILPH_CO_5F_1
|
||||
db HS_SILPH_CO_5F_2
|
||||
db HS_SILPH_CO_5F_3
|
||||
db HS_SILPH_CO_5F_4
|
||||
db HS_SILPH_CO_6F_1
|
||||
db HS_SILPH_CO_6F_2
|
||||
db HS_SILPH_CO_6F_3
|
||||
;db HS_SILPH_CO_6F_1
|
||||
;db HS_SILPH_CO_6F_2
|
||||
;db HS_SILPH_CO_6F_3
|
||||
db HS_SILPH_CO_7F_1
|
||||
db HS_SILPH_CO_7F_2
|
||||
db HS_SILPH_CO_7F_3
|
||||
|
|
@ -802,7 +802,7 @@ Omega2Text:
|
|||
Omega2BattleText:
|
||||
text_far _OmegaBattleText
|
||||
text_asm
|
||||
ld a, OMEGA
|
||||
ld a, OMEGADGE
|
||||
call PlayCry
|
||||
call WaitForSoundToFinish
|
||||
jp TextScriptEnd
|
||||
|
|
|
|||
|
|
@ -37,6 +37,42 @@ SilphCo3GateCoords:
|
|||
dbmapcoord 8, 4
|
||||
db -1 ; end
|
||||
|
||||
SilphCo2Script_59d43:
|
||||
push hl
|
||||
ld hl, wCardKeyDoorY
|
||||
ld a, [hli]
|
||||
ld b, a
|
||||
ld a, [hl]
|
||||
ld c, a
|
||||
xor a
|
||||
ldh [hUnlockedSilphCoDoors], a
|
||||
pop hl
|
||||
.asm_59d4f
|
||||
ld a, [hli]
|
||||
cp $ff
|
||||
jr z, .asm_59d6b
|
||||
push hl
|
||||
ld hl, hUnlockedSilphCoDoors
|
||||
inc [hl]
|
||||
pop hl
|
||||
cp b
|
||||
jr z, .asm_59d60
|
||||
inc hl
|
||||
jr .asm_59d4f
|
||||
.asm_59d60
|
||||
ld a, [hli]
|
||||
cp c
|
||||
jr nz, .asm_59d4f
|
||||
ld hl, wCardKeyDoorY
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
ret
|
||||
.asm_59d6b
|
||||
xor a
|
||||
ldh [hUnlockedSilphCoDoors], a
|
||||
ret
|
||||
|
||||
SilphCo3Script_59fad:
|
||||
EventFlagAddress hl, EVENT_SILPH_CO_3_UNLOCKED_DOOR1
|
||||
ldh a, [hUnlockedSilphCoDoors]
|
||||
|
|
|
|||
|
|
@ -47,6 +47,42 @@ SilphCo5GateCoords:
|
|||
dbmapcoord 7, 5
|
||||
db -1 ; end
|
||||
|
||||
SilphCo4Script_19d5d:
|
||||
push hl
|
||||
ld hl, wCardKeyDoorY
|
||||
ld a, [hli]
|
||||
ld b, a
|
||||
ld a, [hl]
|
||||
ld c, a
|
||||
xor a
|
||||
ldh [hUnlockedSilphCoDoors], a
|
||||
pop hl
|
||||
.asm_19d69
|
||||
ld a, [hli]
|
||||
cp $ff
|
||||
jr z, .asm_19d85
|
||||
push hl
|
||||
ld hl, hUnlockedSilphCoDoors
|
||||
inc [hl]
|
||||
pop hl
|
||||
cp b
|
||||
jr z, .asm_19d7a
|
||||
inc hl
|
||||
jr .asm_19d69
|
||||
.asm_19d7a
|
||||
ld a, [hli]
|
||||
cp c
|
||||
jr nz, .asm_19d69
|
||||
ld hl, wCardKeyDoorY
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
ret
|
||||
.asm_19d85
|
||||
xor a
|
||||
ldh [hUnlockedSilphCoDoors], a
|
||||
ret
|
||||
|
||||
SilphCo5Script_19f9e:
|
||||
EventFlagAddress hl, EVENT_SILPH_CO_5_UNLOCKED_DOOR1
|
||||
ldh a, [hUnlockedSilphCoDoors]
|
||||
|
|
@ -95,6 +131,16 @@ SilphCo5TrainerHeader3:
|
|||
trainer EVENT_BEAT_SILPH_CO_5F_TRAINER_3, 3, SilphCo5BattleText5, SilphCo5EndBattleText5, SilphCo5AfterBattleText5
|
||||
db -1 ; end
|
||||
|
||||
SilphCo6Script_1a22f:
|
||||
CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
|
||||
jr nz, .asm_1a238
|
||||
jr .asm_1a23a
|
||||
.asm_1a238
|
||||
ld h, d
|
||||
ld l, e
|
||||
.asm_1a23a
|
||||
jp PrintText
|
||||
|
||||
SilphCo5Text1:
|
||||
text_asm
|
||||
ld hl, SilphCo5Text_1a010
|
||||
|
|
|
|||
|
|
@ -59,11 +59,11 @@ SilphCoElevatorFloors:
|
|||
SilphCoElevatorWarpMaps:
|
||||
; warp number, map id
|
||||
db 3, SILPH_CO_1F
|
||||
db 2, SILPH_CO_2F
|
||||
;db 2, SILPH_CO_2F
|
||||
db 2, SILPH_CO_3F
|
||||
db 2, SILPH_CO_4F
|
||||
;db 2, SILPH_CO_4F
|
||||
db 2, SILPH_CO_5F
|
||||
db 2, SILPH_CO_6F
|
||||
;db 2, SILPH_CO_6F
|
||||
db 2, SILPH_CO_7F
|
||||
;db 2, SILPH_CO_8F
|
||||
db 2, SILPH_CO_9F
|
||||
|
|
|
|||
|
|
@ -21,17 +21,17 @@ SilphGauntlet2F_TextPointers:
|
|||
dw SilphGauntlet2FText6
|
||||
|
||||
SilphGauntlet2FTrainerHeaders:
|
||||
def_trainers 7
|
||||
def_trainers
|
||||
SilphGauntlet2FTrainerHeader0:
|
||||
trainer EVENT_BEAT_GAUNTLET_LASS, 2, SilphGauntlet2FBattleText1, SilphGauntlet2FEndBattleText1, SilphGauntlet2FAfterBattleText1
|
||||
SilphGauntlet2FTrainerHeader1:
|
||||
trainer EVENT_BEAT_GAUNTLET_JUNIOR, 1, SilphGauntlet2FBattleText2, SilphGauntlet2FEndBattleText2, SilphGauntlet2FAfterBattleText2
|
||||
trainer EVENT_BEAT_GAUNTLET_HIKER, 1, SilphGauntlet2FBattleText2, SilphGauntlet2FEndBattleText2, SilphGauntlet2FAfterBattleText2
|
||||
SilphGauntlet2FTrainerHeader2:
|
||||
trainer EVENT_BEAT_GAUNTLET_HIKER, 1, SilphGauntlet2FBattleText3, SilphGauntlet2FEndBattleText3, SilphGauntlet2FAfterBattleText3
|
||||
trainer EVENT_BEAT_GAUNTLET_SUPER_NERD, 1, SilphGauntlet2FBattleText3, SilphGauntlet2FEndBattleText3, SilphGauntlet2FAfterBattleText3
|
||||
SilphGauntlet2FTrainerHeader3:
|
||||
trainer EVENT_BEAT_GAUNTLET_SUPER_NERD, 1, SilphGauntlet2FBattleText4, SilphGauntlet2FEndBattleText4, SilphGauntlet2FAfterBattleText4
|
||||
trainer EVENT_BEAT_GAUNTLET_POKEMANIAC, 1, SilphGauntlet2FBattleText4, SilphGauntlet2FEndBattleText4, SilphGauntlet2FAfterBattleText4
|
||||
SilphGauntlet2FTrainerHeader4:
|
||||
trainer EVENT_BEAT_GAUNTLET_POKEMANIAC, 3, SilphGauntlet2FBattleText5, SilphGauntlet2FEndBattleText5, SilphGauntlet2FAfterBattleText5
|
||||
trainer EVENT_BEAT_GAUNTLET_BEAUTY, 3, SilphGauntlet2FBattleText5, SilphGauntlet2FEndBattleText5, SilphGauntlet2FAfterBattleText5
|
||||
SilphGauntlet2FTrainerHeader5:
|
||||
trainer EVENT_BEAT_GAUNTLET_BLACK_BELT, 1, SilphGauntlet2FBattleText6, SilphGauntlet2FEndBattleText6, SilphGauntlet2FAfterBattleText6
|
||||
db -1 ; end
|
||||
|
|
|
|||
|
|
@ -19,10 +19,9 @@ SilphGauntlet3F_TextPointers:
|
|||
dw SilphGauntlet3FText4
|
||||
dw SilphGauntlet3FText5
|
||||
dw SilphGauntlet3FText6
|
||||
dw SilphGauntlet3FText7
|
||||
|
||||
SilphGauntlet3FTrainerHeaders:
|
||||
def_trainers 5
|
||||
def_trainers
|
||||
SilphGauntlet3FTrainerHeader0:
|
||||
trainer EVENT_BEAT_GAUNTLET_SAILOR, 1, SilphGauntlet3FBattleText1, SilphGauntlet3FEndBattleText1, SilphGauntlet3FAfterBattleText1
|
||||
SilphGauntlet3FTrainerHeader1:
|
||||
|
|
@ -35,8 +34,6 @@ SilphGauntlet3FTrainerHeader4:
|
|||
trainer EVENT_BEAT_GAUNTLET_ROCKER, 1, SilphGauntlet3FBattleText5, SilphGauntlet3FEndBattleText5, SilphGauntlet3FAfterBattleText5
|
||||
SilphGauntlet3FTrainerHeader5:
|
||||
trainer EVENT_BEAT_GAUNTLET_FISHER, 2, SilphGauntlet3FBattleText6, SilphGauntlet3FEndBattleText6, SilphGauntlet3FAfterBattleText6
|
||||
SilphGauntlet3FTrainerHeader6:
|
||||
trainer EVENT_BEAT_GAUNTLET_BEAUTY, 3, SilphGauntlet3FBattleText7, SilphGauntlet3FEndBattleText7, SilphGauntlet3FAfterBattleText7
|
||||
db -1 ; end
|
||||
|
||||
SilphGauntlet3FText1:
|
||||
|
|
@ -146,23 +143,5 @@ SilphGauntlet3FEndBattleText6:
|
|||
SilphGauntlet3FAfterBattleText6:
|
||||
text_far _SilphGauntlet3FAfterBattleText6
|
||||
text_end
|
||||
|
||||
SilphGauntlet3FText7:
|
||||
text_asm
|
||||
ld hl, SilphGauntlet3FTrainerHeader6
|
||||
call TalkToTrainer
|
||||
jp TextScriptEnd
|
||||
|
||||
SilphGauntlet3FBattleText7:
|
||||
text_far _SilphGauntlet3FBattleText7
|
||||
text_end
|
||||
|
||||
SilphGauntlet3FEndBattleText7:
|
||||
text_far _SilphGauntlet3FEndBattleText7
|
||||
text_end
|
||||
|
||||
SilphGauntlet3FAfterBattleText7:
|
||||
text_far _SilphGauntlet3FAfterBattleText7
|
||||
text_end
|
||||
|
||||
text_end
|
||||
|
|
@ -58,7 +58,7 @@ SilphGauntlet4F_TextPointers:
|
|||
dw PurifiedZoneText
|
||||
|
||||
SilphGauntlet4FTrainerHeaders:
|
||||
def_trainers 4
|
||||
def_trainers
|
||||
SilphGauntlet4FTrainerHeader0:
|
||||
trainer EVENT_BEAT_GAUNTLET_SCIENTIST, 1, SilphGauntlet4FBattleText1, SilphGauntlet4FEndBattleText1, SilphGauntlet4FAfterBattleText1
|
||||
SilphGauntlet4FTrainerHeader1:
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ SilphGauntlet5F_TextPointers:
|
|||
dw SilphGauntlet5FText7
|
||||
|
||||
SilphGauntlet5FTrainerHeaders:
|
||||
def_trainers 2
|
||||
def_trainers
|
||||
SilphGauntlet5FTrainerHeader0:
|
||||
trainer EVENT_BEAT_GAUNTLET_JUGGLER, 3, SilphGauntlet5FBattleText1, SilphGauntlet5FEndBattleText1, SilphGauntlet5FAfterBattleText1
|
||||
SilphGauntlet5FTrainerHeader1:
|
||||
|
|
|
|||
|
|
@ -1,6 +1,168 @@
|
|||
SilphGauntlet6F_Script:
|
||||
jp EnableAutoTextBoxDrawing
|
||||
call EnableAutoTextBoxDrawing
|
||||
ld hl, SilphGauntlet6FTrainerHeaders
|
||||
ld de, SilphGauntlet6F_ScriptPointers
|
||||
ld a, [wSilphGauntlet6FCurScript]
|
||||
call ExecuteCurMapScriptInTable
|
||||
ld [wSilphGauntlet6FCurScript], a
|
||||
ret
|
||||
|
||||
SilphGauntlet6F_ScriptPointers:
|
||||
dw CheckFightingMapTrainers
|
||||
dw DisplayEnemyTrainerTextAndStartBattle
|
||||
dw EndTrainerBattle
|
||||
|
||||
SilphGauntlet6F_TextPointers:
|
||||
dw SilphGauntlet6FText1
|
||||
dw SilphGauntlet6FText2
|
||||
dw SilphGauntlet6FText3
|
||||
dw SilphGauntlet6FText4
|
||||
dw SilphGauntlet6FText5
|
||||
dw SilphGauntlet6FText6
|
||||
dw SilphGauntlet6FText7
|
||||
|
||||
SilphGauntlet6FTrainerHeaders:
|
||||
def_trainers
|
||||
SilphGauntlet6FTrainerHeader0:
|
||||
trainer EVENT_BEAT_GAUNTLET_BROCK, 2, SilphGauntlet6FBattleText1, SilphGauntlet6FEndBattleText1, SilphGauntlet6FAfterBattleText1
|
||||
SilphGauntlet6FTrainerHeader1:
|
||||
trainer EVENT_BEAT_GAUNTLET_MISTY, 3, SilphGauntlet6FBattleText2, SilphGauntlet6FEndBattleText2, SilphGauntlet6FAfterBattleText2
|
||||
SilphGauntlet6FTrainerHeader2:
|
||||
trainer EVENT_BEAT_GAUNTLET_SURGE, 3, SilphGauntlet6FBattleText3, SilphGauntlet6FEndBattleText3, SilphGauntlet6FAfterBattleText3
|
||||
SilphGauntlet6FTrainerHeader3:
|
||||
trainer EVENT_BEAT_GAUNTLET_ERIKA, 3, SilphGauntlet6FBattleText4, SilphGauntlet6FEndBattleText4, SilphGauntlet6FAfterBattleText4
|
||||
SilphGauntlet6FTrainerHeader4:
|
||||
trainer EVENT_BEAT_GAUNTLET_KOGA, 3, SilphGauntlet6FBattleText5, SilphGauntlet6FEndBattleText5, SilphGauntlet6FAfterBattleText5
|
||||
SilphGauntlet6FTrainerHeader5:
|
||||
trainer EVENT_BEAT_GAUNTLET_SABRINA, 2, SilphGauntlet6FBattleText6, SilphGauntlet6FEndBattleText6, SilphGauntlet6FAfterBattleText6
|
||||
SilphGauntlet6FTrainerHeader6:
|
||||
trainer EVENT_BEAT_GAUNTLET_BLAINE, 2, SilphGauntlet6FBattleText7, SilphGauntlet6FEndBattleText7, SilphGauntlet6FAfterBattleText7
|
||||
db -1 ; end
|
||||
|
||||
SilphGauntlet6FText1:
|
||||
text_asm
|
||||
ld hl, SilphGauntlet6FTrainerHeader0
|
||||
call TalkToTrainer
|
||||
jp TextScriptEnd
|
||||
|
||||
SilphGauntlet6FBattleText1:
|
||||
text_far _SilphGauntlet6FBattleText1
|
||||
text_end
|
||||
|
||||
SilphGauntlet6FEndBattleText1:
|
||||
text_far _SilphGauntlet6FEndBattleText1
|
||||
text_end
|
||||
|
||||
SilphGauntlet6FAfterBattleText1:
|
||||
text_far _SilphGauntlet6FAfterBattleText1
|
||||
text_end
|
||||
|
||||
SilphGauntlet6FText2:
|
||||
text_asm
|
||||
ld hl, SilphGauntlet6FTrainerHeader1
|
||||
call TalkToTrainer
|
||||
jp TextScriptEnd
|
||||
|
||||
SilphGauntlet6FBattleText2:
|
||||
text_far _SilphGauntlet6FBattleText2
|
||||
text_end
|
||||
|
||||
SilphGauntlet6FEndBattleText2:
|
||||
text_far _SilphGauntlet6FEndBattleText2
|
||||
text_end
|
||||
|
||||
SilphGauntlet6FAfterBattleText2:
|
||||
text_far _SilphGauntlet6FAfterBattleText2
|
||||
text_end
|
||||
|
||||
SilphGauntlet6FText3:
|
||||
text_asm
|
||||
ld hl, SilphGauntlet6FTrainerHeader2
|
||||
call TalkToTrainer
|
||||
jp TextScriptEnd
|
||||
|
||||
SilphGauntlet6FBattleText3:
|
||||
text_far _SilphGauntlet6FBattleText3
|
||||
text_end
|
||||
|
||||
SilphGauntlet6FEndBattleText3:
|
||||
text_far _SilphGauntlet6FEndBattleText3
|
||||
text_end
|
||||
|
||||
SilphGauntlet6FAfterBattleText3:
|
||||
text_far _SilphGauntlet6FAfterBattleText3
|
||||
text_end
|
||||
|
||||
SilphGauntlet6FText4:
|
||||
text_asm
|
||||
ld hl, SilphGauntlet6FTrainerHeader3
|
||||
call TalkToTrainer
|
||||
jp TextScriptEnd
|
||||
|
||||
SilphGauntlet6FBattleText4:
|
||||
text_far _SilphGauntlet6FBattleText4
|
||||
text_end
|
||||
|
||||
SilphGauntlet6FEndBattleText4:
|
||||
text_far _SilphGauntlet6FEndBattleText4
|
||||
text_end
|
||||
|
||||
SilphGauntlet6FAfterBattleText4:
|
||||
text_far _SilphGauntlet6FAfterBattleText4
|
||||
text_end
|
||||
|
||||
SilphGauntlet6FText5:
|
||||
text_asm
|
||||
ld hl, SilphGauntlet6FTrainerHeader4
|
||||
call TalkToTrainer
|
||||
jp TextScriptEnd
|
||||
|
||||
SilphGauntlet6FBattleText5:
|
||||
text_far _SilphGauntlet6FBattleText5
|
||||
text_end
|
||||
|
||||
SilphGauntlet6FEndBattleText5:
|
||||
text_far _SilphGauntlet6FEndBattleText5
|
||||
text_end
|
||||
|
||||
SilphGauntlet6FAfterBattleText5:
|
||||
text_far _SilphGauntlet6FAfterBattleText5
|
||||
text_end
|
||||
|
||||
SilphGauntlet6FText6:
|
||||
text_asm
|
||||
ld hl, SilphGauntlet6FTrainerHeader5
|
||||
call TalkToTrainer
|
||||
jp TextScriptEnd
|
||||
|
||||
SilphGauntlet6FBattleText6:
|
||||
text_far _SilphGauntlet6FBattleText6
|
||||
text_end
|
||||
|
||||
SilphGauntlet6FEndBattleText6:
|
||||
text_far _SilphGauntlet6FEndBattleText6
|
||||
text_end
|
||||
|
||||
SilphGauntlet6FAfterBattleText6:
|
||||
text_far _SilphGauntlet6FAfterBattleText6
|
||||
text_end
|
||||
|
||||
SilphGauntlet6FText7:
|
||||
text_asm
|
||||
ld hl, SilphGauntlet6FTrainerHeader6
|
||||
call TalkToTrainer
|
||||
jp TextScriptEnd
|
||||
|
||||
SilphGauntlet6FBattleText7:
|
||||
text_far _SilphGauntlet6FBattleText7
|
||||
text_end
|
||||
|
||||
SilphGauntlet6FEndBattleText7:
|
||||
text_far _SilphGauntlet6FEndBattleText7
|
||||
text_end
|
||||
|
||||
SilphGauntlet6FAfterBattleText7:
|
||||
text_far _SilphGauntlet6FAfterBattleText7
|
||||
text_end
|
||||
|
||||
text_end
|
||||
|
|
@ -95,6 +95,7 @@ ChiefScript4:
|
|||
ld a, HS_CERULEAN_CAVE_GUY
|
||||
ld [wMissableObjectIndex], a
|
||||
predef HideObject
|
||||
; ResetEventRange SILPH_GAUNTLET_EVENTS_START, SILPH_GAUNTLET_EVENTS_END, 1 ; I want this to reset the trainers so you can refight them, but I'm very unsure how this works...
|
||||
|
||||
ld a, $0
|
||||
ld [wSilphGauntlet7FCurScript], a
|
||||
|
|
|
|||
|
|
@ -50,19 +50,11 @@ VermilionCityScript0:
|
|||
ld a, $3
|
||||
ldh [hSpriteIndexOrTextID], a
|
||||
call DisplayTextID
|
||||
ld a, [wObtainedBadges] ; ship returns after obtaining the marsh badge
|
||||
bit 5, a
|
||||
CheckEvent EVENT_BEAT_SABRINA
|
||||
jr nz, .default
|
||||
CheckEvent EVENT_SS_ANNE_LEFT
|
||||
jr nz, .shipHasDeparted
|
||||
.default
|
||||
ld hl, OldSeaMapCheckCoords
|
||||
call ArePlayerCoordsInArray
|
||||
jp c, MovePlayerVermilion
|
||||
ld hl, CitrineCityCheckCoords
|
||||
call ArePlayerCoordsInArray
|
||||
jp c, MovePlayerVermilion
|
||||
|
||||
ld b, S_S_TICKET
|
||||
predef GetQuantityOfItemInBag
|
||||
ld a, b
|
||||
|
|
@ -78,22 +70,10 @@ VermilionCityScript0:
|
|||
ld [wVermilionCityCurScript], a
|
||||
ret
|
||||
|
||||
SSAnneTicketCheckCoords: ; Mother coords - use to universally trigger the same event
|
||||
dbmapcoord 18, 30 ; S. S. Anne
|
||||
dbmapcoord 10, 30 ; Faraway Island
|
||||
dbmapcoord 26, 30 ; Citrine City
|
||||
SSAnneTicketCheckCoords:
|
||||
dbmapcoord 18, 30
|
||||
db -1 ; end
|
||||
|
||||
; I know it looks awful but I use the individual ones to launch off the new ticket script.
|
||||
; We don't need an S.S. Anne one, as I'm using a process of elimination check system.
|
||||
OldSeaMapCheckCoords:
|
||||
dbmapcoord 10, 30
|
||||
db -1
|
||||
|
||||
CitrineCityCheckCoords:
|
||||
dbmapcoord 26, 30
|
||||
db -1
|
||||
|
||||
VermilionCityScript4:
|
||||
ld hl, SSAnneTicketCheckCoords
|
||||
call ArePlayerCoordsInArray
|
||||
|
|
@ -136,7 +116,6 @@ VermilionCityScript1:
|
|||
ld [wVermilionCityCurScript], a
|
||||
ret
|
||||
|
||||
; We call these four commands to stop text from autoskipping 4 times, may as well just make this.
|
||||
TheAutoskipStopinator:
|
||||
ld a, [wSimulatedJoypadStatesEnd] ; ensuring that the text doesn't autoskip.
|
||||
and a ; yep, here too.
|
||||
|
|
@ -144,179 +123,6 @@ TheAutoskipStopinator:
|
|||
call EnableAutoTextBoxDrawing ; and here.
|
||||
ret
|
||||
|
||||
; So get this: If you check multiple tickets, there's a really janky crash.
|
||||
; I can't be fucked fixing it, so let's force the player through the warp instead.
|
||||
; Yes, I'm serious.
|
||||
MovePlayerVermilion:
|
||||
ld a, PLAYER_DIR_DOWN
|
||||
ld [wPlayerMovingDirection], a
|
||||
call UpdateSprites
|
||||
ld a, $ff ; Firstly...
|
||||
ld [wJoyIgnore], a ; No joypad inputs. No funny business. RLE is weird as fuck without it.
|
||||
ld hl, wSimulatedJoypadStatesEnd
|
||||
ld de, WalkIntoWarp_RLEMovement
|
||||
call DecodeRLEList
|
||||
dec a
|
||||
ld [wSimulatedJoypadStatesIndex], a
|
||||
call StartSimulatingJoypadStates ; By this point, we're auto-moving.
|
||||
ld a, $0
|
||||
ld [wVermilionCityCurScript], a ; safety
|
||||
ret
|
||||
|
||||
WalkIntoWarp_RLEMovement:
|
||||
db D_DOWN, 2
|
||||
db -1 ; end
|
||||
|
||||
; ================================================================
|
||||
; THIS IS NO LONGER USED, KEPT IN CASE A BETTER WARP SYSTEM COMES UP.
|
||||
; Alright, so I'll explain the issue.
|
||||
; For some reason, all the warp methods that exist do not seem to like this system.
|
||||
; Faraway Island would load but have botched collision and break when you leave.
|
||||
; Citrine City would outright crash.
|
||||
; Bank movements and stuff were tried but nothing seemed to work as desired.
|
||||
; Instead, we use a triple-harbour method, which makes the city look more lively anyway.
|
||||
|
||||
;VermillionCityScript_GetPassesInBag:
|
||||
; Gets a list of Passes in the player's bag.
|
||||
; Ripped and modified from the fossil guy
|
||||
; xor a
|
||||
; ld [wFilteredBagItemsCount], a
|
||||
; ld de, wFilteredBagItems
|
||||
; ld hl, PassList
|
||||
;.loop
|
||||
; ld a, [hli]
|
||||
; and a
|
||||
; jr z, .done
|
||||
; push hl
|
||||
; push de
|
||||
; ld [wd11e], a
|
||||
; ld b, a
|
||||
; predef GetQuantityOfItemInBag
|
||||
; pop de
|
||||
; pop hl
|
||||
; ld a, b
|
||||
; and a
|
||||
; jr z, .loop
|
||||
|
||||
; ; A Pass is in the bag
|
||||
; ld a, [wd11e]
|
||||
; ld [de], a
|
||||
; inc de
|
||||
; push hl
|
||||
; ld hl, wFilteredBagItemsCount
|
||||
; inc [hl]
|
||||
; pop hl
|
||||
; jr .loop
|
||||
;.done
|
||||
; ld a, $ff
|
||||
; ld [de], a
|
||||
; ret
|
||||
|
||||
;PassList:
|
||||
; db S_S_TICKET
|
||||
; db OLD_SEA_MAP
|
||||
; db CITRINE_PASS
|
||||
; ;db RAINBOW_PASS I planned this for a while, but the space wasn't there, and the scope was strange.
|
||||
; db 0 ; end
|
||||
|
||||
;PrintPassesInBag:
|
||||
; Prints each pass in the player's bag on a separate line in the menu.
|
||||
; ld hl, wFilteredBagItems
|
||||
; xor a
|
||||
; ldh [hItemCounter], a
|
||||
;.loop
|
||||
; ld a, [hli]
|
||||
; cp $ff
|
||||
; ret z
|
||||
; push hl
|
||||
; ld [wd11e], a
|
||||
; call GetItemName
|
||||
; hlcoord 2, 2
|
||||
; ldh a, [hItemCounter]
|
||||
; ld bc, SCREEN_WIDTH * 2
|
||||
; call AddNTimes
|
||||
; ld de, wcd6d
|
||||
; call PlaceString
|
||||
; ld hl, hItemCounter
|
||||
; inc [hl]
|
||||
; pop hl
|
||||
; jr .loop
|
||||
|
||||
;PassListings:
|
||||
; ld hl, VermillionCityPassSelectionText
|
||||
; call PrintText
|
||||
; call VermillionCityScript_GetPassesInBag
|
||||
; ld hl, wd730
|
||||
; set 6, [hl]
|
||||
; xor a
|
||||
; ld [wCurrentMenuItem], a
|
||||
; ld a, A_BUTTON | B_BUTTON
|
||||
; ld [wMenuWatchedKeys], a
|
||||
; ld a, [wFilteredBagItemsCount]
|
||||
; dec a
|
||||
; ld [wMaxMenuItem], a
|
||||
; ld a, 2
|
||||
; ld [wTopMenuItemY], a
|
||||
; ld a, 1
|
||||
; ld [wTopMenuItemX], a
|
||||
; ld a, [wFilteredBagItemsCount]
|
||||
; dec a
|
||||
; ld bc, 2
|
||||
; ld hl, 3
|
||||
; call AddNTimes
|
||||
; dec l
|
||||
; ld b, l
|
||||
; ld c, $d
|
||||
; hlcoord 0, 0
|
||||
; call TextBoxBorder
|
||||
; call UpdateSprites
|
||||
; call PrintPassesInBag
|
||||
; ld hl, wd730
|
||||
; res 6, [hl]
|
||||
; call HandleMenuInput
|
||||
; bit BIT_B_BUTTON, a
|
||||
; jr nz, .cancelledPass
|
||||
; ld hl, wFilteredBagItems
|
||||
; ld a, [wCurrentMenuItem]
|
||||
; ld d, 0
|
||||
; ld e, a
|
||||
; add hl, de
|
||||
; ld a, [hl]
|
||||
; ldh [hItemToRemoveID], a
|
||||
; cp S_S_TICKET
|
||||
; jp z, VermilionCityText3.playerHasTicket ; Saves time and less risk of bugs
|
||||
; cp OLD_SEA_MAP
|
||||
; jr z, .choseFaraway
|
||||
; cp CITRINE_PASS
|
||||
; jr z, .choseCitrine
|
||||
; god bless the safari game and pokemon tower 7f for being the few times a forcewarp exists
|
||||
; For some reason, these aren't working properly...
|
||||
;.choseFaraway
|
||||
; ld hl, EventVermillionCityOldSeaMap
|
||||
; call PrintText
|
||||
; ld a, FARAWAY_ISLAND_OUTSIDE
|
||||
; ld [wDestinationMap], a
|
||||
; ld hl, wd732
|
||||
; set 2, [hl] ; fly warp or dungeon warp
|
||||
; call SpecialWarpIn
|
||||
; jp SpecialEnterMap
|
||||
;.choseCitrine
|
||||
; ld hl, EventVermillionCityCitrinePass
|
||||
; call PrintText
|
||||
; ld a, CITRINE_CITY
|
||||
; ldh [hWarpDestinationMap], a
|
||||
; ld a, $6
|
||||
; ld [wDestinationWarpID], a
|
||||
; call WarpFound2
|
||||
; jr .done
|
||||
;.cancelledPass
|
||||
; ld hl, PassRefuse
|
||||
; call PrintText
|
||||
;.done
|
||||
; ret
|
||||
;
|
||||
; ================================================================
|
||||
|
||||
VermilionCity_TextPointers:
|
||||
dw VermilionCityText1
|
||||
dw VermilionCityText2
|
||||
|
|
@ -326,8 +132,6 @@ VermilionCity_TextPointers:
|
|||
dw VermilionCityText6
|
||||
dw OfficerJennySquirtle
|
||||
dw VermilionBeauty
|
||||
dw EventVermillionCityOldSeaMapGreeting
|
||||
dw EventVermillionCityCitrinePassGreeting
|
||||
dw VermilionCityText7
|
||||
dw VermilionCityText8
|
||||
dw MartSignText
|
||||
|
|
@ -362,36 +166,8 @@ VermilionCityTextSSAnneDeparted:
|
|||
text_end
|
||||
|
||||
VermilionCityText3:
|
||||
text_asm
|
||||
|
||||
; Checking the location that the script flagged earlier.
|
||||
; Instead of using an item checker, this is more effective and easy on memory.
|
||||
; Also, it doesn't get cross-threaded if you have multiples of the same thing. I had issues working around that one - I ain't a programmer by trade, unfortunately, I'm a TEFL student.
|
||||
; Anyway, the code kicks you to different versions of the same script; I've had them isolated to call text in a way that's easier architecturally. Otherwise, we're checking the item found every time, and I'm 90% sure that nicks a WRAM entry.
|
||||
; All in all: Yes, this is suboptimal, but I've been doing this for months. Sue me.
|
||||
ld hl, OldSeaMapCheckCoords
|
||||
call ArePlayerCoordsInArray
|
||||
jr c, HasOldSeaMap
|
||||
ld hl, CitrineCityCheckCoords
|
||||
call ArePlayerCoordsInArray
|
||||
jp c, HasCitrinePass
|
||||
|
||||
; If you have neither, this will continue as normal, see?
|
||||
; This is why we needed the child coords.
|
||||
|
||||
; Before the coord system, we used this with the unused pass listing code.
|
||||
; See where the issues arose? Possibly a neat exercise!
|
||||
;ld b, OLD_SEA_MAP
|
||||
;predef GetQuantityOfItemInBag
|
||||
;ld a, b
|
||||
;and a
|
||||
;jp nz, PassListings
|
||||
;ld b, CITRINE_PASS
|
||||
;predef GetQuantityOfItemInBag
|
||||
;ld a, b
|
||||
;and a
|
||||
;jp nz, PassListings
|
||||
|
||||
text_asm
|
||||
|
||||
CheckEvent EVENT_SS_ANNE_LEFT
|
||||
jr nz, .shipHasDeparted
|
||||
ld a, [wSpritePlayerStateData1FacingDirection]
|
||||
|
|
@ -428,13 +204,9 @@ VermilionCityText3:
|
|||
.end
|
||||
jp TextScriptEnd
|
||||
|
||||
.inFrontOfOrBehindGuardCoords ; This can be all at once don't worry.
|
||||
dbmapcoord 19, 29 ; in front of guard - S. S. Anne
|
||||
dbmapcoord 19, 31 ; behind guard - S. S. Anne
|
||||
dbmapcoord 11, 29 ; Faraway Island
|
||||
dbmapcoord 11, 31 ; Faraway Island
|
||||
dbmapcoord 27, 29 ; Citrine City
|
||||
dbmapcoord 27, 31 ; Citrine City
|
||||
.inFrontOfOrBehindGuardCoords
|
||||
dbmapcoord 19, 29 ; in front of guard
|
||||
dbmapcoord 19, 31 ; behind guard
|
||||
db -1 ; end
|
||||
|
||||
SSAnneWelcomeText4:
|
||||
|
|
@ -457,93 +229,6 @@ SSAnneNotHereText:
|
|||
text_far _SSAnneNotHereText
|
||||
text_end
|
||||
|
||||
HasOldSeaMap:
|
||||
text_asm
|
||||
ld a, [wSpritePlayerStateData1FacingDirection]
|
||||
cp SPRITE_FACING_RIGHT
|
||||
jr z, .greetPlayer
|
||||
ld hl, VermilionCityText3.inFrontOfOrBehindGuardCoords
|
||||
call ArePlayerCoordsInArray
|
||||
jr nc, .greetPlayerAndCheckTicket
|
||||
.greetPlayer
|
||||
ld hl, EventVermillionCityOldSeaMapGreeting
|
||||
call PrintText
|
||||
jr .end
|
||||
.greetPlayerAndCheckTicket
|
||||
ld hl, EventVermillionCityOldSeaMapGreeting
|
||||
call PrintText
|
||||
call TheAutoskipStopinator
|
||||
ld b, OLD_SEA_MAP
|
||||
predef GetQuantityOfItemInBag
|
||||
ld a, b
|
||||
and a
|
||||
jr nz, .playerHasTicket
|
||||
ld hl, EventVermillionCityOldSeaMapGreetCheck
|
||||
call PrintText
|
||||
jr .end
|
||||
.playerHasTicket
|
||||
ld hl, EventVermillionCityOldSeaMap
|
||||
call PrintText
|
||||
ld a, $4
|
||||
ld [wVermilionCityCurScript], a
|
||||
.end
|
||||
jp TextScriptEnd
|
||||
|
||||
EventVermillionCityOldSeaMapGreeting:
|
||||
text "I am looking for"
|
||||
line "a certain map..."
|
||||
done
|
||||
text_end
|
||||
|
||||
EventVermillionCityOldSeaMapGreetCheck:
|
||||
text "Do you have it?"
|
||||
done
|
||||
text_end
|
||||
|
||||
HasCitrinePass:
|
||||
text_asm
|
||||
ld a, [wSpritePlayerStateData1FacingDirection]
|
||||
cp SPRITE_FACING_RIGHT
|
||||
jr z, .greetPlayer
|
||||
ld hl, VermilionCityText3.inFrontOfOrBehindGuardCoords
|
||||
call ArePlayerCoordsInArray
|
||||
jr nc, .greetPlayerAndCheckTicket
|
||||
.greetPlayer
|
||||
ld hl, EventVermillionCityCitrinePassGreeting
|
||||
call PrintText
|
||||
jr .end
|
||||
.greetPlayerAndCheckTicket
|
||||
ld hl, EventVermillionCityCitrinePassGreeting
|
||||
call PrintText
|
||||
call TheAutoskipStopinator
|
||||
ld b, CITRINE_PASS
|
||||
predef GetQuantityOfItemInBag
|
||||
ld a, b
|
||||
and a
|
||||
jr nz, .playerHasTicket
|
||||
ld hl, EventVermillionCityCitrinePassGreetCheck
|
||||
call PrintText
|
||||
jr .end
|
||||
.playerHasTicket
|
||||
ld hl, EventVermillionCityCitrinePass
|
||||
call PrintText
|
||||
ld a, $4
|
||||
ld [wVermilionCityCurScript], a
|
||||
.end
|
||||
jp TextScriptEnd
|
||||
|
||||
EventVermillionCityCitrinePassGreeting:
|
||||
text "Hah! I only serve"
|
||||
line "strong TRAINERs!"
|
||||
done
|
||||
text_end
|
||||
|
||||
EventVermillionCityCitrinePassGreetCheck:
|
||||
text "Gonna need to see"
|
||||
line "proof, shrimp!"
|
||||
done
|
||||
text_end
|
||||
|
||||
VermilionCityText4:
|
||||
text_far _VermilionCityText4
|
||||
text_end
|
||||
|
|
@ -563,8 +248,7 @@ VermilionCityText14:
|
|||
|
||||
VermilionCityText6:
|
||||
text_asm
|
||||
ld a, [wObtainedBadges]
|
||||
bit 5, a ; after obtaining the marsh badge the ship returns
|
||||
CheckEvent EVENT_BEAT_SABRINA
|
||||
jr z, .default
|
||||
ld hl, VermilionCityText15
|
||||
ret
|
||||
|
|
@ -665,26 +349,10 @@ OfficerJennyHowDoing:
|
|||
text_far _OfficerJennyText5
|
||||
text_end
|
||||
|
||||
VermillionCityPassSelectionText:
|
||||
text_far _VermillionCityPassSelectionText
|
||||
text_end
|
||||
|
||||
EventVermillionCityOldSeaMap:
|
||||
text_far _VermillionCityOldSeaMap
|
||||
text_end
|
||||
|
||||
EventVermillionCityCitrinePass:
|
||||
text_far _VermillionCityCitrinePass
|
||||
text_end
|
||||
|
||||
EventVermillionCitySSTicket:
|
||||
text_far _SSAnneFlashedTicketText
|
||||
text_end
|
||||
|
||||
PassRefuse:
|
||||
text_far _VermillionCityHarborRefuse
|
||||
text_end
|
||||
|
||||
; LGPE Beauty who gives you a Persian or Arcanine depending on the game.
|
||||
; Here, we make it a Cats vs Dogs question and change based on that.
|
||||
; The way it works is it makes the player catch the opposite Pokemon, and then get the one they picked.
|
||||
|
|
|
|||
6
scripts/VermilionFerryDock.asm
Normal file
6
scripts/VermilionFerryDock.asm
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
VermilionFerryDock_Script:
|
||||
jp EnableAutoTextBoxDrawing
|
||||
|
||||
VermilionFerryDock_TextPointers:
|
||||
|
||||
text_end
|
||||
|
|
@ -72,7 +72,7 @@ VictoryRoad2F_TextPointers:
|
|||
dw VictoryRoad2Text3
|
||||
dw VictoryRoad2Text4
|
||||
dw VictoryRoad2Text5
|
||||
dw GyaoonText
|
||||
dw PickUpItemText
|
||||
dw PickUpItemText
|
||||
dw PickUpItemText
|
||||
dw PickUpItemText
|
||||
|
|
@ -94,8 +94,6 @@ VictoryRoad2TrainerHeader3:
|
|||
trainer EVENT_BEAT_VICTORY_ROAD_2_TRAINER_3, 1, VictoryRoad2BattleText4, VictoryRoad2EndBattleText4, VictoryRoad2AfterBattleText4
|
||||
VictoryRoad2TrainerHeader4:
|
||||
trainer EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4, 3, VictoryRoad2BattleText5, VictoryRoad2EndBattleText5, VictoryRoad2AfterBattleText5
|
||||
GyaoonTrainerHeader:
|
||||
trainer EVENT_BEAT_GYAOON, 0, GyaoonBattleText, GyaoonBattleText, GyaoonBattleText
|
||||
db -1 ; end
|
||||
|
||||
VictoryRoad2Text1:
|
||||
|
|
@ -128,20 +126,6 @@ VictoryRoad2Text5:
|
|||
call TalkToTrainer
|
||||
jp TextScriptEnd
|
||||
|
||||
GyaoonText:
|
||||
text_asm
|
||||
ld hl, GyaoonTrainerHeader
|
||||
call TalkToTrainer
|
||||
jp TextScriptEnd
|
||||
|
||||
GyaoonBattleText:
|
||||
text_far _GyaoonBattleText
|
||||
text_asm
|
||||
ld a, GYAOON
|
||||
call PlayCry
|
||||
call WaitForSoundToFinish
|
||||
jp TextScriptEnd
|
||||
|
||||
VictoryRoad2BattleText1:
|
||||
text_far _VictoryRoad2BattleText1
|
||||
text_end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue