예제 #1
0
        private static void KillSteal()
        {
            var target    = SimpleTs.GetTarget(2000, SimpleTs.DamageType.Physical);
            var igniteDmg = _player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite);

            if (target.IsValidTarget() && _config.Item("UseIgnitekill").GetValue <bool>() && _igniteSlot != SpellSlot.Unknown &&
                _player.SummonerSpellbook.CanUseSpell(_igniteSlot) == SpellState.Ready)
            {
                if (igniteDmg > target.Health && _player.Distance(target) <= 600)
                {
                    _player.SummonerSpellbook.CastSpell(_igniteSlot, target);
                }
            }
            if (target.IsValidTarget() && _q.IsReady() && _config.Item("UseQM").GetValue <bool>() && _q.GetDamage(target) > target.Health)
            {
                if (_player.Distance(target) <= _q.Range)
                {
                    _q.Cast(target);
                }
                else if (WShadow != null && WShadow.Distance(target) <= _q.Range)
                {
                    _q.UpdateSourcePosition(WShadow.ServerPosition, WShadow.ServerPosition);
                    _q.Cast(target);
                }
            }
            if (_e.IsReady() && _config.Item("UseEM").GetValue <bool>())
            {
                var t = SimpleTs.GetTarget(_e.Range, SimpleTs.DamageType.Physical);
                if (_e.GetDamage(t) > t.Health && (_player.Distance(t) <= _e.Range || WShadow.Distance(t) <= _e.Range))
                {
                    _e.Cast();
                }
            }
        }
예제 #2
0
파일: Zed.cs 프로젝트: xzyxzy/LSharp
        private void CoaxCombo(bool useQ, bool useE)
        {
            var target = TargetSelector.GetTarget(W.Range + Q.Range, TargetSelector.DamageType.Physical);

            if (target == null)
            {
                return;
            }

            float range = W.Range + Q.Range;

            if (GetTargetFocus(range) != null)
            {
                target = GetTargetFocus(range);
            }

            if (GetMarked() != null)
            {
                target = GetMarked();
            }

            if (W.IsReady() && WSpell.ToggleState == 0)
            {
                Cast_W("Coax", useQ, useE);
                _coaxDelay = Environment.TickCount + 500;
                return;
            }

            if (WShadow == null)
            {
                return;
            }

            if (WShadow.Distance(target) > R.Range - 100)
            {
            }
            else
            {
                if (useQ && (_qCooldown - Game.Time) > (QSpell.Cooldown / 3))
                {
                    return;
                }
                if (useE && !E.IsReady())
                {
                    return;
                }
            }

            if (WShadow != null && HasEnergy(Q.IsReady() && useQ, false, E.IsReady() && useE) && Environment.TickCount - _coaxDelay > 0)
            {
                if (WSpell.ToggleState == 2 && WShadow.Distance(target) < R.Range)
                {
                    W.Cast(packets());
                    Utility.DelayAction.Add(50, () => R.Cast(target, packets()));
                    Utility.DelayAction.Add(300, () => menu.Item("Combo_mode", true).SetValue(new StringList(new[] { "Normal", "Line Combo", "Coax", "Ult no W", "Normal With Ult" })));
                }
            }
        }
