kep-hack/scripts/BrunswickTrail.asm
Martha Schilling 508a4e790e 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.
2023-09-19 23:34:25 +01:00

190 lines
3.9 KiB
NASM

BrunswickTrail_Script:
call EnableAutoTextBoxDrawing
ld hl, BrunswickTrailTrainerHeaders
ld de, BrunswickTrail_ScriptPointers
ld a, [wBrunswickTrailCurScript]
call ExecuteCurMapScriptInTable
ld [wBrunswickTrailCurScript], a
ret
BrunswickTrail_ScriptPointers:
dw CheckFightingMapTrainers
dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle
BrunswickTrail_TextPointers:
dw FakeTreeEvent
dw BrunswickTrainer1
dw BrunswickTrainer2
dw BrunswickTrainer3
dw CaveGuy
dw GZapFound
dw Lover1
dw Lover2
BrunswickTrailTrainerHeaders:
def_trainers
CactusTrainerHeader:
trainer EVENT_BEAT_CACTUS, 0, CactusBattleText, CactusBattleText, CactusBattleText
BrunswickTrainerHeader0:
trainer EVENT_BEAT_BRUNSWICK_TRAINER_0, 4, BrunswickBattleText1, BrunswickEndBattleText1, BrunswickAfterBattleText1
BrunswickTrainerHeader1:
trainer EVENT_BEAT_BRUNSWICK_TRAINER_1, 4, BrunswickBattleText2, BrunswickEndBattleText2, BrunswickAfterBattleText2
BrunswickTrainerHeader2:
trainer EVENT_BEAT_BRUNSWICK_TRAINER_2, 1, BrunswickBattleText3, BrunswickEndBattleText3, BrunswickAfterBattleText3
db -1 ; end
Lover1:
text_far _Lover1
text_end
Lover2:
text_far _Lover2
text_end
BrunswickTrainer1:
text_asm
ld hl, BrunswickTrainerHeader0
call TalkToTrainer
jp TextScriptEnd
BrunswickBattleText1:
text_far _BrunswickBattleText1
text_end
BrunswickEndBattleText1:
text_far _BrunswickEndBattleText1
text_end
BrunswickAfterBattleText1:
text_far _BrunswickAfterBattleText1
text_end
BrunswickTrainer2:
text_asm
ld hl, BrunswickTrainerHeader1
call TalkToTrainer
jp TextScriptEnd
BrunswickBattleText2:
text_far _BrunswickBattleText2
text_end
BrunswickEndBattleText2:
text_far _BrunswickEndBattleText2
text_end
BrunswickAfterBattleText2:
text_far _BrunswickAfterBattleText2
text_end
BrunswickTrainer3:
text_asm
ld hl, BrunswickTrainerHeader2
call TalkToTrainer
jp TextScriptEnd
BrunswickBattleText3:
text_far _BrunswickBattleText3
text_end
BrunswickEndBattleText3:
text_far _BrunswickEndBattleText3
text_end
BrunswickAfterBattleText3:
text_far _BrunswickAfterBattleText3
text_end
CaveGuy:
text_far _CaveGuy
text_end
FakeTreeNoCut:
text_far _FakeTreeNoCut
text_end
FakeTreePrompt:
text_far _FakeTreePrompt
text_end
; Ok, so here's how it is.
; I tried to make the text work more efficiently here, but nothing worked.
; One bug literally took me back to the fucking title screen and at that point I gave up.
; 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, CACTORMUS
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, SFX_RUN
call PlaySound
ld a, HS_BRUNSWICK_ZAPDOS_G_1
ld [wMissableObjectIndex], a
predef HideObject
ld a, HS_GLADE_GZAP_1
ld [wMissableObjectIndex], a
predef ShowObject
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..."
done
text_end
BirdTextCall:
text_far _BirdBattleText
text_end