1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
|
.set LOCALID_PLAYER, 1
.set LOCALID_ATTENDANT_1, 2
.set LOCALID_ATTENDANT_2, 3
.set LOCALID_PARTNER, 4
BattleFrontier_BattleTowerMultiCorridor_MapScripts::
map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleTowerMultiCorridor_OnTransition
map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerMultiCorridor_OnWarp
map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerMultiCorridor_OnFrame
.byte 0
@ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden
@ The player is represented instead by LOCALID_PLAYER, and has the gfx id VAR_OBJ_GFX_ID_F
@ The multi partner is represented by LOCALID_PARTNER, and has the gfx id VAR_OBJ_GFX_ID_E
BattleFrontier_BattleTowerMultiCorridor_OnTransition:
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
call_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_SetObjGfx
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
call_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_SetLinkPlayerGfx
end
BattleFrontier_BattleTowerMultiCorridor_EventScript_SetObjGfx::
tower_setpartnergfx
checkplayergender
compare VAR_RESULT, FEMALE
goto_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_SetPlayerGfxFemale
setvar VAR_OBJ_GFX_ID_F, OBJ_EVENT_GFX_BRENDAN_NORMAL
return
BattleFrontier_BattleTowerMultiCorridor_EventScript_SetPlayerGfxFemale::
setvar VAR_OBJ_GFX_ID_F, OBJ_EVENT_GFX_MAY_NORMAL
return
BattleFrontier_BattleTowerMultiCorridor_EventScript_SetLinkPlayerGfx::
special SetBattleTowerLinkPlayerGfx
return
BattleFrontier_BattleTowerMultiCorridor_OnWarp:
map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerMultiCorridor_EventScript_SetUpObjects
.2byte 0
BattleFrontier_BattleTowerMultiCorridor_EventScript_SetUpObjects::
hideobjectat OBJ_EVENT_ID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR
hideobjectat LOCALID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR
hideobjectat LOCALID_PARTNER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR
special OffsetCameraForBattle
end
BattleFrontier_BattleTowerMultiCorridor_OnFrame:
map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerMultiCorridor_EventScript_EnterCorridor
.2byte 0
BattleFrontier_BattleTowerMultiCorridor_EventScript_EnterCorridor::
lockall
setflag FLAG_ENABLE_MULTI_CORRIDOR_DOOR
setvar VAR_0x8004, 14 @ x coord of far door, used by DrawDoor
setvar VAR_0x8005, 1 @ y coord of far door, used by DrawDoor
opendoor 1, 1
waitdooranim
clearflag FLAG_ENABLE_MULTI_CORRIDOR_DOOR
showobjectat LOCALID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR
showobjectat LOCALID_PARTNER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR
applymovement LOCALID_PLAYER, BattleFrontier_BattleTowerMultiCorridor_Movement_ExitElevator
applymovement LOCALID_PARTNER, BattleFrontier_BattleTowerMultiCorridor_Movement_ExitElevator
waitmovement 0
setflag FLAG_ENABLE_MULTI_CORRIDOR_DOOR
setvar VAR_0x8004, 14 @ x coord of far door, used by DrawDoor
setvar VAR_0x8005, 1 @ y coord of far door, used by DrawDoor
closedoor 1, 1
waitdooranim
clearflag FLAG_ENABLE_MULTI_CORRIDOR_DOOR
applymovement LOCALID_PLAYER, BattleFrontier_BattleTowerMultiCorridor_Movement_PlayerWalkToDoor
applymovement LOCALID_PARTNER, BattleFrontier_BattleTowerMultiCorridor_Movement_PartnerWalkToDoor
applymovement LOCALID_ATTENDANT_2, BattleFrontier_BattleTowerMultiCorridor_Movement_PlayerAttendantWalkToDoor
applymovement LOCALID_ATTENDANT_1, BattleFrontier_BattleTowerMultiCorridor_Movement_PartnerAttendantWalkToDoor
waitmovement 0
delay 40
applymovement LOCALID_ATTENDANT_2, Common_Movement_WalkInPlaceFastestUp
applymovement LOCALID_ATTENDANT_1, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
opendoor 7, 1
waitdooranim
applymovement LOCALID_ATTENDANT_2, BattleFrontier_BattleTowerMultiCorridor_Movement_AttendantEnterDoor
applymovement LOCALID_ATTENDANT_1, BattleFrontier_BattleTowerMultiCorridor_Movement_AttendantEnterDoor
applymovement LOCALID_PLAYER, BattleFrontier_BattleTowerMultiCorridor_Movement_TrainerEnterDoor
applymovement LOCALID_PARTNER, BattleFrontier_BattleTowerMultiCorridor_Movement_TrainerEnterDoor
waitmovement 0
closedoor 7, 1
waitdooranim
delay 30
setvar VAR_TEMP_1, 1
call BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToBattleRoom
releaseall
end
BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToBattleRoom::
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
call_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToNormalBattleRoom
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
call_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToNormalBattleRoom
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
call_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToMultiBattleRoom
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
call_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToLinkMultiBattleRoom
return
BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToNormalBattleRoom::
warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM, 255, 4, 8
waitstate
return
BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToMultiBattleRoom::
warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM, 255, 4, 5
waitstate
return
@ Unnecessary duplicate of the above
BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToLinkMultiBattleRoom::
warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM, 255, 4, 5
waitstate
return
BattleFrontier_BattleTowerMultiCorridor_Movement_PlayerWalkToDoor:
walk_down
walk_right
walk_right
walk_right
walk_right
walk_right
walk_right
step_end
BattleFrontier_BattleTowerMultiCorridor_Movement_PartnerWalkToDoor:
walk_down
walk_left
walk_left
walk_left
walk_left
walk_left
walk_left
step_end
BattleFrontier_BattleTowerMultiCorridor_Movement_PlayerAttendantWalkToDoor:
walk_right
walk_right
walk_right
walk_right
walk_right
walk_right
walk_up
walk_in_place_fastest_right
step_end
BattleFrontier_BattleTowerMultiCorridor_Movement_PartnerAttendantWalkToDoor:
walk_left
walk_left
walk_left
walk_left
walk_left
walk_left
walk_up
walk_in_place_fastest_left
step_end
BattleFrontier_BattleTowerMultiCorridor_Movement_TrainerEnterDoor:
delay_16
walk_up
walk_up
set_invisible
step_end
BattleFrontier_BattleTowerMultiCorridor_Movement_AttendantEnterDoor:
walk_up
set_invisible
step_end
BattleFrontier_BattleTowerMultiCorridor_Movement_ExitElevator:
walk_down
step_end
|