Paper Mario DX
Paper Mario (N64) modding
 
Loading...
Searching...
No Matches
spiked_goomba.inc.c
Go to the documentation of this file.
1#include "common.h"
2#include "effects.h"
3#include "battle/battle.h"
4#include "script_api/battle.h"
5#include "sprite/npc/SpikedGoomba.h"
6
7#define NAMESPACE A(spiked_goomba)
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_SPIKEBONK = 2,
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, 24 },
59 .opacity = 255,
60 .idleAnimations = N(DefaultAnims),
61 .defenseTable = N(DefenseTable),
62 .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP,
63 .elementImmunityFlags = 0,
64 .projectileTargetOffset = { 0, -12 },
65 },
66};
67
68ActorBlueprint NAMESPACE = {
69 .flags = 0,
70 .type = ACTOR_TYPE_SPIKED_GOOMBA,
71 .level = ACTOR_LEVEL_SPIKED_GOOMBA,
72 .maxHP = 2,
73 .partCount = ARRAY_COUNT(N(ActorParts)),
74 .partsData = N(ActorParts),
75 .initScript = &N(EVS_Init),
76 .statusTable = N(StatusTable),
77 .escapeChance = 90,
78 .airLiftChance = 95,
79 .hurricaneChance = 90,
80 .spookChance = 100,
81 .upAndAwayChance = 95,
82 .spinSmashReq = 0,
83 .powerBounceChance = 100,
84 .coinReward = 1,
85 .size = { 24, 28 },
86 .healthBarOffset = { 0, 0 },
87 .statusIconOffset = { -10, 20 },
88 .statusTextOffset = { 10, 20 },
89};
90
91s32 N(DefaultAnims)[] = {
92 STATUS_KEY_NORMAL, ANIM_SpikedGoomba_Idle,
93 STATUS_KEY_STONE, ANIM_SpikedGoomba_Still,
94 STATUS_KEY_SLEEP, ANIM_SpikedGoomba_Sleep,
95 STATUS_KEY_POISON, ANIM_SpikedGoomba_Idle,
96 STATUS_KEY_STOP, ANIM_SpikedGoomba_Still,
97 STATUS_KEY_STATIC, ANIM_SpikedGoomba_Idle,
98 STATUS_KEY_PARALYZE, ANIM_SpikedGoomba_Still,
99 STATUS_KEY_DIZZY, ANIM_SpikedGoomba_Dizzy,
100 STATUS_KEY_FEAR, ANIM_SpikedGoomba_Dizzy,
102};
103
104s32 N(ShuffleAnims)[] = {
105 STATUS_KEY_NORMAL, ANIM_SpikedGoomba_Run,
106 STATUS_KEY_STONE, ANIM_SpikedGoomba_Still,
107 STATUS_KEY_SLEEP, ANIM_SpikedGoomba_Sleep,
108 STATUS_KEY_POISON, ANIM_SpikedGoomba_Idle,
109 STATUS_KEY_STOP, ANIM_SpikedGoomba_Still,
110 STATUS_KEY_STATIC, ANIM_SpikedGoomba_Run,
111 STATUS_KEY_PARALYZE, ANIM_SpikedGoomba_Still,
112 STATUS_KEY_DIZZY, ANIM_SpikedGoomba_Dizzy,
113 STATUS_KEY_FEAR, ANIM_SpikedGoomba_Dizzy,
115};
116
117EvtScript N(EVS_Init) = {
118 Call(BindTakeTurn, ACTOR_SELF, Ref(N(EVS_TakeTurn)))
119 Call(BindIdle, ACTOR_SELF, Ref(N(EVS_Idle)))
120 Call(BindHandleEvent, ACTOR_SELF, Ref(N(EVS_HandleEvent)))
121 Return
122 End
123};
124
125EvtScript N(EVS_Idle) = {
126 Label(10)
127 Call(RandInt, 80, LVar0)
128 Add(LVar0, 80)
129 Loop(LVar0)
130 Label(0)
131 Call(GetStatusFlags, ACTOR_SELF, LVar1)
133 Wait(1)
134 Goto(0)
135 EndIf
136 Wait(1)
137 EndLoop
138 Call(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
139 Add(LVar0, 5)
140 Call(SetActorIdleSpeed, ACTOR_SELF, Float(1.0))
141 Call(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, Ref(N(ShuffleAnims)))
142 Call(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2)
143 Call(IdleRunToGoal, ACTOR_SELF, 0)
144 Call(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, Ref(N(DefaultAnims)))
145 Loop(20)
146 Label(1)
147 Call(GetStatusFlags, ACTOR_SELF, LVar1)
149 Wait(1)
150 Goto(1)
151 EndIf
152 Wait(1)
153 EndLoop
154 Call(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
155 Sub(LVar0, 5)
156 Call(SetActorIdleSpeed, ACTOR_SELF, Float(1.0))
157 Call(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, Ref(N(ShuffleAnims)))
158 Call(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2)
159 Call(IdleRunToGoal, ACTOR_SELF, 0)
160 Call(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, Ref(N(DefaultAnims)))
161 Loop(80)
162 Label(2)
163 Call(GetStatusFlags, ACTOR_SELF, LVar1)
165 Wait(1)
166 Goto(2)
167 EndIf
168 Wait(1)
169 EndLoop
170 Goto(10)
171 Return
172 End
173};
174
175EvtScript N(EVS_HandleEvent) = {
176 Call(UseIdleAnimation, ACTOR_SELF, FALSE)
177 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_DISABLE)
178 Call(SetActorScale, ACTOR_SELF, Float(1.0), Float(1.0), Float(1.0))
179 Call(GetLastEvent, ACTOR_SELF, LVar0)
183 SetConst(LVar0, PRT_MAIN)
184 SetConst(LVar1, ANIM_SpikedGoomba_Hurt)
188 SetConst(LVar0, PRT_MAIN)
189 SetConst(LVar1, ANIM_SpikedGoomba_BurnEyesClosed)
190 SetConst(LVar2, ANIM_SpikedGoomba_BurnEyesOpen)
193 SetConst(LVar0, PRT_MAIN)
194 SetConst(LVar1, ANIM_SpikedGoomba_BurnEyesClosed)
195 SetConst(LVar2, ANIM_SpikedGoomba_BurnEyesOpen)
197 SetConst(LVar0, PRT_MAIN)
198 SetConst(LVar1, ANIM_SpikedGoomba_BurnEyesOpen)
200 Return
202 SetConst(LVar0, PRT_MAIN)
203 SetConst(LVar1, ANIM_SpikedGoomba_Hurt)
206 SetConst(LVar0, PRT_MAIN)
207 SetConst(LVar1, ANIM_SpikedGoomba_Hurt)
209 SetConst(LVar0, PRT_MAIN)
210 SetConst(LVar1, ANIM_SpikedGoomba_HurtStill)
212 Return
214 SetConst(LVar0, PRT_MAIN)
215 SetConst(LVar1, ANIM_SpikedGoomba_Electrocute)
217 SetConst(LVar0, PRT_MAIN)
218 SetConst(LVar1, ANIM_SpikedGoomba_Hurt)
220 Call(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE)
221 Call(SetAnimationRate, ACTOR_SELF, PRT_MAIN, Float(2.0))
222 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dizzy)
223 Call(SetGoalToHome, ACTOR_SELF)
224 Call(SetActorSpeed, ACTOR_SELF, Float(8.0))
225 Call(RunToGoal, ACTOR_SELF, 0, FALSE)
226 Call(SetAnimationRate, ACTOR_SELF, PRT_MAIN, Float(1.0))
227 Wait(5)
228 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Idle)
229 Call(SetActorJumpGravity, ACTOR_SELF, Float(1.6))
230 Call(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE)
232 SetConst(LVar0, PRT_MAIN)
233 SetConst(LVar1, ANIM_SpikedGoomba_Electrocute)
235 SetConst(LVar0, PRT_MAIN)
236 SetConst(LVar1, ANIM_SpikedGoomba_HurtStill)
238 Return
243 SetConst(LVar0, PRT_MAIN)
244 SetConst(LVar1, ANIM_SpikedGoomba_Idle)
248 SetConst(LVar0, PRT_MAIN)
249 SetConst(LVar1, ANIM_SpikedGoomba_Hurt)
251 Wait(10)
252 SetConst(LVar0, PRT_MAIN)
253 SetConst(LVar1, ANIM_SpikedGoomba_HurtStill)
255 Return
257 Call(SetAnimationRate, ACTOR_SELF, PRT_MAIN, Float(2.0))
258 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Run)
259 Call(SetGoalToHome, ACTOR_SELF)
260 Call(SetActorSpeed, ACTOR_SELF, Float(4.0))
261 Call(RunToGoal, ACTOR_SELF, 0, FALSE)
262 Call(SetAnimationRate, ACTOR_SELF, PRT_MAIN, Float(1.0))
263 Call(HPBarToHome, ACTOR_SELF)
265 SetConst(LVar0, PRT_MAIN)
266 SetConst(LVar1, ANIM_SpikedGoomba_Idle)
269 SetConst(LVar0, PRT_MAIN)
270 SetConst(LVar1, ANIM_SpikedGoomba_Run)
271 SetConst(LVar2, ANIM_SpikedGoomba_Hurt)
273 Return
275 SetConst(LVar0, PRT_MAIN)
276 SetConst(LVar1, ANIM_SpikedGoomba_Run)
279 SetConst(LVar0, PRT_MAIN)
280 SetConst(LVar1, ANIM_SpikedGoomba_Hurt)
282 Return
284 Call(GetStatusFlags, ACTOR_SELF, LVar0)
286 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Laugh)
287 EndIf
288 Wait(10)
289 Call(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
290 Call(GetStatusFlags, ACTOR_SELF, LVar3)
292 Add(LVar1, 10)
293 Else
294 Add(LVar1, 26)
295 EndIf
296 PlayEffect(EFFECT_LENS_FLARE, 0, LVar0, LVar1, LVar2, 20, 0)
297 Wait(20)
300 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Idle)
301 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE)
302 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
303 Return
304 End
305};
306
307#include "common/CalculateArcsinDeg.inc.c"
308
309EvtScript N(EVS_TakeTurn) = {
310 Call(UseIdleAnimation, ACTOR_SELF, FALSE)
311 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_DISABLE)
312 Call(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER)
313 Call(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH)
314 Call(BattleCamTargetActor, ACTOR_SELF)
315 Call(SetBattleCamTargetingModes, BTL_CAM_YADJ_TARGET, BTL_CAM_XADJ_AVG, FALSE)
316 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Run)
317 Call(SetGoalToTarget, ACTOR_SELF)
318 Call(AddGoalPos, ACTOR_SELF, 50, 0, 0)
319 Call(SetActorSpeed, ACTOR_SELF, Float(6.0))
320 Call(RunToGoal, ACTOR_SELF, 0, FALSE)
321 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Idle)
322 Call(SetActorDispOffset, ACTOR_SELF, 0, -1, 0)
323 Wait(1)
324 Call(SetActorDispOffset, ACTOR_SELF, 0, -2, 0)
325 Wait(5)
326 Call(SetActorDispOffset, ACTOR_SELF, 0, 0, 0)
327 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Midair)
328 Call(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_INCLUDE_POWER_UPS)
332 Set(LVarA, LVar0)
333 Call(SetGoalToTarget, ACTOR_SELF)
334 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
335 Sub(LVar0, 10)
336 Set(LVar1, 10)
337 Add(LVar2, 3)
338 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
339 Call(SetActorJumpGravity, ACTOR_SELF, Float(1.2))
340 Thread
341 Call(GetActorPos, ACTOR_SELF, LVar1, LVar2, LVar0)
342 Set(LVar0, 0)
343 Loop(16)
344 Call(GetActorPos, ACTOR_SELF, LVar4, LVar5, LVar6)
345 Call(N(CalculateArcsinDeg), LVar1, LVar2, LVar4, LVar5, LVar0)
346 Call(SetActorRotation, ACTOR_SELF, 0, 0, LVar0)
347 Set(LVar1, LVar4)
348 Set(LVar2, LVar5)
349 Set(LVar3, LVar6)
350 Wait(1)
351 EndLoop
353 Thread
354 Wait(6)
355 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Midair)
357 Call(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE)
358 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Sleep)
359 Call(SetActorScale, ACTOR_SELF, Float(1.1), Float(0.8), Float(1.0))
360 Call(SetActorDispOffset, ACTOR_SELF, 0, 5, 0)
361 Wait(1)
362 Call(SetActorScale, ACTOR_SELF, Float(1.3), Float(0.5), Float(1.0))
363 Call(SetActorDispOffset, ACTOR_SELF, 0, -2, 0)
364 Wait(1)
365 Call(SetActorScale, ACTOR_SELF, Float(1.0), Float(1.0), Float(1.0))
366 Call(SetActorDispOffset, ACTOR_SELF, 0, 7, 0)
367 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Hurt)
368 Wait(5)
370 Call(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0)
371 EndIf
372 Wait(5)
373 Call(SetActorDispOffset, ACTOR_SELF, 0, 0, 0)
374 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Midair)
375 Call(SetGoalToTarget, ACTOR_SELF)
376 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
377 Add(LVar0, 20)
378 Set(LVar1, 0)
379 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
380 Call(SetActorJumpGravity, ACTOR_SELF, Float(2.0))
381 Thread
382 Wait(4)
383 Set(LVar0, 180)
384 Loop(4)
385 Sub(LVar0, 45)
386 Call(SetActorRotation, ACTOR_SELF, 0, 0, LVar0)
387 Wait(1)
388 EndLoop
389 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Midair)
391 Call(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE)
392 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dizzy)
393 Wait(5)
394 Call(UseBattleCamPreset, BTL_CAM_DEFAULT)
395 Call(YieldTurn)
396 Call(SetActorYaw, ACTOR_SELF, 180)
397 Call(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT)
398 Call(SetAnimationRate, ACTOR_SELF, PRT_MAIN, Float(2.0))
399 Call(SetGoalToHome, ACTOR_SELF)
400 Call(SetActorSpeed, ACTOR_SELF, Float(8.0))
401 Call(RunToGoal, ACTOR_SELF, 0, FALSE)
402 Call(SetAnimationRate, ACTOR_SELF, PRT_MAIN, Float(1.0))
403 Call(SetActorYaw, ACTOR_SELF, 0)
404 Wait(5)
405 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Idle)
406 Call(SetActorJumpGravity, ACTOR_SELF, Float(1.6))
407 Call(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE)
408 Call(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0)
409 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE)
410 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
411 Return
414 Call(SetGoalToTarget, ACTOR_SELF)
415 Call(SetActorJumpGravity, ACTOR_SELF, Float(1.2))
416 Thread
417 Call(GetActorPos, ACTOR_SELF, LVar1, LVar2, LVar0)
418 Set(LVar0, 0)
419 Loop(16)
420 Call(GetActorPos, ACTOR_SELF, LVar4, LVar5, LVar6)
421 Call(N(CalculateArcsinDeg), LVar1, LVar2, LVar4, LVar5, LVar0)
422 Call(SetActorRotation, ACTOR_SELF, 0, 0, LVar0)
423 Set(LVar1, LVar4)
424 Set(LVar2, LVar5)
425 Set(LVar3, LVar6)
426 Wait(1)
427 EndLoop
429 Thread
430 Wait(6)
431 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Midair)
433 Call(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE)
434 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Midair)
435 Call(SetActorScale, ACTOR_SELF, Float(1.1), Float(0.8), Float(1.0))
436 Wait(1)
437 Call(SetActorScale, ACTOR_SELF, Float(1.3), Float(0.5), Float(1.0))
438 Wait(1)
440 Call(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, DMG_SPIKEBONK, BS_FLAGS1_TRIGGER_EVENTS)
444 Call(UseBattleCamPreset, BTL_CAM_DEFAULT)
445 Call(SetActorScale, ACTOR_SELF, Float(1.1), Float(0.8), Float(1.0))
446 Wait(1)
447 Call(SetActorScale, ACTOR_SELF, Float(1.0), Float(1.0), Float(1.0))
448 Wait(1)
449 Call(SetActorRotation, ACTOR_SELF, 0, 0, 0)
450 Call(SetActorDispOffset, ACTOR_SELF, 0, 0, 0)
451 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Idle)
452 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
453 Add(LVar0, 40)
454 Set(LVar1, 0)
455 Call(SetActorJumpGravity, ACTOR_SELF, Float(1.8))
456 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
457 Call(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE)
458 Add(LVar0, 30)
459 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
460 Call(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE)
461 Add(LVar0, 20)
462 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
463 Call(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE)
464 Call(GetLastDamage, ACTOR_PLAYER, LVar0)
465 IfGt(LVar0, 0)
466 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Laugh)
467 Wait(15)
468 Else
469 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Idle)
470 Wait(3)
471 EndIf
472 Call(YieldTurn)
473 Call(SetAnimationRate, ACTOR_SELF, PRT_MAIN, Float(2.0))
474 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Run)
475 Call(SetGoalToHome, ACTOR_SELF)
476 Call(SetActorSpeed, ACTOR_SELF, Float(8.0))
477 Call(RunToGoal, ACTOR_SELF, 0, FALSE)
478 Call(SetAnimationRate, ACTOR_SELF, PRT_MAIN, Float(1.0))
481 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE)
482 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
483 Return
484 End
485};
Bytecode EvtScript[]
#define STATUS_FLAGS_IMMOBILIZED
Definition enums.h:2834
@ BTL_CAM_XADJ_AVG
Definition enums.h:4899
@ BS_FLAGS1_TRIGGER_EVENTS
Definition enums.h:3574
@ BS_FLAGS1_INCLUDE_POWER_UPS
Definition enums.h:3570
@ ELEMENT_END
Definition enums.h:2114
@ ELEMENT_NORMAL
Definition enums.h:2115
@ ACTOR_EVENT_FLAG_SPIKY_TOP
Player takes spike damage from jump attacks.
Definition enums.h:3373
@ ACTOR_DECORATION_SWEAT
Definition enums.h:2045
@ 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:4823
@ BTL_CAM_ENEMY_APPROACH
Definition enums.h:4884
@ IDLE_SCRIPT_ENABLE
Definition enums.h:6407
@ IDLE_SCRIPT_DISABLE
Definition enums.h:6406
@ STATUS_FLAG_SHRINK
Definition enums.h:2819
@ ACTOR_PLAYER
Definition enums.h:2085
@ ACTOR_SELF
Definition enums.h:2084
@ BTL_CAM_YADJ_TARGET
Definition enums.h:4904
@ EVENT_HIT
Definition enums.h:2132
@ EVENT_SCARE_AWAY
Definition enums.h:2174
@ EVENT_BURN_HIT
Definition enums.h:2136
@ EVENT_STAR_BEAM
Definition enums.h:2140
@ EVENT_END_FIRST_STRIKE
Definition enums.h:2171
@ 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_SPIKE_TAUNT
Definition enums.h:2148
@ 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_TRIGGER_LUCKY
Definition enums.h:2881
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 LVar6
Definition macros.h:154
#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 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 Goto(LABEL_ID)
Moves execution to the given label.
Definition macros.h:232
#define ARRAY_COUNT(arr)
Definition macros.h:40
#define IfGt(LVAR, RVAR)
Marks the beginning of an if statement that only executes if LVAR <= RVAR.
Definition macros.h:278
#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 LVar5
Definition macros.h:153
#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 LVarA
Definition macros.h:158
#define IfNotFlag(LVAR, RVAR)
Marks the beginning of an if statement that only executes if the RVAR flag is unset on LVAR,...
Definition macros.h:292
#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 Loop(TIMES)
Marks the beginning of a loop.
Definition macros.h:245
#define LVar4
Definition macros.h:152
#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