From 87cc42ee4838070fa6f60fb55a3fa5d90a3c5ae5 Mon Sep 17 00:00:00 2001 From: hondacrx Date: Wed, 23 Jun 2021 14:08:27 -0400 Subject: [PATCH] Core/PlayerAI: perform cast checks on auto ranged attack Port From (https://github.com/TrinityCore/TrinityCore/commit/b46d899ef16ce15e1f8403be076993545035cddc) --- Source/Game/AI/PlayerAI/PlayerAI.cs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Source/Game/AI/PlayerAI/PlayerAI.cs b/Source/Game/AI/PlayerAI/PlayerAI.cs index e0910d204..0bbe7ec92 100644 --- a/Source/Game/AI/PlayerAI/PlayerAI.cs +++ b/Source/Game/AI/PlayerAI/PlayerAI.cs @@ -602,7 +602,18 @@ namespace Game.AI if (rangedAttackSpell == 0) return; - me.CastSpell(victim, rangedAttackSpell, new CastSpellExtraArgs(TriggerCastFlags.CastDirectly)); + SpellInfo spellInfo = Global.SpellMgr.GetSpellInfo(rangedAttackSpell, me.GetMap().GetDifficultyID()); + if (spellInfo == null) + return; + + Spell spell = new Spell(me, spellInfo, TriggerCastFlags.CastDirectly); + if (spell.CheckPetCast(victim) != SpellCastResult.SpellCastOk) + return; + + SpellCastTargets targets = new(); + targets.SetUnitTarget(victim); + spell.Prepare(targets); + me.ResetAttackTimer(WeaponAttackType.RangedAttack); }