Fixes hacky SetMoveEffect script calls (#7987)
This commit is contained in:
parent
5325c275e6
commit
be5f6d4801
@ -48,7 +48,7 @@ u32 GetBattlerTurnOrderNum(u32 battler);
|
|||||||
bool32 NoAliveMonsForBattlerSide(u32 battler);
|
bool32 NoAliveMonsForBattlerSide(u32 battler);
|
||||||
bool32 NoAliveMonsForPlayer(void);
|
bool32 NoAliveMonsForPlayer(void);
|
||||||
bool32 NoAliveMonsForEitherParty(void);
|
bool32 NoAliveMonsForEitherParty(void);
|
||||||
void SetMoveEffect(u32 battler, u32 effectBattler, bool32 primary, bool32 certain);
|
void SetMoveEffect(u32 battler, u32 effectBattler, enum MoveEffect moveEffect, const u8 *battleScript, bool32 primary, bool32 certain);
|
||||||
bool32 CanBattlerSwitch(u32 battlerId);
|
bool32 CanBattlerSwitch(u32 battlerId);
|
||||||
void BattleDestroyYesNoCursorAt(u8 cursorPosition);
|
void BattleDestroyYesNoCursorAt(u8 cursorPosition);
|
||||||
void BattleCreateYesNoCursorAt(u8 cursorPosition);
|
void BattleCreateYesNoCursorAt(u8 cursorPosition);
|
||||||
|
|||||||
@ -457,8 +457,7 @@ static bool32 HandleEndTurnFirstEventBlock(u32 battler)
|
|||||||
gBattleMons[battler].volatiles.multipleTurns = FALSE;
|
gBattleMons[battler].volatiles.multipleTurns = FALSE;
|
||||||
if (!gBattleMons[battler].volatiles.confusionTurns)
|
if (!gBattleMons[battler].volatiles.confusionTurns)
|
||||||
{
|
{
|
||||||
gBattleScripting.moveEffect = MOVE_EFFECT_CONFUSION;
|
SetMoveEffect(battler, battler, MOVE_EFFECT_CONFUSION, gBattlescriptCurrInstr, TRUE, FALSE);
|
||||||
SetMoveEffect(battler, battler, TRUE, FALSE);
|
|
||||||
if (gBattleMons[battler].volatiles.confusionTurns)
|
if (gBattleMons[battler].volatiles.confusionTurns)
|
||||||
BattleScriptExecute(BattleScript_ThrashConfuses);
|
BattleScriptExecute(BattleScript_ThrashConfuses);
|
||||||
effect = TRUE;
|
effect = TRUE;
|
||||||
|
|||||||
@ -218,10 +218,7 @@ static enum ItemEffect TryKingsRock(u32 battlerAtk, u32 battlerDef, u32 item)
|
|||||||
&& RandomPercentage(RNG_HOLD_EFFECT_FLINCH, holdEffectParam)
|
&& RandomPercentage(RNG_HOLD_EFFECT_FLINCH, holdEffectParam)
|
||||||
&& ability != ABILITY_STENCH)
|
&& ability != ABILITY_STENCH)
|
||||||
{
|
{
|
||||||
gBattleScripting.moveEffect = MOVE_EFFECT_FLINCH;
|
SetMoveEffect(battlerAtk, battlerDef, MOVE_EFFECT_FLINCH, gBattlescriptCurrInstr, FALSE, FALSE);
|
||||||
BattleScriptPushCursor();
|
|
||||||
SetMoveEffect(battlerAtk, battlerDef, FALSE, FALSE);
|
|
||||||
BattleScriptPop();
|
|
||||||
effect = ITEM_EFFECT_OTHER;
|
effect = ITEM_EFFECT_OTHER;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -2582,7 +2582,6 @@ static enum MoveCanceller CancellerWeatherPrimal(struct BattleContext *ctx)
|
|||||||
}
|
}
|
||||||
if (effect == MOVE_STEP_FAILURE)
|
if (effect == MOVE_STEP_FAILURE)
|
||||||
{
|
{
|
||||||
gBattleScripting.moveEffect = MOVE_EFFECT_NONE;
|
|
||||||
gProtectStructs[ctx->battlerAtk].chargingTurn = FALSE;
|
gProtectStructs[ctx->battlerAtk].chargingTurn = FALSE;
|
||||||
CancelMultiTurnMoves(ctx->battlerAtk, SKY_DROP_ATTACKCANCELLER_CHECK);
|
CancelMultiTurnMoves(ctx->battlerAtk, SKY_DROP_ATTACKCANCELLER_CHECK);
|
||||||
gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE;
|
gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE;
|
||||||
@ -5331,10 +5330,7 @@ u32 AbilityBattleEffects(enum AbilityEffect caseID, u32 battler, enum Ability ab
|
|||||||
&& IsBattlerTurnDamaged(gBattlerTarget)
|
&& IsBattlerTurnDamaged(gBattlerTarget)
|
||||||
&& !MoveHasAdditionalEffect(gCurrentMove, MOVE_EFFECT_FLINCH))
|
&& !MoveHasAdditionalEffect(gCurrentMove, MOVE_EFFECT_FLINCH))
|
||||||
{
|
{
|
||||||
gBattleScripting.moveEffect = MOVE_EFFECT_FLINCH;
|
SetMoveEffect(gBattlerAttacker, gBattlerTarget, MOVE_EFFECT_FLINCH, gBattlescriptCurrInstr, FALSE, FALSE);
|
||||||
BattleScriptPushCursor();
|
|
||||||
SetMoveEffect(gBattlerAttacker, gBattlerTarget, FALSE, FALSE);
|
|
||||||
BattleScriptPop();
|
|
||||||
effect++;
|
effect++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user