Brunswick groundwork, misc. changes

The groundwork for Brunswick Trail events has been done. Wild data, Cactus event, and Zapdos-G events are set up, plus an NPC. This also makes the Fake Tree sprite available.

I made the warp at the tunnel in Brunswick goes directly to Celeste Hill and back. Warp tile made functional.

Many bugs right now:
- Cactus doesn't disappear after battling it. Also, making this work how I want it to is hard.
- Pokemon are encountered on every tile, which is likely because it's considered to be indoors. In trying to fix this, I seemed to completely screw up the maps, so this isn't being committed. Handle this with care.
- I made a spriteset specifically for Citrine, but it doesn't seem to be working for Brunswick, likely because Brunswick is an indoor map and thus isn't just taking it.

Misc. changes:
- Moved Sandy Shocks to a 4% encounter slot in Mt. Moon Crater to be equal to Scream Tail.
- Restored the proper translation for the "rotten PRESIDENT" scientist, courtesy of Dr. Lava and Nob Ogasawara.
This commit is contained in:
Llinos Evans 2023-04-27 04:08:27 +01:00
parent 7850a87e83
commit 108fb01070
19 changed files with 205 additions and 28 deletions

View file

@ -785,6 +785,8 @@
; Safari Zone events
const_next $880
const EVENT_BEAT_CACTUS
const EVENT_BEAT_ZAPDOSG
const EVENT_GOT_HM03
const EVENT_GOT_MELTAN

View file

@ -35,8 +35,6 @@ DEF SHOW EQU $15
const HS_SAFFRON_CITY_E ; 17
const HS_SAFFRON_CITY_F ; 18
const HS_SAFFRON_CITY_UP_GRADE ; 19
const HS_ROUTE_2_ITEM_2 ; 1A X
const HS_ROUTE_4_ITEM ; 1B X
const HS_ROUTE_9_ITEM ; 1C X
const HS_ROUTE_12_SNORLAX ; 1D
const HS_ROUTE_12_ITEM_1 ; 1E X
@ -225,6 +223,8 @@ DEF SHOW EQU $15
const HS_VICTORY_ROAD_1F_ITEM_1 ; D4 X
const HS_VICTORY_ROAD_1F_ITEM_2 ; D5 X
const HS_CHAMPIONS_ROOM_OAK ; D6
const HS_CACTUS ; 1A was ROUTE_2_ITEM_2
const HS_ZAPDOSG ; 1B was ROUTE_4_ITEM
const HS_SEAFOAM_ISLANDS_1F_BOULDER_1 ; D7
const HS_SEAFOAM_ISLANDS_1F_BOULDER_2 ; D8
const HS_SEAFOAM_ISLANDS_B1F_BOULDER_1 ; D9

View file

@ -83,7 +83,7 @@ DEF FIRST_STILL_SPRITE EQU const_value
const SPRITE_POKEDEX ; $4b
const SPRITE_CLIPBOARD ; $4c
const SPRITE_SNORLAX ; $4d
const SPRITE_UNUSED_OLD_AMBER ; $4e
const SPRITE_FAKE_TREE ; $4e was SPRITE_UNUSED_OLD_AMBER
const SPRITE_OLD_AMBER ; $4f
const SPRITE_UNUSED_GAMBLER_ASLEEP_1 ; $50
const SPRITE_UNUSED_GAMBLER_ASLEEP_2 ; $51

View file

@ -13,6 +13,7 @@
const SPRITESET_SILENCE_BRIDGE ; 08
const SPRITESET_CYCLING_ROAD ; 09
const SPRITESET_FUCHSIA ; 0a
const SPRITESET_CITRINE ; 0b
DEF NUM_SPRITE_SETS EQU const_value - 1
; split sprite set ids

View file

