2025-04-08 01:07:12 +08:00

286 lines
13 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.

.set LOCALID_SCIENTIST_1, 1
.set LOCALID_OPPONENT, 2
.set LOCALID_SCIENTIST_2, 3
.set LOCALID_SCIENTIST_3, 4
.set LOCALID_SCIENTIST_4, 5
.set LOCALID_SCIENTIST_5, 6
.set LOCALID_SCIENTIST_6, 7
.set LOCALID_PLAYER, 8
BattleFrontier_BattleFactoryBattleRoom_MapScripts::
map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleFactoryBattleRoom_OnTransition
map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleFactoryBattleRoom_OnWarp
map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleFactoryBattleRoom_OnFrame
.byte 0
@ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden
@ The player is represented instead by LOCALID_PLAYER, which has the gfx id VAR_OBJ_GFX_ID_F
BattleFrontier_BattleFactoryBattleRoom_OnTransition:
frontier_settrainers
checkplayergender
call_if_eq VAR_RESULT, MALE, BattleFrontier_BattleFactoryBattleRoom_EventScript_SetPlayerGfxMale
call_if_eq VAR_RESULT, FEMALE, BattleFrontier_BattleFactoryBattleRoom_EventScript_SetPlayerGfxFemale
frontier_getbrainstatus
copyvar VAR_TEMP_F, VAR_RESULT
goto_if_ne VAR_RESULT, FRONTIER_BRAIN_NOT_READY, BattleFrontier_BattleFactoryBattleRoom_EventScript_SetUpFactoryHeadObj
end
BattleFrontier_BattleFactoryBattleRoom_EventScript_SetUpFactoryHeadObj::
call BattleFrontier_EventScript_SetBrainObjectGfx
setobjectxyperm LOCALID_OPPONENT, 7, 9
end
BattleFrontier_BattleFactoryBattleRoom_OnWarp:
map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleFactoryBattleRoom_EventScript_HideObjects
.2byte 0
BattleFrontier_BattleFactoryBattleRoom_EventScript_HideObjects::
setvar VAR_TEMP_1, 1
hideobjectat OBJ_EVENT_ID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM
goto_if_ne VAR_TEMP_F, FRONTIER_BRAIN_NOT_READY, BattleFrontier_BattleFactoryBattleRoom_EventScript_EndHideObjects
hideobjectat LOCALID_OPPONENT, MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM
BattleFrontier_BattleFactoryBattleRoom_EventScript_EndHideObjects::
end
BattleFrontier_BattleFactoryBattleRoom_EventScript_SetPlayerGfxMale::
setvar VAR_OBJ_GFX_ID_F, OBJ_EVENT_GFX_RIVAL_BRENDAN_NORMAL
return
BattleFrontier_BattleFactoryBattleRoom_EventScript_SetPlayerGfxFemale::
setvar VAR_OBJ_GFX_ID_F, OBJ_EVENT_GFX_RIVAL_MAY_NORMAL
return
BattleFrontier_BattleFactoryBattleRoom_OnFrame:
map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleFactoryBattleRoom_EventScript_EnterRoom
.2byte 0
BattleFrontier_BattleFactoryBattleRoom_EventScript_EnterRoomFactoryHeadBattle::
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_GetAMoveOn, MSGBOX_DEFAULT
closemessage
applymovement LOCALID_OPPONENT, BattleFrontier_BattleFactoryBattleRoom_Movement_NolandMoveToBattle
applymovement LOCALID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom
waitmovement 0
call BattleFrontier_BattleFactoryBattleRoom_EventScript_ScientistsFaceBattle
goto BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleOpponent
end
BattleFrontier_BattleFactoryBattleRoom_EventScript_EnterRoom::
goto_if_ne VAR_TEMP_F, FRONTIER_BRAIN_NOT_READY, BattleFrontier_BattleFactoryBattleRoom_EventScript_EnterRoomFactoryHeadBattle
applymovement LOCALID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom
waitmovement 0
call BattleFrontier_BattleFactoryBattleRoom_EventScript_ScientistsFaceBattle
factory_setopponentgfx
removeobject LOCALID_OPPONENT
setobjectxyperm LOCALID_OPPONENT, 7, 1
addobject LOCALID_OPPONENT
applymovement LOCALID_OPPONENT, BattleFrontier_BattleFactoryBattleRoom_Movement_OpponentEnter
waitmovement 0
BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleOpponent::
goto_if_ne VAR_TEMP_F, FRONTIER_BRAIN_NOT_READY, BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNoland
palace_getopponentintro
lockall
msgbox gStringVar4, MSGBOX_DEFAULT
waitmessage
closemessage
frontier_set FRONTIER_DATA_RECORD_DISABLED, FALSE
special HealPlayerParty
setvar VAR_0x8004, SPECIAL_BATTLE_FACTORY
setvar VAR_0x8005, 0
special DoSpecialTrainerBattle
waitstate
switch VAR_RESULT
case 1, BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedOpponent
BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyLost::
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
goto BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobby
BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedOpponent::
factory_get FACTORY_DATA_WIN_STREAK_SWAPS
goto_if_eq VAR_RESULT, MAX_STREAK, BattleFrontier_BattleFactoryBattleRoom_EventScript_IncrementWinStreak
addvar VAR_RESULT, 1
setorcopyvar VAR_0x8006, VAR_RESULT
factory_set FACTORY_DATA_WIN_STREAK_SWAPS @ uses VAR_0x8006 above
BattleFrontier_BattleFactoryBattleRoom_EventScript_IncrementWinStreak::
call BattleFrontier_EventScript_IncrementWinStreak
BattleFrontier_BattleFactoryBattleRoom_EventScript_IncrementBattleNum::
frontier_get FRONTIER_DATA_BATTLE_NUM
addvar VAR_RESULT, 1
frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
switch VAR_RESULT
case 7, BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyWon
setvar VAR_0x8006, 1
warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM, 8, 8
waitstate
BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyWon::
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
goto BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobby
BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNoland::
switch VAR_TEMP_F
case FRONTIER_BRAIN_GOLD, BattleFrontier_BattleFactoryBattleRoom_EventScript_IntroNolandGold
case FRONTIER_BRAIN_STREAK, BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNolandSilver
case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNolandGold
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
goto_if_ne VAR_RESULT, FALSE, BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNolandSilver
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_NolandImFactoryHead, MSGBOX_DEFAULT
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNolandSilver::
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_ShakeOutKnowledgeBringItOn, MSGBOX_DEFAULT
call BattleFrontier_BattleFactoryBattleRoom_EventScript_DoNolandBattle
goto_if_eq VAR_RESULT, 1, BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNolandSilver
goto BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyLost
BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNolandSilver::
frontier_getsymbols
goto_if_ne VAR_RESULT, 0, BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNoland
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_NolandLetsSeeFrontierPass, MSGBOX_DEFAULT
closemessage
applymovement LOCALID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerApproachNoland
waitmovement 0
playfanfare MUS_OBTAIN_SYMBOL
message BattleFrontier_BattleFactoryBattleRoom_Text_ReceivedKnowledgeSymbol
waitmessage
waitfanfare
frontier_givesymbol
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_NextTimeNoHoldsBarred, MSGBOX_DEFAULT
goto BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNoland
BattleFrontier_BattleFactoryBattleRoom_EventScript_IntroNolandGold::
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
goto_if_ne VAR_RESULT, FALSE, BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNolandGold
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_HarderLookThanLastTime, MSGBOX_DEFAULT
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNolandGold::
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_AllRightBringItOn, MSGBOX_DEFAULT
call BattleFrontier_BattleFactoryBattleRoom_EventScript_DoNolandBattle
goto_if_eq VAR_RESULT, 1, BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNolandGold
goto BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyLost
BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNolandGold::
frontier_getsymbols
goto_if_eq VAR_RESULT, 2, BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNoland
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_OutOfMyLeagueLetsSeePass, MSGBOX_DEFAULT
waitmessage
applymovement LOCALID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerApproachNoland
waitmovement 0
playfanfare MUS_OBTAIN_SYMBOL
message BattleFrontier_BattleFactoryBattleRoom_Text_KnowledgeSymbolTookGoldenShine
waitmessage
waitfanfare
frontier_givesymbol
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_LastTimeILoseToYou, MSGBOX_DEFAULT
goto BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNoland
BattleFrontier_BattleFactoryBattleRoom_EventScript_DoNolandBattle::
closemessage
frontier_set FRONTIER_DATA_RECORD_DISABLED, FALSE
special HealPlayerParty
setvar VAR_0x8004, SPECIAL_BATTLE_FACTORY
setvar VAR_0x8005, 0
special DoSpecialTrainerBattle
waitstate
return
BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNoland::
factory_get FACTORY_DATA_WIN_STREAK_SWAPS
goto_if_eq VAR_RESULT, MAX_STREAK, BattleFrontier_BattleFactoryBattleRoom_EventScript_IncrementWinStreak
addvar VAR_RESULT, 1
setorcopyvar VAR_0x8006, VAR_RESULT
factory_set FACTORY_DATA_WIN_STREAK_SWAPS @ uses VAR_0x8006 above
factory_get FACTORY_DATA_WIN_STREAK
goto_if_eq VAR_RESULT, MAX_STREAK, BattleFrontier_BattleFactoryBattleRoom_EventScript_IncrementBattleNum
addvar VAR_RESULT, 1
factory_set FACTORY_DATA_WIN_STREAK, VAR_RESULT
frontier_get FRONTIER_DATA_BATTLE_NUM
addvar VAR_RESULT, 1
goto BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyWon
end
BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom:
walk_up
walk_up
walk_up
walk_up
walk_up
face_right
step_end
BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerApproachNoland:
walk_right
step_end
BattleFrontier_BattleFactoryBattleRoom_Movement_OpponentEnter:
walk_down
walk_down
walk_down
walk_down
walk_down
face_left
step_end
BattleFrontier_BattleFactoryBattleRoom_Movement_NolandMoveToBattle:
walk_up
walk_up
walk_up
face_left
step_end
BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobby::
copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE
goto_if_eq VAR_RESULT, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyDoubles
warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY, 4, 8
waitstate
end
BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyDoubles::
warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY, 14, 8
waitstate
end
BattleFrontier_BattleFactoryBattleRoom_EventScript_ScientistsFaceBattle::
applymovement LOCALID_SCIENTIST_1, Common_Movement_WalkInPlaceFasterRight
applymovement LOCALID_SCIENTIST_2, Common_Movement_WalkInPlaceFasterRight
applymovement LOCALID_SCIENTIST_3, Common_Movement_WalkInPlaceFasterRight
applymovement LOCALID_SCIENTIST_4, Common_Movement_WalkInPlaceFasterLeft
applymovement LOCALID_SCIENTIST_5, Common_Movement_WalkInPlaceFasterLeft
applymovement LOCALID_SCIENTIST_6, Common_Movement_WalkInPlaceFasterLeft
waitmovement 0
return
BattleFrontier_BattleFactoryBattleRoom_Text_GetAMoveOn:
.string "嘿,嘿!\n快行动!$"
BattleFrontier_BattleFactoryBattleRoom_Text_NolandImFactoryHead:
.string "嘿,我叫达拉!\n我基本掌握着这块地方,\l这就是为什么我叫厂主\p我看了一下你交换式对战的情况。\p你好像有好主意\n但是你的脑筋还是太死!\p好好听着行吗知识并不只是读书\n或者做功课。\p仅仅做那种事的话…\n还是没用的!\p你必须用你的身心去\n亲自经历,明白吗?\p我要在和你同等条件\n下跟你较量。\p我也用租借的宝可梦$"
BattleFrontier_BattleFactoryBattleRoom_Text_ShakeOutKnowledgeBringItOn:
.string "运用你所拥有的每一点\n知识并发扬它!$"
BattleFrontier_BattleFactoryBattleRoom_Text_NolandLetsSeeFrontierPass:
.string "达拉:干得聪明!\n让我们看看你的开拓区通行证。$"
BattleFrontier_BattleFactoryBattleRoom_Text_ReceivedKnowledgeSymbol:
.string "知识印记被刻在了\n开拓区通行证上!$"
BattleFrontier_BattleFactoryBattleRoom_Text_NextTimeNoHoldsBarred:
.string "哈…\n你是一个非常聪明的人…\p下次我会紧紧跟着你的。\n别手下留情,明白吗?\p你要保持你的学习$"
BattleFrontier_BattleFactoryBattleRoom_Text_HarderLookThanLastTime:
.string "达拉:嘿,嘿!怎么回事?\n你保持你的学习了吗?\p…哦\p你看上去比我上次见到你\n时更努力。\p那么这会很有趣的\n我开始兴奋了,嘿!$"
BattleFrontier_BattleFactoryBattleRoom_Text_AllRightBringItOn:
.string "好!\n继续!$"
BattleFrontier_BattleFactoryBattleRoom_Text_OutOfMyLeagueLetsSeePass:
.string "达拉:什么…\n你要离开我的同盟!\p嘻嘻\n让我们看看开拓区通行证吧!$"
BattleFrontier_BattleFactoryBattleRoom_Text_KnowledgeSymbolTookGoldenShine:
.string "知识印记闪耀着\n金色的光芒!$"
BattleFrontier_BattleFactoryBattleRoom_Text_LastTimeILoseToYou:
.string "可恶!\p这绝对是我最后一次\n输给你!\p我们必须再来一次$"