Paper Mario DX
Paper Mario (N64) modding
 
Loading...
Searching...
No Matches
spiny.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/Spiny.h"
6#include "sprite/npc/Lakitu.h"
7
8#define NAMESPACE A(spiny)
9
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 PRT_BALL = 2,
18};
19
20enum N(ActorVars) {
21 AVAR_Toppled = 0,
22 AVAR_ToppleTurns = 1,
23};
24
25enum N(ActorParams) {
26 DMG_ROLL = 4,
27};
28
29s32 N(UprightAnims)[] = {
30 STATUS_KEY_NORMAL, ANIM_Spiny_Anim01,
31 STATUS_KEY_STONE, ANIM_Spiny_Anim00,
32 STATUS_KEY_SLEEP, ANIM_Spiny_Anim10,
33 STATUS_KEY_POISON, ANIM_Spiny_Anim01,
34 STATUS_KEY_STOP, ANIM_Spiny_Anim00,
35 STATUS_KEY_STATIC, ANIM_Spiny_Anim01,
36 STATUS_KEY_PARALYZE, ANIM_Spiny_Anim00,
37 STATUS_KEY_DIZZY, ANIM_Spiny_Anim12,
38 STATUS_KEY_FEAR, ANIM_Spiny_Anim12,
40};
41
42s32 N(ToppledAnims)[] = {
43 STATUS_KEY_NORMAL, ANIM_Spiny_Anim02,
44 STATUS_KEY_STONE, ANIM_Spiny_Anim15,
45 STATUS_KEY_SLEEP, ANIM_Spiny_Anim11,
46 STATUS_KEY_POISON, ANIM_Spiny_Anim02,
47 STATUS_KEY_STOP, ANIM_Spiny_Anim15,
48 STATUS_KEY_STATIC, ANIM_Spiny_Anim02,
49 STATUS_KEY_PARALYZE, ANIM_Spiny_Anim15,
50 STATUS_KEY_DIZZY, ANIM_Spiny_Anim13,
51 STATUS_KEY_FEAR, ANIM_Spiny_Anim13,
53};
54
55s32 N(SpinyBallAnims)[] = {
56 STATUS_KEY_NORMAL, ANIM_Lakitu_Anim0B,
58};
59
60s32 N(UprightDefense)[] = {
63};
64
65s32 N(ToppledDefense)[] = {
68};
69
70s32 N(StatusTable)[] = {
93};
94
95ActorPartBlueprint N(ActorParts)[] = {
96 {
98 .index = PRT_MAIN,
99 .posOffset = { 0, 0, 0 },
100 .targetOffset = { 0, 20 },
101 .opacity = 255,
102 .idleAnimations = N(UprightAnims),
103 .defenseTable = N(UprightDefense),
105 .elementImmunityFlags = 0,
106 .projectileTargetOffset = { 0, -4 },
107 },
108 {
110 .index = PRT_BALL,
111 .posOffset = { 0, 0, 0 },
112 .targetOffset = { 0, 0 },
113 .opacity = 255,
114 .idleAnimations = N(SpinyBallAnims),
115 .defenseTable = N(UprightDefense),
116 .eventFlags = 0,
117 .elementImmunityFlags = 0,
118 .projectileTargetOffset = { 0, 0 },
119 },
120};
121
122ActorBlueprint NAMESPACE = {
123 .flags = 0,
124 .type = ACTOR_TYPE_SPINY,
125 .level = ACTOR_LEVEL_SPINY,
126 .maxHP = 5,
127 .partCount = ARRAY_COUNT(N(ActorParts)),
128 .partsData = N(ActorParts),
129 .initScript = &N(EVS_Init),
130 .statusTable = N(StatusTable),
131 .escapeChance = 60,
132 .airLiftChance = 75,
133 .hurricaneChance = 75,
134 .spookChance = 60,
135 .upAndAwayChance = 95,
136 .spinSmashReq = 0,
137 .powerBounceChance = 90,
138 .coinReward = 1,
139 .size = { 24, 24 },
140 .healthBarOffset = { 0, 0 },
141 .statusIconOffset = { -10, 20 },
142 .statusTextOffset = { 10, 20 },
143};
144
145EvtScript N(EVS_Init) = {
146 Call(BindIdle, ACTOR_SELF, Ref(N(EVS_Idle)))
147 Call(BindTakeTurn, ACTOR_SELF, Ref(N(EVS_TakeTurn)))
148 Call(BindHandleEvent, ACTOR_SELF, Ref(N(EVS_HandleEvent)))
149 Call(SetActorVar, ACTOR_SELF, AVAR_Toppled, 0)
150 Call(SetActorVar, ACTOR_SELF, AVAR_ToppleTurns, 0)
151 Return
152 End
153};
154
155EvtScript N(EVS_Idle) = {
156 Return
157 End
158};
159
160EvtScript N(EVS_ReturnHome) = {
161 Call(SetAnimation, ACTOR_SELF, PRT_BALL, ANIM_Lakitu_Anim0C)
162 Call(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE, TRUE)
163 Call(SetPartFlagBits, ACTOR_SELF, PRT_BALL, ACTOR_PART_FLAG_INVISIBLE, FALSE)
164 Call(SetActorYaw, ACTOR_SELF, 180)
165 Call(SetGoalToHome, ACTOR_SELF)
166 Call(RunToGoal, ACTOR_SELF, 0, FALSE)
167 Call(SetActorYaw, ACTOR_SELF, 0)
168 Call(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE, FALSE)
169 Call(SetPartFlagBits, ACTOR_SELF, PRT_BALL, ACTOR_PART_FLAG_INVISIBLE, TRUE)
170 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Spiny_Anim1A)
171 Wait(8)
172 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Spiny_Anim01)
173 Return
174 End
175};
176
177EvtScript N(EVS_CheckToppleAnim) = {
178 Call(GetActorVar, ACTOR_SELF, AVAR_Toppled, LVar3)
179 IfEq(LVar3, 1)
180 Set(LVar1, LVar2)
181 EndIf
182 Return
183 End
184};
185
186s32 N(FlipPosOffsets)[] = { 7, 13, 17, 21, 23, 24, 23, 21, 17, 13, 7, 0, 4, 7, 6, 4, 0, 2, 0 };
187
188EvtScript N(EVS_HandleEvent) = {
189 Call(UseIdleAnimation, ACTOR_SELF, FALSE)
190 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_DISABLE)
191 Call(GetLastEvent, ACTOR_SELF, LVar0)
195 SetConst(LVar0, PRT_MAIN)
196 SetConst(LVar1, ANIM_Spiny_Anim09)
197 SetConst(LVar2, ANIM_Spiny_Anim0A)
198 ExecWait(N(EVS_CheckToppleAnim))
202 Call(GetActorVar, ACTOR_SELF, AVAR_Toppled, LVar0)
203 IfNe(LVar0, 1)
204 SetConst(LVar0, PRT_MAIN)
205 SetConst(LVar1, ANIM_Spiny_Anim0B)
206 SetConst(LVar2, ANIM_Spiny_Anim0C)
208 Else
209 SetConst(LVar0, PRT_MAIN)
210 SetConst(LVar1, ANIM_Spiny_Anim0D)
211 SetConst(LVar2, ANIM_Spiny_Anim0E)
213 EndIf
215 Call(GetActorVar, ACTOR_SELF, AVAR_Toppled, LVar0)
216 IfNe(LVar0, 1)
217 SetConst(LVar0, PRT_MAIN)
218 SetConst(LVar1, ANIM_Spiny_Anim0B)
219 SetConst(LVar2, ANIM_Spiny_Anim0C)
221 SetConst(LVar0, PRT_MAIN)
222 SetConst(LVar1, ANIM_Spiny_Anim0C)
224 Else
225 SetConst(LVar0, PRT_MAIN)
226 SetConst(LVar1, ANIM_Spiny_Anim0D)
227 SetConst(LVar2, ANIM_Spiny_Anim0E)
229 SetConst(LVar0, PRT_MAIN)
230 SetConst(LVar1, ANIM_Spiny_Anim0E)
232 EndIf
233 Return
235 SetConst(LVar0, PRT_MAIN)
236 SetConst(LVar1, ANIM_Spiny_Anim09)
237 SetConst(LVar2, ANIM_Spiny_Anim0A)
238 ExecWait(N(EVS_CheckToppleAnim))
241 SetConst(LVar0, PRT_MAIN)
242 SetConst(LVar1, ANIM_Spiny_Anim09)
243 SetConst(LVar2, ANIM_Spiny_Anim0A)
244 ExecWait(N(EVS_CheckToppleAnim))
246 SetConst(LVar0, PRT_MAIN)
247 SetConst(LVar1, ANIM_Spiny_Anim09)
248 SetConst(LVar2, ANIM_Spiny_Anim0A)
249 ExecWait(N(EVS_CheckToppleAnim))
251 Return
253 Call(GetActorVar, ACTOR_SELF, AVAR_Toppled, LVar0)
254 IfEq(LVar0, 1)
255 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Spiny_Anim0A)
256 Else
257 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Spiny_Anim16)
258 EndIf
259 Call(SetActorVar, ACTOR_SELF, AVAR_Toppled, 1)
260 Call(SetActorVar, ACTOR_SELF, AVAR_ToppleTurns, 1)
261 Call(SetDefenseTable, ACTOR_SELF, PRT_MAIN, Ref(N(ToppledDefense)))
262 Call(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, Ref(N(ToppledAnims)))
263 Call(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ALT_SPIKY, FALSE)
264 Call(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, TRUE)
265 UseBuf(N(FlipPosOffsets))
266 Loop(19)
268 Call(SetActorDispOffset, ACTOR_SELF, 0, LVar0, 0)
269 Wait(1)
270 EndLoop
271 Wait(20)
275 Call(GetActorVar, ACTOR_SELF, AVAR_Toppled, LVar0)
277 CaseEq(0)
278 SetConst(LVar0, PRT_MAIN)
279 SetConst(LVar1, ANIM_Spiny_Anim06)
281 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Spiny_Anim07)
282 Wait(10)
283 CaseEq(1)
284 SetConst(LVar0, PRT_MAIN)
285 SetConst(LVar1, ANIM_Spiny_Anim02)
290 Wait(10)
291 Call(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
292 Call(GetStatusFlags, ACTOR_SELF, LVar3)
294 Call(GetActorVar, ACTOR_SELF, AVAR_Toppled, LVarA)
295 IfEq(LVarA, 0)
296 Add(LVar0, 0)
297 EndIf
298 Add(LVar1, 8)
299 Else
300 Call(GetActorVar, ACTOR_SELF, AVAR_Toppled, LVarA)
301 IfEq(LVarA, 0)
302 Add(LVar0, -1)
303 EndIf
304 Add(LVar1, 22)
305 EndIf
306 PlayEffect(EFFECT_LENS_FLARE, 0, LVar0, LVar1, LVar2, 20, 0)
307 Wait(20)
309 SetConst(LVar0, PRT_MAIN)
310 SetConst(LVar1, ANIM_Spiny_Anim09)
311 SetConst(LVar2, ANIM_Spiny_Anim0A)
312 ExecWait(N(EVS_CheckToppleAnim))
314 Wait(10)
315 SetConst(LVar0, PRT_MAIN)
316 SetConst(LVar1, ANIM_Spiny_Anim09)
317 SetConst(LVar2, ANIM_Spiny_Anim0A)
318 ExecWait(N(EVS_CheckToppleAnim))
320 Return
322 Call(GetActorVar, ACTOR_SELF, AVAR_Toppled, LVar0)
324 CaseEq(0)
325 SetConst(LVar0, PRT_MAIN)
326 SetConst(LVar1, ANIM_Spiny_Anim01)
328 CaseEq(1)
329 SetConst(LVar0, PRT_MAIN)
330 SetConst(LVar1, ANIM_Spiny_Anim02)
334 Call(GetActorVar, ACTOR_SELF, AVAR_Toppled, LVar0)
336 CaseEq(0)
337 SetConst(LVar0, PRT_MAIN)
338 SetConst(LVar1, ANIM_Spiny_Anim04)
339 SetConst(LVar2, ANIM_Spiny_Anim09)
341 Return
342 CaseEq(1)
343 SetConst(LVar0, PRT_MAIN)
344 SetConst(LVar1, ANIM_Spiny_Anim02)
348 Call(GetActorVar, ACTOR_SELF, AVAR_Toppled, LVar0)
350 CaseEq(0)
351 SetConst(LVar0, PRT_MAIN)
352 SetConst(LVar1, ANIM_Spiny_Anim04)
353 CaseEq(1)
354 SetConst(LVar0, PRT_MAIN)
355 SetConst(LVar1, ANIM_Spiny_Anim02)
359 Call(GetActorVar, ACTOR_SELF, AVAR_Toppled, LVar0)
361 CaseEq(0)
362 SetConst(LVar0, PRT_MAIN)
363 SetConst(LVar1, ANIM_Spiny_Anim04)
364 CaseEq(1)
365 SetConst(LVar0, PRT_MAIN)
366 SetConst(LVar1, ANIM_Spiny_Anim02)
369 Return
372 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE)
373 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
374 Return
375 End
376};
377
378EvtScript N(EVS_TakeTurn) = {
379 Call(UseIdleAnimation, ACTOR_SELF, FALSE)
380 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_DISABLE)
381 Call(GetActorVar, ACTOR_SELF, AVAR_Toppled, LVar0)
382 IfEq(LVar0, 1)
383 Call(GetActorVar, ACTOR_SELF, AVAR_ToppleTurns, LVar0)
384 Sub(LVar0, 1)
385 Call(SetActorVar, ACTOR_SELF, AVAR_ToppleTurns, LVar0)
386 IfGt(LVar0, 0)
387 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Spiny_Anim14)
388 Call(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT)
389 Wait(30)
390 Call(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0)
391 Else
392 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Spiny_Anim14)
393 Call(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT)
394 Wait(20)
395 Call(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0)
396 SetConst(LVar0, PRT_MAIN)
397 SetConst(LVar1, ANIM_Spiny_Anim02)
398 SetConst(LVar2, ANIM_Spiny_Anim01)
400 Call(SetActorVar, ACTOR_SELF, AVAR_Toppled, 0)
401 Call(SetDefenseTable, ACTOR_SELF, PRT_MAIN, Ref(N(UprightDefense)))
402 Call(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, Ref(N(UprightAnims)))
403 Call(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ALT_SPIKY, TRUE)
404 Call(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, FALSE)
405 EndIf
406 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE)
407 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
408 Return
409 EndIf
410 Call(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH)
411 Call(BattleCamTargetActor, ACTOR_SELF)
412 Call(SetBattleCamTargetingModes, BTL_CAM_YADJ_TARGET, BTL_CAM_XADJ_AVG, FALSE)
413 Call(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER)
414 Call(GetActorVar, ACTOR_SELF, AVAR_Toppled, LVar0)
415 IfEq(LVar0, 0)
416 Wait(10)
417 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Spiny_Anim19)
418 Wait(8)
419 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Spiny_Anim18)
420 Wait(10)
421 Else
422 Wait(20)
423 EndIf
424 Thread
425 Call(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
426 PlayEffect(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0)
427 Wait(10)
428 PlayEffect(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0)
429 Wait(5)
430 PlayEffect(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0)
432 Call(EnableActorBlur, ACTOR_SELF, ACTOR_BLUR_ENABLE)
433 Call(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE, TRUE)
434 Call(SetPartFlagBits, ACTOR_SELF, PRT_BALL, ACTOR_PART_FLAG_INVISIBLE, FALSE)
435 Call(SetAnimation, ACTOR_SELF, PRT_BALL, ANIM_Lakitu_Anim0C)
436 Wait(10)
437 Call(PlaySoundAtPart, ACTOR_SELF, PRT_BALL, SOUND_SPINY_SPIN_UP)
439 Call(SetPartSounds, ACTOR_SELF, PRT_BALL, ACTOR_SOUND_WALK, SOUND_NONE, SOUND_NONE)
440 Call(EnemyTestTarget, ACTOR_SELF, LVarA, 0, 0, 4, BS_FLAGS1_INCLUDE_POWER_UPS)
444 Thread
445 Loop(0)
446 Call(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2)
447 Add(LVar0, 30)
448 Call(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5)
451 EndIf
452 Wait(1)
453 EndLoop
454 Call(UseBattleCamPreset, BTL_CAM_INTERRUPT)
456 Call(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0)
457 EndIf
458 Wait(15)
459 Call(UseBattleCamPreset, BTL_CAM_DEFAULT)
461 Call(SetGoalToTarget, ACTOR_SELF)
462 Call(AddGoalPos, ACTOR_SELF, -200, 0, 0)
463 Call(SetActorSpeed, ACTOR_SELF, Float(16.0))
464 Call(RunToGoal, ACTOR_SELF, 0, FALSE)
465 Call(ResetAllActorSounds, ACTOR_SELF)
466 Call(EnableActorBlur, ACTOR_SELF, ACTOR_BLUR_DISABLE)
467 Call(UseBattleCamPreset, BTL_CAM_DEFAULT)
468 Call(YieldTurn)
469 Call(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT)
470 Call(SetActorSpeed, ACTOR_SELF, Float(6.0))
471 ExecWait(N(EVS_ReturnHome))
472 Call(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0)
473 Return
476 Call(SetGoalToTarget, ACTOR_SELF)
477 Call(SetActorSpeed, ACTOR_SELF, Float(16.0))
478 Call(RunToGoal, ACTOR_SELF, 0, FALSE)
479 Call(ResetAllActorSounds, ACTOR_SELF)
480 Wait(2)
481 Call(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, DMG_ROLL, BS_FLAGS1_TRIGGER_EVENTS)
485 Call(UseBattleCamPreset, BTL_CAM_DEFAULT)
486 Call(SetAnimation, ACTOR_SELF, PRT_BALL, ANIM_Lakitu_Anim0B)
487 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
488 Add(LVar0, 20)
489 Set(LVar1, 0)
490 Call(SetActorJumpGravity, ACTOR_SELF, Float(1.0))
491 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
492 Call(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE)
493 Add(LVar0, 10)
494 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
495 Call(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE)
496 Add(LVar0, 10)
497 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
498 Call(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE)
499 Call(EnableActorBlur, ACTOR_SELF, ACTOR_BLUR_DISABLE)
500 Call(YieldTurn)
501 Call(SetActorSpeed, ACTOR_SELF, Float(6.0))
502 ExecWait(N(EVS_ReturnHome))
505 Call(EnableActorBlur, ACTOR_SELF, ACTOR_BLUR_DISABLE)
506 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE)
507 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
508 Return
509 End
510};
Bytecode EvtScript[]
@ BTL_CAM_XADJ_AVG
Definition enums.h:4900
@ ACTOR_SOUND_WALK
Definition enums.h:2034
@ 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_ALT_SPIKY
Additional spiky quality associated with Pokeys and Spinies.
Definition enums.h:3388
@ ACTOR_EVENT_FLAG_FLIPABLE
Actor can be flipped; triggered by jump and quake attacks.
Definition enums.h:3380
@ 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_INTERRUPT
Definition enums.h:4823
@ BTL_CAM_ENEMY_APPROACH
Definition enums.h:4885
@ SUPPRESS_EVENT_ALL
Definition enums.h:2907
@ IDLE_SCRIPT_ENABLE
Definition enums.h:6408
@ IDLE_SCRIPT_DISABLE
Definition enums.h:6407
@ STATUS_FLAG_SHRINK
Definition enums.h:2819
@ SOUND_NONE
Definition enums.h:547
@ SOUND_SPINY_SPIN_UP
Definition enums.h:1033
@ ACTOR_PLAYER
Definition enums.h:2085
@ ACTOR_SELF
Definition enums.h:2084
@ ACTOR_FLAG_FLIPPED
Actor has been flipped over.
Definition enums.h:3330
@ BTL_CAM_YADJ_TARGET
Definition enums.h:4905
@ ACTOR_BLUR_ENABLE
Definition enums.h:6414
@ ACTOR_BLUR_DISABLE
Definition enums.h:6413
@ 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_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_FLIP_TRIGGER
Definition enums.h:2135
@ 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_NO_TARGET
Cannot be targeted.
Definition enums.h:3360
@ ACTOR_PART_FLAG_INVISIBLE
Definition enums.h:3350
@ DAMAGE_TYPE_TRIGGER_LUCKY
Definition enums.h:2881
EvtScript EVS_Enemy_ScareAway
EvtScript EVS_Enemy_Hit
EvtScript EVS_Enemy_Death
EvtScript EVS_Enemy_SpinSmashHit
EvtScript EVS_Enemy_FlipBackUp
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 UseBuf(INT_PTR)
Loads a s32 pointer for use with subsequent EVT_BUF_READ commands.
Definition macros.h:389
#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 BufRead1(VAR)
Consumes the next s32 from the buffer and stores it in the given variable.
Definition macros.h:392
#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 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 BreakLoop
Breaks out of the innermost loop.
Definition macros.h:251
#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 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