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:
Martha Schilling 2023-06-17 20:36:01 +01:00
parent 5279e8a06e
commit f9d6534bcf
34 changed files with 208 additions and 299 deletions

View file

@ -646,8 +646,9 @@
const EVENT_BEAT_MOLTRES
const_skip 7
const EVENT_BEAT_CACTUS
const_skip 7
const EVENT_BEAT_ZAPDOSG
const_skip 6
const_skip 7
const EVENT_BEAT_DRAGONITE
; Celadon University, Salesman
@ -796,7 +797,11 @@
const_next $880
const EVENT_GOT_HM03
const EVENT_GOT_MELTAN
const EVENT_BIRDS_FOUND ; hehe
; Celeste Hill events
const_next $8A0
const_skip
const EVENT_BEAT_GALARIAN_MOLTRES
; Cerulean Cave events
const_next $8C0

View file

@ -50,6 +50,7 @@ DEF SHOW EQU $15
const HS_ROUTE_24_ITEM ; 26 X
const HS_ROUTE_25_ITEM ; 27 X
const HS_CACTUS ; 28 X
const HS_BRUNSWICK_ZAPDOS_G_1 ; 29 X
const HS_DAISY_SITTING ; 2A
const HS_DAISY_WALKING ; 2B
const HS_TOWN_MAP ; 2C
@ -67,11 +68,8 @@ DEF SHOW EQU $15
const HS_CERULEAN_CAVE_1F_ITEM_1 ; 38 X
const HS_CERULEAN_CAVE_1F_ITEM_2 ; 39 X
const HS_CERULEAN_CAVE_1F_ITEM_3 ; 3A X
const HS_CELESTE_ZAPDOS_G ; 3B
const HS_CELESTE_ARTICUNO_G ; 3C
const HS_MOLTRES_G ; 3D X
const HS_POKEMON_TOWER_2F_RIVAL ; 3E
const HS_BRUNSWICK_ZAPDOS_G_1 ; 29 X
const HS_BRUNSWICK_ZAPDOS_G_2 ;was const HS_POKEMON_TOWER_3F_ITEM ; 3F X
const HS_POKEMON_TOWER_4F_ITEM_1 ; 40 X
const HS_POKEMON_TOWER_4F_ITEM_2 ; 41 X
@ -187,7 +185,6 @@ DEF SHOW EQU $15
const HS_SILPH_CO_7F_RIVAL ; AF
const HS_SILPH_CO_7F_ITEM_1 ; B0 X
const HS_SILPH_CO_7F_ITEM_2 ; B1 X
const HS_SILPH_CO_7F_8 ; B2 XXX sprite doesn't exist
const HS_SILPH_CO_8F_1 ; B3
const HS_SILPH_CO_8F_2 ; B4
const HS_SILPH_CO_8F_3 ; B5

View file

@ -97,7 +97,7 @@ DEF FIRST_INDOOR_MAP EQU const_value
map_const DAYCARE, 4, 4 ; $4A
map_const ROUTE_6_GATE, 4, 3 ; $4B
map_const UNDERGROUND_PATH_ROUTE_6, 4, 4 ; $4C
map_const CELESTE_HILL, 12, 12 ; $4D - Was copy of above & unused
map_const CELESTE_HILL, 11, 11 ; $4D - Was copy of above & unused
map_const ROUTE_7_GATE, 3, 4 ; $4E
map_const UNDERGROUND_PATH_ROUTE_7, 4, 4 ; $4F
map_const CITRINE_ROCKET_HOUSE, 5, 5 ; $50 - was UNDERGROUND_PATH_ROUTE_7_COPY
@ -166,7 +166,7 @@ DEF FIRST_INDOOR_MAP EQU const_value
map_const LAVENDER_POKECENTER, 7, 4 ; $8F
map_const POKEMON_TOWER_1F, 10, 9 ; $90
map_const POKEMON_TOWER_2F, 10, 9 ; $91
map_const BRUNSWICK_GROTTO, 15, 12 ; $FF ; ooo
map_const BRUNSWICK_GROTTO, 15, 12 ; $92
; map_const POKEMON_TOWER_3F, 10, 9 ; $92 - Currently unused
map_const POKEMON_TOWER_4F, 10, 9 ; $93 - Currently unused
map_const POKEMON_TOWER_5F, 10, 9 ; $94 - Currently unused
@ -273,8 +273,8 @@ DEF FIRST_INDOOR_MAP EQU const_value
map_const BATTLE_TENT, 5, 10 ; $FA
map_const MT_MOON_SQUARE, 13, 7 ; $FB
map_const MT_MOON_SQUARE_HOUSE, 4, 4 ; $FC
map_const CELESTE_HILL_CAVE, 19, 20 ; $FD
map_const CELESTE_HILL_OUTSIDE, 18, 20 ; $FE
map_const CELESTE_HILL_CAVE, 20, 18 ; $FD
map_const CELESTE_HILL_OUTSIDE, 20, 18 ; $FE
DEF NUM_MAPS EQU const_value
; Indoor maps, such as houses, use this as the Map ID in their exit warps

