23 }
else if (y < 85.0f) {
25 }
else if (y < 100.0f) {
33 }
else if (x < 65.0f) {
35 }
else if (x < 105.0f) {
41 return col | (row << 2);
107 part->movement->goalPos.x =
part->absolutePos.x +
part->targetOffset.x;
113 part->movement->goalPos.z =
part->absolutePos.z;
411 actorID =
script->owner1.actorID;
414 walk = &actor->
state;
451 actorID =
script->owner1.actorID;
571 actorID =
script->owner1.actorID;
629 actorID =
script->owner1.actorID;
665 actorID =
script->owner1.actorID;
745 actorID =
script->owner1.actorID;
789 actorID =
script->owner1.actorID;
819 actorID =
script->owner1.actorID;
838 actorID =
script->owner1.actorID;
858 actorID =
script->owner1.actorID;
874 actorID =
script->owner1.actorID;
887 actorID =
script->owner1.actorID;
903 actorID =
script->owner1.actorID;
920 actorID =
script->owner1.actorID;
936 actorID =
script->owner1.actorID;
950 actorID =
script->owner1.actorID;
964 actorID =
script->owner1.actorID;
979 actorID =
script->owner1.actorID;
994 actorID =
script->owner1.actorID;
1011 actorID =
script->owner1.actorID;
1035 animJumpRise = *args++;
1036 animJumpFall = *args++;
1037 animJumpLand = *args++;
1101 actorID =
script->owner1.actorID;
1136 actorID =
script->owner1.actorID;
1167 actorID =
script->owner1.actorID;
1212 actorID =
script->owner1.actorID;
1230 actorID =
script->owner1.actorID;
1249 actorID =
script->owner1.actorID;
1256 state->varTable[index] +=
val;
1269 actorID =
script->owner1.actorID;
1289 actorID =
script->owner1.actorID;
1309 actorID =
script->owner1.actorID;
1406 actorID =
script->owner1.actorID;
1430 actorID =
script->owner1.actorID;
1454 actorID =
script->owner1.actorID;
1547 actorID =
script->owner1.actorID;
1571 actorID =
script->owner1.actorID;
1631 actorID =
script->owner1.actorID;
1670 actorID =
script->owner1.actorID;
1687 actorID =
script->owner1.actorID;
1707 actorID =
script->owner1.actorID;
1732 actorID =
script->owner1.actorID;
1752 actorID =
script->owner1.actorID;
1777 actorID =
script->owner1.actorID;
1795 actorID =
script->owner1.actorID;
1813 actorID =
script->owner1.actorID;
1834 actorID =
script->owner1.actorID;
1862 actorID =
script->owner1.actorID;
1882 actorID =
script->owner1.actorID;
1903 actorID =
script->owner1.actorID;
1973 actorID =
script->owner1.actorID;
2046 script->functionTemp[0] = 0;
2049 switch (
script->functionTemp[0]) {
2053 script->functionTemp[0] = 1;
2070 if (
script->functionTemp[2]) {
2103 if (
script->functionTemp[2] == 0) {
2133 script->owner1.actorID = actorID;
2144 actorID =
script->owner1.actorID;
2165 actorID =
script->owner1.actorID;
2184 actorID =
script->owner1.actorID;
2204 s32 enabled = *args++;
2327 actorID =
script->owner1.actorID;
2412 curIdx = length - 1;
2416 if (curIdx >= length) {
2448 i =
script->owner1.actorID;
2460 }
else if (y < 85.0f) {
2462 }
else if (y < 100.0f) {
2470 }
else if (x < 65.0f) {
2472 }
else if (x < 105.0f) {
2533 s32 actorID = *args++;
2534 s32 partID = *args++;
2598 actorID =
script->owner1.actorID;
2616 actorID =
script->owner1.actorID;
2620 decorations =
actorPart->decorationTable;
2639 actorID =
script->owner1.actorID;
2666 actorID =
script->owner1.actorID;
2689 actorID =
script->owner1.actorID;
2709 actorID =
script->owner1.actorID;
2727 actorID =
script->owner1.enemyID;
2766 actorID =
script->owner1.actorID;
2813 actorID =
script->owner1.actorID;
2863 for (partsTable = actor->
partsTable; partsTable !=
nullptr; partsTable = partsTable->
nextPart) {
2920 actorID =
script->owner1.actorID;
2936 actorID =
script->owner1.actorID;
2949 actorID =
script->owner1.actorID;
2982 actorID =
script->owner1.actorID;
3085 actorID =
script->owner1.actorID;
3145 actorID =
script->owner1.actorID;
3158 enemyID =
script->owner1.enemyID;
3161 attackBoost = *args++;
3172 enemyID =
script->owner1.enemyID;
3175 defenseBoost = *args++;
3191 script->functionTemp[0] = 0;
3194 if (
script->functionTemp[0] == 0) {
3197 actorID =
script->owner1.actorID;
3201 script->functionTempPtr[1] = actor;
3202 script->functionTemp[2] = attackBoost;
3214 script->functionTemp[3] = 5;
3215 script->functionTemp[0] = 1;
3218 actor =
script->functionTempPtr[1];
3219 attackBoost =
script->functionTemp[2];
3232 flags2 = actor->
flags;
3243 switch (
script->functionTemp[0]) {
3245 if (
script->functionTemp[3] == 0) {
3248 script->functionTemp[3] = 30;
3249 script->functionTemp[0] = 2;
3251 script->functionTemp[3]--;
3256 if (
script->functionTemp[3] == 0) {
3266 script->functionTemp[3] = 15;
3267 script->functionTemp[0] = 3;
3269 script->functionTemp[3]--;
3274 if (
script->functionTemp[3] == 0) {
3276 script->functionTemp[0] = 4;
3278 script->functionTemp[3]--;
3285 script->functionTemp[3] = 10;
3286 script->functionTemp[0] = 5;
3290 if (
script->functionTemp[3] != 0) {
3291 script->functionTemp[3]--;
3314 script->functionTemp[0] = 0;
3317 if (
script->functionTemp[0] == 0) {
3320 actorID =
script->owner1.actorID;
3324 script->functionTempPtr[1] = actor;
3325 script->functionTemp[2] = defenseBoost;
3338 script->functionTemp[3] = 5;
3339 script->functionTemp[0] = 1;
3342 actor =
script->functionTempPtr[1];
3343 defenseBoost =
script->functionTemp[2];
3356 flags2 = actor->
flags;
3367 switch (
script->functionTemp[0]) {
3369 if (
script->functionTemp[3] == 0) {
3372 script->functionTemp[3] = 30;
3373 script->functionTemp[0] = 2;
3375 script->functionTemp[3]--;
3380 if (
script->functionTemp[3] == 0) {
3390 script->functionTemp[3] = 15;
3391 script->functionTemp[0] = 3;
3393 script->functionTemp[3]--;
3398 if (
script->functionTemp[3] == 0) {
3400 script->functionTemp[0] = 4;
3402 script->functionTemp[3]--;
3409 script->functionTemp[3] = 10;
3410 script->functionTemp[0] = 5;
3414 if (
script->functionTemp[3] != 0) {
3415 script->functionTemp[3]--;
3436 script->functionTemp[0] = 0;
3439 if (
script->functionTemp[0] == 0) {
3442 actorID =
script->owner1.actorID;
3460 script->functionTemp[3] = 5;
3461 script->functionTemp[0] = 1;
3464 actor =
script->functionTempPtr[1];
3478 switch (
script->functionTemp[0]) {
3480 if (
script->functionTemp[3] == 0) {
3483 script->functionTemp[3] = 30;
3484 script->functionTemp[0] = 2;
3486 script->functionTemp[3]--;
3491 if (
script->functionTemp[3] == 0) {
3496 script->functionTemp[3] = 15;
3497 script->functionTemp[0] = 3;
3499 script->functionTemp[3]--;
3504 if (
script->functionTemp[3] == 0) {
3506 script->functionTemp[0] = 4;
3508 script->functionTemp[3]--;
3515 script->functionTemp[3] = 10;
3516 script->functionTemp[0] = 5;
3520 if (
script->functionTemp[3] != 0) {
3521 script->functionTemp[3]--;
3542 script->functionTemp[0] = 0;
3545 if (
script->functionTemp[0] == 0) {
3548 actorID =
script->owner1.actorID;
3552 script->functionTempPtr[1] = actor;
3566 script->functionTemp[3] = 5;
3567 script->functionTemp[0] = 1;
3570 actor =
script->functionTempPtr[1];
3584 switch (
script->functionTemp[0]) {
3586 if (
script->functionTemp[3] == 0) {
3589 script->functionTemp[3] = 30;
3590 script->functionTemp[0] = 2;
3592 script->functionTemp[3]--;
3597 if (
script->functionTemp[3] == 0) {
3602 script->functionTemp[3] = 15;
3603 script->functionTemp[0] = 3;
3605 script->functionTemp[3]--;
3610 if (
script->functionTemp[3] == 0) {
3612 script->functionTemp[0] = 4;
3614 script->functionTemp[3]--;
3621 script->functionTemp[3] = 10;
3622 script->functionTemp[0] = 5;
3626 if (
script->functionTemp[3] != 0) {
3627 script->functionTemp[3]--;
3651 script->functionTemp[0] = 0;
3654 if (
script->functionTemp[0] == 0) {
3657 actorID =
script->owner1.enemyID;
3662 script->functionTempPtr[1] = actor;
3672 script->functionTemp[3] = 5;
3673 script->functionTemp[0] = 1;
3676 actor =
script->functionTempPtr[1];
3690 flags2 = actor->
flags;
3701 switch (
script->functionTemp[0]) {
3703 if (
script->functionTemp[3] == 0) {
3707 script->functionTemp[3] = 30;
3708 script->functionTemp[0] = 2;
3710 script->functionTemp[3]--;
3715 if (
script->functionTemp[3] == 0) {
3723 script->functionTemp[3] = 15;
3724 script->functionTemp[0] = 3;
3726 script->functionTemp[3]--;
3731 if (
script->functionTemp[3] == 0) {
3737 script->functionTemp[0] = 4;
3739 script->functionTemp[3]--;
3745 script->functionTemp[3] = 10;
3746 script->functionTemp[0] = 5;
3750 if (
script->functionTemp[3] != 0) {
3751 script->functionTemp[3]--;
3778 actorID =
script->owner1.enemyID;
3784 actorID =
script->owner1.enemyID;
Actor * create_actor(Formation formation)
BSS s32 PopupMenu_SelectedIndex
void set_actor_home_position(s32 actorID, f32 x, f32 y, f32 z)
s32 count_targets(Actor *actor, s32 targetHomeIndex, s32 targetSelectionFlags)
void set_part_absolute_position(s32 actorID, s32 partID, f32 x, f32 y, f32 z)
void set_part_goal_to_actor_part(ActorPartMovement *movement, s32 actorID, s32 partID)
void set_actor_current_position(s32 actorID, f32 x, f32 y, f32 z)
Actor * get_actor(s32 actorID)
void set_goal_pos_to_part(ActorState *state, s32 actorID, s32 partID)
s32 get_nearest_home_index(f32 x, f32 y, f32 z)
BattleArea gBattleAreas[]
When updating this, make sure you also update:
struct ActorPartMovement * movement
struct ActorBlueprint * actorBlueprint
struct Evt * handleEventScript
struct ActorPart * partsTable
struct SelectableTarget targetData[24]
struct ActorPart * nextPart
@ ACTOR_SOUND_WALK_INCREMENT
@ ACTOR_SOUND_FLY_INCREMENT
@ BTL_MSG_ENEMY_TRANSPARENT
@ ACTOR_EVENT_FLAG_ILLUSORY
Player attacks pass through and miss.
@ STATUS_FLAG_ATTACK_BOOST
@ STATUS_FLAG_DEFENSE_BOOST
@ STATUS_FLAG_TRANSPARENT
@ RENDER_MODE_SURFACE_XLU_LAYER3
@ ACTOR_FLAG_UPSIDE_DOWN
HP bar offset below actor (e.g. Swooper when upside-down).
@ ACTOR_FLAG_USING_IDLE_ANIM
@ ACTOR_PART_FLAG_HAS_PAL_EFFECT
@ ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION
@ ACTOR_PART_FLAG_TRANSPARENT
void btl_show_variable_battle_message(s32, s32, s32)
s32 evt_get_variable(Evt *script, Bytecode var)
s32 player_team_is_ability_active(Actor *actor, s32 ability)
void show_recovery_shimmer(f32 x, f32 y, f32 z, s32 arg3)
void reset_all_actor_sounds(Actor *)
void remove_player_buffs(s32)
void btl_cam_use_preset_immediately(s32)
void hide_actor_health_bar(Actor *)
void btl_cam_set_zoom(s16)
f32 evt_set_float_variable(Evt *script, Bytecode var, f32 value)
void dispatch_event_actor(Actor *, s32)
void clear_actor_static_pal_adjustments(Actor *)
void add_part_decoration(ActorPart *part, s32 decorationIndex, s32 decorationType)
u32 dma_copy(Addr romStart, Addr romEnd, void *vramDest)
s32 evt_set_variable(Evt *script, Bytecode var, s32 value)
void load_tattle_flags(s32)
void set_part_glow_pal(ActorPart *, s32)
f32 dist2D(f32 ax, f32 ay, f32 bx, f32 by)
void btl_cam_disable_clamp_x(void)
void create_home_target_list(Actor *actor)
void btl_cam_use_preset(s32)
void btl_cam_target_actor(s32)
s32 inflict_status(Actor *, s32, s32)
void btl_cam_set_zoffset(s16)
ActorPart * get_actor_part(Actor *actor, s32 partID)
void show_start_recovery_shimmer(f32 x, f32 y, f32 z, s32 arg3)
void set_actor_anim(s32 actorID, s32 partID, AnimID animID)
void set_actor_anim_rate(s32 actorID, s32 partID, f32 rate)
void set_part_yaw(s32 actorID, s32 partID, s32 value)
void set_actor_yaw(s32 actorID, s32 yaw)
void remove_part_shadow(s32 actorID, s32 partID)
s32 does_script_exist(s32 id)
f32 evt_get_float_variable(Evt *script, Bytecode var)
void set_part_pal_adjustment(ActorPart *, s32)
void btl_set_state(s32 battleState)
s32 btl_is_popup_displayed(void)
void apply_shock_effect(Actor *)
void create_current_pos_target_list(Actor *actor)
s32 is_actor_health_bar_visible(Actor *)
void remove_part_decoration(ActorPart *part, s32 decorationIndex)
void create_part_shadow(s32 actorID, s32 partID)
#define ACTOR_API_SKIP_ARG
s16 delay[2]
Number of frames to wait between walk/fly sounds. Negative values are in distance.
EXTERN_C ActorSounds bActorSoundTable[]
struct Actor * partnerActor
struct Actor * playerActor
s32 enabledStarPowersFlags
BattleStatus gBattleStatus
Vec3s StandardActorHomePositions[]