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;
839 actorID =
script->owner1.actorID;
876 actorID =
script->owner1.actorID;
889 actorID =
script->owner1.actorID;
905 actorID =
script->owner1.actorID;
922 actorID =
script->owner1.actorID;
938 actorID =
script->owner1.actorID;
952 actorID =
script->owner1.actorID;
966 actorID =
script->owner1.actorID;
981 actorID =
script->owner1.actorID;
996 actorID =
script->owner1.actorID;
1013 actorID =
script->owner1.actorID;
1037 animJumpRise = *args++;
1038 animJumpFall = *args++;
1039 animJumpLand = *args++;
1103 actorID =
script->owner1.actorID;
1138 actorID =
script->owner1.actorID;
1169 actorID =
script->owner1.actorID;
1214 actorID =
script->owner1.actorID;
1232 actorID =
script->owner1.actorID;
1251 actorID =
script->owner1.actorID;
1258 state->varTable[index] +=
val;
1271 actorID =
script->owner1.actorID;
1291 actorID =
script->owner1.actorID;
1311 actorID =
script->owner1.actorID;
1408 actorID =
script->owner1.actorID;
1432 actorID =
script->owner1.actorID;
1456 actorID =
script->owner1.actorID;
1549 actorID =
script->owner1.actorID;
1573 actorID =
script->owner1.actorID;
1633 actorID =
script->owner1.actorID;
1672 actorID =
script->owner1.actorID;
1689 actorID =
script->owner1.actorID;
1709 actorID =
script->owner1.actorID;
1735 actorID =
script->owner1.actorID;
1755 actorID =
script->owner1.actorID;
1781 actorID =
script->owner1.actorID;
1800 actorID =
script->owner1.actorID;
1819 actorID =
script->owner1.actorID;
1840 actorID =
script->owner1.actorID;
1868 actorID =
script->owner1.actorID;
1889 actorID =
script->owner1.actorID;
1910 actorID =
script->owner1.actorID;
1980 actorID =
script->owner1.actorID;
2053 script->functionTemp[0] = 0;
2056 switch (
script->functionTemp[0]) {
2060 script->functionTemp[0] = 1;
2077 if (
script->functionTemp[2]) {
2110 if (
script->functionTemp[2] == 0) {
2140 script->owner1.actorID = actorID;
2151 actorID =
script->owner1.actorID;
2172 actorID =
script->owner1.actorID;
2191 actorID =
script->owner1.actorID;
2211 s32 enabled = *args++;
2334 actorID =
script->owner1.actorID;
2420 curIdx = length - 1;
2424 if (curIdx >= length) {
2456 i =
script->owner1.actorID;
2468 }
else if (y < 85.0f) {
2470 }
else if (y < 100.0f) {
2478 }
else if (x < 65.0f) {
2480 }
else if (x < 105.0f) {
2541 s32 actorID = *args++;
2542 s32 partID = *args++;
2606 actorID =
script->owner1.actorID;
2624 actorID =
script->owner1.actorID;
2628 decorations =
actorPart->decorationTable;
2647 actorID =
script->owner1.actorID;
2674 actorID =
script->owner1.actorID;
2697 actorID =
script->owner1.actorID;
2717 actorID =
script->owner1.actorID;
2735 actorID =
script->owner1.enemyID;
2774 actorID =
script->owner1.actorID;
2825 actorID =
script->owner1.actorID;
2932 actorID =
script->owner1.actorID;
2948 actorID =
script->owner1.actorID;
2961 actorID =
script->owner1.actorID;
2994 actorID =
script->owner1.actorID;
3097 actorID =
script->owner1.actorID;
3157 actorID =
script->owner1.actorID;
3170 enemyID =
script->owner1.enemyID;
3173 attackBoost = *args++;
3184 enemyID =
script->owner1.enemyID;
3187 defenseBoost = *args++;
3203 script->functionTemp[0] = 0;
3206 if (
script->functionTemp[0] == 0) {
3209 actorID =
script->owner1.actorID;
3213 script->functionTempPtr[1] = actor;
3214 script->functionTemp[2] = attackBoost;
3226 script->functionTemp[3] = 5;
3227 script->functionTemp[0] = 1;
3230 actor =
script->functionTempPtr[1];
3231 attackBoost =
script->functionTemp[2];
3244 flags2 = actor->
flags;
3255 switch (
script->functionTemp[0]) {
3257 if (
script->functionTemp[3] == 0) {
3260 script->functionTemp[3] = 30;
3261 script->functionTemp[0] = 2;
3263 script->functionTemp[3]--;
3268 if (
script->functionTemp[3] == 0) {
3278 script->functionTemp[3] = 15;
3279 script->functionTemp[0] = 3;
3281 script->functionTemp[3]--;
3286 if (
script->functionTemp[3] == 0) {
3288 script->functionTemp[0] = 4;
3290 script->functionTemp[3]--;
3297 script->functionTemp[3] = 10;
3298 script->functionTemp[0] = 5;
3302 if (
script->functionTemp[3] != 0) {
3303 script->functionTemp[3]--;
3326 script->functionTemp[0] = 0;
3329 if (
script->functionTemp[0] == 0) {
3332 actorID =
script->owner1.actorID;
3336 script->functionTempPtr[1] = actor;
3337 script->functionTemp[2] = defenseBoost;
3350 script->functionTemp[3] = 5;
3351 script->functionTemp[0] = 1;
3354 actor =
script->functionTempPtr[1];
3355 defenseBoost =
script->functionTemp[2];
3368 flags2 = actor->
flags;
3379 switch (
script->functionTemp[0]) {
3381 if (
script->functionTemp[3] == 0) {
3384 script->functionTemp[3] = 30;
3385 script->functionTemp[0] = 2;
3387 script->functionTemp[3]--;
3392 if (
script->functionTemp[3] == 0) {
3402 script->functionTemp[3] = 15;
3403 script->functionTemp[0] = 3;
3405 script->functionTemp[3]--;
3410 if (
script->functionTemp[3] == 0) {
3412 script->functionTemp[0] = 4;
3414 script->functionTemp[3]--;
3421 script->functionTemp[3] = 10;
3422 script->functionTemp[0] = 5;
3426 if (
script->functionTemp[3] != 0) {
3427 script->functionTemp[3]--;
3448 script->functionTemp[0] = 0;
3451 if (
script->functionTemp[0] == 0) {
3454 actorID =
script->owner1.actorID;
3472 script->functionTemp[3] = 5;
3473 script->functionTemp[0] = 1;
3476 actor =
script->functionTempPtr[1];
3490 switch (
script->functionTemp[0]) {
3492 if (
script->functionTemp[3] == 0) {
3495 script->functionTemp[3] = 30;
3496 script->functionTemp[0] = 2;
3498 script->functionTemp[3]--;
3503 if (
script->functionTemp[3] == 0) {
3508 script->functionTemp[3] = 15;
3509 script->functionTemp[0] = 3;
3511 script->functionTemp[3]--;
3516 if (
script->functionTemp[3] == 0) {
3518 script->functionTemp[0] = 4;
3520 script->functionTemp[3]--;
3527 script->functionTemp[3] = 10;
3528 script->functionTemp[0] = 5;
3532 if (
script->functionTemp[3] != 0) {
3533 script->functionTemp[3]--;
3554 script->functionTemp[0] = 0;
3557 if (
script->functionTemp[0] == 0) {
3560 actorID =
script->owner1.actorID;
3564 script->functionTempPtr[1] = actor;
3578 script->functionTemp[3] = 5;
3579 script->functionTemp[0] = 1;
3582 actor =
script->functionTempPtr[1];
3596 switch (
script->functionTemp[0]) {
3598 if (
script->functionTemp[3] == 0) {
3601 script->functionTemp[3] = 30;
3602 script->functionTemp[0] = 2;
3604 script->functionTemp[3]--;
3609 if (
script->functionTemp[3] == 0) {
3614 script->functionTemp[3] = 15;
3615 script->functionTemp[0] = 3;
3617 script->functionTemp[3]--;
3622 if (
script->functionTemp[3] == 0) {
3624 script->functionTemp[0] = 4;
3626 script->functionTemp[3]--;
3633 script->functionTemp[3] = 10;
3634 script->functionTemp[0] = 5;
3638 if (
script->functionTemp[3] != 0) {
3639 script->functionTemp[3]--;
3663 script->functionTemp[0] = 0;
3666 if (
script->functionTemp[0] == 0) {
3669 actorID =
script->owner1.enemyID;
3674 script->functionTempPtr[1] = actor;
3684 script->functionTemp[3] = 5;
3685 script->functionTemp[0] = 1;
3688 actor =
script->functionTempPtr[1];
3702 flags2 = actor->
flags;
3713 switch (
script->functionTemp[0]) {
3715 if (
script->functionTemp[3] == 0) {
3719 script->functionTemp[3] = 30;
3720 script->functionTemp[0] = 2;
3722 script->functionTemp[3]--;
3727 if (
script->functionTemp[3] == 0) {
3735 script->functionTemp[3] = 15;
3736 script->functionTemp[0] = 3;
3738 script->functionTemp[3]--;
3743 if (
script->functionTemp[3] == 0) {
3749 script->functionTemp[0] = 4;
3751 script->functionTemp[3]--;
3757 script->functionTemp[3] = 10;
3758 script->functionTemp[0] = 5;
3762 if (
script->functionTemp[3] != 0) {
3763 script->functionTemp[3]--;
3790 actorID =
script->owner1.enemyID;
3796 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[]