View file

@ -1,2 +1,2 @@
map_header BrunswickGrotto, BRUNSWICK_GROTTO, FOREST, 0
map_header BrunswickGrotto, BRUNSWICK_GROTTO, CELESTE, 0
end_map_header

View file

@ -1,3 +1,3 @@
map_header BrunswickTrail, BRUNSWICK_TRAIL, CITRINE, NORTH
connection north, CitrineCity, CITRINE_CITY, 18
connection north, CitrineCity, CITRINE_CITY, 24
end_map_header

View file

@ -1,3 +1,3 @@
map_header CitrineCity, CITRINE_CITY, CITRINE, SOUTH
connection south, BrunswickTrail, BRUNSWICK_TRAIL, -18
connection south, BrunswickTrail, BRUNSWICK_TRAIL, -24
end_map_header

View file

@ -326,6 +326,7 @@ Route25HS:
db ROUTE_25, $0A, SHOW ; HS_ROUTE_25_ITEM
BrunswickTrailHS:
db BRUNSWICK_TRAIL, $01, SHOW ; HS_CACTUS
db BRUNSWICK_TRAIL, $03, SHOW ; HS_BRUNSWICK_ZAPDOS_G_1
BluesHouseHS:
db BLUES_HOUSE, $01, SHOW ; HS_DAISY_SITTING
db BLUES_HOUSE, $02, HIDE ; HS_DAISY_WALKING
@ -349,14 +350,11 @@ CeruleanCaveHS:
db CERULEAN_CAVE_1F, $02, SHOW ; HS_CERULEAN_CAVE_1F_ITEM_2
db CERULEAN_CAVE_1F, $03, SHOW ; HS_CERULEAN_CAVE_1F_ITEM_3
CelesteHillHS:
db CELESTE_HILL, $01, SHOW ; HS_CELESTE_ZAPDOS_G
db CELESTE_HILL, $02, SHOW ; HS_CELESTE_ARTICUNO_G
db CELESTE_HILL, $03, SHOW ; HS_MOLTRES_G
db CELESTE_HILL, $01, SHOW ; HS_MOLTRES_G
PokemonTower2FHS:
db POKEMON_TOWER_2F, $01, SHOW ; HS_POKEMON_TOWER_2F_RIVAL
BrunswickGrottoHS:
db BRUNSWICK_GROTTO, $01, SHOW ; HS_BRUNSWICK_ZAPDOS_G_1
db BRUNSWICK_GROTTO, $02, HIDE ; HS_BRUNSWICK_ZAPDOS_G_2
db BRUNSWICK_GROTTO, $01, SHOW ; HS_BRUNSWICK_ZAPDOS_G_2
;PokemonTower3FHS:
; db POKEMON_TOWER_3F, $04, SHOW ; HS_POKEMON_TOWER_3F_ITEM
PokemonTower4FHS:
@ -614,4 +612,5 @@ RockTunnelB1FHS:
db ROCK_TUNNEL_B1F, $0B, SHOW ; HS_ROCK_TUNNEL_B1F_HELIX
db ROCK_TUNNEL_B1F, $0C, SHOW ; HS_ROCK_TUNNEL_B1F_AMBER
db ROCK_TUNNEL_B1F, $0D, SHOW ; HS_ROCK_TUNNEL_B1F_WING
db $FF, $01, SHOW ; end
assert_table_length NUM_HS_OBJECTS + 1

View file

@ -6,10 +6,9 @@ BrunswickGrotto_Object:
warp_event 25, 23, BRUNSWICK_TRAIL, 2
def_bg_events
bg_event 22, 9, 3 ; signage
bg_event 22, 10, 2 ; signage
def_object_events
object_event 6, 4, SPRITE_BIRD, STAY, DOWN, 1 ; person
object_event 27, 2, SPRITE_BIRD, STAY, LEFT, 2, ZAPDOS_G, 70 | OW_POKEMON ; person
object_event 6, 4, SPRITE_BIRD, STAY, LEFT, 1, ZAPDOS_G, 70 | OW_POKEMON ; person
def_warps_to BRUNSWICK_GROTTO

