public void Combo()
        {
            if (!Menu.Item("enabled").GetValue <bool>())
            {
                return;
            }

            Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key);
            _q     = Me.Spellbook.SpellQ;
            _w     = Me.Spellbook.SpellW;
            _r     = Me.Spellbook.SpellR;

            _mom      = Me.FindItem("item_mask_of_madness");
            _urn      = Me.FindItem("item_urn_of_shadows");
            _dagon    = Me.Inventory.Items.FirstOrDefault(x => x.Name.Contains("item_dagon"));
            _ethereal = Me.FindItem("item_ethereal_blade");
            _halberd  = Me.FindItem("item_heavens_halberd");
            _mjollnir = Me.FindItem("item_mjollnir");
            _blink    = Me.FindItem("item_blink");
            _orchid   = Me.FindItem("item_orchid") ?? Me.FindItem("item_bloodthorn");
            _abyssal  = Me.FindItem("item_abyssal_blade");
            _mail     = Me.FindItem("item_blade_mail");
            _bkb      = Me.FindItem("item_black_king_bar");
            _satanic  = Me.FindItem("item_satanic");
            _medall   = Me.FindItem("item_medallion_of_courage") ?? Me.FindItem("item_solar_crest");
            _shiva    = Me.FindItem("item_shivas_guard");
            var v = ObjectManager.GetEntities <Hero>()
                    .Where(x => x.Team != Me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion)
                    .ToList();

            E = Toolset.ClosestToMouse(Me);
            if (E == null)
            {
                return;
            }
            if (Active)
            {
                if (Menu.Item("orbwalk").GetValue <bool>())
                {
                    Orbwalking.Orbwalk(E, 0, 1600, true, true);
                }
            }
            if (Active && Me.Distance2D(E) <= 1400 && E.IsAlive && !Me.IsInvisible())
            {
                if (Menu.Item("orbwalk").GetValue <bool>())
                {
                    Orbwalking.Orbwalk(E, 0, 1600, true, true);
                }
                if (
                    _w != null && _w.CanBeCasted() && v.Count(x => x.Distance2D(Me) <= 725 + Me.HullRadius)
                    >= (Menu.Item("time_dilation").GetValue <Slider>().Value) &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_w.Name) &&
                    (_r == null || !_r.CanBeCasted() || !Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_r.Name) || v.Count(x => x.Distance2D(Me) <= 425 + Me.HullRadius)
                     < Menu.Item("v").GetValue <Slider>().Value) &&
                    Utils.SleepCheck("W") &&
                    (_r == null || !_r.IsInAbilityPhase) &&
                    !E.HasModifier("modifier_faceless_void_chronosphere_freeze")
                    )
                {
                    _w.UseAbility();
                    Utils.Sleep(100, "W");
                }
                if (
                    _blink != null &&
                    Me.CanCast() &&
                    _blink.CanBeCasted() &&
                    Me.Distance2D(E) < 1190 &&
                    v.Count(x => x.Distance2D(E) <= 525) <= 1 &&
                    Me.Distance2D(E) > Me.AttackRange + 150 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_blink.Name) &&
                    Utils.SleepCheck("blink")
                    )
                {
                    _blink.UseAbility(E.Position);
                    Utils.Sleep(250, "blink");
                }
                if (
                    _q != null && _q.CanBeCasted() &&
                    Me.Distance2D(E) <= _q.GetCastRange() + Me.HullRadius + 24 &&
                    Me.Distance2D(E) >= 450 &&
                    Me.CanAttack() &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_q.Name) &&
                    Utils.SleepCheck("Q")
                    )
                {
                    _q.UseAbility(E.Position);
                    Utils.Sleep(100, "Q");
                }

                if (                 // MOM
                    _mom != null &&
                    _mom.CanBeCasted() &&
                    Me.CanCast() &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_mom.Name) &&
                    Utils.SleepCheck("mom") &&
                    Me.Distance2D(E) <= 700
                    )
                {
                    _mom.UseAbility();
                    Utils.Sleep(250, "mom");
                }
                if (                 // Mjollnir
                    _mjollnir != null &&
                    _mjollnir.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsMagicImmune() &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_mjollnir.Name) &&
                    Utils.SleepCheck("mjollnir") &&
                    Me.Distance2D(E) <= 900
                    )
                {
                    _mjollnir.UseAbility(Me);
                    Utils.Sleep(250, "mjollnir");
                }                 // Mjollnir Item end
                if (              // Medall
                    _medall != null &&
                    _medall.CanBeCasted() &&
                    Utils.SleepCheck("Medall") &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_medall.Name) &&
                    Me.Distance2D(E) <= 700
                    )
                {
                    _medall.UseAbility(E);
                    Utils.Sleep(250, "Medall");
                }                 // Medall Item end
                if (              // orchid
                    _orchid != null &&
                    _orchid.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsLinkensProtected() &&
                    !E.IsMagicImmune() &&
                    Me.Distance2D(E) <= Me.AttackRange + 40 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_orchid.Name) &&
                    Utils.SleepCheck("orchid")
                    )
                {
                    _orchid.UseAbility(E);
                    Utils.Sleep(250, "orchid");
                }                 // orchid Item end

                if (_shiva != null && _shiva.CanBeCasted() && Me.Distance2D(E) <= 600 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_shiva.Name) &&
                    !E.IsMagicImmune() && Utils.SleepCheck("Shiva"))
                {
                    _shiva.UseAbility();
                    Utils.Sleep(100, "Shiva");
                }

                if (_ethereal != null && _ethereal.CanBeCasted() &&
                    Me.Distance2D(E) <= 700 && Me.Distance2D(E) <= 400 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_ethereal.Name) &&
                    Utils.SleepCheck("ethereal"))
                {
                    _ethereal.UseAbility(E);
                    Utils.Sleep(100, "ethereal");
                }

                if (_dagon != null &&
                    _dagon.CanBeCasted() &&
                    Me.Distance2D(E) <= 500 &&
                    Utils.SleepCheck("dagon"))
                {
                    _dagon.UseAbility(E);
                    Utils.Sleep(100, "dagon");
                }
                if (                 // Abyssal Blade
                    _abyssal != null &&
                    _abyssal.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsStunned() &&
                    !E.IsHexed() &&
                    Utils.SleepCheck("abyssal") &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_abyssal.Name) &&
                    Me.Distance2D(E) <= 400
                    )
                {
                    _abyssal.UseAbility(E);
                    Utils.Sleep(250, "abyssal");
                }                 // Abyssal Item end
                if (_urn != null && _urn.CanBeCasted() && _urn.CurrentCharges > 0 && Me.Distance2D(E) <= 400 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_urn.Name) && Utils.SleepCheck("urn"))
                {
                    _urn.UseAbility(E);
                    Utils.Sleep(240, "urn");
                }
                if (                 // Hellbard
                    _halberd != null &&
                    _halberd.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsMagicImmune() &&
                    (E.NetworkActivity == NetworkActivity.Attack ||
                     E.NetworkActivity == NetworkActivity.Crit ||
                     E.NetworkActivity == NetworkActivity.Attack2) &&
                    Utils.SleepCheck("halberd") &&
                    Me.Distance2D(E) <= 700 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_halberd.Name)
                    )
                {
                    _halberd.UseAbility(E);
                    Utils.Sleep(250, "halberd");
                }
                if (                 // Satanic
                    _satanic != null &&
                    Me.Health <= (Me.MaximumHealth * 0.3) &&
                    _satanic.CanBeCasted() &&
                    Me.Distance2D(E) <= Me.AttackRange + 50 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_satanic.Name) &&
                    Utils.SleepCheck("satanic")
                    )
                {
                    _satanic.UseAbility();
                    Utils.Sleep(240, "satanic");
                }                 // Satanic Item end
                if (_mail != null && _mail.CanBeCasted() && (v.Count(x => x.Distance2D(Me) <= 650) >=
                                                             (Menu.Item("Heelm").GetValue <Slider>().Value)) &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_mail.Name) && Utils.SleepCheck("mail"))
                {
                    _mail.UseAbility();
                    Utils.Sleep(100, "mail");
                }
                if (_bkb != null && _bkb.CanBeCasted() && (v.Count(x => x.Distance2D(Me) <= 650) >=
                                                           (Menu.Item("Heel").GetValue <Slider>().Value)) &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_bkb.Name) && Utils.SleepCheck("bkb"))
                {
                    _bkb.UseAbility();
                    Utils.Sleep(100, "bkb");
                }
            }
            OnTimedEvent();
            if (Active)
            {
                //TODO test
                var ally = ObjectManager.GetEntities <Hero>()
                           .Where(x => x.Team == Me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion && !x.Equals(Me)).ToList();
                for (int i = 0; i < v.Count; ++i)
                {
                    if ((v.Count(x => x.Distance2D(v[i]) <= 425 + Me.HullRadius) >=
                         (Menu.Item("v").GetValue <Slider>().Value)) &&
                        (ally.Count(x => x.Distance2D(Me) <= 425 + Me.HullRadius) <=
                         (Menu.Item("ally").GetValue <Slider>().Value)))
                    {
                        if (_blink != null && _blink.CanBeCasted() && Me.Distance2D(v[i]) <= _blink.GetCastRange() && Me.Distance2D(v[i]) > _r.GetCastRange() + Me.HullRadius &&
                            Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_blink.Name) && Utils.SleepCheck("blink"))
                        {
                            _blink.UseAbility(v[i].Position);
                            Utils.Sleep(100, "blink");
                        }
                        if (_q != null && _q.CanBeCasted() && Me.Distance2D(v[i]) <= _q.GetCastRange() + Me.HullRadius && Me.Distance2D(v[i]) > _r.GetCastRange() + Me.HullRadius &&
                            Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_q.Name) && Utils.SleepCheck("Q"))
                        {
                            _q.UseAbility(v[i].Position);
                            Utils.Sleep(100, "Q");
                        }
                        if (_r != null && _r.CanBeCasted() && Me.Distance2D(v[i]) <= _r.GetCastRange() + Me.HullRadius &&
                            Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_r.Name) && Utils.SleepCheck("Q"))
                        {
                            _r.UseAbility(v[i].Position);
                            Utils.Sleep(100, "Q");
                        }
                    }
                }
            }
        }
