pokecrystal/maps/Route35NationalParkGate.asm

456 lines
11 KiB
NASM

object_const_def
const ROUTE35NATIONALPARKGATE_OFFICER1
const ROUTE35NATIONALPARKGATE_YOUNGSTER
const ROUTE35NATIONALPARKGATE_OFFICER2
Route35NationalParkGate_MapScripts:
def_scene_scripts
scene_script .DummyScene0 ; SCENE_ROUTE35NATIONALPARKGATE_NOTHING
scene_script .DummyScene1 ; SCENE_ROUTE35NATIONALPARKGATE_UNUSED
scene_script .LeaveContestEarly ; SCENE_ROUTE35NATIONALPARKGATE_LEAVE_CONTEST_EARLY
def_callbacks
callback MAPCALLBACK_NEWMAP, .CheckIfContestRunning
callback MAPCALLBACK_OBJECTS, .CheckIfContestAvailable
.DummyScene0:
end
.DummyScene1:
end
.LeaveContestEarly:
prioritysjump .LeavingContestEarly
end
.CheckIfContestRunning:
checkflag ENGINE_BUG_CONTEST_TIMER
iftrue .BugContestIsRunning
setscene SCENE_ROUTE35NATIONALPARKGATE_NOTHING
endcallback
.BugContestIsRunning:
setscene SCENE_ROUTE35NATIONALPARKGATE_LEAVE_CONTEST_EARLY
endcallback
.CheckIfContestAvailable:
readvar VAR_WEEKDAY
ifequal TUESDAY, .SetContestOfficer
ifequal THURSDAY, .SetContestOfficer
ifequal SATURDAY, .SetContestOfficer
checkflag ENGINE_BUG_CONTEST_TIMER
iftrue .BugContestIsRunning
disappear ROUTE35NATIONALPARKGATE_OFFICER1
appear ROUTE35NATIONALPARKGATE_YOUNGSTER
appear ROUTE35NATIONALPARKGATE_OFFICER2
endcallback
.SetContestOfficer:
appear ROUTE35NATIONALPARKGATE_OFFICER1
disappear ROUTE35NATIONALPARKGATE_YOUNGSTER
disappear ROUTE35NATIONALPARKGATE_OFFICER2
endcallback
.LeavingContestEarly:
applymovement PLAYER, Route35NationalParkGatePlayerApproachOfficer1Movement
turnobject ROUTE35NATIONALPARKGATE_OFFICER1, RIGHT
opentext
readvar VAR_CONTESTMINUTES
addval 1
getnum STRING_BUFFER_3
writetext Route35NationalParkGateOfficer1WantToFinishText
yesorno
iffalse .GoBackToContest
writetext Route35NationalParkGateOfficer1WaitAtNorthGateText
waitbutton
closetext
jumpstd BugContestResultsWarpScript
.GoBackToContest:
writetext Route35NationalParkGateOfficer1OkGoFinishText
waitbutton
closetext
scall Route35NationalParkGate_EnterContest
playsound SFX_ENTER_DOOR
special FadeOutPalettes
waitsfx
warpfacing UP, NATIONAL_PARK_BUG_CONTEST, 10, 47
end
Route35OfficerScriptContest:
readvar VAR_WEEKDAY
ifequal SUNDAY, Route35NationalParkGate_NoContestToday
ifequal MONDAY, Route35NationalParkGate_NoContestToday
ifequal WEDNESDAY, Route35NationalParkGate_NoContestToday
ifequal FRIDAY, Route35NationalParkGate_NoContestToday
faceplayer
opentext
checkflag ENGINE_DAILY_BUG_CONTEST
iftrue Route35NationalParkGate_ContestIsOver
scall Route35NationalParkGate_GetDayOfWeek
writetext Route35NationalParkGateOfficer1AskToParticipateText
yesorno
iffalse Route35NationalParkGate_DeclinedToParticipate
readvar VAR_PARTYCOUNT
ifgreater 1, Route35NationalParkGate_LeaveTheRestBehind
special ContestDropOffMons
clearevent EVENT_LEFT_MONS_WITH_CONTEST_OFFICER
Route35NationalParkGate_OkayToProceed:
setflag ENGINE_BUG_CONTEST_TIMER
special PlayMapMusic
writetext Route35NationalParkGateOfficer1GiveParkBallsText
promptbutton
writetext Route35NationalParkGatePlayerReceivedParkBallsText
playsound SFX_ITEM
waitsfx
writetext Route35NationalParkGateOfficer1ExplainsRulesText
waitbutton
closetext
special GiveParkBalls
scall Route35NationalParkGate_EnterContest
playsound SFX_ENTER_DOOR
special FadeOutPalettes
waitsfx
special SelectRandomBugContestContestants
warpfacing UP, NATIONAL_PARK_BUG_CONTEST, 10, 47
end
Route35NationalParkGate_EnterContest:
readvar VAR_FACING
ifequal LEFT, Route35NationalParkGate_FacingLeft
applymovement PLAYER, Route35NationalParkGatePlayerGoAroundOfficerAndEnterParkMovement
end
Route35NationalParkGate_FacingLeft:
applymovement PLAYER, Route35NationalParkGatePlayerEnterParkMovement
end
Route35NationalParkGate_LeaveTheRestBehind:
readvar VAR_PARTYCOUNT
ifless PARTY_LENGTH, Route35NationalParkGate_LessThanFullParty
readvar VAR_BOXSPACE
ifequal 0, Route35NationalParkGate_NoRoomInBox
Route35NationalParkGate_LessThanFullParty:
special CheckFirstMonIsEgg
ifequal TRUE, Route35NationalParkGate_FirstMonIsEgg
writetext Route35NationalParkGateOfficer1AskToUseFirstMonText
yesorno
iffalse Route35NationalParkGate_DeclinedToLeaveMonsBehind
special ContestDropOffMons
iftrue Route35NationalParkGate_FirstMonIsFainted
setevent EVENT_LEFT_MONS_WITH_CONTEST_OFFICER
writetext Route35NationalParkGateOfficer1WellHoldYourMonText
promptbutton
writetext Route35NationalParkGatePlayersMonLeftWithHelperText
playsound SFX_GOT_SAFARI_BALLS
waitsfx
promptbutton
sjump Route35NationalParkGate_OkayToProceed
Route35NationalParkGate_DeclinedToParticipate:
writetext Route35NationalParkGateOfficer1TakePartInFutureText
waitbutton
closetext
end
Route35NationalParkGate_DeclinedToLeaveMonsBehind:
writetext Route35NationalParkGateOfficer1ChooseMonAndComeBackText
waitbutton
closetext
end
Route35NationalParkGate_FirstMonIsFainted:
writetext Route35NationalParkGateOfficer1FirstMonCantBattleText
waitbutton
closetext
end
Route35NationalParkGate_NoRoomInBox:
writetext Route35NationalParkGateOfficer1MakeRoomText
waitbutton
closetext
end
Route35NationalParkGate_FirstMonIsEgg:
writetext Route35NationalParkGateOfficer1EggAsFirstMonText
waitbutton
closetext
end
Route35NationalParkGate_ContestIsOver:
writetext Route35NationalParkGateOfficer1ContestIsOverText
waitbutton
closetext
end
Route35NationalParkGate_NoContestToday:
jumptextfaceplayer Route35NationalParkGateOfficer1WeHoldContestsText
Route35NationalParkGateOfficerScript:
faceplayer
opentext
checkflag ENGINE_DAILY_BUG_CONTEST
iftrue Route35NationalParkGate_ContestIsOver
writetext Route35NationalParkGateOfficer1WeHoldContestsText
waitbutton
closetext
end
Route35NationalParkGateYoungsterScript:
jumptextfaceplayer Route35NationalParkGateYoungsterText
BugCatchingContestExplanationSign:
jumptext BugCatchingContestExplanationText
Route35NationalParkGate_GetDayOfWeek:
jumpstd DayToTextScript
end
Route35NationalParkGatePlayerApproachOfficer1Movement:
step DOWN
turn_head LEFT
step_end
Route35NationalParkGatePlayerGoAroundOfficerAndEnterParkMovement:
step RIGHT
step UP
step UP
step_end
Route35NationalParkGatePlayerEnterParkMovement:
step UP
step_end
Route35NationalParkGateOfficer1AskToParticipateText:
text "Today's @"
text_ram wStringBuffer3
text "."
line "That means the"
para "Bug-Catching Con-"
line "test is on today."
para "The rules are sim-"
line "ple."
para "Using one of your"
line "#MON, catch a"
para "bug #MON to be"
line "judged."
para "Would you like to"
line "give it a try?"
done
Route35NationalParkGateOfficer1GiveParkBallsText:
text "Here are the PARK"
line "BALLS for the"
cont "Contest."
done
Route35NationalParkGatePlayerReceivedParkBallsText:
text "<PLAYER> received"
line "{d:BUG_CONTEST_BALLS} PARK BALLS."
done
Route35NationalParkGateOfficer1ExplainsRulesText:
text "The person who"
line "gets the strong-"
cont "est bug #MON"
cont "is the winner."
para "You have {d:BUG_CONTEST_MINUTES}"
line "minutes."
para "If you run out of"
line "PARK BALLS, you're"
cont "done."
para "You can keep the"
line "last #MON you"
cont "catch as your own."
para "Go out and catch"
line "the strongest bug"
para "#MON you can"
line "find!"
done
Route35NationalParkGateOfficer1AskToUseFirstMonText:
text "Uh-oh…"
para "You have more than"
line "one #MON."
para "You'll have to use"
line "@"
text_ram wStringBuffer3
text ", the"
para "first #MON in"
line "your party."
para "Is that OK with"
line "you?"
done
Route35NationalParkGateOfficer1WellHoldYourMonText:
text "Fine, we'll hold"
line "your other #MON"
cont "while you compete."
done
Route35NationalParkGatePlayersMonLeftWithHelperText:
text "<PLAYER>'s #MON"
line "were left with the"
cont "CONTEST HELPER."
done
Route35NationalParkGateOfficer1ChooseMonAndComeBackText:
text "Please choose the"
line "#MON to be used"
para "in the Contest,"
line "then come see me."
done
Route35NationalParkGateOfficer1TakePartInFutureText:
text "OK. We hope you'll"
line "take part in the"
cont "future."
done
Route35NationalParkGateOfficer1FirstMonCantBattleText:
text "Uh-oh…"
line "The first #MON"
para "in your party"
line "can't battle."
para "Please switch it"
line "with the #MON"
para "you want to use,"
line "then come see me."
done
Route35NationalParkGateOfficer1MakeRoomText:
text "Uh-oh…"
line "Both your party"
para "and your PC BOX"
line "are full."
para "You have no room"
line "to put the bug"
cont "#MON you catch."
para "Please make room"
line "in your party or"
para "your PC BOX, then"
line "come see me."
done
Route35NationalParkGateOfficer1EggAsFirstMonText:
text "Uh-oh…"
line "You have an EGG as"
para "the first #MON"
line "in your party."
para "Please switch it"
line "with the #MON"
para "you want to use,"
line "then come see me."
done
Route35NationalParkGateOfficer1WantToFinishText:
text "You still have @"
text_ram wStringBuffer3
text_start
line "minute(s) left."
para "Do you want to"
line "finish now?"
done
Route35NationalParkGateOfficer1WaitAtNorthGateText:
text "OK. Please wait at"
line "the North Gate for"
para "the announcement"
line "of the winners."
done
Route35NationalParkGateOfficer1OkGoFinishText:
text "OK. Please get"
line "back outside and"
cont "finish up."
done
Route35NationalParkGateOfficer1ContestIsOverText:
text "Today's Contest is"
line "over. We hope you"
para "will participate"
line "in the future."
done
Route35NationalParkGateOfficer1WeHoldContestsText:
text "We hold Contests"
line "regularly in the"
para "PARK. You should"
line "give it a shot."
done
Route35NationalParkGateYoungsterText:
text "When is the next"
line "Bug-Catching Con-"
cont "test going to be?"
done
BugCatchingContestExplanationText:
text "The Bug-Catching"
line "Contest is held on"
para "Tuesday, Thursday"
line "and Saturday."
para "Not only do you"
line "earn a prize just"
para "for participating,"
line "you also get to"
para "keep the bug"
line "#MON you may"
para "have at the end of"
line "the contest."
done
Route35NationalParkGate_MapEvents:
db 0, 0 ; filler
def_warp_events
warp_event 3, 0, NATIONAL_PARK, 3
warp_event 4, 0, NATIONAL_PARK, 4
warp_event 3, 7, ROUTE_35, 3
warp_event 4, 7, ROUTE_35, 3
def_coord_events
def_bg_events
bg_event 5, 0, BGEVENT_READ, BugCatchingContestExplanationSign
def_object_events
object_event 2, 1, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, Route35OfficerScriptContest, EVENT_ROUTE_35_NATIONAL_PARK_GATE_OFFICER_CONTEST_DAY
object_event 6, 5, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, Route35NationalParkGateYoungsterScript, EVENT_ROUTE_35_NATIONAL_PARK_GATE_YOUNGSTER
object_event 0, 3, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, Route35NationalParkGateOfficerScript, EVENT_ROUTE_35_NATIONAL_PARK_GATE_OFFICER_NOT_CONTEST_DAY