Paper Mario DX
Paper Mario (N64) modding
 
Loading...
Searching...
No Matches
buzzy_beetle.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/BuzzyBeetle.h"
6
7#define NAMESPACE A(buzzy_beetle)
8
9extern s32 N(CeilingAnims)[];
10extern EvtScript N(EVS_Init);
11extern EvtScript N(EVS_Idle);
12extern EvtScript N(EVS_TakeTurn_Ceiling);
13extern EvtScript N(EVS_TakeTurn_Ground);
14extern EvtScript N(EVS_HandleEvent_Ceiling);
15extern EvtScript N(EVS_HandleEvent_Ground);
16
17enum N(ActorPartIDs) {
18 PRT_MAIN = 1,
19};
20
21enum N(ActorVars) {
22 AVAR_IsCeiling = 0,
23 AVAR_ToppleState = 8,
24 AVAL_State_Ceiling = 0,
25 AVAL_State_Ground = 1,
26 AVAL_State_Toppled = 2,
27 AVAR_ToppleTurns = 9,
28};
29
30enum N(ActorParams) {
31 DMG_SHELL_TOSS = 2,
32 DMG_CEILING_DROP = 3,
33};
34
35s32 N(UprightDefense)[] = {
37 ELEMENT_FIRE, 99,
38 ELEMENT_BLAST, 99,
40};
41
42s32 N(ToppledDefense)[] = {
45};
46
47s32 N(StatusTable)[] = {
70};
71
72ActorPartBlueprint N(ActorParts)[] = {
73 {
75 .index = PRT_MAIN,
76 .posOffset = { 0, 0, 0 },
77 .targetOffset = { 0, 16 },
78 .opacity = 255,
79 .idleAnimations = N(CeilingAnims),
80 .defenseTable = N(UprightDefense),
81 .eventFlags = ACTOR_EVENT_FLAG_FLIPABLE,
82 .elementImmunityFlags = 0,
83 .projectileTargetOffset = { 1, 7 },
84 },
85};
86
87ActorBlueprint NAMESPACE = {
89 .type = ACTOR_TYPE_BUZZY_BEETLE,
90 .level = ACTOR_LEVEL_BUZZY_BEETLE,
91 .maxHP = 3,
92 .partCount = ARRAY_COUNT(N(ActorParts)),
93 .partsData = N(ActorParts),
94 .initScript = &N(EVS_Init),
95 .statusTable = N(StatusTable),
96 .escapeChance = 60,
97 .airLiftChance = 75,
98 .hurricaneChance = 75,
99 .spookChance = 75,
100 .upAndAwayChance = 95,
101 .spinSmashReq = 0,
102 .powerBounceChance = 90,
103 .coinReward = 1,
104 .size = { 22, 18 },
105 .healthBarOffset = { 0, 0 },
106 .statusIconOffset = { -8, 16 },
107 .statusTextOffset = { 8, 13 },
108};
109
110s32 N(GroundAnims)[] = {
111 STATUS_KEY_NORMAL, ANIM_BuzzyBeetle_Anim01,
112 STATUS_KEY_STONE, ANIM_BuzzyBeetle_Anim00,
113 STATUS_KEY_SLEEP, ANIM_BuzzyBeetle_Anim09,
114 STATUS_KEY_POISON, ANIM_BuzzyBeetle_Anim01,
115 STATUS_KEY_STOP, ANIM_BuzzyBeetle_Anim00,
116 STATUS_KEY_STATIC, ANIM_BuzzyBeetle_Anim01,
117 STATUS_KEY_PARALYZE, ANIM_BuzzyBeetle_Anim00,
118 STATUS_KEY_DIZZY, ANIM_BuzzyBeetle_Anim0A,
119 STATUS_KEY_FEAR, ANIM_BuzzyBeetle_Anim0A,
121};
122
123s32 N(CeilingAnims)[] = {
124 STATUS_KEY_NORMAL, ANIM_BuzzyBeetle_Anim0F,
125 STATUS_KEY_STONE, ANIM_BuzzyBeetle_Anim0E,
126 STATUS_KEY_SLEEP, ANIM_BuzzyBeetle_Anim14,
127 STATUS_KEY_POISON, ANIM_BuzzyBeetle_Anim0F,
128 STATUS_KEY_STOP, ANIM_BuzzyBeetle_Anim0E,
129 STATUS_KEY_STATIC, ANIM_BuzzyBeetle_Anim0F,
130 STATUS_KEY_PARALYZE, ANIM_BuzzyBeetle_Anim0E,
131 STATUS_KEY_DIZZY, ANIM_BuzzyBeetle_Anim15,
132 STATUS_KEY_FEAR, ANIM_BuzzyBeetle_Anim15,
134};
135
136s32 N(ToppledAnims)[] = {
137 STATUS_KEY_NORMAL, ANIM_BuzzyBeetle_Anim02,
138 STATUS_KEY_STONE, ANIM_BuzzyBeetle_Anim1A,
139 STATUS_KEY_SLEEP, ANIM_BuzzyBeetle_Anim1B,
140 STATUS_KEY_POISON, ANIM_BuzzyBeetle_Anim02,
141 STATUS_KEY_STOP, ANIM_BuzzyBeetle_Anim1A,
142 STATUS_KEY_STATIC, ANIM_BuzzyBeetle_Anim02,
143 STATUS_KEY_DIZZY, ANIM_BuzzyBeetle_Anim1C,
144 STATUS_KEY_FEAR, ANIM_BuzzyBeetle_Anim1C,
146};
147
149
150EvtScript N(EVS_Init) = {
151 Call(BindIdle, ACTOR_SELF, Ref(N(EVS_Idle)))
152 Call(GetActorVar, ACTOR_SELF, AVAR_IsCeiling, LVar0)
153 IfEq(LVar0, TRUE)
154 Call(SetActorVar, ACTOR_SELF, AVAR_ToppleState, AVAL_State_Ceiling)
155 Call(N(SetAbsoluteStatusOffsets), -10, 0, 10, 0)
156 Call(BindTakeTurn, ACTOR_SELF, Ref(N(EVS_TakeTurn_Ceiling)))
157 Call(BindHandleEvent, ACTOR_SELF, Ref(N(EVS_HandleEvent_Ceiling)))
158 Call(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_FLIPABLE, FALSE)
159 Else
160 Call(SetActorVar, ACTOR_SELF, AVAR_ToppleState, AVAL_State_Ground)
161 Call(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 16)
162 Call(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -9)
163 Call(BindTakeTurn, ACTOR_SELF, Ref(N(EVS_TakeTurn_Ground)))
164 Call(BindHandleEvent, ACTOR_SELF, Ref(N(EVS_HandleEvent_Ground)))
165 Call(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, Ref(N(GroundAnims)))
166 Call(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_UPSIDE_DOWN, FALSE)
167 Call(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_FLIPABLE, TRUE)
168 EndIf
169 Call(HPBarToHome, ACTOR_SELF)
170 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE)
171 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
172 Return
173 End
174};
175
176EvtScript N(EVS_Idle) = {
177 Return
178 End
179};
180
181EvtScript N(EVS_FallFromCeiling) = {
182 Call(HideHealthBar, ACTOR_SELF)
183 Call(SetActorVar, ACTOR_SELF, AVAR_ToppleState, AVAL_State_Toppled)
184 Call(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 16)
185 Call(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -9)
186 Call(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20)
187 Call(BindTakeTurn, ACTOR_SELF, Ref(N(EVS_TakeTurn_Ground)))
188 Call(BindHandleEvent, ACTOR_SELF, Ref(N(EVS_HandleEvent_Ground)))
189 Call(SetActorVar, ACTOR_SELF, AVAR_ToppleTurns, 1)
190 Call(SetDefenseTable, ACTOR_SELF, PRT_MAIN, Ref(N(ToppledDefense)))
191 Call(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, Ref(N(ToppledAnims)))
192 Call(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_UPSIDE_DOWN, FALSE)
193 Call(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE)
194 Call(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_FLIPABLE, TRUE)
195 Call(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, TRUE)
196 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim08)
197 Call(SetActorYaw, ACTOR_SELF, 180)
198 Call(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
199 Sub(LVar1, 24)
200 Call(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
201 Set(LVar1, 0)
203 Call(SetActorJumpGravity, ACTOR_SELF, Float(0.8))
204 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
205 Call(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE)
206 Call(GetIndexFromPos, ACTOR_SELF, LVarA)
207 Mod(LVarA, 4)
208 Call(SetGoalToIndex, ACTOR_SELF, LVarA)
209 Call(GetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC)
210 Call(SetHomePos, ACTOR_SELF, LVarA, LVarB, LVarC)
211 Set(LVarD, LVarA)
212 Set(LVarE, LVarB)
213 Set(LVarF, LVarC)
214 Sub(LVarD, LVar0)
215 Sub(LVarE, LVar1)
216 Sub(LVarF, LVar2)
217 Div(LVarD, 2)
218 Div(LVarE, 2)
219 Div(LVarF, 2)
220 Add(LVar0, LVarD)
221 Add(LVar1, LVarE)
222 Add(LVar2, LVarF)
223 Call(ResetAllActorSounds, ACTOR_SELF)
224 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim02)
225 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
226 Call(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE)
227 Call(SetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC)
228 Call(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE)
229 Call(HPBarToHome, ACTOR_SELF)
230 Return
231 End
232};
233
234EvtScript N(EVS_HandleEvent_Ceiling) = {
235 Call(UseIdleAnimation, ACTOR_SELF, FALSE)
236 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_DISABLE)
237 Call(GetLastEvent, ACTOR_SELF, LVar0)
240 SetConst(LVar0, PRT_MAIN)
241 SetConst(LVar1, ANIM_BuzzyBeetle_Anim13)
244 SetConst(LVar0, PRT_MAIN)
245 SetConst(LVar1, ANIM_BuzzyBeetle_Anim13)
247 ExecWait(N(EVS_FallFromCeiling))
249 SetConst(LVar0, PRT_MAIN)
250 SetConst(LVar1, ANIM_BuzzyBeetle_Anim13)
252 ExecWait(N(EVS_FallFromCeiling))
254 SetConst(LVar0, PRT_MAIN)
255 SetConst(LVar1, ANIM_BuzzyBeetle_Anim18)
256 SetConst(LVar2, ANIM_BuzzyBeetle_Anim18)
258 ExecWait(N(EVS_FallFromCeiling))
260 SetConst(LVar0, PRT_MAIN)
261 SetConst(LVar1, ANIM_BuzzyBeetle_Anim18)
262 SetConst(LVar2, ANIM_BuzzyBeetle_Anim18)
264 SetConst(LVar0, PRT_MAIN)
265 SetConst(LVar1, ANIM_BuzzyBeetle_Anim18)
267 Return
269 SetConst(LVar0, PRT_MAIN)
270 SetConst(LVar1, ANIM_BuzzyBeetle_Anim13)
272 SetConst(LVar0, PRT_MAIN)
273 SetConst(LVar1, ANIM_BuzzyBeetle_Anim07)
275 SetConst(LVar0, PRT_MAIN)
276 SetConst(LVar1, ANIM_BuzzyBeetle_Anim04)
279 SetConst(LVar0, PRT_MAIN)
280 SetConst(LVar1, ANIM_BuzzyBeetle_Anim13)
282 SetConst(LVar0, PRT_MAIN)
283 SetConst(LVar1, ANIM_BuzzyBeetle_Anim07)
285 Return
287 SetConst(LVar0, PRT_MAIN)
288 SetConst(LVar1, ANIM_BuzzyBeetle_Anim16)
291 SetConst(LVar0, PRT_MAIN)
292 SetConst(LVar1, ANIM_BuzzyBeetle_Anim16)
294 Wait(2)
295 Call(GetStatusFlags, ACTOR_SELF, LVar0)
297 ExecWait(N(EVS_FallFromCeiling))
298 EndIf
300 SetConst(LVar0, PRT_MAIN)
301 SetConst(LVar1, ANIM_BuzzyBeetle_Anim13)
303 Wait(10)
304 SetConst(LVar0, PRT_MAIN)
305 SetConst(LVar1, ANIM_BuzzyBeetle_Anim13)
307 Return
309 // nothing
311 Call(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, TRUE)
312 SetConst(LVar0, PRT_MAIN)
313 SetConst(LVar1, ANIM_BuzzyBeetle_Anim11)
314 SetConst(LVar2, ANIM_BuzzyBeetle_Anim13)
316 Return
319 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE)
320 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
321 Return
322 End
323};
324
325// switch the anim on LVar1 if toppled
326EvtScript N(EVS_CheckToppleAnim) = {
327 Call(GetActorVar, ACTOR_SELF, AVAR_ToppleState, LVar3)
328 IfEq(LVar3, AVAL_State_Toppled)
329 Set(LVar1, LVar2)
330 EndIf
331 Return
332 End
333};
334
335s32 N(FlipPosOffsets)[] = { 7, 13, 17, 21, 23, 24, 23, 21, 17, 13, 7, 0, 4, 7, 6, 4, 0, 2, 0 };
336
337EvtScript N(EVS_HandleEvent_Ground) = {
338 Call(UseIdleAnimation, ACTOR_SELF, FALSE)
339 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_DISABLE)
340 Call(GetLastEvent, ACTOR_SELF, LVar0)
344 SetConst(LVar0, PRT_MAIN)
345 SetConst(LVar1, ANIM_BuzzyBeetle_Anim07)
346 SetConst(LVar2, ANIM_BuzzyBeetle_Anim19)
347 ExecWait(N(EVS_CheckToppleAnim))
351 Call(GetActorVar, ACTOR_SELF, AVAR_ToppleState, LVar0)
352 IfNe(LVar0, AVAL_State_Toppled)
353 SetConst(LVar0, PRT_MAIN)
354 SetConst(LVar1, ANIM_BuzzyBeetle_Anim0B)
355 SetConst(LVar2, ANIM_BuzzyBeetle_Anim0B)
357 Else
358 SetConst(LVar0, PRT_MAIN)
359 SetConst(LVar1, ANIM_BuzzyBeetle_Anim1D)
360 SetConst(LVar2, ANIM_BuzzyBeetle_Anim1D)
362 EndIf
364 Call(GetActorVar, ACTOR_SELF, AVAR_ToppleState, LVar0)
365 IfNe(LVar0, AVAL_State_Toppled)
366 SetConst(LVar0, PRT_MAIN)
367 SetConst(LVar1, ANIM_BuzzyBeetle_Anim0B)
368 SetConst(LVar2, ANIM_BuzzyBeetle_Anim0B)
370 SetConst(LVar0, PRT_MAIN)
371 SetConst(LVar1, ANIM_BuzzyBeetle_Anim0B)
373 Else
374 SetConst(LVar0, PRT_MAIN)
375 SetConst(LVar1, ANIM_BuzzyBeetle_Anim1D)
376 SetConst(LVar2, ANIM_BuzzyBeetle_Anim1D)
378 SetConst(LVar0, PRT_MAIN)
379 SetConst(LVar1, ANIM_BuzzyBeetle_Anim1D)
381 EndIf
382 Return
384 SetConst(LVar0, PRT_MAIN)
385 SetConst(LVar1, ANIM_BuzzyBeetle_Anim07)
386 SetConst(LVar2, ANIM_BuzzyBeetle_Anim19)
387 ExecWait(N(EVS_CheckToppleAnim))
390 Call(SetActorVar, ACTOR_SELF, AVAR_ToppleState, AVAL_State_Toppled)
391 Call(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 16)
392 Call(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -9)
393 Call(SetActorVar, ACTOR_SELF, AVAR_ToppleTurns, 1)
394 Call(SetDefenseTable, ACTOR_SELF, PRT_MAIN, Ref(N(ToppledDefense)))
395 Call(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, Ref(N(ToppledAnims)))
396 Call(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, TRUE)
397 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim07)
398 Call(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0)
399 Thread
400 Wait(1)
401 Call(SetActorRotation, ACTOR_SELF, 0, 0, 0)
402 Wait(1)
403 Call(SetActorRotation, ACTOR_SELF, 0, 0, -45)
404 Wait(1)
405 Call(SetActorRotation, ACTOR_SELF, 0, 0, -90)
406 Wait(1)
407 Call(SetActorRotation, ACTOR_SELF, 0, 0, -135)
408 Wait(1)
409 Call(SetActorRotation, ACTOR_SELF, 0, 0, -180)
410 Wait(1)
412 UseBuf(Ref(N(FlipPosOffsets)))
413 Loop(19)
415 Call(SetActorDispOffset, ACTOR_SELF, 0, LVar0, 0)
416 Wait(1)
417 EndLoop
418 Call(SetActorDispOffset, ACTOR_SELF, 0, 0, 0)
419 Call(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0)
420 Call(SetActorRotation, ACTOR_SELF, 0, 0, 0)
421 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim19)
423 SetConst(LVar0, PRT_MAIN)
424 SetConst(LVar1, ANIM_BuzzyBeetle_Anim07)
426 SetConst(LVar0, PRT_MAIN)
427 SetConst(LVar1, ANIM_BuzzyBeetle_Anim07)
429 SetConst(LVar0, PRT_MAIN)
430 SetConst(LVar1, ANIM_BuzzyBeetle_Anim04)
433 SetConst(LVar0, PRT_MAIN)
434 SetConst(LVar1, ANIM_BuzzyBeetle_Anim07)
436 SetConst(LVar0, PRT_MAIN)
437 SetConst(LVar1, ANIM_BuzzyBeetle_Anim07)
439 Return
441 Call(GetActorVar, ACTOR_SELF, AVAR_ToppleState, LVar0)
442 IfEq(LVar0, AVAL_State_Ground)
443 SetConst(LVar0, PRT_MAIN)
444 SetConst(LVar1, ANIM_BuzzyBeetle_Anim0C)
446 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim17)
447 Wait(8)
448 Else
449 SetConst(LVar0, PRT_MAIN)
450 SetConst(LVar1, ANIM_BuzzyBeetle_Anim02)
452 EndIf
454 Call(GetActorVar, ACTOR_SELF, AVAR_ToppleState, LVar0)
455 IfEq(LVar0, AVAL_State_Ground)
456 SetConst(LVar0, PRT_MAIN)
457 SetConst(LVar1, ANIM_BuzzyBeetle_Anim0C)
459 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim0D)
460 Wait(8)
461 Else
462 SetConst(LVar0, PRT_MAIN)
463 SetConst(LVar1, ANIM_BuzzyBeetle_Anim02)
465 EndIf
467 Wait(10)
468 Call(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
469 Call(GetStatusFlags, ACTOR_SELF, LVar3)
471 Add(LVar1, 9)
472 Else
473 Add(LVar1, 24)
474 EndIf
475 PlayEffect(EFFECT_LENS_FLARE, 0, LVar0, LVar1, LVar2, 20, 0)
476 Wait(20)
478 SetConst(LVar0, PRT_MAIN)
479 SetConst(LVar1, ANIM_BuzzyBeetle_Anim07)
480 SetConst(LVar2, ANIM_BuzzyBeetle_Anim19)
481 ExecWait(N(EVS_CheckToppleAnim))
483 Wait(10)
484 SetConst(LVar0, PRT_MAIN)
485 SetConst(LVar1, ANIM_BuzzyBeetle_Anim07)
486 SetConst(LVar2, ANIM_BuzzyBeetle_Anim19)
487 ExecWait(N(EVS_CheckToppleAnim))
489 Return
491 SetConst(LVar0, PRT_MAIN)
492 SetConst(LVar1, ANIM_BuzzyBeetle_Anim07)
493 SetConst(LVar2, ANIM_BuzzyBeetle_Anim19)
494 ExecWait(N(EVS_CheckToppleAnim))
496 SetConst(LVar0, PRT_MAIN)
497 SetConst(LVar1, ANIM_BuzzyBeetle_Anim07)
498 SetConst(LVar2, ANIM_BuzzyBeetle_Anim19)
499 ExecWait(N(EVS_CheckToppleAnim))
501 Return
503 Call(GetActorVar, ACTOR_SELF, AVAR_ToppleState, LVar0)
504 IfEq(LVar0, AVAL_State_Ground)
505 SetConst(LVar0, PRT_MAIN)
506 SetConst(LVar1, ANIM_BuzzyBeetle_Anim01)
508 EndIf
510 Call(GetActorVar, ACTOR_SELF, AVAR_ToppleState, LVar0)
511 IfEq(LVar0, AVAL_State_Ground)
512 SetConst(LVar0, PRT_MAIN)
513 SetConst(LVar1, ANIM_BuzzyBeetle_Anim04)
514 SetConst(LVar2, ANIM_BuzzyBeetle_Anim07)
516 Return
517 Else
518 SetConst(LVar0, PRT_MAIN)
519 SetConst(LVar1, ANIM_BuzzyBeetle_Anim02)
521 EndIf
523 Call(GetActorVar, ACTOR_SELF, AVAR_ToppleState, LVar0)
524 IfEq(LVar0, AVAL_State_Ground)
525 SetConst(LVar0, PRT_MAIN)
526 SetConst(LVar1, ANIM_BuzzyBeetle_Anim04)
527 Else
528 SetConst(LVar0, PRT_MAIN)
529 SetConst(LVar1, ANIM_BuzzyBeetle_Anim02)
530 EndIf
533 Call(GetActorVar, ACTOR_SELF, AVAR_ToppleState, LVar0)
534 IfEq(LVar0, AVAL_State_Ground)
535 SetConst(LVar0, PRT_MAIN)
536 SetConst(LVar1, ANIM_BuzzyBeetle_Anim07)
537 Else
538 SetConst(LVar0, PRT_MAIN)
539 SetConst(LVar1, ANIM_BuzzyBeetle_Anim08)
540 EndIf
542 Return
544 Call(GetActorVar, ACTOR_SELF, AVAR_ToppleState, LVar0)
545 IfEq(LVar0, AVAL_State_Ground)
546 SetConst(LVar0, PRT_MAIN)
547 SetConst(LVar1, ANIM_BuzzyBeetle_Anim0C)
549 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim0D)
550 Wait(8)
551 Else
552 SetConst(LVar0, PRT_MAIN)
553 SetConst(LVar1, ANIM_BuzzyBeetle_Anim02)
555 EndIf
558 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE)
559 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
560 Return
561 End
562};
563
564EvtScript N(EVS_TakeTurn_Ceiling) = {
565 Call(UseIdleAnimation, ACTOR_SELF, FALSE)
566 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_DISABLE)
567 Call(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER)
568 Call(SetActorVar, ACTOR_SELF, AVAR_ToppleState, AVAL_State_Ground)
569 Call(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 16)
570 Call(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -9)
571 Call(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20)
572 Call(BindTakeTurn, ACTOR_SELF, Ref(N(EVS_TakeTurn_Ground)))
573 Call(BindHandleEvent, ACTOR_SELF, Ref(N(EVS_HandleEvent_Ground)))
574 Call(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, Ref(N(GroundAnims)))
575 Call(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_UPSIDE_DOWN, FALSE)
576 Call(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_FLIPABLE, TRUE)
577 Call(GetIndexFromPos, ACTOR_SELF, LVar0)
578 Mod(LVar0, 4)
579 Call(SetGoalToIndex, ACTOR_SELF, LVar0)
580 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
581 Call(SetHomePos, ACTOR_SELF, LVar0, LVar1, LVar2)
582 Call(HPBarToHome, ACTOR_SELF)
583 Call(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH)
584 Call(BattleCamTargetActor, ACTOR_SELF)
585 Call(SetBattleCamTargetingModes, BTL_CAM_YADJ_TARGET, BTL_CAM_XADJ_AVG, FALSE)
586 Call(GetBattlePhase, LVar0)
588 Call(SetGoalToTarget, ACTOR_SELF)
589 Call(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5)
590 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
591 Call(SetActorPos, ACTOR_SELF, LVar0, LVar4, LVar2)
592 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim0E)
593 Else
594 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim11)
595 Call(SetGoalToTarget, ACTOR_SELF)
596 Call(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5)
597 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
598 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar4, LVar2)
599 Call(SetActorSpeed, ACTOR_SELF, Float(6.0))
600 Call(RunToGoal, ACTOR_SELF, 0, FALSE)
601 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim0E)
602 Wait(8)
603 EndIf
605 Call(GetBattlePhase, LVar0)
607 Call(UseBattleCamPreset, BTL_CAM_ACTOR_TARGET_MIDPOINT)
608 Call(SetBattleCamDist, 430)
609 Call(SetBattleCamOffsetY, 20)
610 Call(MoveBattleCamOver, 10)
611 Call(SetBattleCamTargetingModes, BTL_CAM_YADJ_TARGET, BTL_CAM_XADJ_AVG, FALSE)
612 EndIf
613 Call(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, DMG_CEILING_DROP, BS_FLAGS1_INCLUDE_POWER_UPS)
617 Set(LVarA, LVar0)
618 Call(SetActorYaw, ACTOR_SELF, 180)
619 Call(SetPartYaw, ACTOR_SELF, PRT_MAIN, 180)
620 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim08)
621 Call(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
622 Sub(LVar1, 24)
623 Call(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
624 Call(SetActorJumpGravity, ACTOR_SELF, Float(0.8))
625 Call(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
626 Set(LVar1, 0)
627 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
628 Call(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE)
630 Call(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0)
631 EndIf
632 Call(ResetAllActorSounds, ACTOR_SELF)
633 Add(LVar0, 30)
634 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
635 Call(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE)
636 Thread
637 Wait(5)
638 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim00)
640 Add(LVar0, 20)
641 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
642 Call(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE)
643 Wait(8)
644 Call(UseBattleCamPreset, BTL_CAM_DEFAULT)
645 Call(YieldTurn)
646 Call(SetGoalToHome, ACTOR_SELF)
647 Call(SetActorSpeed, ACTOR_SELF, Float(6.0))
648 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim04)
649 Call(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT)
650 Call(RunToGoal, ACTOR_SELF, 0, FALSE)
651 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim01)
652 Call(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0)
653 Call(SetActorYaw, ACTOR_SELF, 0)
654 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE)
655 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
656 Return
659 Call(SetActorYaw, ACTOR_SELF, 180)
660 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim08)
661 Call(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
662 Sub(LVar1, 24)
663 Call(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
664 Call(SetActorJumpGravity, ACTOR_SELF, Float(0.8))
665 Call(SetGoalToTarget, ACTOR_SELF)
666 Call(GetGoalPos, ACTOR_SELF, LVar3, LVar4, LVar5)
667 Call(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
668 Set(LVar1, LVar4)
669 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
670 Call(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE)
671 Call(ResetAllActorSounds, ACTOR_SELF)
672 Wait(2)
673 Call(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, DMG_CEILING_DROP, BS_FLAGS1_TRIGGER_EVENTS)
677 Call(UseBattleCamPreset, BTL_CAM_DEFAULT)
678 Call(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
679 Add(LVar0, 30)
680 Set(LVar1, 0)
681 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
682 Call(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE)
683 Thread
684 Wait(5)
685 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim00)
687 Add(LVar0, 20)
688 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
689 Call(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE)
690 Wait(8)
691 Call(YieldTurn)
692 SetConst(LVar0, PRT_MAIN)
693 SetConst(LVar1, ANIM_BuzzyBeetle_Anim04)
695 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim01)
698 Label(10)
699 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE)
700 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
701 Return
702 End
703};
704
705EvtScript N(EVS_TakeTurn_Ground) = {
706 Call(UseIdleAnimation, ACTOR_SELF, FALSE)
707 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_DISABLE)
708 Call(GetActorVar, ACTOR_SELF, AVAR_ToppleState, LVar0)
709 IfEq(LVar0, AVAL_State_Toppled)
710 Call(GetActorVar, ACTOR_SELF, AVAR_ToppleTurns, LVar0)
711 Sub(LVar0, 1)
712 IfGt(LVar0, 0)
713 Call(SetActorVar, ACTOR_SELF, AVAR_ToppleTurns, LVar0)
714 Call(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT)
715 Wait(30)
716 Call(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0)
717 Call(UseBattleCamPreset, BTL_CAM_DEFAULT)
718 Else
719 Call(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT)
720 Wait(20)
721 Call(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0)
722 SetConst(LVar0, PRT_MAIN)
723 SetConst(LVar1, ANIM_BuzzyBeetle_Anim02)
724 SetConst(LVar2, ANIM_BuzzyBeetle_Anim01)
726 Call(SetActorYaw, ACTOR_SELF, 0)
727 Call(SetActorVar, ACTOR_SELF, AVAR_ToppleState, AVAL_State_Ground)
728 Call(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 16)
729 Call(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -9)
730 Call(SetDefenseTable, ACTOR_SELF, PRT_MAIN, Ref(N(UprightDefense)))
731 Call(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, Ref(N(GroundAnims)))
732 Call(BindIdle, ACTOR_SELF, Ref(N(EVS_Idle)))
733 Call(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, FALSE)
734 EndIf
735 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE)
736 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
737 Return
738 EndIf
739 Call(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER)
740 Call(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH)
741 Call(BattleCamTargetActor, ACTOR_SELF)
742 Call(SetBattleCamTargetingModes, BTL_CAM_YADJ_TARGET, BTL_CAM_XADJ_AVG, FALSE)
743 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim0C)
744 Wait(10)
745 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim06)
746 Thread
747 Call(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
748 PlayEffect(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0)
749 Wait(10)
750 PlayEffect(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0)
751 Wait(5)
752 PlayEffect(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0)
754 Call(PlaySoundAtActor, ACTOR_SELF, SOUND_SHELL_SPIN)
755 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim05)
756 Wait(20)
758 Call(PlaySoundAtActor, ACTOR_SELF, SOUND_SHELL_TOSS)
759 Call(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 2, BS_FLAGS1_INCLUDE_POWER_UPS)
763 Set(LVarA, LVar0)
764 Thread
765 Loop(0)
766 Call(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2)
767 Add(LVar0, 30)
768 Call(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5)
771 EndIf
772 Wait(1)
773 EndLoop
774 Call(UseBattleCamPreset, BTL_CAM_INTERRUPT)
776 Call(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0)
777 EndIf
778 Wait(15)
779 Call(UseBattleCamPreset, BTL_CAM_DEFAULT)
781 Call(SetGoalToTarget, ACTOR_SELF)
782 Call(AddGoalPos, ACTOR_SELF, -150, 0, 0)
783 Call(SetActorSpeed, ACTOR_SELF, Float(14.0))
784 Call(RunToGoal, ACTOR_SELF, 0, FALSE)
785 Wait(15)
786 Call(YieldTurn)
787 Call(ResetAllActorSounds, ACTOR_SELF)
788 Call(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT)
789 Call(SetGoalToHome, ACTOR_SELF)
790 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
791 Add(LVar0, 200)
792 Call(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
793 Call(SetActorSpeed, ACTOR_SELF, Float(10.0))
794 Call(RunToGoal, ACTOR_SELF, 0, FALSE)
795 Wait(10)
796 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim0D)
797 Wait(10)
798 Call(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0)
799 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE)
800 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
801 Return
804 Call(SetGoalToTarget, ACTOR_SELF)
805 Call(SetActorSpeed, ACTOR_SELF, Float(14.0))
806 Call(RunToGoal, ACTOR_SELF, 0, FALSE)
807 Wait(2)
808 Call(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, DMG_SHELL_TOSS, BS_FLAGS1_TRIGGER_EVENTS)
812 Call(UseBattleCamPreset, BTL_CAM_DEFAULT)
813 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
814 Add(LVar0, 40)
815 Set(LVar1, 0)
816 Call(SetActorJumpGravity, ACTOR_SELF, Float(1.8))
817 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
818 Call(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE)
819 Add(LVar0, 30)
820 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
821 Call(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE)
822 Add(LVar0, 20)
823 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
824 Call(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE)
825 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim01)
826 Wait(8)
827 Call(YieldTurn)
828 Call(ResetAllActorSounds, ACTOR_SELF)
829 SetConst(LVar0, PRT_MAIN)
830 SetConst(LVar1, ANIM_BuzzyBeetle_Anim04)
832 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim01)
835 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE)
836 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
837 Return
838 End
839};
Bytecode EvtScript[]
@ BTL_CAM_XADJ_AVG
Definition enums.h:4899
@ ACTOR_SOUND_WALK
Definition enums.h:2034
@ ACTOR_SOUND_JUMP
Definition enums.h:2036
@ BS_FLAGS1_TRIGGER_EVENTS
Definition enums.h:3574
@ BS_FLAGS1_INCLUDE_POWER_UPS
Definition enums.h:3570
@ ELEMENT_FIRE
Definition enums.h:2116
@ ELEMENT_END
Definition enums.h:2114
@ ELEMENT_BLAST
Definition enums.h:2124
@ ELEMENT_NORMAL
Definition enums.h:2115
@ ACTOR_EVENT_FLAG_FLIPABLE
Actor can be flipped; triggered by jump and quake attacks.
Definition enums.h:3380
@ ACTOR_EVENT_FLAG_SPIKY_TOP
Player takes spike damage from jump attacks.
Definition enums.h:3373
@ 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_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_ACTOR_TARGET_MIDPOINT
Definition enums.h:4826
@ BTL_CAM_DEFAULT
Definition enums.h:4823
@ BTL_CAM_INTERRUPT
Definition enums.h:4822
@ BTL_CAM_ENEMY_APPROACH
Definition enums.h:4884
@ SUPPRESS_EVENT_ALL
Definition enums.h:2907
@ IDLE_SCRIPT_ENABLE
Definition enums.h:6407
@ IDLE_SCRIPT_DISABLE
Definition enums.h:6406
@ STATUS_FLAG_STOP
Definition enums.h:2821
@ STATUS_FLAG_SHRINK
Definition enums.h:2819
@ SOUND_NONE
Definition enums.h:547
@ SOUND_SHELL_SPIN
Definition enums.h:1342
@ SOUND_FALL_QUICK
Definition enums.h:1090
@ SOUND_SHELL_TOSS
Definition enums.h:1497
@ ACTOR_PLAYER
Definition enums.h:2085
@ ACTOR_SELF
Definition enums.h:2084
@ ACTOR_FLAG_FLYING
Quake Hammer can't hit.
Definition enums.h:3329
@ ACTOR_FLAG_UPSIDE_DOWN
HP bar offset below actor (e.g. Swooper when upside-down).
Definition enums.h:3331
@ ACTOR_FLAG_FLIPPED
Actor has been flipped over.
Definition enums.h:3330
@ 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_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_FLIP_TRIGGER
Definition enums.h:2135
@ 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_ReturnHome
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_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 LVarF
Definition macros.h:163
#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 Mod(VAR, INT_VALUE)
Definition macros.h:380
#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 LVarC
Definition macros.h:160
#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 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 LVarB
Definition macros.h:159
#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 Div(VAR, INT_VALUE)
Definition macros.h:379
#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 LVarD
Definition macros.h:161
#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 LVarE
Definition macros.h:162
#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