mirror of
https://github.com/thornAvery/kep-hack.git
synced 2026-02-20 22:28:41 +13:00
BIG changes to postgame island
- Properly adds Brunswick Grotto, as well as Celeste Hill Outside and Celeste Hill Cave - Citrine City received a minor redesign, putting the path to Brunswick Trail more to the west - Added complete event for Galarian Zapdos as well as an encounterable, but unfinished Galarian Moltres, so all 3 birds can currently be caught
This commit is contained in:
parent
5279e8a06e
commit
f9d6534bcf
34 changed files with 208 additions and 299 deletions
|
|
@ -1,44 +1,26 @@
|
|||
BrunswickGrotto_Script:
|
||||
jp EnableAutoTextBoxDrawing
|
||||
|
||||
BrunswickGrotto_TextPointers:
|
||||
dw GZapFound
|
||||
dw GalarianZapdosText
|
||||
dw BrunswickSign
|
||||
call EnableAutoTextBoxDrawing
|
||||
ld hl, BrunswickGrottoTrainerHeaders
|
||||
ld de, BrunswickGrotto_ScriptPointers
|
||||
ld a, [wBrunswickGrottoCurScript]
|
||||
call ExecuteCurMapScriptInTable
|
||||
ld [wBrunswickGrottoCurScript], a
|
||||
ret
|
||||
|
||||
BrunswickGrotto_ScriptPointers:
|
||||
dw CheckFightingMapTrainers
|
||||
dw DisplayEnemyTrainerTextAndStartBattle
|
||||
dw EndTrainerBattle
|
||||
|
||||
BrunswickGrottoTrainerHeaders:
|
||||
def_trainers
|
||||
GalarianZapdosTrainerHeader:
|
||||
trainer EVENT_BEAT_ZAPDOSG, 0, GZapBattleText, GZapBattleText, GZapBattleText
|
||||
db -1
|
||||
|
||||
GZapFound:
|
||||
text_asm
|
||||
ld hl, BirdTextCall
|
||||
call PrintText
|
||||
ld a, ZAPDOS
|
||||
call PlayCry
|
||||
call WaitForSoundToFinish
|
||||
|
||||
ld a, $ff
|
||||
ld [wJoyIgnore], a
|
||||
call GBFadeOutToBlack
|
||||
ld a, HS_BRUNSWICK_ZAPDOS_G_1
|
||||
ld [wMissableObjectIndex], a
|
||||
predef HideObject
|
||||
ld a, HS_BRUNSWICK_ZAPDOS_G_2
|
||||
ld [wMissableObjectIndex], a
|
||||
predef ShowObject
|
||||
call UpdateSprites
|
||||
call Delay3
|
||||
call GBFadeInFromBlack
|
||||
|
||||
ld a, 0
|
||||
ld [wJoyIgnore], a
|
||||
|
||||
ld hl, GZapRunText
|
||||
call PrintText
|
||||
|
||||
jp TextScriptEnd
|
||||
BrunswickGrotto_TextPointers:
|
||||
dw GalarianZapdosText
|
||||
dw BrunswickSign
|
||||
|
||||
GalarianZapdosText:
|
||||
text_asm
|
||||
|
|
@ -49,24 +31,14 @@ GalarianZapdosText:
|
|||
GZapBattleText:
|
||||
text_far _BirdBattleText
|
||||
text_asm
|
||||
ld a, ZAPDOS
|
||||
ld a, ZAPDOS_G
|
||||
call PlayCry
|
||||
call WaitForSoundToFinish
|
||||
jp TextScriptEnd
|
||||
|
||||
GZapRunText:
|
||||
text "It ran off"
|
||||
line "somewhere..."
|
||||
prompt
|
||||
text_end
|
||||
|
||||
BirdTextCall:
|
||||
text_far _BirdBattleText
|
||||
text_end
|
||||
|
||||
BrunswickSign:
|
||||
text "GROTTO BIRD"
|
||||
line "WATCHING"
|
||||
text "BRUNSWICK"
|
||||
line "BIRDWATCHING"
|
||||
|
||||
para "The sign is"
|
||||
line "covered in"
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ BrunswickTrail_ScriptPointers:
|
|||
BrunswickTrail_TextPointers:
|
||||
dw FakeTreeEvent
|
||||
dw ZapdosGuy
|
||||
dw GalarianZapdosText
|
||||
dw GZapFound
|
||||
|
||||
BrunswickTrailTrainerHeaders:
|
||||
def_trainers
|
||||
|
|
@ -75,4 +75,37 @@ CactusBattleText:
|
|||
call PlayCry
|
||||
call WaitForSoundToFinish
|
||||
jp TextScriptEnd
|
||||
|
||||
GZapFound:
|
||||
text_asm
|
||||
ld hl, BirdTextCall
|
||||
call PrintText
|
||||
ld a, ZAPDOS_G
|
||||
call PlayCry
|
||||
call WaitForSoundToFinish
|
||||
|
||||
ld a, $ff
|
||||
ld [wJoyIgnore], a
|
||||
call GBFadeOutToBlack
|
||||
ld a, HS_BRUNSWICK_ZAPDOS_G_1
|
||||
ld [wMissableObjectIndex], a
|
||||
predef HideObject
|
||||
call UpdateSprites
|
||||
call Delay3
|
||||
call GBFadeInFromBlack
|
||||
ld a, 0
|
||||
ld [wJoyIgnore], a
|
||||
ld hl, GZapRunText
|
||||
call PrintText
|
||||
jp TextScriptEnd
|
||||
|
||||
GZapRunText:
|
||||
text "It ran off"
|
||||
line "somewhere..."
|
||||
prompt
|
||||
text_end
|
||||
|
||||
BirdTextCall:
|
||||
text_far _BirdBattleText
|
||||
text_end
|
||||
|
||||
|
|
|
|||
|
|
@ -1,171 +1,46 @@
|
|||
CelesteHill_Script:
|
||||
call EnableAutoTextBoxDrawing
|
||||
ld hl, CelesteHill_ScriptPointers
|
||||
ld hl, CelesteHillTrainerHeaders
|
||||
ld de, CelesteHill_ScriptPointers
|
||||
ld a, [wCelesteHillCurScript]
|
||||
jp CallFunctionInTable
|
||||
call ExecuteCurMapScriptInTable
|
||||
ld [wCelesteHillCurScript], a
|
||||
ret
|
||||
|
||||
CelesteHill_ScriptPointers:
|
||||
dw GalarianBirdScript1
|
||||
dw CheckFightingMapTrainers
|
||||
dw DisplayEnemyTrainerTextAndStartBattle
|
||||
dw EndTrainerBattle
|
||||
|
||||
CelesteHillCoords1:
|
||||
dbmapcoord 13, 8
|
||||
db -1 ; end
|
||||
|
||||
GalarianBirdScript1:
|
||||
; CheckEvent EVENT_BIRDS_FOUND
|
||||
; jr nz, .done
|
||||
ld hl, CelesteHillCoords1
|
||||
call ArePlayerCoordsInArray
|
||||
jp nc, .done
|
||||
|
||||
ld [wJoyIgnore], a
|
||||
SetEvent EVENT_BIRDS_FOUND
|
||||
ld a, ARTICUNO_G
|
||||
call PlayCry
|
||||
ld a, $1
|
||||
ldh [hSpriteIndexOrTextID], a
|
||||
call DisplayTextID
|
||||
call WaitForSoundToFinish
|
||||
pop hl
|
||||
ld de, BirdSprite
|
||||
ld hl, vNPCSprites
|
||||
lb bc, BANK(BirdSprite), $0c
|
||||
call CopyVideoData
|
||||
farcall LoadBirdSpriteGraphics
|
||||
ld a, SFX_FLY
|
||||
call PlaySound
|
||||
ld hl, wFlyAnimUsingCoordList
|
||||
xor a ; is using coord list
|
||||
ld [hli], a ; wFlyAnimUsingCoordList
|
||||
ld a, 12
|
||||
ld [hli], a ; wFlyAnimCounter
|
||||
ld [hl], $8 ; wFlyAnimBirdSpriteImageIndex (facing right)
|
||||
xor a ; is using coord list
|
||||
ld [hli], a ; wFlyAnimUsingCoordList
|
||||
ld a, $c
|
||||
ld [hli], a ; wFlyAnimCounter
|
||||
ld [hl], $c ; wFlyAnimBirdSpriteImageIndex (facing right)
|
||||
ld de, GalarianArticunoFlyScreenCoords1
|
||||
call GalarianArticunoFlyLoop
|
||||
ld c, 40
|
||||
call DelayFrames
|
||||
ld hl, wFlyAnimCounter
|
||||
ld a, 11
|
||||
ld [hli], a ; wFlyAnimCounter
|
||||
ld [hl], $8 ; wFlyAnimBirdSpriteImageIndex (facing left)
|
||||
ld de, GalarianArticunoFlyScreenCoords2
|
||||
call GalarianArticunoFlyLoop
|
||||
|
||||
ld a, HS_CELESTE_ARTICUNO_G
|
||||
ld [wMissableObjectIndex], a
|
||||
predef ShowObject
|
||||
|
||||
ld a, ZAPDOS_G
|
||||
call PlayCry
|
||||
call ZapdosRunThrough ; something breaks here. i do not know what.
|
||||
|
||||
ld a, HS_CELESTE_ZAPDOS_G
|
||||
ld [wMissableObjectIndex], a
|
||||
predef ShowObject
|
||||
|
||||
; ld a, $1
|
||||
; ldh [hSpriteIndex], a
|
||||
; call SetSpriteMovementBytesToFF
|
||||
; ld a, [wXCoord]
|
||||
|
||||
jr .done
|
||||
.done
|
||||
ret
|
||||
|
||||
; DoFlyAnimation clone, but for Articuno.
|
||||
GalarianArticunoFlyLoop:
|
||||
ld a, [wFlyAnimBirdSpriteImageIndex]
|
||||
xor $1 ; make the bird flap its wings
|
||||
ld [wFlyAnimBirdSpriteImageIndex], a
|
||||
ld [wSprite03StateData1ImageIndex], a
|
||||
call Delay3
|
||||
ld a, [wFlyAnimUsingCoordList]
|
||||
cp $ff
|
||||
jr z, .skipCopyingCoords ; if the bird is flapping its wings in place
|
||||
ld hl, wSprite03StateData1YPixels
|
||||
ld a, [de]
|
||||
inc de
|
||||
ld [hli], a ; y
|
||||
inc hl
|
||||
ld a, [de]
|
||||
inc de
|
||||
ld [hl], a ; x
|
||||
.skipCopyingCoords
|
||||
ld a, [wFlyAnimCounter]
|
||||
dec a
|
||||
ld [wFlyAnimCounter], a
|
||||
jr nz, GalarianArticunoFlyLoop
|
||||
ret
|
||||
|
||||
; Clones of the initial part of the Fly animation.
|
||||
GalarianArticunoFlyScreenCoords1:
|
||||
; y, x pairs
|
||||
db $06, $0B ; 6, 11 $3C, $48
|
||||
db $3C, $50
|
||||
db $3B, $58
|
||||
db $3A, $60
|
||||
db $39, $68
|
||||
db $37, $70
|
||||
db $37, $78
|
||||
db $33, $80
|
||||
db $30, $88
|
||||
db $2D, $90
|
||||
db $2A, $98
|
||||
db $27, $A0
|
||||
|
||||
GalarianArticunoFlyScreenCoords2:
|
||||
db $1A, $90
|
||||
db $19, $80
|
||||
db $17, $70
|
||||
db $15, $60
|
||||
db $12, $50
|
||||
db $0F, $40
|
||||
db $0C, $30
|
||||
db $09, $20
|
||||
db $05, $10
|
||||
db $00, $00
|
||||
|
||||
db $F0, $00
|
||||
|
||||
; This function currently causes the game to crash. It happens right as GZap walks towards the player.
|
||||
; Interestingly, this happens after a single step. I have tried dividing this, but it doesn't seem to help.
|
||||
; Could be worth cutting the event entirely.
|
||||
ZapdosRunThrough:
|
||||
call Delay3
|
||||
ld a, $2
|
||||
ldh [hSpriteIndex], a
|
||||
ld de, GalarianZapdosMovement
|
||||
call MoveSprite
|
||||
ret
|
||||
|
||||
GalarianZapdosMovement:
|
||||
db NPC_MOVEMENT_DOWN
|
||||
db NPC_MOVEMENT_DOWN
|
||||
db NPC_MOVEMENT_LEFT
|
||||
db NPC_MOVEMENT_DOWN
|
||||
db NPC_MOVEMENT_DOWN
|
||||
db NPC_MOVEMENT_DOWN
|
||||
db -1
|
||||
; CelesteHillCoords1:
|
||||
; dbmapcoord 11, 9
|
||||
; db -1 ; end
|
||||
|
||||
CelesteHill_TextPointers:
|
||||
dw CelesteHillGalarianBirdScreech
|
||||
dw CelesteHillSign1
|
||||
dw CelesteHillSign2
|
||||
dw GalarianMoltresText
|
||||
dw CelesteHillSign
|
||||
|
||||
CelesteHillGalarianBirdScreech:
|
||||
text_far _CelesteHillGalarianBirdScreech
|
||||
text_end
|
||||
CelesteHillTrainerHeaders:
|
||||
def_trainers
|
||||
GalarianMoltresTrainerHeader:
|
||||
trainer EVENT_BEAT_GALARIAN_MOLTRES, 0, GalarianMoltresBattleText, GalarianMoltresBattleText, GalarianMoltresBattleText
|
||||
db -1 ; end
|
||||
|
||||
CelesteHillSign1:
|
||||
text_far _CelesteHillSign1
|
||||
text_end
|
||||
|
||||
CelesteHillSign2:
|
||||
text_far _CelesteHillSign2
|
||||
GalarianMoltresText:
|
||||
text_asm
|
||||
ld hl, GalarianMoltresTrainerHeader
|
||||
call TalkToTrainer
|
||||
jp TextScriptEnd
|
||||
|
||||
GalarianMoltresBattleText:
|
||||
text_far _BirdBattleText
|
||||
text_asm
|
||||
ld a, MOLTRES_G
|
||||
call PlayCry
|
||||
call WaitForSoundToFinish
|
||||
jp TextScriptEnd
|
||||
|
||||
CelesteHillSign:
|
||||
text_far _CelesteHillSign
|
||||
text_end
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue