3#include "sprite/npc/BattleKalmar.h"
6#include "sprite/player.h"
10#define NAMESPACE battle_move_up_and_away
14API_CALLABLE(N(DarkenBackground)) {
19 script->functionTemp[0] = 200;
23 script->functionTemp[0] += 2;
25 if (script->functionTemp[0] >= 254) {
33API_CALLABLE(N(RestoreBackground)) {
35 script->functionTemp[0] = 254;
39 script->functionTemp[0] -= 5;
41 if (script->functionTemp[0] <= 200) {
50API_CALLABLE(N(ShouldTargetBeCaptured)) {
53 script->varTable[0] = FALSE;
70 script->varTable[0] = TRUE;
77 ExecWait(N(EVS_StarPower_WishForSpirit))
79 ExecWait(N(EVS_StarPower_SpiritSummoned))
84 Call(N(DarkenBackground))
89 PlayEffect(EFFECT_SHIMMER_WAVE, 0, 0, 50, 0, 300, 100, 10, 40)
94 Call(InitTargetIterator)
97 Call(N(ShouldTargetBeCaptured))
108 Call(SetActorRotationOffset,
LVar0, 0, 10, 0)
175 Call(N(RestoreBackground))
176 ExecWait(N(EVS_StarPower_SpiritDeparts))
177 Call(PlayerYieldTurn)
struct ActorBlueprint * actorBlueprint
@ BS_FLAGS1_STAR_POINTS_DROPPED
@ BS_FLAGS1_FORCE_IMMUNE_HIT
@ BS_FLAGS1_TRIGGER_EVENTS
@ SOUND_UP_AND_AWAY_CAPTURE
@ SOUND_UP_AND_AWAY_SEND_AWAY
@ ACTOR_FLAG_DAMAGE_IMMUNE
@ ACTOR_FLAG_NO_SHADOW
Hide shadow.
@ ACTOR_FLAG_TARGET_ONLY
Battle ends even if undefeated. No turn.
@ ACTOR_FLAG_NO_DMG_APPLY
Damage is not applied to actor HP.
void mdl_set_all_tint_type(s32)
Actor * get_actor(s32 actorID)
void mdl_set_shroud_tint_params(u8 r, u8 g, u8 b, u8 a)
ApiStatus PlaySound(Evt *script, b32 isInitialCall)
ApiStatus SetMotionBlurParams(Evt *script, b32 isInitialCall)
ApiStatus CreateVirtualEntity(Evt *script, b32 isInitialCall)
ApiStatus SetNpcAnimation(Evt *script, b32 isInitialCall)
ApiStatus SetVirtualEntityPosition(Evt *script, b32 isInitialCall)
ApiStatus SetVirtualEntityScale(Evt *script, b32 isInitialCall)
ApiStatus SetVirtualEntityRotation(Evt *script, b32 isInitialCall)
#define Switch(LVAR)
Marks the start of a switch statement.
#define Ref(sym)
Address/pointer constant.
#define Set(VAR, INT_VALUE)
Sets the given variable to a given value casted to an integer.
#define AddF(VAR, FLOAT_VALUE)
#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 Add(VAR, INT_VALUE)
#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 CaseDefault
Marks the start of a switch case that executes unconditionally. It also marks the end of any previous...
#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 SetF(VAR, FLOAT_VALUE)
Sets the given variable to a given value, but supports Floats.
#define Wait(NUM_FRAMES)
Blocks for the given number of frames.
#define NPC_DISPOSE_LOCATION
#define SubF(VAR, FLOAT_VALUE)
#define PlayEffect(args...)
#define EndSwitch
Marks the end of a switch statement and any case.
#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 CaseGt(RVAR)
Marks the start of a switch case that executes only if LVAR <= RVAR. It also marks the end of any pre...
#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.
EntityModelScript EMS_StarIcon
u8 * gBackgroundTintModePtr