diff options
| author | Treeston <treeston.mmoc@gmail.com> | 2018-04-01 13:52:36 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2021-09-23 22:21:29 +0200 |
| commit | bc89e1cdb0da10e53cc9fa4a97565c05bb4c052e (patch) | |
| tree | 5725af072958ca1fa59e6154bcb1e70351f35264 /src/server/game/Spells/Spell.cpp | |
| parent | bf958da14828123442781f98443326b0f916b34b (diff) | |
Core/Position: Refactor GetAngle -> GetAbsoluteAngle because code clarity is good.
(cherry picked from commit 4692e10ca2ffed5ba2a0336e9c93962b0fad9eaa)
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
| -rw-r--r-- | src/server/game/Spells/Spell.cpp | 12 |
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); |
