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;
2948 actorID =
script->owner1.actorID;
2964 actorID =
script->owner1.actorID;
2977 actorID =
script->owner1.actorID;
3010 actorID =
script->owner1.actorID;
3113 actorID =
script->owner1.actorID;
3173 actorID =
script->owner1.actorID;
3186 enemyID =
script->owner1.enemyID;
3189 attackBoost = *args++;
3200 enemyID =
script->owner1.enemyID;
3203 defenseBoost = *args++;
3219 script->functionTemp[0] = 0;
3222 if (
script->functionTemp[0] == 0) {
3225 actorID =
script->owner1.actorID;
3229 script->functionTempPtr[1] = actor;
3230 script->functionTemp[2] = attackBoost;
3242 script->functionTemp[3] = 5;
3243 script->functionTemp[0] = 1;
3246 actor =
script->functionTempPtr[1];
3247 attackBoost =
script->functionTemp[2];
3260 flags2 = actor->
flags;
3271 switch (
script->functionTemp[0]) {
3273 if (
script->functionTemp[3] == 0) {
3276 script->functionTemp[3] = 30;
3277 script->functionTemp[0] = 2;
3279 script->functionTemp[3]--;
3284 if (
script->functionTemp[3] == 0) {
3294 script->functionTemp[3] = 15;
3295 script->functionTemp[0] = 3;
3297 script->functionTemp[3]--;
3302 if (
script->functionTemp[3] == 0) {
3304 script->functionTemp[0] = 4;
3306 script->functionTemp[3]--;
3313 script->functionTemp[3] = 10;
3314 script->functionTemp[0] = 5;
3318 if (
script->functionTemp[3] != 0) {
3319 script->functionTemp[3]--;
3342 script->functionTemp[0] = 0;
3345 if (
script->functionTemp[0] == 0) {
3348 actorID =
script->owner1.actorID;
3352 script->functionTempPtr[1] = actor;
3353 script->functionTemp[2] = defenseBoost;
3366 script->functionTemp[3] = 5;
3367 script->functionTemp[0] = 1;
3370 actor =
script->functionTempPtr[1];
3371 defenseBoost =
script->functionTemp[2];
3384 flags2 = actor->
flags;
3395 switch (
script->functionTemp[0]) {
3397 if (
script->functionTemp[3] == 0) {
3400 script->functionTemp[3] = 30;
3401 script->functionTemp[0] = 2;
3403 script->functionTemp[3]--;
3408 if (
script->functionTemp[3] == 0) {
3418 script->functionTemp[3] = 15;
3419 script->functionTemp[0] = 3;
3421 script->functionTemp[3]--;
3426 if (
script->functionTemp[3] == 0) {
3428 script->functionTemp[0] = 4;
3430 script->functionTemp[3]--;
3437 script->functionTemp[3] = 10;
3438 script->functionTemp[0] = 5;
3442 if (
script->functionTemp[3] != 0) {
3443 script->functionTemp[3]--;
3464 script->functionTemp[0] = 0;
3467 if (
script->functionTemp[0] == 0) {
3470 actorID =
script->owner1.actorID;
3474 script->functionTemp[1] = (s32) actor;
3488 script->functionTemp[3] = 5;
3489 script->functionTemp[0] = 1;
3492 actor =
script->functionTempPtr[1];
3506 switch (
script->functionTemp[0]) {
3508 if (
script->functionTemp[3] == 0) {
3511 script->functionTemp[3] = 30;
3512 script->functionTemp[0] = 2;
3514 script->functionTemp[3]--;
3519 if (
script->functionTemp[3] == 0) {
3524 script->functionTemp[3] = 15;
3525 script->functionTemp[0] = 3;
3527 script->functionTemp[3]--;
3532 if (
script->functionTemp[3] == 0) {
3534 script->functionTemp[0] = 4;
3536 script->functionTemp[3]--;
3543 script->functionTemp[3] = 10;
3544 script->functionTemp[0] = 5;
3548 if (
script->functionTemp[3] != 0) {
3549 script->functionTemp[3]--;
3570 script->functionTemp[0] = 0;
3573 if (
script->functionTemp[0] == 0) {
3576 actorID =
script->owner1.actorID;
3580 script->functionTempPtr[1] = actor;
3594 script->functionTemp[3] = 5;
3595 script->functionTemp[0] = 1;
3598 actor =
script->functionTempPtr[1];
3612 switch (
script->functionTemp[0]) {
3614 if (
script->functionTemp[3] == 0) {
3617 script->functionTemp[3] = 30;
3618 script->functionTemp[0] = 2;
3620 script->functionTemp[3]--;
3625 if (
script->functionTemp[3] == 0) {
3630 script->functionTemp[3] = 15;
3631 script->functionTemp[0] = 3;
3633 script->functionTemp[3]--;
3638 if (
script->functionTemp[3] == 0) {
3640 script->functionTemp[0] = 4;
3642 script->functionTemp[3]--;
3649 script->functionTemp[3] = 10;
3650 script->functionTemp[0] = 5;
3654 if (
script->functionTemp[3] != 0) {
3655 script->functionTemp[3]--;
3679 script->functionTemp[0] = 0;
3682 if (
script->functionTemp[0] == 0) {
3685 actorID =
script->owner1.enemyID;
3690 script->functionTempPtr[1] = actor;
3700 script->functionTemp[3] = 5;
3701 script->functionTemp[0] = 1;
3704 actor =
script->functionTempPtr[1];
3718 flags2 = actor->
flags;
3729 switch (
script->functionTemp[0]) {
3731 if (
script->functionTemp[3] == 0) {
3735 script->functionTemp[3] = 30;
3736 script->functionTemp[0] = 2;
3738 script->functionTemp[3]--;
3743 if (
script->functionTemp[3] == 0) {
3751 script->functionTemp[3] = 15;
3752 script->functionTemp[0] = 3;
3754 script->functionTemp[3]--;
3759 if (
script->functionTemp[3] == 0) {
3765 script->functionTemp[0] = 4;
3767 script->functionTemp[3]--;
3773 script->functionTemp[3] = 10;
3774 script->functionTemp[0] = 5;
3778 if (
script->functionTemp[3] != 0) {
3779 script->functionTemp[3]--;
3806 actorID =
script->owner1.enemyID;
3812 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[]