tumbledemerald-legacy/data/maps/TrainerHill_Entrance/scripts.inc
2022-05-19 17:14:13 +00:00

440 lines
14 KiB
PHP

.set LOCALID_ATTENDANT, 1
.set LOCALID_NURSE, 2
.set LOCALID_GIRL, 4
.set LOCALID_MAN, 5
TrainerHill_Entrance_MapScripts::
map_script MAP_SCRIPT_ON_RESUME, TrainerHill_Entrance_OnResume
map_script MAP_SCRIPT_ON_RETURN_TO_FIELD, TrainerHill_Entrance_OnReturn
map_script MAP_SCRIPT_ON_TRANSITION, TrainerHill_Entrance_OnTransition
map_script MAP_SCRIPT_ON_LOAD, TrainerHill_Entrance_OnLoad
map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_Entrance_OnFrame
.byte 0
TrainerHill_Entrance_OnTransition:
setflag FLAG_LANDMARK_TRAINER_HILL
getplayerxy VAR_TEMP_D, VAR_RESULT
end
@ Unused
TrainerHill_Entrance_OnWarp:
end
TrainerHill_Entrance_OnResume:
trainerhill_resumetimer
setvar VAR_TEMP_0, 0
trainerhill_getusingereader
goto_if_eq VAR_RESULT, FALSE, TrainerHill_Entrance_EventScript_TryFaceAttendant @ VAR_RESULT always FALSE here
setobjectxy OBJ_EVENT_ID_PLAYER, 9, 6
applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant
end
TrainerHill_Entrance_EventScript_TryFaceAttendant::
trainerhill_getwon
goto_if_eq VAR_RESULT, TRUE, TrainerHill_Entrance_EventScript_PlayerDontFaceAttendant
applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant
end
TrainerHill_Entrance_EventScript_PlayerDontFaceAttendant::
end
TrainerHill_Entrance_OnReturn:
addobject LOCALID_NURSE
addobject LOCALID_ATTENDANT
addobject LOCALID_MAN
addobject LOCALID_GIRL
end
TrainerHill_Entrance_OnLoad:
call_if_eq VAR_TEMP_D, 17, TrainerHill_Entrance_EventScript_OpenCounterDoor
end
TrainerHill_Entrance_EventScript_OpenCounterDoor::
setmetatile 17, 10, METATILE_TrainerHill_GreenFloorTile, FALSE
return
TrainerHill_Entrance_OnFrame:
map_script_2 VAR_TEMP_0, 0, TrainerHill_Entrance_EventScript_ExitChallenge
map_script_2 VAR_TEMP_D, 17, TrainerHill_Entrance_EventScript_ExitElevator
map_script_2 VAR_TEMP_5, 1, TrainerHill_Entrance_EventScript_EntryTrigger
map_script_2 VAR_TEMP_1, 1, TrainerHill_EventScript_WarpToEntranceCounter
.2byte 0
TrainerHill_Entrance_EventScript_ExitElevator::
lockall
applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerExitElevator
waitmovement 0
setmetatile 17, 10, METATILE_TrainerHill_CounterDoor, TRUE
special DrawWholeMapView
playse SE_CLICK
waitse
setvar VAR_TEMP_D, 0
releaseall
end
TrainerHill_Entrance_EventScript_ExitChallenge::
setvar VAR_TEMP_0, 1
trainerhill_getstatus
switch VAR_RESULT
case TRAINER_HILL_PLAYER_STATUS_LOST, TrainerHill_Entrance_EventScript_ExitChallengeLost
case TRAINER_HILL_PLAYER_STATUS_ECARD_SCANNED, TrainerHill_Entrance_EventScript_ExitChallengeECard
case TRAINER_HILL_PLAYER_STATUS_NORMAL, TrainerHill_Entrance_EventScript_EndExitChallenge
TrainerHill_Entrance_EventScript_ExitChallengeLost::
lockall
applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant
msgbox TrainerHill_Entrance_Text_TooBadTremendousEffort, MSGBOX_DEFAULT
goto TrainerHill_Entrance_EventScript_PlayerExitChallenge
TrainerHill_Entrance_EventScript_ExitChallengeECard::
lockall
applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant
msgbox TrainerHill_Entrance_Text_MovedReceptionHereForSwitch, MSGBOX_DEFAULT
TrainerHill_Entrance_EventScript_PlayerExitChallenge::
closemessage
applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PushPlayerBackFromCounter
waitmovement 0
setvar VAR_TRAINER_HILL_IS_ACTIVE, 0
special HealPlayerParty
releaseall
TrainerHill_Entrance_EventScript_EndExitChallenge::
end
TrainerHill_Entrance_EventScript_Nurse::
setvar VAR_0x800B, LOCALID_NURSE
call Common_EventScript_PkmnCenterNurse
waitmessage
waitbuttonpress
release
end
TrainerHill_Entrance_EventScript_Attendant::
lock
faceplayer
trainerhill_inchallenge
goto_if_eq VAR_RESULT, FALSE, TrainerHill_Entrance_EventScript_ThanksForPlaying
msgbox TrainerHill_Entrance_Text_HopeYouGiveItYourBest, MSGBOX_DEFAULT
goto TrainerHill_Entrance_EventScript_AttendantEnd
TrainerHill_Entrance_EventScript_ThanksForPlaying::
msgbox TrainerHill_Entrance_Text_ThankYouForPlaying, MSGBOX_DEFAULT
TrainerHill_Entrance_EventScript_AttendantEnd::
release
end
TrainerHill_Entrance_EventScript_EntryTrigger::
lockall
applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant
goto_if_unset FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_Closed
msgbox TrainerHill_Entrance_Text_WelcomeToTrainerHill, MSGBOX_DEFAULT
trainerhill_getsaved
call_if_eq VAR_RESULT, FALSE, TrainerHill_Entrance_EventScript_SaveGame
trainerhill_allfloorsused
goto_if_eq VAR_RESULT, TRUE, TrainerHill_Entrance_EventScript_AllFloorsUsed
msgbox TrainerHill_Entrance_Text_TrainersUpToFloorX, MSGBOX_DEFAULT
goto TrainerHill_Entrance_EventScript_AskChallengeTrainers
TrainerHill_Entrance_EventScript_AllFloorsUsed::
msgbox TrainerHill_Entrance_Text_TrainersInEveryRoom, MSGBOX_DEFAULT
TrainerHill_Entrance_EventScript_AskChallengeTrainers::
message TrainerHill_Entrance_Text_LikeToChallengeTrainers
waitmessage
multichoice 15, 6, MULTI_YESNOINFO, FALSE
switch VAR_RESULT
case 0, TrainerHill_Entrance_EventScript_ChooseChallenge
case 1, TrainerHill_Entrance_EventScript_CancelEntry
case 2, TrainerHill_Entrance_EventScript_Info
case MULTI_B_PRESSED, TrainerHill_Entrance_EventScript_CancelEntry
end
TrainerHill_Entrance_EventScript_Info::
msgbox TrainerHill_Entrance_Text_ExplainTrainerHill, MSGBOX_DEFAULT
goto TrainerHill_Entrance_EventScript_AskChallengeTrainers
end
TrainerHill_Entrance_EventScript_ChooseChallenge::
multichoice 13, 2, MULTI_TAG_MATCH_TYPE, FALSE
switch VAR_RESULT
case 4, TrainerHill_Entrance_EventScript_CancelEntry
case MULTI_B_PRESSED, TrainerHill_Entrance_EventScript_CancelEntry
trainerhill_settag VAR_RESULT
setvar VAR_TRAINER_HILL_IS_ACTIVE, 1
setvar VAR_TEMP_5, 0
special HealPlayerParty
msgbox TrainerHill_Entrance_Text_TimeProgessGetSetGo, MSGBOX_DEFAULT
trainerhill_start
releaseall
end
TrainerHill_Entrance_EventScript_CancelEntry::
setvar VAR_TEMP_5, 0
msgbox TrainerHill_Entrance_Text_PleaseVisitUsAgain, MSGBOX_DEFAULT
closemessage
applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PushPlayerBackFromCounter
waitmovement 0
releaseall
end
TrainerHill_Entrance_EventScript_SaveGame::
msgbox TrainerHill_Entrance_Text_SaveGameBeforeEnter, MSGBOX_DEFAULT
trainerhill_setsaved
setvar VAR_TEMP_5, 1
call Common_EventScript_SaveGame
goto_if_eq VAR_RESULT, FALSE, TrainerHill_Entrance_EventScript_SaveFailed
trainerhill_setsaved
return
TrainerHill_Entrance_EventScript_SaveFailed::
trainerhill_clearsaved
goto TrainerHill_Entrance_EventScript_CancelEntry
end
TrainerHill_Entrance_EventScript_Closed::
msgbox TrainerHill_Entrance_Text_StillGettingReady, MSGBOX_DEFAULT
closemessage
applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PushPlayerBackFromCounter
waitmovement 0
releaseall
end
TrainerHill_Entrance_Movement_PlayerFaceAttendant:
face_right
step_end
TrainerHill_Entrance_Movement_PushPlayerBackFromCounter:
walk_down
step_end
@ Unused
TrainerHill_Entrance_Movement_FaceUp:
face_up
step_end
TrainerHill_Entrance_Movement_PlayerExitElevator:
walk_down
walk_down
step_end
TrainerHill_Entrance_EventScript_Records::
lockall
fadescreen FADE_TO_BLACK
special ShowTrainerHillRecords
waitstate
releaseall
end
TrainerHill_Entrance_EventScript_Man::
goto_if_unset FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_ManTrainerHillClosed
msgbox TrainerHill_Entrance_Text_WhatSortOfTrainersAreAhead, MSGBOX_NPC
end
TrainerHill_Entrance_EventScript_ManTrainerHillClosed::
msgbox TrainerHill_Entrance_Text_CantWaitToTestTheWaters, MSGBOX_NPC
end
TrainerHill_Entrance_EventScript_Girl::
goto_if_unset FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_GirlTrainerHillClosed
msgbox TrainerHill_Entrance_Text_FriendsTryingToReachTimeBoardTop, MSGBOX_NPC
end
TrainerHill_Entrance_EventScript_GirlTrainerHillClosed::
msgbox TrainerHill_Entrance_Text_DoYouKnowWhenTheyOpen, MSGBOX_NPC
end
TrainerHill_Entrance_EventScript_Clerk::
lock
faceplayer
message gText_HowMayIServeYou
waitmessage
goto_if_set FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_ExpandedPokemart
pokemart TrainerHill_Entrance_Pokemart_Basic
msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
.align 2
TrainerHill_Entrance_Pokemart_Basic:
.2byte ITEM_SUPER_POTION
.2byte ITEM_ANTIDOTE
.2byte ITEM_PARALYZE_HEAL
.2byte ITEM_AWAKENING
.2byte ITEM_X_SPEED
.2byte ITEM_X_SPECIAL
.2byte ITEM_X_ATTACK
.2byte ITEM_X_DEFEND
.2byte ITEM_DIRE_HIT
.2byte ITEM_GUARD_SPEC
.2byte ITEM_X_ACCURACY
.2byte ITEM_NONE
release
end
TrainerHill_Entrance_EventScript_ExpandedPokemart::
pokemart 0
msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
TrainerHill_Entrance_Text_StillGettingReady:
.string "This is the TRAINER HILL where\n"
.string "you may enjoy tag battles with many\l"
.string "TRAINERS.\p"
.string "Unfortunately, we're still getting\n"
.string "things ready. Please come back later!$"
TrainerHill_Entrance_Text_WelcomeToTrainerHill:
.string "Welcome!\p"
.string "This is the TRAINER HILL where\n"
.string "you may enjoy tag battles with many\l"
.string "TRAINERS!$"
TrainerHill_Entrance_Text_SaveGameBeforeEnter:
.string "Is this your first visit here?\p"
.string "Before you enter, please save\n"
.string "your game.$"
TrainerHill_Entrance_Text_TrainersUpToFloorX:
.string "Let's see…\n"
.string "The TRAINERS here now are…\p"
.string "Up to floor no. {STR_VAR_1}.$"
TrainerHill_Entrance_Text_TrainersInEveryRoom:
.string "Let's see…\n"
.string "The TRAINERS here now are…\p"
.string "There appear to be TRAINERS gathered\n"
.string "in every room.$"
TrainerHill_Entrance_Text_LikeToChallengeTrainers:
.string "Would you like to challenge the\n"
.string "waiting TRAINERS?$"
TrainerHill_Entrance_Text_TimeProgessGetSetGo:
.string "I will time your progress.\n"
.string "Best of luck!\p"
.string "On your marks…\p"
.string "Get set…\p"
.string "Go!$"
TrainerHill_Entrance_Text_PleaseVisitUsAgain:
.string "Please do visit us again!$"
TrainerHill_Entrance_Text_TooBadTremendousEffort:
.string "That was too bad.\p"
.string "I think you put in a tremendous\n"
.string "effort in your battling.\p"
.string "Please come back and try again!$"
TrainerHill_Entrance_Text_HopeYouGiveItYourBest:
.string "I hope you give it your best.$"
TrainerHill_Entrance_Text_MovedReceptionHereForSwitch:
.string "When the TRAINERS switch places,\n"
.string "the movement can be hectic.\p"
.string "To avoid the stampede, we moved\n"
.string "the reception counter here.\p"
.string "I'm sorry for the inconvenience.$"
TrainerHill_Entrance_Text_ThankYouForPlaying:
.string "Thank you for playing!$"
TrainerHill_Entrance_Text_ExplainTrainerHill:
.string "Here at the TRAINER HILL, we conduct\n"
.string "an event called the Time Attack.\p"
.string "It is a race that measures how long\n"
.string "you take to reach our owner on\l"
.string "the rooftop from this counter.\p"
.string "The fastest times are posted on\n"
.string "the Time Board--try competing with\l"
.string "your friends.\p"
.string "In TRAINER battles along the way,\n"
.string "neither Exp. Points nor money will\l"
.string "be awarded.$"
@ Unused
TrainerHill_Entrance_Text_NeedAtLeastTwoPokemon:
.string "Oh, I'm sorry, but you appear to have\n"
.string "only one POKéMON with you.\p"
.string "You will need at least two POKéMON\n"
.string "to enter this event.$"
TrainerHill_Roof_Text_YouFinallyCameBravo:
.string "Hm! Hm!\p"
.string "You finally came!\n"
.string "Yes, you have arrived!\p"
.string "Wait! Don't say it!\n"
.string "I know why you came all the way\l"
.string "here by yourself!\p"
.string "You wanted to see me, the owner\n"
.string "of the TRAINER HILL, because…\p"
.string "You want to form a tag team with me!\n"
.string "Wa-hoo!\p"
.string "…Uh?\n"
.string "That's not it?\p"
.string "Anyway, I watched you on your way up.\n"
.string "Marvelous battling! Bravo, indeed!$"
TrainerHill_Roof_Text_HaveTheMostMarvelousGift:
.string "For a marvelous someone like you,\n"
.string "I have the most marvelous gift!$"
TrainerHill_Roof_Text_FullUpBeBackLaterForThis:
.string "Oh, no, full up with things!\n"
.string "You'll be back later for this!$"
TrainerHill_Roof_Text_GotHereMarvelouslyQuickly:
.string "Oh, hold on here! Did you possibly get\n"
.string "here marvelously quickly?\p"
.string "How splendid! You needn't have\n"
.string "hurried so to see me!\p"
.string "That is so delightful. I'll have the Time\n"
.string "Board at the reception updated!$"
TrainerHill_Roof_Text_YouWerentVeryQuick:
.string "But, oh…\n"
.string "You weren't very quick getting here.$"
TrainerHill_Roof_Text_ArriveZippierNextTime:
.string "Perhaps it would please me more if you\n"
.string "arrived zippier next time.\p"
.string "Then, I should be pleased to form\n"
.string "a tag team with you!\p"
.string "Until we meet again, amigo!$"
@ Unused
TrainerHill_Roof_Text_BuiltTrainerHillToFindPartner:
.string "I had the TRAINER HILL built for but\n"
.string "one reason and one only!\p"
.string "To find the most suitable partner\n"
.string "with whom I may form a tag team!$"
TrainerHill_Entrance_Text_ChallengeTime:
.string "{STR_VAR_1} min. {STR_VAR_2}.{STR_VAR_3} sec.$"
TrainerHill_Entrance_Text_WhatSortOfTrainersAreAhead:
.string "Who knows what sort of TRAINERS\n"
.string "and POKéMON combos are ahead?\p"
.string "All I know is that I'll knock aside\n"
.string "anyone that stands in my way!$"
TrainerHill_Entrance_Text_CantWaitToTestTheWaters:
.string "I heard tough TRAINERS come to this\n"
.string "TRAINER HILL from all over.\p"
.string "I can't wait to test the waters!\p"
.string "I'll knock aside anyone that stands\n"
.string "in my way!$"
TrainerHill_Entrance_Text_FriendsTryingToReachTimeBoardTop:
.string "Do you see the Time Board over there?\p"
.string "My friends and I are trying to see who\n"
.string "can reach the top in the least time.$"
TrainerHill_Entrance_Text_DoYouKnowWhenTheyOpen:
.string "Do you know when they're opening\n"
.string "this place up?\p"
.string "I'm waiting here to be the first\n"
.string "challenger ever!$"
TrainerHill_Elevator_Text_ReturnToReception:
.string "Would you like to return to\n"
.string "the reception counter?$"