battles organization (#1065)

* sbk

* pokey

* bandit

* check

* missing part ID refs

* nok progress

* area headers

* actors moved to common

* dedupe all stages

* couple missing actors and simplified includes

* separated stages by world area

* stage cleanup I

* stage cleanup II

* done stage cleanup

---------

Co-authored-by: HailSanta <Hail2Santa@gmail.com>
This commit is contained in:
HailSanta 2023-06-05 04:16:46 -04:00 committed by GitHub
parent edd9111b63
commit c3690e380e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
803 changed files with 37852 additions and 43779 deletions

View File

@ -3573,14 +3573,23 @@ enum StatusFlags {
STATUS_FLAG_80000000 = 0x80000000, STATUS_FLAG_80000000 = 0x80000000,
}; };
// general combination of flags for checking if an enemy is immobilized
#define STATUS_FLAGS_IMMOBILIZED \ #define STATUS_FLAGS_IMMOBILIZED \
(STATUS_FLAG_STONE \ (STATUS_FLAG_SLEEP \
| STATUS_FLAG_STOP \
| STATUS_FLAG_DIZZY \
| STATUS_FLAG_PARALYZE \
| STATUS_FLAG_FEAR \
| STATUS_FLAG_FROZEN \ | STATUS_FLAG_FROZEN \
| STATUS_FLAG_SLEEP) | STATUS_FLAG_FEAR \
| STATUS_FLAG_PARALYZE \
| STATUS_FLAG_DIZZY \
| STATUS_FLAG_STONE \
| STATUS_FLAG_STOP)
// common set of flags used in checks throughout Dojo fights
#define STATUS_FLAGS_DOJO \
(STATUS_FLAG_SLEEP \
| STATUS_FLAG_PARALYZE \
| STATUS_FLAG_DIZZY \
| STATUS_FLAG_STONE \
| STATUS_FLAG_STOP)
enum DamageTypes { enum DamageTypes {
DAMAGE_TYPE_FIRE = 0x00000002, DAMAGE_TYPE_FIRE = 0x00000002,
@ -3610,7 +3619,7 @@ enum DamageTypes {
DAMAGE_TYPE_SPIN_SMASH = 0x04000000, DAMAGE_TYPE_SPIN_SMASH = 0x04000000,
DAMAGE_TYPE_IGNORE_DEFENSE = 0x08000000, DAMAGE_TYPE_IGNORE_DEFENSE = 0x08000000,
DAMAGE_TYPE_NO_CONTACT = 0x10000000, DAMAGE_TYPE_NO_CONTACT = 0x10000000,
DAMAGE_TYPE_MULTIPLE_POPUPS = 0x20000000, DAMAGE_TYPE_MULTIPLE_POPUPS = 0x20000000, // part of an attack that hits multiple opponents
DAMAGE_TYPE_STATUS_ALWAYS_HITS = 0x40000000, DAMAGE_TYPE_STATUS_ALWAYS_HITS = 0x40000000,
DAMAGE_TYPE_TRIGGER_LUCKY = 0x80000000, DAMAGE_TYPE_TRIGGER_LUCKY = 0x80000000,
}; };

View File

@ -249,7 +249,7 @@ ApiStatus SetProjectileTargetOffset(Evt* script, s32 isInitialCall);
ApiStatus EnableActorBlur(Evt* script, s32 isInitialCall); ApiStatus EnableActorBlur(Evt* script, s32 isInitialCall);
ApiStatus AfflictActor(Evt* script, s32 isInitialCall); ApiStatus AfflictActor(Evt* script, s32 isInitialCall);
ApiStatus GetInstigatorValue(Evt* script, s32 isInitialCall); ApiStatus GetInstigatorValue(Evt* script, s32 isInitialCall);
ApiStatus GetEncounterState(Evt* script, s32 isInitialCall); ApiStatus GetEncounterTrigger(Evt* script, s32 isInitialCall);
ApiStatus YieldTurn(Evt* script, s32 isInitialCall); ApiStatus YieldTurn(Evt* script, s32 isInitialCall);
ApiStatus SetActorSize(Evt* script, s32 isInitialCall); ApiStatus SetActorSize(Evt* script, s32 isInitialCall);
ApiStatus GetActorSize(Evt* script, s32 isInitialCall); ApiStatus GetActorSize(Evt* script, s32 isInitialCall);

View File

@ -3045,9 +3045,9 @@ void btl_state_update_end_player_turn(void) {
partner->currentPos.x += (player->state.currentPos.x - partner->currentPos.x) / player->state.moveTime; partner->currentPos.x += (player->state.currentPos.x - partner->currentPos.x) / player->state.moveTime;
partner->currentPos.z += (player->state.currentPos.z - partner->currentPos.z) / player->state.moveTime; partner->currentPos.z += (player->state.currentPos.z - partner->currentPos.z) / player->state.moveTime;
} }
player->currentPos.z += sin_rad((player->state.angle * TAU) / 360.0f) * 16.0f; player->currentPos.z += sin_rad(DEG_TO_RAD(player->state.angle)) * 16.0f;
player->yaw = clamp_angle(-player->state.angle); player->yaw = clamp_angle(-player->state.angle);
partner->currentPos.z -= sin_rad((player->state.angle * TAU) / 360.0f) * 16.0f; partner->currentPos.z -= sin_rad(DEG_TO_RAD(player->state.angle)) * 16.0f;
partner->yaw = clamp_angle(-player->state.angle); partner->yaw = clamp_angle(-player->state.angle);
player->state.angle += 90.0f; player->state.angle += 90.0f;

View File

@ -245,8 +245,8 @@ s32 bActorNames[ACTOR_TYPE_COUNT] = {
[ACTOR_TYPE_SIGNAL_GUY] MSG_EnemyName_ShyGuy, [ACTOR_TYPE_SIGNAL_GUY] MSG_EnemyName_ShyGuy,
[ACTOR_TYPE_SHY_SQUAD_DUP] MSG_EnemyName_ShySquadDup, [ACTOR_TYPE_SHY_SQUAD_DUP] MSG_EnemyName_ShySquadDup,
[ACTOR_TYPE_SHY_GUY_DUP] MSG_EnemyName_ShyGuy, [ACTOR_TYPE_SHY_GUY_DUP] MSG_EnemyName_ShyGuy,
[ACTOR_TYPE_ANTI_GUY] MSG_EnemyName_AntiGuy, [ACTOR_TYPE_ANTI_GUY_OMO] MSG_EnemyName_AntiGuy,
[ACTOR_TYPE_ANTI_GUY_DUP] MSG_EnemyName_AntiGuy, [ACTOR_TYPE_ANTI_GUY_KPA] MSG_EnemyName_AntiGuy,
[ACTOR_TYPE_BIG_LANTERN_GHOST] MSG_EnemyName_BigLanternGhost, [ACTOR_TYPE_BIG_LANTERN_GHOST] MSG_EnemyName_BigLanternGhost,
[ACTOR_TYPE_GOOMBA_KING_DUP] MSG_EnemyName_GoombaKing, [ACTOR_TYPE_GOOMBA_KING_DUP] MSG_EnemyName_GoombaKing,
[ACTOR_TYPE_LAVA_PIRANHA_PHASE_1] MSG_EnemyName_LavaPiranha, [ACTOR_TYPE_LAVA_PIRANHA_PHASE_1] MSG_EnemyName_LavaPiranha,
@ -1519,14 +1519,14 @@ ActorSounds bActorSoundTable[ACTOR_TYPE_COUNT] = {
.hurt = SOUND_10F, .hurt = SOUND_10F,
.delay = { 30, 30 } .delay = { 30, 30 }
}, },
[ACTOR_TYPE_ANTI_GUY] = { [ACTOR_TYPE_ANTI_GUY_OMO] = {
.walk = { SOUND_20BA, SOUND_3B4 }, .walk = { SOUND_20BA, SOUND_3B4 },
.fly = { NULL, NULL }, .fly = { NULL, NULL },
.jump = SOUND_JUMP_3E2, .jump = SOUND_JUMP_3E2,
.hurt = SOUND_10F, .hurt = SOUND_10F,
.delay = { 30, 30 } .delay = { 30, 30 }
}, },
[ACTOR_TYPE_ANTI_GUY_DUP] = { [ACTOR_TYPE_ANTI_GUY_KPA] = {
.walk = { SOUND_20BA, SOUND_3B4 }, .walk = { SOUND_20BA, SOUND_3B4 },
.fly = { NULL, NULL }, .fly = { NULL, NULL },
.jump = SOUND_JUMP_3E2, .jump = SOUND_JUMP_3E2,
@ -1956,8 +1956,8 @@ s32 bActorTattles[ACTOR_TYPE_COUNT] = {
[ACTOR_TYPE_SIGNAL_GUY] = MSG_EnemyTattle_ShyGuy, [ACTOR_TYPE_SIGNAL_GUY] = MSG_EnemyTattle_ShyGuy,
[ACTOR_TYPE_SHY_SQUAD_DUP] = NULL, [ACTOR_TYPE_SHY_SQUAD_DUP] = NULL,
[ACTOR_TYPE_SHY_GUY_DUP] = MSG_EnemyTattle_ShyGuy, [ACTOR_TYPE_SHY_GUY_DUP] = MSG_EnemyTattle_ShyGuy,
[ACTOR_TYPE_ANTI_GUY] = MSG_EnemyTattle_AntiGuy, [ACTOR_TYPE_ANTI_GUY_OMO] = MSG_EnemyTattle_AntiGuy,
[ACTOR_TYPE_ANTI_GUY_DUP] = MSG_EnemyTattle_AntiGuy, [ACTOR_TYPE_ANTI_GUY_KPA] = MSG_EnemyTattle_AntiGuy,
[ACTOR_TYPE_BIG_LANTERN_GHOST] = MSG_EnemyTattle_BigLanternGhost, [ACTOR_TYPE_BIG_LANTERN_GHOST] = MSG_EnemyTattle_BigLanternGhost,
[ACTOR_TYPE_GOOMBA_KING_DUP] = MSG_EnemyTattle_GoombaKing, [ACTOR_TYPE_GOOMBA_KING_DUP] = MSG_EnemyTattle_GoombaKing,
[ACTOR_TYPE_LAVA_PIRANHA_PHASE_1] = MSG_EnemyTattle_LavaPiranhaPhase1, [ACTOR_TYPE_LAVA_PIRANHA_PHASE_1] = MSG_EnemyTattle_LavaPiranhaPhase1,
@ -2171,8 +2171,8 @@ ActorOffsets bActorOffsets[ACTOR_TYPE_COUNT] = {
[ACTOR_TYPE_SIGNAL_GUY] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 }, [ACTOR_TYPE_SIGNAL_GUY] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
[ACTOR_TYPE_SHY_SQUAD_DUP] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 }, [ACTOR_TYPE_SHY_SQUAD_DUP] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
[ACTOR_TYPE_SHY_GUY_DUP] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 }, [ACTOR_TYPE_SHY_GUY_DUP] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
[ACTOR_TYPE_ANTI_GUY] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 }, [ACTOR_TYPE_ANTI_GUY_OMO] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
[ACTOR_TYPE_ANTI_GUY_DUP] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 }, [ACTOR_TYPE_ANTI_GUY_KPA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
[ACTOR_TYPE_BIG_LANTERN_GHOST] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 }, [ACTOR_TYPE_BIG_LANTERN_GHOST] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
[ACTOR_TYPE_GOOMBA_KING_DUP] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 }, [ACTOR_TYPE_GOOMBA_KING_DUP] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
[ACTOR_TYPE_LAVA_PIRANHA_PHASE_1] = { .tattleCam = { 25, 250, 60 }, .shadow = 0 }, [ACTOR_TYPE_LAVA_PIRANHA_PHASE_1] = { .tattleCam = { 25, 250, 60 }, .shadow = 0 },

View File

@ -1,4 +1,3 @@
#include "common.h"
#include "battle/battle.h" #include "battle/battle.h"
#include "script_api/battle.h" #include "script_api/battle.h"
#include "effects.h" #include "effects.h"

View File

@ -1,4 +1,3 @@
#include "common.h"
#include "battle/battle.h" #include "battle/battle.h"
BSS char D_8029F660[0x400]; // unused? BSS char D_8029F660[0x400]; // unused?

View File

@ -1,4 +1,3 @@
#include "common.h"
#include "battle/battle.h" #include "battle/battle.h"
#include "script_api/battle.h" #include "script_api/battle.h"
#include "effects.h" #include "effects.h"
@ -3200,7 +3199,7 @@ ApiStatus GetInstigatorValue(Evt* script, s32 isInitialCall) {
return ApiStatus_DONE2; return ApiStatus_DONE2;
} }
ApiStatus GetEncounterState(Evt* script, s32 isInitialCall) { ApiStatus GetEncounterTrigger(Evt* script, s32 isInitialCall) {
evt_set_variable(script, *script->ptrReadPos, gCurrentEncounter.hitType); evt_set_variable(script, *script->ptrReadPos, gCurrentEncounter.hitType);
return ApiStatus_DONE2; return ApiStatus_DONE2;
} }

View File

@ -1,4 +1,3 @@
#include "common.h"
#include "battle/battle.h" #include "battle/battle.h"
#include "script_api/battle.h" #include "script_api/battle.h"
#include "effects.h" #include "effects.h"

View File

@ -1,4 +1,3 @@
#include "common.h"
#include "battle/battle.h" #include "battle/battle.h"
#include "hud_element.h" #include "hud_element.h"
#include "battle/action_cmd.h" #include "battle/action_cmd.h"
@ -4727,9 +4726,9 @@ void btl_state_update_twink_menu(void) {
partner->currentPos.x += (player->state.currentPos.x - partner->currentPos.x) / player->state.moveTime; partner->currentPos.x += (player->state.currentPos.x - partner->currentPos.x) / player->state.moveTime;
partner->currentPos.z += (player->state.currentPos.z - partner->currentPos.z) / player->state.moveTime; partner->currentPos.z += (player->state.currentPos.z - partner->currentPos.z) / player->state.moveTime;
} }
player->currentPos.z += sin_rad((player->state.angle * TAU) / 360.0f) * 16.0f; player->currentPos.z += sin_rad(DEG_TO_RAD(player->state.angle)) * 16.0f;
player->yaw = clamp_angle(-player->state.angle); player->yaw = clamp_angle(-player->state.angle);
partner->currentPos.z -= sin_rad((player->state.angle * TAU) / 360.0f) * 16.0f; partner->currentPos.z -= sin_rad(DEG_TO_RAD(player->state.angle)) * 16.0f;
partner->yaw = clamp_angle(-player->state.angle); partner->yaw = clamp_angle(-player->state.angle);
player->state.angle += 90.0f; player->state.angle += 90.0f;
if (player->state.moveTime != 0) { if (player->state.moveTime != 0) {

View File

@ -2044,7 +2044,7 @@ ApiStatus SummonEnemy(Evt* script, s32 isInitialCall) {
s32 i, j; s32 i, j;
u16 enemyID1, enemyID2; u16 enemyID1, enemyID2;
s32 priority1, priority2; s32 priority1, priority2;
s32 tempPriority; s32 basePriority;
if (isInitialCall) { if (isInitialCall) {
script->functionTemp[0] = 0; script->functionTemp[0] = 0;
@ -2053,7 +2053,7 @@ ApiStatus SummonEnemy(Evt* script, s32 isInitialCall) {
switch (script->functionTemp[0]) { switch (script->functionTemp[0]) {
case 0: case 0:
script->functionTempPtr[1] = create_actor((FormationRow*)evt_get_variable(script, *args++)); script->functionTempPtr[1] = create_actor((FormationRow*)evt_get_variable(script, *args++));
script->functionTemp[2] = evt_get_variable(script, *args++); script->functionTemp[2] = evt_get_variable(script, *args++); // isLowPriority
script->functionTemp[0] = 1; script->functionTemp[0] = 1;
break; break;
case 1: case 1:
@ -2071,25 +2071,25 @@ ApiStatus SummonEnemy(Evt* script, s32 isInitialCall) {
} }
} }
battleStatus->numEnemyActors = numEnemies; battleStatus->numEnemyActors = numEnemies;
if (script->functionTemp[2] != 0) { if (script->functionTemp[2]) {
tempPriority = -1000; basePriority = -1000;
} else { } else {
tempPriority = 1000; basePriority = 1000;
} }
enemyIDs = battleStatus->enemyIDs; enemyIDs = battleStatus->enemyIDs;
for (i = 0; i < numEnemies - 1; i++) { for (i = 0; i < numEnemies - 1; i++) {
for (j = i + 1; j < numEnemies; j++) { for (j = i + 1; j < numEnemies; j++) {
enemyID1 = enemyIDs[i]; enemyID1 = enemyIDs[i];
actor1 = battleStatus->enemyActors[(u8) enemyID1]; actor1 = battleStatus->enemyActors[enemyID1 & 0xFF];
priority1 = actor1->turnPriority; priority1 = actor1->turnPriority;
if (actor1 == actor2) { if (actor1 == actor2) {
priority1 += tempPriority; priority1 += basePriority;
} }
enemyID2 = enemyIDs[j]; enemyID2 = enemyIDs[j];
actor1 = battleStatus->enemyActors[(u8) enemyID2]; actor1 = battleStatus->enemyActors[enemyID2 & 0xFF];
priority2 = actor1->turnPriority; priority2 = actor1->turnPriority;
if (actor1 == actor2) { if (actor1 == actor2) {
priority2 += tempPriority; priority2 += basePriority;
} }
if (priority1 < priority2) { if (priority1 < priority2) {
enemyIDs[i] = enemyID2; enemyIDs[i] = enemyID2;
@ -2100,7 +2100,7 @@ ApiStatus SummonEnemy(Evt* script, s32 isInitialCall) {
} else { } else {
numEnemies = battleStatus->numEnemyActors; numEnemies = battleStatus->numEnemyActors;
for (i = 0; i < numEnemies; i++){ for (i = 0; i < numEnemies; i++){
if (battleStatus->enemyActors[(u8) enemyIDs[i]] == actor2) { if (battleStatus->enemyActors[enemyIDs[i] & 0xFF] == actor2) {
enemyIDs[i] = -1; enemyIDs[i] = -1;
} }
} }
@ -2133,21 +2133,21 @@ ApiStatus SetOwnerID(Evt* script, s32 isInitialCall) {
} }
ApiStatus ActorExists(Evt* script, s32 isInitialCall) { ApiStatus ActorExists(Evt* script, s32 isInitialCall) {
Bytecode isExist;
Actor* partner = gBattleStatus.partnerActor; Actor* partner = gBattleStatus.partnerActor;
Bytecode* args = script->ptrReadPos; Bytecode* args = script->ptrReadPos;
s32 actorID = evt_get_variable(script, *args++); s32 actorID = evt_get_variable(script, *args++);
b32 exists;
if (actorID == ACTOR_SELF) { if (actorID == ACTOR_SELF) {
actorID = script->owner1.actorID; actorID = script->owner1.actorID;
} }
isExist = get_actor(actorID) != NULL; exists = get_actor(actorID) != NULL;
if ((actorID == ACTOR_PARTNER) && (partner == NULL)) { if ((actorID == ACTOR_PARTNER) && (partner == NULL)) {
isExist = FALSE; exists = FALSE;
} }
evt_set_variable(script, *args++, isExist); evt_set_variable(script, *args++, exists);
return ApiStatus_DONE2; return ApiStatus_DONE2;
} }

View File

@ -1,4 +1,3 @@
#include "common.h"
#include "battle/battle.h" #include "battle/battle.h"
#include "battle/action_cmd.h" #include "battle/action_cmd.h"

View File

@ -1,4 +1,3 @@
#include "common.h"
#include "battle/battle.h" #include "battle/battle.h"
#include "battle/action_cmd.h" #include "battle/action_cmd.h"

View File

@ -1,4 +1,3 @@
#include "common.h"
#include "battle/battle.h" #include "battle/battle.h"
#include "battle/action_cmd.h" #include "battle/action_cmd.h"

View File

@ -1,844 +1,3 @@
#include "common.h" #include "../area.h"
#include "effects.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#include "sprite/npc/Cleft.h"
#define NAMESPACE b_area_arn_hyper_cleft #include "battle/common/actor/hyper_cleft.inc.c"
extern s32 N(IdleAnimations_80221CD4)[];
extern EvtScript N(EVS_Init);
extern EvtScript N(idle_80221DD0);
extern EvtScript N(handleEvent_80222140);
extern EvtScript N(takeTurn_80221A58);
extern EvtScript N(takeTurn_80223B5C);
extern EvtScript N(nextTurn_80220D3C);
extern EvtScript N(80222F1C);
extern EvtScript N(80223310);
enum N(ActorPartIDs) {
PRT_MAIN = 1,
};
s32 N(DefenseTable_80220B40)[] = {
ELEMENT_NORMAL, 3,
ELEMENT_FIRE, 99,
ELEMENT_END,
};
s32 N(DefenseTable_80220B54)[] = {
ELEMENT_NORMAL, 1,
ELEMENT_FIRE, 99,
ELEMENT_END,
};
s32 N(StatusTable)[] = {
STATUS_KEY_NORMAL, 0,
STATUS_KEY_DEFAULT, 0,
STATUS_KEY_SLEEP, 40,
STATUS_KEY_POISON, 50,
STATUS_KEY_FROZEN, 0,
STATUS_KEY_DIZZY, 50,
STATUS_KEY_FEAR, 0,
STATUS_KEY_STATIC, 50,
STATUS_KEY_PARALYZE, 50,
STATUS_KEY_SHRINK, 90,
STATUS_KEY_STOP, 90,
STATUS_TURN_MOD_DEFAULT, 0,
STATUS_TURN_MOD_SLEEP, -1,
STATUS_TURN_MOD_POISON, 0,
STATUS_TURN_MOD_FROZEN, 0,
STATUS_TURN_MOD_DIZZY, -1,
STATUS_TURN_MOD_FEAR, 0,
STATUS_TURN_MOD_STATIC, 0,
STATUS_TURN_MOD_PARALYZE, 0,
STATUS_TURN_MOD_SHRINK, 0,
STATUS_TURN_MOD_STOP, 0,
STATUS_END,
};
ActorPartBlueprint N(ActorParts)[] = {
{
.flags = ACTOR_PART_FLAG_MULTI_TARGET,
.index = PRT_MAIN,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 22 },
.opacity = 255,
.idleAnimations = N(IdleAnimations_80221CD4),
.defenseTable = N(DefenseTable_80220B40),
.eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP,
.elementImmunityFlags = 0,
.projectileTargetOffset = { 0, -10 },
},
};
ActorBlueprint NAMESPACE = {
.flags = 0,
.type = ACTOR_TYPE_HYPER_CLEFT,
.level = 15,
.maxHP = 4,
.partCount = ARRAY_COUNT(N(ActorParts)),
.partsData = N(ActorParts),
.initScript = &N(EVS_Init),
.statusTable = N(StatusTable),
.escapeChance = 70,
.airLiftChance = 30,
.hurricaneChance = 30,
.spookChance = 30,
.upAndAwayChance = 95,
.spinSmashReq = 0,
.powerBounceChance = 95,
.coinReward = 2,
.size = { 44, 36 },
.healthBarOffset = { 0, 0 },
.statusIconOffset = { -10, 20 },
.statusTextOffset = { 10, 20 },
};
s32 N(IdleAnimations_80220C60)[] = {
STATUS_KEY_NORMAL, ANIM_Cleft_Hyper_Anim04,
STATUS_KEY_STONE, ANIM_Cleft_Hyper_Anim00,
STATUS_KEY_SLEEP, ANIM_Cleft_Hyper_Anim0C,
STATUS_KEY_POISON, ANIM_Cleft_Hyper_Anim04,
STATUS_KEY_STOP, ANIM_Cleft_Hyper_Anim00,
STATUS_KEY_STATIC, ANIM_Cleft_Hyper_Anim04,
STATUS_KEY_PARALYZE, ANIM_Cleft_Hyper_Anim00,
STATUS_KEY_DIZZY, ANIM_Cleft_Hyper_Anim0E,
STATUS_KEY_FEAR, ANIM_Cleft_Hyper_Anim0E,
STATUS_END,
};
EvtScript N(EVS_Init) = {
EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_80221DD0)))
EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_80222140)))
EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_80221A58)))
EVT_CALL(BindNextTurn, ACTOR_SELF, EVT_PTR(N(nextTurn_80220D3C)))
EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0)
EVT_CALL(SetActorVar, ACTOR_SELF, 2, 0)
EVT_RETURN
EVT_END
};
EvtScript N(nextTurn_80220D3C) = {
EVT_CALL(GetBattlePhase, LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_EQ(PHASE_PLAYER_BEGIN)
EVT_CASE_EQ(PHASE_ENEMY_BEGIN)
EVT_CASE_EQ(PHASE_ENEMY_END)
EVT_CALL(SetBattleVar, 1, 0)
EVT_CALL(SetActorVar, ACTOR_SELF, 2, 1)
EVT_END_SWITCH
EVT_RETURN
EVT_END
};
#include "common/StartRumbleWithParams.inc.c"
EvtScript N(80220DC0) = {
EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE)
EVT_CALL(EnableIdleScript, ACTOR_SELF, 0)
EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER)
EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0)
EVT_IF_EQ(LVar0, 0)
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14)
EVT_CALL(BattleCamTargetActor, ACTOR_SELF)
EVT_CALL(MoveBattleCamOver, 20)
EVT_WAIT(20)
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_POWER_UP)
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_ADD(LVar1, 10)
EVT_PLAY_EFFECT(EFFECT_ENERGY_IN_OUT, 6, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 45, 0)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim04)
EVT_WAIT(30)
EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT)
EVT_CALL(MoveBattleCamOver, 20)
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0))
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE)
EVT_CALL(N(StartRumbleWithParams), 200, 10)
EVT_THREAD
EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(1.5))
EVT_END_THREAD
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2D9)
EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 4, LVar0, LVar1, LVar2, 0, 0)
EVT_THREAD
EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(1.0))
EVT_END_THREAD
EVT_CALL(SetActorVar, ACTOR_SELF, 0, 2)
EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80220C60)))
EVT_CALL(EnableActorGlow, ACTOR_SELF, TRUE)
EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, TRUE)
EVT_CALL(EnableIdleScript, ACTOR_SELF, 1)
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
EVT_RETURN
EVT_END_IF
EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH)
EVT_CALL(BattleCamTargetActor, ACTOR_SELF)
EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE)
EVT_CALL(MoveBattleCamOver, 30)
EVT_LOOP(20)
EVT_CALL(SetActorDispOffset, ACTOR_SELF, 1, 0, 0)
EVT_WAIT(1)
EVT_CALL(SetActorDispOffset, ACTOR_SELF, -1, 0, 0)
EVT_WAIT(1)
EVT_END_LOOP
EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0)
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2DA)
EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_0, SOUND_0)
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 3, BS_FLAGS1_10)
EVT_SWITCH(LVar0)
EVT_CASE_OR_EQ(HIT_RESULT_MISS)
EVT_CASE_OR_EQ(HIT_RESULT_LUCKY)
EVT_SET(LVarA, LVar0)
EVT_THREAD
EVT_LOOP(0)
EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2)
EVT_ADD(LVar0, 30)
EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5)
EVT_IF_GT(LVar0, LVar3)
EVT_BREAK_LOOP
EVT_END_IF
EVT_WAIT(1)
EVT_END_LOOP
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_01)
EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY)
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0)
EVT_END_IF
EVT_WAIT(15)
EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT)
EVT_END_THREAD
EVT_THREAD
EVT_LOOP(30)
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_PLAY_EFFECT(EFFECT_WALKING_DUST, 2, LVar0, LVar1, LVar2, 0, 0, 0)
EVT_WAIT(1)
EVT_END_LOOP
EVT_END_THREAD
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim11)
EVT_CALL(SetGoalToTarget, ACTOR_SELF)
EVT_CALL(AddGoalPos, ACTOR_SELF, -200, 0, 0)
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(12.0))
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
EVT_WAIT(15)
EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE)
EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE)
EVT_CALL(YieldTurn)
EVT_CALL(ResetAllActorSounds, ACTOR_SELF)
EVT_CALL(SetActorPos, ACTOR_SELF, 300, 0, 0)
EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim07)
EVT_CALL(SetGoalToHome, ACTOR_SELF)
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0))
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim02)
EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0)
EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0)
EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80221CD4)))
EVT_CALL(EnableIdleScript, ACTOR_SELF, 1)
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
EVT_RETURN
EVT_END_CASE_GROUP
EVT_END_SWITCH
EVT_THREAD
EVT_LOOP(25)
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_PLAY_EFFECT(EFFECT_WALKING_DUST, 2, LVar0, LVar1, LVar2, 0, 0, 0)
EVT_WAIT(1)
EVT_END_LOOP
EVT_END_THREAD
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim11)
EVT_CALL(SetGoalToTarget, ACTOR_SELF)
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(12.0))
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
EVT_CALL(ResetAllActorSounds, ACTOR_SELF)
EVT_WAIT(2)
EVT_CALL(SetGoalToTarget, ACTOR_SELF)
EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 8, BS_FLAGS1_SP_EVT_ACTIVE)
EVT_SWITCH(LVar0)
EVT_CASE_OR_EQ(HIT_RESULT_HIT)
EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE)
EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT)
EVT_THREAD
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 16, 0)
EVT_SET(LVar0, 0)
EVT_LOOP(60)
EVT_ADD(LVar0, 18)
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0)
EVT_WAIT(1)
EVT_END_LOOP
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0)
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0)
EVT_END_THREAD
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0))
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_SUB(LVar0, 50)
EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(JumpToGoal, ACTOR_SELF, 30, FALSE, TRUE, FALSE)
EVT_SUB(LVar0, 40)
EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE)
EVT_SUB(LVar0, 30)
EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE)
EVT_WAIT(20)
EVT_CALL(YieldTurn)
EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE)
EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE)
EVT_CALL(SetActorYaw, ACTOR_SELF, 180)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim07)
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0))
EVT_CALL(SetGoalToHome, ACTOR_SELF)
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim02)
EVT_CALL(SetActorYaw, ACTOR_SELF, 0)
EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0)
EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80221CD4)))
EVT_END_CASE_GROUP
EVT_END_SWITCH
EVT_CALL(EnableIdleScript, ACTOR_SELF, 1)
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
EVT_RETURN
EVT_END
};
EvtScript N(takeTurn_80221A58) = {
EVT_CALL(GetBattlePhase, LVar0)
EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE)
EVT_CALL(SetBattleVar, 1, 1)
EVT_EXEC_WAIT(N(80223310))
EVT_RETURN
EVT_END_IF
EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0)
EVT_IF_EQ(LVar0, 1)
EVT_EXEC_WAIT(N(80222F1C))
EVT_RETURN
EVT_END_IF
EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0)
EVT_IF_EQ(LVar0, 2)
EVT_EXEC_WAIT(N(80220DC0))
EVT_RETURN
EVT_END_IF
EVT_CALL(GetBattleVar, 1, LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_EQ(0)
EVT_CALL(GetActorVar, ACTOR_SELF, 2, LVar0)
EVT_IF_EQ(LVar0, 0)
EVT_CALL(RandInt, 1000, LVar0)
EVT_IF_LT(LVar0, 750)
EVT_CALL(SetBattleVar, 1, 2)
EVT_EXEC_WAIT(N(80220DC0))
EVT_ELSE
EVT_CALL(SetBattleVar, 1, 1)
EVT_EXEC_WAIT(N(80223310))
EVT_END_IF
EVT_ELSE
EVT_CALL(RandInt, 1000, LVar0)
EVT_IF_LT(LVar0, 500)
EVT_CALL(SetBattleVar, 1, 2)
EVT_EXEC_WAIT(N(80220DC0))
EVT_ELSE
EVT_CALL(SetBattleVar, 1, 1)
EVT_EXEC_WAIT(N(80223310))
EVT_END_IF
EVT_END_IF
EVT_CASE_EQ(1)
EVT_EXEC_WAIT(N(80223310))
EVT_RETURN
EVT_CASE_EQ(2)
EVT_EXEC_WAIT(N(80220DC0))
EVT_RETURN
EVT_END_SWITCH
EVT_RETURN
EVT_END
};
s32 N(IdleAnimations_80221CD4)[] = {
STATUS_KEY_NORMAL, ANIM_Cleft_Hyper_Anim02,
STATUS_KEY_STONE, ANIM_Cleft_Hyper_Anim00,
STATUS_KEY_SLEEP, ANIM_Cleft_Hyper_Anim0C,
STATUS_KEY_POISON, ANIM_Cleft_Hyper_Anim02,
STATUS_KEY_STOP, ANIM_Cleft_Hyper_Anim00,
STATUS_KEY_STATIC, ANIM_Cleft_Hyper_Anim02,
STATUS_KEY_PARALYZE, ANIM_Cleft_Hyper_Anim00,
STATUS_KEY_DIZZY, ANIM_Cleft_Hyper_Anim0E,
STATUS_KEY_FEAR, ANIM_Cleft_Hyper_Anim0E,
STATUS_END,
};
s32 N(IdleAnimations_80221D20)[] = {
STATUS_KEY_NORMAL, ANIM_Cleft_Hyper_Anim05,
STATUS_KEY_STONE, ANIM_Cleft_Hyper_Anim01,
STATUS_KEY_SLEEP, ANIM_Cleft_Hyper_Anim0D,
STATUS_KEY_POISON, ANIM_Cleft_Hyper_Anim05,
STATUS_KEY_STOP, ANIM_Cleft_Hyper_Anim01,
STATUS_KEY_STATIC, ANIM_Cleft_Hyper_Anim05,
STATUS_KEY_PARALYZE, ANIM_Cleft_Hyper_Anim01,
STATUS_KEY_DIZZY, ANIM_Cleft_Hyper_Anim0F,
STATUS_KEY_FEAR, ANIM_Cleft_Hyper_Anim0F,
STATUS_END,
};
EvtScript N(80221D6C) = {
EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_80221DD0)))
EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_80223B5C)))
EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_80222140)))
EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0)
EVT_RETURN
EVT_END
};
EvtScript N(idle_80221DD0) = {
EVT_RETURN
EVT_END
};
#include "common/SetSpinSmashable.inc.c"
EvtScript N(80221DE0) = {
EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1)
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 2)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim07)
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 16, 0)
EVT_THREAD
EVT_SET(LVar0, 0)
EVT_LOOP(5)
EVT_ADD(LVar0, -36)
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0)
EVT_WAIT(1)
EVT_END_LOOP
EVT_END_THREAD
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.3))
EVT_SUB(LVar1, 6)
EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE)
EVT_CALL(N(StartRumbleWithParams), 200, 10)
EVT_THREAD
EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(1.0))
EVT_END_THREAD
EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 0, LVar0, LVar1, LVar2, 40, 8, EVT_FLOAT(0.0), 20, 0)
EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, 0, LVar2)
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0)
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim03)
EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80221D20)))
EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_80220B54)))
EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 15)
EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, -7)
EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE)
EVT_CALL(N(SetSpinSmashable), 0)
EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, TRUE)
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0)
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0)
EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE)
EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE)
EVT_RETURN
EVT_END
};
EvtScript N(handleEvent_80222140) = {
EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE)
EVT_CALL(EnableIdleScript, ACTOR_SELF, 0)
EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_OR_EQ(EVENT_HIT_COMBO)
EVT_CASE_OR_EQ(EVENT_HIT)
EVT_CALL(GetLastElement, LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_FLAG(DAMAGE_TYPE_BLAST)
EVT_EXEC_WAIT(N(80221DE0))
EVT_CASE_DEFAULT
EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0)
EVT_IF_EQ(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim09)
EVT_ELSE
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim08)
EVT_END_IF
EVT_SET_CONST(LVar0, 1)
EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_END_SWITCH
EVT_END_CASE_GROUP
EVT_CASE_EQ(EVENT_BURN_HIT)
EVT_CALL(GetLastElement, LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_FLAG(DAMAGE_TYPE_BLAST)
EVT_EXEC_WAIT(N(80221DE0))
EVT_CASE_DEFAULT
EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION, TRUE)
EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0)
EVT_IF_EQ(LVar0, 1)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim09)
EVT_SET_CONST(LVar2, -1)
EVT_EXEC_WAIT(EVS_Enemy_BurnHit)
EVT_ELSE
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim08)
EVT_SET_CONST(LVar2, -1)
EVT_EXEC_WAIT(EVS_Enemy_BurnHit)
EVT_END_IF
EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION, FALSE)
EVT_END_SWITCH
EVT_CASE_EQ(EVENT_BURN_DEATH)
EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0)
EVT_IF_EQ(LVar0, 1)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim09)
EVT_SET_CONST(LVar2, -1)
EVT_EXEC_WAIT(EVS_Enemy_BurnHit)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim09)
EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_ELSE
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim08)
EVT_SET_CONST(LVar2, -1)
EVT_EXEC_WAIT(EVS_Enemy_BurnHit)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_END_IF
EVT_RETURN
EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT)
EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0)
EVT_IF_EQ(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim09)
EVT_ELSE
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim08)
EVT_END_IF
EVT_SET_CONST(LVar0, 1)
EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit)
EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH)
EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0)
EVT_IF_EQ(LVar0, 1)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim09)
EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim09)
EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_ELSE
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_END_IF
EVT_RETURN
EVT_CASE_EQ(EVENT_SHOCK_HIT)
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0)
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0)
EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE)
EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE)
EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0)
EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80221CD4)))
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_ShockHit)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_JumpBack)
EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim07)
EVT_EXEC_WAIT(EVS_Enemy_ReturnHome)
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6))
EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE)
EVT_CASE_EQ(EVENT_SHOCK_DEATH)
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0)
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0)
EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE)
EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE)
EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0)
EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80221CD4)))
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_ShockHit)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN
EVT_CASE_EQ(EVENT_STAR_BEAM)
EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0)
EVT_IF_EQ(LVar0, 2)
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0)
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0)
EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE)
EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE)
EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0)
EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80221CD4)))
EVT_END_IF
EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0)
EVT_IF_EQ(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim03)
EVT_ELSE
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim02)
EVT_END_IF
EVT_SET_CONST(LVar0, 1)
EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit)
EVT_CASE_EQ(EVENT_SPIKE_TAUNT)
EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0)
EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim18)
EVT_END_IF
EVT_WAIT(10)
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3)
EVT_IF_FLAG(LVar3, STATUS_FLAG_SHRINK)
EVT_ADD(LVar0, -3)
EVT_ADD(LVar1, 10)
EVT_ELSE
EVT_ADD(LVar0, -8)
EVT_ADD(LVar1, 27)
EVT_END_IF
EVT_PLAY_EFFECT(EFFECT_LENS_FLARE, 0, LVar0, LVar1, LVar2, 20, 0)
EVT_WAIT(20)
EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE)
EVT_CASE_OR_EQ(EVENT_IMMUNE)
EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED)
EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0)
EVT_IF_EQ(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim03)
EVT_ELSE
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim02)
EVT_END_IF
EVT_SET_CONST(LVar0, 1)
EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit)
EVT_END_CASE_GROUP
EVT_CASE_EQ(EVENT_DEATH)
EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0)
EVT_IF_EQ(LVar0, 1)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim09)
EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_WAIT(10)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim09)
EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_ELSE
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_WAIT(10)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_END_IF
EVT_RETURN
EVT_CASE_EQ(EVENT_RECOVER_STATUS)
EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0)
EVT_IF_EQ(LVar0, 0)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim02)
EVT_EXEC_WAIT(EVS_Enemy_Recover)
EVT_END_IF
EVT_CASE_EQ(EVENT_SCARE_AWAY)
EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0)
EVT_IF_EQ(LVar0, 1)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim03)
EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit)
EVT_ELSE
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim07)
EVT_SET_CONST(LVar2, ANIM_Cleft_Hyper_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_ScareAway)
EVT_RETURN
EVT_END_IF
EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim0F)
EVT_EXEC_WAIT(EVS_Enemy_AirLift)
EVT_CASE_EQ(EVENT_BLOW_AWAY)
EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0)
EVT_IF_EQ(LVar0, 1)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim0F)
EVT_ELSE
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim08)
EVT_END_IF
EVT_EXEC_WAIT(EVS_Enemy_BlowAway)
EVT_RETURN
EVT_CASE_DEFAULT
EVT_END_SWITCH
EVT_CALL(EnableIdleScript, ACTOR_SELF, 1)
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
EVT_RETURN
EVT_END
};
EvtScript N(80222F1C) = {
EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE)
EVT_CALL(EnableIdleScript, ACTOR_SELF, 0)
EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT)
EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(3.0))
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim03)
EVT_WAIT(20)
EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0))
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim05)
EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0)
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0)
EVT_IF_GT(LVar0, 0)
EVT_SUB(LVar0, 1)
EVT_CALL(SetActorVar, ACTOR_SELF, 1, LVar0)
EVT_ELSE
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 16, 0)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim03)
EVT_THREAD
EVT_WAIT(3)
EVT_LOOP(5)
EVT_ADD(LVar0, 36)
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0)
EVT_WAIT(1)
EVT_END_LOOP
EVT_END_THREAD
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_SUB(LVar1, 6)
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.3))
EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE)
EVT_CALL(N(StartRumbleWithParams), 200, 10)
EVT_THREAD
EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(1.0))
EVT_END_THREAD
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0)
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0)
EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, 0, LVar2)
EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim02)
EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80221CD4)))
EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_80220B40)))
EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 22)
EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, -10)
EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_SPIKY_TOP, TRUE)
EVT_WAIT(1)
EVT_CALL(N(SetSpinSmashable), 1)
EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, FALSE)
EVT_END_IF
EVT_CALL(EnableIdleScript, ACTOR_SELF, 1)
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
EVT_RETURN
EVT_END
};
EvtScript N(80223310) = {
EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE)
EVT_CALL(EnableIdleScript, ACTOR_SELF, 0)
EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER)
EVT_CALL(SetGoalToTarget, ACTOR_SELF)
EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH)
EVT_CALL(BattleCamTargetActor, ACTOR_SELF)
EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE)
EVT_CALL(MoveBattleCamOver, 30)
EVT_THREAD
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0)
EVT_WAIT(10)
EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0)
EVT_WAIT(5)
EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0)
EVT_END_THREAD
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim10)
EVT_WAIT(10)
EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim11)
EVT_CALL(SetGoalToTarget, ACTOR_SELF)
EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, -5)
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0))
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim00)
EVT_WAIT(8)
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20D1)
EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_0, SOUND_0)
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 3, BS_FLAGS1_10)
EVT_SWITCH(LVar0)
EVT_CASE_OR_EQ(HIT_RESULT_MISS)
EVT_CASE_OR_EQ(HIT_RESULT_LUCKY)
EVT_SET(LVarA, LVar0)
EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY)
EVT_THREAD
EVT_WAIT(10)
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0)
EVT_END_THREAD
EVT_END_IF
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim11)
EVT_CALL(SetGoalToTarget, ACTOR_SELF)
EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_SUB(LVar0, 100)
EVT_SET(LVar1, 0)
EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0))
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, 45)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim08)
EVT_WAIT(15)
EVT_WAIT(8)
EVT_CALL(ResetAllActorSounds, ACTOR_SELF)
EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT)
EVT_CALL(YieldTurn)
EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, 0)
EVT_CALL(SetActorYaw, ACTOR_SELF, 180)
EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim07)
EVT_CALL(SetGoalToHome, ACTOR_SELF)
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0))
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim02)
EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0)
EVT_CALL(SetActorYaw, ACTOR_SELF, 0)
EVT_CALL(EnableIdleScript, ACTOR_SELF, 1)
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
EVT_RETURN
EVT_END_CASE_GROUP
EVT_END_SWITCH
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim11)
EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2)
EVT_ADD(LVar0, 20)
EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0))
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
EVT_CALL(ResetAllActorSounds, ACTOR_SELF)
EVT_WAIT(2)
EVT_CALL(SetGoalToTarget, ACTOR_SELF)
EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim02)
EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT)
EVT_SWITCH(LVar0)
EVT_CASE_OR_EQ(HIT_RESULT_HIT)
EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE)
EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT)
EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_ADD(LVar0, 15)
EVT_SET(LVar1, 0)
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.4))
EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim02)
EVT_WAIT(5)
EVT_CALL(YieldTurn)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim07)
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0))
EVT_CALL(SetGoalToHome, ACTOR_SELF)
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim02)
EVT_END_CASE_GROUP
EVT_END_SWITCH
EVT_CALL(EnableIdleScript, ACTOR_SELF, 1)
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
EVT_RETURN
EVT_END
};
EvtScript N(takeTurn_80223B5C) = {
EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0)
EVT_IF_EQ(LVar0, 1)
EVT_EXEC_WAIT(N(80222F1C))
EVT_ELSE
EVT_EXEC_WAIT(N(80223310))
EVT_END_IF
EVT_RETURN
EVT_END
};

