diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 5d2336e55..d67446ccb 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -3999,16 +3999,16 @@ void Spell::EffectCreateRandomItem(SpellEffectIndex /*eff_idx*/) void Spell::EffectPersistentAA(SpellEffectIndex eff_idx) { - float radius = GetSpellRadius(sSpellRadiusStore.LookupEntry(m_spellInfo->EffectRadiusIndex[eff_idx])); - - if (Player* modOwner = m_caster->GetSpellModOwner()) - modOwner->ApplySpellMod(m_spellInfo->Id, SPELLMOD_RADIUS, radius); - Unit* pCaster = GetAffectiveCaster(); // FIXME: in case wild GO will used wrong affective caster (target in fact) as dynobject owner if (!pCaster) pCaster = m_caster; + float radius = GetSpellRadius(sSpellRadiusStore.LookupEntry(m_spellInfo->EffectRadiusIndex[eff_idx])); + + if (Player* modOwner = pCaster->GetSpellModOwner()) + modOwner->ApplySpellMod(m_spellInfo->Id, SPELLMOD_RADIUS, radius); + DynamicObject* dynObj = new DynamicObject; if (!dynObj->Create(pCaster->GetMap()->GenerateLocalLowGuid(HIGHGUID_DYNAMICOBJECT), pCaster, m_spellInfo->Id, eff_idx, m_targets.m_destX, m_targets.m_destY, m_targets.m_destZ, m_duration, radius)) { diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index f440ec2b6..6e28ed8ae 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 "11373" + #define REVISION_NR "11374" #endif // __REVISION_NR_H__