예제 #3
0
        private static void KillSteal()
        {
            var target    = TargetSelector.GetTarget(2000, DamageType.Physical);
            var igniteDmg = _player.GetSummonerSpellDamage(target, SummonerSpell.Ignite);

            if (target.IsValidTarget() && misc.GetValue <MenuBool>("UseIgnitekill").Enabled&& _igniteSlot != SpellSlot.Unknown &&
                _player.Spellbook.CanUseSpell(_igniteSlot) == SpellState.Ready)
            {
                if (igniteDmg > target.Health && _player.Distance(target.Position) <= 600)
                {
                    _player.Spellbook.CastSpell(_igniteSlot, target);
                }
            }
            if (target.IsValidTarget() && _q.IsReady() && misc.GetValue <MenuBool>("UseQM").Enabled&& _q.GetDamage(target) > target.Health)
            {
                if (_player.Distance(target.Position) <= _q.Range)
                {
                    _q.Cast(target);
                }
                else if (WShadow != null && WShadow.Distance(target.Position) <= _q.Range)
                {
                    _q.UpdateSourcePosition(WShadow.Position, WShadow.Position);
                    _q.Cast(target);
                }
                else if (RShadow != null && RShadow.Distance(target.Position) <= _q.Range)
                {
                    _q.UpdateSourcePosition(RShadow.Position, RShadow.Position);
                    _q.Cast(target);
                }
            }

            if (target.IsValidTarget() && _q.IsReady() && misc.GetValue <MenuBool>("UseQM").Enabled&& _q.GetDamage(target) > target.Health)
            {
                if (_player.Distance(target.Position) <= _q.Range)
                {
                    _q.Cast(target);
                }
                else if (WShadow != null && WShadow.Distance(target.Position) <= _q.Range)
                {
                    _q.UpdateSourcePosition(WShadow.Position, WShadow.Position);
                    _q.Cast(target);
                }
            }
            if (_e.IsReady() && misc.GetValue <MenuBool>("UseEM").Enabled)
            {
                var t = TargetSelector.GetTarget(_e.Range, DamageType.Physical);
                if (_e.GetDamage(t) > t.Health && (_player.Distance(t.Position) <= _e.Range || WShadow.Distance(t.Position) <= _e.Range))
                {
                    _e.Cast();
                }
            }
        }
예제 #4
0
        private static void KillSteal()
        {
            var target = TargetSelector.GetTarget(2000);

            if (target.IsValidTarget() && _q.IsReady() && _misc.Qks.Enabled && _q.GetDamage(target) > target.Health)
            {
                if (_player.Distance(target.Position) <= _q.Range)
                {
                    _q.Cast(target);
                }
                else if (WShadow != null && WShadow.Distance(target.Position) <= _q.Range)
                {
                    _q.UpdateSourcePosition(WShadow.Position, WShadow.Position);
                    _q.Cast(target);
                }
                else if (RShadow != null && RShadow.Distance(target.Position) <= _q.Range)
                {
                    _q.UpdateSourcePosition(RShadow.Position, RShadow.Position);
                    _q.Cast(target);
                }
            }
            if (target.IsValidTarget() && _q.IsReady() && _misc.Qks.Enabled && _q.GetDamage(target) > target.Health)
            {
                if (_player.Distance(target.Position) <= _q.Range)
                {
                    _q.Cast(target);
                }
                else if (WShadow != null && WShadow.Distance(target.Position) <= _q.Range)
                {
                    _q.UpdateSourcePosition(WShadow.Position, WShadow.Position);
                    _q.Cast(target);
                }
            }
            if (_e.IsReady() && _misc.Eks.Enabled)
            {
                var t = TargetSelector.GetTarget(_e.Range);
                if (_e.GetDamage(t) > t.Health && (_player.Distance(t.Position) <= _e.Range || WShadow.Distance(t.Position) <= _e.Range))
                {
                    _e.Cast();
                }
            }
        }
