mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 03:34:15 +01:00
Convert various to callnatives - Part 1 (#3269)
This commit is contained in:
commit
582cfb0ae7
@ -1388,6 +1388,51 @@
|
|||||||
.4byte \ptr
|
.4byte \ptr
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
|
.macro handlemegaevo battler:req, case:req
|
||||||
|
callnative BS_HandleMegaEvolution
|
||||||
|
.byte \battler
|
||||||
|
.byte \case
|
||||||
|
.endm
|
||||||
|
|
||||||
|
.macro handleprimalreversion battler:req, case:req
|
||||||
|
callnative BS_HandlePrimalReversion
|
||||||
|
.byte \battler
|
||||||
|
.byte \case
|
||||||
|
.endm
|
||||||
|
|
||||||
|
.macro handleultraburst battler:req, case:req
|
||||||
|
callnative BS_HandleUltraBurst
|
||||||
|
.byte \battler
|
||||||
|
.byte \case
|
||||||
|
.endm
|
||||||
|
|
||||||
|
.macro jumpifshelltrap battler:req, jumpInstr:req
|
||||||
|
callnative BS_JumpIfShellTrap
|
||||||
|
.byte \battler
|
||||||
|
.4byte \jumpInstr
|
||||||
|
.endm
|
||||||
|
|
||||||
|
.macro jumpifemergencyexited battler:req, jumpInstr:req
|
||||||
|
callnative BS_JumpIfEmergencyExited
|
||||||
|
.byte \battler
|
||||||
|
.4byte \jumpInstr
|
||||||
|
.endm
|
||||||
|
|
||||||
|
.macro jumpifrodaffected battler:req, jumpInstr:req
|
||||||
|
callnative BS_JumpIfRod
|
||||||
|
.4byte \jumpInstr
|
||||||
|
.endm
|
||||||
|
|
||||||
|
.macro jumpifabsorbaffected battler:req, jumpInstr:req
|
||||||
|
callnative BS_JumpIfAbsorb
|
||||||
|
.4byte \jumpInstr
|
||||||
|
.endm
|
||||||
|
|
||||||
|
.macro jumpifmotoraffected battler:req, jumpInstr:req
|
||||||
|
callnative BS_JumpIfMotor
|
||||||
|
.4byte \jumpInstr
|
||||||
|
.endm
|
||||||
|
|
||||||
@ various command changed to more readable macros
|
@ various command changed to more readable macros
|
||||||
.macro cancelmultiturnmoves battler:req
|
.macro cancelmultiturnmoves battler:req
|
||||||
various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES
|
various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES
|
||||||
@ -1633,21 +1678,6 @@
|
|||||||
.4byte \failInstr
|
.4byte \failInstr
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
.macro handlemegaevo battler:req, case:req
|
|
||||||
various \battler, VARIOUS_HANDLE_MEGA_EVO
|
|
||||||
.byte \case
|
|
||||||
.endm
|
|
||||||
|
|
||||||
.macro handleprimalreversion battler:req, case:req
|
|
||||||
various \battler, VARIOUS_HANDLE_PRIMAL_REVERSION
|
|
||||||
.byte \case
|
|
||||||
.endm
|
|
||||||
|
|
||||||
.macro handleultraburst battler:req, case:req
|
|
||||||
various \battler, VARIOUS_HANDLE_ULTRA_BURST
|
|
||||||
.byte \case
|
|
||||||
.endm
|
|
||||||
|
|
||||||
.macro handleformchange battler:req, case:req
|
.macro handleformchange battler:req, case:req
|
||||||
various \battler, VARIOUS_HANDLE_FORM_CHANGE
|
various \battler, VARIOUS_HANDLE_FORM_CHANGE
|
||||||
.byte \case
|
.byte \case
|
||||||
@ -2020,21 +2050,6 @@
|
|||||||
various BS_ATTACKER, VARIOUS_SHELL_SIDE_ARM_CHECK
|
various BS_ATTACKER, VARIOUS_SHELL_SIDE_ARM_CHECK
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
.macro jumpifrodaffected battler:req, jumpInstr:req
|
|
||||||
various \battler, VARIOUS_JUMP_IF_ROD
|
|
||||||
.4byte \jumpInstr
|
|
||||||
.endm
|
|
||||||
|
|
||||||
.macro jumpifabsorbaffected battler:req, jumpInstr:req
|
|
||||||
various \battler, VARIOUS_JUMP_IF_ABSORB
|
|
||||||
.4byte \jumpInstr
|
|
||||||
.endm
|
|
||||||
|
|
||||||
.macro jumpifmotoraffected battler:req, jumpInstr:req
|
|
||||||
various \battler, VARIOUS_JUMP_IF_MOTOR
|
|
||||||
.4byte \jumpInstr
|
|
||||||
.endm
|
|
||||||
|
|
||||||
.macro jumpifteanoberry jumpInstr:req
|
.macro jumpifteanoberry jumpInstr:req
|
||||||
various BS_ATTACKER, VARIOUS_TEATIME_TARGETS
|
various BS_ATTACKER, VARIOUS_TEATIME_TARGETS
|
||||||
.4byte \jumpInstr
|
.4byte \jumpInstr
|
||||||
@ -2299,16 +2314,6 @@
|
|||||||
waitmessage B_WAIT_TIME_LONG
|
waitmessage B_WAIT_TIME_LONG
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
.macro jumpifemergencyexited battler:req, jumpInstr:req
|
|
||||||
various \battler, VARIOUS_JUMP_IF_EMERGENCY_EXITED
|
|
||||||
.4byte \jumpInstr
|
|
||||||
.endm
|
|
||||||
|
|
||||||
.macro jumpifshelltrap battler:req, ptr:req
|
|
||||||
various \battler, VARIOUS_JUMP_IF_SHELL_TRAP
|
|
||||||
.4byte \ptr
|
|
||||||
.endm
|
|
||||||
|
|
||||||
.macro hitswitchtargetfailed
|
.macro hitswitchtargetfailed
|
||||||
various 0, VARIOUS_HIT_SWITCH_TARGET_FAILED
|
various 0, VARIOUS_HIT_SWITCH_TARGET_FAILED
|
||||||
.endm
|
.endm
|
||||||
|
@ -210,53 +210,46 @@
|
|||||||
#define VARIOUS_TRY_ACTIVATE_BATTLE_BOND 118
|
#define VARIOUS_TRY_ACTIVATE_BATTLE_BOND 118
|
||||||
#define VARIOUS_CONSUME_BERRY 119
|
#define VARIOUS_CONSUME_BERRY 119
|
||||||
#define VARIOUS_JUMP_IF_CANT_REVERT_TO_PRIMAL 120
|
#define VARIOUS_JUMP_IF_CANT_REVERT_TO_PRIMAL 120
|
||||||
#define VARIOUS_HANDLE_PRIMAL_REVERSION 121
|
#define VARIOUS_APPLY_PLASMA_FISTS 121
|
||||||
#define VARIOUS_APPLY_PLASMA_FISTS 122
|
#define VARIOUS_JUMP_IF_SPECIES 122
|
||||||
#define VARIOUS_JUMP_IF_SPECIES 123
|
#define VARIOUS_UPDATE_ABILITY_POPUP 123
|
||||||
#define VARIOUS_UPDATE_ABILITY_POPUP 124
|
#define VARIOUS_JUMP_IF_WEATHER_AFFECTED 124
|
||||||
#define VARIOUS_JUMP_IF_WEATHER_AFFECTED 125
|
#define VARIOUS_JUMP_IF_LEAF_GUARD_PROTECTED 125
|
||||||
#define VARIOUS_JUMP_IF_LEAF_GUARD_PROTECTED 126
|
#define VARIOUS_SET_ATTACKER_STICKY_WEB_USER 126
|
||||||
#define VARIOUS_SET_ATTACKER_STICKY_WEB_USER 127
|
#define VARIOUS_PHOTON_GEYSER_CHECK 127
|
||||||
#define VARIOUS_PHOTON_GEYSER_CHECK 128
|
#define VARIOUS_SHELL_SIDE_ARM_CHECK 128
|
||||||
#define VARIOUS_SHELL_SIDE_ARM_CHECK 129
|
#define VARIOUS_TRY_NO_RETREAT 129
|
||||||
#define VARIOUS_TRY_NO_RETREAT 130
|
#define VARIOUS_TRY_TAR_SHOT 130
|
||||||
#define VARIOUS_TRY_TAR_SHOT 131
|
#define VARIOUS_CAN_TAR_SHOT_WORK 131
|
||||||
#define VARIOUS_CAN_TAR_SHOT_WORK 132
|
#define VARIOUS_CHECK_POLTERGEIST 132
|
||||||
#define VARIOUS_CHECK_POLTERGEIST 133
|
#define VARIOUS_SET_OCTOLOCK 133
|
||||||
#define VARIOUS_SET_OCTOLOCK 134
|
#define VARIOUS_CUT_1_3_HP_RAISE_STATS 134
|
||||||
#define VARIOUS_CUT_1_3_HP_RAISE_STATS 135
|
#define VARIOUS_TRY_END_NEUTRALIZING_GAS 135
|
||||||
#define VARIOUS_TRY_END_NEUTRALIZING_GAS 136
|
#define VARIOUS_JUMP_IF_UNDER_200 136
|
||||||
#define VARIOUS_JUMP_IF_UNDER_200 137
|
#define VARIOUS_SET_SKY_DROP 137
|
||||||
#define VARIOUS_SET_SKY_DROP 138
|
#define VARIOUS_CLEAR_SKY_DROP 138
|
||||||
#define VARIOUS_CLEAR_SKY_DROP 139
|
#define VARIOUS_SKY_DROP_YAWN 139
|
||||||
#define VARIOUS_SKY_DROP_YAWN 140
|
#define VARIOUS_JUMP_IF_HOLD_EFFECT 140
|
||||||
#define VARIOUS_JUMP_IF_HOLD_EFFECT 142
|
#define VARIOUS_CURE_CERTAIN_STATUSES 141
|
||||||
#define VARIOUS_CURE_CERTAIN_STATUSES 143
|
#define VARIOUS_TRY_RESET_NEGATIVE_STAT_STAGES 142
|
||||||
#define VARIOUS_TRY_RESET_NEGATIVE_STAT_STAGES 144
|
#define VARIOUS_JUMP_IF_LAST_USED_ITEM_BERRY 143
|
||||||
#define VARIOUS_JUMP_IF_LAST_USED_ITEM_BERRY 145
|
#define VARIOUS_JUMP_IF_LAST_USED_ITEM_HOLD_EFFECT 144
|
||||||
#define VARIOUS_JUMP_IF_LAST_USED_ITEM_HOLD_EFFECT 146
|
#define VARIOUS_SAVE_BATTLER_ITEM 145
|
||||||
#define VARIOUS_SAVE_BATTLER_ITEM 147
|
#define VARIOUS_RESTORE_BATTLER_ITEM 146
|
||||||
#define VARIOUS_RESTORE_BATTLER_ITEM 148
|
#define VARIOUS_BATTLER_ITEM_TO_LAST_USED_ITEM 147
|
||||||
#define VARIOUS_BATTLER_ITEM_TO_LAST_USED_ITEM 149
|
#define VARIOUS_SET_BEAK_BLAST 148
|
||||||
#define VARIOUS_SET_BEAK_BLAST 150
|
#define VARIOUS_SWAP_SIDE_STATUSES 149
|
||||||
#define VARIOUS_SWAP_SIDE_STATUSES 151
|
#define VARIOUS_SWAP_STATS 150
|
||||||
#define VARIOUS_SWAP_STATS 152
|
#define VARIOUS_TEATIME_INVUL 151
|
||||||
#define VARIOUS_JUMP_IF_ROD 153
|
#define VARIOUS_TEATIME_TARGETS 152
|
||||||
#define VARIOUS_JUMP_IF_ABSORB 154
|
#define VARIOUS_TRY_WIND_RIDER_POWER 153
|
||||||
#define VARIOUS_JUMP_IF_MOTOR 155
|
#define VARIOUS_ACTIVATE_WEATHER_CHANGE_ABILITIES 154
|
||||||
#define VARIOUS_TEATIME_INVUL 156
|
#define VARIOUS_ACTIVATE_TERRAIN_CHANGE_ABILITIES 155
|
||||||
#define VARIOUS_TEATIME_TARGETS 157
|
#define VARIOUS_STORE_HEALING_WISH 156
|
||||||
#define VARIOUS_TRY_WIND_RIDER_POWER 158
|
#define VARIOUS_HIT_SWITCH_TARGET_FAILED 157
|
||||||
#define VARIOUS_ACTIVATE_WEATHER_CHANGE_ABILITIES 159
|
#define VARIOUS_TRY_REVIVAL_BLESSING 158
|
||||||
#define VARIOUS_ACTIVATE_TERRAIN_CHANGE_ABILITIES 160
|
#define VARIOUS_TRY_TRAINER_SLIDE_MSG_Z_MOVE 159
|
||||||
#define VARIOUS_JUMP_IF_EMERGENCY_EXITED 161
|
#define VARIOUS_TRY_TRAINER_SLIDE_MSG_MEGA_EVOLUTION 160
|
||||||
#define VARIOUS_STORE_HEALING_WISH 162
|
|
||||||
#define VARIOUS_HIT_SWITCH_TARGET_FAILED 163
|
|
||||||
#define VARIOUS_JUMP_IF_SHELL_TRAP 164
|
|
||||||
#define VARIOUS_TRY_REVIVAL_BLESSING 165
|
|
||||||
#define VARIOUS_TRY_TRAINER_SLIDE_MSG_Z_MOVE 166
|
|
||||||
#define VARIOUS_TRY_TRAINER_SLIDE_MSG_MEGA_EVOLUTION 167
|
|
||||||
#define VARIOUS_HANDLE_ULTRA_BURST 168
|
|
||||||
|
|
||||||
// Cmd_manipulatedamage
|
// Cmd_manipulatedamage
|
||||||
#define DMG_CHANGE_SIGN 0
|
#define DMG_CHANGE_SIGN 0
|
||||||
|
@ -8344,8 +8344,8 @@ static bool32 IsAbilityRodAffected(void)
|
|||||||
|
|
||||||
if (gBattleStruct->dynamicMoveType == 0)
|
if (gBattleStruct->dynamicMoveType == 0)
|
||||||
moveType = gBattleMoves[gCurrentMove].type;
|
moveType = gBattleMoves[gCurrentMove].type;
|
||||||
else if (!(gBattleStruct->dynamicMoveType & 0x40))
|
else if (!(gBattleStruct->dynamicMoveType & F_DYNAMIC_TYPE_1))
|
||||||
moveType = gBattleStruct->dynamicMoveType & 0x3F;
|
moveType = gBattleStruct->dynamicMoveType & DYNAMIC_TYPE_MASK;
|
||||||
else
|
else
|
||||||
moveType = gBattleMoves[gCurrentMove].type;
|
moveType = gBattleMoves[gCurrentMove].type;
|
||||||
|
|
||||||
@ -8361,8 +8361,8 @@ static bool32 IsAbilityMotorAffected(void)
|
|||||||
|
|
||||||
if (gBattleStruct->dynamicMoveType == 0)
|
if (gBattleStruct->dynamicMoveType == 0)
|
||||||
moveType = gBattleMoves[gCurrentMove].type;
|
moveType = gBattleMoves[gCurrentMove].type;
|
||||||
else if (!(gBattleStruct->dynamicMoveType & 0x40))
|
else if (!(gBattleStruct->dynamicMoveType & F_DYNAMIC_TYPE_1))
|
||||||
moveType = gBattleStruct->dynamicMoveType & 0x3F;
|
moveType = gBattleStruct->dynamicMoveType & DYNAMIC_TYPE_MASK;
|
||||||
else
|
else
|
||||||
moveType = gBattleMoves[gCurrentMove].type;
|
moveType = gBattleMoves[gCurrentMove].type;
|
||||||
|
|
||||||
@ -8378,8 +8378,8 @@ static bool32 IsAbilityAbsorbAffected(void)
|
|||||||
|
|
||||||
if (gBattleStruct->dynamicMoveType == 0)
|
if (gBattleStruct->dynamicMoveType == 0)
|
||||||
moveType = gBattleMoves[gCurrentMove].type;
|
moveType = gBattleMoves[gCurrentMove].type;
|
||||||
else if (!(gBattleStruct->dynamicMoveType & 0x40))
|
else if (!(gBattleStruct->dynamicMoveType & F_DYNAMIC_TYPE_1))
|
||||||
moveType = gBattleStruct->dynamicMoveType & 0x3F;
|
moveType = gBattleStruct->dynamicMoveType & DYNAMIC_TYPE_MASK;
|
||||||
else
|
else
|
||||||
moveType = gBattleMoves[gCurrentMove].type;
|
moveType = gBattleMoves[gCurrentMove].type;
|
||||||
|
|
||||||
@ -9528,27 +9528,6 @@ static void Cmd_various(void)
|
|||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
case VARIOUS_HANDLE_MEGA_EVO:
|
|
||||||
{
|
|
||||||
VARIOUS_ARGS(u8 case_);
|
|
||||||
HandleScriptMegaPrimalBurst(cmd->case_, battler, HANDLE_TYPE_MEGA_EVOLUTION);
|
|
||||||
gBattlescriptCurrInstr = cmd->nextInstr;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
case VARIOUS_HANDLE_PRIMAL_REVERSION:
|
|
||||||
{
|
|
||||||
VARIOUS_ARGS(u8 case_);
|
|
||||||
HandleScriptMegaPrimalBurst(cmd->case_, battler, HANDLE_TYPE_PRIMAL_REVERSION);
|
|
||||||
gBattlescriptCurrInstr = cmd->nextInstr;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
case VARIOUS_HANDLE_ULTRA_BURST:
|
|
||||||
{
|
|
||||||
VARIOUS_ARGS(u8 case_);
|
|
||||||
HandleScriptMegaPrimalBurst(cmd->case_, battler, HANDLE_TYPE_ULTRA_BURST);
|
|
||||||
gBattlescriptCurrInstr = cmd->nextInstr;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
case VARIOUS_HANDLE_FORM_CHANGE:
|
case VARIOUS_HANDLE_FORM_CHANGE:
|
||||||
{
|
{
|
||||||
VARIOUS_ARGS(u8 case_);
|
VARIOUS_ARGS(u8 case_);
|
||||||
@ -10724,33 +10703,6 @@ static void Cmd_various(void)
|
|||||||
gBattlescriptCurrInstr = cmd->jumpInstr;
|
gBattlescriptCurrInstr = cmd->jumpInstr;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
case VARIOUS_JUMP_IF_ROD:
|
|
||||||
{
|
|
||||||
VARIOUS_ARGS(const u8 *jumpInstr);
|
|
||||||
if (IsAbilityRodAffected())
|
|
||||||
gBattlescriptCurrInstr = cmd->jumpInstr;
|
|
||||||
else
|
|
||||||
gBattlescriptCurrInstr = cmd->nextInstr;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
case VARIOUS_JUMP_IF_MOTOR:
|
|
||||||
{
|
|
||||||
VARIOUS_ARGS(const u8 *jumpInstr);
|
|
||||||
if (IsAbilityMotorAffected())
|
|
||||||
gBattlescriptCurrInstr = cmd->jumpInstr;
|
|
||||||
else
|
|
||||||
gBattlescriptCurrInstr = cmd->nextInstr;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
case VARIOUS_JUMP_IF_ABSORB:
|
|
||||||
{
|
|
||||||
VARIOUS_ARGS(const u8 *jumpInstr);
|
|
||||||
if (IsAbilityAbsorbAffected())
|
|
||||||
gBattlescriptCurrInstr = cmd->jumpInstr;
|
|
||||||
else
|
|
||||||
gBattlescriptCurrInstr = cmd->nextInstr;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
case VARIOUS_TRY_WIND_RIDER_POWER:
|
case VARIOUS_TRY_WIND_RIDER_POWER:
|
||||||
{
|
{
|
||||||
VARIOUS_ARGS(const u8 *failInstr);
|
VARIOUS_ARGS(const u8 *failInstr);
|
||||||
@ -10783,15 +10735,6 @@ static void Cmd_various(void)
|
|||||||
AbilityBattleEffects(ABILITYEFFECT_ON_TERRAIN, battler, 0, 0, 0);
|
AbilityBattleEffects(ABILITYEFFECT_ON_TERRAIN, battler, 0, 0, 0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
case VARIOUS_JUMP_IF_EMERGENCY_EXITED:
|
|
||||||
{
|
|
||||||
VARIOUS_ARGS(const u8 *jumpInstr);
|
|
||||||
if (gSpecialStatuses[battler].emergencyExited)
|
|
||||||
gBattlescriptCurrInstr = cmd->jumpInstr;
|
|
||||||
else
|
|
||||||
gBattlescriptCurrInstr = cmd->nextInstr;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
case VARIOUS_STORE_HEALING_WISH:
|
case VARIOUS_STORE_HEALING_WISH:
|
||||||
{
|
{
|
||||||
VARIOUS_ARGS();
|
VARIOUS_ARGS();
|
||||||
@ -10808,15 +10751,6 @@ static void Cmd_various(void)
|
|||||||
gBattlescriptCurrInstr = cmd->nextInstr;
|
gBattlescriptCurrInstr = cmd->nextInstr;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
case VARIOUS_JUMP_IF_SHELL_TRAP:
|
|
||||||
{
|
|
||||||
VARIOUS_ARGS(const u8 *jumpInstr);
|
|
||||||
if (gProtectStructs[battler].shellTrap)
|
|
||||||
gBattlescriptCurrInstr = cmd->jumpInstr;
|
|
||||||
else
|
|
||||||
gBattlescriptCurrInstr = cmd->nextInstr;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
case VARIOUS_TRY_REVIVAL_BLESSING:
|
case VARIOUS_TRY_REVIVAL_BLESSING:
|
||||||
{
|
{
|
||||||
VARIOUS_ARGS(const u8 *failInstr);
|
VARIOUS_ARGS(const u8 *failInstr);
|
||||||
@ -16308,3 +16242,78 @@ void BS_SetSnow(void)
|
|||||||
}
|
}
|
||||||
gBattlescriptCurrInstr = cmd->nextInstr;
|
gBattlescriptCurrInstr = cmd->nextInstr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BS_HandleMegaEvolution(void)
|
||||||
|
{
|
||||||
|
NATIVE_ARGS(u8 battler, u8 caseId);
|
||||||
|
|
||||||
|
u8 battler = GetBattlerForBattleScript(cmd->battler);
|
||||||
|
HandleScriptMegaPrimalBurst(cmd->caseId, battler, HANDLE_TYPE_MEGA_EVOLUTION);
|
||||||
|
gBattlescriptCurrInstr = cmd->nextInstr;
|
||||||
|
}
|
||||||
|
|
||||||
|
void BS_HandlePrimalReversion(void)
|
||||||
|
{
|
||||||
|
NATIVE_ARGS(u8 battler, u8 caseId);
|
||||||
|
|
||||||
|
u8 battler = GetBattlerForBattleScript(cmd->battler);
|
||||||
|
HandleScriptMegaPrimalBurst(cmd->caseId, battler, HANDLE_TYPE_PRIMAL_REVERSION);
|
||||||
|
gBattlescriptCurrInstr = cmd->nextInstr;
|
||||||
|
}
|
||||||
|
|
||||||
|
void BS_HandleUltraBurst(void)
|
||||||
|
{
|
||||||
|
NATIVE_ARGS(u8 battler, u8 caseId);
|
||||||
|
|
||||||
|
u8 battler = GetBattlerForBattleScript(cmd->battler);
|
||||||
|
HandleScriptMegaPrimalBurst(cmd->caseId, battler, HANDLE_TYPE_ULTRA_BURST);
|
||||||
|
gBattlescriptCurrInstr = cmd->nextInstr;
|
||||||
|
}
|
||||||
|
|
||||||
|
void BS_JumpIfShellTrap(void)
|
||||||
|
{
|
||||||
|
NATIVE_ARGS(u8 battler, const u8 *jumpInstr);
|
||||||
|
|
||||||
|
u8 battler = GetBattlerForBattleScript(cmd->battler);
|
||||||
|
if (gProtectStructs[battler].shellTrap)
|
||||||
|
gBattlescriptCurrInstr = cmd->jumpInstr;
|
||||||
|
else
|
||||||
|
gBattlescriptCurrInstr = cmd->nextInstr;
|
||||||
|
}
|
||||||
|
|
||||||
|
void BS_JumpIfEmergencyExited(void)
|
||||||
|
{
|
||||||
|
NATIVE_ARGS(u8 battler, const u8 *jumpInstr);
|
||||||
|
u8 battler = GetBattlerForBattleScript(cmd->battler);
|
||||||
|
if (gSpecialStatuses[battler].emergencyExited)
|
||||||
|
gBattlescriptCurrInstr = cmd->jumpInstr;
|
||||||
|
else
|
||||||
|
gBattlescriptCurrInstr = cmd->nextInstr;
|
||||||
|
}
|
||||||
|
|
||||||
|
void BS_JumpIfRod(void)
|
||||||
|
{
|
||||||
|
NATIVE_ARGS(const u8 *jumpInstr);
|
||||||
|
if (IsAbilityRodAffected())
|
||||||
|
gBattlescriptCurrInstr = cmd->jumpInstr;
|
||||||
|
else
|
||||||
|
gBattlescriptCurrInstr = cmd->nextInstr;
|
||||||
|
}
|
||||||
|
|
||||||
|
void BS_JumpIfAbsorb(void)
|
||||||
|
{
|
||||||
|
NATIVE_ARGS(const u8 *jumpInstr);
|
||||||
|
if (IsAbilityAbsorbAffected())
|
||||||
|
gBattlescriptCurrInstr = cmd->jumpInstr;
|
||||||
|
else
|
||||||
|
gBattlescriptCurrInstr = cmd->nextInstr;
|
||||||
|
}
|
||||||
|
|
||||||
|
void BS_JumpIfMotor(void)
|
||||||
|
{
|
||||||
|
NATIVE_ARGS(const u8 *jumpInstr);
|
||||||
|
if (IsAbilityMotorAffected())
|
||||||
|
gBattlescriptCurrInstr = cmd->jumpInstr;
|
||||||
|
else
|
||||||
|
gBattlescriptCurrInstr = cmd->nextInstr;
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user