371 lines
14 KiB
PHP
371 lines
14 KiB
PHP
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 "要返回接待处吗?$"
|