Paper Mario DX
Paper Mario (N64) modding
 
Loading...
Searching...
No Matches
white_magikoopa.inc.c
Go to the documentation of this file.
1#include "battle/battle.h"
2#include "script_api/battle.h"
3#include "sprite/npc/FlyingMagikoopa.h"
4#include "sprite/npc/Magikoopa.h"
5
6#define NAMESPACE A(white_magikoopa)
7
8extern s32 N(IdleAnimations_80223D70)[];
9extern s32 N(IdleAnimations_80223DBC)[];
10extern s32 N(IdleAnimations_80223E08)[];
13extern EvtScript N(EVS_TakeTurn);
14extern EvtScript N(EVS_Flee);
15
16enum N(ActorPartIDs) {
17 PRT_GROUND = 1,
18 PRT_FLYING = 2,
19 PRT_BROOM = 3,
20};
21
22enum N(ActorVars) {
24};
25
26enum N(ActorParams) {
29 HEAL_AMT_ONE = 5,
30 HEAL_AMT_ALL = 3,
31};
32
33s32 N(DefenseTable_80223B20)[] = {
36};
37
38s32 N(DefenseTable_80223B2C)[] = {
41};
42
43s32 N(StatusTable_Ground)[] = {
66};
67
68s32 N(StatusTable_Flying)[] = {
91};
92
94 {
96 .index = PRT_GROUND,
97 .posOffset = { 0, 0, 0 },
98 .targetOffset = { 2, 35 },
99 .opacity = 255,
100 .idleAnimations = N(IdleAnimations_80223D70),
101 .defenseTable = N(DefenseTable_80223B20),
102 .eventFlags = ACTOR_EVENT_FLAGS_NONE,
103 .elementImmunityFlags = 0,
104 .projectileTargetOffset = { -5, -12 },
105 },
106};
107
109 {
111 .index = PRT_GROUND,
112 .posOffset = { 0, 0, 0 },
113 .targetOffset = { 2, 35 },
114 .opacity = 255,
115 .idleAnimations = N(IdleAnimations_80223D70),
116 .defenseTable = N(DefenseTable_80223B2C),
117 .eventFlags = ACTOR_EVENT_FLAGS_NONE,
118 .elementImmunityFlags = 0,
119 .projectileTargetOffset = { -5, -12 },
120 },
121 {
123 .index = PRT_FLYING,
124 .posOffset = { 0, 0, 0 },
125 .targetOffset = { -10, 35 },
126 .opacity = 255,
127 .idleAnimations = N(IdleAnimations_80223DBC),
128 .defenseTable = N(DefenseTable_80223B2C),
130 .elementImmunityFlags = 0,
131 .projectileTargetOffset = { 0, -8 },
132 },
133 {
135 .index = PRT_BROOM,
136 .posOffset = { 0, 0, 0 },
137 .targetOffset = { 0, 0 },
138 .opacity = 255,
139 .idleAnimations = N(IdleAnimations_80223E08),
140 .defenseTable = N(DefenseTable_80223B2C),
141 .eventFlags = ACTOR_EVENT_FLAGS_NONE,
142 .elementImmunityFlags = 0,
143 .projectileTargetOffset = { 0, 0 },
144 },
145};
146
147ActorBlueprint NAMESPACE = {
148 .flags = 0,
151 .maxHP = 11,
152 .partCount = ARRAY_COUNT(N(GroundParts)),
153 .partsData = N(GroundParts),
154 .initScript = &N(EVS_Init_Ground),
155 .statusTable = N(StatusTable_Ground),
156 .escapeChance = 40,
157 .airLiftChance = 80,
158 .hurricaneChance = 70,
159 .spookChance = 40,
160 .upAndAwayChance = 95,
161 .spinSmashReq = 0,
162 .powerBounceChance = 80,
163 .coinReward = 2,
164 .size = { 36, 40 },
165 .healthBarOffset = { 0, 0 },
166 .statusIconOffset = { -10, 20 },
167 .statusTextOffset = { 10, 32 },
168};
169
171 .flags = ACTOR_FLAG_FLYING,
174 .maxHP = 11,
175 .partCount = ARRAY_COUNT(N(FlyingParts)),
176 .partsData = N(FlyingParts),
177 .initScript = &N(EVS_Init_Flying),
178 .statusTable = N(StatusTable_Flying),
179 .escapeChance = 40,
180 .airLiftChance = 95,
181 .hurricaneChance = 75,
182 .spookChance = 40,
183 .upAndAwayChance = 95,
184 .spinSmashReq = 0,
185 .powerBounceChance = 80,
186 .coinReward = 2,
187 .size = { 48, 40 },
188 .healthBarOffset = { 0, 0 },
189 .statusIconOffset = { -25, 20 },
190 .statusTextOffset = { 1, 34 },
191};
192
193s32 N(IdleAnimations_80223D70)[] = {
204};
205
206s32 N(IdleAnimations_80223DBC)[] = {
217};
218
219s32 N(IdleAnimations_80223E08)[] = {
222};
223
225
227
229
231
233
234API_CALLABLE(N(GetBootsHammerLevel)) {
235 Bytecode* args = script->ptrReadPos;
236
239
240 return ApiStatus_DONE2;
241}
242
243API_CALLABLE(N(GetActorDefense)) {
244 Bytecode* args = script->ptrReadPos;
245 s32 actorID = evt_get_variable(script, *args++);
246 s32 partID = evt_get_variable(script, *args++);
247 Actor* actor;
249 s32 defense;
250
251 if (actorID == ACTOR_SELF) {
252 actorID = script->owner1.actorID;
253 }
254
255 actor = get_actor(actorID);
256 part = get_actor_part(actor, partID);
257 defense = lookup_defense(part->defenseTable, ELEMENT_NORMAL);
258
260
261 return ApiStatus_DONE2;
262}
263
264EvtScript N(EVS_Idle) = {
265 Return
266 End
267};
268
293 Return
305 Return
317 Wait(10)
321 Return
332 Wait(15)
335 Return
345 Else
347 EndIf
348 EndIf
352 Return
357 Return
358 End
359};
360
366 EndIf
367 Else
377 EndIf
380 EndIf
381 Return
382 End
383};
384
387 IfEq(LVar0, 1)
389 Goto(0)
390 EndIf
394 Goto(0)
395 EndIf
396 Return
397 Label(0)
402 EndIf
410 Sub(LVar2, 1)
414 Set(LVar1, 0)
418 Call(N(StartRumbleWithParams), 150, 10)
419 Thread
420 Call(ShakeCam, CAM_BATTLE, 0, 5, Float(0.7))
426 Add(LVar4, 10)
427 Add(LVar5, 5)
429 EndIf
434 Loop(20)
436 Wait(1)
438 Wait(1)
439 EndLoop
446 Call(N(SetAbsoluteStatusOffsets), -10, 20, 10, 32)
450 Mod(LVar0, 4)
457 Return
458 End
459};
460
496 Return
508 Return
520 Wait(10)
524 Return
526 Call(SetActorPos, ACTOR_SELF, 20, 0, 0)
545 Wait(15)
548 Return
558 Else
560 EndIf
561 EndIf
565 Return
570 Return
571 End
572};
573
582 Else
585 EndIf
590 Sub(LVar0, 12)
591 Add(LVar1, 14)
592 Else
593 Sub(LVar0, 30)
594 Add(LVar1, 36)
595 EndIf
598 Wait(30)
603 Set(LVarA, LVar0)
606 Wait(5)
610 Sub(LVar0, 8)
611 Add(LVar1, 8)
612 Else
613 Sub(LVar0, 20)
614 Add(LVar1, 20)
615 EndIf
618 Sub(LVar3, 50)
619 Set(LVar4, 0)
621 Wait(50)
624 EndIf
625 Wait(14)
628 Wait(30)
632 Return
637 Wait(5)
641 Sub(LVar0, 8)
642 Add(LVar1, 8)
643 Else
644 Sub(LVar0, 20)
645 Add(LVar1, 20)
646 EndIf
649 Sub(LVar3, 10)
651 Wait(18)
652 Wait(2)
657 Wait(19)
663 Return
664 End
665};
666
675 Thread
677 Set(LVar0, 200)
678 Loop(20)
679 Sub(LVar0, 10)
681 Wait(1)
682 EndLoop
684 Wait(10)
689 Add(LVar0, 5)
690 Else
691 Add(LVar0, 25)
692 EndIf
693 Set(LVar1, 0)
696 Set(LVar0, 55)
697 Loop(20)
698 Add(LVar0, 10)
700 Wait(1)
701 EndLoop
704 Wait(11)
710 Set(LVarA, LVar0)
714 EndIf
715 Wait(15)
716 Set(LVar0, 200)
717 Loop(20)
718 Sub(LVar0, 10)
720 Wait(1)
721 EndLoop
726 Set(LVar0, 55)
727 Loop(20)
728 Add(LVar0, 10)
730 Wait(1)
731 EndLoop
735 Return
739 Wait(2)
745 Wait(10)
746 Set(LVar0, 200)
747 Loop(20)
748 Sub(LVar0, 10)
750 Wait(1)
751 EndLoop
756 Set(LVar0, 55)
757 Loop(20)
758 Add(LVar0, 10)
760 Wait(1)
761 EndLoop
767 Return
768 End
769};
770
771EvtScript N(EVS_Flee) = {
780 Wait(15)
782 EndIf
785 Add(LVar0, 20)
788 Wait(10)
793 Add(LVar0, 200)
801 Return
802 End
803};
804
810 Return
811 End
812};
813
819 Return
820 End
821};
822
824 #define LV_LowestActor LVar8
825 #define LV_LowestHP LVar9
826 // try to find a non-magikoopa actor in danger of being killed by the player
828 Set(LV_LowestHP, 9999)
831 Label(0)
836 Set(LVar3, LVar4)
837 EndIf
840 Add(LVar5, LVar6)
841 Sub(LVar3, LVar5)
842 Sub(LVar2, LVar3)
844 IfEq(LVarA, 0)
851 Else
856 EndIf
857 EndIf
858 EndIf
859 EndIf
860 EndIf
863 Goto(0)
864 EndIf
866 Goto(100)
867 EndIf
868 // try to find any actor in danger of being killed by the player
870 Set(LV_LowestHP, 9999)
873 Label(1)
878 Set(LVar3, LVar4)
879 EndIf
882 Add(LVar5, LVar6)
883 Sub(LVar3, LVar5)
884 Sub(LVar2, LVar4)
889 IfEq(LVarA, 1)
890 Set(LFlag0, TRUE)
891 EndIf
892 EndIf
902 Else
907 EndIf
908 EndIf
909 EndIf
910 EndIf
911 EndIf
912 EndIf
915 Goto(1)
916 EndIf
918 Goto(100)
919 EndIf
920 // try to find the actor with lowest HP%
923 Label(2)
929 IfEq(LVarA, 1)
930 Set(LFlag0, TRUE)
931 EndIf
932 EndIf
940 Goto(100)
941 EndIf
942 EndIf
943 EndIf
946 Goto(2)
947 EndIf
952 Goto(100)
953 EndIf
956 Label(3)
963 Else
965 EndIf
966 Return
967 EndIf
970 Goto(3)
971 EndIf
973 Return
974 Label(100)
975 Call(RandInt, 1000, LVar0)
976 IfGt(LVar0, 750)
980 Else
982 EndIf
983 Return
984 EndIf
991 Wait(15)
995 Else
997 EndIf
998 Wait(5)
1005 Sub(LVar0, 6)
1006 Add(LVar1, 12)
1007 Sub(LVar2, 2)
1009 Else
1010 Sub(LVar0, 16)
1011 Add(LVar1, 31)
1012 Sub(LVar2, 2)
1014 EndIf
1015 Else
1019 Sub(LVar0, 12)
1020 Add(LVar1, 14)
1021 Sub(LVar2, 2)
1023 Else
1024 Sub(LVar0, 30)
1025 Add(LVar1, 36)
1026 Sub(LVar2, 2)
1028 EndIf
1029 EndIf
1030 Wait(30)
1034 Else
1036 EndIf
1037 Wait(5)
1038 Thread
1039 Wait(5)
1042 Wait(30)
1044 EndThread
1045 Thread
1049 EndThread
1052 Wait(10)
1056 Return
1057 End
1058};
1059
1061 Call(RandInt, 1000, LVar0)
1062 IfGt(LVar0, 750)
1066 Else
1068 EndIf
1069 Return
1070 EndIf
1077 Wait(15)
1081 Else
1083 EndIf
1084 Wait(5)
1091 Sub(LVar0, 6)
1092 Add(LVar1, 12)
1093 Sub(LVar2, 2)
1095 Else
1096 Sub(LVar0, 16)
1097 Add(LVar1, 31)
1098 Sub(LVar2, 2)
1100 EndIf
1101 Else
1105 Sub(LVar0, 12)
1106 Add(LVar1, 14)
1107 Sub(LVar2, 2)
1109 Else
1110 Sub(LVar0, 30)
1111 Add(LVar1, 36)
1112 Sub(LVar2, 2)
1114 EndIf
1115 EndIf
1116 Wait(30)
1120 Else
1122 EndIf
1123 Wait(5)
1126 Label(0)
1127 Set(LFlag0, FALSE)
1132 IfEq(LVar1, 1)
1133 Set(LFlag0, TRUE)
1134 EndIf
1135 EndIf
1136 IfEq(LFlag0, FALSE)
1137 Thread
1138 Wait(5)
1141 Wait(30)
1143 EndThread
1144 Thread
1148 EndThread
1149 EndIf
1152 Goto(0)
1153 EndIf
1155 Wait(1)
1157 Wait(10)
1161 Return
1162 End
1163};
1164
1167 IfEq(LVar0, 1)
1168 ExecWait(N(EVS_Flee))
1169 Return
1170 EndIf
1171 Set(LVarA, 0)
1172 Set(LVarB, 0)
1175 Label(0)
1176 Set(LFlag0, FALSE)
1181 IfEq(LVar1, 1)
1182 Set(LFlag0, TRUE)
1183 EndIf
1184 EndIf
1185 IfEq(LFlag0, FALSE)
1188 IfNe(LVar2, LVar3)
1189 Add(LVarA, 1)
1190 EndIf
1191 Add(LVarB, 1)
1192 EndIf
1195 Goto(0)
1196 EndIf
1197 Mul(LVarA, 100)
1198 Div(LVarA, LVarB)
1199 Switch(LVarA)
1200 CaseGe(60)
1202 CaseEq(0)
1206 Else
1208 EndIf
1211 EndSwitch
1212 Return
1213 End
1214};
BSS s32 PopupMenu_SelectedIndex
Bytecode EvtScript[]
#define STATUS_FLAGS_IMMOBILIZED
Definition enums.h:2834
@ BTL_CAM_XADJ_AVG
Definition enums.h:4899
@ BS_FLAGS1_PARTNER_ACTING
Definition enums.h:3587
@ BS_FLAGS1_SUPER_HIT
Definition enums.h:3578
@ BS_FLAGS1_NICE_HIT
Definition enums.h:3575
@ BS_FLAGS1_TRIGGER_EVENTS
Definition enums.h:3574
@ BS_FLAGS1_INCLUDE_POWER_UPS
Definition enums.h:3570
@ ELEMENT_END
Definition enums.h:2114
@ ELEMENT_NORMAL
Definition enums.h:2115
@ ITER_NO_MORE
Definition enums.h:2030
@ ITER_NEXT
Definition enums.h:2025
@ ACTOR_EVENT_FLAG_RIDING_BROOMSTICK
Actor is on Magikoopa Broomstick, effect seems to be redundant.
Definition enums.h:3390
@ ACTOR_EVENT_FLAGS_NONE
Definition enums.h:3370
@ 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_DEFAULT
Definition enums.h:4823
@ BTL_CAM_INTERRUPT
Definition enums.h:4822
@ BTL_CAM_ACTOR
Definition enums.h:4835
@ BTL_CAM_ENEMY_APPROACH
Definition enums.h:4884
@ TARGET_FLAG_PRIMARY_ONLY
Definition enums.h:1863
@ TARGET_FLAG_2
Definition enums.h:1850
@ EASING_COS_IN_OUT
Definition enums.h:520
@ EASING_LINEAR
Definition enums.h:510
@ IDLE_SCRIPT_ENABLE
Definition enums.h:6407
@ IDLE_SCRIPT_DISABLE
Definition enums.h:6406
@ STATUS_FLAG_SHRINK
Definition enums.h:2819
@ SOUND_MAGIKOOPA_WAND_STRIKE
Definition enums.h:1054
@ SOUND_STAR_BOUNCE_A
Definition enums.h:975
@ SOUND_SPELL_CAST1
Definition enums.h:1498
@ SOUND_SPELL_CAST2
Definition enums.h:1499
@ SOUND_RECOVER_HEART
Definition enums.h:1406
@ SOUND_MAGIKOOPA_VANISH
Definition enums.h:1053
@ SOUND_HEART_BOUNCE
Definition enums.h:925
@ SOUND_FALL_QUICK
Definition enums.h:1090
@ 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_TYPE_CHANGED
Indicates actors type has changed, triggers recheck for if HP bar should be shown based on tattle sta...
Definition enums.h:3332
@ BTL_CAM_YADJ_TARGET
Definition enums.h:4904
@ ACTOR_BLUR_ENABLE
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_BEGIN_FIRST_STRIKE
Definition enums.h:2173
@ EVENT_END_FIRST_STRIKE
Definition enums.h:2171
@ EVENT_IMMUNE
Definition enums.h:2146
@ EVENT_FALL_TRIGGER
Definition enums.h:2134
@ 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_15
Definition enums.h:2137
@ EVENT_AIR_LIFT_FAILED
Definition enums.h:2152
@ EVENT_BEGIN_AIR_LIFT
Definition enums.h:2175
@ EVENT_DEATH
Definition enums.h:2153
@ 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_USE_ABSOLUTE_POSITION
Definition enums.h:3361
@ ACTOR_PART_FLAG_NO_TARGET
Cannot be targeted.
Definition enums.h:3360
@ ACTOR_PART_FLAG_INVISIBLE
Definition enums.h:3350
@ CAM_BATTLE
Definition enums.h:1801
@ DAMAGE_TYPE_POW
Definition enums.h:2861
@ DAMAGE_TYPE_MAGIC
Definition enums.h:2855
@ DAMAGE_TYPE_TRIGGER_LUCKY
Definition enums.h:2881
@ DAMAGE_TYPE_NO_CONTACT
Definition enums.h:2878
#define ApiStatus_DONE2
Definition evt.h:118
s32 Bytecode
Definition evt.h:7
s32 evt_get_variable(Evt *script, Bytecode var)
Definition evt.c:1689
s32 evt_set_variable(Evt *script, Bytecode var, s32 value)
Definition evt.c:1846
ActorPart * get_actor_part(Actor *actor, s32 partID)
Definition 190B20.c:1191
Actor * get_actor(s32 actorID)
Definition actor_api.c:155
s32 lookup_defense(s32 *, s32)
Definition 190B20.c:2027
EvtScript EVS_Enemy_Hit
EvtScript EVS_Enemy_Death
EvtScript EVS_Enemy_SpinSmashHit
EvtScript EVS_Enemy_AirLift
EvtScript EVS_ForceNextTarget
EvtScript EVS_Enemy_BlowAway
EvtScript EVS_Enemy_Recover
EvtScript EVS_Enemy_BurnHit
EvtScript EVS_Enemy_NoDamageHit
ApiStatus RandInt(Evt *script, b32 isInitialCall)
ApiStatus ShakeCam(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 Mul(VAR, INT_VALUE)
Definition macros.h:378
#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 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 CaseGe(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:334
#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 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 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 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 LFlag0
Definition macros.h:167
#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 LVar9
Definition macros.h:157
#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
@ AVAR_DryBones_Collapsed
Definition battle.h:100
PlayerData gPlayerData
Definition 77480.c:40
#define LV_LowestHP
#define LV_LowestActor