mirror of
https://github.com/thornAvery/jep-hack.git
synced 2025-09-16 18:20:50 +12:00
594 lines
13 KiB
NASM
594 lines
13 KiB
NASM
object_const_def
|
|
const ROUTE25_MISTY
|
|
const ROUTE25_COOLTRAINER_M1
|
|
const ROUTE25_YOUNGSTER1
|
|
const ROUTE25_LASS1
|
|
const ROUTE25_YOUNGSTER2
|
|
const ROUTE25_LASS2
|
|
const ROUTE25_YOUNGSTER3
|
|
const ROUTE25_LASS3
|
|
const ROUTE25_SUPER_NERD
|
|
const ROUTE25_COOLTRAINER_M2
|
|
const ROUTE25_POKE_BALL
|
|
const ROUTE25_EUSINE
|
|
const ROUTE25_SUICUNE
|
|
|
|
Route25_MapScripts:
|
|
def_scene_scripts
|
|
scene_script Route25Noop1Scene, SCENE_ROUTE25_NOOP
|
|
scene_script Route25Noop2Scene, SCENE_ROUTE25_MISTYS_DATE
|
|
scene_script Route25Noop2Scene, SCENE_ROUTE25_FINAL_SUICUNE
|
|
|
|
def_callbacks
|
|
callback MAPCALLBACK_OBJECTS, Route25SuicuneCallback
|
|
|
|
Route25Noop1Scene:
|
|
end
|
|
|
|
Route25Noop2Scene:
|
|
end
|
|
|
|
; BUG: Movement is fucky, eusine is a little weird. I'm just incompetent.
|
|
; also it messes with the misty script
|
|
|
|
; the way things are, the game expects you to have beaten misty.
|
|
; set to change with a new location and hilly area, set up in a way where you cannot mess things up
|
|
Route25SuicuneCallback:
|
|
checkevent EVENT_BEAT_MISTY
|
|
iffalse .NoAppear
|
|
checkevent EVENT_SAW_SUICUNE_ON_ROUTE_14
|
|
iffalse .NoAppear
|
|
checkevent EVENT_FOUGHT_SUICUNE
|
|
iffalse .Appear
|
|
sjump .NoAppear
|
|
|
|
.Appear:
|
|
appear ROUTE25_SUICUNE
|
|
endcallback
|
|
|
|
.NoAppear:
|
|
disappear ROUTE25_SUICUNE
|
|
disappear ROUTE25_EUSINE ; just making sure, also skips using any events for this matter
|
|
endcallback
|
|
|
|
Route25SuicuneEventScript:
|
|
showemote EMOTE_SHOCK, PLAYER, 15
|
|
pause 15
|
|
;applymovement PLAYER, Route25PlayerMovement
|
|
|
|
appear ROUTE25_EUSINE
|
|
playmusic MUSIC_MYSTICALMAN_ENCOUNTER
|
|
applymovement ROUTE25_EUSINE, Route25EusineMovement1
|
|
opentext
|
|
writetext Route25EusineText1
|
|
waitbutton
|
|
closetext
|
|
applymovement ROUTE25_EUSINE, Route25EusineMovement2
|
|
opentext
|
|
writetext Route25EusineText2
|
|
waitbutton
|
|
closetext
|
|
special RestartMapMusic
|
|
end
|
|
|
|
Route25EusineText1:
|
|
text "EUSINE: Huff…puff…"
|
|
line "I am…no match for"
|
|
cont "you."
|
|
|
|
para "…"
|
|
|
|
para "Go ahead."
|
|
|
|
para "Ever since I met"
|
|
line "you in the BURN-"
|
|
cont "ED TOWER, I knew"
|
|
cont "SUICUNE would"
|
|
cont "choose you."
|
|
|
|
done
|
|
|
|
Route25EusineText2:
|
|
text "EUSINE: Look!"
|
|
|
|
para "SUICUNE is wait-"
|
|
line "ing for you!"
|
|
|
|
para "It's been waiting"
|
|
line "for a TRAINER it"
|
|
cont "can trust itself"
|
|
cont "with!"
|
|
|
|
done
|
|
|
|
Route25EusineText3:
|
|
text "EUSINE: <PLAYER>…"
|
|
line "You two are truly"
|
|
cont "amazing."
|
|
|
|
para "Never have I seen"
|
|
line "a battle that in-"
|
|
cont "tense…"
|
|
|
|
para "I guess this is"
|
|
line "goodbye."
|
|
|
|
para "…"
|
|
|
|
para "Farewell, <PLAYER>!"
|
|
|
|
para "…sob…"
|
|
|
|
para "Farewell, SUICUNE!"
|
|
|
|
done
|
|
|
|
Route25EusineMovement1:
|
|
big_step RIGHT
|
|
big_step RIGHT
|
|
step RIGHT
|
|
step_end
|
|
|
|
Route25EusineMovement2:
|
|
step RIGHT
|
|
step_end
|
|
|
|
Route25EusineMovement3:
|
|
big_step LEFT
|
|
big_step LEFT
|
|
big_step LEFT
|
|
big_step LEFT
|
|
big_step LEFT
|
|
big_step LEFT
|
|
step_end
|
|
|
|
Route25Suicune:
|
|
faceplayer
|
|
opentext
|
|
cry SUICUNE ; Traditionally, Suicune doesn't have text when fought
|
|
pause 15
|
|
closetext
|
|
setevent EVENT_FOUGHT_SUICUNE
|
|
loadvar VAR_BATTLETYPE, BATTLETYPE_FORCEITEM
|
|
loadwildmon SUICUNE, 55
|
|
startbattle
|
|
disappear ROUTE25_SUICUNE
|
|
reloadmapafterbattle
|
|
opentext
|
|
writetext Route25EusineText3
|
|
waitbutton
|
|
closetext
|
|
applymovement ROUTE25_EUSINE, Route25EusineMovement3
|
|
disappear ROUTE25_EUSINE
|
|
end
|
|
|
|
Route25MistyDate1Script:
|
|
showemote EMOTE_HEART, ROUTE25_MISTY, 15
|
|
pause 30
|
|
showemote EMOTE_SHOCK, ROUTE25_COOLTRAINER_M1, 10
|
|
turnobject ROUTE25_MISTY, DOWN
|
|
applymovement ROUTE25_COOLTRAINER_M1, Route25MistysDateLeavesMovement1
|
|
disappear ROUTE25_COOLTRAINER_M1
|
|
pause 15
|
|
playmusic MUSIC_BEAUTY_ENCOUNTER
|
|
turnobject ROUTE25_MISTY, UP
|
|
pause 10
|
|
applymovement ROUTE25_MISTY, Route25MistyApproachesPlayerMovement1
|
|
opentext
|
|
writetext Route25MistyDateText
|
|
waitbutton
|
|
closetext
|
|
turnobject PLAYER, DOWN
|
|
applymovement ROUTE25_MISTY, Route25MistyLeavesPlayerMovement1
|
|
turnobject PLAYER, LEFT
|
|
applymovement ROUTE25_MISTY, Route25MistyLeavesMovement
|
|
disappear ROUTE25_MISTY
|
|
clearevent EVENT_TRAINERS_IN_CERULEAN_GYM
|
|
setscene SCENE_ROUTE25_NOOP
|
|
special RestartMapMusic
|
|
end
|
|
|
|
Route25MistyDate2Script:
|
|
showemote EMOTE_HEART, ROUTE25_MISTY, 15
|
|
pause 30
|
|
showemote EMOTE_SHOCK, ROUTE25_COOLTRAINER_M1, 10
|
|
turnobject ROUTE25_MISTY, DOWN
|
|
applymovement ROUTE25_COOLTRAINER_M1, Route25MistysDateLeavesMovement2
|
|
disappear ROUTE25_COOLTRAINER_M1
|
|
pause 15
|
|
playmusic MUSIC_BEAUTY_ENCOUNTER
|
|
turnobject ROUTE25_MISTY, UP
|
|
pause 10
|
|
applymovement ROUTE25_MISTY, Route25MistyApproachesPlayerMovement2
|
|
opentext
|
|
writetext Route25MistyDateText
|
|
waitbutton
|
|
closetext
|
|
turnobject PLAYER, UP
|
|
applymovement ROUTE25_MISTY, Route25MistyLeavesPlayerMovement2
|
|
turnobject PLAYER, LEFT
|
|
applymovement ROUTE25_MISTY, Route25MistyLeavesMovement
|
|
disappear ROUTE25_MISTY
|
|
clearevent EVENT_TRAINERS_IN_CERULEAN_GYM
|
|
setscene SCENE_ROUTE25_NOOP
|
|
special RestartMapMusic
|
|
end
|
|
|
|
TrainerSchoolboyDudley:
|
|
trainer SCHOOLBOY, DUDLEY, EVENT_BEAT_SCHOOLBOY_DUDLEY, SchoolboyDudleySeenText, SchoolboyDudleyBeatenText, 0, .Script
|
|
|
|
.Script:
|
|
endifjustbattled
|
|
opentext
|
|
writetext SchoolboyDudleyAfterBattleText
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
TrainerLassEllen:
|
|
trainer LASS, ELLEN, EVENT_BEAT_LASS_ELLEN, LassEllenSeenText, LassEllenBeatenText, 0, .Script
|
|
|
|
.Script:
|
|
endifjustbattled
|
|
opentext
|
|
writetext LassEllenAfterBattleText
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
TrainerSchoolboyJoe:
|
|
trainer SCHOOLBOY, JOE, EVENT_BEAT_SCHOOLBOY_JOE, SchoolboyJoeSeenText, SchoolboyJoeBeatenText, 0, .Script
|
|
|
|
.Script:
|
|
endifjustbattled
|
|
opentext
|
|
writetext SchoolboyJoeAfterBattleText
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
TrainerLassLaura:
|
|
trainer LASS, LAURA, EVENT_BEAT_LASS_LAURA, LassLauraSeenText, LassLauraBeatenText, 0, .Script
|
|
|
|
.Script:
|
|
endifjustbattled
|
|
opentext
|
|
writetext LassLauraAfterBattleText
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
TrainerCamperLloyd:
|
|
trainer CAMPER, LLOYD, EVENT_BEAT_CAMPER_LLOYD, CamperLloydSeenText, CamperLloydBeatenText, 0, .Script
|
|
|
|
.Script:
|
|
endifjustbattled
|
|
opentext
|
|
writetext CamperLloydAfterBattleText
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
TrainerLassShannon:
|
|
trainer LASS, SHANNON, EVENT_BEAT_LASS_SHANNON, LassShannonSeenText, LassShannonBeatenText, 0, .Script
|
|
|
|
.Script:
|
|
endifjustbattled
|
|
opentext
|
|
writetext LassShannonAfterBattleText
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
TrainerSupernerdPat:
|
|
trainer SUPER_NERD, PAT, EVENT_BEAT_SUPER_NERD_PAT, SupernerdPatSeenText, SupernerdPatBeatenText, 0, .Script
|
|
|
|
.Script:
|
|
endifjustbattled
|
|
opentext
|
|
writetext SupernerdPatAfterBattleText
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
TrainerCooltrainermKevin:
|
|
faceplayer
|
|
opentext
|
|
checkevent EVENT_BEAT_COOLTRAINERM_KEVIN
|
|
iftrue .AfterBattle
|
|
checkevent EVENT_CLEARED_NUGGET_BRIDGE
|
|
iftrue .AfterNuggetBridge
|
|
writetext CooltrainermKevinNuggetText
|
|
promptbutton
|
|
verbosegiveitem NUGGET
|
|
iffalse .NoRoomForNugget
|
|
setevent EVENT_CLEARED_NUGGET_BRIDGE
|
|
.AfterNuggetBridge:
|
|
writetext CooltrainermKevinSeenText
|
|
waitbutton
|
|
closetext
|
|
winlosstext CooltrainermKevinBeatenText, 0
|
|
loadtrainer COOLTRAINERM, KEVIN
|
|
startbattle
|
|
reloadmapafterbattle
|
|
setevent EVENT_BEAT_COOLTRAINERM_KEVIN
|
|
opentext
|
|
.AfterBattle:
|
|
writetext CooltrainermKevinAfterBattleText
|
|
waitbutton
|
|
.NoRoomForNugget:
|
|
closetext
|
|
end
|
|
|
|
BillsHouseSign:
|
|
jumptext BillsHouseSignText
|
|
|
|
Route25Protein:
|
|
itemball PROTEIN
|
|
|
|
Route25HiddenPotion:
|
|
hiddenitem POTION, EVENT_ROUTE_25_HIDDEN_POTION
|
|
|
|
Route25MistysDateLeavesMovement1:
|
|
big_step DOWN
|
|
step_end
|
|
|
|
Route25MistysDateLeavesMovement2:
|
|
big_step DOWN
|
|
big_step DOWN
|
|
step_end
|
|
|
|
Route25MistyApproachesPlayerMovement1:
|
|
step UP
|
|
step UP
|
|
step UP
|
|
step LEFT
|
|
step LEFT
|
|
step LEFT
|
|
step_end
|
|
|
|
Route25MistyApproachesPlayerMovement2:
|
|
step UP
|
|
step UP
|
|
step LEFT
|
|
step LEFT
|
|
step LEFT
|
|
step_end
|
|
|
|
Route25MistyLeavesPlayerMovement1:
|
|
step DOWN
|
|
step LEFT
|
|
step_end
|
|
|
|
Route25MistyLeavesPlayerMovement2:
|
|
step UP
|
|
step LEFT
|
|
step_end
|
|
|
|
Route25MistyLeavesMovement:
|
|
step LEFT
|
|
step LEFT
|
|
step LEFT
|
|
step LEFT
|
|
step LEFT
|
|
step_end
|
|
|
|
Route25MistyDateText:
|
|
text "MISTY: Aww! Why"
|
|
line "did you have to"
|
|
|
|
para "show up and bug us"
|
|
line "now?"
|
|
|
|
para "Do you know what"
|
|
line "they call people"
|
|
cont "like you?"
|
|
|
|
para "Pests! You heard"
|
|
line "me right, pest!"
|
|
|
|
para "…"
|
|
|
|
para "…Oh? Those BADGES"
|
|
line "you have… Are they"
|
|
cont "JOHTO GYM BADGES?"
|
|
|
|
para "If you have eight,"
|
|
line "you must be good."
|
|
|
|
para "OK, then. Come to"
|
|
line "CERULEAN GYM."
|
|
|
|
para "I'll be happy to"
|
|
line "take you on."
|
|
|
|
para "I'm MISTY, the"
|
|
line "GYM LEADER in"
|
|
cont "CERULEAN."
|
|
done
|
|
|
|
SchoolboyDudleySeenText:
|
|
text "Beat the six of us"
|
|
line "trainers to win a"
|
|
cont "fabulous prize!"
|
|
|
|
para "Think you've got"
|
|
line "what it takes?"
|
|
done
|
|
|
|
SchoolboyDudleyBeatenText:
|
|
text "Whoo! Good stuff."
|
|
done
|
|
|
|
SchoolboyDudleyAfterBattleText:
|
|
text "I did my best."
|
|
line "I have no regrets."
|
|
done
|
|
|
|
LassEllenSeenText:
|
|
text "I'm second."
|
|
line "Now it's serious!"
|
|
done
|
|
|
|
LassEllenBeatenText:
|
|
text "How could I lose?"
|
|
done
|
|
|
|
LassEllenAfterBattleText:
|
|
text "I did my best."
|
|
line "I have no regrets."
|
|
done
|
|
|
|
SchoolboyJoeSeenText:
|
|
text "Here's No. 3!"
|
|
line "I won't be easy."
|
|
done
|
|
|
|
SchoolboyJoeBeatenText:
|
|
text "Ow! Stomped flat!"
|
|
done
|
|
|
|
SchoolboyJoeAfterBattleText:
|
|
text "I did my best."
|
|
line "I have no regrets."
|
|
done
|
|
|
|
LassLauraSeenText:
|
|
text "I'm No. 4!"
|
|
line "Getting tired?"
|
|
done
|
|
|
|
LassLauraBeatenText:
|
|
text "I lost too…"
|
|
done
|
|
|
|
LassLauraAfterBattleText:
|
|
text "I did my best."
|
|
line "I have no regrets."
|
|
done
|
|
|
|
CamperLloydSeenText:
|
|
text "OK! I'm No. 5."
|
|
line "I'll stomp you!"
|
|
done
|
|
|
|
CamperLloydBeatenText:
|
|
text "Whoa! Too much."
|
|
done
|
|
|
|
CamperLloydAfterBattleText:
|
|
text "I did my best."
|
|
line "I have no regrets."
|
|
done
|
|
|
|
LassShannonSeenText:
|
|
text "I'm the last in"
|
|
line "line, but I tell"
|
|
cont "you, I'm tough!"
|
|
done
|
|
|
|
LassShannonBeatenText:
|
|
text "You're kidding."
|
|
done
|
|
|
|
LassShannonAfterBattleText:
|
|
text "I did my best."
|
|
line "I have no regrets."
|
|
done
|
|
|
|
SupernerdPatSeenText:
|
|
text "Mufufufu…"
|
|
|
|
para "I have nothing to"
|
|
line "do with the six-"
|
|
cont "pack trainers."
|
|
|
|
para "I waited here to"
|
|
line "beat you when you"
|
|
|
|
para "were tired out by"
|
|
line "all the battles."
|
|
done
|
|
|
|
SupernerdPatBeatenText:
|
|
text "Aren't you tired"
|
|
line "at all?"
|
|
done
|
|
|
|
SupernerdPatAfterBattleText:
|
|
text "I'm sorry… I won't"
|
|
line "cheat anymore…"
|
|
done
|
|
|
|
CooltrainermKevinNuggetText:
|
|
text "You took on one"
|
|
line "more battle than"
|
|
|
|
para "you expected, but"
|
|
line "you won anyway."
|
|
|
|
para "As promised, you"
|
|
line "win a prize."
|
|
done
|
|
|
|
CooltrainermKevinSeenText:
|
|
text "But after seeing"
|
|
line "how you battle, I"
|
|
|
|
para "want to see how"
|
|
line "I'll fare."
|
|
|
|
para "How about it? Let"
|
|
line "me take you on."
|
|
done
|
|
|
|
CooltrainermKevinBeatenText:
|
|
text "I've never had a"
|
|
line "battle this good!"
|
|
done
|
|
|
|
CooltrainermKevinAfterBattleText:
|
|
text "That was a great"
|
|
line "battle!"
|
|
|
|
para "You and your #-"
|
|
line "MON are truly out-"
|
|
cont "standing!"
|
|
done
|
|
|
|
BillsHouseSignText:
|
|
text "SEA COTTAGE"
|
|
line "BILL'S HOUSE"
|
|
done
|
|
|
|
Route25_MapEvents:
|
|
db 0, 0 ; filler
|
|
|
|
def_warp_events
|
|
warp_event 47, 5, BILLS_HOUSE, 1
|
|
|
|
def_coord_events
|
|
coord_event 42, 6, SCENE_ROUTE25_MISTYS_DATE, Route25MistyDate1Script
|
|
coord_event 42, 7, SCENE_ROUTE25_MISTYS_DATE, Route25MistyDate2Script
|
|
coord_event 42, 6, SCENE_ROUTE25_FINAL_SUICUNE, Route25SuicuneEventScript
|
|
coord_event 42, 7, SCENE_ROUTE25_FINAL_SUICUNE, Route25SuicuneEventScript
|
|
|
|
def_bg_events
|
|
bg_event 45, 5, BGEVENT_READ, BillsHouseSign
|
|
bg_event 4, 5, BGEVENT_ITEM, Route25HiddenPotion
|
|
|
|
def_object_events
|
|
object_event 46, 9, SPRITE_MISTY, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_ROUTE_25_MISTY_BOYFRIEND
|
|
object_event 46, 10, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_ROUTE_25_MISTY_BOYFRIEND
|
|
object_event 12, 8, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerSchoolboyDudley, -1
|
|
object_event 16, 11, SPRITE_LASS, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerLassEllen, -1
|
|
object_event 21, 8, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 1, TrainerSchoolboyJoe, -1
|
|
object_event 22, 6, SPRITE_LASS, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerLassLaura, -1
|
|
object_event 25, 4, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 2, TrainerCamperLloyd, -1
|
|
object_event 28, 11, SPRITE_LASS, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 1, TrainerLassShannon, -1
|
|
object_event 31, 7, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 1, TrainerSupernerdPat, -1
|
|
object_event 37, 8, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, TrainerCooltrainermKevin, -1
|
|
object_event 32, 4, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route25Protein, EVENT_ROUTE_25_PROTEIN
|
|
object_event 40, 7, SPRITE_SUPER_NERD, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_FOUGHT_SUICUNE
|
|
object_event 50, 6, SPRITE_SUICUNE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, Route25Suicune, EVENT_FOUGHT_SUICUNE
|