예제 #5
0
파일: Zed.cs 프로젝트: xzyxzy/LSharp
        private void Combo(bool useQ, bool useW, bool useE, bool useR)
        {
            int mode    = menu.Item("Combo_mode", true).GetValue <StringList>().SelectedIndex;
            var qTarget = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);
            var target  = TargetSelector.GetTarget(Q.Range + W.Range, TargetSelector.DamageType.Physical);

            switch (mode)
            {
            case 0:
                if (qTarget != null)
                {
                    //items
                    var itemTarget = TargetSelector.GetTarget(750, TargetSelector.DamageType.Physical);

                    if (GetMarked() != null)
                    {
                        itemTarget = GetMarked();
                    }

                    if (itemTarget != null)
                    {
                        var dmg = GetComboDamage(itemTarget);
                        ActiveItems.Target = itemTarget;

                        //see if killable
                        if (dmg > itemTarget.Health - 50)
                        {
                            ActiveItems.KillableTarget = true;
                        }

                        ActiveItems.UseTargetted = true;
                    }
                }

                if (menu.Item("Prioritize_Q", true).GetValue <bool>())
                {
                    if (useQ)
                    {
                        Cast_Q();
                    }

                    if (HasEnergy(false, W.IsReady() && useW, E.IsReady() && useE))
                    {
                        if (useW)
                        {
                            Cast_W("Combo", false, useE);
                        }
                    }
                }
                else
                {
                    if (HasEnergy(Q.IsReady() && useQ, W.IsReady() && useW, E.IsReady() && useE))
                    {
                        if (useW)
                        {
                            Cast_W("Combo", useQ, useE);
                        }
                    }
                    if (useQ && (!W.IsReady() || WSpell.ToggleState == 2))
                    {
                        Cast_Q();
                    }
                }

                if (useE)
                {
                    Cast_E();
                }

                if (WShadow == null)
                {
                    return;
                }

                if (target == null)
                {
                    return;
                }

                if (menu.Item("W_Follow_Combo", true).GetValue <bool>() && WSpell.ToggleState == 2 && Player.Distance(target) > WShadow.Distance(target) && HasBuff(target, "zedulttargetmark"))
                {
                    W.Cast(packets());
                }

                break;

            //line
            case 1:
                if (useR)
                {
                    LineCombo(useQ, useE);
                }
                else
                {
                    menu.Item("Combo_mode", true).SetValue(new StringList(new[] { "Normal", "Line Combo", "Coax", "Ult no W", "Normal With Ult" }));
                }
                break;

            //Coax
            case 2:
                CoaxCombo(useQ, useE);
                break;

            //ham
            case 3:
                if (qTarget != null)
                {
                    var dmg = GetComboDamage(qTarget);

                    float range = Q.Range;
                    if (GetTargetFocus(range) != null)
                    {
                        qTarget = GetTargetFocus(range);
                    }

                    if (dmg > qTarget.Health + 50 && qTarget.IsValidTarget(R.Range) && HasEnergy(true, true, false))
                    {
                        R.CastOnUnit(qTarget, packets());
                    }

                    if (GetMarked() != null)
                    {
                        qTarget = GetMarked();
                    }

                    //items
                    var itemTarget = TargetSelector.GetTarget(750, TargetSelector.DamageType.Physical);

                    if (GetMarked() != null)
                    {
                        itemTarget = GetMarked();
                    }

                    if (itemTarget != null)
                    {
                        ActiveItems.Target = itemTarget;

                        //see if killable
                        if (dmg > itemTarget.Health - 50)
                        {
                            ActiveItems.KillableTarget = true;
                        }

                        ActiveItems.UseTargetted = true;
                    }
                }

                if (useQ)
                {
                    Cast_Q();
                }

                if (useE)
                {
                    Cast_E();
                }
                break;

            //Normal /w Ult
            case 4:
                if (qTarget != null)
                {
                    var dmg2 = GetComboDamage(qTarget);

                    float range = Q.Range;
                    if (GetTargetFocus(range) != null)
                    {
                        qTarget = GetTargetFocus(range);
                    }

                    if (dmg2 > qTarget.Health + 50 && qTarget.IsValidTarget(R.Range) && HasEnergy(true, true, false))
                    {
                        R.CastOnUnit(qTarget, packets());
                    }

                    //items
                    var itemTarget = TargetSelector.GetTarget(750, TargetSelector.DamageType.Physical);

                    if (GetMarked() != null)
                    {
                        itemTarget = GetMarked();
                    }

                    if (itemTarget != null)
                    {
                        var dmg = GetComboDamage(itemTarget);
                        ActiveItems.Target = itemTarget;

                        //see if killable
                        if (dmg > itemTarget.Health - 50)
                        {
                            ActiveItems.KillableTarget = true;
                        }

                        ActiveItems.UseTargetted = true;
                    }
                }

                if (menu.Item("Prioritize_Q", true).GetValue <bool>())
                {
                    if (useQ)
                    {
                        Cast_Q();
                    }

                    if (HasEnergy(false, W.IsReady() && useW, E.IsReady() && useE))
                    {
                        if (useW)
                        {
                            Cast_W("Combo", false, useE);
                        }
                    }
                }
                else
                {
                    if (HasEnergy(Q.IsReady() && useQ, W.IsReady() && useW, E.IsReady() && useE))
                    {
                        if (useW)
                        {
                            Cast_W("Combo", useQ, useE);
                        }
                    }
                    if (useQ && (!W.IsReady() || WSpell.ToggleState == 2))
                    {
                        Cast_Q();
                    }
                }

                if (useE)
                {
                    Cast_E();
                }

                if (WShadow == null)
                {
                    return;
                }

                if (target == null)
                {
                    return;
                }

                if (menu.Item("W_Follow_Combo", true).GetValue <bool>() && WSpell.ToggleState == 2 && Player.Distance(target) > WShadow.Distance(target) && HasBuff(target, "zedulttargetmark"))
                {
                    W.Cast(packets());
                }
                break;
            }
        }
