3#include "sprite/npc/BattleMuskular.h"
4#include "sprite/player.h"
6#define NAMESPACE battle_move_chill_out
12API_CALLABLE(N(InitHitCheck)) {
17API_CALLABLE(N(DidMoveHit)) {
22API_CALLABLE(N(SpawnChillOutFX)) {
27 fx_cold_breath(2, x, y, z, 2.0f, 20);
38API_CALLABLE(N(CanChillOutHit)) {
43 script->varTable[0] = FALSE;
65 script->varTable[0] = TRUE;
69API_CALLABLE(N(InflictChillOutHit)) {
110 fx_stat_change(5, x, y, z, 1.0f, 60);
118 Call(N(InitHitCheck))
119 ExecWait(N(EVS_StarPower_WishForSpirit))
121 ExecWait(N(EVS_StarPower_SpiritSummoned))
126 Call(InitTargetIterator)
132 Call(N(CanChillOutHit))
167 Call(N(SpawnChillOutFX))
177 Call(N(CanChillOutHit))
179 Call(N(InflictChillOutHit))
194 Call(PlayerYieldTurn)
195 ExecWait(N(EVS_StarPower_SpiritDeparts))
199 Call(WaitForMessageBoxDone)
@ BS_FLAGS1_FORCE_IMMUNE_HIT
@ BS_FLAGS1_TRIGGER_EVENTS
@ BTL_MSG_CHILL_OUT_BEGIN
@ ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED
Actor glows and listens for Star Beam and Peach Beam events.
@ ACTOR_EVENT_FLAG_ENCHANTED
Actor glows and listens for the Star Beam event.
@ SOUND_INFLICT_CHILL_OUT
@ ACTOR_FLAG_DAMAGE_IMMUNE
@ ACTOR_FLAG_UPSIDE_DOWN
HP bar offset below actor (e.g. Swooper when upside-down).
@ ACTOR_FLAG_TARGET_ONLY
Battle ends even if undefeated. No turn.
@ ACTOR_FLAG_NO_DMG_APPLY
Damage is not applied to actor HP.
ActorPart * get_actor_part(Actor *actor, s32 partID)
Actor * get_actor(s32 actorID)
s32 dispatch_damage_event_actor_0(Actor *actor, s32 damageAmount, s32 event)
void sfx_play_sound(s32 soundID)
ApiStatus PlaySound(Evt *script, b32 isInitialCall)
ApiStatus SetNpcAnimation(Evt *script, b32 isInitialCall)
#define Else
Marks the end of an if statement and the start of the else block.
#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 EndLoop
Marks the end of a loop.
#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 Thread
Marks the start of a thread block.
#define EndThread
Marks the end of a thread block.
#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 Loop(TIMES)
Marks the beginning of a loop.
#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.