Paper Mario DX
Paper Mario (N64) modding
 
Loading...
Searching...
No Matches
anti_guy.inc.c
Go to the documentation of this file.
1#include "battle/battle.h"
2#include "script_api/battle.h"
3#include "sprite/npc/ShyGuy.h"
4
5#define NAMESPACE A(anti_guy)
6
7#ifdef ANTIGUY_TRIO
8#define ACTOR_TYPE ACTOR_TYPE_ANTI_GUY_KPA
9#define ACTOR_LEVEL ACTOR_LEVEL_ANTI_GUY_KPA
10#define PARALYZE_CHANCE 50
11#define ESCAPE_CHANCE 0
12#else
13#define ACTOR_TYPE ACTOR_TYPE_ANTI_GUY_OMO
14#define ACTOR_LEVEL ACTOR_LEVEL_ANTI_GUY_OMO
15#define PARALYZE_CHANCE 60
16#define ESCAPE_CHANCE 50
17#endif
18
19extern s32 N(DefaultAnims)[];
20extern EvtScript N(EVS_Init);
21extern EvtScript N(EVS_TakeTurn);
22extern EvtScript N(EVS_Idle);
23extern EvtScript N(EVS_HandleEvent);
24
25enum N(ActorPartIDs) {
26 PRT_MAIN = 1,
27};
28
29enum N(ActorParams) {
30 DMG_TACKLE = 10,
31 DMG_VAULT = 12,
32};
33
34s32 N(DefenseTable)[] = {
37};
38
39s32 N(StatusTable)[] = {
62};
63
64ActorPartBlueprint N(ActorParts)[] = {
65 {
67 .index = PRT_MAIN,
68 .posOffset = { 0, 0, 0 },
69 .targetOffset = { 0, 24 },
70 .opacity = 255,
71 .idleAnimations = N(DefaultAnims),
72 .defenseTable = N(DefenseTable),
73 .eventFlags = ACTOR_EVENT_FLAGS_NONE,
74 .elementImmunityFlags = 0,
75 .projectileTargetOffset = { -1, -10 },
76 },
77};
78
79ActorBlueprint NAMESPACE = {
80 .flags = 0,
81 .type = ACTOR_TYPE,
82 .level = ACTOR_LEVEL,
83 .maxHP = 50,
84 .partCount = ARRAY_COUNT(N(ActorParts)),
85 .partsData = N(ActorParts),
86 .initScript = &N(EVS_Init),
87 .statusTable = N(StatusTable),
88 .escapeChance = ESCAPE_CHANCE,
89 .airLiftChance = 0,
90 .hurricaneChance = 0,
91 .spookChance = 0,
92 .upAndAwayChance = 0,
93 .spinSmashReq = 0,
94 .powerBounceChance = 75,
95 .coinReward = 0,
96 .size = { 30, 30 },
97 .healthBarOffset = { 0, 0 },
98 .statusIconOffset = { -10, 20 },
99 .statusTextOffset = { 10, 20 },
100};
101
102s32 N(DefaultAnims)[] = {
103 STATUS_KEY_NORMAL, ANIM_ShyGuy_Black_Anim01,
104 STATUS_KEY_STONE, ANIM_ShyGuy_Black_Anim00,
105 STATUS_KEY_SLEEP, ANIM_ShyGuy_Black_Anim12,
106 STATUS_KEY_POISON, ANIM_ShyGuy_Black_Anim01,
107 STATUS_KEY_STOP, ANIM_ShyGuy_Black_Anim00,
108 STATUS_KEY_STATIC, ANIM_ShyGuy_Black_Anim01,
109 STATUS_KEY_PARALYZE, ANIM_ShyGuy_Black_Anim00,
110 STATUS_KEY_DIZZY, ANIM_ShyGuy_Black_Anim13,
111 STATUS_KEY_FEAR, ANIM_ShyGuy_Black_Anim13,
113};
114
115EvtScript N(EVS_Init) = {
116 Call(BindTakeTurn, ACTOR_SELF, Ref(N(EVS_TakeTurn)))
117 Call(BindIdle, ACTOR_SELF, Ref(N(EVS_Idle)))
118 Call(BindHandleEvent, ACTOR_SELF, Ref(N(EVS_HandleEvent)))
119 Return
120 End
121};
122
124
125EvtScript N(EVS_Idle) = {
126 Label(0)
127 Call(GetStatusFlags, ACTOR_SELF, LVar0)
129 Call(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -4, 14)
130 Call(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0)
131 Call(N(SetAbsoluteStatusOffsets), -10, 13, 10, 13)
132 Else
133 Call(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 24)
134 Call(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -10)
135 Call(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20)
136 EndIf
137 Wait(1)
138 Goto(0)
139 Return
140 End
141};
142
143EvtScript N(EVS_ReturnHome) = {
144 Call(ResetAllActorSounds, ACTOR_SELF)
145 SetConst(LVar0, PRT_MAIN)
146 SetConst(LVar1, ANIM_ShyGuy_Black_Anim03)
148 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim01)
149 Return
150 End
151};
152
153EvtScript N(EVS_HandleEvent) = {
154 Call(UseIdleAnimation, ACTOR_SELF, FALSE)
155 Call(GetLastEvent, ACTOR_SELF, LVar0)
159 SetConst(LVar0, PRT_MAIN)
160 SetConst(LVar1, ANIM_ShyGuy_Black_Anim0C)
164 SetConst(LVar0, PRT_MAIN)
165 SetConst(LVar1, ANIM_ShyGuy_Black_Anim0D)
166 SetConst(LVar2, ANIM_ShyGuy_Black_Anim0E)
169 SetConst(LVar0, PRT_MAIN)
170 SetConst(LVar1, ANIM_ShyGuy_Black_Anim0D)
171 SetConst(LVar2, ANIM_ShyGuy_Black_Anim0E)
173 SetConst(LVar0, PRT_MAIN)
174 SetConst(LVar1, ANIM_ShyGuy_Black_Anim0E)
176 Return
178 SetConst(LVar0, PRT_MAIN)
179 SetConst(LVar1, ANIM_ShyGuy_Black_Anim0C)
182 SetConst(LVar0, PRT_MAIN)
183 SetConst(LVar1, ANIM_ShyGuy_Black_Anim0C)
185 SetConst(LVar0, PRT_MAIN)
186 SetConst(LVar1, ANIM_ShyGuy_Black_Anim0C)
188 Return
190 SetConst(LVar0, PRT_MAIN)
191 SetConst(LVar1, ANIM_ShyGuy_Black_Anim0C)
193 SetConst(LVar0, PRT_MAIN)
194 SetConst(LVar1, ANIM_ShyGuy_Black_Anim0C)
196 Call(SetActorSpeed, ACTOR_SELF, Float(4.0))
197 ExecWait(N(EVS_ReturnHome))
199 SetConst(LVar0, PRT_MAIN)
200 SetConst(LVar1, ANIM_ShyGuy_Black_Anim0C)
202 SetConst(LVar0, PRT_MAIN)
203 SetConst(LVar1, ANIM_ShyGuy_Black_Anim0C)
205 Return
209 SetConst(LVar0, PRT_MAIN)
210 SetConst(LVar1, ANIM_ShyGuy_Black_Anim01)
214 SetConst(LVar0, PRT_MAIN)
215 SetConst(LVar1, ANIM_ShyGuy_Black_Anim0C)
217 Wait(10)
218 SetConst(LVar0, PRT_MAIN)
219 SetConst(LVar1, ANIM_ShyGuy_Black_Anim0C)
221 Return
223 SetConst(LVar0, PRT_MAIN)
224 SetConst(LVar1, ANIM_ShyGuy_Black_Anim01)
227 SetConst(LVar0, PRT_MAIN)
228 SetConst(LVar1, ANIM_ShyGuy_Black_Anim03)
229 SetConst(LVar2, ANIM_ShyGuy_Black_Anim14)
231 Return
233 SetConst(LVar0, PRT_MAIN)
234 SetConst(LVar1, ANIM_ShyGuy_Black_Anim0C)
237 SetConst(LVar0, PRT_MAIN)
238 SetConst(LVar1, ANIM_ShyGuy_Black_Anim0C)
240 Return
243 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
244 Return
245 End
246};
247
248EvtScript N(EVS_Attack_Tackle) = {
249 Call(UseIdleAnimation, ACTOR_SELF, FALSE)
250 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_DISABLE)
251 Call(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER)
252 Call(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH)
253 Call(BattleCamTargetActor, ACTOR_SELF)
254 Call(MoveBattleCamOver, 20)
255 Call(SetBattleCamTargetingModes, BTL_CAM_YADJ_TARGET, BTL_CAM_XADJ_AVG, FALSE)
256 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim03)
257 Call(SetActorSpeed, ACTOR_SELF, Float(4.0))
258 Call(SetGoalToTarget, ACTOR_SELF)
259 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
260 Add(LVar0, 50)
261 Set(LVar1, 0)
262 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
263 Call(RunToGoal, ACTOR_SELF, 0, FALSE)
264 Call(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_INCLUDE_POWER_UPS)
268 Set(LVarA, LVar0)
269 Call(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_ACTOR_HOP, 0)
271 Call(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0)
272 Call(SetActorSpeed, ACTOR_SELF, Float(6.0))
273 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim04)
274 Call(SetGoalToTarget, ACTOR_SELF)
275 Call(RunToGoal, ACTOR_SELF, 0, FALSE)
276 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim05)
277 Call(SetActorSpeed, ACTOR_SELF, Float(6.0))
278 Call(SetActorJumpGravity, ACTOR_SELF, Float(0.5))
279 Call(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
280 Sub(LVar0, 30)
281 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
282 Call(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE)
284 Call(EnemyTestTarget, ACTOR_SELF, LVarA, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0)
285 EndIf
286 Call(ResetAllActorSounds, ACTOR_SELF)
287 Sub(LVar0, 20)
288 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
289 Call(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE)
290 Wait(15)
291 Call(UseBattleCamPreset, BTL_CAM_DEFAULT)
292 Call(SetActorYaw, ACTOR_SELF, 180)
293 Call(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT)
294 Call(SetActorSpeed, ACTOR_SELF, Float(4.0))
295 SetConst(LVar0, PRT_MAIN)
296 SetConst(LVar1, ANIM_ShyGuy_Black_Anim04)
298 Call(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0)
299 Call(SetActorYaw, ACTOR_SELF, 0)
300 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim01)
301 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE)
302 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
303 Return
306 Thread
307 Wait(3)
308 Call(PlaySoundAtActor, ACTOR_SELF, SOUND_ACTOR_HOP)
311 Call(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0)
312 Call(SetActorSpeed, ACTOR_SELF, Float(6.0))
313 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim04)
314 Call(SetGoalToTarget, ACTOR_SELF)
315 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
316 Add(LVar0, 10)
317 Set(LVar1, 0)
318 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
319 Call(RunToGoal, ACTOR_SELF, 0, FALSE)
320 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim05)
321 Wait(2)
322 Call(SetGoalToTarget, ACTOR_SELF)
323 Call(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, DMG_TACKLE, BS_FLAGS1_TRIGGER_EVENTS)
324 Call(ResetAllActorSounds, ACTOR_SELF)
325 Call(UseBattleCamPreset, BTL_CAM_DEFAULT)
326 Call(MoveBattleCamOver, 15)
327 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
328 Add(LVar0, 30)
329 Set(LVar1, 0)
330 Call(SetActorJumpGravity, ACTOR_SELF, Float(1.8))
331 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
332 Call(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE)
333 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim01)
334 Wait(8)
335 Call(SetActorSpeed, ACTOR_SELF, Float(6.0))
336 ExecWait(N(EVS_ReturnHome))
337 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE)
338 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
339 Return
340 End
341};
342
343EvtScript N(EVS_Attack_Vault) = {
344 Call(UseIdleAnimation, ACTOR_SELF, FALSE)
345 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_DISABLE)
346 Call(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER)
347 Call(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH)
348 Call(BattleCamTargetActor, ACTOR_SELF)
349 Call(MoveBattleCamOver, 20)
350 Call(SetBattleCamTargetingModes, BTL_CAM_YADJ_TARGET, BTL_CAM_XADJ_AVG, FALSE)
351 Call(PlaySoundAtActor, ACTOR_SELF, SOUND_TIMING_BAR_GO)
352 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim09)
353 Wait(20)
354 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim03)
355 Call(SetActorSpeed, ACTOR_SELF, Float(3.0))
356 Call(SetGoalToTarget, ACTOR_SELF)
357 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
358 Add(LVar0, 80)
359 Set(LVar1, 0)
360 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
361 Call(RunToGoal, ACTOR_SELF, 0, FALSE)
363 Call(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0)
364 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim04)
365 Call(SetActorSpeed, ACTOR_SELF, Float(5.0))
366 Sub(LVar0, 40)
367 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
368 Call(RunToGoal, ACTOR_SELF, 0, FALSE)
369 Call(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_INCLUDE_POWER_UPS)
373 Set(LVarA, LVar0)
374 Call(SetActorSpeed, ACTOR_SELF, Float(6.0))
375 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim09)
376 Thread
377 Wait(12)
378 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim0A)
380 Call(SetActorJumpGravity, ACTOR_SELF, Float(0.8))
381 Call(SetGoalToTarget, ACTOR_SELF)
382 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
383 Sub(LVar0, 10)
384 Set(LVar1, 0)
385 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
386 Call(JumpToGoal, ACTOR_SELF, 24, FALSE, TRUE, FALSE)
388 Call(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0)
389 EndIf
390 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim05)
391 Call(SetActorSpeed, ACTOR_SELF, Float(6.0))
392 Call(SetActorJumpGravity, ACTOR_SELF, Float(0.5))
393 Call(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
394 Sub(LVar0, 30)
395 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
396 Call(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE)
397 Sub(LVar0, 20)
398 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
399 Call(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE)
400 Wait(15)
401 Call(UseBattleCamPreset, BTL_CAM_DEFAULT)
402 Call(MoveBattleCamOver, 15)
403 Call(SetActorYaw, ACTOR_SELF, 180)
404 Call(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT)
405 Call(SetActorSpeed, ACTOR_SELF, Float(6.0))
406 SetConst(LVar0, PRT_MAIN)
407 SetConst(LVar1, ANIM_ShyGuy_Black_Anim04)
409 Call(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0)
410 Call(SetActorYaw, ACTOR_SELF, 0)
411 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim01)
412 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE)
413 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
414 Return
417 Call(SetActorSpeed, ACTOR_SELF, Float(6.0))
418 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim09)
419 Thread
420 Wait(9)
421 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim0A)
423 Call(SetActorJumpGravity, ACTOR_SELF, Float(0.8))
424 Call(SetGoalToTarget, ACTOR_SELF)
425 Call(JumpToGoal, ACTOR_SELF, 18, FALSE, TRUE, FALSE)
426 Wait(2)
427 Call(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, DMG_VAULT, BS_FLAGS1_TRIGGER_EVENTS)
431 Call(UseBattleCamPreset, BTL_CAM_DEFAULT)
432 Call(MoveBattleCamOver, 15)
433 Thread
434 Call(SetActorRotationOffset, ACTOR_SELF, 0, 14, 0)
435 Set(LVar3, 0)
436 Loop(20)
437 Sub(LVar3, 30)
438 IfLt(LVar3, 0)
439 Add(LVar3, 360)
440 EndIf
441 Call(SetActorRotation, ACTOR_SELF, 0, 0, LVar3)
442 Wait(1)
443 EndLoop
444 Call(SetActorRotation, ACTOR_SELF, 0, 0, 0)
445 Call(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0)
447 Call(GetBattleFlags, LVar0)
449 Goto(1)
450 EndIf
451 Call(GetLastDamage, ACTOR_PLAYER, LVar0)
452 IfEq(LVar0, 0)
453 Goto(1)
454 EndIf
455 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
456 Add(LVar0, 40)
457 Set(LVar1, 0)
458 Call(SetActorJumpGravity, ACTOR_SELF, Float(0.8))
459 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
460 Call(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE)
461 Call(PlaySoundAtActor, ACTOR_SELF, SOUND_LRAW_CHEERING)
463 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim09)
464 Wait(10)
465 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim07)
466 Wait(15)
467 Goto(2)
468 Label(1)
469 Call(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
470 Add(LVar0, 40)
471 Set(LVar1, 0)
472 Call(SetActorJumpGravity, ACTOR_SELF, Float(0.8))
473 Call(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
474 Call(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE)
475 Call(PlaySoundAtActor, ACTOR_SELF, SOUND_ACTOR_COLLAPSE)
476 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim10)
477 Wait(10)
478 Call(PlaySoundAtActor, ACTOR_SELF, SOUND_DISAPPOINTED)
479 Call(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT)
480 Call(RandInt, 100, LVar0)
481 IfLt(LVar0, 50)
482 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim11)
483 Else
484 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim13)
485 EndIf
486 Wait(25)
487 Call(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0)
488 Call(SetActorYaw, ACTOR_SELF, 180)
489 Label(2)
490 Call(SetActorSpeed, ACTOR_SELF, Float(6.0))
491 SetConst(LVar0, PRT_MAIN)
492 SetConst(LVar1, ANIM_ShyGuy_Black_Anim04)
494 Call(SetActorYaw, ACTOR_SELF, 0)
495 Call(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim01)
498 Call(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE)
499 Call(UseIdleAnimation, ACTOR_SELF, TRUE)
500 Return
501 End
502};
503
504EvtScript N(EVS_TakeTurn) = {
505 Call(RandInt, 1, LVar0)
506 IfEq(LVar0, 0)
507 ExecWait(N(EVS_Attack_Tackle))
508 Else
509 ExecWait(N(EVS_Attack_Vault))
510 EndIf
511 Return
512 End
513};
#define ACTOR_LEVEL
#define ESCAPE_CHANCE
#define PARALYZE_CHANCE
#define ACTOR_TYPE
Bytecode EvtScript[]
@ BTL_CAM_XADJ_AVG
Definition enums.h:4900
@ ACTOR_SOUND_WALK
Definition enums.h:2034
@ ACTOR_SOUND_WALK_INCREMENT
Definition enums.h:2038
@ ACTOR_SOUND_JUMP
Definition enums.h:2036
@ BS_FLAGS1_TRIGGER_EVENTS
Definition enums.h:3575
@ BS_FLAGS1_ATK_BLOCKED
Definition enums.h:3600
@ BS_FLAGS1_INCLUDE_POWER_UPS
Definition enums.h:3571
@ ELEMENT_END
Definition enums.h:2114
@ ELEMENT_NORMAL
Definition enums.h:2115
@ ACTOR_EVENT_FLAGS_NONE
Definition enums.h:3370
@ ACTOR_DECORATION_SWEAT
Definition enums.h:2045
@ 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
@ SOUND_ID_TRIGGER_CHANGE_SOUND
Definition enums.h:532
@ IDLE_SCRIPT_ENABLE
Definition enums.h:6408
@ IDLE_SCRIPT_DISABLE
Definition enums.h:6407
@ STATUS_FLAG_SLEEP
Definition enums.h:2812
@ SOUND_LRAW_CHEERING
Definition enums.h:1151
@ SOUND_TIMING_BAR_GO
Definition enums.h:953
@ SOUND_ACTOR_HOP
Definition enums.h:1073
@ SOUND_ACTOR_COLLAPSE
Definition enums.h:1514
@ SOUND_ACTOR_STEP_A
Definition enums.h:1474
@ SOUND_ACTOR_STEP_B
Definition enums.h:1250
@ SOUND_DISAPPOINTED
Definition enums.h:1482
@ ACTOR_PLAYER
Definition enums.h:2085
@ ACTOR_SELF
Definition enums.h:2084
@ BTL_CAM_YADJ_TARGET
Definition enums.h:4905
@ EVENT_HIT
Definition enums.h:2132
@ EVENT_SCARE_AWAY
Definition enums.h:2174
@ EVENT_BURN_HIT
Definition enums.h:2136
@ EVENT_IMMUNE
Definition enums.h:2146
@ EVENT_BURN_DEATH
Definition enums.h:2157
@ EVENT_ZERO_DAMAGE
Definition enums.h:2144
@ EVENT_SHOCK_DEATH
Definition enums.h:2159
@ EVENT_SPIN_SMASH_HIT
Definition enums.h:2133
@ EVENT_SPIN_SMASH_DEATH
Definition enums.h:2154
@ EVENT_HIT_COMBO
Definition enums.h:2131
@ EVENT_AIR_LIFT_FAILED
Definition enums.h:2152
@ EVENT_BEGIN_AIR_LIFT
Definition enums.h:2175
@ EVENT_DEATH
Definition enums.h:2153
@ EVENT_SHOCK_HIT
Definition enums.h:2165
@ EVENT_RECOVER_STATUS
Definition enums.h:2167
@ EVENT_BLOW_AWAY
Definition enums.h:2143
@ ACTOR_PART_FLAG_PRIMARY_TARGET
Definition enums.h:3362
@ DAMAGE_TYPE_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_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 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 IfLt(LVAR, RVAR)
Marks the beginning of an if statement that only executes if LVAR < RVAR.
Definition macros.h:275
#define Float(DOUBLE)
Definition macros.h:51
#define Label(LABEL_ID)
Marks this point in the script as a Goto target.
Definition macros.h:227
#define CaseOrEq(RVAR)
Marks the start of a switch case that executes only if LVAR == RVAR.
Definition macros.h:341
#define EndIf
Marks the end of an if statement or an else block.
Definition macros.h:298
#define CaseDefault
Marks the start of a switch case that executes unconditionally. It also marks the end of any previous...
Definition macros.h:337
#define ExecWait(EVT_SOURCE)
Launches a new child thread.
Definition macros.h:475
#define Thread
Marks the start of a thread block.
Definition macros.h:544
#define EndThread
Marks the end of a thread block.
Definition macros.h:547
#define IfFlag(LVAR, RVAR)
Marks the beginning of an if statement that only executes if the RVAR flag is set on LVAR,...
Definition macros.h:288
#define LVar2
Definition macros.h:150
#define LVar1
Definition macros.h:149
#define LVarA
Definition macros.h:158
#define Wait(NUM_FRAMES)
Blocks for the given number of frames.
Definition macros.h:254
#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 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