예제 #6
0
파일: Zed.cs 프로젝트: xzyxzy/LSharp
        protected override void GameObject_OnDelete(GameObject sender, EventArgs args)
        {
            if (!(sender is Obj_GeneralParticleEmitter))
            {
                return;
            }

            if (sender.Name == "Zed_Clone_idle.troy" && _currentWShadow != Vector3.Zero && WShadow.Distance(sender.Position) < 100)
            {
                _currentWShadow = Vector3.Zero;
            }


            if (RShadow != null)
            {
                if (sender.Name == "Zed_Clone_idle.troy" && _currentRShadow != Vector3.Zero && RShadow.Distance(sender.Position) < 100)
                {
                    _currentRShadow = Vector3.Zero;
                    //Game.PrintChat("R Deleted");
                }
            }
        }
예제 #7
0
파일: Zed.cs 프로젝트: betw01/xsalice22
        private void Cast_E(Obj_AI_Hero forceTarget = null)
        {
            var target  = SimpleTs.GetTarget(E.Range + W.Range, SimpleTs.DamageType.Physical);
            var eTarget = SimpleTs.GetTarget(E.Range + W.Range, SimpleTs.DamageType.Physical);

            float range = E.Range + W.Range;

            if (GetTargetFocus(range) != null)
            {
                target = GetTargetFocus(range);
            }

            if (GetMarked() != null)
            {
                target  = GetMarked();
                eTarget = GetMarked();
            }
            if (forceTarget != null)
            {
                target  = forceTarget;
                eTarget = forceTarget;
            }
            if (target == null || !E.IsReady())
            {
                return;
            }

            if (WShadow != null && RShadow != null && _currentRShadow != Vector3.Zero && _currentWShadow != Vector3.Zero)
            {
                var predW = GetPCircle(WShadow.ServerPosition, E, target, true);
                var predR = GetPCircle(RShadow.ServerPosition, E, target, true);
                var pred  = E.GetPrediction(target, true);

                if (pred.Hitchance >= HitChance.High && Player.Distance(target) < E.Range)
                {
                    E.Cast(packets());
                }

                if (predW.Hitchance >= HitChance.High && WShadow.Distance(target) < E.Range)
                {
                    E.Cast(packets());
                }

                if (predR.Hitchance >= HitChance.High && RShadow.Distance(target) < E.Range)
                {
                    E.Cast(packets());
                }
            }
            else if (WShadow != null && _currentWShadow != Vector3.Zero)
            {
                var predW = GetPCircle(WShadow.ServerPosition, E, target, true);
                var pred  = E.GetPrediction(target, true);

                if (predW.Hitchance >= HitChance.High && WShadow.Distance(target) < E.Range)
                {
                    E.Cast(packets());
                }

                if (pred.Hitchance >= HitChance.High && Player.Distance(target) < E.Range)
                {
                    E.Cast(packets());
                }
            }
            else if (RShadow != null && _currentRShadow != Vector3.Zero)
            {
                var predR = GetPCircle(RShadow.ServerPosition, E, target, true);
                var pred  = E.GetPrediction(target, true);

                if (pred.Hitchance >= HitChance.High && Player.Distance(target) < E.Range)
                {
                    E.Cast(packets());
                }

                if (predR.Hitchance >= HitChance.High && RShadow.Distance(target) < E.Range)
                {
                    E.Cast(packets());
                }
            }
            else if (eTarget != null)
            {
                if (E.GetPrediction(eTarget).Hitchance >= HitChance.High && Player.Distance(eTarget) < E.Range)
                {
                    E.Cast(packets());
                }
            }
        }
