4#define NAMESPACE A(kkj_02)
8s32 N(RandomBoltPositions)[][7] = {
9 { -22, 190, -91, -88, 21, -91, 60 },
10 { -1, 190, -91, 88, 24, -91, 10 },
11 { -67, 190, -91, -122, 10, -91, 90 },
12 { 57, 190, -91, -4, 17, -91, 60 },
17 UseBuf(N(RandomBoltPositions))
21 PlayEffect(EFFECT_LIGHTNING_BOLT, 0,
LVar0,
LVar1,
LVar2,
LVar3,
LVar4,
LVar5, 1, 8, 0)
22 Call(N(SetLightningBoltPurple))
31s32 N(CirculatingBoltPositions)[][7] = {
32 { -121, 33, -104, -24, 41, -104, 5 },
33 { 36, 41, -104, 128, 34, -104, 30 },
34 { 146, 1, 113, 38, -15, 121, 5 },
35 { -66, -10, 115, -155, 1, 97, 90 },
40 UseBuf(N(CirculatingBoltPositions))
44 PlayEffect(EFFECT_LIGHTNING_BOLT, 0,
LVar0,
LVar1,
LVar2,
LVar3,
LVar4,
LVar5, 1, 5, 0)
45 Call(N(SetLightningBoltPurple))
56 Exec(N(EVS_RandomBolts))
57 Exec(N(EVS_CirculatingBolts))
69 .shape =
"kkj_bt02_shape",
70 .hit =
"kkj_bt02_hit",
72 .preBattle = &N(EVS_PreBattle),
73 .postBattle = &N(EVS_PostBattle),
ApiStatus SetSpriteShading(Evt *script, b32 isInitialCall)
#define End
Signals the end of EVT script data. A script missing this will likely crash on load.
#define UseBuf(INT_PTR)
Loads a s32 pointer for use with subsequent EVT_BUF_READ commands.
#define EndLoop
Marks the end of a loop.
#define Goto(LABEL_ID)
Moves execution to the given label.
#define BufRead1(VAR)
Consumes the next s32 from the buffer and stores it in the given variable.
#define BufRead3(VAR1, VAR2, VAR3)
Consumes the next three s32s from the buffer and stores them in the given variables.
#define Label(LABEL_ID)
Marks this point in the script as a Goto target.
#define Wait(NUM_FRAMES)
Blocks for the given number of frames.
#define PlayEffect(args...)
#define Call(FUNC, ARGS...)
Calls a given C EVT API function with any number of arguments.
#define Loop(TIMES)
Marks the beginning of a loop.
#define Exec(EVT_SOURCE)
Launches a new thread.
#define Return
Kills the current EVT thread.