View File

@ -0,0 +1,3 @@
#include "../area.h"
#include "battle/common/actor/hyper_goomba.inc.c"

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,7 @@
#include "common.h" #include "../area.h"
#include "effects.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#include "sprite/npc/BattleTubba.h" #include "sprite/npc/BattleTubba.h"
#define NAMESPACE b_area_arn_tubba_blubba #define NAMESPACE A(tubba_blubba)
extern EvtScript N(init_80225D98); extern EvtScript N(init_80225D98);
extern EvtScript N(takeTurn_802264AC); extern EvtScript N(takeTurn_802264AC);
@ -181,65 +178,65 @@ EvtScript N(handleEvent_802260D0) = {
EVT_SWITCH(LVarA) EVT_SWITCH(LVarA)
EVT_CASE_OR_EQ(EVENT_HIT_COMBO) EVT_CASE_OR_EQ(EVENT_HIT_COMBO)
EVT_CASE_OR_EQ(EVENT_HIT) EVT_CASE_OR_EQ(EVENT_HIT)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14) EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14)
EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_END_CASE_GROUP EVT_END_CASE_GROUP
EVT_CASE_EQ(EVENT_BURN_HIT) EVT_CASE_EQ(EVENT_BURN_HIT)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14) EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14)
EVT_SET_CONST(LVar2, -1) EVT_SET_CONST(LVar2, -1)
EVT_EXEC_WAIT(EVS_Enemy_BurnHit) EVT_EXEC_WAIT(EVS_Enemy_BurnHit)
EVT_CASE_EQ(EVENT_BURN_DEATH) EVT_CASE_EQ(EVENT_BURN_DEATH)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14) EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14)
EVT_SET_CONST(LVar2, -1) EVT_SET_CONST(LVar2, -1)
EVT_EXEC_WAIT(EVS_Enemy_BurnHit) EVT_EXEC_WAIT(EVS_Enemy_BurnHit)
EVT_EXEC_WAIT(N(80227878)) EVT_EXEC_WAIT(N(80227878))
EVT_RETURN EVT_RETURN
EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14) EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14)
EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit) EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit)
EVT_CASE_EQ(EVENT_SHOCK_HIT) EVT_CASE_EQ(EVENT_SHOCK_HIT)
EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT)
EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(MoveBattleCamOver, 20)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14) EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14)
EVT_EXEC_WAIT(EVS_Enemy_ShockHit) EVT_EXEC_WAIT(EVS_Enemy_ShockHit)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14) EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14)
EVT_EXEC_WAIT(EVS_Enemy_JumpBack) EVT_EXEC_WAIT(EVS_Enemy_JumpBack)
EVT_EXEC_WAIT(N(80225FD4)) EVT_EXEC_WAIT(N(80225FD4))
EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE)
EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CASE_OR_EQ(EVENT_IMMUNE)
EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim01) EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim01)
EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit)
EVT_END_CASE_GROUP EVT_END_CASE_GROUP
EVT_CASE_EQ(EVENT_SHOCK_DEATH) EVT_CASE_EQ(EVENT_SHOCK_DEATH)
EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT)
EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(MoveBattleCamOver, 20)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14) EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14)
EVT_EXEC_WAIT(EVS_Enemy_ShockHit) EVT_EXEC_WAIT(EVS_Enemy_ShockHit)
EVT_EXEC_WAIT(N(80227878)) EVT_EXEC_WAIT(N(80227878))
EVT_RETURN EVT_RETURN
EVT_CASE_EQ(EVENT_DEATH) EVT_CASE_EQ(EVENT_DEATH)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14) EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14)
EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_EXEC_WAIT(N(80227878)) EVT_EXEC_WAIT(N(80227878))
EVT_RETURN EVT_RETURN
EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14) EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14)
EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit) EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit)
EVT_EXEC_WAIT(N(80227878)) EVT_EXEC_WAIT(N(80227878))
EVT_RETURN EVT_RETURN
EVT_CASE_EQ(EVENT_RECOVER_STATUS) EVT_CASE_EQ(EVENT_RECOVER_STATUS)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim01) EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim01)
EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_EXEC_WAIT(EVS_Enemy_Recover)
EVT_CASE_DEFAULT EVT_CASE_DEFAULT

View File

@ -1,11 +1,8 @@
#include "common.h" #include "../area.h"
#include "effects.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#include "sprite/npc/BattleBow.h" #include "sprite/npc/BattleBow.h"
#include "sprite/npc/TubbasHeart.h" #include "sprite/npc/TubbasHeart.h"
#define NAMESPACE b_area_arn_tubbas_heart #define NAMESPACE A(tubbas_heart)
extern EvtScript N(init_80223DA0); extern EvtScript N(init_80223DA0);
extern EvtScript N(takeTurn_802245C8); extern EvtScript N(takeTurn_802245C8);
@ -206,28 +203,28 @@ EvtScript N(handleEvent_80224038) = {
EVT_CASE_OR_EQ(EVENT_HIT_COMBO) EVT_CASE_OR_EQ(EVENT_HIT_COMBO)
EVT_CASE_OR_EQ(EVENT_HIT) EVT_CASE_OR_EQ(EVENT_HIT)
EVT_EXEC_WAIT(N(80223FD8)) EVT_EXEC_WAIT(N(80223FD8))
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_END_CASE_GROUP EVT_END_CASE_GROUP
EVT_CASE_EQ(EVENT_BEGIN_FIRST_STRIKE) EVT_CASE_EQ(EVENT_BEGIN_FIRST_STRIKE)
EVT_CASE_OR_EQ(EVENT_BURN_HIT) EVT_CASE_OR_EQ(EVENT_BURN_HIT)
EVT_CASE_OR_EQ(EVENT_BURN_DEATH) EVT_CASE_OR_EQ(EVENT_BURN_DEATH)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_TubbasHeart_Anim10) EVT_SET_CONST(LVar1, ANIM_TubbasHeart_Anim10)
EVT_SET_CONST(LVar2, ANIM_TubbasHeart_Anim11) EVT_SET_CONST(LVar2, ANIM_TubbasHeart_Anim11)
EVT_EXEC_WAIT(EVS_Enemy_BurnHit) EVT_EXEC_WAIT(EVS_Enemy_BurnHit)
EVT_END_CASE_GROUP EVT_END_CASE_GROUP
EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT)
EVT_EXEC_WAIT(N(80223FD8)) EVT_EXEC_WAIT(N(80223FD8))
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit) EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit)
EVT_CASE_OR_EQ(EVENT_SHOCK_HIT) EVT_CASE_OR_EQ(EVENT_SHOCK_HIT)
EVT_CASE_OR_EQ(EVENT_SHOCK_DEATH) EVT_CASE_OR_EQ(EVENT_SHOCK_DEATH)
EVT_EXEC_WAIT(N(80223FD8)) EVT_EXEC_WAIT(N(80223FD8))
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_EXEC_WAIT(EVS_Enemy_ShockHit) EVT_EXEC_WAIT(EVS_Enemy_ShockHit)
EVT_EXEC_WAIT(N(80223FD8)) EVT_EXEC_WAIT(N(80223FD8))
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_EXEC_WAIT(EVS_Enemy_JumpBack) EVT_EXEC_WAIT(EVS_Enemy_JumpBack)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TubbasHeart_Anim03) EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TubbasHeart_Anim03)
EVT_EXEC_WAIT(N(802244DC)) EVT_EXEC_WAIT(N(802244DC))
@ -240,17 +237,17 @@ EvtScript N(handleEvent_80224038) = {
EVT_IF_NE(LVar0, 0) EVT_IF_NE(LVar0, 0)
EVT_SET(LVar1, 7077899) EVT_SET(LVar1, 7077899)
EVT_END_IF EVT_END_IF
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit)
EVT_END_CASE_GROUP EVT_END_CASE_GROUP
EVT_CASE_OR_EQ(EVENT_DEATH) EVT_CASE_OR_EQ(EVENT_DEATH)
EVT_EXEC_WAIT(N(80223FD8)) EVT_EXEC_WAIT(N(80223FD8))
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_END_CASE_GROUP EVT_END_CASE_GROUP
EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH)
EVT_EXEC_WAIT(N(80223FD8)) EVT_EXEC_WAIT(N(80223FD8))
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit) EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit)
EVT_CASE_EQ(EVENT_SPIKE_CONTACT) EVT_CASE_EQ(EVENT_SPIKE_CONTACT)
EVT_CASE_EQ(EVENT_BURN_CONTACT) EVT_CASE_EQ(EVENT_BURN_CONTACT)
@ -259,7 +256,7 @@ EvtScript N(handleEvent_80224038) = {
EVT_EXEC_WAIT(N(802244DC)) EVT_EXEC_WAIT(N(802244DC))
EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CALL(HPBarToHome, ACTOR_SELF)
EVT_CASE_EQ(EVENT_RECOVER_STATUS) EVT_CASE_EQ(EVENT_RECOVER_STATUS)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_TubbasHeart_Anim01) EVT_SET_CONST(LVar1, ANIM_TubbasHeart_Anim01)
EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_EXEC_WAIT(EVS_Enemy_Recover)
EVT_CASE_DEFAULT EVT_CASE_DEFAULT

View File