View file

@ -2,13 +2,15 @@ BrunswickTrail_Object:
db $43 ; border block
def_warp_events
warp_event 24, 11, CELESTE_HILL_CAVE, 1
warp_event 46, 5, BRUNSWICK_GROTTO, 1
warp_event 12, 9, GARNET_CAVERN_1F, 1
warp_event 40, 5, BRUNSWICK_GROTTO, 1
warp_event 41, 5, BRUNSWICK_GROTTO, 1
def_bg_events
def_object_events
object_event 29, 11, SPRITE_FAKE_TREE, STAY, NONE, 1, CACTUS, 60 | OW_POKEMON ; person
object_event 23, 11, SPRITE_FAKE_TREE, STAY, NONE, 1, CACTUS, 60 | OW_POKEMON ; person
object_event 37, 23, SPRITE_BRUNETTE_GIRL, STAY, DOWN, 2 ; person
object_event 40, 6, SPRITE_BIRD, STAY, UP, 3 ; person
def_warps_to BRUNSWICK_TRAIL

View file

@ -2,16 +2,13 @@ CelesteHill_Object:
db $0 ; border block
def_warp_events
warp_event 12, 23, BRUNSWICK_TRAIL, 1
warp_event 13, 23, BRUNSWICK_TRAIL, 1
warp_event 10, 21, CELESTE_HILL_OUTSIDE, 7
warp_event 11, 21, CELESTE_HILL_OUTSIDE, 8
def_bg_events
bg_event 12, 20, 2
bg_event 12, 8, 3
bg_event 10, 12, 2
def_object_events
object_event 12, 7, SPRITE_BIRD, STAY, DOWN, 1 ; person
object_event 13, 6, SPRITE_BIRD, STAY, DOWN, 1 ; person
object_event 11, 6, SPRITE_BIRD, STAY, DOWN, 1, MOLTRES_G, 70 | OW_POKEMON ; person
def_warps_to CELESTE_HILL

View file

@ -1,8 +1,14 @@
CelesteHillCave_Object:
db $0 ; border block
db $03 ; border block
def_warp_events
warp_event 4, 11, 0, REDS_HOUSE_2F
warp_event 18, 35, CELESTE_HILL_OUTSIDE, 3
warp_event 19, 35, CELESTE_HILL_OUTSIDE, 3
warp_event 19, 25, CELESTE_HILL_CAVE, 4
warp_event 2, 16, CELESTE_HILL_CAVE, 3
warp_event 37, 13, CELESTE_HILL_OUTSIDE, 4
warp_event 3, 3, CELESTE_HILL_OUTSIDE, 5
warp_event 35, 2, CELESTE_HILL_OUTSIDE, 6
def_bg_events

View file

@ -2,7 +2,14 @@ CelesteHillOutside_Object:
db $0 ; border block
def_warp_events
warp_event 4, 11, 0, REDS_HOUSE_2F
warp_event 18, 35, CITRINE_CITY, 5
warp_event 19, 35, CITRINE_CITY, 5
warp_event 16, 23, CELESTE_HILL_CAVE, 1
warp_event 36, 11, CELESTE_HILL_CAVE, 5
warp_event 2, 9, CELESTE_HILL_CAVE, 6
warp_event 22, 3, CELESTE_HILL_CAVE, 7
warp_event 18, 0, CELESTE_HILL, 1
warp_event 19, 0, CELESTE_HILL, 2
def_bg_events

View file