예제 #8
0
파일: Zed.cs 프로젝트: betw01/xsalice22
        private void Combo(bool useQ, bool useW, bool useE, bool useR)
        {
            int mode = menu.Item("Combo_mode").GetValue <StringList>().SelectedIndex;

            switch (mode)
            {
            case 0:
                var qTarget = SimpleTs.GetTarget(Q.Range, SimpleTs.DamageType.Physical);
                if (qTarget != null)
                {
                    if (GetMarked() != null)
                    {
                        qTarget = GetMarked();
                    }

                    if (GetComboDamage(qTarget) >= qTarget.Health && Ignite_Ready() && menu.Item("Ignite").GetValue <bool>())
                    {
                        Use_Ignite(qTarget);
                    }

                    if (menu.Item("Botrk").GetValue <bool>())
                    {
                        if (HasBuff(qTarget, "zedulttargetmark"))
                        {
                            Use_Bilge(qTarget);
                        }

                        if (HasBuff(qTarget, "zedulttargetmark"))
                        {
                            Use_Botrk(qTarget);
                        }
                    }
                }

                if (menu.Item("Prioritize_Q").GetValue <bool>())
                {
                    if (useQ)
                    {
                        Cast_Q();
                    }

                    if (HasEnergy(false, W.IsReady() && useW, E.IsReady() && useE))
                    {
                        if (useW)
                        {
                            Cast_W("Combo", false, useE);
                        }
                    }
                }
                else
                {
                    if (HasEnergy(Q.IsReady() && useQ, W.IsReady() && useW, E.IsReady() && useE))
                    {
                        if (useW)
                        {
                            Cast_W("Combo", useQ, useE);
                        }
                    }
                    if (useQ)
                    {
                        Cast_Q();
                    }
                }

                if (useE)
                {
                    Cast_E();
                }

                if (WShadow == null)
                {
                    return;
                }

                var target = SimpleTs.GetTarget(Q.Range + W.Range, SimpleTs.DamageType.Physical);
                if (target == null)
                {
                    return;
                }

                if (menu.Item("W_Follow_Combo").GetValue <bool>() && wSpell.ToggleState == 2 && Player.Distance(target) > WShadow.Distance(target) && HasBuff(target, "zedulttargetmark"))
                {
                    W.Cast(packets());
                }

                break;

            case 1:
                if (useR)
                {
                    LineCombo(useQ, useE);
                }
                else
                {
                    menu.Item("Combo_mode").SetValue(new StringList(new[] { "Normal", "Line Combo", "Coax" }));
                }
                break;

            case 2:
                CoaxCombo(useQ, useE);
                break;
            }
        }
