mirror of
https://github.com/thornAvery/kep-hack.git
synced 2025-09-17 02:40:50 +12:00
Finishing Silph Co. 11F
That's a fair chunk out of my day... This commit finishes everything about Silph Co. 11F. DON'T. TOUCH IT. Unless there's a bug, but OTHERWISE, do NOT touch it. Holy shit. Here's everything featured; - Jessie and James fight, ported over. - Rocket grunt changed to the appointment one from the strange room on the other side that really shouldn't be there tbh - Omega fight now doesn't have the "watch out" text as I needed to do a micro-optimisation TRUST ME it was NECESSARY (it was not, in fact, necessary) - Giovanni now reuses Beedrill and has a generally stronger team, scaling with the fifth Rival fight. - Omega refight has been added after some toiling with the Team Rocket intro text that absolutely should not have happened but did for some reason AAA - Rocket trio text somewhat tweaked Oh and I ported over the balance patch on the stats, including some neo-Cryithan onboarding.
This commit is contained in:
parent
e2901cd854
commit
0659fb1c65
|
@ -771,7 +771,10 @@
|
|||
const_skip 5
|
||||
const EVENT_BEAT_SILPH_CO_10F_TRAINER_0
|
||||
const EVENT_BEAT_SILPH_CO_10F_TRAINER_1
|
||||
const_skip 5
|
||||
const_skip 2
|
||||
const EVENT_780 ; jessie and james
|
||||
const EVENT_781 ; jessie and james
|
||||
const EVENT_782 ; jessie and james
|
||||
const EVENT_SILPH_CO_10_UNLOCKED_DOOR
|
||||
const_skip 11
|
||||
const EVENT_BEAT_SILPH_CO_11F_TRAINER_0
|
||||
|
|
|
@ -199,9 +199,11 @@ DEF SHOW EQU $15
|
|||
const HS_SILPH_CO_10F_ITEM_2 ; BA X best deck
|
||||
const HS_SILPH_CO_10F_ITEM_3 ; BB X
|
||||
const HS_SILPH_CO_11F_1 ; BC
|
||||
const HS_SILPH_CO_11F_2 ; BD
|
||||
const HS_SILPH_CO_11F_JAMES ; BD
|
||||
const HS_SILPH_CO_11F_3 ; BE
|
||||
const HS_SILPH_CO_11F_JESSIE ; BD
|
||||
const HS_OMEGA ; BF
|
||||
const HS_OMEGA_2
|
||||
const HS_DRAGONITE ; C0
|
||||
const HS_MOLTRES ; C1
|
||||
const HS_POKEMON_MANSION_2F_ITEM ; C2 X
|
||||
|
@ -260,5 +262,5 @@ DEF SHOW EQU $15
|
|||
const HS_ROCK_TUNNEL_B1F_AMBER ; F8
|
||||
const HS_ROCK_TUNNEL_B1F_WING ; F9
|
||||
const HS_MT_MOON_CRATER_GUARD ; FA
|
||||
const HS_DAYCARE_BULBASAUR ; FB
|
||||
const HS_DAYCARE_BULBASAUR ; FB should be FD
|
||||
DEF NUM_HS_OBJECTS EQU const_value
|
||||
|
|
|
@ -522,10 +522,12 @@ SilphCo10FHS:
|
|||
db SILPH_CO_10F, $04, SHOW ; HS_SILPH_CO_10F_ITEM_1
|
||||
db SILPH_CO_10F, $05, SHOW ; HS_SILPH_CO_10F_ITEM_2
|
||||
SilphCo11FHS:
|
||||
db SILPH_CO_11F, $03, SHOW ; HS_SILPH_CO_11F_1
|
||||
db SILPH_CO_11F, $04, SHOW ; HS_SILPH_CO_11F_2
|
||||
db SILPH_CO_11F, $05, SHOW ; HS_SILPH_CO_11F_3
|
||||
db SILPH_CO_11F, $06, SHOW ; HS_OMEGA
|
||||
db SILPH_CO_11F, $03, SHOW ; Giovanni
|
||||
db SILPH_CO_11F, $04, SHOW ; James
|
||||
db SILPH_CO_11F, $05, SHOW ; Rocket
|
||||
db SILPH_CO_11F, $06, SHOW ; James
|
||||
db SILPH_CO_11F, $07, SHOW ; HS_OMEGA
|
||||
db SILPH_CO_11F, $08, HIDE ; HS_OMEGA_2
|
||||
UnderwaterTunnelHS:
|
||||
db UNDERWATER_TUNNEL, $01, SHOW ; HS_DRAGONITE
|
||||
CinnabarVolcanoHS:
|
||||
|
|
|
@ -4,12 +4,12 @@ RedsHouse2F_Object:
|
|||
def_warp_events
|
||||
warp_event 7, 1, REDS_HOUSE_1F, 3
|
||||
;warp_event 5, 1, SILPH_GAUNTLET_7F, 1 ; - Test Chief
|
||||
;warp_event 5, 1, SILPH_CO_11F, 1 ; - Test J&J, Omega, & Giovanni
|
||||
warp_event 5, 1, SILPH_CO_11F, 2 ; - Test J&J, Omega, & Giovanni. To test the Omega refight, change to SHOW in hide/show data, and set warp ID to 1.
|
||||
;warp_event 5, 1, ROCKET_HIDEOUT_B4F, 2 ; - Test Giovanni 1
|
||||
;warp_event 5, 1, MT_MOON_SQUARE, 1 ; - Test Shop, NPCs, and Crater
|
||||
;warp_event 5, 1, CELESTE_HILL, 1 ; - Test GMolt
|
||||
;warp_event 5, 1, INDIGO_PLATEAU_LOBBY, 1 ; easy league access
|
||||
warp_event 5, 1, GARNET_CAVERN_B1F, 1 ; Test GCuno
|
||||
;warp_event 5, 1, GARNET_CAVERN_B1F, 1 ; Test GCuno
|
||||
;warp_event 5, 1, FARAWAY_ISLAND_INSIDE, 1 ; Test Mew
|
||||
|
||||
def_bg_events
|
||||
|
|
|
@ -13,8 +13,10 @@ SilphCo11F_Object:
|
|||
object_event 7, 5, SPRITE_SILPH_PRESIDENT, STAY, DOWN, 1 ; person
|
||||
object_event 10, 5, SPRITE_BEAUTY, STAY, DOWN, 2 ; person
|
||||
object_event 6, 9, SPRITE_GIOVANNI, STAY, DOWN, 3, OPP_GIOVANNI, 2
|
||||
object_event 3, 16, SPRITE_ROCKET, STAY, UP, 4, OPP_ROCKET, 41
|
||||
object_event 15, 9, SPRITE_ROCKET, STAY, UP, 5, OPP_ROCKET, 40
|
||||
object_event 6, 11, SPRITE_MONSTER, STAY, UP, 7, OMEGA, 45 | OW_POKEMON
|
||||
object_event 2, 8, SPRITE_JAMES, STAY, UP, 4
|
||||
object_event 3, 16, SPRITE_ROCKET, STAY, UP, 5, OPP_ROCKET, 41
|
||||
object_event 3, 8, SPRITE_JESSIE, STAY, UP, 6
|
||||
object_event 6, 11, SPRITE_MONSTER, STAY, UP, 11, OMEGA, 45 | OW_POKEMON
|
||||
object_event 15, 15, SPRITE_MONSTER, STAY, UP, 12, OMEGA, 75 | OW_POKEMON
|
||||
|
||||
def_warps_to SILPH_CO_11F
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
db 72, 53, 46, 98, 81
|
||||
; hp atk def spd spc
|
||||
|
||||
db WATER, WATER ; type
|
||||
db DRAGON, DRAGON ; type
|
||||
db 45 ; catch rate
|
||||
db 144 ; base exp
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
db DEX_CRYITHAN ; pokedex id
|
||||
|
||||
db 92, 83, 76, 118, 101
|
||||
db 92, 93, 76, 108, 121
|
||||
; hp atk def spd spc
|
||||
|
||||
db WATER, DRAGON ; type
|
||||
db DRAGON, DRAGON ; type
|
||||
db 9 ; catch rate
|
||||
db 210 ; base exp
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
db DEX_GYAOON ; pokedex id
|
||||
|
||||
db 101, 110, 100, 30, 95
|
||||
db 101, 124, 100, 30, 95
|
||||
; hp atk def spd spc
|
||||
|
||||
db ROCK, ROCK ; type
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
db DEX_OMEGA ; pokedex id
|
||||
|
||||
db 101, 100, 120, 25, 95
|
||||
db 101, 106, 120, 25, 95
|
||||
; hp atk def spd spc
|
||||
|
||||
db STEEL, STEEL ; type
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
db 62, 43, 36, 88, 71
|
||||
; hp atk def spd spc
|
||||
|
||||
db WATER, WATER ; type
|
||||
db DRAGON, DRAGON ; type
|
||||
db 60 ; catch rate
|
||||
db 67 ; base exp
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
db DEX_TRAMPEL ; pokedex id
|
||||
|
||||
db 130, 100, 90, 56, 64
|
||||
db 110, 100, 90, 56, 64
|
||||
; hp atk def spd spc
|
||||
|
||||
db NORMAL, GROUND ; type
|
||||
|
|
|
@ -739,11 +739,11 @@ JackData:
|
|||
db 70, ANIMON, PURAKKUSU, HITMONLEE, PORYGON2, HITMONCHAN, SCIZOR, 0 ; not 100% sure what to do with this guy...
|
||||
|
||||
JessieJamesData:
|
||||
db 14, EKANS, MEOWTH, KOFFING, 0 ; Mt. Moon
|
||||
db 25, KOFFING, LICKITUNG, MEOWTH, EKANS, 0 ; Rocket Hideout
|
||||
db 14, MEOWTH, EKANS, KOFFING, 0 ; Mt. Moon
|
||||
db 25, MEOWTH, EKANS, LICKITUNG, KOFFING, 0 ; Rocket Hideout
|
||||
db 27, MEOWTH, LICKITUNG, ARBOK, VICTREEBEL, WEEZING, 0 ; Pokemon Tower
|
||||
db 31, WEEZING, ARBOK, LICKITUNG, VICTREEBEL, GYARADOS, MEOWTH, 0 ; Silph Co.
|
||||
db $FF, 80, MEOWTH, 72, ARBOK, 71, WEEZING, 74, LICKILICKY, 74, VICTREEBEL, 74, GYARADOS, 0 ; Citrine Rocket House
|
||||
db 37, MEOWTH, LICKITUNG, ARBOK, VICTREEBEL, WEEZING, GYARADOS, 0 ; Silph Co.
|
||||
db $FF, 80, MEOWTH, 72, LICKILICKY, 72, ARBOK, 71, VICTREEBEL, 74, WEEZING, 76, GYARADOS, 0 ; Citrine Rocket House
|
||||
|
||||
INCLUDE "data/trainers/scaled_parties.asm"
|
||||
INCLUDE "data/trainers/rival_parties.asm"
|
||||
|
|
|
@ -79,8 +79,8 @@ SabrinaData:
|
|||
GiovanniData: ; is not scaled as he is always fought last
|
||||
; Rocket Hideout B4F
|
||||
db $FF, 30, BEEDRILL, 32, RHYHORN, 32, KANGASKHAN, 34, PERSIAN, 0
|
||||
; Silph Co. 11F
|
||||
db $FF, 37, KANGASKHAN, 36, NIDOKING, 37, NIDOQUEEN, 40, PERSIAN, 42, RHYDON, 0
|
||||
; Silph Co. 11F - did you know this team was weaker than the rival in vanilla level-wise?
|
||||
db $FF, 40, BEEDRILL, 42, RHYDON, 42, KANGASKHAN, 43, NIDOKING, 43, NIDOQUEEN, 45, PERSIAN, 0 ; if persian slash is desirable, make it L47.
|
||||
; Viridian Gym
|
||||
db $FF, 47, TRAMPEL, 46, DUGTRIO, 46, NIDOQUEEN, 48, GUARDIA, 48, NIDOKING, 50, RHYPERIOR, 0
|
||||
|
||||
|
|
|
@ -161,16 +161,16 @@ ResetLegendaryPokemon:
|
|||
call ShowThis
|
||||
.skipMoltres
|
||||
; Omega is special.
|
||||
; If Omega wasn't obtained, it'll be available somewhere else on Silph Co. 11F.
|
||||
; Commented out until we actually do this.
|
||||
; ld a, DEX_OMEGA
|
||||
; ld [wd11e], a
|
||||
; call HoFIsPokemonBitSet
|
||||
; jr nz, .skipOmega
|
||||
; ResetEvent EVENT_BEAT_OMEGA_2
|
||||
; ld a, HS_OMEGA_2
|
||||
; call ShowThis
|
||||
;.skipOmega
|
||||
; 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 [wd11e], a
|
||||
call HoFIsPokemonBitSet
|
||||
jr nz, .skipOmega
|
||||
ResetEvent EVENT_BEAT_OMEGA ; Reusing the old event - it's completely free to use.
|
||||
ld a, HS_OMEGA_2
|
||||
call ShowThis
|
||||
.skipOmega
|
||||
; Mew's hints aren't until the post-game, but is available regardless.
|
||||
; So, we put this here.
|
||||
ld a, DEX_MEW
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
SilphCo11F_Script:
|
||||
call SilphCo11Script_62110
|
||||
call SilphCo11Script_62127
|
||||
call EnableAutoTextBoxDrawing
|
||||
ld hl, SilphCo11TrainerHeaders
|
||||
ld de, SilphCo11F_ScriptPointers
|
||||
|
@ -8,36 +8,27 @@ SilphCo11F_Script:
|
|||
ld [wSilphCo11FCurScript], a
|
||||
ret
|
||||
|
||||
SilphCo11F_ScriptPointers:
|
||||
dw SilphCo11Script0
|
||||
dw DisplayEnemyTrainerTextAndStartBattle
|
||||
dw EndTrainerBattle
|
||||
dw SilphCo11Script3
|
||||
dw SilphCo11Script4
|
||||
dw SilphCo11Script5
|
||||
dw SilphCo11Script6
|
||||
dw SilphCo11Script7
|
||||
|
||||
SilphCo11Script_62110:
|
||||
SilphCo11Script_62127:
|
||||
ld hl, wCurrentMapScriptFlags
|
||||
bit 5, [hl]
|
||||
res 5, [hl]
|
||||
ret z
|
||||
ld hl, SilphCo11GateCoords
|
||||
call SilphCo11Script_62137
|
||||
call SilphCo11Script_62163
|
||||
call SilphCo11Script_6214f
|
||||
call SilphCo11Script_6217b
|
||||
CheckEvent EVENT_SILPH_CO_11_UNLOCKED_DOOR
|
||||
ret nz
|
||||
ld a, $20
|
||||
ld [wNewTileBlockID], a
|
||||
lb bc, 6, 3
|
||||
predef_jump ReplaceTileBlock
|
||||
predef ReplaceTileBlock
|
||||
ret
|
||||
|
||||
SilphCo11GateCoords:
|
||||
dbmapcoord 3, 6
|
||||
db -1 ; end
|
||||
|
||||
SilphCo11Script_62137:
|
||||
SilphCo11Script_6214f:
|
||||
push hl
|
||||
ld hl, wCardKeyDoorY
|
||||
ld a, [hli]
|
||||
|
@ -73,12 +64,12 @@ SilphCo11Script_62137:
|
|||
ldh [hUnlockedSilphCoDoors], a
|
||||
ret
|
||||
|
||||
SilphCo11Script_62163: ; This is altered to have Omega rush you once the door is open.
|
||||
SilphCo11Script_6217b:
|
||||
ldh a, [hUnlockedSilphCoDoors]
|
||||
and a
|
||||
ret z
|
||||
SetEvent EVENT_SILPH_CO_11_UNLOCKED_DOOR
|
||||
ld a, $6
|
||||
ld a, $7
|
||||
ldh [hSpriteIndex], a ; TODO: Make Omega look at the player.
|
||||
call MoveOmegaSprite
|
||||
ld a, OMEGA
|
||||
|
@ -90,16 +81,16 @@ SilphCo11Script_62163: ; This is altered to have Omega rush you once the door is
|
|||
ld a, MUSIC_MEET_MALE_TRAINER
|
||||
call PlayMusic
|
||||
;add code here to make Rocket NPC look at Omega
|
||||
ld a, $6
|
||||
ld a, 15
|
||||
ld [wSilphCo11FCurScript], a
|
||||
ret
|
||||
|
||||
SilphCo11Script6:
|
||||
SilphCo11ScriptOmegaBattle:
|
||||
ld a, [wd730]
|
||||
bit 0, a
|
||||
ret nz
|
||||
ld [wJoyIgnore], a
|
||||
ld a, $6
|
||||
ld a, 11
|
||||
ldh [hSpriteIndexOrTextID], a
|
||||
call DisplayTextID
|
||||
ld a, OMEGA
|
||||
|
@ -117,21 +108,6 @@ SilphCo11Script6:
|
|||
ld [wCurMapScript], a
|
||||
ret
|
||||
|
||||
SilphCo11Script7:
|
||||
ld a, [wIsInBattle]
|
||||
cp $ff
|
||||
jp z, SilphCo11Script_50ece
|
||||
ld a, $3
|
||||
ld [wSilphCo11FCurScript], a
|
||||
ret
|
||||
|
||||
SilphCo11Script_50ed6:
|
||||
ld a, 0
|
||||
ld [wTrainerNo], a
|
||||
ld a, 1
|
||||
ld [wIsTrainerBattle], a
|
||||
ret
|
||||
|
||||
OmegaMovementData:
|
||||
db NPC_MOVEMENT_DOWN
|
||||
db NPC_MOVEMENT_DOWN
|
||||
|
@ -145,17 +121,6 @@ MoveOmegaSprite:
|
|||
jp SetSpriteFacingDirectionAndDelay
|
||||
ret
|
||||
|
||||
.asm_50ef1
|
||||
call MoveSprite
|
||||
ld a, SPRITE_FACING_RIGHT
|
||||
ldh [hSpriteFacingDirection], a
|
||||
jp SetSpriteFacingDirectionAndDelay
|
||||
|
||||
SilphCo11Script_50ece:
|
||||
xor a
|
||||
ld [wJoyIgnore], a
|
||||
ld [wSilphCo11FCurScript], a
|
||||
|
||||
SilphCo11Script_6216d:
|
||||
ld hl, MissableObjectIDs_6219b
|
||||
.asm_62170
|
||||
|
@ -221,24 +186,49 @@ MissableObjectIDs_6219b:
|
|||
db HS_SILPH_CO_10F_1
|
||||
db HS_SILPH_CO_10F_2
|
||||
db HS_SILPH_CO_11F_1
|
||||
db HS_SILPH_CO_11F_2
|
||||
db HS_SILPH_CO_11F_3
|
||||
db -1 ; end
|
||||
|
||||
SilphCo11Script_621c4:
|
||||
SilphCo11Script_62185:
|
||||
xor a
|
||||
ld [wJoyIgnore], a
|
||||
|
||||
SilphCo11Script_621c8:
|
||||
SilphCo11Script_62189:
|
||||
ld [wSilphCo11FCurScript], a
|
||||
ld [wCurMapScript], a
|
||||
ret
|
||||
|
||||
|
||||
SilphCo11F_ScriptPointers:
|
||||
dw SilphCo11Script0
|
||||
dw DisplayEnemyTrainerTextAndStartBattle
|
||||
dw EndTrainerBattle
|
||||
dw SilphCo11Script3
|
||||
dw SilphCo11Script4
|
||||
dw SilphCo11Script5
|
||||
dw SilphCo11Script6
|
||||
dw SilphCo11Script7
|
||||
dw SilphCo11Script8
|
||||
dw SilphCo11Script9
|
||||
dw SilphCo11Script10
|
||||
dw SilphCo11Script11
|
||||
dw SilphCo11Script12
|
||||
dw SilphCo11Script13
|
||||
dw SilphCo11Script14
|
||||
dw SilphCo11ScriptOmegaBattle
|
||||
|
||||
SilphCo11Script0:
|
||||
CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
|
||||
IF DEF(_DEBUG)
|
||||
call DebugPressedOrHeldB
|
||||
ret nz
|
||||
ENDC
|
||||
CheckEvent EVENT_BEAT_SILPH_CO_11F_TRAINER_0
|
||||
call z, SilphCo11Script_6229c
|
||||
CheckEvent EVENT_782
|
||||
ret nz
|
||||
CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
|
||||
call z, SilphCo11Script_621c5
|
||||
ret
|
||||
|
||||
SilphCo11Script_621c5:
|
||||
ld hl, CoordsData_62211
|
||||
call ArePlayerCoordsInArray
|
||||
jp nc, CheckFightingMapTrainers
|
||||
|
@ -248,10 +238,10 @@ SilphCo11Script0:
|
|||
ldh [hJoyHeld], a
|
||||
ld a, $f0
|
||||
ld [wJoyIgnore], a
|
||||
ld a, $3
|
||||
ld c, 0 ; BANK(Music_Sakaki)
|
||||
ld a, MUSIC_SAKAKI
|
||||
call PlayMusic
|
||||
ld a, $3
|
||||
ldh [hSpriteIndexOrTextID], a
|
||||
call DisplayTextID
|
||||
ld a, $3
|
||||
|
@ -259,8 +249,9 @@ SilphCo11Script0:
|
|||
call SetSpriteMovementBytesToFF
|
||||
ld de, MovementData_62216
|
||||
call MoveSprite
|
||||
ld a, $3
|
||||
jp SilphCo11Script_621c8
|
||||
ld a, $4
|
||||
call SilphCo11Script_62189
|
||||
ret
|
||||
|
||||
CoordsData_62211:
|
||||
dbmapcoord 6, 13
|
||||
|
@ -273,18 +264,18 @@ MovementData_62216:
|
|||
db NPC_MOVEMENT_DOWN
|
||||
db -1 ; end
|
||||
|
||||
SilphCo11Script_6221a:
|
||||
SilphCo11Script_621ff:
|
||||
ld [wPlayerMovingDirection], a
|
||||
ld a, $3
|
||||
ldh [hSpriteIndex], a
|
||||
ld a, b
|
||||
ldh [hSpriteFacingDirection], a
|
||||
jp SetSpriteFacingDirectionAndDelay
|
||||
ld [wSprite03StateData1FacingDirection], a
|
||||
ld a, $2
|
||||
ld [wSprite03StateData1MovementStatus], a
|
||||
ret
|
||||
|
||||
SilphCo11Script5:
|
||||
SilphCo11Script3:
|
||||
ld a, [wIsInBattle]
|
||||
cp $ff
|
||||
jp z, SilphCo11Script_621c4
|
||||
jp z, SilphCo11Script_62185
|
||||
ld a, [wcf0d]
|
||||
cp $1
|
||||
jr z, .asm_6223c
|
||||
|
@ -295,23 +286,23 @@ SilphCo11Script5:
|
|||
ld a, PLAYER_DIR_UP
|
||||
ld b, SPRITE_FACING_DOWN
|
||||
.asm_62240
|
||||
call SilphCo11Script_6221a
|
||||
call SilphCo11Script_621ff
|
||||
ld a, $f0
|
||||
ld [wJoyIgnore], a
|
||||
ld a, $8
|
||||
ld a, 13
|
||||
ldh [hSpriteIndexOrTextID], a
|
||||
call DisplayTextID
|
||||
call GBFadeOutToBlack
|
||||
call SilphCo11Script_6216d
|
||||
call SaffronCityHideRocketsShowCitizens
|
||||
call UpdateSprites
|
||||
call Delay3
|
||||
call GBFadeInFromBlack
|
||||
SetEvent EVENT_BEAT_SILPH_CO_GIOVANNI
|
||||
xor a
|
||||
ld [wJoyIgnore], a
|
||||
jp SilphCo11Script_621c8
|
||||
jp SilphCo11Script_62189
|
||||
|
||||
SilphCo11Script3:
|
||||
SilphCo11Script4:
|
||||
ld a, [wd730]
|
||||
bit 0, a
|
||||
ret nz
|
||||
|
@ -328,26 +319,346 @@ SilphCo11Script3:
|
|||
ld a, PLAYER_DIR_UP
|
||||
ld b, SPRITE_FACING_DOWN
|
||||
.asm_62288
|
||||
call SilphCo11Script_6221a
|
||||
call SilphCo11Script_621ff
|
||||
call Delay3
|
||||
ld a, $4
|
||||
jp SilphCo11Script_621c8
|
||||
|
||||
SilphCo11Script4:
|
||||
xor a
|
||||
ld [wJoyIgnore], a
|
||||
ld hl, wd72d
|
||||
set 6, [hl]
|
||||
set 7, [hl]
|
||||
ld hl, SilphCo10Text_62330
|
||||
ld de, SilphCo10Text_62330
|
||||
ld hl, SilphCo10Text_62528
|
||||
ld de, SilphCo10Text_62528
|
||||
call SaveEndBattleTextPointers
|
||||
ldh a, [hSpriteIndex]
|
||||
ld [wSpriteIndex], a
|
||||
call EngageMapTrainer
|
||||
call InitBattleEnemyParameters
|
||||
ld a, $3
|
||||
jp SilphCo11Script_62189
|
||||
|
||||
SilphCo11Script_6229c:
|
||||
ld a, [wYCoord]
|
||||
cp $3
|
||||
ret nz
|
||||
ld a, [wXCoord]
|
||||
cp $4
|
||||
ret nc
|
||||
ResetEvents EVENT_780, EVENT_781
|
||||
ld a, [wXCoord]
|
||||
cp $3
|
||||
jr z, .asm_622c3
|
||||
SetEventReuseHL EVENT_780
|
||||
ld a, [wXCoord]
|
||||
cp $2
|
||||
jr z, .asm_622c3
|
||||
ResetEventReuseHL EVENT_780
|
||||
SetEventReuseHL EVENT_781
|
||||
.asm_622c3
|
||||
call StopMusic
|
||||
ld c, 0 ; BANK(Music_MeetJessieJames)
|
||||
ld a, MUSIC_MEET_JESSIE_JAMES
|
||||
call PlayMusic
|
||||
xor a
|
||||
ldh [hJoyHeld], a
|
||||
ld a, $fc
|
||||
ld [wJoyIgnore], a
|
||||
ld a, $1
|
||||
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
|
||||
ld a, 4
|
||||
ldh [hSpriteIndexOrTextID], a
|
||||
call DisplayTextID
|
||||
xor a
|
||||
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
|
||||
ld a, $ff
|
||||
ld [wJoyIgnore], a
|
||||
SetEvent EVENT_782
|
||||
ld a, $5
|
||||
jp SilphCo11Script_621c8
|
||||
call SilphCo11Script_62189
|
||||
ret
|
||||
|
||||
SilphCo11MovementData_622f5:
|
||||
db NPC_MOVEMENT_UP
|
||||
db NPC_MOVEMENT_UP
|
||||
db NPC_MOVEMENT_UP
|
||||
db NPC_MOVEMENT_UP
|
||||
db NPC_MOVEMENT_UP
|
||||
db -1
|
||||
|
||||
SilphCo11MovementData_622fb:
|
||||
db NPC_MOVEMENT_UP
|
||||
db NPC_MOVEMENT_UP
|
||||
db NPC_MOVEMENT_UP
|
||||
db NPC_MOVEMENT_UP
|
||||
db -1
|
||||
|
||||
SilphCo11MovementData_62300:
|
||||
db NPC_MOVEMENT_UP
|
||||
db NPC_MOVEMENT_UP
|
||||
db NPC_MOVEMENT_UP
|
||||
db NPC_MOVEMENT_UP
|
||||
db -1
|
||||
|
||||
SilphCo11MovementData_62305:
|
||||
db NPC_MOVEMENT_UP
|
||||
db NPC_MOVEMENT_UP
|
||||
db NPC_MOVEMENT_UP
|
||||
db NPC_MOVEMENT_UP
|
||||
db NPC_MOVEMENT_UP
|
||||
db -1
|
||||
|
||||
SilphCo11MovementData_6230b:
|
||||
db NPC_MOVEMENT_UP
|
||||
db NPC_MOVEMENT_UP
|
||||
db NPC_MOVEMENT_LEFT
|
||||
db NPC_MOVEMENT_UP
|
||||
db NPC_MOVEMENT_UP
|
||||
db -1
|
||||
|
||||
SilphCo11MovementData_62311:
|
||||
db NPC_MOVEMENT_UP
|
||||
db NPC_MOVEMENT_UP
|
||||
db NPC_MOVEMENT_UP
|
||||
db NPC_MOVEMENT_LEFT
|
||||
db NPC_MOVEMENT_UP
|
||||
db NPC_MOVEMENT_UP
|
||||
db -1
|
||||
|
||||
SilphCo11Script5:
|
||||
ld de, SilphCo11MovementData_622f5
|
||||
CheckEitherEventSet EVENT_780, EVENT_781
|
||||
and a
|
||||
jr z, .asm_6232d
|
||||
ld de, SilphCo11MovementData_62300
|
||||
cp $1
|
||||
jr z, .asm_6232d
|
||||
ld de, SilphCo11MovementData_6230b
|
||||
.asm_6232d
|
||||
ld a, $4
|
||||
ldh [hSpriteIndexOrTextID], a
|
||||
call MoveSprite
|
||||
ld a, $ff
|
||||
ld [wJoyIgnore], a
|
||||
ld a, $6
|
||||
call SilphCo11Script_62189
|
||||
ret
|
||||
|
||||
SilphCo11Script6:
|
||||
ld a, $ff
|
||||
ld [wJoyIgnore], a
|
||||
ld a, [wd730]
|
||||
bit 0, a
|
||||
ret nz
|
||||
SilphCo11Script7:
|
||||
ld a, $2
|
||||
ld [wSprite04StateData1MovementStatus], a
|
||||
ld hl, wSprite04StateData1FacingDirection
|
||||
ld [hl], SPRITE_FACING_RIGHT
|
||||
CheckEitherEventSet EVENT_780, EVENT_781
|
||||
and a
|
||||
jr z, .asm_6235e
|
||||
ld [hl], SPRITE_FACING_UP
|
||||
.asm_6235e
|
||||
call Delay3
|
||||
ld a, $fc
|
||||
ld [wJoyIgnore], a
|
||||
SilphCo11Script8:
|
||||
ld de, SilphCo11MovementData_622fb
|
||||
CheckEitherEventSet EVENT_780, EVENT_781
|
||||
and a
|
||||
jr z, .asm_6237b
|
||||
ld de, SilphCo11MovementData_62305
|
||||
cp $1
|
||||
jr z, .asm_6237b
|
||||
ld de, SilphCo11MovementData_62311
|
||||
.asm_6237b
|
||||
ld a, $6
|
||||
ldh [hSpriteIndexOrTextID], a
|
||||
call MoveSprite
|
||||
ld a, $ff
|
||||
ld [wJoyIgnore], a
|
||||
ld a, $9
|
||||
call SilphCo11Script_62189
|
||||
ret
|
||||
|
||||
SilphCo11Script9:
|
||||
ld a, $ff
|
||||
ld [wJoyIgnore], a
|
||||
ld a, [wd730]
|
||||
bit 0, a
|
||||
ret nz
|
||||
ld a, $fc
|
||||
ld [wJoyIgnore], a
|
||||
SilphCo11Script10:
|
||||
ld a, $2
|
||||
ld [wSprite06StateData1MovementStatus], a
|
||||
ld hl, wSprite06StateData1FacingDirection
|
||||
ld [hl], SPRITE_FACING_UP
|
||||
CheckEitherEventSet EVENT_780, EVENT_781
|
||||
and a
|
||||
jr z, .asm_623b1
|
||||
ld [hl], SPRITE_FACING_LEFT
|
||||
.asm_623b1
|
||||
call Delay3
|
||||
ld a, $9
|
||||
ldh [hSpriteIndexOrTextID], a
|
||||
call DisplayTextID
|
||||
SilphCo11Script11:
|
||||
ld hl, wd72d
|
||||
set 6, [hl]
|
||||
set 7, [hl]
|
||||
call Delay3
|
||||
ld hl, SilphCo11Text_624c2
|
||||
ld de, SilphCo11Text_624c2
|
||||
call SaveEndBattleTextPointers
|
||||
ld a, OPP_JESSIE_JAMES
|
||||
ld [wCurOpponent], a
|
||||
ld a, 4
|
||||
ld [wTrainerNo], a
|
||||
ld [wIsTrainerBattle], a
|
||||
xor a
|
||||
ldh [hJoyHeld], a
|
||||
ld [wJoyIgnore], a
|
||||
ld a, $c
|
||||
call SilphCo11Script_62189
|
||||
ret
|
||||
|
||||
SilphCo11Script12:
|
||||
ld a, $ff
|
||||
ld [wJoyIgnore], a
|
||||
ld a, [wIsInBattle]
|
||||
cp $ff
|
||||
jp z, SilphCo11Script_62185
|
||||
ld a, $2
|
||||
ld [wSprite04StateData1MovementStatus], a
|
||||
ld [wSprite06StateData1MovementStatus], a
|
||||
xor a
|
||||
ld [wSprite04StateData1FacingDirection], a
|
||||
ld [wSprite06StateData1FacingDirection], a
|
||||
ld a, $fc
|
||||
ld [wJoyIgnore], a
|
||||
ld a, $1
|
||||
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
|
||||
ld a, $a
|
||||
ldh [hSpriteIndexOrTextID], a
|
||||
call DisplayTextID
|
||||
xor a
|
||||
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
|
||||
call StopMusic
|
||||
ld c, 0 ; BANK(Music_MeetJessieJames)
|
||||
ld a, MUSIC_MEET_JESSIE_JAMES
|
||||
call PlayMusic
|
||||
ld a, $ff
|
||||
ld [wJoyIgnore], a
|
||||
ld a, $d
|
||||
call SilphCo11Script_62189
|
||||
ret
|
||||
|
||||
SilphCo11Script13:
|
||||
ld a, $ff
|
||||
ld [wJoyIgnore], a
|
||||
call GBFadeOutToBlack
|
||||
ld a, HS_SILPH_CO_11F_JAMES
|
||||
call SilphCo11Script_6246d
|
||||
ld a, HS_SILPH_CO_11F_JESSIE
|
||||
call SilphCo11Script_6246d
|
||||
call UpdateSprites
|
||||
call Delay3
|
||||
call GBFadeInFromBlack
|
||||
ld a, $e
|
||||
call SilphCo11Script_62189
|
||||
ret
|
||||
|
||||
SilphCo11Script14:
|
||||
call PlayDefaultMusic
|
||||
xor a
|
||||
ldh [hJoyHeld], a
|
||||
ld [wJoyIgnore], a
|
||||
ResetEvent EVENT_782
|
||||
SetEventReuseHL EVENT_BEAT_SILPH_CO_11F_TRAINER_0
|
||||
ld a, $0
|
||||
call SilphCo11Script_62189
|
||||
ret
|
||||
|
||||
SilphCo11Script_6245e:
|
||||
ld [wMissableObjectIndex], a
|
||||
predef ShowObject
|
||||
call UpdateSprites
|
||||
call Delay3
|
||||
ret
|
||||
|
||||
SilphCo11Script_6246d:
|
||||
ld [wMissableObjectIndex], a
|
||||
predef HideObject
|
||||
ret
|
||||
|
||||
SaffronCityHideRocketsShowCitizens:
|
||||
ld hl, SaffronCityRockets
|
||||
.hideLoop
|
||||
ld a, [hli]
|
||||
cp $ff ; have we run out of rockets to hide?
|
||||
jr z, .showCitizens ; if so, start showing the citizens
|
||||
push hl
|
||||
ld [wMissableObjectIndex], a
|
||||
predef HideObject
|
||||
pop hl
|
||||
jr .hideLoop
|
||||
|
||||
.showCitizens
|
||||
ld hl, SaffronCityCitizens
|
||||
.showLoop
|
||||
ld a, [hli]
|
||||
cp $ff ; have we run out of citizens to show?
|
||||
ret z ; if so, we're done here
|
||||
push hl
|
||||
ld [wMissableObjectIndex], a
|
||||
predef ShowObject
|
||||
pop hl
|
||||
jr .showLoop
|
||||
|
||||
SaffronCityCitizens:
|
||||
db HS_SAFFRON_CITY_8
|
||||
db HS_SAFFRON_CITY_9
|
||||
db HS_SAFFRON_CITY_A
|
||||
db HS_SAFFRON_CITY_B
|
||||
db HS_SAFFRON_CITY_C
|
||||
db HS_SAFFRON_CITY_D
|
||||
db HS_SAFFRON_CITY_UP_GRADE
|
||||
db -1 ; end
|
||||
|
||||
SaffronCityRockets:
|
||||
db HS_SAFFRON_CITY_1
|
||||
db HS_SAFFRON_CITY_2
|
||||
db HS_SAFFRON_CITY_3
|
||||
db HS_SAFFRON_CITY_4
|
||||
db HS_SAFFRON_CITY_5
|
||||
db HS_SAFFRON_CITY_6
|
||||
db HS_SAFFRON_CITY_7
|
||||
db HS_SAFFRON_CITY_E
|
||||
db HS_SAFFRON_CITY_F
|
||||
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_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_7F_1
|
||||
db HS_SILPH_CO_7F_2
|
||||
db HS_SILPH_CO_7F_3
|
||||
db HS_SILPH_CO_7F_4
|
||||
db HS_SILPH_CO_8F_1
|
||||
db HS_SILPH_CO_8F_2
|
||||
db HS_SILPH_CO_8F_3
|
||||
db HS_SILPH_CO_10F_1
|
||||
db HS_SILPH_CO_10F_2
|
||||
db HS_SILPH_CO_11F_1
|
||||
db HS_SILPH_CO_11F_3
|
||||
db -1 ; end
|
||||
|
||||
SilphCo11F_TextPointers:
|
||||
dw SilphCo11Text1
|
||||
|
@ -356,21 +667,55 @@ SilphCo11F_TextPointers:
|
|||
dw SilphCo11Text4
|
||||
dw SilphCo11Text5
|
||||
dw SilphCo11Text6
|
||||
dw SilphCo11Text7
|
||||
dw SilphCo11Text8
|
||||
dw SilphCo11Text9
|
||||
dw SilphCo11Text10
|
||||
dw OmegaText
|
||||
dw Omega2Text
|
||||
dw StupidGiovanniFix
|
||||
|
||||
SilphCo11TrainerHeaders:
|
||||
def_trainers 4
|
||||
def_trainers 5
|
||||
SilphCo11TrainerHeader0:
|
||||
trainer EVENT_BEAT_SILPH_CO_11F_TRAINER_0, 4, SilphCo11BattleText1, SilphCo11EndBattleText1, SilphCo11AfterBattleText1
|
||||
SilphCo11TrainerHeader1:
|
||||
trainer EVENT_BEAT_SILPH_CO_11F_TRAINER_1, 3, SilphCo11BattleText2, SilphCo11EndBattleText2, SilphCo11AfterBattleText2
|
||||
trainer EVENT_BEAT_SILPH_CO_11F_TRAINER_1, 3, SilphCo11Trainer1BattleText, SilphCo11Trainer1EndBattleText, SilphCo11Trainer1AfterBattleText
|
||||
Omega2TrainerHeader:
|
||||
trainer EVENT_BEAT_OMEGA, 0, Omega2BattleText, Omega2BattleText, Omega2BattleText
|
||||
db -1 ; end
|
||||
|
||||
OmegaText:
|
||||
text_far _OmegaBattleText
|
||||
SilphCo11Text4:
|
||||
SilphCo11Text6:
|
||||
SilphCo11Text8:
|
||||
text_far _SilphCoJessieJamesText1
|
||||
text_asm
|
||||
ld c, 10
|
||||
call DelayFrames
|
||||
ld a, $4
|
||||
ld [wPlayerMovingDirection], a
|
||||
ld a, $0
|
||||
ld [wEmotionBubbleSpriteIndex], a
|
||||
ld a, EXCLAMATION_BUBBLE
|
||||
ld [wWhichEmotionBubble], a
|
||||
predef EmotionBubble
|
||||
ld c, 20
|
||||
call DelayFrames
|
||||
jp TextScriptEnd
|
||||
|
||||
SilphCo11Text9:
|
||||
text_far _SilphCoJessieJamesText2
|
||||
text_end
|
||||
|
||||
SilphCo11Text_624c2:
|
||||
text_far _SilphCoJessieJamesText3
|
||||
text_end
|
||||
|
||||
SilphCo11Text10:
|
||||
text_far _SilphCoJessieJamesText4
|
||||
text_asm
|
||||
ld c, 64
|
||||
call DelayFrames
|
||||
jp TextScriptEnd
|
||||
|
||||
SilphCo11Text1:
|
||||
text_asm
|
||||
CheckEvent EVENT_GOT_MASTER_BALL
|
||||
|
@ -419,68 +764,56 @@ SilphCo11Text3:
|
|||
text_far _SilphCo11Text3
|
||||
text_end
|
||||
|
||||
SilphCo10Text_62330:
|
||||
SilphCo10Text_62528:
|
||||
text_far _SilphCo10Text_62330
|
||||
text_end
|
||||
|
||||
SilphCo11Text6:
|
||||
SilphCo11Text7:
|
||||
text_far _SilphCo10Text_62335
|
||||
text_end
|
||||
|
||||
SilphCo11Text4:
|
||||
SilphCo11Text5:
|
||||
text_asm
|
||||
ld hl, SilphCo11TrainerHeader0
|
||||
call TalkToTrainer
|
||||
jp TextScriptEnd
|
||||
|
||||
SilphCo11BattleText1:
|
||||
text_far _SilphCo11BattleText1
|
||||
text_end
|
||||
|
||||
SilphCo11EndBattleText1:
|
||||
text_far _SilphCo11EndBattleText1
|
||||
text_end
|
||||
|
||||
SilphCo11AfterBattleText1:
|
||||
text_far _SilphCo11AfterBattleText1
|
||||
text_end
|
||||
|
||||
SilphCo11Text5:
|
||||
text_asm
|
||||
ld hl, SilphCo11TrainerHeader1
|
||||
call TalkToTrainer
|
||||
jp TextScriptEnd
|
||||
|
||||
SilphCo11BattleText2:
|
||||
SilphCo11Trainer1BattleText:
|
||||
text_far _SilphCo11BattleText2
|
||||
text_end
|
||||
|
||||
SilphCo11EndBattleText2:
|
||||
SilphCo11Trainer1EndBattleText:
|
||||
text_far _SilphCo11EndBattleText2
|
||||
text_end
|
||||
|
||||
SilphCo11AfterBattleText2:
|
||||
SilphCo11Trainer1AfterBattleText:
|
||||
text_far _SilphCo11AfterBattleText2
|
||||
text_end
|
||||
|
||||
SilphCo10Text_6236c:
|
||||
text_asm
|
||||
ld hl, SilphCo10Text_6237b
|
||||
call PrintText
|
||||
ld a, PORYGON
|
||||
call DisplayPokedex
|
||||
jp TextScriptEnd
|
||||
|
||||
SilphCo10Text_6237b:
|
||||
text_far _SilphCo10Text_6237b
|
||||
; Omega Boss Fight text begins here.
|
||||
OmegaText:
|
||||
text_far _OmegaBattleText
|
||||
text_end
|
||||
|
||||
; Omega Boss Fight text begins here.
|
||||
OmegaBattleText:
|
||||
text_far _OmegaBattleText
|
||||
text_asm
|
||||
jp TextScriptEnd
|
||||
|
||||
Omega2Text:
|
||||
text_asm
|
||||
ld hl, Omega2TrainerHeader
|
||||
call TalkToTrainer
|
||||
jp TextScriptEnd
|
||||
|
||||
Omega2BattleText:
|
||||
text_far _OmegaBattleText
|
||||
text_asm
|
||||
ld a, OMEGA
|
||||
call PlayCry
|
||||
call WaitForSoundToFinish
|
||||
jp TextScriptEnd
|
||||
|
||||
StupidGiovanniFix:
|
||||
text_far _SilphCo10Text_62335
|
||||
text_end
|
||||
|
|
|
@ -153,7 +153,9 @@ _MtMoonJessieJamesText3::
|
|||
prompt
|
||||
|
||||
_MtMoonJessieJamesText4::
|
||||
text "TEAM ROCKET, blast"
|
||||
line "off at the speed"
|
||||
cont "of light!@"
|
||||
text "Looks like TEAM"
|
||||
line "ROCKET's blasting"
|
||||
cont "off!"
|
||||
|
||||
para "We'll be back!@"
|
||||
text_end
|
||||
|
|
|
@ -3,6 +3,13 @@ _SilphCoPresidentText::
|
|||
line "you for saving"
|
||||
cont "SILPH!"
|
||||
|
||||
para "And...sorry about"
|
||||
line "that OMEGA model."
|
||||
cont "It must have seen"
|
||||
cont "you as a threat."
|
||||
|
||||
para "Anyway!"
|
||||
|
||||
para "I will never"
|
||||
line "forget you saved"
|
||||
cont "us in our moment"
|
||||
|
@ -54,8 +61,13 @@ _SilphCo11Text2::
|
|||
line "you for rescuing"
|
||||
cont "all of us!"
|
||||
|
||||
para "We admire your"
|
||||
line "courage."
|
||||
para "Hmm? OMEGA?"
|
||||
|
||||
para "All I know is the"
|
||||
line "CHIEF quickly"
|
||||
cont "started making it"
|
||||
cont "last year."
|
||||
|
||||
done
|
||||
|
||||
_SilphCo11Text3::
|
||||
|
@ -135,10 +147,7 @@ _SilphCo10Text_6237b::
|
|||
done
|
||||
|
||||
_OmegaBattleText::
|
||||
text "ROCKET: Hey, kid!"
|
||||
line "Watch out!"
|
||||
|
||||
para "Bzzt! Clank!"
|
||||
text "Bzzt! Clank!"
|
||||
prompt
|
||||
|
||||
; Fun fact: For some reason, this text is stored in 10F. Seems to be a beta element - they ARE encountered in 11F.
|
||||
|
|
Loading…
Reference in a new issue