pokecrystal/maps/CeruleanGym.asm

384 lines
8.1 KiB
NASM

object_const_def ; object_event constants
const CERULEANGYM_ROCKET
const CERULEANGYM_MISTY
const CERULEANGYM_SWIMMER_GIRL1
const CERULEANGYM_SWIMMER_GIRL2
const CERULEANGYM_SWIMMER_GUY
const CERULEANGYM_GYM_GUY
CeruleanGym_MapScripts:
db 2 ; scene scripts
scene_script .DummyScene0 ; SCENE_CERULEANGYM_NOTHING
scene_script .GruntRunsOut ; SCENE_CERULEANGYM_GRUNT_RUNS_OUT
db 0 ; callbacks
.DummyScene0:
end
.GruntRunsOut:
prioritysjump .GruntRunsOutScript
end
.GruntRunsOutScript:
applymovement CERULEANGYM_ROCKET, CeruleanGymGruntRunsDownMovement
playsound SFX_TACKLE
applymovement CERULEANGYM_ROCKET, CeruleanGymGruntRunsIntoYouMovement
playmusic MUSIC_ROCKET_ENCOUNTER
opentext
writetext CeruleanGymGruntIntroText
waitbutton
closetext
showemote EMOTE_SHOCK, CERULEANGYM_ROCKET, 15
applymovement CERULEANGYM_ROCKET, CeruleanGymGruntBacksAwayMovement
opentext
writetext CeruleanGymGruntBigMistakeText
waitbutton
closetext
applymovement CERULEANGYM_ROCKET, CeruleanGymGruntMovesCloseMovement
opentext
writetext CeruleanGymGruntByeText
waitbutton
closetext
applymovement CERULEANGYM_ROCKET, CeruleanGymGruntRunsOutMovement
playsound SFX_EXIT_BUILDING
disappear CERULEANGYM_ROCKET
setevent EVENT_MET_ROCKET_GRUNT_AT_CERULEAN_GYM
clearevent EVENT_ROUTE_24_ROCKET
clearevent EVENT_ROUTE_25_MISTY_BOYFRIEND
setscene SCENE_CERULEANGYM_NOTHING
setmapscene ROUTE_25, SCENE_ROUTE25_MISTYS_DATE
setmapscene POWER_PLANT, SCENE_POWERPLANT_NOTHING
waitsfx
special RestartMapMusic
pause 15
turnobject PLAYER, DOWN
pause 15
end
CeruleanGymMistyScript:
faceplayer
opentext
checkflag ENGINE_CASCADEBADGE
iftrue .FightDone
writetext MistyIntroText
waitbutton
closetext
winlosstext MistyWinLossText, 0
loadtrainer MISTY, MISTY1
startbattle
reloadmapafterbattle
setevent EVENT_BEAT_MISTY
setevent EVENT_BEAT_SWIMMERF_DIANA
setevent EVENT_BEAT_SWIMMERF_BRIANA
setevent EVENT_BEAT_SWIMMERM_PARKER
opentext
writetext ReceivedCascadeBadgeText
playsound SFX_GET_BADGE
waitsfx
setflag ENGINE_CASCADEBADGE
.FightDone:
writetext MistyFightDoneText
waitbutton
closetext
end
TrainerSwimmerfDiana:
trainer SWIMMERF, DIANA, EVENT_BEAT_SWIMMERF_DIANA, SwimmerfDianaSeenText, SwimmerfDianaBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext SwimmerfDianaAfterBattleText
waitbutton
closetext
end
TrainerSwimmerfBriana:
trainer SWIMMERF, BRIANA, EVENT_BEAT_SWIMMERF_BRIANA, SwimmerfBrianaSeenText, SwimmerfBrianaBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext SwimmerfBrianaAfterBattleText
waitbutton
closetext
end
TrainerSwimmermParker:
trainer SWIMMERM, PARKER, EVENT_BEAT_SWIMMERM_PARKER, SwimmermParkerSeenText, SwimmermParkerBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext SwimmermParkerAfterBattleText
waitbutton
closetext
end
CeruleanGymGuyScript:
faceplayer
opentext
checkevent EVENT_BEAT_MISTY
iftrue .CeruleanGymGuyWinScript
writetext CeruleanGymGuyText
waitbutton
closetext
end
.CeruleanGymGuyWinScript:
writetext CeruleanGymGuyWinText
waitbutton
closetext
end
CeruleanGymHiddenMachinePart:
hiddenitem MACHINE_PART, EVENT_FOUND_MACHINE_PART_IN_CERULEAN_GYM
CeruleanGymStatue1:
checkevent EVENT_TRAINERS_IN_CERULEAN_GYM
iffalse CeruleanGymStatue
opentext
writetext CeruleanGymNote1Text
waitbutton
closetext
end
CeruleanGymStatue2:
checkevent EVENT_TRAINERS_IN_CERULEAN_GYM
iffalse CeruleanGymStatue
opentext
writetext CeruleanGymNote2Text
waitbutton
closetext
end
CeruleanGymStatue:
checkflag ENGINE_CASCADEBADGE
iftrue .Beaten
jumpstd gymstatue1
.Beaten:
gettrainername STRING_BUFFER_4, MISTY, MISTY1
jumpstd gymstatue2
CeruleanGymGruntRunsDownMovement:
big_step DOWN
big_step DOWN
big_step DOWN
big_step DOWN
step_end
CeruleanGymGruntRunsOutMovement:
big_step RIGHT
big_step DOWN
step_end
CeruleanGymGruntRunsIntoYouMovement:
fix_facing
set_sliding
jump_step UP
remove_sliding
remove_fixed_facing
step_sleep 8
step_sleep 8
step DOWN
step DOWN
step_end
CeruleanGymGruntMovesCloseMovement:
big_step DOWN
step_end
CeruleanGymGruntBacksAwayMovement:
fix_facing
slow_step UP
remove_fixed_facing
step_end
CeruleanGymGruntIntroText:
text "Oops! I so sorry!"
line "You not hurt,"
cont "okay?"
para "I very busy."
line "No time for talk-"
cont "ing with you. Not"
cont "good for me if"
cont "seen by somebody."
done
CeruleanGymGruntBigMistakeText:
text "Oh no! You seen"
line "me already! I make"
cont "big mistake!"
done
CeruleanGymGruntByeText:
text "Hey, you! Forget"
line "you see me, okay?"
para "You see, hear,"
line "know nothing,"
para "okay?"
line "Bye, kid! Nothing!"
para "Bye-bye a go-go!"
done
CeruleanGymNote1Text:
text "Sorry, I'll be out"
line "for a while."
cont "MISTY, GYM LEADER"
done
CeruleanGymNote2Text:
text "Since MISTY's out,"
line "we'll be away too."
cont "GYM TRAINERS"
done
MistyIntroText:
text "MISTY: I was ex-"
line "pecting you, you"
cont "pest!"
para "You may have a"
line "lot of JOHTO GYM"
para "BADGES, but you'd"
line "better not take me"
cont "too lightly."
para "My water-type"
line "#MON are tough!"
done
MistyWinLossText:
text "MISTY: You really"
line "are good…"
para "I'll admit that"
line "you are skilled…"
para "Here you go. It's"
line "CASCADEBADGE."
done
ReceivedCascadeBadgeText:
text "<PLAYER> received"
line "CASCADEBADGE."
done
MistyFightDoneText:
text "MISTY: Are there"
line "many strong train-"
cont "ers in JOHTO? Like"
cont "you, I mean."
para "I'm going to"
line "travel one day, so"
para "I can battle some"
line "skilled trainers."
done
SwimmerfDianaSeenText:
text "Sorry about being"
line "away. Let's get on"
cont "with it!"
done
SwimmerfDianaBeatenText:
text "I give up! You're"
line "the winner!"
done
SwimmerfDianaAfterBattleText:
text "I'll be swimming"
line "quietly."
done
SwimmerfBrianaSeenText:
text "Don't let my ele-"
line "gant swimming un-"
cont "nerve you."
done
SwimmerfBrianaBeatenText:
text "Ooh, you calmly"
line "disposed of me…"
done
SwimmerfBrianaAfterBattleText:
text "Don't be too smug"
line "about beating me."
para "MISTY will destroy"
line "you if you get"
cont "complacent."
done
SwimmermParkerSeenText:
text "Glub…"
para "I'm first! Come"
line "and get me!"
done
SwimmermParkerBeatenText:
text "This can't be…"
done
SwimmermParkerAfterBattleText:
text "MISTY has gotten"
line "much better in the"
cont "past few years."
para "Don't let your"
line "guard down, or"
cont "you'll be crushed!"
done
CeruleanGymGuyText:
text "Yo! CHAMP in"
line "making!"
para "Since MISTY was"
line "away, I went out"
para "for some fun too."
line "He-he-he."
done
CeruleanGymGuyWinText:
text "Hoo, you showed me"
line "how tough you are."
para "As always, that"
line "was one heck of a"
cont "great battle!"
done
CeruleanGym_MapEvents:
db 0, 0 ; filler
db 2 ; warp events
warp_event 4, 15, CERULEAN_CITY, 5
warp_event 5, 15, CERULEAN_CITY, 5
db 0 ; coord events
db 3 ; bg events
bg_event 3, 8, BGEVENT_ITEM, CeruleanGymHiddenMachinePart
bg_event 2, 13, BGEVENT_READ, CeruleanGymStatue1
bg_event 6, 13, BGEVENT_READ, CeruleanGymStatue2
db 6 ; object events
object_event 4, 10, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_CERULEAN_GYM_ROCKET
object_event 5, 3, SPRITE_MISTY, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, CeruleanGymMistyScript, EVENT_TRAINERS_IN_CERULEAN_GYM
object_event 4, 6, SPRITE_SWIMMER_GIRL, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 3, TrainerSwimmerfDiana, EVENT_TRAINERS_IN_CERULEAN_GYM
object_event 1, 9, SPRITE_SWIMMER_GIRL, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 1, TrainerSwimmerfBriana, EVENT_TRAINERS_IN_CERULEAN_GYM
object_event 8, 9, SPRITE_SWIMMER_GUY, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 3, TrainerSwimmermParker, EVENT_TRAINERS_IN_CERULEAN_GYM
object_event 7, 13, SPRITE_GYM_GUY, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, CeruleanGymGuyScript, EVENT_TRAINERS_IN_CERULEAN_GYM