@ -17,9 +17,9 @@ MapHSPointers:
dw NoHS
dw NoHS
dw Route1HS
dw Route2HS
dw NoHS ; Route2HS is unnecessary due to new events replacing it.
dw NoHS
dw Route4HS
dw NoHS ; Route4HS was made unnecessary from replacements
dw NoHS
dw NoHS
dw NoHS
@ -177,7 +177,7 @@ MapHSPointers:
dw NoHS
dw NoHS
dw NoHS
dw NoHS
dw BrunswickTrailHS
dw NoHS
dw NoHS
dw NoHS
@ -293,11 +293,11 @@ SaffronCityHS:
db SAFFRON_CITY, $0E, SHOW
db SAFFRON_CITY, $0F, HIDE
db SAFFRON_CITY, $1A, HIDE
Route2HS:
;db ROUTE_2, $01, SHOW - removed for the former
db ROUTE_2, $02, SHOW
Route4HS:
db ROUTE_4, $03, SHOW
;Route2HS: - made redundant.
;db ROUTE_2, $01, SHOW
;db ROUTE_2, $02, SHOW
;Route4HS:
;db ROUTE_4, $03, SHOW
Route9HS:
db ROUTE_9, $0A, SHOW
Route12HS:
@ -555,6 +555,9 @@ VictoryRoad1FHS:
db VICTORY_ROAD_1F, $04, SHOW
ChampionsRoomHS:
db CHAMPIONS_ROOM, $02, HIDE
BrunswickTrailHS:
db BRUNSWICK_TRAIL, $01, SHOW
db BRUNSWICK_TRAIL, $03, SHOW ; to test, SHOW, otherwise HIDE
SeafoamIslands1FHS:
db SEAFOAM_ISLANDS_1F, $01, SHOW
db SEAFOAM_ISLANDS_1F, $02, SHOW

View file

@ -7,5 +7,8 @@ BrunswickTrail_Object:
def_bg_events
def_object_events
object_event 29, 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 46, 7, SPRITE_BIRD, STAY, DOWN, 3, ZAPDOS_G, 70 | OW_POKEMON ; person
def_warps_to BRUNSWICK_TRAIL

View file

@ -2,8 +2,7 @@ CelesteHill_Object:
db $0 ; border block
def_warp_events
warp_event 13, 23, ROUTE_1, 1
warp_event 12, 23, ROUTE_1, 1
warp_event 13, 23, BRUNSWICK_TRAIL, 1
def_bg_events

View file

@ -14,7 +14,7 @@ MapSpriteSets:
db SPRITESET_SAFFRON ; SAFFRON_CITY
db SPRITESET_PALLET_VIRIDIAN ; CINNABAR_ISLAND
db SPRITESET_INDIGO ; INDIGO_PLATEAU
db SPRITESET_PALLET_VIRIDIAN ; CITRINE_CITY
db SPRITESET_CITRINE ; CITRINE_CITY
db SPRITESET_PALLET_VIRIDIAN ; ROUTE_1
db SPLITSET_ROUTE_2 ; ROUTE_2
db SPRITESET_PEWTER_CERULEAN ; ROUTE_3
@ -198,4 +198,17 @@ SpriteSets:
db SPRITE_POKE_BALL
db SPRITE_FOSSIL
; SPRITESET_CITRINE
db SPRITE_BRUNETTE_GIRL
db SPRITE_BIRD
db SPRITE_SUPER_NERD ; free slot, add as needed.
db SPRITE_HIKER ; free slot, add as needed.
db SPRITE_GAMBLER ; free slot, add as needed.
db SPRITE_MONSTER ; free slot, add as needed.
db SPRITE_COOLTRAINER_F ; free slot, add as needed.
db SPRITE_COOLTRAINER_M ; free slot, add as needed.
db SPRITE_GUARD ; free slot, add as needed.
db SPRITE_POKE_BALL ; probably not free
db SPRITE_FAKE_TREE
assert_table_length NUM_SPRITE_SETS

View file

@ -87,7 +87,7 @@ SpriteSheetPointerTable:
overworld_sprite PokedexSprite, 4 ; SPRITE_POKEDEX
overworld_sprite ClipboardSprite, 4 ; SPRITE_CLIPBOARD
overworld_sprite SnorlaxSprite, 4 ; SPRITE_SNORLAX
overworld_sprite OldAmberSprite, 4 ; SPRITE_UNUSED_OLD_AMBER
overworld_sprite FakeTreeSprite, 4 ; was SPRITE_UNUSED_OLD_AMBER
overworld_sprite OldAmberSprite, 4 ; SPRITE_OLD_AMBER
overworld_sprite GamblerAsleepSprite, 4 ; SPRITE_UNUSED_GAMBLER_ASLEEP_1
overworld_sprite GamblerAsleepSprite, 4 ; SPRITE_UNUSED_GAMBLER_ASLEEP_2

View file