예제 #9
0
파일: Zed.cs 프로젝트: huynkprovn/LSharp
        private void Combo(bool useQ, bool useW, bool useE, bool useR)
        {
            int mode    = menu.Item("Combo_mode").GetValue <StringList>().SelectedIndex;
            var qTarget = SimpleTs.GetTarget(Q.Range, SimpleTs.DamageType.Physical);
            var target  = SimpleTs.GetTarget(Q.Range + W.Range, SimpleTs.DamageType.Physical);

            switch (mode)
            {
            case 0:
                if (qTarget != null)
                {
                    if (GetMarked() != null)
                    {
                        qTarget = GetMarked();
                    }

                    if (GetComboDamage(qTarget) >= qTarget.Health && Ignite_Ready() && menu.Item("Ignite").GetValue <bool>() && Player.Distance(qTarget) < 300)
                    {
                        Use_Ignite(qTarget);
                    }

                    if (menu.Item("Botrk").GetValue <bool>())
                    {
                        if (HasBuff(qTarget, "zedulttargetmark"))
                        {
                            Use_Bilge(qTarget);
                        }

                        if (HasBuff(qTarget, "zedulttargetmark"))
                        {
                            Use_Botrk(qTarget);
                        }
                    }
                }

                if (menu.Item("Prioritize_Q").GetValue <bool>())
                {
                    if (useQ && W.LastCastAttemptT - Environment.TickCount > Game.Ping)
                    {
                        Cast_Q();
                    }

                    if (HasEnergy(false, W.IsReady() && useW, E.IsReady() && useE))
                    {
                        if (useW)
                        {
                            Cast_W("Combo", false, useE);
                        }
                    }
                }
                else
                {
                    if (HasEnergy(Q.IsReady() && useQ, W.IsReady() && useW, E.IsReady() && useE))
                    {
                        if (useW)
                        {
                            Cast_W("Combo", useQ, useE);
                        }
                    }
                    if (useQ && (!W.IsReady() || wSpell.ToggleState == 2))
                    {
                        Cast_Q();
                    }
                }

                if (useE)
                {
                    Cast_E();
                }

                if (WShadow == null)
                {
                    return;
                }

                if (target == null)
                {
                    return;
                }

                if (menu.Item("W_Follow_Combo").GetValue <bool>() && wSpell.ToggleState == 2 && Player.Distance(target) > WShadow.Distance(target) && HasBuff(target, "zedulttargetmark"))
                {
                    W.Cast(packets());
                }

                break;

            //line
            case 1:
                if (useR)
                {
                    LineCombo(useQ, useE);
                }
                else
                {
                    menu.Item("Combo_mode").SetValue(new StringList(new[] { "Normal", "Line Combo", "Coax", "Ult no W", "Normal With Ult" }));
                }
                break;

            //Coax
            case 2:
                CoaxCombo(useQ, useE);
                break;

            //ham
            case 3:
                if (qTarget != null)
                {
                    var dmg = GetComboDamage(qTarget);

                    float range = Q.Range;
                    if (GetTargetFocus(range) != null)
                    {
                        qTarget = GetTargetFocus(range);
                    }

                    if (dmg > qTarget.Health + 50 && qTarget.IsValidTarget(R.Range) && HasEnergy(true, true, false))
                    {
                        R.CastOnUnit(qTarget, packets());
                    }

                    if (GetMarked() != null)
                    {
                        qTarget = GetMarked();
                    }

                    if (GetComboDamage(qTarget) >= qTarget.Health && Ignite_Ready() && menu.Item("Ignite").GetValue <bool>() && Player.Distance(qTarget) < 300)
                    {
                        Use_Ignite(qTarget);
                    }

                    if (menu.Item("Botrk").GetValue <bool>())
                    {
                        if (HasBuff(qTarget, "zedulttargetmark"))
                        {
                            Use_Bilge(qTarget);
                        }

                        if (HasBuff(qTarget, "zedulttargetmark"))
                        {
                            Use_Botrk(qTarget);
                        }
                    }
                }

                if (useQ)
                {
                    Cast_Q();
                }

                if (useE)
                {
                    Cast_E();
                }
                break;

            //Normal /w Ult
            case 4:
                if (qTarget != null)
                {
                    var dmg2 = GetComboDamage(qTarget);

                    float range = Q.Range;
                    if (GetTargetFocus(range) != null)
                    {
                        qTarget = GetTargetFocus(range);
                    }

                    if (dmg2 > qTarget.Health + 50 && qTarget.IsValidTarget(R.Range) && HasEnergy(true, true, false))
                    {
                        R.CastOnUnit(qTarget, packets());
                    }

                    if (GetMarked() != null)
                    {
                        qTarget = GetMarked();
                    }

                    if (GetComboDamage(qTarget) >= qTarget.Health && Ignite_Ready() && menu.Item("Ignite").GetValue <bool>() && Player.Distance(qTarget) < 300)
                    {
                        Use_Ignite(qTarget);
                    }

                    if (menu.Item("Botrk").GetValue <bool>())
                    {
                        if (HasBuff(qTarget, "zedulttargetmark"))
                        {
                            Use_Bilge(qTarget);
                        }

                        if (HasBuff(qTarget, "zedulttargetmark"))
                        {
                            Use_Botrk(qTarget);
                        }
                    }
                }

                if (menu.Item("Prioritize_Q").GetValue <bool>())
                {
                    if (useQ && W.LastCastAttemptT - Environment.TickCount > Game.Ping)
                    {
                        Cast_Q();
                    }

                    if (HasEnergy(false, W.IsReady() && useW, E.IsReady() && useE))
                    {
                        if (useW)
                        {
                            Cast_W("Combo", false, useE);
                        }
                    }
                }
                else
                {
                    if (HasEnergy(Q.IsReady() && useQ, W.IsReady() && useW, E.IsReady() && useE))
                    {
                        if (useW)
                        {
                            Cast_W("Combo", useQ, useE);
                        }
                    }
                    if (useQ && (!W.IsReady() || wSpell.ToggleState == 2))
                    {
                        Cast_Q();
                    }
                }

                if (useE)
                {
                    Cast_E();
                }

                if (WShadow == null)
                {
                    return;
                }

                if (target == null)
                {
                    return;
                }

                if (menu.Item("W_Follow_Combo").GetValue <bool>() && wSpell.ToggleState == 2 && Player.Distance(target) > WShadow.Distance(target) && HasBuff(target, "zedulttargetmark"))
                {
                    W.Cast(packets());
                }
                break;
            }
        }