From aa468c964a55f592b2b78c1ceb11e633cc49f10a Mon Sep 17 00:00:00 2001 From: QAston Date: Sat, 6 Jun 2009 13:45:17 +0200 Subject: *Fix dash bonus not working in some cases. --HG-- branch : trunk --- src/game/Unit.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/game/Unit.cpp') diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index aca3ea92ce5..da2b53aec72 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -13104,7 +13104,7 @@ bool Unit::HandleAuraRaidProcFromChargeWithValue( AuraEffect* triggeredByAura ) CastCustomSpell(target,spellProto->Id,&heal,NULL,NULL,true,NULL,triggeredByAura,caster->GetGUID()); if (Aura * aur = target->GetAura(spellProto->Id, caster->GetGUID())) aur->SetAuraCharges(jumps); - //caster->SpellHealingBonus(this, spellProto, heal, HEAL); + caster->SpellHealingBonus(this, spellProto, heal, HEAL); } } } @@ -13857,11 +13857,18 @@ void Unit::HandleAuraEffect(AuraEffect * aureff, bool apply) return; if (apply) { + if (aureff->IsApplied()) + return; + + aureff->SetApplied(true); m_modAuras[aureff->GetAuraName()].push_back(aureff); aureff->ApplyModifier(true, true); } else { + if (!aureff->IsApplied()) + return; + aureff->SetApplied(false); // remove from list before mods removing (prevent cyclic calls, mods added before including to aura list - use reverse order) m_modAuras[aureff->GetAuraName()].remove(aureff); aureff->ApplyModifier(false, true); -- cgit v1.2.3