.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?$"