From d6849912701319d27f3815c804e90ea2f055b253 Mon Sep 17 00:00:00 2001 From: JoshDuMan <40190173+JoshDuMan@users.noreply.github.com> Date: Sat, 8 Jan 2022 00:43:11 -0500 Subject: [PATCH] Disassemble TRD Part 1 Battle Map (#607) --- include/macros.h | 1 + include/script_api/battle.h | 20 +- src/battle/area_nok/actor/koopa_troopa.c | 609 +------- src/battle/area_nok/actor/paratroopa.c | 1162 +-------------- src/battle/area_trd_part_1/4A10A0.c | 20 - src/battle/area_trd_part_1/4A1190.c | 9 - src/battle/area_trd_part_1/4A12C0.c | 5 - .../area_trd_part_1/actor/bill_blaster.c | 250 ++++ src/battle/area_trd_part_1/actor/bob_omb.c | 692 +++++++++ .../area_trd_part_1/actor/bullet_bill.c | 305 ++++ .../area_trd_part_1/actor/koopa_troopa.c | 5 + src/battle/area_trd_part_1/actor/paratroopa.c | 5 + src/battle/area_trd_part_1/area.c | 235 +++ src/battle/area_trd_part_1/stage/trd_00.c | 29 + src/battle/area_trd_part_1/stage/trd_01.c | 24 + src/battle/area_trd_part_1/stage/trd_02.c | 140 ++ src/battle/area_trd_part_1/stage/trd_02b.c | 137 ++ src/battle/area_trd_part_1/stage/trd_02c.c | 31 + src/battle/area_trd_part_1/stage/trd_02d.c | 132 ++ src/battle/area_trd_part_1/stage/trd_03.c | 39 + src/battle/area_trd_part_1/stage/trd_04.c | 87 ++ src/battle/area_trd_part_1/stage/trd_05.c | 139 ++ src/battle/area_trd_part_1/stage/trd_05b.c | 131 ++ src/battle/area_trd_part_1/stage/trd_05c.c | 139 ++ src/battle/area_trd_part_1/stage/trd_05d.c | 138 ++ src/battle/area_trd_part_1/stage/trd_05e.c | 129 ++ src/battle/area_trd_part_1/stage/trd_05f.c | 131 ++ src/battle/battle.c | 23 +- src/battle/battle_tables.h | 28 + src/battle/common/actor/koopa_troopa.inc.c | 610 ++++++++ src/battle/common/actor/paratroopa.inc.c | 1163 +++++++++++++++ tools/disasm_script.py | 1 + tools/star_rod_idx_to_c.py | 4 +- .../data/battle/area_trd_part_1/4A1530.data.s | 765 ---------- ver/us/splat.yaml | 25 +- ver/us/symbol_addrs.txt | 1262 ++++++++++++++--- 36 files changed, 5814 insertions(+), 2811 deletions(-) delete mode 100644 src/battle/area_trd_part_1/4A10A0.c delete mode 100644 src/battle/area_trd_part_1/4A1190.c delete mode 100644 src/battle/area_trd_part_1/4A12C0.c create mode 100644 src/battle/area_trd_part_1/actor/bill_blaster.c create mode 100644 src/battle/area_trd_part_1/actor/bob_omb.c create mode 100644 src/battle/area_trd_part_1/actor/bullet_bill.c create mode 100644 src/battle/area_trd_part_1/actor/koopa_troopa.c create mode 100644 src/battle/area_trd_part_1/actor/paratroopa.c create mode 100644 src/battle/area_trd_part_1/area.c create mode 100644 src/battle/area_trd_part_1/stage/trd_00.c create mode 100644 src/battle/area_trd_part_1/stage/trd_01.c create mode 100644 src/battle/area_trd_part_1/stage/trd_02.c create mode 100644 src/battle/area_trd_part_1/stage/trd_02b.c create mode 100644 src/battle/area_trd_part_1/stage/trd_02c.c create mode 100644 src/battle/area_trd_part_1/stage/trd_02d.c create mode 100644 src/battle/area_trd_part_1/stage/trd_03.c create mode 100644 src/battle/area_trd_part_1/stage/trd_04.c create mode 100644 src/battle/area_trd_part_1/stage/trd_05.c create mode 100644 src/battle/area_trd_part_1/stage/trd_05b.c create mode 100644 src/battle/area_trd_part_1/stage/trd_05c.c create mode 100644 src/battle/area_trd_part_1/stage/trd_05d.c create mode 100644 src/battle/area_trd_part_1/stage/trd_05e.c create mode 100644 src/battle/area_trd_part_1/stage/trd_05f.c create mode 100644 src/battle/battle_tables.h create mode 100644 src/battle/common/actor/koopa_troopa.inc.c create mode 100644 src/battle/common/actor/paratroopa.inc.c delete mode 100644 ver/us/asm/data/battle/area_trd_part_1/4A1530.data.s diff --git a/include/macros.h b/include/macros.h index f50c557cf0..ef0deacc99 100644 --- a/include/macros.h +++ b/include/macros.h @@ -14,6 +14,7 @@ #define ALIGN16(val) (((val) + 0xF) & ~0xF) +#define A(sym) NS(AREA, sym) #define N(sym) NS(NAMESPACE, sym) #define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0])) diff --git a/include/script_api/battle.h b/include/script_api/battle.h index e4a0ce8ecb..94fdec448d 100644 --- a/include/script_api/battle.h +++ b/include/script_api/battle.h @@ -303,14 +303,18 @@ ApiStatus func_802535B4(Evt* script, s32 isInitialCall); ApiStatus func_80276EFC(Evt* script, s32 isInitialCall); ApiStatus func_802D7520(Evt* script, s32 isInitialCall); ApiStatus func_802D75D8(Evt* script, s32 isInitialCall); -ApiStatus func_80273444(Evt *script, s32 isInitialCall); -ApiStatus GetActionCommandMode(Evt*, s32); -ApiStatus SetActionCommandMode(Evt*, s32); -ApiStatus WaitForState(Evt*, s32); -ApiStatus func_8026E020(Evt*, s32); -ApiStatus GetActionResult(Evt*, s32); -ApiStatus SetBattleState(Evt*, s32); -ApiStatus func_8027D434(Evt*, s32); +ApiStatus func_80273444(Evt* script, s32 isInitialCall); +ApiStatus GetActionCommandMode(Evt* script, s32 isInitialCall); +ApiStatus SetActionCommandMode(Evt* script, s32 isInitialCall); +ApiStatus WaitForState(Evt* script, s32 isInitialCall); +ApiStatus func_8026E020(Evt* script, s32 isInitialCall); +ApiStatus GetActionResult(Evt* script, s32 isInitialCall); +ApiStatus SetBattleState(Evt* script, s32 isInitialCall); +ApiStatus func_8027D434(Evt* script, s32 isInitialCall); +ApiStatus PlayLoopingSoundAtActor(Evt* script, s32 isInitialCall); +ApiStatus StopLoopingSoundAtActor(Evt* script, s32 isInitialCall); +ApiStatus func_8026ED20(Evt* script, s32 isInitialCall); +ApiStatus func_8026EBF8(Evt* script, s32 isInitialCall); extern EvtSource PlayerScriptDispatcher; extern EvtSource PeachScriptDispatcher; diff --git a/src/battle/area_nok/actor/koopa_troopa.c b/src/battle/area_nok/actor/koopa_troopa.c index e66d08c56b..8a17904302 100644 --- a/src/battle/area_nok/actor/koopa_troopa.c +++ b/src/battle/area_nok/actor/koopa_troopa.c @@ -1,612 +1,5 @@ #include "common.h" -#include "battle/battle.h" -#include "script_api/battle.h" -#include "sprite/npc/koopa_troopa.h" #define NAMESPACE b_area_nok_koopa_troopa -s32 N(defenseTable_8021FEE0)[] = { - ELEMENT_NORMAL, 1, - ELEMENT_HAMMER, 1, - ELEMENT_JUMP, 1, - ELEMENT_WATER, 1, - ELEMENT_BLAST, 1, - ELEMENT_END, -}; - -s32 N(defenseTable_8021FF0C)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_END, -}; - -s32 N(statusTable_8021FF18)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 90, - STATUS_POISON, 60, - STATUS_FROZEN, 100, - STATUS_DIZZY, 90, - STATUS_FEAR, 0, - STATUS_STATIC, 80, - STATUS_PARALYZE, 90, - 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, -}; - -extern s32 N(idleAnimations_80220010)[]; - -ActorPartDesc N(partsTable_8021FFC4)[] = { - { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, - .posOffset = { 0, 0, 0 }, - .targetOffset = { -2, 36 }, - .opacity = 255, - .idleAnimations = N(idleAnimations_80220010), - .defenseTable = N(defenseTable_8021FEE0), - .eventFlags = ACTOR_EVENT_FLAG_FLIPABLE, - .elementImmunityFlags = 0, - .unk_1C = 249, - }, -}; - -extern EvtSource N(init_802200F4); - -ActorDesc NAMESPACE = { - .flags = 0, - .type = ACTOR_TYPE_KOOPA_TROOPA, - .level = 6, - .maxHP = 4, - .partCount = ARRAY_COUNT(N(partsTable_8021FFC4)), - .partsData = N(partsTable_8021FFC4), - .script = N(init_802200F4), - .statusTable = N(statusTable_8021FF18), - .escapeChance = 70, - .airLiftChance = 90, - .spookChance = 90, - .baseStatusChance = 90, - .upAndAwayChance = 95, - .spinSmashReq = 0, - .powerBounceChance = 100, - .coinReward = 1, - .size = { 28, 36 }, - .hpBarOffset = { 0, 0 }, - .statusIconOffset = { -15, 32 }, - .statusMessageOffset = { 5, 32 }, -}; - -s32 N(idleAnimations_80220010)[] = { - STATUS_NORMAL, NPC_ANIM_koopa_troopa_Palette_01_Anim_1, - STATUS_STONE, NPC_ANIM_koopa_troopa_Palette_01_Anim_0, - STATUS_SLEEP, NPC_ANIM_koopa_troopa_Palette_01_Anim_11, - STATUS_POISON, NPC_ANIM_koopa_troopa_Palette_01_Anim_1, - STATUS_STOP, NPC_ANIM_koopa_troopa_Palette_01_Anim_0, - STATUS_STATIC, NPC_ANIM_koopa_troopa_Palette_01_Anim_1, - STATUS_PARALYZE, NPC_ANIM_koopa_troopa_Palette_01_Anim_0, - STATUS_DIZZY, NPC_ANIM_koopa_troopa_Palette_01_Anim_13, - STATUS_FEAR, NPC_ANIM_koopa_troopa_Palette_01_Anim_13, - STATUS_END, -}; - -s32 N(idleAnimations_8022005C)[] = { - STATUS_NORMAL, NPC_ANIM_koopa_troopa_Palette_01_Anim_3, - STATUS_STONE, NPC_ANIM_koopa_troopa_Palette_01_Anim_0, - STATUS_SLEEP, NPC_ANIM_koopa_troopa_Palette_01_Anim_11, - STATUS_POISON, NPC_ANIM_koopa_troopa_Palette_01_Anim_3, - STATUS_STOP, NPC_ANIM_koopa_troopa_Palette_01_Anim_0, - STATUS_STATIC, NPC_ANIM_koopa_troopa_Palette_01_Anim_3, - STATUS_PARALYZE, NPC_ANIM_koopa_troopa_Palette_01_Anim_0, - STATUS_DIZZY, NPC_ANIM_koopa_troopa_Palette_01_Anim_13, - STATUS_FEAR, NPC_ANIM_koopa_troopa_Palette_01_Anim_13, - STATUS_END, -}; - -s32 N(idleAnimations_802200A8)[] = { - STATUS_NORMAL, NPC_ANIM_koopa_troopa_Palette_01_Anim_F, - STATUS_STONE, NPC_ANIM_koopa_troopa_Palette_01_Anim_10, - STATUS_SLEEP, NPC_ANIM_koopa_troopa_Palette_01_Anim_12, - STATUS_POISON, NPC_ANIM_koopa_troopa_Palette_01_Anim_F, - STATUS_STOP, NPC_ANIM_koopa_troopa_Palette_01_Anim_10, - STATUS_STATIC, NPC_ANIM_koopa_troopa_Palette_01_Anim_F, - STATUS_PARALYZE, NPC_ANIM_koopa_troopa_Palette_01_Anim_10, - STATUS_DIZZY, NPC_ANIM_koopa_troopa_Palette_01_Anim_14, - STATUS_FEAR, NPC_ANIM_koopa_troopa_Palette_01_Anim_14, - STATUS_END, -}; - -extern EvtSource N(takeTurn_8022131C); -extern EvtSource N(idle_802202B0); -extern EvtSource N(handleEvent_80220798); - -EvtSource N(init_802200F4) = { - EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_ADDR(N(takeTurn_8022131C))) - EVT_CALL(BindIdle, ACTOR_SELF, EVT_ADDR(N(idle_802202B0))) - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_ADDR(N(handleEvent_80220798))) - EVT_CALL(SetActorVar, -127, 8, 0) - EVT_RETURN - EVT_END -}; - -#include "common/UnkBattleFunc1.inc.c" - -EvtSource N(80220158) = { - EVT_SWITCH(LW(0)) - EVT_CASE_EQ(0) - EVT_IF_FLAG(LW(1), 0x41000) - EVT_CALL(SetTargetOffset, -127, 1, -5, 15) - EVT_CALL(func_8027D4C8, -127, 1, 0, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) - EVT_ELSE - EVT_CALL(SetTargetOffset, -127, 1, -4, 32) - EVT_CALL(func_8027D4C8, -127, 1, -1, -4) - EVT_CALL(N(UnkBattleFunc1), -15, 32, 5, 32) - EVT_END_IF - EVT_CASE_EQ(1) - EVT_CALL(SetTargetOffset, -127, 1, -5, 15) - EVT_CALL(func_8027D4C8, -127, 1, 0, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) - EVT_END_SWITCH - EVT_RETURN - EVT_END -}; - -EvtSource N(idle_802202B0) = { - EVT_LABEL(0) - EVT_CALL(RandInt, 80, LW(10)) - EVT_ADD(LW(10), 80) - EVT_LOOP(LW(10)) - EVT_LABEL(1) - EVT_CALL(GetActorVar, -127, 8, LW(0)) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(1)) - EVT_EXEC_WAIT(N(80220158)) - EVT_IF_EQ(LW(0), 1) - EVT_WAIT_FRAMES(1) - EVT_GOTO(1) - EVT_END_IF - EVT_IF_FLAG(LW(1), 0x35D000) - EVT_WAIT_FRAMES(1) - EVT_GOTO(1) - EVT_END_IF - EVT_WAIT_FRAMES(1) - EVT_END_LOOP - EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_ADD(LW(0), 5) - EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022005C))) - EVT_CALL(SetIdleGoal, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(IdleRunToGoal, -127, 0) - EVT_CALL(GetActorVar, -127, 8, LW(0)) - EVT_SWITCH(LW(0)) - EVT_CASE_EQ(0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80220010))) - EVT_CASE_EQ(1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_802200A8))) - EVT_END_SWITCH - EVT_LOOP(20) - EVT_LABEL(2) - EVT_CALL(GetActorVar, -127, 8, LW(0)) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(1)) - EVT_EXEC_WAIT(N(80220158)) - EVT_IF_EQ(LW(0), 1) - EVT_WAIT_FRAMES(1) - EVT_GOTO(2) - EVT_END_IF - EVT_IF_FLAG(LW(1), 0x35D000) - EVT_WAIT_FRAMES(1) - EVT_GOTO(2) - EVT_END_IF - EVT_WAIT_FRAMES(1) - EVT_END_LOOP - EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_SUB(LW(0), 5) - EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022005C))) - EVT_CALL(SetIdleGoal, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(IdleRunToGoal, -127, 0) - EVT_CALL(GetActorVar, -127, 8, LW(0)) - EVT_SWITCH(LW(0)) - EVT_CASE_EQ(0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80220010))) - EVT_CASE_EQ(1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_802200A8))) - EVT_END_SWITCH - EVT_LOOP(80) - EVT_LABEL(3) - EVT_CALL(GetActorVar, -127, 8, LW(0)) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(1)) - EVT_EXEC_WAIT(N(80220158)) - EVT_IF_EQ(LW(0), 1) - EVT_WAIT_FRAMES(1) - EVT_GOTO(3) - EVT_END_IF - EVT_IF_FLAG(LW(1), 0x35D000) - EVT_WAIT_FRAMES(1) - EVT_GOTO(3) - EVT_END_IF - EVT_WAIT_FRAMES(1) - EVT_END_LOOP - EVT_GOTO(0) - EVT_RETURN - EVT_END -}; - -s32 N(D_80220740)[] = { - 0x00000009, 0x00000010, 0x00000016, 0x0000001A, 0x0000001E, 0x00000020, 0x00000021, 0x00000020, - 0x0000001E, 0x0000001A, 0x00000016, 0x00000010, 0x00000009, 0x00000000, 0x00000004, 0x00000006, - 0x00000007, 0x00000006, 0x00000004, 0x00000000, 0x00000002, 0x00000000, -}; - -EvtSource N(handleEvent_80220798) = { - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(GetLastEvent, ACTOR_SELF, LW(0)) - EVT_SWITCH(LW(0)) - EVT_CASE_OR_EQ(9) - EVT_CASE_OR_EQ(10) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) - EVT_EXEC_WAIT(DoNormalHit) - EVT_END_CASE_GROUP - EVT_CASE_EQ(14) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_C) - EVT_SET_CONST(LW(2), NPC_ANIM_koopa_troopa_Palette_01_Anim_D) - EVT_EXEC_WAIT(DoBurnHit) - EVT_CASE_EQ(36) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_C) - EVT_SET_CONST(LW(2), NPC_ANIM_koopa_troopa_Palette_01_Anim_D) - EVT_EXEC_WAIT(DoBurnHit) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_D) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_EQ(11) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) - EVT_EXEC_WAIT(DoSpinSmashHit) - EVT_CASE_EQ(33) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) - EVT_EXEC_WAIT(DoSpinSmashHit) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_EQ(13) - EVT_CALL(SetActorVar, -127, 8, 1) - EVT_CALL(SetActorVar, -127, 9, 2) - EVT_CALL(SetDefenseTable, -127, 1, EVT_ADDR(N(defenseTable_8021FF0C))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_802200A8))) - EVT_CALL(SetTargetOffset, -127, 1, -5, 15) - EVT_CALL(func_8027D4C8, -127, 1, 0, 0) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_400, 1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_B) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(10)) - EVT_CALL(SetActorRotationOffset, -127, 0, 12, 0) - EVT_CHILD_THREAD - EVT_WAIT_FRAMES(4) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 30) - EVT_WAIT_FRAMES(1) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) - EVT_WAIT_FRAMES(1) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -30) - EVT_WAIT_FRAMES(1) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -60) - EVT_WAIT_FRAMES(1) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -75) - EVT_WAIT_FRAMES(1) - EVT_END_CHILD_THREAD - EVT_USE_BUF(EVT_ADDR(N(D_80220740))) - EVT_LOOP(22) - EVT_BUF_READ1(LW(0)) - EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, LW(0), 0) - EVT_WAIT_FRAMES(1) - EVT_END_LOOP - EVT_CALL(SetActorRotationOffset, -127, 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, NPC_ANIM_koopa_troopa_Palette_01_Anim_F) - EVT_CASE_EQ(47) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) - EVT_EXEC_WAIT(DoShockHit) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) - EVT_EXEC_WAIT(DoJumpBack) - EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_4) - EVT_EXEC_WAIT(DoReturnHome) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6005859375)) - EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CASE_EQ(38) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) - EVT_EXEC_WAIT(DoShockHit) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_OR_EQ(23) - EVT_CASE_OR_EQ(25) - EVT_CALL(GetActorVar, -127, 8, LW(0)) - EVT_IF_EQ(LW(0), 0) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_7) - EVT_EXEC_WAIT(DoImmune) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(0)) - EVT_IF_NOT_FLAG(LW(0), 0x35D000) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_8) - EVT_WAIT_FRAMES(10) - EVT_END_IF - EVT_ELSE - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_F) - EVT_EXEC_WAIT(DoImmune) - EVT_END_IF - EVT_END_CASE_GROUP - EVT_CASE_EQ(32) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) - EVT_EXEC_WAIT(DoNormalHit) - EVT_WAIT_FRAMES(10) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_EQ(53) - EVT_CALL(GetActorVar, -127, 8, LW(0)) - EVT_IF_EQ(LW(0), 0) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_4) - EVT_EXEC_WAIT(DoReturnHome) - EVT_END_IF - EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(SetHomePos, -127, LW(0), LW(1), LW(2)) - EVT_CALL(HPBarToHome, ACTOR_SELF) - EVT_CASE_EQ(49) - EVT_CALL(GetActorVar, -127, 8, LW(0)) - EVT_IF_EQ(LW(0), 0) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_1) - EVT_EXEC_WAIT(DoRecover) - EVT_ELSE - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_F) - EVT_EXEC_WAIT(DoImmune) - EVT_END_IF - EVT_CASE_EQ(57) - EVT_CALL(GetActorVar, -127, 8, LW(0)) - EVT_IF_EQ(LW(0), 0) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_4) - EVT_SET_CONST(LW(2), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) - EVT_EXEC_WAIT(DoScareAway) - EVT_RETURN - EVT_ELSE - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_F) - EVT_EXEC_WAIT(DoImmune) - EVT_END_IF - EVT_CASE_EQ(58) - EVT_CALL(GetActorVar, -127, 8, LW(0)) - EVT_IF_EQ(LW(0), 0) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_17) - EVT_ELSE - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_F) - EVT_END_IF - EVT_EXEC_WAIT(DoAirLift) - EVT_CASE_EQ(22) - EVT_CALL(GetActorVar, -127, 8, LW(0)) - EVT_IF_EQ(LW(0), 0) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_17) - EVT_ELSE - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_F) - EVT_END_IF - EVT_EXEC_WAIT(DoBlowAway) - EVT_RETURN - EVT_CASE_EQ(31) - EVT_CALL(GetActorVar, -127, 8, LW(0)) - EVT_IF_EQ(LW(0), 0) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_1) - EVT_EXEC_WAIT(DoImmune) - EVT_ELSE - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_F) - EVT_EXEC_WAIT(DoImmune) - EVT_END_IF - EVT_END_SWITCH - EVT_CALL(EnableIdleScript, ACTOR_SELF, -1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END -}; - -EvtSource N(takeTurn_8022131C) = { - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(GetBattlePhase, LW(0)) - EVT_IF_EQ(LW(0), 1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_6) - EVT_ELSE - EVT_CALL(GetActorVar, -127, 8, LW(0)) - EVT_IF_EQ(LW(0), 1) - EVT_CALL(GetActorVar, -127, 9, LW(0)) - EVT_SUB(LW(0), 1) - EVT_IF_GT(LW(0), 0) - EVT_CALL(SetActorVar, -127, 9, LW(0)) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(3.0)) - EVT_WAIT_FRAMES(30) - 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_FRAMES(20) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(SetActorSounds, -127, 2, 0, 0) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_JUMP_3E2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_F) - EVT_SET(LW(0), 0) - EVT_CALL(SetActorRotationOffset, -127, 0, 12, 0) - EVT_CHILD_THREAD - EVT_LOOP(5) - EVT_ADD(LW(0), 15) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LW(0)) - EVT_WAIT_FRAMES(1) - EVT_END_LOOP - EVT_END_CHILD_THREAD - EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - 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(SetActorRotationOffset, -127, 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, NPC_ANIM_koopa_troopa_Palette_01_Anim_1) - EVT_CALL(SetActorVar, -127, 8, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80220010))) - EVT_CALL(SetDefenseTable, -127, 1, EVT_ADDR(N(defenseTable_8021FEE0))) - EVT_CALL(SetTargetOffset, -127, 1, -4, 32) - EVT_CALL(func_8027D4C8, -127, 1, -1, -4) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_400, 0) - EVT_CALL(ResetActorSounds, -127, 2) - EVT_END_IF - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END_IF - EVT_CALL(UseBattleCamPreset, 63) - EVT_CALL(BattleCamTargetActor, ACTOR_SELF) - EVT_WAIT_FRAMES(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_7) - EVT_WAIT_FRAMES(10) - EVT_CHILD_THREAD - EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_ADD(LW(1), 4) - EVT_CALL(PlayEffect, 0x1D, 1, LW(0), LW(1), LW(2), 32, 4, 0, 10, 0, 0, 0, 0, 0) - EVT_WAIT_FRAMES(3) - EVT_CALL(PlayEffect, 0x1D, 1, LW(0), LW(1), LW(2), 32, 4, 0, 10, 0, 0, 0, 0, 0) - EVT_WAIT_FRAMES(2) - EVT_CALL(PlayEffect, 0x1D, 1, LW(0), LW(1), LW(2), 32, 4, 0, 10, 0, 0, 0, 0, 0) - EVT_END_CHILD_THREAD - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x2021) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_6) - EVT_WAIT_FRAMES(10) - EVT_CALL(func_8024ECF8, -1, 1, 0) - EVT_END_IF - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x20D3) - EVT_CALL(SetActorSounds, -127, 0, 0, 0) - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), 0, 0, 1, 16) - EVT_SWITCH(LW(0)) - EVT_CASE_OR_EQ(6) - EVT_CASE_OR_EQ(5) - EVT_SET(LW(10), LW(0)) - 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, LW(0)) - EVT_IF_EQ(LW(0), 1) - EVT_CALL(UseBattleCamPreset, 5) - EVT_CALL(SetBattleCamZoom, 300) - EVT_CALL(SetBattleCamOffsetZ, 20) - EVT_CALL(MoveBattleCamOver, 10) - EVT_CALL(func_8024ECF8, -1, 1, 0) - EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_8) - EVT_WAIT_FRAMES(8) - EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_WAIT_FRAMES(4) - EVT_IF_EQ(LW(10), 5) - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) - EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_15) - EVT_WAIT_FRAMES(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_16) - EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_ADD(LW(1), 20) - EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) - EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_17) - EVT_WAIT_FRAMES(6) - EVT_SUB(LW(1), 20) - EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(UseBattleCamPreset, 2) - EVT_CALL(YieldTurn) - EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_17) - 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, NPC_ANIM_koopa_troopa_Palette_01_Anim_1) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(SetPartYaw, -127, 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_FRAMES(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LW(0), 0, 65535, 0, 1, 32) - EVT_SWITCH(LW(0)) - EVT_CASE_OR_EQ(0) - EVT_CASE_OR_EQ(2) - EVT_CALL(UseBattleCamPreset, 2) - EVT_CALL(GetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_ADD(LW(0), 40) - EVT_SET(LW(1), 0) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.80078125)) - EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_ADD(LW(0), 30) - EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) - EVT_ADD(LW(0), 20) - EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_8) - EVT_WAIT_FRAMES(8) - EVT_CALL(YieldTurn) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_4) - EVT_EXEC_WAIT(DoReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_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/koopa_troopa.inc.c" diff --git a/src/battle/area_nok/actor/paratroopa.c b/src/battle/area_nok/actor/paratroopa.c index 6a6a62eabd..6bd2770149 100644 --- a/src/battle/area_nok/actor/paratroopa.c +++ b/src/battle/area_nok/actor/paratroopa.c @@ -1,1165 +1,5 @@ #include "common.h" -#include "battle/battle.h" -#include "script_api/battle.h" -#include "sprite/npc/koopa_troopa.h" -#include "sprite/npc/para_troopa.h" #define NAMESPACE b_area_nok_paratroopa -s32 N(defenseTable_80223900)[] = { - ELEMENT_NORMAL, 1, - ELEMENT_HAMMER, 1, - ELEMENT_JUMP, 1, - ELEMENT_WATER, 1, - ELEMENT_BLAST, 1, - ELEMENT_END, -}; - -s32 N(defenseTable_8022392C)[] = { - ELEMENT_NORMAL, 1, - ELEMENT_END, -}; - -s32 N(defenseTable_80223938)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_END, -}; - -s32 N(statusTable_80223944)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 90, - STATUS_POISON, 60, - STATUS_FROZEN, 100, - STATUS_DIZZY, 90, - STATUS_FEAR, 0, - STATUS_STATIC, 80, - STATUS_PARALYZE, 90, - 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, -}; - -s32 N(statusTable_802239F0)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 90, - STATUS_POISON, 60, - STATUS_FROZEN, 100, - STATUS_DIZZY, 90, - STATUS_FEAR, 0, - STATUS_STATIC, 80, - STATUS_PARALYZE, 90, - 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, -}; - -extern s32 N(idleAnimations_802258D0)[]; -extern s32 N(idleAnimations_80223B30)[]; -extern s32 N(idleAnimations_80223BC8)[]; - -ActorPartDesc N(partsTable_80223A9C)[] = { - { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 1, - .posOffset = { 0, 0, 0 }, - .targetOffset = { -2, 36 }, - .opacity = 255, - .idleAnimations = N(idleAnimations_802258D0), - .defenseTable = N(defenseTable_80223900), - .eventFlags = ACTOR_EVENT_FLAG_FLIPABLE, - .elementImmunityFlags = 0, - .unk_1C = 249, - }, - { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, - .posOffset = { 0, 0, 0 }, - .targetOffset = { -4, 36 }, - .opacity = 255, - .idleAnimations = N(idleAnimations_80223B30), - .defenseTable = N(defenseTable_8022392C), - .eventFlags = ACTOR_EVENT_FLAG_GROUNDABLE, - .elementImmunityFlags = 0, - .unk_1C = 754, - }, - { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 3, - .posOffset = { 0, 0, 0 }, - .targetOffset = { 0, 32 }, - .opacity = 255, - .idleAnimations = N(idleAnimations_80223BC8), - .defenseTable = N(defenseTable_80223900), - .eventFlags = ACTOR_EVENT_FLAG_0, - .elementImmunityFlags = 0, - .unk_1C = 246, - }, -}; - -extern EvtSource N(init_80223C3C); - -ActorDesc NAMESPACE = { - .flags = ACTOR_FLAG_FLYING, - .type = ACTOR_TYPE_PARATROOPA, - .level = 6, - .maxHP = 4, - .partCount = ARRAY_COUNT(N(partsTable_80223A9C)), - .partsData = N(partsTable_80223A9C), - .script = N(init_80223C3C), - .statusTable = N(statusTable_802239F0), - .escapeChance = 60, - .airLiftChance = 95, - .spookChance = 100, - .baseStatusChance = 90, - .upAndAwayChance = 95, - .spinSmashReq = 0, - .powerBounceChance = 90, - .coinReward = 1, - .size = { 50, 38 }, - .hpBarOffset = { 0, 0 }, - .statusIconOffset = { -10, 29 }, - .statusMessageOffset = { 8, 30 }, -}; - -s32 N(idleAnimations_80223B30)[] = { - STATUS_NORMAL, NPC_ANIM_para_troopa_Palette_01_Anim_1, - STATUS_STONE, NPC_ANIM_para_troopa_Palette_01_Anim_0, - STATUS_SLEEP, NPC_ANIM_para_troopa_Palette_01_Anim_12, - STATUS_POISON, NPC_ANIM_para_troopa_Palette_01_Anim_0, - STATUS_STOP, NPC_ANIM_para_troopa_Palette_01_Anim_0, - STATUS_STATIC, NPC_ANIM_para_troopa_Palette_01_Anim_1, - STATUS_PARALYZE, NPC_ANIM_para_troopa_Palette_01_Anim_0, - STATUS_DIZZY, NPC_ANIM_para_troopa_Palette_01_Anim_13, - STATUS_FEAR, NPC_ANIM_para_troopa_Palette_01_Anim_13, - STATUS_END, -}; - -s32 N(idleAnimations_80223B7C)[] = { - STATUS_NORMAL, NPC_ANIM_para_troopa_Palette_01_Anim_1, - STATUS_STONE, NPC_ANIM_para_troopa_Palette_01_Anim_0, - STATUS_SLEEP, NPC_ANIM_para_troopa_Palette_01_Anim_12, - STATUS_POISON, NPC_ANIM_para_troopa_Palette_01_Anim_0, - STATUS_STOP, NPC_ANIM_para_troopa_Palette_01_Anim_0, - STATUS_STATIC, NPC_ANIM_para_troopa_Palette_01_Anim_1, - STATUS_PARALYZE, NPC_ANIM_para_troopa_Palette_01_Anim_0, - STATUS_DIZZY, NPC_ANIM_para_troopa_Palette_01_Anim_13, - STATUS_FEAR, NPC_ANIM_para_troopa_Palette_01_Anim_13, - STATUS_END, -}; - -s32 N(idleAnimations_80223BC8)[] = { - STATUS_NORMAL, NPC_ANIM_para_troopa_Palette_01_Anim_F, - STATUS_STONE, NPC_ANIM_para_troopa_Palette_01_Anim_0, - STATUS_SLEEP, NPC_ANIM_para_troopa_Palette_01_Anim_12, - STATUS_POISON, NPC_ANIM_para_troopa_Palette_01_Anim_0, - STATUS_STOP, NPC_ANIM_para_troopa_Palette_01_Anim_0, - STATUS_STATIC, NPC_ANIM_para_troopa_Palette_01_Anim_F, - STATUS_PARALYZE, NPC_ANIM_para_troopa_Palette_01_Anim_0, - STATUS_DIZZY, NPC_ANIM_para_troopa_Palette_01_Anim_13, - STATUS_FEAR, NPC_ANIM_para_troopa_Palette_01_Anim_13, - STATUS_END, -}; - -EvtSource N(nextTurn_80223C14) = { - EVT_CALL(SetActorVar, -127, 0, 0) - EVT_RETURN - EVT_END -}; - -extern EvtSource N(takeTurn_80224854); -extern EvtSource N(idle_80223D8C); -extern EvtSource N(handleEvent_8022411C); - -EvtSource N(init_80223C3C) = { - EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_ADDR(N(takeTurn_80224854))) - EVT_CALL(BindIdle, ACTOR_SELF, EVT_ADDR(N(idle_80223D8C))) - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_ADDR(N(handleEvent_8022411C))) - EVT_CALL(BindNextTurn, -127, EVT_ADDR(N(nextTurn_80223C14))) - EVT_CALL(SetActorVar, -127, 0, 0) - EVT_RETURN - EVT_END -}; - -#include "common/StartRumbleWithParams.inc.c" - -#include "common/UnkBattleFunc1.inc.c" - -EvtSource N(80223CB4) = { - EVT_IF_FLAG(LW(1), 0x41000) - EVT_CALL(SetTargetOffset, -127, 2, 0, 25) - EVT_CALL(func_8027D4C8, -127, 2, 3, -6) - EVT_CALL(N(UnkBattleFunc1), -19, 25, 4, 28) - EVT_ELSE - EVT_CALL(SetTargetOffset, -127, 2, -2, 36) - EVT_CALL(func_8027D4C8, -127, 2, 0, -7) - EVT_CALL(N(UnkBattleFunc1), -10, 29, 8, 30) - EVT_END_IF - EVT_RETURN - EVT_END -}; - -EvtSource N(idle_80223D8C) = { - EVT_LABEL(10) - EVT_CALL(RandInt, 80, LW(0)) - EVT_ADD(LW(0), 80) - EVT_LOOP(LW(0)) - EVT_LABEL(0) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(1)) - EVT_EXEC_WAIT(N(80223CB4)) - EVT_IF_FLAG(LW(1), 0x35D000) - EVT_WAIT_FRAMES(1) - EVT_GOTO(0) - EVT_END_IF - EVT_WAIT_FRAMES(1) - EVT_END_LOOP - EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_ADD(LW(0), 5) - EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(0.6005859375)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_ADDR(N(idleAnimations_80223B7C))) - EVT_CALL(SetIdleGoal, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(IdleFlyToGoal, ACTOR_SELF, 0, -5, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80223B30))) - EVT_LOOP(20) - EVT_LABEL(1) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(1)) - EVT_EXEC_WAIT(N(80223CB4)) - EVT_IF_FLAG(LW(1), 0x35D000) - EVT_WAIT_FRAMES(1) - EVT_GOTO(1) - EVT_END_IF - EVT_WAIT_FRAMES(1) - EVT_END_LOOP - EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_SUB(LW(0), 5) - EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(0.6005859375)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_ADDR(N(idleAnimations_80223B7C))) - EVT_CALL(SetIdleGoal, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(IdleFlyToGoal, ACTOR_SELF, 0, -5, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_ADDR(N(idleAnimations_80223B30))) - EVT_LOOP(40) - EVT_LABEL(2) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(1)) - EVT_EXEC_WAIT(N(80223CB4)) - EVT_IF_FLAG(LW(1), 0x35D000) - EVT_WAIT_FRAMES(1) - EVT_GOTO(2) - EVT_END_IF - EVT_WAIT_FRAMES(1) - EVT_END_LOOP - EVT_GOTO(10) - EVT_RETURN - EVT_END -}; - -EvtSource N(8022409C) = { - EVT_CALL(SetAnimation, ACTOR_SELF, 2, NPC_ANIM_para_troopa_Palette_01_Anim_3) - EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, 11) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, NPC_ANIM_para_troopa_Palette_01_Anim_1) - EVT_RETURN - EVT_END -}; - -extern EvtSource N(8022530C); - -EvtSource N(handleEvent_8022411C) = { - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(GetLastEvent, ACTOR_SELF, LW(0)) - EVT_SWITCH(LW(0)) - EVT_CASE_EQ(9) - EVT_CALL(SetActorVar, -127, 0, 1) - EVT_SET_CONST(LW(0), 0x00000002) - EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_7) - EVT_EXEC_WAIT(DoNormalHit) - EVT_CASE_EQ(10) - EVT_SET_CONST(LW(0), 0x00000002) - EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_7) - EVT_EXEC_WAIT(DoNormalHit) - EVT_CALL(GetBattlePhase, LW(0)) - EVT_IF_EQ(LW(0), 1) - EVT_CALL(GetEncounterState, LW(0)) - EVT_IF_EQ(LW(0), 4) - EVT_EXEC_WAIT(N(8022530C)) - EVT_END_IF - EVT_END_IF - EVT_CASE_EQ(11) - EVT_SET_CONST(LW(0), 0x00000002) - EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_7) - EVT_EXEC_WAIT(DoSpinSmashHit) - EVT_CASE_EQ(33) - EVT_SET_CONST(LW(0), 0x00000002) - EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_7) - EVT_EXEC_WAIT(DoSpinSmashHit) - EVT_SET_CONST(LW(0), 0x00000002) - EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_6) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_EQ(14) - EVT_SET_CONST(LW(0), 0x00000002) - EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_8) - EVT_SET_CONST(LW(2), NPC_ANIM_para_troopa_Palette_01_Anim_9) - EVT_EXEC_WAIT(DoBurnHit) - EVT_CASE_EQ(36) - EVT_SET_CONST(LW(0), 0x00000002) - EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_8) - EVT_SET_CONST(LW(2), NPC_ANIM_para_troopa_Palette_01_Anim_9) - EVT_EXEC_WAIT(DoBurnHit) - EVT_SET_CONST(LW(0), 0x00000002) - EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_9) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_EQ(12) - EVT_SET_CONST(LW(0), 0x00000002) - EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_7) - EVT_EXEC_WAIT(DoNormalHit) - EVT_EXEC_WAIT(N(8022530C)) - EVT_CASE_EQ(15) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_8) - EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_9) - EVT_EXEC_WAIT(DoBurnHit) - EVT_EXEC_WAIT(N(8022530C)) - EVT_CASE_EQ(47) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_7) - EVT_EXEC_WAIT(DoShockHit) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_6) - EVT_EXEC_WAIT(DoJumpBack) - EVT_EXEC_WAIT(N(8022409C)) - EVT_CASE_EQ(38) - EVT_SET_CONST(LW(0), 0x00000002) - EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_7) - EVT_EXEC_WAIT(DoShockHit) - EVT_SET_CONST(LW(0), 0x00000002) - EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_6) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_EQ(23) - EVT_CALL(SetActorVar, -127, 0, 1) - EVT_SET_CONST(LW(0), 0x00000002) - EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_B) - EVT_EXEC_WAIT(DoImmune) - EVT_CASE_OR_EQ(25) - EVT_CASE_OR_EQ(31) - EVT_SET_CONST(LW(0), 0x00000002) - EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_B) - EVT_EXEC_WAIT(DoImmune) - EVT_CALL(GetBattlePhase, LW(0)) - EVT_IF_EQ(LW(0), 1) - EVT_CALL(GetEncounterState, LW(0)) - EVT_IF_EQ(LW(0), 4) - EVT_EXEC_WAIT(N(8022530C)) - EVT_END_IF - EVT_END_IF - EVT_END_CASE_GROUP - EVT_CASE_EQ(32) - EVT_SET_CONST(LW(0), 0x00000002) - EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_7) - EVT_EXEC_WAIT(DoNormalHit) - EVT_WAIT_FRAMES(10) - EVT_SET_CONST(LW(0), 0x00000002) - EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_6) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_EQ(56) - EVT_CALL(SetActorPos, ACTOR_SELF, 20, 0, 0) - EVT_CALL(HPBarToCurrent, ACTOR_SELF) - EVT_CASE_EQ(53) - EVT_EXEC_WAIT(N(8022409C)) - EVT_CALL(HPBarToHome, ACTOR_SELF) - EVT_CASE_EQ(49) - EVT_SET_CONST(LW(0), 0x00000002) - EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_1) - EVT_EXEC_WAIT(DoRecover) - EVT_CASE_EQ(57) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, 0) - EVT_SET_CONST(LW(0), 0x00000002) - EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_3) - EVT_SET_CONST(LW(2), NPC_ANIM_para_troopa_Palette_01_Anim_7) - EVT_EXEC_WAIT(DoScareAway) - EVT_RETURN - EVT_CASE_EQ(58) - EVT_SET_CONST(LW(0), 0x00000002) - EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_3) - EVT_EXEC_WAIT(DoAirLift) - EVT_CASE_EQ(22) - EVT_SET_CONST(LW(0), 0x00000002) - EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_7) - 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 -}; - -EvtSource N(takeTurn_80224854) = { - 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(UseBattleCamPreset, 5) - EVT_CALL(BattleCamTargetActor, ACTOR_SELF) - EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, NPC_ANIM_para_troopa_Palette_01_Anim_3) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(AddGoalPos, ACTOR_SELF, 40, 30, 0) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(7.0)) - EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -16, 0) - EVT_CALL(func_8024E664, 1) - EVT_WAIT_FRAMES(5) - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), 0, 0, 1, 16) - EVT_SWITCH(LW(0)) - EVT_CASE_OR_EQ(6) - EVT_CASE_OR_EQ(5) - EVT_SET(LW(10), LW(0)) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x20E0) - EVT_CALL(SetActorSounds, -127, 1, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, NPC_ANIM_para_troopa_Palette_01_Anim_4) - EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(AddGoalPos, ACTOR_SELF, 6, 6, 0) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(2.0)) - EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 0, 0) - EVT_WAIT_FRAMES(6) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_UNUSED_2C1) - EVT_CALL(SetActorSounds, -127, 1, 0, 0) - EVT_CALL(GetActorPos, ACTOR_PLAYER, LW(0), LW(1), LW(2)) - EVT_SUB(LW(0), 25) - EVT_SET(LW(1), 0) - EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(10.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, NPC_ANIM_para_troopa_Palette_01_Anim_C) - EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 0, 0) - EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_SUB(LW(0), 30) - EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_THREAD - EVT_CALL(SetActorRotationOffset, -127, 0, 10, 0) - EVT_SET(LW(0), 0) - EVT_LOOP(8) - EVT_ADD(LW(0), 90) - EVT_IF_GE(LW(0), 360) - EVT_SUB(LW(0), 360) - EVT_END_IF - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LW(0)) - EVT_WAIT_FRAMES(1) - EVT_END_LOOP - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetActorRotationOffset, -127, 0, -10, 0) - EVT_END_THREAD - EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_SUB(LW(0), 30) - EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, NPC_ANIM_para_troopa_Palette_01_Anim_7) - EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_SUB(LW(0), 30) - EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, NPC_ANIM_para_troopa_Palette_01_Anim_7) - EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_IF_EQ(LW(10), 5) - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) - EVT_END_IF - EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_ADD(LW(1), 30) - EVT_CALL(SetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_WAIT_FRAMES(20) - EVT_CALL(UseBattleCamPreset, 2) - EVT_CALL(YieldTurn) - EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 2, 0, 2) - EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_EXEC_WAIT(N(8022409C)) - EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - 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, 0x20E0) - EVT_CALL(SetActorSounds, -127, 1, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, NPC_ANIM_para_troopa_Palette_01_Anim_4) - EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(AddGoalPos, ACTOR_SELF, 6, 6, 0) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(2.0)) - EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 0, 0) - EVT_WAIT_FRAMES(6) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_UNUSED_2C1) - EVT_CALL(SetActorSounds, -127, 1, 0, 0) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(10.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, NPC_ANIM_para_troopa_Palette_01_Anim_C) - EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 0, 0) - EVT_WAIT_FRAMES(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LW(0), 0, 65535, 0, 1, 32) - EVT_SWITCH(LW(0)) - EVT_CASE_OR_EQ(0) - EVT_CASE_OR_EQ(2) - EVT_CALL(UseBattleCamPreset, 2) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(AddGoalPos, ACTOR_SELF, 40, 30, 0) - EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, NPC_ANIM_para_troopa_Palette_01_Anim_D) - EVT_THREAD - EVT_CALL(SetActorRotationOffset, -127, 0, 10, 0) - EVT_SET(LW(0), 0) - EVT_LOOP(12) - EVT_SUB(LW(0), 90) - EVT_IF_LT(LW(0), 0) - EVT_ADD(LW(0), 360) - EVT_END_IF - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LW(0)) - EVT_WAIT_FRAMES(1) - EVT_END_LOOP - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetActorRotationOffset, -127, 0, -10, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, NPC_ANIM_para_troopa_Palette_01_Anim_1) - EVT_END_THREAD - EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 30, 0) - EVT_WAIT_FRAMES(10) - EVT_CALL(YieldTurn) - EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_EXEC_WAIT(N(8022409C)) - EVT_END_CASE_GROUP - EVT_END_SWITCH - EVT_CALL(EnableIdleScript, ACTOR_SELF, -1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END -}; - -extern EvtSource N(802259B4); - -EvtSource N(8022530C) = { - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 2, 0, 0, 0) - EVT_CALL(func_8027D32C, -127) - EVT_CALL(SetPartFlags, ACTOR_SELF, 2, 131077) - EVT_CALL(SetPartFlags, ACTOR_SELF, 3, 1179652) - EVT_CALL(SetPartFlags, ACTOR_SELF, 1, 8388612) - EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_ADD(LW(1), 8) - EVT_SUB(LW(2), 2) - EVT_CALL(SetPartPos, ACTOR_SELF, 3, LW(0), LW(1), LW(2)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_B) - EVT_CALL(SetActorSounds, -127, 2, 769, 0) - EVT_CALL(GetActorVar, -127, 0, LW(10)) - EVT_IF_EQ(LW(10), 0) - EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_SET(LW(1), 0) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.80078125)) - EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) - EVT_CALL(N(StartRumbleWithParams), 128, 7) - EVT_THREAD - EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(0.30078125)) - EVT_END_THREAD - EVT_CALL(ResetActorSounds, -127, 2) - EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_LOOP(10) - EVT_CALL(SetPartFlagBits, -127, 3, 1, 1) - EVT_WAIT_FRAMES(1) - EVT_CALL(SetPartFlagBits, -127, 3, 1, 0) - EVT_WAIT_FRAMES(1) - EVT_END_LOOP - EVT_CALL(SetPartFlagBits, -127, 3, 1, 1) - EVT_ELSE - EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_SET(LW(1), 0) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.80078125)) - EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) - EVT_THREAD - EVT_LOOP(10) - EVT_CALL(SetPartFlagBits, -127, 3, 1, 1) - EVT_WAIT_FRAMES(1) - EVT_CALL(SetPartFlagBits, -127, 3, 1, 0) - EVT_WAIT_FRAMES(1) - EVT_END_LOOP - EVT_CALL(SetPartFlagBits, -127, 3, 1, 1) - EVT_END_THREAD - EVT_CALL(N(StartRumbleWithParams), 150, 7) - EVT_THREAD - EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(0.30078125)) - EVT_END_THREAD - EVT_CALL(ResetActorSounds, -127, 2) - EVT_END_IF - EVT_CALL(GetIndexFromHome, -127, LW(0)) - EVT_MOD(LW(0), 4) - EVT_CALL(SetGoalToIndex, -127, LW(0)) - EVT_CALL(GetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(SetHomePos, -127, LW(0), LW(1), LW(2)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_1) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, 0) - EVT_CALL(SetStatusTable, -127, EVT_ADDR(N(statusTable_80223944))) - EVT_CALL(BindNextTurn, -127, 0) - EVT_EXEC_WAIT(N(802259B4)) - EVT_CALL(SetActorType, -127, 11) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_1000, 1) - EVT_CALL(HPBarToHome, ACTOR_SELF) - EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_IF_NE(LW(10), 0) - EVT_CALL(DispatchEvent, ACTOR_SELF, 13) - EVT_END_IF - EVT_RETURN - EVT_END -}; - -s32 N(idleAnimations_802258D0)[] = { - STATUS_NORMAL, NPC_ANIM_koopa_troopa_Palette_01_Anim_1, - STATUS_STONE, NPC_ANIM_koopa_troopa_Palette_01_Anim_0, - STATUS_SLEEP, NPC_ANIM_koopa_troopa_Palette_01_Anim_11, - STATUS_POISON, NPC_ANIM_koopa_troopa_Palette_01_Anim_1, - STATUS_STOP, NPC_ANIM_koopa_troopa_Palette_01_Anim_0, - STATUS_STATIC, NPC_ANIM_koopa_troopa_Palette_01_Anim_1, - STATUS_PARALYZE, NPC_ANIM_koopa_troopa_Palette_01_Anim_0, - STATUS_DIZZY, NPC_ANIM_koopa_troopa_Palette_01_Anim_13, - STATUS_FEAR, NPC_ANIM_koopa_troopa_Palette_01_Anim_13, - STATUS_END, -}; - -s32 N(idleAnimations_8022591C)[] = { - STATUS_NORMAL, NPC_ANIM_koopa_troopa_Palette_01_Anim_3, - STATUS_STONE, NPC_ANIM_koopa_troopa_Palette_01_Anim_0, - STATUS_SLEEP, NPC_ANIM_koopa_troopa_Palette_01_Anim_11, - STATUS_POISON, NPC_ANIM_koopa_troopa_Palette_01_Anim_3, - STATUS_STOP, NPC_ANIM_koopa_troopa_Palette_01_Anim_0, - STATUS_STATIC, NPC_ANIM_koopa_troopa_Palette_01_Anim_3, - STATUS_PARALYZE, NPC_ANIM_koopa_troopa_Palette_01_Anim_0, - STATUS_DIZZY, NPC_ANIM_koopa_troopa_Palette_01_Anim_13, - STATUS_FEAR, NPC_ANIM_koopa_troopa_Palette_01_Anim_13, - STATUS_END, -}; - -s32 N(idleAnimations_80225968)[] = { - STATUS_NORMAL, NPC_ANIM_koopa_troopa_Palette_01_Anim_F, - STATUS_STONE, NPC_ANIM_koopa_troopa_Palette_01_Anim_10, - STATUS_SLEEP, NPC_ANIM_koopa_troopa_Palette_01_Anim_12, - STATUS_POISON, NPC_ANIM_koopa_troopa_Palette_01_Anim_F, - STATUS_STOP, NPC_ANIM_koopa_troopa_Palette_01_Anim_10, - STATUS_STATIC, NPC_ANIM_koopa_troopa_Palette_01_Anim_F, - STATUS_PARALYZE, NPC_ANIM_koopa_troopa_Palette_01_Anim_10, - STATUS_DIZZY, NPC_ANIM_koopa_troopa_Palette_01_Anim_14, - STATUS_FEAR, NPC_ANIM_koopa_troopa_Palette_01_Anim_14, - STATUS_END, -}; - -extern EvtSource N(takeTurn_80226BDC); -extern EvtSource N(idle_80225B70); -extern EvtSource N(handleEvent_80226058); - -EvtSource N(802259B4) = { - EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_ADDR(N(takeTurn_80226BDC))) - EVT_CALL(BindIdle, ACTOR_SELF, EVT_ADDR(N(idle_80225B70))) - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_ADDR(N(handleEvent_80226058))) - EVT_CALL(SetActorVar, -127, 8, 0) - EVT_RETURN - EVT_END -}; - -EvtSource N(80225A18) = { - EVT_SWITCH(LW(0)) - EVT_CASE_EQ(0) - EVT_IF_FLAG(LW(1), 0x41000) - EVT_CALL(SetTargetOffset, -127, 1, -5, 15) - EVT_CALL(func_8027D4C8, -127, 1, 0, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) - EVT_ELSE - EVT_CALL(SetTargetOffset, -127, 1, -4, 32) - EVT_CALL(func_8027D4C8, -127, 1, -1, -4) - EVT_CALL(N(UnkBattleFunc1), -15, 32, 5, 32) - EVT_END_IF - EVT_CASE_EQ(1) - EVT_CALL(SetTargetOffset, -127, 1, -5, 15) - EVT_CALL(func_8027D4C8, -127, 1, 0, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) - EVT_END_SWITCH - EVT_RETURN - EVT_END -}; - -EvtSource N(idle_80225B70) = { - EVT_LABEL(0) - EVT_CALL(RandInt, 80, LW(10)) - EVT_ADD(LW(10), 80) - EVT_LOOP(LW(10)) - EVT_LABEL(1) - EVT_CALL(GetActorVar, -127, 8, LW(0)) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(1)) - EVT_EXEC_WAIT(N(80225A18)) - EVT_IF_EQ(LW(0), 1) - EVT_WAIT_FRAMES(1) - EVT_GOTO(1) - EVT_END_IF - EVT_IF_FLAG(LW(1), 0x35D000) - EVT_WAIT_FRAMES(1) - EVT_GOTO(1) - EVT_END_IF - EVT_WAIT_FRAMES(1) - EVT_END_LOOP - EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_ADD(LW(0), 5) - EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022591C))) - EVT_CALL(SetIdleGoal, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(IdleRunToGoal, -127, 0) - EVT_CALL(GetActorVar, -127, 8, LW(0)) - EVT_SWITCH(LW(0)) - EVT_CASE_EQ(0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_802258D0))) - EVT_CASE_EQ(1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80225968))) - EVT_END_SWITCH - EVT_LOOP(20) - EVT_LABEL(2) - EVT_CALL(GetActorVar, -127, 8, LW(0)) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(1)) - EVT_EXEC_WAIT(N(80225A18)) - EVT_IF_EQ(LW(0), 1) - EVT_WAIT_FRAMES(1) - EVT_GOTO(2) - EVT_END_IF - EVT_IF_FLAG(LW(1), 0x35D000) - EVT_WAIT_FRAMES(1) - EVT_GOTO(2) - EVT_END_IF - EVT_WAIT_FRAMES(1) - EVT_END_LOOP - EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_SUB(LW(0), 5) - EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022591C))) - EVT_CALL(SetIdleGoal, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(IdleRunToGoal, -127, 0) - EVT_CALL(GetActorVar, -127, 8, LW(0)) - EVT_SWITCH(LW(0)) - EVT_CASE_EQ(0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_802258D0))) - EVT_CASE_EQ(1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80225968))) - EVT_END_SWITCH - EVT_LOOP(80) - EVT_LABEL(3) - EVT_CALL(GetActorVar, -127, 8, LW(0)) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(1)) - EVT_EXEC_WAIT(N(80225A18)) - EVT_IF_EQ(LW(0), 1) - EVT_WAIT_FRAMES(1) - EVT_GOTO(3) - EVT_END_IF - EVT_IF_FLAG(LW(1), 0x35D000) - EVT_WAIT_FRAMES(1) - EVT_GOTO(3) - EVT_END_IF - EVT_WAIT_FRAMES(1) - EVT_END_LOOP - EVT_GOTO(0) - EVT_RETURN - EVT_END -}; - -s32 N(intTable_80226000)[] = { - 0x00000009, 0x00000010, 0x00000016, 0x0000001A, 0x0000001E, 0x00000020, 0x00000021, 0x00000020, - 0x0000001E, 0x0000001A, 0x00000016, 0x00000010, 0x00000009, 0x00000000, 0x00000004, 0x00000006, - 0x00000007, 0x00000006, 0x00000004, 0x00000000, 0x00000002, 0x00000000, -}; - -EvtSource N(handleEvent_80226058) = { - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(GetLastEvent, ACTOR_SELF, LW(0)) - EVT_SWITCH(LW(0)) - EVT_CASE_OR_EQ(9) - EVT_CASE_OR_EQ(10) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) - EVT_EXEC_WAIT(DoNormalHit) - EVT_END_CASE_GROUP - EVT_CASE_EQ(14) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_C) - EVT_SET_CONST(LW(2), NPC_ANIM_koopa_troopa_Palette_01_Anim_D) - EVT_EXEC_WAIT(DoBurnHit) - EVT_CASE_EQ(36) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_C) - EVT_SET_CONST(LW(2), NPC_ANIM_koopa_troopa_Palette_01_Anim_D) - EVT_EXEC_WAIT(DoBurnHit) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_D) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_EQ(11) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) - EVT_EXEC_WAIT(DoSpinSmashHit) - EVT_CASE_EQ(33) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) - EVT_EXEC_WAIT(DoSpinSmashHit) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_EQ(13) - EVT_CALL(SetActorVar, -127, 8, 1) - EVT_CALL(SetActorVar, -127, 9, 2) - EVT_CALL(SetDefenseTable, -127, 1, EVT_ADDR(N(defenseTable_80223938))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80225968))) - EVT_CALL(SetTargetOffset, -127, 1, -5, 15) - EVT_CALL(func_8027D4C8, -127, 1, 0, 0) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_400, 1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_B) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(10)) - EVT_CALL(SetActorRotationOffset, -127, 0, 12, 0) - EVT_CHILD_THREAD - EVT_WAIT_FRAMES(4) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 30) - EVT_WAIT_FRAMES(1) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) - EVT_WAIT_FRAMES(1) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -30) - EVT_WAIT_FRAMES(1) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -60) - EVT_WAIT_FRAMES(1) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -75) - EVT_WAIT_FRAMES(1) - EVT_END_CHILD_THREAD - EVT_USE_BUF(EVT_ADDR(N(intTable_80226000))) - EVT_LOOP(22) - EVT_BUF_READ1(LW(0)) - EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, LW(0), 0) - EVT_WAIT_FRAMES(1) - EVT_END_LOOP - EVT_CALL(SetActorRotationOffset, -127, 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, NPC_ANIM_koopa_troopa_Palette_01_Anim_F) - EVT_CASE_EQ(47) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) - EVT_EXEC_WAIT(DoShockHit) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) - EVT_EXEC_WAIT(DoJumpBack) - EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_4) - EVT_EXEC_WAIT(DoReturnHome) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6005859375)) - EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CASE_EQ(38) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) - EVT_EXEC_WAIT(DoShockHit) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_OR_EQ(23) - EVT_CASE_OR_EQ(25) - EVT_CALL(GetActorVar, -127, 8, LW(0)) - EVT_IF_EQ(LW(0), 0) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_7) - EVT_EXEC_WAIT(DoImmune) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(0)) - EVT_IF_NOT_FLAG(LW(0), 0x35D000) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_8) - EVT_WAIT_FRAMES(10) - EVT_END_IF - EVT_ELSE - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_F) - EVT_EXEC_WAIT(DoImmune) - EVT_END_IF - EVT_END_CASE_GROUP - EVT_CASE_EQ(32) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) - EVT_EXEC_WAIT(DoNormalHit) - EVT_WAIT_FRAMES(10) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) - EVT_EXEC_WAIT(DoDeath) - EVT_RETURN - EVT_CASE_EQ(53) - EVT_CALL(GetActorVar, -127, 8, LW(0)) - EVT_IF_EQ(LW(0), 0) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_4) - EVT_EXEC_WAIT(DoReturnHome) - EVT_END_IF - EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(SetHomePos, -127, LW(0), LW(1), LW(2)) - EVT_CALL(HPBarToHome, ACTOR_SELF) - EVT_CASE_EQ(49) - EVT_CALL(GetActorVar, -127, 8, LW(0)) - EVT_IF_EQ(LW(0), 0) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_1) - EVT_EXEC_WAIT(DoRecover) - EVT_ELSE - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_F) - EVT_EXEC_WAIT(DoImmune) - EVT_END_IF - EVT_CASE_EQ(57) - EVT_CALL(GetActorVar, -127, 8, LW(0)) - EVT_IF_EQ(LW(0), 0) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_4) - EVT_SET_CONST(LW(2), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) - EVT_EXEC_WAIT(DoScareAway) - EVT_RETURN - EVT_ELSE - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_F) - EVT_EXEC_WAIT(DoImmune) - EVT_END_IF - EVT_CASE_EQ(58) - EVT_CALL(GetActorVar, -127, 8, LW(0)) - EVT_IF_EQ(LW(0), 0) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_17) - EVT_ELSE - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_F) - EVT_END_IF - EVT_EXEC_WAIT(DoAirLift) - EVT_CASE_EQ(22) - EVT_CALL(GetActorVar, -127, 8, LW(0)) - EVT_IF_EQ(LW(0), 0) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_17) - EVT_ELSE - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_F) - EVT_END_IF - EVT_EXEC_WAIT(DoBlowAway) - EVT_RETURN - EVT_CASE_EQ(31) - EVT_CALL(GetActorVar, -127, 8, LW(0)) - EVT_IF_EQ(LW(0), 0) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_1) - EVT_EXEC_WAIT(DoImmune) - EVT_ELSE - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_F) - EVT_EXEC_WAIT(DoImmune) - EVT_END_IF - EVT_END_SWITCH - EVT_CALL(EnableIdleScript, ACTOR_SELF, -1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END -}; - -EvtSource N(takeTurn_80226BDC) = { - EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(GetBattlePhase, LW(0)) - EVT_IF_EQ(LW(0), 1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_6) - EVT_ELSE - EVT_CALL(GetActorVar, -127, 8, LW(0)) - EVT_IF_EQ(LW(0), 1) - EVT_CALL(GetActorVar, -127, 9, LW(0)) - EVT_SUB(LW(0), 1) - EVT_IF_GT(LW(0), 0) - EVT_CALL(SetActorVar, -127, 9, LW(0)) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(3.0)) - EVT_WAIT_FRAMES(30) - 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_FRAMES(20) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(SetActorSounds, -127, 2, 0, 0) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_JUMP_3E2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_F) - EVT_SET(LW(0), 0) - EVT_CALL(SetActorRotationOffset, -127, 0, 12, 0) - EVT_CHILD_THREAD - EVT_LOOP(5) - EVT_ADD(LW(0), 15) - EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LW(0)) - EVT_WAIT_FRAMES(1) - EVT_END_LOOP - EVT_END_CHILD_THREAD - EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - 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(SetActorRotationOffset, -127, 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, NPC_ANIM_koopa_troopa_Palette_01_Anim_1) - EVT_CALL(SetActorVar, -127, 8, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_802258D0))) - EVT_CALL(SetDefenseTable, -127, 1, EVT_ADDR(N(defenseTable_80223900))) - EVT_CALL(SetTargetOffset, -127, 1, -4, 32) - EVT_CALL(func_8027D4C8, -127, 1, -1, -4) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_400, 0) - EVT_CALL(ResetActorSounds, -127, 2) - EVT_END_IF - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_END_IF - EVT_CALL(UseBattleCamPreset, 63) - EVT_CALL(BattleCamTargetActor, ACTOR_SELF) - EVT_WAIT_FRAMES(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_7) - EVT_WAIT_FRAMES(10) - EVT_CHILD_THREAD - EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_ADD(LW(1), 4) - EVT_CALL(PlayEffect, 0x1D, 1, LW(0), LW(1), LW(2), 32, 4, 0, 10, 0, 0, 0, 0, 0) - EVT_WAIT_FRAMES(3) - EVT_CALL(PlayEffect, 0x1D, 1, LW(0), LW(1), LW(2), 32, 4, 0, 10, 0, 0, 0, 0, 0) - EVT_WAIT_FRAMES(2) - EVT_CALL(PlayEffect, 0x1D, 1, LW(0), LW(1), LW(2), 32, 4, 0, 10, 0, 0, 0, 0, 0) - EVT_END_CHILD_THREAD - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x2021) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_6) - EVT_WAIT_FRAMES(10) - EVT_CALL(func_8024ECF8, -1, 1, 0) - EVT_END_IF - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x20D3) - EVT_CALL(SetActorSounds, -127, 0, 0, 0) - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), 0, 0, 1, 16) - EVT_SWITCH(LW(0)) - EVT_CASE_OR_EQ(6) - EVT_CASE_OR_EQ(5) - EVT_SET(LW(10), LW(0)) - 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, LW(0)) - EVT_IF_EQ(LW(0), 1) - EVT_CALL(UseBattleCamPreset, 5) - EVT_CALL(SetBattleCamZoom, 300) - EVT_CALL(SetBattleCamOffsetZ, 20) - EVT_CALL(MoveBattleCamOver, 10) - EVT_CALL(func_8024ECF8, -1, 1, 0) - EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_8) - EVT_WAIT_FRAMES(8) - EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_WAIT_FRAMES(4) - EVT_IF_EQ(LW(10), 5) - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) - EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_15) - EVT_WAIT_FRAMES(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_16) - EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_ADD(LW(1), 20) - EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) - EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_17) - EVT_WAIT_FRAMES(6) - EVT_SUB(LW(1), 20) - EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(UseBattleCamPreset, 2) - EVT_CALL(YieldTurn) - EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_17) - 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, NPC_ANIM_koopa_troopa_Palette_01_Anim_1) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(SetPartYaw, -127, 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_FRAMES(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LW(0), 0, 65535, 0, 1, 32) - EVT_SWITCH(LW(0)) - EVT_CASE_OR_EQ(0) - EVT_CASE_OR_EQ(2) - EVT_CALL(UseBattleCamPreset, 2) - EVT_CALL(GetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_ADD(LW(0), 40) - EVT_SET(LW(1), 0) - EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.80078125)) - EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_ADD(LW(0), 30) - EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) - EVT_ADD(LW(0), 20) - EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) - EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_8) - EVT_WAIT_FRAMES(8) - EVT_CALL(YieldTurn) - EVT_SET_CONST(LW(0), 0x00000001) - EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_4) - EVT_EXEC_WAIT(DoReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_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/paratroopa.inc.c" diff --git a/src/battle/area_trd_part_1/4A10A0.c b/src/battle/area_trd_part_1/4A10A0.c deleted file mode 100644 index 0f820e992f..0000000000 --- a/src/battle/area_trd_part_1/4A10A0.c +++ /dev/null @@ -1,20 +0,0 @@ -#include "common.h" - -#define NAMESPACE b_area_trd_part_1 - -typedef struct AreaTrdPart1Struct { - /* 0x00 */ char unk_00[12]; - /* 0x0C */ s32 unk_0C; - /* 0x10 */ s32 unk_10; -} AreaTrdPart1Struct; - -extern AreaTrdPart1Struct D_8021A4E8_4A3588; - -ApiStatus func_80218000_4A10A0(Evt* script, s32 isInitialCall) { - D_8021A4E8_4A3588.unk_0C = 1; - D_8021A4E8_4A3588.unk_10 = script->owner1.actorID; - - return ApiStatus_DONE2; -} - -#include "common/UnkBattleFunc1.inc.c" diff --git a/src/battle/area_trd_part_1/4A1190.c b/src/battle/area_trd_part_1/4A1190.c deleted file mode 100644 index 2c0cb3b70d..0000000000 --- a/src/battle/area_trd_part_1/4A1190.c +++ /dev/null @@ -1,9 +0,0 @@ -#include "common.h" - -#define NAMESPACE b_area_trd_part_1 - -#include "common/StartRumbleWithParams.inc.c" - -#define NAMESPACE dup_b_area_trd_part_1 -#include "common/UnkBattleFunc1.inc.c" -#define NAMESPACE b_area_trd_part_1 diff --git a/src/battle/area_trd_part_1/4A12C0.c b/src/battle/area_trd_part_1/4A12C0.c deleted file mode 100644 index f8167b29ad..0000000000 --- a/src/battle/area_trd_part_1/4A12C0.c +++ /dev/null @@ -1,5 +0,0 @@ -#include "common.h" - -#define NAMESPACE b_area_trd_part_1 - -#include "common/UnkAngleFunc2.inc.c" diff --git a/src/battle/area_trd_part_1/actor/bill_blaster.c b/src/battle/area_trd_part_1/actor/bill_blaster.c new file mode 100644 index 0000000000..f080f21929 --- /dev/null +++ b/src/battle/area_trd_part_1/actor/bill_blaster.c @@ -0,0 +1,250 @@ +#include "common.h" +#include "effects.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "sprite/npc/bill_blaster.h" + +#define AREA b_area_trd_part_1 + +#define NAMESPACE A(bill_blaster) + +s32 N(defenseTable_80219D20)[] = { + ELEMENT_NORMAL, 1, + ELEMENT_END, +}; + +s32 N(statusTable_80219D2C)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 0, + STATUS_POISON, 0, + STATUS_FROZEN, 100, + STATUS_DIZZY, 0, + STATUS_FEAR, 0, + STATUS_STATIC, 0, + STATUS_PARALYZE, 0, + STATUS_SHRINK, 50, + 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, +}; + +extern s32 N(idleAnimations_80219E48)[]; +extern EvtSource N(init_80219E6C); + +ActorPartDesc N(partsTable_80219DD8)[] = { + { + .flags = ACTOR_PART_FLAG_NO_TARGET, + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { -6, 29 }, + .opacity = 255, + .idleAnimations = N(idleAnimations_80219E48), + .defenseTable = N(defenseTable_80219D20), + .eventFlags = ACTOR_EVENT_FLAG_0, + .elementImmunityFlags = 0, + .unk_1C = 247, + }, + { + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, + .index = 2, + .posOffset = { 100, 0, 0 }, + .targetOffset = { -106, 29 }, + .opacity = 255, + .idleAnimations = N(idleAnimations_80219E48), + .defenseTable = N(defenseTable_80219D20), + .eventFlags = ACTOR_EVENT_FLAG_0, + .elementImmunityFlags = 0, + .unk_1C = 247, + }, +}; + +ActorDesc NAMESPACE = { + .flags = 0, + .type = ACTOR_TYPE_BILL_BLASTER, + .level = 10, + .maxHP = 4, + .partCount = ARRAY_COUNT(N(partsTable_80219DD8)), + .partsData = N(partsTable_80219DD8), + .script = N(init_80219E6C), + .statusTable = N(statusTable_80219D2C), + .escapeChance = 0, + .airLiftChance = 20, + .spookChance = 15, + .baseStatusChance = 0, + .upAndAwayChance = 95, + .spinSmashReq = 4, + .powerBounceChance = 100, + .coinReward = 1, + .size = { 55, 32 }, + .hpBarOffset = { 8, 0 }, + .statusIconOffset = { -24, 20 }, + .statusMessageOffset = { 5, 25 }, +}; + +s32 N(idleAnimations_80219E48)[] = { + STATUS_NORMAL, NPC_ANIM_bill_blaster_Palette_00_Anim_1, + STATUS_STONE, NPC_ANIM_bill_blaster_Palette_00_Anim_0, + STATUS_STOP, NPC_ANIM_bill_blaster_Palette_00_Anim_0, + STATUS_PARALYZE, NPC_ANIM_bill_blaster_Palette_00_Anim_0, + STATUS_END, +}; + +extern EvtSource N(takeTurn_8021A200); +extern EvtSource N(idle_80219ED0); +extern EvtSource N(handleEvent_80219EE0); + +EvtSource N(init_80219E6C) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_ADDR(N(takeTurn_8021A200))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_ADDR(N(idle_80219ED0))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_ADDR(N(handleEvent_80219EE0))) + EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) + EVT_RETURN + EVT_END +}; + +EvtSource N(idle_80219ED0) = { + EVT_RETURN + EVT_END +}; + +EvtSource N(handleEvent_80219EE0) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(GetLastEvent, ACTOR_SELF, LW(0)) + EVT_SWITCH(LW(0)) + EVT_CASE_OR_EQ(EVENT_HIT_COMBO) + EVT_CASE_OR_EQ(EVENT_HIT) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bill_blaster_Palette_00_Anim_3) + EVT_EXEC_WAIT(DoNormalHit) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_BURN_HIT) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bill_blaster_Palette_00_Anim_3) + EVT_SET_CONST(LW(2), -1) + EVT_EXEC_WAIT(DoBurnHit) + EVT_CASE_EQ(EVENT_BURN_DEATH) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bill_blaster_Palette_00_Anim_3) + EVT_SET_CONST(LW(2), -1) + EVT_EXEC_WAIT(DoBurnHit) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bill_blaster_Palette_00_Anim_3) + 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(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bill_blaster_Palette_00_Anim_1) + EVT_EXEC_WAIT(DoImmune) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_DEATH) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bill_blaster_Palette_00_Anim_3) + EVT_EXEC_WAIT(DoNormalHit) + EVT_WAIT_FRAMES(10) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bill_blaster_Palette_00_Anim_3) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_RECOVER_STATUS) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bill_blaster_Palette_00_Anim_1) + EVT_EXEC_WAIT(DoRecover) + EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bill_blaster_Palette_00_Anim_3) + EVT_EXEC_WAIT(DoAirLift) + EVT_CASE_EQ(EVENT_BLOW_AWAY) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bill_blaster_Palette_00_Anim_3) + 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 +}; + +extern EvtSource N(8021A2BC); +extern EvtSource N(8021A470); + +EvtSource N(takeTurn_8021A200) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_SWITCH(LW(0)) + EVT_CASE_EQ(0) + EVT_EXEC_WAIT(N(8021A2BC)) + EVT_CASE_EQ(1) + EVT_EXEC_WAIT(N(8021A470)) + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +extern Formation N(specialFormation_8021A4E8); + +ApiStatus func_80218000_4A10A0(Evt* script, s32 isInitialCall) { + N(specialFormation_8021A4E8)[0].var0 = 1; + N(specialFormation_8021A4E8)[0].var1 = script->owner1.actorID; + + return ApiStatus_DONE2; +} + + +EvtSource N(8021A2BC) = { + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_bill_blaster_Palette_00_Anim_2) + EVT_WAIT_FRAMES(13) + EVT_THREAD + EVT_CALL(ShakeCam, 1, 0, 10, EVT_FLOAT(1.0)) + EVT_END_THREAD + EVT_CALL(StartRumble, 9) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x2C8) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_SUB(LW(0), 33) + EVT_ADD(LW(1), 19) + EVT_ADD(LW(2), 3) + EVT_CALL(PlayEffect, EFFECT_ID_00, LW(0), LW(1), LW(2), 2, 5, 0, 2, 0, 0, 0, 0, 0, 0) + EVT_CALL(PlayEffect, EFFECT_ID_00, LW(0), LW(1), LW(2), 2, 5, 2, 2, 0, 0, 0, 0, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(func_80218000_4A10A0) + EVT_CALL(SummonEnemy, EVT_ADDR(N(specialFormation_8021A4E8)), 0) + EVT_CALL(SetActorVar, ACTOR_SELF, 0, LW(0)) + EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) + EVT_RETURN + EVT_END +}; + +EvtSource N(8021A470) = { + EVT_CALL(GetActorVar, ACTOR_SELF, 0, LW(0)) + EVT_CALL(ActorExists, LW(0), LW(1)) + EVT_IF_EQ(LW(1), FALSE) + EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +extern ActorDesc A(bullet_bill); + +Vec3i N(vector3D_8021A4DC) = { 0, -1000, 0, }; + +Formation N(specialFormation_8021A4E8) = { + { .actor = &A(bullet_bill), .home = { .vec = &N(vector3D_8021A4DC) }, .priority = 100 }, +}; diff --git a/src/battle/area_trd_part_1/actor/bob_omb.c b/src/battle/area_trd_part_1/actor/bob_omb.c new file mode 100644 index 0000000000..2eccb6e787 --- /dev/null +++ b/src/battle/area_trd_part_1/actor/bob_omb.c @@ -0,0 +1,692 @@ +#include "common.h" +#include "effects.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "sprite/npc/bob_omb.h" + +#define NAMESPACE b_area_trd_part_1_bob_omb + +s32 N(idleAnimations_8021A510)[] = { + STATUS_NORMAL, NPC_ANIM_bob_omb_Palette_00_Anim_2, + STATUS_STONE, NPC_ANIM_bob_omb_Palette_00_Anim_0, + STATUS_SLEEP, NPC_ANIM_bob_omb_Palette_00_Anim_18, + STATUS_POISON, NPC_ANIM_bob_omb_Palette_00_Anim_4, + STATUS_STOP, NPC_ANIM_bob_omb_Palette_00_Anim_0, + STATUS_STATIC, NPC_ANIM_bob_omb_Palette_00_Anim_2, + STATUS_PARALYZE, NPC_ANIM_bob_omb_Palette_00_Anim_0, + STATUS_DIZZY, NPC_ANIM_bob_omb_Palette_00_Anim_1C, + STATUS_FEAR, NPC_ANIM_bob_omb_Palette_00_Anim_1C, + STATUS_END, +}; + +s32 N(idleAnimations_8021A55C)[] = { + STATUS_NORMAL, NPC_ANIM_bob_omb_Palette_00_Anim_5, + STATUS_STONE, NPC_ANIM_bob_omb_Palette_00_Anim_1, + STATUS_SLEEP, NPC_ANIM_bob_omb_Palette_00_Anim_18, + STATUS_POISON, NPC_ANIM_bob_omb_Palette_00_Anim_5, + STATUS_STOP, NPC_ANIM_bob_omb_Palette_00_Anim_1, + STATUS_STATIC, NPC_ANIM_bob_omb_Palette_00_Anim_3, + STATUS_PARALYZE, NPC_ANIM_bob_omb_Palette_00_Anim_1, + STATUS_DIZZY, NPC_ANIM_bob_omb_Palette_00_Anim_1D, + STATUS_FEAR, NPC_ANIM_bob_omb_Palette_00_Anim_1D, + STATUS_END, +}; + +s32 N(defenseTable_8021A5A8)[] = { + ELEMENT_NORMAL, 0, + ELEMENT_END, +}; + +s32 N(statusTable_8021A5B4)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 75, + STATUS_POISON, 0, + STATUS_FROZEN, 100, + STATUS_DIZZY, 80, + STATUS_FEAR, 0, + STATUS_STATIC, 0, + STATUS_PARALYZE, 80, + STATUS_SHRINK, 90, + 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, 0, + STATUS_END, +}; + +s32 N(statusTable_8021A660)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 0, + STATUS_POISON, 0, + STATUS_FROZEN, 0, + STATUS_DIZZY, 40, + STATUS_FEAR, 0, + STATUS_STATIC, 0, + STATUS_PARALYZE, 40, + 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, +}; + +ActorPartDesc N(partsTable_8021A70C)[] = { + { + .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 24 }, + .opacity = 255, + .idleAnimations = N(idleAnimations_8021A510), + .defenseTable = N(defenseTable_8021A5A8), + .eventFlags = ACTOR_EVENT_FLAG_EXPLOSIVE, + .elementImmunityFlags = 0, + .unk_1C = 247, + }, +}; + +extern EvtSource N(init_8021A758); + +ActorDesc NAMESPACE = { + .flags = 0, + .type = ACTOR_TYPE_BOB_OMB, + .level = 6, + .maxHP = 3, + .partCount = ARRAY_COUNT(N(partsTable_8021A70C)), + .partsData = N(partsTable_8021A70C), + .script = N(init_8021A758), + .statusTable = N(statusTable_8021A5B4), + .escapeChance = 70, + .airLiftChance = 90, + .spookChance = 90, + .baseStatusChance = 90, + .upAndAwayChance = 95, + .spinSmashReq = 0, + .powerBounceChance = 100, + .coinReward = 1, + .size = { 34, 35 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -10, 20 }, + .statusMessageOffset = { 10, 20 }, +}; + +extern EvtSource N(takeTurn_8021C89C); +extern EvtSource N(idle_8021A7D4); +extern EvtSource N(handleEvent_8021ACE8); + +EvtSource N(init_8021A758) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_ADDR(N(takeTurn_8021C89C))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_ADDR(N(idle_8021A7D4))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_ADDR(N(handleEvent_8021ACE8))) + EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) + EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) + EVT_RETURN + EVT_END +}; + +EvtSource N(idle_8021A7D4) = { + EVT_RETURN + EVT_END +}; + +extern EvtSource N(handleEvent_8021B4A8); + +EvtSource N(ignite) = { + EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(0)) + EVT_IF_FLAG(LW(0), STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_RETURN + EVT_END_IF + EVT_LABEL(0) + EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8021A55C))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_ADDR(N(handleEvent_8021B4A8))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_8000, 1) + EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_ADDR(N(statusTable_8021A660))) + EVT_CALL(PlayLoopingSoundAtActor, ACTOR_SELF, 0, 0x80000001) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_bob_omb_Palette_00_Anim_5) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), 0, LW(2)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) + EVT_CALL(func_8026ED20, ACTOR_SELF, 1, 1) + EVT_CALL(func_8026EBF8, ACTOR_SELF, 1, 0, 2, 0, 10, 0, 10, 0, 0) + EVT_CALL(func_8026EA7C, ACTOR_SELF, 1, 15) + EVT_WAIT_FRAMES(3) + EVT_CALL(StopLoopingSoundAtActor, ACTOR_SELF, 0) + EVT_RETURN + EVT_END +}; + +EvtSource N(8021A9C8) = { + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_ADDR(N(handleEvent_8021ACE8))) + EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8021A510))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_8000, 0) + EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_ADDR(N(statusTable_8021A5B4))) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(2), 2) + EVT_CALL(PlayEffect, EFFECT_ID_06, 3, LW(0), LW(1), LW(2), 0, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_CALL(StopLoopingSoundAtActor, ACTOR_SELF, 0) + EVT_CALL(func_8026ED20, ACTOR_SELF, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtSource N(8021AAE8) = { + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_IF_EQ(LW(0), 1) + EVT_CALL(StopLoopingSoundAtActor, ACTOR_SELF, 0) + EVT_CALL(func_8026ED20, ACTOR_SELF, 1, 0) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtSource N(8021AB54) = { + EVT_EXEC_WAIT(N(8021AAE8)) + EVT_CALL(StartRumble, 11) + EVT_THREAD + EVT_CALL(ShakeCam, 1, 0, 2, EVT_FLOAT(0.75)) + EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(3.0)) + EVT_CALL(ShakeCam, 1, 0, 10, EVT_FLOAT(4.5)) + EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(3.0)) + EVT_END_THREAD + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(2), 2) + EVT_CALL(PlayEffect, EFFECT_ID_17, 0, LW(0), LW(1), LW(2), 0, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_ADD(LW(1), 20) + EVT_ADD(LW(2), 2) + EVT_CALL(PlayEffect, EFFECT_ID_19, 0, LW(0), LW(1), LW(2), 0, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BOMB_BLAST) + EVT_RETURN + EVT_END +}; + +EvtSource N(handleEvent_8021ACE8) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(GetLastEvent, ACTOR_SELF, LW(0)) + EVT_SWITCH(LW(0)) + EVT_CASE_EQ(EVENT_HIT_COMBO) + EVT_CALL(GetLastDamage, ACTOR_SELF, LW(0)) + EVT_IF_NE(LW(0), 0) + EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) + EVT_END_IF + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_E) + EVT_EXEC_WAIT(DoNormalHit) + EVT_CASE_EQ(EVENT_HIT) + EVT_CALL(GetLastElement, LW(14)) + EVT_IF_FLAG(LW(14), DAMAGE_TYPE_ELECTRIC) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_10) + EVT_SET_CONST(LW(2), NPC_ANIM_bob_omb_Palette_00_Anim_11) + EVT_EXEC_WAIT(DoBurnHit) + EVT_EXEC_WAIT(N(8021AB54)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_11) + EVT_SET(LW(2), -12345) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_ELSE + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_E) + EVT_EXEC_WAIT(DoNormalHit) + EVT_CALL(GetLastDamage, ACTOR_SELF, LW(0)) + EVT_IF_NE(LW(0), 0) + EVT_EXEC_WAIT(N(ignite)) + EVT_END_IF + EVT_END_IF + EVT_CASE_OR_EQ(EVENT_BURN_HIT) + EVT_CASE_OR_EQ(EVENT_BURN_DEATH) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_10) + EVT_SET_CONST(LW(2), NPC_ANIM_bob_omb_Palette_00_Anim_11) + EVT_EXEC_WAIT(DoBurnHit) + EVT_EXEC_WAIT(N(8021AB54)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_11) + EVT_SET(LW(2), -12345) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_E) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_CALL(GetLastDamage, ACTOR_SELF, LW(0)) + EVT_IF_NE(LW(0), 0) + EVT_EXEC_WAIT(N(ignite)) + EVT_END_IF + EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_E) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_EXEC_WAIT(N(8021AAE8)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_E) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_OR_EQ(EVENT_SHOCK_HIT) + EVT_CASE_OR_EQ(EVENT_SHOCK_DEATH) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_10) + EVT_SET(LW(2), -12345) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_UNKNOWN_TRIGGER) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_2) + EVT_EXEC_WAIT(DoImmune) + EVT_CASE_OR_EQ(EVENT_IMMUNE) + EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_2) + EVT_EXEC_WAIT(DoImmune) + EVT_CALL(GetActorVar, ACTOR_SELF, 0, LW(0)) + EVT_IF_EQ(LW(0), 1) + EVT_EXEC_WAIT(N(ignite)) + EVT_END_IF + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_DEATH) + EVT_CALL(GetLastElement, LW(14)) + EVT_IF_FLAG(LW(14), DAMAGE_TYPE_ELECTRIC) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_10) + EVT_SET_CONST(LW(2), NPC_ANIM_bob_omb_Palette_00_Anim_11) + EVT_EXEC_WAIT(DoBurnHit) + EVT_EXEC_WAIT(N(8021AB54)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_11) + EVT_SET(LW(2), -12345) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_ELSE + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_E) + EVT_EXEC_WAIT(DoNormalHit) + EVT_WAIT_FRAMES(10) + EVT_EXEC_WAIT(N(8021AAE8)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_E) + EVT_EXEC_WAIT(DoDeath) + EVT_END_IF + EVT_RETURN + EVT_CASE_EQ(EVENT_EXPLODE_TRIGGER) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_10) + EVT_SET_CONST(LW(2), NPC_ANIM_bob_omb_Palette_00_Anim_11) + EVT_EXEC_WAIT(DoBurnHit) + EVT_EXEC_WAIT(N(8021AB54)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_11) + EVT_SET(LW(2), -12345) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_RECOVER_STATUS) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_2) + EVT_EXEC_WAIT(DoRecover) + EVT_CASE_EQ(EVENT_SCARE_AWAY) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_6) + EVT_SET_CONST(LW(2), NPC_ANIM_bob_omb_Palette_00_Anim_E) + EVT_EXEC_WAIT(DoScareAway) + EVT_RETURN + EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_1C) + EVT_EXEC_WAIT(DoAirLift) + EVT_CASE_EQ(EVENT_BLOW_AWAY) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_1C) + 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 +}; + +EvtSource N(handleEvent_8021B4A8) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(GetLastEvent, ACTOR_SELF, LW(0)) + EVT_SWITCH(LW(0)) + EVT_CASE_EQ(EVENT_HIT_COMBO) + EVT_CALL(GetLastElement, LW(14)) + EVT_IF_FLAG(LW(14), DAMAGE_TYPE_WATER) + EVT_EXEC_WAIT(N(8021A9C8)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_E) + EVT_EXEC_WAIT(DoNormalHit) + EVT_ELSE + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_F) + EVT_EXEC_WAIT(DoNormalHit) + EVT_END_IF + EVT_CASE_EQ(EVENT_HIT) + EVT_CALL(GetLastElement, LW(14)) + EVT_SWITCH(LW(14)) + EVT_CASE_FLAG(DAMAGE_TYPE_WATER) + EVT_EXEC_WAIT(N(8021A9C8)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_E) + EVT_EXEC_WAIT(DoNormalHit) + EVT_CASE_FLAG(DAMAGE_TYPE_ELECTRIC) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_10) + EVT_EXEC_WAIT(DoNormalHit) + EVT_EXEC_WAIT(N(8021AB54)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_11) + EVT_SET(LW(2), -12345) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_DEFAULT + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_F) + EVT_EXEC_WAIT(DoNormalHit) + EVT_CALL(GetLastDamage, ACTOR_SELF, LW(0)) + EVT_IF_GT(LW(0), 0) + EVT_EXEC_WAIT(N(8021AB54)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_11) + EVT_SET(LW(2), -12345) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_END_IF + EVT_END_SWITCH + EVT_CASE_OR_EQ(EVENT_BURN_HIT) + EVT_CASE_OR_EQ(EVENT_BURN_DEATH) + EVT_CASE_OR_EQ(EVENT_SPIN_SMASH_HIT) + EVT_CASE_OR_EQ(EVENT_SPIN_SMASH_DEATH) + EVT_CASE_OR_EQ(EVENT_EXPLODE_TRIGGER) + EVT_EXEC_WAIT(N(8021AB54)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_11) + EVT_SET(LW(2), -12345) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER) + EVT_CASE_OR_EQ(EVENT_IMMUNE) + EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_3) + EVT_EXEC_WAIT(DoImmune) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_DEATH) + EVT_CALL(GetLastElement, LW(14)) + EVT_IF_FLAG(LW(14), DAMAGE_TYPE_WATER) + EVT_EXEC_WAIT(N(8021A9C8)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_E) + EVT_ELSE + EVT_EXEC_WAIT(N(8021AB54)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_11) + EVT_SET(LW(2), -12345) + EVT_END_IF + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_OR_EQ(EVENT_SHOCK_HIT) + EVT_CASE_OR_EQ(EVENT_SHOCK_DEATH) + EVT_EXEC_WAIT(N(8021AB54)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_11) + EVT_SET(LW(2), -12345) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_RECOVER_STATUS) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_3) + EVT_EXEC_WAIT(DoRecover) + EVT_CASE_EQ(EVENT_SCARE_AWAY) + EVT_EXEC_WAIT(N(8021AAE8)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_6) + EVT_SET_CONST(LW(2), NPC_ANIM_bob_omb_Palette_00_Anim_E) + EVT_EXEC_WAIT(DoScareAway) + EVT_RETURN + EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_1D) + EVT_EXEC_WAIT(DoAirLift) + EVT_CASE_EQ(EVENT_BLOW_AWAY) + EVT_CALL(func_80269E80, LW(0)) + EVT_IF_EQ(LW(0), 20) + EVT_EXEC_WAIT(N(8021A9C8)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_1C) + EVT_ELSE + EVT_CHILD_THREAD + EVT_WAIT_FRAMES(100) + EVT_EXEC_WAIT(N(8021AB54)) + EVT_END_CHILD_THREAD + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_1D) + EVT_END_IF + EVT_EXEC_WAIT(DoBlowAway) + EVT_RETURN + EVT_CASE_EQ(EVENT_UP_AND_AWAY) + EVT_EXEC_WAIT(N(8021A9C8)) + EVT_CASE_DEFAULT + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtSource N(tackleAttack) = { + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + 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(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_bob_omb_Palette_00_Anim_6) + 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, NPC_ANIM_bob_omb_Palette_00_Anim_2) + EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0) + EVT_WAIT_FRAMES(5) + EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_bob_omb_Palette_00_Anim_6) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), 0, 0, 1, BS_FLAGS1_10) + EVT_SWITCH(LW(0)) + EVT_CASE_OR_EQ(HIT_RESULT_MISS) + EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) + EVT_SET(LW(10), LW(0)) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_SUB(LW(0), 5) + EVT_SET(LW(1), 0) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.1005859375)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_bob_omb_Palette_00_Anim_1C) + EVT_CALL(GetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_SUB(LW(0), 20) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) + EVT_CALL(GetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_SUB(LW(0), 15) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) + EVT_CALL(GetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_WAIT_FRAMES(8) + EVT_IF_EQ(LW(10), HIT_RESULT_LUCKY) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_WAIT_FRAMES(5) + 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_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_bob_omb_Palette_00_Anim_6) + 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, NPC_ANIM_bob_omb_Palette_00_Anim_2) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetActorYaw, ACTOR_SELF, 0) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_CASE_EQ(HIT_RESULT_HIT_STATIC) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.1005859375)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_bob_omb_Palette_00_Anim_14) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(GetActorSize, ACTOR_SELF, LW(3), LW(4)) + EVT_CALL(PlayEffect, EFFECT_ID_4A, 0, LW(0), LW(1), LW(2), LW(4), LW(3), 0, 0, 0, 0, 0, 0, 0) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_HIT_SHOCK) + EVT_WAIT_FRAMES(20) + EVT_EXEC_WAIT(N(8021AB54)) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_BLAST, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_RETURN + EVT_END_SWITCH + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.1005859375)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) + EVT_WAIT_FRAMES(2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LW(0), 0, 0, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_bob_omb_Palette_00_Anim_2) + EVT_SWITCH(LW(0)) + 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, LW(0), LW(1), LW(2)) + EVT_ADD(LW(0), 40) + EVT_SET(LW(1), 0) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.80078125)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) + EVT_ADD(LW(0), 30) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) + EVT_ADD(LW(0), 20) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) + EVT_WAIT_FRAMES(4) + EVT_CALL(YieldTurn) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_bob_omb_Palette_00_Anim_6) + 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, NPC_ANIM_bob_omb_Palette_00_Anim_2) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtSource N(blastAttack) = { + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(func_8024ECF8, -1, 1, 0) + EVT_CALL(PlayLoopingSoundAtActor, ACTOR_SELF, 0, 0x80000001) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), 0, 0, 1, BS_FLAGS1_10) + EVT_SWITCH(LW(0)) + EVT_CASE_OR_EQ(HIT_RESULT_MISS) + EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) + EVT_SET(LW(10), LW(0)) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_bob_omb_Palette_00_Anim_7) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(AddGoalPos, ACTOR_SELF, 80, 0, 0) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetActorRotationOffset, ACTOR_SELF, -1, 14, 0) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 90) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_bob_omb_Palette_00_Anim_7) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0)) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_SUB(LW(0), 30) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_EXEC_WAIT(N(8021AB54)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_bob_omb_Palette_00_Anim_11) + EVT_WAIT_FRAMES(10) + EVT_IF_EQ(LW(10), HIT_RESULT_LUCKY) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_WAIT_FRAMES(10) + EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), -1) + EVT_SET(LW(2), -12345) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_bob_omb_Palette_00_Anim_7) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(AddGoalPos, ACTOR_SELF, 10, 0, 0) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_bob_omb_Palette_00_Anim_14) + EVT_WAIT_FRAMES(15) + EVT_SET(LW(10), 1) + EVT_EXEC_WAIT(N(8021AB54)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_bob_omb_Palette_00_Anim_11) + EVT_WAIT_FRAMES(2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_BLAST | DAMAGE_TYPE_NO_CONTACT, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_WAIT_FRAMES(15) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bob_omb_Palette_00_Anim_11) + EVT_SET(LW(2), -12345) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_END +}; + +EvtSource N(takeTurn_8021C89C) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_IF_EQ(LW(0), 0) + EVT_EXEC_WAIT(N(tackleAttack)) + EVT_ELSE + EVT_EXEC_WAIT(N(blastAttack)) + EVT_RETURN + EVT_END_IF + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; diff --git a/src/battle/area_trd_part_1/actor/bullet_bill.c b/src/battle/area_trd_part_1/actor/bullet_bill.c new file mode 100644 index 0000000000..1f7ce2dab5 --- /dev/null +++ b/src/battle/area_trd_part_1/actor/bullet_bill.c @@ -0,0 +1,305 @@ +#include "common.h" +#include "effects.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "sprite/npc/bullet_bill.h" + +#define NAMESPACE b_area_trd_part_1_bullet_bill + +s32 N(defenseTable_80218F60)[] = { + ELEMENT_NORMAL, 0, + ELEMENT_END, +}; + +s32 N(statusTable_80218F6C)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 0, + STATUS_POISON, 0, + STATUS_FROZEN, 100, + STATUS_DIZZY, 100, + STATUS_FEAR, 0, + STATUS_STATIC, 0, + STATUS_PARALYZE, 0, + STATUS_SHRINK, 100, + 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, 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, +}; + +extern s32 N(idleAnimations_80219064)[]; +extern EvtSource N(init_80219088); + +ActorPartDesc N(partsTable_80219018)[] = { + { + .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 16 }, + .opacity = 255, + .idleAnimations = N(idleAnimations_80219064), + .defenseTable = N(defenseTable_80218F60), + .eventFlags = ACTOR_EVENT_FLAG_400, + .elementImmunityFlags = 0, + .unk_1C = 250, + }, +}; + +ActorDesc NAMESPACE = { + .flags = ACTOR_FLAG_FLYING, + .type = ACTOR_TYPE_BULLET_BILL, + .level = 5, + .maxHP = 2, + .partCount = ARRAY_COUNT(N(partsTable_80219018)), + .partsData = N(partsTable_80219018), + .script = N(init_80219088), + .statusTable = N(statusTable_80218F6C), + .escapeChance = 50, + .airLiftChance = 100, + .spookChance = 100, + .baseStatusChance = 0, + .upAndAwayChance = 95, + .spinSmashReq = 0, + .powerBounceChance = 85, + .coinReward = 0, + .size = { 28, 22 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -10, 20 }, + .statusMessageOffset = { 10, 20 }, +}; + +s32 N(idleAnimations_80219064)[] = { + STATUS_NORMAL, NPC_ANIM_bullet_bill_Palette_00_Anim_1, + STATUS_STONE, NPC_ANIM_bullet_bill_Palette_00_Anim_0, + STATUS_STOP, NPC_ANIM_bullet_bill_Palette_00_Anim_0, + STATUS_PARALYZE, NPC_ANIM_bullet_bill_Palette_00_Anim_0, + STATUS_END, +}; + +extern EvtSource N(takeTurn_802197C0); +extern EvtSource N(idle_80219380); +extern EvtSource N(handleEvent_802193E8); + +EvtSource N(init_80219088) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_ADDR(N(takeTurn_802197C0))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_ADDR(N(idle_80219380))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_ADDR(N(handleEvent_802193E8))) + EVT_CALL(GetActorVar, ACTOR_SELF, 0, LW(0)) + EVT_IF_EQ(LW(0), 0) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(1), 16) + EVT_CALL(SetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(ForceHomePos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(HPBarToHome, ACTOR_SELF) + EVT_ELSE + EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0)) + EVT_CALL(GetActorPos, LW(0), LW(1), LW(2), LW(3)) + EVT_CALL(GetStatusFlags, LW(0), LW(4)) + EVT_IF_FLAG(LW(4), STATUS_FLAG_SHRINK) + EVT_SET(LW(5), -13) + EVT_SET(LW(6), 4) + EVT_ELSE + EVT_SET(LW(5), -33) + EVT_SET(LW(6), 11) + EVT_END_IF + EVT_ADD(LW(1), LW(5)) + EVT_ADD(LW(2), LW(6)) + EVT_CALL(SetActorPos, ACTOR_SELF, LW(1), LW(2), LW(3)) + EVT_CALL(CopyStatusEffects, LW(0), ACTOR_SELF) + EVT_CALL(CopyBuffs, LW(0), ACTOR_SELF) + EVT_CALL(SetActorSounds, ACTOR_SELF, 2, 0, 0) + EVT_CALL(GetActorPos, LW(0), LW(1), LW(11), LW(12)) + EVT_SUB(LW(1), 90) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.0107421875)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_bullet_bill_Palette_00_Anim_3) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(1), LW(2), LW(3)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_bullet_bill_Palette_00_Anim_1) + EVT_CALL(ForceHomePos, ACTOR_SELF, LW(1), LW(2), LW(3)) + EVT_CALL(HPBarToHome, ACTOR_SELF) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtSource N(idle_80219380) = { + EVT_RETURN + EVT_END +}; + +extern EvtSource N(80219BE0); + +EvtSource N(80219390) = { + EVT_EXEC_WAIT(N(80219BE0)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bullet_bill_Palette_00_Anim_7) + EVT_SET(LW(2), -12345) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_END +}; + +EvtSource N(handleEvent_802193E8) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(GetLastEvent, ACTOR_SELF, LW(0)) + EVT_SWITCH(LW(0)) + EVT_CASE_EQ(EVENT_HIT_COMBO) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bullet_bill_Palette_00_Anim_5) + EVT_EXEC_WAIT(DoNormalHit) + EVT_CASE_EQ(EVENT_HIT) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bullet_bill_Palette_00_Anim_5) + EVT_EXEC_WAIT(DoNormalHit) + EVT_CASE_EQ(EVENT_BURN_HIT) + EVT_EXEC_WAIT(N(80219390)) + EVT_RETURN + EVT_CASE_EQ(EVENT_BURN_DEATH) + EVT_EXEC_WAIT(N(80219390)) + EVT_RETURN + EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) + EVT_EXEC_WAIT(N(80219390)) + EVT_RETURN + EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) + EVT_EXEC_WAIT(N(80219390)) + EVT_RETURN + EVT_CASE_EQ(EVENT_SHOCK_HIT) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bullet_bill_Palette_00_Anim_5) + EVT_EXEC_WAIT(DoShockHit) + EVT_EXEC_WAIT(N(80219390)) + EVT_RETURN + EVT_CASE_EQ(EVENT_SHOCK_DEATH) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bullet_bill_Palette_00_Anim_5) + EVT_EXEC_WAIT(DoShockHit) + EVT_EXEC_WAIT(N(80219390)) + 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(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bullet_bill_Palette_00_Anim_1) + EVT_EXEC_WAIT(DoImmune) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_DEATH) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bullet_bill_Palette_00_Anim_5) + EVT_EXEC_WAIT(DoNormalHit) + EVT_EXEC_WAIT(N(80219390)) + EVT_RETURN + EVT_CASE_EQ(EVENT_EXPLODE_TRIGGER) + EVT_EXEC_WAIT(N(80219390)) + EVT_RETURN + EVT_CASE_EQ(EVENT_RECOVER_STATUS) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bullet_bill_Palette_00_Anim_1) + EVT_EXEC_WAIT(DoRecover) + EVT_CASE_EQ(EVENT_SCARE_AWAY) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bullet_bill_Palette_00_Anim_5) + EVT_EXEC_WAIT(DoNormalHit) + EVT_EXEC_WAIT(N(80219390)) + EVT_RETURN + EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bullet_bill_Palette_00_Anim_3) + EVT_EXEC_WAIT(DoAirLift) + EVT_CASE_EQ(EVENT_BLOW_AWAY) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bullet_bill_Palette_00_Anim_3) + 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 +}; + +EvtSource N(takeTurn_802197C0) = { + 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(UseBattleCamPreset, BTL_CAM_PRESET_63) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(func_8024ECF8, -1, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_bullet_bill_Palette_00_Anim_4) + EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0) + EVT_WAIT_FRAMES(15) + EVT_CALL(func_8024E664, 19) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), 0, 0, 2, BS_FLAGS1_10) + EVT_SWITCH(LW(0)) + EVT_CASE_OR_EQ(HIT_RESULT_MISS) + EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) + EVT_SET(LW(10), LW(0)) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_SET(LW(3), LW(1)) + EVT_CALL(GetActorPos, ACTOR_PLAYER, LW(0), LW(1), LW(2)) + EVT_SET(LW(1), LW(3)) + EVT_SUB(LW(0), 90) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.0107421875)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 18, FALSE, TRUE, FALSE) + EVT_IF_EQ(LW(10), HIT_RESULT_LUCKY) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(YieldTurn) + EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(RemoveActor, ACTOR_SELF) + EVT_RETURN + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_SET(LW(3), LW(1)) + EVT_CALL(GetActorPos, ACTOR_PLAYER, LW(0), LW(1), LW(2)) + EVT_SET(LW(1), LW(3)) + EVT_ADD(LW(0), 10) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.0107421875)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 12, FALSE, TRUE, FALSE) + EVT_EXEC_WAIT(N(80219BE0)) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_WAIT_FRAMES(2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(YieldTurn) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_bullet_bill_Palette_00_Anim_7) + EVT_SET(LW(2), -12345) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_END +}; + +EvtSource N(80219BE0) = { + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(2), 2) + EVT_CALL(PlayEffect, EFFECT_ID_17, 0, LW(0), LW(1), LW(2), 0, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_ADD(LW(1), 16) + EVT_ADD(LW(2), 2) + EVT_CALL(PlayEffect, EFFECT_ID_3E, 0, LW(0), LW(1), LW(2), EVT_FLOAT(3.0), 30, 0, 0, 0, 0, 0, 0, 0) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x2078) + EVT_CALL(StartRumble, 11) + EVT_THREAD + EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(1.0)) + EVT_END_THREAD + EVT_RETURN + EVT_END +}; diff --git a/src/battle/area_trd_part_1/actor/koopa_troopa.c b/src/battle/area_trd_part_1/actor/koopa_troopa.c new file mode 100644 index 0000000000..e4d3daeb65 --- /dev/null +++ b/src/battle/area_trd_part_1/actor/koopa_troopa.c @@ -0,0 +1,5 @@ +#include "common.h" + +#define NAMESPACE b_area_trd_part_1_koopa_troopa + +#include "battle/common/actor/koopa_troopa.inc.c" diff --git a/src/battle/area_trd_part_1/actor/paratroopa.c b/src/battle/area_trd_part_1/actor/paratroopa.c new file mode 100644 index 0000000000..439fc8ff49 --- /dev/null +++ b/src/battle/area_trd_part_1/actor/paratroopa.c @@ -0,0 +1,5 @@ +#include "common.h" + +#define NAMESPACE b_area_trd_part_1_paratroopa + +#include "battle/common/actor/paratroopa.inc.c" diff --git a/src/battle/area_trd_part_1/area.c b/src/battle/area_trd_part_1/area.c new file mode 100644 index 0000000000..2b454781c3 --- /dev/null +++ b/src/battle/area_trd_part_1/area.c @@ -0,0 +1,235 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" + +#define NAMESPACE b_area_trd_part_1 + +extern ActorDesc N(koopa_troopa); +extern ActorDesc N(paratroopa); +extern ActorDesc N(bob_omb); +extern ActorDesc N(bill_blaster); +extern ActorDesc N(bullet_bill); + +extern Stage N(trd_00); +extern Stage N(trd_01); +extern Stage N(trd_02); +extern Stage N(trd_02b); +extern Stage N(trd_02c); +extern Stage N(trd_02d); +extern Stage N(trd_03); +extern Stage N(trd_04); +extern Stage N(trd_05); +extern Stage N(trd_05b); +extern Stage N(trd_05c); +extern Stage N(trd_05d); +extern Stage N(trd_05e); +extern Stage N(trd_05f); + +Formation N(formation_00) = { + { .actor = &N(koopa_troopa), .home = { .index = 1 }, .priority = 10 }, +}; + +Formation N(formation_01) = { + { .actor = &N(koopa_troopa), .home = { .index = 1 }, .priority = 10 }, + { .actor = &N(koopa_troopa), .home = { .index = 2 }, .priority = 9 }, +}; + +Formation N(formation_02) = { + { .actor = &N(koopa_troopa), .home = { .index = 0 }, .priority = 10 }, + { .actor = &N(koopa_troopa), .home = { .index = 1 }, .priority = 9 }, + { .actor = &N(koopa_troopa), .home = { .index = 2 }, .priority = 8 }, +}; + +Formation N(formation_03) = { + { .actor = &N(koopa_troopa), .home = { .index = 1 }, .priority = 10 }, + { .actor = &N(bob_omb), .home = { .index = 2 }, .priority = 9 }, +}; + +Formation N(formation_04) = { + { .actor = &N(koopa_troopa), .home = { .index = 0 }, .priority = 10 }, + { .actor = &N(bob_omb), .home = { .index = 1 }, .priority = 9 }, + { .actor = &N(bob_omb), .home = { .index = 2 }, .priority = 8 }, +}; + +Formation N(formation_05) = { + { .actor = &N(koopa_troopa), .home = { .index = 0 }, .priority = 10 }, + { .actor = &N(bob_omb), .home = { .index = 1 }, .priority = 9 }, + { .actor = &N(bob_omb), .home = { .index = 2 }, .priority = 8 }, + { .actor = &N(bob_omb), .home = { .index = 3 }, .priority = 7 }, +}; + +Formation N(formation_06) = { + { .actor = &N(koopa_troopa), .home = { .index = 0 }, .priority = 10 }, + { .actor = &N(koopa_troopa), .home = { .index = 1 }, .priority = 9 }, + { .actor = &N(bob_omb), .home = { .index = 2 }, .priority = 8 }, +}; + +Formation N(formation_07) = { + { .actor = &N(koopa_troopa), .home = { .index = 0 }, .priority = 10 }, + { .actor = &N(koopa_troopa), .home = { .index = 1 }, .priority = 9 }, + { .actor = &N(bob_omb), .home = { .index = 2 }, .priority = 8 }, + { .actor = &N(bob_omb), .home = { .index = 3 }, .priority = 7 }, +}; + +Formation N(formation_08) = { + { .actor = &N(paratroopa), .home = { .index = 5 }, .priority = 10 }, + { .actor = &N(paratroopa), .home = { .index = 6 }, .priority = 9 }, +}; + +Formation N(formation_09) = { + { .actor = &N(paratroopa), .home = { .index = 4 }, .priority = 10 }, + { .actor = &N(paratroopa), .home = { .index = 5 }, .priority = 9 }, + { .actor = &N(paratroopa), .home = { .index = 6 }, .priority = 8 }, +}; + +Formation N(formation_0A) = { + { .actor = &N(paratroopa), .home = { .index = 5 }, .priority = 10 }, + { .actor = &N(koopa_troopa), .home = { .index = 2 }, .priority = 9 }, +}; + +Formation N(formation_0B) = { + { .actor = &N(paratroopa), .home = { .index = 4 }, .priority = 10 }, + { .actor = &N(koopa_troopa), .home = { .index = 1 }, .priority = 9 }, + { .actor = &N(paratroopa), .home = { .index = 6 }, .priority = 8 }, +}; + +Formation N(formation_0C) = { + { .actor = &N(paratroopa), .home = { .index = 4 }, .priority = 10 }, + { .actor = &N(koopa_troopa), .home = { .index = 1 }, .priority = 9 }, + { .actor = &N(paratroopa), .home = { .index = 6 }, .priority = 8 }, + { .actor = &N(koopa_troopa), .home = { .index = 3 }, .priority = 7 }, +}; + +Formation N(formation_0D) = { + { .actor = &N(paratroopa), .home = { .index = 4 }, .priority = 10 }, + { .actor = &N(bob_omb), .home = { .index = 1 }, .priority = 10 }, + { .actor = &N(bob_omb), .home = { .index = 2 }, .priority = 9 }, +}; + +Formation N(formation_0E) = { + { .actor = &N(paratroopa), .home = { .index = 4 }, .priority = 10 }, + { .actor = &N(bob_omb), .home = { .index = 1 }, .priority = 10 }, + { .actor = &N(bob_omb), .home = { .index = 2 }, .priority = 9 }, + { .actor = &N(bob_omb), .home = { .index = 3 }, .priority = 8 }, +}; + +Formation N(formation_0F) = { + { .actor = &N(bob_omb), .home = { .index = 1 }, .priority = 10 }, +}; + +Formation N(formation_10) = { + { .actor = &N(bob_omb), .home = { .index = 1 }, .priority = 10 }, + { .actor = &N(bob_omb), .home = { .index = 2 }, .priority = 9 }, +}; + +Formation N(formation_11) = { + { .actor = &N(bob_omb), .home = { .index = 0 }, .priority = 10 }, + { .actor = &N(bob_omb), .home = { .index = 1 }, .priority = 9 }, + { .actor = &N(bob_omb), .home = { .index = 2 }, .priority = 8 }, +}; + +Formation N(formation_12) = { + { .actor = &N(bob_omb), .home = { .index = 0 }, .priority = 10 }, + { .actor = &N(bob_omb), .home = { .index = 1 }, .priority = 9 }, + { .actor = &N(bob_omb), .home = { .index = 2 }, .priority = 8 }, + { .actor = &N(bob_omb), .home = { .index = 3 }, .priority = 7 }, +}; + +Formation N(formation_13) = { + { .actor = &N(bob_omb), .home = { .index = 1 }, .priority = 10 }, + { .actor = &N(koopa_troopa), .home = { .index = 2 }, .priority = 9 }, +}; + +Formation N(formation_14) = { + { .actor = &N(bob_omb), .home = { .index = 0 }, .priority = 10 }, + { .actor = &N(bob_omb), .home = { .index = 1 }, .priority = 9 }, + { .actor = &N(koopa_troopa), .home = { .index = 2 }, .priority = 8 }, +}; + +Formation N(formation_15) = { + { .actor = &N(bob_omb), .home = { .index = 0 }, .priority = 10 }, + { .actor = &N(koopa_troopa), .home = { .index = 1 }, .priority = 9 }, + { .actor = &N(koopa_troopa), .home = { .index = 2 }, .priority = 8 }, +}; + +Formation N(formation_16) = { + { .actor = &N(koopa_troopa), .home = { .index = 0 }, .priority = 10 }, + { .actor = &N(bob_omb), .home = { .index = 1 }, .priority = 9 }, + { .actor = &N(bob_omb), .home = { .index = 2 }, .priority = 8 }, +}; + +Vec3i N(vector3D_80218B90) = { 50, 0, -20, }; + +Vec3i N(vector3D_80218B9C) = { 80, 0, 0, }; + +Vec3i N(vector3D_80218BA8) = { 110, 0, 20, }; + +Formation N(formation_17) = { + { .actor = &N(bill_blaster), .home = { .vec = &N(vector3D_80218B90) }, .priority = 10 }, + { .actor = &N(bill_blaster), .home = { .vec = &N(vector3D_80218B9C) }, .priority = 9 }, + { .actor = &N(bill_blaster), .home = { .vec = &N(vector3D_80218BA8) }, .priority = 9 }, +}; + +Formation N(formation_18) = { + { .actor = &N(bullet_bill), .home = { .index = 1 }, .priority = 10 }, + { .actor = &N(bullet_bill), .home = { .index = 2 }, .priority = 9 }, +}; + +Formation N(formation_19) = { + { .actor = &N(bullet_bill), .home = { .index = 1 }, .priority = 10 }, +}; + +Formation N(formation_1A) = { + { .actor = &N(bullet_bill), .home = { .index = 0 }, .priority = 10 }, + { .actor = &N(bullet_bill), .home = { .index = 1 }, .priority = 9 }, + { .actor = &N(bullet_bill), .home = { .index = 2 }, .priority = 8 }, +}; + +BattleList N(formationTable) = { + BATTLE("ノコノコ", N(formation_00), &N(trd_01)), + BATTLE("ノコノコx2", N(formation_01), &N(trd_01)), + BATTLE("ノコノコx3", N(formation_02), &N(trd_01)), + BATTLE("ノコノコ,ボムへい", N(formation_03), &N(trd_01)), + BATTLE("ノコノコ,ボムへいx2", N(formation_04), &N(trd_01)), + BATTLE("ノコノコ,ボムへいx3", N(formation_05), &N(trd_01)), + BATTLE("ノコノコx2,ボムへい", N(formation_06), &N(trd_01)), + BATTLE("ノコノコx2,ボムへいx2", N(formation_07), &N(trd_01)), + BATTLE("パタパタx2", N(formation_08), &N(trd_01)), + BATTLE("パタパタx3", N(formation_09), &N(trd_01)), + BATTLE("パタパタ,ノコノコ", N(formation_0A), &N(trd_01)), + BATTLE("パタパタ,ノコノコ,パタパタ", N(formation_0B), &N(trd_01)), + BATTLE("パタパタ,ノコノコ,パタパタ,ノコノコ", N(formation_0C), &N(trd_01)), + BATTLE("パタパタ,ボムヘイx2", N(formation_0D), &N(trd_01)), + BATTLE("パタパタ,ボムヘイx3", N(formation_0E), &N(trd_01)), + BATTLE("ボムへい", N(formation_0F), &N(trd_01)), + BATTLE("ボムへいx2", N(formation_10), &N(trd_01)), + BATTLE("ボムへいx3", N(formation_11), &N(trd_01)), + BATTLE("ボムへいx4", N(formation_12), &N(trd_01)), + BATTLE("ボムへい,ノコノコ", N(formation_13), &N(trd_01)), + BATTLE("ボムへいx2,ノコノコ", N(formation_14), &N(trd_01)), + BATTLE("ボムへい,ノコノコx2", N(formation_15), &N(trd_01)), + BATTLE("ノコノコ,ボムへいx2", N(formation_16), &N(trd_01)), + BATTLE("キラーたいほうx3", N(formation_17), &N(trd_01)), + BATTLE("キラーx2", N(formation_18), &N(trd_01)), + BATTLE("キラー", N(formation_19), &N(trd_01)), + BATTLE("キラーx3", N(formation_1A), &N(trd_01)), + {}, +}; + +StageList N(stageTable) = { + { "trd_00", &N(trd_00) }, + { "trd_01", &N(trd_01) }, + { "trd_02", &N(trd_02) }, + { "trd_02b", &N(trd_02b) }, + { "trd_02c", &N(trd_02c) }, + { "trd_02d", &N(trd_02d) }, + { "trd_03", &N(trd_03) }, + { "trd_04", &N(trd_04) }, + { "trd_05", &N(trd_05) }, + { "trd_05b", &N(trd_05b) }, + { "trd_05c", &N(trd_05c) }, + { "trd_05d", &N(trd_05d) }, + { "trd_05e", &N(trd_05e) }, + { "trd_05f", &N(trd_05f) }, + {}, +}; diff --git a/src/battle/area_trd_part_1/stage/trd_00.c b/src/battle/area_trd_part_1/stage/trd_00.c new file mode 100644 index 0000000000..0b7471c91e --- /dev/null +++ b/src/battle/area_trd_part_1/stage/trd_00.c @@ -0,0 +1,29 @@ +#include "common.h" +#include "battle/battle.h" + +#define NAMESPACE b_area_trd_part_1_trd_00 + +EvtSource N(beforeBattle_80224B70) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_RETURN + EVT_END +}; + +EvtSource N(afterBattle_80224BAC) = { + EVT_RETURN + EVT_END +}; + +s32 N(foregroundModelList_80224BBC)[] = { + 0x00000009, 0x00000000, +}; + +Stage NAMESPACE = { + .texture = "trd_tex", + .shape = "trd_bt00_shape", + .hit = "trd_bt00_hit", + .preBattle = N(beforeBattle_80224B70), + .postBattle = N(afterBattle_80224BAC), + .foregroundModelList = N(foregroundModelList_80224BBC), +}; diff --git a/src/battle/area_trd_part_1/stage/trd_01.c b/src/battle/area_trd_part_1/stage/trd_01.c new file mode 100644 index 0000000000..87b5697ed1 --- /dev/null +++ b/src/battle/area_trd_part_1/stage/trd_01.c @@ -0,0 +1,24 @@ +#include "common.h" +#include "battle/battle.h" + +#define NAMESPACE b_area_trd_part_1_trd_01 + +EvtSource N(beforeBattle_80222AE0) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_RETURN + EVT_END +}; + +EvtSource N(afterBattle_80222B1C) = { + EVT_RETURN + EVT_END +}; + +Stage NAMESPACE = { + .texture = "trd_tex", + .shape = "trd_bt01_shape", + .hit = "trd_bt01_hit", + .preBattle = N(beforeBattle_80222AE0), + .postBattle = N(afterBattle_80222B1C), +}; diff --git a/src/battle/area_trd_part_1/stage/trd_02.c b/src/battle/area_trd_part_1/stage/trd_02.c new file mode 100644 index 0000000000..32231a7397 --- /dev/null +++ b/src/battle/area_trd_part_1/stage/trd_02.c @@ -0,0 +1,140 @@ +#include "common.h" +#include "battle/battle.h" + +#define NAMESPACE b_area_trd_part_1_trd_02 + +EvtSource N(80222B60) = { + EVT_SET(LW(10), LW(0)) + EVT_LABEL(0) + EVT_CALL(RotateGroup, LW(10), 2, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RotateGroup, LW(10), -2, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RandInt, 30, LW(0)) + EVT_ADD(LW(0), 30) + EVT_WAIT_FRAMES(LW(0)) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtSource N(80222C78) = { + EVT_SET(LW(10), LW(0)) + EVT_LOOP(0) + EVT_CALL(TranslateModel, LW(10), 1, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 1, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(-0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), EVT_FLOAT(-1.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, -2, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 3, -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, -3, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 3, -3, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 3, -3, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, EVT_FLOAT(-1.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), EVT_FLOAT(-0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(0.5), 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 0, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), -1, 1, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), -1, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), -1, EVT_FLOAT(0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), -1, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), -1, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 0, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtSource N(beforeBattle_80223224) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_CALL(EnableModel, 12, 0) + EVT_THREAD + EVT_SET(LW(0), 19) + EVT_EXEC(N(80222C78)) + EVT_WAIT_FRAMES(5) + EVT_SET(LW(0), 17) + EVT_EXEC(N(80222C78)) + EVT_WAIT_FRAMES(5) + EVT_SET(LW(0), 15) + EVT_EXEC(N(80222C78)) + EVT_WAIT_FRAMES(5) + EVT_SET(LW(0), 13) + EVT_EXEC(N(80222C78)) + EVT_END_THREAD + EVT_RETURN + EVT_END +}; + +EvtSource N(afterBattle_80223318) = { + EVT_RETURN + EVT_END +}; + +s32 N(foregroundModelList_80223328)[] = { + 0x00000016, 0x00000000, +}; + +Stage NAMESPACE = { + .texture = "trd_tex", + .shape = "trd_bt02_shape", + .hit = "trd_bt02_hit", + .preBattle = N(beforeBattle_80223224), + .postBattle = N(afterBattle_80223318), + .foregroundModelList = N(foregroundModelList_80223328), +}; diff --git a/src/battle/area_trd_part_1/stage/trd_02b.c b/src/battle/area_trd_part_1/stage/trd_02b.c new file mode 100644 index 0000000000..25a45ab6e9 --- /dev/null +++ b/src/battle/area_trd_part_1/stage/trd_02b.c @@ -0,0 +1,137 @@ +#include "common.h" +#include "battle/battle.h" + +#define NAMESPACE b_area_trd_part_1_trd_02b + +EvtSource N(80223360) = { + EVT_SET(LW(10), LW(0)) + EVT_LABEL(0) + EVT_CALL(RotateGroup, LW(10), 2, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RotateGroup, LW(10), -2, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RandInt, 30, LW(0)) + EVT_ADD(LW(0), 30) + EVT_WAIT_FRAMES(LW(0)) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtSource N(80223478) = { + EVT_SET(LW(10), LW(0)) + EVT_LOOP(0) + EVT_CALL(TranslateModel, LW(10), 1, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 1, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(-0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), EVT_FLOAT(-1.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, -2, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 3, -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, -3, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 3, -3, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 3, -3, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, EVT_FLOAT(-1.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), EVT_FLOAT(-0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(0.5), 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 0, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), -1, 1, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), -1, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), -1, EVT_FLOAT(0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), -1, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), -1, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 0, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtSource N(beforeBattle_80223A24) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_CALL(EnableModel, 22, 0) + EVT_CALL(EnableModel, 9, 0) + EVT_CALL(EnableModel, 10, 0) + EVT_THREAD + EVT_SET(LW(0), 19) + EVT_EXEC(N(80223478)) + EVT_WAIT_FRAMES(5) + EVT_SET(LW(0), 17) + EVT_EXEC(N(80223478)) + EVT_WAIT_FRAMES(5) + EVT_SET(LW(0), 15) + EVT_EXEC(N(80223478)) + EVT_WAIT_FRAMES(5) + EVT_SET(LW(0), 13) + EVT_EXEC(N(80223478)) + EVT_END_THREAD + EVT_RETURN + EVT_END +}; + +EvtSource N(afterBattle_80223B40) = { + EVT_RETURN + EVT_END +}; + +Stage NAMESPACE = { + .texture = "trd_tex", + .shape = "trd_bt02_shape", + .hit = "trd_bt02_hit", + .preBattle = N(beforeBattle_80223A24), + .postBattle = N(afterBattle_80223B40), +}; diff --git a/src/battle/area_trd_part_1/stage/trd_02c.c b/src/battle/area_trd_part_1/stage/trd_02c.c new file mode 100644 index 0000000000..a72d47151e --- /dev/null +++ b/src/battle/area_trd_part_1/stage/trd_02c.c @@ -0,0 +1,31 @@ +#include "common.h" +#include "battle/battle.h" + +#define NAMESPACE b_area_trd_part_1_trd_02c + +EvtSource N(beforeBattle_80224BF0) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_CALL(EnableModel, 26, 0) + EVT_CALL(EnableModel, 2, 0) + EVT_RETURN + EVT_END +}; + +EvtSource N(afterBattle_80224C54) = { + EVT_RETURN + EVT_END +}; + +s32 N(foregroundModelList_80224C64)[] = { + 0x00000016, 0x00000000, +}; + +Stage NAMESPACE = { + .texture = "trd_tex", + .shape = "trd_bt02_shape", + .hit = "trd_bt02_hit", + .preBattle = N(beforeBattle_80224BF0), + .postBattle = N(afterBattle_80224C54), + .foregroundModelList = N(foregroundModelList_80224C64), +}; diff --git a/src/battle/area_trd_part_1/stage/trd_02d.c b/src/battle/area_trd_part_1/stage/trd_02d.c new file mode 100644 index 0000000000..d3074c7ef6 --- /dev/null +++ b/src/battle/area_trd_part_1/stage/trd_02d.c @@ -0,0 +1,132 @@ +#include "common.h" +#include "battle/battle.h" + +#define NAMESPACE b_area_trd_part_1_trd_02d + +EvtSource N(80224CA0) = { + EVT_SET(LW(10), LW(0)) + EVT_LABEL(0) + EVT_CALL(RotateGroup, LW(10), 2, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RotateGroup, LW(10), -2, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RandInt, 30, LW(0)) + EVT_ADD(LW(0), 30) + EVT_WAIT_FRAMES(LW(0)) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtSource N(80224DB8) = { + EVT_SET(LW(10), LW(0)) + EVT_LOOP(0) + EVT_CALL(TranslateModel, LW(10), 1, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 1, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(-0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), EVT_FLOAT(-1.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, -2, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 3, -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, -3, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 3, -3, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 3, -3, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, EVT_FLOAT(-1.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), EVT_FLOAT(-0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(0.5), 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 0, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), -1, 1, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), -1, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), -1, EVT_FLOAT(0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), -1, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), -1, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 0, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtSource N(beforeBattle_80225364) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_CALL(EnableModel, 19, 0) + EVT_CALL(EnableModel, 17, 0) + EVT_CALL(EnableModel, 15, 0) + EVT_CALL(EnableModel, 13, 0) + EVT_CALL(EnableModel, 9, 0) + EVT_CALL(EnableModel, 10, 0) + EVT_RETURN + EVT_END +}; + +EvtSource N(afterBattle_80225418) = { + EVT_RETURN + EVT_END +}; + +s32 N(foregroundModelList_80225428)[] = { + 0x00000016, 0x00000000, +}; + +Stage NAMESPACE = { + .texture = "trd_tex", + .shape = "trd_bt02_shape", + .hit = "trd_bt02_hit", + .preBattle = N(beforeBattle_80225364), + .postBattle = N(afterBattle_80225418), + .foregroundModelList = N(foregroundModelList_80225428), +}; diff --git a/src/battle/area_trd_part_1/stage/trd_03.c b/src/battle/area_trd_part_1/stage/trd_03.c new file mode 100644 index 0000000000..42afd228dc --- /dev/null +++ b/src/battle/area_trd_part_1/stage/trd_03.c @@ -0,0 +1,39 @@ +#include "common.h" +#include "battle/battle.h" + +#define NAMESPACE b_area_trd_part_1_trd_03 + +#include "world/common/clouds.inc.c" + +EvtSource N(beforeBattle_80223F08) = { + EVT_CALL(SetSpriteShading, -1) + EVT_SET(LW(0), 4) + EVT_SET(LW(2), 0) + EVT_EXEC(N(clouds1)) + EVT_SET(LW(0), 2) + EVT_SET(LW(2), 70) + EVT_SET(LW(3), 175) + EVT_SET(LW(4), -170) + EVT_EXEC(N(clouds2)) + EVT_RETURN + EVT_END +}; + +EvtSource N(afterBattle_80223FA0) = { + EVT_RETURN + EVT_END +}; + +s32 N(foregroundModelList_80223FB0)[] = { + 0x0000000F, 0x0000000E, 0x0000000D, 0x00000000, +}; + +Stage NAMESPACE = { + .texture = "trd_tex", + .shape = "trd_bt03_shape", + .hit = "trd_bt03_hit", + .bg = "nok_bg", + .preBattle = N(beforeBattle_80223F08), + .postBattle = N(afterBattle_80223FA0), + .foregroundModelList = N(foregroundModelList_80223FB0), +}; diff --git a/src/battle/area_trd_part_1/stage/trd_04.c b/src/battle/area_trd_part_1/stage/trd_04.c new file mode 100644 index 0000000000..dd0a28080e --- /dev/null +++ b/src/battle/area_trd_part_1/stage/trd_04.c @@ -0,0 +1,87 @@ +#include "common.h" +#include "battle/battle.h" + +#define NAMESPACE b_area_trd_part_1_trd_04 + +EvtSource N(80223FF0) = { + EVT_SET(LW(10), LW(1)) + EVT_SET(LW(11), LW(2)) + EVT_SET(LW(12), LW(3)) + EVT_CALL(SetTexPanner, LW(0), LW(1)) + EVT_SET(LW(0), 0) + EVT_SET(LW(1), 0) + EVT_LOOP(0) + EVT_CALL(SetTexPanOffset, LW(10), 0, LW(0), LW(1)) + EVT_ADD(LW(0), LW(11)) + EVT_ADD(LW(1), LW(12)) + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtSource N(802240C0) = { + EVT_SET(LW(10), LW(1)) + EVT_SET(LW(11), LW(2)) + EVT_SET(LW(12), LW(3)) + EVT_CALL(SetTexPanner, LW(0), LW(1)) + EVT_SET(LW(0), 0) + EVT_SET(LW(1), 0) + EVT_LOOP(0) + EVT_CALL(SetTexPanOffset, LW(10), 0, LW(0), 0) + EVT_CALL(SetTexPanOffset, LW(10), 1, LW(1), 0) + EVT_ADD(LW(0), LW(11)) + EVT_ADD(LW(1), LW(12)) + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtSource N(802241AC) = { + EVT_SET(LW(10), LW(1)) + EVT_SET(LW(11), LW(2)) + EVT_SET(LW(12), LW(3)) + EVT_CALL(SetTexPanner, LW(0), LW(1)) + EVT_SET(LW(0), 0) + EVT_SET(LW(1), 0) + EVT_LOOP(0) + EVT_CALL(SetTexPanOffset, LW(10), 0, 0, LW(0)) + EVT_CALL(SetTexPanOffset, LW(10), 1, 0, LW(1)) + EVT_ADD(LW(0), LW(11)) + EVT_ADD(LW(1), LW(12)) + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtSource N(beforeBattle_80224298) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_SET(LW(0), 13) + EVT_SET(LW(1), 0) + EVT_SET(LW(2), 40) + EVT_SET(LW(3), 0) + EVT_EXEC(N(80223FF0)) + EVT_RETURN + EVT_END +}; + +EvtSource N(afterBattle_80224320) = { + EVT_RETURN + EVT_END +}; + +s32 N(foregroundModelList_80224330)[] = { + 0x0000000D, 0x00000000, +}; + +Stage NAMESPACE = { + .texture = "trd_tex", + .shape = "trd_bt04_shape", + .hit = "trd_bt04_hit", + .preBattle = N(beforeBattle_80224298), + .postBattle = N(afterBattle_80224320), + .foregroundModelList = N(foregroundModelList_80224330), +}; diff --git a/src/battle/area_trd_part_1/stage/trd_05.c b/src/battle/area_trd_part_1/stage/trd_05.c new file mode 100644 index 0000000000..95ec90b0c1 --- /dev/null +++ b/src/battle/area_trd_part_1/stage/trd_05.c @@ -0,0 +1,139 @@ +#include "common.h" +#include "battle/battle.h" + +#define NAMESPACE b_area_trd_part_1_trd_05 + +EvtSource N(80224360) = { + EVT_SET(LW(10), LW(0)) + EVT_LABEL(0) + EVT_CALL(RotateGroup, LW(10), 2, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RotateGroup, LW(10), -2, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RandInt, 30, LW(0)) + EVT_ADD(LW(0), 30) + EVT_WAIT_FRAMES(LW(0)) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtSource N(80224478) = { + EVT_SET(LW(10), LW(0)) + EVT_LOOP(0) + EVT_CALL(TranslateModel, LW(10), 1, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 1, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(-0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), EVT_FLOAT(-1.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, -2, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 3, -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, -3, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 3, -3, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 3, -3, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, EVT_FLOAT(-1.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), EVT_FLOAT(-0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(0.5), 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 0, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), -1, 1, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), -1, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), -1, EVT_FLOAT(0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), -1, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), -1, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 0, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtSource N(beforeBattle_80224A24) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_THREAD + EVT_SET(LW(0), 27) + EVT_EXEC(N(80224478)) + EVT_WAIT_FRAMES(5) + EVT_SET(LW(0), 25) + EVT_EXEC(N(80224478)) + EVT_END_THREAD + EVT_THREAD + EVT_SET(LW(0), 6) + EVT_EXEC(N(80224478)) + EVT_WAIT_FRAMES(5) + EVT_SET(LW(0), 4) + EVT_EXEC(N(80224478)) + EVT_WAIT_FRAMES(5) + EVT_SET(LW(0), 2) + EVT_EXEC(N(80224478)) + EVT_END_THREAD + EVT_RETURN + EVT_END +}; + +EvtSource N(afterBattle_80224B30) = { + EVT_RETURN + EVT_END +}; + +Stage NAMESPACE = { + .texture = "trd_tex", + .shape = "trd_bt05_shape", + .hit = "trd_bt05_hit", + .bg = "nok_bg", + .preBattle = N(beforeBattle_80224A24), + .postBattle = N(afterBattle_80224B30), +}; diff --git a/src/battle/area_trd_part_1/stage/trd_05b.c b/src/battle/area_trd_part_1/stage/trd_05b.c new file mode 100644 index 0000000000..6545daa88e --- /dev/null +++ b/src/battle/area_trd_part_1/stage/trd_05b.c @@ -0,0 +1,131 @@ +#include "common.h" +#include "battle/battle.h" + +#define NAMESPACE b_area_trd_part_1_trd_05b + +EvtSource N(80225460) = { + EVT_SET(LW(10), LW(0)) + EVT_LABEL(0) + EVT_CALL(RotateGroup, LW(10), 2, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RotateGroup, LW(10), -2, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RandInt, 30, LW(0)) + EVT_ADD(LW(0), 30) + EVT_WAIT_FRAMES(LW(0)) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtSource N(80225578) = { + EVT_SET(LW(10), LW(0)) + EVT_LOOP(0) + EVT_CALL(TranslateModel, LW(10), 1, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 1, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(-0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), EVT_FLOAT(-1.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, -2, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 3, -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, -3, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 3, -3, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 3, -3, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, EVT_FLOAT(-1.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), EVT_FLOAT(-0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(0.5), 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 0, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), -1, 1, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), -1, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), -1, EVT_FLOAT(0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), -1, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), -1, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 0, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtSource N(beforeBattle_80225B24) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_CALL(EnableModel, 16, 0) + EVT_CALL(EnableModel, 17, 0) + EVT_CALL(EnableModel, 2, 0) + EVT_CALL(EnableModel, 4, 0) + EVT_CALL(EnableModel, 6, 0) + EVT_CALL(EnableModel, 20, 0) + EVT_CALL(EnableModel, 18, 0) + EVT_CALL(EnableModel, 19, 0) + EVT_CALL(EnableModel, 25, 0) + EVT_CALL(EnableModel, 27, 0) + EVT_RETURN + EVT_END +}; + +EvtSource N(afterBattle_80225C28) = { + EVT_RETURN + EVT_END +}; + +Stage NAMESPACE = { + .texture = "trd_tex", + .shape = "trd_bt05_shape", + .hit = "trd_bt05_hit", + .preBattle = N(beforeBattle_80225B24), + .postBattle = N(afterBattle_80225C28), +}; diff --git a/src/battle/area_trd_part_1/stage/trd_05c.c b/src/battle/area_trd_part_1/stage/trd_05c.c new file mode 100644 index 0000000000..b2d424c248 --- /dev/null +++ b/src/battle/area_trd_part_1/stage/trd_05c.c @@ -0,0 +1,139 @@ +#include "common.h" +#include "battle/battle.h" + +#define NAMESPACE b_area_trd_part_1_trd_05c + +EvtSource N(80225C60) = { + EVT_SET(LW(10), LW(0)) + EVT_LABEL(0) + EVT_CALL(RotateGroup, LW(10), 2, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RotateGroup, LW(10), -2, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RandInt, 30, LW(0)) + EVT_ADD(LW(0), 30) + EVT_WAIT_FRAMES(LW(0)) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtSource N(80225D78) = { + EVT_SET(LW(10), LW(0)) + EVT_LOOP(0) + EVT_CALL(TranslateModel, LW(10), 1, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 1, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(-0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), EVT_FLOAT(-1.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, -2, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 3, -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, -3, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 3, -3, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 3, -3, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, EVT_FLOAT(-1.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), EVT_FLOAT(-0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(0.5), 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 0, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), -1, 1, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), -1, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), -1, EVT_FLOAT(0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), -1, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), -1, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 0, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtSource N(beforeBattle_80226324) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_CALL(EnableModel, 10, 0) + EVT_CALL(EnableModel, 15, 0) + EVT_CALL(EnableModel, 20, 0) + EVT_CALL(EnableModel, 18, 0) + EVT_CALL(EnableModel, 19, 0) + EVT_CALL(EnableModel, 25, 0) + EVT_SET(LW(0), 27) + EVT_EXEC(N(80225D78)) + EVT_THREAD + EVT_SET(LW(0), 6) + EVT_EXEC(N(80225D78)) + EVT_WAIT_FRAMES(5) + EVT_SET(LW(0), 4) + EVT_EXEC(N(80225D78)) + EVT_WAIT_FRAMES(5) + EVT_SET(LW(0), 2) + EVT_EXEC(N(80225D78)) + EVT_END_THREAD + EVT_RETURN + EVT_END +}; + +EvtSource N(afterBattle_80226470) = { + EVT_RETURN + EVT_END +}; + +Stage NAMESPACE = { + .texture = "trd_tex", + .shape = "trd_bt05_shape", + .hit = "trd_bt05_hit", + .preBattle = N(beforeBattle_80226324), + .postBattle = N(afterBattle_80226470), +}; diff --git a/src/battle/area_trd_part_1/stage/trd_05d.c b/src/battle/area_trd_part_1/stage/trd_05d.c new file mode 100644 index 0000000000..c05158048f --- /dev/null +++ b/src/battle/area_trd_part_1/stage/trd_05d.c @@ -0,0 +1,138 @@ +#include "common.h" +#include "battle/battle.h" + +#define NAMESPACE b_area_trd_part_1_trd_05d + +EvtSource N(802264B0) = { + EVT_SET(LW(10), LW(0)) + EVT_LABEL(0) + EVT_CALL(RotateGroup, LW(10), 2, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RotateGroup, LW(10), -2, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RandInt, 30, LW(0)) + EVT_ADD(LW(0), 30) + EVT_WAIT_FRAMES(LW(0)) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtSource N(802265C8) = { + EVT_SET(LW(10), LW(0)) + EVT_LOOP(0) + EVT_CALL(TranslateModel, LW(10), 1, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 1, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(-0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), EVT_FLOAT(-1.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, -2, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 3, -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, -3, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 3, -3, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 3, -3, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, EVT_FLOAT(-1.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), EVT_FLOAT(-0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(0.5), 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 0, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), -1, 1, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), -1, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), -1, EVT_FLOAT(0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), -1, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), -1, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 0, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtSource N(beforeBattle_80226B74) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_CALL(EnableModel, 10, 0) + EVT_CALL(EnableModel, 15, 0) + EVT_CALL(EnableModel, 16, 0) + EVT_CALL(EnableModel, 17, 0) + EVT_CALL(EnableModel, 25, 0) + EVT_CALL(EnableModel, 14, 0) + EVT_CALL(EnableModel, 27, 0) + EVT_THREAD + EVT_SET(LW(0), 6) + EVT_EXEC(N(802265C8)) + EVT_WAIT_FRAMES(5) + EVT_SET(LW(0), 4) + EVT_EXEC(N(802265C8)) + EVT_WAIT_FRAMES(5) + EVT_SET(LW(0), 2) + EVT_EXEC(N(802265C8)) + EVT_END_THREAD + EVT_RETURN + EVT_END +}; + +EvtSource N(afterBattle_80226CB8) = { + EVT_RETURN + EVT_END +}; + +Stage NAMESPACE = { + .texture = "trd_tex", + .shape = "trd_bt05_shape", + .hit = "trd_bt05_hit", + .preBattle = N(beforeBattle_80226B74), + .postBattle = N(afterBattle_80226CB8), +}; diff --git a/src/battle/area_trd_part_1/stage/trd_05e.c b/src/battle/area_trd_part_1/stage/trd_05e.c new file mode 100644 index 0000000000..6efc83e9ea --- /dev/null +++ b/src/battle/area_trd_part_1/stage/trd_05e.c @@ -0,0 +1,129 @@ +#include "common.h" +#include "battle/battle.h" + +#define NAMESPACE b_area_trd_part_1_trd_05e + +EvtSource N(80226CF0) = { + EVT_SET(LW(10), LW(0)) + EVT_LABEL(0) + EVT_CALL(RotateGroup, LW(10), 2, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RotateGroup, LW(10), -2, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RandInt, 30, LW(0)) + EVT_ADD(LW(0), 30) + EVT_WAIT_FRAMES(LW(0)) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtSource N(80226E08) = { + EVT_SET(LW(10), LW(0)) + EVT_LOOP(0) + EVT_CALL(TranslateModel, LW(10), 1, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 1, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(-0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), EVT_FLOAT(-1.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, -2, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 3, -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, -3, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 3, -3, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 3, -3, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, EVT_FLOAT(-1.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), EVT_FLOAT(-0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(0.5), 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 0, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), -1, 1, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), -1, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), -1, EVT_FLOAT(0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), -1, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), -1, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 0, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtSource N(beforeBattle_802273B4) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_CALL(EnableModel, 27, 0) + EVT_CALL(EnableModel, 2, 0) + EVT_CALL(EnableModel, 4, 0) + EVT_CALL(EnableModel, 6, 0) + EVT_CALL(EnableModel, 20, 0) + EVT_CALL(EnableModel, 18, 0) + EVT_CALL(EnableModel, 19, 0) + EVT_CALL(EnableModel, 25, 0) + EVT_RETURN + EVT_END +}; + +EvtSource N(afterBattle_80227490) = { + EVT_RETURN + EVT_END +}; + +Stage NAMESPACE = { + .texture = "trd_tex", + .shape = "trd_bt05_shape", + .hit = "trd_bt05_hit", + .preBattle = N(beforeBattle_802273B4), + .postBattle = N(afterBattle_80227490), +}; diff --git a/src/battle/area_trd_part_1/stage/trd_05f.c b/src/battle/area_trd_part_1/stage/trd_05f.c new file mode 100644 index 0000000000..5cee886f6f --- /dev/null +++ b/src/battle/area_trd_part_1/stage/trd_05f.c @@ -0,0 +1,131 @@ +#include "common.h" +#include "battle/battle.h" + +#define NAMESPACE b_area_trd_part_1_trd_05f + +EvtSource N(802274D0) = { + EVT_SET(LW(10), LW(0)) + EVT_LABEL(0) + EVT_CALL(RotateGroup, LW(10), 2, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RotateGroup, LW(10), -2, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(RandInt, 30, LW(0)) + EVT_ADD(LW(0), 30) + EVT_WAIT_FRAMES(LW(0)) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtSource N(802275E8) = { + EVT_SET(LW(10), LW(0)) + EVT_LOOP(0) + EVT_CALL(TranslateModel, LW(10), 1, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 1, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(-0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), EVT_FLOAT(-1.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, -2, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 3, -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, -3, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 3, -3, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), 3, -3, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 3, -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, -2, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, EVT_FLOAT(-1.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 2, -1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), EVT_FLOAT(-0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 1, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(0.5), 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 0, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), -1, 1, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), -1, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), -1, EVT_FLOAT(0.5), 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), -1, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(TranslateModel, LW(10), -1, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(TranslateModel, LW(10), 0, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtSource N(beforeBattle_80227B94) = { + EVT_CALL(SetSpriteShading, -1) + EVT_CALL(SetCamBGColor, 1, 0, 0, 0) + EVT_SET(LW(0), 27) + EVT_EXEC(N(802275E8)) + EVT_CALL(EnableModel, 2, 0) + EVT_CALL(EnableModel, 4, 0) + EVT_CALL(EnableModel, 6, 0) + EVT_CALL(EnableModel, 20, 0) + EVT_CALL(EnableModel, 18, 0) + EVT_CALL(EnableModel, 19, 0) + EVT_CALL(EnableModel, 25, 0) + EVT_CALL(EnableModel, 15, 0) + EVT_RETURN + EVT_END +}; + +EvtSource N(afterBattle_80227C8C) = { + EVT_RETURN + EVT_END +}; + +Stage NAMESPACE = { + .texture = "trd_tex", + .shape = "trd_bt05_shape", + .hit = "trd_bt05_hit", + .preBattle = N(beforeBattle_80227B94), + .postBattle = N(afterBattle_80227C8C), +}; diff --git a/src/battle/battle.c b/src/battle/battle.c index 20e6cbd0a9..0bdc1d1ee4 100644 --- a/src/battle/battle.c +++ b/src/battle/battle.c @@ -1,30 +1,13 @@ #include "common.h" #include "ld_addrs.h" #include "battle.h" +#include "battle_tables.h" #include "hud_element.h" #include "sprite.h" extern s32 D_800DC060; extern Stage* D_800DC064; -extern BattleList b_area_kmr_part_1_formationTable; -extern StageList b_area_kmr_part_1_stageTable; - -extern BattleList b_area_kmr_part_2_formationTable; -extern StageList b_area_kmr_part_2_stageTable; - -extern BattleList b_area_kmr_part_3_formationTable; -extern StageList b_area_kmr_part_3_stageTable; - -extern BattleList b_area_mac_formationTable; -extern StageList b_area_mac_stageTable; - -extern BattleList b_area_hos_formationTable; -extern StageList b_area_hos_stageTable; - -extern BattleList b_area_nok_formationTable; -extern StageList b_area_nok_stageTable; - BattleArea gBattleAreas[0x30] = { { AREA(area_kmr_part_1), @@ -65,8 +48,8 @@ BattleArea gBattleAreas[0x30] = { { AREA(area_trd_part_1), .name = "エリア TRD その1", - .battles = 0x80218CB0, - .stages = 0x80218EE0, + .battles = &b_area_trd_part_1_formationTable, + .stages = &b_area_trd_part_1_stageTable, }, { AREA(area_trd_part_2), diff --git a/src/battle/battle_tables.h b/src/battle/battle_tables.h new file mode 100644 index 0000000000..e7353efc64 --- /dev/null +++ b/src/battle/battle_tables.h @@ -0,0 +1,28 @@ +#ifndef _BATTLE_BATTLE_TABLE_H_ +#define _BATTLE_BATTLE_TABLE_H_ + +#include "common.h" +#include "battle/battle.h" + +extern BattleList b_area_kmr_part_1_formationTable; +extern StageList b_area_kmr_part_1_stageTable; + +extern BattleList b_area_kmr_part_2_formationTable; +extern StageList b_area_kmr_part_2_stageTable; + +extern BattleList b_area_kmr_part_3_formationTable; +extern StageList b_area_kmr_part_3_stageTable; + +extern BattleList b_area_mac_formationTable; +extern StageList b_area_mac_stageTable; + +extern BattleList b_area_hos_formationTable; +extern StageList b_area_hos_stageTable; + +extern BattleList b_area_nok_formationTable; +extern StageList b_area_nok_stageTable; + +extern BattleList b_area_trd_part_1_formationTable; +extern StageList b_area_trd_part_1_stageTable; + +#endif diff --git a/src/battle/common/actor/koopa_troopa.inc.c b/src/battle/common/actor/koopa_troopa.inc.c new file mode 100644 index 0000000000..5dd96a5921 --- /dev/null +++ b/src/battle/common/actor/koopa_troopa.inc.c @@ -0,0 +1,610 @@ +#include "common.h" +#include "effects.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "sprite/npc/koopa_troopa.h" + +s32 N(defenseTable_8021C960)[] = { + ELEMENT_NORMAL, 1, + ELEMENT_HAMMER, 1, + ELEMENT_JUMP, 1, + ELEMENT_WATER, 1, + ELEMENT_BLAST, 1, + ELEMENT_END, +}; + +s32 N(defenseTable_8021C98C)[] = { + ELEMENT_NORMAL, 0, + ELEMENT_END, +}; + +s32 N(statusTable_8021C998)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 90, + STATUS_POISON, 60, + STATUS_FROZEN, 100, + STATUS_DIZZY, 90, + STATUS_FEAR, 0, + STATUS_STATIC, 80, + STATUS_PARALYZE, 90, + 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, +}; + +extern s32 N(idleAnimations_8021CA90)[]; +extern EvtSource N(init_8021CB74); + +ActorPartDesc N(partsTable_8021CA44)[] = { + { + .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), + .eventFlags = ACTOR_EVENT_FLAG_FLIPABLE, + .elementImmunityFlags = 0, + .unk_1C = 249, + }, +}; + +ActorDesc NAMESPACE = { + .flags = 0, + .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), + .escapeChance = 70, + .airLiftChance = 90, + .spookChance = 90, + .baseStatusChance = 90, + .upAndAwayChance = 95, + .spinSmashReq = 0, + .powerBounceChance = 100, + .coinReward = 1, + .size = { 28, 36 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -15, 32 }, + .statusMessageOffset = { 5, 32 }, +}; + +s32 N(idleAnimations_8021CA90)[] = { + STATUS_NORMAL, NPC_ANIM_koopa_troopa_Palette_01_Anim_1, + STATUS_STONE, NPC_ANIM_koopa_troopa_Palette_01_Anim_0, + STATUS_SLEEP, NPC_ANIM_koopa_troopa_Palette_01_Anim_11, + STATUS_POISON, NPC_ANIM_koopa_troopa_Palette_01_Anim_1, + STATUS_STOP, NPC_ANIM_koopa_troopa_Palette_01_Anim_0, + STATUS_STATIC, NPC_ANIM_koopa_troopa_Palette_01_Anim_1, + STATUS_PARALYZE, NPC_ANIM_koopa_troopa_Palette_01_Anim_0, + STATUS_DIZZY, NPC_ANIM_koopa_troopa_Palette_01_Anim_13, + STATUS_FEAR, NPC_ANIM_koopa_troopa_Palette_01_Anim_13, + STATUS_END, +}; + +s32 N(idleAnimations_8021CADC)[] = { + STATUS_NORMAL, NPC_ANIM_koopa_troopa_Palette_01_Anim_3, + STATUS_STONE, NPC_ANIM_koopa_troopa_Palette_01_Anim_0, + STATUS_SLEEP, NPC_ANIM_koopa_troopa_Palette_01_Anim_11, + STATUS_POISON, NPC_ANIM_koopa_troopa_Palette_01_Anim_3, + STATUS_STOP, NPC_ANIM_koopa_troopa_Palette_01_Anim_0, + STATUS_STATIC, NPC_ANIM_koopa_troopa_Palette_01_Anim_3, + STATUS_PARALYZE, NPC_ANIM_koopa_troopa_Palette_01_Anim_0, + STATUS_DIZZY, NPC_ANIM_koopa_troopa_Palette_01_Anim_13, + STATUS_FEAR, NPC_ANIM_koopa_troopa_Palette_01_Anim_13, + STATUS_END, +}; + +s32 N(idleAnimations_8021CB28)[] = { + STATUS_NORMAL, NPC_ANIM_koopa_troopa_Palette_01_Anim_F, + STATUS_STONE, NPC_ANIM_koopa_troopa_Palette_01_Anim_10, + STATUS_SLEEP, NPC_ANIM_koopa_troopa_Palette_01_Anim_12, + STATUS_POISON, NPC_ANIM_koopa_troopa_Palette_01_Anim_F, + STATUS_STOP, NPC_ANIM_koopa_troopa_Palette_01_Anim_10, + STATUS_STATIC, NPC_ANIM_koopa_troopa_Palette_01_Anim_F, + STATUS_PARALYZE, NPC_ANIM_koopa_troopa_Palette_01_Anim_10, + STATUS_DIZZY, NPC_ANIM_koopa_troopa_Palette_01_Anim_14, + STATUS_FEAR, NPC_ANIM_koopa_troopa_Palette_01_Anim_14, + STATUS_END, +}; + +extern EvtSource N(takeTurn_8021DD9C); +extern EvtSource N(idle_8021CD30); +extern EvtSource N(handleEvent_8021D218); + +EvtSource N(init_8021CB74) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_ADDR(N(takeTurn_8021DD9C))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_ADDR(N(idle_8021CD30))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_ADDR(N(handleEvent_8021D218))) + EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) + EVT_RETURN + EVT_END +}; + +#include "common/UnkBattleFunc1.inc.c" + +EvtSource N(8021CBD8) = { + EVT_SWITCH(LW(0)) + EVT_CASE_EQ(0) + EVT_IF_FLAG(LW(1), 0x00041000) + 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(1) + 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_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtSource N(idle_8021CD30) = { + EVT_LABEL(0) + EVT_CALL(RandInt, 80, LW(10)) + EVT_ADD(LW(10), 80) + EVT_LOOP(LW(10)) + EVT_LABEL(1) + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(1)) + EVT_EXEC_WAIT(N(8021CBD8)) + EVT_IF_EQ(LW(0), 1) + EVT_WAIT_FRAMES(1) + EVT_GOTO(1) + EVT_END_IF + EVT_IF_FLAG(LW(1), STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_WAIT_FRAMES(1) + EVT_GOTO(1) + EVT_END_IF + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(0), 5) + EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8021CADC))) + EVT_CALL(SetIdleGoal, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_SWITCH(LW(0)) + EVT_CASE_EQ(0) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8021CA90))) + EVT_CASE_EQ(1) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8021CB28))) + EVT_END_SWITCH + EVT_LOOP(20) + EVT_LABEL(2) + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(1)) + EVT_EXEC_WAIT(N(8021CBD8)) + EVT_IF_EQ(LW(0), 1) + EVT_WAIT_FRAMES(1) + EVT_GOTO(2) + EVT_END_IF + EVT_IF_FLAG(LW(1), STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_WAIT_FRAMES(1) + EVT_GOTO(2) + EVT_END_IF + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_SUB(LW(0), 5) + EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8021CADC))) + EVT_CALL(SetIdleGoal, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_SWITCH(LW(0)) + EVT_CASE_EQ(0) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8021CA90))) + EVT_CASE_EQ(1) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8021CB28))) + EVT_END_SWITCH + EVT_LOOP(80) + EVT_LABEL(3) + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(1)) + EVT_EXEC_WAIT(N(8021CBD8)) + EVT_IF_EQ(LW(0), 1) + EVT_WAIT_FRAMES(1) + EVT_GOTO(3) + EVT_END_IF + EVT_IF_FLAG(LW(1), STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_WAIT_FRAMES(1) + EVT_GOTO(3) + EVT_END_IF + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_GOTO(0) + EVT_RETURN + 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, +}; + +EvtSource N(handleEvent_8021D218) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetActorYaw, ACTOR_SELF, 0) + EVT_CALL(GetLastEvent, ACTOR_SELF, LW(0)) + EVT_SWITCH(LW(0)) + EVT_CASE_OR_EQ(EVENT_HIT_COMBO) + EVT_CASE_OR_EQ(EVENT_HIT) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) + EVT_EXEC_WAIT(DoNormalHit) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_BURN_HIT) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_C) + EVT_SET_CONST(LW(2), NPC_ANIM_koopa_troopa_Palette_01_Anim_D) + EVT_EXEC_WAIT(DoBurnHit) + EVT_CASE_EQ(EVENT_BURN_DEATH) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_C) + EVT_SET_CONST(LW(2), NPC_ANIM_koopa_troopa_Palette_01_Anim_D) + EVT_EXEC_WAIT(DoBurnHit) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_D) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + 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_ADDR(N(defenseTable_8021C98C))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8021CB28))) + 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) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_B) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(10)) + EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) + EVT_CHILD_THREAD + EVT_WAIT_FRAMES(4) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 30) + EVT_WAIT_FRAMES(1) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -30) + EVT_WAIT_FRAMES(1) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -60) + EVT_WAIT_FRAMES(1) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -75) + EVT_WAIT_FRAMES(1) + EVT_END_CHILD_THREAD + EVT_USE_BUF(EVT_ADDR(N(intTable_8021D1C0))) + EVT_LOOP(22) + EVT_BUF_READ1(LW(0)) + EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, LW(0), 0) + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + 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, NPC_ANIM_koopa_troopa_Palette_01_Anim_F) + EVT_CASE_EQ(EVENT_SHOCK_HIT) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) + EVT_EXEC_WAIT(DoShockHit) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) + EVT_EXEC_WAIT(DoJumpBack) + EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_4) + EVT_EXEC_WAIT(DoReturnHome) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6005859375)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) + EVT_CASE_EQ(EVENT_SHOCK_DEATH) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) + EVT_EXEC_WAIT(DoShockHit) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER) + EVT_CASE_OR_EQ(EVENT_IMMUNE) + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_IF_EQ(LW(0), 0) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_7) + EVT_EXEC_WAIT(DoImmune) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(0)) + EVT_IF_NOT_FLAG(LW(0), 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, NPC_ANIM_koopa_troopa_Palette_01_Anim_8) + EVT_WAIT_FRAMES(10) + EVT_END_IF + EVT_ELSE + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_F) + EVT_EXEC_WAIT(DoImmune) + EVT_END_IF + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_DEATH) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) + EVT_EXEC_WAIT(DoNormalHit) + EVT_WAIT_FRAMES(10) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_IF_EQ(LW(0), 0) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_4) + EVT_EXEC_WAIT(DoReturnHome) + EVT_END_IF + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(SetHomePos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(HPBarToHome, ACTOR_SELF) + EVT_CASE_EQ(EVENT_RECOVER_STATUS) + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_IF_EQ(LW(0), 0) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_1) + EVT_EXEC_WAIT(DoRecover) + EVT_ELSE + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_F) + EVT_EXEC_WAIT(DoImmune) + EVT_END_IF + EVT_CASE_EQ(EVENT_SCARE_AWAY) + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_IF_EQ(LW(0), 0) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_4) + EVT_SET_CONST(LW(2), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) + EVT_EXEC_WAIT(DoScareAway) + EVT_RETURN + EVT_ELSE + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_F) + EVT_EXEC_WAIT(DoImmune) + EVT_END_IF + EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_IF_EQ(LW(0), 0) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_17) + EVT_ELSE + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_F) + EVT_END_IF + EVT_EXEC_WAIT(DoAirLift) + EVT_CASE_EQ(EVENT_BLOW_AWAY) + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_IF_EQ(LW(0), 0) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_17) + EVT_ELSE + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_F) + EVT_END_IF + EVT_EXEC_WAIT(DoBlowAway) + EVT_RETURN + EVT_CASE_EQ(EVENT_AIR_LIFT_FAILED) + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_IF_EQ(LW(0), 0) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_1) + EVT_EXEC_WAIT(DoImmune) + EVT_ELSE + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_F) + EVT_EXEC_WAIT(DoImmune) + EVT_END_IF + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, -1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtSource N(takeTurn_8021DD9C) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(GetBattlePhase, LW(0)) + EVT_IF_EQ(LW(0), PHASE_FIRST_STRIKE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_6) + EVT_ELSE + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_IF_EQ(LW(0), 1) + EVT_CALL(GetActorVar, ACTOR_SELF, 9, LW(0)) + EVT_SUB(LW(0), 1) + EVT_IF_GT(LW(0), 0) + EVT_CALL(SetActorVar, ACTOR_SELF, 9, LW(0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) + EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(3.0)) + EVT_WAIT_FRAMES(30) + 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_FRAMES(20) + 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, NPC_ANIM_koopa_troopa_Palette_01_Anim_F) + EVT_SET(LW(0), 0) + EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) + EVT_CHILD_THREAD + EVT_LOOP(5) + EVT_ADD(LW(0), 15) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LW(0)) + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_END_CHILD_THREAD + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + 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(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, NPC_ANIM_koopa_troopa_Palette_01_Anim_1) + EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8021CA90))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_ADDR(N(defenseTable_8021C960))) + 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) + EVT_CALL(ResetActorSounds, ACTOR_SELF, 2) + 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_WAIT_FRAMES(10) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_7) + EVT_WAIT_FRAMES(10) + EVT_CHILD_THREAD + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(1), 4) + EVT_CALL(PlayEffect, EFFECT_ID_1D, 1, LW(0), LW(1), LW(2), 32, 4, 0, 10, 0, 0, 0, 0, 0) + EVT_WAIT_FRAMES(3) + EVT_CALL(PlayEffect, EFFECT_ID_1D, 1, LW(0), LW(1), LW(2), 32, 4, 0, 10, 0, 0, 0, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(PlayEffect, EFFECT_ID_1D, 1, LW(0), LW(1), LW(2), 32, 4, 0, 10, 0, 0, 0, 0, 0) + EVT_END_CHILD_THREAD + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x2021) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_6) + EVT_WAIT_FRAMES(10) + EVT_CALL(func_8024ECF8, -1, 1, 0) + EVT_END_IF + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x20D3) + EVT_CALL(SetActorSounds, ACTOR_SELF, 0, 0, 0) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), 0, 0, 1, BS_FLAGS1_10) + EVT_SWITCH(LW(0)) + EVT_CASE_OR_EQ(HIT_RESULT_MISS) + EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) + EVT_SET(LW(10), LW(0)) + 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, LW(0)) + EVT_IF_EQ(LW(0), 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_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_8) + EVT_WAIT_FRAMES(8) + EVT_CALL(ResetAllActorSounds, ACTOR_SELF) + EVT_CALL(SetActorYaw, ACTOR_SELF, 180) + EVT_WAIT_FRAMES(4) + EVT_IF_EQ(LW(10), HIT_RESULT_LUCKY) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_15) + EVT_WAIT_FRAMES(1) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_16) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(1), 20) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_17) + EVT_WAIT_FRAMES(6) + EVT_SUB(LW(1), 20) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + 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, NPC_ANIM_koopa_troopa_Palette_01_Anim_17) + 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, NPC_ANIM_koopa_troopa_Palette_01_Anim_1) + 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_FRAMES(2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LW(0), 0, 65535, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_SWITCH(LW(0)) + 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, LW(0), LW(1), LW(2)) + EVT_ADD(LW(0), 40) + EVT_SET(LW(1), 0) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.80078125)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) + EVT_ADD(LW(0), 30) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) + EVT_ADD(LW(0), 20) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_8) + EVT_WAIT_FRAMES(8) + EVT_CALL(YieldTurn) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_4) + EVT_EXEC_WAIT(DoReturnHome) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_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/paratroopa.inc.c b/src/battle/common/actor/paratroopa.inc.c new file mode 100644 index 0000000000..3ed8771198 --- /dev/null +++ b/src/battle/common/actor/paratroopa.inc.c @@ -0,0 +1,1163 @@ +#include "common.h" +#include "effects.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "sprite/npc/koopa_troopa.h" +#include "sprite/npc/para_troopa.h" + +s32 N(defenseTable_8021EAD0)[] = { + ELEMENT_NORMAL, 1, + ELEMENT_HAMMER, 1, + ELEMENT_JUMP, 1, + ELEMENT_WATER, 1, + ELEMENT_BLAST, 1, + ELEMENT_END, +}; + +s32 N(defenseTable_8021EAFC)[] = { + ELEMENT_NORMAL, 1, + ELEMENT_END, +}; + +s32 N(defenseTable_8021EB08)[] = { + ELEMENT_NORMAL, 0, + ELEMENT_END, +}; + +s32 N(statusTable_8021EB14)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 90, + STATUS_POISON, 60, + STATUS_FROZEN, 100, + STATUS_DIZZY, 90, + STATUS_FEAR, 0, + STATUS_STATIC, 80, + STATUS_PARALYZE, 90, + 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, +}; + +s32 N(statusTable_8021EBC0)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 90, + STATUS_POISON, 60, + STATUS_FROZEN, 100, + STATUS_DIZZY, 90, + STATUS_FEAR, 0, + STATUS_STATIC, 80, + STATUS_PARALYZE, 90, + 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, +}; + +extern s32 N(idleAnimations_80220AA0)[]; +extern s32 N(idleAnimations_8021ED00)[]; +extern s32 N(idleAnimations_8021ED98)[]; +extern EvtSource N(init_8021EE0C); + +ActorPartDesc N(partsTable_8021EC6C)[] = { + { + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { -2, 36 }, + .opacity = 255, + .idleAnimations = N(idleAnimations_80220AA0), + .defenseTable = N(defenseTable_8021EAD0), + .eventFlags = ACTOR_EVENT_FLAG_FLIPABLE, + .elementImmunityFlags = 0, + .unk_1C = 249, + }, + { + .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .index = 2, + .posOffset = { 0, 0, 0 }, + .targetOffset = { -4, 36 }, + .opacity = 255, + .idleAnimations = N(idleAnimations_8021ED00), + .defenseTable = N(defenseTable_8021EAFC), + .eventFlags = ACTOR_EVENT_FLAG_GROUNDABLE, + .elementImmunityFlags = 0, + .unk_1C = 754, + }, + { + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, + .index = 3, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 32 }, + .opacity = 255, + .idleAnimations = N(idleAnimations_8021ED98), + .defenseTable = N(defenseTable_8021EAD0), + .eventFlags = ACTOR_EVENT_FLAG_0, + .elementImmunityFlags = 0, + .unk_1C = 246, + }, +}; + +ActorDesc NAMESPACE = { + .flags = ACTOR_FLAG_FLYING, + .type = ACTOR_TYPE_PARATROOPA, + .level = 6, + .maxHP = 4, + .partCount = ARRAY_COUNT(N(partsTable_8021EC6C)), + .partsData = N(partsTable_8021EC6C), + .script = N(init_8021EE0C), + .statusTable = N(statusTable_8021EBC0), + .escapeChance = 60, + .airLiftChance = 95, + .spookChance = 100, + .baseStatusChance = 90, + .upAndAwayChance = 95, + .spinSmashReq = 0, + .powerBounceChance = 90, + .coinReward = 1, + .size = { 50, 38 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -10, 29 }, + .statusMessageOffset = { 8, 30 }, +}; + +s32 N(idleAnimations_8021ED00)[] = { + STATUS_NORMAL, NPC_ANIM_para_troopa_Palette_01_Anim_1, + STATUS_STONE, NPC_ANIM_para_troopa_Palette_01_Anim_0, + STATUS_SLEEP, NPC_ANIM_para_troopa_Palette_01_Anim_12, + STATUS_POISON, NPC_ANIM_para_troopa_Palette_01_Anim_0, + STATUS_STOP, NPC_ANIM_para_troopa_Palette_01_Anim_0, + STATUS_STATIC, NPC_ANIM_para_troopa_Palette_01_Anim_1, + STATUS_PARALYZE, NPC_ANIM_para_troopa_Palette_01_Anim_0, + STATUS_DIZZY, NPC_ANIM_para_troopa_Palette_01_Anim_13, + STATUS_FEAR, NPC_ANIM_para_troopa_Palette_01_Anim_13, + STATUS_END, +}; + +s32 N(idleAnimations_8021ED4C)[] = { + STATUS_NORMAL, NPC_ANIM_para_troopa_Palette_01_Anim_1, + STATUS_STONE, NPC_ANIM_para_troopa_Palette_01_Anim_0, + STATUS_SLEEP, NPC_ANIM_para_troopa_Palette_01_Anim_12, + STATUS_POISON, NPC_ANIM_para_troopa_Palette_01_Anim_0, + STATUS_STOP, NPC_ANIM_para_troopa_Palette_01_Anim_0, + STATUS_STATIC, NPC_ANIM_para_troopa_Palette_01_Anim_1, + STATUS_PARALYZE, NPC_ANIM_para_troopa_Palette_01_Anim_0, + STATUS_DIZZY, NPC_ANIM_para_troopa_Palette_01_Anim_13, + STATUS_FEAR, NPC_ANIM_para_troopa_Palette_01_Anim_13, + STATUS_END, +}; + +s32 N(idleAnimations_8021ED98)[] = { + STATUS_NORMAL, NPC_ANIM_para_troopa_Palette_01_Anim_F, + STATUS_STONE, NPC_ANIM_para_troopa_Palette_01_Anim_0, + STATUS_SLEEP, NPC_ANIM_para_troopa_Palette_01_Anim_12, + STATUS_POISON, NPC_ANIM_para_troopa_Palette_01_Anim_0, + STATUS_STOP, NPC_ANIM_para_troopa_Palette_01_Anim_0, + STATUS_STATIC, NPC_ANIM_para_troopa_Palette_01_Anim_F, + STATUS_PARALYZE, NPC_ANIM_para_troopa_Palette_01_Anim_0, + STATUS_DIZZY, NPC_ANIM_para_troopa_Palette_01_Anim_13, + STATUS_FEAR, NPC_ANIM_para_troopa_Palette_01_Anim_13, + STATUS_END, +}; + +EvtSource N(nextTurn_8021EDE4) = { + EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) + EVT_RETURN + EVT_END +}; + +extern EvtSource N(takeTurn_8021FA24); +extern EvtSource N(idle_8021EF5C); +extern EvtSource N(handleEvent_8021F2EC); + +EvtSource N(init_8021EE0C) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_ADDR(N(takeTurn_8021FA24))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_ADDR(N(idle_8021EF5C))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_ADDR(N(handleEvent_8021F2EC))) + EVT_CALL(BindNextTurn, ACTOR_SELF, EVT_ADDR(N(nextTurn_8021EDE4))) + EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) + EVT_RETURN + EVT_END +}; + +#include "common/StartRumbleWithParams.inc.c" + +#include "common/UnkBattleFunc1.inc.c" + +EvtSource N(8021EE84) = { + EVT_IF_FLAG(LW(1), 0x00041000) + EVT_CALL(SetTargetOffset, ACTOR_SELF, 2, 0, 25) + EVT_CALL(func_8027D4C8, ACTOR_SELF, 2, 3, -6) + EVT_CALL(N(UnkBattleFunc1), -19, 25, 4, 28) + EVT_ELSE + EVT_CALL(SetTargetOffset, ACTOR_SELF, 2, -2, 36) + EVT_CALL(func_8027D4C8, ACTOR_SELF, 2, 0, -7) + EVT_CALL(N(UnkBattleFunc1), -10, 29, 8, 30) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtSource N(idle_8021EF5C) = { + EVT_LABEL(10) + EVT_CALL(RandInt, 80, LW(0)) + EVT_ADD(LW(0), 80) + EVT_LOOP(LW(0)) + EVT_LABEL(0) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(1)) + EVT_EXEC_WAIT(N(8021EE84)) + EVT_IF_FLAG(LW(1), STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_WAIT_FRAMES(1) + EVT_GOTO(0) + EVT_END_IF + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(0), 5) + EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(0.6005859375)) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_ADDR(N(idleAnimations_8021ED4C))) + EVT_CALL(SetIdleGoal, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(IdleFlyToGoal, ACTOR_SELF, 0, -5, 0) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8021ED00))) + EVT_LOOP(20) + EVT_LABEL(1) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(1)) + EVT_EXEC_WAIT(N(8021EE84)) + EVT_IF_FLAG(LW(1), STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_WAIT_FRAMES(1) + EVT_GOTO(1) + EVT_END_IF + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_SUB(LW(0), 5) + EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(0.6005859375)) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_ADDR(N(idleAnimations_8021ED4C))) + EVT_CALL(SetIdleGoal, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(IdleFlyToGoal, ACTOR_SELF, 0, -5, 0) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_ADDR(N(idleAnimations_8021ED00))) + EVT_LOOP(40) + EVT_LABEL(2) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(1)) + EVT_EXEC_WAIT(N(8021EE84)) + EVT_IF_FLAG(LW(1), STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_WAIT_FRAMES(1) + EVT_GOTO(2) + EVT_END_IF + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_GOTO(10) + EVT_RETURN + EVT_END +}; + +EvtSource N(8021F26C) = { + EVT_CALL(SetAnimation, ACTOR_SELF, 2, NPC_ANIM_para_troopa_Palette_01_Anim_3) + EVT_CALL(SetGoalToHome, ACTOR_SELF) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) + EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, 11) + EVT_CALL(SetAnimation, ACTOR_SELF, 2, NPC_ANIM_para_troopa_Palette_01_Anim_1) + EVT_RETURN + EVT_END +}; + +extern EvtSource N(802204DC); + +EvtSource N(handleEvent_8021F2EC) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(GetLastEvent, ACTOR_SELF, LW(0)) + EVT_SWITCH(LW(0)) + EVT_CASE_EQ(EVENT_HIT_COMBO) + EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) + EVT_SET_CONST(LW(0), 2) + EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_7) + EVT_EXEC_WAIT(DoNormalHit) + EVT_CASE_EQ(EVENT_HIT) + EVT_SET_CONST(LW(0), 2) + EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_7) + EVT_EXEC_WAIT(DoNormalHit) + EVT_CALL(GetBattlePhase, LW(0)) + EVT_IF_EQ(LW(0), PHASE_FIRST_STRIKE) + EVT_CALL(GetEncounterState, LW(0)) + EVT_IF_EQ(LW(0), 4) + EVT_EXEC_WAIT(N(802204DC)) + EVT_END_IF + EVT_END_IF + EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) + EVT_SET_CONST(LW(0), 2) + EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_7) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) + EVT_SET_CONST(LW(0), 2) + EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_7) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_SET_CONST(LW(0), 2) + EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_6) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_BURN_HIT) + EVT_SET_CONST(LW(0), 2) + EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_8) + EVT_SET_CONST(LW(2), NPC_ANIM_para_troopa_Palette_01_Anim_9) + EVT_EXEC_WAIT(DoBurnHit) + EVT_CASE_EQ(EVENT_BURN_DEATH) + EVT_SET_CONST(LW(0), 2) + EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_8) + EVT_SET_CONST(LW(2), NPC_ANIM_para_troopa_Palette_01_Anim_9) + EVT_EXEC_WAIT(DoBurnHit) + EVT_SET_CONST(LW(0), 2) + EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_9) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_FALL_TRIGGER) + EVT_SET_CONST(LW(0), 2) + EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_7) + EVT_EXEC_WAIT(DoNormalHit) + EVT_EXEC_WAIT(N(802204DC)) + EVT_CASE_EQ(EVENT_15) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_8) + EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_9) + EVT_EXEC_WAIT(DoBurnHit) + EVT_EXEC_WAIT(N(802204DC)) + EVT_CASE_EQ(EVENT_SHOCK_HIT) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_7) + EVT_EXEC_WAIT(DoShockHit) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_6) + EVT_EXEC_WAIT(DoJumpBack) + EVT_EXEC_WAIT(N(8021F26C)) + EVT_CASE_EQ(EVENT_SHOCK_DEATH) + EVT_SET_CONST(LW(0), 2) + EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_7) + EVT_EXEC_WAIT(DoShockHit) + EVT_SET_CONST(LW(0), 2) + EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_6) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_UNKNOWN_TRIGGER) + EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) + EVT_SET_CONST(LW(0), 2) + EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_B) + EVT_EXEC_WAIT(DoImmune) + EVT_CASE_OR_EQ(EVENT_IMMUNE) + EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) + EVT_SET_CONST(LW(0), 2) + EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_B) + EVT_EXEC_WAIT(DoImmune) + EVT_CALL(GetBattlePhase, LW(0)) + EVT_IF_EQ(LW(0), PHASE_FIRST_STRIKE) + EVT_CALL(GetEncounterState, LW(0)) + EVT_IF_EQ(LW(0), 4) + EVT_EXEC_WAIT(N(802204DC)) + EVT_END_IF + EVT_END_IF + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_DEATH) + EVT_SET_CONST(LW(0), 2) + EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_7) + EVT_EXEC_WAIT(DoNormalHit) + EVT_WAIT_FRAMES(10) + EVT_SET_CONST(LW(0), 2) + EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_6) + 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_EXEC_WAIT(N(8021F26C)) + EVT_CALL(HPBarToHome, ACTOR_SELF) + EVT_CASE_EQ(EVENT_RECOVER_STATUS) + EVT_SET_CONST(LW(0), 2) + EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_1) + EVT_EXEC_WAIT(DoRecover) + EVT_CASE_EQ(EVENT_SCARE_AWAY) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, 0) + EVT_SET_CONST(LW(0), 2) + EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_3) + EVT_SET_CONST(LW(2), NPC_ANIM_para_troopa_Palette_01_Anim_7) + EVT_EXEC_WAIT(DoScareAway) + EVT_RETURN + EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) + EVT_SET_CONST(LW(0), 2) + EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_3) + EVT_EXEC_WAIT(DoAirLift) + EVT_CASE_EQ(EVENT_BLOW_AWAY) + EVT_SET_CONST(LW(0), 2) + EVT_SET_CONST(LW(1), NPC_ANIM_para_troopa_Palette_01_Anim_7) + 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 +}; + +EvtSource N(takeTurn_8021FA24) = { + 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(UseBattleCamPreset, BTL_CAM_PRESET_F) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(SetAnimation, ACTOR_SELF, 2, NPC_ANIM_para_troopa_Palette_01_Anim_3) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(AddGoalPos, ACTOR_SELF, 40, 30, 0) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(7.0)) + EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -16, 0) + EVT_CALL(func_8024E664, 1) + EVT_WAIT_FRAMES(5) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), 0, 0, 1, BS_FLAGS1_10) + EVT_SWITCH(LW(0)) + EVT_CASE_OR_EQ(HIT_RESULT_MISS) + EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) + EVT_SET(LW(10), LW(0)) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x20E0) + EVT_CALL(SetActorSounds, ACTOR_SELF, 1, 0, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 2, NPC_ANIM_para_troopa_Palette_01_Anim_4) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(AddGoalPos, ACTOR_SELF, 6, 6, 0) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(2.0)) + EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 0, 0) + EVT_WAIT_FRAMES(6) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_UNUSED_2C1) + EVT_CALL(SetActorSounds, ACTOR_SELF, 1, 0, 0) + EVT_CALL(GetActorPos, ACTOR_PLAYER, LW(0), LW(1), LW(2)) + EVT_SUB(LW(0), 25) + EVT_SET(LW(1), 0) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(10.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 2, NPC_ANIM_para_troopa_Palette_01_Anim_C) + EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 0, 0) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_SUB(LW(0), 30) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(4.0)) + EVT_THREAD + EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 10, 0) + EVT_SET(LW(0), 0) + EVT_LOOP(8) + EVT_ADD(LW(0), 90) + EVT_IF_GE(LW(0), 360) + EVT_SUB(LW(0), 360) + EVT_END_IF + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LW(0)) + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) + EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, -10, 0) + EVT_END_THREAD + EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_SUB(LW(0), 30) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(4.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 2, NPC_ANIM_para_troopa_Palette_01_Anim_7) + EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_SUB(LW(0), 30) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(4.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 2, NPC_ANIM_para_troopa_Palette_01_Anim_7) + EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) + EVT_IF_EQ(LW(10), HIT_RESULT_LUCKY) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(1), 30) + EVT_CALL(SetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_WAIT_FRAMES(20) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(YieldTurn) + EVT_CALL(ResetAllActorSounds, ACTOR_SELF) + EVT_CALL(AddActorDecoration, ACTOR_SELF, 2, 0, 2) + EVT_CALL(SetActorYaw, ACTOR_SELF, 180) + EVT_EXEC_WAIT(N(8021F26C)) + EVT_CALL(SetActorYaw, ACTOR_SELF, 0) + 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, 0x20E0) + EVT_CALL(SetActorSounds, ACTOR_SELF, 1, 0, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 2, NPC_ANIM_para_troopa_Palette_01_Anim_4) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(AddGoalPos, ACTOR_SELF, 6, 6, 0) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(2.0)) + EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 0, 0) + EVT_WAIT_FRAMES(6) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_UNUSED_2C1) + EVT_CALL(SetActorSounds, ACTOR_SELF, 1, 0, 0) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(10.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 2, NPC_ANIM_para_troopa_Palette_01_Anim_C) + EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LW(0), 0, 65535, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_SWITCH(LW(0)) + EVT_CASE_OR_EQ(HIT_RESULT_HIT) + EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(AddGoalPos, ACTOR_SELF, 40, 30, 0) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, 2, NPC_ANIM_para_troopa_Palette_01_Anim_D) + EVT_THREAD + EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 10, 0) + EVT_SET(LW(0), 0) + EVT_LOOP(12) + EVT_SUB(LW(0), 90) + EVT_IF_LT(LW(0), 0) + EVT_ADD(LW(0), 360) + EVT_END_IF + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LW(0)) + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) + EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, -10, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, 2, NPC_ANIM_para_troopa_Palette_01_Anim_1) + EVT_END_THREAD + EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 30, 0) + EVT_WAIT_FRAMES(10) + EVT_CALL(YieldTurn) + EVT_CALL(ResetAllActorSounds, ACTOR_SELF) + EVT_EXEC_WAIT(N(8021F26C)) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, -1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +extern EvtSource N(80220B84); + +EvtSource N(802204DC) = { + EVT_CALL(SetPartDispOffset, ACTOR_SELF, 2, 0, 0, 0) + EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(SetPartFlags, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, 3, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000) + EVT_CALL(SetPartFlags, ACTOR_SELF, 1, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(1), 8) + EVT_SUB(LW(2), 2) + EVT_CALL(SetPartPos, ACTOR_SELF, 3, LW(0), LW(1), LW(2)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_B) + EVT_CALL(SetActorSounds, ACTOR_SELF, 2, 769, 0) + EVT_CALL(GetActorVar, ACTOR_SELF, 0, LW(10)) + EVT_IF_EQ(LW(10), 0) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_SET(LW(1), 0) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.80078125)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) + EVT_CALL(N(StartRumbleWithParams), 128, 7) + EVT_THREAD + EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(0.30078125)) + EVT_END_THREAD + EVT_CALL(ResetActorSounds, ACTOR_SELF, 2) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) + EVT_LOOP(10) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, 1) + EVT_WAIT_FRAMES(1) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, 0) + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, 1) + EVT_ELSE + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_SET(LW(1), 0) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.80078125)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) + EVT_THREAD + EVT_LOOP(10) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, 1) + EVT_WAIT_FRAMES(1) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, 0) + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, 1) + EVT_END_THREAD + EVT_CALL(N(StartRumbleWithParams), 150, 7) + EVT_THREAD + EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(0.30078125)) + EVT_END_THREAD + EVT_CALL(ResetActorSounds, ACTOR_SELF, 2) + EVT_END_IF + EVT_CALL(GetIndexFromHome, ACTOR_SELF, LW(0)) + EVT_MOD(LW(0), 4) + EVT_CALL(SetGoalToIndex, ACTOR_SELF, LW(0)) + EVT_CALL(GetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(SetHomePos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_1) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, 0) + EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_ADDR(N(statusTable_8021EB14))) + EVT_CALL(BindNextTurn, ACTOR_SELF, 0) + EVT_EXEC_WAIT(N(80220B84)) + EVT_CALL(SetActorType, ACTOR_SELF, ACTOR_TYPE_KOOPA_TROOPA) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_1000, 1) + EVT_CALL(HPBarToHome, ACTOR_SELF) + EVT_CALL(ResetAllActorSounds, ACTOR_SELF) + EVT_IF_NE(LW(10), 0) + EVT_CALL(DispatchEvent, ACTOR_SELF, EVENT_FLIP_TRIGGER) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +s32 N(idleAnimations_80220AA0)[] = { + STATUS_NORMAL, NPC_ANIM_koopa_troopa_Palette_01_Anim_1, + STATUS_STONE, NPC_ANIM_koopa_troopa_Palette_01_Anim_0, + STATUS_SLEEP, NPC_ANIM_koopa_troopa_Palette_01_Anim_11, + STATUS_POISON, NPC_ANIM_koopa_troopa_Palette_01_Anim_1, + STATUS_STOP, NPC_ANIM_koopa_troopa_Palette_01_Anim_0, + STATUS_STATIC, NPC_ANIM_koopa_troopa_Palette_01_Anim_1, + STATUS_PARALYZE, NPC_ANIM_koopa_troopa_Palette_01_Anim_0, + STATUS_DIZZY, NPC_ANIM_koopa_troopa_Palette_01_Anim_13, + STATUS_FEAR, NPC_ANIM_koopa_troopa_Palette_01_Anim_13, + STATUS_END, +}; + +s32 N(idleAnimations_80220AEC)[] = { + STATUS_NORMAL, NPC_ANIM_koopa_troopa_Palette_01_Anim_3, + STATUS_STONE, NPC_ANIM_koopa_troopa_Palette_01_Anim_0, + STATUS_SLEEP, NPC_ANIM_koopa_troopa_Palette_01_Anim_11, + STATUS_POISON, NPC_ANIM_koopa_troopa_Palette_01_Anim_3, + STATUS_STOP, NPC_ANIM_koopa_troopa_Palette_01_Anim_0, + STATUS_STATIC, NPC_ANIM_koopa_troopa_Palette_01_Anim_3, + STATUS_PARALYZE, NPC_ANIM_koopa_troopa_Palette_01_Anim_0, + STATUS_DIZZY, NPC_ANIM_koopa_troopa_Palette_01_Anim_13, + STATUS_FEAR, NPC_ANIM_koopa_troopa_Palette_01_Anim_13, + STATUS_END, +}; + +s32 N(idleAnimations_80220B38)[] = { + STATUS_NORMAL, NPC_ANIM_koopa_troopa_Palette_01_Anim_F, + STATUS_STONE, NPC_ANIM_koopa_troopa_Palette_01_Anim_10, + STATUS_SLEEP, NPC_ANIM_koopa_troopa_Palette_01_Anim_12, + STATUS_POISON, NPC_ANIM_koopa_troopa_Palette_01_Anim_F, + STATUS_STOP, NPC_ANIM_koopa_troopa_Palette_01_Anim_10, + STATUS_STATIC, NPC_ANIM_koopa_troopa_Palette_01_Anim_F, + STATUS_PARALYZE, NPC_ANIM_koopa_troopa_Palette_01_Anim_10, + STATUS_DIZZY, NPC_ANIM_koopa_troopa_Palette_01_Anim_14, + STATUS_FEAR, NPC_ANIM_koopa_troopa_Palette_01_Anim_14, + STATUS_END, +}; + +extern EvtSource N(takeTurn_80221DAC); +extern EvtSource N(idle_80220D40); +extern EvtSource N(handleEvent_80221228); + +EvtSource N(80220B84) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_ADDR(N(takeTurn_80221DAC))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_ADDR(N(idle_80220D40))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_ADDR(N(handleEvent_80221228))) + EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) + EVT_RETURN + EVT_END +}; + +EvtSource N(80220BE8) = { + EVT_SWITCH(LW(0)) + EVT_CASE_EQ(0) + EVT_IF_FLAG(LW(1), 0x00041000) + 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(1) + 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_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtSource N(idle_80220D40) = { + EVT_LABEL(0) + EVT_CALL(RandInt, 80, LW(10)) + EVT_ADD(LW(10), 80) + EVT_LOOP(LW(10)) + EVT_LABEL(1) + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(1)) + EVT_EXEC_WAIT(N(80220BE8)) + EVT_IF_EQ(LW(0), 1) + EVT_WAIT_FRAMES(1) + EVT_GOTO(1) + EVT_END_IF + EVT_IF_FLAG(LW(1), STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_WAIT_FRAMES(1) + EVT_GOTO(1) + EVT_END_IF + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(0), 5) + EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80220AEC))) + EVT_CALL(SetIdleGoal, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_SWITCH(LW(0)) + EVT_CASE_EQ(0) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80220AA0))) + EVT_CASE_EQ(1) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80220B38))) + EVT_END_SWITCH + EVT_LOOP(20) + EVT_LABEL(2) + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(1)) + EVT_EXEC_WAIT(N(80220BE8)) + EVT_IF_EQ(LW(0), 1) + EVT_WAIT_FRAMES(1) + EVT_GOTO(2) + EVT_END_IF + EVT_IF_FLAG(LW(1), STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_WAIT_FRAMES(1) + EVT_GOTO(2) + EVT_END_IF + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_SUB(LW(0), 5) + EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80220AEC))) + EVT_CALL(SetIdleGoal, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_SWITCH(LW(0)) + EVT_CASE_EQ(0) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80220AA0))) + EVT_CASE_EQ(1) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80220B38))) + EVT_END_SWITCH + EVT_LOOP(80) + EVT_LABEL(3) + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(1)) + EVT_EXEC_WAIT(N(80220BE8)) + EVT_IF_EQ(LW(0), 1) + EVT_WAIT_FRAMES(1) + EVT_GOTO(3) + EVT_END_IF + EVT_IF_FLAG(LW(1), STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_WAIT_FRAMES(1) + EVT_GOTO(3) + EVT_END_IF + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +s32 N(intTable_802211D0)[] = { + 0x00000009, 0x00000010, 0x00000016, 0x0000001A, 0x0000001E, 0x00000020, 0x00000021, 0x00000020, + 0x0000001E, 0x0000001A, 0x00000016, 0x00000010, 0x00000009, 0x00000000, 0x00000004, 0x00000006, + 0x00000007, 0x00000006, 0x00000004, 0x00000000, 0x00000002, 0x00000000, +}; + +EvtSource N(handleEvent_80221228) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetActorYaw, ACTOR_SELF, 0) + EVT_CALL(GetLastEvent, ACTOR_SELF, LW(0)) + EVT_SWITCH(LW(0)) + EVT_CASE_OR_EQ(EVENT_HIT_COMBO) + EVT_CASE_OR_EQ(EVENT_HIT) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) + EVT_EXEC_WAIT(DoNormalHit) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_BURN_HIT) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_C) + EVT_SET_CONST(LW(2), NPC_ANIM_koopa_troopa_Palette_01_Anim_D) + EVT_EXEC_WAIT(DoBurnHit) + EVT_CASE_EQ(EVENT_BURN_DEATH) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_C) + EVT_SET_CONST(LW(2), NPC_ANIM_koopa_troopa_Palette_01_Anim_D) + EVT_EXEC_WAIT(DoBurnHit) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_D) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) + EVT_EXEC_WAIT(DoSpinSmashHit) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + 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_ADDR(N(defenseTable_8021EB08))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80220B38))) + 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) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_B) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(10)) + EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) + EVT_CHILD_THREAD + EVT_WAIT_FRAMES(4) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 30) + EVT_WAIT_FRAMES(1) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -30) + EVT_WAIT_FRAMES(1) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -60) + EVT_WAIT_FRAMES(1) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -75) + EVT_WAIT_FRAMES(1) + EVT_END_CHILD_THREAD + EVT_USE_BUF(EVT_ADDR(N(intTable_802211D0))) + EVT_LOOP(22) + EVT_BUF_READ1(LW(0)) + EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, LW(0), 0) + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + 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, NPC_ANIM_koopa_troopa_Palette_01_Anim_F) + EVT_CASE_EQ(EVENT_SHOCK_HIT) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) + EVT_EXEC_WAIT(DoShockHit) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) + EVT_EXEC_WAIT(DoJumpBack) + EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_4) + EVT_EXEC_WAIT(DoReturnHome) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6005859375)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) + EVT_CASE_EQ(EVENT_SHOCK_DEATH) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) + EVT_EXEC_WAIT(DoShockHit) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER) + EVT_CASE_OR_EQ(EVENT_IMMUNE) + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_IF_EQ(LW(0), 0) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_7) + EVT_EXEC_WAIT(DoImmune) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(0)) + EVT_IF_NOT_FLAG(LW(0), 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, NPC_ANIM_koopa_troopa_Palette_01_Anim_8) + EVT_WAIT_FRAMES(10) + EVT_END_IF + EVT_ELSE + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_F) + EVT_EXEC_WAIT(DoImmune) + EVT_END_IF + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_DEATH) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) + EVT_EXEC_WAIT(DoNormalHit) + EVT_WAIT_FRAMES(10) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_IF_EQ(LW(0), 0) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_4) + EVT_EXEC_WAIT(DoReturnHome) + EVT_END_IF + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(SetHomePos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(HPBarToHome, ACTOR_SELF) + EVT_CASE_EQ(EVENT_RECOVER_STATUS) + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_IF_EQ(LW(0), 0) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_1) + EVT_EXEC_WAIT(DoRecover) + EVT_ELSE + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_F) + EVT_EXEC_WAIT(DoImmune) + EVT_END_IF + EVT_CASE_EQ(EVENT_SCARE_AWAY) + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_IF_EQ(LW(0), 0) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_4) + EVT_SET_CONST(LW(2), NPC_ANIM_koopa_troopa_Palette_01_Anim_B) + EVT_EXEC_WAIT(DoScareAway) + EVT_RETURN + EVT_ELSE + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_F) + EVT_EXEC_WAIT(DoImmune) + EVT_END_IF + EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_IF_EQ(LW(0), 0) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_17) + EVT_ELSE + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_F) + EVT_END_IF + EVT_EXEC_WAIT(DoAirLift) + EVT_CASE_EQ(EVENT_BLOW_AWAY) + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_IF_EQ(LW(0), 0) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_17) + EVT_ELSE + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_F) + EVT_END_IF + EVT_EXEC_WAIT(DoBlowAway) + EVT_RETURN + EVT_CASE_EQ(EVENT_AIR_LIFT_FAILED) + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_IF_EQ(LW(0), 0) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_1) + EVT_EXEC_WAIT(DoImmune) + EVT_ELSE + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_F) + EVT_EXEC_WAIT(DoImmune) + EVT_END_IF + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, -1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtSource N(takeTurn_80221DAC) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(GetBattlePhase, LW(0)) + EVT_IF_EQ(LW(0), PHASE_FIRST_STRIKE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_6) + EVT_ELSE + EVT_CALL(GetActorVar, ACTOR_SELF, 8, LW(0)) + EVT_IF_EQ(LW(0), 1) + EVT_CALL(GetActorVar, ACTOR_SELF, 9, LW(0)) + EVT_SUB(LW(0), 1) + EVT_IF_GT(LW(0), 0) + EVT_CALL(SetActorVar, ACTOR_SELF, 9, LW(0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2) + EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(3.0)) + EVT_WAIT_FRAMES(30) + 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_FRAMES(20) + 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, NPC_ANIM_koopa_troopa_Palette_01_Anim_F) + EVT_SET(LW(0), 0) + EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) + EVT_CHILD_THREAD + EVT_LOOP(5) + EVT_ADD(LW(0), 15) + EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LW(0)) + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_END_CHILD_THREAD + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + 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(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, NPC_ANIM_koopa_troopa_Palette_01_Anim_1) + EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80220AA0))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_ADDR(N(defenseTable_8021EAD0))) + 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) + EVT_CALL(ResetActorSounds, ACTOR_SELF, 2) + 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_WAIT_FRAMES(10) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_7) + EVT_WAIT_FRAMES(10) + EVT_CHILD_THREAD + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(1), 4) + EVT_CALL(PlayEffect, EFFECT_ID_1D, 1, LW(0), LW(1), LW(2), 32, 4, 0, 10, 0, 0, 0, 0, 0) + EVT_WAIT_FRAMES(3) + EVT_CALL(PlayEffect, EFFECT_ID_1D, 1, LW(0), LW(1), LW(2), 32, 4, 0, 10, 0, 0, 0, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(PlayEffect, EFFECT_ID_1D, 1, LW(0), LW(1), LW(2), 32, 4, 0, 10, 0, 0, 0, 0, 0) + EVT_END_CHILD_THREAD + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x2021) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_6) + EVT_WAIT_FRAMES(10) + EVT_CALL(func_8024ECF8, -1, 1, 0) + EVT_END_IF + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x20D3) + EVT_CALL(SetActorSounds, ACTOR_SELF, 0, 0, 0) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), 0, 0, 1, BS_FLAGS1_10) + EVT_SWITCH(LW(0)) + EVT_CASE_OR_EQ(HIT_RESULT_MISS) + EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) + EVT_SET(LW(10), LW(0)) + 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, LW(0)) + EVT_IF_EQ(LW(0), 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_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_8) + EVT_WAIT_FRAMES(8) + EVT_CALL(ResetAllActorSounds, ACTOR_SELF) + EVT_CALL(SetActorYaw, ACTOR_SELF, 180) + EVT_WAIT_FRAMES(4) + EVT_IF_EQ(LW(10), HIT_RESULT_LUCKY) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_15) + EVT_WAIT_FRAMES(1) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_16) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(1), 20) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_17) + EVT_WAIT_FRAMES(6) + EVT_SUB(LW(1), 20) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + 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, NPC_ANIM_koopa_troopa_Palette_01_Anim_17) + 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, NPC_ANIM_koopa_troopa_Palette_01_Anim_1) + 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_FRAMES(2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LW(0), 0, 65535, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_SWITCH(LW(0)) + 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, LW(0), LW(1), LW(2)) + EVT_ADD(LW(0), 40) + EVT_SET(LW(1), 0) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.80078125)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) + EVT_ADD(LW(0), 30) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) + EVT_ADD(LW(0), 20) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_8) + EVT_WAIT_FRAMES(8) + EVT_CALL(YieldTurn) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_koopa_troopa_Palette_01_Anim_4) + EVT_EXEC_WAIT(DoReturnHome) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_troopa_Palette_01_Anim_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/tools/disasm_script.py b/tools/disasm_script.py index 828f175f5d..5aa1197f05 100755 --- a/tools/disasm_script.py +++ b/tools/disasm_script.py @@ -410,6 +410,7 @@ replace_funcs = { "GetActorSize" :{0:"ActorIDs"}, "GetActorVar" :{0:"ActorIDs"}, "GetBattleFlags" :{0:"BattleStatusFlags1"}, + "GetBattlePhase" :{0:"Phases"}, "GetDistanceToGoal" :{0:"ActorIDs"}, "GetGoalPos" :{0:"ActorIDs"}, "GetHomePos" :{0:"ActorIDs"}, diff --git a/tools/star_rod_idx_to_c.py b/tools/star_rod_idx_to_c.py index 853002b433..6d02084304 100755 --- a/tools/star_rod_idx_to_c.py +++ b/tools/star_rod_idx_to_c.py @@ -854,8 +854,8 @@ def disassemble(bytes, midx, symbol_map={}, comments=True, romstart=0, namespace out += INDENT + INDENT + f".posOffset = {{ {d[2]}, {d[3]}, {d[4]} }},\n" out += INDENT + INDENT + f".targetOffset = {{ {d[5]}, {d[6]} }},\n" out += INDENT + INDENT + f".opacity = {d[7]},\n" - out += INDENT + INDENT + f".idleAnimations = {read_ptr(d[8], symbol_map)},\n" - out += INDENT + INDENT + f".defenseTable = {read_ptr(d[9], symbol_map)},\n" + out += INDENT + INDENT + f".idleAnimations = N(idleAnimations_{d[8]:08X}),\n" + out += INDENT + INDENT + f".defenseTable = N(defenseTable_{d[9]:08X}),\n" out += INDENT + INDENT + f".eventFlags = {read_flags(d[10], 'ActorEventFlags')},\n" out += INDENT + INDENT + f".elementImmunityFlags = {read_flags(d[11], 'ElementImmunityFlags')},\n" out += INDENT + INDENT + f".unk_1C = {d[12]},\n" diff --git a/ver/us/asm/data/battle/area_trd_part_1/4A1530.data.s b/ver/us/asm/data/battle/area_trd_part_1/4A1530.data.s deleted file mode 100644 index 93ef07a2cf..0000000000 --- a/ver/us/asm/data/battle/area_trd_part_1/4A1530.data.s +++ /dev/null @@ -1,765 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80218490_4A1530 -.word D_8021CA68_4A5B08, 0x00000001, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802184AC_4A154C -.word D_8021CA68_4A5B08, 0x00000001, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021CA68_4A5B08, 0x00000002, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802184E4_4A1584 -.word D_8021CA68_4A5B08, 0x00000000, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021CA68_4A5B08, 0x00000001, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021CA68_4A5B08, 0x00000002, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80218538_4A15D8 -.word D_8021CA68_4A5B08, 0x00000001, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021A730_4A37D0, 0x00000002, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80218570_4A1610 -.word D_8021CA68_4A5B08, 0x00000000, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021A730_4A37D0, 0x00000001, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021A730_4A37D0, 0x00000002, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802185C4_4A1664 -.word D_8021CA68_4A5B08, 0x00000000, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021A730_4A37D0, 0x00000001, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021A730_4A37D0, 0x00000002, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021A730_4A37D0, 0x00000003, 0x00000007, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80218634_4A16D4 -.word D_8021CA68_4A5B08, 0x00000000, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021CA68_4A5B08, 0x00000001, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021A730_4A37D0, 0x00000002, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80218688_4A1728 -.word D_8021CA68_4A5B08, 0x00000000, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021CA68_4A5B08, 0x00000001, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021A730_4A37D0, 0x00000002, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021A730_4A37D0, 0x00000003, 0x00000007, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802186F8_4A1798 -.word D_8021ECD8_4A7D78, 0x00000005, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021ECD8_4A7D78, 0x00000006, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80218730_4A17D0 -.word D_8021ECD8_4A7D78, 0x00000004, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021ECD8_4A7D78, 0x00000005, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021ECD8_4A7D78, 0x00000006, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80218784_4A1824 -.word D_8021ECD8_4A7D78, 0x00000005, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021CA68_4A5B08, 0x00000002, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802187BC_4A185C -.word D_8021ECD8_4A7D78, 0x00000004, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021CA68_4A5B08, 0x00000001, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021ECD8_4A7D78, 0x00000006, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80218810_4A18B0 -.word D_8021ECD8_4A7D78, 0x00000004, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021CA68_4A5B08, 0x00000001, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021ECD8_4A7D78, 0x00000006, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021CA68_4A5B08, 0x00000003, 0x00000007, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80218880_4A1920 -.word D_8021ECD8_4A7D78, 0x00000004, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021A730_4A37D0, 0x00000001, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021A730_4A37D0, 0x00000002, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802188D4_4A1974 -.word D_8021ECD8_4A7D78, 0x00000004, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021A730_4A37D0, 0x00000001, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021A730_4A37D0, 0x00000002, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021A730_4A37D0, 0x00000003, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80218944_4A19E4 -.word D_8021A730_4A37D0, 0x00000001, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80218960_4A1A00 -.word D_8021A730_4A37D0, 0x00000001, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021A730_4A37D0, 0x00000002, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80218998_4A1A38 -.word D_8021A730_4A37D0, 0x00000000, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021A730_4A37D0, 0x00000001, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021A730_4A37D0, 0x00000002, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802189EC_4A1A8C -.word D_8021A730_4A37D0, 0x00000000, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021A730_4A37D0, 0x00000001, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021A730_4A37D0, 0x00000002, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021A730_4A37D0, 0x00000003, 0x00000007, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80218A5C_4A1AFC -.word D_8021A730_4A37D0, 0x00000001, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021CA68_4A5B08, 0x00000002, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80218A94_4A1B34 -.word D_8021A730_4A37D0, 0x00000000, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021A730_4A37D0, 0x00000001, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021CA68_4A5B08, 0x00000002, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80218AE8_4A1B88 -.word D_8021A730_4A37D0, 0x00000000, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021CA68_4A5B08, 0x00000001, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021CA68_4A5B08, 0x00000002, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80218B3C_4A1BDC -.word D_8021CA68_4A5B08, 0x00000000, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021A730_4A37D0, 0x00000001, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021A730_4A37D0, 0x00000002, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80218B90_4A1C30 -.word 0x00000032, 0x00000000, 0xFFFFFFEC - -dlabel D_80218B9C_4A1C3C -.word 0x00000050, 0x00000000, 0x00000000 - -dlabel D_80218BA8_4A1C48 -.word 0x0000006E, 0x00000000, 0x00000014 - -dlabel D_80218BB4_4A1C54 -.word D_80219E20_4A2EC0, D_80218B90_4A1C30, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80219E20_4A2EC0, D_80218B9C_4A1C3C, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80219E20_4A2EC0, D_80218BA8_4A1C48, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80218C08_4A1CA8 -.word D_8021903C_4A20DC, 0x00000001, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021903C_4A20DC, 0x00000002, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80218C40_4A1CE0 -.word D_8021903C_4A20DC, 0x00000001, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80218C5C_4A1CFC -.word D_8021903C_4A20DC, 0x00000000, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021903C_4A20DC, 0x00000001, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021903C_4A20DC, 0x00000002, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80227E8C_4B0F2C, 0x00000001, D_80218490_4A1530, D_80222B2C_4ABBCC, 0x00000000, D_80227E80_4B0F20, 0x00000002, D_802184AC_4A154C, D_80222B2C_4ABBCC, 0x00000000, D_80227E74_4B0F14, 0x00000003, D_802184E4_4A1584, D_80222B2C_4ABBCC, 0x00000000, D_80227E60_4B0F00, 0x00000002, D_80218538_4A15D8, D_80222B2C_4ABBCC, 0x00000000, D_80227E4C_4B0EEC, 0x00000003, D_80218570_4A1610, D_80222B2C_4ABBCC, 0x00000000, D_80227E38_4B0ED8, 0x00000004, D_802185C4_4A1664, D_80222B2C_4ABBCC, 0x00000000, D_80227E24_4B0EC4, 0x00000003, D_80218634_4A16D4, D_80222B2C_4ABBCC, 0x00000000, D_80227E0C_4B0EAC, 0x00000004, D_80218688_4A1728, D_80222B2C_4ABBCC, 0x00000000, D_80227E00_4B0EA0, 0x00000002, D_802186F8_4A1798, D_80222B2C_4ABBCC, 0x00000000, D_80227DF4_4B0E94, 0x00000003, D_80218730_4A17D0, D_80222B2C_4ABBCC, 0x00000000, D_80227DE0_4B0E80, 0x00000002, D_80218784_4A1824, D_80222B2C_4ABBCC, 0x00000000, D_80227DC4_4B0E64, 0x00000003, D_802187BC_4A185C, D_80222B2C_4ABBCC, 0x00000000, D_80227DA0_4B0E40, 0x00000004, D_80218810_4A18B0, D_80222B2C_4ABBCC, 0x00000000, D_80227D88_4B0E28, 0x00000003, D_80218880_4A1920, D_80222B2C_4ABBCC, 0x00000000, D_80227D70_4B0E10, 0x00000004, D_802188D4_4A1974, D_80222B2C_4ABBCC, 0x00000000, D_80227D64_4B0E04, 0x00000001, D_80218944_4A19E4, D_80222B2C_4ABBCC, 0x00000000, D_80227D58_4B0DF8, 0x00000002, D_80218960_4A1A00, D_80222B2C_4ABBCC, 0x00000000, D_80227D4C_4B0DEC, 0x00000003, D_80218998_4A1A38, D_80222B2C_4ABBCC, 0x00000000, D_80227D40_4B0DE0, 0x00000004, D_802189EC_4A1A8C, D_80222B2C_4ABBCC, 0x00000000, D_80227D2C_4B0DCC, 0x00000002, D_80218A5C_4A1AFC, D_80222B2C_4ABBCC, 0x00000000, D_80227D18_4B0DB8, 0x00000003, D_80218A94_4A1B34, D_80222B2C_4ABBCC, 0x00000000, D_80227D04_4B0DA4, 0x00000003, D_80218AE8_4A1B88, D_80222B2C_4ABBCC, 0x00000000, D_80227E4C_4B0EEC, 0x00000003, D_80218B3C_4A1BDC, D_80222B2C_4ABBCC, 0x00000000, D_80227CF0_4B0D90, 0x00000003, D_80218BB4_4A1C54, D_80222B2C_4ABBCC, 0x00000000, D_80227CE4_4B0D84, 0x00000002, D_80218C08_4A1CA8, D_80222B2C_4ABBCC, 0x00000000, D_80227CDC_4B0D7C, 0x00000001, D_80218C40_4A1CE0, D_80222B2C_4ABBCC, 0x00000000, D_80227CD0_4B0D70, 0x00000003, D_80218C5C_4A1CFC, D_80222B2C_4ABBCC, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80227F00_4B0FA0, D_80224BC4_4ADC64, D_80227EF8_4B0F98, D_80222B2C_4ABBCC, D_80227EF0_4B0F90, D_80223330_4AC3D0, D_80227EE8_4B0F88, D_80223B50_4ACBF0, D_80227EE0_4B0F80, D_80224C6C_4ADD0C, D_80227ED8_4B0F78, D_80225430_4AE4D0, D_80227ED0_4B0F70, D_80223FC0_4AD060, D_80227EC8_4B0F68, D_80224338_4AD3D8, D_80227EC0_4B0F60, D_80224B40_4ADBE0, D_80227EB8_4B0F58, D_80225C38_4AECD8, D_80227EB0_4B0F50, D_80226480_4AF520, D_80227EA8_4B0F48, D_80226CC8_4AFD68, D_80227EA0_4B0F40, D_802274A0_4B0540, D_80227E98_4B0F38, D_80227C9C_4B0D3C, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80218F60_4A2000 -.word 0x00000001, 0x00000000, 0x00000000 - -dlabel D_80218F6C_4A200C -.word 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000006, 0x00000000, 0x00000009, 0x00000000, 0x00000007, 0x00000064, 0x00000004, 0x00000064, 0x00000003, 0x00000000, 0x0000000B, 0x00000000, 0x00000005, 0x00000000, 0x0000000A, 0x00000064, 0x00000008, 0x00000000, 0x0000001F, 0x00000000, 0x00000020, 0x00000000, 0x00000025, 0x00000000, 0x00000022, 0x00000000, 0x00000024, 0x00000001, 0x00000023, 0x00000000, 0x00000021, 0x00000000, 0x00000026, 0x00000000, 0x00000027, 0x00000000, 0x00000029, 0x00000000, 0x00000000 - -dlabel D_80219018_4A20B8 -.word 0x00800000, 0x01000000, 0x001000FF, D_80219064_4A2104, D_80218F60_4A2000, 0x00000400, 0x00000000, 0x00FA0000, 0x00000000 - -dlabel D_8021903C_4A20DC -.word 0x00000200, 0x000F0502, 0x00010000, D_80219018_4A20B8, D_80219088_4A2128, D_80218F6C_4A200C, 0x32646400, 0x5F005500, 0x1C160000, 0xF6140A14 - -dlabel D_80219064_4A2104 -.word 0x00000001, 0x002D0001, 0x0000000C, 0x002D0000, 0x00000008, 0x002D0000, 0x00000005, 0x002D0000, 0x00000000 - -dlabel D_80219088_4A2128 -.word 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_802197C0_4A2860, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_80219380_4A2420, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_802193E8_4A2488, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000010, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, ForceHomePos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000002, HPBarToHome, 0xFFFFFF81, 0x00000012, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000001, 0xFE363C80, 0x00000043, 0x00000005, GetActorPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000003, GetStatusFlags, 0xFE363C80, 0xFE363C84, 0x00000010, 0x00000002, 0xFE363C84, 0x00080000, 0x00000024, 0x00000002, 0xFE363C85, 0xFFFFFFF3, 0x00000024, 0x00000002, 0xFE363C86, 0x00000004, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C85, 0xFFFFFFDF, 0x00000024, 0x00000002, 0xFE363C86, 0x0000000B, 0x00000013, 0x00000000, 0x00000027, 0x00000002, 0xFE363C81, 0xFE363C85, 0x00000027, 0x00000002, 0xFE363C82, 0xFE363C86, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000003, CopyStatusEffects, 0xFE363C80, 0xFFFFFF81, 0x00000043, 0x00000003, CopyBuffs, 0xFE363C80, 0xFFFFFF81, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000002, 0x00000000, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFE363C80, 0xFE363C81, 0xFE363C8B, 0xFE363C8C, 0x00000028, 0x00000002, 0xFE363C81, 0x0000005A, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7A8B, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002D0003, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002D0001, 0x00000043, 0x00000005, ForceHomePos, 0xFFFFFF81, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000002, HPBarToHome, 0xFFFFFF81, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80219380_4A2420 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80219390_4A2430 -.word 0x00000046, 0x00000001, D_80219BE0_4A2C80, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002D0007, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFCFC7, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802193E8_4A2488 -.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, 0x00000025, 0x00000002, 0xFE363C81, 0x002D0005, 0x00000046, 0x00000001, DoNormalHit, 0x00000016, 0x00000001, 0x0000000A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002D0005, 0x00000046, 0x00000001, DoNormalHit, 0x00000016, 0x00000001, 0x0000000E, 0x00000046, 0x00000001, D_80219390_4A2430, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000024, 0x00000046, 0x00000001, D_80219390_4A2430, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000000B, 0x00000046, 0x00000001, D_80219390_4A2430, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000021, 0x00000046, 0x00000001, D_80219390_4A2430, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000002F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002D0005, 0x00000046, 0x00000001, DoShockHit, 0x00000046, 0x00000001, D_80219390_4A2430, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000026, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002D0005, 0x00000046, 0x00000001, DoShockHit, 0x00000046, 0x00000001, D_80219390_4A2430, 0x00000002, 0x00000000, 0x0000001D, 0x00000001, 0x00000017, 0x0000001D, 0x00000001, 0x00000019, 0x0000001D, 0x00000001, 0x0000001F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002D0001, 0x00000046, 0x00000001, DoImmune, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000020, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002D0005, 0x00000046, 0x00000001, DoNormalHit, 0x00000046, 0x00000001, D_80219390_4A2430, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000022, 0x00000046, 0x00000001, D_80219390_4A2430, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000031, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002D0001, 0x00000046, 0x00000001, DoRecover, 0x00000016, 0x00000001, 0x00000039, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002D0005, 0x00000046, 0x00000001, DoNormalHit, 0x00000046, 0x00000001, D_80219390_4A2430, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000003A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002D0003, 0x00000046, 0x00000001, DoAirLift, 0x00000016, 0x00000001, 0x00000016, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002D0003, 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_802197C0_4A2860 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000003F, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000004, func_8024ECF8, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002D0004, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetActorDispOffset, 0xFFFFFF81, 0x00000000, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, func_8024E664, 0x00000013, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000002, 0x00000010, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C83, 0xFE363C81, 0x00000043, 0x00000005, GetActorPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C83, 0x00000028, 0x00000002, 0xFE363C80, 0x0000005A, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7A8B, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000012, 0x00000000, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000001, YieldTurn, 0x00000043, 0x00000002, func_8027D32C, 0xFFFFFF81, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, RemoveActor, 0xFFFFFF81, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C83, 0xFE363C81, 0x00000043, 0x00000005, GetActorPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C83, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7A8B, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000C, 0x00000000, 0x00000001, 0x00000000, 0x00000046, 0x00000001, D_80219BE0_4A2C80, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x08000000, 0x00000000, 0x00000000, 0x00000002, 0x00000020, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000001, YieldTurn, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002D0007, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFCFC7, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80219BE0_4A2C80 -.word 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C82, 0x00000002, 0x00000043, 0x0000000F, PlayEffect, 0x00000017, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000027, 0x00000002, 0xFE363C81, 0x00000010, 0x00000027, 0x00000002, 0xFE363C82, 0x00000002, 0x00000043, 0x0000000F, PlayEffect, 0x0000003E, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xF24A8680, 0x0000001E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00002078, 0x00000043, 0x00000002, StartRumble, 0x0000000B, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x00000005, 0xF24A7E80, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80219D20_4A2DC0 -.word 0x00000001, 0x00000001, 0x00000000 - -dlabel D_80219D2C_4A2DCC -.word 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000006, 0x00000000, 0x00000009, 0x00000000, 0x00000007, 0x00000064, 0x00000004, 0x00000000, 0x00000003, 0x00000000, 0x0000000B, 0x00000000, 0x00000005, 0x00000000, 0x0000000A, 0x00000032, 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_80219DD8_4A2E78 -.word 0x00020000, 0x01000000, 0xFA1D00FF, D_80219E48_4A2EE8, D_80219D20_4A2DC0, 0x00000000, 0x00000000, 0x00F70000, 0x00000000, 0x80800001, 0x02640000, 0x961D00FF, D_80219E48_4A2EE8, D_80219D20_4A2DC0, 0x00000000, 0x00000000, 0x00F70000, 0x00000000 - -dlabel D_80219E20_4A2EC0 -.word 0x00000000, 0x00100A04, 0x00020000, D_80219DD8_4A2E78, D_80219E6C_4A2F0C, D_80219D2C_4A2DCC, 0x00140F00, 0x5F046401, 0x37200800, 0xE8140519 - -dlabel D_80219E48_4A2EE8 -.word 0x00000001, 0x002E0001, 0x0000000C, 0x002E0000, 0x00000008, 0x002E0000, 0x00000005, 0x002E0000, 0x00000000 - -dlabel D_80219E6C_4A2F0C -.word 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_8021A200_4A32A0, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_80219ED0_4A2F70, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_80219EE0_4A2F80, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80219ED0_4A2F70 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80219EE0_4A2F80 -.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, 0x002E0003, 0x00000046, 0x00000001, DoNormalHit, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x0000000E, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002E0003, 0x00000025, 0x00000002, 0xFE363C82, 0xFFFFFFFF, 0x00000046, 0x00000001, DoBurnHit, 0x00000016, 0x00000001, 0x00000024, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002E0003, 0x00000025, 0x00000002, 0xFE363C82, 0xFFFFFFFF, 0x00000046, 0x00000001, DoBurnHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002E0003, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x0000001D, 0x00000001, 0x00000017, 0x0000001D, 0x00000001, 0x00000019, 0x0000001D, 0x00000001, 0x0000001F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002E0001, 0x00000046, 0x00000001, DoImmune, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000020, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002E0003, 0x00000046, 0x00000001, DoNormalHit, 0x00000008, 0x00000001, 0x0000000A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002E0003, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000031, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002E0001, 0x00000046, 0x00000001, DoRecover, 0x00000016, 0x00000001, 0x0000003A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002E0003, 0x00000046, 0x00000001, DoAirLift, 0x00000016, 0x00000001, 0x00000016, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002E0003, 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_8021A200_4A32A0 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000008, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000046, 0x00000001, D_8021A2BC_4A335C, 0x00000016, 0x00000001, 0x00000001, 0x00000046, 0x00000001, D_8021A470_4A3510, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021A2BC_4A335C -.word 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002E0002, 0x00000008, 0x00000001, 0x0000000D, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x0000000A, 0xF24A7E80, 0x00000057, 0x00000000, 0x00000043, 0x00000002, StartRumble, 0x00000009, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000002C8, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000021, 0x00000027, 0x00000002, 0xFE363C81, 0x00000013, 0x00000027, 0x00000002, 0xFE363C82, 0x00000003, 0x00000043, 0x0000000F, PlayEffect, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000002, 0x00000005, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000002, 0x00000005, 0x00000002, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000001, func_80218000_4A10A0, 0x00000043, 0x00000003, SummonEnemy, D_8021A4E8_4A3588, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000008, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021A470_4A3510 -.word 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000043, 0x00000003, ActorExists, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021A4DC_4A357C -.word 0x00000000, 0xFFFFFC18, 0x00000000 - -dlabel D_8021A4E8_4A3588 -.word D_8021903C_4A20DC, D_8021A4DC_4A357C, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8021A510_4A35B0 -.word 0x00000001, 0x002C0002, 0x0000000C, 0x002C0000, 0x00000006, 0x002C0018, 0x00000009, 0x002C0004, 0x00000008, 0x002C0000, 0x0000000B, 0x002C0002, 0x00000005, 0x002C0000, 0x00000004, 0x002C001C, 0x00000003, 0x002C001C, 0x00000000 - -dlabel D_8021A55C_4A35FC -.word 0x00000001, 0x002C0005, 0x0000000C, 0x002C0001, 0x00000006, 0x002C0018, 0x00000009, 0x002C0005, 0x00000008, 0x002C0001, 0x0000000B, 0x002C0003, 0x00000005, 0x002C0001, 0x00000004, 0x002C001D, 0x00000003, 0x002C001D, 0x00000000 - -dlabel D_8021A5A8_4A3648 -.word 0x00000001, 0x00000000, 0x00000000 - -dlabel D_8021A5B4_4A3654 -.word 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000006, 0x0000004B, 0x00000009, 0x00000000, 0x00000007, 0x00000064, 0x00000004, 0x00000050, 0x00000003, 0x00000000, 0x0000000B, 0x00000000, 0x00000005, 0x00000050, 0x0000000A, 0x0000005A, 0x00000008, 0x0000005A, 0x0000001F, 0x00000000, 0x00000020, 0x00000000, 0x00000025, 0x00000000, 0x00000022, 0x00000000, 0x00000024, 0x00000000, 0x00000023, 0x00000000, 0x00000021, 0x00000000, 0x00000026, 0x00000000, 0x00000027, 0x00000000, 0x00000029, 0x00000000, 0x00000000 - -dlabel D_8021A660_4A3700 -.word 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000006, 0x00000000, 0x00000009, 0x00000000, 0x00000007, 0x00000000, 0x00000004, 0x00000028, 0x00000003, 0x00000000, 0x0000000B, 0x00000000, 0x00000005, 0x00000028, 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_8021A70C_4A37AC -.word 0x00800000, 0x01000000, 0x001800FF, D_8021A510_4A35B0, D_8021A5A8_4A3648, 0x00000200, 0x00000000, 0x00F70000, 0x00000000 - -dlabel D_8021A730_4A37D0 -.word 0x00000000, 0x000D0603, 0x00010000, D_8021A70C_4A37AC, D_8021A758_4A37F8, D_8021A5B4_4A3654, 0x465A5A5A, 0x5F006401, 0x22230000, 0xF6140A14 - -dlabel D_8021A758_4A37F8 -.word 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_8021C89C_4A593C, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_8021A7D4_4A3874, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_8021ACE8_4A3D88, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021A7D4_4A3874 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021A7E4_4A3884 -.word 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x0035D000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000008, 0x00000001, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_8021A55C_4A35FC, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_8021B4A8_4A4548, 0x00000043, 0x00000005, SetPartEventBits, 0xFFFFFF81, 0x00000001, 0x00008000, 0x00000001, 0x00000043, 0x00000003, SetStatusTable, 0xFFFFFF81, D_8021A660_4A3700, 0x00000043, 0x00000004, PlayLoopingSoundAtActor, 0xFFFFFF81, 0x00000000, 0x80000001, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002C0005, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8280, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, func_8026ED20, 0xFFFFFF81, 0x00000001, 0x00000001, 0x00000043, 0x0000000B, func_8026EBF8, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x0000000A, 0x00000000, 0x0000000A, 0x00000000, 0x00000000, 0x00000043, 0x00000004, func_8026EA7C, 0xFFFFFF81, 0x00000001, 0x0000000F, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000003, StopLoopingSoundAtActor, 0xFFFFFF81, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021A9C8_4A3A68 -.word 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_8021ACE8_4A3D88, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_8021A510_4A35B0, 0x00000043, 0x00000005, SetPartEventBits, 0xFFFFFF81, 0x00000001, 0x00008000, 0x00000000, 0x00000043, 0x00000003, SetStatusTable, 0xFFFFFF81, D_8021A5B4_4A3654, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C82, 0x00000002, 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, StopLoopingSoundAtActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000004, func_8026ED20, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021AAE8_4A3B88 -.word 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000008, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, StopLoopingSoundAtActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000004, func_8026ED20, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021AB54_4A3BF4 -.word 0x00000046, 0x00000001, D_8021AAE8_4A3B88, 0x00000043, 0x00000002, StartRumble, 0x0000000B, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x00000002, 0xF24A7D80, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x00000005, 0xF24A8680, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x0000000A, 0xF24A8C80, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x00000005, 0xF24A8680, 0x00000057, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C82, 0x00000002, 0x00000043, 0x0000000F, PlayEffect, 0x00000017, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000027, 0x00000002, 0xFE363C82, 0x00000002, 0x00000043, 0x0000000F, PlayEffect, 0x00000019, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00002076, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021ACE8_4A3D88 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, GetLastEvent, 0xFFFFFF81, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000009, 0x00000043, 0x00000003, GetLastDamage, 0xFFFFFF81, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000001, 0x00000013, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C000E, 0x00000046, 0x00000001, DoNormalHit, 0x00000016, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, GetLastElement, 0xFE363C8E, 0x00000010, 0x00000002, 0xFE363C8E, 0x00000020, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C0010, 0x00000025, 0x00000002, 0xFE363C82, 0x002C0011, 0x00000046, 0x00000001, DoBurnHit, 0x00000046, 0x00000001, D_8021AB54_4A3BF4, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C0011, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFCFC7, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000012, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C000E, 0x00000046, 0x00000001, DoNormalHit, 0x00000043, 0x00000003, GetLastDamage, 0xFFFFFF81, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000046, 0x00000001, D_8021A7E4_4A3884, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x0000001D, 0x00000001, 0x0000000E, 0x0000001D, 0x00000001, 0x00000024, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C0010, 0x00000025, 0x00000002, 0xFE363C82, 0x002C0011, 0x00000046, 0x00000001, DoBurnHit, 0x00000046, 0x00000001, D_8021AB54_4A3BF4, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C0011, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFCFC7, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x0000000B, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C000E, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000043, 0x00000003, GetLastDamage, 0xFFFFFF81, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000046, 0x00000001, D_8021A7E4_4A3884, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000021, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C000E, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000046, 0x00000001, D_8021AAE8_4A3B88, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C000E, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x0000001D, 0x00000001, 0x0000002F, 0x0000001D, 0x00000001, 0x00000026, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C0010, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFCFC7, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000017, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C0002, 0x00000046, 0x00000001, DoImmune, 0x0000001D, 0x00000001, 0x00000019, 0x0000001D, 0x00000001, 0x0000001F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C0002, 0x00000046, 0x00000001, DoImmune, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000046, 0x00000001, D_8021A7E4_4A3884, 0x00000013, 0x00000000, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000020, 0x00000043, 0x00000002, GetLastElement, 0xFE363C8E, 0x00000010, 0x00000002, 0xFE363C8E, 0x00000020, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C0010, 0x00000025, 0x00000002, 0xFE363C82, 0x002C0011, 0x00000046, 0x00000001, DoBurnHit, 0x00000046, 0x00000001, D_8021AB54_4A3BF4, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C0011, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFCFC7, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000012, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C000E, 0x00000046, 0x00000001, DoNormalHit, 0x00000008, 0x00000001, 0x0000000A, 0x00000046, 0x00000001, D_8021AAE8_4A3B88, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C000E, 0x00000046, 0x00000001, DoDeath, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000022, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C0010, 0x00000025, 0x00000002, 0xFE363C82, 0x002C0011, 0x00000046, 0x00000001, DoBurnHit, 0x00000046, 0x00000001, D_8021AB54_4A3BF4, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C0011, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFCFC7, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000031, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C0002, 0x00000046, 0x00000001, DoRecover, 0x00000016, 0x00000001, 0x00000039, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C0006, 0x00000025, 0x00000002, 0xFE363C82, 0x002C000E, 0x00000046, 0x00000001, DoScareAway, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000003A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C001C, 0x00000046, 0x00000001, DoAirLift, 0x00000016, 0x00000001, 0x00000016, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C001C, 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_8021B4A8_4A4548 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, GetLastEvent, 0xFFFFFF81, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000009, 0x00000043, 0x00000002, GetLastElement, 0xFE363C8E, 0x00000010, 0x00000002, 0xFE363C8E, 0x00000004, 0x00000046, 0x00000001, D_8021A9C8_4A3A68, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C000E, 0x00000046, 0x00000001, DoNormalHit, 0x00000012, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C000F, 0x00000046, 0x00000001, DoNormalHit, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, GetLastElement, 0xFE363C8E, 0x00000014, 0x00000001, 0xFE363C8E, 0x0000001F, 0x00000001, 0x00000004, 0x00000046, 0x00000001, D_8021A9C8_4A3A68, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C000E, 0x00000046, 0x00000001, DoNormalHit, 0x0000001F, 0x00000001, 0x00000020, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C0010, 0x00000046, 0x00000001, DoNormalHit, 0x00000046, 0x00000001, D_8021AB54_4A3BF4, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C0011, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFCFC7, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x0000001C, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C000F, 0x00000046, 0x00000001, DoNormalHit, 0x00000043, 0x00000003, GetLastDamage, 0xFFFFFF81, 0xFE363C80, 0x0000000D, 0x00000002, 0xFE363C80, 0x00000000, 0x00000046, 0x00000001, D_8021AB54_4A3BF4, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C0011, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFCFC7, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x0000001D, 0x00000001, 0x0000000E, 0x0000001D, 0x00000001, 0x00000024, 0x0000001D, 0x00000001, 0x0000000B, 0x0000001D, 0x00000001, 0x00000021, 0x0000001D, 0x00000001, 0x00000022, 0x00000046, 0x00000001, D_8021AB54_4A3BF4, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C0011, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFCFC7, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x0000001D, 0x00000001, 0x00000017, 0x0000001D, 0x00000001, 0x00000019, 0x0000001D, 0x00000001, 0x0000001F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C0003, 0x00000046, 0x00000001, DoImmune, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000020, 0x00000043, 0x00000002, GetLastElement, 0xFE363C8E, 0x00000010, 0x00000002, 0xFE363C8E, 0x00000004, 0x00000046, 0x00000001, D_8021A9C8_4A3A68, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C000E, 0x00000012, 0x00000000, 0x00000046, 0x00000001, D_8021AB54_4A3BF4, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C0011, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFCFC7, 0x00000013, 0x00000000, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x0000001D, 0x00000001, 0x0000002F, 0x0000001D, 0x00000001, 0x00000026, 0x00000046, 0x00000001, D_8021AB54_4A3BF4, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C0011, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFCFC7, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000031, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C0003, 0x00000046, 0x00000001, DoRecover, 0x00000016, 0x00000001, 0x00000039, 0x00000046, 0x00000001, D_8021AAE8_4A3B88, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C0006, 0x00000025, 0x00000002, 0xFE363C82, 0x002C000E, 0x00000046, 0x00000001, DoScareAway, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000003A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C001D, 0x00000046, 0x00000001, DoAirLift, 0x00000016, 0x00000001, 0x00000016, 0x00000043, 0x00000002, func_80269E80, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000014, 0x00000046, 0x00000001, D_8021A9C8_4A3A68, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C001C, 0x00000012, 0x00000000, 0x00000058, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000046, 0x00000001, D_8021AB54_4A3BF4, 0x00000059, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C001D, 0x00000013, 0x00000000, 0x00000046, 0x00000001, DoBlowAway, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000003D, 0x00000046, 0x00000001, D_8021A9C8_4A3A68, 0x0000001C, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021BB40_4A4BE0 -.word 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000003F, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000004, func_8024ECF8, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002C0006, 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, 0x002C0002, 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, 0x002C0006, 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, 0x00000005, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7EE7, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000014, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002C001C, 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, 0x00000008, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000001, YieldTurn, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x000000B4, 0x00000043, 0x00000005, AddActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000002, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002C0006, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002C0002, 0x00000043, 0x00000004, RemoveActorDecoration, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x00000000, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000007, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7EE7, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000014, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002C0014, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, GetActorSize, 0xFFFFFF81, 0xFE363C83, 0xFE363C84, 0x00000043, 0x0000000F, PlayEffect, 0x0000004A, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C84, 0xFE363C83, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x0000037B, 0x00000008, 0x00000001, 0x00000014, 0x00000046, 0x00000001, D_8021AB54_4A3BF4, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x00000200, 0x00000000, 0x00000000, 0x00000002, 0x00000020, 0x00000002, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7EE7, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000014, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000020, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002C0002, 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, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000001, YieldTurn, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002C0006, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002C0002, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021C3F4_4A5494 -.word 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000003F, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000004, func_8024ECF8, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000043, 0x00000004, PlayLoopingSoundAtActor, 0xFFFFFF81, 0x00000000, 0x80000001, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000010, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002C0007, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0x00000050, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8E80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0xFFFFFFFF, 0x0000000E, 0x00000000, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x0000005A, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002C0007, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8680, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000046, 0x00000001, D_8021AB54_4A3BF4, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002C0011, 0x00000008, 0x00000001, 0x0000000A, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFCFC7, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002C0007, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0x0000000A, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8E80, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002C0014, 0x00000008, 0x00000001, 0x0000000F, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000001, 0x00000046, 0x00000001, D_8021AB54_4A3BF4, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x002C0011, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x10000200, 0x00000000, 0x00000000, 0x00000002, 0x00000020, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000008, 0x00000001, 0x0000000F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002C0011, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFCFC7, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021C89C_4A593C -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000008, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000046, 0x00000001, D_8021BB40_4A4BE0, 0x00000012, 0x00000000, 0x00000046, 0x00000001, D_8021C3F4_4A5494, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8021C960_4A5A00 -.word 0x00000001, 0x00000001, 0x00000008, 0x00000001, 0x00000009, 0x00000001, 0x00000003, 0x00000001, 0x0000000B, 0x00000001, 0x00000000 - -dlabel D_8021C98C_4A5A2C -.word 0x00000001, 0x00000000, 0x00000000 - -dlabel D_8021C998_4A5A38 -.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_8021CA44_4A5AE4 -.word 0x00800000, 0x01000000, 0xFE2400FF, D_8021CA90_4A5B30, D_8021C960_4A5A00, 0x00001000, 0x00000000, 0x00F90000, 0x00000000 - -dlabel D_8021CA68_4A5B08 -.word 0x00000000, 0x000B0604, 0x00010000, D_8021CA44_4A5AE4, D_8021CB74_4A5C14, D_8021C998_4A5A38, 0x465A5A5A, 0x5F006401, 0x1C240000, 0xF1200520 - -dlabel D_8021CA90_4A5B30 -.word 0x00000001, 0x00290101, 0x0000000C, 0x00290100, 0x00000006, 0x00290111, 0x00000009, 0x00290101, 0x00000008, 0x00290100, 0x0000000B, 0x00290101, 0x00000005, 0x00290100, 0x00000004, 0x00290113, 0x00000003, 0x00290113, 0x00000000 - -dlabel D_8021CADC_4A5B7C -.word 0x00000001, 0x00290103, 0x0000000C, 0x00290100, 0x00000006, 0x00290111, 0x00000009, 0x00290103, 0x00000008, 0x00290100, 0x0000000B, 0x00290103, 0x00000005, 0x00290100, 0x00000004, 0x00290113, 0x00000003, 0x00290113, 0x00000000 - -dlabel D_8021CB28_4A5BC8 -.word 0x00000001, 0x0029010F, 0x0000000C, 0x00290110, 0x00000006, 0x00290112, 0x00000009, 0x0029010F, 0x00000008, 0x00290110, 0x0000000B, 0x0029010F, 0x00000005, 0x00290110, 0x00000004, 0x00290114, 0x00000003, 0x00290114, 0x00000000 - -dlabel D_8021CB74_4A5C14 -.word 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_8021DD9C_4A6E3C, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_8021CD30_4A5DD0, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_8021D218_4A62B8, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021CBD8_4A5C78 -.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_trd_part_1_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_trd_part_1_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_trd_part_1_UnkBattleFunc1, 0xFFFFFFF6, 0x00000014, 0x0000000A, 0x00000014, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021CD30_4A5DD0 -.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_8021CBD8_4A5C78, 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_8021CADC_4A5B7C, 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_8021CA90_4A5B30, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_8021CB28_4A5BC8, 0x00000023, 0x00000000, 0x00000005, 0x00000001, 0x00000014, 0x00000003, 0x00000001, 0x00000002, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000008, 0xFE363C80, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C81, 0x00000046, 0x00000001, D_8021CBD8_4A5C78, 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_8021CADC_4A5B7C, 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_8021CA90_4A5B30, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_8021CB28_4A5BC8, 0x00000023, 0x00000000, 0x00000005, 0x00000001, 0x00000050, 0x00000003, 0x00000001, 0x00000003, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000008, 0xFE363C80, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C81, 0x00000046, 0x00000001, D_8021CBD8_4A5C78, 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_8021D1C0_4A6260 -.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_8021D218_4A62B8 -.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_8021C98C_4A5A2C, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_8021CB28_4A5BC8, 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_8021D1C0_4A6260, 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_8021DD9C_4A6E3C -.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_8021CA90_4A5B30, 0x00000043, 0x00000004, SetDefenseTable, 0xFFFFFF81, 0x00000001, D_8021C960_4A5A00, 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_8021EAD0_4A7B70 -.word 0x00000001, 0x00000001, 0x00000008, 0x00000001, 0x00000009, 0x00000001, 0x00000003, 0x00000001, 0x0000000B, 0x00000001, 0x00000000 - -dlabel D_8021EAFC_4A7B9C -.word 0x00000001, 0x00000001, 0x00000000 - -dlabel D_8021EB08_4A7BA8 -.word 0x00000001, 0x00000000, 0x00000000 - -dlabel D_8021EB14_4A7BB4 -.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_8021EBC0_4A7C60 -.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, 0x00000001, 0x00000023, 0x00000000, 0x00000021, 0x00000000, 0x00000026, 0x00000001, 0x00000027, 0x00000000, 0x00000029, 0x00000000, 0x00000000 - -dlabel D_8021EC6C_4A7D0C -.word 0x00020001, 0x01000000, 0xFE2400FF, D_80220AA0_4A9B40, D_8021EAD0_4A7B70, 0x00001000, 0x00000000, 0x00F90000, 0x00000000, 0x00800000, 0x02000000, 0xFC2400FF, D_8021ED00_4A7DA0, D_8021EAFC_4A7B9C, 0x00004000, 0x00000000, 0x02F20000, 0x00000000, 0x00020001, 0x03000000, 0x002000FF, D_8021ED98_4A7E38, D_8021EAD0_4A7B70, 0x00000000, 0x00000000, 0x00F60000, 0x00000000 - -dlabel D_8021ECD8_4A7D78 -.word 0x00000200, 0x000C0604, 0x00030000, D_8021EC6C_4A7D0C, D_8021EE0C_4A7EAC, D_8021EBC0_4A7C60, 0x3C5F645A, 0x5F005A01, 0x32260000, 0xF61D081E - -dlabel D_8021ED00_4A7DA0 -.word 0x00000001, 0x002A0101, 0x0000000C, 0x002A0100, 0x00000006, 0x002A0112, 0x00000009, 0x002A0100, 0x00000008, 0x002A0100, 0x0000000B, 0x002A0101, 0x00000005, 0x002A0100, 0x00000004, 0x002A0113, 0x00000003, 0x002A0113, 0x00000000 - -dlabel D_8021ED4C_4A7DEC -.word 0x00000001, 0x002A0101, 0x0000000C, 0x002A0100, 0x00000006, 0x002A0112, 0x00000009, 0x002A0100, 0x00000008, 0x002A0100, 0x0000000B, 0x002A0101, 0x00000005, 0x002A0100, 0x00000004, 0x002A0113, 0x00000003, 0x002A0113, 0x00000000 - -dlabel D_8021ED98_4A7E38 -.word 0x00000001, 0x002A010F, 0x0000000C, 0x002A0100, 0x00000006, 0x002A0112, 0x00000009, 0x002A0100, 0x00000008, 0x002A0100, 0x0000000B, 0x002A010F, 0x00000005, 0x002A0100, 0x00000004, 0x002A0113, 0x00000003, 0x002A0113, 0x00000000 - -dlabel D_8021EDE4_4A7E84 -.word 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021EE0C_4A7EAC -.word 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_8021FA24_4A8AC4, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_8021EF5C_4A7FFC, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_8021F2EC_4A838C, 0x00000043, 0x00000003, BindNextTurn, 0xFFFFFF81, D_8021EDE4_4A7E84, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021EE84_4A7F24 -.word 0x00000010, 0x00000002, 0xFE363C81, 0x00041000, 0x00000043, 0x00000005, SetTargetOffset, 0xFFFFFF81, 0x00000002, 0x00000000, 0x00000019, 0x00000043, 0x00000005, func_8027D4C8, 0xFFFFFF81, 0x00000002, 0x00000003, 0xFFFFFFFA, 0x00000043, 0x00000005, dup_b_area_trd_part_1_UnkBattleFunc1, 0xFFFFFFED, 0x00000019, 0x00000004, 0x0000001C, 0x00000012, 0x00000000, 0x00000043, 0x00000005, SetTargetOffset, 0xFFFFFF81, 0x00000002, 0xFFFFFFFE, 0x00000024, 0x00000043, 0x00000005, func_8027D4C8, 0xFFFFFF81, 0x00000002, 0x00000000, 0xFFFFFFF9, 0x00000043, 0x00000005, dup_b_area_trd_part_1_UnkBattleFunc1, 0xFFFFFFF6, 0x0000001D, 0x00000008, 0x0000001E, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021EF5C_4A7FFC -.word 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, RandInt, 0x00000050, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x00000050, 0x00000005, 0x00000001, 0xFE363C80, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C81, 0x00000046, 0x00000001, D_8021EE84_4A7F24, 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, 0xF24A7CE7, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000002, D_8021ED4C_4A7DEC, 0x00000043, 0x00000005, SetIdleGoal, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, IdleFlyToGoal, 0xFFFFFF81, 0x00000000, 0xFFFFFFFB, 0x00000000, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_8021ED00_4A7DA0, 0x00000005, 0x00000001, 0x00000014, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C81, 0x00000046, 0x00000001, D_8021EE84_4A7F24, 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, 0xF24A7CE7, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000002, D_8021ED4C_4A7DEC, 0x00000043, 0x00000005, SetIdleGoal, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, IdleFlyToGoal, 0xFFFFFF81, 0x00000000, 0xFFFFFFFB, 0x00000000, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000002, D_8021ED00_4A7DA0, 0x00000005, 0x00000001, 0x00000028, 0x00000003, 0x00000001, 0x00000002, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C81, 0x00000046, 0x00000001, D_8021EE84_4A7F24, 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_8021F26C_4A830C -.word 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000002, 0x002A0103, 0x00000043, 0x00000002, SetGoalToHome, 0xFFFFFF81, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9A80, 0x00000043, 0x00000005, FlyToGoal, 0xFFFFFF81, 0x00000000, 0x00000001, 0x0000000B, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000002, 0x002A0101, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021F2EC_4A838C -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, GetLastEvent, 0xFFFFFF81, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000009, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000001, 0x00000025, 0x00000002, 0xFE363C80, 0x00000002, 0x00000025, 0x00000002, 0xFE363C81, 0x002A0107, 0x00000046, 0x00000001, DoNormalHit, 0x00000016, 0x00000001, 0x0000000A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000002, 0x00000025, 0x00000002, 0xFE363C81, 0x002A0107, 0x00000046, 0x00000001, DoNormalHit, 0x00000043, 0x00000002, GetBattlePhase, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000002, GetEncounterState, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000004, 0x00000046, 0x00000001, D_802204DC_4A957C, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x0000000B, 0x00000025, 0x00000002, 0xFE363C80, 0x00000002, 0x00000025, 0x00000002, 0xFE363C81, 0x002A0107, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000016, 0x00000001, 0x00000021, 0x00000025, 0x00000002, 0xFE363C80, 0x00000002, 0x00000025, 0x00000002, 0xFE363C81, 0x002A0107, 0x00000046, 0x00000001, DoSpinSmashHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000002, 0x00000025, 0x00000002, 0xFE363C81, 0x002A0106, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000000E, 0x00000025, 0x00000002, 0xFE363C80, 0x00000002, 0x00000025, 0x00000002, 0xFE363C81, 0x002A0108, 0x00000025, 0x00000002, 0xFE363C82, 0x002A0109, 0x00000046, 0x00000001, DoBurnHit, 0x00000016, 0x00000001, 0x00000024, 0x00000025, 0x00000002, 0xFE363C80, 0x00000002, 0x00000025, 0x00000002, 0xFE363C81, 0x002A0108, 0x00000025, 0x00000002, 0xFE363C82, 0x002A0109, 0x00000046, 0x00000001, DoBurnHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000002, 0x00000025, 0x00000002, 0xFE363C81, 0x002A0109, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000000C, 0x00000025, 0x00000002, 0xFE363C80, 0x00000002, 0x00000025, 0x00000002, 0xFE363C81, 0x002A0107, 0x00000046, 0x00000001, DoNormalHit, 0x00000046, 0x00000001, D_802204DC_4A957C, 0x00000016, 0x00000001, 0x0000000F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002A0108, 0x00000025, 0x00000002, 0xFE363C81, 0x002A0109, 0x00000046, 0x00000001, DoBurnHit, 0x00000046, 0x00000001, D_802204DC_4A957C, 0x00000016, 0x00000001, 0x0000002F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002A0107, 0x00000046, 0x00000001, DoShockHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x002A0106, 0x00000046, 0x00000001, DoJumpBack, 0x00000046, 0x00000001, D_8021F26C_4A830C, 0x00000016, 0x00000001, 0x00000026, 0x00000025, 0x00000002, 0xFE363C80, 0x00000002, 0x00000025, 0x00000002, 0xFE363C81, 0x002A0107, 0x00000046, 0x00000001, DoShockHit, 0x00000025, 0x00000002, 0xFE363C80, 0x00000002, 0x00000025, 0x00000002, 0xFE363C81, 0x002A0106, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000017, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000001, 0x00000025, 0x00000002, 0xFE363C80, 0x00000002, 0x00000025, 0x00000002, 0xFE363C81, 0x002A010B, 0x00000046, 0x00000001, DoImmune, 0x0000001D, 0x00000001, 0x00000019, 0x0000001D, 0x00000001, 0x0000001F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000002, 0x00000025, 0x00000002, 0xFE363C81, 0x002A010B, 0x00000046, 0x00000001, DoImmune, 0x00000043, 0x00000002, GetBattlePhase, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000002, GetEncounterState, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000004, 0x00000046, 0x00000001, D_802204DC_4A957C, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000020, 0x00000025, 0x00000002, 0xFE363C80, 0x00000002, 0x00000025, 0x00000002, 0xFE363C81, 0x002A0107, 0x00000046, 0x00000001, DoNormalHit, 0x00000008, 0x00000001, 0x0000000A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000002, 0x00000025, 0x00000002, 0xFE363C81, 0x002A0106, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000038, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0x00000014, 0x00000000, 0x00000000, 0x00000043, 0x00000002, HPBarToCurrent, 0xFFFFFF81, 0x00000016, 0x00000001, 0x00000035, 0x00000046, 0x00000001, D_8021F26C_4A830C, 0x00000043, 0x00000002, HPBarToHome, 0xFFFFFF81, 0x00000016, 0x00000001, 0x00000031, 0x00000025, 0x00000002, 0xFE363C80, 0x00000002, 0x00000025, 0x00000002, 0xFE363C81, 0x002A0101, 0x00000046, 0x00000001, DoRecover, 0x00000016, 0x00000001, 0x00000039, 0x00000043, 0x00000004, SetActorFlagBits, 0xFFFFFF81, 0x00000200, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000002, 0x00000025, 0x00000002, 0xFE363C81, 0x002A0103, 0x00000025, 0x00000002, 0xFE363C82, 0x002A0107, 0x00000046, 0x00000001, DoScareAway, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x0000003A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000002, 0x00000025, 0x00000002, 0xFE363C81, 0x002A0103, 0x00000046, 0x00000001, DoAirLift, 0x00000016, 0x00000001, 0x00000016, 0x00000025, 0x00000002, 0xFE363C80, 0x00000002, 0x00000025, 0x00000002, 0xFE363C81, 0x002A0107, 0x00000046, 0x00000001, DoBlowAway, 0x00000002, 0x00000000, 0x0000001C, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0xFFFFFFFF, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021FA24_4A8AC4 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000005, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000002, 0x002A0103, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0x00000028, 0x0000001E, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9680, 0x00000043, 0x00000005, FlyToGoal, 0xFFFFFF81, 0x00000000, 0xFFFFFFF0, 0x00000000, 0x00000043, 0x00000002, func_8024E664, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 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, 0x000020E0, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000002, 0x002A0104, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0x00000006, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8280, 0x00000043, 0x00000005, FlyToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000002C1, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000019, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24AA280, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000002, 0x002A010C, 0x00000043, 0x00000005, FlyToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8A80, 0x00000056, 0x00000000, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0x00000000, 0x0000000A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000008, 0x00000027, 0x00000002, 0xFE363C80, 0x0000005A, 0x0000000F, 0x00000002, 0xFE363C80, 0x00000168, 0x00000028, 0x00000002, 0xFE363C80, 0x00000168, 0x00000013, 0x00000000, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0x00000000, 0xFFFFFFF6, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000006, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8A80, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000002, 0x002A0107, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000006, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A8A80, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000002, 0x002A0107, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000006, 0x00000000, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x0000001E, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000001, YieldTurn, 0x00000043, 0x00000002, ResetAllActorSounds, 0xFFFFFF81, 0x00000043, 0x00000005, AddActorDecoration, 0xFFFFFF81, 0x00000002, 0x00000000, 0x00000002, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x000000B4, 0x00000046, 0x00000001, D_8021F26C_4A830C, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000004, RemoveActorDecoration, 0xFFFFFF81, 0x00000002, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0xFFFFFFFF, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000020E0, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000002, 0x002A0104, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0x00000006, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8280, 0x00000043, 0x00000005, FlyToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000002C1, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24AA280, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000002, 0x002A010C, 0x00000043, 0x00000005, FlyToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 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, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0x00000028, 0x0000001E, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A9280, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000002, 0x002A010D, 0x00000056, 0x00000000, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0x00000000, 0x0000000A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x0000000C, 0x00000028, 0x00000002, 0xFE363C80, 0x0000005A, 0x0000000C, 0x00000002, 0xFE363C80, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x00000168, 0x00000013, 0x00000000, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, SetActorRotation, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFFFFFF81, 0x00000000, 0xFFFFFFF6, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000002, 0x002A0101, 0x00000057, 0x00000000, 0x00000043, 0x00000005, FlyToGoal, 0xFFFFFF81, 0x00000000, 0x0000001E, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, YieldTurn, 0x00000043, 0x00000002, ResetAllActorSounds, 0xFFFFFF81, 0x00000046, 0x00000001, D_8021F26C_4A830C, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0xFFFFFFFF, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802204DC_4A957C -.word 0x00000043, 0x00000006, SetPartDispOffset, 0xFFFFFF81, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, func_8027D32C, 0xFFFFFF81, 0x00000043, 0x00000004, SetPartFlags, 0xFFFFFF81, 0x00000002, 0x00020005, 0x00000043, 0x00000004, SetPartFlags, 0xFFFFFF81, 0x00000003, 0x00120004, 0x00000043, 0x00000004, SetPartFlags, 0xFFFFFF81, 0x00000001, 0x00800004, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000008, 0x00000028, 0x00000002, 0xFE363C82, 0x00000002, 0x00000043, 0x00000006, SetPartPos, 0xFFFFFF81, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x0029010B, 0x00000043, 0x00000005, SetActorSounds, 0xFFFFFF81, 0x00000002, 0x00000301, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C8A, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7DB4, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000F, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, b_area_trd_part_1_StartRumbleWithParams, 0x00000080, 0x00000007, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x00000005, 0xF24A7BB4, 0x00000057, 0x00000000, 0x00000043, 0x00000003, ResetActorSounds, 0xFFFFFF81, 0x00000002, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000A, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000005, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000003, 0x00000001, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000003, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000003, 0x00000001, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7DB4, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000F, 0x00000000, 0x00000001, 0x00000000, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000003, 0x00000001, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000003, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, SetPartFlagBits, 0xFFFFFF81, 0x00000003, 0x00000001, 0x00000001, 0x00000057, 0x00000000, 0x00000043, 0x00000003, b_area_trd_part_1_StartRumbleWithParams, 0x00000096, 0x00000007, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x00000005, 0xF24A7BB4, 0x00000057, 0x00000000, 0x00000043, 0x00000003, ResetActorSounds, 0xFFFFFF81, 0x00000002, 0x00000013, 0x00000000, 0x00000043, 0x00000003, GetIndexFromHome, 0xFFFFFF81, 0xFE363C80, 0x0000002B, 0x00000002, 0xFE363C80, 0x00000004, 0x00000043, 0x00000003, SetGoalToIndex, 0xFFFFFF81, 0xFE363C80, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetHomePos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x00290101, 0x00000043, 0x00000004, SetActorFlagBits, 0xFFFFFF81, 0x00000200, 0x00000000, 0x00000043, 0x00000003, SetStatusTable, 0xFFFFFF81, D_8021EB14_4A7BB4, 0x00000043, 0x00000003, BindNextTurn, 0xFFFFFF81, 0x00000000, 0x00000046, 0x00000001, D_80220B84_4A9C24, 0x00000043, 0x00000003, SetActorType, 0xFFFFFF81, 0x0000000B, 0x00000043, 0x00000004, SetActorFlagBits, 0xFFFFFF81, 0x00001000, 0x00000001, 0x00000043, 0x00000002, HPBarToHome, 0xFFFFFF81, 0x00000043, 0x00000002, ResetAllActorSounds, 0xFFFFFF81, 0x0000000B, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000003, DispatchEvent, 0xFFFFFF81, 0x0000000D, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80220AA0_4A9B40 -.word 0x00000001, 0x00290101, 0x0000000C, 0x00290100, 0x00000006, 0x00290111, 0x00000009, 0x00290101, 0x00000008, 0x00290100, 0x0000000B, 0x00290101, 0x00000005, 0x00290100, 0x00000004, 0x00290113, 0x00000003, 0x00290113, 0x00000000 - -dlabel D_80220AEC_4A9B8C -.word 0x00000001, 0x00290103, 0x0000000C, 0x00290100, 0x00000006, 0x00290111, 0x00000009, 0x00290103, 0x00000008, 0x00290100, 0x0000000B, 0x00290103, 0x00000005, 0x00290100, 0x00000004, 0x00290113, 0x00000003, 0x00290113, 0x00000000 - -dlabel D_80220B38_4A9BD8 -.word 0x00000001, 0x0029010F, 0x0000000C, 0x00290110, 0x00000006, 0x00290112, 0x00000009, 0x0029010F, 0x00000008, 0x00290110, 0x0000000B, 0x0029010F, 0x00000005, 0x00290110, 0x00000004, 0x00290114, 0x00000003, 0x00290114, 0x00000000 - -dlabel D_80220B84_4A9C24 -.word 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_80221DAC_4AAE4C, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_80220D40_4A9DE0, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_80221228_4AA2C8, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000008, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80220BE8_4A9C88 -.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_trd_part_1_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_trd_part_1_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_trd_part_1_UnkBattleFunc1, 0xFFFFFFF6, 0x00000014, 0x0000000A, 0x00000014, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80220D40_4A9DE0 -.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_80220BE8_4A9C88, 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_80220AEC_4A9B8C, 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_80220AA0_4A9B40, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_80220B38_4A9BD8, 0x00000023, 0x00000000, 0x00000005, 0x00000001, 0x00000014, 0x00000003, 0x00000001, 0x00000002, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000008, 0xFE363C80, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C81, 0x00000046, 0x00000001, D_80220BE8_4A9C88, 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_80220AEC_4A9B8C, 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_80220AA0_4A9B40, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_80220B38_4A9BD8, 0x00000023, 0x00000000, 0x00000005, 0x00000001, 0x00000050, 0x00000003, 0x00000001, 0x00000003, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000008, 0xFE363C80, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C81, 0x00000046, 0x00000001, D_80220BE8_4A9C88, 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_802211D0_4AA270 -.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_80221228_4AA2C8 -.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_8021EB08_4A7BA8, 0x00000043, 0x00000004, SetIdleAnimations, 0xFFFFFF81, 0x00000001, D_80220B38_4A9BD8, 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_802211D0_4AA270, 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_80221DAC_4AAE4C -.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_80220AA0_4A9B40, 0x00000043, 0x00000004, SetDefenseTable, 0xFFFFFF81, 0x00000001, D_8021EAD0_4A7B70, 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_80222AE0_4ABB80 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000005, SetCamBGColor, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80222B1C_4ABBBC -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80222B2C_4ABBCC -.word D_80227F28_4B0FC8, D_80227F18_4B0FB8, D_80227F08_4B0FA8, D_80222AE0_4ABB80, D_80222B1C_4ABBBC, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0x00000002, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0xFFFFFFFE, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000003, RandInt, 0x0000001E, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000008, 0x00000001, 0xFE363C80, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80222C78_4ABD18 -.word 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0xF24A7880, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8080, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8480, 0xF24A7480, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xF24A7080, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFD, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFD, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFD, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xF24A7080, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8480, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xF24A7480, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8080, 0xF24A7880, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0xF24A7C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A7C80, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A7880, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0xF24A7C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A7880, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80223224_4AC2C4 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000005, SetCamBGColor, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000000C, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000013, 0x00000044, 0x00000001, D_80222C78_4ABD18, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0x00000011, 0x00000044, 0x00000001, D_80222C78_4ABD18, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000000F, 0x00000044, 0x00000001, D_80222C78_4ABD18, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000000D, 0x00000044, 0x00000001, D_80222C78_4ABD18, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80223318_4AC3B8 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80223328_4AC3C8 -.word 0x00000016, 0x00000000 - -dlabel D_80223330_4AC3D0 -.word D_80227F50_4B0FF0, D_80227F40_4B0FE0, D_80227F30_4B0FD0, D_80223224_4AC2C4, D_80223318_4AC3B8, 0x00000000, D_80223328_4AC3C8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0x00000002, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0xFFFFFFFE, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000003, RandInt, 0x0000001E, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000008, 0x00000001, 0xFE363C80, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80223478_4AC518 -.word 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0xF24A7880, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8080, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8480, 0xF24A7480, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xF24A7080, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFD, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFD, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFD, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xF24A7080, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8480, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xF24A7480, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8080, 0xF24A7880, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0xF24A7C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A7C80, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A7880, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0xF24A7C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A7880, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80223A24_4ACAC4 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000005, SetCamBGColor, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000016, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000009, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000000A, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000013, 0x00000044, 0x00000001, D_80223478_4AC518, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0x00000011, 0x00000044, 0x00000001, D_80223478_4AC518, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000000F, 0x00000044, 0x00000001, D_80223478_4AC518, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000000D, 0x00000044, 0x00000001, D_80223478_4AC518, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80223B40_4ACBE0 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80223B50_4ACBF0 -.word D_80227F78_4B1018, D_80227F68_4B1008, D_80227F58_4B0FF8, D_80223A24_4ACAC4, D_80223B40_4ACBE0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80223B80_4ACC20 -.word 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C87, 0xFE363C82, 0x00000029, 0x00000002, 0xFE363C87, 0x0000000A, 0x00000003, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C87, 0x00000004, 0x0000000D, 0x00000002, 0xFE363C87, 0x00000E0F, 0x00000028, 0x00000002, 0xFE363C87, 0x00000E10, 0x00000013, 0x00000000, 0x00000043, 0x00000006, b_area_trd_part_1_UnkAngleFunc2, 0xFE363C87, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, RotateModel, 0xFE363C8A, 0xFE363C83, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80223C78_4ACD18 -.word 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C8B, 0xFE363C83, 0x00000024, 0x00000002, 0xFE363C8C, 0xFE363C84, 0x00000024, 0x00000002, 0xFE363C87, 0xFE363C82, 0x00000029, 0x00000002, 0xFE363C87, 0x0000000A, 0x00000003, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C87, 0x00000004, 0x0000000D, 0x00000002, 0xFE363C87, 0x00000E0F, 0x00000028, 0x00000002, 0xFE363C87, 0x00000E10, 0x00000013, 0x00000000, 0x00000043, 0x00000006, b_area_trd_part_1_UnkAngleFunc2, 0xFE363C87, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x0000002C, 0x00000002, 0xFE363C81, 0xFE363C8B, 0x0000002C, 0x00000002, 0xFE363C82, 0xFE363C8C, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, RotateModel, 0xFE363C8A, 0xFE363C83, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C8B, 0xFE363C83, 0x00000024, 0x00000002, 0xFE363C8C, 0xFE363C84, 0x00000024, 0x00000002, 0xFE363C8D, 0xFE363C85, 0x00000024, 0x00000002, 0xFE363C87, 0xFE363C82, 0x00000029, 0x00000002, 0xFE363C87, 0x0000000A, 0x00000003, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C87, 0x00000004, 0x0000000D, 0x00000002, 0xFE363C87, 0x00000E0F, 0x00000028, 0x00000002, 0xFE363C87, 0x00000E10, 0x00000013, 0x00000000, 0x00000043, 0x00000006, b_area_trd_part_1_UnkAngleFunc2, 0xFE363C87, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x0000002C, 0x00000002, 0xFE363C80, 0xFE363C8B, 0x0000002C, 0x00000002, 0xFE363C81, 0xFE363C8C, 0x0000002C, 0x00000002, 0xFE363C82, 0xFE363C8D, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, RotateModel, 0xFE363C8A, 0xFE363C83, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80223F08_4ACFA8 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000024, 0x00000002, 0xFE363C80, 0x00000004, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000044, 0x00000001, D_80223B80_4ACC20, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x00000024, 0x00000002, 0xFE363C82, 0x00000046, 0x00000024, 0x00000002, 0xFE363C83, 0x000000AF, 0x00000024, 0x00000002, 0xFE363C84, 0xFFFFFF56, 0x00000044, 0x00000001, D_80223C78_4ACD18, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80223FA0_4AD040 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80223FB0_4AD050 -.word 0x0000000F, 0x0000000E, 0x0000000D, 0x00000000 - -dlabel D_80223FC0_4AD060 -.word D_80227FA8_4B1048, D_80227F98_4B1038, D_80227F88_4B1028, D_80223F08_4ACFA8, D_80223FA0_4AD040, D_80227F80_4B1020, D_80223FB0_4AD050, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80223FF0_4AD090 -.word 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C81, 0x00000024, 0x00000002, 0xFE363C8B, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C8C, 0xFE363C83, 0x00000043, 0x00000003, SetTexPanner, 0xFE363C80, 0xFE363C81, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, SetTexPanOffset, 0xFE363C8A, 0x00000000, 0xFE363C80, 0xFE363C81, 0x00000027, 0x00000002, 0xFE363C80, 0xFE363C8B, 0x00000027, 0x00000002, 0xFE363C81, 0xFE363C8C, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C81, 0x00000024, 0x00000002, 0xFE363C8B, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C8C, 0xFE363C83, 0x00000043, 0x00000003, SetTexPanner, 0xFE363C80, 0xFE363C81, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, SetTexPanOffset, 0xFE363C8A, 0x00000000, 0xFE363C80, 0x00000000, 0x00000043, 0x00000005, SetTexPanOffset, 0xFE363C8A, 0x00000001, 0xFE363C81, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0xFE363C8B, 0x00000027, 0x00000002, 0xFE363C81, 0xFE363C8C, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C81, 0x00000024, 0x00000002, 0xFE363C8B, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C8C, 0xFE363C83, 0x00000043, 0x00000003, SetTexPanner, 0xFE363C80, 0xFE363C81, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, SetTexPanOffset, 0xFE363C8A, 0x00000000, 0x00000000, 0xFE363C80, 0x00000043, 0x00000005, SetTexPanOffset, 0xFE363C8A, 0x00000001, 0x00000000, 0xFE363C81, 0x00000027, 0x00000002, 0xFE363C80, 0xFE363C8B, 0x00000027, 0x00000002, 0xFE363C81, 0xFE363C8C, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80224298_4AD338 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000005, SetCamBGColor, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x0000000D, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x00000028, 0x00000024, 0x00000002, 0xFE363C83, 0x00000000, 0x00000044, 0x00000001, D_80223FF0_4AD090, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80224320_4AD3C0 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80224330_4AD3D0 -.word 0x0000000D, 0x00000000 - -dlabel D_80224338_4AD3D8 -.word D_80227FD0_4B1070, D_80227FC0_4B1060, D_80227FB0_4B1050, D_80224298_4AD338, D_80224320_4AD3C0, 0x00000000, D_80224330_4AD3D0, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0x00000002, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0xFFFFFFFE, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000003, RandInt, 0x0000001E, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000008, 0x00000001, 0xFE363C80, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80224478_4AD518 -.word 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0xF24A7880, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8080, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8480, 0xF24A7480, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xF24A7080, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFD, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFD, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFD, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xF24A7080, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8480, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xF24A7480, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8080, 0xF24A7880, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0xF24A7C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A7C80, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A7880, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0xF24A7C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A7880, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80224A24_4ADAC4 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000005, SetCamBGColor, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x0000001B, 0x00000044, 0x00000001, D_80224478_4AD518, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0x00000019, 0x00000044, 0x00000001, D_80224478_4AD518, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000006, 0x00000044, 0x00000001, D_80224478_4AD518, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0x00000004, 0x00000044, 0x00000001, D_80224478_4AD518, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x00000044, 0x00000001, D_80224478_4AD518, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80224B30_4ADBD0 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80224B40_4ADBE0 -.word D_80228000_4B10A0, D_80227FF0_4B1090, D_80227FE0_4B1080, D_80224A24_4ADAC4, D_80224B30_4ADBD0, D_80227FD8_4B1078, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80224B70_4ADC10 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000005, SetCamBGColor, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80224BAC_4ADC4C -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80224BBC_4ADC5C -.word 0x00000009, 0x00000000 - -dlabel D_80224BC4_4ADC64 -.word D_80228028_4B10C8, D_80228018_4B10B8, D_80228008_4B10A8, D_80224B70_4ADC10, D_80224BAC_4ADC4C, 0x00000000, D_80224BBC_4ADC5C, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80224BF0_4ADC90 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000005, SetCamBGColor, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000001A, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80224C54_4ADCF4 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80224C64_4ADD04 -.word 0x00000016, 0x00000000 - -dlabel D_80224C6C_4ADD0C -.word D_80228050_4B10F0, D_80228040_4B10E0, D_80228030_4B10D0, D_80224BF0_4ADC90, D_80224C54_4ADCF4, 0x00000000, D_80224C64_4ADD04, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0x00000002, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0xFFFFFFFE, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000003, RandInt, 0x0000001E, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000008, 0x00000001, 0xFE363C80, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0xF24A7880, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8080, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8480, 0xF24A7480, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xF24A7080, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFD, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFD, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFD, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xF24A7080, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8480, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xF24A7480, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8080, 0xF24A7880, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0xF24A7C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A7C80, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A7880, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0xF24A7C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A7880, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80225364_4AE404 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000005, SetCamBGColor, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000013, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000011, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000000F, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000000D, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000009, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000000A, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80225418_4AE4B8 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80225428_4AE4C8 -.word 0x00000016, 0x00000000 - -dlabel D_80225430_4AE4D0 -.word D_80228078_4B1118, D_80228068_4B1108, D_80228058_4B10F8, D_80225364_4AE404, D_80225418_4AE4B8, 0x00000000, D_80225428_4AE4C8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0x00000002, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0xFFFFFFFE, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000003, RandInt, 0x0000001E, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000008, 0x00000001, 0xFE363C80, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0xF24A7880, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8080, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8480, 0xF24A7480, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xF24A7080, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFD, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFD, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFD, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xF24A7080, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8480, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xF24A7480, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8080, 0xF24A7880, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0xF24A7C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A7C80, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A7880, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0xF24A7C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A7880, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80225B24_4AEBC4 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000005, SetCamBGColor, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000010, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000011, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000002, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000004, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000006, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000014, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000012, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000013, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000019, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000001B, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80225C28_4AECC8 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80225C38_4AECD8 -.word D_802280A0_4B1140, D_80228090_4B1130, D_80228080_4B1120, D_80225B24_4AEBC4, D_80225C28_4AECC8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0x00000002, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0xFFFFFFFE, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000003, RandInt, 0x0000001E, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000008, 0x00000001, 0xFE363C80, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80225D78_4AEE18 -.word 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0xF24A7880, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8080, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8480, 0xF24A7480, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xF24A7080, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFD, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFD, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFD, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xF24A7080, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8480, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xF24A7480, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8080, 0xF24A7880, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0xF24A7C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A7C80, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A7880, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0xF24A7C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A7880, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80226324_4AF3C4 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000005, SetCamBGColor, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000000A, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000000F, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000014, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000012, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000013, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000019, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x0000001B, 0x00000044, 0x00000001, D_80225D78_4AEE18, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000006, 0x00000044, 0x00000001, D_80225D78_4AEE18, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0x00000004, 0x00000044, 0x00000001, D_80225D78_4AEE18, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x00000044, 0x00000001, D_80225D78_4AEE18, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80226470_4AF510 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80226480_4AF520 -.word D_802280C8_4B1168, D_802280B8_4B1158, D_802280A8_4B1148, D_80226324_4AF3C4, D_80226470_4AF510, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0x00000002, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0xFFFFFFFE, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000003, RandInt, 0x0000001E, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000008, 0x00000001, 0xFE363C80, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802265C8_4AF668 -.word 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0xF24A7880, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8080, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8480, 0xF24A7480, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xF24A7080, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFD, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFD, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFD, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xF24A7080, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8480, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xF24A7480, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8080, 0xF24A7880, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0xF24A7C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A7C80, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A7880, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0xF24A7C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A7880, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80226B74_4AFC14 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000005, SetCamBGColor, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000000A, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000000F, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000010, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000011, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000019, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000000E, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000001B, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000006, 0x00000044, 0x00000001, D_802265C8_4AF668, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0x00000004, 0x00000044, 0x00000001, D_802265C8_4AF668, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x00000044, 0x00000001, D_802265C8_4AF668, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80226CB8_4AFD58 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80226CC8_4AFD68 -.word D_802280F0_4B1190, D_802280E0_4B1180, D_802280D0_4B1170, D_80226B74_4AFC14, D_80226CB8_4AFD58, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0x00000002, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0xFFFFFFFE, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000003, RandInt, 0x0000001E, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000008, 0x00000001, 0xFE363C80, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0xF24A7880, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8080, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8480, 0xF24A7480, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xF24A7080, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFD, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFD, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFD, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xF24A7080, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8480, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xF24A7480, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8080, 0xF24A7880, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0xF24A7C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A7C80, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A7880, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0xF24A7C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A7880, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802273B4_4B0454 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000005, SetCamBGColor, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000001B, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000002, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000004, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000006, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000014, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000012, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000013, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000019, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80227490_4B0530 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802274A0_4B0540 -.word D_80228118_4B11B8, D_80228108_4B11A8, D_802280F8_4B1198, D_802273B4_4B0454, D_80227490_4B0530, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0x00000002, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0xFFFFFFFE, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000003, RandInt, 0x0000001E, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000008, 0x00000001, 0xFE363C80, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802275E8_4B0688 -.word 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0xF24A7880, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8080, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8480, 0xF24A7480, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xF24A7080, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFD, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFD, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFD, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xF24A7080, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000003, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8480, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xF24A7480, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A8080, 0xF24A7880, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0xF24A7C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000001, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A7C80, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A7880, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0xF24A7C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xF24A7880, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80227B94_4B0C34 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000005, SetCamBGColor, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x0000001B, 0x00000044, 0x00000001, D_802275E8_4B0688, 0x00000043, 0x00000003, EnableModel, 0x00000002, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000004, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000006, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000014, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000012, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000013, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000019, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000000F, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80227C8C_4B0D2C -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80227C9C_4B0D3C -.word D_80228140_4B11E0, D_80228130_4B11D0, D_80228120_4B11C0, D_80227B94_4B0C34, D_80227C8C_4B0D2C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80227CD0_4B0D70 -.word 0x834C8389, 0x815B7882, 0x52000000 - -dlabel D_80227CDC_4B0D7C -.word 0x834C8389, 0x815B0000 - -dlabel D_80227CE4_4B0D84 -.word 0x834C8389, 0x815B7882, 0x51000000 - -dlabel D_80227CF0_4B0D90 -.word 0x834C8389, 0x815B82BD, 0x82A282D9, 0x82A47882, 0x52000000 - -dlabel D_80227D04_4B0DA4 -.word 0x837B8380, 0x82D682A2, 0x2C836D83, 0x52836D83, 0x52783200 - -dlabel D_80227D18_4B0DB8 -.word 0x837B8380, 0x82D682A2, 0x78322C83, 0x6D835283, 0x6D835200 - -dlabel D_80227D2C_4B0DCC -.word 0x837B8380, 0x82D682A2, 0x2C836D83, 0x52836D83, 0x52000000 - -dlabel D_80227D40_4B0DE0 -.word 0x837B8380, 0x82D682A2, 0x78340000 - -dlabel D_80227D4C_4B0DEC -.word 0x837B8380, 0x82D682A2, 0x78330000 - -dlabel D_80227D58_4B0DF8 -.word 0x837B8380, 0x82D682A2, 0x78320000 - -dlabel D_80227D64_4B0E04 -.word 0x837B8380, 0x82D682A2, 0x00000000 - -dlabel D_80227D70_4B0E10 -.word 0x8370835E, 0x8370835E, 0x2C837B83, 0x80837783, 0x43788252, 0x00000000 - -dlabel D_80227D88_4B0E28 -.word 0x8370835E, 0x8370835E, 0x2C837B83, 0x80837783, 0x43788251, 0x00000000 - -dlabel D_80227DA0_4B0E40 -.word 0x8370835E, 0x8370835E, 0x2C836D83, 0x52836D83, 0x522C8370, 0x835E8370, 0x835E2C83, 0x6D835283, 0x6D835200 - -dlabel D_80227DC4_4B0E64 -.word 0x8370835E, 0x8370835E, 0x2C836D83, 0x52836D83, 0x522C8370, 0x835E8370, 0x835E0000 - -dlabel D_80227DE0_4B0E80 -.word 0x8370835E, 0x8370835E, 0x2C836D83, 0x52836D83, 0x52000000 - -dlabel D_80227DF4_4B0E94 -.word 0x8370835E, 0x8370835E, 0x78825200 - -dlabel D_80227E00_4B0EA0 -.word 0x8370835E, 0x8370835E, 0x78825100 - -dlabel D_80227E0C_4B0EAC -.word 0x836D8352, 0x836D8352, 0x78322C83, 0x7B838082, 0xD682A278, 0x32000000 - -dlabel D_80227E24_4B0EC4 -.word 0x836D8352, 0x836D8352, 0x78322C83, 0x7B838082, 0xD682A200 - -dlabel D_80227E38_4B0ED8 -.word 0x836D8352, 0x836D8352, 0x2C837B83, 0x8082D682, 0xA2783300 - -dlabel D_80227E4C_4B0EEC -.word 0x836D8352, 0x836D8352, 0x2C837B83, 0x8082D682, 0xA2783200 - -dlabel D_80227E60_4B0F00 -.word 0x836D8352, 0x836D8352, 0x2C837B83, 0x8082D682, 0xA2000000 - -dlabel D_80227E74_4B0F14 -.word 0x836D8352, 0x836D8352, 0x78330000 - -dlabel D_80227E80_4B0F20 -.word 0x836D8352, 0x836D8352, 0x78320000 - -dlabel D_80227E8C_4B0F2C -.word 0x836D8352, 0x836D8352, 0x00000000 - -dlabel D_80227E98_4B0F38 -.word 0x7472645F, 0x30356600 - -dlabel D_80227EA0_4B0F40 -.word 0x7472645F, 0x30356500 - -dlabel D_80227EA8_4B0F48 -.word 0x7472645F, 0x30356400 - -dlabel D_80227EB0_4B0F50 -.word 0x7472645F, 0x30356300 - -dlabel D_80227EB8_4B0F58 -.word 0x7472645F, 0x30356200 - -dlabel D_80227EC0_4B0F60 -.word 0x7472645F, 0x30350000 - -dlabel D_80227EC8_4B0F68 -.word 0x7472645F, 0x30340000 - -dlabel D_80227ED0_4B0F70 -.word 0x7472645F, 0x30330000 - -dlabel D_80227ED8_4B0F78 -.word 0x7472645F, 0x30326400 - -dlabel D_80227EE0_4B0F80 -.word 0x7472645F, 0x30326300 - -dlabel D_80227EE8_4B0F88 -.word 0x7472645F, 0x30326200 - -dlabel D_80227EF0_4B0F90 -.word 0x7472645F, 0x30320000 - -dlabel D_80227EF8_4B0F98 -.word 0x7472645F, 0x30310000 - -dlabel D_80227F00_4B0FA0 -.word 0x7472645F, 0x30300000 - -dlabel D_80227F08_4B0FA8 -.word 0x7472645F, 0x62743031, 0x5F686974, 0x00000000 - -dlabel D_80227F18_4B0FB8 -.word 0x7472645F, 0x62743031, 0x5F736861, 0x70650000 - -dlabel D_80227F28_4B0FC8 -.word 0x7472645F, 0x74657800 - -dlabel D_80227F30_4B0FD0 -.word 0x7472645F, 0x62743032, 0x5F686974, 0x00000000 - -dlabel D_80227F40_4B0FE0 -.word 0x7472645F, 0x62743032, 0x5F736861, 0x70650000 - -dlabel D_80227F50_4B0FF0 -.word 0x7472645F, 0x74657800 - -dlabel D_80227F58_4B0FF8 -.word 0x7472645F, 0x62743032, 0x5F686974, 0x00000000 - -dlabel D_80227F68_4B1008 -.word 0x7472645F, 0x62743032, 0x5F736861, 0x70650000 - -dlabel D_80227F78_4B1018 -.word 0x7472645F, 0x74657800 - -dlabel D_80227F80_4B1020 -.word 0x6E6F6B5F, 0x62670000 - -dlabel D_80227F88_4B1028 -.word 0x7472645F, 0x62743033, 0x5F686974, 0x00000000 - -dlabel D_80227F98_4B1038 -.word 0x7472645F, 0x62743033, 0x5F736861, 0x70650000 - -dlabel D_80227FA8_4B1048 -.word 0x7472645F, 0x74657800 - -dlabel D_80227FB0_4B1050 -.word 0x7472645F, 0x62743034, 0x5F686974, 0x00000000 - -dlabel D_80227FC0_4B1060 -.word 0x7472645F, 0x62743034, 0x5F736861, 0x70650000 - -dlabel D_80227FD0_4B1070 -.word 0x7472645F, 0x74657800 - -dlabel D_80227FD8_4B1078 -.word 0x6E6F6B5F, 0x62670000 - -dlabel D_80227FE0_4B1080 -.word 0x7472645F, 0x62743035, 0x5F686974, 0x00000000 - -dlabel D_80227FF0_4B1090 -.word 0x7472645F, 0x62743035, 0x5F736861, 0x70650000 - -dlabel D_80228000_4B10A0 -.word 0x7472645F, 0x74657800 - -dlabel D_80228008_4B10A8 -.word 0x7472645F, 0x62743030, 0x5F686974, 0x00000000 - -dlabel D_80228018_4B10B8 -.word 0x7472645F, 0x62743030, 0x5F736861, 0x70650000 - -dlabel D_80228028_4B10C8 -.word 0x7472645F, 0x74657800 - -dlabel D_80228030_4B10D0 -.word 0x7472645F, 0x62743032, 0x5F686974, 0x00000000 - -dlabel D_80228040_4B10E0 -.word 0x7472645F, 0x62743032, 0x5F736861, 0x70650000 - -dlabel D_80228050_4B10F0 -.word 0x7472645F, 0x74657800 - -dlabel D_80228058_4B10F8 -.word 0x7472645F, 0x62743032, 0x5F686974, 0x00000000 - -dlabel D_80228068_4B1108 -.word 0x7472645F, 0x62743032, 0x5F736861, 0x70650000 - -dlabel D_80228078_4B1118 -.word 0x7472645F, 0x74657800 - -dlabel D_80228080_4B1120 -.word 0x7472645F, 0x62743035, 0x5F686974, 0x00000000 - -dlabel D_80228090_4B1130 -.word 0x7472645F, 0x62743035, 0x5F736861, 0x70650000 - -dlabel D_802280A0_4B1140 -.word 0x7472645F, 0x74657800 - -dlabel D_802280A8_4B1148 -.word 0x7472645F, 0x62743035, 0x5F686974, 0x00000000 - -dlabel D_802280B8_4B1158 -.word 0x7472645F, 0x62743035, 0x5F736861, 0x70650000 - -dlabel D_802280C8_4B1168 -.word 0x7472645F, 0x74657800 - -dlabel D_802280D0_4B1170 -.word 0x7472645F, 0x62743035, 0x5F686974, 0x00000000 - -dlabel D_802280E0_4B1180 -.word 0x7472645F, 0x62743035, 0x5F736861, 0x70650000 - -dlabel D_802280F0_4B1190 -.word 0x7472645F, 0x74657800 - -dlabel D_802280F8_4B1198 -.word 0x7472645F, 0x62743035, 0x5F686974, 0x00000000 - -dlabel D_80228108_4B11A8 -.word 0x7472645F, 0x62743035, 0x5F736861, 0x70650000 - -dlabel D_80228118_4B11B8 -.word 0x7472645F, 0x74657800 - -dlabel D_80228120_4B11C0 -.word 0x7472645F, 0x62743035, 0x5F686974, 0x00000000 - -dlabel D_80228130_4B11D0 -.word 0x7472645F, 0x62743035, 0x5F736861, 0x70650000 - -dlabel D_80228140_4B11E0 -.word 0x7472645F, 0x74657800, 0x00000000, 0x00000000 diff --git a/ver/us/splat.yaml b/ver/us/splat.yaml index b88904db0b..81041a2b4e 100644 --- a/ver/us/splat.yaml +++ b/ver/us/splat.yaml @@ -3825,10 +3825,27 @@ segments: vram: 0x80218000 overlay: True subsegments: - - [0x4A10A0, c] - - [0x4A1190, c] - - [0x4A12C0, c] - - [0x4A1530, data] + - [0x4A10A0, c, area] + - [0x4A10A0, c, actor/bullet_bill] + - [0x4A10A0, c, actor/bill_blaster] + - [0x4A10A0, c, actor/bob_omb] + - [0x4A10C0, c, actor/koopa_troopa] + - [0x4A1190, c, actor/paratroopa] + - [0x4A12C0, c, stage/trd_01] + - [0x4A12C0, c, stage/trd_02] + - [0x4A12C0, c, stage/trd_02b] + - [0x4A12C0, c, stage/trd_03] + - [0x4A1530, c, stage/trd_04] + - [0x4A1530, c, stage/trd_05] + - [0x4A1530, c, stage/trd_00] + - [0x4A1530, c, stage/trd_02c] + - [0x4A1530, c, stage/trd_02d] + - [0x4A1530, c, stage/trd_05b] + - [0x4A1530, c, stage/trd_05c] + - [0x4A1530, c, stage/trd_05d] + - [0x4A1530, c, stage/trd_05e] + - [0x4A1530, c, stage/trd_05f] + - [0x4A1530] - dir: battle/area_trd_part_2 type: code start: 0x4B11F0 diff --git a/ver/us/symbol_addrs.txt b/ver/us/symbol_addrs.txt index 996b9f72ba..d800c9762d 100644 --- a/ver/us/symbol_addrs.txt +++ b/ver/us/symbol_addrs.txt @@ -1,3 +1,11 @@ +func_A4000040 = 0xA4000040; // type:func rom:0x40 +func_A40004C0 = 0xA40004C0; // type:func rom:0x4C0 +func_A400076C = 0xA400076C; // type:func rom:0x76C +func_A4000874 = 0xA4000874; // type:func rom:0x874 +func_A4000900 = 0xA4000900; // type:func rom:0x900 +func_A4000974 = 0xA4000974; // type:func rom:0x974 +func_A4000A34 = 0xA4000A34; // type:func rom:0xA34 +func_A4000AC4 = 0xA4000AC4; // type:func rom:0xAC4 entry_point = 0x80025C00; // type:func rom:0x1000 is_debug_init = 0x80025C60; // type:func rom:0x1060 printf = 0x80025CC0; // type:func rom:0x10C0 @@ -1285,8 +1293,8 @@ func_80072CF4 = 0x80072CF4; // type:func rom:0x4E0F4 setup_demo_player = 0x80072D2C; // type:func rom:0x4E12C load_demo_battle = 0x80072E14; // type:func rom:0x4E214 D_80074010 = 0x80074010; // type:data rom:0x4F410 -D_80074020 = 0x80074020; // type:data rom:0x4F420 -D_80074021 = 0x80074021; // type:data rom:0x4F421 +gGameStepDelayAmount = 0x80074020; // type:data rom:0x4F420 +gGameStepDelayCount = 0x80074021; // type:data rom:0x4F421 gGameStatus = 0x80074024; // type:data rom:0x4F424 gGameStatusPtr = 0x8007419C; // rom:0x4F59C D_800741A0 = 0x800741A0; // type:data rom:0x4F5A0 @@ -1301,8 +1309,8 @@ D_800741FC = 0x800741FC; // type:data rom:0x4F5FC D_80074200 = 0x80074200; // type:data rom:0x4F600 D_80074210 = 0x80074210; // type:data rom:0x4F610 D_80074230 = 0x80074230; // type:data rom:0x4F630 -D_80074260 = 0x80074260; // type:data rom:0x4F660 -D_80074264 = 0x80074264; // type:data rom:0x4F664 +rumbleMaxDuration = 0x80074260; // type:data rom:0x4F660 +rumbleButtons = 0x80074264; // type:data rom:0x4F664 D_80074268 = 0x80074268; // type:data rom:0x4F668 heap_nextMallocID = 0x80074270; // type:data rom:0x4F670 D_80074274 = 0x80074274; // type:data rom:0x4F674 @@ -6487,12 +6495,12 @@ func_802A9298_4302B8 = 0x802A9298; // type:func rom:0x4302B8 action_command_spook_UnkActionCommandFunc1 = 0x802A97FC; // type:func rom:0x43081C action_command_spook_free_hud_elements = 0x802A98DC; // type:func rom:0x4308FC D_802A9922_430942 = 0x802A9922; // type:data rom:0x430942 -b_area_kmr_part_1_goomba_angle_calculate = 0x80218000; // type:func rom:0x4309A0 +b_area_kmr_part_1_goomba_BattleAreaAngleStuff1 = 0x80218000; // type:func rom:0x4309A0 b_area_kmr_part_1_goomba_AngleCalculate = 0x8021818C; // type:func rom:0x430B2C -b_area_kmr_part_1_spiked_goomba_angle_calculate = 0x80218280; // type:func rom:0x430C20 +b_area_kmr_part_1_spiked_goomba_BattleAreaAngleStuff1 = 0x80218280; // type:func rom:0x430C20 b_area_kmr_part_1_spiked_goomba_AngleCalculate = 0x8021840C; // type:func rom:0x430DAC b_area_kmr_part_1_paragoomba_StartRumbleWithParams = 0x80218500; // type:func rom:0x430EA0 -b_area_kmr_part_1_paragoomba_angle_calculate = 0x80218558; // type:func rom:0x430EF8 +b_area_kmr_part_1_paragoomba_BattleAreaAngleStuff1 = 0x80218558; // type:func rom:0x430EF8 b_area_kmr_part_1_paragoomba_AngleCalculate = 0x802186E4; // type:func rom:0x431084 b_area_kmr_part_1_kmr_03_UnkAngleFunc2 = 0x802187E0; // type:func rom:0x431180 b_area_kmr_part_1_kmr_04_UnkAngleFunc2 = 0x80218A50; // type:func rom:0x4313F0 @@ -6513,51 +6521,51 @@ b_area_kmr_part_1_formation_0A = 0x80219480; // type:data rom:0x431E20 b_area_kmr_part_1_formation_0B = 0x8021949C; // type:data rom:0x431E3C b_area_kmr_part_1_formationTable = 0x802194D4; // type:data rom:0x431E74 b_area_kmr_part_1_stageTable = 0x802195D8; // type:data rom:0x431F78 -b_area_kmr_part_1_goomba_defenseTable_80219610 = 0x80219610; // type:data rom:0x431FB0 -b_area_kmr_part_1_goomba_statusTable_8021961C = 0x8021961C; // type:data rom:0x431FBC -b_area_kmr_part_1_goomba_partsTable_802196C8 = 0x802196C8; // type:data rom:0x432068 +b_area_kmr_part_1_goomba_defenseTable_80219750 = 0x80219610; // type:data rom:0x431FB0 +b_area_kmr_part_1_goomba_statusTable_8021975C = 0x8021961C; // type:data rom:0x431FBC +b_area_kmr_part_1_goomba_partsTable_80219808 = 0x802196C8; // type:data rom:0x432068 b_area_kmr_part_1_goomba = 0x802196EC; // type:data rom:0x43208C -b_area_kmr_part_1_goomba_idleAnimations_80219714 = 0x80219714; // type:data rom:0x4320B4 -b_area_kmr_part_1_goomba_idleAnimations_80219760 = 0x80219760; // type:data rom:0x432100 -b_area_kmr_part_1_goomba_init_802197AC = 0x802197AC; // type:data rom:0x43214C -b_area_kmr_part_1_goomba_idle_802197F8 = 0x802197F8; // type:data rom:0x432198 -b_area_kmr_part_1_goomba_handleEvent_80219AD4 = 0x80219AD4; // type:data rom:0x432474 -b_area_kmr_part_1_goomba_angleTable = 0x8021A194; // type:data rom:0x432B34 -b_area_kmr_part_1_goomba_takeTurn_8021A300 = 0x8021A300; // type:data rom:0x432CA0 -b_area_kmr_part_1_spiked_goomba_defenseTable_8021AFD0 = 0x8021AFD0; // type:data rom:0x433970 -b_area_kmr_part_1_spiked_goomba_statusTable_8021AFDC = 0x8021AFDC; // type:data rom:0x43397C -b_area_kmr_part_1_spiked_goomba_partsTable_8021B088 = 0x8021B088; // type:data rom:0x433A28 +b_area_kmr_part_1_goomba_idleAnimations_80219854 = 0x80219714; // type:data rom:0x4320B4 +b_area_kmr_part_1_goomba_idleAnimations_802198A0 = 0x80219760; // type:data rom:0x432100 +b_area_kmr_part_1_goomba_init_802198EC = 0x802197AC; // type:data rom:0x43214C +b_area_kmr_part_1_goomba_idle_80219938 = 0x802197F8; // type:data rom:0x432198 +b_area_kmr_part_1_goomba_handleEvent_80219C14 = 0x80219AD4; // type:data rom:0x432474 +b_area_kmr_part_1_goomba_floatTable = 0x8021A194; // type:data rom:0x432B34 +b_area_kmr_part_1_goomba_takeTurn_8021A440 = 0x8021A300; // type:data rom:0x432CA0 +b_area_kmr_part_1_spiked_goomba_defenseTable_8021E3B0 = 0x8021AFD0; // type:data rom:0x433970 +b_area_kmr_part_1_spiked_goomba_statusTable_8021E3BC = 0x8021AFDC; // type:data rom:0x43397C +b_area_kmr_part_1_spiked_goomba_partsTable_8021E468 = 0x8021B088; // type:data rom:0x433A28 b_area_kmr_part_1_spiked_goomba = 0x8021B0AC; // type:data rom:0x433A4C -b_area_kmr_part_1_spiked_goomba_idleAnimations_8021B0D4 = 0x8021B0D4; // type:data rom:0x433A74 -b_area_kmr_part_1_spiked_goomba_idleAnimations_8021B120 = 0x8021B120; // type:data rom:0x433AC0 -b_area_kmr_part_1_spiked_goomba_init_8021B16C = 0x8021B16C; // type:data rom:0x433B0C -b_area_kmr_part_1_spiked_goomba_idle_8021B1B8 = 0x8021B1B8; // type:data rom:0x433B58 -b_area_kmr_part_1_spiked_goomba_handleEvent_8021B494 = 0x8021B494; // type:data rom:0x433E34 -b_area_kmr_part_1_spiked_goomba_angleTable = 0x8021BC70; // type:data rom:0x434610 -b_area_kmr_part_1_spiked_goomba_takeTurn_8021BDDC = 0x8021BDDC; // type:data rom:0x43477C -b_area_kmr_part_1_paragoomba_defenseTable_8021CB00 = 0x8021CB00; // type:data rom:0x4354A0 -b_area_kmr_part_1_paragoomba_defenseTable_8021CB0C = 0x8021CB0C; // type:data rom:0x4354AC -b_area_kmr_part_1_paragoomba_statusTable_8021CB18 = 0x8021CB18; // type:data rom:0x4354B8 -b_area_kmr_part_1_paragoomba_statusTable_8021CBC4 = 0x8021CBC4; // type:data rom:0x435564 -b_area_kmr_part_1_paragoomba_partsTable_8021CC70 = 0x8021CC70; // type:data rom:0x435610 +b_area_kmr_part_1_spiked_goomba_idleAnimations_8021E4B4 = 0x8021B0D4; // type:data rom:0x433A74 +b_area_kmr_part_1_spiked_goomba_idleAnimations_8021E500 = 0x8021B120; // type:data rom:0x433AC0 +b_area_kmr_part_1_spiked_goomba_init_8021E54C = 0x8021B16C; // type:data rom:0x433B0C +b_area_kmr_part_1_spiked_goomba_idle_8021E598 = 0x8021B1B8; // type:data rom:0x433B58 +b_area_kmr_part_1_spiked_goomba_handleEvent_8021E874 = 0x8021B494; // type:data rom:0x433E34 +b_area_kmr_part_1_spiked_goomba_floatTable = 0x8021BC70; // type:data rom:0x434610 +b_area_kmr_part_1_spiked_goomba_takeTurn_8021F1BC = 0x8021BDDC; // type:data rom:0x43477C +b_area_kmr_part_1_paragoomba_defenseTable_8021B110 = 0x8021CB00; // type:data rom:0x4354A0 +b_area_kmr_part_1_paragoomba_defenseTable_8021B11C = 0x8021CB0C; // type:data rom:0x4354AC +b_area_kmr_part_1_paragoomba_statusTable_8021B128 = 0x8021CB18; // type:data rom:0x4354B8 +b_area_kmr_part_1_paragoomba_statusTable_8021B1D4 = 0x8021CBC4; // type:data rom:0x435564 +b_area_kmr_part_1_paragoomba_partsTable_8021B280 = 0x8021CC70; // type:data rom:0x435610 b_area_kmr_part_1_paragoomba = 0x8021CD00; // type:data rom:0x4356A0 -b_area_kmr_part_1_paragoomba_idleAnimations_8021CD28 = 0x8021CD28; // type:data rom:0x4356C8 -b_area_kmr_part_1_paragoomba_idleAnimations_8021CD74 = 0x8021CD74; // type:data rom:0x435714 -b_area_kmr_part_1_paragoomba_idleAnimations_8021CDC0 = 0x8021CDC0; // type:data rom:0x435760 -b_area_kmr_part_1_paragoomba_idleAnimations_8021CDCC = 0x8021CDCC; // type:data rom:0x43576C -b_area_kmr_part_1_paragoomba_init_8021CDD8 = 0x8021CDD8; // type:data rom:0x435778 -b_area_kmr_part_1_paragoomba_idle_8021CE24 = 0x8021CE24; // type:data rom:0x4357C4 -b_area_kmr_part_1_paragoomba_8021D0E0 = 0x8021D0E0; // type:data rom:0x435A80 -b_area_kmr_part_1_paragoomba_handleEvent_8021D158 = 0x8021D158; // type:data rom:0x435AF8 -b_area_kmr_part_1_paragoomba_takeTurn_8021D74C = 0x8021D74C; // type:data rom:0x4360EC -b_area_kmr_part_1_paragoomba_8021DF64 = 0x8021DF64; // type:data rom:0x436904 -b_area_kmr_part_1_paragoomba_idleAnimations_8021E4EC = 0x8021E4EC; // type:data rom:0x436E8C -b_area_kmr_part_1_paragoomba_idleAnimations_8021E538 = 0x8021E538; // type:data rom:0x436ED8 -b_area_kmr_part_1_paragoomba_8021E584 = 0x8021E584; // type:data rom:0x436F24 -b_area_kmr_part_1_paragoomba_idle_8021E5D0 = 0x8021E5D0; // type:data rom:0x436F70 -b_area_kmr_part_1_paragoomba_handleEvent_8021E8AC = 0x8021E8AC; // type:data rom:0x43724C -b_area_kmr_part_1_paragoomba_angleTable = 0x8021EF6C; // type:data rom:0x43790C -b_area_kmr_part_1_paragoomba_takeTurn_8021F0D8 = 0x8021F0D8; // type:data rom:0x437A78 +b_area_kmr_part_1_paragoomba_idleAnimations_8021B338 = 0x8021CD28; // type:data rom:0x4356C8 +b_area_kmr_part_1_paragoomba_idleAnimations_8021B384 = 0x8021CD74; // type:data rom:0x435714 +b_area_kmr_part_1_paragoomba_idleAnimations_8021B3D0 = 0x8021CDC0; // type:data rom:0x435760 +b_area_kmr_part_1_paragoomba_idleAnimations_8021B3DC = 0x8021CDCC; // type:data rom:0x43576C +b_area_kmr_part_1_paragoomba_init_8021B3E8 = 0x8021CDD8; // type:data rom:0x435778 +b_area_kmr_part_1_paragoomba_idle_8021B434 = 0x8021CE24; // type:data rom:0x4357C4 +b_area_kmr_part_1_paragoomba_8021B6F0 = 0x8021D0E0; // type:data rom:0x435A80 +b_area_kmr_part_1_paragoomba_handleEvent_8021B768 = 0x8021D158; // type:data rom:0x435AF8 +b_area_kmr_part_1_paragoomba_takeTurn_8021BD5C = 0x8021D74C; // type:data rom:0x4360EC +b_area_kmr_part_1_paragoomba_8021C574 = 0x8021DF64; // type:data rom:0x436904 +b_area_kmr_part_1_paragoomba_idleAnimations_8021CAFC = 0x8021E4EC; // type:data rom:0x436E8C +b_area_kmr_part_1_paragoomba_idleAnimations_8021CB48 = 0x8021E538; // type:data rom:0x436ED8 +b_area_kmr_part_1_paragoomba_8021CB94 = 0x8021E584; // type:data rom:0x436F24 +b_area_kmr_part_1_paragoomba_idle_8021CBE0 = 0x8021E5D0; // type:data rom:0x436F70 +b_area_kmr_part_1_paragoomba_handleEvent_8021CEBC = 0x8021E8AC; // type:data rom:0x43724C +b_area_kmr_part_1_paragoomba_floatTable = 0x8021EF6C; // type:data rom:0x43790C +b_area_kmr_part_1_paragoomba_takeTurn_8021D6E8 = 0x8021F0D8; // type:data rom:0x437A78 b_area_kmr_part_1_kmr_02_beforeBattle_8021FDA0 = 0x8021FDA0; // type:data rom:0x438740 b_area_kmr_part_1_kmr_02_afterBattle_8021FDC0 = 0x8021FDC0; // type:data rom:0x438760 b_area_kmr_part_1_kmr_02 = 0x8021FDD0; // type:data rom:0x438770 @@ -6589,91 +6597,668 @@ b_area_kmr_part_1_kmr_06_beforeBattle_80220E28 = 0x80220E28; // type:data rom:0x b_area_kmr_part_1_kmr_06_afterBattle_80220EAC = 0x80220EAC; // type:data rom:0x43984C b_area_kmr_part_1_kmr_06_foregroundModelList_80220EBC = 0x80220EBC; // type:data rom:0x43985C b_area_kmr_part_1_kmr_06 = 0x80220ECC; // type:data rom:0x43986C -b_area_kmr_part_2_BattleAreaAngleStuff1 = 0x80218000; // type:func rom:0x439A90 -b_area_kmr_part_2_AngleCalculate = 0x8021818C; // type:func rom:0x439C1C -dup_b_area_kmr_part_2_BattleAreaAngleStuff1 = 0x80218280; // type:func rom:0x439D10 -dup_b_area_kmr_part_2_AngleCalculate = 0x8021840C; // type:func rom:0x439E9C -dup2_b_area_kmr_part_2_BattleAreaAngleStuff1 = 0x80218500; // type:func rom:0x439F90 -dup2_b_area_kmr_part_2_AngleCalculate = 0x8021868C; // type:func rom:0x43A11C -b_area_kmr_part_2_DivActorLevel4 = 0x80218780; // type:func rom:0x43A210 -dup3_b_area_kmr_part_2_BattleAreaAngleStuff1 = 0x802187B0; // type:func rom:0x43A240 -dup3_b_area_kmr_part_2_AngleCalculate = 0x8021893C; // type:func rom:0x43A3CC -dup_b_area_kmr_part_2_DivActorLevel4 = 0x80218A30; // type:func rom:0x43A4C0 +b_area_kmr_part_2_blue_goomba_BattleAreaAngleStuff1 = 0x80218000; // type:func rom:0x439A90 +b_area_kmr_part_2_blue_goomba_AngleCalculate = 0x8021818C; // type:func rom:0x439C1C +b_area_kmr_part_2_red_goomba_BattleAreaAngleStuff1 = 0x80218280; // type:func rom:0x439D10 +b_area_kmr_part_2_red_goomba_AngleCalculate = 0x8021840C; // type:func rom:0x439E9C +b_area_kmr_part_2_blue_goomba_2_BattleAreaAngleStuff1 = 0x80218500; // type:func rom:0x439F90 +b_area_kmr_part_2_blue_goomba_2_AngleCalculate = 0x8021868C; // type:func rom:0x43A11C +b_area_kmr_part_2_blue_goomba_2_DivActorLevel4 = 0x80218780; // type:func rom:0x43A210 +b_area_kmr_part_2_red_goomba_2_BattleAreaAngleStuff1 = 0x802187B0; // type:func rom:0x43A240 +b_area_kmr_part_2_red_goomba_2_AngleCalculate = 0x8021893C; // type:func rom:0x43A3CC +b_area_kmr_part_2_red_goomba_2_DivActorLevel4 = 0x80218A30; // type:func rom:0x43A4C0 func_80218A60_43A4F0 = 0x80218A60; // type:func rom:0x43A4F0 -b_area_kmr_part_2_foliage_setup_shear_mtx = 0x80218B10; // type:func rom:0x43A5A0 -b_area_kmr_part_2_TransformFoliage = 0x80218B80; // type:func rom:0x43A610 -b_area_kmr_part_2_UnkAngleFunc2 = 0x80218D50; // type:func rom:0x43A7E0 -dup_b_area_kmr_part_2_UnkAngleFunc2 = 0x80218FC0; // type:func rom:0x43AA50 -dup2_b_area_kmr_part_2_UnkAngleFunc2 = 0x80219230; // type:func rom:0x43ACC0 -dup3_b_area_kmr_part_2_UnkAngleFunc2 = 0x802194A0; // type:func rom:0x43AF30 -b_area_kmr_part_2_UnkFogFunc = 0x80219708; // type:func rom:0x43B198 -b_area_kmr_part_2_floatTable = 0x8021A434; // type:data rom:0x43BEC4 -dup_b_area_kmr_part_2_floatTable = 0x8021C244; // type:data rom:0x43DCD4 -dup2_b_area_kmr_part_2_floatTable = 0x8021DF84; // type:data rom:0x43FA14 -dup3_b_area_kmr_part_2_floatTable = 0x8021F984; // type:data rom:0x441414 -b_area_kmr_part_3_BattleAreaAngleStuff1 = 0x80218000; // type:func rom:0x447440 -b_area_kmr_part_3_AngleCalculate = 0x8021818C; // type:func rom:0x4475CC -dup_b_area_kmr_part_3_StartRumbleWithParams = 0x80218280; // type:func rom:0x4476C0 -dup_b_area_kmr_part_3_BattleAreaAngleStuff1 = 0x802182D8; // type:func rom:0x447718 -dup_b_area_kmr_part_3_AngleCalculate = 0x80218464; // type:func rom:0x4478A4 -b_area_kmr_part_3_StartRumbleWithParams = 0x80218560; // type:func rom:0x4479A0 -dup2_b_area_kmr_part_3_BattleAreaAngleStuff1 = 0x802185B8; // type:func rom:0x4479F8 -dup2_b_area_kmr_part_3_AngleCalculate = 0x80218744; // type:func rom:0x447B84 -b_area_kmr_part_3_UnkBattleFunc1 = 0x80218840; // type:func rom:0x447C80 -dup_b_area_kmr_part_3_UnkBattleFunc1 = 0x80218910; // type:func rom:0x447D50 +b_area_kmr_part_2_goomnut_tree_foliage_setup_shear_mtx = 0x80218B10; // type:func rom:0x43A5A0 +b_area_kmr_part_2_goomnut_tree_TransformFoliage = 0x80218B80; // type:func rom:0x43A610 +b_area_kmr_part_2_kmr_03_UnkAngleFunc2 = 0x80218D50; // type:func rom:0x43A7E0 +b_area_kmr_part_2_kmr_04_UnkAngleFunc2 = 0x80218FC0; // type:func rom:0x43AA50 +b_area_kmr_part_2_kmr_05_UnkAngleFunc2 = 0x80219230; // type:func rom:0x43ACC0 +b_area_kmr_part_2_kmr_06_UnkAngleFunc2 = 0x802194A0; // type:func rom:0x43AF30 +b_area_kmr_part_2_kmr_06_UnkFogFunc = 0x80219708; // type:func rom:0x43B198 +b_area_kmr_part_2_pos00 = 0x80219750; // type:data rom:0x43B1E0 +b_area_kmr_part_2_pos01 = 0x8021975C; // type:data rom:0x43B1EC +b_area_kmr_part_2_formation_00 = 0x80219768; // type:data rom:0x43B1F8 +b_area_kmr_part_2_pos02 = 0x802197A0; // type:data rom:0x43B230 +b_area_kmr_part_2_pos03 = 0x802197AC; // type:data rom:0x43B23C +b_area_kmr_part_2_pos04 = 0x802197B8; // type:data rom:0x43B248 +b_area_kmr_part_2_pos05 = 0x802197C4; // type:data rom:0x43B254 +b_area_kmr_part_2_formation_01 = 0x802197D0; // type:data rom:0x43B260 +b_area_kmr_part_2_formationTable = 0x80219840; // type:data rom:0x43B2D0 +b_area_kmr_part_2_stageTable = 0x8021987C; // type:data rom:0x43B30C +b_area_kmr_part_2_blue_goomba_defenseTable_802198B0 = 0x802198B0; // type:data rom:0x43B340 +b_area_kmr_part_2_blue_goomba_statusTable_802198BC = 0x802198BC; // type:data rom:0x43B34C +b_area_kmr_part_2_blue_goomba_partsTable_80219968 = 0x80219968; // type:data rom:0x43B3F8 +b_area_kmr_part_2_blue_goomba = 0x8021998C; // type:data rom:0x43B41C +b_area_kmr_part_2_blue_goomba_idleAnimations_802199B4 = 0x802199B4; // type:data rom:0x43B444 +b_area_kmr_part_2_blue_goomba_idleAnimations_80219A00 = 0x80219A00; // type:data rom:0x43B490 +b_area_kmr_part_2_blue_goomba_init_80219A4C = 0x80219A4C; // type:data rom:0x43B4DC +b_area_kmr_part_2_blue_goomba_idle_80219A98 = 0x80219A98; // type:data rom:0x43B528 +b_area_kmr_part_2_blue_goomba_handleEvent_80219D74 = 0x80219D74; // type:data rom:0x43B804 +b_area_kmr_part_2_blue_goomba_floatTable = 0x8021A434; // type:data rom:0x43BEC4 +b_area_kmr_part_2_blue_goomba_takeTurn_8021A5A0 = 0x8021A5A0; // type:data rom:0x43C030 +b_area_kmr_part_2_blue_goomba_init_8021B268 = 0x8021B268; // type:data rom:0x43CCF8 +b_area_kmr_part_2_blue_goomba_takeTurn_8021B2C8 = 0x8021B2C8; // type:data rom:0x43CD58 +b_area_kmr_part_2_blue_goomba_doDeath_8021B388 = 0x8021B388; // type:data rom:0x43CE18 +b_area_kmr_part_2_red_goomba_defenseTable_8021B6C0 = 0x8021B6C0; // type:data rom:0x43D150 +b_area_kmr_part_2_red_goomba_statusTable_8021B6CC = 0x8021B6CC; // type:data rom:0x43D15C +b_area_kmr_part_2_red_goomba_partsTable_8021B778 = 0x8021B778; // type:data rom:0x43D208 +b_area_kmr_part_2_red_goomba = 0x8021B79C; // type:data rom:0x43D22C +b_area_kmr_part_2_red_goomba_idleAnimations_8021B7C4 = 0x8021B7C4; // type:data rom:0x43D254 +b_area_kmr_part_2_red_goomba_idleAnimations_8021B810 = 0x8021B810; // type:data rom:0x43D2A0 +b_area_kmr_part_2_red_goomba_init_8021B85C = 0x8021B85C; // type:data rom:0x43D2EC +b_area_kmr_part_2_red_goomba_idle_8021B8A8 = 0x8021B8A8; // type:data rom:0x43D338 +b_area_kmr_part_2_red_goomba_handleEvent_8021BB84 = 0x8021BB84; // type:data rom:0x43D614 +b_area_kmr_part_2_red_goomba_floatTable = 0x8021C244; // type:data rom:0x43DCD4 +b_area_kmr_part_2_red_goomba_takeTurn_8021C3B0 = 0x8021C3B0; // type:data rom:0x43DE40 +b_area_kmr_part_2_red_goomba_init_8021D078 = 0x8021D078; // type:data rom:0x43EB08 +b_area_kmr_part_2_red_goomba_doDeath_8021D0C4 = 0x8021D0C4; // type:data rom:0x43EB54 +b_area_kmr_part_2_blue_goomba_2_defenseTable_8021D400 = 0x8021D400; // type:data rom:0x43EE90 +b_area_kmr_part_2_blue_goomba_2_statusTable_8021D40C = 0x8021D40C; // type:data rom:0x43EE9C +b_area_kmr_part_2_blue_goomba_2_partsTable_8021D4B8 = 0x8021D4B8; // type:data rom:0x43EF48 +b_area_kmr_part_2_blue_goomba_2 = 0x8021D4DC; // type:data rom:0x43EF6C +b_area_kmr_part_2_blue_goomba_2_idleAnimations_8021D504 = 0x8021D504; // type:data rom:0x43EF94 +b_area_kmr_part_2_blue_goomba_2_idleAnimations_8021D550 = 0x8021D550; // type:data rom:0x43EFE0 +b_area_kmr_part_2_blue_goomba_2_init_8021D59C = 0x8021D59C; // type:data rom:0x43F02C +b_area_kmr_part_2_blue_goomba_2_idle_8021D5E8 = 0x8021D5E8; // type:data rom:0x43F078 +b_area_kmr_part_2_blue_goomba_2_handleEvent_8021D8C4 = 0x8021D8C4; // type:data rom:0x43F354 +b_area_kmr_part_2_blue_goomba_2_floatTable = 0x8021DF84; // type:data rom:0x43FA14 +b_area_kmr_part_2_blue_goomba_2_takeTurn_8021E0F0 = 0x8021E0F0; // type:data rom:0x43FB80 +b_area_kmr_part_2_blue_goomba_2_init_8021EDB8 = 0x8021EDB8; // type:data rom:0x440848 +b_area_kmr_part_2_red_goomba_2_defenseTable_8021EE00 = 0x8021EE00; // type:data rom:0x440890 +b_area_kmr_part_2_red_goomba_2_statusTable_8021EE0C = 0x8021EE0C; // type:data rom:0x44089C +b_area_kmr_part_2_red_goomba_2_partsTable_8021EEB8 = 0x8021EEB8; // type:data rom:0x440948 +b_area_kmr_part_2_red_goomba_2 = 0x8021EEDC; // type:data rom:0x44096C +b_area_kmr_part_2_red_goomba_2_idleAnimations_8021EF04 = 0x8021EF04; // type:data rom:0x440994 +b_area_kmr_part_2_red_goomba_2_idleAnimations_8021EF50 = 0x8021EF50; // type:data rom:0x4409E0 +b_area_kmr_part_2_red_goomba_2_init_8021EF9C = 0x8021EF9C; // type:data rom:0x440A2C +b_area_kmr_part_2_red_goomba_2_idle_8021EFE8 = 0x8021EFE8; // type:data rom:0x440A78 +b_area_kmr_part_2_red_goomba_2_handleEvent_8021F2C4 = 0x8021F2C4; // type:data rom:0x440D54 +b_area_kmr_part_2_red_goomba_2_floatTable = 0x8021F984; // type:data rom:0x441414 +b_area_kmr_part_2_red_goomba_2_takeTurn_8021FAF0 = 0x8021FAF0; // type:data rom:0x441580 +b_area_kmr_part_2_red_goomba_2_init_802207B8 = 0x802207B8; // type:data rom:0x442248 +b_area_kmr_part_2_goomba_king_idleAnimations_80220800 = 0x80220800; // type:data rom:0x442290 +b_area_kmr_part_2_goomba_king_idleAnimations_80220844 = 0x80220844; // type:data rom:0x4422D4 +b_area_kmr_part_2_goomba_king_idleAnimations_80220888 = 0x80220888; // type:data rom:0x442318 +b_area_kmr_part_2_goomba_king_idleAnimations_802208CC = 0x802208CC; // type:data rom:0x44235C +b_area_kmr_part_2_goomba_king_defenseTable_80220910 = 0x80220910; // type:data rom:0x4423A0 +b_area_kmr_part_2_goomba_king_statusTable_8022091C = 0x8022091C; // type:data rom:0x4423AC +b_area_kmr_part_2_goomba_king_partsTable_802209C8 = 0x802209C8; // type:data rom:0x442458 +b_area_kmr_part_2_goomba_king = 0x80220A10; // type:data rom:0x4424A0 +b_area_kmr_part_2_goomba_king_init_80220A38 = 0x80220A38; // type:data rom:0x4424C8 +b_area_kmr_part_2_goomba_king_idle_80220B50 = 0x80220B50; // type:data rom:0x4425E0 +b_area_kmr_part_2_goomba_king_80220DB0 = 0x80220DB0; // type:data rom:0x442840 +b_area_kmr_part_2_goomba_king_handleEvent_80220F34 = 0x80220F34; // type:data rom:0x4429C4 +b_area_kmr_part_2_goomba_king_takeTurn_80221530 = 0x80221530; // type:data rom:0x442FC0 +b_area_kmr_part_2_goomba_king_80221680 = 0x80221680; // type:data rom:0x443110 +b_area_kmr_part_2_goomba_king_80221CD4 = 0x80221CD4; // type:data rom:0x443764 +b_area_kmr_part_2_goomba_king_nextTurn_802229C4 = 0x802229C4; // type:data rom:0x444454 +b_area_kmr_part_2_goomba_king_80222D9C = 0x80222D9C; // type:data rom:0x44482C +b_area_kmr_part_2_goomba_king_doDeath_80222F50 = 0x80222F50; // type:data rom:0x4449E0 +b_area_kmr_part_2_goomnut_tree_idleAnimations_802232D0 = 0x802232D0; // type:data rom:0x444D60 +b_area_kmr_part_2_goomnut_tree_defenseTable_802232DC = 0x802232DC; // type:data rom:0x444D6C +b_area_kmr_part_2_goomnut_tree_statusTable_802232F0 = 0x802232F0; // type:data rom:0x444D80 +b_area_kmr_part_2_goomnut_tree_partsTable_8022339C = 0x8022339C; // type:data rom:0x444E2C +b_area_kmr_part_2_goomnut_tree = 0x80223450; // type:data rom:0x444EE0 +b_area_kmr_part_2_goomnut_tree_unk_missing_80223478 = 0x80223478; // type:data rom:0x444F08 +b_area_kmr_part_2_goomnut_tree_init_80223488 = 0x80223488; // type:data rom:0x444F18 +b_area_kmr_part_2_goomnut_tree_idle_80223678 = 0x80223678; // type:data rom:0x445108 +b_area_kmr_part_2_goomnut_tree_handleEvent_80223688 = 0x80223688; // type:data rom:0x445118 +b_area_kmr_part_2_goomnut_tree_takeTurn_80223804 = 0x80223804; // type:data rom:0x445294 +b_area_kmr_part_2_goomnut_tree_shakeTree = 0x80223890; // type:data rom:0x445320 +b_area_kmr_part_2_goomnut_tree_tree_leaves = 0x80223D44; // type:data rom:0x4457D4 +b_area_kmr_part_2_goomnut_tree_tree_trunk = 0x80223D50; // type:data rom:0x4457E0 +b_area_kmr_part_2_goomnut_tree_D_80223D60_41D7F0 = 0x80223D60; // type:data rom:0x4457F0 +b_area_kmr_part_2_goomnut_tree_tree = 0x80223D7C; // type:data rom:0x44580C +b_area_kmr_part_2_goomnut_tree_shake_goomnut_tree = 0x80223D90; // type:data rom:0x445820 +b_area_kmr_part_2_goomnut_tree_80223DBC = 0x80223DBC; // type:data rom:0x44584C +b_area_kmr_part_2_kmr_02_beforeBattle_80224700 = 0x80224700; // type:data rom:0x446190 +b_area_kmr_part_2_kmr_02_afterBattle_80224720 = 0x80224720; // type:data rom:0x4461B0 +b_area_kmr_part_2_kmr_02 = 0x80224730; // type:data rom:0x4461C0 +b_area_kmr_part_2_kmr_03_clouds1 = 0x80224760; // type:data rom:0x4461F0 +b_area_kmr_part_2_kmr_03_clouds2 = 0x80224858; // type:data rom:0x4462E8 +b_area_kmr_part_2_kmr_03_clouds3 = 0x80224990; // type:data rom:0x446420 +b_area_kmr_part_2_kmr_03_beforeBattle_80224AE8 = 0x80224AE8; // type:data rom:0x446578 +b_area_kmr_part_2_kmr_03_afterBattle_80224B60 = 0x80224B60; // type:data rom:0x4465F0 +b_area_kmr_part_2_kmr_03_foregroundModelList_80224B70 = 0x80224B70; // type:data rom:0x446600 +b_area_kmr_part_2_kmr_03 = 0x80224B7C; // type:data rom:0x44660C +b_area_kmr_part_2_kmr_04_clouds1 = 0x80224BB0; // type:data rom:0x446640 +b_area_kmr_part_2_kmr_04_clouds2 = 0x80224CA8; // type:data rom:0x446738 +b_area_kmr_part_2_kmr_04_clouds3 = 0x80224DE0; // type:data rom:0x446870 +b_area_kmr_part_2_kmr_04_beforeBattle_80224F38 = 0x80224F38; // type:data rom:0x4469C8 +b_area_kmr_part_2_kmr_04_afterBattle_80224FB0 = 0x80224FB0; // type:data rom:0x446A40 +b_area_kmr_part_2_kmr_04_foregroundModelList_80224FC0 = 0x80224FC0; // type:data rom:0x446A50 +b_area_kmr_part_2_kmr_04 = 0x80224FCC; // type:data rom:0x446A5C +b_area_kmr_part_2_kmr_05_clouds1 = 0x80225000; // type:data rom:0x446A90 +b_area_kmr_part_2_kmr_05_clouds2 = 0x802250F8; // type:data rom:0x446B88 +b_area_kmr_part_2_kmr_05_clouds3 = 0x80225230; // type:data rom:0x446CC0 +b_area_kmr_part_2_kmr_05_beforeBattle_80225388 = 0x80225388; // type:data rom:0x446E18 +b_area_kmr_part_2_kmr_05_afterBattle_802253BC = 0x802253BC; // type:data rom:0x446E4C +b_area_kmr_part_2_kmr_05_foregroundModelList_802253CC = 0x802253CC; // type:data rom:0x446E5C +b_area_kmr_part_2_kmr_05 = 0x802253D8; // type:data rom:0x446E68 +b_area_kmr_part_2_kmr_06_clouds1 = 0x80225400; // type:data rom:0x446E90 +b_area_kmr_part_2_kmr_06_clouds2 = 0x802254F8; // type:data rom:0x446F88 +b_area_kmr_part_2_kmr_06_clouds3 = 0x80225630; // type:data rom:0x4470C0 +b_area_kmr_part_2_kmr_06_beforeBattle_80225788 = 0x80225788; // type:data rom:0x447218 +b_area_kmr_part_2_kmr_06_afterBattle_8022580C = 0x8022580C; // type:data rom:0x44729C +b_area_kmr_part_2_kmr_06_foregroundModelList_8022581C = 0x8022581C; // type:data rom:0x4472AC +b_area_kmr_part_2_kmr_06 = 0x8022582C; // type:data rom:0x4472BC +b_area_kmr_part_3_spiked_goomba_BattleAreaAngleStuff1 = 0x80218000; // type:func rom:0x447440 +b_area_kmr_part_3_spiked_goomba_AngleCalculate = 0x8021818C; // type:func rom:0x4475CC +b_area_kmr_part_3_paragoomba1_StartRumbleWithParams = 0x80218280; // type:func rom:0x4476C0 +b_area_kmr_part_3_paragoomba1_BattleAreaAngleStuff1 = 0x802182D8; // type:func rom:0x447718 +b_area_kmr_part_3_paragoomba1_AngleCalculate = 0x80218464; // type:func rom:0x4478A4 +b_area_kmr_part_3_paragoomba2_StartRumbleWithParams = 0x80218560; // type:func rom:0x4479A0 +b_area_kmr_part_3_paragoomba2_BattleAreaAngleStuff1 = 0x802185B8; // type:func rom:0x4479F8 +b_area_kmr_part_3_paragoomba2_AngleCalculate = 0x80218744; // type:func rom:0x447B84 +b_area_kmr_part_3_para_jr_troopa_UnkBattleFunc1 = 0x80218840; // type:func rom:0x447C80 +b_area_kmr_part_3_spiked_para_jr_troopa_UnkBattleFunc1 = 0x80218910; // type:func rom:0x447D50 func_802189DC_447E1C = 0x802189DC; // type:func rom:0x447E1C -b_area_kmr_part_3_FreeIcon = 0x80218AA4; // type:func rom:0x447EE4 -dup2_b_area_kmr_part_3_UnkBattleFunc1 = 0x80218AD0; // type:func rom:0x447F10 -dup3_b_area_kmr_part_3_BattleAreaAngleStuff1 = 0x80218B9C; // type:func rom:0x447FDC -dup3_b_area_kmr_part_3_AngleCalculate = 0x80218D28; // type:func rom:0x448168 -b_area_kmr_part_3_Dist3D = 0x80218E1C; // type:func rom:0x44825C -b_area_kmr_part_3_UnkBackgroundFunc3 = 0x80218F60; // type:func rom:0x4483A0 -b_area_kmr_part_3_SetBackgroundAlpha = 0x80218FA4; // type:func rom:0x4483E4 -dup_b_area_kmr_part_3_UnkAngleFunc2 = 0x80218FE0; // type:func rom:0x448420 -dup2_b_area_kmr_part_3_UnkAngleFunc2 = 0x80219250; // type:func rom:0x448690 -dup3_b_area_kmr_part_3_UnkAngleFunc2 = 0x802194C0; // type:func rom:0x448900 -b_area_kmr_part_3_UnkAngleFunc2 = 0x80219730; // type:func rom:0x448B70 -b_area_kmr_part_3_UnkFogFunc = 0x80219998; // type:func rom:0x448DD8 -b_area_kmr_part_3_UnkFogFunc2 = 0x802199E0; // type:func rom:0x448E20 +b_area_kmr_part_3_spiked_para_jr_troopa_FreeIcon = 0x80218AA4; // type:func rom:0x447EE4 +b_area_kmr_part_3_final_jr_troopa_UnkBattleFunc1 = 0x80218AD0; // type:func rom:0x447F10 +b_area_kmr_part_3_final_jr_troopa_BattleAreaAngleStuff1 = 0x80218B9C; // type:func rom:0x447FDC +b_area_kmr_part_3_final_jr_troopa_AngleCalculate = 0x80218D28; // type:func rom:0x448168 +b_area_kmr_part_3_final_jr_troopa_Dist3D = 0x80218E1C; // type:func rom:0x44825C +b_area_kmr_part_3_final_jr_troopa_UnkBackgroundFunc3 = 0x80218F60; // type:func rom:0x4483A0 +b_area_kmr_part_3_final_jr_troopa_SetBackgroundAlpha = 0x80218FA4; // type:func rom:0x4483E4 +b_area_kmr_part_3_kmr_03_UnkAngleFunc2 = 0x80218FE0; // type:func rom:0x448420 +b_area_kmr_part_3_kmr_04_UnkAngleFunc2 = 0x80219250; // type:func rom:0x448690 +b_area_kmr_part_3_kmr_05_UnkAngleFunc2 = 0x802194C0; // type:func rom:0x448900 +b_area_kmr_part_3_kmr_06_UnkAngleFunc2 = 0x80219730; // type:func rom:0x448B70 +b_area_kmr_part_3_kmr_06_UnkFogFunc = 0x80219998; // type:func rom:0x448DD8 +b_area_kmr_part_3_mim_01_UnkFogFunc2 = 0x802199E0; // type:func rom:0x448E20 func_80219A40_448E80 = 0x80219A40; // type:func rom:0x448E80 -b_area_kmr_part_3_Set80071270_0_16 = 0x80219C38; // type:func rom:0x449078 -b_area_kmr_part_3_UnkFloatFunc2 = 0x80219C5C; // type:func rom:0x44909C +b_area_kmr_part_3_sam_01_Set80071270_0_16 = 0x80219C38; // type:func rom:0x449078 +b_area_kmr_part_3_sam_01_UnkFloatFunc2 = 0x80219C5C; // type:func rom:0x44909C func_80219D60_4491A0 = 0x80219D60; // type:func rom:0x4491A0 -b_area_kmr_part_3_floatTable = 0x8021B030; // type:data rom:0x44A470 -dup_b_area_kmr_part_3_floatTable = 0x8021E61C; // type:data rom:0x44DA5C -dup2_b_area_kmr_part_3_floatTable = 0x80221BBC; // type:data rom:0x450FFC -dup3_b_area_kmr_part_3_floatTable = 0x8022FEC8; // type:data rom:0x45F308 -D_802336E0_462B20 = 0x802336E0; // type:data rom:0x462B20 -b_area_mac_UnkBattleFunc1 = 0x80218000; // type:func rom:0x464490 +b_area_kmr_part_3_formation_00 = 0x8021A1B0; // type:data rom:0x4495F0 +b_area_kmr_part_3_formation_01 = 0x8021A1CC; // type:data rom:0x44960C +b_area_kmr_part_3_formation_02 = 0x8021A204; // type:data rom:0x449644 +b_area_kmr_part_3_formation_03 = 0x8021A220; // type:data rom:0x449660 +b_area_kmr_part_3_formation_04 = 0x8021A23C; // type:data rom:0x44967C +b_area_kmr_part_3_formation_05 = 0x8021A258; // type:data rom:0x449698 +b_area_kmr_part_3_formation_06 = 0x8021A274; // type:data rom:0x4496B4 +b_area_kmr_part_3_formation_07 = 0x8021A290; // type:data rom:0x4496D0 +b_area_kmr_part_3_formationTable = 0x8021A2AC; // type:data rom:0x4496EC +b_area_kmr_part_3_stageTable = 0x8021A360; // type:data rom:0x4497A0 +b_area_kmr_part_3_spiked_goomba_defenseTable_8021A390 = 0x8021A390; // type:data rom:0x4497D0 +b_area_kmr_part_3_spiked_goomba_statusTable_8021A39C = 0x8021A39C; // type:data rom:0x4497DC +b_area_kmr_part_3_spiked_goomba_partsTable_8021A448 = 0x8021A448; // type:data rom:0x449888 +b_area_kmr_part_3_spiked_goomba = 0x8021A46C; // type:data rom:0x4498AC +b_area_kmr_part_3_spiked_goomba_idleAnimations_8021A494 = 0x8021A494; // type:data rom:0x4498D4 +b_area_kmr_part_3_spiked_goomba_idleAnimations_8021A4E0 = 0x8021A4E0; // type:data rom:0x449920 +b_area_kmr_part_3_spiked_goomba_8021A52C = 0x8021A52C; // type:data rom:0x44996C +b_area_kmr_part_3_spiked_goomba_idle_8021A578 = 0x8021A578; // type:data rom:0x4499B8 +b_area_kmr_part_3_spiked_goomba_handleEvent_8021A854 = 0x8021A854; // type:data rom:0x449C94 +b_area_kmr_part_3_spiked_goomba_floatTable = 0x8021B030; // type:data rom:0x44A470 +b_area_kmr_part_3_spiked_goomba_takeTurn_8021B19C = 0x8021B19C; // type:data rom:0x44A5DC +b_area_kmr_part_3_spiked_goomba_init_8021BEBC = 0x8021BEBC; // type:data rom:0x44B2FC +b_area_kmr_part_3_spiked_goomba_8021BF1C = 0x8021BF1C; // type:data rom:0x44B35C +b_area_kmr_part_3_spiked_goomba_nextTurn_8021C0FC = 0x8021C0FC; // type:data rom:0x44B53C +b_area_kmr_part_3_paragoomba1_defenseTable_8021C1B0 = 0x8021C1B0; // type:data rom:0x44B5F0 +b_area_kmr_part_3_paragoomba1_defenseTable_8021C1BC = 0x8021C1BC; // type:data rom:0x44B5FC +b_area_kmr_part_3_paragoomba1_statusTable_8021C1C8 = 0x8021C1C8; // type:data rom:0x44B608 +b_area_kmr_part_3_paragoomba1_statusTable_8021C274 = 0x8021C274; // type:data rom:0x44B6B4 +b_area_kmr_part_3_paragoomba1_partsTable = 0x8021C320; // type:data rom:0x44B760 +b_area_kmr_part_3_paragoomba1 = 0x8021C3B0; // type:data rom:0x44B7F0 +b_area_kmr_part_3_paragoomba1_idleAnimations_8021C3D8 = 0x8021C3D8; // type:data rom:0x44B818 +b_area_kmr_part_3_paragoomba1_idleAnimations_8021C424 = 0x8021C424; // type:data rom:0x44B864 +b_area_kmr_part_3_paragoomba1_idleAnimations_8021C470 = 0x8021C470; // type:data rom:0x44B8B0 +b_area_kmr_part_3_paragoomba1_idleAnimations_8021C47C = 0x8021C47C; // type:data rom:0x44B8BC +b_area_kmr_part_3_paragoomba1_8021C488 = 0x8021C488; // type:data rom:0x44B8C8 +b_area_kmr_part_3_paragoomba1_idle_8021C4D4 = 0x8021C4D4; // type:data rom:0x44B914 +b_area_kmr_part_3_paragoomba1_8021C790 = 0x8021C790; // type:data rom:0x44BBD0 +b_area_kmr_part_3_paragoomba1_handleEvent_8021C808 = 0x8021C808; // type:data rom:0x44BC48 +b_area_kmr_part_3_paragoomba1_takeTurn_8021CDFC = 0x8021CDFC; // type:data rom:0x44C23C +b_area_kmr_part_3_paragoomba1_8021D614 = 0x8021D614; // type:data rom:0x44CA54 +b_area_kmr_part_3_paragoomba1_idleAnimations_8021DB9C = 0x8021DB9C; // type:data rom:0x44CFDC +b_area_kmr_part_3_paragoomba1_idleAnimations_8021DBE8 = 0x8021DBE8; // type:data rom:0x44D028 +b_area_kmr_part_3_paragoomba1_8021DC34 = 0x8021DC34; // type:data rom:0x44D074 +b_area_kmr_part_3_paragoomba1_idle = 0x8021DC80; // type:data rom:0x44D0C0 +b_area_kmr_part_3_paragoomba1_handleEvent_8021DF5C = 0x8021DF5C; // type:data rom:0x44D39C +b_area_kmr_part_3_paragoomba1_floatTable = 0x8021E61C; // type:data rom:0x44DA5C +b_area_kmr_part_3_paragoomba1_takeTurn_8021E788 = 0x8021E788; // type:data rom:0x44DBC8 +b_area_kmr_part_3_paragoomba1_init_8021F450 = 0x8021F450; // type:data rom:0x44E890 +b_area_kmr_part_3_paragoomba1_8021F4B0 = 0x8021F4B0; // type:data rom:0x44E8F0 +b_area_kmr_part_3_paragoomba1_nextTurn_8021F690 = 0x8021F690; // type:data rom:0x44EAD0 +b_area_kmr_part_3_paragoomba2_defenseTable_8021B110 = 0x8021F750; // type:data rom:0x44EB90 +b_area_kmr_part_3_paragoomba2_defenseTable_8021B11C = 0x8021F75C; // type:data rom:0x44EB9C +b_area_kmr_part_3_paragoomba2_statusTable_8021B128 = 0x8021F768; // type:data rom:0x44EBA8 +b_area_kmr_part_3_paragoomba2_statusTable_8021B1D4 = 0x8021F814; // type:data rom:0x44EC54 +b_area_kmr_part_3_paragoomba2_partsTable_8021B280 = 0x8021F8C0; // type:data rom:0x44ED00 +b_area_kmr_part_3_paragoomba2 = 0x8021F950; // type:data rom:0x44ED90 +b_area_kmr_part_3_paragoomba2_idleAnimations_8021B338 = 0x8021F978; // type:data rom:0x44EDB8 +b_area_kmr_part_3_paragoomba2_idleAnimations_8021B384 = 0x8021F9C4; // type:data rom:0x44EE04 +b_area_kmr_part_3_paragoomba2_idleAnimations_8021B3D0 = 0x8021FA10; // type:data rom:0x44EE50 +b_area_kmr_part_3_paragoomba2_idleAnimations_8021B3DC = 0x8021FA1C; // type:data rom:0x44EE5C +b_area_kmr_part_3_paragoomba2_init_8021B3E8 = 0x8021FA28; // type:data rom:0x44EE68 +b_area_kmr_part_3_paragoomba2_idle_8021B434 = 0x8021FA74; // type:data rom:0x44EEB4 +b_area_kmr_part_3_paragoomba2_8021B6F0 = 0x8021FD30; // type:data rom:0x44F170 +b_area_kmr_part_3_paragoomba2_handleEvent_8021B768 = 0x8021FDA8; // type:data rom:0x44F1E8 +b_area_kmr_part_3_paragoomba2_takeTurn_8021BD5C = 0x8022039C; // type:data rom:0x44F7DC +b_area_kmr_part_3_paragoomba2_8021C574 = 0x80220BB4; // type:data rom:0x44FFF4 +b_area_kmr_part_3_paragoomba2_idleAnimations_8021CAFC = 0x8022113C; // type:data rom:0x45057C +b_area_kmr_part_3_paragoomba2_idleAnimations_8021CB48 = 0x80221188; // type:data rom:0x4505C8 +b_area_kmr_part_3_paragoomba2_8021CB94 = 0x802211D4; // type:data rom:0x450614 +b_area_kmr_part_3_paragoomba2_idle_8021CBE0 = 0x80221220; // type:data rom:0x450660 +b_area_kmr_part_3_paragoomba2_handleEvent_8021CEBC = 0x802214FC; // type:data rom:0x45093C +b_area_kmr_part_3_paragoomba2_floatTable = 0x80221BBC; // type:data rom:0x450FFC +b_area_kmr_part_3_paragoomba2_takeTurn_8021D6E8 = 0x80221D28; // type:data rom:0x451168 +b_area_kmr_part_3_jr_troopa_idleAnimations_802229F0 = 0x802229F0; // type:data rom:0x451E30 +b_area_kmr_part_3_jr_troopa_defenseTable_80222A2C = 0x80222A2C; // type:data rom:0x451E6C +b_area_kmr_part_3_jr_troopa_statusTable_80222A38 = 0x80222A38; // type:data rom:0x451E78 +b_area_kmr_part_3_jr_troopa_partsTable_80222AE4 = 0x80222AE4; // type:data rom:0x451F24 +b_area_kmr_part_3_jr_troopa = 0x80222B08; // type:data rom:0x451F48 +b_area_kmr_part_3_jr_troopa_80222B30 = 0x80222B30; // type:data rom:0x451F70 +b_area_kmr_part_3_jr_troopa_80222BC8 = 0x80222BC8; // type:data rom:0x452008 +b_area_kmr_part_3_jr_troopa_80222C08 = 0x80222C08; // type:data rom:0x452048 +b_area_kmr_part_3_jr_troopa_idleAnimations_80222C6C = 0x80222C6C; // type:data rom:0x4520AC +b_area_kmr_part_3_jr_troopa_80222C78 = 0x80222C78; // type:data rom:0x4520B8 +b_area_kmr_part_3_jr_troopa_init_80223180 = 0x80223180; // type:data rom:0x4525C0 +b_area_kmr_part_3_jr_troopa_8022325C = 0x8022325C; // type:data rom:0x45269C +b_area_kmr_part_3_jr_troopa_handleEvent_80223290 = 0x80223290; // type:data rom:0x4526D0 +b_area_kmr_part_3_jr_troopa_takeTurn_802234A4 = 0x802234A4; // type:data rom:0x4528E4 +b_area_kmr_part_3_jr_troopa_nextTurn_80223D2C = 0x80223D2C; // type:data rom:0x45316C +b_area_kmr_part_3_egg_jr_troopa_idleAnimations_80224380 = 0x80224380; // type:data rom:0x4537C0 +b_area_kmr_part_3_egg_jr_troopa_idleAnimations_802243BC = 0x802243BC; // type:data rom:0x4537FC +b_area_kmr_part_3_egg_jr_troopa_idleAnimations_802243F8 = 0x802243F8; // type:data rom:0x453838 +b_area_kmr_part_3_egg_jr_troopa_defenseTable_8022440C = 0x8022440C; // type:data rom:0x45384C +b_area_kmr_part_3_egg_jr_troopa_statusTable_80224418 = 0x80224418; // type:data rom:0x453858 +b_area_kmr_part_3_egg_jr_troopa_partsTable_802244C4 = 0x802244C4; // type:data rom:0x453904 +b_area_kmr_part_3_egg_jr_troopa = 0x802244E8; // type:data rom:0x453928 +b_area_kmr_part_3_egg_jr_troopa_80224510 = 0x80224510; // type:data rom:0x453950 +b_area_kmr_part_3_egg_jr_troopa_802245A8 = 0x802245A8; // type:data rom:0x4539E8 +b_area_kmr_part_3_egg_jr_troopa_802245E8 = 0x802245E8; // type:data rom:0x453A28 +b_area_kmr_part_3_egg_jr_troopa_idleAnimations_8022464C = 0x8022464C; // type:data rom:0x453A8C +b_area_kmr_part_3_egg_jr_troopa_80224658 = 0x80224658; // type:data rom:0x453A98 +b_area_kmr_part_3_egg_jr_troopa_80224964 = 0x80224964; // type:data rom:0x453DA4 +b_area_kmr_part_3_egg_jr_troopa_init_80224A94 = 0x80224A94; // type:data rom:0x453ED4 +b_area_kmr_part_3_egg_jr_troopa_idle_80224B24 = 0x80224B24; // type:data rom:0x453F64 +b_area_kmr_part_3_egg_jr_troopa_handleEvent_80224B58 = 0x80224B58; // type:data rom:0x453F98 +b_area_kmr_part_3_egg_jr_troopa_802250E4 = 0x802250E4; // type:data rom:0x454524 +b_area_kmr_part_3_egg_jr_troopa_802251CC = 0x802251CC; // type:data rom:0x45460C +b_area_kmr_part_3_egg_jr_troopa_takeTurn_80225314 = 0x80225314; // type:data rom:0x454754 +b_area_kmr_part_3_egg_jr_troopa_nextTurn_80225B4C = 0x80225B4C; // type:data rom:0x454F8C +b_area_kmr_part_3_para_jr_troopa_idleAnimations_80225DC0 = 0x80225DC0; // type:data rom:0x455200 +b_area_kmr_part_3_para_jr_troopa_idleAnimations_80225E04 = 0x80225E04; // type:data rom:0x455244 +b_area_kmr_part_3_para_jr_troopa_idleAnimations_80225E48 = 0x80225E48; // type:data rom:0x455288 +b_area_kmr_part_3_para_jr_troopa_defenseTable_80225E54 = 0x80225E54; // type:data rom:0x455294 +b_area_kmr_part_3_para_jr_troopa_statusTable_80225E60 = 0x80225E60; // type:data rom:0x4552A0 +b_area_kmr_part_3_para_jr_troopa_partsTable_80225F0C = 0x80225F0C; // type:data rom:0x45534C +b_area_kmr_part_3_para_jr_troopa = 0x80225F54; // type:data rom:0x455394 +b_area_kmr_part_3_para_jr_troopa_80225F7C = 0x80225F7C; // type:data rom:0x4553BC +b_area_kmr_part_3_para_jr_troopa_802260AC = 0x802260AC; // type:data rom:0x4554EC +b_area_kmr_part_3_para_jr_troopa_802263D4 = 0x802263D4; // type:data rom:0x455814 +b_area_kmr_part_3_para_jr_troopa_8022646C = 0x8022646C; // type:data rom:0x4558AC +b_area_kmr_part_3_para_jr_troopa_802264AC = 0x802264AC; // type:data rom:0x4558EC +b_area_kmr_part_3_para_jr_troopa_init_80226510 = 0x80226510; // type:data rom:0x455950 +b_area_kmr_part_3_para_jr_troopa_idle_802265A0 = 0x802265A0; // type:data rom:0x4559E0 +b_area_kmr_part_3_para_jr_troopa_handleEvent_802266B0 = 0x802266B0; // type:data rom:0x455AF0 +b_area_kmr_part_3_para_jr_troopa_80226D4C = 0x80226D4C; // type:data rom:0x45618C +b_area_kmr_part_3_para_jr_troopa_takeTurn_80226F58 = 0x80226F58; // type:data rom:0x456398 +b_area_kmr_part_3_para_jr_troopa_nextTurn_80227724 = 0x80227724; // type:data rom:0x456B64 +b_area_kmr_part_3_para_jr_troopa_802279B0 = 0x802279B0; // type:data rom:0x456DF0 +b_area_kmr_part_3_para_jr_troopa_80227D38 = 0x80227D38; // type:data rom:0x457178 +b_area_kmr_part_3_para_jr_troopa_80227E1C = 0x80227E1C; // type:data rom:0x45725C +b_area_kmr_part_3_spiked_para_jr_troopa_idleAnimations_80227F00 = 0x80227F00; // type:data rom:0x457340 +b_area_kmr_part_3_spiked_para_jr_troopa_idleAnimations_80227F44 = 0x80227F44; // type:data rom:0x457384 +b_area_kmr_part_3_spiked_para_jr_troopa_idleAnimations_80227F50 = 0x80227F50; // type:data rom:0x457390 +b_area_kmr_part_3_spiked_para_jr_troopa_defenseTable_80227F5C = 0x80227F5C; // type:data rom:0x45739C +b_area_kmr_part_3_spiked_para_jr_troopa_statusTable_80227F68 = 0x80227F68; // type:data rom:0x4573A8 +b_area_kmr_part_3_spiked_para_jr_troopa_partsTable_80228014 = 0x80228014; // type:data rom:0x457454 +b_area_kmr_part_3_spiked_para_jr_troopa = 0x8022805C; // type:data rom:0x45749C +b_area_kmr_part_3_spiked_para_jr_troopa_80228084 = 0x80228084; // type:data rom:0x4574C4 +b_area_kmr_part_3_spiked_para_jr_troopa_802281B4 = 0x802281B4; // type:data rom:0x4575F4 +b_area_kmr_part_3_spiked_para_jr_troopa_802284DC = 0x802284DC; // type:data rom:0x45791C +b_area_kmr_part_3_spiked_para_jr_troopa_80228574 = 0x80228574; // type:data rom:0x4579B4 +b_area_kmr_part_3_spiked_para_jr_troopa_802285B4 = 0x802285B4; // type:data rom:0x4579F4 +b_area_kmr_part_3_spiked_para_jr_troopa_init_80228618 = 0x80228618; // type:data rom:0x457A58 +b_area_kmr_part_3_spiked_para_jr_troopa_idle_802286C0 = 0x802286C0; // type:data rom:0x457B00 +b_area_kmr_part_3_spiked_para_jr_troopa_handleEvent_802287D0 = 0x802287D0; // type:data rom:0x457C10 +b_area_kmr_part_3_spiked_para_jr_troopa_80228FE8 = 0x80228FE8; // type:data rom:0x458428 +b_area_kmr_part_3_spiked_para_jr_troopa_8022906C = 0x8022906C; // type:data rom:0x4584AC +b_area_kmr_part_3_spiked_para_jr_troopa_80229160 = 0x80229160; // type:data rom:0x4585A0 +b_area_kmr_part_3_spiked_para_jr_troopa_takeTurn_8022936C = 0x8022936C; // type:data rom:0x4587AC +b_area_kmr_part_3_spiked_para_jr_troopa_nextTurn_80229B38 = 0x80229B38; // type:data rom:0x458F78 +b_area_kmr_part_3_spiked_para_jr_troopa_8022A018 = 0x8022A018; // type:data rom:0x459458 +b_area_kmr_part_3_spiked_para_jr_troopa_8022A39C = 0x8022A39C; // type:data rom:0x4597DC +b_area_kmr_part_3_spiked_para_jr_troopa_8022A480 = 0x8022A480; // type:data rom:0x4598C0 +b_area_kmr_part_3_mage_jr_troopa_idleAnimations_8022A550 = 0x8022A550; // type:data rom:0x459990 +b_area_kmr_part_3_mage_jr_troopa_idleAnimations_8022A594 = 0x8022A594; // type:data rom:0x4599D4 +b_area_kmr_part_3_mage_jr_troopa_idleAnimations_8022A5D8 = 0x8022A5D8; // type:data rom:0x459A18 +b_area_kmr_part_3_mage_jr_troopa_idleAnimations_8022A61C = 0x8022A61C; // type:data rom:0x459A5C +b_area_kmr_part_3_mage_jr_troopa_defenseTable_8022A628 = 0x8022A628; // type:data rom:0x459A68 +b_area_kmr_part_3_mage_jr_troopa_statusTable_8022A634 = 0x8022A634; // type:data rom:0x459A74 +b_area_kmr_part_3_mage_jr_troopa_partsTable_8022A6E0 = 0x8022A6E0; // type:data rom:0x459B20 +b_area_kmr_part_3_mage_jr_troopa = 0x8022A728; // type:data rom:0x459B68 +b_area_kmr_part_3_mage_jr_troopa_8022A750 = 0x8022A750; // type:data rom:0x459B90 +b_area_kmr_part_3_mage_jr_troopa_8022A880 = 0x8022A880; // type:data rom:0x459CC0 +b_area_kmr_part_3_mage_jr_troopa_8022ABA8 = 0x8022ABA8; // type:data rom:0x459FE8 +b_area_kmr_part_3_mage_jr_troopa_8022AC40 = 0x8022AC40; // type:data rom:0x45A080 +b_area_kmr_part_3_mage_jr_troopa_8022AC80 = 0x8022AC80; // type:data rom:0x45A0C0 +b_area_kmr_part_3_mage_jr_troopa_init_8022ACE4 = 0x8022ACE4; // type:data rom:0x45A124 +b_area_kmr_part_3_mage_jr_troopa_idle_8022ADA4 = 0x8022ADA4; // type:data rom:0x45A1E4 +b_area_kmr_part_3_mage_jr_troopa_handleEvent_8022ADD8 = 0x8022ADD8; // type:data rom:0x45A218 +b_area_kmr_part_3_mage_jr_troopa_takeTurn_8022B4F0 = 0x8022B4F0; // type:data rom:0x45A930 +b_area_kmr_part_3_mage_jr_troopa_nextTurn_8022BB44 = 0x8022BB44; // type:data rom:0x45AF84 +b_area_kmr_part_3_mage_jr_troopa_8022BF1C = 0x8022BF1C; // type:data rom:0x45B35C +b_area_kmr_part_3_mage_jr_troopa_8022C2A4 = 0x8022C2A4; // type:data rom:0x45B6E4 +b_area_kmr_part_3_final_jr_troopa_idleAnimations_8022C370 = 0x8022C370; // type:data rom:0x45B7B0 +b_area_kmr_part_3_final_jr_troopa_idleAnimations_8022C3A4 = 0x8022C3A4; // type:data rom:0x45B7E4 +b_area_kmr_part_3_final_jr_troopa_idleAnimations_8022C3D8 = 0x8022C3D8; // type:data rom:0x45B818 +b_area_kmr_part_3_final_jr_troopa_idleAnimations_8022C40C = 0x8022C40C; // type:data rom:0x45B84C +b_area_kmr_part_3_final_jr_troopa_defenseTable_8022C418 = 0x8022C418; // type:data rom:0x45B858 +b_area_kmr_part_3_final_jr_troopa_defenseTable_8022C424 = 0x8022C424; // type:data rom:0x45B864 +b_area_kmr_part_3_final_jr_troopa_defenseTable_8022C430 = 0x8022C430; // type:data rom:0x45B870 +b_area_kmr_part_3_final_jr_troopa_statusTable_8022C43C = 0x8022C43C; // type:data rom:0x45B87C +b_area_kmr_part_3_final_jr_troopa_statusTable_8022C4E8 = 0x8022C4E8; // type:data rom:0x45B928 +b_area_kmr_part_3_final_jr_troopa_statusTable_8022C594 = 0x8022C594; // type:data rom:0x45B9D4 +b_area_kmr_part_3_final_jr_troopa_partsTable_8022C640 = 0x8022C640; // type:data rom:0x45BA80 +b_area_kmr_part_3_final_jr_troopa = 0x8022C6AC; // type:data rom:0x45BAEC +b_area_kmr_part_3_final_jr_troopa_8022C6D4 = 0x8022C6D4; // type:data rom:0x45BB14 +b_area_kmr_part_3_final_jr_troopa_8022C804 = 0x8022C804; // type:data rom:0x45BC44 +b_area_kmr_part_3_final_jr_troopa_8022CB2C = 0x8022CB2C; // type:data rom:0x45BF6C +b_area_kmr_part_3_final_jr_troopa_8022CBC4 = 0x8022CBC4; // type:data rom:0x45C004 +b_area_kmr_part_3_final_jr_troopa_8022CC04 = 0x8022CC04; // type:data rom:0x45C044 +b_area_kmr_part_3_final_jr_troopa_idleAnimations_8022CC68 = 0x8022CC68; // type:data rom:0x45C0A8 +b_area_kmr_part_3_final_jr_troopa_8022CC74 = 0x8022CC74; // type:data rom:0x45C0B4 +b_area_kmr_part_3_final_jr_troopa_init_8022CF80 = 0x8022CF80; // type:data rom:0x45C3C0 +b_area_kmr_part_3_final_jr_troopa_idle_8022D058 = 0x8022D058; // type:data rom:0x45C498 +b_area_kmr_part_3_final_jr_troopa_handleEvent_8022D1C4 = 0x8022D1C4; // type:data rom:0x45C604 +b_area_kmr_part_3_final_jr_troopa_takeTurn_8022D920 = 0x8022D920; // type:data rom:0x45CD60 +b_area_kmr_part_3_final_jr_troopa_8022DD48 = 0x8022DD48; // type:data rom:0x45D188 +b_area_kmr_part_3_final_jr_troopa_8022DF54 = 0x8022DF54; // type:data rom:0x45D394 +b_area_kmr_part_3_final_jr_troopa_8022E198 = 0x8022E198; // type:data rom:0x45D5D8 +b_area_kmr_part_3_final_jr_troopa_8022ED10 = 0x8022ED10; // type:data rom:0x45E150 +b_area_kmr_part_3_final_jr_troopa_8022F468 = 0x8022F468; // type:data rom:0x45E8A8 +b_area_kmr_part_3_final_jr_troopa_floatTable = 0x8022FEC8; // type:data rom:0x45F308 +b_area_kmr_part_3_final_jr_troopa_80230034 = 0x80230034; // type:data rom:0x45F474 +b_area_kmr_part_3_final_jr_troopa_80230794 = 0x80230794; // type:data rom:0x45FBD4 +b_area_kmr_part_3_final_jr_troopa_8023106C = 0x8023106C; // type:data rom:0x4604AC +b_area_kmr_part_3_final_jr_troopa_nextTurn_8023147C = 0x8023147C; // type:data rom:0x4608BC +b_area_kmr_part_3_final_jr_troopa_802315F0 = 0x802315F0; // type:data rom:0x460A30 +b_area_kmr_part_3_final_jr_troopa_802318F8 = 0x802318F8; // type:data rom:0x460D38 +b_area_kmr_part_3_final_jr_troopa_80232040 = 0x80232040; // type:data rom:0x461480 +b_area_kmr_part_3_final_jr_troopa_80232170 = 0x80232170; // type:data rom:0x4615B0 +b_area_kmr_part_3_kmr_02_beforeBattle_802322D0 = 0x802322D0; // type:data rom:0x461710 +b_area_kmr_part_3_kmr_02_afterBattle_802322F0 = 0x802322F0; // type:data rom:0x461730 +b_area_kmr_part_3_kmr_02 = 0x80232300; // type:data rom:0x461740 +b_area_kmr_part_3_kmr_03_clouds1 = 0x80232330; // type:data rom:0x461770 +b_area_kmr_part_3_kmr_03_clouds2 = 0x80232428; // type:data rom:0x461868 +b_area_kmr_part_3_kmr_03_clouds3 = 0x80232560; // type:data rom:0x4619A0 +b_area_kmr_part_3_kmr_03_beforeBattle_802326B8 = 0x802326B8; // type:data rom:0x461AF8 +b_area_kmr_part_3_kmr_03_afterBattle_80232730 = 0x80232730; // type:data rom:0x461B70 +b_area_kmr_part_3_kmr_03_foregroundModelList_80232740 = 0x80232740; // type:data rom:0x461B80 +b_area_kmr_part_3_kmr_03 = 0x8023274C; // type:data rom:0x461B8C +b_area_kmr_part_3_kmr_04_clouds1 = 0x80232780; // type:data rom:0x461BC0 +b_area_kmr_part_3_kmr_04_clouds2 = 0x80232878; // type:data rom:0x461CB8 +b_area_kmr_part_3_kmr_04_clouds3 = 0x802329B0; // type:data rom:0x461DF0 +b_area_kmr_part_3_kmr_04_beforeBattle_80232B08 = 0x80232B08; // type:data rom:0x461F48 +b_area_kmr_part_3_kmr_04_afterBattle_80232B80 = 0x80232B80; // type:data rom:0x461FC0 +b_area_kmr_part_3_kmr_04_foregroundModelList_80232B90 = 0x80232B90; // type:data rom:0x461FD0 +b_area_kmr_part_3_kmr_04 = 0x80232B9C; // type:data rom:0x461FDC +b_area_kmr_part_3_kmr_05_clouds1 = 0x80232BD0; // type:data rom:0x462010 +b_area_kmr_part_3_kmr_05_clouds2 = 0x80232CC8; // type:data rom:0x462108 +b_area_kmr_part_3_kmr_05_clouds3 = 0x80232E00; // type:data rom:0x462240 +b_area_kmr_part_3_kmr_05_beforeBattle_80232F58 = 0x80232F58; // type:data rom:0x462398 +b_area_kmr_part_3_kmr_05_afterBattle_80232FA0 = 0x80232FA0; // type:data rom:0x4623E0 +b_area_kmr_part_3_kmr_05_foregroundModelList_80232FB0 = 0x80232FB0; // type:data rom:0x4623F0 +b_area_kmr_part_3_kmr_05 = 0x80232FBC; // type:data rom:0x4623FC +b_area_kmr_part_3_kmr_06_clouds1 = 0x80232FF0; // type:data rom:0x462430 +b_area_kmr_part_3_kmr_06_clouds2 = 0x802330E8; // type:data rom:0x462528 +b_area_kmr_part_3_kmr_06_clouds3 = 0x80233220; // type:data rom:0x462660 +b_area_kmr_part_3_kmr_06_beforeBattle_80233378 = 0x80233378; // type:data rom:0x4627B8 +b_area_kmr_part_3_kmr_06_afterBattle_802333FC = 0x802333FC; // type:data rom:0x46283C +b_area_kmr_part_3_kmr_06_foregroundModelList_8023340C = 0x8023340C; // type:data rom:0x46284C +b_area_kmr_part_3_kmr_06 = 0x8023341C; // type:data rom:0x46285C +b_area_kmr_part_3_nok_01_80233450 = 0x80233450; // type:data rom:0x462890 +b_area_kmr_part_3_nok_01_beforeBattle_80233558 = 0x80233558; // type:data rom:0x462998 +b_area_kmr_part_3_nok_01_afterBattle_80233620 = 0x80233620; // type:data rom:0x462A60 +b_area_kmr_part_3_nok_01_foregroundModelList_80233630 = 0x80233630; // type:data rom:0x462A70 +b_area_kmr_part_3_nok_01 = 0x80233640; // type:data rom:0x462A80 +b_area_kmr_part_3_mim_01_beforeBattle_80233670 = 0x80233670; // type:data rom:0x462AB0 +b_area_kmr_part_3_mim_01_afterBattle_8023369C = 0x8023369C; // type:data rom:0x462ADC +b_area_kmr_part_3_mim_01 = 0x802336AC; // type:data rom:0x462AEC +b_area_kmr_part_3_sam_01_D_802336E0_43AB20 = 0x802336E0; // type:data rom:0x462B20 +b_area_kmr_part_3_sam_01_802336F0 = 0x802336F0; // type:data rom:0x462B30 +b_area_kmr_part_3_sam_01_8023372C = 0x8023372C; // type:data rom:0x462B6C +b_area_kmr_part_3_sam_01_802337F4 = 0x802337F4; // type:data rom:0x462C34 +b_area_kmr_part_3_sam_01_802338D4 = 0x802338D4; // type:data rom:0x462D14 +b_area_kmr_part_3_sam_01_beforeBattle_80233998 = 0x80233998; // type:data rom:0x462DD8 +b_area_kmr_part_3_sam_01_afterBattle_80233AA8 = 0x80233AA8; // type:data rom:0x462EE8 +b_area_kmr_part_3_sam_01_foregroundModelList_80233AB8 = 0x80233AB8; // type:data rom:0x462EF8 +b_area_kmr_part_3_sam_01 = 0x80233AC4; // type:data rom:0x462F04 +b_area_kmr_part_3_mac_01_80233AF0 = 0x80233AF0; // type:data rom:0x462F30 +b_area_kmr_part_3_mac_01_80234180 = 0x80234180; // type:data rom:0x4635C0 +b_area_kmr_part_3_mac_01_intTable_80234524 = 0x80234524; // type:data rom:0x463964 +b_area_kmr_part_3_mac_01_80234564 = 0x80234564; // type:data rom:0x4639A4 +b_area_kmr_part_3_mac_01_802347D0 = 0x802347D0; // type:data rom:0x463C10 +b_area_kmr_part_3_mac_01_beforeBattle_80234B74 = 0x80234B74; // type:data rom:0x463FB4 +b_area_kmr_part_3_mac_01_afterBattle_80234C70 = 0x80234C70; // type:data rom:0x4640B0 +b_area_kmr_part_3_mac_01 = 0x80234C80; // type:data rom:0x4640C0 +b_area_kmr_part_3_kpa_01_80234CB0 = 0x80234CB0; // type:data rom:0x4640F0 +b_area_kmr_part_3_kpa_01_beforeBattle_80234D60 = 0x80234D60; // type:data rom:0x4641A0 +b_area_kmr_part_3_kpa_01_afterBattle_80234D9C = 0x80234D9C; // type:data rom:0x4641DC +b_area_kmr_part_3_kpa_01 = 0x80234DAC; // type:data rom:0x4641EC +b_area_mac_chan_UnkBattleFunc1 = 0x80218000; // type:func rom:0x464490 func_802180D0_464560 = 0x802180D0; // type:func rom:0x464560 func_80218100_464590 = 0x80218100; // type:func rom:0x464590 func_80218300_464790 = 0x80218300; // type:func rom:0x464790 -b_area_mac_ActorJumpToPos = 0x80218B90; // type:func rom:0x465020 -b_area_mac_UnkActorSizeFunc = 0x80218CE4; // type:func rom:0x465174 -b_area_mac_UnkEffect6CFunc = 0x80218D90; // type:func rom:0x465220 +b_area_mac_lee_ActorJumpToPos = 0x80218B90; // type:func rom:0x465020 +b_area_mac_lee_UnkActorSizeFunc = 0x80218CE4; // type:func rom:0x465174 +b_area_mac_lee_UnkEffect6CFunc = 0x80218D90; // type:func rom:0x465220 func_80218DF4_465284 = 0x80218DF4; // type:func rom:0x465284 func_80218E2C_4652BC = 0x80218E2C; // type:func rom:0x4652BC -dup_b_area_mac_UnkBattleFunc1 = 0x80218E74; // type:func rom:0x465304 -b_area_mac_UnkActorPosFunc = 0x80218F40; // type:func rom:0x4653D0 -dup_b_area_mac_UnkActorPosFunc = 0x80219064; // type:func rom:0x4654F4 +b_area_mac_lee_kooper_UnkBattleFunc1 = 0x80218E74; // type:func rom:0x465304 +b_area_mac_lee_UnkActorPosFunc = 0x80218F40; // type:func rom:0x4653D0 +b_area_mac_lee_bombette_UnkActorPosFunc = 0x80219064; // type:func rom:0x4654F4 func_80219188_465618 = 0x80219188; // type:func rom:0x465618 func_80219604_465A94 = 0x80219604; // type:func rom:0x465A94 func_80219658_465AE8 = 0x80219658; // type:func rom:0x465AE8 func_802196A4_465B34 = 0x802196A4; // type:func rom:0x465B34 func_802196F0_465B80 = 0x802196F0; // type:func rom:0x465B80 -b_area_mac_UnkBackgroundFunc3 = 0x8021973C; // type:func rom:0x465BCC -b_area_mac_SetBackgroundAlpha = 0x80219780; // type:func rom:0x465C10 +b_area_mac_lee_UnkBackgroundFunc3 = 0x8021973C; // type:func rom:0x465BCC +b_area_mac_lee_SetBackgroundAlpha = 0x80219780; // type:func rom:0x465C10 func_802197B8_465C48 = 0x802197B8; // type:func rom:0x465C48 func_80219824_465CB4 = 0x80219824; // type:func rom:0x465CB4 func_80219900_465D90 = 0x80219900; // type:func rom:0x465D90 +b_area_mac_chan_defenseTable_80219D50 = 0x80219D50; // type:data rom:0x4661E0 +b_area_mac_chan_defenseTable_80219D6C = 0x80219D6C; // type:data rom:0x4661FC +b_area_mac_chan_statusTable_80219D78 = 0x80219D78; // type:data rom:0x466208 +b_area_mac_chan_partsTable_80219E24 = 0x80219E24; // type:data rom:0x4662B4 +b_area_mac_chan = 0x80219E48; // type:data rom:0x4662D8 +b_area_mac_chan_idleAnimations_80219E70 = 0x80219E70; // type:data rom:0x466300 +b_area_mac_chan_idleAnimations_80219EBC = 0x80219EBC; // type:data rom:0x46634C +b_area_mac_chan_idleAnimations_80219F08 = 0x80219F08; // type:data rom:0x466398 +b_area_mac_chan_80219F4C = 0x80219F4C; // type:data rom:0x4663DC +b_area_mac_chan_idle_8021A11C = 0x8021A11C; // type:data rom:0x4665AC +b_area_mac_chan_8021A12C = 0x8021A12C; // type:data rom:0x4665BC +b_area_mac_chan_handleEvent_8021A560 = 0x8021A560; // type:data rom:0x4669F0 +b_area_mac_chan_8021AA1C = 0x8021AA1C; // type:data rom:0x466EAC +b_area_mac_chan_intTable_8021AA6C = 0x8021AA6C; // type:data rom:0x466EFC +b_area_mac_chan_handleEvent_8021AAB8 = 0x8021AAB8; // type:data rom:0x466F48 +b_area_mac_chan_takeTurn_8021B81C = 0x8021B81C; // type:data rom:0x467CAC +b_area_mac_chan_takeTurn_Chan = 0x8021C2D4; // type:data rom:0x468764 +b_area_mac_chan_init_8021CCDC = 0x8021CCDC; // type:data rom:0x46916C +b_area_mac_chan_nextTurn_8021CD7C = 0x8021CD7C; // type:data rom:0x46920C +b_area_mac_chan_handleEvent_8021D0CC = 0x8021D0CC; // type:data rom:0x46955C +b_area_mac_lee_idleAnimations_8021D360 = 0x8021D360; // type:data rom:0x4697F0 +b_area_mac_lee_idleAnimations_8021D3AC = 0x8021D3AC; // type:data rom:0x46983C +b_area_mac_lee_unk_missing_8021D3B8 = 0x8021D3B8; // type:data rom:0x469848 +b_area_mac_lee_defenseTable_8021D3C4 = 0x8021D3C4; // type:data rom:0x469854 +b_area_mac_lee_statusTable_8021D3D0 = 0x8021D3D0; // type:data rom:0x469860 +b_area_mac_lee_partsTable_8021D47C = 0x8021D47C; // type:data rom:0x46990C +b_area_mac_lee = 0x8021D4A0; // type:data rom:0x469930 +b_area_mac_lee_init_8021D4C8 = 0x8021D4C8; // type:data rom:0x469958 +b_area_mac_lee_idle_8021D5B4 = 0x8021D5B4; // type:data rom:0x469A44 +b_area_mac_lee_8021D5C4 = 0x8021D5C4; // type:data rom:0x469A54 +b_area_mac_lee_handleEvent_8021D600 = 0x8021D600; // type:data rom:0x469A90 +b_area_mac_lee_flyingTackle = 0x8021DB18; // type:data rom:0x469FA8 +b_area_mac_lee_8021E0E0 = 0x8021E0E0; // type:data rom:0x46A570 +b_area_mac_lee_8021E118 = 0x8021E118; // type:data rom:0x46A5A8 +b_area_mac_lee_8021E5DC = 0x8021E5DC; // type:data rom:0x46AA6C +b_area_mac_lee_vector3D_8021E940 = 0x8021E940; // type:data rom:0x46ADD0 +b_area_mac_lee_idleAnimations_8021E94C = 0x8021E94C; // type:data rom:0x46ADDC +b_area_mac_lee_defenseTable_8021E998 = 0x8021E998; // type:data rom:0x46AE28 +b_area_mac_lee_statusTable_8021E9A4 = 0x8021E9A4; // type:data rom:0x46AE34 +b_area_mac_lee_partsTable_8021EA50 = 0x8021EA50; // type:data rom:0x46AEE0 +b_area_mac_lee_goombario = 0x8021EA74; // type:data rom:0x46AF04 +b_area_mac_lee_init_Goombario = 0x8021EA9C; // type:data rom:0x46AF2C +b_area_mac_lee_idle_8021EB14 = 0x8021EB14; // type:data rom:0x46AFA4 +b_area_mac_lee_handleEvent_8021EB24 = 0x8021EB24; // type:data rom:0x46AFB4 +b_area_mac_lee_8021F08C = 0x8021F08C; // type:data rom:0x46B51C +b_area_mac_lee_8021F514 = 0x8021F514; // type:data rom:0x46B9A4 +b_area_mac_lee_8021F5F8 = 0x8021F5F8; // type:data rom:0x46BA88 +b_area_mac_lee_8021F6E0 = 0x8021F6E0; // type:data rom:0x46BB70 +b_area_mac_lee_80220100 = 0x80220100; // type:data rom:0x46C590 +b_area_mac_lee_takeTurn_802203F4 = 0x802203F4; // type:data rom:0x46C884 +b_area_mac_lee_nextTurn_80220450 = 0x80220450; // type:data rom:0x46C8E0 b_area_mac_lee_formation_goombario = 0x80220524; // type:data rom:0x46C9B4 +b_area_mac_lee_idleAnimations_80220540 = 0x80220540; // type:data rom:0x46C9D0 +b_area_mac_lee_idleAnimations_8022058C = 0x8022058C; // type:data rom:0x46CA1C +b_area_mac_lee_defenseTable_802205D8 = 0x802205D8; // type:data rom:0x46CA68 +b_area_mac_lee_defenseTable_802205E4 = 0x802205E4; // type:data rom:0x46CA74 +b_area_mac_lee_statusTable_802205F0 = 0x802205F0; // type:data rom:0x46CA80 +b_area_mac_lee_partsTable_8022069C = 0x8022069C; // type:data rom:0x46CB2C +b_area_mac_lee_kooper = 0x802206C0; // type:data rom:0x46CB50 +b_area_mac_lee_init_Kooper = 0x802206E8; // type:data rom:0x46CB78 +b_area_mac_lee_idle_80220790 = 0x80220790; // type:data rom:0x46CC20 +b_area_mac_lee_intTable_802208B0 = 0x802208B0; // type:data rom:0x46CD40 +b_area_mac_lee_handleEvent_80220908 = 0x80220908; // type:data rom:0x46CD98 +b_area_mac_lee_takeTurn_80221200 = 0x80221200; // type:data rom:0x46D690 +b_area_mac_lee_nextTurn_802221A0 = 0x802221A0; // type:data rom:0x46E630 b_area_mac_lee_formation_kooper = 0x80222274; // type:data rom:0x46E704 +b_area_mac_lee_idleAnimations_80222290 = 0x80222290; // type:data rom:0x46E720 +b_area_mac_lee_defenseTable_802222DC = 0x802222DC; // type:data rom:0x46E76C +b_area_mac_lee_statusTable_802222E8 = 0x802222E8; // type:data rom:0x46E778 +b_area_mac_lee_partsTable_80222394 = 0x80222394; // type:data rom:0x46E824 +b_area_mac_lee_bombette = 0x802223B8; // type:data rom:0x46E848 +b_area_mac_lee_init_LeeBombette = 0x802223E0; // type:data rom:0x46E870 +b_area_mac_lee_idle_80222458 = 0x80222458; // type:data rom:0x46E8E8 +b_area_mac_lee_handleEvent_80222468 = 0x80222468; // type:data rom:0x46E8F8 +b_area_mac_lee_takeTurn_802229C4 = 0x802229C4; // type:data rom:0x46EE54 +b_area_mac_lee_nextTurn_80223298 = 0x80223298; // type:data rom:0x46F728 b_area_mac_lee_formation_bombette = 0x8022336C; // type:data rom:0x46F7FC +b_area_mac_lee_idleAnimations_80223388 = 0x80223388; // type:data rom:0x46F818 +b_area_mac_lee_defenseTable_802233D4 = 0x802233D4; // type:data rom:0x46F864 +b_area_mac_lee_statusTable_802233E0 = 0x802233E0; // type:data rom:0x46F870 +b_area_mac_lee_partsTable_8022348C = 0x8022348C; // type:data rom:0x46F91C +b_area_mac_lee_parakerry = 0x802234D4; // type:data rom:0x46F964 +b_area_mac_lee_init_Parakarry = 0x802234FC; // type:data rom:0x46F98C +b_area_mac_lee_idle_80223574 = 0x80223574; // type:data rom:0x46FA04 +b_area_mac_lee_handleEvent_80223584 = 0x80223584; // type:data rom:0x46FA14 +b_area_mac_lee_80223B74 = 0x80223B74; // type:data rom:0x470004 +b_area_mac_lee_takeTurn_80224304 = 0x80224304; // type:data rom:0x470794 +b_area_mac_lee_nextTurn_80224320 = 0x80224320; // type:data rom:0x4707B0 b_area_mac_lee_formation_parakerry = 0x802243F4; // type:data rom:0x470884 +b_area_mac_lee_idleAnimations_80224410 = 0x80224410; // type:data rom:0x4708A0 +b_area_mac_lee_defenseTable_8022445C = 0x8022445C; // type:data rom:0x4708EC +b_area_mac_lee_statusTable_80224468 = 0x80224468; // type:data rom:0x4708F8 +b_area_mac_lee_partsTable_80224514 = 0x80224514; // type:data rom:0x4709A4 +b_area_mac_lee_bow = 0x8022455C; // type:data rom:0x4709EC +b_area_mac_lee_init_Bow = 0x80224584; // type:data rom:0x470A14 +b_area_mac_lee_idle_802245FC = 0x802245FC; // type:data rom:0x470A8C +b_area_mac_lee_handleEvent_8022460C = 0x8022460C; // type:data rom:0x470A9C +b_area_mac_lee_takeTurn_80224CA0 = 0x80224CA0; // type:data rom:0x471130 +b_area_mac_lee_nextTurn_80225884 = 0x80225884; // type:data rom:0x471D14 b_area_mac_lee_formation_bow = 0x80225958; // type:data rom:0x471DE8 +b_area_mac_lee_idleAnimations_80225974 = 0x80225974; // type:data rom:0x471E04 +b_area_mac_lee_defenseTable_802259C0 = 0x802259C0; // type:data rom:0x471E50 +b_area_mac_lee_statusTable_802259D4 = 0x802259D4; // type:data rom:0x471E64 +b_area_mac_lee_partsTable_80225A80 = 0x80225A80; // type:data rom:0x471F10 +b_area_mac_lee_watt = 0x80225AC8; // type:data rom:0x471F58 +b_area_mac_lee_init_Watt = 0x80225AF0; // type:data rom:0x471F80 +b_area_mac_lee_idle_80225B68 = 0x80225B68; // type:data rom:0x471FF8 +b_area_mac_lee_handleEvent_80225B90 = 0x80225B90; // type:data rom:0x472020 +b_area_mac_lee_takeTurn_80226004 = 0x80226004; // type:data rom:0x472494 +b_area_mac_lee_nextTurn_80226880 = 0x80226880; // type:data rom:0x472D10 b_area_mac_lee_formation_watt = 0x80226960; // type:data rom:0x472DF0 +b_area_mac_lee_idleAnimations_8022697C = 0x8022697C; // type:data rom:0x472E0C +b_area_mac_lee_defenseTable_802269C8 = 0x802269C8; // type:data rom:0x472E58 +b_area_mac_lee_statusTable_802269D4 = 0x802269D4; // type:data rom:0x472E64 +b_area_mac_lee_partsTable_80226A80 = 0x80226A80; // type:data rom:0x472F10 +b_area_mac_lee_sushie = 0x80226AA4; // type:data rom:0x472F34 +b_area_mac_lee_init_Sushie = 0x80226ACC; // type:data rom:0x472F5C +b_area_mac_lee_idle_80226B44 = 0x80226B44; // type:data rom:0x472FD4 +b_area_mac_lee_handleEvent_80226B54 = 0x80226B54; // type:data rom:0x472FE4 +b_area_mac_lee_takeTurn_802270BC = 0x802270BC; // type:data rom:0x47354C +b_area_mac_lee_nextTurn_8022831C = 0x8022831C; // type:data rom:0x4747AC b_area_mac_lee_formation_sushie = 0x802283F0; // type:data rom:0x474880 +b_area_mac_lee_idleAnimations_8022840C = 0x8022840C; // type:data rom:0x47489C +b_area_mac_lee_idleAnimations_80228458 = 0x80228458; // type:data rom:0x4748E8 +b_area_mac_lee_defenseTable_80228464 = 0x80228464; // type:data rom:0x4748F4 +b_area_mac_lee_statusTable_80228470 = 0x80228470; // type:data rom:0x474900 +b_area_mac_lee_partsTable_8022851C = 0x8022851C; // type:data rom:0x4749AC +b_area_mac_lee_lakilester = 0x80228564; // type:data rom:0x4749F4 +b_area_mac_lee_init_Lakilester = 0x8022858C; // type:data rom:0x474A1C +b_area_mac_lee_idle_80228604 = 0x80228604; // type:data rom:0x474A94 +b_area_mac_lee_handleEvent_80228614 = 0x80228614; // type:data rom:0x474AA4 +b_area_mac_lee_takeTurn_80228B78 = 0x80228B78; // type:data rom:0x475008 +b_area_mac_lee_nextTurn_80229658 = 0x80229658; // type:data rom:0x475AE8 b_area_mac_lee_formation_lakilester = 0x8022972C; // type:data rom:0x475BBC +b_area_mac_lee_copyPartner = 0x80229748; // type:data rom:0x475BD8 +b_area_mac_lee_takeTurn_80229F9C = 0x80229F9C; // type:data rom:0x47642C +b_area_mac_lee_nextTurn_8022A038 = 0x8022A038; // type:data rom:0x4764C8 +b_area_mac_master1_idleAnimations_8022A260 = 0x8022A260; // type:data rom:0x4766F0 +b_area_mac_master1_defenseTable_8022A2AC = 0x8022A2AC; // type:data rom:0x47673C +b_area_mac_master1_statusTable_8022A2B8 = 0x8022A2B8; // type:data rom:0x476748 +b_area_mac_master1_partsTable_8022A364 = 0x8022A364; // type:data rom:0x4767F4 +b_area_mac_master1 = 0x8022A388; // type:data rom:0x476818 +b_area_mac_master1_init_8022A3B0 = 0x8022A3B0; // type:data rom:0x476840 +b_area_mac_master1_idle_8022A494 = 0x8022A494; // type:data rom:0x476924 +b_area_mac_master1_8022A4A4 = 0x8022A4A4; // type:data rom:0x476934 +b_area_mac_master1_takeTurn_8022AA54 = 0x8022AA54; // type:data rom:0x476EE4 +b_area_mac_master1_nextTurn_8022B06C = 0x8022B06C; // type:data rom:0x4774FC +b_area_mac_master1_handleEvent_8022B2CC = 0x8022B2CC; // type:data rom:0x47775C +b_area_mac_master2_idleAnimations_8022B640 = 0x8022B640; // type:data rom:0x477AD0 +b_area_mac_master2_idleAnimations_8022B68C = 0x8022B68C; // type:data rom:0x477B1C +b_area_mac_master2_defenseTable_8022B6D8 = 0x8022B6D8; // type:data rom:0x477B68 +b_area_mac_master2_statusTable_8022B6E4 = 0x8022B6E4; // type:data rom:0x477B74 +b_area_mac_master2_partsTable_8022B790 = 0x8022B790; // type:data rom:0x477C20 +b_area_mac_master2 = 0x8022B7B4; // type:data rom:0x477C44 +b_area_mac_master2_init_8022B7DC = 0x8022B7DC; // type:data rom:0x477C6C +b_area_mac_master2_idle_8022B8B0 = 0x8022B8B0; // type:data rom:0x477D40 +b_area_mac_master2_8022B8C0 = 0x8022B8C0; // type:data rom:0x477D50 +b_area_mac_master2_singleStrike2 = 0x8022BE70; // type:data rom:0x478300 +b_area_mac_master2_doubleStrike2 = 0x8022C5D0; // type:data rom:0x478A60 +b_area_mac_master2_takeTurn_8022CF48 = 0x8022CF48; // type:data rom:0x4793D8 +b_area_mac_master2_nextTurn_8022CFFC = 0x8022CFFC; // type:data rom:0x47948C +b_area_mac_master2_handleEvent_8022D634 = 0x8022D634; // type:data rom:0x479AC4 +b_area_mac_master3_idleAnimations_8022D9A0 = 0x8022D9A0; // type:data rom:0x479E30 +b_area_mac_master3_idleAnimations_8022D9EC = 0x8022D9EC; // type:data rom:0x479E7C +b_area_mac_master3_defenseTable_8022DA38 = 0x8022DA38; // type:data rom:0x479EC8 +b_area_mac_master3_statusTable_8022DA44 = 0x8022DA44; // type:data rom:0x479ED4 +b_area_mac_master3_partsTable_8022DAF0 = 0x8022DAF0; // type:data rom:0x479F80 +b_area_mac_master3 = 0x8022DB38; // type:data rom:0x479FC8 +b_area_mac_master3_init_8022DB60 = 0x8022DB60; // type:data rom:0x479FF0 +b_area_mac_master3_idle_8022DC34 = 0x8022DC34; // type:data rom:0x47A0C4 +b_area_mac_master3_8022DC44 = 0x8022DC44; // type:data rom:0x47A0D4 +b_area_mac_master3_singleStrike3 = 0x8022E304; // type:data rom:0x47A794 +b_area_mac_master3_doubleStrike3 = 0x8022EA64; // type:data rom:0x47AEF4 +b_area_mac_master3_tripleStrike3 = 0x8022F3DC; // type:data rom:0x47B86C +b_area_mac_master3_80230240 = 0x80230240; // type:data rom:0x47C6D0 +b_area_mac_master3_8023059C = 0x8023059C; // type:data rom:0x47CA2C +b_area_mac_master3_80230914 = 0x80230914; // type:data rom:0x47CDA4 +b_area_mac_master3_takeTurn_80230B20 = 0x80230B20; // type:data rom:0x47CFB0 +b_area_mac_master3_nextTurn_80230D44 = 0x80230D44; // type:data rom:0x47D1D4 +b_area_mac_master3_handleEvent_80231408 = 0x80231408; // type:data rom:0x47D898 +b_area_mac_mac_01_80231770 = 0x80231770; // type:data rom:0x47DC00 +b_area_mac_mac_01_80231E00 = 0x80231E00; // type:data rom:0x47E290 +b_area_mac_mac_01_intTable_802321A4 = 0x802321A4; // type:data rom:0x47E634 +b_area_mac_mac_01_802321E4 = 0x802321E4; // type:data rom:0x47E674 +b_area_mac_mac_01_80232450 = 0x80232450; // type:data rom:0x47E8E0 +b_area_mac_mac_01_beforeBattle_802327F4 = 0x802327F4; // type:data rom:0x47EC84 +b_area_mac_mac_01_afterBattle_802328F0 = 0x802328F0; // type:data rom:0x47ED80 +b_area_mac_mac_01 = 0x80232900; // type:data rom:0x47ED90 +b_area_mac_mac_02_beforeBattle_80232930 = 0x80232930; // type:data rom:0x47EDC0 +b_area_mac_mac_02_afterBattle_8023297C = 0x8023297C; // type:data rom:0x47EE0C +b_area_mac_mac_02 = 0x8023299C; // type:data rom:0x47EE2C +b_area_mac_formation_00 = 0x802329D0; // type:data rom:0x47EE60 +b_area_mac_formation_01 = 0x802329EC; // type:data rom:0x47EE7C +b_area_mac_formation_02 = 0x80232A08; // type:data rom:0x47EE98 +b_area_mac_formation_03 = 0x80232A24; // type:data rom:0x47EEB4 +b_area_mac_formation_04 = 0x80232A40; // type:data rom:0x47EED0 +b_area_mac_formationTable = 0x80232A5C; // type:data rom:0x47EEEC +b_area_mac_stageTable = 0x80232AD4; // type:data rom:0x47EF64 D_80232AF0_47EF80 = 0x80232AF0; // type:data rom:0x47EF80 D_80232AF8_47EF88 = 0x80232AF8; // type:data rom:0x47EF88 D_80232B00_47EF90 = 0x80232B00; // type:data rom:0x47EF90 @@ -6685,17 +7270,110 @@ D_80232B28_47EFB8 = 0x80232B28; // type:data rom:0x47EFB8 D_80232B30_47EFC0 = 0x80232B30; // type:data rom:0x47EFC0 D_80232B38_47EFC8 = 0x80232B38; // type:data rom:0x47EFC8 func_80218000_47F0B0 = 0x80218000; // type:func rom:0x47F0B0 -b_area_hos_UnkSfxFunc = 0x80218020; // type:func rom:0x47F0D0 -b_area_hos_ShrinkActor = 0x80218150; // type:func rom:0x47F200 -b_area_hos_GetSelectedMoveID = 0x802182A8; // type:func rom:0x47F358 -b_area_hos_UnkBattleFunc1 = 0x802182D4; // type:func rom:0x47F384 -b_area_hos_StartRumbleWithParams = 0x802183A0; // type:func rom:0x47F450 -b_area_hos_UnkFunc52 = 0x802183F8; // type:func rom:0x47F4A8 +b_area_hos_ember_UnkSfxFunc = 0x80218020; // type:func rom:0x47F0D0 +b_area_hos_magikoopa_ShrinkActor = 0x80218150; // type:func rom:0x47F200 +b_area_hos_magikoopa_GetSelectedMoveID = 0x802182A8; // type:func rom:0x47F358 +b_area_hos_magikoopa_UnkBattleFunc1 = 0x802182D4; // type:func rom:0x47F384 +b_area_hos_magikoopa_StartRumbleWithParams = 0x802183A0; // type:func rom:0x47F450 +b_area_hos_magikoopa_UnkFunc52 = 0x802183F8; // type:func rom:0x47F4A8 func_802184C0_47F570 = 0x802184C0; // type:func rom:0x47F570 func_802186B8_47F768 = 0x802186B8; // type:func rom:0x47F768 func_802189D0_47FA80 = 0x802189D0; // type:func rom:0x47FA80 func_80218CEC_47FD9C = 0x80218CEC; // type:func rom:0x47FD9C +b_area_hos_goombario_tutor_idleAnimations_80219010 = 0x80219010; // type:data rom:0x4800C0 +b_area_hos_goombario_tutor_defenseTable_8021905C = 0x8021905C; // type:data rom:0x48010C +b_area_hos_goombario_tutor_statusTable_80219068 = 0x80219068; // type:data rom:0x480118 +b_area_hos_goombario_tutor_partsTable_80219114 = 0x80219114; // type:data rom:0x4801C4 +b_area_hos_goombario_tutor = 0x80219138; // type:data rom:0x4801E8 +b_area_hos_goombario_tutor_init_80219160 = 0x80219160; // type:data rom:0x480210 +b_area_hos_goombario_tutor_idle_802191D0 = 0x802191D0; // type:data rom:0x480280 +b_area_hos_goombario_tutor_handleEvent_802191E0 = 0x802191E0; // type:data rom:0x480290 +b_area_hos_goombario_tutor_takeTurn_80219444 = 0x80219444; // type:data rom:0x4804F4 +b_area_hos_goombario_tutor_80219C74 = 0x80219C74; // type:data rom:0x480D24 +b_area_hos_ember_defenseTable_8021ACB0 = 0x8021ACB0; // type:data rom:0x481D60 +b_area_hos_ember_statusTable_8021ACD4 = 0x8021ACD4; // type:data rom:0x481D84 +b_area_hos_ember_partsTable_8021AD80 = 0x8021AD80; // type:data rom:0x481E30 +b_area_hos_ember = 0x8021AE34; // type:data rom:0x481EE4 +b_area_hos_ember_idleAnimations_8021AE5C = 0x8021AE5C; // type:data rom:0x481F0C +b_area_hos_ember_idleAnimations_8021AEA8 = 0x8021AEA8; // type:data rom:0x481F58 +b_area_hos_ember_init_8021AEB4 = 0x8021AEB4; // type:data rom:0x481F64 +b_area_hos_ember_idle_8021B07C = 0x8021B07C; // type:data rom:0x48212C +b_area_hos_ember_8021B2FC = 0x8021B2FC; // type:data rom:0x4823AC +b_area_hos_ember_8021B398 = 0x8021B398; // type:data rom:0x482448 +b_area_hos_ember_vector3D_8021B594 = 0x8021B594; // type:data rom:0x482644 +b_area_hos_ember_specialFormation_8021B5A0 = 0x8021B5A0; // type:data rom:0x482650 +b_area_hos_ember_split = 0x8021B5BC; // type:data rom:0x48266C +b_area_hos_ember_handleEvent_8021B8BC = 0x8021B8BC; // type:data rom:0x48296C +b_area_hos_ember_8021BE64 = 0x8021BE64; // type:data rom:0x482F14 +b_area_hos_ember_8021C454 = 0x8021C454; // type:data rom:0x483504 +b_area_hos_ember_8021C5F8 = 0x8021C5F8; // type:data rom:0x4836A8 +b_area_hos_ember_8021C654 = 0x8021C654; // type:data rom:0x483704 +b_area_hos_ember_8021CBC8 = 0x8021CBC8; // type:data rom:0x483C78 +b_area_hos_ember_takeTurn_8021D284 = 0x8021D284; // type:data rom:0x484334 +b_area_hos_magikoopa_defenseTable_8021D480 = 0x8021D480; // type:data rom:0x484530 +b_area_hos_magikoopa_defenseTable_8021D48C = 0x8021D48C; // type:data rom:0x48453C +b_area_hos_magikoopa_statusTable_8021D498 = 0x8021D498; // type:data rom:0x484548 +b_area_hos_magikoopa_statusTable_8021D544 = 0x8021D544; // type:data rom:0x4845F4 +b_area_hos_magikoopa_partsTable_8021D5F0 = 0x8021D5F0; // type:data rom:0x4846A0 +b_area_hos_magikoopa_partsTable_8021D614 = 0x8021D614; // type:data rom:0x4846C4 +b_area_hos_magikoopa = 0x8021D680; // type:data rom:0x484730 +b_area_hos_magikoopa_flying = 0x8021D6A8; // type:data rom:0x484758 +b_area_hos_magikoopa_idleAnimations_8021D6D0 = 0x8021D6D0; // type:data rom:0x484780 +b_area_hos_magikoopa_idleAnimations_8021D71C = 0x8021D71C; // type:data rom:0x4847CC +b_area_hos_magikoopa_idleAnimations_8021D768 = 0x8021D768; // type:data rom:0x484818 +b_area_hos_magikoopa_idle_8021D774 = 0x8021D774; // type:data rom:0x484824 +b_area_hos_magikoopa_8021D784 = 0x8021D784; // type:data rom:0x484834 +b_area_hos_magikoopa_8021D890 = 0x8021D890; // type:data rom:0x484940 +b_area_hos_magikoopa_runAway = 0x8021DE8C; // type:data rom:0x484F3C +b_area_hos_magikoopa_nextTurn_8021E0B0 = 0x8021E0B0; // type:data rom:0x485160 +b_area_hos_magikoopa_init_8021E100 = 0x8021E100; // type:data rom:0x4851B0 +b_area_hos_magikoopa_init_8021E2C0 = 0x8021E2C0; // type:data rom:0x485370 +b_area_hos_magikoopa_8021E46C = 0x8021E46C; // type:data rom:0x48551C +b_area_hos_magikoopa_handleEvent_8021E6D8 = 0x8021E6D8; // type:data rom:0x485788 +b_area_hos_magikoopa_handleEvent_8021EDF0 = 0x8021EDF0; // type:data rom:0x485EA0 +b_area_hos_magikoopa_healOne = 0x8021F660; // type:data rom:0x486710 +b_area_hos_magikoopa_healAll = 0x8021FBEC; // type:data rom:0x486C9C +b_area_hos_magikoopa_shapeSpell = 0x8022028C; // type:data rom:0x48733C +b_area_hos_magikoopa_80221144 = 0x80221144; // type:data rom:0x4881F4 +b_area_hos_magikoopa_handleEvent_8022142C = 0x8022142C; // type:data rom:0x4884DC +b_area_hos_magikoopa_init_8022143C = 0x8022143C; // type:data rom:0x4884EC +b_area_hos_magikoopa_init_80221478 = 0x80221478; // type:data rom:0x488528 +b_area_hos_magikoopa_defenseTable_802214B4 = 0x802214B4; // type:data rom:0x488564 +b_area_hos_magikoopa_defenseTable_802214C0 = 0x802214C0; // type:data rom:0x488570 +b_area_hos_magikoopa_statusTable_802214CC = 0x802214CC; // type:data rom:0x48857C +b_area_hos_magikoopa_statusTable_80221578 = 0x80221578; // type:data rom:0x488628 +b_area_hos_magikoopa_partsTable_80221624 = 0x80221624; // type:data rom:0x4886D4 +b_area_hos_magikoopa_partsTable_80221648 = 0x80221648; // type:data rom:0x4886F8 +b_area_hos_magikoopa_clone = 0x8022166C; // type:data rom:0x48871C +b_area_hos_magikoopa_flying_clone = 0x80221694; // type:data rom:0x488744 +b_area_hos_magikoopa_vector3D_802216BC = 0x802216BC; // type:data rom:0x48876C +b_area_hos_magikoopa_specialFormation_802216C8 = 0x802216C8; // type:data rom:0x488778 +b_area_hos_magikoopa_specialFormation_802216E4 = 0x802216E4; // type:data rom:0x488794 +b_area_hos_magikoopa_makeCopy = 0x80221700; // type:data rom:0x4887B0 +b_area_hos_magikoopa_boostAttack = 0x80221DC0; // type:data rom:0x488E70 +b_area_hos_magikoopa_boostDefense = 0x80222508; // type:data rom:0x4895B8 +b_area_hos_magikoopa_electrify = 0x80222C50; // type:data rom:0x489D00 +b_area_hos_magikoopa_vanish = 0x802233DC; // type:data rom:0x48A48C +b_area_hos_magikoopa_takeTurn_80223B24 = 0x80223B24; // type:data rom:0x48ABD4 D_80224BB0_48BC60 = 0x80224BB0; // type:data rom:0x48BC60 +b_area_hos_hos_01_beforeBattle_80224BD0 = 0x80224BD0; // type:data rom:0x48BC80 +b_area_hos_hos_01_afterBattle_80225598 = 0x80225598; // type:data rom:0x48C648 +b_area_hos_hos_01_foregroundModelList_802255A8 = 0x802255A8; // type:data rom:0x48C658 +b_area_hos_hos_01 = 0x802255B0; // type:data rom:0x48C660 +b_area_hos_hos_00_802255E0 = 0x802255E0; // type:data rom:0x48C690 +b_area_hos_hos_00_beforeBattle_802256E8 = 0x802256E8; // type:data rom:0x48C798 +b_area_hos_hos_00_afterBattle_8022589C = 0x8022589C; // type:data rom:0x48C94C +b_area_hos_hos_00_foregroundModelList_802258AC = 0x802258AC; // type:data rom:0x48C95C +b_area_hos_hos_00 = 0x802258B8; // type:data rom:0x48C968 +b_area_hos_hos_02_beforeBattle_802258E0 = 0x802258E0; // type:data rom:0x48C990 +b_area_hos_hos_02_afterBattle_80225E20 = 0x80225E20; // type:data rom:0x48CED0 +b_area_hos_hos_02 = 0x80225E30; // type:data rom:0x48CEE0 +b_area_hos_formation_00 = 0x80225E60; // type:data rom:0x48CF10 +b_area_hos_formation_01 = 0x80225E7C; // type:data rom:0x48CF2C +b_area_hos_formation_02 = 0x80225EB4; // type:data rom:0x48CF64 +b_area_hos_formation_03 = 0x80225F08; // type:data rom:0x48CFB8 +b_area_hos_formationTable = 0x80225F24; // type:data rom:0x48CFD4 +b_area_hos_stageTable = 0x80225F88; // type:data rom:0x48D038 D_80225FB0_48D060 = 0x80225FB0; // type:data rom:0x48D060 D_80225FB8_48D068 = 0x80225FB8; // type:data rom:0x48D068 D_80225FC0_48D070 = 0x80225FC0; // type:data rom:0x48D070 @@ -6703,25 +7381,185 @@ D_80225FC8_48D078 = 0x80225FC8; // type:data rom:0x48D078 D_80225FD0_48D080 = 0x80225FD0; // type:data rom:0x48D080 D_80225FD8_48D088 = 0x80225FD8; // type:data rom:0x48D088 D_80225FE0_48D090 = 0x80225FE0; // type:data rom:0x48D090 -b_area_nok_BattleAreaAngleStuff1 = 0x80218000; // type:func rom:0x48D1A0 -b_area_nok_AngleCalculate = 0x8021818C; // type:func rom:0x48D32C -b_area_nok_StartRumbleWithParams = 0x80218280; // type:func rom:0x48D420 -dup_b_area_nok_BattleAreaAngleStuff1 = 0x802182D8; // type:func rom:0x48D478 -dup_b_area_nok_AngleCalculate = 0x80218464; // type:func rom:0x48D604 -dup2_b_area_nok_BattleAreaAngleStuff1 = 0x80218560; // type:func rom:0x48D700 -dup2_b_area_nok_AngleCalculate = 0x802186EC; // type:func rom:0x48D88C -b_area_nok_UnkBattleFunc1 = 0x802187E0; // type:func rom:0x48D980 -b_area_nok_UnkBattleFunc2 = 0x802188B0; // type:func rom:0x48DA50 -b_area_nok_UnkBattleFunc2_2 = 0x80218964; // type:func rom:0x48DB04 -dup_b_area_nok_StartRumbleWithParams = 0x80218A20; // type:func rom:0x48DBC0 -dup_b_area_nok_UnkBattleFunc1 = 0x80218A78; // type:func rom:0x48DC18 -dup2_b_area_nok_StartRumbleWithParams = 0x80218B50; // type:func rom:0x48DCF0 -dup2_b_area_nok_UnkBattleFunc1 = 0x80218BA8; // type:func rom:0x48DD48 +b_area_nok_goomba_BattleAreaAngleStuff1 = 0x80218000; // type:func rom:0x48D1A0 +b_area_nok_goomba_AngleCalculate = 0x8021818C; // type:func rom:0x48D32C +b_area_nok_paragoomba_StartRumbleWithParams = 0x80218280; // type:func rom:0x48D420 +b_area_nok_paragoomba_BattleAreaAngleStuff1 = 0x802182D8; // type:func rom:0x48D478 +b_area_nok_paragoomba_AngleCalculate = 0x80218464; // type:func rom:0x48D604 +b_area_nok_spiked_goomba_BattleAreaAngleStuff1 = 0x80218560; // type:func rom:0x48D700 +b_area_nok_spiked_goomba_AngleCalculate = 0x802186EC; // type:func rom:0x48D88C +b_area_nok_koopa_troopa_UnkBattleFunc1 = 0x802187E0; // type:func rom:0x48D980 +b_area_nok_fuzzy_UnkBattleFunc2 = 0x802188B0; // type:func rom:0x48DA50 +b_area_nok_fuzzy_UnkBattleFunc2_2 = 0x80218964; // type:func rom:0x48DB04 +b_area_nok_paratroopa_StartRumbleWithParams = 0x80218A20; // type:func rom:0x48DBC0 +b_area_nok_paratroopa_UnkBattleFunc1 = 0x80218A78; // type:func rom:0x48DC18 +b_area_nok_kent_c_koopa_StartRumbleWithParams = 0x80218B50; // type:func rom:0x48DCF0 +b_area_nok_kent_c_koopa_UnkBattleFunc1 = 0x80218BA8; // type:func rom:0x48DD48 func_80218C74_48DE14 = 0x80218C74; // type:func rom:0x48DE14 func_80218DF8_48DF98 = 0x80218DF8; // type:func rom:0x48DF98 -b_area_nok_floatTable = 0x8021A2D4; // type:data rom:0x48F474 -dup_b_area_nok_floatTable = 0x8021D57C; // type:data rom:0x49271C -dup2_b_area_nok_floatTable = 0x8021F050; // type:data rom:0x4941F0 +b_area_nok_formation_00 = 0x80218E20; // type:data rom:0x48DFC0 +b_area_nok_formation_01 = 0x80218E58; // type:data rom:0x48DFF8 +b_area_nok_formation_02 = 0x80218E90; // type:data rom:0x48E030 +b_area_nok_formation_03 = 0x80218EC8; // type:data rom:0x48E068 +b_area_nok_formation_04 = 0x80218F00; // type:data rom:0x48E0A0 +b_area_nok_formation_05 = 0x80218F38; // type:data rom:0x48E0D8 +b_area_nok_formation_06 = 0x80218F8C; // type:data rom:0x48E12C +b_area_nok_formation_07 = 0x80218FE0; // type:data rom:0x48E180 +b_area_nok_formation_08 = 0x80219050; // type:data rom:0x48E1F0 +b_area_nok_formation_09 = 0x80219088; // type:data rom:0x48E228 +b_area_nok_formation_0A = 0x802190C0; // type:data rom:0x48E260 +b_area_nok_formation_0B = 0x80219114; // type:data rom:0x48E2B4 +b_area_nok_formation_0C = 0x8021914C; // type:data rom:0x48E2EC +b_area_nok_formation_0D = 0x802191A0; // type:data rom:0x48E340 +b_area_nok_formation_0E = 0x802191F4; // type:data rom:0x48E394 +b_area_nok_formation_0F = 0x80219248; // type:data rom:0x48E3E8 +b_area_nok_formation_10 = 0x8021929C; // type:data rom:0x48E43C +b_area_nok_formation_11 = 0x8021930C; // type:data rom:0x48E4AC +b_area_nok_formation_12 = 0x80219344; // type:data rom:0x48E4E4 +b_area_nok_formation_13 = 0x8021937C; // type:data rom:0x48E51C +b_area_nok_formation_14 = 0x802193D0; // type:data rom:0x48E570 +b_area_nok_formation_15 = 0x80219440; // type:data rom:0x48E5E0 +b_area_nok_formation_16 = 0x8021945C; // type:data rom:0x48E5FC +b_area_nok_formation_17 = 0x80219494; // type:data rom:0x48E634 +b_area_nok_formation_18 = 0x80219504; // type:data rom:0x48E6A4 +b_area_nok_formationTable = 0x80219520; // type:data rom:0x48E6C0 +b_area_nok_stageTable = 0x80219728; // type:data rom:0x48E8C8 +b_area_nok_goomba_defenseTable_80219750 = 0x80219750; // type:data rom:0x48E8F0 +b_area_nok_goomba_statusTable_8021975C = 0x8021975C; // type:data rom:0x48E8FC +b_area_nok_goomba_partsTable_80219808 = 0x80219808; // type:data rom:0x48E9A8 +b_area_nok_goomba = 0x8021982C; // type:data rom:0x48E9CC +b_area_nok_goomba_idleAnimations_80219854 = 0x80219854; // type:data rom:0x48E9F4 +b_area_nok_goomba_idleAnimations_802198A0 = 0x802198A0; // type:data rom:0x48EA40 +b_area_nok_goomba_init_802198EC = 0x802198EC; // type:data rom:0x48EA8C +b_area_nok_goomba_idle_80219938 = 0x80219938; // type:data rom:0x48EAD8 +b_area_nok_goomba_handleEvent_80219C14 = 0x80219C14; // type:data rom:0x48EDB4 +b_area_nok_goomba_floatTable = 0x8021A2D4; // type:data rom:0x48F474 +b_area_nok_goomba_takeTurn_8021A440 = 0x8021A440; // type:data rom:0x48F5E0 +b_area_nok_paragoomba_defenseTable_8021B110 = 0x8021B110; // type:data rom:0x4902B0 +b_area_nok_paragoomba_defenseTable_8021B11C = 0x8021B11C; // type:data rom:0x4902BC +b_area_nok_paragoomba_statusTable_8021B128 = 0x8021B128; // type:data rom:0x4902C8 +b_area_nok_paragoomba_statusTable_8021B1D4 = 0x8021B1D4; // type:data rom:0x490374 +b_area_nok_paragoomba_partsTable_8021B280 = 0x8021B280; // type:data rom:0x490420 +b_area_nok_paragoomba = 0x8021B310; // type:data rom:0x4904B0 +b_area_nok_paragoomba_idleAnimations_8021B338 = 0x8021B338; // type:data rom:0x4904D8 +b_area_nok_paragoomba_idleAnimations_8021B384 = 0x8021B384; // type:data rom:0x490524 +b_area_nok_paragoomba_idleAnimations_8021B3D0 = 0x8021B3D0; // type:data rom:0x490570 +b_area_nok_paragoomba_idleAnimations_8021B3DC = 0x8021B3DC; // type:data rom:0x49057C +b_area_nok_paragoomba_init_8021B3E8 = 0x8021B3E8; // type:data rom:0x490588 +b_area_nok_paragoomba_idle_8021B434 = 0x8021B434; // type:data rom:0x4905D4 +b_area_nok_paragoomba_8021B6F0 = 0x8021B6F0; // type:data rom:0x490890 +b_area_nok_paragoomba_handleEvent_8021B768 = 0x8021B768; // type:data rom:0x490908 +b_area_nok_paragoomba_takeTurn_8021BD5C = 0x8021BD5C; // type:data rom:0x490EFC +b_area_nok_paragoomba_8021C574 = 0x8021C574; // type:data rom:0x491714 +b_area_nok_paragoomba_idleAnimations_8021CAFC = 0x8021CAFC; // type:data rom:0x491C9C +b_area_nok_paragoomba_idleAnimations_8021CB48 = 0x8021CB48; // type:data rom:0x491CE8 +b_area_nok_paragoomba_8021CB94 = 0x8021CB94; // type:data rom:0x491D34 +b_area_nok_paragoomba_idle_8021CBE0 = 0x8021CBE0; // type:data rom:0x491D80 +b_area_nok_paragoomba_handleEvent_8021CEBC = 0x8021CEBC; // type:data rom:0x49205C +b_area_nok_paragoomba_floatTable = 0x8021D57C; // type:data rom:0x49271C +b_area_nok_paragoomba_takeTurn_8021D6E8 = 0x8021D6E8; // type:data rom:0x492888 +b_area_nok_spiked_goomba_defenseTable_8021E3B0 = 0x8021E3B0; // type:data rom:0x493550 +b_area_nok_spiked_goomba_statusTable_8021E3BC = 0x8021E3BC; // type:data rom:0x49355C +b_area_nok_spiked_goomba_partsTable_8021E468 = 0x8021E468; // type:data rom:0x493608 +b_area_nok_spiked_goomba = 0x8021E48C; // type:data rom:0x49362C +b_area_nok_spiked_goomba_idleAnimations_8021E4B4 = 0x8021E4B4; // type:data rom:0x493654 +b_area_nok_spiked_goomba_idleAnimations_8021E500 = 0x8021E500; // type:data rom:0x4936A0 +b_area_nok_spiked_goomba_init_8021E54C = 0x8021E54C; // type:data rom:0x4936EC +b_area_nok_spiked_goomba_idle_8021E598 = 0x8021E598; // type:data rom:0x493738 +b_area_nok_spiked_goomba_handleEvent_8021E874 = 0x8021E874; // type:data rom:0x493A14 +b_area_nok_spiked_goomba_floatTable = 0x8021F050; // type:data rom:0x4941F0 +b_area_nok_spiked_goomba_takeTurn_8021F1BC = 0x8021F1BC; // type:data rom:0x49435C +b_area_nok_koopa_troopa_defenseTable_8021FEE0 = 0x8021FEE0; // type:data rom:0x495080 +b_area_nok_koopa_troopa_defenseTable_8021FF0C = 0x8021FF0C; // type:data rom:0x4950AC +b_area_nok_koopa_troopa_statusTable_8021FF18 = 0x8021FF18; // type:data rom:0x4950B8 +b_area_nok_koopa_troopa_partsTable_8021FFC4 = 0x8021FFC4; // type:data rom:0x495164 +b_area_nok_koopa_troopa = 0x8021FFE8; // type:data rom:0x495188 +b_area_nok_koopa_troopa_idleAnimations_80220010 = 0x80220010; // type:data rom:0x4951B0 +b_area_nok_koopa_troopa_idleAnimations_8022005C = 0x8022005C; // type:data rom:0x4951FC +b_area_nok_koopa_troopa_idleAnimations_802200A8 = 0x802200A8; // type:data rom:0x495248 +b_area_nok_koopa_troopa_init_802200F4 = 0x802200F4; // type:data rom:0x495294 +b_area_nok_koopa_troopa_80220158 = 0x80220158; // type:data rom:0x4952F8 +b_area_nok_koopa_troopa_idle_802202B0 = 0x802202B0; // type:data rom:0x495450 +b_area_nok_koopa_troopa_D_80220740 = 0x80220740; // type:data rom:0x4958E0 +b_area_nok_koopa_troopa_handleEvent_80220798 = 0x80220798; // type:data rom:0x495938 +b_area_nok_koopa_troopa_takeTurn_8022131C = 0x8022131C; // type:data rom:0x4964BC +b_area_nok_fuzzy_defenseTable_80222050 = 0x80222050; // type:data rom:0x4971F0 +b_area_nok_fuzzy_statusTable_8022205C = 0x8022205C; // type:data rom:0x4971FC +b_area_nok_fuzzy_partsTable_80222108 = 0x80222108; // type:data rom:0x4972A8 +b_area_nok_fuzzy = 0x8022212C; // type:data rom:0x4972CC +b_area_nok_fuzzy_idleAnimations_80222154 = 0x80222154; // type:data rom:0x4972F4 +b_area_nok_fuzzy_init_802221A0 = 0x802221A0; // type:data rom:0x497340 +b_area_nok_fuzzy_idle_802221EC = 0x802221EC; // type:data rom:0x49738C +b_area_nok_fuzzy_handleEvent_802221FC = 0x802221FC; // type:data rom:0x49739C +b_area_nok_fuzzy_takeTurn_80222860 = 0x80222860; // type:data rom:0x497A00 +b_area_nok_paratroopa_defenseTable_80223900 = 0x80223900; // type:data rom:0x498AA0 +b_area_nok_paratroopa_defenseTable_8022392C = 0x8022392C; // type:data rom:0x498ACC +b_area_nok_paratroopa_defenseTable_80223938 = 0x80223938; // type:data rom:0x498AD8 +b_area_nok_paratroopa_statusTable_80223944 = 0x80223944; // type:data rom:0x498AE4 +b_area_nok_paratroopa_statusTable_802239F0 = 0x802239F0; // type:data rom:0x498B90 +b_area_nok_paratroopa_partsTable_80223A9C = 0x80223A9C; // type:data rom:0x498C3C +b_area_nok_paratroopa = 0x80223B08; // type:data rom:0x498CA8 +b_area_nok_paratroopa_idleAnimations_80223B30 = 0x80223B30; // type:data rom:0x498CD0 +b_area_nok_paratroopa_idleAnimations_80223B7C = 0x80223B7C; // type:data rom:0x498D1C +b_area_nok_paratroopa_idleAnimations_80223BC8 = 0x80223BC8; // type:data rom:0x498D68 +b_area_nok_paratroopa_nextTurn_80223C14 = 0x80223C14; // type:data rom:0x498DB4 +b_area_nok_paratroopa_init_80223C3C = 0x80223C3C; // type:data rom:0x498DDC +b_area_nok_paratroopa_80223CB4 = 0x80223CB4; // type:data rom:0x498E54 +b_area_nok_paratroopa_idle_80223D8C = 0x80223D8C; // type:data rom:0x498F2C +b_area_nok_paratroopa_8022409C = 0x8022409C; // type:data rom:0x49923C +b_area_nok_paratroopa_handleEvent_8022411C = 0x8022411C; // type:data rom:0x4992BC +b_area_nok_paratroopa_takeTurn_80224854 = 0x80224854; // type:data rom:0x4999F4 +b_area_nok_paratroopa_8022530C = 0x8022530C; // type:data rom:0x49A4AC +b_area_nok_paratroopa_idleAnimations_802258D0 = 0x802258D0; // type:data rom:0x49AA70 +b_area_nok_paratroopa_idleAnimations_8022591C = 0x8022591C; // type:data rom:0x49AABC +b_area_nok_paratroopa_idleAnimations_80225968 = 0x80225968; // type:data rom:0x49AB08 +b_area_nok_paratroopa_802259B4 = 0x802259B4; // type:data rom:0x49AB54 +b_area_nok_paratroopa_80225A18 = 0x80225A18; // type:data rom:0x49ABB8 +b_area_nok_paratroopa_idle_80225B70 = 0x80225B70; // type:data rom:0x49AD10 +b_area_nok_paratroopa_intTable_80226000 = 0x80226000; // type:data rom:0x49B1A0 +b_area_nok_paratroopa_handleEvent_80226058 = 0x80226058; // type:data rom:0x49B1F8 +b_area_nok_paratroopa_takeTurn_80226BDC = 0x80226BDC; // type:data rom:0x49BD7C +b_area_nok_kent_c_koopa_intTable_80227910 = 0x80227910; // type:data rom:0x49CAB0 +b_area_nok_kent_c_koopa_idleAnimations_80227968 = 0x80227968; // type:data rom:0x49CB08 +b_area_nok_kent_c_koopa_idleAnimations_802279B4 = 0x802279B4; // type:data rom:0x49CB54 +b_area_nok_kent_c_koopa_idleAnimations_802279D0 = 0x802279D0; // type:data rom:0x49CB70 +b_area_nok_kent_c_koopa_defenseTable_802279DC = 0x802279DC; // type:data rom:0x49CB7C +b_area_nok_kent_c_koopa_defenseTable_802279F0 = 0x802279F0; // type:data rom:0x49CB90 +b_area_nok_kent_c_koopa_defenseTable_802279FC = 0x802279FC; // type:data rom:0x49CB9C +b_area_nok_kent_c_koopa_statusTable_80227A08 = 0x80227A08; // type:data rom:0x49CBA8 +b_area_nok_kent_c_koopa_partsTable_80227AB4 = 0x80227AB4; // type:data rom:0x49CC54 +b_area_nok_kent_c_koopa = 0x80227BF8; // type:data rom:0x49CD98 +b_area_nok_kent_c_koopa_init_80227C20 = 0x80227C20; // type:data rom:0x49CDC0 +b_area_nok_kent_c_koopa_nextTurn_80227D2C = 0x80227D2C; // type:data rom:0x49CECC +b_area_nok_kent_c_koopa_idle_80227DD4 = 0x80227DD4; // type:data rom:0x49CF74 +b_area_nok_kent_c_koopa_handleEvent_80227E08 = 0x80227E08; // type:data rom:0x49CFA8 +b_area_nok_kent_c_koopa_takeTurn_80228A7C = 0x80228A7C; // type:data rom:0x49DC1C +b_area_nok_kent_c_koopa_shellToss_KentC = 0x802291A4; // type:data rom:0x49E344 +b_area_nok_kent_c_koopa_tackle_KentC = 0x8022A0D0; // type:data rom:0x49F270 +b_area_nok_kent_c_koopa_8022AD84 = 0x8022AD84; // type:data rom:0x49FF24 +b_area_nok_kent_c_koopa_flipOver_KentC = 0x8022ADC0; // type:data rom:0x49FF60 +b_area_nok_kent_c_koopa_8022B158 = 0x8022B158; // type:data rom:0x4A02F8 +b_area_nok_kent_c_koopa_8022B204 = 0x8022B204; // type:data rom:0x4A03A4 +b_area_nok_kent_c_koopa_8022B2E8 = 0x8022B2E8; // type:data rom:0x4A0488 +b_area_nok_kent_c_koopa_8022B444 = 0x8022B444; // type:data rom:0x4A05E4 +b_area_nok_nok_01_8022B5F0 = 0x8022B5F0; // type:data rom:0x4A0790 +b_area_nok_nok_01_beforeBattle_8022B6F8 = 0x8022B6F8; // type:data rom:0x4A0898 +b_area_nok_nok_01_afterBattle_8022B7C0 = 0x8022B7C0; // type:data rom:0x4A0960 +b_area_nok_nok_01_foregroundModelList_8022B7D0 = 0x8022B7D0; // type:data rom:0x4A0970 +b_area_nok_nok_01 = 0x8022B7E0; // type:data rom:0x4A0980 +b_area_nok_nok_02_8022B810 = 0x8022B810; // type:data rom:0x4A09B0 +b_area_nok_nok_02_beforeBattle_8022B918 = 0x8022B918; // type:data rom:0x4A0AB8 +b_area_nok_nok_02_afterBattle_8022BACC = 0x8022BACC; // type:data rom:0x4A0C6C +b_area_nok_nok_02_foregroundModelList_8022BADC = 0x8022BADC; // type:data rom:0x4A0C7C +b_area_nok_nok_02 = 0x8022BAEC; // type:data rom:0x4A0C8C +b_area_nok_nok_03_beforeBattle_8022BB20 = 0x8022BB20; // type:data rom:0x4A0CC0 +b_area_nok_nok_03_afterBattle_8022BB40 = 0x8022BB40; // type:data rom:0x4A0CE0 +b_area_nok_nok_03_foregroundModelList_8022BB50 = 0x8022BB50; // type:data rom:0x4A0CF0 +b_area_nok_nok_03 = 0x8022BB5C; // type:data rom:0x4A0CFC +b_area_nok_nok_04_beforeBattle_8022BB90 = 0x8022BB90; // type:data rom:0x4A0D30 +b_area_nok_nok_04_afterBattle_8022BBB0 = 0x8022BBB0; // type:data rom:0x4A0D50 +b_area_nok_nok_04_foregroundModelList_8022BBC0 = 0x8022BBC0; // type:data rom:0x4A0D60 +b_area_nok_nok_04 = 0x8022BBD8; // type:data rom:0x4A0D78 func_80218000_4A10A0 = 0x80218000; // type:func rom:0x4A10A0 b_area_trd_part_1_UnkBattleFunc1 = 0x80218020; // type:func rom:0x4A10C0 b_area_trd_part_1_StartRumbleWithParams = 0x802180F0; // type:func rom:0x4A1190 @@ -8371,6 +9209,7 @@ ShopResetSpeech = 0x80283EE0; // type:data rom:0x7E4D60 ShopEndSpeech = 0x80283F2C; // type:data rom:0x7E4DAC D_80283F58_7E4DD8 = 0x80283F58; // type:data rom:0x7E4DD8 BadgeShopInteract = 0x80284034; // type:data rom:0x7E4EB4 +D_80284054_7E4ED4 = 0x80284054; // type:data rom:0x7E4ED4 func_80240000_7E73A0 = 0x80240000; // type:func rom:0x7E73A0 machi_UnkFunc36 = 0x80240030; // type:func rom:0x7E73D0 func_80240038_7E73D8 = 0x80240038; // type:func rom:0x7E73D8 @@ -10570,8 +11409,9 @@ dro_02_D_80248CDC_971E9C = 0x80248CDC; // type:data rom:0x971E9C dro_02_D_80248D08_971EC8 = 0x80248D08; // type:data rom:0x971EC8 dro_02_D_80248D34_971EF4 = 0x80248D34; // type:data rom:0x971EF4 dro_02_D_80248D60_971F20 = 0x80248D60; // type:data rom:0x971F20 -dro_02_D_80248DD8_971F98 = 0x80248DD8; // type:data rom:0x971F98 -dro_02_D_802490F8_9722B8 = 0x802490F8; // type:data rom:0x9722B8 +dro_02_D_80248D8C_971F4C = 0x80248D8C; // type:data rom:0x971F4C +vtx_971F98 = 0x80248DD8; // type:data rom:0x971F98 +vtx_9722B8 = 0x802490F8; // type:data rom:0x9722B8 dro_02_D_8024A3B8_973578 = 0x8024A3B8; // type:data rom:0x973578 dro_02_image2 = 0x8024A520; // type:data rom:0x9736E0 dro_02_8024AC14 = 0x8024AC14; // type:data rom:0x973DD4 @@ -10632,14 +11472,14 @@ isk_04_SwitchToPartner = 0x80240930; // type:func rom:0x97BF60 func_8024095C_97BF8C = 0x8024095C; // type:func rom:0x97BF8C D_80242288_97D8B8 = 0x80242288; // type:data rom:0x97D8B8 D_80242430_97DA60 = 0x80242430; // type:data rom:0x97DA60 -func_80240000_97DAD0 = 0x80240000; // type:func rom:0x97DAD0 -func_80240230_97DD00 = 0x80240230; // type:func rom:0x97DD00 +isk_05_UnkNpcAIFunc36 = 0x80240000; // type:func rom:0x97DAD0 +isk_05_UnkNpcAIFunc37 = 0x80240230; // type:func rom:0x97DD00 isk_05_UnkNpcAIFunc1 = 0x80240568; // type:func rom:0x97E038 -func_80240628_97E0F8 = 0x80240628; // type:func rom:0x97E0F8 +isk_05_UnkNpcAIFunc38 = 0x80240628; // type:func rom:0x97E0F8 isk_05_UnkNpcAIFunc15 = 0x802407CC; // type:func rom:0x97E29C -func_802408AC_97E37C = 0x802408AC; // type:func rom:0x97E37C +isk_05_UnkNpcAIFunc39 = 0x802408AC; // type:func rom:0x97E37C isk_05_UnkDurationCheck = 0x80240BAC; // type:func rom:0x97E67C -func_80240BF0_97E6C0 = 0x80240BF0; // type:func rom:0x97E6C0 +isk_05_UnkNpcAIMainFunc2 = 0x80240BF0; // type:func rom:0x97E6C0 func_80240E14_97E8E4 = 0x80240E14; // type:func rom:0x97E8E4 func_80240EA8_97E978 = 0x80240EA8; // type:func rom:0x97E978 func_80240F3C_97EA0C = 0x80240F3C; // type:func rom:0x97EA0C @@ -10707,14 +11547,14 @@ D_80241EA8_98AA08 = 0x80241EA8; // type:data rom:0x98AA08 func_80240000_98AA10 = 0x80240000; // type:func rom:0x98AA10 func_802400B0_98AAC0 = 0x802400B0; // type:func rom:0x98AAC0 isk_11_SetEntityFlags100000 = 0x80240120; // type:func rom:0x98AB30 -func_80240000_98F7E0 = 0x80240000; // type:func rom:0x98F7E0 -func_80240230_98FA10 = 0x80240230; // type:func rom:0x98FA10 +isk_13_UnkNpcAIFunc36 = 0x80240000; // type:func rom:0x98F7E0 +isk_13_UnkNpcAIFunc37 = 0x80240230; // type:func rom:0x98FA10 isk_13_UnkNpcAIFunc1 = 0x80240568; // type:func rom:0x98FD48 -func_80240628_98FE08 = 0x80240628; // type:func rom:0x98FE08 +isk_13_UnkNpcAIFunc38 = 0x80240628; // type:func rom:0x98FE08 isk_13_UnkNpcAIFunc15 = 0x802407CC; // type:func rom:0x98FFAC -func_802408AC_99008C = 0x802408AC; // type:func rom:0x99008C +isk_13_UnkNpcAIFunc39 = 0x802408AC; // type:func rom:0x99008C isk_13_UnkDurationCheck = 0x80240BAC; // type:func rom:0x99038C -func_80240BF0_9903D0 = 0x80240BF0; // type:func rom:0x9903D0 +isk_13_UnkNpcAIMainFunc2 = 0x80240BF0; // type:func rom:0x9903D0 func_80240E14_9905F4 = 0x80240E14; // type:func rom:0x9905F4 func_80240EA8_990688 = 0x80240EA8; // type:func rom:0x990688 func_80240F3C_99071C = 0x80240F3C; // type:func rom:0x99071C @@ -10731,14 +11571,14 @@ func_80242044_991824 = 0x80242044; // type:func rom:0x991824 D_80242EB0_992690 = 0x80242EB0; // type:data rom:0x992690 D_80242F38_992718 = 0x80242F38; // type:data rom:0x992718 D_80242F40_992720 = 0x80242F40; // type:data rom:0x992720 -func_80240000_992730 = 0x80240000; // type:func rom:0x992730 -func_80240230_992960 = 0x80240230; // type:func rom:0x992960 +isk_14_UnkNpcAIFunc36 = 0x80240000; // type:func rom:0x992730 +isk_14_UnkNpcAIFunc37 = 0x80240230; // type:func rom:0x992960 isk_14_UnkNpcAIFunc1 = 0x80240568; // type:func rom:0x992C98 -func_80240628_992D58 = 0x80240628; // type:func rom:0x992D58 +isk_14_UnkNpcAIFunc38 = 0x80240628; // type:func rom:0x992D58 isk_14_UnkNpcAIFunc15 = 0x802407CC; // type:func rom:0x992EFC -func_802408AC_992FDC = 0x802408AC; // type:func rom:0x992FDC +isk_14_UnkNpcAIFunc39 = 0x802408AC; // type:func rom:0x992FDC isk_14_UnkDurationCheck = 0x80240BAC; // type:func rom:0x9932DC -func_80240BF0_993320 = 0x80240BF0; // type:func rom:0x993320 +isk_14_UnkNpcAIMainFunc2 = 0x80240BF0; // type:func rom:0x993320 func_80240E14_993544 = 0x80240E14; // type:func rom:0x993544 func_80240EA8_9935D8 = 0x80240EA8; // type:func rom:0x9935D8 func_80240F3C_99366C = 0x80240F3C; // type:func rom:0x99366C @@ -11138,14 +11978,14 @@ D_8025279C_9E97BC = 0x8025279C; // type:data rom:0x9E97BC D_802529B4_9E99D4 = 0x802529B4; // type:data rom:0x9E99D4 D_80254620_9EB640 = 0x80254620; // type:data rom:0x9EB640 D_80254628_9EB648 = 0x80254628; // type:data rom:0x9EB648 -func_80240000_9EB7F0 = 0x80240000; // type:func rom:0x9EB7F0 -func_80240230_9EBA20 = 0x80240230; // type:func rom:0x9EBA20 +nok_03_UnkNpcAIFunc36 = 0x80240000; // type:func rom:0x9EB7F0 +nok_03_UnkNpcAIFunc37 = 0x80240230; // type:func rom:0x9EBA20 nok_03_UnkNpcAIFunc1 = 0x80240568; // type:func rom:0x9EBD58 -func_80240628_9EBE18 = 0x80240628; // type:func rom:0x9EBE18 +nok_03_UnkNpcAIFunc38 = 0x80240628; // type:func rom:0x9EBE18 nok_03_UnkNpcAIFunc15 = 0x802407CC; // type:func rom:0x9EBFBC -func_802408AC_9EC09C = 0x802408AC; // type:func rom:0x9EC09C +nok_03_UnkNpcAIFunc39 = 0x802408AC; // type:func rom:0x9EC09C nok_03_UnkDurationCheck = 0x80240BAC; // type:func rom:0x9EC39C -func_80240BF0_9EC3E0 = 0x80240BF0; // type:func rom:0x9EC3E0 +nok_03_UnkNpcAIMainFunc2 = 0x80240BF0; // type:func rom:0x9EC3E0 D_802423B0_9EDBA0 = 0x802423B0; // type:data rom:0x9EDBA0 nok_04_UnkFunc41 = 0x80240000; // type:func rom:0x9EDBF0 nok_04_UnkFloatFunc = 0x80240184; // type:func rom:0x9EDD74 @@ -11231,14 +12071,14 @@ D_80245A14_A00204 = 0x80245A14; // type:data rom:0xA00204 D_80245A70_A00260 = 0x80245A70; // type:data rom:0xA00260 D_80245AD0_A002C0 = 0x80245AD0; // type:data rom:0xA002C0 D_80245AD8_A002C8 = 0x80245AD8; // type:data rom:0xA002C8 -func_80240000_A00600 = 0x80240000; // type:func rom:0xA00600 -func_80240230_A00830 = 0x80240230; // type:func rom:0xA00830 +nok_13_UnkNpcAIFunc36 = 0x80240000; // type:func rom:0xA00600 +nok_13_UnkNpcAIFunc37 = 0x80240230; // type:func rom:0xA00830 nok_13_UnkNpcAIFunc1 = 0x80240568; // type:func rom:0xA00B68 -func_80240628_A00C28 = 0x80240628; // type:func rom:0xA00C28 +nok_13_UnkNpcAIFunc38 = 0x80240628; // type:func rom:0xA00C28 nok_13_UnkNpcAIFunc15 = 0x802407CC; // type:func rom:0xA00DCC -func_802408AC_A00EAC = 0x802408AC; // type:func rom:0xA00EAC +nok_13_UnkNpcAIFunc39 = 0x802408AC; // type:func rom:0xA00EAC nok_13_UnkDurationCheck = 0x80240BAC; // type:func rom:0xA011AC -func_80240BF0_A011F0 = 0x80240BF0; // type:func rom:0xA011F0 +nok_13_UnkNpcAIMainFunc2 = 0x80240BF0; // type:func rom:0xA011F0 func_80240E20_A01420 = 0x80240E20; // type:func rom:0xA01420 func_80241360_A01960 = 0x80241360; // type:func rom:0xA01960 func_802413CC_A019CC = 0x802413CC; // type:func rom:0xA019CC @@ -12594,14 +13434,14 @@ D_80245958_B25E98 = 0x80245958; // type:data rom:0xB25E98 jan_01_UnkTexturePanFunc = 0x80240000; // type:func rom:0xB28030 jan_01_UnkTexturePanFunc2 = 0x80240124; // type:func rom:0xB28154 func_8024030C_B2833C = 0x8024030C; // type:func rom:0xB2833C -func_80240340_B28370 = 0x80240340; // type:func rom:0xB28370 -func_80240570_B285A0 = 0x80240570; // type:func rom:0xB285A0 +jan_01_UnkNpcAIFunc36 = 0x80240340; // type:func rom:0xB28370 +jan_01_UnkNpcAIFunc37 = 0x80240570; // type:func rom:0xB285A0 jan_01_UnkNpcAIFunc1 = 0x802408A8; // type:func rom:0xB288D8 -func_80240968_B28998 = 0x80240968; // type:func rom:0xB28998 +jan_01_UnkNpcAIFunc38 = 0x80240968; // type:func rom:0xB28998 jan_01_UnkNpcAIFunc15 = 0x80240B0C; // type:func rom:0xB28B3C -func_80240BEC_B28C1C = 0x80240BEC; // type:func rom:0xB28C1C +jan_01_UnkNpcAIFunc39 = 0x80240BEC; // type:func rom:0xB28C1C jan_01_UnkDurationCheck = 0x80240EEC; // type:func rom:0xB28F1C -func_80240F30_B28F60 = 0x80240F30; // type:func rom:0xB28F60 +jan_01_UnkNpcAIMainFunc2 = 0x80240F30; // type:func rom:0xB28F60 jan_01_SetCamera0Flag1000 = 0x80241154; // type:func rom:0xB29184 jan_01_UnsetCamera0Flag1000 = 0x80241170; // type:func rom:0xB291A0 jan_01_foliage_setup_shear_mtx = 0x80241190; // type:func rom:0xB291C0 @@ -12781,14 +13621,14 @@ jan_05_TransformFoliage = 0x80240510; // type:func rom:0xB4AF80 func_802406DC_B4B14C = 0x802406DC; // type:func rom:0xB4B14C func_80240738_B4B1A8 = 0x80240738; // type:func rom:0xB4B1A8 func_802407F0_B4B260 = 0x802407F0; // type:func rom:0xB4B260 -func_802408A4_B4B314 = 0x802408A4; // type:func rom:0xB4B314 -func_80240AD4_B4B544 = 0x80240AD4; // type:func rom:0xB4B544 +jan_05_UnkNpcAIFunc36 = 0x802408A4; // type:func rom:0xB4B314 +jan_05_UnkNpcAIFunc37 = 0x80240AD4; // type:func rom:0xB4B544 jan_05_UnkNpcAIFunc1 = 0x80240E0C; // type:func rom:0xB4B87C -func_80240ECC_B4B93C = 0x80240ECC; // type:func rom:0xB4B93C +jan_05_UnkNpcAIFunc38 = 0x80240ECC; // type:func rom:0xB4B93C jan_05_UnkNpcAIFunc15 = 0x80241070; // type:func rom:0xB4BAE0 -func_80241150_B4BBC0 = 0x80241150; // type:func rom:0xB4BBC0 +jan_05_UnkNpcAIFunc39 = 0x80241150; // type:func rom:0xB4BBC0 jan_05_UnkDurationCheck = 0x80241450; // type:func rom:0xB4BEC0 -func_80241494_B4BF04 = 0x80241494; // type:func rom:0xB4BF04 +jan_05_UnkNpcAIMainFunc2 = 0x80241494; // type:func rom:0xB4BF04 jan_05_UnkNpcAIFunc4 = 0x802416B8; // type:func rom:0xB4C128 jan_05_UnkNpcAIFunc29 = 0x80241708; // type:func rom:0xB4C178 jan_05_UnkNpcAIFunc6 = 0x802418CC; // type:func rom:0xB4C33C @@ -12811,14 +13651,14 @@ func_80240310_B52B40 = 0x80240310; // type:func rom:0xB52B40 func_802403B0_B52BE0 = 0x802403B0; // type:func rom:0xB52BE0 jan_06_foliage_setup_shear_mtx = 0x80240500; // type:func rom:0xB52D30 jan_06_TransformFoliage = 0x80240570; // type:func rom:0xB52DA0 -func_80240740_B52F70 = 0x80240740; // type:func rom:0xB52F70 -func_80240970_B531A0 = 0x80240970; // type:func rom:0xB531A0 +jan_06_UnkNpcAIFunc36 = 0x80240740; // type:func rom:0xB52F70 +jan_06_UnkNpcAIFunc37 = 0x80240970; // type:func rom:0xB531A0 jan_06_UnkNpcAIFunc1 = 0x80240CA8; // type:func rom:0xB534D8 -btl_delete_player_actor_B53598 = 0x80240D68; // type:func rom:0xB53598 +jan_06_UnkNpcAIFunc38 = 0x80240D68; // type:func rom:0xB53598 jan_06_UnkNpcAIFunc15 = 0x80240F0C; // type:func rom:0xB5373C -func_80240FEC_B5381C = 0x80240FEC; // type:func rom:0xB5381C +jan_06_UnkNpcAIFunc39 = 0x80240FEC; // type:func rom:0xB5381C jan_06_UnkDurationCheck = 0x802412EC; // type:func rom:0xB53B1C -func_80241330_B53B60 = 0x80241330; // type:func rom:0xB53B60 +jan_06_UnkNpcAIMainFunc2 = 0x80241330; // type:func rom:0xB53B60 func_80241554_B53D84 = 0x80241554; // type:func rom:0xB53D84 jan_06_UnkNpcAIFunc4 = 0x80241608; // type:func rom:0xB53E38 jan_06_UnkNpcAIFunc29 = 0x80241658; // type:func rom:0xB53E88 @@ -12920,14 +13760,14 @@ D_80246590_B6C040 = 0x80246590; // type:data rom:0xB6C040 D_802465B8_B6C068 = 0x802465B8; // type:data rom:0xB6C068 jan_10_UnkTexturePanFunc = 0x80240000; // type:func rom:0xB6C390 jan_10_UnkTexturePanFunc2 = 0x80240124; // type:func rom:0xB6C4B4 -func_80240310_B6C6A0 = 0x80240310; // type:func rom:0xB6C6A0 -func_80240540_B6C8D0 = 0x80240540; // type:func rom:0xB6C8D0 +jan_10_UnkNpcAIFunc36 = 0x80240310; // type:func rom:0xB6C6A0 +jan_10_UnkNpcAIFunc37 = 0x80240540; // type:func rom:0xB6C8D0 jan_10_UnkNpcAIFunc1 = 0x80240878; // type:func rom:0xB6CC08 -func_80240938_B6CCC8 = 0x80240938; // type:func rom:0xB6CCC8 +jan_10_UnkNpcAIFunc38 = 0x80240938; // type:func rom:0xB6CCC8 jan_10_UnkNpcAIFunc15 = 0x80240ADC; // type:func rom:0xB6CE6C -btl_delete_actor_B6CF4C = 0x80240BBC; // type:func rom:0xB6CF4C +jan_10_UnkNpcAIFunc39 = 0x80240BBC; // type:func rom:0xB6CF4C jan_10_UnkDurationCheck = 0x80240EBC; // type:func rom:0xB6D24C -func_80240F00_B6D290 = 0x80240F00; // type:func rom:0xB6D290 +jan_10_UnkNpcAIMainFunc2 = 0x80240F00; // type:func rom:0xB6D290 func_80241130_B6D4C0 = 0x80241130; // type:func rom:0xB6D4C0 jan_10_foliage_setup_shear_mtx = 0x80241280; // type:func rom:0xB6D610 jan_10_TransformFoliage = 0x802412F0; // type:func rom:0xB6D680 @@ -12980,14 +13820,14 @@ func_80240170_B7A1C0 = 0x80240170; // type:func rom:0xB7A1C0 func_802401CC_B7A21C = 0x802401CC; // type:func rom:0xB7A21C jan_14_foliage_setup_shear_mtx = 0x80240280; // type:func rom:0xB7A2D0 jan_14_TransformFoliage = 0x802402F0; // type:func rom:0xB7A340 -func_802404C0_B7A510 = 0x802404C0; // type:func rom:0xB7A510 -func_802406F0_B7A740 = 0x802406F0; // type:func rom:0xB7A740 +jan_14_UnkNpcAIFunc36 = 0x802404C0; // type:func rom:0xB7A510 +jan_14_UnkNpcAIFunc37 = 0x802406F0; // type:func rom:0xB7A740 jan_14_UnkNpcAIFunc1 = 0x80240A28; // type:func rom:0xB7AA78 -func_80240AE8_B7AB38 = 0x80240AE8; // type:func rom:0xB7AB38 +jan_14_UnkNpcAIFunc38 = 0x80240AE8; // type:func rom:0xB7AB38 jan_14_UnkNpcAIFunc15 = 0x80240C8C; // type:func rom:0xB7ACDC -func_80240D6C_B7ADBC = 0x80240D6C; // type:func rom:0xB7ADBC +jan_14_UnkNpcAIFunc39 = 0x80240D6C; // type:func rom:0xB7ADBC jan_14_UnkDurationCheck = 0x8024106C; // type:func rom:0xB7B0BC -func_802410B0_B7B100 = 0x802410B0; // type:func rom:0xB7B100 +jan_14_UnkNpcAIMainFunc2 = 0x802410B0; // type:func rom:0xB7B100 D_80243870_B7D8C0 = 0x80243870; // type:data rom:0xB7D8C0 D_80243880_B7D8D0 = 0x80243880; // type:data rom:0xB7D8D0 func_80240000_B7D920 = 0x80240000; // type:func rom:0xB7D920 @@ -13056,14 +13896,14 @@ D_802447A0_B97BE0 = 0x802447A0; // type:data rom:0xB97BE0 D_802447A8_B97BE8 = 0x802447A8; // type:data rom:0xB97BE8 D_802447B0_B97BF0 = 0x802447B0; // type:data rom:0xB97BF0 mim_02_SetForeverForestFog = 0x80240000; // type:func rom:0xB97C00 -func_80240070_B97C70 = 0x80240070; // type:func rom:0xB97C70 -func_802402A0_B97EA0 = 0x802402A0; // type:func rom:0xB97EA0 +mim_02_UnkNpcAIFunc36 = 0x80240070; // type:func rom:0xB97C70 +mim_02_UnkNpcAIFunc37 = 0x802402A0; // type:func rom:0xB97EA0 mim_02_UnkNpcAIFunc1 = 0x802405D8; // type:func rom:0xB981D8 -func_80240698_B98298 = 0x80240698; // type:func rom:0xB98298 +mim_02_UnkNpcAIFunc38 = 0x80240698; // type:func rom:0xB98298 mim_02_UnkNpcAIFunc15 = 0x8024083C; // type:func rom:0xB9843C -func_8024091C_B9851C = 0x8024091C; // type:func rom:0xB9851C +mim_02_UnkNpcAIFunc39 = 0x8024091C; // type:func rom:0xB9851C mim_02_UnkDurationCheck = 0x80240C1C; // type:func rom:0xB9881C -func_80240C60_B98860 = 0x80240C60; // type:func rom:0xB98860 +mim_02_UnkNpcAIMainFunc2 = 0x80240C60; // type:func rom:0xB98860 mim_02_GetNpcCollisionHeight = 0x80240E84; // type:func rom:0xB98A84 mim_02_AddPlayerHandsOffset = 0x80240EE0; // type:func rom:0xB98AE0 func_802410B0_B98CB0 = 0x802410B0; // type:func rom:0xB98CB0 @@ -13079,14 +13919,14 @@ func_80240420_B9B8A0 = 0x80240420; // type:func rom:0xB9B8A0 mim_04_SetForeverForestFog = 0x80240000; // type:func rom:0xB9D960 func_80240070_B9D9D0 = 0x80240070; // type:func rom:0xB9D9D0 func_802401DC_B9DB3C = 0x802401DC; // type:func rom:0xB9DB3C -func_80240200_B9DB60 = 0x80240200; // type:func rom:0xB9DB60 -func_80240430_B9DD90 = 0x80240430; // type:func rom:0xB9DD90 +mim_04_UnkNpcAIFunc36 = 0x80240200; // type:func rom:0xB9DB60 +mim_04_UnkNpcAIFunc37 = 0x80240430; // type:func rom:0xB9DD90 mim_04_UnkNpcAIFunc1 = 0x80240768; // type:func rom:0xB9E0C8 -func_80240828_B9E188 = 0x80240828; // type:func rom:0xB9E188 +mim_04_UnkNpcAIFunc38 = 0x80240828; // type:func rom:0xB9E188 mim_04_UnkNpcAIFunc15 = 0x802409CC; // type:func rom:0xB9E32C -func_80240AAC_B9E40C = 0x80240AAC; // type:func rom:0xB9E40C +mim_04_UnkNpcAIFunc39 = 0x80240AAC; // type:func rom:0xB9E40C mim_04_UnkDurationCheck = 0x80240DAC; // type:func rom:0xB9E70C -func_80240DF0_B9E750 = 0x80240DF0; // type:func rom:0xB9E750 +mim_04_UnkNpcAIMainFunc2 = 0x80240DF0; // type:func rom:0xB9E750 func_80241014_B9E974 = 0x80241014; // type:func rom:0xB9E974 mim_04_GetItemName = 0x802410C8; // type:func rom:0xB9EA28 D_80241530_B9EE90 = 0x80241530; // type:data rom:0xB9EE90 @@ -13137,14 +13977,14 @@ mim_06_UnkNpcAIFunc33 = 0x80241A78; // type:func rom:0xBA61F8 mim_06_UnkNpcDurationFlagFunc2 = 0x80241B78; // type:func rom:0xBA62F8 mim_06_UnkNpcAIFunc30 = 0x80241BD8; // type:func rom:0xBA6358 func_80241CC4_BA6444 = 0x80241CC4; // type:func rom:0xBA6444 -func_80241F14_BA6694 = 0x80241F14; // type:func rom:0xBA6694 -func_80242144_BA68C4 = 0x80242144; // type:func rom:0xBA68C4 +mim_06_UnkNpcAIFunc36 = 0x80241F14; // type:func rom:0xBA6694 +mim_06_UnkNpcAIFunc37 = 0x80242144; // type:func rom:0xBA68C4 mim_06_UnkNpcAIFunc1 = 0x8024247C; // type:func rom:0xBA6BFC -func_8024253C_BA6CBC = 0x8024253C; // type:func rom:0xBA6CBC +mim_06_UnkNpcAIFunc38 = 0x8024253C; // type:func rom:0xBA6CBC mim_06_UnkNpcAIFunc15 = 0x802426E0; // type:func rom:0xBA6E60 -func_802427C0_BA6F40 = 0x802427C0; // type:func rom:0xBA6F40 +mim_06_UnkNpcAIFunc39 = 0x802427C0; // type:func rom:0xBA6F40 mim_06_UnkDurationCheck = 0x80242AC0; // type:func rom:0xBA7240 -func_80242B04_BA7284 = 0x80242B04; // type:func rom:0xBA7284 +mim_06_UnkNpcAIMainFunc2 = 0x80242B04; // type:func rom:0xBA7284 D_802457B0_BA9F30 = 0x802457B0; // type:data rom:0xBA9F30 D_80245948_BAA0C8 = 0x80245948; // type:data rom:0xBAA0C8 D_80245950_BAA0D0 = 0x80245950; // type:data rom:0xBAA0D0 @@ -13157,14 +13997,14 @@ dup_mim_07_SetForeverForestFog = 0x80240000; // type:func rom:0xBAA140 mim_07_SetForeverForestFog = 0x80240070; // type:func rom:0xBAA1B0 func_802400D8_BAA218 = 0x802400D8; // type:func rom:0xBAA218 func_80240244_BAA384 = 0x80240244; // type:func rom:0xBAA384 -func_80240270_BAA3B0 = 0x80240270; // type:func rom:0xBAA3B0 -func_802404A0_BAA5E0 = 0x802404A0; // type:func rom:0xBAA5E0 +mim_07_UnkNpcAIFunc36 = 0x80240270; // type:func rom:0xBAA3B0 +mim_07_UnkNpcAIFunc37 = 0x802404A0; // type:func rom:0xBAA5E0 mim_07_UnkNpcAIFunc1 = 0x802407D8; // type:func rom:0xBAA918 -func_80240898_BAA9D8 = 0x80240898; // type:func rom:0xBAA9D8 +mim_07_UnkNpcAIFunc38 = 0x80240898; // type:func rom:0xBAA9D8 mim_07_UnkNpcAIFunc15 = 0x80240A3C; // type:func rom:0xBAAB7C -func_80240B1C_BAAC5C = 0x80240B1C; // type:func rom:0xBAAC5C +mim_07_UnkNpcAIFunc39 = 0x80240B1C; // type:func rom:0xBAAC5C mim_07_UnkDurationCheck = 0x80240E1C; // type:func rom:0xBAAF5C -btl_merlee_on_start_turn_BAAFA0 = 0x80240E60; // type:func rom:0xBAAFA0 +mim_07_UnkNpcAIMainFunc2 = 0x80240E60; // type:func rom:0xBAAFA0 D_80241680_BAB7C0 = 0x80241680; // type:data rom:0xBAB7C0 D_80241684_BAB7C4 = 0x80241684; // type:data rom:0xBAB7C4 D_80241688_BAB7C8 = 0x80241688; // type:data rom:0xBAB7C8 @@ -13211,14 +14051,14 @@ D_802454B0_BB2DF0 = 0x802454B0; // type:data rom:0xBB2DF0 D_802454B8_BB2DF8 = 0x802454B8; // type:data rom:0xBB2DF8 mim_09_SetForeverForestFog = 0x80240000; // type:func rom:0xBB2E00 func_80240068_BB2E68 = 0x80240068; // type:func rom:0xBB2E68 -func_802400A0_BB2EA0 = 0x802400A0; // type:func rom:0xBB2EA0 -func_802402D0_BB30D0 = 0x802402D0; // type:func rom:0xBB30D0 +mim_09_UnkNpcAIFunc36 = 0x802400A0; // type:func rom:0xBB2EA0 +mim_09_UnkNpcAIFunc37 = 0x802402D0; // type:func rom:0xBB30D0 mim_09_UnkNpcAIFunc1 = 0x80240608; // type:func rom:0xBB3408 -func_802406C8_BB34C8 = 0x802406C8; // type:func rom:0xBB34C8 +mim_09_UnkNpcAIFunc38 = 0x802406C8; // type:func rom:0xBB34C8 mim_09_UnkNpcAIFunc15 = 0x8024086C; // type:func rom:0xBB366C -func_8024094C_BB374C = 0x8024094C; // type:func rom:0xBB374C +mim_09_UnkNpcAIFunc39 = 0x8024094C; // type:func rom:0xBB374C mim_09_UnkDurationCheck = 0x80240C4C; // type:func rom:0xBB3A4C -func_80240C90_BB3A90 = 0x80240C90; // type:func rom:0xBB3A90 +mim_09_UnkNpcAIMainFunc2 = 0x80240C90; // type:func rom:0xBB3A90 D_80242B90_BB5990 = 0x80242B90; // type:data rom:0xBB5990 func_80240000_BB59E0 = 0x80240000; // type:func rom:0xBB59E0 func_80240030_BB5A10 = 0x80240030; // type:func rom:0xBB5A10 @@ -19262,6 +20102,8 @@ ai = 0x8006AD64; // si = 0x8006AD90; // dp = 0x8006AE0C; // osDispatchThreadSave = 0x8006B1F4; // +dead_guMtxIdentF = 0x8006C660; // type:data +dead_guMtxCatF = 0x8006C7C0; // type:data EnemyNpcHit = 0x80077F70; // EnemyNpcDefeat = 0x8007809C; // dead_gGameStatusPtr = 0x80079430; // type:data @@ -19314,6 +20156,7 @@ D_8008FA8C = 0x8008FA8C; // type:data D_8008FC44 = 0x8008FC44; // type:data D_8008FEE0 = 0x8008FEE0; // type:data rdpstateinit_dl = 0x80093BB8; // type:data +dtor.2 = 0x80093DC0; // type:data D_80094664 = 0x80094664; // type:data D_80094900 = 0x80094900; // type:data D_80097D60 = 0x80097D60; // type:data @@ -20015,6 +20858,7 @@ flo_09_pad_2004 = 0x80242004; // type:data flo_24_pad_21A4 = 0x802421A4; // type:data D_80242208 = 0x80242208; // type:data D_80242344 = 0x80242344; // type:data +D_802423B0 = 0x802423B0; // type:data D_802424E0 = 0x802424E0; // type:data flo_23_pad_2598 = 0x80242598; // type:data flo_23_D_802426E0 = 0x802426E0; // type:data