@ -1,145 +1,142 @@
#include "common.h" #include "area.h"
#include "battle/battle.h"
#define NAMESPACE b_area_arn extern ActorBlueprint A(hyper_cleft);
extern ActorBlueprint A(hyper_goomba);
extern ActorBlueprint A(hyper_paragoomba);
extern ActorBlueprint A(tubba_blubba);
extern ActorBlueprint A(tubbas_heart);
extern ActorBlueprint N(hyper_cleft); extern Stage A(arn_01);
extern ActorBlueprint N(hypergoomba); extern Stage A(arn_02);
extern ActorBlueprint N(hyper_paragoomba); extern Stage A(arn_03);
extern ActorBlueprint N(tubba_blubba); extern Stage A(arn_04);
extern ActorBlueprint N(tubbas_heart); extern Stage A(arn_05);
extern Stage A(arn_06);
extern Stage N(arn_01); Formation A(Formation_00) = {
extern Stage N(arn_02); ACTOR_BY_IDX(A(hyper_goomba), BTL_POS_GROUND_B, 10),
extern Stage N(arn_03);
extern Stage N(arn_04);
extern Stage N(arn_05);
extern Stage N(arn_06);
Formation N(Formation_00) = {
ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_B, 10),
}; };
Formation N(Formation_01) = { Formation A(Formation_01) = {
ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_B, 10), ACTOR_BY_IDX(A(hyper_goomba), BTL_POS_GROUND_B, 10),
ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_C, 9), ACTOR_BY_IDX(A(hyper_goomba), BTL_POS_GROUND_C, 9),
}; };
Formation N(Formation_02) = { Formation A(Formation_02) = {
ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_A, 10), ACTOR_BY_IDX(A(hyper_goomba), BTL_POS_GROUND_A, 10),
ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_B, 9), ACTOR_BY_IDX(A(hyper_goomba), BTL_POS_GROUND_B, 9),
ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_C, 8), ACTOR_BY_IDX(A(hyper_goomba), BTL_POS_GROUND_C, 8),
}; };
Formation N(Formation_03) = { Formation A(Formation_03) = {
ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_A, 10), ACTOR_BY_IDX(A(hyper_goomba), BTL_POS_GROUND_A, 10),
ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_B, 9), ACTOR_BY_IDX(A(hyper_goomba), BTL_POS_GROUND_B, 9),
ACTOR_BY_IDX(N(hyper_paragoomba), BTL_POS_AIR_C, 8), ACTOR_BY_IDX(A(hyper_paragoomba), BTL_POS_AIR_C, 8),
}; };
Formation N(Formation_04) = { Formation A(Formation_04) = {
ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_A, 10), ACTOR_BY_IDX(A(hyper_goomba), BTL_POS_GROUND_A, 10),
ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_B, 9), ACTOR_BY_IDX(A(hyper_goomba), BTL_POS_GROUND_B, 9),
ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_C, 8), ACTOR_BY_IDX(A(hyper_goomba), BTL_POS_GROUND_C, 8),
ACTOR_BY_IDX(N(hyper_paragoomba), BTL_POS_AIR_D, 7), ACTOR_BY_IDX(A(hyper_paragoomba), BTL_POS_AIR_D, 7),
}; };
Formation N(Formation_05) = { Formation A(Formation_05) = {
ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_A, 10), ACTOR_BY_IDX(A(hyper_goomba), BTL_POS_GROUND_A, 10),
ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_B, 9), ACTOR_BY_IDX(A(hyper_goomba), BTL_POS_GROUND_B, 9),
ACTOR_BY_IDX(N(hyper_paragoomba), BTL_POS_AIR_C, 8), ACTOR_BY_IDX(A(hyper_paragoomba), BTL_POS_AIR_C, 8),
ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_D, 7), ACTOR_BY_IDX(A(hyper_goomba), BTL_POS_GROUND_D, 7),
}; };
Formation N(Formation_06) = { Formation A(Formation_06) = {
ACTOR_BY_IDX(N(hyper_paragoomba), BTL_POS_AIR_B, 10), ACTOR_BY_IDX(A(hyper_paragoomba), BTL_POS_AIR_B, 10),
}; };
Formation N(Formation_07) = { Formation A(Formation_07) = {
ACTOR_BY_IDX(N(hyper_paragoomba), BTL_POS_AIR_B, 10), ACTOR_BY_IDX(A(hyper_paragoomba), BTL_POS_AIR_B, 10),
ACTOR_BY_IDX(N(hyper_paragoomba), BTL_POS_AIR_C, 9), ACTOR_BY_IDX(A(hyper_paragoomba), BTL_POS_AIR_C, 9),
}; };
Formation N(Formation_08) = { Formation A(Formation_08) = {
ACTOR_BY_IDX(N(hyper_paragoomba), BTL_POS_AIR_A, 10), ACTOR_BY_IDX(A(hyper_paragoomba), BTL_POS_AIR_A, 10),
ACTOR_BY_IDX(N(hyper_paragoomba), BTL_POS_AIR_B, 9), ACTOR_BY_IDX(A(hyper_paragoomba), BTL_POS_AIR_B, 9),
ACTOR_BY_IDX(N(hyper_paragoomba), BTL_POS_AIR_C, 8), ACTOR_BY_IDX(A(hyper_paragoomba), BTL_POS_AIR_C, 8),
}; };
Formation N(Formation_09) = { Formation A(Formation_09) = {
ACTOR_BY_IDX(N(hyper_paragoomba), BTL_POS_AIR_A, 10), ACTOR_BY_IDX(A(hyper_paragoomba), BTL_POS_AIR_A, 10),
ACTOR_BY_IDX(N(hyper_paragoomba), BTL_POS_AIR_B, 9), ACTOR_BY_IDX(A(hyper_paragoomba), BTL_POS_AIR_B, 9),
ACTOR_BY_IDX(N(hyper_paragoomba), BTL_POS_AIR_C, 8), ACTOR_BY_IDX(A(hyper_paragoomba), BTL_POS_AIR_C, 8),
ACTOR_BY_IDX(N(hyper_paragoomba), BTL_POS_AIR_D, 7), ACTOR_BY_IDX(A(hyper_paragoomba), BTL_POS_AIR_D, 7),
}; };
Formation N(Formation_0A) = { Formation A(Formation_0A) = {
ACTOR_BY_IDX(N(hyper_cleft), BTL_POS_GROUND_B, 10), ACTOR_BY_IDX(A(hyper_cleft), BTL_POS_GROUND_B, 10),
}; };
Formation N(Formation_0B) = { Formation A(Formation_0B) = {
ACTOR_BY_IDX(N(hyper_cleft), BTL_POS_GROUND_B, 10), ACTOR_BY_IDX(A(hyper_cleft), BTL_POS_GROUND_B, 10),
ACTOR_BY_IDX(N(hyper_cleft), BTL_POS_GROUND_C, 9), ACTOR_BY_IDX(A(hyper_cleft), BTL_POS_GROUND_C, 9),
}; };
Formation N(Formation_0C) = { Formation A(Formation_0C) = {
ACTOR_BY_IDX(N(hyper_cleft), BTL_POS_GROUND_A, 10), ACTOR_BY_IDX(A(hyper_cleft), BTL_POS_GROUND_A, 10),
ACTOR_BY_IDX(N(hyper_cleft), BTL_POS_GROUND_B, 9), ACTOR_BY_IDX(A(hyper_cleft), BTL_POS_GROUND_B, 9),
ACTOR_BY_IDX(N(hyper_cleft), BTL_POS_GROUND_C, 8), ACTOR_BY_IDX(A(hyper_cleft), BTL_POS_GROUND_C, 8),
}; };
Formation N(Formation_0D) = { Formation A(Formation_0D) = {
ACTOR_BY_IDX(N(hyper_cleft), BTL_POS_GROUND_A, 10), ACTOR_BY_IDX(A(hyper_cleft), BTL_POS_GROUND_A, 10),
ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_B, 9), ACTOR_BY_IDX(A(hyper_goomba), BTL_POS_GROUND_B, 9),
ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_C, 8), ACTOR_BY_IDX(A(hyper_goomba), BTL_POS_GROUND_C, 8),
}; };
Formation N(Formation_0E) = { Formation A(Formation_0E) = {
ACTOR_BY_IDX(N(hyper_cleft), BTL_POS_GROUND_A, 10), ACTOR_BY_IDX(A(hyper_cleft), BTL_POS_GROUND_A, 10),
ACTOR_BY_IDX(N(hyper_cleft), BTL_POS_GROUND_B, 9), ACTOR_BY_IDX(A(hyper_cleft), BTL_POS_GROUND_B, 9),
ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_C, 8), ACTOR_BY_IDX(A(hyper_goomba), BTL_POS_GROUND_C, 8),
ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_D, 7), ACTOR_BY_IDX(A(hyper_goomba), BTL_POS_GROUND_D, 7),
}; };
Vec3i N(vector3D_802280C0) = { 90, 20, 0 }; Vec3i A(vector3D_802280C0) = { 90, 20, 0 };
Formation N(Formation_0F) = { Formation A(Formation_0F) = {
ACTOR_BY_POS(N(tubbas_heart), N(vector3D_802280C0), 10), ACTOR_BY_POS(A(tubbas_heart), A(vector3D_802280C0), 10),
}; };
Vec3i N(vector3D_802280E8) = { 75, 0, 10 }; Vec3i A(vector3D_802280E8) = { 75, 0, 10 };
Formation N(Formation_10) = { Formation A(Formation_10) = {
ACTOR_BY_POS(N(tubba_blubba), N(vector3D_802280E8), 10), ACTOR_BY_POS(A(tubba_blubba), A(vector3D_802280E8), 10),
}; };
BattleList N(Formations) = { BattleList A(Formations) = {
BATTLE(N(Formation_00), N(arn_01), "ハイパークリボー"), BATTLE(A(Formation_00), A(arn_01), "ハイパークリボー"),
BATTLE(N(Formation_01), N(arn_01), "ハイパークリボーx"), BATTLE(A(Formation_01), A(arn_01), "ハイパークリボーx"),
BATTLE(N(Formation_02), N(arn_01), "ハイパークリボーx"), BATTLE(A(Formation_02), A(arn_01), "ハイパークリボーx"),
BATTLE(N(Formation_03), N(arn_01), "ハイパークリボーx2,ハイパーパタクリボー"), BATTLE(A(Formation_03), A(arn_01), "ハイパークリボーx2,ハイパーパタクリボー"),
BATTLE(N(Formation_04), N(arn_01), "ハイパークリボーx3,ハイパーパタクリボー"), BATTLE(A(Formation_04), A(arn_01), "ハイパークリボーx3,ハイパーパタクリボー"),
BATTLE(N(Formation_05), N(arn_01), "ハイパークリボーx2,ハイパーパタクリボー,ハイパークリボー"), BATTLE(A(Formation_05), A(arn_01), "ハイパークリボーx2,ハイパーパタクリボー,ハイパークリボー"),
BATTLE(N(Formation_06), N(arn_01), "ハイパーパタクリボー"), BATTLE(A(Formation_06), A(arn_01), "ハイパーパタクリボー"),
BATTLE(N(Formation_07), N(arn_01), "ハイパーパタクリボーx2"), BATTLE(A(Formation_07), A(arn_01), "ハイパーパタクリボーx2"),
BATTLE(N(Formation_08), N(arn_01), "ハイパーパタクリボーx3"), BATTLE(A(Formation_08), A(arn_01), "ハイパーパタクリボーx3"),
BATTLE(N(Formation_09), N(arn_01), "ハイパーパタクリボーx4"), BATTLE(A(Formation_09), A(arn_01), "ハイパーパタクリボーx4"),
BATTLE(N(Formation_0A), N(arn_01), "ハイパーシンエモン"), BATTLE(A(Formation_0A), A(arn_01), "ハイパーシンエモン"),
BATTLE(N(Formation_0B), N(arn_01), "ハイパーシンエモンx2"), BATTLE(A(Formation_0B), A(arn_01), "ハイパーシンエモンx2"),
BATTLE(N(Formation_0C), N(arn_01), "ハイパーシンエモンx3"), BATTLE(A(Formation_0C), A(arn_01), "ハイパーシンエモンx3"),
BATTLE(N(Formation_0D), N(arn_01), "ハイパーシンエモン,ハイパークリボーx2"), BATTLE(A(Formation_0D), A(arn_01), "ハイパーシンエモン,ハイパークリボーx2"),
BATTLE(N(Formation_0E), N(arn_01), "ハイパーシンエモンx2,ハイパークリボーx2"), BATTLE(A(Formation_0E), A(arn_01), "ハイパーシンエモンx2,ハイパークリボーx2"),
BATTLE(N(Formation_0F), N(arn_06), "ドガボンしんぞう"), BATTLE(A(Formation_0F), A(arn_06), "ドガボンしんぞう"),
BATTLE(N(Formation_10), N(arn_01), "ドガボン"), BATTLE(A(Formation_10), A(arn_01), "ドガボン"),
{}, {},
}; };
StageList N(Stages) = { StageList A(Stages) = {
STAGE("arn_01", N(arn_01)), STAGE("arn_01", A(arn_01)),
STAGE("arn_02", N(arn_02)), STAGE("arn_02", A(arn_02)),
STAGE("arn_03", N(arn_03)), STAGE("arn_03", A(arn_03)),
STAGE("arn_04", N(arn_04)), STAGE("arn_04", A(arn_04)),
STAGE("arn_05", N(arn_05)), STAGE("arn_05", A(arn_05)),
STAGE("arn_06", N(arn_06)), STAGE("arn_06", A(arn_06)),
{}, {},
}; };

View File

@ -0,0 +1,6 @@
#include "common.h"
#include "effects.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#define AREA b_area_arn

View File

@ -1,32 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/arn_bt01_shape.h"
#define NAMESPACE b_area_arn_arn_01 #include "battle/common/stage/area_arn/arn_01.inc.c"
EvtScript N(EVS_PreBattle) = {
EVT_CALL(SetSpriteShading, SHADING_NONE)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_PostBattle) = {
EVT_RETURN
EVT_END
};
s32 N(ForegroundModels)[] = {
-1,
MODEL_iwa4,
STAGE_MODEL_LIST_END
};
Stage NAMESPACE = {
.texture = "arn_tex",
.shape = "arn_bt01_shape",
.hit = "arn_bt01_hit",
.bg = "arn_bg",
.preBattle = &N(EVS_PreBattle),
.postBattle = &N(EVS_PostBattle),
.foregroundModelList = N(ForegroundModels),
};

View File

@ -1,49 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/arn_bt02_shape.h"
#define NAMESPACE b_area_arn_arn_02 #include "battle/common/stage/area_arn/arn_02.inc.c"
EvtScript N(EVS_RotateWindmill) = {
EVT_SET(LVarA, LVar0)
EVT_SET(LVar0, 0)
EVT_LABEL(0)
EVT_ADD(LVar0, 1)
EVT_IF_GT(LVar0, 359)
EVT_SUB(LVar0, 360)
EVT_END_IF
EVT_CALL(RotateModel, LVarA, LVar0, 0, 0, 1)
EVT_WAIT(1)
EVT_GOTO(0)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_PreBattle) = {
EVT_CALL(SetSpriteShading, SHADING_NONE)
EVT_SET(LVar0, MODEL_o332)
EVT_EXEC_WAIT(N(EVS_RotateWindmill))
EVT_RETURN
EVT_END
};
EvtScript N(EVS_PostBattle) = {
EVT_RETURN
EVT_END
};
s32 N(ForegroundModels)[] = {
-1,
MODEL_iwa4,
STAGE_MODEL_LIST_END
};
Stage NAMESPACE = {
.texture = "arn_tex",
.shape = "arn_bt02_shape",
.hit = "arn_bt02_hit",
.bg = "arn_bg",
.preBattle = &N(EVS_PreBattle),
.postBattle = &N(EVS_PostBattle),
.foregroundModelList = N(ForegroundModels),
};

View File

@ -1,32 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/arn_bt03_shape.h"
#define NAMESPACE b_area_arn_arn_03 #include "battle/common/stage/area_arn/arn_03.inc.c"
EvtScript N(EVS_PreBattle) = {
EVT_CALL(SetSpriteShading, SHADING_NONE)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_PostBattle) = {
EVT_RETURN
EVT_END
};
s32 N(ForegroundModels)[] = {
-1,
MODEL_iwa4,
STAGE_MODEL_LIST_END
};
Stage NAMESPACE = {
.texture = "arn_tex",
.shape = "arn_bt03_shape",
.hit = "arn_bt03_hit",
.bg = "arn_bg",
.preBattle = &N(EVS_PreBattle),
.postBattle = &N(EVS_PostBattle),
.foregroundModelList = N(ForegroundModels),
};

View File

@ -1,31 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/arn_bt04_shape.h"
#define NAMESPACE b_area_arn_arn_04 #include "battle/common/stage/area_arn/arn_04.inc.c"
EvtScript N(EVS_PreBattle) = {
EVT_CALL(SetSpriteShading, SHADING_NONE)
EVT_CALL(SetCamBGColor, CAM_BATTLE, 0, 0, 0)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_PostBattle) = {
EVT_RETURN
EVT_END
};
s32 N(ForegroundModels)[] = {
MODEL_o349,
STAGE_MODEL_LIST_END
};
Stage NAMESPACE = {
.texture = "arn_tex",
.shape = "arn_bt04_shape",
.hit = "arn_bt04_hit",
.preBattle = &N(EVS_PreBattle),
.postBattle = &N(EVS_PostBattle),
.foregroundModelList = N(ForegroundModels),
};

View File

@ -1,31 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/arn_bt05_shape.h"
#define NAMESPACE b_area_arn_arn_05 #include "battle/common/stage/area_arn/arn_05.inc.c"
EvtScript N(EVS_PreBattle) = {
EVT_CALL(SetSpriteShading, SHADING_NONE)
EVT_CALL(SetCamBGColor, CAM_BATTLE, 0, 0, 0)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_PostBattle) = {
EVT_RETURN
EVT_END
};
s32 N(ForegroundModels)[] = {
MODEL_o354,
STAGE_MODEL_LIST_END
};
Stage NAMESPACE = {
.texture = "arn_tex",
.shape = "arn_bt05_shape",
.hit = "arn_bt05_hit",
.preBattle = &N(EVS_PreBattle),
.postBattle = &N(EVS_PostBattle),
.foregroundModelList = N(ForegroundModels),
};

View File

@ -1,30 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/arn_bt06_shape.h"
#define NAMESPACE b_area_arn_arn_06 #include "battle/common/stage/area_arn/arn_06.inc.c"
EvtScript N(EVS_PreBattle) = {
EVT_CALL(SetSpriteShading, SHADING_NONE)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_PostBattle) = {
EVT_RETURN
EVT_END
};
s32 N(ForegroundModels)[] = {
MODEL_kabe3,
STAGE_MODEL_LIST_END
};
Stage NAMESPACE = {
.texture = "arn_tex",
.shape = "arn_bt06_shape",
.hit = "arn_bt06_hit",
.preBattle = &N(EVS_PreBattle),
.postBattle = &N(EVS_PostBattle),
.foregroundModelList = N(ForegroundModels),
};

View File

@ -1,5 +1,3 @@
#include "common.h" #include "../area.h"
#define NAMESPACE b_area_dgb_clubba
#include "battle/common/actor/clubba.inc.c" #include "battle/common/actor/clubba.inc.c"

View File

@ -1,10 +1,7 @@
#include "common.h" #include "../area.h"
#include "effects.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#include "sprite/npc/BattleTubba.h" #include "sprite/npc/BattleTubba.h"
#define NAMESPACE b_area_dgb_tubba_blubba #define NAMESPACE A(tubba_blubba)
extern EvtScript N(EVS_Init); extern EvtScript N(EVS_Init);
extern EvtScript N(takeTurn_80219750); extern EvtScript N(takeTurn_80219750);
@ -222,7 +219,7 @@ EvtScript N(handleEvent_80219338) = {
EVT_CASE_OR_EQ(EVENT_HIT_COMBO) EVT_CASE_OR_EQ(EVENT_HIT_COMBO)
EVT_CASE_OR_EQ(EVENT_HIT) EVT_CASE_OR_EQ(EVENT_HIT)
EVT_EXEC_WAIT(N(802192E0)) EVT_EXEC_WAIT(N(802192E0))
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim02) EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim02)
EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_END_CASE_GROUP EVT_END_CASE_GROUP
@ -234,7 +231,7 @@ EvtScript N(handleEvent_80219338) = {
EVT_WAIT(15) EVT_WAIT(15)
EVT_IF_EQ(LVar0, EVENT_BURN_DEATH) EVT_IF_EQ(LVar0, EVENT_BURN_DEATH)
EVT_WAIT(10) EVT_WAIT(10)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14) EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14)
EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN EVT_RETURN
@ -242,14 +239,14 @@ EvtScript N(handleEvent_80219338) = {
EVT_END_CASE_GROUP EVT_END_CASE_GROUP
EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT)
EVT_EXEC_WAIT(N(802192E0)) EVT_EXEC_WAIT(N(802192E0))
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14) EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14)
EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit) EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit)
EVT_CASE_EQ(EVENT_SHOCK_HIT) EVT_CASE_EQ(EVENT_SHOCK_HIT)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14) EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14)
EVT_EXEC_WAIT(EVS_Enemy_ShockHit) EVT_EXEC_WAIT(EVS_Enemy_ShockHit)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14) EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14)
EVT_EXEC_WAIT(EVS_Enemy_JumpBack) EVT_EXEC_WAIT(EVS_Enemy_JumpBack)
EVT_EXEC_WAIT(N(80219238)) EVT_EXEC_WAIT(N(80219238))
@ -257,26 +254,26 @@ EvtScript N(handleEvent_80219338) = {
EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CASE_OR_EQ(EVENT_IMMUNE)
EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED)
EVT_EXEC_WAIT(N(802192E0)) EVT_EXEC_WAIT(N(802192E0))
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim02) EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim02)
EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit)
EVT_END_CASE_GROUP EVT_END_CASE_GROUP
EVT_CASE_OR_EQ(EVENT_SHOCK_DEATH) EVT_CASE_OR_EQ(EVENT_SHOCK_DEATH)
EVT_CASE_OR_EQ(EVENT_DEATH) EVT_CASE_OR_EQ(EVENT_DEATH)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14) EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14)
EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_WAIT(10) EVT_WAIT(10)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14) EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14)
EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN EVT_RETURN
EVT_END_CASE_GROUP EVT_END_CASE_GROUP
EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14) EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14)
EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit) EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14) EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14)
EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN EVT_RETURN
@ -286,7 +283,7 @@ EvtScript N(handleEvent_80219338) = {
EVT_EXEC_WAIT(N(80219238)) EVT_EXEC_WAIT(N(80219238))
EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CALL(HPBarToHome, ACTOR_SELF)
EVT_CASE_EQ(EVENT_RECOVER_STATUS) EVT_CASE_EQ(EVENT_RECOVER_STATUS)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim02) EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim02)
EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_EXEC_WAIT(EVS_Enemy_Recover)
EVT_CASE_DEFAULT EVT_CASE_DEFAULT

View File

@ -1,64 +1,61 @@
#include "common.h" #include "area.h"
#include "battle/battle.h"
#define NAMESPACE b_area_dgb extern ActorBlueprint A(clubba);
extern ActorBlueprint A(tubba_blubba);
extern ActorBlueprint N(clubba); extern Stage A(dgb_01);
extern ActorBlueprint N(tubba_blubba); extern Stage A(dgb_02);
extern Stage A(dgb_03);
extern Stage A(dgb_04);
extern Stage A(dgb_05);
extern Stage N(dgb_01); Formation A(Formation_00) = {
extern Stage N(dgb_02); ACTOR_BY_IDX(A(clubba), BTL_POS_GROUND_B, 10),
extern Stage N(dgb_03);
extern Stage N(dgb_04);
extern Stage N(dgb_05);
Formation N(Formation_00) = {
ACTOR_BY_IDX(N(clubba), BTL_POS_GROUND_B, 10),
}; };
Formation N(Formation_01) = { Formation A(Formation_01) = {
ACTOR_BY_IDX(N(clubba), BTL_POS_GROUND_B, 10), ACTOR_BY_IDX(A(clubba), BTL_POS_GROUND_B, 10),
ACTOR_BY_IDX(N(clubba), BTL_POS_GROUND_C, 9), ACTOR_BY_IDX(A(clubba), BTL_POS_GROUND_C, 9),
}; };
Formation N(Formation_02) = { Formation A(Formation_02) = {
ACTOR_BY_IDX(N(clubba), BTL_POS_GROUND_A, 10), ACTOR_BY_IDX(A(clubba), BTL_POS_GROUND_A, 10),
ACTOR_BY_IDX(N(clubba), BTL_POS_GROUND_B, 9), ACTOR_BY_IDX(A(clubba), BTL_POS_GROUND_B, 9),
ACTOR_BY_IDX(N(clubba), BTL_POS_GROUND_C, 8), ACTOR_BY_IDX(A(clubba), BTL_POS_GROUND_C, 8),
}; };
Formation N(Formation_03) = { Formation A(Formation_03) = {
ACTOR_BY_IDX(N(clubba), BTL_POS_GROUND_A, 10), ACTOR_BY_IDX(A(clubba), BTL_POS_GROUND_A, 10),
ACTOR_BY_IDX(N(clubba), BTL_POS_GROUND_B, 9), ACTOR_BY_IDX(A(clubba), BTL_POS_GROUND_B, 9),
ACTOR_BY_IDX(N(clubba), BTL_POS_GROUND_C, 8), ACTOR_BY_IDX(A(clubba), BTL_POS_GROUND_C, 8),
ACTOR_BY_IDX(N(clubba), BTL_POS_GROUND_D, 7), ACTOR_BY_IDX(A(clubba), BTL_POS_GROUND_D, 7),
}; };
Vec3i N(vector3D_8021B348) = { 75, 0, 10 }; Vec3i A(vector3D_8021B348) = { 75, 0, 10 };
Formation N(Formation_04) = { Formation A(Formation_04) = {
ACTOR_BY_POS(N(tubba_blubba), N(vector3D_8021B348), 10), ACTOR_BY_POS(A(tubba_blubba), A(vector3D_8021B348), 10),
}; };
Formation N(Formation_05) = { Formation A(Formation_05) = {
ACTOR_BY_POS(N(tubba_blubba), N(vector3D_8021B348), 10, 1), ACTOR_BY_POS(A(tubba_blubba), A(vector3D_8021B348), 10, 1),
}; };
BattleList N(Formations) = { BattleList A(Formations) = {
BATTLE(N(Formation_00), N(dgb_01), "ガボンへい"), BATTLE(A(Formation_00), A(dgb_01), "ガボンへい"),
BATTLE(N(Formation_01), N(dgb_01), "ガボンへいx"), BATTLE(A(Formation_01), A(dgb_01), "ガボンへいx"),
BATTLE(N(Formation_02), N(dgb_01), "ガボンへいx"), BATTLE(A(Formation_02), A(dgb_01), "ガボンへいx"),
BATTLE(N(Formation_03), N(dgb_01), "ガボンへいx"), BATTLE(A(Formation_03), A(dgb_01), "ガボンへいx"),
BATTLE(N(Formation_04), N(dgb_01), "むてきドガボン"), BATTLE(A(Formation_04), A(dgb_01), "むてきドガボン"),
BATTLE(N(Formation_05), N(dgb_01), "むてきドガボンせりふなし"), BATTLE(A(Formation_05), A(dgb_01), "むてきドガボンせりふなし"),
{}, {},
}; };
StageList N(Stages) = { StageList A(Stages) = {
STAGE("dgb_01", N(dgb_01)), STAGE("dgb_01", A(dgb_01)),
STAGE("dgb_02", N(dgb_02)), STAGE("dgb_02", A(dgb_02)),
STAGE("dgb_03", N(dgb_03)), STAGE("dgb_03", A(dgb_03)),
STAGE("dgb_04", N(dgb_04)), STAGE("dgb_04", A(dgb_04)),
STAGE("dgb_05", N(dgb_05)), STAGE("dgb_05", A(dgb_05)),
{}, {},
}; };

View File

@ -0,0 +1,6 @@
#include "common.h"
#include "effects.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#define AREA b_area_dgb

View File

@ -1,24 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/dgb_bt01_shape.h"
#define NAMESPACE b_area_dgb_dgb_01 #include "battle/common/stage/area_dgb/dgb_01.inc.c"
EvtScript N(EVS_PreBattle) = {
EVT_CALL(SetSpriteShading, SHADING_NONE)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_PostBattle) = {
EVT_RETURN
EVT_END
};
Stage NAMESPACE = {
.texture = "dgb_tex",
.shape = "dgb_bt01_shape",
.hit = "dgb_bt01_hit",
.preBattle = &N(EVS_PreBattle),
.postBattle = &N(EVS_PostBattle),
};

View File

@ -1,24 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/dgb_bt02_shape.h"
#define NAMESPACE b_area_dgb_dgb_02 #include "battle/common/stage/area_dgb/dgb_02.inc.c"
EvtScript N(EVS_PreBattle) = {
EVT_CALL(SetSpriteShading, SHADING_NONE)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_PostBattle) = {
EVT_RETURN
EVT_END
};
Stage NAMESPACE = {
.texture = "dgb_tex",
.shape = "dgb_bt02_shape",
.hit = "dgb_bt02_hit",
.preBattle = &N(EVS_PreBattle),
.postBattle = &N(EVS_PostBattle),
};

View File

@ -1,24 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/dgb_bt03_shape.h"
#define NAMESPACE b_area_dgb_dgb_03 #include "battle/common/stage/area_dgb/dgb_03.inc.c"
EvtScript N(EVS_PreBattle) = {
EVT_CALL(SetSpriteShading, SHADING_NONE)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_PostBattle) = {
EVT_RETURN
EVT_END
};
Stage NAMESPACE = {
.texture = "dgb_tex",
.shape = "dgb_bt03_shape",
.hit = "dgb_bt03_hit",
.preBattle = &N(EVS_PreBattle),
.postBattle = &N(EVS_PostBattle),
};

View File

@ -1,30 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/dgb_bt04_shape.h"
#define NAMESPACE b_area_dgb_dgb_04 #include "battle/common/stage/area_dgb/dgb_04.inc.c"
EvtScript N(EVS_PreBattle) = {
EVT_CALL(SetSpriteShading, SHADING_NONE)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_PostBattle) = {
EVT_RETURN
EVT_END
};
s32 N(ForegroundModels)[] = {
MODEL_kumo1,
STAGE_MODEL_LIST_END
};
Stage NAMESPACE = {
.texture = "dgb_tex",
.shape = "dgb_bt04_shape",
.hit = "dgb_bt04_hit",
.preBattle = &N(EVS_PreBattle),
.postBattle = &N(EVS_PostBattle),
.foregroundModelList = N(ForegroundModels),
};

View File

@ -1,24 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/dgb_bt05_shape.h"
#define NAMESPACE b_area_dgb_dgb_05 #include "battle/common/stage/area_dgb/dgb_05.inc.c"
EvtScript N(EVS_PreBattle) = {
EVT_CALL(SetSpriteShading, SHADING_NONE)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_PostBattle) = {
EVT_RETURN
EVT_END
};
Stage NAMESPACE = {
.texture = "dgb_tex",
.shape = "dgb_bt05_shape",
.hit = "dgb_bt05_hit",
.preBattle = &N(EVS_PreBattle),
.postBattle = &N(EVS_PostBattle),
};

View File

@ -1,5 +1,3 @@
#include "common.h" #include "../area.h"
#define NAMESPACE b_area_dig_bandit
#include "battle/common/actor/bandit.inc.c" #include "battle/common/actor/bandit.inc.c"

View File

@ -1,5 +1,3 @@
#include "common.h" #include "../area.h"
#define NAMESPACE b_area_dig_fuzzy
#include "battle/common/actor/fuzzy.inc.c" #include "battle/common/actor/fuzzy.inc.c"

View File

@ -1,5 +1,3 @@
#include "common.h" #include "../area.h"
#define NAMESPACE b_area_dig_koopa_troopa
#include "battle/common/actor/koopa_troopa.inc.c" #include "battle/common/actor/koopa_troopa.inc.c"

View File

@ -1,5 +1,3 @@
#include "common.h" #include "../area.h"
#define NAMESPACE b_area_dig_monty_mole
#include "battle/common/actor/monty_mole.inc.c" #include "battle/common/actor/monty_mole.inc.c"

View File

@ -1,5 +1,3 @@
#include "common.h" #include "../area.h"
#define NAMESPACE b_area_dig_pokey
#include "battle/common/actor/pokey.inc.c" #include "battle/common/actor/pokey.inc.c"

View File

@ -1,5 +1,3 @@
#include "common.h" #include "../area.h"
#define NAMESPACE b_area_dig_red_shy_guy
#include "battle/common/actor/red_shy_guy.inc.c" #include "battle/common/actor/red_shy_guy.inc.c"

View File

@ -1,10 +1,7 @@
#include "common.h" #include "../area.h"
#include "effects.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#include "sprite/npc/BattleTubba.h" #include "sprite/npc/BattleTubba.h"
#define NAMESPACE b_area_dig_tubba_blubba #define NAMESPACE A(tubba_blubba)
extern EvtScript N(init); extern EvtScript N(init);
extern EvtScript N(takeTurn); extern EvtScript N(takeTurn);

View File

@ -1,5 +1,3 @@
#include "common.h" #include "../area.h"
#define NAMESPACE b_area_dig_whacka
#include "battle/common/actor/whacka.inc.c" #include "battle/common/actor/whacka.inc.c"

View File

