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 LOCALID_PLAYER, 9, 6 applymovement LOCALID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant end TrainerHill_Entrance_EventScript_TryFaceAttendant:: trainerhill_getwon goto_if_eq VAR_RESULT, TRUE, TrainerHill_Entrance_EventScript_PlayerDontFaceAttendant applymovement LOCALID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant end TrainerHill_Entrance_EventScript_PlayerDontFaceAttendant:: end TrainerHill_Entrance_OnReturn: addobject LOCALID_TRAINER_HILL_NURSE addobject LOCALID_TRAINER_HILL_ATTENDANT addobject LOCALID_TRAINER_HILL_MAN addobject LOCALID_TRAINER_HILL_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 LOCALID_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 LOCALID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant msgbox TrainerHill_Entrance_Text_TooBadTremendousEffort, MSGBOX_DEFAULT goto TrainerHill_Entrance_EventScript_PlayerExitChallenge TrainerHill_Entrance_EventScript_ExitChallengeECard:: lockall applymovement LOCALID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant msgbox TrainerHill_Entrance_Text_MovedReceptionHereForSwitch, MSGBOX_DEFAULT TrainerHill_Entrance_EventScript_PlayerExitChallenge:: closemessage applymovement LOCALID_PLAYER, TrainerHill_Entrance_Movement_PushPlayerBackFromCounter waitmovement 0 setvar VAR_TRAINER_HILL_IS_ACTIVE, 0 special HealPlayerParty callnative UpdateFollowingPokemon releaseall TrainerHill_Entrance_EventScript_EndExitChallenge:: end TrainerHill_Entrance_EventScript_Nurse:: setvar VAR_0x800B, LOCALID_TRAINER_HILL_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 LOCALID_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_setmode VAR_RESULT setvar VAR_TRAINER_HILL_IS_ACTIVE, 1 setvar VAR_TEMP_5, 0 special HealPlayerParty callnative UpdateFollowingPokemon 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 LOCALID_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 LOCALID_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_SP_ATK .2byte ITEM_X_ATTACK .2byte ITEM_X_DEFENSE .2byte ITEM_DIRE_HIT .2byte ITEM_GUARD_SPEC .2byte ITEM_X_ACCURACY pokemartlistend TrainerHill_Entrance_EventScript_ExpandedPokemart:: pokemart TrainerHill_Entrance_Pokemart_Expanded msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end .align 2 TrainerHill_Entrance_Pokemart_Expanded: .2byte ITEM_HYPER_POTION .2byte ITEM_MAX_POTION .2byte ITEM_FULL_RESTORE .2byte ITEM_FULL_HEAL .2byte ITEM_REVIVE .2byte ITEM_X_SPEED .2byte ITEM_X_SP_ATK .2byte ITEM_X_ATTACK .2byte ITEM_X_DEFENSE .2byte ITEM_DIRE_HIT .2byte ITEM_GUARD_SPEC .2byte ITEM_X_ACCURACY pokemartlistend TrainerHill_Entrance_Text_StillGettingReady: .string "这里是训练家之丘,\n您可以在此享受与众多训练师的\l双打战斗。\p很抱歉,我们仍在准备中。\n请您下次再来!$" TrainerHill_Entrance_Text_WelcomeToTrainerHill: .string "欢迎!\p这里是训练家之丘,\n您可以在此享受与众多训练师的\l双打对战!$" TrainerHill_Entrance_Text_SaveGameBeforeEnter: .string "是第一次来这里吗?\p在进入之前,\n请先写入记录。$" TrainerHill_Entrance_Text_TrainersUpToFloorX: .string "唔,我看看……\n当前在场的训练家……\p最高到第{STR_VAR_1}层。$" TrainerHill_Entrance_Text_TrainersInEveryRoom: .string "唔,我看看……\n当前在场的训练家……\p似乎每个房间都有\n训练家聚集。$" TrainerHill_Entrance_Text_LikeToChallengeTrainers: .string "要挑战正在等待的\n训练家吗?$" TrainerHill_Entrance_Text_TimeProgessGetSetGo: .string "我将为您计时,\n祝您好运!\p各就各位……\p预备……\p开始!$" TrainerHill_Entrance_Text_PleaseVisitUsAgain: .string "欢迎下次再来!$" TrainerHill_Entrance_Text_TooBadTremendousEffort: .string "真是遗憾。\p但看得出您已付出\n巨大的努力。\p欢迎再来挑战!$" TrainerHill_Entrance_Text_HopeYouGiveItYourBest: .string "期待您的精彩表现。$" TrainerHill_Entrance_Text_MovedReceptionHereForSwitch: .string "训练家们更换位置的时候,\n场面可能显得有些混乱。\p为避免拥挤踩踏,\n我们就把接待处搬到这里来了。\p对此造成的不便深表歉意。$" TrainerHill_Entrance_Text_ThankYouForPlaying: .string "辛苦了!$" TrainerHill_Entrance_Text_ExplainTrainerHill: .string "在训练家之丘,我们举办名为\n计时挑战的活动,\p比赛内容是从服务台出发,\n计时抵达楼顶的馆主处。\p最快纪录将展示在计时榜上——\n不妨和朋友比比看。\p在沿途的训练家对战中,\n无法获得经验值或金钱。$" @ Unused TrainerHill_Entrance_Text_NeedAtLeastTwoPokemon: .string "哦,对不起,\n但是您只有1只宝可梦。\p您最少需要2只宝可梦\n来参加这个活动。$" TrainerHill_Roof_Text_YouFinallyCameBravo: .string "嗯!嗯!\p你终于来了!\n没错,你成功抵达了!\p等等!不必开口!\n我知道你独自前来的原因!\l你想见训练家之丘的馆主……\l是为了和我组队参赛!\p……呃?\n不是这样?\p总之我目睹了你的登顶过程。\n精彩的对战!值得喝彩!$" TrainerHill_Roof_Text_HaveTheMostMarvelousGift: .string "像你这样了不起的人,\n我有最棒的礼物要送给你!$" TrainerHill_Roof_Text_FullUpBeBackLaterForThis: .string "噢,不行,包包已经装满了!\n你晚点再来拿这个吧!$" TrainerHill_Roof_Text_GotHereMarvelouslyQuickly: .string "噢,稍等一下!你是不是以惊人的速度\n赶到了这里?\p太棒了!其实你不必这么\n急着来见我的!\p真是令人开心。我会让接待处的\n计时板更新你的成绩!$" TrainerHill_Roof_Text_YouWerentVeryQuick: .string "但是,噢……\n你来得可不算快呢。$" TrainerHill_Roof_Text_ArriveZippierNextTime: .string "也许下次你能更快一点的话,\n我会更高兴的。\p那样的话,我会很乐意\n和你组队搭档!\p下次再见,朋友!$" @ Unused TrainerHill_Roof_Text_BuiltTrainerHillToFindPartner: .string "我建造这座训练师之丘\n只有一个原因!\p那就是找到最适合的搭档,\n和我组成双打队伍!$" TrainerHill_Entrance_Text_ChallengeTime: .string "{STR_VAR_1}分{STR_VAR_2}.{STR_VAR_3}秒。$" TrainerHill_Entrance_Text_WhatSortOfTrainersAreAhead: .string "谁知道前面会遇到什么样的\n训练师和宝可梦组合呢?\p我只知道,我会打倒\n所有挡路的家伙!$" TrainerHill_Entrance_Text_CantWaitToTestTheWaters: .string "听说各地的强大训练师\n都会来这座训练师之丘。\p我已经等不及要试试身手了!\p我会打倒所有\n挡路的家伙!$" TrainerHill_Entrance_Text_FriendsTryingToReachTimeBoardTop: .string "你看到那边的计时板了吗?\p我和朋友们正在比赛,\n看谁能用最短时间登顶。$" TrainerHill_Entrance_Text_DoYouKnowWhenTheyOpen: .string "你知道这里什么时候\n正式开放吗?\p我在这儿等着成为\n第一个挑战者呢!$" TrainerHill_Elevator_Text_ReturnToReception: .string "要返回接待处吗?$"