Paper Mario DX
Paper Mario (N64) modding
 
Loading...
Searching...
No Matches
spear_guy.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/ShyGuy.h"
6#include "sprite/npc/SpearGuy.h"
7
8#define NAMESPACE A(spear_guy)
9
10extern s32 N(ShyGuyAnims)[];
11
12extern EvtScript N(EVS_Init);
13extern EvtScript N(EVS_Idle);
14extern EvtScript N(EVS_TakeTurn);
19
24
25enum N(ActorPartIDs) {
26 PRT_SHY_GUY = 1,
27 PRT_SPEAR_GUY = 2,
28 PRT_SPEAR = 3,
30};
31
32enum N(ActorVars) {
33 AVAR_State = 0,
38};
39
40enum N(ActorParams) {
41 DMG_STAB = 3,
42 DMG_THROW = 3,
43 DMG_TACKLE = 2,
44 DMG_VAULT = 3,
45};
46
47s32 N(SpearForwardAnims)[] = {
58};
59
60s32 N(SpearUpwardAnims)[] = {
71};
72
73s32 N(SpearAnims)[] = {
76};
77
78s32 N(GrassSkirtAnims)[] = {
81};
82
83s32 N(SpearGuyDefense)[] = {
85 ELEMENT_FIRE, 0,
87};
88
89s32 N(ShyGuyDefense)[] = {
93};
94
95s32 N(SpearGuyStatusTable)[] = {
102 STATUS_KEY_FEAR, 100,
106 STATUS_KEY_STOP, 80,
118};
119
120s32 N(ShyGuyStatusTable)[] = {
127 STATUS_KEY_FEAR, 100,
131 STATUS_KEY_STOP, 90,
143};
144
146 {
148 .index = PRT_SPEAR_GUY,
149 .posOffset = { 0, 0, 0 },
150 .targetOffset = { 0, 22 },
151 .opacity = 255,
152 .idleAnimations = N(SpearForwardAnims),
153 .defenseTable = N(SpearGuyDefense),
154 .eventFlags = ACTOR_EVENT_FLAG_SPIKY_FRONT,
155 .elementImmunityFlags = 0,
156 .projectileTargetOffset = { -3, -8 },
157 },
158 {
160 .index = PRT_SHY_GUY,
161 .posOffset = { 0, 0, 0 },
162 .targetOffset = { 0, 24 },
163 .opacity = 255,
164 .idleAnimations = N(ShyGuyAnims),
165 .defenseTable = N(ShyGuyDefense),
166 .eventFlags = ACTOR_EVENT_FLAGS_NONE,
167 .elementImmunityFlags = 0,
168 .projectileTargetOffset = { -1, -10 },
169 },
170 {
172 .index = PRT_SPEAR,
173 .posOffset = { 0, 0, 0 },
174 .targetOffset = { 0, 0 },
175 .opacity = 255,
176 .idleAnimations = N(SpearAnims),
177 .defenseTable = N(ShyGuyDefense),
178 .eventFlags = ACTOR_EVENT_FLAGS_NONE,
179 .elementImmunityFlags = 0,
180 .projectileTargetOffset = { 0, 0 },
181 },
182 {
184 .index = PRT_GRASS_SKIRT,
185 .posOffset = { 0, 0, 0 },
186 .targetOffset = { 0, 0 },
187 .opacity = 255,
188 .idleAnimations = N(GrassSkirtAnims),
189 .defenseTable = N(ShyGuyDefense),
190 .eventFlags = ACTOR_EVENT_FLAGS_NONE,
191 .elementImmunityFlags = 0,
192 .projectileTargetOffset = { 0, 0 },
193 },
194};
195
196ActorBlueprint NAMESPACE = {
197 .flags = 0,
198 .type = ACTOR_TYPE_SPEAR_GUY,
199 .level = ACTOR_LEVEL_SPEAR_GUY,
200 .maxHP = 7,
201 .partCount = ARRAY_COUNT(N(ActorParts)),
202 .partsData = N(ActorParts),
203 .initScript = &N(EVS_Init),
204 .statusTable = N(SpearGuyStatusTable),
205 .escapeChance = 50,
206 .airLiftChance = 85,
207 .hurricaneChance = 80,
208 .spookChance = 70,
209 .upAndAwayChance = 95,
210 .spinSmashReq = 0,
211 .powerBounceChance = 85,
212 .coinReward = 2,
213 .size = { 24, 24 },
214 .healthBarOffset = { 0, 0 },
215 .statusIconOffset = { -10, 20 },
216 .statusTextOffset = { 10, 20 },
217};
218
222 // do nothing
232 Return
233 End
234};
235
236EvtScript N(EVS_Init) = {
261 Return
262 End
263};
264
268 Return
269 End
270};
271
277 Else
278 Set(LVar1, LVar2)
279 EndIf
280 EndIf
281 Return
282 End
283};
284
285EvtScript N(EVS_Idle) = {
286 Label(0)
295 Else
299 EndIf
305 Wait(1)
306 Goto(0)
307 Return
308 End
309};
310
323 Return
324 End
325};
326
348 Else
351 SetConst(LVar2, -1)
352 EndIf
353 Else
357 EndIf
371 Else
374 SetConst(LVar2, -1)
379 EndIf
380 Else
388 EndIf
389 Return
407 Return
427 Return
443 Wait(10)
449 Return
467 Return
476 Return
478 Wait(10)
486 Add(LVar0, -11)
487 Add(LVar1, 3)
488 Set(LFlag0, TRUE)
489 EndIf
491 Add(LVar0, -4)
492 Add(LVar1, 36)
493 Set(LFlag0, TRUE)
494 EndIf
496 Add(LVar0, -8)
497 Add(LVar1, 36)
498 Set(LFlag0, TRUE)
499 EndIf
501 Add(LVar0, -28)
502 Add(LVar1, 8)
503 EndIf
506 Add(LVar0, -4)
507 Add(LVar1, 15)
508 Set(LFlag0, TRUE)
509 EndIf
511 Add(LVar0, -4)
512 Add(LVar1, 36)
513 Set(LFlag0, TRUE)
514 EndIf
516 Add(LVar0, -8)
517 Add(LVar1, 36)
518 Set(LFlag0, TRUE)
519 EndIf
521 Add(LVar0, -10)
522 Add(LVar1, 38)
523 EndIf
526 Wait(20)
531 Return
532 End
533};
534
548 Add(LVar0, 10)
549 Else
550 Add(LVar0, 25)
551 EndIf
552 Set(LVar1, 0)
553 Add(LVar2, 1)
557 Wait(5)
559 Wait(15)
564 Set(LVarA, LVar0)
569 Sub(LVar0, 30)
574 EndIf
575 Sub(LVar0, 20)
578 Wait(15)
579 Wait(20)
588 Return
593 Wait(5)
594 Wait(2)
601 Wait(20)
607 Return
608 End
609};
610
617 Wait(15)
621 Thread
622 Wait(5)
624 Wait(15)
629 Sub(LVar0, 10)
634 Wait(25)
635 Thread
636 Wait(5)
638 Wait(15)
643 Add(LVar0, 20)
648 Wait(30)
651 Sub(LVar0, 10)
656 Add(LVar1, 15)
660 Wait(20)
664 Label(0)
677 EndIf
678 EndIf
679 EndIf
682 Goto(0)
683 EndIf
687 Label(1)
691 Set(LFlag0, TRUE)
692 EndIf
695 Goto(1)
696 EndIf
699 Else
701 EndIf
702 Set(LVarB, LVar0)
707 Add(LVar0, 220)
708 Call(SetActorPos, LVarB, LVar0, 0, 0)
710 Thread
712 Wait(15)
714 Wait(15)
716 Wait(15)
718 Wait(15)
725 Add(LVar1, 15)
728 Wait(20)
731 Else
733 EndIf
739 CaseEq(0)
741 CaseEq(1)
747 Return
748 End
749};
750
752
755};
756
758 ACTOR_BY_POS(NAMESPACE, N(SummonPos), 100, AVAL_State_SpearUpward),
759};
760
763 Wait(10)
767 Wait(5)
770 Sub(LVar0, 10)
771 Add(LVar1, 15)
772 Sub(LVar2, 1)
776 Add(LVar0, 50)
777 Sub(LVar2, 30)
778 Thread
779 Loop(15)
781 Wait(1)
783 Wait(1)
784 EndLoop
787 Thread
788 Loop(10)
791 Wait(3)
792 EndLoop
797 Wait(5)
808 Return
809 End
810};
811
819 Add(LVar0, 200)
825 Sub(LVar0, 100)
829 Sub(LVar0, 70)
837 Else
840 EndIf
845 Set(LVarA, LVar0)
847 Wait(5)
848 Thread
852 Sub(LVar0, 20)
855 Sub(LVar0, 10)
864 Thread
865 Call(MakeLerp, -30, 45, 20, EASING_LINEAR)
866 Label(0)
869 Wait(1)
870 IfEq(LVar1, 1)
871 Goto(0)
872 EndIf
878 Sub(LVar0, 20)
879 Set(LVar1, 10)
880 Add(LVar2, 2)
883 Wait(10)
887 EndIf
889 Wait(30)
891 Wait(10)
896 Return
900 Wait(5)
901 Thread
905 Sub(LVar0, 20)
908 Sub(LVar0, 10)
917 Thread
918 Call(MakeLerp, -30, 45, 20, EASING_LINEAR)
919 Label(0)
922 Wait(1)
923 IfEq(LVar1, 1)
924 Goto(0)
925 EndIf
931 Sub(LVar2, 2)
934 Wait(2)
937 Wait(3)
939 Wait(20)
948 Return
949 End
950};
951
955 Label(0)
958 Mod(LVar5, 4)
960 CaseEq(0)
961 Set(LFlag1, TRUE)
962 CaseEq(1)
963 Set(LFlag2, TRUE)
964 CaseEq(2)
965 Set(LFlag3, TRUE)
966 CaseEq(3)
967 Set(LFlag4, TRUE)
971 Goto(0)
972 EndIf
974 Set(LVarA, 0)
975 Return
976 EndIf
978 Set(LVarA, 1)
979 Return
980 EndIf
982 Set(LVarA, 2)
983 Return
984 EndIf
986 Set(LVarA, 3)
987 Return
988 EndIf
989 Set(LVarA, -1)
990 Return
991 End
992};
993
995 Set(LVar9, 0)
998 Label(0)
1001 Switch(LVar2)
1006 IfNe(LVar3, 2)
1007 Add(LVar9, 1)
1008 EndIf
1009 EndIf
1014 IfLt(LVar3, 2)
1015 Add(LVar9, 1)
1016 EndIf
1017 EndIf
1018 EndSwitch
1021 Goto(0)
1022 EndIf
1023 Return
1024 End
1025};
1026
1029 Set(LFlag0, FALSE)
1032 Label(0)
1035 IfLt(LVar1, LVarA)
1036 Set(LFlag0, TRUE)
1037 EndIf
1040 Goto(0)
1041 EndIf
1042 IfEq(LFlag0, TRUE)
1047 EndIf
1048 Else
1053 EndIf
1054 EndIf
1055 Return
1056 End
1057};
1058
1064 Return
1065 EndIf
1067 Switch(LVar0)
1068 CaseOrEq(0)
1069 CaseOrEq(1)
1071 IfEq(LVarA, -1)
1074 Return
1075 EndIf
1077 Switch(LVar9)
1078 CaseEq(1)
1079 Call(RandInt, 1000, LVar0)
1080 IfLt(LVar0, 300)
1082 Return
1083 EndIf
1084 CaseEq(2)
1085 Call(RandInt, 1000, LVar0)
1086 IfLt(LVar0, 150)
1088 Return
1089 EndIf
1090 CaseEq(3)
1091 Call(RandInt, 1000, LVar0)
1092 IfLt(LVar0, 100)
1094 Return
1095 EndIf
1096 EndSwitch
1100 CaseEq(2)
1103 IfEq(LVar0, 1)
1105 Return
1106 EndIf
1109 CaseEq(3)
1111 EndSwitch
1112 Return
1113 End
1114};
1115
1116s32 N(ShyGuyAnims)[] = {
1126 STATUS_END,
1127};
1128
1133 Return
1134 End
1135};
1136
1138
1140 Label(0)
1145 Call(N(SetAbsoluteStatusOffsets), -10, 13, 10, 13)
1146 Else
1149 Call(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20)
1150 EndIf
1151 Wait(1)
1152 Goto(0)
1153 Return
1154 End
1155};
1156
1163 Return
1164 End
1165};
1166
1170 Switch(LVar0)
1190 Return
1202 Return
1219 Return
1231 Wait(10)
1235 Return
1245 Return
1254 Return
1256 EndSwitch
1258 Return
1259 End
1260};
1261
1274 Add(LVar0, 50)
1275 Set(LVar1, 0)
1279 Switch(LVar0)
1282 Set(LVarA, LVar0)
1294 Sub(LVar0, 30)
1299 EndIf
1301 Sub(LVar0, 20)
1304 Wait(15)
1317 Return
1319 EndSwitch
1320 Thread
1321 Wait(3)
1323 EndThread
1330 Add(LVar0, 10)
1331 Set(LVar1, 0)
1335 Wait(2)
1342 Add(LVar0, 30)
1343 Set(LVar1, 0)
1348 Wait(8)
1353 Return
1354 End
1355};
1356
1367 Wait(20)
1372 Add(LVar0, 80)
1373 Set(LVar1, 0)
1380 Sub(LVar0, 40)
1384 Switch(LVar0)
1387 Set(LVarA, LVar0)
1390 Thread
1391 Wait(12)
1393 EndThread
1397 Sub(LVar0, 10)
1398 Set(LVar1, 0)
1403 EndIf
1408 Sub(LVar0, 30)
1411 Sub(LVar0, 20)
1414 Wait(15)
1428 Return
1430 EndSwitch
1433 Thread
1434 Wait(9)
1436 EndThread
1440 Wait(2)
1442 Switch(LVar0)
1447 Thread
1449 Set(LVar3, 0)
1450 Loop(20)
1451 Sub(LVar3, 30)
1452 IfLt(LVar3, 0)
1453 Add(LVar3, 360)
1454 EndIf
1456 Wait(1)
1457 EndLoop
1460 EndThread
1463 Goto(1)
1464 EndIf
1466 IfEq(LVar0, 0)
1467 Goto(1)
1468 EndIf
1470 Add(LVar0, 40)
1471 Set(LVar1, 0)
1478 Wait(10)
1480 Wait(15)
1481 Goto(2)
1482 Label(1)
1484 Add(LVar0, 40)
1485 Set(LVar1, 0)
1491 Wait(10)
1494 Call(RandInt, 100, LVar0)
1495 IfLt(LVar0, 50)
1497 Else
1499 EndIf
1500 Wait(25)
1503 Label(2)
1511 EndSwitch
1514 Return
1515 End
1516};
1517
1519 Call(RandInt, 1, LVar0)
1520 IfEq(LVar0, 0)
1522 Else
1524 EndIf
1525 Return
1526 End
1527};
BSS s32 PopupMenu_SelectedIndex
Bytecode EvtScript[]
#define STATUS_FLAGS_IMMOBILIZED
Definition enums.h:2834
@ BTL_CAM_XADJ_AVG
Definition enums.h:4899
@ 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:3574
@ BS_FLAGS1_ATK_BLOCKED
Definition enums.h:3599
@ BS_FLAGS1_INCLUDE_POWER_UPS
Definition enums.h:3570
@ ELEMENT_FIRE
Definition enums.h:2116
@ ELEMENT_END
Definition enums.h:2114
@ ELEMENT_SHOCK
Definition enums.h:2125
@ ELEMENT_NORMAL
Definition enums.h:2115
@ ITER_NO_MORE
Definition enums.h:2030
@ ITER_NEXT
Definition enums.h:2025
@ ACTOR_EVENT_FLAG_SPIKY_FRONT
Player takes spike damage from hammer attacks.
Definition enums.h:3384
@ ACTOR_EVENT_FLAGS_NONE
Definition enums.h:3370
@ 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
@ ENCOUNTER_TRIGGER_JUMP
Definition enums.h:269
@ ENCOUNTER_TRIGGER_HAMMER
Definition enums.h:271
@ ENCOUNTER_TRIGGER_PARTNER
Definition enums.h:273
@ 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_GROUND
Definition enums.h:1851
@ TARGET_FLAG_2
Definition enums.h:1850
@ SOUND_ID_TRIGGER_CHANGE_SOUND
Definition enums.h:532
@ EASING_LINEAR
Definition enums.h:510
@ IDLE_SCRIPT_ENABLE
Definition enums.h:6407
@ IDLE_SCRIPT_DISABLE
Definition enums.h:6406
@ STATUS_FLAG_FEAR
Definition enums.h:2815
@ STATUS_FLAG_SHRINK
Definition enums.h:2819
@ STATUS_FLAG_DIZZY
Definition enums.h:2818
@ STATUS_FLAG_SLEEP
Definition enums.h:2812
@ SOUND_SPEAR_GUY_DANCE_1
Definition enums.h:1084
@ SOUND_LRAW_CHEERING
Definition enums.h:1151
@ SOUND_NONE
Definition enums.h:547
@ SOUND_TIMING_BAR_GO
Definition enums.h:953
@ SOUND_RECOVER_HEART
Definition enums.h:1406
@ SOUND_ACTOR_HOP
Definition enums.h:1073
@ SOUND_ACTOR_COLLAPSE
Definition enums.h:1514
@ SOUND_SPEAR_GUY_DANCE_2
Definition enums.h:1085
@ SOUND_SPEAR_THROW
Definition enums.h:1097
@ SOUND_SPEAR_GUY_RIP_SKIRT
Definition enums.h:1086
@ SOUND_ACTOR_STEP_A
Definition enums.h:1474
@ SOUND_ACTOR_STEP_B
Definition enums.h:1250
@ SOUND_DISAPPOINTED
Definition enums.h:1482
@ SOUND_SPEAR_STAB
Definition enums.h:1096
@ ACTOR_PLAYER
Definition enums.h:2085
@ ACTOR_SELF
Definition enums.h:2084
@ 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
@ 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_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
@ ACTOR_PART_FLAG_NO_SHADOW
Definition enums.h:3352
@ 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_DAMAGE_IMMUNE
electrified Plays extra hurt SFX?
Definition enums.h:3358
@ ACTOR_PART_FLAG_INVISIBLE
Definition enums.h:3350
@ DAMAGE_TYPE_TRIGGER_LUCKY
Definition enums.h:2881
@ DAMAGE_TYPE_NO_CONTACT
Definition enums.h:2878
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 UpdateLerp(Evt *script, b32 isInitialCall)
ApiStatus RandInt(Evt *script, b32 isInitialCall)
ApiStatus MakeLerp(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 LFlag4
Definition macros.h:171
#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 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 LFlag1
Definition macros.h:168
#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 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 LFlag2
Definition macros.h:169
#define LVar9
Definition macros.h:157
#define NPC_DISPOSE_LOCATION
Definition macros.h:162
#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 LFlag3
Definition macros.h:170
#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
#define ACTOR_BY_POS(_name, _pos, _priority, args...)
Definition battle.h:230
@ AVAR_JungleFuzzy_Generation
Definition battle.h:102
FormationRow Formation[]
Definition battle.h:167