@ -1,72 +1,68 @@
#include "common.h" #include "area.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#define NAMESPACE b_area_dig extern ActorBlueprint A(fuzzy);
extern ActorBlueprint A(monty_mole);
extern ActorBlueprint A(pokey);
extern ActorBlueprint A(bandit);
extern ActorBlueprint A(red_shy_guy);
extern ActorBlueprint A(tubba_blubba);
extern ActorBlueprint N(fuzzy); extern Stage A(nok_04);
extern ActorBlueprint N(monty_mole); extern Stage A(iwa_01b);
extern ActorBlueprint N(pokey); extern Stage A(sbk_02);
extern ActorBlueprint N(bandit); extern Stage A(omo_04);
extern ActorBlueprint N(red_shy_guy); extern Stage A(dgb_05);
extern ActorBlueprint N(tubba_blubba);
extern Stage N(dig_01); extern EvtScript A(dig_01_script);
extern Stage N(dig_02); extern EvtScript A(dig_02_script);
extern Stage N(dig_03); extern EvtScript A(dig_03_script);
extern Stage N(dig_04); extern EvtScript A(dig_04_script);
extern Stage N(dig_05); extern EvtScript A(dig_05_script);
extern EvtScript N(dig_01_script); Formation A(Formation_00) = {
extern EvtScript N(dig_02_script); ACTOR_BY_IDX(A(fuzzy), BTL_POS_GROUND_A, 10),
extern EvtScript N(dig_03_script); ACTOR_BY_IDX(A(fuzzy), BTL_POS_GROUND_B, 9),
extern EvtScript N(dig_04_script); ACTOR_BY_IDX(A(fuzzy), BTL_POS_GROUND_C, 8),
extern EvtScript N(dig_05_script); ACTOR_BY_IDX(A(fuzzy), BTL_POS_GROUND_D, 7),
Formation N(Formation_00) = {
ACTOR_BY_IDX(N(fuzzy), BTL_POS_GROUND_A, 10),
ACTOR_BY_IDX(N(fuzzy), BTL_POS_GROUND_B, 9),
ACTOR_BY_IDX(N(fuzzy), BTL_POS_GROUND_C, 8),
ACTOR_BY_IDX(N(fuzzy), BTL_POS_GROUND_D, 7),
}; };
Formation N(Formation_01) = { Formation A(Formation_01) = {
ACTOR_BY_IDX(N(monty_mole), BTL_POS_GROUND_B, 10), ACTOR_BY_IDX(A(monty_mole), BTL_POS_GROUND_B, 10),
ACTOR_BY_IDX(N(monty_mole), BTL_POS_GROUND_C, 9), ACTOR_BY_IDX(A(monty_mole), BTL_POS_GROUND_C, 9),
ACTOR_BY_IDX(N(monty_mole), BTL_POS_GROUND_D, 8), ACTOR_BY_IDX(A(monty_mole), BTL_POS_GROUND_D, 8),
}; };
Formation N(Formation_02) = { Formation A(Formation_02) = {
ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_B, 10), ACTOR_BY_IDX(A(pokey), BTL_POS_GROUND_B, 10),
ACTOR_BY_IDX(N(bandit), BTL_POS_GROUND_C, 9), ACTOR_BY_IDX(A(bandit), BTL_POS_GROUND_C, 9),
ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_D, 8), ACTOR_BY_IDX(A(pokey), BTL_POS_GROUND_D, 8),
}; };
Formation N(Formation_03) = { Formation A(Formation_03) = {
ACTOR_BY_IDX(N(red_shy_guy), BTL_POS_GROUND_A, 10), ACTOR_BY_IDX(A(red_shy_guy), BTL_POS_GROUND_A, 10),
ACTOR_BY_IDX(N(red_shy_guy), BTL_POS_GROUND_B, 9), ACTOR_BY_IDX(A(red_shy_guy), BTL_POS_GROUND_B, 9),
ACTOR_BY_IDX(N(red_shy_guy), BTL_POS_GROUND_C, 8), ACTOR_BY_IDX(A(red_shy_guy), BTL_POS_GROUND_C, 8),
ACTOR_BY_IDX(N(red_shy_guy), BTL_POS_GROUND_D, 7), ACTOR_BY_IDX(A(red_shy_guy), BTL_POS_GROUND_D, 7),
}; };
Formation N(Formation_04) = { Formation A(Formation_04) = {
ACTOR_BY_IDX(N(tubba_blubba), BTL_POS_GROUND_C, 10), ACTOR_BY_IDX(A(tubba_blubba), BTL_POS_GROUND_C, 10),
}; };
BattleList N(Formations) = { BattleList A(Formations) = {
BATTLE_WITH_SCRIPT(N(Formation_00), N(dig_01), N(dig_01_script), "ダイジェスト01"), BATTLE_WITH_SCRIPT(A(Formation_00), A(nok_04), A(dig_01_script), "ダイジェスト01"),
BATTLE_WITH_SCRIPT(N(Formation_01), N(dig_02), N(dig_02_script), "ダイジェスト02"), BATTLE_WITH_SCRIPT(A(Formation_01), A(iwa_01b), A(dig_02_script), "ダイジェスト02"),
BATTLE_WITH_SCRIPT(N(Formation_02), N(dig_03), N(dig_03_script), "ダイジェスト03"), BATTLE_WITH_SCRIPT(A(Formation_02), A(sbk_02), A(dig_03_script), "ダイジェスト03"),
BATTLE_WITH_SCRIPT(N(Formation_03), N(dig_04), N(dig_04_script), "ダイジェスト04"), BATTLE_WITH_SCRIPT(A(Formation_03), A(omo_04), A(dig_04_script), "ダイジェスト04"),
BATTLE_WITH_SCRIPT(N(Formation_04), N(dig_05), N(dig_05_script), "ダイジェスト05"), BATTLE_WITH_SCRIPT(A(Formation_04), A(dgb_05), A(dig_05_script), "ダイジェスト05"),
{}, {},
}; };
StageList N(Stages) = { StageList A(Stages) = {
STAGE("dig_01", N(dig_01)), STAGE("dig_01", A(nok_04)),
STAGE("dig_02", N(dig_02)), STAGE("dig_02", A(iwa_01b)),
STAGE("dig_03", N(dig_03)), STAGE("dig_03", A(sbk_02)),
STAGE("dig_04", N(dig_04)), STAGE("dig_04", A(omo_04)),
STAGE("dig_05", N(dig_05)), STAGE("dig_05", A(dgb_05)),
{}, {},
}; };

View File

@ -0,0 +1,6 @@
#include "common.h"
#include "effects.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#define AREA b_area_dig

View File

@ -1,7 +1,6 @@
#include "common.h" #include "../area.h"
#include "script_api/battle.h"
#define NAMESPACE b_area_dig_dig_01_script #define NAMESPACE A(dig_01_script)
#include "common/SetDemoBattleBeginDelay.inc.c" #include "common/SetDemoBattleBeginDelay.inc.c"

View File

@ -1,7 +1,6 @@
#include "common.h" #include "../area.h"
#include "script_api/battle.h"
#define NAMESPACE b_area_dig_dig_02_script #define NAMESPACE A(dig_02_script)
API_CALLABLE(N(SetupDemoPlayerMove)) { API_CALLABLE(N(SetupDemoPlayerMove)) {
BattleStatus* battleStatus = &gBattleStatus; BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,6 @@
#include "common.h" #include "../area.h"
#include "script_api/battle.h"
#define NAMESPACE b_area_dig_dig_03_script #define NAMESPACE A(dig_03_script)
API_CALLABLE(N(SetupDemoPlayerMove)) { API_CALLABLE(N(SetupDemoPlayerMove)) {
BattleStatus* battleStatus = &gBattleStatus; BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,6 @@
#include "common.h" #include "../area.h"
#include "script_api/battle.h"
#define NAMESPACE b_area_dig_dig_04_script #define NAMESPACE A(dig_04_script)
API_CALLABLE(N(SetupDemoPlayerMove)) { API_CALLABLE(N(SetupDemoPlayerMove)) {
BattleStatus* battleStatus = &gBattleStatus; BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,6 @@
#include "common.h" #include "../area.h"
#include "script_api/battle.h"
#define NAMESPACE b_area_dig_dig_05_script #define NAMESPACE A(dig_05_script)
#include "common/SetDemoBattleBeginDelay.inc.c" #include "common/SetDemoBattleBeginDelay.inc.c"

View File

@ -1,35 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/nok_bt04_shape.h"
#define NAMESPACE b_area_dig_dig_01 #include "battle/common/stage/area_nok/nok_04.inc.c"
EvtScript N(EVS_PreBattle) = {
EVT_CALL(SetSpriteShading, SHADING_NONE)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_PostBattle) = {
EVT_RETURN
EVT_END
};
s32 N(ForegroundModels)[] = {
MODEL_ueki2,
MODEL_ueki1,
MODEL_kabu2,
MODEL_kabu1,
MODEL_kusa3,
STAGE_MODEL_LIST_END
};
Stage NAMESPACE = {
.texture = "nok_tex",
.shape = "nok_bt04_shape",
.hit = "nok_bt04_hit",
.bg = "nok_bg",
.preBattle = &N(EVS_PreBattle),
.postBattle = &N(EVS_PostBattle),
.foregroundModelList = N(ForegroundModels),
};

View File

@ -1,34 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#include "mapfs/iwa_bt01_shape.h"
#define NAMESPACE b_area_dig_dig_02 #include "battle/common/stage/area_iwa/iwa_01b.inc.c"
EvtScript N(EVS_PreBattle) = {
EVT_CALL(SetSpriteShading, SHADING_NONE)
EVT_CALL(SetGroupVisibility, MODEL_a, MODEL_GROUP_HIDDEN)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_PostBattle) = {
EVT_RETURN
EVT_END
};
s32 N(ForegroundModels)[] = {
MODEL_iwa1,
MODEL_o331,
STAGE_MODEL_LIST_END
};
Stage NAMESPACE = {
.texture = "iwa_tex",
.shape = "iwa_bt01_shape",
.hit = "iwa_bt01_hit",
.bg = "iwa_bg",
.preBattle = &N(EVS_PreBattle),
.postBattle = &N(EVS_PostBattle),
.foregroundModelList = N(ForegroundModels),
};

View File

@ -1,67 +1,3 @@
#include "common.h" #include "../area.h"
#include "effects.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#include "mapfs/sbk_bt02_shape.h"
#define NAMESPACE b_area_dig_dig_03 #include "battle/common/stage/area_sbk/sbk_02.inc.c"
#include "common/UpdateSunPos.inc.c"
#include "common/GetModelPos.inc.c"
EvtScript N(EVS_UpdateSunPos) = {
EVT_SET(LVarA, LVar0)
EVT_SET(LVar7, LVar1)
EVT_MUL(LVar7, 10)
EVT_CALL(N(GetModelPos))
EVT_LABEL(0)
EVT_ADD(LVar7, 1)
EVT_IF_GT(LVar7, 3599)
EVT_SUB(LVar7, 3600)
EVT_END_IF
EVT_CALL(N(UpdateSunPos), LVar7, LVar0, LVar1, LVar2)
EVT_CALL(TranslateModel, LVarA, LVar0, LVar1, LVar2)
EVT_WAIT(1)
EVT_GOTO(0)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_PreBattle) = {
EVT_CALL(SetSpriteShading, SHADING_NONE)
EVT_SET(LVar0, MODEL_g60)
EVT_SET(LVar1, 0)
EVT_EXEC(N(EVS_UpdateSunPos))
EVT_SET(LVar0, MODEL_g63)
EVT_SET(LVar1, 120)
EVT_EXEC(N(EVS_UpdateSunPos))
EVT_SET(LVar0, MODEL_g62)
EVT_SET(LVar1, 240)
EVT_EXEC(N(EVS_UpdateSunPos))
EVT_PLAY_EFFECT(EFFECT_SUN, 0, 0, 0, 0, 0, 0, 0)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_PostBattle) = {
EVT_RETURN
EVT_END
};
s32 N(ForegroundModels)[] = {
MODEL_o322,
MODEL_o321,
MODEL_o320,
MODEL_o319,
STAGE_MODEL_LIST_END
};
Stage NAMESPACE = {
.texture = "sbk_tex",
.shape = "sbk_bt02_shape",
.hit = "sbk_bt02_hit",
.bg = "sbk_bg",
.preBattle = &N(EVS_PreBattle),
.postBattle = &N(EVS_PostBattle),
.foregroundModelList = N(ForegroundModels),
};

View File

@ -1,64 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#include "mapfs/omo_bt04_shape.h"
#define NAMESPACE b_area_dig_dig_04 #include "battle/common/stage/area_omo/omo_04.inc.c"
extern Formation N(Formation_SlotMachine);
extern ActorBlueprint N(slot_machine_stop);
extern ActorBlueprint N(slot_machine_start);
EvtScript N(EVS_PreBattle) = {
EVT_CALL(SetSpriteShading, SHADING_NONE)
EVT_CALL(SetCamBGColor, CAM_BATTLE, 0, 0, 0)
EVT_CALL(SetTexPanner, 29, TEX_PANNER_A)
EVT_THREAD
EVT_SET(LVarE, 0)
EVT_LOOP(0)
EVT_ADD(LVarE, 0x8000)
EVT_CALL(SetTexPanOffset, TEX_PANNER_A, TEX_PANNER_MAIN, LVarE, 0)
EVT_WAIT(10)
EVT_END_LOOP
EVT_END_THREAD
EVT_RETURN
EVT_END
};
EvtScript N(EVS_PostBattle) = {
EVT_RETURN
EVT_END
};
s32 N(ForegroundModels)[] = {
MODEL_itigo,
MODEL_kisya,
MODEL_kusari,
STAGE_MODEL_LIST_END
};
Stage NAMESPACE = {
.texture = "omo_tex",
.shape = "omo_bt04_shape",
.hit = "omo_bt04_hit",
.bg = "omo_bg",
.preBattle = &N(EVS_PreBattle),
.postBattle = &N(EVS_PostBattle),
.foregroundModelList = N(ForegroundModels),
.stageEnemyCount = 4,
.stageFormation = &N(Formation_SlotMachine),
};
Vec3i N(slot_machine_pos1) = { -49, 56, -68 };
Vec3i N(slot_machine_pos2) = { -13, 56, -68 };
Vec3i N(slot_machine_pos3) = { 20, 56, -68 };
Vec3i N(slot_machine_pos4) = { 53, 56, -68 };
Formation N(Formation_SlotMachine) = {
ACTOR_BY_POS(N(slot_machine_start), N(slot_machine_pos1), 0, 0),
ACTOR_BY_POS(N(slot_machine_stop), N(slot_machine_pos2), 0, 1),
ACTOR_BY_POS(N(slot_machine_stop), N(slot_machine_pos3), 0, 2),
ACTOR_BY_POS(N(slot_machine_stop), N(slot_machine_pos4), 0, 3),
};
#include "battle/common/actor/slot_machine.inc.c"

View File

@ -1,23 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#define NAMESPACE b_area_dig_dig_05 #include "battle/common/stage/area_dgb/dgb_05.inc.c"
EvtScript N(EVS_PreBattle) = {
EVT_CALL(SetSpriteShading, SHADING_NONE)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_PostBattle) = {
EVT_RETURN
EVT_END
};
Stage NAMESPACE = {
.texture = "dgb_tex",
.shape = "dgb_bt05_shape",
.hit = "dgb_bt05_hit",
.preBattle = &N(EVS_PreBattle),
.postBattle = &N(EVS_PostBattle),
};

View File

@ -1,380 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#include "sprite/npc/Dayzee.h"
#include "effects.h"
#define NAMESPACE b_area_flo_amazy_dayzee #include "battle/common/actor/amazy_dayzee.inc.c"
extern EvtScript N(init);
extern EvtScript N(takeTurn);
extern EvtScript N(idle);
extern EvtScript N(handleEvent);
extern s32 N(IdleAnimations)[];
enum N(ActorPartIDs) {
PRT_MAIN = 1,
};
s32 N(DefenseTable)[] = {
ELEMENT_NORMAL, 1,
ELEMENT_END,
};
s32 N(StatusTable)[] = {
STATUS_KEY_NORMAL, 0,
STATUS_KEY_DEFAULT, 0,
STATUS_KEY_SLEEP, 10,
STATUS_KEY_POISON, 0,
STATUS_KEY_FROZEN, 0,
STATUS_KEY_DIZZY, 10,
STATUS_KEY_FEAR, 0,
STATUS_KEY_STATIC, 0,
STATUS_KEY_PARALYZE, 10,
STATUS_KEY_SHRINK, 10,
STATUS_KEY_STOP, 10,
STATUS_TURN_MOD_DEFAULT, 0,
STATUS_TURN_MOD_SLEEP, -1,
STATUS_TURN_MOD_POISON, 0,
STATUS_TURN_MOD_FROZEN, 0,
STATUS_TURN_MOD_DIZZY, -1,
STATUS_TURN_MOD_FEAR, 0,
STATUS_TURN_MOD_STATIC, 0,
STATUS_TURN_MOD_PARALYZE, -1,
STATUS_TURN_MOD_SHRINK, 0,
STATUS_TURN_MOD_STOP, -2,
STATUS_END,
};
ActorPartBlueprint N(ActorParts)[] = {
{
.flags = ACTOR_PART_FLAG_MULTI_TARGET,
.index = PRT_MAIN,
.posOffset = { 0, 0, 0 },
.targetOffset = { -2, 30 },
.opacity = 255,
.idleAnimations = N(IdleAnimations),
.defenseTable = N(DefenseTable),
.eventFlags = 0,
.elementImmunityFlags = 0,
.projectileTargetOffset = { 0, -8 },
},
};
ActorBlueprint NAMESPACE = {
.flags = 0,
.type = ACTOR_TYPE_AMAZY_DAYZEE,
.level = 100,
.maxHP = 20,
.partCount = ARRAY_COUNT(N(ActorParts)),
.partsData = N(ActorParts),
.initScript = &N(init),
.statusTable = N(StatusTable),
.escapeChance = 90,
.airLiftChance = 85,
.hurricaneChance = 80,
.spookChance = 100,
.upAndAwayChance = 95,
.spinSmashReq = 0,
.powerBounceChance = 70,
.coinReward = 5,
.size = { 32, 34 },
.healthBarOffset = { 0, 0 },
.statusIconOffset = { -14, 17 },
.statusTextOffset = { 9, 25 },
};
s32 N(IdleAnimations)[] = {
STATUS_KEY_NORMAL, ANIM_Dayzee_Amazy_Anim01,
STATUS_KEY_STONE, ANIM_Dayzee_Amazy_Anim00,
STATUS_KEY_SLEEP, ANIM_Dayzee_Amazy_Anim0C,
STATUS_KEY_POISON, ANIM_Dayzee_Amazy_Anim01,
STATUS_KEY_STOP, ANIM_Dayzee_Amazy_Anim00,
STATUS_KEY_STATIC, ANIM_Dayzee_Amazy_Anim01,
STATUS_KEY_PARALYZE, ANIM_Dayzee_Amazy_Anim00,
STATUS_KEY_DIZZY, ANIM_Dayzee_Amazy_Anim0B,
STATUS_KEY_FEAR, ANIM_Dayzee_Amazy_Anim0B,
STATUS_END,
};
EvtScript N(init) = {
EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn)))
EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle)))
EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent)))
EVT_RETURN
EVT_END
};
EvtScript N(idle) = {
EVT_LABEL(0)
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_ADD(LVar1, 15)
EVT_SUB(LVar2, 2)
EVT_PLAY_EFFECT(EFFECT_SPARKLES, 2, LVar0, LVar1, LVar2, 30, 0)
EVT_WAIT(15)
EVT_GOTO(0)
EVT_RETURN
EVT_END
};
EvtScript N(returnHome) = {
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Amazy_Anim03)
EVT_EXEC_WAIT(EVS_Enemy_ReturnHome)
EVT_RETURN
EVT_END
};
EvtScript N(handleEvent) = {
EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE)
EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_OR_EQ(EVENT_HIT_COMBO)
EVT_CASE_OR_EQ(EVENT_HIT)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Amazy_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_END_CASE_GROUP
EVT_CASE_EQ(EVENT_BURN_HIT)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Amazy_Anim09)
EVT_SET_CONST(LVar2, ANIM_Dayzee_Amazy_Anim0A)
EVT_EXEC_WAIT(EVS_Enemy_BurnHit)
EVT_CASE_EQ(EVENT_BURN_DEATH)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Amazy_Anim09)
EVT_SET_CONST(LVar2, ANIM_Dayzee_Amazy_Anim0A)
EVT_EXEC_WAIT(EVS_Enemy_BurnHit)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Amazy_Anim0A)
EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN
EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Amazy_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit)
EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Amazy_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Amazy_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN
EVT_CASE_EQ(EVENT_SHOCK_HIT)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Amazy_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_ShockHit)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Amazy_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_JumpBack)
EVT_EXEC_WAIT(N(returnHome))
EVT_CASE_EQ(EVENT_SHOCK_DEATH)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Amazy_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_ShockHit)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Amazy_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN
EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE)
EVT_CASE_OR_EQ(EVENT_IMMUNE)
EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Amazy_Anim01)
EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit)
EVT_END_CASE_GROUP
EVT_CASE_EQ(EVENT_DEATH)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Amazy_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_WAIT(10)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Amazy_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN
EVT_CASE_EQ(EVENT_RECOVER_STATUS)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Amazy_Anim01)
EVT_EXEC_WAIT(EVS_Enemy_Recover)
EVT_CASE_EQ(EVENT_SCARE_AWAY)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Amazy_Anim04)
EVT_SET_CONST(LVar2, ANIM_Dayzee_Amazy_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_ScareAway)
EVT_RETURN
EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Amazy_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_AirLift)
EVT_CASE_EQ(EVENT_BLOW_AWAY)
EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0)
EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED)
EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK)
EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 1, 0)
EVT_ELSE
EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 3, 0)
EVT_END_IF
EVT_END_IF
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Amazy_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_BlowAway)
EVT_RETURN
EVT_CASE_DEFAULT
EVT_END_SWITCH
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
EVT_RETURN
EVT_END
};
EvtScript N(attackPainfulSong) = {
EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE)
EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER)
EVT_CALL(GetBattlePhase, LVar0)
EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE)
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(SetActorPos, ACTOR_SELF, -20, LVar1, LVar2)
EVT_ELSE
EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH)
EVT_CALL(BattleCamTargetActor, ACTOR_SELF)
EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE)
EVT_CALL(MoveBattleCamOver, 70)
EVT_SET(LFlag0, FALSE)
EVT_LABEL(0)
EVT_IF_EQ(LFlag0, FALSE)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Amazy_Anim0E)
EVT_SET(LFlag0, TRUE)
EVT_ELSE
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Amazy_Anim0F)
EVT_SET(LFlag0, FALSE)
EVT_END_IF
EVT_WAIT(1)
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5))
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_SUB(LVar0, 20)
EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE)
EVT_IF_GT(LVar0, 0)
EVT_GOTO(0)
EVT_END_IF
EVT_IF_EQ(LFlag0, FALSE)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Amazy_Anim0E)
EVT_SET(LFlag0, TRUE)
EVT_ELSE
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Amazy_Anim0F)
EVT_SET(LFlag0, FALSE)
EVT_END_IF
EVT_WAIT(1)
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5))
EVT_CALL(SetGoalPos, ACTOR_SELF, -35, 0, 10)
EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE)
EVT_END_IF
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Amazy_Anim01)
EVT_WAIT(10)
EVT_THREAD
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Amazy_Anim06)
EVT_WAIT(40)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Amazy_Anim07)
EVT_END_THREAD
EVT_WAIT(20)
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_DAYZEE_SONG)
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_ADD(LVar1, 25)
EVT_ADD(LVar2, 2)
EVT_LOOP(13)
EVT_CALL(RandInt, 30, LVar3)
EVT_SUB(LVar3, 15)
EVT_ADD(LVar3, LVar0)
EVT_PLAY_EFFECT(EFFECT_MUSIC_NOTE, 1, LVar3, LVar1, LVar2, 0)
EVT_WAIT(10)
EVT_END_LOOP
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Amazy_Anim01)
EVT_WAIT(10)
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10)
EVT_SWITCH(LVar0)
EVT_CASE_OR_EQ(HIT_RESULT_MISS)
EVT_CASE_OR_EQ(HIT_RESULT_LUCKY)
EVT_SET(LVarA, LVar0)
EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY)
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0)
EVT_END_IF
EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT)
EVT_WAIT(15)
EVT_CALL(YieldTurn)
EVT_CALL(SetActorYaw, ACTOR_SELF, 180)
EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT)
EVT_EXEC_WAIT(N(returnHome))
EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0)
EVT_CALL(SetActorYaw, ACTOR_SELF, 0)
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
EVT_RETURN
EVT_END_CASE_GROUP
EVT_END_SWITCH
EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER)
EVT_CALL(SetGoalToTarget, ACTOR_SELF)
EVT_WAIT(2)
EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_NO_CONTACT, 0, DMG_STATUS_KEY(STATUS_FLAG_SLEEP, 3, 15), 20, BS_FLAGS1_SP_EVT_ACTIVE)
EVT_SWITCH(LVarF)
EVT_CASE_OR_EQ(0)
EVT_CASE_OR_EQ(2)
EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT)
EVT_CALL(MoveBattleCamOver, 10)
EVT_WAIT(20)
EVT_CALL(YieldTurn)
EVT_EXEC_WAIT(N(returnHome))
EVT_END_CASE_GROUP
EVT_END_SWITCH
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
EVT_RETURN
EVT_END
};
EvtScript N(flee) = {
EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE)
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19)
EVT_CALL(SetBattleCamZoom, 300)
EVT_CALL(SetBattleCamOffsetZ, 30)
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_SUB(LVar0, 20)
EVT_CALL(SetBattleCamTarget, LVar0, LVar1, LVar2)
EVT_CALL(MoveBattleCamOver, 30)
EVT_CALL(SetActorYaw, ACTOR_SELF, 180)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Amazy_Anim03)
EVT_WAIT(10)
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(1.0))
EVT_SUB(LVar0, 20)
EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
EVT_WAIT(20)
EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT)
EVT_CALL(EnableActorBlur, ACTOR_SELF, 1)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Amazy_Anim04)
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(12.0))
EVT_ADD(LVar0, 200)
EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
EVT_CALL(EnableActorBlur, ACTOR_SELF, 0)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_BATTLE_FLED, TRUE)
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
EVT_CALL(RemoveActor, ACTOR_SELF)
EVT_RETURN
EVT_END
};
EvtScript N(takeTurn) = {
EVT_CALL(GetBattlePhase, LVar0)
EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE)
EVT_EXEC_WAIT(N(attackPainfulSong))
EVT_RETURN
EVT_END_IF
EVT_CALL(RandInt, 1000, LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_LT(850)
EVT_EXEC_WAIT(N(flee))
EVT_CASE_DEFAULT
EVT_EXEC_WAIT(N(attackPainfulSong))
EVT_END_SWITCH
EVT_RETURN
EVT_END
};

View File

@ -1,5 +1,3 @@
#include "common.h" #include "../area.h"
#define NAMESPACE b_area_flo_bzzap
#include "battle/common/actor/bzzap.inc.c" #include "battle/common/actor/bzzap.inc.c"

View File

