misc battle cleanup III (#911)

* misc

* fix one type

* yeah

* misc

* all substates

* almost done

* renames

* comments

* a couple maps

Co-authored-by: HailSanta <Hail2Santa@gmail.com>
This commit is contained in:
HailSanta 2023-01-15 04:22:41 -05:00 committed by GitHub
parent 2f79b35772
commit 935fd14530
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
174 changed files with 6392 additions and 4072 deletions

View File

@ -850,13 +850,13 @@ typedef struct BattleStatus {
/* 0x049 */ s8 unk_49;
/* 0x04A */ s8 unk_4A;
/* 0x04B */ s8 unk_4B;
/* 0x04C */ s8 unk_4C[16];
/* 0x05C */ s8 unk_5C[16];
/* 0x04C */ s8 lastPlayerMenuSelection[16];
/* 0x05C */ s8 lastPartnerMenuSelection[16];
/* 0x06C */ s16 cancelTargetMenuSubstate; // might be more generally for returning from nested 'inner' state
/* 0x06E */ s16 acceptTargetMenuSubstate; // might be more generally for returning from nested 'inner' state
/* 0x070 */ s16 menuDisableFlags; /* 1 = jump, 2 = hammer, 4 = items */
/* 0x072 */ char unk_72[2];
/* 0x074 */ s32 unk_74;
/* 0x074 */ s32 enabledStarPowersMask; // zero'd bits will be unavailable, used only for tutorial battles
/* 0x078 */ s8 totalStarPoints;
/* 0x079 */ s8 pendingStarPoints; /* how many to add */
/* 0x07A */ s8 incrementStarPointDelay; /* related to star points, set to 0x28 when they are dropped */
@ -921,7 +921,7 @@ typedef struct BattleStatus {
/* 0x174 */ struct Actor* currentTurnEnemy;
/* 0x178 */ s8 moveCategory; ///< 0 = jump, 1 = hammer, 5 = partner, ...
/* 0x179 */ char unk_179;
/* 0x17A */ s16 selectedItemID;
/* 0x17A */ s16 moveArgument; // argument provided for move; can be hammer/boots level, itemID, etc
/* 0x17C */ s16 selectedMoveID;
/* 0x17E */ s16 currentAttackDamage;
/* 0x180 */ s16 lastAttackDamage;
@ -1889,7 +1889,7 @@ typedef struct Actor {
/* 0x205 */ s8 unk_205;
/* 0x206 */ s8 unk_206;
/* 0x207 */ s8 extraCoinBonus;
/* 0x208 */ s8 unk_208;
/* 0x208 */ s8 instigatorValue; // from the enemy which initiated the encounter if this actor is first in the formation. allows that enemy to pass information to its actor.
/* 0x209 */ char unk_209[3];
/* 0x20C */ s32* statusTable;
/* 0x210 */ s8 debuff;
@ -1903,7 +1903,7 @@ typedef struct Actor {
/* 0x218 */ s8 transparentStatus; /* 0E = yes */
/* 0x219 */ s8 transparentDuration;
/* 0x21A */ char unk_21A[2];
/* 0x21C */ s8 status;
/* 0x21C */ s8 statusAfflicted;
/* 0x21D */ s8 disableDismissTimer;
/* 0x21E */ s16 unk_21E;
/* 0x220 */ s8 isGlowing; // charge amount for goombario

View File

@ -40,7 +40,7 @@ typedef struct DeadEnemy {
/* 0x0AC */ s32 aiDetectFlags;
/* 0x0B0 */ s32 aiFlags;
/* 0x0B4 */ s8 aiPaused;
/* 0x0B5 */ s8 unk_B5;
/* 0x0B5 */ s8 instigatorValue;
/* 0x0B6 */ char unk_B6[2];
/* 0x0B8 */ EvtScript* unk_B8; // some bytecode
/* 0x0BC */ struct Evt* unk_BC; // some script

View File

@ -2444,8 +2444,8 @@ enum MerleeSpellType {
MERLEE_SPELL_0 = 0,
MERLEE_SPELL_1 = 1,
MERLEE_SPELL_2 = 2,
MERLEE_SPELL_3 = 3,
MERLEE_SPELL_4 = 4, // extra coins
MERLEE_SPELL_EXP_BOOST = 3,
MERLEE_SPELL_COIN_BOOST = 4,
};
enum NpcDecorationIDs {
@ -2638,7 +2638,7 @@ enum Events {
EVENT_RECOVER_STATUS = 0x00000031,
EVENT_32 = 0x00000032,
EVENT_33 = 0x00000033,
EVENT_RECOVER_PARTNER = 0x00000034,
EVENT_RECOVER_FROM_KO = 0x00000034,
EVENT_END_FIRST_STRIKE = 0x00000035,
EVENT_LUCKY = 0x00000037,
EVENT_BEGIN_FIRST_STRIKE = 0x00000038,
@ -3459,6 +3459,8 @@ enum PopupType {
POPUP_MENU_READ_POSTCARD = 0xB,
POPUP_MENU_USEKEY = 0xC,
POPUP_MENU_POST_OFFICE = 0xD,
POPUP_MENU_DOUBLE_DIP = 100,
POPUP_MENU_TRIPLE_DIP = 200,
};
/// not really
@ -3683,17 +3685,17 @@ enum AnyEnemyAnims {
};
enum FirstStrikes {
FIRST_STRIKE_NONE = 0x00000000,
FIRST_STRIKE_PLAYER = 0x00000001,
FIRST_STRIKE_ENEMY = 0x00000002,
FIRST_STRIKE_NONE = 0,
FIRST_STRIKE_PLAYER = 1,
FIRST_STRIKE_ENEMY = 2,
};
enum TimeFreezeMode {
TIME_FREEZE_NORMAL = 0x00000000,
TIME_FREEZE_PARTIAL = 0x00000001,
TIME_FREEZE_FULL = 0x00000002,
TIME_FREEZE_PARTNER_MENU = 0x00000003,
TIME_FREEZE_EXIT = 0x00000004,
TIME_FREEZE_NORMAL = 0,
TIME_FREEZE_PARTIAL = 1,
TIME_FREEZE_FULL = 2,
TIME_FREEZE_POPUP_MENU = 3,
TIME_FREEZE_EXIT = 4,
};
enum ActionCommand {
@ -3972,6 +3974,8 @@ enum MoveIDs {
MOVE_FAN_SMACK = 0x000000B8,
};
#define STAR_POWER_INDEX(x) (x - MOVE_FOCUS)
enum GameModeIDs {
GAME_MODE_STARTUP = 0x00000000,
GAME_MODE_LOGOS = 0x00000001,
@ -4030,103 +4034,103 @@ enum IntroStates {
};
enum BattleStatusFlags1 {
BS_FLAGS1_0 = 0x00000000,
BS_FLAGS1_ACTORS_VISIBLE = 0x00000001, // show actors
BS_FLAGS1_2 = 0x00000002, // menu is open
BS_FLAGS1_4 = 0x00000004,
BS_FLAGS1_8 = 0x00000008,
BS_FLAGS1_10 = 0x00000010, // enable attack bonuses (power plus, etc)?
BS_FLAGS1_SP_EVT_ACTIVE = 0x00000020, // enable special events (other than hit/death/immune?)
BS_FLAGS1_40 = 0x00000040,
BS_FLAGS1_80 = 0x00000080,
BS_FLAGS1_100 = 0x00000100,
BS_FLAGS1_200 = 0x00000200,
BS_FLAGS1_400 = 0x00000400, // UNUSED
BS_FLAGS1_FORCE_HIT_IMMUNE = 0x00000800,
BS_FLAGS1_AUTO_SUCCEED_ACTION = 0x00001000,
BS_FLAGS1_2000 = 0x00002000,
BS_FLAGS1_4000 = 0x00004000,
BS_FLAGS1_8000 = 0x00008000,
BS_FLAGS1_10000 = 0x00010000,
BS_FLAGS1_DISABLE_CELEBRATION = 0x00020000,
BS_FLAGS1_ENEMY_FLED = 0x00040000,
BS_FLAGS1_80000 = 0x00080000, // partner will act (partner turn?)
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_NO_GAME_OVER = 0x00800000, // dont game over on loss
BS_FLAGS1_STAR_POINTS_DROPPED = 0x01000000,
BS_FLAGS1_2000000 = 0x02000000,
BS_FLAGS1_HUSTLED = 0x04000000,
BS_FLAGS1_8000000 = 0x08000000,
BS_FLAGS1_HAMMER_CHARGED = 0x10000000,
BS_FLAGS1_JUMP_CHARGED = 0x20000000,
BS_FLAGS1_40000000 = 0x40000000,
BS_FLAGS1_ATK_BLOCKED = 0x80000000,
BS_FLAGS1_0 = 0x00000000,
BS_FLAGS1_ACTORS_VISIBLE = 0x00000001,
BS_FLAGS1_MENU_OPEN = 0x00000002,
BS_FLAGS1_4 = 0x00000004,
BS_FLAGS1_8 = 0x00000008,
BS_FLAGS1_10 = 0x00000010, // enable attack bonuses (power plus, etc)?
BS_FLAGS1_SP_EVT_ACTIVE = 0x00000020, // enable special events (other than hit/death/immune?)
BS_FLAGS1_40 = 0x00000040,
BS_FLAGS1_80 = 0x00000080,
BS_FLAGS1_100 = 0x00000100,
BS_FLAGS1_200 = 0x00000200,
BS_FLAGS1_400 = 0x00000400, // UNUSED
BS_FLAGS1_FORCE_HIT_IMMUNE = 0x00000800,
BS_FLAGS1_AUTO_SUCCEED_ACTION = 0x00001000,
BS_FLAGS1_2000 = 0x00002000,
BS_FLAGS1_4000 = 0x00004000,
BS_FLAGS1_8000 = 0x00008000,
BS_FLAGS1_10000 = 0x00010000,
BS_FLAGS1_DISABLE_CELEBRATION = 0x00020000,
BS_FLAGS1_BATTLE_FLED = 0x00040000, // used both when the player flees sucessfully or an enemy flees
BS_FLAGS1_PARTNER_ACTING = 0x00080000,
BS_FLAGS1_PLAYER_IN_BACK = 0x00100000,
BS_FLAGS1_200000 = 0x00200000, // enemy turn pending (?)
BS_FLAGS1_PLAYER_DEFENDING = 0x00400000,
BS_FLAGS1_NO_GAME_OVER = 0x00800000, // dont game over on loss
BS_FLAGS1_STAR_POINTS_DROPPED = 0x01000000,
BS_FLAGS1_TUTORIAL_BATTLE = 0x02000000, // prevent player from swapping to/from partner
BS_FLAGS1_HUSTLED = 0x04000000,
BS_FLAGS1_SORT_ENEMIES_BY_POSX = 0x08000000, // enemy turn order ignores priority; sorts bases on x position instead
BS_FLAGS1_HAMMER_CHARGED = 0x10000000,
BS_FLAGS1_JUMP_CHARGED = 0x20000000,
BS_FLAGS1_40000000 = 0x40000000,
BS_FLAGS1_ATK_BLOCKED = 0x80000000,
};
enum BattleStatusFlags2 {
BS_FLAGS2_1 = 0x00000001,
BS_FLAGS2_2 = 0x00000002,
BS_FLAGS2_4 = 0x00000004,
BS_FLAGS2_8 = 0x00000008,
BS_FLAGS2_10 = 0x00000010,
BS_FLAGS2_CANT_FLEE = 0x00000020,
BS_FLAGS2_PEACH_BATTLE = 0x00000040,
BS_FLAGS2_80 = 0x00000080,
BS_FLAGS2_100 = 0x00000100, // dont decrement turbo charge on begin player turn
BS_FLAGS2_200 = 0x00000200,
BS_FLAGS2_400 = 0x00000400,
BS_FLAGS2_800 = 0x00000800,
BS_FLAGS2_NO_TARGET_AVAILABLE = 0x00001000,
BS_FLAGS2_4000 = 0x00004000,
BS_FLAGS2_10000 = 0x00010000,
BS_FLAGS2_100000 = 0x00100000,
BS_FLAGS2_1000000 = 0x01000000, // possible IS_FIRST_STRIKE
BS_FLAGS2_DONT_STOP_MUSIC = 0x02000000, // don't stop playing the current song when the battle ends
BS_FLAGS2_HAS_DRAINED_HP = 0x04000000,
BS_FLAGS2_HAS_RUSH = 0x08000000,
BS_FLAGS2_DROP_WHACKA_BUMP = 0x10000000,
BS_FLAGS2_1 = 0x00000001,
BS_FLAGS2_2 = 0x00000002,
BS_FLAGS2_4 = 0x00000004,
BS_FLAGS2_8 = 0x00000008,
BS_FLAGS2_10 = 0x00000010,
BS_FLAGS2_CANT_FLEE = 0x00000020,
BS_FLAGS2_PEACH_BATTLE = 0x00000040,
BS_FLAGS2_80 = 0x00000080,
BS_FLAGS2_100 = 0x00000100, // dont decrement turbo charge on begin player turn
BS_FLAGS2_200 = 0x00000200,
BS_FLAGS2_400 = 0x00000400,
BS_FLAGS2_800 = 0x00000800,
BS_FLAGS2_NO_TARGET_AVAILABLE = 0x00001000,
BS_FLAGS2_4000 = 0x00004000,
BS_FLAGS2_10000 = 0x00010000,
BS_FLAGS2_100000 = 0x00100000,
BS_FLAGS2_1000000 = 0x01000000, // possible IS_FIRST_STRIKE
BS_FLAGS2_DONT_STOP_MUSIC = 0x02000000, // don't stop playing the current song when the battle ends
BS_FLAGS2_HAS_DRAINED_HP = 0x04000000,
BS_FLAGS2_HAS_RUSH = 0x08000000,
BS_FLAGS2_DROP_WHACKA_BUMP = 0x10000000,
};
enum BattleStates {
BATTLE_STATE_NEGATIVE_1 = -1,
BATTLE_STATE_0 = 0,
BATTLE_STATE_NORMAL_START = 1,
BATTLE_STATE_FIRST_STRIKE = 2,
BATTLE_STATE_PARTNER_FIRST_STRIKE = 3,
BATTLE_STATE_ENEMY_FIRST_STRIKE = 4,
BATTLE_STATE_BEGIN_TURN = 5,
BATTLE_STATE_END_TURN = 6,
BATTLE_STATE_BEGIN_PLAYER_TURN = 7,
BATTLE_STATE_BEGIN_PARTNER_TURN = 8,
BATTLE_STATE_9 = 9,
BATTLE_STATE_SWITCH_TO_PLAYER = 10,
BATTLE_STATE_SWITCH_TO_PARTNER = 11,
BATTLE_STATE_PREPARE_MENU = 12,
BATTLE_STATE_PLAYER_MENU = 13,
BATTLE_STATE_PARTNER_MENU = 14,
BATTLE_STATE_PEACH_MENU = 15,
BATTLE_STATE_TWINK_MENU = 16,
BATTLE_STATE_SELECT_TARGET = 17,
BATTLE_STATE_PLAYER_MOVE = 18,
BATTLE_STATE_PARTNER_MOVE = 19,
BATTLE_STATE_NEXT_ENEMY = 20,
BATTLE_STATE_ENEMY_MOVE = 21,
BATTLE_STATE_END_PLAYER_TURN = 22,
BATTLE_STATE_END_PARTNER_TURN = 23,
BATTLE_STATE_RUN_AWAY = 24,
BATTLE_STATE_DEFEND = 25,
BATTLE_STATE_VICTORY = 26,
BATTLE_STATE_DEFEAT = 27,
BATTLE_STATE_28 = 28,
BATTLE_STATE_CHANGE_PARTNER = 29,
BATTLE_STATE_END_TRAINING_BATTLE = 30,
BATTLE_STATE_31 = 31,
BATTLE_STATE_END_BATTLE = 32,
BATTLE_STATE_CELEBRATION = 33,
BATTLE_STATE_34 = 34,
BATTLE_STATE_END_DEMO_BATTLE = 35,
BATTLE_STATE_NEGATIVE_1 = -1,
BATTLE_STATE_0 = 0,
BATTLE_STATE_NORMAL_START = 1,
BATTLE_STATE_FIRST_STRIKE = 2,
BATTLE_STATE_PARTNER_FIRST_STRIKE = 3,
BATTLE_STATE_ENEMY_FIRST_STRIKE = 4,
BATTLE_STATE_BEGIN_TURN = 5,
BATTLE_STATE_END_TURN = 6,
BATTLE_STATE_BEGIN_PLAYER_TURN = 7,
BATTLE_STATE_BEGIN_PARTNER_TURN = 8,
BATTLE_STATE_9 = 9, // can be reached from BATTLE_STATE_PARTNER_MOVE if partner == NULL
BATTLE_STATE_SWITCH_TO_PLAYER = 10,
BATTLE_STATE_SWITCH_TO_PARTNER = 11,
BATTLE_STATE_PREPARE_MENU = 12,
BATTLE_STATE_PLAYER_MENU = 13,
BATTLE_STATE_PARTNER_MENU = 14,
BATTLE_STATE_PEACH_MENU = 15,
BATTLE_STATE_TWINK_MENU = 16,
BATTLE_STATE_SELECT_TARGET = 17,
BATTLE_STATE_PLAYER_MOVE = 18,
BATTLE_STATE_PARTNER_MOVE = 19,
BATTLE_STATE_NEXT_ENEMY = 20,
BATTLE_STATE_ENEMY_MOVE = 21,
BATTLE_STATE_END_PLAYER_TURN = 22,
BATTLE_STATE_END_PARTNER_TURN = 23,
BATTLE_STATE_RUN_AWAY = 24,
BATTLE_STATE_DEFEND = 25,
BATTLE_STATE_VICTORY = 26,
BATTLE_STATE_DEFEAT = 27,
BATTLE_STATE_28 = 28,
BATTLE_STATE_CHANGE_PARTNER = 29,
BATTLE_STATE_END_TRAINING_BATTLE = 30,
BATTLE_STATE_31 = 31,
BATTLE_STATE_END_BATTLE = 32,
BATTLE_STATE_CELEBRATION = 33,
BATTLE_STATE_34 = 34,
BATTLE_STATE_END_DEMO_BATTLE = 35,
};
enum BattleSubStates {
@ -4134,11 +4138,11 @@ enum BattleSubStates {
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,
BTL_SUBSTATE_NORMAL_START_INIT = 0, // loads assets, initializes state, and runs OnBattleInit script
BTL_SUBSTATE_NORMAL_START_CREATE_ENEMIES = 1,
BTL_SUBSTATE_NORMAL_START_CHECK_FIRST_STRIKE = 4, // wait for actor scripts to finish
BTL_SUBSTATE_NORMAL_START_FADE_IN = 7,
BTL_SUBSTATE_NORMAL_START_DONE = 8,
// BATTLE_STATE_FIRST_STRIKE
BTL_SUBSTATE_FIRST_STRIKE_INIT = 0,
@ -4166,7 +4170,7 @@ enum BattleSubStates {
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_UNUSED_4 = 4,
BTL_SUBSTATE_END_TURN_PERFORM_SWAP = 11,
BTL_SUBSTATE_END_TURN_START_SCRIPTS = 12,
@ -4203,319 +4207,318 @@ enum BattleSubStates {
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_SUBSTATE_PREPARE_MENU_DIPPING = 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,
BTL_SUBSTATE_PEACH_MENU_INIT = 0,
BTL_SUBSTATE_PEACH_MENU_CHOOSE_CATEGORY = 1,
BTL_SUBSTATE_PEACH_MENU_CHOOSE_TARGET = 2,
BTL_SUBSTATE_PEACH_MENU_UNUSED_3 = 3,
BTL_SUBSTATE_PEACH_MENU_TARGET_CANCEL = 4,
BTL_SUBSTATE_PEACH_MENU_TARGET_CHOSEN = 5,
BTL_SUBSTATE_PEACH_MENU_UNUSED_6 = 6,
BTL_SUBSTATE_PEACH_MENU_UNUSED_7 = 7,
BTL_SUBSTATE_PEACH_MENU_SHOW_CANT_SWITCH = 8,
BTL_SUBSTATE_PEACH_MENU_AWAIT_CANT_SWITCH_POPUP = 9,
BTL_SUBSTATE_PEACH_MENU_PERFORM_SWAP = 10,
BTL_SUBSTATE_PEACH_CREATE_MAIN_MENU = 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,
BTL_SUBSTATE_TWINK_MENU_INIT = 0,
BTL_SUBSTATE_TWINK_MENU_CHOOSE_CATEGORY = 1,
BTL_SUBSTATE_TWINK_MENU_CHOOSE_TARGET = 2,
BTL_SUBSTATE_TWINK_MENU_UNUSED_3 = 3,
BTL_SUBSTATE_TWINK_MENU_TARGET_CANCEL = 4,
BTL_SUBSTATE_TWINK_MENU_TARGET_CHOSEN = 5,
BTL_SUBSTATE_TWINK_MENU_UNUSED_6 = 6,
BTL_SUBSTATE_TWINK_MENU_UNUSED_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_CREATE_MAIN_MENU = 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,
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,
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,
BTL_SUBSTATE_PARTNER_MOVE_INIT = 0,
BTL_SUBSTATE_PARTNER_MOVE_EXECUTE_MOVE = 2,
BTL_SUBSTATE_PARTNER_MOVE_HANDLE_RESULTS = 3,
BTL_SUBSTATE_PARTNER_MOVE_AWAIT_PARTNER_STATUS_POPUP = 11,
BTL_SUBSTATE_PARTNER_MOVE_POST_PARTNER_STATUS_POPUP = 12,
BTL_SUBSTATE_PARTNER_MOVE_CHECK_ENEMY_STATUS = 20,
BTL_SUBSTATE_PARTNER_MOVE_AWAIT_ENEMY_STATUS_POPUP = 21,
BTL_SUBSTATE_PARTNER_MOVE_POST_ENEMY_STATUS_POPUP = 22,
BTL_SUBSTATE_PARTNER_MOVE_DONE = 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
BTL_SUBSTATE_NEXT_ENEMY_INIT = 0,
BTL_SUBSTATE_NEXT_ENEMY_UNUSED_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,
BTL_SUBSTATE_ENEMY_MOVE_EXECUTE = 0,
BTL_SUBSTATE_ENEMY_MOVE_UNUSED_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,
BTL_SUBSTATE_END_PLAYER_TURN_CHECK_HAPPY = 0,
BTL_SUBSTATE_END_PLAYER_TURN_AWAIT_HAPPY = 5,
BTL_SUBSTATE_END_PLAYER_TURN_AWAIT_SWAP = 6,
BTL_SUBSTATE_END_PLAYER_TURN_DONE = 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,
BTL_SUBSTATE_RUN_AWAY_EXEC_SCRIPT = 0,
BTL_SUBSTATE_RUN_AWAY_AWAIT_SCRIPT = 2,
BTL_SUBSTATE_RUN_AWAY_EXEC_POST_FAILURE = 3,
BTL_SUBSTATE_RUN_AWAY_AWAIT_POST_FAILURE = 4,
BTL_SUBSTATE_RUN_AWAY_GIVE_STAR_POINTS = 10,
BTL_SUBSTATE_RUN_AWAY_DONE = 11,
// BATTLE_STATE_DEFEND
BTL_SUBSTATE_DEFEND_INIT = 0,
BTL_SUBSTATE_DEFEND_AWAIT_SCRIPT = 1,
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,
BTL_SUBSTATE_VICTORY_CHECK_OUTTA_SIGHT = 0,
BTL_SUBSTATE_VICTORY_AWAIT_OUTTA_SIGHT = 1,
BTL_SUBSTATE_VICTORY_CHECK_MERLEE = 2,
BTL_SUBSTATE_VICTORY_AWAIT_MERLEE = 3,
BTL_SUBSTATE_VICTORY_DONE = 4,
BTL_SUBSTATE_VICTORY_RECOVER_STATUS = 5,
BTL_SUBSTATE_VICTORY_AWAIT_RECOVER_KO = 10,
BTL_SUBSTATE_VICTORY_CHECK_SWAP = 11,
BTL_SUBSTATE_VICTORY_AWAIT_SWAP = 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,
BTL_SUBSTATE_DEFEAT_INIT = 0,
BTL_SUBSTATE_DEFEAT_CHECK_LIFE_SHROOM = 1,
BTL_SUBSTATE_DEFEAT_AWAIT_LIFE_SHROOM = 2,
BTL_SUBSTATE_DEFEAT_DONE = 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,
BTL_SUBSTATE_CHANGE_PARTNER_INIT = 0,
BTL_SUBSTATE_CHANGE_PARTNER_EXEC_PUT_AWAY = 2,
BTL_SUBSTATE_CHANGE_PARTNER_LOAD_NEW_PARTNER = 3,
BTL_SUBSTATE_CHANGE_PARTNER_EXEC_BRING_OUT = 4,
BTL_SUBSTATE_CHANGE_PARTNER_EXEC_PHASE = 5,
BTL_SUBSTATE_CHANGE_PARTNER_AWAIT_PHASE = 6,
BTL_SUBSTATE_CHANGE_PARTNER_DONE = 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,
BTL_SUBSTATE_END_TRAINING_INIT = 0,
BTL_SUBSTATE_END_TRAINING_AWAIT_RECOVERING = 10,
BTL_SUBSTATE_END_TRAINING_CHECK_OUTTA_SIGHT = 11,
BTL_SUBSTATE_END_TRAINING_AWAIT_OUTTA_SIGHT = 12,
BTL_SUBSTATE_END_TRAINING_RESET_CAM = 13,
BTL_SUBSTATE_END_TRAINING_DONE = 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_END_BATTLE
BTL_SUBSTATE_END_BATTLE_INIT = 0,
BTL_SUBSTATE_END_BATTLE_FADE_OUT = 1,
BTL_SUBSTATE_END_BATTLE_EXEC_STAGE_SCRIPT = 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,
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,
BTL_SUBSTATE_END_DEMO_BATTLE_INIT = 0,
BTL_SUBSTATE_END_DEMO_BATTLE_FADE_OUT = 1,
BTL_SUBSTATE_END_DEMO_BATTLE_EXEC_STAGE_SCRIPT = 2,
BTL_SUBSTATE_END_DEMO_BATTLE_AWAIT_STAGE_SCRIPT = 3,
BTL_SUBSTATE_END_DEMO_BATTLE_CLEANUP = 4,
};
// used with BATTLE_STATE_PLAYER_MENU
enum BattlePlayerMenuSubstates {
BTL_SUBSTATE_PLAYER_MENU_NONE = 0,
BTL_SUBSTATE_PLAYER_MENU_INIT = 0,
// Main menu
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,
BTL_SUBSTATE_PLAYER_MENU_CHOOSE_CATEGORY = 1,
BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_2 = 2,
BTL_SUBSTATE_PLAYER_MENU_MOVE_CHOOSE_TARGET = 3,
BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_4 = 4,
BTL_SUBSTATE_PLAYER_MENU_MOVE_TARGET_CANCEL = 5,
BTL_SUBSTATE_PLAYER_MENU_MOVE_TARGET_CHOSEN = 6,
BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_7 = 7,
BTL_SUBSTATE_PLAYER_MENU_MAIN_SHOW_CANT_SWAP = 8,
BTL_SUBSTATE_PLAYER_MENU_MAIN_AWAIT_CANT_SWAP = 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
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,
BTL_SUBSTATE_PLAYER_MENU_UNKNOWN_1 = 20,
BTL_SUBSTATE_PLAYER_MENU_DIPPING_CHOOSE_TARGET = 21,
BTL_SUBSTATE_PLAYER_MENU_UNKNOWN_3 = 22,
BTL_SUBSTATE_PLAYER_MENU_UNKNOWN_4 = 23,
BTL_SUBSTATE_PLAYER_MENU_DIPPING_TARGET_CANCEL = 24,
BTL_SUBSTATE_PLAYER_MENU_DIPPING_TARGET_CHOSEN = 25,
// Change Member
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,
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
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,
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
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
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,
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,
// additional item use from Double/Triple dip
BTL_SUBSTATE_PLAYER_MENU_DIPPING_1 = 70,
BTL_SUBSTATE_PLAYER_MENU_DIPPING_2 = 71,
BTL_SUBSTATE_PLAYER_MENU_DIPPING_3 = 72,
BTL_SUBSTATE_PLAYER_MENU_DIPPING_4 = 73,
BTL_SUBSTATE_PLAYER_MENU_DIPPING_5 = 74,
BTL_SUBSTATE_PLAYER_MENU_DIPPING_6 = 75,
// Berserker
BTL_SUBSTATE_PLAYER_MENU_BERSERKER_1 = 100,
BTL_SUBSTATE_PLAYER_MENU_BERSERKER_1 = 100,
// Strategies
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,
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
BTL_SUBSTATE_PLAYER_MENU_INIT_12C = 300,
BTL_SUBSTATE_PLAYER_MENU_INIT_MENU = 302,
BTL_SUBSTATE_PLAYER_MENU_PERFORM_SWAP = 300,
BTL_SUBSTATE_PLAYER_MENU_CREATE_MAIN_MENU = 302,
};
enum BattlePartnerMenuSubstates {
BTL_SUBSTATE_PARTNER_MENU_NONE = 0,
BTL_SUBSTATE_PARTNER_MENU_NONE = 0,
// Main menu
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,
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
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,
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
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,
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
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,
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
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,
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)
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,
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
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,
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
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,
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
BTL_SUBSTATE_PARTNER_MENU_12D = 301,
BTL_SUBSTATE_PARTNER_MENU_INIT_MENU = 302,
BTL_SUBSTATE_PARTNER_MENU_12D = 301,
BTL_SUBSTATE_PARTNER_MENU_INIT_MENU = 302,
};
enum BattleMessages {
@ -4606,20 +4609,71 @@ enum BattleMessages {
BTL_MSG_54 = 0x54,
};
// BattleMenuState
enum BattleMenuStates {
BTL_MENU_STATE_OPENED_SUBMENU = -1,
BTL_MENU_STATE_CREATE = 0,
BTL_MENU_STATE_UNK_1 = 1,
BTL_MENU_STATE_ACCEPT_INPUT = 2,
BTL_MENU_STATE_UNK_A = 10,
BTL_MENU_STATE_UNK_B = 11,
BTL_MENU_STATE_UNK_14 = 20,
BTL_MENU_STATE_UNK_1E = 30,
BTL_MENU_STATE_SHOW_DISABLED_POPUP = 100,
BTL_MENU_STATE_AWAIT_DISABLED_POPUP = 101,
};
enum BattleMoveSubmenuStates {
BTL_SUBMENU_MOVES_STATE_UNK_NEGATIVE_TWO = -2, // go back
BTL_SUBMENU_MOVES_STATE_UNK_NEGATIVE_ONE = -1,
BTL_SUBMENU_MOVES_STATE_UNK_0 = 0,
BTL_SUBMENU_MOVES_STATE_UNK_1 = 1,
BTL_SUBMENU_MOVES_STATE_UNK_A = 10,
BTL_SUBMENU_MOVES_STATE_UNK_B = 11,
BTL_SUBMENU_MOVES_STATE_UNK_14 = 20,
BTL_SUBMENU_MOVES_STATE_UNK_1E = 30,
BTL_SUBMENU_MOVES_STATE_UNK_28 = 40,
BTL_SUBMENU_MOVES_STATE_UNK_29 = 41,
BTL_SUBMENU_MOVES_STATE_UNK_2A = 42,
};
enum BattleMenuIndex {
BTL_MENU_IDX_MAIN = 0,
BTL_MENU_IDX_JUMP = 1,
BTL_MENU_IDX_SMASH = 2,
BTL_MENU_IDX_ITEMS = 3,
BTL_MENU_IDX_DIP = 4,
BTL_MENU_IDX_PARTNER = 5,
BTL_MENU_IDX_STAR_POWER = 6,
BTL_MENU_IDX_STRATEGY = 7,
// partners only
BTL_MENU_IDX_ABILITY = 1,
BTL_MENU_IDX_PARTNER_ITEM = 4,
};
enum BattleMenuTypes {
BTL_MENU_TYPE_INVALID = -1,
BTL_MENU_TYPE_JUMP = 0,
BTL_MENU_TYPE_SMASH = 1,
BTL_MENU_TYPE_ITEM = 2,
BTL_MENU_TYPE_3 = 3,
BTL_MENU_TYPE_4 = 4, // defend?
BTL_MENU_TYPE_5 = 5, // partner/ability?
BTL_MENU_TYPE_6 = 6,
BTL_MENU_TYPE_7 = 7, // strategies?
BTL_MENU_TYPE_8 = 8, // spirits?
BTL_MENU_TYPE_9 = 9, // do nothing?
BTL_MENU_TYPE_A = 10, // switch to partner?
BTL_MENU_TYPE_B = 11,
BTL_MENU_TYPE_INVALID = -1,
BTL_MENU_TYPE_JUMP = 0,
BTL_MENU_TYPE_SMASH = 1,
BTL_MENU_TYPE_ITEMS = 2,
BTL_MENU_TYPE_RUN_AWAY = 3,
BTL_MENU_TYPE_DEFEND = 4,
BTL_MENU_TYPE_CHANGE_PARTNER = 5,
BTL_MENU_TYPE_ABILITY = 6,
BTL_MENU_TYPE_STRATEGIES = 7,
BTL_MENU_TYPE_STAR_POWERS = 8,
BTL_MENU_TYPE_DO_NOTHING = 9,
BTL_MENU_TYPE_ACT_LATER = 10,
BTL_MENU_TYPE_PARTNER_FOCUS = 11,
};
enum BattleMenuDisableFlags {
BTL_MENU_DISABLED_JUMP = 1 << BTL_MENU_TYPE_JUMP,
BTL_MENU_DISABLED_SMASH = 1 << BTL_MENU_TYPE_SMASH,
BTL_MENU_DISABLED_ITEMS = 1 << BTL_MENU_TYPE_ITEMS,
BTL_MENU_DISABLED_STRATEGIES = 1 << BTL_MENU_TYPE_STRATEGIES,
BTL_MENU_DISABLED_STAR_POWERS = 1 << BTL_MENU_TYPE_STAR_POWERS,
BTL_MENU_DISABLED_PARTNER_FOCUS = 1 << BTL_MENU_TYPE_PARTNER_FOCUS,
};
enum DebugEnemyContactModes {
@ -5543,7 +5597,7 @@ enum MoveType {
MOVE_TYPE_JUMP = 2,
MOVE_TYPE_3 = 3,
MOVE_TYPE_ITEMS = 4,
MOVE_TYPE_TACTICS = 5,
MOVE_TYPE_SWITCH = 5,
MOVE_TYPE_6 = 6,
MOVE_TYPE_ATTACK_UP = 7,
MOVE_TYPE_DEFENSE_UP = 8,

View File

@ -338,7 +338,7 @@ typedef struct Enemy {
/* 0xAD */ char unk_AD[3];
/* 0xB0 */ u32 aiFlags;
/* 0xB4 */ s8 aiPaused;
/* 0xB5 */ s8 unk_B5;
/* 0xB5 */ s8 instigatorValue; // value is passed to first actor in formation if a battle is triggered with this enemy
/* 0xB6 */ char unk_B6[2];
/* 0xB8 */ EvtScript* unk_B8; // some bytecode
/* 0xBC */ struct Evt* unk_BC; // some script
@ -376,7 +376,7 @@ typedef struct EncounterStatus {
/* 0x00C */ u8 damageTaken; /* valid after battle */
/* 0x00D */ char unk_0D;
/* 0x00E */ s16 coinsEarned; /* valid after battle */
/* 0x010 */ char unk_10;
/* 0x010 */ s8 instigatorValue;
/* 0x011 */ s8 allowFleeing;
/* 0x012 */ s8 scriptedBattle; ///< battle started by StartBattle but not by encounter
/* 0x013 */ s8 dropWhackaBump;

View File

@ -145,7 +145,7 @@ ApiStatus SummonEnemy(Evt* script, s32 isInitialCall);
ApiStatus GetOwnerID(Evt* script, s32 isInitialCall);
ApiStatus SetOwnerID(Evt* script, s32 isInitialCall);
ApiStatus ActorExists(Evt* script, s32 isInitialCall);
ApiStatus func_8026E038(Evt* script, s32 isInitialCall);
ApiStatus SetEnabledStarPowers(Evt* script, s32 isInitialCall);
ApiStatus SetBattleInputMask(Evt* script, s32 isInitialCall);
ApiStatus SetBattleInputButtons(Evt* script, s32 isInitialCall);
ApiStatus CheckButtonPress(Evt* script, s32 isInitialCall);
@ -246,7 +246,7 @@ ApiStatus SetTargetOffset(Evt* script, s32 isInitialCall);
ApiStatus func_8027D4C8(Evt* script, s32 isInitialCall);
ApiStatus EnableActorBlur(Evt* script, s32 isInitialCall);
ApiStatus AfflictActor(Evt* script, s32 isInitialCall);
ApiStatus func_8027D75C(Evt* script, s32 isInitialCall);
ApiStatus GetInstigatorValue(Evt* script, s32 isInitialCall);
ApiStatus GetEncounterState(Evt* script, s32 isInitialCall);
ApiStatus YieldTurn(Evt* script, s32 isInitialCall);
ApiStatus SetActorSize(Evt* script, s32 isInitialCall);
@ -302,7 +302,7 @@ ApiStatus ShowStartRecoveryShimmer(Evt* script, s32 isInitialCall);
ApiStatus ShowRecoveryShimmer(Evt* script, s32 isInitialCall);
ApiStatus func_80273444(Evt* script, s32 isInitialCall);
ApiStatus WaitForState(Evt* script, s32 isInitialCall);
ApiStatus func_8026E020(Evt* script, s32 isInitialCall);
ApiStatus SetBattleMenuDisableFlags(Evt* script, s32 isInitialCall);
ApiStatus SetBattleState(Evt* script, s32 isInitialCall);
ApiStatus func_8027D434(Evt* script, s32 isInitialCall);
ApiStatus func_8026F1A0(Evt* script, s32 isInitialCall);

View File

@ -45,8 +45,8 @@ ApiStatus GetSelfNpcID(Evt* script, s32 isInitialCall);
ApiStatus ClearDefeatedEnemies(Evt* script, s32 isInitialCall);
ApiStatus SetEnemyFlagBits(Evt* script, s32 isInitialCall);
ApiStatus GetSelfAnimationFromTable(Evt* script, s32 isInitialCall);
ApiStatus func_800457F8(Evt* script, s32 isInitialCall);
ApiStatus func_800457C4(Evt* script, s32 isInitialCall);
ApiStatus SetBattleAsScripted(Evt* script, s32 isInitialCall);
ApiStatus SetOwnerInstigatorValue(Evt* script, s32 isInitialCall);
ApiStatus ShowCoinCounter(Evt* script, s32 isInitialCall);
ApiStatus MakeEntity(Evt* script, s32 isInitialCall);
ApiStatus SetEntityCullMode(Evt* script, s32 isInitialCall);

View File

@ -18,16 +18,16 @@ extern MoveData gMoveTable[185];
extern s32 gBattleState;
extern BattleStatus gBattleStatus;
extern s32 D_800DC4D0;
extern s32 gLastDrawBattleState;
extern s32 D_800DC4D4;
extern s32 gDefeatedBattleSubstate;
extern s32 gBattleSubState;
extern s32 gDefeatedBattleState;
extern s32 gCurrentBattleID;
extern s32 D_800DC4E0;
extern s32 D_800DC4EC;
extern s32 gCurrentStageID;
extern s32 D_800DC4F0;
extern struct Battle* D_800DC4F4;
extern struct Battle* gOverrideBattlePtr;
extern s32 D_800DC4F8;
extern s32 D_802DAC98;

File diff suppressed because it is too large Load Diff

View File

@ -48,7 +48,7 @@ HudScript* bHPDigitHudScripts[] = {
NULL, NULL, NULL,
};
s32 D_80280A30 = 0xFF;
s32 BattleScreenFadeAmt = 0xFF;
EvtScript BtlPutPartnerAway = {
EVT_CALL(DispatchEvent, 256, 62)
@ -181,9 +181,9 @@ void initialize_battle(void) {
battleStatus->playerActor = NULL;
battleStatus->partnerActor = NULL;
for (i = 0; i < ARRAY_COUNT(battleStatus->unk_4C); i++) {
battleStatus->unk_4C[i] = -1;
battleStatus->unk_5C[i] = -1;
for (i = 0; i < ARRAY_COUNT(battleStatus->lastPlayerMenuSelection); i++) {
battleStatus->lastPlayerMenuSelection[i] = -1;
battleStatus->lastPartnerMenuSelection[i] = -1;
}
for (i = 0; i < ARRAY_COUNT(battleStatus->tattleFlags); i++) {
@ -254,7 +254,7 @@ void btl_update(void) {
s32 cond;
if (battleStatus->inputBitmask != -1) {
if ((battleStatus->flags1 & BS_FLAGS1_80000) && gGameStatusPtr->multiplayerEnabled != 0) {
if ((battleStatus->flags1 & BS_FLAGS1_PARTNER_ACTING) && gGameStatusPtr->multiplayerEnabled != 0) {
s32 inputBitmask = battleStatus->inputBitmask;
battleStatus->currentButtonsDown = gGameStatusPtr->currentButtons[1] & inputBitmask;
@ -478,31 +478,33 @@ void btl_update(void) {
}
void btl_draw_ui(void) {
s32 cond = FALSE;
s32 changed = FALSE;
s32 state;
do { } while (0); // TODO required to match (probably can be removed with some sort of control flow inversion)
// do not draw UI during the frame of a state change
state = gBattleState;
if (gBattleState != D_800DC4D0) {
state = D_800DC4D0;
D_800DC4D0 = gBattleState;
cond = TRUE;
if (gBattleState != gLastDrawBattleState) {
state = gLastDrawBattleState;
gLastDrawBattleState = gBattleState;
changed = TRUE;
} else {
if (gBattleState == BATTLE_STATE_NEGATIVE_1) {
btl_update_starpoints_display();
btl_draw_enemy_health_bars();
draw_status_ui();
return;
} else if (gBattleState == BATTLE_STATE_0) {
return;
switch (state) {
case BATTLE_STATE_NEGATIVE_1:
btl_update_starpoints_display();
btl_draw_enemy_health_bars();
draw_status_ui();
return;
case BATTLE_STATE_0:
return;
}
}
btl_update_starpoints_display();
btl_draw_enemy_health_bars();
if (!cond) {
if (!changed) {
switch (state) {
case BATTLE_STATE_NORMAL_START:
btl_state_draw_normal_start();
@ -884,7 +886,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 & ACTOR_FLAG_80000)) &&
((gBattleStatus.flags1 & BS_FLAGS1_MENU_OPEN) || (enemy->flags & ACTOR_FLAG_80000)) &&
is_actor_hp_bar_visible(enemy))
{
f32 x = enemy->healthBarPosition.x;

View File

@ -70,221 +70,228 @@ PlayerCelebrationAnimOptions D_80280FC0 = {
};
s32 bActorNames[ACTOR_TYPE_COUNT] = {
[ACTOR_TYPE_RED_GOOMBA] = MSG_EnemyName_RedGoomba,
[ACTOR_TYPE_RED_PARAGOOMBA] = MSG_EnemyName_RedParagoomba,
[ACTOR_TYPE_GLOOMBA] = MSG_EnemyName_Gloomba,
[ACTOR_TYPE_PARAGLOOMBA] = MSG_EnemyName_Paragloomba,
[ACTOR_TYPE_SPIKED_GLOOMBA] = MSG_EnemyName_SpikedGloomba,
[ACTOR_TYPE_DARK_KOOPA] = MSG_EnemyName_DarkKoopa,
[ACTOR_TYPE_DARK_PARATROOPA] = MSG_EnemyName_DarkParatroopa,
[ACTOR_TYPE_GOOMBA] = MSG_EnemyName_Goomba,
[ACTOR_TYPE_PARAGOOMBA] = MSG_EnemyName_Paragoomba,
[ACTOR_TYPE_SPIKED_GOOMBA] = MSG_EnemyName_SpikedGoomba,
[ACTOR_TYPE_FUZZY] = MSG_EnemyName_Fuzzy,
[ACTOR_TYPE_KOOPA_TROOPA] = MSG_EnemyName_KoopaTroopa,
[ACTOR_TYPE_PARATROOPA] = MSG_EnemyName_Paratroopa,
[ACTOR_TYPE_BOB_OMB] = MSG_EnemyName_BobOmb,
[ACTOR_TYPE_BOB_OMB_DUP] = MSG_EnemyName_BobOmb,
[ACTOR_TYPE_BULLET_BILL] = MSG_EnemyName_BulletBill,
[ACTOR_TYPE_BILL_BLASTER] = MSG_EnemyName_BillBlaster,
[ACTOR_TYPE_CLEFT] = MSG_EnemyName_Cleft,
[ACTOR_TYPE_MONTY_MOLE] = MSG_EnemyName_MontyMole,
[ACTOR_TYPE_BANDIT] = MSG_EnemyName_Bandit,
[ACTOR_TYPE_POKEY] = MSG_EnemyName_Pokey,
[ACTOR_TYPE_POKEY_MUMMY] = MSG_EnemyName_PokeyMummy,
[ACTOR_TYPE_SWOOPER] = MSG_EnemyName_Swooper,
[ACTOR_TYPE_BUZZY_BEETLE] = MSG_EnemyName_BuzzyBeetle,
[ACTOR_TYPE_STONE_CHOMP] = MSG_EnemyName_StoneChomp,
[ACTOR_TYPE_PIRANHA_PLANT] = MSG_EnemyName_PiranhaPlant,
[ACTOR_TYPE_FOREST_FUZZY] = MSG_EnemyName_ForestFuzzy,
[ACTOR_TYPE_HYPER_GOOMBA] = MSG_EnemyName_HyperGoomba,
[ACTOR_TYPE_HYPER_PARAGOOMBA] = MSG_EnemyName_HyperParagoomba,
[ACTOR_TYPE_HYPER_CLEFT] = MSG_EnemyName_HyperCleft,
[ACTOR_TYPE_CLUBBA] = MSG_EnemyName_Clubba,
[ACTOR_TYPE_SHY_GUY] = MSG_EnemyName_ShyGuy,
[ACTOR_TYPE_GROOVE_GUY] = MSG_EnemyName_GrooveGuy,
[ACTOR_TYPE_SKY_GUY] = MSG_EnemyName_SkyGuy,
[ACTOR_TYPE_MEDI_GUY] = MSG_EnemyName_MediGuy,
[ACTOR_TYPE_PYRO_GUY] = MSG_EnemyName_PyroGuy,
[ACTOR_TYPE_SPY_GUY] = MSG_EnemyName_SpyGuy,
[ACTOR_TYPE_FUZZIPEDE] = MSG_EnemyName_Fuzzipede,
[ACTOR_TYPE_HURT_PLANT] = MSG_EnemyName_HurtPlant,
[ACTOR_TYPE_M_BUSH] = MSG_EnemyName_MBush,
[ACTOR_TYPE_AQUA_FUZZY] = MSG_EnemyName_AquaFuzzy,
[ACTOR_TYPE_JUNGLE_FUZZY] = MSG_EnemyName_JungleFuzzy,
[ACTOR_TYPE_SPEAR_GUY] = MSG_EnemyName_SpearGuy,
[ACTOR_TYPE_LAVA_BUBBLE] = MSG_EnemyName_LavaBubble,
[ACTOR_TYPE_SPIKE_TOP] = MSG_EnemyName_SpikeTop,
[ACTOR_TYPE_PUTRID_PIRANHA] = MSG_EnemyName_PutridPiranha,
[ACTOR_TYPE_LAKITU] = MSG_EnemyName_Lakitu,
[ACTOR_TYPE_SPINY] = MSG_EnemyName_Spiny,
[ACTOR_TYPE_MONTY_MOLE_BOSS] = MSG_EnemyName_MontyMoleBoss,
[ACTOR_TYPE_BZZAP] = MSG_EnemyName_Bzzap,
[ACTOR_TYPE_CRAZEE_DAYZEE] = MSG_EnemyName_CrazeeDayzee,
[ACTOR_TYPE_AMAZY_DAYZEE] = MSG_EnemyName_AmazyDayzee,
[ACTOR_TYPE_RUFF_PUFF] = MSG_EnemyName_RuffPuff,
[ACTOR_TYPE_SPIKE] = MSG_EnemyName_Spike,
[ACTOR_TYPE_GULPIT] = MSG_EnemyName_Gulpit,
[ACTOR_TYPE_GULPIT_ROCKS] = MSG_EnemyName_GulpitRocks,
[ACTOR_TYPE_WHITE_CLUBBA] = MSG_EnemyName_WhiteClubba,
[ACTOR_TYPE_FROST_PIRANHA] = MSG_EnemyName_FrostPiranha,
[ACTOR_TYPE_SWOOPULA] = MSG_EnemyName_Swoopula,
[ACTOR_TYPE_DUPLIGHOST] = MSG_EnemyName_Duplighost,
[ACTOR_TYPE_GHOST_GOOMBARIO] = MSG_EnemyName_GhostGoombario,
[ACTOR_TYPE_GHOST_KOOPER] = MSG_EnemyName_GhostKooper,
[ACTOR_TYPE_GHOST_BOMBETTE] = MSG_EnemyName_GhostBombette,
[ACTOR_TYPE_GHOST_PARAKARRY] = MSG_EnemyName_GhostParakarry,
[ACTOR_TYPE_GHOST_BOW] = MSG_EnemyName_GhostBow,
[ACTOR_TYPE_GHOST_WATT] = MSG_EnemyName_GhostWatt,
[ACTOR_TYPE_GHOST_SUSHIE] = MSG_EnemyName_GhostSushie,
[ACTOR_TYPE_GHOST_LAKILESTER] = MSG_EnemyName_GhostLakilester,
[ACTOR_TYPE_ALBINO_DINO] = MSG_EnemyName_AlbinoDino,
[ACTOR_TYPE_EMBER] = MSG_EnemyName_Ember,
[ACTOR_TYPE_BONY_BEETLE] = MSG_EnemyName_BonyBeetle,
[ACTOR_TYPE_DRY_BONES] = MSG_EnemyName_DryBones,
[ACTOR_TYPE_DRY_BONES2] = MSG_EnemyName_DryBones,
[ACTOR_TYPE_BOMBSHELL_BLASTER] = MSG_EnemyName_BombshellBlaster,
[ACTOR_TYPE_BOMBSHELL_BILL] = MSG_EnemyName_BombshellBill,
[ACTOR_TYPE_HAMMER_BROS] = MSG_EnemyName_HammerBros,
[ACTOR_TYPE_KOOPATROL] = MSG_EnemyName_Koopatrol,
[ACTOR_TYPE_MAGIKOOPA] = MSG_EnemyName_Magikoopa,
[ACTOR_TYPE_FLYING_MAGIKOOPA] = MSG_EnemyName_Magikoopa,
[ACTOR_TYPE_MAGICLONE] = MSG_EnemyName_Magikoopa,
[ACTOR_TYPE_FLYING_MAGICLONE] = MSG_EnemyName_Magikoopa,
[ACTOR_TYPE_RED_MAGIKOOPA] = MSG_EnemyName_RedMagikoopa,
[ACTOR_TYPE_FLYING_RED_MAGIKOOPA] = MSG_EnemyName_RedMagikoopa,
[ACTOR_TYPE_GREEN_MAGIKOOPA] = MSG_EnemyName_GreenMagikoopa,
[ACTOR_TYPE_FLYING_GREEN_MAGIKOOPA] = MSG_EnemyName_GreenMagikoopa,
[ACTOR_TYPE_YELLOW_MAGIKOOPA] = MSG_EnemyName_YellowMagikoopa,
[ACTOR_TYPE_FLYING_YELLOW_MAGIKOOPA] = MSG_EnemyName_YellowMagikoopa,
[ACTOR_TYPE_GRAY_MAGIKOOPA] = MSG_EnemyName_GrayMagikoopa,
[ACTOR_TYPE_FLYING_GRAY_MAGIKOOPA] = MSG_EnemyName_GrayMagikoopa,
[ACTOR_TYPE_WHITE_MAGIKOOPA] = MSG_EnemyName_WhiteMagikoopa,
[ACTOR_TYPE_FLYING_WHITE_MAGIKOOPA] = MSG_EnemyName_WhiteMagikoopa,
[ACTOR_TYPE_UNUSED_5B] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_5C] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_5D] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_5E] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_5F] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_60] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_61] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_62] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_63] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_64] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_65] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_66] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_67] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_68] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_69] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_6A] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_MONTY_HOLE] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_6C] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_6D] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_PLAYER] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_GOOMBARIO] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_KOOPER] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_BOMBETTE] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_PARAKARRY] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_BOW] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_WATT] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_SUSHIE] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_LAKILESTER] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_TWINK] = MSG_Menus_Party_Twink,
[ACTOR_TYPE_UNUSED_78] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_79] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_THE_MASTER_1] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_THE_MASTER_2] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_THE_MASTER_3] = MSG_EnemyName_TheMaster,
[ACTOR_TYPE_CHAN] = MSG_EnemyName_Chan,
[ACTOR_TYPE_LEE] = MSG_EnemyName_Lee,
[ACTOR_TYPE_LEE_GOOMBARIO] = MSG_Menus_Party_Goombario,
[ACTOR_TYPE_LEE_KOOPER] = MSG_Menus_Party_Kooper,
[ACTOR_TYPE_LEE_BOMBETTE] = MSG_Menus_Party_Bombette,
[ACTOR_TYPE_LEE_PARAKARRY] = MSG_Menus_Party_Parakarry,
[ACTOR_TYPE_LEE_BOW] = MSG_Menus_Party_Bow,
[ACTOR_TYPE_LEE_WATT] = MSG_Menus_Party_Watt,
[ACTOR_TYPE_LEE_SUSHIE] = MSG_Menus_Party_Sushie,
[ACTOR_TYPE_LEE_LAKILESTER] = MSG_Menus_Party_Lakilester,
[ACTOR_TYPE_KAMMY_KOOPA] = MSG_EnemyName_KammyKoopa,
[ACTOR_TYPE_JR_TROOPA1] = MSG_EnemyName_JrTroopa,
[ACTOR_TYPE_JR_TROOPA2] = MSG_EnemyName_JrTroopa,
[ACTOR_TYPE_JR_TROOPA3] = MSG_EnemyName_JrTroopa,
[ACTOR_TYPE_JR_TROOPA4] = MSG_EnemyName_JrTroopa,
[ACTOR_TYPE_JR_TROOPA5] = MSG_EnemyName_JrTroopa,
[ACTOR_TYPE_JR_TROOPA6] = MSG_EnemyName_JrTroopa,
[ACTOR_TYPE_JR_TROOPA_DUP1] = MSG_EnemyName_JrTroopa,
[ACTOR_TYPE_JR_TROOPA_DUP2] = MSG_EnemyName_JrTroopa,
[ACTOR_TYPE_BLUE_GOOMBA_BOSS] = MSG_EnemyName_BlueGoombaBoss,
[ACTOR_TYPE_RED_GOOMBA_BOSS] = MSG_EnemyName_RedGoombaBoss,
[ACTOR_TYPE_GOOMBA_KING] = MSG_EnemyName_GoombaKing,
[ACTOR_TYPE_GOOMNUT_TREE] = MSG_EnemyName_GoomnutTree,
[ACTOR_TYPE_GOOMBARIO_TUTOR1] = MSG_Menus_Party_Goombario,
[ACTOR_TYPE_MAGIKOOPA_BOSS] = MSG_EnemyName_Magikoopa,
[ACTOR_TYPE_FLYING_MAGIKOOPA_BOSS] = MSG_EnemyName_Magikoopa,
[ACTOR_TYPE_MAGIKOOPA_DUP1] = MSG_EnemyName_Magikoopa,
[ACTOR_TYPE_MAGIKOOPA_DUP2] = MSG_EnemyName_Magikoopa,
[ACTOR_TYPE_FAKE_BOWSER] = MSG_EnemyName_FakeBowser,
[ACTOR_TYPE_KOOPA_BROS] = MSG_EnemyName_KoopaBros,
[ACTOR_TYPE_GREEN_NINJAKOOPA] = MSG_EnemyName_GreenNinjakoopa,
[ACTOR_TYPE_RED_NINJAKOOPA] = MSG_EnemyName_RedNinjakoopa,
[ACTOR_TYPE_BLUE_NINJAKOOPA] = MSG_EnemyName_BlueNinjakoopa,
[ACTOR_TYPE_YELLOW_NINJAKOOPA] = MSG_EnemyName_YellowNinjakoopa,
[ACTOR_TYPE_ELDSTAR] = MSG_Menus_Party_Goombario,
[ACTOR_TYPE_BUZZAR] = MSG_EnemyName_Buzzar,
[ACTOR_TYPE_TUTANKOOPA] = MSG_EnemyName_Tutankoopa,
[ACTOR_TYPE_CHOMP] = MSG_EnemyName_Chomp,
[ACTOR_TYPE_TUBBA_BLUBBA_INVINCIBLE] = MSG_EnemyName_TubbaBlubba,
[ACTOR_TYPE_TUBBA_BLUBBA] = MSG_EnemyName_TubbaBlubba,
[ACTOR_TYPE_TUBBA_HEART] = MSG_EnemyName_TubbaHeart,
[ACTOR_TYPE_STILT_GUY] = MSG_EnemyName_StiltGuy,
[ACTOR_TYPE_SHY_STACK] = MSG_EnemyName_ShyStack,
[ACTOR_TYPE_SHY_SQUAD] = MSG_EnemyName_ShySquad,
[ACTOR_TYPE_GENERAL_GUY] = MSG_EnemyName_GeneralGuyDup,
[ACTOR_TYPE_TOY_TANK] = MSG_EnemyName_GeneralGuy,
[ACTOR_TYPE_LIGHT_BULB] = MSG_EnemyName_Bulb,
[ACTOR_TYPE_SIGNAL_GUY] = MSG_EnemyName_ShyGuy,
[ACTOR_TYPE_SHY_SQUAD_DUP] = MSG_EnemyName_ShySquadDup,
[ACTOR_TYPE_SHY_GUY_DUP] = MSG_EnemyName_ShyGuy,
[ACTOR_TYPE_ANTI_GUY] = MSG_EnemyName_AntiGuy,
[ACTOR_TYPE_ANTI_GUY_DUP] = MSG_EnemyName_AntiGuy,
[ACTOR_TYPE_BIG_LANTERN_GHOST] = MSG_EnemyName_BigLanternGhost,
[ACTOR_TYPE_GOOMBA_KING_DUP] = MSG_EnemyName_GoombaKing,
[ACTOR_TYPE_LAVA_PIRANHA_PHASE_1] = MSG_EnemyName_LavaPiranha,
[ACTOR_TYPE_LAVA_PIRANHA_PHASE_2] = MSG_EnemyName_LavaPiranha,
[ACTOR_TYPE_LAVA_BUD_PHASE_1] = MSG_EnemyName_LavaBud,
[ACTOR_TYPE_LAVA_BUD_PHASE_2] = MSG_EnemyName_LavaBud,
[ACTOR_TYPE_PETIT_PIRANHA] = MSG_EnemyName_PetitPiranha,
[ACTOR_TYPE_PETIT_PIRANHA_BOMB] = MSG_EnemyName_LavaPiranha,
[ACTOR_TYPE_KENT_C_KOOPA] = MSG_EnemyName_KentCKoopa,
[ACTOR_TYPE_HUFF_N_PUFF] = MSG_EnemyName_HuffNPuff,
[ACTOR_TYPE_TUFF_PUFF] = MSG_EnemyName_TuffPuff,
[ACTOR_TYPE_MONSTAR] = MSG_EnemyName_Monstar,
[ACTOR_TYPE_CRYSTAL_KING] = MSG_EnemyName_CrystalKing,
[ACTOR_TYPE_CRYSTAL_CLONE] = MSG_EnemyName_CrystalKing,
[ACTOR_TYPE_CRYSTAL_BIT] = MSG_EnemyName_CrystalBit,
[ACTOR_TYPE_INTRO_BOWSER] = MSG_EnemyName_Bowser,
[ACTOR_TYPE_BOWSER_PHASE_1] = MSG_EnemyName_Bowser,
[ACTOR_TYPE_BOWSER_DUP1] = MSG_EnemyName_Bowser,
[ACTOR_TYPE_BOWSER_PHASE_2] = MSG_EnemyName_Bowser,
[ACTOR_TYPE_BOWSER_DUP2] = MSG_EnemyName_Bowser,
[ACTOR_TYPE_BOWSER_PHASE_3] = MSG_EnemyName_Bowser,
[ACTOR_TYPE_BOWSER_DUP3] = MSG_EnemyName_Bowser,
[ACTOR_TYPE_BLOOPER] = MSG_EnemyName_Blooper,
[ACTOR_TYPE_ELECTRO_BLOOPER1] = MSG_EnemyName_ElectroBlooper,
[ACTOR_TYPE_ELECTRO_BLOOPER2] = MSG_EnemyName_ElectroBlooper,
[ACTOR_TYPE_SUPER_BLOOPER1] = MSG_EnemyName_SuperBlooper,
[ACTOR_TYPE_SUPER_BLOOPER2] = MSG_EnemyName_SuperBlooper,
[ACTOR_TYPE_BLOOPER_BABY] = MSG_EnemyName_BlooperBaby,
[ACTOR_TYPE_LAKILESTER_DUP] = MSG_EnemyName_GhostLakilester,
[ACTOR_TYPE_SLOT_MACHINE_START] = MSG_EnemyName_SlotMachineStart,
[ACTOR_TYPE_SLOT_MACHINE_STOP] = MSG_EnemyName_SlotMachineStop,
[ACTOR_TYPE_WHACKA] = MSG_EnemyName_Whacka,
[ACTOR_TYPE_SLOT_MACHINE_START_DUP1] = MSG_EnemyName_SlotMachineStart,
[ACTOR_TYPE_SLOT_MACHINE_START_DUP2] = MSG_EnemyName_SlotMachineStart,
[ACTOR_TYPE_SLOT_MACHINE_START_DUP3] = MSG_EnemyName_SlotMachineStart,
[ACTOR_TYPE_RED_GOOMBA] MSG_EnemyName_RedGoomba,
[ACTOR_TYPE_RED_PARAGOOMBA] MSG_EnemyName_RedParagoomba,
[ACTOR_TYPE_GLOOMBA] MSG_EnemyName_Gloomba,
[ACTOR_TYPE_PARAGLOOMBA] MSG_EnemyName_Paragloomba,
[ACTOR_TYPE_SPIKED_GLOOMBA] MSG_EnemyName_SpikedGloomba,
[ACTOR_TYPE_DARK_KOOPA] MSG_EnemyName_DarkKoopa,
[ACTOR_TYPE_DARK_PARATROOPA] MSG_EnemyName_DarkParatroopa,
[ACTOR_TYPE_GOOMBA] MSG_EnemyName_Goomba,
[ACTOR_TYPE_PARAGOOMBA] MSG_EnemyName_Paragoomba,
[ACTOR_TYPE_SPIKED_GOOMBA] MSG_EnemyName_SpikedGoomba,
[ACTOR_TYPE_FUZZY] MSG_EnemyName_Fuzzy,
[ACTOR_TYPE_KOOPA_TROOPA] MSG_EnemyName_KoopaTroopa,
[ACTOR_TYPE_PARATROOPA] MSG_EnemyName_Paratroopa,
[ACTOR_TYPE_BOB_OMB] MSG_EnemyName_BobOmb,
[ACTOR_TYPE_BOB_OMB_DUP] MSG_EnemyName_BobOmb,
[ACTOR_TYPE_BULLET_BILL] MSG_EnemyName_BulletBill,
[ACTOR_TYPE_BILL_BLASTER] MSG_EnemyName_BillBlaster,
[ACTOR_TYPE_CLEFT] MSG_EnemyName_Cleft,
[ACTOR_TYPE_MONTY_MOLE] MSG_EnemyName_MontyMole,
[ACTOR_TYPE_BANDIT] MSG_EnemyName_Bandit,
[ACTOR_TYPE_POKEY] MSG_EnemyName_Pokey,
[ACTOR_TYPE_POKEY_MUMMY] MSG_EnemyName_PokeyMummy,
[ACTOR_TYPE_SWOOPER] MSG_EnemyName_Swooper,
[ACTOR_TYPE_BUZZY_BEETLE] MSG_EnemyName_BuzzyBeetle,
[ACTOR_TYPE_STONE_CHOMP] MSG_EnemyName_StoneChomp,
[ACTOR_TYPE_PIRANHA_PLANT] MSG_EnemyName_PiranhaPlant,
[ACTOR_TYPE_FOREST_FUZZY] MSG_EnemyName_ForestFuzzy,
[ACTOR_TYPE_HYPER_GOOMBA] MSG_EnemyName_HyperGoomba,
[ACTOR_TYPE_HYPER_PARAGOOMBA] MSG_EnemyName_HyperParagoomba,
[ACTOR_TYPE_HYPER_CLEFT] MSG_EnemyName_HyperCleft,
[ACTOR_TYPE_CLUBBA] MSG_EnemyName_Clubba,
[ACTOR_TYPE_SHY_GUY] MSG_EnemyName_ShyGuy,
[ACTOR_TYPE_GROOVE_GUY] MSG_EnemyName_GrooveGuy,
[ACTOR_TYPE_SKY_GUY] MSG_EnemyName_SkyGuy,
[ACTOR_TYPE_MEDI_GUY] MSG_EnemyName_MediGuy,
[ACTOR_TYPE_PYRO_GUY] MSG_EnemyName_PyroGuy,
[ACTOR_TYPE_SPY_GUY] MSG_EnemyName_SpyGuy,
[ACTOR_TYPE_FUZZIPEDE] MSG_EnemyName_Fuzzipede,
[ACTOR_TYPE_HURT_PLANT] MSG_EnemyName_HurtPlant,
[ACTOR_TYPE_M_BUSH] MSG_EnemyName_MBush,
[ACTOR_TYPE_AQUA_FUZZY] MSG_EnemyName_AquaFuzzy,
[ACTOR_TYPE_JUNGLE_FUZZY] MSG_EnemyName_JungleFuzzy,
[ACTOR_TYPE_SPEAR_GUY] MSG_EnemyName_SpearGuy,
[ACTOR_TYPE_LAVA_BUBBLE] MSG_EnemyName_LavaBubble,
[ACTOR_TYPE_SPIKE_TOP] MSG_EnemyName_SpikeTop,
[ACTOR_TYPE_PUTRID_PIRANHA] MSG_EnemyName_PutridPiranha,
[ACTOR_TYPE_LAKITU] MSG_EnemyName_Lakitu,
[ACTOR_TYPE_SPINY] MSG_EnemyName_Spiny,
[ACTOR_TYPE_MONTY_MOLE_BOSS] MSG_EnemyName_MontyMoleBoss,
[ACTOR_TYPE_BZZAP] MSG_EnemyName_Bzzap,
[ACTOR_TYPE_CRAZEE_DAYZEE] MSG_EnemyName_CrazeeDayzee,
[ACTOR_TYPE_AMAZY_DAYZEE] MSG_EnemyName_AmazyDayzee,
[ACTOR_TYPE_RUFF_PUFF] MSG_EnemyName_RuffPuff,
[ACTOR_TYPE_SPIKE] MSG_EnemyName_Spike,
[ACTOR_TYPE_GULPIT] MSG_EnemyName_Gulpit,
[ACTOR_TYPE_GULPIT_ROCKS] MSG_EnemyName_GulpitRocks,
[ACTOR_TYPE_WHITE_CLUBBA] MSG_EnemyName_WhiteClubba,
[ACTOR_TYPE_FROST_PIRANHA] MSG_EnemyName_FrostPiranha,
[ACTOR_TYPE_SWOOPULA] MSG_EnemyName_Swoopula,
[ACTOR_TYPE_DUPLIGHOST] MSG_EnemyName_Duplighost,
[ACTOR_TYPE_GHOST_GOOMBARIO] MSG_EnemyName_GhostGoombario,
[ACTOR_TYPE_GHOST_KOOPER] MSG_EnemyName_GhostKooper,
[ACTOR_TYPE_GHOST_BOMBETTE] MSG_EnemyName_GhostBombette,
[ACTOR_TYPE_GHOST_PARAKARRY] MSG_EnemyName_GhostParakarry,
[ACTOR_TYPE_GHOST_BOW] MSG_EnemyName_GhostBow,
[ACTOR_TYPE_GHOST_WATT] MSG_EnemyName_GhostWatt,
[ACTOR_TYPE_GHOST_SUSHIE] MSG_EnemyName_GhostSushie,
[ACTOR_TYPE_GHOST_LAKILESTER] MSG_EnemyName_GhostLakilester,
[ACTOR_TYPE_ALBINO_DINO] MSG_EnemyName_AlbinoDino,
[ACTOR_TYPE_EMBER] MSG_EnemyName_Ember,
[ACTOR_TYPE_BONY_BEETLE] MSG_EnemyName_BonyBeetle,
[ACTOR_TYPE_DRY_BONES] MSG_EnemyName_DryBones,
[ACTOR_TYPE_DRY_BONES2] MSG_EnemyName_DryBones,
[ACTOR_TYPE_BOMBSHELL_BLASTER] MSG_EnemyName_BombshellBlaster,
[ACTOR_TYPE_BOMBSHELL_BILL] MSG_EnemyName_BombshellBill,
[ACTOR_TYPE_HAMMER_BROS] MSG_EnemyName_HammerBros,
[ACTOR_TYPE_KOOPATROL] MSG_EnemyName_Koopatrol,
[ACTOR_TYPE_MAGIKOOPA] MSG_EnemyName_Magikoopa,
[ACTOR_TYPE_FLYING_MAGIKOOPA] MSG_EnemyName_Magikoopa,
[ACTOR_TYPE_MAGICLONE] MSG_EnemyName_Magikoopa,
[ACTOR_TYPE_FLYING_MAGICLONE] MSG_EnemyName_Magikoopa,
[ACTOR_TYPE_RED_MAGIKOOPA] MSG_EnemyName_RedMagikoopa,
[ACTOR_TYPE_FLYING_RED_MAGIKOOPA] MSG_EnemyName_RedMagikoopa,
[ACTOR_TYPE_GREEN_MAGIKOOPA] MSG_EnemyName_GreenMagikoopa,
[ACTOR_TYPE_FLYING_GREEN_MAGIKOOPA] MSG_EnemyName_GreenMagikoopa,
[ACTOR_TYPE_YELLOW_MAGIKOOPA] MSG_EnemyName_YellowMagikoopa,
[ACTOR_TYPE_FLYING_YELLOW_MAGIKOOPA] MSG_EnemyName_YellowMagikoopa,
[ACTOR_TYPE_GRAY_MAGIKOOPA] MSG_EnemyName_GrayMagikoopa,
[ACTOR_TYPE_FLYING_GRAY_MAGIKOOPA] MSG_EnemyName_GrayMagikoopa,
[ACTOR_TYPE_WHITE_MAGIKOOPA] MSG_EnemyName_WhiteMagikoopa,
[ACTOR_TYPE_FLYING_WHITE_MAGIKOOPA] MSG_EnemyName_WhiteMagikoopa,
[ACTOR_TYPE_UNUSED_5B] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_5C] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_5D] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_5E] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_5F] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_60] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_61] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_62] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_63] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_64] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_65] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_66] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_67] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_68] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_69] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_6A] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_MONTY_HOLE] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_6C] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_6D] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_PLAYER] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_GOOMBARIO] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_KOOPER] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_BOMBETTE] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_PARAKARRY] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_BOW] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_WATT] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_SUSHIE] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_LAKILESTER] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_TWINK] MSG_Menus_Party_Twink,
[ACTOR_TYPE_UNUSED_78] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_UNUSED_79] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_THE_MASTER_1] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_THE_MASTER_2] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_THE_MASTER_3] MSG_EnemyName_TheMaster,
[ACTOR_TYPE_CHAN] MSG_EnemyName_Chan,
[ACTOR_TYPE_LEE] MSG_EnemyName_Lee,
[ACTOR_TYPE_LEE_GOOMBARIO] MSG_Menus_Party_Goombario,
[ACTOR_TYPE_LEE_KOOPER] MSG_Menus_Party_Kooper,
[ACTOR_TYPE_LEE_BOMBETTE] MSG_Menus_Party_Bombette,
[ACTOR_TYPE_LEE_PARAKARRY] MSG_Menus_Party_Parakarry,
[ACTOR_TYPE_LEE_BOW] MSG_Menus_Party_Bow,
[ACTOR_TYPE_LEE_WATT] MSG_Menus_Party_Watt,
[ACTOR_TYPE_LEE_SUSHIE] MSG_Menus_Party_Sushie,
[ACTOR_TYPE_LEE_LAKILESTER] MSG_Menus_Party_Lakilester,
[ACTOR_TYPE_KAMMY_KOOPA] MSG_EnemyName_KammyKoopa,
[ACTOR_TYPE_JR_TROOPA1] MSG_EnemyName_JrTroopa,
[ACTOR_TYPE_JR_TROOPA2] MSG_EnemyName_JrTroopa,
[ACTOR_TYPE_JR_TROOPA3] MSG_EnemyName_JrTroopa,
[ACTOR_TYPE_JR_TROOPA4] MSG_EnemyName_JrTroopa,
[ACTOR_TYPE_JR_TROOPA5] MSG_EnemyName_JrTroopa,
[ACTOR_TYPE_JR_TROOPA6] MSG_EnemyName_JrTroopa,
[ACTOR_TYPE_JR_TROOPA_DUP1] MSG_EnemyName_JrTroopa,
[ACTOR_TYPE_JR_TROOPA_DUP2] MSG_EnemyName_JrTroopa,
[ACTOR_TYPE_BLUE_GOOMBA_BOSS] MSG_EnemyName_BlueGoombaBoss,
[ACTOR_TYPE_RED_GOOMBA_BOSS] MSG_EnemyName_RedGoombaBoss,
[ACTOR_TYPE_GOOMBA_KING] MSG_EnemyName_GoombaKing,
[ACTOR_TYPE_GOOMNUT_TREE] MSG_EnemyName_GoomnutTree,
[ACTOR_TYPE_GOOMBARIO_TUTOR1] MSG_Menus_Party_Goombario,
[ACTOR_TYPE_MAGIKOOPA_BOSS] MSG_EnemyName_Magikoopa,
[ACTOR_TYPE_FLYING_MAGIKOOPA_BOSS] MSG_EnemyName_Magikoopa,
[ACTOR_TYPE_MAGIKOOPA_DUP1] MSG_EnemyName_Magikoopa,
[ACTOR_TYPE_MAGIKOOPA_DUP2] MSG_EnemyName_Magikoopa,
[ACTOR_TYPE_FAKE_BOWSER] MSG_EnemyName_FakeBowser,
[ACTOR_TYPE_KOOPA_BROS] MSG_EnemyName_KoopaBros,
[ACTOR_TYPE_GREEN_NINJAKOOPA] MSG_EnemyName_GreenNinjakoopa,
[ACTOR_TYPE_RED_NINJAKOOPA] MSG_EnemyName_RedNinjakoopa,
[ACTOR_TYPE_BLUE_NINJAKOOPA] MSG_EnemyName_BlueNinjakoopa,
[ACTOR_TYPE_YELLOW_NINJAKOOPA] MSG_EnemyName_YellowNinjakoopa,
[ACTOR_TYPE_ELDSTAR] MSG_Menus_Party_Goombario,
[ACTOR_TYPE_BUZZAR] MSG_EnemyName_Buzzar,
[ACTOR_TYPE_TUTANKOOPA] MSG_EnemyName_Tutankoopa,
[ACTOR_TYPE_CHOMP] MSG_EnemyName_Chomp,
[ACTOR_TYPE_TUBBA_BLUBBA_INVINCIBLE] MSG_EnemyName_TubbaBlubba,
[ACTOR_TYPE_TUBBA_BLUBBA] MSG_EnemyName_TubbaBlubba,
[ACTOR_TYPE_TUBBA_HEART] MSG_EnemyName_TubbaHeart,
[ACTOR_TYPE_STILT_GUY] MSG_EnemyName_StiltGuy,
[ACTOR_TYPE_SHY_STACK] MSG_EnemyName_ShyStack,
[ACTOR_TYPE_SHY_SQUAD] MSG_EnemyName_ShySquad,
[ACTOR_TYPE_GENERAL_GUY] MSG_EnemyName_GeneralGuyDup,
[ACTOR_TYPE_TOY_TANK] MSG_EnemyName_GeneralGuy,
[ACTOR_TYPE_LIGHT_BULB] MSG_EnemyName_Bulb,
[ACTOR_TYPE_SIGNAL_GUY] MSG_EnemyName_ShyGuy,
[ACTOR_TYPE_SHY_SQUAD_DUP] MSG_EnemyName_ShySquadDup,
[ACTOR_TYPE_SHY_GUY_DUP] MSG_EnemyName_ShyGuy,
[ACTOR_TYPE_ANTI_GUY] MSG_EnemyName_AntiGuy,
[ACTOR_TYPE_ANTI_GUY_DUP] MSG_EnemyName_AntiGuy,
[ACTOR_TYPE_BIG_LANTERN_GHOST] MSG_EnemyName_BigLanternGhost,
[ACTOR_TYPE_GOOMBA_KING_DUP] MSG_EnemyName_GoombaKing,
[ACTOR_TYPE_LAVA_PIRANHA_PHASE_1] MSG_EnemyName_LavaPiranha,
[ACTOR_TYPE_LAVA_PIRANHA_PHASE_2] MSG_EnemyName_LavaPiranha,
[ACTOR_TYPE_LAVA_BUD_PHASE_1] MSG_EnemyName_LavaBud,
[ACTOR_TYPE_LAVA_BUD_PHASE_2] MSG_EnemyName_LavaBud,
[ACTOR_TYPE_PETIT_PIRANHA] MSG_EnemyName_PetitPiranha,
[ACTOR_TYPE_PETIT_PIRANHA_BOMB] MSG_EnemyName_LavaPiranha,
[ACTOR_TYPE_KENT_C_KOOPA] MSG_EnemyName_KentCKoopa,
[ACTOR_TYPE_HUFF_N_PUFF] MSG_EnemyName_HuffNPuff,
[ACTOR_TYPE_TUFF_PUFF] MSG_EnemyName_TuffPuff,
[ACTOR_TYPE_MONSTAR] MSG_EnemyName_Monstar,
[ACTOR_TYPE_CRYSTAL_KING] MSG_EnemyName_CrystalKing,
[ACTOR_TYPE_CRYSTAL_CLONE] MSG_EnemyName_CrystalKing,
[ACTOR_TYPE_CRYSTAL_BIT] MSG_EnemyName_CrystalBit,
[ACTOR_TYPE_INTRO_BOWSER] MSG_EnemyName_Bowser,
[ACTOR_TYPE_BOWSER_PHASE_1] MSG_EnemyName_Bowser,
[ACTOR_TYPE_BOWSER_DUP1] MSG_EnemyName_Bowser,
[ACTOR_TYPE_BOWSER_PHASE_2] MSG_EnemyName_Bowser,
[ACTOR_TYPE_BOWSER_DUP2] MSG_EnemyName_Bowser,
[ACTOR_TYPE_BOWSER_PHASE_3] MSG_EnemyName_Bowser,
[ACTOR_TYPE_BOWSER_DUP3] MSG_EnemyName_Bowser,
[ACTOR_TYPE_BLOOPER] MSG_EnemyName_Blooper,
[ACTOR_TYPE_ELECTRO_BLOOPER1] MSG_EnemyName_ElectroBlooper,
[ACTOR_TYPE_ELECTRO_BLOOPER2] MSG_EnemyName_ElectroBlooper,
[ACTOR_TYPE_SUPER_BLOOPER1] MSG_EnemyName_SuperBlooper,
[ACTOR_TYPE_SUPER_BLOOPER2] MSG_EnemyName_SuperBlooper,
[ACTOR_TYPE_BLOOPER_BABY] MSG_EnemyName_BlooperBaby,
[ACTOR_TYPE_LAKILESTER_DUP] MSG_EnemyName_GhostLakilester,
[ACTOR_TYPE_SLOT_MACHINE_START] MSG_EnemyName_SlotMachineStart,
[ACTOR_TYPE_SLOT_MACHINE_STOP] MSG_EnemyName_SlotMachineStop,
[ACTOR_TYPE_WHACKA] MSG_EnemyName_Whacka,
[ACTOR_TYPE_SLOT_MACHINE_START_DUP1] MSG_EnemyName_SlotMachineStart,
[ACTOR_TYPE_SLOT_MACHINE_START_DUP2] MSG_EnemyName_SlotMachineStart,
[ACTOR_TYPE_SLOT_MACHINE_START_DUP3] MSG_EnemyName_SlotMachineStart,
};
s32 D_80281454[] = { 0x78, 0x93, 0x99, 0xB2, -1 };
// enemy types to ignore when deciding initialEnemyCount
s32 D_80281454[] = {
ACTOR_TYPE_UNUSED_78,
ACTOR_TYPE_GOOMNUT_TREE,
ACTOR_TYPE_FAKE_BOWSER,
ACTOR_TYPE_GOOMBA_KING_DUP,
-1
};
ActorSounds bActorSoundTable[ACTOR_TYPE_COUNT] = {
[ACTOR_TYPE_RED_GOOMBA] = {

View File

@ -83,7 +83,7 @@ s32 calc_item_damage_enemy(void) {
target->lastDamageTaken = 0;
actorClass = currentTargetID & ACTOR_CLASS_MASK;
if (!(gBattleStatus.flags1 & BS_FLAGS1_80000)) {
if (!(gBattleStatus.flags1 & BS_FLAGS1_PARTNER_ACTING)) {
state = &player->state;
} else {
state = &partner->state;

View File

@ -26,14 +26,14 @@ enum {
MENU_BP = 2,
};
// first index for LevelUpStatTextHEIDs
// first index for LevelUpStatTextIDs
enum {
LVL_UP_FP = 0,
LVL_UP_HP = 1,
LVL_UP_BP = 2,
};
// second index for LevelUpStatTextHEIDs
// second index for LevelUpStatTextIDs
enum {
LVL_UP_TITLE = 0,
LVL_UP_CUR_TENS = 1,
@ -44,13 +44,13 @@ enum {
LVL_UP_BONUS = 6,
};
BSS s32 LevelUpStatEmblemHEIDs[4];
BSS s32 LevelUpStatTextHEIDs[3][7];
BSS HudElemID LevelUpStatEmblemIDs[4];
BSS HudElemID LevelUpStatTextIDs[3][7];
BSS s32 D_8029FAE4; // unused?
BSS s32 LevelUpSpotlightHEID;
BSS HudElemID LevelUpSpotlightID;
BSS s32 D_8029FAEC[23]; // unused?
BSS s32 LevelUpSelectTextHEID;
BSS HudElemID LevelUpSelectTextID;
BSS s32 CelebrateSubstateTime;
BSS s32 D_8029FB50;
BSS s32 EndBattleRewardStep;
@ -198,7 +198,7 @@ HudScript* levelup_stat_scripts[3] = {
&HES_level_up_BP,
};
HudScript* level_up_digit_scripts[3][10] = {
HudScript* HES_LevelUpDigits[3][10] = {
{
&HES_level_up_green_digit_0,
&HES_level_up_green_digit_1,
@ -650,57 +650,57 @@ void btl_state_update_celebration(void) {
}
} else {
id = hud_element_create(&HES_level_up_heart);
LevelUpStatEmblemHEIDs[0] = id;
LevelUpStatEmblemIDs[0] = id;
hud_element_set_render_pos(id, 310, 140);
hud_element_set_flags(id, HUD_ELEMENT_FLAG_80);
id = hud_element_create(&HES_level_up_flower);
LevelUpStatEmblemHEIDs[1] = id;
LevelUpStatEmblemIDs[1] = id;
hud_element_set_render_pos(id, 158, 340);
hud_element_set_flags(id, HUD_ELEMENT_FLAG_80);
id = hud_element_create(&HES_level_up_leaves);
LevelUpStatEmblemHEIDs[3] = id;
LevelUpStatEmblemIDs[3] = id;
hud_element_set_render_pos(id, 158, 340);
hud_element_set_flags(id, HUD_ELEMENT_FLAG_80);
id = hud_element_create(&HES_level_up_badge);
LevelUpStatEmblemHEIDs[2] = id;
LevelUpStatEmblemIDs[2] = id;
hud_element_set_render_pos(id, 6, 140);
hud_element_set_flags(id, HUD_ELEMENT_FLAG_80);
id = hud_element_create(levelup_stat_scripts[0]);
LevelUpStatTextHEIDs[LVL_UP_FP][LVL_UP_TITLE] = id;
LevelUpStatTextIDs[LVL_UP_FP][LVL_UP_TITLE] = id;
hud_element_set_render_pos(id, 160, 317);
hud_element_set_flags(id, HUD_ELEMENT_FLAG_80);
for (i = 1; i < ARRAY_COUNT(LevelUpStatTextHEIDs[LVL_UP_FP]); i++) {
id = hud_element_create(level_up_digit_scripts[LVL_UP_FP][0]);
LevelUpStatTextHEIDs[LVL_UP_FP][i] = id;
for (i = 1; i < ARRAY_COUNT(LevelUpStatTextIDs[LVL_UP_FP]); i++) {
id = hud_element_create(HES_LevelUpDigits[LVL_UP_FP][0]);
LevelUpStatTextIDs[LVL_UP_FP][i] = id;
hud_element_set_render_pos(id, 160, 317);
hud_element_set_flags(id, HUD_ELEMENT_FLAG_80 | HUD_ELEMENT_FLAG_DISABLED);
}
id = hud_element_create(levelup_stat_scripts[1]);
LevelUpStatTextHEIDs[LVL_UP_HP][LVL_UP_TITLE] = id;
LevelUpStatTextIDs[LVL_UP_HP][LVL_UP_TITLE] = id;
hud_element_set_render_pos(id, 312, 117);
hud_element_set_flags(id, HUD_ELEMENT_FLAG_80);
for (i = 1; i < ARRAY_COUNT(LevelUpStatTextHEIDs[LVL_UP_HP]); i++) {
id = hud_element_create(level_up_digit_scripts[LVL_UP_HP][0]);
LevelUpStatTextHEIDs[LVL_UP_HP][i] = id;
for (i = 1; i < ARRAY_COUNT(LevelUpStatTextIDs[LVL_UP_HP]); i++) {
id = hud_element_create(HES_LevelUpDigits[LVL_UP_HP][0]);
LevelUpStatTextIDs[LVL_UP_HP][i] = id;
hud_element_set_render_pos(id, 312, 117);
hud_element_set_flags(id, HUD_ELEMENT_FLAG_80 | HUD_ELEMENT_FLAG_DISABLED);
}
id = hud_element_create(levelup_stat_scripts[2]);
LevelUpStatTextHEIDs[LVL_UP_BP][LVL_UP_TITLE] = id;
LevelUpStatTextIDs[LVL_UP_BP][LVL_UP_TITLE] = id;
hud_element_set_render_pos(id, 8, 117);
hud_element_set_flags(id, HUD_ELEMENT_FLAG_80);
for (i = 1; i < ARRAY_COUNT(LevelUpStatTextHEIDs[LVL_UP_BP]); i++) {
id = hud_element_create(level_up_digit_scripts[LVL_UP_BP][0]);
LevelUpStatTextHEIDs[LVL_UP_BP][i] = id;
for (i = 1; i < ARRAY_COUNT(LevelUpStatTextIDs[LVL_UP_BP]); i++) {
id = hud_element_create(HES_LevelUpDigits[LVL_UP_BP][0]);
LevelUpStatTextIDs[LVL_UP_BP][i] = id;
hud_element_set_render_pos(id, 8, 117);
hud_element_set_flags(id, HUD_ELEMENT_FLAG_80 | HUD_ELEMENT_FLAG_DISABLED);
}
@ -713,7 +713,7 @@ void btl_state_update_celebration(void) {
// current FP
tensDigit = playerData->curMaxFP / 10;
onesDigit = playerData->curMaxFP % 10;
id = LevelUpStatTextHEIDs[LVL_UP_FP][LVL_UP_CUR_TENS];
id = LevelUpStatTextIDs[LVL_UP_FP][LVL_UP_CUR_TENS];
hud_element_set_script(id, level_up_small_digit_scripts[LVL_UP_FP][tensDigit]);
if (tensDigit != 0) {
hud_element_clear_flags(id, HUD_ELEMENT_FLAG_DISABLED);
@ -721,13 +721,13 @@ void btl_state_update_celebration(void) {
hud_element_get_render_pos(id, &x, &y);
hud_element_set_render_pos(id, x - 14, y + 46);
id = LevelUpStatTextHEIDs[LVL_UP_FP][LVL_UP_CUR_ONES];
id = LevelUpStatTextIDs[LVL_UP_FP][LVL_UP_CUR_ONES];
hud_element_set_script(id, level_up_small_digit_scripts[LVL_UP_FP][onesDigit]);
hud_element_clear_flags(id, HUD_ELEMENT_FLAG_DISABLED);
hud_element_get_render_pos(id, &x, &y);
hud_element_set_render_pos(id, x - 8, y + 46);
id = LevelUpStatTextHEIDs[LVL_UP_FP][LVL_UP_ARROW];
id = LevelUpStatTextIDs[LVL_UP_FP][LVL_UP_ARROW];
hud_element_set_script(id, &HES_level_up_small_green_arrow);
hud_element_clear_flags(id, HUD_ELEMENT_FLAG_DISABLED);
hud_element_get_render_pos(id, &x, &y);
@ -736,33 +736,33 @@ void btl_state_update_celebration(void) {
// upgraded FP
tensDigit = (playerData->curMaxFP + 5) / 10;
onesDigit = (playerData->curMaxFP + 5) % 10;
id = LevelUpStatTextHEIDs[LVL_UP_FP][LVL_UP_NEXT_TENS];
hud_element_set_script(id, level_up_digit_scripts[LVL_UP_FP][tensDigit]);
id = LevelUpStatTextIDs[LVL_UP_FP][LVL_UP_NEXT_TENS];
hud_element_set_script(id, HES_LevelUpDigits[LVL_UP_FP][tensDigit]);
if (tensDigit != 0) {
hud_element_clear_flags(id, HUD_ELEMENT_FLAG_DISABLED);
}
hud_element_get_render_pos(id, &x, &y);
hud_element_set_render_pos(id, x + 3, y + 46);
id = LevelUpStatTextHEIDs[LVL_UP_FP][LVL_UP_NEXT_ONES];
hud_element_set_script(id, level_up_digit_scripts[LVL_UP_FP][onesDigit]);
id = LevelUpStatTextIDs[LVL_UP_FP][LVL_UP_NEXT_ONES];
hud_element_set_script(id, HES_LevelUpDigits[LVL_UP_FP][onesDigit]);
hud_element_clear_flags(id, HUD_ELEMENT_FLAG_DISABLED);
hud_element_get_render_pos(id, &x, &y);
hud_element_set_render_pos(id, x + 10, y + 46);
} else {
// upgraded FP only
id = LevelUpStatTextHEIDs[LVL_UP_FP][LVL_UP_NEXT_TENS];
id = LevelUpStatTextIDs[LVL_UP_FP][LVL_UP_NEXT_TENS];
tensDigit = playerData->curMaxFP / 10;
onesDigit = playerData->curMaxFP % 10;
hud_element_set_script(id, level_up_digit_scripts[LVL_UP_FP][tensDigit]);
hud_element_set_script(id, HES_LevelUpDigits[LVL_UP_FP][tensDigit]);
if (tensDigit != 0) {
hud_element_clear_flags(id, HUD_ELEMENT_FLAG_DISABLED);
}
hud_element_get_render_pos(id, &x, &y);
hud_element_set_render_pos(id, x - 6, y + 46);
id = LevelUpStatTextHEIDs[LVL_UP_FP][LVL_UP_NEXT_ONES];
hud_element_set_script(id, level_up_digit_scripts[LVL_UP_FP][onesDigit]);
id = LevelUpStatTextIDs[LVL_UP_FP][LVL_UP_NEXT_ONES];
hud_element_set_script(id, HES_LevelUpDigits[LVL_UP_FP][onesDigit]);
hud_element_clear_flags(id, 2);
hud_element_get_render_pos(id, &x, &y);
hud_element_set_render_pos(id, x + 2, y + 46);
@ -770,7 +770,7 @@ void btl_state_update_celebration(void) {
}
if (is_ability_active(ABILITY_FP_PLUS)) {
id = LevelUpStatTextHEIDs[LVL_UP_FP][LVL_UP_BONUS];
id = LevelUpStatTextIDs[LVL_UP_FP][LVL_UP_BONUS];
itemHudElemID = gItemTable[ITEM_FP_PLUS_A].hudElemID;
hud_element_set_script(id, gItemHudScripts[itemHudElemID].enabled);
hud_element_clear_flags(id, HUD_ELEMENT_FLAG_DISABLED);
@ -784,7 +784,7 @@ void btl_state_update_celebration(void) {
tensDigit = playerData->curMaxHP / 10;
onesDigit = playerData->curMaxHP % 10;
id = LevelUpStatTextHEIDs[LVL_UP_HP][LVL_UP_CUR_TENS];
id = LevelUpStatTextIDs[LVL_UP_HP][LVL_UP_CUR_TENS];
hud_element_set_script(id, level_up_small_digit_scripts[LVL_UP_HP][tensDigit]);
if (tensDigit != 0) {
hud_element_clear_flags(id, HUD_ELEMENT_FLAG_DISABLED);
@ -792,13 +792,13 @@ void btl_state_update_celebration(void) {
hud_element_get_render_pos(id, &x, &y);
hud_element_set_render_pos(id, x - 14, y + 46);
id = LevelUpStatTextHEIDs[LVL_UP_HP][LVL_UP_CUR_ONES];
id = LevelUpStatTextIDs[LVL_UP_HP][LVL_UP_CUR_ONES];
hud_element_set_script(id, level_up_small_digit_scripts[LVL_UP_HP][onesDigit]);
hud_element_clear_flags(id, HUD_ELEMENT_FLAG_DISABLED);
hud_element_get_render_pos(id, &x, &y);
hud_element_set_render_pos(id, x - 8, y + 46);
id = LevelUpStatTextHEIDs[LVL_UP_HP][LVL_UP_ARROW];
id = LevelUpStatTextIDs[LVL_UP_HP][LVL_UP_ARROW];
hud_element_set_script(id, &HES_level_up_small_red_arrow);
hud_element_clear_flags(id, HUD_ELEMENT_FLAG_DISABLED);
hud_element_get_render_pos(id, &x, &y);
@ -807,16 +807,16 @@ void btl_state_update_celebration(void) {
tensDigit = (playerData->curMaxHP + 5) / 10;
onesDigit = (playerData->curMaxHP + 5) % 10;
id = LevelUpStatTextHEIDs[LVL_UP_HP][LVL_UP_NEXT_TENS];
hud_element_set_script(id, level_up_digit_scripts[LVL_UP_HP][tensDigit]);
id = LevelUpStatTextIDs[LVL_UP_HP][LVL_UP_NEXT_TENS];
hud_element_set_script(id, HES_LevelUpDigits[LVL_UP_HP][tensDigit]);
if (tensDigit != 0) {
hud_element_clear_flags(id, HUD_ELEMENT_FLAG_DISABLED);
}
hud_element_get_render_pos(id, &x, &y);
hud_element_set_render_pos(id, x + 3, y + 46);
id = LevelUpStatTextHEIDs[LVL_UP_HP][LVL_UP_NEXT_ONES];
hud_element_set_script(id, level_up_digit_scripts[LVL_UP_HP][onesDigit]);
id = LevelUpStatTextIDs[LVL_UP_HP][LVL_UP_NEXT_ONES];
hud_element_set_script(id, HES_LevelUpDigits[LVL_UP_HP][onesDigit]);
hud_element_clear_flags(id, HUD_ELEMENT_FLAG_DISABLED);
hud_element_get_render_pos(id, &x, &y);
hud_element_set_render_pos(id, x + 10, y + 46);
@ -824,16 +824,16 @@ void btl_state_update_celebration(void) {
tensDigit = playerData->curMaxHP / 10;
onesDigit = playerData->curMaxHP % 10;
id = LevelUpStatTextHEIDs[LVL_UP_HP][LVL_UP_NEXT_TENS];
hud_element_set_script(id, level_up_digit_scripts[LVL_UP_HP][tensDigit]);
id = LevelUpStatTextIDs[LVL_UP_HP][LVL_UP_NEXT_TENS];
hud_element_set_script(id, HES_LevelUpDigits[LVL_UP_HP][tensDigit]);
if (tensDigit != 0) {
hud_element_clear_flags(id, HUD_ELEMENT_FLAG_DISABLED);
}
hud_element_get_render_pos(id, &x, &y);
hud_element_set_render_pos(id, x - 6, y + 46);
id = LevelUpStatTextHEIDs[LVL_UP_HP][LVL_UP_NEXT_ONES];
hud_element_set_script(id, level_up_digit_scripts[LVL_UP_HP][onesDigit]);
id = LevelUpStatTextIDs[LVL_UP_HP][LVL_UP_NEXT_ONES];
hud_element_set_script(id, HES_LevelUpDigits[LVL_UP_HP][onesDigit]);
hud_element_clear_flags(id, HUD_ELEMENT_FLAG_DISABLED);
hud_element_get_render_pos(id, &x, &y);
hud_element_set_render_pos(id, x + 2, y + 46);
@ -841,7 +841,7 @@ void btl_state_update_celebration(void) {
}
if (is_ability_active(ABILITY_HP_PLUS)) {
id = LevelUpStatTextHEIDs[LVL_UP_HP][LVL_UP_BONUS];
id = LevelUpStatTextIDs[LVL_UP_HP][LVL_UP_BONUS];
itemHudElemID = gItemTable[ITEM_HP_PLUS_A].hudElemID;
hud_element_set_script(id, gItemHudScripts[itemHudElemID].enabled);
hud_element_clear_flags(id, HUD_ELEMENT_FLAG_DISABLED);
@ -854,7 +854,7 @@ void btl_state_update_celebration(void) {
tensDigit = playerData->maxBP / 10;
onesDigit = playerData->maxBP % 10;
id = LevelUpStatTextHEIDs[LVL_UP_BP][LVL_UP_CUR_TENS];
id = LevelUpStatTextIDs[LVL_UP_BP][LVL_UP_CUR_TENS];
hud_element_set_script(id, level_up_small_digit_scripts[LVL_UP_BP][tensDigit]);
if (tensDigit != 0) {
hud_element_clear_flags(id, HUD_ELEMENT_FLAG_DISABLED);
@ -862,13 +862,13 @@ void btl_state_update_celebration(void) {
hud_element_get_render_pos(id, &x, &y);
hud_element_set_render_pos(id, x - 14, y + 46);
id = LevelUpStatTextHEIDs[LVL_UP_BP][LVL_UP_CUR_ONES];
id = LevelUpStatTextIDs[LVL_UP_BP][LVL_UP_CUR_ONES];
hud_element_set_script(id, level_up_small_digit_scripts[LVL_UP_BP][onesDigit]);
hud_element_clear_flags(id, HUD_ELEMENT_FLAG_DISABLED);
hud_element_get_render_pos(id, &x, &y);
hud_element_set_render_pos(id, x - 8, y + 46);
id = LevelUpStatTextHEIDs[LVL_UP_BP][LVL_UP_ARROW];
id = LevelUpStatTextIDs[LVL_UP_BP][LVL_UP_ARROW];
hud_element_set_script(id, &HES_level_up_small_blue_arrow);
hud_element_clear_flags(id, HUD_ELEMENT_FLAG_DISABLED);
hud_element_get_render_pos(id, &x, &y);
@ -877,35 +877,35 @@ void btl_state_update_celebration(void) {
tensDigit = (playerData->maxBP + 3) / 10;
onesDigit = (playerData->maxBP + 3) % 10;
id = LevelUpStatTextHEIDs[LVL_UP_BP][LVL_UP_NEXT_TENS];
hud_element_set_script(id, level_up_digit_scripts[LVL_UP_BP][tensDigit]);
id = LevelUpStatTextIDs[LVL_UP_BP][LVL_UP_NEXT_TENS];
hud_element_set_script(id, HES_LevelUpDigits[LVL_UP_BP][tensDigit]);
if (tensDigit != 0) {
hud_element_clear_flags(id, HUD_ELEMENT_FLAG_DISABLED);
}
hud_element_get_render_pos(id, &x, &y);
hud_element_set_render_pos(id, x + 3, y + 46);
id = LevelUpStatTextHEIDs[LVL_UP_BP][LVL_UP_NEXT_ONES];
hud_element_set_script(id, level_up_digit_scripts[LVL_UP_BP][onesDigit]);
id = LevelUpStatTextIDs[LVL_UP_BP][LVL_UP_NEXT_ONES];
hud_element_set_script(id, HES_LevelUpDigits[LVL_UP_BP][onesDigit]);
hud_element_clear_flags(id, HUD_ELEMENT_FLAG_DISABLED);
hud_element_get_render_pos(id, &x, &y);
hud_element_set_render_pos(id, x + 10, y + 46);
} else {
id = LevelUpStatTextHEIDs[LVL_UP_BP][LVL_UP_NEXT_TENS];
hud_element_set_script(id, level_up_digit_scripts[LVL_UP_BP][3]);
id = LevelUpStatTextIDs[LVL_UP_BP][LVL_UP_NEXT_TENS];
hud_element_set_script(id, HES_LevelUpDigits[LVL_UP_BP][3]);
hud_element_clear_flags(id, HUD_ELEMENT_FLAG_DISABLED);
hud_element_get_render_pos(id, &x, &y);
hud_element_set_render_pos(id, x - 6, y + 46);
id = LevelUpStatTextHEIDs[LVL_UP_BP][LVL_UP_NEXT_ONES];
hud_element_set_script(id, level_up_digit_scripts[LVL_UP_BP][0]);
id = LevelUpStatTextIDs[LVL_UP_BP][LVL_UP_NEXT_ONES];
hud_element_set_script(id, HES_LevelUpDigits[LVL_UP_BP][0]);
hud_element_clear_flags(id, HUD_ELEMENT_FLAG_DISABLED);
hud_element_get_render_pos(id, &x, &y);
hud_element_set_render_pos(id, x + 2, y + 46);
CantLevelUpStat[MENU_BP] = TRUE;
}
id = LevelUpSpotlightHEID = hud_element_create(&HES_ProjectorBeam);
id = LevelUpSpotlightID = hud_element_create(&HES_ProjectorBeam);
hud_element_create_transform_B(id);
hud_element_set_render_pos(id, 156, 13);
hud_element_set_tint(id, 255, 255, 255);
@ -915,7 +915,7 @@ void btl_state_update_celebration(void) {
hud_element_set_alpha(id, 200);
hud_element_set_flags(id, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80);
id = LevelUpSelectTextHEID = hud_element_create(&HES_level_up_select_one_to_upgrade);
id = LevelUpSelectTextID = hud_element_create(&HES_level_up_select_one_to_upgrade);
hud_element_set_render_pos(id, 0, 0);
hud_element_set_flags(id, HUD_ELEMENT_FLAG_80);
battleStatus->currentSubmenu = 1;
@ -925,42 +925,42 @@ void btl_state_update_celebration(void) {
}
break;
case BTL_SUBSTATE_CELEBRATE_LEVEL_UP_SHOW_HUD:
id = LevelUpStatEmblemHEIDs[0];
id = LevelUpStatEmblemIDs[0];
hud_element_get_render_pos(id, &x, &y);
x -= 20;
hud_element_set_render_pos(id, x, y);
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextHEIDs[LVL_UP_HP]); i++) {
id = LevelUpStatTextHEIDs[LVL_UP_HP][i];
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextIDs[LVL_UP_HP]); i++) {
id = LevelUpStatTextIDs[LVL_UP_HP][i];
hud_element_get_render_pos(id, &x, &y);
x -= 20;
hud_element_set_render_pos(id, x, y);
}
id = LevelUpStatEmblemHEIDs[1];
id = LevelUpStatEmblemIDs[1];
hud_element_get_render_pos(id, &x, &y);
y -= 20;
hud_element_set_render_pos(id, x, y);
id = LevelUpStatEmblemHEIDs[3];
id = LevelUpStatEmblemIDs[3];
hud_element_get_render_pos(id, &x, &y);
y -= 20;
hud_element_set_render_pos(id, x, y);
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextHEIDs[LVL_UP_FP]); i++) {
id = LevelUpStatTextHEIDs[LVL_UP_FP][i];
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextIDs[LVL_UP_FP]); i++) {
id = LevelUpStatTextIDs[LVL_UP_FP][i];
hud_element_get_render_pos(id, &x, &y);
y -= 20;
hud_element_set_render_pos(id, x, y);
}
id = LevelUpStatEmblemHEIDs[2];
id = LevelUpStatEmblemIDs[2];
hud_element_get_render_pos(id, &x, &y);
x += 20;
hud_element_set_render_pos(id, x, y);
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextHEIDs[LVL_UP_BP]); i++) {
id = LevelUpStatTextHEIDs[LVL_UP_BP][i];
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextIDs[LVL_UP_BP]); i++) {
id = LevelUpStatTextIDs[LVL_UP_BP][i];
hud_element_get_render_pos(id, &x, &y);
x += 20;
hud_element_set_render_pos(id, x, y);
@ -1014,7 +1014,7 @@ void btl_state_update_celebration(void) {
}
break;
case BTL_SUBSTATE_CELEBRATE_LEVEL_UP_UPGRADE:
hud_element_free(LevelUpSpotlightHEID);
hud_element_free(LevelUpSpotlightID);
set_window_update(WINDOW_ID_8, WINDOW_UPDATE_HIDE);
switch (battleStatus->currentSubmenu) {
@ -1068,27 +1068,27 @@ void btl_state_update_celebration(void) {
if ((gGameStatusPtr->frameCounter % 2) != 0) {
switch (battleStatus->currentSubmenu) {
case 0:
hud_element_set_flags(LevelUpStatEmblemHEIDs[0], HUD_ELEMENT_FLAG_DISABLED);
hud_element_set_flags(LevelUpStatEmblemIDs[0], HUD_ELEMENT_FLAG_DISABLED);
break;
case 1:
hud_element_set_flags(LevelUpStatEmblemHEIDs[1], HUD_ELEMENT_FLAG_DISABLED);
hud_element_set_flags(LevelUpStatEmblemHEIDs[3], HUD_ELEMENT_FLAG_DISABLED);
hud_element_set_flags(LevelUpStatEmblemIDs[1], HUD_ELEMENT_FLAG_DISABLED);
hud_element_set_flags(LevelUpStatEmblemIDs[3], HUD_ELEMENT_FLAG_DISABLED);
break;
case 2:
hud_element_set_flags(LevelUpStatEmblemHEIDs[2], HUD_ELEMENT_FLAG_DISABLED);
hud_element_set_flags(LevelUpStatEmblemIDs[2], HUD_ELEMENT_FLAG_DISABLED);
break;
}
} else {
switch (battleStatus->currentSubmenu) {
case 0:
hud_element_clear_flags(LevelUpStatEmblemHEIDs[0], HUD_ELEMENT_FLAG_DISABLED);
hud_element_clear_flags(LevelUpStatEmblemIDs[0], HUD_ELEMENT_FLAG_DISABLED);
break;
case 1:
hud_element_clear_flags(LevelUpStatEmblemHEIDs[1], HUD_ELEMENT_FLAG_DISABLED);
hud_element_clear_flags(LevelUpStatEmblemHEIDs[3], HUD_ELEMENT_FLAG_DISABLED);
hud_element_clear_flags(LevelUpStatEmblemIDs[1], HUD_ELEMENT_FLAG_DISABLED);
hud_element_clear_flags(LevelUpStatEmblemIDs[3], HUD_ELEMENT_FLAG_DISABLED);
break;
case 2:
hud_element_clear_flags(LevelUpStatEmblemHEIDs[2], HUD_ELEMENT_FLAG_DISABLED);
hud_element_clear_flags(LevelUpStatEmblemIDs[2], HUD_ELEMENT_FLAG_DISABLED);
break;
}
}
@ -1102,21 +1102,21 @@ void btl_state_update_celebration(void) {
}
break;
case BTL_SUBSTATE_CELEBRATE_LEVEL_UP_DESTROY_HUD:
hud_element_free(LevelUpStatEmblemHEIDs[0]);
hud_element_free(LevelUpStatEmblemHEIDs[1]);
hud_element_free(LevelUpStatEmblemHEIDs[3]);
hud_element_free(LevelUpStatEmblemHEIDs[2]);
hud_element_free(LevelUpStatEmblemIDs[0]);
hud_element_free(LevelUpStatEmblemIDs[1]);
hud_element_free(LevelUpStatEmblemIDs[3]);
hud_element_free(LevelUpStatEmblemIDs[2]);
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextHEIDs); i++) {
for (j = 0; j < ARRAY_COUNT(LevelUpStatTextHEIDs[LVL_UP_FP]); j++) {
hud_element_free(LevelUpStatTextHEIDs[i][j]);
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextIDs); i++) {
for (j = 0; j < ARRAY_COUNT(LevelUpStatTextIDs[LVL_UP_FP]); j++) {
hud_element_free(LevelUpStatTextIDs[i][j]);
}
}
hud_element_free(LevelUpSelectTextHEID);
hud_element_free(LevelUpSelectTextID);
set_background_color_blend(0, 0, 0, 0);
btl_set_state(BATTLE_STATE_END_BATTLE);
gBattleSubState = BTL_SUBSTATE_END_BATTLE_UNK_2;
gBattleSubState = BTL_SUBSTATE_END_BATTLE_EXEC_STAGE_SCRIPT;
break;
case BTL_SUBSTATE_CELEBRATE_LEVEL_UP_INVALID:
width = get_msg_width(MSG_Menus_CantIncrease, 0) + 31;
@ -1191,7 +1191,7 @@ void btl_state_update_celebration(void) {
kill_script_by_ID(partner->takeTurnScriptID);
}
btl_set_state(BATTLE_STATE_END_BATTLE);
gBattleSubState = BTL_SUBSTATE_END_BATTLE_UNK_2;
gBattleSubState = BTL_SUBSTATE_END_BATTLE_EXEC_STAGE_SCRIPT;
break;
}
CelebrateStateTime++;
@ -1237,13 +1237,13 @@ void btl_draw_upgrade_windows(s32 phase) {
break;
}
hud_element_get_render_pos(LevelUpStatEmblemHEIDs[0], &x, &y);
hud_element_get_render_pos(LevelUpStatEmblemIDs[0], &x, &y);
draw_box(0, WINDOW_STYLE_15, x - 22, y - 22, 0, 44, 44, 255, d1, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f, NULL, NULL, NULL,
SCREEN_WIDTH, SCREEN_HEIGHT, NULL);
hud_element_get_render_pos(LevelUpStatEmblemHEIDs[3], &x, &y);
hud_element_get_render_pos(LevelUpStatEmblemIDs[3], &x, &y);
draw_box(0, WINDOW_STYLE_15, x - 22, y - 22, 0, 44, 44, 255, d2, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f, NULL, NULL, NULL,
SCREEN_WIDTH, SCREEN_HEIGHT, NULL);
hud_element_get_render_pos(LevelUpStatEmblemHEIDs[2], &x, &y);
hud_element_get_render_pos(LevelUpStatEmblemIDs[2], &x, &y);
draw_box(0, WINDOW_STYLE_15, x - 22, y - 22, 0, 44, 44, 255, d3, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f, NULL, NULL, NULL,
SCREEN_WIDTH, SCREEN_HEIGHT, NULL);
}
@ -1258,22 +1258,22 @@ void btl_state_draw_celebration(void) {
switch (gBattleSubState) {
case BTL_SUBSTATE_CELEBRATE_LEVEL_UP_SHOW_HUD:
btl_draw_upgrade_windows(0);
id = LevelUpStatEmblemHEIDs[0];
id = LevelUpStatEmblemIDs[0];
hud_element_set_tint(id, 128, 128, 128);
hud_element_draw_clipped(id);
id = LevelUpStatEmblemHEIDs[3];
id = LevelUpStatEmblemIDs[3];
hud_element_set_tint(id, 128, 128, 128);
hud_element_draw_clipped(id);
id = LevelUpStatEmblemHEIDs[1];
id = LevelUpStatEmblemIDs[1];
hud_element_set_tint(id, 128, 128, 128);
hud_element_draw_clipped(id);
id = LevelUpStatEmblemHEIDs[2];
id = LevelUpStatEmblemIDs[2];
hud_element_set_tint(id, 128, 128, 128);
hud_element_draw_clipped(id);
for (j = 0; j < ARRAY_COUNT(LevelUpStatTextHEIDs); j++) {
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextHEIDs[LVL_UP_FP]); i++) {
id = LevelUpStatTextHEIDs[j][i];
for (j = 0; j < ARRAY_COUNT(LevelUpStatTextIDs); j++) {
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextIDs[LVL_UP_FP]); i++) {
id = LevelUpStatTextIDs[j][i];
hud_element_set_tint(id, 128, 128, 128);
hud_element_draw_clipped(id);
@ -1286,67 +1286,67 @@ void btl_state_draw_celebration(void) {
switch (battleStatus->currentSubmenu) {
case 0:
rotZ = 152;
hud_element_set_tint(LevelUpStatEmblemHEIDs[0], 255, 255, 255);
hud_element_set_tint(LevelUpStatEmblemHEIDs[3], 128, 128, 128);
hud_element_set_tint(LevelUpStatEmblemHEIDs[1], 128, 128, 128);
hud_element_set_tint(LevelUpStatEmblemHEIDs[2], 128, 128, 128);
hud_element_set_tint(LevelUpStatEmblemIDs[0], 255, 255, 255);
hud_element_set_tint(LevelUpStatEmblemIDs[3], 128, 128, 128);
hud_element_set_tint(LevelUpStatEmblemIDs[1], 128, 128, 128);
hud_element_set_tint(LevelUpStatEmblemIDs[2], 128, 128, 128);
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextHEIDs[LVL_UP_FP]); i++) {
id = LevelUpStatTextHEIDs[LVL_UP_FP][i];
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextIDs[LVL_UP_FP]); i++) {
id = LevelUpStatTextIDs[LVL_UP_FP][i];
hud_element_set_tint(id, 128, 128, 128);
}
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextHEIDs[LVL_UP_HP]); i++) {
id = LevelUpStatTextHEIDs[LVL_UP_HP][i];
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextIDs[LVL_UP_HP]); i++) {
id = LevelUpStatTextIDs[LVL_UP_HP][i];
hud_element_set_tint(id, 255, 255, 255);
}
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextHEIDs[LVL_UP_BP]); i++) {
id = LevelUpStatTextHEIDs[LVL_UP_BP][i];
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextIDs[LVL_UP_BP]); i++) {
id = LevelUpStatTextIDs[LVL_UP_BP][i];
hud_element_set_tint(id, 128, 128, 128);
}
id = LevelUpStatEmblemHEIDs[0];
id = LevelUpStatEmblemIDs[0];
if (hud_element_get_script(id) != &HES_level_up_heart_copy) {
hud_element_set_script(id, &HES_level_up_heart_copy);
}
id = LevelUpStatEmblemHEIDs[3];
id = LevelUpStatEmblemIDs[3];
if (hud_element_get_script(id) != &HES_level_up_leaves) {
hud_element_set_script(id, &HES_level_up_leaves);
}
id = LevelUpStatEmblemHEIDs[1];
id = LevelUpStatEmblemIDs[1];
if (hud_element_get_script(id) != &HES_level_up_flower) {
hud_element_set_script(id, &HES_level_up_flower);
}
id = LevelUpStatEmblemHEIDs[2];
id = LevelUpStatEmblemIDs[2];
if (hud_element_get_script(id) != &HES_level_up_badge) {
hud_element_set_script(id, &HES_level_up_badge);
}
break;
case 1:
rotZ = 180;
hud_element_set_tint(LevelUpStatEmblemHEIDs[0], 128, 128, 128);
hud_element_set_tint(LevelUpStatEmblemHEIDs[3], 255, 255, 255);
hud_element_set_tint(LevelUpStatEmblemHEIDs[1], 255, 255, 255);
hud_element_set_tint(LevelUpStatEmblemHEIDs[2], 128, 128, 128);
hud_element_set_tint(LevelUpStatEmblemIDs[0], 128, 128, 128);
hud_element_set_tint(LevelUpStatEmblemIDs[3], 255, 255, 255);
hud_element_set_tint(LevelUpStatEmblemIDs[1], 255, 255, 255);
hud_element_set_tint(LevelUpStatEmblemIDs[2], 128, 128, 128);
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextHEIDs[LVL_UP_FP]); i++) {
id = LevelUpStatTextHEIDs[LVL_UP_FP][i];
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextIDs[LVL_UP_FP]); i++) {
id = LevelUpStatTextIDs[LVL_UP_FP][i];
hud_element_set_tint(id, 255, 255, 255);
}
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextHEIDs[LVL_UP_HP]); i++) {
id = LevelUpStatTextHEIDs[LVL_UP_HP][i];
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextIDs[LVL_UP_HP]); i++) {
id = LevelUpStatTextIDs[LVL_UP_HP][i];
hud_element_set_tint(id, 128, 128, 128);
}
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextHEIDs[LVL_UP_BP]); i++) {
id = LevelUpStatTextHEIDs[LVL_UP_BP][i];
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextIDs[LVL_UP_BP]); i++) {
id = LevelUpStatTextIDs[LVL_UP_BP][i];
hud_element_set_tint(id, 128, 128, 128);
}
@ -1354,25 +1354,25 @@ void btl_state_draw_celebration(void) {
case 2:
default:
rotZ = 208;
hud_element_set_tint(LevelUpStatEmblemHEIDs[0], 128, 128, 128);
hud_element_set_tint(LevelUpStatEmblemHEIDs[3], 128, 128, 128);
hud_element_set_tint(LevelUpStatEmblemHEIDs[1], 128, 128, 128);
hud_element_set_tint(LevelUpStatEmblemHEIDs[2], 255, 255, 255);
hud_element_set_tint(LevelUpStatEmblemIDs[0], 128, 128, 128);
hud_element_set_tint(LevelUpStatEmblemIDs[3], 128, 128, 128);
hud_element_set_tint(LevelUpStatEmblemIDs[1], 128, 128, 128);
hud_element_set_tint(LevelUpStatEmblemIDs[2], 255, 255, 255);
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextHEIDs[LVL_UP_FP]); i++) {
id = LevelUpStatTextHEIDs[LVL_UP_FP][i];
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextIDs[LVL_UP_FP]); i++) {
id = LevelUpStatTextIDs[LVL_UP_FP][i];
hud_element_set_tint(id, 128, 128, 128);
}
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextHEIDs[LVL_UP_HP]); i++) {
id = LevelUpStatTextHEIDs[LVL_UP_HP][i];
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextIDs[LVL_UP_HP]); i++) {
id = LevelUpStatTextIDs[LVL_UP_HP][i];
hud_element_set_tint(id, 128, 128, 128);
}
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextHEIDs[LVL_UP_BP]); i++) {
id = LevelUpStatTextHEIDs[LVL_UP_BP][i];
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextIDs[LVL_UP_BP]); i++) {
id = LevelUpStatTextIDs[LVL_UP_BP][i];
hud_element_set_tint(id, 255, 255, 255);
}
@ -1380,33 +1380,33 @@ void btl_state_draw_celebration(void) {
}
btl_draw_upgrade_windows(1);
hud_element_draw_clipped(LevelUpStatEmblemHEIDs[0]);
hud_element_draw_clipped(LevelUpStatEmblemHEIDs[3]);
hud_element_draw_clipped(LevelUpStatEmblemHEIDs[1]);
hud_element_draw_clipped(LevelUpStatEmblemHEIDs[2]);
hud_element_draw_clipped(LevelUpStatEmblemIDs[0]);
hud_element_draw_clipped(LevelUpStatEmblemIDs[3]);
hud_element_draw_clipped(LevelUpStatEmblemIDs[1]);
hud_element_draw_clipped(LevelUpStatEmblemIDs[2]);
for (j = 0; j < ARRAY_COUNT(LevelUpStatTextHEIDs); j++) {
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextHEIDs[LVL_UP_FP]); i++) {
hud_element_draw_clipped(LevelUpStatTextHEIDs[j][i]);
for (j = 0; j < ARRAY_COUNT(LevelUpStatTextIDs); j++) {
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextIDs[LVL_UP_FP]); i++) {
hud_element_draw_clipped(LevelUpStatTextIDs[j][i]);
}
}
func_80144218(-1);
id = LevelUpSpotlightHEID;
id = LevelUpSpotlightID;
hud_element_set_transform_rotation(id, 0.0f, 0.0f, rotZ);
func_80144238(id);
break;
case BTL_SUBSTATE_CELEBRATE_LEVEL_UP_UPGRADE:
case BTL_SUBSTATE_CELEBRATE_LEVEL_UP_FADE_OUT:
btl_draw_upgrade_windows(1);
hud_element_draw_clipped(LevelUpStatEmblemHEIDs[0]);
hud_element_draw_clipped(LevelUpStatEmblemHEIDs[3]);
hud_element_draw_clipped(LevelUpStatEmblemHEIDs[1]);
hud_element_draw_clipped(LevelUpStatEmblemHEIDs[2]);
hud_element_draw_clipped(LevelUpStatEmblemIDs[0]);
hud_element_draw_clipped(LevelUpStatEmblemIDs[3]);
hud_element_draw_clipped(LevelUpStatEmblemIDs[1]);
hud_element_draw_clipped(LevelUpStatEmblemIDs[2]);
for (j = 0; j < ARRAY_COUNT(LevelUpStatTextHEIDs); j++) {
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextHEIDs[LVL_UP_FP]); i++) {
hud_element_draw_clipped(LevelUpStatTextHEIDs[j][i]);
for (j = 0; j < ARRAY_COUNT(LevelUpStatTextIDs); j++) {
for (i = 0; i < ARRAY_COUNT(LevelUpStatTextIDs[LVL_UP_FP]); i++) {
hud_element_draw_clipped(LevelUpStatTextIDs[j][i]);
}
}
@ -1432,7 +1432,7 @@ void btl_state_draw_celebration(void) {
LevelUpSelectTextOffsetX = 200;
LevelUpSelectTextVelX = -LevelUpSelectTextVelX / 3; // rebounding
}
id = LevelUpSelectTextHEID;
id = LevelUpSelectTextID;
hud_element_set_render_pos(id, LevelUpSelectTextOffsetX - 43, 176);
hud_element_draw_clipped(id);
break;
@ -1442,7 +1442,7 @@ void btl_state_draw_celebration(void) {
if (LevelUpSelectTextOffsetX > 500) {
LevelUpSelectTextOffsetX = 500;
}
id = LevelUpSelectTextHEID;
id = LevelUpSelectTextID;
hud_element_set_render_pos(id, LevelUpSelectTextOffsetX - 43, 176);
hud_element_draw_clipped(id);
break;

View File

@ -131,8 +131,8 @@ ApiStatus ChoosePlayerCelebrationAnim(Evt* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
ApiStatus func_80260DB8(Evt* script, s32 isInitialCall) {
gBattleStatus.flags1 |= BS_FLAGS1_ENEMY_FLED;
ApiStatus SetFledBattleFlag(Evt* script, s32 isInitialCall) {
gBattleStatus.flags1 |= BS_FLAGS1_BATTLE_FLED;
return ApiStatus_DONE2;
}
@ -169,7 +169,7 @@ ApiStatus func_80260E5C(Evt* script, s32 isInitialCall) {
ApiStatus N(GiveRefund)(Evt* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;
Actor* player = battleStatus->playerActor;
s32 sellValue = gItemTable[battleStatus->selectedItemID].sellValue;
s32 sellValue = gItemTable[battleStatus->moveArgument].sellValue;
f32 facingAngleSign = 0.0f;
s32 sleepTime = 0;
f32 posX, posY, posZ;
@ -206,7 +206,7 @@ ApiStatus N(GiveRefund)(Evt* script, s32 isInitialCall) {
}
ApiStatus N(GiveRefundCleanup)(Evt* script, s32 isInitialCall) {
s32 sellValue = gItemTable[gBattleStatus.selectedItemID].sellValue;
s32 sellValue = gItemTable[gBattleStatus.moveArgument].sellValue;
if (player_team_is_ability_active(gBattleStatus.playerActor, ABILITY_REFUND) && sellValue > 0) {
hud_element_free(D_8029FBA0);
@ -297,8 +297,8 @@ ApiStatus func_80261388(Evt* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
ApiStatus func_802613A8(Evt* script, s32 isInitialCall) {
gBattleStatus.selectedItemID = ITEM_LIFE_SHROOM;
ApiStatus SetItemAsLifeShroom(Evt* script, s32 isInitialCall) {
gBattleStatus.moveArgument = ITEM_LIFE_SHROOM;
return ApiStatus_DONE2;
}
@ -646,12 +646,12 @@ ApiStatus func_802620F8(Evt* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
EvtScript D_80284A20 = {
EvtScript EVS_Mario_OnActorCreate = {
EVT_RETURN
EVT_END
};
EvtScript D_80284A30 = {
EvtScript EVS_Peach_OnActorCreate = {
EVT_RETURN
EVT_END
};
@ -1021,7 +1021,7 @@ EvtScript HandleEvent_Player = {
EVT_SET(LVar2, 0)
EVT_EXEC_WAIT(D_802988F0)
EVT_RETURN
EVT_CASE_EQ(EVENT_RECOVER_PARTNER)
EVT_CASE_EQ(EVENT_RECOVER_FROM_KO)
EVT_CALL(SetActorJumpGravity, ACTOR_PLAYER, EVT_FLOAT(1.8))
EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar7, LVar8, LVar9)
EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, ANIM_Mario_AnimMidairStill, ANIM_Mario_AnimMidair, ANIM_Mario_BeforeJump)
@ -1087,7 +1087,7 @@ EvtScript D_80286228 = {
EVT_CALL(func_80273444, 8, 0, 0)
EVT_CALL(func_80260DD8)
EVT_IF_EQ(LVar0, 1)
EVT_CALL(func_80260DB8)
EVT_CALL(SetFledBattleFlag)
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_15E)
EVT_CALL(SetGoalPos, ACTOR_PLAYER, -240, 0, 10)
EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(16.0))
@ -1201,7 +1201,7 @@ EvtScript RunAwayStart = {
EVT_CALL(GetActionSuccess, LVar0)
EVT_CALL(func_80260DD8)
EVT_IF_EQ(LVar0, 1)
EVT_CALL(func_80260DB8)
EVT_CALL(SetFledBattleFlag)
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_15E)
EVT_CALL(SetGoalPos, ACTOR_PLAYER, -240, 0, 10)
EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(16.0))
@ -1458,7 +1458,7 @@ EvtScript UseLifeShroom = {
EVT_SET(LVar3, LVar0)
EVT_SET(LVar4, LVar1)
EVT_SET(LVar5, LVar2)
EVT_CALL(func_802613A8)
EVT_CALL(SetItemAsLifeShroom)
EVT_CALL(base_GiveRefund)
EVT_IF_GT(LVar0, 0)
EVT_WAIT(LVar0)

View File

@ -200,8 +200,8 @@ void func_80263300(void) {
ItemData* itemData = &gItemTable[itemID];
if (itemData->typeFlags & ITEM_TYPE_FLAG_BATTLE_USABLE) {
battleStatus->moveCategory = BTL_MENU_TYPE_ITEM;
battleStatus->selectedItemID = playerData->invItems[i];
battleStatus->moveCategory = BTL_MENU_TYPE_ITEMS;
battleStatus->moveArgument = playerData->invItems[i];
battleStatus->currentTargetListFlags = itemData->targetFlags;
player_create_target_list(player);
@ -315,7 +315,7 @@ void btl_init_menu_boots(void) {
// See if there are any targets for this move
battleStatus->moveCategory = BTL_MENU_TYPE_JUMP;
battleStatus->selectedItemID = playerData->bootsLevel;
battleStatus->moveArgument = playerData->bootsLevel;
battleStatus->currentTargetListFlags = move->flags; // Controls target filters
player_create_target_list(player);
@ -409,7 +409,7 @@ void btl_init_menu_hammer(void) {
// See if there are any targets for this move
battleStatus->moveCategory = BTL_MENU_TYPE_SMASH;
battleStatus->selectedItemID = playerData->hammerLevel;
battleStatus->moveArgument = playerData->hammerLevel;
battleStatus->currentTargetListFlags = move->flags;
player_create_target_list(player);
@ -496,8 +496,8 @@ void btl_init_menu_partner(void) {
}
}
battleStatus->moveCategory = BTL_MENU_TYPE_5;
battleStatus->selectedItemID = partner->actorBlueprint->level;
battleStatus->moveCategory = BTL_MENU_TYPE_CHANGE_PARTNER;
battleStatus->moveArgument = partner->actorBlueprint->level;
battleStatus->currentTargetListFlags = move->flags;
player_create_target_list(partner);
@ -886,7 +886,7 @@ void load_player_actor(void) {
player->defenseBoost = 0;
player->chillOutAmount = 0;
player->chillOutTurns = 0;
player->status = 0;
player->statusAfflicted = 0;
player->actorTypeData1[0] = bActorSoundTable[player->actorType].walk[0];
player->actorTypeData1[1] = bActorSoundTable[player->actorType].walk[1];
player->actorTypeData1[2] = bActorSoundTable[player->actorType].fly[0];
@ -1042,7 +1042,7 @@ void load_partner_actor(void) {
x = -95.0f;
y = partnerData->y;
z = 0.0f;
gBattleStatus.flags1 |= BS_FLAGS1_100000;
gBattleStatus.flags1 |= BS_FLAGS1_PLAYER_IN_BACK;
} else {
x = -130.0f;
y = partnerData->y;
@ -1125,7 +1125,7 @@ void load_partner_actor(void) {
partnerActor->defenseBoost = 0;
partnerActor->chillOutAmount = 0;
partnerActor->chillOutTurns = 0;
partnerActor->status = 0;
partnerActor->statusAfflicted = 0;
partnerActor->actorTypeData1[0] = bActorSoundTable[partnerActor->actorType].walk[0];
partnerActor->actorTypeData1[1] = bActorSoundTable[partnerActor->actorType].walk[1];
partnerActor->actorTypeData1[2] = bActorSoundTable[partnerActor->actorType].fly[0];
@ -1377,7 +1377,7 @@ Actor* create_actor(Formation formation) {
actor->defenseBoost = 0;
actor->chillOutAmount = 0;
actor->chillOutTurns = 0;
actor->status = 0;
actor->statusAfflicted = 0;
actor->actorTypeData1[0] = bActorSoundTable[actor->actorType].walk[0];
actor->actorTypeData1[1] = bActorSoundTable[actor->actorType].walk[1];
actor->actorTypeData1[2] = bActorSoundTable[actor->actorType].fly[0];
@ -1396,7 +1396,7 @@ Actor* create_actor(Formation formation) {
actor->state.varTable[2] = formation->var2;
actor->state.varTable[3] = formation->var3;
actor->renderMode = RENDER_MODE_ALPHATEST;
actor->unk_208 = 0;
actor->instigatorValue = 0;
part = heap_malloc(sizeof(*part));
actor->partsTable = part;
ASSERT(part != NULL);
@ -1691,7 +1691,7 @@ s32 inflict_status(Actor* target, s32 statusTypeKey, s32 duration) {
if (target->actorID != ACTOR_PARTNER) {
if (target->debuff != statusTypeKey) {
target->status = statusTypeKey;
target->statusAfflicted = statusTypeKey;
}
target->disableEffect->data.disableX->koDuration = 0;
target->debuff = statusTypeKey;
@ -1748,7 +1748,7 @@ s32 inflict_status(Actor* target, s32 statusTypeKey, s32 duration) {
if ((s8)duration > 9) {
target->staticDuration = 9;
}
target->status = STATUS_STATIC;
target->statusAfflicted = STATUS_STATIC;
func_80266DAC(target, 4);
create_status_static(target->hudElementDataIndex, STATUS_STATIC);
}
@ -1760,7 +1760,7 @@ s32 inflict_status(Actor* target, s32 statusTypeKey, s32 duration) {
if ((s8)duration > 9) {
target->stoneDuration = 9;
}
target->status = STATUS_STONE;
target->statusAfflicted = STATUS_STONE;
}
return TRUE;
case STATUS_DAZE:
@ -1770,7 +1770,7 @@ s32 inflict_status(Actor* target, s32 statusTypeKey, s32 duration) {
if ((s8)duration > 9) {
target->koDuration = 9;
}
target->status = STATUS_DAZE;
target->statusAfflicted = STATUS_DAZE;
}
return TRUE;
case STATUS_TRANSPARENT:
@ -1780,7 +1780,7 @@ s32 inflict_status(Actor* target, s32 statusTypeKey, s32 duration) {
if ((s8)duration > 9) {
target->transparentDuration = 9;
}
target->status = STATUS_TRANSPARENT;
target->statusAfflicted = STATUS_TRANSPARENT;
create_status_transparent(target->hudElementDataIndex, STATUS_TRANSPARENT);
}
return TRUE;

View File

@ -573,7 +573,7 @@ s32 calc_player_damage_enemy(void) {
retVal = 0;
target->hpChangeCounter -= currentAttackDamage;
if (!(targetPart->flags & ACTOR_PART_FLAG_2000) && !(gBattleStatus.flags1 & BS_FLAGS1_2000000) && !sp1C &&
if (!(targetPart->flags & ACTOR_PART_FLAG_2000) && !(gBattleStatus.flags1 & BS_FLAGS1_TUTORIAL_BATTLE) && !sp1C &&
!(targetPart->targetFlags & ACTOR_PART_FLAG_4)) {
target->currentHP -= currentAttackDamage;
@ -1051,7 +1051,7 @@ ApiStatus GetMenuSelection(Evt* script, s32 isInitialCall) {
s32 outVar3 = *args++;
evt_set_variable(script, outVar1, battleStatus->moveCategory);
evt_set_variable(script, outVar2, battleStatus->selectedItemID);
evt_set_variable(script, outVar2, battleStatus->moveArgument);
evt_set_variable(script, outVar3, battleStatus->selectedMoveID);
return ApiStatus_DONE2;

View File

@ -473,7 +473,7 @@ s32 calc_enemy_damage_target(Actor* attacker) {
battleStatus->lastAttackDamage = 0;
hitResult = HIT_RESULT_HIT;
if (!(targetPart->flags & ACTOR_PART_FLAG_2000)) {
if (!(gBattleStatus.flags1 & BS_FLAGS1_2000000)) {
if (!(gBattleStatus.flags1 & BS_FLAGS1_TUTORIAL_BATTLE)) {
if (!(target->flags & ACTOR_FLAG_NO_DMG_APPLY)) {
target->currentHP -= damage;
}
@ -3117,7 +3117,7 @@ ApiStatus AfflictActor(Evt* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
ApiStatus func_8027D75C(Evt* script, s32 isInitialCall) {
ApiStatus GetInstigatorValue(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 actorID = evt_get_variable(script, *args++);
s32 outVar = *args++;
@ -3126,7 +3126,7 @@ ApiStatus func_8027D75C(Evt* script, s32 isInitialCall) {
actorID = script->owner1.actorID;
}
evt_set_variable(script, outVar, get_actor(actorID)->unk_208);
evt_set_variable(script, outVar, get_actor(actorID)->instigatorValue);
return ApiStatus_DONE2;
}
@ -3319,8 +3319,8 @@ ApiStatus CopyStatusEffects(Evt* script, s32 isInitialCall) {
inflict_status(actorTo, actorFrom->koStatus, actorFrom->koDuration);
inflict_status(actorTo, actorFrom->transparentStatus, actorFrom->transparentDuration);
actorFrom->status = 0;
actorTo->status = 0;
actorFrom->statusAfflicted = 0;
actorTo->statusAfflicted = 0;
return ApiStatus_DONE2;
}

View File

@ -383,7 +383,7 @@ s32 calc_partner_damage_enemy(void) {
dispatchEvent = EVENT_HIT_COMBO;
retVal = 0;
if (!(targetPart->flags & ACTOR_PART_FLAG_2000) && !(gBattleStatus.flags1 & BS_FLAGS1_2000000) && !sp2C && !(targetPart->targetFlags & ACTOR_PART_FLAG_4)) {
if (!(targetPart->flags & ACTOR_PART_FLAG_2000) && !(gBattleStatus.flags1 & BS_FLAGS1_TUTORIAL_BATTLE) && !sp2C && !(targetPart->targetFlags & ACTOR_PART_FLAG_4)) {
target->currentHP -= damageDealt;
if (target->currentHP <= 0) {

View File

@ -117,12 +117,12 @@ s32 D_8029C890[][5] = {
ApiStatus LoadStarPowerScript(Evt* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;
PlayerData* playerData = &gPlayerData;
s16 selectedItemID;
s16 starPowerIdx;
playerData->specialBarsFilled -= gMoveTable[battleStatus->selectedMoveID].costFP * 256;
selectedItemID = battleStatus->selectedItemID;
dma_copy((&D_8029C7D0[selectedItemID])->dmaStart, (&D_8029C7D0[selectedItemID])->dmaEnd,
(&D_8029C7D0[selectedItemID])->dmaDest);
script->varTable[0] = (s32) (&D_8029C7D0[selectedItemID])->init;
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;
}

File diff suppressed because it is too large Load Diff

View File

@ -302,7 +302,7 @@ block_17:
return;
}
create_popup_menu(popup);
set_time_freeze_mode(TIME_FREEZE_PARTNER_MENU);
set_time_freeze_mode(TIME_FREEZE_POPUP_MENU);
if (*partnerActionState == PARTNER_ACTION_NONE) {
set_action_state(ACTION_STATE_IDLE);
}

View File

@ -1,5 +1,6 @@
#include "common.h"
#include "hud_element.h"
#include "message_ids.h"
extern HudScript HES_HandPointer;
extern HudScript HES_StatusStarPiece;
@ -385,66 +386,66 @@ s32 popup_menu_update(void) {
case POPUP_MENU_CHECK_ITEM:
case POPUP_MENU_CLAIM_ITEM:
case POPUP_MENU_USEKEY:
set_window_properties(WINDOW_ID_14, posX, posY, 0x91, (D_8010D656 * 13) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1);
if (gPopupMenu->unk_31C == 0) {
set_window_properties(WINDOW_ID_15, 0x19, -6, 0x5F, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE);
set_window_properties(WINDOW_ID_14, posX, posY, 145, (D_8010D656 * 13) + 26, 0x14, popup_menu_draw_menu_contents, NULL, -1);
if (gPopupMenu->dipMode == 0) {
set_window_properties(WINDOW_ID_15, 25, -6, 95, 16, 0x15, popup_menu_draw_title_contents, NULL, WINDOW_ID_14);
} else {
set_window_properties(WINDOW_ID_15, 0xC, -6, 0x79, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE);
set_window_properties(WINDOW_ID_15, 12, -6, 121, 16, 0x15, popup_menu_draw_title_contents, NULL, WINDOW_ID_14);
}
set_window_update(WINDOW_ID_15, WINDOW_UPDATE_SHOW);
set_window_update(WINDOW_ID_17, WINDOW_UPDATE_HIDE);
break;
case POPUP_MENU_SWITCH_PARTNER:
set_window_properties(WINDOW_ID_14, posX, posY, 0x8B, (D_8010D656 * 13) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1);
set_window_properties(WINDOW_ID_17, 0xD, -6, 0x72, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE);
set_window_properties(WINDOW_ID_14, posX, posY, 139, (D_8010D656 * 13) + 26, 0x14, popup_menu_draw_menu_contents, NULL, -1);
set_window_properties(WINDOW_ID_17, 13, -6, 114, 16, 0x15, popup_menu_draw_title_contents, NULL, WINDOW_ID_14);
set_window_update(WINDOW_ID_15, WINDOW_UPDATE_HIDE);
set_window_update(WINDOW_ID_17, WINDOW_UPDATE_SHOW);
break;
case POPUP_MENU_TRADE_FOR_BADGE:
set_window_properties(WINDOW_ID_14, posX, posY, 0xA2, (D_8010D656 * 13) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1);
set_window_properties(WINDOW_ID_15, 0x11, -6, 0x60, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE);
set_window_properties(WINDOW_ID_14, posX, posY, 162, (D_8010D656 * 13) + 26, 0x14, popup_menu_draw_menu_contents, NULL, -1);
set_window_properties(WINDOW_ID_15, 17, -6, 96, 16, 0x15, popup_menu_draw_title_contents, NULL, WINDOW_ID_14);
set_window_update(WINDOW_ID_15, WINDOW_UPDATE_SHOW);
set_window_update(WINDOW_ID_17, WINDOW_UPDATE_HIDE);
break;
case POPUP_MENU_UPGRADE_PARTNER:
set_window_properties(WINDOW_ID_14, posX, posY, 0x92, (D_8010D656 * 13) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1);
set_window_properties(WINDOW_ID_17, 0xC, -6, 0x72, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE);
set_window_properties(WINDOW_ID_14, posX, posY, 146, (D_8010D656 * 13) + 26, 0x14, popup_menu_draw_menu_contents, NULL, -1);
set_window_properties(WINDOW_ID_17, 12, -6, 114, 16, 0x15, popup_menu_draw_title_contents, NULL, WINDOW_ID_14);
set_window_update(WINDOW_ID_15, WINDOW_UPDATE_HIDE);
set_window_update(WINDOW_ID_17, WINDOW_UPDATE_SHOW);
break;
case POPUP_MENU_SELL_ITEM:
set_window_properties(WINDOW_ID_14, posX, posY, 0xA7, (D_8010D656 * 13) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1);
set_window_properties(WINDOW_ID_15, 0x16, -6, 0x5F, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE);
set_window_properties(WINDOW_ID_14, posX, posY, 167, (D_8010D656 * 13) + 26, 0x14, popup_menu_draw_menu_contents, NULL, -1);
set_window_properties(WINDOW_ID_15, 22, -6, 95, 16, 0x15, popup_menu_draw_title_contents, NULL, WINDOW_ID_14);
set_window_update(WINDOW_ID_15, WINDOW_UPDATE_SHOW);
set_window_update(WINDOW_ID_17, WINDOW_UPDATE_HIDE);
break;
case POPUP_MENU_READ_LETTER:
set_window_properties(WINDOW_ID_14, posX, posY, 0xAA, (D_8010D656 * 13) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1);
set_window_properties(WINDOW_ID_15, 0x20, -6, 0x68, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE);
set_window_properties(WINDOW_ID_14, posX, posY, 170, (D_8010D656 * 13) + 26, 0x14, popup_menu_draw_menu_contents, NULL, -1);
set_window_properties(WINDOW_ID_15, 32, -6, 104, 16, 0x15, popup_menu_draw_title_contents, NULL, WINDOW_ID_14);
set_window_update(WINDOW_ID_15, WINDOW_UPDATE_SHOW);
set_window_update(WINDOW_ID_17, WINDOW_UPDATE_HIDE);
break;
case POPUP_MENU_TAKE_FROM_CHEST:
set_window_properties(WINDOW_ID_14, posX, posY, 0x91, (D_8010D656 * 13) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1);
set_window_properties(WINDOW_ID_15, 0xC, -6, 0x79, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE);
set_window_properties(WINDOW_ID_14, posX, posY, 145, (D_8010D656 * 13) + 26, 0x14, popup_menu_draw_menu_contents, NULL, -1);
set_window_properties(WINDOW_ID_15, 12, -6, 121, 16, 0x15, popup_menu_draw_title_contents, NULL, WINDOW_ID_14);
set_window_update(WINDOW_ID_15, WINDOW_UPDATE_SHOW);
set_window_update(WINDOW_ID_17, WINDOW_UPDATE_HIDE);
break;
case POPUP_MENU_READ_DIARY_PAGE:
set_window_properties(WINDOW_ID_14, posX, posY, 0x80, (D_8010D656 * 13) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1);
set_window_properties(WINDOW_ID_15, 0xC, -6, 0x68, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE);
set_window_properties(WINDOW_ID_14, posX, posY, 128, (D_8010D656 * 13) + 26, 0x14, popup_menu_draw_menu_contents, NULL, -1);
set_window_properties(WINDOW_ID_15, 12, -6, 104, 16, 0x15, popup_menu_draw_title_contents, NULL, WINDOW_ID_14);
set_window_update(WINDOW_ID_15, WINDOW_UPDATE_SHOW);
set_window_update(WINDOW_ID_17, WINDOW_UPDATE_HIDE);
break;
case POPUP_MENU_READ_POSTCARD:
set_window_properties(WINDOW_ID_14, posX, posY, 0x95, (D_8010D656 * 13) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1);
set_window_properties(WINDOW_ID_15, 6, -6, 0x8B, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE);
set_window_properties(WINDOW_ID_14, posX, posY, 149, (D_8010D656 * 13) + 26, 0x14, popup_menu_draw_menu_contents, NULL, -1);
set_window_properties(WINDOW_ID_15, 6, -6, 139, 16, 0x15, popup_menu_draw_title_contents, NULL, WINDOW_ID_14);
set_window_update(WINDOW_ID_15, WINDOW_UPDATE_SHOW);
set_window_update(WINDOW_ID_17, WINDOW_UPDATE_HIDE);
break;
case POPUP_MENU_POST_OFFICE:
set_window_properties(WINDOW_ID_14, posX, posY, 0x83, (D_8010D656 * 13) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1);
set_window_properties(WINDOW_ID_17, 0xA, -6, 0x72, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE);
set_window_properties(WINDOW_ID_14, posX, posY, 131, (D_8010D656 * 13) + 26, 0x14, popup_menu_draw_menu_contents, NULL, -1);
set_window_properties(WINDOW_ID_17, 10, -6, 114, 16, 0x15, popup_menu_draw_title_contents, NULL, WINDOW_ID_14);
set_window_update(WINDOW_ID_15, WINDOW_UPDATE_HIDE);
set_window_update(WINDOW_ID_17, WINDOW_UPDATE_SHOW);
break;
@ -452,15 +453,15 @@ s32 popup_menu_update(void) {
switch (gPopupMenu->popupType) {
case POPUP_MENU_TRADE_FOR_BADGE:
set_window_properties(WINDOW_ID_16, 0x7E, -0xE, 0x20, 0x20, 0x15, func_800F4C6C, NULL, 0xE);
set_window_properties(WINDOW_ID_16, 126, -14, 32, 32, 0x15, func_800F4C6C, NULL, WINDOW_ID_14);
break;
case POPUP_MENU_SELL_ITEM:
set_window_properties(WINDOW_ID_16, 0x83, -0xE, 0x20, 0x20, 0x15, func_800F4C6C, NULL, 0xE);
set_window_properties(WINDOW_ID_16, 131, -14, 32, 32, 0x15, func_800F4C6C, NULL, WINDOW_ID_14);
break;
}
if (gPopupMenu->popupType == POPUP_MENU_TRADE_FOR_BADGE) {
set_window_properties(WINDOW_ID_20, D_8010D688, D_8010D68A, 0x40, 0x14, 0x15, func_800F4D28, NULL, -1);
set_window_properties(WINDOW_ID_20, D_8010D688, D_8010D68A, 64, 20, 0x15, func_800F4D28, NULL, -1);
}
do {
@ -483,7 +484,7 @@ s32 popup_menu_update(void) {
if (gPopupMenu->popupType >= POPUP_MENU_USE_ITEM
&& (gPopupMenu->popupType < POPUP_MENU_READ_DIARY_PAGE || gPopupMenu->popupType == POPUP_MENU_USEKEY))
{
set_window_properties(WINDOW_ID_19, D_8010D680, D_8010D682, 0x118, 0x20, 0x14, func_800F48F4, NULL, -1);
set_window_properties(WINDOW_ID_19, D_8010D680, D_8010D682, 280, 32, 0x14, func_800F48F4, NULL, -1);
}
posX = D_8010D684;
@ -494,26 +495,26 @@ s32 popup_menu_update(void) {
case POPUP_MENU_CLAIM_ITEM:
case POPUP_MENU_TAKE_FROM_CHEST:
case POPUP_MENU_USEKEY:
set_window_properties(WINDOW_ID_21, posX, posY, 0x90, 0x20, 0x14, func_800F4944, NULL, -1);
set_window_properties(WINDOW_ID_21, posX, posY, 144, 32, 0x14, func_800F4944, NULL, -1);
break;
case POPUP_MENU_SWITCH_PARTNER:
case POPUP_MENU_THROW_AWAY_ITEM:
case POPUP_MENU_POST_OFFICE:
set_window_properties(WINDOW_ID_21, posX, posY, 0x90, 0x28, 0x14, func_800F4944, NULL, -1);
set_window_properties(WINDOW_ID_21, posX, posY, 144, 40, 0x14, func_800F4944, NULL, -1);
break;
case POPUP_MENU_TRADE_FOR_BADGE:
case POPUP_MENU_READ_DIARY_PAGE:
case POPUP_MENU_READ_POSTCARD:
set_window_properties(WINDOW_ID_21, posX, posY, 0x80, 0x28, 0x14, func_800F4944, NULL, -1);
set_window_properties(WINDOW_ID_21, posX, posY, 128, 40, 0x14, func_800F4944, NULL, -1);
break;
case POPUP_MENU_UPGRADE_PARTNER:
set_window_properties(WINDOW_ID_21, posX, posY, 0x88, 0x28, 0x14, func_800F4944, NULL, -1);
set_window_properties(WINDOW_ID_21, posX, posY, 136, 40, 0x14, func_800F4944, NULL, -1);
break;
case POPUP_MENU_READ_LETTER:
set_window_properties(WINDOW_ID_21, posX, posY, 0x70, 0x28, 0x14, func_800F4944, NULL, -1);
set_window_properties(WINDOW_ID_21, posX, posY, 112, 40, 0x14, func_800F4944, NULL, -1);
break;
case POPUP_MENU_SELL_ITEM:
set_window_properties(WINDOW_ID_21, posX, posY, 0x78, 0x20, 0x14, func_800F4944, NULL, -1);
set_window_properties(WINDOW_ID_21, posX, posY, 120, 32, 0x14, func_800F4944, NULL, -1);
break;
}
@ -847,7 +848,7 @@ s32 popup_menu_update(void) {
if (D_8010D68E) {
set_window_update(WINDOW_ID_21, WINDOW_UPDATE_HIDE);
}
width = get_msg_width(0x1D006B, 0) + 23;
width = get_msg_width(MSG_Menus_006B, 0) + 23;
set_window_properties(WINDOW_ID_9, 160 - (width / 2), 0x50, width, 0x28, 0x14, func_800F4CF0, NULL, -1);
set_window_update(WINDOW_ID_9, WINDOW_UPDATE_SHOW);
D_8010D644 = 0x3C;
@ -920,9 +921,9 @@ s32 popup_menu_update(void) {
D_8010D690 = MSG_PAL_0D;
if (D_8010D699 == 1) {
msgID = 0x1D0068;
msgID = MSG_Menus_0068;
} else {
msgID = 0x1D0069;
msgID = MSG_Menus_0069;
}
width = get_msg_width(msgID, 0) + 23;
set_window_properties(WINDOW_ID_21, 160 - (width / 2), 76, width, 32, 0x13, func_800F4C1C, NULL, -1);
@ -1197,7 +1198,7 @@ block_14:
}
set_message_value(gPopupMenu->userIndex[i] + 1, 0);
draw_msg(0x1D00CD, x + 8, var_s1_3, D_8010D650, s0, 1);
draw_msg(MSG_Menus_00CD, x + 8, var_s1_3, D_8010D650, s0, 1);
break;
case 11:
if (gPopupMenu->value[i] != 0) {
@ -1443,48 +1444,48 @@ void popup_menu_draw_title_contents(
{
switch (gPopupMenu->popupType) {
case POPUP_MENU_USE_ITEM:
case POPUP_MENU_THROW_AWAY_ITEM:
case POPUP_MENU_SELL_ITEM:
case POPUP_MENU_CHECK_ITEM:
case POPUP_MENU_CLAIM_ITEM:
switch (gPopupMenu->unk_31C) {
case POPUP_MENU_THROW_AWAY_ITEM:
switch (gPopupMenu->dipMode) {
case 0:
draw_msg(0x1D003F, baseX + 26, baseY + 2, D_8010D650, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
draw_msg(MSG_Menus_Items, baseX + 26, baseY + 2, D_8010D650, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
break;
case 1:
draw_msg(0x1D0041, baseX + 4, baseY + 2, D_8010D650, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
draw_number(gPopupMenu->unk_320, baseX + 94, baseY + 2, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_32, D_8010D650, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT);
draw_msg(MSG_Menus_DoubleDip, baseX + 4, baseY + 2, D_8010D650, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
draw_number(gPopupMenu->titleNumber, baseX + 94, baseY + 2, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_32, D_8010D650, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT);
draw_number(2, baseX + 114, baseY + 2, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_32, D_8010D650, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT);
break;
case 2:
draw_msg(0x1D0042, baseX + 6, baseY + 2, D_8010D650, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
draw_number(gPopupMenu->unk_320, baseX + 94, baseY + 2, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_32, D_8010D650, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT);
draw_msg(MSG_Menus_TripleDip, baseX + 6, baseY + 2, D_8010D650, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
draw_number(gPopupMenu->titleNumber, baseX + 94, baseY + 2, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_32, D_8010D650, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT);
draw_number(3, baseX + 114, baseY + 2, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_32, D_8010D650, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT);
break;
}
break;
case POPUP_MENU_TRADE_FOR_BADGE:
draw_msg(0x1F0032, baseX + 27, baseY + 2, D_8010D650, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
draw_msg(MSG_MenuTip_0032, baseX + 27, baseY + 2, D_8010D650, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
break;
case POPUP_MENU_READ_LETTER:
draw_msg(0x1F0033, baseX + 23, baseY + 2, D_8010D650, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
draw_msg(MSG_MenuTip_0033, baseX + 23, baseY + 2, D_8010D650, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
break;
case POPUP_MENU_TAKE_FROM_CHEST:
draw_msg(0x1D00D7, baseX + 4, baseY + 2, D_8010D650, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
draw_msg(MSG_Menus_00D7, baseX + 4, baseY + 2, D_8010D650, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
break;
case POPUP_MENU_READ_DIARY_PAGE:
draw_msg(0x1D00CE, baseX + 8, baseY + 2, D_8010D650, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
draw_msg(MSG_Menus_00CE, baseX + 8, baseY + 2, D_8010D650, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
break;
case POPUP_MENU_READ_POSTCARD:
draw_msg(0x1D00D0, baseX + 6, baseY + 2, D_8010D650, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
draw_msg(MSG_Menus_00D0, baseX + 6, baseY + 2, D_8010D650, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
break;
case POPUP_MENU_USEKEY:
draw_msg(0x1D003F, baseX + 27, baseY + 2, D_8010D650, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
draw_msg(MSG_Menus_Items, baseX + 27, baseY + 2, D_8010D650, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
break;
case POPUP_MENU_SWITCH_PARTNER:
case POPUP_MENU_UPGRADE_PARTNER:
case POPUP_MENU_POST_OFFICE:
draw_msg(0x1D003D, baseX + 8, baseY + 2, D_8010D650, MSG_PAL_34, DRAW_MSG_STYLE_MENU);
draw_msg(MSG_Menus_PartyMember, baseX + 8, baseY + 2, D_8010D650, MSG_PAL_34, DRAW_MSG_STYLE_MENU);
break;
}
}
@ -1501,86 +1502,86 @@ void func_800F4944(s32* userData, s32 baseX, s32 baseY, s32 width, s32 height, s
if (D_8010D68E) {
switch (gPopupMenu->popupType) {
case POPUP_MENU_USE_ITEM:
msgWidth = get_msg_width(0x1D0061, 0);
msgWidth = get_msg_width(MSG_Menus_0061, 0);
baseX += 72 - (msgWidth / 2);
draw_msg(0x1D0061, baseX, baseY, 255, MSG_PAL_0F, 0);
draw_msg(MSG_Menus_0061, baseX, baseY, 255, MSG_PAL_0F, 0);
break;
case POPUP_MENU_SWITCH_PARTNER:
msgWidth = get_msg_width(0x1D0063, 0);
msgWidth = get_msg_width(MSG_Menus_0063, 0);
baseX += 72 - (msgWidth / 2);
draw_msg(0x1D0063, baseX, baseY - 4, 255, MSG_PAL_0F, 0);
draw_msg(MSG_Menus_0063, baseX, baseY - 4, 255, MSG_PAL_0F, 0);
break;
case POPUP_MENU_THROW_AWAY_ITEM:
msgWidth = get_msg_width(0x1D0064, 0);
msgWidth = get_msg_width(MSG_Menus_0064, 0);
baseX += 72 - (msgWidth / 2);
draw_msg(0x1D0064, baseX, baseY - 4, 255, MSG_PAL_0F, 0);
draw_msg(MSG_Menus_0064, baseX, baseY - 4, 255, MSG_PAL_0F, 0);
break;
case POPUP_MENU_TRADE_FOR_BADGE:
msgWidth = get_msg_width(0x1D0070, 0);
msgWidth = get_msg_width(MSG_Menus_0070, 0);
baseX += 64 - (msgWidth / 2);
draw_msg(0x1D0070, baseX, baseY - 4, 255, MSG_PAL_0F, 0);
draw_msg(MSG_Menus_0070, baseX, baseY - 4, 255, MSG_PAL_0F, 0);
break;
case POPUP_MENU_UPGRADE_PARTNER:
msgWidth = get_msg_width(0x1D006A, 0);
msgWidth = get_msg_width(MSG_Menus_006A, 0);
baseX += 68 - (msgWidth / 2);
draw_msg(0x1D006A, baseX, baseY - 4, 255, MSG_PAL_0F, 0);
draw_msg(MSG_Menus_006A, baseX, baseY - 4, 255, MSG_PAL_0F, 0);
break;
case POPUP_MENU_SELL_ITEM:
msgWidth = get_msg_width(0x1D0065, 0);
msgWidth = get_msg_width(MSG_Menus_0065, 0);
baseX += 60 - (msgWidth / 2);
draw_msg(0x1D0065, baseX, baseY, 255, MSG_PAL_0F, 0);
draw_msg(MSG_Menus_0065, baseX, baseY, 255, MSG_PAL_0F, 0);
break;
case POPUP_MENU_CHECK_ITEM:
msgWidth = get_msg_width(0x1D0066, 0);
msgWidth = get_msg_width(MSG_Menus_0066, 0);
baseX += 72 - (msgWidth / 2);
draw_msg(0x1D0066, baseX, baseY, 255, MSG_PAL_0F, 0);
draw_msg(MSG_Menus_0066, baseX, baseY, 255, MSG_PAL_0F, 0);
break;
case POPUP_MENU_CLAIM_ITEM:
msgWidth = get_msg_width(0x1D0067, 0);
msgWidth = get_msg_width(MSG_Menus_0067, 0);
baseX += 72 - (msgWidth / 2);
draw_msg(0x1D0067, baseX, baseY, 255, MSG_PAL_0F, 0);
draw_msg(MSG_Menus_0067, baseX, baseY, 255, MSG_PAL_0F, 0);
break;
case POPUP_MENU_POST_OFFICE:
msgWidth = get_msg_width(0x1D006F, 0);
msgWidth = get_msg_width(MSG_Menus_006F, 0);
baseX += 72 - (msgWidth / 2);
draw_msg(0x1D006F, baseX, baseY - 4, 255, MSG_PAL_0F, 0);
draw_msg(MSG_Menus_006F, baseX, baseY - 4, 255, MSG_PAL_0F, 0);
break;
case POPUP_MENU_READ_LETTER:
msgWidth = get_msg_width(0x1D006D, 0);
msgWidth = get_msg_width(MSG_Menus_006D, 0);
baseX += 56 - (msgWidth / 2);
draw_msg(0x1D006D, baseX, baseY - 4, 255, MSG_PAL_0F, 0);
draw_msg(MSG_Menus_006D, baseX, baseY - 4, 255, MSG_PAL_0F, 0);
break;
case POPUP_MENU_TAKE_FROM_CHEST:
msgWidth = get_msg_width(0x1D00D6, 0);
msgWidth = get_msg_width(MSG_Menus_00D6, 0);
baseX += 72 - (msgWidth / 2);
draw_msg(0x1D00D6, baseX, baseY, 255, MSG_PAL_0F, 0);
draw_msg(MSG_Menus_00D6, baseX, baseY, 255, MSG_PAL_0F, 0);
break;
case POPUP_MENU_READ_DIARY_PAGE:
msgWidth = get_msg_width(0x1D006C, 0);
msgWidth = get_msg_width(MSG_Menus_006C, 0);
baseX += 64 - (msgWidth / 2);
draw_msg(0x1D006C, baseX, baseY - 4, 255, MSG_PAL_0F, 0);
draw_msg(MSG_Menus_006C, baseX, baseY - 4, 255, MSG_PAL_0F, 0);
break;
case POPUP_MENU_READ_POSTCARD:
msgWidth = get_msg_width(0x1D006D, 0);
msgWidth = get_msg_width(MSG_Menus_006D, 0);
baseX += 64 - (msgWidth / 2);
draw_msg(0x1D006D, baseX, baseY - 4, 255, MSG_PAL_0F, 0);
draw_msg(MSG_Menus_006D, baseX, baseY - 4, 255, MSG_PAL_0F, 0);
break;
case POPUP_MENU_USEKEY:
msgWidth = get_msg_width(0x1D0062, 0);
msgWidth = get_msg_width(MSG_Menus_0062, 0);
baseX += 72 - (msgWidth / 2);
draw_msg(0x1D0062, baseX, baseY, 255, MSG_PAL_0F, 0);
draw_msg(MSG_Menus_0062, baseX, baseY, 255, MSG_PAL_0F, 0);
break;
}
}
}
void func_800F4C1C(PopupMessage* popup, s32 x, s32 y) {
s32 msg = 0x1D0069;
s32 msg = MSG_Menus_0069;
s32 xPos = x + 11;
s32 yPos = y + 8;
if (D_8010D699 == 1) {
msg = 0x1D0068;
msg = MSG_Menus_0068;
}
draw_msg(msg, xPos, yPos, 255, MSG_PAL_0F, 0);
}
@ -1611,7 +1612,7 @@ void func_800F4C6C(PopupMessage* popup, s32 x, s32 y) {
}
void func_800F4CF0(PopupMessage* popup, s32 x, s32 y) {
draw_msg(0x1D006B, x + 16, y + 2, 255, MSG_PAL_0F, 0);
draw_msg(MSG_Menus_006B, x + 16, y + 2, 255, MSG_PAL_0F, 0);
}
void func_800F4D28(PopupMessage* popup, s32 x, s32 y) {
@ -1652,15 +1653,15 @@ void create_popup_menu(PopupMenu* popup) {
open_status_menu_short();
gPopupMenu = popup;
popup->result = 0;
popup->unk_31C = 0;
popup->unk_320 = 0;
popup->dipMode = 0;
popup->titleNumber = 0;
D_8010D699 = 0;
D_8010D698 = 1;
if (popup->popupType >= 100) {
popup->popupType -= 100;
if (popup->popupType >= POPUP_MENU_DOUBLE_DIP) {
popup->popupType -= POPUP_MENU_DOUBLE_DIP;
D_8010D699 = 1;
if (popup->popupType >= 100) {
popup->popupType -= 100;
if (popup->popupType >= POPUP_MENU_DOUBLE_DIP) {
popup->popupType -= POPUP_MENU_DOUBLE_DIP;
D_8010D699 = 2;
}
D_8010D698 = 0;
@ -1700,16 +1701,16 @@ void func_800F4FC4(PopupMenu* popup) {
gPopupMenu = popup;
popup->result = 0;
popup->unk_31C = 0;
popup->unk_320 = 0;
popup->dipMode = 0;
popup->titleNumber = 0;
D_8010D69A = func_800E98D4();
D_8010D699 = 0;
D_8010D698 = 1;
if (gPopupMenu->popupType >= 100) {
gPopupMenu->popupType -= 100;
if (gPopupMenu->popupType >= POPUP_MENU_DOUBLE_DIP) {
gPopupMenu->popupType -= POPUP_MENU_DOUBLE_DIP;
D_8010D699 = 1;
if (gPopupMenu->popupType >= 100) {
gPopupMenu->popupType -= 100;
if (gPopupMenu->popupType >= POPUP_MENU_DOUBLE_DIP) {
gPopupMenu->popupType -= POPUP_MENU_DOUBLE_DIP;
D_8010D699 = 2;
}
D_8010D698 = 0;
@ -1745,15 +1746,15 @@ void func_800F513C(PopupMenu* popup) {
gPopupMenu = popup;
popup->result = 0;
D_8010D693 = popup->unk_320;
D_8010D693 = popup->titleNumber;
D_8010D69A = func_800E98D4();
D_8010D699 = 0;
D_8010D698 = 1;
if (gPopupMenu->popupType >= 100) {
gPopupMenu->popupType -= 100;
if (gPopupMenu->popupType >= POPUP_MENU_DOUBLE_DIP) {
gPopupMenu->popupType -= POPUP_MENU_DOUBLE_DIP;
D_8010D699 = 1;
if (gPopupMenu->popupType >= 100) {
gPopupMenu->popupType -= 100;
if (gPopupMenu->popupType >= POPUP_MENU_DOUBLE_DIP) {
gPopupMenu->popupType -= POPUP_MENU_DOUBLE_DIP;
D_8010D699 = 2;
}
D_8010D698 = 0;

View File

@ -2157,15 +2157,15 @@ ApiStatus func_8026DF88(Evt* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
ApiStatus func_8026E020(Evt* script, s32 isInitialCall) {
ApiStatus SetBattleMenuDisableFlags(Evt* script, s32 isInitialCall) {
s32 flagsValue = *script->ptrReadPos;
gBattleStatus.menuDisableFlags = flagsValue;
return ApiStatus_DONE2;
}
ApiStatus func_8026E038(Evt* script, s32 isInitialCall) {
gBattleStatus.unk_74 = *script->ptrReadPos;
ApiStatus SetEnabledStarPowers(Evt* script, s32 isInitialCall) {
gBattleStatus.enabledStarPowersMask = *script->ptrReadPos;
return ApiStatus_DONE2;
}

View File

@ -99,7 +99,7 @@ ApiStatus LoadActionCommand(Evt* script, s32 isInitialCall) {
}
s32 adjust_action_command_difficulty(s32 arg0) {
if (!(gBattleStatus.flags1 & BS_FLAGS1_80000)) {
if (!(gBattleStatus.flags1 & BS_FLAGS1_PARTNER_ACTING)) {
arg0 -= is_ability_active(ABILITY_DODGE_MASTER) * 3;
}
@ -259,12 +259,12 @@ void action_command_init_status(void) {
actionCommandStatus->autoSucceed = FALSE;
actionCommandStatus->berserkerEnabled = FALSE;
if (!(gBattleStatus.flags1 & BS_FLAGS1_80000)) {
if (!(gBattleStatus.flags1 & BS_FLAGS1_PARTNER_ACTING)) {
if (is_ability_active(ABILITY_RIGHT_ON)) {
actionCommandStatus->autoSucceed = TRUE;
}
if (!(gBattleStatus.flags1 & BS_FLAGS1_80000) && is_ability_active(ABILITY_BERSERKER)) {
if (!(gBattleStatus.flags1 & BS_FLAGS1_PARTNER_ACTING) && is_ability_active(ABILITY_BERSERKER)) {
actionCommandStatus->showHud = FALSE;
actionCommandStatus->berserkerEnabled = TRUE;
@ -548,7 +548,7 @@ s32 check_block_input(s32 buttonMask) {
battleStatus->blockResult = 0; // Fail
if (battleStatus->actionCommandMode == ACTION_COMMAND_MODE_TUTORIAL_BLOCK && (battleStatus->flags1 & BS_FLAGS1_2000000)) {
if (battleStatus->actionCommandMode == ACTION_COMMAND_MODE_TUTORIAL_BLOCK && (battleStatus->flags1 & BS_FLAGS1_TUTORIAL_BATTLE)) {
battleStatus->blockResult = 1;
return TRUE;
}
@ -568,7 +568,7 @@ s32 check_block_input(s32 buttonMask) {
blockWindow = 3;
mashWindow = 10;
if (!(gBattleStatus.flags1 & BS_FLAGS1_80000) && is_ability_active(ABILITY_DODGE_MASTER)) {
if (!(gBattleStatus.flags1 & BS_FLAGS1_PARTNER_ACTING) && is_ability_active(ABILITY_DODGE_MASTER)) {
blockWindow = 5;
}

View File

@ -279,7 +279,7 @@ EvtScript N(80224414) = {
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C)
EVT_CALL(MoveBattleCamOver, 25)
EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_DMG_APPLY, 1)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_DISABLE_CELEBRATION | BS_FLAGS1_ENEMY_FLED, 1)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_DISABLE_CELEBRATION | BS_FLAGS1_BATTLE_FLED, 1)
EVT_CALL(func_8026F60C, 20)
EVT_RETURN
EVT_END

View File

@ -341,7 +341,7 @@ EvtScript N(takeTurn_80219750) = {
EVT_CALL(GetActorVar, ACTOR_SELF, 2, LVar0)
EVT_KILL_THREAD(LVar0)
EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_DMG_APPLY, 1)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_DISABLE_CELEBRATION | BS_FLAGS1_ENEMY_FLED, 1)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_DISABLE_CELEBRATION | BS_FLAGS1_BATTLE_FLED, 1)
EVT_CALL(func_8026F60C, 10)
EVT_RETURN
EVT_END_IF

View File

@ -213,7 +213,7 @@ EvtScript N(takeTurn) = {
EVT_CALL(GetActorVar, ACTOR_SELF, 2, LVar0)
EVT_KILL_THREAD(LVar0)
EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_DMG_APPLY, 1)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_DISABLE_CELEBRATION | BS_FLAGS1_ENEMY_FLED, 1)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_DISABLE_CELEBRATION | BS_FLAGS1_BATTLE_FLED, 1)
EVT_CALL(func_8026F60C, 10)
EVT_RETURN
EVT_END_IF

View File

@ -12,7 +12,7 @@ ApiStatus func_80218644_6DE404(Evt* script, s32 isInitialCall) {
battleStatus->moveCategory = BTL_MENU_TYPE_SMASH;
battleStatus->selectedMoveID = MOVE_HAMMER1;
battleStatus->selectedItemID = gCurrentEncounter.hitTier;
battleStatus->moveArgument = gCurrentEncounter.hitTier;
battleStatus->currentTargetListFlags = gMoveTable[MOVE_HAMMER1].flags;
player_create_target_list(player);

View File

@ -10,7 +10,7 @@ ApiStatus func_802186E0_6DE4A0(Evt* script, s32 isInitialCall) {
battleStatus->moveCategory = BTL_MENU_TYPE_JUMP;
battleStatus->selectedMoveID = MOVE_POWER_BOUNCE;
battleStatus->selectedItemID = gCurrentEncounter.hitTier;
battleStatus->moveArgument = gCurrentEncounter.hitTier;
battleStatus->currentTargetListFlags = gMoveTable[MOVE_POWER_BOUNCE].flags;
player_create_target_list(player);

View File

@ -8,8 +8,8 @@ ApiStatus func_80218770_6DE530(Evt* script, s32 isInitialCall) {
Actor* partner = battleStatus->partnerActor;
SelectableTarget* selectableTarget;
battleStatus->moveCategory = BTL_MENU_TYPE_6;
battleStatus->selectedItemID = 0;
battleStatus->moveCategory = BTL_MENU_TYPE_ABILITY;
battleStatus->moveArgument = 0;
battleStatus->selectedMoveID = MOVE_SHELL_SHOT;
battleStatus->currentTargetListFlags = gMoveTable[MOVE_SHELL_SHOT].flags;

View File

@ -10,9 +10,9 @@ ApiStatus func_802187F0_6DE5B0(Evt* script, s32 isInitialCall) {
Actor* player = battleStatus->playerActor;
SelectableTarget* selectableTarget;
battleStatus->moveCategory = BTL_MENU_TYPE_ITEM;
battleStatus->selectedItemID = ITEM_THUNDER_RAGE;
selectedItemID = battleStatus->selectedItemID;
battleStatus->moveCategory = BTL_MENU_TYPE_ITEMS;
battleStatus->moveArgument = ITEM_THUNDER_RAGE;
selectedItemID = battleStatus->moveArgument;
battleStatus->selectedMoveID = 0;
battleStatus->currentAttackElement = 0;
playerData->invItems[0] = selectedItemID;

View File

@ -42,8 +42,8 @@ Stage NAMESPACE = {
.preBattle = &N(beforeBattle),
.postBattle = &N(afterBattle),
.foregroundModelList = N(foregroundModelList),
.specialFormationSize = 4,
.specialFormation = &N(formation_slot_machine),
.stageEnemyCount = 4,
.stageFormation = &N(formation_slot_machine),
};
Vec3i N(slot_machine_pos1) = { -49, 56, -68 };

View File

@ -352,7 +352,7 @@ EvtScript N(flee) = {
EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
EVT_CALL(EnableActorBlur, ACTOR_SELF, 0)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_ENEMY_FLED, 1)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_BATTLE_FLED, 1)
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
EVT_CALL(RemoveActor, ACTOR_SELF)
EVT_RETURN

View File

@ -345,7 +345,7 @@ EvtScript N(flee) = {
EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
EVT_CALL(EnableActorBlur, ACTOR_SELF, 0)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_ENEMY_FLED, 1)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_BATTLE_FLED, 1)
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
EVT_CALL(RemoveActor, ACTOR_SELF)
EVT_RETURN

View File

@ -4,6 +4,7 @@
#include "battle/action_cmd/jump.h"
#include "battle/action_cmd.h"
#include "sprite/npc/BattleGoombario.h"
#include "sprite/npc/Twink.h"
#define NAMESPACE b_area_hos_goombario_tutor
@ -99,7 +100,7 @@ EvtScript N(init_80219160) = {
EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_80219444)))
EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_802191D0)))
EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_802191E0)))
EVT_CALL(SetActorVar, -127, 0, 1)
EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1)
EVT_EXEC(N(80219C74))
EVT_RETURN
EVT_END
@ -283,7 +284,7 @@ ApiStatus func_80218000_47F0B0(Evt* script, s32 isInitialCall) {
}
EvtScript N(80219C74) = {
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_2000000, 1)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_TUTORIAL_BATTLE, 1)
EVT_CALL(func_802535B4, 0)
EVT_CALL(WaitForState, BATTLE_STATE_PLAYER_MENU)
EVT_WAIT(15)
@ -294,9 +295,9 @@ EvtScript N(80219C74) = {
EVT_CALL(SetGoalPos, ACTOR_PARTNER, LVar0, LVar1, LVar2)
EVT_CALL(JumpToGoal, ACTOR_PARTNER, 10, FALSE, FALSE, FALSE)
EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, FALSE)
EVT_CALL(ActorSpeak, MSG_HOS_0019, 256, 1, 2097161, 2097157)
EVT_CALL(ActorSpeak, MSG_HOS_0019, ACTOR_PARTNER, 1, ANIM_Twink_Talk, ANIM_Twink_Fly)
EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, TRUE)
EVT_CALL(func_8026E020, 1)
EVT_CALL(SetBattleMenuDisableFlags, BTL_MENU_DISABLED_JUMP)
EVT_CALL(SetActionCommandMode, ACTION_COMMAND_MODE_TUTORIAL)
EVT_CALL(WaitForState, BATTLE_STATE_PLAYER_MOVE)
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C)
@ -304,7 +305,7 @@ EvtScript N(80219C74) = {
EVT_CALL(SetGoalPos, ACTOR_PARTNER, -73, 40, 202)
EVT_CALL(FlyToGoal, ACTOR_PARTNER, 20, 20, 10)
EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, FALSE)
EVT_CALL(ActorSpeak, MSG_HOS_001A, 256, 1, 2097161, 2097157)
EVT_CALL(ActorSpeak, MSG_HOS_001A, ACTOR_PARTNER, 1, ANIM_Twink_Talk, ANIM_Twink_Fly)
EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, TRUE)
EVT_CALL(SetActionCommandMode, ACTION_COMMAND_MODE_LEARNED)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_4000, 0)
@ -320,7 +321,7 @@ EvtScript N(80219C74) = {
EVT_CALL(FlyToGoal, ACTOR_PARTNER, 20, 20, 10)
EVT_CALL(SetActionCommandMode, ACTION_COMMAND_MODE_TUTORIAL)
EVT_CALL(WaitForState, BATTLE_STATE_0)
EVT_CALL(SetBattleFlagBits2, 512, 1)
EVT_CALL(SetBattleFlagBits2, BS_FLAGS2_200, 1)
EVT_LOOP(0)
EVT_CALL(GetActionCommandMode, LVar0)
EVT_IF_NE(LVar0, ACTION_COMMAND_MODE_TUTORIAL)
@ -329,22 +330,22 @@ EvtScript N(80219C74) = {
EVT_WAIT(1)
EVT_END_LOOP
EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, FALSE)
EVT_CALL(ActorSpeak, MSG_HOS_001B, 256, 1, 2097161, 2097157)
EVT_CALL(ActorSpeak, MSG_HOS_001B, ACTOR_PARTNER, 1, ANIM_Twink_Talk, ANIM_Twink_Fly)
EVT_LOOP(0)
EVT_CALL(CheckButtonDown, 32768, LVar0)
EVT_CALL(CheckButtonDown, BUTTON_A, LVar0)
EVT_IF_EQ(LVar0, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_WAIT(1)
EVT_END_LOOP
EVT_LOOP(0)
EVT_CALL(CheckButtonPress, 32768, LVar0)
EVT_CALL(CheckButtonPress, BUTTON_A, LVar0)
EVT_IF_EQ(LVar0, 1)
EVT_BREAK_LOOP
EVT_END_IF
EVT_WAIT(1)
EVT_END_LOOP
EVT_CALL(EndActorSpeech, 256, 1, 2097161, 2097157)
EVT_CALL(EndActorSpeech, 256, 1, ANIM_Twink_Talk, ANIM_Twink_Fly)
EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, TRUE)
EVT_CALL(SetActionSuccess, 1)
EVT_CALL(SetActionCommandMode, ACTION_COMMAND_MODE_LEARNED)
@ -352,13 +353,13 @@ EvtScript N(80219C74) = {
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C)
EVT_WAIT(15)
EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, FALSE)
EVT_CALL(ActorSpeak, MSG_HOS_001D, 256, 1, 2097161, 2097157)
EVT_CALL(ActorSpeak, MSG_HOS_001D, 256, 1, ANIM_Twink_Talk, ANIM_Twink_Fly)
EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, TRUE)
EVT_CALL(WaitForState, BATTLE_STATE_9)
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C)
EVT_WAIT(15)
EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, FALSE)
EVT_CALL(ActorSpeak, MSG_HOS_001E, 512, 1, 589839, 589825)
EVT_CALL(ActorSpeak, MSG_HOS_001E, BS_FLAGS2_200, 1, ANIM_BattleGoombario_Talk, ANIM_BattleGoombario_Idle)
EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, TRUE)
EVT_CALL(SetActionCommandMode, ACTION_COMMAND_MODE_TUTORIAL)
EVT_CALL(WaitForState, BATTLE_STATE_0)
@ -370,22 +371,22 @@ EvtScript N(80219C74) = {
EVT_WAIT(1)
EVT_END_LOOP
EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, FALSE)
EVT_CALL(ActorSpeak, MSG_HOS_001F, 256, 1, 2097161, 2097157)
EVT_CALL(ActorSpeak, MSG_HOS_001F, ACTOR_PARTNER, 1, ANIM_Twink_Talk, ANIM_Twink_Fly)
EVT_LOOP(0)
EVT_CALL(CheckButtonDown, 32768, LVar0)
EVT_CALL(CheckButtonDown, BUTTON_A, LVar0)
EVT_IF_EQ(LVar0, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_WAIT(1)
EVT_END_LOOP
EVT_LOOP(0)
EVT_CALL(CheckButtonPress, 32768, LVar0)
EVT_CALL(CheckButtonPress, BUTTON_A, LVar0)
EVT_IF_EQ(LVar0, 1)
EVT_BREAK_LOOP
EVT_END_IF
EVT_WAIT(1)
EVT_END_LOOP
EVT_CALL(EndActorSpeech, 256, 1, 2097161, 2097157)
EVT_CALL(EndActorSpeech, ACTOR_PARTNER, 1, ANIM_Twink_Talk, ANIM_Twink_Fly)
EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, TRUE)
EVT_CALL(SetActionSuccess, 1)
EVT_CALL(SetActionCommandMode, ACTION_COMMAND_MODE_TUTORIAL_BLOCK)
@ -394,14 +395,14 @@ EvtScript N(80219C74) = {
EVT_WAIT(15)
EVT_CALL(SetActionCommandMode, ACTION_COMMAND_MODE_LEARNED)
EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, FALSE)
EVT_CALL(ActorSpeak, MSG_HOS_0020, 256, 1, 2097161, 2097157)
EVT_CALL(ActorSpeak, MSG_HOS_0020, ACTOR_PARTNER, 1, ANIM_Twink_Talk, ANIM_Twink_Fly)
EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, TRUE)
EVT_CALL(WaitForState, BATTLE_STATE_PLAYER_MENU)
EVT_CALL(func_8026E020, 2)
EVT_CALL(SetBattleMenuDisableFlags, BTL_MENU_DISABLED_SMASH)
EVT_CALL(SetActionCommandMode, ACTION_COMMAND_MODE_TUTORIAL)
EVT_CALL(WaitForState, BATTLE_STATE_PLAYER_MOVE)
EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, FALSE)
EVT_CALL(ActorSpeak, MSG_HOS_0022, 256, 1, 2097161, 2097157)
EVT_CALL(ActorSpeak, MSG_HOS_0022, ACTOR_PARTNER, 1, ANIM_Twink_Talk, ANIM_Twink_Fly)
EVT_LOOP(0)
EVT_CALL(CheckButtonDown, 262144, LVar0)
EVT_IF_EQ(LVar0, 0)
@ -416,7 +417,7 @@ EvtScript N(80219C74) = {
EVT_END_IF
EVT_WAIT(1)
EVT_END_LOOP
EVT_CALL(EndActorSpeech, 256, 1, 2097161, 2097157)
EVT_CALL(EndActorSpeech, ACTOR_PARTNER, 1, ANIM_Twink_Talk, ANIM_Twink_Fly)
EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, TRUE)
EVT_CALL(SetActionCommandMode, ACTION_COMMAND_MODE_LEARNED)
EVT_CALL(WaitForState, BATTLE_STATE_0)
@ -432,7 +433,7 @@ EvtScript N(80219C74) = {
EVT_CALL(SetActionCommandMode, ACTION_COMMAND_MODE_TUTORIAL_BLOCK)
EVT_CALL(PauseTakeTurn, 0)
EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, FALSE)
EVT_CALL(ActorSpeak, MSG_HOS_0023, 256, 1, 2097161, 2097157)
EVT_CALL(ActorSpeak, MSG_HOS_0023, ACTOR_PARTNER, 1, ANIM_Twink_Talk, ANIM_Twink_Fly)
EVT_LOOP(0)
EVT_CALL(CheckButtonPress, 262144, LVar0)
EVT_IF_EQ(LVar0, 1)
@ -440,7 +441,7 @@ EvtScript N(80219C74) = {
EVT_END_IF
EVT_WAIT(1)
EVT_END_LOOP
EVT_CALL(EndActorSpeech, 256, 1, 2097161, 2097157)
EVT_CALL(EndActorSpeech, ACTOR_PARTNER, 1, ANIM_Twink_Talk, ANIM_Twink_Fly)
EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, TRUE)
EVT_CALL(SetActionCommandMode, ACTION_COMMAND_MODE_TUTORIAL)
EVT_CALL(ResumeTakeTurn, 0)
@ -455,7 +456,7 @@ EvtScript N(80219C74) = {
EVT_WAIT(1)
EVT_END_LOOP
EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, FALSE)
EVT_CALL(ActorSpeak, MSG_HOS_0024, 256, 1, 2097161, 2097157)
EVT_CALL(ActorSpeak, MSG_HOS_0024, ACTOR_PARTNER, 1, ANIM_Twink_Talk, ANIM_Twink_Fly)
EVT_LOOP(0)
EVT_CALL(CheckButtonDown, 262144, LVar0)
EVT_IF_EQ(LVar0, 0)
@ -463,7 +464,7 @@ EvtScript N(80219C74) = {
EVT_END_IF
EVT_WAIT(1)
EVT_END_LOOP
EVT_CALL(EndActorSpeech, 256, 1, 2097161, 2097157)
EVT_CALL(EndActorSpeech, ACTOR_PARTNER, 1, ANIM_Twink_Talk, ANIM_Twink_Fly)
EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, TRUE)
EVT_CALL(SetActionSuccess, 1)
EVT_CALL(SetActionCommandMode, ACTION_COMMAND_MODE_LEARNED)
@ -471,24 +472,24 @@ EvtScript N(80219C74) = {
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C)
EVT_WAIT(15)
EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, FALSE)
EVT_CALL(ActorSpeak, MSG_HOS_0025, 256, 1, 2097161, 2097157)
EVT_CALL(ActorSpeak, MSG_HOS_0025, ACTOR_PARTNER, 1, ANIM_Twink_Talk, ANIM_Twink_Fly)
EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, TRUE)
EVT_CALL(SetActorFlagBits, ACTOR_ENEMY0, ACTOR_FLAG_NO_ATTACK, 1)
EVT_CALL(WaitForState, BATTLE_STATE_0)
EVT_CALL(WaitForState, BATTLE_STATE_PLAYER_MENU)
EVT_CALL(ShowBattleChoice, 1966109)
EVT_CALL(EndActorSpeech, 256, 1, 2097161, 2097157)
EVT_CALL(ShowBattleChoice, MSG_Choice_001D)
EVT_CALL(EndActorSpeech, ACTOR_PARTNER, 1, ANIM_Twink_Talk, ANIM_Twink_Fly)
EVT_IF_EQ(LVar0, 1)
EVT_CALL(ActorSpeak, MSG_HOS_0027, 256, 1, 2097161, 2097157)
EVT_CALL(ActorSpeak, MSG_HOS_0027, ACTOR_PARTNER, 1, ANIM_Twink_Talk, ANIM_Twink_Fly)
EVT_GOTO(100)
EVT_END_IF
EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, FALSE)
EVT_CALL(ActorSpeak, MSG_HOS_0028, 256, 1, 2097161, 2097157)
EVT_CALL(ActorSpeak, MSG_HOS_0028, ACTOR_PARTNER, 1, ANIM_Twink_Talk, ANIM_Twink_Fly)
EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, TRUE)
EVT_CALL(SetActorVar, -127, 0, 0)
EVT_CALL(SetBattleFlagBits2, 512, 0)
EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0)
EVT_CALL(SetBattleFlagBits2, BS_FLAGS2_200, 0)
EVT_LABEL(10)
EVT_CALL(func_8026E020, 131)
EVT_CALL(SetBattleMenuDisableFlags, BTL_MENU_DISABLED_JUMP | BTL_MENU_DISABLED_SMASH | BTL_MENU_DISABLED_STRATEGIES)
EVT_CALL(SetActionCommandMode, ACTION_COMMAND_MODE_TUTORIAL)
EVT_CALL(WaitForState, BATTLE_STATE_PLAYER_MOVE)
EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2)
@ -501,14 +502,14 @@ EvtScript N(80219C74) = {
EVT_CALL(func_80269524, LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_EQ(-1)
EVT_CALL(ActorSpeak, MSG_HOS_002A, 256, 1, 2097161, 2097157)
EVT_CALL(ActorSpeak, MSG_HOS_002A, ACTOR_PARTNER, 1, ANIM_Twink_Talk, ANIM_Twink_Fly)
EVT_CASE_EQ(0)
EVT_CALL(ActorSpeak, MSG_HOS_002B, 256, 1, 2097161, 2097157)
EVT_CALL(ActorSpeak, MSG_HOS_002B, ACTOR_PARTNER, 1, ANIM_Twink_Talk, ANIM_Twink_Fly)
EVT_CASE_EQ(1)
EVT_CALL(ActorSpeak, MSG_HOS_0029, 256, 1, 2097161, 2097157)
EVT_CALL(ActorSpeak, MSG_HOS_0029, ACTOR_PARTNER, 1, ANIM_Twink_Talk, ANIM_Twink_Fly)
EVT_END_SWITCH
EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, TRUE)
EVT_CALL(SetEnemyHP, 512, 99)
EVT_CALL(SetEnemyHP, ACTOR_ENEMY0, 99)
EVT_CALL(SetActorFlagBits, ACTOR_ENEMY0, ACTOR_FLAG_NO_ATTACK, 0)
EVT_CALL(SetActionCommandMode, ACTION_COMMAND_MODE_LEARNED)
EVT_CALL(WaitForState, BATTLE_STATE_END_TURN)
@ -516,18 +517,18 @@ EvtScript N(80219C74) = {
EVT_CALL(GetBlockResult, LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_EQ(-1)
EVT_CALL(ActorSpeak, MSG_HOS_002A, 256, 1, 2097161, 2097157)
EVT_CALL(ActorSpeak, MSG_HOS_002A, ACTOR_PARTNER, 1, ANIM_Twink_Talk, ANIM_Twink_Fly)
EVT_CASE_EQ(0)
EVT_CALL(ActorSpeak, MSG_HOS_002B, 256, 1, 2097161, 2097157)
EVT_CALL(ActorSpeak, MSG_HOS_002B, ACTOR_PARTNER, 1, ANIM_Twink_Talk, ANIM_Twink_Fly)
EVT_CASE_EQ(1)
EVT_CALL(ActorSpeak, MSG_HOS_0029, 256, 1, 2097161, 2097157)
EVT_CALL(ActorSpeak, MSG_HOS_0029, ACTOR_PARTNER, 1, ANIM_Twink_Talk, ANIM_Twink_Fly)
EVT_END_SWITCH
EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, TRUE)
EVT_CALL(WaitForState, BATTLE_STATE_PLAYER_MENU)
EVT_GOTO(10)
EVT_LABEL(99)
EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, FALSE)
EVT_CALL(ActorSpeak, MSG_HOS_002C, 256, 1, 2097161, 2097157)
EVT_CALL(ActorSpeak, MSG_HOS_002C, ACTOR_PARTNER, 1, ANIM_Twink_Talk, ANIM_Twink_Fly)
EVT_LABEL(100)
EVT_CALL(WaitForState, BATTLE_STATE_0)
EVT_CALL(SetBattleState, 30)

View File

@ -219,17 +219,17 @@ EvtScript N(idle_8021D774) = {
EvtScript N(8021D784) = {
EVT_CALL(GetBattleFlags, LVar0)
EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_80000)
EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_PARTNER_ACTING)
EVT_IF_FLAG(LVar0, BS_FLAGS1_200 | BS_FLAGS1_40)
EVT_CALL(SetActorVar, -127, 2, 1)
EVT_END_IF
EVT_ELSE
EVT_CALL(N(GetSelectedMoveID), LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_OR_EQ(131)
EVT_CASE_OR_EQ(132)
EVT_CASE_OR_EQ(133)
EVT_CASE_OR_EQ(136)
EVT_CASE_OR_EQ(MOVE_HEADBONK1)
EVT_CASE_OR_EQ(MOVE_HEADBONK2)
EVT_CASE_OR_EQ(MOVE_HEADBONK3)
EVT_CASE_OR_EQ(MOVE_MULTIBONK)
EVT_CALL(GetBattleFlags, LVar0)
EVT_IF_FLAG(LVar0, BS_FLAGS1_200 | BS_FLAGS1_40)
EVT_CALL(SetActorVar, -127, 2, 1)

View File

@ -405,7 +405,7 @@ EvtScript N(handleEvent_80219050) = {
EVT_END_CASE_GROUP
EVT_CASE_EQ(EVENT_SPIKE_TAUNT)
EVT_CALL(GetBattleFlags, LVar0)
EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_80000)
EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_PARTNER_ACTING)
EVT_CALL(AfflictActor, 0, 9, 3)
EVT_END_IF
EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0)

View File

@ -33,9 +33,9 @@ Stage NAMESPACE = {
.preBattle = &N(beforeBattle_80220860),
.postBattle = &N(afterBattle_80220894),
.foregroundModelList = N(foregroundModelList_802208A4),
.specialFormationSize = 1,
.specialFormation = &N(specialFormation_802208E4),
.unk_24 = 0x200,
.stageEnemyCount = 1,
.stageFormation = &N(specialFormation_802208E4),
.stageEnemyChance = 512,
};
Vec3i N(vector3D_802208D8) = { 116, 0, -30 };

View File

@ -519,14 +519,14 @@ EvtScript N(onDeath) = {
EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, 3)
EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKammy_Anim03)
EVT_WAIT(50)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_DISABLE_CELEBRATION | BS_FLAGS1_ENEMY_FLED, 1)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_DISABLE_CELEBRATION | BS_FLAGS1_BATTLE_FLED, 1)
EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_DMG_APPLY, 1)
EVT_CALL(ActorSpeak, MSG_CH8_009B, ACTOR_SELF, 1, ANIM_BattleKammy_Anim03, ANIM_BattleKammy_Anim03)
EVT_WAIT(10)
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C)
EVT_CALL(MoveBattleCamOver, 60)
EVT_WAIT(40)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_100000, 0)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_PLAYER_IN_BACK, 0)
EVT_RETURN
EVT_END
};

View File

@ -340,7 +340,7 @@ EvtScript N(802250E4) = {
EVT_IF_EQ(LVar0, 0)
EVT_CALL(GetLastDamage, -127, LVar1)
EVT_CALL(GetBattleFlags, LVar2)
EVT_IF_NOT_FLAG(LVar2, BS_FLAGS1_80000)
EVT_IF_NOT_FLAG(LVar2, BS_FLAGS1_PARTNER_ACTING)
EVT_IF_NE(LVar1, 0)
EVT_CALL(SetActorVar, -127, 1, 1)
EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0)

View File

@ -206,9 +206,9 @@ EvtScript N(8022C6D4) = {
EVT_RETURN
EVT_END_IF
EVT_CALL(GetBattleFlags, LVar2)
EVT_IF_FLAG(LVar2, BS_FLAGS1_80000)
EVT_IF_FLAG(LVar2, BS_FLAGS1_PARTNER_ACTING)
EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2)
EVT_IF_EQ(LVar2, 183)
EVT_IF_EQ(LVar2, MOVE_SPOOK)
EVT_CALL(SetActorVar, -127, 1, 1)
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_263)
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)

View File

@ -137,9 +137,9 @@ EvtScript N(8022A750) = {
EVT_RETURN
EVT_END_IF
EVT_CALL(GetBattleFlags, LVar2)
EVT_IF_FLAG(LVar2, BS_FLAGS1_80000)
EVT_IF_FLAG(LVar2, BS_FLAGS1_PARTNER_ACTING)
EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2)
EVT_IF_EQ(LVar2, 183)
EVT_IF_EQ(LVar2, MOVE_SPOOK)
EVT_CALL(SetActorVar, -127, 3, 1)
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_263)
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)

View File

@ -123,9 +123,9 @@ EvtScript N(80225F7C) = {
EVT_RETURN
EVT_END_IF
EVT_CALL(GetBattleFlags, LVar2)
EVT_IF_FLAG(LVar2, BS_FLAGS1_80000)
EVT_IF_FLAG(LVar2, BS_FLAGS1_PARTNER_ACTING)
EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2)
EVT_IF_EQ(LVar2, 183)
EVT_IF_EQ(LVar2, MOVE_SPOOK)
EVT_CALL(SetActorVar, -127, 1, 1)
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_263)
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)

View File

@ -117,9 +117,9 @@ EvtScript N(80228084) = {
EVT_RETURN
EVT_END_IF
EVT_CALL(GetBattleFlags, LVar2)
EVT_IF_FLAG(LVar2, BS_FLAGS1_80000)
EVT_IF_FLAG(LVar2, BS_FLAGS1_PARTNER_ACTING)
EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2)
EVT_IF_EQ(LVar2, 183)
EVT_IF_EQ(LVar2, MOVE_SPOOK)
EVT_CALL(SetActorVar, -127, 2, 1)
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_263)
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)

View File

@ -161,7 +161,7 @@ ActorBlueprint NAMESPACE = {
EvtScript N(init) = {
EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0)
EVT_CALL(func_8027D75C, ACTOR_SELF, LVar1)
EVT_CALL(GetInstigatorValue, ACTOR_SELF, LVar1)
EVT_IF_EQ(LVar0, 1)
EVT_IF_EQ(LVar1, 1)
EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_STATE), N(STATE_SPIKY))

View File

@ -154,7 +154,7 @@ EvtScript N(init) = {
EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_TURN_COUNTER), 0)
EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_PEACH_SPOKE), 0)
EVT_CALL(SetActorVar, ACTOR_SELF, 14, 0)
EVT_CALL(func_8026E020, 1)
EVT_CALL(SetBattleMenuDisableFlags, BTL_MENU_DISABLED_JUMP)
EVT_CALL(CreateNpc, 0, ANIM_ParadePeach_IdleRaisedArms)
EVT_CALL(SetNpcYaw, 0, 90)
EVT_CALL(SetNpcPos, 0, -130, 0, -12)

View File

@ -352,7 +352,7 @@ EvtScript N(handleEvent) = {
EVT_CALL(MoveBattleCamOver, 30)
EVT_CALL(GetActorHP, ACTOR_SELF, GB_FinalBowserHP)
EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_DMG_APPLY, 1)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_DISABLE_CELEBRATION | BS_FLAGS1_ENEMY_FLED, 1)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_DISABLE_CELEBRATION | BS_FLAGS1_BATTLE_FLED, 1)
EVT_CALL(func_8026F60C, 20)
EVT_RETURN
EVT_CASE_EQ(20)

View File

@ -441,7 +441,7 @@ EvtScript N(handleEvent) = {
EVT_EXEC_WAIT(N(onImmune))
EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle)
EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_DMG_APPLY, 1)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_DISABLE_CELEBRATION | BS_FLAGS1_ENEMY_FLED, 1)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_DISABLE_CELEBRATION | BS_FLAGS1_BATTLE_FLED, 1)
EVT_CALL(func_8026F60C, 10)
EVT_RETURN
EVT_CASE_EQ(EVENT_PEACH_BEAM)
@ -639,7 +639,7 @@ EvtScript N(onDeath) = {
EVT_END_IF
EVT_CALL(ActorSpeak, MSG_CH8_00A9, ACTOR_SELF, 1, ANIM_BattleBowser_DefeatedTalk, ANIM_BattleBowser_DefeatedIdle)
EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_DMG_APPLY, 1)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_DISABLE_CELEBRATION | BS_FLAGS1_ENEMY_FLED, 1)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_DISABLE_CELEBRATION | BS_FLAGS1_BATTLE_FLED, 1)
EVT_CALL(func_8026F60C, 20)
EVT_RETURN
EVT_END

View File

@ -131,7 +131,7 @@ EvtScript N(init_802275D4) = {
EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_80227ABC)))
EVT_CALL(SetActorVar, ACTOR_SELF, 2, 1)
EVT_CALL(SetActorVar, ACTOR_SELF, 3, 0)
EVT_CALL(func_8027D75C, ACTOR_SELF, LVar0)
EVT_CALL(GetInstigatorValue, ACTOR_SELF, LVar0)
EVT_IF_NE(LVar0, 0)
EVT_CALL(SetActorVar, ACTOR_SELF, 2, 0)
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(idleAnimations_8022744C)))

View File

@ -42,8 +42,8 @@ Stage NAMESPACE = {
.preBattle = &N(beforeBattle),
.postBattle = &N(afterBattle),
.foregroundModelList = N(foregroundModelList),
.specialFormationSize = 4,
.specialFormation = &N(fromation_slot_machine),
.stageEnemyCount = 4,
.stageFormation = &N(fromation_slot_machine),
};
Vec3i N(slot_machine_pos1) = { -49, 56, -68 };

View File

@ -901,7 +901,7 @@ EvtScript N(handleEvent) = {
EVT_CASE_OR_EQ(EVENT_SPIKE_TAUNT)
EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED)
EVT_CALL(GetBattleFlags, LVar2)
EVT_IF_FLAG(LVar2, BS_FLAGS1_80000)
EVT_IF_FLAG(LVar2, BS_FLAGS1_PARTNER_ACTING)
EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2)
EVT_IF_EQ(LVar2, MOVE_SPOOK)
EVT_SET(LVar1, ANIM_ShySquadGuy_Anim01)

View File

@ -488,11 +488,11 @@ EvtScript N(handleEvent) = {
EVT_CASE_OR_EQ(EVENT_SPIN_SMASH_HIT)
EVT_CASE_OR_EQ(EVENT_SPIN_SMASH_LAUNCH_HIT)
EVT_CALL(GetBattleFlags, LVar2)
EVT_IF_FLAG(LVar2, BS_FLAGS1_80000)
EVT_IF_FLAG(LVar2, BS_FLAGS1_PARTNER_ACTING)
EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2)
EVT_IF_EQ(LVar2, 183)
EVT_IF_EQ(LVar2, MOVE_SPOOK)
EVT_SET(LVar0, 2)
EVT_SET(LVar1, 7340033)
EVT_SET(LVar1, ANIM_StiltGuy_Anim01)
EVT_EXEC_WAIT(DoImmune)
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0)
@ -599,7 +599,7 @@ EvtScript N(handleEvent) = {
EvtScript N(check_fall_off) = {
EVT_CALL(GetBattleFlags, LVar0)
EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_80000)
EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_PARTNER_ACTING)
EVT_IF_FLAG(LVar0, BS_FLAGS1_40 | BS_FLAGS1_200)
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1)
EVT_END_IF
@ -623,7 +623,7 @@ EvtScript N(check_fall_off) = {
EvtScript N(check_fall_off_2) = {
EVT_CALL(GetBattleFlags, LVar0)
EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_80000)
EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_PARTNER_ACTING)
EVT_IF_FLAG(LVarF, DAMAGE_TYPE_JUMP)
EVT_IF_FLAG(LVar0, BS_FLAGS1_40 | BS_FLAGS1_200)
EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1)

View File

@ -817,9 +817,9 @@ EvtScript N(handleEvent) = {
EVT_CASE_OR_EQ(EVENT_IMMUNE)
EVT_CASE_OR_EQ(EVENT_SPIKE_TAUNT)
EVT_CALL(GetBattleFlags, LVar2)
EVT_IF_FLAG(LVar2, BS_FLAGS1_80000)
EVT_IF_FLAG(LVar2, BS_FLAGS1_PARTNER_ACTING)
EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2)
EVT_IF_EQ(LVar2, 183)
EVT_IF_EQ(LVar2, MOVE_SPOOK)
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
EVT_RETURN
EVT_END_IF

View File

@ -42,8 +42,8 @@ Stage NAMESPACE = {
.preBattle = &N(beforeBattle),
.postBattle = &N(afterBattle),
.foregroundModelList = N(foregroundModelList),
.specialFormationSize = 4,
.specialFormation = &N(fromation_slot_machine),
.stageEnemyCount = 4,
.stageFormation = &N(fromation_slot_machine),
};
Vec3i N(slot_machine_pos1) = { -49, 56, -68 };

View File

@ -2728,7 +2728,7 @@ EvtScript N(handleEvent_802242FC) = {
EVT_SWITCH(LVar0)
EVT_CASE_EQ(EVENT_HIT_COMBO)
EVT_CALL(GetBattleFlags, LVar0)
EVT_IF_FLAG(LVar0, BS_FLAGS1_80000)
EVT_IF_FLAG(LVar0, BS_FLAGS1_PARTNER_ACTING)
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0)
EVT_BITWISE_OR_CONST(LVar0, 0x80)
EVT_CALL(SetActorVar, ACTOR_ENEMY4, 0, LVar0)
@ -2752,7 +2752,7 @@ EvtScript N(handleEvent_802242FC) = {
EVT_EXEC_WAIT(N(802235E0))
EVT_CASE_EQ(EVENT_HIT)
EVT_CALL(GetBattleFlags, LVar0)
EVT_IF_FLAG(LVar0, BS_FLAGS1_80000)
EVT_IF_FLAG(LVar0, BS_FLAGS1_PARTNER_ACTING)
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0)
EVT_BITWISE_OR_CONST(LVar0, 0x80)
EVT_CALL(SetActorVar, ACTOR_ENEMY4, 0, LVar0)
@ -2771,8 +2771,8 @@ EvtScript N(handleEvent_802242FC) = {
EVT_CALL(SetActorVar, ACTOR_ENEMY4, 0, LVar0)
EVT_END_IF
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0)
EVT_IF_FLAG(LVar0, 0x00000040)
EVT_IF_FLAG(LVar0, 0x00000080)
EVT_IF_FLAG(LVar0, 0x40)
EVT_IF_FLAG(LVar0, 0x80)
EVT_EXEC_WAIT(N(80223718))
EVT_WAIT(20)
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
@ -2787,10 +2787,10 @@ EvtScript N(handleEvent_802242FC) = {
EVT_EXEC_WAIT(N(802235E0))
EVT_END_IF
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0)
EVT_IF_FLAG(LVar0, 0x00000010)
EVT_IF_NOT_FLAG(LVar0, 0x00000020)
EVT_IF_FLAG(LVar0, 0x10)
EVT_IF_NOT_FLAG(LVar0, 0x20)
EVT_CALL(GetActorVar, ACTOR_SELF, 4, LVar0)
EVT_CALL(ActorSpeak, MSG_CH1_0109, LVar0, 1, -00001, -00001)
EVT_CALL(ActorSpeak, MSG_CH1_0109, LVar0, 1, -1, -1)
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0)
EVT_BITWISE_OR_CONST(LVar0, 0x20)
EVT_CALL(SetActorVar, ACTOR_ENEMY4, 0, LVar0)
@ -2799,7 +2799,7 @@ EvtScript N(handleEvent_802242FC) = {
EVT_END_IF
EVT_CASE_EQ(EVENT_BURN_HIT)
EVT_CALL(GetBattleFlags, LVar0)
EVT_IF_FLAG(LVar0, BS_FLAGS1_80000)
EVT_IF_FLAG(LVar0, BS_FLAGS1_PARTNER_ACTING)
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0)
EVT_BITWISE_OR_CONST(LVar0, 0x80)
EVT_CALL(SetActorVar, ACTOR_ENEMY4, 0, LVar0)
@ -2818,8 +2818,8 @@ EvtScript N(handleEvent_802242FC) = {
EVT_CALL(SetActorVar, ACTOR_ENEMY4, 0, LVar0)
EVT_END_IF
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0)
EVT_IF_FLAG(LVar0, 0x00000040)
EVT_IF_FLAG(LVar0, 0x00000080)
EVT_IF_FLAG(LVar0, 0x40)
EVT_IF_FLAG(LVar0, 0x80)
EVT_EXEC_WAIT(N(80223718))
EVT_WAIT(20)
EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE)
@ -2834,10 +2834,10 @@ EvtScript N(handleEvent_802242FC) = {
EVT_EXEC_WAIT(N(802235E0))
EVT_END_IF
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0)
EVT_IF_FLAG(LVar0, 0x00000010)
EVT_IF_NOT_FLAG(LVar0, 0x00000020)
EVT_IF_FLAG(LVar0, 0x10)
EVT_IF_NOT_FLAG(LVar0, 0x20)
EVT_CALL(GetActorVar, ACTOR_SELF, 4, LVar0)
EVT_CALL(ActorSpeak, MSG_CH1_0109, LVar0, 1, -00001, -00001)
EVT_CALL(ActorSpeak, MSG_CH1_0109, LVar0, 1, -1, -1)
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0)
EVT_BITWISE_OR_CONST(LVar0, 0x20)
EVT_CALL(SetActorVar, ACTOR_ENEMY4, 0, LVar0)
@ -2858,7 +2858,7 @@ EvtScript N(handleEvent_802242FC) = {
EVT_CALL(SetActorVar, ACTOR_ENEMY4, 0, LVar0)
EVT_END_IF
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0)
EVT_IF_FLAG(LVar0, 0x00000040)
EVT_IF_FLAG(LVar0, 0x40)
EVT_IF_FLAG(LVar0, 0x00000080)
EVT_EXEC_WAIT(N(80223718))
EVT_WAIT(20)
@ -2869,10 +2869,10 @@ EvtScript N(handleEvent_802242FC) = {
EVT_SET(LVarA, 4)
EVT_EXEC_WAIT(N(80223870))
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0)
EVT_IF_FLAG(LVar0, 0x00000010)
EVT_IF_NOT_FLAG(LVar0, 0x00000020)
EVT_IF_FLAG(LVar0, 0x10)
EVT_IF_NOT_FLAG(LVar0, 0x20)
EVT_CALL(GetActorVar, ACTOR_SELF, 4, LVar0)
EVT_CALL(ActorSpeak, MSG_CH1_0109, LVar0, 1, -00001, -00001)
EVT_CALL(ActorSpeak, MSG_CH1_0109, LVar0, 1, -1, -1)
EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0)
EVT_BITWISE_OR_CONST(LVar0, 0x20)
EVT_CALL(SetActorVar, ACTOR_ENEMY4, 0, LVar0)

View File

@ -137,8 +137,8 @@ ApiStatus func_80218130_4CF2E0(Evt* script, s32 isInitialCall) {
ApiStatus func_80218158_4CF308(Evt* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;
battleStatus->unk_4C[0] = 0;
battleStatus->unk_5C[0] = 0;
battleStatus->lastPlayerMenuSelection[BTL_MENU_IDX_MAIN] = 0;
battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_MAIN] = 0;
return ApiStatus_DONE2;
}
@ -150,7 +150,7 @@ ApiStatus func_80218170_4CF320(Evt* script, s32 isInitialCall) {
script->functionTemp[0] = 10;
}
battleStatus->flags2 &= ~0x2;
battleStatus->flags2 &= ~BS_FLAGS2_2;
if (script->functionTemp[0] != 0) {
script->functionTemp[0]--;
@ -167,7 +167,7 @@ ApiStatus func_802181B4_4CF364(Evt* script, s32 isInitialCall) {
script->functionTemp[0] = 10;
}
battleStatus->flags2 &= ~0x4;
battleStatus->flags2 &= ~BS_FLAGS2_4;
if (script->functionTemp[0] != 0) {
script->functionTemp[0]--;
@ -202,7 +202,7 @@ EvtScript N(takeTurn_80218414) = {
};
EvtScript N(80218424) = {
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_2000000, 1)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_TUTORIAL_BATTLE, 1)
EVT_CALL(func_80218158_4CF308)
EVT_CALL(WaitForState, BATTLE_STATE_PLAYER_MENU)
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_10002)
@ -214,7 +214,7 @@ EvtScript N(80218424) = {
EVT_CALL(SetGoalPos, ACTOR_SELF, -110, 100, 0)
EVT_CALL(FlyToGoal, ACTOR_SELF, 20, 0, 10)
EVT_CALL(EnableActorBlur, ACTOR_SELF, 0)
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, 0x01002A)
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_1002A)
EVT_END_THREAD
EVT_WAIT(10)
EVT_CALL(func_802180C8_4CF278)
@ -227,15 +227,15 @@ EvtScript N(80218424) = {
EVT_CALL(EnableActorBlur, ACTOR_SELF, 0)
EVT_CALL(ActorSpeak, MSG_CH1_0115, ACTOR_SELF, 1, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle)
EVT_WAIT(10)
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, 0x01002A)
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_1002A)
EVT_CALL(func_802180C8_4CF278)
EVT_WAIT(120)
EVT_CALL(func_802180E8_4CF298)
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_10002)
EVT_CALL(ActorSpeak, MSG_CH1_0116, ACTOR_SELF, 1, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle)
EVT_WAIT(10)
EVT_CALL(func_8026E020, 256)
EVT_CALL(func_8026E038, 2)
EVT_CALL(SetBattleMenuDisableFlags, BTL_MENU_DISABLED_STAR_POWERS)
EVT_CALL(SetEnabledStarPowers, 1 << STAR_POWER_INDEX(MOVE_REFRESH))
EVT_CALL(WaitForState, BATTLE_STATE_PLAYER_MOVE)
EVT_SET(LVar0, 255)
EVT_LOOP(10)
@ -266,7 +266,7 @@ EvtScript N(80218424) = {
EVT_CALL(ActorSpeak, MSG_CH1_0117, ACTOR_SELF, 1, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle)
EVT_WAIT(10)
EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, FALSE)
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, 0x01002A)
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_1002A)
EVT_CALL(func_802180C8_4CF278)
EVT_WAIT(120)
EVT_CALL(func_802180E8_4CF298)
@ -284,10 +284,10 @@ EvtScript N(80218424) = {
EVT_CALL(SetGoalPos, ACTOR_SELF, -110, 100, 0)
EVT_CALL(FlyToGoal, ACTOR_SELF, 20, 0, 10)
EVT_CALL(EnableActorBlur, ACTOR_SELF, 0)
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, 0x01002A)
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_1002A)
EVT_END_THREAD
EVT_WAIT(10)
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, 0x01002A)
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_1002A)
EVT_CALL(func_802180C8_4CF278)
EVT_WAIT(120)
EVT_CALL(func_802180E8_4CF298)
@ -301,8 +301,8 @@ EvtScript N(80218424) = {
EVT_WAIT(10)
EVT_CALL(ActorSpeak, MSG_CH1_011B, ACTOR_SELF, 1, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle)
EVT_WAIT(10)
EVT_CALL(func_8026E020, 256)
EVT_CALL(func_8026E038, 1)
EVT_CALL(SetBattleMenuDisableFlags, BTL_MENU_DISABLED_STAR_POWERS)
EVT_CALL(SetEnabledStarPowers, 1 << STAR_POWER_INDEX(MOVE_FOCUS))
EVT_CALL(func_80218158_4CF308)
EVT_CALL(WaitForState, BATTLE_STATE_PLAYER_MOVE)
EVT_SET(LVar0, 255)
@ -334,7 +334,7 @@ EvtScript N(80218424) = {
EVT_CALL(ActorSpeak, MSG_CH1_011C, ACTOR_SELF, 1, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle)
EVT_WAIT(10)
EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, FALSE)
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, 0x01002A)
EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_1002A)
EVT_CALL(func_802180C8_4CF278)
EVT_WAIT(120)
EVT_CALL(func_802180E8_4CF298)

View File

@ -6,7 +6,7 @@
#include "sprite.h"
extern s32 D_800DC060;
extern StageListRow* D_800DC064;
extern StageListRow* gCurrentStagePtr;
BattleArea gBattleAreas[] = {
[BTL_AREA_KMR_PART_1] = {
@ -281,16 +281,16 @@ void reset_battle_status(void) {
gBattleState = BATTLE_STATE_0;
D_800DC4E0 = 1;
gBattleSubState = BTL_SUBSTATE_INIT;
D_800DC4D0 = BATTLE_STATE_0;
gLastDrawBattleState = BATTLE_STATE_0;
D_800DC4F0 = 0;
D_800DC4D4 = 0;
D_800DC4FC = NULL;
gCurrentBattlePtr = NULL;
D_800DC4F8 = 0;
gCurrentBattleID = 0;
D_800DC064 = NULL;
gCurrentStagePtr = NULL;
D_800DC060 = 0;
D_800DC4EC = 0;
D_800DC4F4 = NULL;
gCurrentStageID = 0;
gOverrideBattlePtr = NULL;
}
void ALT_reset_battle_status(void) {
@ -307,32 +307,32 @@ void load_battle_section(void) {
dma_copy(battleArea->dmaStart, battleArea->dmaEnd, battleArea->dmaDest);
D_800DC4FC = &(*battleArea->battles)[battleIdx];
gCurrentBattlePtr = &(*battleArea->battles)[battleIdx];
if (D_800DC4EC < 0) {
D_800DC064 = NULL;
if (gCurrentStageID < 0) {
gCurrentStagePtr = NULL;
} else {
D_800DC064 = &(*battleArea->stages)[D_800DC4EC];
gCurrentStagePtr = &(*battleArea->stages)[gCurrentStageID];
}
btl_set_state(BATTLE_STATE_NORMAL_START);
D_800DC4D0 = BATTLE_STATE_0;
gLastDrawBattleState = BATTLE_STATE_0;
}
void load_battle(s32 battleID) {
gCurrentBattleID = battleID;
set_game_mode(GAME_MODE_BATTLE);
gBattleState = BATTLE_STATE_0;
D_800DC4D0 = BATTLE_STATE_0;
gLastDrawBattleState = BATTLE_STATE_0;
gBattleSubState = BTL_SUBSTATE_INIT;
}
void set_battle_stage(s32 arg0) {
D_800DC4EC = arg0;
void set_battle_stage(s32 stageID) {
gCurrentStageID = stageID;
}
void set_battle_formation(Battle* battle) {
D_800DC4F4 = battle;
gOverrideBattlePtr = battle;
}
void func_80072CEC(f32 arg0, f32 arg1, f32 arg2) {
@ -501,8 +501,8 @@ void load_demo_battle(u32 index) {
evt_set_variable(NULL, GF_Tutorial_SwapTurnOrder, 1);
gCurrentEncounter.unk_07 = 0;
gCurrentEncounter.unk_10 = 0;
set_battle_stage(-1);
gCurrentEncounter.instigatorValue = 0;
set_battle_stage(BTL_STAGE_DEFAULT);
gGameStatusPtr->demoFlags |= 1;
gOverrideFlags &= ~GLOBAL_OVERRIDES_8;
load_battle(battleID);

View File

@ -55,225 +55,225 @@ enum BattleAreaIDs {
};
typedef enum ActorType {
ACTOR_TYPE_RED_GOOMBA = 0x00,
ACTOR_TYPE_RED_PARAGOOMBA = 0x01,
ACTOR_TYPE_GLOOMBA = 0x02,
ACTOR_TYPE_PARAGLOOMBA = 0x03,
ACTOR_TYPE_SPIKED_GLOOMBA = 0x04,
ACTOR_TYPE_DARK_KOOPA = 0x05,
ACTOR_TYPE_DARK_PARATROOPA = 0x06,
ACTOR_TYPE_GOOMBA = 0x07,
ACTOR_TYPE_PARAGOOMBA = 0x08,
ACTOR_TYPE_SPIKED_GOOMBA = 0x09,
ACTOR_TYPE_FUZZY = 0x0A,
ACTOR_TYPE_KOOPA_TROOPA = 0x0B,
ACTOR_TYPE_PARATROOPA = 0x0C,
ACTOR_TYPE_BOB_OMB = 0x0D,
ACTOR_TYPE_BOB_OMB_DUP = 0x0E,
ACTOR_TYPE_BULLET_BILL = 0x0F,
ACTOR_TYPE_BILL_BLASTER = 0x10,
ACTOR_TYPE_CLEFT = 0x11,
ACTOR_TYPE_MONTY_MOLE = 0x12,
ACTOR_TYPE_BANDIT = 0x13,
ACTOR_TYPE_POKEY = 0x14,
ACTOR_TYPE_POKEY_MUMMY = 0x15,
ACTOR_TYPE_SWOOPER = 0x16,
ACTOR_TYPE_BUZZY_BEETLE = 0x17,
ACTOR_TYPE_STONE_CHOMP = 0x18,
ACTOR_TYPE_PIRANHA_PLANT = 0x19,
ACTOR_TYPE_FOREST_FUZZY = 0x1A,
ACTOR_TYPE_HYPER_GOOMBA = 0x1B,
ACTOR_TYPE_HYPER_PARAGOOMBA = 0x1C,
ACTOR_TYPE_HYPER_CLEFT = 0x1D,
ACTOR_TYPE_CLUBBA = 0x1E,
ACTOR_TYPE_SHY_GUY = 0x1F,
ACTOR_TYPE_GROOVE_GUY = 0x20,
ACTOR_TYPE_SKY_GUY = 0x21,
ACTOR_TYPE_MEDI_GUY = 0x22,
ACTOR_TYPE_PYRO_GUY = 0x23,
ACTOR_TYPE_SPY_GUY = 0x24,
ACTOR_TYPE_FUZZIPEDE = 0x25,
ACTOR_TYPE_HURT_PLANT = 0x26,
ACTOR_TYPE_M_BUSH = 0x27,
ACTOR_TYPE_AQUA_FUZZY = 0x28,
ACTOR_TYPE_JUNGLE_FUZZY = 0x29,
ACTOR_TYPE_SPEAR_GUY = 0x2A,
ACTOR_TYPE_LAVA_BUBBLE = 0x2B,
ACTOR_TYPE_SPIKE_TOP = 0x2C,
ACTOR_TYPE_PUTRID_PIRANHA = 0x2D,
ACTOR_TYPE_LAKITU = 0x2E,
ACTOR_TYPE_SPINY = 0x2F,
ACTOR_TYPE_MONTY_MOLE_BOSS = 0x30,
ACTOR_TYPE_BZZAP = 0x31,
ACTOR_TYPE_CRAZEE_DAYZEE = 0x32,
ACTOR_TYPE_AMAZY_DAYZEE = 0x33,
ACTOR_TYPE_RUFF_PUFF = 0x34,
ACTOR_TYPE_SPIKE = 0x35,
ACTOR_TYPE_GULPIT = 0x36,
ACTOR_TYPE_GULPIT_ROCKS = 0x37,
ACTOR_TYPE_WHITE_CLUBBA = 0x38,
ACTOR_TYPE_FROST_PIRANHA = 0x39,
ACTOR_TYPE_SWOOPULA = 0x3A,
ACTOR_TYPE_DUPLIGHOST = 0x3B,
ACTOR_TYPE_GHOST_GOOMBARIO = 0x3C,
ACTOR_TYPE_GHOST_KOOPER = 0x3D,
ACTOR_TYPE_GHOST_BOMBETTE = 0x3E,
ACTOR_TYPE_GHOST_PARAKARRY = 0x3F,
ACTOR_TYPE_GHOST_BOW = 0x40,
ACTOR_TYPE_GHOST_WATT = 0x41,
ACTOR_TYPE_GHOST_SUSHIE = 0x42,
ACTOR_TYPE_GHOST_LAKILESTER = 0x43,
ACTOR_TYPE_ALBINO_DINO = 0x44,
ACTOR_TYPE_EMBER = 0x45,
ACTOR_TYPE_BONY_BEETLE = 0x46,
ACTOR_TYPE_DRY_BONES = 0x47,
ACTOR_TYPE_DRY_BONES2 = 0x48,
ACTOR_TYPE_BOMBSHELL_BLASTER = 0x49,
ACTOR_TYPE_BOMBSHELL_BILL = 0x4A,
ACTOR_TYPE_HAMMER_BROS = 0x4B,
ACTOR_TYPE_KOOPATROL = 0x4C,
ACTOR_TYPE_MAGIKOOPA = 0x4D,
ACTOR_TYPE_FLYING_MAGIKOOPA = 0x4E,
ACTOR_TYPE_MAGICLONE = 0x4F,
ACTOR_TYPE_FLYING_MAGICLONE = 0x50,
ACTOR_TYPE_RED_MAGIKOOPA = 0x51,
ACTOR_TYPE_FLYING_RED_MAGIKOOPA = 0x52,
ACTOR_TYPE_GREEN_MAGIKOOPA = 0x53,
ACTOR_TYPE_FLYING_GREEN_MAGIKOOPA = 0x54,
ACTOR_TYPE_YELLOW_MAGIKOOPA = 0x55,
ACTOR_TYPE_FLYING_YELLOW_MAGIKOOPA = 0x56,
ACTOR_TYPE_GRAY_MAGIKOOPA = 0x57,
ACTOR_TYPE_FLYING_GRAY_MAGIKOOPA = 0x58,
ACTOR_TYPE_WHITE_MAGIKOOPA = 0x59,
ACTOR_TYPE_FLYING_WHITE_MAGIKOOPA = 0x5A,
ACTOR_TYPE_RED_GOOMBA = 0x00,
ACTOR_TYPE_RED_PARAGOOMBA = 0x01,
ACTOR_TYPE_GLOOMBA = 0x02,
ACTOR_TYPE_PARAGLOOMBA = 0x03,
ACTOR_TYPE_SPIKED_GLOOMBA = 0x04,
ACTOR_TYPE_DARK_KOOPA = 0x05,
ACTOR_TYPE_DARK_PARATROOPA = 0x06,
ACTOR_TYPE_GOOMBA = 0x07,
ACTOR_TYPE_PARAGOOMBA = 0x08,
ACTOR_TYPE_SPIKED_GOOMBA = 0x09,
ACTOR_TYPE_FUZZY = 0x0A,
ACTOR_TYPE_KOOPA_TROOPA = 0x0B,
ACTOR_TYPE_PARATROOPA = 0x0C,
ACTOR_TYPE_BOB_OMB = 0x0D,
ACTOR_TYPE_BOB_OMB_DUP = 0x0E,
ACTOR_TYPE_BULLET_BILL = 0x0F,
ACTOR_TYPE_BILL_BLASTER = 0x10,
ACTOR_TYPE_CLEFT = 0x11,
ACTOR_TYPE_MONTY_MOLE = 0x12,
ACTOR_TYPE_BANDIT = 0x13,
ACTOR_TYPE_POKEY = 0x14,
ACTOR_TYPE_POKEY_MUMMY = 0x15,
ACTOR_TYPE_SWOOPER = 0x16,
ACTOR_TYPE_BUZZY_BEETLE = 0x17,
ACTOR_TYPE_STONE_CHOMP = 0x18,
ACTOR_TYPE_PIRANHA_PLANT = 0x19,
ACTOR_TYPE_FOREST_FUZZY = 0x1A,
ACTOR_TYPE_HYPER_GOOMBA = 0x1B,
ACTOR_TYPE_HYPER_PARAGOOMBA = 0x1C,
ACTOR_TYPE_HYPER_CLEFT = 0x1D,
ACTOR_TYPE_CLUBBA = 0x1E,
ACTOR_TYPE_SHY_GUY = 0x1F,
ACTOR_TYPE_GROOVE_GUY = 0x20,
ACTOR_TYPE_SKY_GUY = 0x21,
ACTOR_TYPE_MEDI_GUY = 0x22,
ACTOR_TYPE_PYRO_GUY = 0x23,
ACTOR_TYPE_SPY_GUY = 0x24,
ACTOR_TYPE_FUZZIPEDE = 0x25,
ACTOR_TYPE_HURT_PLANT = 0x26,
ACTOR_TYPE_M_BUSH = 0x27,
ACTOR_TYPE_AQUA_FUZZY = 0x28,
ACTOR_TYPE_JUNGLE_FUZZY = 0x29,
ACTOR_TYPE_SPEAR_GUY = 0x2A,
ACTOR_TYPE_LAVA_BUBBLE = 0x2B,
ACTOR_TYPE_SPIKE_TOP = 0x2C,
ACTOR_TYPE_PUTRID_PIRANHA = 0x2D,
ACTOR_TYPE_LAKITU = 0x2E,
ACTOR_TYPE_SPINY = 0x2F,
ACTOR_TYPE_MONTY_MOLE_BOSS = 0x30,
ACTOR_TYPE_BZZAP = 0x31,
ACTOR_TYPE_CRAZEE_DAYZEE = 0x32,
ACTOR_TYPE_AMAZY_DAYZEE = 0x33,
ACTOR_TYPE_RUFF_PUFF = 0x34,
ACTOR_TYPE_SPIKE = 0x35,
ACTOR_TYPE_GULPIT = 0x36,
ACTOR_TYPE_GULPIT_ROCKS = 0x37,
ACTOR_TYPE_WHITE_CLUBBA = 0x38,
ACTOR_TYPE_FROST_PIRANHA = 0x39,
ACTOR_TYPE_SWOOPULA = 0x3A,
ACTOR_TYPE_DUPLIGHOST = 0x3B,
ACTOR_TYPE_GHOST_GOOMBARIO = 0x3C,
ACTOR_TYPE_GHOST_KOOPER = 0x3D,
ACTOR_TYPE_GHOST_BOMBETTE = 0x3E,
ACTOR_TYPE_GHOST_PARAKARRY = 0x3F,
ACTOR_TYPE_GHOST_BOW = 0x40,
ACTOR_TYPE_GHOST_WATT = 0x41,
ACTOR_TYPE_GHOST_SUSHIE = 0x42,
ACTOR_TYPE_GHOST_LAKILESTER = 0x43,
ACTOR_TYPE_ALBINO_DINO = 0x44,
ACTOR_TYPE_EMBER = 0x45,
ACTOR_TYPE_BONY_BEETLE = 0x46,
ACTOR_TYPE_DRY_BONES = 0x47,
ACTOR_TYPE_DRY_BONES2 = 0x48,
ACTOR_TYPE_BOMBSHELL_BLASTER = 0x49,
ACTOR_TYPE_BOMBSHELL_BILL = 0x4A,
ACTOR_TYPE_HAMMER_BROS = 0x4B,
ACTOR_TYPE_KOOPATROL = 0x4C,
ACTOR_TYPE_MAGIKOOPA = 0x4D,
ACTOR_TYPE_FLYING_MAGIKOOPA = 0x4E,
ACTOR_TYPE_MAGICLONE = 0x4F,
ACTOR_TYPE_FLYING_MAGICLONE = 0x50,
ACTOR_TYPE_RED_MAGIKOOPA = 0x51,
ACTOR_TYPE_FLYING_RED_MAGIKOOPA = 0x52,
ACTOR_TYPE_GREEN_MAGIKOOPA = 0x53,
ACTOR_TYPE_FLYING_GREEN_MAGIKOOPA = 0x54,
ACTOR_TYPE_YELLOW_MAGIKOOPA = 0x55,
ACTOR_TYPE_FLYING_YELLOW_MAGIKOOPA = 0x56,
ACTOR_TYPE_GRAY_MAGIKOOPA = 0x57,
ACTOR_TYPE_FLYING_GRAY_MAGIKOOPA = 0x58,
ACTOR_TYPE_WHITE_MAGIKOOPA = 0x59,
ACTOR_TYPE_FLYING_WHITE_MAGIKOOPA = 0x5A,
ACTOR_TYPE_UNUSED_5B = 0x5B,
ACTOR_TYPE_UNUSED_5C = 0x5C,
ACTOR_TYPE_UNUSED_5D = 0x5D,
ACTOR_TYPE_UNUSED_5E = 0x5E,
ACTOR_TYPE_UNUSED_5F = 0x5F,
ACTOR_TYPE_UNUSED_60 = 0x60,
ACTOR_TYPE_UNUSED_61 = 0x61,
ACTOR_TYPE_UNUSED_62 = 0x62,
ACTOR_TYPE_UNUSED_63 = 0x63,
ACTOR_TYPE_UNUSED_64 = 0x64,
ACTOR_TYPE_UNUSED_65 = 0x65,
ACTOR_TYPE_UNUSED_66 = 0x66,
ACTOR_TYPE_UNUSED_67 = 0x67,
ACTOR_TYPE_UNUSED_68 = 0x68,
ACTOR_TYPE_UNUSED_69 = 0x69,
ACTOR_TYPE_UNUSED_6A = 0x6A,
ACTOR_TYPE_UNUSED_5B = 0x5B,
ACTOR_TYPE_UNUSED_5C = 0x5C,
ACTOR_TYPE_UNUSED_5D = 0x5D,
ACTOR_TYPE_UNUSED_5E = 0x5E,
ACTOR_TYPE_UNUSED_5F = 0x5F,
ACTOR_TYPE_UNUSED_60 = 0x60,
ACTOR_TYPE_UNUSED_61 = 0x61,
ACTOR_TYPE_UNUSED_62 = 0x62,
ACTOR_TYPE_UNUSED_63 = 0x63,
ACTOR_TYPE_UNUSED_64 = 0x64,
ACTOR_TYPE_UNUSED_65 = 0x65,
ACTOR_TYPE_UNUSED_66 = 0x66,
ACTOR_TYPE_UNUSED_67 = 0x67,
ACTOR_TYPE_UNUSED_68 = 0x68,
ACTOR_TYPE_UNUSED_69 = 0x69,
ACTOR_TYPE_UNUSED_6A = 0x6A,
ACTOR_TYPE_MONTY_HOLE = 0x6B,
ACTOR_TYPE_MONTY_HOLE = 0x6B,
ACTOR_TYPE_UNUSED_6C = 0x6C,
ACTOR_TYPE_UNUSED_6D = 0x6D,
ACTOR_TYPE_UNUSED_6C = 0x6C,
ACTOR_TYPE_UNUSED_6D = 0x6D,
ACTOR_TYPE_PLAYER = 0x6E,
ACTOR_TYPE_GOOMBARIO = 0x6F,
ACTOR_TYPE_KOOPER = 0x70,
ACTOR_TYPE_BOMBETTE = 0x71,
ACTOR_TYPE_PARAKARRY = 0x72,
ACTOR_TYPE_BOW = 0x73,
ACTOR_TYPE_WATT = 0x74,
ACTOR_TYPE_SUSHIE = 0x75,
ACTOR_TYPE_LAKILESTER = 0x76,
ACTOR_TYPE_TWINK = 0x77,
ACTOR_TYPE_PLAYER = 0x6E,
ACTOR_TYPE_GOOMBARIO = 0x6F,
ACTOR_TYPE_KOOPER = 0x70,
ACTOR_TYPE_BOMBETTE = 0x71,
ACTOR_TYPE_PARAKARRY = 0x72,
ACTOR_TYPE_BOW = 0x73,
ACTOR_TYPE_WATT = 0x74,
ACTOR_TYPE_SUSHIE = 0x75,
ACTOR_TYPE_LAKILESTER = 0x76,
ACTOR_TYPE_TWINK = 0x77,
ACTOR_TYPE_UNUSED_78 = 0x78,
ACTOR_TYPE_UNUSED_79 = 0x79,
ACTOR_TYPE_UNUSED_78 = 0x78,
ACTOR_TYPE_UNUSED_79 = 0x79,
ACTOR_TYPE_THE_MASTER_1 = 0x7A,
ACTOR_TYPE_THE_MASTER_2 = 0x7B,
ACTOR_TYPE_THE_MASTER_3 = 0x7C,
ACTOR_TYPE_CHAN = 0x7D,
ACTOR_TYPE_LEE = 0x7E,
ACTOR_TYPE_LEE_GOOMBARIO = 0x7F,
ACTOR_TYPE_LEE_KOOPER = 0x80,
ACTOR_TYPE_LEE_BOMBETTE = 0x81,
ACTOR_TYPE_LEE_PARAKARRY = 0x82,
ACTOR_TYPE_LEE_BOW = 0x83,
ACTOR_TYPE_LEE_WATT = 0x84,
ACTOR_TYPE_LEE_SUSHIE = 0x85,
ACTOR_TYPE_LEE_LAKILESTER = 0x86,
ACTOR_TYPE_KAMMY_KOOPA = 0x87,
ACTOR_TYPE_JR_TROOPA1 = 0x88,
ACTOR_TYPE_JR_TROOPA2 = 0x89,
ACTOR_TYPE_JR_TROOPA3 = 0x8A,
ACTOR_TYPE_JR_TROOPA4 = 0x8B,
ACTOR_TYPE_JR_TROOPA5 = 0x8C,
ACTOR_TYPE_JR_TROOPA6 = 0x8D,
ACTOR_TYPE_JR_TROOPA_DUP1 = 0x8E,
ACTOR_TYPE_JR_TROOPA_DUP2 = 0x8F,
ACTOR_TYPE_BLUE_GOOMBA_BOSS = 0x90,
ACTOR_TYPE_RED_GOOMBA_BOSS = 0x91,
ACTOR_TYPE_GOOMBA_KING = 0x92,
ACTOR_TYPE_GOOMNUT_TREE = 0x93,
ACTOR_TYPE_GOOMBARIO_TUTOR1 = 0x94,
ACTOR_TYPE_MAGIKOOPA_BOSS = 0x95,
ACTOR_TYPE_FLYING_MAGIKOOPA_BOSS = 0x96,
ACTOR_TYPE_MAGIKOOPA_DUP1 = 0x97,
ACTOR_TYPE_MAGIKOOPA_DUP2 = 0x98,
ACTOR_TYPE_FAKE_BOWSER = 0x99,
ACTOR_TYPE_KOOPA_BROS = 0x9A,
ACTOR_TYPE_GREEN_NINJAKOOPA = 0x9B,
ACTOR_TYPE_RED_NINJAKOOPA = 0x9C,
ACTOR_TYPE_BLUE_NINJAKOOPA = 0x9D,
ACTOR_TYPE_YELLOW_NINJAKOOPA = 0x9E,
ACTOR_TYPE_ELDSTAR = 0x9F,
ACTOR_TYPE_BUZZAR = 0xA0,
ACTOR_TYPE_TUTANKOOPA = 0xA1,
ACTOR_TYPE_CHOMP = 0xA2,
ACTOR_TYPE_TUBBA_BLUBBA_INVINCIBLE = 0xA3,
ACTOR_TYPE_TUBBA_BLUBBA = 0xA4,
ACTOR_TYPE_TUBBA_HEART = 0xA5,
ACTOR_TYPE_STILT_GUY = 0xA6,
ACTOR_TYPE_SHY_STACK = 0xA7,
ACTOR_TYPE_SHY_SQUAD = 0xA8,
ACTOR_TYPE_GENERAL_GUY = 0xA9,
ACTOR_TYPE_TOY_TANK = 0xAA,
ACTOR_TYPE_LIGHT_BULB = 0xAB,
ACTOR_TYPE_SIGNAL_GUY = 0xAC,
ACTOR_TYPE_SHY_SQUAD_DUP = 0xAD,
ACTOR_TYPE_SHY_GUY_DUP = 0xAE,
ACTOR_TYPE_ANTI_GUY = 0xAF,
ACTOR_TYPE_ANTI_GUY_DUP = 0xB0,
ACTOR_TYPE_BIG_LANTERN_GHOST = 0xB1,
ACTOR_TYPE_GOOMBA_KING_DUP = 0xB2,
ACTOR_TYPE_LAVA_PIRANHA_PHASE_1 = 0xB3,
ACTOR_TYPE_LAVA_PIRANHA_PHASE_2 = 0xB4,
ACTOR_TYPE_LAVA_BUD_PHASE_1 = 0xB5,
ACTOR_TYPE_LAVA_BUD_PHASE_2 = 0xB6,
ACTOR_TYPE_PETIT_PIRANHA = 0xB7,
ACTOR_TYPE_PETIT_PIRANHA_BOMB = 0xB8,
ACTOR_TYPE_KENT_C_KOOPA = 0xB9,
ACTOR_TYPE_HUFF_N_PUFF = 0xBA,
ACTOR_TYPE_TUFF_PUFF = 0xBB,
ACTOR_TYPE_MONSTAR = 0xBC,
ACTOR_TYPE_CRYSTAL_KING = 0xBD,
ACTOR_TYPE_CRYSTAL_CLONE = 0xBE,
ACTOR_TYPE_CRYSTAL_BIT = 0xBF,
ACTOR_TYPE_INTRO_BOWSER = 0xC0,
ACTOR_TYPE_BOWSER_PHASE_1 = 0xC1,
ACTOR_TYPE_BOWSER_DUP1 = 0xC2,
ACTOR_TYPE_BOWSER_PHASE_2 = 0xC3,
ACTOR_TYPE_BOWSER_DUP2 = 0xC4,
ACTOR_TYPE_BOWSER_PHASE_3 = 0xC5,
ACTOR_TYPE_BOWSER_DUP3 = 0xC6,
ACTOR_TYPE_BLOOPER = 0xC7,
ACTOR_TYPE_ELECTRO_BLOOPER1 = 0xC8,
ACTOR_TYPE_ELECTRO_BLOOPER2 = 0xC9,
ACTOR_TYPE_SUPER_BLOOPER1 = 0xCA,
ACTOR_TYPE_SUPER_BLOOPER2 = 0xCB,
ACTOR_TYPE_BLOOPER_BABY = 0xCC,
ACTOR_TYPE_LAKILESTER_DUP = 0xCD,
ACTOR_TYPE_SLOT_MACHINE_START = 0xCE,
ACTOR_TYPE_SLOT_MACHINE_STOP = 0xCF,
ACTOR_TYPE_WHACKA = 0xD0,
ACTOR_TYPE_SLOT_MACHINE_START_DUP1 = 0xD1,
ACTOR_TYPE_SLOT_MACHINE_START_DUP2 = 0xD2,
ACTOR_TYPE_SLOT_MACHINE_START_DUP3 = 0xD3,
ACTOR_TYPE_COUNT = 0xD4,
ACTOR_TYPE_THE_MASTER_1 = 0x7A,
ACTOR_TYPE_THE_MASTER_2 = 0x7B,
ACTOR_TYPE_THE_MASTER_3 = 0x7C,
ACTOR_TYPE_CHAN = 0x7D,
ACTOR_TYPE_LEE = 0x7E,
ACTOR_TYPE_LEE_GOOMBARIO = 0x7F,
ACTOR_TYPE_LEE_KOOPER = 0x80,
ACTOR_TYPE_LEE_BOMBETTE = 0x81,
ACTOR_TYPE_LEE_PARAKARRY = 0x82,
ACTOR_TYPE_LEE_BOW = 0x83,
ACTOR_TYPE_LEE_WATT = 0x84,
ACTOR_TYPE_LEE_SUSHIE = 0x85,
ACTOR_TYPE_LEE_LAKILESTER = 0x86,
ACTOR_TYPE_KAMMY_KOOPA = 0x87,
ACTOR_TYPE_JR_TROOPA1 = 0x88,
ACTOR_TYPE_JR_TROOPA2 = 0x89,
ACTOR_TYPE_JR_TROOPA3 = 0x8A,
ACTOR_TYPE_JR_TROOPA4 = 0x8B,
ACTOR_TYPE_JR_TROOPA5 = 0x8C,
ACTOR_TYPE_JR_TROOPA6 = 0x8D,
ACTOR_TYPE_JR_TROOPA_DUP1 = 0x8E,
ACTOR_TYPE_JR_TROOPA_DUP2 = 0x8F,
ACTOR_TYPE_BLUE_GOOMBA_BOSS = 0x90,
ACTOR_TYPE_RED_GOOMBA_BOSS = 0x91,
ACTOR_TYPE_GOOMBA_KING = 0x92,
ACTOR_TYPE_GOOMNUT_TREE = 0x93,
ACTOR_TYPE_GOOMBARIO_TUTOR1 = 0x94,
ACTOR_TYPE_MAGIKOOPA_BOSS = 0x95,
ACTOR_TYPE_FLYING_MAGIKOOPA_BOSS = 0x96,
ACTOR_TYPE_MAGIKOOPA_DUP1 = 0x97,
ACTOR_TYPE_MAGIKOOPA_DUP2 = 0x98,
ACTOR_TYPE_FAKE_BOWSER = 0x99,
ACTOR_TYPE_KOOPA_BROS = 0x9A,
ACTOR_TYPE_GREEN_NINJAKOOPA = 0x9B,
ACTOR_TYPE_RED_NINJAKOOPA = 0x9C,
ACTOR_TYPE_BLUE_NINJAKOOPA = 0x9D,
ACTOR_TYPE_YELLOW_NINJAKOOPA = 0x9E,
ACTOR_TYPE_ELDSTAR = 0x9F,
ACTOR_TYPE_BUZZAR = 0xA0,
ACTOR_TYPE_TUTANKOOPA = 0xA1,
ACTOR_TYPE_CHOMP = 0xA2,
ACTOR_TYPE_TUBBA_BLUBBA_INVINCIBLE = 0xA3,
ACTOR_TYPE_TUBBA_BLUBBA = 0xA4,
ACTOR_TYPE_TUBBA_HEART = 0xA5,
ACTOR_TYPE_STILT_GUY = 0xA6,
ACTOR_TYPE_SHY_STACK = 0xA7,
ACTOR_TYPE_SHY_SQUAD = 0xA8,
ACTOR_TYPE_GENERAL_GUY = 0xA9,
ACTOR_TYPE_TOY_TANK = 0xAA,
ACTOR_TYPE_LIGHT_BULB = 0xAB,
ACTOR_TYPE_SIGNAL_GUY = 0xAC,
ACTOR_TYPE_SHY_SQUAD_DUP = 0xAD,
ACTOR_TYPE_SHY_GUY_DUP = 0xAE,
ACTOR_TYPE_ANTI_GUY = 0xAF,
ACTOR_TYPE_ANTI_GUY_DUP = 0xB0,
ACTOR_TYPE_BIG_LANTERN_GHOST = 0xB1,
ACTOR_TYPE_GOOMBA_KING_DUP = 0xB2,
ACTOR_TYPE_LAVA_PIRANHA_PHASE_1 = 0xB3,
ACTOR_TYPE_LAVA_PIRANHA_PHASE_2 = 0xB4,
ACTOR_TYPE_LAVA_BUD_PHASE_1 = 0xB5,
ACTOR_TYPE_LAVA_BUD_PHASE_2 = 0xB6,
ACTOR_TYPE_PETIT_PIRANHA = 0xB7,
ACTOR_TYPE_PETIT_PIRANHA_BOMB = 0xB8,
ACTOR_TYPE_KENT_C_KOOPA = 0xB9,
ACTOR_TYPE_HUFF_N_PUFF = 0xBA,
ACTOR_TYPE_TUFF_PUFF = 0xBB,
ACTOR_TYPE_MONSTAR = 0xBC,
ACTOR_TYPE_CRYSTAL_KING = 0xBD,
ACTOR_TYPE_CRYSTAL_CLONE = 0xBE,
ACTOR_TYPE_CRYSTAL_BIT = 0xBF,
ACTOR_TYPE_INTRO_BOWSER = 0xC0,
ACTOR_TYPE_BOWSER_PHASE_1 = 0xC1,
ACTOR_TYPE_BOWSER_DUP1 = 0xC2,
ACTOR_TYPE_BOWSER_PHASE_2 = 0xC3,
ACTOR_TYPE_BOWSER_DUP2 = 0xC4,
ACTOR_TYPE_BOWSER_PHASE_3 = 0xC5,
ACTOR_TYPE_BOWSER_DUP3 = 0xC6,
ACTOR_TYPE_BLOOPER = 0xC7,
ACTOR_TYPE_ELECTRO_BLOOPER1 = 0xC8,
ACTOR_TYPE_ELECTRO_BLOOPER2 = 0xC9,
ACTOR_TYPE_SUPER_BLOOPER1 = 0xCA,
ACTOR_TYPE_SUPER_BLOOPER2 = 0xCB,
ACTOR_TYPE_BLOOPER_BABY = 0xCC,
ACTOR_TYPE_LAKILESTER_DUP = 0xCD,
ACTOR_TYPE_SLOT_MACHINE_START = 0xCE,
ACTOR_TYPE_SLOT_MACHINE_STOP = 0xCF,
ACTOR_TYPE_WHACKA = 0xD0,
ACTOR_TYPE_SLOT_MACHINE_START_DUP1 = 0xD1,
ACTOR_TYPE_SLOT_MACHINE_START_DUP2 = 0xD2,
ACTOR_TYPE_SLOT_MACHINE_START_DUP3 = 0xD3,
ACTOR_TYPE_COUNT = 0xD4,
} ActorType;
extern s32 bActorNames[];
@ -339,13 +339,13 @@ typedef struct Stage {
/* 0x00 */ char* texture;
/* 0x04 */ const char* shape;
/* 0x08 */ const char* hit;
/* 0x0C */ EvtScript* preBattle;
/* 0x10 */ EvtScript* postBattle;
/* 0x0C */ EvtScript* preBattle; // sets BattleStatus::controlScript on battle start
/* 0x10 */ EvtScript* postBattle; // sets BattleStatus::controlScript on battle end
/* 0x14 */ char* bg;
/* 0x18 */ s32* foregroundModelList;
/* 0x1C */ s32 specialFormationSize;
/* 0x20 */ Formation* specialFormation;
/* 0x24 */ s32 unk_24;
/* 0x1C */ s32 stageEnemyCount; // number of enemies in the stageFormation
/* 0x20 */ Formation* stageFormation; // extra enemies native to this stage
/* 0x24 */ s32 stageEnemyChance; // chance for stageFormation enemies to spawn: N = 0 means always, N > 0 is 1/N chance
} Stage; // size = 0x28
/// Zero-terminated.
@ -354,7 +354,7 @@ typedef struct Battle {
/* 0x04 */ s32 formationSize;
/* 0x08 */ Formation* formation;
/* 0x0C */ Stage* stage;
/* 0x10 */ EvtScript* unk_10;
/* 0x10 */ EvtScript* onBattleStart; // sets BattleStatus::controlScript on battle start, overrides Stage::preBattle
} Battle; // size = 0x14
typedef Battle BattleList[];
@ -400,7 +400,7 @@ typedef struct ActorOffsets {
/* 0x03 */ s8 shadow;
} ActorOffsets; // size = 0x04
extern BattleList* D_800DC4FC;
extern Battle* gCurrentBattlePtr;
extern ActorOffsets bActorOffsets[ACTOR_TYPE_COUNT];

View File

@ -230,7 +230,7 @@ EvtScript N(dropCoin) = {
EVT_CALL(PlaySoundAtActor, LVarA, SOUND_212)
EVT_LOOP(0)
EVT_CALL(GetBattleFlags, LVar1)
EVT_IF_FLAG(LVar1, BS_FLAGS1_80000)
EVT_IF_FLAG(LVar1, BS_FLAGS1_PARTNER_ACTING)
EVT_BREAK_LOOP
EVT_END_IF
EVT_IF_NOT_FLAG(LVar1, BS_FLAGS1_100)
@ -494,7 +494,7 @@ EvtScript N(takeTurn) = {
EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(10.0))
EVT_CALL(SetGoalPos, ACTOR_SELF, 300, 0, 0)
EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_ENEMY_FLED, 1)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_BATTLE_FLED, 1)
EVT_CALL(func_8027D32C, ACTOR_SELF)
EVT_CALL(RemoveActor, ACTOR_SELF)
EVT_RETURN

View File

@ -315,7 +315,7 @@ EvtScript N(handleEvent) = {
EvtScript N(canBeKnockedOff) = {
EVT_CALL(GetBattleFlags, LVar0)
EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_80000)
EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_PARTNER_ACTING)
EVT_IF_FLAG(LVar0, BS_FLAGS1_40 | BS_FLAGS1_200)
EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1)
EVT_END_IF

View File

@ -317,7 +317,7 @@ EvtScript N(handleEvent) = {
EvtScript N(canBeKnockedOff) = {
EVT_CALL(GetBattleFlags, LVar0)
EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_80000)
EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_PARTNER_ACTING)
EVT_IF_FLAG(LVar0, BS_FLAGS1_40 | BS_FLAGS1_200)
EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1)
EVT_END_IF

View File

@ -276,7 +276,7 @@ EvtScript N(idle) = {
EvtScript N(canBeKnockedOff) = {
EVT_CALL(GetBattleFlags, LVar0)
EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_80000)
EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_PARTNER_ACTING)
EVT_IF_FLAG(LVar0, BS_FLAGS1_200 | BS_FLAGS1_40)
EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_CAN_FALL), 1)
EVT_END_IF

View File

@ -315,7 +315,7 @@ EvtScript N(handleEvent) = {
EvtScript N(canBeKnockedOff) = {
EVT_CALL(GetBattleFlags, LVar0)
EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_80000)
EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_PARTNER_ACTING)
EVT_IF_FLAG(LVar0, BS_FLAGS1_40 | BS_FLAGS1_200)
EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1)
EVT_END_IF

View File

@ -318,7 +318,7 @@ EvtScript N(handleEvent_80223E24) = {
EvtScript N(canBeKnockedOff) = {
EVT_CALL(GetBattleFlags, LVar0)
EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_80000)
EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_PARTNER_ACTING)
EVT_IF_FLAG(LVar0, BS_FLAGS1_40 | BS_FLAGS1_200)
EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1)
EVT_END_IF

View File

@ -314,7 +314,7 @@ EvtScript N(handleEvent) = {
EvtScript N(canBeKnockedOff) = {
EVT_CALL(GetBattleFlags, LVar0)
EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_80000)
EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_PARTNER_ACTING)
EVT_IF_FLAG(LVar0, BS_FLAGS1_40 | BS_FLAGS1_200)
EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1)
EVT_END_IF

View File

@ -7,7 +7,7 @@ static s32 itemIcon;
ApiStatus N(GiveRefund)(Evt* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;
Actor* player = gBattleStatus.playerActor;
s32 sellValue = gItemTable[battleStatus->selectedItemID].sellValue;
s32 sellValue = gItemTable[battleStatus->moveArgument].sellValue;
f32 posX;
f32 posY = player->currentPos.y + player->size.y;
f32 posZ;
@ -51,7 +51,7 @@ ApiStatus N(GiveRefund)(Evt* script, s32 isInitialCall) {
ApiStatus N(GiveRefundCleanup)(Evt* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;
s32 sellValue = gItemTable[battleStatus->selectedItemID].sellValue;
s32 sellValue = gItemTable[battleStatus->moveArgument].sellValue;
if (player_team_is_ability_active(battleStatus->playerActor, ABILITY_REFUND) && sellValue > 0) {
hud_element_free(itemIcon);

View File

@ -8,7 +8,7 @@ ApiStatus N(func_802A123C_7307DC)(Evt* script, s32 isInitialCall) {
Actor* player = battleStatus->playerActor;
inflict_status(player, STATUS_STATIC, script->varTable[0]);
player->status = 0;
player->statusAfflicted = 0;
return ApiStatus_DONE2;
}

View File

@ -37,7 +37,7 @@ ApiStatus N(func_802A12EC_7333BC)(Evt* script, s32 isInitialCall) {
partner->disableEffect->data.disableX->koDuration = partner->koDuration;
} else {
partner->koStatus = 0;
dispatch_event_partner(EVENT_RECOVER_PARTNER);
dispatch_event_partner(EVENT_RECOVER_FROM_KO);
partner->disableEffect->data.disableX->koDuration = 0;
}

View File

@ -37,7 +37,7 @@ ApiStatus N(func_802A12EC_72E81C)(Evt* script, s32 isInitialCall) {
partner->disableEffect->data.disableX->koDuration = partner->koDuration;
} else {
partner->koStatus = 0;
dispatch_event_partner(EVENT_RECOVER_PARTNER);
dispatch_event_partner(EVENT_RECOVER_FROM_KO);
partner->disableEffect->data.disableX->koDuration = 0;
}

View File

@ -37,7 +37,7 @@ ApiStatus N(func_802A12EC_715B3C)(Evt* script, s32 isInitialCall) {
partner->disableEffect->data.disableX->koDuration = partner->koDuration;
} else {
partner->koStatus = 0;
dispatch_event_partner(EVENT_RECOVER_PARTNER);
dispatch_event_partner(EVENT_RECOVER_FROM_KO);
partner->disableEffect->data.disableX->koDuration = 0;
}

View File

@ -149,8 +149,8 @@ s32 N(func_802A13E4_72C994)(Evt* script, s32 isInitialCall) {
}
var_v0_3 = i = D_802A25E8 / 26; // use of i required to match
battleStatus->selectedItemID = D_802A25FC[D_802A25E8 / 26];
script->varTable[0] = battleStatus->selectedItemID;
battleStatus->moveArgument = D_802A25FC[D_802A25E8 / 26];
script->varTable[0] = battleStatus->moveArgument;
free_worker(D_802A25F8);
for (i = 0; i < ARRAY_COUNT(D_802A25C8); i++) {
hud_element_free(D_802A25C8[i]);

View File

@ -8,7 +8,7 @@ ApiStatus N(func_802A123C_72DDAC)(Evt* script, s32 isInitialCall) {
ActorPart* part = player->partsTable;
inflict_status(player, STATUS_TRANSPARENT, script->varTable[0]);
player->status = 0;
player->statusAfflicted = 0;
part->flags |= ACTOR_PART_FLAG_100;
return ApiStatus_DONE2;

View File

@ -15,7 +15,7 @@ ApiStatus N(func_802A123C_7217DC)(Evt* script, s32 isInitialCall) {
switch (script->functionTemp[0]) {
case 0:
inflict_status(player, STATUS_STONE, script->varTable[0]);
player->status = 0;
player->statusAfflicted = 0;
script->functionTemp[1] = 3;
script->functionTemp[0] = 1;
break;

View File

@ -140,8 +140,8 @@ s32 N(func_802A13E4_7316E4)(Evt* script, s32 isInitialCall) {
}
var_v0_3 = i = D_802A2DF0 / 26; // use of i required to match
battleStatus->selectedItemID = N(D_802A2858_732B58)[var_v0_3];
script->varTable[0] = battleStatus->selectedItemID;
battleStatus->moveArgument = N(D_802A2858_732B58)[var_v0_3];
script->varTable[0] = battleStatus->moveArgument;
free_worker(D_802A2E00);
for (i = 0; i < ARRAY_COUNT(D_802A2DD8); i++) {
hud_element_free(D_802A2DD8[i]);
@ -210,7 +210,7 @@ ApiStatus N(func_802A1AD8_731DD8)(Evt* script, s32 isInitialCall) {
Actor* player = battleStatus->playerActor;
inflict_status(player, STATUS_STATIC, 3);
player->status = 0;
player->statusAfflicted = 0;
return ApiStatus_DONE2;
}
@ -221,7 +221,7 @@ ApiStatus N(func_802A1B14_731E14)(Evt* script, s32 isInitialCall) {
ActorPart* part = player->partsTable;
inflict_status(player, STATUS_TRANSPARENT, 3);
player->status = 0;
player->statusAfflicted = 0;
part->flags |= ACTOR_PART_FLAG_100;
return ApiStatus_DONE2;
@ -232,7 +232,7 @@ ApiStatus N(func_802A1B68_731E68)(Evt* script, s32 isInitialCall) {
Actor* player = battleStatus->playerActor;
inflict_status(player, STATUS_SLEEP, 3);
player->status = 0;
player->statusAfflicted = 0;
return ApiStatus_DONE2;
}

View File

@ -37,7 +37,7 @@ ApiStatus N(func_802A12EC_724FCC)(Evt* script, s32 isInitialCall) {
partner->disableEffect->data.disableX->koDuration = partner->koDuration;
} else {
partner->koStatus = 0;
dispatch_event_partner(EVENT_RECOVER_PARTNER);
dispatch_event_partner(EVENT_RECOVER_FROM_KO);
partner->disableEffect->data.disableX->koDuration = 0;
}

View File

@ -7,7 +7,7 @@ ApiStatus N(func_802A123C_71AA2C)(Evt* script, s32 isInitialCall) {
Actor* player = battleStatus->playerActor;
inflict_status(player, STATUS_STATIC, script->varTable[0]);
player->status = 0;
player->statusAfflicted = 0;
return ApiStatus_DONE2;
}

View File

@ -567,7 +567,7 @@ EvtScript N(handleEvent) = {
EVT_CASE_EQ(EVENT_33)
EVT_SET_CONST(LVar1, ANIM_BattleBombette_Hurt)
EVT_EXEC_WAIT(DoPartnerHit)
EVT_CASE_EQ(EVENT_RECOVER_PARTNER)
EVT_CASE_EQ(EVENT_RECOVER_FROM_KO)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_BattleBombette_Idle)
EVT_SET_CONST(LVar2, ANIM_BattleBombette_Run)

View File

@ -284,7 +284,7 @@ EvtScript N(handleEvent) = {
EVT_CASE_EQ(EVENT_33)
EVT_SET_CONST(LVar1, ANIM_BattleBow_Hurt)
EVT_EXEC_WAIT(DoPartnerHit)
EVT_CASE_EQ(EVENT_RECOVER_PARTNER)
EVT_CASE_EQ(EVENT_RECOVER_FROM_KO)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_BattleBow_Idle)
EVT_SET_CONST(LVar2, ANIM_BattleBow_Run)

View File

@ -617,7 +617,7 @@ EvtScript N(handleEvent) = {
EVT_CALL(N(StopCharge))
EVT_SET_CONST(LVar1, ANIM_BattleGoombario_HurtStill)
EVT_EXEC_WAIT(DoPartnerHit)
EVT_CASE_EQ(EVENT_RECOVER_PARTNER)
EVT_CASE_EQ(EVENT_RECOVER_FROM_KO)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_BattleGoombario_Idle)
EVT_SET_CONST(LVar2, ANIM_BattleGoombario_Run)

View File

@ -123,7 +123,7 @@ EvtScript N(handleEvent) = {
EVT_SET_CONST(LVar1, ANIM_Goompa_Injured)
EVT_EXEC_WAIT(DoNormalHit)
EVT_CASE_EQ(EVENT_33)
EVT_CASE_EQ(EVENT_RECOVER_PARTNER)
EVT_CASE_EQ(EVENT_RECOVER_FROM_KO)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_Goompa_Idle)
EVT_SET_CONST(LVar2, ANIM_Goompa_Run)

View File

@ -317,7 +317,7 @@ EvtScript N(handleEvent) = {
EVT_CASE_EQ(EVENT_33)
EVT_SET_CONST(LVar1, ANIM_BattleKooper_Hurt)
EVT_EXEC_WAIT(DoPartnerHit)
EVT_CASE_EQ(EVENT_RECOVER_PARTNER)
EVT_CASE_EQ(EVENT_RECOVER_FROM_KO)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_BattleKooper_Idle)
EVT_SET_CONST(LVar2, ANIM_BattleKooper_Run)

View File

@ -241,7 +241,7 @@ EvtScript N(handleEvent) = {
EVT_CASE_EQ(EVENT_33)
EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Hurt)
EVT_EXEC_WAIT(DoPartnerHit)
EVT_CASE_EQ(EVENT_RECOVER_PARTNER)
EVT_CASE_EQ(EVENT_RECOVER_FROM_KO)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Walk)
EVT_SET_CONST(LVar2, ANIM_BattleLakilester_Run)

View File

@ -753,7 +753,7 @@ EvtScript N(handleEvent) = {
EVT_CASE_EQ(EVENT_33)
EVT_SET_CONST(LVar1, ANIM_BattleParakarry_HurtStill)
EVT_EXEC_WAIT(DoPartnerHit)
EVT_CASE_EQ(EVENT_RECOVER_PARTNER)
EVT_CASE_EQ(EVENT_RECOVER_FROM_KO)
EVT_SET_CONST(LVar1, ANIM_BattleParakarry_Walk)
EVT_SET_CONST(LVar2, ANIM_BattleParakarry_Run)
EVT_SET(LVar3, 30)

View File

@ -523,7 +523,7 @@ EvtScript N(handleEvent) = {
EVT_CASE_EQ(EVENT_33)
EVT_SET_CONST(LVar1, ANIM_BattleSushie_Hurt)
EVT_EXEC_WAIT(DoPartnerHit)
EVT_CASE_EQ(EVENT_RECOVER_PARTNER)
EVT_CASE_EQ(EVENT_RECOVER_FROM_KO)
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_BattleSushie_Idle)
EVT_SET_CONST(LVar2, ANIM_BattleSushie_Run)

View File

@ -588,7 +588,7 @@ EvtScript N(handleEvent) = {
EVT_CASE_EQ(EVENT_33)
EVT_SET_CONST(LVar1, ANIM_BattleWatt_Hurt)
EVT_EXEC_WAIT(DoPartnerHit)
EVT_CASE_EQ(EVENT_RECOVER_PARTNER)
EVT_CASE_EQ(EVENT_RECOVER_FROM_KO)
EVT_CALL(N(WattFXBounce))
EVT_SET_CONST(LVar0, 1)
EVT_SET_CONST(LVar1, ANIM_BattleWatt_Idle)

View File

@ -121,7 +121,7 @@ EvtScript CamPreset_A = {
EVT_END
};
EvtScript D_80280EB8 = {
EvtScript EVS_OnBattleInit = {
EVT_CALL(SetCamPerspective, 1, 6, 25, 16, 1024)
EVT_CALL(SetCamViewport, 1, 12, 20, 296, 200)
EVT_CALL(SetCamBGColor, 1, 0, 0, 0)

View File

@ -843,7 +843,7 @@ void update_encounters_neutral(void) {
break;
}
sfx_play_sound_at_position(SOUND_HIT_PLAYER_NORMAL, 0, playerStatus->position.x, playerStatus->position.y, playerStatus->position.z);
enemy->encountered = 2;
enemy->encountered = ENCOUNTER_STATE_NEUTRAL;
currentEncounter->currentEncounter = encounter;
currentEncounter->currentEnemy = enemy;
currentEncounter->firstStrikeType = FIRST_STRIKE_PLAYER;
@ -1160,7 +1160,7 @@ START_BATTLE:
}
enemy = currentEncounter->currentEnemy;
if (enemy->interactBytecode != NULL) {
enemy->encountered = 5;
enemy->encountered = ENCOUNTER_TRIGGER_CONVERSATION;
script = start_script(enemy->interactBytecode, EVT_PRIORITY_A, 0);
enemy->interactScript = script;
enemy->interactScriptID = script->id;
@ -1374,7 +1374,7 @@ void update_encounters_pre_battle(void) {
currentEncounter->dizzyAttackDuration = 0;
enemy = currentEncounter->currentEnemy;
currentEncounter->unk_10 = enemy->unk_B5;
currentEncounter->instigatorValue = enemy->instigatorValue;
if (is_ability_active(ABILITY_DIZZY_ATTACK) && currentEncounter->hitType == ENCOUNTER_TRIGGER_SPIN) {
currentEncounter->dizzyAttackStatus = 4;
@ -1938,7 +1938,7 @@ void update_encounters_post_battle(void) {
}
if (enemy->defeatBytecode != NULL) {
script = start_script(enemy->defeatBytecode, 0xA, 0);
script = start_script(enemy->defeatBytecode, EVT_PRIORITY_A, 0);
enemy->defeatScript = script;
enemy->defeatScriptID = script->id;
script->owner1.enemy = enemy;
@ -2056,7 +2056,7 @@ void update_encounters_post_battle(void) {
}
if (enemy->defeatBytecode != NULL) {
script = start_script(enemy->defeatBytecode, 0xA, 0);
script = start_script(enemy->defeatBytecode, EVT_PRIORITY_A, 0);
enemy->defeatScript = script;
enemy->defeatScriptID = script->id;
script->owner1.enemy = enemy;
@ -2486,7 +2486,7 @@ void create_encounters(void) {
enemy->auxScriptID = 0;
enemy->defeatScriptID = 0;
enemy->unk_07 = 0;
enemy->unk_B5 = 0;
enemy->instigatorValue = 0;
enemy->aiDetectFlags = npcData->aiDetectFlags;

View File

@ -764,14 +764,14 @@ ApiStatus func_80045798(Evt* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
ApiStatus func_800457C4(Evt* script, s32 isInitialCall) {
Enemy* ownerActor = script->owner1.enemy;
ApiStatus SetOwnerInstigatorValue(Evt* script, s32 isInitialCall) {
Enemy* enemy = script->owner1.enemy;
ownerActor->unk_B5 = evt_get_variable(script, *script->ptrReadPos);
enemy->instigatorValue = evt_get_variable(script, *script->ptrReadPos);
return ApiStatus_DONE2;
}
ApiStatus func_800457F8(Evt* script, s32 isInitialCall) {
ApiStatus SetBattleAsScripted(Evt* script, s32 isInitialCall) {
gCurrentEncounter.scriptedBattle = TRUE;
return ApiStatus_DONE2;
}
@ -783,16 +783,16 @@ ApiStatus GetEncounterTriggerHitTier(Evt* script, s32 isInitialCall) {
ApiStatus func_80045838(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 var1 = evt_get_variable(script, *args++);
s32 var2 = evt_get_variable(script, *args++);
s32 var3 = evt_get_variable(script, *args);
Npc* npc = resolve_npc(script, var1);
s32 npcID = evt_get_variable(script, *args++);
s32 soundID = evt_get_variable(script, *args++);
s32 upperSoundFLags = evt_get_variable(script, *args++);
Npc* npc = resolve_npc(script, npcID);
if (npc == NULL) {
return ApiStatus_DONE2;
}
ai_enemy_play_sound(npc, var2, var3);
ai_enemy_play_sound(npc, soundID, upperSoundFLags);
return ApiStatus_DONE2;
}

View File

@ -46,7 +46,7 @@ ApiStatus PollMusicEvents(Evt* script, s32 isInitialCall) {
kill_script_by_ID(RunningMusicEventIDs[musicEventID]);
}
if (newSource != NULL) {
Evt* newEvt = start_script(newSource, 1, 0);
Evt* newEvt = start_script(newSource, EVT_PRIORITY_1, 0);
RunningMusicEvents[musicEventID] = newEvt;
RunningMusicEventIDs[musicEventID] = newEvt->id;
}

View File

@ -8,6 +8,8 @@
typedef s32 HudScript[0];
typedef s32 HudElemID;
enum {
HUD_ELEMENT_OP_End,
HUD_ELEMENT_OP_SetRGBA,
@ -126,9 +128,9 @@ typedef struct PopupMenu {
/* 0x290 */ char unk_290[0x4];
/* 0x294 */ s32 descMsg[32];
/* 0x314 */ char unk_314[0x4];
/* 0x318 */ s32 popupType; // C = keys
/* 0x31C */ s32 unk_31C;
/* 0x320 */ s32 unk_320;
/* 0x318 */ s32 popupType;
/* 0x31C */ s32 dipMode;
/* 0x320 */ s32 titleNumber; // used to display 2/3 with double/triple dip
/* 0x324 */ s32 numEntries;
/* 0x328 */ s32 initialPos;
/* 0x32C */ s16 result;

View File

@ -118,7 +118,7 @@ u16 D_80293E04[] = {
ApiStatus LoadItemScript(Evt* script, s32 isInitialCall) {
PlayerData* playerData = &gPlayerData;
BattleStatus* battleStatus = &gBattleStatus;
s16 itemID = battleStatus->selectedItemID;
s16 itemID = battleStatus->moveArgument;
ItemData* item = &gItemTable[itemID];
s32 i = 0;
s32* itemPtr;
@ -146,13 +146,13 @@ ApiStatus LoadItemScript(Evt* script, s32 isInitialCall) {
itemPtr = &D_80293B80[0];
for (i = 0; *itemPtr != ITEM_NONE; i++, itemPtr++) {
if (*itemPtr == battleStatus->selectedItemID) {
if (*itemPtr == battleStatus->moveArgument) {
break;
}
}
if (*itemPtr == ITEM_NONE) {
if (item->typeFlags & 0x80) {
if (item->typeFlags & ITEM_TYPE_FLAG_FOOD_OR_DRINK) {
i = 0;
} else {
i = 1;
@ -170,12 +170,12 @@ ApiStatus LoadItemScript(Evt* script, s32 isInitialCall) {
ApiStatus LoadFreeItemScript(Evt* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;
Actor* actor = battleStatus->playerActor;
ItemData* item = &gItemTable[battleStatus->selectedItemID];
ItemData* item = &gItemTable[battleStatus->moveArgument];
SelectableTarget* target;
s32* itemPtr;
s32 i;
battleStatus->currentTargetListFlags = item->targetFlags | 0x8000;
battleStatus->currentTargetListFlags = item->targetFlags | ITEM_TARGET_FLAG_8000;
battleStatus->currentAttackElement = 0;
player_create_target_list(actor);
@ -186,13 +186,13 @@ ApiStatus LoadFreeItemScript(Evt* script, s32 isInitialCall) {
itemPtr = &D_80293B80[0];
for (i = 0; *itemPtr != ITEM_NONE; i++, itemPtr++) {
if (*itemPtr == battleStatus->selectedItemID){
if (*itemPtr == battleStatus->moveArgument){
break;
}
}
if (*itemPtr == ITEM_NONE) {
if (item->typeFlags & 0x80) {
if (item->typeFlags & ITEM_TYPE_FLAG_FOOD_OR_DRINK) {
i = 0;
} else {
i = 1;

View File

@ -23,14 +23,22 @@ GameStatus* gGameStatusPtr = &gGameStatus;
s16 D_800741A0 = 0;
s16 D_800741A2 = 0;
s32 D_800741A4 = 0;
Mtx D_800741A8 = {
.m = {
{ 0x00010000, 0x00000000, 0x00000001, 0x00000000 },
{ 0x00000000, 0x00010000, 0x00000000, 0x00000001 },
{ 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
{ 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
Matrix4s MasterIdentityMtx = {
.whole = {
{1, 0, 0, 0},
{0, 1, 0, 0},
{0, 0, 1, 0},
{0, 0, 0, 1}
},
.frac = {
{0, 0, 0, 0},
{0, 0, 0, 0},
{0, 0, 0, 0},
{0, 0, 0, 0}
}
};
s32 D_800741E8[2] = {0, 0}; // padding?
u16 gMatrixListPos = 0;
u16 D_800741F2 = 0;
@ -192,7 +200,7 @@ void gfx_draw_frame(void) {
return;
}
gSPMatrix(gMasterGfxPos++, &D_800741A8, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPMatrix(gMasterGfxPos++, &MasterIdentityMtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
spr_render_init();
@ -330,34 +338,34 @@ void load_engine_data(void) {
/// 0: normal
/// 1: NPCs move, can't be interacted with
/// 2: NPCs don't move, no partner ability, can't interact, can't use exits
/// 3: NPCs don't more or animate (partner switch menu)
/// 3: NPCs don't more or animate
/// 4: NPCs can move, animations don't update, can use exits
void set_time_freeze_mode(s32 mode) {
switch (mode) {
case 0:
case TIME_FREEZE_NORMAL:
timeFreezeMode = mode;
gOverrideFlags &= ~(GLOBAL_OVERRIDES_800 | GLOBAL_OVERRIDES_400 | GLOBAL_OVERRIDES_200 | GLOBAL_OVERRIDES_DISABLE_BATTLES);
resume_all_group(EVT_GROUP_01 | EVT_GROUP_02);
break;
case 1:
case TIME_FREEZE_PARTIAL:
timeFreezeMode = mode;
gOverrideFlags &= ~(GLOBAL_OVERRIDES_800 | GLOBAL_OVERRIDES_400 | GLOBAL_OVERRIDES_200);
gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_BATTLES;
suspend_all_group(EVT_GROUP_01);
break;
case 2:
case TIME_FREEZE_FULL:
timeFreezeMode = mode;
gOverrideFlags &= ~(GLOBAL_OVERRIDES_400 | GLOBAL_OVERRIDES_800);
gOverrideFlags |= GLOBAL_OVERRIDES_200 | GLOBAL_OVERRIDES_DISABLE_BATTLES;
suspend_all_group(EVT_GROUP_02);
break;
case 3:
case TIME_FREEZE_POPUP_MENU:
timeFreezeMode = mode;
gOverrideFlags &= ~GLOBAL_OVERRIDES_800;
gOverrideFlags |= GLOBAL_OVERRIDES_400 | GLOBAL_OVERRIDES_200 | GLOBAL_OVERRIDES_DISABLE_BATTLES;
suspend_all_group(EVT_GROUP_02);
break;
case 4:
case TIME_FREEZE_EXIT:
timeFreezeMode = mode;
gOverrideFlags |= GLOBAL_OVERRIDES_800 | GLOBAL_OVERRIDES_400 | GLOBAL_OVERRIDES_200 | GLOBAL_OVERRIDES_DISABLE_BATTLES;
break;

View File

@ -554,7 +554,7 @@ MoveData gMoveTable[] = {
.fullDescMsg = 0,
.shortDescMsg = 0,
.flags = 0,
.category = MOVE_TYPE_TACTICS,
.category = MOVE_TYPE_SWITCH,
.actionTip = MOVE_ACTION_TIP_NONE,
.costFP = 0,
.costBP = 0
@ -564,7 +564,7 @@ MoveData gMoveTable[] = {
.fullDescMsg = MSG_ItemFullDesc_QuickChange,
.shortDescMsg = MSG_ItemShortDesc_QuickChange,
.flags = 0,
.category = MOVE_TYPE_TACTICS,
.category = MOVE_TYPE_SWITCH,
.actionTip = MOVE_ACTION_TIP_NONE,
.costFP = 0,
.costBP = 4

View File

@ -24,7 +24,7 @@ void state_init_pause(void) {
D_800A0921 = 0;
D_800A0922 = 0;
disable_player_input();
set_time_freeze_mode(TIME_FREEZE_PARTNER_MENU);
set_time_freeze_mode(TIME_FREEZE_POPUP_MENU);
set_windows_visible(WINDOW_GROUP_PAUSE_MENU);
}

View File

@ -96,10 +96,10 @@ API_CALLABLE(N(TryEnchantPlayer)) {
playerData->merleeSpellType = MERLEE_SPELL_2;
break;
case 2:
playerData->merleeSpellType = MERLEE_SPELL_3;
playerData->merleeSpellType = MERLEE_SPELL_EXP_BOOST;
break;
case 3:
playerData->merleeSpellType = MERLEE_SPELL_4;
playerData->merleeSpellType = MERLEE_SPELL_COIN_BOOST;
break;
}
evt_set_variable(script, outPrevented, FALSE);

View File

@ -61,21 +61,21 @@ EvtScript N(EVS_NpcIdle_Pokey_03) = {
EvtScript N(EVS_NpcInit_Pokey_01) = {
EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_Pokey_01)))
EVT_CALL(func_800457C4, 3)
EVT_CALL(SetOwnerInstigatorValue, 3)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_Pokey_02) = {
EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_Pokey_02)))
EVT_CALL(func_800457C4, 3)
EVT_CALL(SetOwnerInstigatorValue, 3)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_Pokey_03) = {
EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_Pokey_03)))
EVT_CALL(func_800457C4, 3)
EVT_CALL(SetOwnerInstigatorValue, 3)
EVT_RETURN
EVT_END
};

View File

@ -145,7 +145,7 @@ EvtScript N(EVS_NpcInit_Pokey_01) = {
EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_Pokey_01)))
EVT_CALL(BindNpcDefeat, NPC_SELF, EVT_PTR(N(EVS_NpcDefeat_Pokey_01)))
EVT_CALL(InterpNpcYaw, NPC_SELF, 100, 0)
EVT_CALL(func_800457C4, 3)
EVT_CALL(SetOwnerInstigatorValue, 3)
EVT_RETURN
EVT_END
};
@ -156,7 +156,7 @@ EvtScript N(EVS_NpcInit_Pokey_02) = {
EVT_END_IF
EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_Pokey_02)))
EVT_CALL(BindNpcDefeat, NPC_SELF, EVT_PTR(N(EVS_NpcDefeat_Pokey_01)))
EVT_CALL(func_800457C4, 3)
EVT_CALL(SetOwnerInstigatorValue, 3)
EVT_RETURN
EVT_END
};
@ -167,7 +167,7 @@ EvtScript N(EVS_NpcInit_Pokey_03) = {
EVT_END_IF
EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_Pokey_03)))
EVT_CALL(BindNpcDefeat, NPC_SELF, EVT_PTR(N(EVS_NpcDefeat_Pokey_01)))
EVT_CALL(func_800457C4, 3)
EVT_CALL(SetOwnerInstigatorValue, 3)
EVT_RETURN
EVT_END
};

View File

@ -15,7 +15,7 @@ ApiStatus func_80240FC0_B45730(Evt* script, s32 isInitialCall) {
Evt* newScript;
D_8024625C_B4A9CC++;
newScript = start_script(rideScript, 0, EVT_FLAG_RUN_IMMEDIATELY);
newScript = start_script(rideScript, EVT_PRIORITY_0, EVT_FLAG_RUN_IMMEDIATELY);
newScript->varTable[1] = playerStatus->position.x - 10.0f;
newScript->varTable[2] = playerStatus->position.y;
newScript->varTable[3] = playerStatus->position.z;

View File

@ -32,6 +32,8 @@ API_CALLABLE(N(func_80242014_8B2084)) {
#include "world/common/npc/GoombaFamily_Wander.inc.c"
#include "world/common/npc/GoombaFamily.inc.c"
#include "world/common/enemy/complete/Kammy.h"
StationaryAISettings N(AISettings_Kammy) = {
.playerSearchInterval = -1,
.chaseRadius = 300.0f,
@ -1958,11 +1960,7 @@ StaticNpc N(NpcData_Kammy) = {
.yaw = 90,
.flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_800,
.init = &N(EVS_NpcInit_Kammy),
.drops = {
.dropFlags = NPC_DROP_FLAG_80,
.heartDrops = NO_DROPS,
.flowerDrops = NO_DROPS,
},
.drops = NPC_NO_DROPS,
.territory = {
.wander = {
.isFlying = TRUE,
@ -1975,24 +1973,7 @@ StaticNpc N(NpcData_Kammy) = {
.detectSize = { 100 },
}
},
.animations = {
.idle = ANIM_WorldKammy_Anim01,
.walk = ANIM_WorldKammy_Anim02,
.run = ANIM_WorldKammy_Anim03,
.chase = ANIM_WorldKammy_Anim03,
.anim_4 = ANIM_WorldKammy_Anim01,
.anim_5 = ANIM_WorldKammy_Anim01,
.death = ANIM_WorldKammy_Anim00,
.hit = ANIM_WorldKammy_Anim00,
.anim_8 = ANIM_WorldKammy_Anim03,
.anim_9 = ANIM_WorldKammy_Anim03,
.anim_A = ANIM_WorldKammy_Anim03,
.anim_B = ANIM_WorldKammy_Anim03,
.anim_C = ANIM_WorldKammy_Anim03,
.anim_D = ANIM_WorldKammy_Anim03,
.anim_E = ANIM_WorldKammy_Anim03,
.anim_F = ANIM_WorldKammy_Anim03,
},
.animations = KAMMY_ANIMS,
.extraAnimations = N(ExtraAnims_Kammy),
};

View File

@ -2,24 +2,48 @@
#define _WORLD_AREA_OMO_OMO_H_
enum {
AB_OMO_0 = AreaByte(0),
AB_OMO_1 = AreaByte(1),
AB_OMO_2 = AreaByte(2),
AB_OMO_3 = AreaByte(3),
AB_OMO_4 = AreaByte(4),
AB_OMO_5 = AreaByte(5),
AB_OMO_6 = AreaByte(6),
AB_OMO_7 = AreaByte(7),
AB_OMO_8 = AreaByte(8),
AB_OMO_9 = AreaByte(9),
AB_OMO_A = AreaByte(10),
AB_OMO_B = AreaByte(11),
AB_OMO_C = AreaByte(12),
AB_OMO_D = AreaByte(13),
AB_OMO_E = AreaByte(14),
AB_OMO_F = AreaByte(15),
AB_OMO_0 = AreaByte(0),
AB_OMO_1 = AreaByte(1),
AB_OMO_2 = AreaByte(2),
AB_OMO_3 = AreaByte(3),
AB_OMO_4 = AreaByte(4),
AB_OMO_5 = AreaByte(5),
AB_OMO_6 = AreaByte(6),
AB_OMO_7 = AreaByte(7),
AB_OMO_8 = AreaByte(8),
AB_OMO_9 = AreaByte(9),
AB_OMO_A = AreaByte(10),
AB_OMO_B = AreaByte(11),
AB_OMO_C = AreaByte(12),
AB_OMO_D = AreaByte(13),
AB_OMO_E = AreaByte(14),
AB_OMO_F = AreaByte(15),
};
#define AF_OMO(index) AreaFlag(index)
enum {
AF_OMO07_NpcPool0 = AreaFlag(7),
AF_OMO07_NpcPool1 = AreaFlag(8),
AF_OMO07_NpcPool2 = AreaFlag(9),
AF_OMO07_NpcPool3 = AreaFlag(10),
AF_OMO07_DoorOpening = AreaFlag(15),
};
extern MapSettings omo_01_settings;
extern MapSettings omo_02_settings;
extern MapSettings omo_03_settings;
extern MapSettings omo_04_settings;
extern MapSettings omo_05_settings;
extern MapSettings omo_06_settings;
extern MapSettings omo_07_settings;
extern MapSettings omo_08_settings;
extern MapSettings omo_09_settings;
extern MapSettings omo_10_settings;
extern MapSettings omo_11_settings;
extern MapSettings omo_12_settings;
extern MapSettings omo_13_settings;
extern MapSettings omo_14_settings;
extern MapSettings omo_15_settings;
extern MapSettings omo_16_settings;
extern MapSettings omo_17_settings;
#endif

View File

@ -61,6 +61,6 @@ INCLUDE_ASM(s32, "world/area_omo/omo_02/D9D510", func_8024043C_D9D90C);
#include "world/common/enemy/ai/RangedAttackAI.inc.c"
#include "world/common/todo/SetNpcB5_3.inc.c"
#include "world/common/todo/SetInstigatorValue_3.inc.c"
#include "world/common/todo/GetEncounterEnemyIsOwner.inc.c"

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