mirror of
https://github.com/pmret/papermario.git
synced 2024-11-08 12:02:30 +01:00
all data done (#945)
* misc fold * omo cleanup * projectile target offset * missing actor part fields * msg chars * decimal offsets * partIndex -> partID * callables * EVT_PLAY_EFFECT * fix out of range offsets * some renames * battle_area -> battle/area * renames * battle names last * more power * hammer moves * hammer directory * all moves migrated * moved items * moved starpowers * fixed jp --------- Co-authored-by: HailSanta <Hail2Santa@gmail.com>
This commit is contained in:
parent
0d70e3ecac
commit
f033bbae6d
@ -11,8 +11,8 @@
|
||||
#include "enums.h"
|
||||
#include "evt.h"
|
||||
#include "messages.h"
|
||||
#include "battle/battle_formation_names.h"
|
||||
#include "battle/battle_stage_names.h"
|
||||
#include "battle/formation_names.h"
|
||||
#include "battle/stage_names.h"
|
||||
|
||||
#ifdef PERMUTER
|
||||
extern int TEXEL0, TEXEL1, PRIMITIVE, PRIMITIVE_ALPHA;
|
||||
|
@ -245,12 +245,12 @@ typedef struct Npc {
|
||||
/* 0x08E */ s16 duration; // TODO: name less vaguely
|
||||
/* 0x090 */ Vec3s homePos;
|
||||
/* 0x096 */ s16 unk_96;
|
||||
/* 0x098 */ s16 unk_98;
|
||||
/* 0x09A */ s16 unk_9A;
|
||||
/* 0x09C */ s16 unk_9C;
|
||||
/* 0x09E */ s16 unk_9E;
|
||||
/* 0x0A0 */ s16 unk_A0;
|
||||
/* 0x0A2 */ u16 unk_A2;
|
||||
/* 0x098 */ s16 foldType;
|
||||
/* 0x09A */ s16 foldArg1;
|
||||
/* 0x09C */ s16 foldArg2;
|
||||
/* 0x09E */ s16 foldArg3;
|
||||
/* 0x0A0 */ s16 foldArg4;
|
||||
/* 0x0A2 */ u16 foldArg5;
|
||||
/* 0x0A4 */ s8 npcID;
|
||||
/* 0x0A5 */ char unk_A5;
|
||||
/* 0x0A6 */ s16 collisionRadius;
|
||||
@ -1546,10 +1546,9 @@ typedef struct ActorPartBlueprint {
|
||||
/* 0x10 */ s32* defenseTable;
|
||||
/* 0x14 */ s32 eventFlags;
|
||||
/* 0x18 */ s32 elementImmunityFlags;
|
||||
/* 0x1C */ s8 unk_1C;
|
||||
/* 0x1D */ s8 unk_1D;
|
||||
/* 0x1C */ Vec2b projectileTargetOffset;
|
||||
/* 0x1E */ char unk_1E[2];
|
||||
/* 0x20 */ s32 unk_20;
|
||||
/* 0x20 */ s32 overrideNameMsg; // name when this part is targeted; overrides name from actor type
|
||||
} ActorPartBlueprint; // size = 0x24
|
||||
|
||||
typedef struct ActorPart {
|
||||
@ -1573,8 +1572,7 @@ typedef struct ActorPart {
|
||||
/* 0x70 */ s16 unk_70;
|
||||
/* 0x72 */ Vec2bu size;
|
||||
/* 0x74 */ s8 verticalStretch;
|
||||
/* 0x75 */ s8 unk_75;
|
||||
/* 0x76 */ s8 unk_76;
|
||||
/* 0x75 */ Vec2b projectileTargetOffset;
|
||||
/* 0x77 */ char unk_77[1];
|
||||
/* 0x78 */ u32* defenseTable;
|
||||
/* 0x7C */ s32 eventFlags;
|
||||
|
@ -737,7 +737,11 @@ enum SoundIDs {
|
||||
SOUND_151 = 0x00000151,
|
||||
SOUND_152 = 0x00000152,
|
||||
SOUND_SEARCH_BUSH = 0x00000153,
|
||||
SOUND_156 = 0x00000156,
|
||||
SOUND_158 = 0x00000158,
|
||||
SOUND_15A = 0x0000015A,
|
||||
SOUND_15B = 0x0000015B,
|
||||
SOUND_15C = 0x0000015C,
|
||||
SOUND_15D = 0x0000015D,
|
||||
SOUND_15E = 0x0000015E,
|
||||
SOUND_160 = 0x00000160,
|
||||
@ -1461,6 +1465,9 @@ enum SoundIDs {
|
||||
SOUND_2106 = 0x00002106,
|
||||
SOUND_2107 = 0x00002107,
|
||||
SOUND_2108 = 0x00002108,
|
||||
SOUND_210A = 0x0000210A,
|
||||
SOUND_210B = 0x0000210B,
|
||||
SOUND_210C = 0x0000210C,
|
||||
SOUND_2111 = 0x00002111,
|
||||
SOUND_2112 = 0x00002112,
|
||||
SOUND_2113 = 0x00002113,
|
||||
@ -1471,6 +1478,12 @@ enum SoundIDs {
|
||||
SOUND_2118 = 0x00002118,
|
||||
SOUND_2119 = 0x00002119,
|
||||
SOUND_211A = 0x0000211A,
|
||||
SOUND_211B = 0x0000211B,
|
||||
SOUND_211C = 0x0000211C,
|
||||
SOUND_211D = 0x0000211D,
|
||||
SOUND_211E = 0x0000211E,
|
||||
SOUND_211F = 0x0000211F,
|
||||
SOUND_2120 = 0x00002120,
|
||||
SOUND_2121 = 0x00002121,
|
||||
SOUND_2122 = 0x00002122,
|
||||
SOUND_2123 = 0x00002123,
|
||||
@ -2529,22 +2542,21 @@ enum PlayerAnims {
|
||||
};
|
||||
|
||||
enum AmbientSounds {
|
||||
AMBIENT_SPOOKY = 0,
|
||||
AMBIENT_WIND = 1,
|
||||
AMBIENT_BEACH = 2,
|
||||
AMBIENT_JUNGLE = 3,
|
||||
// actually, 'undersea' are all lava-related. sort these out when map data is done
|
||||
AMBIENT_UNDER_SEA1 = 4,
|
||||
AMBIENT_UNDER_SEA2 = 5,
|
||||
AMBIENT_SILENCE = 6,
|
||||
AMBIENT_UNDER_SEA3 = 7,
|
||||
AMBIENT_UNDER_SEA4 = 8,
|
||||
AMBIENT_EXIT_SEA = 9,
|
||||
AMBIENT_UNDER_SEA5 = 10,
|
||||
AMBIENT_UNDER_SEA6 = 11,
|
||||
AMBIENT_BIRDS = 12,
|
||||
AMBIENT_SEA = 13,
|
||||
AMBIENT_RADIO = 16, // radio songs for nok
|
||||
AMBIENT_SPOOKY = 0,
|
||||
AMBIENT_WIND = 1,
|
||||
AMBIENT_BEACH = 2,
|
||||
AMBIENT_JUNGLE = 3,
|
||||
AMBIENT_LAVA_1 = 4,
|
||||
AMBIENT_LAVA_2 = 5,
|
||||
AMBIENT_SILENCE = 6,
|
||||
AMBIENT_LAVA_3 = 7,
|
||||
AMBIENT_LAVA_4 = 8,
|
||||
AMBIENT_LAVA_5 = 9,
|
||||
AMBIENT_LAVA_6 = 10,
|
||||
AMBIENT_LAVA_7 = 11,
|
||||
AMBIENT_BIRDS = 12,
|
||||
AMBIENT_SEA = 13,
|
||||
AMBIENT_RADIO = 16, // radio songs for nok
|
||||
// the following 4 IDs are reserved for additional radio songs,
|
||||
// and no more are expected to follow after that
|
||||
// see: au_ambient_load
|
||||
@ -5753,7 +5765,7 @@ enum FoldStateFlags {
|
||||
FOLD_STATE_FLAG_2000 = 0x00002000,
|
||||
FOLD_STATE_FLAG_4000 = 0x00004000,
|
||||
FOLD_STATE_FLAG_8000 = 0x00008000,
|
||||
FOLD_STATE_FLAG_10000 = 0x00010000,
|
||||
FOLD_STATE_FLAG_NO_FILTERING = 0x00010000,
|
||||
FOLD_STATE_FLAG_20000 = 0x00020000,
|
||||
FOLD_STATE_FLAG_40000 = 0x00040000,
|
||||
FOLD_STATE_FLAG_80000 = 0x00080000,
|
||||
|
@ -241,7 +241,7 @@ s32 evt_trigger_on_activate_exec_script(Trigger* trigger);
|
||||
Trigger* get_trigger_by_id(s32 triggerID);
|
||||
|
||||
Actor* get_actor(s32 actorID);
|
||||
ActorPart* get_actor_part(Actor* actor, s32 partIndex);
|
||||
ActorPart* get_actor_part(Actor* actor, s32 partID);
|
||||
s32 add_coins(s32 amt);
|
||||
s32 is_partner_ability_active(s32);
|
||||
s32 count_power_plus(s32);
|
||||
@ -447,7 +447,7 @@ void set_npc_animation(Npc* npc, u32 animID);
|
||||
void set_peach_shadow_scale(Shadow* shadow, f32 scale);
|
||||
s32 is_block_on_ground(Entity* block);
|
||||
void set_animation(s32 actorID, s32, s32 animationIndex);
|
||||
void set_animation_rate(s32 actorID, s32 partIndex, f32 rate);
|
||||
void set_animation_rate(s32 actorID, s32 partID, f32 rate);
|
||||
void set_model_flags(u16, s32, s32);
|
||||
void init_enter_world_shared(void);
|
||||
s16 update_enter_map_screen_overlay(s16* progress);
|
||||
@ -549,7 +549,7 @@ void player_create_target_list(Actor* actor);
|
||||
void enemy_create_target_list(Actor* actor);
|
||||
|
||||
void set_actor_yaw(s32 actorID, s32 yaw);
|
||||
void set_part_yaw(s32 actorID, s32 partIndex, s32 value);
|
||||
void set_part_yaw(s32 actorID, s32 partID, s32 value);
|
||||
|
||||
void add_part_decoration(ActorPart* part, s32 decorationIndex, s32 decorationType);
|
||||
void add_actor_decoration(Actor* actor, s32 decorationIndex, s32 decorationType);
|
||||
@ -558,8 +558,8 @@ void remove_actor_decoration(Actor* actor, s32 decorationIndex);
|
||||
|
||||
s32 player_team_is_ability_active(Actor* actor, s32 ability);
|
||||
|
||||
void create_part_shadow(s32 actorID, s32 partIndex);
|
||||
void remove_part_shadow(s32 actorID, s32 partIndex);
|
||||
void create_part_shadow(s32 actorID, s32 partID);
|
||||
void remove_part_shadow(s32 actorID, s32 partID);
|
||||
void create_part_shadow_by_ref(s32 arg0, ActorPart* part);
|
||||
|
||||
void spawn_drops(Enemy* enemy);
|
||||
@ -996,7 +996,7 @@ void func_802549C0(void);
|
||||
void func_8023E104(void);
|
||||
void func_8023E11C(void);
|
||||
|
||||
void set_goal_pos_to_part(ActorState* state, s32 actorID, s32 partIndex);
|
||||
void set_goal_pos_to_part(ActorState* state, s32 actorID, s32 partID);
|
||||
|
||||
void init_encounters_ui(void);
|
||||
void initialize_collision(void);
|
||||
|
@ -53,10 +53,6 @@
|
||||
#define MAP_RODATA_PAD(n,name) const s32 N(rodata_pad_##name)[n] = {};
|
||||
#define MAP_STATIC_PAD(n,name) BSS s32 N(static_pad_##name)[n];
|
||||
|
||||
// standardized macro for reseting data section after a INCLUDE_ASM
|
||||
//TODO these should all be removed after map decomp is done
|
||||
#define MAP_DATA_SECTION_START __asm__(".section .data\n");
|
||||
|
||||
#define PHYSICAL_TO_VIRTUAL(addr) (void*)((u32)(addr) + 0x80000000)
|
||||
#define VIRTUAL_TO_PHYSICAL(addr) (u32)((u8*)(addr) - 0x80000000)
|
||||
|
||||
|
@ -243,7 +243,7 @@ ApiStatus DispatchDamageEvent(Evt* script, s32 isInitialCall);
|
||||
ApiStatus DispatchEvent(Evt* script, s32 isInitialCall);
|
||||
ApiStatus func_8027D2D8(Evt* script, s32 isInitialCall);
|
||||
ApiStatus SetTargetOffset(Evt* script, s32 isInitialCall);
|
||||
ApiStatus func_8027D4C8(Evt* script, s32 isInitialCall);
|
||||
ApiStatus SetProjectileTargetOffset(Evt* script, s32 isInitialCall);
|
||||
ApiStatus EnableActorBlur(Evt* script, s32 isInitialCall);
|
||||
ApiStatus AfflictActor(Evt* script, s32 isInitialCall);
|
||||
ApiStatus GetInstigatorValue(Evt* script, s32 isInitialCall);
|
||||
|
@ -307,6 +307,7 @@ ApiStatus SetVirtualEntityJumpGravity(Evt* script, s32 isInitialCall);
|
||||
ApiStatus SetVirtualEntityFlags(Evt* script, s32 isInitialCall);
|
||||
ApiStatus GetVirtualEntityPosition(Evt* script, s32 isInitialCall);
|
||||
ApiStatus VirtualEntityJumpTo(Evt* script, s32 isInitialCall);
|
||||
ApiStatus VirtualEntityLandJump(Evt* script, s32 isInitialCall);
|
||||
ApiStatus FacePlayerTowardPoint(Evt* script, s32 isInitialCall);
|
||||
ApiStatus func_802D2C14(Evt* script, s32 isInitialCall);
|
||||
ApiStatus ShowConsumableChoicePopup(Evt* script, s32 isInitialCall);
|
||||
|
73
src/16F740.c
73
src/16F740.c
@ -37,11 +37,11 @@ void btl_merlee_on_start_turn(void) {
|
||||
PlayerData* playerData = &gPlayerData;
|
||||
|
||||
do {
|
||||
if (!(gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE) &&
|
||||
battleStatus->nextMerleeSpellType != MERLEE_SPELL_EXP_BOOST &&
|
||||
battleStatus->nextMerleeSpellType != MERLEE_SPELL_COIN_BOOST &&
|
||||
playerData->merleeCastsLeft > 0)
|
||||
{
|
||||
if (!(gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE)
|
||||
&& battleStatus->nextMerleeSpellType != MERLEE_SPELL_EXP_BOOST
|
||||
&& battleStatus->nextMerleeSpellType != MERLEE_SPELL_COIN_BOOST
|
||||
&& playerData->merleeCastsLeft > 0
|
||||
) {
|
||||
if (playerData->merleeTurnCount <= 0) {
|
||||
s32 temp = rand_int(100);
|
||||
|
||||
@ -94,10 +94,10 @@ void btl_merlee_on_first_strike(void) {
|
||||
PlayerData* playerData = &gPlayerData;
|
||||
|
||||
do {
|
||||
if (!(gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE) &&
|
||||
battleStatus->nextMerleeSpellType != MERLEE_SPELL_EXP_BOOST &&
|
||||
battleStatus->nextMerleeSpellType != MERLEE_SPELL_COIN_BOOST &&
|
||||
playerData->merleeCastsLeft > 0)
|
||||
if (!(gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE)
|
||||
&& battleStatus->nextMerleeSpellType != MERLEE_SPELL_EXP_BOOST
|
||||
&& battleStatus->nextMerleeSpellType != MERLEE_SPELL_COIN_BOOST
|
||||
&& playerData->merleeCastsLeft > 0)
|
||||
{
|
||||
if (playerData->merleeTurnCount <= 0) {
|
||||
s32 temp = rand_int(100);
|
||||
@ -456,10 +456,10 @@ void btl_state_update_normal_start(void) {
|
||||
script->owner1.actorID = ACTOR_PLAYER;
|
||||
}
|
||||
|
||||
if (currentEncounter->currentEnemy != NULL &&
|
||||
currentEncounter->currentEnemy->encountered == ENCOUNTER_TRIGGER_SPIN &&
|
||||
is_ability_active(ABILITY_DIZZY_ATTACK))
|
||||
{
|
||||
if (currentEncounter->currentEnemy != NULL
|
||||
&& currentEncounter->currentEnemy->encountered == ENCOUNTER_TRIGGER_SPIN
|
||||
&& is_ability_active(ABILITY_DIZZY_ATTACK)
|
||||
) {
|
||||
actor = battleStatus->enemyActors[0];
|
||||
script = start_script(&DoDizzyAttack, EVT_PRIORITY_A, 0);
|
||||
actor->takeTurnScript = script;
|
||||
@ -2333,10 +2333,10 @@ void btl_state_update_run_away(void) {
|
||||
D_8029F248--;
|
||||
return;
|
||||
}
|
||||
if (!does_script_exist(player->takeTurnScriptID) &&
|
||||
(partner == NULL || !does_script_exist(partner->takeTurnScriptID)) &&
|
||||
battleStatus->unk_8C == 0)
|
||||
{
|
||||
if (!does_script_exist(player->takeTurnScriptID)
|
||||
&& (partner == NULL || !does_script_exist(partner->takeTurnScriptID))
|
||||
&& battleStatus->unk_8C == 0
|
||||
) {
|
||||
btl_set_state(BATTLE_STATE_9);
|
||||
}
|
||||
break;
|
||||
@ -2363,7 +2363,7 @@ void btl_state_update_defeat(void) {
|
||||
battleStatus->unk_8C = 0;
|
||||
|
||||
if (player->debuff != 0) {
|
||||
if (player->debuff == 7) {
|
||||
if (player->debuff == STATUS_FROZEN) {
|
||||
sfx_play_sound(SOUND_FROZEN_SHATTER);
|
||||
player->icePillarEffect->flags |= EFFECT_INSTANCE_FLAG_10;
|
||||
player->icePillarEffect = NULL;
|
||||
@ -2764,21 +2764,20 @@ void btl_state_update_player_move(void) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (battleStatus->moveCategory == BTL_MENU_TYPE_SMASH) {
|
||||
if ((battleStatus->selectedMoveID != MOVE_SMASH_CHARGE0) &&
|
||||
(battleStatus->selectedMoveID != MOVE_SMASH_CHARGE) &&
|
||||
(battleStatus->selectedMoveID != MOVE_SUPER_SMASH_CHARGE))
|
||||
{
|
||||
gBattleStatus.flags1 &= ~BS_FLAGS1_HAMMER_CHARGED;
|
||||
}
|
||||
if ((battleStatus->moveCategory == BTL_MENU_TYPE_SMASH)
|
||||
&& (battleStatus->selectedMoveID != MOVE_SMASH_CHARGE0)
|
||||
&& (battleStatus->selectedMoveID != MOVE_SMASH_CHARGE)
|
||||
&& (battleStatus->selectedMoveID != MOVE_SUPER_SMASH_CHARGE)
|
||||
) {
|
||||
gBattleStatus.flags1 &= ~BS_FLAGS1_HAMMER_CHARGED;
|
||||
}
|
||||
if (battleStatus->moveCategory == BTL_MENU_TYPE_JUMP) {
|
||||
if ((battleStatus->selectedMoveID != MOVE_JUMP_CHARGE0) &&
|
||||
(battleStatus->selectedMoveID != MOVE_JUMP_CHARGE) &&
|
||||
(battleStatus->selectedMoveID != MOVE_SUPER_JUMP_CHARGE))
|
||||
{
|
||||
gBattleStatus.flags1 &= ~BS_FLAGS1_JUMP_CHARGED;
|
||||
}
|
||||
|
||||
if ((battleStatus->moveCategory == BTL_MENU_TYPE_JUMP)
|
||||
&& (battleStatus->selectedMoveID != MOVE_JUMP_CHARGE0)
|
||||
&& (battleStatus->selectedMoveID != MOVE_JUMP_CHARGE)
|
||||
&& (battleStatus->selectedMoveID != MOVE_SUPER_JUMP_CHARGE)
|
||||
) {
|
||||
gBattleStatus.flags1 &= ~BS_FLAGS1_JUMP_CHARGED;
|
||||
}
|
||||
|
||||
if (!(gBattleStatus.flags1 & BS_FLAGS1_JUMP_CHARGED)) {
|
||||
@ -2949,11 +2948,11 @@ void btl_state_update_end_player_turn(void) {
|
||||
if (battleStatus->moveCategory == BTL_MENU_TYPE_ITEMS && battleStatus->itemUsesLeft >= 2) {
|
||||
gBattleSubState = BTL_SUBSTATE_END_PLAYER_TURN_AWAIT_HAPPY;
|
||||
} else if (
|
||||
!(gBattleStatus.flags2 & BS_FLAGS2_HAS_DRAINED_HP) &&
|
||||
!is_ability_active(ABILITY_HAPPY_HEART) &&
|
||||
!is_ability_active(ABILITY_CRAZY_HEART) &&
|
||||
!is_ability_active(ABILITY_HAPPY_FLOWER))
|
||||
{
|
||||
!(gBattleStatus.flags2 & BS_FLAGS2_HAS_DRAINED_HP)
|
||||
&& !is_ability_active(ABILITY_HAPPY_HEART)
|
||||
&& !is_ability_active(ABILITY_CRAZY_HEART)
|
||||
&& !is_ability_active(ABILITY_HAPPY_FLOWER)
|
||||
) {
|
||||
gBattleSubState = BTL_SUBSTATE_END_PLAYER_TURN_AWAIT_HAPPY;
|
||||
} else if (player->stoneStatus == STATUS_STONE || battleStatus->outtaSightActive) {
|
||||
gBattleSubState = BTL_SUBSTATE_END_PLAYER_TURN_AWAIT_HAPPY;
|
||||
|
38
src/16c8e0.c
38
src/16c8e0.c
@ -885,10 +885,10 @@ void btl_draw_enemy_health_bars(void) {
|
||||
}
|
||||
}
|
||||
|
||||
if (!(enemy->flags & (ACTOR_FLAG_40000 | ACTOR_FLAG_TARGET_ONLY)) &&
|
||||
((gBattleStatus.flags1 & BS_FLAGS1_MENU_OPEN) || (enemy->flags & ACTOR_FLAG_80000)) &&
|
||||
is_actor_hp_bar_visible(enemy))
|
||||
{
|
||||
if (!(enemy->flags & (ACTOR_FLAG_40000 | ACTOR_FLAG_TARGET_ONLY))
|
||||
&& ((gBattleStatus.flags1 & BS_FLAGS1_MENU_OPEN) || (enemy->flags & ACTOR_FLAG_80000))
|
||||
&& is_actor_hp_bar_visible(enemy)
|
||||
) {
|
||||
f32 x = enemy->healthBarPosition.x;
|
||||
f32 y = enemy->healthBarPosition.y;
|
||||
f32 z = enemy->healthBarPosition.z;
|
||||
@ -1104,7 +1104,7 @@ void btl_restore_world_cameras(void) {
|
||||
}
|
||||
|
||||
void btl_delete_actor(Actor* actor) {
|
||||
ActorPart* partsTable;
|
||||
ActorPart* part;
|
||||
ActorPart* actorPartTemp;
|
||||
BattleStatus* battleStatus;
|
||||
s32 i;
|
||||
@ -1124,29 +1124,29 @@ void btl_delete_actor(Actor* actor) {
|
||||
}
|
||||
func_80266EE8(actor, 0);
|
||||
|
||||
partsTable = actor->partsTable;
|
||||
part = actor->partsTable;
|
||||
|
||||
while (partsTable != NULL) {
|
||||
if (!(partsTable->flags & 0x4)) {
|
||||
delete_shadow(partsTable->shadowIndex);
|
||||
while (part != NULL) {
|
||||
if (!(part->flags & ACTOR_PART_FLAG_4)) {
|
||||
delete_shadow(part->shadowIndex);
|
||||
}
|
||||
|
||||
if (partsTable->idleAnimations != NULL) {
|
||||
func_802DE894(partsTable->spriteInstanceID, 0, 0, 0, 0, 0, 0);
|
||||
if (part->idleAnimations != NULL) {
|
||||
func_802DE894(part->spriteInstanceID, FOLD_TYPE_NONE, 0, 0, 0, 0, 0);
|
||||
|
||||
ASSERT(spr_free_sprite(partsTable->spriteInstanceID) == 0);
|
||||
ASSERT(spr_free_sprite(part->spriteInstanceID) == 0);
|
||||
|
||||
if (!(partsTable->flags & 0x80000000)) {
|
||||
heap_free(partsTable->movement);
|
||||
if (!(part->flags & ACTOR_PART_FLAG_80000000)) {
|
||||
heap_free(part->movement);
|
||||
}
|
||||
|
||||
if (!(partsTable->flags & 0x2)) {
|
||||
heap_free(partsTable->decorationTable);
|
||||
if (!(part->flags & 0x2)) {
|
||||
heap_free(part->decorationTable);
|
||||
}
|
||||
}
|
||||
actorPartTemp = partsTable->nextPart;
|
||||
heap_free(partsTable);
|
||||
partsTable = actorPartTemp;
|
||||
actorPartTemp = part->nextPart;
|
||||
heap_free(part);
|
||||
part = actorPartTemp;
|
||||
}
|
||||
|
||||
delete_shadow(actor->shadow.id);
|
||||
|
91
src/17FEB0.c
91
src/17FEB0.c
@ -287,42 +287,39 @@ HitResult calc_item_damage_enemy(void) {
|
||||
}
|
||||
}
|
||||
|
||||
if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) {
|
||||
if ((battleStatus->currentAttackElement & (DAMAGE_TYPE_JUMP | DAMAGE_TYPE_POW)) &&
|
||||
(targetPart->eventFlags & ACTOR_EVENT_FLAG_GROUNDABLE))
|
||||
{
|
||||
if (dispatchEvent == EVENT_HIT) {
|
||||
dispatchEvent = EVENT_FALL_TRIGGER;
|
||||
}
|
||||
if (dispatchEvent == EVENT_IMMUNE) {
|
||||
dispatchEvent = EVENT_FALL_TRIGGER;
|
||||
}
|
||||
if ((gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE)
|
||||
&& (battleStatus->currentAttackElement & (DAMAGE_TYPE_JUMP | DAMAGE_TYPE_POW))
|
||||
&& (targetPart->eventFlags & ACTOR_EVENT_FLAG_GROUNDABLE)
|
||||
) {
|
||||
if (dispatchEvent == EVENT_HIT) {
|
||||
dispatchEvent = EVENT_FALL_TRIGGER;
|
||||
}
|
||||
if (dispatchEvent == EVENT_IMMUNE) {
|
||||
dispatchEvent = EVENT_FALL_TRIGGER;
|
||||
}
|
||||
}
|
||||
|
||||
if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) {
|
||||
if ((battleStatus->currentAttackElement & DAMAGE_TYPE_POW) &&
|
||||
(targetPart->eventFlags & ACTOR_EVENT_FLAG_800000))
|
||||
{
|
||||
if (dispatchEvent == EVENT_HIT) {
|
||||
dispatchEvent = EVENT_FALL_TRIGGER;
|
||||
}
|
||||
if (dispatchEvent == EVENT_IMMUNE) {
|
||||
dispatchEvent = EVENT_FALL_TRIGGER;
|
||||
}
|
||||
if ((gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE)
|
||||
&& (battleStatus->currentAttackElement & DAMAGE_TYPE_POW)
|
||||
&& (targetPart->eventFlags & ACTOR_EVENT_FLAG_800000)
|
||||
) {
|
||||
if (dispatchEvent == EVENT_HIT) {
|
||||
dispatchEvent = EVENT_FALL_TRIGGER;
|
||||
}
|
||||
if (dispatchEvent == EVENT_IMMUNE) {
|
||||
dispatchEvent = EVENT_FALL_TRIGGER;
|
||||
}
|
||||
}
|
||||
|
||||
if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) {
|
||||
if ((battleStatus->currentAttackElement & (DAMAGE_TYPE_JUMP | DAMAGE_TYPE_POW | DAMAGE_TYPE_QUAKE)) &&
|
||||
(targetPart->eventFlags & ACTOR_EVENT_FLAG_FLIPABLE))
|
||||
{
|
||||
if (dispatchEvent == EVENT_HIT) {
|
||||
dispatchEvent = EVENT_FLIP_TRIGGER;
|
||||
}
|
||||
if (dispatchEvent == EVENT_IMMUNE) {
|
||||
dispatchEvent = EVENT_FLIP_TRIGGER;
|
||||
}
|
||||
if ((gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE)
|
||||
&& (battleStatus->currentAttackElement & (DAMAGE_TYPE_JUMP | DAMAGE_TYPE_POW | DAMAGE_TYPE_QUAKE))
|
||||
&& (targetPart->eventFlags & ACTOR_EVENT_FLAG_FLIPABLE)
|
||||
) {
|
||||
if (dispatchEvent == EVENT_HIT) {
|
||||
dispatchEvent = EVENT_FLIP_TRIGGER;
|
||||
}
|
||||
if (dispatchEvent == EVENT_IMMUNE) {
|
||||
dispatchEvent = EVENT_FLIP_TRIGGER;
|
||||
}
|
||||
}
|
||||
|
||||
@ -338,12 +335,12 @@ HitResult calc_item_damage_enemy(void) {
|
||||
}
|
||||
}
|
||||
|
||||
if ((gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) &&
|
||||
battleStatus->lastAttackDamage >= 0 &&
|
||||
dispatchEvent != EVENT_DEATH &&
|
||||
dispatchEvent != EVENT_SPIN_SMASH_DEATH &&
|
||||
dispatchEvent != EVENT_EXPLODE_TRIGGER)
|
||||
{
|
||||
if ((gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE)
|
||||
&& battleStatus->lastAttackDamage >= 0
|
||||
&& dispatchEvent != EVENT_DEATH
|
||||
&& dispatchEvent != EVENT_SPIN_SMASH_DEATH
|
||||
&& dispatchEvent != EVENT_EXPLODE_TRIGGER
|
||||
) {
|
||||
// Using this macro because it's nicer to look at, and it also is necessary to wrap the first 5 of these in a
|
||||
// do-while-0 OR to wrap each one individually. It's more likely that it's a macro instead, and much cleaner
|
||||
#define INFLICT_STATUS(STATUS_TYPE) \
|
||||
@ -381,14 +378,14 @@ HitResult calc_item_damage_enemy(void) {
|
||||
temp = (battleStatus->statusChance * temp) / 100;
|
||||
|
||||
if ((gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) && (battleStatus->currentAttackElement & DAMAGE_TYPE_FEAR)) {
|
||||
if (rand_int(99) < temp &&
|
||||
!(target->debuff == STATUS_FEAR ||
|
||||
target->debuff == STATUS_DIZZY ||
|
||||
target->debuff == STATUS_PARALYZE ||
|
||||
target->debuff == STATUS_SLEEP ||
|
||||
target->debuff == STATUS_FROZEN ||
|
||||
target->debuff == STATUS_STOP) &&
|
||||
!(target->flags & ACTOR_FLAG_400))
|
||||
if (rand_int(99) < temp
|
||||
&& (target->debuff != STATUS_FEAR
|
||||
&& target->debuff != STATUS_DIZZY
|
||||
&& target->debuff != STATUS_PARALYZE
|
||||
&& target->debuff != STATUS_SLEEP
|
||||
&& target->debuff != STATUS_FROZEN
|
||||
&& target->debuff != STATUS_STOP)
|
||||
&& !(target->flags & ACTOR_FLAG_400))
|
||||
{
|
||||
dispatchEvent = EVENT_SCARE_AWAY;
|
||||
hitResult = HIT_RESULT_HIT;
|
||||
@ -405,9 +402,9 @@ HitResult calc_item_damage_enemy(void) {
|
||||
|
||||
battleStatus->wasStatusInflicted = wasStatusInflicted;
|
||||
|
||||
if (
|
||||
(sp1C && (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200))) ||
|
||||
((gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) && !(gBattleStatus.flags1 & BS_FLAGS1_80))
|
||||
if ((sp1C
|
||||
&& (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)))
|
||||
|| ((gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) && !(gBattleStatus.flags1 & BS_FLAGS1_80))
|
||||
) {
|
||||
if (battleStatus->lastAttackDamage > 0) {
|
||||
sfx_play_sound_at_position(SOUND_231, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z);
|
||||
|
14
src/181810.c
14
src/181810.c
@ -116,7 +116,7 @@ ApiStatus ActorSpeak(Evt* script, s32 isInitialCall) {
|
||||
ActorPart* part;
|
||||
s32 msgID;
|
||||
s32 actorID;
|
||||
s32 partIndex;
|
||||
s32 partID;
|
||||
s32 anim;
|
||||
|
||||
f32 headX, headY, headZ;
|
||||
@ -126,7 +126,7 @@ ApiStatus ActorSpeak(Evt* script, s32 isInitialCall) {
|
||||
if (isInitialCall) {
|
||||
msgID = evt_get_variable(script, *args++);
|
||||
actorID = evt_get_variable(script, *args++);
|
||||
partIndex = evt_get_variable(script, *args++);
|
||||
partID = evt_get_variable(script, *args++);
|
||||
gSpeakingActorTalkAnim = evt_get_variable(script, *args++);
|
||||
gSpeakingActorIdleAnim = evt_get_variable(script, *args++);
|
||||
msgID2 = msgID;
|
||||
@ -136,7 +136,7 @@ ApiStatus ActorSpeak(Evt* script, s32 isInitialCall) {
|
||||
}
|
||||
|
||||
actor = get_actor(actorID);
|
||||
part = get_actor_part(actor, partIndex);
|
||||
part = get_actor_part(actor, partID);
|
||||
gSpeakingActor = actor;
|
||||
gSpeakingActorPart = part;
|
||||
|
||||
@ -212,7 +212,7 @@ ApiStatus EndActorSpeech(Evt* script, s32 isInitialCall) {
|
||||
|
||||
if (isInitialCall) {
|
||||
s32 actor = evt_get_variable(script, *args++);
|
||||
s32 partIndex = evt_get_variable(script, *args++);
|
||||
s32 partID = evt_get_variable(script, *args++);
|
||||
ActorPart* actorPart;
|
||||
|
||||
gSpeakingActorTalkAnim = evt_get_variable(script, *args++);
|
||||
@ -222,7 +222,7 @@ ApiStatus EndActorSpeech(Evt* script, s32 isInitialCall) {
|
||||
actor = script->owner1.actorID;
|
||||
}
|
||||
actor = (s32) get_actor(actor);
|
||||
actorPart = get_actor_part((Actor*)actor, partIndex);
|
||||
actorPart = get_actor_part((Actor*)actor, partID);
|
||||
gSpeakingActor = (Actor*) actor;
|
||||
gSpeakingActorPart = actorPart;
|
||||
close_message(gSpeakingActorPrintCtx);
|
||||
@ -405,7 +405,7 @@ ApiStatus PlaySoundAtActor(Evt* script, s32 isInitialCall) {
|
||||
ApiStatus PlaySoundAtPart(Evt* script, s32 isInitialCall) {
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
s32 actorID = evt_get_variable(script, *args++);
|
||||
s32 partIndex = evt_get_variable(script, *args++);
|
||||
s32 partID = evt_get_variable(script, *args++);
|
||||
Bytecode soundID = *args++;
|
||||
ActorPart* part;
|
||||
|
||||
@ -413,7 +413,7 @@ ApiStatus PlaySoundAtPart(Evt* script, s32 isInitialCall) {
|
||||
actorID = script->owner1.actorID;
|
||||
}
|
||||
|
||||
part = get_actor_part(get_actor(actorID), partIndex);
|
||||
part = get_actor_part(get_actor(actorID), partID);
|
||||
sfx_play_sound_at_position(soundID, SOUND_SPACE_MODE_0, part->currentPos.x, part->currentPos.y, part->currentPos.z);
|
||||
|
||||
return ApiStatus_DONE2;
|
||||
|
32
src/182B30.c
32
src/182B30.c
@ -1515,25 +1515,25 @@ void appendGfx_player_actor(void* arg0) {
|
||||
lastAnim = playerParts->currentAnimation;
|
||||
} while (0); // required to match
|
||||
|
||||
if (((((gBattleStatus.flags2 & (BS_FLAGS2_8 | BS_FLAGS2_2)) == BS_FLAGS2_2) && (partner != NULL)) || (battleStatus->outtaSightActive > 0)) &&
|
||||
!(player->flags & ACTOR_FLAG_20000000) &&
|
||||
((partner == NULL) || !(partner->flags & ACTOR_FLAG_NO_ATTACK)))
|
||||
if (((((gBattleStatus.flags2 & (BS_FLAGS2_8 | BS_FLAGS2_2)) == BS_FLAGS2_2) && (partner != NULL)) || (battleStatus->outtaSightActive > 0))
|
||||
&& !(player->flags & ACTOR_FLAG_20000000)
|
||||
&& ((partner == NULL) || !(partner->flags & ACTOR_FLAG_NO_ATTACK)))
|
||||
{
|
||||
if (!(gBattleStatus.flags2 & BS_FLAGS2_100000)) {
|
||||
if ((player->debuff != STATUS_FEAR) &&
|
||||
(player->debuff != STATUS_PARALYZE) &&
|
||||
(player->debuff != STATUS_FROZEN) &&
|
||||
(player->debuff != STATUS_STOP))
|
||||
{
|
||||
if ((player->debuff != STATUS_FEAR)
|
||||
&& (player->debuff != STATUS_PARALYZE)
|
||||
&& (player->debuff != STATUS_FROZEN)
|
||||
&& (player->debuff != STATUS_STOP)
|
||||
) {
|
||||
if ((player->transparentStatus != STATUS_TRANSPARENT) &&
|
||||
(player->stoneStatus != STATUS_STONE) &&
|
||||
((battleStatus->outtaSightActive > 0) || (gBattleStatus.flags2 & BS_FLAGS2_2)))
|
||||
{
|
||||
if (is_ability_active(ABILITY_BERSERKER)) {
|
||||
playerParts->currentAnimation = func_80265D44(0x13);
|
||||
} else if (player->debuff == 6) {
|
||||
} else if (player->debuff == STATUS_SLEEP) {
|
||||
playerParts->currentAnimation = func_80265D44(0x15);
|
||||
} else if (player->debuff == 4) {
|
||||
} else if (player->debuff == STATUS_DIZZY) {
|
||||
playerParts->currentAnimation = func_80265D44(0x18);
|
||||
} else {
|
||||
playerParts->currentAnimation = func_80265D44(0x12);
|
||||
@ -3223,9 +3223,9 @@ void func_8025C8A0(s32 isNpcSprite, ActorPart* part, s32 yaw, s32 arg3) {
|
||||
if (part->decorationTable->unk_751 != 0) {
|
||||
part->decorationTable->unk_751 = 0;
|
||||
if (isNpcSprite == SPRITE_MODE_PLAYER) {
|
||||
func_802DDFF8(PLAYER_SPRITE_MAIN, 0, 0, 0, 0, 0, 0);
|
||||
func_802DDFF8(PLAYER_SPRITE_MAIN, FOLD_TYPE_NONE, 0, 0, 0, 0, 0);
|
||||
} else {
|
||||
func_802DE894(part->spriteInstanceID, 0, 0, 0, 0, 0, 0);
|
||||
func_802DE894(part->spriteInstanceID, FOLD_TYPE_NONE, 0, 0, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3246,9 +3246,9 @@ void func_8025C918(s32 isNpcSprite, ActorPart* part, s32 yaw, s32 arg3) {
|
||||
decor->unk_751 = 0;
|
||||
decor->unk758 = 0;
|
||||
if (isNpcSprite == SPRITE_MODE_PLAYER) {
|
||||
func_802DDFF8(0, FOLD_TYPE_11, 0x14, 0, 0, 0xFF, 0);
|
||||
func_802DDFF8(0, FOLD_TYPE_11, 20, 0, 0, 255, 0);
|
||||
} else {
|
||||
func_802DE894(part->spriteInstanceID, FOLD_TYPE_11, 0x14, 0, 0, 0xFF, 0);
|
||||
func_802DE894(part->spriteInstanceID, FOLD_TYPE_11, 20, 0, 0, 255, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@ -3276,9 +3276,9 @@ void func_8025C918(s32 isNpcSprite, ActorPart* part, s32 yaw, s32 arg3) {
|
||||
for (i = 0; i < ARRAY_COUNT(rbuf); i++) {
|
||||
color = (rbuf[i] << 0x18) | (gbuf[i] << 0x10) | (bbuf[i] << 8) | alpha;
|
||||
if (isNpcSprite == SPRITE_MODE_PLAYER) {
|
||||
func_802DDFF8(PLAYER_SPRITE_MAIN, 0xC, i, color, 0, 0xFF, 0);
|
||||
func_802DDFF8(PLAYER_SPRITE_MAIN, FOLD_TYPE_C, i, color, 0, 0xFF, 0);
|
||||
} else {
|
||||
func_802DE894(part->spriteInstanceID, 0xC, i, color, 0, 0xFF, 0);
|
||||
func_802DE894(part->spriteInstanceID, FOLD_TYPE_C, i, color, 0, 0xFF, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
70
src/190B20.c
70
src/190B20.c
@ -135,7 +135,7 @@ void create_target_list(Actor* actor, s32 arg1) {
|
||||
for (j = 0; j < numParts; targetPart = targetPart->nextPart, j++) {
|
||||
if (!(targetPart->flags & 0x20000)) {
|
||||
ActorPartBlueprint* partBlueprint = targetPart->staticData;
|
||||
s8 partIndex;
|
||||
s8 partID;
|
||||
if (!(targetPart->flags & 0x100000)) {
|
||||
fp = !arg1; // TODO ??????
|
||||
if (fp) {
|
||||
@ -173,12 +173,12 @@ void create_target_list(Actor* actor, s32 arg1) {
|
||||
}
|
||||
|
||||
targetData->actorID = ACTOR_CLASS_ENEMY | i;
|
||||
partIndex = partBlueprint->index;
|
||||
partID = partBlueprint->index;
|
||||
targetData->pos.x = f6;
|
||||
targetData->pos.y = f8;
|
||||
targetData->pos.z = f10;
|
||||
targetData->unk_10 = 0;
|
||||
targetData->partID = partIndex;
|
||||
targetData->partID = partID;
|
||||
|
||||
if ((targetActor->flags & 0x4000) && !(targetActor->flags & 0x10)) {
|
||||
targetData->unk_10 = 100;
|
||||
@ -967,7 +967,7 @@ void func_80263CC4(s32 arg0) {
|
||||
start_script(&D_80293820, 10, 0)->varTable[0] = arg0;
|
||||
}
|
||||
|
||||
void set_animation(s32 actorID, s32 partIdx, s32 animationIndex) {
|
||||
void set_animation(s32 actorID, s32 partID, s32 animationIndex) {
|
||||
if (animationIndex >= 0) {
|
||||
Actor* actor = get_actor(actorID);
|
||||
ActorPart* part;
|
||||
@ -981,8 +981,8 @@ void set_animation(s32 actorID, s32 partIdx, s32 animationIndex) {
|
||||
}
|
||||
break;
|
||||
case ACTOR_CLASS_PARTNER:
|
||||
if (partIdx != 0) {
|
||||
part = get_actor_part(actor, partIdx);
|
||||
if (partID != 0) {
|
||||
part = get_actor_part(actor, partID);
|
||||
|
||||
if (part == NULL) {
|
||||
part = &actor->partsTable[0];
|
||||
@ -998,7 +998,7 @@ void set_animation(s32 actorID, s32 partIdx, s32 animationIndex) {
|
||||
}
|
||||
break;
|
||||
case ACTOR_CLASS_ENEMY:
|
||||
part = get_actor_part(actor, partIdx);
|
||||
part = get_actor_part(actor, partID);
|
||||
if (part->currentAnimation != animationIndex) {
|
||||
part->currentAnimation = animationIndex;
|
||||
spr_update_sprite(part->spriteInstanceID, animationIndex, part->animationRate);
|
||||
@ -1030,14 +1030,14 @@ void func_80263E08(Actor* actor, ActorPart* part, s32 anim) {
|
||||
}
|
||||
}
|
||||
|
||||
void set_animation_rate(s32 actorID, s32 partIndex, f32 rate) {
|
||||
void set_animation_rate(s32 actorID, s32 partID, f32 rate) {
|
||||
Actor* actor = get_actor(actorID);
|
||||
ActorPart* part;
|
||||
|
||||
switch (actorID & ACTOR_CLASS_MASK) {
|
||||
case ACTOR_CLASS_PARTNER:
|
||||
if (partIndex != 0) {
|
||||
part = get_actor_part(actor, partIndex);
|
||||
if (partID != 0) {
|
||||
part = get_actor_part(actor, partID);
|
||||
if (part != NULL) {
|
||||
part->animationRate = rate;
|
||||
return;
|
||||
@ -1047,7 +1047,7 @@ void set_animation_rate(s32 actorID, s32 partIndex, f32 rate) {
|
||||
break;
|
||||
case ACTOR_CLASS_PLAYER:
|
||||
case ACTOR_CLASS_ENEMY:
|
||||
part = get_actor_part(actor, partIndex);
|
||||
part = get_actor_part(actor, partID);
|
||||
part->animationRate = rate;
|
||||
break;
|
||||
}
|
||||
@ -1057,11 +1057,11 @@ void set_actor_yaw(s32 actorID, s32 yaw) {
|
||||
get_actor(actorID)->yaw = yaw;
|
||||
}
|
||||
|
||||
void set_part_yaw(s32 actorID, s32 partIndex, s32 value) {
|
||||
get_actor_part(get_actor(actorID), partIndex)->yaw = value;
|
||||
void set_part_yaw(s32 actorID, s32 partID, s32 value) {
|
||||
get_actor_part(get_actor(actorID), partID)->yaw = value;
|
||||
}
|
||||
|
||||
void set_part_flag_bits(s32 actorID, s32 partIndex, s32 flags) {
|
||||
void set_part_flag_bits(s32 actorID, s32 partID, s32 flags) {
|
||||
Actor* actor = get_actor(actorID);
|
||||
ActorPart* part;
|
||||
|
||||
@ -1071,17 +1071,17 @@ void set_part_flag_bits(s32 actorID, s32 partIndex, s32 flags) {
|
||||
break;
|
||||
case ACTOR_CLASS_PARTNER:
|
||||
case ACTOR_CLASS_ENEMY:
|
||||
if (partIndex == 0) {
|
||||
if (partID == 0) {
|
||||
actor->flags |= flags;
|
||||
} else {
|
||||
part = get_actor_part(actor, partIndex);
|
||||
part = get_actor_part(actor, partID);
|
||||
part->flags |= flags;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void clear_part_flag_bits(s32 actorID, s32 partIndex, s32 flags) {
|
||||
void clear_part_flag_bits(s32 actorID, s32 partID, s32 flags) {
|
||||
Actor* actor = get_actor(actorID);
|
||||
ActorPart* part;
|
||||
|
||||
@ -1091,10 +1091,10 @@ void clear_part_flag_bits(s32 actorID, s32 partIndex, s32 flags) {
|
||||
break;
|
||||
case ACTOR_CLASS_PARTNER:
|
||||
case ACTOR_CLASS_ENEMY:
|
||||
if (partIndex == 0) {
|
||||
if (partID == 0) {
|
||||
actor->flags &= ~flags;
|
||||
} else {
|
||||
part = get_actor_part(actor, partIndex);
|
||||
part = get_actor_part(actor, partID);
|
||||
part->flags &= ~flags;
|
||||
}
|
||||
break;
|
||||
@ -1153,15 +1153,15 @@ void play_movement_dust_effects(s32 var0, f32 xPos, f32 yPos, f32 zPos, f32 angl
|
||||
}
|
||||
}
|
||||
|
||||
ActorPart* get_actor_part(Actor* actor, s32 partIndex) {
|
||||
ActorPart* get_actor_part(Actor* actor, s32 partID) {
|
||||
ActorPart* part = &actor->partsTable[0];
|
||||
|
||||
if (partIndex < 0 || part->nextPart == NULL) {
|
||||
if (partID < 0 || part->nextPart == NULL) {
|
||||
return part;
|
||||
}
|
||||
|
||||
while (part != NULL) {
|
||||
if (part->staticData->index == partIndex) {
|
||||
if (part->staticData->index == partID) {
|
||||
return part;
|
||||
}
|
||||
part = part->nextPart;
|
||||
@ -1809,8 +1809,8 @@ Actor* create_actor(Formation formation) {
|
||||
part->targetOffset.x = actorPartBP->targetOffset.x;
|
||||
part->targetOffset.y = actorPartBP->targetOffset.y;
|
||||
part->unk_70 = 0;
|
||||
part->unk_75 = actorPartBP->unk_1C;
|
||||
part->unk_76 = actorPartBP->unk_1D;
|
||||
part->projectileTargetOffset.x = actorPartBP->projectileTargetOffset.x;
|
||||
part->projectileTargetOffset.y = actorPartBP->projectileTargetOffset.y;
|
||||
part->rotation.x = 0.0f;
|
||||
part->rotation.y = 0.0f;
|
||||
part->rotation.z = 0.0f;
|
||||
@ -2731,9 +2731,10 @@ void add_part_decoration(ActorPart* part, s32 decorationIndex, s32 decorationTyp
|
||||
void add_actor_decoration(Actor* actor, s32 decorationIndex, s32 decorationType) {
|
||||
ActorPart* part;
|
||||
for (part = actor->partsTable; part != NULL; part = part->nextPart) {
|
||||
if (!(part->flags & (ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)) && part->idleAnimations &&
|
||||
!(part->flags & ACTOR_PART_FLAG_2))
|
||||
{
|
||||
if (!(part->flags & (ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION))
|
||||
&& part->idleAnimations
|
||||
&& !(part->flags & ACTOR_PART_FLAG_2)
|
||||
) {
|
||||
add_part_decoration(part, decorationIndex, decorationType);
|
||||
}
|
||||
}
|
||||
@ -2747,9 +2748,10 @@ void remove_actor_decoration(Actor* actor, s32 decorationIndex) {
|
||||
ActorPart* part;
|
||||
|
||||
for (part = actor->partsTable; part != NULL; part = part->nextPart) {
|
||||
if (!(part->flags & (ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)) && part->idleAnimations &&
|
||||
!(part->flags & ACTOR_PART_FLAG_2))
|
||||
{
|
||||
if (!(part->flags & (ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION))
|
||||
&& part->idleAnimations
|
||||
&& !(part->flags & ACTOR_PART_FLAG_2)
|
||||
) {
|
||||
remove_part_decoration(part, decorationIndex);
|
||||
}
|
||||
}
|
||||
@ -2775,16 +2777,16 @@ s32 player_team_is_ability_active(Actor* actor, s32 ability) {
|
||||
return hasAbility;
|
||||
}
|
||||
|
||||
void create_part_shadow(s32 actorID, s32 partIndex) {
|
||||
ActorPart* part = get_actor_part(get_actor(actorID), partIndex);
|
||||
void create_part_shadow(s32 actorID, s32 partID) {
|
||||
ActorPart* part = get_actor_part(get_actor(actorID), partID);
|
||||
|
||||
part->flags &= ~ACTOR_PART_FLAG_4;
|
||||
part->shadowIndex = create_shadow_type(0, part->currentPos.x, part->currentPos.y, part->currentPos.z);
|
||||
part->shadowScale = part->size.x / 24.0;
|
||||
}
|
||||
|
||||
void remove_part_shadow(s32 actorID, s32 partIndex) {
|
||||
ActorPart* part = get_actor_part(get_actor(actorID), partIndex);
|
||||
void remove_part_shadow(s32 actorID, s32 partID) {
|
||||
ActorPart* part = get_actor_part(get_actor(actorID), partID);
|
||||
|
||||
part->flags |= ACTOR_PART_FLAG_4;
|
||||
delete_shadow(part->shadowIndex);
|
||||
|
238
src/19FAF0.c
238
src/19FAF0.c
@ -551,8 +551,10 @@ HitResult calc_player_damage_enemy(void) {
|
||||
}
|
||||
}
|
||||
|
||||
if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE && battleStatus->currentAttackElement & DAMAGE_TYPE_BLAST &&
|
||||
targetPart->eventFlags & ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION) {
|
||||
if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE
|
||||
&& battleStatus->currentAttackElement & DAMAGE_TYPE_BLAST
|
||||
&& targetPart->eventFlags & ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION
|
||||
) {
|
||||
targetDefense = 0;
|
||||
currentAttackDamage = target->currentHP;
|
||||
}
|
||||
@ -654,12 +656,12 @@ HitResult calc_player_damage_enemy(void) {
|
||||
if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) {
|
||||
if (battleStatus->currentAttackElement & DAMAGE_TYPE_FEAR
|
||||
&& rand_int(99) < (target->actorBlueprint->escapeChance * battleStatus->statusChance) / 100
|
||||
&& !(target->debuff == STATUS_FEAR
|
||||
|| target->debuff == STATUS_DIZZY
|
||||
|| target->debuff == STATUS_PARALYZE
|
||||
|| target->debuff == STATUS_SLEEP
|
||||
|| target->debuff == STATUS_FROZEN
|
||||
|| target->debuff == STATUS_STOP)
|
||||
&& (target->debuff != STATUS_FEAR
|
||||
&& target->debuff != STATUS_DIZZY
|
||||
&& target->debuff != STATUS_PARALYZE
|
||||
&& target->debuff != STATUS_SLEEP
|
||||
&& target->debuff != STATUS_FROZEN
|
||||
&& target->debuff != STATUS_STOP)
|
||||
&& !(target->flags & ACTOR_FLAG_400)
|
||||
) {
|
||||
dispatch_event_actor(target, EVENT_SCARE_AWAY);
|
||||
@ -721,65 +723,68 @@ HitResult calc_player_damage_enemy(void) {
|
||||
}
|
||||
}
|
||||
|
||||
if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) {
|
||||
if (!(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT) && targetPart->eventFlags & ACTOR_EVENT_FLAG_POWER_BOUNCE) {
|
||||
if (dispatchEvent == EVENT_HIT_COMBO) {
|
||||
dispatchEvent = EVENT_POWER_BOUNCE_HIT;
|
||||
}
|
||||
|
||||
if (dispatchEvent == EVENT_HIT) {
|
||||
dispatchEvent = EVENT_POWER_BOUNCE_HIT;
|
||||
}
|
||||
|
||||
if (dispatchEvent == EVENT_ZERO_DAMAGE) {
|
||||
dispatchEvent = EVENT_POWER_BOUNCE_HIT;
|
||||
}
|
||||
|
||||
if (dispatchEvent == EVENT_IMMUNE) {
|
||||
dispatchEvent = EVENT_POWER_BOUNCE_HIT;
|
||||
}
|
||||
|
||||
if (dispatchEvent == EVENT_DEATH) {
|
||||
dispatchEvent = EVENT_POWER_BOUNCE_DEATH;
|
||||
}
|
||||
if ((gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE)
|
||||
&& !(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT)
|
||||
&& targetPart->eventFlags & ACTOR_EVENT_FLAG_POWER_BOUNCE
|
||||
) {
|
||||
if (dispatchEvent == EVENT_HIT_COMBO) {
|
||||
dispatchEvent = EVENT_POWER_BOUNCE_HIT;
|
||||
}
|
||||
|
||||
if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) {
|
||||
if (battleStatus->currentAttackElement & (DAMAGE_TYPE_POW | DAMAGE_TYPE_JUMP) && targetPart->eventFlags & ACTOR_EVENT_FLAG_GROUNDABLE) {
|
||||
if (dispatchEvent == EVENT_HIT) {
|
||||
dispatchEvent = EVENT_FALL_TRIGGER;
|
||||
}
|
||||
if (dispatchEvent == EVENT_HIT) {
|
||||
dispatchEvent = EVENT_POWER_BOUNCE_HIT;
|
||||
}
|
||||
|
||||
if (dispatchEvent == EVENT_IMMUNE) {
|
||||
dispatchEvent = EVENT_FALL_TRIGGER;
|
||||
}
|
||||
if (dispatchEvent == EVENT_ZERO_DAMAGE) {
|
||||
dispatchEvent = EVENT_POWER_BOUNCE_HIT;
|
||||
}
|
||||
|
||||
tempBinary = TRUE;
|
||||
}
|
||||
if (dispatchEvent == EVENT_IMMUNE) {
|
||||
dispatchEvent = EVENT_POWER_BOUNCE_HIT;
|
||||
}
|
||||
|
||||
if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) {
|
||||
if (battleStatus->currentAttackElement & (DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_POW | DAMAGE_TYPE_JUMP) &&
|
||||
targetPart->eventFlags & ACTOR_EVENT_FLAG_FLIPABLE) {
|
||||
if (dispatchEvent == EVENT_HIT) {
|
||||
dispatchEvent = EVENT_FLIP_TRIGGER;
|
||||
}
|
||||
if (dispatchEvent == EVENT_DEATH) {
|
||||
dispatchEvent = EVENT_POWER_BOUNCE_DEATH;
|
||||
}
|
||||
}
|
||||
|
||||
if (dispatchEvent == EVENT_IMMUNE) {
|
||||
dispatchEvent = EVENT_FLIP_TRIGGER;
|
||||
}
|
||||
if ((gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE)
|
||||
&& (battleStatus->currentAttackElement & (DAMAGE_TYPE_POW | DAMAGE_TYPE_JUMP))
|
||||
&& targetPart->eventFlags & ACTOR_EVENT_FLAG_GROUNDABLE
|
||||
) {
|
||||
if (dispatchEvent == EVENT_HIT) {
|
||||
dispatchEvent = EVENT_FALL_TRIGGER;
|
||||
}
|
||||
|
||||
if (!(target->flags & ACTOR_FLAG_400)) {
|
||||
tempBinary = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (dispatchEvent == EVENT_IMMUNE) {
|
||||
dispatchEvent = EVENT_FALL_TRIGGER;
|
||||
}
|
||||
|
||||
tempBinary = TRUE;
|
||||
}
|
||||
|
||||
if ((gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE)
|
||||
&& (battleStatus->currentAttackElement & (DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_POW | DAMAGE_TYPE_JUMP))
|
||||
&& targetPart->eventFlags & ACTOR_EVENT_FLAG_FLIPABLE
|
||||
) {
|
||||
if (dispatchEvent == EVENT_HIT) {
|
||||
dispatchEvent = EVENT_FLIP_TRIGGER;
|
||||
}
|
||||
|
||||
if (dispatchEvent == EVENT_IMMUNE) {
|
||||
dispatchEvent = EVENT_FLIP_TRIGGER;
|
||||
}
|
||||
|
||||
if (!(target->flags & ACTOR_FLAG_400)) {
|
||||
tempBinary = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!(gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) &&
|
||||
battleStatus->currentAttackElement & (DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_POW | DAMAGE_TYPE_JUMP) &&
|
||||
targetPart->eventFlags & ACTOR_EVENT_FLAG_FLIPABLE) {
|
||||
if (!(gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE)
|
||||
&& battleStatus->currentAttackElement & (DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_POW | DAMAGE_TYPE_JUMP)
|
||||
&& targetPart->eventFlags & ACTOR_EVENT_FLAG_FLIPABLE
|
||||
) {
|
||||
if (dispatchEvent == EVENT_HIT_COMBO) {
|
||||
dispatchEvent = EVENT_FLIP_TRIGGER;
|
||||
}
|
||||
@ -793,70 +798,73 @@ HitResult calc_player_damage_enemy(void) {
|
||||
}
|
||||
}
|
||||
|
||||
if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) {
|
||||
if (battleStatus->currentAttackElement & DAMAGE_TYPE_SHELL_CRACK && targetPart->eventFlags & ACTOR_EVENT_FLAG_FLIPABLE) {
|
||||
if (dispatchEvent == EVENT_HIT) {
|
||||
dispatchEvent = EVENT_SHELL_CRACK_HIT;
|
||||
}
|
||||
|
||||
if (dispatchEvent == EVENT_IMMUNE) {
|
||||
dispatchEvent = EVENT_SHELL_CRACK_HIT;
|
||||
}
|
||||
tempBinary = TRUE;
|
||||
if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE
|
||||
&& battleStatus->currentAttackElement & DAMAGE_TYPE_SHELL_CRACK
|
||||
&& targetPart->eventFlags & ACTOR_EVENT_FLAG_FLIPABLE
|
||||
) {
|
||||
if (dispatchEvent == EVENT_HIT) {
|
||||
dispatchEvent = EVENT_SHELL_CRACK_HIT;
|
||||
}
|
||||
|
||||
if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) {
|
||||
if (battleStatus->currentAttackElement & (DAMAGE_TYPE_BLAST | DAMAGE_TYPE_FIRE)) {
|
||||
if (dispatchEvent == EVENT_HIT) {
|
||||
dispatchEvent = EVENT_BURN_HIT;
|
||||
}
|
||||
|
||||
if (dispatchEvent == EVENT_DEATH) {
|
||||
dispatchEvent = EVENT_BURN_DEATH;
|
||||
}
|
||||
|
||||
isFireDamage = TRUE;
|
||||
}
|
||||
|
||||
do { // TODO remove this do while
|
||||
if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE && battleStatus->lastAttackDamage >= 0 && dispatchEvent != EVENT_DEATH &&
|
||||
dispatchEvent != EVENT_SPIN_SMASH_DEATH && dispatchEvent != EVENT_EXPLODE_TRIGGER) {
|
||||
if (!(targetPart->targetFlags & ACTOR_PART_FLAG_4)) {
|
||||
|
||||
#define INFLICT_STATUS(STATUS_TYPE) \
|
||||
if ((battleStatus->currentAttackStatus & STATUS_FLAG_##STATUS_TYPE) && \
|
||||
try_inflict_status(target, STATUS_##STATUS_TYPE, STATUS_##STATUS_TYPE##_TURN_MOD)) { \
|
||||
tempBinary = TRUE; \
|
||||
wasStatusInflicted = TRUE; \
|
||||
} \
|
||||
|
||||
INFLICT_STATUS(SHRINK);
|
||||
INFLICT_STATUS(POISON);
|
||||
INFLICT_STATUS(STONE);
|
||||
INFLICT_STATUS(SLEEP);
|
||||
INFLICT_STATUS(STOP);
|
||||
INFLICT_STATUS(STATIC);
|
||||
INFLICT_STATUS(FEAR);
|
||||
INFLICT_STATUS(PARALYZE);
|
||||
INFLICT_STATUS(DIZZY);
|
||||
|
||||
#undef INFLICT_STATUS
|
||||
|
||||
if (wasStatusInflicted) {
|
||||
if (dispatchEvent == EVENT_ZERO_DAMAGE) {
|
||||
dispatchEvent = EVENT_HIT_COMBO;
|
||||
}
|
||||
|
||||
if (dispatchEvent == EVENT_IMMUNE) {
|
||||
dispatchEvent = EVENT_HIT;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} while (0);
|
||||
if (dispatchEvent == EVENT_IMMUNE) {
|
||||
dispatchEvent = EVENT_SHELL_CRACK_HIT;
|
||||
}
|
||||
tempBinary = TRUE;
|
||||
}
|
||||
|
||||
if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE
|
||||
&& (battleStatus->currentAttackElement & (DAMAGE_TYPE_BLAST | DAMAGE_TYPE_FIRE))
|
||||
) {
|
||||
if (dispatchEvent == EVENT_HIT) {
|
||||
dispatchEvent = EVENT_BURN_HIT;
|
||||
}
|
||||
|
||||
if (dispatchEvent == EVENT_DEATH) {
|
||||
dispatchEvent = EVENT_BURN_DEATH;
|
||||
}
|
||||
|
||||
isFireDamage = TRUE;
|
||||
}
|
||||
|
||||
do { // TODO remove this do while
|
||||
if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE
|
||||
&& battleStatus->lastAttackDamage >= 0
|
||||
&& dispatchEvent != EVENT_DEATH
|
||||
&& dispatchEvent != EVENT_SPIN_SMASH_DEATH
|
||||
&& dispatchEvent != EVENT_EXPLODE_TRIGGER
|
||||
&& !(targetPart->targetFlags & ACTOR_PART_FLAG_4)
|
||||
) {
|
||||
#define INFLICT_STATUS(STATUS_TYPE) \
|
||||
if ((battleStatus->currentAttackStatus & STATUS_FLAG_##STATUS_TYPE) && \
|
||||
try_inflict_status(target, STATUS_##STATUS_TYPE, STATUS_##STATUS_TYPE##_TURN_MOD)) { \
|
||||
tempBinary = TRUE; \
|
||||
wasStatusInflicted = TRUE; \
|
||||
} \
|
||||
|
||||
INFLICT_STATUS(SHRINK);
|
||||
INFLICT_STATUS(POISON);
|
||||
INFLICT_STATUS(STONE);
|
||||
INFLICT_STATUS(SLEEP);
|
||||
INFLICT_STATUS(STOP);
|
||||
INFLICT_STATUS(STATIC);
|
||||
INFLICT_STATUS(FEAR);
|
||||
INFLICT_STATUS(PARALYZE);
|
||||
INFLICT_STATUS(DIZZY);
|
||||
|
||||
#undef INFLICT_STATUS
|
||||
|
||||
if (wasStatusInflicted) {
|
||||
if (dispatchEvent == EVENT_ZERO_DAMAGE) {
|
||||
dispatchEvent = EVENT_HIT_COMBO;
|
||||
}
|
||||
|
||||
if (dispatchEvent == EVENT_IMMUNE) {
|
||||
dispatchEvent = EVENT_HIT;
|
||||
}
|
||||
}
|
||||
}
|
||||
} while (0);
|
||||
|
||||
battleStatus->wasStatusInflicted = wasStatusInflicted;
|
||||
dispatch_event_actor(target, dispatchEvent);
|
||||
|
||||
|
88
src/1A5830.c
88
src/1A5830.c
@ -1736,7 +1736,7 @@ ApiStatus JumpPartTo(Evt* script, s32 isInitialCall) {
|
||||
Actor* actor;
|
||||
ActorPart* part;
|
||||
ActorPartMovement* movement;
|
||||
s32 actorID, partIndex;
|
||||
s32 actorID, partID;
|
||||
f32 posX, posY, posZ;
|
||||
f32 goalX, goalY, goalZ;
|
||||
f32 deltaDist;
|
||||
@ -1750,10 +1750,10 @@ ApiStatus JumpPartTo(Evt* script, s32 isInitialCall) {
|
||||
if (actorID == ACTOR_SELF) {
|
||||
actorID = script->owner1.actorID;
|
||||
}
|
||||
partIndex = evt_get_variable(script, *args++);
|
||||
partID = evt_get_variable(script, *args++);
|
||||
|
||||
actor = get_actor(actorID);
|
||||
part = get_actor_part(actor, partIndex);
|
||||
part = get_actor_part(actor, partID);
|
||||
script->functionTempPtr[1] = actor;
|
||||
script->functionTempPtr[2] = part;
|
||||
movement = part->movement;
|
||||
@ -1830,7 +1830,7 @@ ApiStatus FallPartTo(Evt* script, s32 isInitialCall) {
|
||||
Actor* actor;
|
||||
ActorPart* part;
|
||||
ActorPartMovement* movement;
|
||||
s32 actorID, partIndex;
|
||||
s32 actorID, partID;
|
||||
f32 posX, posY, posZ;
|
||||
f32 goalX, goalY, goalZ;
|
||||
|
||||
@ -1843,10 +1843,10 @@ ApiStatus FallPartTo(Evt* script, s32 isInitialCall) {
|
||||
if (actorID == ACTOR_SELF) {
|
||||
actorID = script->owner1.actorID;
|
||||
}
|
||||
partIndex = evt_get_variable(script, *args++);
|
||||
partID = evt_get_variable(script, *args++);
|
||||
|
||||
actor = get_actor(actorID);
|
||||
part = get_actor_part(actor, partIndex);
|
||||
part = get_actor_part(actor, partID);
|
||||
script->functionTempPtr[1] = actor;
|
||||
script->functionTempPtr[2] = part;
|
||||
movement = part->movement;
|
||||
@ -1926,14 +1926,14 @@ ApiStatus LandJumpPart(Evt* script, s32 isInitialCall) {
|
||||
|
||||
if (script->functionTemp[0] == 0) {
|
||||
s32 actorID = evt_get_variable(script, *args++);
|
||||
s32 partIndex = evt_get_variable(script, *args++);
|
||||
s32 partID = evt_get_variable(script, *args++);
|
||||
|
||||
if (actorID == ACTOR_SELF) {
|
||||
actorID = script->owner1.actorID;
|
||||
}
|
||||
|
||||
actor = get_actor(actorID);
|
||||
part = get_actor_part(actor, partIndex);
|
||||
part = get_actor_part(actor, partID);
|
||||
script->functionTempPtr[1] = actor;
|
||||
script->functionTempPtr[2] = part;
|
||||
movement = part->movement;
|
||||
@ -1966,7 +1966,7 @@ ApiStatus RunPartTo(Evt* script, s32 isInitialCall) {
|
||||
Actor* actor;
|
||||
ActorPart* part;
|
||||
ActorPartMovement* movement;
|
||||
s32 actorID, partIndex;
|
||||
s32 actorID, partID;
|
||||
f32 posX, posY, posZ;
|
||||
f32 goalX, goalY, goalZ;
|
||||
f32 deltaDist;
|
||||
@ -1980,10 +1980,10 @@ ApiStatus RunPartTo(Evt* script, s32 isInitialCall) {
|
||||
if (actorID == ACTOR_SELF) {
|
||||
actorID = script->owner1.actorID;
|
||||
}
|
||||
partIndex = evt_get_variable(script, *args++);
|
||||
partID = evt_get_variable(script, *args++);
|
||||
|
||||
actor = get_actor(actorID);
|
||||
part = get_actor_part(actor, partIndex);
|
||||
part = get_actor_part(actor, partID);
|
||||
script->functionTempPtr[1] = actor;
|
||||
script->functionTempPtr[2] = part;
|
||||
movement = part->movement;
|
||||
@ -2353,7 +2353,7 @@ ApiStatus FlyPartTo(Evt* script, s32 isInitialCall) {
|
||||
ActorPart* part;
|
||||
ActorPartMovement* partMovement;
|
||||
s32 actorID;
|
||||
s32 partIndex;
|
||||
s32 partID;
|
||||
|
||||
f32 posX, posY, posZ;
|
||||
f32 goalX, goalY, goalZ;
|
||||
@ -2366,10 +2366,10 @@ ApiStatus FlyPartTo(Evt* script, s32 isInitialCall) {
|
||||
if (actorID == ACTOR_SELF) {
|
||||
actorID = script->owner1.actorID;
|
||||
}
|
||||
partIndex = evt_get_variable(script, *args++);
|
||||
partID = evt_get_variable(script, *args++);
|
||||
|
||||
actor = get_actor(actorID);
|
||||
part = get_actor_part(actor, partIndex);
|
||||
part = get_actor_part(actor, partID);
|
||||
script->functionTempPtr[1] = actor;
|
||||
script->functionTempPtr[2] = part;
|
||||
partMovement = part->movement;
|
||||
@ -2695,16 +2695,16 @@ ApiStatus DropStarPoints(Evt* script, s32 isInitialCall) {
|
||||
ApiStatus SetDefenseTable(Evt* script, s32 isInitialCall) {
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
s32 actorID = evt_get_variable(script, *args++);
|
||||
s32 partIdx;
|
||||
s32 partID;
|
||||
u32* table;
|
||||
|
||||
if (actorID == ACTOR_SELF) {
|
||||
actorID = script->owner1.actorID;
|
||||
}
|
||||
|
||||
partIdx = evt_get_variable(script, *args++);
|
||||
partID = evt_get_variable(script, *args++);
|
||||
table = (u32*) evt_get_variable(script, *args++);
|
||||
get_actor_part(get_actor(actorID), partIdx)->defenseTable = table;
|
||||
get_actor_part(get_actor(actorID), partID)->defenseTable = table;
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
@ -2725,35 +2725,35 @@ ApiStatus SetStatusTable(Evt* script, s32 isInitialCall) {
|
||||
ApiStatus SetIdleAnimations(Evt* script, s32 isInitialCall) {
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
s32 actorID = evt_get_variable(script, *args++);
|
||||
s32 partIdx;
|
||||
u32* var2;
|
||||
s32 partID;
|
||||
AnimID* idleAnims;
|
||||
|
||||
if (actorID == ACTOR_SELF) {
|
||||
actorID = script->owner1.actorID;
|
||||
}
|
||||
|
||||
partIdx = evt_get_variable(script, *args++);
|
||||
var2 = (u32*) evt_get_variable(script, *args++);
|
||||
get_actor_part(get_actor(actorID), partIdx)->idleAnimations = var2;
|
||||
partID = evt_get_variable(script, *args++);
|
||||
idleAnims = (u32*) evt_get_variable(script, *args++);
|
||||
get_actor_part(get_actor(actorID), partID)->idleAnimations = idleAnims;
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_8027CC10(Evt* script, s32 isInitialCall) {
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
s32 actorID = evt_get_variable(script, *args++);
|
||||
s32 partIndex;
|
||||
s32 partID;
|
||||
|
||||
if (actorID == ACTOR_SELF) {
|
||||
actorID = script->owner1.actorID;
|
||||
}
|
||||
|
||||
partIndex = evt_get_variable(script, *args++);
|
||||
partID = evt_get_variable(script, *args++);
|
||||
|
||||
// weirdly unused
|
||||
evt_get_variable(script, *args++);
|
||||
evt_get_variable(script, *args++);
|
||||
|
||||
get_actor_part(get_actor(actorID), partIndex);
|
||||
get_actor_part(get_actor(actorID), partID);
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
@ -2997,7 +2997,7 @@ ApiStatus func_8027D32C(Evt* script, s32 isInitialCall) {
|
||||
ApiStatus SetTargetOffset(Evt* script, s32 isInitialCall) {
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
s32 actorID = evt_get_variable(script, *args++);
|
||||
s32 partIndex;
|
||||
s32 partID;
|
||||
ActorPart* part;
|
||||
s32 x;
|
||||
s32 y;
|
||||
@ -3006,8 +3006,8 @@ ApiStatus SetTargetOffset(Evt* script, s32 isInitialCall) {
|
||||
actorID = script->owner1.actorID;
|
||||
}
|
||||
|
||||
partIndex = evt_get_variable(script, *args++);
|
||||
part = get_actor_part(get_actor(actorID), partIndex);
|
||||
partID = evt_get_variable(script, *args++);
|
||||
part = get_actor_part(get_actor(actorID), partID);
|
||||
|
||||
x = evt_get_variable(script, *args++);
|
||||
y = evt_get_variable(script, *args++);
|
||||
@ -3021,39 +3021,39 @@ ApiStatus SetTargetOffset(Evt* script, s32 isInitialCall) {
|
||||
ApiStatus func_8027D434(Evt* script, s32 isInitialCall) {
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
s32 actorID = evt_get_variable(script, *args++);
|
||||
s32 partIndex;
|
||||
s32 partID;
|
||||
ActorPart* part;
|
||||
|
||||
if (actorID == ACTOR_SELF) {
|
||||
actorID = script->owner1.actorID;
|
||||
}
|
||||
|
||||
partIndex = evt_get_variable(script, *args++);
|
||||
part = get_actor_part(get_actor(actorID), partIndex);
|
||||
partID = evt_get_variable(script, *args++);
|
||||
part = get_actor_part(get_actor(actorID), partID);
|
||||
part->unk_70 = evt_get_variable(script, *args++);
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_8027D4C8(Evt* script, s32 isInitialCall) {
|
||||
ApiStatus SetProjectileTargetOffset(Evt* script, s32 isInitialCall) {
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
s32 actorID = evt_get_variable(script, *args++);
|
||||
s32 partIndex;
|
||||
s32 partID;
|
||||
ActorPart* part;
|
||||
s32 temp;
|
||||
s32 temp2;
|
||||
s32 dx;
|
||||
s32 dy;
|
||||
|
||||
if (actorID == ACTOR_SELF) {
|
||||
actorID = script->owner1.actorID;
|
||||
}
|
||||
|
||||
partIndex = evt_get_variable(script, *args++);
|
||||
part = get_actor_part(get_actor(actorID), partIndex);
|
||||
partID = evt_get_variable(script, *args++);
|
||||
part = get_actor_part(get_actor(actorID), partID);
|
||||
|
||||
temp = evt_get_variable(script, *args++);
|
||||
temp2 = evt_get_variable(script, *args++);
|
||||
dx = evt_get_variable(script, *args++);
|
||||
dy = evt_get_variable(script, *args++);
|
||||
|
||||
part->unk_75 = temp;
|
||||
part->unk_76 = temp2;
|
||||
part->projectileTargetOffset.x = dx;
|
||||
part->projectileTargetOffset.y = dy;
|
||||
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
@ -3197,7 +3197,7 @@ ApiStatus GetActorSize(Evt* script, s32 isInitialCall) {
|
||||
ApiStatus SetPartSize(Evt* script, s32 isInitialCall) {
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
s32 actorID = evt_get_variable(script, *args++);
|
||||
s32 partIndex = evt_get_variable(script, *args++);
|
||||
s32 partID = evt_get_variable(script, *args++);
|
||||
s32 sizeY = evt_get_variable(script, *args++);
|
||||
s32 sizeX = evt_get_variable(script, *args++);
|
||||
ActorPart* part;
|
||||
@ -3206,7 +3206,7 @@ ApiStatus SetPartSize(Evt* script, s32 isInitialCall) {
|
||||
actorID = script->owner1.actorID;
|
||||
}
|
||||
|
||||
part = get_actor_part(get_actor(actorID), partIndex);
|
||||
part = get_actor_part(get_actor(actorID), partID);
|
||||
|
||||
if (sizeY != EVT_IGNORE_ARG) {
|
||||
part->size.y = sizeY;
|
||||
@ -3280,7 +3280,7 @@ ApiStatus EnableActorGlow(Evt* script, s32 isInitialCall) {
|
||||
|
||||
while (it != NULL) {
|
||||
if (it->idleAnimations != NULL) {
|
||||
func_802DE894(it->spriteInstanceID, 0, 0, 0, 0, 0, 0);
|
||||
func_802DE894(it->spriteInstanceID, FOLD_TYPE_NONE, 0, 0, 0, 0, 0);
|
||||
}
|
||||
it = it->nextPart;
|
||||
}
|
||||
|
21
src/1AC760.c
21
src/1AC760.c
@ -134,10 +134,10 @@ HitResult calc_partner_test_enemy(void) {
|
||||
}
|
||||
|
||||
// check partner airlifting electrified enemy
|
||||
if (partner->staticStatus != STATUS_STATIC &&
|
||||
(target->staticStatus == STATUS_STATIC || (part->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED)) &&
|
||||
!(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT) &&
|
||||
!(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_SHOCK_CONTACT))
|
||||
if (partner->staticStatus != STATUS_STATIC
|
||||
&& (target->staticStatus == STATUS_STATIC || (part->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED))
|
||||
&& !(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT)
|
||||
&& !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_SHOCK_CONTACT))
|
||||
{
|
||||
sfx_play_sound_at_position(SOUND_HIT_SHOCK, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z);
|
||||
apply_shock_effect(partner);
|
||||
@ -146,9 +146,9 @@ HitResult calc_partner_test_enemy(void) {
|
||||
}
|
||||
|
||||
// check partner airlifting fiery enemy
|
||||
if (!(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_SMASH)) &&
|
||||
(part->eventFlags & ACTOR_EVENT_FLAG_FIREY) &&
|
||||
!(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_BURN_CONTACT))
|
||||
if (!(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_SMASH))
|
||||
&& (part->eventFlags & ACTOR_EVENT_FLAG_FIREY)
|
||||
&& !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_BURN_CONTACT))
|
||||
{
|
||||
sfx_play_sound_at_position(SOUND_HIT_FIRE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z);
|
||||
dispatch_damage_event_partner_1(1, EVENT_BURN_CONTACT);
|
||||
@ -752,8 +752,11 @@ HitResult calc_partner_damage_enemy(void) {
|
||||
}
|
||||
}
|
||||
|
||||
if (tempBinary && gBattleStatus.flags1 & (BS_FLAGS1_200 | BS_FLAGS1_40) || gBattleStatus.flags1 & (BS_FLAGS1_200 | BS_FLAGS1_40) &&
|
||||
!(gBattleStatus.flags1 & BS_FLAGS1_80)) {
|
||||
if (tempBinary
|
||||
&& gBattleStatus.flags1 & (BS_FLAGS1_200 | BS_FLAGS1_40)
|
||||
|| gBattleStatus.flags1 & (BS_FLAGS1_200 | BS_FLAGS1_40)
|
||||
&& !(gBattleStatus.flags1 & BS_FLAGS1_80)
|
||||
) {
|
||||
if ((battleStatus->lastAttackDamage > 0 &&
|
||||
((sfx_play_sound_at_position(SOUND_231, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y,
|
||||
state->goalPos.z), //TODO remove sfx_play from conditional
|
||||
|
130
src/1AF230.c
130
src/1AF230.c
@ -1,130 +0,0 @@
|
||||
#include "common.h"
|
||||
#include "ld_addrs.h"
|
||||
#include "sprite/npc/WorldGoombario.h"
|
||||
#include "sprite/npc/BattleGoombario.h"
|
||||
#include "sprite/npc/BattleKooper.h"
|
||||
#include "sprite/npc/BattleBombette.h"
|
||||
#include "sprite/npc/BattleParakarry.h"
|
||||
#include "sprite/npc/BattleWatt.h"
|
||||
#include "sprite/npc/BattleSushie.h"
|
||||
#include "sprite/npc/BattleLakilester.h"
|
||||
#include "sprite/npc/BattleBow.h"
|
||||
|
||||
typedef struct StarPowerEntry {
|
||||
/* 0x04 */ void* dmaStart;
|
||||
/* 0x08 */ void* dmaEnd;
|
||||
/* 0x0C */ void* dmaDest;
|
||||
/* 0x10 */ Bytecode* init;
|
||||
} StarPowerEntry; // size = 0x14
|
||||
|
||||
extern EvtScript battle_star_focus_usePower;
|
||||
extern EvtScript battle_star_refresh_usePower;
|
||||
extern EvtScript battle_star_lullaby_usePower;
|
||||
extern EvtScript battle_star_star_storm_usePower;
|
||||
extern EvtScript battle_star_chill_out_usePower;
|
||||
extern EvtScript battle_star_smooch_usePower;
|
||||
extern EvtScript battle_star_time_out_usePower;
|
||||
extern EvtScript battle_star_up_and_away_usePower;
|
||||
extern EvtScript battle_star_star_beam_usePower;
|
||||
extern EvtScript battle_star_peach_beam_usePower;
|
||||
extern EvtScript battle_star_peach_focus_usePower;
|
||||
extern EvtScript battle_star_peach_dash_usePower;
|
||||
|
||||
StarPowerEntry D_8029C7D0[] = {
|
||||
{ battle_star_focus_ROM_START, battle_star_focus_ROM_END, battle_star_focus_VRAM, battle_star_focus_usePower, },
|
||||
{ battle_star_refresh_ROM_START, battle_star_refresh_ROM_END, battle_star_refresh_VRAM, battle_star_refresh_usePower, },
|
||||
{ battle_star_lullaby_ROM_START, battle_star_lullaby_ROM_END, battle_star_lullaby_VRAM, battle_star_lullaby_usePower, },
|
||||
{ battle_star_star_storm_ROM_START, battle_star_star_storm_ROM_END, battle_star_star_storm_VRAM, battle_star_star_storm_usePower, },
|
||||
{ battle_star_chill_out_ROM_START, battle_star_chill_out_ROM_END, battle_star_chill_out_VRAM, battle_star_chill_out_usePower, },
|
||||
{ battle_star_smooch_ROM_START, battle_star_smooch_ROM_END, battle_star_smooch_VRAM, battle_star_smooch_usePower, },
|
||||
{ battle_star_time_out_ROM_START, battle_star_time_out_ROM_END, battle_star_time_out_VRAM, battle_star_time_out_usePower, },
|
||||
{ battle_star_up_and_away_ROM_START, battle_star_up_and_away_ROM_END, battle_star_up_and_away_VRAM, battle_star_up_and_away_usePower, },
|
||||
{ battle_star_star_beam_ROM_START, battle_star_star_beam_ROM_END, battle_star_star_beam_VRAM, battle_star_star_beam_usePower, },
|
||||
{ battle_star_peach_beam_ROM_START, battle_star_peach_beam_ROM_END, battle_star_peach_beam_VRAM, battle_star_peach_beam_usePower, },
|
||||
{ battle_star_peach_focus_ROM_START, battle_star_peach_focus_ROM_END, battle_star_peach_focus_VRAM, battle_star_peach_focus_usePower, },
|
||||
{ battle_star_peach_dash_ROM_START, battle_star_peach_dash_ROM_END, battle_star_peach_dash_VRAM, battle_star_peach_dash_usePower, },
|
||||
};
|
||||
|
||||
s32 D_8029C890[][5] = {
|
||||
[PARTNER_NONE] {
|
||||
ANIM_Mario_GotItem,
|
||||
ANIM_Mario_AnimPray,
|
||||
ANIM_Mario_1002A,
|
||||
ANIM_Mario_Running,
|
||||
0,
|
||||
},
|
||||
[PARTNER_GOOMBARIO] {
|
||||
ANIM_BattleGoombario_Run,
|
||||
ANIM_BattleGoombario_CloseEyes,
|
||||
ANIM_BattleGoombario_CloseEyes,
|
||||
ANIM_BattleGoombario_Run,
|
||||
ANIM_BattleGoombario_Idle,
|
||||
},
|
||||
[PARTNER_KOOPER] {
|
||||
ANIM_BattleKooper_Run,
|
||||
ANIM_BattleKooper_Pray,
|
||||
ANIM_BattleKooper_Pray,
|
||||
ANIM_BattleKooper_Run,
|
||||
ANIM_BattleKooper_Idle,
|
||||
},
|
||||
[PARTNER_BOMBETTE] {
|
||||
ANIM_BattleBombette_Run,
|
||||
ANIM_BattleBombette_Sleep,
|
||||
ANIM_BattleBombette_Sleep,
|
||||
ANIM_BattleBombette_Run,
|
||||
ANIM_BattleBombette_Idle,
|
||||
},
|
||||
[PARTNER_PARAKARRY] {
|
||||
ANIM_BattleParakarry_Run,
|
||||
ANIM_BattleParakarry_Pray,
|
||||
ANIM_BattleParakarry_Pray,
|
||||
ANIM_BattleParakarry_Run,
|
||||
ANIM_BattleParakarry_Idle,
|
||||
},
|
||||
[PARTNER_GOOMPA] {
|
||||
// no data
|
||||
},
|
||||
[PARTNER_WATT] {
|
||||
ANIM_BattleWatt_Run,
|
||||
ANIM_BattleWatt_Sleep,
|
||||
ANIM_BattleWatt_Sleep,
|
||||
ANIM_BattleWatt_Run,
|
||||
ANIM_BattleParakarry_Idle, // @bug uses wrong sprite!
|
||||
},
|
||||
[PARTNER_SUSHIE] {
|
||||
ANIM_BattleSushie_Run,
|
||||
ANIM_BattleSushie_Pray,
|
||||
ANIM_BattleSushie_Pray,
|
||||
ANIM_BattleSushie_Run,
|
||||
ANIM_BattleSushie_Idle,
|
||||
},
|
||||
[PARTNER_LAKILESTER] {
|
||||
ANIM_BattleLakilester_Run,
|
||||
ANIM_BattleLakilester_Pray,
|
||||
ANIM_BattleLakilester_Pray,
|
||||
ANIM_BattleLakilester_Run,
|
||||
ANIM_BattleLakilester_Idle,
|
||||
},
|
||||
[PARTNER_BOW] {
|
||||
ANIM_BattleBow_Run,
|
||||
ANIM_BattleBow_Pray,
|
||||
ANIM_BattleBow_Pray,
|
||||
ANIM_BattleBow_Run,
|
||||
ANIM_BattleBow_Idle,
|
||||
},
|
||||
};
|
||||
|
||||
ApiStatus LoadStarPowerScript(Evt* script, s32 isInitialCall) {
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
PlayerData* playerData = &gPlayerData;
|
||||
s16 starPowerIdx;
|
||||
|
||||
playerData->specialBarsFilled -= gMoveTable[battleStatus->selectedMoveID].costFP * 256;
|
||||
starPowerIdx = battleStatus->moveArgument;
|
||||
dma_copy((&D_8029C7D0[starPowerIdx])->dmaStart, (&D_8029C7D0[starPowerIdx])->dmaEnd,
|
||||
(&D_8029C7D0[starPowerIdx])->dmaDest);
|
||||
script->varTable[0] = (s32) (&D_8029C7D0[starPowerIdx])->init;
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
MATCHING_BSS(0x1390);
|
@ -5157,7 +5157,7 @@ void btl_state_draw_select_target(void) {
|
||||
} else {
|
||||
target = &actor->targetData[targetIndexList[selectedTargetIndex]];
|
||||
anotherActor = get_actor(target->actorID);
|
||||
msgID = get_actor_part(anotherActor, target->partID)->staticData->unk_20;
|
||||
msgID = get_actor_part(anotherActor, target->partID)->staticData->overrideNameMsg;
|
||||
if (msgID == MSG_NONE) {
|
||||
msgID = bActorNames[anotherActor->actorType];
|
||||
}
|
||||
@ -5189,7 +5189,7 @@ void btl_state_draw_select_target(void) {
|
||||
} else {
|
||||
target = &actor->targetData[targetIndexList[selectedTargetIndex]];
|
||||
anotherActor = get_actor(target->actorID);
|
||||
msgID = get_actor_part(anotherActor, target->partID)->staticData->unk_20;
|
||||
msgID = get_actor_part(anotherActor, target->partID)->staticData->overrideNameMsg;
|
||||
if (msgID == MSG_NONE) {
|
||||
msgID = bActorNames[anotherActor->actorType];
|
||||
}
|
||||
|
21
src/77480.c
21
src/77480.c
@ -686,18 +686,17 @@ void check_input_use_partner(void) {
|
||||
PlayerData* playerData = &gPlayerData;
|
||||
u32 actionState = playerStatus->actionState;
|
||||
|
||||
if (!(playerStatus->animFlags & PA_FLAG_8BIT_MARIO)) {
|
||||
if (playerStatus->animFlags & PA_FLAG_FORCE_USE_PARTNER || playerStatus->inputEnabledCounter == 0) {
|
||||
if (playerStatus->pressedButtons & BUTTON_C_DOWN && !(playerStatus->flags & PS_FLAG_NO_PARTNER_USAGE) &&
|
||||
!(playerStatus->pressedButtons & BUTTON_B) && !(playerStatus->animFlags & PA_FLAG_USING_PEACH_PHYSICS) &&
|
||||
actionState <= ACTION_STATE_RUN) {
|
||||
|
||||
if (playerData->currentPartner == PARTNER_GOOMBARIO) {
|
||||
GoombarioGetTattleID = playerStatus->interactingWithID;
|
||||
}
|
||||
partner_use_ability();
|
||||
}
|
||||
if (!(playerStatus->animFlags & PA_FLAG_8BIT_MARIO)
|
||||
&& (playerStatus->animFlags & PA_FLAG_FORCE_USE_PARTNER || playerStatus->inputEnabledCounter == 0)
|
||||
&& (playerStatus->pressedButtons & BUTTON_C_DOWN && !(playerStatus->flags & PS_FLAG_NO_PARTNER_USAGE))
|
||||
&& !(playerStatus->pressedButtons & BUTTON_B)
|
||||
&& !(playerStatus->animFlags & PA_FLAG_USING_PEACH_PHYSICS)
|
||||
&& actionState <= ACTION_STATE_RUN
|
||||
) {
|
||||
if (playerData->currentPartner == PARTNER_GOOMBARIO) {
|
||||
GoombarioGetTattleID = playerStatus->interactingWithID;
|
||||
}
|
||||
partner_use_ability();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -90,10 +90,10 @@ s32 collision_main_above(void) {
|
||||
collisionStatus->currentCeiling = hitResult;
|
||||
|
||||
if (hitResult >= 0) {
|
||||
if (playerStatus->actionState != ACTION_STATE_FALLING &&
|
||||
playerStatus->actionState != ACTION_STATE_STEP_DOWN &&
|
||||
collisionStatus->currentFloor < 0)
|
||||
{
|
||||
if (playerStatus->actionState != ACTION_STATE_FALLING
|
||||
&& playerStatus->actionState != ACTION_STATE_STEP_DOWN
|
||||
&& collisionStatus->currentFloor < 0
|
||||
) {
|
||||
if (sp2C <= fabsf(new_var + playerStatus->gravityIntegrator[0])) {
|
||||
do {
|
||||
if ((hitResult & COLLISION_WITH_ENTITY_BIT) && get_entity_type(hitResult) == ENTITY_TYPE_BRICK_BLOCK) {
|
||||
@ -102,9 +102,9 @@ s32 collision_main_above(void) {
|
||||
} while (0);
|
||||
|
||||
playerStatus->position.y = y - ((playerStatus->colliderHeight / 5.0f) * 3.0f);
|
||||
if (playerStatus->actionState != ACTION_STATE_TORNADO_JUMP &&
|
||||
playerStatus->actionState != ACTION_STATE_SPIN_JUMP)
|
||||
{
|
||||
if (playerStatus->actionState != ACTION_STATE_TORNADO_JUMP
|
||||
&& playerStatus->actionState != ACTION_STATE_SPIN_JUMP
|
||||
) {
|
||||
playerStatus->gravityIntegrator[0] = 0.0f;
|
||||
playerStatus->gravityIntegrator[1] = 0.0f;
|
||||
playerStatus->gravityIntegrator[2] = 0.0f;
|
||||
@ -323,9 +323,9 @@ void gravity_use_fall_parms(void) {
|
||||
}
|
||||
|
||||
void phys_update_falling(void) {
|
||||
if (gPlayerStatus.actionState != ACTION_STATE_LANDING_ON_SWITCH &&
|
||||
gPlayerStatus.actionState != ACTION_STATE_BOUNCE)
|
||||
{
|
||||
if (gPlayerStatus.actionState != ACTION_STATE_LANDING_ON_SWITCH
|
||||
&& gPlayerStatus.actionState != ACTION_STATE_BOUNCE
|
||||
) {
|
||||
s32 colliderID;
|
||||
gPlayerStatus.position.y = player_check_collision_below(player_fall_distance(), &colliderID);
|
||||
player_handle_floor_collider_type(colliderID);
|
||||
@ -401,11 +401,11 @@ void phys_player_land(void) {
|
||||
Entity* entity = get_entity_by_index(collisionStatus->currentFloor);
|
||||
|
||||
entity->collisionFlags |= ENTITY_COLLISION_PLAYER_TOUCH_FLOOR;
|
||||
if (playerStatus->actionState != ACTION_STATE_TORNADO_JUMP &&
|
||||
playerStatus->actionState != ACTION_STATE_TORNADO_POUND &&
|
||||
playerStatus->actionState != ACTION_STATE_SPIN_JUMP &&
|
||||
playerStatus->actionState != ACTION_STATE_SPIN_POUND)
|
||||
{
|
||||
if (playerStatus->actionState != ACTION_STATE_TORNADO_JUMP
|
||||
&& playerStatus->actionState != ACTION_STATE_TORNADO_POUND
|
||||
&& playerStatus->actionState != ACTION_STATE_SPIN_JUMP
|
||||
&& playerStatus->actionState != ACTION_STATE_SPIN_POUND
|
||||
) {
|
||||
set_action_state(ACTION_STATE_LANDING_ON_SWITCH);
|
||||
} else {
|
||||
disable_player_input();
|
||||
@ -971,9 +971,9 @@ void phys_main_collision_below(void) {
|
||||
}
|
||||
break;
|
||||
}
|
||||
} else if (!(playerStatus->flags & PS_FLAG_FLYING) &&
|
||||
playerStatus->actionState != ACTION_STATE_USE_SPINNING_FLOWER)
|
||||
{
|
||||
} else if (!(playerStatus->flags & PS_FLAG_FLYING)
|
||||
&& playerStatus->actionState != ACTION_STATE_USE_SPINNING_FLOWER
|
||||
) {
|
||||
if (outLength <= collHeightHalf + temp_f24 && hitDirX == 0.0f && hitDirZ == 0.0f) {
|
||||
set_action_state(ACTION_STATE_STEP_DOWN);
|
||||
} else {
|
||||
@ -1076,22 +1076,22 @@ void collision_lateral_peach(void) {
|
||||
playerStatus->position.z = z;
|
||||
|
||||
// If there was a climbable step in this direction, but no wall, we can climb up it
|
||||
if (climbableStep &&
|
||||
wall < 0 &&
|
||||
playerStatus->actionState != ACTION_STATE_STEP_UP_PEACH &&
|
||||
playerStatus->currentSpeed != 0.0f)
|
||||
{
|
||||
if (climbableStep
|
||||
&& wall < 0
|
||||
&& playerStatus->actionState != ACTION_STATE_STEP_UP_PEACH
|
||||
&& playerStatus->currentSpeed != 0.0f
|
||||
) {
|
||||
set_action_state(ACTION_STATE_STEP_UP_PEACH);
|
||||
}
|
||||
}
|
||||
|
||||
void check_input_midair_jump(void) {
|
||||
if (!(gPlayerStatus.flags & (PS_FLAG_SCRIPTED_FALL | PS_FLAG_SLIDING | PS_FLAG_FLYING)) &&
|
||||
!(gPlayerStatus.animFlags & (PA_FLAG_8BIT_MARIO | PA_FLAG_USING_WATT)) &&
|
||||
gPlayerStatus.peakJumpTime >= 6 &&
|
||||
gPlayerStatus.timeInAir < 18 &&
|
||||
gPlayerStatus.pressedButtons & BUTTON_A) {
|
||||
|
||||
if (!(gPlayerStatus.flags & (PS_FLAG_SCRIPTED_FALL | PS_FLAG_SLIDING | PS_FLAG_FLYING))
|
||||
&& !(gPlayerStatus.animFlags & (PA_FLAG_8BIT_MARIO | PA_FLAG_USING_WATT))
|
||||
&& gPlayerStatus.peakJumpTime >= 6
|
||||
&& gPlayerStatus.timeInAir < 18
|
||||
&& gPlayerStatus.pressedButtons & BUTTON_A
|
||||
) {
|
||||
switch (gPlayerData.bootsLevel) {
|
||||
case 0:
|
||||
break;
|
||||
|
@ -72,14 +72,14 @@ s32 can_pause(s32 currentButtons, s32 pressedButtons) {
|
||||
PartnerActionStatus* partnerActionStatus = &gPartnerActionStatus;
|
||||
s32 actionState = gPlayerStatus.actionState;
|
||||
|
||||
if (!(gPlayerStatus.animFlags & PA_FLAG_CHANGING_MAP) &&
|
||||
!(gPlayerStatus.flags & PS_FLAG_PAUSE_DISABLED) &&
|
||||
!(currentButtons & (BUTTON_Z | BUTTON_R)) &&
|
||||
(pressedButtons & (BUTTON_START | BUTTON_C_LEFT | BUTTON_C_RIGHT)) &&
|
||||
((gGameStatusPtr->mapShop == NULL) || !(gGameStatusPtr->mapShop->flags & 1)) &&
|
||||
!(gOverrideFlags & GLOBAL_OVERRIDES_DISABLE_MENUS) &&
|
||||
!is_picking_up_item())
|
||||
{
|
||||
if (!(gPlayerStatus.animFlags & PA_FLAG_CHANGING_MAP)
|
||||
&& !(gPlayerStatus.flags & PS_FLAG_PAUSE_DISABLED)
|
||||
&& !(currentButtons & (BUTTON_Z | BUTTON_R))
|
||||
&& (pressedButtons & (BUTTON_START | BUTTON_C_LEFT | BUTTON_C_RIGHT))
|
||||
&& ((gGameStatusPtr->mapShop == NULL) || !(gGameStatusPtr->mapShop->flags & SHOP_FLAG_1))
|
||||
&& !(gOverrideFlags & GLOBAL_OVERRIDES_DISABLE_MENUS)
|
||||
&& !is_picking_up_item()
|
||||
) {
|
||||
if (!(gPlayerStatus.animFlags & PA_FLAG_8BIT_MARIO)) {
|
||||
if (partnerActionStatus->partnerActionState == PARTNER_ACTION_NONE) {
|
||||
if (!(gPlayerStatus.flags & PS_FLAG_NO_STATIC_COLLISION)) {
|
||||
|
337
src/actor_api.c
337
src/actor_api.c
File diff suppressed because it is too large
Load Diff
@ -90,7 +90,7 @@ BSS s32 D_8029FBD8_pad[2];
|
||||
|
||||
BSS ActionCommandStatus gActionCommandStatus;
|
||||
|
||||
ApiStatus LoadActionCommand(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(LoadActionCommand) {
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
s32 cmd = evt_get_variable(script, *args++);
|
||||
|
||||
@ -660,12 +660,12 @@ void func_80269160(void) {
|
||||
}
|
||||
}
|
||||
|
||||
ApiStatus SetActionDifficultyTable(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(SetActionDifficultyTable) {
|
||||
gBattleStatus.actionCmdDifficultyTable = (s32*) evt_get_variable(script, *script->ptrReadPos);
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus SetupMashMeter(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(SetupMashMeter) {
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
gActionCommandStatus.mashMeterIntervals = evt_get_variable(script, *args++);
|
||||
gActionCommandStatus.mashMeterCutoffs[1] = evt_get_variable(script, *args++);
|
||||
@ -677,37 +677,37 @@ ApiStatus SetupMashMeter(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus GetActionSuccess(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(GetActionSuccess) {
|
||||
evt_set_variable(script, *script->ptrReadPos, gBattleStatus.actionSuccess);
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus SetActionSuccess(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(SetActionSuccess) {
|
||||
gBattleStatus.actionSuccess = evt_get_variable(script, *script->ptrReadPos);
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus SetActionCommandMode(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(SetActionCommandMode) {
|
||||
gBattleStatus.actionCommandMode = evt_get_variable(script, *script->ptrReadPos);
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus GetActionCommandMode(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(GetActionCommandMode) {
|
||||
evt_set_variable(script, *script->ptrReadPos, gBattleStatus.actionCommandMode);
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus SetActionHudPrepareTime(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(SetActionHudPrepareTime) {
|
||||
gActionCommandStatus.hudPrepareTime = evt_get_variable(script, *script->ptrReadPos);
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus GetCommandAutoSuccess(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(GetCommandAutoSuccess) {
|
||||
evt_set_variable(script, *script->ptrReadPos, gActionCommandStatus.autoSucceed);
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus SetCommandAutoSuccess(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(SetCommandAutoSuccess) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
|
||||
if (evt_get_variable(script, *script->ptrReadPos) != 0) {
|
||||
@ -718,12 +718,12 @@ ApiStatus SetCommandAutoSuccess(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_802693F0(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(func_802693F0) {
|
||||
gBattleStatus.flags1 &= ~BS_FLAGS1_4000;
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus CloseActionCommandInfo(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(CloseActionCommandInfo) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
|
||||
if (isInitialCall) {
|
||||
@ -743,7 +743,7 @@ ApiStatus CloseActionCommandInfo(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_80269470(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(func_80269470) {
|
||||
if (isInitialCall) {
|
||||
action_command_free();
|
||||
return ApiStatus_BLOCK;
|
||||
@ -753,7 +753,7 @@ ApiStatus func_80269470(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus ShowActionHud(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(ShowActionHud) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
|
||||
if (evt_get_variable(script, *script->ptrReadPos) == 0) {
|
||||
@ -764,42 +764,42 @@ ApiStatus ShowActionHud(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus GetActionSuccessCopy(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(GetActionSuccessCopy) {
|
||||
evt_set_variable(script, *script->ptrReadPos, gBattleStatus.actionSuccess);
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_80269524(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(func_80269524) {
|
||||
evt_set_variable(script, *script->ptrReadPos, gBattleStatus.unk_86);
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_80269550(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(func_80269550) {
|
||||
gBattleStatus.unk_86 = evt_get_variable(script, *script->ptrReadPos);
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus GetBlockResult(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(GetBlockResult) {
|
||||
evt_set_variable(script, *script->ptrReadPos, gBattleStatus.blockResult);
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus GetActionResult(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(GetActionResult) {
|
||||
evt_set_variable(script, *script->ptrReadPos, gBattleStatus.actionResult);
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus SetActionResult(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(SetActionResult) {
|
||||
gBattleStatus.actionResult = evt_get_variable(script, *script->ptrReadPos);
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_80269600(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(func_80269600) {
|
||||
evt_set_variable(script, *script->ptrReadPos, gBattleStatus.unk_85);
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus func_8026962C(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(func_8026962C) {
|
||||
gBattleStatus.unk_85 = evt_get_variable(script, *script->ptrReadPos);
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ BSS s32 D_802A9620;
|
||||
|
||||
extern s32 actionCmdTable07[];
|
||||
|
||||
ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(init)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
@ -57,7 +57,7 @@ ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus N(start)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(start)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
s32* args = script->ptrReadPos;
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
#include "common_structs.h"
|
||||
|
||||
ApiStatus action_command_07_init(Evt* script, s32 isInitialCall);
|
||||
ApiStatus action_command_07_start(Evt* script, s32 isInitialCall);
|
||||
API_CALLABLE(action_command_07_init);
|
||||
API_CALLABLE(action_command_07_start);
|
||||
void action_command_07_update(void);
|
||||
void action_command_07_draw(void);
|
||||
void action_command_07_free(void);
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
extern s32 actionCmdTable0A[];
|
||||
|
||||
ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(init)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
s32 hudElement;
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
#include "common_structs.h"
|
||||
|
||||
ApiStatus action_command_0A_init(Evt* script, s32 isInitialCall);
|
||||
ApiStatus action_command_0A_start(Evt* script, s32 isInitialCall);
|
||||
API_CALLABLE(action_command_0A_init);
|
||||
API_CALLABLE(action_command_0A_start);
|
||||
void action_command_0A_update(void);
|
||||
void action_command_0A_draw(void);
|
||||
void action_command_0A_free(void);
|
||||
|
@ -10,7 +10,7 @@ BSS s32 air_lift_bss_0;
|
||||
|
||||
extern s32 actionCmdTableAirLift[];
|
||||
|
||||
ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(init)) {
|
||||
s32 *args = script->ptrReadPos;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
@ -56,7 +56,7 @@ ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus N(start)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(start)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
#include "common_structs.h"
|
||||
|
||||
ApiStatus action_command_air_lift_init(Evt* script, s32 isInitialCall);
|
||||
ApiStatus action_command_air_lift_start(Evt* script, s32 isInitialCall);
|
||||
API_CALLABLE(action_command_air_lift_init);
|
||||
API_CALLABLE(action_command_air_lift_start);
|
||||
void action_command_air_lift_update(void);
|
||||
void action_command_air_lift_draw(void);
|
||||
void action_command_air_lift_free(void);
|
||||
|
@ -11,7 +11,7 @@ s32 D_802A99A8_429CC8[] = { 35, 35, 60, 80, 99, 200, };
|
||||
|
||||
extern s32 actionCmdTableAirRaid[];
|
||||
|
||||
ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(init)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
s32 hudElement;
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
#include "common_structs.h"
|
||||
|
||||
ApiStatus action_command_air_raid_init(Evt* script, s32 isInitialCall);
|
||||
ApiStatus action_command_air_raid_start(Evt* script, s32 isInitialCall);
|
||||
API_CALLABLE(action_command_air_raid_init);
|
||||
API_CALLABLE(action_command_air_raid_start);
|
||||
void action_command_air_raid_update(void);
|
||||
void action_command_air_raid_draw(void);
|
||||
void action_command_air_raid_free(void);
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
extern s32 actionCmdTableBodySlam[];
|
||||
|
||||
ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(init)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
s32 id;
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
#include "common_structs.h"
|
||||
|
||||
ApiStatus action_command_body_slam_init(Evt* script, s32 isInitialCall);
|
||||
ApiStatus action_command_body_slam_start(Evt* script, s32 isInitialCall);
|
||||
API_CALLABLE(action_command_body_slam_init);
|
||||
API_CALLABLE(action_command_body_slam_start);
|
||||
void action_command_body_slam_update(void);
|
||||
void action_command_body_slam_draw(void);
|
||||
void action_command_body_slam_free(void);
|
||||
|
@ -7,7 +7,7 @@ s32 D_802A9810_428280[] = { 0, 25, 50, 75, 75, 0, 0, 0 };
|
||||
|
||||
extern s32 actionCmdTableBomb[];
|
||||
|
||||
ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(init)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
s32 hudElement;
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
#include "common_structs.h"
|
||||
|
||||
ApiStatus action_command_bomb_init(Evt* script, s32 isInitialCall);
|
||||
ApiStatus action_command_bomb_start(Evt* script, s32 isInitialCall);
|
||||
API_CALLABLE(action_command_bomb_init);
|
||||
API_CALLABLE(action_command_bomb_start);
|
||||
void action_command_bomb_update(void);
|
||||
void action_command_bomb_draw(void);
|
||||
void action_command_bomb_free(void);
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
extern s32 actionCmdTableBreakFree[];
|
||||
|
||||
ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(init)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
s32 id;
|
||||
@ -58,7 +58,7 @@ ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus N(start)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(start)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
#include "common_structs.h"
|
||||
|
||||
ApiStatus action_command_break_free_init(Evt* script, s32 isInitialCall);
|
||||
ApiStatus action_command_break_free_start(Evt* script, s32 isInitialCall);
|
||||
API_CALLABLE(action_command_break_free_init);
|
||||
API_CALLABLE(action_command_break_free_start);
|
||||
void action_command_break_free_update(void);
|
||||
void action_command_break_free_draw(void);
|
||||
void action_command_break_free_free(void);
|
||||
|
@ -1,4 +1,4 @@
|
||||
ApiStatus N(start)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(start)) {
|
||||
u8 mashMeterCutoff;
|
||||
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
|
@ -8,7 +8,7 @@ s32 D_802A9800_426970[8] = { 0, 25, 50, 75, 75, 0, 0, 0 };
|
||||
|
||||
extern s32 actionCmdTableDizzyShell[];
|
||||
|
||||
ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(init)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
s32 id;
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
#include "common_structs.h"
|
||||
|
||||
ApiStatus action_command_dizzy_shell_init(Evt* script, s32 isInitialCall);
|
||||
ApiStatus action_command_dizzy_shell_start(Evt* script, s32 isInitialCall);
|
||||
API_CALLABLE(action_command_dizzy_shell_init);
|
||||
API_CALLABLE(action_command_dizzy_shell_start);
|
||||
void action_command_dizzy_shell_update(void);
|
||||
void action_command_dizzy_shell_draw(void);
|
||||
void action_command_dizzy_shell_free(void);
|
||||
|
@ -11,7 +11,7 @@ s32 D_802A9988_427358[6] = { 35, 35, 60, 80, 99, 200 };
|
||||
|
||||
extern s32 actionCmdTableFireShell[];
|
||||
|
||||
ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(init)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
s32 id;
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
#include "common_structs.h"
|
||||
|
||||
ApiStatus action_command_fire_shell_init(Evt* script, s32 isInitialCall);
|
||||
ApiStatus action_command_fire_shell_start(Evt* script, s32 isInitialCall);
|
||||
API_CALLABLE(action_command_fire_shell_init);
|
||||
API_CALLABLE(action_command_fire_shell_start);
|
||||
void action_command_fire_shell_update(void);
|
||||
void action_command_fire_shell_draw(void);
|
||||
void action_command_fire_shell_free(void);
|
||||
|
@ -7,7 +7,7 @@ BSS s32 D_802A9920;
|
||||
|
||||
extern s32 actionCmdTableFlee[];
|
||||
|
||||
ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(init)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
@ -70,7 +70,7 @@ ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus N(start)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(start)) {
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
#include "common_structs.h"
|
||||
|
||||
ApiStatus action_command_flee_init(Evt* script, s32 isInitialCall);
|
||||
ApiStatus action_command_flee_start(Evt* script, s32 isInitialCall);
|
||||
API_CALLABLE(action_command_flee_init);
|
||||
API_CALLABLE(action_command_flee_start);
|
||||
void action_command_flee_update(void);
|
||||
void action_command_flee_draw(void);
|
||||
void action_command_flee_free(void);
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
extern s32 actionCmdTableHammer[];
|
||||
|
||||
ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(init)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
s32 id;
|
||||
@ -73,7 +73,7 @@ ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus N(start)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(start)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
#include "common_structs.h"
|
||||
|
||||
ApiStatus action_command_hammer_init(Evt* script, s32 isInitialCall);
|
||||
ApiStatus action_command_hammer_start(Evt* script, s32 isInitialCall);
|
||||
API_CALLABLE(action_command_hammer_init);
|
||||
API_CALLABLE(action_command_hammer_start);
|
||||
void action_command_hammer_update(void);
|
||||
void action_command_hammer_draw(void);
|
||||
void action_command_hammer_free(void);
|
||||
|
@ -7,7 +7,7 @@ s32 D_802A98E0_42FFC0[8] = { 0, 25, 50, 75, 75, 0, 0, 0 };
|
||||
|
||||
extern s32 actionCmdTableHurricane[];
|
||||
|
||||
ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(init)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
s32 id;
|
||||
@ -58,7 +58,7 @@ ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus N(start)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(start)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
#include "common_structs.h"
|
||||
|
||||
ApiStatus action_command_hurricane_init(Evt* script, s32 isInitialCall);
|
||||
ApiStatus action_command_hurricane_start(Evt* script, s32 isInitialCall);
|
||||
API_CALLABLE(action_command_hurricane_init);
|
||||
API_CALLABLE(action_command_hurricane_start);
|
||||
void action_command_hurricane_update(void);
|
||||
void action_command_hurricane_draw(void);
|
||||
void action_command_hurricane_free(void);
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
extern s32 actionCmdTableJump[];
|
||||
|
||||
ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(init)) {
|
||||
s32 hudElement;
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
|
||||
@ -42,7 +42,7 @@ ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus N(start)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(start)) {
|
||||
s32 hudElement;
|
||||
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
#include "common_structs.h"
|
||||
|
||||
ApiStatus action_command_jump_init(Evt* script, s32 isInitialCall);
|
||||
ApiStatus action_command_jump_start(Evt* script, s32 isInitialCall);
|
||||
API_CALLABLE(action_command_jump_init);
|
||||
API_CALLABLE(action_command_jump_start);
|
||||
void action_command_jump_update(void);
|
||||
void action_command_jump_draw(void);
|
||||
void action_command_jump_free(void);
|
||||
|
@ -8,7 +8,7 @@ s32 D_802A9930_42E340[] = { 0, 25, 50, 75, 75, 0, 0, 0 };
|
||||
|
||||
extern s32 actionCmdTableMegaShock[];
|
||||
|
||||
ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(init)) {
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
s32 elementID;
|
||||
@ -58,7 +58,7 @@ ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus N(start)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(start)) {
|
||||
Bytecode* readPos = script->ptrReadPos;
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
#include "common_structs.h"
|
||||
|
||||
ApiStatus action_command_mega_shock_init(Evt* script, s32 isInitialCall);
|
||||
ApiStatus action_command_mega_shock_start(Evt* script, s32 isInitialCall);
|
||||
API_CALLABLE(action_command_mega_shock_init);
|
||||
API_CALLABLE(action_command_mega_shock_start);
|
||||
void action_command_mega_shock_update(void);
|
||||
void action_command_mega_shock_draw(void);
|
||||
void action_command_mega_shock_free(void);
|
||||
|
@ -9,7 +9,7 @@ BSS s32 D_802A9B00;
|
||||
|
||||
extern s32 actionCmdTablePowerShock[];
|
||||
|
||||
ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(init)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
s32 id;
|
||||
@ -68,7 +68,7 @@ ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus N(start)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(start)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
#include "common_structs.h"
|
||||
|
||||
ApiStatus action_command_power_shock_init(Evt* script, s32 isInitialCall);
|
||||
ApiStatus action_command_power_shock_start(Evt* script, s32 isInitialCall);
|
||||
API_CALLABLE(action_command_power_shock_init);
|
||||
API_CALLABLE(action_command_power_shock_start);
|
||||
void action_command_power_shock_update(void);
|
||||
void action_command_power_shock_draw(void);
|
||||
void action_command_power_shock_free(void);
|
||||
|
@ -35,7 +35,7 @@ s32 D_802A9A20_42EDC0[] = {
|
||||
|
||||
extern s32 actionCmdTableSmack[];
|
||||
|
||||
ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(init)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
s32 hudElement;
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
#include "common_structs.h"
|
||||
|
||||
ApiStatus action_command_smack_init(Evt* script, s32 isInitialCall);
|
||||
ApiStatus action_command_smack_start(Evt* script, s32 isInitialCall);
|
||||
API_CALLABLE(action_command_smack_init);
|
||||
API_CALLABLE(action_command_smack_start);
|
||||
void action_command_smack_update(void);
|
||||
void action_command_smack_draw(void);
|
||||
void action_command_smack_free(void);
|
||||
|
@ -9,7 +9,7 @@ BSS s32 D_802A98C0;
|
||||
|
||||
extern s32 actionCmdTableSpinySurge[];
|
||||
|
||||
ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(init)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
s32 id;
|
||||
@ -57,7 +57,7 @@ ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus N(start)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(start)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
#include "common_structs.h"
|
||||
|
||||
ApiStatus action_command_spiny_surge_init(Evt* script, s32 isInitialCall);
|
||||
ApiStatus action_command_spiny_surge_start(Evt* script, s32 isInitialCall);
|
||||
API_CALLABLE(action_command_spiny_surge_init);
|
||||
API_CALLABLE(action_command_spiny_surge_start);
|
||||
void action_command_spiny_surge_update(void);
|
||||
void action_command_spiny_surge_draw(void);
|
||||
void action_command_spiny_surge_free(void);
|
||||
|
@ -8,7 +8,7 @@ s32 D_802A9920_430940[8] = { 0, 25, 50, 75, 75, 0, 0, 0 };
|
||||
|
||||
extern s32 actionCmdTableSpook[];
|
||||
|
||||
ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(init)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
s32 id;
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
#include "common_structs.h"
|
||||
|
||||
ApiStatus action_command_spook_init(Evt* script, s32 isInitialCall);
|
||||
ApiStatus action_command_spook_start(Evt* script, s32 isInitialCall);
|
||||
API_CALLABLE(action_command_spook_init);
|
||||
API_CALLABLE(action_command_spook_start);
|
||||
void action_command_spook_update(void);
|
||||
void action_command_spook_draw(void);
|
||||
void action_command_spook_free(void);
|
||||
|
@ -8,7 +8,7 @@ s32 D_802A9778_42A498[] = { 300, 300, 265, 220, 175, 175, };
|
||||
|
||||
extern s32 actionCmdTableSquirt[];
|
||||
|
||||
ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(init)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
s32 id;
|
||||
@ -46,7 +46,7 @@ ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus N(start)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(start)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
#include "common_structs.h"
|
||||
|
||||
ApiStatus action_command_squirt_init(Evt* script, s32 isInitialCall);
|
||||
ApiStatus action_command_squirt_start(Evt* script, s32 isInitialCall);
|
||||
API_CALLABLE(action_command_squirt_init);
|
||||
API_CALLABLE(action_command_squirt_start);
|
||||
void action_command_squirt_update(void);
|
||||
void action_command_squirt_draw(void);
|
||||
void action_command_squirt_free(void);
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
extern s32 actionCmdTableStopLeech[];
|
||||
|
||||
ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(init)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
s32 hudElement;
|
||||
@ -40,7 +40,7 @@ ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus N(start)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(start)) {
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
#include "common_structs.h"
|
||||
|
||||
ApiStatus action_command_stop_leech_init(Evt* script, s32 isInitialCall);
|
||||
ApiStatus action_command_stop_leech_start(Evt* script, s32 isInitialCall);
|
||||
API_CALLABLE(action_command_stop_leech_init);
|
||||
API_CALLABLE(action_command_stop_leech_start);
|
||||
void action_command_stop_leech_update(void);
|
||||
void action_command_stop_leech_draw(void);
|
||||
void action_command_stop_leech_free(void);
|
||||
|
@ -8,7 +8,7 @@ HudScript* D_802A97CC_42CEBC[3] = { &HES_AButtonDown, &HES_BButtonHeld, &HES_CDo
|
||||
|
||||
extern s32 actionCmdTableTidalWave[];
|
||||
|
||||
ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(init)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
s32 id;
|
||||
@ -49,7 +49,7 @@ ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
}
|
||||
}
|
||||
|
||||
ApiStatus N(start)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(start)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
#include "common_structs.h"
|
||||
|
||||
ApiStatus action_command_tidal_wave_init(Evt* script, s32 isInitialCall);
|
||||
ApiStatus action_command_tidal_wave_start(Evt* script, s32 isInitialCall);
|
||||
API_CALLABLE(action_command_tidal_wave_init);
|
||||
API_CALLABLE(action_command_tidal_wave_start);
|
||||
void action_command_tidal_wave_update(void);
|
||||
void action_command_tidal_wave_draw(void);
|
||||
void action_command_tidal_wave_free(void);
|
||||
|
@ -109,7 +109,7 @@ HudScript* D_802AB184_42C674[] = {
|
||||
|
||||
extern s32 actionCmdTableWaterBlock[];
|
||||
|
||||
ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(init)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
@ -214,7 +214,7 @@ ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus N(start)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(start)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
#include "common_structs.h"
|
||||
|
||||
ApiStatus action_command_water_block_init(Evt* script, s32 isInitialCall);
|
||||
ApiStatus action_command_water_block_start(Evt* script, s32 isInitialCall);
|
||||
API_CALLABLE(action_command_water_block_init);
|
||||
API_CALLABLE(action_command_water_block_start);
|
||||
void action_command_water_block_update(void);
|
||||
void action_command_water_block_draw(void);
|
||||
void action_command_water_block_free(void);
|
||||
|
@ -61,7 +61,7 @@ s32 D_802AA8B4_425524[] = { 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1 };
|
||||
|
||||
extern s32 actionCmdTableWhirlwind[];
|
||||
|
||||
ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(init)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
@ -117,7 +117,7 @@ ApiStatus N(init)(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus N(start)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(start)) {
|
||||
ActionCommandStatus* actionCommandStatus = &gActionCommandStatus;
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
#include "common_structs.h"
|
||||
|
||||
ApiStatus action_command_whirlwind_init(Evt* script, s32 isInitialCall);
|
||||
ApiStatus action_command_whirlwind_start(Evt* script, s32 isInitialCall);
|
||||
API_CALLABLE(action_command_whirlwind_init);
|
||||
API_CALLABLE(action_command_whirlwind_start);
|
||||
void action_command_whirlwind_update(void);
|
||||
void action_command_whirlwind_draw(void);
|
||||
void action_command_whirlwind_free(void);
|
||||
|
@ -64,7 +64,7 @@ ActorPartBlueprint N(partsTable_80220C14)[] = {
|
||||
.defenseTable = N(defenseTable_80220B40),
|
||||
.eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP,
|
||||
.elementImmunityFlags = 0,
|
||||
.unk_1D = 246,
|
||||
.projectileTargetOffset = { 0, -10 },
|
||||
},
|
||||
};
|
||||
|
||||
@ -421,7 +421,7 @@ EvtScript N(80221DE0) = {
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_80221D20)))
|
||||
EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(defenseTable_80220B54)))
|
||||
EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 15)
|
||||
EVT_CALL(func_8027D4C8, ACTOR_SELF, 1, 0, -7)
|
||||
EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, -7)
|
||||
EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_SPIKY_TOP, 0)
|
||||
EVT_CALL(N(SetSpinSmashable), 0)
|
||||
EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_400, 1)
|
||||
@ -708,7 +708,7 @@ EvtScript N(80222F1C) = {
|
||||
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_80221CD4)))
|
||||
EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(defenseTable_80220B40)))
|
||||
EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 22)
|
||||
EVT_CALL(func_8027D4C8, ACTOR_SELF, 1, 0, -10)
|
||||
EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, -10)
|
||||
EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_SPIKY_TOP, 1)
|
||||
EVT_WAIT(1)
|
||||
EVT_CALL(N(SetSpinSmashable), 1)
|
@ -97,7 +97,7 @@ ActorPartBlueprint N(partsTable_8021B460)[] = {
|
||||
.defenseTable = N(defenseTable_8021B2F0),
|
||||
.eventFlags = ACTOR_EVENT_FLAG_0,
|
||||
.elementImmunityFlags = 0,
|
||||
.unk_1D = 246,
|
||||
.projectileTargetOffset = { 0, -10 },
|
||||
},
|
||||
{
|
||||
.flags = ACTOR_PART_FLAG_MULTI_TARGET,
|
||||
@ -109,7 +109,7 @@ ActorPartBlueprint N(partsTable_8021B460)[] = {
|
||||
.defenseTable = N(defenseTable_8021B2FC),
|
||||
.eventFlags = ACTOR_EVENT_FLAG_GROUNDABLE,
|
||||
.elementImmunityFlags = 0,
|
||||
.unk_1D = 246,
|
||||
.projectileTargetOffset = { 0, -10 },
|
||||
},
|
||||
{
|
||||
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET,
|
||||
@ -121,7 +121,7 @@ ActorPartBlueprint N(partsTable_8021B460)[] = {
|
||||
.defenseTable = N(defenseTable_8021B2F0),
|
||||
.eventFlags = ACTOR_EVENT_FLAG_0,
|
||||
.elementImmunityFlags = 0,
|
||||
.unk_1D = 246,
|
||||
.projectileTargetOffset = { 0, -10 },
|
||||
},
|
||||
{
|
||||
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET,
|
||||
@ -133,7 +133,7 @@ ActorPartBlueprint N(partsTable_8021B460)[] = {
|
||||
.defenseTable = N(defenseTable_8021B2F0),
|
||||
.eventFlags = ACTOR_EVENT_FLAG_0,
|
||||
.elementImmunityFlags = 0,
|
||||
.unk_1D = 246,
|
||||
.projectileTargetOffset = { 0, -10 },
|
||||
},
|
||||
};
|
||||
|
@ -55,7 +55,7 @@ ActorPartBlueprint N(partsTable_80218828)[] = {
|
||||
.defenseTable = N(defenseTable_80218770),
|
||||
.eventFlags = ACTOR_EVENT_FLAG_0,
|
||||
.elementImmunityFlags = 0,
|
||||
.unk_1D = 246,
|
||||
.projectileTargetOffset = { 0, -10 },
|
||||
},
|
||||
};
|
||||
|
@ -70,7 +70,7 @@ ActorPartBlueprint N(partsTable_80225D4C)[] = {
|
||||
.defenseTable = N(defenseTable_80225C94),
|
||||
.eventFlags = ACTOR_EVENT_FLAG_0,
|
||||
.elementImmunityFlags = 0,
|
||||
.unk_1D = 246,
|
||||
.projectileTargetOffset = { 0, -10 },
|
||||
},
|
||||
};
|
||||
|
@ -88,7 +88,7 @@ ActorPartBlueprint N(partsTable_80223D30)[] = {
|
||||
.defenseTable = N(defenseTable_80223C78),
|
||||
.eventFlags = ACTOR_EVENT_FLAG_0,
|
||||
.elementImmunityFlags = 0,
|
||||
.unk_1D = 246,
|
||||
.projectileTargetOffset = { 0, -10 },
|
||||
},
|
||||
{
|
||||
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000,
|
||||
@ -100,7 +100,7 @@ ActorPartBlueprint N(partsTable_80223D30)[] = {
|
||||
.defenseTable = N(defenseTable_80223C78),
|
||||
.eventFlags = ACTOR_EVENT_FLAG_0,
|
||||
.elementImmunityFlags = 0,
|
||||
.unk_1D = 246,
|
||||
.projectileTargetOffset = { 0, -10 },
|
||||
},
|
||||
};
|
||||
|
||||
@ -142,7 +142,7 @@ EvtScript N(init_80223DA0) = {
|
||||
EVT_END
|
||||
};
|
||||
|
||||
ApiStatus N(func_80218680_4FF0D0)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(func_80218680_4FF0D0)) {
|
||||
Bytecode *args = script->ptrReadPos;
|
||||
EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++);
|
||||
|
@ -16,85 +16,85 @@ extern Stage N(arn_04);
|
||||
extern Stage N(arn_05);
|
||||
extern Stage N(arn_06);
|
||||
|
||||
Formation N(formation_00) = {
|
||||
Formation N(Formation_00) = {
|
||||
{ .actor = &N(hypergoomba), .home = { .index = 1 }, .priority = 10 },
|
||||
};
|
||||
|
||||
Formation N(formation_01) = {
|
||||
Formation N(Formation_01) = {
|
||||
{ .actor = &N(hypergoomba), .home = { .index = 1 }, .priority = 10 },
|
||||
{ .actor = &N(hypergoomba), .home = { .index = 2 }, .priority = 9 },
|
||||
};
|
||||
|
||||
Formation N(formation_02) = {
|
||||
Formation N(Formation_02) = {
|
||||
{ .actor = &N(hypergoomba), .home = { .index = 0 }, .priority = 10 },
|
||||
{ .actor = &N(hypergoomba), .home = { .index = 1 }, .priority = 9 },
|
||||
{ .actor = &N(hypergoomba), .home = { .index = 2 }, .priority = 8 },
|
||||
};
|
||||
|
||||
Formation N(formation_03) = {
|
||||
Formation N(Formation_03) = {
|
||||
{ .actor = &N(hypergoomba), .home = { .index = 0 }, .priority = 10 },
|
||||
{ .actor = &N(hypergoomba), .home = { .index = 1 }, .priority = 9 },
|
||||
{ .actor = &N(hyper_paragoomba), .home = { .index = 6 }, .priority = 8 },
|
||||
};
|
||||
|
||||
Formation N(formation_04) = {
|
||||
Formation N(Formation_04) = {
|
||||
{ .actor = &N(hypergoomba), .home = { .index = 0 }, .priority = 10 },
|
||||
{ .actor = &N(hypergoomba), .home = { .index = 1 }, .priority = 9 },
|
||||
{ .actor = &N(hypergoomba), .home = { .index = 2 }, .priority = 8 },
|
||||
{ .actor = &N(hyper_paragoomba), .home = { .index = 7 }, .priority = 7 },
|
||||
};
|
||||
|
||||
Formation N(formation_05) = {
|
||||
Formation N(Formation_05) = {
|
||||
{ .actor = &N(hypergoomba), .home = { .index = 0 }, .priority = 10 },
|
||||
{ .actor = &N(hypergoomba), .home = { .index = 1 }, .priority = 9 },
|
||||
{ .actor = &N(hyper_paragoomba), .home = { .index = 6 }, .priority = 8 },
|
||||
{ .actor = &N(hypergoomba), .home = { .index = 3 }, .priority = 7 },
|
||||
};
|
||||
|
||||
Formation N(formation_06) = {
|
||||
Formation N(Formation_06) = {
|
||||
{ .actor = &N(hyper_paragoomba), .home = { .index = 5 }, .priority = 10 },
|
||||
};
|
||||
|
||||
Formation N(formation_07) = {
|
||||
Formation N(Formation_07) = {
|
||||
{ .actor = &N(hyper_paragoomba), .home = { .index = 5 }, .priority = 10 },
|
||||
{ .actor = &N(hyper_paragoomba), .home = { .index = 6 }, .priority = 9 },
|
||||
};
|
||||
|
||||
Formation N(formation_08) = {
|
||||
Formation N(Formation_08) = {
|
||||
{ .actor = &N(hyper_paragoomba), .home = { .index = 4 }, .priority = 10 },
|
||||
{ .actor = &N(hyper_paragoomba), .home = { .index = 5 }, .priority = 9 },
|
||||
{ .actor = &N(hyper_paragoomba), .home = { .index = 6 }, .priority = 8 },
|
||||
};
|
||||
|
||||
Formation N(formation_09) = {
|
||||
Formation N(Formation_09) = {
|
||||
{ .actor = &N(hyper_paragoomba), .home = { .index = 4 }, .priority = 10 },
|
||||
{ .actor = &N(hyper_paragoomba), .home = { .index = 5 }, .priority = 9 },
|
||||
{ .actor = &N(hyper_paragoomba), .home = { .index = 6 }, .priority = 8 },
|
||||
{ .actor = &N(hyper_paragoomba), .home = { .index = 7 }, .priority = 7 },
|
||||
};
|
||||
|
||||
Formation N(formation_0A) = {
|
||||
Formation N(Formation_0A) = {
|
||||
{ .actor = &N(hyper_cleft), .home = { .index = 1 }, .priority = 10 },
|
||||
};
|
||||
|
||||
Formation N(formation_0B) = {
|
||||
Formation N(Formation_0B) = {
|
||||
{ .actor = &N(hyper_cleft), .home = { .index = 1 }, .priority = 10 },
|
||||
{ .actor = &N(hyper_cleft), .home = { .index = 2 }, .priority = 9 },
|
||||
};
|
||||
|
||||
Formation N(formation_0C) = {
|
||||
Formation N(Formation_0C) = {
|
||||
{ .actor = &N(hyper_cleft), .home = { .index = 0 }, .priority = 10 },
|
||||
{ .actor = &N(hyper_cleft), .home = { .index = 1 }, .priority = 9 },
|
||||
{ .actor = &N(hyper_cleft), .home = { .index = 2 }, .priority = 8 },
|
||||
};
|
||||
|
||||
Formation N(formation_0D) = {
|
||||
Formation N(Formation_0D) = {
|
||||
{ .actor = &N(hyper_cleft), .home = { .index = 0 }, .priority = 10 },
|
||||
{ .actor = &N(hypergoomba), .home = { .index = 1 }, .priority = 9 },
|
||||
{ .actor = &N(hypergoomba), .home = { .index = 2 }, .priority = 8 },
|
||||
};
|
||||
|
||||
Formation N(formation_0E) = {
|
||||
Formation N(Formation_0E) = {
|
||||
{ .actor = &N(hyper_cleft), .home = { .index = 0 }, .priority = 10 },
|
||||
{ .actor = &N(hyper_cleft), .home = { .index = 1 }, .priority = 9 },
|
||||
{ .actor = &N(hypergoomba), .home = { .index = 2 }, .priority = 8 },
|
||||
@ -103,38 +103,38 @@ Formation N(formation_0E) = {
|
||||
|
||||
Vec3i N(vector3D_802280C0) = { 90, 20, 0 };
|
||||
|
||||
Formation N(formation_0F) = {
|
||||
Formation N(Formation_0F) = {
|
||||
{ .actor = &N(tubbas_heart), .home = { .vec = &N(vector3D_802280C0) }, .priority = 10 },
|
||||
};
|
||||
|
||||
Vec3i N(vector3D_802280E8) = { 75, 0, 10 };
|
||||
|
||||
Formation N(formation_10) = {
|
||||
Formation N(Formation_10) = {
|
||||
{ .actor = &N(tubba_blubba), .home = { .vec = &N(vector3D_802280E8) }, .priority = 10 },
|
||||
};
|
||||
|
||||
BattleList N(formationTable) = {
|
||||
BATTLE("ハイパークリボー", N(formation_00), &N(arn_01)),
|
||||
BATTLE("ハイパークリボーx2", N(formation_01), &N(arn_01)),
|
||||
BATTLE("ハイパークリボーx3", N(formation_02), &N(arn_01)),
|
||||
BATTLE("ハイパークリボーx2,ハイパーパタクリボー", N(formation_03), &N(arn_01)),
|
||||
BATTLE("ハイパークリボーx3,ハイパーパタクリボー", N(formation_04), &N(arn_01)),
|
||||
BATTLE("ハイパークリボーx2,ハイパーパタクリボー,ハイパークリボー", N(formation_05), &N(arn_01)),
|
||||
BATTLE("ハイパーパタクリボー", N(formation_06), &N(arn_01)),
|
||||
BATTLE("ハイパーパタクリボーx2", N(formation_07), &N(arn_01)),
|
||||
BATTLE("ハイパーパタクリボーx3", N(formation_08), &N(arn_01)),
|
||||
BATTLE("ハイパーパタクリボーx4", N(formation_09), &N(arn_01)),
|
||||
BATTLE("ハイパーシンエモン", N(formation_0A), &N(arn_01)),
|
||||
BATTLE("ハイパーシンエモンx2", N(formation_0B), &N(arn_01)),
|
||||
BATTLE("ハイパーシンエモンx3", N(formation_0C), &N(arn_01)),
|
||||
BATTLE("ハイパーシンエモン,ハイパークリボーx2", N(formation_0D), &N(arn_01)),
|
||||
BATTLE("ハイパーシンエモンx2,ハイパークリボーx2", N(formation_0E), &N(arn_01)),
|
||||
BATTLE("ドガボンしんぞう", N(formation_0F), &N(arn_06)),
|
||||
BATTLE("ドガボン", N(formation_10), &N(arn_01)),
|
||||
BattleList N(Formations) = {
|
||||
BATTLE(N(Formation_00), &N(arn_01), "ハイパークリボー"),
|
||||
BATTLE(N(Formation_01), &N(arn_01), "ハイパークリボーx2"),
|
||||
BATTLE(N(Formation_02), &N(arn_01), "ハイパークリボーx3"),
|
||||
BATTLE(N(Formation_03), &N(arn_01), "ハイパークリボーx2,ハイパーパタクリボー"),
|
||||
BATTLE(N(Formation_04), &N(arn_01), "ハイパークリボーx3,ハイパーパタクリボー"),
|
||||
BATTLE(N(Formation_05), &N(arn_01), "ハイパークリボーx2,ハイパーパタクリボー,ハイパークリボー"),
|
||||
BATTLE(N(Formation_06), &N(arn_01), "ハイパーパタクリボー"),
|
||||
BATTLE(N(Formation_07), &N(arn_01), "ハイパーパタクリボーx2"),
|
||||
BATTLE(N(Formation_08), &N(arn_01), "ハイパーパタクリボーx3"),
|
||||
BATTLE(N(Formation_09), &N(arn_01), "ハイパーパタクリボーx4"),
|
||||
BATTLE(N(Formation_0A), &N(arn_01), "ハイパーシンエモン"),
|
||||
BATTLE(N(Formation_0B), &N(arn_01), "ハイパーシンエモンx2"),
|
||||
BATTLE(N(Formation_0C), &N(arn_01), "ハイパーシンエモンx3"),
|
||||
BATTLE(N(Formation_0D), &N(arn_01), "ハイパーシンエモン,ハイパークリボーx2"),
|
||||
BATTLE(N(Formation_0E), &N(arn_01), "ハイパーシンエモンx2,ハイパークリボーx2"),
|
||||
BATTLE(N(Formation_0F), &N(arn_06), "ドガボンしんぞう"),
|
||||
BATTLE(N(Formation_10), &N(arn_01), "ドガボン"),
|
||||
{},
|
||||
};
|
||||
|
||||
StageList N(stageTable) = {
|
||||
StageList N(Stages) = {
|
||||
{ "arn_01", &N(arn_01) },
|
||||
{ "arn_02", &N(arn_02) },
|
||||
{ "arn_03", &N(arn_03) },
|
@ -71,7 +71,7 @@ ActorPartBlueprint N(partsTable_80218D24)[] = {
|
||||
.defenseTable = N(defenseTable_80218C6C),
|
||||
.eventFlags = ACTOR_EVENT_FLAG_0,
|
||||
.elementImmunityFlags = 0,
|
||||
.unk_1D = 246,
|
||||
.projectileTargetOffset = { 0, -10 },
|
||||
},
|
||||
};
|
||||
|
@ -12,22 +12,22 @@ extern Stage N(dgb_03);
|
||||
extern Stage N(dgb_04);
|
||||
extern Stage N(dgb_05);
|
||||
|
||||
Formation N(formation_00) = {
|
||||
Formation N(Formation_00) = {
|
||||
{ .actor = &N(clubba), .home = { .index = 1 }, .priority = 10 },
|
||||
};
|
||||
|
||||
Formation N(formation_01) = {
|
||||
Formation N(Formation_01) = {
|
||||
{ .actor = &N(clubba), .home = { .index = 1 }, .priority = 10 },
|
||||
{ .actor = &N(clubba), .home = { .index = 2 }, .priority = 9 },
|
||||
};
|
||||
|
||||
Formation N(formation_02) = {
|
||||
Formation N(Formation_02) = {
|
||||
{ .actor = &N(clubba), .home = { .index = 0 }, .priority = 10 },
|
||||
{ .actor = &N(clubba), .home = { .index = 1 }, .priority = 9 },
|
||||
{ .actor = &N(clubba), .home = { .index = 2 }, .priority = 8 },
|
||||
};
|
||||
|
||||
Formation N(formation_03) = {
|
||||
Formation N(Formation_03) = {
|
||||
{ .actor = &N(clubba), .home = { .index = 0 }, .priority = 10 },
|
||||
{ .actor = &N(clubba), .home = { .index = 1 }, .priority = 9 },
|
||||
{ .actor = &N(clubba), .home = { .index = 2 }, .priority = 8 },
|
||||
@ -36,25 +36,25 @@ Formation N(formation_03) = {
|
||||
|
||||
Vec3i N(vector3D_8021B348) = { 75, 0, 10 };
|
||||
|
||||
Formation N(formation_04) = {
|
||||
Formation N(Formation_04) = {
|
||||
{ .actor = &N(tubba_blubba), .home = { .vec = &N(vector3D_8021B348) }, .priority = 10 },
|
||||
};
|
||||
|
||||
Formation N(formation_05) = {
|
||||
Formation N(Formation_05) = {
|
||||
{ .actor = &N(tubba_blubba), .home = { .vec = &N(vector3D_8021B348) }, .priority = 10, .var0 = 1 },
|
||||
};
|
||||
|
||||
BattleList N(formationTable) = {
|
||||
BATTLE("ガボンへい", N(formation_00), &N(dgb_01)),
|
||||
BATTLE("ガボンへいx2", N(formation_01), &N(dgb_01)),
|
||||
BATTLE("ガボンへいx3", N(formation_02), &N(dgb_01)),
|
||||
BATTLE("ガボンへいx4", N(formation_03), &N(dgb_01)),
|
||||
BATTLE("むてきドガボン", N(formation_04), &N(dgb_01)),
|
||||
BATTLE("むてきドガボンせりふなし", N(formation_05), &N(dgb_01)),
|
||||
BattleList N(Formations) = {
|
||||
BATTLE(N(Formation_00), &N(dgb_01), "ガボンへい"),
|
||||
BATTLE(N(Formation_01), &N(dgb_01), "ガボンへいx2"),
|
||||
BATTLE(N(Formation_02), &N(dgb_01), "ガボンへいx3"),
|
||||
BATTLE(N(Formation_03), &N(dgb_01), "ガボンへいx4"),
|
||||
BATTLE(N(Formation_04), &N(dgb_01), "むてきドガボン"),
|
||||
BATTLE(N(Formation_05), &N(dgb_01), "むてきドガボンせりふなし"),
|
||||
{},
|
||||
};
|
||||
|
||||
StageList N(stageTable) = {
|
||||
StageList N(Stages) = {
|
||||
{ "dgb_01", &N(dgb_01) },
|
||||
{ "dgb_02", &N(dgb_02) },
|
||||
{ "dgb_03", &N(dgb_03) },
|
@ -70,8 +70,7 @@ ActorPartBlueprint N(parts)[] = {
|
||||
.defenseTable = N(defenseTable),
|
||||
.eventFlags = 0,
|
||||
.elementImmunityFlags = 0,
|
||||
.unk_1C = 0,
|
||||
.unk_1D = -10,
|
||||
.projectileTargetOffset = { 0, -10 },
|
||||
},
|
||||
};
|
||||
|
@ -23,46 +23,46 @@ extern EvtScript N(dig_03_script);
|
||||
extern EvtScript N(dig_04_script);
|
||||
extern EvtScript N(dig_05_script);
|
||||
|
||||
Formation N(formation_00) = {
|
||||
Formation N(Formation_00) = {
|
||||
{ .actor = &N(fuzzy), .home = { .index = 0 }, .priority = 10, },
|
||||
{ .actor = &N(fuzzy), .home = { .index = 1 }, .priority = 9, },
|
||||
{ .actor = &N(fuzzy), .home = { .index = 2 }, .priority = 8, },
|
||||
{ .actor = &N(fuzzy), .home = { .index = 3 }, .priority = 7, },
|
||||
};
|
||||
|
||||
Formation N(formation_01) = {
|
||||
Formation N(Formation_01) = {
|
||||
{ .actor = &N(monty_mole), .home = { .index = 1 }, .priority = 10, },
|
||||
{ .actor = &N(monty_mole), .home = { .index = 2 }, .priority = 9, },
|
||||
{ .actor = &N(monty_mole), .home = { .index = 3 }, .priority = 8, },
|
||||
};
|
||||
|
||||
Formation N(formation_02) = {
|
||||
Formation N(Formation_02) = {
|
||||
{ .actor = &N(pokey), .home = { .index = 1 }, .priority = 10, },
|
||||
{ .actor = &N(bandit), .home = { .index = 2 }, .priority = 9, },
|
||||
{ .actor = &N(pokey), .home = { .index = 3 }, .priority = 8, },
|
||||
};
|
||||
|
||||
Formation N(formation_03) = {
|
||||
Formation N(Formation_03) = {
|
||||
{ .actor = &N(red_shy_guy), .home = { .index = 0 }, .priority = 10, },
|
||||
{ .actor = &N(red_shy_guy), .home = { .index = 1 }, .priority = 9, },
|
||||
{ .actor = &N(red_shy_guy), .home = { .index = 2 }, .priority = 8, },
|
||||
{ .actor = &N(red_shy_guy), .home = { .index = 3 }, .priority = 7, },
|
||||
};
|
||||
|
||||
Formation N(formation_04) = {
|
||||
Formation N(Formation_04) = {
|
||||
{ .actor = &N(tubba_blubba), .home = { .index = 2 }, .priority = 10, },
|
||||
};
|
||||
|
||||
BattleList N(formationTable) = {
|
||||
BATTLE_WITH_SCRIPT("ダイジェスト01", N(formation_00), &N(dig_01), &N(dig_01_script)),
|
||||
BATTLE_WITH_SCRIPT("ダイジェスト02", N(formation_01), &N(dig_02), &N(dig_02_script)),
|
||||
BATTLE_WITH_SCRIPT("ダイジェスト03", N(formation_02), &N(dig_03), &N(dig_03_script)),
|
||||
BATTLE_WITH_SCRIPT("ダイジェスト04", N(formation_03), &N(dig_04), &N(dig_04_script)),
|
||||
BATTLE_WITH_SCRIPT("ダイジェスト05", N(formation_04), &N(dig_05), &N(dig_05_script)),
|
||||
BattleList N(Formations) = {
|
||||
BATTLE_WITH_SCRIPT(N(Formation_00), &N(dig_01), &N(dig_01_script), "ダイジェスト01"),
|
||||
BATTLE_WITH_SCRIPT(N(Formation_01), &N(dig_02), &N(dig_02_script), "ダイジェスト02"),
|
||||
BATTLE_WITH_SCRIPT(N(Formation_02), &N(dig_03), &N(dig_03_script), "ダイジェスト03"),
|
||||
BATTLE_WITH_SCRIPT(N(Formation_03), &N(dig_04), &N(dig_04_script), "ダイジェスト04"),
|
||||
BATTLE_WITH_SCRIPT(N(Formation_04), &N(dig_05), &N(dig_05_script), "ダイジェスト05"),
|
||||
{},
|
||||
};
|
||||
|
||||
StageList N(stageTable) = {
|
||||
StageList N(Stages) = {
|
||||
{ "dig_01", &N(dig_01) },
|
||||
{ "dig_02", &N(dig_02) },
|
||||
{ "dig_03", &N(dig_03) },
|
@ -5,7 +5,7 @@
|
||||
|
||||
#include "common/Set80218630_Var0.inc.c"
|
||||
|
||||
ApiStatus func_80218644_6DE404(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(func_80218644_6DE404) {
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
Actor* player = battleStatus->playerActor;
|
||||
SelectableTarget* selectableTarget;
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user