@ -1,391 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#include "sprite/npc/Dayzee.h"
#include "effects.h"
#define NAMESPACE b_area_flo_crazee_dayzee #include "battle/common/actor/crazee_dayzee.inc.c"
extern EvtScript N(EVS_Init);
extern EvtScript N(takeTurn);
extern EvtScript N(idle);
extern EvtScript N(handleEvent);
extern s32 N(IdleAnimations)[];
enum N(ActorPartIDs) {
PRT_MAIN = 1,
};
s32 N(DefenseTable)[] = {
ELEMENT_NORMAL, 0,
ELEMENT_END,
};
s32 N(StatusTable)[] = {
STATUS_KEY_NORMAL, 0,
STATUS_KEY_DEFAULT, 0,
STATUS_KEY_SLEEP, 95,
STATUS_KEY_POISON, 50,
STATUS_KEY_FROZEN, 0,
STATUS_KEY_DIZZY, 30,
STATUS_KEY_FEAR, 0,
STATUS_KEY_STATIC, 50,
STATUS_KEY_PARALYZE, 30,
STATUS_KEY_SHRINK, 30,
STATUS_KEY_STOP, 30,
STATUS_TURN_MOD_DEFAULT, 0,
STATUS_TURN_MOD_SLEEP, 0,
STATUS_TURN_MOD_POISON, 0,
STATUS_TURN_MOD_FROZEN, 0,
STATUS_TURN_MOD_DIZZY, 0,
STATUS_TURN_MOD_FEAR, 0,
STATUS_TURN_MOD_STATIC, 0,
STATUS_TURN_MOD_PARALYZE, 1,
STATUS_TURN_MOD_SHRINK, 0,
STATUS_TURN_MOD_STOP, 0,
STATUS_END,
};
ActorPartBlueprint N(ActorParts)[] = {
{
.flags = ACTOR_PART_FLAG_MULTI_TARGET,
.index = PRT_MAIN,
.posOffset = { 0, 0, 0 },
.targetOffset = { -2, 30 },
.opacity = 255,
.idleAnimations = N(IdleAnimations),
.defenseTable = N(DefenseTable),
.eventFlags = 0,
.elementImmunityFlags = 0,
.projectileTargetOffset = { 0, -8 },
},
};
ActorBlueprint NAMESPACE = {
.flags = 0,
.type = ACTOR_TYPE_CRAZEE_DAYZEE,
.level = 19,
.maxHP = 8,
.partCount = ARRAY_COUNT(N(ActorParts)),
.partsData = N(ActorParts),
.initScript = &N(EVS_Init),
.statusTable = N(StatusTable),
.escapeChance = 50,
.airLiftChance = 85,
.hurricaneChance = 80,
.spookChance = 100,
.upAndAwayChance = 95,
.spinSmashReq = 0,
.powerBounceChance = 75,
.coinReward = 2,
.size = { 32, 34 },
.healthBarOffset = { 0, 0 },
.statusIconOffset = { -14, 17 },
.statusTextOffset = { 9, 25 },
};
s32 N(IdleAnimations)[] = {
STATUS_KEY_NORMAL, ANIM_Dayzee_Anim01,
STATUS_KEY_STONE, ANIM_Dayzee_Anim00,
STATUS_KEY_SLEEP, ANIM_Dayzee_Anim0C,
STATUS_KEY_POISON, ANIM_Dayzee_Anim01,
STATUS_KEY_STOP, ANIM_Dayzee_Anim00,
STATUS_KEY_STATIC, ANIM_Dayzee_Anim01,
STATUS_KEY_PARALYZE, ANIM_Dayzee_Anim00,
STATUS_KEY_DIZZY, ANIM_Dayzee_Anim0B,
STATUS_KEY_FEAR, ANIM_Dayzee_Anim0B,
STATUS_END,
};
EvtScript N(EVS_Init) = {
EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn)))
EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle)))
EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent)))
EVT_RETURN
EVT_END
};
EvtScript N(idle) = {
EVT_RETURN
EVT_END
};
EvtScript N(returnHome) = {
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Anim03)
EVT_EXEC_WAIT(EVS_Enemy_ReturnHome)
EVT_RETURN
EVT_END
};
EvtScript N(handleEvent) = {
EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE)
EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_OR_EQ(EVENT_HIT_COMBO)
EVT_CASE_OR_EQ(EVENT_HIT)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_END_CASE_GROUP
EVT_CASE_EQ(EVENT_BURN_HIT)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Anim09)
EVT_SET_CONST(LVar2, ANIM_Dayzee_Anim0A)
EVT_EXEC_WAIT(EVS_Enemy_BurnHit)
EVT_CASE_EQ(EVENT_BURN_DEATH)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Anim09)
EVT_SET_CONST(LVar2, ANIM_Dayzee_Anim0A)
EVT_EXEC_WAIT(EVS_Enemy_BurnHit)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Anim0A)
EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN
EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit)
EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN
EVT_CASE_EQ(EVENT_SHOCK_HIT)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_ShockHit)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_JumpBack)
EVT_EXEC_WAIT(N(returnHome))
EVT_CASE_EQ(EVENT_SHOCK_DEATH)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_ShockHit)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN
EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE)
EVT_CASE_OR_EQ(EVENT_IMMUNE)
EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Anim01)
EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit)
EVT_END_CASE_GROUP
EVT_CASE_EQ(EVENT_DEATH)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_WAIT(10)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN
EVT_CASE_EQ(EVENT_RECOVER_STATUS)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Anim01)
EVT_EXEC_WAIT(EVS_Enemy_Recover)
EVT_CASE_EQ(EVENT_SCARE_AWAY)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Anim04)
EVT_SET_CONST(LVar2, ANIM_Dayzee_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_ScareAway)
EVT_RETURN
EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_AirLift)
EVT_CASE_EQ(EVENT_BLOW_AWAY)
EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0)
EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED)
EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK)
EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 1, 0)
EVT_ELSE
EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 3, 0)
EVT_END_IF
EVT_END_IF
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Dayzee_Anim08)
EVT_EXEC_WAIT(EVS_Enemy_BlowAway)
EVT_RETURN
EVT_CASE_DEFAULT
EVT_END_SWITCH
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
EVT_RETURN
EVT_END
};
EvtScript N(attackPainfulSong) = {
EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE)
EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER)
EVT_CALL(GetBattlePhase, LVar0)
EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE)
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(SetActorPos, ACTOR_SELF, -20, LVar1, LVar2)
EVT_ELSE
EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH)
EVT_CALL(BattleCamTargetActor, ACTOR_SELF)
EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE)
EVT_CALL(MoveBattleCamOver, 70)
EVT_SET(LFlag0, FALSE)
EVT_LABEL(0)
EVT_IF_EQ(LFlag0, FALSE)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Anim0E)
EVT_SET(LFlag0, TRUE)
EVT_ELSE
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Anim0F)
EVT_SET(LFlag0, FALSE)
EVT_END_IF
EVT_WAIT(1)
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5))
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_SUB(LVar0, 20)
EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE)
EVT_IF_GT(LVar0, 0)
EVT_GOTO(0)
EVT_END_IF
EVT_IF_EQ(LFlag0, FALSE)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Anim0E)
EVT_SET(LFlag0, TRUE)
EVT_ELSE
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Anim0F)
EVT_SET(LFlag0, FALSE)
EVT_END_IF
EVT_WAIT(1)
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5))
EVT_CALL(SetGoalPos, ACTOR_SELF, -35, 0, 10)
EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE)
EVT_END_IF
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Anim01)
EVT_WAIT(10)
EVT_THREAD
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Anim06)
EVT_WAIT(40)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Anim07)
EVT_END_THREAD
EVT_WAIT(20)
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_DAYZEE_SONG)
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_ADD(LVar1, 25)
EVT_ADD(LVar2, 2)
EVT_LOOP(13)
EVT_CALL(RandInt, 30, LVar3)
EVT_SUB(LVar3, 15)
EVT_ADD(LVar3, LVar0)
EVT_PLAY_EFFECT(EFFECT_MUSIC_NOTE, 1, LVar3, LVar1, LVar2, 0)
EVT_WAIT(10)
EVT_END_LOOP
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Anim01)
EVT_WAIT(10)
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10)
EVT_SWITCH(LVar0)
EVT_CASE_OR_EQ(HIT_RESULT_MISS)
EVT_CASE_OR_EQ(HIT_RESULT_LUCKY)
EVT_SET(LVarA, LVar0)
EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY)
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0)
EVT_END_IF
EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT)
EVT_WAIT(15)
EVT_CALL(YieldTurn)
EVT_CALL(SetActorYaw, ACTOR_SELF, 180)
EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT)
EVT_EXEC_WAIT(N(returnHome))
EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0)
EVT_CALL(SetActorYaw, ACTOR_SELF, 0)
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
EVT_RETURN
EVT_END_CASE_GROUP
EVT_END_SWITCH
EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER)
EVT_CALL(SetGoalToTarget, ACTOR_SELF)
EVT_WAIT(2)
EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_NO_CONTACT, 0, DMG_STATUS_KEY(STATUS_FLAG_SLEEP, 3, 20), 4, BS_FLAGS1_SP_EVT_ACTIVE)
EVT_SWITCH(LVarF)
EVT_CASE_OR_EQ(0)
EVT_CASE_OR_EQ(2)
EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT)
EVT_CALL(MoveBattleCamOver, 10)
EVT_WAIT(20)
EVT_CALL(YieldTurn)
EVT_EXEC_WAIT(N(returnHome))
EVT_END_CASE_GROUP
EVT_END_SWITCH
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
EVT_RETURN
EVT_END
};
EvtScript N(flee) = {
EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE)
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19)
EVT_CALL(SetBattleCamZoom, 300)
EVT_CALL(SetBattleCamOffsetZ, 30)
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_SUB(LVar0, 20)
EVT_CALL(SetBattleCamTarget, LVar0, LVar1, LVar2)
EVT_CALL(MoveBattleCamOver, 30)
EVT_CALL(SetActorYaw, ACTOR_SELF, 180)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Anim03)
EVT_WAIT(10)
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(1.0))
EVT_SUB(LVar0, 20)
EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
EVT_WAIT(20)
EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT)
EVT_CALL(EnableActorBlur, ACTOR_SELF, 1)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Anim04)
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(12.0))
EVT_ADD(LVar0, 200)
EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
EVT_CALL(EnableActorBlur, ACTOR_SELF, 0)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_BATTLE_FLED, TRUE)
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
EVT_CALL(RemoveActor, ACTOR_SELF)
EVT_RETURN
EVT_END
};
EvtScript N(takeTurn) = {
EVT_CALL(GetBattlePhase, LVar0)
EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE)
EVT_EXEC_WAIT(N(attackPainfulSong))
EVT_RETURN
EVT_END_IF
EVT_CALL(GetActorHP, ACTOR_SELF, LVar0)
EVT_CALL(RandInt, 100, LVar1)
EVT_SWITCH(LVar0)
EVT_CASE_EQ(1)
EVT_IF_LT(LVar1, 80)
EVT_EXEC_WAIT(N(flee))
EVT_RETURN
EVT_END_IF
EVT_CASE_EQ(2)
EVT_IF_LT(LVar1, 40)
EVT_EXEC_WAIT(N(flee))
EVT_RETURN
EVT_END_IF
EVT_CASE_EQ(3)
EVT_IF_LT(LVar1, 20)
EVT_EXEC_WAIT(N(flee))
EVT_RETURN
EVT_END_IF
EVT_CASE_EQ(4)
EVT_IF_LT(LVar1, 10)
EVT_EXEC_WAIT(N(flee))
EVT_RETURN
EVT_END_IF
EVT_END_SWITCH
EVT_EXEC_WAIT(N(attackPainfulSong))
EVT_RETURN
EVT_END
};

View File

@ -1,5 +1,3 @@
#include "common.h" #include "../area.h"
#define NAMESPACE b_area_flo_green_magikoopa
#include "battle/common/actor/green_magikoopa.inc.c" #include "battle/common/actor/green_magikoopa.inc.c"

View File

@ -1,610 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#include "sprite/npc/Spiny.h"
#include "sprite/npc/Lakitu.h"
#include "effects.h"
#define NAMESPACE b_area_flo_lakitu #include "battle/common/actor/lakitu.inc.c"
extern ActorBlueprint b_area_flo_spiny;
extern EvtScript N(init);
extern EvtScript N(takeTurn);
extern EvtScript N(idle);
extern EvtScript N(handleEvent);
enum N(ActorPartIDs) {
PRT_MAIN = 1,
PRT_2 = 2,
PRT_3 = 3,
};
s32 N(IdleAnimations)[] = {
STATUS_KEY_NORMAL, ANIM_Lakitu_Anim01,
STATUS_KEY_STONE, ANIM_Lakitu_Anim00,
STATUS_KEY_SLEEP, ANIM_Lakitu_Anim08,
STATUS_KEY_POISON, ANIM_Lakitu_Anim01,
STATUS_KEY_STOP, ANIM_Lakitu_Anim00,
STATUS_KEY_STATIC, ANIM_Lakitu_Anim01,
STATUS_KEY_PARALYZE, ANIM_Lakitu_Anim00,
STATUS_KEY_DIZZY, ANIM_Lakitu_Anim09,
STATUS_KEY_FEAR, ANIM_Lakitu_Anim09,
STATUS_END,
};
s32 N(IdleAnimations2)[] = {
STATUS_KEY_NORMAL, ANIM_Lakitu_Anim0B,
STATUS_END,
};
s32 N(IdleAnimations3)[] = {
STATUS_KEY_NORMAL, ANIM_Spiny_Anim01,
STATUS_END,
};
s32 N(DefenseTable)[] = {
ELEMENT_NORMAL, 0,
ELEMENT_MYSTERY, 0,
ELEMENT_END,
};
s32 N(StatusTable)[] = {
STATUS_KEY_NORMAL, 0,
STATUS_KEY_DEFAULT, 0,
STATUS_KEY_SLEEP, 50,
STATUS_KEY_POISON, 50,
STATUS_KEY_FROZEN, 0,
STATUS_KEY_DIZZY, 100,
STATUS_KEY_FEAR, 0,
STATUS_KEY_STATIC, 50,
STATUS_KEY_PARALYZE, 50,
STATUS_KEY_SHRINK, 75,
STATUS_KEY_STOP, 80,
STATUS_TURN_MOD_DEFAULT, 0,
STATUS_TURN_MOD_SLEEP, 0,
STATUS_TURN_MOD_POISON, 0,
STATUS_TURN_MOD_FROZEN, 0,
STATUS_TURN_MOD_DIZZY, 1,
STATUS_TURN_MOD_FEAR, 0,
STATUS_TURN_MOD_STATIC, 0,
STATUS_TURN_MOD_PARALYZE, -1,
STATUS_TURN_MOD_SHRINK, 0,
STATUS_TURN_MOD_STOP, 0,
STATUS_END,
};
ActorPartBlueprint N(ActorParts)[] = {
{
.flags = ACTOR_PART_FLAG_MULTI_TARGET,
.index = PRT_MAIN,
.posOffset = { 0, 0, 0 },
.targetOffset = { -5, 35 },
.opacity = 255,
.idleAnimations = N(IdleAnimations),
.defenseTable = N(DefenseTable),
.eventFlags = 0,
.elementImmunityFlags = 0,
.projectileTargetOffset = { 0, -13 },
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = PRT_2,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },
.opacity = 255,
.idleAnimations = N(IdleAnimations2),
.defenseTable = N(DefenseTable),
.eventFlags = 0,
.elementImmunityFlags = 0,
.projectileTargetOffset = { 0, 0 },
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = PRT_3,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },
.opacity = 255,
.idleAnimations = N(IdleAnimations3),
.defenseTable = N(DefenseTable),
.eventFlags = 0,
.elementImmunityFlags = 0,
.projectileTargetOffset = { 0, 0 },
},
};
ActorBlueprint NAMESPACE = {
.flags = ACTOR_FLAG_FLYING,
.type = ACTOR_TYPE_LAKITU,
.level = 20,
.maxHP = 12,
.partCount = ARRAY_COUNT(N(ActorParts)),
.partsData = N(ActorParts),
.initScript = &N(init),
.statusTable = N(StatusTable),
.escapeChance = 40,
.airLiftChance = 90,
.hurricaneChance = 90,
.spookChance = 50,
.upAndAwayChance = 95,
.spinSmashReq = 0,
.powerBounceChance = 85,
.coinReward = 2,
.size = { 32, 38 },
.healthBarOffset = { 0, 0 },
.statusIconOffset = { -11, 20 },
.statusTextOffset = { 10, 34 },
};
EvtScript N(init) = {
EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn)))
EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle)))
EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent)))
EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0)
EVT_RETURN
EVT_END
};
EvtScript N(idle) = {
EVT_RETURN
EVT_END
};
EvtScript N(returnHome) = {
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lakitu_Anim03)
EVT_CALL(SetGoalToHome, ACTOR_SELF)
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(7.0))
EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 0, EASING_SIN_OUT)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lakitu_Anim01)
EVT_RETURN
EVT_END
};
EvtScript N(handleEvent) = {
EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE)
EVT_CALL(EnableIdleScript, ACTOR_SELF, 0)
EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_OR_EQ(EVENT_HIT_COMBO)
EVT_CASE_OR_EQ(EVENT_HIT)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Lakitu_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_END_CASE_GROUP
EVT_CASE_EQ(EVENT_BURN_HIT)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Lakitu_Anim05)
EVT_SET_CONST(LVar2, ANIM_Lakitu_Anim06)
EVT_EXEC_WAIT(EVS_Enemy_BurnHit)
EVT_CASE_EQ(EVENT_BURN_DEATH)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Lakitu_Anim05)
EVT_SET_CONST(LVar2, ANIM_Lakitu_Anim06)
EVT_EXEC_WAIT(EVS_Enemy_BurnHit)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Lakitu_Anim06)
EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN
EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Lakitu_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit)
EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Lakitu_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Lakitu_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN
EVT_CASE_EQ(EVENT_SHOCK_HIT)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Lakitu_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_ShockHit)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Lakitu_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_JumpBack)
EVT_EXEC_WAIT(N(returnHome))
EVT_CASE_EQ(EVENT_SHOCK_DEATH)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Lakitu_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_ShockHit)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Lakitu_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN
EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE)
EVT_CASE_OR_EQ(EVENT_IMMUNE)
EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Lakitu_Anim01)
EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit)
EVT_END_CASE_GROUP
EVT_CASE_EQ(EVENT_DEATH)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Lakitu_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_WAIT(10)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Lakitu_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN
EVT_CASE_EQ(EVENT_BEGIN_FIRST_STRIKE)
EVT_CALL(SetActorPos, ACTOR_SELF, 20, 0, 0)
EVT_CALL(HPBarToCurrent, ACTOR_SELF)
EVT_CASE_EQ(EVENT_END_FIRST_STRIKE)
EVT_EXEC_WAIT(N(returnHome))
EVT_CALL(HPBarToHome, ACTOR_SELF)
EVT_CASE_EQ(EVENT_RECOVER_STATUS)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Lakitu_Anim01)
EVT_EXEC_WAIT(EVS_Enemy_Recover)
EVT_CASE_EQ(EVENT_SCARE_AWAY)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Lakitu_Anim03)
EVT_SET_CONST(LVar2, ANIM_Lakitu_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_ScareAway)
EVT_RETURN
EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Lakitu_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_AirLift)
EVT_CASE_EQ(EVENT_BLOW_AWAY)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Lakitu_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_BlowAway)
EVT_RETURN
EVT_CASE_DEFAULT
EVT_END_SWITCH
EVT_CALL(EnableIdleScript, ACTOR_SELF, 1)
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
EVT_RETURN
EVT_END
};
EvtScript N(attackSpinyFlip) = {
EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE)
EVT_CALL(EnableIdleScript, ACTOR_SELF, 0)
EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER)
EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH)
EVT_CALL(BattleCamTargetActor, ACTOR_SELF)
EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE)
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0))
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lakitu_Anim03)
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(SetGoalPos, ACTOR_SELF, -20, LVar1, LVar2)
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lakitu_Anim01)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Lakitu_Anim0B)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lakitu_Anim12)
EVT_WAIT(20)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lakitu_Anim13)
EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA)
EVT_IF_FLAG(LVarA, STATUS_FLAG_SHRINK)
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_ADD(LVar0, -3)
EVT_ADD(LVar1, 16)
EVT_ADD(LVar2, 2)
EVT_PLAY_EFFECT(EFFECT_ENERGY_IN_OUT, 0, LVar0, LVar1, LVar2, EVT_FLOAT(0.4), 10, 0)
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_ADD(LVar1, 12)
EVT_ADD(LVar2, 0)
EVT_CALL(SetPartPos, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2)
EVT_CALL(SetPartScale, ACTOR_SELF, PRT_2, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4))
EVT_ELSE
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_ADD(LVar0, -8)
EVT_ADD(LVar1, 40)
EVT_ADD(LVar2, 5)
EVT_PLAY_EFFECT(EFFECT_ENERGY_IN_OUT, 0, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 10, 0)
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_ADD(LVar1, 30)
EVT_ADD(LVar2, 2)
EVT_CALL(SetPartPos, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2)
EVT_CALL(SetPartScale, ACTOR_SELF, PRT_2, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0))
EVT_END_IF
EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, FALSE)
EVT_WAIT(10)
EVT_THREAD
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lakitu_Anim15)
EVT_WAIT(20)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lakitu_Anim01)
EVT_END_THREAD
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Lakitu_Anim0C)
EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_2, SOUND_20D2)
EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_2, ACTOR_SOUND_JUMP, 0, 0)
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10)
EVT_SWITCH(LVar0)
EVT_CASE_OR_EQ(HIT_RESULT_MISS)
EVT_CASE_OR_EQ(HIT_RESULT_LUCKY)
EVT_SET(LVarA, LVar0)
EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(1.0))
EVT_CALL(SetGoalToTarget, ACTOR_SELF)
EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_SUB(LVar0, 40)
EVT_SET(LVar1, 0)
EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, 0, LVar2, 20, TRUE)
EVT_SUB(LVar0, 30)
EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY)
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0)
EVT_END_IF
EVT_CALL(ResetAllActorSounds, ACTOR_SELF)
EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, 0, LVar2, 10, TRUE)
EVT_SUB(LVar0, 20)
EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, 0, LVar2, 5, TRUE)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, TRUE)
EVT_WAIT(20)
EVT_CALL(YieldTurn)
EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT)
EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT)
EVT_CALL(SetActorYaw, ACTOR_SELF, 180)
EVT_EXEC_WAIT(N(returnHome))
EVT_CALL(SetActorYaw, ACTOR_SELF, 0)
EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0)
EVT_CALL(EnableIdleScript, ACTOR_SELF, 1)
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
EVT_RETURN
EVT_END_CASE_GROUP
EVT_END_SWITCH
EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(1.0))
EVT_CALL(SetGoalToTarget, ACTOR_SELF)
EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2, 20, TRUE)
EVT_CALL(ResetAllActorSounds, ACTOR_SELF)
EVT_WAIT(2)
EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE)
EVT_SWITCH(LVar0)
EVT_CASE_OR_EQ(0)
EVT_CASE_OR_EQ(2)
EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT)
EVT_THREAD
EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(1.0))
EVT_CALL(SetGoalToTarget, ACTOR_SELF)
EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_SUB(LVar0, 40)
EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, 0, LVar2, 20, TRUE)
EVT_SUB(LVar0, 30)
EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, 0, LVar2, 10, TRUE)
EVT_SUB(LVar0, 20)
EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, 0, LVar2, 5, TRUE)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, TRUE)
EVT_END_THREAD
EVT_WAIT(20)
EVT_CALL(YieldTurn)
EVT_EXEC_WAIT(N(returnHome))
EVT_END_CASE_GROUP
EVT_END_SWITCH
EVT_CALL(EnableIdleScript, ACTOR_SELF, 1)
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
EVT_RETURN
EVT_END
};
Vec3i N(spiny_pos) = { NPC_DISPOSE_LOCATION };
Formation N(formation_spiny) = {
ACTOR_BY_POS(b_area_flo_spiny, N(spiny_pos), 100, 1),
};
EvtScript N(summonSpiny) = {
EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE)
EVT_CALL(EnableIdleScript, ACTOR_SELF, 0)
EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER)
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14)
EVT_CALL(BattleCamTargetActor, ACTOR_SELF)
EVT_CALL(SummonEnemy, EVT_PTR(N(formation_spiny)), 0)
EVT_CALL(CopyStatusEffects, ACTOR_SELF, LVar0)
EVT_SET(LVarB, LVar0)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Lakitu_Anim0B)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lakitu_Anim12)
EVT_WAIT(20)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lakitu_Anim13)
EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0)
EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK)
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_ADD(LVar0, -3)
EVT_ADD(LVar1, 16)
EVT_ADD(LVar2, 2)
EVT_PLAY_EFFECT(EFFECT_ENERGY_IN_OUT, 0, LVar0, LVar1, LVar2, EVT_FLOAT(0.4), 10, 0)
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_ADD(LVar1, 12)
EVT_ADD(LVar2, 0)
EVT_CALL(SetPartPos, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2)
EVT_CALL(SetPartScale, ACTOR_SELF, PRT_2, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4))
EVT_CALL(SetPartScale, ACTOR_SELF, PRT_3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4))
EVT_ELSE
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_ADD(LVar0, -8)
EVT_ADD(LVar1, 40)
EVT_ADD(LVar2, 5)
EVT_PLAY_EFFECT(EFFECT_ENERGY_IN_OUT, 0, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 10, 0)
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_ADD(LVar1, 30)
EVT_ADD(LVar2, 2)
EVT_CALL(SetPartPos, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2)
EVT_CALL(SetPartScale, ACTOR_SELF, PRT_2, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0))
EVT_CALL(SetPartScale, ACTOR_SELF, PRT_3, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0))
EVT_END_IF
EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, FALSE)
EVT_WAIT(10)
EVT_THREAD
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lakitu_Anim15)
EVT_WAIT(20)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lakitu_Anim01)
EVT_END_THREAD
EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT)
EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_2, SOUND_20D2)
EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_2, ACTOR_SOUND_JUMP, 0, 0)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Lakitu_Anim0C)
EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(1.6))
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_SUB(LVar0, 40)
EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, 0, LVar2, 12, TRUE)
EVT_CALL(SetPartPos, ACTOR_SELF, PRT_3, LVar0, 0, LVar2)
EVT_SUB(LVar0, 30)
EVT_THREAD
EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_3, 0, 16, 0)
EVT_SET(LVar0, 0)
EVT_SET(LVar1, 0)
EVT_SET(LFlag0, FALSE)
EVT_LOOP(12)
EVT_ADD(LVar0, 30)
EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_3, 0, 0, LVar0)
EVT_ADD(LVar1, 1)
EVT_IF_GE(LVar1, 6)
EVT_IF_EQ(LFlag0, TRUE)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, FALSE)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE)
EVT_SET(LFlag0, FALSE)
EVT_ELSE
EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, TRUE)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, FALSE)
EVT_SET(LFlag0, TRUE)
EVT_END_IF
EVT_END_IF
EVT_WAIT(1)
EVT_END_LOOP
EVT_END_THREAD
EVT_THREAD
EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_3, EVT_FLOAT(1.3))
EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_3, LVar0, 0, LVar2, 12, TRUE)
EVT_END_THREAD
EVT_WAIT(1)
EVT_CALL(ResetAllActorSounds, ACTOR_SELF)
EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(1.3))
EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, 0, LVar2, 12, TRUE)
EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, LVar0, 0, LVar2, 0, 0)
EVT_CALL(GetPartOffset, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2)
EVT_CALL(SetActorPos, LVarB, LVar0, LVar1, LVar2)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, TRUE)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE)
EVT_CALL(SetAnimation, LVarB, 1, ANIM_Spiny_Anim01)
EVT_WAIT(20)
EVT_CALL(SetAnimation, LVarB, 1, ANIM_Spiny_Anim04)
EVT_CALL(SetGoalToIndex, LVarB, LVarA)
EVT_CALL(GetGoalPos, LVarB, LVar0, LVar1, LVar2)
EVT_CALL(GetActorPos, LVarB, LVar3, LVar4, LVar5)
EVT_IF_LT(LVar0, LVar3)
EVT_CALL(SetActorYaw, LVarB, 0)
EVT_ELSE
EVT_CALL(SetActorYaw, LVarB, 180)
EVT_END_IF
EVT_CALL(SetActorSpeed, LVarB, EVT_FLOAT(4.0))
EVT_CALL(RunToGoal, LVarB, 0, FALSE)
EVT_CALL(SetAnimation, LVarB, 1, ANIM_Spiny_Anim01)
EVT_CALL(SetActorYaw, LVarB, 0)
EVT_CALL(GetActorPos, LVarB, LVar0, LVar1, LVar2)
EVT_CALL(ForceHomePos, LVarB, LVar0, LVar1, LVar2)
EVT_CALL(HPBarToHome, LVarB)
EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0)
EVT_ADD(LVar0, 1)
EVT_CALL(SetActorVar, ACTOR_SELF, 0, LVar0)
EVT_CALL(EnableIdleScript, ACTOR_SELF, 1)
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
EVT_RETURN
EVT_END
};
EvtScript N(findPlacesForSummon) = {
EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000)
EVT_CALL(InitTargetIterator)
EVT_LABEL(0)
EVT_CALL(GetOwnerTarget, LVar0, LVar5)
EVT_CALL(GetIndexFromHome, LVar0, LVar5)
EVT_MOD(LVar5, 4)
EVT_SWITCH(LVar5)
EVT_CASE_EQ(0)
EVT_SET(LFlag1, TRUE)
EVT_CASE_EQ(1)
EVT_SET(LFlag2, TRUE)
EVT_CASE_EQ(2)
EVT_SET(LFlag3, TRUE)
EVT_CASE_EQ(3)
EVT_SET(LFlag4, TRUE)
EVT_END_SWITCH
EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0)
EVT_IF_NE(LVar0, -1)
EVT_GOTO(0)
EVT_END_IF
EVT_IF_EQ(LFlag1, FALSE)
EVT_SET(LVarA, 0)
EVT_RETURN
EVT_END_IF
EVT_IF_EQ(LFlag2, FALSE)
EVT_SET(LVarA, 1)
EVT_RETURN
EVT_END_IF
EVT_IF_EQ(LFlag3, FALSE)
EVT_SET(LVarA, 2)
EVT_RETURN
EVT_END_IF
EVT_IF_EQ(LFlag4, FALSE)
EVT_SET(LVarA, 3)
EVT_RETURN
EVT_END_IF
EVT_SET(LVarA, -1)
EVT_RETURN
EVT_END
};
EvtScript N(calcSummonChance) = {
EVT_SET(LVar9, 0)
EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000)
EVT_CALL(InitTargetIterator)
EVT_LABEL(0)
EVT_CALL(GetOwnerTarget, LVar0, LVar1)
EVT_CALL(GetOriginalActorType, LVar0, LVar2)
EVT_SWITCH(LVar2)
EVT_CASE_EQ(ACTOR_TYPE_LAKITU)
EVT_CALL(GetStatusFlags, LVar0, LVar3)
EVT_IF_NOT_FLAG(LVar3, STATUS_FLAGS_IMMOBILIZED)
EVT_CALL(GetActorVar, LVar0, 0, LVar3)
EVT_IF_LT(LVar3, 3)
EVT_ADD(LVar9, 1)
EVT_END_IF
EVT_END_IF
EVT_END_SWITCH
EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0)
EVT_IF_NE(LVar0, -1)
EVT_GOTO(0)
EVT_END_IF
EVT_RETURN
EVT_END
};
EvtScript N(takeTurn) = {
EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0)
EVT_IF_GE(LVar0, 3)
EVT_EXEC_WAIT(N(attackSpinyFlip))
EVT_RETURN
EVT_END_IF
EVT_EXEC_WAIT(N(findPlacesForSummon))
EVT_IF_EQ(LVarA, -1)
EVT_EXEC_WAIT(N(attackSpinyFlip))
EVT_RETURN
EVT_END_IF
EVT_EXEC_WAIT(N(calcSummonChance))
EVT_SWITCH(LVar9)
EVT_CASE_EQ(1)
EVT_CALL(RandInt, 1000, LVar0)
EVT_IF_LT(LVar0, 500)
EVT_EXEC_WAIT(N(summonSpiny))
EVT_RETURN
EVT_END_IF
EVT_CASE_EQ(2)
EVT_CALL(RandInt, 1000, LVar0)
EVT_IF_LT(LVar0, 250)
EVT_EXEC_WAIT(N(summonSpiny))
EVT_RETURN
EVT_END_IF
EVT_CASE_EQ(3)
EVT_CALL(RandInt, 1000, LVar0)
EVT_IF_LT(LVar0, 150)
EVT_EXEC_WAIT(N(summonSpiny))
EVT_RETURN
EVT_END_IF
EVT_END_SWITCH
EVT_EXEC_WAIT(N(attackSpinyFlip))
EVT_RETURN
EVT_END
};

View File

@ -1,5 +1,3 @@
#include "common.h" #include "../area.h"
#define NAMESPACE b_area_flo_medi_guy
#include "battle/common/actor/medi_guy.inc.c" #include "battle/common/actor/medi_guy.inc.c"

View File

@ -1,5 +1,3 @@
#include "common.h" #include "../area.h"
#define NAMESPACE b_area_flo_red_magikoopa
#include "battle/common/actor/red_magikoopa.inc.c" #include "battle/common/actor/red_magikoopa.inc.c"

View File

