From b94e3298fcf7c70aefb2cb3b5e42918c03876bb6 Mon Sep 17 00:00:00 2001 From: AlexOn1ine Date: Sun, 6 Apr 2025 15:25:12 +0200 Subject: [PATCH] dynamax fix --- data/battle_scripts_1.s | 2 +- src/battle_end_turn.c | 3 ++- src/battle_script_commands.c | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) 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;