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_object_events
|
||||
object_event 19, 30, SPRITE_COOLTRAINER_F, WALK, RIGHT, 1, OPP_JR_TRAINER_F, 4
|
||||
object_event 22, 26, SPRITE_SUPER_NERD, WALK, LEFT, 2, OPP_SUPER_NERD, 6
|
||||
object_event 9, 6, SPRITE_GAMBLER, WALK, DOWN, 3, OPP_ENGINEER, 1
|
||||
object_event 25, 20, SPRITE_SUPER_NERD, WALK, DOWN, 4, OPP_SUPER_NERD, 7
|
||||
object_event 19, 30, SPRITE_COOLTRAINER_F, WALK, RIGHT, 1 ; trainer
|
||||
object_event 22, 26, SPRITE_SUPER_NERD, WALK, LEFT, 2 ; trainer
|
||||
object_event 9, 6, SPRITE_GAMBLER, WALK, DOWN, 3 ; trainer
|
||||
object_event 25, 20, SPRITE_SUPER_NERD, WALK, DOWN, 4 ; trainer
|
||||
object_event 4, 27, SPRITE_ROCKER, WALK, LEFT, 5
|
||||
object_event 33, 16, SPRITE_BEAUTY, WALK, DOWN, 6
|
||||
object_event 7, 22, SPRITE_SEEL, WALK, RIGHT, 7
|
||||
|
|
|
@ -1,15 +1,12 @@
|
|||
CeladonUniversityOutside_Script:
|
||||
call EnableAutoTextBoxDrawing
|
||||
ld hl, CeladonUniversityOutsideTrainerHeaders
|
||||
ld de, CeladonUniversityOutside_ScriptPointers
|
||||
; ld a, [wCeladonUniversityOutsideCurScript] these caused the trainers to have lines of sight?
|
||||
; call ExecuteCurMapScriptInTable
|
||||
; ld [wCeladonUniversityOutsideCurScript], a
|
||||
ld a, [wCeladonUniversityOutsideCurScript]
|
||||
call ExecuteCurMapScriptInTable
|
||||
ld [wCeladonUniversityOutsideCurScript], a
|
||||
ret
|
||||
|
||||
CeladonUniversityOutside_ScriptPointers:
|
||||
dw CheckFightingMapTrainers
|
||||
dw DisplayEnemyTrainerTextAndStartBattle
|
||||
dw EndTrainerBattle
|
||||
|
||||
CeladonUniversityOutside_TextPointers:
|
||||
|
@ -20,17 +17,6 @@ CeladonUniversityOutside_TextPointers:
|
|||
dw CeladonUniversityOutsideNPC1
|
||||
dw CeladonUniversityOutsideNPC2
|
||||
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
|
||||
|
||||
CeladonUniversityOutsideText1: ; Starter girl
|
||||
|
@ -41,15 +27,35 @@ CeladonUniversityOutsideText1: ; Starter girl
|
|||
ld a, [wCurrentMenuItem]
|
||||
and a
|
||||
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
|
||||
jr .done
|
||||
.refused
|
||||
ld hl, CeladonUniversityRefuse
|
||||
jr .done
|
||||
.done
|
||||
ld hl, CeladonUniversityOutsideAfterBattleText1
|
||||
ld hl, CeladonUniversityOutsideAfterBattleText
|
||||
call PrintText
|
||||
jp TextScriptEnd
|
||||
|
||||
|
@ -61,15 +67,35 @@ CeladonUniversityOutsideText2: ; Porygon guy
|
|||
ld a, [wCurrentMenuItem]
|
||||
and a
|
||||
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
|
||||
jr .done
|
||||
.refused
|
||||
ld hl, CeladonUniversityRefuse
|
||||
jr .done
|
||||
.done
|
||||
ld hl, CeladonUniversityOutsideAfterBattleText1
|
||||
ld hl, CeladonUniversityOutsideAfterBattleText
|
||||
call PrintText
|
||||
jp TextScriptEnd
|
||||
|
||||
|
@ -81,15 +107,35 @@ CeladonUniversityOutsideText3: ; Golem guy
|
|||
ld a, [wCurrentMenuItem]
|
||||
and a
|
||||
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
|
||||
jr .done
|
||||
.refused
|
||||
ld hl, CeladonUniversityRefuse
|
||||
jr .done
|
||||
.done
|
||||
ld hl, CeladonUniversityOutsideAfterBattleText1
|
||||
ld hl, CeladonUniversityOutsideAfterBattleText
|
||||
call PrintText
|
||||
jp TextScriptEnd
|
||||
|
||||
|
@ -101,15 +147,35 @@ CeladonUniversityOutsideText4: ; Mt Moon guy
|
|||
ld a, [wCurrentMenuItem]
|
||||
and a
|
||||
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
|
||||
jr .done
|
||||
.refused
|
||||
ld hl, CeladonUniversityRefuse
|
||||
jr .done
|
||||
.done
|
||||
ld hl, CeladonUniversityOutsideAfterBattleText1
|
||||
ld hl, CeladonUniversityOutsideAfterBattleText
|
||||
call PrintText
|
||||
jp TextScriptEnd
|
||||
|
||||
|
@ -125,12 +191,40 @@ CeladonUniversityOutsideBattleText1:
|
|||
text_far _CeladonUniversityOutsideBattleText1
|
||||
text_end
|
||||
|
||||
CeladonUniversityOutsideEndBattleText1:
|
||||
text_far _CeladonUniversityOutsideEndBattleText1
|
||||
CeladonUniversityOutsideBattleText2:
|
||||
text_far _CeladonUniversityOutsideBattleText2
|
||||
text_end
|
||||
|
||||
CeladonUniversityOutsideAfterBattleText1:
|
||||
text_far _CeladonUniversityOutsideAfterBattleText1
|
||||
CeladonUniversityOutsideBattleText3:
|
||||
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
|
||||
|
||||
CeladonUniversityOutsideYesNo1:
|
||||
|
|
|
@ -63,14 +63,16 @@ Route1OakText:
|
|||
ld hl, OakBeforeBattleText
|
||||
call PrintText
|
||||
|
||||
; call YesNoChoice ; this whole bit doesn't work for some reason
|
||||
; ld a, [wCurrentMenuItem]
|
||||
; and a
|
||||
; ld hl, OakYes
|
||||
; jr nz, .got_text
|
||||
; ld hl, OakNo
|
||||
;.got_text
|
||||
call YesNoChoice ; this whole bit doesn't work for some reason
|
||||
ld a, [wCurrentMenuItem]
|
||||
and a
|
||||
jr nz, .refused
|
||||
|
||||
ld hl, OakYes
|
||||
call PrintText
|
||||
ld c, BANK(Music_MeetMaleTrainer)
|
||||
ld a, MUSIC_MEET_MALE_TRAINER
|
||||
call PlayMusic
|
||||
ld hl, wd72d
|
||||
set 6, [hl]
|
||||
set 7, [hl]
|
||||
|
@ -103,6 +105,10 @@ Route1OakText:
|
|||
.Eevee
|
||||
ld a, $5 ; If Eevee, Gorochu
|
||||
jr .done
|
||||
.refused
|
||||
ld hl, OakNo
|
||||
call PrintText
|
||||
jp TextScriptEnd
|
||||
.done
|
||||
ld [wTrainerNo], a
|
||||
ld a, 1
|
||||
|
|
|
@ -11,13 +11,51 @@ _CeladonUniversityOutsideBattleText1::
|
|||
text "Ok! Game on!"
|
||||
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!"
|
||||
line "You beat me!"
|
||||
prompt
|
||||
|
||||
_CeladonUniversityOutsideAfterBattleText1::
|
||||
text "Aww! Maybe next"
|
||||
_CeladonUniversityOutsideLoseText2::
|
||||
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!"
|
||||
done
|
||||
|
||||
|
|
Loading…
Reference in a new issue