mirror of https://github.com/pret/pokecrystal.git
325 lines
7.6 KiB
NASM
325 lines
7.6 KiB
NASM
const_def 2 ; object constants
|
|
const INDIGOPLATEAUPOKECENTER1F_NURSE
|
|
const INDIGOPLATEAUPOKECENTER1F_CLERK
|
|
const INDIGOPLATEAUPOKECENTER1F_COOLTRAINER_M
|
|
const INDIGOPLATEAUPOKECENTER1F_SILVER
|
|
const INDIGOPLATEAUPOKECENTER1F_GRAMPS
|
|
const INDIGOPLATEAUPOKECENTER1F_ABRA
|
|
|
|
IndigoPlateauPokecenter1F_MapScripts:
|
|
db 1 ; scene scripts
|
|
scene_script .DummyScene ; SCENE_DEFAULT
|
|
|
|
db 1 ; callbacks
|
|
callback MAPCALLBACK_NEWMAP, .PrepareElite4
|
|
|
|
.DummyScene:
|
|
end
|
|
|
|
.PrepareElite4:
|
|
setmapscene WILLS_ROOM, SCENE_DEFAULT
|
|
setmapscene KOGAS_ROOM, SCENE_DEFAULT
|
|
setmapscene BRUNOS_ROOM, SCENE_DEFAULT
|
|
setmapscene KARENS_ROOM, SCENE_DEFAULT
|
|
setmapscene LANCES_ROOM, SCENE_DEFAULT
|
|
setmapscene HALL_OF_FAME, SCENE_DEFAULT
|
|
clearevent EVENT_WILLS_ROOM_ENTRANCE_CLOSED
|
|
clearevent EVENT_WILLS_ROOM_EXIT_OPEN
|
|
clearevent EVENT_KOGAS_ROOM_ENTRANCE_CLOSED
|
|
clearevent EVENT_KOGAS_ROOM_EXIT_OPEN
|
|
clearevent EVENT_BRUNOS_ROOM_ENTRANCE_CLOSED
|
|
clearevent EVENT_BRUNOS_ROOM_EXIT_OPEN
|
|
clearevent EVENT_KARENS_ROOM_ENTRANCE_CLOSED
|
|
clearevent EVENT_KARENS_ROOM_EXIT_OPEN
|
|
clearevent EVENT_LANCES_ROOM_ENTRANCE_CLOSED
|
|
clearevent EVENT_LANCES_ROOM_EXIT_OPEN
|
|
clearevent EVENT_BEAT_ELITE_4_WILL
|
|
clearevent EVENT_BEAT_ELITE_4_KOGA
|
|
clearevent EVENT_BEAT_ELITE_4_BRUNO
|
|
clearevent EVENT_BEAT_ELITE_4_KAREN
|
|
clearevent EVENT_BEAT_CHAMPION_LANCE
|
|
setevent EVENT_LANCES_ROOM_OAK_AND_MARY
|
|
return
|
|
|
|
PlateauRivalBattle1:
|
|
checkevent EVENT_BEAT_RIVAL_IN_MT_MOON
|
|
iffalse PlateauRivalScriptDone
|
|
checkflag ENGINE_INDIGO_PLATEAU_RIVAL_FIGHT
|
|
iftrue PlateauRivalScriptDone
|
|
checkcode VAR_WEEKDAY
|
|
ifequal SUNDAY, PlateauRivalScriptDone
|
|
ifequal TUESDAY, PlateauRivalScriptDone
|
|
ifequal THURSDAY, PlateauRivalScriptDone
|
|
ifequal FRIDAY, PlateauRivalScriptDone
|
|
ifequal SATURDAY, PlateauRivalScriptDone
|
|
moveobject INDIGOPLATEAUPOKECENTER1F_SILVER, 17, 9
|
|
appear INDIGOPLATEAUPOKECENTER1F_SILVER
|
|
turnobject PLAYER, DOWN
|
|
showemote EMOTE_SHOCK, PLAYER, 15
|
|
special FadeOutMusic
|
|
pause 15
|
|
applymovement INDIGOPLATEAUPOKECENTER1F_SILVER, PlateauRivalMovement1
|
|
playmusic MUSIC_RIVAL_ENCOUNTER
|
|
turnobject PLAYER, RIGHT
|
|
jump PlateauRivalBattleCommon
|
|
|
|
PlateauRivalBattle2:
|
|
checkevent EVENT_BEAT_RIVAL_IN_MT_MOON
|
|
iffalse PlateauRivalScriptDone
|
|
checkflag ENGINE_INDIGO_PLATEAU_RIVAL_FIGHT
|
|
iftrue PlateauRivalScriptDone
|
|
checkcode VAR_WEEKDAY
|
|
ifequal SUNDAY, PlateauRivalScriptDone
|
|
ifequal TUESDAY, PlateauRivalScriptDone
|
|
ifequal THURSDAY, PlateauRivalScriptDone
|
|
ifequal FRIDAY, PlateauRivalScriptDone
|
|
ifequal SATURDAY, PlateauRivalScriptDone
|
|
appear INDIGOPLATEAUPOKECENTER1F_SILVER
|
|
turnobject PLAYER, DOWN
|
|
showemote EMOTE_SHOCK, PLAYER, 15
|
|
special FadeOutMusic
|
|
pause 15
|
|
applymovement INDIGOPLATEAUPOKECENTER1F_SILVER, PlateauRivalMovement2
|
|
playmusic MUSIC_RIVAL_ENCOUNTER
|
|
turnobject PLAYER, LEFT
|
|
PlateauRivalBattleCommon:
|
|
opentext
|
|
writetext PlateauRivalText1
|
|
waitbutton
|
|
closetext
|
|
setevent EVENT_INDIGO_PLATEAU_POKECENTER_RIVAL
|
|
checkevent EVENT_GOT_TOTODILE_FROM_ELM
|
|
iftrue .Totodile
|
|
checkevent EVENT_GOT_CHIKORITA_FROM_ELM
|
|
iftrue .Chikorita
|
|
; Cyndaquil
|
|
winlosstext PlateauRivalWinText, PlateauRivalLoseText
|
|
setlasttalked INDIGOPLATEAUPOKECENTER1F_SILVER
|
|
loadtrainer RIVAL2, RIVAL2_2_TOTODILE
|
|
startbattle
|
|
dontrestartmapmusic
|
|
reloadmapafterbattle
|
|
jump PlateauRivalPostBattle
|
|
|
|
.Totodile:
|
|
winlosstext PlateauRivalWinText, PlateauRivalLoseText
|
|
setlasttalked INDIGOPLATEAUPOKECENTER1F_SILVER
|
|
loadtrainer RIVAL2, RIVAL2_2_CHIKORITA
|
|
startbattle
|
|
dontrestartmapmusic
|
|
reloadmapafterbattle
|
|
jump PlateauRivalPostBattle
|
|
|
|
.Chikorita:
|
|
winlosstext PlateauRivalWinText, PlateauRivalLoseText
|
|
setlasttalked INDIGOPLATEAUPOKECENTER1F_SILVER
|
|
loadtrainer RIVAL2, RIVAL2_2_CYNDAQUIL
|
|
startbattle
|
|
dontrestartmapmusic
|
|
reloadmapafterbattle
|
|
jump PlateauRivalPostBattle
|
|
|
|
PlateauRivalPostBattle:
|
|
playmusic MUSIC_RIVAL_AFTER
|
|
opentext
|
|
writetext PlateauRivalText2
|
|
waitbutton
|
|
closetext
|
|
turnobject PLAYER, DOWN
|
|
applymovement INDIGOPLATEAUPOKECENTER1F_SILVER, PlateauRivalLeavesMovement
|
|
disappear INDIGOPLATEAUPOKECENTER1F_SILVER
|
|
setscene SCENE_DEFAULT
|
|
playmapmusic
|
|
setflag ENGINE_INDIGO_PLATEAU_RIVAL_FIGHT
|
|
PlateauRivalScriptDone:
|
|
end
|
|
|
|
IndigoPlateauPokecenter1FNurseScript:
|
|
jumpstd pokecenternurse
|
|
|
|
IndigoPlateauPokecenter1FClerkScript:
|
|
opentext
|
|
pokemart MARTTYPE_STANDARD, MART_INDIGO_PLATEAU
|
|
closetext
|
|
end
|
|
|
|
IndigoPlateauPokecenter1FCooltrainerMScript:
|
|
jumptextfaceplayer IndigoPlateauPokecenter1FCooltrainerMText
|
|
|
|
TeleportGuyScript:
|
|
faceplayer
|
|
opentext
|
|
writetext TeleportGuyText1
|
|
yesorno
|
|
iffalse .No
|
|
writetext TeleportGuyYesText
|
|
waitbutton
|
|
closetext
|
|
playsound SFX_WARP_TO
|
|
special FadeOutPalettes
|
|
waitsfx
|
|
warp NEW_BARK_TOWN, 13, 6
|
|
end
|
|
|
|
.No:
|
|
writetext TeleportGuyNoText
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
AbraScript:
|
|
opentext
|
|
writetext AbraText
|
|
cry ABRA
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
PlateauRivalMovement1:
|
|
step UP
|
|
step UP
|
|
step UP
|
|
step UP
|
|
step UP
|
|
turn_head LEFT
|
|
step_end
|
|
|
|
PlateauRivalMovement2:
|
|
step UP
|
|
step UP
|
|
step UP
|
|
step UP
|
|
step UP
|
|
turn_head RIGHT
|
|
step_end
|
|
|
|
PlateauRivalLeavesMovement:
|
|
step DOWN
|
|
step DOWN
|
|
step DOWN
|
|
step DOWN
|
|
step DOWN
|
|
step_end
|
|
|
|
IndigoPlateauPokecenter1FCooltrainerMText:
|
|
text "At the #MON"
|
|
line "LEAGUE, you'll get"
|
|
|
|
para "tested by the"
|
|
line "ELITE FOUR."
|
|
|
|
para "You have to beat"
|
|
line "them all. If you"
|
|
|
|
para "lose, you have to"
|
|
line "start all over!"
|
|
done
|
|
|
|
PlateauRivalText1:
|
|
text "Hold it."
|
|
|
|
para "You're going to"
|
|
line "take the #MON"
|
|
|
|
para "LEAGUE challenge"
|
|
line "now?"
|
|
|
|
para "That's not going"
|
|
line "to happen."
|
|
|
|
para "My super-well-"
|
|
line "trained #MON"
|
|
|
|
para "are going to pound"
|
|
line "you."
|
|
|
|
para "<PLAYER>!"
|
|
line "I challenge you!"
|
|
done
|
|
|
|
PlateauRivalWinText:
|
|
text "…"
|
|
|
|
para "OK--I lost…"
|
|
done
|
|
|
|
PlateauRivalText2:
|
|
text "…Darn… I still"
|
|
line "can't win…"
|
|
|
|
para "I… I have to think"
|
|
line "more about my"
|
|
cont "#MON…"
|
|
|
|
para "Humph! Try not to"
|
|
line "lose!"
|
|
done
|
|
|
|
PlateauRivalLoseText:
|
|
text "…"
|
|
|
|
para "Whew…"
|
|
line "With my partners,"
|
|
|
|
para "I'm going to be"
|
|
line "the CHAMPION!"
|
|
done
|
|
|
|
TeleportGuyText1:
|
|
text "Ah! You're chal-"
|
|
line "lenging the ELITE"
|
|
|
|
para "FOUR? Are you sure"
|
|
line "you're ready?"
|
|
|
|
para "If you need to"
|
|
line "train some more,"
|
|
|
|
para "my ABRA can help"
|
|
line "you."
|
|
|
|
para "It can TELEPORT"
|
|
line "you home."
|
|
|
|
para "Would you like to"
|
|
line "go home now?"
|
|
done
|
|
|
|
TeleportGuyYesText:
|
|
text "OK, OK. Picture"
|
|
line "your house in your"
|
|
cont "mind…"
|
|
done
|
|
|
|
TeleportGuyNoText:
|
|
text "OK, OK. The best"
|
|
line "of luck to you!"
|
|
done
|
|
|
|
AbraText:
|
|
text "ABRA: Aabra…"
|
|
done
|
|
|
|
IndigoPlateauPokecenter1F_MapEvents:
|
|
db 0, 0 ; filler
|
|
|
|
db 4 ; warp events
|
|
warp_event 5, 13, ROUTE_23, 1
|
|
warp_event 6, 13, ROUTE_23, 2
|
|
warp_event 0, 13, POKECENTER_2F, 1
|
|
warp_event 14, 3, WILLS_ROOM, 1
|
|
|
|
db 2 ; coord events
|
|
coord_event 16, 4, SCENE_DEFAULT, PlateauRivalBattle1
|
|
coord_event 17, 4, SCENE_DEFAULT, PlateauRivalBattle2
|
|
|
|
db 0 ; bg events
|
|
|
|
db 6 ; object events
|
|
object_event 3, 7, SPRITE_NURSE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, IndigoPlateauPokecenter1FNurseScript, -1
|
|
object_event 11, 7, SPRITE_CLERK, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, IndigoPlateauPokecenter1FClerkScript, -1
|
|
object_event 11, 11, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, IndigoPlateauPokecenter1FCooltrainerMScript, -1
|
|
object_event 16, 9, SPRITE_SILVER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_INDIGO_PLATEAU_POKECENTER_RIVAL
|
|
object_event 1, 9, SPRITE_GRAMPS, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, TeleportGuyScript, EVENT_TELEPORT_GUY
|
|
object_event 0, 9, SPRITE_JYNX, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, AbraScript, EVENT_TELEPORT_GUY
|