Paper Mario DX
Paper Mario (N64) modding
 
Loading...
Searching...
No Matches
ghost_lakilester.inc.c
Go to the documentation of this file.
1#include "battle/battle.h"
2#include "script_api/battle.h"
3#include "sprite/npc/BattleLakilester.h"
4
5#define NAMESPACE A(lakilester_clone)
6
7extern EvtScript N(EVS_Init);
8extern EvtScript N(EVS_Idle);
9extern EvtScript N(EVS_TakeTurn);
10extern EvtScript N(EVS_HandleEvent);
11
12s32 N(DefaultAnims)[] = {
13 STATUS_KEY_NORMAL, ANIM_BattleLakilester_Idle,
14 STATUS_KEY_STONE, ANIM_BattleLakilester_Still,
15 STATUS_KEY_SLEEP, ANIM_BattleLakilester_Still,
16 STATUS_KEY_POISON, ANIM_BattleLakilester_Idle,
17 STATUS_KEY_STOP, ANIM_BattleLakilester_Still,
18 STATUS_KEY_STATIC, ANIM_BattleLakilester_Idle,
19 STATUS_KEY_PARALYZE, ANIM_BattleLakilester_Still,
20 STATUS_KEY_DIZZY, ANIM_BattleLakilester_Injured,
21 STATUS_KEY_FEAR, ANIM_BattleLakilester_Idle,
23};
24
25s32 N(SpinyAnims)[] = {
26 STATUS_KEY_NORMAL, ANIM_BattleLakilester_Spiny,
28};
29
30s32 N(DefenseTable)[] = {
33};
34
35s32 N(StatusTable)[] = {
58};
59
60ActorPartBlueprint N(ActorParts)[] = {
61 {
63 .index = PRT_MAIN,
64 .posOffset = { 0, 0, 0 },
65 .targetOffset = { -3, 33 },
66 .opacity = 255,
67 .idleAnimations = N(DefaultAnims),
68 .defenseTable = N(DefenseTable),
69 .eventFlags = 0,
70 .elementImmunityFlags = 0,
71 .projectileTargetOffset = { -2, -10 },
72 },
73 {
75 .index = PRT_SPINY,
76 .posOffset = { 0, 0, 0 },
77 .targetOffset = { 0, 0 },
78 .opacity = 255,
79 .idleAnimations = N(SpinyAnims),
80 .defenseTable = N(DefenseTable),
81 .eventFlags = 0,
82 .elementImmunityFlags = 0,
83 .projectileTargetOffset = { 0, 0 },
84 },
85};
86
87ActorBlueprint NAMESPACE = {
88 .flags = ACTOR_FLAG_FLYING,
89 .type = ACTOR_TYPE_GHOST_LAKILESTER,
90 .level = ACTOR_LEVEL_GHOST_LAKILESTER,
91 .maxHP = 15,
92 .partCount = ARRAY_COUNT(N(ActorParts)),
93 .partsData = N(ActorParts),
94 .initScript = &N(EVS_Init),
95 .statusTable = N(StatusTable),
96 .escapeChance = 50,
97 .airLiftChance = 80,
98 .hurricaneChance = 70,
99 .spookChance = 50,
100 .upAndAwayChance = 95,
101 .spinSmashReq = 0,
102 .powerBounceChance = 90,
103 .coinReward = 2,
104 .size = { 44, 40 },
105 .healthBarOffset = { 0, 0 },
106 .statusIconOffset = { -10, 20 },
107 .statusTextOffset = { 10, 20 },
108};
109
110EvtScript N(EVS_Init) = {
111 Call(BindTakeTurn, ACTOR_SELF, Ref(N(EVS_TakeTurn)))
112 Call(BindIdle, ACTOR_SELF, Ref(N(EVS_Idle)))
113 Call(BindHandleEvent, ACTOR_SELF, Ref(N(EVS_HandleEvent)))
114 Return
115 End
116};
117
118EvtScript N(EVS_Idle) = {
119 Return
120 End
121};
122
123EvtScript N(EVS_HandleEvent) = {
124 Call(UseIdleAnimation, ACTOR_SELF, FALSE)
125 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_DISABLE)
126 Call(GetLastEvent, ACTOR_SELF, LVar0)
130 Call(GetLastElement, LVar1)
132 SetConst(LVar0, PRT_MAIN)
133 SetConst(LVar1, ANIM_BattleLakilester_Hurt)
134 ExecWait(A(EVS_Duplighost_OnHitElectric))
135 Return
136 Else
137 SetConst(LVar0, PRT_MAIN)
138 SetConst(LVar1, ANIM_BattleLakilester_Hurt)
140 EndIf
143 SetConst(LVar0, PRT_MAIN)
144 SetConst(LVar1, ANIM_BattleLakilester_BurnHurt)
145 SetConst(LVar2, ANIM_BattleLakilester_BurnStill)
148 SetConst(LVar0, PRT_MAIN)
149 SetConst(LVar1, ANIM_BattleLakilester_BurnHurt)
150 SetConst(LVar2, ANIM_BattleLakilester_BurnStill)
152 ExecWait(A(EVS_Duplighost_OnDeath))
153 Wait(10)
154 SetConst(LVar0, PRT_MAIN)
155 SetConst(LVar1, ANIM_BattleLakilester_BurnStill)
157 Return
159 SetConst(LVar0, PRT_MAIN)
160 SetConst(LVar1, ANIM_BattleLakilester_Hurt)
163 ExecWait(A(EVS_Duplighost_OnDeath))
164 SetConst(LVar0, PRT_MAIN)
165 SetConst(LVar1, ANIM_BattleLakilester_Hurt)
167 SetConst(LVar0, PRT_MAIN)
168 SetConst(LVar1, ANIM_BattleLakilester_Dead)
170 Return
172 SetConst(LVar0, PRT_MAIN)
173 SetConst(LVar1, ANIM_BattleLakilester_Hurt)
175 SetConst(LVar0, PRT_MAIN)
176 SetConst(LVar1, ANIM_BattleLakilester_Hurt)
178 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_Run)
179 Call(SetGoalToHome, ACTOR_SELF)
180 Call(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT)
182 ExecWait(A(EVS_Duplighost_OnDeath))
183 SetConst(LVar0, PRT_MAIN)
184 SetConst(LVar1, ANIM_BattleLakilester_Hurt)
186 SetConst(LVar0, PRT_MAIN)
187 SetConst(LVar1, ANIM_BattleLakilester_Dead)
189 Return
193 SetConst(LVar0, PRT_MAIN)
194 SetConst(LVar1, ANIM_BattleLakilester_Idle)
198 ExecWait(A(EVS_Duplighost_OnDeath))
199 SetConst(LVar0, PRT_MAIN)
200 SetConst(LVar1, ANIM_BattleLakilester_Hurt)
202 Wait(10)
203 SetConst(LVar0, PRT_MAIN)
204 SetConst(LVar1, ANIM_BattleLakilester_Dead)
206 Return
208 SetConst(LVar0, PRT_MAIN)
209 SetConst(LVar1, ANIM_BattleLakilester_Idle)
212 SetConst(LVar0, PRT_MAIN)
213 SetConst(LVar1, ANIM_BattleLakilester_Run)
214 SetConst(LVar2, ANIM_BattleLakilester_Hurt)
216 Return
218 SetConst(LVar0, PRT_MAIN)
219 SetConst(LVar1, ANIM_BattleLakilester_Run)
222 SetConst(LVar0, PRT_MAIN)
223 SetConst(LVar1, ANIM_BattleLakilester_Hurt)
225 Return
228 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE)
229 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
230 Return
231 End
232};
233
234EvtScript N(EVS_TakeTurn) = {
235 Call(UseIdleAnimation, ACTOR_SELF, FALSE)
236 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_DISABLE)
237 Call(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER)
238 Call(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH)
239 Call(BattleCamTargetActor, ACTOR_SELF)
240 Call(SetBattleCamTargetingModes, BTL_CAM_YADJ_TARGET, BTL_CAM_XADJ_AVG, FALSE)
241 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_Run)
242 Call(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
243 Call(SetGoalPos, ACTOR_SELF, 20, 30, LVar2)
244 Call(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT)
245 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_Idle)
246 Call(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
247 Call(GetStatusFlags, ACTOR_SELF, LVarA)
249 Add(LVar0, -1)
250 Add(LVar1, 4)
251 Add(LVar2, 2)
252 Call(SetPartScale, ACTOR_SELF, PRT_SPINY, Float(0.4), Float(0.4), Float(0.4))
253 Else
254 Add(LVar0, -3)
255 Add(LVar1, 10)
256 Add(LVar2, 5)
257 Call(SetPartScale, ACTOR_SELF, PRT_SPINY, Float(1.0), Float(1.0), Float(1.0))
258 EndIf
259 Call(SetPartPos, ACTOR_SELF, PRT_SPINY, LVar0, LVar1, LVar2)
260 Wait(1)
261 Call(SetPartFlagBits, ACTOR_SELF, PRT_SPINY, ACTOR_PART_FLAG_INVISIBLE, FALSE)
262 Call(SetAnimation, ACTOR_SELF, PRT_SPINY, ANIM_BattleLakilester_Spiny)
263 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_LiftSpiny)
264 Loop(4)
265 Call(GetStatusFlags, ACTOR_SELF, LVarA)
267 AddF(LVar1, Float(2.4))
268 Else
269 Add(LVar1, 6)
270 EndIf
271 Call(SetPartPos, ACTOR_SELF, PRT_SPINY, LVar0, LVar1, LVar2)
272 Wait(1)
273 EndLoop
274 Call(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
275 Call(GetStatusFlags, ACTOR_SELF, LVarA)
277 Add(LVar0, -3)
278 Add(LVar1, 16)
279 Add(LVar2, 2)
280 SetF(LVar3, Float(0.4))
281 Else
282 Add(LVar0, -8)
283 Add(LVar1, 40)
284 Add(LVar2, 5)
285 SetF(LVar3, Float(1.0))
286 EndIf
287 PlayEffect(EFFECT_ENERGY_IN_OUT, 0, LVar0, LVar1, LVar2, LVar3, 30, 0)
288 Call(PlaySoundAtActor, ACTOR_SELF, SOUND_SPIKE_SUMMON_SPINY)
289 Thread
290 Loop(15)
291 Call(SetActorDispOffset, ACTOR_SELF, 1, 0, 0)
292 Call(SetPartDispOffset, ACTOR_SELF, PRT_SPINY, 1, 0, 0)
293 Wait(1)
294 Call(SetActorDispOffset, ACTOR_SELF, -1, 0, 0)
295 Call(SetPartDispOffset, ACTOR_SELF, PRT_SPINY, -1, 0, 0)
296 Wait(1)
297 EndLoop
298 Call(SetActorDispOffset, ACTOR_SELF, 0, 0, 0)
299 Call(SetPartDispOffset, ACTOR_SELF, PRT_SPINY, 0, 0, 0)
301 Call(SetGoalToTarget, ACTOR_SELF)
302 Wait(10)
303 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_HoldSpiny)
304 Wait(10)
305 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_StrainHoldSpiny)
306 Wait(10)
307 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_ThrowSpiny)
308 Wait(3)
309 Call(SetPartSounds, ACTOR_SELF, PRT_SPINY, ACTOR_SOUND_JUMP, SOUND_NONE, SOUND_NONE)
311 Call(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_INCLUDE_POWER_UPS)
315 Set(LVarA, LVar0)
316 Call(SetAnimation, ACTOR_SELF, PRT_SPINY, ANIM_BattleLakilester_SpinySpin)
317 Call(SetPartJumpGravity, ACTOR_SELF, PRT_SPINY, Float(1.5))
318 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
319 Call(RandInt, 100, LVar3)
320 Sub(LVar3, 50)
321 Add(LVar0, LVar3)
322 Call(JumpPartTo, ACTOR_SELF, PRT_SPINY, LVar0, 0, LVar2, 20, TRUE)
323 Thread
324 Add(LVar0, -50)
325 Call(JumpPartTo, ACTOR_SELF, PRT_SPINY, LVar0, 0, LVar2, 15, TRUE)
326 Call(SetPartFlagBits, ACTOR_SELF, PRT_SPINY, ACTOR_PART_FLAG_INVISIBLE, TRUE)
329 Call(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0)
330 EndIf
331 Wait(15)
332 Call(YieldTurn)
333 Call(UseBattleCamPreset, BTL_CAM_DEFAULT)
334 Call(MoveBattleCamOver, 60)
335 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_Run)
336 Call(SetGoalToHome, ACTOR_SELF)
337 Call(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT)
338 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE)
339 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
340 Return
343 Call(SetAnimation, ACTOR_SELF, PRT_SPINY, ANIM_BattleLakilester_SpinySpin)
344 Call(SetPartJumpGravity, ACTOR_SELF, PRT_SPINY, Float(1.5))
345 Call(SetGoalToTarget, ACTOR_SELF)
346 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
347 Call(JumpPartTo, ACTOR_SELF, PRT_SPINY, LVar0, LVar1, LVar2, 20, TRUE)
348 Thread
349 Add(LVar0, -50)
350 Call(JumpPartTo, ACTOR_SELF, PRT_SPINY, LVar0, 0, LVar2, 15, TRUE)
351 Call(SetPartFlagBits, ACTOR_SELF, PRT_SPINY, ACTOR_PART_FLAG_INVISIBLE, TRUE)
353 Call(GetActorVar, ACTOR_SELF, AVAR_Copy_PartnerLevel, LVar9)
356 Wait(2)
359 Wait(2)
362 Wait(2)
368 Wait(15)
369 Call(YieldTurn)
370 Call(UseBattleCamPreset, BTL_CAM_DEFAULT)
371 Call(MoveBattleCamOver, 8)
372 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_Run)
373 Call(SetGoalToHome, ACTOR_SELF)
374 Call(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT)
377 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE)
378 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
379 Return
380 End
381};
382
383Formation A(LakilesterCloneFormation) = {
384 ACTOR_BY_POS(NAMESPACE, A(DuplighostSummonPos), 0),
385};
Bytecode EvtScript[]
@ BTL_CAM_XADJ_AVG
Definition enums.h:4900
@ ACTOR_SOUND_JUMP
Definition enums.h:2036
@ BS_FLAGS1_TRIGGER_EVENTS
Definition enums.h:3575
@ BS_FLAGS1_INCLUDE_POWER_UPS
Definition enums.h:3571
@ ELEMENT_END
Definition enums.h:2114
@ ELEMENT_NORMAL
Definition enums.h:2115
@ STATUS_KEY_PARALYZE
Definition enums.h:2201
@ STATUS_TURN_MOD_DEFAULT
Definition enums.h:2227
@ STATUS_TURN_MOD_PARALYZE
Definition enums.h:2234
@ STATUS_KEY_FROZEN
Definition enums.h:2203
@ STATUS_TURN_MOD_SLEEP
Definition enums.h:2228
@ STATUS_TURN_MOD_DIZZY
Definition enums.h:2232
@ STATUS_KEY_STATIC
Definition enums.h:2207
@ STATUS_END
Definition enums.h:2196
@ STATUS_TURN_MOD_POISON
Definition enums.h:2233
@ STATUS_KEY_FEAR
Definition enums.h:2199
@ STATUS_TURN_MOD_STOP
Definition enums.h:2237
@ STATUS_KEY_SLEEP
Definition enums.h:2202
@ STATUS_KEY_STONE
Definition enums.h:2208
@ STATUS_KEY_STOP
Definition enums.h:2204
@ STATUS_TURN_MOD_FROZEN
Definition enums.h:2230
@ STATUS_KEY_SHRINK
Definition enums.h:2206
@ STATUS_KEY_DIZZY
Definition enums.h:2200
@ STATUS_KEY_POISON
Definition enums.h:2205
@ STATUS_TURN_MOD_STATIC
Definition enums.h:2229
@ STATUS_TURN_MOD_FEAR
Definition enums.h:2231
@ STATUS_KEY_NORMAL
Definition enums.h:2197
@ STATUS_TURN_MOD_SHRINK
Definition enums.h:2235
@ STATUS_KEY_DEFAULT
Definition enums.h:2198
@ HIT_RESULT_NO_DAMAGE
Definition enums.h:1952
@ HIT_RESULT_HIT
Definition enums.h:1950
@ HIT_RESULT_LUCKY
Definition enums.h:1955
@ HIT_RESULT_MISS
Definition enums.h:1956
@ BTL_CAM_DEFAULT
Definition enums.h:4824
@ BTL_CAM_ENEMY_APPROACH
Definition enums.h:4885
@ EASING_COS_IN_OUT
Definition enums.h:520
@ IDLE_SCRIPT_ENABLE
Definition enums.h:6408
@ IDLE_SCRIPT_DISABLE
Definition enums.h:6407
@ PARTNER_RANK_NORMAL
Definition enums.h:2018
@ PARTNER_RANK_SUPER
Definition enums.h:2019
@ PARTNER_RANK_ULTRA
Definition enums.h:2020
@ STATUS_FLAG_SHRINK
Definition enums.h:2819
@ SOUND_SPIKE_SUMMON_SPINY
Definition enums.h:1031
@ SOUND_NONE
Definition enums.h:547
@ SOUND_LAKILESTER_THROW_SPINY_A
Definition enums.h:1336
@ ACTOR_PLAYER
Definition enums.h:2085
@ ACTOR_SELF
Definition enums.h:2084
@ ACTOR_FLAG_FLYING
Quake Hammer can't hit.
Definition enums.h:3329
@ BTL_CAM_YADJ_TARGET
Definition enums.h:4905
@ EVENT_HIT
Definition enums.h:2132
@ EVENT_SCARE_AWAY
Definition enums.h:2174
@ EVENT_BURN_HIT
Definition enums.h:2136
@ EVENT_IMMUNE
Definition enums.h:2146
@ EVENT_BURN_DEATH
Definition enums.h:2157
@ EVENT_ZERO_DAMAGE
Definition enums.h:2144
@ EVENT_SHOCK_DEATH
Definition enums.h:2159
@ EVENT_SPIN_SMASH_HIT
Definition enums.h:2133
@ EVENT_SPIN_SMASH_DEATH
Definition enums.h:2154
@ EVENT_HIT_COMBO
Definition enums.h:2131
@ EVENT_AIR_LIFT_FAILED
Definition enums.h:2152
@ EVENT_BEGIN_AIR_LIFT
Definition enums.h:2175
@ EVENT_DEATH
Definition enums.h:2153
@ EVENT_SHOCK_HIT
Definition enums.h:2165
@ EVENT_RECOVER_STATUS
Definition enums.h:2167
@ EVENT_BLOW_AWAY
Definition enums.h:2143
@ ACTOR_PART_FLAG_PRIMARY_TARGET
Definition enums.h:3362
@ ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION
Definition enums.h:3361
@ ACTOR_PART_FLAG_NO_TARGET
Cannot be targeted.
Definition enums.h:3360
@ ACTOR_PART_FLAG_INVISIBLE
Definition enums.h:3350
@ DAMAGE_TYPE_SHOCK
Definition enums.h:2856
@ DAMAGE_TYPE_TRIGGER_LUCKY
Definition enums.h:2881
@ DAMAGE_TYPE_NO_CONTACT
Definition enums.h:2878
EvtScript EVS_Enemy_Knockback
EvtScript EVS_Enemy_ScareAway
EvtScript EVS_Enemy_Hit
EvtScript EVS_Enemy_Death
EvtScript EVS_Enemy_SpinSmashHit
EvtScript EVS_Enemy_ShockHit
EvtScript EVS_Enemy_AirLift
EvtScript EVS_Enemy_BlowAway
EvtScript EVS_Enemy_Recover
EvtScript EVS_Enemy_BurnHit
EvtScript EVS_Enemy_NoDamageHit
ApiStatus RandInt(Evt *script, b32 isInitialCall)
#define Else
Marks the end of an if statement and the start of the else block.
Definition macros.h:295
#define Switch(LVAR)
Marks the start of a switch statement.
Definition macros.h:311
#define Ref(sym)
Address/pointer constant.
Definition macros.h:60
#define Set(VAR, INT_VALUE)
Sets the given variable to a given value casted to an integer.
Definition macros.h:365
#define AddF(VAR, FLOAT_VALUE)
Definition macros.h:383
#define CaseEq(RVAR)
Marks the start of a switch case that executes only if LVAR == RVAR. It also marks the end of any pre...
Definition macros.h:319
#define Sub(VAR, INT_VALUE)
Definition macros.h:377
#define End
Signals the end of EVT script data. A script missing this will likely crash on load.
Definition macros.h:213
#define Add(VAR, INT_VALUE)
Definition macros.h:376
#define EndLoop
Marks the end of a loop.
Definition macros.h:248
#define EndCaseGroup
Marks the end of a switch case group (CaseOrEq and/or CaseAndEq), stopping fallthrough.
Definition macros.h:352
#define ARRAY_COUNT(arr)
Definition macros.h:40
#define Float(DOUBLE)
Definition macros.h:51
#define CaseOrEq(RVAR)
Marks the start of a switch case that executes only if LVAR == RVAR.
Definition macros.h:341
#define EndIf
Marks the end of an if statement or an else block.
Definition macros.h:298
#define CaseDefault
Marks the start of a switch case that executes unconditionally. It also marks the end of any previous...
Definition macros.h:337
#define ExecWait(EVT_SOURCE)
Launches a new child thread.
Definition macros.h:475
#define Thread
Marks the start of a thread block.
Definition macros.h:544
#define EndThread
Marks the end of a thread block.
Definition macros.h:547
#define SetF(VAR, FLOAT_VALUE)
Sets the given variable to a given value, but supports Floats.
Definition macros.h:373
#define IfFlag(LVAR, RVAR)
Marks the beginning of an if statement that only executes if the RVAR flag is set on LVAR,...
Definition macros.h:288
#define LVar2
Definition macros.h:150
#define LVar1
Definition macros.h:149
#define LVarA
Definition macros.h:158
#define Wait(NUM_FRAMES)
Blocks for the given number of frames.
Definition macros.h:254
#define LVar9
Definition macros.h:157
#define A(sym)
Definition macros.h:36
#define PlayEffect(args...)
Definition macros.h:807
#define EndSwitch
Marks the end of a switch statement and any case.
Definition macros.h:362
#define IfEq(LVAR, RVAR)
Marks the beginning of an if statement that only executes if LVAR == RVAR.
Definition macros.h:269
#define Call(FUNC, ARGS...)
Calls a given C EVT API function with any number of arguments.
Definition macros.h:576
#define Loop(TIMES)
Marks the beginning of a loop.
Definition macros.h:245
#define LVar3
Definition macros.h:151
#define LVar0
Definition macros.h:148
#define SetConst(VAR, CONST)
Sets the given variable to a given value, skipping the evt_get_variable call.
Definition macros.h:370
#define Return
Kills the current EVT thread.
Definition macros.h:217
#define ACTOR_BY_POS(_name, _pos, _priority, args...)
Definition battle.h:230
FormationRow Formation[]
Definition battle.h:167