From d8837960b16f63d0eb36782481c299d0d94c5c3f Mon Sep 17 00:00:00 2001 From: Unnunu Date: Mon, 30 May 2022 21:39:42 +0300 Subject: [PATCH] pra2 battle map (#720) * area_pra2 * finish * sound enum * renamed enum member * fixed alignment --- include/effects.h | 30 +- include/enums.h | 10 + src/battle/area_pra2/660750.c | 40 - src/battle/area_pra2/660D20.c | 3 - src/battle/area_pra2/660E10.c | 13 - src/battle/area_pra2/actor/crystal_bit.c | 412 ++++ src/battle/area_pra2/actor/crystal_king.c | 2072 +++++++++++++++++ src/battle/area_pra2/area.c | 36 + src/battle/area_pra2/stage/sam_04.c | 96 + src/effects/lightning_bolt.c | 5 - .../asm/data/battle/area_pra2/661150.data.s | 210 -- .../area_pra2/660750/func_80218280_6609D0.s | 29 - .../area_pra2/660750/func_802182E4_660A34.s | 28 - .../area_pra2/660750/func_80218344_660A94.s | 28 - .../area_pra2/660750/func_8021848C_660BDC.s | 85 - .../area_pra2/660D20/func_802185D0_660D20.s | 66 - ver/us/splat.yaml | 9 +- 17 files changed, 2660 insertions(+), 512 deletions(-) delete mode 100644 src/battle/area_pra2/660750.c delete mode 100644 src/battle/area_pra2/660D20.c delete mode 100644 src/battle/area_pra2/660E10.c create mode 100644 src/battle/area_pra2/actor/crystal_bit.c create mode 100644 src/battle/area_pra2/actor/crystal_king.c create mode 100644 src/battle/area_pra2/area.c create mode 100644 src/battle/area_pra2/stage/sam_04.c delete mode 100644 ver/us/asm/data/battle/area_pra2/661150.data.s delete mode 100644 ver/us/asm/nonmatchings/battle/area_pra2/660750/func_80218280_6609D0.s delete mode 100644 ver/us/asm/nonmatchings/battle/area_pra2/660750/func_802182E4_660A34.s delete mode 100644 ver/us/asm/nonmatchings/battle/area_pra2/660750/func_80218344_660A94.s delete mode 100644 ver/us/asm/nonmatchings/battle/area_pra2/660750/func_8021848C_660BDC.s delete mode 100644 ver/us/asm/nonmatchings/battle/area_pra2/660D20/func_802185D0_660D20.s diff --git a/include/effects.h b/include/effects.h index 1f2c776671..d51e397f3e 100644 --- a/include/effects.h +++ b/include/effects.h @@ -674,6 +674,30 @@ typedef struct Effect6BFXData { /* 0x40 */ char unk_40[0x4]; } Effect6BFXData; // size = 0x44 +typedef struct HuffPuffBreathFXData { + /* 0x00 */ char unk_00[0x18]; + /* 0x18 */ s32 unk_18; + /* 0x1C */ s32 unk_1C; + /* 0x20 */ s32 unk_20; + /* 0x24 */ char unk_24[0x4]; + /* 0x28 */ s32 unk_28; + /* 0x2C */ s32 unk_2C; + /* 0x30 */ s32 unk_30; +} HuffPuffBreathFXData; // size = ? + +typedef struct LightningBoltFXData { + /* 0x00 */ char unk_00[0xC]; + /* 0x0C */ f32 unk_0C; + /* 0x10 */ char unk_10[0x20]; + /* 0x30 */ s32 unk_30; + /* 0x34 */ s32 unk_34; + /* 0x38 */ s32 unk_38; + /* 0x3C */ char unk_3C[0x4]; + /* 0x40 */ s32 unk_40; + /* 0x44 */ s32 unk_44; + /* 0x48 */ s32 unk_48; +} LightningBoltFXData; // size = ? + typedef struct ColdBreathFXData { /* 0x00 */ char unk_00[0x18]; /* 0x18 */ s32 unk_18; @@ -709,7 +733,11 @@ typedef struct Effect6FFXData { } Effect6FFXData; // size = 0x44 typedef struct MiscParticlesFXData { - char unk_00[0x38]; + char unk_00[0x4]; + Vec3f pos; + f32 scaleX; + f32 scaleY; + char unk_18[0x20]; s32 unk_38; s32 unk_3C; s32 unk_40; diff --git a/include/enums.h b/include/enums.h index 191e88b426..459c66c8f7 100644 --- a/include/enums.h +++ b/include/enums.h @@ -591,11 +591,15 @@ enum SoundIDs { SOUND_SMOKE_BURST = 0x000002CD, SOUND_DAYZEE_SONG = 0x000002D7, SOUND_POWER_UP = 0x000002D8, + SOUND_2DE = 0x000002DE, + SOUND_2DF = 0x000002DF, + SOUND_2E0 = 0x000002E0, SOUND_2F1 = 0x000002F1, SOUND_2F4 = 0x000002F4, SOUND_2F6 = 0x000002F6, SOUND_2F7 = 0x000002F7, SOUND_CLOSE_SHELL = 0x000002FF, + SOUND_301 = 0x00000301, SOUND_SHY_GUY_SCREAMS1 = 0x0000030C, SOUND_SHY_GUY_SCREAMS2 = 0x0000030D, SOUND_SHY_GUY_SCREAMS3 = 0x0000030E, @@ -610,6 +614,7 @@ enum SoundIDs { SOUND_32E = 0x0000032E, SOUND_32F = 0x0000032F, SOUND_359 = 0x00000359, + SOUND_35D = 0x0000035D, SOUND_361 = 0x00000361, SOUND_362 = 0x00000362, SOUND_363 = 0x00000363, @@ -627,7 +632,9 @@ enum SoundIDs { SOUND_HIT_PLAYER_SHOCK = 0x0000037A, SOUND_HIT_SHOCK = 0x0000037B, SOUND_GENERAL_WHISTLE = 0x00000395, + SOUND_3AF = 0x000003AF, SOUND_OPEN_SHELL = 0x000003D4, + SOUND_3D9 = 0x000003D9, SOUND_3E1 = 0x000003E1, SOUND_JUMP_3E2 = 0x000003E2, SOUND_MISS_JUMP = 0x000003E3, @@ -660,6 +667,7 @@ enum SoundIDs { SOUND_2038 = 0x00002038, SOUND_2039 = 0x00002039, SOUND_205B = 0x0000205B, + SOUND_206D = 0x0000206D, SOUND_2072 = 0x00002072, SOUND_2073 = 0x00002073, SOUND_BOMB_BLAST = 0x00002076, @@ -677,6 +685,8 @@ enum SoundIDs { SOUND_SPELL_CAST3 = 0x000020D6, SOUND_SPELL_CAST4 = 0x000020D7, SOUND_SPELL_CAST5 = 0x000020D8, + SOUND_20E3 = 0x000020E3, + SOUND_20E7 = 0x000020E7, SOUND_20F6 = 0x000020F6, SOUND_2101 = 0x00002101, SOUND_2102 = 0x00002102, diff --git a/src/battle/area_pra2/660750.c b/src/battle/area_pra2/660750.c deleted file mode 100644 index 95a541ae17..0000000000 --- a/src/battle/area_pra2/660750.c +++ /dev/null @@ -1,40 +0,0 @@ -#include "common.h" - -#define NAMESPACE b_area_pra2 - -#include "common/StartRumbleWithParams.inc.c" - -#include "common/UnkFloatFunc.inc.c" - -ApiStatus GetActorPartOpacity(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 actorID = evt_get_variable(script, *args++); - s32 partIndex = evt_get_variable(script, *args++); - - if (actorID == ACTOR_SELF) { - actorID = script->owner1.actorID; - } - evt_set_variable(script, *args++, get_actor_part(get_actor(actorID), partIndex)->opacity); - - return ApiStatus_DONE2; -} - -INCLUDE_ASM(s32, "battle/area_pra2/660750", func_80218280_6609D0); - -INCLUDE_ASM(s32, "battle/area_pra2/660750", func_802182E4_660A34); - -INCLUDE_ASM(s32, "battle/area_pra2/660750", func_80218344_660A94); - -ApiStatus func_802183A4_660AF4(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - Bytecode arg0 = *args++; - f32 startX = evt_get_variable(script, *args++); - f32 startZ = evt_get_variable(script, *args++); - f32 endX = evt_get_variable(script, *args++); - f32 endZ = evt_get_variable(script, *args++); - - evt_set_variable(script, arg0, atan2(startX, startZ, endX, endZ)); - return ApiStatus_DONE2; -} - -INCLUDE_ASM(s32, "battle/area_pra2/660750", func_8021848C_660BDC); diff --git a/src/battle/area_pra2/660D20.c b/src/battle/area_pra2/660D20.c deleted file mode 100644 index 2d48bbcdac..0000000000 --- a/src/battle/area_pra2/660D20.c +++ /dev/null @@ -1,3 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "battle/area_pra2/660D20", func_802185D0_660D20); diff --git a/src/battle/area_pra2/660E10.c b/src/battle/area_pra2/660E10.c deleted file mode 100644 index f1b1294434..0000000000 --- a/src/battle/area_pra2/660E10.c +++ /dev/null @@ -1,13 +0,0 @@ -#include "common.h" - -#define NAMESPACE b_area_pra2 - -INCLUDE_ASM(s32, "battle/area_pra2/660E10", func_802186C0_660E10); - -#include "common/Set80071270_0_16.inc.c" - -#include "common/UnkFloatFunc2.inc.c" - -void func_802189E0_661130(void) { - enable_background_wave(); -} diff --git a/src/battle/area_pra2/actor/crystal_bit.c b/src/battle/area_pra2/actor/crystal_bit.c new file mode 100644 index 0000000000..078940b703 --- /dev/null +++ b/src/battle/area_pra2/actor/crystal_bit.c @@ -0,0 +1,412 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "effects.h" +#include "sprite/npc/crystal_king.h" + +#define NAMESPACE b_area_pra2_crystal_bit + +extern EvtScript N(init); +extern EvtScript N(takeTurn); +extern EvtScript N(idle); +extern EvtScript N(handleEvent); +extern EvtScript N(nextTurn); + +s32 N(idleAnimations_1)[] = { + STATUS_NORMAL, NPC_ANIM_crystal_king_Palette_00_Anim_A, + STATUS_END, +}; + +s32 N(idleAnimations_2)[] = { + STATUS_NORMAL, NPC_ANIM_crystal_king_Palette_00_Anim_B, + STATUS_END, +}; + +s32 N(idleAnimations_3)[] = { + STATUS_NORMAL, NPC_ANIM_crystal_king_Palette_00_Anim_C, + STATUS_END, +}; + +s32 N(defenseTable)[] = { + ELEMENT_NORMAL, 0, + ELEMENT_FIRE, 0, + ELEMENT_ICE, 99, + ELEMENT_END, +}; + +s32 N(statusTable)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 0, + STATUS_POISON, 0, + STATUS_FROZEN, 0, + STATUS_DIZZY, 0, + STATUS_FEAR, 0, + STATUS_STATIC, 0, + STATUS_PARALYZE, 0, + STATUS_SHRINK, 0, + STATUS_STOP, 0, + STATUS_DEFAULT_TURN_MOD, 0, + STATUS_SLEEP_TURN_MOD, 0, + STATUS_POISON_TURN_MOD, 0, + STATUS_FROZEN_TURN_MOD, 0, + STATUS_DIZZY_TURN_MOD, 0, + STATUS_FEAR_TURN_MOD, 0, + STATUS_STATIC_TURN_MOD, 0, + STATUS_PARALYZE_TURN_MOD, 0, + STATUS_SHRINK_TURN_MOD, 0, + STATUS_STOP_TURN_MOD, 0, + STATUS_END, +}; + +ActorPartBlueprint N(parts_1)[] = { + { + .flags = ACTOR_PART_FLAG_NO_TARGET, + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 16 }, + .opacity = 255, + .idleAnimations = N(idleAnimations_1), + .defenseTable = N(defenseTable), + .eventFlags = ACTOR_EVENT_FLAG_ICY, + .elementImmunityFlags = 0, + .unk_1C = 0, + .unk_1D = -10, + }, + { + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_20 | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, + .index = 2, + .posOffset = { 0, 50, 0 }, + .targetOffset = { 0, -34 }, + .opacity = 255, + .idleAnimations = NULL, + .defenseTable = N(defenseTable), + .eventFlags = ACTOR_EVENT_FLAG_ICY, + .elementImmunityFlags = 0, + .unk_1C = 0, + .unk_1D = -10, + }, +}; + +ActorPartBlueprint N(parts_2)[] = { + { + .flags = ACTOR_PART_FLAG_NO_TARGET, + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 16 }, + .opacity = 255, + .idleAnimations = N(idleAnimations_2), + .defenseTable = N(defenseTable), + .eventFlags = ACTOR_EVENT_FLAG_ICY, + .elementImmunityFlags = 0, + .unk_1C = 0, + .unk_1D = -10, + }, + { + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_20 | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, + .index = 2, + .posOffset = { 0, 50, 0 }, + .targetOffset = { 0, -34 }, + .opacity = 255, + .idleAnimations = NULL, + .defenseTable = N(defenseTable), + .eventFlags = ACTOR_EVENT_FLAG_ICY, + .elementImmunityFlags = 0, + .unk_1C = 0, + .unk_1D = -10, + }, +}; + +ActorPartBlueprint N(parts_3)[] = { + { + .flags = ACTOR_PART_FLAG_NO_TARGET, + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 16 }, + .opacity = 255, + .idleAnimations = N(idleAnimations_3), + .defenseTable = N(defenseTable), + .eventFlags = ACTOR_EVENT_FLAG_ICY, + .elementImmunityFlags = 0, + .unk_1C = 0, + .unk_1D = -10, + }, + { + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_20 | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, + .index = 2, + .posOffset = { 0, 50, 0 }, + .targetOffset = { 0, -34 }, + .opacity = 255, + .idleAnimations = NULL, + .defenseTable = N(defenseTable), + .eventFlags = ACTOR_EVENT_FLAG_ICY, + .elementImmunityFlags = 0, + .unk_1C = 0, + .unk_1D = -10, + }, +}; + +ActorBlueprint N(1) = { + .flags = ACTOR_FLAG_FLYING | ACTOR_FLAG_NO_ATTACK, + .type = ACTOR_TYPE_CRYSTAL_BIT, + .level = 0, + .maxHP = 1, + .partCount = ARRAY_COUNT(N(parts_1)), + .partsData = N(parts_1), + .script = &N(init), + .statusTable = N(statusTable), + .escapeChance = 0, + .airLiftChance = 0, + .spookChance = 0, + .baseStatusChance = 0, + .upAndAwayChance = 0, + .spinSmashReq = 0, + .powerBounceChance = 90, + .coinReward = 0, + .size = { 18, 15 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -10, 20 }, + .statusMessageOffset = { 10, 20 }, +}; + +ActorBlueprint N(2) = { + .flags = ACTOR_FLAG_FLYING | ACTOR_FLAG_NO_ATTACK, + .type = ACTOR_TYPE_CRYSTAL_BIT, + .level = 0, + .maxHP = 1, + .partCount = ARRAY_COUNT(N(parts_2)), + .partsData = N(parts_2), + .script = &N(init), + .statusTable = N(statusTable), + .escapeChance = 0, + .airLiftChance = 0, + .spookChance = 0, + .baseStatusChance = 0, + .upAndAwayChance = 0, + .spinSmashReq = 0, + .powerBounceChance = 90, + .coinReward = 0, + .size = { 18, 15 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -10, 20 }, + .statusMessageOffset = { 10, 20 }, +}; + +ActorBlueprint N(3) = { + .flags = ACTOR_FLAG_FLYING | ACTOR_FLAG_NO_ATTACK, + .type = ACTOR_TYPE_CRYSTAL_BIT, + .level = 0, + .maxHP = 1, + .partCount = ARRAY_COUNT(N(parts_3)), + .partsData = N(parts_3), + .script = &N(init), + .statusTable = N(statusTable), + .escapeChance = 0, + .airLiftChance = 0, + .spookChance = 0, + .baseStatusChance = 0, + .upAndAwayChance = 0, + .spinSmashReq = 0, + .powerBounceChance = 90, + .coinReward = 0, + .size = { 18, 15 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -10, 20 }, + .statusMessageOffset = { 10, 20 }, +}; + +EvtScript N(init) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_ADDR(N(takeTurn))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_ADDR(N(idle))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_ADDR(N(handleEvent))) + EVT_CALL(BindNextTurn, ACTOR_SELF, EVT_ADDR(N(nextTurn))) + EVT_RETURN + EVT_END +}; + +ApiStatus UpdateCrystalBitEffect(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + Actor* actor = get_actor(script->owner1.actorID); + ActorPart* actorPart = get_actor_part(actor, 1); + EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args); + + ((MiscParticlesFXData*)effect->data)->scaleX = actorPart->scale.x * 24.0f; + ((MiscParticlesFXData*)effect->data)->scaleY = actorPart->scale.y * 24.0f; + if (actorPart->flags & ACTOR_PART_FLAG_INVISIBLE) { + ((MiscParticlesFXData*)effect->data)->pos.x = actor->currentPos.x; + ((MiscParticlesFXData*)effect->data)->pos.y = -1000.0f; + ((MiscParticlesFXData*)effect->data)->pos.z = actor->currentPos.z; + } else { + ((MiscParticlesFXData*)effect->data)->pos.x = actor->currentPos.x; + ((MiscParticlesFXData*)effect->data)->pos.y = actor->currentPos.y; + ((MiscParticlesFXData*)effect->data)->pos.z = actor->currentPos.z; + } + + return ApiStatus_BLOCK; +} + +EvtScript N(idle) = { + EVT_CALL(PlayEffect, EFFECT_MISC_PARTICLES, 1, 0, -1000, 0, 24, 24, EVT_FLOAT(1.0), 5, 0, 0, 0, 0, 0) + EVT_CALL(SetActorVar, ACTOR_SELF, 0, LW(15)) + EVT_CHILD_THREAD + EVT_CALL(UpdateCrystalBitEffect, LW(15)) + EVT_END_CHILD_THREAD + EVT_LOOP(0) + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(handleEvent) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + 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_CALL(GetAnimation, ACTOR_SELF, 1, LW(1)) + EVT_EXEC_WAIT(DoNormalHit) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_BURN_HIT) + EVT_CALL(GetOwnerID, LW(0)) + EVT_CALL(GetActorVar, ACTOR_ENEMY0, 4, LW(3)) + EVT_IF_EQ(LW(0), LW(3)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_crystal_king_Palette_00_Anim_22) + EVT_SET_CONST(LW(2), -1) + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_ENEMY0, 5, LW(3)) + EVT_IF_EQ(LW(0), LW(3)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_crystal_king_Palette_00_Anim_23) + EVT_SET_CONST(LW(2), -1) + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_ENEMY0, 6, LW(3)) + EVT_IF_EQ(LW(0), LW(3)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_crystal_king_Palette_00_Anim_24) + EVT_SET_CONST(LW(2), -1) + EVT_END_IF + EVT_EXEC_WAIT(DoBurnHit) + 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_CALL(GetAnimation, ACTOR_SELF, 1, LW(1)) + EVT_EXEC_WAIT(DoImmune) + EVT_END_CASE_GROUP + EVT_CASE_EQ(EVENT_DEATH) + EVT_SET_CONST(LW(0), 1) + EVT_CALL(GetAnimation, ACTOR_SELF, 1, LW(1)) + EVT_EXEC_WAIT(DoNormalHit) + EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_301) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(1), LW(2), LW(3)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(1), 0, LW(3)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) + EVT_CALL(GetOwnerID, LW(0)) + EVT_CALL(GetActorVar, ACTOR_ENEMY0, 4, LW(1)) + EVT_IF_EQ(LW(0), LW(1)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_5) + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_ENEMY0, 5, LW(1)) + EVT_IF_EQ(LW(0), LW(1)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_6) + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_ENEMY0, 6, LW(1)) + EVT_IF_EQ(LW(0), LW(1)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_7) + EVT_END_IF + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.2)) + EVT_CALL(RandInt, 360, LW(0)) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(1), LW(2), LW(3)) + EVT_CALL(AddVectorPolar, LW(1), LW(3), EVT_FLOAT(30.0), LW(0)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(1), 0, LW(3)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) + EVT_CALL(AddVectorPolar, LW(1), LW(3), EVT_FLOAT(20.0), LW(0)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(1), 0, LW(3)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) + EVT_CALL(AddVectorPolar, LW(1), LW(3), EVT_FLOAT(10.0), LW(0)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(1), 0, LW(3)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) + EVT_SET(LW(0), 255) + EVT_LOOP(20) + EVT_SUB(LW(0), 12) + EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LW(0)) + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_CALL(GetActorVar, ACTOR_SELF, 0, LW(0)) + EVT_CALL(RemoveEffect, LW(0)) + EVT_CALL(RemoveActor, ACTOR_SELF) + EVT_RETURN + EVT_CASE_EQ(EVENT_BURN_DEATH) + EVT_CALL(GetOwnerID, LW(0)) + EVT_CALL(GetActorVar, ACTOR_ENEMY0, 4, LW(3)) + EVT_IF_EQ(LW(0), LW(3)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_crystal_king_Palette_00_Anim_22) + EVT_SET_CONST(LW(2), -1) + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_ENEMY0, 5, LW(3)) + EVT_IF_EQ(LW(0), LW(3)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_crystal_king_Palette_00_Anim_23) + EVT_SET_CONST(LW(2), -1) + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_ENEMY0, 6, LW(3)) + EVT_IF_EQ(LW(0), LW(3)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_crystal_king_Palette_00_Anim_24) + EVT_SET_CONST(LW(2), -1) + EVT_END_IF + EVT_EXEC_WAIT(DoBurnHit) + EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_301) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(1), LW(2), LW(3)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(1), 0, LW(3)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.2)) + EVT_CALL(RandInt, 360, LW(0)) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(1), LW(2), LW(3)) + EVT_CALL(AddVectorPolar, LW(1), LW(3), EVT_FLOAT(30.0), LW(0)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(1), 0, LW(3)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) + EVT_CALL(AddVectorPolar, LW(1), LW(3), EVT_FLOAT(20.0), LW(0)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(1), 0, LW(3)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) + EVT_CALL(AddVectorPolar, LW(1), LW(3), EVT_FLOAT(10.0), LW(0)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(1), 0, LW(3)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) + EVT_SET(LW(0), 255) + EVT_LOOP(20) + EVT_SUB(LW(0), 12) + EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LW(0)) + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_CALL(GetActorVar, ACTOR_SELF, 0, LW(0)) + EVT_CALL(RemoveEffect, LW(0)) + EVT_CALL(RemoveActor, ACTOR_SELF) + EVT_RETURN + EVT_CASE_EQ(EVENT_BLOW_AWAY) + EVT_CALL(GetActorVar, ACTOR_SELF, 0, LW(0)) + EVT_CALL(RemoveEffect, LW(0)) + EVT_RETURN + EVT_CASE_DEFAULT + EVT_END_SWITCH + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(takeTurn) = { + EVT_RETURN + EVT_END +}; + +EvtScript N(nextTurn) = { + EVT_RETURN + EVT_END +}; diff --git a/src/battle/area_pra2/actor/crystal_king.c b/src/battle/area_pra2/actor/crystal_king.c new file mode 100644 index 0000000000..58cd26ac16 --- /dev/null +++ b/src/battle/area_pra2/actor/crystal_king.c @@ -0,0 +1,2072 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "effects.h" +#include "sprite/npc/crystal_king.h" + +#define NAMESPACE b_area_pra2_crystal_king + +enum N(StatusFlags) { + N(FLAG_IGNORE_IMMUNE) = 0x01, + N(FLAG_LOW_HP) = 0x02, + N(FLAG_SUMMONED_CLONES_ONCE) = 0x04, + N(FLAG_FORBID_SECOND_ATTACK) = 0x10, + N(FLAG_HAS_CLONES) = 0x20, + N(FLAG_NOT_IDLE) = 0x40, +}; + +enum N(Phase) { + N(PHASE_BEGIN) = 0, + N(PHASE_NEED_BITS) = 1, + N(PHASE_SUMMONED_BITS) = 2, + N(PHASE_AFTER_ATTACK) = 3, + N(PHASE_SUMMONED_CLONES) = 4, + N(PHASE_ATTACKED_WITH_CLONES) = 5, +}; + +enum N(ActorVars) { + N(VAR_FLAGS) = 0, + N(VAR_PHASE) = 1, + N(VAR_CLONE1_ID) = 2, + N(VAR_CLONE2_ID) = 3, + N(VAR_BIT1_ID) = 4, + N(VAR_BIT2_ID) = 5, + N(VAR_BIT3_ID) = 6, + N(VAR_HEAL_COUNTER) = 7, + N(VAR_FLY_THREAD_ID) = 8, +}; + +static Vec3f N(paths)[3][3]; + +extern ActorBlueprint b_area_pra2_crystal_bit_1; +extern ActorBlueprint b_area_pra2_crystal_bit_2; +extern ActorBlueprint b_area_pra2_crystal_bit_3; + +extern EvtScript N(init); +extern EvtScript N(takeTurn); +extern EvtScript N(idle); +extern EvtScript N(handleEvent); + +extern EvtScript N(AttackIcyBreath); +extern EvtScript N(AttackIceBolt); +extern EvtScript N(MakeIllusions); +extern EvtScript N(SummonCrystalBits); +extern EvtScript N(AttackIcyBreathWithClones); +extern EvtScript N(NormalAttack); +extern EvtScript N(Heal); + +s32 N(idleAnimations)[] = { + STATUS_NORMAL, NPC_ANIM_crystal_king_Palette_00_Anim_9, + STATUS_SLEEP, NPC_ANIM_crystal_king_Palette_00_Anim_1B, + STATUS_DIZZY, NPC_ANIM_crystal_king_Palette_00_Anim_1A, + STATUS_PARALYZE, NPC_ANIM_crystal_king_Palette_00_Anim_0, + STATUS_STOP, NPC_ANIM_crystal_king_Palette_00_Anim_0, + STATUS_END, +}; + +s32 N(defenseTable)[] = { + ELEMENT_NORMAL, 2, + ELEMENT_FIRE, 0, + ELEMENT_ICE, 99, + ELEMENT_END, +}; + +s32 N(statusTable)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 30, + STATUS_POISON, 0, + STATUS_FROZEN, 0, + STATUS_DIZZY, 40, + STATUS_FEAR, 0, + STATUS_STATIC, 0, + STATUS_PARALYZE, 40, + STATUS_SHRINK, 0, + STATUS_STOP, 50, + STATUS_DEFAULT_TURN_MOD, 0, + STATUS_SLEEP_TURN_MOD, -1, + STATUS_POISON_TURN_MOD, 0, + STATUS_FROZEN_TURN_MOD, 0, + STATUS_DIZZY_TURN_MOD, -1, + STATUS_FEAR_TURN_MOD, 0, + STATUS_STATIC_TURN_MOD, 0, + STATUS_PARALYZE_TURN_MOD, -1, + STATUS_SHRINK_TURN_MOD, -1, + STATUS_STOP_TURN_MOD, -2, + STATUS_END, +}; + +ActorPartBlueprint N(parts)[] = { + { + .flags = ACTOR_PART_FLAG_8 | ACTOR_PART_FLAG_20 | ACTOR_PART_FLAG_MULTI_TARGET, + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 54 }, + .opacity = 255, + .idleAnimations = N(idleAnimations), + .defenseTable = N(defenseTable), + .eventFlags = ACTOR_EVENT_FLAG_ICY, + .elementImmunityFlags = 0, + .unk_1C = 0, + .unk_1D = -22, + }, +}; + +ActorBlueprint NAMESPACE = { + .flags = 0, + .type = ACTOR_TYPE_CRYSTAL_KING, + .level = 85, + .maxHP = 70, + .partCount = ARRAY_COUNT(N(parts)), + .partsData = N(parts), + .script = &N(init), + .statusTable = N(statusTable), + .escapeChance = 0, + .airLiftChance = 0, + .spookChance = 0, + .baseStatusChance = 0, + .upAndAwayChance = 0, + .spinSmashReq = 4, + .powerBounceChance = 70, + .coinReward = 0, + .size = { 56, 56 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -15, 40 }, + .statusMessageOffset = { 15, 40 }, +}; + +EvtScript N(init) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_ADDR(N(takeTurn))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_ADDR(N(idle))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_ADDR(N(handleEvent))) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_FLAGS), 0) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_HEAL_COUNTER), 0) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_PHASE), N(PHASE_BEGIN)) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), -1) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), -1) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_BIT1_ID), ACTOR_ENEMY1) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_BIT2_ID), ACTOR_ENEMY2) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_BIT3_ID), ACTOR_ENEMY3) + EVT_RETURN + EVT_END +}; + +#include "common/StartRumbleWithParams.inc.c" +#include "common/UnkFloatFunc.inc.c" + +ApiStatus GetActorPartOpacity(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 actorID = evt_get_variable(script, *args++); + s32 partIndex = evt_get_variable(script, *args++); + + if (actorID == ACTOR_SELF) { + actorID = script->owner1.actorID; + } + evt_set_variable(script, *args++, get_actor_part(get_actor(actorID), partIndex)->opacity); + + return ApiStatus_DONE2; +} + +ApiStatus func_80218280_6609D0(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args); + + ((HuffPuffBreathFXData*)effect->data)->unk_18 = 0xF8; + ((HuffPuffBreathFXData*)effect->data)->unk_1C = 0xF8; + ((HuffPuffBreathFXData*)effect->data)->unk_20 = 0xFF; + ((HuffPuffBreathFXData*)effect->data)->unk_28 = 0x80; + ((HuffPuffBreathFXData*)effect->data)->unk_2C = 0xE0; + ((HuffPuffBreathFXData*)effect->data)->unk_30 = 0xFF; + return ApiStatus_DONE2; +} + +ApiStatus func_802182E4_660A34(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args); + + ((LightningBoltFXData*)effect->data)->unk_30 = 0xFF; + ((LightningBoltFXData*)effect->data)->unk_34 = 0xFF; + ((LightningBoltFXData*)effect->data)->unk_38 = 0xFF; + ((LightningBoltFXData*)effect->data)->unk_40 = 0xC8; + ((LightningBoltFXData*)effect->data)->unk_44 = 0xF0; + ((LightningBoltFXData*)effect->data)->unk_48 = 0xFF; + return ApiStatus_DONE2; +} + +ApiStatus func_80218344_660A94(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++); + + ((ColdBreathFXData*)effect->data)->unk_18 = 0xFF; + ((ColdBreathFXData*)effect->data)->unk_1C = 0xFF; + ((ColdBreathFXData*)effect->data)->unk_20 = 0xFF; + ((ColdBreathFXData*)effect->data)->unk_28 = 0xC8; + ((ColdBreathFXData*)effect->data)->unk_2C = 0xF0; + ((ColdBreathFXData*)effect->data)->unk_30 = 0xFF; + return ApiStatus_DONE2; +} + +ApiStatus func_802183A4_660AF4(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + Bytecode arg0 = *args++; + f32 startX = evt_get_variable(script, *args++); + f32 startZ = evt_get_variable(script, *args++); + f32 endX = evt_get_variable(script, *args++); + f32 endZ = evt_get_variable(script, *args++); + + evt_set_variable(script, arg0, atan2(startX, startZ, endX, endZ)); + return ApiStatus_DONE2; +} + +ApiStatus func_8021848C_660BDC(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + Vec3f* path = (Vec3f*)evt_get_variable(script, *args++); + + path[0].x = evt_get_variable(script, *args++); + path[0].y = evt_get_variable(script, *args++); + path[0].z = evt_get_variable(script, *args++); + path[1].x = -rand_int(20); + path[1].y = rand_int(40) + 40; + path[1].z = 0; + path[2].x = evt_get_variable(script, *args++); + path[2].y = evt_get_variable(script, *args++); + path[2].z = evt_get_variable(script, *args++); + return ApiStatus_DONE2; +} + +EvtScript N(idle) = { + EVT_SET(LW(15), 0) + EVT_LABEL(0) + EVT_CALL(GetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_IF_FLAG(LW(0), N(FLAG_HAS_CLONES)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LW(1)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), LW(2)) + EVT_CALL(ActorExists, LW(1), LW(3)) + EVT_IF_EQ(LW(3), TRUE) + EVT_CALL(N(UnkFloatFunc), LW(15), LW(4), EVT_FLOAT(128.0), EVT_FLOAT(254.0), 20, 0, 0) + EVT_SET(LW(4), LW(4)) + EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LW(4)) + EVT_CALL(SetPartAlpha, LW(1), 1, LW(4)) + EVT_CALL(SetPartAlpha, LW(2), 1, LW(4)) + EVT_ADD(LW(15), 1) + EVT_IF_GT(LW(15), 40) + EVT_SET(LW(15), 0) + EVT_END_IF + EVT_ELSE + EVT_CALL(GetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_BITWISE_AND_CONST(LW(0), ~N(FLAG_HAS_CLONES)) + EVT_CALL(SetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_END_IF + EVT_ELSE + EVT_SET(LW(15), 0) + EVT_END_IF + EVT_WAIT_FRAMES(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(FlyWithClones) = { + EVT_SET(LW(10), 0) + EVT_SET(LW(11), 0) + EVT_SET(LW(12), 0) + EVT_SET(LW(13), 0) + EVT_SET(LW(14), 0) + EVT_SET(LW(15), 0) + EVT_LABEL(1) + EVT_CALL(GetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_IF_NOT_FLAG(LW(0), N(FLAG_NOT_IDLE)) + EVT_SET(LW(0), ACTOR_SELF) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LW(1)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), LW(2)) + EVT_CALL(GetActorPos, LW(0), LW(3), LW(4), LW(5)) + EVT_CALL(GetActorPos, LW(1), LW(4), LW(5), LW(6)) + EVT_IF_GT(LW(3), LW(4)) + EVT_SET(LW(7), LW(0)) + EVT_SET(LW(0), LW(1)) + EVT_SET(LW(1), LW(7)) + EVT_END_IF + EVT_CALL(GetActorPos, LW(0), LW(3), LW(4), LW(5)) + EVT_CALL(GetActorPos, LW(2), LW(4), LW(5), LW(6)) + EVT_IF_GT(LW(3), LW(4)) + EVT_SET(LW(7), LW(0)) + EVT_SET(LW(0), LW(2)) + EVT_SET(LW(2), LW(7)) + EVT_END_IF + EVT_CALL(GetActorPos, LW(1), LW(3), LW(4), LW(5)) + EVT_CALL(GetActorPos, LW(2), LW(4), LW(5), LW(6)) + EVT_IF_GT(LW(3), LW(4)) + EVT_SET(LW(7), LW(1)) + EVT_SET(LW(1), LW(2)) + EVT_SET(LW(2), LW(7)) + EVT_END_IF + EVT_CALL(GetActorPos, LW(0), LW(3), LW(4), LW(5)) + EVT_SET(LW(4), 41) + EVT_ADD(LW(4), LW(10)) + EVT_CALL(SetActorPos, LW(0), LW(3), LW(4), LW(5)) + EVT_CALL(GetActorPos, LW(1), LW(3), LW(4), LW(5)) + EVT_SET(LW(4), 41) + EVT_ADD(LW(4), LW(12)) + EVT_CALL(SetActorPos, LW(1), LW(3), LW(4), LW(5)) + EVT_CALL(GetActorPos, LW(2), LW(3), LW(4), LW(5)) + EVT_SET(LW(4), 41) + EVT_ADD(LW(4), LW(14)) + EVT_CALL(SetActorPos, LW(2), LW(3), LW(4), LW(5)) + EVT_CALL(N(UnkFloatFunc), LW(15), LW(0), EVT_FLOAT(0.0), EVT_FLOAT(5.0), 30, 0, 0) + EVT_SET(LW(10), LW(11)) + EVT_SET(LW(11), LW(12)) + EVT_SET(LW(12), LW(13)) + EVT_SET(LW(13), LW(14)) + EVT_SET(LW(14), LW(0)) + EVT_ADD(LW(15), 1) + EVT_IF_GT(LW(15), 60) + EVT_SET(LW(15), 0) + EVT_END_IF + EVT_END_IF + EVT_WAIT_FRAMES(1) + EVT_GOTO(1) + EVT_RETURN + EVT_END +}; + +EvtScript N(RemoveClone) = { + EVT_CALL(EnableActorBlur, LW(9), 1) + EVT_CALL(SetActorFlagBits, LW(9), ACTOR_FLAG_NO_DMG_APPLY, 1) + EVT_THREAD + EVT_CALL(GetActorPartOpacity, LW(9), 1, LW(3)) + EVT_CALL(MakeLerp, LW(3), 0, 20, 1) + EVT_LABEL(0) + EVT_CALL(UpdateLerp) + EVT_CALL(SetPartAlpha, LW(9), 1, LW(0)) + EVT_WAIT_FRAMES(1) + EVT_IF_EQ(LW(1), 1) + EVT_GOTO(0) + EVT_END_IF + EVT_END_THREAD + EVT_THREAD + EVT_CALL(MakeLerp, 100, 200, 20, 1) + EVT_LABEL(1) + EVT_CALL(UpdateLerp) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(8)) + EVT_IF_FLAG(LW(8), STATUS_FLAG_SHRINK) + EVT_MULF(LW(0), EVT_FLOAT(0.4)) + EVT_END_IF + EVT_DIVF(LW(0), EVT_FLOAT(100.0)) + EVT_CALL(SetPartScale, LW(9), 1, LW(0), LW(0), LW(0)) + EVT_WAIT_FRAMES(1) + EVT_IF_EQ(LW(1), 1) + EVT_GOTO(1) + EVT_END_IF + EVT_END_THREAD + EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(0)) + EVT_IF_NOT_FLAG(LW(0), STATUS_FLAG_SHRINK) + EVT_CALL(SetActorRotationOffset, LW(9), 0, 28, 0) + EVT_ELSE + EVT_CALL(SetActorRotationOffset, LW(9), 0, 10, 0) + EVT_END_IF + EVT_CALL(MakeLerp, 3600, 0, 25, 1) + EVT_LABEL(2) + EVT_CALL(UpdateLerp) + EVT_CALL(SetActorRotation, LW(9), 0, 0, LW(0)) + EVT_WAIT_FRAMES(1) + EVT_IF_EQ(LW(1), 1) + EVT_GOTO(2) + EVT_END_IF + EVT_CALL(RemoveActor, LW(9)) + EVT_RETURN + EVT_END +}; + +EvtScript N(OnHit) = { + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PHASE), LW(0)) + EVT_SWITCH(LW(0)) + EVT_CASE_OR_EQ(N(PHASE_SUMMONED_CLONES)) + EVT_CASE_OR_EQ(N(PHASE_ATTACKED_WITH_CLONES)) + EVT_END_CASE_GROUP + EVT_CASE_OR_EQ(N(PHASE_BEGIN)) + EVT_CASE_OR_EQ(N(PHASE_SUMMONED_BITS)) + 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_SHRINK | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT1_ID), LW(0)) + EVT_CALL(ActorExists, LW(0), LW(1)) + EVT_IF_EQ(LW(1), TRUE) + EVT_CALL(func_80269EAC, 0) + EVT_CALL(DispatchEvent, LW(0), EVENT_DEATH) + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT2_ID), LW(0)) + EVT_CALL(ActorExists, LW(0), LW(1)) + EVT_IF_EQ(LW(1), TRUE) + EVT_CALL(func_80269EAC, 0) + EVT_CALL(DispatchEvent, LW(0), EVENT_DEATH) + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT3_ID), LW(0)) + EVT_CALL(ActorExists, LW(0), LW(1)) + EVT_IF_EQ(LW(1), TRUE) + EVT_CALL(func_80269EAC, 0) + EVT_CALL(DispatchEvent, LW(0), EVENT_DEATH) + EVT_END_IF + EVT_END_IF + EVT_RETURN + EVT_END_CASE_GROUP + EVT_CASE_DEFAULT + EVT_RETURN + EVT_END_SWITCH + EVT_CALL(GetLastElement, LW(0)) + EVT_IF_FLAG(LW(0), DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS) + EVT_LABEL(0) + EVT_CALL(GetBattleFlags, LW(0)) + EVT_IF_FLAG(LW(0), BS_FLAGS1_100) + EVT_WAIT_FRAMES(1) + EVT_GOTO(0) + EVT_END_IF + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LW(9)) + EVT_CALL(ActorExists, LW(9), LW(10)) + EVT_IF_EQ(LW(10), TRUE) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LW(9)) + EVT_EXEC(N(RemoveClone)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), LW(9)) + EVT_EXEC_GET_TID(N(RemoveClone), LW(0)) + EVT_LABEL(1) + EVT_IS_THREAD_RUNNING(LW(0), LW(1)) + EVT_IF_EQ(LW(1), TRUE) + EVT_WAIT_FRAMES(1) + EVT_GOTO(1) + EVT_END_IF + EVT_END_IF + EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_19) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_IF_NE(LW(1), 0) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_FLY_THREAD_ID), LW(10)) + EVT_KILL_THREAD(LW(10)) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E3) + EVT_SET(LW(1), 0) + EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) + EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) + EVT_CALL(N(StartRumbleWithParams), 150, 10) + EVT_THREAD + EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(0.7)) + EVT_END_THREAD + EVT_CALL(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_WAIT_FRAMES(15) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, 0) + EVT_END_IF + 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_crystal_king_Palette_00_Anim_E) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) + EVT_CALL(SetGoalPos, ACTOR_SELF, 70, 0, 5) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_9) + EVT_END_IF + EVT_CALL(GetActorPos, 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_CALL(GetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_BITWISE_AND_CONST(LW(0), ~N(FLAG_IGNORE_IMMUNE)) + EVT_CALL(SetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_RETURN + EVT_END +}; + +EvtScript N(OnDeath) = { + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PHASE), LW(0)) + EVT_SWITCH(LW(0)) + EVT_CASE_OR_EQ(N(PHASE_SUMMONED_CLONES)) + EVT_CASE_OR_EQ(N(PHASE_ATTACKED_WITH_CLONES)) + EVT_END_CASE_GROUP + EVT_CASE_OR_EQ(N(PHASE_BEGIN)) + EVT_CASE_OR_EQ(N(PHASE_SUMMONED_BITS)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT1_ID), LW(0)) + EVT_CALL(ActorExists, LW(0), LW(1)) + EVT_IF_EQ(LW(1), TRUE) + EVT_CALL(func_80269EAC, 0) + EVT_CALL(SetActorFlagBits, LW(0), ACTOR_FLAG_NO_DMG_APPLY, 1) + EVT_CALL(DispatchEvent, LW(0), EVENT_DEATH) + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT2_ID), LW(0)) + EVT_CALL(ActorExists, LW(0), LW(1)) + EVT_IF_EQ(LW(1), TRUE) + EVT_CALL(func_80269EAC, 0) + EVT_CALL(SetActorFlagBits, LW(0), ACTOR_FLAG_NO_DMG_APPLY, 1) + EVT_CALL(DispatchEvent, LW(0), EVENT_DEATH) + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT3_ID), LW(0)) + EVT_CALL(ActorExists, LW(0), LW(1)) + EVT_IF_EQ(LW(1), TRUE) + EVT_CALL(func_80269EAC, 0) + EVT_CALL(SetActorFlagBits, LW(0), ACTOR_FLAG_NO_DMG_APPLY, 1) + EVT_CALL(DispatchEvent, LW(0), EVENT_DEATH) + EVT_END_IF + EVT_RETURN + EVT_END_CASE_GROUP + EVT_CASE_DEFAULT + EVT_RETURN + EVT_END_SWITCH + EVT_CALL(GetLastElement, LW(0)) + EVT_IF_FLAG(LW(0), DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS) + EVT_LABEL(0) + EVT_CALL(GetBattleFlags, LW(0)) + EVT_IF_FLAG(LW(0), BS_FLAGS1_100) + EVT_WAIT_FRAMES(1) + EVT_GOTO(0) + EVT_END_IF + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_FLY_THREAD_ID), LW(10)) + EVT_IS_THREAD_RUNNING(LW(10), LW(0)) + EVT_IF_EQ(LW(0), BS_FLAGS1_1) + EVT_KILL_THREAD(LW(10)) + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LW(9)) + EVT_CALL(ActorExists, LW(9), LW(10)) + EVT_IF_EQ(LW(10), TRUE) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LW(9)) + EVT_EXEC(N(RemoveClone)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), LW(9)) + EVT_EXEC_GET_TID(N(RemoveClone), LW(0)) + EVT_LABEL(1) + EVT_IS_THREAD_RUNNING(LW(0), LW(1)) + EVT_IF_EQ(LW(1), TRUE) + EVT_WAIT_FRAMES(1) + EVT_GOTO(1) + EVT_END_IF + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(handleEvent) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(GetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_BITWISE_OR_CONST(LW(0), N(FLAG_NOT_IDLE)) + EVT_CALL(SetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_CALL(GetLastEvent, ACTOR_SELF, LW(0)) + EVT_SWITCH(LW(0)) + EVT_CASE_EQ(EVENT_HIT_COMBO) + EVT_CALL(GetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_BITWISE_OR_CONST(LW(0), N(FLAG_IGNORE_IMMUNE)) + EVT_CALL(SetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LW(0)) + EVT_CALL(ActorExists, LW(0), LW(1)) + EVT_IF_EQ(LW(1), TRUE) + EVT_THREAD + EVT_CALL(SetOwnerID, LW(0)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_crystal_king_Palette_00_Anim_19) + EVT_EXEC_WAIT(DoNormalHit) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_9) + EVT_END_THREAD + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), LW(0)) + EVT_CALL(ActorExists, LW(0), LW(1)) + EVT_IF_EQ(LW(1), TRUE) + EVT_THREAD + EVT_CALL(SetOwnerID, LW(0)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_crystal_king_Palette_00_Anim_19) + EVT_EXEC_WAIT(DoNormalHit) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_9) + EVT_END_THREAD + EVT_END_IF + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_crystal_king_Palette_00_Anim_19) + EVT_EXEC_WAIT(DoNormalHit) + EVT_CASE_EQ(EVENT_HIT) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LW(0)) + EVT_CALL(ActorExists, LW(0), LW(1)) + EVT_IF_EQ(LW(1), TRUE) + EVT_THREAD + EVT_CALL(SetOwnerID, LW(0)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_crystal_king_Palette_00_Anim_19) + EVT_EXEC_WAIT(DoNormalHit) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_9) + EVT_END_THREAD + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), LW(0)) + EVT_CALL(ActorExists, LW(0), LW(1)) + EVT_IF_EQ(LW(1), TRUE) + EVT_THREAD + EVT_CALL(SetOwnerID, LW(0)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_crystal_king_Palette_00_Anim_19) + EVT_EXEC_WAIT(DoNormalHit) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_9) + EVT_END_THREAD + EVT_END_IF + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_crystal_king_Palette_00_Anim_19) + EVT_EXEC_WAIT(DoNormalHit) + EVT_EXEC_WAIT(N(OnHit)) + EVT_CASE_EQ(EVENT_BURN_HIT) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LW(0)) + EVT_CALL(ActorExists, LW(0), LW(1)) + EVT_IF_EQ(LW(1), TRUE) + EVT_THREAD + EVT_CALL(SetOwnerID, LW(0)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_crystal_king_Palette_00_Anim_20) + EVT_SET_CONST(LW(2), NPC_ANIM_crystal_king_Palette_00_Anim_21) + EVT_EXEC_WAIT(DoBurnHit) + EVT_END_THREAD + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), LW(0)) + EVT_CALL(ActorExists, LW(0), LW(1)) + EVT_IF_EQ(LW(1), TRUE) + EVT_THREAD + EVT_CALL(SetOwnerID, LW(0)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_crystal_king_Palette_00_Anim_20) + EVT_SET_CONST(LW(2), NPC_ANIM_crystal_king_Palette_00_Anim_21) + EVT_EXEC_WAIT(DoBurnHit) + EVT_END_THREAD + EVT_END_IF + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_crystal_king_Palette_00_Anim_20) + EVT_SET_CONST(LW(2), NPC_ANIM_crystal_king_Palette_00_Anim_21) + EVT_EXEC_WAIT(DoBurnHit) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_19) + EVT_EXEC_WAIT(N(OnHit)) + EVT_CASE_EQ(EVENT_UNKNOWN_TRIGGER) + EVT_CASE_EQ(EVENT_AIR_LIFT_FAILED) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_crystal_king_Palette_00_Anim_9) + EVT_EXEC_WAIT(DoImmune) + EVT_CASE_EQ(EVENT_IMMUNE) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_crystal_king_Palette_00_Anim_9) + EVT_EXEC_WAIT(DoImmune) + EVT_CALL(GetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_IF_FLAG(LW(0), N(FLAG_IGNORE_IMMUNE)) + EVT_EXEC_WAIT(N(OnHit)) + EVT_RETURN + EVT_END_IF + 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_EXEC_WAIT(N(OnHit)) + EVT_RETURN + EVT_END_IF + EVT_CASE_EQ(EVENT_DEATH) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LW(0)) + EVT_CALL(ActorExists, LW(0), LW(1)) + EVT_IF_EQ(LW(1), TRUE) + EVT_THREAD + EVT_CALL(SetOwnerID, LW(0)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_crystal_king_Palette_00_Anim_19) + EVT_EXEC_WAIT(DoNormalHit) + EVT_END_THREAD + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), LW(0)) + EVT_CALL(ActorExists, LW(0), LW(1)) + EVT_IF_EQ(LW(1), TRUE) + EVT_THREAD + EVT_CALL(SetOwnerID, LW(0)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_crystal_king_Palette_00_Anim_19) + EVT_EXEC_WAIT(DoNormalHit) + EVT_END_THREAD + EVT_END_IF + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_crystal_king_Palette_00_Anim_19) + EVT_EXEC_WAIT(DoNormalHit) + EVT_EXEC_WAIT(N(OnDeath)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_crystal_king_Palette_00_Anim_19) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_BURN_DEATH) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LW(0)) + EVT_CALL(ActorExists, LW(0), LW(1)) + EVT_IF_EQ(LW(1), TRUE) + EVT_THREAD + EVT_CALL(SetOwnerID, LW(0)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_crystal_king_Palette_00_Anim_20) + EVT_SET_CONST(LW(2), NPC_ANIM_crystal_king_Palette_00_Anim_21) + EVT_EXEC_WAIT(DoBurnHit) + EVT_END_THREAD + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), LW(0)) + EVT_CALL(ActorExists, LW(0), LW(1)) + EVT_IF_EQ(LW(1), TRUE) + EVT_THREAD + EVT_CALL(SetOwnerID, LW(0)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_crystal_king_Palette_00_Anim_20) + EVT_SET_CONST(LW(2), NPC_ANIM_crystal_king_Palette_00_Anim_21) + EVT_EXEC_WAIT(DoBurnHit) + EVT_END_THREAD + EVT_END_IF + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_crystal_king_Palette_00_Anim_20) + EVT_SET_CONST(LW(2), NPC_ANIM_crystal_king_Palette_00_Anim_21) + EVT_EXEC_WAIT(DoBurnHit) + EVT_EXEC_WAIT(N(OnDeath)) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_crystal_king_Palette_00_Anim_21) + EVT_EXEC_WAIT(DoDeath) + EVT_RETURN + EVT_CASE_EQ(EVENT_RECOVER_STATUS) + EVT_THREAD + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PHASE), LW(0)) + EVT_SWITCH(LW(0)) + EVT_CASE_OR_EQ(N(PHASE_SUMMONED_CLONES)) + EVT_CASE_OR_EQ(N(PHASE_ATTACKED_WITH_CLONES)) + EVT_SETF(LW(0), EVT_FLOAT(0.4)) + EVT_LOOP(30) + EVT_SETF(LW(1), EVT_FLOAT(1.0)) + EVT_SUBF(LW(1), LW(0)) + EVT_DIVF(LW(1), EVT_FLOAT(6.0)) + EVT_ADDF(LW(0), LW(1)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LW(10)) + EVT_CALL(ActorExists, LW(10), LW(11)) + EVT_IF_EQ(LW(11), TRUE) + EVT_CALL(SetPartScale, LW(10), 1, LW(0), LW(0), LW(0)) + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), LW(10)) + EVT_CALL(ActorExists, LW(10), LW(11)) + EVT_IF_EQ(LW(11), TRUE) + EVT_CALL(SetPartScale, LW(10), 1, LW(0), LW(0), LW(0)) + EVT_END_IF + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_END_CASE_GROUP + EVT_CASE_OR_EQ(N(PHASE_BEGIN)) + EVT_CASE_OR_EQ(N(PHASE_SUMMONED_BITS)) + EVT_SETF(LW(0), EVT_FLOAT(0.4)) + EVT_LOOP(30) + EVT_SETF(LW(1), EVT_FLOAT(1.0)) + EVT_SUBF(LW(1), LW(0)) + EVT_DIVF(LW(1), EVT_FLOAT(6.0)) + EVT_ADDF(LW(0), LW(1)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT1_ID), LW(10)) + EVT_CALL(ActorExists, LW(10), LW(11)) + EVT_IF_EQ(LW(11), TRUE) + EVT_CALL(SetPartScale, LW(10), 1, LW(0), LW(0), LW(0)) + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT2_ID), LW(10)) + EVT_CALL(ActorExists, LW(10), LW(11)) + EVT_IF_EQ(LW(11), TRUE) + EVT_CALL(SetPartScale, LW(10), 1, LW(0), LW(0), LW(0)) + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT3_ID), LW(10)) + EVT_CALL(ActorExists, LW(10), LW(11)) + EVT_IF_EQ(LW(11), TRUE) + EVT_CALL(SetPartScale, LW(10), 1, LW(0), LW(0), LW(0)) + EVT_END_IF + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_END_THREAD + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_crystal_king_Palette_00_Anim_9) + EVT_EXEC_WAIT(DoRecover) + EVT_CALL(CountPlayerTargets, ACTOR_SELF, 0x8002, LW(0)) + EVT_IF_LE(LW(0), 1) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_E) + EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) + EVT_CALL(SetGoalPos, ACTOR_SELF, 70, 0, 5) + EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_9) + EVT_END_IF + EVT_CALL(GetActorPos, 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_CASE_EQ(EVENT_BEGIN_AIR_LIFT) + EVT_SET_CONST(LW(0), 1) + EVT_SET_CONST(LW(1), NPC_ANIM_crystal_king_Palette_00_Anim_19) + EVT_EXEC_WAIT(DoAirLift) + EVT_CASE_EQ(EVENT_SWAP_PARTNER) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(1), 20) + EVT_CALL(PlayEffect, EFFECT_SPARKLES, 0, LW(0), LW(1), LW(2), 20, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_CASE_DEFAULT + EVT_END_SWITCH + EVT_CALL(GetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_BITWISE_AND_CONST(LW(0), ~N(FLAG_NOT_IDLE)) + EVT_CALL(SetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(takeTurn) = { + EVT_CALL(GetActorHP, ACTOR_SELF, LW(0)) + EVT_IF_LE(LW(0), 20) + EVT_CALL(GetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_BITWISE_OR_CONST(LW(0), N(FLAG_LOW_HP)) + EVT_CALL(SetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_END_IF + EVT_SET(LF(0), 0) + EVT_CALL(GetActorHP, ACTOR_SELF, LW(0)) + EVT_CALL(GetEnemyMaxHP, ACTOR_SELF, LW(1)) + EVT_MUL(LW(0), 100) + EVT_DIV(LW(0), LW(1)) + EVT_SWITCH(LW(0)) + EVT_CASE_LT(25) + EVT_CALL(RandInt, 99, LW(0)) + EVT_ADD(LW(0), 1) + EVT_IF_LE(LW(0), 100) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_HEAL_COUNTER), LW(0)) + EVT_IF_LT(LW(0), 2) + EVT_SET(LF(0), 1) + EVT_END_IF + EVT_END_IF + EVT_CASE_LT(40) + EVT_CALL(RandInt, 99, LW(0)) + EVT_ADD(LW(0), 1) + EVT_IF_LE(LW(0), 30) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_HEAL_COUNTER), LW(0)) + EVT_IF_LT(LW(0), 2) + EVT_SET(LF(0), 1) + EVT_END_IF + EVT_END_IF + EVT_CASE_LT(55) + EVT_CALL(RandInt, 99, LW(0)) + EVT_ADD(LW(0), 1) + EVT_IF_LE(LW(0), 10) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_HEAL_COUNTER), LW(0)) + EVT_IF_LT(LW(0), 2) + EVT_SET(LF(0), 1) + EVT_END_IF + EVT_END_IF + EVT_END_SWITCH + EVT_IF_EQ(LF(0), 1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_HEAL_COUNTER), LW(0)) + EVT_ADD(LW(0), 1) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_HEAL_COUNTER), LW(0)) + EVT_EXEC_WAIT(N(Heal)) + EVT_RETURN + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PHASE), LW(0)) + EVT_SWITCH(LW(0)) + EVT_CASE_EQ(N(PHASE_BEGIN)) + EVT_CALL(CountPlayerTargets, ACTOR_SELF, 0x8002, LW(0)) + EVT_IF_LE(LW(0), 1) + EVT_EXEC_WAIT(N(SummonCrystalBits)) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_PHASE), N(PHASE_SUMMONED_BITS)) + EVT_ELSE + EVT_EXEC_WAIT(N(NormalAttack)) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_PHASE), N(PHASE_NEED_BITS)) + EVT_END_IF + EVT_CASE_EQ(N(PHASE_NEED_BITS)) + EVT_EXEC_WAIT(N(SummonCrystalBits)) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_PHASE), N(PHASE_SUMMONED_BITS)) + EVT_CASE_EQ(N(PHASE_SUMMONED_BITS)) + EVT_CALL(CountPlayerTargets, ACTOR_SELF, 0x8002, LW(0)) + EVT_IF_LE(LW(0), 1) + EVT_CALL(GetStatusFlags, ACTOR_PLAYER, LW(0)) + EVT_IF_FLAG(LW(0), STATUS_FLAG_FROZEN) + EVT_EXEC_WAIT(N(AttackIcyBreath)) + EVT_ELSE + EVT_EXEC_WAIT(N(AttackIceBolt)) + EVT_END_IF + EVT_ELSE + EVT_EXEC_WAIT(N(NormalAttack)) + EVT_END_IF + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_PHASE), N(PHASE_AFTER_ATTACK)) + EVT_CASE_EQ(N(PHASE_AFTER_ATTACK)) + EVT_CALL(GetActorHP, ACTOR_SELF, LW(0)) + EVT_IF_GT(LW(0), 35) + EVT_CALL(GetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_IF_NOT_FLAG(LW(0), N(FLAG_SUMMONED_CLONES_ONCE)) + EVT_EXEC_WAIT(N(SummonCrystalBits)) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_PHASE), N(PHASE_SUMMONED_BITS)) + EVT_RETURN + EVT_END_IF + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_IF_NOT_FLAG(LW(0), N(FLAG_FORBID_SECOND_ATTACK)) + EVT_EXEC_WAIT(N(AttackIceBolt)) + EVT_CALL(GetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_BITWISE_OR_CONST(LW(0), N(FLAG_FORBID_SECOND_ATTACK)) + EVT_CALL(SetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_ELSE + EVT_EXEC_WAIT(N(MakeIllusions)) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_PHASE), N(PHASE_SUMMONED_CLONES)) + EVT_CALL(GetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_BITWISE_OR_CONST(LW(0), N(FLAG_SUMMONED_CLONES_ONCE)) + EVT_CALL(SetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_END_IF + EVT_CASE_EQ(N(PHASE_SUMMONED_CLONES)) + EVT_CALL(CountPlayerTargets, ACTOR_SELF, 0x8002, LW(0)) + EVT_IF_LE(LW(0), 1) + EVT_CALL(GetStatusFlags, ACTOR_PLAYER, LW(0)) + EVT_IF_FLAG(LW(0), STATUS_FLAG_FROZEN) + EVT_EXEC_WAIT(N(AttackIcyBreath)) + EVT_ELSE + EVT_EXEC_WAIT(N(AttackIceBolt)) + EVT_END_IF + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_PHASE), N(PHASE_AFTER_ATTACK)) + EVT_ELSE + EVT_EXEC_WAIT(N(AttackIcyBreathWithClones)) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_PHASE), N(PHASE_ATTACKED_WITH_CLONES)) + EVT_END_IF + EVT_CASE_EQ(N(PHASE_ATTACKED_WITH_CLONES)) + EVT_CALL(CountPlayerTargets, ACTOR_SELF, 0x8002, LW(0)) + EVT_IF_GT(LW(0), 1) + EVT_EXEC_WAIT(N(AttackIcyBreathWithClones)) + EVT_RETURN + EVT_END_IF + EVT_EXEC_WAIT(N(MakeIllusions)) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_PHASE), N(PHASE_SUMMONED_CLONES)) + EVT_CALL(GetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_BITWISE_OR_CONST(LW(0), N(FLAG_SUMMONED_CLONES_ONCE)) + EVT_CALL(SetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(AttackIcyBreath) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_13) + EVT_WAIT_FRAMES(10) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_206D) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(0)) + EVT_IF_NOT_FLAG(LW(0), STATUS_FLAG_SHRINK) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(1), 20) + EVT_ADD(LW(2), -5) + EVT_CALL(PlayEffect, EFFECT_SPARKLES, 0, LW(0), LW(1), LW(2), 20, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_ELSE + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(1), 8) + EVT_ADD(LW(2), -2) + EVT_CALL(PlayEffect, EFFECT_SPARKLES, 0, LW(0), LW(1), LW(2), 8, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_END_IF + EVT_WAIT_FRAMES(30) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 20) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_1C) + EVT_WAIT_FRAMES(3) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_35D) + 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(GetStatusFlags, ACTOR_SELF, LW(0)) + EVT_IF_NOT_FLAG(LW(0), STATUS_FLAG_SHRINK) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(0), -15) + EVT_ADD(LW(1), 20) + EVT_CALL(PlayEffect, EFFECT_HUFF_PUFF_BREATH, 0, LW(0), LW(1), LW(2), EVT_FLOAT(180.0), EVT_FLOAT(2.0), EVT_FLOAT(0.5), 30, 0, 0, 0, 0, 0) + EVT_CALL(func_80218280_6609D0, LW(15)) + EVT_ELSE + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(0), -6) + EVT_ADD(LW(1), 8) + EVT_CALL(PlayEffect, EFFECT_HUFF_PUFF_BREATH, 0, LW(0), LW(1), LW(2), EVT_FLOAT(180.0), EVT_FLOAT(2.0), EVT_FLOAT(0.2), 30, 0, 0, 0, 0, 0) + EVT_CALL(func_80218280_6609D0, LW(15)) + EVT_END_IF + EVT_CALL(N(StartRumbleWithParams), 70, 60) + EVT_THREAD + EVT_CALL(ShakeCam, 1, 0, 30, EVT_FLOAT(0.3)) + EVT_END_THREAD + EVT_WAIT_FRAMES(30) + EVT_CALL(StopSound, SOUND_35D) + 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(20) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END_SWITCH + EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(0)) + EVT_IF_NOT_FLAG(LW(0), STATUS_FLAG_SHRINK) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(0), -15) + EVT_ADD(LW(1), 20) + EVT_CALL(PlayEffect, EFFECT_HUFF_PUFF_BREATH, 0, LW(0), LW(1), LW(2), EVT_FLOAT(180.0), EVT_FLOAT(2.0), EVT_FLOAT(1.0), 60, 0, 0, 0, 0, 0) + EVT_CALL(func_80218280_6609D0, LW(15)) + EVT_ELSE + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(0), -6) + EVT_ADD(LW(1), 8) + EVT_CALL(PlayEffect, EFFECT_HUFF_PUFF_BREATH, 0, LW(0), LW(1), LW(2), EVT_FLOAT(180.0), EVT_FLOAT(2.0), EVT_FLOAT(1.0), 60, 0, 0, 0, 0, 0) + EVT_CALL(func_80218280_6609D0, LW(15)) + EVT_END_IF + EVT_CALL(N(StartRumbleWithParams), 70, 100) + EVT_THREAD + EVT_CALL(ShakeCam, 1, 0, 50, EVT_FLOAT(0.3)) + EVT_END_THREAD + EVT_WAIT_FRAMES(60) + EVT_CALL(StopSound, SOUND_35D) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_15) + EVT_WAIT_FRAMES(2) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_ICE | DAMAGE_TYPE_NO_CONTACT, 0, 0, 8, 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_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(AttackIceBolt) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_13) + EVT_WAIT_FRAMES(10) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_206D) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(0)) + EVT_IF_NOT_FLAG(LW(0), STATUS_FLAG_SHRINK) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(1), 20) + EVT_ADD(LW(2), -5) + EVT_CALL(PlayEffect, EFFECT_SPARKLES, 0, LW(0), LW(1), LW(2), 20, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_ELSE + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(1), 8) + EVT_ADD(LW(2), -2) + EVT_CALL(PlayEffect, EFFECT_SPARKLES, 0, LW(0), LW(1), LW(2), 8, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_END_IF + EVT_WAIT_FRAMES(30) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 20) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_1C) + EVT_WAIT_FRAMES(3) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2E0) + 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(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(3)) + EVT_IF_NOT_FLAG(LW(3), STATUS_FLAG_SHRINK) + EVT_ADD(LW(0), -15) + EVT_ADD(LW(1), 20) + EVT_ELSE + EVT_ADD(LW(0), -6) + EVT_ADD(LW(1), 8) + EVT_END_IF + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(AddGoalPos, ACTOR_SELF, -50, 20, 0) + EVT_CALL(GetGoalPos, ACTOR_SELF, LW(3), LW(4), LW(5)) + EVT_THREAD + EVT_SUB(LW(3), LW(0)) + EVT_SUB(LW(4), LW(1)) + EVT_SUB(LW(5), LW(2)) + EVT_DIV(LW(3), 10) + EVT_DIV(LW(4), 10) + EVT_DIV(LW(5), 10) + EVT_LOOP(10) + EVT_ADD(LW(0), LW(3)) + EVT_ADD(LW(1), LW(4)) + EVT_ADD(LW(2), LW(5)) + EVT_CALL(PlayEffect, EFFECT_MISC_PARTICLES, 1, LW(0), LW(1), LW(2), 20, -20, EVT_FLOAT(1.0), 5, 30, 0, 0, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_WAIT_FRAMES(3) + EVT_CALL(PlayEffect, EFFECT_LIGHTNING_BOLT, 0, LW(0), LW(1), LW(2), LW(3), LW(4), LW(5), EVT_FLOAT(1.0), 20, 0, 0, 0, 0) + EVT_CALL(func_802182E4_660A34, LW(15)) + EVT_WAIT_FRAMES(10) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_15) + 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(20) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END_SWITCH + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(3)) + EVT_IF_NOT_FLAG(LW(3), STATUS_FLAG_SHRINK) + EVT_ADD(LW(0), -15) + EVT_ADD(LW(1), 20) + EVT_ELSE + EVT_ADD(LW(0), -6) + EVT_ADD(LW(1), 8) + EVT_END_IF + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LW(3), LW(4), LW(5)) + EVT_THREAD + EVT_SUB(LW(3), LW(0)) + EVT_SUB(LW(4), LW(1)) + EVT_SUB(LW(5), LW(2)) + EVT_DIV(LW(3), 10) + EVT_DIV(LW(4), 10) + EVT_DIV(LW(5), 10) + EVT_LOOP(10) + EVT_ADD(LW(0), LW(3)) + EVT_ADD(LW(1), LW(4)) + EVT_ADD(LW(2), LW(5)) + EVT_CALL(PlayEffect, EFFECT_MISC_PARTICLES, 1, LW(0), LW(1), LW(2), 20, -20, EVT_FLOAT(1.0), 5, 30, 0, 0, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_WAIT_FRAMES(3) + EVT_CALL(PlayEffect, EFFECT_LIGHTNING_BOLT, 0, LW(0), LW(1), LW(2), LW(3), LW(4), LW(5), EVT_FLOAT(1.0), 20, 0, 0, 0, 0) + EVT_CALL(func_802182E4_660A34, LW(15)) + EVT_WAIT_FRAMES(7) + EVT_THREAD + EVT_WAIT_FRAMES(3) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_15) + EVT_END_THREAD + EVT_WAIT_FRAMES(2) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_ICE | DAMAGE_TYPE_NO_CONTACT, 0, 0x00000002 | STATUS_FLAG_4 | STATUS_FLAG_8 | 0x00000010 | STATUS_FLAG_20 | STATUS_FLAG_40 | 0x00000080 | STATUS_FLAG_200 | STATUS_FLAG_FROZEN, 6, 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(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(PlayEffect, EFFECT_COLD_BREATH, 0, LW(0), LW(1), LW(2), EVT_FLOAT(2.0), 30, 0, 0, 0, 0, 0, 0, 0) + EVT_CALL(func_80218344_660A94, LW(15)) + EVT_WAIT_FRAMES(30) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +s32 N(clone_statusTable)[] = { + STATUS_NORMAL, 0, + STATUS_DEFAULT, 0, + STATUS_SLEEP, 30, + STATUS_POISON, 0, + STATUS_FROZEN, 0, + STATUS_DIZZY, 40, + STATUS_FEAR, 0, + STATUS_STATIC, 0, + STATUS_PARALYZE, 40, + STATUS_SHRINK, 0, + STATUS_STOP, 50, + STATUS_DEFAULT_TURN_MOD, 0, + STATUS_SLEEP_TURN_MOD, -1, + STATUS_POISON_TURN_MOD, 0, + STATUS_FROZEN_TURN_MOD, 0, + STATUS_DIZZY_TURN_MOD, -1, + STATUS_FEAR_TURN_MOD, 0, + STATUS_STATIC_TURN_MOD, 0, + STATUS_PARALYZE_TURN_MOD, -1, + STATUS_SHRINK_TURN_MOD, -1, + STATUS_STOP_TURN_MOD, -2, + STATUS_END, +}; + +EvtScript N(clone_script) = { + EVT_RETURN + EVT_END +}; + +EvtScript N(clone_init) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_ADDR(N(clone_script))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_ADDR(N(clone_script))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_ADDR(N(clone_script))) + EVT_RETURN + EVT_END +}; + +ActorBlueprint N(clone) = { + .flags = ACTOR_FLAG_NO_ATTACK, + .type = ACTOR_TYPE_CRYSTAL_CLONE, + .level = 0, + .maxHP = 70, + .partCount = ARRAY_COUNT(N(parts)), + .partsData = N(parts), + .script = &N(clone_init), + .statusTable = N(clone_statusTable), + .escapeChance = 0, + .airLiftChance = 0, + .spookChance = 0, + .baseStatusChance = 0, + .upAndAwayChance = 0, + .spinSmashReq = 4, + .powerBounceChance = 0, + .coinReward = 0, + .size = { 56, 56 }, + .hpBarOffset = { 0, 0 }, + .statusIconOffset = { -15, 40 }, + .statusMessageOffset = { 15, 40 }, +}; + +Vec3i N(pos_crystal_clone) = { 0, -1000, 0 }; + +Formation N(clone_formation) = { + { .actor = &N(clone), .home = { .vec = &N(pos_crystal_clone) }, .priority = 0 }, +}; + +EvtScript N(MakeIllusions) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(MoveBattleCamOver, 15) + EVT_WAIT_FRAMES(15) + EVT_CALL(GetActorHP, ACTOR_SELF, LW(10)) + EVT_CALL(SummonEnemy, EVT_ADDR(N(clone_formation)), 0) + EVT_CALL(SetActorFlagBits, LW(0), ACTOR_FLAG_NO_SHADOW, 1) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LW(0)) + EVT_CALL(SetPartEventBits, LW(0), 1, ACTOR_EVENT_FLAG_ILLUSORY, 1) + EVT_CALL(SetEnemyHP, LW(0), LW(10)) + EVT_CALL(CopyStatusEffects, ACTOR_SELF, LW(0)) + EVT_CALL(CopyBuffs, ACTOR_SELF, LW(0)) + EVT_CALL(SummonEnemy, EVT_ADDR(N(clone_formation)), 0) + EVT_CALL(SetActorFlagBits, LW(0), ACTOR_FLAG_NO_SHADOW, 1) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), LW(0)) + EVT_CALL(SetPartEventBits, LW(0), 1, ACTOR_EVENT_FLAG_ILLUSORY, 1) + EVT_CALL(SetEnemyHP, LW(0), LW(10)) + EVT_CALL(CopyStatusEffects, ACTOR_SELF, LW(0)) + EVT_CALL(CopyBuffs, ACTOR_SELF, LW(0)) + EVT_CALL(GetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_IF_FLAG(LW(0), N(FLAG_LOW_HP)) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_1D) + EVT_WAIT_FRAMES(20) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E7) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(7), LW(8), LW(9)) + EVT_CALL(MakeLerp, 0, 41, 30, 11) + EVT_LABEL(10) + EVT_CALL(UpdateLerp) + EVT_ADD(LW(0), LW(8)) + EVT_CALL(SetActorPos, ACTOR_SELF, LW(7), LW(0), LW(9)) + EVT_WAIT_FRAMES(1) + EVT_IF_EQ(LW(1), 1) + EVT_GOTO(10) + EVT_END_IF + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_9) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, 1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LW(0)) + EVT_CALL(SetActorFlagBits, LW(0), ACTOR_FLAG_FLYING, 1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), LW(0)) + EVT_CALL(SetActorFlagBits, LW(0), ACTOR_FLAG_FLYING, 1) + EVT_EXEC_GET_TID(N(FlyWithClones), LW(0)) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_FLY_THREAD_ID), LW(0)) + EVT_END_IF + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_B) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LW(10)) + EVT_CALL(SetActorPos, LW(10), LW(0), LW(1), LW(2)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), LW(10)) + EVT_CALL(SetActorPos, LW(10), LW(0), LW(1), LW(2)) + EVT_WAIT_FRAMES(1) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_0) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_9) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LW(0)) + EVT_CALL(UseIdleAnimation, LW(0), FALSE) + EVT_CALL(SetAnimation, LW(0), 1, NPC_ANIM_crystal_king_Palette_00_Anim_0) + EVT_CALL(SetAnimation, LW(0), 1, NPC_ANIM_crystal_king_Palette_00_Anim_9) + EVT_CALL(UseIdleAnimation, LW(0), TRUE) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), LW(0)) + EVT_CALL(UseIdleAnimation, LW(0), FALSE) + EVT_CALL(SetAnimation, LW(0), 1, NPC_ANIM_crystal_king_Palette_00_Anim_0) + EVT_CALL(SetAnimation, LW(0), 1, NPC_ANIM_crystal_king_Palette_00_Anim_9) + EVT_CALL(UseIdleAnimation, LW(0), TRUE) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2DF) + EVT_CALL(EnableActorBlur, ACTOR_SELF, 1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LW(0)) + EVT_CALL(EnableActorBlur, LW(0), 1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), LW(0)) + EVT_CALL(EnableActorBlur, LW(0), 1) + EVT_THREAD + EVT_CALL(MakeLerp, 0, 6840, 210, 10) + EVT_LABEL(0) + EVT_CALL(UpdateLerp) + EVT_CALL(SetActorYaw, ACTOR_SELF, LW(0)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LW(2)) + EVT_CALL(SetActorYaw, LW(2), LW(0)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), LW(2)) + EVT_CALL(SetActorYaw, LW(2), LW(0)) + EVT_WAIT_FRAMES(1) + EVT_IF_EQ(LW(1), 1) + EVT_GOTO(0) + EVT_END_IF + EVT_END_THREAD + EVT_CALL(MakeLerp, 255, 128, 30, 10) + EVT_LABEL(1) + EVT_CALL(UpdateLerp) + EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LW(0)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LW(2)) + EVT_CALL(SetPartAlpha, LW(2), 1, LW(0)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), LW(2)) + EVT_CALL(SetPartAlpha, LW(2), 1, LW(0)) + EVT_WAIT_FRAMES(1) + EVT_IF_EQ(LW(1), 1) + EVT_GOTO(1) + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_BITWISE_OR_CONST(LW(0), N(FLAG_HAS_CLONES)) + EVT_CALL(SetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_WAIT_FRAMES(60) + EVT_CALL(RandInt, 1000, LW(0)) + EVT_MOD(LW(0), 3) + EVT_SWITCH(LW(0)) + EVT_CASE_EQ(0) + EVT_SET(LW(10), ACTOR_SELF) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LW(11)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), LW(12)) + EVT_CASE_EQ(1) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LW(10)) + EVT_SET(LW(11), ACTOR_SELF) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), LW(12)) + EVT_CASE_EQ(2) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LW(10)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), LW(11)) + EVT_SET(LW(12), ACTOR_SELF) + EVT_END_SWITCH + EVT_CALL(SetActorFlagBits, LW(10), ACTOR_FLAG_NO_SHADOW, 0) + EVT_CALL(SetActorFlagBits, LW(11), ACTOR_FLAG_NO_SHADOW, 0) + EVT_CALL(SetActorFlagBits, LW(12), ACTOR_FLAG_NO_SHADOW, 0) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 150) + EVT_THREAD + EVT_CALL(GetActorPos, LW(10), LW(0), LW(1), LW(2)) + EVT_SET(LW(3), 18) + EVT_SET(LW(5), 5) + EVT_SUB(LW(3), LW(0)) + EVT_SUB(LW(5), LW(2)) + EVT_DIVF(LW(3), EVT_FLOAT(60.0)) + EVT_DIVF(LW(5), EVT_FLOAT(60.0)) + EVT_LOOP(60) + EVT_ADDF(LW(0), LW(3)) + EVT_ADDF(LW(2), LW(5)) + EVT_CALL(SetActorPos, LW(10), LW(0), LW(1), LW(2)) + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_CALL(GetActorPos, LW(11), LW(0), LW(1), LW(2)) + EVT_SET(LW(3), 70) + EVT_SET(LW(5), 5) + EVT_SUB(LW(3), LW(0)) + EVT_SUB(LW(5), LW(2)) + EVT_DIVF(LW(3), EVT_FLOAT(60.0)) + EVT_DIVF(LW(5), EVT_FLOAT(60.0)) + EVT_LOOP(60) + EVT_ADDF(LW(0), LW(3)) + EVT_ADDF(LW(2), LW(5)) + EVT_CALL(SetActorPos, LW(11), LW(0), LW(1), LW(2)) + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_CALL(GetActorPos, LW(12), LW(0), LW(1), LW(2)) + EVT_SET(LW(3), 122) + EVT_SET(LW(5), 5) + EVT_SUB(LW(3), LW(0)) + EVT_SUB(LW(5), LW(2)) + EVT_DIVF(LW(3), EVT_FLOAT(60.0)) + EVT_DIVF(LW(5), EVT_FLOAT(60.0)) + EVT_LOOP(60) + EVT_ADDF(LW(0), LW(3)) + EVT_ADDF(LW(2), LW(5)) + EVT_CALL(SetActorPos, LW(12), LW(0), LW(1), LW(2)) + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_WAIT_FRAMES(90) + EVT_WAIT_FRAMES(30) + EVT_WAIT_FRAMES(30) + EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) + EVT_CALL(GetActorPos, 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_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LW(10)) + EVT_CALL(EnableActorBlur, LW(10), 0) + EVT_CALL(GetActorPos, LW(10), LW(0), LW(1), LW(2)) + EVT_CALL(ForceHomePos, LW(10), LW(0), LW(1), LW(2)) + EVT_CALL(HPBarToHome, LW(10)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), LW(10)) + EVT_CALL(EnableActorBlur, LW(10), 0) + EVT_CALL(GetActorPos, LW(10), LW(0), LW(1), LW(2)) + EVT_CALL(ForceHomePos, LW(10), LW(0), LW(1), LW(2)) + EVT_CALL(HPBarToHome, LW(10)) + EVT_CALL(GetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_BITWISE_AND_CONST(LW(0), ~N(FLAG_IGNORE_IMMUNE)) + EVT_CALL(SetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_WAIT_FRAMES(20) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +Formation N(formation_bit_1) = { + { .actor = &b_area_pra2_crystal_bit_1, .home = { .vec = &N(pos_crystal_clone) }, .priority = 0 }, +}; + +Formation N(formation_bit_2) = { + { .actor = &b_area_pra2_crystal_bit_2, .home = { .vec = &N(pos_crystal_clone) }, .priority = 0 }, +}; + +Formation N(formation_bit_3) = { + { .actor = &b_area_pra2_crystal_bit_3, .home = { .vec = &N(pos_crystal_clone) }, .priority = 0 }, +}; + +s32 N(array_1)[16] = { }; + +s32 N(array_2)[16] = { }; + +s32 N(array_3)[16] = { }; + +EvtScript N(CrystalBitAppear) = { + EVT_USE_ARRAY(LW(4)) + EVT_SET(UW(0), LW(0)) + EVT_SETF(UW(1), LW(1)) + EVT_SETF(UW(2), LW(2)) + EVT_SETF(UW(3), LW(3)) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(10), LW(11), LW(12)) + EVT_SUBF(LW(2), LW(11)) + EVT_DIVF(LW(2), EVT_FLOAT(120.0)) + EVT_SETF(UW(4), LW(2)) + EVT_SETF(LW(6), LW(11)) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(10), LW(11), LW(12)) + EVT_CALL(GetDist2D, LW(13), LW(10), LW(12), LW(1), LW(3)) + EVT_DIVF(LW(13), EVT_FLOAT(120.0)) + EVT_SETF(UW(5), LW(13)) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(10), LW(11), LW(12)) + EVT_CALL(func_802183A4_660AF4, UW(6), LW(10), LW(12), LW(1), LW(3)) + EVT_CALL(SetPartAlpha, LW(0), 1, 0) + EVT_THREAD + EVT_WAIT_FRAMES(30) + EVT_CALL(EnableActorBlur, LW(0), 1) + EVT_SET(LW(9), LW(0)) + EVT_CALL(MakeLerp, 0, 255, 90, 0) + EVT_LABEL(0) + EVT_CALL(UpdateLerp) + EVT_CALL(SetPartAlpha, LW(9), 1, LW(0)) + EVT_WAIT_FRAMES(1) + EVT_IF_EQ(LW(1), 1) + EVT_GOTO(0) + EVT_END_IF + EVT_END_THREAD + EVT_SETF(LW(5), EVT_FLOAT(0.0)) + EVT_CALL(MakeLerp, 0, 2880, 120, 11) + EVT_LABEL(1) + EVT_CALL(UpdateLerp) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(2), LW(3), LW(4)) + EVT_ADDF(LW(5), UW(5)) + EVT_ADDF(LW(0), UW(6)) + EVT_CALL(AddVectorPolar, LW(2), LW(4), LW(5), LW(0)) + EVT_ADDF(LW(6), UW(4)) + EVT_CALL(SetActorPos, UW(0), LW(2), LW(6), LW(4)) + EVT_WAIT_FRAMES(1) + EVT_IF_EQ(LW(1), 1) + EVT_GOTO(1) + EVT_END_IF + EVT_CALL(EnableActorBlur, UW(0), 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(SummonCrystalBits) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(MoveBattleCamOver, 15) + EVT_WAIT_FRAMES(15) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_1E) + EVT_WAIT_FRAMES(20) + EVT_CALL(SummonEnemy, EVT_ADDR(N(formation_bit_1)), 0) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_BIT1_ID), LW(0)) + EVT_CALL(SummonEnemy, EVT_ADDR(N(formation_bit_2)), 0) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_BIT2_ID), LW(0)) + EVT_CALL(SummonEnemy, EVT_ADDR(N(formation_bit_3)), 0) + EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_BIT3_ID), LW(0)) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(0)) + EVT_IF_FLAG(LW(0), STATUS_FLAG_SHRINK) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT1_ID), LW(0)) + EVT_CALL(SetPartScale, LW(0), 1, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT2_ID), LW(0)) + EVT_CALL(SetPartScale, LW(0), 1, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT3_ID), LW(0)) + EVT_CALL(SetPartScale, LW(0), 1, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_END_IF + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_1F) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2DE) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT3_ID), LW(0)) + EVT_SETF(LW(1), EVT_FLOAT(42.0)) + EVT_SETF(LW(2), EVT_FLOAT(85.0)) + EVT_SETF(LW(3), EVT_FLOAT(-10.0)) + EVT_SET(LW(4), N(array_3)) + EVT_EXEC(N(CrystalBitAppear)) + EVT_WAIT_FRAMES(10) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT2_ID), LW(0)) + EVT_SETF(LW(1), EVT_FLOAT(112.0)) + EVT_SETF(LW(2), EVT_FLOAT(52.0)) + EVT_SETF(LW(3), EVT_FLOAT(-5.0)) + EVT_SET(LW(4), N(array_2)) + EVT_EXEC(N(CrystalBitAppear)) + EVT_WAIT_FRAMES(24) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT1_ID), LW(0)) + EVT_SETF(LW(1), EVT_FLOAT(10.0)) + EVT_SETF(LW(2), EVT_FLOAT(35.0)) + EVT_SETF(LW(3), EVT_FLOAT(-5.0)) + EVT_SET(LW(4), N(array_1)) + EVT_EXEC(N(CrystalBitAppear)) + EVT_WAIT_FRAMES(130) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT1_ID), LW(0)) + EVT_CALL(ForceHomePos, LW(0), 10, 35, -5) + EVT_CALL(HPBarToHome, LW(0)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT2_ID), LW(0)) + EVT_CALL(ForceHomePos, LW(0), 112, 52, -5) + EVT_CALL(HPBarToHome, LW(0)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT3_ID), LW(0)) + EVT_CALL(ForceHomePos, LW(0), 42, 85, -10) + EVT_CALL(HPBarToHome, LW(0)) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(AttackIcyBreathWithClones) = { + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LW(10)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), LW(11)) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(UseIdleAnimation, LW(10), FALSE) + EVT_CALL(UseIdleAnimation, LW(11), FALSE) + EVT_CALL(GetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_BITWISE_OR_CONST(LW(0), N(FLAG_NOT_IDLE)) + EVT_CALL(SetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19) + EVT_CALL(SetBattleCamZoom, 350) + EVT_CALL(SetBattleCamOffsetZ, 35) + EVT_CALL(GetActorFlags, ACTOR_SELF, LW(0)) + EVT_IF_FLAG(LW(0), ACTOR_FLAG_FLYING) + EVT_CALL(SetBattleCamTarget, 70, 41, 5) + EVT_ELSE + EVT_CALL(SetBattleCamTarget, 70, 0, 5) + EVT_END_IF + EVT_CALL(MoveBattleCamOver, 15) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_13) + EVT_CALL(SetAnimation, LW(10), 1, NPC_ANIM_crystal_king_Palette_00_Anim_13) + EVT_CALL(SetAnimation, LW(11), 1, NPC_ANIM_crystal_king_Palette_00_Anim_13) + EVT_WAIT_FRAMES(10) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_206D) + EVT_CALL(PlaySoundAtActor, LW(10), SOUND_206D) + EVT_CALL(PlaySoundAtActor, LW(11), SOUND_206D) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(9)) + EVT_IF_NOT_FLAG(LW(9), STATUS_FLAG_SHRINK) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(1), 20) + EVT_ADD(LW(2), -5) + EVT_CALL(PlayEffect, EFFECT_SPARKLES, 0, LW(0), LW(1), LW(2), 20, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_CALL(GetActorPos, LW(10), LW(0), LW(1), LW(2)) + EVT_ADD(LW(1), 20) + EVT_ADD(LW(2), -5) + EVT_CALL(PlayEffect, EFFECT_SPARKLES, 0, LW(0), LW(1), LW(2), 20, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_CALL(GetActorPos, LW(11), LW(0), LW(1), LW(2)) + EVT_ADD(LW(1), 20) + EVT_ADD(LW(2), -5) + EVT_CALL(PlayEffect, EFFECT_SPARKLES, 0, LW(0), LW(1), LW(2), 20, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_ELSE + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(1), 8) + EVT_ADD(LW(2), -2) + EVT_CALL(PlayEffect, EFFECT_SPARKLES, 0, LW(0), LW(1), LW(2), 8, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_CALL(GetActorPos, LW(10), LW(0), LW(1), LW(2)) + EVT_ADD(LW(1), 8) + EVT_ADD(LW(2), -2) + EVT_CALL(PlayEffect, EFFECT_SPARKLES, 0, LW(0), LW(1), LW(2), 8, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_CALL(GetActorPos, LW(11), LW(0), LW(1), LW(2)) + EVT_ADD(LW(1), 8) + EVT_ADD(LW(2), -2) + EVT_CALL(PlayEffect, EFFECT_SPARKLES, 0, LW(0), LW(1), LW(2), 8, 0, 0, 0, 0, 0, 0, 0, 0) + EVT_END_IF + EVT_WAIT_FRAMES(30) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 20) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_1C) + EVT_CALL(SetAnimation, LW(10), 1, NPC_ANIM_crystal_king_Palette_00_Anim_1C) + EVT_CALL(SetAnimation, LW(11), 1, NPC_ANIM_crystal_king_Palette_00_Anim_1C) + EVT_WAIT_FRAMES(3) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_35D) + 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(5), LW(0)) + EVT_CALL(GetActorFlags, ACTOR_SELF, LW(0)) + EVT_IF_FLAG(LW(0), ACTOR_FLAG_FLYING) + EVT_SETF(LW(3), EVT_FLOAT(195.0)) + EVT_ELSE + EVT_SETF(LW(3), EVT_FLOAT(180.0)) + EVT_END_IF + EVT_CALL(N(StartRumbleWithParams), 100, 60) + EVT_THREAD + EVT_CALL(ShakeCam, 1, 0, 30, EVT_FLOAT(0.3)) + EVT_END_THREAD + EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(9)) + EVT_IF_NOT_FLAG(LW(9), STATUS_FLAG_SHRINK) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(0), -15) + EVT_ADD(LW(1), 20) + EVT_CALL(PlayEffect, EFFECT_HUFF_PUFF_BREATH, 0, LW(0), LW(1), LW(2), LW(3), EVT_FLOAT(2.0), EVT_FLOAT(1.0), 30, 0, 0, 0, 0, 0) + EVT_CALL(func_80218280_6609D0, LW(15)) + EVT_CALL(GetActorPos, LW(10), LW(0), LW(1), LW(2)) + EVT_ADD(LW(0), -15) + EVT_ADD(LW(1), 20) + EVT_CALL(PlayEffect, EFFECT_HUFF_PUFF_BREATH, 0, LW(0), LW(1), LW(2), LW(3), EVT_FLOAT(2.0), EVT_FLOAT(1.0), 30, 0, 0, 0, 0, 0) + EVT_CALL(func_80218280_6609D0, LW(15)) + EVT_CALL(GetActorPos, LW(11), LW(0), LW(1), LW(2)) + EVT_ADD(LW(0), -15) + EVT_ADD(LW(1), 20) + EVT_CALL(PlayEffect, EFFECT_HUFF_PUFF_BREATH, 0, LW(0), LW(1), LW(2), LW(3), EVT_FLOAT(2.0), EVT_FLOAT(1.0), 30, 0, 0, 0, 0, 0) + EVT_CALL(func_80218280_6609D0, LW(15)) + EVT_ELSE + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(0), -6) + EVT_ADD(LW(1), 8) + EVT_CALL(PlayEffect, EFFECT_HUFF_PUFF_BREATH, 0, LW(0), LW(1), LW(2), LW(3), EVT_FLOAT(2.0), EVT_FLOAT(0.4), 30, 0, 0, 0, 0, 0) + EVT_CALL(func_80218280_6609D0, LW(15)) + EVT_CALL(GetActorPos, LW(10), LW(0), LW(1), LW(2)) + EVT_ADD(LW(0), -6) + EVT_ADD(LW(1), 8) + EVT_CALL(PlayEffect, EFFECT_HUFF_PUFF_BREATH, 0, LW(0), LW(1), LW(2), LW(3), EVT_FLOAT(2.0), EVT_FLOAT(0.4), 30, 0, 0, 0, 0, 0) + EVT_CALL(func_80218280_6609D0, LW(15)) + EVT_CALL(GetActorPos, LW(11), LW(0), LW(1), LW(2)) + EVT_ADD(LW(0), -6) + EVT_ADD(LW(1), 8) + EVT_CALL(PlayEffect, EFFECT_HUFF_PUFF_BREATH, 0, LW(0), LW(1), LW(2), LW(3), EVT_FLOAT(2.0), EVT_FLOAT(0.4), 30, 0, 0, 0, 0, 0) + EVT_CALL(func_80218280_6609D0, LW(15)) + EVT_END_IF + EVT_WAIT_FRAMES(30) + EVT_CALL(StopSound, SOUND_35D) + EVT_IF_EQ(LW(5), HIT_RESULT_LUCKY) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_WAIT_FRAMES(20) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(GetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_BITWISE_AND_CONST(LW(0), ~N(FLAG_NOT_IDLE)) + EVT_CALL(SetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_CALL(UseIdleAnimation, LW(10), TRUE) + EVT_CALL(UseIdleAnimation, LW(11), TRUE) + EVT_RETURN + EVT_END_SWITCH + EVT_CALL(GetActorFlags, ACTOR_SELF, LW(0)) + EVT_IF_FLAG(LW(0), ACTOR_FLAG_FLYING) + EVT_SETF(LW(3), EVT_FLOAT(195.0)) + EVT_ELSE + EVT_SETF(LW(3), EVT_FLOAT(180.0)) + EVT_END_IF + EVT_CALL(N(StartRumbleWithParams), 100, 120) + EVT_THREAD + EVT_CALL(ShakeCam, 1, 0, 60, EVT_FLOAT(0.3)) + EVT_END_THREAD + EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(9)) + EVT_IF_NOT_FLAG(LW(9), STATUS_FLAG_SHRINK) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(0), -15) + EVT_ADD(LW(1), 20) + EVT_CALL(PlayEffect, EFFECT_HUFF_PUFF_BREATH, 0, LW(0), LW(1), LW(2), LW(3), EVT_FLOAT(2.0), EVT_FLOAT(1.0), 60, 0, 0, 0, 0, 0) + EVT_CALL(func_80218280_6609D0, LW(15)) + EVT_CALL(GetActorPos, LW(10), LW(0), LW(1), LW(2)) + EVT_ADD(LW(0), -15) + EVT_ADD(LW(1), 20) + EVT_CALL(PlayEffect, EFFECT_HUFF_PUFF_BREATH, 0, LW(0), LW(1), LW(2), LW(3), EVT_FLOAT(2.0), EVT_FLOAT(1.0), 60, 0, 0, 0, 0, 0) + EVT_CALL(func_80218280_6609D0, LW(15)) + EVT_CALL(GetActorPos, LW(11), LW(0), LW(1), LW(2)) + EVT_ADD(LW(0), -15) + EVT_ADD(LW(1), 20) + EVT_CALL(PlayEffect, EFFECT_HUFF_PUFF_BREATH, 0, LW(0), LW(1), LW(2), LW(3), EVT_FLOAT(2.0), EVT_FLOAT(1.0), 60, 0, 0, 0, 0, 0) + EVT_CALL(func_80218280_6609D0, LW(15)) + EVT_ELSE + EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_ADD(LW(0), -6) + EVT_ADD(LW(1), 8) + EVT_CALL(PlayEffect, EFFECT_HUFF_PUFF_BREATH, 0, LW(0), LW(1), LW(2), LW(3), EVT_FLOAT(2.0), EVT_FLOAT(1.0), 60, 0, 0, 0, 0, 0) + EVT_CALL(func_80218280_6609D0, LW(15)) + EVT_CALL(GetActorPos, LW(10), LW(0), LW(1), LW(2)) + EVT_ADD(LW(0), -6) + EVT_ADD(LW(1), 8) + EVT_CALL(PlayEffect, EFFECT_HUFF_PUFF_BREATH, 0, LW(0), LW(1), LW(2), LW(3), EVT_FLOAT(2.0), EVT_FLOAT(1.0), 60, 0, 0, 0, 0, 0) + EVT_CALL(func_80218280_6609D0, LW(15)) + EVT_CALL(GetActorPos, LW(11), LW(0), LW(1), LW(2)) + EVT_ADD(LW(0), -6) + EVT_ADD(LW(1), 8) + EVT_CALL(PlayEffect, EFFECT_HUFF_PUFF_BREATH, 0, LW(0), LW(1), LW(2), LW(3), EVT_FLOAT(2.0), EVT_FLOAT(1.0), 60, 0, 0, 0, 0, 0) + EVT_CALL(func_80218280_6609D0, LW(15)) + EVT_END_IF + EVT_WAIT_FRAMES(60) + EVT_CALL(StopSound, SOUND_35D) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_15) + EVT_CALL(SetAnimation, LW(10), 1, NPC_ANIM_crystal_king_Palette_00_Anim_15) + EVT_CALL(SetAnimation, LW(11), 1, NPC_ANIM_crystal_king_Palette_00_Anim_15) + EVT_WAIT_FRAMES(2) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_ICE | DAMAGE_TYPE_NO_CONTACT, 0, 0, 8, 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_WAIT_FRAMES(20) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(GetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_BITWISE_AND_CONST(LW(0), ~N(FLAG_NOT_IDLE)) + EVT_CALL(SetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LW(0)) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_CALL(UseIdleAnimation, LW(10), TRUE) + EVT_CALL(UseIdleAnimation, LW(11), TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(MoveBitToTarget) = { + EVT_SET(LW(10), LW(0)) + EVT_SET(LW(11), LW(1)) + EVT_CALL(UseIdleAnimation, LW(10), FALSE) + EVT_CALL(GetActorPos, LW(10), LW(0), LW(1), LW(2)) + EVT_CALL(GetActorPos, ACTOR_SELF, LW(3), LW(4), LW(5)) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(9)) + EVT_IF_NOT_FLAG(LW(9), STATUS_FLAG_SHRINK) + EVT_ADD(LW(3), -15) + EVT_ADD(LW(4), 20) + EVT_ELSE + EVT_ADD(LW(3), -6) + EVT_ADD(LW(4), 8) + EVT_END_IF + EVT_CALL(func_8021848C_660BDC, LW(11), LW(0), LW(1), LW(2), LW(3), LW(4), LW(5)) + EVT_CALL(LoadPath, 30, LW(11), 3, 1) + EVT_LABEL(0) + EVT_CALL(GetNextPathPos) + EVT_CALL(SetActorPos, LW(10), LW(1), LW(2), LW(3)) + EVT_WAIT_FRAMES(1) + EVT_IF_EQ(LW(0), 1) + EVT_GOTO(0) + EVT_END_IF + EVT_CALL(SetPartFlagBits, LW(10), 1, ACTOR_PART_FLAG_INVISIBLE, 1) + EVT_CALL(SetActorFlagBits, LW(10), ACTOR_FLAG_NO_SHADOW, 1) + EVT_RETURN + EVT_END +}; + +EvtScript N(RemoveCrystalBit) = { + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3D9) + EVT_SET(LW(10), LW(0)) + EVT_CALL(SetPartFlagBits, LW(10), 1, ACTOR_PART_FLAG_INVISIBLE, 0) + EVT_CALL(SetActorFlagBits, LW(10), ACTOR_FLAG_NO_SHADOW, 0) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(AddGoalPos, ACTOR_SELF, -150, 0, 0) + EVT_CALL(GetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(GetActorPos, LW(10), LW(3), LW(4), LW(5)) + EVT_THREAD + EVT_SUB(LW(0), LW(3)) + EVT_SUB(LW(1), LW(4)) + EVT_SUB(LW(2), LW(5)) + EVT_DIV(LW(0), 10) + EVT_DIV(LW(1), 10) + EVT_DIV(LW(2), 10) + EVT_LOOP(10) + EVT_ADD(LW(3), LW(0)) + EVT_ADD(LW(4), LW(1)) + EVT_ADD(LW(5), LW(2)) + EVT_CALL(PlayEffect, EFFECT_MISC_PARTICLES, 1, LW(3), LW(4), LW(5), 20, -20, EVT_FLOAT(1.0), 5, 30, 0, 0, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_CALL(SetActorSpeed, LW(10), EVT_FLOAT(16.0)) + EVT_CALL(SetGoalPos, LW(10), LW(0), LW(1), LW(2)) + EVT_CALL(FlyToGoal, LW(10), 0, 0, 0) + EVT_CALL(GetActorVar, LW(10), 0, LW(15)) + EVT_CALL(RemoveEffect, LW(15)) + EVT_CALL(RemoveActor, LW(10)) + EVT_RETURN + EVT_END +}; + +EvtScript N(AttackWithCrystalBit) = { + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3D9) + EVT_SET(LW(10), LW(0)) + EVT_CALL(SetPartFlagBits, LW(10), 1, ACTOR_PART_FLAG_INVISIBLE, 0) + EVT_CALL(SetActorFlagBits, LW(10), ACTOR_FLAG_NO_SHADOW, 0) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2)) + EVT_CALL(GetActorPos, LW(10), LW(3), LW(4), LW(5)) + EVT_THREAD + EVT_SUB(LW(0), LW(3)) + EVT_SUB(LW(1), LW(4)) + EVT_SUB(LW(2), LW(5)) + EVT_DIV(LW(0), 10) + EVT_DIV(LW(1), 10) + EVT_DIV(LW(2), 10) + EVT_LOOP(10) + EVT_ADD(LW(3), LW(0)) + EVT_ADD(LW(4), LW(1)) + EVT_ADD(LW(5), LW(2)) + EVT_CALL(PlayEffect, EFFECT_MISC_PARTICLES, 1, LW(3), LW(4), LW(5), 20, -20, EVT_FLOAT(1.0), 5, 30, 0, 0, 0, 0) + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_CALL(SetActorSpeed, LW(10), EVT_FLOAT(16.0)) + EVT_CALL(SetGoalPos, LW(10), LW(0), LW(1), LW(2)) + EVT_CALL(FlyToGoal, LW(10), 0, 0, 0) + EVT_WAIT_FRAMES(2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_ICE | DAMAGE_TYPE_NO_CONTACT, 0, 0, 4, 0) + EVT_CALL(SetActorJumpGravity, LW(10), EVT_FLOAT(1.0)) + EVT_CALL(GetActorPos, LW(10), LW(1), LW(2), LW(3)) + EVT_SUB(LW(1), 100) + EVT_CALL(RandInt, 50, LW(4)) + EVT_ADD(LW(2), LW(4)) + EVT_CALL(SetGoalPos, LW(10), LW(1), LW(2), LW(3)) + EVT_CALL(JumpToGoal, LW(10), 20, FALSE, TRUE, FALSE) + EVT_CALL(GetActorVar, LW(10), 0, LW(15)) + EVT_CALL(RemoveEffect, LW(15)) + EVT_CALL(RemoveActor, LW(10)) + EVT_RETURN + EVT_END +}; + +EvtScript N(NormalAttack) = { + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) + EVT_CALL(BattleCamTargetActor, ACTOR_SELF) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_1C) + EVT_WAIT_FRAMES(20) + EVT_CALL(N(StartRumbleWithParams), 70, 60) + EVT_THREAD + EVT_CALL(ShakeCam, 1, 0, 30, EVT_FLOAT(0.2)) + EVT_END_THREAD + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3AF) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT1_ID), LW(0)) + EVT_CALL(ActorExists, LW(0), LW(1)) + EVT_IF_EQ(LW(1), TRUE) + EVT_SET(LW(1), &N(paths)[0]) + EVT_EXEC_GET_TID(N(MoveBitToTarget), LW(10)) + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT2_ID), LW(0)) + EVT_CALL(ActorExists, LW(0), LW(1)) + EVT_IF_EQ(LW(1), TRUE) + EVT_SET(LW(1), &N(paths)[1]) + EVT_EXEC_GET_TID(N(MoveBitToTarget), LW(10)) + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT3_ID), LW(0)) + EVT_CALL(ActorExists, LW(0), LW(1)) + EVT_IF_EQ(LW(1), TRUE) + EVT_SET(LW(1), &N(paths)[2]) + EVT_EXEC_GET_TID(N(MoveBitToTarget), LW(10)) + EVT_END_IF + EVT_LABEL(0) + EVT_IS_THREAD_RUNNING(LW(10), LW(0)) + EVT_IF_EQ(LW(0), 1) + EVT_WAIT_FRAMES(1) + EVT_GOTO(0) + EVT_END_IF + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_13) + EVT_WAIT_FRAMES(30) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(MoveBattleCamOver, 15) + 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(9), LW(0)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT1_ID), LW(0)) + EVT_CALL(ActorExists, LW(0), LW(1)) + EVT_IF_EQ(LW(1), TRUE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_1C) + EVT_EXEC_GET_TID(N(RemoveCrystalBit), LW(10)) + EVT_WAIT_FRAMES(4) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_15) + EVT_WAIT_FRAMES(6) + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT2_ID), LW(0)) + EVT_CALL(ActorExists, LW(0), LW(1)) + EVT_IF_EQ(LW(1), TRUE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_1C) + EVT_EXEC_GET_TID(N(RemoveCrystalBit), LW(10)) + EVT_WAIT_FRAMES(4) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_15) + EVT_WAIT_FRAMES(6) + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT3_ID), LW(0)) + EVT_CALL(ActorExists, LW(0), LW(1)) + EVT_IF_EQ(LW(1), TRUE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_1C) + EVT_EXEC_GET_TID(N(RemoveCrystalBit), LW(10)) + EVT_WAIT_FRAMES(4) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_15) + EVT_WAIT_FRAMES(6) + EVT_END_IF + EVT_LABEL(1) + EVT_IS_THREAD_RUNNING(LW(10), LW(0)) + EVT_IF_EQ(LW(0), 1) + EVT_WAIT_FRAMES(1) + EVT_GOTO(1) + EVT_END_IF + EVT_IF_EQ(LW(9), HIT_RESULT_LUCKY) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) + EVT_END_IF + EVT_WAIT_FRAMES(30) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END_SWITCH + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT1_ID), LW(0)) + EVT_CALL(ActorExists, LW(0), LW(1)) + EVT_IF_EQ(LW(1), TRUE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_1C) + EVT_EXEC_GET_TID(N(AttackWithCrystalBit), LW(10)) + EVT_WAIT_FRAMES(4) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_15) + EVT_WAIT_FRAMES(6) + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT2_ID), LW(0)) + EVT_CALL(ActorExists, LW(0), LW(1)) + EVT_IF_EQ(LW(1), TRUE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_1C) + EVT_EXEC_GET_TID(N(AttackWithCrystalBit), LW(10)) + EVT_WAIT_FRAMES(4) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_15) + EVT_WAIT_FRAMES(6) + EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT3_ID), LW(0)) + EVT_CALL(ActorExists, LW(0), LW(1)) + EVT_IF_EQ(LW(1), TRUE) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_1C) + EVT_EXEC_GET_TID(N(AttackWithCrystalBit), LW(10)) + EVT_WAIT_FRAMES(4) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_15) + EVT_WAIT_FRAMES(6) + EVT_END_IF + EVT_LABEL(4) + EVT_IS_THREAD_RUNNING(LW(10), LW(0)) + EVT_IF_EQ(LW(0), 1) + EVT_WAIT_FRAMES(1) + EVT_GOTO(4) + EVT_END_IF + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(Heal) = { + EVT_SET(LF(0), 0) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PHASE), LW(0)) + EVT_SWITCH(LW(0)) + EVT_CASE_OR_EQ(N(PHASE_SUMMONED_CLONES)) + EVT_CASE_OR_EQ(N(PHASE_ATTACKED_WITH_CLONES)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LW(10)) + EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), LW(11)) + EVT_CALL(ActorExists, LW(10), LW(0)) + EVT_IF_EQ(LW(0), TRUE) + EVT_SET(LF(0), 1) + EVT_END_IF + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) + EVT_IF_EQ(LF(0), 1) + EVT_CALL(UseIdleAnimation, LW(10), FALSE) + EVT_CALL(EnableIdleScript, LW(10), 0) + EVT_CALL(UseIdleAnimation, LW(11), FALSE) + EVT_CALL(EnableIdleScript, LW(11), 0) + EVT_END_IF + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19) + EVT_CALL(SetBattleCamZoom, 350) + EVT_CALL(SetBattleCamOffsetZ, 50) + EVT_CALL(GetActorFlags, ACTOR_SELF, LW(0)) + EVT_IF_FLAG(LW(0), ACTOR_FLAG_FLYING) + EVT_CALL(SetBattleCamTarget, 70, 41, 5) + EVT_ELSE + EVT_CALL(SetBattleCamTarget, 70, 0, 5) + EVT_END_IF + EVT_CALL(MoveBattleCamOver, 20) + EVT_WAIT_FRAMES(20) + EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_crystal_king_Palette_00_Anim_1D) + EVT_IF_EQ(LF(0), 1) + EVT_CALL(SetAnimation, LW(10), 1, NPC_ANIM_crystal_king_Palette_00_Anim_1D) + EVT_CALL(SetAnimation, LW(11), 1, NPC_ANIM_crystal_king_Palette_00_Anim_1D) + EVT_END_IF + EVT_WAIT_FRAMES(20) + EVT_THREAD + EVT_WAIT_FRAMES(5) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_206D) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_214) + EVT_WAIT_FRAMES(30) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_25C) + EVT_END_THREAD + EVT_IF_EQ(LF(0), 1) + EVT_THREAD + EVT_WAIT_FRAMES(5) + EVT_CALL(PlaySoundAtActor, LW(10), SOUND_206D) + EVT_CALL(PlaySoundAtActor, LW(10), SOUND_214) + EVT_WAIT_FRAMES(30) + EVT_CALL(PlaySoundAtActor, LW(10), SOUND_25C) + EVT_END_THREAD + EVT_THREAD + EVT_WAIT_FRAMES(5) + EVT_CALL(PlaySoundAtActor, LW(11), SOUND_206D) + EVT_CALL(PlaySoundAtActor, LW(11), SOUND_214) + EVT_WAIT_FRAMES(30) + EVT_CALL(PlaySoundAtActor, LW(11), SOUND_25C) + EVT_END_THREAD + EVT_END_IF + EVT_IF_EQ(LF(0), 0) + EVT_THREAD + EVT_CALL(func_8026BF48, 1) + EVT_CALL(HealActor, ACTOR_SELF, 20, 0) + EVT_CALL(func_8026BF48, 0) + EVT_END_THREAD + EVT_ELSE + EVT_THREAD + EVT_CALL(func_8026BF48, 1) + EVT_CALL(HealActor, ACTOR_SELF, 20, 1) + EVT_CALL(func_8026BF48, 0) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(func_8026BF48, 1) + EVT_CALL(HealActor, LW(10), 20, 1) + EVT_CALL(func_8026BF48, 0) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(func_8026BF48, 1) + EVT_CALL(HealActor, LW(11), 20, 1) + EVT_CALL(func_8026BF48, 0) + EVT_END_THREAD + EVT_CALL(SetAnimation, LW(10), 1, NPC_ANIM_crystal_king_Palette_00_Anim_9) + EVT_CALL(SetAnimation, LW(11), 1, NPC_ANIM_crystal_king_Palette_00_Anim_9) + EVT_END_IF + EVT_CALL(WaitForBuffDone) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_IF_EQ(LF(0), 1) + EVT_CALL(EnableIdleScript, LW(10), 1) + EVT_CALL(UseIdleAnimation, LW(10), TRUE) + EVT_CALL(EnableIdleScript, LW(10), 1) + EVT_CALL(UseIdleAnimation, LW(10), TRUE) + EVT_END_IF + EVT_RETURN + EVT_END +}; diff --git a/src/battle/area_pra2/area.c b/src/battle/area_pra2/area.c new file mode 100644 index 0000000000..8a7bed7977 --- /dev/null +++ b/src/battle/area_pra2/area.c @@ -0,0 +1,36 @@ +#include "common.h" +#include "battle/battle.h" + +#define NAMESPACE b_area_pra2 + +extern ActorBlueprint N(crystal_king); +extern ActorBlueprint N(crystal_bit_1); +extern ActorBlueprint N(crystal_bit_2); +extern ActorBlueprint N(crystal_bit_3); + +extern Stage N(sam_04); + +Vec3i N(pos_crystal_king) = { 70, 0, 5 }; + +Vec3i N(pos_crystal_bit_1) = { 10, 35, -5 }; + +Vec3i N(pos_crystal_bit_2) = { 112, 52, -5 }; + +Vec3i N(pos_crystal_bit_3) = { 42, 85, -10 }; + +Formation N(formation_01) = { + { .actor = &N(crystal_king), .home = { .vec = &N(pos_crystal_king) }, .priority = 10 }, + { .actor = &N(crystal_bit_1), .home = { .vec = &N(pos_crystal_bit_1) }, .priority = 9 }, + { .actor = &N(crystal_bit_2), .home = { .vec = &N(pos_crystal_bit_2) }, .priority = 8 }, + { .actor = &N(crystal_bit_3), .home = { .vec = &N(pos_crystal_bit_3) }, .priority = 7 }, +}; + +BattleList N(formationTable) = { + BATTLE("パラレラー", N(formation_01), &N(sam_04)), + {}, +}; + +StageList N(stageTable) = { + { "sam_04", &N(sam_04) }, + {}, +}; diff --git a/src/battle/area_pra2/stage/sam_04.c b/src/battle/area_pra2/stage/sam_04.c new file mode 100644 index 0000000000..c2db1b9b7f --- /dev/null +++ b/src/battle/area_pra2/stage/sam_04.c @@ -0,0 +1,96 @@ +#include "common.h" +#include "battle/battle.h" + +#define NAMESPACE b_area_pra2_sam_04 + +u16 D_802211E0_669930[] = { 0, 0, 0, 0, 0, 0, 0, 0 }; + +INCLUDE_ASM(s32, "battle/area_pra2/660E10", func_802186C0_660E10); + +#include "common/Set80071270_0_16.inc.c" +#include "common/UnkFloatFunc2.inc.c" + +void func_802189E0_661130(void) { + enable_background_wave(); +} + +EvtScript N(802211F0) = { + EVT_CALL(N(Set80071270_0_16)) + EVT_LOOP(0) + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(8022122C) = { + EVT_SET(LW(10), LW(0)) + EVT_LABEL(0) + EVT_CALL(RandInt, 30, LW(0)) + EVT_ADD(LW(0), 30) + EVT_WAIT_FRAMES(LW(0)) + EVT_SET(LW(1), 0) + EVT_LOOP(10) + EVT_ADD(LW(1), 36) + EVT_CALL(RotateModel, LW(10), LW(1), 0, 1, 0) + EVT_WAIT_FRAMES(1) + EVT_END_LOOP + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(802212F4) = { + EVT_SET(LW(10), LW(0)) + EVT_SET(LW(11), LW(1)) + EVT_EXEC(N(8022122C)) + EVT_SET(LW(7), 0) + EVT_LABEL(0) + EVT_ADD(LW(7), 4) + EVT_IF_GT(LW(7), 3599) + EVT_SUB(LW(7), 3600) + EVT_END_IF + EVT_CALL(N(UnkFloatFunc2), LW(7), LW(0), LW(1), LW(2)) + EVT_CALL(TranslateModel, LW(10), LW(0), LW(1), LW(2)) + EVT_WAIT_FRAMES(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(802213D4) = { + EVT_SET(LW(10), LW(0)) + EVT_SET(LW(7), 0) + EVT_LABEL(0) + EVT_ADD(LW(7), 4) + EVT_IF_GT(LW(7), 3599) + EVT_SUB(LW(7), 3600) + EVT_END_IF + EVT_CALL(N(UnkFloatFunc2), LW(7), LW(0), LW(1), LW(2)) + EVT_CALL(TranslateModel, LW(10), LW(0), LW(1), LW(2)) + EVT_WAIT_FRAMES(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(beforeBattle) = { + EVT_CALL(SetSpriteShading, -1) + EVT_EXEC(N(802211F0)) + EVT_RETURN + EVT_END +}; + +EvtScript N(afterBattle) = { + EVT_RETURN + EVT_END +}; + +Stage NAMESPACE = { + .texture = "sam_tex", + .shape = "sam_bt04_shape", + .hit = "sam_bt04_hit", + .bg = "sam_bg", + .preBattle = &N(beforeBattle), + .postBattle = &N(afterBattle), +}; diff --git a/src/effects/lightning_bolt.c b/src/effects/lightning_bolt.c index 7aa8aadeba..e57178c676 100644 --- a/src/effects/lightning_bolt.c +++ b/src/effects/lightning_bolt.c @@ -1,11 +1,6 @@ #include "common.h" #include "effects_internal.h" -typedef struct LightningBoltFXData { - /* 0x00 */ char unk_00[0xC]; - /* 0x0C */ f32 unk_0C; -} LightningBoltFXData; // size = 0x?? - s32 D_E00BCC30[] = { 0x05050505, 0x05050505, 0x05050505, 0x0A090301, 0x00000000, 0x00000000, 0x05050505, 0x05050505, 0x05050505, 0x08070605, 0x04030201, 0x00000000, 0x23051905, 0x00192305, 0x0F000000, 0x0A0D0F0C, 0x0B0D0A0C, 0x05010000, 0x2D0F230F, 0x00232D37, 0x19050200, 0x0D0A0C0A, 0x0D0A0D0A, 0x0C090501, 0x0F0F0F0F, 0x0F0F000F, 0x0F050200, 0x0E0A0F0A, 0x0D1E201E, 0x1832283C, 0x01050F0F, 0x232D2823, 0x19050200, 0x04060A05, 0x080E060A, 0x0E233232, 0x010F190F, 0x19232D28, 0x230F0500, 0x0202170C, 0x080F0F05, 0x0612263C, 0x1E190F05, 0x0F0F191E, 0x23190500, 0x0303030B, 0x030C0405, 0x020C2A32, 0x2121140C, 0x19110F14, 0x16140500, 0x03030302, 0x0A02020C, 0x02020214, 0x1E1E1919, 0x23140F0A, 0x0F0F0500, 0x02020202, 0x02020602, 0x02020605, 0x1B1B1616, 0x20110C07, 0x0C0C0200, 0x02020202, 0x02020202, 0x02020200 }; s32 D_E00BCD38[] = { 0x19191905, 0x19051919, 0x05191919, 0x04030201, 0x00000000, 0x00000000, 0x0F0F0F19, 0x0F0F0519, 0x190F1919, 0x04040404, 0x04030201, 0x00000000, 0x19191905, 0x0F190505, 0x0F050500, 0x04040404, 0x04040604, 0x04040000, 0x19191905, 0x19051919, 0x050F0500, 0x04040404, 0x04040604, 0x04040605, 0x0F0F0F2D, 0x232D2323, 0x19230F00, 0x04040404, 0x04040604, 0x04040605, 0x2D372319, 0x370F2D19, 0x2D230F00, 0x04040404, 0x04040604, 0x04040605, 0x55190F4B, 0x1941232D, 0x4B550F00, 0x04040404, 0x04040604, 0x04040605, 0x550F2337, 0x412D194B, 0x232D2328, 0x04040404, 0x04040604, 0x04040605, 0x550F2337, 0x412D194B, 0x232D2328, 0x04040404, 0x04040604, 0x04040605, 0x550F2337, 0x412D194B, 0x232D2328, 0x04040404, 0x04040604, 0x04040605, 0x1E1E1919, 0x23140F0A, 0x0F0F0500, 0x04040404, 0x04040404, 0x04040200 }; diff --git a/ver/us/asm/data/battle/area_pra2/661150.data.s b/ver/us/asm/data/battle/area_pra2/661150.data.s deleted file mode 100644 index 8b709321ce..0000000000 --- a/ver/us/asm/data/battle/area_pra2/661150.data.s +++ /dev/null @@ -1,210 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80218A00_661150 -.word 0x00000001, 0x007F0009, 0x00000006, 0x007F001B, 0x00000004, 0x007F001A, 0x00000005, 0x007F0000, 0x00000008, 0x007F0000, 0x00000000 - -dlabel D_80218A2C_66117C -.word 0x00000001, 0x00000002, 0x00000002, 0x00000000, 0x00000004, 0x00000063, 0x00000000 - -dlabel D_80218A48_661198 -.word 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000006, 0x0000001E, 0x00000009, 0x00000000, 0x00000007, 0x00000000, 0x00000004, 0x00000028, 0x00000003, 0x00000000, 0x0000000B, 0x00000000, 0x00000005, 0x00000028, 0x0000000A, 0x00000000, 0x00000008, 0x00000032, 0x0000001F, 0x00000000, 0x00000020, 0xFFFFFFFF, 0x00000025, 0x00000000, 0x00000022, 0x00000000, 0x00000024, 0xFFFFFFFF, 0x00000023, 0x00000000, 0x00000021, 0x00000000, 0x00000026, 0xFFFFFFFF, 0x00000027, 0xFFFFFFFF, 0x00000029, 0xFFFFFFFE, 0x00000000 - -dlabel D_80218AF4_661244 -.word 0x00800028, 0x01000000, 0x003600FF, D_80218A00_661150, D_80218A2C_66117C, 0x00000008, 0x00000000, 0x00EA0000, 0x00000000 - -dlabel D_80218B18_661268 -.word 0x00000000, 0x00BD5546, 0x00010000, D_80218AF4_661244, D_80218B40_661290, D_80218A48_661198, 0x00000000, 0x00044600, 0x38380000, 0xF1280F28 - -dlabel D_80218B40_661290 -.word 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_8021AEEC_66363C, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_80218C4C_66139C, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_80219F30_662680, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000007, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000002, 0xFFFFFFFF, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000003, 0xFFFFFFFF, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000004, 0x00000201, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000005, 0x00000202, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000006, 0x00000203, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80218C4C_66139C -.word 0x00000024, 0x00000002, 0xFE363C8F, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00000020, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C81, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C82, 0x00000043, 0x00000003, ActorExists, 0xFE363C81, 0xFE363C83, 0x0000000A, 0x00000002, 0xFE363C83, 0x00000001, 0x00000043, 0x00000008, b_area_pra2_UnkFloatFunc, 0xFE363C8F, 0xFE363C84, 0xF24C7A80, 0xF24E7280, 0x00000014, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0xFE363C84, 0x00000043, 0x00000004, SetPartAlpha, 0xFFFFFF81, 0x00000001, 0xFE363C84, 0x00000043, 0x00000004, SetPartAlpha, 0xFE363C81, 0x00000001, 0xFE363C84, 0x00000043, 0x00000004, SetPartAlpha, 0xFE363C82, 0x00000001, 0xFE363C84, 0x00000027, 0x00000002, 0xFE363C8F, 0x00000001, 0x0000000D, 0x00000002, 0xFE363C8F, 0x00000028, 0x00000024, 0x00000002, 0xFE363C8F, 0x00000000, 0x00000013, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000040, 0x00000002, 0xFE363C80, 0xFFFFFFDF, 0x00000043, 0x00000004, SetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000013, 0x00000000, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8F, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80218E34_661584 -.word 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8D, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8E, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8F, 0x00000000, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x00000040, 0x00000024, 0x00000002, 0xFE363C80, 0xFFFFFF81, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C81, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C82, 0x00000043, 0x00000005, GetActorPos, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000005, GetActorPos, 0xFE363C81, 0xFE363C84, 0xFE363C85, 0xFE363C86, 0x0000000D, 0x00000002, 0xFE363C83, 0xFE363C84, 0x00000024, 0x00000002, 0xFE363C87, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C81, 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C87, 0x00000013, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000005, GetActorPos, 0xFE363C82, 0xFE363C84, 0xFE363C85, 0xFE363C86, 0x0000000D, 0x00000002, 0xFE363C83, 0xFE363C84, 0x00000024, 0x00000002, 0xFE363C87, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C82, 0xFE363C87, 0x00000013, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFE363C81, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000005, GetActorPos, 0xFE363C82, 0xFE363C84, 0xFE363C85, 0xFE363C86, 0x0000000D, 0x00000002, 0xFE363C83, 0xFE363C84, 0x00000024, 0x00000002, 0xFE363C87, 0xFE363C81, 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C82, 0xFE363C87, 0x00000013, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000024, 0x00000002, 0xFE363C84, 0x00000029, 0x00000027, 0x00000002, 0xFE363C84, 0xFE363C8A, 0x00000043, 0x00000005, SetActorPos, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000005, GetActorPos, 0xFE363C81, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000024, 0x00000002, 0xFE363C84, 0x00000029, 0x00000027, 0x00000002, 0xFE363C84, 0xFE363C8C, 0x00000043, 0x00000005, SetActorPos, 0xFE363C81, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000005, GetActorPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000024, 0x00000002, 0xFE363C84, 0x00000029, 0x00000027, 0x00000002, 0xFE363C84, 0xFE363C8E, 0x00000043, 0x00000005, SetActorPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000008, b_area_pra2_UnkFloatFunc, 0xFE363C8F, 0xFE363C80, 0xF24A7A80, 0xF24A8E80, 0x0000001E, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C8B, 0x00000024, 0x00000002, 0xFE363C8B, 0xFE363C8C, 0x00000024, 0x00000002, 0xFE363C8C, 0xFE363C8D, 0x00000024, 0x00000002, 0xFE363C8D, 0xFE363C8E, 0x00000024, 0x00000002, 0xFE363C8E, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C8F, 0x00000001, 0x0000000D, 0x00000002, 0xFE363C8F, 0x0000003C, 0x00000024, 0x00000002, 0xFE363C8F, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80219270_6619C0 -.word 0x00000043, 0x00000003, EnableActorBlur, 0xFE363C89, 0x00000001, 0x00000043, 0x00000004, SetActorFlagBits, 0xFE363C89, 0x00400000, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000004, GetActorPartOpacity, 0xFE363C89, 0x00000001, 0xFE363C83, 0x00000043, 0x00000005, MakeLerp, 0xFE363C83, 0x00000000, 0x00000014, 0x00000001, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000004, SetPartAlpha, 0xFE363C89, 0x00000001, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000064, 0x000000C8, 0x00000014, 0x00000001, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C88, 0x00000010, 0x00000002, 0xFE363C88, 0x00080000, 0x0000002E, 0x00000002, 0xFE363C80, 0xF24A7C1A, 0x00000013, 0x00000000, 0x0000002F, 0x00000002, 0xFE363C80, 0xF24C0A80, 0x00000043, 0x00000006, SetPartScale, 0xFE363C89, 0x00000001, 0xFE363C80, 0xFE363C80, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x00080000, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFE363C89, 0x00000000, 0x0000001C, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000005, SetActorRotationOffset, 0xFE363C89, 0x00000000, 0x0000000A, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000E10, 0x00000000, 0x00000019, 0x00000001, 0x00000003, 0x00000001, 0x00000002, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetActorRotation, 0xFE363C89, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000002, 0x00000013, 0x00000000, 0x00000043, 0x00000002, RemoveActor, 0xFE363C89, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021952C_661C7C -.word 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000001, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000004, 0x0000001D, 0x00000001, 0x00000005, 0x00000020, 0x00000000, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x003DD000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000004, 0xFE363C80, 0x00000043, 0x00000003, ActorExists, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000002, func_80269EAC, 0x00000000, 0x00000043, 0x00000003, DispatchEvent, 0xFE363C80, 0x00000020, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000005, 0xFE363C80, 0x00000043, 0x00000003, ActorExists, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000002, func_80269EAC, 0x00000000, 0x00000043, 0x00000003, DispatchEvent, 0xFE363C80, 0x00000020, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0x00000043, 0x00000003, ActorExists, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000002, func_80269EAC, 0x00000000, 0x00000043, 0x00000003, DispatchEvent, 0xFE363C80, 0x00000020, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x0000001C, 0x00000000, 0x00000002, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000002, GetLastElement, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x20000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetBattleFlags, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00000100, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C89, 0x00000043, 0x00000003, ActorExists, 0xFE363C89, 0xFE363C8A, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C89, 0x00000044, 0x00000001, D_80219270_6619C0, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C89, 0x00000045, 0x00000002, D_80219270_6619C0, 0xFE363C80, 0x00000003, 0x00000001, 0x00000001, 0x00000055, 0x00000002, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, func_8027D32C, 0xFFFFFF81, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0019, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000008, 0xFE363C8A, 0x00000049, 0x00000001, 0xFE363C8A, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000020E3, 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_pra2_StartRumbleWithParams, 0x00000096, 0x0000000A, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x00000005, 0xF24A7D4D, 0x00000057, 0x00000000, 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, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, SetActorFlagBits, 0xFFFFFF81, 0x00000200, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x0035D000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F000E, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8A80, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0x00000046, 0x00000000, 0x00000005, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0009, 0x00000013, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, ForceHomePos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000002, HPBarToHome, 0xFFFFFF81, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000040, 0x00000002, 0xFE363C80, 0xFFFFFFFE, 0x00000043, 0x00000004, SetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80219B80_6622D0 -.word 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000001, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000004, 0x0000001D, 0x00000001, 0x00000005, 0x00000020, 0x00000000, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000004, 0xFE363C80, 0x00000043, 0x00000003, ActorExists, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000002, func_80269EAC, 0x00000000, 0x00000043, 0x00000004, SetActorFlagBits, 0xFE363C80, 0x00400000, 0x00000001, 0x00000043, 0x00000003, DispatchEvent, 0xFE363C80, 0x00000020, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000005, 0xFE363C80, 0x00000043, 0x00000003, ActorExists, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000002, func_80269EAC, 0x00000000, 0x00000043, 0x00000004, SetActorFlagBits, 0xFE363C80, 0x00400000, 0x00000001, 0x00000043, 0x00000003, DispatchEvent, 0xFE363C80, 0x00000020, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0x00000043, 0x00000003, ActorExists, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000002, func_80269EAC, 0x00000000, 0x00000043, 0x00000004, SetActorFlagBits, 0xFE363C80, 0x00400000, 0x00000001, 0x00000043, 0x00000003, DispatchEvent, 0xFE363C80, 0x00000020, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000020, 0x00000000, 0x0000001C, 0x00000000, 0x00000002, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000002, GetLastElement, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x20000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetBattleFlags, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00000100, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000008, 0xFE363C8A, 0x00000055, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000049, 0x00000001, 0xFE363C8A, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C89, 0x00000043, 0x00000003, ActorExists, 0xFE363C89, 0xFE363C8A, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C89, 0x00000044, 0x00000001, D_80219270_6619C0, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C89, 0x00000045, 0x00000002, D_80219270_6619C0, 0xFE363C80, 0x00000003, 0x00000001, 0x00000001, 0x00000055, 0x00000002, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80219F30_662680 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000042, 0x00000002, 0xFE363C80, 0x00000040, 0x00000043, 0x00000004, SetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000043, 0x00000004, SetPartAlpha, 0xFFFFFF81, 0x00000001, 0x000000FF, 0x00000043, 0x00000003, GetLastEvent, 0xFFFFFF81, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000009, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000042, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, SetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C80, 0x00000043, 0x00000003, ActorExists, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, SetOwnerID, 0xFE363C80, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x007F0019, 0x00000046, 0x00000001, DoNormalHit, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0009, 0x00000057, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C80, 0x00000043, 0x00000003, ActorExists, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, SetOwnerID, 0xFE363C80, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x007F0019, 0x00000046, 0x00000001, DoNormalHit, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0009, 0x00000057, 0x00000000, 0x00000013, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x007F0019, 0x00000046, 0x00000001, DoNormalHit, 0x00000016, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C80, 0x00000043, 0x00000003, ActorExists, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, SetOwnerID, 0xFE363C80, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x007F0019, 0x00000046, 0x00000001, DoNormalHit, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0009, 0x00000057, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C80, 0x00000043, 0x00000003, ActorExists, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, SetOwnerID, 0xFE363C80, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x007F0019, 0x00000046, 0x00000001, DoNormalHit, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0009, 0x00000057, 0x00000000, 0x00000013, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x007F0019, 0x00000046, 0x00000001, DoNormalHit, 0x00000046, 0x00000001, D_8021952C_661C7C, 0x00000016, 0x00000001, 0x0000000E, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C80, 0x00000043, 0x00000003, ActorExists, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, SetOwnerID, 0xFE363C80, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x007F0020, 0x00000025, 0x00000002, 0xFE363C82, 0x007F0021, 0x00000046, 0x00000001, DoBurnHit, 0x00000057, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C80, 0x00000043, 0x00000003, ActorExists, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, SetOwnerID, 0xFE363C80, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x007F0020, 0x00000025, 0x00000002, 0xFE363C82, 0x007F0021, 0x00000046, 0x00000001, DoBurnHit, 0x00000057, 0x00000000, 0x00000013, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x007F0020, 0x00000025, 0x00000002, 0xFE363C82, 0x007F0021, 0x00000046, 0x00000001, DoBurnHit, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0019, 0x00000046, 0x00000001, D_8021952C_661C7C, 0x00000016, 0x00000001, 0x00000017, 0x00000016, 0x00000001, 0x0000001F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x007F0009, 0x00000046, 0x00000001, DoImmune, 0x00000016, 0x00000001, 0x00000019, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x007F0009, 0x00000046, 0x00000001, DoImmune, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00000001, 0x00000046, 0x00000001, D_8021952C_661C7C, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x0035D000, 0x00000046, 0x00000001, D_8021952C_661C7C, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000020, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C80, 0x00000043, 0x00000003, ActorExists, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, SetOwnerID, 0xFE363C80, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x007F0019, 0x00000046, 0x00000001, DoNormalHit, 0x00000057, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C80, 0x00000043, 0x00000003, ActorExists, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, SetOwnerID, 0xFE363C80, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x007F0019, 0x00000046, 0x00000001, DoNormalHit, 0x00000057, 0x00000000, 0x00000013, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x007F0019, 0x00000046, 0x00000001, DoNormalHit, 0x00000046, 0x00000001, D_80219B80_6622D0, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x007F0019, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000024, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C80, 0x00000043, 0x00000003, ActorExists, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, SetOwnerID, 0xFE363C80, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x007F0020, 0x00000025, 0x00000002, 0xFE363C82, 0x007F0021, 0x00000046, 0x00000001, DoBurnHit, 0x00000057, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C80, 0x00000043, 0x00000003, ActorExists, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, SetOwnerID, 0xFE363C80, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x007F0020, 0x00000025, 0x00000002, 0xFE363C82, 0x007F0021, 0x00000046, 0x00000001, DoBurnHit, 0x00000057, 0x00000000, 0x00000013, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x007F0020, 0x00000025, 0x00000002, 0xFE363C82, 0x007F0021, 0x00000046, 0x00000001, DoBurnHit, 0x00000046, 0x00000001, D_80219B80_6622D0, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x007F0021, 0x00000046, 0x00000001, DoDeath, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000031, 0x00000056, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000001, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000004, 0x0000001D, 0x00000001, 0x00000005, 0x00000026, 0x00000002, 0xFE363C80, 0xF24A7C1A, 0x00000005, 0x00000001, 0x0000001E, 0x00000026, 0x00000002, 0xFE363C81, 0xF24A7E80, 0x0000002D, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000002F, 0x00000002, 0xFE363C81, 0xF24A9280, 0x0000002C, 0x00000002, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C8A, 0x00000043, 0x00000003, ActorExists, 0xFE363C8A, 0xFE363C8B, 0x0000000A, 0x00000002, 0xFE363C8B, 0x00000001, 0x00000043, 0x00000006, SetPartScale, 0xFE363C8A, 0x00000001, 0xFE363C80, 0xFE363C80, 0xFE363C80, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C8A, 0x00000043, 0x00000003, ActorExists, 0xFE363C8A, 0xFE363C8B, 0x0000000A, 0x00000002, 0xFE363C8B, 0x00000001, 0x00000043, 0x00000006, SetPartScale, 0xFE363C8A, 0x00000001, 0xFE363C80, 0xFE363C80, 0xFE363C80, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000020, 0x00000000, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000026, 0x00000002, 0xFE363C80, 0xF24A7C1A, 0x00000005, 0x00000001, 0x0000001E, 0x00000026, 0x00000002, 0xFE363C81, 0xF24A7E80, 0x0000002D, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000002F, 0x00000002, 0xFE363C81, 0xF24A9280, 0x0000002C, 0x00000002, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000004, 0xFE363C8A, 0x00000043, 0x00000003, ActorExists, 0xFE363C8A, 0xFE363C8B, 0x0000000A, 0x00000002, 0xFE363C8B, 0x00000001, 0x00000043, 0x00000006, SetPartScale, 0xFE363C8A, 0x00000001, 0xFE363C80, 0xFE363C80, 0xFE363C80, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000005, 0xFE363C8A, 0x00000043, 0x00000003, ActorExists, 0xFE363C8A, 0xFE363C8B, 0x0000000A, 0x00000002, 0xFE363C8B, 0x00000001, 0x00000043, 0x00000006, SetPartScale, 0xFE363C8A, 0x00000001, 0xFE363C80, 0xFE363C80, 0xFE363C80, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000006, 0xFE363C8A, 0x00000043, 0x00000003, ActorExists, 0xFE363C8A, 0xFE363C8B, 0x0000000A, 0x00000002, 0xFE363C8B, 0x00000001, 0x00000043, 0x00000006, SetPartScale, 0xFE363C8A, 0x00000001, 0xFE363C80, 0xFE363C80, 0xFE363C80, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000057, 0x00000000, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x007F0009, 0x00000046, 0x00000001, DoRecover, 0x00000043, 0x00000004, CountPlayerTargets, 0xFFFFFF81, 0x00008002, 0xFE363C80, 0x0000000E, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F000E, 0x00000043, 0x00000003, SetActorSpeed, 0xFFFFFF81, 0xF24A8A80, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0x00000046, 0x00000000, 0x00000005, 0x00000043, 0x00000004, RunToGoal, 0xFFFFFF81, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0009, 0x00000013, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, ForceHomePos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000002, HPBarToHome, 0xFFFFFF81, 0x00000016, 0x00000001, 0x0000003A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x007F0019, 0x00000046, 0x00000001, DoAirLift, 0x00000016, 0x00000001, 0x0000003F, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000043, 0x0000000F, PlayEffect, 0x00000011, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000001C, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000040, 0x00000002, 0xFE363C80, 0xFFFFFFBF, 0x00000043, 0x00000004, SetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021AEEC_66363C -.word 0x00000043, 0x00000003, GetActorHP, 0xFFFFFF81, 0xFE363C80, 0x0000000E, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000042, 0x00000002, 0xFE363C80, 0x00000002, 0x00000043, 0x00000004, SetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000043, 0x00000003, GetActorHP, 0xFFFFFF81, 0xFE363C80, 0x00000043, 0x00000003, GetEnemyMaxHP, 0xFFFFFF81, 0xFE363C81, 0x00000029, 0x00000002, 0xFE363C80, 0x00000064, 0x0000002A, 0x00000002, 0xFE363C80, 0xFE363C81, 0x00000014, 0x00000001, 0xFE363C80, 0x00000018, 0x00000001, 0x00000019, 0x00000043, 0x00000003, RandInt, 0x00000063, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x0000000E, 0x00000002, 0xFE363C80, 0x00000064, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000007, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x00000002, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000018, 0x00000001, 0x00000028, 0x00000043, 0x00000003, RandInt, 0x00000063, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x0000000E, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000007, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x00000002, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000018, 0x00000001, 0x00000037, 0x00000043, 0x00000003, RandInt, 0x00000063, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x0000000E, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000007, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x00000002, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000007, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000007, 0xFE363C80, 0x00000046, 0x00000001, D_8021FE90_6685E0, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000001, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000004, CountPlayerTargets, 0xFFFFFF81, 0x00008002, 0xFE363C80, 0x0000000E, 0x00000002, 0xFE363C80, 0x00000001, 0x00000046, 0x00000001, D_8021DA2C_66617C, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000012, 0x00000000, 0x00000046, 0x00000001, D_8021F6B0_667E00, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000046, 0x00000001, D_8021DA2C_66617C, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000004, CountPlayerTargets, 0xFFFFFF81, 0x00008002, 0xFE363C80, 0x0000000E, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, GetStatusFlags, 0x00000000, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00004000, 0x00000046, 0x00000001, D_8021B670_663DC0, 0x00000012, 0x00000000, 0x00000046, 0x00000001, D_8021BDBC_66450C, 0x00000013, 0x00000000, 0x00000012, 0x00000000, 0x00000046, 0x00000001, D_8021F6B0_667E00, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000001, 0x00000003, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, GetActorHP, 0xFFFFFF81, 0xFE363C80, 0x0000000D, 0x00000002, 0xFE363C80, 0x00000023, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x00000004, 0x00000046, 0x00000001, D_8021DA2C_66617C, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x00000010, 0x00000046, 0x00000001, D_8021BDBC_66450C, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000042, 0x00000002, 0xFE363C80, 0x00000010, 0x00000043, 0x00000004, SetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000012, 0x00000000, 0x00000046, 0x00000001, D_8021C834_664F84, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000001, 0x00000004, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000042, 0x00000002, 0xFE363C80, 0x00000004, 0x00000043, 0x00000004, SetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000004, 0x00000043, 0x00000004, CountPlayerTargets, 0xFFFFFF81, 0x00008002, 0xFE363C80, 0x0000000E, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, GetStatusFlags, 0x00000000, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00004000, 0x00000046, 0x00000001, D_8021B670_663DC0, 0x00000012, 0x00000000, 0x00000046, 0x00000001, D_8021BDBC_66450C, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000001, 0x00000003, 0x00000012, 0x00000000, 0x00000046, 0x00000001, D_8021DE9C_6665EC, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000001, 0x00000005, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000005, 0x00000043, 0x00000004, CountPlayerTargets, 0xFFFFFF81, 0x00008002, 0xFE363C80, 0x0000000D, 0x00000002, 0xFE363C80, 0x00000001, 0x00000046, 0x00000001, D_8021DE9C_6665EC, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000046, 0x00000001, D_8021C834_664F84, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000001, 0x00000004, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000042, 0x00000002, 0xFE363C80, 0x00000004, 0x00000043, 0x00000004, SetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021B670_663DC0 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000000E, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0013, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x0000206D, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x00080000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFFB, 0x00000043, 0x0000000F, PlayEffect, 0x00000011, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000008, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFFE, 0x00000043, 0x0000000F, PlayEffect, 0x00000011, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000014, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F001C, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x0000035D, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000010, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x00080000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFF1, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000043, 0x0000000F, PlayEffect, 0x0000006E, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xF24D4A80, 0xF24A8280, 0xF24A7C80, 0x0000001E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, func_80218280_6609D0, 0xFE363C8F, 0x00000012, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFFA, 0x00000027, 0x00000002, 0xFE363C81, 0x00000008, 0x00000043, 0x0000000F, PlayEffect, 0x0000006E, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xF24D4A80, 0xF24A8280, 0xF24A7B4D, 0x0000001E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, func_80218280_6609D0, 0xFE363C8F, 0x00000013, 0x00000000, 0x00000043, 0x00000003, b_area_pra2_StartRumbleWithParams, 0x00000046, 0x0000003C, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x0000001E, 0xF24A7BB4, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, StopSound, 0x0000035D, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x00080000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFF1, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000043, 0x0000000F, PlayEffect, 0x0000006E, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xF24D4A80, 0xF24A8280, 0xF24A7E80, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, func_80218280_6609D0, 0xFE363C8F, 0x00000012, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFFA, 0x00000027, 0x00000002, 0xFE363C81, 0x00000008, 0x00000043, 0x0000000F, PlayEffect, 0x0000006E, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xF24D4A80, 0xF24A8280, 0xF24A7E80, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, func_80218280_6609D0, 0xFE363C8F, 0x00000013, 0x00000000, 0x00000043, 0x00000003, b_area_pra2_StartRumbleWithParams, 0x00000046, 0x00000064, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x00000032, 0xF24A7BB4, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000002, StopSound, 0x0000035D, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0015, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x10000008, 0x00000000, 0x00000000, 0x00000008, 0x00000020, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021BDBC_66450C -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000000E, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0013, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x0000206D, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000011, 0x00000002, 0xFE363C80, 0x00080000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFFB, 0x00000043, 0x0000000F, PlayEffect, 0x00000011, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000008, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFFE, 0x00000043, 0x0000000F, PlayEffect, 0x00000011, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000014, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F001C, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000002E0, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000010, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C83, 0x00000011, 0x00000002, 0xFE363C83, 0x00080000, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFF1, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000012, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFFA, 0x00000027, 0x00000002, 0xFE363C81, 0x00000008, 0x00000013, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0xFFFFFFCE, 0x00000014, 0x00000000, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000056, 0x00000000, 0x00000028, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000028, 0x00000002, 0xFE363C84, 0xFE363C81, 0x00000028, 0x00000002, 0xFE363C85, 0xFE363C82, 0x0000002A, 0x00000002, 0xFE363C83, 0x0000000A, 0x0000002A, 0x00000002, 0xFE363C84, 0x0000000A, 0x0000002A, 0x00000002, 0xFE363C85, 0x0000000A, 0x00000005, 0x00000001, 0x0000000A, 0x00000027, 0x00000002, 0xFE363C80, 0xFE363C83, 0x00000027, 0x00000002, 0xFE363C81, 0xFE363C84, 0x00000027, 0x00000002, 0xFE363C82, 0xFE363C85, 0x00000043, 0x0000000F, PlayEffect, 0x00000072, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000014, 0xFFFFFFEC, 0xF24A7E80, 0x00000005, 0x0000001E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x0000000F, PlayEffect, 0x0000005E, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0xF24A7E80, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, func_802182E4_660A34, 0xFE363C8F, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0015, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C83, 0x00000011, 0x00000002, 0xFE363C83, 0x00080000, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFF1, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000012, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFFA, 0x00000027, 0x00000002, 0xFE363C81, 0x00000008, 0x00000013, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000056, 0x00000000, 0x00000028, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000028, 0x00000002, 0xFE363C84, 0xFE363C81, 0x00000028, 0x00000002, 0xFE363C85, 0xFE363C82, 0x0000002A, 0x00000002, 0xFE363C83, 0x0000000A, 0x0000002A, 0x00000002, 0xFE363C84, 0x0000000A, 0x0000002A, 0x00000002, 0xFE363C85, 0x0000000A, 0x00000005, 0x00000001, 0x0000000A, 0x00000027, 0x00000002, 0xFE363C80, 0xFE363C83, 0x00000027, 0x00000002, 0xFE363C81, 0xFE363C84, 0x00000027, 0x00000002, 0xFE363C82, 0xFE363C85, 0x00000043, 0x0000000F, PlayEffect, 0x00000072, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000014, 0xFFFFFFEC, 0xF24A7E80, 0x00000005, 0x0000001E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x0000000F, PlayEffect, 0x0000005E, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0xF24A7E80, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, func_802182E4_660A34, 0xFE363C8F, 0x00000008, 0x00000001, 0x00000007, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0015, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x10000008, 0x00000000, 0x000042FE, 0x00000006, 0x00000020, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x0000006F, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xF24A8280, 0x0000001E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, func_80218344_660A94, 0xFE363C8F, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021C6DC_664E2C -.word 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000006, 0x0000001E, 0x00000009, 0x00000000, 0x00000007, 0x00000000, 0x00000004, 0x00000028, 0x00000003, 0x00000000, 0x0000000B, 0x00000000, 0x00000005, 0x00000028, 0x0000000A, 0x00000000, 0x00000008, 0x00000032, 0x0000001F, 0x00000000, 0x00000020, 0xFFFFFFFF, 0x00000025, 0x00000000, 0x00000022, 0x00000000, 0x00000024, 0xFFFFFFFF, 0x00000023, 0x00000000, 0x00000021, 0x00000000, 0x00000026, 0xFFFFFFFF, 0x00000027, 0xFFFFFFFF, 0x00000029, 0xFFFFFFFE, 0x00000000 - -dlabel D_8021C788_664ED8 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021C798_664EE8 -.word 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_8021C788_664ED8, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_8021C788_664ED8, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_8021C788_664ED8, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021C7E4_664F34 -.word 0x00200000, 0x00BE0046, 0x00010000, D_80218AF4_661244, D_8021C798_664EE8, D_8021C6DC_664E2C, 0x00000000, 0x00040000, 0x38380000, 0xF1280F28 - -dlabel D_8021C80C_664F5C -.word 0x00000000, 0xFFFFFC18, 0x00000000 - -dlabel D_8021C818_664F68 -.word D_8021C7E4_664F34, D_8021C80C_664F5C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8021C834_664F84 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000000E, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000002, MoveBattleCamOver, 0x0000000F, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000003, GetActorHP, 0xFFFFFF81, 0xFE363C8A, 0x00000043, 0x00000003, SummonEnemy, D_8021C818_664F68, 0x00000000, 0x00000043, 0x00000004, SetActorFlagBits, 0xFE363C80, 0x00000004, 0x00000001, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C80, 0x00000043, 0x00000005, SetPartEventBits, 0xFE363C80, 0x00000001, 0x00000020, 0x00000001, 0x00000043, 0x00000003, SetEnemyHP, 0xFE363C80, 0xFE363C8A, 0x00000043, 0x00000003, CopyStatusEffects, 0xFFFFFF81, 0xFE363C80, 0x00000043, 0x00000003, CopyBuffs, 0xFFFFFF81, 0xFE363C80, 0x00000043, 0x00000003, SummonEnemy, D_8021C818_664F68, 0x00000000, 0x00000043, 0x00000004, SetActorFlagBits, 0xFE363C80, 0x00000004, 0x00000001, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C80, 0x00000043, 0x00000005, SetPartEventBits, 0xFE363C80, 0x00000001, 0x00000020, 0x00000001, 0x00000043, 0x00000003, SetEnemyHP, 0xFE363C80, 0xFE363C8A, 0x00000043, 0x00000003, CopyStatusEffects, 0xFFFFFF81, 0xFE363C80, 0x00000043, 0x00000003, CopyBuffs, 0xFFFFFF81, 0xFE363C80, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00000002, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F001D, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000020E7, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x00000029, 0x0000001E, 0x0000000B, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, UpdateLerp, 0x00000027, 0x00000002, 0xFE363C80, 0xFE363C88, 0x00000043, 0x00000005, SetActorPos, 0xFFFFFF81, 0xFE363C87, 0xFE363C80, 0xFE363C89, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0009, 0x00000043, 0x00000004, SetActorFlagBits, 0xFFFFFF81, 0x00000200, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C80, 0x00000043, 0x00000004, SetActorFlagBits, 0xFE363C80, 0x00000200, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C80, 0x00000043, 0x00000004, SetActorFlagBits, 0xFE363C80, 0x00000200, 0x00000001, 0x00000045, 0x00000002, D_80218E34_661584, 0xFE363C80, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000008, 0xFE363C80, 0x00000013, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000001, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C8A, 0x00000043, 0x00000005, SetActorPos, 0xFE363C8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C8A, 0x00000043, 0x00000005, SetActorPos, 0xFE363C8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0009, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C80, 0x00000043, 0x00000003, UseIdleAnimation, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFE363C80, 0x00000001, 0x007F0000, 0x00000043, 0x00000004, SetAnimation, 0xFE363C80, 0x00000001, 0x007F0009, 0x00000043, 0x00000003, UseIdleAnimation, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C80, 0x00000043, 0x00000003, UseIdleAnimation, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFE363C80, 0x00000001, 0x007F0000, 0x00000043, 0x00000004, SetAnimation, 0xFE363C80, 0x00000001, 0x007F0009, 0x00000043, 0x00000003, UseIdleAnimation, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000002DF, 0x00000043, 0x00000003, EnableActorBlur, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C80, 0x00000043, 0x00000003, EnableActorBlur, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C80, 0x00000043, 0x00000003, EnableActorBlur, 0xFE363C80, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x00001AB8, 0x000000D2, 0x0000000A, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000003, SetActorYaw, 0xFFFFFF81, 0xFE363C80, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C82, 0x00000043, 0x00000003, SetActorYaw, 0xFE363C82, 0xFE363C80, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C82, 0x00000043, 0x00000003, SetActorYaw, 0xFE363C82, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x000000FF, 0x00000080, 0x0000001E, 0x0000000A, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000004, SetPartAlpha, 0xFFFFFF81, 0x00000001, 0xFE363C80, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C82, 0x00000043, 0x00000004, SetPartAlpha, 0xFE363C82, 0x00000001, 0xFE363C80, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C82, 0x00000043, 0x00000004, SetPartAlpha, 0xFE363C82, 0x00000001, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000042, 0x00000002, 0xFE363C80, 0x00000020, 0x00000043, 0x00000004, SetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000003, RandInt, 0x000003E8, 0xFE363C80, 0x0000002B, 0x00000002, 0xFE363C80, 0x00000003, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0xFFFFFF81, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C8B, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C8C, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C8A, 0x00000024, 0x00000002, 0xFE363C8B, 0xFFFFFF81, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C8C, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C8A, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C8B, 0x00000024, 0x00000002, 0xFE363C8C, 0xFFFFFF81, 0x00000023, 0x00000000, 0x00000043, 0x00000004, SetActorFlagBits, 0xFE363C8A, 0x00000004, 0x00000000, 0x00000043, 0x00000004, SetActorFlagBits, 0xFE363C8B, 0x00000004, 0x00000000, 0x00000043, 0x00000004, SetActorFlagBits, 0xFE363C8C, 0x00000004, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000096, 0x00000056, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFE363C8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C83, 0x00000012, 0x00000024, 0x00000002, 0xFE363C85, 0x00000005, 0x00000028, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000028, 0x00000002, 0xFE363C85, 0xFE363C82, 0x0000002F, 0x00000002, 0xFE363C83, 0xF24B6A80, 0x0000002F, 0x00000002, 0xFE363C85, 0xF24B6A80, 0x00000005, 0x00000001, 0x0000003C, 0x0000002C, 0x00000002, 0xFE363C80, 0xFE363C83, 0x0000002C, 0x00000002, 0xFE363C82, 0xFE363C85, 0x00000043, 0x00000005, SetActorPos, 0xFE363C8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFE363C8B, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C83, 0x00000046, 0x00000024, 0x00000002, 0xFE363C85, 0x00000005, 0x00000028, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000028, 0x00000002, 0xFE363C85, 0xFE363C82, 0x0000002F, 0x00000002, 0xFE363C83, 0xF24B6A80, 0x0000002F, 0x00000002, 0xFE363C85, 0xF24B6A80, 0x00000005, 0x00000001, 0x0000003C, 0x0000002C, 0x00000002, 0xFE363C80, 0xFE363C83, 0x0000002C, 0x00000002, 0xFE363C82, 0xFE363C85, 0x00000043, 0x00000005, SetActorPos, 0xFE363C8B, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFE363C8C, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C83, 0x0000007A, 0x00000024, 0x00000002, 0xFE363C85, 0x00000005, 0x00000028, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000028, 0x00000002, 0xFE363C85, 0xFE363C82, 0x0000002F, 0x00000002, 0xFE363C83, 0xF24B6A80, 0x0000002F, 0x00000002, 0xFE363C85, 0xF24B6A80, 0x00000005, 0x00000001, 0x0000003C, 0x0000002C, 0x00000002, 0xFE363C80, 0xFE363C83, 0x0000002C, 0x00000002, 0xFE363C82, 0xFE363C85, 0x00000043, 0x00000005, SetActorPos, 0xFE363C8C, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000005A, 0x00000008, 0x00000001, 0x0000001E, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, EnableActorBlur, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, ForceHomePos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000002, HPBarToHome, 0xFFFFFF81, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C8A, 0x00000043, 0x00000003, EnableActorBlur, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFE363C8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, ForceHomePos, 0xFE363C8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000002, HPBarToHome, 0xFE363C8A, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C8A, 0x00000043, 0x00000003, EnableActorBlur, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFE363C8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, ForceHomePos, 0xFE363C8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000002, HPBarToHome, 0xFE363C8A, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000040, 0x00000002, 0xFE363C80, 0xFFFFFFFE, 0x00000043, 0x00000004, SetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021D5E8_665D38 -.word D_80220644_668D94, D_8021C80C_664F5C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8021D604_665D54 -.word D_8022066C_668DBC, D_8021C80C_664F5C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8021D620_665D70 -.word D_80220694_668DE4, D_8021C80C_664F5C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8021D63C_665D8C -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8021D67C_665DCC -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8021D6BC_665E0C -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8021D6FC_665E4C -.word 0x0000003C, 0x00000001, 0xFE363C84, 0x00000024, 0x00000002, 0xF4ACD480, 0xFE363C80, 0x00000026, 0x00000002, 0xF4ACD481, 0xFE363C81, 0x00000026, 0x00000002, 0xF4ACD482, 0xFE363C82, 0x00000026, 0x00000002, 0xF4ACD483, 0xFE363C83, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x0000002D, 0x00000002, 0xFE363C82, 0xFE363C8B, 0x0000002F, 0x00000002, 0xFE363C82, 0xF24C5A80, 0x00000026, 0x00000002, 0xF4ACD484, 0xFE363C82, 0x00000026, 0x00000002, 0xFE363C86, 0xFE363C8B, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x00000006, GetDist2D, 0xFE363C8D, 0xFE363C8A, 0xFE363C8C, 0xFE363C81, 0xFE363C83, 0x0000002F, 0x00000002, 0xFE363C8D, 0xF24C5A80, 0x00000026, 0x00000002, 0xF4ACD485, 0xFE363C8D, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x00000006, func_802183A4_660AF4, 0xF4ACD486, 0xFE363C8A, 0xFE363C8C, 0xFE363C81, 0xFE363C83, 0x00000043, 0x00000004, SetPartAlpha, 0xFE363C80, 0x00000001, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, EnableActorBlur, 0xFE363C80, 0x00000001, 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C80, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x000000FF, 0x0000005A, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000004, SetPartAlpha, 0xFE363C89, 0x00000001, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000026, 0x00000002, 0xFE363C85, 0xF24A7A80, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x00000B40, 0x00000078, 0x0000000B, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x0000002C, 0x00000002, 0xFE363C85, 0xF4ACD485, 0x0000002C, 0x00000002, 0xFE363C80, 0xF4ACD486, 0x00000043, 0x00000005, AddVectorPolar, 0xFE363C82, 0xFE363C84, 0xFE363C85, 0xFE363C80, 0x0000002C, 0x00000002, 0xFE363C86, 0xF4ACD484, 0x00000043, 0x00000005, SetActorPos, 0xF4ACD480, 0xFE363C82, 0xFE363C86, 0xFE363C84, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000003, EnableActorBlur, 0xF4ACD480, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021DA2C_66617C -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000000E, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000002, MoveBattleCamOver, 0x0000000F, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F001E, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, SummonEnemy, D_8021D5E8_665D38, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000004, 0xFE363C80, 0x00000043, 0x00000003, SummonEnemy, D_8021D604_665D54, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000005, 0xFE363C80, 0x00000043, 0x00000003, SummonEnemy, D_8021D620_665D70, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00080000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000004, 0xFE363C80, 0x00000043, 0x00000006, SetPartScale, 0xFE363C80, 0x00000001, 0xF24A7C1A, 0xF24A7C1A, 0xF24A7C1A, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000005, 0xFE363C80, 0x00000043, 0x00000006, SetPartScale, 0xFE363C80, 0x00000001, 0xF24A7C1A, 0xF24A7C1A, 0xF24A7C1A, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0x00000043, 0x00000006, SetPartScale, 0xFE363C80, 0x00000001, 0xF24A7C1A, 0xF24A7C1A, 0xF24A7C1A, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F001F, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000002DE, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0x00000026, 0x00000002, 0xFE363C81, 0xF24B2280, 0x00000026, 0x00000002, 0xFE363C82, 0xF24BCE80, 0x00000026, 0x00000002, 0xFE363C83, 0xF24A5280, 0x00000024, 0x00000002, 0xFE363C84, D_8021D6BC_665E0C, 0x00000044, 0x00000001, D_8021D6FC_665E4C, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000005, 0xFE363C80, 0x00000026, 0x00000002, 0xFE363C81, 0xF24C3A80, 0x00000026, 0x00000002, 0xFE363C82, 0xF24B4A80, 0x00000026, 0x00000002, 0xFE363C83, 0xF24A6680, 0x00000024, 0x00000002, 0xFE363C84, D_8021D67C_665DCC, 0x00000044, 0x00000001, D_8021D6FC_665E4C, 0x00000008, 0x00000001, 0x00000018, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000004, 0xFE363C80, 0x00000026, 0x00000002, 0xFE363C81, 0xF24AA280, 0x00000026, 0x00000002, 0xFE363C82, 0xF24B0680, 0x00000026, 0x00000002, 0xFE363C83, 0xF24A6680, 0x00000024, 0x00000002, 0xFE363C84, D_8021D63C_665D8C, 0x00000044, 0x00000001, D_8021D6FC_665E4C, 0x00000008, 0x00000001, 0x00000082, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000004, 0xFE363C80, 0x00000043, 0x00000005, ForceHomePos, 0xFE363C80, 0x0000000A, 0x00000023, 0xFFFFFFFB, 0x00000043, 0x00000002, HPBarToHome, 0xFE363C80, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000005, 0xFE363C80, 0x00000043, 0x00000005, ForceHomePos, 0xFE363C80, 0x00000070, 0x00000034, 0xFFFFFFFB, 0x00000043, 0x00000002, HPBarToHome, 0xFE363C80, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0x00000043, 0x00000005, ForceHomePos, 0xFE363C80, 0x0000002A, 0x00000055, 0xFFFFFFF6, 0x00000043, 0x00000002, HPBarToHome, 0xFE363C80, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021DE9C_6665EC -.word 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C8A, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C8B, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, UseIdleAnimation, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000003, UseIdleAnimation, 0xFE363C8B, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000042, 0x00000002, 0xFE363C80, 0x00000040, 0x00000043, 0x00000004, SetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000013, 0x00000043, 0x00000002, SetBattleCamZoom, 0x0000015E, 0x00000043, 0x00000002, SetBattleCamOffsetZ, 0x00000023, 0x00000043, 0x00000003, GetActorFlags, 0xFFFFFF81, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00000200, 0x00000043, 0x00000004, SetBattleCamTarget, 0x00000046, 0x00000029, 0x00000005, 0x00000012, 0x00000000, 0x00000043, 0x00000004, SetBattleCamTarget, 0x00000046, 0x00000000, 0x00000005, 0x00000013, 0x00000000, 0x00000043, 0x00000002, MoveBattleCamOver, 0x0000000F, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0013, 0x00000043, 0x00000004, SetAnimation, 0xFE363C8A, 0x00000001, 0x007F0013, 0x00000043, 0x00000004, SetAnimation, 0xFE363C8B, 0x00000001, 0x007F0013, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x0000206D, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFE363C8A, 0x0000206D, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFE363C8B, 0x0000206D, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C89, 0x00000011, 0x00000002, 0xFE363C89, 0x00080000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFFB, 0x00000043, 0x0000000F, PlayEffect, 0x00000011, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFE363C8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFFB, 0x00000043, 0x0000000F, PlayEffect, 0x00000011, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFE363C8B, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFFB, 0x00000043, 0x0000000F, PlayEffect, 0x00000011, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000008, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFFE, 0x00000043, 0x0000000F, PlayEffect, 0x00000011, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFE363C8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000008, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFFE, 0x00000043, 0x0000000F, PlayEffect, 0x00000011, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFE363C8B, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000008, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFFE, 0x00000043, 0x0000000F, PlayEffect, 0x00000011, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000014, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F001C, 0x00000043, 0x00000004, SetAnimation, 0xFE363C8A, 0x00000001, 0x007F001C, 0x00000043, 0x00000004, SetAnimation, 0xFE363C8B, 0x00000001, 0x007F001C, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x0000035D, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000010, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C85, 0xFE363C80, 0x00000043, 0x00000003, GetActorFlags, 0xFFFFFF81, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00000200, 0x00000026, 0x00000002, 0xFE363C83, 0xF24D8680, 0x00000012, 0x00000000, 0x00000026, 0x00000002, 0xFE363C83, 0xF24D4A80, 0x00000013, 0x00000000, 0x00000043, 0x00000003, b_area_pra2_StartRumbleWithParams, 0x00000064, 0x0000003C, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x0000001E, 0xF24A7BB4, 0x00000057, 0x00000000, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C89, 0x00000011, 0x00000002, 0xFE363C89, 0x00080000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFF1, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000043, 0x0000000F, PlayEffect, 0x0000006E, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xF24A8280, 0xF24A7E80, 0x0000001E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, func_80218280_6609D0, 0xFE363C8F, 0x00000043, 0x00000005, GetActorPos, 0xFE363C8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFF1, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000043, 0x0000000F, PlayEffect, 0x0000006E, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xF24A8280, 0xF24A7E80, 0x0000001E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, func_80218280_6609D0, 0xFE363C8F, 0x00000043, 0x00000005, GetActorPos, 0xFE363C8B, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFF1, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000043, 0x0000000F, PlayEffect, 0x0000006E, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xF24A8280, 0xF24A7E80, 0x0000001E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, func_80218280_6609D0, 0xFE363C8F, 0x00000012, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFFA, 0x00000027, 0x00000002, 0xFE363C81, 0x00000008, 0x00000043, 0x0000000F, PlayEffect, 0x0000006E, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xF24A8280, 0xF24A7C1A, 0x0000001E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, func_80218280_6609D0, 0xFE363C8F, 0x00000043, 0x00000005, GetActorPos, 0xFE363C8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFFA, 0x00000027, 0x00000002, 0xFE363C81, 0x00000008, 0x00000043, 0x0000000F, PlayEffect, 0x0000006E, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xF24A8280, 0xF24A7C1A, 0x0000001E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, func_80218280_6609D0, 0xFE363C8F, 0x00000043, 0x00000005, GetActorPos, 0xFE363C8B, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFFA, 0x00000027, 0x00000002, 0xFE363C81, 0x00000008, 0x00000043, 0x0000000F, PlayEffect, 0x0000006E, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xF24A8280, 0xF24A7C1A, 0x0000001E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, func_80218280_6609D0, 0xFE363C8F, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, StopSound, 0x0000035D, 0x0000000A, 0x00000002, 0xFE363C85, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000040, 0x00000002, 0xFE363C80, 0xFFFFFFBF, 0x00000043, 0x00000004, SetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFE363C8A, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFE363C8B, 0x00000001, 0x00000002, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, GetActorFlags, 0xFFFFFF81, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00000200, 0x00000026, 0x00000002, 0xFE363C83, 0xF24D8680, 0x00000012, 0x00000000, 0x00000026, 0x00000002, 0xFE363C83, 0xF24D4A80, 0x00000013, 0x00000000, 0x00000043, 0x00000003, b_area_pra2_StartRumbleWithParams, 0x00000064, 0x00000078, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x0000003C, 0xF24A7BB4, 0x00000057, 0x00000000, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C89, 0x00000011, 0x00000002, 0xFE363C89, 0x00080000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFF1, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000043, 0x0000000F, PlayEffect, 0x0000006E, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xF24A8280, 0xF24A7E80, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, func_80218280_6609D0, 0xFE363C8F, 0x00000043, 0x00000005, GetActorPos, 0xFE363C8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFF1, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000043, 0x0000000F, PlayEffect, 0x0000006E, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xF24A8280, 0xF24A7E80, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, func_80218280_6609D0, 0xFE363C8F, 0x00000043, 0x00000005, GetActorPos, 0xFE363C8B, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFF1, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000043, 0x0000000F, PlayEffect, 0x0000006E, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xF24A8280, 0xF24A7E80, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, func_80218280_6609D0, 0xFE363C8F, 0x00000012, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFFA, 0x00000027, 0x00000002, 0xFE363C81, 0x00000008, 0x00000043, 0x0000000F, PlayEffect, 0x0000006E, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xF24A8280, 0xF24A7E80, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, func_80218280_6609D0, 0xFE363C8F, 0x00000043, 0x00000005, GetActorPos, 0xFE363C8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFFA, 0x00000027, 0x00000002, 0xFE363C81, 0x00000008, 0x00000043, 0x0000000F, PlayEffect, 0x0000006E, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xF24A8280, 0xF24A7E80, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, func_80218280_6609D0, 0xFE363C8F, 0x00000043, 0x00000005, GetActorPos, 0xFE363C8B, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFFA, 0x00000027, 0x00000002, 0xFE363C81, 0x00000008, 0x00000043, 0x0000000F, PlayEffect, 0x0000006E, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xF24A8280, 0xF24A7E80, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, func_80218280_6609D0, 0xFE363C8F, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000002, StopSound, 0x0000035D, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0015, 0x00000043, 0x00000004, SetAnimation, 0xFE363C8A, 0x00000001, 0x007F0015, 0x00000043, 0x00000004, SetAnimation, 0xFE363C8B, 0x00000001, 0x007F0015, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x10000008, 0x00000000, 0x00000000, 0x00000008, 0x00000020, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000008, 0x00000001, 0x00000014, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000040, 0x00000002, 0xFE363C80, 0xFFFFFFBF, 0x00000043, 0x00000004, SetActorVar, 0x00000200, 0x00000000, 0xFE363C80, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFE363C8A, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFE363C8B, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021EF84_6676D4 -.word 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C8B, 0xFE363C81, 0x00000043, 0x00000003, UseIdleAnimation, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000005, GetActorPos, 0xFE363C8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000003, GetStatusFlags, 0xFFFFFF81, 0xFE363C89, 0x00000011, 0x00000002, 0xFE363C89, 0x00080000, 0x00000027, 0x00000002, 0xFE363C83, 0xFFFFFFF1, 0x00000027, 0x00000002, 0xFE363C84, 0x00000014, 0x00000012, 0x00000000, 0x00000027, 0x00000002, 0xFE363C83, 0xFFFFFFFA, 0x00000027, 0x00000002, 0xFE363C84, 0x00000008, 0x00000013, 0x00000000, 0x00000043, 0x00000008, func_8021848C_660BDC, 0xFE363C8B, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000005, LoadPath, 0x0000001E, 0xFE363C8B, 0x00000003, 0x00000001, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, GetNextPathPos, 0x00000043, 0x00000005, SetActorPos, 0xFE363C8A, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000005, SetPartFlagBits, 0xFE363C8A, 0x00000001, 0x00000001, 0x00000001, 0x00000043, 0x00000004, SetActorFlagBits, 0xFE363C8A, 0x00000004, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021F150_6678A0 -.word 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000003D9, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000005, SetPartFlagBits, 0xFE363C8A, 0x00000001, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetActorFlagBits, 0xFE363C8A, 0x00000004, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, AddGoalPos, 0xFFFFFF81, 0xFFFFFF6A, 0x00000000, 0x00000000, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, GetActorPos, 0xFE363C8A, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000056, 0x00000000, 0x00000028, 0x00000002, 0xFE363C80, 0xFE363C83, 0x00000028, 0x00000002, 0xFE363C81, 0xFE363C84, 0x00000028, 0x00000002, 0xFE363C82, 0xFE363C85, 0x0000002A, 0x00000002, 0xFE363C80, 0x0000000A, 0x0000002A, 0x00000002, 0xFE363C81, 0x0000000A, 0x0000002A, 0x00000002, 0xFE363C82, 0x0000000A, 0x00000005, 0x00000001, 0x0000000A, 0x00000027, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C84, 0xFE363C81, 0x00000027, 0x00000002, 0xFE363C85, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000072, 0x00000001, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000014, 0xFFFFFFEC, 0xF24A7E80, 0x00000005, 0x0000001E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFE363C8A, 0xF24ABA80, 0x00000043, 0x00000005, SetGoalPos, 0xFE363C8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, FlyToGoal, 0xFE363C8A, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFE363C8A, 0x00000000, 0xFE363C8F, 0x00000043, 0x00000002, RemoveEffect, 0xFE363C8F, 0x00000043, 0x00000002, RemoveActor, 0xFE363C8A, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021F3A4_667AF4 -.word 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000003D9, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000005, SetPartFlagBits, 0xFE363C8A, 0x00000001, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetActorFlagBits, 0xFE363C8A, 0x00000004, 0x00000000, 0x00000043, 0x00000002, SetGoalToTarget, 0xFFFFFF81, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, GetActorPos, 0xFE363C8A, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000056, 0x00000000, 0x00000028, 0x00000002, 0xFE363C80, 0xFE363C83, 0x00000028, 0x00000002, 0xFE363C81, 0xFE363C84, 0x00000028, 0x00000002, 0xFE363C82, 0xFE363C85, 0x0000002A, 0x00000002, 0xFE363C80, 0x0000000A, 0x0000002A, 0x00000002, 0xFE363C81, 0x0000000A, 0x0000002A, 0x00000002, 0xFE363C82, 0x0000000A, 0x00000005, 0x00000001, 0x0000000A, 0x00000027, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C84, 0xFE363C81, 0x00000027, 0x00000002, 0xFE363C85, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000072, 0x00000001, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000014, 0xFFFFFFEC, 0xF24A7E80, 0x00000005, 0x0000001E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0xFE363C8A, 0xF24ABA80, 0x00000043, 0x00000005, SetGoalPos, 0xFE363C8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, FlyToGoal, 0xFE363C8A, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000008, EnemyDamageTarget, 0xFFFFFF81, 0xFE363C80, 0x10000008, 0x00000000, 0x00000000, 0x00000004, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFE363C8A, 0xF24A7E80, 0x00000043, 0x00000005, GetActorPos, 0xFE363C8A, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000028, 0x00000002, 0xFE363C81, 0x00000064, 0x00000043, 0x00000003, RandInt, 0x00000032, 0xFE363C84, 0x00000027, 0x00000002, 0xFE363C82, 0xFE363C84, 0x00000043, 0x00000005, SetGoalPos, 0xFE363C8A, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000006, JumpToGoal, 0xFE363C8A, 0x00000014, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFE363C8A, 0x00000000, 0xFE363C8F, 0x00000043, 0x00000002, RemoveEffect, 0xFE363C8F, 0x00000043, 0x00000002, RemoveActor, 0xFE363C8A, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021F6B0_667E00 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, SetTargetActor, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000000E, 0x00000043, 0x00000002, BattleCamTargetActor, 0xFFFFFF81, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F001C, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, b_area_pra2_StartRumbleWithParams, 0x00000046, 0x0000003C, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x0000001E, 0xF24A7B4D, 0x00000057, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x000003AF, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000004, 0xFE363C80, 0x00000043, 0x00000003, ActorExists, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000024, 0x00000002, 0xFE363C81, 0x80221630, 0x00000045, 0x00000002, D_8021EF84_6676D4, 0xFE363C8A, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000005, 0xFE363C80, 0x00000043, 0x00000003, ActorExists, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000024, 0x00000002, 0xFE363C81, 0x80221654, 0x00000045, 0x00000002, D_8021EF84_6676D4, 0xFE363C8A, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0x00000043, 0x00000003, ActorExists, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000024, 0x00000002, 0xFE363C81, 0x80221678, 0x00000045, 0x00000002, D_8021EF84_6676D4, 0xFE363C8A, 0x00000013, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0013, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000002, MoveBattleCamOver, 0x0000000F, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000010, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000006, 0x0000001D, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C80, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000004, 0xFE363C80, 0x00000043, 0x00000003, ActorExists, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F001C, 0x00000045, 0x00000002, D_8021F150_6678A0, 0xFE363C8A, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0015, 0x00000008, 0x00000001, 0x00000006, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000005, 0xFE363C80, 0x00000043, 0x00000003, ActorExists, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F001C, 0x00000045, 0x00000002, D_8021F150_6678A0, 0xFE363C8A, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0015, 0x00000008, 0x00000001, 0x00000006, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0x00000043, 0x00000003, ActorExists, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F001C, 0x00000045, 0x00000002, D_8021F150_6678A0, 0xFE363C8A, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0015, 0x00000008, 0x00000001, 0x00000006, 0x00000013, 0x00000000, 0x00000003, 0x00000001, 0x00000001, 0x00000055, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C89, 0x00000005, 0x00000043, 0x00000007, EnemyTestTarget, 0xFFFFFF81, 0xFE363C80, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000004, 0xFE363C80, 0x00000043, 0x00000003, ActorExists, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F001C, 0x00000045, 0x00000002, D_8021F3A4_667AF4, 0xFE363C8A, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0015, 0x00000008, 0x00000001, 0x00000006, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000005, 0xFE363C80, 0x00000043, 0x00000003, ActorExists, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F001C, 0x00000045, 0x00000002, D_8021F3A4_667AF4, 0xFE363C8A, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0015, 0x00000008, 0x00000001, 0x00000006, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000006, 0xFE363C80, 0x00000043, 0x00000003, ActorExists, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F001C, 0x00000045, 0x00000002, D_8021F3A4_667AF4, 0xFE363C8A, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0015, 0x00000008, 0x00000001, 0x00000006, 0x00000013, 0x00000000, 0x00000003, 0x00000001, 0x00000004, 0x00000055, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000004, 0x00000013, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8021FE90_6685E0 -.word 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000001, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000004, 0x0000001D, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000002, 0xFE363C8A, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000003, 0xFE363C8B, 0x00000043, 0x00000003, ActorExists, 0xFE363C8A, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000013, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000003, UseIdleAnimation, 0xFE363C8B, 0x00000000, 0x00000043, 0x00000003, EnableIdleScript, 0xFE363C8B, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000013, 0x00000043, 0x00000002, SetBattleCamZoom, 0x0000015E, 0x00000043, 0x00000002, SetBattleCamOffsetZ, 0x00000032, 0x00000043, 0x00000003, GetActorFlags, 0xFFFFFF81, 0xFE363C80, 0x00000010, 0x00000002, 0xFE363C80, 0x00000200, 0x00000043, 0x00000004, SetBattleCamTarget, 0x00000046, 0x00000029, 0x00000005, 0x00000012, 0x00000000, 0x00000043, 0x00000004, SetBattleCamTarget, 0x00000046, 0x00000000, 0x00000005, 0x00000013, 0x00000000, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000014, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F001D, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0xFE363C8A, 0x00000001, 0x007F001D, 0x00000043, 0x00000004, SetAnimation, 0xFE363C8B, 0x00000001, 0x007F001D, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x0000206D, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000214, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x0000025C, 0x00000057, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFE363C8A, 0x0000206D, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFE363C8A, 0x00000214, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFE363C8A, 0x0000025C, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFE363C8B, 0x0000206D, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFE363C8B, 0x00000214, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFE363C8B, 0x0000025C, 0x00000057, 0x00000000, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, func_8026BF48, 0x00000001, 0x00000043, 0x00000004, HealActor, 0xFFFFFF81, 0x00000014, 0x00000000, 0x00000043, 0x00000002, func_8026BF48, 0x00000000, 0x00000057, 0x00000000, 0x00000012, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, func_8026BF48, 0x00000001, 0x00000043, 0x00000004, HealActor, 0xFFFFFF81, 0x00000014, 0x00000001, 0x00000043, 0x00000002, func_8026BF48, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, func_8026BF48, 0x00000001, 0x00000043, 0x00000004, HealActor, 0xFE363C8A, 0x00000014, 0x00000001, 0x00000043, 0x00000002, func_8026BF48, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, func_8026BF48, 0x00000001, 0x00000043, 0x00000004, HealActor, 0xFE363C8B, 0x00000014, 0x00000001, 0x00000043, 0x00000002, func_8026BF48, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0xFE363C8A, 0x00000001, 0x007F0009, 0x00000043, 0x00000004, SetAnimation, 0xFE363C8B, 0x00000001, 0x007F0009, 0x00000013, 0x00000000, 0x00000043, 0x00000001, WaitForBuffDone, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000002, 0x00000043, 0x00000003, EnableIdleScript, 0xFFFFFF81, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000003, EnableIdleScript, 0xFE363C8A, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFE363C8A, 0x00000001, 0x00000043, 0x00000003, EnableIdleScript, 0xFE363C8A, 0x00000001, 0x00000043, 0x00000003, UseIdleAnimation, 0xFE363C8A, 0x00000001, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80220480_668BD0 -.word 0x00000001, 0x007F000A, 0x00000000 - -dlabel D_8022048C_668BDC -.word 0x00000001, 0x007F000B, 0x00000000 - -dlabel D_80220498_668BE8 -.word 0x00000001, 0x007F000C, 0x00000000 - -dlabel D_802204A4_668BF4 -.word 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000004, 0x00000063, 0x00000000 - -dlabel D_802204C0_668C10 -.word 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000006, 0x00000000, 0x00000009, 0x00000000, 0x00000007, 0x00000000, 0x00000004, 0x00000000, 0x00000003, 0x00000000, 0x0000000B, 0x00000000, 0x00000005, 0x00000000, 0x0000000A, 0x00000000, 0x00000008, 0x00000000, 0x0000001F, 0x00000000, 0x00000020, 0x00000000, 0x00000025, 0x00000000, 0x00000022, 0x00000000, 0x00000024, 0x00000000, 0x00000023, 0x00000000, 0x00000021, 0x00000000, 0x00000026, 0x00000000, 0x00000027, 0x00000000, 0x00000029, 0x00000000, 0x00000000 - -dlabel D_8022056C_668CBC -.word 0x00020000, 0x01000000, 0x001000FF, D_80220480_668BD0, D_802204A4_668BF4, 0x00000008, 0x00000000, 0x00F60000, 0x00000000, 0x80800021, 0x02003200, 0x00DE00FF, 0x00000000, D_802204A4_668BF4, 0x00000008, 0x00000000, 0x00F60000, 0x00000000 - -dlabel D_802205B4_668D04 -.word 0x00020000, 0x01000000, 0x001000FF, D_8022048C_668BDC, D_802204A4_668BF4, 0x00000008, 0x00000000, 0x00F60000, 0x00000000, 0x80800021, 0x02003200, 0x00DE00FF, 0x00000000, D_802204A4_668BF4, 0x00000008, 0x00000000, 0x00F60000, 0x00000000 - -dlabel D_802205FC_668D4C -.word 0x00020000, 0x01000000, 0x001000FF, D_80220498_668BE8, D_802204A4_668BF4, 0x00000008, 0x00000000, 0x00F60000, 0x00000000, 0x80800021, 0x02003200, 0x00DE00FF, 0x00000000, D_802204A4_668BF4, 0x00000008, 0x00000000, 0x00F60000, 0x00000000 - -dlabel D_80220644_668D94 -.word 0x00200200, 0x00BF0001, 0x00020000, D_8022056C_668CBC, D_802206BC_668E0C, D_802204C0_668C10, 0x00000000, 0x00005A00, 0x120F0000, 0xF6140A14 - -dlabel D_8022066C_668DBC -.word 0x00200200, 0x00BF0001, 0x00020000, D_802205B4_668D04, D_802206BC_668E0C, D_802204C0_668C10, 0x00000000, 0x00005A00, 0x120F0000, 0xF6140A14 - -dlabel D_80220694_668DE4 -.word 0x00200200, 0x00BF0001, 0x00020000, D_802205FC_668D4C, D_802206BC_668E0C, D_802204C0_668C10, 0x00000000, 0x00005A00, 0x120F0000, 0xF6140A14 - -dlabel D_802206BC_668E0C -.word 0x00000043, 0x00000003, BindTakeTurn, 0xFFFFFF81, D_802211C0_669910, 0x00000043, 0x00000003, BindIdle, 0xFFFFFF81, D_8022071C_668E6C, 0x00000043, 0x00000003, BindHandleEvent, 0xFFFFFF81, D_802207C8_668F18, 0x00000043, 0x00000003, BindNextTurn, 0xFFFFFF81, D_802211D0_669920, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8022071C_668E6C -.word 0x00000043, 0x0000000F, PlayEffect, 0x00000072, 0x00000001, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000018, 0x00000018, 0xF24A7E80, 0x00000005, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C8F, 0x00000058, 0x00000000, 0x00000043, 0x00000002, func_802185D0_660D20, 0xFE363C8F, 0x00000059, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802207C8_668F18 -.word 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000000, 0x00000043, 0x00000003, GetLastEvent, 0xFFFFFF81, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000009, 0x0000001D, 0x00000001, 0x0000000A, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetAnimation, 0xFFFFFF81, 0x00000001, 0xFE363C81, 0x00000046, 0x00000001, DoNormalHit, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x0000000E, 0x00000043, 0x00000002, GetOwnerID, 0xFE363C80, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000004, 0xFE363C83, 0x0000000A, 0x00000002, 0xFE363C80, 0xFE363C83, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x007F0022, 0x00000025, 0x00000002, 0xFE363C82, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000005, 0xFE363C83, 0x0000000A, 0x00000002, 0xFE363C80, 0xFE363C83, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x007F0023, 0x00000025, 0x00000002, 0xFE363C82, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000006, 0xFE363C83, 0x0000000A, 0x00000002, 0xFE363C80, 0xFE363C83, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x007F0024, 0x00000025, 0x00000002, 0xFE363C82, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000046, 0x00000001, DoBurnHit, 0x0000001D, 0x00000001, 0x00000017, 0x0000001D, 0x00000001, 0x00000019, 0x0000001D, 0x00000001, 0x0000001F, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetAnimation, 0xFFFFFF81, 0x00000001, 0xFE363C81, 0x00000046, 0x00000001, DoImmune, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000020, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, GetAnimation, 0xFFFFFF81, 0x00000001, 0xFE363C81, 0x00000046, 0x00000001, DoNormalHit, 0x00000043, 0x00000002, func_8027D32C, 0xFFFFFF81, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000301, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7DB4, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C81, 0x00000000, 0xFE363C83, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000F, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetOwnerID, 0xFE363C80, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000004, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0005, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000005, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0006, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000006, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000004, SetAnimation, 0xFFFFFF81, 0x00000001, 0x007F0007, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7F4D, 0x00000043, 0x00000003, RandInt, 0x00000168, 0xFE363C80, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000005, AddVectorPolar, 0xFE363C81, 0xFE363C83, 0xF24AF280, 0xFE363C80, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C81, 0x00000000, 0xFE363C83, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000F, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, AddVectorPolar, 0xFE363C81, 0xFE363C83, 0xF24ACA80, 0xFE363C80, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C81, 0x00000000, 0xFE363C83, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000A, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, AddVectorPolar, 0xFE363C81, 0xFE363C83, 0xF24AA280, 0xFE363C80, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C81, 0x00000000, 0xFE363C83, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x000000FF, 0x00000005, 0x00000001, 0x00000014, 0x00000028, 0x00000002, 0xFE363C80, 0x0000000C, 0x00000043, 0x00000004, SetPartAlpha, 0xFFFFFF81, 0x00000001, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000043, 0x00000002, RemoveEffect, 0xFE363C80, 0x00000043, 0x00000002, RemoveActor, 0xFFFFFF81, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000024, 0x00000043, 0x00000002, GetOwnerID, 0xFE363C80, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000004, 0xFE363C83, 0x0000000A, 0x00000002, 0xFE363C80, 0xFE363C83, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x007F0022, 0x00000025, 0x00000002, 0xFE363C82, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000005, 0xFE363C83, 0x0000000A, 0x00000002, 0xFE363C80, 0xFE363C83, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x007F0023, 0x00000025, 0x00000002, 0xFE363C82, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0x00000200, 0x00000006, 0xFE363C83, 0x0000000A, 0x00000002, 0xFE363C80, 0xFE363C83, 0x00000025, 0x00000002, 0xFE363C80, 0x00000001, 0x00000025, 0x00000002, 0xFE363C81, 0x007F0024, 0x00000025, 0x00000002, 0xFE363C82, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000046, 0x00000001, DoBurnHit, 0x00000043, 0x00000002, func_8027D32C, 0xFFFFFF81, 0x00000043, 0x00000003, PlaySoundAtActor, 0xFFFFFF81, 0x00000301, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7DB4, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C81, 0x00000000, 0xFE363C83, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000F, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetActorJumpGravity, 0xFFFFFF81, 0xF24A7F4D, 0x00000043, 0x00000003, RandInt, 0x00000168, 0xFE363C80, 0x00000043, 0x00000005, GetActorPos, 0xFFFFFF81, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000005, AddVectorPolar, 0xFE363C81, 0xFE363C83, 0xF24AF280, 0xFE363C80, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C81, 0x00000000, 0xFE363C83, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000F, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, AddVectorPolar, 0xFE363C81, 0xFE363C83, 0xF24ACA80, 0xFE363C80, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C81, 0x00000000, 0xFE363C83, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x0000000A, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, AddVectorPolar, 0xFE363C81, 0xFE363C83, 0xF24AA280, 0xFE363C80, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C81, 0x00000000, 0xFE363C83, 0x00000043, 0x00000006, JumpToGoal, 0xFFFFFF81, 0x00000005, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x000000FF, 0x00000005, 0x00000001, 0x00000014, 0x00000028, 0x00000002, 0xFE363C80, 0x0000000C, 0x00000043, 0x00000004, SetPartAlpha, 0xFFFFFF81, 0x00000001, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000043, 0x00000002, RemoveEffect, 0xFE363C80, 0x00000043, 0x00000002, RemoveActor, 0xFFFFFF81, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0x00000016, 0x00000043, 0x00000004, GetActorVar, 0xFFFFFF81, 0x00000000, 0xFE363C80, 0x00000043, 0x00000002, RemoveEffect, 0xFE363C80, 0x00000002, 0x00000000, 0x0000001C, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, UseIdleAnimation, 0xFFFFFF81, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802211C0_669910 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802211D0_669920 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802211E0_669930 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802211F0_669940 -.word 0x00000043, 0x00000001, b_area_pra2_Set80071270_0_16, 0x00000005, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8022122C_66997C -.word 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, RandInt, 0x0000001E, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000008, 0x00000001, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x0000000A, 0x00000027, 0x00000002, 0xFE363C81, 0x00000024, 0x00000043, 0x00000006, RotateModel, 0xFE363C8A, 0xFE363C81, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C8B, 0xFE363C81, 0x00000044, 0x00000001, D_8022122C_66997C, 0x00000024, 0x00000002, 0xFE363C87, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C87, 0x00000004, 0x0000000D, 0x00000002, 0xFE363C87, 0x00000E0F, 0x00000028, 0x00000002, 0xFE363C87, 0x00000E10, 0x00000013, 0x00000000, 0x00000043, 0x00000005, b_area_pra2_UnkFloatFunc2, 0xFE363C87, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C87, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C87, 0x00000004, 0x0000000D, 0x00000002, 0xFE363C87, 0x00000E0F, 0x00000028, 0x00000002, 0xFE363C87, 0x00000E10, 0x00000013, 0x00000000, 0x00000043, 0x00000005, b_area_pra2_UnkFloatFunc2, 0xFE363C87, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, TranslateModel, 0xFE363C8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80221498_669BE8 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000044, 0x00000001, D_802211F0_669940, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802214C4_669C14 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802214D4_669C24 -.word D_80221608_669D58, D_802215F8_669D48, D_802215E8_669D38, D_80221498_669BE8, D_802214C4_669C14, D_802215E0_669D30, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80221500_669C50 -.word 0x00000046, 0x00000000, 0x00000005 - -dlabel D_8022150C_669C5C -.word 0x0000000A, 0x00000023, 0xFFFFFFFB - -dlabel D_80221518_669C68 -.word 0x00000070, 0x00000034, 0xFFFFFFFB - -dlabel D_80221524_669C74 -.word 0x0000002A, 0x00000055, 0xFFFFFFF6 - -dlabel D_80221530_669C80 -.word D_80218B18_661268, D_80221500_669C50, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80220644_668D94, D_8022150C_669C5C, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8022066C_668DBC, D_80221518_669C68, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80220694_668DE4, D_80221524_669C74, 0x00000007, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80221610_669D60, 0x00000004, D_80221530_669C80, D_802214D4_669C24, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8022161C_669D6C, D_802214D4_669C24, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802215E0_669D30 -.word 0x73616D5F, 0x62670000 - -dlabel D_802215E8_669D38 -.word 0x73616D5F, 0x62743034, 0x5F686974, 0x00000000 - -dlabel D_802215F8_669D48 -.word 0x73616D5F, 0x62743034, 0x5F736861, 0x70650000 - -dlabel D_80221608_669D58 -.word 0x73616D5F, 0x74657800 - -dlabel D_80221610_669D60 -.word 0x83708389, 0x838C8389, 0x815B0000 - -dlabel D_8022161C_669D6C -.word 0x73616D5F, 0x30340000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/nonmatchings/battle/area_pra2/660750/func_80218280_6609D0.s b/ver/us/asm/nonmatchings/battle/area_pra2/660750/func_80218280_6609D0.s deleted file mode 100644 index 030cac5e64..0000000000 --- a/ver/us/asm/nonmatchings/battle/area_pra2/660750/func_80218280_6609D0.s +++ /dev/null @@ -1,29 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80218280_6609D0 -/* 6609D0 80218280 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 6609D4 80218284 AFBF0010 */ sw $ra, 0x10($sp) -/* 6609D8 80218288 8C82000C */ lw $v0, 0xc($a0) -/* 6609DC 8021828C 0C0B1EAF */ jal evt_get_variable -/* 6609E0 80218290 8C450000 */ lw $a1, ($v0) -/* 6609E4 80218294 8C43000C */ lw $v1, 0xc($v0) -/* 6609E8 80218298 240400F8 */ addiu $a0, $zero, 0xf8 -/* 6609EC 8021829C AC640018 */ sw $a0, 0x18($v1) -/* 6609F0 802182A0 8C43000C */ lw $v1, 0xc($v0) -/* 6609F4 802182A4 AC64001C */ sw $a0, 0x1c($v1) -/* 6609F8 802182A8 8C43000C */ lw $v1, 0xc($v0) -/* 6609FC 802182AC 240500FF */ addiu $a1, $zero, 0xff -/* 660A00 802182B0 AC650020 */ sw $a1, 0x20($v1) -/* 660A04 802182B4 8C44000C */ lw $a0, 0xc($v0) -/* 660A08 802182B8 24030080 */ addiu $v1, $zero, 0x80 -/* 660A0C 802182BC AC830028 */ sw $v1, 0x28($a0) -/* 660A10 802182C0 8C44000C */ lw $a0, 0xc($v0) -/* 660A14 802182C4 240300E0 */ addiu $v1, $zero, 0xe0 -/* 660A18 802182C8 AC83002C */ sw $v1, 0x2c($a0) -/* 660A1C 802182CC 8C43000C */ lw $v1, 0xc($v0) -/* 660A20 802182D0 AC650030 */ sw $a1, 0x30($v1) -/* 660A24 802182D4 8FBF0010 */ lw $ra, 0x10($sp) -/* 660A28 802182D8 24020002 */ addiu $v0, $zero, 2 -/* 660A2C 802182DC 03E00008 */ jr $ra -/* 660A30 802182E0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/battle/area_pra2/660750/func_802182E4_660A34.s b/ver/us/asm/nonmatchings/battle/area_pra2/660750/func_802182E4_660A34.s deleted file mode 100644 index 70e35600c5..0000000000 --- a/ver/us/asm/nonmatchings/battle/area_pra2/660750/func_802182E4_660A34.s +++ /dev/null @@ -1,28 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802182E4_660A34 -/* 660A34 802182E4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 660A38 802182E8 AFBF0010 */ sw $ra, 0x10($sp) -/* 660A3C 802182EC 8C82000C */ lw $v0, 0xc($a0) -/* 660A40 802182F0 0C0B1EAF */ jal evt_get_variable -/* 660A44 802182F4 8C450000 */ lw $a1, ($v0) -/* 660A48 802182F8 8C43000C */ lw $v1, 0xc($v0) -/* 660A4C 802182FC 240500FF */ addiu $a1, $zero, 0xff -/* 660A50 80218300 AC650030 */ sw $a1, 0x30($v1) -/* 660A54 80218304 8C43000C */ lw $v1, 0xc($v0) -/* 660A58 80218308 AC650034 */ sw $a1, 0x34($v1) -/* 660A5C 8021830C 8C43000C */ lw $v1, 0xc($v0) -/* 660A60 80218310 AC650038 */ sw $a1, 0x38($v1) -/* 660A64 80218314 8C44000C */ lw $a0, 0xc($v0) -/* 660A68 80218318 240300C8 */ addiu $v1, $zero, 0xc8 -/* 660A6C 8021831C AC830040 */ sw $v1, 0x40($a0) -/* 660A70 80218320 8C44000C */ lw $a0, 0xc($v0) -/* 660A74 80218324 240300F0 */ addiu $v1, $zero, 0xf0 -/* 660A78 80218328 AC830044 */ sw $v1, 0x44($a0) -/* 660A7C 8021832C 8C43000C */ lw $v1, 0xc($v0) -/* 660A80 80218330 AC650048 */ sw $a1, 0x48($v1) -/* 660A84 80218334 8FBF0010 */ lw $ra, 0x10($sp) -/* 660A88 80218338 24020002 */ addiu $v0, $zero, 2 -/* 660A8C 8021833C 03E00008 */ jr $ra -/* 660A90 80218340 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/battle/area_pra2/660750/func_80218344_660A94.s b/ver/us/asm/nonmatchings/battle/area_pra2/660750/func_80218344_660A94.s deleted file mode 100644 index 677b46523c..0000000000 --- a/ver/us/asm/nonmatchings/battle/area_pra2/660750/func_80218344_660A94.s +++ /dev/null @@ -1,28 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80218344_660A94 -/* 660A94 80218344 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 660A98 80218348 AFBF0010 */ sw $ra, 0x10($sp) -/* 660A9C 8021834C 8C82000C */ lw $v0, 0xc($a0) -/* 660AA0 80218350 0C0B1EAF */ jal evt_get_variable -/* 660AA4 80218354 8C450000 */ lw $a1, ($v0) -/* 660AA8 80218358 8C43000C */ lw $v1, 0xc($v0) -/* 660AAC 8021835C 240500FF */ addiu $a1, $zero, 0xff -/* 660AB0 80218360 AC650018 */ sw $a1, 0x18($v1) -/* 660AB4 80218364 8C43000C */ lw $v1, 0xc($v0) -/* 660AB8 80218368 AC65001C */ sw $a1, 0x1c($v1) -/* 660ABC 8021836C 8C43000C */ lw $v1, 0xc($v0) -/* 660AC0 80218370 AC650020 */ sw $a1, 0x20($v1) -/* 660AC4 80218374 8C44000C */ lw $a0, 0xc($v0) -/* 660AC8 80218378 240300C8 */ addiu $v1, $zero, 0xc8 -/* 660ACC 8021837C AC830028 */ sw $v1, 0x28($a0) -/* 660AD0 80218380 8C44000C */ lw $a0, 0xc($v0) -/* 660AD4 80218384 240300F0 */ addiu $v1, $zero, 0xf0 -/* 660AD8 80218388 AC83002C */ sw $v1, 0x2c($a0) -/* 660ADC 8021838C 8C43000C */ lw $v1, 0xc($v0) -/* 660AE0 80218390 AC650030 */ sw $a1, 0x30($v1) -/* 660AE4 80218394 8FBF0010 */ lw $ra, 0x10($sp) -/* 660AE8 80218398 24020002 */ addiu $v0, $zero, 2 -/* 660AEC 8021839C 03E00008 */ jr $ra -/* 660AF0 802183A0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/battle/area_pra2/660750/func_8021848C_660BDC.s b/ver/us/asm/nonmatchings/battle/area_pra2/660750/func_8021848C_660BDC.s deleted file mode 100644 index 14ce69711c..0000000000 --- a/ver/us/asm/nonmatchings/battle/area_pra2/660750/func_8021848C_660BDC.s +++ /dev/null @@ -1,85 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8021848C_660BDC -/* 660BDC 8021848C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 660BE0 80218490 AFB20018 */ sw $s2, 0x18($sp) -/* 660BE4 80218494 0080902D */ daddu $s2, $a0, $zero -/* 660BE8 80218498 AFBF001C */ sw $ra, 0x1c($sp) -/* 660BEC 8021849C AFB10014 */ sw $s1, 0x14($sp) -/* 660BF0 802184A0 AFB00010 */ sw $s0, 0x10($sp) -/* 660BF4 802184A4 8E50000C */ lw $s0, 0xc($s2) -/* 660BF8 802184A8 8E050000 */ lw $a1, ($s0) -/* 660BFC 802184AC 0C0B1EAF */ jal evt_get_variable -/* 660C00 802184B0 26100004 */ addiu $s0, $s0, 4 -/* 660C04 802184B4 8E050000 */ lw $a1, ($s0) -/* 660C08 802184B8 26100004 */ addiu $s0, $s0, 4 -/* 660C0C 802184BC 0240202D */ daddu $a0, $s2, $zero -/* 660C10 802184C0 0C0B1EAF */ jal evt_get_variable -/* 660C14 802184C4 0040882D */ daddu $s1, $v0, $zero -/* 660C18 802184C8 44820000 */ mtc1 $v0, $f0 -/* 660C1C 802184CC 00000000 */ nop -/* 660C20 802184D0 46800020 */ cvt.s.w $f0, $f0 -/* 660C24 802184D4 E6200000 */ swc1 $f0, ($s1) -/* 660C28 802184D8 8E050000 */ lw $a1, ($s0) -/* 660C2C 802184DC 26100004 */ addiu $s0, $s0, 4 -/* 660C30 802184E0 0C0B1EAF */ jal evt_get_variable -/* 660C34 802184E4 0240202D */ daddu $a0, $s2, $zero -/* 660C38 802184E8 44820000 */ mtc1 $v0, $f0 -/* 660C3C 802184EC 00000000 */ nop -/* 660C40 802184F0 46800020 */ cvt.s.w $f0, $f0 -/* 660C44 802184F4 E6200004 */ swc1 $f0, 4($s1) -/* 660C48 802184F8 8E050000 */ lw $a1, ($s0) -/* 660C4C 802184FC 26100004 */ addiu $s0, $s0, 4 -/* 660C50 80218500 0C0B1EAF */ jal evt_get_variable -/* 660C54 80218504 0240202D */ daddu $a0, $s2, $zero -/* 660C58 80218508 24040014 */ addiu $a0, $zero, 0x14 -/* 660C5C 8021850C 44820000 */ mtc1 $v0, $f0 -/* 660C60 80218510 00000000 */ nop -/* 660C64 80218514 46800020 */ cvt.s.w $f0, $f0 -/* 660C68 80218518 0C00A67F */ jal rand_int -/* 660C6C 8021851C E6200008 */ swc1 $f0, 8($s1) -/* 660C70 80218520 24040028 */ addiu $a0, $zero, 0x28 -/* 660C74 80218524 00021023 */ negu $v0, $v0 -/* 660C78 80218528 44820000 */ mtc1 $v0, $f0 -/* 660C7C 8021852C 00000000 */ nop -/* 660C80 80218530 46800020 */ cvt.s.w $f0, $f0 -/* 660C84 80218534 0C00A67F */ jal rand_int -/* 660C88 80218538 E620000C */ swc1 $f0, 0xc($s1) -/* 660C8C 8021853C 24420028 */ addiu $v0, $v0, 0x28 -/* 660C90 80218540 44820000 */ mtc1 $v0, $f0 -/* 660C94 80218544 00000000 */ nop -/* 660C98 80218548 46800020 */ cvt.s.w $f0, $f0 -/* 660C9C 8021854C E6200010 */ swc1 $f0, 0x10($s1) -/* 660CA0 80218550 AE200014 */ sw $zero, 0x14($s1) -/* 660CA4 80218554 8E050000 */ lw $a1, ($s0) -/* 660CA8 80218558 26100004 */ addiu $s0, $s0, 4 -/* 660CAC 8021855C 0C0B1EAF */ jal evt_get_variable -/* 660CB0 80218560 0240202D */ daddu $a0, $s2, $zero -/* 660CB4 80218564 44820000 */ mtc1 $v0, $f0 -/* 660CB8 80218568 00000000 */ nop -/* 660CBC 8021856C 46800020 */ cvt.s.w $f0, $f0 -/* 660CC0 80218570 E6200018 */ swc1 $f0, 0x18($s1) -/* 660CC4 80218574 8E050000 */ lw $a1, ($s0) -/* 660CC8 80218578 26100004 */ addiu $s0, $s0, 4 -/* 660CCC 8021857C 0C0B1EAF */ jal evt_get_variable -/* 660CD0 80218580 0240202D */ daddu $a0, $s2, $zero -/* 660CD4 80218584 44820000 */ mtc1 $v0, $f0 -/* 660CD8 80218588 00000000 */ nop -/* 660CDC 8021858C 46800020 */ cvt.s.w $f0, $f0 -/* 660CE0 80218590 E620001C */ swc1 $f0, 0x1c($s1) -/* 660CE4 80218594 8E050000 */ lw $a1, ($s0) -/* 660CE8 80218598 0C0B1EAF */ jal evt_get_variable -/* 660CEC 8021859C 0240202D */ daddu $a0, $s2, $zero -/* 660CF0 802185A0 44820000 */ mtc1 $v0, $f0 -/* 660CF4 802185A4 00000000 */ nop -/* 660CF8 802185A8 46800020 */ cvt.s.w $f0, $f0 -/* 660CFC 802185AC E6200020 */ swc1 $f0, 0x20($s1) -/* 660D00 802185B0 8FBF001C */ lw $ra, 0x1c($sp) -/* 660D04 802185B4 8FB20018 */ lw $s2, 0x18($sp) -/* 660D08 802185B8 8FB10014 */ lw $s1, 0x14($sp) -/* 660D0C 802185BC 8FB00010 */ lw $s0, 0x10($sp) -/* 660D10 802185C0 24020002 */ addiu $v0, $zero, 2 -/* 660D14 802185C4 03E00008 */ jr $ra -/* 660D18 802185C8 27BD0020 */ addiu $sp, $sp, 0x20 -/* 660D1C 802185CC 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/battle/area_pra2/660D20/func_802185D0_660D20.s b/ver/us/asm/nonmatchings/battle/area_pra2/660D20/func_802185D0_660D20.s deleted file mode 100644 index 50d8f13a3b..0000000000 --- a/ver/us/asm/nonmatchings/battle/area_pra2/660D20/func_802185D0_660D20.s +++ /dev/null @@ -1,66 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802185D0_660D20 -/* 660D20 802185D0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 660D24 802185D4 AFB00010 */ sw $s0, 0x10($sp) -/* 660D28 802185D8 0080802D */ daddu $s0, $a0, $zero -/* 660D2C 802185DC AFBF001C */ sw $ra, 0x1c($sp) -/* 660D30 802185E0 AFB20018 */ sw $s2, 0x18($sp) -/* 660D34 802185E4 AFB10014 */ sw $s1, 0x14($sp) -/* 660D38 802185E8 8E040148 */ lw $a0, 0x148($s0) -/* 660D3C 802185EC 0C09A75B */ jal get_actor -/* 660D40 802185F0 8E11000C */ lw $s1, 0xc($s0) -/* 660D44 802185F4 0040902D */ daddu $s2, $v0, $zero -/* 660D48 802185F8 0240202D */ daddu $a0, $s2, $zero -/* 660D4C 802185FC 0C099117 */ jal get_actor_part -/* 660D50 80218600 24050001 */ addiu $a1, $zero, 1 -/* 660D54 80218604 0200202D */ daddu $a0, $s0, $zero -/* 660D58 80218608 8E250000 */ lw $a1, ($s1) -/* 660D5C 8021860C 0C0B1EAF */ jal evt_get_variable -/* 660D60 80218610 0040802D */ daddu $s0, $v0, $zero -/* 660D64 80218614 C600004C */ lwc1 $f0, 0x4c($s0) -/* 660D68 80218618 3C0141C0 */ lui $at, 0x41c0 -/* 660D6C 8021861C 44811000 */ mtc1 $at, $f2 -/* 660D70 80218620 00000000 */ nop -/* 660D74 80218624 46020002 */ mul.s $f0, $f0, $f2 -/* 660D78 80218628 00000000 */ nop -/* 660D7C 8021862C 0040182D */ daddu $v1, $v0, $zero -/* 660D80 80218630 8C62000C */ lw $v0, 0xc($v1) -/* 660D84 80218634 E4400010 */ swc1 $f0, 0x10($v0) -/* 660D88 80218638 C6000050 */ lwc1 $f0, 0x50($s0) -/* 660D8C 8021863C 46020002 */ mul.s $f0, $f0, $f2 -/* 660D90 80218640 00000000 */ nop -/* 660D94 80218644 8C62000C */ lw $v0, 0xc($v1) -/* 660D98 80218648 E4400014 */ swc1 $f0, 0x14($v0) -/* 660D9C 8021864C 8E020000 */ lw $v0, ($s0) -/* 660DA0 80218650 30420001 */ andi $v0, $v0, 1 -/* 660DA4 80218654 10400009 */ beqz $v0, .L8021867C -/* 660DA8 80218658 00000000 */ nop -/* 660DAC 8021865C 8C62000C */ lw $v0, 0xc($v1) -/* 660DB0 80218660 C6400144 */ lwc1 $f0, 0x144($s2) -/* 660DB4 80218664 E4400004 */ swc1 $f0, 4($v0) -/* 660DB8 80218668 8C62000C */ lw $v0, 0xc($v1) -/* 660DBC 8021866C 3C01C47A */ lui $at, 0xc47a -/* 660DC0 80218670 44810000 */ mtc1 $at, $f0 -/* 660DC4 80218674 080861A5 */ j .L80218694 -/* 660DC8 80218678 E4400008 */ swc1 $f0, 8($v0) -.L8021867C: -/* 660DCC 8021867C 8C62000C */ lw $v0, 0xc($v1) -/* 660DD0 80218680 C6400144 */ lwc1 $f0, 0x144($s2) -/* 660DD4 80218684 E4400004 */ swc1 $f0, 4($v0) -/* 660DD8 80218688 8C62000C */ lw $v0, 0xc($v1) -/* 660DDC 8021868C C6400148 */ lwc1 $f0, 0x148($s2) -/* 660DE0 80218690 E4400008 */ swc1 $f0, 8($v0) -.L80218694: -/* 660DE4 80218694 8C62000C */ lw $v0, 0xc($v1) -/* 660DE8 80218698 C640014C */ lwc1 $f0, 0x14c($s2) -/* 660DEC 8021869C E440000C */ swc1 $f0, 0xc($v0) -/* 660DF0 802186A0 8FBF001C */ lw $ra, 0x1c($sp) -/* 660DF4 802186A4 8FB20018 */ lw $s2, 0x18($sp) -/* 660DF8 802186A8 8FB10014 */ lw $s1, 0x14($sp) -/* 660DFC 802186AC 8FB00010 */ lw $s0, 0x10($sp) -/* 660E00 802186B0 0000102D */ daddu $v0, $zero, $zero -/* 660E04 802186B4 03E00008 */ jr $ra -/* 660E08 802186B8 27BD0020 */ addiu $sp, $sp, 0x20 -/* 660E0C 802186BC 00000000 */ nop diff --git a/ver/us/splat.yaml b/ver/us/splat.yaml index 597e54eacf..4ed0d07ddd 100644 --- a/ver/us/splat.yaml +++ b/ver/us/splat.yaml @@ -4401,12 +4401,13 @@ segments: type: code start: 0x660750 vram: 0x80218000 + subalign: 16 # BSS alignment hack overlay: True subsegments: - - [0x660750, c] - - [0x660D20, c] - - [0x660E10, c] - - [0x661150, data] + - [0x660750, c, actor/crystal_king] + - [0x660D20, c, actor/crystal_bit] + - [0x660E10, c, stage/sam_04] + - [0x661150, c, area] - dir: battle/area_pra3 type: code start: 0x669D80