3#include "sprite/npc/BattleMamar.h"
4#include "sprite/player.h"
6#define NAMESPACE battle_move_lullaby
10API_CALLABLE(N(SpawnMusicNotesFX)) {
14 script->functionTemp[0] = 0;
17 switch (script->functionTemp[0]) {
19 script->functionTemp[2] = -80;
20 script->functionTemp[1] = 0;
21 script->functionTemp[0] = 1;
23 x = script->functionTemp[2];
25 fx_music_note(0, x, y, 50.0f);
27 script->functionTemp[2] += 14;
28 script->functionTemp[1] += 20;
30 if (script->functionTemp[1] >= 360) {
38 ExecWait(N(EVS_StarPower_WishForSpirit))
40 ExecWait(N(EVS_StarPower_SpiritSummoned))
46 Call(N(SpawnMusicNotesFX))
48 Call(InitTargetIterator)
64 ExecWait(N(EVS_StarPower_SpiritDeparts))
@ BS_FLAGS1_TRIGGER_EVENTS
@ DAMAGE_TYPE_STATUS_ALWAYS_HITS
@ DAMAGE_TYPE_MULTIPLE_POPUPS
ApiStatus PlaySound(Evt *script, b32 isInitialCall)
ApiStatus SetNpcAnimation(Evt *script, b32 isInitialCall)
#define IfNe(LVAR, RVAR)
Marks the beginning of an if statement that only executes if LVAR != RVAR.
#define End
Signals the end of EVT script data. A script missing this will likely crash on load.
#define Goto(LABEL_ID)
Moves execution to the given label.
#define Label(LABEL_ID)
Marks this point in the script as a Goto target.
#define EndIf
Marks the end of an if statement or an else block.
#define ExecWait(EVT_SOURCE)
Launches a new child thread.
#define DMG_STATUS_KEY(typeFlag, duration, chance)
#define Wait(NUM_FRAMES)
Blocks for the given number of frames.
#define IfEq(LVAR, RVAR)
Marks the beginning of an if statement that only executes if LVAR == RVAR.
#define Call(FUNC, ARGS...)
Calls a given C EVT API function with any number of arguments.
#define SetConst(VAR, CONST)
Sets the given variable to a given value, skipping the evt_get_variable call.
#define Return
Kills the current EVT thread.