@ -1,347 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#include "sprite/npc/TuffPuff.h"
#define NAMESPACE b_area_flo_ruff_puff #include "battle/common/actor/ruff_puff.inc.c"
extern EvtScript N(EVS_Init);
extern EvtScript N(takeTurn);
extern EvtScript N(idle);
extern EvtScript N(handleEvent);
enum N(ActorPartIDs) {
PRT_MAIN = 1,
};
s32 N(IdleAnimations)[] = {
STATUS_KEY_NORMAL, ANIM_TuffPuff_Idle,
STATUS_KEY_STONE, ANIM_TuffPuff_Still,
STATUS_KEY_SLEEP, ANIM_TuffPuff_Sleep,
STATUS_KEY_POISON, ANIM_TuffPuff_Idle,
STATUS_KEY_STOP, ANIM_TuffPuff_Still,
STATUS_KEY_STATIC, ANIM_TuffPuff_Idle,
STATUS_KEY_PARALYZE, ANIM_TuffPuff_Still,
STATUS_KEY_DIZZY, ANIM_TuffPuff_Dizzy,
STATUS_END,
};
s32 N(DefenseTable)[] = {
ELEMENT_NORMAL, 0,
ELEMENT_MYSTERY, 0,
ELEMENT_END,
};
s32 N(StatusTable)[] = {
STATUS_KEY_NORMAL, 0,
STATUS_KEY_DEFAULT, 0,
STATUS_KEY_SLEEP, 50,
STATUS_KEY_POISON, 90,
STATUS_KEY_FROZEN, 0,
STATUS_KEY_DIZZY, 100,
STATUS_KEY_FEAR, 0,
STATUS_KEY_STATIC, 70,
STATUS_KEY_PARALYZE, 40,
STATUS_KEY_SHRINK, 75,
STATUS_KEY_STOP, 80,
STATUS_TURN_MOD_DEFAULT, 0,
STATUS_TURN_MOD_SLEEP, 0,
STATUS_TURN_MOD_POISON, 0,
STATUS_TURN_MOD_FROZEN, 0,
STATUS_TURN_MOD_DIZZY, 0,
STATUS_TURN_MOD_FEAR, 0,
STATUS_TURN_MOD_STATIC, 0,
STATUS_TURN_MOD_PARALYZE, 0,
STATUS_TURN_MOD_SHRINK, 0,
STATUS_TURN_MOD_STOP, -1,
STATUS_END,
};
ActorPartBlueprint N(ActorParts)[] = {
{
.flags = ACTOR_PART_FLAG_MULTI_TARGET,
.index = PRT_MAIN,
.posOffset = { 0, 0, 0 },
.targetOffset = { -2, 26 },
.opacity = 255,
.idleAnimations = N(IdleAnimations),
.defenseTable = N(DefenseTable),
.eventFlags = 0,
.elementImmunityFlags = 0,
.projectileTargetOffset = { 0, -13 },
},
};
ActorBlueprint NAMESPACE = {
.flags = ACTOR_FLAG_FLYING,
.type = ACTOR_TYPE_RUFF_PUFF,
.level = 19,
.maxHP = 10,
.partCount = ARRAY_COUNT(N(ActorParts)),
.partsData = N(ActorParts),
.initScript = &N(EVS_Init),
.statusTable = N(StatusTable),
.escapeChance = 50,
.airLiftChance = 90,
.hurricaneChance = 90,
.spookChance = 40,
.upAndAwayChance = 95,
.spinSmashReq = 0,
.powerBounceChance = 80,
.coinReward = 2,
.size = { 32, 32 },
.healthBarOffset = { 0, 0 },
.statusIconOffset = { -10, 20 },
.statusTextOffset = { 10, 20 },
};
EvtScript N(EVS_Init) = {
EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn)))
EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle)))
EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent)))
EVT_RETURN
EVT_END
};
#include "common/CosInterpMinMax.inc.c"
EvtScript N(idle) = {
EVT_SET(LVarF, 0)
EVT_LOOP(0)
EVT_CALL(N(CosInterpMinMax), LVarF, LVar0, EVT_FLOAT(0.97), EVT_FLOAT(1.03), 15, 0, 0)
EVT_CALL(N(CosInterpMinMax), LVarF, LVar1, EVT_FLOAT(1.03), EVT_FLOAT(0.97), 15, 0, 0)
EVT_ADD(LVarF, 1)
EVT_CALL(SetActorScale, ACTOR_SELF, LVar1, LVar0, EVT_FLOAT(1.0))
EVT_IF_GE(LVarF, 30)
EVT_SET(LVarF, 0)
EVT_END_IF
EVT_WAIT(1)
EVT_END_LOOP
EVT_RETURN
EVT_END
};
EvtScript N(returnHome) = {
EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TuffPuff_Run)
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0))
EVT_CALL(SetGoalToHome, ACTOR_SELF)
EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_SIN_OUT)
EVT_RETURN
EVT_END
};
EvtScript N(handleEvent) = {
EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE)
EVT_CALL(EnableIdleScript, ACTOR_SELF, 0)
EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_OR_EQ(EVENT_HIT_COMBO)
EVT_CASE_OR_EQ(EVENT_HIT)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_TuffPuff_Hurt)
EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_END_CASE_GROUP
EVT_CASE_EQ(EVENT_BURN_HIT)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_TuffPuff_BurnHurt)
EVT_SET_CONST(LVar2, ANIM_TuffPuff_BurnStill)
EVT_EXEC_WAIT(EVS_Enemy_BurnHit)
EVT_CASE_EQ(EVENT_BURN_DEATH)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_TuffPuff_BurnHurt)
EVT_SET_CONST(LVar2, ANIM_TuffPuff_BurnStill)
EVT_EXEC_WAIT(EVS_Enemy_BurnHit)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_TuffPuff_BurnStill)
EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN
EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_TuffPuff_Hurt)
EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit)
EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_TuffPuff_Hurt)
EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_TuffPuff_Hurt)
EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN
EVT_CASE_EQ(EVENT_SHOCK_HIT)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_TuffPuff_Hurt)
EVT_EXEC_WAIT(EVS_Enemy_ShockHit)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_TuffPuff_Hurt)
EVT_EXEC_WAIT(EVS_Enemy_JumpBack)
EVT_EXEC_WAIT(N(returnHome))
EVT_CASE_EQ(EVENT_SHOCK_DEATH)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_TuffPuff_Hurt)
EVT_EXEC_WAIT(EVS_Enemy_ShockHit)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_TuffPuff_Hurt)
EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN
EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE)
EVT_CASE_OR_EQ(EVENT_IMMUNE)
EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_TuffPuff_Idle)
EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit)
EVT_END_CASE_GROUP
EVT_CASE_EQ(EVENT_DEATH)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_TuffPuff_Hurt)
EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_WAIT(10)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_TuffPuff_Hurt)
EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN
EVT_CASE_EQ(EVENT_BEGIN_FIRST_STRIKE)
EVT_CALL(SetActorPos, ACTOR_SELF, 20, 0, 0)
EVT_CALL(HPBarToCurrent, ACTOR_SELF)
EVT_CASE_EQ(EVENT_END_FIRST_STRIKE)
EVT_EXEC_WAIT(N(returnHome))
EVT_CALL(HPBarToHome, ACTOR_SELF)
EVT_CASE_EQ(EVENT_RECOVER_STATUS)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_TuffPuff_Idle)
EVT_EXEC_WAIT(EVS_Enemy_Recover)
EVT_CASE_EQ(EVENT_SCARE_AWAY)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_TuffPuff_Run)
EVT_SET_CONST(LVar2, ANIM_TuffPuff_Hurt)
EVT_EXEC_WAIT(EVS_Enemy_ScareAway)
EVT_RETURN
EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_TuffPuff_Run)
EVT_EXEC_WAIT(EVS_Enemy_AirLift)
EVT_CASE_EQ(EVENT_BLOW_AWAY)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_TuffPuff_Run)
EVT_EXEC_WAIT(EVS_Enemy_BlowAway)
EVT_RETURN
EVT_CASE_DEFAULT
EVT_END_SWITCH
EVT_CALL(EnableIdleScript, ACTOR_SELF, 1)
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
EVT_RETURN
EVT_END
};
EvtScript N(takeTurn) = {
EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE)
EVT_CALL(EnableIdleScript, ACTOR_SELF, 0)
EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER)
EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH)
EVT_CALL(BattleCamTargetActor, ACTOR_SELF)
EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TuffPuff_Run)
EVT_CALL(SetGoalToTarget, ACTOR_SELF)
EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0)
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0))
EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_SIN_OUT)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TuffPuff_Idle)
EVT_WAIT(5)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TuffPuff_Grin)
EVT_WAIT(5)
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10)
EVT_SWITCH(LVar0)
EVT_CASE_OR_EQ(HIT_RESULT_MISS)
EVT_CASE_OR_EQ(HIT_RESULT_LUCKY)
EVT_SET(LVarA, LVar0)
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.2))
EVT_CALL(SetGoalToTarget, ACTOR_SELF)
EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, 0, LVar2)
EVT_THREAD
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 16, 0)
EVT_SETF(LVar0, EVT_FLOAT(0.0))
EVT_LOOP(15)
EVT_ADDF(LVar0, EVT_FLOAT(12.0))
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0)
EVT_WAIT(1)
EVT_END_LOOP
EVT_END_THREAD
EVT_CALL(AddGoalPos, ACTOR_SELF, -10, 0, 0)
EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE)
EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY)
EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0)
EVT_END_IF
EVT_THREAD
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 16, 0)
EVT_SETF(LVar0, EVT_FLOAT(180.0))
EVT_LOOP(10)
EVT_ADDF(LVar0, EVT_FLOAT(18.0))
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0)
EVT_WAIT(1)
EVT_END_LOOP
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0)
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0)
EVT_END_THREAD
EVT_CALL(AddGoalPos, ACTOR_SELF, -30, 0, 0)
EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE)
EVT_CALL(AddGoalPos, ACTOR_SELF, -20, 0, 0)
EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE)
EVT_CALL(AddGoalPos, ACTOR_SELF, -10, 0, 0)
EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE)
EVT_WAIT(15)
EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT)
EVT_CALL(YieldTurn)
EVT_CALL(SetActorYaw, ACTOR_SELF, 180)
EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT)
EVT_EXEC_WAIT(N(returnHome))
EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0)
EVT_CALL(SetActorYaw, ACTOR_SELF, 0)
EVT_CALL(EnableIdleScript, ACTOR_SELF, 1)
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
EVT_RETURN
EVT_END_CASE_GROUP
EVT_END_SWITCH
EVT_THREAD
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 13, 0)
EVT_SETF(LVar0, EVT_FLOAT(0.0))
EVT_LOOP(8)
EVT_ADDF(LVar0, EVT_FLOAT(22.5))
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0)
EVT_WAIT(1)
EVT_END_LOOP
EVT_END_THREAD
EVT_CALL(SetGoalToTarget, ACTOR_SELF)
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.2))
EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE)
EVT_WAIT(2)
EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE)
EVT_SWITCH(LVar0)
EVT_CASE_OR_EQ(0)
EVT_CASE_OR_EQ(2)
EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT)
EVT_THREAD
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 16, 0)
EVT_SETF(LVar0, EVT_FLOAT(180.0))
EVT_LOOP(10)
EVT_SUBF(LVar0, EVT_FLOAT(22.5))
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0)
EVT_WAIT(1)
EVT_END_LOOP
EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0)
EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0)
EVT_END_THREAD
EVT_CALL(SetGoalToTarget, ACTOR_SELF)
EVT_CALL(AddGoalPos, ACTOR_SELF, 30, 0, 0)
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8))
EVT_CALL(JumpWithBounce, ACTOR_SELF, 10, EVT_FLOAT(5.0))
EVT_WAIT(10)
EVT_CALL(YieldTurn)
EVT_EXEC_WAIT(N(returnHome))
EVT_END_CASE_GROUP
EVT_END_SWITCH
EVT_CALL(EnableIdleScript, ACTOR_SELF, 1)
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
EVT_RETURN
EVT_END
};

View File

@ -1,5 +1,3 @@
#include "common.h" #include "../area.h"
#define NAMESPACE b_area_flo_spiny
#include "battle/common/actor/spiny.inc.c" #include "battle/common/actor/spiny.inc.c"

View File

@ -1,5 +1,3 @@
#include "common.h" #include "../area.h"
#define NAMESPACE b_area_flo_white_magikoopa
#include "battle/common/actor/white_magikoopa.inc.c" #include "battle/common/actor/white_magikoopa.inc.c"

View File

@ -1,5 +1,3 @@
#include "common.h" #include "../area.h"
#define NAMESPACE b_area_flo_yellow_magikoopa
#include "battle/common/actor/yellow_magikoopa.inc.c" #include "battle/common/actor/yellow_magikoopa.inc.c"

View File

@ -1,297 +1,294 @@
#include "common.h" #include "area.h"
#include "battle/battle.h"
#define NAMESPACE b_area_flo extern ActorBlueprint A(lakitu);
extern ActorBlueprint A(ruff_puff);
extern ActorBlueprint A(bzzap);
extern ActorBlueprint A(crazee_dayzee);
extern ActorBlueprint A(spiny);
extern ActorBlueprint A(white_magikoopa);
extern ActorBlueprint A(red_magikoopa);
extern ActorBlueprint A(yellow_magikoopa);
extern ActorBlueprint A(medi_guy);
extern ActorBlueprint A(amazy_dayzee);
extern ActorBlueprint A(green_magikoopa_flying);
extern ActorBlueprint A(yellow_magikoopa_flying);
extern ActorBlueprint N(lakitu); extern Stage A(flo_01);
extern ActorBlueprint N(ruff_puff); extern Stage A(flo_01b);
extern ActorBlueprint N(bzzap); extern Stage A(flo_01c);
extern ActorBlueprint N(crazee_dayzee); extern Stage A(flo_02);
extern ActorBlueprint N(spiny); extern Stage A(flo_02b);
extern ActorBlueprint N(white_magikoopa); extern Stage A(flo_02c);
extern ActorBlueprint N(red_magikoopa); extern Stage A(flo_03);
extern ActorBlueprint N(yellow_magikoopa); extern Stage A(flo_04);
extern ActorBlueprint N(medi_guy); extern Stage A(flo_05);
extern ActorBlueprint N(amazy_dayzee); extern Stage A(flo_06);
extern ActorBlueprint N(green_magikoopa_flying);
extern ActorBlueprint N(yellow_magikoopa_flying);
extern Stage N(flo_01); Formation A(Formation_00) = {
extern Stage N(flo_01b); ACTOR_BY_IDX(A(lakitu), BTL_POS_AIR_B, 10),
extern Stage N(flo_01c); ACTOR_BY_IDX(A(lakitu), BTL_POS_AIR_C, 9),
extern Stage N(flo_02);
extern Stage N(flo_02b);
extern Stage N(flo_02c);
extern Stage N(flo_03);
extern Stage N(flo_04);
extern Stage N(flo_05);
extern Stage N(flo_06);
Formation N(Formation_00) = {
ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_B, 10),
ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_C, 9),
}; };
Formation N(Formation_01) = { Formation A(Formation_01) = {
ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_A, 10), ACTOR_BY_IDX(A(lakitu), BTL_POS_AIR_A, 10),
ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_B, 9), ACTOR_BY_IDX(A(lakitu), BTL_POS_AIR_B, 9),
ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_C, 8), ACTOR_BY_IDX(A(lakitu), BTL_POS_AIR_C, 8),
}; };
Formation N(Formation_02) = { Formation A(Formation_02) = {
ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_B, 10), ACTOR_BY_IDX(A(lakitu), BTL_POS_AIR_B, 10),
ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_C, 9), ACTOR_BY_IDX(A(ruff_puff), BTL_POS_AIR_C, 9),
}; };
Formation N(Formation_03) = { Formation A(Formation_03) = {
ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_A, 10), ACTOR_BY_IDX(A(lakitu), BTL_POS_AIR_A, 10),
ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_B, 9), ACTOR_BY_IDX(A(bzzap), BTL_POS_AIR_B, 9),
ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_C, 8), ACTOR_BY_IDX(A(bzzap), BTL_POS_AIR_C, 8),
}; };
Formation N(Formation_04) = { Formation A(Formation_04) = {
ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_A, 10), ACTOR_BY_IDX(A(lakitu), BTL_POS_AIR_A, 10),
ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_B, 9), ACTOR_BY_IDX(A(bzzap), BTL_POS_AIR_B, 9),
ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_C, 8), ACTOR_BY_IDX(A(lakitu), BTL_POS_AIR_C, 8),
ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_D, 7), ACTOR_BY_IDX(A(bzzap), BTL_POS_AIR_D, 7),
}; };
Formation N(Formation_05) = { Formation A(Formation_05) = {
ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_B, 10), ACTOR_BY_IDX(A(lakitu), BTL_POS_AIR_B, 10),
ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_C, 9), ACTOR_BY_IDX(A(crazee_dayzee), BTL_POS_GROUND_C, 9),
}; };
Formation N(Formation_06) = { Formation A(Formation_06) = {
ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_B, 10), ACTOR_BY_IDX(A(lakitu), BTL_POS_AIR_B, 10),
ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_C, 9), ACTOR_BY_IDX(A(spiny), BTL_POS_GROUND_C, 9),
}; };
Formation N(Formation_07) = { Formation A(Formation_07) = {
ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_A, 10), ACTOR_BY_IDX(A(lakitu), BTL_POS_AIR_A, 10),
ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_B, 9), ACTOR_BY_IDX(A(lakitu), BTL_POS_AIR_B, 9),
ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_C, 8), ACTOR_BY_IDX(A(spiny), BTL_POS_GROUND_C, 8),
ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_D, 7), ACTOR_BY_IDX(A(spiny), BTL_POS_GROUND_D, 7),
}; };
Formation N(Formation_08) = { Formation A(Formation_08) = {
ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_A, 10), ACTOR_BY_IDX(A(lakitu), BTL_POS_AIR_A, 10),
ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_B, 9), ACTOR_BY_IDX(A(lakitu), BTL_POS_AIR_B, 9),
ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_C, 8), ACTOR_BY_IDX(A(lakitu), BTL_POS_AIR_C, 8),
ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_D, 7), ACTOR_BY_IDX(A(spiny), BTL_POS_GROUND_D, 7),
}; };
Formation N(Formation_09) = { Formation A(Formation_09) = {
ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_A, 10), ACTOR_BY_IDX(A(lakitu), BTL_POS_AIR_A, 10),
ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_B, 9), ACTOR_BY_IDX(A(lakitu), BTL_POS_AIR_B, 9),
ACTOR_BY_IDX(N(white_magikoopa), BTL_POS_GROUND_C, 8), ACTOR_BY_IDX(A(white_magikoopa), BTL_POS_GROUND_C, 8),
}; };
Formation N(Formation_0A) = { Formation A(Formation_0A) = {
ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_A, 10), ACTOR_BY_IDX(A(lakitu), BTL_POS_AIR_A, 10),
ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_B, 9), ACTOR_BY_IDX(A(lakitu), BTL_POS_AIR_B, 9),
ACTOR_BY_IDX(N(red_magikoopa), BTL_POS_GROUND_C, 8), ACTOR_BY_IDX(A(red_magikoopa), BTL_POS_GROUND_C, 8),
}; };
Formation N(Formation_0B) = { Formation A(Formation_0B) = {
ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_A, 10), ACTOR_BY_IDX(A(lakitu), BTL_POS_AIR_A, 10),
ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_B, 9), ACTOR_BY_IDX(A(lakitu), BTL_POS_AIR_B, 9),
ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_C, 8), ACTOR_BY_IDX(A(lakitu), BTL_POS_AIR_C, 8),
ACTOR_BY_IDX(N(yellow_magikoopa), BTL_POS_GROUND_D, 7), ACTOR_BY_IDX(A(yellow_magikoopa), BTL_POS_GROUND_D, 7),
}; };
Formation N(Formation_0C) = { Formation A(Formation_0C) = {
ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_B, 10), ACTOR_BY_IDX(A(spiny), BTL_POS_GROUND_B, 10),
ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_C, 9), ACTOR_BY_IDX(A(spiny), BTL_POS_GROUND_C, 9),
}; };
Formation N(Formation_0D) = { Formation A(Formation_0D) = {
ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_A, 10), ACTOR_BY_IDX(A(spiny), BTL_POS_GROUND_A, 10),
ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_B, 9), ACTOR_BY_IDX(A(spiny), BTL_POS_GROUND_B, 9),
ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_C, 8), ACTOR_BY_IDX(A(spiny), BTL_POS_GROUND_C, 8),
}; };
Formation N(Formation_0E) = { Formation A(Formation_0E) = {
ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_A, 10), ACTOR_BY_IDX(A(spiny), BTL_POS_GROUND_A, 10),
ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_B, 9), ACTOR_BY_IDX(A(crazee_dayzee), BTL_POS_GROUND_B, 9),
ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_C, 8), ACTOR_BY_IDX(A(medi_guy), BTL_POS_AIR_C, 8),
}; };
Formation N(Formation_0F) = { Formation A(Formation_0F) = {
ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_B, 10), ACTOR_BY_IDX(A(crazee_dayzee), BTL_POS_GROUND_B, 10),
}; };
Formation N(Formation_10) = { Formation A(Formation_10) = {
ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_B, 10), ACTOR_BY_IDX(A(crazee_dayzee), BTL_POS_GROUND_B, 10),
ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_C, 9), ACTOR_BY_IDX(A(crazee_dayzee), BTL_POS_GROUND_C, 9),
}; };
Formation N(Formation_11) = { Formation A(Formation_11) = {
ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_A, 10), ACTOR_BY_IDX(A(crazee_dayzee), BTL_POS_GROUND_A, 10),
ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_B, 9), ACTOR_BY_IDX(A(crazee_dayzee), BTL_POS_GROUND_B, 9),
ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_C, 8), ACTOR_BY_IDX(A(crazee_dayzee), BTL_POS_GROUND_C, 8),
}; };
Formation N(Formation_12) = { Formation A(Formation_12) = {
ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_A, 10), ACTOR_BY_IDX(A(crazee_dayzee), BTL_POS_GROUND_A, 10),
ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_B, 9), ACTOR_BY_IDX(A(crazee_dayzee), BTL_POS_GROUND_B, 9),
ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_C, 8), ACTOR_BY_IDX(A(crazee_dayzee), BTL_POS_GROUND_C, 8),
ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_D, 7), ACTOR_BY_IDX(A(crazee_dayzee), BTL_POS_GROUND_D, 7),
}; };
Formation N(Formation_13) = { Formation A(Formation_13) = {
ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_B, 10), ACTOR_BY_IDX(A(crazee_dayzee), BTL_POS_GROUND_B, 10),
ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_C, 9), ACTOR_BY_IDX(A(bzzap), BTL_POS_AIR_C, 9),
}; };
Formation N(Formation_14) = { Formation A(Formation_14) = {
ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_A, 10), ACTOR_BY_IDX(A(crazee_dayzee), BTL_POS_GROUND_A, 10),
ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_B, 9), ACTOR_BY_IDX(A(bzzap), BTL_POS_AIR_B, 9),
ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_C, 8), ACTOR_BY_IDX(A(bzzap), BTL_POS_AIR_C, 8),
}; };
Formation N(Formation_15) = { Formation A(Formation_15) = {
ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_A, 10), ACTOR_BY_IDX(A(crazee_dayzee), BTL_POS_GROUND_A, 10),
ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_B, 9), ACTOR_BY_IDX(A(crazee_dayzee), BTL_POS_GROUND_B, 9),
ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_C, 8), ACTOR_BY_IDX(A(bzzap), BTL_POS_AIR_C, 8),
}; };
Formation N(Formation_16) = { Formation A(Formation_16) = {
ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_A, 10), ACTOR_BY_IDX(A(crazee_dayzee), BTL_POS_GROUND_A, 10),
ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_B, 9), ACTOR_BY_IDX(A(crazee_dayzee), BTL_POS_GROUND_B, 9),
ACTOR_BY_IDX(N(amazy_dayzee), BTL_POS_GROUND_C, 8), ACTOR_BY_IDX(A(amazy_dayzee), BTL_POS_GROUND_C, 8),
}; };
Formation N(Formation_17) = { Formation A(Formation_17) = {
ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_B, 10), ACTOR_BY_IDX(A(bzzap), BTL_POS_AIR_B, 10),
ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_C, 9), ACTOR_BY_IDX(A(bzzap), BTL_POS_AIR_C, 9),
}; };
Formation N(Formation_18) = { Formation A(Formation_18) = {
ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_A, 10), ACTOR_BY_IDX(A(bzzap), BTL_POS_AIR_A, 10),
ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_B, 9), ACTOR_BY_IDX(A(bzzap), BTL_POS_AIR_B, 9),
ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_C, 8), ACTOR_BY_IDX(A(bzzap), BTL_POS_AIR_C, 8),
}; };
Formation N(Formation_19) = { Formation A(Formation_19) = {
ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_A, 10), ACTOR_BY_IDX(A(bzzap), BTL_POS_AIR_A, 10),
ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_B, 9), ACTOR_BY_IDX(A(bzzap), BTL_POS_AIR_B, 9),
ACTOR_BY_IDX(N(green_magikoopa_flying), BTL_POS_AIR_C, 8), ACTOR_BY_IDX(A(green_magikoopa_flying), BTL_POS_AIR_C, 8),
}; };
Formation N(Formation_1A) = { Formation A(Formation_1A) = {
ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_B, 10), ACTOR_BY_IDX(A(bzzap), BTL_POS_AIR_B, 10),
ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_C, 9), ACTOR_BY_IDX(A(ruff_puff), BTL_POS_AIR_C, 9),
}; };
Formation N(Formation_1B) = { Formation A(Formation_1B) = {
ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_A, 10), ACTOR_BY_IDX(A(bzzap), BTL_POS_AIR_A, 10),
ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_B, 9), ACTOR_BY_IDX(A(ruff_puff), BTL_POS_AIR_B, 9),
ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_C, 8), ACTOR_BY_IDX(A(bzzap), BTL_POS_AIR_C, 8),
}; };
Formation N(Formation_1C) = { Formation A(Formation_1C) = {
ACTOR_BY_IDX(N(amazy_dayzee), BTL_POS_GROUND_B, 10), ACTOR_BY_IDX(A(amazy_dayzee), BTL_POS_GROUND_B, 10),
}; };
Formation N(Formation_1D) = { Formation A(Formation_1D) = {
ACTOR_BY_IDX(N(amazy_dayzee), BTL_POS_GROUND_A, 10), ACTOR_BY_IDX(A(amazy_dayzee), BTL_POS_GROUND_A, 10),
ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_B, 9), ACTOR_BY_IDX(A(bzzap), BTL_POS_AIR_B, 9),
ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_C, 8), ACTOR_BY_IDX(A(bzzap), BTL_POS_AIR_C, 8),
}; };
Formation N(Formation_1E) = { Formation A(Formation_1E) = {
ACTOR_BY_IDX(N(amazy_dayzee), BTL_POS_GROUND_A, 10), ACTOR_BY_IDX(A(amazy_dayzee), BTL_POS_GROUND_A, 10),
ACTOR_BY_IDX(N(amazy_dayzee), BTL_POS_GROUND_B, 9), ACTOR_BY_IDX(A(amazy_dayzee), BTL_POS_GROUND_B, 9),
ACTOR_BY_IDX(N(amazy_dayzee), BTL_POS_GROUND_C, 8), ACTOR_BY_IDX(A(amazy_dayzee), BTL_POS_GROUND_C, 8),
ACTOR_BY_IDX(N(amazy_dayzee), BTL_POS_GROUND_D, 7), ACTOR_BY_IDX(A(amazy_dayzee), BTL_POS_GROUND_D, 7),
}; };
Formation N(Formation_1F) = { Formation A(Formation_1F) = {
ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_B, 10), ACTOR_BY_IDX(A(ruff_puff), BTL_POS_AIR_B, 10),
ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_C, 9), ACTOR_BY_IDX(A(ruff_puff), BTL_POS_AIR_C, 9),
}; };
Formation N(Formation_20) = { Formation A(Formation_20) = {
ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_A, 10), ACTOR_BY_IDX(A(ruff_puff), BTL_POS_AIR_A, 10),
ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_B, 9), ACTOR_BY_IDX(A(ruff_puff), BTL_POS_AIR_B, 9),
ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_C, 8), ACTOR_BY_IDX(A(ruff_puff), BTL_POS_AIR_C, 8),
ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_D, 7), ACTOR_BY_IDX(A(ruff_puff), BTL_POS_AIR_D, 7),
}; };
Formation N(Formation_21) = { Formation A(Formation_21) = {
ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_B, 10), ACTOR_BY_IDX(A(ruff_puff), BTL_POS_AIR_B, 10),
ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_C, 9), ACTOR_BY_IDX(A(lakitu), BTL_POS_AIR_C, 9),
}; };
Formation N(Formation_22) = { Formation A(Formation_22) = {
ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_A, 10), ACTOR_BY_IDX(A(ruff_puff), BTL_POS_AIR_A, 10),
ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_B, 9), ACTOR_BY_IDX(A(ruff_puff), BTL_POS_AIR_B, 9),
ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_C, 8), ACTOR_BY_IDX(A(bzzap), BTL_POS_AIR_C, 8),
}; };
Formation N(Formation_23) = { Formation A(Formation_23) = {
ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_A, 10), ACTOR_BY_IDX(A(ruff_puff), BTL_POS_AIR_A, 10),
ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_B, 9), ACTOR_BY_IDX(A(ruff_puff), BTL_POS_AIR_B, 9),
ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_C, 8), ACTOR_BY_IDX(A(crazee_dayzee), BTL_POS_GROUND_C, 8),
}; };
Formation N(Formation_24) = { Formation A(Formation_24) = {
ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_A, 10), ACTOR_BY_IDX(A(ruff_puff), BTL_POS_AIR_A, 10),
ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_B, 9), ACTOR_BY_IDX(A(ruff_puff), BTL_POS_AIR_B, 9),
ACTOR_BY_IDX(N(yellow_magikoopa_flying), BTL_POS_AIR_C, 8), ACTOR_BY_IDX(A(yellow_magikoopa_flying), BTL_POS_AIR_C, 8),
}; };
BattleList N(Formations) = { BattleList A(Formations) = {
BATTLE(N(Formation_00), N(flo_01), "ジュゲムx2"), BATTLE(A(Formation_00), A(flo_01), "ジュゲムx2"),
BATTLE(N(Formation_01), N(flo_01), "ジュゲムx3"), BATTLE(A(Formation_01), A(flo_01), "ジュゲムx3"),
BATTLE(N(Formation_02), N(flo_01), "ジュゲム,クモクモーン"), BATTLE(A(Formation_02), A(flo_01), "ジュゲム,クモクモーン"),
BATTLE(N(Formation_03), N(flo_01), "ジュゲム,ハッチーx"), BATTLE(A(Formation_03), A(flo_01), "ジュゲム,ハッチーx"),
BATTLE(N(Formation_04), N(flo_01), "ジュゲム,ハッチー,ジュゲム,ハッチー"), BATTLE(A(Formation_04), A(flo_01), "ジュゲム,ハッチー,ジュゲム,ハッチー"),
BATTLE(N(Formation_05), N(flo_01), "ジュゲム,パンジー"), BATTLE(A(Formation_05), A(flo_01), "ジュゲム,パンジー"),
BATTLE(N(Formation_06), N(flo_01), "ジュゲム,トゲゾー"), BATTLE(A(Formation_06), A(flo_01), "ジュゲム,トゲゾー"),
BATTLE(N(Formation_07), N(flo_01), "ジュゲムx,トゲゾーx"), BATTLE(A(Formation_07), A(flo_01), "ジュゲムx,トゲゾーx"),
BATTLE(N(Formation_08), N(flo_01), "ジュゲムx,トゲゾー"), BATTLE(A(Formation_08), A(flo_01), "ジュゲムx,トゲゾー"),
BATTLE(N(Formation_09), N(flo_01), "ジュゲムx,ホワイトカメック"), BATTLE(A(Formation_09), A(flo_01), "ジュゲムx,ホワイトカメック"),
BATTLE(N(Formation_0A), N(flo_01), "ジュゲムx,レッドカメック"), BATTLE(A(Formation_0A), A(flo_01), "ジュゲムx,レッドカメック"),
BATTLE(N(Formation_0B), N(flo_01), "ジュゲムx,イエローカメック"), BATTLE(A(Formation_0B), A(flo_01), "ジュゲムx,イエローカメック"),
BATTLE(N(Formation_0C), N(flo_01), "トゲゾーx2"), BATTLE(A(Formation_0C), A(flo_01), "トゲゾーx2"),
BATTLE(N(Formation_0D), N(flo_01), "トゲゾーx3"), BATTLE(A(Formation_0D), A(flo_01), "トゲゾーx3"),
BATTLE(N(Formation_0E), N(flo_01), "トゲゾー,パンジーさん,かいふくヘイホー"), BATTLE(A(Formation_0E), A(flo_01), "トゲゾー,パンジーさん,かいふくヘイホー"),
BATTLE(N(Formation_0F), N(flo_01), "パンジーさん"), BATTLE(A(Formation_0F), A(flo_01), "パンジーさん"),
BATTLE(N(Formation_10), N(flo_01), "パンジーさんx2"), BATTLE(A(Formation_10), A(flo_01), "パンジーさんx2"),
BATTLE(N(Formation_11), N(flo_01), "パンジーさんx3"), BATTLE(A(Formation_11), A(flo_01), "パンジーさんx3"),
BATTLE(N(Formation_12), N(flo_01), "パンジーさんx4"), BATTLE(A(Formation_12), A(flo_01), "パンジーさんx4"),
BATTLE(N(Formation_13), N(flo_01), "パンジーさん,ハッチー"), BATTLE(A(Formation_13), A(flo_01), "パンジーさん,ハッチー"),
BATTLE(N(Formation_14), N(flo_01), "パンジーさん,ハッチーx2"), BATTLE(A(Formation_14), A(flo_01), "パンジーさん,ハッチーx2"),
BATTLE(N(Formation_15), N(flo_01), "パンジーさんx2,ハッチー"), BATTLE(A(Formation_15), A(flo_01), "パンジーさんx2,ハッチー"),
BATTLE(N(Formation_16), N(flo_01), "パンジーさんx2,きらめくパンジーさん"), BATTLE(A(Formation_16), A(flo_01), "パンジーさんx2,きらめくパンジーさん"),
BATTLE(N(Formation_17), N(flo_01), "ハッチーx2"), BATTLE(A(Formation_17), A(flo_01), "ハッチーx2"),
BATTLE(N(Formation_18), N(flo_01), "ハッチーx3"), BATTLE(A(Formation_18), A(flo_01), "ハッチーx3"),
BATTLE(N(Formation_19), N(flo_01), "ハッチーx2,グリーンカメック(そら)"), BATTLE(A(Formation_19), A(flo_01), "ハッチーx2,グリーンカメック(そら)"),
BATTLE(N(Formation_1A), N(flo_01), "ハッチー,クモクモーン"), BATTLE(A(Formation_1A), A(flo_01), "ハッチー,クモクモーン"),
BATTLE(N(Formation_1B), N(flo_01), "ハッチー,クモクモーン,ハッチー"), BATTLE(A(Formation_1B), A(flo_01), "ハッチー,クモクモーン,ハッチー"),
BATTLE(N(Formation_1C), N(flo_01), "きらめくパンジーさん"), BATTLE(A(Formation_1C), A(flo_01), "きらめくパンジーさん"),
BATTLE(N(Formation_1D), N(flo_01), "きらめくパンジーさん,ハッチーx2"), BATTLE(A(Formation_1D), A(flo_01), "きらめくパンジーさん,ハッチーx2"),
BATTLE(N(Formation_1E), N(flo_01), "きらめくパンジーさんx"), BATTLE(A(Formation_1E), A(flo_01), "きらめくパンジーさんx"),
BATTLE(N(Formation_1F), N(flo_01), "クモクモーンx2"), BATTLE(A(Formation_1F), A(flo_01), "クモクモーンx2"),
BATTLE(N(Formation_20), N(flo_01), "クモクモーンx4"), BATTLE(A(Formation_20), A(flo_01), "クモクモーンx4"),
BATTLE(N(Formation_21), N(flo_01), "クモクモーン,ジュゲム"), BATTLE(A(Formation_21), A(flo_01), "クモクモーン,ジュゲム"),
BATTLE(N(Formation_22), N(flo_01), "クモクモーンx,ハッチー"), BATTLE(A(Formation_22), A(flo_01), "クモクモーンx,ハッチー"),
BATTLE(N(Formation_23), N(flo_01), "クモクモーンx,パンジー"), BATTLE(A(Formation_23), A(flo_01), "クモクモーンx,パンジー"),
BATTLE(N(Formation_24), N(flo_01), "クモクモーンx,イエローカメック(そら)"), BATTLE(A(Formation_24), A(flo_01), "クモクモーンx,イエローカメック(そら)"),
{}, {},
}; };
StageList N(Stages) = { StageList A(Stages) = {
STAGE("flo_01", N(flo_01)), STAGE("flo_01", A(flo_01)),
STAGE("flo_01b", N(flo_01b)), STAGE("flo_01b", A(flo_01b)),
STAGE("flo_01c", N(flo_01c)), STAGE("flo_01c", A(flo_01c)),
STAGE("flo_02", N(flo_02)), STAGE("flo_02", A(flo_02)),
STAGE("flo_02b", N(flo_02b)), STAGE("flo_02b", A(flo_02b)),
STAGE("flo_02c", N(flo_02c)), STAGE("flo_02c", A(flo_02c)),
STAGE("flo_03", N(flo_03)), STAGE("flo_03", A(flo_03)),
STAGE("flo_04", N(flo_04)), STAGE("flo_04", A(flo_04)),
STAGE("flo_05", N(flo_05)), STAGE("flo_05", A(flo_05)),
STAGE("flo_06", N(flo_06)), STAGE("flo_06", A(flo_06)),
{}, {},
}; };