@ -6,10 +6,10 @@ CitrineCity_Object:
warp_event 9, 17, CITRINE_TRADEBACK_HOUSE, 1
warp_event 15, 17, CITRINE_POKECENTER, 1
warp_event 15, 27, CITRINE_MART, 1
warp_event 22, 5, GARNET_CAVERN_1F, 1
warp_event 23, 5, CELESTE_HILL_OUTSIDE, 1
warp_event 11, 7, BATTLE_TENT, 1
warp_event 35, 31, VERMILION_CITY, 6
warp_event 35, 30, VERMILION_CITY, 6
warp_event 27, 33, VERMILION_CITY, 6
warp_event 26, 33, VERMILION_CITY, 6
def_bg_events
bg_event 16, 27, 5 ; Citrine Shop
@ -18,13 +18,13 @@ CitrineCity_Object:
bg_event 5, 18, 8 ; Billboard 2
bg_event 9, 7, 9 ; Battle Tower
bg_event 25, 23, 10 ; City Sign
bg_event 21, 26, 11 ; Directions
bg_event 23, 7, 12 ; Garnet Cavern Sign
bg_event 21, 28, 11 ; Directions
bg_event 25, 7, 12 ; Celeste Hill Sign
def_object_events
object_event 12, 18, SPRITE_BEAUTY, WALK, LEFT_RIGHT, 1 ; person
object_event 6, 9, SPRITE_HIKER, WALK, LEFT_RIGHT, 2 ; person
object_event 20, 26, SPRITE_GENTLEMAN, STAY, UP, 3 ; person
object_event 10, 30, SPRITE_ROCKER, WALK, ANY_DIR, 4 ; person
object_event 31, 28, SPRITE_ROCKER, WALK, ANY_DIR, 4 ; person
def_warps_to CITRINE_CITY

View file

@ -2,8 +2,8 @@ GarnetCavern1F_Object:
db $7d ; border block
def_warp_events
warp_event 24, 17, CITRINE_CITY, 5
warp_event 25, 17, CITRINE_CITY, 5
warp_event 24, 17, BRUNSWICK_TRAIL, 1
warp_event 25, 17, BRUNSWICK_TRAIL, 1
warp_event 27, 1, GARNET_CAVERN_2F, 1
warp_event 23, 7, GARNET_CAVERN_2F, 2

View file

@ -78,7 +78,7 @@ MapSongBanks::
db MUSIC_CITIES1, 0 ; DAYCARE
db MUSIC_CITIES1, 0 ; ROUTE_6_GATE
db MUSIC_CITIES1, 0 ; UNDERGROUND_PATH_ROUTE_6
db MUSIC_DUNGEON2, 0 ; CELESTE_HILL, was UNDERGROUND_PATH_ROUTE_6_COPY
db MUSIC_KINCHOU01, 0 ; CELESTE_HILL, was UNDERGROUND_PATH_ROUTE_6_COPY
db MUSIC_CITIES1, 0 ; ROUTE_7_GATE
db MUSIC_CITIES1, 0 ; UNDERGROUND_PATH_ROUTE_7
db MUSIC_DUNGEON1, 0 ; Rocket House, UNDERGROUND_PATH_ROUTE_7_COPY
@ -208,8 +208,8 @@ MapSongBanks::
db MUSIC_DUNGEON1, 0 ; ROCKET_HIDEOUT_B4F
db MUSIC_DUNGEON1, 0 ; ROCKET_HIDEOUT_ELEVATOR
db MUSIC_POKECENTER, 0 ; CITRINE_MART, was UNUSED_MAP_CC
db MUSIC_DUNGEON3, 0 ; GARNET_CAVERN_1F, was UNUSED_MAP_CD
db MUSIC_DUNGEON3, 0 ; GARNET_CAVERN_2F, was UNUSED_MAP_CE
db MUSIC_DUNGEON1, 0 ; GARNET_CAVERN_1F, was UNUSED_MAP_CD
db MUSIC_KINCHOU01, 0 ; GARNET_CAVERN_B1F, was UNUSED_MAP_CE
db MUSIC_SILPH_CO, 0 ; SILPH_CO_2F
db MUSIC_SILPH_CO, 0 ; SILPH_CO_3F
db MUSIC_SILPH_CO, 0 ; SILPH_CO_4F
@ -240,7 +240,7 @@ MapSongBanks::
db MUSIC_SILPH_CO, 0 ; SILPH_CO_10F
db MUSIC_SILPH_CO, 0 ; SILPH_CO_11F
db MUSIC_SILPH_CO, 0 ; SILPH_CO_ELEVATOR
db MUSIC_DUNGEON3, 0 ; GARNET_CAVERN_2F, was UNUSED_MAP_ED
db MUSIC_DUNGEON1, 0 ; GARNET_CAVERN_2F, was UNUSED_MAP_ED
db MUSIC_DUNGEON2, 0 ; UNUSED_MAP_EE / Underwater Tunnel
db MUSIC_CELADON, 0 ; TRADE_CENTER
db MUSIC_CELADON, 0 ; COLOSSEUM
@ -254,6 +254,6 @@ MapSongBanks::
db MUSIC_GYM, 0 ; BATTLE_TENT
db MUSIC_VICTORY4, 0 ; MT_MOON_SQUARE
db MUSIC_VICTORY4, 0 ; MT_MOON_SQUARE_HOUSE
db MUSIC_KINCHOU01, 0 ; CELESTE_HILL_CAVE
db MUSIC_KINCHOU01, 0 ; CELESTE_HILL_OUTSIDE
db MUSIC_SILPH_CO, 0 ; CELESTE_HILL_CAVE
db MUSIC_SILPH_CO, 0 ; CELESTE_HILL_OUTSIDE
assert_table_length NUM_MAPS

