From 1e62b53c66829dc9820117e17bfb44cb2652f814 Mon Sep 17 00:00:00 2001 From: Roc13x Date: Wed, 21 Mar 2018 08:59:58 +0000 Subject: Core/Instances: Fix combat resurrection charge gain (#21647) Old logic stopped the recharge timer after the first recharge --- src/server/game/Instances/InstanceScript.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/server/game/Instances/InstanceScript.cpp b/src/server/game/Instances/InstanceScript.cpp index 860dd733561..563388f64c1 100644 --- a/src/server/game/Instances/InstanceScript.cpp +++ b/src/server/game/Instances/InstanceScript.cpp @@ -792,12 +792,10 @@ void InstanceScript::UpdateCombatResurrection(uint32 diff) if (!_combatResurrectionTimerStarted) return; - _combatResurrectionTimer -= diff; - if (_combatResurrectionTimer <= 0) - { + if (_combatResurrectionTimer <= diff) AddCombatResurrectionCharge(); - _combatResurrectionTimerStarted = false; - } + else + _combatResurrectionTimer -= diff; } void InstanceScript::InitializeCombatResurrections(uint8 charges /*= 1*/, uint32 interval /*= 0*/) @@ -814,7 +812,6 @@ void InstanceScript::AddCombatResurrectionCharge() { ++_combatResurrectionCharges; _combatResurrectionTimer = GetCombatResurrectionChargeInterval(); - _combatResurrectionTimerStarted = true; WorldPackets::Instance::InstanceEncounterGainCombatResurrectionCharge gainCombatResurrectionCharge; gainCombatResurrectionCharge.InCombatResCount = _combatResurrectionCharges; @@ -833,7 +830,7 @@ void InstanceScript::ResetCombatResurrections() { _combatResurrectionCharges = 0; _combatResurrectionTimer = 0; - _combatResurrectionTimerStarted = 0; + _combatResurrectionTimerStarted = false; } uint32 InstanceScript::GetCombatResurrectionChargeInterval() const -- cgit v1.2.3