View File

@ -0,0 +1,6 @@
#include "common.h"
#include "effects.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#define AREA b_area_flo

View File

@ -1,7 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/flo_bt01_shape.h"
#define NAMESPACE b_area_flo_flo_01 #include "battle/common/stage/area_flo/flo_01.inc.c"
#include "battle/common/stage/flo_01.inc.c"

View File

@ -1,7 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/flo_bt01_shape.h"
#define NAMESPACE b_area_flo_flo_01b #include "battle/common/stage/area_flo/flo_01b.inc.c"
#include "battle/common/stage/flo_01b.inc.c"

View File

@ -1,7 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/flo_bt01_shape.h"
#define NAMESPACE b_area_flo_flo_01c #include "battle/common/stage/area_flo/flo_01c.inc.c"
#include "battle/common/stage/flo_01c.inc.c"

View File

@ -1,7 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/flo_bt02_shape.h"
#define NAMESPACE b_area_flo_flo_02 #include "battle/common/stage/area_flo/flo_02.inc.c"
#include "battle/common/stage/flo_02.inc.c"

View File

@ -1,7 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/flo_bt02_shape.h"
#define NAMESPACE b_area_flo_flo_02b #include "battle/common/stage/area_flo/flo_02b.inc.c"
#include "battle/common/stage/flo_02b.inc.c"

View File

@ -1,7 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/flo_bt02_shape.h"
#define NAMESPACE b_area_flo_flo_02c #include "battle/common/stage/area_flo/flo_02c.inc.c"
#include "battle/common/stage/flo_02c.inc.c"

View File

@ -1,7 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/flo_bt03_shape.h"
#define NAMESPACE b_area_flo_flo_03 #include "battle/common/stage/area_flo/flo_03.inc.c"
#include "battle/common/stage/flo_03.inc.c"

View File

@ -1,7 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/flo_bt04_shape.h"
#define NAMESPACE b_area_flo_flo_04 #include "battle/common/stage/area_flo/flo_04.inc.c"
#include "battle/common/stage/flo_04.inc.c"

View File

@ -1,6 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#define NAMESPACE b_area_flo_flo_05 #include "battle/common/stage/area_flo/flo_05.inc.c"
#include "battle/common/stage/flo_05.inc.c"

View File

@ -1,6 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#define NAMESPACE b_area_flo_flo_06 #include "battle/common/stage/area_flo/flo_06.inc.c"
#include "battle/common/stage/flo_06.inc.c"

View File

@ -1,13 +1,10 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#include "sprite/npc/HuffNPuff.h" #include "sprite/npc/HuffNPuff.h"
#include "sprite/npc/RuffPuff.h" #include "sprite/npc/RuffPuff.h"
#include "effects.h"
#include "battle/action_cmd/whirlwind.h" #include "battle/action_cmd/whirlwind.h"
#include "battle/action_cmd/stop_leech.h" #include "battle/action_cmd/stop_leech.h"
#define NAMESPACE b_area_flo2_huff_n_puff #define NAMESPACE A(huff_n_puff)
enum N(ActorPartIDs) { enum N(ActorPartIDs) {
PRT_MAIN = 1, PRT_MAIN = 1,
@ -38,7 +35,7 @@ enum N(Flags) {
N(FLAG_SPEAK_4) = 0x80, N(FLAG_SPEAK_4) = 0x80,
}; };
extern ActorBlueprint b_area_flo2_tuff_puff; extern ActorBlueprint A(tuff_puff);
extern EvtScript N(EVS_Init); extern EvtScript N(EVS_Init);
extern EvtScript N(takeTurn); extern EvtScript N(takeTurn);
@ -548,11 +545,11 @@ EvtScript N(idle) = {
Vec3i N(tuff_puff_pos) = { NPC_DISPOSE_LOCATION }; Vec3i N(tuff_puff_pos) = { NPC_DISPOSE_LOCATION };
Formation N(formation_tuff_puff_small) = { Formation N(formation_tuff_puff_small) = {
ACTOR_BY_POS(b_area_flo2_tuff_puff, N(tuff_puff_pos), 0), ACTOR_BY_POS(A(tuff_puff), N(tuff_puff_pos), 0),
}; };
Formation N(formation_tuff_puff_large) = { Formation N(formation_tuff_puff_large) = {
ACTOR_BY_POS(b_area_flo2_tuff_puff, N(tuff_puff_pos), 0, 1), ACTOR_BY_POS(A(tuff_puff), N(tuff_puff_pos), 0, 1),
}; };
EvtScript N(spawnTuffPuff) = { EvtScript N(spawnTuffPuff) = {
@ -611,10 +608,10 @@ EvtScript N(spawnTuffPuff) = {
EVT_CALL(SetTuffPuffPriority) EVT_CALL(SetTuffPuffPriority)
EVT_IF_GT(LVarA, 0) EVT_IF_GT(LVarA, 0)
EVT_SUB(LVarA, 1) EVT_SUB(LVarA, 1)
EVT_CALL(SummonEnemy, EVT_PTR(N(formation_tuff_puff_large)), 0) EVT_CALL(SummonEnemy, EVT_PTR(N(formation_tuff_puff_large)), FALSE)
EVT_CALL(SetActorVar, LVar0, 5, 2) EVT_CALL(SetActorVar, LVar0, 5, 2)
EVT_ELSE EVT_ELSE
EVT_CALL(SummonEnemy, EVT_PTR(N(formation_tuff_puff_small)), 0) EVT_CALL(SummonEnemy, EVT_PTR(N(formation_tuff_puff_small)), FALSE)
EVT_CALL(SetActorVar, LVar0, 5, 1) EVT_CALL(SetActorVar, LVar0, 5, 1)
EVT_END_IF EVT_END_IF
EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_TUFF_PUFF_BIT_ARRAY), LVar1) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_TUFF_PUFF_BIT_ARRAY), LVar1)

View File

@ -1,10 +1,7 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#include "sprite/npc/MontyMole.h" #include "sprite/npc/MontyMole.h"
#include "effects.h"
#define NAMESPACE b_area_flo2_monty_mole_boss #define NAMESPACE A(monty_mole_boss)
extern s32 N(IdleAnimations)[]; extern s32 N(IdleAnimations)[];
extern s32 N(IdleAnimations2)[]; extern s32 N(IdleAnimations2)[];
@ -201,9 +198,9 @@ Formation N(formation_hole_2) = {
EvtScript N(onDeath) = { EvtScript N(onDeath) = {
EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0)
EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK)
EVT_CALL(SummonEnemy, EVT_PTR(N(formation_hole_2)), 0) EVT_CALL(SummonEnemy, EVT_PTR(N(formation_hole_2)), FALSE)
EVT_ELSE EVT_ELSE
EVT_CALL(SummonEnemy, EVT_PTR(N(formation_hole_1)), 0) EVT_CALL(SummonEnemy, EVT_PTR(N(formation_hole_1)), FALSE)
EVT_END_IF EVT_END_IF
EVT_CALL(GetActorPos, ACTOR_SELF, LVar1, LVar2, LVar3) EVT_CALL(GetActorPos, ACTOR_SELF, LVar1, LVar2, LVar3)
EVT_SUB(LVar3, 1) EVT_SUB(LVar3, 1)
@ -239,29 +236,29 @@ EvtScript N(handleEvent) = {
EVT_WAIT(8) EVT_WAIT(8)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Dark_Anim07) EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Dark_Anim07)
EVT_END_CHILD_THREAD EVT_END_CHILD_THREAD
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_MontyMole_Dark_Anim06) EVT_SET_CONST(LVar1, ANIM_MontyMole_Dark_Anim06)
EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Dark_Anim08) EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Dark_Anim08)
EVT_WAIT(10) EVT_WAIT(10)
EVT_ELSE EVT_ELSE
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_MontyMole_Dark_Anim05) EVT_SET_CONST(LVar1, ANIM_MontyMole_Dark_Anim05)
EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_END_IF EVT_END_IF
EVT_END_CASE_GROUP EVT_END_CASE_GROUP
EVT_CASE_EQ(EVENT_BURN_HIT) EVT_CASE_EQ(EVENT_BURN_HIT)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_MontyMole_Dark_Anim0A) EVT_SET_CONST(LVar1, ANIM_MontyMole_Dark_Anim0A)
EVT_SET_CONST(LVar2, ANIM_MontyMole_Dark_Anim0B) EVT_SET_CONST(LVar2, ANIM_MontyMole_Dark_Anim0B)
EVT_EXEC_WAIT(EVS_Enemy_BurnHit) EVT_EXEC_WAIT(EVS_Enemy_BurnHit)
EVT_CASE_EQ(EVENT_BURN_DEATH) EVT_CASE_EQ(EVENT_BURN_DEATH)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_MontyMole_Dark_Anim0A) EVT_SET_CONST(LVar1, ANIM_MontyMole_Dark_Anim0A)
EVT_SET_CONST(LVar2, ANIM_MontyMole_Dark_Anim0B) EVT_SET_CONST(LVar2, ANIM_MontyMole_Dark_Anim0B)
EVT_EXEC_WAIT(EVS_Enemy_BurnHit) EVT_EXEC_WAIT(EVS_Enemy_BurnHit)
EVT_EXEC_WAIT(N(onDeath)) EVT_EXEC_WAIT(N(onDeath))
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_MontyMole_Dark_Anim0C) EVT_SET_CONST(LVar1, ANIM_MontyMole_Dark_Anim0C)
EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN EVT_RETURN
@ -280,19 +277,19 @@ EvtScript N(handleEvent) = {
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Dark_Anim14) EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Dark_Anim14)
EVT_WAIT(20) EVT_WAIT(20)
EVT_ELSE EVT_ELSE
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_MontyMole_Dark_Anim01) EVT_SET_CONST(LVar1, ANIM_MontyMole_Dark_Anim01)
EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit)
EVT_END_IF EVT_END_IF
EVT_END_CASE_GROUP EVT_END_CASE_GROUP
EVT_CASE_EQ(EVENT_DEATH) EVT_CASE_EQ(EVENT_DEATH)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_MontyMole_Dark_Anim05) EVT_SET_CONST(LVar1, ANIM_MontyMole_Dark_Anim05)
EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Dark_Anim06) EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Dark_Anim06)
EVT_WAIT(10) EVT_WAIT(10)
EVT_EXEC_WAIT(N(onDeath)) EVT_EXEC_WAIT(N(onDeath))
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_MontyMole_Dark_Anim09) EVT_SET_CONST(LVar1, ANIM_MontyMole_Dark_Anim09)
EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN EVT_RETURN
@ -314,7 +311,7 @@ EvtScript N(handleEvent) = {
EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_hole))) EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_hole)))
EVT_RETURN EVT_RETURN
EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_MontyMole_Dark_Anim05) EVT_SET_CONST(LVar1, ANIM_MontyMole_Dark_Anim05)
EVT_EXEC_WAIT(EVS_Enemy_AirLift) EVT_EXEC_WAIT(EVS_Enemy_AirLift)
EVT_CASE_EQ(EVENT_BLOW_AWAY) EVT_CASE_EQ(EVENT_BLOW_AWAY)

View File

@ -1,10 +1,7 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#include "sprite/npc/BattleLakilester.h" #include "sprite/npc/BattleLakilester.h"
#include "effects.h"
#define NAMESPACE b_area_flo2_spike #define NAMESPACE A(spike)
extern EvtScript N(init); extern EvtScript N(init);
extern EvtScript N(takeTurn); extern EvtScript N(takeTurn);
@ -144,65 +141,65 @@ EvtScript N(handleEvent) = {
EVT_SWITCH(LVar0) EVT_SWITCH(LVar0)
EVT_CASE_OR_EQ(EVENT_HIT_COMBO) EVT_CASE_OR_EQ(EVENT_HIT_COMBO)
EVT_CASE_OR_EQ(EVENT_HIT) EVT_CASE_OR_EQ(EVENT_HIT)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Hurt) EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Hurt)
EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_END_CASE_GROUP EVT_END_CASE_GROUP
EVT_CASE_EQ(EVENT_BURN_HIT) EVT_CASE_EQ(EVENT_BURN_HIT)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleLakilester_BurnHurt) EVT_SET_CONST(LVar1, ANIM_BattleLakilester_BurnHurt)
EVT_SET_CONST(LVar2, ANIM_BattleLakilester_BurnStill) EVT_SET_CONST(LVar2, ANIM_BattleLakilester_BurnStill)
EVT_EXEC_WAIT(EVS_Enemy_BurnHit) EVT_EXEC_WAIT(EVS_Enemy_BurnHit)
EVT_CASE_EQ(EVENT_BURN_DEATH) EVT_CASE_EQ(EVENT_BURN_DEATH)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleLakilester_BurnHurt) EVT_SET_CONST(LVar1, ANIM_BattleLakilester_BurnHurt)
EVT_SET_CONST(LVar2, ANIM_BattleLakilester_BurnStill) EVT_SET_CONST(LVar2, ANIM_BattleLakilester_BurnStill)
EVT_EXEC_WAIT(EVS_Enemy_BurnHit) EVT_EXEC_WAIT(EVS_Enemy_BurnHit)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleLakilester_BurnStill) EVT_SET_CONST(LVar1, ANIM_BattleLakilester_BurnStill)
EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN EVT_RETURN
EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Hurt) EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Hurt)
EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit) EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit)
EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Hurt) EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Hurt)
EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit) EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Dead) EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Dead)
EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN EVT_RETURN
EVT_CASE_EQ(EVENT_SHOCK_HIT) EVT_CASE_EQ(EVENT_SHOCK_HIT)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Hurt) EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Hurt)
EVT_EXEC_WAIT(EVS_Enemy_ShockHit) EVT_EXEC_WAIT(EVS_Enemy_ShockHit)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Hurt) EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Hurt)
EVT_EXEC_WAIT(EVS_Enemy_JumpBack) EVT_EXEC_WAIT(EVS_Enemy_JumpBack)
EVT_EXEC_WAIT(N(returnHome)) EVT_EXEC_WAIT(N(returnHome))
EVT_CASE_EQ(EVENT_SHOCK_DEATH) EVT_CASE_EQ(EVENT_SHOCK_DEATH)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Hurt) EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Hurt)
EVT_EXEC_WAIT(EVS_Enemy_ShockHit) EVT_EXEC_WAIT(EVS_Enemy_ShockHit)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Dead) EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Dead)
EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN EVT_RETURN
EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE)
EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CASE_OR_EQ(EVENT_IMMUNE)
EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Idle) EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Idle)
EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit)
EVT_END_CASE_GROUP EVT_END_CASE_GROUP
EVT_CASE_EQ(EVENT_DEATH) EVT_CASE_EQ(EVENT_DEATH)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Hurt) EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Hurt)
EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_WAIT(10) EVT_WAIT(10)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Dead) EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Dead)
EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN EVT_RETURN
@ -213,21 +210,21 @@ EvtScript N(handleEvent) = {
EVT_EXEC_WAIT(N(returnHome)) EVT_EXEC_WAIT(N(returnHome))
EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CALL(HPBarToHome, ACTOR_SELF)
EVT_CASE_EQ(EVENT_RECOVER_STATUS) EVT_CASE_EQ(EVENT_RECOVER_STATUS)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Idle) EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Idle)
EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_EXEC_WAIT(EVS_Enemy_Recover)
EVT_CASE_EQ(EVENT_SCARE_AWAY) EVT_CASE_EQ(EVENT_SCARE_AWAY)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Run) EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Run)
EVT_SET_CONST(LVar2, ANIM_BattleLakilester_Hurt) EVT_SET_CONST(LVar2, ANIM_BattleLakilester_Hurt)
EVT_EXEC_WAIT(EVS_Enemy_ScareAway) EVT_EXEC_WAIT(EVS_Enemy_ScareAway)
EVT_RETURN EVT_RETURN
EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Hurt) EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Hurt)
EVT_EXEC_WAIT(EVS_Enemy_AirLift) EVT_EXEC_WAIT(EVS_Enemy_AirLift)
EVT_CASE_EQ(EVENT_BLOW_AWAY) EVT_CASE_EQ(EVENT_BLOW_AWAY)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Hurt) EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Hurt)
EVT_EXEC_WAIT(EVS_Enemy_BlowAway) EVT_EXEC_WAIT(EVS_Enemy_BlowAway)
EVT_RETURN EVT_RETURN

View File

@ -1,10 +1,7 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#include "sprite/npc/RuffPuff.h" #include "sprite/npc/RuffPuff.h"
#include "effects.h"
#define NAMESPACE b_area_flo2_tuff_puff #define NAMESPACE A(tuff_puff)
extern EvtScript N(init); extern EvtScript N(init);
extern EvtScript N(takeTurn); extern EvtScript N(takeTurn);
@ -251,7 +248,7 @@ EvtScript N(handleEvent) = {
EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0)
EVT_SWITCH(LVar0) EVT_SWITCH(LVar0)
EVT_CASE_EQ(EVENT_HIT_COMBO) EVT_CASE_EQ(EVENT_HIT_COMBO)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_IS_BIG), LVar1) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_IS_BIG), LVar1)
EVT_IF_EQ(LVar1, 0) EVT_IF_EQ(LVar1, 0)
EVT_SET_CONST(LVar1, ANIM_RuffPuff_Anim0C) EVT_SET_CONST(LVar1, ANIM_RuffPuff_Anim0C)
@ -260,7 +257,7 @@ EvtScript N(handleEvent) = {
EVT_END_IF EVT_END_IF
EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_CASE_EQ(EVENT_HIT) EVT_CASE_EQ(EVENT_HIT)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_IS_BIG), LVar1) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_IS_BIG), LVar1)
EVT_IF_EQ(LVar1, 0) EVT_IF_EQ(LVar1, 0)
EVT_SET_CONST(LVar1, ANIM_RuffPuff_Anim0C) EVT_SET_CONST(LVar1, ANIM_RuffPuff_Anim0C)
@ -299,7 +296,7 @@ EvtScript N(handleEvent) = {
EVT_END_IF EVT_END_IF
EVT_EXEC_WAIT(EVS_Enemy_BurnHit) EVT_EXEC_WAIT(EVS_Enemy_BurnHit)
EVT_EXEC_WAIT(N(onDeath)) EVT_EXEC_WAIT(N(onDeath))
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_IS_BIG), LVar1) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_IS_BIG), LVar1)
EVT_IF_EQ(LVar1, 0) EVT_IF_EQ(LVar1, 0)
EVT_SET_CONST(LVar1, ANIM_RuffPuff_Anim0F) EVT_SET_CONST(LVar1, ANIM_RuffPuff_Anim0F)
@ -309,7 +306,7 @@ EvtScript N(handleEvent) = {
EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN EVT_RETURN
EVT_CASE_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_EQ(EVENT_ZERO_DAMAGE)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_IS_BIG), LVar1) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_IS_BIG), LVar1)
EVT_IF_EQ(LVar1, 0) EVT_IF_EQ(LVar1, 0)
EVT_SET_CONST(LVar1, ANIM_RuffPuff_Anim02) EVT_SET_CONST(LVar1, ANIM_RuffPuff_Anim02)
@ -318,7 +315,7 @@ EvtScript N(handleEvent) = {
EVT_END_IF EVT_END_IF
EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit)
EVT_CASE_EQ(EVENT_IMMUNE) EVT_CASE_EQ(EVENT_IMMUNE)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_IS_BIG), LVar1) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_IS_BIG), LVar1)
EVT_IF_EQ(LVar1, 0) EVT_IF_EQ(LVar1, 0)
EVT_SET_CONST(LVar1, ANIM_RuffPuff_Anim02) EVT_SET_CONST(LVar1, ANIM_RuffPuff_Anim02)
@ -327,7 +324,7 @@ EvtScript N(handleEvent) = {
EVT_END_IF EVT_END_IF
EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit)
EVT_CASE_EQ(EVENT_DEATH) EVT_CASE_EQ(EVENT_DEATH)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_IS_BIG), LVar1) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_IS_BIG), LVar1)
EVT_IF_EQ(LVar1, 0) EVT_IF_EQ(LVar1, 0)
EVT_SET_CONST(LVar1, ANIM_RuffPuff_Anim0C) EVT_SET_CONST(LVar1, ANIM_RuffPuff_Anim0C)
@ -336,7 +333,7 @@ EvtScript N(handleEvent) = {
EVT_END_IF EVT_END_IF
EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_EXEC_WAIT(N(onDeath)) EVT_EXEC_WAIT(N(onDeath))
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_IS_BIG), LVar1) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_IS_BIG), LVar1)
EVT_IF_EQ(LVar1, 0) EVT_IF_EQ(LVar1, 0)
EVT_SET_CONST(LVar1, ANIM_RuffPuff_Anim0C) EVT_SET_CONST(LVar1, ANIM_RuffPuff_Anim0C)
@ -346,7 +343,7 @@ EvtScript N(handleEvent) = {
EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN EVT_RETURN
EVT_CASE_EQ(EVENT_RECOVER_STATUS) EVT_CASE_EQ(EVENT_RECOVER_STATUS)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_IS_BIG), LVar1) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_IS_BIG), LVar1)
EVT_IF_EQ(LVar1, 0) EVT_IF_EQ(LVar1, 0)
EVT_SET_CONST(LVar1, ANIM_RuffPuff_Anim02) EVT_SET_CONST(LVar1, ANIM_RuffPuff_Anim02)
@ -355,7 +352,7 @@ EvtScript N(handleEvent) = {
EVT_END_IF EVT_END_IF
EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_EXEC_WAIT(EVS_Enemy_Recover)
EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_IS_BIG), LVar1) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_IS_BIG), LVar1)
EVT_IF_EQ(LVar1, 0) EVT_IF_EQ(LVar1, 0)
EVT_SET_CONST(LVar1, ANIM_RuffPuff_Anim06) EVT_SET_CONST(LVar1, ANIM_RuffPuff_Anim06)
@ -365,7 +362,7 @@ EvtScript N(handleEvent) = {
EVT_EXEC_WAIT(EVS_Enemy_AirLift) EVT_EXEC_WAIT(EVS_Enemy_AirLift)
EVT_CASE_EQ(EVENT_BLOW_AWAY) EVT_CASE_EQ(EVENT_BLOW_AWAY)
EVT_EXEC_WAIT(N(onDeath)) EVT_EXEC_WAIT(N(onDeath))
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_IS_BIG), LVar1) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_IS_BIG), LVar1)
EVT_IF_EQ(LVar1, 0) EVT_IF_EQ(LVar1, 0)
EVT_SET_CONST(LVar1, ANIM_RuffPuff_Anim0C) EVT_SET_CONST(LVar1, ANIM_RuffPuff_Anim0C)
@ -375,7 +372,7 @@ EvtScript N(handleEvent) = {
EVT_EXEC_WAIT(EVS_Enemy_BlowAway) EVT_EXEC_WAIT(EVS_Enemy_BlowAway)
EVT_RETURN EVT_RETURN
EVT_CASE_EQ(EVENT_AIR_LIFT_FAILED) EVT_CASE_EQ(EVENT_AIR_LIFT_FAILED)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_IS_BIG), LVar1) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_IS_BIG), LVar1)
EVT_IF_EQ(LVar1, 0) EVT_IF_EQ(LVar1, 0)
EVT_SET_CONST(LVar1, ANIM_RuffPuff_Anim02) EVT_SET_CONST(LVar1, ANIM_RuffPuff_Anim02)

View File