View file

@ -74,7 +74,7 @@ Citrine_Coll::
coll_tiles $2C, $31, $3F, $55, $0E, $2F, $23, $20, $10, $03, $1C, $1B, $0B, $0C, $21, $39, $3C, $48, $49, $58, $59
Celeste_Coll::
coll_tiles $1e, $20, $2e, $30, $34, $37, $39, $3a, $40, $51, $52, $5a, $5c, $5e, $5f, $09, $08, $18, $19
coll_tiles $1e, $20, $2e, $30, $34, $37, $39, $3a, $40, $51, $52, $5a, $5c, $5e, $5f, $09, $08, $18, $19, $0c, $1c
RocketHouse_Coll::
coll_tiles $13, $31, $01, $53

View file

@ -14,6 +14,7 @@ DoorTileIDPointers:
dbw PLATEAU, .PlateauDoorTileIDs
dbw INTERIOR, .InteriorDoorTileIDs ; fixes weirdness in silph co.
dbw CITRINE, .CitrineDoorTileIDs
dbw CELESTE, .CelesteDoorTileIDs
db -1 ; end
MACRO door_tiles
@ -61,3 +62,7 @@ ENDM
.CitrineDoorTileIDs
door_tiles $1C, $1B, $58, $59
.CelesteDoorTileIDs
door_tiles $0C, $1C

View file

@ -10,5 +10,6 @@ DungeonTilesets:
db FACILITY
db CEMETERY
db GYM
db CELESTE
db ROCKETHOUSE
db -1 ; end

View file

@ -4,4 +4,5 @@ EscapeRopeTilesets:
db CAVERN
db FACILITY
db INTERIOR
db CELESTE
db -1 ; end

View file

@ -35,7 +35,7 @@ Tilesets:
tileset Plateau, -1, -1, -1, $45, TILEANIM_WATER
tileset PreGym, $3A, $3B, -1, -1, TILEANIM_NONE
tileset Citrine, -1, -1, -1, $3F, TILEANIM_WATER_FLOWER
tileset Celeste, -1, -1, -1, $18, TILEANIM_WATER_FLOWER
tileset Celeste, -1, -1, -1, $18, TILEANIM_WATER
tileset RocketHouse, $0A, -1, -1, -1, TILEANIM_NONE
tileset BetaMart, $18, -1, -1, -1, TILEANIM_NONE
assert_table_length NUM_TILESETS

View file

@ -149,6 +149,8 @@ SetPal_Overworld:
ld a, [wCurMap]
cp BRUNSWICK_TRAIL
jr z, .brunswick
cp BRUNSWICK_GROTTO
jr z, .brunswick
cp FIRST_INDOOR_MAP
jr c, .townOrRoute
cp POWER_PLANT
@ -159,6 +161,8 @@ SetPal_Overworld:
jr z, .pachinko
cp GAME_CORNER_PRIZE_ROOM
jr z, .pachinko
cp CELESTE_HILL_OUTSIDE
jr z, .celeste
cp CELESTE_HILL
jr z, .celeste
cp CERULEAN_CAVE_2F
@ -207,6 +211,9 @@ SetPal_Overworld:
.caveDefault
ld a, PAL_CAVE - 1
jr .town
.brunswick
ld a, PAL_BRUNSWICK - 1
jr .town
.forest
ld a, [wCurMap]
cp SILPH_GAUNTLET_1F + 1
@ -217,21 +224,18 @@ SetPal_Overworld:
jr c, .faraway
cp SAFARI_ZONE_CENTER + 1
jr c, .forestDefault
.brunswick
ld a, PAL_BRUNSWICK - 1
jr .town
.powerPlant
ld a, PAL_YELLOWMON - 1
jr .town
.celeste
ld a, PAL_CELESTE - 1
jr .town
.ship
ld a, PAL_VERMILION - 1
jr .town
.pachinko
ld a, PAL_CASINO - 1
jr .town
.celeste
ld a, PAL_CELESTE - 1
jr .town
.faraway
ld a, PAL_ROUTE - 1
jr .town

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Binary file not shown.