Beispiel #2
0
        private static bool IsEzKillable()
        {
            if (!Menu.Item("ezKillCheck").GetValue <bool>())
            {
                return(false);
            }
            int  totalDamage = 0;
            int  plusPerc    = 0;
            uint reqMana     = 0;

            if (Ethereal != null && Ethereal.CanBeCasted() &&
                Menu.Item("magicItems").GetValue <AbilityToggler>().IsEnabled(Ethereal.Name))
            {
                totalDamage +=
                    (int)
                    Target.SpellDamageTaken((int)(Me.TotalIntelligence * 2) + 75, DamageType.Magical, Me,
                                            Ethereal.Name);
                plusPerc += 40;
                reqMana  += Ethereal.ManaCost;
            }

            if (Veil != null && Veil.CanBeCasted() &&
                Menu.Item("magicItems").GetValue <AbilityToggler>().IsEnabled(Veil.Name))
            {
                plusPerc += 25;
                reqMana  += Veil.ManaCost;
            }


            if (Silence != null && Silence.CanBeCasted() &&
                Menu.Item("abilities").GetValue <AbilityToggler>().IsEnabled(Silence.Name))
            {
                plusPerc += (int)((Silence.Level - 1) * 5 + 30);
                reqMana  += Silence.ManaCost;
            }


            if (Dagon != null && Dagon.CanBeCasted()
                /*Menu.Item("magicItems").GetValue<AbilityToggler>().IsEnabled("item_dagon")*/)
            {
                totalDamage +=
                    (int)
                    Target.SpellDamageTaken(Dagon.GetAbilityData("damage"), DamageType.Magical, Me, Dagon.Name,
                                            minusMagicResistancePerc: plusPerc);
                reqMana += Dagon.ManaCost;
            }


            if (Bolt != null && Bolt.CanBeCasted() &&
                Menu.Item("abilities").GetValue <AbilityToggler>().IsEnabled(Bolt.Name))
            {
                if (Bolt.Level < 4)
                {
                    totalDamage +=
                        (int)
                        Target.SpellDamageTaken((Bolt.GetAbilityData("bolt_damage") + Me.TotalIntelligence * 1.6f) * 1,
                                                DamageType.Magical, Me, Bolt.Name, minusMagicResistancePerc: plusPerc);
                    reqMana += Bolt.ManaCost;
                }

                else
                {
                    totalDamage +=
                        (int)
                        Target.SpellDamageTaken((Bolt.GetAbilityData("bolt_damage") + Me.TotalIntelligence * 1.6f) * 2,
                                                DamageType.Magical, Me, Bolt.Name, minusMagicResistancePerc: plusPerc);
                    reqMana += Bolt.ManaCost * 2;
                }
            }

            if (Slow != null && Slow.CanBeCasted() &&
                Menu.Item("abilities").GetValue <AbilityToggler>().IsEnabled(Slow.Name))
            {
                totalDamage +=
                    (int)
                    Target.SpellDamageTaken(Slow.GetAbilityData("damage"), DamageType.Magical, Me, Slow.Name,
                                            minusMagicResistancePerc: plusPerc);
                reqMana += Slow.ManaCost;
            }


            if (Me.CanAttack())
            {
                totalDamage += (int)Target.DamageTaken(Me.DamageAverage * 2, DamageType.Physical, Me);
            }

            return(reqMana < Me.Mana && Target.Health < totalDamage);
        }
        public void Combo()
        {
            Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key);

            _q = Me.Spellbook.SpellQ;
            //R = Me.Spellbook.SpellR;
            _r = Me.Spellbook.SpellR;

            _mom      = Me.FindItem("item_mask_of_madness");
            _urn      = Me.FindItem("item_urn_of_shadows");
            _dagon    = Me.Inventory.Items.FirstOrDefault(x => x.Name.Contains("item_dagon"));
            _ethereal = Me.FindItem("item_ethereal_blade");
            _halberd  = Me.FindItem("item_heavens_halberd");
            _mjollnir = Me.FindItem("item_mjollnir");
            _blink    = Me.FindItem("item_blink");
            _orchid   = Me.FindItem("item_orchid") ?? Me.FindItem("item_bloodthorn");
            _abyssal  = Me.FindItem("item_abyssal_blade");
            _mail     = Me.FindItem("item_blade_mail");
            _bkb      = Me.FindItem("item_black_king_bar");
            _satanic  = Me.FindItem("item_satanic");
            _medall   = Me.FindItem("item_medallion_of_courage") ?? Me.FindItem("item_solar_crest");
            _shiva    = Me.FindItem("item_shivas_guard");
            var v =
                ObjectManager.GetEntities <Hero>()
                .Where(x => x.Team != Me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion && !x.IsMagicImmune())
                .ToList();

            E = Toolset.ClosestToMouse(Me);
            if (E == null)
            {
                return;
            }
            if (Active)
            {
                if (Menu.Item("orbwalk").GetValue <bool>() && Me.Distance2D(E) <= 1900)
                {
                    Orbwalking.Orbwalk(E, 0, 1600, true, true);
                }
            }
            if (Active && Me.Distance2D(E) <= 1400 && E != null && E.IsAlive && !Toolset.invUnit(Me))
            {
                if (
                    _blink != null &&
                    Me.CanCast() &&
                    _blink.CanBeCasted() &&
                    Me.Distance2D(E) < 1190 &&
                    Me.Distance2D(E) > Me.AttackRange &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_blink.Name) &&
                    Utils.SleepCheck("blink")
                    )
                {
                    _blink.UseAbility(E.Position);
                    Utils.Sleep(250, "blink");
                }
                if (
                    _q != null && _q.CanBeCasted() && Me.Distance2D(E) <= _q.GetCastRange() + 150 &&
                    Me.CanAttack() &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_q.Name) &&
                    Utils.SleepCheck("Q")
                    )
                {
                    _q.UseAbility(E);
                    Utils.Sleep(100, "Q");
                }
                if (
                    _r != null && _r.CanBeCasted() && Me.Distance2D(E) <= 1200 &&
                    !_q.CanBeCasted() &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_r.Name) &&
                    Me.NetworkActivity != NetworkActivity.Attack &&
                    Utils.SleepCheck("R")
                    )
                {
                    _r.UseAbility(E);
                    Utils.Sleep(150, "R");
                }

                /*
                 * var enemy = ObjectManager.GetEntities<Hero>().Where(x => x.IsAlive && x.Team != Me.Team).ToList();
                 * for (int i = 0; i < enemy.Count(); i++)
                 * {
                 *      if (
                 *      R != null && R.CanBeCasted() && Me.Distance2D(enemy[i]) <= 800
                 *      && !Q.CanBeCasted()
                 *      && Menu.Item("Skills").GetValue<AbilityToggler>().IsEnabled(R.Name)
                 *      && Utils.SleepCheck("R")
                 *      )
                 *      {
                 *              R.UseAbility();
                 *              Utils.Sleep(250, "R");
                 *      }
                 * }
                 */
                if (                 // MOM
                    _mom != null &&
                    _mom.CanBeCasted() &&
                    Me.CanCast() &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_mom.Name) &&
                    Utils.SleepCheck("mom") &&
                    Me.Distance2D(E) <= 700
                    )
                {
                    _mom.UseAbility();
                    Utils.Sleep(250, "mom");
                }
                if (                 // Mjollnir
                    _mjollnir != null &&
                    _mjollnir.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsMagicImmune() &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_mjollnir.Name) &&
                    Utils.SleepCheck("mjollnir") &&
                    Me.Distance2D(E) <= 900
                    )
                {
                    _mjollnir.UseAbility(Me);
                    Utils.Sleep(250, "mjollnir");
                }                 // Mjollnir Item end
                if (              // Medall
                    _medall != null &&
                    _medall.CanBeCasted() &&
                    Utils.SleepCheck("Medall") &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_medall.Name) &&
                    Me.Distance2D(E) <= 700
                    )
                {
                    _medall.UseAbility(E);
                    Utils.Sleep(250, "Medall");
                }                 // Medall Item end
                if (              // orchid
                    _orchid != null &&
                    _orchid.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsLinkensProtected() &&
                    !E.IsMagicImmune() &&
                    Me.Distance2D(E) <= Me.AttackRange + 40 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_orchid.Name) &&
                    Utils.SleepCheck("orchid")
                    )
                {
                    _orchid.UseAbility(E);
                    Utils.Sleep(250, "orchid");
                }                 // orchid Item end

                if (_shiva != null && _shiva.CanBeCasted() && Me.Distance2D(E) <= 600 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_shiva.Name) &&
                    !E.IsMagicImmune() && Utils.SleepCheck("Shiva"))
                {
                    _shiva.UseAbility();
                    Utils.Sleep(100, "Shiva");
                }

                if (_ethereal != null && _ethereal.CanBeCasted() &&
                    Me.Distance2D(E) <= 700 && Me.Distance2D(E) <= 400 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_ethereal.Name) &&
                    Utils.SleepCheck("ethereal"))
                {
                    _ethereal.UseAbility(E);
                    Utils.Sleep(100, "ethereal");
                }

                if (_dagon != null &&
                    _dagon.CanBeCasted() &&
                    Me.Distance2D(E) <= 500 &&
                    Utils.SleepCheck("dagon"))
                {
                    _dagon.UseAbility(E);
                    Utils.Sleep(100, "dagon");
                }
                if (                 // Abyssal Blade
                    _abyssal != null &&
                    _abyssal.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsStunned() &&
                    !E.IsHexed() &&
                    Utils.SleepCheck("abyssal") &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_abyssal.Name) &&
                    Me.Distance2D(E) <= 400
                    )
                {
                    _abyssal.UseAbility(E);
                    Utils.Sleep(250, "abyssal");
                }                 // Abyssal Item end
                if (_urn != null && _urn.CanBeCasted() && _urn.CurrentCharges > 0 && Me.Distance2D(E) <= 400 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_urn.Name) && Utils.SleepCheck("urn"))
                {
                    _urn.UseAbility(E);
                    Utils.Sleep(240, "urn");
                }
                if (                 // Hellbard
                    _halberd != null &&
                    _halberd.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsMagicImmune() &&
                    (E.NetworkActivity == NetworkActivity.Attack ||
                     E.NetworkActivity == NetworkActivity.Crit ||
                     E.NetworkActivity == NetworkActivity.Attack2) &&
                    Utils.SleepCheck("halberd") &&
                    Me.Distance2D(E) <= 700 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_halberd.Name)
                    )
                {
                    _halberd.UseAbility(E);
                    Utils.Sleep(250, "halberd");
                }
                if (                 // Satanic
                    _satanic != null &&
                    Me.Health <= (Me.MaximumHealth * 0.3) &&
                    _satanic.CanBeCasted() &&
                    Me.Distance2D(E) <= Me.AttackRange + 50 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_satanic.Name) &&
                    Utils.SleepCheck("satanic")
                    )
                {
                    _satanic.UseAbility();
                    Utils.Sleep(240, "satanic");
                }                 // Satanic Item end
                if (_mail != null && _mail.CanBeCasted() && (v.Count(x => x.Distance2D(Me) <= 650) >=
                                                             (Menu.Item("Heelm").GetValue <Slider>().Value)) &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_mail.Name) && Utils.SleepCheck("mail"))
                {
                    _mail.UseAbility();
                    Utils.Sleep(100, "mail");
                }
                if (_bkb != null && _bkb.CanBeCasted() && (v.Count(x => x.Distance2D(Me) <= 650) >=
                                                           (Menu.Item("Heel").GetValue <Slider>().Value)) &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_bkb.Name) && Utils.SleepCheck("bkb"))
                {
                    _bkb.UseAbility();
                    Utils.Sleep(100, "bkb");
                }
            }
        }
        public void Combo()
        {
            Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key);

            _q = Me.Spellbook.SpellQ;
            _w = Me.Spellbook.SpellW;
            _r = Me.Spellbook.SpellR;


            _mom      = Me.FindItem("item_mask_of_madness");
            _urn      = Me.FindItem("item_urn_of_shadows");
            _dagon    = Me.Inventory.Items.FirstOrDefault(x => x.Name.Contains("item_dagon"));
            _ethereal = Me.FindItem("item_ethereal_blade");
            _halberd  = Me.FindItem("item_heavens_halberd");
            _mjollnir = Me.FindItem("item_mjollnir");
            _orchid   = Me.FindItem("item_orchid") ?? Me.FindItem("item_bloodthorn");
            _abyssal  = Me.FindItem("item_abyssal_blade");
            _mail     = Me.FindItem("item_blade_mail");
            _bkb      = Me.FindItem("item_black_king_bar");
            _satanic  = Me.FindItem("item_satanic");
            _blink    = Me.FindItem("item_blink");
            _medall   = Me.FindItem("item_medallion_of_courage") ?? Me.FindItem("item_solar_crest");
            _shiva    = Me.FindItem("item_shivas_guard");
            var v =
                ObjectManager.GetEntities <Hero>()
                .Where(x => x.Team != Me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion && !x.IsMagicImmune())
                .ToList();


            var modifInv = Me.IsInvisible();

            if (Active)
            {
                E = Toolset.ClosestToMouse(Me);
                if (E == null)
                {
                    return;
                }

                if ((_w != null && _w.CanBeCasted() && Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_w.Name)))
                {
                    if (Menu.Item("orbwalk").GetValue <bool>() && Me.Distance2D(E) <= 1900)
                    {
                        Orbwalking.Orbwalk(E, 0, 1600, true, true);
                    }
                }
                _sheep = E.ClassId == ClassId.CDOTA_Unit_Hero_Tidehunter ? null : Me.FindItem("item_sheepstick");

                Console.WriteLine("3");
                if (Me.Distance2D(E) <= 1400 && E != null && E.IsAlive && !modifInv)
                {
                    if (_w != null && (!_w.CanBeCasted() || !Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_w.Name)))
                    {
                        if (Menu.Item("orbwalk").GetValue <bool>() && Me.Distance2D(E) <= 1900)
                        {
                            Orbwalking.Orbwalk(E, 0, 1600, false, true);
                        }
                    }
                    Console.WriteLine("4");
                    var stoneModif = E.HasModifier("modifier_medusa_stone_gaze_stone");
                    if (stoneModif)
                    {
                        return;
                    }
                    float   angle = Me.FindAngleBetween(E.Position, true);
                    Vector3 pos   = new Vector3((float)(E.Position.X - 500 * Math.Cos(angle)), (float)(E.Position.Y - 500 * Math.Sin(angle)), 0);
                    if (
                        _blink != null &&
                        _q.CanBeCasted() &&
                        Me.CanCast() &&
                        _blink.CanBeCasted() &&
                        Me.Distance2D(E) >= 490 &&
                        Me.Distance2D(pos) <= 1180 &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_blink.Name) &&
                        Utils.SleepCheck("blink")
                        )
                    {
                        _blink.UseAbility(pos);
                        Utils.Sleep(250, "blink");
                    }
                    if (                     // sheep
                        _sheep != null &&
                        _sheep.CanBeCasted() &&
                        Me.CanCast() &&
                        !E.IsLinkensProtected() &&
                        !E.IsMagicImmune() &&
                        Me.Distance2D(E) <= 1400 &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_sheep.Name) &&
                        Utils.SleepCheck("sheep")
                        )
                    {
                        _sheep.UseAbility(E);
                        Utils.Sleep(250, "sheep");
                    }                     // sheep Item end
                    if (
                        _q != null && _q.CanBeCasted() && Me.Distance2D(E) <= Me.AttackRange + 50 &&
                        Me.CanAttack() &&
                        Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_q.Name) &&
                        Utils.SleepCheck("Q")
                        )
                    {
                        _q.UseAbility();
                        Utils.Sleep(150, "Q");
                    }
                    if (_w != null && _w.CanBeCasted() &&
                        Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_w.Name))
                    {
                        if (Menu.Item("orbwalk").GetValue <bool>() && Me.Distance2D(E) <= 1900)
                        {
                            Orbwalking.Orbwalk(E, 0, 1600, true, true);
                        }
                    }
                    if (                     // MOM
                        _mom != null &&
                        _mom.CanBeCasted() &&
                        Me.CanCast() &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_mom.Name) &&
                        Utils.SleepCheck("mom") &&
                        Me.Distance2D(E) <= 700
                        )
                    {
                        _mom.UseAbility();
                        Utils.Sleep(250, "mom");
                    }
                    if (                     // Mjollnir
                        _mjollnir != null &&
                        _mjollnir.CanBeCasted() &&
                        Me.CanCast() &&
                        !E.IsMagicImmune() &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_mjollnir.Name) &&
                        Utils.SleepCheck("mjollnir") &&
                        Me.Distance2D(E) <= 900
                        )
                    {
                        _mjollnir.UseAbility(Me);
                        Utils.Sleep(250, "mjollnir");
                    }                     // Mjollnir Item end
                    if (                  // Medall
                        _medall != null &&
                        _medall.CanBeCasted() &&
                        Utils.SleepCheck("Medall") &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_medall.Name) &&
                        Me.Distance2D(E) <= 700
                        )
                    {
                        _medall.UseAbility(E);
                        Utils.Sleep(250, "Medall");
                    }                     // Medall Item end
                    if (                  // orchid
                        _orchid != null &&
                        _orchid.CanBeCasted() &&
                        Me.CanCast() &&
                        !E.IsLinkensProtected() &&
                        !E.IsMagicImmune() &&
                        Me.Distance2D(E) <= Me.AttackRange + 40 &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_orchid.Name) &&
                        Utils.SleepCheck("orchid")
                        )
                    {
                        _orchid.UseAbility(E);
                        Utils.Sleep(250, "orchid");
                    }                     // orchid Item end

                    if (_shiva != null && _shiva.CanBeCasted() && Me.Distance2D(E) <= 600 &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_shiva.Name) &&
                        !E.IsMagicImmune() && Utils.SleepCheck("Shiva"))
                    {
                        _shiva.UseAbility();
                        Utils.Sleep(100, "Shiva");
                    }

                    if (_ethereal != null && _ethereal.CanBeCasted() &&
                        Me.Distance2D(E) <= 700 && Me.Distance2D(E) <= 400 &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_ethereal.Name) &&
                        Utils.SleepCheck("ethereal"))
                    {
                        _ethereal.UseAbility(E);
                        Utils.Sleep(100, "ethereal");
                    }

                    if (_dagon != null &&
                        _dagon.CanBeCasted() &&
                        Me.Distance2D(E) <= 500 &&
                        Utils.SleepCheck("dagon"))
                    {
                        _dagon.UseAbility(E);
                        Utils.Sleep(100, "dagon");
                    }
                    if (                     // Abyssal Blade
                        _abyssal != null &&
                        _abyssal.CanBeCasted() &&
                        Me.CanCast() &&
                        !E.IsStunned() &&
                        !E.IsHexed() &&
                        Utils.SleepCheck("abyssal") &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_abyssal.Name) &&
                        Me.Distance2D(E) <= 400
                        )
                    {
                        _abyssal.UseAbility(E);
                        Utils.Sleep(250, "abyssal");
                    }                     // Abyssal Item end
                    if (_urn != null && _urn.CanBeCasted() && _urn.CurrentCharges > 0 && Me.Distance2D(E) <= 400 &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_urn.Name) && Utils.SleepCheck("urn"))
                    {
                        _urn.UseAbility(E);
                        Utils.Sleep(240, "urn");
                    }
                    if (                     // Hellbard
                        _halberd != null &&
                        _halberd.CanBeCasted() &&
                        Me.CanCast() &&
                        !E.IsMagicImmune() &&
                        (E.NetworkActivity == NetworkActivity.Attack ||
                         E.NetworkActivity == NetworkActivity.Crit ||
                         E.NetworkActivity == NetworkActivity.Attack2) &&
                        Utils.SleepCheck("halberd") &&
                        Me.Distance2D(E) <= 700 &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_halberd.Name)
                        )
                    {
                        _halberd.UseAbility(E);
                        Utils.Sleep(250, "halberd");
                    }
                    if (                     // Satanic
                        _satanic != null &&
                        Me.Health <= (Me.MaximumHealth * 0.3) &&
                        _satanic.CanBeCasted() &&
                        Me.Distance2D(E) <= Me.AttackRange + 50 &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_satanic.Name) &&
                        Utils.SleepCheck("satanic")
                        )
                    {
                        _satanic.UseAbility();
                        Utils.Sleep(240, "satanic");
                    }                     // Satanic Item end
                    if (_mail != null && _mail.CanBeCasted() && (v.Count(x => x.Distance2D(Me) <= 650) >=
                                                                 (Menu.Item("Heelm").GetValue <Slider>().Value)) &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_mail.Name) && Utils.SleepCheck("mail"))
                    {
                        _mail.UseAbility();
                        Utils.Sleep(100, "mail");
                    }
                    if (_bkb != null && _bkb.CanBeCasted() && (v.Count(x => x.Distance2D(Me) <= 650) >=
                                                               (Menu.Item("Heel").GetValue <Slider>().Value)) &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_bkb.Name) && Utils.SleepCheck("bkb"))
                    {
                        _bkb.UseAbility();
                        Utils.Sleep(100, "bkb");
                    }
                }
            }
            if (Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_r.Name))
            {
                var units = ObjectManager.GetEntities <Unit>().Where(creep =>
                                                                     (creep.ClassId == ClassId.CDOTA_BaseNPC_Creep_Neutral ||
                                                                      creep.ClassId == ClassId.CDOTA_BaseNPC_Invoker_Forged_Spirit ||
                                                                      creep.ClassId == ClassId.CDOTA_BaseNPC_Creep ||
                                                                      creep.ClassId == ClassId.CDOTA_BaseNPC_Creep_Lane ||
                                                                      creep.ClassId == ClassId.CDOTA_BaseNPC_Creep_Siege ||
                                                                      creep.ClassId == ClassId.CDOTA_Unit_Hero_Beastmaster_Boar
                                                                     ) &&
                                                                     creep.Health >= (creep.MaximumHealth * 0.7) &&
                                                                     creep.IsAlive &&
                                                                     creep.Distance2D(Me) <= _r.GetCastRange() + 300 &&
                                                                     creep.IsSpawned &&
                                                                     creep.Team != Me.Team).ToList();

                if (_r != null && _r.CanBeCasted() &&
                    Utils.SleepCheck("R") &&
                    !Me.HasModifier("modifier_clinkz_death_pact") &&
                    !Me.IsInvisible())
                {
                    if (units.Count > 0)
                    {
                        _r.UseAbility(units.OrderBy(x => x.Health).LastOrDefault());
                    }
                    Utils.Sleep(1000, "R");
                }
            }
        }
        public void Combo()
        {
            Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key);

            _q        = Me.Spellbook.SpellQ;
            _e        = Me.Spellbook.SpellE;
            _r        = Me.Spellbook.SpellR;
            _iron     = Me.FindItem("item_branches");
            _mom      = Me.FindItem("item_mask_of_madness");
            _urn      = Me.FindItem("item_urn_of_shadows");
            _dagon    = Me.Inventory.Items.FirstOrDefault(x => x.Name.Contains("item_dagon"));
            _ethereal = Me.FindItem("item_ethereal_blade");
            _halberd  = Me.FindItem("item_heavens_halberd");
            _mjollnir = Me.FindItem("item_mjollnir");
            _blink    = Me.FindItem("item_blink");
            _orchid   = Me.FindItem("item_orchid") ?? Me.FindItem("item_bloodthorn");
            _abyssal  = Me.FindItem("item_abyssal_blade");
            _mail     = Me.FindItem("item_blade_mail");
            _bkb      = Me.FindItem("item_black_king_bar");
            _satanic  = Me.FindItem("item_satanic");
            _medall   = Me.FindItem("item_medallion_of_courage") ?? Me.FindItem("item_solar_crest");
            _shiva    = Me.FindItem("item_shivas_guard");
            var v =
                ObjectManager.GetEntities <Hero>()
                .Where(x => x.Team != Me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion && !x.IsMagicImmune())
                .ToList();

            E = Toolset.ClosestToMouse(Me);
            if (E == null)
            {
                return;
            }
            if (Active)
            {
                if (Menu.Item("orbwalk").GetValue <bool>() && Me.Distance2D(E) <= 1900)
                {
                    Orbwalking.Orbwalk(E, 0, 1600, true, true);
                }
            }
            if (Active && Me.Distance2D(E) <= 1400 && E.IsAlive && !Me.IsInvisible())
            {
                float angleblink = Me.FindAngleBetween(E.Position, true);
                if (_iron != null)
                {
                    float   angle = Me.FindAngleBetween(E.Position, true);
                    Vector3 pos   = new Vector3((float)(E.Position.X - 290 * Math.Cos(angle)), (float)(E.Position.Y - 290 * Math.Sin(angle)), 0);



                    if (
                        _q != null && _q.CanBeCasted() && Me.Distance2D(E) <= 1300 &&
                        Me.CanAttack() &&
                        Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_q.Name) &&
                        Utils.SleepCheck("Q")
                        )
                    {
                        _q.UseAbility(E);
                        Utils.Sleep(100, "Q");
                    }
                    if (
                        _iron != null &&
                        _blink != null &&
                        _blink.Cooldown > 11 &&
                        _iron.CanBeCasted() &&
                        Me.Distance2D(E) <= 300 &&
                        Me.CanAttack() &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled("item_branches") &&
                        Utils.SleepCheck("iron")
                        )
                    {
                        _iron.UseAbility(pos);
                        Utils.Sleep(10000, "iron");
                    }
                }

                var blinkpos = _iron != null
                    ? new Vector3((float)(E.Position.X + 200 * Math.Cos(angleblink)), (float)(E.Position.Y + 200 * Math.Sin(angleblink)), 0)
                    : new Vector3((float)(E.Position.X - 200 * Math.Cos(angleblink)), (float)(E.Position.Y - 200 * Math.Sin(angleblink)), 0);

                if (
                    _blink != null &&
                    Me.CanCast() &&
                    _blink.CanBeCasted() &&
                    Me.Distance2D(blinkpos) < 1190 &&
                    ((_iron == null && Me.Distance2D(E) > Me.GetAttackRange()) ||
                     (_iron != null && _iron.CanBeCasted() && !_q.CanBeCasted())) &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_blink.Name) &&
                    Utils.SleepCheck("blink")
                    )
                {
                    _blink.UseAbility(blinkpos);
                    Utils.Sleep(250, "blink");
                }

                if (
                    _r != null && _r.CanBeCasted() && Me.Distance2D(E) <= 800 &&
                    Me.CanAttack() &&
                    (E.IsStunned() ||
                     E.IsHexed()) &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_r.Name) &&
                    Utils.SleepCheck("R")
                    )
                {
                    _r.UseAbility(E);
                    Utils.Sleep(100, "R");
                }
                if (
                    _e != null && _e.CanBeCasted() &&
                    Me.Distance2D(E) <= 900 &&
                    Me.Distance2D(E) >= Me.GetAttackRange() + Me.HullRadius &&
                    Me.CanAttack() &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_e.Name) &&
                    Utils.SleepCheck("E")
                    )
                {
                    _e.UseAbility();
                    Utils.Sleep(100, "E");
                }

                if (                 // MOM
                    _mom != null &&
                    _mom.CanBeCasted() &&
                    Me.CanCast() &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_mom.Name) &&
                    Utils.SleepCheck("mom") &&
                    Me.Distance2D(E) <= 700
                    )
                {
                    _mom.UseAbility();
                    Utils.Sleep(250, "mom");
                }
                if (                 // Mjollnir
                    _mjollnir != null &&
                    _mjollnir.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsMagicImmune() &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_mjollnir.Name) &&
                    Utils.SleepCheck("mjollnir") &&
                    Me.Distance2D(E) <= 900
                    )
                {
                    _mjollnir.UseAbility(Me);
                    Utils.Sleep(250, "mjollnir");
                }                 // Mjollnir Item end
                if (              // Medall
                    _medall != null &&
                    _medall.CanBeCasted() &&
                    Utils.SleepCheck("Medall") &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_medall.Name) &&
                    Me.Distance2D(E) <= 700
                    )
                {
                    _medall.UseAbility(E);
                    Utils.Sleep(250, "Medall");
                }                 // Medall Item end
                if (              // orchid
                    _orchid != null &&
                    _orchid.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsLinkensProtected() &&
                    !E.IsMagicImmune() &&
                    Me.Distance2D(E) <= Me.AttackRange + 40 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_orchid.Name) &&
                    Utils.SleepCheck("orchid")
                    )
                {
                    _orchid.UseAbility(E);
                    Utils.Sleep(250, "orchid");
                }                 // orchid Item end

                if (_shiva != null && _shiva.CanBeCasted() && Me.Distance2D(E) <= 600 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_shiva.Name) &&
                    !E.IsMagicImmune() && Utils.SleepCheck("Shiva"))
                {
                    _shiva.UseAbility();
                    Utils.Sleep(100, "Shiva");
                }

                if (_ethereal != null && _ethereal.CanBeCasted() &&
                    Me.Distance2D(E) <= 700 && Me.Distance2D(E) <= 400 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_ethereal.Name) &&
                    Utils.SleepCheck("ethereal"))
                {
                    _ethereal.UseAbility(E);
                    Utils.Sleep(100, "ethereal");
                }

                if (_dagon != null &&
                    _dagon.CanBeCasted() &&
                    Me.Distance2D(E) <= 500 &&
                    Utils.SleepCheck("dagon"))
                {
                    _dagon.UseAbility(E);
                    Utils.Sleep(100, "dagon");
                }
                if (                 // Abyssal Blade
                    _abyssal != null &&
                    _abyssal.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsStunned() &&
                    !E.IsHexed() &&
                    Utils.SleepCheck("abyssal") &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_abyssal.Name) &&
                    Me.Distance2D(E) <= 400
                    )
                {
                    _abyssal.UseAbility(E);
                    Utils.Sleep(250, "abyssal");
                }                 // Abyssal Item end
                if (_urn != null && _urn.CanBeCasted() && _urn.CurrentCharges > 0 && Me.Distance2D(E) <= 400 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_urn.Name) && Utils.SleepCheck("urn"))
                {
                    _urn.UseAbility(E);
                    Utils.Sleep(240, "urn");
                }
                if (                 // Hellbard
                    _halberd != null &&
                    _halberd.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsMagicImmune() &&
                    (E.NetworkActivity == NetworkActivity.Attack ||
                     E.NetworkActivity == NetworkActivity.Crit ||
                     E.NetworkActivity == NetworkActivity.Attack2) &&
                    Utils.SleepCheck("halberd") &&
                    Me.Distance2D(E) <= 700 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_halberd.Name)
                    )
                {
                    _halberd.UseAbility(E);
                    Utils.Sleep(250, "halberd");
                }
                if (                 // Satanic
                    _satanic != null &&
                    Me.Health <= (Me.MaximumHealth * 0.3) &&
                    _satanic.CanBeCasted() &&
                    Me.Distance2D(E) <= Me.AttackRange + 50 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_satanic.Name) &&
                    Utils.SleepCheck("satanic")
                    )
                {
                    _satanic.UseAbility();
                    Utils.Sleep(240, "satanic");
                }                 // Satanic Item end
                if (_mail != null && _mail.CanBeCasted() && (v.Count(x => x.Distance2D(Me) <= 650) >=
                                                             (Menu.Item("Heelm").GetValue <Slider>().Value)) &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_mail.Name) && Utils.SleepCheck("mail"))
                {
                    _mail.UseAbility();
                    Utils.Sleep(100, "mail");
                }
                if (_bkb != null && _bkb.CanBeCasted() && (v.Count(x => x.Distance2D(Me) <= 650) >=
                                                           (Menu.Item("Heel").GetValue <Slider>().Value)) &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_bkb.Name) && Utils.SleepCheck("bkb"))
                {
                    _bkb.UseAbility();
                    Utils.Sleep(100, "bkb");
                }
            }
        }