kep-hack/scripts/BrunswickTrail.asm
Llinos Evans ffd03c1b06 Populating Brunswick Trail
This adds three trainers to Brunswick Trail, as well as the lover NPCs Martha wanted to write dialogue for (with placeholders for now).

Most trainers are merely commenting on the strong and energetic Pokemon, which I think matches the racing theme it has going on. This can be changed if need-be.

I have also removed all the noise on the Fake Tree sprite that got added when I imported the tile. Now, it's far more convincing.
2023-07-15 16:30:26 +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, CACTUS
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