mirror of
https://github.com/thornAvery/kep-hack.git
synced 2025-09-17 02:40:50 +12:00
Rework CeladonU Trainers
This refactors the Celadon University trainers to ensure that they process properly without the odd memory leak-y thing I did before. Overall works the same, just works for the intended purpose. I also applied what I learned to Professor Oak, giving a Yes/No prompt and adding some pre-battle music as I originally intended.
This commit is contained in:
parent
c9b01f2c64
commit
c759efdeea
|
@ -8,10 +8,10 @@ CeladonUniversityOutside_Object:
|
||||||
def_bg_events
|
def_bg_events
|
||||||
|
|
||||||
def_object_events
|
def_object_events
|
||||||
object_event 19, 30, SPRITE_COOLTRAINER_F, WALK, RIGHT, 1, OPP_JR_TRAINER_F, 4
|
object_event 19, 30, SPRITE_COOLTRAINER_F, WALK, RIGHT, 1 ; trainer
|
||||||
object_event 22, 26, SPRITE_SUPER_NERD, WALK, LEFT, 2, OPP_SUPER_NERD, 6
|
object_event 22, 26, SPRITE_SUPER_NERD, WALK, LEFT, 2 ; trainer
|
||||||
object_event 9, 6, SPRITE_GAMBLER, WALK, DOWN, 3, OPP_ENGINEER, 1
|
object_event 9, 6, SPRITE_GAMBLER, WALK, DOWN, 3 ; trainer
|
||||||
object_event 25, 20, SPRITE_SUPER_NERD, WALK, DOWN, 4, OPP_SUPER_NERD, 7
|
object_event 25, 20, SPRITE_SUPER_NERD, WALK, DOWN, 4 ; trainer
|
||||||
object_event 4, 27, SPRITE_ROCKER, WALK, LEFT, 5
|
object_event 4, 27, SPRITE_ROCKER, WALK, LEFT, 5
|
||||||
object_event 33, 16, SPRITE_BEAUTY, WALK, DOWN, 6
|
object_event 33, 16, SPRITE_BEAUTY, WALK, DOWN, 6
|
||||||
object_event 7, 22, SPRITE_SEEL, WALK, RIGHT, 7
|
object_event 7, 22, SPRITE_SEEL, WALK, RIGHT, 7
|
||||||
|
|
|
@ -1,15 +1,12 @@
|
||||||
CeladonUniversityOutside_Script:
|
CeladonUniversityOutside_Script:
|
||||||
call EnableAutoTextBoxDrawing
|
call EnableAutoTextBoxDrawing
|
||||||
ld hl, CeladonUniversityOutsideTrainerHeaders
|
|
||||||
ld de, CeladonUniversityOutside_ScriptPointers
|
ld de, CeladonUniversityOutside_ScriptPointers
|
||||||
; ld a, [wCeladonUniversityOutsideCurScript] these caused the trainers to have lines of sight?
|
ld a, [wCeladonUniversityOutsideCurScript]
|
||||||
; call ExecuteCurMapScriptInTable
|
call ExecuteCurMapScriptInTable
|
||||||
; ld [wCeladonUniversityOutsideCurScript], a
|
ld [wCeladonUniversityOutsideCurScript], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
CeladonUniversityOutside_ScriptPointers:
|
CeladonUniversityOutside_ScriptPointers:
|
||||||
dw CheckFightingMapTrainers
|
|
||||||
dw DisplayEnemyTrainerTextAndStartBattle
|
|
||||||
dw EndTrainerBattle
|
dw EndTrainerBattle
|
||||||
|
|
||||||
CeladonUniversityOutside_TextPointers:
|
CeladonUniversityOutside_TextPointers:
|
||||||
|
@ -20,17 +17,6 @@ CeladonUniversityOutside_TextPointers:
|
||||||
dw CeladonUniversityOutsideNPC1
|
dw CeladonUniversityOutsideNPC1
|
||||||
dw CeladonUniversityOutsideNPC2
|
dw CeladonUniversityOutsideNPC2
|
||||||
dw CeladonMagikarp
|
dw CeladonMagikarp
|
||||||
|
|
||||||
CeladonUniversityOutsideTrainerHeaders:
|
|
||||||
def_trainers 2
|
|
||||||
CeladonUniversityOutsideTrainerHeader0:
|
|
||||||
trainer EVENT_BEAT_CELADON_UNIVERSITY_OUTSIDE_TRAINER_0, 3, CeladonUniversityOutsideBattleText1, CeladonUniversityOutsideEndBattleText1, CeladonUniversityOutsideAfterBattleText1
|
|
||||||
CeladonUniversityOutsideTrainerHeader1:
|
|
||||||
trainer EVENT_BEAT_CELADON_UNIVERSITY_OUTSIDE_TRAINER_1, 3, CeladonUniversityOutsideBattleText1, CeladonUniversityOutsideEndBattleText1, CeladonUniversityOutsideAfterBattleText1
|
|
||||||
CeladonUniversityOutsideTrainerHeader2:
|
|
||||||
trainer EVENT_BEAT_CELADON_UNIVERSITY_OUTSIDE_TRAINER_2, 3, CeladonUniversityOutsideBattleText1, CeladonUniversityOutsideEndBattleText1, CeladonUniversityOutsideAfterBattleText1
|
|
||||||
CeladonUniversityOutsideTrainerHeader3:
|
|
||||||
trainer EVENT_BEAT_CELADON_UNIVERSITY_OUTSIDE_TRAINER_3, 3, CeladonUniversityOutsideBattleText1, CeladonUniversityOutsideEndBattleText1, CeladonUniversityOutsideAfterBattleText1
|
|
||||||
db -1 ; end
|
db -1 ; end
|
||||||
|
|
||||||
CeladonUniversityOutsideText1: ; Starter girl
|
CeladonUniversityOutsideText1: ; Starter girl
|
||||||
|
@ -41,15 +27,35 @@ CeladonUniversityOutsideText1: ; Starter girl
|
||||||
ld a, [wCurrentMenuItem]
|
ld a, [wCurrentMenuItem]
|
||||||
and a
|
and a
|
||||||
jr nz, .refused
|
jr nz, .refused
|
||||||
ld hl, CeladonUniversityOutsideTrainerHeader0
|
|
||||||
call TalkToTrainer
|
ld hl, CeladonUniversityOutsideBattleText1
|
||||||
|
call PrintText
|
||||||
|
|
||||||
|
ld c, BANK(Music_MeetFemaleTrainer)
|
||||||
|
ld a, MUSIC_MEET_FEMALE_TRAINER
|
||||||
|
call PlayMusic
|
||||||
|
|
||||||
|
ld hl, wd72d
|
||||||
|
set 6, [hl]
|
||||||
|
set 7, [hl]
|
||||||
|
call Delay3
|
||||||
|
ld a, OPP_JR_TRAINER_F
|
||||||
|
ld [wCurOpponent], a
|
||||||
|
ld a, 4
|
||||||
|
ld [wTrainerNo], a
|
||||||
|
ld [wIsTrainerBattle], a
|
||||||
|
ld a, $2
|
||||||
|
ld [wCeladonUniversityOutsideCurScript], a
|
||||||
|
ld hl, CeladonUniversityOutsideLoseText1
|
||||||
|
ld de, CeladonUniversityOutsideWinText
|
||||||
|
call SaveEndBattleTextPointers
|
||||||
jp TextScriptEnd
|
jp TextScriptEnd
|
||||||
jr .done
|
jr .done
|
||||||
.refused
|
.refused
|
||||||
ld hl, CeladonUniversityRefuse
|
ld hl, CeladonUniversityRefuse
|
||||||
jr .done
|
jr .done
|
||||||
.done
|
.done
|
||||||
ld hl, CeladonUniversityOutsideAfterBattleText1
|
ld hl, CeladonUniversityOutsideAfterBattleText
|
||||||
call PrintText
|
call PrintText
|
||||||
jp TextScriptEnd
|
jp TextScriptEnd
|
||||||
|
|
||||||
|
@ -61,15 +67,35 @@ CeladonUniversityOutsideText2: ; Porygon guy
|
||||||
ld a, [wCurrentMenuItem]
|
ld a, [wCurrentMenuItem]
|
||||||
and a
|
and a
|
||||||
jr nz, .refused
|
jr nz, .refused
|
||||||
ld hl, CeladonUniversityOutsideTrainerHeader0
|
|
||||||
call TalkToTrainer
|
ld hl, CeladonUniversityOutsideBattleText2
|
||||||
|
call PrintText
|
||||||
|
|
||||||
|
ld c, BANK(Music_MeetMaleTrainer)
|
||||||
|
ld a, MUSIC_MEET_MALE_TRAINER
|
||||||
|
call PlayMusic
|
||||||
|
|
||||||
|
ld hl, wd72d
|
||||||
|
set 6, [hl]
|
||||||
|
set 7, [hl]
|
||||||
|
call Delay3
|
||||||
|
ld a, OPP_SUPER_NERD
|
||||||
|
ld [wCurOpponent], a
|
||||||
|
ld a, 6
|
||||||
|
ld [wTrainerNo], a
|
||||||
|
ld [wIsTrainerBattle], a
|
||||||
|
ld a, $2
|
||||||
|
ld [wCeladonUniversityOutsideCurScript], a
|
||||||
|
ld hl, CeladonUniversityOutsideLoseText2
|
||||||
|
ld de, CeladonUniversityOutsideWinText
|
||||||
|
call SaveEndBattleTextPointers
|
||||||
jp TextScriptEnd
|
jp TextScriptEnd
|
||||||
jr .done
|
jr .done
|
||||||
.refused
|
.refused
|
||||||
ld hl, CeladonUniversityRefuse
|
ld hl, CeladonUniversityRefuse
|
||||||
jr .done
|
jr .done
|
||||||
.done
|
.done
|
||||||
ld hl, CeladonUniversityOutsideAfterBattleText1
|
ld hl, CeladonUniversityOutsideAfterBattleText
|
||||||
call PrintText
|
call PrintText
|
||||||
jp TextScriptEnd
|
jp TextScriptEnd
|
||||||
|
|
||||||
|
@ -81,15 +107,35 @@ CeladonUniversityOutsideText3: ; Golem guy
|
||||||
ld a, [wCurrentMenuItem]
|
ld a, [wCurrentMenuItem]
|
||||||
and a
|
and a
|
||||||
jr nz, .refused
|
jr nz, .refused
|
||||||
ld hl, CeladonUniversityOutsideTrainerHeader0
|
|
||||||
call TalkToTrainer
|
ld hl, CeladonUniversityOutsideBattleText3
|
||||||
|
call PrintText
|
||||||
|
|
||||||
|
ld c, BANK(Music_MeetMaleTrainer)
|
||||||
|
ld a, MUSIC_MEET_MALE_TRAINER
|
||||||
|
call PlayMusic
|
||||||
|
|
||||||
|
ld hl, wd72d
|
||||||
|
set 6, [hl]
|
||||||
|
set 7, [hl]
|
||||||
|
call Delay3
|
||||||
|
ld a, OPP_ENGINEER
|
||||||
|
ld [wCurOpponent], a
|
||||||
|
ld a, 1
|
||||||
|
ld [wTrainerNo], a
|
||||||
|
ld [wIsTrainerBattle], a
|
||||||
|
ld a, $2
|
||||||
|
ld [wCeladonUniversityOutsideCurScript], a
|
||||||
|
ld hl, CeladonUniversityOutsideLoseText3
|
||||||
|
ld de, CeladonUniversityOutsideWinText
|
||||||
|
call SaveEndBattleTextPointers
|
||||||
jp TextScriptEnd
|
jp TextScriptEnd
|
||||||
jr .done
|
jr .done
|
||||||
.refused
|
.refused
|
||||||
ld hl, CeladonUniversityRefuse
|
ld hl, CeladonUniversityRefuse
|
||||||
jr .done
|
jr .done
|
||||||
.done
|
.done
|
||||||
ld hl, CeladonUniversityOutsideAfterBattleText1
|
ld hl, CeladonUniversityOutsideAfterBattleText
|
||||||
call PrintText
|
call PrintText
|
||||||
jp TextScriptEnd
|
jp TextScriptEnd
|
||||||
|
|
||||||
|
@ -101,15 +147,35 @@ CeladonUniversityOutsideText4: ; Mt Moon guy
|
||||||
ld a, [wCurrentMenuItem]
|
ld a, [wCurrentMenuItem]
|
||||||
and a
|
and a
|
||||||
jr nz, .refused
|
jr nz, .refused
|
||||||
ld hl, CeladonUniversityOutsideTrainerHeader0
|
|
||||||
call TalkToTrainer
|
ld hl, CeladonUniversityOutsideBattleText4
|
||||||
|
call PrintText
|
||||||
|
|
||||||
|
ld c, BANK(Music_MeetMaleTrainer)
|
||||||
|
ld a, MUSIC_MEET_MALE_TRAINER
|
||||||
|
call PlayMusic
|
||||||
|
|
||||||
|
ld hl, wd72d
|
||||||
|
set 6, [hl]
|
||||||
|
set 7, [hl]
|
||||||
|
call Delay3
|
||||||
|
ld a, OPP_SUPER_NERD
|
||||||
|
ld [wCurOpponent], a
|
||||||
|
ld a, 7
|
||||||
|
ld [wTrainerNo], a
|
||||||
|
ld [wIsTrainerBattle], a
|
||||||
|
ld a, $2
|
||||||
|
ld [wCeladonUniversityOutsideCurScript], a
|
||||||
|
ld hl, CeladonUniversityOutsideLoseText4
|
||||||
|
ld de, CeladonUniversityOutsideWinText
|
||||||
|
call SaveEndBattleTextPointers
|
||||||
jp TextScriptEnd
|
jp TextScriptEnd
|
||||||
jr .done
|
jr .done
|
||||||
.refused
|
.refused
|
||||||
ld hl, CeladonUniversityRefuse
|
ld hl, CeladonUniversityRefuse
|
||||||
jr .done
|
jr .done
|
||||||
.done
|
.done
|
||||||
ld hl, CeladonUniversityOutsideAfterBattleText1
|
ld hl, CeladonUniversityOutsideAfterBattleText
|
||||||
call PrintText
|
call PrintText
|
||||||
jp TextScriptEnd
|
jp TextScriptEnd
|
||||||
|
|
||||||
|
@ -125,12 +191,40 @@ CeladonUniversityOutsideBattleText1:
|
||||||
text_far _CeladonUniversityOutsideBattleText1
|
text_far _CeladonUniversityOutsideBattleText1
|
||||||
text_end
|
text_end
|
||||||
|
|
||||||
CeladonUniversityOutsideEndBattleText1:
|
CeladonUniversityOutsideBattleText2:
|
||||||
text_far _CeladonUniversityOutsideEndBattleText1
|
text_far _CeladonUniversityOutsideBattleText2
|
||||||
text_end
|
text_end
|
||||||
|
|
||||||
CeladonUniversityOutsideAfterBattleText1:
|
CeladonUniversityOutsideBattleText3:
|
||||||
text_far _CeladonUniversityOutsideAfterBattleText1
|
text_far _CeladonUniversityOutsideBattleText3
|
||||||
|
text_end
|
||||||
|
|
||||||
|
CeladonUniversityOutsideBattleText4:
|
||||||
|
text_far _CeladonUniversityOutsideBattleText4
|
||||||
|
text_end
|
||||||
|
|
||||||
|
CeladonUniversityOutsideLoseText1:
|
||||||
|
text_far _CeladonUniversityOutsideLoseText1
|
||||||
|
text_end
|
||||||
|
|
||||||
|
CeladonUniversityOutsideLoseText2:
|
||||||
|
text_far _CeladonUniversityOutsideLoseText2
|
||||||
|
text_end
|
||||||
|
|
||||||
|
CeladonUniversityOutsideLoseText3:
|
||||||
|
text_far _CeladonUniversityOutsideLoseText3
|
||||||
|
text_end
|
||||||
|
|
||||||
|
CeladonUniversityOutsideLoseText4:
|
||||||
|
text_far _CeladonUniversityOutsideLoseText4
|
||||||
|
text_end
|
||||||
|
|
||||||
|
CeladonUniversityOutsideWinText:
|
||||||
|
text_far _CeladonUniversityOutsideWinText
|
||||||
|
text_end
|
||||||
|
|
||||||
|
CeladonUniversityOutsideAfterBattleText:
|
||||||
|
text_far _CeladonUniversityOutsideAfterBattleText
|
||||||
text_end
|
text_end
|
||||||
|
|
||||||
CeladonUniversityOutsideYesNo1:
|
CeladonUniversityOutsideYesNo1:
|
||||||
|
|
|
@ -63,14 +63,16 @@ Route1OakText:
|
||||||
ld hl, OakBeforeBattleText
|
ld hl, OakBeforeBattleText
|
||||||
call PrintText
|
call PrintText
|
||||||
|
|
||||||
; call YesNoChoice ; this whole bit doesn't work for some reason
|
call YesNoChoice ; this whole bit doesn't work for some reason
|
||||||
; ld a, [wCurrentMenuItem]
|
ld a, [wCurrentMenuItem]
|
||||||
; and a
|
and a
|
||||||
; ld hl, OakYes
|
jr nz, .refused
|
||||||
; jr nz, .got_text
|
|
||||||
; ld hl, OakNo
|
|
||||||
;.got_text
|
|
||||||
|
|
||||||
|
ld hl, OakYes
|
||||||
|
call PrintText
|
||||||
|
ld c, BANK(Music_MeetMaleTrainer)
|
||||||
|
ld a, MUSIC_MEET_MALE_TRAINER
|
||||||
|
call PlayMusic
|
||||||
ld hl, wd72d
|
ld hl, wd72d
|
||||||
set 6, [hl]
|
set 6, [hl]
|
||||||
set 7, [hl]
|
set 7, [hl]
|
||||||
|
@ -103,6 +105,10 @@ Route1OakText:
|
||||||
.Eevee
|
.Eevee
|
||||||
ld a, $5 ; If Eevee, Gorochu
|
ld a, $5 ; If Eevee, Gorochu
|
||||||
jr .done
|
jr .done
|
||||||
|
.refused
|
||||||
|
ld hl, OakNo
|
||||||
|
call PrintText
|
||||||
|
jp TextScriptEnd
|
||||||
.done
|
.done
|
||||||
ld [wTrainerNo], a
|
ld [wTrainerNo], a
|
||||||
ld a, 1
|
ld a, 1
|
||||||
|
|
|
@ -11,13 +11,51 @@ _CeladonUniversityOutsideBattleText1::
|
||||||
text "Ok! Game on!"
|
text "Ok! Game on!"
|
||||||
done
|
done
|
||||||
|
|
||||||
_CeladonUniversityOutsideEndBattleText1::
|
_CeladonUniversityOutsideBattleText2::
|
||||||
|
text "Ok! Go, PORYGON!"
|
||||||
|
done
|
||||||
|
|
||||||
|
_CeladonUniversityOutsideBattleText3::
|
||||||
|
text "I'm at the top"
|
||||||
|
line "of my game!"
|
||||||
|
cont "Go, GOLEM!"
|
||||||
|
done
|
||||||
|
|
||||||
|
_CeladonUniversityOutsideBattleText4::
|
||||||
|
text "This time, for"
|
||||||
|
line "sure!"
|
||||||
|
done
|
||||||
|
|
||||||
|
_CeladonUniversityOutsideLoseText1::
|
||||||
text "Darn!"
|
text "Darn!"
|
||||||
line "You beat me!"
|
line "You beat me!"
|
||||||
prompt
|
prompt
|
||||||
|
|
||||||
_CeladonUniversityOutsideAfterBattleText1::
|
_CeladonUniversityOutsideLoseText2::
|
||||||
text "Aww! Maybe next"
|
text "It"
|
||||||
|
line "needs an"
|
||||||
|
cont "UP-GRADE."
|
||||||
|
prompt
|
||||||
|
|
||||||
|
_CeladonUniversityOutsideLoseText3::
|
||||||
|
text "Not"
|
||||||
|
line "enough..."
|
||||||
|
prompt
|
||||||
|
|
||||||
|
_CeladonUniversityOutsideLoseText4::
|
||||||
|
text "One"
|
||||||
|
line "day I'll"
|
||||||
|
cont "beat you!"
|
||||||
|
prompt
|
||||||
|
|
||||||
|
_CeladonUniversityOutsideWinText::
|
||||||
|
text "Hmm!"
|
||||||
|
line "Need to brush"
|
||||||
|
cont "up?"
|
||||||
|
prompt
|
||||||
|
|
||||||
|
_CeladonUniversityOutsideAfterBattleText::
|
||||||
|
text "I'll get you next"
|
||||||
line "time!"
|
line "time!"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue