diff options
author | Sebastian Valle Herrera <subv2112@gmail.com> | 2014-07-08 09:57:37 -0500 |
---|---|---|
committer | Sebastian Valle Herrera <subv2112@gmail.com> | 2014-07-08 09:57:37 -0500 |
commit | 4a4da95aa0db5ef9fb991b25cab4a50f7f5aed95 (patch) | |
tree | cc55328987619cad7c3c92c66a379cf13ad415ec /src | |
parent | 48d284e88e369abc397af91172cba86afd6b0fff (diff) | |
parent | e9b7bb0a7b284f06f574fe441e58ceaed52e7240 (diff) |
Merge pull request #10887 from zorix/PR3
Core/Spell: Triggered spells now will be cast on the primal target instead of on caster
Closes #10853
Closes #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 0d7dd8819af..d223425a027 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -1305,6 +1305,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 abeeb394218..c3ca10905fd 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -866,7 +866,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; |