diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index fc558c412..1a5a23ba4 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -2378,6 +2378,9 @@ void Spell::cast(bool skipCheck) if (m_spellInfo->Mechanic == MECHANIC_SHIELD && (m_spellInfo->SpellFamilyFlags & UI64LIT(0x0000000000000001))) AddPrecastSpell(6788); // Weakened Soul + // Prayer of Mending (jump animation), we need formal caster instead original for correct animation + else if (m_spellInfo->SpellFamilyFlags & UI64LIT(0x0000002000000000)) + AddTriggeredSpell(41637); switch(m_spellInfo->Id) { diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index c42ecbfdd..a8c68135d 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -2407,15 +2407,7 @@ void Spell::EffectApplyAura(uint32 i) Aur->SetAuraDuration(duration); } - bool added = unitTarget->AddAura(Aur); - - // Aura not added and deleted in AddAura call; - if (!added) - return; - - // Prayer of Mending (jump animation), we need formal caster instead original for correct animation - if( m_spellInfo->SpellFamilyName == SPELLFAMILY_PRIEST && (m_spellInfo->SpellFamilyFlags & UI64LIT(0x0000002000000000))) - m_caster->CastSpell(unitTarget, 41637, true, NULL, Aur, m_originalCasterGUID); + unitTarget->AddAura(Aur); } void Spell::EffectUnlearnSpecialization( uint32 i ) diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 80bcaad5f..e12b0d809 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -11037,7 +11037,7 @@ void Unit::ProcDamageAndSpellFor( bool isVictim, Unit * pTarget, uint32 procFlag sLog.outDebug("ProcDamageAndSpell: casting mending (triggered by %s dummy aura of spell %u)", (isVictim?"a victim's":"an attacker's"),triggeredByAura->GetId()); - HandleMeandingAuraProc(triggeredByAura); + HandleMendingAuraProc(triggeredByAura); break; } case SPELL_AURA_PROC_TRIGGER_SPELL_WITH_VALUE: @@ -11817,7 +11817,7 @@ bool Unit::IsTriggeredAtSpellProcEvent(Unit *pVictim, Aura* aura, SpellEntry con return roll_chance_f(chance); } -bool Unit::HandleMeandingAuraProc( Aura* triggeredByAura ) +bool Unit::HandleMendingAuraProc( Aura* triggeredByAura ) { // aura can be deleted at casts SpellEntry const* spellProto = triggeredByAura->GetSpellProto(); diff --git a/src/game/Unit.h b/src/game/Unit.h index 608d60cf9..d4ca820a5 100644 --- a/src/game/Unit.h +++ b/src/game/Unit.h @@ -1551,7 +1551,7 @@ class MANGOS_DLL_SPEC Unit : public WorldObject bool HandleHasteAuraProc( Unit *pVictim, uint32 damage, Aura* triggredByAura, SpellEntry const *procSpell, uint32 procFlag, uint32 procEx, uint32 cooldown); bool HandleProcTriggerSpell(Unit *pVictim, uint32 damage, Aura* triggredByAura, SpellEntry const *procSpell, uint32 procFlag, uint32 procEx, uint32 cooldown); bool HandleOverrideClassScriptAuraProc(Unit *pVictim, uint32 damage, Aura* triggredByAura, SpellEntry const *procSpell, uint32 cooldown); - bool HandleMeandingAuraProc(Aura* triggeredByAura); + bool HandleMendingAuraProc(Aura* triggeredByAura); uint32 m_state; // Even derived shouldn't modify uint32 m_CombatTimer; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 60495bd3e..1917c342e 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "8356" + #define REVISION_NR "8357" #endif // __REVISION_NR_H__