mirror of
https://github.com/pmret/papermario.git
synced 2024-11-08 12:02:30 +01:00
Battle Map and Move Disassembly (#614)
This commit is contained in:
parent
e60e5fccd1
commit
79bcd008f9
@ -1032,6 +1032,9 @@ enum PlayerAnims {
|
||||
ANIM_MIDAIR_STILL = 0x00010007,
|
||||
ANIM_MIDAIR = 0x00010008,
|
||||
ANIM_10009 = 0x00010009,
|
||||
ANIM_1000A = 0x0001000A,
|
||||
ANIM_1000B = 0x0001000B,
|
||||
ANIM_1000C = 0x0001000C,
|
||||
ANIM_STUNNED_STILL = 0x0001000E,
|
||||
ANIM_DEAD_STILL = 0x0001000F,
|
||||
ANIM_SPINNING = 0x00010011,
|
||||
@ -1058,12 +1061,14 @@ enum PlayerAnims {
|
||||
ANIM_RUN_THINKING = 0x00010027,
|
||||
ANIM_QUESTION = 0x00010028,
|
||||
ANIM_NOD_YES = 0x00010029,
|
||||
ANIM_1002A = 0x0001002A,
|
||||
ANIM_1002B = 0x0001002B,
|
||||
ANIM_PRAY = 0x0001002C,
|
||||
ANIM_CHARRED = 0x0001002F,
|
||||
ANIM_GET_UP = 0x00010030,
|
||||
ANIM_DUST_OFF = 0x00010031,
|
||||
ANIM_THUMBS_UP = 0x00010032,
|
||||
ANIM_30000 = 0x00030000,
|
||||
ANIM_30004 = 0x00030004,
|
||||
ANIM_30008 = 0x00030008,
|
||||
ANIM_30009 = 0x00030009,
|
||||
|
@ -148,6 +148,7 @@ ApiStatus SummonEnemy(Evt* script, s32 isInitialCall);
|
||||
ApiStatus GetOwnerID(Evt* script, s32 isInitialCall);
|
||||
ApiStatus SetOwnerID(Evt* script, s32 isInitialCall);
|
||||
ApiStatus ActorExists(Evt* script, s32 isInitialCall);
|
||||
ApiStatus func_8026E038(Evt* script, s32 isInitialCall);
|
||||
ApiStatus SetBattleInputMask(Evt* script, s32 isInitialCall);
|
||||
ApiStatus SetBattleInputButtons(Evt* script, s32 isInitialCall);
|
||||
ApiStatus CheckButtonPress(Evt* script, s32 isInitialCall);
|
||||
@ -201,6 +202,9 @@ ApiStatus PlayerPowerBounceEnemy(Evt* script, s32 isInitialCall);
|
||||
ApiStatus PlayerTestEnemy(Evt* script, s32 isInitialCall);
|
||||
ApiStatus DispatchDamagePlayerEvent(Evt* script, s32 isInitialCall);
|
||||
ApiStatus EnablePlayerBlur(Evt* script, s32 isInitialCall);
|
||||
ApiStatus func_80274A18(Evt* script, s32 isInitialCall);
|
||||
ApiStatus func_802752AC(Evt* script, s32 isInitialCall);
|
||||
ApiStatus func_80275F00(Evt* script, s32 isInitialCall);
|
||||
ApiStatus DidActionSucceed(Evt* script, s32 isInitialCall);
|
||||
ApiStatus BindTakeTurn(Evt* script, s32 isInitialCall);
|
||||
ApiStatus PauseTakeTurn(Evt* script, s32 isInitialCall);
|
||||
@ -306,6 +310,7 @@ ApiStatus func_802D75D8(Evt* script, s32 isInitialCall);
|
||||
ApiStatus func_80273444(Evt* script, s32 isInitialCall);
|
||||
ApiStatus GetActionCommandMode(Evt* script, s32 isInitialCall);
|
||||
ApiStatus SetActionCommandMode(Evt* script, s32 isInitialCall);
|
||||
ApiStatus func_802693F0(Evt* script, s32 isInitialCall);
|
||||
ApiStatus WaitForState(Evt* script, s32 isInitialCall);
|
||||
ApiStatus func_8026E020(Evt* script, s32 isInitialCall);
|
||||
ApiStatus GetActionResult(Evt* script, s32 isInitialCall);
|
||||
|
@ -187,7 +187,7 @@ s32 bActorNames[ACTOR_TYPE_COUNT] = {
|
||||
[ACTOR_TYPE_RED_NINJAKOOPA] = MSG_actor_red_ninjakoopa,
|
||||
[ACTOR_TYPE_BLUE_NINJAKOOPA] = MSG_actor_blue_ninjakoopa,
|
||||
[ACTOR_TYPE_YELLOW_NINJAKOOPA] = MSG_actor_yellow_ninjakoopa,
|
||||
[ACTOR_TYPE_GOOMBARIO_TUTOR2] = MSG_party_goombario,
|
||||
[ACTOR_TYPE_ELDSTAR] = MSG_party_goombario,
|
||||
[ACTOR_TYPE_BUZZAR] = MSG_actor_buzzar,
|
||||
[ACTOR_TYPE_TUTANKOOPA] = MSG_actor_tutankoopa,
|
||||
[ACTOR_TYPE_CHOMP] = MSG_actor_chomp,
|
||||
@ -404,7 +404,7 @@ ActorSounds bActorSoundTable[ACTOR_TYPE_COUNT] = {
|
||||
[ACTOR_TYPE_RED_NINJAKOOPA] = { .walk = { 0x20BA, 0x03B4 }, .fly = { 0x0000, 0x0000 }, .jump = 0x03E2, .hurt = 0x0000, .delay = { 30, 30 } },
|
||||
[ACTOR_TYPE_BLUE_NINJAKOOPA] = { .walk = { 0x20BA, 0x03B4 }, .fly = { 0x0000, 0x0000 }, .jump = 0x03E2, .hurt = 0x0000, .delay = { 30, 30 } },
|
||||
[ACTOR_TYPE_YELLOW_NINJAKOOPA] = { .walk = { 0x20BA, 0x03B4 }, .fly = { 0x0000, 0x0000 }, .jump = 0x03E2, .hurt = 0x0000, .delay = { 30, 30 } },
|
||||
[ACTOR_TYPE_GOOMBARIO_TUTOR2] = { .walk = { 0x0000, 0x0000 }, .fly = { 0x0000, 0x0000 }, .jump = 0x0000, .hurt = 0x0000, .delay = { 30, 30 } },
|
||||
[ACTOR_TYPE_ELDSTAR] = { .walk = { 0x0000, 0x0000 }, .fly = { 0x0000, 0x0000 }, .jump = 0x0000, .hurt = 0x0000, .delay = { 30, 30 } },
|
||||
[ACTOR_TYPE_BUZZAR] = { .walk = { 0x0000, 0x0000 }, .fly = { 0x20EF, 0x20EF }, .jump = 0x0000, .hurt = 0x0000, .delay = { -14, -14 } },
|
||||
[ACTOR_TYPE_TUTANKOOPA] = { .walk = { 0x20BA, 0x03B4 }, .fly = { 0x0000, 0x0000 }, .jump = 0x0000, .hurt = 0x0000, .delay = { -3, -3 } },
|
||||
[ACTOR_TYPE_CHOMP] = { .walk = { 0x0000, 0x0000 }, .fly = { 0x0000, 0x0000 }, .jump = 0x0000, .hurt = 0x010F, .delay = { 30, 30 } },
|
||||
@ -619,7 +619,7 @@ s32 bActorTattles[ACTOR_TYPE_COUNT] = {
|
||||
[ACTOR_TYPE_RED_NINJAKOOPA] = MSG_actor_red_ninjakoopa_tattle,
|
||||
[ACTOR_TYPE_BLUE_NINJAKOOPA] = MSG_actor_blue_ninjakoopa_tattle,
|
||||
[ACTOR_TYPE_YELLOW_NINJAKOOPA] = MSG_actor_yellow_ninjakoopa_tattle,
|
||||
[ACTOR_TYPE_GOOMBARIO_TUTOR2] = NULL,
|
||||
[ACTOR_TYPE_ELDSTAR] = NULL,
|
||||
[ACTOR_TYPE_BUZZAR] = MSG_actor_buzzar_tattle,
|
||||
[ACTOR_TYPE_TUTANKOOPA] = MSG_actor_tutankoopa_tattle,
|
||||
[ACTOR_TYPE_CHOMP] = MSG_actor_chomp_tattle,
|
||||
@ -834,7 +834,7 @@ ActorOffsets bActorOffsets[ACTOR_TYPE_COUNT] = {
|
||||
[ACTOR_TYPE_RED_NINJAKOOPA] = { .tattleCam = { 0, 4, 0 }, .shadow = 0 },
|
||||
[ACTOR_TYPE_BLUE_NINJAKOOPA] = { .tattleCam = { 0, 4, 0 }, .shadow = 0 },
|
||||
[ACTOR_TYPE_YELLOW_NINJAKOOPA] = { .tattleCam = { 0, 4, 0 }, .shadow = 0 },
|
||||
[ACTOR_TYPE_GOOMBARIO_TUTOR2] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
||||
[ACTOR_TYPE_ELDSTAR] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
||||
[ACTOR_TYPE_BUZZAR] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
||||
[ACTOR_TYPE_TUTANKOOPA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
||||
[ACTOR_TYPE_CHOMP] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
||||
|
119
src/3251D0.c
119
src/3251D0.c
@ -1,7 +1,8 @@
|
||||
#include "common.h"
|
||||
#include "effects.h"
|
||||
#include "script_api/battle.h"
|
||||
|
||||
ApiStatus func_802BD100_3251D0(Evt* script, s32 isInitialCall) {
|
||||
ApiStatus func_802C0000(Evt* script, s32 isInitialCall) {
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
s32 a = evt_get_variable(script, *args++);
|
||||
s32 b = evt_get_variable(script, *args++);
|
||||
@ -11,7 +12,7 @@ ApiStatus func_802BD100_3251D0(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_802BD1AC_32527C(Evt* script, s32 isInitialCall) {
|
||||
ApiStatus func_802C00AC(Evt* script, s32 isInitialCall) {
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
s32 a = evt_get_variable(script, *args++);
|
||||
s32 b = evt_get_variable(script, *args++);
|
||||
@ -22,7 +23,7 @@ ApiStatus func_802BD1AC_32527C(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_802BD26C(Evt* script, s32 isInitialCall) {
|
||||
ApiStatus func_802C016C(Evt* script, s32 isInitialCall) {
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
s32 a = evt_get_variable(script, *args++);
|
||||
s32 b = evt_get_variable(script, *args++);
|
||||
@ -33,7 +34,7 @@ ApiStatus func_802BD26C(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_802BD32C(Evt* script, s32 isInitialCall) {
|
||||
ApiStatus func_802C022C(Evt* script, s32 isInitialCall) {
|
||||
PlayerData* playerData = &gPlayerData;
|
||||
|
||||
s32 newHP = playerData->curHP + evt_get_variable(script, *script->ptrReadPos);
|
||||
@ -50,7 +51,7 @@ ApiStatus func_802BD32C(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_802BD388(Evt* script, s32 isInitialCall) {
|
||||
ApiStatus func_802C0288(Evt* script, s32 isInitialCall) {
|
||||
PlayerData* playerData = &gPlayerData;
|
||||
|
||||
s32 newFP = playerData->curFP + evt_get_variable(script, *script->ptrReadPos);
|
||||
@ -67,19 +68,19 @@ ApiStatus func_802BD388(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_802BD3E4(Evt* script, s32 isInitialCall) {
|
||||
ApiStatus func_802C02E4(Evt* script, s32 isInitialCall) {
|
||||
set_time_freeze_mode(TIME_FREEZE_FULL);
|
||||
gOverrideFlags |= 0x200000;
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_802BD41C(Evt* script, s32 isInitialCall) {
|
||||
ApiStatus func_802C031C(Evt* script, s32 isInitialCall) {
|
||||
set_time_freeze_mode(TIME_FREEZE_NORMAL);
|
||||
gOverrideFlags &= ~0x200000;
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_802BD458(Evt* script, s32 isInitialCall) {
|
||||
ApiStatus func_802C0358(Evt* script, s32 isInitialCall) {
|
||||
s32 itemIdx = evt_get_variable(script, *script->ptrReadPos);
|
||||
s32 var15;
|
||||
|
||||
@ -100,7 +101,107 @@ ApiStatus func_802BD458(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_802BD4E8(Evt* script, s32 isInitialCall) {
|
||||
ApiStatus func_802C03E8(Evt* script, s32 isInitialCall) {
|
||||
remove_consumable();
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
EvtSource D_802C0410 = {
|
||||
EVT_SET_GROUP(0)
|
||||
EVT_CALL(SetPlayerAnimation, ANIM_GOT_ITEM)
|
||||
EVT_CALL(GetPlayerPos, LW(0), LW(1), LW(2))
|
||||
EVT_ADD(LW(1), 45)
|
||||
EVT_CALL(MakeItemEntity, LW(10), LW(0), LW(1), LW(2), 1, 0)
|
||||
EVT_SET(LW(10), LW(0))
|
||||
EVT_WAIT_FRAMES(15)
|
||||
EVT_CALL(GetPlayerPos, LW(0), LW(1), LW(2))
|
||||
EVT_ADD(LW(1), 20)
|
||||
EVT_CALL(func_802C0000, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(RemoveItemEntity, LW(10))
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource D_802C04F4 = {
|
||||
EVT_THREAD
|
||||
EVT_LOOP(4)
|
||||
EVT_CALL(PlaySound, SOUND_2095)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_END_LOOP
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(SetPlayerAnimation, ANIM_EAT)
|
||||
EVT_WAIT_FRAMES(45)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource D_802C0560 = {
|
||||
EVT_THREAD
|
||||
EVT_LOOP(4)
|
||||
EVT_CALL(PlaySound, SOUND_2095)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_END_LOOP
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(SetPlayerAnimation, ANIM_DRINK)
|
||||
EVT_WAIT_FRAMES(45)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource D_802C05CC_32579C = {
|
||||
EVT_SET_GROUP(0)
|
||||
EVT_CALL(DisablePlayerInput, TRUE)
|
||||
EVT_CALL(GetCurrentPartner, LW(0))
|
||||
EVT_IF_NE(LW(0), 0)
|
||||
EVT_CALL(func_802D2B6C)
|
||||
EVT_WAIT_FRAMES(20)
|
||||
EVT_END_IF
|
||||
EVT_CALL(func_802C02E4)
|
||||
EVT_CALL(func_802C0358, LW(10))
|
||||
EVT_EXEC_WAIT(D_802C0410)
|
||||
EVT_IF_EQ(LW(13), 0)
|
||||
EVT_EXEC_WAIT(D_802C04F4)
|
||||
EVT_ELSE
|
||||
EVT_EXEC_WAIT(D_802C0560)
|
||||
EVT_END_IF
|
||||
EVT_IF_EQ(LW(15), 1)
|
||||
EVT_CALL(SetPlayerAnimation, ANIM_STICK_OUT_TONGUE)
|
||||
EVT_END_IF
|
||||
EVT_IF_GT(LW(11), 0)
|
||||
EVT_CALL(GetPlayerPos, LW(0), LW(1), LW(2))
|
||||
EVT_ADD(LW(0), 0)
|
||||
EVT_ADD(LW(1), 35)
|
||||
EVT_CALL(func_802C00AC, LW(0), LW(1), LW(2), LW(11))
|
||||
EVT_END_IF
|
||||
EVT_IF_GT(LW(12), 0)
|
||||
EVT_CALL(GetPlayerPos, LW(0), LW(1), LW(2))
|
||||
EVT_ADD(LW(0), 20)
|
||||
EVT_ADD(LW(1), 25)
|
||||
EVT_CALL(func_802C016C, LW(0), LW(1), LW(2), LW(12))
|
||||
EVT_END_IF
|
||||
EVT_CALL(GetPlayerPos, LW(0), LW(1), LW(2))
|
||||
EVT_ADD(LW(1), 25)
|
||||
EVT_CALL(func_802D7520, LW(0), LW(1), LW(2), LW(11))
|
||||
EVT_IF_NE(LW(11), 0)
|
||||
EVT_CALL(func_802C022C, LW(11))
|
||||
EVT_END_IF
|
||||
EVT_IF_NE(LW(12), 0)
|
||||
EVT_CALL(func_802C0288, LW(12))
|
||||
EVT_END_IF
|
||||
EVT_IF_EQ(LW(15), 0)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(SetPlayerAnimation, ANIM_THUMBS_UP)
|
||||
EVT_WAIT_FRAMES(30)
|
||||
EVT_ELSE
|
||||
EVT_WAIT_FRAMES(30)
|
||||
EVT_END_IF
|
||||
EVT_CALL(GetPlayerPos, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(func_802D75D8, LW(0), LW(1), LW(2), LW(11))
|
||||
EVT_CALL(SetPlayerAnimation, ANIM_10002)
|
||||
EVT_WAIT_FRAMES(20)
|
||||
EVT_CALL(func_802C03E8)
|
||||
EVT_CALL(DisablePlayerInput, FALSE)
|
||||
EVT_CALL(func_802C031C)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
#define NAMESPACE action_command_bomb
|
||||
|
||||
void btl_set_popup_duration(s32);
|
||||
void sfx_adjust_env_sound_params(s32, s32, s32, s32);
|
||||
|
||||
extern HudElementAnim D_80108AFC;
|
||||
|
@ -57,7 +57,6 @@ ApiStatus func_802A9000_430020(void) {
|
||||
|
||||
#include "common/MashActionCommandInit.inc.c"
|
||||
|
||||
// wip: decomp.me/scratch/tAhNa
|
||||
INCLUDE_ASM(s32, "battle/action_cmd/spook", func_802A9298_4302B8);
|
||||
|
||||
#include "common/UnkActionCommandFunc1.inc.c"
|
||||
|
@ -1,29 +0,0 @@
|
||||
#include "common.h"
|
||||
|
||||
#define NAMESPACE b_area_trd_part_2
|
||||
|
||||
#define NAMESPACE dup2_b_area_trd_part_2
|
||||
#include "common/StartRumbleWithParams.inc.c"
|
||||
#define NAMESPACE b_area_trd_part_2
|
||||
|
||||
#define NAMESPACE dup2_b_area_trd_part_2
|
||||
#include "world/common/UnkFunc27.inc.c"
|
||||
#define NAMESPACE b_area_trd_part_2
|
||||
|
||||
#define NAMESPACE dup2_b_area_trd_part_2
|
||||
#include "world/common/UnkFunc26.inc.c"
|
||||
#define NAMESPACE b_area_trd_part_2
|
||||
|
||||
ApiStatus func_80218350_4B1540(Evt* script, s32 isInitialCall) {
|
||||
bgm_set_battle_song(8, 0);
|
||||
bgm_push_battle_song();
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_8021837C_4B156C(Evt* script, s32 isInitialCall) {
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
Actor* actor = get_actor(evt_get_variable(script, *args++));
|
||||
|
||||
play_movement_dust_effects(2, actor->state.goalPos.x - 15.0f, actor->state.goalPos.y, actor->state.goalPos.z, actor->state.angle);
|
||||
return ApiStatus_DONE2;
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
#include "common.h"
|
||||
|
||||
#define NAMESPACE b_area_trd_part_2
|
||||
|
||||
#define NAMESPACE dup3_b_area_trd_part_2
|
||||
#include "common/StartRumbleWithParams.inc.c"
|
||||
#define NAMESPACE b_area_trd_part_2
|
||||
|
||||
// Requires data migration to match
|
||||
#ifdef NON_MATCHING
|
||||
#define NAMESPACE dup3_b_area_trd_part_2
|
||||
#include "common/UnkWhirlwindEffectFunc.inc.c"
|
||||
#define NAMESPACE b_area_trd_part_2
|
||||
#else
|
||||
INCLUDE_ASM(s32, "battle/area_trd_part_2/4B15D0", func_80218438_4B1628);
|
||||
#endif
|
||||
|
||||
#define NAMESPACE dup3_b_area_trd_part_2
|
||||
#include "common/UnkEnemyFunc.inc.c"
|
||||
#define NAMESPACE b_area_trd_part_2
|
||||
|
||||
INCLUDE_ASM(s32, "battle/area_trd_part_2/4B15D0", func_802185B0_4B17A0);
|
||||
|
||||
#define NAMESPACE dup3_b_area_trd_part_2
|
||||
#include "common/GetLastActorEventType.inc.c"
|
||||
#define NAMESPACE b_area_trd_part_2
|
@ -1,18 +0,0 @@
|
||||
#include "common.h"
|
||||
|
||||
#define NAMESPACE b_area_trd_part_2
|
||||
|
||||
#include "common/StartRumbleWithParams.inc.c"
|
||||
|
||||
// Requires data migration to match
|
||||
#ifdef NON_MATCHING
|
||||
#include "common/UnkWhirlwindEffectFunc.inc.c"
|
||||
#else
|
||||
INCLUDE_ASM(s32, "battle/area_trd_part_2/4B1D90", func_80218BF8_4B1DE8);
|
||||
#endif
|
||||
|
||||
#include "common/UnkEnemyFunc.inc.c"
|
||||
|
||||
INCLUDE_ASM(s32, "battle/area_trd_part_2/4B1D90", func_80218D70_4B1F60);
|
||||
|
||||
#include "common/GetLastActorEventType.inc.c"
|
@ -1,27 +0,0 @@
|
||||
#include "common.h"
|
||||
#include "effects.h"
|
||||
|
||||
#define NAMESPACE b_area_trd_part_2
|
||||
|
||||
#define NAMESPACE dup4_b_area_trd_part_2
|
||||
#include "common/StartRumbleWithParams.inc.c"
|
||||
#define NAMESPACE b_area_trd_part_2
|
||||
|
||||
// Requires data migration to match
|
||||
#ifdef NON_MATCHING
|
||||
#define NAMESPACE dup4_b_area_trd_part_2
|
||||
#include "common/UnkWhirlwindEffectFunc.inc.c"
|
||||
#define NAMESPACE b_area_trd_part_2
|
||||
#else
|
||||
INCLUDE_ASM(s32, "battle/area_trd_part_2/4B2550", func_802193B8_4B25A8);
|
||||
#endif
|
||||
|
||||
#define NAMESPACE dup4_b_area_trd_part_2
|
||||
#include "common/UnkEnemyFunc.inc.c"
|
||||
#define NAMESPACE b_area_trd_part_2
|
||||
|
||||
INCLUDE_ASM(s32, "battle/area_trd_part_2/4B2550", func_80219530_4B2720);
|
||||
|
||||
#define NAMESPACE dup4_b_area_trd_part_2
|
||||
#include "common/GetLastActorEventType.inc.c"
|
||||
#define NAMESPACE b_area_trd_part_2
|
@ -1,26 +0,0 @@
|
||||
#include "common.h"
|
||||
|
||||
#define NAMESPACE b_area_trd_part_2
|
||||
|
||||
#define NAMESPACE dup_b_area_trd_part_2
|
||||
#include "common/StartRumbleWithParams.inc.c"
|
||||
#define NAMESPACE b_area_trd_part_2
|
||||
|
||||
// Requires data migration to match
|
||||
#ifdef NON_MATCHING
|
||||
#define NAMESPACE dup_b_area_trd_part_2
|
||||
#include "common/UnkWhirlwindEffectFunc.inc.c"
|
||||
#define NAMESPACE b_area_trd_part_2
|
||||
#else
|
||||
INCLUDE_ASM(s32, "battle/area_trd_part_2/4B2D10", func_80219B78_4B2D68);
|
||||
#endif
|
||||
|
||||
#define NAMESPACE dup_b_area_trd_part_2
|
||||
#include "common/UnkEnemyFunc.inc.c"
|
||||
#define NAMESPACE b_area_trd_part_2
|
||||
|
||||
INCLUDE_ASM(s32, "battle/area_trd_part_2/4B2D10", func_80219CF0_4B2EE0);
|
||||
|
||||
#define NAMESPACE dup_b_area_trd_part_2
|
||||
#include "common/GetLastActorEventType.inc.c"
|
||||
#define NAMESPACE b_area_trd_part_2
|
@ -1,5 +0,0 @@
|
||||
#include "common.h"
|
||||
|
||||
#define NAMESPACE b_area_trd_part_2
|
||||
|
||||
#include "common/UnkAngleFunc2.inc.c"
|
821
src/battle/area_trd_part_2/actor/blue_ninja_koopa.c
Normal file
821
src/battle/area_trd_part_2/actor/blue_ninja_koopa.c
Normal file
@ -0,0 +1,821 @@
|
||||
#include "common.h"
|
||||
#include "effects.h"
|
||||
#include "battle/battle.h"
|
||||
#include "script_api/battle.h"
|
||||
#include "sprite/npc/koopa_bros.h"
|
||||
|
||||
#define NAMESPACE b_area_trd_part_2_blue_ninja_koopa
|
||||
|
||||
extern s32 N(idleAnimations_8022B5B0)[];
|
||||
extern EvtSource N(init_8022DC2C);
|
||||
extern EvtSource N(idle_8022DD20);
|
||||
extern EvtSource N(handleEvent_8022DD88);
|
||||
extern EvtSource N(nextTurn_8022E424);
|
||||
extern EvtSource N(takeTurn_8022E414);
|
||||
|
||||
s32 N(defenseTable_8022B4A0)[] = {
|
||||
ELEMENT_NORMAL, 1,
|
||||
ELEMENT_END,
|
||||
};
|
||||
|
||||
s32 N(defenseTable_8022B4AC)[] = {
|
||||
ELEMENT_NORMAL, 0,
|
||||
ELEMENT_END,
|
||||
};
|
||||
|
||||
s32 N(statusTable_8022B4B8)[] = {
|
||||
STATUS_NORMAL, 0,
|
||||
STATUS_DEFAULT, 0,
|
||||
STATUS_SLEEP, 40,
|
||||
STATUS_POISON, 0,
|
||||
STATUS_FROZEN, 0,
|
||||
STATUS_DIZZY, 30,
|
||||
STATUS_FEAR, 0,
|
||||
STATUS_STATIC, 0,
|
||||
STATUS_PARALYZE, 60,
|
||||
STATUS_SHRINK, 100,
|
||||
STATUS_STOP, 75,
|
||||
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,
|
||||
};
|
||||
|
||||
ActorPartDesc N(partsTable_8022B564)[] = {
|
||||
{
|
||||
.flags = ACTOR_PART_FLAG_MULTI_TARGET,
|
||||
.index = 1,
|
||||
.posOffset = { 0, 0, 0 },
|
||||
.targetOffset = { -5, 36 },
|
||||
.opacity = 255,
|
||||
.idleAnimations = N(idleAnimations_8022B5B0),
|
||||
.defenseTable = N(defenseTable_8022B4A0),
|
||||
.eventFlags = ACTOR_EVENT_FLAG_FLIPABLE,
|
||||
.elementImmunityFlags = 0,
|
||||
.unk_1C = 0,
|
||||
},
|
||||
};
|
||||
|
||||
ActorDesc NAMESPACE = {
|
||||
.flags = ACTOR_FLAG_40000 | ACTOR_FLAG_NO_ATTACK,
|
||||
.type = ACTOR_TYPE_BLUE_NINJAKOOPA,
|
||||
.level = 17,
|
||||
.maxHP = 5,
|
||||
.partCount = ARRAY_COUNT(N(partsTable_8022B564)),
|
||||
.partsData = N(partsTable_8022B564),
|
||||
.script = N(init_8022DC2C),
|
||||
.statusTable = N(statusTable_8022B4B8),
|
||||
.escapeChance = 0,
|
||||
.airLiftChance = 0,
|
||||
.spookChance = 0,
|
||||
.baseStatusChance = 0,
|
||||
.upAndAwayChance = 0,
|
||||
.spinSmashReq = 0,
|
||||
.powerBounceChance = 85,
|
||||
.coinReward = 0,
|
||||
.size = { 38, 42 },
|
||||
.hpBarOffset = { 0, 0 },
|
||||
.statusIconOffset = { -10, 20 },
|
||||
.statusMessageOffset = { 10, 20 },
|
||||
};
|
||||
|
||||
s32 N(idleAnimations_8022B5B0)[] = {
|
||||
STATUS_NORMAL, NPC_ANIM_koopa_bros_Palette_00_Anim_4,
|
||||
STATUS_STONE, NPC_ANIM_koopa_bros_Palette_00_Anim_0,
|
||||
STATUS_SLEEP, NPC_ANIM_koopa_bros_Palette_00_Anim_15,
|
||||
STATUS_POISON, NPC_ANIM_koopa_bros_Palette_00_Anim_0,
|
||||
STATUS_STOP, NPC_ANIM_koopa_bros_Palette_00_Anim_0,
|
||||
STATUS_STATIC, NPC_ANIM_koopa_bros_Palette_00_Anim_0,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_00_Anim_0,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_00_Anim_0,
|
||||
STATUS_DIZZY, NPC_ANIM_koopa_bros_Palette_00_Anim_18,
|
||||
STATUS_DIZZY, NPC_ANIM_koopa_bros_Palette_00_Anim_18,
|
||||
STATUS_END,
|
||||
};
|
||||
|
||||
s32 N(idleAnimations_8022B604)[] = {
|
||||
STATUS_NORMAL, NPC_ANIM_koopa_bros_Palette_00_Anim_5,
|
||||
STATUS_STONE, NPC_ANIM_koopa_bros_Palette_00_Anim_1,
|
||||
STATUS_POISON, NPC_ANIM_koopa_bros_Palette_00_Anim_1,
|
||||
STATUS_STOP, NPC_ANIM_koopa_bros_Palette_00_Anim_1,
|
||||
STATUS_STATIC, NPC_ANIM_koopa_bros_Palette_00_Anim_1,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_00_Anim_1,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_00_Anim_1,
|
||||
STATUS_END,
|
||||
};
|
||||
|
||||
s32 N(idleAnimations_8022B640)[] = {
|
||||
STATUS_NORMAL, NPC_ANIM_koopa_bros_Palette_00_Anim_D,
|
||||
STATUS_STONE, NPC_ANIM_koopa_bros_Palette_00_Anim_1,
|
||||
STATUS_POISON, NPC_ANIM_koopa_bros_Palette_00_Anim_1,
|
||||
STATUS_STOP, NPC_ANIM_koopa_bros_Palette_00_Anim_1,
|
||||
STATUS_STATIC, NPC_ANIM_koopa_bros_Palette_00_Anim_1,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_00_Anim_1,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_00_Anim_1,
|
||||
STATUS_END,
|
||||
};
|
||||
|
||||
s32 N(idleAnimations_8022B67C)[] = {
|
||||
STATUS_NORMAL, NPC_ANIM_koopa_bros_Palette_00_Anim_C,
|
||||
STATUS_STONE, NPC_ANIM_koopa_bros_Palette_00_Anim_17,
|
||||
STATUS_SLEEP, NPC_ANIM_koopa_bros_Palette_00_Anim_17,
|
||||
STATUS_POISON, NPC_ANIM_koopa_bros_Palette_00_Anim_17,
|
||||
STATUS_STOP, NPC_ANIM_koopa_bros_Palette_00_Anim_17,
|
||||
STATUS_STATIC, NPC_ANIM_koopa_bros_Palette_00_Anim_17,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_00_Anim_17,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_00_Anim_17,
|
||||
STATUS_DIZZY, NPC_ANIM_koopa_bros_Palette_00_Anim_22,
|
||||
STATUS_DIZZY, NPC_ANIM_koopa_bros_Palette_00_Anim_22,
|
||||
STATUS_END,
|
||||
};
|
||||
|
||||
s32 N(idleAnimations_8022B6D0)[] = {
|
||||
STATUS_NORMAL, NPC_ANIM_koopa_bros_Palette_00_Anim_A,
|
||||
STATUS_END,
|
||||
};
|
||||
|
||||
s32 N(idleAnimations_8022B6DC)[] = {
|
||||
STATUS_NORMAL, NPC_ANIM_koopa_bros_Palette_00_Anim_C,
|
||||
STATUS_END,
|
||||
};
|
||||
|
||||
#include "common/StartRumbleWithParams.inc.c"
|
||||
|
||||
// TODO: This pad is here due to rodata having subalign 4, while bss is 0x10 aligned as normal.
|
||||
BSS static char pad;
|
||||
#include "common/UnkWhirlwindEffectFunc.inc.c"
|
||||
|
||||
#include "common/UnkEnemyFunc.inc.c"
|
||||
|
||||
ApiStatus func_80219530_4B2720(Evt* script, s32 isInitialCall);
|
||||
INCLUDE_ASM(s32, "battle/area_trd_part_2/4B2550", func_80219530_4B2720);
|
||||
|
||||
#include "common/GetLastActorEventType.inc.c"
|
||||
|
||||
EvtSource N(8022B6E8) = {
|
||||
EVT_CALL(SetOwnerID, ACTOR_ENEMY2)
|
||||
EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(0))
|
||||
EVT_IF_NE(LW(0), 0)
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE)
|
||||
EVT_SWITCH(LW(10))
|
||||
EVT_CASE_EQ(0)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022B5B0)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_4)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022B604)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_5)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(1)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022B640)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_D)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_00_Anim_B)
|
||||
EVT_EXEC_WAIT(DoNormalHit)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LW(0))
|
||||
EVT_BITWISE_AND_CONST(LW(0), 192)
|
||||
EVT_IF_NE(LW(0), 192)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022B640)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_D)
|
||||
EVT_ELSE
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022B6D0)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_A)
|
||||
EVT_END_IF
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_CALL(N(GetLastActorEventType), 14)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_00_Anim_E)
|
||||
EVT_SET_CONST(LW(2), -1)
|
||||
EVT_EXEC_WAIT(DoBurnHit)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LW(0))
|
||||
EVT_BITWISE_AND_CONST(LW(0), 192)
|
||||
EVT_IF_NE(LW(0), 192)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022B640)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_D)
|
||||
EVT_ELSE
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022B6D0)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_A)
|
||||
EVT_END_IF
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_00_Anim_8)
|
||||
EVT_EXEC_WAIT(DoImmune)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_9)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_00_Anim_1F)
|
||||
EVT_EXEC_WAIT(DoImmune)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_20)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_WAIT_FRAMES(15)
|
||||
EVT_CASE_EQ(5)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_SET(LF(0), 0)
|
||||
EVT_IF_EQ(LW(0), 3)
|
||||
EVT_SET(LF(0), 1)
|
||||
EVT_END_IF
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6005859375))
|
||||
EVT_CALL(func_80219530_4B2720, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_A)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022B6D0)))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE)
|
||||
EVT_IF_EQ(LF(0), 1)
|
||||
EVT_CALL(N(StartRumbleWithParams), 256, 5)
|
||||
EVT_THREAD
|
||||
EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(0.80078125))
|
||||
EVT_END_THREAD
|
||||
EVT_END_IF
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_C)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022B6DC)))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_40000, 0)
|
||||
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, 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(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022B67C)))
|
||||
EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_ADDR(N(defenseTable_8022B4AC)))
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 2, 2)
|
||||
EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 18)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(6)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_SET(LF(0), 0)
|
||||
EVT_IF_EQ(LW(0), 3)
|
||||
EVT_SET(LF(0), 1)
|
||||
EVT_END_IF
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6005859375))
|
||||
EVT_CALL(func_80219530_4B2720, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_E)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022B6D0)))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE)
|
||||
EVT_IF_EQ(LF(0), 1)
|
||||
EVT_CALL(N(StartRumbleWithParams), 256, 5)
|
||||
EVT_THREAD
|
||||
EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(0.80078125))
|
||||
EVT_END_THREAD
|
||||
EVT_END_IF
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(GetActorSize, ACTOR_SELF, LW(3), LW(4))
|
||||
EVT_DIVF(LW(3), EVT_FLOAT(2.0))
|
||||
EVT_ADDF(LW(1), LW(3))
|
||||
EVT_ADDF(LW(2), EVT_FLOAT(5.0))
|
||||
EVT_DIVF(LW(3), EVT_FLOAT(10.0))
|
||||
EVT_CALL(PlayEffect, EFFECT_ID_27, 0, LW(0), LW(1), LW(2), LW(3), 10, 0, 0, 0, 0, 0, 0, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_C)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022B6DC)))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_40000, 0)
|
||||
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, 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(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022B67C)))
|
||||
EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_ADDR(N(defenseTable_8022B4AC)))
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 2, 2)
|
||||
EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 18)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(9)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(1)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 2, LW(0))
|
||||
EVT_SUB(LW(0), 1)
|
||||
EVT_IF_GT(LW(0), 0)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 2, LW(0))
|
||||
EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2)
|
||||
EVT_WAIT_FRAMES(20)
|
||||
EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0)
|
||||
EVT_ELSE
|
||||
EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2)
|
||||
EVT_WAIT_FRAMES(12)
|
||||
EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0)
|
||||
EVT_CALL(SetActorSounds, ACTOR_SELF, 2, 0, 0)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_JUMP_3E2)
|
||||
EVT_THREAD
|
||||
EVT_SET(LW(0), 0)
|
||||
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 18, 0)
|
||||
EVT_LOOP(4)
|
||||
EVT_ADD(LW(0), 22)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LW(0))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0))
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x20BA)
|
||||
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 36)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 2)
|
||||
EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_ADDR(N(defenseTable_8022B4A0)))
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022B5B0)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_4)
|
||||
EVT_CALL(ResetActorSounds, ACTOR_SELF, 2)
|
||||
EVT_END_IF
|
||||
EVT_CASE_DEFAULT
|
||||
EVT_WAIT_FRAMES(20)
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(10)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0)
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(7)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_8)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x356)
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x355)
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x354)
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_7)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 60)
|
||||
EVT_WAIT_FRAMES(60)
|
||||
EVT_THREAD
|
||||
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, BS_FLAGS1_10)
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(HIT_RESULT_LUCKY)
|
||||
EVT_WAIT_FRAMES(20)
|
||||
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0)
|
||||
EVT_RETURN
|
||||
EVT_CASE_EQ(HIT_RESULT_MISS)
|
||||
EVT_RETURN
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 4, LW(10))
|
||||
EVT_LABEL(0)
|
||||
EVT_CALL(GetActorPos, LW(10), LW(0), LW(1), LW(2))
|
||||
EVT_CALL(GetActorPos, ACTOR_PLAYER, LW(3), LW(4), LW(5))
|
||||
EVT_IF_GT(LW(0), LW(3))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_GOTO(0)
|
||||
EVT_END_IF
|
||||
EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER)
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_SELF)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LW(1))
|
||||
EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LW(0), 0, 65535, 0, LW(1), BS_FLAGS1_SP_EVT_ACTIVE)
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x37C)
|
||||
EVT_CALL(SetActorSounds, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 1)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(13.0))
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(14.0))
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(15.0))
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, -160, LW(1), LW(2))
|
||||
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
|
||||
EVT_CALL(ResetActorSounds, ACTOR_SELF, 0)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 0)
|
||||
EVT_THREAD
|
||||
EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 15, 0)
|
||||
EVT_SET(LW(0), 0)
|
||||
EVT_LOOP(40)
|
||||
EVT_SUB(LW(0), 45)
|
||||
EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, LW(0))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 0, 0)
|
||||
EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0)
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 4, LW(1))
|
||||
EVT_CALL(GetHomePos, LW(1), LW(2), LW(3), LW(4))
|
||||
EVT_SET(LW(4), 15)
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(2), LW(3), LW(4))
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LW(11))
|
||||
EVT_SET(LW(0), LW(11))
|
||||
EVT_SUB(LW(0), 1)
|
||||
EVT_MUL(LW(0), 18)
|
||||
EVT_SWITCH(LW(11))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(AddGoalPos, ACTOR_SELF, 0, LW(0), -10)
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(AddGoalPos, ACTOR_SELF, 0, LW(0), -7)
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_CALL(AddGoalPos, ACTOR_SELF, 0, LW(0), -4)
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 40, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 60)
|
||||
EVT_WAIT_FRAMES(60)
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 50)
|
||||
EVT_WAIT_FRAMES(50)
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 40)
|
||||
EVT_WAIT_FRAMES(40)
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_9)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x20F3)
|
||||
EVT_CALL(SetActorYaw, ACTOR_SELF, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_1B)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_SUB(LW(0), 22)
|
||||
EVT_ADD(LW(1), 19)
|
||||
EVT_CALL(PlayEffect, EFFECT_ID_1A, 0, LW(0), LW(1), LW(2), 30, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||
EVT_WAIT_FRAMES(30)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_4)
|
||||
EVT_WAIT_FRAMES(20)
|
||||
EVT_CALL(SetActorVar, ACTOR_ENEMY4, 1, 0)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_1F)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_7)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 60)
|
||||
EVT_WAIT_FRAMES(60)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 1)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(14.0))
|
||||
EVT_CASE_EQ(5)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(15.0))
|
||||
EVT_CASE_EQ(6)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(16.0))
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(SetActorSounds, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, -160, LW(1), LW(2))
|
||||
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
|
||||
EVT_CALL(ResetActorSounds, ACTOR_SELF, 0)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 0)
|
||||
EVT_THREAD
|
||||
EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 15, 0)
|
||||
EVT_SET(LW(0), 0)
|
||||
EVT_LOOP(40)
|
||||
EVT_SUB(LW(0), 45)
|
||||
EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, LW(0))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 0, 0)
|
||||
EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0)
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 4, LW(1))
|
||||
EVT_CALL(GetHomePos, LW(1), LW(2), LW(3), LW(4))
|
||||
EVT_SET(LW(4), 15)
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(2), LW(3), LW(4))
|
||||
EVT_CALL(AddGoalPos, ACTOR_SELF, 0, 36, -7)
|
||||
EVT_CASE_EQ(5)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 4, LW(1))
|
||||
EVT_CALL(GetHomePos, LW(1), LW(2), LW(3), LW(4))
|
||||
EVT_SET(LW(4), 15)
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(2), LW(3), LW(4))
|
||||
EVT_CALL(AddGoalPos, ACTOR_SELF, 0, 18, -4)
|
||||
EVT_CASE_EQ(6)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 4, LW(1))
|
||||
EVT_CALL(GetHomePos, LW(1), LW(2), LW(3), LW(4))
|
||||
EVT_SET(LW(4), 15)
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(2), LW(3), LW(4))
|
||||
EVT_CALL(AddGoalPos, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 40, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 50)
|
||||
EVT_WAIT_FRAMES(50)
|
||||
EVT_CASE_EQ(5)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 40)
|
||||
EVT_WAIT_FRAMES(40)
|
||||
EVT_CASE_EQ(6)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 30)
|
||||
EVT_WAIT_FRAMES(30)
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_20)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_5)
|
||||
EVT_WAIT_FRAMES(30)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(8)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(0)
|
||||
EVT_CALL(GetHomePos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_SET(LW(2), 15)
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_3)
|
||||
EVT_CALL(RunToGoal, ACTOR_SELF, 10, FALSE)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_1F)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x353)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_7)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 30)
|
||||
EVT_WAIT_FRAMES(30)
|
||||
EVT_THREAD
|
||||
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, BS_FLAGS1_10)
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(HIT_RESULT_LUCKY)
|
||||
EVT_WAIT_FRAMES(20)
|
||||
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0)
|
||||
EVT_RETURN
|
||||
EVT_CASE_EQ(HIT_RESULT_MISS)
|
||||
EVT_RETURN
|
||||
EVT_END_SWITCH
|
||||
EVT_LABEL(0)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(GetActorPos, ACTOR_PLAYER, LW(3), LW(4), LW(5))
|
||||
EVT_IF_GT(LW(0), LW(3))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_GOTO(0)
|
||||
EVT_END_IF
|
||||
EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER)
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_SELF)
|
||||
EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LW(0), 0, 65535, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE)
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x37C)
|
||||
EVT_CALL(SetActorSounds, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 1)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(16.0))
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, -160, LW(1), LW(2))
|
||||
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
|
||||
EVT_CALL(ResetActorSounds, ACTOR_SELF, 0)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 0)
|
||||
EVT_THREAD
|
||||
EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 15, 0)
|
||||
EVT_SET(LW(0), 0)
|
||||
EVT_LOOP(40)
|
||||
EVT_SUB(LW(0), 45)
|
||||
EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, LW(0))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 0, 0)
|
||||
EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0)
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(GetHomePos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_SET(LW(2), 15)
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 40, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 30)
|
||||
EVT_WAIT_FRAMES(30)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_9)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x20F3)
|
||||
EVT_CALL(SetActorYaw, ACTOR_SELF, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_1B)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_SUB(LW(0), 22)
|
||||
EVT_ADD(LW(1), 19)
|
||||
EVT_CALL(PlayEffect, EFFECT_ID_1A, 0, LW(0), LW(1), LW(2), 30, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||
EVT_WAIT_FRAMES(30)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_3)
|
||||
EVT_CALL(SetGoalToHome, ACTOR_SELF)
|
||||
EVT_CALL(RunToGoal, ACTOR_SELF, 10, FALSE)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LW(0))
|
||||
EVT_BITWISE_AND_CONST(LW(0), -513)
|
||||
EVT_CALL(SetActorVar, ACTOR_ENEMY4, 0, LW(0))
|
||||
EVT_END_SWITCH
|
||||
EVT_END_SWITCH
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(init_8022DC2C) = {
|
||||
EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_ADDR(N(takeTurn_8022E414)))
|
||||
EVT_CALL(BindIdle, ACTOR_SELF, EVT_ADDR(N(idle_8022DD20)))
|
||||
EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_ADDR(N(handleEvent_8022DD88)))
|
||||
EVT_CALL(BindNextTurn, ACTOR_SELF, EVT_ADDR(N(nextTurn_8022E424)))
|
||||
EVT_CALL(SetActorPos, ACTOR_SELF, 0, -1000, 0)
|
||||
EVT_CALL(ForceHomePos, ACTOR_SELF, 0, -1000, 0)
|
||||
EVT_CALL(HPBarToHome, ACTOR_SELF)
|
||||
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, 1)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 2, 0)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(idle_8022DD20) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
s32 N(intTable_8022DD30)[] = {
|
||||
0x00000009, 0x00000010, 0x00000016, 0x0000001A, 0x0000001E, 0x00000020, 0x00000021, 0x00000020,
|
||||
0x0000001E, 0x0000001A, 0x00000016, 0x00000010, 0x00000009, 0x00000000, 0x00000004, 0x00000006,
|
||||
0x00000007, 0x00000006, 0x00000004, 0x00000000, 0x00000002, 0x00000000,
|
||||
};
|
||||
|
||||
EvtSource N(handleEvent_8022DD88) = {
|
||||
EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE)
|
||||
EVT_CALL(EnableIdleScript, ACTOR_SELF, 0)
|
||||
EVT_CALL(GetLastEvent, ACTOR_SELF, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(EVENT_HIT_COMBO)
|
||||
EVT_CASE_OR_EQ(EVENT_HIT)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_00_Anim_B)
|
||||
EVT_EXEC_WAIT(DoNormalHit)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_CASE_EQ(EVENT_BURN_HIT)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_00_Anim_E)
|
||||
EVT_SET_CONST(LW(2), NPC_ANIM_koopa_bros_Palette_00_Anim_F)
|
||||
EVT_EXEC_WAIT(DoBurnHit)
|
||||
EVT_CASE_EQ(EVENT_BURN_DEATH)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_00_Anim_E)
|
||||
EVT_SET_CONST(LW(2), NPC_ANIM_koopa_bros_Palette_00_Anim_F)
|
||||
EVT_EXEC_WAIT(DoBurnHit)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_00_Anim_F)
|
||||
EVT_EXEC_WAIT(DoDeath)
|
||||
EVT_RETURN
|
||||
EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_00_Anim_B)
|
||||
EVT_EXEC_WAIT(DoSpinSmashHit)
|
||||
EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_00_Anim_B)
|
||||
EVT_EXEC_WAIT(DoSpinSmashHit)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_00_Anim_B)
|
||||
EVT_EXEC_WAIT(DoDeath)
|
||||
EVT_RETURN
|
||||
EVT_CASE_EQ(EVENT_FLIP_TRIGGER)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 2, 2)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022B67C)))
|
||||
EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_ADDR(N(defenseTable_8022B4AC)))
|
||||
EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 18)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_IF_EQ(LW(0), 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_B)
|
||||
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0)
|
||||
EVT_THREAD
|
||||
EVT_WAIT_FRAMES(4)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 30)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -30)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -60)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -75)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_THREAD
|
||||
EVT_ELSE
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_C)
|
||||
EVT_END_IF
|
||||
EVT_USE_BUF(EVT_ADDR(N(intTable_8022DD30)))
|
||||
EVT_LOOP(22)
|
||||
EVT_BUF_READ1(LW(0))
|
||||
EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, LW(0), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER)
|
||||
EVT_CASE_OR_EQ(EVENT_IMMUNE)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_IF_EQ(LW(0), 0)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_00_Anim_8)
|
||||
EVT_EXEC_WAIT(DoImmune)
|
||||
EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(0))
|
||||
EVT_IF_EQ(LW(0), 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_00_Anim_9)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_END_IF
|
||||
EVT_ELSE
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_00_Anim_C)
|
||||
EVT_EXEC_WAIT(DoImmune)
|
||||
EVT_END_IF
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_CASE_EQ(EVENT_DEATH)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_00_Anim_B)
|
||||
EVT_EXEC_WAIT(DoNormalHit)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_00_Anim_B)
|
||||
EVT_EXEC_WAIT(DoDeath)
|
||||
EVT_RETURN
|
||||
EVT_CASE_EQ(EVENT_RECOVER_STATUS)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_IF_EQ(LW(0), 0)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_00_Anim_4)
|
||||
EVT_EXEC_WAIT(DoRecover)
|
||||
EVT_END_IF
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(EnableIdleScript, ACTOR_SELF, 1)
|
||||
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(takeTurn_8022E414) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(nextTurn_8022E424) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
3027
src/battle/area_trd_part_2/actor/fake_bowser.c
Normal file
3027
src/battle/area_trd_part_2/actor/fake_bowser.c
Normal file
File diff suppressed because it is too large
Load Diff
821
src/battle/area_trd_part_2/actor/green_ninja_koopa.c
Normal file
821
src/battle/area_trd_part_2/actor/green_ninja_koopa.c
Normal file
@ -0,0 +1,821 @@
|
||||
#include "common.h"
|
||||
#include "effects.h"
|
||||
#include "battle/battle.h"
|
||||
#include "script_api/battle.h"
|
||||
#include "sprite/npc/koopa_bros.h"
|
||||
|
||||
#define NAMESPACE b_area_trd_part_2_green_ninja_koopa
|
||||
|
||||
extern s32 N(idleAnimations_80225670)[];
|
||||
extern EvtSource N(init_80227CEC);
|
||||
extern EvtSource N(idle_80227DE0);
|
||||
extern EvtSource N(handleEvent_80227E48);
|
||||
extern EvtSource N(nextTurn_802284E4);
|
||||
extern EvtSource N(takeTurn_802284D4);
|
||||
|
||||
s32 N(defenseTable_80225560)[] = {
|
||||
ELEMENT_NORMAL, 1,
|
||||
ELEMENT_END,
|
||||
};
|
||||
|
||||
s32 N(defenseTable_8022556C)[] = {
|
||||
ELEMENT_NORMAL, 0,
|
||||
ELEMENT_END,
|
||||
};
|
||||
|
||||
s32 N(statusTable_80225578)[] = {
|
||||
STATUS_NORMAL, 0,
|
||||
STATUS_DEFAULT, 0,
|
||||
STATUS_SLEEP, 70,
|
||||
STATUS_POISON, 0,
|
||||
STATUS_FROZEN, 0,
|
||||
STATUS_DIZZY, 45,
|
||||
STATUS_FEAR, 0,
|
||||
STATUS_STATIC, 0,
|
||||
STATUS_PARALYZE, 75,
|
||||
STATUS_SHRINK, 100,
|
||||
STATUS_STOP, 75,
|
||||
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,
|
||||
};
|
||||
|
||||
ActorPartDesc N(partsTable_80225624)[] = {
|
||||
{
|
||||
.flags = ACTOR_PART_FLAG_MULTI_TARGET,
|
||||
.index = 1,
|
||||
.posOffset = { 0, 0, 0 },
|
||||
.targetOffset = { -5, 36 },
|
||||
.opacity = 255,
|
||||
.idleAnimations = N(idleAnimations_80225670),
|
||||
.defenseTable = N(defenseTable_80225560),
|
||||
.eventFlags = ACTOR_EVENT_FLAG_FLIPABLE,
|
||||
.elementImmunityFlags = 0,
|
||||
.unk_1C = 0,
|
||||
},
|
||||
};
|
||||
|
||||
ActorDesc NAMESPACE = {
|
||||
.flags = ACTOR_FLAG_40000 | ACTOR_FLAG_NO_ATTACK,
|
||||
.type = ACTOR_TYPE_GREEN_NINJAKOOPA,
|
||||
.level = 16,
|
||||
.maxHP = 5,
|
||||
.partCount = ARRAY_COUNT(N(partsTable_80225624)),
|
||||
.partsData = N(partsTable_80225624),
|
||||
.script = N(init_80227CEC),
|
||||
.statusTable = N(statusTable_80225578),
|
||||
.escapeChance = 0,
|
||||
.airLiftChance = 0,
|
||||
.spookChance = 0,
|
||||
.baseStatusChance = 0,
|
||||
.upAndAwayChance = 0,
|
||||
.spinSmashReq = 0,
|
||||
.powerBounceChance = 85,
|
||||
.coinReward = 0,
|
||||
.size = { 38, 42 },
|
||||
.hpBarOffset = { 0, 0 },
|
||||
.statusIconOffset = { -10, 20 },
|
||||
.statusMessageOffset = { 10, 20 },
|
||||
};
|
||||
|
||||
s32 N(idleAnimations_80225670)[] = {
|
||||
STATUS_NORMAL, NPC_ANIM_koopa_bros_Palette_03_Anim_4,
|
||||
STATUS_STONE, NPC_ANIM_koopa_bros_Palette_03_Anim_0,
|
||||
STATUS_SLEEP, NPC_ANIM_koopa_bros_Palette_03_Anim_15,
|
||||
STATUS_POISON, NPC_ANIM_koopa_bros_Palette_03_Anim_0,
|
||||
STATUS_STOP, NPC_ANIM_koopa_bros_Palette_03_Anim_0,
|
||||
STATUS_STATIC, NPC_ANIM_koopa_bros_Palette_03_Anim_0,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_03_Anim_0,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_03_Anim_0,
|
||||
STATUS_DIZZY, NPC_ANIM_koopa_bros_Palette_03_Anim_18,
|
||||
STATUS_DIZZY, NPC_ANIM_koopa_bros_Palette_03_Anim_18,
|
||||
STATUS_END,
|
||||
};
|
||||
|
||||
s32 N(idleAnimations_802256C4)[] = {
|
||||
STATUS_NORMAL, NPC_ANIM_koopa_bros_Palette_03_Anim_5,
|
||||
STATUS_STONE, NPC_ANIM_koopa_bros_Palette_03_Anim_1,
|
||||
STATUS_POISON, NPC_ANIM_koopa_bros_Palette_03_Anim_1,
|
||||
STATUS_STOP, NPC_ANIM_koopa_bros_Palette_03_Anim_1,
|
||||
STATUS_STATIC, NPC_ANIM_koopa_bros_Palette_03_Anim_1,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_03_Anim_1,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_03_Anim_1,
|
||||
STATUS_END,
|
||||
};
|
||||
|
||||
s32 N(idleAnimations_80225700)[] = {
|
||||
STATUS_NORMAL, NPC_ANIM_koopa_bros_Palette_03_Anim_D,
|
||||
STATUS_STONE, NPC_ANIM_koopa_bros_Palette_03_Anim_1,
|
||||
STATUS_POISON, NPC_ANIM_koopa_bros_Palette_03_Anim_1,
|
||||
STATUS_STOP, NPC_ANIM_koopa_bros_Palette_03_Anim_1,
|
||||
STATUS_STATIC, NPC_ANIM_koopa_bros_Palette_03_Anim_1,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_03_Anim_1,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_03_Anim_1,
|
||||
STATUS_END,
|
||||
};
|
||||
|
||||
s32 N(idleAnimations_8022573C)[] = {
|
||||
STATUS_NORMAL, NPC_ANIM_koopa_bros_Palette_03_Anim_C,
|
||||
STATUS_STONE, NPC_ANIM_koopa_bros_Palette_03_Anim_17,
|
||||
STATUS_SLEEP, NPC_ANIM_koopa_bros_Palette_03_Anim_17,
|
||||
STATUS_POISON, NPC_ANIM_koopa_bros_Palette_03_Anim_17,
|
||||
STATUS_STOP, NPC_ANIM_koopa_bros_Palette_03_Anim_17,
|
||||
STATUS_STATIC, NPC_ANIM_koopa_bros_Palette_03_Anim_17,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_03_Anim_17,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_03_Anim_17,
|
||||
STATUS_DIZZY, NPC_ANIM_koopa_bros_Palette_03_Anim_22,
|
||||
STATUS_DIZZY, NPC_ANIM_koopa_bros_Palette_03_Anim_22,
|
||||
STATUS_END,
|
||||
};
|
||||
|
||||
s32 N(idleAnimations_80225790)[] = {
|
||||
STATUS_NORMAL, NPC_ANIM_koopa_bros_Palette_03_Anim_A,
|
||||
STATUS_END,
|
||||
};
|
||||
|
||||
s32 N(idleAnimations_8022579C)[] = {
|
||||
STATUS_NORMAL, NPC_ANIM_koopa_bros_Palette_03_Anim_C,
|
||||
STATUS_END,
|
||||
};
|
||||
|
||||
#include "common/StartRumbleWithParams.inc.c"
|
||||
|
||||
// TODO: This pad is here due to rodata having subalign 4, while bss is 0x10 aligned as normal.
|
||||
BSS static char pad;
|
||||
#include "common/UnkWhirlwindEffectFunc.inc.c"
|
||||
|
||||
#include "common/UnkEnemyFunc.inc.c"
|
||||
|
||||
ApiStatus func_802185B0_4B17A0(Evt* script, s32 isInitialCall);
|
||||
INCLUDE_ASM(s32, "battle/area_trd_part_2/4B15D0", func_802185B0_4B17A0);
|
||||
|
||||
#include "common/GetLastActorEventType.inc.c"
|
||||
|
||||
EvtSource N(802257A8) = {
|
||||
EVT_CALL(SetOwnerID, ACTOR_ENEMY0)
|
||||
EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(0))
|
||||
EVT_IF_NE(LW(0), 0)
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE)
|
||||
EVT_SWITCH(LW(10))
|
||||
EVT_CASE_EQ(0)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80225670)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_4)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_802256C4)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_5)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(1)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80225700)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_D)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_03_Anim_B)
|
||||
EVT_EXEC_WAIT(DoNormalHit)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LW(0))
|
||||
EVT_BITWISE_AND_CONST(LW(0), 192)
|
||||
EVT_IF_NE(LW(0), 192)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80225700)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_D)
|
||||
EVT_ELSE
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80225790)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_A)
|
||||
EVT_END_IF
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_CALL(N(GetLastActorEventType), 14)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_03_Anim_E)
|
||||
EVT_SET_CONST(LW(2), -1)
|
||||
EVT_EXEC_WAIT(DoBurnHit)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LW(0))
|
||||
EVT_BITWISE_AND_CONST(LW(0), 192)
|
||||
EVT_IF_NE(LW(0), 192)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80225700)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_D)
|
||||
EVT_ELSE
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80225790)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_A)
|
||||
EVT_END_IF
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_03_Anim_8)
|
||||
EVT_EXEC_WAIT(DoImmune)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_9)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_03_Anim_1F)
|
||||
EVT_EXEC_WAIT(DoImmune)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_20)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_WAIT_FRAMES(15)
|
||||
EVT_CASE_EQ(5)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_SET(LF(0), 0)
|
||||
EVT_IF_EQ(LW(0), 3)
|
||||
EVT_SET(LF(0), 1)
|
||||
EVT_END_IF
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6005859375))
|
||||
EVT_CALL(func_802185B0_4B17A0, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_A)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80225790)))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE)
|
||||
EVT_IF_EQ(LF(0), 1)
|
||||
EVT_CALL(N(StartRumbleWithParams), 256, 5)
|
||||
EVT_THREAD
|
||||
EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(0.80078125))
|
||||
EVT_END_THREAD
|
||||
EVT_END_IF
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_C)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022579C)))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_40000, 0)
|
||||
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, 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(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022573C)))
|
||||
EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_ADDR(N(defenseTable_8022556C)))
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 2, 2)
|
||||
EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 18)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(6)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_SET(LF(0), 0)
|
||||
EVT_IF_EQ(LW(0), 3)
|
||||
EVT_SET(LF(0), 1)
|
||||
EVT_END_IF
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6005859375))
|
||||
EVT_CALL(func_802185B0_4B17A0, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_E)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80225790)))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE)
|
||||
EVT_IF_EQ(LF(0), 1)
|
||||
EVT_CALL(N(StartRumbleWithParams), 256, 5)
|
||||
EVT_THREAD
|
||||
EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(0.80078125))
|
||||
EVT_END_THREAD
|
||||
EVT_END_IF
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(GetActorSize, ACTOR_SELF, LW(3), LW(4))
|
||||
EVT_DIVF(LW(3), EVT_FLOAT(2.0))
|
||||
EVT_ADDF(LW(1), LW(3))
|
||||
EVT_ADDF(LW(2), EVT_FLOAT(5.0))
|
||||
EVT_DIVF(LW(3), EVT_FLOAT(10.0))
|
||||
EVT_CALL(PlayEffect, EFFECT_ID_27, 0, LW(0), LW(1), LW(2), LW(3), 10, 0, 0, 0, 0, 0, 0, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_C)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022579C)))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_40000, 0)
|
||||
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, 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(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022573C)))
|
||||
EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_ADDR(N(defenseTable_8022556C)))
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 2, 2)
|
||||
EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 18)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(9)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(1)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 2, LW(0))
|
||||
EVT_SUB(LW(0), 1)
|
||||
EVT_IF_GT(LW(0), 0)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 2, LW(0))
|
||||
EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2)
|
||||
EVT_WAIT_FRAMES(20)
|
||||
EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0)
|
||||
EVT_ELSE
|
||||
EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2)
|
||||
EVT_WAIT_FRAMES(12)
|
||||
EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0)
|
||||
EVT_CALL(SetActorSounds, ACTOR_SELF, 2, 0, 0)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_JUMP_3E2)
|
||||
EVT_THREAD
|
||||
EVT_SET(LW(0), 0)
|
||||
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 18, 0)
|
||||
EVT_LOOP(4)
|
||||
EVT_ADD(LW(0), 22)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LW(0))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0))
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x20BA)
|
||||
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 36)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 2)
|
||||
EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_ADDR(N(defenseTable_80225560)))
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80225670)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_4)
|
||||
EVT_CALL(ResetActorSounds, ACTOR_SELF, 2)
|
||||
EVT_END_IF
|
||||
EVT_CASE_DEFAULT
|
||||
EVT_WAIT_FRAMES(20)
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(10)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0)
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(7)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_8)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x356)
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x355)
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x354)
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_7)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 60)
|
||||
EVT_WAIT_FRAMES(60)
|
||||
EVT_THREAD
|
||||
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, BS_FLAGS1_10)
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(HIT_RESULT_LUCKY)
|
||||
EVT_WAIT_FRAMES(20)
|
||||
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0)
|
||||
EVT_RETURN
|
||||
EVT_CASE_EQ(HIT_RESULT_MISS)
|
||||
EVT_RETURN
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 4, LW(10))
|
||||
EVT_LABEL(0)
|
||||
EVT_CALL(GetActorPos, LW(10), LW(0), LW(1), LW(2))
|
||||
EVT_CALL(GetActorPos, ACTOR_PLAYER, LW(3), LW(4), LW(5))
|
||||
EVT_IF_GT(LW(0), LW(3))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_GOTO(0)
|
||||
EVT_END_IF
|
||||
EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER)
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_SELF)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LW(1))
|
||||
EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LW(0), 0, 65535, 0, LW(1), BS_FLAGS1_SP_EVT_ACTIVE)
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x37C)
|
||||
EVT_CALL(SetActorSounds, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 1)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(13.0))
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(14.0))
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(15.0))
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, -160, LW(1), LW(2))
|
||||
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
|
||||
EVT_CALL(ResetActorSounds, ACTOR_SELF, 0)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 0)
|
||||
EVT_THREAD
|
||||
EVT_CALL(SetPartRotationOffset, -127, 1, 0, 15, 0)
|
||||
EVT_SET(LW(0), 0)
|
||||
EVT_LOOP(40)
|
||||
EVT_SUB(LW(0), 45)
|
||||
EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, LW(0))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_CALL(SetPartRotationOffset, -127, 1, 0, 0, 0)
|
||||
EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0)
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 4, LW(1))
|
||||
EVT_CALL(GetHomePos, LW(1), LW(2), LW(3), LW(4))
|
||||
EVT_SET(LW(4), 15)
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(2), LW(3), LW(4))
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LW(11))
|
||||
EVT_SET(LW(0), LW(11))
|
||||
EVT_SUB(LW(0), 1)
|
||||
EVT_MUL(LW(0), 18)
|
||||
EVT_SWITCH(LW(11))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(AddGoalPos, ACTOR_SELF, 0, LW(0), -10)
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(AddGoalPos, ACTOR_SELF, 0, LW(0), -7)
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_CALL(AddGoalPos, ACTOR_SELF, 0, LW(0), -4)
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 40, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 60)
|
||||
EVT_WAIT_FRAMES(60)
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 50)
|
||||
EVT_WAIT_FRAMES(50)
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 40)
|
||||
EVT_WAIT_FRAMES(40)
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_9)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x20F3)
|
||||
EVT_CALL(SetActorYaw, ACTOR_SELF, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_1B)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_SUB(LW(0), 22)
|
||||
EVT_ADD(LW(1), 19)
|
||||
EVT_CALL(PlayEffect, EFFECT_ID_1A, 0, LW(0), LW(1), LW(2), 30, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||
EVT_WAIT_FRAMES(30)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_4)
|
||||
EVT_WAIT_FRAMES(20)
|
||||
EVT_CALL(SetActorVar, ACTOR_ENEMY4, 1, 0)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_1F)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_7)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 60)
|
||||
EVT_WAIT_FRAMES(60)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 1)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(14.0))
|
||||
EVT_CASE_EQ(5)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(15.0))
|
||||
EVT_CASE_EQ(6)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(16.0))
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(SetActorSounds, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, -160, LW(1), LW(2))
|
||||
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
|
||||
EVT_CALL(ResetActorSounds, ACTOR_SELF, 0)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 0)
|
||||
EVT_THREAD
|
||||
EVT_CALL(SetPartRotationOffset, -127, 1, 0, 15, 0)
|
||||
EVT_SET(LW(0), 0)
|
||||
EVT_LOOP(40)
|
||||
EVT_SUB(LW(0), 45)
|
||||
EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, LW(0))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_CALL(SetPartRotationOffset, -127, 1, 0, 0, 0)
|
||||
EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0)
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 4, LW(1))
|
||||
EVT_CALL(GetHomePos, LW(1), LW(2), LW(3), LW(4))
|
||||
EVT_SET(LW(4), 15)
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(2), LW(3), LW(4))
|
||||
EVT_CALL(AddGoalPos, ACTOR_SELF, 0, 36, -7)
|
||||
EVT_CASE_EQ(5)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 4, LW(1))
|
||||
EVT_CALL(GetHomePos, LW(1), LW(2), LW(3), LW(4))
|
||||
EVT_SET(LW(4), 15)
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(2), LW(3), LW(4))
|
||||
EVT_CALL(AddGoalPos, ACTOR_SELF, 0, 18, -4)
|
||||
EVT_CASE_EQ(6)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 4, LW(1))
|
||||
EVT_CALL(GetHomePos, LW(1), LW(2), LW(3), LW(4))
|
||||
EVT_SET(LW(4), 15)
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(2), LW(3), LW(4))
|
||||
EVT_CALL(AddGoalPos, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 40, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 50)
|
||||
EVT_WAIT_FRAMES(50)
|
||||
EVT_CASE_EQ(5)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 40)
|
||||
EVT_WAIT_FRAMES(40)
|
||||
EVT_CASE_EQ(6)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 30)
|
||||
EVT_WAIT_FRAMES(30)
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_20)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_5)
|
||||
EVT_WAIT_FRAMES(30)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(8)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(0)
|
||||
EVT_CALL(GetHomePos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_SET(LW(2), 15)
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_3)
|
||||
EVT_CALL(RunToGoal, ACTOR_SELF, 10, FALSE)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_1F)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x353)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_7)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 30)
|
||||
EVT_WAIT_FRAMES(30)
|
||||
EVT_THREAD
|
||||
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, BS_FLAGS1_10)
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(HIT_RESULT_LUCKY)
|
||||
EVT_WAIT_FRAMES(20)
|
||||
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0)
|
||||
EVT_RETURN
|
||||
EVT_CASE_EQ(HIT_RESULT_MISS)
|
||||
EVT_RETURN
|
||||
EVT_END_SWITCH
|
||||
EVT_LABEL(0)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(GetActorPos, ACTOR_PLAYER, LW(3), LW(4), LW(5))
|
||||
EVT_IF_GT(LW(0), LW(3))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_GOTO(0)
|
||||
EVT_END_IF
|
||||
EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER)
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_SELF)
|
||||
EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LW(0), 0, 65535, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE)
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x37C)
|
||||
EVT_CALL(SetActorSounds, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 1)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(16.0))
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, -160, LW(1), LW(2))
|
||||
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
|
||||
EVT_CALL(ResetActorSounds, ACTOR_SELF, 0)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 0)
|
||||
EVT_THREAD
|
||||
EVT_CALL(SetPartRotationOffset, -127, 1, 0, 15, 0)
|
||||
EVT_SET(LW(0), 0)
|
||||
EVT_LOOP(40)
|
||||
EVT_SUB(LW(0), 45)
|
||||
EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, LW(0))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_CALL(SetPartRotationOffset, -127, 1, 0, 0, 0)
|
||||
EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0)
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(GetHomePos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_SET(LW(2), 15)
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 40, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 30)
|
||||
EVT_WAIT_FRAMES(30)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_9)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x20F3)
|
||||
EVT_CALL(SetActorYaw, ACTOR_SELF, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_1B)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_SUB(LW(0), 22)
|
||||
EVT_ADD(LW(1), 19)
|
||||
EVT_CALL(PlayEffect, EFFECT_ID_1A, 0, LW(0), LW(1), LW(2), 30, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||
EVT_WAIT_FRAMES(30)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_3)
|
||||
EVT_CALL(SetGoalToHome, ACTOR_SELF)
|
||||
EVT_CALL(RunToGoal, ACTOR_SELF, 10, FALSE)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LW(0))
|
||||
EVT_BITWISE_AND_CONST(LW(0), -513)
|
||||
EVT_CALL(SetActorVar, ACTOR_ENEMY4, 0, LW(0))
|
||||
EVT_END_SWITCH
|
||||
EVT_END_SWITCH
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(init_80227CEC) = {
|
||||
EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_ADDR(N(takeTurn_802284D4)))
|
||||
EVT_CALL(BindIdle, ACTOR_SELF, EVT_ADDR(N(idle_80227DE0)))
|
||||
EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_ADDR(N(handleEvent_80227E48)))
|
||||
EVT_CALL(BindNextTurn, ACTOR_SELF, EVT_ADDR(N(nextTurn_802284E4)))
|
||||
EVT_CALL(SetActorPos, ACTOR_SELF, 0, -1000, 0)
|
||||
EVT_CALL(ForceHomePos, ACTOR_SELF, 0, -1000, 0)
|
||||
EVT_CALL(HPBarToHome, ACTOR_SELF)
|
||||
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, 1)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 2, 0)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(idle_80227DE0) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
s32 N(intTable_80227DF0)[] = {
|
||||
0x00000009, 0x00000010, 0x00000016, 0x0000001A, 0x0000001E, 0x00000020, 0x00000021, 0x00000020,
|
||||
0x0000001E, 0x0000001A, 0x00000016, 0x00000010, 0x00000009, 0x00000000, 0x00000004, 0x00000006,
|
||||
0x00000007, 0x00000006, 0x00000004, 0x00000000, 0x00000002, 0x00000000,
|
||||
};
|
||||
|
||||
EvtSource N(handleEvent_80227E48) = {
|
||||
EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE)
|
||||
EVT_CALL(EnableIdleScript, ACTOR_SELF, 0)
|
||||
EVT_CALL(GetLastEvent, ACTOR_SELF, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(EVENT_HIT_COMBO)
|
||||
EVT_CASE_OR_EQ(EVENT_HIT)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_03_Anim_B)
|
||||
EVT_EXEC_WAIT(DoNormalHit)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_CASE_EQ(EVENT_BURN_HIT)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_03_Anim_E)
|
||||
EVT_SET_CONST(LW(2), NPC_ANIM_koopa_bros_Palette_03_Anim_F)
|
||||
EVT_EXEC_WAIT(DoBurnHit)
|
||||
EVT_CASE_EQ(EVENT_BURN_DEATH)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_03_Anim_E)
|
||||
EVT_SET_CONST(LW(2), NPC_ANIM_koopa_bros_Palette_03_Anim_F)
|
||||
EVT_EXEC_WAIT(DoBurnHit)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_03_Anim_F)
|
||||
EVT_EXEC_WAIT(DoDeath)
|
||||
EVT_RETURN
|
||||
EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_03_Anim_B)
|
||||
EVT_EXEC_WAIT(DoSpinSmashHit)
|
||||
EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_03_Anim_B)
|
||||
EVT_EXEC_WAIT(DoSpinSmashHit)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_03_Anim_B)
|
||||
EVT_EXEC_WAIT(DoDeath)
|
||||
EVT_RETURN
|
||||
EVT_CASE_EQ(EVENT_FLIP_TRIGGER)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 2, 2)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022573C)))
|
||||
EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_ADDR(N(defenseTable_8022556C)))
|
||||
EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 18)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_IF_EQ(LW(0), 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_B)
|
||||
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0)
|
||||
EVT_THREAD
|
||||
EVT_WAIT_FRAMES(4)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 30)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -30)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -60)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -75)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_THREAD
|
||||
EVT_ELSE
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_C)
|
||||
EVT_END_IF
|
||||
EVT_USE_BUF(EVT_ADDR(N(intTable_80227DF0)))
|
||||
EVT_LOOP(22)
|
||||
EVT_BUF_READ1(LW(0))
|
||||
EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, LW(0), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER)
|
||||
EVT_CASE_OR_EQ(EVENT_IMMUNE)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_IF_EQ(LW(0), 0)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_03_Anim_8)
|
||||
EVT_EXEC_WAIT(DoImmune)
|
||||
EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(0))
|
||||
EVT_IF_EQ(LW(0), 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_03_Anim_9)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_END_IF
|
||||
EVT_ELSE
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_03_Anim_C)
|
||||
EVT_EXEC_WAIT(DoImmune)
|
||||
EVT_END_IF
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_CASE_EQ(EVENT_DEATH)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_03_Anim_B)
|
||||
EVT_EXEC_WAIT(DoNormalHit)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_03_Anim_B)
|
||||
EVT_EXEC_WAIT(DoDeath)
|
||||
EVT_RETURN
|
||||
EVT_CASE_EQ(EVENT_RECOVER_STATUS)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_IF_EQ(LW(0), 0)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_03_Anim_4)
|
||||
EVT_EXEC_WAIT(DoRecover)
|
||||
EVT_END_IF
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(EnableIdleScript, ACTOR_SELF, 1)
|
||||
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(takeTurn_802284D4) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(nextTurn_802284E4) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
821
src/battle/area_trd_part_2/actor/red_ninja_koopa.c
Normal file
821
src/battle/area_trd_part_2/actor/red_ninja_koopa.c
Normal file
@ -0,0 +1,821 @@
|
||||
#include "common.h"
|
||||
#include "effects.h"
|
||||
#include "battle/battle.h"
|
||||
#include "script_api/battle.h"
|
||||
#include "sprite/npc/koopa_bros.h"
|
||||
|
||||
#define NAMESPACE b_area_trd_part_2_red_ninja_koopa
|
||||
|
||||
extern s32 N(idleAnimations_80228610)[];
|
||||
extern EvtSource N(init_8022AC8C);
|
||||
extern EvtSource N(idle_8022AD80);
|
||||
extern EvtSource N(handleEvent_8022ADE8);
|
||||
extern EvtSource N(nextTurn_8022B484);
|
||||
extern EvtSource N(takeTurn_8022B474);
|
||||
|
||||
s32 N(defenseTable_80228500)[] = {
|
||||
ELEMENT_NORMAL, 1,
|
||||
ELEMENT_END,
|
||||
};
|
||||
|
||||
s32 N(defenseTable_8022850C)[] = {
|
||||
ELEMENT_NORMAL, 0,
|
||||
ELEMENT_END,
|
||||
};
|
||||
|
||||
s32 N(statusTable_80228518)[] = {
|
||||
STATUS_NORMAL, 0,
|
||||
STATUS_DEFAULT, 0,
|
||||
STATUS_SLEEP, 30,
|
||||
STATUS_POISON, 0,
|
||||
STATUS_FROZEN, 0,
|
||||
STATUS_DIZZY, 60,
|
||||
STATUS_FEAR, 0,
|
||||
STATUS_STATIC, 0,
|
||||
STATUS_PARALYZE, 60,
|
||||
STATUS_SHRINK, 100,
|
||||
STATUS_STOP, 75,
|
||||
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,
|
||||
};
|
||||
|
||||
ActorPartDesc N(partsTable_802285C4)[] = {
|
||||
{
|
||||
.flags = ACTOR_PART_FLAG_MULTI_TARGET,
|
||||
.index = 1,
|
||||
.posOffset = { 0, 0, 0 },
|
||||
.targetOffset = { -5, 36 },
|
||||
.opacity = 255,
|
||||
.idleAnimations = N(idleAnimations_80228610),
|
||||
.defenseTable = N(defenseTable_80228500),
|
||||
.eventFlags = ACTOR_EVENT_FLAG_FLIPABLE,
|
||||
.elementImmunityFlags = 0,
|
||||
.unk_1C = 0,
|
||||
},
|
||||
};
|
||||
|
||||
ActorDesc NAMESPACE = {
|
||||
.flags = ACTOR_FLAG_40000 | ACTOR_FLAG_NO_ATTACK,
|
||||
.type = ACTOR_TYPE_RED_NINJAKOOPA,
|
||||
.level = 17,
|
||||
.maxHP = 5,
|
||||
.partCount = ARRAY_COUNT(N(partsTable_802285C4)),
|
||||
.partsData = N(partsTable_802285C4),
|
||||
.script = N(init_8022AC8C),
|
||||
.statusTable = N(statusTable_80228518),
|
||||
.escapeChance = 0,
|
||||
.airLiftChance = 0,
|
||||
.spookChance = 0,
|
||||
.baseStatusChance = 0,
|
||||
.upAndAwayChance = 0,
|
||||
.spinSmashReq = 0,
|
||||
.powerBounceChance = 85,
|
||||
.coinReward = 0,
|
||||
.size = { 38, 42 },
|
||||
.hpBarOffset = { 0, 0 },
|
||||
.statusIconOffset = { -10, 20 },
|
||||
.statusMessageOffset = { 10, 20 },
|
||||
};
|
||||
|
||||
s32 N(idleAnimations_80228610)[] = {
|
||||
STATUS_NORMAL, NPC_ANIM_koopa_bros_Palette_01_Anim_4,
|
||||
STATUS_STONE, NPC_ANIM_koopa_bros_Palette_01_Anim_0,
|
||||
STATUS_SLEEP, NPC_ANIM_koopa_bros_Palette_01_Anim_15,
|
||||
STATUS_POISON, NPC_ANIM_koopa_bros_Palette_01_Anim_0,
|
||||
STATUS_STOP, NPC_ANIM_koopa_bros_Palette_01_Anim_0,
|
||||
STATUS_STATIC, NPC_ANIM_koopa_bros_Palette_01_Anim_0,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_01_Anim_0,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_01_Anim_0,
|
||||
STATUS_DIZZY, NPC_ANIM_koopa_bros_Palette_01_Anim_18,
|
||||
STATUS_DIZZY, NPC_ANIM_koopa_bros_Palette_01_Anim_18,
|
||||
STATUS_END,
|
||||
};
|
||||
|
||||
s32 N(idleAnimations_80228664)[] = {
|
||||
STATUS_NORMAL, NPC_ANIM_koopa_bros_Palette_01_Anim_5,
|
||||
STATUS_STONE, NPC_ANIM_koopa_bros_Palette_01_Anim_1,
|
||||
STATUS_POISON, NPC_ANIM_koopa_bros_Palette_01_Anim_1,
|
||||
STATUS_STOP, NPC_ANIM_koopa_bros_Palette_01_Anim_1,
|
||||
STATUS_STATIC, NPC_ANIM_koopa_bros_Palette_01_Anim_1,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_01_Anim_1,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_01_Anim_1,
|
||||
STATUS_END,
|
||||
};
|
||||
|
||||
s32 N(idleAnimations_802286A0)[] = {
|
||||
STATUS_NORMAL, NPC_ANIM_koopa_bros_Palette_01_Anim_D,
|
||||
STATUS_STONE, NPC_ANIM_koopa_bros_Palette_01_Anim_1,
|
||||
STATUS_POISON, NPC_ANIM_koopa_bros_Palette_01_Anim_1,
|
||||
STATUS_STOP, NPC_ANIM_koopa_bros_Palette_01_Anim_1,
|
||||
STATUS_STATIC, NPC_ANIM_koopa_bros_Palette_01_Anim_1,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_01_Anim_1,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_01_Anim_1,
|
||||
STATUS_END,
|
||||
};
|
||||
|
||||
s32 N(idleAnimations_802286DC)[] = {
|
||||
STATUS_NORMAL, NPC_ANIM_koopa_bros_Palette_01_Anim_C,
|
||||
STATUS_STONE, NPC_ANIM_koopa_bros_Palette_01_Anim_17,
|
||||
STATUS_SLEEP, NPC_ANIM_koopa_bros_Palette_01_Anim_17,
|
||||
STATUS_POISON, NPC_ANIM_koopa_bros_Palette_01_Anim_17,
|
||||
STATUS_STOP, NPC_ANIM_koopa_bros_Palette_01_Anim_17,
|
||||
STATUS_STATIC, NPC_ANIM_koopa_bros_Palette_01_Anim_17,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_01_Anim_17,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_01_Anim_17,
|
||||
STATUS_DIZZY, NPC_ANIM_koopa_bros_Palette_01_Anim_22,
|
||||
STATUS_DIZZY, NPC_ANIM_koopa_bros_Palette_01_Anim_22,
|
||||
STATUS_END,
|
||||
};
|
||||
|
||||
s32 N(idleAnimations_80228730)[] = {
|
||||
STATUS_NORMAL, NPC_ANIM_koopa_bros_Palette_01_Anim_A,
|
||||
STATUS_END,
|
||||
};
|
||||
|
||||
s32 N(idleAnimations_8022873C)[] = {
|
||||
STATUS_NORMAL, NPC_ANIM_koopa_bros_Palette_01_Anim_C,
|
||||
STATUS_END,
|
||||
};
|
||||
|
||||
#include "common/StartRumbleWithParams.inc.c"
|
||||
|
||||
// TODO: This pad is here due to rodata having subalign 4, while bss is 0x10 aligned as normal.
|
||||
BSS static char pad;
|
||||
#include "common/UnkWhirlwindEffectFunc.inc.c"
|
||||
|
||||
#include "common/UnkEnemyFunc.inc.c"
|
||||
|
||||
ApiStatus func_80218D70_4B1F60(Evt* script, s32 isInitialCall);
|
||||
INCLUDE_ASM(s32, "battle/area_trd_part_2/4B1D90", func_80218D70_4B1F60);
|
||||
|
||||
#include "common/GetLastActorEventType.inc.c"
|
||||
|
||||
EvtSource N(80228748) = {
|
||||
EVT_CALL(SetOwnerID, ACTOR_ENEMY3)
|
||||
EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(0))
|
||||
EVT_IF_NE(LW(0), 0)
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE)
|
||||
EVT_SWITCH(LW(10))
|
||||
EVT_CASE_EQ(0)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80228610)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_4)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80228664)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_5)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(1)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_802286A0)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_D)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_01_Anim_B)
|
||||
EVT_EXEC_WAIT(DoNormalHit)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LW(0))
|
||||
EVT_BITWISE_AND_CONST(LW(0), 192)
|
||||
EVT_IF_NE(LW(0), 192)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_802286A0)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_D)
|
||||
EVT_ELSE
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80228730)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_A)
|
||||
EVT_END_IF
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_CALL(N(GetLastActorEventType), 14)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_01_Anim_E)
|
||||
EVT_SET_CONST(LW(2), -1)
|
||||
EVT_EXEC_WAIT(DoBurnHit)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LW(0))
|
||||
EVT_BITWISE_AND_CONST(LW(0), 192)
|
||||
EVT_IF_NE(LW(0), 192)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_802286A0)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_D)
|
||||
EVT_ELSE
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80228730)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_A)
|
||||
EVT_END_IF
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_01_Anim_8)
|
||||
EVT_EXEC_WAIT(DoImmune)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_9)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_01_Anim_1F)
|
||||
EVT_EXEC_WAIT(DoImmune)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_20)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_WAIT_FRAMES(15)
|
||||
EVT_CASE_EQ(5)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_SET(LF(0), 0)
|
||||
EVT_IF_EQ(LW(0), 3)
|
||||
EVT_SET(LF(0), 1)
|
||||
EVT_END_IF
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6005859375))
|
||||
EVT_CALL(func_80218D70_4B1F60, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_A)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80228730)))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE)
|
||||
EVT_IF_EQ(LF(0), 1)
|
||||
EVT_CALL(N(StartRumbleWithParams), 256, 5)
|
||||
EVT_THREAD
|
||||
EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(0.80078125))
|
||||
EVT_END_THREAD
|
||||
EVT_END_IF
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_C)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022873C)))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_40000, 0)
|
||||
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, 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(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_802286DC)))
|
||||
EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_ADDR(N(defenseTable_8022850C)))
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 2, 2)
|
||||
EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 18)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(6)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_SET(LF(0), 0)
|
||||
EVT_IF_EQ(LW(0), 3)
|
||||
EVT_SET(LF(0), 1)
|
||||
EVT_END_IF
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6005859375))
|
||||
EVT_CALL(func_80218D70_4B1F60, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_E)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80228730)))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE)
|
||||
EVT_IF_EQ(LF(0), 1)
|
||||
EVT_CALL(N(StartRumbleWithParams), 256, 5)
|
||||
EVT_THREAD
|
||||
EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(0.80078125))
|
||||
EVT_END_THREAD
|
||||
EVT_END_IF
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(GetActorSize, ACTOR_SELF, LW(3), LW(4))
|
||||
EVT_DIVF(LW(3), EVT_FLOAT(2.0))
|
||||
EVT_ADDF(LW(1), LW(3))
|
||||
EVT_ADDF(LW(2), EVT_FLOAT(5.0))
|
||||
EVT_DIVF(LW(3), EVT_FLOAT(10.0))
|
||||
EVT_CALL(PlayEffect, EFFECT_ID_27, 0, LW(0), LW(1), LW(2), LW(3), 10, 0, 0, 0, 0, 0, 0, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_C)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022873C)))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_40000, 0)
|
||||
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, 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(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_802286DC)))
|
||||
EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_ADDR(N(defenseTable_8022850C)))
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 2, 2)
|
||||
EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 18)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(9)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(1)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 2, LW(0))
|
||||
EVT_SUB(LW(0), 1)
|
||||
EVT_IF_GT(LW(0), 0)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 2, LW(0))
|
||||
EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2)
|
||||
EVT_WAIT_FRAMES(20)
|
||||
EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0)
|
||||
EVT_ELSE
|
||||
EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2)
|
||||
EVT_WAIT_FRAMES(12)
|
||||
EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0)
|
||||
EVT_CALL(SetActorSounds, ACTOR_SELF, 2, 0, 0)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_JUMP_3E2)
|
||||
EVT_THREAD
|
||||
EVT_SET(LW(0), 0)
|
||||
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 18, 0)
|
||||
EVT_LOOP(4)
|
||||
EVT_ADD(LW(0), 22)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LW(0))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0))
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x20BA)
|
||||
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 36)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 2)
|
||||
EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_ADDR(N(defenseTable_80228500)))
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_80228610)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_4)
|
||||
EVT_CALL(ResetActorSounds, ACTOR_SELF, 2)
|
||||
EVT_END_IF
|
||||
EVT_CASE_DEFAULT
|
||||
EVT_WAIT_FRAMES(20)
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(10)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0)
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(7)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_8)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x356)
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x355)
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x354)
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_7)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 60)
|
||||
EVT_WAIT_FRAMES(60)
|
||||
EVT_THREAD
|
||||
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, BS_FLAGS1_10)
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(HIT_RESULT_LUCKY)
|
||||
EVT_WAIT_FRAMES(20)
|
||||
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0)
|
||||
EVT_RETURN
|
||||
EVT_CASE_EQ(HIT_RESULT_MISS)
|
||||
EVT_RETURN
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 4, LW(10))
|
||||
EVT_LABEL(0)
|
||||
EVT_CALL(GetActorPos, LW(10), LW(0), LW(1), LW(2))
|
||||
EVT_CALL(GetActorPos, ACTOR_PLAYER, LW(3), LW(4), LW(5))
|
||||
EVT_IF_GT(LW(0), LW(3))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_GOTO(0)
|
||||
EVT_END_IF
|
||||
EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER)
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_SELF)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LW(1))
|
||||
EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LW(0), 0, 65535, 0, LW(1), BS_FLAGS1_SP_EVT_ACTIVE)
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x37C)
|
||||
EVT_CALL(SetActorSounds, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 1)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(13.0))
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(14.0))
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(15.0))
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, -160, LW(1), LW(2))
|
||||
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
|
||||
EVT_CALL(ResetActorSounds, ACTOR_SELF, 0)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 0)
|
||||
EVT_THREAD
|
||||
EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 15, 0)
|
||||
EVT_SET(LW(0), 0)
|
||||
EVT_LOOP(40)
|
||||
EVT_SUB(LW(0), 45)
|
||||
EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, LW(0))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 0, 0)
|
||||
EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0)
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 4, LW(1))
|
||||
EVT_CALL(GetHomePos, LW(1), LW(2), LW(3), LW(4))
|
||||
EVT_SET(LW(4), 15)
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(2), LW(3), LW(4))
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LW(11))
|
||||
EVT_SET(LW(0), LW(11))
|
||||
EVT_SUB(LW(0), 1)
|
||||
EVT_MUL(LW(0), 18)
|
||||
EVT_SWITCH(LW(11))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(AddGoalPos, ACTOR_SELF, 0, LW(0), -10)
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(AddGoalPos, ACTOR_SELF, 0, LW(0), -7)
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_CALL(AddGoalPos, ACTOR_SELF, 0, LW(0), -4)
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 40, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 60)
|
||||
EVT_WAIT_FRAMES(60)
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 50)
|
||||
EVT_WAIT_FRAMES(50)
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 40)
|
||||
EVT_WAIT_FRAMES(40)
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_9)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x20F3)
|
||||
EVT_CALL(SetActorYaw, ACTOR_SELF, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_1B)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_SUB(LW(0), 22)
|
||||
EVT_ADD(LW(1), 19)
|
||||
EVT_CALL(PlayEffect, EFFECT_ID_1A, 0, LW(0), LW(1), LW(2), 30, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||
EVT_WAIT_FRAMES(30)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_4)
|
||||
EVT_WAIT_FRAMES(20)
|
||||
EVT_CALL(SetActorVar, ACTOR_ENEMY4, 1, 0)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_1F)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_7)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 60)
|
||||
EVT_WAIT_FRAMES(60)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 1)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(14.0))
|
||||
EVT_CASE_EQ(5)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(15.0))
|
||||
EVT_CASE_EQ(6)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(16.0))
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(SetActorSounds, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, -160, LW(1), LW(2))
|
||||
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
|
||||
EVT_CALL(ResetActorSounds, ACTOR_SELF, 0)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 0)
|
||||
EVT_THREAD
|
||||
EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 15, 0)
|
||||
EVT_SET(LW(0), 0)
|
||||
EVT_LOOP(40)
|
||||
EVT_SUB(LW(0), 45)
|
||||
EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, LW(0))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 0, 0)
|
||||
EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0)
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 4, LW(1))
|
||||
EVT_CALL(GetHomePos, LW(1), LW(2), LW(3), LW(4))
|
||||
EVT_SET(LW(4), 15)
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(2), LW(3), LW(4))
|
||||
EVT_CALL(AddGoalPos, ACTOR_SELF, 0, 36, -7)
|
||||
EVT_CASE_EQ(5)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 4, LW(1))
|
||||
EVT_CALL(GetHomePos, LW(1), LW(2), LW(3), LW(4))
|
||||
EVT_SET(LW(4), 15)
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(2), LW(3), LW(4))
|
||||
EVT_CALL(AddGoalPos, ACTOR_SELF, 0, 18, -4)
|
||||
EVT_CASE_EQ(6)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 4, LW(1))
|
||||
EVT_CALL(GetHomePos, LW(1), LW(2), LW(3), LW(4))
|
||||
EVT_SET(LW(4), 15)
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(2), LW(3), LW(4))
|
||||
EVT_CALL(AddGoalPos, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 40, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 50)
|
||||
EVT_WAIT_FRAMES(50)
|
||||
EVT_CASE_EQ(5)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 40)
|
||||
EVT_WAIT_FRAMES(40)
|
||||
EVT_CASE_EQ(6)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 30)
|
||||
EVT_WAIT_FRAMES(30)
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_20)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_5)
|
||||
EVT_WAIT_FRAMES(30)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(8)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(0)
|
||||
EVT_CALL(GetHomePos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_SET(LW(2), 15)
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_3)
|
||||
EVT_CALL(RunToGoal, ACTOR_SELF, 10, FALSE)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_1F)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x353)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_7)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 30)
|
||||
EVT_WAIT_FRAMES(30)
|
||||
EVT_THREAD
|
||||
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, BS_FLAGS1_10)
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(HIT_RESULT_LUCKY)
|
||||
EVT_WAIT_FRAMES(20)
|
||||
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0)
|
||||
EVT_RETURN
|
||||
EVT_CASE_EQ(HIT_RESULT_MISS)
|
||||
EVT_RETURN
|
||||
EVT_END_SWITCH
|
||||
EVT_LABEL(0)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(GetActorPos, ACTOR_PLAYER, LW(3), LW(4), LW(5))
|
||||
EVT_IF_GT(LW(0), LW(3))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_GOTO(0)
|
||||
EVT_END_IF
|
||||
EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER)
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_SELF)
|
||||
EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LW(0), 0, 65535, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE)
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x37C)
|
||||
EVT_CALL(SetActorSounds, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 1)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(16.0))
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, -160, LW(1), LW(2))
|
||||
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
|
||||
EVT_CALL(ResetActorSounds, ACTOR_SELF, 0)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 0)
|
||||
EVT_THREAD
|
||||
EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 15, 0)
|
||||
EVT_SET(LW(0), 0)
|
||||
EVT_LOOP(40)
|
||||
EVT_SUB(LW(0), 45)
|
||||
EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, LW(0))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 0, 0)
|
||||
EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0)
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(GetHomePos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_SET(LW(2), 15)
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 40, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 30)
|
||||
EVT_WAIT_FRAMES(30)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_9)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x20F3)
|
||||
EVT_CALL(SetActorYaw, ACTOR_SELF, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_1B)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_SUB(LW(0), 22)
|
||||
EVT_ADD(LW(1), 19)
|
||||
EVT_CALL(PlayEffect, EFFECT_ID_1A, 0, LW(0), LW(1), LW(2), 30, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||
EVT_WAIT_FRAMES(30)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_3)
|
||||
EVT_CALL(SetGoalToHome, ACTOR_SELF)
|
||||
EVT_CALL(RunToGoal, ACTOR_SELF, 10, FALSE)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LW(0))
|
||||
EVT_BITWISE_AND_CONST(LW(0), -513)
|
||||
EVT_CALL(SetActorVar, ACTOR_ENEMY4, 0, LW(0))
|
||||
EVT_END_SWITCH
|
||||
EVT_END_SWITCH
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(init_8022AC8C) = {
|
||||
EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_ADDR(N(takeTurn_8022B474)))
|
||||
EVT_CALL(BindIdle, ACTOR_SELF, EVT_ADDR(N(idle_8022AD80)))
|
||||
EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_ADDR(N(handleEvent_8022ADE8)))
|
||||
EVT_CALL(BindNextTurn, ACTOR_SELF, EVT_ADDR(N(nextTurn_8022B484)))
|
||||
EVT_CALL(SetActorPos, ACTOR_SELF, 0, -1000, 0)
|
||||
EVT_CALL(ForceHomePos, ACTOR_SELF, 0, -1000, 0)
|
||||
EVT_CALL(HPBarToHome, ACTOR_SELF)
|
||||
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, 1)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 2, 0)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(idle_8022AD80) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
s32 N(intTable_8022AD90)[] = {
|
||||
0x00000009, 0x00000010, 0x00000016, 0x0000001A, 0x0000001E, 0x00000020, 0x00000021, 0x00000020,
|
||||
0x0000001E, 0x0000001A, 0x00000016, 0x00000010, 0x00000009, 0x00000000, 0x00000004, 0x00000006,
|
||||
0x00000007, 0x00000006, 0x00000004, 0x00000000, 0x00000002, 0x00000000,
|
||||
};
|
||||
|
||||
EvtSource N(handleEvent_8022ADE8) = {
|
||||
EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE)
|
||||
EVT_CALL(EnableIdleScript, ACTOR_SELF, 0)
|
||||
EVT_CALL(GetLastEvent, ACTOR_SELF, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(EVENT_HIT_COMBO)
|
||||
EVT_CASE_OR_EQ(EVENT_HIT)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_01_Anim_B)
|
||||
EVT_EXEC_WAIT(DoNormalHit)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_CASE_EQ(EVENT_BURN_HIT)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_01_Anim_E)
|
||||
EVT_SET_CONST(LW(2), NPC_ANIM_koopa_bros_Palette_01_Anim_F)
|
||||
EVT_EXEC_WAIT(DoBurnHit)
|
||||
EVT_CASE_EQ(EVENT_BURN_DEATH)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_01_Anim_E)
|
||||
EVT_SET_CONST(LW(2), NPC_ANIM_koopa_bros_Palette_01_Anim_F)
|
||||
EVT_EXEC_WAIT(DoBurnHit)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_01_Anim_F)
|
||||
EVT_EXEC_WAIT(DoDeath)
|
||||
EVT_RETURN
|
||||
EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_01_Anim_B)
|
||||
EVT_EXEC_WAIT(DoSpinSmashHit)
|
||||
EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_01_Anim_B)
|
||||
EVT_EXEC_WAIT(DoSpinSmashHit)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_01_Anim_B)
|
||||
EVT_EXEC_WAIT(DoDeath)
|
||||
EVT_RETURN
|
||||
EVT_CASE_EQ(EVENT_FLIP_TRIGGER)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 2, 2)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_802286DC)))
|
||||
EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_ADDR(N(defenseTable_8022850C)))
|
||||
EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 18)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_IF_EQ(LW(0), 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_B)
|
||||
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0)
|
||||
EVT_THREAD
|
||||
EVT_WAIT_FRAMES(4)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 30)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -30)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -60)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -75)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_THREAD
|
||||
EVT_ELSE
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_C)
|
||||
EVT_END_IF
|
||||
EVT_USE_BUF(EVT_ADDR(N(intTable_8022AD90)))
|
||||
EVT_LOOP(22)
|
||||
EVT_BUF_READ1(LW(0))
|
||||
EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, LW(0), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER)
|
||||
EVT_CASE_OR_EQ(EVENT_IMMUNE)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_IF_EQ(LW(0), 0)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_01_Anim_8)
|
||||
EVT_EXEC_WAIT(DoImmune)
|
||||
EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(0))
|
||||
EVT_IF_EQ(LW(0), 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_01_Anim_9)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_END_IF
|
||||
EVT_ELSE
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_01_Anim_C)
|
||||
EVT_EXEC_WAIT(DoImmune)
|
||||
EVT_END_IF
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_CASE_EQ(EVENT_DEATH)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_01_Anim_B)
|
||||
EVT_EXEC_WAIT(DoNormalHit)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_01_Anim_B)
|
||||
EVT_EXEC_WAIT(DoDeath)
|
||||
EVT_RETURN
|
||||
EVT_CASE_EQ(EVENT_RECOVER_STATUS)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_IF_EQ(LW(0), 0)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_01_Anim_4)
|
||||
EVT_EXEC_WAIT(DoRecover)
|
||||
EVT_END_IF
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(EnableIdleScript, ACTOR_SELF, 1)
|
||||
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(takeTurn_8022B474) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(nextTurn_8022B484) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
821
src/battle/area_trd_part_2/actor/yellow_ninja_koopa.c
Normal file
821
src/battle/area_trd_part_2/actor/yellow_ninja_koopa.c
Normal file
@ -0,0 +1,821 @@
|
||||
#include "common.h"
|
||||
#include "effects.h"
|
||||
#include "battle/battle.h"
|
||||
#include "script_api/battle.h"
|
||||
#include "sprite/npc/koopa_bros.h"
|
||||
|
||||
#define NAMESPACE b_area_trd_part_2_yellow_ninja_koopa
|
||||
|
||||
extern s32 N(idleAnimations_8022E550)[];
|
||||
extern EvtSource N(init_80230BCC);
|
||||
extern EvtSource N(idle_80230CC0);
|
||||
extern EvtSource N(handleEvent_80230D28);
|
||||
extern EvtSource N(nextTurn_802313C4);
|
||||
extern EvtSource N(takeTurn_802313B4);
|
||||
|
||||
s32 N(defenseTable_8022E440)[] = {
|
||||
ELEMENT_NORMAL, 1,
|
||||
ELEMENT_END,
|
||||
};
|
||||
|
||||
s32 N(defenseTable_8022E44C)[] = {
|
||||
ELEMENT_NORMAL, 0,
|
||||
ELEMENT_END,
|
||||
};
|
||||
|
||||
s32 N(statusTable_8022E458)[] = {
|
||||
STATUS_NORMAL, 0,
|
||||
STATUS_DEFAULT, 0,
|
||||
STATUS_SLEEP, 60,
|
||||
STATUS_POISON, 0,
|
||||
STATUS_FROZEN, 0,
|
||||
STATUS_DIZZY, 75,
|
||||
STATUS_FEAR, 0,
|
||||
STATUS_STATIC, 0,
|
||||
STATUS_PARALYZE, 75,
|
||||
STATUS_SHRINK, 100,
|
||||
STATUS_STOP, 75,
|
||||
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,
|
||||
};
|
||||
|
||||
ActorPartDesc N(partsTable_8022E504)[] = {
|
||||
{
|
||||
.flags = ACTOR_PART_FLAG_MULTI_TARGET,
|
||||
.index = 1,
|
||||
.posOffset = { 0, 0, 0 },
|
||||
.targetOffset = { -5, 36 },
|
||||
.opacity = 255,
|
||||
.idleAnimations = N(idleAnimations_8022E550),
|
||||
.defenseTable = N(defenseTable_8022E440),
|
||||
.eventFlags = ACTOR_EVENT_FLAG_FLIPABLE,
|
||||
.elementImmunityFlags = 0,
|
||||
.unk_1C = 0,
|
||||
},
|
||||
};
|
||||
|
||||
ActorDesc NAMESPACE = {
|
||||
.flags = ACTOR_FLAG_40000 | ACTOR_FLAG_NO_ATTACK,
|
||||
.type = ACTOR_TYPE_YELLOW_NINJAKOOPA,
|
||||
.level = 16,
|
||||
.maxHP = 5,
|
||||
.partCount = ARRAY_COUNT(N(partsTable_8022E504)),
|
||||
.partsData = N(partsTable_8022E504),
|
||||
.script = N(init_80230BCC),
|
||||
.statusTable = N(statusTable_8022E458),
|
||||
.escapeChance = 0,
|
||||
.airLiftChance = 0,
|
||||
.spookChance = 0,
|
||||
.baseStatusChance = 0,
|
||||
.upAndAwayChance = 0,
|
||||
.spinSmashReq = 0,
|
||||
.powerBounceChance = 85,
|
||||
.coinReward = 0,
|
||||
.size = { 38, 42 },
|
||||
.hpBarOffset = { 0, 0 },
|
||||
.statusIconOffset = { -10, 20 },
|
||||
.statusMessageOffset = { 10, 20 },
|
||||
};
|
||||
|
||||
s32 N(idleAnimations_8022E550)[] = {
|
||||
STATUS_NORMAL, NPC_ANIM_koopa_bros_Palette_02_Anim_4,
|
||||
STATUS_STONE, NPC_ANIM_koopa_bros_Palette_02_Anim_0,
|
||||
STATUS_SLEEP, NPC_ANIM_koopa_bros_Palette_02_Anim_15,
|
||||
STATUS_POISON, NPC_ANIM_koopa_bros_Palette_02_Anim_0,
|
||||
STATUS_STOP, NPC_ANIM_koopa_bros_Palette_02_Anim_0,
|
||||
STATUS_STATIC, NPC_ANIM_koopa_bros_Palette_02_Anim_0,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_02_Anim_0,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_02_Anim_0,
|
||||
STATUS_DIZZY, NPC_ANIM_koopa_bros_Palette_02_Anim_18,
|
||||
STATUS_DIZZY, NPC_ANIM_koopa_bros_Palette_02_Anim_18,
|
||||
STATUS_END,
|
||||
};
|
||||
|
||||
s32 N(idleAnimations_8022E5A4)[] = {
|
||||
STATUS_NORMAL, NPC_ANIM_koopa_bros_Palette_02_Anim_5,
|
||||
STATUS_STONE, NPC_ANIM_koopa_bros_Palette_02_Anim_1,
|
||||
STATUS_POISON, NPC_ANIM_koopa_bros_Palette_02_Anim_1,
|
||||
STATUS_STOP, NPC_ANIM_koopa_bros_Palette_02_Anim_1,
|
||||
STATUS_STATIC, NPC_ANIM_koopa_bros_Palette_02_Anim_1,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_02_Anim_1,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_02_Anim_1,
|
||||
STATUS_END,
|
||||
};
|
||||
|
||||
s32 N(idleAnimations_8022E5E0)[] = {
|
||||
STATUS_NORMAL, NPC_ANIM_koopa_bros_Palette_02_Anim_D,
|
||||
STATUS_STONE, NPC_ANIM_koopa_bros_Palette_02_Anim_1,
|
||||
STATUS_POISON, NPC_ANIM_koopa_bros_Palette_02_Anim_1,
|
||||
STATUS_STOP, NPC_ANIM_koopa_bros_Palette_02_Anim_1,
|
||||
STATUS_STATIC, NPC_ANIM_koopa_bros_Palette_02_Anim_1,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_02_Anim_1,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_02_Anim_1,
|
||||
STATUS_END,
|
||||
};
|
||||
|
||||
s32 N(idleAnimations_8022E61C)[] = {
|
||||
STATUS_NORMAL, NPC_ANIM_koopa_bros_Palette_02_Anim_C,
|
||||
STATUS_STONE, NPC_ANIM_koopa_bros_Palette_02_Anim_17,
|
||||
STATUS_SLEEP, NPC_ANIM_koopa_bros_Palette_02_Anim_17,
|
||||
STATUS_POISON, NPC_ANIM_koopa_bros_Palette_02_Anim_17,
|
||||
STATUS_STOP, NPC_ANIM_koopa_bros_Palette_02_Anim_17,
|
||||
STATUS_STATIC, NPC_ANIM_koopa_bros_Palette_02_Anim_17,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_02_Anim_17,
|
||||
STATUS_PARALYZE, NPC_ANIM_koopa_bros_Palette_02_Anim_17,
|
||||
STATUS_DIZZY, NPC_ANIM_koopa_bros_Palette_02_Anim_22,
|
||||
STATUS_DIZZY, NPC_ANIM_koopa_bros_Palette_02_Anim_22,
|
||||
STATUS_END,
|
||||
};
|
||||
|
||||
s32 N(idleAnimations_8022E670)[] = {
|
||||
STATUS_NORMAL, NPC_ANIM_koopa_bros_Palette_02_Anim_A,
|
||||
STATUS_END,
|
||||
};
|
||||
|
||||
s32 N(idleAnimations_8022E67C)[] = {
|
||||
STATUS_NORMAL, NPC_ANIM_koopa_bros_Palette_02_Anim_C,
|
||||
STATUS_END,
|
||||
};
|
||||
|
||||
#include "common/StartRumbleWithParams.inc.c"
|
||||
|
||||
// TODO: This pad is here due to rodata having subalign 4, while bss is 0x10 aligned as normal.
|
||||
BSS static char pad;
|
||||
#include "common/UnkWhirlwindEffectFunc.inc.c"
|
||||
|
||||
#include "common/UnkEnemyFunc.inc.c"
|
||||
|
||||
ApiStatus func_80219CF0_4B2EE0(Evt* script, s32 isInitialCall);
|
||||
INCLUDE_ASM(s32, "battle/area_trd_part_2/4B2D10", func_80219CF0_4B2EE0);
|
||||
|
||||
#include "common/GetLastActorEventType.inc.c"
|
||||
|
||||
EvtSource N(8022E688) = {
|
||||
EVT_CALL(SetOwnerID, ACTOR_ENEMY1)
|
||||
EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(0))
|
||||
EVT_IF_NE(LW(0), 0)
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE)
|
||||
EVT_SWITCH(LW(10))
|
||||
EVT_CASE_EQ(0)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022E550)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_4)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022E5A4)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_5)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(1)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022E5E0)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_D)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_02_Anim_B)
|
||||
EVT_EXEC_WAIT(DoNormalHit)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LW(0))
|
||||
EVT_BITWISE_AND_CONST(LW(0), 192)
|
||||
EVT_IF_NE(LW(0), 192)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022E5E0)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_D)
|
||||
EVT_ELSE
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022E670)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_A)
|
||||
EVT_END_IF
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_CALL(N(GetLastActorEventType), 14)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_02_Anim_E)
|
||||
EVT_SET_CONST(LW(2), -1)
|
||||
EVT_EXEC_WAIT(DoBurnHit)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LW(0))
|
||||
EVT_BITWISE_AND_CONST(LW(0), 192)
|
||||
EVT_IF_NE(LW(0), 192)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022E5E0)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_D)
|
||||
EVT_ELSE
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022E670)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_A)
|
||||
EVT_END_IF
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_02_Anim_8)
|
||||
EVT_EXEC_WAIT(DoImmune)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_9)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_02_Anim_1F)
|
||||
EVT_EXEC_WAIT(DoImmune)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_20)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_WAIT_FRAMES(15)
|
||||
EVT_CASE_EQ(5)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_SET(LF(0), 0)
|
||||
EVT_IF_EQ(LW(0), 3)
|
||||
EVT_SET(LF(0), 1)
|
||||
EVT_END_IF
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6005859375))
|
||||
EVT_CALL(func_80219CF0_4B2EE0, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_A)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022E670)))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE)
|
||||
EVT_IF_EQ(LF(0), 1)
|
||||
EVT_CALL(N(StartRumbleWithParams), 256, 5)
|
||||
EVT_THREAD
|
||||
EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(0.80078125))
|
||||
EVT_END_THREAD
|
||||
EVT_END_IF
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_C)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022E67C)))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_40000, 0)
|
||||
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, 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(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022E61C)))
|
||||
EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_ADDR(N(defenseTable_8022E44C)))
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 2, 2)
|
||||
EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 18)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(6)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_SET(LF(0), 0)
|
||||
EVT_IF_EQ(LW(0), 3)
|
||||
EVT_SET(LF(0), 1)
|
||||
EVT_END_IF
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6005859375))
|
||||
EVT_CALL(func_80219CF0_4B2EE0, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_E)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022E670)))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE)
|
||||
EVT_IF_EQ(LF(0), 1)
|
||||
EVT_CALL(N(StartRumbleWithParams), 256, 5)
|
||||
EVT_THREAD
|
||||
EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(0.80078125))
|
||||
EVT_END_THREAD
|
||||
EVT_END_IF
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(GetActorSize, ACTOR_SELF, LW(3), LW(4))
|
||||
EVT_DIVF(LW(3), EVT_FLOAT(2.0))
|
||||
EVT_ADDF(LW(1), LW(3))
|
||||
EVT_ADDF(LW(2), EVT_FLOAT(5.0))
|
||||
EVT_DIVF(LW(3), EVT_FLOAT(10.0))
|
||||
EVT_CALL(PlayEffect, EFFECT_ID_27, 0, LW(0), LW(1), LW(2), LW(3), 10, 0, 0, 0, 0, 0, 0, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_C)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022E67C)))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_40000, 0)
|
||||
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, 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(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022E61C)))
|
||||
EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_ADDR(N(defenseTable_8022E44C)))
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 2, 2)
|
||||
EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 18)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(9)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(1)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 2, LW(0))
|
||||
EVT_SUB(LW(0), 1)
|
||||
EVT_IF_GT(LW(0), 0)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 2, LW(0))
|
||||
EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2)
|
||||
EVT_WAIT_FRAMES(20)
|
||||
EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0)
|
||||
EVT_ELSE
|
||||
EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 2)
|
||||
EVT_WAIT_FRAMES(12)
|
||||
EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0)
|
||||
EVT_CALL(SetActorSounds, ACTOR_SELF, 2, 0, 0)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_JUMP_3E2)
|
||||
EVT_THREAD
|
||||
EVT_SET(LW(0), 0)
|
||||
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 18, 0)
|
||||
EVT_LOOP(4)
|
||||
EVT_ADD(LW(0), 22)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LW(0))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0))
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x20BA)
|
||||
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 36)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 2)
|
||||
EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_ADDR(N(defenseTable_8022E440)))
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022E550)))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_4)
|
||||
EVT_CALL(ResetActorSounds, ACTOR_SELF, 2)
|
||||
EVT_END_IF
|
||||
EVT_CASE_DEFAULT
|
||||
EVT_WAIT_FRAMES(20)
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(10)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0)
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(7)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_8)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x356)
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x355)
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x354)
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_7)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 60)
|
||||
EVT_WAIT_FRAMES(60)
|
||||
EVT_THREAD
|
||||
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, BS_FLAGS1_10)
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(HIT_RESULT_LUCKY)
|
||||
EVT_WAIT_FRAMES(20)
|
||||
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0)
|
||||
EVT_RETURN
|
||||
EVT_CASE_EQ(HIT_RESULT_MISS)
|
||||
EVT_RETURN
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 4, LW(10))
|
||||
EVT_LABEL(0)
|
||||
EVT_CALL(GetActorPos, LW(10), LW(0), LW(1), LW(2))
|
||||
EVT_CALL(GetActorPos, ACTOR_PLAYER, LW(3), LW(4), LW(5))
|
||||
EVT_IF_GT(LW(0), LW(3))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_GOTO(0)
|
||||
EVT_END_IF
|
||||
EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER)
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_SELF)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LW(1))
|
||||
EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LW(0), 0, 65535, 0, LW(1), BS_FLAGS1_SP_EVT_ACTIVE)
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x37C)
|
||||
EVT_CALL(SetActorSounds, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 1)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(13.0))
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(14.0))
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(15.0))
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, -160, LW(1), LW(2))
|
||||
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
|
||||
EVT_CALL(ResetActorSounds, ACTOR_SELF, 0)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 0)
|
||||
EVT_THREAD
|
||||
EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 15, 0)
|
||||
EVT_SET(LW(0), 0)
|
||||
EVT_LOOP(40)
|
||||
EVT_SUB(LW(0), 45)
|
||||
EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, LW(0))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 0, 0)
|
||||
EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0)
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 4, LW(1))
|
||||
EVT_CALL(GetHomePos, LW(1), LW(2), LW(3), LW(4))
|
||||
EVT_SET(LW(4), 15)
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(2), LW(3), LW(4))
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LW(11))
|
||||
EVT_SET(LW(0), LW(11))
|
||||
EVT_SUB(LW(0), 1)
|
||||
EVT_MUL(LW(0), 18)
|
||||
EVT_SWITCH(LW(11))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(AddGoalPos, ACTOR_SELF, 0, LW(0), -10)
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(AddGoalPos, ACTOR_SELF, 0, LW(0), -7)
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_CALL(AddGoalPos, ACTOR_SELF, 0, LW(0), -4)
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 40, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 60)
|
||||
EVT_WAIT_FRAMES(60)
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 50)
|
||||
EVT_WAIT_FRAMES(50)
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 40)
|
||||
EVT_WAIT_FRAMES(40)
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_9)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x20F3)
|
||||
EVT_CALL(SetActorYaw, ACTOR_SELF, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_1B)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_SUB(LW(0), 22)
|
||||
EVT_ADD(LW(1), 19)
|
||||
EVT_CALL(PlayEffect, EFFECT_ID_1A, 0, LW(0), LW(1), LW(2), 30, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||
EVT_WAIT_FRAMES(30)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_4)
|
||||
EVT_WAIT_FRAMES(20)
|
||||
EVT_CALL(SetActorVar, ACTOR_ENEMY4, 1, 0)
|
||||
EVT_CASE_OR_EQ(4)
|
||||
EVT_CASE_OR_EQ(5)
|
||||
EVT_CASE_OR_EQ(6)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_1F)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_7)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 60)
|
||||
EVT_WAIT_FRAMES(60)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 1)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(14.0))
|
||||
EVT_CASE_EQ(5)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(15.0))
|
||||
EVT_CASE_EQ(6)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(16.0))
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(SetActorSounds, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, -160, LW(1), LW(2))
|
||||
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
|
||||
EVT_CALL(ResetActorSounds, ACTOR_SELF, 0)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 0)
|
||||
EVT_THREAD
|
||||
EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 15, 0)
|
||||
EVT_SET(LW(0), 0)
|
||||
EVT_LOOP(40)
|
||||
EVT_SUB(LW(0), 45)
|
||||
EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, LW(0))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 0, 0)
|
||||
EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0)
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 4, LW(1))
|
||||
EVT_CALL(GetHomePos, LW(1), LW(2), LW(3), LW(4))
|
||||
EVT_SET(LW(4), 15)
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(2), LW(3), LW(4))
|
||||
EVT_CALL(AddGoalPos, ACTOR_SELF, 0, 36, -7)
|
||||
EVT_CASE_EQ(5)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 4, LW(1))
|
||||
EVT_CALL(GetHomePos, LW(1), LW(2), LW(3), LW(4))
|
||||
EVT_SET(LW(4), 15)
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(2), LW(3), LW(4))
|
||||
EVT_CALL(AddGoalPos, ACTOR_SELF, 0, 18, -4)
|
||||
EVT_CASE_EQ(6)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 4, LW(1))
|
||||
EVT_CALL(GetHomePos, LW(1), LW(2), LW(3), LW(4))
|
||||
EVT_SET(LW(4), 15)
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(2), LW(3), LW(4))
|
||||
EVT_CALL(AddGoalPos, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 40, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(4)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 50)
|
||||
EVT_WAIT_FRAMES(50)
|
||||
EVT_CASE_EQ(5)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 40)
|
||||
EVT_WAIT_FRAMES(40)
|
||||
EVT_CASE_EQ(6)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 30)
|
||||
EVT_WAIT_FRAMES(30)
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_20)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_5)
|
||||
EVT_WAIT_FRAMES(30)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CASE_EQ(8)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(0)
|
||||
EVT_CALL(GetHomePos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_SET(LW(2), 15)
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_3)
|
||||
EVT_CALL(RunToGoal, ACTOR_SELF, 10, FALSE)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_1F)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x353)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_7)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 30)
|
||||
EVT_WAIT_FRAMES(30)
|
||||
EVT_THREAD
|
||||
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, BS_FLAGS1_10)
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_EQ(HIT_RESULT_LUCKY)
|
||||
EVT_WAIT_FRAMES(20)
|
||||
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LW(0), DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0)
|
||||
EVT_RETURN
|
||||
EVT_CASE_EQ(HIT_RESULT_MISS)
|
||||
EVT_RETURN
|
||||
EVT_END_SWITCH
|
||||
EVT_LABEL(0)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(GetActorPos, ACTOR_PLAYER, LW(3), LW(4), LW(5))
|
||||
EVT_IF_GT(LW(0), LW(3))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_GOTO(0)
|
||||
EVT_END_IF
|
||||
EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER)
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_SELF)
|
||||
EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LW(0), 0, 65535, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE)
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x37C)
|
||||
EVT_CALL(SetActorSounds, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 1)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(16.0))
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, -160, LW(1), LW(2))
|
||||
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
|
||||
EVT_CALL(ResetActorSounds, ACTOR_SELF, 0)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 0)
|
||||
EVT_THREAD
|
||||
EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 15, 0)
|
||||
EVT_SET(LW(0), 0)
|
||||
EVT_LOOP(40)
|
||||
EVT_SUB(LW(0), 45)
|
||||
EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, LW(0))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 0, 0)
|
||||
EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0)
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(GetHomePos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_SET(LW(2), 15)
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5))
|
||||
EVT_CALL(JumpToGoal, ACTOR_SELF, 40, FALSE, TRUE, FALSE)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkWhirlwindEffectFunc), LW(0), LW(1), LW(2), 30)
|
||||
EVT_WAIT_FRAMES(30)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_9)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, 0x20F3)
|
||||
EVT_CALL(SetActorYaw, ACTOR_SELF, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_1B)
|
||||
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_SUB(LW(0), 22)
|
||||
EVT_ADD(LW(1), 19)
|
||||
EVT_CALL(PlayEffect, EFFECT_ID_1A, 0, LW(0), LW(1), LW(2), 30, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||
EVT_WAIT_FRAMES(30)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_3)
|
||||
EVT_CALL(SetGoalToHome, ACTOR_SELF)
|
||||
EVT_CALL(RunToGoal, ACTOR_SELF, 10, FALSE)
|
||||
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LW(0))
|
||||
EVT_BITWISE_AND_CONST(LW(0), -513)
|
||||
EVT_CALL(SetActorVar, ACTOR_ENEMY4, 0, LW(0))
|
||||
EVT_END_SWITCH
|
||||
EVT_END_SWITCH
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(init_80230BCC) = {
|
||||
EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_ADDR(N(takeTurn_802313B4)))
|
||||
EVT_CALL(BindIdle, ACTOR_SELF, EVT_ADDR(N(idle_80230CC0)))
|
||||
EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_ADDR(N(handleEvent_80230D28)))
|
||||
EVT_CALL(BindNextTurn, ACTOR_SELF, EVT_ADDR(N(nextTurn_802313C4)))
|
||||
EVT_CALL(SetActorPos, ACTOR_SELF, 0, -1000, 0)
|
||||
EVT_CALL(ForceHomePos, ACTOR_SELF, 0, -1000, 0)
|
||||
EVT_CALL(HPBarToHome, ACTOR_SELF)
|
||||
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, 1)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 2, 0)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(idle_80230CC0) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
s32 N(intTable_80230CD0)[] = {
|
||||
0x00000009, 0x00000010, 0x00000016, 0x0000001A, 0x0000001E, 0x00000020, 0x00000021, 0x00000020,
|
||||
0x0000001E, 0x0000001A, 0x00000016, 0x00000010, 0x00000009, 0x00000000, 0x00000004, 0x00000006,
|
||||
0x00000007, 0x00000006, 0x00000004, 0x00000000, 0x00000002, 0x00000000,
|
||||
};
|
||||
|
||||
EvtSource N(handleEvent_80230D28) = {
|
||||
EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE)
|
||||
EVT_CALL(EnableIdleScript, ACTOR_SELF, 0)
|
||||
EVT_CALL(GetLastEvent, ACTOR_SELF, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(EVENT_HIT_COMBO)
|
||||
EVT_CASE_OR_EQ(EVENT_HIT)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_02_Anim_B)
|
||||
EVT_EXEC_WAIT(DoNormalHit)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_CASE_EQ(EVENT_BURN_HIT)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_02_Anim_E)
|
||||
EVT_SET_CONST(LW(2), NPC_ANIM_koopa_bros_Palette_02_Anim_F)
|
||||
EVT_EXEC_WAIT(DoBurnHit)
|
||||
EVT_CASE_EQ(EVENT_BURN_DEATH)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_02_Anim_E)
|
||||
EVT_SET_CONST(LW(2), NPC_ANIM_koopa_bros_Palette_02_Anim_F)
|
||||
EVT_EXEC_WAIT(DoBurnHit)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_02_Anim_F)
|
||||
EVT_EXEC_WAIT(DoDeath)
|
||||
EVT_RETURN
|
||||
EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_02_Anim_B)
|
||||
EVT_EXEC_WAIT(DoSpinSmashHit)
|
||||
EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_02_Anim_B)
|
||||
EVT_EXEC_WAIT(DoSpinSmashHit)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_02_Anim_B)
|
||||
EVT_EXEC_WAIT(DoDeath)
|
||||
EVT_RETURN
|
||||
EVT_CASE_EQ(EVENT_FLIP_TRIGGER)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1)
|
||||
EVT_CALL(SetActorVar, ACTOR_SELF, 2, 2)
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8022E61C)))
|
||||
EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_ADDR(N(defenseTable_8022E44C)))
|
||||
EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 18)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_IF_EQ(LW(0), 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_B)
|
||||
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0)
|
||||
EVT_THREAD
|
||||
EVT_WAIT_FRAMES(4)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 30)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -30)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -60)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, -75)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_THREAD
|
||||
EVT_ELSE
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_C)
|
||||
EVT_END_IF
|
||||
EVT_USE_BUF(EVT_ADDR(N(intTable_80230CD0)))
|
||||
EVT_LOOP(22)
|
||||
EVT_BUF_READ1(LW(0))
|
||||
EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, LW(0), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CASE_OR_EQ(EVENT_UNKNOWN_TRIGGER)
|
||||
EVT_CASE_OR_EQ(EVENT_IMMUNE)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_IF_EQ(LW(0), 0)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_02_Anim_8)
|
||||
EVT_EXEC_WAIT(DoImmune)
|
||||
EVT_CALL(GetStatusFlags, ACTOR_SELF, LW(0))
|
||||
EVT_IF_EQ(LW(0), 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_koopa_bros_Palette_02_Anim_9)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_END_IF
|
||||
EVT_ELSE
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_02_Anim_C)
|
||||
EVT_EXEC_WAIT(DoImmune)
|
||||
EVT_END_IF
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_CASE_EQ(EVENT_DEATH)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_02_Anim_B)
|
||||
EVT_EXEC_WAIT(DoNormalHit)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_02_Anim_B)
|
||||
EVT_EXEC_WAIT(DoDeath)
|
||||
EVT_RETURN
|
||||
EVT_CASE_EQ(EVENT_RECOVER_STATUS)
|
||||
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))
|
||||
EVT_IF_EQ(LW(0), 0)
|
||||
EVT_SET_CONST(LW(0), 1)
|
||||
EVT_SET_CONST(LW(1), NPC_ANIM_koopa_bros_Palette_02_Anim_4)
|
||||
EVT_EXEC_WAIT(DoRecover)
|
||||
EVT_END_IF
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(EnableIdleScript, ACTOR_SELF, 1)
|
||||
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(takeTurn_802313B4) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(nextTurn_802313C4) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
53
src/battle/area_trd_part_2/area.c
Normal file
53
src/battle/area_trd_part_2/area.c
Normal file
@ -0,0 +1,53 @@
|
||||
#include "common.h"
|
||||
#include "battle/battle.h"
|
||||
#include "script_api/battle.h"
|
||||
|
||||
#define NAMESPACE b_area_trd_part_2
|
||||
|
||||
extern ActorDesc N(green_ninja_koopa);
|
||||
extern ActorDesc N(yellow_ninja_koopa);
|
||||
extern ActorDesc N(blue_ninja_koopa);
|
||||
extern ActorDesc N(red_ninja_koopa);
|
||||
extern ActorDesc N(fake_bowser);
|
||||
|
||||
extern Stage N(trd_00);
|
||||
extern Stage N(trd_01);
|
||||
extern Stage N(trd_02);
|
||||
extern Stage N(trd_02b);
|
||||
extern Stage N(trd_03);
|
||||
extern Stage N(trd_04);
|
||||
extern Stage N(trd_05);
|
||||
extern Stage N(trd_05b);
|
||||
extern Stage N(trd_05c);
|
||||
extern Stage N(trd_05d);
|
||||
extern Stage N(trd_05e);
|
||||
extern Stage N(trd_05f);
|
||||
|
||||
Formation N(formation_00) = {
|
||||
{ .actor = &N(green_ninja_koopa), .home = { .index = 0 }, .priority = 10 },
|
||||
{ .actor = &N(yellow_ninja_koopa), .home = { .index = 0 }, .priority = 9 },
|
||||
{ .actor = &N(blue_ninja_koopa), .home = { .index = 0 }, .priority = 8 },
|
||||
{ .actor = &N(red_ninja_koopa), .home = { .index = 0 }, .priority = 7 },
|
||||
{ .actor = &N(fake_bowser), .home = { .index = 3 }, .priority = 6 },
|
||||
};
|
||||
|
||||
BattleList N(formationTable) = {
|
||||
BATTLE("ノコブロス", N(formation_00), &N(trd_00)),
|
||||
{},
|
||||
};
|
||||
|
||||
StageList N(stageTable) = {
|
||||
{ "trd_00", &N(trd_00) },
|
||||
{ "trd_01", &N(trd_01) },
|
||||
{ "trd_02", &N(trd_02) },
|
||||
{ "trd_02b", &N(trd_02b) },
|
||||
{ "trd_03", &N(trd_03) },
|
||||
{ "trd_04", &N(trd_04) },
|
||||
{ "trd_05", &N(trd_05) },
|
||||
{ "trd_05b", &N(trd_05b) },
|
||||
{ "trd_05c", &N(trd_05c) },
|
||||
{ "trd_05d", &N(trd_05d) },
|
||||
{ "trd_05e", &N(trd_05e) },
|
||||
{ "trd_05f", &N(trd_05f) },
|
||||
{},
|
||||
};
|
29
src/battle/area_trd_part_2/stage/trd_00.c
Normal file
29
src/battle/area_trd_part_2/stage/trd_00.c
Normal file
@ -0,0 +1,29 @@
|
||||
#include "common.h"
|
||||
#include "battle/battle.h"
|
||||
|
||||
#define NAMESPACE b_area_trd_part_2_trd_00
|
||||
|
||||
EvtSource N(beforeBattle_802313E0) = {
|
||||
EVT_CALL(SetSpriteShading, -1)
|
||||
EVT_CALL(SetCamBGColor, 1, 0, 0, 0)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(afterBattle_8023141C) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
s32 N(foregroundModelList_8023142C)[] = {
|
||||
0x00000009, 0x00000000,
|
||||
};
|
||||
|
||||
Stage NAMESPACE = {
|
||||
.texture = "trd_tex",
|
||||
.shape = "trd_bt00_shape",
|
||||
.hit = "trd_bt00_hit",
|
||||
.preBattle = N(beforeBattle_802313E0),
|
||||
.postBattle = N(afterBattle_8023141C),
|
||||
.foregroundModelList = N(foregroundModelList_8023142C),
|
||||
};
|
24
src/battle/area_trd_part_2/stage/trd_01.c
Normal file
24
src/battle/area_trd_part_2/stage/trd_01.c
Normal file
@ -0,0 +1,24 @@
|
||||
#include "common.h"
|
||||
#include "battle/battle.h"
|
||||
|
||||
#define NAMESPACE b_area_trd_part_2_trd_01
|
||||
|
||||
EvtSource N(beforeBattle_80231460) = {
|
||||
EVT_CALL(SetSpriteShading, -1)
|
||||
EVT_CALL(SetCamBGColor, 1, 0, 0, 0)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(afterBattle_8023149C) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
Stage NAMESPACE = {
|
||||
.texture = "trd_tex",
|
||||
.shape = "trd_bt01_shape",
|
||||
.hit = "trd_bt01_hit",
|
||||
.preBattle = N(beforeBattle_80231460),
|
||||
.postBattle = N(afterBattle_8023149C),
|
||||
};
|
140
src/battle/area_trd_part_2/stage/trd_02.c
Normal file
140
src/battle/area_trd_part_2/stage/trd_02.c
Normal file
@ -0,0 +1,140 @@
|
||||
#include "common.h"
|
||||
#include "battle/battle.h"
|
||||
|
||||
#define NAMESPACE b_area_trd_part_2_trd_02
|
||||
|
||||
EvtSource N(802314E0) = {
|
||||
EVT_SET(LW(10), LW(0))
|
||||
EVT_LABEL(0)
|
||||
EVT_CALL(RotateGroup, LW(10), 2, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RotateGroup, LW(10), -2, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RandInt, 30, LW(0))
|
||||
EVT_ADD(LW(0), 30)
|
||||
EVT_WAIT_FRAMES(LW(0))
|
||||
EVT_GOTO(0)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(802315F8) = {
|
||||
EVT_SET(LW(10), LW(0))
|
||||
EVT_LOOP(0)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 0, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(-0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), EVT_FLOAT(-1.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -2, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -3, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -3, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -3, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, EVT_FLOAT(-1.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), EVT_FLOAT(-0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(0.5), 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 0, 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 1, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, EVT_FLOAT(0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 0, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 0, 0, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_END_LOOP
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(beforeBattle_80231BA4) = {
|
||||
EVT_CALL(SetSpriteShading, -1)
|
||||
EVT_CALL(SetCamBGColor, 1, 0, 0, 0)
|
||||
EVT_CALL(EnableModel, 12, 0)
|
||||
EVT_THREAD
|
||||
EVT_SET(LW(0), 19)
|
||||
EVT_EXEC(N(802315F8))
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_SET(LW(0), 17)
|
||||
EVT_EXEC(N(802315F8))
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_SET(LW(0), 15)
|
||||
EVT_EXEC(N(802315F8))
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_SET(LW(0), 13)
|
||||
EVT_EXEC(N(802315F8))
|
||||
EVT_END_THREAD
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(afterBattle_80231C98) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
s32 N(foregroundModelList_80231CA8)[] = {
|
||||
0x00000016, 0x00000000,
|
||||
};
|
||||
|
||||
Stage NAMESPACE = {
|
||||
.texture = "trd_tex",
|
||||
.shape = "trd_bt02_shape",
|
||||
.hit = "trd_bt02_hit",
|
||||
.preBattle = N(beforeBattle_80231BA4),
|
||||
.postBattle = N(afterBattle_80231C98),
|
||||
.foregroundModelList = N(foregroundModelList_80231CA8),
|
||||
};
|
137
src/battle/area_trd_part_2/stage/trd_02b.c
Normal file
137
src/battle/area_trd_part_2/stage/trd_02b.c
Normal file
@ -0,0 +1,137 @@
|
||||
#include "common.h"
|
||||
#include "battle/battle.h"
|
||||
|
||||
#define NAMESPACE b_area_trd_part_2_trd_02b
|
||||
|
||||
EvtSource N(80231CE0) = {
|
||||
EVT_SET(LW(10), LW(0))
|
||||
EVT_LABEL(0)
|
||||
EVT_CALL(RotateGroup, LW(10), 2, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RotateGroup, LW(10), -2, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RandInt, 30, LW(0))
|
||||
EVT_ADD(LW(0), 30)
|
||||
EVT_WAIT_FRAMES(LW(0))
|
||||
EVT_GOTO(0)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(80231DF8) = {
|
||||
EVT_SET(LW(10), LW(0))
|
||||
EVT_LOOP(0)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 0, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(-0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), EVT_FLOAT(-1.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -2, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -3, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -3, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -3, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, EVT_FLOAT(-1.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), EVT_FLOAT(-0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(0.5), 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 0, 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 1, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, EVT_FLOAT(0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 0, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 0, 0, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_END_LOOP
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(beforeBattle_802323A4) = {
|
||||
EVT_CALL(SetSpriteShading, -1)
|
||||
EVT_CALL(SetCamBGColor, 1, 0, 0, 0)
|
||||
EVT_CALL(EnableModel, 22, 0)
|
||||
EVT_CALL(EnableModel, 9, 0)
|
||||
EVT_CALL(EnableModel, 10, 0)
|
||||
EVT_THREAD
|
||||
EVT_SET(LW(0), 19)
|
||||
EVT_EXEC(N(80231DF8))
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_SET(LW(0), 17)
|
||||
EVT_EXEC(N(80231DF8))
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_SET(LW(0), 15)
|
||||
EVT_EXEC(N(80231DF8))
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_SET(LW(0), 13)
|
||||
EVT_EXEC(N(80231DF8))
|
||||
EVT_END_THREAD
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(afterBattle_802324C0) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
Stage NAMESPACE = {
|
||||
.texture = "trd_tex",
|
||||
.shape = "trd_bt02_shape",
|
||||
.hit = "trd_bt02_hit",
|
||||
.preBattle = N(beforeBattle_802323A4),
|
||||
.postBattle = N(afterBattle_802324C0),
|
||||
};
|
39
src/battle/area_trd_part_2/stage/trd_03.c
Normal file
39
src/battle/area_trd_part_2/stage/trd_03.c
Normal file
@ -0,0 +1,39 @@
|
||||
#include "common.h"
|
||||
#include "battle/battle.h"
|
||||
|
||||
#define NAMESPACE b_area_trd_part_2_trd_03
|
||||
|
||||
#include "world/common/clouds.inc.c"
|
||||
|
||||
EvtSource N(beforeBattle_80232888) = {
|
||||
EVT_CALL(SetSpriteShading, -1)
|
||||
EVT_SET(LW(0), 4)
|
||||
EVT_SET(LW(2), 0)
|
||||
EVT_EXEC(N(clouds1))
|
||||
EVT_SET(LW(0), 2)
|
||||
EVT_SET(LW(2), 70)
|
||||
EVT_SET(LW(3), 175)
|
||||
EVT_SET(LW(4), -170)
|
||||
EVT_EXEC(N(clouds2))
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(afterBattle_80232920) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
s32 N(foregroundModelList_80232930)[] = {
|
||||
0x0000000F, 0x0000000E, 0x0000000D, 0x00000000,
|
||||
};
|
||||
|
||||
Stage NAMESPACE = {
|
||||
.texture = "trd_tex",
|
||||
.shape = "trd_bt03_shape",
|
||||
.hit = "trd_bt03_hit",
|
||||
.bg = "nok_bg",
|
||||
.preBattle = N(beforeBattle_80232888),
|
||||
.postBattle = N(afterBattle_80232920),
|
||||
.foregroundModelList = N(foregroundModelList_80232930),
|
||||
};
|
87
src/battle/area_trd_part_2/stage/trd_04.c
Normal file
87
src/battle/area_trd_part_2/stage/trd_04.c
Normal file
@ -0,0 +1,87 @@
|
||||
#include "common.h"
|
||||
#include "battle/battle.h"
|
||||
|
||||
#define NAMESPACE b_area_trd_part_2_trd_04
|
||||
|
||||
EvtSource N(80232970) = {
|
||||
EVT_SET(LW(10), LW(1))
|
||||
EVT_SET(LW(11), LW(2))
|
||||
EVT_SET(LW(12), LW(3))
|
||||
EVT_CALL(SetTexPanner, LW(0), LW(1))
|
||||
EVT_SET(LW(0), 0)
|
||||
EVT_SET(LW(1), 0)
|
||||
EVT_LOOP(0)
|
||||
EVT_CALL(SetTexPanOffset, LW(10), 0, LW(0), LW(1))
|
||||
EVT_ADD(LW(0), LW(11))
|
||||
EVT_ADD(LW(1), LW(12))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(80232A40) = {
|
||||
EVT_SET(LW(10), LW(1))
|
||||
EVT_SET(LW(11), LW(2))
|
||||
EVT_SET(LW(12), LW(3))
|
||||
EVT_CALL(SetTexPanner, LW(0), LW(1))
|
||||
EVT_SET(LW(0), 0)
|
||||
EVT_SET(LW(1), 0)
|
||||
EVT_LOOP(0)
|
||||
EVT_CALL(SetTexPanOffset, LW(10), 0, LW(0), 0)
|
||||
EVT_CALL(SetTexPanOffset, LW(10), 1, LW(1), 0)
|
||||
EVT_ADD(LW(0), LW(11))
|
||||
EVT_ADD(LW(1), LW(12))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(80232B2C) = {
|
||||
EVT_SET(LW(10), LW(1))
|
||||
EVT_SET(LW(11), LW(2))
|
||||
EVT_SET(LW(12), LW(3))
|
||||
EVT_CALL(SetTexPanner, LW(0), LW(1))
|
||||
EVT_SET(LW(0), 0)
|
||||
EVT_SET(LW(1), 0)
|
||||
EVT_LOOP(0)
|
||||
EVT_CALL(SetTexPanOffset, LW(10), 0, 0, LW(0))
|
||||
EVT_CALL(SetTexPanOffset, LW(10), 1, 0, LW(1))
|
||||
EVT_ADD(LW(0), LW(11))
|
||||
EVT_ADD(LW(1), LW(12))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(beforeBattle_80232C18) = {
|
||||
EVT_CALL(SetSpriteShading, -1)
|
||||
EVT_CALL(SetCamBGColor, 1, 0, 0, 0)
|
||||
EVT_SET(LW(0), 13)
|
||||
EVT_SET(LW(1), 0)
|
||||
EVT_SET(LW(2), 40)
|
||||
EVT_SET(LW(3), 0)
|
||||
EVT_EXEC(N(80232970))
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(afterBattle_80232CA0) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
s32 N(foregroundModelList_80232CB0)[] = {
|
||||
0x0000000D, 0x00000000,
|
||||
};
|
||||
|
||||
Stage NAMESPACE = {
|
||||
.texture = "trd_tex",
|
||||
.shape = "trd_bt04_shape",
|
||||
.hit = "trd_bt04_hit",
|
||||
.preBattle = N(beforeBattle_80232C18),
|
||||
.postBattle = N(afterBattle_80232CA0),
|
||||
.foregroundModelList = N(foregroundModelList_80232CB0),
|
||||
};
|
139
src/battle/area_trd_part_2/stage/trd_05.c
Normal file
139
src/battle/area_trd_part_2/stage/trd_05.c
Normal file
@ -0,0 +1,139 @@
|
||||
#include "common.h"
|
||||
#include "battle/battle.h"
|
||||
|
||||
#define NAMESPACE b_area_trd_part_2_trd_05
|
||||
|
||||
EvtSource N(80232CE0) = {
|
||||
EVT_SET(LW(10), LW(0))
|
||||
EVT_LABEL(0)
|
||||
EVT_CALL(RotateGroup, LW(10), 2, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RotateGroup, LW(10), -2, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RandInt, 30, LW(0))
|
||||
EVT_ADD(LW(0), 30)
|
||||
EVT_WAIT_FRAMES(LW(0))
|
||||
EVT_GOTO(0)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(80232DF8) = {
|
||||
EVT_SET(LW(10), LW(0))
|
||||
EVT_LOOP(0)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 0, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(-0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), EVT_FLOAT(-1.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -2, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -3, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -3, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -3, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, EVT_FLOAT(-1.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), EVT_FLOAT(-0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(0.5), 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 0, 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 1, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, EVT_FLOAT(0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 0, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 0, 0, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_END_LOOP
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(beforeBattle_802333A4) = {
|
||||
EVT_CALL(SetSpriteShading, -1)
|
||||
EVT_CALL(SetCamBGColor, 1, 0, 0, 0)
|
||||
EVT_THREAD
|
||||
EVT_SET(LW(0), 27)
|
||||
EVT_EXEC(N(80232DF8))
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_SET(LW(0), 25)
|
||||
EVT_EXEC(N(80232DF8))
|
||||
EVT_END_THREAD
|
||||
EVT_THREAD
|
||||
EVT_SET(LW(0), 6)
|
||||
EVT_EXEC(N(80232DF8))
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_SET(LW(0), 4)
|
||||
EVT_EXEC(N(80232DF8))
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_SET(LW(0), 2)
|
||||
EVT_EXEC(N(80232DF8))
|
||||
EVT_END_THREAD
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(afterBattle_802334B0) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
Stage NAMESPACE = {
|
||||
.texture = "trd_tex",
|
||||
.shape = "trd_bt05_shape",
|
||||
.hit = "trd_bt05_hit",
|
||||
.bg = "nok_bg",
|
||||
.preBattle = N(beforeBattle_802333A4),
|
||||
.postBattle = N(afterBattle_802334B0),
|
||||
};
|
131
src/battle/area_trd_part_2/stage/trd_05b.c
Normal file
131
src/battle/area_trd_part_2/stage/trd_05b.c
Normal file
@ -0,0 +1,131 @@
|
||||
#include "common.h"
|
||||
#include "battle/battle.h"
|
||||
|
||||
#define NAMESPACE b_area_trd_part_2_trd_05b
|
||||
|
||||
EvtSource N(802334F0) = {
|
||||
EVT_SET(LW(10), LW(0))
|
||||
EVT_LABEL(0)
|
||||
EVT_CALL(RotateGroup, LW(10), 2, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RotateGroup, LW(10), -2, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RandInt, 30, LW(0))
|
||||
EVT_ADD(LW(0), 30)
|
||||
EVT_WAIT_FRAMES(LW(0))
|
||||
EVT_GOTO(0)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(80233608) = {
|
||||
EVT_SET(LW(10), LW(0))
|
||||
EVT_LOOP(0)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 0, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(-0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), EVT_FLOAT(-1.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -2, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -3, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -3, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -3, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, EVT_FLOAT(-1.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), EVT_FLOAT(-0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(0.5), 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 0, 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 1, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, EVT_FLOAT(0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 0, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 0, 0, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_END_LOOP
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(beforeBattle_80233BB4) = {
|
||||
EVT_CALL(SetSpriteShading, -1)
|
||||
EVT_CALL(SetCamBGColor, 1, 0, 0, 0)
|
||||
EVT_CALL(EnableModel, 16, 0)
|
||||
EVT_CALL(EnableModel, 17, 0)
|
||||
EVT_CALL(EnableModel, 2, 0)
|
||||
EVT_CALL(EnableModel, 4, 0)
|
||||
EVT_CALL(EnableModel, 6, 0)
|
||||
EVT_CALL(EnableModel, 20, 0)
|
||||
EVT_CALL(EnableModel, 18, 0)
|
||||
EVT_CALL(EnableModel, 19, 0)
|
||||
EVT_CALL(EnableModel, 25, 0)
|
||||
EVT_CALL(EnableModel, 27, 0)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(afterBattle_80233CB8) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
Stage NAMESPACE = {
|
||||
.texture = "trd_tex",
|
||||
.shape = "trd_bt05_shape",
|
||||
.hit = "trd_bt05_hit",
|
||||
.preBattle = N(beforeBattle_80233BB4),
|
||||
.postBattle = N(afterBattle_80233CB8),
|
||||
};
|
139
src/battle/area_trd_part_2/stage/trd_05c.c
Normal file
139
src/battle/area_trd_part_2/stage/trd_05c.c
Normal file
@ -0,0 +1,139 @@
|
||||
#include "common.h"
|
||||
#include "battle/battle.h"
|
||||
|
||||
#define NAMESPACE b_area_trd_part_2_trd_05c
|
||||
|
||||
EvtSource N(80233CF0) = {
|
||||
EVT_SET(LW(10), LW(0))
|
||||
EVT_LABEL(0)
|
||||
EVT_CALL(RotateGroup, LW(10), 2, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RotateGroup, LW(10), -2, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RandInt, 30, LW(0))
|
||||
EVT_ADD(LW(0), 30)
|
||||
EVT_WAIT_FRAMES(LW(0))
|
||||
EVT_GOTO(0)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(80233E08) = {
|
||||
EVT_SET(LW(10), LW(0))
|
||||
EVT_LOOP(0)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 0, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(-0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), EVT_FLOAT(-1.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -2, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -3, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -3, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -3, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, EVT_FLOAT(-1.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), EVT_FLOAT(-0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(0.5), 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 0, 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 1, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, EVT_FLOAT(0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 0, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 0, 0, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_END_LOOP
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(beforeBattle_802343B4) = {
|
||||
EVT_CALL(SetSpriteShading, -1)
|
||||
EVT_CALL(SetCamBGColor, 1, 0, 0, 0)
|
||||
EVT_CALL(EnableModel, 10, 0)
|
||||
EVT_CALL(EnableModel, 15, 0)
|
||||
EVT_CALL(EnableModel, 20, 0)
|
||||
EVT_CALL(EnableModel, 18, 0)
|
||||
EVT_CALL(EnableModel, 19, 0)
|
||||
EVT_CALL(EnableModel, 25, 0)
|
||||
EVT_SET(LW(0), 27)
|
||||
EVT_EXEC(N(80233E08))
|
||||
EVT_THREAD
|
||||
EVT_SET(LW(0), 6)
|
||||
EVT_EXEC(N(80233E08))
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_SET(LW(0), 4)
|
||||
EVT_EXEC(N(80233E08))
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_SET(LW(0), 2)
|
||||
EVT_EXEC(N(80233E08))
|
||||
EVT_END_THREAD
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(afterBattle_80234500) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
Stage NAMESPACE = {
|
||||
.texture = "trd_tex",
|
||||
.shape = "trd_bt05_shape",
|
||||
.hit = "trd_bt05_hit",
|
||||
.preBattle = N(beforeBattle_802343B4),
|
||||
.postBattle = N(afterBattle_80234500),
|
||||
};
|
138
src/battle/area_trd_part_2/stage/trd_05d.c
Normal file
138
src/battle/area_trd_part_2/stage/trd_05d.c
Normal file
@ -0,0 +1,138 @@
|
||||
#include "common.h"
|
||||
#include "battle/battle.h"
|
||||
|
||||
#define NAMESPACE b_area_trd_part_2_trd_05d
|
||||
|
||||
EvtSource N(80234540) = {
|
||||
EVT_SET(LW(10), LW(0))
|
||||
EVT_LABEL(0)
|
||||
EVT_CALL(RotateGroup, LW(10), 2, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RotateGroup, LW(10), -2, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RandInt, 30, LW(0))
|
||||
EVT_ADD(LW(0), 30)
|
||||
EVT_WAIT_FRAMES(LW(0))
|
||||
EVT_GOTO(0)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(80234658) = {
|
||||
EVT_SET(LW(10), LW(0))
|
||||
EVT_LOOP(0)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 0, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(-0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), EVT_FLOAT(-1.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -2, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -3, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -3, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -3, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, EVT_FLOAT(-1.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), EVT_FLOAT(-0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(0.5), 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 0, 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 1, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, EVT_FLOAT(0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 0, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 0, 0, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_END_LOOP
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(beforeBattle_80234C04) = {
|
||||
EVT_CALL(SetSpriteShading, -1)
|
||||
EVT_CALL(SetCamBGColor, 1, 0, 0, 0)
|
||||
EVT_CALL(EnableModel, 10, 0)
|
||||
EVT_CALL(EnableModel, 15, 0)
|
||||
EVT_CALL(EnableModel, 16, 0)
|
||||
EVT_CALL(EnableModel, 17, 0)
|
||||
EVT_CALL(EnableModel, 25, 0)
|
||||
EVT_CALL(EnableModel, 14, 0)
|
||||
EVT_CALL(EnableModel, 27, 0)
|
||||
EVT_THREAD
|
||||
EVT_SET(LW(0), 6)
|
||||
EVT_EXEC(N(80234658))
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_SET(LW(0), 4)
|
||||
EVT_EXEC(N(80234658))
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_SET(LW(0), 2)
|
||||
EVT_EXEC(N(80234658))
|
||||
EVT_END_THREAD
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(afterBattle_80234D48) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
Stage NAMESPACE = {
|
||||
.texture = "trd_tex",
|
||||
.shape = "trd_bt05_shape",
|
||||
.hit = "trd_bt05_hit",
|
||||
.preBattle = N(beforeBattle_80234C04),
|
||||
.postBattle = N(afterBattle_80234D48),
|
||||
};
|
129
src/battle/area_trd_part_2/stage/trd_05e.c
Normal file
129
src/battle/area_trd_part_2/stage/trd_05e.c
Normal file
@ -0,0 +1,129 @@
|
||||
#include "common.h"
|
||||
#include "battle/battle.h"
|
||||
|
||||
#define NAMESPACE b_area_trd_part_2_trd_05e
|
||||
|
||||
EvtSource N(80234D80) = {
|
||||
EVT_SET(LW(10), LW(0))
|
||||
EVT_LABEL(0)
|
||||
EVT_CALL(RotateGroup, LW(10), 2, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RotateGroup, LW(10), -2, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RandInt, 30, LW(0))
|
||||
EVT_ADD(LW(0), 30)
|
||||
EVT_WAIT_FRAMES(LW(0))
|
||||
EVT_GOTO(0)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(80234E98) = {
|
||||
EVT_SET(LW(10), LW(0))
|
||||
EVT_LOOP(0)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 0, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(-0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), EVT_FLOAT(-1.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -2, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -3, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -3, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -3, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, EVT_FLOAT(-1.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), EVT_FLOAT(-0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(0.5), 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 0, 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 1, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, EVT_FLOAT(0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 0, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 0, 0, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_END_LOOP
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(beforeBattle_80235444) = {
|
||||
EVT_CALL(SetSpriteShading, -1)
|
||||
EVT_CALL(SetCamBGColor, 1, 0, 0, 0)
|
||||
EVT_CALL(EnableModel, 27, 0)
|
||||
EVT_CALL(EnableModel, 2, 0)
|
||||
EVT_CALL(EnableModel, 4, 0)
|
||||
EVT_CALL(EnableModel, 6, 0)
|
||||
EVT_CALL(EnableModel, 20, 0)
|
||||
EVT_CALL(EnableModel, 18, 0)
|
||||
EVT_CALL(EnableModel, 19, 0)
|
||||
EVT_CALL(EnableModel, 25, 0)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(afterBattle_80235520) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
Stage NAMESPACE = {
|
||||
.texture = "trd_tex",
|
||||
.shape = "trd_bt05_shape",
|
||||
.hit = "trd_bt05_hit",
|
||||
.preBattle = N(beforeBattle_80235444),
|
||||
.postBattle = N(afterBattle_80235520),
|
||||
};
|
131
src/battle/area_trd_part_2/stage/trd_05f.c
Normal file
131
src/battle/area_trd_part_2/stage/trd_05f.c
Normal file
@ -0,0 +1,131 @@
|
||||
#include "common.h"
|
||||
#include "battle/battle.h"
|
||||
|
||||
#define NAMESPACE b_area_trd_part_2_trd_05f
|
||||
|
||||
EvtSource N(80235560) = {
|
||||
EVT_SET(LW(10), LW(0))
|
||||
EVT_LABEL(0)
|
||||
EVT_CALL(RotateGroup, LW(10), 2, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RotateGroup, LW(10), -2, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RotateGroup, LW(10), 1, 0, 0, 1)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RandInt, 30, LW(0))
|
||||
EVT_ADD(LW(0), 30)
|
||||
EVT_WAIT_FRAMES(LW(0))
|
||||
EVT_GOTO(0)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(80235678) = {
|
||||
EVT_SET(LW(10), LW(0))
|
||||
EVT_LOOP(0)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 0, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(-0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), EVT_FLOAT(-1.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -2, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -3, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -3, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -3, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, EVT_FLOAT(-2.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 3, -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(2.5), -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -2, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, EVT_FLOAT(-1.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 2, -1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(1.5), EVT_FLOAT(-0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, EVT_FLOAT(0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 1, 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(0.5), 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 0, 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 1, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 1, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, EVT_FLOAT(0.5), 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 0, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(TranslateModel, LW(10), -1, 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), EVT_FLOAT(-0.5), 0, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(TranslateModel, LW(10), 0, 0, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_END_LOOP
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(beforeBattle_80235C24) = {
|
||||
EVT_CALL(SetSpriteShading, -1)
|
||||
EVT_CALL(SetCamBGColor, 1, 0, 0, 0)
|
||||
EVT_SET(LW(0), 27)
|
||||
EVT_EXEC(N(80235678))
|
||||
EVT_CALL(EnableModel, 2, 0)
|
||||
EVT_CALL(EnableModel, 4, 0)
|
||||
EVT_CALL(EnableModel, 6, 0)
|
||||
EVT_CALL(EnableModel, 20, 0)
|
||||
EVT_CALL(EnableModel, 18, 0)
|
||||
EVT_CALL(EnableModel, 19, 0)
|
||||
EVT_CALL(EnableModel, 25, 0)
|
||||
EVT_CALL(EnableModel, 15, 0)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(afterBattle_80235D1C) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
Stage NAMESPACE = {
|
||||
.texture = "trd_tex",
|
||||
.shape = "trd_bt05_shape",
|
||||
.hit = "trd_bt05_hit",
|
||||
.preBattle = N(beforeBattle_80235C24),
|
||||
.postBattle = N(afterBattle_80235D1C),
|
||||
};
|
@ -1,94 +0,0 @@
|
||||
#include "common.h"
|
||||
|
||||
#define NAMESPACE b_area_trd_part_3
|
||||
|
||||
extern s32 D_80219040;
|
||||
|
||||
ApiStatus func_80218000_4CF1B0(Evt* script, s32 isInitialCall) {
|
||||
Actor* actor = get_actor(script->owner1.actorID);
|
||||
s32* sym;
|
||||
|
||||
if (isInitialCall) {
|
||||
D_80219040 = 0;
|
||||
}
|
||||
|
||||
sym = &D_80219040;
|
||||
*sym += 15;
|
||||
*sym = clamp_angle(*sym);
|
||||
actor->unk_19A = sin_rad(*sym * TAU / 360.0f) * 3.0f;
|
||||
|
||||
return ApiStatus_BLOCK;
|
||||
}
|
||||
|
||||
ApiStatus func_802180C8_4CF278(Evt* script, s32 isInitialCall) {
|
||||
status_menu_start_blinking_sp();
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_802180E8_4CF298(Evt* script, s32 isInitialCall) {
|
||||
status_menu_stop_blinking_sp();
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_80218108_4CF2B8(Evt* script, s32 isInitialCall) {
|
||||
status_menu_start_blinking_hp();
|
||||
status_menu_start_blinking_fp();
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_80218130_4CF2E0(Evt* script, s32 isInitialCall) {
|
||||
status_menu_stop_blinking_hp();
|
||||
status_menu_stop_blinking_fp();
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_80218158_4CF308(Evt* script, s32 isInitialCall) {
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
|
||||
battleStatus->unk_4C = 0;
|
||||
battleStatus->unk_5C = 0;
|
||||
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_80218170_4CF320(Evt* script, s32 isInitialCall) {
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
|
||||
if (isInitialCall) {
|
||||
script->functionTemp[0] = 10;
|
||||
}
|
||||
|
||||
battleStatus->flags2 &= ~0x2;
|
||||
|
||||
if (script->functionTemp[0] != 0) {
|
||||
script->functionTemp[0]--;
|
||||
return ApiStatus_BLOCK;
|
||||
}
|
||||
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_802181B4_4CF364(Evt* script, s32 isInitialCall) {
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
|
||||
if (isInitialCall) {
|
||||
script->functionTemp[0] = 10;
|
||||
}
|
||||
|
||||
battleStatus->flags2 &= ~0x4;
|
||||
|
||||
if (script->functionTemp[0] != 0) {
|
||||
script->functionTemp[0]--;
|
||||
return ApiStatus_BLOCK;
|
||||
}
|
||||
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_802181F8_4CF3A8(Evt* script, s32 isInitialCall) {
|
||||
PlayerData* playerData = &gPlayerData;
|
||||
|
||||
playerData->specialBarsFilled += 32;
|
||||
|
||||
return ApiStatus_DONE2;
|
||||
}
|
348
src/battle/area_trd_part_3/actor/eldstar.c
Normal file
348
src/battle/area_trd_part_3/actor/eldstar.c
Normal file
@ -0,0 +1,348 @@
|
||||
#include "common.h"
|
||||
#include "effects.h"
|
||||
#include "battle/battle.h"
|
||||
#include "script_api/battle.h"
|
||||
#include "sprite/npc/world_eldstar.h"
|
||||
|
||||
#define NAMESPACE b_area_trd_part_3_eldstar
|
||||
|
||||
extern EvtSource N(init_80218390);
|
||||
extern EvtSource N(takeTurn_80218414);
|
||||
extern EvtSource N(idle_802183E8);
|
||||
extern EvtSource N(handleEvent_80218404);
|
||||
extern EvtSource N(80218424);
|
||||
|
||||
extern s32 D_80219040;
|
||||
|
||||
s32 N(idleAnimations_80218280)[] = {
|
||||
STATUS_NORMAL, NPC_ANIM_world_eldstar_Palette_00_Anim_1,
|
||||
STATUS_END,
|
||||
};
|
||||
|
||||
s32 N(defenseTable_8021828C)[] = {
|
||||
ELEMENT_NORMAL, 0,
|
||||
ELEMENT_END,
|
||||
};
|
||||
|
||||
s32 N(statusTable_80218298)[] = {
|
||||
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,
|
||||
};
|
||||
|
||||
ActorPartDesc N(partsTable_80218344)[] = {
|
||||
{
|
||||
.flags = ACTOR_PART_FLAG_MULTI_TARGET,
|
||||
.index = 1,
|
||||
.posOffset = { 0, 0, 0 },
|
||||
.targetOffset = { 0, 24 },
|
||||
.opacity = 255,
|
||||
.idleAnimations = N(idleAnimations_80218280),
|
||||
.defenseTable = N(defenseTable_8021828C),
|
||||
.eventFlags = ACTOR_EVENT_FLAG_0,
|
||||
.elementImmunityFlags = 0,
|
||||
.unk_1C = 0,
|
||||
},
|
||||
};
|
||||
|
||||
ActorDesc NAMESPACE = {
|
||||
.flags = ACTOR_FLAG_40000 | ACTOR_FLAG_NO_ATTACK,
|
||||
.type = ACTOR_TYPE_ELDSTAR,
|
||||
.level = 99,
|
||||
.maxHP = 99,
|
||||
.partCount = ARRAY_COUNT(N(partsTable_80218344)),
|
||||
.partsData = N(partsTable_80218344),
|
||||
.script = N(init_80218390),
|
||||
.statusTable = N(statusTable_80218298),
|
||||
.escapeChance = 0,
|
||||
.airLiftChance = 0,
|
||||
.spookChance = 0,
|
||||
.baseStatusChance = 0,
|
||||
.upAndAwayChance = 0,
|
||||
.spinSmashReq = 0,
|
||||
.powerBounceChance = 100,
|
||||
.coinReward = 0,
|
||||
.size = { 24, 32 },
|
||||
.hpBarOffset = { 0, 0 },
|
||||
.statusIconOffset = { -10, 20 },
|
||||
.statusMessageOffset = { 10, 20 },
|
||||
};
|
||||
|
||||
EvtSource N(init_80218390) = {
|
||||
EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_ADDR(N(takeTurn_80218414)))
|
||||
EVT_CALL(BindIdle, ACTOR_SELF, EVT_ADDR(N(idle_802183E8)))
|
||||
EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_ADDR(N(handleEvent_80218404)))
|
||||
EVT_EXEC(N(80218424))
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
ApiStatus func_80218000_4CF1B0(Evt* script, s32 isInitialCall) {
|
||||
Actor* actor = get_actor(script->owner1.actorID);
|
||||
s32* sym;
|
||||
|
||||
if (isInitialCall) {
|
||||
D_80219040 = 0;
|
||||
}
|
||||
|
||||
sym = &D_80219040;
|
||||
*sym += 15;
|
||||
*sym = clamp_angle(*sym);
|
||||
actor->unk_19A = sin_rad(*sym * TAU / 360.0f) * 3.0f;
|
||||
|
||||
return ApiStatus_BLOCK;
|
||||
}
|
||||
|
||||
ApiStatus func_802180C8_4CF278(Evt* script, s32 isInitialCall) {
|
||||
status_menu_start_blinking_sp();
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_802180E8_4CF298(Evt* script, s32 isInitialCall) {
|
||||
status_menu_stop_blinking_sp();
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_80218108_4CF2B8(Evt* script, s32 isInitialCall) {
|
||||
status_menu_start_blinking_hp();
|
||||
status_menu_start_blinking_fp();
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_80218130_4CF2E0(Evt* script, s32 isInitialCall) {
|
||||
status_menu_stop_blinking_hp();
|
||||
status_menu_stop_blinking_fp();
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_80218158_4CF308(Evt* script, s32 isInitialCall) {
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
|
||||
battleStatus->unk_4C = 0;
|
||||
battleStatus->unk_5C = 0;
|
||||
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_80218170_4CF320(Evt* script, s32 isInitialCall) {
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
|
||||
if (isInitialCall) {
|
||||
script->functionTemp[0] = 10;
|
||||
}
|
||||
|
||||
battleStatus->flags2 &= ~0x2;
|
||||
|
||||
if (script->functionTemp[0] != 0) {
|
||||
script->functionTemp[0]--;
|
||||
return ApiStatus_BLOCK;
|
||||
}
|
||||
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_802181B4_4CF364(Evt* script, s32 isInitialCall) {
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
|
||||
if (isInitialCall) {
|
||||
script->functionTemp[0] = 10;
|
||||
}
|
||||
|
||||
battleStatus->flags2 &= ~0x4;
|
||||
|
||||
if (script->functionTemp[0] != 0) {
|
||||
script->functionTemp[0]--;
|
||||
return ApiStatus_BLOCK;
|
||||
}
|
||||
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_802181F8_4CF3A8(Evt* script, s32 isInitialCall) {
|
||||
PlayerData* playerData = &gPlayerData;
|
||||
|
||||
playerData->specialBarsFilled += 32;
|
||||
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
EvtSource N(idle_802183E8) = {
|
||||
EVT_CALL(func_80218000_4CF1B0)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(handleEvent_80218404) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(takeTurn_80218414) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(80218424) = {
|
||||
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_2000000, 1)
|
||||
EVT_CALL(func_80218158_4CF308)
|
||||
EVT_CALL(WaitForState, 13)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10002)
|
||||
EVT_WAIT_FRAMES(15)
|
||||
EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, FALSE)
|
||||
EVT_CALL(ActorSpeak, MESSAGE_ID(0x0C, 0x0114), ACTOR_SELF, 1, NPC_ANIM_world_eldstar_Palette_00_Anim_2, NPC_ANIM_world_eldstar_Palette_00_Anim_1)
|
||||
EVT_THREAD
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 1)
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, -110, 100, 0)
|
||||
EVT_CALL(FlyToGoal, ACTOR_SELF, 20, 0, 10)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, 0x01002A)
|
||||
EVT_END_THREAD
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(func_802180C8_4CF278)
|
||||
EVT_WAIT_FRAMES(120)
|
||||
EVT_CALL(func_802180E8_4CF298)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10002)
|
||||
EVT_CALL(SetGoalToHome, ACTOR_SELF)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 1)
|
||||
EVT_CALL(FlyToGoal, ACTOR_SELF, 20, 0, 10)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 0)
|
||||
EVT_CALL(ActorSpeak, MESSAGE_ID(0x0C, 0x0115), ACTOR_SELF, 1, NPC_ANIM_world_eldstar_Palette_00_Anim_2, NPC_ANIM_world_eldstar_Palette_00_Anim_1)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, 0x01002A)
|
||||
EVT_CALL(func_802180C8_4CF278)
|
||||
EVT_WAIT_FRAMES(120)
|
||||
EVT_CALL(func_802180E8_4CF298)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10002)
|
||||
EVT_CALL(ActorSpeak, MESSAGE_ID(0x0C, 0x0116), ACTOR_SELF, 1, NPC_ANIM_world_eldstar_Palette_00_Anim_2, NPC_ANIM_world_eldstar_Palette_00_Anim_1)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(func_8026E020, 256)
|
||||
EVT_CALL(func_8026E038, 2)
|
||||
EVT_CALL(WaitForState, 18)
|
||||
EVT_SET(LW(0), 255)
|
||||
EVT_LOOP(10)
|
||||
EVT_SUB(LW(0), 25)
|
||||
EVT_IF_LT(LW(0), 0)
|
||||
EVT_SET(LW(0), 0)
|
||||
EVT_END_IF
|
||||
EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LW(0))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 0)
|
||||
EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, 1)
|
||||
EVT_THREAD
|
||||
EVT_CALL(func_80218170_4CF320)
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(WaitForState, 22)
|
||||
EVT_SET(LW(0), 0)
|
||||
EVT_LOOP(10)
|
||||
EVT_ADD(LW(0), 25)
|
||||
EVT_IF_GT(LW(0), 255)
|
||||
EVT_SET(LW(0), 255)
|
||||
EVT_END_IF
|
||||
EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LW(0))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255)
|
||||
EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, 0)
|
||||
EVT_CALL(ActorSpeak, MESSAGE_ID(0x0C, 0x0117), ACTOR_SELF, 1, NPC_ANIM_world_eldstar_Palette_00_Anim_2, NPC_ANIM_world_eldstar_Palette_00_Anim_1)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, FALSE)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, 0x01002A)
|
||||
EVT_CALL(func_802180C8_4CF278)
|
||||
EVT_WAIT_FRAMES(120)
|
||||
EVT_CALL(func_802180E8_4CF298)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10002)
|
||||
EVT_CALL(ActorSpeak, MESSAGE_ID(0x0C, 0x0118), ACTOR_SELF, 1, NPC_ANIM_world_eldstar_Palette_00_Anim_2, NPC_ANIM_world_eldstar_Palette_00_Anim_1)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(SetBattleState, 6)
|
||||
EVT_CALL(WaitForState, 5)
|
||||
EVT_WAIT_FRAMES(20)
|
||||
EVT_CALL(ActorSpeak, MESSAGE_ID(0x0C, 0x0119), ACTOR_SELF, 1, NPC_ANIM_world_eldstar_Palette_00_Anim_2, NPC_ANIM_world_eldstar_Palette_00_Anim_1)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, FALSE)
|
||||
EVT_THREAD
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 1)
|
||||
EVT_CALL(SetGoalPos, ACTOR_SELF, -110, 100, 0)
|
||||
EVT_CALL(FlyToGoal, ACTOR_SELF, 20, 0, 10)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, 0x01002A)
|
||||
EVT_END_THREAD
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, 0x01002A)
|
||||
EVT_CALL(func_802180C8_4CF278)
|
||||
EVT_WAIT_FRAMES(120)
|
||||
EVT_CALL(func_802180E8_4CF298)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10002)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10002)
|
||||
EVT_CALL(SetGoalToHome, ACTOR_SELF)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 1)
|
||||
EVT_CALL(FlyToGoal, ACTOR_SELF, 20, 0, 10)
|
||||
EVT_CALL(EnableActorBlur, ACTOR_SELF, 0)
|
||||
EVT_CALL(ActorSpeak, MESSAGE_ID(0x0C, 0x011A), ACTOR_SELF, 1, NPC_ANIM_world_eldstar_Palette_00_Anim_2, NPC_ANIM_world_eldstar_Palette_00_Anim_1)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(ActorSpeak, MESSAGE_ID(0x0C, 0x011B), ACTOR_SELF, 1, NPC_ANIM_world_eldstar_Palette_00_Anim_2, NPC_ANIM_world_eldstar_Palette_00_Anim_1)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(func_8026E020, 256)
|
||||
EVT_CALL(func_8026E038, 1)
|
||||
EVT_CALL(func_80218158_4CF308)
|
||||
EVT_CALL(WaitForState, 18)
|
||||
EVT_SET(LW(0), 255)
|
||||
EVT_LOOP(10)
|
||||
EVT_SUB(LW(0), 25)
|
||||
EVT_IF_LT(LW(0), 0)
|
||||
EVT_SET(LW(0), 0)
|
||||
EVT_END_IF
|
||||
EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LW(0))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 0)
|
||||
EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, 1)
|
||||
EVT_THREAD
|
||||
EVT_CALL(func_80218170_4CF320)
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(WaitForState, 22)
|
||||
EVT_SET(LW(0), 0)
|
||||
EVT_LOOP(10)
|
||||
EVT_ADD(LW(0), 25)
|
||||
EVT_IF_GT(LW(0), 255)
|
||||
EVT_SET(LW(0), 255)
|
||||
EVT_END_IF
|
||||
EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LW(0))
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255)
|
||||
EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, 0)
|
||||
EVT_CALL(ActorSpeak, MESSAGE_ID(0x0C, 0x011C), ACTOR_SELF, 1, NPC_ANIM_world_eldstar_Palette_00_Anim_2, NPC_ANIM_world_eldstar_Palette_00_Anim_1)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, FALSE)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, 0x01002A)
|
||||
EVT_CALL(func_802180C8_4CF278)
|
||||
EVT_WAIT_FRAMES(120)
|
||||
EVT_CALL(func_802180E8_4CF298)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10002)
|
||||
EVT_CALL(ActorSpeak, MESSAGE_ID(0x0C, 0x011D), ACTOR_SELF, 1, NPC_ANIM_world_eldstar_Palette_00_Anim_2, NPC_ANIM_world_eldstar_Palette_00_Anim_1)
|
||||
EVT_CALL(WaitForState, 0)
|
||||
EVT_CALL(SetBattleState, 30)
|
||||
EVT_WAIT_FRAMES(10000)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
23
src/battle/area_trd_part_3/area.c
Normal file
23
src/battle/area_trd_part_3/area.c
Normal file
@ -0,0 +1,23 @@
|
||||
#include "common.h"
|
||||
#include "battle/battle.h"
|
||||
#include "script_api/battle.h"
|
||||
|
||||
#define NAMESPACE b_area_trd_part_3
|
||||
|
||||
extern ActorDesc N(eldstar);
|
||||
|
||||
extern Stage N(nok_01);
|
||||
|
||||
Formation N(formation_00) = {
|
||||
{ .actor = &N(eldstar), .home = { .index = 6 }, .priority = 10 },
|
||||
};
|
||||
|
||||
BattleList N(formationTable) = {
|
||||
BATTLE("ほしのせい レクチャー", N(formation_00), &N(nok_01)),
|
||||
{},
|
||||
};
|
||||
|
||||
StageList N(stageTable) = {
|
||||
{ "nok_01", &N(nok_01) },
|
||||
{},
|
||||
};
|
60
src/battle/area_trd_part_3/stage/nok_01.c
Normal file
60
src/battle/area_trd_part_3/stage/nok_01.c
Normal file
@ -0,0 +1,60 @@
|
||||
#include "common.h"
|
||||
#include "battle/battle.h"
|
||||
|
||||
#define NAMESPACE b_area_trd_part_3_nok_01
|
||||
|
||||
EvtSource N(80218DD0) = {
|
||||
EVT_SET(LW(10), LW(0))
|
||||
EVT_LABEL(0)
|
||||
EVT_CALL(TranslateModel, LW(10), 0, 2, 0)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(TranslateModel, LW(10), 0, 0, 0)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(TranslateModel, LW(10), 0, 2, 0)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(TranslateModel, LW(10), 0, 0, 0)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(RandInt, 30, LW(0))
|
||||
EVT_ADD(LW(0), 30)
|
||||
EVT_WAIT_FRAMES(LW(0))
|
||||
EVT_GOTO(0)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(beforeBattle_80218ED8) = {
|
||||
EVT_CALL(SetSpriteShading, -1)
|
||||
EVT_SET(LW(0), 19)
|
||||
EVT_EXEC(N(80218DD0))
|
||||
EVT_SET(LW(0), 20)
|
||||
EVT_EXEC(N(80218DD0))
|
||||
EVT_SET(LW(0), 21)
|
||||
EVT_EXEC(N(80218DD0))
|
||||
EVT_SET(LW(0), 22)
|
||||
EVT_EXEC(N(80218DD0))
|
||||
EVT_SET(LW(0), 23)
|
||||
EVT_EXEC(N(80218DD0))
|
||||
EVT_SET(LW(0), 24)
|
||||
EVT_EXEC(N(80218DD0))
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(afterBattle_80218FA0) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
s32 N(foregroundModelList_80218FB0)[] = {
|
||||
0x0000001E, 0x0000001D, 0x0000001C, 0x00000000,
|
||||
};
|
||||
|
||||
Stage NAMESPACE = {
|
||||
.texture = "nok_tex",
|
||||
.shape = "nok_bt01_shape",
|
||||
.hit = "nok_bt01_hit",
|
||||
.bg = "nok_bg",
|
||||
.preBattle = N(beforeBattle_80218ED8),
|
||||
.postBattle = N(afterBattle_80218FA0),
|
||||
.foregroundModelList = N(foregroundModelList_80218FB0),
|
||||
};
|
@ -54,14 +54,14 @@ BattleArea gBattleAreas[0x30] = {
|
||||
{
|
||||
AREA(area_trd_part_2),
|
||||
.name = "エリア TRD その2",
|
||||
.battles = 0x8021A5DC,
|
||||
.stages = 0x8021A604,
|
||||
.battles = &b_area_trd_part_2_formationTable,
|
||||
.stages = &b_area_trd_part_2_stageTable,
|
||||
},
|
||||
{
|
||||
AREA(area_trd_part_3),
|
||||
.name = "エリア TRD その3",
|
||||
.battles = 0x8021823C,
|
||||
.stages = 0x80218264,
|
||||
.battles = &b_area_trd_part_3_formationTable,
|
||||
.stages = &b_area_trd_part_3_stageTable,
|
||||
},
|
||||
{
|
||||
AREA(area_iwa),
|
||||
|
@ -169,7 +169,7 @@ typedef enum ActorType {
|
||||
ACTOR_TYPE_RED_NINJAKOOPA = 0x9C,
|
||||
ACTOR_TYPE_BLUE_NINJAKOOPA = 0x9D,
|
||||
ACTOR_TYPE_YELLOW_NINJAKOOPA = 0x9E,
|
||||
ACTOR_TYPE_GOOMBARIO_TUTOR2 = 0x9F,
|
||||
ACTOR_TYPE_ELDSTAR = 0x9F,
|
||||
ACTOR_TYPE_BUZZAR = 0xA0,
|
||||
ACTOR_TYPE_TUTANKOOPA = 0xA1,
|
||||
ACTOR_TYPE_CHOMP = 0xA2,
|
||||
|
@ -25,4 +25,10 @@ extern StageList b_area_nok_stageTable;
|
||||
extern BattleList b_area_trd_part_1_formationTable;
|
||||
extern StageList b_area_trd_part_1_stageTable;
|
||||
|
||||
extern BattleList b_area_trd_part_2_formationTable;
|
||||
extern StageList b_area_trd_part_2_stageTable;
|
||||
|
||||
extern BattleList b_area_trd_part_3_formationTable;
|
||||
extern StageList b_area_trd_part_3_stageTable;
|
||||
|
||||
#endif
|
||||
|
@ -1,5 +0,0 @@
|
||||
#include "common.h"
|
||||
|
||||
#define NAMESPACE battle_move_auto_jump
|
||||
|
||||
#include "world/common/UnkMoveFunc1.inc.c"
|
555
src/battle/move/auto_jump/auto_jump.c
Normal file
555
src/battle/move/auto_jump/auto_jump.c
Normal file
@ -0,0 +1,555 @@
|
||||
#include "common.h"
|
||||
#include "script_api/battle.h"
|
||||
#include "battle/action_cmd/jump.h"
|
||||
|
||||
#define NAMESPACE battle_move_auto_jump
|
||||
|
||||
extern EvtSource D_802A26BC_7672DC;
|
||||
extern EvtSource D_802A2A30_767650;
|
||||
extern EvtSource D_802A2D5C_76797C;
|
||||
|
||||
s32 N(D_802A10F0)[] = {
|
||||
9, 3, 9, 3, 9, 3, 8, 3,
|
||||
7, 3, 6, 2, 5, 2, 4, 2,
|
||||
};
|
||||
|
||||
#include "world/common/UnkMoveFunc1.inc.c"
|
||||
|
||||
EvtSource D_802A1130_765D50 = {
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_BEFORE_JUMP)
|
||||
EVT_LOOP(5)
|
||||
EVT_CALL(CheckButtonPress, A_BUTTON, LW(0))
|
||||
EVT_IF_EQ(LW(0), TRUE)
|
||||
EVT_BREAK_LOOP
|
||||
EVT_END_IF
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource D_802A11AC_765DCC = {
|
||||
EVT_CALL(SetGoalToFirstTarget, ACTOR_SELF)
|
||||
EVT_CALL(GetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_SUB(LW(0), 40)
|
||||
EVT_CALL(InitTargetIterator)
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_PLAYER)
|
||||
EVT_CALL(GetGoalPos, ACTOR_PLAYER, LW(3), LW(4), LW(5))
|
||||
EVT_SUB(LW(3), EVT_FLOAT(70.0))
|
||||
EVT_IF_LT(LW(0), LW(3))
|
||||
EVT_SET(LW(3), LW(0))
|
||||
EVT_END_IF
|
||||
EVT_CALL(SetGoalPos, ACTOR_PLAYER, LW(3), LW(4), LW(5))
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_26)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(5.0))
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_RUNNING)
|
||||
EVT_CALL(CancelablePlayerRunToGoal, 0, LW(0))
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10002)
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_PLAYER)
|
||||
EVT_EXEC_WAIT(D_802A1130_765D50)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_BEFORE_JUMP)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource D_802A1320_765F40 = {
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_PLAYER)
|
||||
EVT_CALL(GetGoalPos, ACTOR_PLAYER, LW(6), LW(7), LW(8))
|
||||
EVT_CALL(GetActorPos, ACTOR_PLAYER, LW(7), LW(8), LW(9))
|
||||
EVT_IF_GT(LW(6), LW(7))
|
||||
EVT_SUB(LW(6), LW(7))
|
||||
EVT_ELSE
|
||||
EVT_SUB(LW(7), LW(6))
|
||||
EVT_SET(LW(6), LW(7))
|
||||
EVT_END_IF
|
||||
EVT_SUB(LW(6), 20)
|
||||
EVT_DIVF(LW(6), EVT_FLOAT(10.5888671875))
|
||||
EVT_ADDF(LW(6), 15)
|
||||
EVT_SET(LW(10), LW(6))
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource D_802A1408_766028 = {
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_PLAYER)
|
||||
EVT_CALL(GetGoalPos, ACTOR_PLAYER, LW(6), LW(7), LW(8))
|
||||
EVT_CALL(GetActorPos, ACTOR_PLAYER, LW(7), LW(8), LW(9))
|
||||
EVT_IF_GT(LW(6), LW(7))
|
||||
EVT_SUB(LW(6), LW(7))
|
||||
EVT_ELSE
|
||||
EVT_SUB(LW(7), LW(6))
|
||||
EVT_SET(LW(6), LW(7))
|
||||
EVT_END_IF
|
||||
EVT_SUB(LW(6), 20)
|
||||
EVT_DIVF(LW(6), EVT_FLOAT(22.5))
|
||||
EVT_ADDF(LW(6), 15)
|
||||
EVT_SET(LW(10), LW(6))
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource D_802A14F0_766110 = {
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_PLAYER)
|
||||
EVT_CALL(GetGoalPos, ACTOR_PLAYER, LW(6), LW(7), LW(8))
|
||||
EVT_CALL(GetActorPos, ACTOR_PLAYER, LW(7), LW(8), LW(9))
|
||||
EVT_IF_GT(LW(6), LW(7))
|
||||
EVT_SUB(LW(6), LW(7))
|
||||
EVT_ELSE
|
||||
EVT_SUB(LW(7), LW(6))
|
||||
EVT_SET(LW(6), LW(7))
|
||||
EVT_END_IF
|
||||
EVT_SUB(LW(6), 20)
|
||||
EVT_DIVF(LW(6), EVT_FLOAT(18.0))
|
||||
EVT_ADDF(LW(6), 22)
|
||||
EVT_SET(LW(10), LW(6))
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource D_802A15D8_7661F8 = {
|
||||
EVT_CALL(func_80276EFC)
|
||||
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_100, 0)
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_D)
|
||||
EVT_CALL(func_802693F0)
|
||||
EVT_CALL(SetGoalToHome, ACTOR_PLAYER)
|
||||
EVT_CALL(GetGoalPos, ACTOR_PLAYER, LW(0), LW(1), LW(2))
|
||||
EVT_ADD(LW(0), 40)
|
||||
EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, ANIM_MIDAIR_STILL, ANIM_MIDAIR, ANIM_10009)
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_PLAYER, EVT_FLOAT(1.30078125))
|
||||
EVT_CALL(SetGoalPos, ACTOR_PLAYER, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkMoveFunc1))
|
||||
EVT_CALL(func_80273444, LW(0), 0, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10009)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(AddGoalPos, ACTOR_PLAYER, -20, 0, 0)
|
||||
EVT_CALL(func_80273444, 6, 0, 2)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10009)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(EnablePlayerBlur, -1)
|
||||
EVT_CALL(SetGoalToHome, ACTOR_PLAYER)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(8.0))
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_RUNNING)
|
||||
EVT_CALL(PlayerRunToGoal, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10002)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource D_802A17C4 = {
|
||||
EVT_CALL(func_80276EFC)
|
||||
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_100, 0)
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_D)
|
||||
EVT_CALL(func_802693F0)
|
||||
EVT_CALL(GetActorPos, ACTOR_PLAYER, LW(0), LW(1), LW(2))
|
||||
EVT_SUB(LW(0), 50)
|
||||
EVT_SET(LW(1), 0)
|
||||
EVT_CALL(SetGoalPos, ACTOR_PLAYER, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, ANIM_MIDAIR_STILL, ANIM_MIDAIR, ANIM_10009)
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_PLAYER, EVT_FLOAT(0.80078125))
|
||||
EVT_CALL(N(UnkMoveFunc1))
|
||||
EVT_CALL(func_80273444, LW(0), 0, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10009)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(AddGoalPos, ACTOR_PLAYER, -30, 0, 0)
|
||||
EVT_CALL(func_80273444, 6, 0, 2)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10009)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(EnablePlayerBlur, -1)
|
||||
EVT_CALL(SetGoalToHome, ACTOR_PLAYER)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(8.0))
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_RUNNING)
|
||||
EVT_CALL(PlayerRunToGoal, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10002)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource D_802A19B0 = {
|
||||
EVT_CALL(func_80276EFC)
|
||||
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_100, 0)
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_29)
|
||||
EVT_CALL(func_802693F0)
|
||||
EVT_CALL(GetActorPos, ACTOR_PLAYER, LW(0), LW(1), LW(2))
|
||||
EVT_SUB(LW(0), 40)
|
||||
EVT_SET(LW(1), 0)
|
||||
EVT_CALL(SetGoalPos, ACTOR_PLAYER, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, ANIM_MIDAIR_STILL, ANIM_MIDAIR, ANIM_10009)
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_PLAYER, EVT_FLOAT(1.0))
|
||||
EVT_CALL(N(UnkMoveFunc1))
|
||||
EVT_CALL(func_80273444, LW(0), 0, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10009)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(AddGoalPos, ACTOR_PLAYER, -20, 0, 0)
|
||||
EVT_CALL(func_80273444, 6, 0, 2)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10009)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(EnablePlayerBlur, -1)
|
||||
EVT_CALL(SetGoalToHome, ACTOR_PLAYER)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(8.0))
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_RUNNING)
|
||||
EVT_CALL(PlayerRunToGoal, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10002)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource D_802A1B9C = {
|
||||
EVT_CALL(func_80276EFC)
|
||||
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_100, 0)
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_D)
|
||||
EVT_CALL(func_802693F0)
|
||||
EVT_CALL(GetActorPos, ACTOR_PLAYER, LW(0), LW(1), LW(2))
|
||||
EVT_SUB(LW(0), 60)
|
||||
EVT_SET(LW(1), 0)
|
||||
EVT_CALL(SetGoalPos, ACTOR_PLAYER, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, ANIM_MIDAIR_STILL, ANIM_MIDAIR, ANIM_10009)
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_PLAYER, EVT_FLOAT(0.80078125))
|
||||
EVT_CALL(N(UnkMoveFunc1))
|
||||
EVT_CALL(func_80273444, LW(0), 0, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10009)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(AddGoalPos, ACTOR_PLAYER, -20, 0, 0)
|
||||
EVT_CALL(func_80273444, 6, 0, 2)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10009)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(EnablePlayerBlur, -1)
|
||||
EVT_CALL(SetGoalToHome, ACTOR_PLAYER)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(8.0))
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_RUNNING)
|
||||
EVT_CALL(PlayerRunToGoal, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10002)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource D_802A1D88 = {
|
||||
EVT_CALL(func_80276EFC)
|
||||
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_100, 0)
|
||||
EVT_CALL(EnablePlayerBlur, -1)
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_D)
|
||||
EVT_CALL(func_802693F0)
|
||||
EVT_CALL(SetGoalToHome, ACTOR_PLAYER)
|
||||
EVT_CALL(GetGoalPos, ACTOR_PLAYER, LW(0), LW(1), LW(2))
|
||||
EVT_ADD(LW(0), 60)
|
||||
EVT_SET(LW(1), 0)
|
||||
EVT_CALL(SetGoalPos, ACTOR_PLAYER, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_PLAYER, EVT_FLOAT(1.0))
|
||||
EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, ANIM_FALL_BACK, ANIM_FALL_BACK, ANIM_10009)
|
||||
EVT_CALL(N(UnkMoveFunc1))
|
||||
EVT_CALL(func_80273444, LW(0), 0, 0)
|
||||
EVT_CHILD_THREAD
|
||||
EVT_CALL(ShakeCam, 1, 0, 4, EVT_FLOAT(1.0))
|
||||
EVT_END_CHILD_THREAD
|
||||
EVT_CALL(AddGoalPos, ACTOR_PLAYER, -30, 0, 0)
|
||||
EVT_CALL(func_80273444, 8, 0, 2)
|
||||
EVT_CHILD_THREAD
|
||||
EVT_CALL(ShakeCam, 1, 0, 4, EVT_FLOAT(1.0))
|
||||
EVT_END_CHILD_THREAD
|
||||
EVT_CALL(AddGoalPos, ACTOR_PLAYER, -20, 0, 0)
|
||||
EVT_CALL(SetGoalPos, ACTOR_PLAYER, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(func_80273444, 6, 0, 2)
|
||||
EVT_CHILD_THREAD
|
||||
EVT_CALL(ShakeCam, 1, 0, 4, EVT_FLOAT(1.0))
|
||||
EVT_END_CHILD_THREAD
|
||||
EVT_CALL(SetGoalToHome, ACTOR_PLAYER)
|
||||
EVT_CALL(func_80273444, 4, 0, 2)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10002)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource D_802A1FEC_766C0C = {
|
||||
EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, 0, 0, 65548)
|
||||
EVT_CALL(PlayerLandJump)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, 0x01000C)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CHILD_THREAD
|
||||
EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(1.0))
|
||||
EVT_END_CHILD_THREAD
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_162)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_GET_UP)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_DUST_OFF)
|
||||
EVT_WAIT_FRAMES(20)
|
||||
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_100, 0)
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_D)
|
||||
EVT_CALL(func_802693F0)
|
||||
EVT_CALL(EnablePlayerBlur, -1)
|
||||
EVT_CALL(func_80276EFC)
|
||||
EVT_CALL(SetGoalToHome, ACTOR_PLAYER)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(8.0))
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_RUNNING)
|
||||
EVT_CALL(PlayerRunToGoal, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10002)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource D_802A2184_766DA4 = {
|
||||
EVT_CALL(LoadActionCommand, ACTION_COMMAND_JUMP)
|
||||
EVT_CALL(action_command_jump_CreateHudElements)
|
||||
EVT_EXEC_WAIT(D_802A11AC_765DCC)
|
||||
EVT_EXEC_WAIT(D_802A1320_765F40)
|
||||
EVT_CALL(func_802A9120_421B10, LW(10), 3)
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_34)
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_PLAYER)
|
||||
EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, ANIM_MIDAIR_STILL, ANIM_MIDAIR, 196608)
|
||||
EVT_CALL(func_80274A18, LW(10), 0)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource D_802A2230 = {
|
||||
EVT_CALL(LoadActionCommand, ACTION_COMMAND_JUMP)
|
||||
EVT_CALL(action_command_jump_CreateHudElements)
|
||||
EVT_EXEC_WAIT(D_802A11AC_765DCC)
|
||||
EVT_CALL(InitTargetIterator)
|
||||
EVT_EXEC_WAIT(D_802A1408_766028)
|
||||
EVT_SET(LW(11), LW(10))
|
||||
EVT_ADD(LW(11), 14)
|
||||
EVT_ADD(LW(11), -3)
|
||||
EVT_CALL(func_802A9120_421B10, LW(11), 3)
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_37)
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_PLAYER)
|
||||
EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, ANIM_MIDAIR_STILL, ANIM_1000A, ANIM_1000B)
|
||||
EVT_CALL(func_802752AC, LW(10), 0)
|
||||
EVT_WAIT_FRAMES(7)
|
||||
EVT_CALL(DidActionSucceed, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_GT(0)
|
||||
EVT_CALL(func_802752AC, 3, 1)
|
||||
EVT_CASE_DEFAULT
|
||||
EVT_CALL(func_802752AC, 5, 1)
|
||||
EVT_END_SWITCH
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource D_802A2384 = {
|
||||
EVT_CALL(LoadActionCommand, ACTION_COMMAND_JUMP)
|
||||
EVT_CALL(action_command_jump_CreateHudElements)
|
||||
EVT_EXEC_WAIT(D_802A11AC_765DCC)
|
||||
EVT_EXEC_WAIT(D_802A14F0_766110)
|
||||
EVT_CALL(func_8026919C, EVT_ADDR(N(D_802A10F0)))
|
||||
EVT_SET(LW(11), LW(10))
|
||||
EVT_SUB(LW(11), 4)
|
||||
EVT_ADD(LW(11), -3)
|
||||
EVT_CALL(func_802A9120_421B10, LW(11), 3)
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_38)
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_PLAYER)
|
||||
EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, ANIM_MIDAIR_STILL, 524288, 196608)
|
||||
EVT_CALL(func_80275F00, LW(10), 0)
|
||||
EVT_CALL(CloseActionCommandInfo)
|
||||
EVT_SET(LW(9), 0)
|
||||
EVT_CALL(DidActionSucceed, LW(0))
|
||||
EVT_IF_GT(LW(0), 0)
|
||||
EVT_SET(LW(9), 1)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, 0x030000)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(LoadActionCommand, ACTION_COMMAND_JUMP)
|
||||
EVT_CALL(action_command_jump_CreateHudElements)
|
||||
EVT_CALL(func_802A9120_421B10, 13, 3)
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_39)
|
||||
EVT_CALL(func_80275F00, 15, 2)
|
||||
EVT_GOTO(10)
|
||||
EVT_ELSE
|
||||
EVT_CALL(LoadActionCommand, ACTION_COMMAND_JUMP)
|
||||
EVT_CALL(action_command_jump_CreateHudElements)
|
||||
EVT_CALL(func_802A9120_421B10, 2, 3)
|
||||
EVT_CALL(func_80275F00, 4, 1)
|
||||
EVT_GOTO(10)
|
||||
EVT_END_IF
|
||||
EVT_LABEL(10)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource D_802A2600 = {
|
||||
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_1000, 1)
|
||||
EVT_CALL(func_802694A4, 0)
|
||||
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_100, 1)
|
||||
EVT_CALL(GetMenuSelection, LW(0), LW(1), LW(2))
|
||||
EVT_SWITCH(LW(1))
|
||||
EVT_CASE_EQ(0)
|
||||
EVT_EXEC_WAIT(D_802A26BC_7672DC)
|
||||
EVT_CASE_EQ(1)
|
||||
EVT_EXEC_WAIT(D_802A2A30_767650)
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_EXEC_WAIT(D_802A2D5C_76797C)
|
||||
EVT_END_SWITCH
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource D_802A26BC_7672DC = {
|
||||
EVT_EXEC_WAIT(D_802A2184_766DA4)
|
||||
EVT_CALL(GetActionCommandMode, LW(0))
|
||||
EVT_IF_EQ(LW(0), 2)
|
||||
EVT_CALL(SetActionCommandMode, 3)
|
||||
EVT_LOOP(0)
|
||||
EVT_CALL(GetActionCommandMode, LW(0))
|
||||
EVT_IF_LT(LW(0), 2)
|
||||
EVT_BREAK_LOOP
|
||||
EVT_END_IF
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_END_IF
|
||||
EVT_CALL(PlayerTestEnemy, LW(0), 128, 0, 0, 1, 0)
|
||||
EVT_IF_EQ(LW(0), 6)
|
||||
EVT_EXEC_WAIT(D_802A1FEC_766C0C)
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(DidActionSucceed, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_GT(0)
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 346, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 128, 0, 0, 1, 80)
|
||||
EVT_CASE_DEFAULT
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 346, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 128, 0, 0, 1, 48)
|
||||
EVT_END_SWITCH
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(0)
|
||||
EVT_CASE_OR_EQ(2)
|
||||
EVT_EXEC_WAIT(D_802A19B0)
|
||||
EVT_RETURN
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_CASE_OR_EQ(1)
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CHILD_THREAD
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_27)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_PLAYER)
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_35)
|
||||
EVT_END_CHILD_THREAD
|
||||
EVT_CALL(func_80269524, LW(15))
|
||||
EVT_CALL(CloseActionCommandInfo)
|
||||
EVT_CALL(LoadActionCommand, ACTION_COMMAND_JUMP)
|
||||
EVT_CALL(action_command_jump_CreateHudElements)
|
||||
EVT_CALL(func_802694A4, 0)
|
||||
EVT_CALL(func_802A9120_421B10, 24, 3)
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_PLAYER)
|
||||
EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, ANIM_MIDAIR_STILL, ANIM_MIDAIR, 65548)
|
||||
EVT_CALL(func_80274A18, 24, 3)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 346, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 128, 0, 0, 1, 224)
|
||||
EVT_CALL(func_80269550, LW(15))
|
||||
EVT_EXEC_WAIT(D_802A15D8_7661F8)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource D_802A2A30_767650 = {
|
||||
EVT_EXEC_WAIT(D_802A2184_766DA4)
|
||||
EVT_CALL(PlayerTestEnemy, LW(0), 128, 0, 0, 1, 0)
|
||||
EVT_IF_EQ(LW(0), 6)
|
||||
EVT_EXEC_WAIT(D_802A1FEC_766C0C)
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(DidActionSucceed, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_GT(0)
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 347, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 128, 0, 0, 2, 80)
|
||||
EVT_CASE_DEFAULT
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 347, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 128, 0, 0, 2, 48)
|
||||
EVT_END_SWITCH
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(0)
|
||||
EVT_CASE_OR_EQ(2)
|
||||
EVT_EXEC_WAIT(D_802A19B0)
|
||||
EVT_RETURN
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_CASE_OR_EQ(1)
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(func_80269524, LW(15))
|
||||
EVT_CHILD_THREAD
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_27)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_PLAYER)
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_35)
|
||||
EVT_END_CHILD_THREAD
|
||||
EVT_CALL(CloseActionCommandInfo)
|
||||
EVT_CALL(LoadActionCommand, ACTION_COMMAND_JUMP)
|
||||
EVT_CALL(action_command_jump_CreateHudElements)
|
||||
EVT_CALL(func_802694A4, 0)
|
||||
EVT_CALL(func_802A9120_421B10, 37, 3)
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_PLAYER)
|
||||
EVT_CALL(EnablePlayerBlur, 1)
|
||||
EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, ANIM_MIDAIR_STILL, 65546, 65547)
|
||||
EVT_CALL(func_802752AC, 20, 4)
|
||||
EVT_WAIT_FRAMES(7)
|
||||
EVT_CALL(func_802752AC, 3, 5)
|
||||
EVT_CALL(EnablePlayerBlur, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 347, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 128, 0, 0, 2, 224)
|
||||
EVT_CALL(func_80269550, LW(15))
|
||||
EVT_EXEC_WAIT(D_802A15D8_7661F8)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource D_802A2D5C_76797C = {
|
||||
EVT_EXEC_WAIT(D_802A2184_766DA4)
|
||||
EVT_CALL(PlayerTestEnemy, LW(0), 128, 0, 0, 1, 0)
|
||||
EVT_IF_EQ(LW(0), 6)
|
||||
EVT_EXEC_WAIT(D_802A1FEC_766C0C)
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(DidActionSucceed, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_GT(0)
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 348, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 128, 0, 0, 3, 80)
|
||||
EVT_CASE_DEFAULT
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 348, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 128, 0, 0, 3, 48)
|
||||
EVT_END_SWITCH
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(0)
|
||||
EVT_CASE_OR_EQ(2)
|
||||
EVT_EXEC_WAIT(D_802A19B0)
|
||||
EVT_RETURN
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_CASE_OR_EQ(1)
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(func_80269524, LW(15))
|
||||
EVT_CHILD_THREAD
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_28)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_PLAYER)
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_35)
|
||||
EVT_END_CHILD_THREAD
|
||||
EVT_CALL(CloseActionCommandInfo)
|
||||
EVT_CALL(LoadActionCommand, ACTION_COMMAND_JUMP)
|
||||
EVT_CALL(action_command_jump_CreateHudElements)
|
||||
EVT_CALL(func_802694A4, 0)
|
||||
EVT_CALL(func_802A9120_421B10, 25, 3)
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_PLAYER)
|
||||
EVT_CALL(EnablePlayerBlur, 1)
|
||||
EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, ANIM_MIDAIR_STILL, ANIM_MIDAIR_STILL, ANIM_1000C)
|
||||
EVT_CALL(func_80275F00, 25, 4)
|
||||
EVT_CALL(EnablePlayerBlur, 0)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 348, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 128, 0, 0, 3, 224)
|
||||
EVT_CALL(func_80269550, LW(15))
|
||||
EVT_EXEC_WAIT(D_802A15D8_7661F8)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
@ -1,5 +0,0 @@
|
||||
#include "common.h"
|
||||
|
||||
#define NAMESPACE battle_move_auto_multibounce
|
||||
|
||||
#include "world/common/UnkMoveFunc1.inc.c"
|
813
src/battle/move/auto_multibounce/auto_multibounce.c
Normal file
813
src/battle/move/auto_multibounce/auto_multibounce.c
Normal file
@ -0,0 +1,813 @@
|
||||
#include "common.h"
|
||||
#include "script_api/battle.h"
|
||||
#include "battle/action_cmd/jump.h"
|
||||
|
||||
#define NAMESPACE battle_move_auto_multibounce
|
||||
|
||||
extern EvtSource N(D_802A26A8);
|
||||
extern EvtSource N(D_802A2EC0);
|
||||
extern EvtSource N(D_802A372C);
|
||||
|
||||
s32 N(D_802A10F0)[] = {
|
||||
9, 3, 9, 3, 9, 3, 8, 3,
|
||||
7, 3, 6, 2, 5, 2, 4, 2,
|
||||
};
|
||||
|
||||
#include "world/common/UnkMoveFunc1.inc.c"
|
||||
|
||||
EvtSource N(CheckForAPress) = {
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_BEFORE_JUMP)
|
||||
EVT_LOOP(5)
|
||||
EVT_CALL(CheckButtonPress, 32768, LW(0))
|
||||
EVT_IF_EQ(LW(0), 1)
|
||||
EVT_BREAK_LOOP
|
||||
EVT_END_IF
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_END_LOOP
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(D_802A11AC) = {
|
||||
EVT_CALL(SetGoalToFirstTarget, ACTOR_SELF)
|
||||
EVT_CALL(GetGoalPos, ACTOR_SELF, LW(0), LW(1), LW(2))
|
||||
EVT_SUB(LW(0), 40)
|
||||
EVT_CALL(InitTargetIterator)
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_PLAYER)
|
||||
EVT_CALL(GetGoalPos, ACTOR_PLAYER, LW(3), LW(4), LW(5))
|
||||
EVT_SUB(LW(3), EVT_FLOAT(70.0))
|
||||
EVT_IF_LT(LW(0), LW(3))
|
||||
EVT_SET(LW(3), LW(0))
|
||||
EVT_END_IF
|
||||
EVT_CALL(SetGoalPos, ACTOR_PLAYER, LW(3), LW(4), LW(5))
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_26)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(5.0))
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_RUNNING)
|
||||
EVT_CALL(CancelablePlayerRunToGoal, 0, LW(0))
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10002)
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_PLAYER)
|
||||
EVT_EXEC_WAIT(N(CheckForAPress))
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_BEFORE_JUMP)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(D_802A1320) = {
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_PLAYER)
|
||||
EVT_CALL(GetGoalPos, ACTOR_PLAYER, LW(6), LW(7), LW(8))
|
||||
EVT_CALL(GetActorPos, ACTOR_PLAYER, LW(7), LW(8), LW(9))
|
||||
EVT_IF_GT(LW(6), LW(7))
|
||||
EVT_SUB(LW(6), LW(7))
|
||||
EVT_ELSE
|
||||
EVT_SUB(LW(7), LW(6))
|
||||
EVT_SET(LW(6), LW(7))
|
||||
EVT_END_IF
|
||||
EVT_SUB(LW(6), 20)
|
||||
EVT_DIVF(LW(6), EVT_FLOAT(10.5888671875))
|
||||
EVT_ADDF(LW(6), 15)
|
||||
EVT_SET(LW(10), LW(6))
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(D_802A1408) = {
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_PLAYER)
|
||||
EVT_CALL(GetGoalPos, ACTOR_PLAYER, LW(6), LW(7), LW(8))
|
||||
EVT_CALL(GetActorPos, ACTOR_PLAYER, LW(7), LW(8), LW(9))
|
||||
EVT_IF_GT(LW(6), LW(7))
|
||||
EVT_SUB(LW(6), LW(7))
|
||||
EVT_ELSE
|
||||
EVT_SUB(LW(7), LW(6))
|
||||
EVT_SET(LW(6), LW(7))
|
||||
EVT_END_IF
|
||||
EVT_SUB(LW(6), 20)
|
||||
EVT_DIVF(LW(6), EVT_FLOAT(22.5))
|
||||
EVT_ADDF(LW(6), 15)
|
||||
EVT_SET(LW(10), LW(6))
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(D_802A14F0) = {
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_PLAYER)
|
||||
EVT_CALL(GetGoalPos, ACTOR_PLAYER, LW(6), LW(7), LW(8))
|
||||
EVT_CALL(GetActorPos, ACTOR_PLAYER, LW(7), LW(8), LW(9))
|
||||
EVT_IF_GT(LW(6), LW(7))
|
||||
EVT_SUB(LW(6), LW(7))
|
||||
EVT_ELSE
|
||||
EVT_SUB(LW(7), LW(6))
|
||||
EVT_SET(LW(6), LW(7))
|
||||
EVT_END_IF
|
||||
EVT_SUB(LW(6), 20)
|
||||
EVT_DIVF(LW(6), EVT_FLOAT(18.0))
|
||||
EVT_ADDF(LW(6), 22)
|
||||
EVT_SET(LW(10), LW(6))
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(D_802A15D8) = {
|
||||
EVT_CALL(func_80276EFC)
|
||||
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_100, 0)
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_D)
|
||||
EVT_CALL(func_802693F0)
|
||||
EVT_CALL(SetGoalToHome, ACTOR_PLAYER)
|
||||
EVT_CALL(GetGoalPos, ACTOR_PLAYER, LW(0), LW(1), LW(2))
|
||||
EVT_ADD(LW(0), 40)
|
||||
EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, ANIM_MIDAIR_STILL, ANIM_MIDAIR, ANIM_10009)
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_PLAYER, EVT_FLOAT(1.30078125))
|
||||
EVT_CALL(SetGoalPos, ACTOR_PLAYER, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(N(UnkMoveFunc1))
|
||||
EVT_CALL(func_80273444, LW(0), 0, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10009)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(AddGoalPos, ACTOR_PLAYER, -20, 0, 0)
|
||||
EVT_CALL(func_80273444, 6, 0, 2)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10009)
|
||||
EVT_WAIT_FRAMES(5)
|
||||
EVT_CALL(EnablePlayerBlur, -1)
|
||||
EVT_CALL(SetGoalToHome, ACTOR_PLAYER)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(8.0))
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_RUNNING)
|
||||
EVT_CALL(PlayerRunToGoal, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10002)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(D_802A17C4) = {
|
||||
EVT_CALL(func_80276EFC)
|
||||
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_100, 0)
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_D)
|
||||
EVT_CALL(func_802693F0)
|
||||
EVT_CALL(GetActorPos, ACTOR_PLAYER, LW(0), LW(1), LW(2))
|
||||
EVT_SUB(LW(0), 50)
|
||||
EVT_SET(LW(1), 0)
|
||||
EVT_CALL(SetGoalPos, ACTOR_PLAYER, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, ANIM_MIDAIR_STILL, ANIM_MIDAIR, ANIM_10009)
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_PLAYER, EVT_FLOAT(0.80078125))
|
||||
EVT_CALL(N(UnkMoveFunc1))
|
||||
EVT_CALL(func_80273444, LW(0), 0, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10009)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(AddGoalPos, ACTOR_PLAYER, -30, 0, 0)
|
||||
EVT_CALL(func_80273444, 6, 0, 2)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10009)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(EnablePlayerBlur, -1)
|
||||
EVT_CALL(SetGoalToHome, ACTOR_PLAYER)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(8.0))
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_RUNNING)
|
||||
EVT_CALL(PlayerRunToGoal, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10002)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(D_802A19B0) = {
|
||||
EVT_CALL(func_80276EFC)
|
||||
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_100, 0)
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_29)
|
||||
EVT_CALL(func_802693F0)
|
||||
EVT_CALL(GetActorPos, ACTOR_PLAYER, LW(0), LW(1), LW(2))
|
||||
EVT_SUB(LW(0), 40)
|
||||
EVT_SET(LW(1), 0)
|
||||
EVT_CALL(SetGoalPos, ACTOR_PLAYER, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, ANIM_MIDAIR_STILL, ANIM_MIDAIR, ANIM_10009)
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_PLAYER, EVT_FLOAT(1.0))
|
||||
EVT_CALL(N(UnkMoveFunc1))
|
||||
EVT_CALL(func_80273444, LW(0), 0, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10009)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(AddGoalPos, ACTOR_PLAYER, -20, 0, 0)
|
||||
EVT_CALL(func_80273444, 6, 0, 2)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10009)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(EnablePlayerBlur, -1)
|
||||
EVT_CALL(SetGoalToHome, ACTOR_PLAYER)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(8.0))
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_RUNNING)
|
||||
EVT_CALL(PlayerRunToGoal, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10002)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(D_802A1B9C) = {
|
||||
EVT_CALL(func_80276EFC)
|
||||
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_100, 0)
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_D)
|
||||
EVT_CALL(func_802693F0)
|
||||
EVT_CALL(GetActorPos, ACTOR_PLAYER, LW(0), LW(1), LW(2))
|
||||
EVT_SUB(LW(0), 60)
|
||||
EVT_SET(LW(1), 0)
|
||||
EVT_CALL(SetGoalPos, ACTOR_PLAYER, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, ANIM_MIDAIR_STILL, ANIM_MIDAIR, ANIM_10009)
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_PLAYER, EVT_FLOAT(0.80078125))
|
||||
EVT_CALL(N(UnkMoveFunc1))
|
||||
EVT_CALL(func_80273444, LW(0), 0, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10009)
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(AddGoalPos, ACTOR_PLAYER, -20, 0, 0)
|
||||
EVT_CALL(func_80273444, 6, 0, 2)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10009)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(EnablePlayerBlur, -1)
|
||||
EVT_CALL(SetGoalToHome, ACTOR_PLAYER)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(8.0))
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_RUNNING)
|
||||
EVT_CALL(PlayerRunToGoal, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10002)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(D_802A1D88) = {
|
||||
EVT_CALL(func_80276EFC)
|
||||
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_100, 0)
|
||||
EVT_CALL(EnablePlayerBlur, -1)
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_D)
|
||||
EVT_CALL(func_802693F0)
|
||||
EVT_CALL(SetGoalToHome, ACTOR_PLAYER)
|
||||
EVT_CALL(GetGoalPos, ACTOR_PLAYER, LW(0), LW(1), LW(2))
|
||||
EVT_ADD(LW(0), 60)
|
||||
EVT_SET(LW(1), 0)
|
||||
EVT_CALL(SetGoalPos, ACTOR_PLAYER, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(SetActorJumpGravity, ACTOR_PLAYER, EVT_FLOAT(1.0))
|
||||
EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, ANIM_FALL_BACK, ANIM_FALL_BACK, ANIM_10009)
|
||||
EVT_CALL(N(UnkMoveFunc1))
|
||||
EVT_CALL(func_80273444, LW(0), 0, 0)
|
||||
EVT_CHILD_THREAD
|
||||
EVT_CALL(ShakeCam, 1, 0, 4, EVT_FLOAT(1.0))
|
||||
EVT_END_CHILD_THREAD
|
||||
EVT_CALL(AddGoalPos, ACTOR_PLAYER, -30, 0, 0)
|
||||
EVT_CALL(func_80273444, 8, 0, 2)
|
||||
EVT_CHILD_THREAD
|
||||
EVT_CALL(ShakeCam, 1, 0, 4, EVT_FLOAT(1.0))
|
||||
EVT_END_CHILD_THREAD
|
||||
EVT_CALL(AddGoalPos, ACTOR_PLAYER, -20, 0, 0)
|
||||
EVT_CALL(SetGoalPos, ACTOR_PLAYER, LW(0), LW(1), LW(2))
|
||||
EVT_CALL(func_80273444, 6, 0, 2)
|
||||
EVT_CHILD_THREAD
|
||||
EVT_CALL(ShakeCam, 1, 0, 4, EVT_FLOAT(1.0))
|
||||
EVT_END_CHILD_THREAD
|
||||
EVT_CALL(SetGoalToHome, ACTOR_PLAYER)
|
||||
EVT_CALL(func_80273444, 4, 0, 2)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10002)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(D_802A1FEC) = {
|
||||
EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, 0, 0, ANIM_1000C)
|
||||
EVT_CALL(PlayerLandJump)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_1000C)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CHILD_THREAD
|
||||
EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(1.0))
|
||||
EVT_END_CHILD_THREAD
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_162)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_GET_UP)
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_DUST_OFF)
|
||||
EVT_WAIT_FRAMES(20)
|
||||
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_100, 0)
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_D)
|
||||
EVT_CALL(func_802693F0)
|
||||
EVT_CALL(EnablePlayerBlur, -1)
|
||||
EVT_CALL(func_80276EFC)
|
||||
EVT_CALL(SetGoalToHome, ACTOR_PLAYER)
|
||||
EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(8.0))
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_RUNNING)
|
||||
EVT_CALL(PlayerRunToGoal, 0)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_10002)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(D_802A2184) = {
|
||||
EVT_CALL(LoadActionCommand, ACTION_COMMAND_JUMP)
|
||||
EVT_CALL(action_command_jump_CreateHudElements)
|
||||
EVT_EXEC_WAIT(N(D_802A11AC))
|
||||
EVT_EXEC_WAIT(N(D_802A1320))
|
||||
EVT_CALL(func_802A9120_421B10, LW(10), 3)
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_34)
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_PLAYER)
|
||||
EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, ANIM_MIDAIR_STILL, ANIM_MIDAIR, ANIM_30000 )
|
||||
EVT_CALL(func_80274A18, LW(10), 0)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(D_802A2230) = {
|
||||
EVT_CALL(LoadActionCommand, ACTION_COMMAND_JUMP)
|
||||
EVT_CALL(action_command_jump_CreateHudElements)
|
||||
EVT_EXEC_WAIT(N(D_802A11AC))
|
||||
EVT_CALL(InitTargetIterator)
|
||||
EVT_EXEC_WAIT(N(D_802A1408))
|
||||
EVT_SET(LW(11), LW(10))
|
||||
EVT_ADD(LW(11), 14)
|
||||
EVT_ADD(LW(11), -3)
|
||||
EVT_CALL(func_802A9120_421B10, LW(11), 3)
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_37)
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_PLAYER)
|
||||
EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, ANIM_MIDAIR_STILL, ANIM_1000A, ANIM_1000B)
|
||||
EVT_CALL(func_802752AC, LW(10), 0)
|
||||
EVT_WAIT_FRAMES(7)
|
||||
EVT_CALL(DidActionSucceed, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_GT(0)
|
||||
EVT_CALL(func_802752AC, 3, 1)
|
||||
EVT_CASE_DEFAULT
|
||||
EVT_CALL(func_802752AC, 5, 1)
|
||||
EVT_END_SWITCH
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(D_802A2384) = {
|
||||
EVT_CALL(LoadActionCommand, ACTION_COMMAND_JUMP)
|
||||
EVT_CALL(action_command_jump_CreateHudElements)
|
||||
EVT_EXEC_WAIT(N(D_802A11AC))
|
||||
EVT_EXEC_WAIT(N(D_802A14F0))
|
||||
EVT_CALL(func_8026919C, EVT_ADDR(N(D_802A10F0)))
|
||||
EVT_SET(LW(11), LW(10))
|
||||
EVT_SUB(LW(11), 4)
|
||||
EVT_ADD(LW(11), -3)
|
||||
EVT_CALL(func_802A9120_421B10, LW(11), 3)
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_38)
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_PLAYER)
|
||||
EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, ANIM_MIDAIR_STILL, 524288, 196608)
|
||||
EVT_CALL(func_80275F00, LW(10), 0)
|
||||
EVT_CALL(CloseActionCommandInfo)
|
||||
EVT_SET(LW(9), 0)
|
||||
EVT_CALL(DidActionSucceed, LW(0))
|
||||
EVT_IF_GT(LW(0), 0)
|
||||
EVT_SET(LW(9), 1)
|
||||
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, 0x030000)
|
||||
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0)
|
||||
EVT_WAIT_FRAMES(2)
|
||||
EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0)
|
||||
EVT_CALL(LoadActionCommand, ACTION_COMMAND_JUMP)
|
||||
EVT_CALL(action_command_jump_CreateHudElements)
|
||||
EVT_CALL(func_802A9120_421B10, 13, 3)
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_39)
|
||||
EVT_CALL(func_80275F00, 15, 2)
|
||||
EVT_GOTO(10)
|
||||
EVT_ELSE
|
||||
EVT_CALL(LoadActionCommand, ACTION_COMMAND_JUMP)
|
||||
EVT_CALL(action_command_jump_CreateHudElements)
|
||||
EVT_CALL(func_802A9120_421B10, 2, 3)
|
||||
EVT_CALL(func_80275F00, 4, 1)
|
||||
EVT_GOTO(10)
|
||||
EVT_END_IF
|
||||
EVT_LABEL(10)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(D_802A2600) = {
|
||||
EVT_CALL(func_802694A4, 1)
|
||||
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_1000, 1)
|
||||
EVT_CALL(GetMenuSelection, LW(0), LW(1), LW(2))
|
||||
EVT_SWITCH(LW(1))
|
||||
EVT_CASE_EQ(0)
|
||||
EVT_EXEC_WAIT(N(D_802A26A8))
|
||||
EVT_CASE_EQ(1)
|
||||
EVT_EXEC_WAIT(N(D_802A2EC0))
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_EXEC_WAIT(N(D_802A372C))
|
||||
EVT_END_SWITCH
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(D_802A26A8) = {
|
||||
EVT_EXEC_WAIT(N(D_802A2184))
|
||||
EVT_CALL(PlayerTestEnemy, LW(0), 128, 0, 0, 1, 0)
|
||||
EVT_IF_EQ(LW(0), 6)
|
||||
EVT_EXEC_WAIT(N(D_802A1FEC))
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_SET(LF(0), 0)
|
||||
EVT_CALL(GetTargetListLength, LW(0))
|
||||
EVT_IF_EQ(LW(0), 1)
|
||||
EVT_SET(LF(0), 1)
|
||||
EVT_END_IF
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(DidActionSucceed, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_GT(0)
|
||||
EVT_IF_EQ(LF(0), 0)
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 346, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 553648256, 0, 0, 1, 112)
|
||||
EVT_ELSE
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 346, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 553648256, 0, 0, 1, 112)
|
||||
EVT_END_IF
|
||||
EVT_CASE_DEFAULT
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 346, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 553648256, 0, 0, 1, 48)
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, 0x235)
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(0)
|
||||
EVT_CASE_OR_EQ(2)
|
||||
EVT_IF_EQ(LF(0), 1)
|
||||
EVT_EXEC_WAIT(N(D_802A15D8))
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_EXEC_WAIT(N(D_802A19B0))
|
||||
EVT_RETURN
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_CASE_OR_EQ(1)
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_IF_EQ(LF(0), 1)
|
||||
EVT_EXEC_WAIT(N(D_802A15D8))
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(func_80269524, LW(14))
|
||||
EVT_ADD(LW(15), 1)
|
||||
EVT_SET(LF(0), 0)
|
||||
EVT_LABEL(10)
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_40)
|
||||
EVT_CALL(GetTargetListLength, LW(0))
|
||||
EVT_SUB(LW(0), 1)
|
||||
EVT_IF_EQ(LW(15), LW(0))
|
||||
EVT_SET(LF(0), 1)
|
||||
EVT_END_IF
|
||||
EVT_CALL(CloseActionCommandInfo)
|
||||
EVT_CALL(LoadActionCommand, ACTION_COMMAND_JUMP)
|
||||
EVT_CALL(action_command_jump_CreateHudElements)
|
||||
EVT_IF_EQ(LF(0), 1)
|
||||
EVT_CALL(func_802694A4, 0)
|
||||
EVT_END_IF
|
||||
EVT_CALL(ChooseNextTarget, 0, LW(0))
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_PLAYER)
|
||||
EVT_EXEC_WAIT(N(D_802A1320))
|
||||
EVT_ADD(LW(10), 5)
|
||||
EVT_CALL(func_802A9120_421B10, LW(10), 3)
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_PLAYER)
|
||||
EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, ANIM_MIDAIR_STILL, ANIM_MIDAIR, ANIM_1000C)
|
||||
EVT_IF_EQ(LW(15), 1)
|
||||
EVT_CALL(func_80274A18, LW(10), 3)
|
||||
EVT_ELSE
|
||||
EVT_CALL(func_80274A18, LW(10), 4)
|
||||
EVT_END_IF
|
||||
EVT_CALL(PlayerTestEnemy, LW(0), 128, 0, 0, 1, 0)
|
||||
EVT_IF_EQ(LW(0), 6)
|
||||
EVT_EXEC_WAIT(N(D_802A1FEC))
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(DidActionSucceed, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_GT(0)
|
||||
EVT_IF_EQ(LF(0), 0)
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 346, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 553648256, 0, 0, 1, 112)
|
||||
EVT_ELSE
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 346, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 553648256, 0, 0, 1, 240)
|
||||
EVT_END_IF
|
||||
EVT_CASE_DEFAULT
|
||||
EVT_IF_EQ(LF(0), 0)
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 346, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 553648256, 0, 0, 1, 48)
|
||||
EVT_ELSE
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 346, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 553648256, 0, 0, 1, 240)
|
||||
EVT_END_IF
|
||||
EVT_END_SWITCH
|
||||
EVT_SWITCH(LW(15))
|
||||
EVT_CASE_EQ(0)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, 0x235)
|
||||
EVT_CASE_EQ(1)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, 0x236)
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, 0x237)
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, 0x238)
|
||||
EVT_CASE_DEFAULT
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, 0x238)
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(func_80269550, LW(14))
|
||||
EVT_CALL(DidActionSucceed, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(0)
|
||||
EVT_CASE_OR_EQ(2)
|
||||
EVT_IF_EQ(LF(0), 1)
|
||||
EVT_EXEC_WAIT(N(D_802A15D8))
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_EXEC_WAIT(N(D_802A19B0))
|
||||
EVT_RETURN
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_CASE_OR_EQ(1)
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_IF_EQ(LF(0), 1)
|
||||
EVT_EXEC_WAIT(N(D_802A15D8))
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_ADD(LW(15), 1)
|
||||
EVT_CALL(GetTargetListLength, LW(0))
|
||||
EVT_IF_GE(LW(15), LW(0))
|
||||
EVT_EXEC_WAIT(N(D_802A17C4))
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_GOTO(10)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(D_802A2EC0) = {
|
||||
EVT_EXEC_WAIT(N(D_802A2184))
|
||||
EVT_CALL(PlayerTestEnemy, LW(0), 128, 0, 0, 1, 0)
|
||||
EVT_IF_EQ(LW(0), 6)
|
||||
EVT_EXEC_WAIT(N(D_802A1FEC))
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_SET(LF(0), 0)
|
||||
EVT_CALL(GetTargetListLength, LW(0))
|
||||
EVT_IF_EQ(LW(0), 1)
|
||||
EVT_SET(LF(0), 1)
|
||||
EVT_END_IF
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(DidActionSucceed, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_GT(0)
|
||||
EVT_IF_EQ(LF(0), 0)
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 347, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 553648256, 0, 0, 2, 112)
|
||||
EVT_ELSE
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 347, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 553648256, 0, 0, 2, 112)
|
||||
EVT_END_IF
|
||||
EVT_CASE_DEFAULT
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 347, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 553648256, 0, 0, 2, 48)
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, 0x235)
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(0)
|
||||
EVT_CASE_OR_EQ(2)
|
||||
EVT_IF_EQ(LF(0), 1)
|
||||
EVT_EXEC_WAIT(N(D_802A15D8))
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_EXEC_WAIT(N(D_802A19B0))
|
||||
EVT_RETURN
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_CASE_OR_EQ(1)
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_IF_EQ(LF(0), 1)
|
||||
EVT_EXEC_WAIT(N(D_802A15D8))
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(func_80269524, LW(14))
|
||||
EVT_SET(LF(0), 0)
|
||||
EVT_SET(LW(15), 0)
|
||||
EVT_ADD(LW(15), 1)
|
||||
EVT_LABEL(10)
|
||||
EVT_CALL(GetTargetListLength, LW(0))
|
||||
EVT_SUB(LW(0), 1)
|
||||
EVT_IF_EQ(LW(15), LW(0))
|
||||
EVT_SET(LF(0), 1)
|
||||
EVT_END_IF
|
||||
EVT_CALL(CloseActionCommandInfo)
|
||||
EVT_CALL(LoadActionCommand, ACTION_COMMAND_JUMP)
|
||||
EVT_CALL(action_command_jump_CreateHudElements)
|
||||
EVT_IF_EQ(LF(0), 1)
|
||||
EVT_CALL(func_802694A4, 0)
|
||||
EVT_END_IF
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_40)
|
||||
EVT_CALL(func_802A9120_421B10, 37, 3)
|
||||
EVT_CALL(ChooseNextTarget, 0, LW(0))
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_PLAYER)
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_PLAYER)
|
||||
EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, ANIM_MIDAIR_STILL, ANIM_1000A, ANIM_1000B)
|
||||
EVT_CALL(EnablePlayerBlur, 1)
|
||||
EVT_IF_EQ(LW(15), 1)
|
||||
EVT_CALL(func_802752AC, 20, 3)
|
||||
EVT_WAIT_FRAMES(7)
|
||||
EVT_CALL(func_802752AC, 3, 6)
|
||||
EVT_ELSE
|
||||
EVT_CALL(func_802752AC, 20, 4)
|
||||
EVT_WAIT_FRAMES(7)
|
||||
EVT_CALL(func_802752AC, 3, 5)
|
||||
EVT_END_IF
|
||||
EVT_CALL(EnablePlayerBlur, 0)
|
||||
EVT_CALL(PlayerTestEnemy, LW(0), 128, 0, 0, 1, 0)
|
||||
EVT_IF_EQ(LW(0), 6)
|
||||
EVT_EXEC_WAIT(N(D_802A1FEC))
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(DidActionSucceed, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_GT(0)
|
||||
EVT_IF_EQ(LF(0), 0)
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 347, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 553648256, 0, 0, 2, 112)
|
||||
EVT_ELSE
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 347, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 553648256, 0, 0, 2, 240)
|
||||
EVT_END_IF
|
||||
EVT_CASE_DEFAULT
|
||||
EVT_IF_EQ(LF(0), 0)
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 347, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 553648256, 0, 0, 2, 48)
|
||||
EVT_ELSE
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 347, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 553648256, 0, 0, 2, 240)
|
||||
EVT_END_IF
|
||||
EVT_END_SWITCH
|
||||
EVT_SWITCH(LW(15))
|
||||
EVT_CASE_EQ(0)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, 0x235)
|
||||
EVT_CASE_EQ(1)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, 0x236)
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, 0x237)
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, 0x238)
|
||||
EVT_CASE_DEFAULT
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, 0x238)
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(func_80269550, LW(14))
|
||||
EVT_CALL(DidActionSucceed, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(0)
|
||||
EVT_CASE_OR_EQ(2)
|
||||
EVT_IF_EQ(LF(0), 1)
|
||||
EVT_EXEC_WAIT(N(D_802A15D8))
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_EXEC_WAIT(N(D_802A19B0))
|
||||
EVT_RETURN
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_CASE_OR_EQ(1)
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_IF_EQ(LF(0), 1)
|
||||
EVT_EXEC_WAIT(N(D_802A15D8))
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_ADD(LW(15), 1)
|
||||
EVT_CALL(GetTargetListLength, LW(0))
|
||||
EVT_IF_GE(LW(15), LW(0))
|
||||
EVT_EXEC_WAIT(N(D_802A19B0))
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_GOTO(10)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtSource N(D_802A372C) = {
|
||||
EVT_EXEC_WAIT(N(D_802A2184))
|
||||
EVT_CALL(PlayerTestEnemy, LW(0), 128, 0, 0, 1, 0)
|
||||
EVT_IF_EQ(LW(0), 6)
|
||||
EVT_EXEC_WAIT(N(D_802A1FEC))
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_SET(LF(0), 0)
|
||||
EVT_CALL(GetTargetListLength, LW(0))
|
||||
EVT_IF_EQ(LW(0), 1)
|
||||
EVT_SET(LF(0), 1)
|
||||
EVT_END_IF
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(DidActionSucceed, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_GT(0)
|
||||
EVT_IF_EQ(LF(0), 0)
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 348, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 553648256, 0, 0, 3, 112)
|
||||
EVT_ELSE
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 348, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 553648256, 0, 0, 3, 112)
|
||||
EVT_END_IF
|
||||
EVT_CASE_DEFAULT
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 348, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 553648256, 0, 0, 3, 48)
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, 0x235)
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(0)
|
||||
EVT_CASE_OR_EQ(2)
|
||||
EVT_IF_EQ(LF(0), 1)
|
||||
EVT_EXEC_WAIT(N(D_802A15D8))
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_EXEC_WAIT(N(D_802A19B0))
|
||||
EVT_RETURN
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_CASE_OR_EQ(1)
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_IF_EQ(LF(0), 1)
|
||||
EVT_EXEC_WAIT(N(D_802A15D8))
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(func_80269524, LW(14))
|
||||
EVT_SET(LF(0), 0)
|
||||
EVT_SET(LW(15), 0)
|
||||
EVT_ADD(LW(15), 1)
|
||||
EVT_LABEL(20)
|
||||
EVT_CALL(GetTargetListLength, LW(0))
|
||||
EVT_SUB(LW(0), 1)
|
||||
EVT_IF_EQ(LW(15), LW(0))
|
||||
EVT_SET(LF(0), 1)
|
||||
EVT_END_IF
|
||||
EVT_CALL(CloseActionCommandInfo)
|
||||
EVT_CALL(LoadActionCommand, ACTION_COMMAND_JUMP)
|
||||
EVT_CALL(action_command_jump_CreateHudElements)
|
||||
EVT_IF_EQ(LF(0), 1)
|
||||
EVT_CALL(func_802694A4, 0)
|
||||
EVT_END_IF
|
||||
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_40)
|
||||
EVT_CALL(func_802A9120_421B10, 25, 3)
|
||||
EVT_CALL(ChooseNextTarget, 0, LW(0))
|
||||
EVT_CALL(SetGoalToTarget, ACTOR_PLAYER)
|
||||
EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, ANIM_MIDAIR_STILL, ANIM_MIDAIR_STILL, ANIM_1000C)
|
||||
EVT_IF_EQ(LW(15), 1)
|
||||
EVT_CALL(func_80275F00, 25, 2)
|
||||
EVT_ELSE
|
||||
EVT_CALL(func_80275F00, 25, 4)
|
||||
EVT_END_IF
|
||||
EVT_CALL(PlayerTestEnemy, LW(0), 128, 0, 0, 1, 0)
|
||||
EVT_IF_EQ(LW(0), 6)
|
||||
EVT_EXEC_WAIT(N(D_802A1FEC))
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_WAIT_FRAMES(1)
|
||||
EVT_CALL(DidActionSucceed, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_GT(0)
|
||||
EVT_IF_EQ(LF(0), 0)
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 348, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 553648256, 0, 0, 3, 112)
|
||||
EVT_ELSE
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 348, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 553648256, 0, 0, 3, 240)
|
||||
EVT_END_IF
|
||||
EVT_CASE_DEFAULT
|
||||
EVT_IF_EQ(LF(0), 0)
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 348, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 553648256, 0, 0, 3, 48)
|
||||
EVT_ELSE
|
||||
EVT_CALL(SetActorSounds, ACTOR_PLAYER, 3, 348, 0)
|
||||
EVT_CALL(PlayerDamageEnemy, LW(0), 553648256, 0, 0, 3, 240)
|
||||
EVT_END_IF
|
||||
EVT_END_SWITCH
|
||||
EVT_SWITCH(LW(15))
|
||||
EVT_CASE_EQ(0)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, 0x235)
|
||||
EVT_CASE_EQ(1)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, 0x236)
|
||||
EVT_CASE_EQ(2)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, 0x237)
|
||||
EVT_CASE_EQ(3)
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, 0x238)
|
||||
EVT_CASE_DEFAULT
|
||||
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, 0x238)
|
||||
EVT_END_SWITCH
|
||||
EVT_CALL(func_80269550, LW(14))
|
||||
EVT_CALL(DidActionSucceed, LW(0))
|
||||
EVT_SWITCH(LW(0))
|
||||
EVT_CASE_OR_EQ(0)
|
||||
EVT_CASE_OR_EQ(2)
|
||||
EVT_IF_EQ(LF(0), 1)
|
||||
EVT_EXEC_WAIT(N(D_802A15D8))
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_EXEC_WAIT(N(D_802A19B0))
|
||||
EVT_RETURN
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_CASE_OR_EQ(1)
|
||||
EVT_CASE_OR_EQ(3)
|
||||
EVT_IF_EQ(LF(0), 1)
|
||||
EVT_EXEC_WAIT(N(D_802A15D8))
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_END_CASE_GROUP
|
||||
EVT_END_SWITCH
|
||||
EVT_ADD(LW(15), 1)
|
||||
EVT_CALL(GetTargetListLength, LW(0))
|
||||
EVT_IF_GE(LW(15), LW(0))
|
||||
EVT_EXEC_WAIT(N(D_802A19B0))
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_GOTO(20)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
@ -1,7 +1,8 @@
|
||||
#include "common.h"
|
||||
#include "effects.h"
|
||||
|
||||
EffectWhirlwind effectStruct;
|
||||
BSS EffectWhirlwind N(effectStruct);
|
||||
BSS static s32 padding[0x94];
|
||||
|
||||
ApiStatus N(UnkWhirlwindEffectFunc)(Evt* script, s32 isInitialCall) {
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
@ -10,10 +11,10 @@ ApiStatus N(UnkWhirlwindEffectFunc)(Evt* script, s32 isInitialCall) {
|
||||
s32 var3 = evt_get_variable(script, *args++);
|
||||
s32 var4 = evt_get_variable(script, *args++);
|
||||
|
||||
effectStruct.unk_28 = var1;
|
||||
effectStruct.unk_2C = var2 - 10.0f;
|
||||
effectStruct.unk_30 = var3;
|
||||
|
||||
playFX_46_whirlwind(6, (s32) &effectStruct, 1.0f, var4);
|
||||
N(effectStruct).unk_28 = var1;
|
||||
N(effectStruct).unk_2C = var2 - 10.0f;
|
||||
N(effectStruct).unk_30 = var3;
|
||||
|
||||
playFX_46_whirlwind(6, &N(effectStruct), 1.0f, var4);
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
@ -48,6 +48,7 @@ extern s32 D_8010CFBC;
|
||||
extern s32 D_8010CFCC;
|
||||
|
||||
extern struct Vec3f* D_8010CD38;
|
||||
extern EvtSource D_802C05CC_32579C;
|
||||
|
||||
typedef struct struct8010CD38{
|
||||
/* 0x00 */ s8 unk_00;
|
||||
@ -81,7 +82,7 @@ s32 D_800F7FF4 = 4;
|
||||
s32 D_800F7FF8 = 5;
|
||||
s32 D_800F7FFC = 7;
|
||||
s32 D_800F8000[] = { 8, 0, 0, 0 };
|
||||
s32 D_800F8010[] = { _3251D0_ROM_START, _3251D0_ROM_END, (s32) &D_802C05CC, 0x00000000 };
|
||||
s32 D_800F8010[] = { _3251D0_ROM_START, _3251D0_ROM_END, (s32) D_802C05CC_32579C, 0x00000000 };
|
||||
s32 D_800F8020 = 0;
|
||||
s32 wPartnerMoveGoalX = 0;
|
||||
s32 wPartnerMoveGoalZ = 0;
|
||||
@ -297,7 +298,7 @@ s32 use_consumable(s32 arg0) {
|
||||
|
||||
D_8010CD20 = arg0;
|
||||
arg0 = gPlayerData.invItems[arg0];
|
||||
dma_copy(D_800F8010[0], D_800F8010[1], &D_802C0000);
|
||||
dma_copy(D_800F8010[0], D_800F8010[1], _3251D0_VRAM);
|
||||
script = start_script(D_800F8010[2], 1, 0);
|
||||
script->varTable[10] = arg0;
|
||||
return script->id;
|
||||
|
@ -83,7 +83,7 @@ def round_fixed(f: float) -> float:
|
||||
whole = round(g)
|
||||
if abs(g - whole) <= 100.0/1024.0:
|
||||
f = whole / 100.0
|
||||
"""
|
||||
"""
|
||||
return f
|
||||
|
||||
def find_symbol_in_overlay(symbol_map, overlay_rom_addr, symbol_ram_addr):
|
||||
@ -411,6 +411,7 @@ replace_funcs = {
|
||||
"GetBattleFlags" :{0:"BattleStatusFlags1"},
|
||||
"GetBattlePhase" :{0:"Phases"},
|
||||
"GetDistanceToGoal" :{0:"ActorIDs"},
|
||||
"GetEnemyMaxHP" :{0:"ActorIDs"},
|
||||
"GetGoalPos" :{0:"ActorIDs"},
|
||||
"GetHomePos" :{0:"ActorIDs"},
|
||||
"GetIndexFromHome" :{0:"ActorIDs"},
|
||||
@ -419,6 +420,8 @@ replace_funcs = {
|
||||
"GetLastDamage" :{0:"ActorIDs"},
|
||||
"GetLastElement" :{0:"DamageTypes"},
|
||||
"GetLastEvent" :{0:"ActorIDs", 1:"Events"},
|
||||
"GetPartPos" :{0:"ActorIDs"},
|
||||
"GetPartRotation" :{0:"ActorIDs"},
|
||||
"GetNpcPos" :{0:"NpcIDs"},
|
||||
"GetOriginalActorType" :{0:"ActorIDs", 1:"ActorType"},
|
||||
"GetStatusFlags" :{0:"ActorIDs", 1:"StatusFlags"},
|
||||
@ -435,6 +438,7 @@ replace_funcs = {
|
||||
"JumpToGoal" :{0:"ActorIDs", 2:"Bool", 3:"Bool", 4:"Bool"},
|
||||
|
||||
"LandJump" :{0:"ActorIDs"},
|
||||
"LoadActionCommand" :{0:"ActionCommandDmaTable"},
|
||||
|
||||
"MakeEntity" :{0:"Hex"},
|
||||
"MakeItemEntity" :{0:"ItemIDs"},
|
||||
@ -452,6 +456,7 @@ replace_funcs = {
|
||||
"PlaySound" :{0:"SoundIDs"},
|
||||
"PlaySoundAt" :{0:"SoundIDs"},
|
||||
"PlaySoundAtActor" :{0:"ActorIDs", 1:"SoundIDs"},
|
||||
"PlaySoundAtModel" :{1:"SoundIDs"},
|
||||
"PlaySoundAtNpc" :{0:"NpcIDs", 1:"SoundIDs"},
|
||||
"PlaySoundAtPart" :{0:"ActorIDs", 2:"SoundIDs"},
|
||||
|
||||
@ -470,6 +475,7 @@ replace_funcs = {
|
||||
"SetActorRotation" :{0:"ActorIDs"},
|
||||
"SetActorRotationOffset" :{0:"ActorIDs"},
|
||||
"SetActorScale" :{0:"ActorIDs"},
|
||||
"SetActorSize" :{0:"ActorIDs"},
|
||||
"SetActorSounds" :{0:"ActorIDs"},
|
||||
"SetActorSpeed" :{0:"ActorIDs"},
|
||||
"SetActorType" :{0:"ActorIDs", 1:"ActorType"},
|
||||
@ -484,6 +490,7 @@ replace_funcs = {
|
||||
"SetEnemyHP" :{0:"ActorIDs"},
|
||||
"SetEnemyTargetOffset" :{0:"ActorIDs"},
|
||||
"SetGoalPos" :{0:"ActorIDs"},
|
||||
"SetGoalToFirstTarget" :{0:"ActorIDs"},
|
||||
"SetGoalToHome" :{0:"ActorIDs"},
|
||||
"SetGoalToIndex" :{0:"ActorIDs"},
|
||||
"SetGoalToTarget" :{0:"ActorIDs"},
|
||||
@ -504,6 +511,8 @@ replace_funcs = {
|
||||
"SetNpcSprite" :{1:"Hex"},
|
||||
"SetNpcYaw" :{0:"NpcIDs"},
|
||||
|
||||
"SetOwnerID" :{0:"ActorIDs"},
|
||||
|
||||
"SetPartAlpha" :{0:"ActorIDs"},
|
||||
"SetPartDispOffset" :{0:"ActorIDs"},
|
||||
"SetPartEventBits" :{0:"ActorIDs", 2:"ActorEventFlags"},
|
||||
@ -512,9 +521,12 @@ replace_funcs = {
|
||||
"SetPartJumpGravity" :{0:"ActorIDs"},
|
||||
"SetPartMoveSpeed" :{0:"ActorIDs"},
|
||||
"SetPartPos" :{0:"ActorIDs"},
|
||||
"SetPartRotation" :{0:"ActorIDs"},
|
||||
"SetPartRotationOffset" :{0:"ActorIDs"},
|
||||
"SetPartScale" :{0:"ActorIDs"},
|
||||
"SetPartSize" :{0:"ActorIDs"},
|
||||
"SetPartSounds" :{0:"ActorIDs"},
|
||||
"SetPartTargetFlagBits" :{0:"ActorIDs"},
|
||||
"SetPartYaw" :{0:"ActorIDs"},
|
||||
|
||||
"SetPlayerAnimation" :{0:"PlayerAnims"},
|
||||
@ -1088,6 +1100,7 @@ if __name__ == "__main__":
|
||||
break
|
||||
|
||||
loffset = script.end_pos
|
||||
LOCAL_WORDS = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
|
||||
looping = args.blob
|
||||
try:
|
||||
loffset = _script_lib[loffset - info[0] + info[2]][0][1]
|
||||
|
@ -168,7 +168,7 @@ def disassemble(bytes, midx, symbol_map={}, comments=True, romstart=0, namespace
|
||||
#if afterHeader:
|
||||
# INCLUDES_NEEDED["forward"].append(f"EvtSource " + name + ";")
|
||||
# afterHeader = False
|
||||
|
||||
disasm_script.LOCAL_WORDS = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
|
||||
script_text = disasm_script.ScriptDisassembler(
|
||||
bytes, name, symbol_map, romstart, INCLUDES_NEEDED, INCLUDED,
|
||||
transform_symbol_name=transform_symbol_name,
|
||||
|
@ -1,6 +0,0 @@
|
||||
.include "macro.inc"
|
||||
|
||||
.section .data
|
||||
|
||||
dlabel D_802BD510_3255E0
|
||||
.word 0x0000004D, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x0001001F, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x0000002D, 0x00000043, 0x00000007, MakeItemEntity, 0xFE363C8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000043, 0x00000004, D_802C0000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000002, RemoveItemEntity, 0xFE363C8A, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x00000004, 0x00000043, 0x00000002, PlaySound, 0x00002095, 0x00000008, 0x00000001, 0x0000000A, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x0001001C, 0x00000008, 0x00000001, 0x0000002D, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x00000004, 0x00000043, 0x00000002, PlaySound, 0x00002095, 0x00000008, 0x00000001, 0x0000000A, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010025, 0x00000008, 0x00000001, 0x0000002D, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000004D, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, GetCurrentPartner, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000001, func_802D2B6C, 0x00000008, 0x00000001, 0x00000014, 0x00000013, 0x00000000, 0x00000043, 0x00000001, 0x802C02E4, 0x00000043, 0x00000002, 0x802C0358, 0xFE363C8A, 0x00000046, 0x00000001, 0x802C0410, 0x0000000A, 0x00000002, 0xFE363C8D, 0x00000000, 0x00000046, 0x00000001, 0x802C04F4, 0x00000012, 0x00000000, 0x00000046, 0x00000001, 0x802C0560, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C8F, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x0001001D, 0x00000013, 0x00000000, 0x0000000D, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000000, 0x00000027, 0x00000002, 0xFE363C81, 0x00000023, 0x00000043, 0x00000005, 0x802C00AC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C8B, 0x00000013, 0x00000000, 0x0000000D, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000014, 0x00000027, 0x00000002, 0xFE363C81, 0x00000019, 0x00000043, 0x00000005, 0x802C016C, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C8C, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000019, 0x00000043, 0x00000005, func_802D7520, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C8B, 0x0000000B, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000043, 0x00000002, 0x802C022C, 0xFE363C8B, 0x00000013, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000043, 0x00000002, 0x802C0288, 0xFE363C8C, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C8F, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010032, 0x00000008, 0x00000001, 0x0000001E, 0x00000012, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, func_802D75D8, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C8B, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000001, 0x802C03E8, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000043, 0x00000001, 0x802C031C, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,58 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_80218438_4B1628
|
||||
/* 4B1628 80218438 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 4B162C 8021843C AFB10014 */ sw $s1, 0x14($sp)
|
||||
/* 4B1630 80218440 0080882D */ daddu $s1, $a0, $zero
|
||||
/* 4B1634 80218444 AFBF0020 */ sw $ra, 0x20($sp)
|
||||
/* 4B1638 80218448 AFB3001C */ sw $s3, 0x1c($sp)
|
||||
/* 4B163C 8021844C AFB20018 */ sw $s2, 0x18($sp)
|
||||
/* 4B1640 80218450 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 4B1644 80218454 8E30000C */ lw $s0, 0xc($s1)
|
||||
/* 4B1648 80218458 8E050000 */ lw $a1, ($s0)
|
||||
/* 4B164C 8021845C 0C0B1EAF */ jal evt_get_variable
|
||||
/* 4B1650 80218460 26100004 */ addiu $s0, $s0, 4
|
||||
/* 4B1654 80218464 8E050000 */ lw $a1, ($s0)
|
||||
/* 4B1658 80218468 26100004 */ addiu $s0, $s0, 4
|
||||
/* 4B165C 8021846C 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 4B1660 80218470 0C0B1EAF */ jal evt_get_variable
|
||||
/* 4B1664 80218474 0040982D */ daddu $s3, $v0, $zero
|
||||
/* 4B1668 80218478 8E050000 */ lw $a1, ($s0)
|
||||
/* 4B166C 8021847C 26100004 */ addiu $s0, $s0, 4
|
||||
/* 4B1670 80218480 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 4B1674 80218484 0C0B1EAF */ jal evt_get_variable
|
||||
/* 4B1678 80218488 0040902D */ daddu $s2, $v0, $zero
|
||||
/* 4B167C 8021848C 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 4B1680 80218490 8E050000 */ lw $a1, ($s0)
|
||||
/* 4B1684 80218494 0C0B1EAF */ jal evt_get_variable
|
||||
/* 4B1688 80218498 0040802D */ daddu $s0, $v0, $zero
|
||||
/* 4B168C 8021849C 24040006 */ addiu $a0, $zero, 6
|
||||
/* 4B1690 802184A0 3C058023 */ lui $a1, %hi(D_80236040)
|
||||
/* 4B1694 802184A4 24A56040 */ addiu $a1, $a1, %lo(D_80236040)
|
||||
/* 4B1698 802184A8 44930000 */ mtc1 $s3, $f0
|
||||
/* 4B169C 802184AC 00000000 */ nop
|
||||
/* 4B16A0 802184B0 46800020 */ cvt.s.w $f0, $f0
|
||||
/* 4B16A4 802184B4 E4A00028 */ swc1 $f0, 0x28($a1)
|
||||
/* 4B16A8 802184B8 44920000 */ mtc1 $s2, $f0
|
||||
/* 4B16AC 802184BC 00000000 */ nop
|
||||
/* 4B16B0 802184C0 46800020 */ cvt.s.w $f0, $f0
|
||||
/* 4B16B4 802184C4 0040382D */ daddu $a3, $v0, $zero
|
||||
/* 4B16B8 802184C8 3C014120 */ lui $at, 0x4120
|
||||
/* 4B16BC 802184CC 44811000 */ mtc1 $at, $f2
|
||||
/* 4B16C0 802184D0 3C063F80 */ lui $a2, 0x3f80
|
||||
/* 4B16C4 802184D4 46020001 */ sub.s $f0, $f0, $f2
|
||||
/* 4B16C8 802184D8 44901000 */ mtc1 $s0, $f2
|
||||
/* 4B16CC 802184DC 00000000 */ nop
|
||||
/* 4B16D0 802184E0 468010A0 */ cvt.s.w $f2, $f2
|
||||
/* 4B16D4 802184E4 E4A20030 */ swc1 $f2, 0x30($a1)
|
||||
/* 4B16D8 802184E8 0C01C4B4 */ jal playFX_46_whirlwind
|
||||
/* 4B16DC 802184EC E4A0002C */ swc1 $f0, 0x2c($a1)
|
||||
/* 4B16E0 802184F0 8FBF0020 */ lw $ra, 0x20($sp)
|
||||
/* 4B16E4 802184F4 8FB3001C */ lw $s3, 0x1c($sp)
|
||||
/* 4B16E8 802184F8 8FB20018 */ lw $s2, 0x18($sp)
|
||||
/* 4B16EC 802184FC 8FB10014 */ lw $s1, 0x14($sp)
|
||||
/* 4B16F0 80218500 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 4B16F4 80218504 24020002 */ addiu $v0, $zero, 2
|
||||
/* 4B16F8 80218508 03E00008 */ jr $ra
|
||||
/* 4B16FC 8021850C 27BD0028 */ addiu $sp, $sp, 0x28
|
@ -28,7 +28,7 @@ glabel func_802185B0_4B17A0
|
||||
/* 4B17F8 80218608 080861D0 */ j .L80218740
|
||||
/* 4B17FC 8021860C 2622FFFF */ addiu $v0, $s1, -1
|
||||
.L80218610:
|
||||
/* 4B1800 80218610 0C086144 */ jal dup3_b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B1800 80218610 0C086144 */ jal b_area_trd_part_2_green_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B1804 80218614 24040003 */ addiu $a0, $zero, 3
|
||||
/* 4B1808 80218618 C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B180C 8021861C E7A00020 */ swc1 $f0, 0x20($sp)
|
||||
@ -36,7 +36,7 @@ glabel func_802185B0_4B17A0
|
||||
/* 4B1814 80218624 E7A00024 */ swc1 $f0, 0x24($sp)
|
||||
/* 4B1818 80218628 C4400140 */ lwc1 $f0, 0x140($v0)
|
||||
/* 4B181C 8021862C 24040006 */ addiu $a0, $zero, 6
|
||||
/* 4B1820 80218630 0C086144 */ jal dup3_b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B1820 80218630 0C086144 */ jal b_area_trd_part_2_green_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B1824 80218634 E7A00028 */ swc1 $f0, 0x28($sp)
|
||||
/* 4B1828 80218638 C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B182C 8021863C E7A0002C */ swc1 $f0, 0x2c($sp)
|
||||
@ -46,7 +46,7 @@ glabel func_802185B0_4B17A0
|
||||
/* 4B183C 8021864C 080861CE */ j .L80218738
|
||||
/* 4B1840 80218650 E7A00034 */ swc1 $f0, 0x34($sp)
|
||||
.L80218654:
|
||||
/* 4B1844 80218654 0C086144 */ jal dup3_b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B1844 80218654 0C086144 */ jal b_area_trd_part_2_green_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B1848 80218658 24040003 */ addiu $a0, $zero, 3
|
||||
/* 4B184C 8021865C C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B1850 80218660 E7A00020 */ swc1 $f0, 0x20($sp)
|
||||
@ -54,7 +54,7 @@ glabel func_802185B0_4B17A0
|
||||
/* 4B1858 80218668 E7A00024 */ swc1 $f0, 0x24($sp)
|
||||
/* 4B185C 8021866C C4400140 */ lwc1 $f0, 0x140($v0)
|
||||
/* 4B1860 80218670 24040005 */ addiu $a0, $zero, 5
|
||||
/* 4B1864 80218674 0C086144 */ jal dup3_b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B1864 80218674 0C086144 */ jal b_area_trd_part_2_green_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B1868 80218678 E7A00028 */ swc1 $f0, 0x28($sp)
|
||||
/* 4B186C 8021867C C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B1870 80218680 E7A0002C */ swc1 $f0, 0x2c($sp)
|
||||
@ -62,7 +62,7 @@ glabel func_802185B0_4B17A0
|
||||
/* 4B1878 80218688 E7A00030 */ swc1 $f0, 0x30($sp)
|
||||
/* 4B187C 8021868C C4400140 */ lwc1 $f0, 0x140($v0)
|
||||
/* 4B1880 80218690 24040006 */ addiu $a0, $zero, 6
|
||||
/* 4B1884 80218694 0C086144 */ jal dup3_b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B1884 80218694 0C086144 */ jal b_area_trd_part_2_green_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B1888 80218698 E7A00034 */ swc1 $f0, 0x34($sp)
|
||||
/* 4B188C 8021869C C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B1890 802186A0 E7A00038 */ swc1 $f0, 0x38($sp)
|
||||
@ -72,7 +72,7 @@ glabel func_802185B0_4B17A0
|
||||
/* 4B18A0 802186B0 080861CE */ j .L80218738
|
||||
/* 4B18A4 802186B4 E7A00040 */ swc1 $f0, 0x40($sp)
|
||||
.L802186B8:
|
||||
/* 4B18A8 802186B8 0C086144 */ jal dup3_b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B18A8 802186B8 0C086144 */ jal b_area_trd_part_2_green_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B18AC 802186BC 24040003 */ addiu $a0, $zero, 3
|
||||
/* 4B18B0 802186C0 C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B18B4 802186C4 E7A00020 */ swc1 $f0, 0x20($sp)
|
||||
@ -80,7 +80,7 @@ glabel func_802185B0_4B17A0
|
||||
/* 4B18BC 802186CC E7A00024 */ swc1 $f0, 0x24($sp)
|
||||
/* 4B18C0 802186D0 C4400140 */ lwc1 $f0, 0x140($v0)
|
||||
/* 4B18C4 802186D4 24040004 */ addiu $a0, $zero, 4
|
||||
/* 4B18C8 802186D8 0C086144 */ jal dup3_b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B18C8 802186D8 0C086144 */ jal b_area_trd_part_2_green_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B18CC 802186DC E7A00028 */ swc1 $f0, 0x28($sp)
|
||||
/* 4B18D0 802186E0 C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B18D4 802186E4 E7A0002C */ swc1 $f0, 0x2c($sp)
|
||||
@ -88,7 +88,7 @@ glabel func_802185B0_4B17A0
|
||||
/* 4B18DC 802186EC E7A00030 */ swc1 $f0, 0x30($sp)
|
||||
/* 4B18E0 802186F0 C4400140 */ lwc1 $f0, 0x140($v0)
|
||||
/* 4B18E4 802186F4 24040005 */ addiu $a0, $zero, 5
|
||||
/* 4B18E8 802186F8 0C086144 */ jal dup3_b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B18E8 802186F8 0C086144 */ jal b_area_trd_part_2_green_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B18EC 802186FC E7A00034 */ swc1 $f0, 0x34($sp)
|
||||
/* 4B18F0 80218700 C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B18F4 80218704 E7A00038 */ swc1 $f0, 0x38($sp)
|
||||
@ -96,7 +96,7 @@ glabel func_802185B0_4B17A0
|
||||
/* 4B18FC 8021870C E7A0003C */ swc1 $f0, 0x3c($sp)
|
||||
/* 4B1900 80218710 C4400140 */ lwc1 $f0, 0x140($v0)
|
||||
/* 4B1904 80218714 24040006 */ addiu $a0, $zero, 6
|
||||
/* 4B1908 80218718 0C086144 */ jal dup3_b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B1908 80218718 0C086144 */ jal b_area_trd_part_2_green_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B190C 8021871C E7A00040 */ swc1 $f0, 0x40($sp)
|
||||
/* 4B1910 80218720 C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B1914 80218724 E7A00044 */ swc1 $f0, 0x44($sp)
|
||||
|
@ -1,58 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_80218BF8_4B1DE8
|
||||
/* 4B1DE8 80218BF8 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 4B1DEC 80218BFC AFB10014 */ sw $s1, 0x14($sp)
|
||||
/* 4B1DF0 80218C00 0080882D */ daddu $s1, $a0, $zero
|
||||
/* 4B1DF4 80218C04 AFBF0020 */ sw $ra, 0x20($sp)
|
||||
/* 4B1DF8 80218C08 AFB3001C */ sw $s3, 0x1c($sp)
|
||||
/* 4B1DFC 80218C0C AFB20018 */ sw $s2, 0x18($sp)
|
||||
/* 4B1E00 80218C10 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 4B1E04 80218C14 8E30000C */ lw $s0, 0xc($s1)
|
||||
/* 4B1E08 80218C18 8E050000 */ lw $a1, ($s0)
|
||||
/* 4B1E0C 80218C1C 0C0B1EAF */ jal evt_get_variable
|
||||
/* 4B1E10 80218C20 26100004 */ addiu $s0, $s0, 4
|
||||
/* 4B1E14 80218C24 8E050000 */ lw $a1, ($s0)
|
||||
/* 4B1E18 80218C28 26100004 */ addiu $s0, $s0, 4
|
||||
/* 4B1E1C 80218C2C 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 4B1E20 80218C30 0C0B1EAF */ jal evt_get_variable
|
||||
/* 4B1E24 80218C34 0040982D */ daddu $s3, $v0, $zero
|
||||
/* 4B1E28 80218C38 8E050000 */ lw $a1, ($s0)
|
||||
/* 4B1E2C 80218C3C 26100004 */ addiu $s0, $s0, 4
|
||||
/* 4B1E30 80218C40 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 4B1E34 80218C44 0C0B1EAF */ jal evt_get_variable
|
||||
/* 4B1E38 80218C48 0040902D */ daddu $s2, $v0, $zero
|
||||
/* 4B1E3C 80218C4C 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 4B1E40 80218C50 8E050000 */ lw $a1, ($s0)
|
||||
/* 4B1E44 80218C54 0C0B1EAF */ jal evt_get_variable
|
||||
/* 4B1E48 80218C58 0040802D */ daddu $s0, $v0, $zero
|
||||
/* 4B1E4C 80218C5C 24040006 */ addiu $a0, $zero, 6
|
||||
/* 4B1E50 80218C60 3C058023 */ lui $a1, %hi(D_802362D0)
|
||||
/* 4B1E54 80218C64 24A562D0 */ addiu $a1, $a1, %lo(D_802362D0)
|
||||
/* 4B1E58 80218C68 44930000 */ mtc1 $s3, $f0
|
||||
/* 4B1E5C 80218C6C 00000000 */ nop
|
||||
/* 4B1E60 80218C70 46800020 */ cvt.s.w $f0, $f0
|
||||
/* 4B1E64 80218C74 E4A00028 */ swc1 $f0, 0x28($a1)
|
||||
/* 4B1E68 80218C78 44920000 */ mtc1 $s2, $f0
|
||||
/* 4B1E6C 80218C7C 00000000 */ nop
|
||||
/* 4B1E70 80218C80 46800020 */ cvt.s.w $f0, $f0
|
||||
/* 4B1E74 80218C84 0040382D */ daddu $a3, $v0, $zero
|
||||
/* 4B1E78 80218C88 3C014120 */ lui $at, 0x4120
|
||||
/* 4B1E7C 80218C8C 44811000 */ mtc1 $at, $f2
|
||||
/* 4B1E80 80218C90 3C063F80 */ lui $a2, 0x3f80
|
||||
/* 4B1E84 80218C94 46020001 */ sub.s $f0, $f0, $f2
|
||||
/* 4B1E88 80218C98 44901000 */ mtc1 $s0, $f2
|
||||
/* 4B1E8C 80218C9C 00000000 */ nop
|
||||
/* 4B1E90 80218CA0 468010A0 */ cvt.s.w $f2, $f2
|
||||
/* 4B1E94 80218CA4 E4A20030 */ swc1 $f2, 0x30($a1)
|
||||
/* 4B1E98 80218CA8 0C01C4B4 */ jal playFX_46_whirlwind
|
||||
/* 4B1E9C 80218CAC E4A0002C */ swc1 $f0, 0x2c($a1)
|
||||
/* 4B1EA0 80218CB0 8FBF0020 */ lw $ra, 0x20($sp)
|
||||
/* 4B1EA4 80218CB4 8FB3001C */ lw $s3, 0x1c($sp)
|
||||
/* 4B1EA8 80218CB8 8FB20018 */ lw $s2, 0x18($sp)
|
||||
/* 4B1EAC 80218CBC 8FB10014 */ lw $s1, 0x14($sp)
|
||||
/* 4B1EB0 80218CC0 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 4B1EB4 80218CC4 24020002 */ addiu $v0, $zero, 2
|
||||
/* 4B1EB8 80218CC8 03E00008 */ jr $ra
|
||||
/* 4B1EBC 80218CCC 27BD0028 */ addiu $sp, $sp, 0x28
|
@ -28,7 +28,7 @@ glabel func_80218D70_4B1F60
|
||||
/* 4B1FB8 80218DC8 080863C0 */ j .L80218F00
|
||||
/* 4B1FBC 80218DCC 2622FFFF */ addiu $v0, $s1, -1
|
||||
.L80218DD0:
|
||||
/* 4B1FC0 80218DD0 0C086334 */ jal b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B1FC0 80218DD0 0C086334 */ jal b_area_trd_part_2_red_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B1FC4 80218DD4 24040003 */ addiu $a0, $zero, 3
|
||||
/* 4B1FC8 80218DD8 C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B1FCC 80218DDC E7A00020 */ swc1 $f0, 0x20($sp)
|
||||
@ -36,7 +36,7 @@ glabel func_80218D70_4B1F60
|
||||
/* 4B1FD4 80218DE4 E7A00024 */ swc1 $f0, 0x24($sp)
|
||||
/* 4B1FD8 80218DE8 C4400140 */ lwc1 $f0, 0x140($v0)
|
||||
/* 4B1FDC 80218DEC 24040006 */ addiu $a0, $zero, 6
|
||||
/* 4B1FE0 80218DF0 0C086334 */ jal b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B1FE0 80218DF0 0C086334 */ jal b_area_trd_part_2_red_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B1FE4 80218DF4 E7A00028 */ swc1 $f0, 0x28($sp)
|
||||
/* 4B1FE8 80218DF8 C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B1FEC 80218DFC E7A0002C */ swc1 $f0, 0x2c($sp)
|
||||
@ -46,7 +46,7 @@ glabel func_80218D70_4B1F60
|
||||
/* 4B1FFC 80218E0C 080863BE */ j .L80218EF8
|
||||
/* 4B2000 80218E10 E7A00034 */ swc1 $f0, 0x34($sp)
|
||||
.L80218E14:
|
||||
/* 4B2004 80218E14 0C086334 */ jal b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B2004 80218E14 0C086334 */ jal b_area_trd_part_2_red_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B2008 80218E18 24040003 */ addiu $a0, $zero, 3
|
||||
/* 4B200C 80218E1C C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B2010 80218E20 E7A00020 */ swc1 $f0, 0x20($sp)
|
||||
@ -54,7 +54,7 @@ glabel func_80218D70_4B1F60
|
||||
/* 4B2018 80218E28 E7A00024 */ swc1 $f0, 0x24($sp)
|
||||
/* 4B201C 80218E2C C4400140 */ lwc1 $f0, 0x140($v0)
|
||||
/* 4B2020 80218E30 24040005 */ addiu $a0, $zero, 5
|
||||
/* 4B2024 80218E34 0C086334 */ jal b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B2024 80218E34 0C086334 */ jal b_area_trd_part_2_red_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B2028 80218E38 E7A00028 */ swc1 $f0, 0x28($sp)
|
||||
/* 4B202C 80218E3C C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B2030 80218E40 E7A0002C */ swc1 $f0, 0x2c($sp)
|
||||
@ -62,7 +62,7 @@ glabel func_80218D70_4B1F60
|
||||
/* 4B2038 80218E48 E7A00030 */ swc1 $f0, 0x30($sp)
|
||||
/* 4B203C 80218E4C C4400140 */ lwc1 $f0, 0x140($v0)
|
||||
/* 4B2040 80218E50 24040006 */ addiu $a0, $zero, 6
|
||||
/* 4B2044 80218E54 0C086334 */ jal b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B2044 80218E54 0C086334 */ jal b_area_trd_part_2_red_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B2048 80218E58 E7A00034 */ swc1 $f0, 0x34($sp)
|
||||
/* 4B204C 80218E5C C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B2050 80218E60 E7A00038 */ swc1 $f0, 0x38($sp)
|
||||
@ -72,7 +72,7 @@ glabel func_80218D70_4B1F60
|
||||
/* 4B2060 80218E70 080863BE */ j .L80218EF8
|
||||
/* 4B2064 80218E74 E7A00040 */ swc1 $f0, 0x40($sp)
|
||||
.L80218E78:
|
||||
/* 4B2068 80218E78 0C086334 */ jal b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B2068 80218E78 0C086334 */ jal b_area_trd_part_2_red_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B206C 80218E7C 24040003 */ addiu $a0, $zero, 3
|
||||
/* 4B2070 80218E80 C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B2074 80218E84 E7A00020 */ swc1 $f0, 0x20($sp)
|
||||
@ -80,7 +80,7 @@ glabel func_80218D70_4B1F60
|
||||
/* 4B207C 80218E8C E7A00024 */ swc1 $f0, 0x24($sp)
|
||||
/* 4B2080 80218E90 C4400140 */ lwc1 $f0, 0x140($v0)
|
||||
/* 4B2084 80218E94 24040004 */ addiu $a0, $zero, 4
|
||||
/* 4B2088 80218E98 0C086334 */ jal b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B2088 80218E98 0C086334 */ jal b_area_trd_part_2_red_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B208C 80218E9C E7A00028 */ swc1 $f0, 0x28($sp)
|
||||
/* 4B2090 80218EA0 C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B2094 80218EA4 E7A0002C */ swc1 $f0, 0x2c($sp)
|
||||
@ -88,7 +88,7 @@ glabel func_80218D70_4B1F60
|
||||
/* 4B209C 80218EAC E7A00030 */ swc1 $f0, 0x30($sp)
|
||||
/* 4B20A0 80218EB0 C4400140 */ lwc1 $f0, 0x140($v0)
|
||||
/* 4B20A4 80218EB4 24040005 */ addiu $a0, $zero, 5
|
||||
/* 4B20A8 80218EB8 0C086334 */ jal b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B20A8 80218EB8 0C086334 */ jal b_area_trd_part_2_red_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B20AC 80218EBC E7A00034 */ swc1 $f0, 0x34($sp)
|
||||
/* 4B20B0 80218EC0 C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B20B4 80218EC4 E7A00038 */ swc1 $f0, 0x38($sp)
|
||||
@ -96,7 +96,7 @@ glabel func_80218D70_4B1F60
|
||||
/* 4B20BC 80218ECC E7A0003C */ swc1 $f0, 0x3c($sp)
|
||||
/* 4B20C0 80218ED0 C4400140 */ lwc1 $f0, 0x140($v0)
|
||||
/* 4B20C4 80218ED4 24040006 */ addiu $a0, $zero, 6
|
||||
/* 4B20C8 80218ED8 0C086334 */ jal b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B20C8 80218ED8 0C086334 */ jal b_area_trd_part_2_red_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B20CC 80218EDC E7A00040 */ swc1 $f0, 0x40($sp)
|
||||
/* 4B20D0 80218EE0 C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B20D4 80218EE4 E7A00044 */ swc1 $f0, 0x44($sp)
|
||||
|
@ -1,58 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802193B8_4B25A8
|
||||
/* 4B25A8 802193B8 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 4B25AC 802193BC AFB10014 */ sw $s1, 0x14($sp)
|
||||
/* 4B25B0 802193C0 0080882D */ daddu $s1, $a0, $zero
|
||||
/* 4B25B4 802193C4 AFBF0020 */ sw $ra, 0x20($sp)
|
||||
/* 4B25B8 802193C8 AFB3001C */ sw $s3, 0x1c($sp)
|
||||
/* 4B25BC 802193CC AFB20018 */ sw $s2, 0x18($sp)
|
||||
/* 4B25C0 802193D0 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 4B25C4 802193D4 8E30000C */ lw $s0, 0xc($s1)
|
||||
/* 4B25C8 802193D8 8E050000 */ lw $a1, ($s0)
|
||||
/* 4B25CC 802193DC 0C0B1EAF */ jal evt_get_variable
|
||||
/* 4B25D0 802193E0 26100004 */ addiu $s0, $s0, 4
|
||||
/* 4B25D4 802193E4 8E050000 */ lw $a1, ($s0)
|
||||
/* 4B25D8 802193E8 26100004 */ addiu $s0, $s0, 4
|
||||
/* 4B25DC 802193EC 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 4B25E0 802193F0 0C0B1EAF */ jal evt_get_variable
|
||||
/* 4B25E4 802193F4 0040982D */ daddu $s3, $v0, $zero
|
||||
/* 4B25E8 802193F8 8E050000 */ lw $a1, ($s0)
|
||||
/* 4B25EC 802193FC 26100004 */ addiu $s0, $s0, 4
|
||||
/* 4B25F0 80219400 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 4B25F4 80219404 0C0B1EAF */ jal evt_get_variable
|
||||
/* 4B25F8 80219408 0040902D */ daddu $s2, $v0, $zero
|
||||
/* 4B25FC 8021940C 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 4B2600 80219410 8E050000 */ lw $a1, ($s0)
|
||||
/* 4B2604 80219414 0C0B1EAF */ jal evt_get_variable
|
||||
/* 4B2608 80219418 0040802D */ daddu $s0, $v0, $zero
|
||||
/* 4B260C 8021941C 24040006 */ addiu $a0, $zero, 6
|
||||
/* 4B2610 80219420 3C058023 */ lui $a1, %hi(D_80236560)
|
||||
/* 4B2614 80219424 24A56560 */ addiu $a1, $a1, %lo(D_80236560)
|
||||
/* 4B2618 80219428 44930000 */ mtc1 $s3, $f0
|
||||
/* 4B261C 8021942C 00000000 */ nop
|
||||
/* 4B2620 80219430 46800020 */ cvt.s.w $f0, $f0
|
||||
/* 4B2624 80219434 E4A00028 */ swc1 $f0, 0x28($a1)
|
||||
/* 4B2628 80219438 44920000 */ mtc1 $s2, $f0
|
||||
/* 4B262C 8021943C 00000000 */ nop
|
||||
/* 4B2630 80219440 46800020 */ cvt.s.w $f0, $f0
|
||||
/* 4B2634 80219444 0040382D */ daddu $a3, $v0, $zero
|
||||
/* 4B2638 80219448 3C014120 */ lui $at, 0x4120
|
||||
/* 4B263C 8021944C 44811000 */ mtc1 $at, $f2
|
||||
/* 4B2640 80219450 3C063F80 */ lui $a2, 0x3f80
|
||||
/* 4B2644 80219454 46020001 */ sub.s $f0, $f0, $f2
|
||||
/* 4B2648 80219458 44901000 */ mtc1 $s0, $f2
|
||||
/* 4B264C 8021945C 00000000 */ nop
|
||||
/* 4B2650 80219460 468010A0 */ cvt.s.w $f2, $f2
|
||||
/* 4B2654 80219464 E4A20030 */ swc1 $f2, 0x30($a1)
|
||||
/* 4B2658 80219468 0C01C4B4 */ jal playFX_46_whirlwind
|
||||
/* 4B265C 8021946C E4A0002C */ swc1 $f0, 0x2c($a1)
|
||||
/* 4B2660 80219470 8FBF0020 */ lw $ra, 0x20($sp)
|
||||
/* 4B2664 80219474 8FB3001C */ lw $s3, 0x1c($sp)
|
||||
/* 4B2668 80219478 8FB20018 */ lw $s2, 0x18($sp)
|
||||
/* 4B266C 8021947C 8FB10014 */ lw $s1, 0x14($sp)
|
||||
/* 4B2670 80219480 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 4B2674 80219484 24020002 */ addiu $v0, $zero, 2
|
||||
/* 4B2678 80219488 03E00008 */ jr $ra
|
||||
/* 4B267C 8021948C 27BD0028 */ addiu $sp, $sp, 0x28
|
@ -28,7 +28,7 @@ glabel func_80219530_4B2720
|
||||
/* 4B2778 80219588 080865B0 */ j .L802196C0
|
||||
/* 4B277C 8021958C 2622FFFF */ addiu $v0, $s1, -1
|
||||
.L80219590:
|
||||
/* 4B2780 80219590 0C086524 */ jal dup4_b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B2780 80219590 0C086524 */ jal b_area_trd_part_2_blue_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B2784 80219594 24040003 */ addiu $a0, $zero, 3
|
||||
/* 4B2788 80219598 C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B278C 8021959C E7A00020 */ swc1 $f0, 0x20($sp)
|
||||
@ -36,7 +36,7 @@ glabel func_80219530_4B2720
|
||||
/* 4B2794 802195A4 E7A00024 */ swc1 $f0, 0x24($sp)
|
||||
/* 4B2798 802195A8 C4400140 */ lwc1 $f0, 0x140($v0)
|
||||
/* 4B279C 802195AC 24040006 */ addiu $a0, $zero, 6
|
||||
/* 4B27A0 802195B0 0C086524 */ jal dup4_b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B27A0 802195B0 0C086524 */ jal b_area_trd_part_2_blue_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B27A4 802195B4 E7A00028 */ swc1 $f0, 0x28($sp)
|
||||
/* 4B27A8 802195B8 C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B27AC 802195BC E7A0002C */ swc1 $f0, 0x2c($sp)
|
||||
@ -46,7 +46,7 @@ glabel func_80219530_4B2720
|
||||
/* 4B27BC 802195CC 080865AE */ j .L802196B8
|
||||
/* 4B27C0 802195D0 E7A00034 */ swc1 $f0, 0x34($sp)
|
||||
.L802195D4:
|
||||
/* 4B27C4 802195D4 0C086524 */ jal dup4_b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B27C4 802195D4 0C086524 */ jal b_area_trd_part_2_blue_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B27C8 802195D8 24040003 */ addiu $a0, $zero, 3
|
||||
/* 4B27CC 802195DC C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B27D0 802195E0 E7A00020 */ swc1 $f0, 0x20($sp)
|
||||
@ -54,7 +54,7 @@ glabel func_80219530_4B2720
|
||||
/* 4B27D8 802195E8 E7A00024 */ swc1 $f0, 0x24($sp)
|
||||
/* 4B27DC 802195EC C4400140 */ lwc1 $f0, 0x140($v0)
|
||||
/* 4B27E0 802195F0 24040005 */ addiu $a0, $zero, 5
|
||||
/* 4B27E4 802195F4 0C086524 */ jal dup4_b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B27E4 802195F4 0C086524 */ jal b_area_trd_part_2_blue_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B27E8 802195F8 E7A00028 */ swc1 $f0, 0x28($sp)
|
||||
/* 4B27EC 802195FC C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B27F0 80219600 E7A0002C */ swc1 $f0, 0x2c($sp)
|
||||
@ -62,7 +62,7 @@ glabel func_80219530_4B2720
|
||||
/* 4B27F8 80219608 E7A00030 */ swc1 $f0, 0x30($sp)
|
||||
/* 4B27FC 8021960C C4400140 */ lwc1 $f0, 0x140($v0)
|
||||
/* 4B2800 80219610 24040006 */ addiu $a0, $zero, 6
|
||||
/* 4B2804 80219614 0C086524 */ jal dup4_b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B2804 80219614 0C086524 */ jal b_area_trd_part_2_blue_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B2808 80219618 E7A00034 */ swc1 $f0, 0x34($sp)
|
||||
/* 4B280C 8021961C C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B2810 80219620 E7A00038 */ swc1 $f0, 0x38($sp)
|
||||
@ -72,7 +72,7 @@ glabel func_80219530_4B2720
|
||||
/* 4B2820 80219630 080865AE */ j .L802196B8
|
||||
/* 4B2824 80219634 E7A00040 */ swc1 $f0, 0x40($sp)
|
||||
.L80219638:
|
||||
/* 4B2828 80219638 0C086524 */ jal dup4_b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B2828 80219638 0C086524 */ jal b_area_trd_part_2_blue_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B282C 8021963C 24040003 */ addiu $a0, $zero, 3
|
||||
/* 4B2830 80219640 C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B2834 80219644 E7A00020 */ swc1 $f0, 0x20($sp)
|
||||
@ -80,7 +80,7 @@ glabel func_80219530_4B2720
|
||||
/* 4B283C 8021964C E7A00024 */ swc1 $f0, 0x24($sp)
|
||||
/* 4B2840 80219650 C4400140 */ lwc1 $f0, 0x140($v0)
|
||||
/* 4B2844 80219654 24040004 */ addiu $a0, $zero, 4
|
||||
/* 4B2848 80219658 0C086524 */ jal dup4_b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B2848 80219658 0C086524 */ jal b_area_trd_part_2_blue_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B284C 8021965C E7A00028 */ swc1 $f0, 0x28($sp)
|
||||
/* 4B2850 80219660 C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B2854 80219664 E7A0002C */ swc1 $f0, 0x2c($sp)
|
||||
@ -88,7 +88,7 @@ glabel func_80219530_4B2720
|
||||
/* 4B285C 8021966C E7A00030 */ swc1 $f0, 0x30($sp)
|
||||
/* 4B2860 80219670 C4400140 */ lwc1 $f0, 0x140($v0)
|
||||
/* 4B2864 80219674 24040005 */ addiu $a0, $zero, 5
|
||||
/* 4B2868 80219678 0C086524 */ jal dup4_b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B2868 80219678 0C086524 */ jal b_area_trd_part_2_blue_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B286C 8021967C E7A00034 */ swc1 $f0, 0x34($sp)
|
||||
/* 4B2870 80219680 C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B2874 80219684 E7A00038 */ swc1 $f0, 0x38($sp)
|
||||
@ -96,7 +96,7 @@ glabel func_80219530_4B2720
|
||||
/* 4B287C 8021968C E7A0003C */ swc1 $f0, 0x3c($sp)
|
||||
/* 4B2880 80219690 C4400140 */ lwc1 $f0, 0x140($v0)
|
||||
/* 4B2884 80219694 24040006 */ addiu $a0, $zero, 6
|
||||
/* 4B2888 80219698 0C086524 */ jal dup4_b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B2888 80219698 0C086524 */ jal b_area_trd_part_2_blue_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B288C 8021969C E7A00040 */ swc1 $f0, 0x40($sp)
|
||||
/* 4B2890 802196A0 C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B2894 802196A4 E7A00044 */ swc1 $f0, 0x44($sp)
|
||||
|
@ -1,58 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_80219B78_4B2D68
|
||||
/* 4B2D68 80219B78 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 4B2D6C 80219B7C AFB10014 */ sw $s1, 0x14($sp)
|
||||
/* 4B2D70 80219B80 0080882D */ daddu $s1, $a0, $zero
|
||||
/* 4B2D74 80219B84 AFBF0020 */ sw $ra, 0x20($sp)
|
||||
/* 4B2D78 80219B88 AFB3001C */ sw $s3, 0x1c($sp)
|
||||
/* 4B2D7C 80219B8C AFB20018 */ sw $s2, 0x18($sp)
|
||||
/* 4B2D80 80219B90 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 4B2D84 80219B94 8E30000C */ lw $s0, 0xc($s1)
|
||||
/* 4B2D88 80219B98 8E050000 */ lw $a1, ($s0)
|
||||
/* 4B2D8C 80219B9C 0C0B1EAF */ jal evt_get_variable
|
||||
/* 4B2D90 80219BA0 26100004 */ addiu $s0, $s0, 4
|
||||
/* 4B2D94 80219BA4 8E050000 */ lw $a1, ($s0)
|
||||
/* 4B2D98 80219BA8 26100004 */ addiu $s0, $s0, 4
|
||||
/* 4B2D9C 80219BAC 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 4B2DA0 80219BB0 0C0B1EAF */ jal evt_get_variable
|
||||
/* 4B2DA4 80219BB4 0040982D */ daddu $s3, $v0, $zero
|
||||
/* 4B2DA8 80219BB8 8E050000 */ lw $a1, ($s0)
|
||||
/* 4B2DAC 80219BBC 26100004 */ addiu $s0, $s0, 4
|
||||
/* 4B2DB0 80219BC0 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 4B2DB4 80219BC4 0C0B1EAF */ jal evt_get_variable
|
||||
/* 4B2DB8 80219BC8 0040902D */ daddu $s2, $v0, $zero
|
||||
/* 4B2DBC 80219BCC 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 4B2DC0 80219BD0 8E050000 */ lw $a1, ($s0)
|
||||
/* 4B2DC4 80219BD4 0C0B1EAF */ jal evt_get_variable
|
||||
/* 4B2DC8 80219BD8 0040802D */ daddu $s0, $v0, $zero
|
||||
/* 4B2DCC 80219BDC 24040006 */ addiu $a0, $zero, 6
|
||||
/* 4B2DD0 80219BE0 3C058023 */ lui $a1, %hi(D_802367F0)
|
||||
/* 4B2DD4 80219BE4 24A567F0 */ addiu $a1, $a1, %lo(D_802367F0)
|
||||
/* 4B2DD8 80219BE8 44930000 */ mtc1 $s3, $f0
|
||||
/* 4B2DDC 80219BEC 00000000 */ nop
|
||||
/* 4B2DE0 80219BF0 46800020 */ cvt.s.w $f0, $f0
|
||||
/* 4B2DE4 80219BF4 E4A00028 */ swc1 $f0, 0x28($a1)
|
||||
/* 4B2DE8 80219BF8 44920000 */ mtc1 $s2, $f0
|
||||
/* 4B2DEC 80219BFC 00000000 */ nop
|
||||
/* 4B2DF0 80219C00 46800020 */ cvt.s.w $f0, $f0
|
||||
/* 4B2DF4 80219C04 0040382D */ daddu $a3, $v0, $zero
|
||||
/* 4B2DF8 80219C08 3C014120 */ lui $at, 0x4120
|
||||
/* 4B2DFC 80219C0C 44811000 */ mtc1 $at, $f2
|
||||
/* 4B2E00 80219C10 3C063F80 */ lui $a2, 0x3f80
|
||||
/* 4B2E04 80219C14 46020001 */ sub.s $f0, $f0, $f2
|
||||
/* 4B2E08 80219C18 44901000 */ mtc1 $s0, $f2
|
||||
/* 4B2E0C 80219C1C 00000000 */ nop
|
||||
/* 4B2E10 80219C20 468010A0 */ cvt.s.w $f2, $f2
|
||||
/* 4B2E14 80219C24 E4A20030 */ swc1 $f2, 0x30($a1)
|
||||
/* 4B2E18 80219C28 0C01C4B4 */ jal playFX_46_whirlwind
|
||||
/* 4B2E1C 80219C2C E4A0002C */ swc1 $f0, 0x2c($a1)
|
||||
/* 4B2E20 80219C30 8FBF0020 */ lw $ra, 0x20($sp)
|
||||
/* 4B2E24 80219C34 8FB3001C */ lw $s3, 0x1c($sp)
|
||||
/* 4B2E28 80219C38 8FB20018 */ lw $s2, 0x18($sp)
|
||||
/* 4B2E2C 80219C3C 8FB10014 */ lw $s1, 0x14($sp)
|
||||
/* 4B2E30 80219C40 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 4B2E34 80219C44 24020002 */ addiu $v0, $zero, 2
|
||||
/* 4B2E38 80219C48 03E00008 */ jr $ra
|
||||
/* 4B2E3C 80219C4C 27BD0028 */ addiu $sp, $sp, 0x28
|
@ -28,7 +28,7 @@ glabel func_80219CF0_4B2EE0
|
||||
/* 4B2F38 80219D48 080867A0 */ j .L80219E80
|
||||
/* 4B2F3C 80219D4C 2622FFFF */ addiu $v0, $s1, -1
|
||||
.L80219D50:
|
||||
/* 4B2F40 80219D50 0C086714 */ jal dup_b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B2F40 80219D50 0C086714 */ jal b_area_trd_part_2_yellow_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B2F44 80219D54 24040003 */ addiu $a0, $zero, 3
|
||||
/* 4B2F48 80219D58 C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B2F4C 80219D5C E7A00020 */ swc1 $f0, 0x20($sp)
|
||||
@ -36,7 +36,7 @@ glabel func_80219CF0_4B2EE0
|
||||
/* 4B2F54 80219D64 E7A00024 */ swc1 $f0, 0x24($sp)
|
||||
/* 4B2F58 80219D68 C4400140 */ lwc1 $f0, 0x140($v0)
|
||||
/* 4B2F5C 80219D6C 24040006 */ addiu $a0, $zero, 6
|
||||
/* 4B2F60 80219D70 0C086714 */ jal dup_b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B2F60 80219D70 0C086714 */ jal b_area_trd_part_2_yellow_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B2F64 80219D74 E7A00028 */ swc1 $f0, 0x28($sp)
|
||||
/* 4B2F68 80219D78 C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B2F6C 80219D7C E7A0002C */ swc1 $f0, 0x2c($sp)
|
||||
@ -46,7 +46,7 @@ glabel func_80219CF0_4B2EE0
|
||||
/* 4B2F7C 80219D8C 0808679E */ j .L80219E78
|
||||
/* 4B2F80 80219D90 E7A00034 */ swc1 $f0, 0x34($sp)
|
||||
.L80219D94:
|
||||
/* 4B2F84 80219D94 0C086714 */ jal dup_b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B2F84 80219D94 0C086714 */ jal b_area_trd_part_2_yellow_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B2F88 80219D98 24040003 */ addiu $a0, $zero, 3
|
||||
/* 4B2F8C 80219D9C C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B2F90 80219DA0 E7A00020 */ swc1 $f0, 0x20($sp)
|
||||
@ -54,7 +54,7 @@ glabel func_80219CF0_4B2EE0
|
||||
/* 4B2F98 80219DA8 E7A00024 */ swc1 $f0, 0x24($sp)
|
||||
/* 4B2F9C 80219DAC C4400140 */ lwc1 $f0, 0x140($v0)
|
||||
/* 4B2FA0 80219DB0 24040005 */ addiu $a0, $zero, 5
|
||||
/* 4B2FA4 80219DB4 0C086714 */ jal dup_b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B2FA4 80219DB4 0C086714 */ jal b_area_trd_part_2_yellow_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B2FA8 80219DB8 E7A00028 */ swc1 $f0, 0x28($sp)
|
||||
/* 4B2FAC 80219DBC C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B2FB0 80219DC0 E7A0002C */ swc1 $f0, 0x2c($sp)
|
||||
@ -62,7 +62,7 @@ glabel func_80219CF0_4B2EE0
|
||||
/* 4B2FB8 80219DC8 E7A00030 */ swc1 $f0, 0x30($sp)
|
||||
/* 4B2FBC 80219DCC C4400140 */ lwc1 $f0, 0x140($v0)
|
||||
/* 4B2FC0 80219DD0 24040006 */ addiu $a0, $zero, 6
|
||||
/* 4B2FC4 80219DD4 0C086714 */ jal dup_b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B2FC4 80219DD4 0C086714 */ jal b_area_trd_part_2_yellow_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B2FC8 80219DD8 E7A00034 */ swc1 $f0, 0x34($sp)
|
||||
/* 4B2FCC 80219DDC C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B2FD0 80219DE0 E7A00038 */ swc1 $f0, 0x38($sp)
|
||||
@ -72,7 +72,7 @@ glabel func_80219CF0_4B2EE0
|
||||
/* 4B2FE0 80219DF0 0808679E */ j .L80219E78
|
||||
/* 4B2FE4 80219DF4 E7A00040 */ swc1 $f0, 0x40($sp)
|
||||
.L80219DF8:
|
||||
/* 4B2FE8 80219DF8 0C086714 */ jal dup_b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B2FE8 80219DF8 0C086714 */ jal b_area_trd_part_2_yellow_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B2FEC 80219DFC 24040003 */ addiu $a0, $zero, 3
|
||||
/* 4B2FF0 80219E00 C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B2FF4 80219E04 E7A00020 */ swc1 $f0, 0x20($sp)
|
||||
@ -80,7 +80,7 @@ glabel func_80219CF0_4B2EE0
|
||||
/* 4B2FFC 80219E0C E7A00024 */ swc1 $f0, 0x24($sp)
|
||||
/* 4B3000 80219E10 C4400140 */ lwc1 $f0, 0x140($v0)
|
||||
/* 4B3004 80219E14 24040004 */ addiu $a0, $zero, 4
|
||||
/* 4B3008 80219E18 0C086714 */ jal dup_b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B3008 80219E18 0C086714 */ jal b_area_trd_part_2_yellow_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B300C 80219E1C E7A00028 */ swc1 $f0, 0x28($sp)
|
||||
/* 4B3010 80219E20 C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B3014 80219E24 E7A0002C */ swc1 $f0, 0x2c($sp)
|
||||
@ -88,7 +88,7 @@ glabel func_80219CF0_4B2EE0
|
||||
/* 4B301C 80219E2C E7A00030 */ swc1 $f0, 0x30($sp)
|
||||
/* 4B3020 80219E30 C4400140 */ lwc1 $f0, 0x140($v0)
|
||||
/* 4B3024 80219E34 24040005 */ addiu $a0, $zero, 5
|
||||
/* 4B3028 80219E38 0C086714 */ jal dup_b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B3028 80219E38 0C086714 */ jal b_area_trd_part_2_yellow_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B302C 80219E3C E7A00034 */ swc1 $f0, 0x34($sp)
|
||||
/* 4B3030 80219E40 C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B3034 80219E44 E7A00038 */ swc1 $f0, 0x38($sp)
|
||||
@ -96,7 +96,7 @@ glabel func_80219CF0_4B2EE0
|
||||
/* 4B303C 80219E4C E7A0003C */ swc1 $f0, 0x3c($sp)
|
||||
/* 4B3040 80219E50 C4400140 */ lwc1 $f0, 0x140($v0)
|
||||
/* 4B3044 80219E54 24040006 */ addiu $a0, $zero, 6
|
||||
/* 4B3048 80219E58 0C086714 */ jal dup_b_area_trd_part_2_UnkEnemyFunc
|
||||
/* 4B3048 80219E58 0C086714 */ jal b_area_trd_part_2_yellow_ninja_koopa_UnkEnemyFunc
|
||||
/* 4B304C 80219E5C E7A00040 */ swc1 $f0, 0x40($sp)
|
||||
/* 4B3050 80219E60 C4400138 */ lwc1 $f0, 0x138($v0)
|
||||
/* 4B3054 80219E64 E7A00044 */ swc1 $f0, 0x44($sp)
|
||||
|
@ -2168,11 +2168,11 @@ segments:
|
||||
- [0x325160]
|
||||
- type: code
|
||||
start: 0x3251D0
|
||||
vram: 0x802BD100
|
||||
vram: 0x802C0000
|
||||
overlay: True
|
||||
subsegments:
|
||||
- [0x3251D0, c]
|
||||
- [0x3255E0, data]
|
||||
- [0x3251D0, c, 3251D0]
|
||||
- [0x3255E0]
|
||||
- type: code
|
||||
start: 0x325AD0
|
||||
vram: 0xE0200000
|
||||
@ -3670,21 +3670,7 @@ segments:
|
||||
- [0x4313F0, c, stage/kmr_04]
|
||||
- [0x431660, c, stage/kmr_05]
|
||||
- [0x4318D0, c, stage/kmr_06]
|
||||
- [0x431B80, .data, area]
|
||||
- [0x431FB0, .data, actor/goomba]
|
||||
- [0x433970, .data, actor/spiked_goomba]
|
||||
- [0x4354A0, .data, actor/paragoomba]
|
||||
- [0x438740, .data, stage/kmr_02]
|
||||
- [0x4387A0, .data, stage/kmr_03]
|
||||
- [0x438BF0, .data, stage/kmr_04]
|
||||
- [0x439040, .data, stage/kmr_05]
|
||||
- [0x439440, .data, stage/kmr_06]
|
||||
- [0x4398A0, .rodata, area]
|
||||
- [0x4399AC, .rodata, stage/kmr_02] # FIXME: fucky rodata alignment
|
||||
- [0x4399CC, .rodata, stage/kmr_03]
|
||||
- [0x4399FC, .rodata, stage/kmr_04]
|
||||
- [0x439A2C, .rodata, stage/kmr_05]
|
||||
- [0x439A5C, .rodata, stage/kmr_06]
|
||||
- [0x431B80]
|
||||
- dir: battle/area_kmr_part_2
|
||||
type: code
|
||||
start: 0x439A90
|
||||
@ -3813,23 +3799,38 @@ segments:
|
||||
type: code
|
||||
start: 0x4B11F0
|
||||
vram: 0x80218000
|
||||
subalign: 4
|
||||
overlay: True
|
||||
subsegments:
|
||||
- [0x4B11F0, c]
|
||||
- [0x4B15D0, c]
|
||||
- [0x4B1D90, c]
|
||||
- [0x4B2550, c]
|
||||
- [0x4B2D10, c]
|
||||
- [0x4B34D0, c]
|
||||
- [0x4B3740, data]
|
||||
- [0x4B11F0, c, area]
|
||||
- [0x4B11F0, c, actor/fake_bowser]
|
||||
- [0x4B15D0, c, actor/green_ninja_koopa]
|
||||
- [0x4B1D90, c, actor/red_ninja_koopa]
|
||||
- [0x4B2550, c, actor/blue_ninja_koopa]
|
||||
- [0x4B2D10, c, actor/yellow_ninja_koopa]
|
||||
- [0x4B34D0, c, stage/trd_00]
|
||||
- [0x4B34D0, c, stage/trd_01]
|
||||
- [0x4B34D0, c, stage/trd_02]
|
||||
- [0x4B34D0, c, stage/trd_02b]
|
||||
- [0x4B34D0, c, stage/trd_03]
|
||||
- [0x4B3740, c, stage/trd_04]
|
||||
- [0x4B3740, c, stage/trd_05]
|
||||
- [0x4B3740, c, stage/trd_05b]
|
||||
- [0x4B3740, c, stage/trd_05c]
|
||||
- [0x4B3740, c, stage/trd_05d]
|
||||
- [0x4B3740, c, stage/trd_05e]
|
||||
- [0x4B3740, c, stage/trd_05f]
|
||||
- [0x4B3740]
|
||||
- dir: battle/area_trd_part_3
|
||||
type: code
|
||||
start: 0x4CF1B0
|
||||
vram: 0x80218000
|
||||
overlay: True
|
||||
subsegments:
|
||||
- [0x4CF1B0, c]
|
||||
- [0x4CF3D0, data]
|
||||
- [0x4CF1B0, c, area]
|
||||
- [0x4CF1B0, c, actor/eldstar]
|
||||
- [0x4CF3D0, c, stage/nok_01]
|
||||
- [0x4CF3D0]
|
||||
- dir: battle/area_iwa
|
||||
type: code
|
||||
start: 0x4D01F0
|
||||
@ -4811,8 +4812,8 @@ segments:
|
||||
vram: 0x802A1000
|
||||
overlay: True
|
||||
subsegments:
|
||||
- [0x765C20, c]
|
||||
- [0x765D10, data]
|
||||
- [0x765C20, c, auto_jump]
|
||||
- [0x765D10]
|
||||
- dir: battle/move/power_quake
|
||||
type: code
|
||||
start: 0x767C90
|
||||
@ -4827,8 +4828,8 @@ segments:
|
||||
vram: 0x802A1000
|
||||
overlay: True
|
||||
subsegments:
|
||||
- [0x76A830, c]
|
||||
- [0x76A920, data]
|
||||
- [0x76A830, c, auto_multibounce]
|
||||
- [0x76A920]
|
||||
- dir: battle/move/power_jump
|
||||
type: code
|
||||
start: 0x76D760
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -105,6 +105,7 @@ D_801A7000 = 0x801A7000;
|
||||
D_801AA000 = 0x801AA000;
|
||||
D_80210000 = 0x80210000;
|
||||
D_80219040 = 0x80219040;
|
||||
D_8021E364_5D49F4 = 0x8021E364;
|
||||
D_80220740 = 0x80220740;
|
||||
D_80220744 = 0x80220744;
|
||||
D_80220750 = 0x80220750;
|
||||
@ -120,6 +121,7 @@ D_80224D80 = 0x80224D80;
|
||||
D_80224D90 = 0x80224D90;
|
||||
D_80224DA0 = 0x80224DA0;
|
||||
D_80224DB0 = 0x80224DB0;
|
||||
D_8022AD80_4C3F70 = 0x8022AD80;
|
||||
D_8022ADD0 = 0x8022ADD0;
|
||||
D_8022B550 = 0x8022B550;
|
||||
D_802310D0 = 0x802310D0;
|
||||
@ -127,6 +129,8 @@ D_80232C20 = 0x80232C20;
|
||||
D_80232C4C = 0x80232C4C;
|
||||
D_80232C50 = 0x80232C50;
|
||||
D_80235E00 = 0x80235E00;
|
||||
D_80235E6C_4CF05C = 0x80235E6C;
|
||||
D_80235F44_4CF134 = 0x80235F44;
|
||||
D_802367F0 = 0x802367F0;
|
||||
D_8023BD70 = 0x8023BD70;
|
||||
D_8023BD78 = 0x8023BD78;
|
||||
|
Loading…
Reference in New Issue
Block a user