diff --git a/include/enums.h b/include/enums.h index 3ba5d28342..bbfd1a9812 100644 --- a/include/enums.h +++ b/include/enums.h @@ -860,19 +860,27 @@ enum SoundIDs { SOUND_2CA = 0x000002CA, SOUND_2CB = 0x000002CB, SOUND_SMOKE_BURST = 0x000002CD, + SOUND_2CE = 0x000002CE, SOUND_2D5 = 0x000002D5, SOUND_2D6 = 0x000002D6, SOUND_DAYZEE_SONG = 0x000002D7, SOUND_POWER_UP = 0x000002D8, SOUND_2DB = 0x000002DB, SOUND_2DC = 0x000002DC, + SOUND_2DD = 0x000002DD, SOUND_2DE = 0x000002DE, SOUND_2DF = 0x000002DF, SOUND_2E0 = 0x000002E0, + SOUND_2E5 = 0x000002E5, SOUND_2E7 = 0x000002E7, SOUND_2E8 = 0x000002E8, + SOUND_2E9 = 0x000002E9, SOUND_2EA = 0x000002EA, + SOUND_2EB = 0x000002EB, + SOUND_2ED = 0x000002ED, + SOUND_2EE = 0x000002EE, SOUND_2EF = 0x000002EF, + SOUND_2F0 = 0x000002F0, SOUND_2F1 = 0x000002F1, SOUND_2F3 = 0x000002F3, SOUND_2F4 = 0x000002F4, @@ -906,7 +914,11 @@ enum SoundIDs { SOUND_332 = 0x00000332, SOUND_333 = 0x00000333, SOUND_334 = 0x00000334, + SOUND_342 = 0x00000342, SOUND_343 = 0x00000343, + SOUND_344 = 0x00000344, + SOUND_345 = 0x00000345, + SOUND_346 = 0x00000346, SOUND_349 = 0x00000349, SOUND_34A = 0x0000034A, SOUND_34E = 0x0000034E, @@ -968,6 +980,14 @@ enum SoundIDs { SOUND_39F = 0x0000039F, SOUND_3A0 = 0x000003A0, SOUND_3A2 = 0x000003A2, + SOUND_3A3 = 0x000003A3, + SOUND_3A4 = 0x000003A4, + SOUND_3A5 = 0x000003A5, + SOUND_3A6 = 0x000003A6, + SOUND_3A7 = 0x000003A7, + SOUND_3A8 = 0x000003A8, + SOUND_3A9 = 0x000003A9, + SOUND_3AA = 0x000003AA, SOUND_3AB = 0x000003AB, SOUND_3AC = 0x000003AC, SOUND_3AD = 0x000003AD, @@ -982,6 +1002,8 @@ enum SoundIDs { SOUND_3C5 = 0x000003C5, SOUND_3C6 = 0x000003C6, SOUND_3CE = 0x000003CE, + SOUND_3CF = 0x000003CF, + SOUND_3D0 = 0x000003D0, SOUND_3D1 = 0x000003D1, SOUND_3D2 = 0x000003D2, SOUND_OPEN_SHELL = 0x000003D4, @@ -1049,6 +1071,7 @@ enum SoundIDs { SOUND_2019 = 0x00002019, SOUND_201B = 0x0000201B, SOUND_2020 = 0x00002020, + SOUND_2021 = 0x00002021, SOUND_202A = 0x0000202A, SOUND_202B = 0x0000202B, SOUND_202C = 0x0000202C, @@ -1154,6 +1177,7 @@ enum SoundIDs { SOUND_20B8 = 0x000020B8, SOUND_20BA = 0x000020BA, SOUND_20C1 = 0x000020C1, + SOUND_20C2 = 0x000020C2, SOUND_20C3 = 0x000020C3, SOUND_20C4 = 0x000020C4, SOUND_20C5 = 0x000020C5, @@ -1161,6 +1185,7 @@ enum SoundIDs { SOUND_20C8 = 0x000020C8, SOUND_20CD = 0x000020CD, SOUND_20D0 = 0x000020D0, + SOUND_20D3 = 0x000020D3, SOUND_SPELL_CAST1 = 0x000020D4, SOUND_SPELL_CAST2 = 0x000020D5, SOUND_SPELL_CAST3 = 0x000020D6, @@ -1174,6 +1199,7 @@ enum SoundIDs { SOUND_20E4 = 0x000020E4, SOUND_20E5 = 0x000020E5, SOUND_20E7 = 0x000020E7, + SOUND_20EA = 0x000020EA, SOUND_20EC = 0x000020EC, SOUND_20ED = 0x000020ED, SOUND_20EE = 0x000020EE, @@ -4222,7 +4248,7 @@ enum ColliderFlags { // SURFACE_TYPE_DEFAULT = 0, SURFACE_TYPE_HEDGES = 9, ///< used within hedge maze in flo_11 - SURFACE_TYPE_SNOW = 8, + SURFACE_TYPE_SNOW = 8, SURFACE_TYPE_CLOUD = 7, ///< used with clouds in flo_19 and flo_21 SURFACE_TYPE_FLOWERS = 6, SURFACE_TYPE_SLIDE = 5, diff --git a/include/script_api/battle.h b/include/script_api/battle.h index 241f75c643..591e89e276 100644 --- a/include/script_api/battle.h +++ b/include/script_api/battle.h @@ -315,6 +315,7 @@ ApiStatus ShowRecoveryShimmer(Evt* script, s32 isInitialCall); ApiStatus func_80273444(Evt* script, s32 isInitialCall); ApiStatus GetActionCommandMode(Evt* script, s32 isInitialCall); ApiStatus SetActionCommandMode(Evt* script, s32 isInitialCall); +ApiStatus SetCommandAutoSuccess(Evt* script, s32 isInitialCall); ApiStatus func_802693F0(Evt* script, s32 isInitialCall); ApiStatus WaitForState(Evt* script, s32 isInitialCall); ApiStatus func_8026E020(Evt* script, s32 isInitialCall); diff --git a/src/battle/area_dgb/actor/clubba.c b/src/battle/area_dgb/actor/clubba.c index 74138a5282..38d3d65899 100644 --- a/src/battle/area_dgb/actor/clubba.c +++ b/src/battle/area_dgb/actor/clubba.c @@ -1,288 +1,5 @@ #include "common.h" -#include "battle/battle.h" -#include "script_api/battle.h" -#include "sprite/npc/BattleClubba.h" #define NAMESPACE b_area_dgb_clubba -extern EvtScript N(init_80218150); -extern EvtScript N(takeTurn_802186BC); -extern EvtScript N(idle_8021819C); -extern EvtScript N(handleEvent_802181AC); - -s32 N(idleAnimations_80218000)[] = { - STATUS_NORMAL, ANIM_BattleClubba_Anim01, - STATUS_STONE, ANIM_BattleClubba_Anim00, - STATUS_SLEEP, ANIM_BattleClubba_Anim03, - STATUS_POISON, ANIM_BattleClubba_Anim01, - STATUS_STOP, ANIM_BattleClubba_Anim00, - STATUS_STATIC, ANIM_BattleClubba_Anim01, - STATUS_PARALYZE, ANIM_BattleClubba_Anim00, - STATUS_DIZZY, ANIM_BattleClubba_Anim05, - STATUS_FEAR, ANIM_BattleClubba_Anim05, - STATUS_END, -}; - -s32 N(defenseTable_8021804C)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_END, -}; - -s32 N(statusTable_80218058)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 90, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 100, - STATUS_STATIC, 50, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, - STATUS_END, -}; - -ActorPartBlueprint N(partsTable_80218104)[] = { - { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, - .posOffset = { 0, 0, 0 }, - .targetOffset = { -12, 32 }, - .opacity = 255, - .idleAnimations = N(idleAnimations_80218000), - .defenseTable = N(defenseTable_8021804C), - .eventFlags = ACTOR_EVENT_FLAG_0, - .elementImmunityFlags = 0, - .unk_1C = 8, - .unk_1D = 0xFD, - }, -}; - -ActorBlueprint NAMESPACE = { - .flags = 0, - .type = ACTOR_TYPE_CLUBBA, - .level = 13, - .maxHP = 8, - .partCount = ARRAY_COUNT(N(partsTable_80218104)), - .partsData = N(partsTable_80218104), - .script = &N(init_80218150), - .statusTable = N(statusTable_80218058), - .escapeChance = 60, - .airLiftChance = 60, - .spookChance = 70, - .baseStatusChance = 70, - .upAndAwayChance = 95, - .spinSmashReq = 0, - .powerBounceChance = 80, - .coinReward = 1, - .size = { 42, 42 }, - .hpBarOffset = { 0, 0 }, - .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 35 }, -}; - -EvtScript N(init_80218150) = { - EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_802186BC))) - EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_8021819C))) - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_802181AC))) - EVT_RETURN - EVT_END -}; - -EvtScript N(idle_8021819C) = { - EVT_RETURN - EVT_END -}; - -EvtScript N(handleEvent_802181AC) = { - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_OR_EQ(EVENT_HIT_COMBO) - EVT_CASE_OR_EQ(EVENT_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim04) - EVT_EXEC_WAIT(DoNormalHit) - EVT_END_CASE_GROUP - EVT_CASE_EQ(EVENT_BURN_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim06) - EVT_SET_CONST(LVar2, ANIM_BattleClubba_Anim07) - EVT_EXEC_WAIT(DoBurnHit) - EVT_CASE_EQ(EVENT_BURN_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim06) - EVT_SET_CONST(LVar2, ANIM_BattleClubba_Anim07) - EVT_EXEC_WAIT(DoBurnHit) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim07) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim04) - EVT_EXEC_WAIT(DoSpinSmashHit) - EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim04) - EVT_EXEC_WAIT(DoSpinSmashHit) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim04) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_EQ(EVENT_SHOCK_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim04) - EVT_EXEC_WAIT(DoShockHit) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim04) - EVT_EXEC_WAIT(DoJumpBack) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim02) - EVT_EXEC_WAIT(DoReturnHome) - EVT_CASE_EQ(EVENT_SHOCK_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim04) - EVT_EXEC_WAIT(DoShockHit) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim04) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER) - EVT_CASE_OR_EQ(EVENT_IMMUNE) - EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim01) - EVT_EXEC_WAIT(DoImmune) - EVT_END_CASE_GROUP - EVT_CASE_EQ(EVENT_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim04) - EVT_EXEC_WAIT(DoNormalHit) - EVT_WAIT(10) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim04) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_EQ(EVENT_RECOVER_STATUS) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim01) - EVT_EXEC_WAIT(DoRecover) - EVT_CASE_EQ(EVENT_SCARE_AWAY) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim02) - EVT_SET_CONST(LVar2, ANIM_BattleClubba_Anim04) - EVT_EXEC_WAIT(DoScareAway) - EVT_RETURN - EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim04) - EVT_EXEC_WAIT(DoAirLift) - EVT_CASE_EQ(EVENT_BLOW_AWAY) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim04) - EVT_EXEC_WAIT(DoBlowAway) - EVT_RETURN - EVT_CASE_DEFAULT - EVT_END_SWITCH - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END -}; - -EvtScript N(takeTurn_802186BC) = { - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) - EVT_CALL(BattleCamTargetActor, ACTOR_SELF) - EVT_CALL(func_8024ECF8, -1, 1, 0) - EVT_CALL(GetBattlePhase, LVar0) - EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 27) - EVT_SET(LVar1, 0) - EVT_SUB(LVar2, 6) - EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_WAIT(15) - EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleClubba_Anim02) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(AddGoalPos, ACTOR_SELF, 27, 0, -6) - EVT_ELSE - EVT_CALL(AddGoalPos, ACTOR_SELF, 10, 0, -6) - EVT_END_IF - EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleClubba_Anim01) - EVT_WAIT(10) - EVT_END_IF - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) - EVT_SWITCH(LVar0) - EVT_CASE_OR_EQ(HIT_RESULT_MISS) - EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) - EVT_SET(LVarA, LVar0) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x20C5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleClubba_Anim08) - EVT_WAIT(10) - EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) - EVT_WAIT(20) - EVT_END_IF - EVT_CALL(YieldTurn) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) - EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim02) - EVT_EXEC_WAIT(DoReturnHome) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END_CASE_GROUP - EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleClubba_Anim09) - EVT_WAIT(15) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x20C5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleClubba_Anim0A) - EVT_WAIT(2) - EVT_WAIT(2) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) - EVT_SWITCH(LVar0) - EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) - EVT_THREAD - EVT_CALL(ShakeCam, 1, 0, 10, EVT_FLOAT(1.5)) - EVT_END_THREAD - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) - EVT_WAIT(19) - EVT_CALL(YieldTurn) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim02) - EVT_EXEC_WAIT(DoReturnHome) - EVT_END_CASE_GROUP - EVT_END_SWITCH - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END -}; +#include "battle/common/actor/clubba.inc.c" diff --git a/src/battle/area_dig/6DDDC0.c b/src/battle/area_dig/6DDDC0.c deleted file mode 100644 index f73e59e44b..0000000000 --- a/src/battle/area_dig/6DDDC0.c +++ /dev/null @@ -1,5 +0,0 @@ -#include "common.h" - -#define NAMESPACE b_area_dig - -#include "common/UnkBattleFunc1.inc.c" diff --git a/src/battle/area_dig/6DDE90.c b/src/battle/area_dig/6DDE90.c deleted file mode 100644 index dca6ca07d3..0000000000 --- a/src/battle/area_dig/6DDE90.c +++ /dev/null @@ -1,5 +0,0 @@ -#include "common.h" - -#define NAMESPACE b_area_dig - -#include "common/UnkBattleFunc2.inc.c" diff --git a/src/battle/area_dig/6DE000.c b/src/battle/area_dig/6DE000.c deleted file mode 100644 index 07f1598bac..0000000000 --- a/src/battle/area_dig/6DE000.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "common.h" - -#define NAMESPACE b_area_dig - -#define NAMESPACE dup_b_area_dig -#include "common/UnkBattleFunc1.inc.c" -#define NAMESPACE b_area_dig diff --git a/src/battle/area_dig/6DE0D0.c b/src/battle/area_dig/6DE0D0.c deleted file mode 100644 index 649a6d2e5b..0000000000 --- a/src/battle/area_dig/6DE0D0.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "common.h" - -#define NAMESPACE b_area_dig - -#define NAMESPACE dup2_b_area_dig -#include "common/UnkBattleFunc1.inc.c" -#define NAMESPACE b_area_dig diff --git a/src/battle/area_dig/6DE1A0.c b/src/battle/area_dig/6DE1A0.c deleted file mode 100644 index f9e51cbec8..0000000000 --- a/src/battle/area_dig/6DE1A0.c +++ /dev/null @@ -1,5 +0,0 @@ -#include "common.h" - -#define NAMESPACE b_area_dig - -#include "common/IsSaveVar123.inc.c" diff --git a/src/battle/area_dig/6DE1F0.c b/src/battle/area_dig/6DE1F0.c deleted file mode 100644 index 880351fc5a..0000000000 --- a/src/battle/area_dig/6DE1F0.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "common.h" - -#define NAMESPACE b_area_dig - -#include "common/UnkFloatFunc3.inc.c" - -#include "common/GetModelPos.inc.c" diff --git a/src/battle/area_dig/6DE3A0.c b/src/battle/area_dig/6DE3A0.c deleted file mode 100644 index 52b197efef..0000000000 --- a/src/battle/area_dig/6DE3A0.c +++ /dev/null @@ -1,5 +0,0 @@ -#include "common.h" - -#define NAMESPACE b_area_dig - -#include "common/IsGameStatusUnkAA_1.inc.c" diff --git a/src/battle/area_dig/6DE4A0.c b/src/battle/area_dig/6DE4A0.c deleted file mode 100644 index bbd5d6d3b9..0000000000 --- a/src/battle/area_dig/6DE4A0.c +++ /dev/null @@ -1,67 +0,0 @@ -#include "common.h" - -#define NAMESPACE b_area_dig - -ApiStatus func_802186E0_6DE4A0(Evt* script, s32 isInitialCall) { - BattleStatus* battleStatus = &gBattleStatus; - Actor* player = battleStatus->playerActor; - SelectableTarget* selectableTarget; - - battleStatus->moveCategory = 0; - battleStatus->selectedMoveID = MOVE_POWER_BOUNCE; - battleStatus->selectedItemID = gCurrentEncounter.hitTier; - battleStatus->currentTargetListFlags = gMoveTable[MOVE_POWER_BOUNCE].flags; - - player_create_target_list(player); - player->selectedTargetIndex = 1; - selectableTarget = &player->targetData[player->targetIndexList[player->selectedTargetIndex]]; - player->targetActorID = selectableTarget->actorID; - player->targetPartIndex = selectableTarget->partID; - - return ApiStatus_DONE2; -} - -ApiStatus func_80218770_6DE530(Evt* script, s32 isInitialCall) { - BattleStatus* battleStatus = &gBattleStatus; - Actor* partner = battleStatus->partnerActor; - SelectableTarget* selectableTarget; - - battleStatus->moveCategory = 6; - do {} while (0); - battleStatus->selectedItemID = 0; - battleStatus->selectedMoveID = MOVE_SHELL_SHOT; - battleStatus->currentTargetListFlags = gMoveTable[MOVE_SHELL_SHOT].flags; - - player_create_target_list(partner); - partner->selectedTargetIndex = 0; - selectableTarget = &partner->targetData[partner->targetIndexList[partner->selectedTargetIndex]]; - partner->targetActorID = selectableTarget->actorID; - partner->targetPartIndex = selectableTarget->partID; - - return ApiStatus_DONE2; -} - -ApiStatus func_802187F0_6DE5B0(Evt* script, s32 isInitialCall) { - BattleStatus* battleStatus = &gBattleStatus; - PlayerData* playerData = &gPlayerData; - s32 selectedItemID; - Actor* player = battleStatus->playerActor; - SelectableTarget* selectableTarget; - - battleStatus->moveCategory = 2; - battleStatus->selectedItemID = ITEM_THUNDER_RAGE; - selectedItemID = battleStatus->selectedItemID; - battleStatus->selectedMoveID = 0; - battleStatus->currentAttackElement = 0; - playerData->invItems[0] = selectedItemID; - battleStatus->currentTargetListFlags = gItemTable[playerData->invItems[0]].targetFlags | 0x8000; - - player_create_target_list(player); - player->selectedTargetIndex = 0; - selectableTarget = &player->targetData[player->targetIndexList[player->selectedTargetIndex]]; - player->targetActorID = selectableTarget->actorID; - player->targetPartIndex = selectableTarget->partID; - - return ApiStatus_DONE2; -} - diff --git a/src/battle/area_dig/6DE650.c b/src/battle/area_dig/6DE650.c deleted file mode 100644 index 741dae2255..0000000000 --- a/src/battle/area_dig/6DE650.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "common.h" - -#define NAMESPACE b_area_dig - -#define NAMESPACE dup_b_area_dig -#include "common/Set80218630_Var0.inc.c" -#define NAMESPACE b_area_dig diff --git a/src/battle/area_dig/actor/bandit.c b/src/battle/area_dig/actor/bandit.c new file mode 100644 index 0000000000..357d5c296d --- /dev/null +++ b/src/battle/area_dig/actor/bandit.c @@ -0,0 +1,5 @@ +#include "common.h" + +#define NAMESPACE b_area_dig_bandit + +#include "battle/common/actor/bandit.inc.c" diff --git a/src/battle/area_dig/actor/fuzzy.c b/src/battle/area_dig/actor/fuzzy.c new file mode 100644 index 0000000000..8732f022b3 --- /dev/null +++ b/src/battle/area_dig/actor/fuzzy.c @@ -0,0 +1,5 @@ +#include "common.h" + +#define NAMESPACE b_area_dig_fuzzy + +#include "battle/common/actor/fuzzy.inc.c" diff --git a/src/battle/area_dig/actor/koopa_troopa.c b/src/battle/area_dig/actor/koopa_troopa.c new file mode 100644 index 0000000000..61596f34b0 --- /dev/null +++ b/src/battle/area_dig/actor/koopa_troopa.c @@ -0,0 +1,5 @@ +#include "common.h" + +#define NAMESPACE b_area_dig_koopa_troopa + +#include "battle/common/actor/koopa_troopa.inc.c" diff --git a/src/battle/area_dig/actor/monty_mole.c b/src/battle/area_dig/actor/monty_mole.c new file mode 100644 index 0000000000..99a5aec5b7 --- /dev/null +++ b/src/battle/area_dig/actor/monty_mole.c @@ -0,0 +1,5 @@ +#include "common.h" + +#define NAMESPACE b_area_dig_monty_mole + +#include "battle/common/actor/monty_mole.inc.c" diff --git a/src/battle/area_dig/actor/pokey.c b/src/battle/area_dig/actor/pokey.c new file mode 100644 index 0000000000..975d5be448 --- /dev/null +++ b/src/battle/area_dig/actor/pokey.c @@ -0,0 +1,5 @@ +#include "common.h" + +#define NAMESPACE b_area_dig_pokey + +#include "battle/common/actor/pokey.inc.c" diff --git a/src/battle/area_dig/actor/red_shy_guy.c b/src/battle/area_dig/actor/red_shy_guy.c new file mode 100644 index 0000000000..6ff1660b4c --- /dev/null +++ b/src/battle/area_dig/actor/red_shy_guy.c @@ -0,0 +1,5 @@ +#include "common.h" + +#define NAMESPACE b_area_dig_red_shy_guy + +#include "battle/common/actor/red_shy_guy.inc.c" diff --git a/src/battle/area_dig/actor/tubba_blubba.c b/src/battle/area_dig/actor/tubba_blubba.c new file mode 100644 index 0000000000..38ce5efc49 --- /dev/null +++ b/src/battle/area_dig/actor/tubba_blubba.c @@ -0,0 +1,483 @@ +#include "common.h" +#include "effects.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "sprite/npc/BattleTubba.h" + +#define NAMESPACE b_area_dig_tubba_blubba + +extern EvtScript N(init); +extern EvtScript N(takeTurn); +extern EvtScript N(handleEvent); +extern EvtScript N(nextTurn); +extern EvtScript N(idle); +extern EvtScript N(shakeCam); +extern EvtScript N(attackBodyCrush); + +s32 N(idleAnimations)[] = { + STATUS_NORMAL, ANIM_BattleTubba_Anim02, + STATUS_STONE, ANIM_BattleTubba_Anim00, + STATUS_SLEEP, ANIM_BattleTubba_Anim00, + STATUS_POISON, ANIM_BattleTubba_Anim02, + STATUS_STOP, ANIM_BattleTubba_Anim00, + STATUS_STATIC, ANIM_BattleTubba_Anim00, + STATUS_PARALYZE, ANIM_BattleTubba_Anim00, + STATUS_PARALYZE, ANIM_BattleTubba_Anim00, + STATUS_DIZZY, ANIM_BattleTubba_Anim00, + STATUS_DIZZY, ANIM_BattleTubba_Anim00, + STATUS_FEAR, ANIM_BattleTubba_Anim00, + STATUS_END, +}; + +s32 N(defenseTable)[] = { + ELEMENT_NORMAL, 0, + ELEMENT_END, +}; + +s32 N(statusTable)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 80, + STATUS_POISON, 0, + STATUS_FROZEN, 0, + STATUS_DIZZY, 80, + STATUS_FEAR, 0, + STATUS_STATIC, 0, + STATUS_PARALYZE, 80, + STATUS_SHRINK, 90, + STATUS_STOP, 80, + STATUS_DEFAULT_TURN_MOD, 0, + STATUS_SLEEP_TURN_MOD, 0, + STATUS_POISON_TURN_MOD, 0, + STATUS_FROZEN_TURN_MOD, 0, + STATUS_DIZZY_TURN_MOD, 0, + STATUS_FEAR_TURN_MOD, 0, + STATUS_STATIC_TURN_MOD, 0, + STATUS_PARALYZE_TURN_MOD, 0, + STATUS_SHRINK_TURN_MOD, 0, + STATUS_STOP_TURN_MOD, 0, + STATUS_END, +}; + +ActorPartBlueprint N(parts)[] = { + { + .flags = ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_MULTI_TARGET, + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { -15, 75 }, + .opacity = 255, + .idleAnimations = N(idleAnimations), + .defenseTable = N(defenseTable), + .eventFlags = 0, + .elementImmunityFlags = 0, + .unk_1C = 0, + .unk_1D = -10, + }, +}; + +ActorBlueprint NAMESPACE = { + .flags = 0, + .type = ACTOR_TYPE_TUBBA_BLUBBA_INVINCIBLE, + .level = 70, + .maxHP = 10, + .partCount = ARRAY_COUNT(N(parts)), + .partsData = N(parts), + .script = &N(init), + .statusTable = N(statusTable), + .escapeChance = 0, + .airLiftChance = 0, + .spookChance = 0, + .baseStatusChance = 0, + .upAndAwayChance = 0, + .spinSmashReq = 4, + .powerBounceChance = 75, + .coinReward = 0, + .size = { 110, 100 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -33, 78 }, + .statusMessageOffset = { 10, 75 }, +}; + +EvtScript N(init) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) + EVT_CALL(BindNextTurn, ACTOR_SELF, EVT_PTR(N(nextTurn))) + EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0) + EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) + EVT_EXEC_GET_TID(N(shakeCam), LVar0) + EVT_CALL(SetActorVar, ACTOR_SELF, 2, LVar0) + EVT_RETURN + EVT_END +}; + +EvtScript N(shakeCam) = { + EVT_LABEL(0) + EVT_WAIT(1) + EVT_CALL(ActorExists, ACTOR_SELF, LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_RETURN + EVT_END_IF + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_GOTO(0) + EVT_END_IF + EVT_CALL(GetAnimation, ACTOR_SELF, 1, LVar0) + EVT_IF_EQ(LVar0, ANIM_BattleTubba_Anim06) + EVT_GOTO(1) + EVT_END_IF + EVT_IF_EQ(LVar0, ANIM_BattleTubba_Anim07) + EVT_GOTO(1) + EVT_END_IF + EVT_GOTO(0) + EVT_LABEL(1) + EVT_CALL(ShakeCam, 1, 0, 2, EVT_FLOAT(0.5)) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(nextTurn) = { + EVT_RETURN + EVT_END +}; + +EvtScript N(idle) = { + EVT_RETURN + EVT_END +}; + +EvtScript N(handleEvent) = { + EVT_RETURN + EVT_END +}; + +EvtScript N(returnHome) = { + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim02) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim07) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim02) + EVT_CALL(SetActorYaw, ACTOR_SELF, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(takeTurn) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) + EVT_IF_EQ(LVar0, HIT_RESULT_MISS) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim07) + EVT_CALL(SetGoalPos, ACTOR_SELF, 0, 0, 0) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim01) + EVT_WAIT(30) + EVT_SET(LVar0, 0) + EVT_LOOP(12) + EVT_ADD(LVar0, 15) + EVT_CALL(SetActorYaw, ACTOR_SELF, LVar0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_WAIT(10) + EVT_SET(LVar0, 180) + EVT_LOOP(12) + EVT_SUB(LVar0, 15) + EVT_CALL(SetActorYaw, ACTOR_SELF, LVar0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_WAIT(20) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim02) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SET(LVar1, 80) + EVT_CALL(PlayEffect, EFFECT_EMOTE, 2, 0, LVar0, LVar1, LVar2, 30, 315, 30, 0, 0, 0, 0, 0) + EVT_WAIT(40) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim01) + EVT_SET(LVar0, 0) + EVT_LOOP(15) + EVT_ADD(LVar0, 12) + EVT_CALL(SetActorYaw, ACTOR_SELF, LVar0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim06) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SET(LVar0, 220) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(GetActorVar, ACTOR_SELF, 2, LVar0) + EVT_KILL_THREAD(LVar0) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_DMG_APPLY, 1) + EVT_CALL(SetBattleFlagBits, BS_FLAGS1_20000 | BS_FLAGS1_40000, 1) + EVT_CALL(func_8026F60C, 10) + EVT_RETURN + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) + EVT_IF_EQ(LVar0, 1) + EVT_CALL(func_802535B4, 0) + EVT_CALL(SetActorVar, ACTOR_SELF, 1, 2) + EVT_CALL(ActorSpeak, MSG_CH3_0103, ACTOR_SELF, 1, ANIM_BattleTubba_Anim09, ANIM_BattleTubba_Anim02) + EVT_THREAD + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim15) + EVT_WAIT(4) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim16) + EVT_WAIT(15) + EVT_END_THREAD + EVT_CALL(EndActorSpeech, ACTOR_SELF, 1, -1, -1) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim01) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 15) + EVT_WAIT(15) + EVT_CALL(func_802535B4, 1) + EVT_END_IF + EVT_EXEC_WAIT(N(attackBodyCrush)) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(attackFistDrop) = { + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) + EVT_CALL(SetBattleCamZoom, 150) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(func_8024ECF8, -1, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim07) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_IF_NOT_FLAG(LVar5, STATUS_FLAG_SHRINK) + EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) + EVT_ELSE + EVT_CALL(AddGoalPos, ACTOR_SELF, 20, 0, 0) + EVT_END_IF + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim15) + EVT_WAIT(8) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim16) + EVT_WAIT(20) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim17) + EVT_WAIT(3) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SET(LVar1, 0) + EVT_CALL(PlayEffect, EFFECT_LANDING_DUST, 4, LVar0, LVar1, LVar2, 0, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_CALL(PlayEffect, EFFECT_SHOCKWAVE, 1, LVar0, LVar1, LVar2, 0, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_THREAD + EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(15.0)) + EVT_END_THREAD + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20EA) + EVT_END_IF + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(6) + EVT_CASE_OR_EQ(5) + EVT_WAIT(30) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim02) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 20) + EVT_IF_EQ(LVarA, 5) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_EXEC_WAIT(N(returnHome)) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_CASE_DEFAULT + EVT_END_SWITCH + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar5) + EVT_IF_NOT_FLAG(LVar5, STATUS_FLAG_SHRINK) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(PlayEffect, EFFECT_SHOCKWAVE, 1, LVar0, 0, LVar2, 0, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_END_IF + EVT_WAIT(2) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_IF_NOT_FLAG(LVar5, STATUS_FLAG_SHRINK) + EVT_CALL(func_80269EAC, 23) + EVT_END_IF + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_NO_CONTACT, 0, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 20) + EVT_SWITCH(LVarF) + EVT_CASE_OR_EQ(0) + EVT_CASE_OR_EQ(2) + EVT_CASE_OR_EQ(10) + EVT_WAIT(30) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim02) + EVT_IF_EQ(LVarF, 10) + EVT_RETURN + EVT_END_IF + EVT_CALL(YieldTurn) + EVT_EXEC_WAIT(N(returnHome)) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(attackBodyCrush) = { + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) + EVT_CALL(SetBattleCamZoom, 180) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(func_8024ECF8, -1, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim07) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(AddGoalPos, ACTOR_SELF, 70, 0, 0) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim0F) + EVT_WAIT(8) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim10) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(6) + EVT_CASE_OR_EQ(5) + EVT_SET(LVarA, LVar0) + EVT_THREAD + EVT_WAIT(12) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim11) + EVT_END_THREAD + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 15) + EVT_SET(LVar1, 0) + EVT_ADD(LVar2, 5) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) + EVT_CALL(PlaySound, SOUND_JUMP_3E2) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 23, FALSE, TRUE, FALSE) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20EA) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim12) + EVT_THREAD + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(PlayEffect, EFFECT_SMOKE_IMPACT, 0, LVar0, LVar1, LVar2, 60, 8, 10, 20, 0, 0, 0, 0, 0) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(3.0)) + EVT_END_THREAD + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 20) + EVT_SET(LVar1, 0) + EVT_ADD(LVar2, 5) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) + EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(3.0)) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(PlayEffect, EFFECT_SMOKE_IMPACT, 0, LVar0, LVar1, LVar2, 60, 8, 10, 20, 0, 0, 0, 0, 0) + EVT_IF_EQ(LVarA, 5) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 20) + EVT_WAIT(8) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim13) + EVT_WAIT(4) + EVT_EXEC_WAIT(N(returnHome)) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_CASE_DEFAULT + EVT_THREAD + EVT_WAIT(12) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim11) + EVT_END_THREAD + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) + EVT_CALL(PlaySound, SOUND_JUMP_3E2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) + EVT_END_SWITCH + EVT_WAIT(2) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20EA) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar5) + EVT_IF_NOT_FLAG(LVar5, STATUS_FLAG_SHRINK) + EVT_CALL(func_80269EAC, 24) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20EA) + EVT_END_IF + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 6, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 20) + EVT_SET(LVarF, LVar0) + EVT_SWITCH(LVarF) + EVT_CASE_OR_EQ(0) + EVT_CASE_OR_EQ(2) + EVT_CASE_OR_EQ(10) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar5) + EVT_IF_FLAG(LVar5, STATUS_FLAG_SHRINK) + EVT_GOTO(1) + EVT_END_IF + EVT_CALL(GetBattleFlags, LVar0) + EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_ATK_BLOCKED) + EVT_CALL(GetStatusFlags, ACTOR_PLAYER, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_STONE) + EVT_CALL(LandJump, ACTOR_SELF) + EVT_ELSE + EVT_GOTO(1) + EVT_END_IF + EVT_ELSE + EVT_GOTO(1) + EVT_END_IF + EVT_LABEL(0) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(PlayEffect, EFFECT_SHOCKWAVE, 0, LVar0, 0, LVar2, 0, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim0D) + EVT_THREAD + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(PlayEffect, EFFECT_SMOKE_IMPACT, 0, LVar0, LVar1, LVar2, 60, 8, 10, 20, 0, 0, 0, 0, 0) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(3.0)) + EVT_END_THREAD + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 20) + EVT_SET(LVar1, 0) + EVT_ADD(LVar2, 5) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) + EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(3.0)) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(PlayEffect, EFFECT_SMOKE_IMPACT, 0, LVar0, LVar1, LVar2, 60, 8, 10, 20, 0, 0, 0, 0, 0) + EVT_GOTO(2) + EVT_LABEL(1) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar5) + EVT_IF_NOT_FLAG(LVar5, STATUS_FLAG_SHRINK) + EVT_WAIT(3) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(PlayEffect, EFFECT_SHOCKWAVE, 1, LVar0, 0, LVar2, 0, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(3.0)) + EVT_END_IF + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 40) + EVT_SET(LVar1, 0) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) + EVT_THREAD + EVT_WAIT(8) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim0E) + EVT_END_THREAD + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) + EVT_IF_NOT_FLAG(LVar5, STATUS_FLAG_SHRINK) + EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(3.0)) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(PlayEffect, EFFECT_SMOKE_IMPACT, 0, LVar0, LVar1, LVar2, 60, 8, 10, 20, 0, 0, 0, 0, 0) + EVT_WAIT(8) + EVT_END_IF + EVT_LABEL(2) + EVT_IF_EQ(LVarF, 10) + EVT_RETURN + EVT_END_IF + EVT_CALL(YieldTurn) + EVT_EXEC_WAIT(N(returnHome)) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; diff --git a/src/battle/area_dig/actor/whacka.c b/src/battle/area_dig/actor/whacka.c new file mode 100644 index 0000000000..f273de9284 --- /dev/null +++ b/src/battle/area_dig/actor/whacka.c @@ -0,0 +1,5 @@ +#include "common.h" + +#define NAMESPACE b_area_dig_whacka + +#include "battle/common/actor/whacka.inc.c" diff --git a/src/battle/area_dig/area.c b/src/battle/area_dig/area.c new file mode 100644 index 0000000000..958745cd7d --- /dev/null +++ b/src/battle/area_dig/area.c @@ -0,0 +1,72 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" + +#define NAMESPACE b_area_dig + +extern ActorBlueprint N(fuzzy); +extern ActorBlueprint N(monty_mole); +extern ActorBlueprint N(pokey); +extern ActorBlueprint N(bandit); +extern ActorBlueprint N(red_shy_guy); +extern ActorBlueprint N(tubba_blubba); + +extern Stage N(dig_01); +extern Stage N(dig_02); +extern Stage N(dig_03); +extern Stage N(dig_04); +extern Stage N(dig_05); + +extern EvtScript N(dig_01_script); +extern EvtScript N(dig_02_script); +extern EvtScript N(dig_03_script); +extern EvtScript N(dig_04_script); +extern EvtScript N(dig_05_script); + +Formation N(formation_00) = { + { .actor = &N(fuzzy), .home = { .index = 0 }, .priority = 10, }, + { .actor = &N(fuzzy), .home = { .index = 1 }, .priority = 9, }, + { .actor = &N(fuzzy), .home = { .index = 2 }, .priority = 8, }, + { .actor = &N(fuzzy), .home = { .index = 3 }, .priority = 7, }, +}; + +Formation N(formation_01) = { + { .actor = &N(monty_mole), .home = { .index = 1 }, .priority = 10, }, + { .actor = &N(monty_mole), .home = { .index = 2 }, .priority = 9, }, + { .actor = &N(monty_mole), .home = { .index = 3 }, .priority = 8, }, +}; + +Formation N(formation_02) = { + { .actor = &N(pokey), .home = { .index = 1 }, .priority = 10, }, + { .actor = &N(bandit), .home = { .index = 2 }, .priority = 9, }, + { .actor = &N(pokey), .home = { .index = 3 }, .priority = 8, }, +}; + +Formation N(formation_03) = { + { .actor = &N(red_shy_guy), .home = { .index = 0 }, .priority = 10, }, + { .actor = &N(red_shy_guy), .home = { .index = 1 }, .priority = 9, }, + { .actor = &N(red_shy_guy), .home = { .index = 2 }, .priority = 8, }, + { .actor = &N(red_shy_guy), .home = { .index = 3 }, .priority = 7, }, +}; + +Formation N(formation_04) = { + { .actor = &N(tubba_blubba), .home = { .index = 2 }, .priority = 10, }, +}; + +BattleList N(formationTable) = { + BATTLE_WITH_SCRIPT("ダイジェスト01", N(formation_00), &N(dig_01), &N(dig_01_script)), + BATTLE_WITH_SCRIPT("ダイジェスト02", N(formation_01), &N(dig_02), &N(dig_02_script)), + BATTLE_WITH_SCRIPT("ダイジェスト03", N(formation_02), &N(dig_03), &N(dig_03_script)), + BATTLE_WITH_SCRIPT("ダイジェスト04", N(formation_03), &N(dig_04), &N(dig_04_script)), + BATTLE_WITH_SCRIPT("ダイジェスト05", N(formation_04), &N(dig_05), &N(dig_05_script)), + {}, +}; + +StageList N(stageTable) = { + { "dig_01", &N(dig_01) }, + { "dig_02", &N(dig_02) }, + { "dig_03", &N(dig_03) }, + { "dig_04", &N(dig_04) }, + { "dig_05", &N(dig_05) }, + {}, +}; diff --git a/src/battle/area_dig/6DE3F0.c b/src/battle/area_dig/script/dig_01.c similarity index 64% rename from src/battle/area_dig/6DE3F0.c rename to src/battle/area_dig/script/dig_01.c index 34ed8e40b0..234f6a3acf 100644 --- a/src/battle/area_dig/6DE3F0.c +++ b/src/battle/area_dig/script/dig_01.c @@ -1,6 +1,7 @@ #include "common.h" +#include "script_api/battle.h" -#define NAMESPACE b_area_dig +#define NAMESPACE b_area_dig_dig_01_script #include "common/Set80218630_Var0.inc.c" @@ -22,3 +23,17 @@ ApiStatus func_80218644_6DE404(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } + +EvtScript NAMESPACE = { + EVT_WAIT(3) + EVT_CALL(SetCamViewport, 1, 29, 20, 262, 177) + EVT_CALL(func_802535B4, 0) + EVT_SET(LVar0, 15) + EVT_CALL(N(Set80218630_Var0)) + EVT_CALL(WaitForState, BATTLE_STATE_PLAYER_MENU) + EVT_CALL(func_80218644_6DE404) + EVT_CALL(SetBattleState, BATTLE_STATE_PLAYER_MOVE) + EVT_WAIT(10000) + EVT_RETURN + EVT_END +}; diff --git a/src/battle/area_dig/script/dig_02.c b/src/battle/area_dig/script/dig_02.c new file mode 100644 index 0000000000..b0bf61ef57 --- /dev/null +++ b/src/battle/area_dig/script/dig_02.c @@ -0,0 +1,41 @@ +#include "common.h" +#include "script_api/battle.h" + +#define NAMESPACE b_area_dig_dig_02_script + +ApiStatus func_802186E0_6DE4A0(Evt* script, s32 isInitialCall) { + BattleStatus* battleStatus = &gBattleStatus; + Actor* player = battleStatus->playerActor; + SelectableTarget* selectableTarget; + + battleStatus->moveCategory = 0; + battleStatus->selectedMoveID = MOVE_POWER_BOUNCE; + battleStatus->selectedItemID = gCurrentEncounter.hitTier; + battleStatus->currentTargetListFlags = gMoveTable[MOVE_POWER_BOUNCE].flags; + + player_create_target_list(player); + player->selectedTargetIndex = 1; + selectableTarget = &player->targetData[player->targetIndexList[player->selectedTargetIndex]]; + player->targetActorID = selectableTarget->actorID; + player->targetPartIndex = selectableTarget->partID; + + return ApiStatus_DONE2; +} + +EvtScript NAMESPACE = { + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 1) + EVT_WAIT(3) + EVT_CALL(SetCamViewport, 1, 29, 20, 262, 177) + EVT_CALL(func_802535B4, 0) + EVT_CALL(WaitForState, BATTLE_STATE_PLAYER_MENU) + EVT_CALL(func_802186E0_6DE4A0) + EVT_CALL(SetBattleState, BATTLE_STATE_PLAYER_MOVE) + EVT_WAIT(130) + EVT_LOOP(30) + EVT_CALL(SetCommandAutoSuccess, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; diff --git a/src/battle/area_dig/script/dig_03.c b/src/battle/area_dig/script/dig_03.c new file mode 100644 index 0000000000..30a18a463b --- /dev/null +++ b/src/battle/area_dig/script/dig_03.c @@ -0,0 +1,37 @@ +#include "common.h" +#include "script_api/battle.h" + +#define NAMESPACE b_area_dig_dig_03_script + +ApiStatus func_80218770_6DE530(Evt* script, s32 isInitialCall) { + BattleStatus* battleStatus = &gBattleStatus; + Actor* partner = battleStatus->partnerActor; + SelectableTarget* selectableTarget; + + battleStatus->moveCategory = 6; + battleStatus->selectedItemID = 0; + battleStatus->selectedMoveID = MOVE_SHELL_SHOT; + battleStatus->currentTargetListFlags = gMoveTable[MOVE_SHELL_SHOT].flags; + + player_create_target_list(partner); + partner->selectedTargetIndex = 0; + selectableTarget = &partner->targetData[partner->targetIndexList[partner->selectedTargetIndex]]; + partner->targetActorID = selectableTarget->actorID; + partner->targetPartIndex = selectableTarget->partID; + + return ApiStatus_DONE2; +} + +EvtScript NAMESPACE = { + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 1) + EVT_WAIT(3) + EVT_CALL(SetCamViewport, 1, 29, 20, 262, 177) + EVT_CALL(func_802535B4, 0) + EVT_CALL(WaitForState, BATTLE_STATE_PLAYER_MENU) + EVT_CALL(func_80218770_6DE530) + EVT_CALL(SetBattleState, BATTLE_STATE_PARTNER_MOVE) + EVT_WAIT(90) + EVT_RETURN + EVT_END +}; diff --git a/src/battle/area_dig/script/dig_04.c b/src/battle/area_dig/script/dig_04.c new file mode 100644 index 0000000000..e79a8b9784 --- /dev/null +++ b/src/battle/area_dig/script/dig_04.c @@ -0,0 +1,41 @@ +#include "common.h" +#include "script_api/battle.h" + +#define NAMESPACE b_area_dig_dig_04_script + +ApiStatus func_802187F0_6DE5B0(Evt* script, s32 isInitialCall) { + BattleStatus* battleStatus = &gBattleStatus; + PlayerData* playerData = &gPlayerData; + s32 selectedItemID; + Actor* player = battleStatus->playerActor; + SelectableTarget* selectableTarget; + + battleStatus->moveCategory = 2; + battleStatus->selectedItemID = ITEM_THUNDER_RAGE; + selectedItemID = battleStatus->selectedItemID; + battleStatus->selectedMoveID = 0; + battleStatus->currentAttackElement = 0; + playerData->invItems[0] = selectedItemID; + battleStatus->currentTargetListFlags = gItemTable[playerData->invItems[0]].targetFlags | 0x8000; + + player_create_target_list(player); + player->selectedTargetIndex = 0; + selectableTarget = &player->targetData[player->targetIndexList[player->selectedTargetIndex]]; + player->targetActorID = selectableTarget->actorID; + player->targetPartIndex = selectableTarget->partID; + + return ApiStatus_DONE2; +} + +EvtScript NAMESPACE = { + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 1) + EVT_WAIT(3) + EVT_CALL(SetCamViewport, 1, 29, 20, 262, 177) + EVT_CALL(func_802535B4, 0) + EVT_CALL(WaitForState, BATTLE_STATE_PLAYER_MENU) + EVT_CALL(func_802187F0_6DE5B0) + EVT_CALL(SetBattleState, BATTLE_STATE_PLAYER_MOVE) + EVT_RETURN + EVT_END +}; diff --git a/src/battle/area_dig/script/dig_05.c b/src/battle/area_dig/script/dig_05.c new file mode 100644 index 0000000000..f165fec6b3 --- /dev/null +++ b/src/battle/area_dig/script/dig_05.c @@ -0,0 +1,20 @@ +#include "common.h" +#include "script_api/battle.h" + +#define NAMESPACE b_area_dig_dig_05_script + +#include "common/Set80218630_Var0.inc.c" + +EvtScript NAMESPACE = { + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 1) + EVT_WAIT(3) + EVT_CALL(SetCamViewport, 1, 29, 20, 262, 177) + EVT_CALL(func_802535B4, 0) + EVT_SET(LocalVar(0), 5) + EVT_CALL(N(Set80218630_Var0)) + EVT_CALL(WaitForState, BATTLE_STATE_PLAYER_MENU) + EVT_CALL(SetBattleState, BATTLE_STATE_NEXT_ENEMY) + EVT_RETURN + EVT_END +}; diff --git a/src/battle/area_dig/stage/dig_01.c b/src/battle/area_dig/stage/dig_01.c new file mode 100644 index 0000000000..695a3a8b4d --- /dev/null +++ b/src/battle/area_dig/stage/dig_01.c @@ -0,0 +1,30 @@ +#include "common.h" +#include "battle/battle.h" +#include "mapfs/nok_bt04_shape.h" + +#define NAMESPACE b_area_dig_dig_01 + +EvtScript N(beforeBattle) = { + EVT_CALL(SetSpriteShading, -1) + EVT_RETURN + EVT_END +}; + +EvtScript N(afterBattle) = { + EVT_RETURN + EVT_END +}; + +s32 N(foregroundModelList)[] = { + MODEL_ueki2, MODEL_ueki1, MODEL_kabu2, MODEL_kabu1, MODEL_kusa3, 0, +}; + +Stage NAMESPACE = { + .texture = "nok_tex", + .shape = "nok_bt04_shape", + .hit = "nok_bt04_hit", + .bg = "nok_bg", + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), + .foregroundModelList = N(foregroundModelList), +}; diff --git a/src/battle/area_dig/stage/dig_02.c b/src/battle/area_dig/stage/dig_02.c new file mode 100644 index 0000000000..5016a207fd --- /dev/null +++ b/src/battle/area_dig/stage/dig_02.c @@ -0,0 +1,32 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "mapfs/iwa_bt01_shape.h" + +#define NAMESPACE b_area_dig_dig_02 + +EvtScript N(beforeBattle) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetGroupEnabled, MODEL_a, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(afterBattle) = { + EVT_RETURN + EVT_END +}; + +s32 N(foregroundModelList)[] = { + MODEL_iwa1, MODEL_o331, 0, +}; + +Stage NAMESPACE = { + .texture = "iwa_tex", + .shape = "iwa_bt01_shape", + .hit = "iwa_bt01_hit", + .bg = "iwa_bg", + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), + .foregroundModelList = N(foregroundModelList), +}; diff --git a/src/battle/area_dig/stage/dig_03.c b/src/battle/area_dig/stage/dig_03.c new file mode 100644 index 0000000000..c67b9ae36f --- /dev/null +++ b/src/battle/area_dig/stage/dig_03.c @@ -0,0 +1,64 @@ +#include "common.h" +#include "effects.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "mapfs/sbk_bt02_shape.h" + +#define NAMESPACE b_area_dig_dig_03 + +#include "common/UnkFloatFunc3.inc.c" + +#include "common/GetModelPos.inc.c" + +EvtScript N(updateModels) = { + EVT_SET(LVarA, LVar0) + EVT_SET(LVar7, LVar1) + EVT_MUL(LVar7, 10) + EVT_CALL(N(GetModelPos)) + EVT_LABEL(0) + EVT_ADD(LVar7, 1) + EVT_IF_GT(LVar7, 3599) + EVT_SUB(LVar7, 3600) + EVT_END_IF + EVT_CALL(N(UnkFloatFunc3), LVar7, LVar0, LVar1, LVar2) + EVT_CALL(TranslateModel, LVarA, LVar0, LVar1, LVar2) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(beforeBattle) = { + EVT_CALL(SetSpriteShading, -1) + EVT_SET(LVar0, MODEL_g60) + EVT_SET(LVar1, 0) + EVT_EXEC(N(updateModels)) + EVT_SET(LVar0, MODEL_g63) + EVT_SET(LVar1, 120) + EVT_EXEC(N(updateModels)) + EVT_SET(LVar0, MODEL_g62) + EVT_SET(LVar1, 240) + EVT_EXEC(N(updateModels)) + EVT_CALL(PlayEffect, EFFECT_SUN, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(afterBattle) = { + EVT_RETURN + EVT_END +}; + +s32 N(foregroundModelList)[] = { + MODEL_o322, MODEL_o321, MODEL_o320, MODEL_o319, 0, +}; + +Stage NAMESPACE = { + .texture = "sbk_tex", + .shape = "sbk_bt02_shape", + .hit = "sbk_bt02_hit", + .bg = "sbk_bg", + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), + .foregroundModelList = N(foregroundModelList), +}; diff --git a/src/battle/area_dig/stage/dig_04.c b/src/battle/area_dig/stage/dig_04.c new file mode 100644 index 0000000000..1f0053c00d --- /dev/null +++ b/src/battle/area_dig/stage/dig_04.c @@ -0,0 +1,61 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "mapfs/omo_bt04_shape.h" + +#define NAMESPACE b_area_dig_dig_04 + +extern Formation N(formation_slot_machine); +extern ActorBlueprint N(slot_machine_stop); +extern ActorBlueprint N(slot_machine_start); + +EvtScript N(beforeBattle) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_CALL(SetTexPanner, 29, 10) + EVT_THREAD + EVT_SET(LVarE, 0) + EVT_LOOP(0) + EVT_ADD(LVarE, 32768) + EVT_CALL(SetTexPanOffset, 10, 0, LVarE, 0) + EVT_WAIT(10) + EVT_END_LOOP + EVT_END_THREAD + EVT_RETURN + EVT_END +}; + +EvtScript N(afterBattle) = { + EVT_RETURN + EVT_END +}; + +s32 N(foregroundModelList)[] = { + MODEL_itigo, MODEL_kisya, MODEL_kusari, 0, +}; + +Stage NAMESPACE = { + .texture = "omo_tex", + .shape = "omo_bt04_shape", + .hit = "omo_bt04_hit", + .bg = "omo_bg", + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), + .foregroundModelList = N(foregroundModelList), + .specialFormationSize = 4, + .specialFormation = &N(formation_slot_machine), +}; + +Vec3i N(slot_machine_pos1) = { -49, 56, -68 }; +Vec3i N(slot_machine_pos2) = { -13, 56, -68 }; +Vec3i N(slot_machine_pos3) = { 20, 56, -68 }; +Vec3i N(slot_machine_pos4) = { 53, 56, -68 }; + +Formation N(formation_slot_machine) = { + { .actor = &N(slot_machine_start), .home = { .vec = &N(slot_machine_pos1) }, .var0 = 0 }, + { .actor = &N(slot_machine_stop), .home = { .vec = &N(slot_machine_pos2) }, .var0 = 1 }, + { .actor = &N(slot_machine_stop), .home = { .vec = &N(slot_machine_pos3) }, .var0 = 2 }, + { .actor = &N(slot_machine_stop), .home = { .vec = &N(slot_machine_pos4) }, .var0 = 3 }, +}; + +#include "battle/common/actor/slot_machine.inc.c" diff --git a/src/battle/area_dig/stage/dig_05.c b/src/battle/area_dig/stage/dig_05.c new file mode 100644 index 0000000000..dc32dde365 --- /dev/null +++ b/src/battle/area_dig/stage/dig_05.c @@ -0,0 +1,23 @@ +#include "common.h" +#include "battle/battle.h" + +#define NAMESPACE b_area_dig_dig_05 + +EvtScript N(beforeBattle) = { + EVT_CALL(SetSpriteShading, -1) + EVT_RETURN + EVT_END +}; + +EvtScript N(afterBattle) = { + EVT_RETURN + EVT_END +}; + +Stage NAMESPACE = { + .texture = "dgb_tex", + .shape = "dgb_bt05_shape", + .hit = "dgb_bt05_hit", + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), +}; diff --git a/src/battle/area_iwa/actor/monty_mole.c b/src/battle/area_iwa/actor/monty_mole.c index 351c2bc253..45c62b31ee 100644 --- a/src/battle/area_iwa/actor/monty_mole.c +++ b/src/battle/area_iwa/actor/monty_mole.c @@ -1,429 +1,5 @@ #include "common.h" -#include "battle/battle.h" -#include "script_api/battle.h" -#include "sprite/npc/MontyMole.h" #define NAMESPACE b_area_iwa_monty_mole -extern s32 N(idleAnimations_8021A59C)[]; -extern s32 N(idleAnimations_8021A5E8)[]; -extern EvtScript N(init_8021A7B0); -extern EvtScript N(takeTurn_8021AFAC); -extern EvtScript N(idle_8021A814); -extern EvtScript N(handleEvent_8021A824); - -s32 N(defenseTable_8021A450)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_END, -}; - -s32 N(statusTable_8021A45C)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 90, - STATUS_POISON, 80, - STATUS_FROZEN, 100, - STATUS_DIZZY, 90, - STATUS_FEAR, 0, - STATUS_STATIC, 10, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 90, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, - STATUS_END, -}; - -ActorPartBlueprint N(partsTable_8021A508)[] = { - { - .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, - .posOffset = { 0, 0, 0 }, - .targetOffset = { -2, 16 }, - .opacity = 255, - .idleAnimations = N(idleAnimations_8021A59C), - .defenseTable = N(defenseTable_8021A450), - .eventFlags = ACTOR_EVENT_FLAG_0, - .elementImmunityFlags = 0, - .unk_1D = 249, - }, - { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, - .index = 2, - .posOffset = { 0, 0, -15 }, - .targetOffset = { -2, 12 }, - .opacity = 255, - .idleAnimations = N(idleAnimations_8021A59C), - .defenseTable = N(defenseTable_8021A450), - .eventFlags = ACTOR_EVENT_FLAG_0, - .elementImmunityFlags = 0, - .unk_1D = 249, - }, - { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 3, - .posOffset = { 0, 0, 0 }, - .targetOffset = { 0, 0 }, - .opacity = 255, - .idleAnimations = N(idleAnimations_8021A5E8), - .defenseTable = N(defenseTable_8021A450), - .eventFlags = ACTOR_EVENT_FLAG_0, - .elementImmunityFlags = 0, - .unk_1D = 0, - }, -}; - -ActorBlueprint N(1) = { - .flags = 0, - .type = ACTOR_TYPE_MONTY_MOLE, - .level = 8, - .maxHP = 3, - .partCount = ARRAY_COUNT(N(partsTable_8021A508)), - .partsData = N(partsTable_8021A508), - .script = &N(init_8021A7B0), - .statusTable = N(statusTable_8021A45C), - .escapeChance = 80, - .airLiftChance = 70, - .spookChance = 50, - .baseStatusChance = 85, - .upAndAwayChance = 95, - .spinSmashReq = 4, - .powerBounceChance = 100, - .coinReward = 1, - .size = { 34, 18 }, - .hpBarOffset = { 0, 0 }, - .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, -}; - -s32 N(idleAnimations_8021A59C)[] = { - STATUS_NORMAL, ANIM_MontyMole_Anim01, - STATUS_STONE, ANIM_MontyMole_Anim00, - STATUS_SLEEP, ANIM_MontyMole_Anim14, - STATUS_POISON, ANIM_MontyMole_Anim01, - STATUS_STOP, ANIM_MontyMole_Anim00, - STATUS_STATIC, ANIM_MontyMole_Anim01, - STATUS_PARALYZE, ANIM_MontyMole_Anim00, - STATUS_DIZZY, ANIM_MontyMole_Anim14, - STATUS_FEAR, ANIM_MontyMole_Anim14, - STATUS_END, -}; - -s32 N(idleAnimations_8021A5E8)[] = { - STATUS_NORMAL, ANIM_MontyMole_Anim0F, - STATUS_END, -}; - -s32 N(idleAnimations_8021A5F4)[] = { - STATUS_NORMAL, ANIM_MontyMole_Anim12, - STATUS_END, -}; - -s32 N(unk_missing_8021A600)[] = { - 0x00000001, 0x002F0006, 0x00000000, -}; - -ActorPartBlueprint N(partsTable_8021A60C)[] = { - { - .flags = ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET, - .index = 1, - .posOffset = { 0, 0, 0 }, - .targetOffset = { 0, 0 }, - .opacity = 255, - .idleAnimations = N(idleAnimations_8021A5F4), - .defenseTable = NULL, - .eventFlags = ACTOR_EVENT_FLAG_0, - .elementImmunityFlags = 0, - .unk_1D = 0, - }, -}; - -EvtScript N(init_8021A630) = { - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) - EVT_IF_EQ(LVar0, 1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) - EVT_END_IF - EVT_RETURN - EVT_END -}; - -ActorBlueprint N(2) = { - .flags = ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_40000 | ACTOR_FLAG_NO_ATTACK | ACTOR_FLAG_NO_DMG_APPLY, - .type = ACTOR_TYPE_MONTY_HOLE, - .level = 9, - .maxHP = 5, - .partCount = ARRAY_COUNT(N(partsTable_8021A60C)), - .partsData = N(partsTable_8021A60C), - .script = &N(init_8021A630), - .statusTable = NULL, - .escapeChance = 80, - .airLiftChance = 0, - .spookChance = 80, - .baseStatusChance = 80, - .upAndAwayChance = 90, - .spinSmashReq = 4, - .powerBounceChance = 90, - .coinReward = 2, - .size = { 32, 18 }, - .hpBarOffset = { 0, 0 }, - .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, -}; - -Vec3i N(vector3D_8021A6B8) = { 0, 0xFFFFFC18, 0, }; - -Formation N(specialFormation_8021A6C4) = { - { .actor = &N(2), .home = { .vec = &N(vector3D_8021A6B8) },}, -}; - -Formation N(specialFormation_8021A6E0) = { - { .actor = &N(2), .home = { .vec = &N(vector3D_8021A6B8) }, .var0 = 1 }, -}; - -EvtScript N(8021A6FC) = { - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SummonEnemy, EVT_PTR(N(specialFormation_8021A6E0)), 0) - EVT_ELSE - EVT_CALL(SummonEnemy, EVT_PTR(N(specialFormation_8021A6C4)), 0) - EVT_END_IF - EVT_CALL(GetActorPos, ACTOR_SELF, LVar1, LVar2, LVar3) - EVT_SUB(LVar3, 1) - EVT_CALL(SetActorPos, LVar0, LVar1, LVar2, LVar3) - EVT_RETURN - EVT_END -}; - -EvtScript N(init_8021A7B0) = { - EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_8021AFAC))) - EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_8021A814))) - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_8021A824))) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, 1) - EVT_RETURN - EVT_END -}; - -EvtScript N(idle_8021A814) = { - EVT_RETURN - EVT_END -}; - -EvtScript N(handleEvent_8021A824) = { - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(GetLastElement, LVarE) - EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_OR_EQ(EVENT_HIT_COMBO) - EVT_CASE_OR_EQ(EVENT_HIT) - EVT_IF_FLAG(LVarE, DAMAGE_TYPE_SMASH) - EVT_CHILD_THREAD - EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim07) - EVT_END_CHILD_THREAD - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_MontyMole_Anim06) - EVT_EXEC_WAIT(DoNormalHit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim08) - EVT_WAIT(10) - EVT_ELSE - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_MontyMole_Anim05) - EVT_EXEC_WAIT(DoNormalHit) - EVT_END_IF - EVT_END_CASE_GROUP - EVT_CASE_EQ(EVENT_BURN_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_MontyMole_Anim0A) - EVT_SET_CONST(LVar2, ANIM_MontyMole_Anim0B) - EVT_EXEC_WAIT(DoBurnHit) - EVT_CASE_EQ(EVENT_BURN_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_MontyMole_Anim0A) - EVT_SET_CONST(LVar2, ANIM_MontyMole_Anim0B) - EVT_EXEC_WAIT(DoBurnHit) - EVT_EXEC_WAIT(N(8021A6FC)) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_MontyMole_Anim0C) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER) - EVT_CASE_OR_EQ(EVENT_IMMUNE) - EVT_CALL(GetLastElement, LVar0) - EVT_IF_FLAG(LVar0, DAMAGE_TYPE_SMASH) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_DIG) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim11) - EVT_WAIT(80) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_SURFACE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim10) - EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim14) - EVT_WAIT(20) - EVT_ELSE - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_MontyMole_Anim01) - EVT_EXEC_WAIT(DoImmune) - EVT_END_IF - EVT_END_CASE_GROUP - EVT_CASE_EQ(EVENT_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_MontyMole_Anim05) - EVT_EXEC_WAIT(DoNormalHit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim06) - EVT_WAIT(10) - EVT_EXEC_WAIT(N(8021A6FC)) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_MontyMole_Anim09) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_EQ(EVENT_RECOVER_STATUS) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim06) - EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim07) - EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim08) - EVT_WAIT(8) - EVT_CASE_EQ(EVENT_SCARE_AWAY) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim06) - EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim07) - EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim08) - EVT_WAIT(15) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_TARGET_ONLY | ACTOR_FLAG_NO_DMG_APPLY, 1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_8021A5F4))) - EVT_RETURN - EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_MontyMole_Anim05) - EVT_EXEC_WAIT(DoAirLift) - EVT_CASE_EQ(EVENT_BLOW_AWAY) - EVT_EXEC_WAIT(N(8021A6FC)) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -5, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim19) - EVT_ELSE - EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -9, 0) - EVT_ELSE - EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -23, 0) - EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim09) - EVT_END_IF - EVT_WAIT(1000) - EVT_RETURN - EVT_CASE_EQ(EVENT_AIR_LIFT_FAILED) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_DIG) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim11) - EVT_WAIT(40) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_SURFACE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim10) - EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim14) - EVT_WAIT(20) - EVT_CASE_EQ(EVENT_UP_AND_AWAY) - EVT_EXEC_WAIT(N(8021A6FC)) - EVT_CASE_DEFAULT - EVT_END_SWITCH - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END -}; - -EvtScript N(takeTurn_8021AFAC) = { - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetBattlePhase, LVar0) - EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) - EVT_CALL(MoveBattleCamOver, 1) - EVT_END_IF - EVT_CHILD_THREAD - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_DIG) - EVT_WAIT(20) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_SURFACE) - EVT_END_CHILD_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim04) - EVT_WAIT(37) - EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, 20) - EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, 0) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) - EVT_ELSE - EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_END_IF - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 3, SOUND_MOLE_THROW) - EVT_CALL(SetPartSounds, ACTOR_SELF, 3, 1, 0, 0) - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) - EVT_SWITCH(LVar0) - EVT_CASE_OR_EQ(HIT_RESULT_MISS) - EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) - EVT_SET(LVarA, LVar0) - EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_SUB(LVar0, 100) - EVT_SET(LVar1, -5) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 3, EVT_FLOAT(12.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 3, EVT_FLOAT(0.1)) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_MontyMole_Anim0F) - EVT_CALL(FlyPartTo, ACTOR_SELF, 3, LVar0, LVar1, LVar2, 0, 30, 0) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, 1) - EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) - EVT_END_IF - EVT_CALL(YieldTurn) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END_CASE_GROUP - EVT_END_SWITCH - EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 3, EVT_FLOAT(12.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 3, EVT_FLOAT(0.1)) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_MontyMole_Anim0F) - EVT_CALL(FlyPartTo, ACTOR_SELF, 3, LVar0, LVar1, LVar2, 0, 20, 0) - EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) - EVT_SWITCH(LVar0) - EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) - EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) - EVT_SUB(LVar0, 55) - EVT_SET(LVar1, 0) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 3, EVT_FLOAT(6.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 3, EVT_FLOAT(0.1)) - EVT_CALL(FlyPartTo, ACTOR_SELF, 3, LVar0, LVar1, LVar2, 0, 25, 0) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 3, EVT_FLOAT(4.0)) - EVT_SUB(LVar0, 20) - EVT_CALL(FlyPartTo, ACTOR_SELF, 3, LVar0, LVar1, LVar2, 0, 21, 0) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, 1) - EVT_END_CASE_GROUP - EVT_END_SWITCH - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END -}; +#include "battle/common/actor/monty_mole.inc.c" diff --git a/src/battle/area_iwa/actor/whacka.c b/src/battle/area_iwa/actor/whacka.c index b19516bc30..cca2705150 100644 --- a/src/battle/area_iwa/actor/whacka.c +++ b/src/battle/area_iwa/actor/whacka.c @@ -1,311 +1,5 @@ #include "common.h" -#include "battle/battle.h" -#include "script_api/battle.h" -#include "sprite/npc/Whacka.h" #define NAMESPACE b_area_iwa_whacka -extern EvtScript N(init_8021FDA0); -extern EvtScript N(takeTurn_80220634); -extern EvtScript N(idle_8021FE5C); -extern EvtScript N(handleEvent_8021FE90); -extern EvtScript N(80220684); -extern EvtScript N(80220764); - -s32 N(idleAnimations_8021FC50)[] = { - STATUS_NORMAL, ANIM_Whacka_Idle, - STATUS_STONE, ANIM_Whacka_Still, - STATUS_SLEEP, ANIM_Whacka_Idle, - STATUS_POISON, ANIM_Whacka_Idle, - STATUS_STOP, ANIM_Whacka_Still, - STATUS_STATIC, ANIM_Whacka_Idle, - STATUS_PARALYZE, ANIM_Whacka_Still, - STATUS_DIZZY, ANIM_Whacka_Idle, - STATUS_FEAR, ANIM_Whacka_Idle, - STATUS_END, -}; - -s32 N(defenseTable_8021FC9C)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_END, -}; - -s32 N(statusTable_8021FCA8)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, - STATUS_END, -}; - -ActorPartBlueprint N(partsTable_8021FD54)[] = { - { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, - .posOffset = { 0, 0, 0 }, - .targetOffset = { 0, 30 }, - .opacity = 255, - .idleAnimations = N(idleAnimations_8021FC50), - .defenseTable = N(defenseTable_8021FC9C), - .eventFlags = ACTOR_EVENT_FLAG_0, - .elementImmunityFlags = 0, - .unk_1D = 251, - }, -}; - -ActorBlueprint NAMESPACE = { - .flags = ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_40000, - .type = ACTOR_TYPE_WHACKA, - .level = 0, - .maxHP = 99, - .partCount = ARRAY_COUNT(N(partsTable_8021FD54)), - .partsData = N(partsTable_8021FD54), - .script = &N(init_8021FDA0), - .statusTable = N(statusTable_8021FCA8), - .escapeChance = 0, - .airLiftChance = 0, - .spookChance = 0, - .baseStatusChance = 0, - .upAndAwayChance = 0, - .spinSmashReq = 4, - .powerBounceChance = 50, - .coinReward = 0, - .size = { 47, 32 }, - .hpBarOffset = { 0, 0 }, - .statusIconOffset = { -20, 40 }, - .statusMessageOffset = { 10, 30 }, -}; - -#include "common/IsSaveVar123.inc.c" - -EvtScript N(init_8021FDA0) = { - EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_80220634))) - EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_8021FE5C))) - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_8021FE90))) - EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(N(IsSaveVar123)) - EVT_IF_EQ(LVar0, 0) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_DISABLED | ACTOR_FLAG_NO_ATTACK | ACTOR_FLAG_NO_DMG_APPLY, 1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, 1) - EVT_END_IF - EVT_RETURN - EVT_END -}; - -EvtScript N(idle_8021FE5C) = { - EVT_LABEL(0) - EVT_WAIT(1) - EVT_GOTO(0) - EVT_RETURN - EVT_END -}; - -EvtScript N(handleEvent_8021FE90) = { - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_EQ(EVENT_HIT_COMBO) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x2073) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoNormalHit) - EVT_CASE_EQ(EVENT_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Hurt) - EVT_EXEC_WAIT(N(80220684)) - EVT_EXEC_WAIT(DoNormalHit) - EVT_CALL(RandInt, 100, LVar0) - EVT_IF_LE(LVar0, 100) - EVT_EXEC_WAIT(N(80220764)) - EVT_RETURN - EVT_END_IF - EVT_CASE_EQ(EVENT_BURN_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_SET_CONST(LVar2, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(N(80220684)) - EVT_EXEC_WAIT(DoNormalHit) - EVT_CALL(RandInt, 100, LVar0) - EVT_IF_LE(LVar0, 100) - EVT_EXEC_WAIT(N(80220764)) - EVT_RETURN - EVT_END_IF - EVT_CASE_EQ(EVENT_BURN_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_SET_CONST(LVar2, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(N(80220684)) - EVT_EXEC_WAIT(DoNormalHit) - EVT_IF_GE(100, 100) - EVT_EXEC_WAIT(N(80220764)) - EVT_RETURN - EVT_ELSE - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_END_IF - EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoSpinSmashHit) - EVT_CALL(RandInt, 100, LVar0) - EVT_IF_LE(LVar0, 100) - EVT_EXEC_WAIT(N(80220764)) - EVT_RETURN - EVT_END_IF - EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoSpinSmashHit) - EVT_IF_GE(100, 100) - EVT_EXEC_WAIT(N(80220764)) - EVT_RETURN - EVT_ELSE - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_END_IF - EVT_CASE_EQ(EVENT_SHOCK_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoShockHit) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoJumpBack) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoReturnHome) - EVT_CASE_EQ(EVENT_SHOCK_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoShockHit) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_EQ(EVENT_UNKNOWN_TRIGGER) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoImmune) - EVT_CASE_EQ(EVENT_IMMUNE) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoImmune) - EVT_CALL(RandInt, 100, LVar0) - EVT_IF_LE(LVar0, 100) - EVT_EXEC_WAIT(N(80220764)) - EVT_RETURN - EVT_END_IF - EVT_CASE_EQ(EVENT_AIR_LIFT_FAILED) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoImmune) - EVT_CALL(RandInt, 100, LVar0) - EVT_IF_LE(LVar0, 100) - EVT_EXEC_WAIT(N(80220764)) - EVT_RETURN - EVT_END_IF - EVT_CASE_EQ(EVENT_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Hurt) - EVT_EXEC_WAIT(N(80220684)) - EVT_EXEC_WAIT(DoNormalHit) - EVT_WAIT(10) - EVT_IF_GE(100, 100) - EVT_EXEC_WAIT(N(80220764)) - EVT_RETURN - EVT_ELSE - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_END_IF - EVT_CASE_EQ(EVENT_RECOVER_STATUS) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoRecover) - EVT_CASE_EQ(EVENT_SCARE_AWAY) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_SET_CONST(LVar2, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoScareAway) - EVT_RETURN - EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoAirLift) - EVT_CASE_EQ(EVENT_BLOW_AWAY) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoBlowAway) - EVT_RETURN - EVT_CASE_DEFAULT - EVT_END_SWITCH - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END -}; - -EvtScript N(takeTurn_80220634) = { - EVT_CALL(RandInt, 100, LVar0) - EVT_IF_LE(LVar0, 100) - EVT_EXEC_WAIT(N(80220764)) - EVT_RETURN - EVT_END_IF - EVT_RETURN - EVT_END -}; - -EvtScript N(80220684) = { - EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x2073) - EVT_THREAD - EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Whacka_Idle) - EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 5) - EVT_ADD(LVar1, 20) - EVT_ADD(LVar2, 10) - EVT_CALL(MakeItemEntity, ITEM_WHACKAS_BUMP, LVar0, LVar1, LVar2, 12, 0) - EVT_END_THREAD - EVT_RETURN - EVT_END -}; - -EvtScript N(80220764) = { - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_DIG) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Whacka_Burrow) - EVT_WAIT(40) - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) - EVT_IF_NE(LVar0, 0) - EVT_CALL(SetBattleFlagBits2, 0x10000000, 1) - EVT_END_IF - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, 1) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_DISABLED | ACTOR_FLAG_NO_ATTACK | ACTOR_FLAG_NO_DMG_APPLY, 1) - EVT_CALL(RemoveActor, ACTOR_SELF) - EVT_RETURN - EVT_END -}; +#include "battle/common/actor/whacka.inc.c" diff --git a/src/battle/area_iwa/area.c b/src/battle/area_iwa/area.c index 4a9ee163f6..aa5660fd7a 100644 --- a/src/battle/area_iwa/area.c +++ b/src/battle/area_iwa/area.c @@ -4,7 +4,7 @@ #define NAMESPACE b_area_iwa extern ActorBlueprint N(cleft); -extern ActorBlueprint N(monty_mole_1); +extern ActorBlueprint N(monty_mole); extern ActorBlueprint N(whacka); extern ActorBlueprint N(buzzar); @@ -29,52 +29,52 @@ Formation N(formation_02) = { Formation N(formation_03) = { { .actor = &N(cleft), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(monty_mole_1), .home = { .index = 2 }, .priority = 9 }, + { .actor = &N(monty_mole), .home = { .index = 2 }, .priority = 9 }, }; Formation N(formation_04) = { { .actor = &N(cleft), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(monty_mole_1), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(monty_mole_1), .home = { .index = 2 }, .priority = 8 }, + { .actor = &N(monty_mole), .home = { .index = 1 }, .priority = 9 }, + { .actor = &N(monty_mole), .home = { .index = 2 }, .priority = 8 }, }; Formation N(formation_05) = { - { .actor = &N(monty_mole_1), .home = { .index = 1 }, .priority = 10 }, + { .actor = &N(monty_mole), .home = { .index = 1 }, .priority = 10 }, }; Formation N(formation_06) = { - { .actor = &N(monty_mole_1), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(monty_mole_1), .home = { .index = 2 }, .priority = 9 }, + { .actor = &N(monty_mole), .home = { .index = 1 }, .priority = 10 }, + { .actor = &N(monty_mole), .home = { .index = 2 }, .priority = 9 }, }; Formation N(formation_07) = { - { .actor = &N(monty_mole_1), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(monty_mole_1), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(monty_mole_1), .home = { .index = 2 }, .priority = 8 }, + { .actor = &N(monty_mole), .home = { .index = 0 }, .priority = 10 }, + { .actor = &N(monty_mole), .home = { .index = 1 }, .priority = 9 }, + { .actor = &N(monty_mole), .home = { .index = 2 }, .priority = 8 }, }; Formation N(formation_08) = { - { .actor = &N(monty_mole_1), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(monty_mole_1), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(monty_mole_1), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(monty_mole_1), .home = { .index = 3 }, .priority = 7 }, + { .actor = &N(monty_mole), .home = { .index = 0 }, .priority = 10 }, + { .actor = &N(monty_mole), .home = { .index = 1 }, .priority = 9 }, + { .actor = &N(monty_mole), .home = { .index = 2 }, .priority = 8 }, + { .actor = &N(monty_mole), .home = { .index = 3 }, .priority = 7 }, }; Formation N(formation_09) = { - { .actor = &N(monty_mole_1), .home = { .index = 1 }, .priority = 10 }, + { .actor = &N(monty_mole), .home = { .index = 1 }, .priority = 10 }, { .actor = &N(cleft), .home = { .index = 2 }, .priority = 9 }, }; Formation N(formation_0A) = { - { .actor = &N(monty_mole_1), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(monty_mole_1), .home = { .index = 1 }, .priority = 9 }, + { .actor = &N(monty_mole), .home = { .index = 0 }, .priority = 10 }, + { .actor = &N(monty_mole), .home = { .index = 1 }, .priority = 9 }, { .actor = &N(cleft), .home = { .index = 2 }, .priority = 8 }, }; Formation N(formation_0B) = { - { .actor = &N(monty_mole_1), .home = { .index = 0 }, .priority = 10 }, + { .actor = &N(monty_mole), .home = { .index = 0 }, .priority = 10 }, { .actor = &N(cleft), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(monty_mole_1), .home = { .index = 2 }, .priority = 8 }, + { .actor = &N(monty_mole), .home = { .index = 2 }, .priority = 8 }, }; Vec3i N(vector3D_8021853C) = { 90, 70, 0, }; @@ -85,7 +85,7 @@ Formation N(formation_0C) = { Formation N(formation_0D) = { { .actor = &N(cleft), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(monty_mole_1), .home = { .index = 1 }, .priority = 9 }, + { .actor = &N(monty_mole), .home = { .index = 1 }, .priority = 9 }, { .actor = &N(whacka), .home = { .index = 2 }, .priority = 8 }, }; diff --git a/src/battle/area_iwa/stage/iwa_01.c b/src/battle/area_iwa/stage/iwa_01.c index 384802de62..cda04a0a2c 100644 --- a/src/battle/area_iwa/stage/iwa_01.c +++ b/src/battle/area_iwa/stage/iwa_01.c @@ -8,12 +8,6 @@ extern ActorBlueprint N(whacka); extern Formation N(specialFormation_802208E4); -extern EvtScript N(init_80220A50); -extern EvtScript N(takeTurn_802212E4); -extern EvtScript N(idle_80220B0C); -extern EvtScript N(handleEvent_80220B40); -extern EvtScript N(80221414); -extern EvtScript N(80221334); EvtScript N(beforeBattle_80220860) = { EVT_CALL(SetSpriteShading, -1) @@ -50,300 +44,6 @@ Formation N(specialFormation_802208E4) = { { .actor = &N(whacka), .home = { .vec = &N(vector3D_802208D8) }}, }; -s32 N(idleAnimations_80220900)[] = { - STATUS_NORMAL, ANIM_Whacka_Idle, - STATUS_STONE, ANIM_Whacka_Still, - STATUS_SLEEP, ANIM_Whacka_Idle, - STATUS_POISON, ANIM_Whacka_Idle, - STATUS_STOP, ANIM_Whacka_Still, - STATUS_STATIC, ANIM_Whacka_Idle, - STATUS_PARALYZE, ANIM_Whacka_Still, - STATUS_DIZZY, ANIM_Whacka_Idle, - STATUS_FEAR, ANIM_Whacka_Idle, - STATUS_END, -}; - -s32 N(defenseTable_8022094C)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_END, -}; - -s32 N(statusTable_80220958)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, - STATUS_END, -}; - -ActorPartBlueprint N(partsTable_80220A04)[] = { - { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, - .posOffset = { 0, 0, 0 }, - .targetOffset = { 0, 30 }, - .opacity = 255, - .idleAnimations = N(idleAnimations_80220900), - .defenseTable = N(defenseTable_8022094C), - .eventFlags = ACTOR_EVENT_FLAG_0, - .elementImmunityFlags = 0, - .unk_1D = 251, - }, -}; - -ActorBlueprint N(whacka) = { - .flags = ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_40000, - .type = ACTOR_TYPE_WHACKA, - .level = 0, - .maxHP = 99, - .partCount = ARRAY_COUNT(N(partsTable_80220A04)), - .partsData = N(partsTable_80220A04), - .script = &N(init_80220A50), - .statusTable = N(statusTable_80220958), - .escapeChance = 0, - .airLiftChance = 0, - .spookChance = 0, - .baseStatusChance = 0, - .upAndAwayChance = 0, - .spinSmashReq = 4, - .powerBounceChance = 50, - .coinReward = 0, - .size = { 47, 32 }, - .hpBarOffset = { 0, 0 }, - .statusIconOffset = { -20, 40 }, - .statusMessageOffset = { 10, 30 }, -}; - -#include "common/IsSaveVar123.inc.c" - -EvtScript N(init_80220A50) = { - EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_802212E4))) - EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_80220B0C))) - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_80220B40))) - EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(N(IsSaveVar123)) - EVT_IF_EQ(LVar0, 0) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_DISABLED | ACTOR_FLAG_NO_ATTACK | ACTOR_FLAG_NO_DMG_APPLY, 1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, 1) - EVT_END_IF - EVT_RETURN - EVT_END -}; - -EvtScript N(idle_80220B0C) = { - EVT_LABEL(0) - EVT_WAIT(1) - EVT_GOTO(0) - EVT_RETURN - EVT_END -}; - -EvtScript N(handleEvent_80220B40) = { - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_EQ(EVENT_HIT_COMBO) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x2073) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoNormalHit) - EVT_CASE_EQ(EVENT_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Hurt) - EVT_EXEC_WAIT(N(80221334)) - EVT_EXEC_WAIT(DoNormalHit) - EVT_CALL(RandInt, 100, LVar0) - EVT_IF_LE(LVar0, 100) - EVT_EXEC_WAIT(N(80221414)) - EVT_RETURN - EVT_END_IF - EVT_CASE_EQ(EVENT_BURN_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_SET_CONST(LVar2, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(N(80221334)) - EVT_EXEC_WAIT(DoNormalHit) - EVT_CALL(RandInt, 100, LVar0) - EVT_IF_LE(LVar0, 100) - EVT_EXEC_WAIT(N(80221414)) - EVT_RETURN - EVT_END_IF - EVT_CASE_EQ(EVENT_BURN_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_SET_CONST(LVar2, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(N(80221334)) - EVT_EXEC_WAIT(DoNormalHit) - EVT_IF_GE(100, 100) - EVT_EXEC_WAIT(N(80221414)) - EVT_RETURN - EVT_ELSE - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_END_IF - EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoSpinSmashHit) - EVT_CALL(RandInt, 100, LVar0) - EVT_IF_LE(LVar0, 100) - EVT_EXEC_WAIT(N(80221414)) - EVT_RETURN - EVT_END_IF - EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoSpinSmashHit) - EVT_IF_GE(100, 100) - EVT_EXEC_WAIT(N(80221414)) - EVT_RETURN - EVT_ELSE - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_END_IF - EVT_CASE_EQ(EVENT_SHOCK_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoShockHit) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoJumpBack) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoReturnHome) - EVT_CASE_EQ(EVENT_SHOCK_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoShockHit) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_EQ(EVENT_UNKNOWN_TRIGGER) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoImmune) - EVT_CASE_EQ(EVENT_IMMUNE) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoImmune) - EVT_CALL(RandInt, 100, LVar0) - EVT_IF_LE(LVar0, 100) - EVT_EXEC_WAIT(N(80221414)) - EVT_RETURN - EVT_END_IF - EVT_CASE_EQ(EVENT_AIR_LIFT_FAILED) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoImmune) - EVT_CALL(RandInt, 100, LVar0) - EVT_IF_LE(LVar0, 100) - EVT_EXEC_WAIT(N(80221414)) - EVT_RETURN - EVT_END_IF - EVT_CASE_EQ(EVENT_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Hurt) - EVT_EXEC_WAIT(N(80221334)) - EVT_EXEC_WAIT(DoNormalHit) - EVT_WAIT(10) - EVT_IF_GE(100, 100) - EVT_EXEC_WAIT(N(80221414)) - EVT_RETURN - EVT_ELSE - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_END_IF - EVT_CASE_EQ(EVENT_RECOVER_STATUS) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoRecover) - EVT_CASE_EQ(EVENT_SCARE_AWAY) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_SET_CONST(LVar2, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoScareAway) - EVT_RETURN - EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoAirLift) - EVT_CASE_EQ(EVENT_BLOW_AWAY) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoBlowAway) - EVT_RETURN - EVT_CASE_DEFAULT - EVT_END_SWITCH - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END -}; - -EvtScript N(takeTurn_802212E4) = { - EVT_CALL(RandInt, 100, LVar0) - EVT_IF_LE(LVar0, 100) - EVT_EXEC_WAIT(N(80221414)) - EVT_RETURN - EVT_END_IF - EVT_RETURN - EVT_END -}; - -EvtScript N(80221334) = { - EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x2073) - EVT_THREAD - EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Whacka_Idle) - EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 5) - EVT_ADD(LVar1, 20) - EVT_ADD(LVar2, 10) - EVT_CALL(MakeItemEntity, ITEM_WHACKAS_BUMP, LVar0, LVar1, LVar2, 12, 0) - EVT_END_THREAD - EVT_RETURN - EVT_END -}; - -EvtScript N(80221414) = { - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_DIG) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Whacka_Burrow) - EVT_WAIT(40) - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) - EVT_IF_NE(LVar0, 0) - EVT_CALL(SetBattleFlagBits2, 0x10000000, 1) - EVT_END_IF - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, 1) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_DISABLED | ACTOR_FLAG_NO_ATTACK | ACTOR_FLAG_NO_DMG_APPLY, 1) - EVT_CALL(RemoveActor, ACTOR_SELF) - EVT_RETURN - EVT_END -}; +#define NAMESPACE b_area_iwa_iwa_01_whacka +#include "battle/common/actor/whacka.inc.c" +#define NAMESPACE b_area_iwa_iwa_01 diff --git a/src/battle/area_iwa/stage/iwa_02.c b/src/battle/area_iwa/stage/iwa_02.c index 7137996324..63fae9e042 100644 --- a/src/battle/area_iwa/stage/iwa_02.c +++ b/src/battle/area_iwa/stage/iwa_02.c @@ -7,12 +7,6 @@ #define NAMESPACE b_area_iwa_iwa_02 extern ActorBlueprint N(whacka); -extern EvtScript N(init_8022176C); -extern EvtScript N(takeTurn_80222000); -extern EvtScript N(idle_80221828); -extern EvtScript N(handleEvent_8022185C); -extern EvtScript N(80222050); -extern EvtScript N(80222130); EvtScript N(beforeBattle_80221590) = { EVT_CALL(SetSpriteShading, -1) @@ -45,300 +39,6 @@ Formation N(specialFormation_whacka) = { { .actor = &N(whacka), .home = { .vec = &N(D_802215F4_4B17E4) }}, }; -s32 N(idleAnimations_8022161C)[] = { - STATUS_NORMAL, ANIM_Whacka_Idle, - STATUS_STONE, ANIM_Whacka_Still, - STATUS_SLEEP, ANIM_Whacka_Idle, - STATUS_POISON, ANIM_Whacka_Idle, - STATUS_STOP, ANIM_Whacka_Still, - STATUS_STATIC, ANIM_Whacka_Idle, - STATUS_PARALYZE, ANIM_Whacka_Still, - STATUS_DIZZY, ANIM_Whacka_Idle, - STATUS_FEAR, ANIM_Whacka_Idle, - STATUS_END, -}; - -s32 N(defenseTable_80221668)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_END, -}; - -s32 N(statusTable_80221674)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, - STATUS_END, -}; - -ActorPartBlueprint N(partsTable_80221720)[] = { - { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, - .posOffset = { 0, 0, 0 }, - .targetOffset = { 0, 30 }, - .opacity = 255, - .idleAnimations = N(idleAnimations_8022161C), - .defenseTable = N(defenseTable_80221668), - .eventFlags = ACTOR_EVENT_FLAG_0, - .elementImmunityFlags = 0, - .unk_1D = 251, - }, -}; - -ActorBlueprint N(whacka) = { - .flags = ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_40000, - .type = ACTOR_TYPE_WHACKA, - .level = 0, - .maxHP = 99, - .partCount = ARRAY_COUNT(N(partsTable_80221720)), - .partsData = N(partsTable_80221720), - .script = &N(init_8022176C), - .statusTable = N(statusTable_80221674), - .escapeChance = 0, - .airLiftChance = 0, - .spookChance = 0, - .baseStatusChance = 0, - .upAndAwayChance = 0, - .spinSmashReq = 4, - .powerBounceChance = 50, - .coinReward = 0, - .size = { 47, 32 }, - .hpBarOffset = { 0, 0 }, - .statusIconOffset = { -20, 40 }, - .statusMessageOffset = { 10, 30 }, -}; - -#include "common/IsSaveVar123.inc.c" - -EvtScript N(init_8022176C) = { - EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_80222000))) - EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_80221828))) - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_8022185C))) - EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(N(IsSaveVar123)) - EVT_IF_EQ(LVar0, 0) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_DISABLED | ACTOR_FLAG_NO_ATTACK | ACTOR_FLAG_NO_DMG_APPLY, 1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, 1) - EVT_END_IF - EVT_RETURN - EVT_END -}; - -EvtScript N(idle_80221828) = { - EVT_LABEL(0) - EVT_WAIT(1) - EVT_GOTO(0) - EVT_RETURN - EVT_END -}; - -EvtScript N(handleEvent_8022185C) = { - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_EQ(EVENT_HIT_COMBO) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x2073) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoNormalHit) - EVT_CASE_EQ(EVENT_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Hurt) - EVT_EXEC_WAIT(N(80222050)) - EVT_EXEC_WAIT(DoNormalHit) - EVT_CALL(RandInt, 100, LVar0) - EVT_IF_LE(LVar0, 100) - EVT_EXEC_WAIT(N(80222130)) - EVT_RETURN - EVT_END_IF - EVT_CASE_EQ(EVENT_BURN_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_SET_CONST(LVar2, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(N(80222050)) - EVT_EXEC_WAIT(DoNormalHit) - EVT_CALL(RandInt, 100, LVar0) - EVT_IF_LE(LVar0, 100) - EVT_EXEC_WAIT(N(80222130)) - EVT_RETURN - EVT_END_IF - EVT_CASE_EQ(EVENT_BURN_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_SET_CONST(LVar2, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(N(80222050)) - EVT_EXEC_WAIT(DoNormalHit) - EVT_IF_GE(100, 100) - EVT_EXEC_WAIT(N(80222130)) - EVT_RETURN - EVT_ELSE - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_END_IF - EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoSpinSmashHit) - EVT_CALL(RandInt, 100, LVar0) - EVT_IF_LE(LVar0, 100) - EVT_EXEC_WAIT(N(80222130)) - EVT_RETURN - EVT_END_IF - EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoSpinSmashHit) - EVT_IF_GE(100, 100) - EVT_EXEC_WAIT(N(80222130)) - EVT_RETURN - EVT_ELSE - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_END_IF - EVT_CASE_EQ(EVENT_SHOCK_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoShockHit) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoJumpBack) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoReturnHome) - EVT_CASE_EQ(EVENT_SHOCK_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoShockHit) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_EQ(EVENT_UNKNOWN_TRIGGER) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoImmune) - EVT_CASE_EQ(EVENT_IMMUNE) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoImmune) - EVT_CALL(RandInt, 100, LVar0) - EVT_IF_LE(LVar0, 100) - EVT_EXEC_WAIT(N(80222130)) - EVT_RETURN - EVT_END_IF - EVT_CASE_EQ(EVENT_AIR_LIFT_FAILED) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoImmune) - EVT_CALL(RandInt, 100, LVar0) - EVT_IF_LE(LVar0, 100) - EVT_EXEC_WAIT(N(80222130)) - EVT_RETURN - EVT_END_IF - EVT_CASE_EQ(EVENT_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Hurt) - EVT_EXEC_WAIT(N(80222050)) - EVT_EXEC_WAIT(DoNormalHit) - EVT_WAIT(10) - EVT_IF_GE(100, 100) - EVT_EXEC_WAIT(N(80222130)) - EVT_RETURN - EVT_ELSE - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_END_IF - EVT_CASE_EQ(EVENT_RECOVER_STATUS) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoRecover) - EVT_CASE_EQ(EVENT_SCARE_AWAY) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_SET_CONST(LVar2, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoScareAway) - EVT_RETURN - EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoAirLift) - EVT_CASE_EQ(EVENT_BLOW_AWAY) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) - EVT_EXEC_WAIT(DoBlowAway) - EVT_RETURN - EVT_CASE_DEFAULT - EVT_END_SWITCH - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END -}; - -EvtScript N(takeTurn_80222000) = { - EVT_CALL(RandInt, 100, LVar0) - EVT_IF_LE(LVar0, 100) - EVT_EXEC_WAIT(N(80222130)) - EVT_RETURN - EVT_END_IF - EVT_RETURN - EVT_END -}; - -EvtScript N(80222050) = { - EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x2073) - EVT_THREAD - EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Whacka_Idle) - EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 5) - EVT_ADD(LVar1, 20) - EVT_ADD(LVar2, 10) - EVT_CALL(MakeItemEntity, ITEM_WHACKAS_BUMP, LVar0, LVar1, LVar2, 12, 0) - EVT_END_THREAD - EVT_RETURN - EVT_END -}; - -EvtScript N(80222130) = { - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_DIG) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Whacka_Burrow) - EVT_WAIT(40) - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) - EVT_IF_NE(LVar0, 0) - EVT_CALL(SetBattleFlagBits2, 0x10000000, 1) - EVT_END_IF - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, 1) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_DISABLED | ACTOR_FLAG_NO_ATTACK | ACTOR_FLAG_NO_DMG_APPLY, 1) - EVT_CALL(RemoveActor, ACTOR_SELF) - EVT_RETURN - EVT_END -}; +#define NAMESPACE b_area_iwa_iwa_02_whacka +#include "battle/common/actor/whacka.inc.c" +#define NAMESPACE b_area_iwa_iwa_02 diff --git a/src/battle/area_nok/actor/fuzzy.c b/src/battle/area_nok/actor/fuzzy.c index fd53361f42..5936ee4e7c 100644 --- a/src/battle/area_nok/actor/fuzzy.c +++ b/src/battle/area_nok/actor/fuzzy.c @@ -1,446 +1,5 @@ #include "common.h" -#include "battle/battle.h" -#include "script_api/battle.h" -#include "sprite/npc/Fuzzy.h" #define NAMESPACE b_area_nok_fuzzy -s32 N(defenseTable_80222050)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_END, -}; - -s32 N(statusTable_8022205C)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 95, - STATUS_POISON, 90, - STATUS_FROZEN, 100, - STATUS_DIZZY, 90, - STATUS_FEAR, 0, - STATUS_STATIC, 70, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 75, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, - STATUS_END, -}; - -extern s32 N(idleAnimations_80222154)[]; - -ActorPartBlueprint N(partsTable_80222108)[] = { - { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, - .posOffset = { 0, 0, 0 }, - .targetOffset = { 0, 20 }, - .opacity = 255, - .idleAnimations = N(idleAnimations_80222154), - .defenseTable = N(defenseTable_80222050), - .eventFlags = ACTOR_EVENT_FLAG_0, - .elementImmunityFlags = 0, - .unk_1D = 246, - }, -}; - -extern EvtScript N(init_802221A0); - -ActorBlueprint NAMESPACE = { - .flags = 0, - .type = ACTOR_TYPE_FUZZY, - .level = 6, - .maxHP = 3, - .partCount = ARRAY_COUNT(N(partsTable_80222108)), - .partsData = N(partsTable_80222108), - .script = &N(init_802221A0), - .statusTable = N(statusTable_8022205C), - .escapeChance = 50, - .airLiftChance = 95, - .spookChance = 95, - .baseStatusChance = 95, - .upAndAwayChance = 95, - .spinSmashReq = 0, - .powerBounceChance = 100, - .coinReward = 1, - .size = { 33, 28 }, - .hpBarOffset = { 0, 0 }, - .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, -}; - -s32 N(idleAnimations_80222154)[] = { - STATUS_NORMAL, ANIM_Fuzzy_Anim01, - STATUS_STONE, ANIM_Fuzzy_Anim00, - STATUS_SLEEP, ANIM_Fuzzy_Anim0E, - STATUS_POISON, ANIM_Fuzzy_Anim01, - STATUS_STOP, ANIM_Fuzzy_Anim00, - STATUS_STATIC, ANIM_Fuzzy_Anim01, - STATUS_PARALYZE, ANIM_Fuzzy_Anim00, - STATUS_DIZZY, ANIM_Fuzzy_Anim0F, - STATUS_FEAR, ANIM_Fuzzy_Anim0F, - STATUS_END, -}; - -extern EvtScript N(takeTurn_80222860); -extern EvtScript N(idle_802221EC); -extern EvtScript N(handleEvent_802221FC); - -EvtScript N(init_802221A0) = { - EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_80222860))) - EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_802221EC))) - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_802221FC))) - EVT_RETURN - EVT_END -}; - -EvtScript N(idle_802221EC) = { - EVT_RETURN - EVT_END -}; - -EvtScript N(handleEvent_802221FC) = { - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_OR_EQ(9) - EVT_CASE_OR_EQ(10) - EVT_CALL(GetLastElement, LVar0) - EVT_IF_FLAG(LVar0, 0x20) - EVT_SET_CONST(LVar0, 0x00000001) - EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim13) - EVT_ELSE - EVT_SET_CONST(LVar0, 0x00000001) - EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim08) - EVT_END_IF - EVT_EXEC_WAIT(DoNormalHit) - EVT_END_CASE_GROUP - EVT_CASE_EQ(14) - EVT_SET_CONST(LVar0, 0x00000001) - EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim10) - EVT_SET_CONST(LVar2, ANIM_Fuzzy_Anim12) - EVT_EXEC_WAIT(DoBurnHit) - EVT_CASE_EQ(36) - EVT_SET_CONST(LVar0, 0x00000001) - EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim10) - EVT_SET_CONST(LVar2, ANIM_Fuzzy_Anim12) - EVT_EXEC_WAIT(DoBurnHit) - EVT_SET_CONST(LVar0, 0x00000001) - EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim12) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_EQ(11) - EVT_SET_CONST(LVar0, 0x00000001) - EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim08) - EVT_EXEC_WAIT(DoSpinSmashHit) - EVT_CASE_EQ(33) - EVT_SET_CONST(LVar0, 0x00000001) - EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim08) - EVT_EXEC_WAIT(DoSpinSmashHit) - EVT_SET_CONST(LVar0, 0x00000001) - EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim08) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_EQ(47) - EVT_SET_CONST(LVar0, 0x00000001) - EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim13) - EVT_EXEC_WAIT(DoShockHit) - EVT_SET_CONST(LVar0, 0x00000001) - EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim13) - EVT_EXEC_WAIT(DoJumpBack) - EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_SET_CONST(LVar0, 0x00000001) - EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim03) - EVT_EXEC_WAIT(D_8029C0A4) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) - EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CASE_EQ(38) - EVT_SET_CONST(LVar0, 0x00000001) - EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim13) - EVT_EXEC_WAIT(DoShockHit) - EVT_SET_CONST(LVar0, 0x00000001) - EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim08) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_OR_EQ(23) - EVT_CASE_OR_EQ(25) - EVT_CASE_OR_EQ(31) - EVT_SET_CONST(LVar0, 0x00000001) - EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim01) - EVT_EXEC_WAIT(DoImmune) - EVT_END_CASE_GROUP - EVT_CASE_EQ(32) - EVT_CALL(GetLastElement, LVar0) - EVT_IF_FLAG(LVar0, 0x20) - EVT_SET_CONST(LVar0, 0x00000001) - EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim13) - EVT_EXEC_WAIT(DoNormalHit) - EVT_WAIT(10) - EVT_SET_CONST(LVar0, 0x00000001) - EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim13) - EVT_EXEC_WAIT(DoDeath) - EVT_ELSE - EVT_SET_CONST(LVar0, 0x00000001) - EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim08) - EVT_EXEC_WAIT(DoNormalHit) - EVT_WAIT(10) - EVT_SET_CONST(LVar0, 0x00000001) - EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim08) - EVT_EXEC_WAIT(DoDeath) - EVT_END_IF - EVT_RETURN - EVT_CASE_EQ(49) - EVT_SET_CONST(LVar0, 0x00000001) - EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim01) - EVT_EXEC_WAIT(DoRecover) - EVT_CASE_EQ(57) - EVT_SET_CONST(LVar0, 0x00000001) - EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim03) - EVT_SET_CONST(LVar2, ANIM_Fuzzy_Anim09) - EVT_EXEC_WAIT(DoScareAway) - EVT_RETURN - EVT_CASE_EQ(58) - EVT_SET_CONST(LVar0, 0x00000001) - EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim03) - EVT_EXEC_WAIT(DoAirLift) - EVT_CASE_EQ(22) - EVT_SET_CONST(LVar0, 0x00000001) - EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim03) - EVT_EXEC_WAIT(DoBlowAway) - EVT_RETURN - EVT_CASE_DEFAULT - EVT_END_SWITCH - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END -}; - -#include "common/UnkBattleFunc2.inc.c" - -EvtScript N(takeTurn_80222860) = { - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) - EVT_CALL(BattleCamTargetActor, ACTOR_SELF) - EVT_CALL(func_8024ECF8, -1, 1, 0) - EVT_CALL(GetBattlePhase, LVar0) - EVT_IF_EQ(LVar0, 1) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 50) - EVT_SET(LVar1, 0) - EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_GOTO(100) - EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Anim03) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 50) - EVT_SET(LVar1, 0) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_EXEC_WAIT(D_8029C12C) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Anim01) - EVT_LABEL(100) - EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 10, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Anim04) - EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 9, 0) - EVT_WAIT(1) - EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 8, 0) - EVT_WAIT(5) - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE, 0, 1, 16) - EVT_SWITCH(LVar0) - EVT_CASE_OR_EQ(6) - EVT_CASE_OR_EQ(5) - EVT_SET(LVarA, LVar0) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_SUB(LVar0, 5) - EVT_SET(LVar1, 0) - EVT_SUB(LVar2, 5) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Anim05) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 11, FALSE, TRUE, FALSE) - EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Anim09) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_SUB(LVar0, 20) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0)) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_SUB(LVar0, 15) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0)) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_WAIT(4) - EVT_WAIT(5) - EVT_IF_EQ(LVarA, 5) - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) - EVT_END_IF - EVT_WAIT(5) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) - EVT_CALL(YieldTurn) - EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Anim03) - EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_EXEC_WAIT(D_8029C12C) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END_CASE_GROUP - EVT_CASE_EQ(7) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_FLAG(LVar0, 0x2000) - EVT_SET(LocalFlag(0), 0) - EVT_ELSE - EVT_SET(LocalFlag(0), 1) - EVT_END_IF - EVT_END_SWITCH - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(AddGoalPos, ACTOR_SELF, -3, -12, -15) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Anim05) - EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) - EVT_IF_EQ(LocalFlag(0), 1) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, 0, 32) - EVT_RETURN - EVT_END_IF - EVT_WAIT(10) - EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, FALSE) - EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, 0x03000C) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x3E0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Anim07) - EVT_WAIT(21) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Anim00) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 330) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x3E0) - EVT_CALL(SetActorDispOffset, ACTOR_SELF, -3, -2, 0) - EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_WAIT(1) - EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.9), EVT_FLOAT(1.2), EVT_FLOAT(1.0)) - EVT_WAIT(1) - EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.8), EVT_FLOAT(1.3), EVT_FLOAT(1.0)) - EVT_WAIT(1) - EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.7), EVT_FLOAT(1.4), EVT_FLOAT(1.0)) - EVT_WAIT(1) - EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.7), EVT_FLOAT(1.5), EVT_FLOAT(1.0)) - EVT_WAIT(2) - EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.6), EVT_FLOAT(1.6), EVT_FLOAT(1.0)) - EVT_WAIT(10) - EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, 1, 32) - EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Anim01) - EVT_SWITCH(LVar0) - EVT_CASE_OR_EQ(0) - EVT_CASE_OR_EQ(2) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) - EVT_CALL(GetLastDamage, 0, LVar3) - EVT_IF_NE(LVar3, 0) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x206D) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x214) - EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, 10) - EVT_CALL(N(UnkBattleFunc2), LVar0, LVar1, LVar2, LVar3) - EVT_THREAD - EVT_WAIT(15) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_25C) - EVT_CALL(N(UnkBattleFunc2_2), LVar0, LVar1, LVar2, LVar3) - EVT_END_THREAD - EVT_ADD(LVar0, 20) - EVT_ADD(LVar1, 20) - EVT_CALL(PlayEffect, 0x40, 0, LVar0, LVar1, LVar2, LVar3, 0, 0, 0, 0, 0, 0, 0, 0) - EVT_CALL(GetActorHP, -127, LVar0) - EVT_ADD(LVar0, LVar3) - EVT_CALL(SetEnemyHP, -127, LVar0) - EVT_END_IF - EVT_THREAD - EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.6), EVT_FLOAT(0.6), EVT_FLOAT(1.0)) - EVT_CALL(SetActorRotationOffset, -127, 0, 10, 0) - EVT_WAIT(1) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 330) - EVT_WAIT(1) - EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.7), EVT_FLOAT(1.5), EVT_FLOAT(1.0)) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 300) - EVT_WAIT(1) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 270) - EVT_WAIT(1) - EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(0.7), EVT_FLOAT(1.0)) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 240) - EVT_WAIT(1) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 210) - EVT_WAIT(1) - EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.7), EVT_FLOAT(1.4), EVT_FLOAT(1.0)) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 180) - EVT_WAIT(2) - EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(0.7), EVT_FLOAT(1.0)) - EVT_WAIT(2) - EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.2), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) - EVT_END_THREAD - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 40) - EVT_SET(LVar1, 0) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.4), EVT_FLOAT(0.2), EVT_FLOAT(1.0)) - EVT_WAIT(1) - EVT_THREAD - EVT_WAIT(1) - EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.2), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 150) - EVT_WAIT(1) - EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 120) - EVT_WAIT(1) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 90) - EVT_WAIT(1) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 60) - EVT_WAIT(1) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 30) - EVT_WAIT(1) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetActorRotationOffset, -127, 0, 0, 0) - EVT_END_THREAD - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 30) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) - EVT_WAIT(5) - EVT_CALL(YieldTurn) - EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Anim03) - EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_EXEC_WAIT(D_8029C12C) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Anim01) - EVT_END_CASE_GROUP - EVT_END_SWITCH - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END -}; +#include "battle/common/actor/fuzzy.inc.c" diff --git a/src/battle/area_omo/actor/red_shy_guy.c b/src/battle/area_omo/actor/red_shy_guy.c index 0a99dc3c05..29b5157da7 100644 --- a/src/battle/area_omo/actor/red_shy_guy.c +++ b/src/battle/area_omo/actor/red_shy_guy.c @@ -1,495 +1,5 @@ #include "common.h" -#include "battle/battle.h" -#include "script_api/battle.h" -#include "sprite/npc/ShyGuy.h" #define NAMESPACE b_area_omo_red_shy_guy -extern s32 N(idleAnimations_8021931C)[]; -extern EvtScript N(init_80219368); -extern EvtScript N(takeTurn_8021ACB4); -extern EvtScript N(idle_802193B4); -extern EvtScript N(handleEvent_80219528); - -s32 N(defenseTable_80219210)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_SHOCK, 0, - ELEMENT_END, -}; - -s32 N(statusTable_80219224)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 70, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 90, - STATUS_FEAR, 100, - STATUS_STATIC, 50, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, - STATUS_END, -}; - -ActorPartBlueprint N(partsTable_802192D0)[] = { - { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, - .posOffset = { 0, 0, 0 }, - .targetOffset = { 0, 24 }, - .opacity = 255, - .idleAnimations = N(idleAnimations_8021931C), - .defenseTable = N(defenseTable_80219210), - .eventFlags = ACTOR_EVENT_FLAG_0, - .elementImmunityFlags = 0, - .unk_1C = 0xFF, - .unk_1D = 0xF6, - }, -}; - -ActorBlueprint NAMESPACE = { - .flags = 0, - .type = ACTOR_TYPE_SHY_GUY, - .level = 14, - .maxHP = 7, - .partCount = ARRAY_COUNT(N(partsTable_802192D0)), - .partsData = N(partsTable_802192D0), - .script = &N(init_80219368), - .statusTable = N(statusTable_80219224), - .escapeChance = 60, - .airLiftChance = 85, - .spookChance = 80, - .baseStatusChance = 80, - .upAndAwayChance = 95, - .spinSmashReq = 0, - .powerBounceChance = 100, - .coinReward = 1, - .size = { 28, 24 }, - .hpBarOffset = { 0, 0 }, - .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, -}; - -s32 N(idleAnimations_8021931C)[] = { - STATUS_NORMAL, ANIM_ShyGuy_Red_Anim01, - STATUS_STONE, ANIM_ShyGuy_Red_Anim00, - STATUS_SLEEP, ANIM_ShyGuy_Red_Anim12, - STATUS_POISON, ANIM_ShyGuy_Red_Anim01, - STATUS_STOP, ANIM_ShyGuy_Red_Anim00, - STATUS_STATIC, ANIM_ShyGuy_Red_Anim01, - STATUS_PARALYZE, ANIM_ShyGuy_Red_Anim00, - STATUS_DIZZY, ANIM_ShyGuy_Red_Anim13, - STATUS_FEAR, ANIM_ShyGuy_Red_Anim13, - STATUS_END, -}; - -EvtScript N(init_80219368) = { - EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_8021ACB4))) - EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_802193B4))) - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_80219528))) - EVT_RETURN - EVT_END -}; - -#include "common/UnkBattleFunc1.inc.c" - -EvtScript N(idle_802193B4) = { - EVT_LABEL(0) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -4, 14) - EVT_CALL(func_8027D4C8, ACTOR_SELF, 1, 0, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 13, 10, 13) - EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 24) - EVT_CALL(func_8027D4C8, ACTOR_SELF, 1, -1, -10) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) - EVT_END_IF - EVT_WAIT(1) - EVT_GOTO(0) - EVT_RETURN - EVT_END -}; - -EvtScript N(802194C4) = { - EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim03) - EVT_EXEC_WAIT(DoReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim01) - EVT_RETURN - EVT_END -}; - -EvtScript N(handleEvent_80219528) = { - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_OR_EQ(EVENT_HIT_COMBO) - EVT_CASE_OR_EQ(EVENT_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) - EVT_EXEC_WAIT(DoNormalHit) - EVT_END_CASE_GROUP - EVT_CASE_EQ(EVENT_BURN_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0D) - EVT_SET_CONST(LVar2, ANIM_ShyGuy_Red_Anim0E) - EVT_EXEC_WAIT(DoBurnHit) - EVT_CASE_EQ(EVENT_BURN_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0D) - EVT_SET_CONST(LVar2, ANIM_ShyGuy_Red_Anim0E) - EVT_EXEC_WAIT(DoBurnHit) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0E) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) - EVT_EXEC_WAIT(DoSpinSmashHit) - EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) - EVT_EXEC_WAIT(DoSpinSmashHit) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_EQ(EVENT_SHOCK_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) - EVT_EXEC_WAIT(DoShockHit) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) - EVT_EXEC_WAIT(DoJumpBack) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_EXEC_WAIT(N(802194C4)) - EVT_CASE_EQ(EVENT_SHOCK_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) - EVT_EXEC_WAIT(DoShockHit) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER) - EVT_CASE_OR_EQ(EVENT_IMMUNE) - EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim01) - EVT_EXEC_WAIT(DoImmune) - EVT_END_CASE_GROUP - EVT_CASE_EQ(EVENT_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) - EVT_EXEC_WAIT(DoNormalHit) - EVT_WAIT(10) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_EQ(EVENT_RECOVER_STATUS) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim01) - EVT_EXEC_WAIT(DoRecover) - EVT_CASE_EQ(EVENT_SCARE_AWAY) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim03) - EVT_SET_CONST(LVar2, ANIM_ShyGuy_Red_Anim14) - EVT_EXEC_WAIT(DoScareAway) - EVT_RETURN - EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) - EVT_EXEC_WAIT(DoAirLift) - EVT_CASE_EQ(EVENT_BLOW_AWAY) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) - EVT_EXEC_WAIT(DoBlowAway) - EVT_RETURN - EVT_CASE_DEFAULT - EVT_END_SWITCH - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END -}; - -EvtScript N(80219A04) = { - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) - EVT_CALL(BattleCamTargetActor, ACTOR_SELF) - EVT_CALL(MoveBattleCamOver, 20) - EVT_CALL(func_8024ECF8, -1, 1, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim03) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 50) - EVT_SET(LVar1, 0) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) - EVT_SWITCH(LVar0) - EVT_CASE_OR_EQ(HIT_RESULT_MISS) - EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) - EVT_SET(LVarA, LVar0) - EVT_CALL(SetActorSounds, ACTOR_SELF, 2, 751, 0) - EVT_CALL(SetActorSounds, ACTOR_SELF, 0, 8378, 948) - EVT_CALL(SetActorSounds, ACTOR_SELF, 4, 10, 0) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim04) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim05) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) - EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_SUB(LVar0, 30) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) - EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) - EVT_END_IF - EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_SUB(LVar0, 20) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) - EVT_WAIT(15) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) - EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim04) - EVT_EXEC_WAIT(DoReturnHome) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim01) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END_CASE_GROUP - EVT_END_SWITCH - EVT_THREAD - EVT_WAIT(3) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x2EF) - EVT_END_THREAD - EVT_CALL(SetActorSounds, ACTOR_SELF, 0, 8378, 948) - EVT_CALL(SetActorSounds, ACTOR_SELF, 4, 10, 0) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim04) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 10) - EVT_SET(LVar1, 0) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim05) - EVT_WAIT(2) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) - EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) - EVT_CALL(MoveBattleCamOver, 15) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 30) - EVT_SET(LVar1, 0) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim01) - EVT_WAIT(8) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_EXEC_WAIT(N(802194C4)) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END -}; - -EvtScript N(8021A12C) = { - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) - EVT_CALL(BattleCamTargetActor, ACTOR_SELF) - EVT_CALL(MoveBattleCamOver, 20) - EVT_CALL(func_8024ECF8, -1, 1, 0) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x234) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim09) - EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim03) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 80) - EVT_SET(LVar1, 0) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetActorSounds, ACTOR_SELF, 0, 8378, 948) - EVT_CALL(SetActorSounds, ACTOR_SELF, 4, 10, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim04) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) - EVT_SUB(LVar0, 40) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) - EVT_SWITCH(LVar0) - EVT_CASE_OR_EQ(HIT_RESULT_MISS) - EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) - EVT_SET(LVarA, LVar0) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim09) - EVT_THREAD - EVT_WAIT(12) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim0A) - EVT_END_THREAD - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_SUB(LVar0, 10) - EVT_SET(LVar1, 0) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 24, FALSE, TRUE, FALSE) - EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) - EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim05) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) - EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_SUB(LVar0, 30) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) - EVT_SUB(LVar0, 20) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) - EVT_WAIT(15) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) - EVT_CALL(MoveBattleCamOver, 15) - EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim04) - EVT_EXEC_WAIT(DoReturnHome) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim01) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END_CASE_GROUP - EVT_END_SWITCH - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim09) - EVT_THREAD - EVT_WAIT(9) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim0A) - EVT_END_THREAD - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(JumpToGoal, ACTOR_SELF, 18, FALSE, TRUE, FALSE) - EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) - EVT_SWITCH(LVar0) - EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) - EVT_CALL(MoveBattleCamOver, 15) - EVT_THREAD - EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 14, 0) - EVT_SET(LVar3, 0) - EVT_LOOP(20) - EVT_SUB(LVar3, 30) - EVT_IF_LT(LVar3, 0) - EVT_ADD(LVar3, 360) - EVT_END_IF - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar3) - EVT_WAIT(1) - EVT_END_LOOP - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) - EVT_END_THREAD - EVT_CALL(GetBattleFlags, LVar0) - EVT_IF_FLAG(LVar0, BS_FLAGS1_ATK_BLOCKED) - EVT_GOTO(1) - EVT_END_IF - EVT_CALL(GetLastDamage, ACTOR_PLAYER, LVar0) - EVT_IF_EQ(LVar0, 0) - EVT_GOTO(1) - EVT_END_IF - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 40) - EVT_SET(LVar1, 0) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x349) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x749) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim09) - EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim07) - EVT_WAIT(15) - EVT_GOTO(2) - EVT_LABEL(1) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 40) - EVT_SET(LVar1, 0) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x20E4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim10) - EVT_WAIT(10) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x20C3) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) - EVT_CALL(RandInt, 100, LVar0) - EVT_IF_LT(LVar0, 50) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim11) - EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim13) - EVT_END_IF - EVT_WAIT(25) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_LABEL(2) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim04) - EVT_EXEC_WAIT(DoReturnHome) - EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim01) - EVT_END_CASE_GROUP - EVT_END_SWITCH - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END -}; - -EvtScript N(takeTurn_8021ACB4) = { - EVT_CALL(RandInt, 1, LVar0) - EVT_IF_EQ(LVar0, 0) - EVT_EXEC_WAIT(N(80219A04)) - EVT_ELSE - EVT_EXEC_WAIT(N(8021A12C)) - EVT_END_IF - EVT_RETURN - EVT_END -}; +#include "battle/common/actor/red_shy_guy.inc.c" diff --git a/src/battle/area_omo/stage/omo_01.c b/src/battle/area_omo/stage/omo_01.c index bc285e8342..9021d37576 100644 --- a/src/battle/area_omo/stage/omo_01.c +++ b/src/battle/area_omo/stage/omo_01.c @@ -1,28 +1,81 @@ #include "common.h" #include "battle/battle.h" +#include "mapfs/omo_bt01_shape.h" +#include "model.h" #define NAMESPACE b_area_omo_omo_01 -ApiStatus func_80218FB0_513580(Evt* script, s32 isInitialCall); -INCLUDE_ASM(s32, "battle/area_omo/513580", func_80218FB0_513580); +extern EvtScript N(updateModels); -s32 D_8022DA30_528000 = 25; +s32 N(modelList)[] = { MODEL_uma }; -EvtScript N(8022DA34) = { - EVT_CALL(func_80218FB0_513580) +typedef struct Omo01Struct { + /* 0x00 */ f32 offsetX; + /* 0x04 */ f32 offsetZ; + /* 0x08 */ f32 rotSpeed; + /* 0x0C */ f32 angle; + /* 0x10 */ s32 modelID; + /* 0x14 */ s32 unk_14; +} Omo01Struct; // size = 0x18 + +ApiStatus N(update_model_uma)(Evt* script, s32 isInitialCall) { + Omo01Struct* ptr; + Model* model; + f32 rotZ; + f32 offsetY; + s32 i; + Matrix4f mtx1; + Matrix4f mtx2; + + if (isInitialCall) { + ptr = heap_malloc(sizeof(*ptr)); + script->functionTempPtr[0] = ptr; + + for (i = 0; i == 0; i++, ptr++) { + ptr->modelID = N(modelList)[i]; + ptr->unk_14 = ((s32*)N(updateModels))[i]; // WTF ??? + model = get_model_from_list_index(get_model_list_index_from_tree_index(ptr->modelID)); + ptr->offsetX = 0.0f; + ptr->offsetZ = 0.0f; + ptr->rotSpeed = 3.5f; + ptr->angle = 0.0f; + } + } + + ptr = script->functionTempPtr[0]; + for (i = 0; i == 0; i++, ptr++) { + ptr->angle += ptr->rotSpeed; + ptr->angle = clamp_angle(ptr->angle); + + rotZ = sin_rad(ptr->angle * 3.14f / 180.0f) * 20.0f; // the value of PI xD + offsetY = SQ(rotZ) / 90.0f; + + model = get_model_from_list_index(get_model_list_index_from_tree_index(ptr->modelID)); + model->flags |= MODEL_FLAGS_USES_TRANSFORM_MATRIX | MODEL_FLAGS_HAS_TRANSFORM_APPLIED; + guTranslateF(mtx1, -ptr->offsetX, 0.0f, -ptr->offsetZ); + guRotateF(mtx2, rotZ, 0.0f, 0.0f, 1.0f); + guMtxCatF(mtx1, mtx2, model->transformMatrix); + guTranslateF(mtx1, ptr->offsetX, offsetY, ptr->offsetZ); + guMtxCatF(model->transformMatrix, mtx1, model->transformMatrix); + } + return ApiStatus_BLOCK; +} + +EvtScript N(updateModels) = { + EVT_CALL(N(update_model_uma)) EVT_RETURN EVT_END }; -EvtScript N(beforeBattle_8022DA50) = { +EvtScript N(beforeBattle) = { EVT_CALL(SetSpriteShading, -1) EVT_CALL(SetCamBGColor, 1, 0, 0, 0) EVT_THREAD EVT_SETF(LVar0, EVT_FLOAT(0.0)) EVT_SETF(LVar1, EVT_FLOAT(0.0)) EVT_LOOP(0) - EVT_CALL(RotateModel, 23, LVar1, 0, 0, 1) - EVT_CALL(RotateModel, 21, LVar0, 0, 0, 1) + EVT_CALL(RotateModel, MODEL_o367, LVar1, 0, 0, 1) + EVT_CALL(RotateModel, MODEL_hari, LVar0, 0, 0, 1) EVT_SUBF(LVar0, EVT_FLOAT(0.6)) EVT_SUBF(LVar1, EVT_FLOAT(7.2)) EVT_CALL(ClampAngleFloat, LVar0) @@ -30,12 +83,12 @@ EvtScript N(beforeBattle_8022DA50) = { EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD - EVT_EXEC(N(8022DA34)) + EVT_EXEC(N(updateModels)) EVT_RETURN EVT_END }; -EvtScript N(afterBattle_8022DB68) = { +EvtScript N(afterBattle) = { EVT_RETURN EVT_END }; @@ -45,6 +98,6 @@ Stage NAMESPACE = { .shape = "omo_bt01_shape", .hit = "omo_bt01_hit", .bg = "omo_bg", - .preBattle = &N(beforeBattle_8022DA50), - .postBattle = &N(afterBattle_8022DB68), + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), }; diff --git a/src/battle/area_omo/stage/omo_02.c b/src/battle/area_omo/stage/omo_02.c index 72acc705ac..8c20236967 100644 --- a/src/battle/area_omo/stage/omo_02.c +++ b/src/battle/area_omo/stage/omo_02.c @@ -3,14 +3,14 @@ #define NAMESPACE b_area_omo_omo_02 -EvtScript N(beforeBattle_8022DBA0) = { +EvtScript N(beforeBattle) = { EVT_CALL(SetSpriteShading, -1) EVT_CALL(SetCamBGColor, 1, 0, 0, 0) EVT_RETURN EVT_END }; -EvtScript N(afterBattle_8022DBDC) = { +EvtScript N(afterBattle) = { EVT_RETURN EVT_END }; @@ -20,6 +20,6 @@ Stage NAMESPACE = { .shape = "omo_bt02_shape", .hit = "omo_bt02_hit", .bg = "omo_bg", - .preBattle = &N(beforeBattle_8022DBA0), - .postBattle = &N(afterBattle_8022DBDC), + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), }; diff --git a/src/battle/area_omo/stage/omo_03.c b/src/battle/area_omo/stage/omo_03.c index d24904f42b..ce815deb32 100644 --- a/src/battle/area_omo/stage/omo_03.c +++ b/src/battle/area_omo/stage/omo_03.c @@ -3,7 +3,7 @@ #define NAMESPACE b_area_omo_omo_03 -EvtScript N(beforeBattle_8022DC20) = { +EvtScript N(beforeBattle) = { EVT_CALL(SetSpriteShading, -1) EVT_CALL(SetCamBGColor, 1, 0, 0, 0) EVT_CALL(SetGroupEnabled, 18, 0) @@ -11,7 +11,7 @@ EvtScript N(beforeBattle_8022DC20) = { EVT_END }; -EvtScript N(afterBattle_8022DC70) = { +EvtScript N(afterBattle) = { EVT_RETURN EVT_END }; @@ -21,6 +21,6 @@ Stage NAMESPACE = { .shape = "omo_bt03_shape", .hit = "omo_bt03_hit", .bg = "omo_bg", - .preBattle = &N(beforeBattle_8022DC20), - .postBattle = &N(afterBattle_8022DC70), + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), }; diff --git a/src/battle/area_omo/stage/omo_03b.c b/src/battle/area_omo/stage/omo_03b.c index 56dd3fe298..bf106a0430 100644 --- a/src/battle/area_omo/stage/omo_03b.c +++ b/src/battle/area_omo/stage/omo_03b.c @@ -3,14 +3,14 @@ #define NAMESPACE b_area_omo_omo_03b -EvtScript N(beforeBattle_8022DCB0) = { +EvtScript N(beforeBattle) = { EVT_CALL(SetSpriteShading, -1) EVT_CALL(SetCamBGColor, 1, 0, 0, 0) EVT_RETURN EVT_END }; -EvtScript N(afterBattle_8022DCEC) = { +EvtScript N(afterBattle) = { EVT_RETURN EVT_END }; @@ -20,6 +20,6 @@ Stage NAMESPACE = { .shape = "omo_bt03_shape", .hit = "omo_bt03_hit", .bg = "omo_bg", - .preBattle = &N(beforeBattle_8022DCB0), - .postBattle = &N(afterBattle_8022DCEC), + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), }; diff --git a/src/battle/area_omo/stage/omo_04.c b/src/battle/area_omo/stage/omo_04.c index 22056f3178..f4391cd0d3 100644 --- a/src/battle/area_omo/stage/omo_04.c +++ b/src/battle/area_omo/stage/omo_04.c @@ -1,21 +1,15 @@ #include "common.h" #include "battle/battle.h" #include "script_api/battle.h" +#include "mapfs/omo_bt04_shape.h" #define NAMESPACE b_area_omo_omo_04 -extern Formation N(specialFormation_8022DE64); +extern Formation N(fromation_slot_machine); extern ActorBlueprint N(slot_machine_stop); extern ActorBlueprint N(slot_machine_start); -extern EvtScript N(init_8022E060); -extern EvtScript N(takeTurn_8022F4A8); -extern EvtScript N(idle_8022E1F8); -extern EvtScript N(handleEvent_8022ED54); -BSS char D_80231110[0x250]; -BSS s32 D_80231360[10]; - -EvtScript N(beforeBattle_8022DD30) = { +EvtScript N(beforeBattle) = { EVT_CALL(SetSpriteShading, -1) EVT_CALL(SetCamBGColor, 1, 0, 0, 0) EVT_CALL(SetTexPanner, 29, 10) @@ -31,13 +25,13 @@ EvtScript N(beforeBattle_8022DD30) = { EVT_END }; -EvtScript N(afterBattle_8022DDEC) = { +EvtScript N(afterBattle) = { EVT_RETURN EVT_END }; -s32 N(foregroundModelList_8022DDFC)[] = { - 0x00000012, 0x00000011, 0x0000000D, 0x00000000, +s32 N(foregroundModelList)[] = { + MODEL_itigo, MODEL_kisya, MODEL_kusari, 0, }; Stage NAMESPACE = { @@ -45,473 +39,25 @@ Stage NAMESPACE = { .shape = "omo_bt04_shape", .hit = "omo_bt04_hit", .bg = "omo_bg", - .preBattle = &N(beforeBattle_8022DD30), - .postBattle = &N(afterBattle_8022DDEC), - .foregroundModelList = N(foregroundModelList_8022DDFC), + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), + .foregroundModelList = N(foregroundModelList), .specialFormationSize = 4, - .specialFormation = &N(specialFormation_8022DE64), + .specialFormation = &N(fromation_slot_machine), }; -Vec3i N(vector3D_8022DE34) = { 0xFFFFFFCF, 56, 0xFFFFFFBC }; +Vec3i N(slot_machine_pos1) = { -49, 56, -68 }; +Vec3i N(slot_machine_pos2) = { -13, 56, -68 }; +Vec3i N(slot_machine_pos3) = { 20, 56, -68 }; +Vec3i N(slot_machine_pos4) = { 53, 56, -68 }; -Vec3i N(vector3D_8022DE40) = { 0xFFFFFFF3, 56, 0xFFFFFFBC }; - -Vec3i N(vector3D_8022DE4C) = { 20, 56, 0xFFFFFFBC }; - -Vec3i N(vector3D_8022DE58) = { 53, 56, 0xFFFFFFBC }; - -Formation N(specialFormation_8022DE64) = { - { .actor = &N(slot_machine_start), .home = { .vec = &N(vector3D_8022DE34) }, .var0 = 0 }, - { .actor = &N(slot_machine_stop), .home = { .vec = &N(vector3D_8022DE40) }, .var0 = 1 }, - { .actor = &N(slot_machine_stop), .home = { .vec = &N(vector3D_8022DE4C) }, .var0 = 2 }, - { .actor = &N(slot_machine_stop), .home = { .vec = &N(vector3D_8022DE58) }, .var0 = 3 }, +Formation N(fromation_slot_machine) = { + { .actor = &N(slot_machine_start), .home = { .vec = &N(slot_machine_pos1) }, .var0 = 0 }, + { .actor = &N(slot_machine_stop), .home = { .vec = &N(slot_machine_pos2) }, .var0 = 1 }, + { .actor = &N(slot_machine_stop), .home = { .vec = &N(slot_machine_pos3) }, .var0 = 2 }, + { .actor = &N(slot_machine_stop), .home = { .vec = &N(slot_machine_pos4) }, .var0 = 3 }, }; -s32 N(intTable_8022DED4)[] = { - 0, 1, 0, 2, 0, 2, 0, 2, -}; +BSS char N(unused)[0x250]; -s32 N(intTable_8022DEF4)[] = { - 0, 1, 0, 2, 1, 2, 0, 2, -}; - -s32 N(intTable_8022DF14)[] = { - 0, 1, 0, 2, 0, 2, 0, 2, -}; - -s32 N(defenseTable_8022DF34)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_END, -}; - -s32 N(statusTable_8022DF40)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, - STATUS_END, -}; - -ActorPartBlueprint N(partsTable_8022DFEC)[] = { - { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, - .posOffset = { 0, 0, 0 }, - .targetOffset = { 0, 0 }, - .opacity = 255, - .idleAnimations = NULL, - .defenseTable = N(defenseTable_8022DF34), - .eventFlags = ACTOR_EVENT_FLAG_0, - .elementImmunityFlags = 0, - .unk_1C = 0, - }, -}; - -ActorBlueprint N(slot_machine_stop) = { - .flags = ACTOR_FLAG_DISABLED | ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_TARGET_ONLY | ACTOR_FLAG_40000 | ACTOR_FLAG_NO_ATTACK, - .type = ACTOR_TYPE_SLOT_MACHINE_STOP, - .level = 99, - .maxHP = 99, - .partCount = ARRAY_COUNT(N(partsTable_8022DFEC)), - .partsData = N(partsTable_8022DFEC), - .script = &N(init_8022E060), - .statusTable = N(statusTable_8022DF40), - .escapeChance = 0, - .airLiftChance = 0, - .spookChance = 0, - .baseStatusChance = 0, - .upAndAwayChance = 0, - .spinSmashReq = 0, - .powerBounceChance = 0, - .coinReward = 0, - .size = { 44, 40 }, - .hpBarOffset = { 0, 0 }, - .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, -}; - -ActorBlueprint N(slot_machine_start) = { - .flags = ACTOR_FLAG_DISABLED | ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_TARGET_ONLY | ACTOR_FLAG_40000 | ACTOR_FLAG_NO_ATTACK, - .type = ACTOR_TYPE_SLOT_MACHINE_START, - .level = 99, - .maxHP = 99, - .partCount = ARRAY_COUNT(N(partsTable_8022DFEC)), - .partsData = N(partsTable_8022DFEC), - .script = &N(init_8022E060), - .statusTable = N(statusTable_8022DF40), - .escapeChance = 0, - .airLiftChance = 0, - .spookChance = 0, - .baseStatusChance = 0, - .upAndAwayChance = 0, - .spinSmashReq = 0, - .powerBounceChance = 0, - .coinReward = 0, - .size = { 44, 40 }, - .hpBarOffset = { 0, 0 }, - .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, -}; - -#include "common/IsGameStatusUnkAA_1.inc.c" - -EvtScript N(init_8022E060) = { - EVT_USE_ARRAY(D_80231360) - EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_8022F4A8))) - EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_8022E1F8))) - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_8022ED54))) - EVT_SET(ArrayVar(1), 0) - EVT_SET(ArrayVar(2), 0) - EVT_SET(ArrayVar(3), 0) - EVT_SET(ArrayVar(4), 0) - EVT_CALL(RandInt, 8, LVar0) - EVT_MUL(LVar0, 45) - EVT_SET(ArrayVar(5), LVar0) - EVT_CALL(RandInt, 8, LVar0) - EVT_MUL(LVar0, 45) - EVT_SET(ArrayVar(6), LVar0) - EVT_CALL(RandInt, 8, LVar0) - EVT_MUL(LVar0, 45) - EVT_SET(ArrayVar(7), LVar0) - EVT_CALL(N(IsGameStatusUnkAA_1)) - EVT_IF_EQ(LVar0, 1) - EVT_SET(ArrayVar(1), 1) - EVT_SET(ArrayVar(2), 1) - EVT_SET(ArrayVar(3), 1) - EVT_SET(ArrayVar(4), 1) - EVT_END_IF - EVT_RETURN - EVT_END -}; - -EvtScript N(idle_8022E1F8) = { - EVT_USE_ARRAY(D_80231360) - EVT_CALL(EnableTexPanning, 45, 1) - EVT_SET(LVarE, 0) - EVT_SET(LVarF, 0) - EVT_LABEL(0) - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) - EVT_CASE_EQ(1) - EVT_SWITCH(ArrayVar(2)) - EVT_CASE_EQ(0) - EVT_CASE_EQ(1) - EVT_ADD(ArrayVar(5), 5) - EVT_CASE_EQ(2) - EVT_IF_GT(ArrayVar(8), 0) - EVT_ADD(ArrayVar(5), 5) - EVT_SUB(ArrayVar(8), 5) - EVT_BREAK_SWITCH - EVT_END_IF - EVT_SET(LVar0, ArrayVar(5)) - EVT_MOD(LVar0, 45) - EVT_IF_NE(LVar0, 0) - EVT_ADD(ArrayVar(5), 5) - EVT_ELSE - EVT_SET(ArrayVar(2), 3) - EVT_END_IF - EVT_END_SWITCH - EVT_CALL(RotateModel, 32, ArrayVar(5), 1, 0, 0) - EVT_CALL(RotateModel, 33, ArrayVar(5), 1, 0, 0) - EVT_CALL(RotateModel, 34, ArrayVar(5), 1, 0, 0) - EVT_CASE_EQ(2) - EVT_SWITCH(ArrayVar(3)) - EVT_CASE_EQ(0) - EVT_CASE_EQ(1) - EVT_ADD(ArrayVar(6), 5) - EVT_CASE_EQ(2) - EVT_IF_GT(ArrayVar(9), 0) - EVT_ADD(ArrayVar(6), 5) - EVT_SUB(ArrayVar(9), 5) - EVT_BREAK_SWITCH - EVT_END_IF - EVT_SET(LVar0, ArrayVar(6)) - EVT_MOD(LVar0, 45) - EVT_IF_NE(LVar0, 0) - EVT_ADD(ArrayVar(6), 5) - EVT_ELSE - EVT_SET(ArrayVar(3), 3) - EVT_END_IF - EVT_END_SWITCH - EVT_CALL(RotateModel, 36, ArrayVar(6), 1, 0, 0) - EVT_CALL(RotateModel, 37, ArrayVar(6), 1, 0, 0) - EVT_CALL(RotateModel, 38, ArrayVar(6), 1, 0, 0) - EVT_CASE_EQ(3) - EVT_SWITCH(ArrayVar(4)) - EVT_CASE_EQ(0) - EVT_CASE_EQ(1) - EVT_ADD(ArrayVar(7), 5) - EVT_CASE_EQ(2) - EVT_IF_GT(ArrayVar(10), 0) - EVT_ADD(ArrayVar(7), 5) - EVT_SUB(ArrayVar(10), 5) - EVT_BREAK_SWITCH - EVT_END_IF - EVT_SET(LVar0, ArrayVar(7)) - EVT_MOD(LVar0, 45) - EVT_IF_NE(LVar0, 0) - EVT_ADD(ArrayVar(7), 5) - EVT_ELSE - EVT_SET(ArrayVar(4), 3) - EVT_END_IF - EVT_END_SWITCH - EVT_CALL(RotateModel, 40, ArrayVar(7), 1, 0, 0) - EVT_CALL(RotateModel, 41, ArrayVar(7), 1, 0, 0) - EVT_CALL(RotateModel, 42, ArrayVar(7), 1, 0, 0) - EVT_END_SWITCH - EVT_IF_GE(ArrayVar(5), 360) - EVT_SUB(ArrayVar(5), 360) - EVT_END_IF - EVT_IF_GE(ArrayVar(6), 360) - EVT_SUB(ArrayVar(6), 360) - EVT_END_IF - EVT_IF_GE(ArrayVar(7), 360) - EVT_SUB(ArrayVar(7), 360) - EVT_END_IF - EVT_IF_EQ(ArrayVar(1), 0) - EVT_ADD(LVarF, -277) - EVT_CALL(SetTexPanOffset, 11, 0, 0, LVarF) - EVT_END_IF - EVT_IF_EQ(ArrayVar(1), 1) - EVT_ADD(LVarF, -1110) - EVT_CALL(SetTexPanOffset, 11, 0, 0, LVarF) - EVT_END_IF - EVT_IF_EQ(ArrayVar(1), 2) - EVT_ADD(LVarF, -3330) - EVT_CALL(SetTexPanOffset, 11, 0, 0, LVarF) - EVT_END_IF - EVT_IF_EQ(ArrayVar(1), 2) - EVT_GOTO(1) - EVT_END_IF - EVT_IF_EQ(ArrayVar(1), 0) - EVT_GOTO(1) - EVT_END_IF - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) - EVT_IF_NE(LVar0, 0) - EVT_GOTO(1) - EVT_END_IF - EVT_SET(LVar0, ArrayVar(2)) - EVT_ADD(LVar0, ArrayVar(3)) - EVT_ADD(LVar0, ArrayVar(4)) - EVT_IF_EQ(LVar0, 9) - EVT_SET(LVar0, ArrayVar(5)) - EVT_DIV(LVar0, 45) - EVT_USE_BUF(EVT_PTR(N(intTable_8022DED4))) - EVT_BUF_PEEK(LVarA, LVar0) - EVT_SET(LVar0, ArrayVar(6)) - EVT_DIV(LVar0, 45) - EVT_USE_BUF(EVT_PTR(N(intTable_8022DEF4))) - EVT_BUF_PEEK(LVarB, LVar0) - EVT_SET(LVar0, ArrayVar(7)) - EVT_DIV(LVar0, 45) - EVT_USE_BUF(EVT_PTR(N(intTable_8022DF14))) - EVT_BUF_PEEK(LVarC, LVar0) - EVT_LOOP(0) - EVT_IF_NE(LVarA, LVarB) - EVT_BREAK_LOOP - EVT_END_IF - EVT_IF_NE(LVarA, LVarC) - EVT_BREAK_LOOP - EVT_END_IF - EVT_IF_NE(LVarB, LVarC) - EVT_BREAK_LOOP - EVT_END_IF - EVT_THREAD - EVT_CALL(func_8026BF48, 1) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19) - EVT_CALL(SetBattleCamTarget, 0, 100, 0) - EVT_CALL(SetBattleCamOffsetZ, 0) - EVT_CALL(SetBattleCamZoom, 340) - EVT_CALL(MoveBattleCamOver, 10) - EVT_SWITCH(LVarA) - EVT_CASE_EQ(0) - EVT_LOOP(10) - EVT_CALL(MakeItemEntity, ITEM_COIN, -7, 105, -74, 26, 0) - EVT_CALL(N(Add1Coin)) - EVT_WAIT(1) - EVT_CALL(MakeItemEntity, ITEM_COIN, 17, 105, -74, 26, 0) - EVT_CALL(N(Add1Coin)) - EVT_WAIT(1) - EVT_CALL(MakeItemEntity, ITEM_COIN, 42, 105, -74, 26, 0) - EVT_CALL(N(Add1Coin)) - EVT_WAIT(10) - EVT_END_LOOP - EVT_CASE_EQ(1) - EVT_LOOP(10) - EVT_CALL(MakeItemEntity, ITEM_COIN, -7, 105, -74, 26, 0) - EVT_CALL(N(Add1Coin)) - EVT_WAIT(1) - EVT_CALL(MakeItemEntity, ITEM_COIN, 17, 105, -74, 26, 0) - EVT_CALL(N(Add1Coin)) - EVT_WAIT(1) - EVT_CALL(MakeItemEntity, ITEM_COIN, 42, 105, -74, 26, 0) - EVT_CALL(N(Add1Coin)) - EVT_WAIT(10) - EVT_END_LOOP - EVT_CASE_EQ(2) - EVT_LOOP(10) - EVT_CALL(MakeItemEntity, ITEM_COIN, -7, 105, -74, 26, 0) - EVT_CALL(N(Add1Coin)) - EVT_WAIT(1) - EVT_CALL(MakeItemEntity, ITEM_COIN, 17, 105, -74, 26, 0) - EVT_CALL(N(Add1Coin)) - EVT_WAIT(1) - EVT_CALL(MakeItemEntity, ITEM_COIN, 42, 105, -74, 26, 0) - EVT_CALL(N(Add1Coin)) - EVT_WAIT(10) - EVT_END_LOOP - EVT_END_SWITCH - EVT_SET(ArrayVar(1), 0) - EVT_SET(ArrayVar(2), 0) - EVT_SET(ArrayVar(3), 0) - EVT_SET(ArrayVar(4), 0) - EVT_CALL(func_8026BF48, 0) - EVT_END_THREAD - EVT_SET(ArrayVar(1), 2) - EVT_BREAK_LOOP - EVT_END_LOOP - EVT_END_IF - EVT_LABEL(1) - EVT_WAIT(1) - EVT_GOTO(0) - EVT_RETURN - EVT_END -}; - -EvtScript N(handleEvent_8022ED54) = { - EVT_USE_ARRAY(D_80231360) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_OR_EQ(EVENT_HIT_COMBO) - EVT_CASE_OR_EQ(EVENT_HIT) - EVT_CASE_OR_EQ(EVENT_BURN_HIT) - EVT_CASE_OR_EQ(EVENT_SHOCK_HIT) - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) - EVT_CALL(TranslateModel, 28, 0, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, 28, 0, -6, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, 28, 0, -7, 0) - EVT_WAIT(4) - EVT_CALL(TranslateModel, 28, 0, -4, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, 28, 0, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, 28, 0, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, 28, 0, 0, 0) - EVT_SET(ArrayVar(1), 1) - EVT_SET(ArrayVar(2), 1) - EVT_SET(ArrayVar(3), 1) - EVT_SET(ArrayVar(4), 1) - EVT_CASE_EQ(1) - EVT_CALL(TranslateModel, 29, 0, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, 29, 0, -6, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, 29, 0, -7, 0) - EVT_WAIT(4) - EVT_CALL(TranslateModel, 29, 0, -4, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, 29, 0, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, 29, 0, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, 29, 0, 0, 0) - EVT_IF_EQ(ArrayVar(2), 1) - EVT_SET(ArrayVar(8), 100) - EVT_SET(ArrayVar(9), 150) - EVT_SET(ArrayVar(10), 200) - EVT_SET(ArrayVar(2), 2) - EVT_SET(ArrayVar(3), 2) - EVT_SET(ArrayVar(4), 2) - EVT_END_IF - EVT_CASE_EQ(2) - EVT_CALL(TranslateModel, 29, 0, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, 29, 0, -6, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, 29, 0, -7, 0) - EVT_WAIT(4) - EVT_CALL(TranslateModel, 29, 0, -4, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, 29, 0, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, 29, 0, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, 29, 0, 0, 0) - EVT_IF_EQ(ArrayVar(3), 1) - EVT_SET(ArrayVar(8), 150) - EVT_SET(ArrayVar(9), 100) - EVT_SET(ArrayVar(10), 200) - EVT_SET(ArrayVar(2), 2) - EVT_SET(ArrayVar(3), 2) - EVT_SET(ArrayVar(4), 2) - EVT_END_IF - EVT_CASE_EQ(3) - EVT_CALL(TranslateModel, 29, 0, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, 29, 0, -6, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, 29, 0, -7, 0) - EVT_WAIT(4) - EVT_CALL(TranslateModel, 29, 0, -4, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, 29, 0, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, 29, 0, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, 29, 0, 0, 0) - EVT_IF_EQ(ArrayVar(4), 1) - EVT_SET(ArrayVar(8), 200) - EVT_SET(ArrayVar(9), 150) - EVT_SET(ArrayVar(10), 100) - EVT_SET(ArrayVar(2), 2) - EVT_SET(ArrayVar(3), 2) - EVT_SET(ArrayVar(4), 2) - EVT_END_IF - EVT_END_SWITCH - EVT_END_CASE_GROUP - EVT_CASE_OR_EQ(EVENT_BURN_DEATH) - EVT_CASE_OR_EQ(EVENT_SPIN_SMASH_HIT) - EVT_CASE_OR_EQ(EVENT_SHOCK_DEATH) - EVT_CASE_OR_EQ(EVENT_DEATH) - EVT_CASE_OR_EQ(EVENT_SPIN_SMASH_DEATH) - EVT_CASE_OR_EQ(EVENT_SPIKE_CONTACT) - EVT_CASE_OR_EQ(EVENT_BURN_CONTACT) - EVT_END_CASE_GROUP - EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER) - EVT_CASE_OR_EQ(EVENT_IMMUNE) - EVT_END_CASE_GROUP - EVT_END_SWITCH - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END -}; - -EvtScript N(takeTurn_8022F4A8) = { - EVT_USE_ARRAY(D_80231360) - EVT_RETURN - EVT_END -}; +#include "battle/common/actor/slot_machine.inc.c" diff --git a/src/battle/area_omo/stage/omo_05.c b/src/battle/area_omo/stage/omo_05.c index 6521b91085..3b75e49e80 100644 --- a/src/battle/area_omo/stage/omo_05.c +++ b/src/battle/area_omo/stage/omo_05.c @@ -1,9 +1,10 @@ #include "common.h" #include "battle/battle.h" +#include "mapfs/omo_bt05_shape.h" #define NAMESPACE b_area_omo_omo_05 -EvtScript N(beforeBattle_8022F4D0) = { +EvtScript N(beforeBattle) = { EVT_CALL(SetSpriteShading, -1) EVT_CALL(SetCamBGColor, 1, 0, 0, 0) EVT_CALL(SetGroupEnabled, 24, 0) @@ -12,13 +13,13 @@ EvtScript N(beforeBattle_8022F4D0) = { EVT_END }; -EvtScript N(afterBattle_8022F534) = { +EvtScript N(afterBattle) = { EVT_RETURN EVT_END }; -s32 N(foregroundModelList_8022F544)[] = { - 0x00000027, 0x00000026, 0x00000000, +s32 N(foregroundModelList)[] = { + MODEL_itigo, MODEL_kisya, 0, }; Stage NAMESPACE = { @@ -26,7 +27,7 @@ Stage NAMESPACE = { .shape = "omo_bt05_shape", .hit = "omo_bt05_hit", .bg = "omo_bg", - .preBattle = &N(beforeBattle_8022F4D0), - .postBattle = &N(afterBattle_8022F534), - .foregroundModelList = N(foregroundModelList_8022F544), + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), + .foregroundModelList = N(foregroundModelList), }; diff --git a/src/battle/area_omo/stage/omo_05b.c b/src/battle/area_omo/stage/omo_05b.c index 09dc99ad2a..8d628621ad 100644 --- a/src/battle/area_omo/stage/omo_05b.c +++ b/src/battle/area_omo/stage/omo_05b.c @@ -1,9 +1,10 @@ #include "common.h" #include "battle/battle.h" +#include "mapfs/omo_bt05_shape.h" #define NAMESPACE b_area_omo_omo_05b -EvtScript N(beforeBattle_8022F580) = { +EvtScript N(beforeBattle) = { EVT_CALL(SetSpriteShading, -1) EVT_CALL(SetCamBGColor, 1, 0, 0, 0) EVT_CALL(SetGroupEnabled, 35, 0) @@ -12,13 +13,13 @@ EvtScript N(beforeBattle_8022F580) = { EVT_END }; -EvtScript N(afterBattle_8022F5E4) = { +EvtScript N(afterBattle) = { EVT_RETURN EVT_END }; -s32 N(foregroundModelList_8022F5F4)[] = { - 0x0000001B, 0x00000000, +s32 N(foregroundModelList)[] = { + MODEL_mae2, 0, }; Stage NAMESPACE = { @@ -26,7 +27,7 @@ Stage NAMESPACE = { .shape = "omo_bt05_shape", .hit = "omo_bt05_hit", .bg = "omo_bg", - .preBattle = &N(beforeBattle_8022F580), - .postBattle = &N(afterBattle_8022F5E4), - .foregroundModelList = N(foregroundModelList_8022F5F4), + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), + .foregroundModelList = N(foregroundModelList), }; diff --git a/src/battle/area_omo/stage/omo_06.c b/src/battle/area_omo/stage/omo_06.c index ae5e08a5ae..1b5a58d29c 100644 --- a/src/battle/area_omo/stage/omo_06.c +++ b/src/battle/area_omo/stage/omo_06.c @@ -1,9 +1,10 @@ #include "common.h" #include "battle/battle.h" +#include "mapfs/omo_bt06_shape.h" #define NAMESPACE b_area_omo_omo_06 -EvtScript N(8022F630) = { +EvtScript N(updateModels) = { EVT_SET(LVarA, LVar0) EVT_SET(LVar9, LVar1) EVT_SET(LVar8, LVar2) @@ -31,31 +32,31 @@ EvtScript N(8022F630) = { EVT_END }; -EvtScript N(beforeBattle_8022F790) = { +EvtScript N(beforeBattle) = { EVT_CALL(SetSpriteShading, -1) EVT_CALL(SetCamBGColor, 1, 0, 0, 0) EVT_THREAD EVT_SET(LVar0, 26) EVT_SET(LVar1, -50) EVT_SET(LVar2, 120) - EVT_EXEC(N(8022F630)) + EVT_EXEC(N(updateModels)) EVT_WAIT(10) EVT_SET(LVar0, 30) EVT_SET(LVar1, -80) EVT_SET(LVar2, 150) - EVT_EXEC(N(8022F630)) + EVT_EXEC(N(updateModels)) EVT_END_THREAD EVT_RETURN EVT_END }; -EvtScript N(afterBattle_8022F860) = { +EvtScript N(afterBattle) = { EVT_RETURN EVT_END }; -s32 N(foregroundModelList_8022F870)[] = { - 0x00000027, 0x00000026, 0x00000000, +s32 N(foregroundModelList)[] = { + MODEL_kuruma, MODEL_hosi, 0, }; Stage NAMESPACE = { @@ -63,7 +64,7 @@ Stage NAMESPACE = { .shape = "omo_bt06_shape", .hit = "omo_bt06_hit", .bg = "omo_bg", - .preBattle = &N(beforeBattle_8022F790), - .postBattle = &N(afterBattle_8022F860), - .foregroundModelList = N(foregroundModelList_8022F870), + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), + .foregroundModelList = N(foregroundModelList), }; diff --git a/src/battle/area_omo/stage/omo_07.c b/src/battle/area_omo/stage/omo_07.c index afa2a74fab..1983b58d05 100644 --- a/src/battle/area_omo/stage/omo_07.c +++ b/src/battle/area_omo/stage/omo_07.c @@ -3,14 +3,14 @@ #define NAMESPACE b_area_omo_omo_07 -EvtScript N(beforeBattle_8022F8B0) = { +EvtScript N(beforeBattle) = { EVT_CALL(SetSpriteShading, -1) EVT_CALL(SetCamBGColor, 1, 0, 0, 0) EVT_RETURN EVT_END }; -EvtScript N(afterBattle_8022F8EC) = { +EvtScript N(afterBattle) = { EVT_RETURN EVT_END }; @@ -19,6 +19,6 @@ Stage NAMESPACE = { .texture = "omo_tex", .shape = "omo_bt07_shape", .hit = "omo_bt07_hit", - .preBattle = &N(beforeBattle_8022F8B0), - .postBattle = &N(afterBattle_8022F8EC), + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), }; diff --git a/src/battle/area_omo3/5573E0.c b/src/battle/area_omo3/5573E0.c deleted file mode 100644 index 33cf18cbea..0000000000 --- a/src/battle/area_omo3/5573E0.c +++ /dev/null @@ -1,17 +0,0 @@ -#include "common.h" - -#define NAMESPACE b_area_omo3 - -ApiStatus func_80218000_5573E0(Evt* script, s32 isInitialCall) { - get_actor(script->owner1.actorID); - - set_screen_overlay_params_back(13, 220.0f); - set_screen_overlay_alpha(1, 200.0f); - return ApiStatus_DONE2; -} - -INCLUDE_ASM(s32, "battle/area_omo3/5573E0", func_80218038_557418); - -INCLUDE_ASM(s32, "battle/area_omo3/5573E0", func_80218070_557450); - -INCLUDE_ASM(s32, "battle/area_omo3/5573E0", func_80218490_557870); diff --git a/src/battle/area_omo3/557A80.c b/src/battle/area_omo3/557A80.c deleted file mode 100644 index 9b9b12cc81..0000000000 --- a/src/battle/area_omo3/557A80.c +++ /dev/null @@ -1,5 +0,0 @@ -#include "common.h" - -#define NAMESPACE b_area_omo3 - -#include "common/IsGameStatusUnkAA_1.inc.c" diff --git a/src/battle/area_omo3/557AD0.c b/src/battle/area_omo3/557AD0.c deleted file mode 100644 index a689c1e00e..0000000000 --- a/src/battle/area_omo3/557AD0.c +++ /dev/null @@ -1,8 +0,0 @@ -#include "common.h" - -#define NAMESPACE b_area_omo3 - -#include "common/BattleAreaAngleStuff.inc.c" - -#include "common/UnkBattleFunc2.inc.c" - diff --git a/src/battle/area_omo3/557EC0.c b/src/battle/area_omo3/557EC0.c deleted file mode 100644 index 1fb1670c34..0000000000 --- a/src/battle/area_omo3/557EC0.c +++ /dev/null @@ -1,5 +0,0 @@ -#include "common.h" - -#define NAMESPACE b_area_omo3 - -#include "common/UnkBattleFunc1.inc.c" diff --git a/src/battle/area_omo3/557F90.c b/src/battle/area_omo3/557F90.c deleted file mode 100644 index 3c97824d55..0000000000 --- a/src/battle/area_omo3/557F90.c +++ /dev/null @@ -1,9 +0,0 @@ -#include "common.h" - -#define NAMESPACE b_area_omo3 - -#define NAMESPACE dup_b_area_omo3 -#include "common/UnkBattleFunc1.inc.c" -#define NAMESPACE b_area_omo3 - -#include "common/StartRumbleWithParams.inc.c" diff --git a/src/battle/area_omo3/5580C0.c b/src/battle/area_omo3/5580C0.c deleted file mode 100644 index 3a316f152c..0000000000 --- a/src/battle/area_omo3/5580C0.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "common.h" - -#define NAMESPACE b_area_omo3 - -#define NAMESPACE dup2_b_area_omo3 -#include "common/UnkBattleFunc1.inc.c" -#define NAMESPACE b_area_omo3 diff --git a/src/battle/area_omo3/actor/big_lantern_ghost.c b/src/battle/area_omo3/actor/big_lantern_ghost.c new file mode 100644 index 0000000000..505cc7ded0 --- /dev/null +++ b/src/battle/area_omo3/actor/big_lantern_ghost.c @@ -0,0 +1,875 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "sprite/npc/BigLanternGhost.h" +#include "effects.h" +#include "sprite.h" + +#define NAMESPACE b_area_omo3_big_lantern_ghost + +extern s32 N(idleAnimations)[]; + +extern EvtScript N(init); +extern EvtScript N(takeTurn); +extern EvtScript N(idle); +extern EvtScript N(handleEvent); +extern EvtScript N(nextTurn); +extern EvtScript N(updateEffectThread); +extern EvtScript N(setGhostNoTarget); +extern EvtScript N(onHit); +extern EvtScript N(checkExtinguish); +extern EvtScript N(onDeath); +extern EvtScript N(returnHome); + +enum N(ActorVars) { + N(VAR_LANTERN_BRIGHTNESS) = 0, + N(VAR_DARKENING) = 1, + N(VAR_LANTERN_X) = 2, + N(VAR_LANTERN_Y) = 3, + N(VAR_LANTERN_Z) = 4, + N(VAR_EXTINGUISHED_ONCE) = 5, + N(VAR_6) = 6, + N(VAR_SPEAK_FLAGS) = 7, + N(VAR_EFFECT) = 10, + N(VAR_MOVE_ID) = 11, + N(VAR_LIGHT_BEAM_COUNTER) = 12, + N(VAR_HIT_SOUND_COUNTER) = 13, +}; + +enum N(MoveIds) { + N(MOVE_HEAVY_JUMP) = 0, + N(MOVE_EXTINGUISH) = 1, + N(MOVE_LIGHT_BEAM) = 2, +}; + +s32 N(defenseTable)[] = { + ELEMENT_NORMAL, 0, + ELEMENT_END, +}; + +s32 N(defenseTable2)[] = { + ELEMENT_NORMAL, 99, + ELEMENT_END, +}; + +s32 N(statusTable)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 40, + STATUS_POISON, 0, + STATUS_FROZEN, 0, + STATUS_DIZZY, 50, + STATUS_FEAR, 0, + STATUS_STATIC, 0, + STATUS_PARALYZE, 60, + STATUS_SHRINK, 0, + STATUS_STOP, 60, + STATUS_DEFAULT_TURN_MOD, 0, + STATUS_SLEEP_TURN_MOD, -1, + STATUS_POISON_TURN_MOD, 0, + STATUS_FROZEN_TURN_MOD, 0, + STATUS_DIZZY_TURN_MOD, -1, + STATUS_FEAR_TURN_MOD, 0, + STATUS_STATIC_TURN_MOD, 0, + STATUS_PARALYZE_TURN_MOD, -1, + STATUS_SHRINK_TURN_MOD, 0, + STATUS_STOP_TURN_MOD, -2, + STATUS_END, +}; + +ActorPartBlueprint N(parts)[] = { + { + .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_MULTI_TARGET, + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 54 }, + .opacity = 255, + .idleAnimations = N(idleAnimations), + .defenseTable = N(defenseTable), + .eventFlags = 0, + .elementImmunityFlags = 0, + .unk_1C = -5, + .unk_1D = -10, + }, + { + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2000, + .index = 2, + .posOffset = { -40, 0, 0 }, + .targetOffset = { 0, 0 }, + .opacity = 255, + .idleAnimations = N(idleAnimations), + .defenseTable = N(defenseTable2), + .eventFlags = 0, + .elementImmunityFlags = 0, + .unk_1C = 0, + .unk_1D = -9, + .unk_20 = 2687103, + }, +}; + +ActorBlueprint NAMESPACE = { + .flags = 0, + .type = ACTOR_TYPE_BIG_LANTERN_GHOST, + .level = 42, + .maxHP = 40, + .partCount = ARRAY_COUNT(N(parts)), + .partsData = N(parts), + .script = &N(init), + .statusTable = N(statusTable), + .escapeChance = 0, + .airLiftChance = 0, + .spookChance = 0, + .baseStatusChance = 0, + .upAndAwayChance = 0, + .spinSmashReq = 4, + .powerBounceChance = 75, + .coinReward = 0, + .size = { 86, 60 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -30, 55 }, + .statusMessageOffset = { 20, 45 }, +}; + +s32 N(idleAnimations)[] = { + STATUS_NORMAL, ANIM_BigLanternGhost_Anim01, + STATUS_STONE, ANIM_BigLanternGhost_Anim00, + STATUS_SLEEP, ANIM_BigLanternGhost_Anim0C, + STATUS_POISON, ANIM_BigLanternGhost_Anim01, + STATUS_STOP, ANIM_BigLanternGhost_Anim00, + STATUS_STATIC, ANIM_BigLanternGhost_Anim00, + STATUS_PARALYZE, ANIM_BigLanternGhost_Anim00, + STATUS_PARALYZE, ANIM_BigLanternGhost_Anim00, + STATUS_DIZZY, ANIM_BigLanternGhost_Anim0D, + STATUS_FEAR, ANIM_BigLanternGhost_Anim0D, + STATUS_END, +}; + +ApiStatus N(init_overlay)(Evt* script, s32 isInitialCall) { + get_actor(script->owner1.actorID); + + set_screen_overlay_params_back(13, 220.0f); + set_screen_overlay_alpha(1, 200.0f); + return ApiStatus_DONE2; +} + +s32 N(get_darkening)(ActorState* actorState, s32 targetDarkening) { + s32 delta = targetDarkening - actorState->varTable[N(VAR_DARKENING)]; + + if (delta >= 4) { + actorState->varTable[N(VAR_DARKENING)] += 4; + } else if (delta >= -4) { + actorState->varTable[N(VAR_DARKENING)] = targetDarkening; + } else { + actorState->varTable[N(VAR_DARKENING)] -= 4; + } + + return actorState->varTable[N(VAR_DARKENING)]; +} + +ApiStatus N(update_effect)(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + EffectInstance* effect = (EffectInstance*)evt_get_variable(script, *args++); + Actor* actor = get_actor(script->owner1.actorID); + ActorState* actorState; + ActorPart* actorPart; + BulbGlowFXData* effectData; + s32 partX, partY, partZ; + f32 posX, posY, posZ; + f32 rotX, rotY, rotZ; + f32 yaw; + f32 f24, f22; + s32 opacity; + s32 compListIdx; + + if (actor == NULL) { + set_screen_overlay_alpha(1, 0.0f); + return ApiStatus_BLOCK; + } + + actorState = &actor->state; + if (effect != NULL) { + effectData = effect->data.bulbGlow; + } + + posX = actor->currentPos.x; + posY = actor->currentPos.y; + posZ = actor->currentPos.z; + + rotX = actor->rotation.x; + rotY = actor->rotation.y + actor->yaw; + rotZ = actor->rotation.z; + + actorPart = get_actor_part(actor, 1); + if (actorPart->currentAnimation == ANIM_BigLanternGhost_Anim0C) { + func_802DE8DC(actor->partsTable->unk_84, 0, &partX, &partY, &partZ); + } else { + func_802DE8DC(actor->partsTable->unk_84, 1, &partX, &partY, &partZ); + } + + + partY += 20; + + f24 = (f32)partX * SPRITE_WORLD_SCALE_D; + f22 = (f32)partY * SPRITE_WORLD_SCALE_D; + + f24 *= cos_deg(rotY); + f22 *= sin_deg(rotX + 90.0); + + partX = f24 * cos_deg(rotZ) + f22 * sin_deg(rotZ); + partY = f24 * -sin_deg(rotZ) + f22 * cos_deg(rotZ); + + switch (actorState->varTable[N(VAR_LANTERN_BRIGHTNESS)]) { + case 0: + opacity = N(get_darkening)(actorState, 290); + break; + case 1: + opacity = N(get_darkening)(actorState, 250) + (rand_int(0x4000) % 5); + break; + case 2: + opacity = N(get_darkening)(actorState, 240) + (rand_int(0x4000) % 5); + break; + case 3: + opacity = N(get_darkening)(actorState, 230) + (rand_int(0x4000) % 5); + break; + case 4: + opacity = N(get_darkening)(actorState, 220) + (rand_int(0x4000) % 5); + break; + case 5: + opacity = N(get_darkening)(actorState, 210) + (rand_int(0x4000) % 5); + break; + case 6: + opacity = N(get_darkening)(actorState, 180) + (rand_int(0x4000) % 5); + break; + case 7: + opacity = N(get_darkening)(actorState, 140) + (rand_int(0x4000) % 5); + break; + case 8: + opacity = N(get_darkening)(actorState, 100) + (rand_int(0x4000) % 5); + break; + case 9: + opacity = N(get_darkening)(actorState, 70) + (rand_int(0x4000) % 5); + break; + case 10: + opacity = N(get_darkening)(actorState, 40) + (rand_int(0x4000) % 5); + break; + case 11: + opacity = N(get_darkening)(actorState, 20); + opacity = N(get_darkening)(actorState, 20); + opacity = N(get_darkening)(actorState, 20); + break; + default: + opacity = 0; + break; + } + + set_screen_overlay_alpha(1, opacity); + set_screen_overlay_center_worldpos(1, 0, posX + partX, posY + partY, posZ + partZ); + + actorState->varTable[N(VAR_LANTERN_X)] = posX + partX; + actorState->varTable[N(VAR_LANTERN_Y)] = posY + partY; + actorState->varTable[N(VAR_LANTERN_Z)] = posZ + partZ; + + actorPart = get_actor_part(actor, 2); + actorPart->partOffset.x = partX - 5; + actorPart->partOffset.y = partY + 5; + + if (effect != NULL) { + effectData->pos.x = actorState->varTable[N(VAR_LANTERN_X)]; + effectData->pos.y = actorState->varTable[N(VAR_LANTERN_Y)]; + effectData->pos.z = actorState->varTable[N(VAR_LANTERN_Z)] + 25; + } + + return ApiStatus_DONE2; +} + +EvtScript N(init) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) + EVT_CALL(BindNextTurn, ACTOR_SELF, EVT_PTR(N(nextTurn))) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_EXTINGUISHED_ONCE), 0) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_6), 10) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_LANTERN_BRIGHTNESS), 2) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_DARKENING), 240) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_SPEAK_FLAGS), 0) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_MOVE_ID), N(MOVE_HEAVY_JUMP)) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_LIGHT_BEAM_COUNTER), 0) + EVT_CALL(PlayEffect, EFFECT_BULB_GLOW, 1, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), LVar0, 0, 0, 0, 0, 0, 0, 0) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_EFFECT), LVar0) + EVT_CALL(N(init_overlay)) + EVT_EXEC(N(updateEffectThread)) + EVT_EXEC_WAIT(N(setGhostNoTarget)) + EVT_WAIT(2) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_HIT_SOUND_COUNTER), 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(nextTurn) = { + EVT_CALL(GetBattlePhase, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(PHASE_PLAYER_BEGIN) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_SPEAK_FLAGS), LVar0) + EVT_IF_NOT_FLAG(LVar0, 1) + EVT_BITWISE_OR_CONST(LVar0, 1) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_SPEAK_FLAGS), LVar0) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(SetBattleCamOffsetZ, 40) + EVT_CALL(MoveBattleCamOver, 30) + EVT_WAIT(30) + EVT_CALL(ActorSpeak, MSG_CH4_0051, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim05, ANIM_BigLanternGhost_Anim01) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_END_IF + EVT_CASE_EQ(PHASE_ENEMY_BEGIN) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(updateEffectThread) = { + EVT_SET_PRIORITY(99) + EVT_LABEL(0) + EVT_CALL(ActorExists, ACTOR_SELF, LVar0) + EVT_IF_NE(LVar0, 0) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_EFFECT), LVar0) + EVT_ELSE + EVT_SET(LVar0, 0) + EVT_END_IF + EVT_CALL(N(update_effect), LVar0) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(idle) = { + EVT_LABEL(0) + EVT_CALL(ActorExists, ACTOR_ENEMY0, LVar0) + EVT_IF_NE(LVar0, 0) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_END_IF + EVT_WAIT(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(handleEvent) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(EVENT_BEGIN_FIRST_STRIKE) + EVT_CASE_OR_EQ(EVENT_HIT_COMBO) + EVT_CASE_OR_EQ(EVENT_HIT) + EVT_EXEC_WAIT(N(onHit)) + EVT_EXEC_WAIT(N(checkExtinguish)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BigLanternGhost_Anim09) + EVT_EXEC_WAIT(DoNormalHit) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_BURN_HIT) + EVT_EXEC_WAIT(N(onHit)) + EVT_EXEC_WAIT(N(checkExtinguish)) + EVT_SET(LVar0, 1) + EVT_SET(LVar1, 7143434) + EVT_SET(LVar2, 7143435) + EVT_EXEC_WAIT(DoBurnHit) + EVT_CASE_EQ(EVENT_BURN_DEATH) + EVT_EXEC_WAIT(N(onHit)) + EVT_SET(LVar0, 1) + EVT_SET(LVar1, 7143434) + EVT_SET(LVar2, 7143435) + EVT_EXEC_WAIT(DoBurnHit) + EVT_WAIT(10) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BigLanternGhost_Anim0B) + EVT_EXEC_WAIT(N(onDeath)) + EVT_RETURN + EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) + EVT_EXEC_WAIT(N(onHit)) + EVT_EXEC_WAIT(N(checkExtinguish)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BigLanternGhost_Anim09) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BigLanternGhost_Anim09) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BigLanternGhost_Anim09) + EVT_EXEC_WAIT(N(onDeath)) + EVT_RETURN + EVT_CASE_EQ(EVENT_SHOCK_HIT) + EVT_EXEC_WAIT(N(onHit)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BigLanternGhost_Anim09) + EVT_EXEC_WAIT(DoShockHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BigLanternGhost_Anim09) + EVT_EXEC_WAIT(DoJumpBack) + EVT_EXEC_WAIT(N(returnHome)) + EVT_CASE_EQ(EVENT_SHOCK_DEATH) + EVT_EXEC_WAIT(N(onHit)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BigLanternGhost_Anim09) + EVT_EXEC_WAIT(DoShockHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BigLanternGhost_Anim09) + EVT_EXEC_WAIT(DoJumpBack) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BigLanternGhost_Anim09) + EVT_EXEC_WAIT(N(onDeath)) + EVT_RETURN + EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER) + EVT_CASE_OR_EQ(EVENT_IMMUNE) + EVT_CALL(func_8026E914, LVar0, LVar1) + EVT_IF_EQ(LVar1, 2) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_LANTERN_BRIGHTNESS), LVar2) + EVT_IF_LT(LVar2, 10) + EVT_ADD(LVar2, 2) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_HIT_SOUND_COUNTER), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3A3) + EVT_CALL(AddActorVar, ACTOR_SELF, N(VAR_HIT_SOUND_COUNTER), 1) + EVT_CASE_EQ(1) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3A4) + EVT_CALL(AddActorVar, ACTOR_SELF, N(VAR_HIT_SOUND_COUNTER), 1) + EVT_CASE_EQ(2) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3A5) + EVT_CALL(AddActorVar, ACTOR_SELF, N(VAR_HIT_SOUND_COUNTER), 1) + EVT_CASE_EQ(3) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3A6) + EVT_CALL(AddActorVar, ACTOR_SELF, N(VAR_HIT_SOUND_COUNTER), 1) + EVT_CASE_DEFAULT + EVT_END_SWITCH + EVT_IF_GT(LVar2, 10) + EVT_SET(LVar2, 10) + EVT_END_IF + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_LANTERN_BRIGHTNESS), LVar2) + EVT_EXEC_WAIT(N(setGhostNoTarget)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_LANTERN_BRIGHTNESS), LVar0) + EVT_IF_GE(LVar0, 6) + EVT_EXEC_WAIT(N(checkExtinguish)) + EVT_END_IF + EVT_END_IF + EVT_END_IF + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BigLanternGhost_Anim01) + EVT_EXEC_WAIT(DoImmune) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_AIR_LIFT_FAILED) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BigLanternGhost_Anim01) + EVT_EXEC_WAIT(DoImmune) + EVT_CASE_EQ(EVENT_SPIKE_TAUNT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BigLanternGhost_Anim01) + EVT_EXEC_WAIT(DoImmune) + EVT_CASE_EQ(EVENT_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BigLanternGhost_Anim09) + EVT_EXEC_WAIT(DoNormalHit) + EVT_WAIT(10) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BigLanternGhost_Anim09) + EVT_EXEC_WAIT(N(onDeath)) + EVT_RETURN + EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) + EVT_EXEC_WAIT(N(returnHome)) + EVT_CALL(HPBarToHome, ACTOR_SELF) + EVT_CASE_EQ(EVENT_RECOVER_STATUS) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BigLanternGhost_Anim01) + EVT_EXEC_WAIT(DoRecover) + EVT_CASE_EQ(EVENT_30) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BigLanternGhost_Anim09) + EVT_EXEC_WAIT(DoNormalHit) + EVT_WAIT(1000) + EVT_CASE_EQ(EVENT_SCARE_AWAY) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BigLanternGhost_Anim01) + EVT_SET_CONST(LVar2, ANIM_BigLanternGhost_Anim09) + EVT_EXEC_WAIT(DoScareAway) + EVT_RETURN + EVT_CASE_DEFAULT + EVT_END_SWITCH + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(onHit) = { + EVT_CALL(func_8026E914, LVar0, LVar1) + EVT_IF_NE(LVar1, 1) + EVT_RETURN + EVT_END_IF + EVT_CALL(GetLastDamage, ACTOR_SELF, LVar1) + EVT_MUL(LVar1, 10) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_6), LVar0) + EVT_ADD(LVar0, LVar1) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_6), LVar0) + EVT_RETURN + EVT_END +}; + +EvtScript N(checkExtinguish) = { + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_MOVE_ID), LVar0) + EVT_IF_NE(LVar0, N(MOVE_LIGHT_BEAM)) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_MOVE_ID), N(MOVE_EXTINGUISH)) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(attackHeavyJump) = { + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_LANTERN_BRIGHTNESS), LVar0) + EVT_IF_GE(LVar0, 6) + EVT_EXEC_WAIT(N(checkExtinguish)) + EVT_END_IF + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) + EVT_CALL(SetBattleCamZoom, 260) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(MoveBattleCamOver, 20) + EVT_CALL(func_8024ECF8, -1, 1, 0) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 50) + EVT_SET(LVar1, 0) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim06) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim01) + EVT_WAIT(8) + EVT_CALL(SetActorSounds, ACTOR_SELF, 2, 999, 0) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, 0, 0, 1, BS_FLAGS1_10) + EVT_SWITCH(LVarA) + EVT_CASE_OR_EQ(6) + EVT_CASE_OR_EQ(5) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim10) + EVT_THREAD + EVT_WAIT(10) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim11) + EVT_END_THREAD + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 20) + EVT_SET(LVar1, 0) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_37D) + EVT_CALL(ResetActorSounds, ACTOR_SELF, 2) + EVT_SUB(LVar0, 15) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 12, FALSE, TRUE, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim01) + EVT_SUB(LVar0, 10) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_37D) + EVT_WAIT(8) + EVT_IF_EQ(LVarA, 5) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_EXEC_WAIT(N(returnHome)) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim10) + EVT_THREAD + EVT_WAIT(7) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim11) + EVT_END_THREAD + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) + EVT_WAIT(2) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 5, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_SET(LVarF, LVar0) + EVT_SWITCH(LVarF) + EVT_CASE_OR_EQ(HIT_RESULT_HIT) + EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_37D) + EVT_CALL(ResetActorSounds, ACTOR_SELF, 2) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) + EVT_CALL(SetBattleCamZoom, 320) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(MoveBattleCamOver, 20) + EVT_CALL(func_8024ECF8, -1, 1, 0) + EVT_THREAD + EVT_WAIT(5) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim10) + EVT_END_THREAD + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 40) + EVT_SET(LVar1, 0) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 12, FALSE, TRUE, FALSE) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_37D) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim01) + EVT_ADD(LVar0, 20) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_37D) + EVT_WAIT(8) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 20) + EVT_EXEC_WAIT(N(returnHome)) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(attackLightBeam) = { + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_MOVE_ID), N(MOVE_HEAVY_JUMP)) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_LIGHT_BEAM_COUNTER), 3) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_13) + EVT_CALL(SetBattleCamZoom, 240) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(MoveBattleCamOver, 20) + EVT_CALL(func_8024ECF8, -1, 1, 0) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 80) + EVT_SET(LVar1, 0) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim06) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim01) + EVT_WAIT(20) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_F) + EVT_CALL(SetBattleCamZoom, 350) + EVT_CALL(SetBattleCamOffsetZ, 35) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(MoveBattleCamOver, 8) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2EB) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim0F) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_LANTERN_BRIGHTNESS), LVar5) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_LANTERN_BRIGHTNESS), 11) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_LANTERN_X), LVar0) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_LANTERN_Y), LVar1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_LANTERN_Z), LVar2) + EVT_ADD(LVar1, 10) + EVT_ADD(LVar2, 2) + EVT_THREAD + EVT_WAIT(1) + EVT_CALL(PlayEffect, EFFECT_LIGHT_RAYS, 2, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), LVarB, 0, 0, 0, 0, 0, 0, 0) + EVT_WAIT(30) + EVT_CALL(RemoveEffect, LVarB) + EVT_END_THREAD + EVT_THREAD + EVT_WAIT(1) + EVT_CALL(PlayEffect, EFFECT_RADIATING_ENERGY_ORB, 1, LVar0, LVar1, LVar2, EVT_FLOAT(1.5), 30, 0, 0, 0, 0, 0, 0, 0) + EVT_END_THREAD + EVT_WAIT(5) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, 0, 0, 1, BS_FLAGS1_10) + EVT_SWITCH(LVarA) + EVT_CASE_OR_EQ(HIT_RESULT_MISS) + EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) + EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PARTNER) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, 0, 0, 1, BS_FLAGS1_10) + EVT_SWITCH(LVarA) + EVT_CASE_EQ(HIT_RESULT_MISS) + EVT_CASE_DEFAULT + EVT_CALL(ActorExists, ACTOR_PARTNER, LVar0) + EVT_IF_EQ(LVar0, 1) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PARTNER) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarD, 0, 65535, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_END_IF + EVT_END_SWITCH + EVT_END_CASE_GROUP + EVT_CASE_DEFAULT + EVT_WAIT(2) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarE, DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 65535, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_WAIT(2) + EVT_CALL(ActorExists, ACTOR_PARTNER, LVar0) + EVT_IF_EQ(LVar0, 1) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PARTNER) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarD, DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 65535, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_END_IF + EVT_END_SWITCH + EVT_WAIT(40) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_LANTERN_BRIGHTNESS), LVar5) + EVT_THREAD + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_HIT_SOUND_COUNTER), LVar0) + EVT_WAIT(10) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3AA) + EVT_CASE_EQ(1) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3A9) + EVT_CASE_EQ(2) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3A8) + EVT_CASE_EQ(3) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3A7) + EVT_END_SWITCH + EVT_END_THREAD + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim14) + EVT_WAIT(60) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_EXEC_WAIT(N(returnHome)) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(extinguish) = { + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_EXTINGUISHED_ONCE), 1) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_6), 1000) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_MOVE_ID), N(MOVE_LIGHT_BEAM)) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_SPEAK_FLAGS), LVar0) + EVT_IF_NOT_FLAG(LVar0, 2) + EVT_BITWISE_OR_CONST(LVar0, 2) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_SPEAK_FLAGS), LVar0) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) + EVT_CALL(SetBattleCamOffsetZ, 40) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(MoveBattleCamOver, 30) + EVT_WAIT(30) + EVT_CALL(GetEnemyMaxHP, ACTOR_SELF, LVar0) + EVT_CALL(GetActorHP, ACTOR_SELF, LVar1) + EVT_IF_EQ(LVar0, LVar1) + EVT_CALL(ActorSpeak, MSG_CH4_0053, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim05, ANIM_BigLanternGhost_Anim01) + EVT_ELSE + EVT_CALL(ActorSpeak, MSG_CH4_0052, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim05, ANIM_BigLanternGhost_Anim01) + EVT_END_IF + EVT_END_IF + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_13) + EVT_CALL(SetBattleCamZoom, 230) + EVT_CALL(SetBattleCamOffsetZ, 25) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(MoveBattleCamOver, 20) + EVT_WAIT(20) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3CF) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim0F) + EVT_WAIT(8) + EVT_THREAD + EVT_WAIT(2) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3D0) + EVT_END_THREAD + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim0E) + EVT_WAIT(5) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_LANTERN_BRIGHTNESS), 2) + EVT_THREAD + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_HIT_SOUND_COUNTER), LVar0) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_HIT_SOUND_COUNTER), 0) + EVT_WAIT(10) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(4) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3AA) + EVT_CASE_EQ(3) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3A9) + EVT_CASE_EQ(2) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3A8) + EVT_CASE_EQ(1) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3A7) + EVT_END_SWITCH + EVT_END_THREAD + EVT_WAIT(14) + EVT_WAIT(1) + EVT_WAIT(15) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_WAIT(2) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim01) + EVT_EXEC_WAIT(N(setGhostNoTarget)) + EVT_WAIT(30) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(takeTurn) = { + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_LIGHT_BEAM_COUNTER), LVar0) + EVT_IF_GT(LVar0, 0) + EVT_SUB(LVar0, 1) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_LIGHT_BEAM_COUNTER), LVar0) + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_MOVE_ID), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(N(MOVE_LIGHT_BEAM)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_LIGHT_BEAM_COUNTER), LVar0) + EVT_IF_GT(LVar0, 0) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_MOVE_ID), N(MOVE_HEAVY_JUMP)) + EVT_END_IF + EVT_CASE_EQ(N(MOVE_EXTINGUISH)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_LANTERN_BRIGHTNESS), LVar0) + EVT_IF_LT(LVar0, 6) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_MOVE_ID), N(MOVE_HEAVY_JUMP)) + EVT_END_IF + EVT_END_SWITCH + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_MOVE_ID), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(N(MOVE_LIGHT_BEAM)) + EVT_EXEC_WAIT(N(attackLightBeam)) + EVT_CASE_EQ(N(MOVE_EXTINGUISH)) + EVT_EXEC_WAIT(N(extinguish)) + EVT_CASE_DEFAULT + EVT_EXEC_WAIT(N(attackHeavyJump)) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(returnHome) = { + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BigLanternGhost_Anim07) + EVT_EXEC_WAIT(DoReturnHome) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim01) + EVT_RETURN + EVT_END +}; + +EvtScript N(setGhostNoTarget) = { + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_LANTERN_BRIGHTNESS), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_LT(5) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, 1) + EVT_CASE_LT(8) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, 0) + EVT_CASE_DEFAULT + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, 0) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(onDeath) = { + EVT_EXEC_WAIT(D_8029AF08) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_EFFECT), LVar0) + EVT_CALL(RemoveEffect, LVar0) + EVT_CALL(RemoveActor, ACTOR_SELF) + EVT_RETURN + EVT_END +}; diff --git a/src/battle/area_omo3/actor/clubba.c b/src/battle/area_omo3/actor/clubba.c new file mode 100644 index 0000000000..7c2d631824 --- /dev/null +++ b/src/battle/area_omo3/actor/clubba.c @@ -0,0 +1,5 @@ +#include "common.h" + +#define NAMESPACE b_area_omo3_clubba + +#include "battle/common/actor/clubba.inc.c" diff --git a/src/battle/area_omo3/actor/fuzzy.c b/src/battle/area_omo3/actor/fuzzy.c new file mode 100644 index 0000000000..8bdebaf1fb --- /dev/null +++ b/src/battle/area_omo3/actor/fuzzy.c @@ -0,0 +1,5 @@ +#include "common.h" + +#define NAMESPACE b_area_omo3_fuzzy + +#include "battle/common/actor/fuzzy.inc.c" diff --git a/src/battle/area_omo3/actor/goomba.c b/src/battle/area_omo3/actor/goomba.c new file mode 100644 index 0000000000..5f8d9b9698 --- /dev/null +++ b/src/battle/area_omo3/actor/goomba.c @@ -0,0 +1,5 @@ +#include "common.h" + +#define NAMESPACE b_area_omo3_goomba + +#include "battle/common/actor/goomba.inc.c" diff --git a/src/battle/area_omo3/actor/hammer_bro.c b/src/battle/area_omo3/actor/hammer_bro.c new file mode 100644 index 0000000000..6a303b385e --- /dev/null +++ b/src/battle/area_omo3/actor/hammer_bro.c @@ -0,0 +1,595 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "sprite/npc/HammerBros.h" + +#define NAMESPACE b_area_omo3_hammer_bro + +extern EvtScript N(init); +extern EvtScript N(takeTurn); +extern EvtScript N(idle); +extern EvtScript N(handleEvent); + +s32 N(idleAnimations)[] = { + STATUS_NORMAL, ANIM_HammerBros_Anim02, + STATUS_STONE, ANIM_HammerBros_Anim00, + STATUS_SLEEP, ANIM_HammerBros_Anim11, + STATUS_POISON, ANIM_HammerBros_Anim02, + STATUS_STOP, ANIM_HammerBros_Anim00, + STATUS_STATIC, ANIM_HammerBros_Anim02, + STATUS_PARALYZE, ANIM_HammerBros_Anim00, + STATUS_DIZZY, ANIM_HammerBros_Anim12, + STATUS_FEAR, ANIM_HammerBros_Anim12, + STATUS_END, +}; + +s32 N(idleAnimations2)[] = { + STATUS_NORMAL, ANIM_HammerBros_Anim0D, + STATUS_END, +}; + +s32 N(defenseTable)[] = { + ELEMENT_NORMAL, 1, + ELEMENT_END, +}; + +s32 N(statusTable)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 50, + STATUS_POISON, 60, + STATUS_FROZEN, 0, + STATUS_DIZZY, 70, + STATUS_FEAR, 0, + STATUS_STATIC, 80, + STATUS_PARALYZE, 70, + STATUS_SHRINK, 70, + STATUS_STOP, 80, + STATUS_DEFAULT_TURN_MOD, 0, + STATUS_SLEEP_TURN_MOD, -1, + STATUS_POISON_TURN_MOD, 0, + STATUS_FROZEN_TURN_MOD, 0, + STATUS_DIZZY_TURN_MOD, -1, + STATUS_FEAR_TURN_MOD, 0, + STATUS_STATIC_TURN_MOD, 0, + STATUS_PARALYZE_TURN_MOD, 0, + STATUS_SHRINK_TURN_MOD, 0, + STATUS_STOP_TURN_MOD, -2, + STATUS_END, +}; + +ActorPartBlueprint N(parts)[] = { + { + .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { -3, 35 }, + .opacity = 255, + .idleAnimations = N(idleAnimations), + .defenseTable = N(defenseTable), + .eventFlags = 0, + .elementImmunityFlags = 0, + .unk_1C = -3, + .unk_1D = -10, + }, + { + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .index = 2, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 0 }, + .opacity = 255, + .idleAnimations = N(idleAnimations2), + .defenseTable = N(defenseTable), + .eventFlags = 0, + .elementImmunityFlags = 0, + .unk_1C = 0, + .unk_1D = 0, + }, + { + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .index = 3, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 0 }, + .opacity = 255, + .idleAnimations = N(idleAnimations2), + .defenseTable = N(defenseTable), + .eventFlags = 0, + .elementImmunityFlags = 0, + .unk_1C = 0, + .unk_1D = 0, + }, + { + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .index = 4, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 0 }, + .opacity = 255, + .idleAnimations = N(idleAnimations2), + .defenseTable = N(defenseTable), + .eventFlags = 0, + .elementImmunityFlags = 0, + .unk_1C = 0, + .unk_1D = 0, + }, + { + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .index = 5, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 0 }, + .opacity = 255, + .idleAnimations = N(idleAnimations2), + .defenseTable = N(defenseTable), + .eventFlags = 0, + .elementImmunityFlags = 0, + .unk_1C = 0, + .unk_1D = 0, + }, + { + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .index = 6, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 0 }, + .opacity = 255, + .idleAnimations = N(idleAnimations2), + .defenseTable = N(defenseTable), + .eventFlags = 0, + .elementImmunityFlags = 0, + .unk_1C = 0, + .unk_1D = 0, + }, +}; + +ActorBlueprint NAMESPACE = { + .flags = 0, + .type = ACTOR_TYPE_HAMMER_BROS, + .level = 27, + .maxHP = 12, + .partCount = ARRAY_COUNT(N(parts)), + .partsData = N(parts), + .script = &N(init), + .statusTable = N(statusTable), + .escapeChance = 30, + .airLiftChance = 75, + .spookChance = 60, + .baseStatusChance = 40, + .upAndAwayChance = 95, + .spinSmashReq = 0, + .powerBounceChance = 80, + .coinReward = 2, + .size = { 28, 38 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -10, 20 }, + .statusMessageOffset = { 10, 35 }, +}; + +EvtScript N(init) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) + EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(idle) = { + EVT_LABEL(0) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_FLAG(STATUS_FLAG_SLEEP) + EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 15) + EVT_CALL(func_8027D4C8, ACTOR_SELF, 1, 0, 0) + EVT_CASE_DEFAULT + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -3, 35) + EVT_CALL(func_8027D4C8, ACTOR_SELF, 1, -3, -10) + EVT_CASE_EQ(1) + EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 15) + EVT_CALL(func_8027D4C8, ACTOR_SELF, 1, 0, 0) + EVT_END_SWITCH + EVT_END_SWITCH + EVT_WAIT(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(handleEvent) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(EVENT_HIT_COMBO) + EVT_CASE_OR_EQ(EVENT_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_HammerBros_Anim0E) + EVT_EXEC_WAIT(DoNormalHit) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_BURN_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_HammerBros_Anim0F) + EVT_SET_CONST(LVar2, ANIM_HammerBros_Anim10) + EVT_EXEC_WAIT(DoBurnHit) + EVT_CASE_EQ(EVENT_BURN_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_HammerBros_Anim0F) + EVT_SET_CONST(LVar2, ANIM_HammerBros_Anim10) + EVT_EXEC_WAIT(DoBurnHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_HammerBros_Anim10) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_HammerBros_Anim0E) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_HammerBros_Anim0E) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_HammerBros_Anim0E) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER) + EVT_CASE_OR_EQ(EVENT_IMMUNE) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_HammerBros_Anim15) + EVT_EXEC_WAIT(DoImmune) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HammerBros_Anim17) + EVT_WAIT(10) + EVT_END_IF + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_HammerBros_Anim0E) + EVT_EXEC_WAIT(DoNormalHit) + EVT_WAIT(10) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_HammerBros_Anim0E) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_RECOVER_STATUS) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_HammerBros_Anim02) + EVT_EXEC_WAIT(DoRecover) + EVT_CASE_EQ(EVENT_SCARE_AWAY) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_HammerBros_Anim07) + EVT_SET_CONST(LVar2, ANIM_HammerBros_Anim0E) + EVT_EXEC_WAIT(DoScareAway) + EVT_RETURN + EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_HammerBros_Anim07) + EVT_EXEC_WAIT(DoAirLift) + EVT_CASE_EQ(EVENT_BLOW_AWAY) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_CALL(SetActorDispOffset, ACTOR_SELF, -2, 1, 0) + EVT_ELSE + EVT_CALL(SetActorDispOffset, ACTOR_SELF, -5, 3, 0) + EVT_END_IF + EVT_END_IF + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_HammerBros_Anim0E) + EVT_EXEC_WAIT(DoBlowAway) + EVT_RETURN + EVT_CASE_EQ(EVENT_AIR_LIFT_FAILED) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_HammerBros_Anim02) + EVT_EXEC_WAIT(DoImmune) + EVT_CASE_DEFAULT + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(attackHammerThrow) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(GetBattlePhase, LVar0) + EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 1) + EVT_END_IF + EVT_CALL(GetBattlePhase, LVar0) + EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) + EVT_CHILD_THREAD + EVT_SET(LVar0, 0) + EVT_LABEL(0) + EVT_ADD(LVar0, 20) + EVT_MOD(LVar0, 360) + EVT_CALL(SetPartRotation, ACTOR_SELF, 2, 0, 0, LVar0) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_END_CHILD_THREAD + EVT_CALL(SetPartPos, ACTOR_SELF, 2, 0, 50, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HammerBros_Anim0C) + EVT_GOTO(100) + EVT_END_IF + EVT_CHILD_THREAD + EVT_SET(LVar0, 0) + EVT_LABEL(0) + EVT_ADD(LVar0, 20) + EVT_MOD(LVar0, 360) + EVT_CALL(SetPartRotation, ACTOR_SELF, 2, 0, 0, LVar0) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_END_CHILD_THREAD + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 23) + EVT_ADD(LVar1, 23) + EVT_SUB(LVar2, 2) + EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HammerBros_Anim0C) + EVT_WAIT(8) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, 0) + EVT_LABEL(100) + EVT_THREAD + EVT_WAIT(15) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HammerBros_Anim02) + EVT_END_THREAD + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_CALL(SetPartScale, ACTOR_SELF, 2, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_ELSE + EVT_CALL(SetPartScale, ACTOR_SELF, 2, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_END_IF + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_MISS) + EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) + EVT_SET(LVarA, LVar0) + EVT_CALL(SetPartSounds, ACTOR_SELF, 2, 2, 0, 0) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 2, SOUND_2E9) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 20) + EVT_SET(LVar1, 10) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(1.3)) + EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 15, 1) + EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_SUB(LVar0, 40) + EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 15, 1) + EVT_SUB(LVar0, 30) + EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 10, 1) + EVT_SUB(LVar0, 20) + EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 5, 1) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, 1) + EVT_WAIT(15) + EVT_CALL(YieldTurn) + EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) + EVT_WAIT(20) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(SetPartSounds, ACTOR_SELF, 2, 2, 0, 0) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 2, SOUND_2E9) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(1.3)) + EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 15, 1) + EVT_WAIT(2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0x00000002 | 0x00000010 | STATUS_FLAG_20 | STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_SHRINK | STATUS_FLAG_80000000, 5, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_HIT) + EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CALL(GetPartOffset, ACTOR_SELF, 2, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 50) + EVT_SET(LVar1, 10) + EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 20, 1) + EVT_SUB(LVar0, 30) + EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 10, 1) + EVT_SUB(LVar0, 20) + EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 5, 1) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, 1) + EVT_WAIT(20) + EVT_CALL(YieldTurn) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(hammerMiss) = { + EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HammerBros_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HammerBros_Anim0C) + EVT_WAIT(4) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, LVar0, ACTOR_PART_FLAG_INVISIBLE, 0) + EVT_CALL(SetPartSounds, ACTOR_SELF, LVar0, 2, 0, 0) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, LVar0, SOUND_2E9) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar1, LVar2, LVar3) + EVT_SET(LVar2, 10) + EVT_CALL(RandInt, 60, LVar4) + EVT_SET(LVar5, 30) + EVT_SUB(LVar5, LVar4) + EVT_ADD(LVar1, LVar5) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, LVar0, EVT_FLOAT(1.3)) + EVT_CALL(JumpPartTo, ACTOR_SELF, LVar0, LVar1, LVar2, LVar3, 15, 1) + EVT_SUB(LVar1, 50) + EVT_SET(LVar2, 10) + EVT_CALL(JumpPartTo, ACTOR_SELF, LVar0, LVar1, LVar2, LVar3, 20, 1) + EVT_SUB(LVar1, 30) + EVT_CALL(JumpPartTo, ACTOR_SELF, LVar0, LVar1, LVar2, LVar3, 10, 1) + EVT_SUB(LVar1, 20) + EVT_CALL(JumpPartTo, ACTOR_SELF, LVar0, LVar1, LVar2, LVar3, 5, 1) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, LVar0, ACTOR_PART_FLAG_INVISIBLE, 1) + EVT_RETURN + EVT_END +}; + +EvtScript N(hammerHit) = { + EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HammerBros_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HammerBros_Anim0C) + EVT_WAIT(4) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, LVar0, ACTOR_PART_FLAG_INVISIBLE, 0) + EVT_CALL(SetPartSounds, ACTOR_SELF, LVar0, 2, 0, 0) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, LVar0, SOUND_2E9) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar1, LVar2, LVar3) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, LVar0, EVT_FLOAT(1.3)) + EVT_CALL(JumpPartTo, ACTOR_SELF, LVar0, LVar1, LVar2, LVar3, 15, 1) + EVT_SUB(LVar1, 50) + EVT_SET(LVar2, 10) + EVT_CALL(JumpPartTo, ACTOR_SELF, LVar0, LVar1, LVar2, LVar3, 20, 1) + EVT_SUB(LVar1, 30) + EVT_CALL(JumpPartTo, ACTOR_SELF, LVar0, LVar1, LVar2, LVar3, 10, 1) + EVT_SUB(LVar1, 20) + EVT_CALL(JumpPartTo, ACTOR_SELF, LVar0, LVar1, LVar2, LVar3, 5, 1) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, LVar0, ACTOR_PART_FLAG_INVISIBLE, 1) + EVT_RETURN + EVT_END +}; + +EvtScript N(attackHammerSurge) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_THREAD + EVT_SET(LVar0, 0) + EVT_LOOP(100) + EVT_ADD(LVar0, 20) + EVT_MOD(LVar0, 360) + EVT_CALL(SetPartRotation, ACTOR_SELF, 2, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, 3, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, 4, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, 5, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, 6, 0, 0, LVar0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 23) + EVT_ADD(LVar1, 23) + EVT_SUB(LVar2, 2) + EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, 4, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, 5, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, 6, LVar0, LVar1, LVar2) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_CALL(SetPartScale, ACTOR_SELF, 2, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, 4, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, 5, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_ELSE + EVT_CALL(SetPartScale, ACTOR_SELF, 2, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, 4, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, 5, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_END_IF + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_MISS) + EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) + EVT_SET(LVarA, LVar0) + EVT_SET(LVar0, 2) + EVT_EXEC(N(hammerMiss)) + EVT_WAIT(5) + EVT_SET(LVar0, 3) + EVT_EXEC(N(hammerMiss)) + EVT_WAIT(5) + EVT_SET(LVar0, 4) + EVT_EXEC(N(hammerMiss)) + EVT_WAIT(5) + EVT_SET(LVar0, 5) + EVT_EXEC(N(hammerMiss)) + EVT_WAIT(5) + EVT_SET(LVar0, 6) + EVT_EXEC(N(hammerMiss)) + EVT_WAIT(5) + EVT_WAIT(20) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HammerBros_Anim02) + EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_WAIT(15) + EVT_CALL(YieldTurn) + EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) + EVT_WAIT(20) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_THREAD + EVT_SET(LVar0, 2) + EVT_EXEC(N(hammerHit)) + EVT_WAIT(5) + EVT_SET(LVar0, 3) + EVT_EXEC(N(hammerHit)) + EVT_WAIT(5) + EVT_SET(LVar0, 4) + EVT_EXEC(N(hammerHit)) + EVT_WAIT(5) + EVT_SET(LVar0, 5) + EVT_EXEC(N(hammerHit)) + EVT_WAIT(5) + EVT_SET(LVar0, 6) + EVT_EXEC(N(hammerHit)) + EVT_END_THREAD + EVT_WAIT(21) + EVT_WAIT(2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 2, BS_FLAGS1_10) + EVT_WAIT(5) + EVT_WAIT(2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 2, BS_FLAGS1_40) + EVT_WAIT(5) + EVT_WAIT(2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 2, BS_FLAGS1_40) + EVT_WAIT(5) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HammerBros_Anim02) + EVT_WAIT(2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 2, BS_FLAGS1_40) + EVT_WAIT(5) + EVT_WAIT(2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0x00000002 | 0x00000010 | STATUS_FLAG_20 | STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_SHRINK | STATUS_FLAG_80000000, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_HIT) + EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_WAIT(20) + EVT_CALL(YieldTurn) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(takeTurn) = { + EVT_CALL(GetActorHP, ACTOR_SELF, LVar0) + EVT_CALL(GetEnemyMaxHP, ACTOR_SELF, LVar1) + EVT_MULF(LVar0, EVT_FLOAT(100.0)) + EVT_DIVF(LVar0, LVar1) + EVT_IF_GT(LVar0, 34) + EVT_EXEC_WAIT(N(attackHammerThrow)) + EVT_ELSE + EVT_EXEC_WAIT(N(attackHammerSurge)) + EVT_END_IF + EVT_RETURN + EVT_END +}; diff --git a/src/battle/area_omo3/actor/koopatrol.c b/src/battle/area_omo3/actor/koopatrol.c new file mode 100644 index 0000000000..b9c4f2387e --- /dev/null +++ b/src/battle/area_omo3/actor/koopatrol.c @@ -0,0 +1,1350 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "sprite/npc/Koopatrol.h" +#include "effects.h" + +#define NAMESPACE b_area_omo3_koopatrol + +enum N(ActorVars) { + N(VAR_STATE) = 0, + N(VAR_SUMMON_COUNT) = 1, + N(VAR_INDEX_FROM_HOME) = 2, + N(VAR_FLIPPED) = 9, +}; + +enum N(States) { + N(STATE_NORMAL) = 0, + N(STATE_FLIPPED) = 1, + N(STATE_CHARGED) = 2, +}; + +extern EvtScript N(init); +extern EvtScript N(takeTurn); +extern EvtScript N(idle); +extern EvtScript N(handleEvent); +extern EvtScript N(nextTurn); + +s32 N(idleAnimations)[] = { + STATUS_NORMAL, ANIM_Koopatrol_Anim01, + STATUS_STONE, ANIM_Koopatrol_Anim00, + STATUS_SLEEP, ANIM_Koopatrol_Anim11, + STATUS_POISON, ANIM_Koopatrol_Anim01, + STATUS_STOP, ANIM_Koopatrol_Anim00, + STATUS_STATIC, ANIM_Koopatrol_Anim01, + STATUS_PARALYZE, ANIM_Koopatrol_Anim00, + STATUS_DIZZY, ANIM_Koopatrol_Anim13, + STATUS_FEAR, ANIM_Koopatrol_Anim13, + STATUS_END, +}; + +s32 N(idleAnimations_stepBack)[] = { + STATUS_NORMAL, ANIM_Koopatrol_Anim03, + STATUS_STONE, ANIM_Koopatrol_Anim00, + STATUS_SLEEP, ANIM_Koopatrol_Anim11, + STATUS_POISON, ANIM_Koopatrol_Anim03, + STATUS_STOP, ANIM_Koopatrol_Anim00, + STATUS_STATIC, ANIM_Koopatrol_Anim03, + STATUS_PARALYZE, ANIM_Koopatrol_Anim00, + STATUS_DIZZY, ANIM_Koopatrol_Anim13, + STATUS_FEAR, ANIM_Koopatrol_Anim13, + STATUS_END, +}; + +s32 N(idleAnimations_flipped)[] = { + STATUS_NORMAL, ANIM_Koopatrol_Anim0F, + STATUS_STONE, ANIM_Koopatrol_Anim10, + STATUS_SLEEP, ANIM_Koopatrol_Anim12, + STATUS_POISON, ANIM_Koopatrol_Anim0F, + STATUS_STOP, ANIM_Koopatrol_Anim10, + STATUS_STATIC, ANIM_Koopatrol_Anim0F, + STATUS_PARALYZE, ANIM_Koopatrol_Anim10, + STATUS_DIZZY, ANIM_Koopatrol_Anim14, + STATUS_FEAR, ANIM_Koopatrol_Anim14, + STATUS_END, +}; + +s32 N(idleAnimations_charged)[] = { + STATUS_NORMAL, ANIM_Koopatrol_Anim06, + STATUS_STONE, ANIM_Koopatrol_Anim06, + STATUS_SLEEP, ANIM_Koopatrol_Anim06, + STATUS_POISON, ANIM_Koopatrol_Anim06, + STATUS_STOP, ANIM_Koopatrol_Anim06, + STATUS_STATIC, ANIM_Koopatrol_Anim06, + STATUS_PARALYZE, ANIM_Koopatrol_Anim06, + STATUS_DIZZY, ANIM_Koopatrol_Anim06, + STATUS_FEAR, ANIM_Koopatrol_Anim06, + STATUS_END, +}; + +s32 N(defenseTable)[] = { + ELEMENT_NORMAL, 3, + ELEMENT_SHOCK, 3, + ELEMENT_END, +}; + +s32 N(defenseTable_flipped)[] = { + ELEMENT_NORMAL, 0, + ELEMENT_END, +}; + +s32 N(defenseTable_charged)[] = { + ELEMENT_NORMAL, 3, + ELEMENT_FIRE, 3, + ELEMENT_END, +}; + +s32 N(statusTable)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 50, + STATUS_POISON, 60, + STATUS_FROZEN, 0, + STATUS_DIZZY, 75, + STATUS_FEAR, 0, + STATUS_STATIC, 80, + STATUS_PARALYZE, 75, + STATUS_SHRINK, 70, + STATUS_STOP, 80, + STATUS_DEFAULT_TURN_MOD, 0, + STATUS_SLEEP_TURN_MOD, -1, + STATUS_POISON_TURN_MOD, 0, + STATUS_FROZEN_TURN_MOD, 0, + STATUS_DIZZY_TURN_MOD, 0, + STATUS_FEAR_TURN_MOD, 0, + STATUS_STATIC_TURN_MOD, 0, + STATUS_PARALYZE_TURN_MOD, 0, + STATUS_SHRINK_TURN_MOD, 0, + STATUS_STOP_TURN_MOD, -1, + STATUS_END, +}; + +s32 N(statusTable_charged)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 0, + STATUS_POISON, 0, + STATUS_DIZZY, 0, + STATUS_FEAR, 0, + STATUS_STATIC, 0, + STATUS_PARALYZE, 0, + STATUS_SHRINK, 0, + STATUS_STOP, 0, + STATUS_DEFAULT_TURN_MOD, 0, + STATUS_SLEEP_TURN_MOD, 0, + STATUS_POISON_TURN_MOD, 0, + STATUS_DIZZY_TURN_MOD, 0, + STATUS_FEAR_TURN_MOD, 0, + STATUS_STATIC_TURN_MOD, 0, + STATUS_PARALYZE_TURN_MOD, 0, + STATUS_SHRINK_TURN_MOD, 0, + STATUS_STOP_TURN_MOD, 0, + STATUS_END, +}; + +ActorPartBlueprint N(parts)[] = { + { + .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 32 }, + .opacity = 255, + .idleAnimations = N(idleAnimations), + .defenseTable = N(defenseTable), + .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_FLIPABLE, + .elementImmunityFlags = 0, + .unk_1C = 0, + .unk_1D = -12, + }, +}; + +ActorBlueprint NAMESPACE = { + .flags = 0, + .type = ACTOR_TYPE_KOOPATROL, + .level = 25, + .maxHP = 8, + .partCount = ARRAY_COUNT(N(parts)), + .partsData = N(parts), + .script = &N(init), + .statusTable = N(statusTable), + .escapeChance = 50, + .airLiftChance = 75, + .spookChance = 65, + .baseStatusChance = 60, + .upAndAwayChance = 95, + .spinSmashReq = 0, + .powerBounceChance = 85, + .coinReward = 2, + .size = { 32, 42 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -15, 32 }, + .statusMessageOffset = { 5, 32 }, +}; + +#include "common/UnkBattleFunc1.inc.c" +#include "common/StartRumbleWithParams.inc.c" + +EvtScript N(init) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) + EVT_CALL(BindNextTurn, ACTOR_SELF, EVT_PTR(N(nextTurn))) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_STATE), N(STATE_NORMAL)) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_SUMMON_COUNT), 0) + EVT_CALL(GetIndexFromHome, ACTOR_SELF, LVar0) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_INDEX_FROM_HOME), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_CALL(SetBattleVar, 4, 0) + EVT_CASE_EQ(1) + EVT_CALL(SetBattleVar, 5, 0) + EVT_CASE_EQ(2) + EVT_CALL(SetBattleVar, 6, 0) + EVT_CASE_EQ(3) + EVT_CALL(SetBattleVar, 7, 0) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(nextTurn) = { + EVT_CALL(GetBattlePhase, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(PHASE_PLAYER_BEGIN) + EVT_CASE_EQ(PHASE_ENEMY_BEGIN) + EVT_CASE_EQ(PHASE_ENEMY_END) + EVT_CALL(SetBattleVar, 1, 0) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(update_unknown) = { + EVT_SWITCH(LVar0) + EVT_CASE_EQ(N(STATE_NORMAL)) + EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_DIZZY) + EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 15) + EVT_CALL(func_8027D4C8, ACTOR_SELF, 1, 0, 0) + EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_ELSE + EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -4, 32) + EVT_CALL(func_8027D4C8, ACTOR_SELF, 1, -1, -4) + EVT_CALL(N(UnkBattleFunc1), -15, 32, 5, 32) + EVT_END_IF + EVT_CASE_EQ(N(STATE_FLIPPED)) + EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 15) + EVT_CALL(func_8027D4C8, ACTOR_SELF, 1, 0, 0) + EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CASE_EQ(N(STATE_CHARGED)) + EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -4, 20) + EVT_CALL(func_8027D4C8, ACTOR_SELF, 1, 0, -6) + EVT_CALL(N(UnkBattleFunc1), -15, 22, 5, 22) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(idle) = { + EVT_LABEL(0) + EVT_CALL(RandInt, 80, LVarA) + EVT_ADD(LVarA, 80) + EVT_LOOP(LVarA) + EVT_LABEL(1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_STATE), LVar0) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) + EVT_EXEC_WAIT(N(update_unknown)) + EVT_IF_EQ(LVar0, N(STATE_FLIPPED)) + EVT_WAIT(1) + EVT_GOTO(1) + EVT_END_IF + EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP | STATUS_FLAG_GLOWING) + EVT_WAIT(1) + EVT_GOTO(1) + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 5) + EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_stepBack))) + EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_STATE), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(N(STATE_NORMAL)) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations))) + EVT_CASE_EQ(N(STATE_FLIPPED)) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_flipped))) + EVT_END_SWITCH + EVT_LOOP(20) + EVT_LABEL(2) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_STATE), LVar0) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) + EVT_EXEC_WAIT(N(update_unknown)) + EVT_IF_EQ(LVar0, N(STATE_FLIPPED)) + EVT_WAIT(1) + EVT_GOTO(2) + EVT_END_IF + EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP | STATUS_FLAG_GLOWING) + EVT_WAIT(1) + EVT_GOTO(2) + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 5) + EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_stepBack))) + EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_STATE), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(N(STATE_NORMAL)) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations))) + EVT_CASE_EQ(N(STATE_FLIPPED)) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_flipped))) + EVT_END_SWITCH + EVT_LOOP(80) + EVT_LABEL(3) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_STATE), LVar0) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) + EVT_EXEC_WAIT(N(update_unknown)) + EVT_IF_EQ(LVar0, N(STATE_FLIPPED)) + EVT_WAIT(1) + EVT_GOTO(3) + EVT_END_IF + EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP | STATUS_FLAG_GLOWING) + EVT_WAIT(1) + EVT_GOTO(3) + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +s32 N(flipPos)[] = { + 9, 16, 22, 26, 30, 32, 33, 32, 30, 26, 22, 16, 9, 0, 4, 6, 7, 6, 4, 0, 2, 0, +}; + +EvtScript N(handleEvent) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetActorYaw, ACTOR_SELF, 0) + EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(EVENT_HIT_COMBO) + EVT_CASE_OR_EQ(EVENT_HIT) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_STATE), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(N(STATE_NORMAL)) + EVT_CASE_OR_EQ(N(STATE_FLIPPED)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim0B) + EVT_EXEC_WAIT(DoNormalHit) + EVT_END_CASE_GROUP + EVT_CASE_EQ(N(STATE_CHARGED)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim06) + EVT_EXEC_WAIT(DoNormalHit) + EVT_END_SWITCH + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_BURN_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim0C) + EVT_SET_CONST(LVar2, ANIM_Koopatrol_Anim0D) + EVT_EXEC_WAIT(DoBurnHit) + EVT_CASE_EQ(EVENT_BURN_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim0C) + EVT_SET_CONST(LVar2, ANIM_Koopatrol_Anim0D) + EVT_EXEC_WAIT(DoBurnHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim0D) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_STATE), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(N(STATE_NORMAL)) + EVT_CASE_OR_EQ(N(STATE_FLIPPED)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim0B) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_END_CASE_GROUP + EVT_CASE_EQ(N(STATE_CHARGED)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim06) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_END_SWITCH + EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_STATE), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(N(STATE_NORMAL)) + EVT_CASE_OR_EQ(N(STATE_FLIPPED)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim0B) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim0B) + EVT_EXEC_WAIT(DoDeath) + EVT_END_CASE_GROUP + EVT_CASE_EQ(N(STATE_CHARGED)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim06) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim08) + EVT_WAIT(5) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim0B) + EVT_EXEC_WAIT(DoDeath) + EVT_END_SWITCH + EVT_CASE_EQ(EVENT_FLIP_TRIGGER) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_STATE), N(STATE_FLIPPED)) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_FLIPPED), 1) + EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(defenseTable_flipped))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_flipped))) + EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 15) + EVT_CALL(func_8027D4C8, ACTOR_SELF, 1, 0, 0) + EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_SPIKY_TOP, 0) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_400, 1) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim0B) + EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) + EVT_THREAD + EVT_WAIT(4) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 30) + EVT_WAIT(1) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) + EVT_WAIT(1) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -30) + EVT_WAIT(1) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -60) + EVT_WAIT(1) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -75) + EVT_WAIT(1) + EVT_END_THREAD + EVT_USE_BUF(N(flipPos)) + EVT_LOOP(22) + EVT_BUF_READ1(LVar0) + EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, LVar0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim0F) + EVT_CASE_EQ(EVENT_SHOCK_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim0B) + EVT_EXEC_WAIT(DoShockHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim0B) + EVT_EXEC_WAIT(DoJumpBack) + EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim04) + EVT_EXEC_WAIT(DoReturnHome) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) + EVT_CASE_EQ(EVENT_SHOCK_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim0B) + EVT_EXEC_WAIT(DoShockHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim0B) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_STAR_BEAM) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_STATE), LVar0) + EVT_IF_EQ(LVar0, N(STATE_CHARGED)) + EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(statusTable))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(defenseTable))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_FLIPABLE, 1) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_STATE), N(STATE_NORMAL)) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations))) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) + EVT_IF_NOT_FLAG(LVarA, STATUS_FLAG_DEFENSE_BOOST | STATUS_FLAG_ATTACK_BOOST) + EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) + EVT_END_IF + EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_400000, 0) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim08) + EVT_EXEC_WAIT(DoImmune) + EVT_END_IF + EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER) + EVT_CASE_OR_EQ(EVENT_IMMUNE) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_STATE), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(N(STATE_NORMAL)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim07) + EVT_EXEC_WAIT(DoImmune) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim08) + EVT_WAIT(10) + EVT_END_IF + EVT_CASE_EQ(N(STATE_FLIPPED)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim0F) + EVT_EXEC_WAIT(DoImmune) + EVT_CASE_EQ(N(STATE_CHARGED)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim06) + EVT_EXEC_WAIT(DoImmune) + EVT_END_SWITCH + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_SPIKE_TAUNT) + EVT_WAIT(10) + EVT_SET(LocalFlag(0), 0) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) + EVT_IF_FLAG(LVar3, STATUS_FLAG_SHRINK) + EVT_ADD(LVar1, 16) + EVT_SET(LocalFlag(0), 1) + EVT_END_IF + EVT_IF_FLAG(LVar3, STATUS_FLAG_DIZZY) + EVT_ADD(LVar0, -14) + EVT_ADD(LVar1, 20) + EVT_SET(LocalFlag(0), 1) + EVT_END_IF + EVT_IF_FLAG(LVar3, STATUS_FLAG_SLEEP) + EVT_ADD(LVar0, -14) + EVT_ADD(LVar1, 20) + EVT_SET(LocalFlag(0), 1) + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_STATE), LVarA) + EVT_IF_EQ(LVarA, N(STATE_CHARGED)) + EVT_ADD(LVar1, 23) + EVT_SET(LocalFlag(0), 1) + EVT_END_IF + EVT_IF_EQ(LocalFlag(0), 0) + EVT_ADD(LVar1, 42) + EVT_END_IF + EVT_CALL(PlayEffect, EFFECT_LENS_FLARE, 0, LVar0, LVar1, LVar2, 20, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_WAIT(20) + EVT_CASE_EQ(EVENT_DEATH) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_STATE), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(N(STATE_NORMAL)) + EVT_CASE_OR_EQ(N(STATE_FLIPPED)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim0B) + EVT_EXEC_WAIT(DoNormalHit) + EVT_WAIT(10) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim0B) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_CASE_EQ(N(STATE_CHARGED)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim06) + EVT_EXEC_WAIT(DoNormalHit) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim08) + EVT_WAIT(5) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim0B) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_END_SWITCH + EVT_CASE_EQ(EVENT_RECOVER_STATUS) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_STATE), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(N(STATE_NORMAL)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim01) + EVT_EXEC_WAIT(DoRecover) + EVT_CASE_EQ(N(STATE_FLIPPED)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim0F) + EVT_EXEC_WAIT(DoImmune) + EVT_CASE_EQ(N(STATE_CHARGED)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim06) + EVT_EXEC_WAIT(DoRecover) + EVT_END_SWITCH + EVT_CASE_EQ(EVENT_SCARE_AWAY) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_STATE), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(N(STATE_NORMAL)) + EVT_CASE_OR_EQ(N(STATE_CHARGED)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim04) + EVT_SET_CONST(LVar2, ANIM_Koopatrol_Anim0B) + EVT_EXEC_WAIT(DoScareAway) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_CASE_EQ(N(STATE_FLIPPED)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim0F) + EVT_EXEC_WAIT(DoImmune) + EVT_END_SWITCH + EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_STATE), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(N(STATE_NORMAL)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim16) + EVT_EXEC_WAIT(DoAirLift) + EVT_CASE_EQ(N(STATE_FLIPPED)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim0F) + EVT_EXEC_WAIT(DoAirLift) + EVT_CASE_EQ(N(STATE_CHARGED)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim0F) + EVT_EXEC_WAIT(DoAirLift) + EVT_END_SWITCH + EVT_CASE_EQ(EVENT_BLOW_AWAY) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_STATE), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(N(STATE_NORMAL)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim16) + EVT_CASE_EQ(N(STATE_FLIPPED)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim0F) + EVT_CASE_EQ(N(STATE_CHARGED)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim0F) + EVT_END_SWITCH + EVT_EXEC_WAIT(DoBlowAway) + EVT_RETURN + EVT_CASE_EQ(EVENT_AIR_LIFT_FAILED) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_STATE), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(N(STATE_NORMAL)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim01) + EVT_CASE_EQ(N(STATE_FLIPPED)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim0F) + EVT_CASE_EQ(N(STATE_CHARGED)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim0F) + EVT_END_SWITCH + EVT_EXEC_WAIT(DoImmune) + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, -1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(attackShellToss) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(GetBattlePhase, LVar0) + EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim06) + EVT_ELSE + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_STATE), LVar0) + EVT_IF_EQ(LVar0, N(STATE_FLIPPED)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_FLIPPED), LVar0) + EVT_SUB(LVar0, 1) + EVT_IF_GT(LVar0, 0) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_FLIPPED), LVar0) + EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) + EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(3.0)) + EVT_WAIT(15) + EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_ELSE + EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) + EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(3.0)) + EVT_WAIT(10) + EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetActorSounds, ACTOR_SELF, 2, 0, 0) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_JUMP_3E2) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim0F) + EVT_SET(LVar0, 0) + EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) + EVT_THREAD + EVT_LOOP(5) + EVT_ADD(LVar0, 15) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20BA) + EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) + EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim01) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_STATE), N(STATE_NORMAL)) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(defenseTable))) + EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -4, 32) + EVT_CALL(func_8027D4C8, ACTOR_SELF, 1, -1, -4) + EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_SPIKY_TOP, 1) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_400, 0) + EVT_END_IF + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END_IF + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(func_8024ECF8, -1, 1, 0) + EVT_WAIT(10) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim07) + EVT_WAIT(10) + EVT_THREAD + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 4) + EVT_CALL(PlayEffect, EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0, 0, 0, 0, 0) + EVT_WAIT(3) + EVT_CALL(PlayEffect, EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0, 0, 0, 0, 0) + EVT_WAIT(2) + EVT_CALL(PlayEffect, EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0, 0, 0, 0, 0) + EVT_END_THREAD + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2021) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim06) + EVT_WAIT(10) + EVT_CALL(func_8024ECF8, -1, 1, 0) + EVT_END_IF + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20D3) + EVT_CALL(SetActorSounds, ACTOR_SELF, 0, 0, 0) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 4, BS_FLAGS1_10) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_MISS) + EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) + EVT_SET(LVarA, LVar0) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(AddGoalPos, ACTOR_SELF, -40, 0, 0) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(16.0)) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(GetBattlePhase, LVar0) + EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_F) + EVT_CALL(SetBattleCamZoom, 300) + EVT_CALL(SetBattleCamOffsetZ, 20) + EVT_CALL(MoveBattleCamOver, 10) + EVT_CALL(func_8024ECF8, -1, 1, 0) + EVT_END_IF + EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim08) + EVT_WAIT(8) + EVT_CALL(ResetAllActorSounds, ACTOR_SELF) + EVT_CALL(SetActorYaw, ACTOR_SELF, 180) + EVT_WAIT(4) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim16) + EVT_WAIT(1) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim16) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 20) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim16) + EVT_WAIT(6) + EVT_SUB(LVar1, 20) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(YieldTurn) + EVT_CALL(SetActorYaw, ACTOR_SELF, 180) + EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim16) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim01) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetPartYaw, ACTOR_SELF, 1, 0) + EVT_CALL(SetActorYaw, ACTOR_SELF, 0) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(16.0)) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(ResetAllActorSounds, ACTOR_SELF) + EVT_WAIT(2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_HIT) + EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 40) + EVT_SET(LVar1, 0) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) + EVT_ADD(LVar0, 30) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) + EVT_ADD(LVar0, 20) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim08) + EVT_WAIT(8) + EVT_CALL(YieldTurn) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim04) + EVT_EXEC_WAIT(DoReturnHome) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim01) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(attackShellMissile) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_STATE), LVar0) + EVT_IF_EQ(LVar0, N(STATE_NORMAL)) // charge for attack + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(MoveBattleCamOver, 20) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_POWER_UP) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 10) + EVT_CALL(PlayEffect, EFFECT_ENERGY_IN_OUT, 6, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 45, 0, 0, 0, 0, 0, 0, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim15) + EVT_WAIT(30) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 20) + EVT_THREAD + EVT_WAIT(8) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim07) + EVT_END_THREAD + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20BA) + EVT_CALL(N(StartRumbleWithParams), 128, 10) + EVT_THREAD + EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(0.5)) + EVT_END_THREAD + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim06) + EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(statusTable_charged))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(defenseTable_charged))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_FLIPABLE, 0) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_STATE), N(STATE_CHARGED)) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_charged))) + EVT_CALL(EnableActorGlow, ACTOR_SELF, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_400000, 1) + EVT_WAIT(10) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_RETURN + EVT_END_IF + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(func_8024ECF8, -1, 1, 0) + EVT_LOOP(20) + EVT_CALL(SetActorDispOffset, ACTOR_SELF, 1, 0, 0) + EVT_WAIT(1) + EVT_CALL(SetActorDispOffset, ACTOR_SELF, -1, 0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_37C) + EVT_CALL(SetActorSounds, ACTOR_SELF, 0, 0, 0) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 4, BS_FLAGS1_10) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_MISS) + EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) + EVT_SET(LVarA, LVar0) + EVT_THREAD + EVT_LOOP(0) + EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 30) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) + EVT_IF_GT(LVar0, LVar3) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_B) + EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_WAIT(15) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_END_THREAD + EVT_THREAD + EVT_LOOP(30) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(PlayEffect, EFFECT_WALKING_DUST, 2, LVar0, LVar1, LVar2, 0, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(AddGoalPos, ACTOR_SELF, -200, 0, 0) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(16.0)) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_WAIT(15) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) + EVT_IF_NOT_FLAG(LVarA, STATUS_FLAG_DEFENSE_BOOST | STATUS_FLAG_ATTACK_BOOST) + EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) + EVT_END_IF + EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_400000, 0) + EVT_CALL(YieldTurn) + EVT_CALL(ResetAllActorSounds, ACTOR_SELF) + EVT_CALL(SetActorPos, ACTOR_SELF, 300, 0, 0) + EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(16.0)) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim08) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(statusTable))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(defenseTable))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_FLIPABLE, 1) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_STATE), N(STATE_NORMAL)) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations))) + EVT_WAIT(10) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_THREAD + EVT_LOOP(30) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(PlayEffect, EFFECT_WALKING_DUST, 2, LVar0, LVar1, LVar2, 0, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(16.0)) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_WAIT(2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarA, 0, 65535, 0, 10, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_SWITCH(LVarA) + EVT_CASE_OR_EQ(HIT_RESULT_HIT) + EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_THREAD + EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 16, 0) + EVT_SET(LVar0, 0) + EVT_LOOP(60) + EVT_ADD(LVar0, 18) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) + EVT_END_THREAD + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 50) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 30, FALSE, TRUE, FALSE) + EVT_SUB(LVar0, 40) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) + EVT_SUB(LVar0, 30) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) + EVT_WAIT(20) + EVT_CALL(YieldTurn) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) + EVT_IF_NOT_FLAG(LVarA, STATUS_FLAG_DEFENSE_BOOST | STATUS_FLAG_ATTACK_BOOST) + EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) + EVT_END_IF + EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_400000, 0) + EVT_CALL(ResetAllActorSounds, ACTOR_SELF) + EVT_CALL(SetActorPos, ACTOR_SELF, 300, 0, 0) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim04) + EVT_EXEC_WAIT(DoReturnHome) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim01) + EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(statusTable))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(defenseTable))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_FLIPABLE, 1) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_STATE), N(STATE_NORMAL)) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations))) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(findTarget) = { + EVT_CALL(EnemyCreateTargetList, 32770) + EVT_CALL(InitTargetIterator) + EVT_LABEL(1) + EVT_CALL(GetOwnerTarget, LVar0, LVar1) + EVT_CALL(GetOriginalActorType, LVar0, LVar2) + EVT_SWITCH(LVar2) + EVT_CASE_OR_EQ(ACTOR_TYPE_BILL_BLASTER) + EVT_CASE_OR_EQ(ACTOR_TYPE_BOMBSHELL_BLASTER) + EVT_SET(LVarA, -1) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(ChooseNextTarget, 0, LVar0) + EVT_IF_NE(LVar0, -1) + EVT_GOTO(1) + EVT_END_IF + EVT_SET(LocalFlag(1), 0) + EVT_SET(LocalFlag(2), 0) + EVT_SET(LocalFlag(3), 0) + EVT_SET(LocalFlag(4), 0) + EVT_CALL(EnemyCreateTargetList, 32770) + EVT_CALL(InitTargetIterator) + EVT_LABEL(0) + EVT_CALL(GetOwnerTarget, LVar0, LVar1) + EVT_CALL(GetIndexFromHome, LVar0, LVar1) + EVT_MOD(LVar1, 4) + EVT_SWITCH(LVar1) + EVT_CASE_EQ(0) + EVT_SET(LocalFlag(1), 1) + EVT_CASE_EQ(1) + EVT_SET(LocalFlag(2), 1) + EVT_CASE_EQ(2) + EVT_SET(LocalFlag(3), 1) + EVT_CASE_EQ(3) + EVT_SET(LocalFlag(4), 1) + EVT_END_SWITCH + EVT_CALL(ChooseNextTarget, 0, LVar0) + EVT_IF_NE(LVar0, -1) + EVT_GOTO(0) + EVT_END_IF + EVT_IF_EQ(LocalFlag(1), 0) + EVT_SET(LVarA, 0) + EVT_RETURN + EVT_END_IF + EVT_IF_EQ(LocalFlag(2), 0) + EVT_SET(LVarA, 1) + EVT_RETURN + EVT_END_IF + EVT_IF_EQ(LocalFlag(3), 0) + EVT_SET(LVarA, 2) + EVT_RETURN + EVT_END_IF + EVT_IF_EQ(LocalFlag(4), 0) + EVT_SET(LVarA, 3) + EVT_RETURN + EVT_END_IF + EVT_SET(LVarA, -1) + EVT_RETURN + EVT_END +}; + +Vec3i N(summon_pos) = { 0, -1000, 0 }; + +Formation N(summon_formation) = { + { .actor = &NAMESPACE, .home = { .vec = &N(summon_pos) }, .priority = 100, } +}; + +EvtScript N(summonFriend) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(MoveBattleCamOver, 20) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2E5) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim02) + EVT_WAIT(20) + EVT_LOOP(2) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim02) + EVT_WAIT(8) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2E5) + EVT_CALL(SetActorYaw, ACTOR_SELF, 180) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim09) + EVT_WAIT(8) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim02) + EVT_WAIT(8) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2E5) + EVT_CALL(SetActorYaw, ACTOR_SELF, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim09) + EVT_WAIT(8) + EVT_END_LOOP + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 15) + EVT_THREAD + EVT_WAIT(8) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(PlayEffect, EFFECT_SPARKLES, 0, LVar0, LVar1, LVar2, 30, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_206D) + EVT_END_THREAD + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim16) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) + EVT_CALL(SummonEnemy, EVT_PTR(N(summon_formation)), 0) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar1, LVar2, LVar3) + EVT_ADD(LVar1, 200) + EVT_CALL(SetActorPos, LVar0, LVar1, LVar2, LVar3) + EVT_CALL(SetGoalToIndex, LVar0, LVarA) + EVT_CALL(PlaySoundAtActor, LVar0, SOUND_20D3) + EVT_CALL(SetActorSounds, LVar0, 0, 0, 0) + EVT_CALL(SetAnimation, LVar0, 1, ANIM_Koopatrol_Anim06) + EVT_CALL(SetActorSpeed, LVar0, EVT_FLOAT(6.0)) + EVT_CALL(RunToGoal, LVar0, 0, FALSE) + EVT_CALL(SetAnimation, LVar0, 1, ANIM_Koopatrol_Anim08) + EVT_WAIT(10) + EVT_CALL(SetAnimation, LVar0, 1, ANIM_Koopatrol_Anim01) + EVT_CALL(GetActorPos, LVar0, LVar1, LVar2, LVar3) + EVT_CALL(ForceHomePos, LVar0, LVar1, LVar2, LVar3) + EVT_CALL(HPBarToHome, LVar0) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_SUMMON_COUNT), LVar1) + EVT_SWITCH(LVar1) + EVT_CASE_EQ(0) + EVT_CALL(SetActorVar, LVar0, N(VAR_SUMMON_COUNT), 1) + EVT_CASE_EQ(1) + EVT_CALL(SetActorVar, LVar0, N(VAR_SUMMON_COUNT), 2) + EVT_END_SWITCH + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_INDEX_FROM_HOME), LVar1) + EVT_CALL(SetActorVar, LVar0, N(VAR_INDEX_FROM_HOME), LVar1) + EVT_SWITCH(LVar1) + EVT_CASE_EQ(0) + EVT_CALL(GetBattleVar, 4, LVar0) + EVT_ADD(LVar0, 1) + EVT_CALL(SetBattleVar, 4, LVar0) + EVT_CASE_EQ(1) + EVT_CALL(GetBattleVar, 5, LVar0) + EVT_ADD(LVar0, 1) + EVT_CALL(SetBattleVar, 5, LVar0) + EVT_CASE_EQ(2) + EVT_CALL(GetBattleVar, 6, LVar0) + EVT_ADD(LVar0, 1) + EVT_CALL(SetBattleVar, 6, LVar0) + EVT_CASE_EQ(3) + EVT_CALL(GetBattleVar, 7, LVar0) + EVT_ADD(LVar0, 1) + EVT_CALL(SetBattleVar, 7, LVar0) + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(findPlacesToSummon) = { + EVT_SET(LVar9, 0) + EVT_CALL(EnemyCreateTargetList, 32770) + EVT_CALL(InitTargetIterator) + EVT_LABEL(0) + EVT_CALL(GetOwnerTarget, LVar0, LVar1) + EVT_CALL(GetOriginalActorType, LVar0, LVar2) + EVT_SWITCH(LVar2) + EVT_CASE_EQ(ACTOR_TYPE_KOOPATROL) + EVT_CALL(GetStatusFlags, LVar0, LVar3) + EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_CALL(GetActorVar, LVar0, N(VAR_STATE), LVar3) + EVT_IF_EQ(LVar3, N(STATE_NORMAL)) + EVT_CALL(GetActorVar, LVar0, N(VAR_SUMMON_COUNT), LVar3) + EVT_SWITCH(LVar3) + EVT_CASE_OR_EQ(0) + EVT_CASE_OR_EQ(1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_INDEX_FROM_HOME), LVar3) + EVT_SWITCH(LVar3) + EVT_CASE_EQ(0) + EVT_CALL(GetBattleVar, 4, LVar4) + EVT_CASE_EQ(1) + EVT_CALL(GetBattleVar, 5, LVar4) + EVT_CASE_EQ(2) + EVT_CALL(GetBattleVar, 6, LVar4) + EVT_CASE_EQ(3) + EVT_CALL(GetBattleVar, 7, LVar4) + EVT_END_SWITCH + EVT_IF_LT(LVar4, 2) + EVT_ADD(LVar9, 1) + EVT_END_IF + EVT_END_CASE_GROUP + EVT_CASE_EQ(2) + EVT_END_SWITCH + EVT_END_IF + EVT_END_IF + EVT_END_SWITCH + EVT_CALL(ChooseNextTarget, 0, LVar0) + EVT_IF_NE(LVar0, -1) + EVT_GOTO(0) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(takeTurn) = { + EVT_CALL(GetBattlePhase, LVar0) + EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) + EVT_CALL(SetBattleVar, 1, 1) + EVT_EXEC_WAIT(N(attackShellToss)) + EVT_RETURN + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_STATE), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(N(STATE_NORMAL)) + EVT_CALL(GetBattleVar, 1, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_SUMMON_COUNT), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(0) + EVT_CASE_OR_EQ(1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_INDEX_FROM_HOME), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_CALL(GetBattleVar, 4, LVar1) + EVT_CASE_EQ(1) + EVT_CALL(GetBattleVar, 5, LVar1) + EVT_CASE_EQ(2) + EVT_CALL(GetBattleVar, 6, LVar1) + EVT_CASE_EQ(3) + EVT_CALL(GetBattleVar, 7, LVar1) + EVT_END_SWITCH + EVT_IF_GE(LVar1, 2) + EVT_CALL(RandInt, 1000, LVar0) + EVT_IF_LT(LVar0, 300) + EVT_CALL(SetBattleVar, 1, 2) + EVT_EXEC_WAIT(N(attackShellMissile)) + EVT_ELSE + EVT_CALL(SetBattleVar, 1, 1) + EVT_EXEC_WAIT(N(attackShellToss)) + EVT_END_IF + EVT_RETURN + EVT_END_IF + EVT_END_CASE_GROUP + EVT_CASE_EQ(2) + EVT_CALL(RandInt, 1000, LVar0) + EVT_IF_LT(LVar0, 300) + EVT_CALL(SetBattleVar, 1, 2) + EVT_EXEC_WAIT(N(attackShellMissile)) + EVT_ELSE + EVT_CALL(SetBattleVar, 1, 1) + EVT_EXEC_WAIT(N(attackShellToss)) + EVT_END_IF + EVT_RETURN + EVT_END_SWITCH + EVT_EXEC_WAIT(N(findTarget)) + EVT_IF_EQ(LVarA, -1) + EVT_CALL(RandInt, 1000, LVar0) + EVT_IF_LT(LVar0, 300) + EVT_CALL(SetBattleVar, 1, 2) + EVT_EXEC_WAIT(N(attackShellMissile)) + EVT_ELSE + EVT_CALL(SetBattleVar, 1, 1) + EVT_EXEC_WAIT(N(attackShellToss)) + EVT_END_IF + EVT_RETURN + EVT_END_IF + EVT_EXEC_WAIT(N(findPlacesToSummon)) + EVT_SWITCH(LVar9) + EVT_CASE_EQ(1) + EVT_CALL(RandInt, 1000, LVar0) + EVT_IF_LT(LVar0, 400) + EVT_CALL(SetBattleVar, 1, 1) + EVT_EXEC_WAIT(N(summonFriend)) + EVT_RETURN + EVT_END_IF + EVT_CASE_EQ(2) + EVT_CALL(RandInt, 1000, LVar0) + EVT_IF_LT(LVar0, 200) + EVT_CALL(SetBattleVar, 1, 1) + EVT_EXEC_WAIT(N(summonFriend)) + EVT_RETURN + EVT_END_IF + EVT_CASE_EQ(3) + EVT_CALL(RandInt, 1000, LVar0) + EVT_IF_LT(LVar0, 100) + EVT_CALL(SetBattleVar, 1, 1) + EVT_EXEC_WAIT(N(summonFriend)) + EVT_RETURN + EVT_END_IF + EVT_END_SWITCH + EVT_CALL(RandInt, 1000, LVar0) + EVT_IF_LT(LVar0, 300) + EVT_CALL(SetBattleVar, 1, 2) + EVT_EXEC_WAIT(N(attackShellMissile)) + EVT_ELSE + EVT_CALL(SetBattleVar, 1, 1) + EVT_EXEC_WAIT(N(attackShellToss)) + EVT_END_IF + EVT_CASE_EQ(1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_SUMMON_COUNT), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(0) + EVT_CASE_OR_EQ(1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_INDEX_FROM_HOME), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_CALL(GetBattleVar, 4, LVar1) + EVT_CASE_EQ(1) + EVT_CALL(GetBattleVar, 5, LVar1) + EVT_CASE_EQ(2) + EVT_CALL(GetBattleVar, 6, LVar1) + EVT_CASE_EQ(3) + EVT_CALL(GetBattleVar, 7, LVar1) + EVT_END_SWITCH + EVT_IF_GE(LVar1, 2) + EVT_CALL(RandInt, 1000, LVar0) + EVT_IF_LT(LVar0, 300) + EVT_CALL(SetBattleVar, 1, 2) + EVT_EXEC_WAIT(N(attackShellMissile)) + EVT_ELSE + EVT_CALL(SetBattleVar, 1, 1) + EVT_EXEC_WAIT(N(attackShellToss)) + EVT_END_IF + EVT_RETURN + EVT_END_IF + EVT_END_CASE_GROUP + EVT_CASE_EQ(2) + EVT_EXEC_WAIT(N(attackShellToss)) + EVT_RETURN + EVT_END_SWITCH + EVT_EXEC_WAIT(N(findTarget)) + EVT_IF_EQ(LVarA, -1) + EVT_EXEC_WAIT(N(attackShellToss)) + EVT_RETURN + EVT_END_IF + EVT_EXEC_WAIT(N(findPlacesToSummon)) + EVT_SWITCH(LVar9) + EVT_CASE_EQ(1) + EVT_CALL(RandInt, 1000, LVar0) + EVT_IF_LT(LVar0, 400) + EVT_EXEC_WAIT(N(summonFriend)) + EVT_RETURN + EVT_END_IF + EVT_CASE_EQ(2) + EVT_CALL(RandInt, 1000, LVar0) + EVT_IF_LT(LVar0, 200) + EVT_EXEC_WAIT(N(summonFriend)) + EVT_RETURN + EVT_END_IF + EVT_CASE_EQ(3) + EVT_CALL(RandInt, 1000, LVar0) + EVT_IF_LT(LVar0, 100) + EVT_EXEC_WAIT(N(summonFriend)) + EVT_RETURN + EVT_END_IF + EVT_END_SWITCH + EVT_EXEC_WAIT(N(attackShellToss)) + EVT_CASE_EQ(2) + EVT_EXEC_WAIT(N(attackShellMissile)) + EVT_END_SWITCH + EVT_CASE_EQ(N(STATE_FLIPPED)) + EVT_CALL(SetBattleVar, 1, 1) + EVT_EXEC_WAIT(N(attackShellToss)) + EVT_CASE_EQ(N(STATE_CHARGED)) + EVT_EXEC_WAIT(N(attackShellMissile)) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + diff --git a/src/battle/area_omo3/actor/pokey.c b/src/battle/area_omo3/actor/pokey.c new file mode 100644 index 0000000000..46fadf54c4 --- /dev/null +++ b/src/battle/area_omo3/actor/pokey.c @@ -0,0 +1,5 @@ +#include "common.h" + +#define NAMESPACE b_area_omo3_pokey + +#include "battle/common/actor/pokey.inc.c" diff --git a/src/battle/area_omo3/actor/red_shy_guy.c b/src/battle/area_omo3/actor/red_shy_guy.c new file mode 100644 index 0000000000..546cd45a80 --- /dev/null +++ b/src/battle/area_omo3/actor/red_shy_guy.c @@ -0,0 +1,5 @@ +#include "common.h" + +#define NAMESPACE b_area_omo3_red_shy_guy + +#include "battle/common/actor/red_shy_guy.inc.c" diff --git a/src/battle/area_omo3/area.c b/src/battle/area_omo3/area.c new file mode 100644 index 0000000000..140e6c8972 --- /dev/null +++ b/src/battle/area_omo3/area.c @@ -0,0 +1,107 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" + +#define NAMESPACE b_area_omo3 + +extern Stage N(omo_01); +extern Stage N(omo_02); +extern Stage N(omo_03); +extern Stage N(omo_03b); +extern Stage N(omo_04); +extern Stage N(omo_05); +extern Stage N(omo_05b); +extern Stage N(omo_06); +extern Stage N(omo_07); + +extern ActorBlueprint N(big_lantern_ghost); +extern ActorBlueprint N(goomba); +extern ActorBlueprint N(clubba); +extern ActorBlueprint N(fuzzy); +extern ActorBlueprint N(hammer_bro); +extern ActorBlueprint N(pokey); +extern ActorBlueprint N(koopatrol); +extern ActorBlueprint N(red_shy_guy); + +Vec3i N(big_lantern_ghost_pos) = { 30, 0, 10 }; + +Formation N(formation_00) = { + { .actor = &N(big_lantern_ghost), .home = { .vec = &N(big_lantern_ghost_pos) }, .priority = 10, }, +}; + +Formation N(formation_01) = { + { .actor = &N(goomba), .home = { .index = 1 }, .priority = 10 }, +}; + +Formation N(formation_02) = { + { .actor = &N(goomba), .home = { .index = 1 }, .priority = 10 }, + { .actor = &N(goomba), .home = { .index = 2 }, .priority = 9 }, +}; + +Formation N(formation_03) = { + { .actor = &N(clubba), .home = { .index = 1 }, .priority = 10 }, + { .actor = &N(clubba), .home = { .index = 2 }, .priority = 9 }, +}; + +Formation N(formation_04) = { + { .actor = &N(fuzzy), .home = { .index = 1 }, .priority = 10 }, + { .actor = &N(fuzzy), .home = { .index = 2 }, .priority = 9 }, +}; + +Formation N(formation_05) = { + { .actor = &N(fuzzy), .home = { .index = 0 }, .priority = 10 }, + { .actor = &N(fuzzy), .home = { .index = 1 }, .priority = 9 }, + { .actor = &N(fuzzy), .home = { .index = 2 }, .priority = 8 }, + { .actor = &N(fuzzy), .home = { .index = 3 }, .priority = 7 }, +}; + +Formation N(formation_06) = { + { .actor = &N(hammer_bro), .home = { .index = 1 }, .priority = 10 }, + { .actor = &N(hammer_bro), .home = { .index = 2 }, .priority = 9 }, +}; + +Formation N(formation_07) = { + { .actor = &N(hammer_bro), .home = { .index = 1 }, .priority = 10 }, +}; + +Formation N(formation_08) = { + { .actor = &N(pokey), .home = { .index = 1 }, .priority = 10, .var1 = 1 }, + { .actor = &N(pokey), .home = { .index = 2 }, .priority = 9, .var1 = 1 }, +}; + +Formation N(formation_09) = { + { .actor = &N(koopatrol), .home = { .index = 1 }, .priority = 10 }, + { .actor = &N(koopatrol), .home = { .index = 2 }, .priority = 9 }, +}; + +Formation N(formation_0A) = { + { .actor = &N(red_shy_guy), .home = { .index = 1 }, .priority = 10 }, +}; + +BattleList N(formationTable) = { + BATTLE("ビッグカンテラくん", N(formation_00), &N(omo_03)), + BATTLE("クリボー(ピーチへん)", N(formation_01), &N(omo_04)), + BATTLE("クリボーx2(ピーチへん)", N(formation_02), &N(omo_04)), + BATTLE("ガボンへいx2(ピーチへん)", N(formation_03), &N(omo_04)), + BATTLE("チョロボンx2(ピーチへん)", N(formation_04), &N(omo_04)), + BATTLE("チョロボンx4(ピーチへん)", N(formation_05), &N(omo_04)), + BATTLE("ハンマーブロスx2(ピーチへん)", N(formation_06), &N(omo_04)), + BATTLE("ハンマーブロス(ピーチへん)", N(formation_07), &N(omo_04)), + BATTLE("サンボx2(ピーチへん)", N(formation_08), &N(omo_04)), + BATTLE("トゲノコx2(ピーチへん)", N(formation_09), &N(omo_04)), + BATTLE("ヘイホー", N(formation_0A), &N(omo_01)), + {}, +}; + +StageList N(stageTable) = { + { "omo_01", &N(omo_01) }, + { "omo_02", &N(omo_02) }, + { "omo_03", &N(omo_03) }, + { "omo_03b", &N(omo_03b) }, + { "omo_04", &N(omo_04) }, + { "omo_05", &N(omo_05) }, + { "omo_05b", &N(omo_05b) }, + { "omo_06", &N(omo_06) }, + { "omo_07", &N(omo_07) }, + {}, +}; diff --git a/src/battle/area_omo3/stage/omo_01.c b/src/battle/area_omo3/stage/omo_01.c new file mode 100644 index 0000000000..b92d52943f --- /dev/null +++ b/src/battle/area_omo3/stage/omo_01.c @@ -0,0 +1,103 @@ +#include "common.h" +#include "battle/battle.h" +#include "mapfs/omo_bt01_shape.h" +#include "model.h" + +#define NAMESPACE b_area_omo3_omo_01 + +extern EvtScript N(updateModels); + +s32 N(modelList)[] = { MODEL_uma }; + +typedef struct Omo01Struct { + /* 0x00 */ f32 offsetX; + /* 0x04 */ f32 offsetZ; + /* 0x08 */ f32 rotSpeed; + /* 0x0C */ f32 angle; + /* 0x10 */ s32 modelID; + /* 0x14 */ s32 unk_14; +} Omo01Struct; // size = 0x18 + +ApiStatus N(update_model_uma)(Evt* script, s32 isInitialCall) { + Omo01Struct* ptr; + Model* model; + f32 rotZ; + f32 offsetY; + s32 i; + Matrix4f mtx1; + Matrix4f mtx2; + + if (isInitialCall) { + ptr = heap_malloc(sizeof(*ptr)); + script->functionTempPtr[0] = ptr; + + for (i = 0; i == 0; i++, ptr++) { + ptr->modelID = N(modelList)[i]; + ptr->unk_14 = ((s32*)N(updateModels))[i]; // WTF ??? + model = get_model_from_list_index(get_model_list_index_from_tree_index(ptr->modelID)); + ptr->offsetX = 0.0f; + ptr->offsetZ = 0.0f; + ptr->rotSpeed = 3.5f; + ptr->angle = 0.0f; + } + } + + ptr = script->functionTempPtr[0]; + for (i = 0; i == 0; i++, ptr++) { + ptr->angle += ptr->rotSpeed; + ptr->angle = clamp_angle(ptr->angle); + + rotZ = sin_rad(ptr->angle * 3.14f / 180.0f) * 20.0f; // the value of PI xD + offsetY = SQ(rotZ) / 90.0f; + + model = get_model_from_list_index(get_model_list_index_from_tree_index(ptr->modelID)); + model->flags |= MODEL_FLAGS_USES_TRANSFORM_MATRIX | MODEL_FLAGS_HAS_TRANSFORM_APPLIED; + guTranslateF(mtx1, -ptr->offsetX, 0.0f, -ptr->offsetZ); + guRotateF(mtx2, rotZ, 0.0f, 0.0f, 1.0f); + guMtxCatF(mtx1, mtx2, model->transformMatrix); + guTranslateF(mtx1, ptr->offsetX, offsetY, ptr->offsetZ); + guMtxCatF(model->transformMatrix, mtx1, model->transformMatrix); + } + return ApiStatus_BLOCK; +} + +EvtScript N(updateModels) = { + EVT_CALL(N(update_model_uma)) + EVT_RETURN + EVT_END +}; + +EvtScript N(beforeBattle) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_THREAD + EVT_SETF(LVar0, EVT_FLOAT(0.0)) + EVT_SETF(LVar1, EVT_FLOAT(0.0)) + EVT_LOOP(0) + EVT_CALL(RotateModel, MODEL_o367, LVar1, 0, 0, 1) + EVT_CALL(RotateModel, MODEL_hari, LVar0, 0, 0, 1) + EVT_SUBF(LVar0, EVT_FLOAT(0.6)) + EVT_SUBF(LVar1, EVT_FLOAT(7.2)) + EVT_CALL(ClampAngleFloat, LVar0) + EVT_CALL(ClampAngleFloat, LVar1) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_EXEC(N(updateModels)) + EVT_RETURN + EVT_END +}; + +EvtScript N(afterBattle) = { + EVT_RETURN + EVT_END +}; + +Stage NAMESPACE = { + .texture = "omo_tex", + .shape = "omo_bt01_shape", + .hit = "omo_bt01_hit", + .bg = "omo_bg", + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), +}; diff --git a/src/battle/area_omo3/stage/omo_02.c b/src/battle/area_omo3/stage/omo_02.c new file mode 100644 index 0000000000..ca431e7d13 --- /dev/null +++ b/src/battle/area_omo3/stage/omo_02.c @@ -0,0 +1,25 @@ +#include "common.h" +#include "battle/battle.h" + +#define NAMESPACE b_area_omo3_omo_02 + +EvtScript N(beforeBattle) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(afterBattle) = { + EVT_RETURN + EVT_END +}; + +Stage NAMESPACE = { + .texture = "omo_tex", + .shape = "omo_bt02_shape", + .hit = "omo_bt02_hit", + .bg = "omo_bg", + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), +}; diff --git a/src/battle/area_omo3/stage/omo_03.c b/src/battle/area_omo3/stage/omo_03.c new file mode 100644 index 0000000000..cd1e20abf4 --- /dev/null +++ b/src/battle/area_omo3/stage/omo_03.c @@ -0,0 +1,26 @@ +#include "common.h" +#include "battle/battle.h" + +#define NAMESPACE b_area_omo3_omo_03 + +EvtScript N(beforeBattle) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_CALL(SetGroupEnabled, 18, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(afterBattle) = { + EVT_RETURN + EVT_END +}; + +Stage NAMESPACE = { + .texture = "omo_tex", + .shape = "omo_bt03_shape", + .hit = "omo_bt03_hit", + .bg = "omo_bg", + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), +}; diff --git a/src/battle/area_omo3/stage/omo_03b.c b/src/battle/area_omo3/stage/omo_03b.c new file mode 100644 index 0000000000..57b35450cf --- /dev/null +++ b/src/battle/area_omo3/stage/omo_03b.c @@ -0,0 +1,25 @@ +#include "common.h" +#include "battle/battle.h" + +#define NAMESPACE b_area_omo3_omo_03b + +EvtScript N(beforeBattle) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(afterBattle) = { + EVT_RETURN + EVT_END +}; + +Stage NAMESPACE = { + .texture = "omo_tex", + .shape = "omo_bt03_shape", + .hit = "omo_bt03_hit", + .bg = "omo_bg", + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), +}; diff --git a/src/battle/area_omo3/stage/omo_04.c b/src/battle/area_omo3/stage/omo_04.c new file mode 100644 index 0000000000..0a68f7616d --- /dev/null +++ b/src/battle/area_omo3/stage/omo_04.c @@ -0,0 +1,61 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "mapfs/omo_bt04_shape.h" + +#define NAMESPACE b_area_omo3_omo_04 + +extern Formation N(fromation_slot_machine); +extern ActorBlueprint N(slot_machine_stop); +extern ActorBlueprint N(slot_machine_start); + +EvtScript N(beforeBattle) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_CALL(SetTexPanner, 29, 10) + EVT_THREAD + EVT_SET(LVarE, 0) + EVT_LOOP(0) + EVT_ADD(LVarE, 32768) + EVT_CALL(SetTexPanOffset, 10, 0, LVarE, 0) + EVT_WAIT(10) + EVT_END_LOOP + EVT_END_THREAD + EVT_RETURN + EVT_END +}; + +EvtScript N(afterBattle) = { + EVT_RETURN + EVT_END +}; + +s32 N(foregroundModelList)[] = { + MODEL_itigo, MODEL_kisya, MODEL_kusari, 0, +}; + +Stage NAMESPACE = { + .texture = "omo_tex", + .shape = "omo_bt04_shape", + .hit = "omo_bt04_hit", + .bg = "omo_bg", + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), + .foregroundModelList = N(foregroundModelList), + .specialFormationSize = 4, + .specialFormation = &N(fromation_slot_machine), +}; + +Vec3i N(slot_machine_pos1) = { -49, 56, -68 }; +Vec3i N(slot_machine_pos2) = { -13, 56, -68 }; +Vec3i N(slot_machine_pos3) = { 20, 56, -68 }; +Vec3i N(slot_machine_pos4) = { 53, 56, -68 }; + +Formation N(fromation_slot_machine) = { + { .actor = &N(slot_machine_start), .home = { .vec = &N(slot_machine_pos1) }, .var0 = 0 }, + { .actor = &N(slot_machine_stop), .home = { .vec = &N(slot_machine_pos2) }, .var0 = 1 }, + { .actor = &N(slot_machine_stop), .home = { .vec = &N(slot_machine_pos3) }, .var0 = 2 }, + { .actor = &N(slot_machine_stop), .home = { .vec = &N(slot_machine_pos4) }, .var0 = 3 }, +}; + +#include "battle/common/actor/slot_machine.inc.c" diff --git a/src/battle/area_omo3/stage/omo_05.c b/src/battle/area_omo3/stage/omo_05.c new file mode 100644 index 0000000000..3efc266864 --- /dev/null +++ b/src/battle/area_omo3/stage/omo_05.c @@ -0,0 +1,33 @@ +#include "common.h" +#include "battle/battle.h" +#include "mapfs/omo_bt05_shape.h" + +#define NAMESPACE b_area_omo3_omo_05 + +EvtScript N(beforeBattle) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_CALL(SetGroupEnabled, 24, 0) + EVT_CALL(SetGroupEnabled, 28, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(afterBattle) = { + EVT_RETURN + EVT_END +}; + +s32 N(foregroundModelList)[] = { + MODEL_itigo, MODEL_kisya, 0, +}; + +Stage NAMESPACE = { + .texture = "omo_tex", + .shape = "omo_bt05_shape", + .hit = "omo_bt05_hit", + .bg = "omo_bg", + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), + .foregroundModelList = N(foregroundModelList), +}; diff --git a/src/battle/area_omo3/stage/omo_05b.c b/src/battle/area_omo3/stage/omo_05b.c new file mode 100644 index 0000000000..2b18a188e8 --- /dev/null +++ b/src/battle/area_omo3/stage/omo_05b.c @@ -0,0 +1,33 @@ +#include "common.h" +#include "battle/battle.h" +#include "mapfs/omo_bt05_shape.h" + +#define NAMESPACE b_area_omo3_omo_05b + +EvtScript N(beforeBattle) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_CALL(SetGroupEnabled, 35, 0) + EVT_CALL(SetGroupEnabled, 45, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(afterBattle) = { + EVT_RETURN + EVT_END +}; + +s32 N(foregroundModelList)[] = { + MODEL_mae2, 0, +}; + +Stage NAMESPACE = { + .texture = "omo_tex", + .shape = "omo_bt05_shape", + .hit = "omo_bt05_hit", + .bg = "omo_bg", + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), + .foregroundModelList = N(foregroundModelList), +}; diff --git a/src/battle/area_omo3/stage/omo_06.c b/src/battle/area_omo3/stage/omo_06.c new file mode 100644 index 0000000000..ddb0b95199 --- /dev/null +++ b/src/battle/area_omo3/stage/omo_06.c @@ -0,0 +1,70 @@ +#include "common.h" +#include "battle/battle.h" +#include "mapfs/omo_bt06_shape.h" + +#define NAMESPACE b_area_omo3_omo_06 + +EvtScript N(updateModels) = { + EVT_SET(LVarA, LVar0) + EVT_SET(LVar9, LVar1) + EVT_SET(LVar8, LVar2) + EVT_LABEL(0) + EVT_CALL(MakeLerp, 0, LVar9, LVar8, 10) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(TranslateGroup, LVarA, 0, LVar0, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(MakeLerp, LVar9, 0, LVar8, 10) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(TranslateGroup, LVarA, 0, LVar0, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(beforeBattle) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_THREAD + EVT_SET(LVar0, 26) + EVT_SET(LVar1, -50) + EVT_SET(LVar2, 120) + EVT_EXEC(N(updateModels)) + EVT_WAIT(10) + EVT_SET(LVar0, 30) + EVT_SET(LVar1, -80) + EVT_SET(LVar2, 150) + EVT_EXEC(N(updateModels)) + EVT_END_THREAD + EVT_RETURN + EVT_END +}; + +EvtScript N(afterBattle) = { + EVT_RETURN + EVT_END +}; + +s32 N(foregroundModelList)[] = { + MODEL_kuruma, MODEL_hosi, 0, +}; + +Stage NAMESPACE = { + .texture = "omo_tex", + .shape = "omo_bt06_shape", + .hit = "omo_bt06_hit", + .bg = "omo_bg", + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), + .foregroundModelList = N(foregroundModelList), +}; diff --git a/src/battle/area_omo3/stage/omo_07.c b/src/battle/area_omo3/stage/omo_07.c new file mode 100644 index 0000000000..93852c0b72 --- /dev/null +++ b/src/battle/area_omo3/stage/omo_07.c @@ -0,0 +1,24 @@ +#include "common.h" +#include "battle/battle.h" + +#define NAMESPACE b_area_omo3_omo_07 + +EvtScript N(beforeBattle) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(afterBattle) = { + EVT_RETURN + EVT_END +}; + +Stage NAMESPACE = { + .texture = "omo_tex", + .shape = "omo_bt07_shape", + .hit = "omo_bt07_hit", + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), +}; diff --git a/src/battle/area_pra/648E10.c b/src/battle/area_pra/648E10.c deleted file mode 100644 index 280da8362c..0000000000 --- a/src/battle/area_pra/648E10.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "common.h" - -#define NAMESPACE b_area_pra - -#include "common/UnkBattleFunc1.inc.c" - -#include "common/UnkBattleFunc2.inc.c" diff --git a/src/battle/area_pra/649050.c b/src/battle/area_pra/649050.c deleted file mode 100644 index fbc343bf21..0000000000 --- a/src/battle/area_pra/649050.c +++ /dev/null @@ -1,19 +0,0 @@ -#include "common.h" - -#define NAMESPACE b_area_pra - -INCLUDE_ASM(s32, "battle/area_pra/649050", func_80218240_649050); - -#include "common/ShrinkActor.inc.c" - -#define NAMESPACE dup3_b_area_pra -#include "common/GetSelectedMoveID.inc.c" -#define NAMESPACE b_area_pra - -#define NAMESPACE dup_b_area_pra -#include "common/UnkBattleFunc1.inc.c" -#define NAMESPACE b_area_pra - -#include "common/StartRumbleWithParams.inc.c" - -#include "world/common/UnkFunc52.inc.c" diff --git a/src/battle/area_pra/649480.c b/src/battle/area_pra/649480.c deleted file mode 100644 index 6a4500634b..0000000000 --- a/src/battle/area_pra/649480.c +++ /dev/null @@ -1,23 +0,0 @@ -#include "common.h" - -#define NAMESPACE b_area_pra - -#define NAMESPACE dup_b_area_pra -#include "common/ShrinkActor.inc.c" -#define NAMESPACE b_area_pra - -#define NAMESPACE dup4_b_area_pra -#include "common/GetSelectedMoveID.inc.c" -#define NAMESPACE b_area_pra - -#define NAMESPACE dup2_b_area_pra -#include "common/UnkBattleFunc1.inc.c" -#define NAMESPACE b_area_pra - -#define NAMESPACE dup_b_area_pra -#include "common/StartRumbleWithParams.inc.c" -#define NAMESPACE b_area_pra - -#define NAMESPACE dup_b_area_pra -#include "world/common/UnkFunc52.inc.c" -#define NAMESPACE b_area_pra diff --git a/src/battle/area_pra/6497F0.c b/src/battle/area_pra/6497F0.c deleted file mode 100644 index 0f8fc1292b..0000000000 --- a/src/battle/area_pra/6497F0.c +++ /dev/null @@ -1,23 +0,0 @@ -#include "common.h" - -#define NAMESPACE b_area_pra - -#define NAMESPACE dup2_b_area_pra -#include "common/ShrinkActor.inc.c" -#define NAMESPACE b_area_pra - -#define NAMESPACE dup2_b_area_pra -#include "common/GetSelectedMoveID.inc.c" -#define NAMESPACE b_area_pra - -#define NAMESPACE dup3_b_area_pra -#include "common/UnkBattleFunc1.inc.c" -#define NAMESPACE b_area_pra - -#define NAMESPACE dup2_b_area_pra -#include "common/StartRumbleWithParams.inc.c" -#define NAMESPACE b_area_pra - -#define NAMESPACE dup2_b_area_pra -#include "world/common/UnkFunc52.inc.c" -#define NAMESPACE b_area_pra diff --git a/src/battle/area_pra/649B60.c b/src/battle/area_pra/649B60.c deleted file mode 100644 index c1ddd0e5b0..0000000000 --- a/src/battle/area_pra/649B60.c +++ /dev/null @@ -1,21 +0,0 @@ -#include "common.h" - -#define NAMESPACE b_area_pra - -#define NAMESPACE dup3_b_area_pra -#include "common/ShrinkActor.inc.c" -#define NAMESPACE b_area_pra - -#include "common/GetSelectedMoveID.inc.c" - -#define NAMESPACE dup4_b_area_pra -#include "common/UnkBattleFunc1.inc.c" -#define NAMESPACE b_area_pra - -#define NAMESPACE dup3_b_area_pra -#include "common/StartRumbleWithParams.inc.c" -#define NAMESPACE b_area_pra - -#define NAMESPACE dup3_b_area_pra -#include "world/common/UnkFunc52.inc.c" -#define NAMESPACE b_area_pra diff --git a/src/battle/area_pra/649ED0.c b/src/battle/area_pra/649ED0.c deleted file mode 100644 index 42c1ad717a..0000000000 --- a/src/battle/area_pra/649ED0.c +++ /dev/null @@ -1,27 +0,0 @@ -#include "common.h" - -#define NAMESPACE b_area_pra - -#define NAMESPACE dup4_b_area_pra -#include "common/ShrinkActor.inc.c" -#define NAMESPACE b_area_pra - -#define NAMESPACE dup_b_area_pra -#include "common/GetSelectedMoveID.inc.c" -#define NAMESPACE b_area_pra - -#define NAMESPACE dup5_b_area_pra -#include "common/UnkBattleFunc1.inc.c" -#define NAMESPACE b_area_pra - -#define NAMESPACE dup4_b_area_pra -#include "common/StartRumbleWithParams.inc.c" -#define NAMESPACE b_area_pra - -#define NAMESPACE dup4_b_area_pra -#include "world/common/UnkFunc52.inc.c" -#define NAMESPACE b_area_pra - -#include "common/GetBootsHammerLevel.inc.c" - -#include "common/UnkBattleFunc5.inc.c" diff --git a/src/battle/area_pra/actor/albino_dino.c b/src/battle/area_pra/actor/albino_dino.c new file mode 100644 index 0000000000..c86d77e770 --- /dev/null +++ b/src/battle/area_pra/actor/albino_dino.c @@ -0,0 +1,321 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "effects.h" +#include "sprite/npc/AlbinoDino.h" + +#define NAMESPACE b_area_pra_albino_dino + +extern EvtScript N(init); +extern EvtScript N(idle); +extern EvtScript N(takeTurn); +extern EvtScript N(handleEvent); + +s32 N(idleAnimations)[] = { + STATUS_NORMAL, ANIM_AlbinoDino_Anim03, + STATUS_STONE, ANIM_AlbinoDino_Anim00, + STATUS_SLEEP, ANIM_AlbinoDino_Anim03, + STATUS_POISON, ANIM_AlbinoDino_Anim03, + STATUS_STOP, ANIM_AlbinoDino_Anim00, + STATUS_STATIC, ANIM_AlbinoDino_Anim03, + STATUS_PARALYZE, ANIM_AlbinoDino_Anim00, + STATUS_DIZZY, ANIM_AlbinoDino_Anim00, + STATUS_FEAR, ANIM_AlbinoDino_Anim00, + STATUS_END, +}; + +s32 N(defenseTable)[] = { + ELEMENT_NORMAL, 4, + ELEMENT_FIRE, 99, + ELEMENT_END, +}; + +s32 N(statusTable)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 0, + STATUS_POISON, 0, + STATUS_FROZEN, 0, + STATUS_DIZZY, 0, + STATUS_FEAR, 0, + STATUS_STATIC, 0, + STATUS_PARALYZE, 0, + STATUS_SHRINK, 75, + STATUS_STOP, 0, + STATUS_DEFAULT_TURN_MOD, 0, + STATUS_SLEEP_TURN_MOD, -1, + STATUS_POISON_TURN_MOD, 0, + STATUS_FROZEN_TURN_MOD, 0, + STATUS_DIZZY_TURN_MOD, -1, + STATUS_FEAR_TURN_MOD, 0, + STATUS_STATIC_TURN_MOD, 0, + STATUS_PARALYZE_TURN_MOD, 0, + STATUS_SHRINK_TURN_MOD, 0, + STATUS_STOP_TURN_MOD, 0, + STATUS_END, +}; + +ActorPartBlueprint N(parts)[] = { + { + .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { -9, 46 }, + .opacity = 255, + .idleAnimations = N(idleAnimations), + .defenseTable = N(defenseTable), + .eventFlags = 0, + .elementImmunityFlags = 0, + .unk_1C = -6, + .unk_1D = -17, + }, +}; + +ActorBlueprint NAMESPACE = { + .flags = 0, + .type = ACTOR_TYPE_ALBINO_DINO, + .level = 23, + .maxHP = 8, + .partCount = ARRAY_COUNT(N(parts)), + .partsData = N(parts), + .script = &N(init), + .statusTable = N(statusTable), + .escapeChance = 40, + .airLiftChance = 15, + .spookChance = 10, + .baseStatusChance = 25, + .upAndAwayChance = 95, + .spinSmashReq = 0, + .powerBounceChance = 100, + .coinReward = 1, + .size = { 64, 56 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -22, 24 }, + .statusMessageOffset = { 11, 40 }, +}; + +EvtScript N(init) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) + EVT_RETURN + EVT_END +}; + +EvtScript N(idle) = { + EVT_RETURN + EVT_END +}; + +EvtScript N(returnHome) = { + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_AlbinoDino_Anim05) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_AlbinoDino_Anim03) + EVT_RETURN + EVT_END +}; + +EvtScript N(handleEvent) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(EVENT_HIT_COMBO) + EVT_CASE_OR_EQ(EVENT_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_AlbinoDino_Anim08) + EVT_EXEC_WAIT(DoNormalHit) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_BURN_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_AlbinoDino_Anim0A) + EVT_SET_CONST(LVar2, ANIM_AlbinoDino_Anim0B) + EVT_EXEC_WAIT(DoBurnHit) + EVT_CASE_EQ(EVENT_BURN_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_AlbinoDino_Anim0A) + EVT_SET_CONST(LVar2, ANIM_AlbinoDino_Anim0B) + EVT_EXEC_WAIT(DoBurnHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_AlbinoDino_Anim0B) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_AlbinoDino_Anim08) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_AlbinoDino_Anim08) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_AlbinoDino_Anim09) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_SHOCK_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_AlbinoDino_Anim08) + EVT_EXEC_WAIT(DoShockHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_AlbinoDino_Anim08) + EVT_EXEC_WAIT(DoJumpBack) + EVT_EXEC_WAIT(N(returnHome)) + EVT_CASE_EQ(EVENT_SHOCK_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_AlbinoDino_Anim08) + EVT_EXEC_WAIT(DoShockHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_AlbinoDino_Anim09) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER) + EVT_CASE_OR_EQ(EVENT_IMMUNE) + EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_AlbinoDino_Anim03) + EVT_EXEC_WAIT(DoImmune) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_AlbinoDino_Anim08) + EVT_EXEC_WAIT(DoNormalHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_AlbinoDino_Anim09) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_RECOVER_STATUS) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_AlbinoDino_Anim03) + EVT_EXEC_WAIT(DoRecover) + EVT_CASE_EQ(EVENT_SCARE_AWAY) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_AlbinoDino_Anim05) + EVT_SET_CONST(LVar2, ANIM_AlbinoDino_Anim08) + EVT_EXEC_WAIT(DoScareAway) + EVT_RETURN + EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_AlbinoDino_Anim05) + EVT_EXEC_WAIT(DoAirLift) + EVT_CASE_EQ(EVENT_BLOW_AWAY) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_AlbinoDino_Anim08) + EVT_EXEC_WAIT(DoBlowAway) + EVT_RETURN + EVT_CASE_DEFAULT + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(stamp) = { + EVT_SET(LVarA, 0) + EVT_LABEL(0) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(GetActorYaw, ACTOR_SELF, LVar3) + EVT_IF_EQ(LVar3, 0) + EVT_ADD(LVar0, 20) + EVT_ELSE + EVT_ADD(LVar0, -20) + EVT_END_IF + EVT_CALL(PlayEffect, EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 25, 8, 45, 20, 0, 0, 0, 0, 0) + EVT_IF_GT(LVarA, 3) + EVT_CALL(ShakeCam, 1, 0, 2, EVT_FLOAT(0.2)) + EVT_SET(LVarA, 0) + EVT_END_IF + EVT_ADD(LVarA, 1) + EVT_WAIT(2) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(takeTurn) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(func_8024ECF8, -1, 1, 0) + EVT_EXEC_GET_TID(N(stamp), LVar9) + EVT_THREAD + EVT_LOOP(3) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_30B) + EVT_WAIT(4) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2FD) + EVT_WAIT(4) + EVT_END_LOOP + EVT_END_THREAD + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_AlbinoDino_Anim05) + EVT_WAIT(20) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarF, 0, 0, 1, BS_FLAGS1_10) + EVT_SWITCH(LVarF) + EVT_CASE_OR_EQ(HIT_RESULT_MISS) + EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) + EVT_THREAD + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(AddGoalPos, ACTOR_SELF, -100, 0, 0) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(12.0)) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_KILL_THREAD(LVar9) + EVT_END_THREAD + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_WAIT(30) + EVT_IF_EQ(LVarF, HIT_RESULT_LUCKY) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_WAIT(40) + EVT_CALL(YieldTurn) + EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) + EVT_CALL(SetActorYaw, ACTOR_SELF, 180) + EVT_EXEC_WAIT(N(returnHome)) + EVT_CALL(SetActorYaw, ACTOR_SELF, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) + EVT_IF_FLAG(LVarA, STATUS_FLAG_SHRINK) + EVT_CALL(AddGoalPos, ACTOR_SELF, 12, 0, 0) + EVT_ELSE + EVT_CALL(AddGoalPos, ACTOR_SELF, 30, 0, 0) + EVT_END_IF + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(12.0)) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_THREAD + EVT_CALL(ShakeCam, 1, 0, 4, EVT_FLOAT(1.5)) + EVT_END_THREAD + EVT_KILL_THREAD(LVar9) + EVT_WAIT(2) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, STATUS_FLAG_8 | 0x00000010, 4, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_SWITCH(LVarF) + EVT_CASE_OR_EQ(HIT_RESULT_HIT) + EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 40) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2FD) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_AlbinoDino_Anim03) + EVT_CALL(ShakeCam, 1, 0, 3, EVT_FLOAT(1.0)) + EVT_WAIT(10) + EVT_CALL(YieldTurn) + EVT_EXEC_WAIT(N(returnHome)) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; diff --git a/src/battle/area_pra/actor/gray_magikoopa.c b/src/battle/area_pra/actor/gray_magikoopa.c new file mode 100644 index 0000000000..fde27ea6cd --- /dev/null +++ b/src/battle/area_pra/actor/gray_magikoopa.c @@ -0,0 +1,5 @@ +#include "common.h" + +#define NAMESPACE b_area_pra_gray_magikoopa + +#include "battle/common/actor/gray_magikoopa.inc.c" diff --git a/src/battle/area_pra/actor/green_magikoopa.c b/src/battle/area_pra/actor/green_magikoopa.c new file mode 100644 index 0000000000..b9f1d15d9e --- /dev/null +++ b/src/battle/area_pra/actor/green_magikoopa.c @@ -0,0 +1,902 @@ + +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "effects.h" +#include "sprite/npc/Magikoopa.h" +#include "sprite/npc/FlyingMagikoopa.h" + +#define NAMESPACE b_area_pra_green_magikoopa + +extern EvtScript N(init); +extern EvtScript N(init_flying); +extern EvtScript N(idle); +extern EvtScript N(handleEvent); +extern EvtScript N(takeTurn); +extern EvtScript N(flee); + +extern s32 N(idleAnimations)[]; +extern s32 N(idleAnimations2)[]; +extern s32 N(idleAnimations3)[]; + +s32 N(defenseTable)[] = { + ELEMENT_NORMAL, 0, + ELEMENT_END, +}; + +s32 N(defenseTable_flying)[] = { + ELEMENT_NORMAL, 0, + ELEMENT_END, +}; + +s32 N(statusTable)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 50, + STATUS_POISON, 50, + STATUS_FROZEN, 0, + STATUS_DIZZY, 75, + STATUS_FEAR, 0, + STATUS_STATIC, 50, + STATUS_PARALYZE, 75, + STATUS_SHRINK, 80, + STATUS_STOP, 90, + STATUS_DEFAULT_TURN_MOD, 0, + STATUS_SLEEP_TURN_MOD, 0, + STATUS_POISON_TURN_MOD, 0, + STATUS_FROZEN_TURN_MOD, 0, + STATUS_DIZZY_TURN_MOD, 0, + STATUS_FEAR_TURN_MOD, 0, + STATUS_STATIC_TURN_MOD, 0, + STATUS_PARALYZE_TURN_MOD, 0, + STATUS_SHRINK_TURN_MOD, 0, + STATUS_STOP_TURN_MOD, -1, + STATUS_END, +}; + +s32 N(statusTable_flying)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 50, + STATUS_POISON, 50, + STATUS_FROZEN, 0, + STATUS_DIZZY, 100, + STATUS_FEAR, 0, + STATUS_STATIC, 50, + STATUS_PARALYZE, 75, + STATUS_SHRINK, 80, + STATUS_STOP, 90, + STATUS_DEFAULT_TURN_MOD, 0, + STATUS_SLEEP_TURN_MOD, 0, + STATUS_POISON_TURN_MOD, 0, + STATUS_FROZEN_TURN_MOD, 0, + STATUS_DIZZY_TURN_MOD, 0, + STATUS_FEAR_TURN_MOD, 0, + STATUS_STATIC_TURN_MOD, 0, + STATUS_PARALYZE_TURN_MOD, 0, + STATUS_SHRINK_TURN_MOD, 0, + STATUS_STOP_TURN_MOD, -1, + STATUS_END, +}; + +ActorPartBlueprint N(parts)[] = { + { + .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 2, 35 }, + .opacity = 255, + .idleAnimations = N(idleAnimations), + .defenseTable = N(defenseTable), + .eventFlags = 0, + .elementImmunityFlags = 0, + .unk_1C = -5, + .unk_1D = -12, + }, +}; + +ActorPartBlueprint N(parts_flying)[] = { + { + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 2, 35 }, + .opacity = 255, + .idleAnimations = N(idleAnimations), + .defenseTable = N(defenseTable_flying), + .eventFlags = 0, + .elementImmunityFlags = 0, + .unk_1C = -5, + .unk_1D = -12, + }, + { + .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .index = 2, + .posOffset = { 0, 0, 0 }, + .targetOffset = { -10, 35 }, + .opacity = 255, + .idleAnimations = N(idleAnimations2), + .defenseTable = N(defenseTable_flying), + .eventFlags = ACTOR_EVENT_FLAG_800000, + .elementImmunityFlags = 0, + .unk_1C = 0, + .unk_1D = -8, + }, + { + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, + .index = 3, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 0 }, + .opacity = 255, + .idleAnimations = N(idleAnimations3), + .defenseTable = N(defenseTable_flying), + .eventFlags = 0, + .elementImmunityFlags = 0, + .unk_1C = 0, + .unk_1D = 0, + }, +}; + +ActorBlueprint NAMESPACE = { + .flags = 0, + .type = ACTOR_TYPE_GREEN_MAGIKOOPA, + .level = 21, + .maxHP = 11, + .partCount = ARRAY_COUNT(N(parts)), + .partsData = N(parts), + .script = &N(init), + .statusTable = N(statusTable), + .escapeChance = 40, + .airLiftChance = 80, + .spookChance = 70, + .baseStatusChance = 40, + .upAndAwayChance = 95, + .spinSmashReq = 0, + .powerBounceChance = 75, + .coinReward = 2, + .size = { 36, 40 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -10, 20 }, + .statusMessageOffset = { 10, 32 }, +}; + +ActorBlueprint N(flying) = { + .flags = ACTOR_FLAG_FLYING, + .type = ACTOR_TYPE_FLYING_GREEN_MAGIKOOPA, + .level = 21, + .maxHP = 11, + .partCount = ARRAY_COUNT(N(parts_flying)), + .partsData = N(parts_flying), + .script = &N(init_flying), + .statusTable = N(statusTable_flying), + .escapeChance = 40, + .airLiftChance = 95, + .spookChance = 75, + .baseStatusChance = 40, + .upAndAwayChance = 95, + .spinSmashReq = 0, + .powerBounceChance = 75, + .coinReward = 2, + .size = { 48, 40 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -25, 20 }, + .statusMessageOffset = { 1, 34 }, +}; + +s32 N(idleAnimations)[] = { + STATUS_NORMAL, ANIM_Magikoopa_Green_Anim01, + STATUS_STONE, ANIM_Magikoopa_Green_Anim00, + STATUS_SLEEP, ANIM_Magikoopa_Green_Anim08, + STATUS_POISON, ANIM_Magikoopa_Green_Anim01, + STATUS_STOP, ANIM_Magikoopa_Green_Anim00, + STATUS_STATIC, ANIM_Magikoopa_Green_Anim01, + STATUS_PARALYZE, ANIM_Magikoopa_Green_Anim00, + STATUS_DIZZY, ANIM_Magikoopa_Green_Anim07, + STATUS_FEAR, ANIM_Magikoopa_Green_Anim07, + STATUS_END, +}; + +s32 N(idleAnimations2)[] = { + STATUS_NORMAL, ANIM_FlyingMagikoopa_Green_Anim01, + STATUS_STONE, ANIM_FlyingMagikoopa_Green_Anim00, + STATUS_SLEEP, ANIM_FlyingMagikoopa_Green_Anim08, + STATUS_POISON, ANIM_FlyingMagikoopa_Green_Anim01, + STATUS_STOP, ANIM_FlyingMagikoopa_Green_Anim00, + STATUS_STATIC, ANIM_FlyingMagikoopa_Green_Anim01, + STATUS_PARALYZE, ANIM_FlyingMagikoopa_Green_Anim00, + STATUS_DIZZY, ANIM_FlyingMagikoopa_Green_Anim07, + STATUS_FEAR, ANIM_FlyingMagikoopa_Green_Anim07, + STATUS_END, +}; + +s32 N(idleAnimations3)[] = { + STATUS_NORMAL, ANIM_FlyingMagikoopa_Green_Anim0A, + STATUS_END, +}; + +EvtScript N(idle) = { + EVT_RETURN + EVT_END +}; + +#include "common/ShrinkActor.inc.c" +#include "common/GetSelectedMoveID.inc.c" +#include "common/UnkBattleFunc1.inc.c" +#include "common/StartRumbleWithParams.inc.c" +#include "world/common/UnkFunc52.inc.c" + +EvtScript N(handleEvent) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(EVENT_HIT_COMBO) + EVT_CASE_OR_EQ(EVENT_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Magikoopa_Green_Anim04) + EVT_EXEC_WAIT(DoNormalHit) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_BURN_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Magikoopa_Green_Anim05) + EVT_SET_CONST(LVar2, ANIM_Magikoopa_Green_Anim06) + EVT_EXEC_WAIT(DoBurnHit) + EVT_CASE_EQ(EVENT_BURN_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Magikoopa_Green_Anim05) + EVT_SET_CONST(LVar2, ANIM_Magikoopa_Green_Anim06) + EVT_EXEC_WAIT(DoBurnHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Magikoopa_Green_Anim06) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Magikoopa_Green_Anim04) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Magikoopa_Green_Anim04) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Magikoopa_Green_Anim04) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER) + EVT_CASE_OR_EQ(EVENT_IMMUNE) + EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Magikoopa_Green_Anim01) + EVT_EXEC_WAIT(DoImmune) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Magikoopa_Green_Anim04) + EVT_EXEC_WAIT(DoNormalHit) + EVT_WAIT(10) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Magikoopa_Green_Anim04) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_RECOVER_STATUS) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Magikoopa_Green_Anim01) + EVT_EXEC_WAIT(DoRecover) + EVT_CASE_EQ(EVENT_SCARE_AWAY) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Green_Anim04) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) + EVT_WAIT(15) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Green_Anim02) + EVT_EXEC_WAIT(N(flee)) + EVT_RETURN + EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Magikoopa_Green_Anim02) + EVT_EXEC_WAIT(DoAirLift) + EVT_CASE_EQ(EVENT_BLOW_AWAY) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, 1, 0, 2, 0) + EVT_ELSE + EVT_CALL(SetPartDispOffset, ACTOR_SELF, 1, -4, 5, 0) + EVT_END_IF + EVT_END_IF + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Magikoopa_Green_Anim04) + EVT_EXEC_WAIT(DoBlowAway) + EVT_RETURN + EVT_CASE_DEFAULT + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(canBeKnockedOff) = { + EVT_CALL(GetBattleFlags, LVar0) + EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_80000) + EVT_IF_FLAG(LVar0, BS_FLAGS1_40 | BS_FLAGS1_200) + EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) + EVT_END_IF + EVT_ELSE + EVT_CALL(N(GetSelectedMoveID), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(MOVE_HEADBONK1) + EVT_CASE_OR_EQ(MOVE_HEADBONK2) + EVT_CASE_OR_EQ(MOVE_HEADBONK3) + EVT_CASE_OR_EQ(MOVE_MULTIBONK) + EVT_CALL(GetBattleFlags, LVar0) + EVT_IF_FLAG(LVar0, BS_FLAGS1_40 | BS_FLAGS1_200) + EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) + EVT_END_IF + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(knockOff) = { + EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) + EVT_IF_EQ(LVar0, 1) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Green_Anim04) + EVT_GOTO(0) + EVT_END_IF + EVT_CALL(GetLastElement, LVar0) + EVT_IF_FLAG(LVar0, DAMAGE_TYPE_POW) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Green_Anim04) + EVT_GOTO(0) + EVT_END_IF + EVT_RETURN + EVT_LABEL(0) + EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_END_IF + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_MULTI_TARGET, 1) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, 1) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_MULTI_TARGET, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 1) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, 0) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar2, 1) + EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_301) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SET(LVar1, 0) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) + EVT_CALL(N(StartRumbleWithParams), 150, 10) + EVT_THREAD + EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(0.7)) + EVT_END_THREAD + EVT_CALL(GetLastEvent, ACTOR_SELF, LVar3) + EVT_IF_EQ(LVar3, EVENT_15) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Green_Anim04) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) + EVT_ADD(LVar4, 10) + EVT_ADD(LVar5, 5) + EVT_CALL(PlayEffect, EFFECT_SMOKE_BURST, 0, LVar3, LVar4, LVar5, EVT_FLOAT(1.0), 10, 0, 0, 0, 0, 0, 0, 0) + EVT_END_IF + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) + EVT_LOOP(20) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, 1) + EVT_WAIT(1) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, 1) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Green_Anim01) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, 0) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) + EVT_CALL(SetActorType, ACTOR_SELF, ACTOR_TYPE_GREEN_MAGIKOOPA) + EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(statusTable))) + EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 32) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_1000, 1) + EVT_CALL(ResetAllActorSounds, ACTOR_SELF) + EVT_CALL(GetIndexFromPos, ACTOR_SELF, LVar0) + EVT_MOD(LVar0, 4) + EVT_CALL(SetGoalToIndex, ACTOR_SELF, LVar0) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(ForceHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(HPBarToHome, ACTOR_SELF) + EVT_RETURN + EVT_END +}; + +EvtScript N(handleEvent_flying) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(EVENT_HIT_COMBO) + EVT_EXEC_WAIT(N(canBeKnockedOff)) + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Green_Anim04) + EVT_EXEC_WAIT(DoNormalHit) + EVT_CASE_OR_EQ(EVENT_HIT) + EVT_CASE_OR_EQ(EVENT_FALL_TRIGGER) + EVT_EXEC_WAIT(N(canBeKnockedOff)) + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Green_Anim04) + EVT_EXEC_WAIT(DoNormalHit) + EVT_EXEC_WAIT(N(knockOff)) + EVT_END_CASE_GROUP + EVT_CASE_OR_EQ(EVENT_BURN_HIT) + EVT_CASE_OR_EQ(EVENT_15) + EVT_EXEC_WAIT(N(canBeKnockedOff)) + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Green_Anim05) + EVT_SET_CONST(LVar2, ANIM_FlyingMagikoopa_Green_Anim06) + EVT_EXEC_WAIT(DoBurnHit) + EVT_EXEC_WAIT(N(knockOff)) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_BURN_DEATH) + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Green_Anim05) + EVT_SET_CONST(LVar2, ANIM_FlyingMagikoopa_Green_Anim06) + EVT_EXEC_WAIT(DoBurnHit) + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Green_Anim06) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Green_Anim04) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Green_Anim04) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Green_Anim04) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER) + EVT_CASE_OR_EQ(EVENT_IMMUNE) + EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Green_Anim01) + EVT_EXEC_WAIT(DoImmune) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_DEATH) + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Green_Anim04) + EVT_EXEC_WAIT(DoNormalHit) + EVT_WAIT(10) + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Green_Anim04) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_BEGIN_FIRST_STRIKE) + EVT_CALL(SetActorPos, ACTOR_SELF, 20, 0, 0) + EVT_CALL(HPBarToCurrent, ACTOR_SELF) + EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) + EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Green_Anim01) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) + EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Green_Anim01) + EVT_CALL(HPBarToHome, ACTOR_SELF) + EVT_CASE_EQ(EVENT_RECOVER_STATUS) + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Green_Anim01) + EVT_EXEC_WAIT(DoRecover) + EVT_CASE_EQ(EVENT_SCARE_AWAY) + EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Green_Anim04) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) + EVT_WAIT(15) + EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Green_Anim02) + EVT_EXEC_WAIT(N(flee)) + EVT_RETURN + EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Green_Anim02) + EVT_EXEC_WAIT(DoAirLift) + EVT_CASE_EQ(EVENT_BLOW_AWAY) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, 2, -3, 0, 0) + EVT_ELSE + EVT_CALL(SetPartDispOffset, ACTOR_SELF, 2, -15, 0, 0) + EVT_END_IF + EVT_END_IF + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Green_Anim04) + EVT_EXEC_WAIT(DoBlowAway) + EVT_RETURN + EVT_CASE_DEFAULT + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(attackMagicBlast) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(GetBattlePhase, LVar0) + EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 1) + EVT_ELSE + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 10) + EVT_END_IF + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST1) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) + EVT_IF_FLAG(LVarA, STATUS_FLAG_SHRINK) + EVT_SUB(LVar0, 12) + EVT_ADD(LVar1, 14) + EVT_ELSE + EVT_SUB(LVar0, 30) + EVT_ADD(LVar1, 36) + EVT_END_IF + EVT_CALL(PlayEffect, EFFECT_GATHER_MAGIC, 0, LVar0, LVar1, LVar2, EVT_FLOAT(0.5), 30, 0, 0, 0, 0, 0, 0, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Green_Anim02) + EVT_WAIT(30) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_MISS) + EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) + EVT_SET(LVarA, LVar0) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST2) + EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Green_Anim03) + EVT_WAIT(5) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar9) + EVT_IF_FLAG(LVar9, STATUS_FLAG_SHRINK) + EVT_SUB(LVar0, 8) + EVT_ADD(LVar1, 8) + EVT_ELSE + EVT_SUB(LVar0, 20) + EVT_ADD(LVar1, 20) + EVT_END_IF + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar3, LVar4, LVar5) + EVT_SUB(LVar3, 50) + EVT_SET(LVar4, 0) + EVT_CALL(N(ShrinkActor), LVar0, LVar1, LVar5, LVar3, LVar4, LVar5, 25) + EVT_WAIT(50) + EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_WAIT(14) + EVT_CALL(YieldTurn) + EVT_CALL(AddActorDecoration, ACTOR_SELF, 2, 0, 2) + EVT_WAIT(30) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 2, 0) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST2) + EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Green_Anim03) + EVT_WAIT(5) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) + EVT_IF_FLAG(LVarA, STATUS_FLAG_SHRINK) + EVT_SUB(LVar0, 8) + EVT_ADD(LVar1, 8) + EVT_ELSE + EVT_SUB(LVar0, 20) + EVT_ADD(LVar1, 20) + EVT_END_IF + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar3, LVar4, LVar5) + EVT_SUB(LVar3, 10) + EVT_CALL(N(ShrinkActor), LVar0, LVar1, LVar5, LVar3, LVar4, LVar5, 20) + EVT_WAIT(18) + EVT_WAIT(2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_NO_CONTACT, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_HIT) + EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_WAIT(19) + EVT_CALL(YieldTurn) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(attackWandStrike) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(func_8024ECF8, -1, 1, 0) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2DB) + EVT_THREAD + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Green_Anim02) + EVT_SET(LVar0, 200) + EVT_LOOP(20) + EVT_SUB(LVar0, 10) + EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_WAIT(10) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) + EVT_IF_FLAG(LVarA, STATUS_FLAG_SHRINK) + EVT_ADD(LVar0, 5) + EVT_ELSE + EVT_ADD(LVar0, 25) + EVT_END_IF + EVT_SET(LVar1, 0) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, 10) + EVT_SET(LVar0, 55) + EVT_LOOP(20) + EVT_ADD(LVar0, 10) + EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Green_Anim03) + EVT_WAIT(11) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2DC) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_MISS) + EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) + EVT_SET(LVarA, LVar0) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_WAIT(15) + EVT_SET(LVar0, 200) + EVT_LOOP(20) + EVT_SUB(LVar0, 10) + EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(YieldTurn) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Green_Anim01) + EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, 10) + EVT_SET(LVar0, 55) + EVT_LOOP(20) + EVT_ADD(LVar0, 10) + EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_WAIT(2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_HIT) + EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_WAIT(10) + EVT_SET(LVar0, 200) + EVT_LOOP(20) + EVT_SUB(LVar0, 10) + EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(YieldTurn) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Green_Anim01) + EVT_CALL(FlyToGoal, ACTOR_SELF, 20, 0, 10) + EVT_SET(LVar0, 55) + EVT_LOOP(20) + EVT_ADD(LVar0, 10) + EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(flee) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) + EVT_IF_NE(LVar0, EVENT_SCARE_AWAY) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(MoveBattleCamOver, 15) + EVT_WAIT(15) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_B) + EVT_END_IF + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 20) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_WAIT(10) + EVT_CALL(SetActorYaw, ACTOR_SELF, 180) + EVT_CALL(EnableActorBlur, ACTOR_SELF, 1) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(10.0)) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 200) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(YieldTurn) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_EXEC_WAIT(ForceNextTarget) + EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(RemoveActor, ACTOR_SELF) + EVT_RETURN + EVT_END +}; + +EvtScript N(init) = { + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) + EVT_CALL(GetBattleVar, 2, LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_CALL(SetBattleVar, 2, -1) + EVT_END_IF + EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(init_flying) = { + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_flying))) + EVT_CALL(GetBattleVar, 2, LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_CALL(SetBattleVar, 2, -1) + EVT_END_IF + EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(takeTurn) = { + EVT_SET(LocalFlag(0), 0) + EVT_LABEL(10) + EVT_CALL(EnemyCreateTargetList, 32770) + EVT_CALL(InitTargetIterator) + EVT_LABEL(0) + EVT_CALL(GetOwnerTarget, LVar0, LVar1) + EVT_CALL(GetIndexFromHome, LVar0, LVar1) + EVT_CALL(GetBattleVar, 2, LVar2) + EVT_IF_GT(LVar1, LVar2) + EVT_CALL(N(UnkFunc52), LVar0, LVar3) + EVT_IF_EQ(LVar3, 0) + EVT_CALL(GetActorDefenseBoost, LVar0, LVar4) + EVT_IF_LT(LVar4, 3) + EVT_SET(LVar8, LVar0) + EVT_CALL(SetBattleVar, 2, LVar1) + EVT_GOTO(100) + EVT_END_IF + EVT_END_IF + EVT_END_IF + EVT_CALL(ChooseNextTarget, 0, LVar0) + EVT_IF_NE(LVar0, -1) + EVT_GOTO(0) + EVT_END_IF + EVT_IF_EQ(LocalFlag(0), 0) + EVT_SET(LocalFlag(0), 1) + EVT_CALL(SetBattleVar, 2, -1) + EVT_GOTO(10) + EVT_END_IF + EVT_CALL(CountPlayerTargets, ACTOR_SELF, 32770, LVar0) + EVT_IF_EQ(LVar0, 1) + EVT_EXEC_WAIT(N(flee)) + EVT_RETURN + EVT_END_IF + EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) + EVT_IF_FLAG(LVar0, ACTOR_FLAG_FLYING) + EVT_EXEC_WAIT(N(attackMagicBlast)) + EVT_ELSE + EVT_EXEC_WAIT(N(attackWandStrike)) + EVT_END_IF + EVT_RETURN + EVT_LABEL(100) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(MoveBattleCamOver, 15) + EVT_WAIT(15) + EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Green_Anim02) + EVT_ELSE + EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Green_Anim02) + EVT_END_IF + EVT_WAIT(5) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST1) + EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) + EVT_IF_FLAG(LVarA, STATUS_FLAG_SHRINK) + EVT_SUB(LVar0, 6) + EVT_ADD(LVar1, 12) + EVT_SUB(LVar2, 2) + EVT_CALL(PlayEffect, EFFECT_RADIAL_SHIMMER, 5, LVar0, LVar1, LVar2, EVT_FLOAT(0.12), 30, 0, 0, 0, 0, 0, 0, 0) + EVT_ELSE + EVT_SUB(LVar0, 16) + EVT_ADD(LVar1, 31) + EVT_SUB(LVar2, 2) + EVT_CALL(PlayEffect, EFFECT_RADIAL_SHIMMER, 5, LVar0, LVar1, LVar2, EVT_FLOAT(0.3), 30, 0, 0, 0, 0, 0, 0, 0) + EVT_END_IF + EVT_ELSE + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) + EVT_IF_FLAG(LVarA, STATUS_FLAG_SHRINK) + EVT_SUB(LVar0, 12) + EVT_ADD(LVar1, 14) + EVT_SUB(LVar2, 2) + EVT_CALL(PlayEffect, EFFECT_RADIAL_SHIMMER, 5, LVar0, LVar1, LVar2, EVT_FLOAT(0.12), 30, 0, 0, 0, 0, 0, 0, 0) + EVT_ELSE + EVT_SUB(LVar0, 30) + EVT_ADD(LVar1, 36) + EVT_SUB(LVar2, 2) + EVT_CALL(PlayEffect, EFFECT_RADIAL_SHIMMER, 5, LVar0, LVar1, LVar2, EVT_FLOAT(0.3), 30, 0, 0, 0, 0, 0, 0, 0) + EVT_END_IF + EVT_END_IF + EVT_WAIT(30) + EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Green_Anim01) + EVT_ELSE + EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Green_Anim01) + EVT_END_IF + EVT_WAIT(5) + EVT_THREAD + EVT_WAIT(10) + EVT_CALL(PlaySoundAtActor, LVar8, SOUND_2DD) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(func_8026BF48, 1) + EVT_CALL(BoostDefense, LVar8, 1) + EVT_CALL(func_8026BF48, 0) + EVT_END_THREAD + EVT_CALL(WaitForBuffDone) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_WAIT(10) + EVT_CALL(YieldTurn) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; diff --git a/src/battle/area_pra/actor/red_magikoopa.c b/src/battle/area_pra/actor/red_magikoopa.c new file mode 100644 index 0000000000..2760acdc69 --- /dev/null +++ b/src/battle/area_pra/actor/red_magikoopa.c @@ -0,0 +1,21 @@ +#include "common.h" +#include "effects.h" + +#define NAMESPACE b_area_pra_red_magikoopa + +ApiStatus func_80218240_649050(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + EffectInstance* effect = (EffectInstance*)evt_get_variable(script, *args++); + f32 var1 = evt_get_variable(script, *args++); + f32 var2 = evt_get_variable(script, *args++); + f32 var3 = evt_get_variable(script, *args++); + + // function is never called, so the effect type can't be inferred + ((f32*)effect->data.any)[14] = var1; + ((f32*)effect->data.any)[15] = var2; + ((f32*)effect->data.any)[16] = var3; + + return ApiStatus_DONE2; +} + +#include "battle/common/actor/red_magikoopa.inc.c" diff --git a/src/battle/area_pra/actor/swoopula.c b/src/battle/area_pra/actor/swoopula.c new file mode 100644 index 0000000000..bdce30a876 --- /dev/null +++ b/src/battle/area_pra/actor/swoopula.c @@ -0,0 +1,5 @@ +#include "common.h" + +#define NAMESPACE b_area_pra_swoopula + +#include "battle/common/actor/swoopula.inc.c" diff --git a/src/battle/area_pra/actor/white_clubba.c b/src/battle/area_pra/actor/white_clubba.c new file mode 100644 index 0000000000..e5a6a5101b --- /dev/null +++ b/src/battle/area_pra/actor/white_clubba.c @@ -0,0 +1,5 @@ +#include "common.h" + +#define NAMESPACE b_area_pra_white_clubba + +#include "battle/common/actor/white_clubba.inc.c" diff --git a/src/battle/area_pra/actor/white_magikoopa.c b/src/battle/area_pra/actor/white_magikoopa.c new file mode 100644 index 0000000000..fdb0998f4e --- /dev/null +++ b/src/battle/area_pra/actor/white_magikoopa.c @@ -0,0 +1,5 @@ +#include "common.h" + +#define NAMESPACE b_area_pra_white_magikoopa + +#include "battle/common/actor/white_magikoopa.inc.c" diff --git a/src/battle/area_pra/actor/yellow_magikoopa.c b/src/battle/area_pra/actor/yellow_magikoopa.c new file mode 100644 index 0000000000..08303db775 --- /dev/null +++ b/src/battle/area_pra/actor/yellow_magikoopa.c @@ -0,0 +1,904 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "effects.h" +#include "sprite/npc/Magikoopa.h" +#include "sprite/npc/FlyingMagikoopa.h" + +#define NAMESPACE b_area_pra_yellow_magikoopa + +extern s32 N(idleAnimations)[]; +extern s32 N(idleAnimations_flying)[]; +extern s32 N(80225248)[]; + +extern EvtScript N(init); +extern EvtScript N(takeTurn); +extern EvtScript N(init_flying); +extern EvtScript N(flee); + +s32 N(defenseTable)[] = { + ELEMENT_NORMAL, 0, + ELEMENT_END, +}; + +s32 N(defenseTable_flying)[] = { + ELEMENT_NORMAL, 0, + ELEMENT_END, +}; + +s32 N(statusTable)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 50, + STATUS_POISON, 50, + STATUS_FROZEN, 0, + STATUS_DIZZY, 75, + STATUS_FEAR, 0, + STATUS_STATIC, 50, + STATUS_PARALYZE, 75, + STATUS_SHRINK, 80, + STATUS_STOP, 90, + STATUS_DEFAULT_TURN_MOD, 0, + STATUS_SLEEP_TURN_MOD, 0, + STATUS_POISON_TURN_MOD, 0, + STATUS_FROZEN_TURN_MOD, 0, + STATUS_DIZZY_TURN_MOD, 0, + STATUS_FEAR_TURN_MOD, 0, + STATUS_STATIC_TURN_MOD, 0, + STATUS_PARALYZE_TURN_MOD, 0, + STATUS_SHRINK_TURN_MOD, 0, + STATUS_STOP_TURN_MOD, -1, + STATUS_END, +}; + +s32 N(statusTable_flying)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 50, + STATUS_POISON, 50, + STATUS_FROZEN, 0, + STATUS_DIZZY, 100, + STATUS_FEAR, 0, + STATUS_STATIC, 50, + STATUS_PARALYZE, 75, + STATUS_SHRINK, 80, + STATUS_STOP, 90, + STATUS_DEFAULT_TURN_MOD, 0, + STATUS_SLEEP_TURN_MOD, 0, + STATUS_POISON_TURN_MOD, 0, + STATUS_FROZEN_TURN_MOD, 0, + STATUS_DIZZY_TURN_MOD, 0, + STATUS_FEAR_TURN_MOD, 0, + STATUS_STATIC_TURN_MOD, 0, + STATUS_PARALYZE_TURN_MOD, 0, + STATUS_SHRINK_TURN_MOD, 0, + STATUS_STOP_TURN_MOD, -1, + STATUS_END, +}; + +ActorPartBlueprint N(parts)[] = { + { + .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 2, 35 }, + .opacity = 255, + .idleAnimations = N(idleAnimations), + .defenseTable = N(defenseTable), + .eventFlags = 0, + .elementImmunityFlags = 0, + .unk_1C = -5, + .unk_1D = -12, + }, +}; + +ActorPartBlueprint N(parts_flying)[] = { + { + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 2, 35 }, + .opacity = 255, + .idleAnimations = N(idleAnimations), + .defenseTable = N(defenseTable_flying), + .eventFlags = 0, + .elementImmunityFlags = 0, + .unk_1C = -5, + .unk_1D = -12, + }, + { + .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .index = 2, + .posOffset = { 0, 0, 0 }, + .targetOffset = { -10, 35 }, + .opacity = 255, + .idleAnimations = N(idleAnimations_flying), + .defenseTable = N(defenseTable_flying), + .eventFlags = ACTOR_EVENT_FLAG_800000, + .elementImmunityFlags = 0, + .unk_1C = 0, + .unk_1D = -8, + }, + { + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, + .index = 3, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 0 }, + .opacity = 255, + .idleAnimations = N(80225248), + .defenseTable = N(defenseTable_flying), + .eventFlags = 0, + .elementImmunityFlags = 0, + .unk_1C = 0, + .unk_1D = 0, + }, +}; + +ActorBlueprint NAMESPACE = { + .flags = 0, + .type = ACTOR_TYPE_YELLOW_MAGIKOOPA, + .level = 21, + .maxHP = 11, + .partCount = ARRAY_COUNT(N(parts)), + .partsData = N(parts), + .script = &N(init), + .statusTable = N(statusTable), + .escapeChance = 40, + .airLiftChance = 80, + .spookChance = 70, + .baseStatusChance = 40, + .upAndAwayChance = 95, + .spinSmashReq = 0, + .powerBounceChance = 80, + .coinReward = 2, + .size = { 36, 40 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -10, 20 }, + .statusMessageOffset = { 10, 32 }, +}; + +ActorBlueprint N(flying) = { + .flags = ACTOR_FLAG_FLYING, + .type = ACTOR_TYPE_FLYING_YELLOW_MAGIKOOPA, + .level = 21, + .maxHP = 11, + .partCount = ARRAY_COUNT(N(parts_flying)), + .partsData = N(parts_flying), + .script = &N(init_flying), + .statusTable = N(statusTable_flying), + .escapeChance = 40, + .airLiftChance = 95, + .spookChance = 75, + .baseStatusChance = 40, + .upAndAwayChance = 95, + .spinSmashReq = 0, + .powerBounceChance = 80, + .coinReward = 2, + .size = { 48, 40 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -25, 20 }, + .statusMessageOffset = { 1, 34 }, +}; + +s32 N(idleAnimations)[] = { + STATUS_NORMAL, ANIM_Magikoopa_Yellow_Anim01, + STATUS_STONE, ANIM_Magikoopa_Yellow_Anim00, + STATUS_SLEEP, ANIM_Magikoopa_Yellow_Anim08, + STATUS_POISON, ANIM_Magikoopa_Yellow_Anim01, + STATUS_STOP, ANIM_Magikoopa_Yellow_Anim00, + STATUS_STATIC, ANIM_Magikoopa_Yellow_Anim01, + STATUS_PARALYZE, ANIM_Magikoopa_Yellow_Anim00, + STATUS_DIZZY, ANIM_Magikoopa_Yellow_Anim07, + STATUS_FEAR, ANIM_Magikoopa_Yellow_Anim07, + STATUS_END, +}; + +s32 N(idleAnimations_flying)[] = { + STATUS_NORMAL, ANIM_FlyingMagikoopa_Yellow_Anim01, + STATUS_STONE, ANIM_FlyingMagikoopa_Yellow_Anim00, + STATUS_SLEEP, ANIM_FlyingMagikoopa_Yellow_Anim08, + STATUS_POISON, ANIM_FlyingMagikoopa_Yellow_Anim01, + STATUS_STOP, ANIM_FlyingMagikoopa_Yellow_Anim00, + STATUS_STATIC, ANIM_FlyingMagikoopa_Yellow_Anim01, + STATUS_PARALYZE, ANIM_FlyingMagikoopa_Yellow_Anim00, + STATUS_DIZZY, ANIM_FlyingMagikoopa_Yellow_Anim07, + STATUS_FEAR, ANIM_FlyingMagikoopa_Yellow_Anim07, + STATUS_END, +}; + +s32 N(80225248)[] = { + STATUS_NORMAL, ANIM_FlyingMagikoopa_Yellow_Anim0A, + STATUS_END, +}; + +EvtScript N(idle) = { + EVT_RETURN + EVT_END +}; + +#include "common/ShrinkActor.inc.c" +#include "common/GetSelectedMoveID.inc.c" +#include "common/UnkBattleFunc1.inc.c" +#include "common/StartRumbleWithParams.inc.c" +#include "world/common/UnkFunc52.inc.c" + +EvtScript N(handleEvent) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(EVENT_HIT_COMBO) + EVT_CASE_OR_EQ(EVENT_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Magikoopa_Yellow_Anim04) + EVT_EXEC_WAIT(DoNormalHit) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_BURN_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Magikoopa_Yellow_Anim05) + EVT_SET_CONST(LVar2, ANIM_Magikoopa_Yellow_Anim06) + EVT_EXEC_WAIT(DoBurnHit) + EVT_CASE_EQ(EVENT_BURN_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Magikoopa_Yellow_Anim05) + EVT_SET_CONST(LVar2, ANIM_Magikoopa_Yellow_Anim06) + EVT_EXEC_WAIT(DoBurnHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Magikoopa_Yellow_Anim06) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Magikoopa_Yellow_Anim04) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Magikoopa_Yellow_Anim04) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Magikoopa_Yellow_Anim04) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER) + EVT_CASE_OR_EQ(EVENT_IMMUNE) + EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Magikoopa_Yellow_Anim01) + EVT_EXEC_WAIT(DoImmune) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Magikoopa_Yellow_Anim04) + EVT_EXEC_WAIT(DoNormalHit) + EVT_WAIT(10) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Magikoopa_Yellow_Anim04) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_RECOVER_STATUS) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Magikoopa_Yellow_Anim01) + EVT_EXEC_WAIT(DoRecover) + EVT_CASE_EQ(EVENT_SCARE_AWAY) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Yellow_Anim04) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) + EVT_WAIT(15) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Yellow_Anim02) + EVT_EXEC_WAIT(N(flee)) + EVT_RETURN + EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Magikoopa_Yellow_Anim02) + EVT_EXEC_WAIT(DoAirLift) + EVT_CASE_EQ(EVENT_BLOW_AWAY) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, 1, 0, 2, 0) + EVT_ELSE + EVT_CALL(SetPartDispOffset, ACTOR_SELF, 1, -4, 5, 0) + EVT_END_IF + EVT_END_IF + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Magikoopa_Yellow_Anim04) + EVT_EXEC_WAIT(DoBlowAway) + EVT_RETURN + EVT_CASE_DEFAULT + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(canBeKnockedOff) = { + EVT_CALL(GetBattleFlags, LVar0) + EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_80000) + EVT_IF_FLAG(LVar0, BS_FLAGS1_40 | BS_FLAGS1_200) + EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) + EVT_END_IF + EVT_ELSE + EVT_CALL(N(GetSelectedMoveID), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(MOVE_HEADBONK1) + EVT_CASE_OR_EQ(MOVE_HEADBONK2) + EVT_CASE_OR_EQ(MOVE_HEADBONK3) + EVT_CASE_OR_EQ(MOVE_MULTIBONK) + EVT_CALL(GetBattleFlags, LVar0) + EVT_IF_FLAG(LVar0, BS_FLAGS1_40 | BS_FLAGS1_200) + EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) + EVT_END_IF + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(knockOff) = { + EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) + EVT_IF_EQ(LVar0, 1) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Yellow_Anim04) + EVT_GOTO(0) + EVT_END_IF + EVT_CALL(GetLastElement, LVar0) + EVT_IF_FLAG(LVar0, DAMAGE_TYPE_POW) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Yellow_Anim04) + EVT_GOTO(0) + EVT_END_IF + EVT_RETURN + EVT_LABEL(0) + EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_END_IF + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_MULTI_TARGET, 1) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, 1) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_MULTI_TARGET, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 1) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, 0) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar2, 1) + EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_301) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SET(LVar1, 0) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) + EVT_CALL(N(StartRumbleWithParams), 150, 10) + EVT_THREAD + EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(0.7)) + EVT_END_THREAD + EVT_CALL(GetLastEvent, ACTOR_SELF, LVar3) + EVT_IF_EQ(LVar3, EVENT_15) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Yellow_Anim04) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) + EVT_ADD(LVar4, 10) + EVT_ADD(LVar5, 5) + EVT_CALL(PlayEffect, EFFECT_SMOKE_BURST, 0, LVar3, LVar4, LVar5, EVT_FLOAT(1.0), 10, 0, 0, 0, 0, 0, 0, 0) + EVT_END_IF + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) + EVT_LOOP(20) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, 1) + EVT_WAIT(1) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, 1) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Yellow_Anim01) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, 0) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) + EVT_CALL(SetActorType, ACTOR_SELF, ACTOR_TYPE_YELLOW_MAGIKOOPA) + EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(statusTable))) + EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 32) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_1000, 1) + EVT_CALL(ResetAllActorSounds, ACTOR_SELF) + EVT_CALL(GetIndexFromPos, ACTOR_SELF, LVar0) + EVT_MOD(LVar0, 4) + EVT_CALL(SetGoalToIndex, ACTOR_SELF, LVar0) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(ForceHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(HPBarToHome, ACTOR_SELF) + EVT_RETURN + EVT_END +}; + +EvtScript N(handleEvent_flying) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(EVENT_HIT_COMBO) + EVT_EXEC_WAIT(N(canBeKnockedOff)) + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Yellow_Anim04) + EVT_EXEC_WAIT(DoNormalHit) + EVT_CASE_OR_EQ(EVENT_HIT) + EVT_CASE_OR_EQ(EVENT_FALL_TRIGGER) + EVT_EXEC_WAIT(N(canBeKnockedOff)) + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Yellow_Anim04) + EVT_EXEC_WAIT(DoNormalHit) + EVT_EXEC_WAIT(N(knockOff)) + EVT_END_CASE_GROUP + EVT_CASE_OR_EQ(EVENT_BURN_HIT) + EVT_CASE_OR_EQ(EVENT_15) + EVT_EXEC_WAIT(N(canBeKnockedOff)) + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Yellow_Anim05) + EVT_SET_CONST(LVar2, ANIM_FlyingMagikoopa_Yellow_Anim06) + EVT_EXEC_WAIT(DoBurnHit) + EVT_EXEC_WAIT(N(knockOff)) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_BURN_DEATH) + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Yellow_Anim05) + EVT_SET_CONST(LVar2, ANIM_FlyingMagikoopa_Yellow_Anim06) + EVT_EXEC_WAIT(DoBurnHit) + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Yellow_Anim06) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Yellow_Anim04) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Yellow_Anim04) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Yellow_Anim04) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER) + EVT_CASE_OR_EQ(EVENT_IMMUNE) + EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Yellow_Anim01) + EVT_EXEC_WAIT(DoImmune) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_DEATH) + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Yellow_Anim04) + EVT_EXEC_WAIT(DoNormalHit) + EVT_WAIT(10) + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Yellow_Anim04) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_BEGIN_FIRST_STRIKE) + EVT_CALL(SetActorPos, ACTOR_SELF, 20, 0, 0) + EVT_CALL(HPBarToCurrent, ACTOR_SELF) + EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) + EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Yellow_Anim01) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) + EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Yellow_Anim01) + EVT_CALL(HPBarToHome, ACTOR_SELF) + EVT_CASE_EQ(EVENT_RECOVER_STATUS) + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Yellow_Anim01) + EVT_EXEC_WAIT(DoRecover) + EVT_CASE_EQ(EVENT_SCARE_AWAY) + EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Yellow_Anim04) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) + EVT_WAIT(15) + EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Yellow_Anim02) + EVT_EXEC_WAIT(N(flee)) + EVT_RETURN + EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Yellow_Anim02) + EVT_EXEC_WAIT(DoAirLift) + EVT_CASE_EQ(EVENT_BLOW_AWAY) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, 2, -3, 0, 0) + EVT_ELSE + EVT_CALL(SetPartDispOffset, ACTOR_SELF, 2, -15, 0, 0) + EVT_END_IF + EVT_END_IF + EVT_SET_CONST(LVar0, 2) + EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Yellow_Anim04) + EVT_EXEC_WAIT(DoBlowAway) + EVT_RETURN + EVT_CASE_DEFAULT + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(attackMagicBlast) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(GetBattlePhase, LVar0) + EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 1) + EVT_ELSE + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 10) + EVT_END_IF + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST1) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) + EVT_IF_FLAG(LVarA, STATUS_FLAG_SHRINK) + EVT_SUB(LVar0, 12) + EVT_ADD(LVar1, 14) + EVT_ELSE + EVT_SUB(LVar0, 30) + EVT_ADD(LVar1, 36) + EVT_END_IF + EVT_CALL(PlayEffect, EFFECT_GATHER_MAGIC, 0, LVar0, LVar1, LVar2, EVT_FLOAT(0.5), 30, 0, 0, 0, 0, 0, 0, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Yellow_Anim02) + EVT_WAIT(30) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_MISS) + EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) + EVT_SET(LVarA, LVar0) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST2) + EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Yellow_Anim03) + EVT_WAIT(5) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar9) + EVT_IF_FLAG(LVar9, STATUS_FLAG_SHRINK) + EVT_SUB(LVar0, 8) + EVT_ADD(LVar1, 8) + EVT_ELSE + EVT_SUB(LVar0, 20) + EVT_ADD(LVar1, 20) + EVT_END_IF + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar3, LVar4, LVar5) + EVT_SUB(LVar3, 50) + EVT_SET(LVar4, 0) + EVT_CALL(N(ShrinkActor), LVar0, LVar1, LVar5, LVar3, LVar4, LVar5, 25) + EVT_WAIT(50) + EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_WAIT(14) + EVT_CALL(YieldTurn) + EVT_CALL(AddActorDecoration, ACTOR_SELF, 2, 0, 2) + EVT_WAIT(30) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 2, 0) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST2) + EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Yellow_Anim03) + EVT_WAIT(5) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) + EVT_IF_FLAG(LVarA, STATUS_FLAG_SHRINK) + EVT_SUB(LVar0, 8) + EVT_ADD(LVar1, 8) + EVT_ELSE + EVT_SUB(LVar0, 20) + EVT_ADD(LVar1, 20) + EVT_END_IF + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar3, LVar4, LVar5) + EVT_SUB(LVar3, 10) + EVT_CALL(N(ShrinkActor), LVar0, LVar1, LVar5, LVar3, LVar4, LVar5, 20) + EVT_WAIT(18) + EVT_WAIT(2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_NO_CONTACT, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_HIT) + EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_WAIT(19) + EVT_CALL(YieldTurn) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(attackWandStrike) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(func_8024ECF8, -1, 1, 0) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2DB) + EVT_THREAD + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Yellow_Anim02) + EVT_SET(LVar0, 200) + EVT_LOOP(20) + EVT_SUB(LVar0, 10) + EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_WAIT(10) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) + EVT_IF_FLAG(LVarA, STATUS_FLAG_SHRINK) + EVT_ADD(LVar0, 5) + EVT_ELSE + EVT_ADD(LVar0, 25) + EVT_END_IF + EVT_SET(LVar1, 0) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, 10) + EVT_SET(LVar0, 55) + EVT_LOOP(20) + EVT_ADD(LVar0, 10) + EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Yellow_Anim03) + EVT_WAIT(11) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2DC) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_MISS) + EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) + EVT_SET(LVarA, LVar0) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_WAIT(15) + EVT_SET(LVar0, 200) + EVT_LOOP(20) + EVT_SUB(LVar0, 10) + EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(YieldTurn) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Yellow_Anim01) + EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, 10) + EVT_SET(LVar0, 55) + EVT_LOOP(20) + EVT_ADD(LVar0, 10) + EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_WAIT(2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_HIT) + EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_WAIT(10) + EVT_SET(LVar0, 200) + EVT_LOOP(20) + EVT_SUB(LVar0, 10) + EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(YieldTurn) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Yellow_Anim01) + EVT_CALL(FlyToGoal, ACTOR_SELF, 20, 0, 10) + EVT_SET(LVar0, 55) + EVT_LOOP(20) + EVT_ADD(LVar0, 10) + EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(flee) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) + EVT_IF_NE(LVar0, EVENT_SCARE_AWAY) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(MoveBattleCamOver, 15) + EVT_WAIT(15) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_B) + EVT_END_IF + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 20) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_WAIT(10) + EVT_CALL(SetActorYaw, ACTOR_SELF, 180) + EVT_CALL(EnableActorBlur, ACTOR_SELF, 1) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(10.0)) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 200) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(YieldTurn) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_EXEC_WAIT(ForceNextTarget) + EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(RemoveActor, ACTOR_SELF) + EVT_RETURN + EVT_END +}; + +EvtScript N(init) = { + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) + EVT_CALL(GetBattleVar, 2, LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_CALL(SetBattleVar, 2, -1) + EVT_END_IF + EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(init_flying) = { + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_flying))) + EVT_CALL(GetBattleVar, 2, LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_CALL(SetBattleVar, 2, -1) + EVT_END_IF + EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(takeTurn) = { + EVT_SET(LocalFlag(0), 0) + EVT_LABEL(10) + EVT_CALL(EnemyCreateTargetList, 32770) + EVT_CALL(InitTargetIterator) + EVT_LABEL(0) + EVT_CALL(GetOwnerTarget, LVar0, LVar1) + EVT_CALL(GetIndexFromHome, LVar0, LVar1) + EVT_CALL(GetBattleVar, 2, LVar2) + EVT_IF_GT(LVar1, LVar2) + EVT_CALL(N(UnkFunc52), LVar0, LVar3) + EVT_IF_EQ(LVar3, 0) + EVT_CALL(GetStatusFlags, LVar0, LVar4) + EVT_IF_NOT_FLAG(LVar4, STATUS_FLAG_STATIC | STATUS_FLAG_TRANSPARENT) + EVT_SET(LVar8, LVar0) + EVT_CALL(SetBattleVar, 2, LVar1) + EVT_GOTO(100) + EVT_END_IF + EVT_END_IF + EVT_END_IF + EVT_CALL(ChooseNextTarget, 0, LVar0) + EVT_IF_NE(LVar0, -1) + EVT_GOTO(0) + EVT_END_IF + EVT_IF_EQ(LocalFlag(0), 0) + EVT_SET(LocalFlag(0), 1) + EVT_CALL(SetBattleVar, 2, -1) + EVT_GOTO(10) + EVT_END_IF + EVT_CALL(CountPlayerTargets, ACTOR_SELF, 32770, LVar0) + EVT_IF_EQ(LVar0, 1) + EVT_EXEC_WAIT(N(flee)) + EVT_RETURN + EVT_END_IF + EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) + EVT_IF_FLAG(LVar0, ACTOR_FLAG_FLYING) + EVT_EXEC_WAIT(N(attackMagicBlast)) + EVT_ELSE + EVT_EXEC_WAIT(N(attackWandStrike)) + EVT_END_IF + EVT_RETURN + EVT_LABEL(100) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(MoveBattleCamOver, 15) + EVT_WAIT(15) + EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Yellow_Anim02) + EVT_ELSE + EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Yellow_Anim02) + EVT_END_IF + EVT_WAIT(5) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2F0) + EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) + EVT_IF_FLAG(LVarA, STATUS_FLAG_SHRINK) + EVT_SUB(LVar0, 6) + EVT_ADD(LVar1, 12) + EVT_SUB(LVar2, 2) + EVT_CALL(PlayEffect, EFFECT_SNAKING_STATIC, 0, LVar0, LVar1, LVar2, EVT_FLOAT(0.12), 30, 0, 0, 0, 0, 0, 0, 0) + EVT_ELSE + EVT_SUB(LVar0, 16) + EVT_ADD(LVar1, 31) + EVT_SUB(LVar2, 2) + EVT_CALL(PlayEffect, EFFECT_SNAKING_STATIC, 0, LVar0, LVar1, LVar2, EVT_FLOAT(0.3), 30, 0, 0, 0, 0, 0, 0, 0) + EVT_END_IF + EVT_ELSE + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) + EVT_IF_FLAG(LVarA, STATUS_FLAG_SHRINK) + EVT_SUB(LVar0, 12) + EVT_ADD(LVar1, 14) + EVT_SUB(LVar2, 2) + EVT_CALL(PlayEffect, EFFECT_SNAKING_STATIC, 0, LVar0, LVar1, LVar2, EVT_FLOAT(0.12), 30, 0, 0, 0, 0, 0, 0, 0) + EVT_ELSE + EVT_SUB(LVar0, 30) + EVT_ADD(LVar1, 36) + EVT_SUB(LVar2, 2) + EVT_CALL(PlayEffect, EFFECT_SNAKING_STATIC, 0, LVar0, LVar1, LVar2, EVT_FLOAT(0.3), 30, 0, 0, 0, 0, 0, 0, 0) + EVT_END_IF + EVT_END_IF + EVT_WAIT(30) + EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Yellow_Anim01) + EVT_ELSE + EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Yellow_Anim01) + EVT_END_IF + EVT_WAIT(5) + EVT_THREAD + EVT_WAIT(10) + EVT_LOOP(4) + EVT_CALL(PlaySoundAtActor, LVar8, SOUND_3D2) + EVT_CALL(RandInt, 3, LVar0) + EVT_ADD(LVar0, 3) + EVT_WAIT(LVar0) + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_CALL(func_8026BF48, 1) + EVT_CALL(ElectrifyActor, LVar8, 3) + EVT_CALL(func_8026BF48, 0) + EVT_END_THREAD + EVT_CALL(WaitForBuffDone) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_WAIT(10) + EVT_CALL(YieldTurn) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; diff --git a/src/battle/area_pra/area.c b/src/battle/area_pra/area.c new file mode 100644 index 0000000000..1bebc98a4d --- /dev/null +++ b/src/battle/area_pra/area.c @@ -0,0 +1,162 @@ +#include "common.h" +#include "battle/battle.h" + +#define NAMESPACE b_area_pra + +extern ActorBlueprint N(swoopula); +extern ActorBlueprint N(red_magikoopa); +extern ActorBlueprint N(gray_magikoopa); +extern ActorBlueprint N(white_magikoopa); +extern ActorBlueprint N(white_magikoopa_flying); +extern ActorBlueprint N(green_magikoopa); +extern ActorBlueprint N(yellow_magikoopa); +extern ActorBlueprint N(yellow_magikoopa_flying); +extern ActorBlueprint N(white_clubba); +extern ActorBlueprint N(albino_dino); + +extern Stage N(pra_01); +extern Stage N(pra_02); +extern Stage N(pra_03); +extern Stage N(pra_03b); +extern Stage N(pra_03c); +extern Stage N(pra_04); + + +Vec3i N(pos_swoopula)[] = { + { 15, 133, -25 }, + { 55, 133, -25 }, + { 95, 133, -25 }, + { 135, 133, -25 }, +}; + +Formation N(formation_01) = { + { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula)[1] }, .priority = 10 }, + { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula)[2] }, .priority = 9 }, +}; + +Formation N(formation_02) = { + { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula)[0] }, .priority = 10 }, + { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula)[1] }, .priority = 9 }, + { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula)[2] }, .priority = 8 }, +}; + +Vec3i N(pos_swoopula_2)[] = { + { 0, 133, -25 }, + { 40, 133, -25 }, + { 80, 133, -25 }, + { 120, 133, -25 }, +}; + +Formation N(formation_03) = { + { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula_2)[0] }, .priority = 10 }, + { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula_2)[1] }, .priority = 9 }, + { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula_2)[2] }, .priority = 8 }, + { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula_2)[3] }, .priority = 7 }, +}; + +Vec3i N(pos_swoopula_3)[] = { + { 0, 133, -25 }, + { 40, 133, -25 }, + { 80, 133, -25 }, +}; + +Vec3i N(pos_magikoopa) = { 120, 55, 25 }; + +Formation N(formation_04) = { + { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula_3)[0] }, .priority = 10, .var0 = 0xFFFFFFFF }, + { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula_3)[1] }, .priority = 9, .var0 = 0xFFFFFFFF }, + { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula_3)[2] }, .priority = 8, .var0 = 0xFFFFFFFF }, + { .actor = &N(yellow_magikoopa_flying), .home = { .vec = &N(pos_magikoopa) }, .priority = 7 }, +}; + +Formation N(formation_05) = { + { .actor = &N(white_clubba), .home = { .index = 1 }, .priority = 10 }, +}; + +Formation N(formation_06) = { + { .actor = &N(white_clubba), .home = { .index = 1 }, .priority = 10 }, + { .actor = &N(white_clubba), .home = { .index = 2 }, .priority = 9 }, +}; + +Formation N(formation_07) = { + { .actor = &N(white_clubba), .home = { .index = 0 }, .priority = 10 }, + { .actor = &N(white_clubba), .home = { .index = 1 }, .priority = 9 }, + { .actor = &N(white_clubba), .home = { .index = 2 }, .priority = 8 }, +}; + +Formation N(formation_08) = { + { .actor = &N(white_clubba), .home = { .index = 0 }, .priority = 10 }, + { .actor = &N(white_clubba), .home = { .index = 1 }, .priority = 9 }, + { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula)[2] }, .priority = 8 }, +}; + +Formation N(formation_09) = { + { .actor = &N(white_clubba), .home = { .index = 0 }, .priority = 10 }, + { .actor = &N(white_clubba), .home = { .index = 1 }, .priority = 9 }, + { .actor = &N(yellow_magikoopa), .home = { .index = 2 }, .priority = 9 }, +}; + +Formation N(formation_0A) = { + { .actor = &N(white_clubba), .home = { .index = 0 }, .priority = 10 }, + { .actor = &N(white_clubba), .home = { .index = 1 }, .priority = 9 }, + { .actor = &N(white_magikoopa), .home = { .index = 2 }, .priority = 9 }, +}; + +Formation N(formation_0B) = { + { .actor = &N(white_clubba), .home = { .index = 0 }, .priority = 10 }, + { .actor = &N(white_clubba), .home = { .index = 1 }, .priority = 9 }, + { .actor = &N(white_magikoopa), .home = { .index = 2 }, .priority = 8 }, + { .actor = &N(red_magikoopa), .home = { .index = 3 }, .priority = 7 }, +}; + +Formation N(formation_0C) = { + { .actor = &N(white_clubba), .home = { .index = 1 }, .priority = 10 }, + { .actor = &N(gray_magikoopa), .home = { .index = 2 }, .priority = 9 }, +}; + +Formation N(formation_0D) = { + { .actor = &N(white_clubba), .home = { .index = 0 }, .priority = 10 }, + { .actor = &N(white_clubba), .home = { .index = 1 }, .priority = 9 }, + { .actor = &N(white_clubba), .home = { .index = 2 }, .priority = 8 }, + { .actor = &N(green_magikoopa), .home = { .index = 3 }, .priority = 7 }, +}; + +Formation N(formation_0E) = { + { .actor = &N(white_clubba), .home = { .index = 0 }, .priority = 10 }, + { .actor = &N(white_clubba), .home = { .index = 1 }, .priority = 9 }, + { .actor = &N(green_magikoopa), .home = { .index = 2 }, .priority = 8 }, + { .actor = &N(white_magikoopa_flying), .home = { .index = 7 }, .priority = 7 }, +}; + +Formation N(formation_0F) = { + { .actor = &N(albino_dino), .home = { .index = 1 }, .priority = 10, } +}; + +BattleList N(formationTable) = { + BATTLE("バサバサチュルルx2", N(formation_01), &N(pra_01)), + BATTLE("バサバサチュルルx3", N(formation_02), &N(pra_01)), + BATTLE("バサバサチュルルx4", N(formation_03), &N(pra_01)), + BATTLE("バサバサチュルルx3,イエローカメック(そら)", N(formation_04), &N(pra_01)), + BATTLE("ホワイトガボン", N(formation_05), &N(pra_01)), + BATTLE("ホワイトガボンx2", N(formation_06), &N(pra_01)), + BATTLE("ホワイトガボンx3", N(formation_07), &N(pra_01)), + BATTLE("ホワイトガボンx2,バサバサチュルル", N(formation_08), &N(pra_01)), + BATTLE("ホワイトガボンx2,イエローカメック", N(formation_09), &N(pra_01)), + BATTLE("ホワイトガボンx2,ホワイトカメック", N(formation_0A), &N(pra_01)), + BATTLE("ホワイトガボンx2,ホワイトカメック,レッドカメック", N(formation_0B), &N(pra_01)), + BATTLE("ホワイトガボン,グレイカメック", N(formation_0C), &N(pra_01)), + BATTLE("ホワイトガボンx3,グリーンカメック", N(formation_0D), &N(pra_01)), + BATTLE("ホワイトガボンx2,グリーンカメック,ホワイトカメック(そら)", N(formation_0E), &N(pra_01)), + BATTLE("セキゾー", N(formation_0F), &N(pra_01)), + {}, +}; + +StageList N(stageTable) = { + { "pra_01", &N(pra_01) }, + { "pra_02", &N(pra_02) }, + { "pra_03", &N(pra_03) }, + { "pra_03b", &N(pra_03b) }, + { "pra_03c", &N(pra_03c) }, + { "pra_04", &N(pra_04) }, + {}, +}; diff --git a/src/battle/area_pra/stage/pra_01.c b/src/battle/area_pra/stage/pra_01.c new file mode 100644 index 0000000000..d23ccf4462 --- /dev/null +++ b/src/battle/area_pra/stage/pra_01.c @@ -0,0 +1,32 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "mapfs/pra_bt01_shape.h" + +#define NAMESPACE b_area_pra_pra_01 + +EvtScript N(beforeBattle) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_CALL(func_802536A8, 1) + EVT_RETURN + EVT_END +}; + +EvtScript N(afterBattle) = { + EVT_RETURN + EVT_END +}; + +s32 N(foregroundModelList)[] = { + MODEL_o383, MODEL_o384, MODEL_o385, 0, +}; + +Stage NAMESPACE = { + .texture = "pra_tex", + .shape = "pra_bt01_shape", + .hit = "pra_bt01_hit", + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), + .foregroundModelList = N(foregroundModelList), +}; diff --git a/src/battle/area_pra/stage/pra_02.c b/src/battle/area_pra/stage/pra_02.c new file mode 100644 index 0000000000..ebeed86641 --- /dev/null +++ b/src/battle/area_pra/stage/pra_02.c @@ -0,0 +1,95 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "mapfs/pra_bt02_shape.h" + +#define NAMESPACE b_area_pra_pra_02 + +EvtScript N(80231B40) = { + EVT_SET(LVarA, LVar1) + EVT_SET(LVarB, LVar2) + EVT_SET(LVarC, LVar3) + EVT_CALL(SetTexPanner, LVar0, LVar1) + EVT_SET(LVar0, 0) + EVT_SET(LVar1, 0) + EVT_LOOP(0) + EVT_CALL(SetTexPanOffset, LVarA, 0, LVar0, LVar1) + EVT_ADD(LVar0, LVarB) + EVT_ADD(LVar1, LVarC) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(80231C10) = { + EVT_SET(LVarA, LVar1) + EVT_SET(LVarB, LVar2) + EVT_SET(LVarC, LVar3) + EVT_CALL(SetTexPanner, LVar0, LVar1) + EVT_SET(LVar0, 0) + EVT_SET(LVar1, 0) + EVT_LOOP(0) + EVT_CALL(SetTexPanOffset, LVarA, 0, LVar0, 0) + EVT_CALL(SetTexPanOffset, LVarA, 1, LVar1, 0) + EVT_ADD(LVar0, LVarB) + EVT_ADD(LVar1, LVarC) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(80231CFC) = { + EVT_SET(LVarA, LVar1) + EVT_SET(LVarB, LVar2) + EVT_SET(LVarC, LVar3) + EVT_CALL(SetTexPanner, LVar0, LVar1) + EVT_SET(LVar0, 0) + EVT_SET(LVar1, 0) + EVT_LOOP(0) + EVT_CALL(SetTexPanOffset, LVarA, 0, 0, LVar0) + EVT_CALL(SetTexPanOffset, LVarA, 1, 0, LVar1) + EVT_ADD(LVar0, LVarB) + EVT_ADD(LVar1, LVarC) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(beforeBattle) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_CALL(func_802536A8, 1) + EVT_SET(LVar0, 17) + EVT_SET(LVar1, 0) + EVT_SET(LVar2, 3000) + EVT_SET(LVar3, 0) + EVT_EXEC(N(80231B40)) + EVT_SET(LVar0, 18) + EVT_SET(LVar1, 0) + EVT_SET(LVar2, 3000) + EVT_SET(LVar3, 0) + EVT_EXEC(N(80231B40)) + EVT_RETURN + EVT_END +}; + +EvtScript N(afterBattle) = { + EVT_RETURN + EVT_END +}; + +s32 N(foregroundModelList)[] = { + MODEL_o383, MODEL_o384, MODEL_o385, 0, +}; + +Stage NAMESPACE = { + .texture = "pra_tex", + .shape = "pra_bt02_shape", + .hit = "pra_bt02_hit", + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), + .foregroundModelList = N(foregroundModelList), +}; diff --git a/src/battle/area_pra/stage/pra_03.c b/src/battle/area_pra/stage/pra_03.c new file mode 100644 index 0000000000..df815c4aba --- /dev/null +++ b/src/battle/area_pra/stage/pra_03.c @@ -0,0 +1,24 @@ +#include "common.h" +#include "battle/battle.h" + +#define NAMESPACE b_area_pra_pra_03 + +EvtScript N(beforeBattle) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(afterBattle) = { + EVT_RETURN + EVT_END +}; + +Stage NAMESPACE = { + .texture = "pra_tex", + .shape = "pra_bt03_shape", + .hit = "pra_bt03_hit", + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), +}; diff --git a/src/battle/area_pra/stage/pra_03b.c b/src/battle/area_pra/stage/pra_03b.c new file mode 100644 index 0000000000..2cea914e0a --- /dev/null +++ b/src/battle/area_pra/stage/pra_03b.c @@ -0,0 +1,25 @@ +#include "common.h" +#include "battle/battle.h" + +#define NAMESPACE b_area_pra_pra_03b + +EvtScript N(beforeBattle) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_CALL(SetGroupEnabled, 33, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(afterBattle) = { + EVT_RETURN + EVT_END +}; + +Stage NAMESPACE = { + .texture = "pra_tex", + .shape = "pra_bt03_shape", + .hit = "pra_bt03_hit", + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), +}; diff --git a/src/battle/area_pra/stage/pra_03c.c b/src/battle/area_pra/stage/pra_03c.c new file mode 100644 index 0000000000..da161cf7eb --- /dev/null +++ b/src/battle/area_pra/stage/pra_03c.c @@ -0,0 +1,26 @@ +#include "common.h" +#include "battle/battle.h" + +#define NAMESPACE b_area_pra_pra_03c + +EvtScript N(beforeBattle) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_CALL(SetGroupEnabled, 33, 0) + EVT_CALL(SetGroupEnabled, 38, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(afterBattle) = { + EVT_RETURN + EVT_END +}; + +Stage NAMESPACE = { + .texture = "pra_tex", + .shape = "pra_bt03_shape", + .hit = "pra_bt03_hit", + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), +}; diff --git a/src/battle/area_pra/stage/pra_04.c b/src/battle/area_pra/stage/pra_04.c new file mode 100644 index 0000000000..be6609fe0c --- /dev/null +++ b/src/battle/area_pra/stage/pra_04.c @@ -0,0 +1,89 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" + +#define NAMESPACE b_area_pra_pra_04 + +EvtScript N(802320D0) = { + EVT_SET(LVarA, LVar1) + EVT_SET(LVarB, LVar2) + EVT_SET(LVarC, LVar3) + EVT_CALL(SetTexPanner, LVar0, LVar1) + EVT_SET(LVar0, 0) + EVT_SET(LVar1, 0) + EVT_LOOP(0) + EVT_CALL(SetTexPanOffset, LVarA, 0, LVar0, LVar1) + EVT_ADD(LVar0, LVarB) + EVT_ADD(LVar1, LVarC) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(802321A0) = { + EVT_SET(LVarA, LVar1) + EVT_SET(LVarB, LVar2) + EVT_SET(LVarC, LVar3) + EVT_CALL(SetTexPanner, LVar0, LVar1) + EVT_SET(LVar0, 0) + EVT_SET(LVar1, 0) + EVT_LOOP(0) + EVT_CALL(SetTexPanOffset, LVarA, 0, LVar0, 0) + EVT_CALL(SetTexPanOffset, LVarA, 1, LVar1, 0) + EVT_ADD(LVar0, LVarB) + EVT_ADD(LVar1, LVarC) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(8023228C) = { + EVT_SET(LVarA, LVar1) + EVT_SET(LVarB, LVar2) + EVT_SET(LVarC, LVar3) + EVT_CALL(SetTexPanner, LVar0, LVar1) + EVT_SET(LVar0, 0) + EVT_SET(LVar1, 0) + EVT_LOOP(0) + EVT_CALL(SetTexPanOffset, LVarA, 0, 0, LVar0) + EVT_CALL(SetTexPanOffset, LVarA, 1, 0, LVar1) + EVT_ADD(LVar0, LVarB) + EVT_ADD(LVar1, LVarC) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(beforeBattle) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_SET(LVar0, 1) + EVT_SET(LVar1, 0) + EVT_SET(LVar2, 3000) + EVT_SET(LVar3, 0) + EVT_EXEC(N(802320D0)) + EVT_SET(LVar0, 0) + EVT_SET(LVar1, 1) + EVT_SET(LVar2, 3000) + EVT_SET(LVar3, 0) + EVT_EXEC(N(802320D0)) + EVT_CALL(func_802536A8, 1) + EVT_RETURN + EVT_END +}; + +EvtScript N(afterBattle) = { + EVT_RETURN + EVT_END +}; + +Stage NAMESPACE = { + .texture = "pra_tex", + .shape = "pra_bt04_shape", + .hit = "pra_bt04_hit", + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), +}; diff --git a/src/battle/area_sbk/actor/bandit.c b/src/battle/area_sbk/actor/bandit.c index e83970218b..aa2f91bd13 100644 --- a/src/battle/area_sbk/actor/bandit.c +++ b/src/battle/area_sbk/actor/bandit.c @@ -1,683 +1,5 @@ #include "common.h" -#include "effects.h" -#include "battle/battle.h" -#include "script_api/battle.h" -#include "sprite/npc/Bandit.h" -#include "sprite/npc/WorldParakarry.h" #define NAMESPACE b_area_sbk_bandit -extern EvtScript N(init_8021D750); -extern EvtScript N(init_8021D7C4); -extern EvtScript N(takeTurn_8021E900); -extern EvtScript N(idle_8021D810); -extern EvtScript N(handleEvent_8021DF88); - -BSS s32 D_80220160; - -s32 N(idleAnimations_8021D510)[] = { - STATUS_NORMAL, ANIM_Bandit_Anim01, - STATUS_STONE, ANIM_Bandit_Anim00, - STATUS_SLEEP, ANIM_Bandit_Anim10, - STATUS_POISON, ANIM_Bandit_Anim01, - STATUS_STOP, ANIM_Bandit_Anim00, - STATUS_STATIC, ANIM_Bandit_Anim01, - STATUS_PARALYZE, ANIM_Bandit_Anim00, - STATUS_DIZZY, ANIM_Bandit_Anim11, - STATUS_FEAR, ANIM_Bandit_Anim11, - STATUS_END, -}; - -s32 N(idleAnimations_8021D55C)[] = { - STATUS_NORMAL, ANIM_Bandit_Anim02, - STATUS_STONE, ANIM_Bandit_Anim04, - STATUS_SLEEP, ANIM_Bandit_Anim10, - STATUS_POISON, ANIM_Bandit_Anim02, - STATUS_STOP, ANIM_Bandit_Anim04, - STATUS_STATIC, ANIM_Bandit_Anim02, - STATUS_PARALYZE, ANIM_Bandit_Anim04, - STATUS_DIZZY, ANIM_Bandit_Anim11, - STATUS_FEAR, ANIM_Bandit_Anim11, - STATUS_END, -}; - -s32 N(idleAnimations_8021D5A8)[] = { - STATUS_NORMAL, ANIM_Bandit_Anim14, - STATUS_END, -}; - -s32 N(defenseTable_8021D5B4)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_END, -}; - -s32 N(statusTable_8021D5C0)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 70, - STATUS_POISON, 20, - STATUS_FROZEN, 100, - STATUS_DIZZY, 90, - STATUS_FEAR, 50, - STATUS_STATIC, 30, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 90, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, - STATUS_END, -}; - -ActorPartBlueprint N(partsTable_8021D66C)[] = { - { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, - .posOffset = { 0, 0, 0 }, - .targetOffset = { -2, 28 }, - .opacity = 255, - .idleAnimations = N(idleAnimations_8021D510), - .defenseTable = N(defenseTable_8021D5B4), - .eventFlags = ACTOR_EVENT_FLAG_0, - .elementImmunityFlags = 0, - .unk_1D = 244, - }, - { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 2, - .posOffset = { 0, 30, 0 }, - .targetOffset = { 0, 0 }, - .opacity = 255, - .idleAnimations = N(idleAnimations_8021D5A8), - .defenseTable = N(defenseTable_8021D5B4), - .eventFlags = ACTOR_EVENT_FLAG_0, - .elementImmunityFlags = 0, - .unk_1D = 0, - }, -}; - -ActorPartBlueprint N(partsTable_8021D6B4)[] = { - { - .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 2, - .posOffset = { 0, 0, 0 }, - .targetOffset = { 0, 0 }, - .opacity = 255, - .idleAnimations = N(idleAnimations_8021D5A8), - .defenseTable = N(defenseTable_8021D5B4), - .eventFlags = ACTOR_EVENT_FLAG_0, - .elementImmunityFlags = 0, - .unk_1D = 0, - }, -}; - -ActorBlueprint NAMESPACE = { - .flags = 0, - .type = ACTOR_TYPE_BANDIT, - .level = 9, - .maxHP = 5, - .partCount = ARRAY_COUNT(N(partsTable_8021D66C)), - .partsData = N(partsTable_8021D66C), - .script = &N(init_8021D750), - .statusTable = N(statusTable_8021D5C0), - .escapeChance = 40, - .airLiftChance = 90, - .spookChance = 90, - .baseStatusChance = 90, - .upAndAwayChance = 95, - .spinSmashReq = 0, - .powerBounceChance = 80, - .coinReward = 1, - .size = { 26, 32 }, - .hpBarOffset = { 0, 0 }, - .statusIconOffset = { -10, 25 }, - .statusMessageOffset = { 10, 25 }, -}; - -ActorBlueprint N(2) = { - .flags = ACTOR_FLAG_NO_ATTACK | ACTOR_FLAG_NO_DMG_APPLY, - .type = ACTOR_TYPE_BANDIT, - .level = 9, - .maxHP = 5, - .partCount = ARRAY_COUNT(N(partsTable_8021D6B4)), - .partsData = N(partsTable_8021D6B4), - .script = &N(init_8021D7C4), - .statusTable = N(statusTable_8021D5C0), - .escapeChance = 40, - .airLiftChance = 90, - .spookChance = 90, - .baseStatusChance = 90, - .upAndAwayChance = 95, - .spinSmashReq = 0, - .powerBounceChance = 80, - .coinReward = 1, - .size = { 26, 32 }, - .hpBarOffset = { 0, 0 }, - .statusIconOffset = { -10, 25 }, - .statusMessageOffset = { 10, 25 }, -}; - -Vec3i N(vector3D_8021D728) = { 0, 0xFFFFFC18, 0 }; - -Formation N(specialFormation_8021D734) = { - { .actor = &N(2), .home = { .vec = &N(vector3D_8021D728) }}, -}; - -EvtScript N(init_8021D750) = { - EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_8021E900))) - EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_8021D810))) - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_8021DF88))) - EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_RETURN - EVT_END -}; - -EvtScript N(handleEvent_8021D7B4) = { - EVT_RETURN - EVT_END -}; - -EvtScript N(init_8021D7C4) = { - EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(handleEvent_8021D7B4))) - EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(handleEvent_8021D7B4))) - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_8021D7B4))) - EVT_RETURN - EVT_END -}; - -EvtScript N(idle_8021D810) = { - EVT_RETURN - EVT_END -}; - -EvtScript N(8021D820) = { - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) - EVT_CASE_EQ(1) - EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_8021D510))) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 0) - EVT_CALL(SummonEnemy, EVT_PTR(N(specialFormation_8021D734)), 0) - EVT_SET(LVarA, LVar0) - EVT_CALL(GetPartOffset, ACTOR_SELF, 2, LVar1, LVar2, LVar3) - EVT_CALL(SetActorPos, LVarA, LVar1, LVar2, LVar3) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, 1) - EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) - EVT_CALL(SetActorVar, LVarA, 1, LVar0) - EVT_CALL(SetActorJumpGravity, LVarA, EVT_FLOAT(1.0)) - EVT_CALL(RandInt, 360, LVar0) - EVT_CALL(GetActorPos, ACTOR_SELF, LVar1, LVar2, LVar3) - EVT_ADD(LVar2, 30) - EVT_CALL(SetActorPos, LVarA, LVar1, LVar2, LVar3) - EVT_CALL(SetActorSounds, LVarA, 2, 0, 0) - EVT_CALL(AddVectorPolar, LVar1, LVar3, EVT_FLOAT(40.0), LVar0) - EVT_CALL(SetGoalPos, LVarA, LVar1, 0, LVar3) - EVT_CALL(JumpToGoal, LVarA, 20, FALSE, TRUE, FALSE) - EVT_CALL(PlaySoundAtActor, LVarA, 0x212) - EVT_CALL(AddVectorPolar, LVar1, LVar3, EVT_FLOAT(20.0), LVar0) - EVT_CALL(SetGoalPos, LVarA, LVar1, 0, LVar3) - EVT_CALL(JumpToGoal, LVarA, 10, FALSE, TRUE, FALSE) - EVT_CALL(PlaySoundAtActor, LVarA, 0x212) - EVT_CALL(AddVectorPolar, LVar1, LVar3, EVT_FLOAT(10.0), LVar0) - EVT_CALL(SetGoalPos, LVarA, LVar1, 0, LVar3) - EVT_CALL(JumpToGoal, LVarA, 5, FALSE, TRUE, FALSE) - EVT_CALL(PlaySoundAtActor, LVarA, 0x212) - EVT_LOOP(0) - EVT_CALL(GetBattleFlags, LVar1) - EVT_IF_FLAG(LVar1, BS_FLAGS1_80000) - EVT_BREAK_LOOP - EVT_END_IF - EVT_IF_NOT_FLAG(LVar1, BS_FLAGS1_100) - EVT_BREAK_LOOP - EVT_END_IF - EVT_WAIT(1) - EVT_END_LOOP - EVT_WAIT(15) - EVT_CALL(SetActorJumpGravity, LVarA, EVT_FLOAT(1.0)) - EVT_CALL(SetActorSpeed, LVarA, EVT_FLOAT(6.0)) - EVT_SET(LVar0, -70) - EVT_SET(LVar1, 0) - EVT_SET(LVar2, 10) - EVT_LABEL(5) - EVT_CALL(GetActorPos, LVarA, LVar3, LVar4, LVar5) - EVT_IF_EQ(LVar3, LVar0) - EVT_GOTO(10) - EVT_END_IF - EVT_IF_LT(LVar3, LVar0) - EVT_SET(LVar4, LVar0) - EVT_SUB(LVar4, LVar3) - EVT_IF_LT(LVar4, 30) - EVT_CALL(SetGoalPos, LVarA, LVar0, LVar1, LVar2) - EVT_CALL(JumpToGoal, LVarA, 5, FALSE, TRUE, FALSE) - EVT_CALL(PlaySoundAtActor, LVarA, 0x212) - EVT_ELSE - EVT_SET(LVar4, LVar3) - EVT_ADD(LVar3, 30) - EVT_CALL(SetGoalPos, LVarA, LVar3, LVar1, LVar2) - EVT_CALL(JumpToGoal, LVarA, 0, FALSE, TRUE, FALSE) - EVT_CALL(PlaySoundAtActor, LVarA, 0x212) - EVT_END_IF - EVT_ELSE - EVT_SET(LVar4, LVar3) - EVT_SUB(LVar4, LVar0) - EVT_IF_LT(LVar4, 30) - EVT_CALL(SetGoalPos, LVarA, LVar0, LVar1, LVar2) - EVT_CALL(JumpToGoal, LVarA, 5, FALSE, TRUE, FALSE) - EVT_CALL(PlaySoundAtActor, LVarA, 0x212) - EVT_ELSE - EVT_SUB(LVar3, 30) - EVT_CALL(SetGoalPos, LVarA, LVar3, LVar1, LVar2) - EVT_CALL(JumpToGoal, LVarA, 0, FALSE, TRUE, FALSE) - EVT_CALL(PlaySoundAtActor, LVarA, 0x212) - EVT_END_IF - EVT_END_IF - EVT_GOTO(5) - EVT_LABEL(10) - EVT_CALL(EnableActorBlur, LVarA, 1) - EVT_CALL(SetTargetActor, LVarA, ACTOR_PLAYER) - EVT_CALL(SetGoalToTarget, LVarA) - EVT_CALL(JumpToGoal, LVarA, 15, FALSE, FALSE, FALSE) - EVT_CALL(GetGoalPos, LVarA, LVar0, LVar1, LVar2) - EVT_CALL(PlayEffect, EFFECT_SMALL_GOLD_SPARKLE, 0, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 0, 0, 0, 0, 0, 0, 0, 0) - EVT_CALL(PlaySoundAtActor, LVarA, 0x211) - EVT_CALL(GetActorVar, LVarA, 1, LVar0) - EVT_CALL(AddCoin, LVar0) - EVT_CALL(RemoveActor, LVarA) - EVT_END_SWITCH - EVT_RETURN - EVT_END -}; - - -EvtScript N(handleEvent_8021DF88) = { - EVT_USE_ARRAY(&D_80220160) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_EQ(EVENT_HIT_COMBO) - EVT_EXEC_GET_TID(N(8021D820), ArrayVar(0)) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Bandit_Anim09) - EVT_EXEC_WAIT(DoNormalHit) - EVT_LOOP(0) - EVT_IS_THREAD_RUNNING(ArrayVar(0), LVar0) - EVT_IF_EQ(LVar0, 0) - EVT_BREAK_LOOP - EVT_END_IF - EVT_WAIT(1) - EVT_END_LOOP - EVT_CASE_OR_EQ(EVENT_HIT) - EVT_CASE_OR_EQ(EVENT_SPIN_SMASH_LAUNCH_HIT) - EVT_EXEC_GET_TID(N(8021D820), ArrayVar(0)) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Bandit_Anim09) - EVT_EXEC_WAIT(DoNormalHit) - EVT_LOOP(0) - EVT_IS_THREAD_RUNNING(ArrayVar(0), LVar0) - EVT_IF_EQ(LVar0, 0) - EVT_BREAK_LOOP - EVT_END_IF - EVT_WAIT(1) - EVT_END_LOOP - EVT_END_CASE_GROUP - EVT_CASE_EQ(EVENT_BURN_HIT) - EVT_EXEC_GET_TID(N(8021D820), ArrayVar(0)) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Bandit_Anim0A) - EVT_SET_CONST(LVar2, ANIM_Bandit_Anim0B) - EVT_EXEC_WAIT(DoBurnHit) - EVT_LOOP(0) - EVT_IS_THREAD_RUNNING(ArrayVar(0), LVar0) - EVT_IF_EQ(LVar0, 0) - EVT_BREAK_LOOP - EVT_END_IF - EVT_WAIT(1) - EVT_END_LOOP - EVT_CASE_EQ(EVENT_BURN_DEATH) - EVT_EXEC_GET_TID(N(8021D820), ArrayVar(0)) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Bandit_Anim0A) - EVT_SET_CONST(LVar2, ANIM_Bandit_Anim0B) - EVT_EXEC_WAIT(DoBurnHit) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Bandit_Anim0B) - EVT_EXEC_WAIT(DoDeath) - EVT_LOOP(0) - EVT_IS_THREAD_RUNNING(ArrayVar(0), LVar0) - EVT_IF_EQ(LVar0, 0) - EVT_BREAK_LOOP - EVT_END_IF - EVT_WAIT(1) - EVT_END_LOOP - EVT_RETURN - EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) - EVT_EXEC_GET_TID(N(8021D820), ArrayVar(0)) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Bandit_Anim09) - EVT_EXEC_WAIT(DoSpinSmashHit) - EVT_LOOP(0) - EVT_IS_THREAD_RUNNING(ArrayVar(0), LVar0) - EVT_IF_EQ(LVar0, 0) - EVT_BREAK_LOOP - EVT_END_IF - EVT_WAIT(1) - EVT_END_LOOP - EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) - EVT_EXEC_GET_TID(N(8021D820), ArrayVar(0)) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Bandit_Anim09) - EVT_EXEC_WAIT(DoSpinSmashHit) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Bandit_Anim09) - EVT_EXEC_WAIT(DoDeath) - EVT_LOOP(0) - EVT_IS_THREAD_RUNNING(ArrayVar(0), LVar0) - EVT_IF_EQ(LVar0, 0) - EVT_BREAK_LOOP - EVT_END_IF - EVT_WAIT(1) - EVT_END_LOOP - EVT_RETURN - EVT_CASE_EQ(EVENT_SHOCK_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Bandit_Anim09) - EVT_EXEC_WAIT(DoShockHit) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Bandit_Anim09) - EVT_EXEC_WAIT(DoJumpBack) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Bandit_Anim07) - EVT_EXEC_WAIT(DoReturnHome) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) - EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CASE_EQ(EVENT_SHOCK_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Bandit_Anim09) - EVT_EXEC_WAIT(DoShockHit) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Bandit_Anim09) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER) - EVT_CASE_OR_EQ(EVENT_IMMUNE) - EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) - EVT_SET_CONST(LVar1, ANIM_Bandit_Anim01) - EVT_CASE_EQ(1) - EVT_SET_CONST(LVar1, ANIM_Bandit_Anim02) - EVT_END_SWITCH - EVT_SET_CONST(LVar0, 1) - EVT_EXEC_WAIT(DoImmune) - EVT_END_CASE_GROUP - EVT_CASE_OR_EQ(EVENT_DEATH) - EVT_CASE_OR_EQ(EVENT_SPIN_SMASH_LAUNCH_DEATH) - EVT_EXEC_GET_TID(N(8021D820), ArrayVar(0)) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Bandit_Anim09) - EVT_EXEC_WAIT(DoNormalHit) - EVT_WAIT(10) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Bandit_Anim09) - EVT_EXEC_WAIT(DoDeath) - EVT_LOOP(0) - EVT_IS_THREAD_RUNNING(ArrayVar(0), LVar0) - EVT_IF_EQ(LVar0, 0) - EVT_BREAK_LOOP - EVT_END_IF - EVT_WAIT(1) - EVT_END_LOOP - EVT_RETURN - EVT_END_CASE_GROUP - EVT_CASE_EQ(EVENT_RECOVER_STATUS) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Bandit_Anim01) - EVT_EXEC_WAIT(DoRecover) - EVT_CASE_EQ(EVENT_SCARE_AWAY) - EVT_EXEC_GET_TID(N(8021D820), ArrayVar(0)) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Bandit_Anim07) - EVT_SET_CONST(LVar2, ANIM_Bandit_Anim09) - EVT_EXEC_WAIT(DoScareAway) - EVT_LOOP(0) - EVT_IS_THREAD_RUNNING(ArrayVar(0), LVar0) - EVT_IF_EQ(LVar0, 0) - EVT_BREAK_LOOP - EVT_END_IF - EVT_WAIT(1) - EVT_END_LOOP - EVT_RETURN - EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) - EVT_EXEC_GET_TID(N(8021D820), ArrayVar(0)) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Bandit_Anim09) - EVT_EXEC_WAIT(DoAirLift) - EVT_LOOP(0) - EVT_IS_THREAD_RUNNING(ArrayVar(0), LVar0) - EVT_IF_EQ(LVar0, 0) - EVT_BREAK_LOOP - EVT_END_IF - EVT_WAIT(1) - EVT_END_LOOP - EVT_CASE_EQ(EVENT_BLOW_AWAY) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Bandit_Anim09) - EVT_SET_CONST(LVar2, ANIM_WorldParakarry_Still) - EVT_EXEC_WAIT(DoBlowAway) - EVT_RETURN - EVT_CASE_DEFAULT - EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim01) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END -}; - -EvtScript N(takeTurn_8021E900) = { - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) - EVT_IF_EQ(LVar0, 1) - EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim08) - EVT_WAIT(30) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(10.0)) - EVT_CALL(SetGoalPos, ACTOR_SELF, 300, 0, 0) - EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetBattleFlagBits, BS_FLAGS1_40000, 1) - EVT_CALL(func_8027D32C, ACTOR_SELF) - EVT_CALL(RemoveActor, ACTOR_SELF) - EVT_RETURN - EVT_END_IF - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) - EVT_CALL(BattleCamTargetActor, ACTOR_SELF) - EVT_CALL(func_8024ECF8, -1, 1, 0) - EVT_CALL(GetBattlePhase, LVar0) - EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 50) - EVT_SET(LVar1, 0) - EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim07) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim01) - EVT_WAIT(6) - EVT_END_IF - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim05) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(AddGoalPos, ACTOR_SELF, 35, 0, 0) - EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x20C2) - EVT_CALL(SetActorSounds, ACTOR_SELF, 0, 0, 0) - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) - EVT_SWITCH(LVar0) - EVT_CASE_OR_EQ(HIT_RESULT_MISS) - EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) - EVT_SET(LVarA, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim0D) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) - EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_SUB(LVar0, 30) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) - EVT_SUB(LVar0, 20) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) - EVT_WAIT(5) - EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) - EVT_END_IF - EVT_WAIT(5) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) - EVT_CALL(YieldTurn) - EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim07) - EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim01) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END_CASE_GROUP - EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim0D) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) - EVT_SWITCH(LVar0) - EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) - EVT_CALL(GetLastDamage, ACTOR_PLAYER, LVar0) - EVT_IF_LE(LVar0, 0) - EVT_SET(LVar0, 1) - EVT_GOTO(10) - EVT_END_IF - EVT_CALL(GetBattleFlags, LVar0) - EVT_IF_FLAG(LVar0, BS_FLAGS1_ATK_BLOCKED) - EVT_SET(LVar0, 1) - EVT_GOTO(10) - EVT_END_IF - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_SET(LVar0, 0) - EVT_GOTO(10) - EVT_END_IF - EVT_CALL(GetStatusFlags, ACTOR_PLAYER, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_STONE) - EVT_SET(LVar0, 0) - EVT_GOTO(10) - EVT_END_IF - EVT_CALL(AddCoin, 0) - EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) - EVT_SET(LVar0, 1) - EVT_CASE_LT(10) - EVT_CALL(SetActorVar, ACTOR_SELF, 1, LVar0) - EVT_SET(LVar0, 2) - EVT_CASE_GE(10) - EVT_CALL(SetActorVar, ACTOR_SELF, 1, 10) - EVT_SET(LVar0, 2) - EVT_END_SWITCH - EVT_LABEL(10) - EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 30) - EVT_SET(LVar1, 0) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim01) - EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim07) - EVT_CASE_EQ(1) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 30) - EVT_SET(LVar1, 0) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim0E) - EVT_WAIT(20) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x20C3) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim10) - EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim07) - EVT_CASE_DEFAULT - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC) - EVT_ADD(LVarA, 30) - EVT_SET(LVarB, 0) - EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) - EVT_MUL(LVar0, -1) - EVT_CALL(AddCoin, LVar0) - EVT_THREAD - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, 0) - EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(1.0)) - EVT_ADD(LVarB, 30) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVarA, LVarB, LVarC, 22, 1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 0) - EVT_END_THREAD - EVT_THREAD - EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) - EVT_LOOP(LVar0) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x212) - EVT_WAIT(1) - EVT_END_LOOP - EVT_END_THREAD - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC) - EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_8021D55C))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim0E) - EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) - EVT_WAIT(7) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim0F) - EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim08) - EVT_END_SWITCH - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) - EVT_CALL(YieldTurn) - EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_END_CASE_GROUP - EVT_END_SWITCH - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END -}; +#include "battle/common/actor/bandit.inc.c" diff --git a/src/battle/area_sbk/actor/pokey.c b/src/battle/area_sbk/actor/pokey.c index 5969a45193..297735ed57 100644 --- a/src/battle/area_sbk/actor/pokey.c +++ b/src/battle/area_sbk/actor/pokey.c @@ -1,1432 +1,5 @@ #include "common.h" -#include "effects.h" -#include "battle/battle.h" -#include "script_api/battle.h" -#include "sprite/npc/Pokey.h" #define NAMESPACE b_area_sbk_pokey -extern s32 N(idleAnimations_80218438)[]; -extern s32 N(idleAnimations_80218528)[]; -extern EvtScript N(init_80218534); -extern EvtScript N(takeTurn_8021A018); -extern EvtScript N(idle_802186B0); -extern EvtScript N(handleEvent_802186C0); -extern EvtScript N(8021AB44); -extern EvtScript N(8021AE2C); -extern EvtScript N(8021B590); -extern EvtScript N(8021BF50); -extern EvtScript N(8021C07C); -extern EvtScript N(8021C860); -extern EvtScript N(8021CCAC); -extern EvtScript N(8021D184); - -s32 N(defenseTable_80218280)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_END, -}; - -s32 N(statusTable_8021828C)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 90, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 90, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 90, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, - STATUS_END, -}; - -ActorPartBlueprint N(partsTable_80218338)[] = { - { - .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, - .posOffset = { 0, 0, 0 }, - .targetOffset = { 0, 20 }, - .opacity = 255, - .idleAnimations = N(idleAnimations_80218438), - .defenseTable = N(defenseTable_80218280), - .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000, - .elementImmunityFlags = 0, - .unk_1D = 0, - }, - { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, - .posOffset = { 0, 0, 0 }, - .targetOffset = { 0, 72 }, - .opacity = 255, - .idleAnimations = NULL, - .defenseTable = N(defenseTable_80218280), - .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000, - .elementImmunityFlags = 0, - .unk_1D = 248, - }, - { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 3, - .posOffset = { 0, 0, 0 }, - .targetOffset = { 0, 54 }, - .opacity = 255, - .idleAnimations = NULL, - .defenseTable = N(defenseTable_80218280), - .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000, - .elementImmunityFlags = 0, - .unk_1D = 248, - }, - { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 4, - .posOffset = { 0, 0, 0 }, - .targetOffset = { 0, 36 }, - .opacity = 255, - .idleAnimations = NULL, - .defenseTable = N(defenseTable_80218280), - .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000, - .elementImmunityFlags = 0, - .unk_1D = 248, - }, - { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 5, - .posOffset = { 0, 0, 0 }, - .targetOffset = { 0, 16 }, - .opacity = 255, - .idleAnimations = NULL, - .defenseTable = N(defenseTable_80218280), - .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000, - .elementImmunityFlags = 0, - .unk_1D = 248, - }, - { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 6, - .posOffset = { 0, 0, 0 }, - .targetOffset = { 0, 0 }, - .opacity = 255, - .idleAnimations = N(idleAnimations_80218528), - .defenseTable = N(defenseTable_80218280), - .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000, - .elementImmunityFlags = 0, - .unk_1D = 0, - }, -}; - -ActorBlueprint NAMESPACE = { - .flags = 0, - .type = ACTOR_TYPE_POKEY, - .level = 9, - .maxHP = 4, - .partCount = ARRAY_COUNT(N(partsTable_80218338)), - .partsData = N(partsTable_80218338), - .script = &N(init_80218534), - .statusTable = N(statusTable_8021828C), - .escapeChance = 70, - .airLiftChance = 90, - .spookChance = 85, - .baseStatusChance = 70, - .upAndAwayChance = 95, - .spinSmashReq = 0, - .powerBounceChance = 100, - .coinReward = 1, - .size = { 24, 80 }, - .hpBarOffset = { 0, 0 }, - .statusIconOffset = { -15, 75 }, - .statusMessageOffset = { 10, 65 }, -}; - -s32 N(idleAnimations_80218438)[] = { - STATUS_NORMAL, ANIM_Pokey_Anim04, - STATUS_STONE, ANIM_Pokey_Anim00, - STATUS_SLEEP, ANIM_Pokey_Anim25, - STATUS_STOP, ANIM_Pokey_Anim00, - STATUS_PARALYZE, ANIM_Pokey_Anim00, - STATUS_DIZZY, ANIM_Pokey_Anim21, - STATUS_FEAR, ANIM_Pokey_Anim21, - STATUS_END, -}; - -s32 N(idleAnimations_80218474)[] = { - STATUS_NORMAL, ANIM_Pokey_Anim05, - STATUS_STONE, ANIM_Pokey_Anim01, - STATUS_SLEEP, ANIM_Pokey_Anim26, - STATUS_STOP, ANIM_Pokey_Anim01, - STATUS_PARALYZE, ANIM_Pokey_Anim01, - STATUS_DIZZY, ANIM_Pokey_Anim22, - STATUS_FEAR, ANIM_Pokey_Anim22, - STATUS_END, -}; - -s32 N(idleAnimations_802184B0)[] = { - STATUS_NORMAL, ANIM_Pokey_Anim06, - STATUS_STONE, ANIM_Pokey_Anim02, - STATUS_SLEEP, ANIM_Pokey_Anim27, - STATUS_STOP, ANIM_Pokey_Anim02, - STATUS_PARALYZE, ANIM_Pokey_Anim02, - STATUS_DIZZY, ANIM_Pokey_Anim23, - STATUS_FEAR, ANIM_Pokey_Anim23, - STATUS_END, -}; - -s32 N(idleAnimations_802184EC)[] = { - STATUS_NORMAL, ANIM_Pokey_Anim07, - STATUS_STONE, ANIM_Pokey_Anim03, - STATUS_SLEEP, ANIM_Pokey_Anim28, - STATUS_STOP, ANIM_Pokey_Anim03, - STATUS_PARALYZE, ANIM_Pokey_Anim03, - STATUS_DIZZY, ANIM_Pokey_Anim24, - STATUS_FEAR, ANIM_Pokey_Anim24, - STATUS_END, -}; - -s32 N(idleAnimations_80218528)[] = { - STATUS_NORMAL, ANIM_Pokey_Anim16, - STATUS_END, -}; - -EvtScript N(init_80218534) = { - EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_8021A018))) - EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_802186B0))) - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_802186C0))) - EVT_CALL(SetActorVar, ACTOR_SELF, 10, 0) - EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) - EVT_CALL(SetActorVar, ACTOR_SELF, 9, LVar0) - EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetActorVar, ACTOR_SELF, 1, 3211268) - EVT_CALL(SetActorVar, ACTOR_SELF, 2, 3211272) - EVT_CALL(SetActorVar, ACTOR_SELF, 3, 3211276) - EVT_CALL(SetActorVar, ACTOR_SELF, 4, 3211280) - EVT_CALL(SetActorVar, ACTOR_SELF, 5, 3211281) - EVT_CALL(SetActorVar, ACTOR_SELF, 6, 3211288) - EVT_CALL(SetActorVar, ACTOR_SELF, 7, 3211289) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END -}; - -EvtScript N(idle_802186B0) = { - EVT_RETURN - EVT_END -}; - -EvtScript N(handleEvent_802186C0) = { - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_EQ(EVENT_HIT_COMBO) - EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar1) - EVT_EXEC_WAIT(DoNormalHit) - EVT_CASE_EQ(EVENT_HIT) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar1) - EVT_EXEC_WAIT(DoNormalHit) - EVT_ELSE - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVarA) - EVT_IF_EQ(LVarA, 3) - EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar1) - EVT_EXEC_WAIT(DoNormalHit) - EVT_ELSE - EVT_CALL(func_80269E80, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_OR_EQ(6) - EVT_CASE_OR_EQ(7) - EVT_CASE_OR_EQ(9) - EVT_EXEC_WAIT(N(8021CCAC)) - EVT_END_CASE_GROUP - EVT_CASE_DEFAULT - EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar1) - EVT_EXEC_WAIT(DoNormalHit) - EVT_END_SWITCH - EVT_END_IF - EVT_END_IF - EVT_CASE_EQ(EVENT_DEATH) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar1) - EVT_EXEC_WAIT(DoNormalHit) - EVT_WAIT(10) - EVT_ELSE - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVarA) - EVT_IF_EQ(LVarA, 3) - EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar1) - EVT_EXEC_WAIT(DoNormalHit) - EVT_WAIT(10) - EVT_ELSE - EVT_CALL(func_80269E80, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_OR_EQ(6) - EVT_CASE_OR_EQ(7) - EVT_CASE_OR_EQ(9) - EVT_EXEC_WAIT(N(8021CCAC)) - EVT_END_CASE_GROUP - EVT_CASE_DEFAULT - EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar1) - EVT_EXEC_WAIT(DoNormalHit) - EVT_WAIT(10) - EVT_END_SWITCH - EVT_END_IF - EVT_END_IF - EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar1) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_EQ(EVENT_BURN_HIT) - EVT_CALL(GetActorVar, ACTOR_SELF, 6, LVar1) - EVT_CALL(GetActorVar, ACTOR_SELF, 7, LVar2) - EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) - EVT_IF_FLAG(LVar3, STATUS_FLAG_SHRINK) - EVT_EXEC_WAIT(DoBurnHit) - EVT_ELSE - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVarA) - EVT_IF_EQ(LVarA, 3) - EVT_EXEC_WAIT(DoBurnHit) - EVT_ELSE - EVT_CALL(func_80269E80, LVarA) - EVT_SWITCH(LVarA) - EVT_CASE_OR_EQ(6) - EVT_CASE_OR_EQ(7) - EVT_CASE_OR_EQ(9) - EVT_EXEC_WAIT(N(8021CCAC)) - EVT_END_CASE_GROUP - EVT_CASE_DEFAULT - EVT_EXEC_WAIT(DoBurnHit) - EVT_END_SWITCH - EVT_END_IF - EVT_END_IF - EVT_CASE_OR_EQ(EVENT_BURN_DEATH) - EVT_CALL(GetActorVar, ACTOR_SELF, 6, LVar1) - EVT_CALL(GetActorVar, ACTOR_SELF, 7, LVar2) - EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) - EVT_IF_FLAG(LVar3, STATUS_FLAG_SHRINK) - EVT_EXEC_WAIT(DoBurnHit) - EVT_ELSE - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVarA) - EVT_IF_EQ(LVarA, 3) - EVT_EXEC_WAIT(DoBurnHit) - EVT_ELSE - EVT_CALL(func_80269E80, LVarA) - EVT_SWITCH(LVarA) - EVT_CASE_OR_EQ(6) - EVT_CASE_OR_EQ(7) - EVT_CASE_OR_EQ(9) - EVT_EXEC_WAIT(N(8021CCAC)) - EVT_END_CASE_GROUP - EVT_CASE_DEFAULT - EVT_EXEC_WAIT(DoBurnHit) - EVT_END_SWITCH - EVT_END_IF - EVT_END_IF - EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetActorVar, ACTOR_SELF, 7, LVar1) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) - EVT_EXEC_WAIT(N(8021BF50)) - EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) - EVT_EXEC_WAIT(N(8021BF50)) - EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar1) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_EQ(EVENT_SPIN_SMASH_LAUNCH_HIT) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) - EVT_IF_FLAG(LVar3, STATUS_FLAG_SHRINK) - EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar1) - EVT_EXEC_WAIT(DoNormalHit) - EVT_ELSE - EVT_EXEC_WAIT(N(8021CCAC)) - EVT_END_IF - EVT_CASE_EQ(EVENT_SPIN_SMASH_LAUNCH_DEATH) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) - EVT_IF_FLAG(LVar3, STATUS_FLAG_SHRINK) - EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar1) - EVT_EXEC_WAIT(DoNormalHit) - EVT_ELSE - EVT_EXEC_WAIT(N(8021CCAC)) - EVT_END_IF - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, -1) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_EQ(EVENT_SHOCK_HIT) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) - EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar1) - EVT_EXEC_WAIT(DoShockHit) - EVT_CALL(GetActorVar, ACTOR_SELF, 2, LVar1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) - EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) - EVT_EXEC_WAIT(D_8029C12C) - EVT_CASE_EQ(EVENT_SHOCK_DEATH) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) - EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar1) - EVT_EXEC_WAIT(DoShockHit) - EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar1) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER) - EVT_CASE_OR_EQ(EVENT_IMMUNE) - EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar1) - EVT_EXEC_WAIT(DoImmune) - EVT_END_CASE_GROUP - EVT_CASE_EQ(EVENT_SPIKE_TAUNT) - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) - EVT_SET(LVar0, 0) - EVT_SET(LVar1, 77) - EVT_SET_CONST(LVar2, ANIM_Pokey_Anim21) - EVT_CASE_EQ(1) - EVT_SET(LVar0, 0) - EVT_SET(LVar1, 59) - EVT_SET_CONST(LVar2, ANIM_Pokey_Anim22) - EVT_CASE_EQ(2) - EVT_SET(LVar0, 0) - EVT_SET(LVar1, 41) - EVT_SET_CONST(LVar2, ANIM_Pokey_Anim23) - EVT_CASE_EQ(3) - EVT_SET(LVar0, 0) - EVT_SET(LVar1, 23) - EVT_SET_CONST(LVar2, ANIM_Pokey_Anim24) - EVT_END_SWITCH - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) - EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SLEEP) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar2) - EVT_END_IF - EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar6) - EVT_IF_FLAG(LVar6, STATUS_FLAG_SHRINK) - EVT_MULF(LVar0, EVT_FLOAT(0.4)) - EVT_MULF(LVar1, EVT_FLOAT(0.4)) - EVT_END_IF - EVT_ADDF(LVar3, LVar0) - EVT_ADDF(LVar4, LVar1) - EVT_CALL(PlayEffect, EFFECT_LENS_FLARE, 0, LVar3, LVar4, LVar5, 20, 0, 0, 0, 0, 0, 0, 0, 0) - EVT_WAIT(30) - EVT_CASE_EQ(EVENT_RECOVER_STATUS) - EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar1) - EVT_EXEC_WAIT(DoRecover) - EVT_CASE_EQ(EVENT_SCARE_AWAY) - EVT_EXEC_WAIT(N(8021D184)) - EVT_RETURN - EVT_CASE_DEFAULT - EVT_END_SWITCH - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END -}; - -EvtScript N(802193B8) = { - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) - EVT_CALL(BattleCamTargetActor, ACTOR_SELF) - EVT_CALL(func_8024ECF8, -1, 1, 0) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(AddGoalPos, ACTOR_SELF, 60, 0, 0) - EVT_ELSE - EVT_CALL(AddGoalPos, ACTOR_SELF, 24, 0, 0) - EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim08) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim04) - EVT_CASE_EQ(1) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(AddGoalPos, ACTOR_SELF, 40, 0, 0) - EVT_ELSE - EVT_CALL(AddGoalPos, ACTOR_SELF, 16, 0, 0) - EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim09) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim05) - EVT_CASE_EQ(2) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(AddGoalPos, ACTOR_SELF, 20, 0, 0) - EVT_ELSE - EVT_CALL(AddGoalPos, ACTOR_SELF, 8, 0, 0) - EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim0A) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim06) - EVT_END_SWITCH - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x342) - EVT_CALL(MakeLerp, 0, -40, 20, 10) - EVT_LABEL(0) - EVT_CALL(UpdateLerp) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) - EVT_WAIT(1) - EVT_IF_EQ(LVar1, 1) - EVT_GOTO(0) - EVT_END_IF - EVT_CHILD_THREAD - EVT_WAIT(3) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x2ED) - EVT_END_CHILD_THREAD - EVT_CALL(MakeLerp, -40, 90, 5, 1) - EVT_LABEL(3) - EVT_CALL(UpdateLerp) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) - EVT_WAIT(1) - EVT_IF_EQ(LVar1, 1) - EVT_GOTO(3) - EVT_END_IF - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 0, BS_FLAGS1_SP_EVT_ACTIVE) - EVT_SWITCH(LVar0) - EVT_CASE_OR_EQ(HIT_RESULT_MISS) - EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) - EVT_SET(LVarA, LVar0) - EVT_CALL(MakeLerp, 90, 0, 5, 0) - EVT_LABEL(4) - EVT_CALL(UpdateLerp) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) - EVT_WAIT(1) - EVT_IF_EQ(LVar1, 1) - EVT_GOTO(4) - EVT_END_IF - EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) - EVT_END_IF - EVT_CALL(YieldTurn) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim08) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim04) - EVT_CASE_EQ(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim09) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim05) - EVT_CASE_EQ(2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim0A) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim06) - EVT_END_SWITCH - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END_SWITCH - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) - EVT_SET(LVar1, 2) - EVT_CASE_EQ(1) - EVT_SET(LVar1, 2) - EVT_CASE_DEFAULT - EVT_SET(LVar1, 2) - EVT_END_SWITCH - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_POISON | STATUS_FLAG_80000000, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) - EVT_SWITCH(LVar0) - EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) - EVT_CALL(MakeLerp, 90, 0, 10, 0) - EVT_LABEL(5) - EVT_CALL(UpdateLerp) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) - EVT_WAIT(1) - EVT_IF_EQ(LVar1, 1) - EVT_GOTO(5) - EVT_END_IF - EVT_CALL(YieldTurn) - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim08) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim04) - EVT_CASE_EQ(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim09) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim05) - EVT_CASE_EQ(2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim0A) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim06) - EVT_END_SWITCH - EVT_END_CASE_GROUP - EVT_END_SWITCH - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END -}; - -EvtScript N(80219EB4) = { - EVT_SET(LVar9, 0) - EVT_CALL(EnemyCreateTargetList, 32770) - EVT_CALL(InitTargetIterator) - EVT_LABEL(0) - EVT_CALL(GetOwnerTarget, LVar0, LVar1) - EVT_CALL(GetOriginalActorType, LVar0, LVar2) - EVT_SWITCH(LVar2) - EVT_CASE_EQ(ACTOR_TYPE_POKEY) - EVT_CALL(GetStatusFlags, LVar0, LVar3) - EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_SHRINK | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar3) - EVT_IF_EQ(LVar3, 0) - EVT_CALL(GetActorVar, LVar0, 10, LVar3) - EVT_IF_NE(LVar3, 2) - EVT_ADD(LVar9, 1) - EVT_END_IF - EVT_END_IF - EVT_END_IF - EVT_END_SWITCH - EVT_CALL(ChooseNextTarget, 0, LVar0) - EVT_IF_NE(LVar0, -1) - EVT_GOTO(0) - EVT_END_IF - EVT_RETURN - EVT_END -}; - -EvtScript N(takeTurn_8021A018) = { - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVarA) - EVT_IF_EQ(LVarA, 3) - EVT_EXEC_WAIT(N(8021B590)) - EVT_RETURN - EVT_END_IF - EVT_CALL(GetActorVar, ACTOR_SELF, 9, LVar0) - EVT_IF_EQ(LVar0, 0) - EVT_CALL(GetActorVar, ACTOR_SELF, 10, LVar0) - EVT_IF_EQ(LVar0, 2) - EVT_GOTO(123) - EVT_END_IF - EVT_EXEC_WAIT(N(8021AB44)) - EVT_IF_EQ(LVarE, -1) - EVT_GOTO(123) - EVT_END_IF - EVT_EXEC_WAIT(N(80219EB4)) - EVT_SWITCH(LVar9) - EVT_CASE_EQ(1) - EVT_CALL(RandInt, 1000, LVar0) - EVT_IF_LT(LVar0, 400) - EVT_EXEC_WAIT(N(8021AE2C)) - EVT_RETURN - EVT_END_IF - EVT_CASE_EQ(2) - EVT_CALL(RandInt, 1000, LVar0) - EVT_IF_LT(LVar0, 200) - EVT_EXEC_WAIT(N(8021AE2C)) - EVT_RETURN - EVT_END_IF - EVT_CASE_EQ(3) - EVT_CALL(RandInt, 1000, LVar0) - EVT_IF_LT(LVar0, 100) - EVT_EXEC_WAIT(N(8021AE2C)) - EVT_RETURN - EVT_END_IF - EVT_END_SWITCH - EVT_END_IF - EVT_LABEL(123) - EVT_CALL(RandInt, 1000, LVar0) - EVT_IF_LT(LVar0, 500) - EVT_EXEC_WAIT(N(802193B8)) - EVT_RETURN - EVT_END_IF - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(GetBattlePhase, LVar0) - EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) - EVT_CALL(MoveBattleCamOver, 1) - EVT_END_IF - EVT_CALL(SetPartSounds, ACTOR_SELF, 6, 2, 0, 0) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_ELSE - EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(1.0)) - EVT_END_IF - EVT_CHILD_THREAD - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, 0) - EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 6, LVar0, LVar1, LVar2) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(2.2)) - EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_Pokey_Anim16) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar5) - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVarA) - EVT_SWITCH(LVarA) - EVT_CASE_EQ(0) - EVT_IF_NOT_FLAG(LVar5, STATUS_FLAG_SHRINK) - EVT_ADD(LVar1, 38) - EVT_ELSE - EVT_ADD(LVar1, 15) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(1.2)) - EVT_END_IF - EVT_CALL(JumpPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 15, 1) - EVT_CASE_EQ(1) - EVT_IF_NOT_FLAG(LVar5, STATUS_FLAG_SHRINK) - EVT_ADD(LVar1, 20) - EVT_ELSE - EVT_ADD(LVar1, 8) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(1.2)) - EVT_END_IF - EVT_CALL(JumpPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 15, 1) - EVT_CASE_EQ(2) - EVT_IF_NOT_FLAG(LVar5, STATUS_FLAG_SHRINK) - EVT_ADD(LVar1, 8) - EVT_ELSE - EVT_ADD(LVar1, 3) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(1.2)) - EVT_END_IF - EVT_CALL(JumpPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 15, 1) - EVT_CASE_EQ(3) - EVT_END_SWITCH - EVT_END_CHILD_THREAD - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x342) - EVT_CALL(GetActorVar, ACTOR_SELF, 4, LVar1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) - EVT_WAIT(12) - EVT_CALL(GetActorVar, ACTOR_SELF, 5, LVar1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) - EVT_WAIT(1) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x2CE) - EVT_WAIT(3) - EVT_EXEC_WAIT(N(8021C07C)) - EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) - EVT_SWITCH(LVar0) - EVT_CASE_OR_EQ(HIT_RESULT_MISS) - EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) - EVT_IF_EQ(LVar0, HIT_RESULT_LUCKY) - EVT_CHILD_THREAD - EVT_WAIT(5) - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) - EVT_END_CHILD_THREAD - EVT_END_IF - EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_SUB(LVar0, 80) - EVT_SUB(LVar1, 5) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(20.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(0.1)) - EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_Pokey_Anim16) - EVT_CALL(JumpPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, 1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, 1) - EVT_CALL(GetActorVar, ACTOR_SELF, 2, LVar1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) - EVT_RETURN - EVT_END_CASE_GROUP - EVT_END_SWITCH - EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(20.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(0.1)) - EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_Pokey_Anim16) - EVT_CALL(JumpPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, 1) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_POISON | STATUS_FLAG_80000000, 2, BS_FLAGS1_SP_EVT_ACTIVE) - EVT_CALL(GetActorVar, ACTOR_SELF, 2, LVar1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) - EVT_SWITCH(LVar0) - EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) - EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) - EVT_SUB(LVar0, 55) - EVT_SET(LVar1, 0) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(6.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(0.1)) - EVT_CALL(FlyPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, 25, 0) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(4.0)) - EVT_SUB(LVar0, 24) - EVT_CALL(FlyPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, 21, 0) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(3.0)) - EVT_SUB(LVar0, 20) - EVT_CALL(FlyPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, 20, 0) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, 1) - EVT_END_CASE_GROUP - EVT_END_SWITCH - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END -}; - -EvtScript N(8021AB44) = { - EVT_SET(LVarE, -1) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_RETURN - EVT_END_IF - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) - EVT_IF_NE(LVar0, 0) - EVT_RETURN - EVT_END_IF - EVT_SET(LocalFlag(1), 0) - EVT_SET(LocalFlag(2), 0) - EVT_SET(LocalFlag(3), 0) - EVT_SET(LocalFlag(4), 0) - EVT_CALL(EnemyCreateTargetList, 32770) - EVT_CALL(InitTargetIterator) - EVT_LABEL(0) - EVT_CALL(GetOwnerTarget, LVar0, LVar5) - EVT_CALL(GetIndexFromHome, LVar0, LVar5) - EVT_MOD(LVar5, 4) - EVT_SWITCH(LVar5) - EVT_CASE_EQ(0) - EVT_SET(LocalFlag(1), 1) - EVT_CASE_EQ(1) - EVT_SET(LocalFlag(2), 1) - EVT_CASE_EQ(2) - EVT_SET(LocalFlag(3), 1) - EVT_CASE_EQ(3) - EVT_SET(LocalFlag(4), 1) - EVT_END_SWITCH - EVT_CALL(ChooseNextTarget, 0, LVar0) - EVT_IF_NE(LVar0, -1) - EVT_GOTO(0) - EVT_END_IF - EVT_CALL(GetIndexFromHome, ACTOR_SELF, LVar1) - EVT_SWITCH(LVar1) - EVT_CASE_EQ(0) - EVT_RETURN - EVT_CASE_EQ(1) - EVT_IF_EQ(LocalFlag(1), 0) - EVT_SET(LVarE, 0) - EVT_END_IF - EVT_CASE_EQ(2) - EVT_IF_EQ(LocalFlag(2), 0) - EVT_SET(LVarE, 1) - EVT_END_IF - EVT_CASE_EQ(3) - EVT_IF_EQ(LocalFlag(3), 0) - EVT_SET(LVarE, 2) - EVT_END_IF - EVT_END_SWITCH - EVT_RETURN - EVT_END -}; - -Vec3i N(vector3D_8021AE04) = { 400, 0xFFFFFF9C, 0 }; - -Formation N(specialFormation_8021AE10) = { - { .actor = &NAMESPACE, .home = { .vec = &N(vector3D_8021AE04) }, .priority = 100 }, -}; - -EvtScript N(8021AE2C) = { - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) - EVT_CALL(BattleCamTargetActor, ACTOR_SELF) - EVT_CALL(MoveBattleCamOver, 30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim04) - EVT_CALL(MakeLerp, 0, -20, 20, 10) - EVT_LABEL(0) - EVT_CALL(UpdateLerp) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) - EVT_WAIT(1) - EVT_IF_EQ(LVar1, 1) - EVT_GOTO(0) - EVT_END_IF - EVT_CHILD_THREAD - EVT_WAIT(8) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x344) - EVT_END_CHILD_THREAD - EVT_CALL(MakeLerp, -20, 30, 20, 10) - EVT_LABEL(1) - EVT_CALL(UpdateLerp) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) - EVT_WAIT(1) - EVT_IF_EQ(LVar1, 1) - EVT_GOTO(1) - EVT_END_IF - EVT_CHILD_THREAD - EVT_WAIT(6) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x345) - EVT_END_CHILD_THREAD - EVT_CALL(MakeLerp, 30, -40, 20, 10) - EVT_LABEL(2) - EVT_CALL(UpdateLerp) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) - EVT_WAIT(1) - EVT_IF_EQ(LVar1, 1) - EVT_GOTO(2) - EVT_END_IF - EVT_CHILD_THREAD - EVT_WAIT(4) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x2EE) - EVT_END_CHILD_THREAD - EVT_CALL(MakeLerp, -40, 90, 10, 10) - EVT_LABEL(3) - EVT_CALL(UpdateLerp) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) - EVT_WAIT(1) - EVT_IF_EQ(LVar1, 1) - EVT_GOTO(3) - EVT_END_IF - EVT_WAIT(20) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x346) - EVT_CALL(StartRumble, 9) - EVT_THREAD - EVT_CALL(ShakeCam, 1, 0, 10, EVT_FLOAT(1.0)) - EVT_END_THREAD - EVT_CALL(SummonEnemy, EVT_PTR(N(specialFormation_8021AE10)), 0) - EVT_SET(LVarB, LVar0) - EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_SUB(LVar0, 40) - EVT_SUB(LVar1, 80) - EVT_CALL(SetActorPos, LVarB, LVar0, LVar1, LVar2) - EVT_CHILD_THREAD - EVT_CALL(PlayEffect, EFFECT_SHOCKWAVE, 2, LVar0, 0, LVar2, 0, 0, 0, 0, 0, 0, 0, 0, 0) - EVT_CALL(UseIdleAnimation, LVarB, FALSE) - EVT_CALL(SetAnimation, LVarB, 1, ANIM_Pokey_Anim0C) - EVT_CALL(GetActorPos, LVarB, LVar0, LVar1, LVar2) - EVT_CALL(SetActorJumpGravity, LVarB, EVT_FLOAT(1.2)) - EVT_CALL(SetGoalPos, LVarB, LVar0, 0, LVar2) - EVT_CALL(JumpToGoal, LVarB, 20, FALSE, TRUE, FALSE) - EVT_WAIT(20) - EVT_CALL(GetActorPos, LVarB, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, LVarB, 1, ANIM_Pokey_Anim04) - EVT_CALL(SetHomePos, LVarB, LVar0, LVar1, LVar2) - EVT_CALL(HPBarToHome, LVarB) - EVT_CALL(UseIdleAnimation, LVarB, TRUE) - EVT_END_CHILD_THREAD - EVT_CALL(GetActorVar, ACTOR_SELF, 10, LVar1) - EVT_SWITCH(LVar1) - EVT_CASE_EQ(0) - EVT_CALL(SetActorVar, LVarB, 10, 1) - EVT_CASE_EQ(1) - EVT_CALL(SetActorVar, LVarB, 10, 2) - EVT_END_SWITCH - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) - EVT_CALL(MoveBattleCamOver, 20) - EVT_SET(LVarA, LVar0) - EVT_CALL(MakeLerp, 90, -30, 7, 4) - EVT_LABEL(4) - EVT_CALL(UpdateLerp) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) - EVT_WAIT(1) - EVT_IF_EQ(LVar1, 1) - EVT_GOTO(4) - EVT_END_IF - EVT_WAIT(20) - EVT_CALL(MakeLerp, -30, 0, 10, 10) - EVT_LABEL(5) - EVT_CALL(UpdateLerp) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) - EVT_WAIT(1) - EVT_IF_EQ(LVar1, 1) - EVT_GOTO(5) - EVT_END_IF - EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim04) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END -}; - -EvtScript N(8021B590) = { - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(SetActorSounds, ACTOR_SELF, 0, 748, 748) - EVT_CALL(SetActorSounds, ACTOR_SELF, 2, 748, 0) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) - EVT_CALL(BattleCamTargetActor, ACTOR_SELF) - EVT_CALL(func_8024ECF8, -1, 1, 0) - EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 50) - EVT_SET(LVar1, 0) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim0B) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) - EVT_EXEC_WAIT(D_8029C12C) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim07) - EVT_WAIT(4) - EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -1, 0) - EVT_WAIT(1) - EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0) - EVT_WAIT(4) - EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim0B) - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 2, BS_FLAGS1_10) - EVT_SWITCH(LVar0) - EVT_CASE_OR_EQ(HIT_RESULT_MISS) - EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) - EVT_SET(LVarA, LVar0) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_SUB(LVar0, 5) - EVT_SET(LVar1, 10) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.1)) - EVT_CHILD_THREAD - EVT_WAIT(2) - EVT_SET(LVar0, 0) - EVT_LOOP(5) - EVT_ADD(LVar0, 30) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) - EVT_WAIT(1) - EVT_END_LOOP - EVT_END_CHILD_THREAD - EVT_CALL(JumpToGoal, ACTOR_SELF, 22, FALSE, TRUE, FALSE) - EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) - EVT_END_IF - EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 10, 0) - EVT_CHILD_THREAD - EVT_WAIT(2) - EVT_SET(LVar0, 180) - EVT_LOOP(6) - EVT_ADD(LVar0, 30) - EVT_IF_EQ(LVar0, 360) - EVT_SET(LVar0, 0) - EVT_END_IF - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) - EVT_WAIT(1) - EVT_END_LOOP - EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) - EVT_END_CHILD_THREAD - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) - EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_SUB(LVar0, 30) - EVT_SET(LVar1, 0) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_WAIT(15) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) - EVT_CALL(YieldTurn) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) - EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim0B) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) - EVT_EXEC_WAIT(D_8029C12C) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim07) - EVT_RETURN - EVT_END_CASE_GROUP - EVT_END_SWITCH - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.1)) - EVT_CHILD_THREAD - EVT_WAIT(2) - EVT_SET(LVar0, 0) - EVT_LOOP(5) - EVT_ADD(LVar0, 30) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) - EVT_WAIT(1) - EVT_END_LOOP - EVT_END_CHILD_THREAD - EVT_CALL(JumpToGoal, ACTOR_SELF, 18, FALSE, TRUE, FALSE) - EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_POISON | STATUS_FLAG_80000000, 2, BS_FLAGS1_SP_EVT_ACTIVE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim07) - EVT_SWITCH(LVar0) - EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 40) - EVT_SET(LVar1, 0) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_ADD(LVar0, 30) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) - EVT_ADD(LVar0, 20) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_SUB(LVar0, 10) - EVT_CALL(JumpToGoal, ACTOR_SELF, 4, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim07) - EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim0B) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) - EVT_EXEC_WAIT(D_8029C12C) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim07) - EVT_END_SWITCH - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END -}; - -EvtScript N(8021BF50) = { - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) - EVT_IF_FLAG(LVarA, STATUS_FLAG_SHRINK) - EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar1) - EVT_EXEC_WAIT(DoSpinSmashHit) - EVT_RETURN - EVT_END_IF - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVarA) - EVT_SWITCH(LVarA) - EVT_CASE_EQ(0) - EVT_EXEC_WAIT(N(8021C860)) - EVT_CASE_EQ(1) - EVT_EXEC_WAIT(N(8021C860)) - EVT_CASE_EQ(2) - EVT_EXEC_WAIT(N(8021C860)) - EVT_CASE_EQ(3) - EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar1) - EVT_EXEC_WAIT(DoSpinSmashHit) - EVT_END_SWITCH - EVT_RETURN - EVT_END -}; - -#include "common/UnkBattleFunc1.inc.c" - -EvtScript N(8021C07C) = { - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVarA) - EVT_SWITCH(LVarA) - EVT_CASE_EQ(0) - EVT_CALL(SetActorVar, ACTOR_SELF, 1, 3211269) - EVT_CALL(SetActorVar, ACTOR_SELF, 2, 3211273) - EVT_CALL(SetActorVar, ACTOR_SELF, 3, 3211277) - EVT_CALL(SetActorVar, ACTOR_SELF, 4, 3211282) - EVT_CALL(SetActorVar, ACTOR_SELF, 5, 3211283) - EVT_CALL(SetActorVar, ACTOR_SELF, 6, 3211290) - EVT_CALL(SetActorVar, ACTOR_SELF, 7, 3211291) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_80218474))) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_MULTI_TARGET, 0) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_NO_TARGET, 1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_NO_TARGET, 0) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_MULTI_TARGET, 1) - EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) - EVT_CALL(SetActorSize, ACTOR_SELF, 62, EVT_IGNORE_ARG) - EVT_CALL(SetPartSize, ACTOR_SELF, 1, 62, EVT_IGNORE_ARG) - EVT_CALL(N(UnkBattleFunc1), -15, 55, 10, 45) - EVT_CASE_EQ(1) - EVT_CALL(SetActorVar, ACTOR_SELF, 1, 3211270) - EVT_CALL(SetActorVar, ACTOR_SELF, 2, 3211274) - EVT_CALL(SetActorVar, ACTOR_SELF, 3, 3211278) - EVT_CALL(SetActorVar, ACTOR_SELF, 4, 3211284) - EVT_CALL(SetActorVar, ACTOR_SELF, 5, 3211285) - EVT_CALL(SetActorVar, ACTOR_SELF, 6, 3211292) - EVT_CALL(SetActorVar, ACTOR_SELF, 7, 3211293) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_802184B0))) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_MULTI_TARGET, 0) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_NO_TARGET, 1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_NO_TARGET, 0) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_MULTI_TARGET, 1) - EVT_CALL(SetActorVar, ACTOR_SELF, 0, 2) - EVT_CALL(SetActorSize, ACTOR_SELF, 44, EVT_IGNORE_ARG) - EVT_CALL(SetPartSize, ACTOR_SELF, 1, 44, EVT_IGNORE_ARG) - EVT_CALL(N(UnkBattleFunc1), -15, 35, 10, 25) - EVT_CASE_EQ(2) - EVT_CALL(SetActorVar, ACTOR_SELF, 1, 3211271) - EVT_CALL(SetActorVar, ACTOR_SELF, 2, 3211275) - EVT_CALL(SetActorVar, ACTOR_SELF, 3, 3211279) - EVT_CALL(SetActorVar, ACTOR_SELF, 6, 3211294) - EVT_CALL(SetActorVar, ACTOR_SELF, 7, 3211295) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_802184EC))) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_MULTI_TARGET, 0) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_NO_TARGET, 1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 5, ACTOR_PART_FLAG_NO_TARGET, 0) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 5, ACTOR_PART_FLAG_MULTI_TARGET, 1) - EVT_CALL(SetActorVar, ACTOR_SELF, 0, 3) - EVT_CALL(SetActorSize, ACTOR_SELF, 26, EVT_IGNORE_ARG) - EVT_CALL(SetPartSize, ACTOR_SELF, 1, 26, EVT_IGNORE_ARG) - EVT_CALL(N(UnkBattleFunc1), -15, 15, 10, 5) - EVT_END_SWITCH - EVT_RETURN - EVT_END -}; - -EvtScript N(8021C574) = { - EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, 18) - EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_SET(LVar3, LVar1) - EVT_WAIT(2) - EVT_SUB(LVar3, 1) - EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar3, LVar2) - EVT_WAIT(3) - EVT_SUB(LVar3, 2) - EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar3, LVar2) - EVT_WAIT(2) - EVT_SUB(LVar3, 3) - EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar3, LVar2) - EVT_WAIT(1) - EVT_SUB(LVar3, 5) - EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar3, LVar2) - EVT_WAIT(1) - EVT_SUB(LVar3, 7) - EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar3, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar3, 2) - EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar3, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar3, 3) - EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar3, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar3, 3) - EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar3, LVar2) - EVT_WAIT(1) - EVT_SUB(LVar3, 3) - EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar3, LVar2) - EVT_WAIT(1) - EVT_SUB(LVar3, 3) - EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar3, LVar2) - EVT_WAIT(1) - EVT_SUB(LVar3, 2) - EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar3, LVar2) - EVT_RETURN - EVT_END -}; - -EvtScript N(8021C860) = { - EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 6, LVar0, LVar1, LVar2) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, 0) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_ELSE - EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(1.0)) - EVT_END_IF - EVT_EXEC_WAIT(N(8021C07C)) - EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar1) - EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) - EVT_CHILD_THREAD - EVT_WAIT(4) - EVT_EXEC_WAIT(N(8021C574)) - EVT_END_CHILD_THREAD - EVT_CALL(EnemyCreateTargetList, 98308) - EVT_CALL(InitTargetIterator) - EVT_LABEL(0) - EVT_CALL(GetOwnerID, LVar1) - EVT_CALL(GetOwnerTarget, LVar0, LVar9) - EVT_IF_NE(LVar1, LVar0) - EVT_CALL(ChooseNextTarget, 0, LVar0) - EVT_GOTO(0) - EVT_END_IF - EVT_LABEL(1) - EVT_ADD(LVarF, 1) - EVT_CALL(ChooseNextTarget, 0, LVar0) - EVT_IF_EQ(LVar0, -1) - EVT_GOTO(10) - EVT_END_IF - EVT_CALL(GetOwnerTarget, LVar0, LVar9) - EVT_CALL(GetActorFlags, LVar0, LVar1) - EVT_IF_FLAG(LVar1, ACTOR_FLAG_TARGET_ONLY) - EVT_GOTO(1) - EVT_END_IF - EVT_CALL(GetOwnerID, LVar0) - EVT_CALL(GetOwnerTarget, LVar0, LVar1) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_SET(LVar1, 0) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(0.1)) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(7.0)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, 1) - EVT_CHILD_THREAD - EVT_CALL(ShakeCam, 1, 0, 2, EVT_FLOAT(1.0)) - EVT_END_CHILD_THREAD - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetOwnerTarget, LVar0, LVar1) - EVT_CALL(DispatchDamageEvent, LVar0, 1, 17) - EVT_GOTO(1) - EVT_LABEL(10) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_D) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(0.1)) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(6.0)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 6, 296, 0, 0, 0, 1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_NO_TARGET, 1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, 1) - EVT_RETURN - EVT_END -}; - -EvtScript N(8021CCAC) = { - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_ELSE - EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(1.0)) - EVT_END_IF - EVT_EXEC_WAIT(N(8021C07C)) - EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetLastEvent, ACTOR_SELF, LVar1) - EVT_SWITCH(LVar1) - EVT_CASE_OR_EQ(EVENT_BURN_HIT) - EVT_CASE_OR_EQ(EVENT_BURN_DEATH) - EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_Pokey_Anim20) - EVT_CALL(GetActorVar, ACTOR_SELF, 6, LVar1) - EVT_END_CASE_GROUP - EVT_CASE_DEFAULT - EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar1) - EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) - EVT_CHILD_THREAD - EVT_WAIT(4) - EVT_EXEC_WAIT(N(8021C574)) - EVT_END_CHILD_THREAD - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVarA) - EVT_IF_NE(LVarA, 3) - EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 6, LVar0, LVar1, LVar2) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, 0) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(6.0)) - EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 30) - EVT_SET(LVar1, 0) - EVT_CALL(FlyPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 10, 18, 0) - EVT_ADD(LVar0, 20) - EVT_CALL(FlyPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 8, 10, 0) - EVT_LOOP(20) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, 1) - EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, 0) - EVT_WAIT(1) - EVT_END_LOOP - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_NO_TARGET, 1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, 1) - EVT_ELSE - EVT_WAIT(30) - EVT_END_IF - EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_EQ(EVENT_BURN_HIT) - EVT_CALL(GetActorVar, ACTOR_SELF, 7, LVar1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) - EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(GetActorSize, ACTOR_SELF, LVar3, LVar4) - EVT_DIV(LVar3, 2) - EVT_ADD(LVar1, LVar3) - EVT_ADD(LVar2, 5) - EVT_DIVF(LVar3, EVT_FLOAT(10.0)) - EVT_CALL(PlayEffect, EFFECT_SMOKE_BURST, 0, LVar0, LVar1, LVar2, LVar3, 10, 0, 0, 0, 0, 0, 0, 0) - EVT_CASE_EQ(EVENT_BURN_DEATH) - EVT_CALL(GetActorVar, ACTOR_SELF, 7, LVar1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) - EVT_WAIT(10) - EVT_CASE_DEFAULT - EVT_END_SWITCH - EVT_RETURN - EVT_END -}; - -EvtScript N(8021D184) = { - EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar1) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) - EVT_CALL(GetActorFlags, ACTOR_SELF, LVar9) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.05)) - EVT_CALL(GetActorPos, ACTOR_SELF, LVarA, LVarB, LVarC) - EVT_SET(LVarD, LVarB) - EVT_ADD(LVarD, 40) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVarA, LVarD, LVarC) - EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) - EVT_WAIT(20) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC) - EVT_CALL(FallToGoal, -127, 10) - EVT_WAIT(20) - EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_WAIT(5) - EVT_CALL(SetActorVar, ACTOR_SELF, 0, LVar2) - EVT_SWITCH(LVar2) - EVT_CASE_EQ(0) - EVT_SET(LVar2, 96) - EVT_SET(LVar6, 4) - EVT_CASE_EQ(1) - EVT_SET(LVar2, 72) - EVT_SET(LVar6, 3) - EVT_CASE_EQ(2) - EVT_SET(LVar2, 48) - EVT_SET(LVar6, 2) - EVT_CASE_DEFAULT - EVT_SET(LVar2, 24) - EVT_SET(LVar6, 1) - EVT_END_SWITCH - EVT_CHILD_THREAD - EVT_CALL(GetActorPos, ACTOR_SELF, LVarA, LVarB, LVarC) - EVT_LOOP(LVar6) - EVT_CALL(PlayEffect, EFFECT_SHOCKWAVE, 2, LVarA, 0, LVarC, 0, 0, 0, 0, 0, 0, 0, 0, 0) - EVT_WAIT(10) - EVT_END_LOOP - EVT_END_CHILD_THREAD - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(2.0)) - EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) - EVT_SUB(LVar4, LVar2) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar3, LVar4, LVar5) - EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 0, 0) - EVT_WAIT(8) - EVT_CALL(func_8027D32C, ACTOR_SELF) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(RemoveActor, ACTOR_SELF) - EVT_RETURN - EVT_END -}; +#include "battle/common/actor/pokey.inc.c" diff --git a/src/battle/battle.c b/src/battle/battle.c index 563df7c3fb..6dc5dcf9d7 100644 --- a/src/battle/battle.c +++ b/src/battle/battle.c @@ -114,14 +114,14 @@ BattleArea gBattleAreas[] = { [BTL_AREA_OMO2] = { BTL_AREA(area_omo2), .name = "エリア OMO2", - .battles = 0x8022FBF4, - .stages = 0x8022FC1C, + .battles = &b_area_omo2_formationTable, + .stages = &b_area_omo2_stageTable, }, [BTL_AREA_OMO3] = { BTL_AREA(area_omo3), .name = "エリア OMO3", - .battles = 0x8022EA2C, - .stages = 0x8022EB1C, + .battles = &b_area_omo3_formationTable, + .stages = &b_area_omo3_stageTable, }, [BTL_AREA_KGR] = { BTL_AREA(area_kgr), @@ -193,14 +193,14 @@ BattleArea gBattleAreas[] = { [BTL_AREA_SAM2] = { BTL_AREA(area_sam2), .name = "エリア SAM2", - .battles = 0x802234F0, - .stages = 0x8022352C, + .battles = &b_area_sam2_formationTable, + .stages = &b_area_sam2_stageTable, }, [BTL_AREA_PRA] = { BTL_AREA(area_pra), .name = "エリア PRA", - .battles = 0x8022F4D4, - .stages = 0x8022F614, + .battles = &b_area_pra_formationTable, + .stages = &b_area_pra_stageTable, }, [BTL_AREA_PRA2] = { BTL_AREA(area_pra2), @@ -247,8 +247,8 @@ BattleArea gBattleAreas[] = { [BTL_AREA_DIG] = { BTL_AREA(area_dig), .name = "エリア DIG", - .battles = 0x8022A7C4, - .stages = 0x8022A83C, + .battles = &b_area_dig_formationTable, + .stages = &b_area_dig_stageTable, }, [BTL_AREA_OMO2_1] = { BTL_AREA(area_omo2_1), diff --git a/src/battle/battle.h b/src/battle/battle.h index ca89874400..77e05b9409 100644 --- a/src/battle/battle.h +++ b/src/battle/battle.h @@ -367,6 +367,7 @@ typedef struct BattleArea { extern BattleArea gBattleAreas[0x30]; #define BATTLE(name, formation, stage) { name, ARRAY_COUNT(formation), (Formation*) formation, stage } +#define BATTLE_WITH_SCRIPT(name, formation, stage, script) { name, ARRAY_COUNT(formation), (Formation*) formation, stage, script } // TODO: enum for home position (0..3 are floor, 4..7 are air, etc.) diff --git a/src/battle/battle_tables.h b/src/battle/battle_tables.h index defbfe7a3e..c71439c955 100644 --- a/src/battle/battle_tables.h +++ b/src/battle/battle_tables.h @@ -55,6 +55,12 @@ extern StageList b_area_dgb_stageTable; extern BattleList b_area_omo_formationTable; extern StageList b_area_omo_stageTable; +extern BattleList b_area_omo2_formationTable; +extern StageList b_area_omo2_stageTable; + +extern BattleList b_area_omo3_formationTable; +extern StageList b_area_omo3_stageTable; + extern BattleList b_area_kgr_formationTable; extern StageList b_area_kgr_stageTable; @@ -70,10 +76,19 @@ extern StageList b_area_kzn_stageTable; extern BattleList b_area_sam_formationTable; extern StageList b_area_sam_stageTable; +extern BattleList b_area_sam2_formationTable; +extern StageList b_area_sam2_stageTable; + +extern BattleList b_area_pra_formationTable; +extern StageList b_area_pra_stageTable; + extern BattleList b_area_pra2_formationTable; extern StageList b_area_pra2_stageTable; extern BattleList b_area_pra3_formationTable; extern StageList b_area_pra3_stageTable; +extern BattleList b_area_dig_formationTable; +extern StageList b_area_dig_stageTable; + #endif diff --git a/src/battle/common/actor/bandit.inc.c b/src/battle/common/actor/bandit.inc.c new file mode 100644 index 0000000000..2547e15318 --- /dev/null +++ b/src/battle/common/actor/bandit.inc.c @@ -0,0 +1,681 @@ +#include "common.h" +#include "effects.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "sprite/npc/Bandit.h" +#include "sprite/npc/WorldParakarry.h" + +extern EvtScript N(init); +extern EvtScript N(init_coin); +extern EvtScript N(takeTurn); +extern EvtScript N(idle); +extern EvtScript N(handleEvent); + +BSS s32 N(thread_dropCoin)[1]; + +s32 N(idleAnimations)[] = { + STATUS_NORMAL, ANIM_Bandit_Anim01, + STATUS_STONE, ANIM_Bandit_Anim00, + STATUS_SLEEP, ANIM_Bandit_Anim10, + STATUS_POISON, ANIM_Bandit_Anim01, + STATUS_STOP, ANIM_Bandit_Anim00, + STATUS_STATIC, ANIM_Bandit_Anim01, + STATUS_PARALYZE, ANIM_Bandit_Anim00, + STATUS_DIZZY, ANIM_Bandit_Anim11, + STATUS_FEAR, ANIM_Bandit_Anim11, + STATUS_END, +}; + +s32 N(idleAnimations_holdCoin)[] = { + STATUS_NORMAL, ANIM_Bandit_Anim02, + STATUS_STONE, ANIM_Bandit_Anim04, + STATUS_SLEEP, ANIM_Bandit_Anim10, + STATUS_POISON, ANIM_Bandit_Anim02, + STATUS_STOP, ANIM_Bandit_Anim04, + STATUS_STATIC, ANIM_Bandit_Anim02, + STATUS_PARALYZE, ANIM_Bandit_Anim04, + STATUS_DIZZY, ANIM_Bandit_Anim11, + STATUS_FEAR, ANIM_Bandit_Anim11, + STATUS_END, +}; + +s32 N(idleAnimations_coin)[] = { + STATUS_NORMAL, ANIM_Bandit_Anim14, + STATUS_END, +}; + +s32 N(defenseTable)[] = { + ELEMENT_NORMAL, 0, + ELEMENT_END, +}; + +s32 N(statusTable)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 70, + STATUS_POISON, 20, + STATUS_FROZEN, 100, + STATUS_DIZZY, 90, + STATUS_FEAR, 50, + STATUS_STATIC, 30, + STATUS_PARALYZE, 100, + STATUS_SHRINK, 90, + STATUS_STOP, 100, + STATUS_DEFAULT_TURN_MOD, 0, + STATUS_SLEEP_TURN_MOD, 0, + STATUS_POISON_TURN_MOD, 0, + STATUS_FROZEN_TURN_MOD, 0, + STATUS_DIZZY_TURN_MOD, 0, + STATUS_FEAR_TURN_MOD, 0, + STATUS_STATIC_TURN_MOD, 0, + STATUS_PARALYZE_TURN_MOD, 1, + STATUS_SHRINK_TURN_MOD, 0, + STATUS_STOP_TURN_MOD, 0, + STATUS_END, +}; + +ActorPartBlueprint N(parts)[] = { + { + .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { -2, 28 }, + .opacity = 255, + .idleAnimations = N(idleAnimations), + .defenseTable = N(defenseTable), + .eventFlags = ACTOR_EVENT_FLAG_0, + .elementImmunityFlags = 0, + .unk_1D = 244, + }, + { + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, + .index = 2, + .posOffset = { 0, 30, 0 }, + .targetOffset = { 0, 0 }, + .opacity = 255, + .idleAnimations = N(idleAnimations_coin), + .defenseTable = N(defenseTable), + .eventFlags = ACTOR_EVENT_FLAG_0, + .elementImmunityFlags = 0, + .unk_1D = 0, + }, +}; + +ActorPartBlueprint N(parts_coin)[] = { + { + .flags = ACTOR_PART_FLAG_NO_TARGET, + .index = 2, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 0 }, + .opacity = 255, + .idleAnimations = N(idleAnimations_coin), + .defenseTable = N(defenseTable), + .eventFlags = ACTOR_EVENT_FLAG_0, + .elementImmunityFlags = 0, + .unk_1D = 0, + }, +}; + +ActorBlueprint NAMESPACE = { + .flags = 0, + .type = ACTOR_TYPE_BANDIT, + .level = 9, + .maxHP = 5, + .partCount = ARRAY_COUNT(N(parts)), + .partsData = N(parts), + .script = &N(init), + .statusTable = N(statusTable), + .escapeChance = 40, + .airLiftChance = 90, + .spookChance = 90, + .baseStatusChance = 90, + .upAndAwayChance = 95, + .spinSmashReq = 0, + .powerBounceChance = 80, + .coinReward = 1, + .size = { 26, 32 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -10, 25 }, + .statusMessageOffset = { 10, 25 }, +}; + +ActorBlueprint N(coin) = { + .flags = ACTOR_FLAG_NO_ATTACK | ACTOR_FLAG_NO_DMG_APPLY, + .type = ACTOR_TYPE_BANDIT, + .level = 9, + .maxHP = 5, + .partCount = ARRAY_COUNT(N(parts_coin)), + .partsData = N(parts_coin), + .script = &N(init_coin), + .statusTable = N(statusTable), + .escapeChance = 40, + .airLiftChance = 90, + .spookChance = 90, + .baseStatusChance = 90, + .upAndAwayChance = 95, + .spinSmashReq = 0, + .powerBounceChance = 80, + .coinReward = 1, + .size = { 26, 32 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -10, 25 }, + .statusMessageOffset = { 10, 25 }, +}; + +Vec3i N(coin_pos) = { 0, -1000, 0 }; + +Formation N(formation_coin) = { + { .actor = &N(coin), .home = { .vec = &N(coin_pos) }}, +}; + +EvtScript N(init) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) + EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(dummy) = { + EVT_RETURN + EVT_END +}; + +EvtScript N(init_coin) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(dummy))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(dummy))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(dummy))) + EVT_RETURN + EVT_END +}; + +EvtScript N(idle) = { + EVT_RETURN + EVT_END +}; + +EvtScript N(dropCoin) = { + EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_CASE_EQ(1) + EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations))) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 0) + EVT_CALL(SummonEnemy, EVT_PTR(N(formation_coin)), 0) + EVT_SET(LVarA, LVar0) + EVT_CALL(GetPartOffset, ACTOR_SELF, 2, LVar1, LVar2, LVar3) + EVT_CALL(SetActorPos, LVarA, LVar1, LVar2, LVar3) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, 1) + EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetActorVar, LVarA, 1, LVar0) + EVT_CALL(SetActorJumpGravity, LVarA, EVT_FLOAT(1.0)) + EVT_CALL(RandInt, 360, LVar0) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar1, LVar2, LVar3) + EVT_ADD(LVar2, 30) + EVT_CALL(SetActorPos, LVarA, LVar1, LVar2, LVar3) + EVT_CALL(SetActorSounds, LVarA, 2, 0, 0) + EVT_CALL(AddVectorPolar, LVar1, LVar3, EVT_FLOAT(40.0), LVar0) + EVT_CALL(SetGoalPos, LVarA, LVar1, 0, LVar3) + EVT_CALL(JumpToGoal, LVarA, 20, FALSE, TRUE, FALSE) + EVT_CALL(PlaySoundAtActor, LVarA, SOUND_212) + EVT_CALL(AddVectorPolar, LVar1, LVar3, EVT_FLOAT(20.0), LVar0) + EVT_CALL(SetGoalPos, LVarA, LVar1, 0, LVar3) + EVT_CALL(JumpToGoal, LVarA, 10, FALSE, TRUE, FALSE) + EVT_CALL(PlaySoundAtActor, LVarA, SOUND_212) + EVT_CALL(AddVectorPolar, LVar1, LVar3, EVT_FLOAT(10.0), LVar0) + EVT_CALL(SetGoalPos, LVarA, LVar1, 0, LVar3) + EVT_CALL(JumpToGoal, LVarA, 5, FALSE, TRUE, FALSE) + EVT_CALL(PlaySoundAtActor, LVarA, SOUND_212) + EVT_LOOP(0) + EVT_CALL(GetBattleFlags, LVar1) + EVT_IF_FLAG(LVar1, BS_FLAGS1_80000) + EVT_BREAK_LOOP + EVT_END_IF + EVT_IF_NOT_FLAG(LVar1, BS_FLAGS1_100) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_WAIT(15) + EVT_CALL(SetActorJumpGravity, LVarA, EVT_FLOAT(1.0)) + EVT_CALL(SetActorSpeed, LVarA, EVT_FLOAT(6.0)) + EVT_SET(LVar0, -70) + EVT_SET(LVar1, 0) + EVT_SET(LVar2, 10) + EVT_LABEL(5) + EVT_CALL(GetActorPos, LVarA, LVar3, LVar4, LVar5) + EVT_IF_EQ(LVar3, LVar0) + EVT_GOTO(10) + EVT_END_IF + EVT_IF_LT(LVar3, LVar0) + EVT_SET(LVar4, LVar0) + EVT_SUB(LVar4, LVar3) + EVT_IF_LT(LVar4, 30) + EVT_CALL(SetGoalPos, LVarA, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, LVarA, 5, FALSE, TRUE, FALSE) + EVT_CALL(PlaySoundAtActor, LVarA, SOUND_212) + EVT_ELSE + EVT_SET(LVar4, LVar3) + EVT_ADD(LVar3, 30) + EVT_CALL(SetGoalPos, LVarA, LVar3, LVar1, LVar2) + EVT_CALL(JumpToGoal, LVarA, 0, FALSE, TRUE, FALSE) + EVT_CALL(PlaySoundAtActor, LVarA, SOUND_212) + EVT_END_IF + EVT_ELSE + EVT_SET(LVar4, LVar3) + EVT_SUB(LVar4, LVar0) + EVT_IF_LT(LVar4, 30) + EVT_CALL(SetGoalPos, LVarA, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, LVarA, 5, FALSE, TRUE, FALSE) + EVT_CALL(PlaySoundAtActor, LVarA, SOUND_212) + EVT_ELSE + EVT_SUB(LVar3, 30) + EVT_CALL(SetGoalPos, LVarA, LVar3, LVar1, LVar2) + EVT_CALL(JumpToGoal, LVarA, 0, FALSE, TRUE, FALSE) + EVT_CALL(PlaySoundAtActor, LVarA, SOUND_212) + EVT_END_IF + EVT_END_IF + EVT_GOTO(5) + EVT_LABEL(10) + EVT_CALL(EnableActorBlur, LVarA, 1) + EVT_CALL(SetTargetActor, LVarA, ACTOR_PLAYER) + EVT_CALL(SetGoalToTarget, LVarA) + EVT_CALL(JumpToGoal, LVarA, 15, FALSE, FALSE, FALSE) + EVT_CALL(GetGoalPos, LVarA, LVar0, LVar1, LVar2) + EVT_CALL(PlayEffect, EFFECT_SMALL_GOLD_SPARKLE, 0, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 0, 0, 0, 0, 0, 0, 0, 0) + EVT_CALL(PlaySoundAtActor, LVarA, 0x211) + EVT_CALL(GetActorVar, LVarA, 1, LVar0) + EVT_CALL(AddCoin, LVar0) + EVT_CALL(RemoveActor, LVarA) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + + +EvtScript N(handleEvent) = { + EVT_USE_ARRAY(EVT_PTR(N(thread_dropCoin))) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(EVENT_HIT_COMBO) + EVT_EXEC_GET_TID(N(dropCoin), ArrayVar(0)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Bandit_Anim09) + EVT_EXEC_WAIT(DoNormalHit) + EVT_LOOP(0) + EVT_IS_THREAD_RUNNING(ArrayVar(0), LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CASE_OR_EQ(EVENT_HIT) + EVT_CASE_OR_EQ(EVENT_SPIN_SMASH_LAUNCH_HIT) + EVT_EXEC_GET_TID(N(dropCoin), ArrayVar(0)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Bandit_Anim09) + EVT_EXEC_WAIT(DoNormalHit) + EVT_LOOP(0) + EVT_IS_THREAD_RUNNING(ArrayVar(0), LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_BURN_HIT) + EVT_EXEC_GET_TID(N(dropCoin), ArrayVar(0)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Bandit_Anim0A) + EVT_SET_CONST(LVar2, ANIM_Bandit_Anim0B) + EVT_EXEC_WAIT(DoBurnHit) + EVT_LOOP(0) + EVT_IS_THREAD_RUNNING(ArrayVar(0), LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CASE_EQ(EVENT_BURN_DEATH) + EVT_EXEC_GET_TID(N(dropCoin), ArrayVar(0)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Bandit_Anim0A) + EVT_SET_CONST(LVar2, ANIM_Bandit_Anim0B) + EVT_EXEC_WAIT(DoBurnHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Bandit_Anim0B) + EVT_EXEC_WAIT(DoDeath) + EVT_LOOP(0) + EVT_IS_THREAD_RUNNING(ArrayVar(0), LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) + EVT_EXEC_GET_TID(N(dropCoin), ArrayVar(0)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Bandit_Anim09) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_LOOP(0) + EVT_IS_THREAD_RUNNING(ArrayVar(0), LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) + EVT_EXEC_GET_TID(N(dropCoin), ArrayVar(0)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Bandit_Anim09) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Bandit_Anim09) + EVT_EXEC_WAIT(DoDeath) + EVT_LOOP(0) + EVT_IS_THREAD_RUNNING(ArrayVar(0), LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_CASE_EQ(EVENT_SHOCK_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Bandit_Anim09) + EVT_EXEC_WAIT(DoShockHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Bandit_Anim09) + EVT_EXEC_WAIT(DoJumpBack) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Bandit_Anim07) + EVT_EXEC_WAIT(DoReturnHome) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) + EVT_CASE_EQ(EVENT_SHOCK_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Bandit_Anim09) + EVT_EXEC_WAIT(DoShockHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Bandit_Anim09) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER) + EVT_CASE_OR_EQ(EVENT_IMMUNE) + EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) + EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_SET_CONST(LVar1, ANIM_Bandit_Anim01) + EVT_CASE_EQ(1) + EVT_SET_CONST(LVar1, ANIM_Bandit_Anim02) + EVT_END_SWITCH + EVT_SET_CONST(LVar0, 1) + EVT_EXEC_WAIT(DoImmune) + EVT_END_CASE_GROUP + EVT_CASE_OR_EQ(EVENT_DEATH) + EVT_CASE_OR_EQ(EVENT_SPIN_SMASH_LAUNCH_DEATH) + EVT_EXEC_GET_TID(N(dropCoin), ArrayVar(0)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Bandit_Anim09) + EVT_EXEC_WAIT(DoNormalHit) + EVT_WAIT(10) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Bandit_Anim09) + EVT_EXEC_WAIT(DoDeath) + EVT_LOOP(0) + EVT_IS_THREAD_RUNNING(ArrayVar(0), LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_RECOVER_STATUS) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Bandit_Anim01) + EVT_EXEC_WAIT(DoRecover) + EVT_CASE_EQ(EVENT_SCARE_AWAY) + EVT_EXEC_GET_TID(N(dropCoin), ArrayVar(0)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Bandit_Anim07) + EVT_SET_CONST(LVar2, ANIM_Bandit_Anim09) + EVT_EXEC_WAIT(DoScareAway) + EVT_LOOP(0) + EVT_IS_THREAD_RUNNING(ArrayVar(0), LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) + EVT_EXEC_GET_TID(N(dropCoin), ArrayVar(0)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Bandit_Anim09) + EVT_EXEC_WAIT(DoAirLift) + EVT_LOOP(0) + EVT_IS_THREAD_RUNNING(ArrayVar(0), LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CASE_EQ(EVENT_BLOW_AWAY) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Bandit_Anim09) + EVT_SET_CONST(LVar2, ANIM_WorldParakarry_Still) + EVT_EXEC_WAIT(DoBlowAway) + EVT_RETURN + EVT_CASE_DEFAULT + EVT_END_SWITCH + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim01) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(takeTurn) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) + EVT_IF_EQ(LVar0, 1) + EVT_CALL(SetActorYaw, ACTOR_SELF, 180) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim08) + EVT_WAIT(30) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(10.0)) + EVT_CALL(SetGoalPos, ACTOR_SELF, 300, 0, 0) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetBattleFlagBits, BS_FLAGS1_40000, 1) + EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(RemoveActor, ACTOR_SELF) + EVT_RETURN + EVT_END_IF + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(func_8024ECF8, -1, 1, 0) + EVT_CALL(GetBattlePhase, LVar0) + EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 50) + EVT_SET(LVar1, 0) + EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ELSE + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim07) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim01) + EVT_WAIT(6) + EVT_END_IF + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim05) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(AddGoalPos, ACTOR_SELF, 35, 0, 0) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20C2) + EVT_CALL(SetActorSounds, ACTOR_SELF, 0, 0, 0) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_MISS) + EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) + EVT_SET(LVarA, LVar0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim0D) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(ResetAllActorSounds, ACTOR_SELF) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 30) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) + EVT_SUB(LVar0, 20) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) + EVT_WAIT(5) + EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_WAIT(5) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(YieldTurn) + EVT_CALL(SetActorYaw, ACTOR_SELF, 180) + EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim07) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim01) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetActorYaw, ACTOR_SELF, 0) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim0D) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(ResetAllActorSounds, ACTOR_SELF) + EVT_WAIT(2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_HIT) + EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CALL(GetLastDamage, ACTOR_PLAYER, LVar0) + EVT_IF_LE(LVar0, 0) + EVT_SET(LVar0, 1) + EVT_GOTO(10) + EVT_END_IF + EVT_CALL(GetBattleFlags, LVar0) + EVT_IF_FLAG(LVar0, BS_FLAGS1_ATK_BLOCKED) + EVT_SET(LVar0, 1) + EVT_GOTO(10) + EVT_END_IF + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_SET(LVar0, 0) + EVT_GOTO(10) + EVT_END_IF + EVT_CALL(GetStatusFlags, ACTOR_PLAYER, LVar0) + EVT_IF_FLAG(LVar0, STATUS_FLAG_STONE) + EVT_SET(LVar0, 0) + EVT_GOTO(10) + EVT_END_IF + EVT_CALL(AddCoin, 0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_SET(LVar0, 1) + EVT_CASE_LT(10) + EVT_CALL(SetActorVar, ACTOR_SELF, 1, LVar0) + EVT_SET(LVar0, 2) + EVT_CASE_GE(10) + EVT_CALL(SetActorVar, ACTOR_SELF, 1, 10) + EVT_SET(LVar0, 2) + EVT_END_SWITCH + EVT_LABEL(10) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 30) + EVT_SET(LVar1, 0) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim01) + EVT_WAIT(20) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim07) + EVT_CASE_EQ(1) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 30) + EVT_SET(LVar1, 0) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim0E) + EVT_WAIT(20) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20C3) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim10) + EVT_WAIT(20) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim07) + EVT_CASE_DEFAULT + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC) + EVT_ADD(LVarA, 30) + EVT_SET(LVarB, 0) + EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) + EVT_MUL(LVar0, -1) + EVT_CALL(AddCoin, LVar0) + EVT_THREAD + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 1) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, 0) + EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(1.0)) + EVT_ADD(LVarB, 30) + EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVarA, LVarB, LVarC, 22, 1) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 0) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) + EVT_LOOP(LVar0) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_212) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC) + EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_holdCoin))) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim0E) + EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) + EVT_WAIT(7) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim0F) + EVT_WAIT(20) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim08) + EVT_END_SWITCH + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(YieldTurn) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; diff --git a/src/battle/common/actor/clubba.inc.c b/src/battle/common/actor/clubba.inc.c new file mode 100644 index 0000000000..b513689b78 --- /dev/null +++ b/src/battle/common/actor/clubba.inc.c @@ -0,0 +1,286 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "sprite/npc/BattleClubba.h" + +extern EvtScript N(init); +extern EvtScript N(takeTurn); +extern EvtScript N(idle); +extern EvtScript N(handleEvent); + +s32 N(idleAnimations)[] = { + STATUS_NORMAL, ANIM_BattleClubba_Anim01, + STATUS_STONE, ANIM_BattleClubba_Anim00, + STATUS_SLEEP, ANIM_BattleClubba_Anim03, + STATUS_POISON, ANIM_BattleClubba_Anim01, + STATUS_STOP, ANIM_BattleClubba_Anim00, + STATUS_STATIC, ANIM_BattleClubba_Anim01, + STATUS_PARALYZE, ANIM_BattleClubba_Anim00, + STATUS_DIZZY, ANIM_BattleClubba_Anim05, + STATUS_FEAR, ANIM_BattleClubba_Anim05, + STATUS_END, +}; + +s32 N(defenseTable)[] = { + ELEMENT_NORMAL, 0, + ELEMENT_END, +}; + +s32 N(statusTable)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 90, + STATUS_POISON, 50, + STATUS_FROZEN, 0, + STATUS_DIZZY, 75, + STATUS_FEAR, 100, + STATUS_STATIC, 50, + STATUS_PARALYZE, 90, + STATUS_SHRINK, 75, + STATUS_STOP, 90, + STATUS_DEFAULT_TURN_MOD, 0, + STATUS_SLEEP_TURN_MOD, 1, + STATUS_POISON_TURN_MOD, 0, + STATUS_FROZEN_TURN_MOD, 0, + STATUS_DIZZY_TURN_MOD, 0, + STATUS_FEAR_TURN_MOD, 0, + STATUS_STATIC_TURN_MOD, 0, + STATUS_PARALYZE_TURN_MOD, 1, + STATUS_SHRINK_TURN_MOD, 0, + STATUS_STOP_TURN_MOD, -1, + STATUS_END, +}; + +ActorPartBlueprint N(parts)[] = { + { + .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { -12, 32 }, + .opacity = 255, + .idleAnimations = N(idleAnimations), + .defenseTable = N(defenseTable), + .eventFlags = ACTOR_EVENT_FLAG_0, + .elementImmunityFlags = 0, + .unk_1C = 8, + .unk_1D = 0xFD, + }, +}; + +ActorBlueprint NAMESPACE = { + .flags = 0, + .type = ACTOR_TYPE_CLUBBA, + .level = 13, + .maxHP = 8, + .partCount = ARRAY_COUNT(N(parts)), + .partsData = N(parts), + .script = &N(init), + .statusTable = N(statusTable), + .escapeChance = 60, + .airLiftChance = 60, + .spookChance = 70, + .baseStatusChance = 70, + .upAndAwayChance = 95, + .spinSmashReq = 0, + .powerBounceChance = 80, + .coinReward = 1, + .size = { 42, 42 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -10, 20 }, + .statusMessageOffset = { 10, 35 }, +}; + +EvtScript N(init) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) + EVT_RETURN + EVT_END +}; + +EvtScript N(idle) = { + EVT_RETURN + EVT_END +}; + +EvtScript N(handleEvent) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(EVENT_HIT_COMBO) + EVT_CASE_OR_EQ(EVENT_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim04) + EVT_EXEC_WAIT(DoNormalHit) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_BURN_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim06) + EVT_SET_CONST(LVar2, ANIM_BattleClubba_Anim07) + EVT_EXEC_WAIT(DoBurnHit) + EVT_CASE_EQ(EVENT_BURN_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim06) + EVT_SET_CONST(LVar2, ANIM_BattleClubba_Anim07) + EVT_EXEC_WAIT(DoBurnHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim07) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim04) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim04) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim04) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_SHOCK_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim04) + EVT_EXEC_WAIT(DoShockHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim04) + EVT_EXEC_WAIT(DoJumpBack) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim02) + EVT_EXEC_WAIT(DoReturnHome) + EVT_CASE_EQ(EVENT_SHOCK_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim04) + EVT_EXEC_WAIT(DoShockHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim04) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER) + EVT_CASE_OR_EQ(EVENT_IMMUNE) + EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim01) + EVT_EXEC_WAIT(DoImmune) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim04) + EVT_EXEC_WAIT(DoNormalHit) + EVT_WAIT(10) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim04) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_RECOVER_STATUS) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim01) + EVT_EXEC_WAIT(DoRecover) + EVT_CASE_EQ(EVENT_SCARE_AWAY) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim02) + EVT_SET_CONST(LVar2, ANIM_BattleClubba_Anim04) + EVT_EXEC_WAIT(DoScareAway) + EVT_RETURN + EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim04) + EVT_EXEC_WAIT(DoAirLift) + EVT_CASE_EQ(EVENT_BLOW_AWAY) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim04) + EVT_EXEC_WAIT(DoBlowAway) + EVT_RETURN + EVT_CASE_DEFAULT + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(takeTurn) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(func_8024ECF8, -1, 1, 0) + EVT_CALL(GetBattlePhase, LVar0) + EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 27) + EVT_SET(LVar1, 0) + EVT_SUB(LVar2, 6) + EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_WAIT(15) + EVT_ELSE + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleClubba_Anim02) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_CALL(AddGoalPos, ACTOR_SELF, 27, 0, -6) + EVT_ELSE + EVT_CALL(AddGoalPos, ACTOR_SELF, 10, 0, -6) + EVT_END_IF + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleClubba_Anim01) + EVT_WAIT(10) + EVT_END_IF + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_MISS) + EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) + EVT_SET(LVarA, LVar0) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20C5) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleClubba_Anim08) + EVT_WAIT(10) + EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_WAIT(20) + EVT_END_IF + EVT_CALL(YieldTurn) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(SetActorYaw, ACTOR_SELF, 180) + EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim02) + EVT_EXEC_WAIT(DoReturnHome) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetActorYaw, ACTOR_SELF, 0) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleClubba_Anim09) + EVT_WAIT(15) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20C5) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleClubba_Anim0A) + EVT_WAIT(2) + EVT_WAIT(2) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_HIT) + EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_THREAD + EVT_CALL(ShakeCam, 1, 0, 10, EVT_FLOAT(1.5)) + EVT_END_THREAD + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_WAIT(19) + EVT_CALL(YieldTurn) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim02) + EVT_EXEC_WAIT(DoReturnHome) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; diff --git a/src/battle/common/actor/fuzzy.inc.c b/src/battle/common/actor/fuzzy.inc.c new file mode 100644 index 0000000000..4b76a532fb --- /dev/null +++ b/src/battle/common/actor/fuzzy.inc.c @@ -0,0 +1,445 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "sprite/npc/Fuzzy.h" +#include "effects.h" + +s32 N(defenseTable)[] = { + ELEMENT_NORMAL, 0, + ELEMENT_END, +}; + +s32 N(statusTable)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 95, + STATUS_POISON, 90, + STATUS_FROZEN, 100, + STATUS_DIZZY, 90, + STATUS_FEAR, 0, + STATUS_STATIC, 70, + STATUS_PARALYZE, 75, + STATUS_SHRINK, 75, + STATUS_STOP, 100, + STATUS_DEFAULT_TURN_MOD, 0, + STATUS_SLEEP_TURN_MOD, 0, + STATUS_POISON_TURN_MOD, 0, + STATUS_FROZEN_TURN_MOD, 0, + STATUS_DIZZY_TURN_MOD, 0, + STATUS_FEAR_TURN_MOD, 0, + STATUS_STATIC_TURN_MOD, 0, + STATUS_PARALYZE_TURN_MOD, 0, + STATUS_SHRINK_TURN_MOD, 0, + STATUS_STOP_TURN_MOD, 0, + STATUS_END, +}; + +extern s32 N(idleAnimations)[]; + +ActorPartBlueprint N(parts)[] = { + { + .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 20 }, + .opacity = 255, + .idleAnimations = N(idleAnimations), + .defenseTable = N(defenseTable), + .eventFlags = ACTOR_EVENT_FLAG_0, + .elementImmunityFlags = 0, + .unk_1D = 246, + }, +}; + +extern EvtScript N(init); + +ActorBlueprint NAMESPACE = { + .flags = 0, + .type = ACTOR_TYPE_FUZZY, + .level = 6, + .maxHP = 3, + .partCount = ARRAY_COUNT(N(parts)), + .partsData = N(parts), + .script = &N(init), + .statusTable = N(statusTable), + .escapeChance = 50, + .airLiftChance = 95, + .spookChance = 95, + .baseStatusChance = 95, + .upAndAwayChance = 95, + .spinSmashReq = 0, + .powerBounceChance = 100, + .coinReward = 1, + .size = { 33, 28 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -10, 20 }, + .statusMessageOffset = { 10, 20 }, +}; + +s32 N(idleAnimations)[] = { + STATUS_NORMAL, ANIM_Fuzzy_Anim01, + STATUS_STONE, ANIM_Fuzzy_Anim00, + STATUS_SLEEP, ANIM_Fuzzy_Anim0E, + STATUS_POISON, ANIM_Fuzzy_Anim01, + STATUS_STOP, ANIM_Fuzzy_Anim00, + STATUS_STATIC, ANIM_Fuzzy_Anim01, + STATUS_PARALYZE, ANIM_Fuzzy_Anim00, + STATUS_DIZZY, ANIM_Fuzzy_Anim0F, + STATUS_FEAR, ANIM_Fuzzy_Anim0F, + STATUS_END, +}; + +extern EvtScript N(takeTurn); +extern EvtScript N(idle); +extern EvtScript N(handleEvent); + +EvtScript N(init) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) + EVT_RETURN + EVT_END +}; + +EvtScript N(idle) = { + EVT_RETURN + EVT_END +}; + +EvtScript N(handleEvent) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(EVENT_HIT_COMBO) + EVT_CASE_OR_EQ(EVENT_HIT) + EVT_CALL(GetLastElement, LVar0) + EVT_IF_FLAG(LVar0, DAMAGE_TYPE_ELECTRIC) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim13) + EVT_ELSE + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim08) + EVT_END_IF + EVT_EXEC_WAIT(DoNormalHit) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_BURN_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim10) + EVT_SET_CONST(LVar2, ANIM_Fuzzy_Anim12) + EVT_EXEC_WAIT(DoBurnHit) + EVT_CASE_EQ(EVENT_BURN_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim10) + EVT_SET_CONST(LVar2, ANIM_Fuzzy_Anim12) + EVT_EXEC_WAIT(DoBurnHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim12) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim08) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim08) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim08) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_SHOCK_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim13) + EVT_EXEC_WAIT(DoShockHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim13) + EVT_EXEC_WAIT(DoJumpBack) + EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim03) + EVT_EXEC_WAIT(D_8029C0A4) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) + EVT_CASE_EQ(EVENT_SHOCK_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim13) + EVT_EXEC_WAIT(DoShockHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim08) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER) + EVT_CASE_OR_EQ(EVENT_IMMUNE) + EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim01) + EVT_EXEC_WAIT(DoImmune) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_DEATH) + EVT_CALL(GetLastElement, LVar0) + EVT_IF_FLAG(LVar0, DAMAGE_TYPE_ELECTRIC) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim13) + EVT_EXEC_WAIT(DoNormalHit) + EVT_WAIT(10) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim13) + EVT_EXEC_WAIT(DoDeath) + EVT_ELSE + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim08) + EVT_EXEC_WAIT(DoNormalHit) + EVT_WAIT(10) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim08) + EVT_EXEC_WAIT(DoDeath) + EVT_END_IF + EVT_RETURN + EVT_CASE_EQ(EVENT_RECOVER_STATUS) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim01) + EVT_EXEC_WAIT(DoRecover) + EVT_CASE_EQ(EVENT_SCARE_AWAY) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim03) + EVT_SET_CONST(LVar2, ANIM_Fuzzy_Anim09) + EVT_EXEC_WAIT(DoScareAway) + EVT_RETURN + EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim03) + EVT_EXEC_WAIT(DoAirLift) + EVT_CASE_EQ(EVENT_BLOW_AWAY) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Fuzzy_Anim03) + EVT_EXEC_WAIT(DoBlowAway) + EVT_RETURN + EVT_CASE_DEFAULT + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +#include "common/UnkBattleFunc2.inc.c" + +EvtScript N(takeTurn) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(func_8024ECF8, -1, 1, 0) + EVT_CALL(GetBattlePhase, LVar0) + EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 50) + EVT_SET(LVar1, 0) + EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_GOTO(100) + EVT_END_IF + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Anim03) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 50) + EVT_SET(LVar1, 0) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) + EVT_EXEC_WAIT(D_8029C12C) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Anim01) + EVT_LABEL(100) + EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 10, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Anim04) + EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 9, 0) + EVT_WAIT(1) + EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 8, 0) + EVT_WAIT(5) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE, 0, 1, 16) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_MISS) + EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) + EVT_SET(LVarA, LVar0) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 5) + EVT_SET(LVar1, 0) + EVT_SUB(LVar2, 5) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Anim05) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 11, FALSE, TRUE, FALSE) + EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Anim09) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 20) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 15) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_WAIT(4) + EVT_WAIT(5) + EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_WAIT(5) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(YieldTurn) + EVT_CALL(SetActorYaw, ACTOR_SELF, 180) + EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Anim03) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) + EVT_EXEC_WAIT(D_8029C12C) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetActorYaw, ACTOR_SELF, 0) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_CASE_EQ(HIT_RESULT_HIT_STATIC) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_FLAG(LVar0, STATUS_FLAG_STATIC) + EVT_SET(LocalFlag(0), 0) + EVT_ELSE + EVT_SET(LocalFlag(0), 1) + EVT_END_IF + EVT_END_SWITCH + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(AddGoalPos, ACTOR_SELF, -3, -12, -15) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Anim05) + EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, 0, 32) + EVT_RETURN + EVT_END_IF + EVT_WAIT(10) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, FALSE) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_3000C) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3E0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Anim07) + EVT_WAIT(21) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Anim00) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 330) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3E0) + EVT_CALL(SetActorDispOffset, ACTOR_SELF, -3, -2, 0) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.9), EVT_FLOAT(1.2), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.8), EVT_FLOAT(1.3), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.7), EVT_FLOAT(1.4), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.7), EVT_FLOAT(1.5), EVT_FLOAT(1.0)) + EVT_WAIT(2) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.6), EVT_FLOAT(1.6), EVT_FLOAT(1.0)) + EVT_WAIT(10) + EVT_WAIT(2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, 1, 32) + EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Anim01) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_HIT) + EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(GetLastDamage, 0, LVar3) + EVT_IF_NE(LVar3, 0) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_206D) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_214) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 10) + EVT_CALL(N(UnkBattleFunc2), LVar0, LVar1, LVar2, LVar3) + EVT_THREAD + EVT_WAIT(15) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_25C) + EVT_CALL(N(UnkBattleFunc2_2), LVar0, LVar1, LVar2, LVar3) + EVT_END_THREAD + EVT_ADD(LVar0, 20) + EVT_ADD(LVar1, 20) + EVT_CALL(PlayEffect, EFFECT_RECOVER, 0, LVar0, LVar1, LVar2, LVar3, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_CALL(GetActorHP, ACTOR_SELF, LVar0) + EVT_ADD(LVar0, LVar3) + EVT_CALL(SetEnemyHP, ACTOR_SELF, LVar0) + EVT_END_IF + EVT_THREAD + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.6), EVT_FLOAT(0.6), EVT_FLOAT(1.0)) + EVT_CALL(SetActorRotationOffset, -127, 0, 10, 0) + EVT_WAIT(1) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 330) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.7), EVT_FLOAT(1.5), EVT_FLOAT(1.0)) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 300) + EVT_WAIT(1) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 270) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(0.7), EVT_FLOAT(1.0)) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 240) + EVT_WAIT(1) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 210) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.7), EVT_FLOAT(1.4), EVT_FLOAT(1.0)) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 180) + EVT_WAIT(2) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(0.7), EVT_FLOAT(1.0)) + EVT_WAIT(2) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.2), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) + EVT_END_THREAD + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 40) + EVT_SET(LVar1, 0) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.4), EVT_FLOAT(0.2), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_THREAD + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.2), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 150) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 120) + EVT_WAIT(1) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 90) + EVT_WAIT(1) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 60) + EVT_WAIT(1) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 30) + EVT_WAIT(1) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) + EVT_CALL(SetActorRotationOffset, -127, 0, 0, 0) + EVT_END_THREAD + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 30) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) + EVT_WAIT(5) + EVT_CALL(YieldTurn) + EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Anim03) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) + EVT_EXEC_WAIT(D_8029C12C) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Anim01) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; diff --git a/src/battle/common/actor/goomba.inc.c b/src/battle/common/actor/goomba.inc.c index 0e62dc1ec4..ac2abe225b 100644 --- a/src/battle/common/actor/goomba.inc.c +++ b/src/battle/common/actor/goomba.inc.c @@ -3,12 +3,12 @@ #include "script_api/battle.h" #include "sprite/npc/Goomba.h" -s32 N(defenseTable_80219750)[] = { +s32 N(defenseTable)[] = { ELEMENT_NORMAL, 0, ELEMENT_END, }; -s32 N(statusTable_8021975C)[] = { +s32 N(statusTable)[] = { STATUS_NORMAL, 0, STATUS_DEFAULT, 0, STATUS_SLEEP, 100, @@ -33,18 +33,18 @@ s32 N(statusTable_8021975C)[] = { STATUS_END, }; -extern s32 N(idleAnimations_80219854)[]; -extern EvtScript N(init_802198EC); +extern s32 N(idleAnimations)[]; +extern EvtScript N(init); -ActorPartBlueprint N(partsTable_80219808)[] = { +ActorPartBlueprint N(parts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, .index = 1, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 20 }, .opacity = 255, - .idleAnimations = N(idleAnimations_80219854), - .defenseTable = N(defenseTable_80219750), + .idleAnimations = N(idleAnimations), + .defenseTable = N(defenseTable), .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, .unk_1D = 246, @@ -56,10 +56,10 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_GOOMBA, .level = 5, .maxHP = 2, - .partCount = ARRAY_COUNT(N(partsTable_80219808)), - .partsData = N(partsTable_80219808), - .script = &N(init_802198EC), - .statusTable = N(statusTable_8021975C), + .partCount = ARRAY_COUNT(N(parts)), + .partsData = N(parts), + .script = &N(init), + .statusTable = N(statusTable), .escapeChance = 90, .airLiftChance = 100, .spookChance = 90, @@ -74,7 +74,7 @@ ActorBlueprint NAMESPACE = { .statusMessageOffset = { 10, 20 }, }; -s32 N(idleAnimations_80219854)[] = { +s32 N(idleAnimations)[] = { STATUS_NORMAL, ANIM_Goomba_Idle, STATUS_STONE, ANIM_Goomba_Still, STATUS_SLEEP, ANIM_Goomba_Sleep, @@ -87,7 +87,7 @@ s32 N(idleAnimations_80219854)[] = { STATUS_END, }; -s32 N(idleAnimations_802198A0)[] = { +s32 N(idleAnimations2)[] = { STATUS_NORMAL, ANIM_Goomba_Run, STATUS_STONE, ANIM_Goomba_Still, STATUS_SLEEP, ANIM_Goomba_Sleep, @@ -100,19 +100,19 @@ s32 N(idleAnimations_802198A0)[] = { STATUS_END, }; -extern EvtScript N(takeTurn_8021A440); -extern EvtScript N(idle_80219938); -extern EvtScript N(handleEvent_80219C14); +extern EvtScript N(takeTurn); +extern EvtScript N(idle); +extern EvtScript N(handleEvent); -EvtScript N(init_802198EC) = { - EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_8021A440))) - EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_80219938))) - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_80219C14))) +EvtScript N(init) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) EVT_RETURN EVT_END }; -EvtScript N(idle_80219938) = { +EvtScript N(idle) = { EVT_LABEL(10) EVT_CALL(RandInt, 80, LVar0) EVT_ADD(LVar0, 80) @@ -128,10 +128,10 @@ EvtScript N(idle_80219938) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_802198A0))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations2))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_80219854))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations))) EVT_LOOP(20) EVT_LABEL(1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) @@ -144,10 +144,10 @@ EvtScript N(idle_80219938) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_802198A0))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations2))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_80219854))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations))) EVT_LOOP(80) EVT_LABEL(2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) @@ -162,7 +162,7 @@ EvtScript N(idle_80219938) = { EVT_END }; -EvtScript N(handleEvent_80219C14) = { +EvtScript N(handleEvent) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) @@ -281,7 +281,7 @@ EvtScript N(handleEvent_80219C14) = { #include "common/anglestuff.inc.c" -EvtScript N(takeTurn_8021A440) = { +EvtScript N(takeTurn) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) diff --git a/src/battle/common/actor/koopa_troopa.inc.c b/src/battle/common/actor/koopa_troopa.inc.c index 742a354ec6..39a9f96276 100644 --- a/src/battle/common/actor/koopa_troopa.inc.c +++ b/src/battle/common/actor/koopa_troopa.inc.c @@ -4,7 +4,7 @@ #include "script_api/battle.h" #include "sprite/npc/KoopaTroopa.h" -s32 N(defenseTable_8021C960)[] = { +s32 N(defenseTable)[] = { ELEMENT_NORMAL, 1, ELEMENT_HAMMER, 1, ELEMENT_JUMP, 1, @@ -13,12 +13,12 @@ s32 N(defenseTable_8021C960)[] = { ELEMENT_END, }; -s32 N(defenseTable_8021C98C)[] = { +s32 N(defenseTable_flipped)[] = { ELEMENT_NORMAL, 0, ELEMENT_END, }; -s32 N(statusTable_8021C998)[] = { +s32 N(statusTable)[] = { STATUS_NORMAL, 0, STATUS_DEFAULT, 0, STATUS_SLEEP, 90, @@ -43,18 +43,18 @@ s32 N(statusTable_8021C998)[] = { STATUS_END, }; -extern s32 N(idleAnimations_8021CA90)[]; -extern EvtScript N(init_8021CB74); +extern s32 N(idleAnimations)[]; +extern EvtScript N(init); -ActorPartBlueprint N(partsTable_8021CA44)[] = { +ActorPartBlueprint N(parts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, .index = 1, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 36 }, .opacity = 255, - .idleAnimations = N(idleAnimations_8021CA90), - .defenseTable = N(defenseTable_8021C960), + .idleAnimations = N(idleAnimations), + .defenseTable = N(defenseTable), .eventFlags = ACTOR_EVENT_FLAG_FLIPABLE, .elementImmunityFlags = 0, .unk_1D = 249, @@ -66,10 +66,10 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_KOOPA_TROOPA, .level = 6, .maxHP = 4, - .partCount = ARRAY_COUNT(N(partsTable_8021CA44)), - .partsData = N(partsTable_8021CA44), - .script = &N(init_8021CB74), - .statusTable = N(statusTable_8021C998), + .partCount = ARRAY_COUNT(N(parts)), + .partsData = N(parts), + .script = &N(init), + .statusTable = N(statusTable), .escapeChance = 70, .airLiftChance = 90, .spookChance = 90, @@ -84,7 +84,7 @@ ActorBlueprint NAMESPACE = { .statusMessageOffset = { 5, 32 }, }; -s32 N(idleAnimations_8021CA90)[] = { +s32 N(idleAnimations)[] = { STATUS_NORMAL, ANIM_KoopaTroopa_Anim01, STATUS_STONE, ANIM_KoopaTroopa_Anim00, STATUS_SLEEP, ANIM_KoopaTroopa_Anim11, @@ -110,7 +110,7 @@ s32 N(idleAnimations_8021CADC)[] = { STATUS_END, }; -s32 N(idleAnimations_8021CB28)[] = { +s32 N(idleAnimations_flipped)[] = { STATUS_NORMAL, ANIM_KoopaTroopa_Anim0F, STATUS_STONE, ANIM_KoopaTroopa_Anim10, STATUS_SLEEP, ANIM_KoopaTroopa_Anim12, @@ -123,14 +123,14 @@ s32 N(idleAnimations_8021CB28)[] = { STATUS_END, }; -extern EvtScript N(takeTurn_8021DD9C); -extern EvtScript N(idle_8021CD30); -extern EvtScript N(handleEvent_8021D218); +extern EvtScript N(takeTurn); +extern EvtScript N(idle); +extern EvtScript N(handleEvent); -EvtScript N(init_8021CB74) = { - EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_8021DD9C))) - EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_8021CD30))) - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_8021D218))) +EvtScript N(init) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) EVT_RETURN EVT_END @@ -141,7 +141,7 @@ EvtScript N(init_8021CB74) = { EvtScript N(8021CBD8) = { EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_IF_FLAG(LVar1, 0x00041000) + EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_DIZZY) EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 15) EVT_CALL(func_8027D4C8, ACTOR_SELF, 1, 0, 0) EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) @@ -159,7 +159,7 @@ EvtScript N(8021CBD8) = { EVT_END }; -EvtScript N(idle_8021CD30) = { +EvtScript N(idle) = { EVT_LABEL(0) EVT_CALL(RandInt, 80, LVarA) EVT_ADD(LVarA, 80) @@ -187,9 +187,9 @@ EvtScript N(idle_8021CD30) = { EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_8021CA90))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations))) EVT_CASE_EQ(1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_8021CB28))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_flipped))) EVT_END_SWITCH EVT_LOOP(20) EVT_LABEL(2) @@ -215,9 +215,9 @@ EvtScript N(idle_8021CD30) = { EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_8021CA90))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations))) EVT_CASE_EQ(1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_8021CB28))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_flipped))) EVT_END_SWITCH EVT_LOOP(80) EVT_LABEL(3) @@ -239,13 +239,9 @@ EvtScript N(idle_8021CD30) = { EVT_END }; -s32 N(intTable_8021D1C0)[] = { - 0x00000009, 0x00000010, 0x00000016, 0x0000001A, 0x0000001E, 0x00000020, 0x00000021, 0x00000020, - 0x0000001E, 0x0000001A, 0x00000016, 0x00000010, 0x00000009, 0x00000000, 0x00000004, 0x00000006, - 0x00000007, 0x00000006, 0x00000004, 0x00000000, 0x00000002, 0x00000000, -}; +s32 N(bounceTable)[] = { 9, 16, 22, 26, 30, 32, 33, 32, 30, 26, 22, 16, 9, 0, 4, 6, 7, 6, 4, 0, 2, 0 }; -EvtScript N(handleEvent_8021D218) = { +EvtScript N(handleEvent) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) @@ -286,8 +282,8 @@ EvtScript N(handleEvent_8021D218) = { EVT_CASE_EQ(EVENT_FLIP_TRIGGER) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 9, 2) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(defenseTable_8021C98C))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_8021CB28))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(defenseTable_flipped))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_flipped))) EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 15) EVT_CALL(func_8027D4C8, ACTOR_SELF, 1, 0, 0) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_400, 1) @@ -307,7 +303,7 @@ EvtScript N(handleEvent_8021D218) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -75) EVT_WAIT(1) EVT_END_CHILD_THREAD - EVT_USE_BUF(EVT_PTR(N(intTable_8021D1C0))) + EVT_USE_BUF(EVT_PTR(N(bounceTable))) EVT_LOOP(22) EVT_BUF_READ1(LVar0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, LVar0, 0) @@ -438,7 +434,7 @@ EvtScript N(handleEvent_8021D218) = { EVT_END }; -EvtScript N(takeTurn_8021DD9C) = { +EvtScript N(takeTurn) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) @@ -479,14 +475,14 @@ EvtScript N(takeTurn_8021DD9C) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x20BA) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20BA) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Anim01) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_8021CA90))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(defenseTable_8021C960))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(defenseTable))) EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -4, 32) EVT_CALL(func_8027D4C8, ACTOR_SELF, 1, -1, -4) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_400, 0) @@ -510,12 +506,12 @@ EvtScript N(takeTurn_8021DD9C) = { EVT_WAIT(2) EVT_CALL(PlayEffect, EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0, 0, 0, 0, 0) EVT_END_CHILD_THREAD - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x2021) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2021) EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Anim06) EVT_WAIT(10) EVT_CALL(func_8024ECF8, -1, 1, 0) EVT_END_IF - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x20D3) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20D3) EVT_CALL(SetActorSounds, ACTOR_SELF, 0, 0, 0) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) diff --git a/src/battle/common/actor/monty_mole.inc.c b/src/battle/common/actor/monty_mole.inc.c new file mode 100644 index 0000000000..77039ef570 --- /dev/null +++ b/src/battle/common/actor/monty_mole.inc.c @@ -0,0 +1,429 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "sprite/npc/MontyMole.h" + +extern s32 N(idleAnimations)[]; +extern s32 N(idleAnimations2)[]; +extern EvtScript N(init); +extern EvtScript N(takeTurn); +extern EvtScript N(idle); +extern EvtScript N(handleEvent); + +s32 N(defenseTable)[] = { + ELEMENT_NORMAL, 0, + ELEMENT_END, +}; + +s32 N(statusTable)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 90, + STATUS_POISON, 80, + STATUS_FROZEN, 100, + STATUS_DIZZY, 90, + STATUS_FEAR, 0, + STATUS_STATIC, 10, + STATUS_PARALYZE, 100, + STATUS_SHRINK, 90, + STATUS_STOP, 100, + STATUS_DEFAULT_TURN_MOD, 0, + STATUS_SLEEP_TURN_MOD, 0, + STATUS_POISON_TURN_MOD, 0, + STATUS_FROZEN_TURN_MOD, 0, + STATUS_DIZZY_TURN_MOD, -1, + STATUS_FEAR_TURN_MOD, 0, + STATUS_STATIC_TURN_MOD, 0, + STATUS_PARALYZE_TURN_MOD, 1, + STATUS_SHRINK_TURN_MOD, 0, + STATUS_STOP_TURN_MOD, 0, + STATUS_END, +}; + +ActorPartBlueprint N(parts)[] = { + { + .flags = ACTOR_PART_FLAG_NO_TARGET, + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { -2, 16 }, + .opacity = 255, + .idleAnimations = N(idleAnimations), + .defenseTable = N(defenseTable), + .eventFlags = ACTOR_EVENT_FLAG_0, + .elementImmunityFlags = 0, + .unk_1D = 249, + }, + { + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, + .index = 2, + .posOffset = { 0, 0, -15 }, + .targetOffset = { -2, 12 }, + .opacity = 255, + .idleAnimations = N(idleAnimations), + .defenseTable = N(defenseTable), + .eventFlags = ACTOR_EVENT_FLAG_0, + .elementImmunityFlags = 0, + .unk_1D = 249, + }, + { + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .index = 3, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 0 }, + .opacity = 255, + .idleAnimations = N(idleAnimations2), + .defenseTable = N(defenseTable), + .eventFlags = ACTOR_EVENT_FLAG_0, + .elementImmunityFlags = 0, + .unk_1D = 0, + }, +}; + +ActorBlueprint NAMESPACE = { + .flags = 0, + .type = ACTOR_TYPE_MONTY_MOLE, + .level = 8, + .maxHP = 3, + .partCount = ARRAY_COUNT(N(parts)), + .partsData = N(parts), + .script = &N(init), + .statusTable = N(statusTable), + .escapeChance = 80, + .airLiftChance = 70, + .spookChance = 50, + .baseStatusChance = 85, + .upAndAwayChance = 95, + .spinSmashReq = 4, + .powerBounceChance = 100, + .coinReward = 1, + .size = { 34, 18 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -10, 20 }, + .statusMessageOffset = { 10, 20 }, +}; + +s32 N(idleAnimations)[] = { + STATUS_NORMAL, ANIM_MontyMole_Anim01, + STATUS_STONE, ANIM_MontyMole_Anim00, + STATUS_SLEEP, ANIM_MontyMole_Anim14, + STATUS_POISON, ANIM_MontyMole_Anim01, + STATUS_STOP, ANIM_MontyMole_Anim00, + STATUS_STATIC, ANIM_MontyMole_Anim01, + STATUS_PARALYZE, ANIM_MontyMole_Anim00, + STATUS_DIZZY, ANIM_MontyMole_Anim14, + STATUS_FEAR, ANIM_MontyMole_Anim14, + STATUS_END, +}; + +s32 N(idleAnimations2)[] = { + STATUS_NORMAL, ANIM_MontyMole_Anim0F, + STATUS_END, +}; + +s32 N(idleAnimations_hole)[] = { + STATUS_NORMAL, ANIM_MontyMole_Anim12, + STATUS_END, +}; + + +s32 N(idleAnimations_unused)[] = { + STATUS_NORMAL, ANIM_MontyMole_Anim06, + STATUS_END, +}; + +ActorPartBlueprint N(parts_hole)[] = { + { + .flags = ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET, + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 0 }, + .opacity = 255, + .idleAnimations = N(idleAnimations_hole), + .defenseTable = NULL, + .eventFlags = ACTOR_EVENT_FLAG_0, + .elementImmunityFlags = 0, + .unk_1D = 0, + }, +}; + +EvtScript N(init_hole) = { + EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) + EVT_IF_EQ(LVar0, 1) + EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +ActorBlueprint N(hole) = { + .flags = ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_40000 | ACTOR_FLAG_NO_ATTACK | ACTOR_FLAG_NO_DMG_APPLY, + .type = ACTOR_TYPE_MONTY_HOLE, + .level = 9, + .maxHP = 5, + .partCount = ARRAY_COUNT(N(parts_hole)), + .partsData = N(parts_hole), + .script = &N(init_hole), + .statusTable = NULL, + .escapeChance = 80, + .airLiftChance = 0, + .spookChance = 80, + .baseStatusChance = 80, + .upAndAwayChance = 90, + .spinSmashReq = 4, + .powerBounceChance = 90, + .coinReward = 2, + .size = { 32, 18 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -10, 20 }, + .statusMessageOffset = { 10, 20 }, +}; + +Vec3i N(hole_pos) = { 0, -1000, 0, }; + +Formation N(formation_hole_1) = { + { .actor = &N(hole), .home = { .vec = &N(hole_pos) },}, +}; + +Formation N(formation_hole_2) = { + { .actor = &N(hole), .home = { .vec = &N(hole_pos) }, .var0 = 1 }, +}; + +EvtScript N(makeHole) = { + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_CALL(SummonEnemy, EVT_PTR(N(formation_hole_2)), 0) + EVT_ELSE + EVT_CALL(SummonEnemy, EVT_PTR(N(formation_hole_1)), 0) + EVT_END_IF + EVT_CALL(GetActorPos, ACTOR_SELF, LVar1, LVar2, LVar3) + EVT_SUB(LVar3, 1) + EVT_CALL(SetActorPos, LVar0, LVar1, LVar2, LVar3) + EVT_RETURN + EVT_END +}; + +EvtScript N(init) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, 1) + EVT_RETURN + EVT_END +}; + +EvtScript N(idle) = { + EVT_RETURN + EVT_END +}; + +EvtScript N(handleEvent) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(GetLastElement, LVarE) + EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(EVENT_HIT_COMBO) + EVT_CASE_OR_EQ(EVENT_HIT) + EVT_IF_FLAG(LVarE, DAMAGE_TYPE_SMASH) + EVT_CHILD_THREAD + EVT_WAIT(8) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim07) + EVT_END_CHILD_THREAD + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_MontyMole_Anim06) + EVT_EXEC_WAIT(DoNormalHit) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim08) + EVT_WAIT(10) + EVT_ELSE + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_MontyMole_Anim05) + EVT_EXEC_WAIT(DoNormalHit) + EVT_END_IF + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_BURN_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_MontyMole_Anim0A) + EVT_SET_CONST(LVar2, ANIM_MontyMole_Anim0B) + EVT_EXEC_WAIT(DoBurnHit) + EVT_CASE_EQ(EVENT_BURN_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_MontyMole_Anim0A) + EVT_SET_CONST(LVar2, ANIM_MontyMole_Anim0B) + EVT_EXEC_WAIT(DoBurnHit) + EVT_EXEC_WAIT(N(makeHole)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_MontyMole_Anim0C) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER) + EVT_CASE_OR_EQ(EVENT_IMMUNE) + EVT_CALL(GetLastElement, LVar0) + EVT_IF_FLAG(LVar0, DAMAGE_TYPE_SMASH) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_DIG) + EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim11) + EVT_WAIT(80) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_SURFACE) + EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim10) + EVT_WAIT(20) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim14) + EVT_WAIT(20) + EVT_ELSE + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_MontyMole_Anim01) + EVT_EXEC_WAIT(DoImmune) + EVT_END_IF + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_MontyMole_Anim05) + EVT_EXEC_WAIT(DoNormalHit) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim06) + EVT_WAIT(10) + EVT_EXEC_WAIT(N(makeHole)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_MontyMole_Anim09) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_RECOVER_STATUS) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim06) + EVT_WAIT(8) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim07) + EVT_WAIT(5) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim08) + EVT_WAIT(8) + EVT_CASE_EQ(EVENT_SCARE_AWAY) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim06) + EVT_WAIT(15) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim07) + EVT_WAIT(15) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim08) + EVT_WAIT(15) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_TARGET_ONLY | ACTOR_FLAG_NO_DMG_APPLY, 1) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_hole))) + EVT_RETURN + EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_MontyMole_Anim05) + EVT_EXEC_WAIT(DoAirLift) + EVT_CASE_EQ(EVENT_BLOW_AWAY) + EVT_EXEC_WAIT(N(makeHole)) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -5, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim19) + EVT_ELSE + EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -9, 0) + EVT_ELSE + EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -23, 0) + EVT_END_IF + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim09) + EVT_END_IF + EVT_WAIT(1000) + EVT_RETURN + EVT_CASE_EQ(EVENT_AIR_LIFT_FAILED) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_DIG) + EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim11) + EVT_WAIT(40) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_SURFACE) + EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim10) + EVT_WAIT(20) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim14) + EVT_WAIT(20) + EVT_CASE_EQ(EVENT_UP_AND_AWAY) + EVT_EXEC_WAIT(N(makeHole)) + EVT_CASE_DEFAULT + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(takeTurn) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetBattlePhase, LVar0) + EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 1) + EVT_END_IF + EVT_CHILD_THREAD + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_DIG) + EVT_WAIT(20) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_SURFACE) + EVT_END_CHILD_THREAD + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim04) + EVT_WAIT(37) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 20) + EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) + EVT_WAIT(1) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, 0) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_ELSE + EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_END_IF + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 3, SOUND_MOLE_THROW) + EVT_CALL(SetPartSounds, ACTOR_SELF, 3, 1, 0, 0) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_MISS) + EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) + EVT_SET(LVarA, LVar0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 100) + EVT_SET(LVar1, -5) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 3, EVT_FLOAT(12.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 3, EVT_FLOAT(0.1)) + EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_MontyMole_Anim0F) + EVT_CALL(FlyPartTo, ACTOR_SELF, 3, LVar0, LVar1, LVar2, 0, 30, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, 1) + EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_CALL(YieldTurn) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 3, EVT_FLOAT(12.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 3, EVT_FLOAT(0.1)) + EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_MontyMole_Anim0F) + EVT_CALL(FlyPartTo, ACTOR_SELF, 3, LVar0, LVar1, LVar2, 0, 20, 0) + EVT_WAIT(2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_HIT) + EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 55) + EVT_SET(LVar1, 0) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 3, EVT_FLOAT(6.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 3, EVT_FLOAT(0.1)) + EVT_CALL(FlyPartTo, ACTOR_SELF, 3, LVar0, LVar1, LVar2, 0, 25, 0) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 3, EVT_FLOAT(4.0)) + EVT_SUB(LVar0, 20) + EVT_CALL(FlyPartTo, ACTOR_SELF, 3, LVar0, LVar1, LVar2, 0, 21, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, 1) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; diff --git a/src/battle/common/actor/pokey.inc.c b/src/battle/common/actor/pokey.inc.c new file mode 100644 index 0000000000..6294c85ccf --- /dev/null +++ b/src/battle/common/actor/pokey.inc.c @@ -0,0 +1,1443 @@ +#include "common.h" +#include "effects.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "sprite/npc/Pokey.h" + +enum N(ActorVars) { + N(VAR_PARTS_THROWN) = 0, + N(VAR_ANIM_IMMUNE) = 1, + N(VAR_ANIM_UNK) = 2, + N(VAR_ANIM_HIT) = 3, + N(VAR_ANIM_THROW1) = 4, + N(VAR_ANIM_THROW2) = 5, + N(VAR_ANIM_BURN) = 6, + N(VAR_ANIM_BURN2) = 7, + N(VAR_CANT_SUMMON) = 9, + N(VAR_SUMMON_COUNT) = 10, +}; + +extern s32 N(idleAnimations)[]; +extern s32 N(idleAnimations_thrownBodyPart)[]; +extern EvtScript N(init); +extern EvtScript N(takeTurn); +extern EvtScript N(idle); +extern EvtScript N(handleEvent); +extern EvtScript N(findPlaceForSummon); +extern EvtScript N(unearthFriend); +extern EvtScript N(attackHeadDive); +extern EvtScript N(onSpinSmash); +extern EvtScript N(afterPartThrown); +extern EvtScript N(doSpinSmashHit); +extern EvtScript N(onHit); +extern EvtScript N(flee); + +s32 N(defenseTable)[] = { + ELEMENT_NORMAL, 0, + ELEMENT_END, +}; + +s32 N(statusTable)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 90, + STATUS_POISON, 0, + STATUS_FROZEN, 0, + STATUS_DIZZY, 90, + STATUS_FEAR, 0, + STATUS_STATIC, 0, + STATUS_PARALYZE, 100, + STATUS_SHRINK, 90, + STATUS_STOP, 100, + STATUS_DEFAULT_TURN_MOD, 0, + STATUS_SLEEP_TURN_MOD, 0, + STATUS_POISON_TURN_MOD, 0, + STATUS_FROZEN_TURN_MOD, 0, + STATUS_DIZZY_TURN_MOD, 0, + STATUS_FEAR_TURN_MOD, 0, + STATUS_STATIC_TURN_MOD, 0, + STATUS_PARALYZE_TURN_MOD, 0, + STATUS_SHRINK_TURN_MOD, 0, + STATUS_STOP_TURN_MOD, 0, + STATUS_END, +}; + +ActorPartBlueprint N(parts)[] = { + { + .flags = ACTOR_PART_FLAG_NO_TARGET, + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 20 }, + .opacity = 255, + .idleAnimations = N(idleAnimations), + .defenseTable = N(defenseTable), + .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000, + .elementImmunityFlags = 0, + .unk_1D = 0, + }, + { + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, + .index = 2, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 72 }, + .opacity = 255, + .idleAnimations = NULL, + .defenseTable = N(defenseTable), + .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000, + .elementImmunityFlags = 0, + .unk_1D = 248, + }, + { + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, + .index = 3, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 54 }, + .opacity = 255, + .idleAnimations = NULL, + .defenseTable = N(defenseTable), + .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000, + .elementImmunityFlags = 0, + .unk_1D = 248, + }, + { + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, + .index = 4, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 36 }, + .opacity = 255, + .idleAnimations = NULL, + .defenseTable = N(defenseTable), + .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000, + .elementImmunityFlags = 0, + .unk_1D = 248, + }, + { + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, + .index = 5, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 16 }, + .opacity = 255, + .idleAnimations = NULL, + .defenseTable = N(defenseTable), + .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000, + .elementImmunityFlags = 0, + .unk_1D = 248, + }, + { + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .index = 6, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 0 }, + .opacity = 255, + .idleAnimations = N(idleAnimations_thrownBodyPart), + .defenseTable = N(defenseTable), + .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000, + .elementImmunityFlags = 0, + .unk_1D = 0, + }, +}; + +ActorBlueprint NAMESPACE = { + .flags = 0, + .type = ACTOR_TYPE_POKEY, + .level = 9, + .maxHP = 4, + .partCount = ARRAY_COUNT(N(parts)), + .partsData = N(parts), + .script = &N(init), + .statusTable = N(statusTable), + .escapeChance = 70, + .airLiftChance = 90, + .spookChance = 85, + .baseStatusChance = 70, + .upAndAwayChance = 95, + .spinSmashReq = 0, + .powerBounceChance = 100, + .coinReward = 1, + .size = { 24, 80 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -15, 75 }, + .statusMessageOffset = { 10, 65 }, +}; + +s32 N(idleAnimations)[] = { + STATUS_NORMAL, ANIM_Pokey_Anim04, + STATUS_STONE, ANIM_Pokey_Anim00, + STATUS_SLEEP, ANIM_Pokey_Anim25, + STATUS_STOP, ANIM_Pokey_Anim00, + STATUS_PARALYZE, ANIM_Pokey_Anim00, + STATUS_DIZZY, ANIM_Pokey_Anim21, + STATUS_FEAR, ANIM_Pokey_Anim21, + STATUS_END, +}; + +s32 N(idleAnimations_3bodyParts)[] = { + STATUS_NORMAL, ANIM_Pokey_Anim05, + STATUS_STONE, ANIM_Pokey_Anim01, + STATUS_SLEEP, ANIM_Pokey_Anim26, + STATUS_STOP, ANIM_Pokey_Anim01, + STATUS_PARALYZE, ANIM_Pokey_Anim01, + STATUS_DIZZY, ANIM_Pokey_Anim22, + STATUS_FEAR, ANIM_Pokey_Anim22, + STATUS_END, +}; + +s32 N(idleAnimations_2bodyParts)[] = { + STATUS_NORMAL, ANIM_Pokey_Anim06, + STATUS_STONE, ANIM_Pokey_Anim02, + STATUS_SLEEP, ANIM_Pokey_Anim27, + STATUS_STOP, ANIM_Pokey_Anim02, + STATUS_PARALYZE, ANIM_Pokey_Anim02, + STATUS_DIZZY, ANIM_Pokey_Anim23, + STATUS_FEAR, ANIM_Pokey_Anim23, + STATUS_END, +}; + +s32 N(idleAnimations_1bodyPart)[] = { + STATUS_NORMAL, ANIM_Pokey_Anim07, + STATUS_STONE, ANIM_Pokey_Anim03, + STATUS_SLEEP, ANIM_Pokey_Anim28, + STATUS_STOP, ANIM_Pokey_Anim03, + STATUS_PARALYZE, ANIM_Pokey_Anim03, + STATUS_DIZZY, ANIM_Pokey_Anim24, + STATUS_FEAR, ANIM_Pokey_Anim24, + STATUS_END, +}; + +s32 N(idleAnimations_thrownBodyPart)[] = { + STATUS_NORMAL, ANIM_Pokey_Anim16, + STATUS_END, +}; + +EvtScript N(init) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_SUMMON_COUNT), 0) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_IMMUNE), LVar0) // from formation 'var1' setting + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_CANT_SUMMON), LVar0) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), 0) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_IMMUNE), ANIM_Pokey_Anim04) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_UNK), ANIM_Pokey_Anim08) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_HIT), ANIM_Pokey_Anim0C) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_THROW1), ANIM_Pokey_Anim10) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_THROW2), ANIM_Pokey_Anim11) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_BURN), ANIM_Pokey_Anim18) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_BURN2), ANIM_Pokey_Anim19) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(idle) = { + EVT_RETURN + EVT_END +}; + +EvtScript N(handleEvent) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(EVENT_HIT_COMBO) + EVT_SET_CONST(LVar0, 1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_HIT), LVar1) + EVT_EXEC_WAIT(DoNormalHit) + EVT_CASE_EQ(EVENT_HIT) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_SET_CONST(LVar0, 1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_HIT), LVar1) + EVT_EXEC_WAIT(DoNormalHit) + EVT_ELSE + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), LVarA) + EVT_IF_EQ(LVarA, 3) + EVT_SET_CONST(LVar0, 1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_HIT), LVar1) + EVT_EXEC_WAIT(DoNormalHit) + EVT_ELSE + EVT_CALL(func_80269E80, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(6) + EVT_CASE_OR_EQ(7) + EVT_CASE_OR_EQ(9) + EVT_EXEC_WAIT(N(onHit)) + EVT_END_CASE_GROUP + EVT_CASE_DEFAULT + EVT_SET_CONST(LVar0, 1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_HIT), LVar1) + EVT_EXEC_WAIT(DoNormalHit) + EVT_END_SWITCH + EVT_END_IF + EVT_END_IF + EVT_CASE_EQ(EVENT_DEATH) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_SET_CONST(LVar0, 1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_HIT), LVar1) + EVT_EXEC_WAIT(DoNormalHit) + EVT_WAIT(10) + EVT_ELSE + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), LVarA) + EVT_IF_EQ(LVarA, 3) + EVT_SET_CONST(LVar0, 1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_HIT), LVar1) + EVT_EXEC_WAIT(DoNormalHit) + EVT_WAIT(10) + EVT_ELSE + EVT_CALL(func_80269E80, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(6) + EVT_CASE_OR_EQ(7) + EVT_CASE_OR_EQ(9) + EVT_EXEC_WAIT(N(onHit)) + EVT_END_CASE_GROUP + EVT_CASE_DEFAULT + EVT_SET_CONST(LVar0, 1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_HIT), LVar1) + EVT_EXEC_WAIT(DoNormalHit) + EVT_WAIT(10) + EVT_END_SWITCH + EVT_END_IF + EVT_END_IF + EVT_SET_CONST(LVar0, 1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_HIT), LVar1) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_BURN_HIT) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_BURN), LVar1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_BURN2), LVar2) + EVT_SET_CONST(LVar0, 1) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) + EVT_IF_FLAG(LVar3, STATUS_FLAG_SHRINK) + EVT_EXEC_WAIT(DoBurnHit) + EVT_ELSE + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), LVarA) + EVT_IF_EQ(LVarA, 3) + EVT_EXEC_WAIT(DoBurnHit) + EVT_ELSE + EVT_CALL(func_80269E80, LVarA) + EVT_SWITCH(LVarA) + EVT_CASE_OR_EQ(6) + EVT_CASE_OR_EQ(7) + EVT_CASE_OR_EQ(9) + EVT_EXEC_WAIT(N(onHit)) + EVT_END_CASE_GROUP + EVT_CASE_DEFAULT + EVT_EXEC_WAIT(DoBurnHit) + EVT_END_SWITCH + EVT_END_IF + EVT_END_IF + EVT_CASE_OR_EQ(EVENT_BURN_DEATH) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_BURN), LVar1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_BURN2), LVar2) + EVT_SET_CONST(LVar0, 1) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) + EVT_IF_FLAG(LVar3, STATUS_FLAG_SHRINK) + EVT_EXEC_WAIT(DoBurnHit) + EVT_ELSE + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), LVarA) + EVT_IF_EQ(LVarA, 3) + EVT_EXEC_WAIT(DoBurnHit) + EVT_ELSE + EVT_CALL(func_80269E80, LVarA) + EVT_SWITCH(LVarA) + EVT_CASE_OR_EQ(6) + EVT_CASE_OR_EQ(7) + EVT_CASE_OR_EQ(9) + EVT_EXEC_WAIT(N(onHit)) + EVT_END_CASE_GROUP + EVT_CASE_DEFAULT + EVT_EXEC_WAIT(DoBurnHit) + EVT_END_SWITCH + EVT_END_IF + EVT_END_IF + EVT_SET_CONST(LVar0, 1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_BURN2), LVar1) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) + EVT_EXEC_WAIT(N(onSpinSmash)) + EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) + EVT_EXEC_WAIT(N(onSpinSmash)) + EVT_SET_CONST(LVar0, 1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_HIT), LVar1) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_SPIN_SMASH_LAUNCH_HIT) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) + EVT_IF_FLAG(LVar3, STATUS_FLAG_SHRINK) + EVT_SET_CONST(LVar0, 1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_HIT), LVar1) + EVT_EXEC_WAIT(DoNormalHit) + EVT_ELSE + EVT_EXEC_WAIT(N(onHit)) + EVT_END_IF + EVT_CASE_EQ(EVENT_SPIN_SMASH_LAUNCH_DEATH) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) + EVT_IF_FLAG(LVar3, STATUS_FLAG_SHRINK) + EVT_SET_CONST(LVar0, 1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_HIT), LVar1) + EVT_EXEC_WAIT(DoNormalHit) + EVT_ELSE + EVT_EXEC_WAIT(N(onHit)) + EVT_END_IF + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, -1) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_SHOCK_HIT) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) + EVT_SET_CONST(LVar0, 1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_HIT), LVar1) + EVT_EXEC_WAIT(DoShockHit) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_UNK), LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) + EVT_EXEC_WAIT(D_8029C12C) + EVT_CASE_EQ(EVENT_SHOCK_DEATH) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) + EVT_SET_CONST(LVar0, 1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_HIT), LVar1) + EVT_EXEC_WAIT(DoShockHit) + EVT_SET_CONST(LVar0, 1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_HIT), LVar1) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER) + EVT_CASE_OR_EQ(EVENT_IMMUNE) + EVT_SET_CONST(LVar0, 1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_IMMUNE), LVar1) + EVT_EXEC_WAIT(DoImmune) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_SPIKE_TAUNT) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_SET(LVar0, 0) + EVT_SET(LVar1, 77) + EVT_SET_CONST(LVar2, ANIM_Pokey_Anim21) + EVT_CASE_EQ(1) + EVT_SET(LVar0, 0) + EVT_SET(LVar1, 59) + EVT_SET_CONST(LVar2, ANIM_Pokey_Anim22) + EVT_CASE_EQ(2) + EVT_SET(LVar0, 0) + EVT_SET(LVar1, 41) + EVT_SET_CONST(LVar2, ANIM_Pokey_Anim23) + EVT_CASE_EQ(3) + EVT_SET(LVar0, 0) + EVT_SET(LVar1, 23) + EVT_SET_CONST(LVar2, ANIM_Pokey_Anim24) + EVT_END_SWITCH + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) + EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SLEEP) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar2) + EVT_END_IF + EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar6) + EVT_IF_FLAG(LVar6, STATUS_FLAG_SHRINK) + EVT_MULF(LVar0, EVT_FLOAT(0.4)) + EVT_MULF(LVar1, EVT_FLOAT(0.4)) + EVT_END_IF + EVT_ADDF(LVar3, LVar0) + EVT_ADDF(LVar4, LVar1) + EVT_CALL(PlayEffect, EFFECT_LENS_FLARE, 0, LVar3, LVar4, LVar5, 20, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_WAIT(30) + EVT_CASE_EQ(EVENT_RECOVER_STATUS) + EVT_SET_CONST(LVar0, 1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_IMMUNE), LVar1) + EVT_EXEC_WAIT(DoRecover) + EVT_CASE_EQ(EVENT_SCARE_AWAY) + EVT_EXEC_WAIT(N(flee)) + EVT_RETURN + EVT_CASE_DEFAULT + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(timberAttack) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(func_8024ECF8, -1, 1, 0) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_CALL(AddGoalPos, ACTOR_SELF, 60, 0, 0) + EVT_ELSE + EVT_CALL(AddGoalPos, ACTOR_SELF, 24, 0, 0) + EVT_END_IF + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim08) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim04) + EVT_CASE_EQ(1) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_CALL(AddGoalPos, ACTOR_SELF, 40, 0, 0) + EVT_ELSE + EVT_CALL(AddGoalPos, ACTOR_SELF, 16, 0, 0) + EVT_END_IF + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim09) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim05) + EVT_CASE_EQ(2) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_CALL(AddGoalPos, ACTOR_SELF, 20, 0, 0) + EVT_ELSE + EVT_CALL(AddGoalPos, ACTOR_SELF, 8, 0, 0) + EVT_END_IF + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim0A) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim06) + EVT_END_SWITCH + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_342) + EVT_CALL(MakeLerp, 0, -40, 20, 10) + EVT_LABEL(0) + EVT_CALL(UpdateLerp) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(0) + EVT_END_IF + EVT_CHILD_THREAD + EVT_WAIT(3) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2ED) + EVT_END_CHILD_THREAD + EVT_CALL(MakeLerp, -40, 90, 5, 1) + EVT_LABEL(3) + EVT_CALL(UpdateLerp) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(3) + EVT_END_IF + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_MISS) + EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) + EVT_SET(LVarA, LVar0) + EVT_CALL(MakeLerp, 90, 0, 5, 0) + EVT_LABEL(4) + EVT_CALL(UpdateLerp) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(4) + EVT_END_IF + EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_CALL(YieldTurn) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim08) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim04) + EVT_CASE_EQ(1) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim09) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim05) + EVT_CASE_EQ(2) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim0A) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim06) + EVT_END_SWITCH + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END_SWITCH + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_SET(LVar1, 2) + EVT_CASE_EQ(1) + EVT_SET(LVar1, 2) + EVT_CASE_DEFAULT + EVT_SET(LVar1, 2) + EVT_END_SWITCH + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_WAIT(2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_POISON | STATUS_FLAG_80000000, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_HIT) + EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MakeLerp, 90, 0, 10, 0) + EVT_LABEL(5) + EVT_CALL(UpdateLerp) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(5) + EVT_END_IF + EVT_CALL(YieldTurn) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim08) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim04) + EVT_CASE_EQ(1) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim09) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim05) + EVT_CASE_EQ(2) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim0A) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim06) + EVT_END_SWITCH + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(calcSummonChance) = { + EVT_SET(LVar9, 0) + EVT_CALL(EnemyCreateTargetList, 32770) + EVT_CALL(InitTargetIterator) + EVT_LABEL(0) + EVT_CALL(GetOwnerTarget, LVar0, LVar1) + EVT_CALL(GetOriginalActorType, LVar0, LVar2) + EVT_SWITCH(LVar2) + EVT_CASE_EQ(ACTOR_TYPE_POKEY) + EVT_CALL(GetStatusFlags, LVar0, LVar3) + EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_SHRINK | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), LVar3) + EVT_IF_EQ(LVar3, 0) + EVT_CALL(GetActorVar, LVar0, N(VAR_SUMMON_COUNT), LVar3) + EVT_IF_NE(LVar3, 2) + EVT_ADD(LVar9, 1) + EVT_END_IF + EVT_END_IF + EVT_END_IF + EVT_END_SWITCH + EVT_CALL(ChooseNextTarget, 0, LVar0) + EVT_IF_NE(LVar0, -1) + EVT_GOTO(0) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(takeTurn) = { + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), LVarA) + EVT_IF_EQ(LVarA, 3) + EVT_EXEC_WAIT(N(attackHeadDive)) + EVT_RETURN + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CANT_SUMMON), LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_SUMMON_COUNT), LVar0) + EVT_IF_EQ(LVar0, 2) + EVT_GOTO(123) + EVT_END_IF + EVT_EXEC_WAIT(N(findPlaceForSummon)) + EVT_IF_EQ(LVarE, -1) + EVT_GOTO(123) + EVT_END_IF + EVT_EXEC_WAIT(N(calcSummonChance)) + EVT_SWITCH(LVar9) + EVT_CASE_EQ(1) + EVT_CALL(RandInt, 1000, LVar0) + EVT_IF_LT(LVar0, 400) + EVT_EXEC_WAIT(N(unearthFriend)) + EVT_RETURN + EVT_END_IF + EVT_CASE_EQ(2) + EVT_CALL(RandInt, 1000, LVar0) + EVT_IF_LT(LVar0, 200) + EVT_EXEC_WAIT(N(unearthFriend)) + EVT_RETURN + EVT_END_IF + EVT_CASE_EQ(3) + EVT_CALL(RandInt, 1000, LVar0) + EVT_IF_LT(LVar0, 100) + EVT_EXEC_WAIT(N(unearthFriend)) + EVT_RETURN + EVT_END_IF + EVT_END_SWITCH + EVT_END_IF + EVT_LABEL(123) + EVT_CALL(RandInt, 1000, LVar0) + EVT_IF_LT(LVar0, 500) + EVT_EXEC_WAIT(N(timberAttack)) + EVT_RETURN + EVT_END_IF + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(GetBattlePhase, LVar0) + EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 1) + EVT_END_IF + EVT_CALL(SetPartSounds, ACTOR_SELF, 6, 2, 0, 0) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_ELSE + EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(1.0)) + EVT_END_IF + EVT_CHILD_THREAD + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, 0) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, 6, LVar0, LVar1, LVar2) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(2.2)) + EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_Pokey_Anim16) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar5) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), LVarA) + EVT_SWITCH(LVarA) + EVT_CASE_EQ(0) + EVT_IF_NOT_FLAG(LVar5, STATUS_FLAG_SHRINK) + EVT_ADD(LVar1, 38) + EVT_ELSE + EVT_ADD(LVar1, 15) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(1.2)) + EVT_END_IF + EVT_CALL(JumpPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 15, 1) + EVT_CASE_EQ(1) + EVT_IF_NOT_FLAG(LVar5, STATUS_FLAG_SHRINK) + EVT_ADD(LVar1, 20) + EVT_ELSE + EVT_ADD(LVar1, 8) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(1.2)) + EVT_END_IF + EVT_CALL(JumpPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 15, 1) + EVT_CASE_EQ(2) + EVT_IF_NOT_FLAG(LVar5, STATUS_FLAG_SHRINK) + EVT_ADD(LVar1, 8) + EVT_ELSE + EVT_ADD(LVar1, 3) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(1.2)) + EVT_END_IF + EVT_CALL(JumpPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 15, 1) + EVT_CASE_EQ(3) + EVT_END_SWITCH + EVT_END_CHILD_THREAD + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_342) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_THROW1), LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_WAIT(12) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_THROW2), LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_WAIT(1) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2CE) + EVT_WAIT(3) + EVT_EXEC_WAIT(N(afterPartThrown)) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_MISS) + EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) + EVT_IF_EQ(LVar0, HIT_RESULT_LUCKY) + EVT_CHILD_THREAD + EVT_WAIT(5) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_CHILD_THREAD + EVT_END_IF + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 80) + EVT_SUB(LVar1, 5) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(20.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(0.1)) + EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_Pokey_Anim16) + EVT_CALL(JumpPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, 1) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, 1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_UNK), LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(20.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(0.1)) + EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_Pokey_Anim16) + EVT_CALL(JumpPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, 1) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_POISON | STATUS_FLAG_80000000, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_UNK), LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_HIT) + EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 55) + EVT_SET(LVar1, 0) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(6.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(0.1)) + EVT_CALL(FlyPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, 25, 0) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(4.0)) + EVT_SUB(LVar0, 24) + EVT_CALL(FlyPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, 21, 0) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(3.0)) + EVT_SUB(LVar0, 20) + EVT_CALL(FlyPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, 20, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, 1) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(findPlaceForSummon) = { + EVT_SET(LVarE, -1) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_RETURN + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), LVar0) + EVT_IF_NE(LVar0, 0) + EVT_RETURN + EVT_END_IF + EVT_SET(LocalFlag(1), 0) + EVT_SET(LocalFlag(2), 0) + EVT_SET(LocalFlag(3), 0) + EVT_SET(LocalFlag(4), 0) + EVT_CALL(EnemyCreateTargetList, 32770) + EVT_CALL(InitTargetIterator) + EVT_LABEL(0) + EVT_CALL(GetOwnerTarget, LVar0, LVar5) + EVT_CALL(GetIndexFromHome, LVar0, LVar5) + EVT_MOD(LVar5, 4) + EVT_SWITCH(LVar5) + EVT_CASE_EQ(0) + EVT_SET(LocalFlag(1), 1) + EVT_CASE_EQ(1) + EVT_SET(LocalFlag(2), 1) + EVT_CASE_EQ(2) + EVT_SET(LocalFlag(3), 1) + EVT_CASE_EQ(3) + EVT_SET(LocalFlag(4), 1) + EVT_END_SWITCH + EVT_CALL(ChooseNextTarget, 0, LVar0) + EVT_IF_NE(LVar0, -1) + EVT_GOTO(0) + EVT_END_IF + EVT_CALL(GetIndexFromHome, ACTOR_SELF, LVar1) + EVT_SWITCH(LVar1) + EVT_CASE_EQ(0) + EVT_RETURN + EVT_CASE_EQ(1) + EVT_IF_EQ(LocalFlag(1), 0) + EVT_SET(LVarE, 0) + EVT_END_IF + EVT_CASE_EQ(2) + EVT_IF_EQ(LocalFlag(2), 0) + EVT_SET(LVarE, 1) + EVT_END_IF + EVT_CASE_EQ(3) + EVT_IF_EQ(LocalFlag(3), 0) + EVT_SET(LVarE, 2) + EVT_END_IF + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +Vec3i N(summon_pos) = { 400, -100, 0 }; + +Formation N(summon_formation) = { + { .actor = &NAMESPACE, .home = { .vec = &N(summon_pos) }, .priority = 100 }, +}; + +EvtScript N(unearthFriend) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(MoveBattleCamOver, 30) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim04) + EVT_CALL(MakeLerp, 0, -20, 20, 10) + EVT_LABEL(0) + EVT_CALL(UpdateLerp) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(0) + EVT_END_IF + EVT_CHILD_THREAD + EVT_WAIT(8) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_344) + EVT_END_CHILD_THREAD + EVT_CALL(MakeLerp, -20, 30, 20, 10) + EVT_LABEL(1) + EVT_CALL(UpdateLerp) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(1) + EVT_END_IF + EVT_CHILD_THREAD + EVT_WAIT(6) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_345) + EVT_END_CHILD_THREAD + EVT_CALL(MakeLerp, 30, -40, 20, 10) + EVT_LABEL(2) + EVT_CALL(UpdateLerp) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(2) + EVT_END_IF + EVT_CHILD_THREAD + EVT_WAIT(4) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2EE) + EVT_END_CHILD_THREAD + EVT_CALL(MakeLerp, -40, 90, 10, 10) + EVT_LABEL(3) + EVT_CALL(UpdateLerp) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(3) + EVT_END_IF + EVT_WAIT(20) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_346) + EVT_CALL(StartRumble, 9) + EVT_THREAD + EVT_CALL(ShakeCam, 1, 0, 10, EVT_FLOAT(1.0)) + EVT_END_THREAD + EVT_CALL(SummonEnemy, EVT_PTR(N(summon_formation)), 0) + EVT_SET(LVarB, LVar0) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 40) + EVT_SUB(LVar1, 80) + EVT_CALL(SetActorPos, LVarB, LVar0, LVar1, LVar2) + EVT_CHILD_THREAD + EVT_CALL(PlayEffect, EFFECT_SHOCKWAVE, 2, LVar0, 0, LVar2, 0, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_CALL(UseIdleAnimation, LVarB, FALSE) + EVT_CALL(SetAnimation, LVarB, 1, ANIM_Pokey_Anim0C) + EVT_CALL(GetActorPos, LVarB, LVar0, LVar1, LVar2) + EVT_CALL(SetActorJumpGravity, LVarB, EVT_FLOAT(1.2)) + EVT_CALL(SetGoalPos, LVarB, LVar0, 0, LVar2) + EVT_CALL(JumpToGoal, LVarB, 20, FALSE, TRUE, FALSE) + EVT_WAIT(20) + EVT_CALL(GetActorPos, LVarB, LVar0, LVar1, LVar2) + EVT_CALL(SetAnimation, LVarB, 1, ANIM_Pokey_Anim04) + EVT_CALL(SetHomePos, LVarB, LVar0, LVar1, LVar2) + EVT_CALL(HPBarToHome, LVarB) + EVT_CALL(UseIdleAnimation, LVarB, TRUE) + EVT_END_CHILD_THREAD + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_SUMMON_COUNT), LVar1) + EVT_SWITCH(LVar1) + EVT_CASE_EQ(0) + EVT_CALL(SetActorVar, LVarB, N(VAR_SUMMON_COUNT), 1) + EVT_CASE_EQ(1) + EVT_CALL(SetActorVar, LVarB, N(VAR_SUMMON_COUNT), 2) + EVT_END_SWITCH + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 20) + EVT_SET(LVarA, LVar0) + EVT_CALL(MakeLerp, 90, -30, 7, 4) + EVT_LABEL(4) + EVT_CALL(UpdateLerp) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(4) + EVT_END_IF + EVT_WAIT(20) + EVT_CALL(MakeLerp, -30, 0, 10, 10) + EVT_LABEL(5) + EVT_CALL(UpdateLerp) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(5) + EVT_END_IF + EVT_WAIT(20) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim04) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(attackHeadDive) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetActorSounds, ACTOR_SELF, 0, 748, 748) + EVT_CALL(SetActorSounds, ACTOR_SELF, 2, 748, 0) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(func_8024ECF8, -1, 1, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 50) + EVT_SET(LVar1, 0) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim0B) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) + EVT_EXEC_WAIT(D_8029C12C) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim07) + EVT_WAIT(4) + EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -1, 0) + EVT_WAIT(1) + EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0) + EVT_WAIT(4) + EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim0B) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 2, BS_FLAGS1_10) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_MISS) + EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) + EVT_SET(LVarA, LVar0) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 5) + EVT_SET(LVar1, 10) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.1)) + EVT_CHILD_THREAD + EVT_WAIT(2) + EVT_SET(LVar0, 0) + EVT_LOOP(5) + EVT_ADD(LVar0, 30) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_CHILD_THREAD + EVT_CALL(JumpToGoal, ACTOR_SELF, 22, FALSE, TRUE, FALSE) + EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 10, 0) + EVT_CHILD_THREAD + EVT_WAIT(2) + EVT_SET(LVar0, 180) + EVT_LOOP(6) + EVT_ADD(LVar0, 30) + EVT_IF_EQ(LVar0, 360) + EVT_SET(LVar0, 0) + EVT_END_IF + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) + EVT_END_CHILD_THREAD + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 30) + EVT_SET(LVar1, 0) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) + EVT_WAIT(15) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(YieldTurn) + EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim0B) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) + EVT_EXEC_WAIT(D_8029C12C) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim07) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.1)) + EVT_CHILD_THREAD + EVT_WAIT(2) + EVT_SET(LVar0, 0) + EVT_LOOP(5) + EVT_ADD(LVar0, 30) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_CHILD_THREAD + EVT_CALL(JumpToGoal, ACTOR_SELF, 18, FALSE, TRUE, FALSE) + EVT_WAIT(2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_POISON | STATUS_FLAG_80000000, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim07) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_HIT) + EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) + EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 40) + EVT_SET(LVar1, 0) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) + EVT_ADD(LVar0, 30) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) + EVT_ADD(LVar0, 20) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) + EVT_SUB(LVar0, 10) + EVT_CALL(JumpToGoal, ACTOR_SELF, 4, FALSE, TRUE, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim07) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim0B) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) + EVT_EXEC_WAIT(D_8029C12C) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim07) + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(onSpinSmash) = { + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) + EVT_IF_FLAG(LVarA, STATUS_FLAG_SHRINK) + EVT_SET_CONST(LVar0, 1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_HIT), LVar1) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_RETURN + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), LVarA) + EVT_SWITCH(LVarA) + EVT_CASE_EQ(0) + EVT_EXEC_WAIT(N(doSpinSmashHit)) + EVT_CASE_EQ(1) + EVT_EXEC_WAIT(N(doSpinSmashHit)) + EVT_CASE_EQ(2) + EVT_EXEC_WAIT(N(doSpinSmashHit)) + EVT_CASE_EQ(3) + EVT_SET_CONST(LVar0, 1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_HIT), LVar1) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +#include "common/UnkBattleFunc1.inc.c" + +EvtScript N(afterPartThrown) = { + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), LVarA) + EVT_SWITCH(LVarA) + EVT_CASE_EQ(0) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_IMMUNE), ANIM_Pokey_Anim05) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_UNK), ANIM_Pokey_Anim09) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_HIT), ANIM_Pokey_Anim0D) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_THROW1), ANIM_Pokey_Anim12) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_THROW2), ANIM_Pokey_Anim13) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_BURN), ANIM_Pokey_Anim1A) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_BURN2), ANIM_Pokey_Anim1B) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_3bodyParts))) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_MULTI_TARGET, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_NO_TARGET, 1) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_NO_TARGET, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_MULTI_TARGET, 1) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), 1) + EVT_CALL(SetActorSize, ACTOR_SELF, 62, EVT_IGNORE_ARG) + EVT_CALL(SetPartSize, ACTOR_SELF, 1, 62, EVT_IGNORE_ARG) + EVT_CALL(N(UnkBattleFunc1), -15, 55, 10, 45) + EVT_CASE_EQ(1) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_IMMUNE), ANIM_Pokey_Anim06) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_UNK), ANIM_Pokey_Anim0A) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_HIT), ANIM_Pokey_Anim0E) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_THROW1), ANIM_Pokey_Anim14) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_THROW2), ANIM_Pokey_Anim15) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_BURN), ANIM_Pokey_Anim1C) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_BURN2), ANIM_Pokey_Anim1D) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_2bodyParts))) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_MULTI_TARGET, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_NO_TARGET, 1) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_NO_TARGET, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_MULTI_TARGET, 1) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), 2) + EVT_CALL(SetActorSize, ACTOR_SELF, 44, EVT_IGNORE_ARG) + EVT_CALL(SetPartSize, ACTOR_SELF, 1, 44, EVT_IGNORE_ARG) + EVT_CALL(N(UnkBattleFunc1), -15, 35, 10, 25) + EVT_CASE_EQ(2) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_IMMUNE), ANIM_Pokey_Anim07) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_UNK), ANIM_Pokey_Anim0B) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_HIT), ANIM_Pokey_Anim0F) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_BURN), ANIM_Pokey_Anim1E) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_BURN2), ANIM_Pokey_Anim1F) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_1bodyPart))) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_MULTI_TARGET, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_NO_TARGET, 1) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 5, ACTOR_PART_FLAG_NO_TARGET, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 5, ACTOR_PART_FLAG_MULTI_TARGET, 1) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), 3) + EVT_CALL(SetActorSize, ACTOR_SELF, 26, EVT_IGNORE_ARG) + EVT_CALL(SetPartSize, ACTOR_SELF, 1, 26, EVT_IGNORE_ARG) + EVT_CALL(N(UnkBattleFunc1), -15, 15, 10, 5) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(bounceOnHit) = { + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 18) + EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SET(LVar3, LVar1) + EVT_WAIT(2) + EVT_SUB(LVar3, 1) + EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar3, LVar2) + EVT_WAIT(3) + EVT_SUB(LVar3, 2) + EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar3, LVar2) + EVT_WAIT(2) + EVT_SUB(LVar3, 3) + EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar3, LVar2) + EVT_WAIT(1) + EVT_SUB(LVar3, 5) + EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar3, LVar2) + EVT_WAIT(1) + EVT_SUB(LVar3, 7) + EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar3, LVar2) + EVT_WAIT(1) + EVT_ADD(LVar3, 2) + EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar3, LVar2) + EVT_WAIT(1) + EVT_ADD(LVar3, 3) + EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar3, LVar2) + EVT_WAIT(1) + EVT_ADD(LVar3, 3) + EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar3, LVar2) + EVT_WAIT(1) + EVT_SUB(LVar3, 3) + EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar3, LVar2) + EVT_WAIT(1) + EVT_SUB(LVar3, 3) + EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar3, LVar2) + EVT_WAIT(1) + EVT_SUB(LVar3, 2) + EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar3, LVar2) + EVT_RETURN + EVT_END +}; + +EvtScript N(doSpinSmashHit) = { + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, 6, LVar0, LVar1, LVar2) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, 0) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_ELSE + EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(1.0)) + EVT_END_IF + EVT_EXEC_WAIT(N(afterPartThrown)) + EVT_SET_CONST(LVar0, 1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_HIT), LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) + EVT_CHILD_THREAD + EVT_WAIT(4) + EVT_EXEC_WAIT(N(bounceOnHit)) + EVT_END_CHILD_THREAD + EVT_CALL(EnemyCreateTargetList, 98308) + EVT_CALL(InitTargetIterator) + EVT_LABEL(0) + EVT_CALL(GetOwnerID, LVar1) + EVT_CALL(GetOwnerTarget, LVar0, LVar9) + EVT_IF_NE(LVar1, LVar0) + EVT_CALL(ChooseNextTarget, 0, LVar0) + EVT_GOTO(0) + EVT_END_IF + EVT_LABEL(1) + EVT_ADD(LVarF, 1) + EVT_CALL(ChooseNextTarget, 0, LVar0) + EVT_IF_EQ(LVar0, -1) + EVT_GOTO(10) + EVT_END_IF + EVT_CALL(GetOwnerTarget, LVar0, LVar9) + EVT_CALL(GetActorFlags, LVar0, LVar1) + EVT_IF_FLAG(LVar1, ACTOR_FLAG_TARGET_ONLY) + EVT_GOTO(1) + EVT_END_IF + EVT_CALL(GetOwnerID, LVar0) + EVT_CALL(GetOwnerTarget, LVar0, LVar1) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SET(LVar1, 0) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(0.1)) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(7.0)) + EVT_CALL(JumpPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, 1) + EVT_CHILD_THREAD + EVT_CALL(ShakeCam, 1, 0, 2, EVT_FLOAT(1.0)) + EVT_END_CHILD_THREAD + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetOwnerTarget, LVar0, LVar1) + EVT_CALL(DispatchDamageEvent, LVar0, 1, 17) + EVT_GOTO(1) + EVT_LABEL(10) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_D) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(0.1)) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(6.0)) + EVT_CALL(JumpPartTo, ACTOR_SELF, 6, 296, 0, 0, 0, 1) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_NO_TARGET, 1) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, 1) + EVT_RETURN + EVT_END +}; + +EvtScript N(onHit) = { + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_ELSE + EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(1.0)) + EVT_END_IF + EVT_EXEC_WAIT(N(afterPartThrown)) + EVT_SET_CONST(LVar0, 1) + EVT_CALL(GetLastEvent, ACTOR_SELF, LVar1) + EVT_SWITCH(LVar1) + EVT_CASE_OR_EQ(EVENT_BURN_HIT) + EVT_CASE_OR_EQ(EVENT_BURN_DEATH) + EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_Pokey_Anim20) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_BURN), LVar1) + EVT_END_CASE_GROUP + EVT_CASE_DEFAULT + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_HIT), LVar1) + EVT_END_SWITCH + EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) + EVT_CHILD_THREAD + EVT_WAIT(4) + EVT_EXEC_WAIT(N(bounceOnHit)) + EVT_END_CHILD_THREAD + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), LVarA) + EVT_IF_NE(LVarA, 3) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, 6, LVar0, LVar1, LVar2) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, 0) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(6.0)) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 30) + EVT_SET(LVar1, 0) + EVT_CALL(FlyPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 10, 18, 0) + EVT_ADD(LVar0, 20) + EVT_CALL(FlyPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 8, 10, 0) + EVT_LOOP(20) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, 1) + EVT_WAIT(1) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_NO_TARGET, 1) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, 1) + EVT_ELSE + EVT_WAIT(30) + EVT_END_IF + EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(EVENT_BURN_HIT) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_BURN2), LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(GetActorSize, ACTOR_SELF, LVar3, LVar4) + EVT_DIV(LVar3, 2) + EVT_ADD(LVar1, LVar3) + EVT_ADD(LVar2, 5) + EVT_DIVF(LVar3, EVT_FLOAT(10.0)) + EVT_CALL(PlayEffect, EFFECT_SMOKE_BURST, 0, LVar0, LVar1, LVar2, LVar3, 10, 0, 0, 0, 0, 0, 0, 0) + EVT_CASE_EQ(EVENT_BURN_DEATH) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_BURN2), LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_WAIT(10) + EVT_CASE_DEFAULT + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(flee) = { + EVT_SET_CONST(LVar0, 1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_HIT), LVar1) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(GetActorFlags, ACTOR_SELF, LVar9) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.05)) + EVT_CALL(GetActorPos, ACTOR_SELF, LVarA, LVarB, LVarC) + EVT_SET(LVarD, LVarB) + EVT_ADD(LVarD, 40) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVarA, LVarD, LVarC) + EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) + EVT_WAIT(20) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC) + EVT_CALL(FallToGoal, -127, 10) + EVT_WAIT(20) + EVT_CALL(SetActorYaw, ACTOR_SELF, 180) + EVT_WAIT(5) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), LVar2) + EVT_SWITCH(LVar2) + EVT_CASE_EQ(0) + EVT_SET(LVar2, 96) + EVT_SET(LVar6, 4) + EVT_CASE_EQ(1) + EVT_SET(LVar2, 72) + EVT_SET(LVar6, 3) + EVT_CASE_EQ(2) + EVT_SET(LVar2, 48) + EVT_SET(LVar6, 2) + EVT_CASE_DEFAULT + EVT_SET(LVar2, 24) + EVT_SET(LVar6, 1) + EVT_END_SWITCH + EVT_CHILD_THREAD + EVT_CALL(GetActorPos, ACTOR_SELF, LVarA, LVarB, LVarC) + EVT_LOOP(LVar6) + EVT_CALL(PlayEffect, EFFECT_SHOCKWAVE, 2, LVarA, 0, LVarC, 0, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_WAIT(10) + EVT_END_LOOP + EVT_END_CHILD_THREAD + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(2.0)) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) + EVT_SUB(LVar4, LVar2) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar3, LVar4, LVar5) + EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 0, 0) + EVT_WAIT(8) + EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(RemoveActor, ACTOR_SELF) + EVT_RETURN + EVT_END +}; diff --git a/src/battle/common/actor/red_magikoopa.inc.c b/src/battle/common/actor/red_magikoopa.inc.c index 6abefde3d0..15ff970589 100644 --- a/src/battle/common/actor/red_magikoopa.inc.c +++ b/src/battle/common/actor/red_magikoopa.inc.c @@ -5,27 +5,27 @@ #include "sprite/npc/Magikoopa.h" #include "sprite/npc/FlyingMagikoopa.h" -extern EvtScript N(8022E6A0); -extern EvtScript N(8022E558); -extern EvtScript N(8022E5FC); +extern EvtScript N(takeTurn); +extern EvtScript N(init); +extern EvtScript N(init_flying); -extern EvtScript N(8022E334); +extern EvtScript N(flee); -extern s32 N(8022C370)[]; -extern s32 N(8022C3BC)[]; -extern s32 N(8022C408)[]; +extern s32 N(idleAnimations1)[]; +extern s32 N(idleAnimations2)[]; +extern s32 N(idleAnimations3)[]; -s32 N(8022C120)[] = { +s32 N(defenseTable)[] = { ELEMENT_NORMAL, 0, ELEMENT_END, }; -s32 N(8022C12C)[] = { +s32 N(defenseTable_flying)[] = { ELEMENT_NORMAL, 0, ELEMENT_END, }; -s32 N(8022C138)[] = { +s32 N(statusTable)[] = { STATUS_NORMAL, 0, STATUS_DEFAULT, 0, STATUS_SLEEP, 50, @@ -50,7 +50,7 @@ s32 N(8022C138)[] = { STATUS_END, }; -s32 N(8022C1E4)[] = { +s32 N(statusTable_flying)[] = { STATUS_NORMAL, 0, STATUS_DEFAULT, 0, STATUS_SLEEP, 50, @@ -82,8 +82,8 @@ ActorPartBlueprint N(parts)[] = { .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 35 }, .opacity = 255, - .idleAnimations = N(8022C370), - .defenseTable = N(8022C120), + .idleAnimations = N(idleAnimations1), + .defenseTable = N(defenseTable), .eventFlags = 0, .elementImmunityFlags = 0, .unk_1C = -5, @@ -91,15 +91,15 @@ ActorPartBlueprint N(parts)[] = { }, }; -ActorPartBlueprint N(8022C2B4)[] = { +ActorPartBlueprint N(parts_flying)[] = { { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, .index = 1, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 35 }, .opacity = 255, - .idleAnimations = N(8022C370), - .defenseTable = N(8022C12C), + .idleAnimations = N(idleAnimations1), + .defenseTable = N(defenseTable_flying), .eventFlags = ACTOR_EVENT_FLAG_800000, .elementImmunityFlags = 0, .unk_1C = -5, @@ -111,8 +111,8 @@ ActorPartBlueprint N(8022C2B4)[] = { .posOffset = { 0, 0, 0 }, .targetOffset = { -10, 35 }, .opacity = 255, - .idleAnimations = N(8022C3BC), - .defenseTable = N(8022C12C), + .idleAnimations = N(idleAnimations2), + .defenseTable = N(defenseTable_flying), .eventFlags = 0, .elementImmunityFlags = 0, .unk_1C = 0, @@ -124,8 +124,8 @@ ActorPartBlueprint N(8022C2B4)[] = { .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, - .idleAnimations = N(8022C408), - .defenseTable = N(8022C12C), + .idleAnimations = N(idleAnimations3), + .defenseTable = N(defenseTable_flying), .eventFlags = 0, .elementImmunityFlags = 0, .unk_1C = 0, @@ -140,8 +140,8 @@ ActorBlueprint NAMESPACE = { .maxHP = 11, .partCount = ARRAY_COUNT(N(parts)), .partsData = N(parts), - .script = &N(8022E558), - .statusTable = N(8022C138), + .script = &N(init), + .statusTable = N(statusTable), .escapeChance = 40, .airLiftChance = 80, .spookChance = 70, @@ -161,10 +161,10 @@ ActorBlueprint N(flying) = { .type = ACTOR_TYPE_FLYING_RED_MAGIKOOPA, .level = 21, .maxHP = 11, - .partCount = ARRAY_COUNT(N(8022C2B4)), - .partsData = N(8022C2B4), - .script = &N(8022E5FC), - .statusTable = N(8022C1E4), + .partCount = ARRAY_COUNT(N(parts_flying)), + .partsData = N(parts_flying), + .script = &N(init_flying), + .statusTable = N(statusTable_flying), .escapeChance = 40, .airLiftChance = 95, .spookChance = 75, @@ -179,7 +179,7 @@ ActorBlueprint N(flying) = { .statusMessageOffset = { 1, 34 }, }; -s32 N(8022C370)[] = { +s32 N(idleAnimations1)[] = { STATUS_NORMAL, ANIM_Magikoopa_Red_Anim01, STATUS_STONE, ANIM_Magikoopa_Red_Anim00, STATUS_SLEEP, ANIM_Magikoopa_Red_Anim08, @@ -192,7 +192,7 @@ s32 N(8022C370)[] = { STATUS_END, }; -s32 N(8022C3BC)[] = { +s32 N(idleAnimations2)[] = { STATUS_NORMAL, ANIM_FlyingMagikoopa_Red_Anim01, STATUS_STONE, ANIM_FlyingMagikoopa_Red_Anim00, STATUS_SLEEP, ANIM_FlyingMagikoopa_Red_Anim08, @@ -205,12 +205,12 @@ s32 N(8022C3BC)[] = { STATUS_END, }; -s32 N(8022C408)[] = { +s32 N(idleAnimations3)[] = { STATUS_NORMAL, ANIM_FlyingMagikoopa_Red_Anim0A, STATUS_END, }; -EvtScript N(8022C414) = { +EvtScript N(idle) = { EVT_RETURN EVT_END }; @@ -221,7 +221,7 @@ EvtScript N(8022C414) = { #include "common/StartRumbleWithParams.inc.c" #include "world/common/UnkFunc52.inc.c" -EvtScript N(8022C424) = { +EvtScript N(handleEvent) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) @@ -286,7 +286,7 @@ EvtScript N(8022C424) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_WAIT(15) EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Red_Anim02) - EVT_EXEC_WAIT(N(8022E334)) + EVT_EXEC_WAIT(N(flee)) EVT_RETURN EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) EVT_SET_CONST(LVar0, 1) @@ -313,7 +313,7 @@ EvtScript N(8022C424) = { EVT_END }; -EvtScript N(8022C93C) = { +EvtScript N(canBeKnockedOff) = { EVT_CALL(GetBattleFlags, LVar0) EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_80000) EVT_IF_FLAG(LVar0, BS_FLAGS1_40 | BS_FLAGS1_200) @@ -322,10 +322,10 @@ EvtScript N(8022C93C) = { EVT_ELSE EVT_CALL(N(GetSelectedMoveID), LVar0) EVT_SWITCH(LVar0) - EVT_CASE_OR_EQ(131) - EVT_CASE_OR_EQ(132) - EVT_CASE_OR_EQ(133) - EVT_CASE_OR_EQ(136) + EVT_CASE_OR_EQ(MOVE_HEADBONK1) + EVT_CASE_OR_EQ(MOVE_HEADBONK2) + EVT_CASE_OR_EQ(MOVE_HEADBONK3) + EVT_CASE_OR_EQ(MOVE_MULTIBONK) EVT_CALL(GetBattleFlags, LVar0) EVT_IF_FLAG(LVar0, BS_FLAGS1_40 | BS_FLAGS1_200) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) @@ -337,7 +337,7 @@ EvtScript N(8022C93C) = { EVT_END }; -EvtScript N(8022CA48) = { +EvtScript N(knockOff) = { EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 1) EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Red_Anim04) @@ -395,9 +395,9 @@ EvtScript N(8022CA48) = { EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, 1) EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Red_Anim01) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, 0) - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(8022C424))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) EVT_CALL(SetActorType, ACTOR_SELF, ACTOR_TYPE_RED_MAGIKOOPA) - EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(8022C138))) + EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(statusTable))) EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 32) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_1000, 1) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) @@ -413,32 +413,32 @@ EvtScript N(8022CA48) = { EVT_END }; -EvtScript N(8022D044) = { +EvtScript N(handleEvent_flying) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(EVENT_HIT_COMBO) - EVT_EXEC_WAIT(N(8022C93C)) + EVT_EXEC_WAIT(N(canBeKnockedOff)) EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Red_Anim04) EVT_EXEC_WAIT(DoNormalHit) EVT_CASE_OR_EQ(EVENT_HIT) EVT_CASE_OR_EQ(EVENT_FALL_TRIGGER) - EVT_EXEC_WAIT(N(8022C93C)) + EVT_EXEC_WAIT(N(canBeKnockedOff)) EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Red_Anim04) EVT_EXEC_WAIT(DoNormalHit) - EVT_EXEC_WAIT(N(8022CA48)) + EVT_EXEC_WAIT(N(knockOff)) EVT_END_CASE_GROUP EVT_CASE_OR_EQ(EVENT_BURN_HIT) EVT_CASE_OR_EQ(EVENT_15) - EVT_EXEC_WAIT(N(8022C93C)) + EVT_EXEC_WAIT(N(canBeKnockedOff)) EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Red_Anim05) EVT_SET_CONST(LVar2, ANIM_FlyingMagikoopa_Red_Anim06) EVT_EXEC_WAIT(DoBurnHit) - EVT_EXEC_WAIT(N(8022CA48)) + EVT_EXEC_WAIT(N(knockOff)) EVT_END_CASE_GROUP EVT_CASE_EQ(EVENT_BURN_DEATH) EVT_SET_CONST(LVar0, 2) @@ -499,7 +499,7 @@ EvtScript N(8022D044) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_WAIT(15) EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Red_Anim02) - EVT_EXEC_WAIT(N(8022E334)) + EVT_EXEC_WAIT(N(flee)) EVT_RETURN EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) EVT_SET_CONST(LVar0, 2) @@ -526,7 +526,7 @@ EvtScript N(8022D044) = { EVT_END }; -EvtScript N(8022D6A8) = { +EvtScript N(attackMagicBlast) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) @@ -619,14 +619,14 @@ EvtScript N(8022D6A8) = { EVT_END }; -EvtScript N(8022DCC4) = { +EvtScript N(attackWandStrike) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, -1, 1, 0) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x2DB) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2DB) EVT_THREAD EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Red_Anim02) EVT_SET(LVar0, 200) @@ -657,7 +657,7 @@ EvtScript N(8022DCC4) = { EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Red_Anim03) EVT_WAIT(11) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x2DC) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2DC) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) @@ -723,7 +723,7 @@ EvtScript N(8022DCC4) = { EVT_END }; -EvtScript N(8022E334) = { +EvtScript N(flee) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(func_8027D32C, ACTOR_SELF) @@ -757,10 +757,10 @@ EvtScript N(8022E334) = { EVT_END }; -EvtScript N(8022E558) = { - EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(8022C414))) - EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(8022E6A0))) - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(8022C424))) +EvtScript N(init) = { + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) EVT_CALL(GetBattleVar, 2, LVar0) EVT_IF_EQ(LVar0, 0) EVT_CALL(SetBattleVar, 2, -1) @@ -770,10 +770,10 @@ EvtScript N(8022E558) = { EVT_END }; -EvtScript N(8022E5FC) = { - EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(8022C414))) - EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(8022E6A0))) - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(8022D044))) +EvtScript N(init_flying) = { + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_flying))) EVT_CALL(GetBattleVar, 2, LVar0) EVT_IF_EQ(LVar0, 0) EVT_CALL(SetBattleVar, 2, -1) @@ -783,7 +783,7 @@ EvtScript N(8022E5FC) = { EVT_END }; -EvtScript N(8022E6A0) = { +EvtScript N(takeTurn) = { EVT_SET(LocalFlag(0), 0) EVT_LABEL(10) EVT_CALL(EnemyCreateTargetList, 32770) @@ -814,14 +814,14 @@ EvtScript N(8022E6A0) = { EVT_END_IF EVT_CALL(CountPlayerTargets, ACTOR_SELF, 32770, LVar0) EVT_IF_EQ(LVar0, 1) - EVT_EXEC_WAIT(N(8022E334)) + EVT_EXEC_WAIT(N(flee)) EVT_RETURN EVT_END_IF EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_EXEC_WAIT(N(8022D6A8)) + EVT_EXEC_WAIT(N(attackMagicBlast)) EVT_ELSE - EVT_EXEC_WAIT(N(8022DCC4)) + EVT_EXEC_WAIT(N(attackWandStrike)) EVT_END_IF EVT_RETURN EVT_LABEL(100) @@ -880,7 +880,7 @@ EvtScript N(8022E6A0) = { EVT_WAIT(5) EVT_THREAD EVT_WAIT(10) - EVT_CALL(PlaySoundAtActor, LVar8, 0x2DD) + EVT_CALL(PlaySoundAtActor, LVar8, SOUND_2DD) EVT_END_THREAD EVT_THREAD EVT_CALL(func_8026BF48, 1) diff --git a/src/battle/common/actor/red_shy_guy.inc.c b/src/battle/common/actor/red_shy_guy.inc.c new file mode 100644 index 0000000000..4a8a63ca0e --- /dev/null +++ b/src/battle/common/actor/red_shy_guy.inc.c @@ -0,0 +1,493 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "sprite/npc/ShyGuy.h" + +extern s32 N(idleAnimations)[]; +extern EvtScript N(init); +extern EvtScript N(takeTurn); +extern EvtScript N(idle); +extern EvtScript N(handleEvent); + +s32 N(defenseTable)[] = { + ELEMENT_NORMAL, 0, + ELEMENT_SHOCK, 0, + ELEMENT_END, +}; + +s32 N(statusTable)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 70, + STATUS_POISON, 50, + STATUS_FROZEN, 0, + STATUS_DIZZY, 90, + STATUS_FEAR, 100, + STATUS_STATIC, 50, + STATUS_PARALYZE, 90, + STATUS_SHRINK, 75, + STATUS_STOP, 90, + STATUS_DEFAULT_TURN_MOD, 0, + STATUS_SLEEP_TURN_MOD, 0, + STATUS_POISON_TURN_MOD, 0, + STATUS_FROZEN_TURN_MOD, 0, + STATUS_DIZZY_TURN_MOD, 0, + STATUS_FEAR_TURN_MOD, 0, + STATUS_STATIC_TURN_MOD, 0, + STATUS_PARALYZE_TURN_MOD, 1, + STATUS_SHRINK_TURN_MOD, 0, + STATUS_STOP_TURN_MOD, 0, + STATUS_END, +}; + +ActorPartBlueprint N(parts)[] = { + { + .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 24 }, + .opacity = 255, + .idleAnimations = N(idleAnimations), + .defenseTable = N(defenseTable), + .eventFlags = ACTOR_EVENT_FLAG_0, + .elementImmunityFlags = 0, + .unk_1C = 0xFF, + .unk_1D = 0xF6, + }, +}; + +ActorBlueprint NAMESPACE = { + .flags = 0, + .type = ACTOR_TYPE_SHY_GUY, + .level = 14, + .maxHP = 7, + .partCount = ARRAY_COUNT(N(parts)), + .partsData = N(parts), + .script = &N(init), + .statusTable = N(statusTable), + .escapeChance = 60, + .airLiftChance = 85, + .spookChance = 80, + .baseStatusChance = 80, + .upAndAwayChance = 95, + .spinSmashReq = 0, + .powerBounceChance = 100, + .coinReward = 1, + .size = { 28, 24 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -10, 20 }, + .statusMessageOffset = { 10, 20 }, +}; + +s32 N(idleAnimations)[] = { + STATUS_NORMAL, ANIM_ShyGuy_Red_Anim01, + STATUS_STONE, ANIM_ShyGuy_Red_Anim00, + STATUS_SLEEP, ANIM_ShyGuy_Red_Anim12, + STATUS_POISON, ANIM_ShyGuy_Red_Anim01, + STATUS_STOP, ANIM_ShyGuy_Red_Anim00, + STATUS_STATIC, ANIM_ShyGuy_Red_Anim01, + STATUS_PARALYZE, ANIM_ShyGuy_Red_Anim00, + STATUS_DIZZY, ANIM_ShyGuy_Red_Anim13, + STATUS_FEAR, ANIM_ShyGuy_Red_Anim13, + STATUS_END, +}; + +EvtScript N(init) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) + EVT_RETURN + EVT_END +}; + +#include "common/UnkBattleFunc1.inc.c" + +EvtScript N(idle) = { + EVT_LABEL(0) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP) + EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -4, 14) + EVT_CALL(func_8027D4C8, ACTOR_SELF, 1, 0, 0) + EVT_CALL(N(UnkBattleFunc1), -10, 13, 10, 13) + EVT_ELSE + EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 24) + EVT_CALL(func_8027D4C8, ACTOR_SELF, 1, -1, -10) + EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_END_IF + EVT_WAIT(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(returnHome) = { + EVT_CALL(ResetAllActorSounds, ACTOR_SELF) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim03) + EVT_EXEC_WAIT(DoReturnHome) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim01) + EVT_RETURN + EVT_END +}; + +EvtScript N(handleEvent) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(EVENT_HIT_COMBO) + EVT_CASE_OR_EQ(EVENT_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) + EVT_EXEC_WAIT(DoNormalHit) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_BURN_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0D) + EVT_SET_CONST(LVar2, ANIM_ShyGuy_Red_Anim0E) + EVT_EXEC_WAIT(DoBurnHit) + EVT_CASE_EQ(EVENT_BURN_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0D) + EVT_SET_CONST(LVar2, ANIM_ShyGuy_Red_Anim0E) + EVT_EXEC_WAIT(DoBurnHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0E) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_SHOCK_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) + EVT_EXEC_WAIT(DoShockHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) + EVT_EXEC_WAIT(DoJumpBack) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) + EVT_EXEC_WAIT(N(returnHome)) + EVT_CASE_EQ(EVENT_SHOCK_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) + EVT_EXEC_WAIT(DoShockHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER) + EVT_CASE_OR_EQ(EVENT_IMMUNE) + EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim01) + EVT_EXEC_WAIT(DoImmune) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) + EVT_EXEC_WAIT(DoNormalHit) + EVT_WAIT(10) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_RECOVER_STATUS) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim01) + EVT_EXEC_WAIT(DoRecover) + EVT_CASE_EQ(EVENT_SCARE_AWAY) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim03) + EVT_SET_CONST(LVar2, ANIM_ShyGuy_Red_Anim14) + EVT_EXEC_WAIT(DoScareAway) + EVT_RETURN + EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) + EVT_EXEC_WAIT(DoAirLift) + EVT_CASE_EQ(EVENT_BLOW_AWAY) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) + EVT_EXEC_WAIT(DoBlowAway) + EVT_RETURN + EVT_CASE_DEFAULT + EVT_END_SWITCH + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(bumpAttack) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(MoveBattleCamOver, 20) + EVT_CALL(func_8024ECF8, -1, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim03) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 50) + EVT_SET(LVar1, 0) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_MISS) + EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) + EVT_SET(LVarA, LVar0) + EVT_CALL(SetActorSounds, ACTOR_SELF, 2, 751, 0) + EVT_CALL(SetActorSounds, ACTOR_SELF, 0, 8378, 948) + EVT_CALL(SetActorSounds, ACTOR_SELF, 4, 10, 0) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim04) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim05) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 30) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) + EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_CALL(ResetAllActorSounds, ACTOR_SELF) + EVT_SUB(LVar0, 20) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) + EVT_WAIT(15) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(SetActorYaw, ACTOR_SELF, 180) + EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim04) + EVT_EXEC_WAIT(DoReturnHome) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetActorYaw, ACTOR_SELF, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim01) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_THREAD + EVT_WAIT(3) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2EF) + EVT_END_THREAD + EVT_CALL(SetActorSounds, ACTOR_SELF, 0, 8378, 948) + EVT_CALL(SetActorSounds, ACTOR_SELF, 4, 10, 0) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim04) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 10) + EVT_SET(LVar1, 0) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim05) + EVT_WAIT(2) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(ResetAllActorSounds, ACTOR_SELF) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 15) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 30) + EVT_SET(LVar1, 0) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim01) + EVT_WAIT(8) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) + EVT_EXEC_WAIT(N(returnHome)) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(acrobaticAttack) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(MoveBattleCamOver, 20) + EVT_CALL(func_8024ECF8, -1, 1, 0) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_234) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim09) + EVT_WAIT(20) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim03) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 80) + EVT_SET(LVar1, 0) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetActorSounds, ACTOR_SELF, 0, 8378, 948) + EVT_CALL(SetActorSounds, ACTOR_SELF, 4, 10, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim04) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) + EVT_SUB(LVar0, 40) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_MISS) + EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) + EVT_SET(LVarA, LVar0) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim09) + EVT_THREAD + EVT_WAIT(12) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim0A) + EVT_END_THREAD + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 10) + EVT_SET(LVar1, 0) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 24, FALSE, TRUE, FALSE) + EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim05) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 30) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) + EVT_SUB(LVar0, 20) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) + EVT_WAIT(15) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 15) + EVT_CALL(SetActorYaw, ACTOR_SELF, 180) + EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim04) + EVT_EXEC_WAIT(DoReturnHome) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetActorYaw, ACTOR_SELF, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim01) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim09) + EVT_THREAD + EVT_WAIT(9) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim0A) + EVT_END_THREAD + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(JumpToGoal, ACTOR_SELF, 18, FALSE, TRUE, FALSE) + EVT_WAIT(2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_HIT) + EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 15) + EVT_THREAD + EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 14, 0) + EVT_SET(LVar3, 0) + EVT_LOOP(20) + EVT_SUB(LVar3, 30) + EVT_IF_LT(LVar3, 0) + EVT_ADD(LVar3, 360) + EVT_END_IF + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar3) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) + EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) + EVT_END_THREAD + EVT_CALL(GetBattleFlags, LVar0) + EVT_IF_FLAG(LVar0, BS_FLAGS1_ATK_BLOCKED) + EVT_GOTO(1) + EVT_END_IF + EVT_CALL(GetLastDamage, ACTOR_PLAYER, LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_GOTO(1) + EVT_END_IF + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 40) + EVT_SET(LVar1, 0) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_349) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_749) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim09) + EVT_WAIT(10) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim07) + EVT_WAIT(15) + EVT_GOTO(2) + EVT_LABEL(1) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 40) + EVT_SET(LVar1, 0) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E4) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim10) + EVT_WAIT(10) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20C3) + EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) + EVT_CALL(RandInt, 100, LVar0) + EVT_IF_LT(LVar0, 50) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim11) + EVT_ELSE + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim13) + EVT_END_IF + EVT_WAIT(25) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetActorYaw, ACTOR_SELF, 180) + EVT_LABEL(2) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim04) + EVT_EXEC_WAIT(DoReturnHome) + EVT_CALL(SetActorYaw, ACTOR_SELF, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim01) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(takeTurn) = { + EVT_CALL(RandInt, 1, LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_EXEC_WAIT(N(bumpAttack)) + EVT_ELSE + EVT_EXEC_WAIT(N(acrobaticAttack)) + EVT_END_IF + EVT_RETURN + EVT_END +}; diff --git a/src/battle/common/actor/slot_machine.inc.c b/src/battle/common/actor/slot_machine.inc.c new file mode 100644 index 0000000000..5c58e4ec0a --- /dev/null +++ b/src/battle/common/actor/slot_machine.inc.c @@ -0,0 +1,463 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" + +extern EvtScript N(init); +extern EvtScript N(takeTurn); +extern EvtScript N(idle); +extern EvtScript N(handleEvent); + +BSS s32 N(slot_machine_buffer)[10]; + +s32 N(intTable1)[] = { 0, 1, 0, 2, 0, 2, 0, 2, }; +s32 N(intTable2)[] = { 0, 1, 0, 2, 1, 2, 0, 2, }; +s32 N(intTable3)[] = { 0, 1, 0, 2, 0, 2, 0, 2, }; + +s32 N(defenseTable)[] = { + ELEMENT_NORMAL, 0, + ELEMENT_END, +}; + +s32 N(statusTable)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 0, + STATUS_POISON, 0, + STATUS_FROZEN, 0, + STATUS_DIZZY, 0, + STATUS_FEAR, 0, + STATUS_STATIC, 0, + STATUS_PARALYZE, 0, + STATUS_SHRINK, 0, + STATUS_STOP, 0, + STATUS_DEFAULT_TURN_MOD, 0, + STATUS_SLEEP_TURN_MOD, 0, + STATUS_POISON_TURN_MOD, 0, + STATUS_FROZEN_TURN_MOD, 0, + STATUS_DIZZY_TURN_MOD, 0, + STATUS_FEAR_TURN_MOD, 0, + STATUS_STATIC_TURN_MOD, 0, + STATUS_PARALYZE_TURN_MOD, 0, + STATUS_SHRINK_TURN_MOD, 0, + STATUS_STOP_TURN_MOD, 0, + STATUS_END, +}; + +ActorPartBlueprint N(parts)[] = { + { + .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 0 }, + .opacity = 255, + .idleAnimations = NULL, + .defenseTable = N(defenseTable), + .eventFlags = ACTOR_EVENT_FLAG_0, + .elementImmunityFlags = 0, + .unk_1C = 0, + }, +}; + +ActorBlueprint N(slot_machine_stop) = { + .flags = ACTOR_FLAG_DISABLED | ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_TARGET_ONLY | ACTOR_FLAG_40000 | ACTOR_FLAG_NO_ATTACK, + .type = ACTOR_TYPE_SLOT_MACHINE_STOP, + .level = 99, + .maxHP = 99, + .partCount = ARRAY_COUNT(N(parts)), + .partsData = N(parts), + .script = &N(init), + .statusTable = N(statusTable), + .escapeChance = 0, + .airLiftChance = 0, + .spookChance = 0, + .baseStatusChance = 0, + .upAndAwayChance = 0, + .spinSmashReq = 0, + .powerBounceChance = 0, + .coinReward = 0, + .size = { 44, 40 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -10, 20 }, + .statusMessageOffset = { 10, 20 }, +}; + +ActorBlueprint N(slot_machine_start) = { + .flags = ACTOR_FLAG_DISABLED | ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_TARGET_ONLY | ACTOR_FLAG_40000 | ACTOR_FLAG_NO_ATTACK, + .type = ACTOR_TYPE_SLOT_MACHINE_START, + .level = 99, + .maxHP = 99, + .partCount = ARRAY_COUNT(N(parts)), + .partsData = N(parts), + .script = &N(init), + .statusTable = N(statusTable), + .escapeChance = 0, + .airLiftChance = 0, + .spookChance = 0, + .baseStatusChance = 0, + .upAndAwayChance = 0, + .spinSmashReq = 0, + .powerBounceChance = 0, + .coinReward = 0, + .size = { 44, 40 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -10, 20 }, + .statusMessageOffset = { 10, 20 }, +}; + +ApiStatus N(IsDemoBattle)(Evt* script, s32 isInitialCall) { + script->varTable[0] = 0; + if (gGameStatusPtr->demoFlags & 1) { + script->varTable[0] = 1; + } + + return ApiStatus_DONE2; +} + +ApiStatus N(Add1Coin)(Evt* script, s32 isInitialCall) { + add_coins(1); + return ApiStatus_DONE2; +} + +EvtScript N(init) = { + EVT_USE_ARRAY(N(slot_machine_buffer)) + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) + EVT_SET(ArrayVar(1), 0) + EVT_SET(ArrayVar(2), 0) + EVT_SET(ArrayVar(3), 0) + EVT_SET(ArrayVar(4), 0) + EVT_CALL(RandInt, 8, LVar0) + EVT_MUL(LVar0, 45) + EVT_SET(ArrayVar(5), LVar0) + EVT_CALL(RandInt, 8, LVar0) + EVT_MUL(LVar0, 45) + EVT_SET(ArrayVar(6), LVar0) + EVT_CALL(RandInt, 8, LVar0) + EVT_MUL(LVar0, 45) + EVT_SET(ArrayVar(7), LVar0) + EVT_CALL(N(IsDemoBattle)) + EVT_IF_EQ(LVar0, 1) + EVT_SET(ArrayVar(1), 1) + EVT_SET(ArrayVar(2), 1) + EVT_SET(ArrayVar(3), 1) + EVT_SET(ArrayVar(4), 1) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(idle) = { + EVT_USE_ARRAY(N(slot_machine_buffer)) + EVT_CALL(EnableTexPanning, 45, 1) + EVT_SET(LVarE, 0) + EVT_SET(LVarF, 0) + EVT_LABEL(0) + EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_CASE_EQ(1) + EVT_SWITCH(ArrayVar(2)) + EVT_CASE_EQ(0) + EVT_CASE_EQ(1) + EVT_ADD(ArrayVar(5), 5) + EVT_CASE_EQ(2) + EVT_IF_GT(ArrayVar(8), 0) + EVT_ADD(ArrayVar(5), 5) + EVT_SUB(ArrayVar(8), 5) + EVT_BREAK_SWITCH + EVT_END_IF + EVT_SET(LVar0, ArrayVar(5)) + EVT_MOD(LVar0, 45) + EVT_IF_NE(LVar0, 0) + EVT_ADD(ArrayVar(5), 5) + EVT_ELSE + EVT_SET(ArrayVar(2), 3) + EVT_END_IF + EVT_END_SWITCH + EVT_CALL(RotateModel, 32, ArrayVar(5), 1, 0, 0) + EVT_CALL(RotateModel, 33, ArrayVar(5), 1, 0, 0) + EVT_CALL(RotateModel, 34, ArrayVar(5), 1, 0, 0) + EVT_CASE_EQ(2) + EVT_SWITCH(ArrayVar(3)) + EVT_CASE_EQ(0) + EVT_CASE_EQ(1) + EVT_ADD(ArrayVar(6), 5) + EVT_CASE_EQ(2) + EVT_IF_GT(ArrayVar(9), 0) + EVT_ADD(ArrayVar(6), 5) + EVT_SUB(ArrayVar(9), 5) + EVT_BREAK_SWITCH + EVT_END_IF + EVT_SET(LVar0, ArrayVar(6)) + EVT_MOD(LVar0, 45) + EVT_IF_NE(LVar0, 0) + EVT_ADD(ArrayVar(6), 5) + EVT_ELSE + EVT_SET(ArrayVar(3), 3) + EVT_END_IF + EVT_END_SWITCH + EVT_CALL(RotateModel, 36, ArrayVar(6), 1, 0, 0) + EVT_CALL(RotateModel, 37, ArrayVar(6), 1, 0, 0) + EVT_CALL(RotateModel, 38, ArrayVar(6), 1, 0, 0) + EVT_CASE_EQ(3) + EVT_SWITCH(ArrayVar(4)) + EVT_CASE_EQ(0) + EVT_CASE_EQ(1) + EVT_ADD(ArrayVar(7), 5) + EVT_CASE_EQ(2) + EVT_IF_GT(ArrayVar(10), 0) + EVT_ADD(ArrayVar(7), 5) + EVT_SUB(ArrayVar(10), 5) + EVT_BREAK_SWITCH + EVT_END_IF + EVT_SET(LVar0, ArrayVar(7)) + EVT_MOD(LVar0, 45) + EVT_IF_NE(LVar0, 0) + EVT_ADD(ArrayVar(7), 5) + EVT_ELSE + EVT_SET(ArrayVar(4), 3) + EVT_END_IF + EVT_END_SWITCH + EVT_CALL(RotateModel, 40, ArrayVar(7), 1, 0, 0) + EVT_CALL(RotateModel, 41, ArrayVar(7), 1, 0, 0) + EVT_CALL(RotateModel, 42, ArrayVar(7), 1, 0, 0) + EVT_END_SWITCH + EVT_IF_GE(ArrayVar(5), 360) + EVT_SUB(ArrayVar(5), 360) + EVT_END_IF + EVT_IF_GE(ArrayVar(6), 360) + EVT_SUB(ArrayVar(6), 360) + EVT_END_IF + EVT_IF_GE(ArrayVar(7), 360) + EVT_SUB(ArrayVar(7), 360) + EVT_END_IF + EVT_IF_EQ(ArrayVar(1), 0) + EVT_ADD(LVarF, -277) + EVT_CALL(SetTexPanOffset, 11, 0, 0, LVarF) + EVT_END_IF + EVT_IF_EQ(ArrayVar(1), 1) + EVT_ADD(LVarF, -1110) + EVT_CALL(SetTexPanOffset, 11, 0, 0, LVarF) + EVT_END_IF + EVT_IF_EQ(ArrayVar(1), 2) + EVT_ADD(LVarF, -3330) + EVT_CALL(SetTexPanOffset, 11, 0, 0, LVarF) + EVT_END_IF + EVT_IF_EQ(ArrayVar(1), 2) + EVT_GOTO(1) + EVT_END_IF + EVT_IF_EQ(ArrayVar(1), 0) + EVT_GOTO(1) + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) + EVT_IF_NE(LVar0, 0) + EVT_GOTO(1) + EVT_END_IF + EVT_SET(LVar0, ArrayVar(2)) + EVT_ADD(LVar0, ArrayVar(3)) + EVT_ADD(LVar0, ArrayVar(4)) + EVT_IF_EQ(LVar0, 9) + EVT_SET(LVar0, ArrayVar(5)) + EVT_DIV(LVar0, 45) + EVT_USE_BUF(EVT_PTR(N(intTable1))) + EVT_BUF_PEEK(LVarA, LVar0) + EVT_SET(LVar0, ArrayVar(6)) + EVT_DIV(LVar0, 45) + EVT_USE_BUF(EVT_PTR(N(intTable2))) + EVT_BUF_PEEK(LVarB, LVar0) + EVT_SET(LVar0, ArrayVar(7)) + EVT_DIV(LVar0, 45) + EVT_USE_BUF(EVT_PTR(N(intTable3))) + EVT_BUF_PEEK(LVarC, LVar0) + EVT_LOOP(0) + EVT_IF_NE(LVarA, LVarB) + EVT_BREAK_LOOP + EVT_END_IF + EVT_IF_NE(LVarA, LVarC) + EVT_BREAK_LOOP + EVT_END_IF + EVT_IF_NE(LVarB, LVarC) + EVT_BREAK_LOOP + EVT_END_IF + EVT_THREAD + EVT_CALL(func_8026BF48, 1) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19) + EVT_CALL(SetBattleCamTarget, 0, 100, 0) + EVT_CALL(SetBattleCamOffsetZ, 0) + EVT_CALL(SetBattleCamZoom, 340) + EVT_CALL(MoveBattleCamOver, 10) + EVT_SWITCH(LVarA) + EVT_CASE_EQ(0) + EVT_LOOP(10) + EVT_CALL(MakeItemEntity, ITEM_COIN, -7, 105, -74, 26, 0) + EVT_CALL(N(Add1Coin)) + EVT_WAIT(1) + EVT_CALL(MakeItemEntity, ITEM_COIN, 17, 105, -74, 26, 0) + EVT_CALL(N(Add1Coin)) + EVT_WAIT(1) + EVT_CALL(MakeItemEntity, ITEM_COIN, 42, 105, -74, 26, 0) + EVT_CALL(N(Add1Coin)) + EVT_WAIT(10) + EVT_END_LOOP + EVT_CASE_EQ(1) + EVT_LOOP(10) + EVT_CALL(MakeItemEntity, ITEM_COIN, -7, 105, -74, 26, 0) + EVT_CALL(N(Add1Coin)) + EVT_WAIT(1) + EVT_CALL(MakeItemEntity, ITEM_COIN, 17, 105, -74, 26, 0) + EVT_CALL(N(Add1Coin)) + EVT_WAIT(1) + EVT_CALL(MakeItemEntity, ITEM_COIN, 42, 105, -74, 26, 0) + EVT_CALL(N(Add1Coin)) + EVT_WAIT(10) + EVT_END_LOOP + EVT_CASE_EQ(2) + EVT_LOOP(10) + EVT_CALL(MakeItemEntity, ITEM_COIN, -7, 105, -74, 26, 0) + EVT_CALL(N(Add1Coin)) + EVT_WAIT(1) + EVT_CALL(MakeItemEntity, ITEM_COIN, 17, 105, -74, 26, 0) + EVT_CALL(N(Add1Coin)) + EVT_WAIT(1) + EVT_CALL(MakeItemEntity, ITEM_COIN, 42, 105, -74, 26, 0) + EVT_CALL(N(Add1Coin)) + EVT_WAIT(10) + EVT_END_LOOP + EVT_END_SWITCH + EVT_SET(ArrayVar(1), 0) + EVT_SET(ArrayVar(2), 0) + EVT_SET(ArrayVar(3), 0) + EVT_SET(ArrayVar(4), 0) + EVT_CALL(func_8026BF48, 0) + EVT_END_THREAD + EVT_SET(ArrayVar(1), 2) + EVT_BREAK_LOOP + EVT_END_LOOP + EVT_END_IF + EVT_LABEL(1) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(handleEvent) = { + EVT_USE_ARRAY(N(slot_machine_buffer)) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(EVENT_HIT_COMBO) + EVT_CASE_OR_EQ(EVENT_HIT) + EVT_CASE_OR_EQ(EVENT_BURN_HIT) + EVT_CASE_OR_EQ(EVENT_SHOCK_HIT) + EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_CALL(TranslateModel, 28, 0, -2, 0) + EVT_WAIT(1) + EVT_CALL(TranslateModel, 28, 0, -6, 0) + EVT_WAIT(1) + EVT_CALL(TranslateModel, 28, 0, -7, 0) + EVT_WAIT(4) + EVT_CALL(TranslateModel, 28, 0, -4, 0) + EVT_WAIT(1) + EVT_CALL(TranslateModel, 28, 0, -2, 0) + EVT_WAIT(1) + EVT_CALL(TranslateModel, 28, 0, -1, 0) + EVT_WAIT(1) + EVT_CALL(TranslateModel, 28, 0, 0, 0) + EVT_SET(ArrayVar(1), 1) + EVT_SET(ArrayVar(2), 1) + EVT_SET(ArrayVar(3), 1) + EVT_SET(ArrayVar(4), 1) + EVT_CASE_EQ(1) + EVT_CALL(TranslateModel, 29, 0, -2, 0) + EVT_WAIT(1) + EVT_CALL(TranslateModel, 29, 0, -6, 0) + EVT_WAIT(1) + EVT_CALL(TranslateModel, 29, 0, -7, 0) + EVT_WAIT(4) + EVT_CALL(TranslateModel, 29, 0, -4, 0) + EVT_WAIT(1) + EVT_CALL(TranslateModel, 29, 0, -2, 0) + EVT_WAIT(1) + EVT_CALL(TranslateModel, 29, 0, -1, 0) + EVT_WAIT(1) + EVT_CALL(TranslateModel, 29, 0, 0, 0) + EVT_IF_EQ(ArrayVar(2), 1) + EVT_SET(ArrayVar(8), 100) + EVT_SET(ArrayVar(9), 150) + EVT_SET(ArrayVar(10), 200) + EVT_SET(ArrayVar(2), 2) + EVT_SET(ArrayVar(3), 2) + EVT_SET(ArrayVar(4), 2) + EVT_END_IF + EVT_CASE_EQ(2) + EVT_CALL(TranslateModel, 29, 0, -2, 0) + EVT_WAIT(1) + EVT_CALL(TranslateModel, 29, 0, -6, 0) + EVT_WAIT(1) + EVT_CALL(TranslateModel, 29, 0, -7, 0) + EVT_WAIT(4) + EVT_CALL(TranslateModel, 29, 0, -4, 0) + EVT_WAIT(1) + EVT_CALL(TranslateModel, 29, 0, -2, 0) + EVT_WAIT(1) + EVT_CALL(TranslateModel, 29, 0, -1, 0) + EVT_WAIT(1) + EVT_CALL(TranslateModel, 29, 0, 0, 0) + EVT_IF_EQ(ArrayVar(3), 1) + EVT_SET(ArrayVar(8), 150) + EVT_SET(ArrayVar(9), 100) + EVT_SET(ArrayVar(10), 200) + EVT_SET(ArrayVar(2), 2) + EVT_SET(ArrayVar(3), 2) + EVT_SET(ArrayVar(4), 2) + EVT_END_IF + EVT_CASE_EQ(3) + EVT_CALL(TranslateModel, 29, 0, -2, 0) + EVT_WAIT(1) + EVT_CALL(TranslateModel, 29, 0, -6, 0) + EVT_WAIT(1) + EVT_CALL(TranslateModel, 29, 0, -7, 0) + EVT_WAIT(4) + EVT_CALL(TranslateModel, 29, 0, -4, 0) + EVT_WAIT(1) + EVT_CALL(TranslateModel, 29, 0, -2, 0) + EVT_WAIT(1) + EVT_CALL(TranslateModel, 29, 0, -1, 0) + EVT_WAIT(1) + EVT_CALL(TranslateModel, 29, 0, 0, 0) + EVT_IF_EQ(ArrayVar(4), 1) + EVT_SET(ArrayVar(8), 200) + EVT_SET(ArrayVar(9), 150) + EVT_SET(ArrayVar(10), 100) + EVT_SET(ArrayVar(2), 2) + EVT_SET(ArrayVar(3), 2) + EVT_SET(ArrayVar(4), 2) + EVT_END_IF + EVT_END_SWITCH + EVT_END_CASE_GROUP + EVT_CASE_OR_EQ(EVENT_BURN_DEATH) + EVT_CASE_OR_EQ(EVENT_SPIN_SMASH_HIT) + EVT_CASE_OR_EQ(EVENT_SHOCK_DEATH) + EVT_CASE_OR_EQ(EVENT_DEATH) + EVT_CASE_OR_EQ(EVENT_SPIN_SMASH_DEATH) + EVT_CASE_OR_EQ(EVENT_SPIKE_CONTACT) + EVT_CASE_OR_EQ(EVENT_BURN_CONTACT) + EVT_END_CASE_GROUP + EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER) + EVT_CASE_OR_EQ(EVENT_IMMUNE) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(takeTurn) = { + EVT_USE_ARRAY(N(slot_machine_buffer)) + EVT_RETURN + EVT_END +}; diff --git a/src/battle/common/actor/swoopula.inc.c b/src/battle/common/actor/swoopula.inc.c new file mode 100644 index 0000000000..4c4d0428b6 --- /dev/null +++ b/src/battle/common/actor/swoopula.inc.c @@ -0,0 +1,1192 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "effects.h" +#include "sprite/npc/Swooper.h" +#include "battle/action_cmd/stop_leech.h" + +extern EvtScript N(init); +extern EvtScript N(idle); +extern EvtScript N(takeTurn); +extern EvtScript N(handleEvent); + +extern s32 N(idleAnimations)[]; + +s32 N(defenseTable)[] = { + ELEMENT_NORMAL, 0, + ELEMENT_END, +}; + +s32 N(statusTable)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 60, + STATUS_POISON, 60, + STATUS_FROZEN, 0, + STATUS_DIZZY, 100, + STATUS_FEAR, 0, + STATUS_STATIC, 80, + STATUS_PARALYZE, 80, + STATUS_SHRINK, 75, + STATUS_STOP, 85, + STATUS_DEFAULT_TURN_MOD, 0, + STATUS_SLEEP_TURN_MOD, 0, + STATUS_POISON_TURN_MOD, 0, + STATUS_FROZEN_TURN_MOD, 0, + STATUS_DIZZY_TURN_MOD, 1, + STATUS_FEAR_TURN_MOD, 0, + STATUS_STATIC_TURN_MOD, 0, + STATUS_PARALYZE_TURN_MOD, 0, + STATUS_SHRINK_TURN_MOD, 0, + STATUS_STOP_TURN_MOD, 0, + STATUS_END, +}; + +ActorPartBlueprint N(parts)[] = { + { + .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 29 }, + .opacity = 255, + .idleAnimations = N(idleAnimations), + .defenseTable = N(defenseTable), + .eventFlags = 0, + .elementImmunityFlags = 0, + .unk_1C = 1, + .unk_1D = 15, + }, +}; + +ActorBlueprint NAMESPACE = { + .flags = ACTOR_FLAG_HP_OFFSET_BELOW, + .type = ACTOR_TYPE_SWOOPULA, + .level = 22, + .maxHP = 8, + .partCount = ARRAY_COUNT(N(parts)), + .partsData = N(parts), + .script = &N(init), + .statusTable = N(statusTable), + .escapeChance = 30, + .airLiftChance = 95, + .spookChance = 95, + .baseStatusChance = 70, + .upAndAwayChance = 95, + .spinSmashReq = 0, + .powerBounceChance = 80, + .coinReward = 1, + .size = { 31, 24 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -10, -20 }, + .statusMessageOffset = { 10, -20 }, +}; + +s32 N(idleAnimations)[] = { + STATUS_NORMAL, ANIM_Swooper_Gray_Anim0C, + STATUS_STONE, ANIM_Swooper_Gray_Anim0B, + STATUS_SLEEP, ANIM_Swooper_Gray_Anim0F, + STATUS_POISON, ANIM_Swooper_Gray_Anim0C, + STATUS_STOP, ANIM_Swooper_Gray_Anim0B, + STATUS_STATIC, ANIM_Swooper_Gray_Anim0C, + STATUS_PARALYZE, ANIM_Swooper_Gray_Anim0B, + STATUS_DIZZY, ANIM_Swooper_Gray_Anim10, + STATUS_FEAR, ANIM_Swooper_Gray_Anim10, + STATUS_END, +}; + +s32 N(idleAnimations_flying)[] = { + STATUS_NORMAL, ANIM_Swooper_Gray_Anim02, + STATUS_STONE, ANIM_Swooper_Gray_Anim01, + STATUS_SLEEP, ANIM_Swooper_Gray_Anim13, + STATUS_POISON, ANIM_Swooper_Gray_Anim02, + STATUS_STOP, ANIM_Swooper_Gray_Anim01, + STATUS_STATIC, ANIM_Swooper_Gray_Anim02, + STATUS_PARALYZE, ANIM_Swooper_Gray_Anim01, + STATUS_DIZZY, ANIM_Swooper_Gray_Anim14, + STATUS_FEAR, ANIM_Swooper_Gray_Anim14, + STATUS_END, +}; + +EvtScript N(init) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) + EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(idle) = { + EVT_RETURN + EVT_END +}; + +EvtScript N(returnHome) = { + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim02) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(AddGoalPos, ACTOR_SELF, 0, -24, 0) + EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, 11) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_HP_OFFSET_BELOW, 1) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations))) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim0C) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 24) + EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(HPBarToHome, ACTOR_SELF) + EVT_CASE_EQ(1) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim02) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, 11) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(hadleEvent_flying) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(EVENT_HIT_COMBO) + EVT_CASE_OR_EQ(EVENT_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim15) + EVT_EXEC_WAIT(DoNormalHit) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_BURN_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim17) + EVT_SET_CONST(LVar2, ANIM_Swooper_Gray_Anim18) + EVT_EXEC_WAIT(DoBurnHit) + EVT_CASE_EQ(EVENT_BURN_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim17) + EVT_SET_CONST(LVar2, ANIM_Swooper_Gray_Anim18) + EVT_EXEC_WAIT(DoBurnHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim18) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_SHOCK_HIT) + EVT_CALL(func_80269470) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim15) + EVT_EXEC_WAIT(DoShockHit) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_EXEC_WAIT(N(returnHome)) + EVT_CASE_EQ(EVENT_SHOCK_DEATH) + EVT_CALL(func_80269470) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim15) + EVT_EXEC_WAIT(DoShockHit) + EVT_THREAD + EVT_WAIT(30) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_END_THREAD + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim15) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER) + EVT_CASE_OR_EQ(EVENT_IMMUNE) + EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim02) + EVT_EXEC_WAIT(DoImmune) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim15) + EVT_EXEC_WAIT(DoNormalHit) + EVT_WAIT(10) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim15) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_RECOVER_STATUS) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim02) + EVT_EXEC_WAIT(DoRecover) + EVT_CASE_EQ(EVENT_SCARE_AWAY) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, 0) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim02) + EVT_SET_CONST(LVar2, ANIM_Swooper_Gray_Anim15) + EVT_EXEC_WAIT(DoScareAway) + EVT_RETURN + EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim02) + EVT_EXEC_WAIT(DoAirLift) + EVT_CASE_EQ(EVENT_BLOW_AWAY) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim15) + EVT_EXEC_WAIT(DoBlowAway) + EVT_RETURN + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +#include "common/UnkBattleFunc1.inc.c" + +EvtScript N(knockDown) = { + EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(GetLastDamage, ACTOR_SELF, LVar0) + EVT_IF_LE(LVar0, 0) + EVT_RETURN + EVT_END_IF + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_HP_OFFSET_BELOW, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim02) + EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar1, 24) + EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVarA) + EVT_IF_EQ(LVarA, -1) + EVT_CALL(SetHomePos, ACTOR_SELF, LVar0, 45, LVar2) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, FALSE, FALSE) + EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, FALSE, FALSE) + EVT_ELSE + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, 45, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, FALSE, FALSE) + EVT_CALL(GetIndexFromPos, ACTOR_SELF, LVarA) + EVT_MOD(LVarA, 4) + EVT_ADD(LVarA, 4) + EVT_CALL(SetGoalToIndex, ACTOR_SELF, LVarA) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC) + EVT_CALL(SetHomePos, ACTOR_SELF, LVarA, LVarB, LVarC) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, FALSE, FALSE) + EVT_END_IF + EVT_CALL(func_8027D4C8, ACTOR_SELF, 1, 0, -10) + EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 22) + EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_flying))) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, 1) + EVT_CALL(HPBarToHome, ACTOR_SELF) + EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) + EVT_RETURN + EVT_END +}; + +EvtScript N(handleEvent) = { + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) + EVT_IF_EQ(LVar0, 1) + EVT_EXEC_WAIT(N(hadleEvent_flying)) + EVT_RETURN + EVT_END_IF + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(EVENT_HIT_COMBO) + EVT_CALL(GetBattlePhase, LVar0) + EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim15) + EVT_EXEC_WAIT(DoNormalHit) + EVT_ELSE + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim0E) + EVT_EXEC_WAIT(DoNormalHit) + EVT_END_IF + EVT_CASE_EQ(EVENT_HIT) + EVT_CALL(GetBattlePhase, LVar0) + EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim15) + EVT_EXEC_WAIT(DoNormalHit) + EVT_ELSE + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim0E) + EVT_EXEC_WAIT(DoNormalHit) + EVT_EXEC_WAIT(N(knockDown)) + EVT_END_IF + EVT_CASE_EQ(EVENT_BURN_HIT) + EVT_CALL(GetBattlePhase, LVar0) + EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim17) + EVT_SET_CONST(LVar2, ANIM_Swooper_Gray_Anim18) + EVT_EXEC_WAIT(DoBurnHit) + EVT_ELSE + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim11) + EVT_SET_CONST(LVar2, ANIM_Swooper_Gray_Anim12) + EVT_EXEC_WAIT(DoBurnHit) + EVT_EXEC_WAIT(N(knockDown)) + EVT_END_IF + EVT_CASE_EQ(EVENT_BURN_DEATH) + EVT_CALL(GetBattlePhase, LVar0) + EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim17) + EVT_SET_CONST(LVar2, ANIM_Swooper_Gray_Anim18) + EVT_EXEC_WAIT(DoBurnHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim18) + EVT_EXEC_WAIT(DoDeath) + EVT_ELSE + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim11) + EVT_SET_CONST(LVar2, ANIM_Swooper_Gray_Anim12) + EVT_EXEC_WAIT(DoBurnHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim12) + EVT_EXEC_WAIT(DoDeath) + EVT_END_IF + EVT_RETURN + EVT_CASE_EQ(EVENT_SHOCK_HIT) + EVT_CALL(func_80269470) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim15) + EVT_EXEC_WAIT(D_8029A76C) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_EXEC_WAIT(N(returnHome)) + EVT_CASE_EQ(EVENT_SHOCK_DEATH) + EVT_CALL(func_80269470) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim15) + EVT_EXEC_WAIT(D_8029A76C) + EVT_THREAD + EVT_WAIT(30) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_END_THREAD + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim15) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER) + EVT_CASE_OR_EQ(EVENT_IMMUNE) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim0C) + EVT_EXEC_WAIT(DoImmune) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_DEATH) + EVT_CALL(GetBattlePhase, LVar0) + EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim15) + EVT_EXEC_WAIT(DoNormalHit) + EVT_WAIT(10) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim15) + EVT_EXEC_WAIT(DoDeath) + EVT_ELSE + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim0E) + EVT_EXEC_WAIT(DoNormalHit) + EVT_WAIT(10) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim0E) + EVT_EXEC_WAIT(DoDeath) + EVT_END_IF + EVT_RETURN + EVT_CASE_EQ(EVENT_BEGIN_FIRST_STRIKE) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_HP_OFFSET_BELOW, 0) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_flying))) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim02) + EVT_CALL(SetActorPos, ACTOR_SELF, 20, 0, 0) + EVT_CALL(HPBarToCurrent, ACTOR_SELF) + EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) + EVT_EXEC_WAIT(N(returnHome)) + EVT_CALL(HPBarToHome, ACTOR_SELF) + EVT_CASE_EQ(EVENT_RECOVER_STATUS) + EVT_CASE_EQ(EVENT_SCARE_AWAY) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, 1) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_HP_OFFSET_BELOW, 0) + EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -24, 0) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim02) + EVT_SET_CONST(LVar2, ANIM_Swooper_Gray_Anim15) + EVT_EXEC_WAIT(DoScareAway) + EVT_RETURN + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +#include "common/UnkBattleFunc2.inc.c" + +EvtScript N(takeTurn_flying) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(GetBattlePhase, LVar0) + EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim02) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 10, 0) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ELSE + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(func_8024ECF8, -1, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim02) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 10, 0) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) + EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -4, 0) + EVT_END_IF + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE, 0, 2, BS_FLAGS1_10) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_MISS) + EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) + EVT_SET(LVarA, LVar0) + EVT_WAIT(10) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim06) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, FALSE, FALSE) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 50) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim06) + EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, 0) + EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(10.0)) + EVT_WAIT(15) + EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_CALL(YieldTurn) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(SetActorYaw, ACTOR_SELF, 180) + EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) + EVT_EXEC_WAIT(N(returnHome)) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetActorYaw, ACTOR_SELF, 0) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_CASE_EQ(HIT_RESULT_HIT_STATIC) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_FLAG(LVar0, STATUS_FLAG_STATIC) + EVT_SET(LocalFlag(0), 0) + EVT_ELSE + EVT_SET(LocalFlag(0), 1) + EVT_END_IF + EVT_END_SWITCH + EVT_WAIT(10) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim06) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, FALSE, FALSE) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(AddGoalPos, ACTOR_SELF, -4, -8, -15) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim06) + EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, 0) + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, 0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_RETURN + EVT_END_IF + EVT_CALL(GetStatusFlags, ACTOR_PLAYER, LVar0) + EVT_IF_FLAG(LVar0, STATUS_FLAG_STONE) + EVT_WAIT(10) + EVT_LOOP(2) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim02) + EVT_WAIT(21) + EVT_LOOP(2) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3E0) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.9), EVT_FLOAT(1.2), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.8), EVT_FLOAT(1.3), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.7), EVT_FLOAT(1.4), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.7), EVT_FLOAT(1.5), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.7), EVT_FLOAT(1.4), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.8), EVT_FLOAT(1.3), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.9), EVT_FLOAT(1.2), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_END_LOOP + EVT_WAIT(5) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.9), EVT_FLOAT(1.2), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.8), EVT_FLOAT(1.3), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.7), EVT_FLOAT(1.4), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.7), EVT_FLOAT(1.5), EVT_FLOAT(1.0)) + EVT_WAIT(2) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.6), EVT_FLOAT(1.6), EVT_FLOAT(1.0)) + EVT_WAIT(10) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_WAIT(2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, 2, BS_FLAGS1_40) + EVT_WAIT(30) + EVT_END_LOOP + EVT_ELSE + EVT_CALL(ShowMessageBox, 49, 32767) + EVT_CALL(func_802694A4, 1) + EVT_CALL(LoadActionCommand, ACTION_COMMAND_STOP_LEECH) + EVT_CALL(func_802A9000_425590) + EVT_CALL(SetupMashMeter, 1, 30, 0, 0, 0, 0) + EVT_WAIT(10) + EVT_CALL(SetBattleFlagBits, BS_FLAGS1_4000, 0) + EVT_CALL(func_802A9110_4256A0, 0, 32767, 3) + EVT_SET(LVarD, 0) + EVT_LOOP(5) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim02) + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(21) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, FALSE) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, 0x03000C) + EVT_LOOP(2) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x3E0) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(1) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.9), EVT_FLOAT(1.2), EVT_FLOAT(1.0)) + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(1) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.8), EVT_FLOAT(1.3), EVT_FLOAT(1.0)) + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(1) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.7), EVT_FLOAT(1.4), EVT_FLOAT(1.0)) + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(1) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.7), EVT_FLOAT(1.5), EVT_FLOAT(1.0)) + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(1) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.7), EVT_FLOAT(1.4), EVT_FLOAT(1.0)) + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(1) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.8), EVT_FLOAT(1.3), EVT_FLOAT(1.0)) + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(1) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.9), EVT_FLOAT(1.2), EVT_FLOAT(1.0)) + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(1) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(1) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(5) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x3E0) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(1) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.9), EVT_FLOAT(1.2), EVT_FLOAT(1.0)) + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(1) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.8), EVT_FLOAT(1.3), EVT_FLOAT(1.0)) + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(1) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.7), EVT_FLOAT(1.4), EVT_FLOAT(1.0)) + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(1) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.7), EVT_FLOAT(1.5), EVT_FLOAT(1.0)) + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(2) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.6), EVT_FLOAT(1.6), EVT_FLOAT(1.0)) + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(10) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(2) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_UNBLOCKABLE | DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, 2, BS_FLAGS1_40) + EVT_CALL(GetLastDamage, ACTOR_PLAYER, LVar3) + EVT_IF_NE(LVar3, 0) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_206D) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_214) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 15) + EVT_CALL(N(UnkBattleFunc2), LVar0, LVar1, LVar2, LVar3) + EVT_THREAD + EVT_WAIT(15) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_25C) + EVT_CALL(N(UnkBattleFunc2_2), LVar0, LVar1, LVar2, LVar3) + EVT_END_THREAD + EVT_ADD(LVar0, 20) + EVT_ADD(LVar1, 20) + EVT_CALL(PlayEffect, EFFECT_RECOVER, 0, LVar0, LVar1, LVar2, LVar3, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_CALL(GetActorHP, ACTOR_SELF, LVar0) + EVT_ADD(LVar0, LVar3) + EVT_CALL(SetEnemyHP, ACTOR_SELF, LVar0) + EVT_ELSE + EVT_ADD(LVarD, 1) + EVT_IF_GT(LVarD, 1) + EVT_CALL(func_80269470) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_IF + EVT_CALL(GetPlayerHP, LVar1) + EVT_IF_EQ(LVar1, 0) + EVT_CALL(func_80269470) + EVT_BREAK_LOOP + EVT_END_IF + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(30) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(func_80269470) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_END_IF + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 10, 0) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim02) + EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, 0) + EVT_WAIT(10) + EVT_CALL(YieldTurn) + EVT_EXEC_WAIT(N(returnHome)) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(takeTurn) = { + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) + EVT_IF_EQ(LVar0, 1) + EVT_EXEC_WAIT(N(takeTurn_flying)) + EVT_RETURN + EVT_END_IF + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(func_8024ECF8, -1, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim02) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_HP_OFFSET_BELOW, 0) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar1, 24) + EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE, 0, 2, BS_FLAGS1_10) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_MISS) + EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) + EVT_SET(LVarA, LVar0) + EVT_WAIT(10) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim06) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(AddGoalPos, ACTOR_SELF, -50, 0, 0) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim06) + EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -40, 0) + EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(10.0)) + EVT_WAIT(15) + EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_CALL(YieldTurn) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(SetActorYaw, ACTOR_SELF, 180) + EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) + EVT_EXEC_WAIT(N(returnHome)) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetActorYaw, ACTOR_SELF, 0) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_CASE_EQ(HIT_RESULT_HIT_STATIC) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_FLAG(LVar0, STATUS_FLAG_STATIC) + EVT_SET(LocalFlag(0), 0) + EVT_ELSE + EVT_SET(LocalFlag(0), 1) + EVT_END_IF + EVT_END_SWITCH + EVT_WAIT(10) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim06) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(AddGoalPos, ACTOR_SELF, -4, -8, -15) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim06) + EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -40, 0) + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, 0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_RETURN + EVT_END_IF + EVT_CALL(GetStatusFlags, ACTOR_PLAYER, LVar0) + EVT_IF_FLAG(LVar0, STATUS_FLAG_STONE) + EVT_WAIT(10) + EVT_LOOP(2) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim02) + EVT_WAIT(21) + EVT_LOOP(2) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3E0) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.9), EVT_FLOAT(1.2), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.8), EVT_FLOAT(1.3), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.7), EVT_FLOAT(1.4), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.7), EVT_FLOAT(1.5), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.7), EVT_FLOAT(1.4), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.8), EVT_FLOAT(1.3), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.9), EVT_FLOAT(1.2), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_END_LOOP + EVT_WAIT(5) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3E0) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.9), EVT_FLOAT(1.2), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.8), EVT_FLOAT(1.3), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.7), EVT_FLOAT(1.4), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.7), EVT_FLOAT(1.5), EVT_FLOAT(1.0)) + EVT_WAIT(2) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.6), EVT_FLOAT(1.6), EVT_FLOAT(1.0)) + EVT_WAIT(10) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_WAIT(2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, 2, BS_FLAGS1_40) + EVT_WAIT(30) + EVT_END_LOOP + EVT_ELSE + EVT_CALL(ShowMessageBox, 49, 32767) + EVT_CALL(func_802694A4, 1) + EVT_CALL(LoadActionCommand, ACTION_COMMAND_STOP_LEECH) + EVT_CALL(func_802A9000_425590) + EVT_CALL(SetupMashMeter, 1, 30, 0, 0, 0, 0) + EVT_WAIT(10) + EVT_CALL(SetBattleFlagBits, BS_FLAGS1_4000, 0) + EVT_CALL(func_802A9110_4256A0, 0, 32767, 3) + EVT_SET(LVarD, 0) + EVT_LOOP(5) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim02) + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(21) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, 0x03000C) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, FALSE) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3E0) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(1) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.9), EVT_FLOAT(1.2), EVT_FLOAT(1.0)) + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(1) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.8), EVT_FLOAT(1.3), EVT_FLOAT(1.0)) + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(1) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.7), EVT_FLOAT(1.4), EVT_FLOAT(1.0)) + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(1) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.7), EVT_FLOAT(1.5), EVT_FLOAT(1.0)) + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(2) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(0.6), EVT_FLOAT(1.6), EVT_FLOAT(1.0)) + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(10) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(2) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_UNBLOCKABLE | DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, 2, BS_FLAGS1_40) + EVT_CALL(GetLastDamage, ACTOR_PLAYER, LVar3) + EVT_IF_NE(LVar3, 0) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_206D) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_214) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 15) + EVT_CALL(N(UnkBattleFunc2), LVar0, LVar1, LVar2, LVar3) + EVT_THREAD + EVT_WAIT(15) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_25C) + EVT_CALL(N(UnkBattleFunc2_2), LVar0, LVar1, LVar2, LVar3) + EVT_END_THREAD + EVT_ADD(LVar0, 20) + EVT_ADD(LVar1, 20) + EVT_CALL(PlayEffect, EFFECT_RECOVER, 0, LVar0, LVar1, LVar2, LVar3, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_CALL(GetActorHP, ACTOR_SELF, LVar0) + EVT_ADD(LVar0, LVar3) + EVT_CALL(SetEnemyHP, ACTOR_SELF, LVar0) + EVT_ELSE + EVT_ADD(LVarD, 1) + EVT_IF_GT(LVarD, 1) + EVT_CALL(func_80269470) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_IF + EVT_CALL(GetPlayerHP, LVar1) + EVT_IF_EQ(LVar1, 0) + EVT_CALL(func_80269470) + EVT_BREAK_LOOP + EVT_END_IF + EVT_SET(LocalFlag(0), 0) + EVT_LOOP(35) + EVT_CALL(GetActionSuccessCopy, LVar1) + EVT_IF_EQ(LVar1, 1) + EVT_SET(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(LocalFlag(0), 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(func_80269470) + EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_END_IF + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 10, 0) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim02) + EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, 0) + EVT_WAIT(10) + EVT_CALL(YieldTurn) + EVT_EXEC_WAIT(N(returnHome)) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; diff --git a/src/battle/common/actor/whacka.inc.c b/src/battle/common/actor/whacka.inc.c new file mode 100644 index 0000000000..f28a72b884 --- /dev/null +++ b/src/battle/common/actor/whacka.inc.c @@ -0,0 +1,316 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "sprite/npc/Whacka.h" + +extern EvtScript N(init); +extern EvtScript N(takeTurn); +extern EvtScript N(idle); +extern EvtScript N(handleEvent); +extern EvtScript N(spawnWhackasBump); +extern EvtScript N(die); + +s32 N(idleAnimations)[] = { + STATUS_NORMAL, ANIM_Whacka_Idle, + STATUS_STONE, ANIM_Whacka_Still, + STATUS_SLEEP, ANIM_Whacka_Idle, + STATUS_POISON, ANIM_Whacka_Idle, + STATUS_STOP, ANIM_Whacka_Still, + STATUS_STATIC, ANIM_Whacka_Idle, + STATUS_PARALYZE, ANIM_Whacka_Still, + STATUS_DIZZY, ANIM_Whacka_Idle, + STATUS_FEAR, ANIM_Whacka_Idle, + STATUS_END, +}; + +s32 N(defenseTable)[] = { + ELEMENT_NORMAL, 0, + ELEMENT_END, +}; + +s32 N(statusTable)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 0, + STATUS_POISON, 0, + STATUS_FROZEN, 0, + STATUS_DIZZY, 0, + STATUS_FEAR, 0, + STATUS_STATIC, 0, + STATUS_PARALYZE, 0, + STATUS_SHRINK, 0, + STATUS_STOP, 0, + STATUS_DEFAULT_TURN_MOD, 0, + STATUS_SLEEP_TURN_MOD, 0, + STATUS_POISON_TURN_MOD, 0, + STATUS_FROZEN_TURN_MOD, 0, + STATUS_DIZZY_TURN_MOD, 0, + STATUS_FEAR_TURN_MOD, 0, + STATUS_STATIC_TURN_MOD, 0, + STATUS_PARALYZE_TURN_MOD, 0, + STATUS_SHRINK_TURN_MOD, 0, + STATUS_STOP_TURN_MOD, 0, + STATUS_END, +}; + +ActorPartBlueprint N(parts)[] = { + { + .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 30 }, + .opacity = 255, + .idleAnimations = N(idleAnimations), + .defenseTable = N(defenseTable), + .eventFlags = ACTOR_EVENT_FLAG_0, + .elementImmunityFlags = 0, + .unk_1D = 251, + }, +}; + +ActorBlueprint NAMESPACE = { + .flags = ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_40000, + .type = ACTOR_TYPE_WHACKA, + .level = 0, + .maxHP = 99, + .partCount = ARRAY_COUNT(N(parts)), + .partsData = N(parts), + .script = &N(init), + .statusTable = N(statusTable), + .escapeChance = 0, + .airLiftChance = 0, + .spookChance = 0, + .baseStatusChance = 0, + .upAndAwayChance = 0, + .spinSmashReq = 4, + .powerBounceChance = 50, + .coinReward = 0, + .size = { 47, 32 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -20, 40 }, + .statusMessageOffset = { 10, 30 }, +}; + +ApiStatus N(IsHitEightTimes)(Evt* script, s32 isInitialCall) { + script->varTable[0] = 0; + if (evt_get_variable(NULL, GB_IWA00_Whacka_HitCount) >= 8) { + script->varTable[0] = 1; + } + + return ApiStatus_DONE2; +} + +EvtScript N(init) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) + EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) + EVT_CALL(N(IsHitEightTimes)) + EVT_IF_EQ(LVar0, 0) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_DISABLED | ACTOR_FLAG_NO_ATTACK | ACTOR_FLAG_NO_DMG_APPLY, 1) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, 1) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(idle) = { + EVT_LABEL(0) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(handleEvent) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(EVENT_HIT_COMBO) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2073) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) + EVT_EXEC_WAIT(DoNormalHit) + EVT_CASE_EQ(EVENT_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Whacka_Hurt) + EVT_EXEC_WAIT(N(spawnWhackasBump)) + EVT_EXEC_WAIT(DoNormalHit) + EVT_CALL(RandInt, 100, LVar0) + EVT_IF_LE(LVar0, 100) + EVT_EXEC_WAIT(N(die)) + EVT_RETURN + EVT_END_IF + EVT_CASE_EQ(EVENT_BURN_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) + EVT_SET_CONST(LVar2, ANIM_Whacka_Idle) + EVT_EXEC_WAIT(N(spawnWhackasBump)) + EVT_EXEC_WAIT(DoNormalHit) + EVT_CALL(RandInt, 100, LVar0) + EVT_IF_LE(LVar0, 100) + EVT_EXEC_WAIT(N(die)) + EVT_RETURN + EVT_END_IF + EVT_CASE_EQ(EVENT_BURN_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) + EVT_SET_CONST(LVar2, ANIM_Whacka_Idle) + EVT_EXEC_WAIT(N(spawnWhackasBump)) + EVT_EXEC_WAIT(DoNormalHit) + EVT_IF_GE(100, 100) + EVT_EXEC_WAIT(N(die)) + EVT_RETURN + EVT_ELSE + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_END_IF + EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_CALL(RandInt, 100, LVar0) + EVT_IF_LE(LVar0, 100) + EVT_EXEC_WAIT(N(die)) + EVT_RETURN + EVT_END_IF + EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_IF_GE(100, 100) + EVT_EXEC_WAIT(N(die)) + EVT_RETURN + EVT_ELSE + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_END_IF + EVT_CASE_EQ(EVENT_SHOCK_HIT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) + EVT_EXEC_WAIT(DoShockHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) + EVT_EXEC_WAIT(DoJumpBack) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) + EVT_EXEC_WAIT(DoReturnHome) + EVT_CASE_EQ(EVENT_SHOCK_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) + EVT_EXEC_WAIT(DoShockHit) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_UNKNOWN_TRIGGER) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) + EVT_EXEC_WAIT(DoImmune) + EVT_CASE_EQ(EVENT_IMMUNE) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) + EVT_EXEC_WAIT(DoImmune) + EVT_CALL(RandInt, 100, LVar0) + EVT_IF_LE(LVar0, 100) + EVT_EXEC_WAIT(N(die)) + EVT_RETURN + EVT_END_IF + EVT_CASE_EQ(EVENT_AIR_LIFT_FAILED) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) + EVT_EXEC_WAIT(DoImmune) + EVT_CALL(RandInt, 100, LVar0) + EVT_IF_LE(LVar0, 100) + EVT_EXEC_WAIT(N(die)) + EVT_RETURN + EVT_END_IF + EVT_CASE_EQ(EVENT_DEATH) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Whacka_Hurt) + EVT_EXEC_WAIT(N(spawnWhackasBump)) + EVT_EXEC_WAIT(DoNormalHit) + EVT_WAIT(10) + EVT_IF_GE(100, 100) + EVT_EXEC_WAIT(N(die)) + EVT_RETURN + EVT_ELSE + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_END_IF + EVT_CASE_EQ(EVENT_RECOVER_STATUS) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) + EVT_EXEC_WAIT(DoRecover) + EVT_CASE_EQ(EVENT_SCARE_AWAY) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) + EVT_SET_CONST(LVar2, ANIM_Whacka_Idle) + EVT_EXEC_WAIT(DoScareAway) + EVT_RETURN + EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) + EVT_EXEC_WAIT(DoAirLift) + EVT_CASE_EQ(EVENT_BLOW_AWAY) + EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) + EVT_EXEC_WAIT(DoBlowAway) + EVT_RETURN + EVT_CASE_DEFAULT + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(takeTurn) = { + EVT_CALL(RandInt, 100, LVar0) + EVT_IF_LE(LVar0, 100) + EVT_EXEC_WAIT(N(die)) + EVT_RETURN + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(spawnWhackasBump) = { + EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2073) + EVT_THREAD + EVT_WAIT(15) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Whacka_Idle) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 5) + EVT_ADD(LVar1, 20) + EVT_ADD(LVar2, 10) + EVT_CALL(MakeItemEntity, ITEM_WHACKAS_BUMP, LVar0, LVar1, LVar2, 12, 0) + EVT_END_THREAD + EVT_RETURN + EVT_END +}; + +EvtScript N(die) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_DIG) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Whacka_Burrow) + EVT_WAIT(40) + EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) + EVT_IF_NE(LVar0, 0) + EVT_CALL(SetBattleFlagBits2, BS_FLAGS2_10000000, 1) + EVT_END_IF + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, 1) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_DISABLED | ACTOR_FLAG_NO_ATTACK | ACTOR_FLAG_NO_DMG_APPLY, 1) + EVT_CALL(RemoveActor, ACTOR_SELF) + EVT_RETURN + EVT_END +}; diff --git a/src/battle/common/actor/white_magikoopa.inc.c b/src/battle/common/actor/white_magikoopa.inc.c index bcfba6e6a1..7d3e4acbd1 100644 --- a/src/battle/common/actor/white_magikoopa.inc.c +++ b/src/battle/common/actor/white_magikoopa.inc.c @@ -316,7 +316,7 @@ EvtScript N(handleEvent_80223E24) = { EVT_END }; -EvtScript N(8022433C) = { +EvtScript N(canBeKnockedOff) = { EVT_CALL(GetBattleFlags, LVar0) EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_80000) EVT_IF_FLAG(LVar0, BS_FLAGS1_40 | BS_FLAGS1_200) @@ -325,10 +325,10 @@ EvtScript N(8022433C) = { EVT_ELSE EVT_CALL(N(GetSelectedMoveID), LVar0) EVT_SWITCH(LVar0) - EVT_CASE_OR_EQ(131) - EVT_CASE_OR_EQ(132) - EVT_CASE_OR_EQ(133) - EVT_CASE_OR_EQ(136) + EVT_CASE_OR_EQ(MOVE_HEADBONK1) + EVT_CASE_OR_EQ(MOVE_HEADBONK2) + EVT_CASE_OR_EQ(MOVE_HEADBONK3) + EVT_CASE_OR_EQ(MOVE_MULTIBONK) EVT_CALL(GetBattleFlags, LVar0) EVT_IF_FLAG(LVar0, BS_FLAGS1_40 | BS_FLAGS1_200) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) @@ -340,7 +340,7 @@ EvtScript N(8022433C) = { EVT_END }; -EvtScript N(80224448) = { +EvtScript N(knockOff) = { EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 1) EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_White_Anim04) @@ -367,7 +367,7 @@ EvtScript N(80224448) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar2, 1) EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x301) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_301) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar1, 0) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) @@ -422,26 +422,26 @@ EvtScript N(handleEvent_80224A44) = { EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(EVENT_HIT_COMBO) - EVT_EXEC_WAIT(N(8022433C)) + EVT_EXEC_WAIT(N(canBeKnockedOff)) EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_White_Anim04) EVT_EXEC_WAIT(DoNormalHit) EVT_CASE_OR_EQ(EVENT_HIT) EVT_CASE_OR_EQ(EVENT_FALL_TRIGGER) - EVT_EXEC_WAIT(N(8022433C)) + EVT_EXEC_WAIT(N(canBeKnockedOff)) EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_White_Anim04) EVT_EXEC_WAIT(DoNormalHit) - EVT_EXEC_WAIT(N(80224448)) + EVT_EXEC_WAIT(N(knockOff)) EVT_END_CASE_GROUP EVT_CASE_OR_EQ(EVENT_BURN_HIT) EVT_CASE_OR_EQ(EVENT_15) - EVT_EXEC_WAIT(N(8022433C)) + EVT_EXEC_WAIT(N(canBeKnockedOff)) EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_White_Anim05) EVT_SET_CONST(LVar2, ANIM_FlyingMagikoopa_White_Anim06) EVT_EXEC_WAIT(DoBurnHit) - EVT_EXEC_WAIT(N(80224448)) + EVT_EXEC_WAIT(N(knockOff)) EVT_END_CASE_GROUP EVT_CASE_EQ(EVENT_BURN_DEATH) EVT_SET_CONST(LVar0, 2) diff --git a/src/common/IsGameStatusUnkAA_1.inc.c b/src/common/IsGameStatusUnkAA_1.inc.c deleted file mode 100644 index bcda07ecbe..0000000000 --- a/src/common/IsGameStatusUnkAA_1.inc.c +++ /dev/null @@ -1,16 +0,0 @@ -#include "common.h" -#include "npc.h" - -ApiStatus N(IsGameStatusUnkAA_1)(Evt* script, s32 isInitialCall) { - script->varTable[0] = 0; - if (gGameStatusPtr->demoFlags & 1) { - script->varTable[0] = 1; - } - - return ApiStatus_DONE2; -} - -ApiStatus N(Add1Coin)(Evt* script, s32 isInitialCall) { - add_coins(1); - return ApiStatus_DONE2; -} diff --git a/src/common/IsSaveVar123.inc.c b/src/common/IsSaveVar123.inc.c deleted file mode 100644 index 21e0721f6f..0000000000 --- a/src/common/IsSaveVar123.inc.c +++ /dev/null @@ -1,10 +0,0 @@ -#include "common.h" - -ApiStatus N(IsSaveVar123)(Evt* script, s32 isInitialCall) { - script->varTable[0] = 0; - if (evt_get_variable(NULL, GB_IWA00_Whacka_HitCount) >= 8) { - script->varTable[0] = 1; - } - - return ApiStatus_DONE2; -} diff --git a/src/sprite.h b/src/sprite.h index 430c35c8db..12a4bd7153 100644 --- a/src/sprite.h +++ b/src/sprite.h @@ -147,7 +147,7 @@ void func_802DE780(s32, s32, s32, s32, s32, s32, s32, s32); void func_802DE894(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6); -//s32 func_802DE8DC(); // TODO +s32 func_802DE8DC(s32 spriteIdx, s32 compListIdx, s32* outX, s32* outY, s32* outZ); s32 spr_get_npc_raster_info(SpriteRasterInfo* out, s32 npcSpriteID, s32 rasterIndex); diff --git a/ver/us/asm/data/battle/area_dig/6DE670.data.s b/ver/us/asm/data/battle/area_dig/6DE670.data.s deleted file mode 100644 index b93b307047..0000000000 --- a/ver/us/asm/data/battle/area_dig/6DE670.data.s +++ /dev/null @@ -1,588 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802188B0_6DE670 -.word 0x00000001, 0x00000001, 0x00000008, 0x00000001, 0x00000009, 0x00000001, 0x00000003, 0x00000001, 0x0000000B, 0x00000001, 0x00000000 - -dlabel D_802188DC_6DE69C -.word 0x00000001, 0x00000000, 0x00000000 - -dlabel D_802188E8_6DE6A8 -.word 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000006, 0x0000005A, 0x00000009, 0x0000003C, 0x00000007, 0x00000064, 0x00000004, 0x0000005A, 0x00000003, 0x00000000, 0x0000000B, 0x00000050, 0x00000005, 0x0000005A, 0x0000000A, 0x0000005A, 0x00000008, 0x00000064, 0x0000001F, 0x00000000, 0x00000020, 0x00000000, 0x00000025, 0x00000000, 0x00000022, 0x00000000, 0x00000024, 0x00000000, 0x00000023, 0x00000000, 0x00000021, 0x00000000, 0x00000026, 0x00000001, 0x00000027, 0x00000000, 0x00000029, 0x00000000, 0x00000000 - -dlabel D_80218994_6DE754 -.word 0x00800000, 0x01000000, 0xFE2400FF, D_802189E0_6DE7A0, D_802188B0_6DE670, 0x00001000, 0x00000000, 0x00F90000, 0x00000000, 0x00000000, 0x000B0604, 0x00010000, D_80218994_6DE754, D_80218AC4_6DE884, D_802188E8_6DE6A8, 0x465A5A5A, 0x5F006401, 0x1C240000, 0xF1200520 - -dlabel D_802189E0_6DE7A0 -.word 0x00000001, 0x00290101, 0x0000000C, 0x00290100, 0x00000006, 0x00290111, 0x00000009, 0x00290101, 0x00000008, 0x00290100, 0x0000000B, 0x00290101, 0x00000005, 0x00290100, 0x00000004, 0x00290113, 0x00000003, 0x00290113, 0x00000000 - -dlabel D_80218A2C_6DE7EC -.word 0x00000001, 0x00290103, 0x0000000C, 0x00290100, 0x00000006, 0x00290111, 0x00000009, 0x00290103, 0x00000008, 0x00290100, 0x0000000B, 0x00290103, 0x00000005, 0x00290100, 0x00000004, 0x00290113, 0x00000003, 0x00290113, 0x00000000 - -dlabel D_80218A78_6DE838 -.word 0x00000001, 0x0029010F, 0x0000000C, 0x00290110, 0x00000006, 0x00290112, 0x00000009, 0x0029010F, 0x00000008, 0x00290110, 0x0000000B, 0x0029010F, 0x00000005, 0x00290110, 0x00000004, 0x00290114, 0x00000003, 0x00290114, 0x00000000 - -dlabel D_80218AC4_6DE884 -.word 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_80219CEC_6DFAAC, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_80218C80_6DEA40, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_80219168_6DEF28, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80218B28_6DE8E8 -.word 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000010, 0x00000002, 0xFE363C81, 0x00041000, 0x00000043, 0x00000005, SetTargetOffset, 0xFFFFFF81, 0x00000001, 0xFFFFFFFB, 0x0000000F, 0x00000043, 0x00000005, func_8027D4C8, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000005, b_area_dig_UnkBattleFunc1, 0xFFFFFFF6, 0x00000014, 0x0000000A, 0x00000014, 0x00000012, 0x00000000, 0x00000043, 0x00000005, SetTargetOffset, 0xFFFFFF81, 0x00000001, 0xFFFFFFFC, 0x00000020, 0x00000043, 0x00000005, func_8027D4C8, 0xFFFFFF81, 0x00000001, 0xFFFFFFFF, 0xFFFFFFFC, 0x00000043, 0x00000005, b_area_dig_UnkBattleFunc1, 0xFFFFFFF1, 0x00000020, 0x00000005, 0x00000020, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetTargetOffset, 0xFFFFFF81, 0x00000001, 0xFFFFFFFB, 0x0000000F, 0x00000043, 0x00000005, func_8027D4C8, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000005, b_area_dig_UnkBattleFunc1, 0xFFFFFFF6, 0x00000014, 0x0000000A, 0x00000014, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80218C80_6DEA40 -.word 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, RandInt, 0x00000050, 0xFE363C8A, 0x00000027, 0x00000002, 0xFE363C8A, 0x00000050, 0x00000005, 0x00000001, 0xFE363C8A, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000008, 0xFE363C80, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C81, 0x00000046, 0x00000001, D_80218B28_6DE8E8, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000010, 0x00000002, 0xFE363C81, 0x0035D000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000005, 0x00000043, 0x00000003, SetActorIdleSpeed, 0xFFFFFF81, 0xF24A7E80, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_80218A2C_6DE7EC, 0x00000043, 0x00000005, SetIdleGoal, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, IdleRunToGoal, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000008, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_802189E0_6DE7A0, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_80218A78_6DE838, 0x00000023, 0x00000000, 0x00000005, 0x00000001, 0x00000014, 0x00000003, 0x00000001, 0x00000002, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000008, 0xFE363C80, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C81, 0x00000046, 0x00000001, D_80218B28_6DE8E8, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000002, 0x00000013, 0x00000000, 0x00000010, 0x00000002, 0xFE363C81, 0x0035D000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000002, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000005, 0x00000043, 0x00000003, SetActorIdleSpeed, 0xFFFFFF81, 0xF24A7E80, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_80218A2C_6DE7EC, 0x00000043, 0x00000005, SetIdleGoal, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, IdleRunToGoal, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000008, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_802189E0_6DE7A0, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_80218A78_6DE838, 0x00000023, 0x00000000, 0x00000005, 0x00000001, 0x00000050, 0x00000003, 0x00000001, 0x00000003, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000008, 0xFE363C80, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C81, 0x00000046, 0x00000001, D_80218B28_6DE8E8, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000003, 0x00000013, 0x00000000, 0x00000010, 0x00000002, 0xFE363C81, 0x0035D000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000003, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80219110_6DEED0 -.word 0x00000009, 0x00000010, 0x00000016, 0x0000001A, 0x0000001E, 0x00000020, 0x00000021, 0x00000020, 0x0000001E, 0x0000001A, 0x00000016, 0x00000010, 0x00000009, 0x00000000, 0x00000004, 0x00000006, 0x00000007, 0x00000006, 0x00000004, 0x00000000, 0x00000002, 0x00000000 - -dlabel D_80219168_6DEF28 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, GetLastEvent, 0xFFFFFF81, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000009, 0x0000001D, 0x00000001, 0x0000000A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0029010B, 0x00000046, 0x00000001, DoNormalHit, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x0000000E, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0029010C, 0x00000025, 0x00000002, 0xFE363C82, 0x0029010D, 0x00000046, 0x00000001, DoBurnHit, 0x00000016, 0x00000001, 0x00000024, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0029010C, 0x00000025, 0x00000002, 0xFE363C82, 0x0029010D, 0x00000046, 0x00000001, DoBurnHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0029010D, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000000B, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0029010B, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000016, 0x00000001, 0x00000021, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0029010B, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0029010B, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000000D, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000008, 0x00000001, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000009, 0x00000002, 0x00000043, 0x00000004, SetDefenseTable, 0xFFFFFF81, 0x00000001, D_802188DC_6DE69C, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_80218A78_6DE838, 0x00000043, 0x00000005, SetTargetOffset, 0xFFFFFF81, 0x00000001, 0xFFFFFFFB, 0x0000000F, 0x00000043, 0x00000005, func_8027D4C8, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetActorFlagBits, 0xFFFFFF81, 0x00000400, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x0029010B, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C8A, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0x00000000, 0x0000000C, 0x00000000, 0x00000058, 0x00000000, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x0000001E, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFFFFFFE2, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFFFFFFC4, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFFFFFFB5, 0x00000008, 0x00000001, 0x00000001, 0x00000059, 0x00000000, 0x00000030, 0x00000001, D_80219110_6DEED0, 0x00000005, 0x00000001, 0x00000016, 0x00000031, 0x00000001, 0xFE363C80, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x0029010F, 0x00000016, 0x00000001, 0x0000002F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0029010B, 0x00000046, 0x00000001, DoShockHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0029010B, 0x00000046, 0x00000001, DoJumpBack, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00290104, 0x00000046, 0x00000001, DoReturnHome, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A80E7, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0x00000026, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0029010B, 0x00000046, 0x00000001, DoShockHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0029010B, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x0000001D, 0x00000001, 0x00000017, 0x0000001D, 0x00000001, 0x00000019, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000008, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00290107, 0x00000046, 0x00000001, DoImmune, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x0035D000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00290108, 0x00000008, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000012, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0029010F, 0x00000046, 0x00000001, DoImmune, 0x00000013, 0x00000000, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000020, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0029010B, 0x00000046, 0x00000001, DoNormalHit, 0x00000008, 0x00000001, 0x0000000A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0029010B, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000035, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000008, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00290104, 0x00000046, 0x00000001, DoReturnHome, 0x00000013, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetHomePos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000002, HPBarToHome, 0xFFFFFF81, 0x00000016, 0x00000001, 0x00000031, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000008, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00290101, 0x00000046, 0x00000001, DoRecover, 0x00000012, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0029010F, 0x00000046, 0x00000001, DoImmune, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000039, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000008, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00290104, 0x00000025, 0x00000002, 0xFE363C82, 0x0029010B, 0x00000046, 0x00000001, DoScareAway, 0x00000002, 0x00000000, 0x00000012, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0029010F, 0x00000046, 0x00000001, DoImmune, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x0000003A, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000008, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00290117, 0x00000012, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0029010F, 0x00000013, 0x00000000, 0x00000046, 0x00000001, DoAirLift, 0x00000016, 0x00000001, 0x00000016, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000008, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00290117, 0x00000012, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0029010F, 0x00000013, 0x00000000, 0x00000046, 0x00000001, DoBlowAway, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000001F, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000008, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00290101, 0x00000046, 0x00000001, DoImmune, 0x00000012, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0029010F, 0x00000046, 0x00000001, DoImmune, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0xFFFFFFFF, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80219CEC_6DFAAC -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, GetBattlePhase, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00290106, 0x00000012, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000008, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000009, 0xFE363C80, 0x00000028, 0x00000002, 0xFE363C80, 0x00000001, 0x0000000D, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000009, 0xFE363C80, 0x00000043, 0x00000005, AddActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000002, 0x00000043, 0x00000004, SetAnimationRate, 0xFFFFFF81, 0x00000001, 0xF24A8680, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000004, SetAnimationRate, 0xFFFFFF81, 0x00000001, 0xF24A7E80, 0x00000043, 0x00000004, RemoveActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000005, AddActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000002, 0x00000043, 0x00000004, SetAnimationRate, 0xFFFFFF81, 0x00000001, 0xF24A8680, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, SetAnimationRate, 0xFFFFFF81, 0x00000001, 0xF24A7E80, 0x00000043, 0x00000004, RemoveActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000002, 0x00000000, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000003E2, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x0029010F, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0x00000000, 0x0000000C, 0x00000000, 0x00000058, 0x00000000, 0x00000005, 0x00000001, 0x00000005, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000F, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000059, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8680, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000020BA, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00290101, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_802189E0_6DE7A0, 0x00000043, 0x00000004, SetDefenseTable, 0xFFFFFF81, 0x00000001, D_802188B0_6DE670, 0x00000043, 0x00000005, SetTargetOffset, 0xFFFFFF81, 0x00000001, 0xFFFFFFFC, 0x00000020, 0x00000043, 0x00000005, func_8027D4C8, 0xFFFFFF81, 0x00000001, 0xFFFFFFFF, 0xFFFFFFFC, 0x00000043, 0x00000004, SetActorFlagBits, 0xFFFFFF81, 0x00000400, 0x00000000, 0x00000043, 0x00000003, ResetActorSounds, 0xFFFFFF81, 0x00000002, 0x00000013, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000003F, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00290107, 0x00000008, 0x00000001, 0x0000000A, 0x00000058, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000004, 0x00000043, 0x0000000F, PlayEffect, 0x0000001D, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000020, 0x00000004, 0x00000000, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x0000000F, PlayEffect, 0x0000001D, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000020, 0x00000004, 0x00000000, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x0000000F, PlayEffect, 0x0000001D, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000020, 0x00000004, 0x00000000, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000059, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00002021, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00290106, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, func_8024ECF8, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000020D3, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000010, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0xFFFFFFD8, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24ABA80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000002, GetBattlePhase, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000005, 0x00000043, 0x00000002, SetBattleCamZoom, 0x0000012C, 0x00000043, 0x00000002, SetBattleCamOffsetZ, 0x00000014, 0x00000043, 0x00000002, MoveBattleCamOver, 0x0000000A, 0x00000043, 0x00000004, func_8024ECF8, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00290108, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000002, ResetAllActorSounds, 0xFFFFFF81, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x000000B4, 0x00000008, 0x00000001, 0x00000004, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00290115, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00290116, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8280, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00290117, 0x00000008, 0x00000001, 0x00000006, 0x00000028, 0x00000002, 0xFE363C81, 0x00000014, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000001, YieldTurn, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x000000B4, 0x00000043, 0x00000005, AddActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000002, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00290117, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00290101, 0x00000043, 0x00000004, RemoveActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetPartYaw, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24ABA80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000002, ResetAllActorSounds, 0xFFFFFF81, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x0000FFFF, 0x00000000, 0x00000001, 0x00000020, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000028, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A81B4, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000A, 0x00000000, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000006, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00290108, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000001, YieldTurn, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00290104, 0x00000046, 0x00000001, DoReturnHome, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00290101, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021AA20_6E07E0 -.word 0x00000001, 0x00000000, 0x00000000 - -dlabel D_8021AA2C_6E07EC -.word 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000006, 0x0000005F, 0x00000009, 0x0000005A, 0x00000007, 0x00000064, 0x00000004, 0x0000005A, 0x00000003, 0x00000000, 0x0000000B, 0x00000046, 0x00000005, 0x0000004B, 0x0000000A, 0x0000004B, 0x00000008, 0x00000064, 0x0000001F, 0x00000000, 0x00000020, 0x00000000, 0x00000025, 0x00000000, 0x00000022, 0x00000000, 0x00000024, 0x00000000, 0x00000023, 0x00000000, 0x00000021, 0x00000000, 0x00000026, 0x00000000, 0x00000027, 0x00000000, 0x00000029, 0x00000000, 0x00000000 - -dlabel D_8021AAD8_6E0898 -.word 0x00800000, 0x01000000, 0x001400FF, D_8021AB24_6E08E4, D_8021AA20_6E07E0, 0x00000000, 0x00000000, 0x00F60000, 0x00000000 - -dlabel D_8021AAFC_6E08BC -.word 0x00000000, 0x000A0603, 0x00010000, D_8021AAD8_6E0898, D_8021AB70_6E0930, D_8021AA2C_6E07EC, 0x325F5F5F, 0x5F006401, 0x211C0000, 0xF6140A14 - -dlabel D_8021AB24_6E08E4 -.word 0x00000001, 0x002B0001, 0x0000000C, 0x002B0000, 0x00000006, 0x002B000E, 0x00000009, 0x002B0001, 0x00000008, 0x002B0000, 0x0000000B, 0x002B0001, 0x00000005, 0x002B0000, 0x00000004, 0x002B000F, 0x00000003, 0x002B000F, 0x00000000 - -dlabel D_8021AB70_6E0930 -.word 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_8021B230_6E0FF0, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_8021ABBC_6E097C, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_8021ABCC_6E098C, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021ABBC_6E097C -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021ABCC_6E098C -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7E80, 0xF24A7E80, 0xF24A7E80, 0x00000043, 0x00000003, GetLastEvent, 0xFFFFFF81, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000009, 0x0000001D, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, GetLastElement, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00000020, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0013, 0x00000012, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0008, 0x00000013, 0x00000000, 0x00000046, 0x00000001, DoNormalHit, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x0000000E, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0010, 0x00000025, 0x00000002, 0xFE363C82, 0x002B0012, 0x00000046, 0x00000001, DoBurnHit, 0x00000016, 0x00000001, 0x00000024, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0010, 0x00000025, 0x00000002, 0xFE363C82, 0x002B0012, 0x00000046, 0x00000001, DoBurnHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0012, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000000B, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0008, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000016, 0x00000001, 0x00000021, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0008, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0008, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000002F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0013, 0x00000046, 0x00000001, DoShockHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0013, 0x00000046, 0x00000001, DoJumpBack, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0003, 0x00000046, 0x00000001, D_8029C0A4, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A80E7, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0x00000026, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0013, 0x00000046, 0x00000001, DoShockHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0008, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x0000001D, 0x00000001, 0x00000017, 0x0000001D, 0x00000001, 0x00000019, 0x0000001D, 0x00000001, 0x0000001F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0001, 0x00000046, 0x00000001, DoImmune, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000020, 0x00000043, 0x00000002, GetLastElement, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00000020, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0013, 0x00000046, 0x00000001, DoNormalHit, 0x00000008, 0x00000001, 0x0000000A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0013, 0x00000046, 0x00000001, DoDeath, 0x00000012, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0008, 0x00000046, 0x00000001, DoNormalHit, 0x00000008, 0x00000001, 0x0000000A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0008, 0x00000046, 0x00000001, DoDeath, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000031, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0001, 0x00000046, 0x00000001, DoRecover, 0x00000016, 0x00000001, 0x00000039, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0003, 0x00000025, 0x00000002, 0xFE363C82, 0x002B0009, 0x00000046, 0x00000001, DoScareAway, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000003A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0003, 0x00000046, 0x00000001, DoAirLift, 0x00000016, 0x00000001, 0x00000016, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0003, 0x00000046, 0x00000001, DoBlowAway, 0x00000002, 0x00000000, 0x0000001C, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021B230_6E0FF0 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000003F, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000004, func_8024ECF8, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetBattlePhase, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000032, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000004, 0x00000001, 0x00000064, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002B0003, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000032, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9280, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A81B4, 0x00000046, 0x00000001, D_8029C12C, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002B0001, 0x00000003, 0x00000001, 0x00000064, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0x0000000A, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002B0004, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0x00000009, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0x00000008, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x08000000, 0x00000000, 0x00000001, 0x00000010, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000005, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000028, 0x00000002, 0xFE363C82, 0x00000005, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8680, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002B0005, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000B, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002B0009, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8680, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000006, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x0000000F, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8680, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000004, 0x00000008, 0x00000001, 0x00000005, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000001, YieldTurn, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x000000B4, 0x00000043, 0x00000005, AddActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000002, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002B0003, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A81B4, 0x00000046, 0x00000001, D_8029C12C, 0x00000043, 0x00000004, RemoveActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000007, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00002000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0xFFFFFFFD, 0xFFFFFFF4, 0xFFFFFFF1, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8680, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002B0005, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x08000000, 0x00000000, 0x00000000, 0x00000000, 0x00000020, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, UseIdleAnimation, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x0003000C, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000003E0, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002B0007, 0x00000008, 0x00000001, 0x00000015, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002B0000, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x0000014A, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000003E0, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0xFFFFFFFD, 0xFFFFFFFE, 0x00000000, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7E80, 0xF24A7E80, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7E1A, 0xF24A7F4D, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7DB4, 0xF24A7FB4, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7D4D, 0xF24A801A, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7D4D, 0xF24A8080, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7CE7, 0xF24A80E7, 0xF24A7E80, 0x00000008, 0x00000001, 0x0000000A, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x08000000, 0x00000000, 0x00000000, 0x00000001, 0x00000020, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002B0001, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000003, GetLastDamage, 0x00000000, 0xFE363C83, 0x0000000B, 0x00000002, 0xFE363C83, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x0000206D, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000214, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x0000000A, 0x00000043, 0x00000005, b_area_dig_UnkBattleFunc2, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x0000025C, 0x00000043, 0x00000005, b_area_dig_UnkBattleFunc2_2, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000057, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x00000014, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000043, 0x0000000F, PlayEffect, 0x00000040, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, GetActorHP, 0xFFFFFF81, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0xFE363C83, 0x00000043, 0x00000003, SetEnemyHP, 0xFFFFFF81, 0xFE363C80, 0x00000013, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A80E7, 0xF24A7CE7, 0xF24A7E80, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0x00000000, 0x0000000A, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x0000014A, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7D4D, 0xF24A8080, 0xF24A7E80, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x0000012C, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x0000010E, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7E80, 0xF24A7D4D, 0xF24A7E80, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x000000F0, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x000000D2, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7D4D, 0xF24A801A, 0xF24A7E80, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x000000B4, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7E80, 0xF24A7D4D, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7F4D, 0xF24A7C80, 0xF24A7E80, 0x00000057, 0x00000000, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000028, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A81B4, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000A, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A801A, 0xF24A7B4D, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000001, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7F4D, 0xF24A7C80, 0xF24A7E80, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000096, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7E80, 0xF24A7E80, 0xF24A7E80, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000078, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x0000005A, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x0000003C, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x0000001E, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000001, YieldTurn, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002B0003, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A81B4, 0x00000046, 0x00000001, D_8029C12C, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002B0001, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021C2D0_6E2090 -.word 0x00000001, 0x00000000, 0x00000000 - -dlabel D_8021C2DC_6E209C -.word 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000006, 0x0000005A, 0x00000009, 0x00000000, 0x00000007, 0x00000000, 0x00000004, 0x0000005A, 0x00000003, 0x00000000, 0x0000000B, 0x00000000, 0x00000005, 0x00000064, 0x0000000A, 0x0000005A, 0x00000008, 0x00000064, 0x0000001F, 0x00000000, 0x00000020, 0x00000000, 0x00000025, 0x00000000, 0x00000022, 0x00000000, 0x00000024, 0x00000000, 0x00000023, 0x00000000, 0x00000021, 0x00000000, 0x00000026, 0x00000000, 0x00000027, 0x00000000, 0x00000029, 0x00000000, 0x00000000 - -dlabel D_8021C388_6E2148 -.word 0x00020000, 0x01000000, 0x001400FF, D_8021C488_6E2248, D_8021C2D0_6E2090, 0x00200010, 0x00000000, 0x00000000, 0x00000000, 0x00800001, 0x02000000, 0x004800FF, 0x00000000, D_8021C2D0_6E2090, 0x00200010, 0x00000000, 0x00F80000, 0x00000000, 0x00020001, 0x03000000, 0x003600FF, 0x00000000, D_8021C2D0_6E2090, 0x00200010, 0x00000000, 0x00F80000, 0x00000000, 0x00020001, 0x04000000, 0x002400FF, 0x00000000, D_8021C2D0_6E2090, 0x00200010, 0x00000000, 0x00F80000, 0x00000000, 0x00020001, 0x05000000, 0x001000FF, 0x00000000, D_8021C2D0_6E2090, 0x00200010, 0x00000000, 0x00F80000, 0x00000000, 0x00120001, 0x06000000, 0x000000FF, D_8021C578_6E2338, D_8021C2D0_6E2090, 0x00200010, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8021C460_6E2220 -.word 0x00000000, 0x00140904, 0x00060000, D_8021C388_6E2148, D_8021C584_6E2344, D_8021C2DC_6E209C, 0x465A5546, 0x5F006401, 0x18500000, 0xF14B0A41 - -dlabel D_8021C488_6E2248 -.word 0x00000001, 0x00310004, 0x0000000C, 0x00310000, 0x00000006, 0x00310025, 0x00000008, 0x00310000, 0x00000005, 0x00310000, 0x00000004, 0x00310021, 0x00000003, 0x00310021, 0x00000000 - -dlabel D_8021C4C4_6E2284 -.word 0x00000001, 0x00310005, 0x0000000C, 0x00310001, 0x00000006, 0x00310026, 0x00000008, 0x00310001, 0x00000005, 0x00310001, 0x00000004, 0x00310022, 0x00000003, 0x00310022, 0x00000000 - -dlabel D_8021C500_6E22C0 -.word 0x00000001, 0x00310006, 0x0000000C, 0x00310002, 0x00000006, 0x00310027, 0x00000008, 0x00310002, 0x00000005, 0x00310002, 0x00000004, 0x00310023, 0x00000003, 0x00310023, 0x00000000 - -dlabel D_8021C53C_6E22FC -.word 0x00000001, 0x00310007, 0x0000000C, 0x00310003, 0x00000006, 0x00310028, 0x00000008, 0x00310003, 0x00000005, 0x00310003, 0x00000004, 0x00310024, 0x00000003, 0x00310024, 0x00000000 - -dlabel D_8021C578_6E2338 -.word 0x00000001, 0x00310016, 0x00000000 - -dlabel D_8021C584_6E2344 -.word 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_8021E068_6E3E28, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_8021C700_6E24C0, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_8021C710_6E24D0, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x0000000A, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000001, 0xFE363C80, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000009, 0xFE363C80, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000001, 0x00310004, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000002, 0x00310008, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000003, 0x0031000C, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000004, 0x00310010, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000005, 0x00310011, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000006, 0x00310018, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000007, 0x00310019, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021C700_6E24C0 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021C710_6E24D0 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, GetLastEvent, 0xFFFFFF81, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000009, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoNormalHit, 0x00000016, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00080000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoNormalHit, 0x00000012, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C8A, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000003, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoNormalHit, 0x00000012, 0x00000000, 0x00000043, 0x00000002, func_80269E80, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000007, 0x0000001D, 0x00000001, 0x00000009, 0x00000046, 0x00000001, D_80220CFC_6E6ABC, 0x00000020, 0x00000000, 0x0000001C, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoNormalHit, 0x00000023, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000020, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00080000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoNormalHit, 0x00000008, 0x00000001, 0x0000000A, 0x00000012, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C8A, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000003, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoNormalHit, 0x00000008, 0x00000001, 0x0000000A, 0x00000012, 0x00000000, 0x00000043, 0x00000002, func_80269E80, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000007, 0x0000001D, 0x00000001, 0x00000009, 0x00000046, 0x00000001, D_80220CFC_6E6ABC, 0x00000020, 0x00000000, 0x0000001C, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoNormalHit, 0x00000008, 0x00000001, 0x0000000A, 0x00000023, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000000E, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000006, 0xFE363C81, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000007, 0xFE363C82, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C83, 0x00000010, 0x00000002, 0xFE363C83, 0x00080000, 0x00000046, 0x00000001, DoBurnHit, 0x00000012, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C8A, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000003, 0x00000046, 0x00000001, DoBurnHit, 0x00000012, 0x00000000, 0x00000043, 0x00000002, func_80269E80, 0xFE363C8A, 0x00000014, 0x00000001, 0xFE363C8A, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000007, 0x0000001D, 0x00000001, 0x00000009, 0x00000046, 0x00000001, D_80220CFC_6E6ABC, 0x00000020, 0x00000000, 0x0000001C, 0x00000000, 0x00000046, 0x00000001, DoBurnHit, 0x00000023, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x0000001D, 0x00000001, 0x00000024, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000006, 0xFE363C81, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000007, 0xFE363C82, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C83, 0x00000010, 0x00000002, 0xFE363C83, 0x00080000, 0x00000046, 0x00000001, DoBurnHit, 0x00000012, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C8A, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000003, 0x00000046, 0x00000001, DoBurnHit, 0x00000012, 0x00000000, 0x00000043, 0x00000002, func_80269E80, 0xFE363C8A, 0x00000014, 0x00000001, 0xFE363C8A, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000007, 0x0000001D, 0x00000001, 0x00000009, 0x00000046, 0x00000001, D_80220CFC_6E6ABC, 0x00000020, 0x00000000, 0x0000001C, 0x00000000, 0x00000046, 0x00000001, DoBurnHit, 0x00000023, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000007, 0xFE363C81, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000000B, 0x00000046, 0x00000001, D_8021FFA0_6E5D60, 0x00000016, 0x00000001, 0x00000021, 0x00000046, 0x00000001, D_8021FFA0_6E5D60, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C83, 0x00000010, 0x00000002, 0xFE363C83, 0x00080000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoNormalHit, 0x00000012, 0x00000000, 0x00000046, 0x00000001, D_80220CFC_6E6ABC, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000025, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C83, 0x00000010, 0x00000002, 0xFE363C83, 0x00080000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoNormalHit, 0x00000012, 0x00000000, 0x00000046, 0x00000001, D_80220CFC_6E6ABC, 0x00000013, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000002F, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoShockHit, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C81, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0xFE363C81, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8A80, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8280, 0x00000046, 0x00000001, D_8029C12C, 0x00000016, 0x00000001, 0x00000026, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoShockHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x0000001D, 0x00000001, 0x00000017, 0x0000001D, 0x00000001, 0x00000019, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000001, 0xFE363C81, 0x00000046, 0x00000001, DoImmune, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x0000001B, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x0000004D, 0x00000025, 0x00000002, 0xFE363C82, 0x00310021, 0x00000016, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x0000003B, 0x00000025, 0x00000002, 0xFE363C82, 0x00310022, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000029, 0x00000025, 0x00000002, 0xFE363C82, 0x00310023, 0x00000016, 0x00000001, 0x00000003, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000017, 0x00000025, 0x00000002, 0xFE363C82, 0x00310024, 0x00000023, 0x00000000, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C83, 0x00000011, 0x00000002, 0xFE363C83, 0x00001000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0xFE363C82, 0x00000013, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C86, 0x00000010, 0x00000002, 0xFE363C86, 0x00080000, 0x0000002E, 0x00000002, 0xFE363C80, 0xF24A7C1A, 0x0000002E, 0x00000002, 0xFE363C81, 0xF24A7C1A, 0x00000013, 0x00000000, 0x0000002C, 0x00000002, 0xFE363C83, 0xFE363C80, 0x0000002C, 0x00000002, 0xFE363C84, 0xFE363C81, 0x00000043, 0x0000000F, PlayEffect, 0x0000001A, 0x00000000, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000016, 0x00000001, 0x00000031, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000001, 0xFE363C81, 0x00000046, 0x00000001, DoRecover, 0x00000016, 0x00000001, 0x00000039, 0x00000046, 0x00000001, D_802211D4_6E6F94, 0x00000002, 0x00000000, 0x0000001C, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021D408_6E31C8 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000003F, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000004, func_8024ECF8, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x00080000, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0x0000003C, 0x00000000, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0x00000018, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310008, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8A80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310004, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x00080000, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0x00000028, 0x00000000, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0x00000010, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310009, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8A80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310005, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x00080000, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0x00000014, 0x00000000, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x0031000A, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8A80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310006, 0x00000023, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000342, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0xFFFFFFD8, 0x00000014, 0x0000000A, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000058, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000002ED, 0x00000059, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFFD8, 0x0000005A, 0x00000005, 0x00000001, 0x00000003, 0x00000001, 0x00000003, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000003, 0x00000013, 0x00000000, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000020, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000005, MakeLerp, 0x0000005A, 0x00000000, 0x00000005, 0x00000000, 0x00000003, 0x00000001, 0x00000004, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000004, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, YieldTurn, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000005, AddActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000002, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310008, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310004, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310009, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310005, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x0031000A, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310006, 0x00000023, 0x00000000, 0x00000043, 0x00000004, RemoveActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000002, 0x00000016, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFE363C81, 0x00000002, 0x0000001C, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000002, 0x00000023, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x80020300, 0xFE363C81, 0x00000020, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000005, MakeLerp, 0x0000005A, 0x00000000, 0x0000000A, 0x00000000, 0x00000003, 0x00000001, 0x00000005, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000005, 0x00000013, 0x00000000, 0x00000043, 0x00000001, YieldTurn, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310008, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310004, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310009, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310005, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x0031000A, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310006, 0x00000023, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021DF04_6E3CC4 -.word 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000043, 0x00000002, EnemyCreateTargetList, 0x00008002, 0x00000043, 0x00000001, InitTargetIterator, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetOwnerTarget, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000003, GetOriginalActorType, 0xFE363C80, 0xFE363C82, 0x00000014, 0x00000001, 0xFE363C82, 0x00000016, 0x00000001, 0x00000014, 0x00000043, 0x00000003, GetStatusFlags, 0xFE363C80, 0xFE363C83, 0x00000011, 0x00000002, 0xFE363C83, 0x003DD000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C83, 0x0000000A, 0x00000002, 0xFE363C83, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFE363C80, 0x0000000A, 0xFE363C83, 0x0000000B, 0x00000002, 0xFE363C83, 0x00000002, 0x00000027, 0x00000002, 0xFE363C89, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, ChooseNextTarget, 0x00000000, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021E068_6E3E28 -.word 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C8A, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000003, 0x00000046, 0x00000001, D_8021F5E0_6E53A0, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000009, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x0000000A, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000002, 0x00000004, 0x00000001, 0x0000007B, 0x00000013, 0x00000000, 0x00000046, 0x00000001, D_8021EB94_6E4954, 0x0000000A, 0x00000002, 0xFE363C8E, 0xFFFFFFFF, 0x00000004, 0x00000001, 0x0000007B, 0x00000013, 0x00000000, 0x00000046, 0x00000001, D_8021DF04_6E3CC4, 0x00000014, 0x00000001, 0xFE363C89, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000003, RandInt, 0x000003E8, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x00000190, 0x00000046, 0x00000001, D_8021EE7C_6E4C3C, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000003, RandInt, 0x000003E8, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x000000C8, 0x00000046, 0x00000001, D_8021EE7C_6E4C3C, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, RandInt, 0x000003E8, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x00000064, 0x00000046, 0x00000001, D_8021EE7C_6E4C3C, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000013, 0x00000000, 0x00000003, 0x00000001, 0x0000007B, 0x00000043, 0x00000003, RandInt, 0x000003E8, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x000001F4, 0x00000046, 0x00000001, D_8021D408_6E31C8, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, GetBattlePhase, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SetPartSounds, 0xFFFFFF81, 0x00000006, 0x00000002, 0x00000000, 0x00000000, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x00080000, 0x00000043, 0x00000006, SetPartScale, 0xFFFFFF81, 0x00000006, 0xF24A7E80, 0xF24A7E80, 0xF24A7E80, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SetPartScale, 0xFFFFFF81, 0x00000006, 0xF24A7C1A, 0xF24A7C1A, 0xF24A7E80, 0x00000013, 0x00000000, 0x00000058, 0x00000000, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000006, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, SetPartPos, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetPartJumpGravity, 0xFFFFFF81, 0x00000006, 0xF24A834D, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000006, 0x00310016, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C85, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C8A, 0x00000014, 0x00000001, 0xFE363C8A, 0x00000016, 0x00000001, 0x00000000, 0x00000011, 0x00000002, 0xFE363C85, 0x00080000, 0x00000027, 0x00000002, 0xFE363C81, 0x00000026, 0x00000012, 0x00000000, 0x00000027, 0x00000002, 0xFE363C81, 0x0000000F, 0x00000043, 0x00000004, SetPartJumpGravity, 0xFFFFFF81, 0x00000006, 0xF24A7F4D, 0x00000013, 0x00000000, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000F, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000011, 0x00000002, 0xFE363C85, 0x00080000, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000012, 0x00000000, 0x00000027, 0x00000002, 0xFE363C81, 0x00000008, 0x00000043, 0x00000004, SetPartJumpGravity, 0xFFFFFF81, 0x00000006, 0xF24A7F4D, 0x00000013, 0x00000000, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000F, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000011, 0x00000002, 0xFE363C85, 0x00080000, 0x00000027, 0x00000002, 0xFE363C81, 0x00000008, 0x00000012, 0x00000000, 0x00000027, 0x00000002, 0xFE363C81, 0x00000003, 0x00000043, 0x00000004, SetPartJumpGravity, 0xFFFFFF81, 0x00000006, 0xF24A7F4D, 0x00000013, 0x00000000, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000F, 0x00000001, 0x00000016, 0x00000001, 0x00000003, 0x00000023, 0x00000000, 0x00000059, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000342, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000004, 0xFE363C81, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0xFE363C81, 0x00000008, 0x00000001, 0x0000000C, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000005, 0xFE363C81, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0xFE363C81, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000002CE, 0x00000008, 0x00000001, 0x00000003, 0x00000046, 0x00000001, D_802200CC_6E5E8C, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x10000000, 0x00000000, 0x00000002, 0x00000020, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000005, 0x00000058, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000059, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000050, 0x00000028, 0x00000002, 0xFE363C81, 0x00000005, 0x00000043, 0x00000004, SetPartMoveSpeed, 0xFFFFFF81, 0x00000006, 0xF24ACA80, 0x00000043, 0x00000004, SetPartJumpGravity, 0xFFFFFF81, 0x00000006, 0xF24A7AE7, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000006, 0x00310016, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000001, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000006, 0x00000001, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C81, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0xFE363C81, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetPartMoveSpeed, 0xFFFFFF81, 0x00000006, 0xF24ACA80, 0x00000043, 0x00000004, SetPartJumpGravity, 0xFFFFFF81, 0x00000006, 0xF24A7AE7, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000006, 0x00310016, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000001, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x10000000, 0x00000000, 0x80020300, 0x00000002, 0x00000020, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C81, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0xFE363C81, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000043, 0x00000005, GetActorPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000037, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPartMoveSpeed, 0xFFFFFF81, 0x00000006, 0xF24A9280, 0x00000043, 0x00000004, SetPartJumpGravity, 0xFFFFFF81, 0x00000006, 0xF24A7AE7, 0x00000043, 0x00000009, FlyPartTo, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000019, 0x00000000, 0x00000043, 0x00000004, SetPartMoveSpeed, 0xFFFFFF81, 0x00000006, 0xF24A8A80, 0x00000028, 0x00000002, 0xFE363C80, 0x00000018, 0x00000043, 0x00000009, FlyPartTo, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000015, 0x00000000, 0x00000043, 0x00000004, SetPartMoveSpeed, 0xFFFFFF81, 0x00000006, 0xF24A8680, 0x00000028, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000009, FlyPartTo, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000014, 0x00000000, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000006, 0x00000001, 0x00000001, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021EB94_6E4954 -.word 0x00000024, 0x00000002, 0xFE363C8E, 0xFFFFFFFF, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00080000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E281, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E282, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E283, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E284, 0x00000000, 0x00000043, 0x00000002, EnemyCreateTargetList, 0x00008002, 0x00000043, 0x00000001, InitTargetIterator, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetOwnerTarget, 0xFE363C80, 0xFE363C85, 0x00000043, 0x00000003, GetIndexFromHome, 0xFE363C80, 0xFE363C85, 0x0000002B, 0x00000002, 0xFE363C85, 0x00000004, 0x00000014, 0x00000001, 0xFE363C85, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E281, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFBD3E282, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFBD3E283, 0x00000001, 0x00000016, 0x00000001, 0x00000003, 0x00000024, 0x00000002, 0xFBD3E284, 0x00000001, 0x00000023, 0x00000000, 0x00000043, 0x00000003, ChooseNextTarget, 0x00000000, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, GetIndexFromHome, 0xFFFFFF81, 0xFE363C81, 0x00000014, 0x00000001, 0xFE363C81, 0x00000016, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFBD3E281, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8E, 0x00000000, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000002, 0x0000000A, 0x00000002, 0xFBD3E282, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8E, 0x00000001, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x0000000A, 0x00000002, 0xFBD3E283, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8E, 0x00000002, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021EE54_6E4C14 -.word 0x00000190, 0xFFFFFF9C, 0x00000000 - -dlabel D_8021EE60_6E4C20 -.word D_8021C460_6E2220, D_8021EE54_6E4C14, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8021EE7C_6E4C3C -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000000E, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000002, MoveBattleCamOver, 0x0000001E, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310004, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0xFFFFFFEC, 0x00000014, 0x0000000A, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000058, 0x00000000, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000344, 0x00000059, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFFEC, 0x0000001E, 0x00000014, 0x0000000A, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000058, 0x00000000, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000345, 0x00000059, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x0000001E, 0xFFFFFFD8, 0x00000014, 0x0000000A, 0x00000003, 0x00000001, 0x00000002, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000002, 0x00000013, 0x00000000, 0x00000058, 0x00000000, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000002EE, 0x00000059, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFFD8, 0x0000005A, 0x0000000A, 0x0000000A, 0x00000003, 0x00000001, 0x00000003, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000003, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000346, 0x00000043, 0x00000002, StartRumble, 0x00000009, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x0000000A, 0xF24A7E80, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SummonEnemy, D_8021EE60_6E4C20, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0xFE363C80, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000028, 0x00000028, 0x00000002, 0xFE363C81, 0x00000050, 0x00000043, 0x00000005, SetActorPos, 0xFE363C8B, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000058, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000025, 0x00000002, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, UseIdleAnimation, 0xFE363C8B, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFE363C8B, 0x00000001, 0x0031000C, 0x00000043, 0x00000005, GetActorPos, 0xFE363C8B, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFE363C8B, 0xF24A7F4D, 0x00000043, 0x00000005, SetGoalPos, 0xFE363C8B, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFE363C8B, 0x00000014, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000005, GetActorPos, 0xFE363C8B, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetAnimation, 0xFE363C8B, 0x00000001, 0x00310004, 0x00000043, 0x00000005, SetHomePos, 0xFE363C8B, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000002, HPBarToHome, 0xFE363C8B, 0x00000043, 0x00000003, UseIdleAnimation, 0xFE363C8B, 0x00000001, 0x00000059, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x0000000A, 0xFE363C81, 0x00000014, 0x00000001, 0xFE363C81, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFE363C8B, 0x0000000A, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000004, SetActorVar, 0xFE363C8B, 0x0000000A, 0x00000002, 0x00000023, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000014, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000005, MakeLerp, 0x0000005A, 0xFFFFFFE2, 0x00000007, 0x00000004, 0x00000003, 0x00000001, 0x00000004, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000004, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFFE2, 0x00000000, 0x0000000A, 0x0000000A, 0x00000003, 0x00000001, 0x00000005, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000005, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310004, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021F5E0_6E53A0 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000000, 0x000002EC, 0x000002EC, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000002, 0x000002EC, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000003F, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000004, func_8024ECF8, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000032, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A81B4, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x0031000B, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8A80, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8280, 0x00000046, 0x00000001, D_8029C12C, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310007, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x0031000B, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000002, 0x00000010, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000005, 0x00000024, 0x00000002, 0xFE363C81, 0x0000000A, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7EE7, 0x00000058, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000005, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000059, 0x00000000, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000016, 0x00000000, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0x00000000, 0x0000000A, 0x00000000, 0x00000058, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x000000B4, 0x00000005, 0x00000001, 0x00000006, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000168, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000059, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8280, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000006, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000001, YieldTurn, 0x00000043, 0x00000005, AddActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000002, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8A80, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x0031000B, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8280, 0x00000046, 0x00000001, D_8029C12C, 0x00000043, 0x00000004, RemoveActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310007, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7EE7, 0x00000058, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000005, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000059, 0x00000000, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000012, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x80020300, 0x00000002, 0x00000020, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310007, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000028, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A81B4, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000A, 0x00000000, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000006, 0x00000000, 0x00000001, 0x00000000, 0x00000028, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000004, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310007, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8A80, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x0031000B, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8280, 0x00000046, 0x00000001, D_8029C12C, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310007, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021FFA0_6E5D60 -.word 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C8A, 0x00000010, 0x00000002, 0xFE363C8A, 0x00080000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C8A, 0x00000014, 0x00000001, 0xFE363C8A, 0x00000016, 0x00000001, 0x00000000, 0x00000046, 0x00000001, D_802208B0_6E6670, 0x00000016, 0x00000001, 0x00000001, 0x00000046, 0x00000001, D_802208B0_6E6670, 0x00000016, 0x00000001, 0x00000002, 0x00000046, 0x00000001, D_802208B0_6E6670, 0x00000016, 0x00000001, 0x00000003, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802200CC_6E5E8C -.word 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C8A, 0x00000014, 0x00000001, 0xFE363C8A, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000001, 0x00310005, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000002, 0x00310009, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000003, 0x0031000D, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000004, 0x00310012, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000005, 0x00310013, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000006, 0x0031001A, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000007, 0x0031001B, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_8021C4C4_6E2284, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000002, 0x00800000, 0x00000000, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000002, 0x00020000, 0x00000001, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000003, 0x00020000, 0x00000000, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000003, 0x00800000, 0x00000001, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000001, 0x00000043, 0x00000004, SetActorSize, 0xFFFFFF81, 0x0000003E, 0xF1194D80, 0x00000043, 0x00000005, SetPartSize, 0xFFFFFF81, 0x00000001, 0x0000003E, 0xF1194D80, 0x00000043, 0x00000005, dup_b_area_dig_UnkBattleFunc1, 0xFFFFFFF1, 0x00000037, 0x0000000A, 0x0000002D, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000001, 0x00310006, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000002, 0x0031000A, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000003, 0x0031000E, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000004, 0x00310014, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000005, 0x00310015, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000006, 0x0031001C, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000007, 0x0031001D, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_8021C500_6E22C0, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000003, 0x00800000, 0x00000000, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000003, 0x00020000, 0x00000001, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000004, 0x00020000, 0x00000000, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000004, 0x00800000, 0x00000001, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000002, 0x00000043, 0x00000004, SetActorSize, 0xFFFFFF81, 0x0000002C, 0xF1194D80, 0x00000043, 0x00000005, SetPartSize, 0xFFFFFF81, 0x00000001, 0x0000002C, 0xF1194D80, 0x00000043, 0x00000005, dup_b_area_dig_UnkBattleFunc1, 0xFFFFFFF1, 0x00000023, 0x0000000A, 0x00000019, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000001, 0x00310007, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000002, 0x0031000B, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000003, 0x0031000F, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000006, 0x0031001E, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000007, 0x0031001F, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_8021C53C_6E22FC, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000004, 0x00800000, 0x00000000, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000004, 0x00020000, 0x00000001, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000005, 0x00020000, 0x00000000, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000005, 0x00800000, 0x00000001, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000003, 0x00000043, 0x00000004, SetActorSize, 0xFFFFFF81, 0x0000001A, 0xF1194D80, 0x00000043, 0x00000005, SetPartSize, 0xFFFFFF81, 0x00000001, 0x0000001A, 0xF1194D80, 0x00000043, 0x00000005, dup_b_area_dig_UnkBattleFunc1, 0xFFFFFFF1, 0x0000000F, 0x0000000A, 0x00000005, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802205C4_6E6384 -.word 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000012, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C83, 0xFE363C81, 0x00000008, 0x00000001, 0x00000002, 0x00000028, 0x00000002, 0xFE363C83, 0x00000001, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C83, 0xFE363C82, 0x00000008, 0x00000001, 0x00000003, 0x00000028, 0x00000002, 0xFE363C83, 0x00000002, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C83, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000028, 0x00000002, 0xFE363C83, 0x00000003, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C83, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000028, 0x00000002, 0xFE363C83, 0x00000005, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C83, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000028, 0x00000002, 0xFE363C83, 0x00000007, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C83, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C83, 0x00000002, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C83, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C83, 0x00000003, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C83, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C83, 0x00000003, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C83, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000028, 0x00000002, 0xFE363C83, 0x00000003, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C83, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000028, 0x00000002, 0xFE363C83, 0x00000003, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C83, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000028, 0x00000002, 0xFE363C83, 0x00000002, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C83, 0xFE363C82, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802208B0_6E6670 -.word 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, SetPartPos, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000006, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x00080000, 0x00000043, 0x00000006, SetPartScale, 0xFFFFFF81, 0x00000006, 0xF24A7E80, 0xF24A7E80, 0xF24A7E80, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SetPartScale, 0xFFFFFF81, 0x00000006, 0xF24A7C1A, 0xF24A7C1A, 0xF24A7E80, 0x00000013, 0x00000000, 0x00000046, 0x00000001, D_802200CC_6E5E8C, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0x00000058, 0x00000000, 0x00000008, 0x00000001, 0x00000004, 0x00000046, 0x00000001, D_802205C4_6E6384, 0x00000059, 0x00000000, 0x00000043, 0x00000002, EnemyCreateTargetList, 0x00018004, 0x00000043, 0x00000001, InitTargetIterator, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetOwnerID, 0xFE363C81, 0x00000043, 0x00000003, GetOwnerTarget, 0xFE363C80, 0xFE363C89, 0x0000000B, 0x00000002, 0xFE363C81, 0xFE363C80, 0x00000043, 0x00000003, ChooseNextTarget, 0x00000000, 0xFE363C80, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000003, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C8F, 0x00000001, 0x00000043, 0x00000003, ChooseNextTarget, 0x00000000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000043, 0x00000003, GetOwnerTarget, 0xFE363C80, 0xFE363C89, 0x00000043, 0x00000003, GetActorFlags, 0xFE363C80, 0xFE363C81, 0x00000010, 0x00000002, 0xFE363C81, 0x00004000, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000002, GetOwnerID, 0xFE363C80, 0x00000043, 0x00000003, GetOwnerTarget, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPartJumpGravity, 0xFFFFFF81, 0x00000006, 0xF24A7AE7, 0x00000043, 0x00000004, SetPartMoveSpeed, 0xFFFFFF81, 0x00000006, 0xF24A9680, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000001, 0x00000058, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x00000002, 0xF24A7E80, 0x00000059, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000003, GetOwnerTarget, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000004, DispatchDamageEvent, 0xFE363C80, 0x00000001, 0x00000011, 0x00000004, 0x00000001, 0x00000001, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000003, 0x00000043, 0x00000004, SetPartJumpGravity, 0xFFFFFF81, 0x00000006, 0xF24A7AE7, 0x00000043, 0x00000004, SetPartMoveSpeed, 0xFFFFFF81, 0x00000006, 0xF24A9280, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0x00000006, 0x00000128, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000006, 0x00020000, 0x00000001, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000006, 0x00000001, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80220CFC_6E6ABC -.word 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x00080000, 0x00000043, 0x00000006, SetPartScale, 0xFFFFFF81, 0x00000006, 0xF24A7E80, 0xF24A7E80, 0xF24A7E80, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SetPartScale, 0xFFFFFF81, 0x00000006, 0xF24A7C1A, 0xF24A7C1A, 0xF24A7E80, 0x00000013, 0x00000000, 0x00000046, 0x00000001, D_802200CC_6E5E8C, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, GetLastEvent, 0xFFFFFF81, 0xFE363C81, 0x00000014, 0x00000001, 0xFE363C81, 0x0000001D, 0x00000001, 0x0000000E, 0x0000001D, 0x00000001, 0x00000024, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000006, 0x00310020, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000006, 0xFE363C81, 0x00000020, 0x00000000, 0x0000001C, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000023, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0x00000058, 0x00000000, 0x00000008, 0x00000001, 0x00000004, 0x00000046, 0x00000001, D_802205C4_6E6384, 0x00000059, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C8A, 0x0000000B, 0x00000002, 0xFE363C8A, 0x00000003, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, SetPartPos, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000006, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetPartMoveSpeed, 0xFFFFFF81, 0x00000006, 0xF24A9280, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000009, FlyPartTo, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000A, 0x00000012, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000009, FlyPartTo, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x0000000A, 0x00000000, 0x00000005, 0x00000001, 0x00000014, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000006, 0x00000001, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000006, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000006, 0x00020000, 0x00000001, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000006, 0x00000001, 0x00000001, 0x00000012, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000013, 0x00000000, 0x00000043, 0x00000003, GetLastEvent, 0xFFFFFF81, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x0000000E, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000007, 0xFE363C81, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0xFE363C81, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, GetActorSize, 0xFFFFFF81, 0xFE363C83, 0xFE363C84, 0x0000002A, 0x00000002, 0xFE363C83, 0x00000002, 0x00000027, 0x00000002, 0xFE363C81, 0xFE363C83, 0x00000027, 0x00000002, 0xFE363C82, 0x00000005, 0x0000002F, 0x00000002, 0xFE363C83, 0xF24AA280, 0x00000043, 0x0000000F, PlayEffect, 0x00000027, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000016, 0x00000001, 0x00000024, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000007, 0xFE363C81, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0xFE363C81, 0x00000008, 0x00000001, 0x0000000A, 0x0000001C, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802211D4_6E6F94 -.word 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000003, GetActorFlags, 0xFFFFFF81, 0xFE363C89, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7AB4, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000024, 0x00000002, 0xFE363C8D, 0xFE363C8B, 0x00000027, 0x00000002, 0xFE363C8D, 0x00000028, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C8A, 0xFE363C8D, 0xFE363C8C, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x00000003, FallToGoal, 0xFFFFFF81, 0x0000000A, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x000000B4, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C82, 0x00000014, 0x00000001, 0xFE363C82, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x00000060, 0x00000024, 0x00000002, 0xFE363C86, 0x00000004, 0x00000016, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFE363C82, 0x00000048, 0x00000024, 0x00000002, 0xFE363C86, 0x00000003, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C82, 0x00000030, 0x00000024, 0x00000002, 0xFE363C86, 0x00000002, 0x0000001C, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x00000018, 0x00000024, 0x00000002, 0xFE363C86, 0x00000001, 0x00000023, 0x00000000, 0x00000058, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000005, 0x00000001, 0xFE363C86, 0x00000043, 0x0000000F, PlayEffect, 0x00000025, 0x00000002, 0xFE363C8A, 0x00000000, 0xFE363C8C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000006, 0x00000000, 0x00000059, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8280, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000028, 0x00000002, 0xFE363C84, 0xFE363C82, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000005, FlyToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000002, func_8027D32C, 0xFFFFFF81, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, RemoveActor, 0xFFFFFF81, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 - -dlabel D_80221560_6E7320 -.word 0x00000001, 0x00320001, 0x0000000C, 0x00320000, 0x00000006, 0x00320010, 0x00000009, 0x00320001, 0x00000008, 0x00320000, 0x0000000B, 0x00320001, 0x00000005, 0x00320000, 0x00000004, 0x00320011, 0x00000003, 0x00320011, 0x00000000 - -dlabel D_802215AC_6E736C -.word 0x00000001, 0x00320002, 0x0000000C, 0x00320004, 0x00000006, 0x00320010, 0x00000009, 0x00320002, 0x00000008, 0x00320004, 0x0000000B, 0x00320002, 0x00000005, 0x00320004, 0x00000004, 0x00320011, 0x00000003, 0x00320011, 0x00000000 - -dlabel D_802215F8_6E73B8 -.word 0x00000001, 0x00320014, 0x00000000 - -dlabel D_80221604_6E73C4 -.word 0x00000001, 0x00000000, 0x00000000 - -dlabel D_80221610_6E73D0 -.word 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000006, 0x00000046, 0x00000009, 0x00000014, 0x00000007, 0x00000064, 0x00000004, 0x0000005A, 0x00000003, 0x00000032, 0x0000000B, 0x0000001E, 0x00000005, 0x00000064, 0x0000000A, 0x0000005A, 0x00000008, 0x00000064, 0x0000001F, 0x00000000, 0x00000020, 0x00000000, 0x00000025, 0x00000000, 0x00000022, 0x00000000, 0x00000024, 0x00000000, 0x00000023, 0x00000000, 0x00000021, 0x00000000, 0x00000026, 0x00000001, 0x00000027, 0x00000000, 0x00000029, 0x00000000, 0x00000000 - -dlabel D_802216BC_6E747C -.word 0x00800000, 0x01000000, 0xFE1C00FF, D_80221560_6E7320, D_80221604_6E73C4, 0x00000000, 0x00000000, 0x00F40000, 0x00000000, 0x00020001, 0x02001E00, 0x000000FF, D_802215F8_6E73B8, D_80221604_6E73C4, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80221704_6E74C4 -.word 0x00020000, 0x02000000, 0x000000FF, D_802215F8_6E73B8, D_80221604_6E73C4, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80221728_6E74E8 -.word 0x00000000, 0x00130905, 0x00020000, D_802216BC_6E747C, D_802217A0_6E7560, D_80221610_6E73D0, 0x285A5A5A, 0x5F005001, 0x1A200000, 0xF6190A19 - -dlabel D_80221750_6E7510 -.word 0x00600000, 0x00130905, 0x00010000, D_80221704_6E74C4, D_80221814_6E75D4, D_80221610_6E73D0, 0x285A5A5A, 0x5F005001, 0x1A200000, 0xF6190A19 - -dlabel D_80221778_6E7538 -.word 0x00000000, 0xFFFFFC18, 0x00000000 - -dlabel D_80221784_6E7544 -.word D_80221750_6E7510, D_80221778_6E7538, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802217A0_6E7560 -.word 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_80222950_6E8710, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_80221860_6E7620, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_80221FD8_6E7D98, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80221804_6E75C4 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80221814_6E75D4 -.word 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_80221804_6E75C4, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_80221804_6E75C4, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_80221804_6E75C4, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80221860_6E7620 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80221870_6E7630 -.word 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_80221560_6E7320, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000002, 0x00100000, 0x00000000, 0x00000043, 0x00000003, SummonEnemy, D_80221784_6E7544, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000006, GetPartOffset, 0xFFFFFF81, 0x00000002, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000005, SetActorPos, 0xFE363C8A, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000002, 0x00000001, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000001, 0xFE363C80, 0x00000043, 0x00000004, SetActorVar, 0xFE363C8A, 0x00000001, 0xFE363C80, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFE363C8A, 0xF24A7E80, 0x00000043, 0x00000003, RandInt, 0x00000168, 0xFE363C80, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000027, 0x00000002, 0xFE363C82, 0x0000001E, 0x00000043, 0x00000005, SetActorPos, 0xFE363C8A, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000005, SetActorSounds, 0xFE363C8A, 0x00000002, 0x00000000, 0x00000000, 0x00000043, 0x00000005, AddVectorPolar, 0xFE363C81, 0xFE363C83, 0xF24B1A80, 0xFE363C80, 0x00000043, 0x00000005, SetGoalPos, 0xFE363C8A, 0xFE363C81, 0x00000000, 0xFE363C83, 0x00000043, 0x00000006, JumpToGoal, 0xFE363C8A, 0x00000014, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFE363C8A, 0x00000212, 0x00000043, 0x00000005, AddVectorPolar, 0xFE363C81, 0xFE363C83, 0xF24ACA80, 0xFE363C80, 0x00000043, 0x00000005, SetGoalPos, 0xFE363C8A, 0xFE363C81, 0x00000000, 0xFE363C83, 0x00000043, 0x00000006, JumpToGoal, 0xFE363C8A, 0x0000000A, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFE363C8A, 0x00000212, 0x00000043, 0x00000005, AddVectorPolar, 0xFE363C81, 0xFE363C83, 0xF24AA280, 0xFE363C80, 0x00000043, 0x00000005, SetGoalPos, 0xFE363C8A, 0xFE363C81, 0x00000000, 0xFE363C83, 0x00000043, 0x00000006, JumpToGoal, 0xFE363C8A, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFE363C8A, 0x00000212, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetBattleFlags, 0xFE363C81, 0x00000010, 0x00000002, 0xFE363C81, 0x00080000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000011, 0x00000002, 0xFE363C81, 0x00000100, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFE363C8A, 0xF24A7E80, 0x00000043, 0x00000003, SetActorSpeed, 0xFE363C8A, 0xF24A9280, 0x00000024, 0x00000002, 0xFE363C80, 0xFFFFFFBA, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x0000000A, 0x00000003, 0x00000001, 0x00000005, 0x00000043, 0x00000005, GetActorPos, 0xFE363C8A, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x0000000A, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C84, 0xFE363C80, 0x00000028, 0x00000002, 0xFE363C84, 0xFE363C83, 0x0000000C, 0x00000002, 0xFE363C84, 0x0000001E, 0x00000043, 0x00000005, SetGoalPos, 0xFE363C8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFE363C8A, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFE363C8A, 0x00000212, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0xFE363C83, 0x00000027, 0x00000002, 0xFE363C83, 0x0000001E, 0x00000043, 0x00000005, SetGoalPos, 0xFE363C8A, 0xFE363C83, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFE363C8A, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFE363C8A, 0x00000212, 0x00000013, 0x00000000, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0xFE363C83, 0x00000028, 0x00000002, 0xFE363C84, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C84, 0x0000001E, 0x00000043, 0x00000005, SetGoalPos, 0xFE363C8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFE363C8A, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFE363C8A, 0x00000212, 0x00000012, 0x00000000, 0x00000028, 0x00000002, 0xFE363C83, 0x0000001E, 0x00000043, 0x00000005, SetGoalPos, 0xFE363C8A, 0xFE363C83, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFE363C8A, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFE363C8A, 0x00000212, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000004, 0x00000001, 0x00000005, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, EnableActorBlur, 0xFE363C8A, 0x00000001, 0x00000043, 0x00000003, SetTargetActor, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFE363C8A, 0x00000043, 0x00000006, JumpToGoal, 0xFE363C8A, 0x0000000F, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, GetGoalPos, 0xFE363C8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000049, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xF24A7E80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFE363C8A, 0x00000211, 0x00000043, 0x00000004, GetActorVar, 0xFE363C8A, 0x00000001, 0xFE363C80, 0x00000043, 0x00000002, AddCoin, 0xFE363C80, 0x00000043, 0x00000002, RemoveActor, 0xFE363C8A, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80221FD8_6E7D98 -.word 0x0000003C, 0x00000001, 0x8022AD70, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, GetLastEvent, 0xFFFFFF81, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000009, 0x00000045, 0x00000002, D_80221870_6E7630, 0xF4ACD480, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00320009, 0x00000046, 0x00000001, DoNormalHit, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xF4ACD480, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x0000001D, 0x00000001, 0x0000000A, 0x0000001D, 0x00000001, 0x00000011, 0x00000045, 0x00000002, D_80221870_6E7630, 0xF4ACD480, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00320009, 0x00000046, 0x00000001, DoNormalHit, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xF4ACD480, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x0000000E, 0x00000045, 0x00000002, D_80221870_6E7630, 0xF4ACD480, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0032000A, 0x00000025, 0x00000002, 0xFE363C82, 0x0032000B, 0x00000046, 0x00000001, DoBurnHit, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xF4ACD480, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000016, 0x00000001, 0x00000024, 0x00000045, 0x00000002, D_80221870_6E7630, 0xF4ACD480, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0032000A, 0x00000025, 0x00000002, 0xFE363C82, 0x0032000B, 0x00000046, 0x00000001, DoBurnHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0032000B, 0x00000046, 0x00000001, DoDeath, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xF4ACD480, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000000B, 0x00000045, 0x00000002, D_80221870_6E7630, 0xF4ACD480, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00320009, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xF4ACD480, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000016, 0x00000001, 0x00000021, 0x00000045, 0x00000002, D_80221870_6E7630, 0xF4ACD480, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00320009, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00320009, 0x00000046, 0x00000001, DoDeath, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xF4ACD480, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000002F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00320009, 0x00000046, 0x00000001, DoShockHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00320009, 0x00000046, 0x00000001, DoJumpBack, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00320007, 0x00000046, 0x00000001, DoReturnHome, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A80E7, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0x00000026, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00320009, 0x00000046, 0x00000001, DoShockHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00320009, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x0000001D, 0x00000001, 0x00000017, 0x0000001D, 0x00000001, 0x00000019, 0x0000001D, 0x00000001, 0x0000001F, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000025, 0x00000002, 0xFE363C81, 0x00320001, 0x00000016, 0x00000001, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00320002, 0x00000023, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000046, 0x00000001, DoImmune, 0x00000020, 0x00000000, 0x0000001D, 0x00000001, 0x00000020, 0x0000001D, 0x00000001, 0x00000025, 0x00000045, 0x00000002, D_80221870_6E7630, 0xF4ACD480, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00320009, 0x00000046, 0x00000001, DoNormalHit, 0x00000008, 0x00000001, 0x0000000A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00320009, 0x00000046, 0x00000001, DoDeath, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xF4ACD480, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000031, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00320001, 0x00000046, 0x00000001, DoRecover, 0x00000016, 0x00000001, 0x00000039, 0x00000045, 0x00000002, D_80221870_6E7630, 0xF4ACD480, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00320007, 0x00000025, 0x00000002, 0xFE363C82, 0x00320009, 0x00000046, 0x00000001, DoScareAway, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xF4ACD480, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000003A, 0x00000045, 0x00000002, D_80221870_6E7630, 0xF4ACD480, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00320009, 0x00000046, 0x00000001, DoAirLift, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xF4ACD480, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000016, 0x00000001, 0x00000016, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00320009, 0x00000025, 0x00000002, 0xFE363C82, 0x00040000, 0x00000046, 0x00000001, DoBlowAway, 0x00000002, 0x00000000, 0x0000001C, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00320001, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80222950_6E8710 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x000000B4, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00320008, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24AA280, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0x0000012C, 0x00000000, 0x00000000, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetBattleFlagBits, 0x00040000, 0x00000001, 0x00000043, 0x00000002, func_8027D32C, 0xFFFFFF81, 0x00000043, 0x00000002, RemoveActor, 0xFFFFFF81, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000003F, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000004, func_8024ECF8, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetBattlePhase, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000032, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000012, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00320007, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0x00000032, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9280, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00320001, 0x00000008, 0x00000001, 0x00000006, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8280, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00320005, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0x00000023, 0x00000000, 0x00000000, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000020C2, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000010, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x0032000D, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000002, ResetAllActorSounds, 0xFFFFFF81, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9280, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7C80, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000001, 0x00000000, 0x00000028, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000001, YieldTurn, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x000000B4, 0x00000043, 0x00000005, AddActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000002, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00320007, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00320001, 0x00000043, 0x00000004, RemoveActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x0032000D, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000002, ResetAllActorSounds, 0xFFFFFF81, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000020, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000043, 0x00000003, GetLastDamage, 0x00000000, 0xFE363C80, 0x0000000E, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000043, 0x00000002, GetBattleFlags, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x80000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00080000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000043, 0x00000003, GetStatusFlags, 0x00000000, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00100000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000043, 0x00000002, AddCoin, 0x00000000, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000018, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000001, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x0000001B, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x00000023, 0x00000000, 0x00000003, 0x00000001, 0x0000000A, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A81B4, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000A, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00320001, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00320007, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A81B4, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000A, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x0032000E, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000020C3, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00320010, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00320007, 0x0000001C, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000027, 0x00000002, 0xFE363C8A, 0x0000001E, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000001, 0xFE363C80, 0x00000029, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000043, 0x00000002, AddCoin, 0xFE363C80, 0x00000056, 0x00000000, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000002, 0x00100000, 0x00000001, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000002, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, SetPartPos, 0xFFFFFF81, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetPartJumpGravity, 0xFFFFFF81, 0x00000002, 0xF24A7E80, 0x00000027, 0x00000002, 0xFE363C8B, 0x0000001E, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0x00000002, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000016, 0x00000001, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000002, 0x00100000, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000001, 0xFE363C80, 0x00000005, 0x00000001, 0xFE363C80, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000212, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A81B4, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000A, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_802215AC_6E736C, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x0032000E, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000007, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x0032000F, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00320008, 0x00000023, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000001, YieldTurn, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80223770_6E9530 -.word 0x00000001, 0x00000000, 0x0000000C, 0x00000000, 0x00000000 - -dlabel D_80223784_6E9544 -.word 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000006, 0x00000046, 0x00000009, 0x00000032, 0x00000007, 0x00000000, 0x00000004, 0x0000005A, 0x00000003, 0x00000064, 0x0000000B, 0x00000032, 0x00000005, 0x0000005A, 0x0000000A, 0x0000004B, 0x00000008, 0x0000005A, 0x0000001F, 0x00000000, 0x00000020, 0x00000000, 0x00000025, 0x00000000, 0x00000022, 0x00000000, 0x00000024, 0x00000000, 0x00000023, 0x00000000, 0x00000021, 0x00000000, 0x00000026, 0x00000001, 0x00000027, 0x00000000, 0x00000029, 0x00000000, 0x00000000 - -dlabel D_80223830_6E95F0 -.word 0x00800000, 0x01000000, 0x001800FF, D_8022387C_6E963C, D_80223770_6E9530, 0x00000000, 0x00000000, 0xFFF60000, 0x00000000 - -dlabel D_80223854_6E9614 -.word 0x00000000, 0x001F0E07, 0x00010000, D_80223830_6E95F0, D_802238C8_6E9688, D_80223784_6E9544, 0x3C555050, 0x5F006401, 0x1C180000, 0xF6140A14 - -dlabel D_8022387C_6E963C -.word 0x00000001, 0x003B0001, 0x0000000C, 0x003B0000, 0x00000006, 0x003B0012, 0x00000009, 0x003B0001, 0x00000008, 0x003B0000, 0x0000000B, 0x003B0001, 0x00000005, 0x003B0000, 0x00000004, 0x003B0013, 0x00000003, 0x003B0013, 0x00000000 - -dlabel D_802238C8_6E9688 -.word 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_80225214_6EAFD4, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_80223914_6E96D4, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_80223A88_6E9848, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80223914_6E96D4 -.word 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00001000, 0x00000043, 0x00000005, SetTargetOffset, 0xFFFFFF81, 0x00000001, 0xFFFFFFFC, 0x0000000E, 0x00000043, 0x00000005, func_8027D4C8, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000005, dup2_b_area_dig_UnkBattleFunc1, 0xFFFFFFF6, 0x0000000D, 0x0000000A, 0x0000000D, 0x00000012, 0x00000000, 0x00000043, 0x00000005, SetTargetOffset, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000018, 0x00000043, 0x00000005, func_8027D4C8, 0xFFFFFF81, 0x00000001, 0xFFFFFFFF, 0xFFFFFFF6, 0x00000043, 0x00000005, dup2_b_area_dig_UnkBattleFunc1, 0xFFFFFFF6, 0x00000014, 0x0000000A, 0x00000014, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80223A24_6E97E4 -.word 0x00000043, 0x00000002, ResetAllActorSounds, 0xFFFFFF81, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B0003, 0x00000046, 0x00000001, DoReturnHome, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80223A88_6E9848 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, GetLastEvent, 0xFFFFFF81, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000009, 0x0000001D, 0x00000001, 0x0000000A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000C, 0x00000046, 0x00000001, DoNormalHit, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x0000000E, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000D, 0x00000025, 0x00000002, 0xFE363C82, 0x003B000E, 0x00000046, 0x00000001, DoBurnHit, 0x00000016, 0x00000001, 0x00000024, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000D, 0x00000025, 0x00000002, 0xFE363C82, 0x003B000E, 0x00000046, 0x00000001, DoBurnHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000E, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000000B, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000C, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000016, 0x00000001, 0x00000021, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000C, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000C, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000002F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000C, 0x00000046, 0x00000001, DoShockHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000C, 0x00000046, 0x00000001, DoJumpBack, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8A80, 0x00000046, 0x00000001, D_80223A24_6E97E4, 0x00000016, 0x00000001, 0x00000026, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000C, 0x00000046, 0x00000001, DoShockHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000C, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x0000001D, 0x00000001, 0x00000017, 0x0000001D, 0x00000001, 0x00000019, 0x0000001D, 0x00000001, 0x0000001F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B0001, 0x00000046, 0x00000001, DoImmune, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000020, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000C, 0x00000046, 0x00000001, DoNormalHit, 0x00000008, 0x00000001, 0x0000000A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000C, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000031, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B0001, 0x00000046, 0x00000001, DoRecover, 0x00000016, 0x00000001, 0x00000039, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B0003, 0x00000025, 0x00000002, 0xFE363C82, 0x003B0014, 0x00000046, 0x00000001, DoScareAway, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000003A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000C, 0x00000046, 0x00000001, DoAirLift, 0x00000016, 0x00000001, 0x00000016, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000C, 0x00000046, 0x00000001, DoBlowAway, 0x00000002, 0x00000000, 0x0000001C, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80223F64_6E9D24 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000003F, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000014, 0x00000043, 0x00000004, func_8024ECF8, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0003, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8A80, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000032, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000010, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000002, 0x000002EF, 0x00000000, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000000, 0x000020BA, 0x000003B4, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000004, 0x0000000A, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9280, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0004, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0005, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9280, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7C80, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C8A, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, ResetAllActorSounds, 0xFFFFFF81, 0x00000028, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x000000B4, 0x00000043, 0x00000005, AddActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000002, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8A80, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B0004, 0x00000046, 0x00000001, DoReturnHome, 0x00000043, 0x00000004, RemoveActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0001, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000002EF, 0x00000057, 0x00000000, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000000, 0x000020BA, 0x000003B4, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000004, 0x0000000A, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9280, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0004, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0005, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000020, 0x00000043, 0x00000002, ResetAllActorSounds, 0xFFFFFF81, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x0000000F, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A81B4, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000A, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0001, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9280, 0x00000046, 0x00000001, D_80223A24_6E97E4, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8022468C_6EA44C -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000003F, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000014, 0x00000043, 0x00000004, func_8024ECF8, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000234, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0009, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0003, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8680, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000050, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000000, 0x000020BA, 0x000003B4, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000004, 0x0000000A, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0004, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8E80, 0x00000028, 0x00000002, 0xFE363C80, 0x00000028, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000010, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9280, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0009, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000C, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B000A, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7DB4, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000018, 0x00000000, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0005, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9280, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7C80, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000001, 0x00000000, 0x00000028, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x0000000F, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x000000B4, 0x00000043, 0x00000005, AddActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000002, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9280, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B0004, 0x00000046, 0x00000001, DoReturnHome, 0x00000043, 0x00000004, RemoveActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0001, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9280, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0009, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000009, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B000A, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7DB4, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000012, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00000020, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x0000000F, 0x00000056, 0x00000000, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0x00000000, 0x0000000E, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0x00000000, 0x00000005, 0x00000001, 0x00000014, 0x00000028, 0x00000002, 0xFE363C83, 0x0000001E, 0x0000000C, 0x00000002, 0xFE363C83, 0x00000000, 0x00000027, 0x00000002, 0xFE363C83, 0x00000168, 0x00000013, 0x00000000, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C83, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000002, GetBattleFlags, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x80000000, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000003, GetLastDamage, 0x00000000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000028, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7DB4, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000014, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000349, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000749, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0009, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0007, 0x00000008, 0x00000001, 0x0000000F, 0x00000004, 0x00000001, 0x00000002, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000028, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7DB4, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000014, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000020E4, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0010, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000020C3, 0x00000043, 0x00000005, AddActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000002, 0x00000043, 0x00000003, RandInt, 0x00000064, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x00000032, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0011, 0x00000012, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0013, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000019, 0x00000043, 0x00000004, RemoveActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x000000B4, 0x00000003, 0x00000001, 0x00000002, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9280, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B0004, 0x00000046, 0x00000001, DoReturnHome, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0001, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80225214_6EAFD4 -.word 0x00000043, 0x00000003, RandInt, 0x00000001, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000046, 0x00000001, D_80223F64_6E9D24, 0x00000012, 0x00000000, 0x00000046, 0x00000001, D_8022468C_6EA44C, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80225270_6EB030 -.word 0x00000001, 0x006B0002, 0x0000000C, 0x006B0000, 0x00000006, 0x006B0000, 0x00000009, 0x006B0002, 0x00000008, 0x006B0000, 0x0000000B, 0x006B0000, 0x00000005, 0x006B0000, 0x00000005, 0x006B0000, 0x00000004, 0x006B0000, 0x00000004, 0x006B0000, 0x00000003, 0x006B0000, 0x00000000 - -dlabel D_802252CC_6EB08C -.word 0x00000001, 0x00000000, 0x00000000 - -dlabel D_802252D8_6EB098 -.word 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000006, 0x00000050, 0x00000009, 0x00000000, 0x00000007, 0x00000000, 0x00000004, 0x00000050, 0x00000003, 0x00000000, 0x0000000B, 0x00000000, 0x00000005, 0x00000050, 0x0000000A, 0x0000005A, 0x00000008, 0x00000050, 0x0000001F, 0x00000000, 0x00000020, 0x00000000, 0x00000025, 0x00000000, 0x00000022, 0x00000000, 0x00000024, 0x00000000, 0x00000023, 0x00000000, 0x00000021, 0x00000000, 0x00000026, 0x00000000, 0x00000027, 0x00000000, 0x00000029, 0x00000000, 0x00000000 - -dlabel D_80225384_6EB144 -.word 0x00802000, 0x01000000, 0xF14B00FF, D_80225270_6EB030, D_802252CC_6EB08C, 0x00000000, 0x00000000, 0x00F60000, 0x00000000 - -dlabel D_802253A8_6EB168 -.word 0x00000000, 0x00A3460A, 0x00010000, D_80225384_6EB144, D_802253D0_6EB190, D_802252D8_6EB098, 0x00000000, 0x00044B00, 0x6E640000, 0xDF4E0A4B - -dlabel D_802253D0_6EB190 -.word 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_802256A0_6EB460, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_802255D8_6EB398, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_802255E8_6EB3A8, 0x00000043, 0x00000003, BindNextTurn, 0xFFFFFF81, D_802255C8_6EB388, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000045, 0x00000002, D_80225488_6EB248, 0xFE363C80, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C80, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80225488_6EB248 -.word 0x00000003, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, ActorExists, 0xFFFFFF81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00080000, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetAnimation, 0xFFFFFF81, 0x00000001, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x006B0006, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0x006B0007, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x00000002, 0xF24A7C80, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802255C8_6EB388 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802255D8_6EB398 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802255E8_6EB3A8 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802255F8_6EB3B8 -.word 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006B0002, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9280, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006B0007, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006B0002, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802256A0_6EB460 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000010, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000006, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8680, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006B0007, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006B0001, 0x00000008, 0x00000001, 0x0000001E, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x0000000C, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000F, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C80, 0x000000B4, 0x00000005, 0x00000001, 0x0000000C, 0x00000028, 0x00000002, 0xFE363C80, 0x0000000F, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006B0002, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C81, 0x00000050, 0x00000043, 0x0000000F, PlayEffect, 0x00000010, 0x00000002, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000001E, 0x0000013B, 0x0000001E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006B0001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000C, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006B0006, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8680, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C80, 0x000000DC, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C80, 0x00000049, 0x00000001, 0xFE363C80, 0x00000043, 0x00000004, SetActorFlagBits, 0xFFFFFF81, 0x00400000, 0x00000001, 0x00000043, 0x00000003, SetBattleFlagBits, 0x00060000, 0x00000001, 0x00000043, 0x00000002, func_8026F60C, 0x0000000A, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000001, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000002, func_802535B4, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000043, 0x00000006, ActorSpeak, 0x000E0103, 0xFFFFFF81, 0x00000001, 0x006B0009, 0x006B0002, 0x00000056, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006B0015, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006B0016, 0x00000008, 0x00000001, 0x0000000F, 0x00000057, 0x00000000, 0x00000043, 0x00000005, EndActorSpeech, 0xFFFFFF81, 0x00000001, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006B0001, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x0000000F, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, func_802535B4, 0x00000001, 0x00000013, 0x00000000, 0x00000046, 0x00000001, D_8022614C_6EBF0C, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000003F, 0x00000043, 0x00000002, SetBattleCamZoom, 0x00000096, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000004, func_8024ECF8, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006B0007, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000011, 0x00000002, 0xFE363C85, 0x00080000, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0x00000032, 0x00000000, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0x00000014, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8A80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006B0015, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006B0016, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006B0017, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x00080000, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000025, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x00000005, 0xF24AB680, 0x00000057, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000020EA, 0x00000013, 0x00000000, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000010, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006B0002, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000014, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000046, 0x00000001, D_802255F8_6EB3B8, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x0000001C, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C85, 0x00000011, 0x00000002, 0xFE363C85, 0x00080000, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000025, 0x00000001, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000011, 0x00000002, 0xFE363C85, 0x00080000, 0x00000043, 0x00000002, func_80269EAC, 0x00000017, 0x00000013, 0x00000000, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C8F, 0x10000000, 0x00000000, 0x00000000, 0x00000004, 0x00000020, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000014, 0x00000014, 0x00000001, 0xFE363C8F, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x0000001D, 0x00000001, 0x0000000A, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006B0002, 0x0000000A, 0x00000002, 0xFE363C8F, 0x0000000A, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, YieldTurn, 0x00000046, 0x00000001, D_802255F8_6EB3B8, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8022614C_6EBF0C -.word 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000003F, 0x00000043, 0x00000002, SetBattleCamZoom, 0x000000B4, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000004, func_8024ECF8, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006B0007, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0x00000046, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8A80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006B000F, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006B0010, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000010, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000C, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006B0011, 0x00000057, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x0000000F, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000027, 0x00000002, 0xFE363C82, 0x00000005, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7E80, 0x00000043, 0x00000002, PlaySound, 0x000003E2, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000017, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000020EA, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006B0012, 0x00000056, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x0000001D, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000003C, 0x00000008, 0x0000000A, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x00000005, 0xF24A8680, 0x00000057, 0x00000000, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000014, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000027, 0x00000002, 0xFE363C82, 0x00000005, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7E80, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000A, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x00000005, 0xF24A8680, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x0000001D, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000003C, 0x00000008, 0x0000000A, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000014, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006B0013, 0x00000008, 0x00000001, 0x00000004, 0x00000046, 0x00000001, D_802255F8_6EB3B8, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x0000001C, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000C, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006B0011, 0x00000057, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7E80, 0x00000043, 0x00000002, PlaySound, 0x000003E2, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000010, 0x00000000, 0x00000001, 0x00000000, 0x00000023, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000020EA, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C85, 0x00000011, 0x00000002, 0xFE363C85, 0x00080000, 0x00000043, 0x00000002, func_80269EAC, 0x00000018, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000020EA, 0x00000013, 0x00000000, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x10000000, 0x00000000, 0x00000000, 0x00000006, 0x00000020, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000014, 0x00000024, 0x00000002, 0xFE363C8F, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C8F, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x0000001D, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C85, 0x00000010, 0x00000002, 0xFE363C85, 0x00080000, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000002, GetBattleFlags, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x80000000, 0x00000043, 0x00000003, GetStatusFlags, 0x00000000, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x00100000, 0x00000043, 0x00000002, LandJump, 0xFFFFFF81, 0x00000012, 0x00000000, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000012, 0x00000000, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000025, 0x00000000, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006B000D, 0x00000056, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x0000001D, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000003C, 0x00000008, 0x0000000A, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x00000005, 0xF24A8680, 0x00000057, 0x00000000, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000014, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000027, 0x00000002, 0xFE363C82, 0x00000005, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7E80, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000A, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x00000005, 0xF24A8680, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x0000001D, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000003C, 0x00000008, 0x0000000A, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000004, 0x00000001, 0x00000002, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C85, 0x00000011, 0x00000002, 0xFE363C85, 0x00080000, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000025, 0x00000001, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x00000005, 0xF24A8680, 0x00000013, 0x00000000, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000028, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A81B4, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006B000E, 0x00000057, 0x00000000, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000A, 0x00000000, 0x00000001, 0x00000000, 0x00000011, 0x00000002, 0xFE363C85, 0x00080000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x00000005, 0xF24A8680, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x0000001D, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000003C, 0x00000008, 0x0000000A, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000008, 0x00000013, 0x00000000, 0x00000003, 0x00000001, 0x00000002, 0x0000000A, 0x00000002, 0xFE363C8F, 0x0000000A, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, YieldTurn, 0x00000046, 0x00000001, D_802255F8_6EB3B8, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80226D50_6ECB10 -.word 0x00000001, 0x00000000, 0x00000000 - -dlabel D_80226D5C_6ECB1C -.word 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000006, 0x0000005A, 0x00000009, 0x00000050, 0x00000007, 0x00000064, 0x00000004, 0x0000005A, 0x00000003, 0x00000000, 0x0000000B, 0x0000000A, 0x00000005, 0x00000064, 0x0000000A, 0x0000005A, 0x00000008, 0x00000064, 0x0000001F, 0x00000000, 0x00000020, 0x00000000, 0x00000025, 0x00000000, 0x00000022, 0x00000000, 0x00000024, 0xFFFFFFFF, 0x00000023, 0x00000000, 0x00000021, 0x00000000, 0x00000026, 0x00000001, 0x00000027, 0x00000000, 0x00000029, 0x00000000, 0x00000000 - -dlabel D_80226E08_6ECBC8 -.word 0x00020000, 0x01000000, 0xFE1000FF, D_80226E9C_6ECC5C, D_80226D50_6ECB10, 0x00000000, 0x00000000, 0x00F90000, 0x00000000, 0x80800001, 0x020000F1, 0xFE0C00FF, D_80226E9C_6ECC5C, D_80226D50_6ECB10, 0x00000000, 0x00000000, 0x00F90000, 0x00000000, 0x00120001, 0x03000000, 0x000000FF, D_80226EE8_6ECCA8, D_80226D50_6ECB10, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80226E74_6ECC34 -.word 0x00000000, 0x00120803, 0x00030000, D_80226E08_6ECBC8, D_802270B0_6ECE70, D_80226D5C_6ECB1C, 0x50463255, 0x5F046401, 0x22120000, 0xF6140A14 - -dlabel D_80226E9C_6ECC5C -.word 0x00000001, 0x002F0001, 0x0000000C, 0x002F0000, 0x00000006, 0x002F0014, 0x00000009, 0x002F0001, 0x00000008, 0x002F0000, 0x0000000B, 0x002F0001, 0x00000005, 0x002F0000, 0x00000004, 0x002F0014, 0x00000003, 0x002F0014, 0x00000000 - -dlabel D_80226EE8_6ECCA8 -.word 0x00000001, 0x002F000F, 0x00000000 - -dlabel D_80226EF4_6ECCB4 -.word 0x00000001, 0x002F0012, 0x00000000, 0x00000001, 0x002F0006, 0x00000000 - -dlabel D_80226F0C_6ECCCC -.word 0x00022000, 0x01000000, 0x000000FF, D_80226EF4_6ECCB4, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80226F30_6ECCF0 -.word 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000006, SetPartScale, 0xFFFFFF81, 0x00000001, 0xF24A7C1A, 0xF24A7C1A, 0xF24A7C1A, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80226F90_6ECD50 -.word 0x00640004, 0x006B0905, 0x00010000, D_80226F0C_6ECCCC, D_80226F30_6ECCF0, 0x00000000, 0x50005050, 0x5A045A02, 0x20120000, 0xF6140A14 - -dlabel D_80226FB8_6ECD78 -.word 0x00000000, 0xFFFFFC18, 0x00000000 - -dlabel D_80226FC4_6ECD84 -.word D_80226F90_6ECD50, D_80226FB8_6ECD78, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80226FE0_6ECDA0 -.word D_80226F90_6ECD50, D_80226FB8_6ECD78, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80226FFC_6ECDBC -.word 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00080000, 0x00000043, 0x00000003, SummonEnemy, D_80226FE0_6ECDA0, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SummonEnemy, D_80226FC4_6ECD84, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000028, 0x00000002, 0xFE363C83, 0x00000001, 0x00000043, 0x00000005, SetActorPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802270B0_6ECE70 -.word 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_802278AC_6ED66C, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_80227114_6ECED4, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_80227124_6ECEE4, 0x00000043, 0x00000004, SetActorFlagBits, 0xFFFFFF81, 0x00000004, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80227114_6ECED4 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80227124_6ECEE4 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, GetLastElement, 0xFE363C8E, 0x00000043, 0x00000003, GetLastEvent, 0xFFFFFF81, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000009, 0x0000001D, 0x00000001, 0x0000000A, 0x00000010, 0x00000002, 0xFE363C8E, 0x00000040, 0x00000058, 0x00000000, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002F0007, 0x00000059, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002F0006, 0x00000046, 0x00000001, DoNormalHit, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002F0008, 0x00000008, 0x00000001, 0x0000000A, 0x00000012, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002F0005, 0x00000046, 0x00000001, DoNormalHit, 0x00000013, 0x00000000, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x0000000E, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002F000A, 0x00000025, 0x00000002, 0xFE363C82, 0x002F000B, 0x00000046, 0x00000001, DoBurnHit, 0x00000016, 0x00000001, 0x00000024, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002F000A, 0x00000025, 0x00000002, 0xFE363C82, 0x002F000B, 0x00000046, 0x00000001, DoBurnHit, 0x00000046, 0x00000001, D_80226FFC_6ECDBC, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002F000C, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x0000001D, 0x00000001, 0x00000017, 0x0000001D, 0x00000001, 0x00000019, 0x00000043, 0x00000002, GetLastElement, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00000040, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000322, 0x00000043, 0x00000004, SetAnimationRate, 0xFFFFFF81, 0x00000001, 0xF24A8280, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002F0011, 0x00000008, 0x00000001, 0x00000050, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000321, 0x00000043, 0x00000004, SetAnimationRate, 0xFFFFFF81, 0x00000001, 0xF24A7E80, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002F0010, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002F0014, 0x00000008, 0x00000001, 0x00000014, 0x00000012, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002F0001, 0x00000046, 0x00000001, DoImmune, 0x00000013, 0x00000000, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000020, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002F0005, 0x00000046, 0x00000001, DoNormalHit, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002F0006, 0x00000008, 0x00000001, 0x0000000A, 0x00000046, 0x00000001, D_80226FFC_6ECDBC, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002F0009, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000031, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002F0006, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002F0007, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002F0008, 0x00000008, 0x00000001, 0x00000008, 0x00000016, 0x00000001, 0x00000039, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002F0006, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002F0007, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002F0008, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, SetActorFlagBits, 0xFFFFFF81, 0x00404000, 0x00000001, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_80226EF4_6ECCB4, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000003A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002F0005, 0x00000046, 0x00000001, DoAirLift, 0x00000016, 0x00000001, 0x00000016, 0x00000046, 0x00000001, D_80226FFC_6ECDBC, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x0035D000, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0xFFFFFFFB, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002F0019, 0x00000012, 0x00000000, 0x00000010, 0x00000002, 0xFE363C80, 0x00080000, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0xFFFFFFF7, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0xFFFFFFE9, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002F0009, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x000003E8, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000001F, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000322, 0x00000043, 0x00000004, SetAnimationRate, 0xFFFFFF81, 0x00000001, 0xF24A8280, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002F0011, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000321, 0x00000043, 0x00000004, SetAnimationRate, 0xFFFFFF81, 0x00000001, 0xF24A7E80, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002F0010, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002F0014, 0x00000008, 0x00000001, 0x00000014, 0x00000016, 0x00000001, 0x0000003D, 0x00000046, 0x00000001, D_80226FFC_6ECDBC, 0x0000001C, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802278AC_6ED66C -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000002, GetBattlePhase, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000001, 0x00000013, 0x00000000, 0x00000058, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000322, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000321, 0x00000059, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002F0004, 0x00000008, 0x00000001, 0x00000025, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000043, 0x00000006, SetPartPos, 0xFFFFFF81, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00080000, 0x00000043, 0x00000006, SetPartScale, 0xFFFFFF81, 0x00000003, 0xF24A7C1A, 0xF24A7C1A, 0xF24A7C1A, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SetPartScale, 0xFFFFFF81, 0x00000003, 0xF24A7E80, 0xF24A7E80, 0xF24A7E80, 0x00000013, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtPart, 0xFFFFFF81, 0x00000003, 0x000003E8, 0x00000043, 0x00000006, SetPartSounds, 0xFFFFFF81, 0x00000003, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x10000000, 0x00000000, 0x00000002, 0x00000020, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000064, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFFFB, 0x00000043, 0x00000004, SetPartMoveSpeed, 0xFFFFFF81, 0x00000003, 0xF24AAA80, 0x00000043, 0x00000004, SetPartJumpGravity, 0xFFFFFF81, 0x00000003, 0xF24A7AE7, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000003, 0x002F000F, 0x00000043, 0x00000009, FlyPartTo, 0xFFFFFF81, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x0000001E, 0x00000000, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000003, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, YieldTurn, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetPartMoveSpeed, 0xFFFFFF81, 0x00000003, 0xF24AAA80, 0x00000043, 0x00000004, SetPartJumpGravity, 0xFFFFFF81, 0x00000003, 0xF24A7AE7, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000003, 0x002F000F, 0x00000043, 0x00000009, FlyPartTo, 0xFFFFFF81, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000014, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x10000000, 0x00000000, 0x00000000, 0x00000002, 0x00000020, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000043, 0x00000005, GetActorPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000037, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPartMoveSpeed, 0xFFFFFF81, 0x00000003, 0xF24A9280, 0x00000043, 0x00000004, SetPartJumpGravity, 0xFFFFFF81, 0x00000003, 0xF24A7AE7, 0x00000043, 0x00000009, FlyPartTo, 0xFFFFFF81, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000019, 0x00000000, 0x00000043, 0x00000004, SetPartMoveSpeed, 0xFFFFFF81, 0x00000003, 0xF24A8A80, 0x00000028, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000009, FlyPartTo, 0xFFFFFF81, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000015, 0x00000000, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000003, 0x00000001, 0x00000001, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80227F00_6EDCC0 -.word 0x00000001, 0x00920001, 0x0000000C, 0x00920000, 0x00000006, 0x00920001, 0x00000009, 0x00920001, 0x00000008, 0x00920000, 0x0000000B, 0x00920001, 0x00000005, 0x00920000, 0x00000004, 0x00920001, 0x00000003, 0x00920001, 0x00000000 - -dlabel D_80227F4C_6EDD0C -.word 0x00000001, 0x00000000, 0x00000000 - -dlabel D_80227F58_6EDD18 -.word 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000006, 0x00000000, 0x00000009, 0x00000000, 0x00000007, 0x00000000, 0x00000004, 0x00000000, 0x00000003, 0x00000000, 0x0000000B, 0x00000000, 0x00000005, 0x00000000, 0x0000000A, 0x00000000, 0x00000008, 0x00000000, 0x0000001F, 0x00000000, 0x00000020, 0x00000000, 0x00000025, 0x00000000, 0x00000022, 0x00000000, 0x00000024, 0x00000000, 0x00000023, 0x00000000, 0x00000021, 0x00000000, 0x00000026, 0x00000000, 0x00000027, 0x00000000, 0x00000029, 0x00000000, 0x00000000 - -dlabel D_80228004_6EDDC4 -.word 0x00800000, 0x01000000, 0x001E00FF, D_80227F00_6EDCC0, D_80227F4C_6EDD0C, 0x00000000, 0x00000000, 0x00FB0000, 0x00000000, 0x00040004, 0x00D00063, 0x00010000, D_80228004_6EDDC4, D_80228050_6EDE10, D_80227F58_6EDD18, 0x00000000, 0x00043200, 0x2F200000, 0xEC280A1E - -dlabel D_80228050_6EDE10 -.word 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_802288E4_6EE6A4, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_8022810C_6EDECC, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_80228140_6EDF00, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000001, b_area_dig_IsSaveVar123, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, SetActorFlagBits, 0xFFFFFF81, 0x00600001, 0x00000001, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000001, 0x00020000, 0x00000001, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8022810C_6EDECC -.word 0x00000003, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80228140_6EDF00 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, GetLastEvent, 0xFFFFFF81, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000009, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00002073, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00920001, 0x00000046, 0x00000001, DoNormalHit, 0x00000016, 0x00000001, 0x0000000A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00920004, 0x00000046, 0x00000001, D_80228934_6EE6F4, 0x00000046, 0x00000001, DoNormalHit, 0x00000043, 0x00000003, RandInt, 0x00000064, 0xFE363C80, 0x0000000E, 0x00000002, 0xFE363C80, 0x00000064, 0x00000046, 0x00000001, D_80228A14_6EE7D4, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x0000000E, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00920001, 0x00000025, 0x00000002, 0xFE363C82, 0x00920001, 0x00000046, 0x00000001, D_80228934_6EE6F4, 0x00000046, 0x00000001, DoNormalHit, 0x00000043, 0x00000003, RandInt, 0x00000064, 0xFE363C80, 0x0000000E, 0x00000002, 0xFE363C80, 0x00000064, 0x00000046, 0x00000001, D_80228A14_6EE7D4, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000024, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00920001, 0x00000025, 0x00000002, 0xFE363C82, 0x00920001, 0x00000046, 0x00000001, D_80228934_6EE6F4, 0x00000046, 0x00000001, DoNormalHit, 0x0000000F, 0x00000002, 0x00000064, 0x00000064, 0x00000046, 0x00000001, D_80228A14_6EE7D4, 0x00000002, 0x00000000, 0x00000012, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00920001, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x0000000B, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00920001, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000043, 0x00000003, RandInt, 0x00000064, 0xFE363C80, 0x0000000E, 0x00000002, 0xFE363C80, 0x00000064, 0x00000046, 0x00000001, D_80228A14_6EE7D4, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000021, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00920001, 0x00000046, 0x00000001, DoSpinSmashHit, 0x0000000F, 0x00000002, 0x00000064, 0x00000064, 0x00000046, 0x00000001, D_80228A14_6EE7D4, 0x00000002, 0x00000000, 0x00000012, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00920001, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x0000002F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00920001, 0x00000046, 0x00000001, DoShockHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00920001, 0x00000046, 0x00000001, DoJumpBack, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00920001, 0x00000046, 0x00000001, DoReturnHome, 0x00000016, 0x00000001, 0x00000026, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00920001, 0x00000046, 0x00000001, DoShockHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00920001, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000017, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00920001, 0x00000046, 0x00000001, DoImmune, 0x00000016, 0x00000001, 0x00000019, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00920001, 0x00000046, 0x00000001, DoImmune, 0x00000043, 0x00000003, RandInt, 0x00000064, 0xFE363C80, 0x0000000E, 0x00000002, 0xFE363C80, 0x00000064, 0x00000046, 0x00000001, D_80228A14_6EE7D4, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x0000001F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00920001, 0x00000046, 0x00000001, DoImmune, 0x00000043, 0x00000003, RandInt, 0x00000064, 0xFE363C80, 0x0000000E, 0x00000002, 0xFE363C80, 0x00000064, 0x00000046, 0x00000001, D_80228A14_6EE7D4, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000020, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00920004, 0x00000046, 0x00000001, D_80228934_6EE6F4, 0x00000046, 0x00000001, DoNormalHit, 0x00000008, 0x00000001, 0x0000000A, 0x0000000F, 0x00000002, 0x00000064, 0x00000064, 0x00000046, 0x00000001, D_80228A14_6EE7D4, 0x00000002, 0x00000000, 0x00000012, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00920001, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000031, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00920001, 0x00000046, 0x00000001, DoRecover, 0x00000016, 0x00000001, 0x00000039, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00920001, 0x00000025, 0x00000002, 0xFE363C82, 0x00920001, 0x00000046, 0x00000001, DoScareAway, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000003A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00920001, 0x00000046, 0x00000001, DoAirLift, 0x00000016, 0x00000001, 0x00000016, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00920001, 0x00000046, 0x00000001, DoBlowAway, 0x00000002, 0x00000000, 0x0000001C, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802288E4_6EE6A4 -.word 0x00000043, 0x00000003, RandInt, 0x00000064, 0xFE363C80, 0x0000000E, 0x00000002, 0xFE363C80, 0x00000064, 0x00000046, 0x00000001, D_80228A14_6EE7D4, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80228934_6EE6F4 -.word 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000001, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00002073, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00920001, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000005, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000027, 0x00000002, 0xFE363C82, 0x0000000A, 0x00000043, 0x00000007, MakeItemEntity, 0x00000093, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000C, 0x00000000, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80228A14_6EE7D4 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000322, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00920003, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000003, SetBattleFlagBits2, 0x10000000, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000001, 0x00020000, 0x00000001, 0x00000043, 0x00000004, SetActorFlagBits, 0xFFFFFF81, 0x00600001, 0x00000001, 0x00000043, 0x00000002, RemoveActor, 0xFFFFFF81, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 - -dlabel D_80228B10_6EE8D0 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80228B30_6EE8F0 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80228B40_6EE900 -.word 0x0000001B, 0x0000001A, 0x0000001D, 0x0000001C, 0x00000019, 0x00000000 - -dlabel D_80228B58_6EE918 -.word D_8022AC18_6F09D8, D_8022AC08_6F09C8, D_8022ABF8_6F09B8, D_80228B10_6EE8D0, D_80228B30_6EE8F0, D_8022ABF0_6F09B0, D_80228B40_6EE900, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80228B80_6EE940 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000003, SetGroupEnabled, 0x0000000D, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80228BB4_6EE974 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80228BC4_6EE984 -.word 0x00000017, 0x00000018, 0x00000000 - -dlabel D_80228BD0_6EE990 -.word D_8022AC48_6F0A08, D_8022AC38_6F09F8, D_8022AC28_6F09E8, D_80228B80_6EE940, D_80228BB4_6EE974, D_8022AC20_6F09E0, D_80228BC4_6EE984, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80228C00_6EE9C0 -.word 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C87, 0xFE363C81, 0x00000029, 0x00000002, 0xFE363C87, 0x0000000A, 0x00000043, 0x00000001, b_area_dig_GetModelPos, 0x00000003, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C87, 0x00000001, 0x0000000D, 0x00000002, 0xFE363C87, 0x00000E0F, 0x00000028, 0x00000002, 0xFE363C87, 0x00000E10, 0x00000013, 0x00000000, 0x00000043, 0x00000005, b_area_dig_UnkFloatFunc3, 0xFE363C87, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80228CE0_6EEAA0 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000044, 0x00000001, D_80228C00_6EE9C0, 0x00000024, 0x00000002, 0xFE363C80, 0x00000003, 0x00000024, 0x00000002, 0xFE363C81, 0x00000078, 0x00000044, 0x00000001, D_80228C00_6EE9C0, 0x00000024, 0x00000002, 0xFE363C80, 0x00000005, 0x00000024, 0x00000002, 0xFE363C81, 0x000000F0, 0x00000044, 0x00000001, D_80228C00_6EE9C0, 0x00000043, 0x0000000F, PlayEffect, 0x00000082, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80228DC8_6EEB88 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80228DD8_6EEB98 -.word 0x00000028, 0x00000027, 0x00000026, 0x00000025, 0x00000000 - -dlabel D_80228DEC_6EEBAC -.word D_8022AC78_6F0A38, D_8022AC68_6F0A28, D_8022AC58_6F0A18, D_80228CE0_6EEAA0, D_80228DC8_6EEB88, D_8022AC50_6F0A10, D_80228DD8_6EEB98, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80228E20_6EEBE0 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000005, SetCamBGColor, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x0000001D, 0x0000000A, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8E, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C8E, 0x00008000, 0x00000043, 0x00000005, SetTexPanOffset, 0x0000000A, 0x00000000, 0xFE363C8E, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80228EDC_6EEC9C -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80228EEC_6EECAC -.word 0x00000012, 0x00000011, 0x0000000D, 0x00000000 - -dlabel D_80228EFC_6EECBC -.word D_8022ACA8_6F0A68, D_8022AC98_6F0A58, D_8022AC88_6F0A48, D_80228E20_6EEBE0, D_80228EDC_6EEC9C, D_8022AC80_6F0A40, D_80228EEC_6EECAC, 0x00000004, D_80228F54_6EED14, 0x00000000 - -dlabel D_80228F24_6EECE4 -.word 0xFFFFFFCF, 0x00000038, 0xFFFFFFBC - -dlabel D_80228F30_6EECF0 -.word 0xFFFFFFF3, 0x00000038, 0xFFFFFFBC - -dlabel D_80228F3C_6EECFC -.word 0x00000014, 0x00000038, 0xFFFFFFBC - -dlabel D_80228F48_6EED08 -.word 0x00000035, 0x00000038, 0xFFFFFFBC - -dlabel D_80228F54_6EED14 -.word D_80229128_6EEEE8, D_80228F24_6EECE4, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80229100_6EEEC0, D_80228F30_6EECF0, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, D_80229100_6EEEC0, D_80228F3C_6EECFC, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000000, D_80229100_6EEEC0, D_80228F48_6EED08, 0x00000000, 0x00000003, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80228FC4_6EED84 -.word 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000002 - -dlabel D_80228FE4_6EEDA4 -.word 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000001, 0x00000002, 0x00000000, 0x00000002 - -dlabel D_80229004_6EEDC4 -.word 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000002 - -dlabel D_80229024_6EEDE4 -.word 0x00000001, 0x00000000, 0x00000000 - -dlabel D_80229030_6EEDF0 -.word 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000006, 0x00000000, 0x00000009, 0x00000000, 0x00000007, 0x00000000, 0x00000004, 0x00000000, 0x00000003, 0x00000000, 0x0000000B, 0x00000000, 0x00000005, 0x00000000, 0x0000000A, 0x00000000, 0x00000008, 0x00000000, 0x0000001F, 0x00000000, 0x00000020, 0x00000000, 0x00000025, 0x00000000, 0x00000022, 0x00000000, 0x00000024, 0x00000000, 0x00000023, 0x00000000, 0x00000021, 0x00000000, 0x00000026, 0x00000000, 0x00000027, 0x00000000, 0x00000029, 0x00000000, 0x00000000 - -dlabel D_802290DC_6EEE9C -.word 0x00800000, 0x01000000, 0x000000FF, 0x00000000, D_80229024_6EEDE4, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80229100_6EEEC0 -.word 0x00244005, 0x00CF6363, 0x00010000, D_802290DC_6EEE9C, D_80229150_6EEF10, D_80229030_6EEDF0, 0x00000000, 0x00000000, 0x2C280000, 0xF6140A14 - -dlabel D_80229128_6EEEE8 -.word 0x00244005, 0x00CE6363, 0x00010000, D_802290DC_6EEE9C, D_80229150_6EEF10, D_80229030_6EEDF0, 0x00000000, 0x00000000, 0x2C280000, 0xF6140A14 - -dlabel D_80229150_6EEF10 -.word 0x0000003C, 0x00000001, D_8022AD80_4C3F70, 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_8022A598_6F0358, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_802292E8_6EF0A8, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_80229E44_6EFC04, 0x00000024, 0x00000002, 0xF4ACD481, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD482, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD483, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000043, 0x00000003, RandInt, 0x00000008, 0xFE363C80, 0x00000029, 0x00000002, 0xFE363C80, 0x0000002D, 0x00000024, 0x00000002, 0xF4ACD485, 0xFE363C80, 0x00000043, 0x00000003, RandInt, 0x00000008, 0xFE363C80, 0x00000029, 0x00000002, 0xFE363C80, 0x0000002D, 0x00000024, 0x00000002, 0xF4ACD486, 0xFE363C80, 0x00000043, 0x00000003, RandInt, 0x00000008, 0xFE363C80, 0x00000029, 0x00000002, 0xFE363C80, 0x0000002D, 0x00000024, 0x00000002, 0xF4ACD487, 0xFE363C80, 0x00000043, 0x00000001, b_area_dig_IsGameStatusUnkAA_1, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000024, 0x00000002, 0xF4ACD481, 0x00000001, 0x00000024, 0x00000002, 0xF4ACD482, 0x00000001, 0x00000024, 0x00000002, 0xF4ACD483, 0x00000001, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000001, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802292E8_6EF0A8 -.word 0x0000003C, 0x00000001, D_8022AD80_4C3F70, 0x00000043, 0x00000003, EnableTexPanning, 0x0000002D, 0x00000001, 0x00000024, 0x00000002, 0xFE363C8E, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8F, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000014, 0x00000001, 0xF4ACD482, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xF4ACD485, 0x00000005, 0x00000016, 0x00000001, 0x00000002, 0x0000000D, 0x00000002, 0xF4ACD488, 0x00000000, 0x00000027, 0x00000002, 0xF4ACD485, 0x00000005, 0x00000028, 0x00000002, 0xF4ACD488, 0x00000005, 0x00000022, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xF4ACD485, 0x0000002B, 0x00000002, 0xFE363C80, 0x0000002D, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000027, 0x00000002, 0xF4ACD485, 0x00000005, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD482, 0x00000003, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000020, 0xF4ACD485, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000021, 0xF4ACD485, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000022, 0xF4ACD485, 0x00000001, 0x00000000, 0x00000000, 0x00000016, 0x00000001, 0x00000002, 0x00000014, 0x00000001, 0xF4ACD483, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xF4ACD486, 0x00000005, 0x00000016, 0x00000001, 0x00000002, 0x0000000D, 0x00000002, 0xF4ACD489, 0x00000000, 0x00000027, 0x00000002, 0xF4ACD486, 0x00000005, 0x00000028, 0x00000002, 0xF4ACD489, 0x00000005, 0x00000022, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xF4ACD486, 0x0000002B, 0x00000002, 0xFE363C80, 0x0000002D, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000027, 0x00000002, 0xF4ACD486, 0x00000005, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD483, 0x00000003, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000024, 0xF4ACD486, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000025, 0xF4ACD486, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000026, 0xF4ACD486, 0x00000001, 0x00000000, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x00000014, 0x00000001, 0xF4ACD484, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xF4ACD487, 0x00000005, 0x00000016, 0x00000001, 0x00000002, 0x0000000D, 0x00000002, 0xF4ACD48A, 0x00000000, 0x00000027, 0x00000002, 0xF4ACD487, 0x00000005, 0x00000028, 0x00000002, 0xF4ACD48A, 0x00000005, 0x00000022, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xF4ACD487, 0x0000002B, 0x00000002, 0xFE363C80, 0x0000002D, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000027, 0x00000002, 0xF4ACD487, 0x00000005, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000003, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000028, 0xF4ACD487, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000029, 0xF4ACD487, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000002A, 0xF4ACD487, 0x00000001, 0x00000000, 0x00000000, 0x00000023, 0x00000000, 0x0000000F, 0x00000002, 0xF4ACD485, 0x00000168, 0x00000028, 0x00000002, 0xF4ACD485, 0x00000168, 0x00000013, 0x00000000, 0x0000000F, 0x00000002, 0xF4ACD486, 0x00000168, 0x00000028, 0x00000002, 0xF4ACD486, 0x00000168, 0x00000013, 0x00000000, 0x0000000F, 0x00000002, 0xF4ACD487, 0x00000168, 0x00000028, 0x00000002, 0xF4ACD487, 0x00000168, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xF4ACD481, 0x00000000, 0x00000027, 0x00000002, 0xFE363C8F, 0xFFFFFEEB, 0x00000043, 0x00000005, SetTexPanOffset, 0x0000000B, 0x00000000, 0x00000000, 0xFE363C8F, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xF4ACD481, 0x00000001, 0x00000027, 0x00000002, 0xFE363C8F, 0xFFFFFBAA, 0x00000043, 0x00000005, SetTexPanOffset, 0x0000000B, 0x00000000, 0x00000000, 0xFE363C8F, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xF4ACD481, 0x00000002, 0x00000027, 0x00000002, 0xFE363C8F, 0xFFFFF2FE, 0x00000043, 0x00000005, SetTexPanOffset, 0x0000000B, 0x00000000, 0x00000000, 0xFE363C8F, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xF4ACD481, 0x00000002, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xF4ACD481, 0x00000000, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xF4ACD482, 0x00000027, 0x00000002, 0xFE363C80, 0xF4ACD483, 0x00000027, 0x00000002, 0xFE363C80, 0xF4ACD484, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000009, 0x00000024, 0x00000002, 0xFE363C80, 0xF4ACD485, 0x0000002A, 0x00000002, 0xFE363C80, 0x0000002D, 0x00000030, 0x00000001, D_80228FC4_6EED84, 0x00000035, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C80, 0xF4ACD486, 0x0000002A, 0x00000002, 0xFE363C80, 0x0000002D, 0x00000030, 0x00000001, D_80228FE4_6EEDA4, 0x00000035, 0x00000002, 0xFE363C8B, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C80, 0xF4ACD487, 0x0000002A, 0x00000002, 0xFE363C80, 0x0000002D, 0x00000030, 0x00000001, D_80229004_6EEDC4, 0x00000035, 0x00000002, 0xFE363C8C, 0xFE363C80, 0x00000005, 0x00000001, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C8A, 0xFE363C8B, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C8A, 0xFE363C8C, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C8B, 0xFE363C8C, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, func_8026BF48, 0x00000001, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000013, 0x00000043, 0x00000004, SetBattleCamTarget, 0x00000000, 0x00000064, 0x00000000, 0x00000043, 0x00000002, SetBattleCamOffsetZ, 0x00000000, 0x00000043, 0x00000002, SetBattleCamZoom, 0x00000154, 0x00000043, 0x00000002, MoveBattleCamOver, 0x0000000A, 0x00000014, 0x00000001, 0xFE363C8A, 0x00000016, 0x00000001, 0x00000000, 0x00000005, 0x00000001, 0x0000000A, 0x00000043, 0x00000007, MakeItemEntity, 0x00000157, 0xFFFFFFF9, 0x00000069, 0xFFFFFFB6, 0x0000001A, 0x00000000, 0x00000043, 0x00000001, b_area_dig_Add1Coin, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000007, MakeItemEntity, 0x00000157, 0x00000011, 0x00000069, 0xFFFFFFB6, 0x0000001A, 0x00000000, 0x00000043, 0x00000001, b_area_dig_Add1Coin, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000007, MakeItemEntity, 0x00000157, 0x0000002A, 0x00000069, 0xFFFFFFB6, 0x0000001A, 0x00000000, 0x00000043, 0x00000001, b_area_dig_Add1Coin, 0x00000008, 0x00000001, 0x0000000A, 0x00000006, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000005, 0x00000001, 0x0000000A, 0x00000043, 0x00000007, MakeItemEntity, 0x00000157, 0xFFFFFFF9, 0x00000069, 0xFFFFFFB6, 0x0000001A, 0x00000000, 0x00000043, 0x00000001, b_area_dig_Add1Coin, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000007, MakeItemEntity, 0x00000157, 0x00000011, 0x00000069, 0xFFFFFFB6, 0x0000001A, 0x00000000, 0x00000043, 0x00000001, b_area_dig_Add1Coin, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000007, MakeItemEntity, 0x00000157, 0x0000002A, 0x00000069, 0xFFFFFFB6, 0x0000001A, 0x00000000, 0x00000043, 0x00000001, b_area_dig_Add1Coin, 0x00000008, 0x00000001, 0x0000000A, 0x00000006, 0x00000000, 0x00000016, 0x00000001, 0x00000002, 0x00000005, 0x00000001, 0x0000000A, 0x00000043, 0x00000007, MakeItemEntity, 0x00000157, 0xFFFFFFF9, 0x00000069, 0xFFFFFFB6, 0x0000001A, 0x00000000, 0x00000043, 0x00000001, b_area_dig_Add1Coin, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000007, MakeItemEntity, 0x00000157, 0x00000011, 0x00000069, 0xFFFFFFB6, 0x0000001A, 0x00000000, 0x00000043, 0x00000001, b_area_dig_Add1Coin, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000007, MakeItemEntity, 0x00000157, 0x0000002A, 0x00000069, 0xFFFFFFB6, 0x0000001A, 0x00000000, 0x00000043, 0x00000001, b_area_dig_Add1Coin, 0x00000008, 0x00000001, 0x0000000A, 0x00000006, 0x00000000, 0x00000023, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD481, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD482, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD483, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000043, 0x00000002, func_8026BF48, 0x00000000, 0x00000057, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD481, 0x00000002, 0x00000007, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000003, 0x00000001, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80229E44_6EFC04 -.word 0x0000003C, 0x00000001, D_8022AD80_4C3F70, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, GetLastEvent, 0xFFFFFF81, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000009, 0x0000001D, 0x00000001, 0x0000000A, 0x0000001D, 0x00000001, 0x0000000E, 0x0000001D, 0x00000001, 0x0000002F, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000001C, 0x00000000, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001C, 0x00000000, 0xFFFFFFFA, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001C, 0x00000000, 0xFFFFFFF9, 0x00000000, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000005, TranslateModel, 0x0000001C, 0x00000000, 0xFFFFFFFC, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001C, 0x00000000, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001C, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001C, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD481, 0x00000001, 0x00000024, 0x00000002, 0xF4ACD482, 0x00000001, 0x00000024, 0x00000002, 0xF4ACD483, 0x00000001, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFA, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFF9, 0x00000000, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFC, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, 0x00000002, 0xF4ACD482, 0x00000001, 0x00000024, 0x00000002, 0xF4ACD488, 0x00000064, 0x00000024, 0x00000002, 0xF4ACD489, 0x00000096, 0x00000024, 0x00000002, 0xF4ACD48A, 0x000000C8, 0x00000024, 0x00000002, 0xF4ACD482, 0x00000002, 0x00000024, 0x00000002, 0xF4ACD483, 0x00000002, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000002, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFA, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFF9, 0x00000000, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFC, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, 0x00000002, 0xF4ACD483, 0x00000001, 0x00000024, 0x00000002, 0xF4ACD488, 0x00000096, 0x00000024, 0x00000002, 0xF4ACD489, 0x00000064, 0x00000024, 0x00000002, 0xF4ACD48A, 0x000000C8, 0x00000024, 0x00000002, 0xF4ACD482, 0x00000002, 0x00000024, 0x00000002, 0xF4ACD483, 0x00000002, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000002, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFA, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFF9, 0x00000000, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFC, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, 0x00000002, 0xF4ACD484, 0x00000001, 0x00000024, 0x00000002, 0xF4ACD488, 0x000000C8, 0x00000024, 0x00000002, 0xF4ACD489, 0x00000096, 0x00000024, 0x00000002, 0xF4ACD48A, 0x00000064, 0x00000024, 0x00000002, 0xF4ACD482, 0x00000002, 0x00000024, 0x00000002, 0xF4ACD483, 0x00000002, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000002, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000020, 0x00000000, 0x0000001D, 0x00000001, 0x00000024, 0x0000001D, 0x00000001, 0x0000000B, 0x0000001D, 0x00000001, 0x00000026, 0x0000001D, 0x00000001, 0x00000020, 0x0000001D, 0x00000001, 0x00000021, 0x0000001D, 0x00000001, 0x0000002A, 0x0000001D, 0x00000001, 0x0000002C, 0x00000020, 0x00000000, 0x0000001D, 0x00000001, 0x00000017, 0x0000001D, 0x00000001, 0x00000019, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8022A598_6F0358 -.word 0x0000003C, 0x00000001, D_8022AD80_4C3F70, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8022A5C0_6F0380 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8022A5E0_6F03A0 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8022A5F0_6F03B0 -.word D_8022ACD0_6F0A90, D_8022ACC0_6F0A80, D_8022ACB0_6F0A70, D_8022A5C0_6F0380, D_8022A5E0_6F03A0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8022A620_6F03E0 -.word D_8021AAFC_6E08BC, 0x00000000, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021AAFC_6E08BC, 0x00000001, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021AAFC_6E08BC, 0x00000002, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021AAFC_6E08BC, 0x00000003, 0x00000007, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8022A690_6F0450 -.word D_80226E74_6ECC34, 0x00000001, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80226E74_6ECC34, 0x00000002, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80226E74_6ECC34, 0x00000003, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8022A6E4_6F04A4 -.word D_8021C460_6E2220, 0x00000001, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80221728_6E74E8, 0x00000002, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021C460_6E2220, 0x00000003, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8022A738_6F04F8 -.word D_80223854_6E9614, 0x00000000, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80223854_6E9614, 0x00000001, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80223854_6E9614, 0x00000002, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80223854_6E9614, 0x00000003, 0x00000007, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8022A7A8_6F0568 -.word D_802253A8_6EB168, 0x00000002, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8022AD28_6F0AE8, 0x00000004, D_8022A620_6F03E0, D_80228B58_6EE918, D_8022A870_6F0630, D_8022AD14_6F0AD4, 0x00000003, D_8022A690_6F0450, D_80228BD0_6EE990, D_8022A910_6F06D0, D_8022AD00_6F0AC0, 0x00000003, D_8022A6E4_6F04A4, D_80228DEC_6EEBAC, D_8022A9F0_6F07B0, D_8022ACEC_6F0AAC, 0x00000004, D_8022A738_6F04F8, D_80228EFC_6EECBC, D_8022AAA0_6F0860, D_8022ACD8_6F0A98, 0x00000001, D_8022A7A8_6F0568, D_8022A5F0_6F03B0, D_8022AB40_6F0900, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8022AD5C_6F0B1C, D_80228B58_6EE918, D_8022AD54_6F0B14, D_80228BD0_6EE990, D_8022AD4C_6F0B0C, D_80228DEC_6EEBAC, D_8022AD44_6F0B04, D_80228EFC_6EECBC, D_8022AD3C_6F0AFC, D_8022A5F0_6F03B0, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8022A870_6F0630 -.word 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000006, SetCamViewport, 0x00000001, 0x0000001D, 0x00000014, 0x00000106, 0x000000B1, 0x00000043, 0x00000002, func_802535B4, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x0000000F, 0x00000043, 0x00000001, b_area_dig_Set80218630_Var0, 0x00000043, 0x00000002, WaitForState, 0x0000000D, 0x00000043, 0x00000001, func_80218644_6DE404, 0x00000043, 0x00000002, SetBattleState, 0x00000012, 0x00000008, 0x00000001, 0x00002710, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8022A910_6F06D0 -.word 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000001, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000006, SetCamViewport, 0x00000001, 0x0000001D, 0x00000014, 0x00000106, 0x000000B1, 0x00000043, 0x00000002, func_802535B4, 0x00000000, 0x00000043, 0x00000002, WaitForState, 0x0000000D, 0x00000043, 0x00000001, func_802186E0_6DE4A0, 0x00000043, 0x00000002, SetBattleState, 0x00000012, 0x00000008, 0x00000001, 0x00000082, 0x00000005, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, SetCommandAutoSuccess, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8022A9F0_6F07B0 -.word 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000001, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000006, SetCamViewport, 0x00000001, 0x0000001D, 0x00000014, 0x00000106, 0x000000B1, 0x00000043, 0x00000002, func_802535B4, 0x00000000, 0x00000043, 0x00000002, WaitForState, 0x0000000D, 0x00000043, 0x00000001, func_80218770_6DE530, 0x00000043, 0x00000002, SetBattleState, 0x00000013, 0x00000008, 0x00000001, 0x0000005A, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8022AAA0_6F0860 -.word 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000001, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000006, SetCamViewport, 0x00000001, 0x0000001D, 0x00000014, 0x00000106, 0x000000B1, 0x00000043, 0x00000002, func_802535B4, 0x00000000, 0x00000043, 0x00000002, WaitForState, 0x0000000D, 0x00000043, 0x00000001, func_802187F0_6DE5B0, 0x00000043, 0x00000002, SetBattleState, 0x00000012, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8022AB40_6F0900 -.word 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000001, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000006, SetCamViewport, 0x00000001, 0x0000001D, 0x00000014, 0x00000106, 0x000000B1, 0x00000043, 0x00000002, func_802535B4, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000005, 0x00000043, 0x00000001, dup_b_area_dig_Set80218630_Var0, 0x00000043, 0x00000002, WaitForState, 0x0000000D, 0x00000043, 0x00000002, SetBattleState, 0x00000014, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8022ABF0_6F09B0 -.word 0x6E6F6B5F, 0x62670000 - -dlabel D_8022ABF8_6F09B8 -.word 0x6E6F6B5F, 0x62743034, 0x5F686974, 0x00000000 - -dlabel D_8022AC08_6F09C8 -.word 0x6E6F6B5F, 0x62743034, 0x5F736861, 0x70650000 - -dlabel D_8022AC18_6F09D8 -.word 0x6E6F6B5F, 0x74657800 - -dlabel D_8022AC20_6F09E0 -.word 0x6977615F, 0x62670000 - -dlabel D_8022AC28_6F09E8 -.word 0x6977615F, 0x62743031, 0x5F686974, 0x00000000 - -dlabel D_8022AC38_6F09F8 -.word 0x6977615F, 0x62743031, 0x5F736861, 0x70650000 - -dlabel D_8022AC48_6F0A08 -.word 0x6977615F, 0x74657800 - -dlabel D_8022AC50_6F0A10 -.word 0x73626B5F, 0x62670000 - -dlabel D_8022AC58_6F0A18 -.word 0x73626B5F, 0x62743032, 0x5F686974, 0x00000000 - -dlabel D_8022AC68_6F0A28 -.word 0x73626B5F, 0x62743032, 0x5F736861, 0x70650000 - -dlabel D_8022AC78_6F0A38 -.word 0x73626B5F, 0x74657800 - -dlabel D_8022AC80_6F0A40 -.word 0x6F6D6F5F, 0x62670000 - -dlabel D_8022AC88_6F0A48 -.word 0x6F6D6F5F, 0x62743034, 0x5F686974, 0x00000000 - -dlabel D_8022AC98_6F0A58 -.word 0x6F6D6F5F, 0x62743034, 0x5F736861, 0x70650000 - -dlabel D_8022ACA8_6F0A68 -.word 0x6F6D6F5F, 0x74657800 - -dlabel D_8022ACB0_6F0A70 -.word 0x6467625F, 0x62743035, 0x5F686974, 0x00000000 - -dlabel D_8022ACC0_6F0A80 -.word 0x6467625F, 0x62743035, 0x5F736861, 0x70650000 - -dlabel D_8022ACD0_6F0A90 -.word 0x6467625F, 0x74657800 - -dlabel D_8022ACD8_6F0A98 -.word 0x835F8343, 0x83578346, 0x83588367, 0x824F8254, 0x00000000 - -dlabel D_8022ACEC_6F0AAC -.word 0x835F8343, 0x83578346, 0x83588367, 0x824F8253, 0x00000000 - -dlabel D_8022AD00_6F0AC0 -.word 0x835F8343, 0x83578346, 0x83588367, 0x824F8252, 0x00000000 - -dlabel D_8022AD14_6F0AD4 -.word 0x835F8343, 0x83578346, 0x83588367, 0x824F8251, 0x00000000 - -dlabel D_8022AD28_6F0AE8 -.word 0x835F8343, 0x83578346, 0x83588367, 0x824F8250, 0x00000000 - -dlabel D_8022AD3C_6F0AFC -.word 0x6469675F, 0x30350000 - -dlabel D_8022AD44_6F0B04 -.word 0x6469675F, 0x30340000 - -dlabel D_8022AD4C_6F0B0C -.word 0x6469675F, 0x30330000 - -dlabel D_8022AD54_6F0B14 -.word 0x6469675F, 0x30320000 - -dlabel D_8022AD5C_6F0B1C -.word 0x6469675F, 0x30310000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/battle/area_omo3/558190.data.s b/ver/us/asm/data/battle/area_omo3/558190.data.s deleted file mode 100644 index 2093e30a5d..0000000000 --- a/ver/us/asm/data/battle/area_omo3/558190.data.s +++ /dev/null @@ -1,570 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80218DB0_558190 -.word 0x00000001, 0x00000000, 0x00000000 - -dlabel D_80218DBC_55819C -.word 0x00000001, 0x00000063, 0x00000000 - -dlabel D_80218DC8_5581A8 -.word 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000006, 0x00000028, 0x00000009, 0x00000000, 0x00000007, 0x00000000, 0x00000004, 0x00000032, 0x00000003, 0x00000000, 0x0000000B, 0x00000000, 0x00000005, 0x0000003C, 0x0000000A, 0x00000000, 0x00000008, 0x0000003C, 0x0000001F, 0x00000000, 0x00000020, 0xFFFFFFFF, 0x00000025, 0x00000000, 0x00000022, 0x00000000, 0x00000024, 0xFFFFFFFF, 0x00000023, 0x00000000, 0x00000021, 0x00000000, 0x00000026, 0xFFFFFFFF, 0x00000027, 0x00000000, 0x00000029, 0xFFFFFFFE, 0x00000000 - -dlabel D_80218E74_558254 -.word 0x00820000, 0x01000000, 0x003600FF, D_80218EE4_5582C4, D_80218DB0_558190, 0x00000000, 0x00000000, 0xFBF60000, 0x00000000, 0x00002001, 0x02D80000, 0x000000FF, D_80218EE4_5582C4, D_80218DBC_55819C, 0x00000000, 0x00000000, 0x00F70000, 0x0029007F - -dlabel D_80218EBC_55829C -.word 0x00000000, 0x00B12A28, 0x00020000, D_80218E74_558254, D_80218F38_558318, D_80218DC8_5581A8, 0x00000000, 0x00044B00, 0x563C0000, 0xE237142D - -dlabel D_80218EE4_5582C4 -.word 0x00000001, 0x006D0001, 0x0000000C, 0x006D0000, 0x00000006, 0x006D000C, 0x00000009, 0x006D0001, 0x00000008, 0x006D0000, 0x0000000B, 0x006D0000, 0x00000005, 0x006D0000, 0x00000005, 0x006D0000, 0x00000004, 0x006D000D, 0x00000003, 0x006D000D, 0x00000000 - -dlabel D_80218F38_558318 -.word 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_8021AF4C_55A32C, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_802192B0_558690, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_80219328_558708, 0x00000043, 0x00000003, BindNextTurn, 0xFFFFFF81, D_802190E4_5584C4, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000006, 0x0000000A, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000002, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000001, 0x000000F0, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000007, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x0000000B, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x0000000C, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x0000003C, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xF24A7E80, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x0000000A, 0xFE363C80, 0x00000043, 0x00000001, func_80218000_5573E0, 0x00000044, 0x00000001, D_80219204_5585E4, 0x00000046, 0x00000001, D_8021B14C_55A52C, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x0000000D, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802190E4_5584C4 -.word 0x00000043, 0x00000002, GetBattlePhase, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000007, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x00000001, 0x00000042, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000007, 0xFE363C80, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000000E, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000002, SetBattleCamOffsetZ, 0x00000028, 0x00000043, 0x00000002, MoveBattleCamOver, 0x0000001E, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000006, ActorSpeak, 0x000F0051, 0xFFFFFF81, 0x00000001, 0x006D0005, 0x006D0001, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x0000000C, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80219204_5585E4 -.word 0x0000004B, 0x00000001, 0x00000063, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, ActorExists, 0xFFFFFF81, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x0000000A, 0xFE363C80, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, func_80218070_557450, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802192B0_558690 -.word 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, ActorExists, 0x00000200, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80219328_558708 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, GetLastEvent, 0xFFFFFF81, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000038, 0x0000001D, 0x00000001, 0x00000009, 0x0000001D, 0x00000001, 0x0000000A, 0x00000046, 0x00000001, D_80219B00_558EE0, 0x00000046, 0x00000001, D_80219BA8_558F88, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x006D0009, 0x00000046, 0x00000001, DoNormalHit, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x0000000E, 0x00000046, 0x00000001, D_80219B00_558EE0, 0x00000046, 0x00000001, D_80219BA8_558F88, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000024, 0x00000002, 0xFE363C81, 0x006D000A, 0x00000024, 0x00000002, 0xFE363C82, 0x006D000B, 0x00000046, 0x00000001, DoBurnHit, 0x00000016, 0x00000001, 0x00000024, 0x00000046, 0x00000001, D_80219B00_558EE0, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000024, 0x00000002, 0xFE363C81, 0x006D000A, 0x00000024, 0x00000002, 0xFE363C82, 0x006D000B, 0x00000046, 0x00000001, DoBurnHit, 0x00000008, 0x00000001, 0x0000000A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x006D000B, 0x00000046, 0x00000001, D_8021B1FC_55A5DC, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000000B, 0x00000046, 0x00000001, D_80219B00_558EE0, 0x00000046, 0x00000001, D_80219BA8_558F88, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x006D0009, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000016, 0x00000001, 0x00000021, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x006D0009, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x006D0009, 0x00000046, 0x00000001, D_8021B1FC_55A5DC, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000002F, 0x00000046, 0x00000001, D_80219B00_558EE0, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x006D0009, 0x00000046, 0x00000001, DoShockHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x006D0009, 0x00000046, 0x00000001, DoJumpBack, 0x00000046, 0x00000001, D_8021B0F8_55A4D8, 0x00000016, 0x00000001, 0x00000026, 0x00000046, 0x00000001, D_80219B00_558EE0, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x006D0009, 0x00000046, 0x00000001, DoShockHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x006D0009, 0x00000046, 0x00000001, DoJumpBack, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x006D0009, 0x00000046, 0x00000001, D_8021B1FC_55A5DC, 0x00000002, 0x00000000, 0x0000001D, 0x00000001, 0x00000017, 0x0000001D, 0x00000001, 0x00000019, 0x00000043, 0x00000003, func_8026E914, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000002, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C82, 0x0000000C, 0x00000002, 0xFE363C82, 0x0000000A, 0x00000027, 0x00000002, 0xFE363C82, 0x00000002, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x0000000D, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000003A3, 0x00000043, 0x00000004, AddActorVar, 0xFFFFFF81, 0x0000000D, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000003A4, 0x00000043, 0x00000004, AddActorVar, 0xFFFFFF81, 0x0000000D, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000003A5, 0x00000043, 0x00000004, AddActorVar, 0xFFFFFF81, 0x0000000D, 0x00000001, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000003A6, 0x00000043, 0x00000004, AddActorVar, 0xFFFFFF81, 0x0000000D, 0x00000001, 0x0000001C, 0x00000000, 0x00000023, 0x00000000, 0x0000000D, 0x00000002, 0xFE363C82, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C82, 0x0000000A, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C82, 0x00000046, 0x00000001, D_8021B14C_55A52C, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x0000000F, 0x00000002, 0xFE363C80, 0x00000006, 0x00000046, 0x00000001, D_80219BA8_558F88, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x006D0001, 0x00000046, 0x00000001, DoImmune, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x0000001F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x006D0001, 0x00000046, 0x00000001, DoImmune, 0x00000016, 0x00000001, 0x0000001B, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x006D0001, 0x00000046, 0x00000001, DoImmune, 0x00000016, 0x00000001, 0x00000020, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x006D0009, 0x00000046, 0x00000001, DoNormalHit, 0x00000008, 0x00000001, 0x0000000A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x006D0009, 0x00000046, 0x00000001, D_8021B1FC_55A5DC, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000035, 0x00000046, 0x00000001, D_8021B0F8_55A4D8, 0x00000043, 0x00000002, HPBarToHome, 0xFFFFFF81, 0x00000016, 0x00000001, 0x00000031, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x006D0001, 0x00000046, 0x00000001, DoRecover, 0x00000016, 0x00000001, 0x00000030, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x006D0009, 0x00000046, 0x00000001, DoNormalHit, 0x00000008, 0x00000001, 0x000003E8, 0x00000016, 0x00000001, 0x00000039, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x006D0001, 0x00000025, 0x00000002, 0xFE363C82, 0x006D0009, 0x00000046, 0x00000001, DoScareAway, 0x00000002, 0x00000000, 0x0000001C, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80219B00_558EE0 -.word 0x00000043, 0x00000003, func_8026E914, 0xFE363C80, 0xFE363C81, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, GetLastDamage, 0xFFFFFF81, 0xFE363C81, 0x00000029, 0x00000002, 0xFE363C81, 0x0000000A, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80219BA8_558F88 -.word 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x0000000B, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000002, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x0000000B, 0x00000001, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80219C00_558FE0 -.word 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x0000000F, 0x00000002, 0xFE363C80, 0x00000006, 0x00000046, 0x00000001, D_80219BA8_558F88, 0x00000013, 0x00000000, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000003F, 0x00000043, 0x00000002, SetBattleCamZoom, 0x00000104, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000014, 0x00000043, 0x00000004, func_8024ECF8, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000032, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8680, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006D0006, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006D0001, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000002, 0x000003E7, 0x00000000, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C8A, 0x00000000, 0x00000000, 0x00000001, 0x00000010, 0x00000014, 0x00000001, 0xFE363C8A, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006D0010, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006D0011, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7E80, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000014, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000014, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x0000037D, 0x00000043, 0x00000003, ResetActorSounds, 0xFFFFFF81, 0x00000002, 0x00000028, 0x00000002, 0xFE363C80, 0x0000000F, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7E80, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000C, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006D0001, 0x00000028, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x0000037D, 0x00000008, 0x00000001, 0x00000008, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000046, 0x00000001, D_8021B0F8_55A4D8, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006D0010, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000007, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006D0011, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7E80, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000010, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000005, 0x00000020, 0x00000024, 0x00000002, 0xFE363C8F, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C8F, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x0000037D, 0x00000043, 0x00000003, ResetActorSounds, 0xFFFFFF81, 0x00000002, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000003F, 0x00000043, 0x00000002, SetBattleCamZoom, 0x00000140, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000014, 0x00000043, 0x00000004, func_8024ECF8, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006D0010, 0x00000057, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000028, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7E80, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000C, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x0000037D, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006D0001, 0x00000027, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x0000037D, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000014, 0x00000046, 0x00000001, D_8021B0F8_55A4D8, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021A3E4_5597C4 -.word 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x0000000B, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x0000000C, 0x00000003, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000000D, 0x00000043, 0x00000002, SetBattleCamZoom, 0x000000F0, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000014, 0x00000043, 0x00000004, func_8024ECF8, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000050, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8680, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006D0006, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006D0001, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000005, 0x00000043, 0x00000002, SetBattleCamZoom, 0x0000015E, 0x00000043, 0x00000002, SetBattleCamOffsetZ, 0x00000023, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000008, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000002EB, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006D000F, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C85, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x0000000B, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C80, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000004, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x0000000A, 0x00000027, 0x00000002, 0xFE363C82, 0x00000002, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x0000000F, PlayEffect, 0x00000035, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xF24A7E80, 0xFE363C8B, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, RemoveEffect, 0xFE363C8B, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x0000000F, PlayEffect, 0x0000004F, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xF24A8080, 0x0000001E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C8A, 0x00000000, 0x00000000, 0x00000001, 0x00000010, 0x00000014, 0x00000001, 0xFE363C8A, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000100, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C8A, 0x00000000, 0x00000000, 0x00000001, 0x00000010, 0x00000014, 0x00000001, 0xFE363C8A, 0x00000016, 0x00000001, 0x00000006, 0x0000001C, 0x00000000, 0x00000043, 0x00000003, ActorExists, 0x00000100, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000100, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C8D, 0x00000000, 0x0000FFFF, 0x00000000, 0x00000002, 0x00000020, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000020, 0x00000000, 0x0000001C, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C8E, 0x20000000, 0x0000FFFF, 0x00000000, 0x00000002, 0x00000020, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000003, ActorExists, 0x00000100, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000100, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C8D, 0x20000000, 0x0000FFFF, 0x00000000, 0x00000002, 0x00000020, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C85, 0x00000056, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x0000000D, 0xFE363C80, 0x00000008, 0x00000001, 0x0000000A, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000003AA, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000003A9, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000003A8, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000003A7, 0x00000023, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006D0014, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000046, 0x00000001, D_8021B0F8_55A4D8, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021AB14_559EF4 -.word 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000005, 0x00000001, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000006, 0x000003E8, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x0000000B, 0x00000002, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000007, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x00000002, 0x00000042, 0x00000002, 0xFE363C80, 0x00000002, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000007, 0xFE363C80, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000000E, 0x00000043, 0x00000002, SetBattleCamOffsetZ, 0x00000028, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000002, MoveBattleCamOver, 0x0000001E, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, GetEnemyMaxHP, 0xFFFFFF81, 0xFE363C80, 0x00000043, 0x00000003, GetActorHP, 0xFFFFFF81, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000006, ActorSpeak, 0x000F0053, 0xFFFFFF81, 0x00000001, 0x006D0005, 0x006D0001, 0x00000012, 0x00000000, 0x00000043, 0x00000006, ActorSpeak, 0x000F0052, 0xFFFFFF81, 0x00000001, 0x006D0005, 0x006D0001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000000D, 0x00000043, 0x00000002, SetBattleCamZoom, 0x000000E6, 0x00000043, 0x00000002, SetBattleCamOffsetZ, 0x00000019, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000014, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000003CF, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006D000F, 0x00000008, 0x00000001, 0x00000008, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000003D0, 0x00000057, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006D000E, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000002, 0x00000056, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x0000000D, 0xFE363C80, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x0000000D, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000004, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000003AA, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000003A9, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000003A8, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000003A7, 0x00000023, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000000E, 0x00000008, 0x00000001, 0x00000001, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006D0001, 0x00000046, 0x00000001, D_8021B14C_55A52C, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021AF4C_55A32C -.word 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x0000000C, 0xFE363C80, 0x0000000D, 0x00000002, 0xFE363C80, 0x00000000, 0x00000028, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x0000000C, 0xFE363C80, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x0000000B, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x0000000C, 0xFE363C80, 0x0000000D, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x0000000B, 0x00000000, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x00000006, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x0000000B, 0x00000000, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x0000000B, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000002, 0x00000046, 0x00000001, D_8021A3E4_5597C4, 0x00000016, 0x00000001, 0x00000001, 0x00000046, 0x00000001, D_8021AB14_559EF4, 0x0000001C, 0x00000000, 0x00000046, 0x00000001, D_80219C00_558FE0, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021B0F8_55A4D8 -.word 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x006D0007, 0x00000046, 0x00000001, DoReturnHome, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x006D0001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021B14C_55A52C -.word 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000018, 0x00000001, 0x00000005, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000001, 0x00020000, 0x00000001, 0x00000018, 0x00000001, 0x00000008, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000001, 0x00020000, 0x00000000, 0x0000001C, 0x00000000, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000001, 0x00020000, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021B1FC_55A5DC -.word 0x00000046, 0x00000001, D_8029AF08, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x0000000A, 0xFE363C80, 0x00000043, 0x00000002, RemoveEffect, 0xFE363C80, 0x00000043, 0x00000002, RemoveActor, 0xFFFFFF81, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021B250_55A630 -.word 0x00000019 - -dlabel D_8021B254_55A634 -.word 0x00000043, 0x00000001, func_80218490_557870, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021B270_55A650 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000005, SetCamBGColor, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000056, 0x00000000, 0x00000026, 0x00000002, 0xFE363C80, 0xF24A7A80, 0x00000026, 0x00000002, 0xFE363C81, 0xF24A7A80, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000017, 0xFE363C81, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000006, RotateModel, 0x00000015, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x0000002D, 0x00000002, 0xFE363C80, 0xF24A7CE7, 0x0000002D, 0x00000002, 0xFE363C81, 0xF24A974D, 0x00000043, 0x00000002, ClampAngleFloat, 0xFE363C80, 0x00000043, 0x00000002, ClampAngleFloat, 0xFE363C81, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000044, 0x00000001, D_8021B254_55A634, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021B388_55A768 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021B398_55A778 -.word D_8022EBD8_56DFB8, D_8022EBC8_56DFA8, D_8022EBB8_56DF98, D_8021B270_55A650, D_8021B388_55A768, D_8022EBB0_56DF90, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8021B3C0_55A7A0 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000005, SetCamBGColor, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021B3FC_55A7DC -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021B40C_55A7EC -.word D_8022EC08_56DFE8, D_8022EBF8_56DFD8, D_8022EBE8_56DFC8, D_8021B3C0_55A7A0, D_8021B3FC_55A7DC, D_8022EBE0_56DFC0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8021B440_55A820 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000005, SetCamBGColor, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000012, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021B490_55A870 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021B4A0_55A880 -.word D_8022EC38_56E018, D_8022EC28_56E008, D_8022EC18_56DFF8, D_8021B440_55A820, D_8021B490_55A870, D_8022EC10_56DFF0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8021B4D0_55A8B0 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000005, SetCamBGColor, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021B50C_55A8EC -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021B51C_55A8FC -.word D_8022EC68_56E048, D_8022EC58_56E038, D_8022EC48_56E028, D_8021B4D0_55A8B0, D_8021B50C_55A8EC, D_8022EC40_56E020, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8021B550_55A930 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000005, SetCamBGColor, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x0000001D, 0x0000000A, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8E, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C8E, 0x00008000, 0x00000043, 0x00000005, SetTexPanOffset, 0x0000000A, 0x00000000, 0xFE363C8E, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021B60C_55A9EC -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021B61C_55A9FC -.word 0x00000012, 0x00000011, 0x0000000D, 0x00000000 - -dlabel D_8021B62C_55AA0C -.word D_8022EC98_56E078, D_8022EC88_56E068, D_8022EC78_56E058, D_8021B550_55A930, D_8021B60C_55A9EC, D_8022EC70_56E050, D_8021B61C_55A9FC, 0x00000004, D_8021B684_55AA64, 0x00000000 - -dlabel D_8021B654_55AA34 -.word 0xFFFFFFCF, 0x00000038, 0xFFFFFFBC - -dlabel D_8021B660_55AA40 -.word 0xFFFFFFF3, 0x00000038, 0xFFFFFFBC - -dlabel D_8021B66C_55AA4C -.word 0x00000014, 0x00000038, 0xFFFFFFBC - -dlabel D_8021B678_55AA58 -.word 0x00000035, 0x00000038, 0xFFFFFFBC - -dlabel D_8021B684_55AA64 -.word D_8021B858_55AC38, D_8021B654_55AA34, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021B830_55AC10, D_8021B660_55AA40, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, D_8021B830_55AC10, D_8021B66C_55AA4C, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000000, D_8021B830_55AC10, D_8021B678_55AA58, 0x00000000, 0x00000003, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8021B6F4_55AAD4 -.word 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000002 - -dlabel D_8021B714_55AAF4 -.word 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000001, 0x00000002, 0x00000000, 0x00000002 - -dlabel D_8021B734_55AB14 -.word 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000002 - -dlabel D_8021B754_55AB34 -.word 0x00000001, 0x00000000, 0x00000000 - -dlabel D_8021B760_55AB40 -.word 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000006, 0x00000000, 0x00000009, 0x00000000, 0x00000007, 0x00000000, 0x00000004, 0x00000000, 0x00000003, 0x00000000, 0x0000000B, 0x00000000, 0x00000005, 0x00000000, 0x0000000A, 0x00000000, 0x00000008, 0x00000000, 0x0000001F, 0x00000000, 0x00000020, 0x00000000, 0x00000025, 0x00000000, 0x00000022, 0x00000000, 0x00000024, 0x00000000, 0x00000023, 0x00000000, 0x00000021, 0x00000000, 0x00000026, 0x00000000, 0x00000027, 0x00000000, 0x00000029, 0x00000000, 0x00000000 - -dlabel D_8021B80C_55ABEC -.word 0x00800000, 0x01000000, 0x000000FF, 0x00000000, D_8021B754_55AB34, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8021B830_55AC10 -.word 0x00244005, 0x00CF6363, 0x00010000, D_8021B80C_55ABEC, D_8021B880_55AC60, D_8021B760_55AB40, 0x00000000, 0x00000000, 0x2C280000, 0xF6140A14 - -dlabel D_8021B858_55AC38 -.word 0x00244005, 0x00CE6363, 0x00010000, D_8021B80C_55ABEC, D_8021B880_55AC60, D_8021B760_55AB40, 0x00000000, 0x00000000, 0x2C280000, 0xF6140A14 - -dlabel D_8021B880_55AC60 -.word 0x0000003C, 0x00000001, 0x8022EEC0, 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_8021CCC8_55C0A8, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_8021BA18_55ADF8, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_8021C574_55B954, 0x00000024, 0x00000002, 0xF4ACD481, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD482, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD483, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000043, 0x00000003, RandInt, 0x00000008, 0xFE363C80, 0x00000029, 0x00000002, 0xFE363C80, 0x0000002D, 0x00000024, 0x00000002, 0xF4ACD485, 0xFE363C80, 0x00000043, 0x00000003, RandInt, 0x00000008, 0xFE363C80, 0x00000029, 0x00000002, 0xFE363C80, 0x0000002D, 0x00000024, 0x00000002, 0xF4ACD486, 0xFE363C80, 0x00000043, 0x00000003, RandInt, 0x00000008, 0xFE363C80, 0x00000029, 0x00000002, 0xFE363C80, 0x0000002D, 0x00000024, 0x00000002, 0xF4ACD487, 0xFE363C80, 0x00000043, 0x00000001, b_area_omo3_IsGameStatusUnkAA_1, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000024, 0x00000002, 0xF4ACD481, 0x00000001, 0x00000024, 0x00000002, 0xF4ACD482, 0x00000001, 0x00000024, 0x00000002, 0xF4ACD483, 0x00000001, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000001, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021BA18_55ADF8 -.word 0x0000003C, 0x00000001, 0x8022EEC0, 0x00000043, 0x00000003, EnableTexPanning, 0x0000002D, 0x00000001, 0x00000024, 0x00000002, 0xFE363C8E, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8F, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000014, 0x00000001, 0xF4ACD482, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xF4ACD485, 0x00000005, 0x00000016, 0x00000001, 0x00000002, 0x0000000D, 0x00000002, 0xF4ACD488, 0x00000000, 0x00000027, 0x00000002, 0xF4ACD485, 0x00000005, 0x00000028, 0x00000002, 0xF4ACD488, 0x00000005, 0x00000022, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xF4ACD485, 0x0000002B, 0x00000002, 0xFE363C80, 0x0000002D, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000027, 0x00000002, 0xF4ACD485, 0x00000005, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD482, 0x00000003, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000020, 0xF4ACD485, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000021, 0xF4ACD485, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000022, 0xF4ACD485, 0x00000001, 0x00000000, 0x00000000, 0x00000016, 0x00000001, 0x00000002, 0x00000014, 0x00000001, 0xF4ACD483, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xF4ACD486, 0x00000005, 0x00000016, 0x00000001, 0x00000002, 0x0000000D, 0x00000002, 0xF4ACD489, 0x00000000, 0x00000027, 0x00000002, 0xF4ACD486, 0x00000005, 0x00000028, 0x00000002, 0xF4ACD489, 0x00000005, 0x00000022, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xF4ACD486, 0x0000002B, 0x00000002, 0xFE363C80, 0x0000002D, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000027, 0x00000002, 0xF4ACD486, 0x00000005, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD483, 0x00000003, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000024, 0xF4ACD486, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000025, 0xF4ACD486, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000026, 0xF4ACD486, 0x00000001, 0x00000000, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x00000014, 0x00000001, 0xF4ACD484, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xF4ACD487, 0x00000005, 0x00000016, 0x00000001, 0x00000002, 0x0000000D, 0x00000002, 0xF4ACD48A, 0x00000000, 0x00000027, 0x00000002, 0xF4ACD487, 0x00000005, 0x00000028, 0x00000002, 0xF4ACD48A, 0x00000005, 0x00000022, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xF4ACD487, 0x0000002B, 0x00000002, 0xFE363C80, 0x0000002D, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000027, 0x00000002, 0xF4ACD487, 0x00000005, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000003, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000028, 0xF4ACD487, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000029, 0xF4ACD487, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000002A, 0xF4ACD487, 0x00000001, 0x00000000, 0x00000000, 0x00000023, 0x00000000, 0x0000000F, 0x00000002, 0xF4ACD485, 0x00000168, 0x00000028, 0x00000002, 0xF4ACD485, 0x00000168, 0x00000013, 0x00000000, 0x0000000F, 0x00000002, 0xF4ACD486, 0x00000168, 0x00000028, 0x00000002, 0xF4ACD486, 0x00000168, 0x00000013, 0x00000000, 0x0000000F, 0x00000002, 0xF4ACD487, 0x00000168, 0x00000028, 0x00000002, 0xF4ACD487, 0x00000168, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xF4ACD481, 0x00000000, 0x00000027, 0x00000002, 0xFE363C8F, 0xFFFFFEEB, 0x00000043, 0x00000005, SetTexPanOffset, 0x0000000B, 0x00000000, 0x00000000, 0xFE363C8F, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xF4ACD481, 0x00000001, 0x00000027, 0x00000002, 0xFE363C8F, 0xFFFFFBAA, 0x00000043, 0x00000005, SetTexPanOffset, 0x0000000B, 0x00000000, 0x00000000, 0xFE363C8F, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xF4ACD481, 0x00000002, 0x00000027, 0x00000002, 0xFE363C8F, 0xFFFFF2FE, 0x00000043, 0x00000005, SetTexPanOffset, 0x0000000B, 0x00000000, 0x00000000, 0xFE363C8F, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xF4ACD481, 0x00000002, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xF4ACD481, 0x00000000, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xF4ACD482, 0x00000027, 0x00000002, 0xFE363C80, 0xF4ACD483, 0x00000027, 0x00000002, 0xFE363C80, 0xF4ACD484, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000009, 0x00000024, 0x00000002, 0xFE363C80, 0xF4ACD485, 0x0000002A, 0x00000002, 0xFE363C80, 0x0000002D, 0x00000030, 0x00000001, D_8021B6F4_55AAD4, 0x00000035, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C80, 0xF4ACD486, 0x0000002A, 0x00000002, 0xFE363C80, 0x0000002D, 0x00000030, 0x00000001, D_8021B714_55AAF4, 0x00000035, 0x00000002, 0xFE363C8B, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C80, 0xF4ACD487, 0x0000002A, 0x00000002, 0xFE363C80, 0x0000002D, 0x00000030, 0x00000001, D_8021B734_55AB14, 0x00000035, 0x00000002, 0xFE363C8C, 0xFE363C80, 0x00000005, 0x00000001, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C8A, 0xFE363C8B, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C8A, 0xFE363C8C, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C8B, 0xFE363C8C, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, func_8026BF48, 0x00000001, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000013, 0x00000043, 0x00000004, SetBattleCamTarget, 0x00000000, 0x00000064, 0x00000000, 0x00000043, 0x00000002, SetBattleCamOffsetZ, 0x00000000, 0x00000043, 0x00000002, SetBattleCamZoom, 0x00000154, 0x00000043, 0x00000002, MoveBattleCamOver, 0x0000000A, 0x00000014, 0x00000001, 0xFE363C8A, 0x00000016, 0x00000001, 0x00000000, 0x00000005, 0x00000001, 0x0000000A, 0x00000043, 0x00000007, MakeItemEntity, 0x00000157, 0xFFFFFFF9, 0x00000069, 0xFFFFFFB6, 0x0000001A, 0x00000000, 0x00000043, 0x00000001, b_area_omo3_Add1Coin, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000007, MakeItemEntity, 0x00000157, 0x00000011, 0x00000069, 0xFFFFFFB6, 0x0000001A, 0x00000000, 0x00000043, 0x00000001, b_area_omo3_Add1Coin, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000007, MakeItemEntity, 0x00000157, 0x0000002A, 0x00000069, 0xFFFFFFB6, 0x0000001A, 0x00000000, 0x00000043, 0x00000001, b_area_omo3_Add1Coin, 0x00000008, 0x00000001, 0x0000000A, 0x00000006, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000005, 0x00000001, 0x0000000A, 0x00000043, 0x00000007, MakeItemEntity, 0x00000157, 0xFFFFFFF9, 0x00000069, 0xFFFFFFB6, 0x0000001A, 0x00000000, 0x00000043, 0x00000001, b_area_omo3_Add1Coin, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000007, MakeItemEntity, 0x00000157, 0x00000011, 0x00000069, 0xFFFFFFB6, 0x0000001A, 0x00000000, 0x00000043, 0x00000001, b_area_omo3_Add1Coin, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000007, MakeItemEntity, 0x00000157, 0x0000002A, 0x00000069, 0xFFFFFFB6, 0x0000001A, 0x00000000, 0x00000043, 0x00000001, b_area_omo3_Add1Coin, 0x00000008, 0x00000001, 0x0000000A, 0x00000006, 0x00000000, 0x00000016, 0x00000001, 0x00000002, 0x00000005, 0x00000001, 0x0000000A, 0x00000043, 0x00000007, MakeItemEntity, 0x00000157, 0xFFFFFFF9, 0x00000069, 0xFFFFFFB6, 0x0000001A, 0x00000000, 0x00000043, 0x00000001, b_area_omo3_Add1Coin, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000007, MakeItemEntity, 0x00000157, 0x00000011, 0x00000069, 0xFFFFFFB6, 0x0000001A, 0x00000000, 0x00000043, 0x00000001, b_area_omo3_Add1Coin, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000007, MakeItemEntity, 0x00000157, 0x0000002A, 0x00000069, 0xFFFFFFB6, 0x0000001A, 0x00000000, 0x00000043, 0x00000001, b_area_omo3_Add1Coin, 0x00000008, 0x00000001, 0x0000000A, 0x00000006, 0x00000000, 0x00000023, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD481, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD482, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD483, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000043, 0x00000002, func_8026BF48, 0x00000000, 0x00000057, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD481, 0x00000002, 0x00000007, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000003, 0x00000001, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021C574_55B954 -.word 0x0000003C, 0x00000001, 0x8022EEC0, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, GetLastEvent, 0xFFFFFF81, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000009, 0x0000001D, 0x00000001, 0x0000000A, 0x0000001D, 0x00000001, 0x0000000E, 0x0000001D, 0x00000001, 0x0000002F, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000001C, 0x00000000, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001C, 0x00000000, 0xFFFFFFFA, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001C, 0x00000000, 0xFFFFFFF9, 0x00000000, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000005, TranslateModel, 0x0000001C, 0x00000000, 0xFFFFFFFC, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001C, 0x00000000, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001C, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001C, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD481, 0x00000001, 0x00000024, 0x00000002, 0xF4ACD482, 0x00000001, 0x00000024, 0x00000002, 0xF4ACD483, 0x00000001, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFA, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFF9, 0x00000000, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFC, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, 0x00000002, 0xF4ACD482, 0x00000001, 0x00000024, 0x00000002, 0xF4ACD488, 0x00000064, 0x00000024, 0x00000002, 0xF4ACD489, 0x00000096, 0x00000024, 0x00000002, 0xF4ACD48A, 0x000000C8, 0x00000024, 0x00000002, 0xF4ACD482, 0x00000002, 0x00000024, 0x00000002, 0xF4ACD483, 0x00000002, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000002, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFA, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFF9, 0x00000000, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFC, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, 0x00000002, 0xF4ACD483, 0x00000001, 0x00000024, 0x00000002, 0xF4ACD488, 0x00000096, 0x00000024, 0x00000002, 0xF4ACD489, 0x00000064, 0x00000024, 0x00000002, 0xF4ACD48A, 0x000000C8, 0x00000024, 0x00000002, 0xF4ACD482, 0x00000002, 0x00000024, 0x00000002, 0xF4ACD483, 0x00000002, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000002, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFA, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFF9, 0x00000000, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFC, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x0000001D, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, 0x00000002, 0xF4ACD484, 0x00000001, 0x00000024, 0x00000002, 0xF4ACD488, 0x000000C8, 0x00000024, 0x00000002, 0xF4ACD489, 0x00000096, 0x00000024, 0x00000002, 0xF4ACD48A, 0x00000064, 0x00000024, 0x00000002, 0xF4ACD482, 0x00000002, 0x00000024, 0x00000002, 0xF4ACD483, 0x00000002, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000002, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000020, 0x00000000, 0x0000001D, 0x00000001, 0x00000024, 0x0000001D, 0x00000001, 0x0000000B, 0x0000001D, 0x00000001, 0x00000026, 0x0000001D, 0x00000001, 0x00000020, 0x0000001D, 0x00000001, 0x00000021, 0x0000001D, 0x00000001, 0x0000002A, 0x0000001D, 0x00000001, 0x0000002C, 0x00000020, 0x00000000, 0x0000001D, 0x00000001, 0x00000017, 0x0000001D, 0x00000001, 0x00000019, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021CCC8_55C0A8 -.word 0x0000003C, 0x00000001, 0x8022EEC0, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8021CCF0_55C0D0 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000005, SetCamBGColor, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000018, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x0000001C, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021CD54_55C134 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021CD64_55C144 -.word 0x00000027, 0x00000026, 0x00000000 - -dlabel D_8021CD70_55C150 -.word D_8022ECC8_56E0A8, D_8022ECB8_56E098, D_8022ECA8_56E088, D_8021CCF0_55C0D0, D_8021CD54_55C134, D_8022ECA0_56E080, D_8021CD64_55C144, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8021CDA0_55C180 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000005, SetCamBGColor, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000023, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x0000002D, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021CE04_55C1E4 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021CE14_55C1F4 -.word 0x0000001B, 0x00000000 - -dlabel D_8021CE1C_55C1FC -.word D_8022ECF8_56E0D8, D_8022ECE8_56E0C8, D_8022ECD8_56E0B8, D_8021CDA0_55C180, D_8021CE04_55C1E4, D_8022ECD0_56E0B0, D_8021CE14_55C1F4, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8021CE50_55C230 -.word 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C81, 0x00000024, 0x00000002, 0xFE363C88, 0xFE363C82, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0xFE363C89, 0xFE363C88, 0x0000000A, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, TranslateGroup, 0xFE363C8A, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0xFE363C89, 0x00000000, 0xFE363C88, 0x0000000A, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, TranslateGroup, 0xFE363C8A, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021CFB0_55C390 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000005, SetCamBGColor, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x0000001A, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFFCE, 0x00000024, 0x00000002, 0xFE363C82, 0x00000078, 0x00000044, 0x00000001, D_8021CE50_55C230, 0x00000008, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFFB0, 0x00000024, 0x00000002, 0xFE363C82, 0x00000096, 0x00000044, 0x00000001, D_8021CE50_55C230, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021D080_55C460 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021D090_55C470 -.word 0x00000027, 0x00000026, 0x00000000 - -dlabel D_8021D09C_55C47C -.word D_8022ED28_56E108, D_8022ED18_56E0F8, D_8022ED08_56E0E8, D_8021CFB0_55C390, D_8021D080_55C460, D_8022ED00_56E0E0, D_8021D090_55C470, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8021D0D0_55C4B0 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000005, SetCamBGColor, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021D10C_55C4EC -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021D11C_55C4FC -.word D_8022ED50_56E130, D_8022ED40_56E120, D_8022ED30_56E110, D_8021D0D0_55C4B0, D_8021D10C_55C4EC, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8021D150_55C530 -.word 0x00000001, 0x00000000, 0x00000000 - -dlabel D_8021D15C_55C53C -.word 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000006, 0x00000064, 0x00000009, 0x00000064, 0x00000007, 0x00000064, 0x00000004, 0x00000064, 0x00000003, 0x00000064, 0x0000000B, 0x00000064, 0x00000005, 0x00000064, 0x0000000A, 0x00000064, 0x00000008, 0x00000064, 0x0000001F, 0x00000000, 0x00000020, 0x00000000, 0x00000025, 0x00000000, 0x00000022, 0x00000000, 0x00000024, 0x00000000, 0x00000023, 0x00000000, 0x00000021, 0x00000000, 0x00000026, 0x00000000, 0x00000027, 0x00000000, 0x00000029, 0x00000000, 0x00000000 - -dlabel D_8021D208_55C5E8 -.word 0x00800000, 0x01000000, 0x001400FF, D_8021D254_55C634, D_8021D150_55C530, 0x00000000, 0x00000000, 0x00F60000, 0x00000000 - -dlabel D_8021D22C_55C60C -.word 0x00000000, 0x00070502, 0x00010000, D_8021D208_55C5E8, D_8021D2EC_55C6CC, D_8021D15C_55C53C, 0x5A645A64, 0x5F006401, 0x18180000, 0xF6140A14 - -dlabel D_8021D254_55C634 -.word 0x00000001, 0x00260001, 0x0000000C, 0x00260000, 0x00000006, 0x00260008, 0x00000009, 0x00260001, 0x00000008, 0x00260000, 0x0000000B, 0x00260001, 0x00000005, 0x00260000, 0x00000004, 0x00260007, 0x00000003, 0x00260007, 0x00000000 - -dlabel D_8021D2A0_55C680 -.word 0x00000001, 0x00260003, 0x0000000C, 0x00260000, 0x00000006, 0x00260008, 0x00000009, 0x00260001, 0x00000008, 0x00260000, 0x0000000B, 0x00260003, 0x00000005, 0x00260000, 0x00000004, 0x00260007, 0x00000003, 0x00260007, 0x00000000 - -dlabel D_8021D2EC_55C6CC -.word 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_8021DE40_55D220, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_8021D338_55C718, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_8021D614_55C9F4, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021D338_55C718 -.word 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, RandInt, 0x00000050, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x00000050, 0x00000005, 0x00000001, 0xFE363C80, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C81, 0x00000010, 0x00000002, 0xFE363C81, 0x0035D000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000005, 0x00000043, 0x00000003, SetActorIdleSpeed, 0xFFFFFF81, 0xF24A7E80, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_8021D2A0_55C680, 0x00000043, 0x00000005, SetIdleGoal, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, IdleRunToGoal, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_8021D254_55C634, 0x00000005, 0x00000001, 0x00000014, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C81, 0x00000010, 0x00000002, 0xFE363C81, 0x0035D000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000005, 0x00000043, 0x00000003, SetActorIdleSpeed, 0xFFFFFF81, 0xF24A7E80, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_8021D2A0_55C680, 0x00000043, 0x00000005, SetIdleGoal, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, IdleRunToGoal, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_8021D254_55C634, 0x00000005, 0x00000001, 0x00000050, 0x00000003, 0x00000001, 0x00000002, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C81, 0x00000010, 0x00000002, 0xFE363C81, 0x0035D000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000002, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000004, 0x00000001, 0x0000000A, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021D614_55C9F4 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7E80, 0xF24A7E80, 0xF24A7E80, 0x00000043, 0x00000003, GetLastEvent, 0xFFFFFF81, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000009, 0x0000001D, 0x00000001, 0x0000000A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00260005, 0x00000046, 0x00000001, DoNormalHit, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x0000000E, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00260009, 0x00000025, 0x00000002, 0xFE363C82, 0x0026000A, 0x00000046, 0x00000001, DoBurnHit, 0x00000016, 0x00000001, 0x00000024, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00260009, 0x00000025, 0x00000002, 0xFE363C82, 0x0026000A, 0x00000046, 0x00000001, DoBurnHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0026000A, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000000B, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00260005, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000016, 0x00000001, 0x00000021, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00260005, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00260006, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000002F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0026000E, 0x00000046, 0x00000001, DoShockHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00260005, 0x00000046, 0x00000001, DoJumpBack, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimationRate, 0xFFFFFF81, 0x00000001, 0xF24A8280, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00260007, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimationRate, 0xFFFFFF81, 0x00000001, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00260001, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A80E7, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0x00000026, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0026000E, 0x00000046, 0x00000001, DoShockHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00260006, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000013, 0x0000001D, 0x00000001, 0x00000017, 0x0000001D, 0x00000001, 0x00000019, 0x0000001D, 0x00000001, 0x0000001F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00260001, 0x00000046, 0x00000001, DoImmune, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000020, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00260005, 0x00000046, 0x00000001, DoNormalHit, 0x00000008, 0x00000001, 0x0000000A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00260006, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000035, 0x00000043, 0x00000004, SetAnimationRate, 0xFFFFFF81, 0x00000001, 0xF24A8280, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00260003, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8A80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimationRate, 0xFFFFFF81, 0x00000001, 0xF24A7E80, 0x00000043, 0x00000002, HPBarToHome, 0xFFFFFF81, 0x00000016, 0x00000001, 0x00000031, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00260001, 0x00000046, 0x00000001, DoRecover, 0x00000016, 0x00000001, 0x00000039, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00260003, 0x00000025, 0x00000002, 0xFE363C82, 0x00260005, 0x00000046, 0x00000001, DoScareAway, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000003A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00260003, 0x00000046, 0x00000001, DoAirLift, 0x00000016, 0x00000001, 0x00000016, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00260005, 0x00000046, 0x00000001, DoBlowAway, 0x00000002, 0x00000000, 0x0000001C, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00260001, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel b_area_omo3_sinTable -.float 0.0, 0.017452, 0.034899, 0.052336, 0.069756, 0.087156, 0.104528, 0.121869, 0.139173, 0.156434, 0.173648, 0.190809, 0.207912, 0.224951, 0.241922, 0.258819, 0.275637, 0.292372, 0.309017, 0.325568, 0.34202, 0.358368, 0.374607, 0.390731, 0.406737, 0.422618, 0.438371, 0.45399, 0.469472, 0.48481, 0.5, 0.515038, 0.529919, 0.544639, 0.559193, 0.573576, 0.587785, 0.601815, 0.615661, 0.62932, 0.642788, 0.656059, 0.669131, 0.681998, 0.694658, 0.707107, 0.71934, 0.731354, 0.743145, 0.75471, 0.766044, 0.777146, 0.788011, 0.798636, 0.809017, 0.819152, 0.829038, 0.838671, 0.848048, 0.857167, 0.866025, 0.87462, 0.882948, 0.891007, 0.898794, 0.906308, 0.913545, 0.920505, 0.927184, 0.93358, 0.939693, 0.945519, 0.951057, 0.956305, 0.961262, 0.965926, 0.970296, 0.97437, 0.978148, 0.981627, 0.984808, 0.987688, 0.990268, 0.992546, 0.994522, 0.996195, 0.997564, 0.99863, 0.999391, 0.999848, 1.0 - -dlabel D_8021DE40_55D220 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000003F, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000004, func_8024ECF8, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00260003, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0x00000032, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9280, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00260001, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00260004, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000010, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C81, 0x0000000A, 0x00000027, 0x00000002, 0xFE363C82, 0x00000003, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7F4D, 0x00000056, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C81, 0xFE363C82, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000010, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C84, 0xFE363C85, 0xFE363C86, 0x00000043, 0x00000006, b_area_omo3_CalculateRotationZ, 0xFE363C81, 0xFE363C82, 0xFE363C84, 0xFE363C85, 0xFE363C80, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C84, 0x00000024, 0x00000002, 0xFE363C82, 0xFE363C85, 0x00000024, 0x00000002, 0xFE363C83, 0xFE363C86, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00260004, 0x00000057, 0x00000000, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000010, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00260008, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7EE7, 0xF24A7DB4, 0xF24A7E80, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0x00000005, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7FB4, 0xF24A7C80, 0xF24A7E80, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7E80, 0xF24A7E80, 0xF24A7E80, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0x00000007, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00260005, 0x00000008, 0x00000001, 0x00000005, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00260004, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000014, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8280, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000004, 0x00000024, 0x00000002, 0xFE363C80, 0x000000B4, 0x00000005, 0x00000001, 0x00000004, 0x00000028, 0x00000002, 0xFE363C80, 0x0000002D, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00260004, 0x00000057, 0x00000000, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000F, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00260007, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000001, YieldTurn, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x000000B4, 0x00000043, 0x00000005, AddActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000002, 0x00000043, 0x00000004, SetAnimationRate, 0xFFFFFF81, 0x00000001, 0xF24A8280, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimationRate, 0xFFFFFF81, 0x00000001, 0xF24A7E80, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00260001, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A80E7, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, RemoveActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x0000001C, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7F4D, 0x00000056, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C81, 0xFE363C82, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000010, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C84, 0xFE363C85, 0xFE363C86, 0x00000043, 0x00000006, b_area_omo3_CalculateRotationZ, 0xFE363C81, 0xFE363C82, 0xFE363C84, 0xFE363C85, 0xFE363C80, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C84, 0x00000024, 0x00000002, 0xFE363C82, 0xFE363C85, 0x00000024, 0x00000002, 0xFE363C83, 0xFE363C86, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00260004, 0x00000057, 0x00000000, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000010, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x0026000B, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7EE7, 0xF24A7DB4, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7FB4, 0xF24A7C80, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000001, 0x00000023, 0x00000000, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000020, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7EE7, 0xF24A7DB4, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7E80, 0xF24A7E80, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00260001, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000028, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A81B4, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000A, 0x00000000, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000006, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00260001, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000001, YieldTurn, 0x00000043, 0x00000004, SetAnimationRate, 0xFFFFFF81, 0x00000001, 0xF24A8280, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00260003, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimationRate, 0xFFFFFF81, 0x00000001, 0xF24A7E80, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8021EB10_55DEF0 -.word 0x00000001, 0x003A0001, 0x0000000C, 0x003A0000, 0x00000006, 0x003A0003, 0x00000009, 0x003A0001, 0x00000008, 0x003A0000, 0x0000000B, 0x003A0001, 0x00000005, 0x003A0000, 0x00000004, 0x003A0005, 0x00000003, 0x003A0005, 0x00000000 - -dlabel D_8021EB5C_55DF3C -.word 0x00000001, 0x00000000, 0x00000000 - -dlabel D_8021EB68_55DF48 -.word 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000006, 0x0000005A, 0x00000009, 0x00000032, 0x00000007, 0x00000000, 0x00000004, 0x0000004B, 0x00000003, 0x00000064, 0x0000000B, 0x00000032, 0x00000005, 0x0000005A, 0x0000000A, 0x0000004B, 0x00000008, 0x0000005A, 0x0000001F, 0x00000000, 0x00000020, 0x00000001, 0x00000025, 0x00000000, 0x00000022, 0x00000000, 0x00000024, 0x00000000, 0x00000023, 0x00000000, 0x00000021, 0x00000000, 0x00000026, 0x00000001, 0x00000027, 0x00000000, 0x00000029, 0xFFFFFFFF, 0x00000000 - -dlabel D_8021EC14_55DFF4 -.word 0x00800000, 0x01000000, 0xF42000FF, D_8021EB10_55DEF0, D_8021EB5C_55DF3C, 0x00000000, 0x00000000, 0x08FD0000, 0x00000000 - -dlabel D_8021EC38_55E018 -.word 0x00000000, 0x001E0D08, 0x00010000, D_8021EC14_55DFF4, D_8021EC60_55E040, D_8021EB68_55DF48, 0x3C3C4646, 0x5F005001, 0x2A2A0000, 0xF6140A23 - -dlabel D_8021EC60_55E040 -.word 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_8021F1CC_55E5AC, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_8021ECAC_55E08C, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_8021ECBC_55E09C, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021ECAC_55E08C -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021ECBC_55E09C -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, GetLastEvent, 0xFFFFFF81, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000009, 0x0000001D, 0x00000001, 0x0000000A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003A0004, 0x00000046, 0x00000001, DoNormalHit, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x0000000E, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003A0006, 0x00000025, 0x00000002, 0xFE363C82, 0x003A0007, 0x00000046, 0x00000001, DoBurnHit, 0x00000016, 0x00000001, 0x00000024, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003A0006, 0x00000025, 0x00000002, 0xFE363C82, 0x003A0007, 0x00000046, 0x00000001, DoBurnHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003A0007, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000000B, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003A0004, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000016, 0x00000001, 0x00000021, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003A0004, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003A0004, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000002F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003A0004, 0x00000046, 0x00000001, DoShockHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003A0004, 0x00000046, 0x00000001, DoJumpBack, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003A0002, 0x00000046, 0x00000001, DoReturnHome, 0x00000016, 0x00000001, 0x00000026, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003A0004, 0x00000046, 0x00000001, DoShockHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003A0004, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x0000001D, 0x00000001, 0x00000017, 0x0000001D, 0x00000001, 0x00000019, 0x0000001D, 0x00000001, 0x0000001F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003A0001, 0x00000046, 0x00000001, DoImmune, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000020, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003A0004, 0x00000046, 0x00000001, DoNormalHit, 0x00000008, 0x00000001, 0x0000000A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003A0004, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000031, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003A0001, 0x00000046, 0x00000001, DoRecover, 0x00000016, 0x00000001, 0x00000039, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003A0002, 0x00000025, 0x00000002, 0xFE363C82, 0x003A0004, 0x00000046, 0x00000001, DoScareAway, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000003A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003A0004, 0x00000046, 0x00000001, DoAirLift, 0x00000016, 0x00000001, 0x00000016, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003A0004, 0x00000046, 0x00000001, DoBlowAway, 0x00000002, 0x00000000, 0x0000001C, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021F1CC_55E5AC -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000003F, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000004, func_8024ECF8, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetBattlePhase, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001B, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000028, 0x00000002, 0xFE363C82, 0x00000006, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x0000000F, 0x00000012, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003A0002, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8A80, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x00080000, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0x0000001B, 0x00000000, 0xFFFFFFFA, 0x00000012, 0x00000000, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0x0000000A, 0x00000000, 0xFFFFFFFA, 0x00000013, 0x00000000, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003A0001, 0x00000008, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000010, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000020C5, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003A0008, 0x00000008, 0x00000001, 0x0000000A, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000013, 0x00000000, 0x00000043, 0x00000001, YieldTurn, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x000000B4, 0x00000043, 0x00000005, AddActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000002, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003A0002, 0x00000046, 0x00000001, DoReturnHome, 0x00000043, 0x00000004, RemoveActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003A0009, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000020C5, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003A000A, 0x00000008, 0x00000001, 0x00000002, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x10000000, 0x00000000, 0x00000000, 0x00000003, 0x00000020, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x0000000A, 0xF24A8080, 0x00000057, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000008, 0x00000001, 0x00000013, 0x00000043, 0x00000001, YieldTurn, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003A0002, 0x00000046, 0x00000001, DoReturnHome, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021F720_55EB00 -.word 0x00000001, 0x00000000, 0x00000000 - -dlabel D_8021F72C_55EB0C -.word 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000006, 0x0000005F, 0x00000009, 0x0000005A, 0x00000007, 0x00000064, 0x00000004, 0x0000005A, 0x00000003, 0x00000000, 0x0000000B, 0x00000046, 0x00000005, 0x0000004B, 0x0000000A, 0x0000004B, 0x00000008, 0x00000064, 0x0000001F, 0x00000000, 0x00000020, 0x00000000, 0x00000025, 0x00000000, 0x00000022, 0x00000000, 0x00000024, 0x00000000, 0x00000023, 0x00000000, 0x00000021, 0x00000000, 0x00000026, 0x00000000, 0x00000027, 0x00000000, 0x00000029, 0x00000000, 0x00000000 - -dlabel D_8021F7D8_55EBB8 -.word 0x00800000, 0x01000000, 0x001400FF, D_8021F824_55EC04, D_8021F720_55EB00, 0x00000000, 0x00000000, 0x00F60000, 0x00000000 - -dlabel D_8021F7FC_55EBDC -.word 0x00000000, 0x000A0603, 0x00010000, D_8021F7D8_55EBB8, D_8021F870_55EC50, D_8021F72C_55EB0C, 0x325F5F5F, 0x5F006401, 0x211C0000, 0xF6140A14 - -dlabel D_8021F824_55EC04 -.word 0x00000001, 0x002B0001, 0x0000000C, 0x002B0000, 0x00000006, 0x002B000E, 0x00000009, 0x002B0001, 0x00000008, 0x002B0000, 0x0000000B, 0x002B0001, 0x00000005, 0x002B0000, 0x00000004, 0x002B000F, 0x00000003, 0x002B000F, 0x00000000 - -dlabel D_8021F870_55EC50 -.word 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_8021FF30_55F310, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_8021F8BC_55EC9C, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_8021F8CC_55ECAC, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021F8BC_55EC9C -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021F8CC_55ECAC -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7E80, 0xF24A7E80, 0xF24A7E80, 0x00000043, 0x00000003, GetLastEvent, 0xFFFFFF81, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000009, 0x0000001D, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, GetLastElement, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00000020, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0013, 0x00000012, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0008, 0x00000013, 0x00000000, 0x00000046, 0x00000001, DoNormalHit, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x0000000E, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0010, 0x00000025, 0x00000002, 0xFE363C82, 0x002B0012, 0x00000046, 0x00000001, DoBurnHit, 0x00000016, 0x00000001, 0x00000024, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0010, 0x00000025, 0x00000002, 0xFE363C82, 0x002B0012, 0x00000046, 0x00000001, DoBurnHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0012, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000000B, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0008, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000016, 0x00000001, 0x00000021, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0008, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0008, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000002F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0013, 0x00000046, 0x00000001, DoShockHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0013, 0x00000046, 0x00000001, DoJumpBack, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0003, 0x00000046, 0x00000001, D_8029C0A4, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A80E7, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0x00000026, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0013, 0x00000046, 0x00000001, DoShockHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0008, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x0000001D, 0x00000001, 0x00000017, 0x0000001D, 0x00000001, 0x00000019, 0x0000001D, 0x00000001, 0x0000001F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0001, 0x00000046, 0x00000001, DoImmune, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000020, 0x00000043, 0x00000002, GetLastElement, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00000020, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0013, 0x00000046, 0x00000001, DoNormalHit, 0x00000008, 0x00000001, 0x0000000A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0013, 0x00000046, 0x00000001, DoDeath, 0x00000012, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0008, 0x00000046, 0x00000001, DoNormalHit, 0x00000008, 0x00000001, 0x0000000A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0008, 0x00000046, 0x00000001, DoDeath, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000031, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0001, 0x00000046, 0x00000001, DoRecover, 0x00000016, 0x00000001, 0x00000039, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0003, 0x00000025, 0x00000002, 0xFE363C82, 0x002B0009, 0x00000046, 0x00000001, DoScareAway, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000003A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0003, 0x00000046, 0x00000001, DoAirLift, 0x00000016, 0x00000001, 0x00000016, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002B0003, 0x00000046, 0x00000001, DoBlowAway, 0x00000002, 0x00000000, 0x0000001C, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021FF30_55F310 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000003F, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000004, func_8024ECF8, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetBattlePhase, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000032, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000004, 0x00000001, 0x00000064, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002B0003, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000032, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9280, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A81B4, 0x00000046, 0x00000001, D_8029C12C, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002B0001, 0x00000003, 0x00000001, 0x00000064, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0x0000000A, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002B0004, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0x00000009, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0x00000008, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x08000000, 0x00000000, 0x00000001, 0x00000010, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000005, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000028, 0x00000002, 0xFE363C82, 0x00000005, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8680, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002B0005, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000B, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002B0009, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8680, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000006, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x0000000F, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8680, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000004, 0x00000008, 0x00000001, 0x00000005, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000001, YieldTurn, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x000000B4, 0x00000043, 0x00000005, AddActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000002, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002B0003, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A81B4, 0x00000046, 0x00000001, D_8029C12C, 0x00000043, 0x00000004, RemoveActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000007, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00002000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0xFFFFFFFD, 0xFFFFFFF4, 0xFFFFFFF1, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8680, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002B0005, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x08000000, 0x00000000, 0x00000000, 0x00000000, 0x00000020, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, UseIdleAnimation, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x0003000C, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000003E0, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002B0007, 0x00000008, 0x00000001, 0x00000015, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002B0000, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x0000014A, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000003E0, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0xFFFFFFFD, 0xFFFFFFFE, 0x00000000, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7E80, 0xF24A7E80, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7E1A, 0xF24A7F4D, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7DB4, 0xF24A7FB4, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7D4D, 0xF24A801A, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7D4D, 0xF24A8080, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7CE7, 0xF24A80E7, 0xF24A7E80, 0x00000008, 0x00000001, 0x0000000A, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x08000000, 0x00000000, 0x00000000, 0x00000001, 0x00000020, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002B0001, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000003, GetLastDamage, 0x00000000, 0xFE363C83, 0x0000000B, 0x00000002, 0xFE363C83, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x0000206D, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000214, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x0000000A, 0x00000043, 0x00000005, b_area_omo3_UnkBattleFunc2, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x0000025C, 0x00000043, 0x00000005, b_area_omo3_UnkBattleFunc2_2, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000057, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x00000014, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000043, 0x0000000F, PlayEffect, 0x00000040, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, GetActorHP, 0xFFFFFF81, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0xFE363C83, 0x00000043, 0x00000003, SetEnemyHP, 0xFFFFFF81, 0xFE363C80, 0x00000013, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A80E7, 0xF24A7CE7, 0xF24A7E80, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0x00000000, 0x0000000A, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x0000014A, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7D4D, 0xF24A8080, 0xF24A7E80, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x0000012C, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x0000010E, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7E80, 0xF24A7D4D, 0xF24A7E80, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x000000F0, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x000000D2, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7D4D, 0xF24A801A, 0xF24A7E80, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x000000B4, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7E80, 0xF24A7D4D, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7F4D, 0xF24A7C80, 0xF24A7E80, 0x00000057, 0x00000000, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000028, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A81B4, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000A, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A801A, 0xF24A7B4D, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000001, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7F4D, 0xF24A7C80, 0xF24A7E80, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000096, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorScale, 0xFFFFFF81, 0xF24A7E80, 0xF24A7E80, 0xF24A7E80, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000078, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x0000005A, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x0000003C, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x0000001E, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000001, YieldTurn, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002B0003, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A81B4, 0x00000046, 0x00000001, D_8029C12C, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002B0001, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80220FD0_5603B0 -.word 0x00000001, 0x005A0002, 0x0000000C, 0x005A0000, 0x00000006, 0x005A0011, 0x00000009, 0x005A0002, 0x00000008, 0x005A0000, 0x0000000B, 0x005A0002, 0x00000005, 0x005A0000, 0x00000004, 0x005A0012, 0x00000003, 0x005A0012, 0x00000000 - -dlabel D_8022101C_5603FC -.word 0x00000001, 0x005A000D, 0x00000000 - -dlabel D_80221028_560408 -.word 0x00000001, 0x00000001, 0x00000000 - -dlabel D_80221034_560414 -.word 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000006, 0x00000032, 0x00000009, 0x0000003C, 0x00000007, 0x00000000, 0x00000004, 0x00000046, 0x00000003, 0x00000000, 0x0000000B, 0x00000050, 0x00000005, 0x00000046, 0x0000000A, 0x00000046, 0x00000008, 0x00000050, 0x0000001F, 0x00000000, 0x00000020, 0xFFFFFFFF, 0x00000025, 0x00000000, 0x00000022, 0x00000000, 0x00000024, 0xFFFFFFFF, 0x00000023, 0x00000000, 0x00000021, 0x00000000, 0x00000026, 0x00000000, 0x00000027, 0x00000000, 0x00000029, 0xFFFFFFFE, 0x00000000 - -dlabel D_802210E0_5604C0 -.word 0x00800000, 0x01000000, 0xFD2300FF, D_80220FD0_5603B0, D_80221028_560408, 0x00000000, 0x00000000, 0xFDF60000, 0x00000000, 0x00120001, 0x02000000, 0x000000FF, D_8022101C_5603FC, D_80221028_560408, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00120001, 0x03000000, 0x000000FF, D_8022101C_5603FC, D_80221028_560408, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00120001, 0x04000000, 0x000000FF, D_8022101C_5603FC, D_80221028_560408, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00120001, 0x05000000, 0x000000FF, D_8022101C_5603FC, D_80221028_560408, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00120001, 0x06000000, 0x000000FF, D_8022101C_5603FC, D_80221028_560408, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802211B8_560598 -.word 0x00000000, 0x004B1B0C, 0x00060000, D_802210E0_5604C0, D_802211E0_5605C0, D_80221034_560414, 0x1E4B3C28, 0x5F005002, 0x1C260000, 0xF6140A23 - -dlabel D_802211E0_5605C0 -.word 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_80222DCC_5621AC, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_80221244_560624, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_802213A0_560780, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80221244_560624 -.word 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001F, 0x00000001, 0x00001000, 0x00000043, 0x00000005, SetTargetOffset, 0xFFFFFF81, 0x00000001, 0xFFFFFFFB, 0x0000000F, 0x00000043, 0x00000005, func_8027D4C8, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000000, 0x0000001C, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000008, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000005, SetTargetOffset, 0xFFFFFF81, 0x00000001, 0xFFFFFFFD, 0x00000023, 0x00000043, 0x00000005, func_8027D4C8, 0xFFFFFF81, 0x00000001, 0xFFFFFFFD, 0xFFFFFFF6, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetTargetOffset, 0xFFFFFF81, 0x00000001, 0xFFFFFFFB, 0x0000000F, 0x00000043, 0x00000005, func_8027D4C8, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000000, 0x00000023, 0x00000000, 0x00000023, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802213A0_560780 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, GetLastEvent, 0xFFFFFF81, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000009, 0x0000001D, 0x00000001, 0x0000000A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x005A000E, 0x00000046, 0x00000001, DoNormalHit, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x0000000E, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x005A000F, 0x00000025, 0x00000002, 0xFE363C82, 0x005A0010, 0x00000046, 0x00000001, DoBurnHit, 0x00000016, 0x00000001, 0x00000024, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x005A000F, 0x00000025, 0x00000002, 0xFE363C82, 0x005A0010, 0x00000046, 0x00000001, DoBurnHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x005A0010, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000000B, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x005A000E, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000016, 0x00000001, 0x00000021, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x005A000E, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x005A000E, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x0000001D, 0x00000001, 0x00000017, 0x0000001D, 0x00000001, 0x00000019, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x005A0015, 0x00000046, 0x00000001, DoImmune, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x0035D000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x005A0017, 0x00000008, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000020, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x005A000E, 0x00000046, 0x00000001, DoNormalHit, 0x00000008, 0x00000001, 0x0000000A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x005A000E, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000031, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x005A0002, 0x00000046, 0x00000001, DoRecover, 0x00000016, 0x00000001, 0x00000039, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x005A0007, 0x00000025, 0x00000002, 0xFE363C82, 0x005A000E, 0x00000046, 0x00000001, DoScareAway, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000003A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x005A0007, 0x00000046, 0x00000001, DoAirLift, 0x00000016, 0x00000001, 0x00000016, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x0035D000, 0x00000010, 0x00000002, 0xFE363C80, 0x00080000, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0xFFFFFFFE, 0x00000001, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0xFFFFFFFB, 0x00000003, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x005A000E, 0x00000046, 0x00000001, DoBlowAway, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000001F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x005A0002, 0x00000046, 0x00000001, DoImmune, 0x0000001C, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802218B4_560C94 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, GetBattlePhase, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000002, GetBattlePhase, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000058, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x00000014, 0x0000002B, 0x00000002, 0xFE363C80, 0x00000168, 0x00000043, 0x00000006, SetPartRotation, 0xFFFFFF81, 0x00000002, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000059, 0x00000000, 0x00000043, 0x00000006, SetPartPos, 0xFFFFFF81, 0x00000002, 0x00000000, 0x00000032, 0x00000000, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000002, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x005A000C, 0x00000004, 0x00000001, 0x00000064, 0x00000013, 0x00000000, 0x00000058, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x00000014, 0x0000002B, 0x00000002, 0xFE363C80, 0x00000168, 0x00000043, 0x00000006, SetPartRotation, 0xFFFFFF81, 0x00000002, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000059, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000017, 0x00000027, 0x00000002, 0xFE363C81, 0x00000017, 0x00000028, 0x00000002, 0xFE363C82, 0x00000002, 0x00000043, 0x00000006, SetPartPos, 0xFFFFFF81, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x005A000C, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000002, 0x00000001, 0x00000000, 0x00000003, 0x00000001, 0x00000064, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x005A0002, 0x00000057, 0x00000000, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00080000, 0x00000043, 0x00000006, SetPartScale, 0xFFFFFF81, 0x00000002, 0xF24A7C1A, 0xF24A7C1A, 0xF24A7C1A, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SetPartScale, 0xFFFFFF81, 0x00000002, 0xF24A7E80, 0xF24A7E80, 0xF24A7E80, 0x00000013, 0x00000000, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000010, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000006, SetPartSounds, 0xFFFFFF81, 0x00000002, 0x00000002, 0x00000000, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtPart, 0xFFFFFF81, 0x00000002, 0x000002E9, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000014, 0x00000024, 0x00000002, 0xFE363C81, 0x0000000A, 0x00000043, 0x00000004, SetPartJumpGravity, 0xFFFFFF81, 0x00000002, 0xF24A7FB4, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000F, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C8A, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000028, 0x00000002, 0xFE363C80, 0x00000028, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000F, 0x00000001, 0x00000028, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000A, 0x00000001, 0x00000028, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000005, 0x00000001, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000002, 0x00000001, 0x00000001, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000001, YieldTurn, 0x00000043, 0x00000005, AddActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000002, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, RemoveActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000006, SetPartSounds, 0xFFFFFF81, 0x00000002, 0x00000002, 0x00000000, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtPart, 0xFFFFFF81, 0x00000002, 0x000002E9, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetPartJumpGravity, 0xFFFFFF81, 0x00000002, 0xF24A7FB4, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000F, 0x00000001, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x10000000, 0x00000000, 0x80080332, 0x00000005, 0x00000020, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000043, 0x00000006, GetPartOffset, 0xFFFFFF81, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000032, 0x00000024, 0x00000002, 0xFE363C81, 0x0000000A, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000014, 0x00000001, 0x00000028, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000A, 0x00000001, 0x00000028, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000005, 0x00000001, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000002, 0x00000001, 0x00000001, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000001, YieldTurn, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8022212C_56150C -.word 0x00000043, 0x00000004, SetAnimationRate, 0xFFFFFF81, 0x00000001, 0xF24A8280, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x005A0002, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x005A000C, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0xFE363C80, 0x00000001, 0x00000000, 0x00000043, 0x00000006, SetPartSounds, 0xFFFFFF81, 0xFE363C80, 0x00000002, 0x00000000, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtPart, 0xFFFFFF81, 0xFE363C80, 0x000002E9, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000024, 0x00000002, 0xFE363C82, 0x0000000A, 0x00000043, 0x00000003, RandInt, 0x0000003C, 0xFE363C84, 0x00000024, 0x00000002, 0xFE363C85, 0x0000001E, 0x00000028, 0x00000002, 0xFE363C85, 0xFE363C84, 0x00000027, 0x00000002, 0xFE363C81, 0xFE363C85, 0x00000043, 0x00000004, SetPartJumpGravity, 0xFFFFFF81, 0xFE363C80, 0xF24A7FB4, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x0000000F, 0x00000001, 0x00000028, 0x00000002, 0xFE363C81, 0x00000032, 0x00000024, 0x00000002, 0xFE363C82, 0x0000000A, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000014, 0x00000001, 0x00000028, 0x00000002, 0xFE363C81, 0x0000001E, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x0000000A, 0x00000001, 0x00000028, 0x00000002, 0xFE363C81, 0x00000014, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000005, 0x00000001, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0xFE363C80, 0x00000001, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80222378_561758 -.word 0x00000043, 0x00000004, SetAnimationRate, 0xFFFFFF81, 0x00000001, 0xF24A8280, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x005A0002, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x005A000C, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0xFE363C80, 0x00000001, 0x00000000, 0x00000043, 0x00000006, SetPartSounds, 0xFFFFFF81, 0xFE363C80, 0x00000002, 0x00000000, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtPart, 0xFFFFFF81, 0xFE363C80, 0x000002E9, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000004, SetPartJumpGravity, 0xFFFFFF81, 0xFE363C80, 0xF24A7FB4, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x0000000F, 0x00000001, 0x00000028, 0x00000002, 0xFE363C81, 0x00000032, 0x00000024, 0x00000002, 0xFE363C82, 0x0000000A, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000014, 0x00000001, 0x00000028, 0x00000002, 0xFE363C81, 0x0000001E, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x0000000A, 0x00000001, 0x00000028, 0x00000002, 0xFE363C81, 0x00000014, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000005, 0x00000001, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0xFE363C80, 0x00000001, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80222570_561950 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000064, 0x00000027, 0x00000002, 0xFE363C80, 0x00000014, 0x0000002B, 0x00000002, 0xFE363C80, 0x00000168, 0x00000043, 0x00000006, SetPartRotation, 0xFFFFFF81, 0x00000002, 0x00000000, 0x00000000, 0xFE363C80, 0x00000043, 0x00000006, SetPartRotation, 0xFFFFFF81, 0x00000003, 0x00000000, 0x00000000, 0xFE363C80, 0x00000043, 0x00000006, SetPartRotation, 0xFFFFFF81, 0x00000004, 0x00000000, 0x00000000, 0xFE363C80, 0x00000043, 0x00000006, SetPartRotation, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000000, 0xFE363C80, 0x00000043, 0x00000006, SetPartRotation, 0xFFFFFF81, 0x00000006, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000017, 0x00000027, 0x00000002, 0xFE363C81, 0x00000017, 0x00000028, 0x00000002, 0xFE363C82, 0x00000002, 0x00000043, 0x00000006, SetPartPos, 0xFFFFFF81, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, SetPartPos, 0xFFFFFF81, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, SetPartPos, 0xFFFFFF81, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, SetPartPos, 0xFFFFFF81, 0x00000005, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, SetPartPos, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00080000, 0x00000043, 0x00000006, SetPartScale, 0xFFFFFF81, 0x00000002, 0xF24A7C1A, 0xF24A7C1A, 0xF24A7C1A, 0x00000043, 0x00000006, SetPartScale, 0xFFFFFF81, 0x00000003, 0xF24A7C1A, 0xF24A7C1A, 0xF24A7C1A, 0x00000043, 0x00000006, SetPartScale, 0xFFFFFF81, 0x00000004, 0xF24A7C1A, 0xF24A7C1A, 0xF24A7C1A, 0x00000043, 0x00000006, SetPartScale, 0xFFFFFF81, 0x00000005, 0xF24A7C1A, 0xF24A7C1A, 0xF24A7C1A, 0x00000043, 0x00000006, SetPartScale, 0xFFFFFF81, 0x00000006, 0xF24A7C1A, 0xF24A7C1A, 0xF24A7C1A, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SetPartScale, 0xFFFFFF81, 0x00000002, 0xF24A7E80, 0xF24A7E80, 0xF24A7E80, 0x00000043, 0x00000006, SetPartScale, 0xFFFFFF81, 0x00000003, 0xF24A7E80, 0xF24A7E80, 0xF24A7E80, 0x00000043, 0x00000006, SetPartScale, 0xFFFFFF81, 0x00000004, 0xF24A7E80, 0xF24A7E80, 0xF24A7E80, 0x00000043, 0x00000006, SetPartScale, 0xFFFFFF81, 0x00000005, 0xF24A7E80, 0xF24A7E80, 0xF24A7E80, 0x00000043, 0x00000006, SetPartScale, 0xFFFFFF81, 0x00000006, 0xF24A7E80, 0xF24A7E80, 0xF24A7E80, 0x00000013, 0x00000000, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000010, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x00000044, 0x00000001, D_8022212C_56150C, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0x00000003, 0x00000044, 0x00000001, D_8022212C_56150C, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0x00000004, 0x00000044, 0x00000001, D_8022212C_56150C, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0x00000005, 0x00000044, 0x00000001, D_8022212C_56150C, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0x00000006, 0x00000044, 0x00000001, D_8022212C_56150C, 0x00000008, 0x00000001, 0x00000005, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x005A0002, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000001, YieldTurn, 0x00000043, 0x00000005, AddActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000002, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, RemoveActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x00000044, 0x00000001, D_80222378_561758, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0x00000003, 0x00000044, 0x00000001, D_80222378_561758, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0x00000004, 0x00000044, 0x00000001, D_80222378_561758, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0x00000005, 0x00000044, 0x00000001, D_80222378_561758, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0x00000006, 0x00000044, 0x00000001, D_80222378_561758, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000015, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x10000000, 0x00000000, 0x00000000, 0x00000002, 0x00000010, 0x00000008, 0x00000001, 0x00000005, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x10000000, 0x00000000, 0x00000000, 0x00000002, 0x00000040, 0x00000008, 0x00000001, 0x00000005, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x10000000, 0x00000000, 0x00000000, 0x00000002, 0x00000040, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x005A0002, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x10000000, 0x00000000, 0x00000000, 0x00000002, 0x00000040, 0x00000008, 0x00000001, 0x00000005, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x10000000, 0x00000000, 0x80080332, 0x00000002, 0x00000020, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000001, YieldTurn, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80222DCC_5621AC -.word 0x00000043, 0x00000003, GetActorHP, 0xFFFFFF81, 0xFE363C80, 0x00000043, 0x00000003, GetEnemyMaxHP, 0xFFFFFF81, 0xFE363C81, 0x0000002E, 0x00000002, 0xFE363C80, 0xF24C0A80, 0x0000002F, 0x00000002, 0xFE363C80, 0xFE363C81, 0x0000000D, 0x00000002, 0xFE363C80, 0x00000022, 0x00000046, 0x00000001, D_802218B4_560C94, 0x00000012, 0x00000000, 0x00000046, 0x00000001, D_80222570_561950, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 - -dlabel D_80222E60_562240 -.word 0x00000001, 0x00000000, 0x00000000 - -dlabel D_80222E6C_56224C -.word 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000006, 0x0000005A, 0x00000009, 0x00000000, 0x00000007, 0x00000000, 0x00000004, 0x0000005A, 0x00000003, 0x00000000, 0x0000000B, 0x00000000, 0x00000005, 0x00000064, 0x0000000A, 0x0000005A, 0x00000008, 0x00000064, 0x0000001F, 0x00000000, 0x00000020, 0x00000000, 0x00000025, 0x00000000, 0x00000022, 0x00000000, 0x00000024, 0x00000000, 0x00000023, 0x00000000, 0x00000021, 0x00000000, 0x00000026, 0x00000000, 0x00000027, 0x00000000, 0x00000029, 0x00000000, 0x00000000 - -dlabel D_80222F18_5622F8 -.word 0x00020000, 0x01000000, 0x001400FF, D_80223018_5623F8, D_80222E60_562240, 0x00200010, 0x00000000, 0x00000000, 0x00000000, 0x00800001, 0x02000000, 0x004800FF, 0x00000000, D_80222E60_562240, 0x00200010, 0x00000000, 0x00F80000, 0x00000000, 0x00020001, 0x03000000, 0x003600FF, 0x00000000, D_80222E60_562240, 0x00200010, 0x00000000, 0x00F80000, 0x00000000, 0x00020001, 0x04000000, 0x002400FF, 0x00000000, D_80222E60_562240, 0x00200010, 0x00000000, 0x00F80000, 0x00000000, 0x00020001, 0x05000000, 0x001000FF, 0x00000000, D_80222E60_562240, 0x00200010, 0x00000000, 0x00F80000, 0x00000000, 0x00120001, 0x06000000, 0x000000FF, D_80223108_5624E8, D_80222E60_562240, 0x00200010, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80222FF0_5623D0 -.word 0x00000000, 0x00140904, 0x00060000, D_80222F18_5622F8, D_80223114_5624F4, D_80222E6C_56224C, 0x465A5546, 0x5F006401, 0x18500000, 0xF14B0A41 - -dlabel D_80223018_5623F8 -.word 0x00000001, 0x00310004, 0x0000000C, 0x00310000, 0x00000006, 0x00310025, 0x00000008, 0x00310000, 0x00000005, 0x00310000, 0x00000004, 0x00310021, 0x00000003, 0x00310021, 0x00000000 - -dlabel D_80223054_562434 -.word 0x00000001, 0x00310005, 0x0000000C, 0x00310001, 0x00000006, 0x00310026, 0x00000008, 0x00310001, 0x00000005, 0x00310001, 0x00000004, 0x00310022, 0x00000003, 0x00310022, 0x00000000 - -dlabel D_80223090_562470 -.word 0x00000001, 0x00310006, 0x0000000C, 0x00310002, 0x00000006, 0x00310027, 0x00000008, 0x00310002, 0x00000005, 0x00310002, 0x00000004, 0x00310023, 0x00000003, 0x00310023, 0x00000000 - -dlabel D_802230CC_5624AC -.word 0x00000001, 0x00310007, 0x0000000C, 0x00310003, 0x00000006, 0x00310028, 0x00000008, 0x00310003, 0x00000005, 0x00310003, 0x00000004, 0x00310024, 0x00000003, 0x00310024, 0x00000000 - -dlabel D_80223108_5624E8 -.word 0x00000001, 0x00310016, 0x00000000 - -dlabel D_80223114_5624F4 -.word 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_80224BF8_563FD8, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_80223290_562670, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_802232A0_562680, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x0000000A, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000001, 0xFE363C80, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000009, 0xFE363C80, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000001, 0x00310004, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000002, 0x00310008, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000003, 0x0031000C, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000004, 0x00310010, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000005, 0x00310011, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000006, 0x00310018, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000007, 0x00310019, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80223290_562670 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802232A0_562680 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, GetLastEvent, 0xFFFFFF81, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000009, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoNormalHit, 0x00000016, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00080000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoNormalHit, 0x00000012, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C8A, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000003, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoNormalHit, 0x00000012, 0x00000000, 0x00000043, 0x00000002, func_80269E80, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000007, 0x0000001D, 0x00000001, 0x00000009, 0x00000046, 0x00000001, D_8022788C_566C6C, 0x00000020, 0x00000000, 0x0000001C, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoNormalHit, 0x00000023, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000020, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00080000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoNormalHit, 0x00000008, 0x00000001, 0x0000000A, 0x00000012, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C8A, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000003, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoNormalHit, 0x00000008, 0x00000001, 0x0000000A, 0x00000012, 0x00000000, 0x00000043, 0x00000002, func_80269E80, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000007, 0x0000001D, 0x00000001, 0x00000009, 0x00000046, 0x00000001, D_8022788C_566C6C, 0x00000020, 0x00000000, 0x0000001C, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoNormalHit, 0x00000008, 0x00000001, 0x0000000A, 0x00000023, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000000E, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000006, 0xFE363C81, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000007, 0xFE363C82, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C83, 0x00000010, 0x00000002, 0xFE363C83, 0x00080000, 0x00000046, 0x00000001, DoBurnHit, 0x00000012, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C8A, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000003, 0x00000046, 0x00000001, DoBurnHit, 0x00000012, 0x00000000, 0x00000043, 0x00000002, func_80269E80, 0xFE363C8A, 0x00000014, 0x00000001, 0xFE363C8A, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000007, 0x0000001D, 0x00000001, 0x00000009, 0x00000046, 0x00000001, D_8022788C_566C6C, 0x00000020, 0x00000000, 0x0000001C, 0x00000000, 0x00000046, 0x00000001, DoBurnHit, 0x00000023, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x0000001D, 0x00000001, 0x00000024, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000006, 0xFE363C81, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000007, 0xFE363C82, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C83, 0x00000010, 0x00000002, 0xFE363C83, 0x00080000, 0x00000046, 0x00000001, DoBurnHit, 0x00000012, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C8A, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000003, 0x00000046, 0x00000001, DoBurnHit, 0x00000012, 0x00000000, 0x00000043, 0x00000002, func_80269E80, 0xFE363C8A, 0x00000014, 0x00000001, 0xFE363C8A, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000007, 0x0000001D, 0x00000001, 0x00000009, 0x00000046, 0x00000001, D_8022788C_566C6C, 0x00000020, 0x00000000, 0x0000001C, 0x00000000, 0x00000046, 0x00000001, DoBurnHit, 0x00000023, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000007, 0xFE363C81, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000000B, 0x00000046, 0x00000001, D_80226B30_565F10, 0x00000016, 0x00000001, 0x00000021, 0x00000046, 0x00000001, D_80226B30_565F10, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C83, 0x00000010, 0x00000002, 0xFE363C83, 0x00080000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoNormalHit, 0x00000012, 0x00000000, 0x00000046, 0x00000001, D_8022788C_566C6C, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000025, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C83, 0x00000010, 0x00000002, 0xFE363C83, 0x00080000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoNormalHit, 0x00000012, 0x00000000, 0x00000046, 0x00000001, D_8022788C_566C6C, 0x00000013, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000002F, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoShockHit, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C81, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0xFE363C81, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8A80, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8280, 0x00000046, 0x00000001, D_8029C12C, 0x00000016, 0x00000001, 0x00000026, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoShockHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x0000001D, 0x00000001, 0x00000017, 0x0000001D, 0x00000001, 0x00000019, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000001, 0xFE363C81, 0x00000046, 0x00000001, DoImmune, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x0000001B, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x0000004D, 0x00000025, 0x00000002, 0xFE363C82, 0x00310021, 0x00000016, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x0000003B, 0x00000025, 0x00000002, 0xFE363C82, 0x00310022, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000029, 0x00000025, 0x00000002, 0xFE363C82, 0x00310023, 0x00000016, 0x00000001, 0x00000003, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000017, 0x00000025, 0x00000002, 0xFE363C82, 0x00310024, 0x00000023, 0x00000000, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C83, 0x00000011, 0x00000002, 0xFE363C83, 0x00001000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0xFE363C82, 0x00000013, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C86, 0x00000010, 0x00000002, 0xFE363C86, 0x00080000, 0x0000002E, 0x00000002, 0xFE363C80, 0xF24A7C1A, 0x0000002E, 0x00000002, 0xFE363C81, 0xF24A7C1A, 0x00000013, 0x00000000, 0x0000002C, 0x00000002, 0xFE363C83, 0xFE363C80, 0x0000002C, 0x00000002, 0xFE363C84, 0xFE363C81, 0x00000043, 0x0000000F, PlayEffect, 0x0000001A, 0x00000000, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000016, 0x00000001, 0x00000031, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000001, 0xFE363C81, 0x00000046, 0x00000001, DoRecover, 0x00000016, 0x00000001, 0x00000039, 0x00000046, 0x00000001, D_80227D64_567144, 0x00000002, 0x00000000, 0x0000001C, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80223F98_563378 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000003F, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000004, func_8024ECF8, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x00080000, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0x0000003C, 0x00000000, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0x00000018, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310008, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8A80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310004, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x00080000, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0x00000028, 0x00000000, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0x00000010, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310009, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8A80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310005, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x00080000, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0x00000014, 0x00000000, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x0031000A, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8A80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310006, 0x00000023, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000342, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0xFFFFFFD8, 0x00000014, 0x0000000A, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000058, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000002ED, 0x00000059, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFFD8, 0x0000005A, 0x00000005, 0x00000001, 0x00000003, 0x00000001, 0x00000003, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000003, 0x00000013, 0x00000000, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000020, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000005, MakeLerp, 0x0000005A, 0x00000000, 0x00000005, 0x00000000, 0x00000003, 0x00000001, 0x00000004, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000004, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, YieldTurn, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000005, AddActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000002, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310008, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310004, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310009, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310005, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x0031000A, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310006, 0x00000023, 0x00000000, 0x00000043, 0x00000004, RemoveActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000002, 0x00000016, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFE363C81, 0x00000002, 0x0000001C, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000002, 0x00000023, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x80020300, 0xFE363C81, 0x00000020, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000005, MakeLerp, 0x0000005A, 0x00000000, 0x0000000A, 0x00000000, 0x00000003, 0x00000001, 0x00000005, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000005, 0x00000013, 0x00000000, 0x00000043, 0x00000001, YieldTurn, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310008, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310004, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310009, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310005, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x0031000A, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310006, 0x00000023, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80224A94_563E74 -.word 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000043, 0x00000002, EnemyCreateTargetList, 0x00008002, 0x00000043, 0x00000001, InitTargetIterator, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetOwnerTarget, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000003, GetOriginalActorType, 0xFE363C80, 0xFE363C82, 0x00000014, 0x00000001, 0xFE363C82, 0x00000016, 0x00000001, 0x00000014, 0x00000043, 0x00000003, GetStatusFlags, 0xFE363C80, 0xFE363C83, 0x00000011, 0x00000002, 0xFE363C83, 0x003DD000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C83, 0x0000000A, 0x00000002, 0xFE363C83, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFE363C80, 0x0000000A, 0xFE363C83, 0x0000000B, 0x00000002, 0xFE363C83, 0x00000002, 0x00000027, 0x00000002, 0xFE363C89, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, ChooseNextTarget, 0x00000000, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80224BF8_563FD8 -.word 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C8A, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000003, 0x00000046, 0x00000001, D_80226170_565550, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000009, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x0000000A, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000002, 0x00000004, 0x00000001, 0x0000007B, 0x00000013, 0x00000000, 0x00000046, 0x00000001, D_80225724_564B04, 0x0000000A, 0x00000002, 0xFE363C8E, 0xFFFFFFFF, 0x00000004, 0x00000001, 0x0000007B, 0x00000013, 0x00000000, 0x00000046, 0x00000001, D_80224A94_563E74, 0x00000014, 0x00000001, 0xFE363C89, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000003, RandInt, 0x000003E8, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x00000190, 0x00000046, 0x00000001, D_80225A0C_564DEC, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000003, RandInt, 0x000003E8, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x000000C8, 0x00000046, 0x00000001, D_80225A0C_564DEC, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, RandInt, 0x000003E8, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x00000064, 0x00000046, 0x00000001, D_80225A0C_564DEC, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000013, 0x00000000, 0x00000003, 0x00000001, 0x0000007B, 0x00000043, 0x00000003, RandInt, 0x000003E8, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x000001F4, 0x00000046, 0x00000001, D_80223F98_563378, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, GetBattlePhase, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SetPartSounds, 0xFFFFFF81, 0x00000006, 0x00000002, 0x00000000, 0x00000000, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x00080000, 0x00000043, 0x00000006, SetPartScale, 0xFFFFFF81, 0x00000006, 0xF24A7E80, 0xF24A7E80, 0xF24A7E80, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SetPartScale, 0xFFFFFF81, 0x00000006, 0xF24A7C1A, 0xF24A7C1A, 0xF24A7E80, 0x00000013, 0x00000000, 0x00000058, 0x00000000, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000006, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, SetPartPos, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetPartJumpGravity, 0xFFFFFF81, 0x00000006, 0xF24A834D, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000006, 0x00310016, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C85, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C8A, 0x00000014, 0x00000001, 0xFE363C8A, 0x00000016, 0x00000001, 0x00000000, 0x00000011, 0x00000002, 0xFE363C85, 0x00080000, 0x00000027, 0x00000002, 0xFE363C81, 0x00000026, 0x00000012, 0x00000000, 0x00000027, 0x00000002, 0xFE363C81, 0x0000000F, 0x00000043, 0x00000004, SetPartJumpGravity, 0xFFFFFF81, 0x00000006, 0xF24A7F4D, 0x00000013, 0x00000000, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000F, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000011, 0x00000002, 0xFE363C85, 0x00080000, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000012, 0x00000000, 0x00000027, 0x00000002, 0xFE363C81, 0x00000008, 0x00000043, 0x00000004, SetPartJumpGravity, 0xFFFFFF81, 0x00000006, 0xF24A7F4D, 0x00000013, 0x00000000, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000F, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000011, 0x00000002, 0xFE363C85, 0x00080000, 0x00000027, 0x00000002, 0xFE363C81, 0x00000008, 0x00000012, 0x00000000, 0x00000027, 0x00000002, 0xFE363C81, 0x00000003, 0x00000043, 0x00000004, SetPartJumpGravity, 0xFFFFFF81, 0x00000006, 0xF24A7F4D, 0x00000013, 0x00000000, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000F, 0x00000001, 0x00000016, 0x00000001, 0x00000003, 0x00000023, 0x00000000, 0x00000059, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000342, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000004, 0xFE363C81, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0xFE363C81, 0x00000008, 0x00000001, 0x0000000C, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000005, 0xFE363C81, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0xFE363C81, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000002CE, 0x00000008, 0x00000001, 0x00000003, 0x00000046, 0x00000001, D_80226C5C_56603C, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x10000000, 0x00000000, 0x00000002, 0x00000020, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000005, 0x00000058, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000059, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000050, 0x00000028, 0x00000002, 0xFE363C81, 0x00000005, 0x00000043, 0x00000004, SetPartMoveSpeed, 0xFFFFFF81, 0x00000006, 0xF24ACA80, 0x00000043, 0x00000004, SetPartJumpGravity, 0xFFFFFF81, 0x00000006, 0xF24A7AE7, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000006, 0x00310016, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000001, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000006, 0x00000001, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C81, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0xFE363C81, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetPartMoveSpeed, 0xFFFFFF81, 0x00000006, 0xF24ACA80, 0x00000043, 0x00000004, SetPartJumpGravity, 0xFFFFFF81, 0x00000006, 0xF24A7AE7, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000006, 0x00310016, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000001, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x10000000, 0x00000000, 0x80020300, 0x00000002, 0x00000020, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C81, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0xFE363C81, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000043, 0x00000005, GetActorPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000037, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPartMoveSpeed, 0xFFFFFF81, 0x00000006, 0xF24A9280, 0x00000043, 0x00000004, SetPartJumpGravity, 0xFFFFFF81, 0x00000006, 0xF24A7AE7, 0x00000043, 0x00000009, FlyPartTo, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000019, 0x00000000, 0x00000043, 0x00000004, SetPartMoveSpeed, 0xFFFFFF81, 0x00000006, 0xF24A8A80, 0x00000028, 0x00000002, 0xFE363C80, 0x00000018, 0x00000043, 0x00000009, FlyPartTo, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000015, 0x00000000, 0x00000043, 0x00000004, SetPartMoveSpeed, 0xFFFFFF81, 0x00000006, 0xF24A8680, 0x00000028, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000009, FlyPartTo, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000014, 0x00000000, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000006, 0x00000001, 0x00000001, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80225724_564B04 -.word 0x00000024, 0x00000002, 0xFE363C8E, 0xFFFFFFFF, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00080000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E281, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E282, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E283, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E284, 0x00000000, 0x00000043, 0x00000002, EnemyCreateTargetList, 0x00008002, 0x00000043, 0x00000001, InitTargetIterator, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetOwnerTarget, 0xFE363C80, 0xFE363C85, 0x00000043, 0x00000003, GetIndexFromHome, 0xFE363C80, 0xFE363C85, 0x0000002B, 0x00000002, 0xFE363C85, 0x00000004, 0x00000014, 0x00000001, 0xFE363C85, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E281, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFBD3E282, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFBD3E283, 0x00000001, 0x00000016, 0x00000001, 0x00000003, 0x00000024, 0x00000002, 0xFBD3E284, 0x00000001, 0x00000023, 0x00000000, 0x00000043, 0x00000003, ChooseNextTarget, 0x00000000, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, GetIndexFromHome, 0xFFFFFF81, 0xFE363C81, 0x00000014, 0x00000001, 0xFE363C81, 0x00000016, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFBD3E281, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8E, 0x00000000, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000002, 0x0000000A, 0x00000002, 0xFBD3E282, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8E, 0x00000001, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x0000000A, 0x00000002, 0xFBD3E283, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8E, 0x00000002, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802259E4_564DC4 -.word 0x00000190, 0xFFFFFF9C, 0x00000000 - -dlabel D_802259F0_564DD0 -.word D_80222FF0_5623D0, D_802259E4_564DC4, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80225A0C_564DEC -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000000E, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000002, MoveBattleCamOver, 0x0000001E, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310004, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0xFFFFFFEC, 0x00000014, 0x0000000A, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000058, 0x00000000, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000344, 0x00000059, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFFEC, 0x0000001E, 0x00000014, 0x0000000A, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000058, 0x00000000, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000345, 0x00000059, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x0000001E, 0xFFFFFFD8, 0x00000014, 0x0000000A, 0x00000003, 0x00000001, 0x00000002, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000002, 0x00000013, 0x00000000, 0x00000058, 0x00000000, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000002EE, 0x00000059, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFFD8, 0x0000005A, 0x0000000A, 0x0000000A, 0x00000003, 0x00000001, 0x00000003, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000003, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000346, 0x00000043, 0x00000002, StartRumble, 0x00000009, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x0000000A, 0xF24A7E80, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SummonEnemy, D_802259F0_564DD0, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0xFE363C80, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000028, 0x00000028, 0x00000002, 0xFE363C81, 0x00000050, 0x00000043, 0x00000005, SetActorPos, 0xFE363C8B, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000058, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000025, 0x00000002, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, UseIdleAnimation, 0xFE363C8B, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFE363C8B, 0x00000001, 0x0031000C, 0x00000043, 0x00000005, GetActorPos, 0xFE363C8B, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFE363C8B, 0xF24A7F4D, 0x00000043, 0x00000005, SetGoalPos, 0xFE363C8B, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFE363C8B, 0x00000014, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000005, GetActorPos, 0xFE363C8B, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetAnimation, 0xFE363C8B, 0x00000001, 0x00310004, 0x00000043, 0x00000005, SetHomePos, 0xFE363C8B, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000002, HPBarToHome, 0xFE363C8B, 0x00000043, 0x00000003, UseIdleAnimation, 0xFE363C8B, 0x00000001, 0x00000059, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x0000000A, 0xFE363C81, 0x00000014, 0x00000001, 0xFE363C81, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFE363C8B, 0x0000000A, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000004, SetActorVar, 0xFE363C8B, 0x0000000A, 0x00000002, 0x00000023, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000014, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000005, MakeLerp, 0x0000005A, 0xFFFFFFE2, 0x00000007, 0x00000004, 0x00000003, 0x00000001, 0x00000004, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000004, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFFE2, 0x00000000, 0x0000000A, 0x0000000A, 0x00000003, 0x00000001, 0x00000005, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000005, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310004, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80226170_565550 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000000, 0x000002EC, 0x000002EC, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000002, 0x000002EC, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000003F, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000004, func_8024ECF8, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000032, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A81B4, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x0031000B, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8A80, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8280, 0x00000046, 0x00000001, D_8029C12C, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310007, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x0031000B, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000002, 0x00000010, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000005, 0x00000024, 0x00000002, 0xFE363C81, 0x0000000A, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7EE7, 0x00000058, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000005, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000059, 0x00000000, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000016, 0x00000000, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0x00000000, 0x0000000A, 0x00000000, 0x00000058, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x000000B4, 0x00000005, 0x00000001, 0x00000006, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000168, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000059, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8280, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000006, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000001, YieldTurn, 0x00000043, 0x00000005, AddActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000002, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8A80, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x0031000B, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8280, 0x00000046, 0x00000001, D_8029C12C, 0x00000043, 0x00000004, RemoveActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310007, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7EE7, 0x00000058, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000005, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000059, 0x00000000, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000012, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x80020300, 0x00000002, 0x00000020, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310007, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000028, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A81B4, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000A, 0x00000000, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000006, 0x00000000, 0x00000001, 0x00000000, 0x00000028, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000004, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310007, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8A80, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x0031000B, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8280, 0x00000046, 0x00000001, D_8029C12C, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00310007, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80226B30_565F10 -.word 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C8A, 0x00000010, 0x00000002, 0xFE363C8A, 0x00080000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C8A, 0x00000014, 0x00000001, 0xFE363C8A, 0x00000016, 0x00000001, 0x00000000, 0x00000046, 0x00000001, D_80227440_566820, 0x00000016, 0x00000001, 0x00000001, 0x00000046, 0x00000001, D_80227440_566820, 0x00000016, 0x00000001, 0x00000002, 0x00000046, 0x00000001, D_80227440_566820, 0x00000016, 0x00000001, 0x00000003, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80226C5C_56603C -.word 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C8A, 0x00000014, 0x00000001, 0xFE363C8A, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000001, 0x00310005, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000002, 0x00310009, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000003, 0x0031000D, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000004, 0x00310012, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000005, 0x00310013, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000006, 0x0031001A, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000007, 0x0031001B, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_80223054_562434, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000002, 0x00800000, 0x00000000, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000002, 0x00020000, 0x00000001, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000003, 0x00020000, 0x00000000, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000003, 0x00800000, 0x00000001, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000001, 0x00000043, 0x00000004, SetActorSize, 0xFFFFFF81, 0x0000003E, 0xF1194D80, 0x00000043, 0x00000005, SetPartSize, 0xFFFFFF81, 0x00000001, 0x0000003E, 0xF1194D80, 0x00000043, 0x00000005, b_area_omo3_UnkBattleFunc1, 0xFFFFFFF1, 0x00000037, 0x0000000A, 0x0000002D, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000001, 0x00310006, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000002, 0x0031000A, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000003, 0x0031000E, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000004, 0x00310014, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000005, 0x00310015, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000006, 0x0031001C, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000007, 0x0031001D, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_80223090_562470, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000003, 0x00800000, 0x00000000, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000003, 0x00020000, 0x00000001, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000004, 0x00020000, 0x00000000, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000004, 0x00800000, 0x00000001, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000002, 0x00000043, 0x00000004, SetActorSize, 0xFFFFFF81, 0x0000002C, 0xF1194D80, 0x00000043, 0x00000005, SetPartSize, 0xFFFFFF81, 0x00000001, 0x0000002C, 0xF1194D80, 0x00000043, 0x00000005, b_area_omo3_UnkBattleFunc1, 0xFFFFFFF1, 0x00000023, 0x0000000A, 0x00000019, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000001, 0x00310007, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000002, 0x0031000B, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000003, 0x0031000F, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000006, 0x0031001E, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000007, 0x0031001F, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_802230CC_5624AC, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000004, 0x00800000, 0x00000000, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000004, 0x00020000, 0x00000001, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000005, 0x00020000, 0x00000000, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000005, 0x00800000, 0x00000001, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000003, 0x00000043, 0x00000004, SetActorSize, 0xFFFFFF81, 0x0000001A, 0xF1194D80, 0x00000043, 0x00000005, SetPartSize, 0xFFFFFF81, 0x00000001, 0x0000001A, 0xF1194D80, 0x00000043, 0x00000005, b_area_omo3_UnkBattleFunc1, 0xFFFFFFF1, 0x0000000F, 0x0000000A, 0x00000005, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80227154_566534 -.word 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000012, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C83, 0xFE363C81, 0x00000008, 0x00000001, 0x00000002, 0x00000028, 0x00000002, 0xFE363C83, 0x00000001, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C83, 0xFE363C82, 0x00000008, 0x00000001, 0x00000003, 0x00000028, 0x00000002, 0xFE363C83, 0x00000002, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C83, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000028, 0x00000002, 0xFE363C83, 0x00000003, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C83, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000028, 0x00000002, 0xFE363C83, 0x00000005, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C83, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000028, 0x00000002, 0xFE363C83, 0x00000007, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C83, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C83, 0x00000002, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C83, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C83, 0x00000003, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C83, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C83, 0x00000003, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C83, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000028, 0x00000002, 0xFE363C83, 0x00000003, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C83, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000028, 0x00000002, 0xFE363C83, 0x00000003, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C83, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000028, 0x00000002, 0xFE363C83, 0x00000002, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C83, 0xFE363C82, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80227440_566820 -.word 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, SetPartPos, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000006, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x00080000, 0x00000043, 0x00000006, SetPartScale, 0xFFFFFF81, 0x00000006, 0xF24A7E80, 0xF24A7E80, 0xF24A7E80, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SetPartScale, 0xFFFFFF81, 0x00000006, 0xF24A7C1A, 0xF24A7C1A, 0xF24A7E80, 0x00000013, 0x00000000, 0x00000046, 0x00000001, D_80226C5C_56603C, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0x00000058, 0x00000000, 0x00000008, 0x00000001, 0x00000004, 0x00000046, 0x00000001, D_80227154_566534, 0x00000059, 0x00000000, 0x00000043, 0x00000002, EnemyCreateTargetList, 0x00018004, 0x00000043, 0x00000001, InitTargetIterator, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetOwnerID, 0xFE363C81, 0x00000043, 0x00000003, GetOwnerTarget, 0xFE363C80, 0xFE363C89, 0x0000000B, 0x00000002, 0xFE363C81, 0xFE363C80, 0x00000043, 0x00000003, ChooseNextTarget, 0x00000000, 0xFE363C80, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000003, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C8F, 0x00000001, 0x00000043, 0x00000003, ChooseNextTarget, 0x00000000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000043, 0x00000003, GetOwnerTarget, 0xFE363C80, 0xFE363C89, 0x00000043, 0x00000003, GetActorFlags, 0xFE363C80, 0xFE363C81, 0x00000010, 0x00000002, 0xFE363C81, 0x00004000, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000002, GetOwnerID, 0xFE363C80, 0x00000043, 0x00000003, GetOwnerTarget, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPartJumpGravity, 0xFFFFFF81, 0x00000006, 0xF24A7AE7, 0x00000043, 0x00000004, SetPartMoveSpeed, 0xFFFFFF81, 0x00000006, 0xF24A9680, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000001, 0x00000058, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x00000002, 0xF24A7E80, 0x00000059, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000003, GetOwnerTarget, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000004, DispatchDamageEvent, 0xFE363C80, 0x00000001, 0x00000011, 0x00000004, 0x00000001, 0x00000001, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000003, 0x00000043, 0x00000004, SetPartJumpGravity, 0xFFFFFF81, 0x00000006, 0xF24A7AE7, 0x00000043, 0x00000004, SetPartMoveSpeed, 0xFFFFFF81, 0x00000006, 0xF24A9280, 0x00000043, 0x00000008, JumpPartTo, 0xFFFFFF81, 0x00000006, 0x00000128, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000006, 0x00020000, 0x00000001, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000006, 0x00000001, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8022788C_566C6C -.word 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x00080000, 0x00000043, 0x00000006, SetPartScale, 0xFFFFFF81, 0x00000006, 0xF24A7E80, 0xF24A7E80, 0xF24A7E80, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SetPartScale, 0xFFFFFF81, 0x00000006, 0xF24A7C1A, 0xF24A7C1A, 0xF24A7E80, 0x00000013, 0x00000000, 0x00000046, 0x00000001, D_80226C5C_56603C, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, GetLastEvent, 0xFFFFFF81, 0xFE363C81, 0x00000014, 0x00000001, 0xFE363C81, 0x0000001D, 0x00000001, 0x0000000E, 0x0000001D, 0x00000001, 0x00000024, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000006, 0x00310020, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000006, 0xFE363C81, 0x00000020, 0x00000000, 0x0000001C, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000023, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0x00000058, 0x00000000, 0x00000008, 0x00000001, 0x00000004, 0x00000046, 0x00000001, D_80227154_566534, 0x00000059, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C8A, 0x0000000B, 0x00000002, 0xFE363C8A, 0x00000003, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, SetPartPos, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000006, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetPartMoveSpeed, 0xFFFFFF81, 0x00000006, 0xF24A9280, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000009, FlyPartTo, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000A, 0x00000012, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000009, FlyPartTo, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x0000000A, 0x00000000, 0x00000005, 0x00000001, 0x00000014, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000006, 0x00000001, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000006, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000006, 0x00020000, 0x00000001, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000006, 0x00000001, 0x00000001, 0x00000012, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000013, 0x00000000, 0x00000043, 0x00000003, GetLastEvent, 0xFFFFFF81, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x0000000E, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000007, 0xFE363C81, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0xFE363C81, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, GetActorSize, 0xFFFFFF81, 0xFE363C83, 0xFE363C84, 0x0000002A, 0x00000002, 0xFE363C83, 0x00000002, 0x00000027, 0x00000002, 0xFE363C81, 0xFE363C83, 0x00000027, 0x00000002, 0xFE363C82, 0x00000005, 0x0000002F, 0x00000002, 0xFE363C83, 0xF24AA280, 0x00000043, 0x0000000F, PlayEffect, 0x00000027, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000016, 0x00000001, 0x00000024, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000007, 0xFE363C81, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0xFE363C81, 0x00000008, 0x00000001, 0x0000000A, 0x0000001C, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80227D64_567144 -.word 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C81, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000003, GetActorFlags, 0xFFFFFF81, 0xFE363C89, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7AB4, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000024, 0x00000002, 0xFE363C8D, 0xFE363C8B, 0x00000027, 0x00000002, 0xFE363C8D, 0x00000028, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C8A, 0xFE363C8D, 0xFE363C8C, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x00000003, FallToGoal, 0xFFFFFF81, 0x0000000A, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x000000B4, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C82, 0x00000014, 0x00000001, 0xFE363C82, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x00000060, 0x00000024, 0x00000002, 0xFE363C86, 0x00000004, 0x00000016, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFE363C82, 0x00000048, 0x00000024, 0x00000002, 0xFE363C86, 0x00000003, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C82, 0x00000030, 0x00000024, 0x00000002, 0xFE363C86, 0x00000002, 0x0000001C, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x00000018, 0x00000024, 0x00000002, 0xFE363C86, 0x00000001, 0x00000023, 0x00000000, 0x00000058, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000005, 0x00000001, 0xFE363C86, 0x00000043, 0x0000000F, PlayEffect, 0x00000025, 0x00000002, 0xFE363C8A, 0x00000000, 0xFE363C8C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000006, 0x00000000, 0x00000059, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8280, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000028, 0x00000002, 0xFE363C84, 0xFE363C82, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000005, FlyToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000002, func_8027D32C, 0xFFFFFF81, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, RemoveActor, 0xFFFFFF81, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 - -dlabel D_802280F0_5674D0 -.word 0x00000001, 0x00590001, 0x0000000C, 0x00590000, 0x00000006, 0x00590011, 0x00000009, 0x00590001, 0x00000008, 0x00590000, 0x0000000B, 0x00590001, 0x00000005, 0x00590000, 0x00000004, 0x00590013, 0x00000003, 0x00590013, 0x00000000 - -dlabel D_8022813C_56751C -.word 0x00000001, 0x00590003, 0x0000000C, 0x00590000, 0x00000006, 0x00590011, 0x00000009, 0x00590003, 0x00000008, 0x00590000, 0x0000000B, 0x00590003, 0x00000005, 0x00590000, 0x00000004, 0x00590013, 0x00000003, 0x00590013, 0x00000000 - -dlabel D_80228188_567568 -.word 0x00000001, 0x0059000F, 0x0000000C, 0x00590010, 0x00000006, 0x00590012, 0x00000009, 0x0059000F, 0x00000008, 0x00590010, 0x0000000B, 0x0059000F, 0x00000005, 0x00590010, 0x00000004, 0x00590014, 0x00000003, 0x00590014, 0x00000000 - -dlabel D_802281D4_5675B4 -.word 0x00000001, 0x00590006, 0x0000000C, 0x00590006, 0x00000006, 0x00590006, 0x00000009, 0x00590006, 0x00000008, 0x00590006, 0x0000000B, 0x00590006, 0x00000005, 0x00590006, 0x00000004, 0x00590006, 0x00000003, 0x00590006, 0x00000000 - -dlabel D_80228220_567600 -.word 0x00000001, 0x00000003, 0x0000000C, 0x00000003, 0x00000000 - -dlabel D_80228234_567614 -.word 0x00000001, 0x00000000, 0x00000000 - -dlabel D_80228240_567620 -.word 0x00000001, 0x00000003, 0x00000002, 0x00000003, 0x00000000 - -dlabel D_80228254_567634 -.word 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000006, 0x00000032, 0x00000009, 0x0000003C, 0x00000007, 0x00000000, 0x00000004, 0x0000004B, 0x00000003, 0x00000000, 0x0000000B, 0x00000050, 0x00000005, 0x0000004B, 0x0000000A, 0x00000046, 0x00000008, 0x00000050, 0x0000001F, 0x00000000, 0x00000020, 0xFFFFFFFF, 0x00000025, 0x00000000, 0x00000022, 0x00000000, 0x00000024, 0x00000000, 0x00000023, 0x00000000, 0x00000021, 0x00000000, 0x00000026, 0x00000000, 0x00000027, 0x00000000, 0x00000029, 0xFFFFFFFF, 0x00000000 - -dlabel D_80228300_5676E0 -.word 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000006, 0x00000000, 0x00000009, 0x00000000, 0x00000004, 0x00000000, 0x00000003, 0x00000000, 0x0000000B, 0x00000000, 0x00000005, 0x00000000, 0x0000000A, 0x00000000, 0x00000008, 0x00000000, 0x0000001F, 0x00000000, 0x00000020, 0x00000000, 0x00000025, 0x00000000, 0x00000024, 0x00000000, 0x00000023, 0x00000000, 0x00000021, 0x00000000, 0x00000026, 0x00000000, 0x00000027, 0x00000000, 0x00000029, 0x00000000, 0x00000000 - -dlabel D_8022839C_56777C -.word 0x00800000, 0x01000000, 0x002000FF, D_802280F0_5674D0, D_80228220_567600, 0x00001010, 0x00000000, 0x00F40000, 0x00000000 - -dlabel D_802283C0_5677A0 -.word 0x00000000, 0x004C1908, 0x00010000, D_8022839C_56777C, D_802283E8_5677C8, D_80228254_567634, 0x324B413C, 0x5F005502, 0x202A0000, 0xF1200520 - -dlabel D_802283E8_5677C8 -.word 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_8022C454_56B834, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_8022875C_567B3C, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_80228C44_568024, 0x00000043, 0x00000003, BindNextTurn, 0xFFFFFF81, D_80228538_567918, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetIndexFromHome, 0xFFFFFF81, 0xFE363C80, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetBattleVar, 0x00000004, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000003, SetBattleVar, 0x00000005, 0x00000000, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000003, SetBattleVar, 0x00000006, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, SetBattleVar, 0x00000007, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80228538_567918 -.word 0x00000043, 0x00000002, GetBattlePhase, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x0000000A, 0x00000016, 0x00000001, 0x0000000C, 0x00000016, 0x00000001, 0x0000000B, 0x00000043, 0x00000003, SetBattleVar, 0x00000001, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802285A4_567984 -.word 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000010, 0x00000002, 0xFE363C81, 0x00041000, 0x00000043, 0x00000005, SetTargetOffset, 0xFFFFFF81, 0x00000001, 0xFFFFFFFB, 0x0000000F, 0x00000043, 0x00000005, func_8027D4C8, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000005, dup_b_area_omo3_UnkBattleFunc1, 0xFFFFFFF6, 0x00000014, 0x0000000A, 0x00000014, 0x00000012, 0x00000000, 0x00000043, 0x00000005, SetTargetOffset, 0xFFFFFF81, 0x00000001, 0xFFFFFFFC, 0x00000020, 0x00000043, 0x00000005, func_8027D4C8, 0xFFFFFF81, 0x00000001, 0xFFFFFFFF, 0xFFFFFFFC, 0x00000043, 0x00000005, dup_b_area_omo3_UnkBattleFunc1, 0xFFFFFFF1, 0x00000020, 0x00000005, 0x00000020, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetTargetOffset, 0xFFFFFF81, 0x00000001, 0xFFFFFFFB, 0x0000000F, 0x00000043, 0x00000005, func_8027D4C8, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000005, dup_b_area_omo3_UnkBattleFunc1, 0xFFFFFFF6, 0x00000014, 0x0000000A, 0x00000014, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000005, SetTargetOffset, 0xFFFFFF81, 0x00000001, 0xFFFFFFFC, 0x00000014, 0x00000043, 0x00000005, func_8027D4C8, 0xFFFFFF81, 0x00000001, 0x00000000, 0xFFFFFFFA, 0x00000043, 0x00000005, dup_b_area_omo3_UnkBattleFunc1, 0xFFFFFFF1, 0x00000016, 0x00000005, 0x00000016, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8022875C_567B3C -.word 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, RandInt, 0x00000050, 0xFE363C8A, 0x00000027, 0x00000002, 0xFE363C8A, 0x00000050, 0x00000005, 0x00000001, 0xFE363C8A, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C81, 0x00000046, 0x00000001, D_802285A4_567984, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000010, 0x00000002, 0xFE363C81, 0x0235D000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000005, 0x00000043, 0x00000003, SetActorIdleSpeed, 0xFFFFFF81, 0xF24A7E80, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_8022813C_56751C, 0x00000043, 0x00000005, SetIdleGoal, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, IdleRunToGoal, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_802280F0_5674D0, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_80228188_567568, 0x00000023, 0x00000000, 0x00000005, 0x00000001, 0x00000014, 0x00000003, 0x00000001, 0x00000002, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C81, 0x00000046, 0x00000001, D_802285A4_567984, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000002, 0x00000013, 0x00000000, 0x00000010, 0x00000002, 0xFE363C81, 0x0235D000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000002, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000005, 0x00000043, 0x00000003, SetActorIdleSpeed, 0xFFFFFF81, 0xF24A7E80, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_8022813C_56751C, 0x00000043, 0x00000005, SetIdleGoal, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, IdleRunToGoal, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_802280F0_5674D0, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_80228188_567568, 0x00000023, 0x00000000, 0x00000005, 0x00000001, 0x00000050, 0x00000003, 0x00000001, 0x00000003, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C81, 0x00000046, 0x00000001, D_802285A4_567984, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000003, 0x00000013, 0x00000000, 0x00000010, 0x00000002, 0xFE363C81, 0x0235D000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000003, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80228BEC_567FCC -.word 0x00000009, 0x00000010, 0x00000016, 0x0000001A, 0x0000001E, 0x00000020, 0x00000021, 0x00000020, 0x0000001E, 0x0000001A, 0x00000016, 0x00000010, 0x00000009, 0x00000000, 0x00000004, 0x00000006, 0x00000007, 0x00000006, 0x00000004, 0x00000000, 0x00000002, 0x00000000 - -dlabel D_80228C44_568024 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, GetLastEvent, 0xFFFFFF81, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000009, 0x0000001D, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000001, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0059000B, 0x00000046, 0x00000001, DoNormalHit, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000002, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00590006, 0x00000046, 0x00000001, DoNormalHit, 0x00000023, 0x00000000, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x0000000E, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0059000C, 0x00000025, 0x00000002, 0xFE363C82, 0x0059000D, 0x00000046, 0x00000001, DoBurnHit, 0x00000016, 0x00000001, 0x00000024, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0059000C, 0x00000025, 0x00000002, 0xFE363C82, 0x0059000D, 0x00000046, 0x00000001, DoBurnHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0059000D, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000000B, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000001, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0059000B, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000002, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00590006, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000023, 0x00000000, 0x00000016, 0x00000001, 0x00000021, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000001, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0059000B, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0059000B, 0x00000046, 0x00000001, DoDeath, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000002, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00590006, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00590008, 0x00000008, 0x00000001, 0x00000005, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0059000B, 0x00000046, 0x00000001, DoDeath, 0x00000023, 0x00000000, 0x00000016, 0x00000001, 0x0000000D, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000001, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000009, 0x00000001, 0x00000043, 0x00000004, SetDefenseTable, 0xFFFFFF81, 0x00000001, D_80228234_567614, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_80228188_567568, 0x00000043, 0x00000005, SetTargetOffset, 0xFFFFFF81, 0x00000001, 0xFFFFFFFB, 0x0000000F, 0x00000043, 0x00000005, func_8027D4C8, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetPartEventBits, 0xFFFFFF81, 0x00000001, 0x00000010, 0x00000000, 0x00000043, 0x00000004, SetActorFlagBits, 0xFFFFFF81, 0x00000400, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x0059000B, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0x00000000, 0x0000000C, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x0000001E, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFFFFFFE2, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFFFFFFC4, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFFFFFFB5, 0x00000008, 0x00000001, 0x00000001, 0x00000057, 0x00000000, 0x00000030, 0x00000001, D_80228BEC_567FCC, 0x00000005, 0x00000001, 0x00000016, 0x00000031, 0x00000001, 0xFE363C80, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x0059000F, 0x00000016, 0x00000001, 0x0000002F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0059000B, 0x00000046, 0x00000001, DoShockHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0059000B, 0x00000046, 0x00000001, DoJumpBack, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00590004, 0x00000046, 0x00000001, DoReturnHome, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A80E7, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0x00000026, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0059000B, 0x00000046, 0x00000001, DoShockHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0059000B, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000013, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000002, 0x00000043, 0x00000003, SetStatusTable, 0xFFFFFF81, D_80228254_567634, 0x00000043, 0x00000004, SetDefenseTable, 0xFFFFFF81, 0x00000001, D_80228220_567600, 0x00000043, 0x00000005, SetPartEventBits, 0xFFFFFF81, 0x00000001, 0x00001000, 0x00000001, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_802280F0_5674D0, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C8A, 0x00000011, 0x00000002, 0xFE363C8A, 0x18000000, 0x00000043, 0x00000003, EnableActorGlow, 0xFFFFFF81, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000005, SetPartEventBits, 0xFFFFFF81, 0x00000001, 0x00400000, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00590008, 0x00000046, 0x00000001, DoImmune, 0x00000013, 0x00000000, 0x0000001D, 0x00000001, 0x00000017, 0x0000001D, 0x00000001, 0x00000019, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00590007, 0x00000046, 0x00000001, DoImmune, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x0035D000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00590008, 0x00000008, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0059000F, 0x00000046, 0x00000001, DoImmune, 0x00000016, 0x00000001, 0x00000002, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00590006, 0x00000046, 0x00000001, DoImmune, 0x00000023, 0x00000000, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x0000001B, 0x00000008, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C83, 0x00000010, 0x00000002, 0xFE363C83, 0x00080000, 0x00000027, 0x00000002, 0xFE363C81, 0x00000010, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000013, 0x00000000, 0x00000010, 0x00000002, 0xFE363C83, 0x00040000, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFF2, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000013, 0x00000000, 0x00000010, 0x00000002, 0xFE363C83, 0x00001000, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFF2, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C8A, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000002, 0x00000027, 0x00000002, 0xFE363C81, 0x00000017, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000027, 0x00000002, 0xFE363C81, 0x0000002A, 0x00000013, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x0000001A, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000016, 0x00000001, 0x00000020, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000001, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0059000B, 0x00000046, 0x00000001, DoNormalHit, 0x00000008, 0x00000001, 0x0000000A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0059000B, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000002, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00590006, 0x00000046, 0x00000001, DoNormalHit, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00590008, 0x00000008, 0x00000001, 0x00000005, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0059000B, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000023, 0x00000000, 0x00000016, 0x00000001, 0x00000031, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00590001, 0x00000046, 0x00000001, DoRecover, 0x00000016, 0x00000001, 0x00000001, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0059000F, 0x00000046, 0x00000001, DoImmune, 0x00000016, 0x00000001, 0x00000002, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00590006, 0x00000046, 0x00000001, DoRecover, 0x00000023, 0x00000000, 0x00000016, 0x00000001, 0x00000039, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00590004, 0x00000025, 0x00000002, 0xFE363C82, 0x0059000B, 0x00000046, 0x00000001, DoScareAway, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0059000F, 0x00000046, 0x00000001, DoImmune, 0x00000023, 0x00000000, 0x00000016, 0x00000001, 0x0000003A, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00590016, 0x00000046, 0x00000001, DoAirLift, 0x00000016, 0x00000001, 0x00000001, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0059000F, 0x00000046, 0x00000001, DoAirLift, 0x00000016, 0x00000001, 0x00000002, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0059000F, 0x00000046, 0x00000001, DoAirLift, 0x00000023, 0x00000000, 0x00000016, 0x00000001, 0x00000016, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00590016, 0x00000016, 0x00000001, 0x00000001, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0059000F, 0x00000016, 0x00000001, 0x00000002, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0059000F, 0x00000023, 0x00000000, 0x00000046, 0x00000001, DoBlowAway, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000001F, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00590001, 0x00000016, 0x00000001, 0x00000001, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0059000F, 0x00000016, 0x00000001, 0x00000002, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x0059000F, 0x00000023, 0x00000000, 0x00000046, 0x00000001, DoImmune, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0xFFFFFFFF, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80229E34_569214 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, GetBattlePhase, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00590006, 0x00000012, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000009, 0xFE363C80, 0x00000028, 0x00000002, 0xFE363C80, 0x00000001, 0x0000000D, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000009, 0xFE363C80, 0x00000043, 0x00000005, AddActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000002, 0x00000043, 0x00000004, SetAnimationRate, 0xFFFFFF81, 0x00000001, 0xF24A8680, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, SetAnimationRate, 0xFFFFFF81, 0x00000001, 0xF24A7E80, 0x00000043, 0x00000004, RemoveActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000005, AddActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000002, 0x00000043, 0x00000004, SetAnimationRate, 0xFFFFFF81, 0x00000001, 0xF24A8680, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, SetAnimationRate, 0xFFFFFF81, 0x00000001, 0xF24A7E80, 0x00000043, 0x00000004, RemoveActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000002, 0x00000000, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000003E2, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x0059000F, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0x00000000, 0x0000000C, 0x00000000, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x00000005, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000F, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8680, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000020BA, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00590001, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_802280F0_5674D0, 0x00000043, 0x00000004, SetDefenseTable, 0xFFFFFF81, 0x00000001, D_80228220_567600, 0x00000043, 0x00000005, SetTargetOffset, 0xFFFFFF81, 0x00000001, 0xFFFFFFFC, 0x00000020, 0x00000043, 0x00000005, func_8027D4C8, 0xFFFFFF81, 0x00000001, 0xFFFFFFFF, 0xFFFFFFFC, 0x00000043, 0x00000005, SetPartEventBits, 0xFFFFFF81, 0x00000001, 0x00000010, 0x00000001, 0x00000043, 0x00000004, SetActorFlagBits, 0xFFFFFF81, 0x00000400, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000003F, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000004, func_8024ECF8, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00590007, 0x00000008, 0x00000001, 0x0000000A, 0x00000056, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000004, 0x00000043, 0x0000000F, PlayEffect, 0x0000001D, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000020, 0x00000004, 0x00000000, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x0000000F, PlayEffect, 0x0000001D, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000020, 0x00000004, 0x00000000, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x0000000F, PlayEffect, 0x0000001D, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000020, 0x00000004, 0x00000000, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00002021, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00590006, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, func_8024ECF8, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000020D3, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000004, 0x00000010, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0xFFFFFFD8, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24ABA80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000002, GetBattlePhase, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000005, 0x00000043, 0x00000002, SetBattleCamZoom, 0x0000012C, 0x00000043, 0x00000002, SetBattleCamOffsetZ, 0x00000014, 0x00000043, 0x00000002, MoveBattleCamOver, 0x0000000A, 0x00000043, 0x00000004, func_8024ECF8, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00590008, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000002, ResetAllActorSounds, 0xFFFFFF81, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x000000B4, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00590016, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00590016, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8280, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00590016, 0x00000008, 0x00000001, 0x00000006, 0x00000028, 0x00000002, 0xFE363C81, 0x00000014, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000001, YieldTurn, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x000000B4, 0x00000043, 0x00000005, AddActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000002, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00590016, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00590001, 0x00000043, 0x00000004, RemoveActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetPartYaw, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24ABA80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000002, ResetAllActorSounds, 0xFFFFFF81, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x0000FFFF, 0x00000000, 0x00000004, 0x00000020, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000028, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A81B4, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000A, 0x00000000, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000006, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00590008, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000001, YieldTurn, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00590004, 0x00000046, 0x00000001, DoReturnHome, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00590001, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8022AB88_569F68 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000000E, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000014, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000002D8, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x0000000A, 0x00000043, 0x0000000F, PlayEffect, 0x0000006B, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xF24A7E80, 0x0000002D, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00590015, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000014, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00590007, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7E80, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000010, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000020BA, 0x00000043, 0x00000003, b_area_omo3_StartRumbleWithParams, 0x00000080, 0x0000000A, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x00000005, 0xF24A7C80, 0x00000057, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00590006, 0x00000043, 0x00000003, SetStatusTable, 0xFFFFFF81, D_80228300_5676E0, 0x00000043, 0x00000004, SetDefenseTable, 0xFFFFFF81, 0x00000001, D_80228240_567620, 0x00000043, 0x00000005, SetPartEventBits, 0xFFFFFF81, 0x00000001, 0x00001000, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000002, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_802281D4_5675B4, 0x00000043, 0x00000003, EnableActorGlow, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000005, SetPartEventBits, 0xFFFFFF81, 0x00000001, 0x00400000, 0x00000001, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000003F, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000004, func_8024ECF8, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000005, 0x00000001, 0x00000014, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x0000037C, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000004, 0x00000010, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x0000000D, 0x00000002, 0xFE363C80, 0xFE363C83, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x0000001E, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0xFFFFFF38, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24ABA80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C8A, 0x00000011, 0x00000002, 0xFE363C8A, 0x18000000, 0x00000043, 0x00000003, EnableActorGlow, 0xFFFFFF81, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000005, SetPartEventBits, 0xFFFFFF81, 0x00000001, 0x00400000, 0x00000000, 0x00000043, 0x00000001, YieldTurn, 0x00000043, 0x00000002, ResetAllActorSounds, 0xFFFFFF81, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0x0000012C, 0x00000000, 0x00000000, 0x00000043, 0x00000005, AddActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000002, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24ABA80, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00590008, 0x00000043, 0x00000004, RemoveActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetStatusTable, 0xFFFFFF81, D_80228254_567634, 0x00000043, 0x00000004, SetDefenseTable, 0xFFFFFF81, 0x00000001, D_80228220_567600, 0x00000043, 0x00000005, SetPartEventBits, 0xFFFFFF81, 0x00000001, 0x00001000, 0x00000001, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_802280F0_5674D0, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x0000001E, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24ABA80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C8A, 0x00000000, 0x0000FFFF, 0x00000000, 0x0000000A, 0x00000020, 0x00000014, 0x00000001, 0xFE363C8A, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000056, 0x00000000, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0x00000000, 0x00000010, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x0000003C, 0x00000027, 0x00000002, 0xFE363C80, 0x00000012, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7E80, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000032, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000001E, 0x00000000, 0x00000001, 0x00000000, 0x00000028, 0x00000002, 0xFE363C80, 0x00000028, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000014, 0x00000000, 0x00000001, 0x00000000, 0x00000028, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000A, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000001, YieldTurn, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C8A, 0x00000011, 0x00000002, 0xFE363C8A, 0x18000000, 0x00000043, 0x00000003, EnableActorGlow, 0xFFFFFF81, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000005, SetPartEventBits, 0xFFFFFF81, 0x00000001, 0x00400000, 0x00000000, 0x00000043, 0x00000002, ResetAllActorSounds, 0xFFFFFF81, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0x0000012C, 0x00000000, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x00590004, 0x00000046, 0x00000001, DoReturnHome, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00590001, 0x00000043, 0x00000003, SetStatusTable, 0xFFFFFF81, D_80228254_567634, 0x00000043, 0x00000004, SetDefenseTable, 0xFFFFFF81, 0x00000001, D_80228220_567600, 0x00000043, 0x00000005, SetPartEventBits, 0xFFFFFF81, 0x00000001, 0x00001000, 0x00000001, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_802280F0_5674D0, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8022B8AC_56AC8C -.word 0x00000043, 0x00000002, EnemyCreateTargetList, 0x00008002, 0x00000043, 0x00000001, InitTargetIterator, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000003, GetOwnerTarget, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000003, GetOriginalActorType, 0xFE363C80, 0xFE363C82, 0x00000014, 0x00000001, 0xFE363C82, 0x0000001D, 0x00000001, 0x00000010, 0x0000001D, 0x00000001, 0x00000049, 0x00000024, 0x00000002, 0xFE363C8A, 0xFFFFFFFF, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, ChooseNextTarget, 0x00000000, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E281, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E282, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E283, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E284, 0x00000000, 0x00000043, 0x00000002, EnemyCreateTargetList, 0x00008002, 0x00000043, 0x00000001, InitTargetIterator, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetOwnerTarget, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000003, GetIndexFromHome, 0xFE363C80, 0xFE363C81, 0x0000002B, 0x00000002, 0xFE363C81, 0x00000004, 0x00000014, 0x00000001, 0xFE363C81, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E281, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFBD3E282, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFBD3E283, 0x00000001, 0x00000016, 0x00000001, 0x00000003, 0x00000024, 0x00000002, 0xFBD3E284, 0x00000001, 0x00000023, 0x00000000, 0x00000043, 0x00000003, ChooseNextTarget, 0x00000000, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E281, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E282, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E283, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000002, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E284, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000003, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0xFFFFFFFF, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8022BBBC_56AF9C -.word 0x00000000, 0xFFFFFC18, 0x00000000 - -dlabel D_8022BBC8_56AFA8 -.word D_802283C0_5677A0, D_8022BBBC_56AF9C, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8022BBE4_56AFC4 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000000E, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000014, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000002E5, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00590002, 0x00000008, 0x00000001, 0x00000014, 0x00000005, 0x00000001, 0x00000002, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00590002, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000002E5, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x000000B4, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00590009, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00590002, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000002E5, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00590009, 0x00000008, 0x00000001, 0x00000008, 0x00000006, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x0000000F, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000011, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000001E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x0000206D, 0x00000057, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00590016, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7E80, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000010, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SummonEnemy, D_8022BBC8_56AFA8, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000027, 0x00000002, 0xFE363C81, 0x000000C8, 0x00000043, 0x00000005, SetActorPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000003, SetGoalToIndex, 0xFE363C80, 0xFE363C8A, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFE363C80, 0x000020D3, 0x00000043, 0x00000005, SetActorSounds, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFE363C80, 0x00000001, 0x00590006, 0x00000043, 0x00000003, SetActorSpeed, 0xFE363C80, 0xF24A9280, 0x00000043, 0x00000004, RunToGoal, 0xFE363C80, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFE363C80, 0x00000001, 0x00590008, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, SetAnimation, 0xFE363C80, 0x00000001, 0x00590001, 0x00000043, 0x00000005, GetActorPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000005, ForceHomePos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000002, HPBarToHome, 0xFE363C80, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000001, 0xFE363C81, 0x00000014, 0x00000001, 0xFE363C81, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFE363C80, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000004, SetActorVar, 0xFE363C80, 0x00000001, 0x00000002, 0x00000023, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C81, 0x00000043, 0x00000004, SetActorVar, 0xFE363C80, 0x00000002, 0xFE363C81, 0x00000014, 0x00000001, 0xFE363C81, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetBattleVar, 0x00000004, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, SetBattleVar, 0x00000004, 0xFE363C80, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000003, GetBattleVar, 0x00000005, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, SetBattleVar, 0x00000005, 0xFE363C80, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000003, GetBattleVar, 0x00000006, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, SetBattleVar, 0x00000006, 0xFE363C80, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, GetBattleVar, 0x00000007, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, SetBattleVar, 0x00000007, 0xFE363C80, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8022C204_56B5E4 -.word 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000043, 0x00000002, EnemyCreateTargetList, 0x00008002, 0x00000043, 0x00000001, InitTargetIterator, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetOwnerTarget, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000003, GetOriginalActorType, 0xFE363C80, 0xFE363C82, 0x00000014, 0x00000001, 0xFE363C82, 0x00000016, 0x00000001, 0x0000004C, 0x00000043, 0x00000003, GetStatusFlags, 0xFE363C80, 0xFE363C83, 0x00000011, 0x00000002, 0xFE363C83, 0x0035D000, 0x00000043, 0x00000004, GetActorVar, 0xFE363C80, 0x00000000, 0xFE363C83, 0x0000000A, 0x00000002, 0xFE363C83, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFE363C80, 0x00000001, 0xFE363C83, 0x00000014, 0x00000001, 0xFE363C83, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C83, 0x00000014, 0x00000001, 0xFE363C83, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetBattleVar, 0x00000004, 0xFE363C84, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000003, GetBattleVar, 0x00000005, 0xFE363C84, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000003, GetBattleVar, 0x00000006, 0xFE363C84, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, GetBattleVar, 0x00000007, 0xFE363C84, 0x00000023, 0x00000000, 0x0000000C, 0x00000002, 0xFE363C84, 0x00000002, 0x00000027, 0x00000002, 0xFE363C89, 0x00000001, 0x00000013, 0x00000000, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000002, 0x00000023, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, ChooseNextTarget, 0x00000000, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8022C454_56B834 -.word 0x00000043, 0x00000002, GetBattlePhase, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, SetBattleVar, 0x00000001, 0x00000001, 0x00000046, 0x00000001, D_80229E34_569214, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetBattleVar, 0x00000001, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000001, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetBattleVar, 0x00000004, 0xFE363C81, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000003, GetBattleVar, 0x00000005, 0xFE363C81, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000003, GetBattleVar, 0x00000006, 0xFE363C81, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, GetBattleVar, 0x00000007, 0xFE363C81, 0x00000023, 0x00000000, 0x0000000F, 0x00000002, 0xFE363C81, 0x00000002, 0x00000043, 0x00000003, RandInt, 0x000003E8, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x0000012C, 0x00000043, 0x00000003, SetBattleVar, 0x00000001, 0x00000002, 0x00000046, 0x00000001, D_8022AB88_569F68, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetBattleVar, 0x00000001, 0x00000001, 0x00000046, 0x00000001, D_80229E34_569214, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000003, RandInt, 0x000003E8, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x0000012C, 0x00000043, 0x00000003, SetBattleVar, 0x00000001, 0x00000002, 0x00000046, 0x00000001, D_8022AB88_569F68, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetBattleVar, 0x00000001, 0x00000001, 0x00000046, 0x00000001, D_80229E34_569214, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000023, 0x00000000, 0x00000046, 0x00000001, D_8022B8AC_56AC8C, 0x0000000A, 0x00000002, 0xFE363C8A, 0xFFFFFFFF, 0x00000043, 0x00000003, RandInt, 0x000003E8, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x0000012C, 0x00000043, 0x00000003, SetBattleVar, 0x00000001, 0x00000002, 0x00000046, 0x00000001, D_8022AB88_569F68, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetBattleVar, 0x00000001, 0x00000001, 0x00000046, 0x00000001, D_80229E34_569214, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000046, 0x00000001, D_8022C204_56B5E4, 0x00000014, 0x00000001, 0xFE363C89, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000003, RandInt, 0x000003E8, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x00000190, 0x00000043, 0x00000003, SetBattleVar, 0x00000001, 0x00000001, 0x00000046, 0x00000001, D_8022BBE4_56AFC4, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000003, RandInt, 0x000003E8, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x000000C8, 0x00000043, 0x00000003, SetBattleVar, 0x00000001, 0x00000001, 0x00000046, 0x00000001, D_8022BBE4_56AFC4, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, RandInt, 0x000003E8, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x00000064, 0x00000043, 0x00000003, SetBattleVar, 0x00000001, 0x00000001, 0x00000046, 0x00000001, D_8022BBE4_56AFC4, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, RandInt, 0x000003E8, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x0000012C, 0x00000043, 0x00000003, SetBattleVar, 0x00000001, 0x00000002, 0x00000046, 0x00000001, D_8022AB88_569F68, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetBattleVar, 0x00000001, 0x00000001, 0x00000046, 0x00000001, D_80229E34_569214, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000001, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetBattleVar, 0x00000004, 0xFE363C81, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000003, GetBattleVar, 0x00000005, 0xFE363C81, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000003, GetBattleVar, 0x00000006, 0xFE363C81, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, GetBattleVar, 0x00000007, 0xFE363C81, 0x00000023, 0x00000000, 0x0000000F, 0x00000002, 0xFE363C81, 0x00000002, 0x00000043, 0x00000003, RandInt, 0x000003E8, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x0000012C, 0x00000043, 0x00000003, SetBattleVar, 0x00000001, 0x00000002, 0x00000046, 0x00000001, D_8022AB88_569F68, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetBattleVar, 0x00000001, 0x00000001, 0x00000046, 0x00000001, D_80229E34_569214, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000002, 0x00000046, 0x00000001, D_80229E34_569214, 0x00000002, 0x00000000, 0x00000023, 0x00000000, 0x00000046, 0x00000001, D_8022B8AC_56AC8C, 0x0000000A, 0x00000002, 0xFE363C8A, 0xFFFFFFFF, 0x00000046, 0x00000001, D_80229E34_569214, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000046, 0x00000001, D_8022C204_56B5E4, 0x00000014, 0x00000001, 0xFE363C89, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000003, RandInt, 0x000003E8, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x00000190, 0x00000046, 0x00000001, D_8022BBE4_56AFC4, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000003, RandInt, 0x000003E8, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x000000C8, 0x00000046, 0x00000001, D_8022BBE4_56AFC4, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, RandInt, 0x000003E8, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x00000064, 0x00000046, 0x00000001, D_8022BBE4_56AFC4, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000046, 0x00000001, D_80229E34_569214, 0x00000016, 0x00000001, 0x00000002, 0x00000046, 0x00000001, D_8022AB88_569F68, 0x00000023, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000003, SetBattleVar, 0x00000001, 0x00000001, 0x00000046, 0x00000001, D_80229E34_569214, 0x00000016, 0x00000001, 0x00000002, 0x00000046, 0x00000001, D_8022AB88_569F68, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8022CCF0_56C0D0 -.word 0x00000001, 0x00000000, 0x0000000C, 0x00000000, 0x00000000 - -dlabel D_8022CD04_56C0E4 -.word 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000006, 0x00000046, 0x00000009, 0x00000032, 0x00000007, 0x00000000, 0x00000004, 0x0000005A, 0x00000003, 0x00000064, 0x0000000B, 0x00000032, 0x00000005, 0x0000005A, 0x0000000A, 0x0000004B, 0x00000008, 0x0000005A, 0x0000001F, 0x00000000, 0x00000020, 0x00000000, 0x00000025, 0x00000000, 0x00000022, 0x00000000, 0x00000024, 0x00000000, 0x00000023, 0x00000000, 0x00000021, 0x00000000, 0x00000026, 0x00000001, 0x00000027, 0x00000000, 0x00000029, 0x00000000, 0x00000000 - -dlabel D_8022CDB0_56C190 -.word 0x00800000, 0x01000000, 0x001800FF, D_8022CDFC_56C1DC, D_8022CCF0_56C0D0, 0x00000000, 0x00000000, 0xFFF60000, 0x00000000 - -dlabel D_8022CDD4_56C1B4 -.word 0x00000000, 0x001F0E07, 0x00010000, D_8022CDB0_56C190, D_8022CE48_56C228, D_8022CD04_56C0E4, 0x3C555050, 0x5F006401, 0x1C180000, 0xF6140A14 - -dlabel D_8022CDFC_56C1DC -.word 0x00000001, 0x003B0001, 0x0000000C, 0x003B0000, 0x00000006, 0x003B0012, 0x00000009, 0x003B0001, 0x00000008, 0x003B0000, 0x0000000B, 0x003B0001, 0x00000005, 0x003B0000, 0x00000004, 0x003B0013, 0x00000003, 0x003B0013, 0x00000000 - -dlabel D_8022CE48_56C228 -.word 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_8022E794_56DB74, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_8022CE94_56C274, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_8022D008_56C3E8, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8022CE94_56C274 -.word 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00001000, 0x00000043, 0x00000005, SetTargetOffset, 0xFFFFFF81, 0x00000001, 0xFFFFFFFC, 0x0000000E, 0x00000043, 0x00000005, func_8027D4C8, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000005, dup2_b_area_omo3_UnkBattleFunc1, 0xFFFFFFF6, 0x0000000D, 0x0000000A, 0x0000000D, 0x00000012, 0x00000000, 0x00000043, 0x00000005, SetTargetOffset, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000018, 0x00000043, 0x00000005, func_8027D4C8, 0xFFFFFF81, 0x00000001, 0xFFFFFFFF, 0xFFFFFFF6, 0x00000043, 0x00000005, dup2_b_area_omo3_UnkBattleFunc1, 0xFFFFFFF6, 0x00000014, 0x0000000A, 0x00000014, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8022CFA4_56C384 -.word 0x00000043, 0x00000002, ResetAllActorSounds, 0xFFFFFF81, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B0003, 0x00000046, 0x00000001, DoReturnHome, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8022D008_56C3E8 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, GetLastEvent, 0xFFFFFF81, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000009, 0x0000001D, 0x00000001, 0x0000000A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000C, 0x00000046, 0x00000001, DoNormalHit, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x0000000E, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000D, 0x00000025, 0x00000002, 0xFE363C82, 0x003B000E, 0x00000046, 0x00000001, DoBurnHit, 0x00000016, 0x00000001, 0x00000024, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000D, 0x00000025, 0x00000002, 0xFE363C82, 0x003B000E, 0x00000046, 0x00000001, DoBurnHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000E, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000000B, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000C, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000016, 0x00000001, 0x00000021, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000C, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000C, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000002F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000C, 0x00000046, 0x00000001, DoShockHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000C, 0x00000046, 0x00000001, DoJumpBack, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8A80, 0x00000046, 0x00000001, D_8022CFA4_56C384, 0x00000016, 0x00000001, 0x00000026, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000C, 0x00000046, 0x00000001, DoShockHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000C, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x0000001D, 0x00000001, 0x00000017, 0x0000001D, 0x00000001, 0x00000019, 0x0000001D, 0x00000001, 0x0000001F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B0001, 0x00000046, 0x00000001, DoImmune, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000020, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000C, 0x00000046, 0x00000001, DoNormalHit, 0x00000008, 0x00000001, 0x0000000A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000C, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000031, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B0001, 0x00000046, 0x00000001, DoRecover, 0x00000016, 0x00000001, 0x00000039, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B0003, 0x00000025, 0x00000002, 0xFE363C82, 0x003B0014, 0x00000046, 0x00000001, DoScareAway, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000003A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000C, 0x00000046, 0x00000001, DoAirLift, 0x00000016, 0x00000001, 0x00000016, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B000C, 0x00000046, 0x00000001, DoBlowAway, 0x00000002, 0x00000000, 0x0000001C, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8022D4E4_56C8C4 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000003F, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000014, 0x00000043, 0x00000004, func_8024ECF8, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0003, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8A80, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000032, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000010, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000002, 0x000002EF, 0x00000000, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000000, 0x000020BA, 0x000003B4, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000004, 0x0000000A, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9280, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0004, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0005, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9280, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7C80, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C8A, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, ResetAllActorSounds, 0xFFFFFF81, 0x00000028, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x000000B4, 0x00000043, 0x00000005, AddActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000002, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8A80, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B0004, 0x00000046, 0x00000001, DoReturnHome, 0x00000043, 0x00000004, RemoveActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0001, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000002EF, 0x00000057, 0x00000000, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000000, 0x000020BA, 0x000003B4, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000004, 0x0000000A, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9280, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0004, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0005, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000020, 0x00000043, 0x00000002, ResetAllActorSounds, 0xFFFFFF81, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x0000000F, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A81B4, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000A, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0001, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9280, 0x00000046, 0x00000001, D_8022CFA4_56C384, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8022DC0C_56CFEC -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000003F, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000014, 0x00000043, 0x00000004, func_8024ECF8, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000234, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0009, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0003, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8680, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000050, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000000, 0x000020BA, 0x000003B4, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000004, 0x0000000A, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0004, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8E80, 0x00000028, 0x00000002, 0xFE363C80, 0x00000028, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000010, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9280, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0009, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000C, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B000A, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7DB4, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000018, 0x00000000, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0005, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9280, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7C80, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000001, 0x00000000, 0x00000028, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x0000000F, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x000000B4, 0x00000043, 0x00000005, AddActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000002, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9280, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B0004, 0x00000046, 0x00000001, DoReturnHome, 0x00000043, 0x00000004, RemoveActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0001, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9280, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0009, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000009, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B000A, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7DB4, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000012, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00000020, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x0000000F, 0x00000056, 0x00000000, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0x00000000, 0x0000000E, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0x00000000, 0x00000005, 0x00000001, 0x00000014, 0x00000028, 0x00000002, 0xFE363C83, 0x0000001E, 0x0000000C, 0x00000002, 0xFE363C83, 0x00000000, 0x00000027, 0x00000002, 0xFE363C83, 0x00000168, 0x00000013, 0x00000000, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C83, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000002, GetBattleFlags, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x80000000, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000003, GetLastDamage, 0x00000000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000028, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7DB4, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000014, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000349, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000749, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0009, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0007, 0x00000008, 0x00000001, 0x0000000F, 0x00000004, 0x00000001, 0x00000002, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000028, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7DB4, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000014, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000020E4, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0010, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000020C3, 0x00000043, 0x00000005, AddActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000002, 0x00000043, 0x00000003, RandInt, 0x00000064, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x00000032, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0011, 0x00000012, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0013, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000019, 0x00000043, 0x00000004, RemoveActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x000000B4, 0x00000003, 0x00000001, 0x00000002, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9280, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x003B0004, 0x00000046, 0x00000001, DoReturnHome, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x003B0001, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8022E794_56DB74 -.word 0x00000043, 0x00000003, RandInt, 0x00000001, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000046, 0x00000001, D_8022D4E4_56C8C4, 0x00000012, 0x00000000, 0x00000046, 0x00000001, D_8022DC0C_56CFEC, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8022E7F0_56DBD0 -.word 0x0000001E, 0x00000000, 0x0000000A - -dlabel D_8022E7FC_56DBDC -.word D_80218EBC_55829C, D_8022E7F0_56DBD0, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8022E818_56DBF8 -.word D_8021D22C_55C60C, 0x00000001, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8022E834_56DC14 -.word D_8021D22C_55C60C, 0x00000001, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021D22C_55C60C, 0x00000002, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8022E86C_56DC4C -.word D_8021EC38_55E018, 0x00000001, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021EC38_55E018, 0x00000002, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8022E8A4_56DC84 -.word D_8021F7FC_55EBDC, 0x00000001, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021F7FC_55EBDC, 0x00000002, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8022E8DC_56DCBC -.word D_8021F7FC_55EBDC, 0x00000000, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021F7FC_55EBDC, 0x00000001, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021F7FC_55EBDC, 0x00000002, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021F7FC_55EBDC, 0x00000003, 0x00000007, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8022E94C_56DD2C -.word D_802211B8_560598, 0x00000001, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_802211B8_560598, 0x00000002, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8022E984_56DD64 -.word D_802211B8_560598, 0x00000001, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8022E9A0_56DD80 -.word D_80222FF0_5623D0, 0x00000001, 0x0000000A, 0x00000000, 0x00000001, 0x00000000, 0x00000000, D_80222FF0_5623D0, 0x00000002, 0x00000009, 0x00000000, 0x00000001, 0x00000000, 0x00000000 - -dlabel D_8022E9D8_56DDB8 -.word D_802283C0_5677A0, 0x00000001, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_802283C0_5677A0, 0x00000002, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8022EA10_56DDF0 -.word D_8022CDD4_56C1B4, 0x00000001, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8022EE60_56E240, 0x00000001, D_8022E7FC_56DBDC, D_8021B4A0_55A880, 0x00000000, D_8022EE48_56E228, 0x00000001, D_8022E818_56DBF8, D_8021B62C_55AA0C, 0x00000000, D_8022EE2C_56E20C, 0x00000002, D_8022E834_56DC14, D_8021B62C_55AA0C, 0x00000000, D_8022EE10_56E1F0, 0x00000002, D_8022E86C_56DC4C, D_8021B62C_55AA0C, 0x00000000, D_8022EDF4_56E1D4, 0x00000002, D_8022E8A4_56DC84, D_8021B62C_55AA0C, 0x00000000, D_8022EDD8_56E1B8, 0x00000004, D_8022E8DC_56DCBC, D_8021B62C_55AA0C, 0x00000000, D_8022EDB8_56E198, 0x00000002, D_8022E94C_56DD2C, D_8021B62C_55AA0C, 0x00000000, D_8022ED98_56E178, 0x00000001, D_8022E984_56DD64, D_8021B62C_55AA0C, 0x00000000, D_8022ED80_56E160, 0x00000002, D_8022E9A0_56DD80, D_8021B62C_55AA0C, 0x00000000, D_8022ED64_56E144, 0x00000002, D_8022E9D8_56DDB8, D_8021B62C_55AA0C, 0x00000000, D_8022ED58_56E138, 0x00000001, D_8022EA10_56DDF0, D_8021B398_55A778, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8022EEB4_56E294, D_8021B398_55A778, D_8022EEAC_56E28C, D_8021B40C_55A7EC, D_8022EEA4_56E284, D_8021B4A0_55A880, D_8022EE9C_56E27C, D_8021B51C_55A8FC, D_8022EE94_56E274, D_8021B62C_55AA0C, D_8022EE8C_56E26C, D_8021CD70_55C150, D_8022EE84_56E264, D_8021CE1C_55C1FC, D_8022EE7C_56E25C, D_8021D09C_55C47C, D_8022EE74_56E254, D_8021D11C_55C4FC, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/battle/area_omo3/56DF90.rodata.s b/ver/us/asm/data/battle/area_omo3/56DF90.rodata.s deleted file mode 100644 index 983431843a..0000000000 --- a/ver/us/asm/data/battle/area_omo3/56DF90.rodata.s +++ /dev/null @@ -1,168 +0,0 @@ -.include "macro.inc" - -.section .rodata - -dlabel D_8022EBB0_56DF90 -.word 0x6F6D6F5F, 0x62670000 - -dlabel D_8022EBB8_56DF98 -.word 0x6F6D6F5F, 0x62743031, 0x5F686974, 0x00000000 - -dlabel D_8022EBC8_56DFA8 -.word 0x6F6D6F5F, 0x62743031, 0x5F736861, 0x70650000 - -dlabel D_8022EBD8_56DFB8 -.word 0x6F6D6F5F, 0x74657800 - -dlabel D_8022EBE0_56DFC0 -.word 0x6F6D6F5F, 0x62670000 - -dlabel D_8022EBE8_56DFC8 -.word 0x6F6D6F5F, 0x62743032, 0x5F686974, 0x00000000 - -dlabel D_8022EBF8_56DFD8 -.word 0x6F6D6F5F, 0x62743032, 0x5F736861, 0x70650000 - -dlabel D_8022EC08_56DFE8 -.word 0x6F6D6F5F, 0x74657800 - -dlabel D_8022EC10_56DFF0 -.word 0x6F6D6F5F, 0x62670000 - -dlabel D_8022EC18_56DFF8 -.word 0x6F6D6F5F, 0x62743033, 0x5F686974, 0x00000000 - -dlabel D_8022EC28_56E008 -.word 0x6F6D6F5F, 0x62743033, 0x5F736861, 0x70650000 - -dlabel D_8022EC38_56E018 -.word 0x6F6D6F5F, 0x74657800 - -dlabel D_8022EC40_56E020 -.word 0x6F6D6F5F, 0x62670000 - -dlabel D_8022EC48_56E028 -.word 0x6F6D6F5F, 0x62743033, 0x5F686974, 0x00000000 - -dlabel D_8022EC58_56E038 -.word 0x6F6D6F5F, 0x62743033, 0x5F736861, 0x70650000 - -dlabel D_8022EC68_56E048 -.word 0x6F6D6F5F, 0x74657800 - -dlabel D_8022EC70_56E050 -.word 0x6F6D6F5F, 0x62670000 - -dlabel D_8022EC78_56E058 -.word 0x6F6D6F5F, 0x62743034, 0x5F686974, 0x00000000 - -dlabel D_8022EC88_56E068 -.word 0x6F6D6F5F, 0x62743034, 0x5F736861, 0x70650000 - -dlabel D_8022EC98_56E078 -.word 0x6F6D6F5F, 0x74657800 - -dlabel D_8022ECA0_56E080 -.word 0x6F6D6F5F, 0x62670000 - -dlabel D_8022ECA8_56E088 -.word 0x6F6D6F5F, 0x62743035, 0x5F686974, 0x00000000 - -dlabel D_8022ECB8_56E098 -.word 0x6F6D6F5F, 0x62743035, 0x5F736861, 0x70650000 - -dlabel D_8022ECC8_56E0A8 -.word 0x6F6D6F5F, 0x74657800 - -dlabel D_8022ECD0_56E0B0 -.word 0x6F6D6F5F, 0x62670000 - -dlabel D_8022ECD8_56E0B8 -.word 0x6F6D6F5F, 0x62743035, 0x5F686974, 0x00000000 - -dlabel D_8022ECE8_56E0C8 -.word 0x6F6D6F5F, 0x62743035, 0x5F736861, 0x70650000 - -dlabel D_8022ECF8_56E0D8 -.word 0x6F6D6F5F, 0x74657800 - -dlabel D_8022ED00_56E0E0 -.word 0x6F6D6F5F, 0x62670000 - -dlabel D_8022ED08_56E0E8 -.word 0x6F6D6F5F, 0x62743036, 0x5F686974, 0x00000000 - -dlabel D_8022ED18_56E0F8 -.word 0x6F6D6F5F, 0x62743036, 0x5F736861, 0x70650000 - -dlabel D_8022ED28_56E108 -.word 0x6F6D6F5F, 0x74657800 - -dlabel D_8022ED30_56E110 -.word 0x6F6D6F5F, 0x62743037, 0x5F686974, 0x00000000 - -dlabel D_8022ED40_56E120 -.word 0x6F6D6F5F, 0x62743037, 0x5F736861, 0x70650000 - -dlabel D_8022ED50_56E130 -.word 0x6F6D6F5F, 0x74657800 - -dlabel D_8022ED58_56E138 -.word 0x83778343, 0x837A815B, 0x00000000 - -dlabel D_8022ED64_56E144 -.word 0x83678351, 0x836D8352, 0x78825181, 0x69837381, 0x5B836082, 0xD682F181, 0x6A000000 - -dlabel D_8022ED80_56E160 -.word 0x83548393, 0x837B7882, 0x51816983, 0x73815B83, 0x6082D682, 0xF1816A00 - -dlabel D_8022ED98_56E178 -.word 0x836E8393, 0x837D815B, 0x8375838D, 0x83588169, 0x8373815B, 0x836082D6, 0x82F1816A, 0x00000000 - -dlabel D_8022EDB8_56E198 -.word 0x836E8393, 0x837D815B, 0x8375838D, 0x83587882, 0x51816983, 0x73815B83, 0x6082D682, 0xF1816A00 - -dlabel D_8022EDD8_56E1B8 -.word 0x83608387, 0x838D837B, 0x83937882, 0x53816983, 0x73815B83, 0x6082D682, 0xF1816A00 - -dlabel D_8022EDF4_56E1D4 -.word 0x83608387, 0x838D837B, 0x83937882, 0x51816983, 0x73815B83, 0x6082D682, 0xF1816A00 - -dlabel D_8022EE10_56E1F0 -.word 0x834B837B, 0x839382D6, 0x82A27882, 0x51816983, 0x73815B83, 0x6082D682, 0xF1816A00 - -dlabel D_8022EE2C_56E20C -.word 0x834E838A, 0x837B815B, 0x78825181, 0x69837381, 0x5B836082, 0xD682F181, 0x6A000000 - -dlabel D_8022EE48_56E228 -.word 0x834E838A, 0x837B815B, 0x81698373, 0x815B8360, 0x82D682F1, 0x816A0000 - -dlabel D_8022EE60_56E240 -.word 0x83728362, 0x834F834A, 0x83938365, 0x838982AD, 0x82F10000 - -dlabel D_8022EE74_56E254 -.word 0x6F6D6F5F, 0x30370000 - -dlabel D_8022EE7C_56E25C -.word 0x6F6D6F5F, 0x30360000 - -dlabel D_8022EE84_56E264 -.word 0x6F6D6F5F, 0x30356200 - -dlabel D_8022EE8C_56E26C -.word 0x6F6D6F5F, 0x30350000 - -dlabel D_8022EE94_56E274 -.word 0x6F6D6F5F, 0x30340000 - -dlabel D_8022EE9C_56E27C -.word 0x6F6D6F5F, 0x30336200 - -dlabel D_8022EEA4_56E284 -.word 0x6F6D6F5F, 0x30330000 - -dlabel D_8022EEAC_56E28C -.word 0x6F6D6F5F, 0x30320000 - -dlabel D_8022EEB4_56E294 -.word 0x6F6D6F5F, 0x30310000, 0x00000000 diff --git a/ver/us/asm/nonmatchings/battle/area_omo/513580/func_80218FB0_513580.s b/ver/us/asm/nonmatchings/battle/area_omo/513580/func_80218FB0_513580.s deleted file mode 100644 index 61af61e674..0000000000 --- a/ver/us/asm/nonmatchings/battle/area_omo/513580/func_80218FB0_513580.s +++ /dev/null @@ -1,139 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80218FB0_513580 -/* 513580 80218FB0 27BDFF30 */ addiu $sp, $sp, -0xd0 -/* 513584 80218FB4 AFB500AC */ sw $s5, 0xac($sp) -/* 513588 80218FB8 AFBF00B0 */ sw $ra, 0xb0($sp) -/* 51358C 80218FBC AFB400A8 */ sw $s4, 0xa8($sp) -/* 513590 80218FC0 AFB300A4 */ sw $s3, 0xa4($sp) -/* 513594 80218FC4 AFB200A0 */ sw $s2, 0xa0($sp) -/* 513598 80218FC8 AFB1009C */ sw $s1, 0x9c($sp) -/* 51359C 80218FCC AFB00098 */ sw $s0, 0x98($sp) -/* 5135A0 80218FD0 F7B800C8 */ sdc1 $f24, 0xc8($sp) -/* 5135A4 80218FD4 F7B600C0 */ sdc1 $f22, 0xc0($sp) -/* 5135A8 80218FD8 F7B400B8 */ sdc1 $f20, 0xb8($sp) -/* 5135AC 80218FDC 10A0001F */ beqz $a1, .L8021905C -/* 5135B0 80218FE0 0080A82D */ daddu $s5, $a0, $zero -/* 5135B4 80218FE4 0C00AB39 */ jal heap_malloc -/* 5135B8 80218FE8 24040018 */ addiu $a0, $zero, 0x18 -/* 5135BC 80218FEC 0040902D */ daddu $s2, $v0, $zero -/* 5135C0 80218FF0 0000A02D */ daddu $s4, $zero, $zero -/* 5135C4 80218FF4 2650000C */ addiu $s0, $s2, 0xc -/* 5135C8 80218FF8 3C138023 */ lui $s3, %hi(b_area_omo_omo_01_8022DA34) -/* 5135CC 80218FFC 2673DA34 */ addiu $s3, $s3, %lo(b_area_omo_omo_01_8022DA34) -/* 5135D0 80219000 3C014060 */ lui $at, 0x4060 -/* 5135D4 80219004 4481A000 */ mtc1 $at, $f20 -/* 5135D8 80219008 3C118023 */ lui $s1, %hi(D_8022DA30_528000) -/* 5135DC 8021900C 2631DA30 */ addiu $s1, $s1, %lo(D_8022DA30_528000) -/* 5135E0 80219010 AEB20070 */ sw $s2, 0x70($s5) -.L80219014: -/* 5135E4 80219014 8E220000 */ lw $v0, ($s1) -/* 5135E8 80219018 26310004 */ addiu $s1, $s1, 4 -/* 5135EC 8021901C 26940001 */ addiu $s4, $s4, 1 -/* 5135F0 80219020 AE020004 */ sw $v0, 4($s0) -/* 5135F4 80219024 0040202D */ daddu $a0, $v0, $zero -/* 5135F8 80219028 8E620000 */ lw $v0, ($s3) -/* 5135FC 8021902C 26730004 */ addiu $s3, $s3, 4 -/* 513600 80219030 0C046C04 */ jal get_model_list_index_from_tree_index -/* 513604 80219034 AE020008 */ sw $v0, 8($s0) -/* 513608 80219038 0C046B4C */ jal get_model_from_list_index -/* 51360C 8021903C 0040202D */ daddu $a0, $v0, $zero -/* 513610 80219040 AE400000 */ sw $zero, ($s2) -/* 513614 80219044 AE00FFF8 */ sw $zero, -8($s0) -/* 513618 80219048 E614FFFC */ swc1 $f20, -4($s0) -/* 51361C 8021904C AE000000 */ sw $zero, ($s0) -/* 513620 80219050 26100018 */ addiu $s0, $s0, 0x18 -/* 513624 80219054 1280FFEF */ beqz $s4, .L80219014 -/* 513628 80219058 26520018 */ addiu $s2, $s2, 0x18 -.L8021905C: -/* 51362C 8021905C 0000A02D */ daddu $s4, $zero, $zero -/* 513630 80219060 27B30058 */ addiu $s3, $sp, 0x58 -/* 513634 80219064 8EB20070 */ lw $s2, 0x70($s5) -/* 513638 80219068 4480C000 */ mtc1 $zero, $f24 -/* 51363C 8021906C 26510004 */ addiu $s1, $s2, 4 -.L80219070: -/* 513640 80219070 C62C0008 */ lwc1 $f12, 8($s1) -/* 513644 80219074 C6200004 */ lwc1 $f0, 4($s1) -/* 513648 80219078 46006300 */ add.s $f12, $f12, $f0 -/* 51364C 8021907C 0C00A6C9 */ jal clamp_angle -/* 513650 80219080 E62C0008 */ swc1 $f12, 8($s1) -/* 513654 80219084 3C014048 */ lui $at, 0x4048 -/* 513658 80219088 3421F5C3 */ ori $at, $at, 0xf5c3 -/* 51365C 8021908C 44816000 */ mtc1 $at, $f12 -/* 513660 80219090 00000000 */ nop -/* 513664 80219094 460C0302 */ mul.s $f12, $f0, $f12 -/* 513668 80219098 00000000 */ nop -/* 51366C 8021909C 3C014334 */ lui $at, 0x4334 -/* 513670 802190A0 44811000 */ mtc1 $at, $f2 -/* 513674 802190A4 E6200008 */ swc1 $f0, 8($s1) -/* 513678 802190A8 0C00A85B */ jal sin_rad -/* 51367C 802190AC 46026303 */ div.s $f12, $f12, $f2 -/* 513680 802190B0 3C0141A0 */ lui $at, 0x41a0 -/* 513684 802190B4 44811000 */ mtc1 $at, $f2 -/* 513688 802190B8 00000000 */ nop -/* 51368C 802190BC 46020502 */ mul.s $f20, $f0, $f2 -/* 513690 802190C0 00000000 */ nop -/* 513694 802190C4 4614A582 */ mul.s $f22, $f20, $f20 -/* 513698 802190C8 00000000 */ nop -/* 51369C 802190CC 26940001 */ addiu $s4, $s4, 1 -/* 5136A0 802190D0 3C0142B4 */ lui $at, 0x42b4 -/* 5136A4 802190D4 44810000 */ mtc1 $at, $f0 -/* 5136A8 802190D8 8E24000C */ lw $a0, 0xc($s1) -/* 5136AC 802190DC 0C046C04 */ jal get_model_list_index_from_tree_index -/* 5136B0 802190E0 4600B583 */ div.s $f22, $f22, $f0 -/* 5136B4 802190E4 0C046B4C */ jal get_model_from_list_index -/* 5136B8 802190E8 0040202D */ daddu $a0, $v0, $zero -/* 5136BC 802190EC 0040802D */ daddu $s0, $v0, $zero -/* 5136C0 802190F0 96020000 */ lhu $v0, ($s0) -/* 5136C4 802190F4 4406C000 */ mfc1 $a2, $f24 -/* 5136C8 802190F8 34421400 */ ori $v0, $v0, 0x1400 -/* 5136CC 802190FC A6020000 */ sh $v0, ($s0) -/* 5136D0 80219100 C6400000 */ lwc1 $f0, ($s2) -/* 5136D4 80219104 C6220000 */ lwc1 $f2, ($s1) -/* 5136D8 80219108 46000007 */ neg.s $f0, $f0 -/* 5136DC 8021910C 46001087 */ neg.s $f2, $f2 -/* 5136E0 80219110 44050000 */ mfc1 $a1, $f0 -/* 5136E4 80219114 44071000 */ mfc1 $a3, $f2 -/* 5136E8 80219118 0C019E40 */ jal guTranslateF -/* 5136EC 8021911C 27A40018 */ addiu $a0, $sp, 0x18 -/* 5136F0 80219120 4405A000 */ mfc1 $a1, $f20 -/* 5136F4 80219124 4406C000 */ mfc1 $a2, $f24 -/* 5136F8 80219128 4407C000 */ mfc1 $a3, $f24 -/* 5136FC 8021912C 3C013F80 */ lui $at, 0x3f80 -/* 513700 80219130 44810000 */ mtc1 $at, $f0 -/* 513704 80219134 0260202D */ daddu $a0, $s3, $zero -/* 513708 80219138 0C019EC8 */ jal guRotateF -/* 51370C 8021913C E7A00010 */ swc1 $f0, 0x10($sp) -/* 513710 80219140 27A40018 */ addiu $a0, $sp, 0x18 -/* 513714 80219144 0260282D */ daddu $a1, $s3, $zero -/* 513718 80219148 26100058 */ addiu $s0, $s0, 0x58 -/* 51371C 8021914C 0C019D80 */ jal guMtxCatF -/* 513720 80219150 0200302D */ daddu $a2, $s0, $zero -/* 513724 80219154 27A40018 */ addiu $a0, $sp, 0x18 -/* 513728 80219158 8E270000 */ lw $a3, ($s1) -/* 51372C 8021915C 26310018 */ addiu $s1, $s1, 0x18 -/* 513730 80219160 8E450000 */ lw $a1, ($s2) -/* 513734 80219164 4406B000 */ mfc1 $a2, $f22 -/* 513738 80219168 0C019E40 */ jal guTranslateF -/* 51373C 8021916C 26520018 */ addiu $s2, $s2, 0x18 -/* 513740 80219170 0200202D */ daddu $a0, $s0, $zero -/* 513744 80219174 27A50018 */ addiu $a1, $sp, 0x18 -/* 513748 80219178 0C019D80 */ jal guMtxCatF -/* 51374C 8021917C 0080302D */ daddu $a2, $a0, $zero -/* 513750 80219180 1280FFBB */ beqz $s4, .L80219070 -/* 513754 80219184 0000102D */ daddu $v0, $zero, $zero -/* 513758 80219188 8FBF00B0 */ lw $ra, 0xb0($sp) -/* 51375C 8021918C 8FB500AC */ lw $s5, 0xac($sp) -/* 513760 80219190 8FB400A8 */ lw $s4, 0xa8($sp) -/* 513764 80219194 8FB300A4 */ lw $s3, 0xa4($sp) -/* 513768 80219198 8FB200A0 */ lw $s2, 0xa0($sp) -/* 51376C 8021919C 8FB1009C */ lw $s1, 0x9c($sp) -/* 513770 802191A0 8FB00098 */ lw $s0, 0x98($sp) -/* 513774 802191A4 D7B800C8 */ ldc1 $f24, 0xc8($sp) -/* 513778 802191A8 D7B600C0 */ ldc1 $f22, 0xc0($sp) -/* 51377C 802191AC D7B400B8 */ ldc1 $f20, 0xb8($sp) -/* 513780 802191B0 03E00008 */ jr $ra -/* 513784 802191B4 27BD00D0 */ addiu $sp, $sp, 0xd0 -/* 513788 802191B8 00000000 */ nop -/* 51378C 802191BC 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/battle/area_omo3/5573E0/func_80218038_557418.s b/ver/us/asm/nonmatchings/battle/area_omo3/5573E0/func_80218038_557418.s deleted file mode 100644 index 1a56a34548..0000000000 --- a/ver/us/asm/nonmatchings/battle/area_omo3/5573E0/func_80218038_557418.s +++ /dev/null @@ -1,21 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80218038_557418 -/* 557418 80218038 8C830080 */ lw $v1, 0x80($a0) -/* 55741C 8021803C 00A33023 */ subu $a2, $a1, $v1 -/* 557420 80218040 28C20004 */ slti $v0, $a2, 4 -/* 557424 80218044 14400003 */ bnez $v0, .L80218054 -/* 557428 80218048 28C2FFFC */ slti $v0, $a2, -4 -/* 55742C 8021804C 08086019 */ j .L80218064 -/* 557430 80218050 24620004 */ addiu $v0, $v1, 4 -.L80218054: -/* 557434 80218054 14400003 */ bnez $v0, .L80218064 -/* 557438 80218058 2462FFFC */ addiu $v0, $v1, -4 -/* 55743C 8021805C 0808601A */ j .L80218068 -/* 557440 80218060 AC850080 */ sw $a1, 0x80($a0) -.L80218064: -/* 557444 80218064 AC820080 */ sw $v0, 0x80($a0) -.L80218068: -/* 557448 80218068 03E00008 */ jr $ra -/* 55744C 8021806C 8C820080 */ lw $v0, 0x80($a0) diff --git a/ver/us/asm/nonmatchings/battle/area_omo3/5573E0/func_80218070_557450.s b/ver/us/asm/nonmatchings/battle/area_omo3/5573E0/func_80218070_557450.s deleted file mode 100644 index e823c3f9b5..0000000000 --- a/ver/us/asm/nonmatchings/battle/area_omo3/5573E0/func_80218070_557450.s +++ /dev/null @@ -1,301 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel D_8022EB70_56DF50 -.double 0.7142857142857143 - -dlabel D_8022EB78_56DF58 -.double 90.0 - -dlabel jtbl_8022EB80_56DF60 -.word L80218250_557630, L80218264_557644, L80218270_557650, L8021827C_55765C, L80218288_557668, L80218294_557674, L802182A0_557680, L802182AC_55768C, L802182B8_557698, L802182C4_5576A4, L802182D0_5576B0, L8021831C_5576FC - -.section .text - -glabel func_80218070_557450 -/* 557450 80218070 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 557454 80218074 AFB00030 */ sw $s0, 0x30($sp) -/* 557458 80218078 0080802D */ daddu $s0, $a0, $zero -/* 55745C 8021807C AFBF0044 */ sw $ra, 0x44($sp) -/* 557460 80218080 AFB40040 */ sw $s4, 0x40($sp) -/* 557464 80218084 AFB3003C */ sw $s3, 0x3c($sp) -/* 557468 80218088 AFB20038 */ sw $s2, 0x38($sp) -/* 55746C 8021808C AFB10034 */ sw $s1, 0x34($sp) -/* 557470 80218090 F7BE0070 */ sdc1 $f30, 0x70($sp) -/* 557474 80218094 F7BC0068 */ sdc1 $f28, 0x68($sp) -/* 557478 80218098 F7BA0060 */ sdc1 $f26, 0x60($sp) -/* 55747C 8021809C F7B80058 */ sdc1 $f24, 0x58($sp) -/* 557480 802180A0 F7B60050 */ sdc1 $f22, 0x50($sp) -/* 557484 802180A4 F7B40048 */ sdc1 $f20, 0x48($sp) -/* 557488 802180A8 8E02000C */ lw $v0, 0xc($s0) -/* 55748C 802180AC 0C0B1EAF */ jal evt_get_variable -/* 557490 802180B0 8C450000 */ lw $a1, ($v0) -/* 557494 802180B4 8E040148 */ lw $a0, 0x148($s0) -/* 557498 802180B8 0C09A75B */ jal get_actor -/* 55749C 802180BC 0040982D */ daddu $s3, $v0, $zero -/* 5574A0 802180C0 0040902D */ daddu $s2, $v0, $zero -/* 5574A4 802180C4 16400005 */ bnez $s2, .L802180DC -/* 5574A8 802180C8 24040001 */ addiu $a0, $zero, 1 -/* 5574AC 802180CC 0C04E035 */ jal set_screen_overlay_alpha -/* 5574B0 802180D0 0000282D */ daddu $a1, $zero, $zero -/* 5574B4 802180D4 08086116 */ j .L80218458 -/* 5574B8 802180D8 0000102D */ daddu $v0, $zero, $zero -.L802180DC: -/* 5574BC 802180DC 12600002 */ beqz $s3, .L802180E8 -/* 5574C0 802180E0 2651000C */ addiu $s1, $s2, 0xc -/* 5574C4 802180E4 8E74000C */ lw $s4, 0xc($s3) -.L802180E8: -/* 5574C8 802180E8 0240202D */ daddu $a0, $s2, $zero -/* 5574CC 802180EC C6420160 */ lwc1 $f2, 0x160($s2) -/* 5574D0 802180F0 C640018C */ lwc1 $f0, 0x18c($s2) -/* 5574D4 802180F4 C65E0144 */ lwc1 $f30, 0x144($s2) -/* 5574D8 802180F8 C6460148 */ lwc1 $f6, 0x148($s2) -/* 5574DC 802180FC 24050001 */ addiu $a1, $zero, 1 -/* 5574E0 80218100 E7A60024 */ swc1 $f6, 0x24($sp) -/* 5574E4 80218104 C646014C */ lwc1 $f6, 0x14c($s2) -/* 5574E8 80218108 E7A60028 */ swc1 $f6, 0x28($sp) -/* 5574EC 8021810C C65C015C */ lwc1 $f28, 0x15c($s2) -/* 5574F0 80218110 C65A0164 */ lwc1 $f26, 0x164($s2) -/* 5574F4 80218114 0C099117 */ jal get_actor_part -/* 5574F8 80218118 46001500 */ add.s $f20, $f2, $f0 -/* 5574FC 8021811C 3C03006D */ lui $v1, 0x6d -/* 557500 80218120 8C420088 */ lw $v0, 0x88($v0) -/* 557504 80218124 3463000C */ ori $v1, $v1, 0xc -/* 557508 80218128 14430002 */ bne $v0, $v1, .L80218134 -/* 55750C 8021812C 24050001 */ addiu $a1, $zero, 1 -/* 557510 80218130 0000282D */ daddu $a1, $zero, $zero -.L80218134: -/* 557514 80218134 27A60018 */ addiu $a2, $sp, 0x18 -/* 557518 80218138 8E4301F4 */ lw $v1, 0x1f4($s2) -/* 55751C 8021813C 27A20020 */ addiu $v0, $sp, 0x20 -/* 557520 80218140 AFA20010 */ sw $v0, 0x10($sp) -/* 557524 80218144 8C640084 */ lw $a0, 0x84($v1) -/* 557528 80218148 0C0B7A37 */ jal func_802DE8DC -/* 55752C 8021814C 27A7001C */ addiu $a3, $sp, 0x1c -/* 557530 80218150 C7B80018 */ lwc1 $f24, 0x18($sp) -/* 557534 80218154 4680C620 */ cvt.s.w $f24, $f24 -/* 557538 80218158 3C018023 */ lui $at, %hi(D_8022EB70_56DF50) -/* 55753C 8021815C D420EB70 */ ldc1 $f0, %lo(D_8022EB70_56DF50)($at) -/* 557540 80218160 4600C621 */ cvt.d.s $f24, $f24 -/* 557544 80218164 4620C602 */ mul.d $f24, $f24, $f0 -/* 557548 80218168 00000000 */ nop -/* 55754C 8021816C 8FA2001C */ lw $v0, 0x1c($sp) -/* 557550 80218170 24420014 */ addiu $v0, $v0, 0x14 -/* 557554 80218174 4482B000 */ mtc1 $v0, $f22 -/* 557558 80218178 00000000 */ nop -/* 55755C 8021817C 4680B5A0 */ cvt.s.w $f22, $f22 -/* 557560 80218180 4600B5A1 */ cvt.d.s $f22, $f22 -/* 557564 80218184 4620B582 */ mul.d $f22, $f22, $f0 -/* 557568 80218188 00000000 */ nop -/* 55756C 8021818C 4600A306 */ mov.s $f12, $f20 -/* 557570 80218190 AFA2001C */ sw $v0, 0x1c($sp) -/* 557574 80218194 4620C620 */ cvt.s.d $f24, $f24 -/* 557578 80218198 0C00A8D4 */ jal cos_deg -/* 55757C 8021819C 4620B5A0 */ cvt.s.d $f22, $f22 -/* 557580 802181A0 3C018023 */ lui $at, %hi(D_8022EB78_56DF58) -/* 557584 802181A4 D422EB78 */ ldc1 $f2, %lo(D_8022EB78_56DF58)($at) -/* 557588 802181A8 4600E321 */ cvt.d.s $f12, $f28 -/* 55758C 802181AC 46226300 */ add.d $f12, $f12, $f2 -/* 557590 802181B0 4600C602 */ mul.s $f24, $f24, $f0 -/* 557594 802181B4 00000000 */ nop -/* 557598 802181B8 0C00A8BB */ jal sin_deg -/* 55759C 802181BC 46206320 */ cvt.s.d $f12, $f12 -/* 5575A0 802181C0 4600B582 */ mul.s $f22, $f22, $f0 -/* 5575A4 802181C4 00000000 */ nop -/* 5575A8 802181C8 0C00A8D4 */ jal cos_deg -/* 5575AC 802181CC 4600D306 */ mov.s $f12, $f26 -/* 5575B0 802181D0 4600D306 */ mov.s $f12, $f26 -/* 5575B4 802181D4 0C00A8BB */ jal sin_deg -/* 5575B8 802181D8 46000506 */ mov.s $f20, $f0 -/* 5575BC 802181DC 4614C502 */ mul.s $f20, $f24, $f20 -/* 5575C0 802181E0 00000000 */ nop -/* 5575C4 802181E4 4600B002 */ mul.s $f0, $f22, $f0 -/* 5575C8 802181E8 00000000 */ nop -/* 5575CC 802181EC 4600A500 */ add.s $f20, $f20, $f0 -/* 5575D0 802181F0 4600A18D */ trunc.w.s $f6, $f20 -/* 5575D4 802181F4 E7A60018 */ swc1 $f6, 0x18($sp) -/* 5575D8 802181F8 0C00A8BB */ jal sin_deg -/* 5575DC 802181FC 4600D306 */ mov.s $f12, $f26 -/* 5575E0 80218200 4600D306 */ mov.s $f12, $f26 -/* 5575E4 80218204 0C00A8D4 */ jal cos_deg -/* 5575E8 80218208 46000506 */ mov.s $f20, $f0 -/* 5575EC 8021820C 4600A507 */ neg.s $f20, $f20 -/* 5575F0 80218210 4614C602 */ mul.s $f24, $f24, $f20 -/* 5575F4 80218214 00000000 */ nop -/* 5575F8 80218218 4600B582 */ mul.s $f22, $f22, $f0 -/* 5575FC 8021821C 00000000 */ nop -/* 557600 80218220 8E23007C */ lw $v1, 0x7c($s1) -/* 557604 80218224 4616C600 */ add.s $f24, $f24, $f22 -/* 557608 80218228 2C62000C */ sltiu $v0, $v1, 0xc -/* 55760C 8021822C 4600C18D */ trunc.w.s $f6, $f24 -/* 557610 80218230 E7A6001C */ swc1 $f6, 0x1c($sp) -/* 557614 80218234 10400044 */ beqz $v0, .L80218348 -/* 557618 80218238 00031080 */ sll $v0, $v1, 2 -/* 55761C 8021823C 3C018023 */ lui $at, %hi(jtbl_8022EB80_56DF60) -/* 557620 80218240 00220821 */ addu $at, $at, $v0 -/* 557624 80218244 8C22EB80 */ lw $v0, %lo(jtbl_8022EB80_56DF60)($at) -/* 557628 80218248 00400008 */ jr $v0 -/* 55762C 8021824C 00000000 */ nop -dlabel L80218250_557630 -/* 557630 80218250 0220202D */ daddu $a0, $s1, $zero -/* 557634 80218254 0C08600E */ jal func_80218038_557418 -/* 557638 80218258 24050122 */ addiu $a1, $zero, 0x122 -/* 55763C 8021825C 080860D3 */ j .L8021834C -/* 557640 80218260 00000000 */ nop -dlabel L80218264_557644 -/* 557644 80218264 0220202D */ daddu $a0, $s1, $zero -/* 557648 80218268 080860B6 */ j .L802182D8 -/* 55764C 8021826C 240500FA */ addiu $a1, $zero, 0xfa -dlabel L80218270_557650 -/* 557650 80218270 0220202D */ daddu $a0, $s1, $zero -/* 557654 80218274 080860B6 */ j .L802182D8 -/* 557658 80218278 240500F0 */ addiu $a1, $zero, 0xf0 -dlabel L8021827C_55765C -/* 55765C 8021827C 0220202D */ daddu $a0, $s1, $zero -/* 557660 80218280 080860B6 */ j .L802182D8 -/* 557664 80218284 240500E6 */ addiu $a1, $zero, 0xe6 -dlabel L80218288_557668 -/* 557668 80218288 0220202D */ daddu $a0, $s1, $zero -/* 55766C 8021828C 080860B6 */ j .L802182D8 -/* 557670 80218290 240500DC */ addiu $a1, $zero, 0xdc -dlabel L80218294_557674 -/* 557674 80218294 0220202D */ daddu $a0, $s1, $zero -/* 557678 80218298 080860B6 */ j .L802182D8 -/* 55767C 8021829C 240500D2 */ addiu $a1, $zero, 0xd2 -dlabel L802182A0_557680 -/* 557680 802182A0 0220202D */ daddu $a0, $s1, $zero -/* 557684 802182A4 080860B6 */ j .L802182D8 -/* 557688 802182A8 240500B4 */ addiu $a1, $zero, 0xb4 -dlabel L802182AC_55768C -/* 55768C 802182AC 0220202D */ daddu $a0, $s1, $zero -/* 557690 802182B0 080860B6 */ j .L802182D8 -/* 557694 802182B4 2405008C */ addiu $a1, $zero, 0x8c -dlabel L802182B8_557698 -/* 557698 802182B8 0220202D */ daddu $a0, $s1, $zero -/* 55769C 802182BC 080860B6 */ j .L802182D8 -/* 5576A0 802182C0 24050064 */ addiu $a1, $zero, 0x64 -dlabel L802182C4_5576A4 -/* 5576A4 802182C4 0220202D */ daddu $a0, $s1, $zero -/* 5576A8 802182C8 080860B6 */ j .L802182D8 -/* 5576AC 802182CC 24050046 */ addiu $a1, $zero, 0x46 -dlabel L802182D0_5576B0 -/* 5576B0 802182D0 0220202D */ daddu $a0, $s1, $zero -/* 5576B4 802182D4 24050028 */ addiu $a1, $zero, 0x28 -.L802182D8: -/* 5576B8 802182D8 0C08600E */ jal func_80218038_557418 -/* 5576BC 802182DC 00000000 */ nop -/* 5576C0 802182E0 24044000 */ addiu $a0, $zero, 0x4000 -/* 5576C4 802182E4 0C00A67F */ jal rand_int -/* 5576C8 802182E8 0040802D */ daddu $s0, $v0, $zero -/* 5576CC 802182EC 3C036666 */ lui $v1, 0x6666 -/* 5576D0 802182F0 34636667 */ ori $v1, $v1, 0x6667 -/* 5576D4 802182F4 00430018 */ mult $v0, $v1 -/* 5576D8 802182F8 00021FC3 */ sra $v1, $v0, 0x1f -/* 5576DC 802182FC 00004010 */ mfhi $t0 -/* 5576E0 80218300 00082043 */ sra $a0, $t0, 1 -/* 5576E4 80218304 00832023 */ subu $a0, $a0, $v1 -/* 5576E8 80218308 00041880 */ sll $v1, $a0, 2 -/* 5576EC 8021830C 00641821 */ addu $v1, $v1, $a0 -/* 5576F0 80218310 00431023 */ subu $v0, $v0, $v1 -/* 5576F4 80218314 080860D3 */ j .L8021834C -/* 5576F8 80218318 02021021 */ addu $v0, $s0, $v0 -dlabel L8021831C_5576FC -/* 5576FC 8021831C 0220202D */ daddu $a0, $s1, $zero -/* 557700 80218320 0C08600E */ jal func_80218038_557418 -/* 557704 80218324 24050014 */ addiu $a1, $zero, 0x14 -/* 557708 80218328 0220202D */ daddu $a0, $s1, $zero -/* 55770C 8021832C 0C08600E */ jal func_80218038_557418 -/* 557710 80218330 24050014 */ addiu $a1, $zero, 0x14 -/* 557714 80218334 0220202D */ daddu $a0, $s1, $zero -/* 557718 80218338 0C08600E */ jal func_80218038_557418 -/* 55771C 8021833C 24050014 */ addiu $a1, $zero, 0x14 -/* 557720 80218340 080860D3 */ j .L8021834C -/* 557724 80218344 00000000 */ nop -.L80218348: -/* 557728 80218348 0000102D */ daddu $v0, $zero, $zero -.L8021834C: -/* 55772C 8021834C 44823000 */ mtc1 $v0, $f6 -/* 557730 80218350 00000000 */ nop -/* 557734 80218354 468031A0 */ cvt.s.w $f6, $f6 -/* 557738 80218358 44053000 */ mfc1 $a1, $f6 -/* 55773C 8021835C 0C04E035 */ jal set_screen_overlay_alpha -/* 557740 80218360 24040001 */ addiu $a0, $zero, 1 -/* 557744 80218364 C7A40018 */ lwc1 $f4, 0x18($sp) -/* 557748 80218368 46802120 */ cvt.s.w $f4, $f4 -/* 55774C 8021836C 24040001 */ addiu $a0, $zero, 1 -/* 557750 80218370 C7A20020 */ lwc1 $f2, 0x20($sp) -/* 557754 80218374 468010A0 */ cvt.s.w $f2, $f2 -/* 557758 80218378 4604F100 */ add.s $f4, $f30, $f4 -/* 55775C 8021837C C7A60028 */ lwc1 $f6, 0x28($sp) -/* 557760 80218380 46023080 */ add.s $f2, $f6, $f2 -/* 557764 80218384 C7A60024 */ lwc1 $f6, 0x24($sp) -/* 557768 80218388 C7A0001C */ lwc1 $f0, 0x1c($sp) -/* 55776C 8021838C 46800020 */ cvt.s.w $f0, $f0 -/* 557770 80218390 46003000 */ add.s $f0, $f6, $f0 -/* 557774 80218394 4600118D */ trunc.w.s $f6, $f2 -/* 557778 80218398 E7A60010 */ swc1 $f6, 0x10($sp) -/* 55777C 8021839C 4600218D */ trunc.w.s $f6, $f4 -/* 557780 802183A0 44063000 */ mfc1 $a2, $f6 -/* 557784 802183A4 4600018D */ trunc.w.s $f6, $f0 -/* 557788 802183A8 44073000 */ mfc1 $a3, $f6 -/* 55778C 802183AC 0C04DFB0 */ jal set_screen_overlay_center_worldpos -/* 557790 802183B0 0000282D */ daddu $a1, $zero, $zero -/* 557794 802183B4 C7A40018 */ lwc1 $f4, 0x18($sp) -/* 557798 802183B8 46802120 */ cvt.s.w $f4, $f4 -/* 55779C 802183BC 0240202D */ daddu $a0, $s2, $zero -/* 5577A0 802183C0 C7A2001C */ lwc1 $f2, 0x1c($sp) -/* 5577A4 802183C4 468010A0 */ cvt.s.w $f2, $f2 -/* 5577A8 802183C8 4604F100 */ add.s $f4, $f30, $f4 -/* 5577AC 802183CC C7A60024 */ lwc1 $f6, 0x24($sp) -/* 5577B0 802183D0 46023080 */ add.s $f2, $f6, $f2 -/* 5577B4 802183D4 C7A60028 */ lwc1 $f6, 0x28($sp) -/* 5577B8 802183D8 C7A00020 */ lwc1 $f0, 0x20($sp) -/* 5577BC 802183DC 46800020 */ cvt.s.w $f0, $f0 -/* 5577C0 802183E0 46003000 */ add.s $f0, $f6, $f0 -/* 5577C4 802183E4 4600218D */ trunc.w.s $f6, $f4 -/* 5577C8 802183E8 E6260084 */ swc1 $f6, 0x84($s1) -/* 5577CC 802183EC 4600118D */ trunc.w.s $f6, $f2 -/* 5577D0 802183F0 E6260088 */ swc1 $f6, 0x88($s1) -/* 5577D4 802183F4 4600018D */ trunc.w.s $f6, $f0 -/* 5577D8 802183F8 E626008C */ swc1 $f6, 0x8c($s1) -/* 5577DC 802183FC 0C099117 */ jal get_actor_part -/* 5577E0 80218400 24050002 */ addiu $a1, $zero, 2 -/* 5577E4 80218404 0040202D */ daddu $a0, $v0, $zero -/* 5577E8 80218408 97A2001A */ lhu $v0, 0x1a($sp) -/* 5577EC 8021840C 97A3001E */ lhu $v1, 0x1e($sp) -/* 5577F0 80218410 2442FFFB */ addiu $v0, $v0, -5 -/* 5577F4 80218414 24630005 */ addiu $v1, $v1, 5 -/* 5577F8 80218418 A4820014 */ sh $v0, 0x14($a0) -/* 5577FC 8021841C 1260000D */ beqz $s3, .L80218454 -/* 557800 80218420 A4830016 */ sh $v1, 0x16($a0) -/* 557804 80218424 C6200084 */ lwc1 $f0, 0x84($s1) -/* 557808 80218428 46800020 */ cvt.s.w $f0, $f0 -/* 55780C 8021842C E6800004 */ swc1 $f0, 4($s4) -/* 557810 80218430 C6200088 */ lwc1 $f0, 0x88($s1) -/* 557814 80218434 46800020 */ cvt.s.w $f0, $f0 -/* 557818 80218438 E6800008 */ swc1 $f0, 8($s4) -/* 55781C 8021843C 8E22008C */ lw $v0, 0x8c($s1) -/* 557820 80218440 24420019 */ addiu $v0, $v0, 0x19 -/* 557824 80218444 44820000 */ mtc1 $v0, $f0 -/* 557828 80218448 00000000 */ nop -/* 55782C 8021844C 46800020 */ cvt.s.w $f0, $f0 -/* 557830 80218450 E680000C */ swc1 $f0, 0xc($s4) -.L80218454: -/* 557834 80218454 24020002 */ addiu $v0, $zero, 2 -.L80218458: -/* 557838 80218458 8FBF0044 */ lw $ra, 0x44($sp) -/* 55783C 8021845C 8FB40040 */ lw $s4, 0x40($sp) -/* 557840 80218460 8FB3003C */ lw $s3, 0x3c($sp) -/* 557844 80218464 8FB20038 */ lw $s2, 0x38($sp) -/* 557848 80218468 8FB10034 */ lw $s1, 0x34($sp) -/* 55784C 8021846C 8FB00030 */ lw $s0, 0x30($sp) -/* 557850 80218470 D7BE0070 */ ldc1 $f30, 0x70($sp) -/* 557854 80218474 D7BC0068 */ ldc1 $f28, 0x68($sp) -/* 557858 80218478 D7BA0060 */ ldc1 $f26, 0x60($sp) -/* 55785C 8021847C D7B80058 */ ldc1 $f24, 0x58($sp) -/* 557860 80218480 D7B60050 */ ldc1 $f22, 0x50($sp) -/* 557864 80218484 D7B40048 */ ldc1 $f20, 0x48($sp) -/* 557868 80218488 03E00008 */ jr $ra -/* 55786C 8021848C 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/ver/us/asm/nonmatchings/battle/area_omo3/5573E0/func_80218490_557870.s b/ver/us/asm/nonmatchings/battle/area_omo3/5573E0/func_80218490_557870.s deleted file mode 100644 index 5abae53a8c..0000000000 --- a/ver/us/asm/nonmatchings/battle/area_omo3/5573E0/func_80218490_557870.s +++ /dev/null @@ -1,139 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80218490_557870 -/* 557870 80218490 27BDFF30 */ addiu $sp, $sp, -0xd0 -/* 557874 80218494 AFB500AC */ sw $s5, 0xac($sp) -/* 557878 80218498 AFBF00B0 */ sw $ra, 0xb0($sp) -/* 55787C 8021849C AFB400A8 */ sw $s4, 0xa8($sp) -/* 557880 802184A0 AFB300A4 */ sw $s3, 0xa4($sp) -/* 557884 802184A4 AFB200A0 */ sw $s2, 0xa0($sp) -/* 557888 802184A8 AFB1009C */ sw $s1, 0x9c($sp) -/* 55788C 802184AC AFB00098 */ sw $s0, 0x98($sp) -/* 557890 802184B0 F7B800C8 */ sdc1 $f24, 0xc8($sp) -/* 557894 802184B4 F7B600C0 */ sdc1 $f22, 0xc0($sp) -/* 557898 802184B8 F7B400B8 */ sdc1 $f20, 0xb8($sp) -/* 55789C 802184BC 10A0001F */ beqz $a1, .L8021853C -/* 5578A0 802184C0 0080A82D */ daddu $s5, $a0, $zero -/* 5578A4 802184C4 0C00AB39 */ jal heap_malloc -/* 5578A8 802184C8 24040018 */ addiu $a0, $zero, 0x18 -/* 5578AC 802184CC 0040902D */ daddu $s2, $v0, $zero -/* 5578B0 802184D0 0000A02D */ daddu $s4, $zero, $zero -/* 5578B4 802184D4 2650000C */ addiu $s0, $s2, 0xc -/* 5578B8 802184D8 3C138022 */ lui $s3, %hi(D_8021B254_55A634) -/* 5578BC 802184DC 2673B254 */ addiu $s3, $s3, %lo(D_8021B254_55A634) -/* 5578C0 802184E0 3C014060 */ lui $at, 0x4060 -/* 5578C4 802184E4 4481A000 */ mtc1 $at, $f20 -/* 5578C8 802184E8 3C118022 */ lui $s1, %hi(D_8021B250_55A630) -/* 5578CC 802184EC 2631B250 */ addiu $s1, $s1, %lo(D_8021B250_55A630) -/* 5578D0 802184F0 AEB20070 */ sw $s2, 0x70($s5) -.L802184F4: -/* 5578D4 802184F4 8E220000 */ lw $v0, ($s1) -/* 5578D8 802184F8 26310004 */ addiu $s1, $s1, 4 -/* 5578DC 802184FC 26940001 */ addiu $s4, $s4, 1 -/* 5578E0 80218500 AE020004 */ sw $v0, 4($s0) -/* 5578E4 80218504 0040202D */ daddu $a0, $v0, $zero -/* 5578E8 80218508 8E620000 */ lw $v0, ($s3) -/* 5578EC 8021850C 26730004 */ addiu $s3, $s3, 4 -/* 5578F0 80218510 0C046C04 */ jal get_model_list_index_from_tree_index -/* 5578F4 80218514 AE020008 */ sw $v0, 8($s0) -/* 5578F8 80218518 0C046B4C */ jal get_model_from_list_index -/* 5578FC 8021851C 0040202D */ daddu $a0, $v0, $zero -/* 557900 80218520 AE400000 */ sw $zero, ($s2) -/* 557904 80218524 AE00FFF8 */ sw $zero, -8($s0) -/* 557908 80218528 E614FFFC */ swc1 $f20, -4($s0) -/* 55790C 8021852C AE000000 */ sw $zero, ($s0) -/* 557910 80218530 26100018 */ addiu $s0, $s0, 0x18 -/* 557914 80218534 1280FFEF */ beqz $s4, .L802184F4 -/* 557918 80218538 26520018 */ addiu $s2, $s2, 0x18 -.L8021853C: -/* 55791C 8021853C 0000A02D */ daddu $s4, $zero, $zero -/* 557920 80218540 27B30058 */ addiu $s3, $sp, 0x58 -/* 557924 80218544 8EB20070 */ lw $s2, 0x70($s5) -/* 557928 80218548 4480C000 */ mtc1 $zero, $f24 -/* 55792C 8021854C 26510004 */ addiu $s1, $s2, 4 -.L80218550: -/* 557930 80218550 C62C0008 */ lwc1 $f12, 8($s1) -/* 557934 80218554 C6200004 */ lwc1 $f0, 4($s1) -/* 557938 80218558 46006300 */ add.s $f12, $f12, $f0 -/* 55793C 8021855C 0C00A6C9 */ jal clamp_angle -/* 557940 80218560 E62C0008 */ swc1 $f12, 8($s1) -/* 557944 80218564 3C014048 */ lui $at, 0x4048 -/* 557948 80218568 3421F5C3 */ ori $at, $at, 0xf5c3 -/* 55794C 8021856C 44816000 */ mtc1 $at, $f12 -/* 557950 80218570 00000000 */ nop -/* 557954 80218574 460C0302 */ mul.s $f12, $f0, $f12 -/* 557958 80218578 00000000 */ nop -/* 55795C 8021857C 3C014334 */ lui $at, 0x4334 -/* 557960 80218580 44811000 */ mtc1 $at, $f2 -/* 557964 80218584 E6200008 */ swc1 $f0, 8($s1) -/* 557968 80218588 0C00A85B */ jal sin_rad -/* 55796C 8021858C 46026303 */ div.s $f12, $f12, $f2 -/* 557970 80218590 3C0141A0 */ lui $at, 0x41a0 -/* 557974 80218594 44811000 */ mtc1 $at, $f2 -/* 557978 80218598 00000000 */ nop -/* 55797C 8021859C 46020502 */ mul.s $f20, $f0, $f2 -/* 557980 802185A0 00000000 */ nop -/* 557984 802185A4 4614A582 */ mul.s $f22, $f20, $f20 -/* 557988 802185A8 00000000 */ nop -/* 55798C 802185AC 26940001 */ addiu $s4, $s4, 1 -/* 557990 802185B0 3C0142B4 */ lui $at, 0x42b4 -/* 557994 802185B4 44810000 */ mtc1 $at, $f0 -/* 557998 802185B8 8E24000C */ lw $a0, 0xc($s1) -/* 55799C 802185BC 0C046C04 */ jal get_model_list_index_from_tree_index -/* 5579A0 802185C0 4600B583 */ div.s $f22, $f22, $f0 -/* 5579A4 802185C4 0C046B4C */ jal get_model_from_list_index -/* 5579A8 802185C8 0040202D */ daddu $a0, $v0, $zero -/* 5579AC 802185CC 0040802D */ daddu $s0, $v0, $zero -/* 5579B0 802185D0 96020000 */ lhu $v0, ($s0) -/* 5579B4 802185D4 4406C000 */ mfc1 $a2, $f24 -/* 5579B8 802185D8 34421400 */ ori $v0, $v0, 0x1400 -/* 5579BC 802185DC A6020000 */ sh $v0, ($s0) -/* 5579C0 802185E0 C6400000 */ lwc1 $f0, ($s2) -/* 5579C4 802185E4 C6220000 */ lwc1 $f2, ($s1) -/* 5579C8 802185E8 46000007 */ neg.s $f0, $f0 -/* 5579CC 802185EC 46001087 */ neg.s $f2, $f2 -/* 5579D0 802185F0 44050000 */ mfc1 $a1, $f0 -/* 5579D4 802185F4 44071000 */ mfc1 $a3, $f2 -/* 5579D8 802185F8 0C019E40 */ jal guTranslateF -/* 5579DC 802185FC 27A40018 */ addiu $a0, $sp, 0x18 -/* 5579E0 80218600 4405A000 */ mfc1 $a1, $f20 -/* 5579E4 80218604 4406C000 */ mfc1 $a2, $f24 -/* 5579E8 80218608 4407C000 */ mfc1 $a3, $f24 -/* 5579EC 8021860C 3C013F80 */ lui $at, 0x3f80 -/* 5579F0 80218610 44810000 */ mtc1 $at, $f0 -/* 5579F4 80218614 0260202D */ daddu $a0, $s3, $zero -/* 5579F8 80218618 0C019EC8 */ jal guRotateF -/* 5579FC 8021861C E7A00010 */ swc1 $f0, 0x10($sp) -/* 557A00 80218620 27A40018 */ addiu $a0, $sp, 0x18 -/* 557A04 80218624 0260282D */ daddu $a1, $s3, $zero -/* 557A08 80218628 26100058 */ addiu $s0, $s0, 0x58 -/* 557A0C 8021862C 0C019D80 */ jal guMtxCatF -/* 557A10 80218630 0200302D */ daddu $a2, $s0, $zero -/* 557A14 80218634 27A40018 */ addiu $a0, $sp, 0x18 -/* 557A18 80218638 8E270000 */ lw $a3, ($s1) -/* 557A1C 8021863C 26310018 */ addiu $s1, $s1, 0x18 -/* 557A20 80218640 8E450000 */ lw $a1, ($s2) -/* 557A24 80218644 4406B000 */ mfc1 $a2, $f22 -/* 557A28 80218648 0C019E40 */ jal guTranslateF -/* 557A2C 8021864C 26520018 */ addiu $s2, $s2, 0x18 -/* 557A30 80218650 0200202D */ daddu $a0, $s0, $zero -/* 557A34 80218654 27A50018 */ addiu $a1, $sp, 0x18 -/* 557A38 80218658 0C019D80 */ jal guMtxCatF -/* 557A3C 8021865C 0080302D */ daddu $a2, $a0, $zero -/* 557A40 80218660 1280FFBB */ beqz $s4, .L80218550 -/* 557A44 80218664 0000102D */ daddu $v0, $zero, $zero -/* 557A48 80218668 8FBF00B0 */ lw $ra, 0xb0($sp) -/* 557A4C 8021866C 8FB500AC */ lw $s5, 0xac($sp) -/* 557A50 80218670 8FB400A8 */ lw $s4, 0xa8($sp) -/* 557A54 80218674 8FB300A4 */ lw $s3, 0xa4($sp) -/* 557A58 80218678 8FB200A0 */ lw $s2, 0xa0($sp) -/* 557A5C 8021867C 8FB1009C */ lw $s1, 0x9c($sp) -/* 557A60 80218680 8FB00098 */ lw $s0, 0x98($sp) -/* 557A64 80218684 D7B800C8 */ ldc1 $f24, 0xc8($sp) -/* 557A68 80218688 D7B600C0 */ ldc1 $f22, 0xc0($sp) -/* 557A6C 8021868C D7B400B8 */ ldc1 $f20, 0xb8($sp) -/* 557A70 80218690 03E00008 */ jr $ra -/* 557A74 80218694 27BD00D0 */ addiu $sp, $sp, 0xd0 -/* 557A78 80218698 00000000 */ nop -/* 557A7C 8021869C 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/battle/area_pra/649050/func_80218240_649050.s b/ver/us/asm/nonmatchings/battle/area_pra/649050/func_80218240_649050.s deleted file mode 100644 index 4768da2194..0000000000 --- a/ver/us/asm/nonmatchings/battle/area_pra/649050/func_80218240_649050.s +++ /dev/null @@ -1,52 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80218240_649050 -/* 649050 80218240 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 649054 80218244 AFB10014 */ sw $s1, 0x14($sp) -/* 649058 80218248 0080882D */ daddu $s1, $a0, $zero -/* 64905C 8021824C AFBF001C */ sw $ra, 0x1c($sp) -/* 649060 80218250 AFB20018 */ sw $s2, 0x18($sp) -/* 649064 80218254 AFB00010 */ sw $s0, 0x10($sp) -/* 649068 80218258 F7B60028 */ sdc1 $f22, 0x28($sp) -/* 64906C 8021825C F7B40020 */ sdc1 $f20, 0x20($sp) -/* 649070 80218260 8E30000C */ lw $s0, 0xc($s1) -/* 649074 80218264 8E050000 */ lw $a1, ($s0) -/* 649078 80218268 0C0B1EAF */ jal evt_get_variable -/* 64907C 8021826C 26100004 */ addiu $s0, $s0, 4 -/* 649080 80218270 8E050000 */ lw $a1, ($s0) -/* 649084 80218274 26100004 */ addiu $s0, $s0, 4 -/* 649088 80218278 0220202D */ daddu $a0, $s1, $zero -/* 64908C 8021827C 0C0B1EAF */ jal evt_get_variable -/* 649090 80218280 0040902D */ daddu $s2, $v0, $zero -/* 649094 80218284 8E050000 */ lw $a1, ($s0) -/* 649098 80218288 26100004 */ addiu $s0, $s0, 4 -/* 64909C 8021828C 4482B000 */ mtc1 $v0, $f22 -/* 6490A0 80218290 00000000 */ nop -/* 6490A4 80218294 4680B5A0 */ cvt.s.w $f22, $f22 -/* 6490A8 80218298 0C0B1EAF */ jal evt_get_variable -/* 6490AC 8021829C 0220202D */ daddu $a0, $s1, $zero -/* 6490B0 802182A0 8E050000 */ lw $a1, ($s0) -/* 6490B4 802182A4 4482A000 */ mtc1 $v0, $f20 -/* 6490B8 802182A8 00000000 */ nop -/* 6490BC 802182AC 4680A520 */ cvt.s.w $f20, $f20 -/* 6490C0 802182B0 0C0B1EAF */ jal evt_get_variable -/* 6490C4 802182B4 0220202D */ daddu $a0, $s1, $zero -/* 6490C8 802182B8 8E43000C */ lw $v1, 0xc($s2) -/* 6490CC 802182BC E4760038 */ swc1 $f22, 0x38($v1) -/* 6490D0 802182C0 8E43000C */ lw $v1, 0xc($s2) -/* 6490D4 802182C4 E474003C */ swc1 $f20, 0x3c($v1) -/* 6490D8 802182C8 8E43000C */ lw $v1, 0xc($s2) -/* 6490DC 802182CC 44820000 */ mtc1 $v0, $f0 -/* 6490E0 802182D0 00000000 */ nop -/* 6490E4 802182D4 46800020 */ cvt.s.w $f0, $f0 -/* 6490E8 802182D8 E4600040 */ swc1 $f0, 0x40($v1) -/* 6490EC 802182DC 8FBF001C */ lw $ra, 0x1c($sp) -/* 6490F0 802182E0 8FB20018 */ lw $s2, 0x18($sp) -/* 6490F4 802182E4 8FB10014 */ lw $s1, 0x14($sp) -/* 6490F8 802182E8 8FB00010 */ lw $s0, 0x10($sp) -/* 6490FC 802182EC D7B60028 */ ldc1 $f22, 0x28($sp) -/* 649100 802182F0 D7B40020 */ ldc1 $f20, 0x20($sp) -/* 649104 802182F4 24020002 */ addiu $v0, $zero, 2 -/* 649108 802182F8 03E00008 */ jr $ra -/* 64910C 802182FC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/ver/us/splat.yaml b/ver/us/splat.yaml index 02cf21f85f..15cf2befb9 100644 --- a/ver/us/splat.yaml +++ b/ver/us/splat.yaml @@ -4918,16 +4918,25 @@ segments: start: 0x5573E0 vram: 0x80218000 subsegments: - - [0x5573E0, c] - - [0x557A80, c] - - [0x557AD0, c] - - [0x557EC0, c] - - [0x557F90, c] - - [0x5580C0, c] - - [0x558190, data] - - [0x56DF50, .rodata, 5573E0] - - [0x56DF90, rodata] - - [0x56E070] + - [0x5573E0, c, actor/big_lantern_ghost] + - [0x557870, c, stage/omo_01] + - [0x557A80, c, stage/omo_02] + - [0x557A80, c, stage/omo_03] + - [0x557A80, c, stage/omo_03b] + - [0x557A80, c, stage/omo_04] + - [0x557AD0, c, stage/omo_05] + - [0x557AD0, c, stage/omo_05b] + - [0x557AD0, c, stage/omo_06] + - [0x557AD0, c, stage/omo_07] + - [0x557AD0, c, actor/goomba] + - [0x557D50, c, actor/clubba] + - [0x557D50, c, actor/fuzzy] + - [0x557EC0, c, actor/hammer_bro] + - [0x557EC0, c, actor/pokey] + - [0x557F90, c, actor/koopatrol] + - [0x5580C0, c, actor/red_shy_guy] + - [0x558190, c, area] + - [0x558190] - dir: battle/area_kgr type: code start: 0x56E2A0 @@ -5125,13 +5134,21 @@ segments: start: 0x648E10 vram: 0x80218000 subsegments: - - [0x648E10, c] - - [0x649050, c] - - [0x649480, c] - - [0x6497F0, c] - - [0x649B60, c] - - [0x649ED0, c] - - [0x64A340, data] + - [0x648E10, c, actor/swoopula] + - [0x649050, c, actor/albino_dino] + - [0x649050, c, actor/white_clubba] + - [0x649050, c, actor/red_magikoopa] + - [0x649480, c, actor/green_magikoopa] + - [0x6497F0, c, actor/yellow_magikoopa] + - [0x649B60, c, actor/gray_magikoopa] + - [0x649ED0, c, actor/white_magikoopa] + - [0x64A340, c, stage/pra_01] + - [0x64A340, c, stage/pra_02] + - [0x64A340, c, stage/pra_03] + - [0x64A340, c, stage/pra_03b] + - [0x64A340, c, stage/pra_03c] + - [0x64A340, c, stage/pra_04] + - [0x64A340, c, area] - dir: battle/area_pra2 type: code start: 0x660750 @@ -5209,17 +5226,25 @@ segments: start: 0x6DDDC0 vram: 0x80218000 subsegments: - - [0x6DDDC0, c] - - [0x6DDE90, c] - - [0x6DE000, c] - - [0x6DE0D0, c] - - [0x6DE1A0, c] - - [0x6DE1F0, c] - - [0x6DE3A0, c] - - [0x6DE3F0, c] - - [0x6DE4A0, c] - - [0x6DE650, c] - - [0x6DE670, data] + - [0x669D80, c, actor/koopa_troopa] + - [0x6DDE90, c, actor/fuzzy] + - [0x6DE000, c, actor/pokey] + - [0x6DE0D0, c, actor/bandit] + - [0x6DE0D0, c, actor/red_shy_guy] + - [0x6DE1A0, c, actor/tubba_blubba] + - [0x6DE1A0, c, actor/monty_mole] + - [0x6DE1A0, c, actor/whacka] + - [0x6DE1F0, c, stage/dig_01] + - [0x6DE1F0, c, stage/dig_02] + - [0x6DE1F0, c, stage/dig_03] + - [0x6DE3A0, c, stage/dig_04] + - [0x6DE3F0, c, stage/dig_05] + - [0x6DE3F0, c, area] + - [0x6DE3F0, c, script/dig_01] + - [0x6DE4A0, c, script/dig_02] + - [0x6DE530, c, script/dig_03] + - [0x6DE5B0, c, script/dig_04] + - [0x6DE650, c, script/dig_05] ####################### ### Battle Partners ###