View file

@ -1 +1 @@
<@B>@@BB@@U_U_BB@@%"#$BB@@|}}BB@DrU_„FB@ƒa%a…B@ƒiU.)_i…B@ƒj<C692><6A><EFBFBD>ˆB@<><E280A0>s.†<>B@B@BDEEEEFYDEEEF
…B@ƒ…B@ƒ…B@ƒ$.%…B@ƒ…B@ƒ…B@ƒaU_a…B@ƒiU_i…B@ƒj<C692><6A><EFBFBD><E282AC>ˆ…B@†<>s)<>‡BDEFYDEF

View file

@ -1,2 +1,2 @@
,,=,+,..........................................012N 
w #jk„ixr $,+=,)+))-L^$^
,,<,a+,+,.............................................0b N 
 r'jk„r ,+=,)+)))^$^

Binary file not shown.

View file

@ -1,34 +1,45 @@
CCCChi(,,)CCCCCCKKZ[(,,)KKCC<dZ[$W%eFC<dV|}~VteFC<d
CCCuqv89CCCCKKZ[uvKKKFdZ[|~e<FdV|}~
Ve<Fd
I#####Ht
t
eFC<d
e<Fd
't t'
oooooteFC<d
' 'n meFC<d
ooooot
e<Fdt' 'n m
e<Fd
'tt 'n lll
eFC<d
e<Fd
'=r'n ooo
eFC<d&#####"n meFC<d
' 'tlllllteFC<d
'6 'tVt
eFC<d
' &###H
eFC<d
'=s'
'.FC<d
D#####"
T.CCCJC<d
e<Fd&#####"n m
e<Fd
' '
lllllt
e<Fd
'6 '
V
e<Fd
' '
n'meCTTTTT<-'eCxxxxxGxC>>>>>>'>>>>>>CC
t
te<Fdt'=s&###HQQQe<Fd
&#####E
'
te<Fd
'
T.<Jd'eKKKKKKKTKKKKKU<'FCCCCC<TFCCCCC

View file

@ -2054,7 +2054,7 @@ wRoute8GateCurScript:: db
ds 1
wCinnabarIslandCurScript:: db
wPokemonMansion1FCurScript:: db
ds 1
wBrunswickGrottoCurScript:: db
wPokemonMansion2FCurScript:: db
wPokemonMansion3FCurScript:: db
wPokemonMansionB1FCurScript:: db

View file

@ -1,44 +1,26 @@
BrunswickGrotto_Script:
jp EnableAutoTextBoxDrawing
call EnableAutoTextBoxDrawing
ld hl, BrunswickGrottoTrainerHeaders
ld de, BrunswickGrotto_ScriptPointers
ld a, [wBrunswickGrottoCurScript]
call ExecuteCurMapScriptInTable
ld [wBrunswickGrottoCurScript], a
ret
BrunswickGrotto_TextPointers:
dw GZapFound
dw GalarianZapdosText
dw BrunswickSign
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"

View file

@ -15,7 +15,7 @@ BrunswickTrail_ScriptPointers:
BrunswickTrail_TextPointers:
dw FakeTreeEvent
dw ZapdosGuy
dw GalarianZapdosText
dw GZapFound
BrunswickTrailTrainerHeaders:
def_trainers
@ -76,3 +76,36 @@ CactusBattleText:
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

View file

@ -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
CelesteHillSign1:
text_far _CelesteHillSign1
text_end
CelesteHillSign2:
text_far _CelesteHillSign2
CelesteHillTrainerHeaders:
def_trainers
GalarianMoltresTrainerHeader:
trainer EVENT_BEAT_GALARIAN_MOLTRES, 0, GalarianMoltresBattleText, GalarianMoltresBattleText, GalarianMoltresBattleText
db -1 ; end
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

View file

@ -1,16 +1,11 @@
_CelesteHillGalarianBirdScreech:: ; I think others should be made a single text_7 thing but this is different as it needs a "done"
_GalarianMoltresBattleText::
text "Gyaoo!"
done
_CelesteHillSign1::
text "SOUTH: BRUNSWICK"
line "TRAIL"
done
_CelesteHillSign2::
_CelesteHillSign::
text "When the sun"
line "shines upon this"
cont "HILL, the cruel"
cont "hill, the cruel"
cont "pretenders to"
cont "the winged"
cont "mirages will"