battle substates cleanup I (#906)

* cleanup in progress

* celebrate done

* progress

* etc

* substate enums done

* flag fixup

* brevity

* msg name fix

Co-authored-by: HailSanta <Hail2Santa@gmail.com>
This commit is contained in:
HailSanta 2023-01-10 01:33:09 -05:00 committed by GitHub
parent 403f796246
commit cc3a146066
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
226 changed files with 3802 additions and 3125 deletions

View File

@ -1863,18 +1863,18 @@ typedef struct Actor {
/* 0x1BA */ char unk_1BA[2];
/* 0x1BC */ s8 hpFraction; /* used to render HP bar */
/* 0x1BD */ char unk_1BD[3];
/* 0x1C0 */ EvtScript* idleScriptSource;
/* 0x1C4 */ EvtScript* takeTurnScriptSource;
/* 0x1C8 */ EvtScript* onHitScriptSource;
/* 0x1CC */ EvtScript* onTurnChanceScriptSource;
/* 0x1C0 */ EvtScript* idleSource;
/* 0x1C4 */ EvtScript* takeTurnSource;
/* 0x1C8 */ EvtScript* handleEventSource;
/* 0x1CC */ EvtScript* handlePhaseSource;
/* 0x1D0 */ struct Evt* idleScript;
/* 0x1D4 */ struct Evt* takeTurnScript;
/* 0x1D8 */ struct Evt* onHitScript;
/* 0x1DC */ struct Evt* onTurnChangeScript;
/* 0x1D8 */ struct Evt* handleEventScript;
/* 0x1DC */ struct Evt* handlePhaseScript;
/* 0x1E0 */ s32 idleScriptID;
/* 0x1E4 */ s32 takeTurnID;
/* 0x1E8 */ s32 onHitID;
/* 0x1EC */ s32 onTurnChangeID;
/* 0x1E4 */ s32 takeTurnScriptID;
/* 0x1E8 */ s32 handleEventScriptID;
/* 0x1EC */ s32 handleBatttlePhaseScriptID;
/* 0x1F0 */ s8 lastEventType;
/* 0x1F1 */ s8 turnPriority;
/* 0x1F2 */ s8 enemyIndex; /* actorID = this | 200 */

View File

@ -1295,7 +1295,7 @@ typedef struct DisableXFXData {
/* 0x30 */ f32 unk_30;
/* 0x34 */ f32 scale;
/* 0x38 */ s32 unk_38;
/* 0x3C */ s32 unk_3C;
/* 0x3C */ s32 koDuration;
/* 0x40 */ f32 unk_40;
/* 0x44 */ s32 unk_44;
} DisableXFXData; // size = 0x48

View File

@ -4050,13 +4050,13 @@ enum BattleStatusFlags1 {
BS_FLAGS1_100000 = 0x00100000, // player in back (after pressing z)
BS_FLAGS1_200000 = 0x00200000, // enemy turn pending
BS_FLAGS1_PLAYER_DEFENDING = 0x00400000, // player is defending
BS_FLAGS1_800000 = 0x00800000, // dont game over on loss
BS_FLAGS1_NO_GAME_OVER = 0x00800000, // dont game over on loss
BS_FLAGS1_STAR_POINTS_DROPPED = 0x01000000,
BS_FLAGS1_2000000 = 0x02000000,
BS_FLAGS1_HUSTLE_DRINK_ON = 0x04000000,
BS_FLAGS1_HUSTLED = 0x04000000,
BS_FLAGS1_8000000 = 0x08000000,
BS_FLAGS1_10000000 = 0x10000000, // prevent hammer charge
BS_FLAGS1_20000000 = 0x20000000, // prevent jump charge
BS_FLAGS1_HAMMER_CHARGED = 0x10000000,
BS_FLAGS1_JUMP_CHARGED = 0x20000000,
BS_FLAGS1_40000000 = 0x40000000,
BS_FLAGS1_ATK_BLOCKED = 0x80000000,
};
@ -4067,8 +4067,8 @@ enum BattleStatusFlags2 {
BS_FLAGS2_4 = 0x00000004,
BS_FLAGS2_8 = 0x00000008,
BS_FLAGS2_10 = 0x00000010,
BS_FLAGS2_20 = 0x00000020,
BS_FLAGS2_40 = 0x00000040,
BS_FLAGS2_CANT_FLEE = 0x00000020,
BS_FLAGS2_PEACH_BATTLE = 0x00000040,
BS_FLAGS2_80 = 0x00000080,
BS_FLAGS2_100 = 0x00000100,
BS_FLAGS2_200 = 0x00000200,
@ -4081,7 +4081,7 @@ enum BattleStatusFlags2 {
BS_FLAGS2_1000000 = 0x01000000,
BS_FLAGS2_2000000 = 0x02000000,
BS_FLAGS2_4000000 = 0x04000000,
BS_FLAGS2_8000000 = 0x08000000,
BS_FLAGS2_HAS_RUSH = 0x08000000,
BS_FLAGS2_10000000 = 0x10000000,
};
@ -4126,205 +4126,488 @@ enum BattleStates {
};
enum BattleSubStates {
BATTLE_SUB_STATE_UNK_0 = 0x00000000,
BATTLE_SUB_STATE_UNK_1 = 0x00000001,
BATTLE_SUB_STATE_UNK_2 = 0x00000002,
BATTLE_SUB_STATE_UNK_3 = 0x00000003,
BATTLE_SUB_STATE_UNK_4 = 0x00000004,
BATTLE_SUB_STATE_BEGIN_LEVEL_UP = 0x00000005,
BATTLE_SUB_STATE_LEVEL_UP_SHOW_HUD = 0x00000006,
BATTLE_SUB_STATE_UNK_7 = 0x00000007,
BATTLE_SUB_STATE_UNK_8 = 0x00000008,
BATTLE_SUB_STATE_UNK_9 = 0x00000009,
BATTLE_SUB_STATE_PLAYER_DEFEATED = 0x0000000A,
BATTLE_SUB_STATE_UNK_B = 0x0000000B,
BATTLE_SUB_STATE_UNK_C = 0x0000000C,
BATTLE_SUB_STATE_UNK_D = 0x0000000D,
BATTLE_SUB_STATE_UNK_E = 0x0000000E,
BATTLE_SUB_STATE_UNK_F = 0x0000000F,
BATTLE_SUB_STATE_UNK_10 = 0x00000010,
BATTLE_SUB_STATE_UNK_14 = 0x00000014,
BATTLE_SUB_STATE_UNK_15 = 0x00000015,
BATTLE_SUB_STATE_UNK_16 = 0x00000016,
BATTLE_SUB_STATE_UNK_17 = 0x00000017,
BATTLE_SUB_STATE_UNK_18 = 0x00000018,
BATTLE_SUB_STATE_UNK_1E = 0x0000001E,
BATTLE_SUB_STATE_UNK_1F = 0x0000001F,
BATTLE_SUB_STATE_UNK_20 = 0x00000020,
BATTLE_SUB_STATE_UNK_21 = 0x00000021,
BATTLE_SUB_STATE_UNK_22 = 0x00000022,
BATTLE_SUB_STATE_UNK_28 = 0x00000028,
BATTLE_SUB_STATE_UNK_29 = 0x00000029,
BATTLE_SUB_STATE_UNK_2A = 0x0000002A,
BATTLE_SUB_STATE_UNK_2B = 0x0000002B,
BATTLE_SUB_STATE_UNK_2C = 0x0000002C,
BATTLE_SUB_STATE_UNK_33 = 0x00000033,
BATTLE_SUB_STATE_UNK_34 = 0x00000034,
BATTLE_SUB_STATE_UNK_35 = 0x00000035,
BATTLE_SUB_STATE_UNK_36 = 0x00000036,
BATTLE_SUB_STATE_UNK_3D = 0x0000003D,
BATTLE_SUB_STATE_UNK_3E = 0x0000003E,
BATTLE_SUB_STATE_UNK_3F = 0x0000003F,
BATTLE_SUB_STATE_UNK_40 = 0x00000040,
BATTLE_SUB_STATE_UNK_41 = 0x00000041,
BATTLE_SUB_STATE_UNK_46 = 0x00000046,
BATTLE_SUB_STATE_UNK_64 = 0x00000064,
BATTLE_SUB_STATE_UNK_C8 = 0x000000C8,
BATTLE_SUB_STATE_UNK_C9 = 0x000000C9,
BATTLE_SUB_STATE_UNK_CA = 0x000000CA,
BATTLE_SUB_STATE_UNK_CB = 0x000000CB,
BATTLE_SUB_STATE_UNK_CC = 0x000000CC,
BATTLE_SUB_STATE_UNK_CD = 0x000000CD,
BATTLE_SUB_STATE_UNK_12C = 0x0000012C,
BATTLE_SUB_STATE_UNK_12D = 0x0000012D,
BATTLE_SUB_STATE_UNK_12E = 0x0000012E,
// shared
BTL_SUBSTATE_INIT = 0,
// BATTLE_STATE_NORMAL_START
BTL_SUBSTATE_NORMAL_START_UNK_0 = 0,
BTL_SUBSTATE_NORMAL_START_UNK_1 = 1,
BTL_SUBSTATE_NORMAL_START_UNK_4 = 4,
BTL_SUBSTATE_NORMAL_START_UNK_7 = 7,
BTL_SUBSTATE_NORMAL_START_UNK_8 = 8,
// BATTLE_STATE_FIRST_STRIKE
BTL_SUBSTATE_FIRST_STRIKE_UNK_0 = 0,
BTL_SUBSTATE_FIRST_STRIKE_UNK_1 = 1,
BTL_SUBSTATE_FIRST_STRIKE_UNK_2 = 2,
BTL_SUBSTATE_FIRST_STRIKE_UNK_3 = 3,
// BATTLE_STATE_PARTNER_FIRST_STRIKE
BTL_SUBSTATE_PARTNER_FIRST_STRIKE_UNK_0 = 0,
BTL_SUBSTATE_PARTNER_FIRST_STRIKE_UNK_1 = 1,
BTL_SUBSTATE_PARTNER_FIRST_STRIKE_UNK_2 = 2,
BTL_SUBSTATE_PARTNER_FIRST_STRIKE_UNK_3 = 3,
// BATTLE_STATE_ENEMY_FIRST_STRIKE
BTL_SUBSTATE_ENEMY_FIRST_STRIKE_UNK_0 = 0,
BTL_SUBSTATE_ENEMY_FIRST_STRIKE_UNK_2 = 2,
// BATTLE_STATE_BEGIN_TURN
BTL_SUBSTATE_BEGIN_TURN_INIT = 0,
BTL_SUBSTATE_BEGIN_TURN_AWAIT_ENEMY_SCRIPTS = 5,
BTL_SUBSTATE_BEGIN_TURN_AWAIT_ENEMY_DEATH = 10,
// BATTLE_STATE_END_TURN
BTL_SUBSTATE_END_TURN_INIT = 0,
BTL_SUBSTATE_END_TURN_CHECK_FOR_SWAP = 1,
BTL_SUBSTATE_END_TURN_AWAIT_SCRIPTS = 2,
BTL_SUBSTATE_END_TURN_BEGIN_NEXT = 3,
BTL_SUBSTATE_END_TURN_UNK_4 = 4,
BTL_SUBSTATE_END_TURN_PERFORM_SWAP = 11,
BTL_SUBSTATE_END_TURN_START_SCRIPTS = 12,
// BATTLE_STATE_BEGIN_PLAYER_TURN
BTL_SUBSTATE_BEGIN_PLAYER_TURN_INIT = 0,
BTL_SUBSTATE_BEGIN_PLAYER_TURN_TRY_COMMAND_RECOVER = 1,
BTL_SUBSTATE_BEGIN_PLAYER_TURN_AWAIT_OUTTA_SIGHT = 2,
BTL_SUBSTATE_BEGIN_PLAYER_TURN_CHECK_OUTTA_SIGHT = 10,
BTL_SUBSTATE_BEGIN_PLAYER_TURN_CHECK_CLOUD_NINE = 11,
BTL_SUBSTATE_BEGIN_PLAYER_TURN_AWAIT_CLOUD_NINE = 12,
BTL_SUBSTATE_BEGIN_PLAYER_TURN_CHECK_TURBO_CHARGE = 15,
BTL_SUBSTATE_BEGIN_PLAYER_TURN_AWAIT_TURBO_CHARGE = 16,
BTL_SUBSTATE_BEGIN_PLAYER_TURN_AWAIT_PARTNER_SCRIPT = 20,
BTL_SUBSTATE_BEGIN_PLAYER_TURN_TRY_STATUS_DAMAGE = 21,
BTL_SUBSTATE_BEGIN_PLAYER_TURN_TRY_STATUS_RECOVER = 22,
BTL_SUBSTATE_BEGIN_PLAYER_TURN_END_DELAY = 30,
BTL_SUBSTATE_BEGIN_PLAYER_TURN_RESET_STATE = 100,
// BATTLE_STATE_BEGIN_PARTNER_TURN
BTL_SUBSTATE_BEGIN_PARTNER_TURN_INIT = 0,
BTL_SUBSTATE_BEGIN_PARTNER_TURN_AWAIT_RECOVER_DONE = 1,
BTL_SUBSTATE_BEGIN_PARTNER_TURN_EXEC_TURN_SCRIPT = 8,
BTL_SUBSTATE_BEGIN_PARTNER_TURN_AWAIT_TURN_SCRIPT = 9,
BTL_SUBSTATE_BEGIN_PARTNER_TURN_END_DELAY = 10,
BTL_SUBSTATE_BEGIN_PARTNER_TURN_RESET_STATE = 100,
// BATTLE_STATE_9
BTL_SUBSTATE_9_INIT = 0,
BTL_SUBSTATE_9_1 = 1,
BTL_SUBSTATE_9_2 = 2,
BTL_SUBSTATE_9_3 = 3,
BTL_SUBSTATE_9_4 = 4,
BTL_SUBSTATE_9_5 = 5,
BTL_SUBSTATE_9_6 = 6,
BTL_SUBSTATE_9_7 = 7,
// BATTLE_STATE_9
// BATTLE_STATE_SWITCH_TO_PLAYER
// BATTLE_STATE_SWITCH_TO_PARTNER
// BATTLE_STATE_PREPARE_MENU
BATTLE_SUBSTATE_PREPARE_MENU_UNK_70 = 70,
// BATTLE_STATE_PLAYER_MENU
// BATTLE_STATE_PARTNER_MENU
// BATTLE_STATE_PEACH_MENU
BTL_SUBSTATE_PEACH_MENU_UNK_0 = 0,
BTL_SUBSTATE_PEACH_MENU_UNK_1 = 1,
BTL_SUBSTATE_PEACH_MENU_UNK_2 = 2,
BTL_SUBSTATE_PEACH_MENU_UNK_3 = 3,
BTL_SUBSTATE_PEACH_MENU_UNK_4 = 4,
BTL_SUBSTATE_PEACH_MENU_UNK_5 = 5,
BTL_SUBSTATE_PEACH_MENU_UNK_6 = 6,
BTL_SUBSTATE_PEACH_MENU_UNK_7 = 7,
BTL_SUBSTATE_PEACH_MENU_UNK_8 = 8,
BTL_SUBSTATE_PEACH_MENU_UNK_9 = 9,
BTL_SUBSTATE_PEACH_MENU_UNK_A = 10,
BTL_SUBSTATE_PEACH_MENU_UNK_B = 11,
// BATTLE_STATE_TWINK_MENU
BTL_SUBSTATE_TWINK_MENU_INIT = 0,
BTL_SUBSTATE_TWINK_MENU_UNK_1 = 1,
BTL_SUBSTATE_TWINK_MENU_UNK_2 = 2,
BTL_SUBSTATE_TWINK_MENU_UNK_3 = 3,
BTL_SUBSTATE_TWINK_MENU_UNK_4 = 4,
BTL_SUBSTATE_TWINK_MENU_UNK_5 = 5,
BTL_SUBSTATE_TWINK_MENU_UNK_6 = 6,
BTL_SUBSTATE_TWINK_MENU_UNK_7 = 7,
BTL_SUBSTATE_TWINK_MENU_SHOW_CANT_SWITCH = 8,
BTL_SUBSTATE_TWINK_MENU_AWAIT_CANT_SWITCH_POPUP = 9,
BTL_SUBSTATE_TWINK_MENU_PERFORM_SWAP = 10,
BTL_SUBSTATE_TWINK_MENU_UNK_B = 11,
// BATTLE_STATE_SELECT_TARGET
BTL_SUBSTATE_SELECT_TARGET_INIT = 0,
BTL_SUBSTATE_SELECT_TARGET_CHOOSE = 1,
BTL_SUBSTATE_SELECT_TARGET_DONE = 2,
BTL_SUBSTATE_SELECT_TARGET_CANCEL = 10,
// BATTLE_STATE_PLAYER_MOVE
BTL_SUBSTATE_PLAYER_MOVE_INIT = 0,
BTL_SUBSTATE_PLAYER_MOVE_BEGIN_SHOW_TIP = 1,
BTL_SUBSTATE_PLAYER_MOVE_SHOW_TIP_DELAY = 2,
BTL_SUBSTATE_PLAYER_MOVE_EXECUTE_MOVE = 3,
BTL_SUBSTATE_PLAYER_MOVE_HANDLE_RESULTS = 4,
BTL_SUBSTATE_PLAYER_MOVE_AWAIT_ENEMY_STATUS_POPUP = 11,
BTL_SUBSTATE_PLAYER_MOVE_POST_ENEMY_STATUS_POPUP = 12,
BTL_SUBSTATE_PLAYER_MOVE_CHECK_PLAYER_STATUS = 20,
BTL_SUBSTATE_PLAYER_MOVE_AWAIT_PLAYER_STATUS_POPUP = 21,
BTL_SUBSTATE_PLAYER_MOVE_POST_PLAYER_STATUS_POPUP = 22,
BTL_SUBSTATE_PLAYER_MOVE_AWAIT_DONE = 30,
// BATTLE_STATE_PARTNER_MOVE
BTL_SUBSTATE_PARTNER_MOVE_UNK_0 = 0,
BTL_SUBSTATE_PARTNER_MOVE_UNK_2 = 2,
BTL_SUBSTATE_PARTNER_MOVE_UNK_3 = 3,
BTL_SUBSTATE_PARTNER_MOVE_UNK_B = 11,
BTL_SUBSTATE_PARTNER_MOVE_UNK_C = 12,
BTL_SUBSTATE_PARTNER_MOVE_UNK_14 = 20,
BTL_SUBSTATE_PARTNER_MOVE_UNK_15 = 21,
BTL_SUBSTATE_PARTNER_MOVE_UNK_16 = 22,
BTL_SUBSTATE_PARTNER_MOVE_UNK_1E = 30,
// BATTLE_STATE_NEXT_ENEMY
BTL_SUBSTATE_NEXT_ENEMY_INIT = 0,
BTL_SUBSTATE_NEXT_ENEMY_UNK_1 = 1,
BTL_SUBSTATE_NEXT_ENEMY_DONE = 2, // enemy has been found
// BATTLE_STATE_ENEMY_MOVE
BTL_SUBSTATE_ENEMY_MOVE_EXECUTE = 0,
BTL_SUBSTATE_ENEMY_MOVE_UNK_1 = 1,
BTL_SUBSTATE_ENEMY_MOVE_AWAIT_SCRIPTS = 2,
BTL_SUBSTATE_ENEMY_MOVE_AWAIT_PLAYER_POPUP_DONE = 11, // wait for popups regarding player status to finish
BTL_SUBSTATE_ENEMY_MOVE_POST_PLAYER_POPUP_DELAY = 12, // a brief delay after the popup vanishes
BTL_SUBSTATE_ENEMY_MOVE_CHECK_PARTNER = 20,
BTL_SUBSTATE_ENEMY_MOVE_AWAIT_PARTNER_POPUP_DONE = 21, // wait for popups regarding partner status to finish
BTL_SUBSTATE_ENEMY_MOVE_POST_PARTNER_POPUP_DELAY = 22, // a brief delay after the popup vanishes
BTL_SUBSTATE_ENEMY_MOVE_DONE = 30,
// BATTLE_STATE_END_PLAYER_TURN
BTL_SUBSTATE_END_PLAYER_TURN_UNK_0 = 0,
BTL_SUBSTATE_END_PLAYER_TURN_UNK_5 = 5,
BTL_SUBSTATE_END_PLAYER_TURN_UNK_6 = 6,
BTL_SUBSTATE_END_PLAYER_TURN_UNK_A = 10,
// BATTLE_STATE_END_PARTNER_TURN
// BATTLE_STATE_RUN_AWAY
BTL_SUBSTATE_RUN_AWAY_UNK_0 = 0,
BTL_SUBSTATE_RUN_AWAY_UNK_2 = 2,
BTL_SUBSTATE_RUN_AWAY_UNK_3 = 3,
BTL_SUBSTATE_RUN_AWAY_UNK_4 = 4,
BTL_SUBSTATE_RUN_AWAY_UNK_A = 10,
BTL_SUBSTATE_RUN_AWAY_UNK_B = 11,
// BATTLE_STATE_DEFEND
BTL_SUBSTATE_DEFEND_INIT = 0,
BTL_SUBSTATE_DEFEND_AWAIT_SCRIPT = 1,
// BATTLE_STATE_VICTORY
BTL_SUBSTATE_VICTORY_UNK_0 = 0,
BTL_SUBSTATE_VICTORY_UNK_1 = 1,
BTL_SUBSTATE_VICTORY_UNK_2 = 2,
BTL_SUBSTATE_VICTORY_UNK_3 = 3,
BTL_SUBSTATE_VICTORY_UNK_4 = 4,
BTL_SUBSTATE_VICTORY_UNK_5 = 5,
BTL_SUBSTATE_VICTORY_UNK_A = 10,
BTL_SUBSTATE_VICTORY_UNK_B = 11,
BTL_SUBSTATE_VICTORY_UNK_C = 12,
// BATTLE_STATE_DEFEAT
BTL_SUBSTATE_DEFEAT_UNK_0 = 0,
BTL_SUBSTATE_DEFEAT_UNK_1 = 1,
BTL_SUBSTATE_DEFEAT_UNK_2 = 2,
BTL_SUBSTATE_DEFEAT_UNK_A = 10,
// BATTLE_STATE_28
// BATTLE_STATE_CHANGE_PARTNER
BTL_SUBSTATE_CHANGE_PARTNER_UNK_0 = 0,
BTL_SUBSTATE_CHANGE_PARTNER_UNK_2 = 2,
BTL_SUBSTATE_CHANGE_PARTNER_UNK_3 = 3,
BTL_SUBSTATE_CHANGE_PARTNER_UNK_4 = 4,
BTL_SUBSTATE_CHANGE_PARTNER_UNK_5 = 5,
BTL_SUBSTATE_CHANGE_PARTNER_UNK_6 = 6,
BTL_SUBSTATE_CHANGE_PARTNER_UNK_7 = 7,
// BATTLE_STATE_END_TRAINING_BATTLE
BTL_SUBSTATE_END_TRAINING_UNK_0 = 0,
BTL_SUBSTATE_END_TRAINING_UNK_A = 10,
BTL_SUBSTATE_END_TRAINING_UNK_B = 11,
BTL_SUBSTATE_END_TRAINING_UNK_C = 12,
BTL_SUBSTATE_END_TRAINING_UNK_D = 13,
BTL_SUBSTATE_END_TRAINING_UNK_E = 14,
// BATTLE_STATE_31
// BATTLE_STATE_END_BATTLE (TODO)
BTL_SUBSTATE_END_BATTLE_UNK_0 = 0,
BTL_SUBSTATE_END_BATTLE_UNK_1 = 1,
BTL_SUBSTATE_END_BATTLE_UNK_2 = 2,
BTL_SUBSTATE_END_BATTLE_AWAIT_STAGE_SCRIPT = 3,
BTL_SUBSTATE_END_BATTLE_CLEANUP = 4,
// BATTLE_STATE_CELEBRATION
BTL_SUBSTATE_CELEBRATE_INIT = 0,
BTL_SUBSTATE_CELEBRATE_LOAD_STAR_POINTS = 1,
BTL_SUBSTATE_CELEBRATE_TALLY_STAR_POINTS = 2,
BTL_SUBSTATE_CELEBRATE_POST_STAR_POINTS = 3,
BTL_SUBSTATE_CELEBRATE_LEVEL_UP_LOAD = 4,
BTL_SUBSTATE_CELEBRATE_LEVEL_UP_BEGIN = 5,
BTL_SUBSTATE_CELEBRATE_LEVEL_UP_CREATE_HUD = 6,
BTL_SUBSTATE_CELEBRATE_LEVEL_UP_SHOW_HUD = 7,
BTL_SUBSTATE_CELEBRATE_LEVEL_UP_CHOOSE = 8,
BTL_SUBSTATE_CELEBRATE_LEVEL_UP_UPGRADE = 9,
BTL_SUBSTATE_CELEBRATE_LEVEL_UP_FADE_OUT = 10,
BTL_SUBSTATE_CELEBRATE_LEVEL_UP_DESTROY_HUD = 11,
BTL_SUBSTATE_CELEBRATE_LEVEL_UP_INVALID = 15,
BTL_SUBSTATE_CELEBRATE_LEVEL_UP_INVALID_DELAY = 16,
BTL_SUBSTATE_CELEBRATE_SKIPPABLE_END_DELAY = 20,
BTL_SUBSTATE_CELEBRATE_WALK_AWAY = 21,
BTL_SUBSTATE_CELEBRATE_DONE = 22,
// BATTLE_STATE_34
// BATTLE_STATE_END_DEMO_BATTLE
BTL_SUBSTATE_END_DEMO_BATTLE_UNK_0 = 0,
BTL_SUBSTATE_END_DEMO_BATTLE_UNK_1 = 1,
BTL_SUBSTATE_END_DEMO_BATTLE_UNK_2 = 2,
BTL_SUBSTATE_END_DEMO_BATTLE_UNK_3 = 3,
BTL_SUBSTATE_END_DEMO_BATTLE_UNK_4 = 4,
};
enum BattleSubStatesPlayer {
BATTLE_SUB_STATE_PLAYER_NONE = 0,
// used with BATTLE_STATE_PLAYER_MENU
enum BattlePlayerMenuSubstates {
BTL_SUBSTATE_PLAYER_MENU_NONE = 0,
// Main menu
BATTLE_SUB_STATE_PLAYER_MAIN_MENU_1 = 1,
BATTLE_SUB_STATE_PLAYER_MAIN_MENU_2 = 2,
BATTLE_SUB_STATE_PLAYER_MAIN_MENU_3 = 3,
BATTLE_SUB_STATE_PLAYER_MAIN_MENU_4 = 4,
BATTLE_SUB_STATE_PLAYER_MAIN_MENU_5 = 5,
BATTLE_SUB_STATE_PLAYER_MAIN_MENU_6 = 6,
BATTLE_SUB_STATE_PLAYER_MAIN_MENU_7 = 7,
BATTLE_SUB_STATE_PLAYER_MAIN_MENU_8 = 8,
BATTLE_SUB_STATE_PLAYER_MAIN_MENU_9 = 9,
BATTLE_SUB_STATE_PLAYER_MAIN_MENU_10 = 10,
BATTLE_SUB_STATE_PLAYER_MAIN_MENU_11 = 11,
BATTLE_SUB_STATE_PLAYER_MAIN_MENU_12 = 12,
BATTLE_SUB_STATE_PLAYER_MAIN_MENU_13 = 13,
BATTLE_SUB_STATE_PLAYER_MAIN_MENU_14 = 14,
BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_1 = 1,
BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_2 = 2,
BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_3 = 3,
BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_4 = 4,
BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_5 = 5,
BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_6 = 6,
BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_7 = 7,
BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_8 = 8,
BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_9 = 9,
BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_10 = 10,
BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_11 = 11,
BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_12 = 12,
BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_13 = 13,
BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_14 = 14,
// Unknown
BATTLE_SUB_STATE_PLAYER_UNKNOWN_1 = 20,
BATTLE_SUB_STATE_PLAYER_UNKNOWN_2 = 21,
BATTLE_SUB_STATE_PLAYER_UNKNOWN_3 = 22,
BATTLE_SUB_STATE_PLAYER_UNKNOWN_4 = 23,
BATTLE_SUB_STATE_PLAYER_UNKNOWN_5 = 24,
BATTLE_SUB_STATE_PLAYER_UNKNOWN_6 = 25,
BTL_SUBSTATE_PLAYER_MENU_UNKNOWN_1 = 20,
BTL_SUBSTATE_PLAYER_MENU_UNKNOWN_2 = 21,
BTL_SUBSTATE_PLAYER_MENU_UNKNOWN_3 = 22,
BTL_SUBSTATE_PLAYER_MENU_UNKNOWN_4 = 23,
BTL_SUBSTATE_PLAYER_MENU_UNKNOWN_5 = 24,
BTL_SUBSTATE_PLAYER_MENU_UNKNOWN_6 = 25,
// Change Member
BATTLE_SUB_STATE_PLAYER_CHANGE_MEMBER_1 = 30,
BATTLE_SUB_STATE_PLAYER_CHANGE_MEMBER_2 = 31,
BATTLE_SUB_STATE_PLAYER_CHANGE_MEMBER_3 = 32,
BATTLE_SUB_STATE_PLAYER_CHANGE_MEMBER_4 = 33,
BATTLE_SUB_STATE_PLAYER_CHANGE_MEMBER_5 = 34,
BATTLE_SUB_STATE_PLAYER_CHANGE_MEMBER_6 = 35,
BATTLE_SUB_STATE_PLAYER_CHANGE_MEMBER_7 = 36,
BTL_SUBSTATE_PLAYER_MENU_CHANGE_MEMBER_1 = 30,
BTL_SUBSTATE_PLAYER_MENU_CHANGE_MEMBER_2 = 31,
BTL_SUBSTATE_PLAYER_MENU_CHANGE_MEMBER_3 = 32,
BTL_SUBSTATE_PLAYER_MENU_CHANGE_MEMBER_4 = 33,
BTL_SUBSTATE_PLAYER_MENU_CHANGE_MEMBER_5 = 34,
BTL_SUBSTATE_PLAYER_MENU_CHANGE_MEMBER_6 = 35,
BTL_SUBSTATE_PLAYER_MENU_CHANGE_MEMBER_7 = 36,
// Items
BATTLE_SUB_STATE_PLAYER_ITEMS_1 = 40,
BATTLE_SUB_STATE_PLAYER_ITEMS_2 = 41,
BATTLE_SUB_STATE_PLAYER_ITEMS_3 = 42,
BATTLE_SUB_STATE_PLAYER_ITEMS_4 = 43,
BATTLE_SUB_STATE_PLAYER_ITEMS_5 = 44,
BATTLE_SUB_STATE_PLAYER_ITEMS_6 = 45,
BTL_SUBSTATE_PLAYER_MENU_ITEMS_1 = 40,
BTL_SUBSTATE_PLAYER_MENU_ITEMS_2 = 41,
BTL_SUBSTATE_PLAYER_MENU_ITEMS_3 = 42,
BTL_SUBSTATE_PLAYER_MENU_ITEMS_4 = 43,
BTL_SUBSTATE_PLAYER_MENU_ITEMS_5 = 44,
BTL_SUBSTATE_PLAYER_MENU_ITEMS_6 = 45,
// Star Spirits
BATTLE_SUB_STATE_PLAYER_STAR_SPIRITS_1 = 60,
BATTLE_SUB_STATE_PLAYER_STAR_SPIRITS_2 = 61,
BATTLE_SUB_STATE_PLAYER_STAR_SPIRITS_3 = 62,
BATTLE_SUB_STATE_PLAYER_STAR_SPIRITS_4 = 63,
BATTLE_SUB_STATE_PLAYER_STAR_SPIRITS_5 = 64,
BATTLE_SUB_STATE_PLAYER_STAR_SPIRITS_6 = 65,
BATTLE_SUB_STATE_PLAYER_STAR_SPIRITS_7 = 66,
BTL_SUBSTATE_PLAYER_MENU_STAR_SPIRITS_1 = 60,
BTL_SUBSTATE_PLAYER_MENU_STAR_SPIRITS_2 = 61,
BTL_SUBSTATE_PLAYER_MENU_STAR_SPIRITS_3 = 62,
BTL_SUBSTATE_PLAYER_MENU_STAR_SPIRITS_4 = 63,
BTL_SUBSTATE_PLAYER_MENU_STAR_SPIRITS_5 = 64,
BTL_SUBSTATE_PLAYER_MENU_STAR_SPIRITS_6 = 65,
BTL_SUBSTATE_PLAYER_MENU_STAR_SPIRITS_7 = 66,
// Unused
BATTLE_SUB_STATE_PLAYER_UNUSED_1 = 70,
BATTLE_SUB_STATE_PLAYER_UNUSED_2 = 71,
BATTLE_SUB_STATE_PLAYER_UNUSED_3 = 72,
BATTLE_SUB_STATE_PLAYER_UNUSED_4 = 73,
BATTLE_SUB_STATE_PLAYER_UNUSED_5 = 74,
BATTLE_SUB_STATE_PLAYER_UNUSED_6 = 75,
BTL_SUBSTATE_PLAYER_MENU_UNUSED_1 = 70,
BTL_SUBSTATE_PLAYER_MENU_UNUSED_2 = 71,
BTL_SUBSTATE_PLAYER_MENU_UNUSED_3 = 72,
BTL_SUBSTATE_PLAYER_MENU_UNUSED_4 = 73,
BTL_SUBSTATE_PLAYER_MENU_UNUSED_5 = 74,
BTL_SUBSTATE_PLAYER_MENU_UNUSED_6 = 75,
// Berserker
BATTLE_SUB_STATE_PLAYER_BERSERKER_1 = 100,
BTL_SUBSTATE_PLAYER_MENU_BERSERKER_1 = 100,
// Strategies
BATTLE_SUB_STATE_PLAYER_STRATEGIES_1 = 200,
BATTLE_SUB_STATE_PLAYER_STRATEGIES_2 = 201,
BATTLE_SUB_STATE_PLAYER_STRATEGIES_3 = 202,
BATTLE_SUB_STATE_PLAYER_STRATEGIES_4 = 203,
BATTLE_SUB_STATE_PLAYER_STRATEGIES_5 = 204,
BATTLE_SUB_STATE_PLAYER_STRATEGIES_6 = 205,
BATTLE_SUB_STATE_PLAYER_STRATEGIES_8 = 207,
BTL_SUBSTATE_PLAYER_MENU_BUILD_STRATEGIES = 200,
BTL_SUBSTATE_PLAYER_MENU_STRATEGIES_2 = 201,
BTL_SUBSTATE_PLAYER_MENU_STRATEGIES_3 = 202,
BTL_SUBSTATE_PLAYER_MENU_STRATEGIES_4 = 203,
BTL_SUBSTATE_PLAYER_MENU_STRATEGIES_5 = 204,
BTL_SUBSTATE_PLAYER_MENU_STRATEGIES_6 = 205,
BTL_SUBSTATE_PLAYER_MENU_STRATEGIES_8 = 207,
// initialize
BATTLE_SUB_STATE_PLAYER_INIT_12C = 300,
BATTLE_SUB_STATE_PLAYER_INIT_MENU = 302,
BTL_SUBSTATE_PLAYER_MENU_INIT_12C = 300,
BTL_SUBSTATE_PLAYER_MENU_INIT_MENU = 302,
};
enum BattleSubStatesPartner {
BATTLE_SUB_STATE_PARTNER_NONE = 0,
enum BattlePartnerMenuSubstates {
BTL_SUBSTATE_PARTNER_MENU_NONE = 0,
// Main menu
BATTLE_SUB_STATE_PARTNER_MAIN_MENU_1 = 2,
BATTLE_SUB_STATE_PARTNER_MAIN_MENU_2 = 3,
BATTLE_SUB_STATE_PARTNER_MAIN_MENU_3 = 4,
BATTLE_SUB_STATE_PARTNER_MAIN_MENU_4 = 5,
BATTLE_SUB_STATE_PARTNER_MAIN_MENU_5 = 6,
BATTLE_SUB_STATE_PARTNER_MAIN_MENU_6 = 7,
BATTLE_SUB_STATE_PARTNER_MAIN_MENU_7 = 8,
BATTLE_SUB_STATE_PARTNER_MAIN_MENU_8 = 9,
BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_1 = 2,
BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_2 = 3,
BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_3 = 4,
BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_4 = 5,
BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_5 = 6,
BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_6 = 7,
BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_7 = 8,
BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_8 = 9,
// Abilities
BATTLE_SUB_STATE_PARTNER_ABILITIES_1 = 10,
BATTLE_SUB_STATE_PARTNER_ABILITIES_2 = 11,
BATTLE_SUB_STATE_PARTNER_ABILITIES_3 = 12,
BATTLE_SUB_STATE_PARTNER_ABILITIES_4 = 13,
BATTLE_SUB_STATE_PARTNER_ABILITIES_5 = 14,
BATTLE_SUB_STATE_PARTNER_ABILITIES_6 = 15,
BATTLE_SUB_STATE_PARTNER_ABILITIES_7 = 16,
BTL_SUBSTATE_PARTNER_MENU_ABILITIES_1 = 10,
BTL_SUBSTATE_PARTNER_MENU_ABILITIES_2 = 11,
BTL_SUBSTATE_PARTNER_MENU_ABILITIES_3 = 12,
BTL_SUBSTATE_PARTNER_MENU_ABILITIES_4 = 13,
BTL_SUBSTATE_PARTNER_MENU_ABILITIES_5 = 14,
BTL_SUBSTATE_PARTNER_MENU_ABILITIES_6 = 15,
BTL_SUBSTATE_PARTNER_MENU_ABILITIES_7 = 16,
// Unknown, referenced only in btl_state_draw_partner_menu
BATTLE_SUB_STATE_PARTNER_UNKNOWN_1 = 20,
BATTLE_SUB_STATE_PARTNER_UNKNOWN_2 = 21,
BATTLE_SUB_STATE_PARTNER_UNKNOWN_3 = 22,
BATTLE_SUB_STATE_PARTNER_UNKNOWN_4 = 23,
BATTLE_SUB_STATE_PARTNER_UNKNOWN_5 = 24,
BTL_SUBSTATE_PARTNER_MENU_UNKNOWN_1 = 20,
BTL_SUBSTATE_PARTNER_MENU_UNKNOWN_2 = 21,
BTL_SUBSTATE_PARTNER_MENU_UNKNOWN_3 = 22,
BTL_SUBSTATE_PARTNER_MENU_UNKNOWN_4 = 23,
BTL_SUBSTATE_PARTNER_MENU_UNKNOWN_5 = 24,
// Change Partner
BATTLE_SUB_STATE_PARTNER_CHANGE_PARTNER_1 = 30,
BATTLE_SUB_STATE_PARTNER_CHANGE_PARTNER_2 = 31,
BATTLE_SUB_STATE_PARTNER_CHANGE_PARTNER_3 = 32,
BATTLE_SUB_STATE_PARTNER_CHANGE_PARTNER_4 = 33,
BATTLE_SUB_STATE_PARTNER_CHANGE_PARTNER_5 = 34,
BATTLE_SUB_STATE_PARTNER_CHANGE_PARTNER_6 = 35,
BATTLE_SUB_STATE_PARTNER_CHANGE_PARTNER_7 = 36,
BTL_SUBSTATE_PARTNER_MENU_CHANGE_PARTNER_1 = 30,
BTL_SUBSTATE_PARTNER_MENU_CHANGE_PARTNER_2 = 31,
BTL_SUBSTATE_PARTNER_MENU_CHANGE_PARTNER_3 = 32,
BTL_SUBSTATE_PARTNER_MENU_CHANGE_PARTNER_4 = 33,
BTL_SUBSTATE_PARTNER_MENU_CHANGE_PARTNER_5 = 34,
BTL_SUBSTATE_PARTNER_MENU_CHANGE_PARTNER_6 = 35,
BTL_SUBSTATE_PARTNER_MENU_CHANGE_PARTNER_7 = 36,
// Items
BATTLE_SUB_STATE_PARTNER_ITEMS_1 = 40,
BATTLE_SUB_STATE_PARTNER_ITEMS_2 = 41,
BATTLE_SUB_STATE_PARTNER_ITEMS_3 = 42,
BATTLE_SUB_STATE_PARTNER_ITEMS_4 = 43,
BATTLE_SUB_STATE_PARTNER_ITEMS_5 = 44,
BATTLE_SUB_STATE_PARTNER_ITEMS_6 = 45,
BTL_SUBSTATE_PARTNER_MENU_ITEMS_1 = 40,
BTL_SUBSTATE_PARTNER_MENU_ITEMS_2 = 41,
BTL_SUBSTATE_PARTNER_MENU_ITEMS_3 = 42,
BTL_SUBSTATE_PARTNER_MENU_ITEMS_4 = 43,
BTL_SUBSTATE_PARTNER_MENU_ITEMS_5 = 44,
BTL_SUBSTATE_PARTNER_MENU_ITEMS_6 = 45,
// Switch partner (unused)
BATTLE_SUB_STATE_PARTNER_UNUSED_CHANGE_PARTNER_1 = 50,
BATTLE_SUB_STATE_PARTNER_UNUSED_CHANGE_PARTNER_2 = 51,
BATTLE_SUB_STATE_PARTNER_UNUSED_CHANGE_PARTNER_3 = 52,
BATTLE_SUB_STATE_PARTNER_UNUSED_CHANGE_PARTNER_4 = 53,
BATTLE_SUB_STATE_PARTNER_UNUSED_CHANGE_PARTNER_5 = 54,
BATTLE_SUB_STATE_PARTNER_UNUSED_CHANGE_PARTNER_6 = 55,
BATTLE_SUB_STATE_PARTNER_UNUSED_CHANGE_PARTNER_7 = 56,
BTL_SUBSTATE_PARTNER_MENU_UNUSED_CHANGE_PARTNER_1 = 50,
BTL_SUBSTATE_PARTNER_MENU_UNUSED_CHANGE_PARTNER_2 = 51,
BTL_SUBSTATE_PARTNER_MENU_UNUSED_CHANGE_PARTNER_3 = 52,
BTL_SUBSTATE_PARTNER_MENU_UNUSED_CHANGE_PARTNER_4 = 53,
BTL_SUBSTATE_PARTNER_MENU_UNUSED_CHANGE_PARTNER_5 = 54,
BTL_SUBSTATE_PARTNER_MENU_UNUSED_CHANGE_PARTNER_6 = 55,
BTL_SUBSTATE_PARTNER_MENU_UNUSED_CHANGE_PARTNER_7 = 56,
// Focus
BATTLE_SUB_STATE_PARTNER_FOCUS_1 = 60,
BATTLE_SUB_STATE_PARTNER_FOCUS_2 = 61,
BATTLE_SUB_STATE_PARTNER_FOCUS_3 = 62,
BATTLE_SUB_STATE_PARTNER_FOCUS_4 = 63,
BATTLE_SUB_STATE_PARTNER_FOCUS_5 = 64,
BATTLE_SUB_STATE_PARTNER_FOCUS_6 = 65,
BTL_SUBSTATE_PARTNER_MENU_FOCUS_1 = 60,
BTL_SUBSTATE_PARTNER_MENU_FOCUS_2 = 61,
BTL_SUBSTATE_PARTNER_MENU_FOCUS_3 = 62,
BTL_SUBSTATE_PARTNER_MENU_FOCUS_4 = 63,
BTL_SUBSTATE_PARTNER_MENU_FOCUS_5 = 64,
BTL_SUBSTATE_PARTNER_MENU_FOCUS_6 = 65,
// Strategies
BATTLE_SUB_STATE_PARTNER_STRATEGIES_1 = 200,
BATTLE_SUB_STATE_PARTNER_STRATEGIES_2 = 201,
BATTLE_SUB_STATE_PARTNER_STRATEGIES_3 = 202,
BATTLE_SUB_STATE_PARTNER_STRATEGIES_4 = 203,
BATTLE_SUB_STATE_PARTNER_STRATEGIES_5 = 204,
BATTLE_SUB_STATE_PARTNER_STRATEGIES_6 = 205,
BTL_SUBSTATE_PARTNER_MENU_STRATEGIES_1 = 200,
BTL_SUBSTATE_PARTNER_MENU_STRATEGIES_2 = 201,
BTL_SUBSTATE_PARTNER_MENU_STRATEGIES_3 = 202,
BTL_SUBSTATE_PARTNER_MENU_STRATEGIES_4 = 203,
BTL_SUBSTATE_PARTNER_MENU_STRATEGIES_5 = 204,
BTL_SUBSTATE_PARTNER_MENU_STRATEGIES_6 = 205,
// initialize
BATTLE_SUB_STATE_PARTNER_12D = 301,
BATTLE_SUB_STATE_PARTNER_INIT_MENU = 302,
BTL_SUBSTATE_PARTNER_MENU_12D = 301,
BTL_SUBSTATE_PARTNER_MENU_INIT_MENU = 302,
};
enum BattleSubStatesState5 {
BATTLE_SUB_STATE_5_0 = 0,
BATTLE_SUB_STATE_5_1 = 1,
BATTLE_SUB_STATE_5_2 = 2,
BATTLE_SUB_STATE_5_3 = 3,
BATTLE_SUB_STATE_5_4 = 4,
BATTLE_SUB_STATE_5_5 = 5,
BATTLE_SUB_STATE_5_6 = 6,
BATTLE_SUB_STATE_5_7 = 7,
enum BattleMessages {
BTL_MSG_00 = 0x00,
BTL_MSG_01 = 0x01,
BTL_MSG_02 = 0x02,
BTL_MSG_03 = 0x03,
BTL_MSG_04 = 0x04,
BTL_MSG_05 = 0x05,
BTL_MSG_06 = 0x06,
BTL_MSG_07 = 0x07,
BTL_MSG_08 = 0x08,
BTL_MSG_09 = 0x09,
BTL_MSG_0A = 0x0A,
BTL_MSG_0B = 0x0B,
BTL_MSG_0C = 0x0C,
BTL_MSG_0D = 0x0D,
BTL_MSG_0E = 0x0E,
BTL_MSG_0F = 0x0F,
BTL_MSG_10 = 0x10,
BTL_MSG_11 = 0x11,
BTL_MSG_12 = 0x12,
BTL_MSG_13 = 0x13,
BTL_MSG_14 = 0x14,
BTL_MSG_15 = 0x15,
BTL_MSG_16 = 0x16,
BTL_MSG_17 = 0x17,
BTL_MSG_18 = 0x18,
BTL_MSG_19 = 0x19,
BTL_MSG_1A = 0x1A,
BTL_MSG_1B = 0x1B,
BTL_MSG_1C = 0x1C,
BTL_MSG_1D = 0x1D,
BTL_MSG_1E = 0x1E,
BTL_MSG_1F = 0x1F,
BTL_MSG_20 = 0x20,
BTL_MSG_21 = 0x21,
BTL_MSG_22 = 0x22,
BTL_MSG_23 = 0x23,
BTL_MSG_24 = 0x24,
BTL_MSG_25 = 0x25,
BTL_MSG_26 = 0x26,
BTL_MSG_27 = 0x27,
BTL_MSG_28 = 0x28,
BTL_MSG_29 = 0x29,
BTL_MSG_2A = 0x2A,
BTL_MSG_2B = 0x2B,
BTL_MSG_2C = 0x2C,
BTL_MSG_2D = 0x2D,
BTL_MSG_2E = 0x2E,
BTL_MSG_2F = 0x2F,
BTL_MSG_30 = 0x30,
BTL_MSG_31 = 0x31,
BTL_MSG_32 = 0x32,
BTL_MSG_33 = 0x33,
BTL_MSG_34 = 0x34,
BTL_MSG_35 = 0x35,
BTL_MSG_36 = 0x36,
BTL_MSG_37 = 0x37,
BTL_MSG_38 = 0x38,
BTL_MSG_39 = 0x39,
BTL_MSG_3A = 0x3A,
BTL_MSG_3B = 0x3B,
BTL_MSG_3C = 0x3C,
BTL_MSG_3D = 0x3D,
BTL_MSG_3E = 0x3E,
BTL_MSG_3F = 0x3F,
BTL_MSG_40 = 0x40,
BTL_MSG_41 = 0x41,
BTL_MSG_42 = 0x42,
BTL_MSG_43 = 0x43,
BTL_MSG_44 = 0x44,
BTL_MSG_45 = 0x45,
BTL_MSG_46 = 0x46,
BTL_MSG_47 = 0x47,
BTL_MSG_48 = 0x48,
BTL_MSG_49 = 0x49,
BTL_MSG_4A = 0x4A,
BTL_MSG_4B = 0x4B,
BTL_MSG_4C = 0x4C,
BTL_MSG_4D = 0x4D,
BTL_MSG_4E = 0x4E,
BTL_MSG_4F = 0x4F,
BTL_MSG_50 = 0x50,
BTL_MSG_51 = 0x51,
BTL_MSG_52 = 0x52,
BTL_MSG_53 = 0x53,
BTL_MSG_54 = 0x54,
};
enum DebugEnemyContactModes {
DEBUG_CONTACT_NONE = 0, // contact with enemies behaves normally
DEBUG_CONTACT_CANT_TOUCH = 1, // enemies pass through the player and cannot start battles
DEBUG_CONTACT_DIE_ON_TOUCH = 2, // enemies die on contact in the overworld
DEBUG_CONTACT_DIE_IN_BATTLE = 3, // all enemies wll die during BATTLE_STATE_BEGIN_TURN
DEBUG_CONTACT_AUTO_FLEE = 4, // the player flees during BATTLE_STATE_BEGIN_TURN
};
enum DebuffTypes {
@ -5871,7 +6154,7 @@ enum MsgStateFlags {
MSG_STATE_FLAG_20 = 0x000020,
MSG_STATE_FLAG_40 = 0x000040,
MSG_STATE_FLAG_80 = 0x000080,
MSG_STATE_FLAG_100 = 0x000100,
MSG_STATE_FLAG_PRINT_QUICKLY = 0x000100,
MSG_STATE_FLAG_400 = 0x000400,
MSG_STATE_FLAG_4000 = 0x004000,
MSG_STATE_FLAG_8000 = 0x008000,

View File

@ -315,7 +315,7 @@ void btl_state_update_begin_partner_turn(void);
void btl_state_draw_begin_partner_turn(void);
void btl_state_update_switch_to_partner(void);
void btl_state_draw_switch_to_partner(void);
void func_80242FE0(void);
void btl_state_update_9(void);
void func_80243910(void);
void btl_state_update_prepare_menu(void);
void btl_state_draw_prepare_menu(void);

View File

@ -20,9 +20,9 @@ extern s32 gBattleState;
extern BattleStatus gBattleStatus;
extern s32 D_800DC4D0;
extern s32 D_800DC4D4;
extern s32 D_800DC4D8;
extern s32 gDefeatedBattleSubstate;
extern s32 gBattleSubState;
extern s32 D_800DC4E4;
extern s32 gDefeatedBattleState;
extern s32 gCurrentBattleID;
extern s32 D_800DC4E0;
extern s32 D_800DC4EC;

File diff suppressed because it is too large Load Diff

View File

@ -191,10 +191,10 @@ void initialize_battle(void) {
}
if (gGameStatusPtr->peachFlags & PEACH_STATUS_FLAG_IS_PEACH) {
gBattleStatus.flags2 |= BS_FLAGS2_40;
gBattleStatus.flags2 |= BS_FLAGS2_PEACH_BATTLE;
increment_status_menu_disabled();
} else {
gBattleStatus.flags2 &= ~BS_FLAGS2_40;
gBattleStatus.flags2 &= ~BS_FLAGS2_PEACH_BATTLE;
}
create_worker_world(NULL, func_8023ED5C);
@ -230,7 +230,7 @@ void initialize_battle(void) {
}
bSavedPartner = playerData->currentPartner;
if (gBattleStatus.flags2 & BS_FLAGS2_40) {
if (gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE) {
playerData->currentPartner = PARTNER_TWINK;
}
}
@ -291,110 +291,110 @@ void btl_update(void) {
cond = TRUE;
if (battleStatus->unk_95 == 0 || battleStatus->unk_95 != gBattleState) {
switch (gBattleState) {
case -1:
case 0:
case BATTLE_STATE_NEGATIVE_1:
case BATTLE_STATE_0:
return;
case 1:
case BATTLE_STATE_NORMAL_START:
btl_state_update_normal_start();
cond = FALSE;
break;
case 7:
case BATTLE_STATE_BEGIN_PLAYER_TURN:
btl_state_update_begin_player_turn();
break;
case 8:
case BATTLE_STATE_BEGIN_PARTNER_TURN:
btl_state_update_begin_partner_turn();
break;
case 9:
func_80242FE0();
case BATTLE_STATE_9:
btl_state_update_9();
break;
case 5:
case BATTLE_STATE_BEGIN_TURN:
btl_state_update_begin_turn();
break;
case 6:
case BATTLE_STATE_END_TURN:
btl_state_update_end_turn();
break;
case 10:
case BATTLE_STATE_SWITCH_TO_PLAYER:
btl_state_update_switch_to_player();
break;
case 11:
case BATTLE_STATE_SWITCH_TO_PARTNER:
btl_state_update_switch_to_partner();
break;
case 12:
case BATTLE_STATE_PREPARE_MENU:
btl_state_update_prepare_menu();
break;
case 13:
case BATTLE_STATE_PLAYER_MENU:
btl_state_update_player_menu();
break;
case 14:
case BATTLE_STATE_PARTNER_MENU:
btl_state_update_partner_menu();
break;
case 16:
case BATTLE_STATE_TWINK_MENU:
btl_state_update_twink_menu();
break;
case 15:
case BATTLE_STATE_PEACH_MENU:
btl_state_update_peach_menu();
break;
case 17:
case BATTLE_STATE_SELECT_TARGET:
btl_state_update_select_target();
break;
case 18:
case BATTLE_STATE_PLAYER_MOVE:
btl_state_update_player_move();
break;
case 2:
case BATTLE_STATE_FIRST_STRIKE:
btl_state_update_first_strike();
break;
case 22:
case BATTLE_STATE_END_PLAYER_TURN:
btl_state_update_end_player_turn();
break;
case 23:
case BATTLE_STATE_END_PARTNER_TURN:
btl_state_update_end_partner_turn();
break;
case 21:
case BATTLE_STATE_ENEMY_MOVE:
btl_state_update_enemy_move();
break;
case 3:
case BATTLE_STATE_PARTNER_FIRST_STRIKE:
btl_state_update_partner_striking_first();
break;
case 20:
case BATTLE_STATE_NEXT_ENEMY:
btl_state_update_next_enemy();
break;
case 19:
case BATTLE_STATE_PARTNER_MOVE:
btl_state_update_partner_move();
break;
case 26:
case BATTLE_STATE_VICTORY:
btl_state_update_victory();
break;
case 32:
case BATTLE_STATE_END_BATTLE:
btl_state_update_end_battle();
break;
case 29:
case BATTLE_STATE_CHANGE_PARTNER:
btl_state_update_change_partner();
break;
case 24:
case BATTLE_STATE_RUN_AWAY:
btl_state_update_run_away();
break;
case 25:
case BATTLE_STATE_DEFEND:
btl_state_update_defend();
break;
case 27:
case BATTLE_STATE_DEFEAT:
btl_state_update_defeat();
break;
case 28:
case BATTLE_STATE_28:
btl_state_update_1C();
break;
case 30:
case BATTLE_STATE_END_TRAINING_BATTLE:
btl_state_update_end_training_battle();
break;
case 4:
case BATTLE_STATE_ENEMY_FIRST_STRIKE:
btl_state_update_enemy_striking_first();
break;
case 34:
case BATTLE_STATE_34:
btl_state_update_22();
break;
case 33:
case BATTLE_STATE_CELEBRATION:
btl_state_update_celebration();
break;
case 35:
case BATTLE_STATE_END_DEMO_BATTLE:
btl_state_update_end_demo_battle();
cond = FALSE;
break;
@ -884,7 +884,7 @@ void btl_draw_enemy_health_bars(void) {
}
if (!(enemy->flags & (ACTOR_FLAG_40000 | ACTOR_FLAG_TARGET_ONLY)) &&
((gBattleStatus.flags1 & BS_FLAGS1_2) || (enemy->flags & ENEMY_FLAGS_80000)) &&
((gBattleStatus.flags1 & BS_FLAGS1_2) || (enemy->flags & ACTOR_FLAG_80000)) &&
is_actor_hp_bar_visible(enemy))
{
f32 x = enemy->healthBarPosition.x;
@ -1114,11 +1114,11 @@ void btl_delete_actor(Actor* actor) {
if (actor->idleScript != NULL) {
kill_script_by_ID(actor->idleScriptID);
}
if (actor->onHitScript != NULL) {
kill_script_by_ID(actor->onHitID);
if (actor->handleEventScript != NULL) {
kill_script_by_ID(actor->handleEventScriptID);
}
if (actor->takeTurnScript != NULL) {
kill_script_by_ID(actor->takeTurnID);
kill_script_by_ID(actor->takeTurnScriptID);
}
func_80266EE8(actor, 0);
@ -1179,11 +1179,11 @@ void btl_delete_player_actor(Actor* player) {
if (player->idleScript != NULL) {
kill_script_by_ID(player->idleScriptID);
}
if (player->onHitScript != NULL) {
kill_script_by_ID(player->onHitID);
if (player->handleEventScript != NULL) {
kill_script_by_ID(player->handleEventScriptID);
}
if (player->takeTurnScript != NULL) {
kill_script_by_ID(player->takeTurnID);
kill_script_by_ID(player->takeTurnScriptID);
}
partsTable = player->partsTable;

File diff suppressed because it is too large Load Diff

View File

@ -1474,7 +1474,7 @@ void appendGfx_player_actor(void* arg0) {
enable_status_icon_boost_hammer(player->hudElementDataIndex);
}
if ((player->flags & ACTOR_FLAG_8000000) && !(gBattleStatus.flags2 & BS_FLAGS2_40)) {
if ((player->flags & ACTOR_FLAG_8000000) && !(gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE)) {
if (playerData->curHP > 1) {
remove_status_icon_peril(player->hudElementDataIndex);
do {
@ -2763,7 +2763,7 @@ void func_8025B5C0(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4, s
decorationTable->numSpritePalettes++;
}
if (gBattleStatus.flags2 & BS_FLAGS2_40) {
if (gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE) {
decorationTable->spriteColorVariations = 4;
} else {
decorationTable->spriteColorVariations = 6;

File diff suppressed because it is too large Load Diff

View File

@ -30,7 +30,7 @@ void func_80260A60(void) {
BattleStatus* battleStatus = &gBattleStatus;
ActorPart* actorPart = &battleStatus->playerActor->partsTable[0];
if (battleStatus->flags2 & BS_FLAGS2_40) {
if (battleStatus->flags2 & BS_FLAGS2_PEACH_BATTLE) {
actorPart->idleAnimations = bPeachIdleAnims;
set_animation(0, 0, 0xA0002);
} else if (!battleStatus->outtaSightActive) {
@ -154,7 +154,7 @@ ApiStatus func_80260DD8(Evt* script, s32 isInitialCall) {
}
ApiStatus func_80260E38(Evt* script, s32 isInitialCall) {
btl_show_battle_message(0x31, 60);
btl_show_battle_message(BTL_MSG_31, 60);
return ApiStatus_DONE2;
}
@ -267,20 +267,20 @@ ApiStatus RestorePreDefeatState(Evt* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;
battleStatus->rushFlags = RUSH_FLAG_NONE;
gBattleState = D_800DC4E4;
gBattleSubState = D_800DC4D8;
gBattleState = gDefeatedBattleState;
gBattleSubState = gDefeatedBattleSubstate;
battleStatus->flags1 |= BS_FLAGS1_8;
battleStatus->flags2 &= ~BS_FLAGS2_8000000;
battleStatus->flags2 &= ~BS_FLAGS2_HAS_RUSH;
if (!(battleStatus->flags2 & BS_FLAGS2_40)) {
if (!(battleStatus->flags2 & BS_FLAGS2_PEACH_BATTLE)) {
if (playerData->curHP <= 1 && is_ability_active(ABILITY_MEGA_RUSH)) {
gBattleStatus.flags2 |= BS_FLAGS2_8000000;
gBattleStatus.flags2 |= BS_FLAGS2_HAS_RUSH;
battleStatus->rushFlags |= RUSH_FLAG_MEGA;
}
if (playerData->curHP <= 5 && is_ability_active(ABILITY_POWER_RUSH) &&
!(battleStatus->rushFlags & RUSH_FLAG_MEGA)) {
gBattleStatus.flags2 |= BS_FLAGS2_8000000;
gBattleStatus.flags2 |= BS_FLAGS2_HAS_RUSH;
battleStatus->rushFlags |= RUSH_FLAG_POWER;
}
}

View File

@ -225,13 +225,11 @@ s32 btl_are_all_enemies_defeated(void) {
s32 i;
for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) {
s32 flagEnemyDefeated = ENEMY_FLAGS_400000 | ENEMY_FLAGS_4000;
enemy = battleStatus->enemyActors[i];
// If currentEnemyFlags signify that the enemy isn't dead yet...
if (enemy != NULL && !(enemy->flags & flagEnemyDefeated)) {
// Countinue the battle
enemiesStillAlive = TRUE;
if (enemy != NULL) {
if(!(enemy->flags & (ACTOR_FLAG_NO_DMG_APPLY | ACTOR_FLAG_TARGET_ONLY))) {
enemiesStillAlive = TRUE;
}
}
}
return !enemiesStillAlive;
@ -249,8 +247,8 @@ s32 btl_check_player_defeated(void) {
if (gPlayerData.curHP > 0) {
return FALSE;
}
D_800DC4E4 = gBattleState;
D_800DC4D8 = gBattleSubState;
gDefeatedBattleState = gBattleState;
gDefeatedBattleSubstate = gBattleSubState;
btl_set_state(BATTLE_STATE_DEFEAT);
return TRUE;
}
@ -819,7 +817,7 @@ void load_player_actor(void) {
player->actorBlueprint = &bPlayerActorBlueprint;
player->actorType = bPlayerActorBlueprint.type;
if ((gBattleStatus.flags2 & BS_FLAGS2_40) || (gGameStatusPtr->demoFlags & 2)) {
if ((gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE) || (gGameStatusPtr->demoFlags & 2)) {
player->homePos.x = player->currentPos.x = -130.0f;
player->homePos.y = player->currentPos.y = 0.0f;
player->homePos.z = player->currentPos.z = -10.0f;
@ -861,14 +859,14 @@ void load_player_actor(void) {
player->unk_195 = 0;
player->unk_196 = 0;
player->unk_197 = 0;
player->idleScriptSource = NULL;
player->takeTurnScriptSource = NULL;
player->onHitScriptSource = NULL;
player->onTurnChanceScriptSource = NULL;
player->idleSource = NULL;
player->takeTurnSource = NULL;
player->handleEventSource = NULL;
player->handlePhaseSource = NULL;
player->idleScript = NULL;
player->takeTurnScript = NULL;
player->onHitScript = NULL;
player->onTurnChangeScript = NULL;
player->handleEventScript = NULL;
player->handlePhaseScript = NULL;
player->turnPriority = 0;
player->statusTable = bPlayerStatusTable;
player->debuff = 0;
@ -932,7 +930,7 @@ void load_player_actor(void) {
part->absolutePosition.z = 0.0f;
part->defenseTable = bMarioDefenseTable;
if (gBattleStatus.flags2 & BS_FLAGS2_40) {
if (gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE) {
part->idleAnimations = bPeachIdleAnims;
} else {
part->idleAnimations = bMarioIdleAnims;
@ -1040,7 +1038,7 @@ void load_partner_actor(void) {
ASSERT(ActorBlueprint != NULL);
nuPiReadRom(partnerData->dmaStart, partnerData->dmaDest, partnerData->dmaEnd - partnerData->dmaStart);
if ((gBattleStatus.flags2 & BS_FLAGS2_40) || (gGameStatusPtr->demoFlags & 2)) {
if ((gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE) || (gGameStatusPtr->demoFlags & 2)) {
x = -95.0f;
y = partnerData->y;
z = 0.0f;
@ -1070,14 +1068,14 @@ void load_partner_actor(void) {
partnerActor->headOffset.z = 0;
partnerActor->currentHP = ActorBlueprint->maxHP;
partnerActor->numParts = partCount;
partnerActor->idleScriptSource = NULL;
partnerActor->takeTurnScriptSource = ActorBlueprint->script;
partnerActor->onHitScriptSource = NULL;
partnerActor->onTurnChanceScriptSource = NULL;
partnerActor->idleSource = NULL;
partnerActor->takeTurnSource = ActorBlueprint->takeTurnScript;
partnerActor->handleEventSource = NULL;
partnerActor->handlePhaseSource = NULL;
partnerActor->idleScript = NULL;
partnerActor->takeTurnScript = NULL;
partnerActor->onHitScript = NULL;
partnerActor->onTurnChangeScript = NULL;
partnerActor->handleEventScript = NULL;
partnerActor->handlePhaseScript = NULL;
partnerActor->turnPriority = 0;
partnerActor->enemyIndex = 0;
partnerActor->yaw = 0.0f;
@ -1262,8 +1260,8 @@ void load_partner_actor(void) {
partnerActor->disableEffect = fx_disable_x(0, -142.0f, 34.0f, 1.0f, 0);
partnerActor->icePillarEffect = NULL;
takeTurnScript = start_script(partnerActor->takeTurnScriptSource, EVT_PRIORITY_A, 0);
partnerActor->takeTurnID = takeTurnScript->id;
takeTurnScript = start_script(partnerActor->takeTurnSource, EVT_PRIORITY_A, 0);
partnerActor->takeTurnScriptID = takeTurnScript->id;
takeTurnScript->owner1.actorID = ACTOR_PARTNER;
}
}
@ -1316,13 +1314,13 @@ Actor* create_actor(Formation formation) {
actor->headOffset.z = 0;
actor->maxHP = actor->currentHP = formationActor->maxHP;
actor->numParts = partCount;
actor->idleScriptSource = NULL;
actor->takeTurnScriptSource = formationActor->script;
actor->onHitScriptSource = NULL;
actor->onTurnChanceScriptSource = NULL;
actor->idleSource = NULL;
actor->takeTurnSource = formationActor->takeTurnScript;
actor->handleEventSource = NULL;
actor->handlePhaseSource = NULL;
actor->idleScript = NULL;
actor->takeTurnScript = NULL;
actor->onHitScript = NULL;
actor->handleEventScript = NULL;
actor->turnPriority = formation->priority;
actor->enemyIndex = i;
actor->yaw = 0.0f;
@ -1525,8 +1523,8 @@ Actor* create_actor(Formation formation) {
actor->hpFraction = 25;
actor->actorID = actor->enemyIndex | 0x200;
takeTurnScript = start_script(actor->takeTurnScriptSource, EVT_PRIORITY_A, 0);
actor->takeTurnID = takeTurnScript->id;
takeTurnScript = start_script(actor->takeTurnSource, EVT_PRIORITY_A, 0);
actor->takeTurnScriptID = takeTurnScript->id;
takeTurnScript->owner1.enemyID = actor->enemyIndex | 0x200;
actor->shadow.id = create_shadow_type(0, actor->currentPos.x, actor->currentPos.y, actor->currentPos.z);
actor->shadowScale = actor->size.x / 24.0;
@ -1570,7 +1568,7 @@ s32 func_80265D44(s32 animID) {
ret = 0;
// TODO use animation id enum once it exists
if (!(battleStatus->flags2 & BS_FLAGS2_40)) {
if (!(battleStatus->flags2 & BS_FLAGS2_PEACH_BATTLE)) {
if (playerData->curHP < 6) {
if (animID == 1) {
animID = 26;
@ -1695,7 +1693,7 @@ s32 inflict_status(Actor* target, s32 statusTypeKey, s32 duration) {
if (target->debuff != statusTypeKey) {
target->status = statusTypeKey;
}
target->disableEffect->data.disableX->unk_3C = 0;
target->disableEffect->data.disableX->koDuration = 0;
target->debuff = statusTypeKey;
target->debuffDuration = duration;
if ((s8)duration > 9) {
@ -2160,7 +2158,7 @@ void func_80266B14(void) {
if (enemy->unk_206 > 0) {
enemy->unk_206--;
if (enemy->unk_206 == 0) {
enemy->flags &= ~ENEMY_FLAGS_80000;
enemy->flags &= ~ACTOR_FLAG_80000;
}
}
}
@ -2434,7 +2432,7 @@ s32 player_team_is_ability_active(Actor* actor, s32 ability) {
switch (actorClass) {
case ACTOR_CLASS_PLAYER:
if (!(gBattleStatus.flags2 & BS_FLAGS2_40)) {
if (!(gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE)) {
hasAbility = is_ability_active(ability);
}
break;
@ -2475,34 +2473,34 @@ void remove_player_buffs(s32 buffs) {
Actor* partner = battleStatus->partnerActor;
ActorPart* playerPartsTable = player->partsTable;
if (buffs & 1) {
if (buffs & PLAYER_BUFF_JUMP_CHARGE) {
battleStatus->jumpCharge = 0;
battleStatus->flags1 &= ~BS_FLAGS1_20000000;
battleStatus->flags1 &= ~BS_FLAGS1_JUMP_CHARGED;
}
if (buffs & 2) {
if (buffs & PLAYER_BUFF_HAMMER_CHARGE) {
battleStatus->hammerCharge = 0;
battleStatus->flags1 &= ~BS_FLAGS1_10000000;
battleStatus->flags1 &= ~BS_FLAGS1_HAMMER_CHARGED;
}
if (buffs & 8) {
if (buffs & PLAYER_BUFF_STONE) {
player->stoneDuration = 0;
player->stoneStatus = 0;
}
if (buffs & 0x10) {
if (buffs & PLAYER_BUFF_HUSTLE) {
battleStatus->hustleTurns = 0;
battleStatus->flags1 &= ~BS_FLAGS1_HUSTLE_DRINK_ON;
battleStatus->flags1 &= ~BS_FLAGS1_HUSTLED;
}
if (buffs & 0x20 && (player->staticStatus != 0)) {
if (buffs & PLAYER_BUFF_STATIC && (player->staticStatus != 0)) {
player->staticDuration = 0;
player->staticStatus = 0;
remove_status_static(player->hudElementDataIndex);
}
if (buffs & 0x40 && (player->transparentStatus != 0)) {
if (buffs & PLAYER_BUFF_TRANSPARENT && (player->transparentStatus != 0)) {
player->transparentDuration = 0;
player->transparentStatus = 0;
playerPartsTable->flags &= ~0x100;
remove_status_transparent(player->hudElementDataIndex);
}
if (buffs & 0x200 && (battleStatus->waterBlockTurnsLeft != 0)) {
if (buffs & PLAYER_BUFF_WATER_BLOCK && (battleStatus->waterBlockTurnsLeft != 0)) {
battleStatus->waterBlockTurnsLeft = 0;
battleStatus->buffEffect->data.partnerBuff->unk_0C[FX_BUFF_DATA_WATER_BLOCK].turnsLeft = 0;
battleStatus->waterBlockEffect->flags |= 0x10;
@ -2515,18 +2513,18 @@ void remove_player_buffs(s32 buffs) {
battleStatus->waterBlockEffect = NULL;
sfx_play_sound(SOUND_299);
}
if (buffs & 0x100 && (battleStatus->turboChargeTurnsLeft != 0)) {
if (buffs & PLAYER_BUFF_TURBO_CHARGE && (battleStatus->turboChargeTurnsLeft != 0)) {
battleStatus->turboChargeTurnsLeft = 0;
battleStatus->buffEffect->data.partnerBuff->unk_0C[FX_BUFF_DATA_TURBO_CHARGE].turnsLeft = 0;
}
if (buffs & 0x80 && (battleStatus->cloudNineTurnsLeft != 0)) {
if (buffs & PLAYER_BUFF_CLOUD_NINE && (battleStatus->cloudNineTurnsLeft != 0)) {
battleStatus->cloudNineTurnsLeft = 0;
battleStatus->buffEffect->data.partnerBuff->unk_0C[FX_BUFF_DATA_CLOUD_NINE].turnsLeft = 0;
remove_effect(battleStatus->cloudNineEffect);
battleStatus->cloudNineEffect = NULL;
}
if (partner != NULL && (buffs & 0x10000)) {
if (partner != NULL && (buffs & PLAYER_BUFF_PARTNER_GLOWING)) {
partner->isGlowing = FALSE;
gBattleStatus.flags1 &= ~BS_FLAGS1_40000000;
}
@ -2542,7 +2540,7 @@ void btl_update_ko_status(void) {
player->koDuration = player->debuffDuration;
if (player->koDuration > 0) {
player->koStatus = STATUS_DAZE;
player->disableEffect->data.disableX->unk_3C = player->koDuration;
player->disableEffect->data.disableX->koDuration = player->koDuration;
if (koDuration == 0) {
sfx_play_sound(SOUND_2107);
@ -2557,7 +2555,7 @@ void btl_update_ko_status(void) {
if (partner->koDuration > 0) {
partner->koStatus = STATUS_DAZE;
partner->disableEffect->data.disableX->unk_3C = partner->koDuration;
partner->disableEffect->data.disableX->koDuration = partner->koDuration;
}
}
@ -2568,7 +2566,7 @@ void btl_update_ko_status(void) {
enemy->koDuration = enemy->debuffDuration;
if (enemy->koDuration > 0) {
enemy->koStatus = STATUS_DAZE;
enemy->disableEffect->data.disableX->unk_3C = enemy->koDuration;
enemy->disableEffect->data.disableX->koDuration = enemy->koDuration;
}
}
}

View File

@ -136,16 +136,16 @@ void dispatch_event_player(s32 eventType) {
player->lastEventType = eventType;
oldOnHitScript = player->onHitScript;
oldOnHitID = player->onHitID;
oldOnHitScript = player->handleEventScript;
oldOnHitID = player->handleEventScriptID;
eventScript = start_script(&HandleEvent_Player, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY);
player->onHitScript = eventScript;
player->onHitID = eventScript->id;
player->handleEventScript = eventScript;
player->handleEventScriptID = eventScript->id;
eventScript->owner1.actor = NULL;
if (player->takeTurnScript != NULL) {
kill_script_by_ID(player->takeTurnID);
kill_script_by_ID(player->takeTurnScriptID);
player->takeTurnScript = NULL;
}
@ -162,12 +162,12 @@ void dispatch_event_player_continue_turn(s32 eventType) {
player->lastEventType = eventType;
oldOnHitScript = player->onHitScript;
oldOnHitID = player->onHitID;
oldOnHitScript = player->handleEventScript;
oldOnHitID = player->handleEventScriptID;
eventScript = start_script(&HandleEvent_Player, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY);
player->onHitScript = eventScript;
player->onHitID = eventScript->id;
player->handleEventScript = eventScript;
player->handleEventScriptID = eventScript->id;
eventScript->owner1.actor = NULL;
if (oldOnHitScript != NULL) {
@ -423,12 +423,12 @@ s32 calc_player_damage_enemy(void) {
if (battleStatus->jumpCharge && battleStatus->currentAttackElement & DAMAGE_TYPE_JUMP) {
currentAttackDamage += battleStatus->jumpCharge;
gBattleStatus.flags1 &= ~BS_FLAGS1_20000000;
gBattleStatus.flags1 &= ~BS_FLAGS1_JUMP_CHARGED;
}
if (battleStatus->hammerCharge && battleStatus->currentAttackElement & (DAMAGE_TYPE_QUAKE_HAMMER | DAMAGE_TYPE_THROW | DAMAGE_TYPE_SMASH)) {
currentAttackDamage += battleStatus->hammerCharge;
gBattleStatus.flags1 &= ~BS_FLAGS1_10000000;
gBattleStatus.flags1 &= ~BS_FLAGS1_HAMMER_CHARGED;
}
if (battleStatus->unk_98 != 0) {
@ -483,7 +483,7 @@ s32 calc_player_damage_enemy(void) {
}
}
if (gBattleStatus.flags2 & BS_FLAGS2_8000000 && (gBattleStatus.flags1 & BS_FLAGS1_10 ||
if (gBattleStatus.flags2 & BS_FLAGS2_HAS_RUSH && (gBattleStatus.flags1 & BS_FLAGS1_10 ||
battleStatus->currentAttackElement & DAMAGE_TYPE_JUMP)) {
if (battleStatus->rushFlags & RUSH_FLAG_POWER) {
currentAttackDamage += 2;

View File

@ -103,26 +103,26 @@ void play_hit_sound(Actor* actor, f32 x, f32 y, f32 z, u32 hitSound) {
}
void dispatch_event_actor(Actor* actor, s32 event) {
Evt* onHitScript = actor->onHitScript;
s32 onHitID = actor->onHitID;
Evt* handleEventScript = actor->handleEventScript;
s32 onHitID = actor->handleEventScriptID;
if (actor->onHitScriptSource != NULL) {
if (actor->handleEventSource != NULL) {
Evt* newScript;
actor->lastEventType = event;
newScript = start_script(actor->onHitScriptSource, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY);
actor->onHitScript = newScript;
actor->onHitID = newScript->id;
newScript = start_script(actor->handleEventSource, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY);
actor->handleEventScript = newScript;
actor->handleEventScriptID = newScript->id;
newScript->owner1.actorID = actor->actorID;
}
if (actor->takeTurnScript != NULL) {
get_script_by_index(actor->takeTurnID);
kill_script_by_ID(actor->takeTurnID);
get_script_by_index(actor->takeTurnScriptID);
kill_script_by_ID(actor->takeTurnScriptID);
actor->takeTurnScript = NULL;
}
if (onHitScript != NULL) {
if (handleEventScript != NULL) {
kill_script_by_ID(onHitID);
}
}
@ -885,7 +885,7 @@ ApiStatus BindTakeTurn(Evt* script, s32 isInitialCall) {
}
takeTurnScript = (EvtScript*) evt_get_variable(script, *args++);
get_actor(actorID)->takeTurnScriptSource = takeTurnScript;
get_actor(actorID)->takeTurnSource = takeTurnScript;
return ApiStatus_DONE2;
}
@ -898,7 +898,7 @@ ApiStatus PauseTakeTurn(Evt* script, s32 isInitialCall) {
}
evt_get_variable(script, *args++);
suspend_all_script(get_actor(actorID)->takeTurnID);
suspend_all_script(get_actor(actorID)->takeTurnScriptID);
return ApiStatus_DONE2;
}
@ -911,7 +911,7 @@ ApiStatus ResumeTakeTurn(Evt* script, s32 isInitialCall) {
}
evt_get_variable(script, *args++);
resume_all_script(get_actor(actorID)->takeTurnID);
resume_all_script(get_actor(actorID)->takeTurnScriptID);
return ApiStatus_DONE2;
}
@ -934,7 +934,7 @@ ApiStatus BindIdle(Evt* script, s32 isInitialCall) {
actor->idleScript = 0;
}
actor->idleScriptSource = idleCode;
actor->idleSource = idleCode;
newScriptContext = start_script(idleCode, EVT_PRIORITY_A, 0);
actor->idleScript = newScriptContext;
actor->idleScriptID = newScriptContext->id;
@ -976,28 +976,28 @@ ApiStatus EnableIdleScript(Evt* script, s32 isInitialCall) {
ApiStatus BindHandleEvent(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 actorID = evt_get_variable(script, *args++);
EvtScript* var1;
EvtScript* src;
if (actorID == ACTOR_SELF) {
actorID = script->owner1.actorID;
}
var1 = (EvtScript*) evt_get_variable(script, *args++);
get_actor(actorID)->onHitScriptSource = var1;
src = (EvtScript*) evt_get_variable(script, *args++);
get_actor(actorID)->handleEventSource = src;
return ApiStatus_DONE2;
}
ApiStatus BindNextTurn(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 actorID = evt_get_variable(script, *args++);
EvtScript* var1;
EvtScript* src;
if (actorID == ACTOR_SELF) {
actorID = script->owner1.actorID;
}
var1 = (EvtScript*) evt_get_variable(script, *args++);
get_actor(actorID)->onTurnChanceScriptSource = var1;
src = (EvtScript*) evt_get_variable(script, *args++);
get_actor(actorID)->handlePhaseSource = src;
return ApiStatus_DONE2;
}
@ -3362,7 +3362,7 @@ ApiStatus ClearStatusEffects(Evt* script, s32 isInitialCall) {
actor->koStatus = 0;
actor->koDuration = 0;
actor->disableEffect->data.disableX->unk_3C = 0;
actor->disableEffect->data.disableX->koDuration = 0;
actor->attackBoost = 0;
actor->defenseBoost = 0;
actor->isGlowing = 0;

View File

@ -9,22 +9,22 @@ s32 dispatch_damage_event_partner_1(s32, s32);
void dispatch_event_partner(s32 lastEventType) {
BattleStatus* battleStatus = &gBattleStatus;
Actor* partnerActor = battleStatus->partnerActor;
Evt* onHitScript = partnerActor->onHitScript;
s32 onHitID = partnerActor->onHitID;
Evt* handleEventScript = partnerActor->handleEventScript;
s32 onHitID = partnerActor->handleEventScriptID;
Evt* script;
partnerActor->lastEventType = lastEventType;
script = start_script(partnerActor->onHitScriptSource, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY);
partnerActor->onHitScript = script;
partnerActor->onHitID = script->id;
script = start_script(partnerActor->handleEventSource, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY);
partnerActor->handleEventScript = script;
partnerActor->handleEventScriptID = script->id;
script->owner1.actorID = ACTOR_PARTNER;
if (partnerActor->takeTurnScript != NULL) {
kill_script_by_ID(partnerActor->takeTurnID);
kill_script_by_ID(partnerActor->takeTurnScriptID);
partnerActor->takeTurnScript = NULL;
}
if (onHitScript != NULL) {
if (handleEventScript != NULL) {
kill_script_by_ID(onHitID);
}
}
@ -32,17 +32,17 @@ void dispatch_event_partner(s32 lastEventType) {
void dispatch_event_partner_continue_turn(s8 lastEventType) {
BattleStatus* battleStatus = &gBattleStatus;
Actor* partnerActor = battleStatus->partnerActor;
Evt* onHitScript = partnerActor->onHitScript;
s32 onHitID = partnerActor->onHitID;
Evt* handleEventScript = partnerActor->handleEventScript;
s32 onHitID = partnerActor->handleEventScriptID;
Evt* script;
partnerActor->lastEventType = lastEventType;
script = start_script(partnerActor->onHitScriptSource, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY);
partnerActor->onHitScript = script;
partnerActor->onHitID = script->id;
script = start_script(partnerActor->handleEventSource, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY);
partnerActor->handleEventScript = script;
partnerActor->handleEventScriptID = script->id;
script->owner1.actorID = ACTOR_PARTNER;
if (onHitScript != NULL) {
if (handleEventScript != NULL) {
kill_script_by_ID(onHitID);
}
}

File diff suppressed because it is too large Load Diff

View File

@ -51,7 +51,7 @@ void clear_player_data(void) {
playerData->starPoints = 0;
playerData->unk_11 = 0;
playerData->unk_288 = 0;
playerData->merleeSpellType = 0;
playerData->merleeSpellType = MERLEE_SPELL_0;
playerData->merleeCastsLeft = 0;
playerData->merleeTurnCount = -1;
playerData->maxStarPower = 0;

View File

@ -2038,7 +2038,7 @@ ApiStatus SummonEnemy(Evt* script, s32 isInitialCall) {
break;
case 1:
actor2 = script->functionTempPtr[1];
if (does_script_exist(actor2->takeTurnID) == FALSE) {
if (does_script_exist(actor2->takeTurnScriptID) == FALSE) {
enemyIDs = battleStatus->enemyIDs;
if (battleStatus->nextEnemyIndex == 0) {
numEnemies = 0;
@ -3232,7 +3232,7 @@ ApiStatus BoostAttack(Evt* script, s32 isInitialCall) {
break;
case 3:
if (script->functionTemp[3] == 0) {
btl_show_variable_battle_message(0x1D, 60, attackBoost);
btl_show_variable_battle_message(BTL_MSG_1D, 60, attackBoost);
script->functionTemp[0] = 4;
} else {
script->functionTemp[3]--;
@ -3251,7 +3251,7 @@ ApiStatus BoostAttack(Evt* script, s32 isInitialCall) {
script->functionTemp[3]--;
break;
}
if ((actor->onHitScript == NULL) || !does_script_exist(actor->onHitID)) {
if ((actor->handleEventScript == NULL) || !does_script_exist(actor->handleEventScriptID)) {
D_8029FBD4 = 0;
return ApiStatus_DONE2;
}
@ -3356,7 +3356,7 @@ ApiStatus BoostDefense(Evt* script, s32 isInitialCall) {
break;
case 3:
if (script->functionTemp[3] == 0) {
btl_show_variable_battle_message(0x1E, 60, defenseBoost);
btl_show_variable_battle_message(BTL_MSG_1E, 60, defenseBoost);
script->functionTemp[0] = 4;
} else {
script->functionTemp[3]--;
@ -3375,7 +3375,7 @@ ApiStatus BoostDefense(Evt* script, s32 isInitialCall) {
script->functionTemp[3]--;
break;
}
if ((actor->onHitScript == NULL) || !does_script_exist(actor->onHitID)) {
if ((actor->handleEventScript == NULL) || !does_script_exist(actor->handleEventScriptID)) {
D_8029FBD4 = 0;
return ApiStatus_DONE2;
}
@ -3462,7 +3462,7 @@ ApiStatus VanishActor(Evt* script, s32 isInitialCall) {
break;
case 3:
if (script->functionTemp[3] == 0) {
btl_show_variable_battle_message(0x21, 60, vanished);
btl_show_variable_battle_message(BTL_MSG_21, 60, vanished);
script->functionTemp[0] = 4;
} else {
script->functionTemp[3]--;
@ -3481,7 +3481,7 @@ ApiStatus VanishActor(Evt* script, s32 isInitialCall) {
script->functionTemp[3]--;
break;
}
if ((actor->onHitScript == NULL) || !does_script_exist(actor->onHitID)) {
if ((actor->handleEventScript == NULL) || !does_script_exist(actor->handleEventScriptID)) {
D_8029FBD4 = 0;
return ApiStatus_DONE2;
}
@ -3568,7 +3568,7 @@ ApiStatus ElectrifyActor(Evt* script, s32 isInitialCall) {
break;
case 3:
if (script->functionTemp[3] == 0) {
btl_show_variable_battle_message(0x22, 60, electrified);
btl_show_variable_battle_message(BTL_MSG_22, 60, electrified);
script->functionTemp[0] = 4;
} else {
script->functionTemp[3]--;
@ -3587,7 +3587,7 @@ ApiStatus ElectrifyActor(Evt* script, s32 isInitialCall) {
script->functionTemp[3]--;
break;
}
if ((actor->onHitScript == NULL) || !does_script_exist(actor->onHitID)) {
if ((actor->handleEventScript == NULL) || !does_script_exist(actor->handleEventScriptID)) {
D_8029FBD4 = 0;
return ApiStatus_DONE2;
}
@ -3711,7 +3711,7 @@ ApiStatus HealActor(Evt* script, s32 isInitialCall) {
script->functionTemp[3]--;
break;
}
if ((actor->onHitScript == NULL) || !does_script_exist(actor->onHitID)) {
if ((actor->handleEventScript == NULL) || !does_script_exist(actor->handleEventScriptID)) {
D_8029FBD4 = 0;
return ApiStatus_DONE2;
}

View File

@ -82,7 +82,7 @@ ApiStatus N(start)(Evt* script, s32 isInitialCall) {
actionCommandStatus->barFillWidth = 0;
battleStatus->actionSuccess = 0;
battleStatus->unk_86 = 0x7F;
battleStatus->unk_86 = 127;
battleStatus->unk_82 = actionCommandStatus->mashMeterCutoffs[actionCommandStatus->mashMeterIntervals - 1];
actionCommandStatus->thresholdLevel = rand_int(actionCommandStatus->unk_5A);

View File

@ -75,7 +75,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 4,
.partCount = ARRAY_COUNT(N(partsTable_80220C14)),
.partsData = N(partsTable_80220C14),
.script = &N(init_80220CAC),
.takeTurnScript = &N(init_80220CAC),
.statusTable = N(statusTable_80220B68),
.escapeChance = 70,
.airLiftChance = 30,

View File

@ -144,7 +144,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 7,
.partCount = ARRAY_COUNT(N(partsTable_8021B460)),
.partsData = N(partsTable_8021B460),
.script = &N(init_8021B564),
.takeTurnScript = &N(init_8021B564),
.statusTable = N(statusTable_8021B3B4),
.escapeChance = 50,
.airLiftChance = 95,

View File

@ -66,7 +66,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 7,
.partCount = ARRAY_COUNT(N(partsTable_80218828)),
.partsData = N(partsTable_80218828),
.script = &N(init_802188C0),
.takeTurnScript = &N(init_802188C0),
.statusTable = N(statusTable_8021877C),
.escapeChance = 60,
.airLiftChance = 90,

View File

@ -81,7 +81,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 10,
.partCount = ARRAY_COUNT(N(partsTable_80225D4C)),
.partsData = N(partsTable_80225D4C),
.script = &N(init_80225D98),
.takeTurnScript = &N(init_80225D98),
.statusTable = N(statusTable_80225CA0),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -111,7 +111,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 50,
.partCount = ARRAY_COUNT(N(partsTable_80223D30)),
.partsData = N(partsTable_80223D30),
.script = &N(init_80223DA0),
.takeTurnScript = &N(init_80223DA0),
.statusTable = N(statusTable_80223C84),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -82,7 +82,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 10,
.partCount = ARRAY_COUNT(N(partsTable_80218D24)),
.partsData = N(partsTable_80218D24),
.script = &N(init_80218D70),
.takeTurnScript = &N(init_80218D70),
.statusTable = N(statusTable_80218C78),
.escapeChance = 15,
.airLiftChance = 0,

View File

@ -82,7 +82,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 10,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -65,7 +65,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 20,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 90,
.airLiftChance = 85,

View File

@ -65,7 +65,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 8,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 50,
.airLiftChance = 85,

View File

@ -117,7 +117,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 12,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 40,
.airLiftChance = 90,

View File

@ -76,7 +76,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 10,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 50,
.airLiftChance = 90,

View File

@ -404,7 +404,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 60,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -94,7 +94,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 12,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 50,
.airLiftChance = 55,
@ -170,7 +170,7 @@ ActorBlueprint N(hole) = {
.maxHP = 5,
.partCount = ARRAY_COUNT(N(parts_hole)),
.partsData = N(parts_hole),
.script = &N(init_hole),
.takeTurnScript = &N(init_hole),
.statusTable = NULL,
.escapeChance = 80,
.airLiftChance = 0,

View File

@ -95,7 +95,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 50,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -120,7 +120,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 1,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -74,7 +74,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 99,
.partCount = ARRAY_COUNT(N(partsTable_80219114)),
.partsData = N(partsTable_80219114),
.script = &N(init_80219160),
.takeTurnScript = &N(init_80219160),
.statusTable = N(statusTable_80219068),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -136,7 +136,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 8,
.partCount = ARRAY_COUNT(N(partsTable_8021D5F0)),
.partsData = N(partsTable_8021D5F0),
.script = &N(init_8021E100),
.takeTurnScript = &N(init_8021E100),
.statusTable = N(statusTable_8021D498),
.escapeChance = 0,
.airLiftChance = 0,
@ -161,7 +161,7 @@ ActorBlueprint N(flying) = {
.maxHP = 8,
.partCount = ARRAY_COUNT(N(partsTable_8021D614)),
.partsData = N(partsTable_8021D614),
.script = &N(init_8021E2C0),
.takeTurnScript = &N(init_8021E2C0),
.statusTable = N(statusTable_8021D544),
.escapeChance = 0,
.airLiftChance = 0,
@ -1304,7 +1304,7 @@ ActorBlueprint N(clone) = {
.maxHP = 11,
.partCount = ARRAY_COUNT(N(partsTable_80221624)),
.partsData = N(partsTable_80221624),
.script = &N(init_8022143C),
.takeTurnScript = &N(init_8022143C),
.statusTable = N(statusTable_802214CC),
.escapeChance = 40,
.airLiftChance = 0,
@ -1327,7 +1327,7 @@ ActorBlueprint N(flying_clone) = {
.maxHP = 11,
.partCount = ARRAY_COUNT(N(partsTable_80221648)),
.partsData = N(partsTable_80221648),
.script = &N(init_80221478),
.takeTurnScript = &N(init_80221478),
.statusTable = N(statusTable_80221578),
.escapeChance = 40,
.airLiftChance = 0,

View File

@ -131,7 +131,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 4,
.partCount = ARRAY_COUNT(N(partsTable_80218CC8)),
.partsData = N(partsTable_80218CC8),
.script = &N(init_80218EC4),
.takeTurnScript = &N(init_80218EC4),
.statusTable = N(statusTable_80218C1C),
.escapeChance = 60,
.airLiftChance = 90,

View File

@ -221,7 +221,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 4,
.partCount = ARRAY_COUNT(N(partsTable_80221604)),
.partsData = N(partsTable_80221604),
.script = &N(init_80221ABC),
.takeTurnScript = &N(init_80221ABC),
.statusTable = N(statusTable_80221558),
.escapeChance = 0,
.airLiftChance = 25,

View File

@ -232,7 +232,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 4,
.partCount = ARRAY_COUNT(N(partsTable_80218D34)),
.partsData = N(partsTable_80218D34),
.script = &N(init_80218EC4),
.takeTurnScript = &N(init_80218EC4),
.statusTable = N(statusTable_80218C88),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -204,7 +204,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 30,
.partCount = ARRAY_COUNT(N(partsTable_8021BAD4)),
.partsData = N(partsTable_8021BAD4),
.script = &N(init_8021BC1C),
.takeTurnScript = &N(init_8021BC1C),
.statusTable = N(statusTable_8021BA28),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -141,7 +141,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 40,
.partCount = ARRAY_COUNT(N(partsTable_8021B708)),
.partsData = N(partsTable_8021B708),
.script = &N(init_8021B7E4),
.takeTurnScript = &N(init_8021B7E4),
.statusTable = N(statusTable_8021B65C),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -72,7 +72,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 2,
.partCount = ARRAY_COUNT(N(partsTable_802187EC)),
.partsData = N(partsTable_802187EC),
.script = &N(init_802188D0),
.takeTurnScript = &N(init_802188D0),
.statusTable = N(statusTable_80218740),
.escapeChance = 80,
.airLiftChance = 40,

View File

@ -77,7 +77,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 8,
.partCount = ARRAY_COUNT(N(partsTable_8021DA4C)),
.partsData = N(partsTable_8021DA4C),
.script = &N(init_8021DA98),
.takeTurnScript = &N(init_8021DA98),
.statusTable = N(statusTable_8021D9A0),
.escapeChance = 70,
.airLiftChance = 20,

View File

@ -67,7 +67,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 7,
.partCount = ARRAY_COUNT(N(partsTable_8021EA90)),
.partsData = N(partsTable_8021EA90),
.script = &N(init_8021EB28),
.takeTurnScript = &N(init_8021EB28),
.statusTable = N(statusTable_8021E9E4),
.escapeChance = 30,
.airLiftChance = 85,

View File

@ -76,7 +76,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 8,
.partCount = ARRAY_COUNT(N(partsTable_8022193C)),
.partsData = N(partsTable_8022193C),
.script = &N(init_80221988),
.takeTurnScript = &N(init_80221988),
.statusTable = N(statusTable_80221890),
.escapeChance = 70,
.airLiftChance = 85,

View File

@ -178,7 +178,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 7,
.partCount = ARRAY_COUNT(N(partsTable_802187F0)),
.partsData = N(partsTable_802187F0),
.script = &N(init_80218980),
.takeTurnScript = &N(init_80218980),
.statusTable = N(statusTable_80218698),
.escapeChance = 50,
.airLiftChance = 85,

View File

@ -106,7 +106,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 20,
.partCount = ARRAY_COUNT(N(partsTable_80218B00)),
.partsData = N(partsTable_80218B00),
.script = &N(init_80218B70),
.takeTurnScript = &N(init_80218B70),
.statusTable = N(statusTable_80218A54),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -93,7 +93,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 10,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -65,7 +65,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 6,
.partCount = ARRAY_COUNT(N(partsTable_80219968)),
.partsData = N(partsTable_80219968),
.script = &N(init_8021B268),
.takeTurnScript = &N(init_8021B268),
.statusTable = N(statusTable_802198BC),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -63,7 +63,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 6,
.partCount = ARRAY_COUNT(N(partsTable_8021D4B8)),
.partsData = N(partsTable_8021D4B8),
.script = &N(init_8021EDB8),
.takeTurnScript = &N(init_8021EDB8),
.statusTable = N(statusTable_8021D40C),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -128,7 +128,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 10,
.partCount = ARRAY_COUNT(N(partsTable_802209C8)),
.partsData = N(partsTable_802209C8),
.script = &N(init_80220A38),
.takeTurnScript = &N(init_80220A38),
.statusTable = N(statusTable_8022091C),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -118,7 +118,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 255,
.partCount = ARRAY_COUNT(N(partsTable_8022339C)),
.partsData = N(partsTable_8022339C),
.script = &N(init_80223488),
.takeTurnScript = &N(init_80223488),
.statusTable = N(statusTable_802232F0),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -65,7 +65,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 7,
.partCount = ARRAY_COUNT(N(partsTable_8021B778)),
.partsData = N(partsTable_8021B778),
.script = &N(init_8021D078),
.takeTurnScript = &N(init_8021D078),
.statusTable = N(statusTable_8021B6CC),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -63,7 +63,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 7,
.partCount = ARRAY_COUNT(N(partsTable_8021EEB8)),
.partsData = N(partsTable_8021EEB8),
.script = &N(init_802207B8),
.takeTurnScript = &N(init_802207B8),
.statusTable = N(statusTable_8021EE0C),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -88,7 +88,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 15,
.partCount = ARRAY_COUNT(N(partsTable_802244C4)),
.partsData = N(partsTable_802244C4),
.script = &N(init_80224A94),
.takeTurnScript = &N(init_80224A94),
.statusTable = N(statusTable_80224418),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -184,7 +184,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 60,
.partCount = ARRAY_COUNT(N(partsTable_8022C640)),
.partsData = N(partsTable_8022C640),
.script = &N(init_8022CF80),
.takeTurnScript = &N(init_8022CF80),
.statusTable = N(statusTable_8022C43C),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -71,7 +71,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 5,
.partCount = ARRAY_COUNT(N(partsTable_80222AE4)),
.partsData = N(partsTable_80222AE4),
.script = &N(init_80223180),
.takeTurnScript = &N(init_80223180),
.statusTable = N(statusTable_80222A38),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -115,7 +115,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 50,
.partCount = ARRAY_COUNT(N(partsTable_8022A6E0)),
.partsData = N(partsTable_8022A6E0),
.script = &N(init_8022ACE4),
.takeTurnScript = &N(init_8022ACE4),
.statusTable = N(statusTable_8022A634),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -101,7 +101,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 40,
.partCount = ARRAY_COUNT(N(partsTable_80225F0C)),
.partsData = N(partsTable_80225F0C),
.script = &N(init_80226510),
.takeTurnScript = &N(init_80226510),
.statusTable = N(statusTable_80225E60),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -133,7 +133,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 2,
.partCount = ARRAY_COUNT(N(partsTable)),
.partsData = N(partsTable),
.script = &N(init_8021F450),
.takeTurnScript = &N(init_8021F450),
.statusTable = N(statusTable_8021C274),
.escapeChance = 90,
.airLiftChance = 100,

View File

@ -63,7 +63,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 2,
.partCount = ARRAY_COUNT(N(partsTable_8021A448)),
.partsData = N(partsTable_8021A448),
.script = &N(init_8021BEBC),
.takeTurnScript = &N(init_8021BEBC),
.statusTable = N(statusTable_8021A39C),
.escapeChance = 90,
.airLiftChance = 95,

View File

@ -95,7 +95,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 40,
.partCount = ARRAY_COUNT(N(partsTable_80228014)),
.partsData = N(partsTable_80228014),
.script = &N(init_80228618),
.takeTurnScript = &N(init_80228618),
.statusTable = N(statusTable_80227F68),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -143,7 +143,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 8,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 50,
.airLiftChance = 70,

View File

@ -134,7 +134,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 8,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 50,
.airLiftChance = 75,

View File

@ -93,7 +93,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 50,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -125,7 +125,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 10,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 0,
.airLiftChance = 0,
@ -165,7 +165,7 @@ EvtScript N(init) = {
EVT_CALL(BindNextTurn, ACTOR_SELF, EVT_PTR(N(nextTurn)))
EVT_CALL(ModifyActorDecoration, ACTOR_SELF, 1, 1, 100, 0, 0, 0)
EVT_EXEC(N(unkDecorationScript))
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_800000, 1)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_NO_GAME_OVER, 1)
EVT_CALL(SetBattleFlagBits2, BS_FLAGS2_2000000, 1)
EVT_RETURN
EVT_END

View File

@ -139,7 +139,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 50,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -137,7 +137,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 99,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -140,7 +140,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 99,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -64,7 +64,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 50,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -67,7 +67,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 3,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 40,
.airLiftChance = 100,

View File

@ -70,7 +70,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 10,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 0,
.airLiftChance = 15,

View File

@ -121,7 +121,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 9,
.partCount = ARRAY_COUNT(N(partsTable_80218EE8)),
.partsData = N(partsTable_80218EE8),
.script = &N(init_8021901C),
.takeTurnScript = &N(init_8021901C),
.statusTable = N(statusTable_80218E3C),
.escapeChance = 50,
.airLiftChance = 90,

View File

@ -147,7 +147,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 8,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -251,7 +251,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 40,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -83,7 +83,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 1,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -81,7 +81,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 1,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -68,7 +68,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 15,
.partCount = ARRAY_COUNT(N(partsTable_80219E24)),
.partsData = N(partsTable_80219E24),
.script = &N(init_8021CCDC),
.takeTurnScript = &N(init_8021CCDC),
.statusTable = N(statusTable_80219D78),
.escapeChance = 100,
.airLiftChance = 0,
@ -833,7 +833,7 @@ EvtScript N(init_8021CCDC) = {
EVT_CALL(SetActorVar, -127, 0, 0)
EVT_CALL(SetActorVar, -127, 1, 0)
EVT_CALL(SetActorVar, -127, 2, 0)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_800000, 1)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_NO_GAME_OVER, 1)
EVT_RETURN
EVT_END
};

View File

@ -90,7 +90,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 20,
.partCount = ARRAY_COUNT(N(partsTable_8021D47C)),
.partsData = N(partsTable_8021D47C),
.script = &N(init_8021D4C8),
.takeTurnScript = &N(init_8021D4C8),
.statusTable = N(statusTable_8021D3D0),
.escapeChance = 100,
.airLiftChance = 0,
@ -138,7 +138,7 @@ EvtScript N(init_8021D4C8) = {
EVT_CALL(func_8026BF48, 0)
EVT_END_THREAD
EVT_CALL(func_802180D0_464560)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_800000, 1)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_NO_GAME_OVER, 1)
EVT_RETURN
EVT_END
};
@ -518,7 +518,7 @@ ActorBlueprint N(goombario) = {
.maxHP = 20,
.partCount = ARRAY_COUNT(N(partsTable_8021EA50)),
.partsData = N(partsTable_8021EA50),
.script = &N(init_Goombario),
.takeTurnScript = &N(init_Goombario),
.statusTable = N(statusTable_8021E9A4),
.escapeChance = 100,
.airLiftChance = 0,
@ -1153,7 +1153,7 @@ ActorBlueprint N(kooper) = {
.maxHP = 20,
.partCount = ARRAY_COUNT(N(partsTable_8022069C)),
.partsData = N(partsTable_8022069C),
.script = &N(init_Kooper),
.takeTurnScript = &N(init_Kooper),
.statusTable = N(statusTable_802205F0),
.escapeChance = 100,
.airLiftChance = 0,
@ -1665,7 +1665,7 @@ ActorBlueprint N(bombette) = {
.maxHP = 20,
.partCount = ARRAY_COUNT(N(partsTable_80222394)),
.partsData = N(partsTable_80222394),
.script = &N(init_LeeBombette),
.takeTurnScript = &N(init_LeeBombette),
.statusTable = N(statusTable_802222E8),
.escapeChance = 100,
.airLiftChance = 0,
@ -2031,7 +2031,7 @@ ActorBlueprint N(parakarry) = {
.maxHP = 20,
.partCount = ARRAY_COUNT(N(partsTable_8022348C)),
.partsData = N(partsTable_8022348C),
.script = &N(init_Parakarry),
.takeTurnScript = &N(init_Parakarry),
.statusTable = N(statusTable_802233E0),
.escapeChance = 100,
.airLiftChance = 0,
@ -2393,7 +2393,7 @@ ActorBlueprint N(bow) = {
.maxHP = 20,
.partCount = ARRAY_COUNT(N(partsTable_80224514)),
.partsData = N(partsTable_80224514),
.script = &N(init_Bow),
.takeTurnScript = &N(init_Bow),
.statusTable = N(statusTable_80224468),
.escapeChance = 100,
.airLiftChance = 0,
@ -2845,7 +2845,7 @@ ActorBlueprint N(watt) = {
.maxHP = 20,
.partCount = ARRAY_COUNT(N(partsTable_80225A80)),
.partsData = N(partsTable_80225A80),
.script = &N(init_Watt),
.takeTurnScript = &N(init_Watt),
.statusTable = N(statusTable_802259D4),
.escapeChance = 100,
.airLiftChance = 0,
@ -3311,7 +3311,7 @@ ActorBlueprint N(sushie) = {
.maxHP = 20,
.partCount = ARRAY_COUNT(N(partsTable_80226A80)),
.partsData = N(partsTable_80226A80),
.script = &N(init_Sushie),
.takeTurnScript = &N(init_Sushie),
.statusTable = N(statusTable_802269D4),
.escapeChance = 100,
.airLiftChance = 0,
@ -3803,7 +3803,7 @@ ActorBlueprint N(lakilester) = {
.maxHP = 20,
.partCount = ARRAY_COUNT(N(partsTable_8022851C)),
.partsData = N(partsTable_8022851C),
.script = &N(init_Lakilester),
.takeTurnScript = &N(init_Lakilester),
.statusTable = N(statusTable_80228470),
.escapeChance = 100,
.airLiftChance = 0,

View File

@ -73,7 +73,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 50,
.partCount = ARRAY_COUNT(N(partsTable_8022A364)),
.partsData = N(partsTable_8022A364),
.script = &N(init_8022A3B0),
.takeTurnScript = &N(init_8022A3B0),
.statusTable = N(statusTable_8022A2B8),
.escapeChance = 100,
.airLiftChance = 0,
@ -104,7 +104,7 @@ EvtScript N(init_8022A3B0) = {
EVT_CALL(SetActorVar, -127, 2, 0)
EVT_CALL(SetActorVar, -127, 3, 2)
EVT_SET(GF_FoughtTheMaster, 1)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_800000, 1)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_NO_GAME_OVER, 1)
EVT_RETURN
EVT_END
};

View File

@ -86,7 +86,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 75,
.partCount = ARRAY_COUNT(N(partsTable_8022B790)),
.partsData = N(partsTable_8022B790),
.script = &N(init_8022B7DC),
.takeTurnScript = &N(init_8022B7DC),
.statusTable = N(statusTable_8022B6E4),
.escapeChance = 100,
.airLiftChance = 0,
@ -116,7 +116,7 @@ EvtScript N(init_8022B7DC) = {
EVT_CALL(SetActorVar, -127, 1, 0)
EVT_CALL(SetActorVar, -127, 2, 0)
EVT_CALL(SetActorVar, -127, 3, 2)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_800000, 1)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_NO_GAME_OVER, 1)
EVT_RETURN
EVT_END
};

View File

@ -98,7 +98,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 99,
.partCount = ARRAY_COUNT(N(partsTable_8022DAF0)),
.partsData = N(partsTable_8022DAF0),
.script = &N(init_8022DB60),
.takeTurnScript = &N(init_8022DB60),
.statusTable = N(statusTable_8022DA44),
.escapeChance = 100,
.airLiftChance = 0,
@ -128,7 +128,7 @@ EvtScript N(init_8022DB60) = {
EVT_CALL(SetActorVar, -127, 1, 0)
EVT_CALL(SetActorVar, -127, 2, 0)
EVT_CALL(SetActorVar, -127, 3, 2)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_800000, 1)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_NO_GAME_OVER, 1)
EVT_RETURN
EVT_END
};

View File

@ -65,7 +65,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 6,
.partCount = ARRAY_COUNT(N(partsTable_80218478)),
.partsData = N(partsTable_80218478),
.script = &N(init_80218510),
.takeTurnScript = &N(init_80218510),
.statusTable = N(statusTable_802183CC),
.escapeChance = 40,
.airLiftChance = 90,

View File

@ -86,7 +86,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 5,
.partCount = ARRAY_COUNT(N(partsTable_8021D44C)),
.partsData = N(partsTable_8021D44C),
.script = &N(init_8021D498),
.takeTurnScript = &N(init_8021D498),
.statusTable = N(statusTable_8021D3A0),
.escapeChance = 70,
.airLiftChance = 20,

View File

@ -198,7 +198,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 70,
.partCount = ARRAY_COUNT(N(partsTable_80227AB4)),
.partsData = N(partsTable_80227AB4),
.script = &N(init_80227C20),
.takeTurnScript = &N(init_80227C20),
.statusTable = N(statusTable_80227A08),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -64,7 +64,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 50,
.partCount = ARRAY_COUNT(N(partsTable_802219C8)),
.partsData = N(partsTable_802219C8),
.script = &N(init_80221A60),
.takeTurnScript = &N(init_80221A60),
.statusTable = N(statusTable_8022191C),
.escapeChance = 50,
.airLiftChance = 0,

View File

@ -65,7 +65,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 7,
.partCount = ARRAY_COUNT(N(partsTable_8021ADD0)),
.partsData = N(partsTable_8021ADD0),
.script = &N(init_8021AE68),
.takeTurnScript = &N(init_8021AE68),
.statusTable = N(statusTable_8021AD24),
.escapeChance = 60,
.airLiftChance = 85,

View File

@ -65,7 +65,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 7,
.partCount = ARRAY_COUNT(N(partsTable_8021FED0)),
.partsData = N(partsTable_8021FED0),
.script = &N(init_8021FF68),
.takeTurnScript = &N(init_8021FF68),
.statusTable = N(statusTable_8021FE24),
.escapeChance = 60,
.airLiftChance = 85,

View File

@ -89,7 +89,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 7,
.partCount = ARRAY_COUNT(N(partsTable_80224AEC)),
.partsData = N(partsTable_80224AEC),
.script = &N(init_80224B38),
.takeTurnScript = &N(init_80224B38),
.statusTable = N(statusTable_80224A40),
.escapeChance = 50,
.airLiftChance = 85,

View File

@ -65,7 +65,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 7,
.partCount = ARRAY_COUNT(N(partsTable_8021E3D0)),
.partsData = N(partsTable_8021E3D0),
.script = &N(init_8021E468),
.takeTurnScript = &N(init_8021E468),
.statusTable = N(statusTable_8021E324),
.escapeChance = 60,
.airLiftChance = 85,

View File

@ -83,7 +83,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 7,
.partCount = ARRAY_COUNT(N(partsTable_8022CC34)),
.partsData = N(partsTable_8022CC34),
.script = &N(init_8022CC80),
.takeTurnScript = &N(init_8022CC80),
.statusTable = N(statusTable_8022CB88),
.escapeChance = 60,
.airLiftChance = 85,

View File

@ -223,7 +223,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 7,
.partCount = ARRAY_COUNT(N(partsTable_8022977C)),
.partsData = N(partsTable_8022977C),
.script = &N(init_8022987C),
.takeTurnScript = &N(init_8022987C),
.statusTable = N(statusTable_80229624),
.escapeChance = 50,
.airLiftChance = 90,

View File

@ -109,7 +109,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 7,
.partCount = ARRAY_COUNT(N(partsTable_80227564)),
.partsData = N(partsTable_80227564),
.script = &N(init_802275D4),
.takeTurnScript = &N(init_802275D4),
.statusTable = N(statusTable_802274B8),
.escapeChance = 50,
.airLiftChance = 85,

View File

@ -65,7 +65,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 7,
.partCount = ARRAY_COUNT(N(partsTable_8021C8D0)),
.partsData = N(partsTable_8021C8D0),
.script = &N(init_8021C968),
.takeTurnScript = &N(init_8021C968),
.statusTable = N(statusTable_8021C824),
.escapeChance = 60,
.airLiftChance = 85,

View File

@ -92,7 +92,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 10,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -83,7 +83,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 8,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -145,7 +145,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 30,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -295,7 +295,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 15,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -227,7 +227,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 7,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 0,
.airLiftChance = 0,

View File

@ -256,7 +256,7 @@ ActorBlueprint NAMESPACE = {
.maxHP = 10,
.partCount = ARRAY_COUNT(N(parts)),
.partsData = N(parts),
.script = &N(init),
.takeTurnScript = &N(init),
.statusTable = N(statusTable),
.escapeChance = 0,
.airLiftChance = 0,

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