@ -36,5 +36,5 @@ Tilesets:
tileset PreGym, $3A, $3B, -1, -1, TILEANIM_NONE
tileset Citrine, -1, -1, -1, $3F, TILEANIM_WATER_FLOWER
tileset Celeste, -1, -1, -1, $19, TILEANIM_WATER_FLOWER
tileset RocketHouse, $0A, -1, -1, -1, TILEANIM_NONE
tileset RocketHouse, $0A, -1, -1, -1, TILEANIM_NONE
assert_table_length NUM_TILESETS

View file

@ -98,7 +98,7 @@ ENDM
warp_tiles $23
.CitrineWarpTileIDs:
warp_tiles $1B, $1C, $0B, $0C
warp_tiles $1B, $1C, $0B, $0C, $58, $59
.CelesteWarpTileIDs:
warp_tiles $5A, $5C, $3A, $30, $50, $51 ; Like Forest but a bit better

View file

@ -174,7 +174,7 @@ WildDataPointers:
dw NothingWildMons
dw NothingWildMons
dw NothingWildMons
dw NothingWildMons
dw BrunswickTrailMons
dw NothingWildMons
dw NothingWildMons
dw NothingWildMons
@ -333,4 +333,5 @@ INCLUDE "data/wild/maps/FarawayIslandInside.asm"
INCLUDE "data/wild/maps/MtMoonCrater.asm"
INCLUDE "data/wild/maps/UnderwaterTunnel.asm"
INCLUDE "data/wild/maps/BillsGarden.asm"
INCLUDE "data/wild/maps/CelesteHill.asm"
INCLUDE "data/wild/maps/CelesteHill.asm"
INCLUDE "data/wild/maps/BrunswickTrail.asm"

View file

@ -0,0 +1,28 @@
; Given it's the Galarian Zapdos area, let's theme it with racing Pokemon.
; Some of these are Pokemon featured in the Big P Pokemon Race from the anime.
BrunswickTrailMons:
def_grass_wildmons 10 ; encounter rate
db 49, TOEDSCOOL
db 47, DODRIO
db 53, TOEDSCOOL
db 52, DODRIO
db 52, RAPIDASH
db 55, TAUROS
db 55, SANDSLASH
db 56, TOEDSCRUEL
db 56, TOEDSCRUEL
db 55, CACTUS
end_grass_wildmons
def_water_wildmons 10 ; encounter rate
db 52, WEIRDUCK
db 54, WEIRDUCK
db 50, GOLDUCK
db 56, STARYU
db 50, STARYU
db 52, GOLDUCK ; The fastest swimmer in Kanto, as stated in the Pokedex book.
db 54, GOLDUCK
db 50, SEADRA
db 56, SEADRA
db 50, RATICATE ; Raticate are said to be able to swim; fun Easter Egg; seen in the anime.
end_water_wildmons

View file

@ -2,14 +2,14 @@ MtMoonCraterMons:
def_grass_wildmons 10 ; encounter rate
db 49, DUGTRIO
db 47, VENOMOTH
db 53, CHANSEY
db 53, RAICHU
db 52, VENOMOTH
db 52, DUGTRIO
db 55, RAICHU
db 55, ESPEON
db 55, UMBREON
db 56, ESPEON
db 56, SANDY_SHOCKS
db 50, SCREAM_TAIL
db 50, SANDY_SHOCKS
db 50, CHANSEY ; I don't like this but I also don't like the Paradox Pokemon not both being 4%. Sue me.
end_grass_wildmons
def_water_wildmons 10 ; encounter rate

View file

@ -89,3 +89,4 @@ SurfingPikachuSprite:: INCBIN "gfx/sprites/surfing_pikachu.2bpp"
JessieSprite:: INCBIN "gfx/sprites/jessie.2bpp"
JamesSprite:: INCBIN "gfx/sprites/james.2bpp"
SmallBirdSprite:: INCBIN "gfx/sprites/smallbird.2bpp"
FakeTreeSprite:: INCBIN "gfx/sprites/fake_tree.2bpp"

View file

@ -2077,7 +2077,7 @@ wSilphCo11FCurScript:: db
ds 1
wFuchsiaGymCurScript:: db
wSaffronGymCurScript:: db
ds 1
wBrunswickTrailCurScript:: db
wCinnabarGymCurScript:: db
wGameCornerCurScript:: db
wRoute16Gate1FCurScript:: db
@ -2085,7 +2085,7 @@ wBillsHouseCurScript:: db
wRoute5GateCurScript:: db
wPowerPlantCurScript:: ; overload
wRoute7GateCurScript:: db
wRoute1CurScript:: db ; pls work - for oak
wRoute1CurScript:: db
wSSAnne2FCurScript:: db
wCitrineCityCurScript:: db
wSeafoamIslandsB3FCurScript:: db

