9#include "sprite/npc/BattleSushie.h"
11#define NAMESPACE battle_partner_sushie
69 switch (
partner->actorBlueprint->level) {
120 script->functionTemp[0] = 0;
121 script->functionTemp[1] = 6;
124 xScale = partnerActor->
scale.
x;
125 yScale = partnerActor->
scale.
y;
127 partnerActor->
scale.
x = xScale + ((1.0 - xScale) / 3.0);
128 partnerActor->
scale.
y = yScale + ((1.0 - yScale) / 3.0);
129 partnerActor->scale.z =
zScale + ((1.0 -
zScale) / 3.0);
131 if (
script->functionTemp[1] != 0) {
132 script->functionTemp[1]--;
136 partnerActor->scale.x = 1.0f;
137 partnerActor->scale.y = 1.0f;
138 partnerActor->scale.z = 1.0f;
148 script->varTable[3] = posX;
149 script->varTable[4] = posY;
193 if (effect !=
NULL) {
208 script->functionTemp[0] = 0;
211 switch (
script->functionTemp[0]) {
216 state->
angle = 315.0f;
219 state->
speed = 32.0f;
220 script->functionTemp[1] = 0;
221 script->functionTemp[2] = 0;
226 script->functionTemp[0] = 1;
230 if (state->
curPos.
x < -160.0f) {
231 if (
script->functionTemp[1] != 0) {
232 script->functionTemp[0] = 2;
235 if (state->
angle >= 270.0f && state->
angle < 360.0f) {
239 if (state->
angle >= 180.0f && state->
angle < 270.0f) {
245 if (state->
curPos.
x > 160.0f) {
246 if (
script->functionTemp[1] != 0) {
247 script->functionTemp[0] = 2;
252 if (state->
angle >= 0.0f && state->
angle < 90.0f) {
255 }
else if (state->
angle >= 90.0f && state->
angle < 180.0f) {
261 if (
script->functionTemp[2] != 0) {
270 if (
script->functionTemp[1] != 0) {
271 script->functionTemp[0] = 2;
276 if (state->
angle >= 270.0f && state->
angle < 360.0f) {
279 }
else if (state->
angle >= 0.0f && state->
angle < 90.0f) {
285 if (
script->functionTemp[2] != 0) {
293 if (state->
curPos.
y > 130.0f) {
294 if (
script->functionTemp[1] != 0) {
295 script->functionTemp[0] = 2;
300 if (state->
angle >= 90.0f && state->
angle < 180.0f) {
303 }
else if (state->
angle >= 180.0f && state->
angle < 270.0f) {
309 if (
script->functionTemp[2] != 0) {
342 script->functionTemp[1] = 1;
347 switch (
script->functionTemp[0]) {
350 script->functionTemp[0] = 3;
383 partnerActor->
scale.
x = xScale + ((
var - xScale) / 3);
384 partnerActor->
scale.
y = yScale + ((
var - yScale) / 3);
435 .posOffset = { 0, 0, 0 },
436 .targetOffset = { 12, 17 },
441 .elementImmunityFlags = 0,
442 .projectileTargetOffset = { 0, 0 },
457 .hurricaneChance = 0,
459 .upAndAwayChance = 0,
461 .powerBounceChance = 80,
464 .healthBarOffset = { 0, 0 },
465 .statusIconOffset = { -10, 20 },
466 .statusTextOffset = { 10, 20 },
997 PlayEffect(
EFFECT_SQUIRT, 0,
LVar0,
LVar1,
LVar2,
LVar3,
LVar4,
LVar5,
LVarE, 10, 0)
1010 PlayEffect(
EFFECT_SQUIRT, 0,
LVar0,
LVar1,
LVar2,
LVar3,
LVar4,
LVar5,
LVarE, 10, 0)
BSS s32 PopupMenu_SelectedIndex
#define sfx_play_sound_at_position
@ FX_BUFF_DATA_WATER_BLOCK
EffectInstanceDataPtr data
struct WaterFountainFXData * waterFountain
@ FX_INSTANCE_FLAG_DISMISS
@ ACTION_COMMAND_THREE_CHANCES
@ ACTION_COMMAND_TIDAL_WAVE
@ BS_FLAGS1_TRIGGER_EVENTS
@ BS_FLAGS1_INCLUDE_POWER_UPS
@ BTL_MSG_WATER_BLOCK_BEGIN
@ BTL_MENU_TYPE_STAR_POWERS
@ STATUS_TURN_MOD_DEFAULT
@ STATUS_TURN_MOD_PARALYZE
@ HIT_RESULT_NICE_NO_DAMAGE
@ BTL_CAM_PARTNER_CLOSE_UP
@ BTL_CAM_PARTNER_MISTAKE
@ SUPPRESS_EVENT_EXPLODE_CONTACT
@ SUPPRESS_EVENT_FLAG_200
@ SUPPRESS_EVENT_SPIKY_FRONT
@ SUPPRESS_EVENT_BURN_CONTACT
@ SOUND_SUSHIE_BELLY_FLOP
@ SOUND_TIDAL_WAVE_LEAP_B
@ SOUND_CREATE_WATER_BLOCK
@ SOUND_TIDAL_WAVE_LEAP_A
@ DAMAGE_TYPE_MULTIPLE_POPUPS
ActorPart * get_actor_part(Actor *actor, s32 partID)
Actor * get_actor(s32 actorID)
void set_goal_pos_to_part(ActorState *state, s32 actorID, s32 partID)
f32 evt_get_float_variable(Evt *script, Bytecode var)
void add_vec2D_polar(f32 *x, f32 *y, f32 r, f32 theta)
EvtScript EVS_Partner_Hit
EvtScript EVS_Partner_Recover
EvtScript EVS_Partner_BurnContact
EvtScript EVS_Partner_Drop
EvtScript EVS_Partner_NoDamageHit
EvtScript EVS_Partner_ShockHit
EvtScript EVS_Partner_BurnHit
EvtScript EVS_RunAwayFail
EvtScript EVS_Partner_SpikeContact
EvtScript EVS_Partner_RunAway
#define Else
Marks the end of an if statement and the start of the else block.
#define Switch(LVAR)
Marks the start of a switch statement.
#define Ref(sym)
Address/pointer constant.
#define DivF(VAR, FLOAT_VALUE)
#define Set(VAR, INT_VALUE)
Sets the given variable to a given value casted to an integer.
#define AddF(VAR, FLOAT_VALUE)
#define CaseEq(RVAR)
Marks the start of a switch case that executes only if LVAR == RVAR. It also marks the end of any pre...
#define Sub(VAR, INT_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 EndCaseGroup
Marks the end of a switch case group (CaseOrEq and/or CaseAndEq), stopping fallthrough.
#define CaseGe(RVAR)
Marks the start of a switch case that executes only if LVAR >= RVAR. It also marks the end of any pre...
#define Goto(LABEL_ID)
Moves execution to the given label.
#define IfGt(LVAR, RVAR)
Marks the beginning of an if statement that only executes if LVAR <= RVAR.
#define Label(LABEL_ID)
Marks this point in the script as a Goto target.
#define CaseOrEq(RVAR)
Marks the start of a switch case that executes only if LVAR == RVAR.
#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 BreakLoop
Breaks out of the innermost loop.
#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 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.
struct Actor * partnerActor
@ ACV_THREE_CHANCES_WATER_BLOCK
BattleStatus gBattleStatus