Core/Position: Refactor GetAngle -> GetAbsoluteAngle because code clarity is good.

Port From (https://github.com/TrinityCore/TrinityCore/commit/bc89e1cdb0da10e53cc9fa4a97565c05bb4c052e)
This commit is contained in:
hondacrx
2021-09-23 22:46:22 -04:00
parent 0a6d3a9342
commit 4a61a40fb8
17 changed files with 57 additions and 64 deletions
+6 -9
View File
@@ -8332,25 +8332,22 @@ namespace Game.Spells
public class WorldObjectSpellLineTargetCheck : WorldObjectSpellAreaTargetCheck
{
Position _srcPosition;
Position _dstPosition;
Position _position;
float _lineWidth;
public WorldObjectSpellLineTargetCheck(Position srcPosition, Position dstPosition, float lineWidth, float range, WorldObject caster, SpellInfo spellInfo, SpellTargetCheckTypes selectionType, List<Condition> condList, SpellTargetObjectTypes objectType)
: base(range, caster, caster, caster, spellInfo, selectionType, condList, objectType)
{
_srcPosition = srcPosition;
_dstPosition = dstPosition;
_position = srcPosition;
_lineWidth = lineWidth;
if (dstPosition != null && srcPosition != dstPosition)
_position.SetOrientation(srcPosition.GetAbsoluteAngle(dstPosition));
}
public override bool Invoke(WorldObject target)
{
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 base.Invoke(target);