diff options
author | zorix <zajast@o2.pl> | 2014-01-27 20:26:34 +0100 |
---|---|---|
committer | zorix <zajast@o2.pl> | 2014-01-27 20:26:34 +0100 |
commit | e9b7bb0a7b284f06f574fe441e58ceaed52e7240 (patch) | |
tree | 35b17b6234e6821fd91583556356f89cc9deda43 /src | |
parent | ac7828a8d9c8ca2d4195bacbf7acf6f638f6d759 (diff) |
Core/Spell:
Triggered spells now will be cast on the primal target instead of on caster
Close #10853
Close #10860
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 1 | ||||
-rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 5 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index e72a1da563e..eb2d44a6676 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -1357,6 +1357,7 @@ void Spell::SelectImplicitCasterDestTargets(SpellEffIndex effIndex, SpellImplici void Spell::SelectImplicitTargetDestTargets(SpellEffIndex effIndex, SpellImplicitTargetInfo const& targetType) { + ASSERT(m_targets.GetObjectTarget() && "Spell::SelectImplicitTargetDestTargets - no explicit object target available!"); WorldObject* target = m_targets.GetObjectTarget(); SpellDestination dest(*target); diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index b2b4690f893..987a07be896 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -929,7 +929,10 @@ void Spell::EffectTriggerSpell(SpellEffIndex effIndex) if (spellInfo->GetExplicitTargetMask() & TARGET_FLAG_DEST_LOCATION) targets.SetDst(m_targets); - targets.SetUnitTarget(m_caster); + if (Unit* target = m_targets.GetUnitTarget()) + targets.SetUnitTarget(target); + else + targets.SetUnitTarget(m_caster); } CustomSpellValues values; |