aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/Spell.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
-rw-r--r--src/server/game/Spells/Spell.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 728986b05ed..edcfcdd7a74 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -8342,15 +8342,15 @@ bool WorldObjectSpellTrajTargetCheck::operator()(WorldObject* target) const
WorldObjectSpellLineTargetCheck::WorldObjectSpellLineTargetCheck(Position const* srcPosition, Position const* dstPosition, float lineWidth, float range, WorldObject* caster,
SpellInfo const* spellInfo, SpellTargetCheckTypes selectionType, ConditionContainer const* condList, SpellTargetObjectTypes objectType)
- : WorldObjectSpellAreaTargetCheck(range, caster, caster, caster, spellInfo, selectionType, condList, objectType), _srcPosition(srcPosition), _dstPosition(dstPosition), _lineWidth(lineWidth) { }
+ : WorldObjectSpellAreaTargetCheck(range, caster, caster, caster, spellInfo, selectionType, condList, objectType), _position(*srcPosition), _lineWidth(lineWidth)
+{
+ if (dstPosition && *srcPosition != *dstPosition)
+ _position.SetOrientation(srcPosition->GetAbsoluteAngle(dstPosition));
+}
bool WorldObjectSpellLineTargetCheck::operator()(WorldObject* target) const
{
- float angle = _caster->GetOrientation();
- if (*_srcPosition != *_dstPosition)
- angle = _srcPosition->GetAngle(_dstPosition);
-
- if (!_caster->HasInLine(target, target->GetCombatReach(), _lineWidth, angle))
+ if (!_position.HasInLine(target, target->GetCombatReach(), _lineWidth))
return false;
return WorldObjectSpellTargetCheck::operator ()(target);