Paper Mario DX
Paper Mario (N64) modding
 
Loading...
Searching...
No Matches
fuzzy.inc.c
Go to the documentation of this file.
1#include "battle/battle.h"
2#include "script_api/battle.h"
3#include "sprite/npc/Fuzzy.h"
4#include "sprite/player.h"
5#include "effects.h"
6
7#define NAMESPACE A(fuzzy)
8
9extern s32 N(DefaultAnims)[];
10extern EvtScript N(EVS_Init);
11extern EvtScript N(EVS_Idle);
12extern EvtScript N(EVS_TakeTurn);
13extern EvtScript N(EVS_HandleEvent);
14
15enum N(ActorPartIDs) {
16 PRT_MAIN = 1,
17};
18
19enum N(ActorParams) {
20 DMG_LEECH = 1,
21};
22
23s32 N(DefenseTable)[] = {
26};
27
28s32 N(StatusTable)[] = {
39 STATUS_KEY_STOP, 100,
51};
52
53ActorPartBlueprint N(ActorParts)[] = {
54 {
56 .index = PRT_MAIN,
57 .posOffset = { 0, 0, 0 },
58 .targetOffset = { 0, 20 },
59 .opacity = 255,
60 .idleAnimations = N(DefaultAnims),
61 .defenseTable = N(DefenseTable),
62 .eventFlags = ACTOR_EVENT_FLAGS_NONE,
63 .elementImmunityFlags = 0,
64 .projectileTargetOffset = { 0, -10 },
65 },
66};
67
68ActorBlueprint NAMESPACE = {
69 .flags = 0,
70 .type = ACTOR_TYPE_FUZZY,
71 .level = ACTOR_LEVEL_FUZZY,
72 .maxHP = 3,
73 .partCount = ARRAY_COUNT(N(ActorParts)),
74 .partsData = N(ActorParts),
75 .initScript = &N(EVS_Init),
76 .statusTable = N(StatusTable),
77 .escapeChance = 50,
78 .airLiftChance = 95,
79 .hurricaneChance = 95,
80 .spookChance = 95,
81 .upAndAwayChance = 95,
82 .spinSmashReq = 0,
83 .powerBounceChance = 100,
84 .coinReward = 1,
85 .size = { 33, 28 },
86 .healthBarOffset = { 0, 0 },
87 .statusIconOffset = { -10, 20 },
88 .statusTextOffset = { 10, 20 },
89};
90
91s32 N(DefaultAnims)[] = {
92 STATUS_KEY_NORMAL, ANIM_Fuzzy_Idle,
93 STATUS_KEY_STONE, ANIM_Fuzzy_Still,
94 STATUS_KEY_SLEEP, ANIM_Fuzzy_Sleep,
95 STATUS_KEY_POISON, ANIM_Fuzzy_Idle,
96 STATUS_KEY_STOP, ANIM_Fuzzy_Still,
97 STATUS_KEY_STATIC, ANIM_Fuzzy_Idle,
98 STATUS_KEY_PARALYZE, ANIM_Fuzzy_Still,
99 STATUS_KEY_DIZZY, ANIM_Fuzzy_Stunned,
100 STATUS_KEY_FEAR, ANIM_Fuzzy_Stunned,
102};
103
104EvtScript N(EVS_Init) = {
105 Call(BindTakeTurn, ACTOR_SELF, Ref(N(EVS_TakeTurn)))
106 Call(BindIdle, ACTOR_SELF, Ref(N(EVS_Idle)))
107 Call(BindHandleEvent, ACTOR_SELF, Ref(N(EVS_HandleEvent)))
108 Return
109 End
110};
111
112EvtScript N(EVS_Idle) = {
113 Return
114 End
115};
116
117EvtScript N(EVS_HandleEvent) = {
118 Call(UseIdleAnimation, ACTOR_SELF, FALSE)
119 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_DISABLE)
120 Call(SetActorScale, ACTOR_SELF, Float(1.0), Float(1.0), Float(1.0))
121 Call(GetLastEvent, ACTOR_SELF, LVar0)
125 Call(GetLastElement, LVar0)
127 SetConst(LVar0, PRT_MAIN)
128 SetConst(LVar1, ANIM_Fuzzy_HurtShock)
129 Else
130 SetConst(LVar0, PRT_MAIN)
131 SetConst(LVar1, ANIM_Fuzzy_Hurt)
132 EndIf
136 SetConst(LVar0, PRT_MAIN)
137 SetConst(LVar1, ANIM_Fuzzy_Burn)
138 SetConst(LVar2, ANIM_Fuzzy_BurnStill)
141 SetConst(LVar0, PRT_MAIN)
142 SetConst(LVar1, ANIM_Fuzzy_Burn)
143 SetConst(LVar2, ANIM_Fuzzy_BurnStill)
145 SetConst(LVar0, PRT_MAIN)
146 SetConst(LVar1, ANIM_Fuzzy_BurnStill)
148 Return
150 SetConst(LVar0, PRT_MAIN)
151 SetConst(LVar1, ANIM_Fuzzy_Hurt)
154 SetConst(LVar0, PRT_MAIN)
155 SetConst(LVar1, ANIM_Fuzzy_Hurt)
157 SetConst(LVar0, PRT_MAIN)
158 SetConst(LVar1, ANIM_Fuzzy_Hurt)
160 Return
162 SetConst(LVar0, PRT_MAIN)
163 SetConst(LVar1, ANIM_Fuzzy_HurtShock)
165 SetConst(LVar0, PRT_MAIN)
166 SetConst(LVar1, ANIM_Fuzzy_HurtShock)
168 Call(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE)
169 SetConst(LVar0, PRT_MAIN)
170 SetConst(LVar1, ANIM_Fuzzy_Run)
172 Call(SetActorJumpGravity, ACTOR_SELF, Float(1.6))
173 Call(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE)
175 SetConst(LVar0, PRT_MAIN)
176 SetConst(LVar1, ANIM_Fuzzy_HurtShock)
178 SetConst(LVar0, PRT_MAIN)
179 SetConst(LVar1, ANIM_Fuzzy_Hurt)
181 Return
185 SetConst(LVar0, PRT_MAIN)
186 SetConst(LVar1, ANIM_Fuzzy_Idle)
190 Call(GetLastElement, LVar0)
192 SetConst(LVar0, PRT_MAIN)
193 SetConst(LVar1, ANIM_Fuzzy_HurtShock)
195 Wait(10)
196 SetConst(LVar0, PRT_MAIN)
197 SetConst(LVar1, ANIM_Fuzzy_HurtShock)
199 Else
200 SetConst(LVar0, PRT_MAIN)
201 SetConst(LVar1, ANIM_Fuzzy_Hurt)
203 Wait(10)
204 SetConst(LVar0, PRT_MAIN)
205 SetConst(LVar1, ANIM_Fuzzy_Hurt)
207 EndIf
208 Return
210 SetConst(LVar0, PRT_MAIN)
211 SetConst(LVar1, ANIM_Fuzzy_Idle)
214 SetConst(LVar0, PRT_MAIN)
215 SetConst(LVar1, ANIM_Fuzzy_Run)
216 SetConst(LVar2, ANIM_Fuzzy_Anim09)
218 Return
220 SetConst(LVar0, PRT_MAIN)
221 SetConst(LVar1, ANIM_Fuzzy_Run)
224 SetConst(LVar0, PRT_MAIN)
225 SetConst(LVar1, ANIM_Fuzzy_Run)
227 Return
230 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE)
231 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
232 Return
233 End
234};
235
236#include "common/SpawnEnemyDrainFX.inc.c"
237
238EvtScript N(EVS_TakeTurn) = {
239 Call(UseIdleAnimation, ACTOR_SELF, FALSE)
240 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_DISABLE)
241 Call(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER)
242 Call(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH)
243 Call(BattleCamTargetActor, ACTOR_SELF)
244 Call(SetBattleCamTargetingModes, BTL_CAM_YADJ_TARGET, BTL_CAM_XADJ_AVG, FALSE)
245 Call(GetBattlePhase, LVar0)
247 Call(SetGoalToTarget, ACTOR_SELF)
248 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
249 Add(LVar0, 50)
250 Set(LVar1, 0)
251 Call(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
252 Goto(100)
253 EndIf
254 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Run)
255 Call(SetGoalToTarget, ACTOR_SELF)
256 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
257 Add(LVar0, 50)
258 Set(LVar1, 0)
259 Call(SetActorSpeed, ACTOR_SELF, Float(6.0))
260 Call(SetActorJumpGravity, ACTOR_SELF, Float(1.8))
262 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Idle)
263 Label(100)
264 Call(SetActorDispOffset, ACTOR_SELF, 0, 10, 0)
265 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Leech)
266 Call(SetActorDispOffset, ACTOR_SELF, 0, 9, 0)
267 Wait(1)
268 Call(SetActorDispOffset, ACTOR_SELF, 0, 8, 0)
269 Wait(5)
274 Set(LVarA, LVar0)
275 Call(SetGoalToTarget, ACTOR_SELF)
276 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
277 Sub(LVar0, 5)
278 Set(LVar1, 0)
279 Sub(LVar2, 5)
280 Call(SetActorJumpGravity, ACTOR_SELF, Float(3.0))
281 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Jump)
282 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
283 Call(JumpToGoal, ACTOR_SELF, 11, FALSE, TRUE, FALSE)
284 Call(SetActorDispOffset, ACTOR_SELF, 0, 0, 0)
285 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Anim09)
286 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
287 Sub(LVar0, 20)
288 Call(SetActorJumpGravity, ACTOR_SELF, Float(3.0))
289 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
290 Call(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE)
291 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
292 Sub(LVar0, 15)
293 Call(SetActorJumpGravity, ACTOR_SELF, Float(3.0))
294 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
295 Call(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE)
296 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
297 Wait(4)
298 Wait(5)
300 Call(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0)
301 EndIf
302 Wait(5)
303 Call(UseBattleCamPreset, BTL_CAM_DEFAULT)
304 Call(YieldTurn)
305 Call(SetActorYaw, ACTOR_SELF, 180)
306 Call(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT)
307 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Run)
308 Call(SetGoalToHome, ACTOR_SELF)
309 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
310 Call(SetActorSpeed, ACTOR_SELF, Float(8.0))
311 Call(SetActorJumpGravity, ACTOR_SELF, Float(1.8))
313 Call(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0)
314 Call(SetActorYaw, ACTOR_SELF, 0)
315 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE)
316 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
317 Return
320 Call(GetStatusFlags, ACTOR_SELF, LVar0)
322 Set(LFlag0, FALSE)
323 Else
324 Set(LFlag0, TRUE)
325 EndIf
327 Call(SetGoalToTarget, ACTOR_SELF)
328 Call(AddGoalPos, ACTOR_SELF, -3, -12, -15)
329 Call(SetActorJumpGravity, ACTOR_SELF, Float(3.0))
330 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Jump)
331 Call(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE)
332 IfEq(LFlag0, TRUE)
334 Return
335 EndIf
336 Wait(10)
337 Call(UseIdleAnimation, ACTOR_PLAYER, FALSE)
338 Call(SetAnimation, ACTOR_PLAYER, 0, ANIM_MarioB1_Leeching)
339 Call(PlaySoundAtActor, ACTOR_SELF, SOUND_LEECH)
340 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Bite)
341 Wait(21)
342 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Still)
343 Call(SetActorRotation, ACTOR_SELF, 0, 0, 330)
344 Call(PlaySoundAtActor, ACTOR_SELF, SOUND_LEECH)
345 Call(SetActorDispOffset, ACTOR_SELF, -3, -2, 0)
346 Call(SetActorScale, ACTOR_SELF, Float(1.0), Float(1.0), Float(1.0))
347 Wait(1)
348 Call(SetActorScale, ACTOR_SELF, Float(0.9), Float(1.2), Float(1.0))
349 Wait(1)
350 Call(SetActorScale, ACTOR_SELF, Float(0.8), Float(1.3), Float(1.0))
351 Wait(1)
352 Call(SetActorScale, ACTOR_SELF, Float(0.7), Float(1.4), Float(1.0))
353 Wait(1)
354 Call(SetActorScale, ACTOR_SELF, Float(0.7), Float(1.5), Float(1.0))
355 Wait(2)
356 Call(SetActorScale, ACTOR_SELF, Float(0.6), Float(1.6), Float(1.0))
357 Wait(10)
358 Wait(2)
359 Call(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, DMG_LEECH, BS_FLAGS1_TRIGGER_EVENTS)
360 Call(SetActorDispOffset, ACTOR_SELF, 0, 0, 0)
361 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Idle)
365 Call(UseBattleCamPreset, BTL_CAM_DEFAULT)
366 Call(GetLastDamage, ACTOR_PLAYER, LVar3)
367 IfNe(LVar3, 0)
368 Call(PlaySoundAtActor, ACTOR_SELF, SOUND_RECOVER_HEART)
369 Call(PlaySoundAtActor, ACTOR_SELF, SOUND_HEART_BOUNCE)
370 Call(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
371 Add(LVar1, 10)
372 Call(N(SpawnDrainHealthStartFX), LVar0, LVar1, LVar2, LVar3)
373 Thread
374 Wait(15)
375 Call(PlaySoundAtActor, ACTOR_SELF, SOUND_STAR_BOUNCE_A)
376 Call(N(SpawnDrainHealthContinueFX), LVar0, LVar1, LVar2, LVar3)
378 Add(LVar0, 20)
379 Add(LVar1, 20)
380 PlayEffect(EFFECT_RECOVER, 0, LVar0, LVar1, LVar2, LVar3, 0)
381 Call(GetActorHP, ACTOR_SELF, LVar0)
382 Add(LVar0, LVar3)
383 Call(SetEnemyHP, ACTOR_SELF, LVar0)
384 EndIf
385 Thread
386 Call(SetActorScale, ACTOR_SELF, Float(1.6), Float(0.6), Float(1.0))
387 Call(SetActorRotationOffset, ACTOR_SELF, 0, 10, 0)
388 Wait(1)
389 Call(SetActorRotation, ACTOR_SELF, 0, 0, 330)
390 Wait(1)
391 Call(SetActorScale, ACTOR_SELF, Float(0.7), Float(1.5), Float(1.0))
392 Call(SetActorRotation, ACTOR_SELF, 0, 0, 300)
393 Wait(1)
394 Call(SetActorRotation, ACTOR_SELF, 0, 0, 270)
395 Wait(1)
396 Call(SetActorScale, ACTOR_SELF, Float(1.0), Float(0.7), Float(1.0))
397 Call(SetActorRotation, ACTOR_SELF, 0, 0, 240)
398 Wait(1)
399 Call(SetActorRotation, ACTOR_SELF, 0, 0, 210)
400 Wait(1)
401 Call(SetActorScale, ACTOR_SELF, Float(0.7), Float(1.4), Float(1.0))
402 Call(SetActorRotation, ACTOR_SELF, 0, 0, 180)
403 Wait(2)
404 Call(SetActorScale, ACTOR_SELF, Float(1.0), Float(0.7), Float(1.0))
405 Wait(2)
406 Call(SetActorScale, ACTOR_SELF, Float(1.2), Float(0.5), Float(1.0))
408 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
409 Add(LVar0, 40)
410 Set(LVar1, 0)
411 Call(SetActorJumpGravity, ACTOR_SELF, Float(1.8))
412 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
413 Call(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE)
414 Call(SetActorScale, ACTOR_SELF, Float(1.4), Float(0.2), Float(1.0))
415 Wait(1)
416 Thread
417 Wait(1)
418 Call(SetActorScale, ACTOR_SELF, Float(1.2), Float(0.5), Float(1.0))
419 Call(SetActorRotation, ACTOR_SELF, 0, 0, 150)
420 Wait(1)
421 Call(SetActorScale, ACTOR_SELF, Float(1.0), Float(1.0), Float(1.0))
422 Call(SetActorRotation, ACTOR_SELF, 0, 0, 120)
423 Wait(1)
424 Call(SetActorRotation, ACTOR_SELF, 0, 0, 90)
425 Wait(1)
426 Call(SetActorRotation, ACTOR_SELF, 0, 0, 60)
427 Wait(1)
428 Call(SetActorRotation, ACTOR_SELF, 0, 0, 30)
429 Wait(1)
430 Call(SetActorRotation, ACTOR_SELF, 0, 0, 0)
431 Call(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0)
433 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
434 Add(LVar0, 30)
435 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
436 Call(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE)
437 Wait(5)
438 Call(YieldTurn)
439 Call(SetActorDispOffset, ACTOR_SELF, 0, 0, 0)
440 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Run)
441 Call(SetGoalToHome, ACTOR_SELF)
442 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
443 Call(SetActorSpeed, ACTOR_SELF, Float(8.0))
444 Call(SetActorJumpGravity, ACTOR_SELF, Float(1.8))
446 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Idle)
449 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE)
450 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
451 Return
452 End
453};
Bytecode EvtScript[]
@ BTL_CAM_XADJ_AVG
Definition enums.h:4900
@ 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
@ ACTOR_EVENT_FLAGS_NONE
Definition enums.h:3370
@ ACTOR_DECORATION_SWEAT
Definition enums.h:2045
@ PHASE_FIRST_STRIKE
Definition enums.h:2059
@ 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_HIT_STATIC
Definition enums.h:1957
@ 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
@ IDLE_SCRIPT_ENABLE
Definition enums.h:6408
@ IDLE_SCRIPT_DISABLE
Definition enums.h:6407
@ STATUS_FLAG_STATIC
Definition enums.h:2813
@ SOUND_STAR_BOUNCE_A
Definition enums.h:975
@ SOUND_RECOVER_HEART
Definition enums.h:1406
@ SOUND_LEECH
Definition enums.h:1288
@ SOUND_HEART_BOUNCE
Definition enums.h:925
@ ACTOR_PLAYER
Definition enums.h:2085
@ ACTOR_SELF
Definition enums.h:2084
@ 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
@ DAMAGE_TYPE_IGNORE_DEFENSE
Definition enums.h:2877
@ DAMAGE_TYPE_SHOCK
Definition enums.h:2856
@ DAMAGE_TYPE_TRIGGER_LUCKY
Definition enums.h:2881
EvtScript EVS_Enemy_Knockback
EvtScript EVS_Enemy_HopToPos
EvtScript EVS_Enemy_ScareAway
EvtScript EVS_Enemy_Hit
EvtScript EVS_Enemy_Death
EvtScript EVS_Enemy_SpinSmashHit
EvtScript EVS_Enemy_ShockHit
EvtScript EVS_Enemy_HopHome
EvtScript EVS_Enemy_AirLift
EvtScript EVS_Enemy_BlowAway
EvtScript EVS_Enemy_Recover
EvtScript EVS_Enemy_BurnHit
EvtScript EVS_Enemy_NoDamageHit
#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 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 IfNe(LVAR, RVAR)
Marks the beginning of an if statement that only executes if LVAR != RVAR.
Definition macros.h:272
#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 EndCaseGroup
Marks the end of a switch case group (CaseOrEq and/or CaseAndEq), stopping fallthrough.
Definition macros.h:352
#define Goto(LABEL_ID)
Moves execution to the given label.
Definition macros.h:232
#define ARRAY_COUNT(arr)
Definition macros.h:40
#define Float(DOUBLE)
Definition macros.h:51
#define Label(LABEL_ID)
Marks this point in the script as a Goto target.
Definition macros.h:227
#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 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 LFlag0
Definition macros.h:167
#define LVarA
Definition macros.h:158
#define Wait(NUM_FRAMES)
Blocks for the given number of frames.
Definition macros.h:254
#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 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