2025-06-02 14:17:22 +08:00

371 lines
14 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 "要返回接待处吗?$"