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
8#define NAMESPACE A(spiked_goomba)
9
10extern s32 N(DefaultAnims)[];
11extern EvtScript N(EVS_Init);
12extern EvtScript N(EVS_Idle);
13extern EvtScript N(EVS_TakeTurn);
14extern EvtScript N(EVS_HandleEvent);
15
16enum N(ActorPartIDs) {
17 PRT_MAIN = 1,
18};
19
20enum N(ActorParams) {
21 DMG_SPIKEBONK = 2,
22};
23
24s32 N(DefenseTable)[] = {
27};
28
29s32 N(StatusTable)[] = {
40 STATUS_KEY_STOP, 100,
52};
53
54ActorPartBlueprint N(ActorParts)[] = {
55 {
57 .index = PRT_MAIN,
58 .posOffset = { 0, 0, 0 },
59 .targetOffset = { 0, 24 },
60 .opacity = 255,
61 .idleAnimations = N(DefaultAnims),
62 .defenseTable = N(DefenseTable),
63 .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP,
64 .elementImmunityFlags = 0,
65 .projectileTargetOffset = { 0, -12 },
66 },
67};
68
69ActorBlueprint NAMESPACE = {
70 .flags = 0,
71 .type = ACTOR_TYPE_SPIKED_GOOMBA,
72 .level = ACTOR_LEVEL_SPIKED_GOOMBA,
73 .maxHP = 2,
74 .partCount = ARRAY_COUNT(N(ActorParts)),
75 .partsData = N(ActorParts),
76 .initScript = &N(EVS_Init),
77 .statusTable = N(StatusTable),
78 .escapeChance = 90,
79 .airLiftChance = 95,
80 .hurricaneChance = 90,
81 .spookChance = 100,
82 .upAndAwayChance = 95,
83 .spinSmashReq = 0,
84 .powerBounceChance = 100,
85 .coinReward = 1,
86 .size = { 24, 28 },
87 .healthBarOffset = { 0, 0 },
88 .statusIconOffset = { -10, 20 },
89 .statusTextOffset = { 10, 20 },
90};
91
92s32 N(DefaultAnims)[] = {
93 STATUS_KEY_NORMAL, ANIM_SpikedGoomba_Idle,
94 STATUS_KEY_STONE, ANIM_SpikedGoomba_Still,
95 STATUS_KEY_SLEEP, ANIM_SpikedGoomba_Sleep,
96 STATUS_KEY_POISON, ANIM_SpikedGoomba_Idle,
97 STATUS_KEY_STOP, ANIM_SpikedGoomba_Still,
98 STATUS_KEY_STATIC, ANIM_SpikedGoomba_Idle,
99 STATUS_KEY_PARALYZE, ANIM_SpikedGoomba_Still,
100 STATUS_KEY_DIZZY, ANIM_SpikedGoomba_Dizzy,
101 STATUS_KEY_FEAR, ANIM_SpikedGoomba_Dizzy,
103};
104
105s32 N(ShuffleAnims)[] = {
106 STATUS_KEY_NORMAL, ANIM_SpikedGoomba_Run,
107 STATUS_KEY_STONE, ANIM_SpikedGoomba_Still,
108 STATUS_KEY_SLEEP, ANIM_SpikedGoomba_Sleep,
109 STATUS_KEY_POISON, ANIM_SpikedGoomba_Idle,
110 STATUS_KEY_STOP, ANIM_SpikedGoomba_Still,
111 STATUS_KEY_STATIC, ANIM_SpikedGoomba_Run,
112 STATUS_KEY_PARALYZE, ANIM_SpikedGoomba_Still,
113 STATUS_KEY_DIZZY, ANIM_SpikedGoomba_Dizzy,
114 STATUS_KEY_FEAR, ANIM_SpikedGoomba_Dizzy,
116};
117
118EvtScript N(EVS_Init) = {
119 Call(BindTakeTurn, ACTOR_SELF, Ref(N(EVS_TakeTurn)))
120 Call(BindIdle, ACTOR_SELF, Ref(N(EVS_Idle)))
121 Call(BindHandleEvent, ACTOR_SELF, Ref(N(EVS_HandleEvent)))
122 Return
123 End
124};
125
126EvtScript N(EVS_Idle) = {
127 Label(10)
128 Call(RandInt, 80, LVar0)
129 Add(LVar0, 80)
130 Loop(LVar0)
131 Label(0)
132 Call(GetStatusFlags, ACTOR_SELF, LVar1)
134 Wait(1)
135 Goto(0)
136 EndIf
137 Wait(1)
138 EndLoop
139 Call(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
140 Add(LVar0, 5)
141 Call(SetActorIdleSpeed, ACTOR_SELF, Float(1.0))
142 Call(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, Ref(N(ShuffleAnims)))
143 Call(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2)
144 Call(IdleRunToGoal, ACTOR_SELF, 0)
145 Call(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, Ref(N(DefaultAnims)))
146 Loop(20)
147 Label(1)
148 Call(GetStatusFlags, ACTOR_SELF, LVar1)
150 Wait(1)
151 Goto(1)
152 EndIf
153 Wait(1)
154 EndLoop
155 Call(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
156 Sub(LVar0, 5)
157 Call(SetActorIdleSpeed, ACTOR_SELF, Float(1.0))
158 Call(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, Ref(N(ShuffleAnims)))
159 Call(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2)
160 Call(IdleRunToGoal, ACTOR_SELF, 0)
161 Call(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, Ref(N(DefaultAnims)))
162 Loop(80)
163 Label(2)
164 Call(GetStatusFlags, ACTOR_SELF, LVar1)
166 Wait(1)
167 Goto(2)
168 EndIf
169 Wait(1)
170 EndLoop
171 Goto(10)
172 Return
173 End
174};
175
176EvtScript N(EVS_HandleEvent) = {
177 Call(UseIdleAnimation, ACTOR_SELF, FALSE)
178 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_DISABLE)
179 Call(SetActorScale, ACTOR_SELF, Float(1.0), Float(1.0), Float(1.0))
180 Call(GetLastEvent, ACTOR_SELF, LVar0)
184 SetConst(LVar0, PRT_MAIN)
185 SetConst(LVar1, ANIM_SpikedGoomba_Hurt)
189 SetConst(LVar0, PRT_MAIN)
190 SetConst(LVar1, ANIM_SpikedGoomba_BurnEyesClosed)
191 SetConst(LVar2, ANIM_SpikedGoomba_BurnEyesOpen)
194 SetConst(LVar0, PRT_MAIN)
195 SetConst(LVar1, ANIM_SpikedGoomba_BurnEyesClosed)
196 SetConst(LVar2, ANIM_SpikedGoomba_BurnEyesOpen)
198 SetConst(LVar0, PRT_MAIN)
199 SetConst(LVar1, ANIM_SpikedGoomba_BurnEyesOpen)
201 Return
203 SetConst(LVar0, PRT_MAIN)
204 SetConst(LVar1, ANIM_SpikedGoomba_Hurt)
207 SetConst(LVar0, PRT_MAIN)
208 SetConst(LVar1, ANIM_SpikedGoomba_Hurt)
210 SetConst(LVar0, PRT_MAIN)
211 SetConst(LVar1, ANIM_SpikedGoomba_HurtStill)
213 Return
215 SetConst(LVar0, PRT_MAIN)
216 SetConst(LVar1, ANIM_SpikedGoomba_Electrocute)
218 SetConst(LVar0, PRT_MAIN)
219 SetConst(LVar1, ANIM_SpikedGoomba_Hurt)
221 Call(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE)
222 Call(SetAnimationRate, ACTOR_SELF, PRT_MAIN, Float(2.0))
223 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dizzy)
224 Call(SetGoalToHome, ACTOR_SELF)
225 Call(SetActorSpeed, ACTOR_SELF, Float(8.0))
226 Call(RunToGoal, ACTOR_SELF, 0, FALSE)
227 Call(SetAnimationRate, ACTOR_SELF, PRT_MAIN, Float(1.0))
228 Wait(5)
229 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Idle)
230 Call(SetActorJumpGravity, ACTOR_SELF, Float(1.6))
231 Call(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE)
233 SetConst(LVar0, PRT_MAIN)
234 SetConst(LVar1, ANIM_SpikedGoomba_Electrocute)
236 SetConst(LVar0, PRT_MAIN)
237 SetConst(LVar1, ANIM_SpikedGoomba_HurtStill)
239 Return
244 SetConst(LVar0, PRT_MAIN)
245 SetConst(LVar1, ANIM_SpikedGoomba_Idle)
249 SetConst(LVar0, PRT_MAIN)
250 SetConst(LVar1, ANIM_SpikedGoomba_Hurt)
252 Wait(10)
253 SetConst(LVar0, PRT_MAIN)
254 SetConst(LVar1, ANIM_SpikedGoomba_HurtStill)
256 Return
258 Call(SetAnimationRate, ACTOR_SELF, PRT_MAIN, Float(2.0))
259 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Run)
260 Call(SetGoalToHome, ACTOR_SELF)
261 Call(SetActorSpeed, ACTOR_SELF, Float(4.0))
262 Call(RunToGoal, ACTOR_SELF, 0, FALSE)
263 Call(SetAnimationRate, ACTOR_SELF, PRT_MAIN, Float(1.0))
264 Call(HPBarToHome, ACTOR_SELF)
266 SetConst(LVar0, PRT_MAIN)
267 SetConst(LVar1, ANIM_SpikedGoomba_Idle)
270 SetConst(LVar0, PRT_MAIN)
271 SetConst(LVar1, ANIM_SpikedGoomba_Run)
272 SetConst(LVar2, ANIM_SpikedGoomba_Hurt)
274 Return
276 SetConst(LVar0, PRT_MAIN)
277 SetConst(LVar1, ANIM_SpikedGoomba_Run)
280 SetConst(LVar0, PRT_MAIN)
281 SetConst(LVar1, ANIM_SpikedGoomba_Hurt)
283 Return
285 Call(GetStatusFlags, ACTOR_SELF, LVar0)
287 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Laugh)
288 EndIf
289 Wait(10)
290 Call(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
291 Call(GetStatusFlags, ACTOR_SELF, LVar3)
293 Add(LVar1, 10)
294 Else
295 Add(LVar1, 26)
296 EndIf
297 PlayEffect(EFFECT_LENS_FLARE, 0, LVar0, LVar1, LVar2, 20, 0)
298 Wait(20)
301 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Idle)
302 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE)
303 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
304 Return
305 End
306};
307
308#include "common/CalculateArcsinDeg.inc.c"
309
310EvtScript N(EVS_TakeTurn) = {
311 Call(UseIdleAnimation, ACTOR_SELF, FALSE)
312 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_DISABLE)
313 Call(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER)
314 Call(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH)
315 Call(BattleCamTargetActor, ACTOR_SELF)
316 Call(SetBattleCamTargetingModes, BTL_CAM_YADJ_TARGET, BTL_CAM_XADJ_AVG, FALSE)
317 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Run)
318 Call(SetGoalToTarget, ACTOR_SELF)
319 Call(AddGoalPos, ACTOR_SELF, 50, 0, 0)
320 Call(SetActorSpeed, ACTOR_SELF, Float(6.0))
321 Call(RunToGoal, ACTOR_SELF, 0, FALSE)
322 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Idle)
323 Call(SetActorDispOffset, ACTOR_SELF, 0, -1, 0)
324 Wait(1)
325 Call(SetActorDispOffset, ACTOR_SELF, 0, -2, 0)
326 Wait(5)
327 Call(SetActorDispOffset, ACTOR_SELF, 0, 0, 0)
328 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Midair)
329 Call(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_INCLUDE_POWER_UPS)
333 Set(LVarA, LVar0)
334 Call(SetGoalToTarget, ACTOR_SELF)
335 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
336 Sub(LVar0, 10)
337 Set(LVar1, 10)
338 Add(LVar2, 3)
339 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
340 Call(SetActorJumpGravity, ACTOR_SELF, Float(1.2))
341 Thread
342 Call(GetActorPos, ACTOR_SELF, LVar1, LVar2, LVar0)
343 Set(LVar0, 0)
344 Loop(16)
345 Call(GetActorPos, ACTOR_SELF, LVar4, LVar5, LVar6)
346 Call(N(CalculateArcsinDeg), LVar1, LVar2, LVar4, LVar5, LVar0)
347 Call(SetActorRotation, ACTOR_SELF, 0, 0, LVar0)
348 Set(LVar1, LVar4)
349 Set(LVar2, LVar5)
350 Set(LVar3, LVar6)
351 Wait(1)
352 EndLoop
354 Thread
355 Wait(6)
356 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Midair)
358 Call(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE)
359 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Sleep)
360 Call(SetActorScale, ACTOR_SELF, Float(1.1), Float(0.8), Float(1.0))
361 Call(SetActorDispOffset, ACTOR_SELF, 0, 5, 0)
362 Wait(1)
363 Call(SetActorScale, ACTOR_SELF, Float(1.3), Float(0.5), Float(1.0))
364 Call(SetActorDispOffset, ACTOR_SELF, 0, -2, 0)
365 Wait(1)
366 Call(SetActorScale, ACTOR_SELF, Float(1.0), Float(1.0), Float(1.0))
367 Call(SetActorDispOffset, ACTOR_SELF, 0, 7, 0)
368 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Hurt)
369 Wait(5)
371 Call(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0)
372 EndIf
373 Wait(5)
374 Call(SetActorDispOffset, ACTOR_SELF, 0, 0, 0)
375 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Midair)
376 Call(SetGoalToTarget, ACTOR_SELF)
377 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
378 Add(LVar0, 20)
379 Set(LVar1, 0)
380 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
381 Call(SetActorJumpGravity, ACTOR_SELF, Float(2.0))
382 Thread
383 Wait(4)
384 Set(LVar0, 180)
385 Loop(4)
386 Sub(LVar0, 45)
387 Call(SetActorRotation, ACTOR_SELF, 0, 0, LVar0)
388 Wait(1)
389 EndLoop
390 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Midair)
392 Call(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE)
393 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dizzy)
394 Wait(5)
395 Call(UseBattleCamPreset, BTL_CAM_DEFAULT)
396 Call(YieldTurn)
397 Call(SetActorYaw, ACTOR_SELF, 180)
398 Call(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT)
399 Call(SetAnimationRate, ACTOR_SELF, PRT_MAIN, Float(2.0))
400 Call(SetGoalToHome, ACTOR_SELF)
401 Call(SetActorSpeed, ACTOR_SELF, Float(8.0))
402 Call(RunToGoal, ACTOR_SELF, 0, FALSE)
403 Call(SetAnimationRate, ACTOR_SELF, PRT_MAIN, Float(1.0))
404 Call(SetActorYaw, ACTOR_SELF, 0)
405 Wait(5)
406 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Idle)
407 Call(SetActorJumpGravity, ACTOR_SELF, Float(1.6))
408 Call(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE)
409 Call(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0)
410 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE)
411 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
412 Return
415 Call(SetGoalToTarget, ACTOR_SELF)
416 Call(SetActorJumpGravity, ACTOR_SELF, Float(1.2))
417 Thread
418 Call(GetActorPos, ACTOR_SELF, LVar1, LVar2, LVar0)
419 Set(LVar0, 0)
420 Loop(16)
421 Call(GetActorPos, ACTOR_SELF, LVar4, LVar5, LVar6)
422 Call(N(CalculateArcsinDeg), LVar1, LVar2, LVar4, LVar5, LVar0)
423 Call(SetActorRotation, ACTOR_SELF, 0, 0, LVar0)
424 Set(LVar1, LVar4)
425 Set(LVar2, LVar5)
426 Set(LVar3, LVar6)
427 Wait(1)
428 EndLoop
430 Thread
431 Wait(6)
432 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Midair)
434 Call(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE)
435 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Midair)
436 Call(SetActorScale, ACTOR_SELF, Float(1.1), Float(0.8), Float(1.0))
437 Wait(1)
438 Call(SetActorScale, ACTOR_SELF, Float(1.3), Float(0.5), Float(1.0))
439 Wait(1)
441 Call(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, DMG_SPIKEBONK, BS_FLAGS1_TRIGGER_EVENTS)
445 Call(UseBattleCamPreset, BTL_CAM_DEFAULT)
446 Call(SetActorScale, ACTOR_SELF, Float(1.1), Float(0.8), Float(1.0))
447 Wait(1)
448 Call(SetActorScale, ACTOR_SELF, Float(1.0), Float(1.0), Float(1.0))
449 Wait(1)
450 Call(SetActorRotation, ACTOR_SELF, 0, 0, 0)
451 Call(SetActorDispOffset, ACTOR_SELF, 0, 0, 0)
452 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Idle)
453 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
454 Add(LVar0, 40)
455 Set(LVar1, 0)
456 Call(SetActorJumpGravity, ACTOR_SELF, Float(1.8))
457 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
458 Call(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE)
459 Add(LVar0, 30)
460 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
461 Call(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE)
462 Add(LVar0, 20)
463 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
464 Call(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE)
465 Call(GetLastDamage, ACTOR_PLAYER, LVar0)
466 IfGt(LVar0, 0)
467 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Laugh)
468 Wait(15)
469 Else
470 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Idle)
471 Wait(3)
472 EndIf
473 Call(YieldTurn)
474 Call(SetAnimationRate, ACTOR_SELF, PRT_MAIN, Float(2.0))
475 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Run)
476 Call(SetGoalToHome, ACTOR_SELF)
477 Call(SetActorSpeed, ACTOR_SELF, Float(8.0))
478 Call(RunToGoal, ACTOR_SELF, 0, FALSE)
479 Call(SetAnimationRate, ACTOR_SELF, PRT_MAIN, Float(1.0))
482 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE)
483 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
484 Return
485 End
486};
Bytecode EvtScript[]
#define STATUS_FLAGS_IMMOBILIZED
Definition enums.h:2834
@ 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_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: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_SHRINK
Definition enums.h:2819
@ 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_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