diff --git a/Source/Game/Entities/Object/WorldObject.cs b/Source/Game/Entities/Object/WorldObject.cs index e8672927a..7c1c890eb 100644 --- a/Source/Game/Entities/Object/WorldObject.cs +++ b/Source/Game/Entities/Object/WorldObject.cs @@ -2456,42 +2456,6 @@ namespace Game.Entities return spell.Prepare(targets.Targets, args.TriggeringAura); } - public void SendPlaySpellVisual(WorldObject target, uint spellVisualId, ushort missReason, ushort reflectStatus, float travelSpeed, bool speedAsTime = false) - { - PlaySpellVisual playSpellVisual = new(); - playSpellVisual.Source = GetGUID(); - playSpellVisual.Target = target.GetGUID(); - playSpellVisual.TargetPosition = target.GetPosition(); - playSpellVisual.SpellVisualID = spellVisualId; - playSpellVisual.TravelSpeed = travelSpeed; - playSpellVisual.MissReason = missReason; - playSpellVisual.ReflectStatus = reflectStatus; - playSpellVisual.SpeedAsTime = speedAsTime; - SendMessageToSet(playSpellVisual, true); - } - - public void SendPlaySpellVisual(Position targetPosition, float launchDelay, uint spellVisualId, ushort missReason, ushort reflectStatus, float travelSpeed, bool speedAsTime = false) - { - PlaySpellVisual playSpellVisual = new(); - playSpellVisual.Source = GetGUID(); - playSpellVisual.TargetPosition = targetPosition; - playSpellVisual.LaunchDelay = launchDelay; - playSpellVisual.SpellVisualID = spellVisualId; - playSpellVisual.TravelSpeed = travelSpeed; - playSpellVisual.MissReason = missReason; - playSpellVisual.ReflectStatus = reflectStatus; - playSpellVisual.SpeedAsTime = speedAsTime; - SendMessageToSet(playSpellVisual, true); - } - - void SendCancelSpellVisual(uint id) - { - CancelSpellVisual cancelSpellVisual = new(); - cancelSpellVisual.Source = GetGUID(); - cancelSpellVisual.SpellVisualID = id; - SendMessageToSet(cancelSpellVisual, true); - } - void SendPlayOrphanSpellVisual(ObjectGuid target, uint spellVisualId, float travelSpeed, bool speedAsTime = false, bool withSourceOrientation = false) { PlayOrphanSpellVisual playOrphanSpellVisual = new(); @@ -2549,24 +2513,6 @@ namespace Game.Entities SendMessageToSet(cancelOrphanSpellVisual, true); } - public void SendPlaySpellVisualKit(uint id, uint type, uint duration) - { - PlaySpellVisualKit playSpellVisualKit = new(); - playSpellVisualKit.Unit = GetGUID(); - playSpellVisualKit.KitRecID = id; - playSpellVisualKit.KitType = type; - playSpellVisualKit.Duration = duration; - SendMessageToSet(playSpellVisualKit, true); - } - - void SendCancelSpellVisualKit(uint id) - { - CancelSpellVisualKit cancelSpellVisualKit = new(); - cancelSpellVisualKit.Source = GetGUID(); - cancelSpellVisualKit.SpellVisualKitID = id; - SendMessageToSet(cancelSpellVisualKit, true); - } - // function based on function Unit::CanAttack from 13850 client public bool IsValidAttackTarget(WorldObject target, SpellInfo bySpell = null) { diff --git a/Source/Game/Entities/Unit/Unit.cs b/Source/Game/Entities/Unit/Unit.cs index 99b8e5459..91f6d2e3d 100644 --- a/Source/Game/Entities/Unit/Unit.cs +++ b/Source/Game/Entities/Unit/Unit.cs @@ -1129,7 +1129,61 @@ namespace Game.Entities } } - void CancelSpellMissiles(uint spellId, bool reverseMissile = false) + public void SendPlaySpellVisual(Unit target, uint spellVisualId, ushort missReason, ushort reflectStatus, float travelSpeed, bool speedAsTime = false) + { + PlaySpellVisual playSpellVisual = new(); + playSpellVisual.Source = GetGUID(); + playSpellVisual.Target = target.GetGUID(); + playSpellVisual.TargetPosition = target.GetPosition(); + playSpellVisual.SpellVisualID = spellVisualId; + playSpellVisual.TravelSpeed = travelSpeed; + playSpellVisual.MissReason = missReason; + playSpellVisual.ReflectStatus = reflectStatus; + playSpellVisual.SpeedAsTime = speedAsTime; + SendMessageToSet(playSpellVisual, true); + } + + public void SendPlaySpellVisual(Position targetPosition, float launchDelay, uint spellVisualId, ushort missReason, ushort reflectStatus, float travelSpeed, bool speedAsTime = false) + { + PlaySpellVisual playSpellVisual = new(); + playSpellVisual.Source = GetGUID(); + playSpellVisual.TargetPosition = targetPosition; + playSpellVisual.LaunchDelay = launchDelay; + playSpellVisual.SpellVisualID = spellVisualId; + playSpellVisual.TravelSpeed = travelSpeed; + playSpellVisual.MissReason = missReason; + playSpellVisual.ReflectStatus = reflectStatus; + playSpellVisual.SpeedAsTime = speedAsTime; + SendMessageToSet(playSpellVisual, true); + } + + public void SendCancelSpellVisual(uint id) + { + CancelSpellVisual cancelSpellVisual = new(); + cancelSpellVisual.Source = GetGUID(); + cancelSpellVisual.SpellVisualID = id; + SendMessageToSet(cancelSpellVisual, true); + } + + public void SendPlaySpellVisualKit(uint id, uint type, uint duration) + { + PlaySpellVisualKit playSpellVisualKit = new(); + playSpellVisualKit.Unit = GetGUID(); + playSpellVisualKit.KitRecID = id; + playSpellVisualKit.KitType = type; + playSpellVisualKit.Duration = duration; + SendMessageToSet(playSpellVisualKit, true); + } + + public void SendCancelSpellVisualKit(uint id) + { + CancelSpellVisualKit cancelSpellVisualKit = new(); + cancelSpellVisualKit.Source = GetGUID(); + cancelSpellVisualKit.SpellVisualKitID = id; + SendMessageToSet(cancelSpellVisualKit, true); + } + + public void CancelSpellMissiles(uint spellId, bool reverseMissile = false) { bool hasMissile = false; foreach (var pair in m_Events.GetEvents())