View file

@ -1,6 +1,92 @@
BrunswickTrail_Script:
jp EnableAutoTextBoxDrawing
ld hl, BrunswickTrail_ScriptPointers
ld a, [wBrunswickTrailCurScript]
jp CallFunctionInTable
BrunswickTrail_ScriptPointers:
dw CheckFightingMapTrainers
dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle
BrunswickTrail_TextPointers:
dw FakeTreeEvent
dw ZapdosGuy
dw GalarianZapdosText
BrunswickTrailTrainerHeaders:
def_trainers 0
CactusTrainerHeader:
trainer EVENT_BEAT_CACTUS, 0, CactusBattleText, CactusBattleText, CactusBattleText
GalarianZapdosTrainerHeader:
trainer EVENT_BEAT_ZAPDOSG, 0, GalarianZapdosBattleText, GalarianZapdosBattleText, GalarianZapdosBattleText
db -1 ; end
ZapdosGuy:
text_far _ZapdosGuy
text_end
FakeTreeNoCut:
text_far _FakeTreeNoCut
text_end
FakeTreePrompt:
text_far _FakeTreePrompt
text_end
; Ok, so here's how it is.
; So look, I tried to make the text work more efficiently with FakeTreeEvent.
; But one bug literally took me back to the fucking title screen and at that point I gave up and decided to do it this hacky way.
; I wanted to have some text before the CUT check. It did not work. It was terrifying.
; So instead I have two different versions of the same text, despite some being the same.
; It is inefficient, but it works. There's a lot to see in this life, and I'm not wasting it in Notepad++.
FakeTreeEvent:
text_asm
; ld d, CUT
; farcall HasPartyMove
; jr z, .NoCut
; jr nz, .HasCut
;.HasCut
ld hl, FakeTreePrompt
call PrintText
call YesNoChoice
ld a, [wCurrentMenuItem]
and a
jr nz, .refused
ld a, SFX_CUT
call PlaySound
ld hl, CactusTrainerHeader
call TalkToTrainer
jp TextScriptEnd ; I have tried a lot of things and it's not disappearing AAA
;.NoCut
; ld hl, FakeTreeNoCut ; Why do you have to be this way? I scream, for I do not know.
; call PrintText
; ret
.refused
jp TextScriptEnd
CactusBattleText:
text_far _FakeTreeAttack
text_asm
ld a, CACTUS
call PlayCry
call WaitForSoundToFinish
jp TextScriptEnd
GalarianZapdosText:
text_asm
ld hl, GalarianZapdosTrainerHeader
call TalkToTrainer
jp TextScriptEnd
GalarianZapdosBattleText:
text_far _GalarianZapdosBattleText
text_asm
ld a, ZAPDOS_G
call PlayCry
call WaitForSoundToFinish
jp TextScriptEnd
text_end ; unused

View file

@ -0,0 +1,40 @@
_ZapdosGuy::
text "Sometimes, a BIRD"
line "#MON with"
cont "strong legs comes"
cont "to race all the"
cont "#MON here."
done
_FakeTreeNoCut::
text "This tree can be"
line "CUT!"
done
_FakeTreePrompt::
text "This tree can be"
line "CUT!"
para "Would you like to"
line "use CUT?"
prompt
; The Cut script currently doesn't load what I want it to. Sp, I commented out the RAM and made it "you".
; For this to work, I need to make a special version of HasPartyMove.
_FakeTreeAttack::
;text_ram wcd6d
text "You tried"
line "to hack away..."
para "But it was a"
line "CACTUS!"
para "CACTUS retaliated"
line "in a rage!"
prompt
_GalarianZapdosBattleText::
text "Kyooo!"
prompt
; Martha can do the text for her things...

View file

@ -73,11 +73,11 @@ _SilphCo6AfterBattleText2::
_SilphCo6BattleText3::
text "That rotten"
line "PRESIDENT!"
line "CHIEF!"
para "He shouldn't have"
line "sent me to the"
cont "TIKSI BRANCH!"
line "sent me to PONAYA"
cont "TUNGUSKA!"
done
_SilphCo6EndBattleText3::