@ -1,75 +1,72 @@
#include "common.h" #include "area.h"
#include "battle/battle.h"
#define NAMESPACE b_area_flo2 extern ActorBlueprint A(huff_n_puff);
extern ActorBlueprint A(monty_mole_boss);
extern ActorBlueprint A(spike);
extern ActorBlueprint N(huff_n_puff); extern Stage A(flo_01);
extern ActorBlueprint N(monty_mole_boss); extern Stage A(flo_01b);
extern ActorBlueprint N(spike); extern Stage A(flo_01c);
extern Stage A(flo_02);
extern Stage A(flo_02b);
extern Stage A(flo_02c);
extern Stage A(flo_03);
extern Stage A(flo_04);
extern Stage A(flo_05);
extern Stage A(flo_06);
extern Stage N(flo_01); Vec3i A(huff_n_puff_pos) = { 80, 80, 0 };
extern Stage N(flo_01b);
extern Stage N(flo_01c);
extern Stage N(flo_02);
extern Stage N(flo_02b);
extern Stage N(flo_02c);
extern Stage N(flo_03);
extern Stage N(flo_04);
extern Stage N(flo_05);
extern Stage N(flo_06);
Vec3i N(huff_n_puff_pos) = { 80, 80, 0 }; Formation A(Formation_01) = {
ACTOR_BY_POS(A(huff_n_puff), A(huff_n_puff_pos), 10),
Formation N(Formation_01) = {
ACTOR_BY_POS(N(huff_n_puff), N(huff_n_puff_pos), 10),
}; };
Formation N(Formation_02) = { Formation A(Formation_02) = {
ACTOR_BY_IDX(N(monty_mole_boss), BTL_POS_GROUND_B, 10), ACTOR_BY_IDX(A(monty_mole_boss), BTL_POS_GROUND_B, 10),
}; };
Formation N(Formation_03) = { Formation A(Formation_03) = {
ACTOR_BY_IDX(N(monty_mole_boss), BTL_POS_GROUND_B, 10), ACTOR_BY_IDX(A(monty_mole_boss), BTL_POS_GROUND_B, 10),
ACTOR_BY_IDX(N(monty_mole_boss), BTL_POS_GROUND_C, 9), ACTOR_BY_IDX(A(monty_mole_boss), BTL_POS_GROUND_C, 9),
}; };
Formation N(Formation_04) = { Formation A(Formation_04) = {
ACTOR_BY_IDX(N(monty_mole_boss), BTL_POS_GROUND_A, 10), ACTOR_BY_IDX(A(monty_mole_boss), BTL_POS_GROUND_A, 10),
ACTOR_BY_IDX(N(monty_mole_boss), BTL_POS_GROUND_B, 9), ACTOR_BY_IDX(A(monty_mole_boss), BTL_POS_GROUND_B, 9),
ACTOR_BY_IDX(N(monty_mole_boss), BTL_POS_GROUND_C, 8), ACTOR_BY_IDX(A(monty_mole_boss), BTL_POS_GROUND_C, 8),
}; };
Formation N(Formation_05) = { Formation A(Formation_05) = {
ACTOR_BY_IDX(N(monty_mole_boss), BTL_POS_GROUND_A, 10), ACTOR_BY_IDX(A(monty_mole_boss), BTL_POS_GROUND_A, 10),
ACTOR_BY_IDX(N(monty_mole_boss), BTL_POS_GROUND_B, 9), ACTOR_BY_IDX(A(monty_mole_boss), BTL_POS_GROUND_B, 9),
ACTOR_BY_IDX(N(monty_mole_boss), BTL_POS_GROUND_C, 8), ACTOR_BY_IDX(A(monty_mole_boss), BTL_POS_GROUND_C, 8),
ACTOR_BY_IDX(N(monty_mole_boss), BTL_POS_GROUND_D, 7), ACTOR_BY_IDX(A(monty_mole_boss), BTL_POS_GROUND_D, 7),
}; };
Formation N(Formation_06) = { Formation A(Formation_06) = {
ACTOR_BY_IDX(N(spike), BTL_POS_AIR_B, 10), ACTOR_BY_IDX(A(spike), BTL_POS_AIR_B, 10),
}; };
BattleList N(Formations) = { BattleList A(Formations) = {
BATTLE(N(Formation_01), N(flo_04), "オズモーン"), BATTLE(A(Formation_01), A(flo_04), "オズモーン"),
BATTLE(N(Formation_02), N(flo_01), "フラワーチョロプー"), BATTLE(A(Formation_02), A(flo_01), "フラワーチョロプー"),
BATTLE(N(Formation_03), N(flo_01), "フラワーチョロプーx"), BATTLE(A(Formation_03), A(flo_01), "フラワーチョロプーx"),
BATTLE(N(Formation_04), N(flo_01), "フラワーチョロプーx"), BATTLE(A(Formation_04), A(flo_01), "フラワーチョロプーx"),
BATTLE(N(Formation_05), N(flo_01), "フラワーチョロプーx"), BATTLE(A(Formation_05), A(flo_01), "フラワーチョロプーx"),
BATTLE(N(Formation_06), N(flo_01), "ジョナサン?"), BATTLE(A(Formation_06), A(flo_01), "ジョナサン?"),
{}, {},
}; };
StageList N(Stages) = { StageList A(Stages) = {
STAGE("flo_01", N(flo_01)), STAGE("flo_01", A(flo_01)),
STAGE("flo_01b", N(flo_01b)), STAGE("flo_01b", A(flo_01b)),
STAGE("flo_01c", N(flo_01c)), STAGE("flo_01c", A(flo_01c)),
STAGE("flo_02", N(flo_02)), STAGE("flo_02", A(flo_02)),
STAGE("flo_02b", N(flo_02b)), STAGE("flo_02b", A(flo_02b)),
STAGE("flo_02c", N(flo_02c)), STAGE("flo_02c", A(flo_02c)),
STAGE("flo_03", N(flo_03)), STAGE("flo_03", A(flo_03)),
STAGE("flo_04", N(flo_04)), STAGE("flo_04", A(flo_04)),
STAGE("flo_05", N(flo_05)), STAGE("flo_05", A(flo_05)),
STAGE("flo_06", N(flo_06)), STAGE("flo_06", A(flo_06)),
{}, {},
}; };

View File

@ -0,0 +1,6 @@
#include "common.h"
#include "effects.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#define AREA b_area_flo2

View File

@ -1,7 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/flo_bt01_shape.h"
#define NAMESPACE b_area_flo2_flo_01 #include "battle/common/stage/area_flo/flo_01.inc.c"
#include "battle/common/stage/flo_01.inc.c"

View File

@ -1,7 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/flo_bt01_shape.h"
#define NAMESPACE b_area_flo2_flo_01b #include "battle/common/stage/area_flo/flo_01b.inc.c"
#include "battle/common/stage/flo_01b.inc.c"

View File

@ -1,8 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/flo_bt01_shape.h"
#include "effects.h"
#define NAMESPACE b_area_flo2_flo_01c #include "battle/common/stage/area_flo/flo_01c.inc.c"
#include "battle/common/stage/flo_01c.inc.c"

View File

@ -1,7 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/flo_bt02_shape.h"
#define NAMESPACE b_area_flo2_flo_02 #include "battle/common/stage/area_flo/flo_02.inc.c"
#include "battle/common/stage/flo_02.inc.c"

View File

@ -1,7 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/flo_bt02_shape.h"
#define NAMESPACE b_area_flo2_flo_02b #include "battle/common/stage/area_flo/flo_02b.inc.c"
#include "battle/common/stage/flo_02b.inc.c"

View File

@ -1,7 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/flo_bt02_shape.h"
#define NAMESPACE b_area_flo2_flo_02c #include "battle/common/stage/area_flo/flo_02c.inc.c"
#include "battle/common/stage/flo_02c.inc.c"

View File

@ -1,7 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/flo_bt03_shape.h"
#define NAMESPACE b_area_flo2_flo_03 #include "battle/common/stage/area_flo/flo_03.inc.c"
#include "battle/common/stage/flo_03.inc.c"

View File

@ -1,7 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/flo_bt04_shape.h"
#define NAMESPACE b_area_flo2_flo_04 #include "battle/common/stage/area_flo/flo_04.inc.c"
#include "battle/common/stage/flo_04.inc.c"

View File

@ -1,6 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#define NAMESPACE b_area_flo2_flo_05 #include "battle/common/stage/area_flo/flo_05.inc.c"
#include "battle/common/stage/flo_05.inc.c"

View File

@ -1,6 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#define NAMESPACE b_area_flo2_flo_06 #include "battle/common/stage/area_flo/flo_06.inc.c"
#include "battle/common/stage/flo_06.inc.c"

View File

@ -1,5 +1,3 @@
#include "common.h" #include "../area.h"
#define NAMESPACE b_area_hos_ember
#include "battle/common/actor/ember.inc.c" #include "battle/common/actor/ember.inc.c"

View File

@ -1,12 +1,10 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#include "battle/action_cmd/jump.h" #include "battle/action_cmd/jump.h"
#include "battle/action_cmd.h" #include "battle/action_cmd.h"
#include "sprite/npc/BattleGoombario.h" #include "sprite/npc/BattleGoombario.h"
#include "sprite/npc/Twink.h" #include "sprite/npc/Twink.h"
#define NAMESPACE b_area_hos_goombario_tutor #define NAMESPACE A(goombario_tutor)
enum N(ActorPartIDs) { enum N(ActorPartIDs) {
PRT_MAIN = 1, PRT_MAIN = 1,
@ -140,18 +138,18 @@ EvtScript N(handleEvent_802191E0) = {
EVT_SWITCH(LVar0) EVT_SWITCH(LVar0)
EVT_CASE_OR_EQ(9) EVT_CASE_OR_EQ(9)
EVT_CASE_OR_EQ(10) EVT_CASE_OR_EQ(10)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleGoombario_HurtStill) EVT_SET_CONST(LVar1, ANIM_BattleGoombario_HurtStill)
EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_END_CASE_GROUP EVT_END_CASE_GROUP
EVT_CASE_OR_EQ(23) EVT_CASE_OR_EQ(23)
EVT_CASE_OR_EQ(25) EVT_CASE_OR_EQ(25)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleGoombario_Idle) EVT_SET_CONST(LVar1, ANIM_BattleGoombario_Idle)
EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit)
EVT_END_CASE_GROUP EVT_END_CASE_GROUP
EVT_CASE_EQ(48) EVT_CASE_EQ(48)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_BattleGoombario_HurtStill) EVT_SET_CONST(LVar1, ANIM_BattleGoombario_HurtStill)
EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_WAIT(1000) EVT_WAIT(1000)
@ -190,7 +188,7 @@ EvtScript N(takeTurn_80219444) = {
EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetGoalToTarget, ACTOR_SELF)
EVT_CALL(AddGoalPos, ACTOR_SELF, -10, 0, 0) EVT_CALL(AddGoalPos, ACTOR_SELF, -10, 0, 0)
EVT_CALL(GetBattleFlags2, LVar0) EVT_CALL(GetBattleFlags2, LVar0)
EVT_IF_FLAG(LVar0, 0x200) EVT_IF_FLAG(LVar0, BS_FLAGS2_200)
EVT_CALL(AddGoalPos, ACTOR_SELF, 5, 10, 0) EVT_CALL(AddGoalPos, ACTOR_SELF, 5, 10, 0)
EVT_END_IF EVT_END_IF
EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.1)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.1))

View File

@ -1,10 +1,8 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#include "sprite/npc/FlyingMagikoopa.h" #include "sprite/npc/FlyingMagikoopa.h"
#include "sprite/npc/Magikoopa.h" #include "sprite/npc/Magikoopa.h"
#define NAMESPACE b_area_hos_magikoopa #define NAMESPACE A(magikoopa)
enum N(ActorPartIDs) { enum N(ActorPartIDs) {
PRT_MAIN = 1, PRT_MAIN = 1,
@ -473,52 +471,52 @@ EvtScript N(handleEvent_8021E6D8) = {
EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0)
EVT_BITWISE_OR_CONST(LVar0, 1) EVT_BITWISE_OR_CONST(LVar0, 1)
EVT_CALL(SetActorVar, ACTOR_SELF, 0, LVar0) EVT_CALL(SetActorVar, ACTOR_SELF, 0, LVar0)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim04) EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_CASE_OR_EQ(10) EVT_CASE_OR_EQ(10)
EVT_CASE_OR_EQ(61) EVT_CASE_OR_EQ(61)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim04) EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_EXEC_WAIT(N(8021E46C)) EVT_EXEC_WAIT(N(8021E46C))
EVT_END_CASE_GROUP EVT_END_CASE_GROUP
EVT_CASE_EQ(14) EVT_CASE_EQ(14)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim05) EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim05)
EVT_SET_CONST(LVar2, ANIM_Magikoopa_Anim06) EVT_SET_CONST(LVar2, ANIM_Magikoopa_Anim06)
EVT_EXEC_WAIT(EVS_Enemy_BurnHit) EVT_EXEC_WAIT(EVS_Enemy_BurnHit)
EVT_EXEC_WAIT(N(8021E46C)) EVT_EXEC_WAIT(N(8021E46C))
EVT_CASE_EQ(36) EVT_CASE_EQ(36)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim05) EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim05)
EVT_SET_CONST(LVar2, ANIM_Magikoopa_Anim06) EVT_SET_CONST(LVar2, ANIM_Magikoopa_Anim06)
EVT_EXEC_WAIT(EVS_Enemy_BurnHit) EVT_EXEC_WAIT(EVS_Enemy_BurnHit)
EVT_EXEC_WAIT(N(8021E46C)) EVT_EXEC_WAIT(N(8021E46C))
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim06) EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim06)
EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN EVT_RETURN
EVT_CASE_EQ(11) EVT_CASE_EQ(11)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim04) EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit) EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit)
EVT_EXEC_WAIT(N(8021E46C)) EVT_EXEC_WAIT(N(8021E46C))
EVT_CASE_EQ(33) EVT_CASE_EQ(33)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim04) EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit) EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit)
EVT_EXEC_WAIT(N(8021E46C)) EVT_EXEC_WAIT(N(8021E46C))
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim04) EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN EVT_RETURN
EVT_CASE_EQ(23) EVT_CASE_EQ(23)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim01) EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim01)
EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit)
EVT_CASE_EQ(25) EVT_CASE_EQ(25)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim01) EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim01)
EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit)
EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0)
@ -531,17 +529,17 @@ EvtScript N(handleEvent_8021E6D8) = {
EVT_EXEC_WAIT(N(8021E46C)) EVT_EXEC_WAIT(N(8021E46C))
EVT_END_IF EVT_END_IF
EVT_CASE_EQ(32) EVT_CASE_EQ(32)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim04) EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_EXEC_WAIT(N(8021E46C)) EVT_EXEC_WAIT(N(8021E46C))
EVT_WAIT(10) EVT_WAIT(10)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim04) EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN EVT_RETURN
EVT_CASE_EQ(49) EVT_CASE_EQ(49)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim01) EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim01)
EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_EXEC_WAIT(EVS_Enemy_Recover)
EVT_CASE_EQ(57) EVT_CASE_EQ(57)
@ -556,7 +554,7 @@ EvtScript N(handleEvent_8021E6D8) = {
EVT_EXEC_WAIT(N(runAway)) EVT_EXEC_WAIT(N(runAway))
EVT_RETURN EVT_RETURN
EVT_CASE_EQ(58) EVT_CASE_EQ(58)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim02) EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim02)
EVT_EXEC_WAIT(EVS_Enemy_AirLift) EVT_EXEC_WAIT(EVS_Enemy_AirLift)
EVT_CASE_EQ(22) EVT_CASE_EQ(22)
@ -569,16 +567,16 @@ EvtScript N(handleEvent_8021E6D8) = {
EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_MAIN, -4, 5, 0) EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_MAIN, -4, 5, 0)
EVT_END_IF EVT_END_IF
EVT_END_IF EVT_END_IF
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim04) EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_BlowAway) EVT_EXEC_WAIT(EVS_Enemy_BlowAway)
EVT_RETURN EVT_RETURN
EVT_CASE_EQ(31) EVT_CASE_EQ(31)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim01) EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim01)
EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit)
EVT_CASE_EQ(19) EVT_CASE_EQ(19)
EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar0, PRT_MAIN)
EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim04) EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_EXEC_WAIT(N(8021E46C)) EVT_EXEC_WAIT(N(8021E46C))
@ -601,27 +599,27 @@ EvtScript N(handleEvent_8021EDF0) = {
EVT_BITWISE_OR_CONST(LVar0, 1) EVT_BITWISE_OR_CONST(LVar0, 1)
EVT_CALL(SetActorVar, ACTOR_SELF, 0, LVar0) EVT_CALL(SetActorVar, ACTOR_SELF, 0, LVar0)
EVT_EXEC_WAIT(N(8021D784)) EVT_EXEC_WAIT(N(8021D784))
EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar0, PRT_2)
EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim04) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_CASE_OR_EQ(10) EVT_CASE_OR_EQ(10)
EVT_CASE_OR_EQ(12) EVT_CASE_OR_EQ(12)
EVT_EXEC_WAIT(N(8021D784)) EVT_EXEC_WAIT(N(8021D784))
EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar0, PRT_2)
EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim04) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_EXEC_WAIT(N(8021E46C)) EVT_EXEC_WAIT(N(8021E46C))
EVT_EXEC_WAIT(N(8021D890)) EVT_EXEC_WAIT(N(8021D890))
EVT_END_CASE_GROUP EVT_END_CASE_GROUP
EVT_CASE_EQ(61) EVT_CASE_EQ(61)
EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar0, PRT_2)
EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim04) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_EXEC_WAIT(N(8021E46C)) EVT_EXEC_WAIT(N(8021E46C))
EVT_CASE_OR_EQ(14) EVT_CASE_OR_EQ(14)
EVT_CASE_OR_EQ(15) EVT_CASE_OR_EQ(15)
EVT_EXEC_WAIT(N(8021D784)) EVT_EXEC_WAIT(N(8021D784))
EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar0, PRT_2)
EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim05) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim05)
EVT_SET_CONST(LVar2, ANIM_FlyingMagikoopa_Anim06) EVT_SET_CONST(LVar2, ANIM_FlyingMagikoopa_Anim06)
EVT_EXEC_WAIT(EVS_Enemy_BurnHit) EVT_EXEC_WAIT(EVS_Enemy_BurnHit)
@ -629,35 +627,35 @@ EvtScript N(handleEvent_8021EDF0) = {
EVT_EXEC_WAIT(N(8021D890)) EVT_EXEC_WAIT(N(8021D890))
EVT_END_CASE_GROUP EVT_END_CASE_GROUP
EVT_CASE_EQ(36) EVT_CASE_EQ(36)
EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar0, PRT_2)
EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim05) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim05)
EVT_SET_CONST(LVar2, ANIM_FlyingMagikoopa_Anim06) EVT_SET_CONST(LVar2, ANIM_FlyingMagikoopa_Anim06)
EVT_EXEC_WAIT(EVS_Enemy_BurnHit) EVT_EXEC_WAIT(EVS_Enemy_BurnHit)
EVT_EXEC_WAIT(N(8021E46C)) EVT_EXEC_WAIT(N(8021E46C))
EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar0, PRT_2)
EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim06) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim06)
EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN EVT_RETURN
EVT_CASE_EQ(11) EVT_CASE_EQ(11)
EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar0, PRT_2)
EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim04) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit) EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit)
EVT_EXEC_WAIT(N(8021E46C)) EVT_EXEC_WAIT(N(8021E46C))
EVT_CASE_EQ(33) EVT_CASE_EQ(33)
EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar0, PRT_2)
EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim04) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit) EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit)
EVT_EXEC_WAIT(N(8021E46C)) EVT_EXEC_WAIT(N(8021E46C))
EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar0, PRT_2)
EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim04) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN EVT_RETURN
EVT_CASE_EQ(23) EVT_CASE_EQ(23)
EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar0, PRT_2)
EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim01) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim01)
EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit)
EVT_CASE_EQ(25) EVT_CASE_EQ(25)
EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar0, PRT_2)
EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim01) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim01)
EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit)
EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0)
@ -670,12 +668,12 @@ EvtScript N(handleEvent_8021EDF0) = {
EVT_EXEC_WAIT(N(8021E46C)) EVT_EXEC_WAIT(N(8021E46C))
EVT_END_IF EVT_END_IF
EVT_CASE_EQ(32) EVT_CASE_EQ(32)
EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar0, PRT_2)
EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim04) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_EXEC_WAIT(N(8021E46C)) EVT_EXEC_WAIT(N(8021E46C))
EVT_WAIT(10) EVT_WAIT(10)
EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar0, PRT_2)
EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim04) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_EXEC_WAIT(EVS_Enemy_Death)
EVT_RETURN EVT_RETURN
@ -690,7 +688,7 @@ EvtScript N(handleEvent_8021EDF0) = {
EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim01) EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim01)
EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CALL(HPBarToHome, ACTOR_SELF)
EVT_CASE_EQ(49) EVT_CASE_EQ(49)
EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar0, PRT_2)
EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim01) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim01)
EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_EXEC_WAIT(EVS_Enemy_Recover)
EVT_CASE_EQ(57) EVT_CASE_EQ(57)
@ -705,7 +703,7 @@ EvtScript N(handleEvent_8021EDF0) = {
EVT_EXEC_WAIT(N(runAway)) EVT_EXEC_WAIT(N(runAway))
EVT_RETURN EVT_RETURN
EVT_CASE_EQ(58) EVT_CASE_EQ(58)
EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar0, PRT_2)
EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim02) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim02)
EVT_EXEC_WAIT(EVS_Enemy_AirLift) EVT_EXEC_WAIT(EVS_Enemy_AirLift)
EVT_CASE_EQ(22) EVT_CASE_EQ(22)
@ -718,16 +716,16 @@ EvtScript N(handleEvent_8021EDF0) = {
EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_2, -15, 0, 0) EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_2, -15, 0, 0)
EVT_END_IF EVT_END_IF
EVT_END_IF EVT_END_IF
EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar0, PRT_2)
EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim04) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_BlowAway) EVT_EXEC_WAIT(EVS_Enemy_BlowAway)
EVT_RETURN EVT_RETURN
EVT_CASE_EQ(31) EVT_CASE_EQ(31)
EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar0, PRT_2)
EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim01) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim01)
EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit)
EVT_CASE_EQ(19) EVT_CASE_EQ(19)
EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar0, PRT_2)
EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim04) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim04)
EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_EXEC_WAIT(EVS_Enemy_Hit)
EVT_EXEC_WAIT(N(8021E46C)) EVT_EXEC_WAIT(N(8021E46C))
@ -1370,9 +1368,9 @@ EvtScript N(makeCopy) = {
EVT_SET(LFlag0, TRUE) EVT_SET(LFlag0, TRUE)
EVT_END_IF EVT_END_IF
EVT_IF_EQ(LFlag0, FALSE) EVT_IF_EQ(LFlag0, FALSE)
EVT_CALL(SummonEnemy, EVT_PTR(N(specialFormation_802216C8)), 0) EVT_CALL(SummonEnemy, EVT_PTR(N(specialFormation_802216C8)), FALSE)
EVT_ELSE EVT_ELSE
EVT_CALL(SummonEnemy, EVT_PTR(N(specialFormation_802216E4)), 0) EVT_CALL(SummonEnemy, EVT_PTR(N(specialFormation_802216E4)), FALSE)
EVT_END_IF EVT_END_IF
EVT_CALL(SetActorVar, ACTOR_SELF, 9, LVar0) EVT_CALL(SetActorVar, ACTOR_SELF, 9, LVar0)
EVT_SET(LVarA, LVar0) EVT_SET(LVarA, LVar0)

View File

@ -1,46 +1,43 @@
#include "common.h" #include "area.h"
#include "battle/battle.h"
#define NAMESPACE b_area_hos extern ActorBlueprint A(ember);
extern ActorBlueprint A(goombario_tutor);
extern ActorBlueprint A(magikoopa_flying);
extern ActorBlueprint N(goombario_tutor); extern Stage A(hos_00);
extern ActorBlueprint N(ember); extern Stage A(hos_01);
extern ActorBlueprint N(magikoopa_flying); extern Stage A(hos_02);
extern Stage N(hos_00); Formation A(Formation_00) = {
extern Stage N(hos_01); ACTOR_BY_IDX(A(goombario_tutor), BTL_POS_GROUND_B, 10),
extern Stage N(hos_02);
Formation N(Formation_00) = {
ACTOR_BY_IDX(N(goombario_tutor), BTL_POS_GROUND_B, 10),
}; };
Formation N(Formation_01) = { Formation A(Formation_01) = {
ACTOR_BY_IDX(N(ember), BTL_POS_GROUND_B, 10), ACTOR_BY_IDX(A(ember), BTL_POS_GROUND_B, 10),
ACTOR_BY_IDX(N(ember), BTL_POS_GROUND_C, 9), ACTOR_BY_IDX(A(ember), BTL_POS_GROUND_C, 9),
}; };
Formation N(Formation_02) = { Formation A(Formation_02) = {
ACTOR_BY_IDX(N(ember), BTL_POS_GROUND_A, 10), ACTOR_BY_IDX(A(ember), BTL_POS_GROUND_A, 10),
ACTOR_BY_IDX(N(ember), BTL_POS_GROUND_B, 9), ACTOR_BY_IDX(A(ember), BTL_POS_GROUND_B, 9),
ACTOR_BY_IDX(N(ember), BTL_POS_GROUND_C, 8), ACTOR_BY_IDX(A(ember), BTL_POS_GROUND_C, 8),
}; };
Formation N(Formation_03) = { Formation A(Formation_03) = {
ACTOR_BY_IDX(N(magikoopa_flying), BTL_POS_AIR_B, 10), ACTOR_BY_IDX(A(magikoopa_flying), BTL_POS_AIR_B, 10),
}; };
BattleList N(Formations) = { BattleList A(Formations) = {
BATTLE(N(Formation_00), N(hos_02), "クリオ(ACヘルプ)"), BATTLE(A(Formation_00), A(hos_02), "クリオ(ACヘルプ)"),
BATTLE(N(Formation_01), N(hos_01), "エルモスx"), BATTLE(A(Formation_01), A(hos_01), "エルモスx"),
BATTLE(N(Formation_02), N(hos_01), "エルモスx"), BATTLE(A(Formation_02), A(hos_01), "エルモスx"),
BATTLE(N(Formation_03), N(hos_02), "カメック(ACヘルプご)"), BATTLE(A(Formation_03), A(hos_02), "カメック(ACヘルプご)"),
{}, {},
}; };
StageList N(Stages) = { StageList A(Stages) = {
STAGE("hos_00", N(hos_00)), STAGE("hos_00", A(hos_00)),
STAGE("hos_01", N(hos_01)), STAGE("hos_01", A(hos_01)),
STAGE("hos_02", N(hos_02)), STAGE("hos_02", A(hos_02)),
{}, {},
}; };

View File

@ -0,0 +1,6 @@
#include "common.h"
#include "effects.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#define AREA b_area_hos

View File

@ -1,82 +1,3 @@
#include "common.h" #include "../area.h"
#include "battle/battle.h"
#include "mapfs/nok_bt02_shape.h"
#define NAMESPACE b_area_hos_hos_00 #include "battle/common/stage/area_hos/hos_00.inc.c"
EvtScript N(EVS_AnimateFlower) = {
EVT_SET(LVarA, LVar0)
EVT_LABEL(0)
EVT_CALL(TranslateModel, LVarA, 0, 2, 0)
EVT_WAIT(5)
EVT_CALL(TranslateModel, LVarA, 0, 0, 0)
EVT_WAIT(5)
EVT_CALL(TranslateModel, LVarA, 0, 2, 0)
EVT_WAIT(5)
EVT_CALL(TranslateModel, LVarA, 0, 0, 0)
EVT_WAIT(5)
EVT_CALL(RandInt, 30, LVar0)
EVT_ADD(LVar0, 30)
EVT_WAIT(LVar0)
EVT_GOTO(0)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_PreBattle) = {
EVT_CALL(SetSpriteShading, SHADING_NONE)
EVT_THREAD
EVT_SET(LVar0, MODEL_h1)
EVT_EXEC(N(EVS_AnimateFlower))
EVT_WAIT(5)
EVT_SET(LVar0, MODEL_h3)
EVT_EXEC(N(EVS_AnimateFlower))
EVT_WAIT(5)
EVT_SET(LVar0, MODEL_h4)
EVT_EXEC(N(EVS_AnimateFlower))
EVT_WAIT(5)
EVT_SET(LVar0, MODEL_h5)
EVT_EXEC(N(EVS_AnimateFlower))
EVT_WAIT(5)
EVT_SET(LVar0, MODEL_h6)
EVT_EXEC(N(EVS_AnimateFlower))
EVT_WAIT(5)
EVT_SET(LVar0, MODEL_h7)
EVT_EXEC(N(EVS_AnimateFlower))
EVT_WAIT(5)
EVT_SET(LVar0, MODEL_h9)
EVT_EXEC(N(EVS_AnimateFlower))
EVT_WAIT(5)
EVT_SET(LVar0, MODEL_h10)
EVT_EXEC(N(EVS_AnimateFlower))
EVT_WAIT(5)
EVT_SET(LVar0, MODEL_h11)
EVT_EXEC(N(EVS_AnimateFlower))
EVT_WAIT(5)
EVT_SET(LVar0, MODEL_h12)
EVT_EXEC(N(EVS_AnimateFlower))
EVT_END_THREAD
EVT_RETURN
EVT_END
};
EvtScript N(EVS_PostBattle) = {
EVT_RETURN
EVT_END
};
s32 N(ForegroundModels)[] = {
MODEL_hap,
MODEL_kusa3,
STAGE_MODEL_LIST_END
};
Stage NAMESPACE = {
.texture = "nok_tex",
.shape = "nok_bt02_shape",
.hit = "nok_bt02_hit",
.bg = "nok_bg",
.preBattle = &N(EVS_PreBattle),
.postBattle = &N(EVS_PostBattle),
.foregroundModelList = N(ForegroundModels),
};

Some files were not shown because too many files have changed in this diff Show More