diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index bd6e742312..2a15c0f7c8 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -10047,7 +10047,7 @@ BattleScript_DynamaxBegins_End3: BattleScript_DynamaxEnds:: flushtextbox updatedynamax - playanimation BS_ATTACKER, B_ANIM_FORM_CHANGE + playanimation BS_SCRIPTING, B_ANIM_FORM_CHANGE waitanimation end2 diff --git a/src/battle_end_turn.c b/src/battle_end_turn.c index ff72868f1a..cfcc134e88 100644 --- a/src/battle_end_turn.c +++ b/src/battle_end_turn.c @@ -836,7 +836,7 @@ static bool32 HandleEndTurnTorment(u32 battler) gBattleStruct->turnEffectsBattlerId++; - if (gDisableStructs[battler].tormentTimer > 0 && --gDisableStructs[battler].tormentTimer == 0) + if (gDisableStructs[battler].tormentTimer == gBattleTurnCounter) { gBattleMons[battler].status2 &= ~STATUS2_TORMENT; BattleScriptExecute(BattleScript_TormentEnds); @@ -1499,6 +1499,7 @@ static bool32 HandleEndTurnDynamax(u32 battler) if (GetActiveGimmick(battler) == GIMMICK_DYNAMAX && gBattleStruct->dynamax.dynamaxTurns[battler] == gBattleTurnCounter) { + gBattleScripting.battler = battler; UndoDynamax(battler); BattleScriptExecute(BattleScript_DynamaxEnds); effect = TRUE; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 183419f05b..b96b451807 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -18734,7 +18734,7 @@ void BS_TrySetTorment(void) && !IsAbilityOnSide(gBattlerTarget, ABILITY_AROMA_VEIL)) { gBattleMons[gBattlerTarget].status2 |= STATUS2_TORMENT; - gDisableStructs[gBattlerTarget].tormentTimer = 3; // 3 turns excluding current turn + gDisableStructs[gBattlerTarget].tormentTimer = gBattleTurnCounter + 3; // 3 turns excluding current turn gBattleCommunication[MULTISTRING_CHOOSER] = 3; gEffectBattler = gBattlerTarget; gBattlescriptCurrInstr = cmd->nextInstr;