public void CancelHook(object s, ElapsedEventArgs args)
        {
            e = Toolset.ClosestToMouse(me);
            if (e == null)
            {
                return;
            }
            if (e.HasModifier("modifier_spirit_breaker_charge_of_darkness"))
            {
                return;
            }

            double  travelTime = HookPosition.Distance2D(me.Position) / 1600;
            Vector3 ePosition  = new Vector3((float)((travelTime) * Math.Cos(e.RotationRad) * e.MovementSpeed + e.NetworkPosition.X),
                                             (float)((travelTime) * Math.Sin(e.RotationRad) * e.MovementSpeed + e.NetworkPosition.Y), 0);

            if (e != null && e.NetworkActivity == NetworkActivity.Move && ePosition.Distance2D(HookPosition) > minRangeHook + Menu.Item("x").GetValue <Slider>().Value)
            {
                me.Stop();
                time.Stop();
            }
            else
            {
                if (Q != null)
                {
                    time.Stop();
                }
            }
        }
Beispiel #2
0
        /*
         * public static readonly List<TrackingProjectile> Projectiles = ObjectManager.TrackingProjectiles.Where(x=>
         *                              x.Source.ClassId == ClassId.CDOTA_Unit_Hero_ArcWarden
         || x.Source.ClassId == ClassId.CDOTA_Unit_Hero_Terrorblade
         || x.Source.ClassId == ClassId.CDOTA_Unit_Hero_TemplarAssassin
         || x.Source.ClassId == ClassId.CDOTA_Unit_Hero_DrowRanger
         || x.Source.ClassId == ClassId.CDOTA_Unit_Hero_Weaver
         || x.Source.ClassId == ClassId.CDOTA_Unit_Hero_Windrunner
         || x.Source.ClassId == ClassId.CDOTA_Unit_Hero_Enchantress
         || x.Source.ClassId == ClassId.CDOTA_Unit_Hero_Nevermore
         || x.Source.ClassId == ClassId.CDOTA_Unit_Hero_Obsidian_Destroyer
         || x.Source.ClassId == ClassId.CDOTA_Unit_Hero_Clinkz
         || x.Source.ClassId == ClassId.CDOTA_Unit_Hero_Silencer
         || x.Source.ClassId == ClassId.CDOTA_Unit_Hero_Huskar
         || x.Source.ClassId == ClassId.CDOTA_Unit_Hero_Viper
         || x.Source.ClassId == ClassId.CDOTA_Unit_Hero_Sniper
         || x.Source.ClassId == ClassId.CDOTA_Unit_Hero_Razor
         || x.Source.ClassId == ClassId.CDOTA_Unit_Hero_StormSpirit
         || x.Source.ClassId == ClassId.CDOTA_Unit_Hero_TrollWarlord
         || x.Source.ClassId == ClassId.CDOTA_Unit_Hero_Morphling
         || x.Source.ClassId == ClassId.CDOTA_Unit_Hero_DragonKnight).ToList(); */
        public void RunScript()
        {
            if (!MainMenu.OthersMenu.Item("others").IsActive() || !Game.IsInGame || me == null || Game.IsPaused || Game.IsWatchingGame)
            {
                return;
            }


            e = Toolset.ClosestToMouse(me, 10000);
            //TODO:UNAGRRO
            if (MainMenu.OthersMenu.Item("Auto Un Aggro").GetValue <bool>())
            {
                Toolset.UnAggro(me);
            }
            //TODO:ESCAPE

            /*
             * if (MainMenu.OthersMenu.Item("EscapeAttack").GetValue<bool>() && me.Level>= Menu.Item("minLVL").GetValue<Slider>().Value)
             * {
             *
             *      var meed = Toolset.IfITarget(me, Projectiles);
             *      var v =
             *               ObjectManager.GetEntities<Hero>()
             *                       .Where(x => x.Team != me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion && x.ClassId == meed.Source.ClassId)
             *                       .ToList();
             *      foreach (var victim in v)
             *      {
             *              if (victim.Distance2D(me) <= 1000 && me.IsVisibleToEnemies && (victim.Handle!=e.Handle || me.Health <= (me.MaximumHealth * 0.4)))
             *              {
             *                      AutoDodge.qqNyx();
             *                      AutoDodge.qqTemplarRefraction();
             *                      AutoDodge.qqallHex(victim);
             *                      AutoDodge.qquseShiva();
             *                      AutoDodge.qquseManta();
             *                      AutoDodge.qquseHelbard(victim);
             *                      AutoDodge.qquseGhost();
             *                      AutoDodge.qquseEulEnem(victim);
             *                      AutoDodge.qquseSDisription(victim);
             *                      AutoDodge.qquseSheep(victim);
             *                      AutoDodge.qquseColba(victim);
             *                      AutoDodge.qqsilencerLastWord(victim);
             *                      AutoDodge.qquseSDisription(victim);
             *                      AutoDodge.qquseSheep(victim);
             *                      AutoDodge.qquseColba(victim);
             *                      AutoDodge.qqsilencerLastWord(victim);
             *                      AutoDodge.qqabadonWme();
             *                      AutoDodge.qqodImprisomentMe(victim);
             *                      AutoDodge.qqallStun(victim);
             *              }
             *      }
             * }*/
        }
        public void Combo()
        {
            if (!Menu.Item("enabled").IsActive())
            {
                return;
            }

            e = Toolset.ClosestToMouse(me);
            if (e == null)
            {
                return;
            }
            Q      = me.Spellbook.SpellQ;
            W      = me.Spellbook.SpellW;
            R      = me.Spellbook.SpellR;
            Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key);

            Shiva    = me.FindItem("item_shivas_guard");
            ethereal = me.FindItem("item_ethereal_blade");
            mom      = me.FindItem("item_mask_of_madness");
            urn      = me.FindItem("item_urn_of_shadows");
            dagon    = me.Inventory.Items.FirstOrDefault(item => item.Name.Contains("item_dagon"));
            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");
            cyclone  = me.FindItem("item_cyclone");
            force    = me.FindItem("item_force_staff");
            sheep    = e.ClassID == ClassID.CDOTA_Unit_Hero_Tidehunter ? null : me.FindItem("item_sheepstick");
            cheese   = me.FindItem("item_cheese");
            soul     = me.FindItem("item_soul_ring");
            arcane   = me.FindItem("item_arcane_boots");
            stick    = me.FindItem("item_magic_stick") ?? me.FindItem("item_magic_wand");
            phase    = me.FindItem("item_phase_boots");
            var v =
                ObjectManager.GetEntities <Hero>()
                .Where(x => x.Team != me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion && !x.IsMagicImmune())
                .ToList();

            var stoneModif = e.Modifiers.Any(y => y.Name == "modifier_medusa_stone_gaze_stone");
            var modifR     = e.Modifiers.Any(y => y.Name == "modifier_bloodseeker_rupture");
            var modifQ     = e.HasModifier("modifier_bloodseeker_bloodrage");

            if (Active && me.Distance2D(e) <= 1400 && e != null && e.IsAlive)
            {
                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 && !me.IsInvisible())
            {
                if (cyclone != null && cyclone.CanBeCasted() && W.CanBeCasted() &&
                    me.Distance2D(e) <= cyclone.GetCastRange() + 300 &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(cyclone.Name) &&
                    W.CanBeCasted() &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(W.Name) &&
                    Utils.SleepCheck(me.Handle.ToString()))
                {
                    cyclone.UseAbility(e);
                    Utils.Sleep(500, me.Handle.ToString());
                }
                if (
                    Q != null && Q.CanBeCasted() && me.Distance2D(e) <= 700 &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(Q.Name) &&
                    !modifQ &&
                    Utils.SleepCheck("Q")
                    )
                {
                    Q.UseAbility(me);
                    Utils.Sleep(200, "Q");
                }
                if (
                    W != null && W.CanBeCasted() && me.Distance2D(e) <= 700
                    &&
                    (!cyclone.CanBeCasted() || cyclone == null ||
                     !Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(cyclone.Name)) &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(W.Name) &&
                    Utils.SleepCheck("W")
                    )
                {
                    W.UseAbility(e.Predict(300));
                    Utils.Sleep(200, "W");
                }

                if (
                    force != null &&
                    force.CanBeCasted() &&
                    me.Distance2D(e) < 800 &&
                    modifR &&
                    e.IsSilenced() &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(force.Name) &&
                    Utils.SleepCheck("force"))
                {
                    force.UseAbility(e);
                    Utils.Sleep(240, "force");
                }
                if (cyclone == null || !cyclone.CanBeCasted() || !Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(cyclone.Name))
                {
                    if (
                        R != null && R.CanBeCasted() && me.Distance2D(e) <= 900 &&
                        !e.HasModifier("modifier_bloodseeker_rupture") &&
                        Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(R.Name) &&
                        Utils.SleepCheck("R")
                        )
                    {
                        R.UseAbility(e);
                        Utils.Sleep(500, "R");
                    }
                    if (                     // MOM
                        mom != null &&
                        mom.CanBeCasted() &&
                        me.CanCast() &&
                        Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(mom.Name) &&
                        Utils.SleepCheck("mom") &&
                        me.Distance2D(e) <= 700
                        )
                    {
                        mom.UseAbility();
                        Utils.Sleep(250, "mom");
                    }
                    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 (                     // Arcane Boots Item
                        arcane != null &&
                        me.Mana <= R.ManaCost &&
                        Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(arcane.Name) &&
                        arcane.CanBeCasted() &&
                        Utils.SleepCheck("arcane")
                        )
                    {
                        arcane.UseAbility();
                        Utils.Sleep(250, "arcane");
                    }                     // Arcane Boots Item end
                    if (                  // Mjollnir
                        mjollnir != null &&
                        mjollnir.CanBeCasted() &&
                        me.CanCast() &&
                        !e.IsMagicImmune() &&
                        Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(mjollnir.Name) &&
                        Utils.SleepCheck("mjollnir") &&
                        me.Distance2D(e) <= 900
                        )
                    {
                        mjollnir.UseAbility(me);
                        Utils.Sleep(250, "mjollnir");
                    }                     // Mjollnir Item end
                    if (
                        // cheese
                        cheese != null &&
                        cheese.CanBeCasted() &&
                        me.Health <= (me.MaximumHealth * 0.3) &&
                        me.Distance2D(e) <= 700 &&
                        Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(cheese.Name) &&
                        Utils.SleepCheck("cheese")
                        )
                    {
                        cheese.UseAbility();
                        Utils.Sleep(200, "cheese");
                    }                     // cheese 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 (                  // sheep
                        sheep != null &&
                        sheep.CanBeCasted() &&
                        me.CanCast() &&
                        !e.IsLinkensProtected() &&
                        !e.IsMagicImmune() &&
                        me.Distance2D(e) <= 1400 &&
                        !stoneModif &&
                        Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(sheep.Name) &&
                        Utils.SleepCheck("sheep")
                        )
                    {
                        sheep.UseAbility(e);
                        Utils.Sleep(250, "sheep");
                    }                     // sheep Item end
                    if (                  // Abyssal Blade
                        abyssal != null &&
                        abyssal.CanBeCasted() &&
                        me.CanCast() &&
                        !e.IsStunned() &&
                        !e.IsHexed() &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(abyssal.Name) &&
                        Utils.SleepCheck("abyssal") &&
                        me.Distance2D(e) <= 400
                        )
                    {
                        abyssal.UseAbility(e);
                        Utils.Sleep(250, "abyssal");
                    }                     // Abyssal Item end
                    if (orchid != null && orchid.CanBeCasted() && me.Distance2D(e) <= 900 &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(orchid.Name) &&
                        Utils.SleepCheck("orchid"))
                    {
                        orchid.UseAbility(e);
                        Utils.Sleep(100, "orchid");
                    }

                    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
                        ethereal != null &&
                        ethereal.CanBeCasted() &&
                        me.CanCast() &&
                        !e.IsLinkensProtected() &&
                        !e.IsMagicImmune() &&
                        !stoneModif &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(ethereal.Name) &&
                        Utils.SleepCheck("ethereal")
                        )
                    {
                        ethereal.UseAbility(e);
                        Utils.Sleep(200, "ethereal");
                    }                     // ethereal Item end
                    if (
                        blink != null &&
                        me.CanCast() &&
                        blink.CanBeCasted() &&
                        me.Distance2D(e) >= 450 &&
                        me.Distance2D(e) <= 1150 &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(blink.Name) &&
                        Utils.SleepCheck("blink")
                        )
                    {
                        blink.UseAbility(e.Position);
                        Utils.Sleep(250, "blink");
                    }

                    if (                     // SoulRing Item
                        soul != null &&
                        soul.CanBeCasted() &&
                        me.CanCast() &&
                        me.Health >= (me.MaximumHealth * 0.5) &&
                        me.Mana <= R.ManaCost &&
                        Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(soul.Name)
                        )
                    {
                        soul.UseAbility();
                    }                     // SoulRing Item end
                    if (                  // Dagon
                        me.CanCast() &&
                        dagon != null &&
                        (ethereal == null ||
                         (e.Modifiers.Any(y => y.Name == "modifier_item_ethereal_blade_slow") ||
                          ethereal.Cooldown < 17)) &&
                        !e.IsLinkensProtected() &&
                        dagon.CanBeCasted() &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled("item_dagon") &&
                        !e.IsMagicImmune() &&
                        !stoneModif &&
                        Utils.SleepCheck("dagon")
                        )
                    {
                        dagon.UseAbility(e);
                        Utils.Sleep(200, "dagon");
                    }                     // Dagon Item end
                    if (phase != null &&
                        phase.CanBeCasted() &&
                        Utils.SleepCheck("phase") &&
                        Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(phase.Name) &&
                        !blink.CanBeCasted() &&
                        me.Distance2D(e) >= me.AttackRange + 20)
                    {
                        phase.UseAbility();
                        Utils.Sleep(200, "phase");
                    }
                    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 (
                        stick != null &&
                        stick.CanBeCasted() &&
                        stick.CurrentCharges != 0 &&
                        me.Distance2D(e) <= 700 &&
                        (me.Health <= (me.MaximumHealth * 0.5) ||
                         me.Mana <= (me.MaximumMana * 0.5)) &&
                        Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(stick.Name))
                    {
                        stick.UseAbility();
                        Utils.Sleep(200, "mana_items");
                    }
                    if (                     // Satanic
                        satanic != null &&
                        me.Health <= (me.MaximumHealth * 0.3) &&
                        satanic.CanBeCasted() &&
                        me.Distance2D(e) <= me.AttackRange + 50 &&
                        Menu.Item("Item").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");
                    }
                }
            }
        }         // Combo
Beispiel #4
0
        public void Combo()
        {
            Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key);
            if (!Menu.Item("enabled").IsActive())
            {
                return;
            }
            _q = Me.Spellbook.SpellQ;
            _w = Me.Spellbook.SpellW;
            _r = Me.Spellbook.SpellR;
            var v =
                ObjectManager.GetEntities <Hero>()
                .Where(x => x.Team != Me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion)
                .ToList();

            _mom      = Me.FindItem("item_mask_of_madness");
            _urn      = Me.FindItem("item_urn_of_shadows");
            _dagon    = Me.Inventory.Items.FirstOrDefault(item => item.Name.Contains("item_dagon"));
            _mjollnir = Me.FindItem("item_mjollnir");
            _abyssal  = Me.FindItem("item_abyssal_blade");
            _lotusorb = Me.FindItem("item_lotus_orb");
            _mail     = Me.FindItem("item_blade_mail");
            _armlet   = Me.FindItem("item_armlet");
            _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");
            E         = Toolset.ClosestToMouse(Me);
            if (E == null)
            {
                return;
            }
            var stoneModif = E.HasModifier("modifier_medusa_stone_gaze_stone");

            if (stoneModif)
            {
                return;
            }
            if (Active && Me.Distance2D(E) <= 2000 && E.IsAlive && !Me.IsInvisible())
            {
                if (
                    _blink != null &&
                    Me.CanCast() &&
                    _blink.CanBeCasted() &&
                    Me.Distance2D(E) < 1180 &&
                    Me.Distance2D(E) > 400 &&
                    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 &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_q.Name) &&
                    Utils.SleepCheck("_q")
                    )
                {
                    _q.UseAbility();
                    Utils.Sleep(200, "_q");
                }
                if (                 // MOM
                    _mom != null &&
                    _mom.CanBeCasted() &&
                    Me.CanCast() &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_mjollnir.Name) &&
                    Utils.SleepCheck("_mom") &&
                    Me.Distance2D(E) <= 700
                    )
                {
                    _mom.UseAbility();
                    Utils.Sleep(250, "_mom");
                }
                if (
                    _w != null && _w.CanBeCasted() && Me.Distance2D(E) <= _w.GetCastRange() + Me.HullRadius &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_w.Name) &&
                    !E.HasModifier("modifier_axe_battle_hunger") &&
                    Utils.SleepCheck("_w")
                    )
                {
                    _w.UseAbility(E);
                    Utils.Sleep(200, "_w");
                }
                if (_lotusorb != null && _lotusorb.CanBeCasted() &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_lotusorb.Name) &&
                    (v.Count(x => x.Distance2D(Me) <= 650) >= (Menu.Item("Heelm").GetValue <Slider>().Value) && Utils.SleepCheck("_lotusorb"))
                    )
                {
                    _lotusorb.UseAbility(Me);
                    Utils.Sleep(250, "_lotusorb");
                }
                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 (              // Abyssal Blade
                    _abyssal != null &&
                    _abyssal.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsStunned() &&
                    !E.IsHexed() &&
                    Utils.SleepCheck("_abyssal") &&
                    Me.Distance2D(E) <= 400
                    )
                {
                    _abyssal.UseAbility(E);
                    Utils.Sleep(250, "_abyssal");
                }                 // Abyssal Item end
                if (_armlet != null && !_armlet.IsToggled &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_armlet.Name) &&
                    Utils.SleepCheck("_armlet"))
                {
                    _armlet.ToggleAbility();
                    Utils.Sleep(300, "_armlet");
                }

                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 (                 // Dagon
                    Me.CanCast() &&
                    _dagon != null &&
                    !E.IsLinkensProtected() &&
                    _dagon.CanBeCasted() &&
                    !E.IsMagicImmune() &&
                    !stoneModif &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled("item_dagon") &&
                    Utils.SleepCheck("_dagon")
                    )
                {
                    _dagon.UseAbility(E);
                    Utils.Sleep(200, "_dagon");
                }                 // Dagon 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 (                 // 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("orbwalk").GetValue <bool>() && Me.Distance2D(E) <= 1900)
                {
                    Orbwalking.Orbwalk(E, 0, 1600, true, true);
                }
                if (_q != null && _q.IsInAbilityPhase && v.Count(x => x.Distance2D(Me) <= _q.GetCastRange() + Me.HullRadius + 23) == 0 && Utils.SleepCheck("Phase"))
                {
                    Me.Stop();
                    Utils.Sleep(100, "Phase");
                }
            }
            if (Menu.Item("kill").IsActive())
            {
                if (_r == null || !Me.IsAlive)
                {
                    return;
                }
                var count = v.Count();
                if (count <= 0)
                {
                    return;
                }

                for (int i = 0; i < count; ++i)
                {
                    if (_w != null && _w.CanBeCasted() && Menu.Item("HUNGER").IsActive())
                    {
                        if (!v[i].HasModifier("modifier_axe_battle_hunger") &&
                            Me.Distance2D(v[i]) <= _w.GetCastRange() + Me.HullRadius &&
                            Me.Mana >= _r.ManaCost + 180 &&
                            Utils.SleepCheck(Me.Handle.ToString()))
                        {
                            _w.UseAbility(v[i]);
                            Utils.Sleep(400, Me.Handle.ToString());
                        }
                    }
                    if (!_r.CanBeCasted())
                    {
                        return;
                    }
                    _damage = Me.AghanimState() ? new[] { 0, 300, 425, 550 } : new[] { 0, 250, 325, 400 };
                    _rDmg   = ((_damage[_r.Level]));

                    if (_r.IsInAbilityPhase && v.Where(x => Me.Distance2D(x) <= _r.GetCastRange() + Me.HullRadius + 24).OrderBy(z => z.Health).First().Health > _rDmg && v[i].Distance2D(Me) <= _r.GetCastRange() + Me.HullRadius + 24 && Utils.SleepCheck(v[i].Handle.ToString()))
                    {
                        Me.Stop();
                        Utils.Sleep(100, v[i].Handle.ToString());
                    }


                    if (v[i].IsFullMagicSpellResist())
                    {
                        return;
                    }

                    if (_blink != null && _blink.CanBeCasted() && _r != null && _r.CanBeCasted() && Menu.Item("_blink").IsActive())
                    {
                        if (Me.Distance2D(v[i]) > _r.GetCastRange() + Me.HullRadius + 24 && v[i].Health < _rDmg && Utils.SleepCheck(v[i].Handle.ToString()))
                        {
                            _blink.UseAbility(v[i].Position);
                            Utils.Sleep(150, v[i].Handle.ToString());
                        }
                    }
                    var bonusRange = Menu.Item("killRange").IsActive() ? Menu.Item("Blade").GetValue <Slider>().Value : 0;
                    if (v[i].Health <= _rDmg && v[i].Distance2D(Me) <= _r.GetCastRange() + Me.HullRadius + 24 + bonusRange && Utils.SleepCheck(v[i].Handle.ToString()))
                    {
                        _r.UseAbility(v[i]);
                        Utils.Sleep(150, v[i].Handle.ToString());
                    }
                }
            }
        }
        //public readonly Menu farm = new Menu("FarmMode", "FarmMode");


        public void Combo()
        {
            if (me == null || me.ClassID != ClassID.CDOTA_Unit_Hero_Meepo || !Game.IsInGame)
            {
                return;
            }
            if (!me.IsAlive)
            {
                return;
            }

            activated    = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key);
            PoofKey      = Game.IsKeyDown(Menu.Item("poofKey").GetValue <KeyBind>().Key);
            PoofAutoMode = Menu.Item("poofAutoMod").GetValue <KeyBind>().Active;
            SafePoof     = Menu.Item("poofSafe").IsActive();
            dodge        = Menu.Item("Dodge").GetValue <KeyBind>().Active;
            var checkObj = ObjectManager.GetEntities <Unit>().Where(x => (x.ClassID == ClassID.CDOTA_BaseNPC_Creep_Lane ||
                                                                          x.ClassID == ClassID.CDOTA_BaseNPC_Creep_Siege ||
                                                                          x.ClassID == ClassID.CDOTA_BaseNPC_Creep ||
                                                                          x.ClassID == ClassID.CDOTA_BaseNPC_Creep_Neutral ||
                                                                          x.HasInventory ||
                                                                          x.ClassID == ClassID.CDOTA_Unit_SpiritBear) && x.IsAlive && x.Team != me.Team && x.IsValid).ToList();
            var meepos = ObjectManager.GetEntities <Hero>().Where(x => x.IsControllable && x.IsAlive && x.ClassID == ClassID.CDOTA_Unit_Hero_Meepo).ToList();



            List <Unit> fount = ObjectManager.GetEntities <Unit>().Where(x => x.Team == me.Team && x.ClassID == ClassID.CDOTA_Unit_Fountain).ToList();

            //blink = me.FindItem("item_blink");



            e = ObjectManager.GetEntities <Hero>()
                .Where(x => x.IsAlive && x.Team != me.Team && !x.IsIllusion)
                .OrderBy(x => GetDistance2D(x.Position, meepos.OrderBy(y => GetDistance2D(x.Position, y.Position)).FirstOrDefault().Position))
                .FirstOrDefault();


            /**************************************************DODGE*************************************************************/

            var f = ObjectManager.GetEntities <Hero>()
                    .Where(x => x.IsAlive && x.Team == me.Team && !x.IsIllusion && x.IsControllable && x.ClassID == ClassID.CDOTA_Unit_Hero_Meepo)
                    .OrderBy(x => GetDistance2D(x.Position, fount.OrderBy(y => GetDistance2D(x.Position, y.Position)).FirstOrDefault().Position))
                    .FirstOrDefault();
            var meeposCount = meepos.Count();

            Ability[] q = new Ability[meeposCount];
            for (int i = 0; i < meeposCount; ++i)
            {
                q[i] = meepos[i].Spellbook.SpellQ;
            }
            Ability[] w = new Ability[meeposCount];
            for (int i = 0; i < meeposCount; ++i)
            {
                w[i] = meepos[i].Spellbook.SpellW;
            }
            if (dodge && me.IsAlive)
            {
                var baseDota =
                    ObjectManager.GetEntities <Unit>().Where(unit => unit.Name == "npc_dota_base" && unit.Team != me.Team).ToList();
                if (baseDota != null)
                {
                    for (int t = 0; t < baseDota.Count(); ++t)
                    {
                        for (int i = 0; i < meeposCount; ++i)
                        {
                            float   angle = meepos[i].FindAngleBetween(baseDota[t].Position, true);
                            Vector3 pos   = new Vector3((float)(baseDota[t].Position.X - 710 * Math.Cos(angle)), (float)(baseDota[t].Position.Y - 710 * Math.Sin(angle)), 0);
                            if (meepos[i].Distance2D(baseDota[t]) <= 700 && !meepos[i].HasModifier("modifier_bloodseeker_rupture") && Utils.SleepCheck(meepos[i].Handle + "MoveDodge"))
                            {
                                meepos[i].Move(pos);
                                Utils.Sleep(120, meepos[i].Handle + "MoveDodge");
                                //	Console.WriteLine("Name: " + baseDota[t].Name);
                                //	Console.WriteLine("Speed: " + baseDota[t].Speed);
                                //	Console.WriteLine("ClassID: " + baseDota[t].ClassID);
                                //	Console.WriteLine("Handle: " + baseDota[t].Handle);
                                //	Console.WriteLine("UnitState: " + baseDota[t].UnitState);
                            }
                        }
                    }
                }

                var thinker =
                    ObjectManager.GetEntities <Unit>().Where(unit => unit.Name == "npc_dota_thinker" && unit.Team != me.Team).ToList();
                if (thinker != null)
                {
                    for (int i = 0; i < thinker.Count(); ++i)
                    {
                        for (int j = 0; j < meeposCount; ++j)
                        {
                            float   angle = meepos[j].FindAngleBetween(thinker[i].Position, true);
                            Vector3 pos   = new Vector3((float)(thinker[i].Position.X - 360 * Math.Cos(angle)), (float)(thinker[i].Position.Y - 360 * Math.Sin(angle)), 0);
                            if (meepos[j].Distance2D(thinker[i]) <= 350 && !meepos[j].HasModifier("modifier_bloodseeker_rupture"))
                            {
                                if (Utils.SleepCheck(meepos[j].Handle + "MoveDodge"))
                                {
                                    meepos[j].Move(pos);
                                    Utils.Sleep(350, meepos[j].Handle + "MoveDodge");
                                }
                            }
                        }
                    }
                }
                foreach (var v in meepos)
                {
                    if (Utils.SleepCheck(v.Handle + "_move") && v.Health <= v.MaximumHealth / 100 * Menu.Item("healh").GetValue <Slider>().Value &&
                        !v.HasModifier("modifier_bloodseeker_rupture") &&
                        v.Distance2D(fount.First().Position) >= 1000
                        )
                    {
                        v.Move(fount.First().Position);
                        Utils.Sleep(300, v.Handle + "_move");
                    }
                    if (activated)
                    {
                        float   angle = v.FindAngleBetween(fount.First().Position, true);
                        Vector3 pos   = new Vector3((float)(fount.First().Position.X - 500 * Math.Cos(angle)), (float)(fount.First().Position.Y - 500 * Math.Sin(angle)), 0);

                        if (
                            v.Health >= v.MaximumHealth * 0.58 &&
                            v.Distance2D(fount.First()) <= 400 &&
                            me.Team == Team.Radiant &&
                            Utils.SleepCheck(v.Handle + "RadMove")
                            )
                        {
                            v.Move(pos);
                            Utils.Sleep(400, v.Handle + "RadMove");
                        }
                        if (
                            v.Health >= v.MaximumHealth * 0.58 &&
                            v.Distance2D(fount.First()) <= 400 &&
                            me.Team == Team.Dire &&
                            Utils.SleepCheck(v.Handle + "DireMove")
                            )
                        {
                            v.Move(pos);
                            Utils.Sleep(400, v.Handle + "DireMove");
                        }
                    }
                }

                for (int i = 0; i < meeposCount; ++i)
                {
                    travel = meepos[i].FindItem("item_travel_boots") ?? meepos[i].FindItem("item_travel_boots_2");
                    if (w[i] != null &&
                        w[i].CanBeCasted() &&
                        meepos[i].Health <= meepos[i].MaximumHealth
                        / 100 * Menu.Item("healh").GetValue <Slider>().Value &&
                        meepos[i].Handle != f.Handle &&
                        meepos[i].Distance2D(f) >= 700 &&
                        e == null &&
                        meepos[i].Distance2D(fount.First().Position) >= 1500 &&
                        Utils.SleepCheck(meepos[i].Handle + "W"))
                    {
                        w[i].UseAbility(f);
                        Utils.Sleep(1000, meepos[i].Handle + "W");
                    }
                    else if (
                        travel != null &&
                        travel.CanBeCasted() &&
                        meepos[i].Health <= meepos[i].MaximumHealth
                        / 100 * Menu.Item("healh").GetValue <Slider>().Value &&
                        (!w[i].CanBeCasted() ||
                         meepos[i].Position.Distance2D(f) >= 1000 ||
                         (w[i].CanBeCasted() &&
                          f.Distance2D(fount.First()) >= 1500)) ||
                        (meepos[i].IsSilenced() ||
                         meepos[i].MovementSpeed <= 280) &&
                        meepos[i].Distance2D(fount.First().Position) >= 1500 &&
                        e == null &&
                        Utils.SleepCheck(meepos[i].Handle + "travel"))
                    {
                        travel.UseAbility(fount.First().Position);
                        Utils.Sleep(1000, meepos[i].Handle + "travel");
                    }
                    if (meepos[i].HasModifier("modifier_bloodseeker_rupture"))
                    {
                        if (w[i] != null &&
                            w[i].CanBeCasted() &&
                            meepos[i].Handle != f.Handle &&
                            Utils.SleepCheck(meepos[i].Handle + "W"))
                        {
                            w[i].UseAbility(f);
                            Utils.Sleep(500, meepos[i].Handle + "W");
                        }
                        else if (travel != null && travel.CanBeCasted() &&
                                 !w[i].CanBeCasted() &&
                                 meepos[i].Distance2D(fount.First().Position) >= 1200 &&
                                 Utils.SleepCheck(meepos[i].Handle + "travel"))
                        {
                            travel.UseAbility(fount.First().Position);
                            Utils.Sleep(1000, meepos[i].Handle + "travel");
                        }
                    }
                    if (e != null &&
                        q[i] != null &&
                        meepos[i].Health <= meepos[i].MaximumHealth
                        / 100 * Menu.Item("healh").GetValue <Slider>().Value &&
                        q[i].CanBeCasted() &&
                        e.Modifiers.Any(y => y.Name != "modifier_meepo_earthbind") &&
                        !e.IsMagicImmune() &&
                        meepos[i].Distance2D(e) <= q[i].GetCastRange() - 50 &&
                        Utils.SleepCheck(meepos[i].Handle + "_net_casting"))
                    {
                        q[i].CastSkillShot(e);
                        Utils.Sleep(q[i].GetCastDelay(meepos[i], e, true) + 500, meepos[i].Handle + "_net_casting");
                    }
                    else if (!q[i].CanBeCasted() && meepos[i].Health <= meepos[i].MaximumHealth / 100 * Menu.Item("healh").GetValue <Slider>().Value)
                    {
                        for (var j = 0; j < meeposCount; ++j)
                        {
                            if (e != null &&
                                q[j] != null &&
                                meepos[i].Handle != meepos[j].Handle &&
                                meepos[j].Position.Distance2D(e) < q[i].GetCastRange() &&
                                e.Modifiers.Any(y => y.Name != "modifier_meepo_earthbind") &&
                                meepos[j].Position.Distance2D(meepos[i]) < q[j].GetCastRange() &&
                                !e.IsMagicImmune() &&
                                Utils.SleepCheck(meepos[i].Handle + "_net_casting"))
                            {
                                q[j].CastSkillShot(e);
                                Utils.Sleep(q[j].GetCastDelay(meepos[j], e, true) + 1500, meepos[i].Handle + "_net_casting");
                                break;
                            }
                        }
                    }
                    if (e != null &&
                        w[i] != null &&
                        w[i].CanBeCasted() &&
                        meepos[i].Health <= meepos[i].MaximumHealth
                        / 100 * Menu.Item("healh").GetValue <Slider>().Value &&
                        meepos[i].Handle != f.Handle && meepos[i].Distance2D(f) >= 700 &&
                        (meepos[i].Distance2D(e) >= (e.AttackRange + 60) ||
                         meepos[i].MovementSpeed <= 290) &&
                        (q == null || (!q[i].CanBeCasted() ||
                                       e.HasModifier("modifier_meepo_earthbind") ||
                                       !e.IsMagicImmune()) || meepos[i].Distance2D(e) >= 1000) &&
                        meepos[i].Distance2D(fount.First().Position) >= 1100 &&
                        Utils.SleepCheck(meepos[i].Handle + "W"))
                    {
                        w[i].UseAbility(f);
                        Utils.Sleep(1000, meepos[i].Handle + "W");
                    }
                    else if (
                        e != null &&
                        travel != null &&
                        travel.CanBeCasted() &&
                        meepos[i].Health <= meepos[i].MaximumHealth
                        / 100 * Menu.Item("healh").GetValue <Slider>().Value &&
                        (!w[i].CanBeCasted() ||
                         meepos[i].Position.Distance2D(f) >= 1000 ||
                         (w[i].CanBeCasted() &&
                          f.Distance2D(fount.First()) >= 2000)) &&
                        (meepos[i].Distance2D(e) >= (e.AttackRange + 60) ||
                         (meepos[i].IsSilenced() ||
                          meepos[i].MovementSpeed <= 290)) &&
                        meepos[i].Distance2D(fount.First().Position) >= 1100 &&
                        Utils.SleepCheck(meepos[i].Handle + "travel"))
                    {
                        travel.UseAbility(fount.First().Position);
                        Utils.Sleep(1000, meepos[i].Handle + "travel");
                    }
                }
            }
            /**************************************************DODGE*************************************************************/
            /***************************************************POOF*************************************************************/
            if (PoofKey)
            {
                for (int i = 0; i < meeposCount; ++i)
                {
                    for (int j = 0; j < checkObj.Count(); ++j)
                    {
                        if (w[i] != null &&
                            ((meepos[i].Distance2D(checkObj[j]) <= 365 &&
                              SafePoof) ||
                             (!SafePoof)) &&
                            w[i].CanBeCasted() &&
                            (meepos[i].Health >= meepos[i].MaximumHealth
                             / 100 * Menu.Item("healh").GetValue <Slider>().Value ||
                             !dodge) &&
                            Utils.SleepCheck(meepos[i].Handle + "Wpos"))
                        {
                            w[i].UseAbility(meepos[i]);
                            Utils.Sleep(250, meepos[i].Handle + "Wpos");
                        }
                    }
                }
            }



            if (PoofAutoMode)
            {
                for (int i = 0; i < meeposCount; i++)
                {
                    var nCreeps = ObjectManager.GetEntities <Unit>().Where(x => (x.ClassID == ClassID.CDOTA_BaseNPC_Creep_Lane ||
                                                                                 x.ClassID == ClassID.CDOTA_BaseNPC_Creep_Siege ||
                                                                                 x.ClassID == ClassID.CDOTA_BaseNPC_Creep ||
                                                                                 x.ClassID == ClassID.CDOTA_BaseNPC_Creep_Neutral) && x.Team != me.Team && x.IsSpawned && x.IsAlive).Where(x => x.Distance2D(meepos[i]) <= 345).ToList().Count();

                    SliderCountUnit = nCreeps >= (skills.Item("poofCount").GetValue <Slider>().Value);

                    if (SliderCountUnit &&
                        w[i] != null &&
                        w[i].CanBeCasted() &&
                        meepos[i].CanCast() &&
                        meepos[i].Health >= meepos[i].MaximumHealth
                        / 100 * Menu.Item("healh").GetValue <Slider>().Value - 0.05 &&
                        meepos[i].Mana >= (meepos[i].MaximumMana
                                           / 100 * Menu.Item("mana").GetValue <Slider>().Value) &&
                        Utils.SleepCheck(meepos[i].Handle + "Wpos"))
                    {
                        w[i].UseAbility(meepos[i]);
                        Utils.Sleep(250, meepos[i].Handle + "Wpos");
                    }
                }
            }
            /***************************************************POOF*************************************************************/
            /**************************************************COMBO*************************************************************/
            if (activated)
            {
                for (int i = 0; i < meeposCount; ++i)
                {
                    e = ClosestToMouse(meepos[i]);

                    if (e == null)
                    {
                        return;
                    }
                    initMeepo = GetClosestToTarget(meepos, e);


                    if (
                        w[i] != null &&
                        meepos[i].CanCast() &&
                        (
                            meepos[i].Handle != f.Handle && f.HasModifier("modifier_fountain_aura_buff") ||
                            meepos[i].Handle == f.Handle && !f.HasModifier("modifier_fountain_aura_buff")
                        ) &&
                        meepos.Count(x => x.Distance2D(meepos[i]) <= 1000) > 1 &&
                        meepos[i].Health >= meepos[i].MaximumHealth * 0.8 &&
                        w[i].CanBeCasted() &&
                        initMeepo.Distance2D(e) <= 350 &&
                        Utils.SleepCheck(meepos[i].Handle + "poof")
                        )
                    {
                        w[i].UseAbility(e.Position);
                        Utils.Sleep(250, meepos[i].Handle + "poof");
                    }

                    if (me.HasModifier("modifier_fountain_aura_buff"))
                    {
                        if (
                            me.Spellbook.SpellW != null &&
                            me.Spellbook.SpellW.CanBeCasted() &&
                            me.Health >= me.MaximumHealth * 0.8 &&
                            meepos.Count(x => x.Distance2D(me) <= 1000) > 1 &&
                            initMeepo.Distance2D(e) <= 350 &&
                            Utils.SleepCheck(me.Handle + "pooff")
                            )
                        {
                            me.Spellbook.SpellW.UseAbility(e.Position);
                            Utils.Sleep(250, me.Handle + "pooff");
                        }
                    }
                    //

                    /*int[] cool;
                     *                  var core = me.FindItem("item_octarine_core");
                     *                  if (core !=null)
                     *                          cool = new int[4] { 20, 16, 12, 8 };
                     *                  else
                     *                          cool = new int[4] { 15, 12, 9, 6 };*/

                    orchid = me.FindItem("item_orchid") ?? me.FindItem("item_bloodthorn");
                    blink  = meepos[i].FindItem("item_blink");
                    sheep  = e.ClassID == ClassID.CDOTA_Unit_Hero_Tidehunter ? null : me.FindItem("item_sheepstick");


                    if ( // sheep
                        sheep != null &&
                        sheep.CanBeCasted() &&
                        me.CanCast() &&
                        !e.IsLinkensProtected() &&
                        !e.IsMagicImmune() &&
                        me.Distance2D(e) <= 900 &&
                        meepos[i].Distance2D(e) <= 350 &&
                        Utils.SleepCheck("sheep")
                        )
                    {
                        sheep.UseAbility(e);
                        Utils.Sleep(250, "sheep");
                    } // sheep Item end

                    if ( // Medall
                        medall != null &&
                        medall.CanBeCasted() &&
                        Utils.SleepCheck("Medall") &&
                        meepos[i].Distance2D(e) <= 300 &&
                        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() &&
                        meepos[i].Distance2D(e) <= 300 &&
                        me.Distance2D(e) <= 900 &&
                        Utils.SleepCheck("orchid")
                        )
                    {
                        orchid.UseAbility(e);
                        Utils.Sleep(250, "orchid");
                    } // orchid Item end
                    if (Utils.SleepCheck("Q") &&
                        !e.HasModifier("modifier_meepo_earthbind") &&
                        (((!blink.CanBeCasted() ||
                           blink == null) &&
                          meepos[i].Distance2D(e) <= q[i].GetCastRange()) ||
                         (blink.CanBeCasted() &&
                          meepos[i].Distance2D(e) <= 350))
                        )
                    {
                        if (q[i] != null &&
                            (meepos[i].Health >= meepos[i].MaximumHealth
                             / 100 * Menu.Item("healh").GetValue <Slider>().Value ||
                             !dodge) &&
                            q[i].CanBeCasted() &&
                            !e.IsMagicImmune() &&
                            !meepos[i].IsChanneling() &&
                            meepos[i].Distance2D(e) <= q[i].GetCastRange() &&
                            Utils.SleepCheck(meepos[i].Handle + "_net_casting"))
                        {
                            q[i].CastSkillShot(e);
                            Utils.Sleep(q[i].GetCastDelay(meepos[i], e, true) + 1500, meepos[i].Handle + "_net_casting");
                            Utils.Sleep(1500, "Q");
                        }
                    }

                    if (
                        blink != null &&
                        me.CanCast() &&
                        blink.CanBeCasted() &&
                        me.Distance2D(e) >= 350 &&
                        me.Distance2D(e) <= 1150
                        )
                    {
                        if (blink.CanBeCasted() &&
                            !Menu.Item("blinkDelay").IsActive() &&
                            meepos[i].Health >= meepos[i].MaximumHealth / 100 * Menu.Item("healh").GetValue <Slider>().Value &&
                            Utils.SleepCheck("13"))
                        {
                            blink.UseAbility(e.Position);
                            Utils.Sleep(200, "13");
                        }

                        Task.Delay(1340 - (int)Game.Ping).ContinueWith(_ =>
                        {
                            if (blink.CanBeCasted() &&
                                Menu.Item("blinkDelay").IsActive() &&
                                Utils.SleepCheck("12"))
                            {
                                blink.UseAbility(e.Position);
                                Utils.Sleep(200, "12");
                            }
                        });
                        for (int j = 0; j < meeposCount; ++j)
                        {
                            if (
                                w[j] != null &&
                                meepos[j].Handle != me.Handle &&
                                meepos[j].CanCast() &&
                                ((f.Handle != meepos[j].Handle && f.HasModifier("modifier_fountain_aura_buff") ||
                                  !f.HasModifier("modifier_fountain_aura_buff"))
                                ) &&
                                meepos[j].Health >= meepos[j].MaximumHealth / 100 * Menu.Item("healh").GetValue <Slider>().Value &&
                                !e.IsMagicImmune() &&
                                w[j].CanBeCasted() &&
                                Utils.SleepCheck(meepos[j].Handle + "poof")
                                )
                            {
                                w[j].UseAbility(e.Position);
                                Utils.Sleep(250, meepos[j].Handle + "poof");
                            }
                        }
                    }
                    if (
                        meepos[i].Distance2D(e) <= 200 && (!meepos[i].IsAttackImmune() || !e.IsAttackImmune()) &&
                        meepos[i].NetworkActivity != NetworkActivity.Attack && meepos[i].CanAttack() &&
                        meepos[i].Health >= meepos[i].MaximumHealth / 100 * Menu.Item("healh").GetValue <Slider>().Value &&
                        !meepos[i].IsChanneling() &&
                        Utils.SleepCheck(meepos[i].Handle + "Attack")
                        )
                    {
                        meepos[i].Attack(e);
                        Utils.Sleep(180, meepos[i].Handle + "Attack");
                    }
                    else if (((
                                  (!meepos[i].CanAttack() ||
                                   meepos[i].Distance2D(e) >= 0) &&
                                  meepos[i].NetworkActivity != NetworkActivity.Attack &&
                                  meepos[i].Distance2D(e) <= 1000)) &&
                             ((meepos[i].Handle != me.Handle &&
                               (blink != null && blink.CanBeCasted() &&
                                me.Distance2D(e) <= 350) ||
                               (meepos[i].Handle == me.Handle &&
                                !blink.CanBeCasted())) ||
                              blink == null) &&
                             meepos[i].Health >= meepos[i].MaximumHealth / 100 * Menu.Item("healh").GetValue <Slider>().Value &&
                             !meepos[i].IsChanneling() &&
                             Utils.SleepCheck(meepos[i].Handle + "Move"))
                    {
                        meepos[i].Move(e.Predict(450));
                        Utils.Sleep(250, meepos[i].Handle + "Move");
                    }
                }

                vail     = me.FindItem("item_veil_of_discord");
                shiva    = me.FindItem("item_shivas_guard");
                medall   = me.FindItem("item_medallion_of_courage") ?? me.FindItem("item_solar_crest");
                atos     = me.FindItem("item_rod_of_atos");
                cheese   = me.FindItem("item_cheese");
                abyssal  = me.FindItem("item_abyssal_blade");
                dagon    = me.Inventory.Items.FirstOrDefault(item => item.Name.Contains("item_dagon"));
                ethereal = me.FindItem("item_ethereal_blade");

                e = Toolset.ClosestToMouse(me);
                if (e == null)
                {
                    return;
                }
                if ( // ethereal
                    ethereal != null &&
                    ethereal.CanBeCasted() &&
                    me.CanCast() &&
                    !e.IsLinkensProtected() &&
                    !e.IsMagicImmune() &&
                    Utils.SleepCheck("ethereal")
                    )
                {
                    ethereal.UseAbility(e);
                    Utils.Sleep(200, "ethereal");
                } // ethereal Item end
                if (// Dagon
                    me.CanCast() &&
                    dagon != null &&
                    (ethereal == null ||
                     (e.HasModifier("modifier_item_ethereal_blade_slow") ||
                      ethereal.Cooldown < 17)) &&
                    !e.IsLinkensProtected() &&
                    dagon.CanBeCasted() &&
                    !e.IsMagicImmune() &&
                    Utils.SleepCheck("dagon")
                    )
                {
                    dagon.UseAbility(e);
                    Utils.Sleep(200, "dagon");
                } // Dagon Item end
                if ( // vail
                    vail != null &&
                    vail.CanBeCasted() &&
                    me.CanCast() &&
                    !e.IsMagicImmune() &&
                    me.Distance2D(e) <= 1100 &&
                    Utils.SleepCheck("vail")
                    )
                {
                    vail.UseAbility(e.Position);
                    Utils.Sleep(250, "vail");
                } // orchid Item end
                if (// Shiva Item
                    shiva != null &&
                    shiva.CanBeCasted() &&
                    me.CanCast() &&
                    !e.IsMagicImmune() &&
                    Utils.SleepCheck("shiva") &&
                    me.Distance2D(e) <= 600
                    )
                {
                    shiva.UseAbility();
                    Utils.Sleep(250, "shiva");
                } // Shiva Item end
                if (
                    // cheese
                    cheese != null &&
                    cheese.CanBeCasted() &&
                    me.Health <= (me.MaximumHealth * 0.3) &&
                    me.Distance2D(e) <= 700 &&
                    Utils.SleepCheck("cheese")
                    )
                {
                    cheese.UseAbility();
                    Utils.Sleep(200, "cheese");
                } // cheese Item end

                if ( // atos Blade
                    atos != null &&
                    atos.CanBeCasted() &&
                    me.CanCast() &&
                    !e.IsLinkensProtected() &&
                    !e.IsMagicImmune() &&
                    me.Distance2D(e) <= 2000 &&
                    Utils.SleepCheck("atos")
                    )
                {
                    atos.UseAbility(e);
                    Utils.Sleep(250, "atos");
                } // atos Item end
                if ( // Abyssal Blade
                    abyssal != null &&
                    abyssal.CanBeCasted() &&
                    me.CanCast() &&
                    !e.IsStunned() &&
                    !e.IsHexed() &&
                    Utils.SleepCheck("abyssal") &&
                    me.Distance2D(e) <= 300
                    )
                {
                    abyssal.UseAbility(e);
                    Utils.Sleep(250, "abyssal");
                } // Abyssal Item end
            }
        }
Beispiel #6
0
        public void Combo()
        {
            if (Menu.Item("enabled").IsActive() && Utils.SleepCheck("combo"))
            {
                e = Toolset.ClosestToMouse(me);
                if (e == null)
                {
                    return;
                }
                Q      = me.Spellbook.SpellQ;
                W      = me.Spellbook.SpellW;
                R      = me.Spellbook.SpellR;
                Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key);

                Shiva = me.FindItem("item_shivas_guard");
                pike  = me.FindItem("item_hurricane_pike");
                var dragon = me.FindItem("item_dragon_lance");

                ethereal = me.FindItem("item_ethereal_blade");
                mom      = me.FindItem("item_mask_of_madness");
                urn      = me.FindItem("item_urn_of_shadows");
                dagon    = me.Inventory.Items.FirstOrDefault(
                    item => item.Name.Contains("item_dagon"));
                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");
                manta    = me.FindItem("item_manta");
                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");
                sheep    = e.ClassID == ClassID.CDOTA_Unit_Hero_Tidehunter ? null : me.FindItem("item_sheepstick");
                cheese   = me.FindItem("item_cheese");
                stick    = me.FindItem("item_magic_stick") ?? me.FindItem("item_magic_wand");
                phase    = me.FindItem("item_phase_boots");

                var Meld    = me.Modifiers.ToList().Exists(y => y.Name == "modifier_templar_assassin_meld");
                var pikeMod = me.Modifiers.ToList().Exists(y => y.Name == "modifier_item_hurricane_pike_range");
                Toolset.Range();
                var stoneModif = e.Modifiers.Any(y => y.Name == "modifier_medusa_stone_gaze_stone");
                var v          =
                    ObjectManager.GetEntities <Hero>()
                    .Where(x => x.Team != me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion && !x.IsMagicImmune())
                    .ToList();

                var pike_range = me.Modifiers.FirstOrDefault(y => y.Name == "modifier_item_hurricane_pike_range");
                if (pike_range != null)
                {
                    if (
                        Q != null &&
                        Q.CanBeCasted() &&
                        !Meld &&
                        Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(Q.Name) &&
                        Utils.SleepCheck("Q")
                        )
                    {
                        Q.UseAbility();
                        Utils.Sleep(200, "Q");
                    }
                    if (
                        W != null &&
                        Q != null &&
                        pike_range.StackCount <= 3 &&
                        !Q.CanBeCasted() &&
                        W.CanBeCasted() &&
                        Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(W.Name) &&
                        Utils.SleepCheck("W")
                        )
                    {
                        W.UseAbility();
                        me.Attack(e);
                        Utils.Sleep(200, "W");
                    }
                    if (Menu.Item("orbwalk").GetValue <bool>())
                    {
                        Orbwalking.Orbwalk(e, 0, 7000, true, true);
                    }
                }
                if (pike_range != null && pike_range.StackCount > 0)
                {
                    return;
                }
                if (pikeMod)
                {
                    return;
                }
                if (Active)
                {
                    if (Meld)
                    {
                        if (Menu.Item("orbwalk").GetValue <bool>() && me.Distance2D(e) <= 1900)
                        {
                            Orbwalking.Orbwalk(e, 0, 1600, true, true);
                        }
                    }
                }

                if (Meld)
                {
                    return;
                }

                if (Active && me.Distance2D(e) <= 1400 && e != null && e.IsAlive && !me.IsInvisible())
                {
                    if (R != null &&
                        (pike == null ||
                         !pike.CanBeCasted()) &&
                        me.Distance2D(e) >= Toolset.AttackRange + 5 &&
                        R.CanBeCasted() &&
                        !Meld &&
                        Utils.SleepCheck("R") &&
                        !e.Modifiers.ToList().Exists(x => x.Name == "modifier_templar_assassin_trap_slow") &&
                        Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(R.Name))
                    {
                        R.UseAbility(Prediction.InFront(e, 140));
                        Utils.Sleep(150, "R");
                    }
                    if (
                        Q != null && Q.CanBeCasted() &&
                        me.Distance2D(e) <= Toolset.AttackRange + 300 &&
                        !Meld &&
                        Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(Q.Name) &&
                        Utils.SleepCheck("Q")
                        )
                    {
                        Q.UseAbility();
                        Utils.Sleep(200, "Q");
                    }
                    float   angle = me.FindAngleBetween(e.Position, true);
                    Vector3 pos   = new Vector3((float)(e.Position.X + 100 * Math.Cos(angle)), (float)(e.Position.Y + 100 * Math.Sin(angle)), 0);
                    if (
                        blink != null &&
                        me.CanCast() &&
                        blink.CanBeCasted() &&
                        me.Distance2D(e) >= Toolset.AttackRange &&
                        me.Distance2D(pos) <= 1190 &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(blink.Name) &&
                        Utils.SleepCheck("blink")
                        )
                    {
                        blink.UseAbility(pos);
                        Utils.Sleep(250, "blink");
                    }
                    if (
                        W != null && W.CanBeCasted() && me.Distance2D(e) <= Toolset.AttackRange - 10 &&
                        Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(W.Name) &&
                        Utils.SleepCheck("W")
                        )
                    {
                        W.UseAbility();
                        me.Attack(e);
                        Utils.Sleep(200, "W");
                    }
                    if (                     // MOM
                        mom != null &&
                        mom.CanBeCasted() &&
                        me.CanCast() &&
                        !Meld &&
                        Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(mom.Name) &&
                        Utils.SleepCheck("mom") &&
                        me.Distance2D(e) <= 700
                        )
                    {
                        mom.UseAbility();
                        Utils.Sleep(250, "mom");
                    }
                    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 &&
                        !Meld &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(halberd.Name)
                        )
                    {
                        halberd.UseAbility(e);
                        Utils.Sleep(250, "halberd");
                    }
                    if (                     // Mjollnir
                        mjollnir != null &&
                        mjollnir.CanBeCasted() &&
                        me.CanCast() &&
                        !Meld &&
                        !e.IsMagicImmune() &&
                        Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(mjollnir.Name) &&
                        Utils.SleepCheck("mjollnir") &&
                        me.Distance2D(e) <= 900
                        )
                    {
                        mjollnir.UseAbility(me);
                        Utils.Sleep(250, "mjollnir");
                    }                     // Mjollnir Item end
                    if (
                        // cheese
                        cheese != null &&
                        cheese.CanBeCasted() &&
                        !Meld &&
                        me.Health <= (me.MaximumHealth * 0.3) &&
                        me.Distance2D(e) <= 700 &&
                        Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(cheese.Name) &&
                        Utils.SleepCheck("cheese")
                        )
                    {
                        cheese.UseAbility();
                        Utils.Sleep(200, "cheese");
                    }                     // cheese Item end
                    if (                  // Medall
                        medall != null &&
                        medall.CanBeCasted() &&
                        !Meld &&
                        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 (                  // sheep
                        sheep != null &&
                        sheep.CanBeCasted() &&
                        me.CanCast() &&
                        !e.IsLinkensProtected() &&
                        !e.IsMagicImmune() &&
                        !Meld &&
                        me.Distance2D(e) <= 1400 &&
                        !stoneModif &&
                        Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(sheep.Name) &&
                        Utils.SleepCheck("sheep")
                        )
                    {
                        sheep.UseAbility(e);
                        Utils.Sleep(250, "sheep");
                    }                     // sheep Item end
                    if (                  // Abyssal Blade
                        abyssal != null &&
                        abyssal.CanBeCasted() &&
                        me.CanCast() &&
                        !Meld &&
                        !e.IsStunned() &&
                        !e.IsHexed() &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(abyssal.Name) &&
                        Utils.SleepCheck("abyssal") &&
                        me.Distance2D(e) <= 400
                        )
                    {
                        abyssal.UseAbility(e);
                        Utils.Sleep(250, "abyssal");
                    }                     // Abyssal Item end
                    if (orchid != null &&
                        orchid.CanBeCasted() &&
                        !Meld &&
                        me.Distance2D(e) <= 600 &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(orchid.Name) &&
                        Utils.SleepCheck("orchid"))
                    {
                        orchid.UseAbility(e);
                        Utils.Sleep(100, "orchid");
                    }

                    if (Shiva != null &&
                        Shiva.CanBeCasted() &&
                        me.Distance2D(e) <= 600 &&
                        !Meld &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(Shiva.Name) &&
                        !e.IsMagicImmune() && Utils.SleepCheck("Shiva"))
                    {
                        Shiva.UseAbility();
                        Utils.Sleep(100, "Shiva");
                    }
                    if (                     // ethereal
                        ethereal != null &&
                        ethereal.CanBeCasted() &&
                        me.CanCast() &&
                        !Meld &&
                        !e.IsLinkensProtected() &&
                        !e.IsMagicImmune() &&
                        !stoneModif &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(ethereal.Name) &&
                        Utils.SleepCheck("ethereal")
                        )
                    {
                        ethereal.UseAbility(e);
                        Utils.Sleep(200, "ethereal");
                    }                     // ethereal Item end


                    if (                     // Dagon
                        me.CanCast() &&
                        dagon != null &&
                        (ethereal == null ||
                         (e.Modifiers.Any(y => y.Name == "modifier_item_ethereal_blade_slow") ||
                          ethereal.Cooldown < 17)) &&
                        !e.IsLinkensProtected() &&
                        dagon.CanBeCasted() &&
                        !Meld &&
                        !e.IsMagicImmune() &&
                        !stoneModif &&
                        Utils.SleepCheck("dagon")
                        )
                    {
                        dagon.UseAbility(e);
                        Utils.Sleep(200, "dagon");
                    }                     // Dagon Item end
                    if (phase != null &&
                        phase.CanBeCasted() &&
                        !Meld &&
                        Utils.SleepCheck("phase") &&
                        Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(phase.Name) &&
                        !blink.CanBeCasted() &&
                        me.Distance2D(e) >= me.AttackRange + 20)
                    {
                        phase.UseAbility();
                        Utils.Sleep(200, "phase");
                    }
                    if (urn != null &&
                        urn.CanBeCasted() &&
                        urn.CurrentCharges > 0 &&
                        me.Distance2D(e) <= 400 &&
                        !Meld &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(urn.Name) &&
                        Utils.SleepCheck("urn"))
                    {
                        urn.UseAbility(e);
                        Utils.Sleep(240, "urn");
                    }
                    if (
                        stick != null &&
                        stick.CanBeCasted() &&
                        stick.CurrentCharges != 0 &&
                        me.Distance2D(e) <= 700 &&
                        !Meld &&
                        (me.Health <= (me.MaximumHealth * 0.5) ||
                         me.Mana <= (me.MaximumMana * 0.5)) &&
                        Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(stick.Name))
                    {
                        stick.UseAbility();
                        Utils.Sleep(200, "mana_items");
                    }
                    if (manta != null &&
                        manta.CanBeCasted() &&
                        !Meld &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(manta.Name) &&
                        me.Distance2D(e) <= Toolset.AttackRange &&
                        Utils.SleepCheck("manta"))
                    {
                        manta.UseAbility();
                        Utils.Sleep(100, "manta");
                    }
                    if (                     // Satanic
                        satanic != null &&
                        me.Health <= (me.MaximumHealth * 0.3) &&
                        satanic.CanBeCasted() &&
                        !Meld &&
                        me.Distance2D(e) <= me.AttackRange + 50 &&
                        Menu.Item("Item").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)) &&
                        !Meld &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(mail.Name) &&
                        Utils.SleepCheck("mail"))
                    {
                        mail.UseAbility();
                        Utils.Sleep(100, "mail");
                    }
                    if (bkb != null &&
                        bkb.CanBeCasted() &&
                        !Meld &&
                        (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 (Active && me.Distance2D(e) <= 1400 && e != null && e.IsAlive)
                    {
                        if (Menu.Item("orbwalk").GetValue <bool>() && me.Distance2D(e) <= 1900)
                        {
                            Orbwalking.Orbwalk(e, 0, 1600, true, true);
                        }
                    }
                    if (pike != null &&
                        pike.CanBeCasted() &&
                        me.IsAttacking() &&
                        Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(pike.Name) &&
                        (e.Health <= (e.MaximumHealth / 100 * Menu.Item("piKe").GetValue <Slider>().Value) ||
                         me.Health <= (me.MaximumHealth / 100 * Menu.Item("piKeMe").GetValue <Slider>().Value)) &&
                        (W == null ||
                         !W.CanBeCasted()) &&
                        !Meld &&
                        me.Distance2D(e) <= 450 &&
                        Utils.SleepCheck("pike"))
                    {
                        pike.UseAbility(e);
                        if (((pike != null && pike.CanBeCasted()) || IsCasted(pike)) && R.CanBeCasted() && !me.Modifiers.ToList().Exists(y => y.Name == "modifier_templar_assassin_meld") && me.Distance2D(e.NetworkPosition) <= 400 && me.CanCast() && !me.IsSilenced() && !me.IsHexed())
                        {
                            var a1 = me.Position.ToVector2().FindAngleBetween(e.Position.ToVector2(), true);
                            var p1 = new Vector3(
                                (e.Position.X + 520 * (float)Math.Cos(a1)),
                                (e.Position.Y + 520 * (float)Math.Sin(a1)),
                                100);
                            R.UseAbility(p1);
                        }
                        Utils.Sleep(100, "pike");
                    }
                    var traps = ObjectManager.GetEntities <Unit>().Where(x => x.Name == "npc_dota_templar_assassin_psionic_trap" && x.Team == me.Team &&
                                                                         x.Distance2D(me) <= 1700 && x.IsAlive && x.IsValid).ToList();
                    foreach (var q in traps)
                    {
                        if (!HurPikeActived() && e.NetworkPosition.Distance2D(q.Position) < 390 && q.Spellbook.SpellQ.CanBeCasted() && Utils.SleepCheck("traps") && !e.Modifiers.ToList().Exists(x => x.Name == "modifier_templar_assassin_trap_slow"))
                        {
                            q.Spellbook.SpellQ.UseAbility();
                            Utils.Sleep(150, "traps");
                        }
                    }
                }
                Utils.Sleep(50, "combo");
            }
        }
Beispiel #7
0
        } // GetDamageTaken::END

        private void AutoSpells()
        {
            enemies = ObjectManager.GetEntities <Hero>()
                      .Where(x => x.IsVisible && x.IsAlive && x.Team != me.Team && !x.IsMagicImmune() && !x.IsIllusion).ToList();

            if (Menu.Item("autoUlt").IsActive())
            {
                e = Toolset.ClosestToMouse(me, 9000);

                foreach (var v in enemies.Where(x => !x.IsMagicImmune()))
                {
                    damage[v.Handle] = GetDamageTaken(v, ref enemies);

                    if (me.IsInvisible())
                    {
                        return;
                    }

                    if (
                        enemies.Count(
                            x => x.Health <= damage[v.Handle] && v.Distance2D(x) <= R.GetCastRange() + me.HullRadius + 24) >=
                        Menu.Item("Heel").GetValue <Slider>().Value)
                    {
                        uint elsecount = 0; elsecount += 1;
                        if (blink != null &&
                            me.CanCast() &&
                            blink.CanBeCasted() &&
                            me.Distance2D(v) > 100 &&
                            me.Distance2D(v) <= 1180 &&
                            Utils.SleepCheck("blink")
                            )
                        {
                            blink.UseAbility(v.Position);
                            Utils.Sleep(250, "blink");
                        }
                        else if (W != null && W.CanBeCasted() && me.Distance2D(v) <= 900 + me.HullRadius + 24 && me.AghanimState() &&
                                 Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(W.Name) &&
                                 (blink == null || !blink.CanBeCasted()) &&
                                 Utils.SleepCheck("W"))
                        {
                            W.UseAbility(v.Position);
                            Utils.Sleep(250, "W");
                        }
                        else
                        {
                            elsecount += 1;
                        }
                        if (enemies.Count(
                                x => me.Distance2D(x) <= R.GetCastRange() + me.HullRadius + 24) >=
                            Menu.Item("Heel").GetValue <Slider>().Value)
                        {
                            if (vail != null &&
                                vail.CanBeCasted() &&
                                me.CanCast() &&
                                Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled(vail.Name) &&
                                me.Distance2D(v) <= 1190 &&
                                Utils.SleepCheck("vail")
                                )
                            {
                                vail.UseAbility(v.Position);
                                Utils.Sleep(250, "vail");
                            } // orchid Item endelse

                            else
                            {
                                elsecount += 1;
                            }
                            if (elsecount == 3 &&
                                ethereal != null &&
                                ethereal.CanBeCasted() &&
                                me.CanCast() &&
                                Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled(ethereal.Name) &&
                                (v.Handle == e.Handle || e.Distance2D(v) > 700) &&
                                me.Distance2D(v) <= 1190 &&
                                Utils.SleepCheck("ethereal")
                                )
                            {
                                ethereal.UseAbility(v);
                                Utils.Sleep(250, "ethereal");
                            } // orchid Item end
                            else
                            {
                                elsecount += 1;
                            }
                            if (!CanIncreaseMagicDmg(me, v))
                            {
                                if (elsecount == 4 && R != null && R.CanBeCasted() && Utils.SleepCheck("R") &&
                                    Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(R.Name))
                                {
                                    R.UseAbility();
                                    Utils.Sleep(250, "R");
                                }
                                if (R == null || !R.CanBeCasted() ||
                                    !Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(R.Name))
                                {
                                    if (Q != null && Q.CanBeCasted() && v.Distance2D(me) <= 525 + me.HullRadius + 24 &&
                                        Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(Q.Name) &&
                                        Utils.SleepCheck("Q"))
                                    {
                                        Q.UseAbility(v.Position);
                                        Utils.Sleep(250, "Q");
                                    }
                                    if (shiva != null &&
                                        shiva.CanBeCasted() &&
                                        Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled(shiva.Name) &&
                                        v.Distance2D(me) <= shiva.GetCastRange() &&
                                        Utils.SleepCheck("shiva"))
                                    {
                                        shiva.UseAbility();
                                        Utils.Sleep(250, "shiva");
                                    }
                                }

                                if (me.AghanimState())
                                {
                                    if (W != null && W.CanBeCasted() &&
                                        Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(W.Name) &&
                                        v.Distance2D(me) <= 300 + me.HullRadius + 24 &&
                                        !me.HasModifier("modifier_earthshaker_enchant_totem") && Utils.SleepCheck("W"))
                                    {
                                        W.UseAbility(me);
                                        Utils.Sleep(250, "W");
                                    }
                                }
                                else if (W != null && W.CanBeCasted() &&
                                         Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(W.Name) &&
                                         v.Distance2D(me) <= W.GetCastRange() + me.HullRadius + 24 &&
                                         !me.HasModifier("modifier_earthshaker_enchant_totem") && Utils.SleepCheck("W"))
                                {
                                    W.UseAbility();
                                    Utils.Sleep(250, "W");
                                }
                            }
                        }
                    }
                    if (enemies.Count(
                            x => x.Distance2D(v) <= 500) <= Menu.Item("Heelm").GetValue <Slider>().Value &&
                        blink != null &&
                        blink.CanBeCasted() &&
                        me.CanCast() &&
                        v.Health <= damage[v.Handle] &&
                        me.Distance2D(v) <= 1180 &&
                        Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled(blink.Name) &&
                        me.Distance2D(v) > 300 &&
                        Utils.SleepCheck("blink")
                        )
                    {
                        blink.UseAbility(v.Position);
                        Utils.Sleep(250, "blink");
                    }
                    else if (enemies.Count(
                                 x => me.Distance2D(x) <= 300 + me.HullRadius + 24 && v.Health <= damage[v.Handle]) >= 1)
                    {
                        if (R == null || !R.CanBeCasted() ||
                            !Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(R.Name) || (R.CanBeCasted() && enemies.Count(
                                                                                                           x => x.Health <= damage[v.Handle] && me.Distance2D(x) <= R.GetCastRange() + me.HullRadius + 24) <=
                                                                                                       Menu.Item("Heel").GetValue <Slider>().Value))
                        {
                            if (me.Distance2D(v) <= 500 + me.HullRadius + 24 && me.Distance2D(v) >= 300 + me.HullRadius + 24 && Utils.SleepCheck("Move"))
                            {
                                me.Move(v.Position);
                                Utils.Sleep(500, "Move");
                            }
                            if (v.Distance2D(me) <= 300 + me.HullRadius + 24)
                            {
                                if (vail != null &&
                                    vail.CanBeCasted() &&
                                    me.CanCast() &&
                                    Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled(vail.Name) &&
                                    Utils.SleepCheck("vail")
                                    )
                                {
                                    vail.UseAbility(v.Position);
                                    Utils.Sleep(250, "vail");
                                } // orchid Item endelse
                                else if (ethereal != null &&
                                         ethereal.CanBeCasted() &&
                                         me.CanCast() &&
                                         Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled(ethereal.Name) &&
                                         Utils.SleepCheck("ethereal")
                                         )
                                {
                                    ethereal.UseAbility(v);
                                    Utils.Sleep(250, "ethereal");
                                } // orchid Item end
                                else if (Q != null && Q.CanBeCasted() &&
                                         Utils.SleepCheck("Q"))
                                {
                                    Q.UseAbility(v.Position);
                                    Utils.Sleep(250, "Q");
                                }
                                else if (shiva != null &&
                                         shiva.CanBeCasted() &&
                                         Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled(shiva.Name) &&
                                         Utils.SleepCheck("shiva"))
                                {
                                    shiva.UseAbility();
                                    Utils.Sleep(250, "shiva");
                                }
                                else if (dagon != null &&
                                         dagon.CanBeCasted() &&
                                         Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled("item_dagon") &&
                                         Utils.SleepCheck("dagon"))
                                {
                                    dagon.UseAbility(v);
                                    Utils.Sleep(250, "dagon");
                                }
                                else if (W != null && W.CanBeCasted() && !me.AghanimState() &&
                                         Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(W.Name) &&
                                         !me.HasModifier("modifier_earthshaker_enchant_totem") && Utils.SleepCheck("W"))
                                {
                                    W.UseAbility();
                                    Utils.Sleep(250, "W");
                                }
                                else if (W != null && W.CanBeCasted() && me.AghanimState() &&
                                         Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(W.Name) &&
                                         !me.HasModifier("modifier_earthshaker_enchant_totem") && Utils.SleepCheck("W"))
                                {
                                    W.UseAbility(me);
                                    Utils.Sleep(250, "W");
                                }
                                else if (!me.HasModifier("modifier_earthshaker_enchant_totem") &&
                                         Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(W.Name) &&
                                         v.Health <= (((((me.MaximumDamage + me.MinimumDamage) / 2) * (wDmg[W.Level] / 100)) + me.BonusDamage) + eDmg[E.Level]))
                                {
                                    if (me.AghanimState())
                                    {
                                        if (W != null && W.CanBeCasted() &&
                                            !me.HasModifier("modifier_earthshaker_enchant_totem") && Utils.SleepCheck("W"))
                                        {
                                            W.UseAbility(me);
                                            Utils.Sleep(250, "W");
                                        }
                                    }
                                    else if (W != null && W.CanBeCasted() &&
                                             !me.HasModifier("modifier_earthshaker_enchant_totem") && Utils.SleepCheck("W"))
                                    {
                                        W.UseAbility();
                                        Utils.Sleep(250, "W");
                                    }
                                }
                            }
                        }
                    }
                    if (me.HasModifier("modifier_earthshaker_enchant_totem"))
                    {
                        if (v.Health <=
                            (((me.MinimumDamage + me.MaximumDamage) / 2) + me.BonusDamage) - v.DamageAverage &&
                            !me.IsAttacking() &&
                            me.Distance2D(v) <= 300 + me.HullRadius + 24 &&
                            Utils.SleepCheck("Attack"))
                        {
                            me.Attack(v);
                            Utils.Sleep(250, "Attack");
                        }
                        else if (me.Distance2D(v) <= 300 + me.HullRadius + 24 &&
                                 !me.IsAttacking() &&
                                 Utils.SleepCheck("Attack"))
                        {
                            me.Attack(v);
                            Utils.Sleep(250, "Attack");
                        }
                    }
                } // foreach::END
            }
        }         // AutoSpells::END
Beispiel #8
0
        private void AutoSpells()
        {
            _enemies = ObjectManager.GetEntities <Hero>()
                       .Where(x => x.IsVisible && x.IsAlive && x.Team != Me.Team && !x.IsMagicImmune() && !x.IsMagicImmune() && !x.IsIllusion && !x.IsFullMagicSpellResist()).ToList();

            if (Menu.Item("AutoUsage").IsActive())
            {
                E = Toolset.ClosestToMouse(Me, 8000);

                foreach (var v in _enemies)
                {
                    if (Me.IsInvisible())
                    {
                        return;
                    }
                    if (v.IsFullMagiclResistZuus())
                    {
                        return;
                    }
                    _damage[v.Handle] = CalculateDamage(v);

                    var range = Me.HullRadius + (_dagon?.GetCastRange() ?? _w?.GetCastRange());

                    float   angle = Me.FindAngleBetween(v.Position, true);
                    Vector3 pos   = new Vector3((float)(v.Position.X - 290 * Math.Cos(angle)), (float)(v.Position.Y - 290 * Math.Sin(angle)), 0);
                    var     d     = v.Position.X - range * Math.Cos(angle);
                    if (d != null)
                    {
                        Vector3 posBlink = new Vector3((float)d, (float)(v.Position.Y - range * Math.Sin(angle)), 0);
                        var     units    = ObjectManager.GetEntities <Hero>().Where(x =>
                                                                                    !x.Equals(v) &&
                                                                                    x.IsAlive &&
                                                                                    x.Distance2D(pos) < v.Distance2D(pos) &&
                                                                                    x.Distance2D(v) <= 320 &&
                                                                                    x.Team != Me.Team
                                                                                    ).ToList();
                        if (_enemies.Count(
                                x => x.Distance2D(v) <= 500) <= Menu.Item("Heelm").GetValue <Slider>().Value &&
                            _blink != null &&
                            _blink.CanBeCasted() &&
                            Me.CanCast() &&
                            Me.Health >= (Me.MaximumHealth / 100 * Menu.Item("minHealth").GetValue <Slider>().Value) &&
                            v.Health <= _damage[v.Handle] &&
                            Me.Distance2D(posBlink) <= 1180 &&
                            Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled(_blink.Name) &&
                            Me.Distance2D(v) > 500 &&
                            Utils.SleepCheck("blink")
                            )
                        {
                            _blink.UseAbility(posBlink);
                            Utils.Sleep(250, "blink");
                        }
                        if (v.Health <= _damage[v.Handle] && Me.Distance2D(v) <= _w.GetCastRange() + Me.HullRadius + 300)
                        {
                            if (_vail != null &&
                                _vail.CanBeCasted() &&
                                Me.CanCast() &&
                                Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled(_vail.Name) &&
                                Utils.SleepCheck("vail")
                                )
                            {
                                _vail.UseAbility(v.Position);
                                Utils.Sleep(250, "vail");
                            } // orchid Item endelse
                            else if (_ethereal != null &&
                                     _ethereal.CanBeCasted() &&
                                     Me.CanCast() &&
                                     Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled(_ethereal.Name) &&
                                     Utils.SleepCheck("ethereal")
                                     )
                            {
                                _ethereal.UseAbility(v);
                                Utils.Sleep(250, "ethereal");
                            } // orchid Item end
                            if (!CanIncreaseMagicDmg(Me, v))
                            {
                                if (_dagon != null &&
                                    _dagon.CanBeCasted() &&
                                    Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled("item_dagon") &&
                                    Utils.SleepCheck("dagon"))
                                {
                                    _dagon.UseAbility(v);
                                    Utils.Sleep(250, "dagon");
                                }
                                else if (_q != null && _q.CanBeCasted() && Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(_q.Name) &&
                                         Utils.SleepCheck("Q"))
                                {
                                    _q.UseAbility(v);
                                    Utils.Sleep(250, "Q");
                                }
                                else if (_w != null && _w.CanBeCasted() && Me.Distance2D(v) <= _w.GetCastRange() + Me.HullRadius && Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(_w.Name) &&
                                         Utils.SleepCheck("W"))
                                {
                                    _w.UseAbility(v.Position);
                                    Utils.Sleep(250, "W");
                                }
                                else if (_w != null && _w.CanBeCasted() && units.Count(x => x.Distance2D(pos) <= 300) == 0 && Me.Distance2D(v) <= _w.GetCastRange() + Me.HullRadius + 300 && Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(_w.Name) &&
                                         Utils.SleepCheck("W"))
                                {
                                    _w.UseAbility(pos);
                                    Utils.Sleep(250, "W");
                                }
                                else if (_r != null &&
                                         _r.CanBeCasted() &&
                                         (_w == null || !_w.CanBeCasted() || !Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(_w.Name)) &&
                                         Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(_r.Name) &&
                                         Utils.SleepCheck("R"))
                                {
                                    _r.UseAbility();
                                    Utils.Sleep(250, "R");
                                }
                                else if (_shiva != null &&
                                         _shiva.CanBeCasted() &&
                                         Me.Distance2D(v) <= 600 + Me.HullRadius &&
                                         Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled(_shiva.Name) &&
                                         Utils.SleepCheck("shiva"))
                                {
                                    _shiva.UseAbility();
                                    Utils.Sleep(250, "shiva");
                                }
                                if (_w != null && _w.CanBeCasted() && Me.Distance2D(v) >= _w.GetCastRange() + Me.HullRadius && Me.Distance2D(v) <= _w.GetCastRange() + Me.HullRadius + 325 && Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(_w.Name) && Utils.SleepCheck("Move"))
                                {
                                    Me.Move(v.Position);
                                    Utils.Sleep(250, "Move");
                                }
                            }
                        }
                    }
                    _damage[v.Handle] = CalculateDamageR(v);
                    if (_r != null && _r.CanBeCasted() &&
                        Menu.Item("AutoUlt").GetValue <AbilityToggler>().IsEnabled(_r.Name))
                    {
                        if (
                            _enemies.Count(
                                x =>
                                x.Health <= _damage[v.Handle]) >=
                            Menu.Item("Heel").GetValue <Slider>().Value)
                        {
                            if ( // SoulRing Item
                                _soul != null &&
                                _soul.CanBeCasted() &&
                                Me.CanCast() &&
                                Me.Mana <= _r.ManaCost &&
                                Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_soul.Name)
                                )
                            {
                                _soul.UseAbility();
                            } // SoulRing Item end
                            if ( // Arcane Boots Item
                                _arcane != null &&
                                _arcane.CanBeCasted() &&
                                Me.CanCast() &&
                                Me.Mana <= _r.ManaCost &&
                                Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_arcane.Name)
                                )
                            {
                                _arcane.UseAbility();
                            } // Arcane Boots Item end
                            if (_ethereal != null &&
                                _ethereal.CanBeCasted() &&
                                Me.CanCast() &&
                                Me.Distance2D(v) <= _ethereal.GetCastRange() &&
                                Menu.Item("AutoUltItems").GetValue <AbilityToggler>().IsEnabled(_ethereal.Name) &&
                                Utils.SleepCheck("ethereal")
                                )
                            {
                                _ethereal.UseAbility(v);
                                Utils.Sleep(250, "ethereal");
                            } // orchid Item end
                            else if (_r != null &&
                                     _r.CanBeCasted() &&
                                     Menu.Item("AutoUlt").GetValue <AbilityToggler>().IsEnabled(_r.Name) &&
                                     Utils.SleepCheck("R"))
                            {
                                _r.UseAbility();
                                Utils.Sleep(250, "R");
                            }
                            else if (_dagon != null &&
                                     _dagon.CanBeCasted() && Me.Distance2D(v) <= _dagon.GetCastRange() &&
                                     Menu.Item("AutoUltItems").GetValue <AbilityToggler>().IsEnabled("item_dagon") &&
                                     Utils.SleepCheck("dagon"))
                            {
                                _dagon.UseAbility(v);
                                Utils.Sleep(250, "dagon");
                            }
                        }
                    }
                } // foreach::END
            }
        }         // AutoSpells::END
Beispiel #9
0
        public void Combo()
        {
            Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key);

            Push    = Game.IsKeyDown(Menu.Item("keyEscape").GetValue <KeyBind>().Key);
            _wKey   = Game.IsKeyDown(Menu.Item("wKey").GetValue <KeyBind>().Key);
            _oneUlt = Menu.Item("oneult").IsActive();
            if (!Menu.Item("enabled").IsActive())
            {
                return;
            }

            E = Toolset.ClosestToMouse(Me);
            if (Push)
            {
                Unit fount   = ObjectManager.GetEntities <Unit>().FirstOrDefault(x => x.Team == Me.Team && x.ClassId == ClassId.CDOTA_Unit_Fountain);
                var  remnant = ObjectManager.GetEntities <Unit>().Where(unit => unit.IsValid && unit.IsAlive && unit.Team == Me.Team && unit.Name == "npc_dota_ember_spirit_remnant").ToList();

                if (fount != null)
                {
                    float   angle = Me.FindAngleBetween(fount.Position, true);
                    Vector3 pos   = new Vector3((float)(Me.Position.X + _r.GetCastRange() * Math.Cos(angle)),
                                                (float)(Me.Position.Y + _r.GetCastRange() * Math.Sin(angle)), 0);

                    if (remnant.Count(x => x.Distance2D(Me) <= 10000) == 0)
                    {
                        if (_r != null && _r.CanBeCasted() &&
                            Me.FindModifier("modifier_ember_spirit_fire_remnant_charge_counter").StackCount >= 1 &&
                            Utils.SleepCheck("z"))
                        {
                            _r.UseAbility(pos);
                            Utils.Sleep(1000, "z");
                        }
                    }
                    if (remnant.Count(x => x.Distance2D(Me) <= 10000) > 0)
                    {
                        if (_d != null && _d.CanBeCasted())
                        {
                            for (int i = 0; i < remnant.Count; ++i)
                            {
                                var kill =
                                    remnant[i].Modifiers.Where(y => y.Name == "modifier_ember_spirit_fire_remnant_thinker")
                                    .DefaultIfEmpty(null)
                                    .FirstOrDefault();

                                if (kill != null &&
                                    kill.RemainingTime < 44 &&
                                    Utils.SleepCheck("Rem"))
                                {
                                    _d.UseAbility(fount.Position);
                                    Utils.Sleep(300, "Rem");
                                }
                            }
                        }
                    }
                }
            }

            _q = Me.Spellbook.SpellQ;

            _w = Me.Spellbook.SpellW;

            _e = Me.Spellbook.SpellE;

            _r = Me.Spellbook.SpellR;

            _d = Me.Spellbook.SpellD;

            _ethereal = Me.FindItem("item_ethereal_blade");
            _mom      = Me.FindItem("item_mask_of_madness");
            _urn      = Me.FindItem("item_urn_of_shadows");
            _dagon    =
                Me.Inventory.Items.FirstOrDefault(
                    item =>
                    item.Name.Contains("item_dagon"));
            _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");
            if (E == null)
            {
                return;
            }
            _sheep  = E.ClassId == ClassId.CDOTA_Unit_Hero_Tidehunter ? null : Me.FindItem("item_sheepstick");
            _vail   = Me.FindItem("item_veil_of_discord");
            _cheese = Me.FindItem("item_cheese");
            _ghost  = Me.FindItem("item_ghost");
            _atos   = Me.FindItem("item_rod_of_atos");
            _soul   = Me.FindItem("item_soul_ring");
            _arcane = Me.FindItem("item_arcane_boots");
            _stick  = Me.FindItem("item_magic_stick") ?? Me.FindItem("item_magic_wand");
            _shiva  = Me.FindItem("item_shivas_guard");


            var stoneModif = E.HasModifier("modifier_medusa_stone_gaze_stone");



            var v =
                ObjectManager.GetEntities <Hero>()
                .Where(x => x.Team != Me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion && !x.IsMagicImmune())
                .ToList();



            if ((Active || _wKey) && Me.Distance2D(E) <= 1400 && E != null && E.IsAlive)
            {
                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(E))
            {
                if (stoneModif)
                {
                    return;
                }
                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 (                 // 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 (                 //Ghost
                    _ghost != null &&
                    _ghost.CanBeCasted() &&
                    Me.CanCast() &&
                    ((Me.Position.Distance2D(E) < 300 &&
                      Me.Health <= (Me.MaximumHealth * 0.7)) ||
                     Me.Health <= (Me.MaximumHealth * 0.3)) &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_ghost.Name) &&
                    Utils.SleepCheck("Ghost"))
                {
                    _ghost.UseAbility();
                    Utils.Sleep(250, "Ghost");
                }
                if (                 // Arcane Boots Item
                    _arcane != null &&
                    Me.Mana <= _w.ManaCost &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_arcane.Name) &&
                    _arcane.CanBeCasted() &&
                    Utils.SleepCheck("arcane")
                    )
                {
                    _arcane.UseAbility();
                    Utils.Sleep(250, "arcane");
                }                 // Arcane Boots Item end
                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 (
                    // cheese
                    _cheese != null &&
                    _cheese.CanBeCasted() &&
                    Me.Health <= (Me.MaximumHealth * 0.3) &&
                    Me.Distance2D(E) <= 700 &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_cheese.Name) &&
                    Utils.SleepCheck("cheese")
                    )
                {
                    _cheese.UseAbility();
                    Utils.Sleep(200, "cheese");
                }                 // cheese 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 (
                    _w != null && _w.CanBeCasted() && Me.Distance2D(E) <= 700 &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_w.Name) &&
                    Utils.SleepCheck("W")
                    )
                {
                    _w.UseAbility(E.Predict(300));
                    Utils.Sleep(200, "W");
                }
                if (                 // Q Skill
                    _q != null &&
                    _q.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsMagicImmune() &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_q.Name) &&
                    Me.Distance2D(E) <= 150 &&
                    Utils.SleepCheck("Q")
                    )

                {
                    _q.UseAbility();
                    Utils.Sleep(50, "Q");
                }                 // Q Skill end

                if (              // W Skill
                    _w != null &&
                    _w.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsMagicImmune() &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_w.Name) &&
                    Utils.SleepCheck("W")
                    )
                {
                    _w.UseAbility(E.Position);
                    Utils.Sleep(200, "W");
                }                 // W Skill end
                if (              // E Skill
                    _e != null &&
                    _e.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsMagicImmune() &&
                    Utils.SleepCheck("E") &&
                    Me.Distance2D(E) <= 400 &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_e.Name)
                    )
                {
                    _e.UseAbility();
                    Utils.Sleep(350, "E");
                }                 // E Skill end
                if (              //R Skill
                    _r != null &&
                    !_oneUlt &&
                    _r.CanBeCasted() &&
                    Me.CanCast() &&
                    Me.Distance2D(E) <= 1100 &&
                    Utils.SleepCheck("R")
                    )
                {
                    _r.UseAbility(E.Predict(700));
                    Utils.Sleep(110, "R");
                }                 // R Skill end
                if (              //R Skill
                    _r != null &&
                    _oneUlt &&
                    _r.CanBeCasted() &&
                    Me.CanCast() &&
                    Me.Distance2D(E) <= 1100 &&
                    Utils.SleepCheck("R")
                    )
                {
                    _r.UseAbility(E.Predict(700));
                    Utils.Sleep(5000, "R");
                }                 // R Skill end
                if (              // sheep
                    _sheep != null &&
                    _sheep.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsLinkensProtected() &&
                    !E.IsMagicImmune() &&
                    Me.Distance2D(E) <= 1400 &&
                    !stoneModif &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_sheep.Name) &&
                    Utils.SleepCheck("sheep")
                    )
                {
                    _sheep.UseAbility(E);
                    Utils.Sleep(250, "sheep");
                }                 // sheep Item end
                if (              // Abyssal Blade
                    _abyssal != null &&
                    _abyssal.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsStunned() &&
                    !E.IsHexed() &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_abyssal.Name) &&
                    Utils.SleepCheck("abyssal") &&
                    Me.Distance2D(E) <= 400
                    )
                {
                    _abyssal.UseAbility(E);
                    Utils.Sleep(250, "abyssal");
                }                 // Abyssal Item end
                if (_orchid != null && _orchid.CanBeCasted() && Me.Distance2D(E) <= 900 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_orchid.Name) &&
                    Utils.SleepCheck("orchid"))
                {
                    _orchid.UseAbility(E);
                    Utils.Sleep(100, "orchid");
                }

                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
                    _ethereal != null &&
                    _ethereal.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsLinkensProtected() &&
                    !E.IsMagicImmune() &&
                    !stoneModif &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_ethereal.Name) &&
                    Utils.SleepCheck("ethereal")
                    )
                {
                    _ethereal.UseAbility(E);
                    Utils.Sleep(200, "ethereal");
                }                 // ethereal Item end
                if (
                    _blink != null &&
                    Me.CanCast() &&
                    _blink.CanBeCasted() &&
                    Me.Distance2D(E) >= 450 &&
                    Me.Distance2D(E) <= 1150 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_blink.Name) &&
                    Utils.SleepCheck("blink")
                    )
                {
                    _blink.UseAbility(E.Position);
                    Utils.Sleep(250, "blink");
                }

                if (                 // SoulRing Item
                    _soul != null &&
                    _soul.CanBeCasted() &&
                    Me.CanCast() &&
                    Me.Health >= (Me.MaximumHealth * 0.5) &&
                    Me.Mana <= _r.ManaCost &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_soul.Name)
                    )
                {
                    _soul.UseAbility();
                }                 // SoulRing Item end
                if (              // Dagon
                    Me.CanCast() &&
                    _dagon != null &&
                    (_ethereal == null ||
                     (E.HasModifier("modifier_item_ethereal_blade_slow") ||
                      _ethereal.Cooldown < 17)) &&
                    !E.IsLinkensProtected() &&
                    _dagon.CanBeCasted() &&
                    !E.IsMagicImmune() &&
                    !stoneModif &&
                    Utils.SleepCheck("dagon")
                    )
                {
                    _dagon.UseAbility(E);
                    Utils.Sleep(200, "dagon");
                }                 // Dagon Item end
                if (              // atos Blade
                    _atos != null &&
                    _atos.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsLinkensProtected() &&
                    !E.IsMagicImmune() &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_atos.Name) &&
                    Me.Distance2D(E) <= 2000 &&
                    Utils.SleepCheck("atos")
                    )
                {
                    _atos.UseAbility(E);

                    Utils.Sleep(250, "atos");
                }                 // atos 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 (                 // vail
                    _vail != null &&
                    _vail.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsMagicImmune() &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_vail.Name) &&
                    Me.Distance2D(E) <= 1500 &&
                    Utils.SleepCheck("vail")
                    )
                {
                    _vail.UseAbility(E.Position);
                    Utils.Sleep(250, "vail");
                }                 // orchid Item end

                /*	if (
                 *      force != null
                 *      && force.CanBeCasted()
                 *      && Me.Distance2D(e) < force.GetCastRange()
                 *      && Utils.SleepCheck(e.Handle.ToString()))
                 * {
                 *      force.UseAbility(e);
                 *      Utils.Sleep(500, e.Handle.ToString());
                 * }
                 */
                if (
                    _stick != null &&
                    _stick.CanBeCasted() &&
                    _stick.CurrentCharges != 0 &&
                    Me.Distance2D(E) <= 700 &&
                    (Me.Health <= (Me.MaximumHealth * 0.5) ||
                     Me.Mana <= (Me.MaximumMana * 0.5)) &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_stick.Name))
                {
                    _stick.UseAbility();
                    Utils.Sleep(200, "mana_items");
                }
                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");
                }

                var remnant = ObjectManager.GetEntities <Unit>().Where(unit => unit.Name == "npc_dota_ember_spirit_remnant").ToList();

                if (remnant.Count <= 0)
                {
                    return;
                }
                for (int i = 0; i < remnant.Count; ++i)
                {
                    if (                    //D Skill
                        remnant != null &&
                        _d.CanBeCasted() &&
                        Me.CanCast() &&
                        Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_d.Name) &&
                        remnant[i].Distance2D(E) <= 500 &&
                        Utils.SleepCheck("D")
                        )
                    {
                        _d.UseAbility(E.Position);
                        Utils.Sleep(400, "D");
                    }
                }
            }
            if (_wKey && Me.Distance2D(E) <= 1400 && E != null && E.IsAlive)
            {
                if (                 // Q Skill
                    _q != null &&
                    _q.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsMagicImmune() &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_q.Name) &&
                    Me.Distance2D(E) <= 150 &&
                    Utils.SleepCheck("Q")
                    )

                {
                    _q.UseAbility();
                    Utils.Sleep(50, "Q");
                }                 // Q Skill end

                if (              // W Skill
                    _w != null &&
                    _w.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsMagicImmune() &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_w.Name) &&
                    Utils.SleepCheck("W")
                    )
                {
                    _w.UseAbility(E.Position);
                    Utils.Sleep(200, "W");
                }                 // W Skill end
            }
            else if (_wKey && Me.Distance2D(E) <= 1400 && E != null && E.IsAlive && !Toolset.invUnit(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 (                 // 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 (                 //Ghost
                    _ghost != null &&
                    _ghost.CanBeCasted() &&
                    Me.CanCast() &&
                    ((Me.Position.Distance2D(E) < 300 &&
                      Me.Health <= (Me.MaximumHealth * 0.7)) ||
                     Me.Health <= (Me.MaximumHealth * 0.3)) &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_ghost.Name) &&
                    Utils.SleepCheck("Ghost"))
                {
                    _ghost.UseAbility();
                    Utils.Sleep(250, "Ghost");
                }
                if (                 // Arcane Boots Item
                    _arcane != null &&
                    Me.Mana <= _w.ManaCost &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_arcane.Name) &&
                    _arcane.CanBeCasted() &&
                    Utils.SleepCheck("arcane")
                    )
                {
                    _arcane.UseAbility();
                    Utils.Sleep(250, "arcane");
                }                 // Arcane Boots Item end
                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 (
                    // cheese
                    _cheese != null &&
                    _cheese.CanBeCasted() &&
                    Me.Health <= (Me.MaximumHealth * 0.3) &&
                    Me.Distance2D(E) <= 700 &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_cheese.Name) &&
                    Utils.SleepCheck("cheese")
                    )
                {
                    _cheese.UseAbility();
                    Utils.Sleep(200, "cheese");
                }                 // cheese 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 (              // Q Skill
                    _q != null &&
                    _q.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsMagicImmune() &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_q.Name) &&
                    Me.Distance2D(E) <= 150 &&
                    Utils.SleepCheck("Q")
                    )

                {
                    _q.UseAbility();
                    Utils.Sleep(50, "Q");
                }                 // Q Skill end

                if (              // W Skill
                    _w != null &&
                    _w.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsMagicImmune() &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_w.Name) &&
                    Utils.SleepCheck("W")
                    )
                {
                    _w.UseAbility(E.Position);
                    Utils.Sleep(200, "W");
                }                 // W Skill end

                if (              // sheep
                    _sheep != null &&
                    _sheep.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsLinkensProtected() &&
                    !E.IsMagicImmune() &&
                    Me.Distance2D(E) <= 1400 &&
                    !stoneModif &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_sheep.Name) &&
                    Utils.SleepCheck("sheep")
                    )
                {
                    _sheep.UseAbility(E);
                    Utils.Sleep(250, "sheep");
                }                 // sheep Item end
                if (              // Abyssal Blade
                    _abyssal != null &&
                    _abyssal.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsStunned() &&
                    !E.IsHexed() &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_abyssal.Name) &&
                    Utils.SleepCheck("abyssal") &&
                    Me.Distance2D(E) <= 400
                    )
                {
                    _abyssal.UseAbility(E);
                    Utils.Sleep(250, "abyssal");
                }                 // Abyssal Item end
                if (_orchid != null && _orchid.CanBeCasted() && Me.Distance2D(E) <= 900 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_orchid.Name) &&
                    Utils.SleepCheck("orchid"))
                {
                    _orchid.UseAbility(E);
                    Utils.Sleep(100, "orchid");
                }

                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
                    _ethereal != null &&
                    _ethereal.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsLinkensProtected() &&
                    !E.IsMagicImmune() &&
                    !stoneModif &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_ethereal.Name) &&
                    Utils.SleepCheck("ethereal")
                    )
                {
                    _ethereal.UseAbility(E);
                    Utils.Sleep(200, "ethereal");
                }                 // ethereal Item end
                if (
                    _blink != null &&
                    Me.CanCast() &&
                    _blink.CanBeCasted() &&
                    Me.Distance2D(E) >= 450 &&
                    Me.Distance2D(E) <= 1150 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_blink.Name) &&
                    Utils.SleepCheck("blink")
                    )
                {
                    _blink.UseAbility(E.Position);
                    Utils.Sleep(250, "blink");
                }

                if (                 // SoulRing Item
                    _soul != null &&
                    _soul.CanBeCasted() &&
                    Me.CanCast() &&
                    Me.Health >= (Me.MaximumHealth * 0.5) &&
                    Me.Mana <= _r.ManaCost &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_soul.Name)
                    )
                {
                    _soul.UseAbility();
                }                 // SoulRing Item end
                if (              // Dagon
                    Me.CanCast() &&
                    _dagon != null &&
                    (_ethereal == null ||
                     (E.HasModifier("modifier_item_ethereal_blade_slow") ||
                      _ethereal.Cooldown < 17)) &&
                    !E.IsLinkensProtected() &&
                    _dagon.CanBeCasted() &&
                    !E.IsMagicImmune() &&
                    !stoneModif &&
                    Utils.SleepCheck("dagon")
                    )
                {
                    _dagon.UseAbility(E);
                    Utils.Sleep(200, "dagon");
                }                 // Dagon Item end
                if (              // atos Blade
                    _atos != null &&
                    _atos.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsLinkensProtected() &&
                    !E.IsMagicImmune() &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_atos.Name) &&
                    Me.Distance2D(E) <= 2000 &&
                    Utils.SleepCheck("atos")
                    )
                {
                    _atos.UseAbility(E);

                    Utils.Sleep(250, "atos");
                }                 // atos 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 (                 // vail
                    _vail != null &&
                    _vail.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsMagicImmune() &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_vail.Name) &&
                    Me.Distance2D(E) <= 1500 &&
                    Utils.SleepCheck("vail")
                    )
                {
                    _vail.UseAbility(E.Position);
                    Utils.Sleep(250, "vail");
                }                 // orchid Item end

                if (
                    _stick != null &&
                    _stick.CanBeCasted() &&
                    _stick.CurrentCharges != 0 &&
                    Me.Distance2D(E) <= 700 &&
                    (Me.Health <= (Me.MaximumHealth * 0.5) ||
                     Me.Mana <= (Me.MaximumMana * 0.5)) &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_stick.Name))
                {
                    _stick.UseAbility();
                    Utils.Sleep(200, "mana_items");
                }
                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");
                }
            }
        }
Beispiel #10
0
        public void Combo()
        {
            Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key);

            if (Menu.Item("keyW").GetValue <KeyBind>().Active)
            {
                var HealingWard = ObjectManager.GetEntities <Unit>().Where(x => (x.ClassId == ClassId.CDOTA_BaseNPC_Additive) &&
                                                                           x.IsAlive && x.IsControllable && x.Team == me.Team).ToList();
                if (HealingWard.Count >= 1)
                {
                    for (int i = 0; i < HealingWard.Count(); ++i)
                    {
                        if (me.Position.Distance2D(HealingWard[i].Position) > 5 && Utils.SleepCheck(HealingWard[i].Handle.ToString()))
                        {
                            HealingWard[i].Move(me.Predict(310));
                            Utils.Sleep(50, HealingWard[i].Handle.ToString());
                        }
                    }
                }
            }
            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");
            medall   = me.FindItem("item_medallion_of_courage") ?? me.FindItem("item_solar_crest");
            Shiva    = me.FindItem("item_shivas_guard");
            manta    = me.FindItem("item_manta");
            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 && me.Distance2D(e) <= 1400 && me.HasModifier("modifier_juggernaut_blade_fury") && Utils.SleepCheck("move"))
            {
                me.Move(Prediction.InFront(e, 170));
                Utils.Sleep(150, "move");
            }
            if (Active && me.Distance2D(e) <= 1400)
            {
                if (Menu.Item("orbwalk").GetValue <bool>() && !me.HasModifier("modifier_juggernaut_blade_fury"))
                {
                    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 ((manta != null &&
                     Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(manta.Name)) &&
                    manta.CanBeCasted() && me.IsSilenced() && Utils.SleepCheck("manta"))
                {
                    manta.UseAbility();
                    Utils.Sleep(400, "manta");
                }
                if ((manta != null && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(manta.Name)) &&
                    manta.CanBeCasted() && (e.Position.Distance2D(me.Position) <= me.GetAttackRange() + me.HullRadius) &&
                    Utils.SleepCheck("manta"))
                {
                    manta.UseAbility();
                    Utils.Sleep(150, "manta");
                }
                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 != null && orchid.CanBeCasted() && me.Distance2D(e) <= 900 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(orchid.Name) && Utils.SleepCheck("orchid"))
                {
                    orchid.UseAbility(e);
                    Utils.Sleep(100, "orchid");
                }

                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 (R != null && R.CanBeCasted() && me.Distance2D(e) <= 600 && Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(R.Name))
                {
                    var creep = ObjectManager.GetEntities <Creep>().Where(x => x.IsAlive && x.Team != me.Team && x.IsSpawned).ToList();

                    for (int i = 0; i < creep.Count(); i++)
                    {
                        if (creep.Count(x => x.Distance2D(me) <= Menu.Item("Heel").GetValue <Slider>().Value) <=
                            (Menu.Item("Healh").GetValue <Slider>().Value) &&
                            Utils.SleepCheck("R")
                            )
                        {
                            R.UseAbility(e);
                            Utils.Sleep(200, "R");
                        }
                    }
                    if (creep == null)
                    {
                        if (
                            Utils.SleepCheck("R")
                            )
                        {
                            R.UseAbility(e);
                            Utils.Sleep(200, "R");
                        }
                    }
                }
                if (
                    W != null && W.CanBeCasted() && me.Distance2D(e) <= e.AttackRange + e.HullRadius + 24 &&
                    me.Health <= (me.MaximumHealth * 0.4) &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(W.Name) &&
                    Utils.SleepCheck("W")
                    )
                {
                    W.UseAbility(me.Position);
                    Utils.Sleep(200, "W");
                }
                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");
                }
            }
        }
Beispiel #11
0
        public void Combo()
        {
            me = ObjectManager.LocalHero;

            if (!Menu.Item("enabled").IsActive())
            {
                return;
            }
            Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key);
            e      = Toolset.ClosestToMouse(me);
            if (e == null)
            {
                return;
            }

            Q        = me.Spellbook.SpellQ;
            W        = me.Spellbook.SpellW;
            R        = me.Spellbook.SpellR;
            Shiva    = me.FindItem("item_shivas_guard");
            mom      = me.FindItem("item_mask_of_madness");
            diff     = me.FindItem("item_diffusal_blade") ?? me.FindItem("item_diffusal_blade_2");
            urn      = me.FindItem("item_urn_of_shadows");
            dagon    = me.Inventory.Items.FirstOrDefault(item => item.Name.Contains("item_dagon"));
            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");

            var stoneModif = e.HasModifier("modifier_medusa_stone_gaze_stone");

            var v =
                ObjectManager.GetEntities <Hero>()
                .Where(x => x.Team != me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion && !x.IsMagicImmune())
                .ToList();

            if (R.IsInAbilityPhase || me.HasModifier("modifier_riki_tricks_of_the_trade_phase"))
            {
                return;
            }
            if (Active && e.IsAlive)
            {
                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() || me.IsVisibleToEnemies || e.Health <= (e.MaximumHealth * 0.7)))
            {
                if (stoneModif)
                {
                    return;
                }
                if (
                    Q != null &&
                    Q.CanBeCasted() &&
                    me.Distance2D(e) <= 300 &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(Q.Name) &&
                    Utils.SleepCheck("Q")
                    )
                {
                    Q.UseAbility(Prediction.InFront(e, 80));
                    Utils.Sleep(200, "Q");
                }
                if (
                    W != null && W.CanBeCasted() &&
                    me.Distance2D(e) <= W.GetCastRange() &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(W.Name) &&
                    Utils.SleepCheck("W")
                    )
                {
                    W.UseAbility(e);
                    Utils.Sleep(200, "W");
                }
                if (
                    blink != null &&
                    me.CanCast() &&
                    blink.CanBeCasted() &&
                    me.Distance2D(e) < 1180 &&
                    me.Distance2D(e) > 300 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(blink.Name) &&
                    Utils.SleepCheck("blink")
                    )
                {
                    blink.UseAbility(e.Position);
                    Utils.Sleep(250, "blink");
                }

                if (         // Abyssal Blade
                    abyssal != null &&
                    abyssal.CanBeCasted() &&
                    me.CanCast() &&
                    !e.IsStunned() &&
                    !e.IsHexed() &&
                    Utils.SleepCheck("abyssal") &&
                    me.Distance2D(e) <= 400
                    )
                {
                    abyssal.UseAbility(e);
                    Utils.Sleep(250, "abyssal");
                }                 // Abyssal Item end
                if (diff != null &&
                    diff.CanBeCasted() &&
                    diff.CurrentCharges > 0 &&
                    me.Distance2D(e) <= 400 &&
                    !e.HasModifier("modifier_item_diffusal_blade_slow") &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(diff.Name) &&
                    Utils.SleepCheck("diff"))
                {
                    diff.UseAbility(e);
                    Utils.Sleep(4000, "diff");
                }
                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 (      // 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 (orchid != null && orchid.CanBeCasted() && me.Distance2D(e) <= 300 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(orchid.Name) && Utils.SleepCheck("orchid"))
                {
                    orchid.UseAbility(e);
                    Utils.Sleep(100, "orchid");
                }

                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 (         // Dagon
                    me.CanCast() &&
                    dagon != null &&
                    !e.IsLinkensProtected() &&
                    dagon.CanBeCasted() &&
                    !e.IsMagicImmune() &&
                    !stoneModif &&
                    Utils.SleepCheck("dagon")
                    )
                {
                    dagon.UseAbility(e);
                    Utils.Sleep(200, "dagon");
                }         // Dagon 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 (         // 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)) ||
                     me.HasModifier("modifier_skywrath_mystic_flare_aura_effect")) &&
                    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)) ||
                                                         me.HasModifier("modifier_skywrath_mystic_flare_aura_effect")) &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(bkb.Name) && Utils.SleepCheck("bkb"))
                {
                    bkb.UseAbility();
                    Utils.Sleep(100, "bkb");
                }
                if (R != null && R.CanBeCasted() &&
                    (v.Count(x => x.Distance2D(me) <= 500)
                     >= (Menu.Item("Ult").GetValue <Slider>().Value)) &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(R.Name) &&
                    Utils.SleepCheck("R"))
                {
                    R.UseAbility();
                    Utils.Sleep(100, "R");
                }
            }
        }
Beispiel #12
0
        public void Combo()
        {
            if (!Menu.Item("enabled").IsActive())
            {
                return;
            }
            //spell
            Q      = me.Spellbook.SpellQ;
            W      = me.Spellbook.SpellW;
            E      = me.Spellbook.SpellE;
            R      = me.Spellbook.SpellR;
            Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key);
            var s = ObjectManager.GetEntities <Hero>()
                    .Where(x => x.IsVisible && x.IsAlive && x.Team != me.Team && !x.IsIllusion && x.Distance2D(me) <= 1500).ToList();

            if (Active)
            {
                e = Toolset.ClosestToMouse(me);
                if (e == null)
                {
                    return;
                }
                if (e.IsAlive && !e.IsInvul())
                {
                    if (me.IsAlive && me.Distance2D(e) <= 1900)
                    {
                        // item
                        satanic  = me.FindItem("item_satanic");
                        shiva    = me.FindItem("item_shivas_guard");
                        dagon    = me.Inventory.Items.FirstOrDefault(item => item.Name.Contains("item_dagon"));
                        arcane   = me.FindItem("item_arcane_boots");
                        mom      = me.FindItem("item_mask_of_madness");
                        medall   = me.FindItem("item_medallion_of_courage") ?? me.FindItem("item_solar_crest");
                        ethereal = me.FindItem("item_ethereal_blade");
                        blink    = me.FindItem("item_blink");
                        soulring = me.FindItem("item_soul_ring");
                        cheese   = me.FindItem("item_cheese");
                        halberd  = me.FindItem("item_heavens_halberd");
                        abyssal  = me.FindItem("item_abyssal_blade");
                        mjollnir = me.FindItem("item_mjollnir");
                        manta    = me.FindItem("item_manta");
                        mail     = me.FindItem("item_blade_mail");
                        orchid   = me.FindItem("item_orchid") ?? me.FindItem("item_bloodthorn");
                        bkb      = me.FindItem("item_black_king_bar");
                        phase    = me.FindItem("item_phase_boots");
                        sheep    = e.ClassID == ClassID.CDOTA_Unit_Hero_Tidehunter ? null : me.FindItem("item_sheepstick");
                        var linkens = e.IsLinkensProtected();

                        if (
                            (R.CanBeCasted() ||
                             me.Health >= (me.MaximumHealth * 0.4)) &&
                            blink.CanBeCasted() &&
                            me.Position.Distance2D(e) > 300 &&
                            me.Position.Distance2D(e) < 1180 &&
                            Utils.SleepCheck("blink"))
                        {
                            blink.UseAbility(e.Position);
                            Utils.Sleep(250, "blink");
                        }
                        if (
                            Q.CanBeCasted() &&
                            ((dagon != null && !dagon.CanBeCasted()) ||
                             (R.CanBeCasted() &&
                              me.Health >= (me.MaximumHealth * 0.3)) ||
                             (!R.CanBeCasted() && me.Health <= (me.MaximumHealth * 0.3))) &&
                            Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(Q.Name) &&
                            me.Position.Distance2D(e) < Q.GetCastRange() &&
                            Utils.SleepCheck("Q"))
                        {
                            Q.UseAbility();
                            Utils.Sleep(150, "Q");
                        }
                        if (E.CanBeCasted() &&
                            !Q.CanBeCasted() &&
                            Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(E.Name) &&
                            me.Position.Distance2D(e) < me.GetAttackRange() &&
                            Utils.SleepCheck("E"))
                        {
                            E.UseAbility();
                            Utils.Sleep(150, "E");
                        }
                        if (W.CanBeCasted() &&
                            !Q.CanBeCasted() &&
                            (E == null || !E.CanBeCasted() || !Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(E.Name)) &&
                            Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(W.Name) &&
                            me.Position.Distance2D(e) < me.GetAttackRange() &&
                            Utils.SleepCheck("W"))
                        {
                            W.UseAbility();
                            Utils.Sleep(150, "W");
                        }
                        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
                        var stoneModif = e.HasModifier("modifier_medusa_stone_gaze_stone");
                        if (phase != null &&
                            phase.CanBeCasted() &&
                            Utils.SleepCheck("phase") &&
                            Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(phase.Name) &&
                            !blink.CanBeCasted() &&
                            me.Distance2D(e) >= me.GetAttackRange() + 20)
                        {
                            phase.UseAbility();
                            Utils.Sleep(200, "phase");
                        }
                        if (                         // Dagon
                            dagon != null &&
                            (e.Health <= (e.MaximumHealth * 0.4) ||
                             !R.CanBeCasted()) &&
                            dagon.CanBeCasted() &&
                            me.CanCast() &&
                            Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled("item_dagon") &&
                            !e.IsMagicImmune() &&
                            Utils.SleepCheck("dagon"))
                        {
                            dagon.UseAbility(e);
                            Utils.Sleep(150, "dagon");
                        }                         // Dagon Item end
                        if ((manta != null && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(manta.Name)) &&
                            manta.CanBeCasted() && me.IsSilenced() && Utils.SleepCheck("manta"))
                        {
                            manta.UseAbility();
                            Utils.Sleep(400, "manta");
                        }
                        if ((manta != null && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(manta.Name)) &&
                            manta.CanBeCasted() && (e.Position.Distance2D(me.Position) <= me.GetAttackRange() + me.HullRadius) &&
                            (E == null || !E.CanBeCasted() || !Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(E.Name)) &&
                            Utils.SleepCheck("manta"))
                        {
                            manta.UseAbility();
                            Utils.Sleep(150, "manta");
                        }
                        if (                         // orchid
                            orchid != null &&
                            orchid.CanBeCasted() &&
                            me.CanCast() &&
                            !e.IsLinkensProtected() &&
                            !e.IsMagicImmune() &&
                            me.Distance2D(e) <= me.GetAttackRange() &&
                            Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(orchid.Name) &&
                            !stoneModif &&
                            Utils.SleepCheck("orchid")
                            )
                        {
                            orchid.UseAbility(e);
                            Utils.Sleep(250, "orchid");
                        }                         // orchid Item end
                        if (ethereal != null &&
                            ethereal.CanBeCasted() &&
                            me.Distance2D(e) <= 700 &&
                            me.Distance2D(e) <= 400 &&
                            Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(ethereal.Name) &&
                            Utils.SleepCheck("ethereal"))
                        {
                            ethereal.UseAbility(e);
                            Utils.Sleep(100, "ethereal");
                        }
                        var q  = (Q != null && Q.Cooldown <= 0 && Q.ManaCost < me.Mana);
                        var w  = (W != null && W.Cooldown <= 0 && W.ManaCost < me.Mana);
                        var _e = (E != null && E.Cooldown <= 0 && E.ManaCost < me.Mana);
                        var r  = (R != null && R.Cooldown <= 0 && R.ManaCost < me.Mana && R.Level <= 2);
                        var d  = (dagon != null && dagon.Cooldown <= 0 && dagon.ManaCost < me.Mana);


                        if (                         // SoulRing Item
                            soulring != null &&
                            me.Health >= (me.MaximumHealth * 0.3) &&
                            (q || w || _e || d) &&
                            soulring.CanBeCasted() &&
                            Utils.SleepCheck("soulring"))
                        {
                            soulring.UseAbility();
                            Utils.Sleep(150, "soulring");
                        }                         // SoulRing Item end

                        if (                      // Arcane Boots Item
                            arcane != null &&
                            (q || w || _e || d) &&
                            arcane.CanBeCasted() &&
                            Utils.SleepCheck("arcane"))
                        {
                            arcane.UseAbility();
                            Utils.Sleep(150, "arcane");
                        }                         // Arcane Boots Item end

                        if (                      // Shiva Item
                            shiva != null &&
                            shiva.CanBeCasted() &&
                            me.CanCast() &&
                            Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(shiva.Name) &&
                            !e.IsMagicImmune() &&
                            (shiva.CanBeCasted() &&
                             Utils.SleepCheck("shiva") &&
                             me.Distance2D(e) <= 600)
                            )
                        {
                            shiva.UseAbility();
                            Utils.Sleep(250, "shiva");
                        }                         // Shiva Item end
                        if (mail != null && mail.CanBeCasted() && (s.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 (                         // Medall
                            medall != null &&
                            medall.CanBeCasted() &&
                            me.CanCast() &&
                            !e.IsMagicImmune() &&
                            Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(medall.Name) &&
                            Utils.SleepCheck("Medall") &&
                            me.Distance2D(e) <= me.GetAttackRange() + me.HullRadius
                            )
                        {
                            medall.UseAbility(e);
                            Utils.Sleep(250, "Medall");
                        }                         // Medall Item end

                        if (                      // MOM
                            mom != null &&
                            mom.CanBeCasted() &&
                            me.CanCast() &&
                            Utils.SleepCheck("mom") &&
                            Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(mom.Name) &&
                            me.Distance2D(e) <= me.GetAttackRange() + me.HullRadius
                            )
                        {
                            mom.UseAbility();
                            Utils.Sleep(250, "mom");
                        }                         // MOM Item end

                        if (                      // Abyssal Blade
                            abyssal != null &&
                            abyssal.CanBeCasted() &&
                            me.CanCast() &&
                            !linkens &&
                            Utils.SleepCheck("abyssal") &&
                            Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(abyssal.Name) &&
                            me.Distance2D(e) <= 400
                            )
                        {
                            abyssal.UseAbility(e);
                            Utils.Sleep(250, "abyssal");
                        }                         // Abyssal Item end

                        if (                      // Hellbard
                            halberd != null &&
                            halberd.CanBeCasted() &&
                            me.CanCast() &&
                            Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(halberd.Name) &&
                            !e.IsMagicImmune() &&
                            Utils.SleepCheck("halberd") &&
                            me.Distance2D(e) <= 700
                            )
                        {
                            halberd.UseAbility(e);
                            Utils.Sleep(250, "halberd");
                        }                         // Hellbard Item end

                        if (                      // Mjollnir
                            mjollnir != null &&
                            mjollnir.CanBeCasted() &&
                            me.CanCast() &&
                            !e.IsMagicImmune() &&
                            Utils.SleepCheck("mjollnir") &&
                            Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(mjollnir.Name) &&
                            me.Distance2D(e) <= 900
                            )
                        {
                            mjollnir.UseAbility(me);
                            Utils.Sleep(250, "mjollnir");
                        }                         // Mjollnir Item end

                        if (                      // Satanic
                            satanic != null &&
                            me.Health <= (me.MaximumHealth * 0.4) &&
                            (!R.CanBeCasted() || me.IsSilenced() ||
                             e.Health <= (e.MaximumHealth * 0.4)) &&
                            satanic.CanBeCasted() &&
                            me.Distance2D(e) <= me.GetAttackRange() + me.HullRadius &&
                            Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(satanic.Name) &&
                            Utils.SleepCheck("Satanic")
                            )
                        {
                            satanic.UseAbility();
                            Utils.Sleep(350, "Satanic");
                        }                         // Satanic Item end
                        if (                      // cheese
                            cheese != null &&
                            cheese.CanBeCasted() &&
                            me.Health <= (me.MaximumHealth * 0.3) &&
                            (!R.CanBeCasted() ||
                             !Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(R.Name)) &&
                            me.Distance2D(e) <= me.GetAttackRange() + me.HullRadius &&
                            Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(cheese.Name) &&
                            Utils.SleepCheck("cheese")
                            )
                        {
                            cheese.UseAbility();
                            Utils.Sleep(200, "cheese");
                        }                         // cheese Item end
                        if (bkb != null && bkb.CanBeCasted() && (s.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("orbwalk").GetValue <bool>() && me.Distance2D(e) <= 1900)
                        {
                            Orbwalking.Orbwalk(e, 0, 1600, true, true);
                        }
                    }
                    var illu = ObjectManager.GetEntities <Unit>().Where(x => (x.ClassID == ClassID.CDOTA_Unit_Hero_Terrorblade && x.IsIllusion) &&
                                                                        x.IsAlive && x.IsControllable).ToList();
                    if (illu.Count > 0)
                    {
                        foreach (var v in illu)
                        {
                            if (
                                v.Distance2D(e) <= v.GetAttackRange() + v.HullRadius + 24 && !e.IsAttackImmune() &&
                                v.NetworkActivity != NetworkActivity.Attack && v.CanAttack() && Utils.SleepCheck(v.Handle.ToString())
                                )
                            {
                                v.Attack(e);
                                Utils.Sleep(270, v.Handle.ToString());
                            }
                            if (
                                (!v.CanAttack() || v.Distance2D(e) >= 0) && !v.IsAttacking() &&
                                v.NetworkActivity != NetworkActivity.Attack &&
                                v.Distance2D(e) <= 1200 && Utils.SleepCheck(v.Handle.ToString())
                                )
                            {
                                v.Move(e.Predict(400));
                                Utils.Sleep(400, v.Handle.ToString());
                            }
                        }
                    }
                }
            }
            if (Menu.Item("ult").GetValue <bool>())
            {
                if (me == null || !me.IsAlive)
                {
                    return;
                }
                if (R == null || !R.CanBeCasted())
                {
                    return;
                }
                var ult = ObjectManager.GetEntities <Hero>()
                          .Where(x => x.IsVisible &&
                                 x.IsAlive &&
                                 x.IsValid &&
                                 x.Team != me.Team &&
                                 !x.IsIllusion &&
                                 x.Distance2D(me) <= R.GetCastRange() + me.HullRadius + 24).ToList().OrderBy(x => ((double)x.MaximumHealth / x.Health)).FirstOrDefault();

                var illu = ObjectManager.GetEntities <Hero>()
                           .Where(x => x.IsVisible &&
                                  x.IsAlive &&
                                  x.IsValid &&
                                  x.IsIllusion &&
                                  x.Distance2D(me) <= R.GetCastRange() + me.HullRadius + 24).ToList().OrderBy(x => ((double)x.MaximumHealth / x.Health)).FirstOrDefault();

                var ally = ObjectManager.GetEntities <Hero>()
                           .Where(x =>
                                  x.IsVisible &&
                                  x.IsAlive &&
                                  x.IsValid &&
                                  x.Team == me.Team &&
                                  !x.IsIllusion &&
                                  x.Distance2D(me) <= R.GetCastRange() + me.HullRadius + 24).ToList().OrderBy(x => ((double)x.MaximumHealth / x.Health)).FirstOrDefault();

                if (ult != null && Menu.Item("ultEnem").GetValue <bool>())
                {
                    var linkens = ult.IsLinkensProtected();
                    if (!linkens &&
                        Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(R.Name) &&
                        ult.Health > (ult.MaximumHealth / 100 * Menu.Item("heal").GetValue <Slider>().Value) &&
                        me.Health < (me.MaximumHealth / 100 * Menu.Item("healme").GetValue <Slider>().Value) && Utils.SleepCheck("R"))
                    {
                        R.UseAbility(ult);
                        Utils.Sleep(500, "R");
                    }
                }
                if (ult == null || ult.Health < (ult.MaximumHealth / 100 * Menu.Item("heal").GetValue <Slider>().Value))
                {
                    if (illu != null && Menu.Item("ultIllu").GetValue <bool>())
                    {
                        if (Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(R.Name) &&
                            illu.Health > (illu.MaximumHealth / 100 * Menu.Item("heal").GetValue <Slider>().Value) &&
                            me.Health < (me.MaximumHealth / 100 * Menu.Item("healme").GetValue <Slider>().Value) && Utils.SleepCheck("R"))
                        {
                            R.UseAbility(illu);
                            Utils.Sleep(500, "R");
                        }
                    }
                }
                if (ult == null || ult.Health < (ult.MaximumHealth / 100 * Menu.Item("heal").GetValue <Slider>().Value) || illu == null || illu.Health < (illu.MaximumHealth / 100 * Menu.Item("heal").GetValue <Slider>().Value))
                {
                    if (ally != null && Menu.Item("ultAlly").GetValue <bool>())
                    {
                        if (Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(R.Name) &&
                            ally.Health > (ally.MaximumHealth / 100 * Menu.Item("heal").GetValue <Slider>().Value) &&
                            me.Health < (me.MaximumHealth / 100 * Menu.Item("healme").GetValue <Slider>().Value) && Utils.SleepCheck("R"))
                        {
                            R.UseAbility(ally);
                            Utils.Sleep(500, "R");
                        }
                    }
                }
            }
        }
Beispiel #13
0
        public void Combo()
        {
            if (!Menu.Item("enabled").IsActive())
            {
                return;
            }
            Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key) && !Game.IsChatOpen;

            _q        = Me.Spellbook.SpellQ;
            _w        = Me.Spellbook.SpellW;
            _r        = Me.FindSpell("ursa_enrage");
            _shiva    = Me.FindItem("item_shivas_guard");
            _mom      = Me.FindItem("item_mask_of_madness");
            _urn      = Me.FindItem("item_urn_of_shadows");
            _dagon    = Me.Inventory.Items.FirstOrDefault(item => item.Name.Contains("item_dagon"));
            _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");
            E         = Toolset.ClosestToMouse(Me);
            if (E == null)
            {
                return;
            }

            _sheep = E.ClassId == ClassId.CDOTA_Unit_Hero_Tidehunter ? null : Me.FindItem("item_sheepstick");
            var stoneModif = E.HasModifier("modifier_medusa_stone_gaze_stone");


            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 && Me.Distance2D(E) <= 1700 && E != null && E.IsAlive)
            {
                if (Menu.Item("orbwalk").GetValue <bool>() && Me.Distance2D(E) <= 1900)
                {
                    Orbwalking.Orbwalk(E, 0, 1600, true, true);
                }
                //var Wmod = Me.Modifiers.FirstOrDefault(y => y.Name == "modifier_ursa_overpower");
                //if (Wmod.StackCount == 0)
            }
            if (Active && Me.Distance2D(E) <= 1400 && E != null && E.IsAlive && !modifInv)
            {
                if (
                    _q != null && _q.CanBeCasted() && Me.Distance2D(E) <= 200 &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_q.Name) &&
                    Utils.SleepCheck("Q")
                    )
                {
                    _q.UseAbility();
                    Utils.Sleep(200, "Q");
                }
                if (
                    _w != null && _w.CanBeCasted() && Me.Distance2D(E) <= 1700 &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_w.Name) &&
                    !Me.HasModifier("modifier_ursa_overpower") &&
                    Utils.SleepCheck("W")
                    )
                {
                    _w.UseAbility();
                    Utils.Sleep(200, "W");
                }
                if (
                    _r != null && _r.CanBeCasted() && Me.Distance2D(E) <= 200 &&
                    Me.HasModifier("modifier_ursa_overpower") &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_r.Name) &&
                    Utils.SleepCheck("R")
                    )
                {
                    _r.UseAbility();
                    Utils.Sleep(200, "R");
                }
                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 (
                    _blink != null &&
                    Me.CanCast() &&
                    _blink.CanBeCasted() &&
                    Me.Distance2D(E) < 1180 &&
                    Me.Distance2D(E) > 300 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_blink.Name) &&
                    Utils.SleepCheck("blink")
                    )
                {
                    _blink.UseAbility(E.Position);
                    Utils.Sleep(250, "blink");
                }

                if (                 // Abyssal Blade
                    _abyssal != null &&
                    _abyssal.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsStunned() &&
                    !E.IsHexed() &&
                    Utils.SleepCheck("abyssal") &&
                    Me.Distance2D(E) <= 400
                    )
                {
                    _abyssal.UseAbility(E);
                    Utils.Sleep(250, "abyssal");
                }                 // Abyssal Item end
                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 (              // 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 (_orchid != null && _orchid.CanBeCasted() && Me.Distance2D(E) <= 900 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_orchid.Name) && Utils.SleepCheck("orchid"))
                {
                    _orchid.UseAbility(E);
                    Utils.Sleep(100, "orchid");
                }

                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 (                 // Dagon
                    Me.CanCast() &&
                    _dagon != null &&
                    !E.IsLinkensProtected() &&
                    _dagon.CanBeCasted() &&
                    !E.IsMagicImmune() &&
                    !stoneModif &&
                    Utils.SleepCheck("dagon")
                    )
                {
                    _dagon.UseAbility(E);
                    Utils.Sleep(200, "dagon");
                }                 // Dagon 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 (                 // 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("logic").IsActive())
                {
                    if (_mail != null && _mail.CanBeCasted() && Toolset.HasStun(E) && !E.IsStunned() &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_mail.Name) && Utils.SleepCheck("mail"))
                    {
                        _mail.UseAbility();
                        Utils.Sleep(100, "mail");
                    }
                    if (_bkb != null && _bkb.CanBeCasted() && Toolset.HasStun(E) && !E.IsStunned() &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_bkb.Name) && Utils.SleepCheck("bkb"))
                    {
                        _bkb.UseAbility();
                        Utils.Sleep(100, "bkb");
                    }
                }
            }
        }
Beispiel #14
0
        public void Combo()
        {
            e = Toolset.ClosestToMouse(me);
            if (e == null)
            {
                return;
            }
            if (!Menu.Item("enabled").IsActive())
            {
                return;
            }
            //spell
            Q = me.Spellbook.SpellQ;

            W = me.Spellbook.SpellW;

            R = me.Spellbook.SpellR;

            // Item
            ethereal = me.FindItem("item_ethereal_blade");

            sheep = e.ClassID == ClassID.CDOTA_Unit_Hero_Tidehunter ? null : me.FindItem("item_sheepstick");

            vail = me.FindItem("item_veil_of_discord");

            cheese = me.FindItem("item_cheese");

            ghost = me.FindItem("item_ghost");

            orchid = me.FindItem("item_orchid") ?? me.FindItem("item_bloodthorn");

            atos = me.FindItem("item_rod_of_atos");

            soul = me.FindItem("item_soul_ring");

            arcane = me.FindItem("item_arcane_boots");

            blink = me.FindItem("item_blink");

            shiva = me.FindItem("item_shivas_guard");

            dagon = me.Inventory.Items.FirstOrDefault(item => item.Name.Contains("item_dagon"));

            force = me.FindItem("item_force_staff");

            cyclone = me.FindItem("item_cyclone");

            orchid = me.FindItem("item_orchid") ?? me.FindItem("item_bloodthorn");

            atos = me.FindItem("item_rod_of_atos");
            //me.Inventory.Items.FirstOrDefault(item => item.Name.Contains("item_dagon"));


            Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key) && !Game.IsChatOpen;
            var modifHex = e.Modifiers.Where(y => y.Name == "modifier_sheepstick_debuff")
                           .DefaultIfEmpty(null)
                           .FirstOrDefault();
            var modifEther  = e.HasModifier("modifier_item_ethereal_blade_slow");
            var stoneModif  = e.HasModifier("modifier_medusa_stone_gaze_stone");
            var eulModifier = e.Modifiers.Where(y => y.Name == "modifier_eul_cyclone").DefaultIfEmpty(null).FirstOrDefault();

            var eulModif = e.HasModifier("modifier_eul_cyclone");
            var noBlade  = e.HasModifier("modifier_item_blade_mail_reflect");

            if (me.IsAlive)
            {
                if (Active && e.IsVisible && me.Distance2D(e) <= 2300 && !noBlade)
                {
                    if (Menu.Item("orbwalk").GetValue <bool>() && me.Distance2D(e) <= 1900 && !eulModif)
                    {
                        Orbwalking.Orbwalk(e, 0, 1600, true, true);
                    }
                    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 &&
                        me.CanCast() &&
                        blink.CanBeCasted() &&
                        me.Distance2D(e) >= me.GetAttackRange() + me.HullRadius &&
                        me.Distance2D(pos) <= 1180 &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(blink.Name) &&
                        Utils.SleepCheck("blink")
                        )
                    {
                        blink.UseAbility(pos);
                        Utils.Sleep(250, "blink");
                    }
                    if (
                        cyclone != null &&
                        cyclone.CanBeCasted() &&
                        me.Distance2D(e) <= 1100 &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(cyclone.Name) &&
                        W.CanBeCasted() &&
                        Utils.SleepCheck("cyclone"))
                    {
                        cyclone.UseAbility(e);
                        Utils.Sleep(300, "cyclone");
                    }

                    Vector3 start = e.NetworkActivity == NetworkActivity.Move ? new Vector3((float)((W.GetCastDelay(me, e, true) + 0.5) * Math.Cos(e.RotationRad) * e.MovementSpeed + e.Position.X),
                                                                                            (float)((W.GetCastDelay(me, e, true) + 0.5) * Math.Sin(e.RotationRad) * e.MovementSpeed + e.NetworkPosition.Y), e.NetworkPosition.Z) : e.NetworkPosition;
                    if (W != null && W.CanBeCasted() &&
                        me.Distance2D(start) <= W.GetCastRange() + me.HullRadius

                        && Utils.SleepCheck("w") &&
                        (eulModifier != null && eulModifier.RemainingTime <= W.GetCastDelay(me, e, true) + 0.5 ||
                         modifHex != null && modifHex.RemainingTime <= W.GetCastDelay(me, e, true) + 0.5 ||
                         (sheep == null || !Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(sheep.Name) || sheep.Cooldown > 0) &&
                         (cyclone == null || !Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(cyclone.Name) || cyclone.Cooldown < 20 && cyclone.Cooldown > 0)))
                    {
                        W.UseAbility(start);
                        Utils.Sleep(150, "w");
                    }
                    if (cyclone == null || !cyclone.CanBeCasted() || !W.CanBeCasted() ||
                        !Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(cyclone.Name))
                    {
                        if (eulModif)
                        {
                            return;
                        }

                        if (                         // sheep
                            sheep != null &&
                            sheep.CanBeCasted() &&
                            me.CanCast() &&
                            !e.IsLinkensProtected() &&
                            !e.IsMagicImmune() &&
                            me.Distance2D(e) <= 1400 &&
                            !stoneModif &&
                            Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(sheep.Name) &&
                            Utils.SleepCheck("sheep")
                            )
                        {
                            sheep.UseAbility(e);
                            Utils.Sleep(250, "sheep");
                        }                         // sheep Item end
                        if (                      // atos Blade
                            atos != null &&
                            atos.CanBeCasted() &&
                            me.CanCast() &&
                            !e.IsLinkensProtected() &&
                            !e.IsMagicImmune() &&
                            Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(atos.Name) &&
                            me.Distance2D(e) <= 2000 &&
                            Utils.SleepCheck("atos")
                            )
                        {
                            atos.UseAbility(e);

                            Utils.Sleep(250, "atos");
                        }                         // atos Item end

                        if (                      // orchid
                            orchid != null &&
                            orchid.CanBeCasted() &&
                            me.CanCast() &&
                            !e.IsLinkensProtected() &&
                            !e.IsMagicImmune() &&
                            me.Distance2D(e) <= 1400 &&
                            Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(orchid.Name) &&
                            !stoneModif &&
                            Utils.SleepCheck("orchid")
                            )
                        {
                            orchid.UseAbility(e);
                            Utils.Sleep(250, "orchid");
                        }                         // orchid Item end
                        if (!orchid.CanBeCasted() || orchid == null ||
                            !Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(orchid.Name))
                        {
                            if (                             // vail
                                vail != null &&
                                vail.CanBeCasted() &&
                                me.CanCast() &&
                                !e.IsMagicImmune() &&
                                Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(vail.Name) &&
                                me.Distance2D(e) <= 1500 &&
                                Utils.SleepCheck("vail")
                                )
                            {
                                vail.UseAbility(e.Position);
                                Utils.Sleep(250, "vail");
                            }                             // orchid Item end
                            if (!vail.CanBeCasted() || vail == null ||
                                !Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(vail.Name))
                            {
                                if (                                 // ethereal
                                    ethereal != null &&
                                    ethereal.CanBeCasted() &&
                                    me.CanCast() &&
                                    !e.IsLinkensProtected() &&
                                    !e.IsMagicImmune() &&
                                    !stoneModif &&
                                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(ethereal.Name) &&
                                    Utils.SleepCheck("ethereal")
                                    )
                                {
                                    ethereal.UseAbility(e);
                                    Utils.Sleep(200, "ethereal");
                                }                                 // ethereal Item end
                                if (!ethereal.CanBeCasted() || ethereal == null ||
                                    !Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(ethereal.Name))
                                {
                                    if (
                                        Q != null &&
                                        Q.CanBeCasted() &&
                                        me.CanCast() &&
                                        me.Distance2D(e) < Q.GetCastRange() + me.HullRadius &&
                                        !stoneModif &&
                                        !e.IsMagicImmune() &&
                                        Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(Q.Name) &&
                                        Utils.SleepCheck("Q")
                                        )
                                    {
                                        Q.UseAbility(e);
                                        Utils.Sleep(200, "Q");
                                    }

                                    if (
                                        R != null &&
                                        R.CanBeCasted() &&
                                        !Q.CanBeCasted() &&
                                        !W.CanBeCasted() &&
                                        me.CanCast() &&
                                        me.Position.Distance2D(e) < 1200 &&
                                        !stoneModif &&
                                        Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(R.Name) &&
                                        Utils.SleepCheck("R"))
                                    {
                                        R.UseAbility(e);
                                        Utils.Sleep(330, "R");
                                    }

                                    if (                                     // SoulRing Item
                                        soul != null &&
                                        soul.CanBeCasted() &&
                                        me.CanCast() &&
                                        me.Health >= (me.MaximumHealth * 0.4) &&
                                        me.Mana <= R.ManaCost &&
                                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(soul.Name)
                                        )
                                    {
                                        soul.UseAbility();
                                    }                                     // SoulRing Item end

                                    if (                                  // Arcane Boots Item
                                        arcane != null &&
                                        arcane.CanBeCasted() &&
                                        me.CanCast() &&
                                        me.Mana <= R.ManaCost &&
                                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(arcane.Name)
                                        )
                                    {
                                        arcane.UseAbility();
                                    }                                     // Arcane Boots Item end

                                    if (                                  //Ghost
                                        ghost != null &&
                                        ghost.CanBeCasted() &&
                                        me.CanCast() &&
                                        ((me.Position.Distance2D(e) < 300 &&
                                          me.Health <= (me.MaximumHealth * 0.7)) ||
                                         me.Health <= (me.MaximumHealth * 0.3)) &&
                                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(ghost.Name) &&
                                        Utils.SleepCheck("Ghost"))
                                    {
                                        ghost.UseAbility();
                                        Utils.Sleep(250, "Ghost");
                                    }


                                    if (                                     // Shiva Item
                                        shiva != null &&
                                        shiva.CanBeCasted() &&
                                        me.CanCast() &&
                                        !e.IsMagicImmune() &&
                                        Utils.SleepCheck("shiva") &&
                                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(shiva.Name) &&
                                        me.Distance2D(e) <= 600
                                        )

                                    {
                                        shiva.UseAbility();
                                        Utils.Sleep(250, "shiva");
                                    }                                     // Shiva Item end

                                    if (                                  // Dagon
                                        me.CanCast() &&
                                        dagon != null &&
                                        (ethereal == null ||
                                         (modifEther ||
                                          ethereal.Cooldown < 17)) &&
                                        !e.IsLinkensProtected() &&
                                        dagon.CanBeCasted() &&
                                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled("item_dagon") &&
                                        !e.IsMagicImmune() &&
                                        !stoneModif &&
                                        Utils.SleepCheck("dagon")
                                        )
                                    {
                                        dagon.UseAbility(e);
                                        Utils.Sleep(200, "dagon");
                                    }                                     // Dagon Item end

                                    if (
                                        // cheese
                                        cheese != null &&
                                        cheese.CanBeCasted() &&
                                        me.Health <= (me.MaximumHealth * 0.3) &&
                                        me.Distance2D(e) <= 700 &&
                                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(cheese.Name) &&
                                        Utils.SleepCheck("cheese")
                                        )
                                    {
                                        cheese.UseAbility();
                                        Utils.Sleep(200, "cheese");
                                    }                                     // cheese Item end
                                }
                            }
                        }
                    }
                }
                A();
            }
        }
Beispiel #15
0
        public void Combo()
        {
            Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key);

            _q = Me.Spellbook.SpellQ;
            _e = Me.Spellbook.SpellE;
            _r = Me.Spellbook.SpellR;


            _urn      = Me.FindItem("item_urn_of_shadows");
            _dagon    = Me.Inventory.Items.FirstOrDefault(x => x.Name.Contains("item_dagon"));
            _halberd  = Me.FindItem("item_heavens_halberd");
            _mjollnir = Me.FindItem("item_mjollnir");
            _armlet   = Me.FindItem("item_armlet");
            _abyssal  = Me.FindItem("item_abyssal_blade");
            _mail     = Me.FindItem("item_blade_mail");
            _bkb      = Me.FindItem("item_black_king_bar");
            _blink    = Me.FindItem("item_blink");
            _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))
            {
                float   angle = Me.FindAngleBetween(E.Position, true);
                Vector3 pos   = new Vector3((float)(E.Position.X - 70 * Math.Cos(angle)), (float)(E.Position.Y - 70 * 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 (
                    _q != null &&
                    _q.CanBeCasted() &&
                    Me.Distance2D(E) <= 900 &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_q.Name) &&
                    Utils.SleepCheck("Q")
                    )
                {
                    _q.UseAbility(E);
                    Utils.Sleep(200, "Q");
                }
                if (
                    _r != null &&
                    _r.CanBeCasted() &&
                    Me.Distance2D(E) <= 700 &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_r.Name) &&
                    Utils.SleepCheck("R")
                    )
                {
                    _r.UseAbility();
                    Utils.Sleep(200, "R");
                }
                if (
                    _e != null &&
                    _e.CanBeCasted() &&
                    (Me.Distance2D(E) <= 700 ||
                     (_blink != null &&
                      _blink.CanBeCasted() &&
                      Me.Distance2D(E) <= 1190)
                    ) &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_e.Name) &&
                    Utils.SleepCheck("E")
                    )
                {
                    _e.UseAbility();
                    Utils.Sleep(200, "E");
                }
                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 (_armlet != null &&
                    !_armlet.IsToggled &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_armlet.Name) &&
                    Utils.SleepCheck("armlet"))
                {
                    _armlet.ToggleAbility();
                    Utils.Sleep(300, "armlet");
                }

                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 (_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");
                }
            }
        }
Beispiel #16
0
        public void Combo()
        {
            if (!Menu.Item("enabled").IsActive())
            {
                return;
            }
            Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key) && !Game.IsChatOpen;

            Q        = me.Spellbook.SpellQ;
            W        = me.Spellbook.SpellW;
            R        = me.FindSpell("ursa_enrage");
            Shiva    = me.FindItem("item_shivas_guard");
            mom      = me.FindItem("item_mask_of_madness");
            urn      = me.FindItem("item_urn_of_shadows");
            dagon    = me.Inventory.Items.FirstOrDefault(item => item.Name.Contains("item_dagon"));
            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");
            e        = Toolset.ClosestToMouse(me);
            if (e == null)
            {
                return;
            }

            sheep = e.ClassID == ClassID.CDOTA_Unit_Hero_Tidehunter ? null : me.FindItem("item_sheepstick");
            var stoneModif = e.HasModifier("modifier_medusa_stone_gaze_stone");


            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 && me.Distance2D(e) <= 1700 && e != null && e.IsAlive)
            {
                if (Menu.Item("orbwalk").GetValue <bool>() && me.Distance2D(e) <= 1900)
                {
                    Orbwalking.Orbwalk(e, 0, 1600, true, true);
                }
                //var Wmod = me.Modifiers.FirstOrDefault(y => y.Name == "modifier_ursa_overpower");
                //if (Wmod.StackCount == 0)
            }
            if (Active && me.Distance2D(e) <= 1400 && e != null && e.IsAlive && !modifInv)
            {
                if (
                    Q != null && Q.CanBeCasted() && me.Distance2D(e) <= 200 &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(Q.Name) &&
                    Utils.SleepCheck("Q")
                    )
                {
                    Q.UseAbility();
                    Utils.Sleep(200, "Q");
                }
                if (
                    W != null && W.CanBeCasted() && me.Distance2D(e) <= 1700 &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(W.Name) &&
                    !me.HasModifier("modifier_ursa_overpower") &&
                    Utils.SleepCheck("W")
                    )
                {
                    W.UseAbility();
                    Utils.Sleep(200, "W");
                }
                if (
                    R != null && R.CanBeCasted() && me.Distance2D(e) <= 200 &&
                    me.HasModifier("modifier_ursa_overpower") &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(R.Name) &&
                    Utils.SleepCheck("R")
                    )
                {
                    R.UseAbility();
                    Utils.Sleep(200, "R");
                }
                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 (
                    blink != null &&
                    me.CanCast() &&
                    blink.CanBeCasted() &&
                    me.Distance2D(e) < 1180 &&
                    me.Distance2D(e) > 300 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(blink.Name) &&
                    Utils.SleepCheck("blink")
                    )
                {
                    blink.UseAbility(e.Position);
                    Utils.Sleep(250, "blink");
                }

                if (                 // Abyssal Blade
                    abyssal != null &&
                    abyssal.CanBeCasted() &&
                    me.CanCast() &&
                    !e.IsStunned() &&
                    !e.IsHexed() &&
                    Utils.SleepCheck("abyssal") &&
                    me.Distance2D(e) <= 400
                    )
                {
                    abyssal.UseAbility(e);
                    Utils.Sleep(250, "abyssal");
                }                 // Abyssal Item end
                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 (              // 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 (orchid != null && orchid.CanBeCasted() && me.Distance2D(e) <= 900 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(orchid.Name) && Utils.SleepCheck("orchid"))
                {
                    orchid.UseAbility(e);
                    Utils.Sleep(100, "orchid");
                }

                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 (                 // Dagon
                    me.CanCast() &&
                    dagon != null &&
                    !e.IsLinkensProtected() &&
                    dagon.CanBeCasted() &&
                    !e.IsMagicImmune() &&
                    !stoneModif &&
                    Utils.SleepCheck("dagon")
                    )
                {
                    dagon.UseAbility(e);
                    Utils.Sleep(200, "dagon");
                }                 // Dagon 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 (                 // 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("logic").IsActive())
                {
                    if (mail != null && mail.CanBeCasted() && Toolset.HasStun(e) && !e.IsStunned() &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(mail.Name) && Utils.SleepCheck("mail"))
                    {
                        mail.UseAbility();
                        Utils.Sleep(100, "mail");
                    }
                    if (bkb != null && bkb.CanBeCasted() && Toolset.HasStun(e) && !e.IsStunned() &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(bkb.Name) && Utils.SleepCheck("bkb"))
                    {
                        bkb.UseAbility();
                        Utils.Sleep(100, "bkb");
                    }
                }
            }
        }
Beispiel #17
0
        public void Combo()
        {
            // Target initialization

            // Spells initialization
            _q = Me.Spellbook.SpellQ;
            _w = Me.Spellbook.SpellW;
            _e = Me.Spellbook.SpellE;
            _r = Me.Spellbook.SpellR;
            // Items initialization
            _ethereal = Me.FindItem("item_ethereal_blade");
            _vail     = Me.FindItem("item_veil_of_discord");
            _cheese   = Me.FindItem("item_cheese");
            _ghost    = Me.FindItem("item_ghost");
            _orchid   = Me.FindItem("item_orchid") ?? Me.FindItem("item_bloodthorn");
            _atos     = Me.FindItem("item_rod_of_atos");
            _soul     = Me.FindItem("item_soul_ring");
            _arcane   = Me.FindItem("item_arcane_boots");
            _blink    = Me.FindItem("item_blink");
            _shiva    = Me.FindItem("item_shivas_guard");
            _dagon    = Me.Inventory.Items.FirstOrDefault(item => item.Name.Contains("item_dagon"));

            // State of keys initialization
            Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key) && !Game.IsChatOpen;
            Push   = Game.IsKeyDown(Menu.Item("keyQ").GetValue <KeyBind>().Key) && !Game.IsChatOpen;

            _enemies = ObjectManager.GetEntities <Hero>()
                       .Where(x => x.IsVisible && x.IsAlive && x.Team != Me.Team && !x.IsFullMagicResist() && !x.IsIllusion).ToList();
            // OnUpdateEvent::END

            // [VickTheRock]

            if (Push)
            {
                if (_q == null)
                {
                    return;
                }

                var unitsList = 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_Warlock_Golem ||
                                                                          creep.ClassId == ClassId.CDOTA_BaseNPC_Creep ||
                                                                          creep.ClassId == ClassId.CDOTA_BaseNPC_Creep_Lane ||
                                                                          creep.ClassId == ClassId.CDOTA_Unit_Hero_Beastmaster_Boar ||
                                                                          creep.ClassId == ClassId.CDOTA_Unit_SpiritBear ||
                                                                          creep.ClassId == ClassId.CDOTA_Unit_Broodmother_Spiderling
                                                                         ) &&
                                                                         creep.IsAlive &&
                                                                         creep.Distance2D(Me) <= _q.GetCastRange() + Me.HullRadius &&
                                                                         creep.IsSpawned &&
                                                                         creep.Team != Me.Team
                                                                         ).ToList();


                foreach (var v in unitsList)
                {
                    var damageQ = _qDmg[_q.Level];
                    if (Me.Distance2D(v) < 1200)
                    {
                        damageQ += _e.GetAbilityData("damage_health_pct") * 0.01 * v.Health;
                    }

                    var lens           = Me.HasModifier("modifier_item_aether_lens");
                    var spellamplymult = 1 + (Me.TotalIntelligence / 16 / 100);
                    if (lens)
                    {
                        damageQ *= 1.08;
                    }
                    damageQ *= spellamplymult;
                    damageQ *= (1 - v.MagicDamageResist);
                    if (_q.CanBeCasted() && v.Distance2D(Me) <= _q.GetCastRange() + Me.HullRadius && v.Health <= damageQ && Utils.SleepCheck("qq"))
                    {
                        _q.UseAbility(v);
                        Utils.Sleep(250, "qq");
                    }
                }
            } // if(Push)::END

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

            var modifEther = E.HasModifier("modifier_item_ethereal_blade_slow");
            var stoneModif = E.HasModifier("modifier_medusa_stone_gaze_stone");

            _sheep = E.Name == "npc_dota_hero_tidehunter" ? null : Me.FindItem("item_sheepstick");

            if (Active && Me.IsAlive && E.IsAlive && Utils.SleepCheck("activated"))
            {
                var noBlade = E.HasModifier("modifier_item_blade_mail_reflect");
                if (E.IsVisible && Me.Distance2D(E) <= 2300 && !noBlade)
                {
                    if ( // atos Blade
                        _atos != null &&
                        _atos.CanBeCasted() &&
                        Me.CanCast() &&
                        !E.IsLinkensProtected() &&
                        !E.IsMagicImmune() &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_atos.Name) &&
                        Me.Distance2D(E) <= 2000 &&
                        Utils.SleepCheck("atos")
                        )
                    {
                        _atos.UseAbility(E);
                        Utils.Sleep(250, "atos");
                    } // atos Item end

                    if (
                        _blink != null &&
                        _q.CanBeCasted() &&
                        Me.CanCast() &&
                        _blink.CanBeCasted() &&
                        Me.Distance2D(E) > 1000 &&
                        !stoneModif &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_blink.Name) &&
                        Utils.SleepCheck("blink")
                        )
                    {
                        _blink.UseAbility(E.Position);
                        Utils.Sleep(250, "blink");
                    }
                    if ( // orchid
                        _orchid != null &&
                        _orchid.CanBeCasted() &&
                        Me.CanCast() &&
                        !E.IsLinkensProtected() &&
                        !E.IsMagicImmune() &&
                        Me.Distance2D(E) <= 1400 &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_orchid.Name) &&
                        !stoneModif &&
                        Utils.SleepCheck("orchid")
                        )
                    {
                        _orchid.UseAbility(E);
                        Utils.Sleep(250, "orchid");
                    } // orchid Item end
                    if (!_orchid.CanBeCasted() || _orchid == null ||
                        !Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_orchid.Name))
                    {
                        if ( // vail
                            _vail != null &&
                            _vail.CanBeCasted() &&
                            Me.CanCast() &&
                            !E.IsMagicImmune() &&
                            Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_vail.Name) &&
                            Me.Distance2D(E) <= 1500 &&
                            Utils.SleepCheck("vail")
                            )
                        {
                            _vail.UseAbility(E.Position);
                            Utils.Sleep(250, "vail");
                        } // orchid Item end
                        if (!_vail.CanBeCasted() || _vail == null ||
                            !Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_vail.Name))
                        {
                            if ( // ethereal
                                _ethereal != null &&
                                _ethereal.CanBeCasted() &&
                                Me.CanCast() &&
                                !E.IsLinkensProtected() &&
                                !E.IsMagicImmune() &&
                                !stoneModif &&
                                Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_ethereal.Name) &&
                                Utils.SleepCheck("ethereal")
                                )
                            {
                                _ethereal.UseAbility(E);
                                Utils.Sleep(200, "ethereal");
                            } // ethereal Item end
                            if (!_ethereal.CanBeCasted() || _ethereal == null ||
                                !Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_ethereal.Name))
                            {
                                if (
                                    _w != null &&
                                    _w.CanBeCasted() &&
                                    Me.CanCast() &&
                                    Me.Distance2D(E) < _w.GetCastRange() + Me.HullRadius &&
                                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_w.Name) &&
                                    Utils.SleepCheck("W"))
                                {
                                    _w.UseAbility(E.Position);
                                    Utils.Sleep(200, "W");
                                }
                                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);
                                var     units = ObjectManager.GetEntities <Hero>().Where(x =>
                                                                                         !x.Equals(E) &&
                                                                                         x.IsAlive &&
                                                                                         x.Distance2D(pos) < E.Distance2D(pos) &&
                                                                                         x.Distance2D(E) <= 320 &&
                                                                                         x.Team != Me.Team
                                                                                         ).ToList();
                                if (
                                    _w != null &&
                                    _w.CanBeCasted() &&
                                    Me.CanCast() &&
                                    units.Count(x => x.Distance2D(pos) <= 290) == 0 &&
                                    Me.Distance2D(E) > _w.GetCastRange() + Me.HullRadius &&
                                    Me.Distance2D(E) < _w.GetCastRange() + 300 &&
                                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_w.Name) &&
                                    Utils.SleepCheck("W"))
                                {
                                    _w.UseAbility(E.Position);
                                    Utils.Sleep(200, "W");
                                }
                                if (
                                    _q != null &&
                                    _q.CanBeCasted() &&
                                    (!_w.CanBeCasted() || E.Health <= (E.MaximumHealth * 0.5)) &&
                                    (E.IsLinkensProtected() ||
                                     !E.IsLinkensProtected()) &&
                                    Me.CanCast() &&
                                    Me.Distance2D(E) < 1400 &&
                                    !stoneModif &&
                                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_q.Name) &&
                                    Utils.SleepCheck("Q")
                                    )
                                {
                                    _q.UseAbility(E);
                                    Utils.Sleep(330, "Q");
                                }
                                if (
                                    _r != null &&
                                    _r.CanBeCasted() &&
                                    !_q.CanBeCasted() &&
                                    !_w.CanBeCasted() &&
                                    Me.CanCast() &&
                                    Me.Position.Distance2D(E) < 1200 &&
                                    E.Health <= (E.MaximumHealth * 0.5) &&
                                    !stoneModif &&
                                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_r.Name) &&
                                    Utils.SleepCheck("R"))
                                {
                                    _r.UseAbility();
                                    Utils.Sleep(330, "R");
                                }
                                if ( // SoulRing Item
                                    _soul != null &&
                                    _soul.CanBeCasted() &&
                                    Me.CanCast() &&
                                    Me.Health >= (Me.MaximumHealth * 0.6) &&
                                    Me.Mana <= _r.ManaCost &&
                                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_soul.Name)
                                    )
                                {
                                    _soul.UseAbility();
                                } // SoulRing Item end

                                if ( // Arcane Boots Item
                                    _arcane != null &&
                                    _arcane.CanBeCasted() &&
                                    Me.CanCast() &&
                                    Me.Mana <= _r.ManaCost &&
                                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_arcane.Name)
                                    )
                                {
                                    _arcane.UseAbility();
                                } // Arcane Boots Item end

                                if ( //Ghost
                                    _ghost != null &&
                                    _ghost.CanBeCasted() &&
                                    Me.CanCast() &&
                                    ((Me.Position.Distance2D(E) < 300 &&
                                      Me.Health <= (Me.MaximumHealth * 0.7)) ||
                                     Me.Health <= (Me.MaximumHealth * 0.3)) &&
                                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_ghost.Name) &&
                                    Utils.SleepCheck("Ghost"))
                                {
                                    _ghost.UseAbility();
                                    Utils.Sleep(250, "Ghost");
                                }


                                if ( // Shiva Item
                                    _shiva != null &&
                                    _shiva.CanBeCasted() &&
                                    Me.CanCast() &&
                                    !E.IsMagicImmune() &&
                                    Utils.SleepCheck("shiva") &&
                                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_shiva.Name) &&
                                    Me.Distance2D(E) <= 600
                                    )

                                {
                                    _shiva.UseAbility();
                                    Utils.Sleep(250, "shiva");
                                } // Shiva Item end
                                if ( // sheep
                                    _sheep != null &&
                                    _sheep.CanBeCasted() &&
                                    Me.CanCast() &&
                                    !E.IsLinkensProtected() &&
                                    !E.IsMagicImmune() &&
                                    Me.Distance2D(E) <= 1400 &&
                                    !stoneModif &&
                                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_sheep.Name) &&
                                    Utils.SleepCheck("sheep")
                                    )
                                {
                                    _sheep.UseAbility(E);
                                    Utils.Sleep(250, "sheep");
                                } // sheep Item end

                                if ( // Dagon
                                    Me.CanCast() &&
                                    _dagon != null &&
                                    (_ethereal == null ||
                                     (modifEther ||
                                      _ethereal.Cooldown < 17)) &&
                                    !E.IsLinkensProtected() &&
                                    _dagon.CanBeCasted() &&
                                    Me.Distance2D(E) <= 1400 &&
                                    !E.IsMagicImmune() &&
                                    !stoneModif &&
                                    Utils.SleepCheck("dagon")
                                    )
                                {
                                    _dagon.UseAbility(E);
                                    Utils.Sleep(200, "dagon");
                                } // Dagon Item end

                                if (
                                    // cheese
                                    _cheese != null &&
                                    _cheese.CanBeCasted() &&
                                    Me.Health <= (Me.MaximumHealth * 0.3) &&
                                    Me.Distance2D(E) <= 700 &&
                                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_cheese.Name) &&
                                    Utils.SleepCheck("cheese")
                                    )
                                {
                                    _cheese.UseAbility();
                                    Utils.Sleep(200, "cheese");
                                } // cheese Item end
                            }
                        }
                    }
                    Utils.Sleep(200, "activated");
                } // if(e.IsVisible)::END

                if (Menu.Item("orbwalk").GetValue <bool>() && Me.Distance2D(E) <= 1900)
                {
                    Orbwalking.Orbwalk(E, 0, 1600, true, true);
                }
            } // if(Active)::END

            // Run real-time modules
            AutoSpells();
        } // Combo::END
Beispiel #18
0
        public void Combo()
        {
            // Target initialization

            // Spells initialization
            Q = me.Spellbook.SpellQ;
            W = me.Spellbook.SpellW;
            E = me.Spellbook.SpellE;
            R = me.Spellbook.SpellR;
            // Items initialization
            ethereal = me.FindItem("item_ethereal_blade");
            vail     = me.FindItem("item_veil_of_discord");
            cheese   = me.FindItem("item_cheese");
            ghost    = me.FindItem("item_ghost");
            orchid   = me.FindItem("item_orchid") ?? me.FindItem("item_bloodthorn");
            atos     = me.FindItem("item_rod_of_atos");
            soul     = me.FindItem("item_soul_ring");
            arcane   = me.FindItem("item_arcane_boots");
            blink    = me.FindItem("item_blink");
            shiva    = me.FindItem("item_shivas_guard");
            dagon    = me.Inventory.Items.FirstOrDefault(item => item.Name.Contains("item_dagon"));

            // State of keys initialization
            Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key) && !Game.IsChatOpen;
            Push   = Game.IsKeyDown(Menu.Item("keyQ").GetValue <KeyBind>().Key) && !Game.IsChatOpen;

            enemies = ObjectManager.GetEntities <Hero>()
                      .Where(x => x.IsVisible && x.IsAlive && x.Team != me.Team && !x.IsFullMagicResist() && !x.IsIllusion).ToList();
            // OnUpdateEvent::END

            // [VickTheRock]

            if (Push)
            {
                if (Q == null)
                {
                    return;
                }

                var unitsList = 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_Warlock_Golem ||
                                                                          creep.ClassId == ClassId.CDOTA_BaseNPC_Creep ||
                                                                          creep.ClassId == ClassId.CDOTA_BaseNPC_Creep_Lane ||
                                                                          creep.ClassId == ClassId.CDOTA_Unit_Hero_Beastmaster_Boar ||
                                                                          creep.ClassId == ClassId.CDOTA_Unit_SpiritBear ||
                                                                          creep.ClassId == ClassId.CDOTA_Unit_Broodmother_Spiderling
                                                                         ) &&
                                                                         creep.IsAlive &&
                                                                         creep.Distance2D(me) <= Q.GetCastRange() + me.HullRadius &&
                                                                         creep.IsSpawned &&
                                                                         creep.Team != me.Team
                                                                         ).ToList();


                foreach (var v in unitsList)
                {
                    var damageQ = qDmg[Q.Level];
                    if (me.Distance2D(v) < 1200)
                    {
                        damageQ += E.GetAbilityData("damage_health_pct") * 0.01 * v.Health;
                    }

                    var lens           = me.HasModifier("modifier_item_aether_lens");
                    var spellamplymult = 1 + (me.TotalIntelligence / 16 / 100);
                    if (lens)
                    {
                        damageQ *= 1.08;
                    }
                    damageQ *= spellamplymult;
                    damageQ *= (1 - v.MagicDamageResist);
                    if (Q.CanBeCasted() && v.Distance2D(me) <= Q.GetCastRange() + me.HullRadius && v.Health <= damageQ && Utils.SleepCheck("qq"))
                    {
                        Q.UseAbility(v);
                        Utils.Sleep(250, "qq");
                    }
                }
            } // if(Push)::END

            e = Toolset.ClosestToMouse(me);
            if (e == null)
            {
                return;
            }

            var modifEther = e.HasModifier("modifier_item_ethereal_blade_slow");
            var stoneModif = e.HasModifier("modifier_medusa_stone_gaze_stone");

            sheep = e.Name == "npc_dota_hero_tidehunter" ? null : me.FindItem("item_sheepstick");

            if (Active && me.IsAlive && e.IsAlive && Utils.SleepCheck("activated"))
            {
                var noBlade = e.HasModifier("modifier_item_blade_mail_reflect");
                if (e.IsVisible && me.Distance2D(e) <= 2300 && !noBlade)
                {
                    if ( // atos Blade
                        atos != null &&
                        atos.CanBeCasted() &&
                        me.CanCast() &&
                        !e.IsLinkensProtected() &&
                        !e.IsMagicImmune() &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(atos.Name) &&
                        me.Distance2D(e) <= 2000 &&
                        Utils.SleepCheck("atos")
                        )
                    {
                        atos.UseAbility(e);
                        Utils.Sleep(250, "atos");
                    } // atos Item end

                    if (
                        blink != null &&
                        Q.CanBeCasted() &&
                        me.CanCast() &&
                        blink.CanBeCasted() &&
                        me.Distance2D(e) > 1000 &&
                        !stoneModif &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(blink.Name) &&
                        Utils.SleepCheck("blink")
                        )
                    {
                        blink.UseAbility(e.Position);
                        Utils.Sleep(250, "blink");
                    }
                    if ( // orchid
                        orchid != null &&
                        orchid.CanBeCasted() &&
                        me.CanCast() &&
                        !e.IsLinkensProtected() &&
                        !e.IsMagicImmune() &&
                        me.Distance2D(e) <= 1400 &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(orchid.Name) &&
                        !stoneModif &&
                        Utils.SleepCheck("orchid")
                        )
                    {
                        orchid.UseAbility(e);
                        Utils.Sleep(250, "orchid");
                    } // orchid Item end
                    if (!orchid.CanBeCasted() || orchid == null ||
                        !Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(orchid.Name))
                    {
                        if ( // vail
                            vail != null &&
                            vail.CanBeCasted() &&
                            me.CanCast() &&
                            !e.IsMagicImmune() &&
                            Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(vail.Name) &&
                            me.Distance2D(e) <= 1500 &&
                            Utils.SleepCheck("vail")
                            )
                        {
                            vail.UseAbility(e.Position);
                            Utils.Sleep(250, "vail");
                        } // orchid Item end
                        if (!vail.CanBeCasted() || vail == null ||
                            !Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(vail.Name))
                        {
                            if ( // ethereal
                                ethereal != null &&
                                ethereal.CanBeCasted() &&
                                me.CanCast() &&
                                !e.IsLinkensProtected() &&
                                !e.IsMagicImmune() &&
                                !stoneModif &&
                                Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(ethereal.Name) &&
                                Utils.SleepCheck("ethereal")
                                )
                            {
                                ethereal.UseAbility(e);
                                Utils.Sleep(200, "ethereal");
                            } // ethereal Item end
                            if (!ethereal.CanBeCasted() || ethereal == null ||
                                !Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(ethereal.Name))
                            {
                                if (
                                    W != null &&
                                    W.CanBeCasted() &&
                                    me.CanCast() &&
                                    me.Distance2D(e) < W.GetCastRange() + me.HullRadius &&
                                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(W.Name) &&
                                    Utils.SleepCheck("W"))
                                {
                                    W.UseAbility(e.Position);
                                    Utils.Sleep(200, "W");
                                }
                                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);
                                var     Units = ObjectManager.GetEntities <Hero>().Where(x =>
                                                                                         !x.Equals(e) &&
                                                                                         x.IsAlive &&
                                                                                         x.Distance2D(pos) < e.Distance2D(pos) &&
                                                                                         x.Distance2D(e) <= 320 &&
                                                                                         x.Team != me.Team
                                                                                         ).ToList();
                                if (
                                    W != null &&
                                    W.CanBeCasted() &&
                                    me.CanCast() &&
                                    Units.Count(x => x.Distance2D(pos) <= 290) == 0 &&
                                    me.Distance2D(e) > W.GetCastRange() + me.HullRadius &&
                                    me.Distance2D(e) < W.GetCastRange() + 300 &&
                                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(W.Name) &&
                                    Utils.SleepCheck("W"))
                                {
                                    W.UseAbility(e.Position);
                                    Utils.Sleep(200, "W");
                                }
                                if (
                                    Q != null &&
                                    Q.CanBeCasted() &&
                                    (!W.CanBeCasted() || e.Health <= (e.MaximumHealth * 0.5)) &&
                                    (e.IsLinkensProtected() ||
                                     !e.IsLinkensProtected()) &&
                                    me.CanCast() &&
                                    me.Distance2D(e) < 1400 &&
                                    !stoneModif &&
                                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(Q.Name) &&
                                    Utils.SleepCheck("Q")
                                    )
                                {
                                    Q.UseAbility(e);
                                    Utils.Sleep(330, "Q");
                                }
                                if (
                                    R != null &&
                                    R.CanBeCasted() &&
                                    !Q.CanBeCasted() &&
                                    !W.CanBeCasted() &&
                                    me.CanCast() &&
                                    me.Position.Distance2D(e) < 1200 &&
                                    e.Health <= (e.MaximumHealth * 0.5) &&
                                    !stoneModif &&
                                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(R.Name) &&
                                    Utils.SleepCheck("R"))
                                {
                                    R.UseAbility();
                                    Utils.Sleep(330, "R");
                                }
                                if ( // SoulRing Item
                                    soul != null &&
                                    soul.CanBeCasted() &&
                                    me.CanCast() &&
                                    me.Health >= (me.MaximumHealth * 0.6) &&
                                    me.Mana <= R.ManaCost &&
                                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(soul.Name)
                                    )
                                {
                                    soul.UseAbility();
                                } // SoulRing Item end

                                if ( // Arcane Boots Item
                                    arcane != null &&
                                    arcane.CanBeCasted() &&
                                    me.CanCast() &&
                                    me.Mana <= R.ManaCost &&
                                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(arcane.Name)
                                    )
                                {
                                    arcane.UseAbility();
                                } // Arcane Boots Item end

                                if ( //Ghost
                                    ghost != null &&
                                    ghost.CanBeCasted() &&
                                    me.CanCast() &&
                                    ((me.Position.Distance2D(e) < 300 &&
                                      me.Health <= (me.MaximumHealth * 0.7)) ||
                                     me.Health <= (me.MaximumHealth * 0.3)) &&
                                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(ghost.Name) &&
                                    Utils.SleepCheck("Ghost"))
                                {
                                    ghost.UseAbility();
                                    Utils.Sleep(250, "Ghost");
                                }


                                if ( // Shiva Item
                                    shiva != null &&
                                    shiva.CanBeCasted() &&
                                    me.CanCast() &&
                                    !e.IsMagicImmune() &&
                                    Utils.SleepCheck("shiva") &&
                                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(shiva.Name) &&
                                    me.Distance2D(e) <= 600
                                    )

                                {
                                    shiva.UseAbility();
                                    Utils.Sleep(250, "shiva");
                                } // Shiva Item end
                                if ( // sheep
                                    sheep != null &&
                                    sheep.CanBeCasted() &&
                                    me.CanCast() &&
                                    !e.IsLinkensProtected() &&
                                    !e.IsMagicImmune() &&
                                    me.Distance2D(e) <= 1400 &&
                                    !stoneModif &&
                                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(sheep.Name) &&
                                    Utils.SleepCheck("sheep")
                                    )
                                {
                                    sheep.UseAbility(e);
                                    Utils.Sleep(250, "sheep");
                                } // sheep Item end

                                if ( // Dagon
                                    me.CanCast() &&
                                    dagon != null &&
                                    (ethereal == null ||
                                     (modifEther ||
                                      ethereal.Cooldown < 17)) &&
                                    !e.IsLinkensProtected() &&
                                    dagon.CanBeCasted() &&
                                    me.Distance2D(e) <= 1400 &&
                                    !e.IsMagicImmune() &&
                                    !stoneModif &&
                                    Utils.SleepCheck("dagon")
                                    )
                                {
                                    dagon.UseAbility(e);
                                    Utils.Sleep(200, "dagon");
                                } // Dagon Item end

                                if (
                                    // cheese
                                    cheese != null &&
                                    cheese.CanBeCasted() &&
                                    me.Health <= (me.MaximumHealth * 0.3) &&
                                    me.Distance2D(e) <= 700 &&
                                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(cheese.Name) &&
                                    Utils.SleepCheck("cheese")
                                    )
                                {
                                    cheese.UseAbility();
                                    Utils.Sleep(200, "cheese");
                                } // cheese Item end
                            }
                        }
                    }
                    Utils.Sleep(200, "activated");
                } // if(e.IsVisible)::END

                if (Menu.Item("orbwalk").GetValue <bool>() && me.Distance2D(e) <= 1900)
                {
                    Orbwalking.Orbwalk(e, 0, 1600, true, true);
                }
            } // if(Active)::END

            // Run real-time modules
            AutoSpells();
        } // Combo::END
Beispiel #19
0
        public void Combo()
        {
            //spell
            Q = me.Spellbook.SpellQ;
            W = me.FindSpell("earthshaker_enchant_totem");
            E = me.Spellbook.SpellE;
            R = me.Spellbook.SpellR;

            // Item
            ethereal = me.FindItem("item_ethereal_blade");
            vail     = me.FindItem("item_veil_of_discord");
            cheese   = me.FindItem("item_cheese");
            ghost    = me.FindItem("item_ghost");
            orchid   = me.FindItem("item_orchid") ?? me.FindItem("item_bloodthorn");
            atos     = me.FindItem("item_rod_of_atos");
            soul     = me.FindItem("item_soul_ring");
            arcane   = me.FindItem("item_arcane_boots");
            blink    = me.FindItem("item_blink");
            shiva    = me.FindItem("item_shivas_guard");
            dagon    = me.Inventory.Items.FirstOrDefault(item => item.Name.Contains("item_dagon"));

            Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key) && !Game.IsChatOpen;

            if (Active && me.IsAlive && Utils.SleepCheck("activated"))
            {
                e = Toolset.ClosestToMouse(me);
                if (e == null)
                {
                    return;
                }
                var modifEther = e.HasModifier("modifier_item_ethereal_blade_slow");
                var stoneModif = e.HasModifier("modifier_medusa_stone_gaze_stone");
                var noBlade    = e.HasModifier("modifier_item_blade_mail_reflect");
                sheep = e.ClassID == ClassID.CDOTA_Unit_Hero_Tidehunter ? null : me.FindItem("item_sheepstick");
                if (e.IsAlive && e.IsVisible && me.Distance2D(e) <= 2300 && !noBlade)
                {
                    if (me.HasModifier("modifier_earthshaker_enchant_totem") && !me.IsAttacking() && me.Distance2D(e) <= 300 && Utils.SleepCheck("WMod"))
                    {
                        me.Attack(e);
                        Utils.Sleep(250, "WMod");
                    }
                    if ( // atos Blade
                        atos != null &&
                        atos.CanBeCasted() &&
                        me.CanCast() &&
                        !e.IsLinkensProtected() &&
                        !e.IsMagicImmune() &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(atos.Name) &&
                        me.Distance2D(e) <= 2000 &&
                        Utils.SleepCheck("atos")
                        )
                    {
                        atos.UseAbility(e);
                        Utils.Sleep(250, "atos");
                    } // atos Item end

                    if (
                        blink != null &&
                        me.CanCast() &&
                        blink.CanBeCasted() &&
                        me.Distance2D(e) > 400 &&
                        me.Distance2D(e) <= 1180 &&
                        !stoneModif &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(blink.Name) &&
                        Utils.SleepCheck("blink")
                        )
                    {
                        blink.UseAbility(e.Position);
                        Utils.Sleep(250, "blink");
                    }
                    if ( // orchid
                        orchid != null &&
                        orchid.CanBeCasted() &&
                        me.CanCast() &&
                        !e.IsLinkensProtected() &&
                        !e.IsMagicImmune() &&
                        me.Distance2D(e) <= 1400 &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(orchid.Name) &&
                        !stoneModif &&
                        Utils.SleepCheck("orchid")
                        )
                    {
                        orchid.UseAbility(e);
                        Utils.Sleep(250, "orchid");
                    } // orchid Item end
                    if (!orchid.CanBeCasted() || orchid == null ||
                        !Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(orchid.Name))
                    {
                        if ( // vail
                            vail != null &&
                            vail.CanBeCasted() &&
                            me.CanCast() &&
                            !e.IsMagicImmune() &&
                            Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(vail.Name) &&
                            me.Distance2D(e) <= 1500 &&
                            Utils.SleepCheck("vail")
                            )
                        {
                            vail.UseAbility(e.Position);
                            Utils.Sleep(250, "vail");
                        } // orchid Item end
                        if (!vail.CanBeCasted() || vail == null ||
                            !Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(vail.Name))
                        {
                            if ( // ethereal
                                ethereal != null &&
                                ethereal.CanBeCasted() &&
                                me.CanCast() &&
                                !e.IsLinkensProtected() &&
                                !e.IsMagicImmune() &&
                                !stoneModif &&
                                Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(ethereal.Name) &&
                                Utils.SleepCheck("ethereal")
                                )
                            {
                                ethereal.UseAbility(e);
                                Utils.Sleep(200, "ethereal");
                            } // ethereal Item end
                            if (!ethereal.CanBeCasted() || ethereal == null ||
                                !Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(ethereal.Name))
                            {
                                if (
                                    W != null &&
                                    W.CanBeCasted() &&
                                    me.CanCast() &&
                                    !me.HasModifier("modifier_earthshaker_enchant_totem") &&
                                    me.Distance2D(e) < 2300 &&
                                    me.Distance2D(e) >= 1200 &&
                                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(W.Name) &&
                                    Utils.SleepCheck("W"))
                                {
                                    W.UseAbility();
                                    Utils.Sleep(200, "W");
                                }
                                if (
                                    W != null &&
                                    W.CanBeCasted() &&
                                    me.CanCast() &&
                                    !me.HasModifier("modifier_earthshaker_enchant_totem") &&
                                    me.Distance2D(e) < W.GetCastRange() &&
                                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(W.Name) &&
                                    Utils.SleepCheck("W"))
                                {
                                    W.UseAbility();
                                    Utils.Sleep(200, "W");
                                }
                                if (me.AghanimState())
                                {
                                    if (
                                        W != null &&
                                        W.CanBeCasted() &&
                                        me.CanCast() &&
                                        !me.HasModifier("modifier_earthshaker_enchant_totem") &&
                                        me.Distance2D(e) >= 300 &&
                                        me.Distance2D(e) < 900 + me.HullRadius &&
                                        Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(W.Name) &&
                                        Utils.SleepCheck("W"))
                                    {
                                        W.UseAbility(e.Position);
                                        Utils.Sleep(200, "W");
                                    }
                                    if (
                                        W != null &&
                                        W.CanBeCasted() &&
                                        me.CanCast() &&
                                        !me.HasModifier("modifier_earthshaker_enchant_totem") &&
                                        me.Distance2D(e) <= 300 &&
                                        Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(W.Name) &&
                                        Utils.SleepCheck("W"))
                                    {
                                        W.UseAbility(me);
                                        Utils.Sleep(200, "W");
                                    }
                                }
                                if (
                                    Q != null &&
                                    Q.CanBeCasted() &&
                                    (e.IsLinkensProtected() ||
                                     !e.IsLinkensProtected()) &&
                                    me.CanCast() &&
                                    me.Distance2D(e) < Q.GetCastRange() + me.HullRadius + 24 &&
                                    !stoneModif &&
                                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(Q.Name) &&
                                    Utils.SleepCheck("Q")
                                    )
                                {
                                    Q.UseAbility(e.Position);
                                    Utils.Sleep(330, "Q");
                                }
                                if ( // SoulRing Item
                                    soul != null &&
                                    soul.CanBeCasted() &&
                                    me.CanCast() &&
                                    me.Health >= (me.MaximumHealth * 0.6) &&
                                    me.Mana <= R.ManaCost &&
                                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(soul.Name)
                                    )
                                {
                                    soul.UseAbility();
                                } // SoulRing Item end

                                if ( // Arcane Boots Item
                                    arcane != null &&
                                    arcane.CanBeCasted() &&
                                    me.CanCast() &&
                                    me.Mana <= R.ManaCost &&
                                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(arcane.Name)
                                    )
                                {
                                    arcane.UseAbility();
                                } // Arcane Boots Item end

                                if ( //Ghost
                                    ghost != null &&
                                    ghost.CanBeCasted() &&
                                    me.CanCast() &&
                                    ((me.Position.Distance2D(e) < 300 &&
                                      me.Health <= (me.MaximumHealth * 0.7)) ||
                                     me.Health <= (me.MaximumHealth * 0.3)) &&
                                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(ghost.Name) &&
                                    Utils.SleepCheck("Ghost"))
                                {
                                    ghost.UseAbility();
                                    Utils.Sleep(250, "Ghost");
                                }

                                if ( // Shiva Item
                                    shiva != null &&
                                    shiva.CanBeCasted() &&
                                    me.CanCast() &&
                                    !e.IsMagicImmune() &&
                                    Utils.SleepCheck("shiva") &&
                                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(shiva.Name) &&
                                    me.Distance2D(e) <= 600
                                    )
                                {
                                    shiva.UseAbility();
                                    Utils.Sleep(250, "shiva");
                                } // Shiva Item end
                                if ( // sheep
                                    sheep != null &&
                                    sheep.CanBeCasted() &&
                                    me.CanCast() &&
                                    !e.IsLinkensProtected() &&
                                    !e.IsMagicImmune() &&
                                    !e.IsRooted() &&
                                    !e.IsHexed() &&
                                    !e.IsStunned() &&
                                    me.Distance2D(e) <= 1400 &&
                                    !stoneModif &&
                                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(sheep.Name) &&
                                    Utils.SleepCheck("sheep")
                                    )
                                {
                                    sheep.UseAbility(e);
                                    Utils.Sleep(250, "sheep");
                                } // sheep Item end

                                if ( // Dagon
                                    me.CanCast() &&
                                    dagon != null &&
                                    (ethereal == null ||
                                     (modifEther ||
                                      ethereal.Cooldown < 18)) &&
                                    !e.IsLinkensProtected() &&
                                    dagon.CanBeCasted() &&
                                    me.Distance2D(e) <= 1400 &&
                                    !e.IsMagicImmune() &&
                                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled("item_dagon") &&
                                    !stoneModif &&
                                    Utils.SleepCheck("dagon")
                                    )
                                {
                                    dagon.UseAbility(e);
                                    Utils.Sleep(200, "dagon");
                                } // Dagon Item end

                                if (
                                    // cheese
                                    cheese != null &&
                                    cheese.CanBeCasted() &&
                                    me.Health <= (me.MaximumHealth * 0.3) &&
                                    me.Distance2D(e) <= 700 &&
                                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(cheese.Name) &&
                                    Utils.SleepCheck("cheese")
                                    )
                                {
                                    cheese.UseAbility();
                                    Utils.Sleep(200, "cheese");
                                } // cheese Item end
                            }
                        }
                    }
                    if (Menu.Item("orbwalk").GetValue <bool>() && me.Distance2D(e) <= 1600 && !me.HasModifier("modifier_earthshaker_enchant_totem"))
                    {
                        Orbwalking.Orbwalk(e, 0, 1600, true, true);
                    }
                }
                Utils.Sleep(150, "activated");
            }
            AutoSpells();
        }
Beispiel #20
0
        private void AutoSpells()
        {
            enemies = ObjectManager.GetEntities <Hero>()
                      .Where(x => x.IsVisible && x.IsAlive && x.Team != me.Team && !x.IsMagicImmune() && !x.IsMagicImmune() && !x.IsIllusion && !x.IsFullMagicSpellResist()).ToList();

            if (Menu.Item("AutoUsage").IsActive())
            {
                e = Toolset.ClosestToMouse(me, 8000);

                foreach (var v in enemies)
                {
                    if (me.IsInvisible())
                    {
                        return;
                    }
                    if (v.IsFullMagiclResistZuus())
                    {
                        return;
                    }
                    damage[v.Handle] = CalculateDamage(v);

                    var Range = me.HullRadius + (dagon == null ? W?.GetCastRange() : dagon.GetCastRange());

                    float   angle    = me.FindAngleBetween(v.Position, true);
                    Vector3 pos      = new Vector3((float)(v.Position.X - 290 * Math.Cos(angle)), (float)(v.Position.Y - 290 * Math.Sin(angle)), 0);
                    Vector3 posBlink = new Vector3((float)(v.Position.X - Range * Math.Cos(angle)), (float)(v.Position.Y - Range * Math.Sin(angle)), 0);
                    var     Units    = ObjectManager.GetEntities <Hero>().Where(x =>
                                                                                !x.Equals(v) &&
                                                                                x.IsAlive &&
                                                                                x.Distance2D(pos) < v.Distance2D(pos) &&
                                                                                x.Distance2D(v) <= 320 &&
                                                                                x.Team != me.Team
                                                                                ).ToList();
                    if (enemies.Count(
                            x => x.Distance2D(v) <= 500) <= Menu.Item("Heelm").GetValue <Slider>().Value &&
                        blink != null &&
                        blink.CanBeCasted() &&
                        me.CanCast() &&
                        me.Health >= (me.MaximumHealth / 100 * Menu.Item("minHealth").GetValue <Slider>().Value) &&
                        v.Health <= damage[v.Handle] &&
                        me.Distance2D(posBlink) <= 1180 &&
                        Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled(blink.Name) &&
                        me.Distance2D(v) > 500 &&
                        Utils.SleepCheck("blink")
                        )
                    {
                        blink.UseAbility(posBlink);
                        Utils.Sleep(250, "blink");
                    }
                    if (v.Health <= damage[v.Handle] && me.Distance2D(v) <= W.GetCastRange() + me.HullRadius + 300)
                    {
                        if (vail != null &&
                            vail.CanBeCasted() &&
                            me.CanCast() &&
                            Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled(vail.Name) &&
                            Utils.SleepCheck("vail")
                            )
                        {
                            vail.UseAbility(v.Position);
                            Utils.Sleep(250, "vail");
                        } // orchid Item endelse
                        else if (ethereal != null &&
                                 ethereal.CanBeCasted() &&
                                 me.CanCast() &&
                                 Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled(ethereal.Name) &&
                                 Utils.SleepCheck("ethereal")
                                 )
                        {
                            ethereal.UseAbility(v);
                            Utils.Sleep(250, "ethereal");
                        } // orchid Item end
                        if (!CanIncreaseMagicDmg(me, v))
                        {
                            if (dagon != null &&
                                dagon.CanBeCasted() &&
                                Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled("item_dagon") &&
                                Utils.SleepCheck("dagon"))
                            {
                                dagon.UseAbility(v);
                                Utils.Sleep(250, "dagon");
                            }
                            else if (Q != null && Q.CanBeCasted() && Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(Q.Name) &&
                                     Utils.SleepCheck("Q"))
                            {
                                Q.UseAbility(v);
                                Utils.Sleep(250, "Q");
                            }
                            else if (W != null && W.CanBeCasted() && me.Distance2D(v) <= W.GetCastRange() + me.HullRadius && Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(W.Name) &&
                                     Utils.SleepCheck("W"))
                            {
                                W.UseAbility(v.Position);
                                Utils.Sleep(250, "W");
                            }
                            else if (W != null && W.CanBeCasted() && Units.Count(x => x.Distance2D(pos) <= 300) == 0 && me.Distance2D(v) <= W.GetCastRange() + me.HullRadius + 300 && Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(W.Name) &&
                                     Utils.SleepCheck("W"))
                            {
                                W.UseAbility(pos);
                                Utils.Sleep(250, "W");
                            }
                            else if (R != null &&
                                     R.CanBeCasted() &&
                                     (W == null || !W.CanBeCasted() || !Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(W.Name)) &&
                                     Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(R.Name) &&
                                     Utils.SleepCheck("R"))
                            {
                                R.UseAbility();
                                Utils.Sleep(250, "R");
                            }
                            else if (shiva != null &&
                                     shiva.CanBeCasted() &&
                                     me.Distance2D(v) <= 600 + me.HullRadius &&
                                     Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled(shiva.Name) &&
                                     Utils.SleepCheck("shiva"))
                            {
                                shiva.UseAbility();
                                Utils.Sleep(250, "shiva");
                            }
                            if (W != null && W.CanBeCasted() && me.Distance2D(v) >= W.GetCastRange() + me.HullRadius && me.Distance2D(v) <= W.GetCastRange() + me.HullRadius + 325 && Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(W.Name) && Utils.SleepCheck("Move"))
                            {
                                me.Move(v.Position);
                                Utils.Sleep(250, "Move");
                            }
                        }
                    }
                    damage[v.Handle] = CalculateDamageR(v);
                    if (R != null && R.CanBeCasted() &&
                        Menu.Item("AutoUlt").GetValue <AbilityToggler>().IsEnabled(R.Name))
                    {
                        if (
                            enemies.Count(
                                x =>
                                x.Health <= damage[v.Handle]) >=
                            Menu.Item("Heel").GetValue <Slider>().Value)
                        {
                            if ( // SoulRing Item
                                soul != null &&
                                soul.CanBeCasted() &&
                                me.CanCast() &&
                                me.Mana <= R.ManaCost &&
                                Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(soul.Name)
                                )
                            {
                                soul.UseAbility();
                            } // SoulRing Item end
                            if ( // Arcane Boots Item
                                arcane != null &&
                                arcane.CanBeCasted() &&
                                me.CanCast() &&
                                me.Mana <= R.ManaCost &&
                                Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(arcane.Name)
                                )
                            {
                                arcane.UseAbility();
                            } // Arcane Boots Item end
                            if (ethereal != null &&
                                ethereal.CanBeCasted() &&
                                me.CanCast() &&
                                me.Distance2D(v) <= ethereal.GetCastRange() &&
                                Menu.Item("AutoUltItems").GetValue <AbilityToggler>().IsEnabled(ethereal.Name) &&
                                Utils.SleepCheck("ethereal")
                                )
                            {
                                ethereal.UseAbility(v);
                                Utils.Sleep(250, "ethereal");
                            } // orchid Item end
                            else if (R != null &&
                                     R.CanBeCasted() &&
                                     Menu.Item("AutoUlt").GetValue <AbilityToggler>().IsEnabled(R.Name) &&
                                     Utils.SleepCheck("R"))
                            {
                                R.UseAbility();
                                Utils.Sleep(250, "R");
                            }
                            else if (dagon != null &&
                                     dagon.CanBeCasted() && me.Distance2D(v) <= dagon.GetCastRange() &&
                                     Menu.Item("AutoUltItems").GetValue <AbilityToggler>().IsEnabled("item_dagon") &&
                                     Utils.SleepCheck("dagon"))
                            {
                                dagon.UseAbility(v);
                                Utils.Sleep(250, "dagon");
                            }
                        }
                    }
                } // foreach::END
            }
        }         // AutoSpells::END
        public void Combo()
        {
            Active   = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key);
            CastQ    = Game.IsKeyDown(Menu.Item("qKey").GetValue <KeyBind>().Key);
            CastW    = Game.IsKeyDown(Menu.Item("wKey").GetValue <KeyBind>().Key);
            CastE    = Game.IsKeyDown(Menu.Item("eKey").GetValue <KeyBind>().Key);
            _autoUlt = Menu.Item("oneult").IsActive();
            if (!Menu.Item("enabled").IsActive())
            {
                return;
            }
            E = Toolset.ClosestToMouse(Me);
            if (E == null)
            {
                return;
            }

            _q = Me.FindSpell("earth_spirit_boulder_smash");
            _e = Me.FindSpell("earth_spirit_geomagnetic_grip");
            _w = Me.FindSpell("earth_spirit_rolling_boulder");
            Me.FindSpell("earth_spirit_petrify");
            _r = Me.FindSpell("earth_spirit_magnetize");
            _d = Me.FindSpell("earth_spirit_stone_caller");

            _wmod = Me.HasModifier("modifier_earth_spirit_rolling_boulder_caster");

            _ethereal = Me.FindItem("item_ethereal_blade");
            _urn      = Me.FindItem("item_urn_of_shadows");
            _dagon    =
                Me.Inventory.Items.FirstOrDefault(
                    item =>
                    item.Name.Contains("item_dagon"));
            _halberd = Me.FindItem("item_heavens_halberd");
            _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");
            _blink   = Me.FindItem("item_blink");
            _medall  = Me.FindItem("item_medallion_of_courage") ?? Me.FindItem("item_solar_crest");
            _sheep   = E.ClassId == ClassId.CDOTA_Unit_Hero_Tidehunter ? null : Me.FindItem("item_sheepstick");
            _vail    = Me.FindItem("item_veil_of_discord");
            _cheese  = Me.FindItem("item_cheese");
            _ghost   = Me.FindItem("item_ghost");
            _atos    = Me.FindItem("item_rod_of_atos");
            _soul    = Me.FindItem("item_soul_ring");
            _arcane  = Me.FindItem("item_arcane_boots");
            _stick   = Me.FindItem("item_magic_stick") ?? Me.FindItem("item_magic_wand");
            _shiva   = Me.FindItem("item_shivas_guard");
            var stoneModif = E.Modifiers.Any(y => y.Name == "modifier_medusa_stone_gaze_stone");
            var charge     = Me.Modifiers.FirstOrDefault(y => y.Name == "modifier_earth_spirit_stone_caller_charge_counter");

            var remnant      = ObjectManager.GetEntities <Unit>().Where(x => x.ClassId == ClassId.CDOTA_Unit_Earth_Spirit_Stone && x.Team == Me.Team && x.IsValid).ToList();
            var remnantCount = remnant.Count;


            if (Active && Me.Distance2D(E) <= 1300 && E.IsAlive && !Me.IsInvisible() && Utils.SleepCheck("Combo"))
            {
                if (
                    _blink != null &&
                    Me.CanCast() &&
                    _blink.CanBeCasted() &&
                    remnant.Count(x => x.Distance2D(Me) >= 350) == 0 &&
                    Me.Distance2D(E) >= 450 &&
                    Me.Distance2D(E) <= 1150 &&
                    !_wmod &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_blink.Name) &&
                    Utils.SleepCheck("blink")
                    )
                {
                    _blink.UseAbility(E.Position);
                    Utils.Sleep(250, "blink");
                }

                if (remnant.Count(x => x.Distance2D(Me) <= 1200) == 0)
                {
                    if (
                        _d.CanBeCasted() &&
                        _q != null &&
                        _q.CanBeCasted() &&
                        !_wmod &&
                        ((_blink == null ||
                          !_blink.CanBeCasted() ||
                          !Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_blink.Name)) ||
                         (_blink != null && _blink.CanBeCasted() && Me.Distance2D(E) <= 450)) &&
                        Me.Distance2D(E) <= _e.GetCastRange() - 50 &&
                        Utils.SleepCheck("Rem")
                        )
                    {
                        _d.UseAbility(Prediction.InFront(Me, 50));
                        Utils.Sleep(500, "Rem");
                    }
                    if (
                        _d.CanBeCasted() &&
                        _q != null &&
                        !_q.CanBeCasted() &&
                        _e.CanBeCasted() &&
                        Me.Distance2D(E) <= _e.GetCastRange() &&
                        !_wmod &&
                        ((_blink == null ||
                          !_blink.CanBeCasted() ||
                          !Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_blink.Name)) ||
                         (_blink != null && _blink.CanBeCasted() && Me.Distance2D(E) <= 450)) &&
                        Utils.SleepCheck("Rem")
                        )
                    {
                        _d.UseAbility(Prediction.InFront(E, 0));
                        Utils.Sleep(500, "Rem");
                    }
                }
                if (//Q Skill
                    _w != null &&
                    (!_q.CanBeCasted() ||
                     _q == null) &&
                    !_e.CanBeCasted() &&
                    _w.CanBeCasted() &&
                    Me.Distance2D(E) <= _e.GetCastRange() - 50 &&
                    Me.CanCast() &&
                    Utils.SleepCheck(Me.Handle + "remnantW")
                    )
                {
                    _w.CastSkillShot(E);
                    Utils.Sleep(250, Me.Handle + "remnantW");
                }
                if (remnant.Count(x => x.Distance2D(Me) <= 1200) >= 1)
                {
                    for (int i = 0; i < remnantCount; ++i)
                    {
                        var r = remnant[i];
                        if (
                            _d != null && _d.CanBeCasted() &&
                            ((_q != null && _q.CanBeCasted()) ||
                             (_w != null && _w.CanBeCasted())) &&
                            !_wmod &&
                            remnant.Count(x => x.Distance2D(Me) <= 350) == 0 &&
                            ((_blink == null ||
                              !_blink.CanBeCasted() ||
                              !Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_blink.Name)) ||
                             (_blink != null && Me.Distance2D(E) <= 350 && _blink.CanBeCasted()))
                            )
                        {
                            if (Me.Distance2D(E) <= _e.GetCastRange() - 50 &&
                                Utils.SleepCheck("Rem"))
                            {
                                _d.UseAbility(Prediction.InFront(Me, 50));
                                Utils.Sleep(600, "Rem");
                            }
                        }
                        if (
                            Me.Distance2D(r) >= 210 &&
                            remnant.Count(x => x.Distance2D(Me) <= 350) >= 1 &&
                            _q.CanBeCasted() &&
                            Utils.SleepCheck("RemMove"))
                        {
                            Me.Move(r.Position);
                            Utils.Sleep(250, "RemMove");
                        }
                        if (//Q Skill
                            _q != null &&
                            _q.CanBeCasted() &&
                            Me.CanCast() &&
                            Me.Distance2D(E) <= _e.GetCastRange() - 50 &&
                            Me.Distance2D(r) <= 210 &&
                            Utils.SleepCheck(r.Handle + "remnantQ")
                            )
                        {
                            _q.CastSkillShot(E);
                            Utils.Sleep(250, r.Handle + "remnantQ");
                        }
                        else
                        if (//W Skill
                            _w != null &&
                            _w.CanBeCasted() &&
                            !_q.CanBeCasted() &&
                            Me.Distance2D(E) <= _e.GetCastRange() &&
                            Utils.SleepCheck(Me.Handle + "remnantW")
                            )
                        {
                            _w.CastSkillShot(E);
                            Utils.Sleep(250, Me.Handle + "remnantW");
                        }
                        if (r != null &&
                            _e != null &&
                            _e.CanBeCasted() &&
                            Me.CanCast() &&
                            Me.Distance2D(r) < _e.GetCastRange() &&
                            Me.Distance2D(E) <= _e.GetCastRange()
                            )
                        {
                            if (//E Skill
                                E.Distance2D(r) <= 200 &&
                                Utils.SleepCheck(r.Handle + "remnantE")
                                )
                            {
                                _e.UseAbility(r.Position);
                                Utils.Sleep(220, r.Handle + "remnantE");
                            }
                            if (//E Skill
                                Me.Distance2D(E) <= 200 &&
                                E.Distance2D(r) > 0 &&
                                Me.Distance2D(r) >= E.Distance2D(r) &&
                                Utils.SleepCheck(r.Handle + "remnantE")
                                )
                            {
                                _e.UseAbility(r.Position);
                                Utils.Sleep(220, r.Handle + "remnantE");
                            }
                        }
                    }
                }


                if (//W Skill
                    _w != null &&
                    charge.StackCount == 0 &&
                    _w.CanBeCasted() &&
                    Me.Distance2D(E) <= 800 &&
                    Me.CanCast() &&
                    Utils.SleepCheck(Me.Handle + "remnantW")
                    )
                {
                    _w.CastSkillShot(E);
                    Utils.Sleep(250, Me.Handle + "remnantW");
                }
                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 ( //Ghost
                    _ghost != null &&
                    _ghost.CanBeCasted() &&
                    Me.CanCast() &&
                    ((Me.Position.Distance2D(E) < 300 &&
                      Me.Health <= (Me.MaximumHealth * 0.7)) ||
                     Me.Health <= (Me.MaximumHealth * 0.3)) &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_ghost.Name) &&
                    Utils.SleepCheck("Ghost"))
                {
                    _ghost.UseAbility();
                    Utils.Sleep(250, "Ghost");
                }
                if ( // Arcane Boots Item
                    _arcane != null &&
                    Me.Mana <= _w.ManaCost &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_arcane.Name) &&
                    _arcane.CanBeCasted() &&
                    Utils.SleepCheck("arcane")
                    )
                {
                    _arcane.UseAbility();
                    Utils.Sleep(250, "arcane");
                } // Arcane Boots Item end
                if (
                    // cheese
                    _cheese != null &&
                    _cheese.CanBeCasted() &&
                    Me.Health <= (Me.MaximumHealth * 0.3) &&
                    Me.Distance2D(E) <= 700 &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_cheese.Name) &&
                    Utils.SleepCheck("cheese")
                    )
                {
                    _cheese.UseAbility();
                    Utils.Sleep(200, "cheese");
                } // cheese Item end
                if ( // Medall
                    _medall != null &&
                    _medall.CanBeCasted() &&
                    Utils.SleepCheck("Medall") &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_medall.Name) &&
                    Me.Distance2D(E) <= 700
                    )
                {
                    _medall.UseAbility(E);
                    Utils.Sleep(250, "Medall");
                } // Medall Item end

                if ( //R Skill
                    _r != null &&
                    _r.CanBeCasted() &&
                    Me.CanCast() &&
                    Me.Distance2D(E) <= 200 &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_r.Name) &&
                    Utils.SleepCheck("R")
                    )
                {
                    _r.UseAbility();
                    Utils.Sleep(200, "R");
                } // R Skill end
                if ( // sheep
                    _sheep != null &&
                    _sheep.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsLinkensProtected() &&
                    !E.IsMagicImmune() &&
                    Me.Distance2D(E) <= 1400 &&
                    !stoneModif &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_sheep.Name) &&
                    Utils.SleepCheck("sheep")
                    )
                {
                    _sheep.UseAbility(E);
                    Utils.Sleep(250, "sheep");
                } // sheep Item end
                if ( // Abyssal Blade
                    _abyssal != null &&
                    _abyssal.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsStunned() &&
                    !E.IsHexed() &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_abyssal.Name) &&
                    Utils.SleepCheck("abyssal") &&
                    Me.Distance2D(E) <= 400
                    )
                {
                    _abyssal.UseAbility(E);
                    Utils.Sleep(250, "abyssal");
                } // Abyssal Item end
                if (_orchid != null && _orchid.CanBeCasted() && Me.Distance2D(E) <= 900 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_orchid.Name) &&
                    Utils.SleepCheck("orchid"))
                {
                    _orchid.UseAbility(E);
                    Utils.Sleep(100, "orchid");
                }

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

                if ( // SoulRing Item
                    _soul != null &&
                    _soul.CanBeCasted() &&
                    Me.CanCast() &&
                    Me.Health >= (Me.MaximumHealth * 0.5) &&
                    Me.Mana <= _r.ManaCost &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_soul.Name)
                    )
                {
                    _soul.UseAbility();
                } // SoulRing Item end
                if (// Dagon
                    Me.CanCast() &&
                    _dagon != null &&
                    (_ethereal == null ||
                     (E.HasModifier("modifier_item_ethereal_blade_slow") ||
                      _ethereal.Cooldown < 17)) &&
                    !E.IsLinkensProtected() &&
                    _dagon.CanBeCasted() &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled("item_dagon") &&
                    !E.IsMagicImmune() &&
                    Utils.SleepCheck("dagon")
                    )
                {
                    _dagon.UseAbility(E);
                    Utils.Sleep(200, "dagon");
                } // Dagon Item end
                if ( // atos Blade
                    _atos != null &&
                    _atos.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsLinkensProtected() &&
                    !E.IsMagicImmune() &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_atos.Name) &&
                    Me.Distance2D(E) <= 2000 &&
                    Utils.SleepCheck("atos")
                    )
                {
                    _atos.UseAbility(E);

                    Utils.Sleep(250, "atos");
                } // atos 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 ( // vail
                    _vail != null &&
                    _vail.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsMagicImmune() &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_vail.Name) &&
                    Me.Distance2D(E) <= 1500 &&
                    Utils.SleepCheck("vail")
                    )
                {
                    _vail.UseAbility(E.Position);
                    Utils.Sleep(250, "vail");
                } // orchid Item end
                if (
                    _stick != null &&
                    _stick.CanBeCasted() &&
                    _stick.CurrentCharges != 0 &&
                    Me.Distance2D(E) <= 700 &&
                    (Me.Health <= (Me.MaximumHealth * 0.5) ||
                     Me.Mana <= (Me.MaximumMana * 0.5)) &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_stick.Name))
                {
                    _stick.UseAbility();
                    Utils.Sleep(200, "mana_items");
                }

                var v =
                    ObjectManager.GetEntities <Hero>()
                    .Where(x => x.Team != Me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion && x.Distance2D(Me) <= 700)
                    .ToList();
                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");
                }
                Utils.Sleep(50, "Combo");
            }
        }
        public void Combo()
        {
            Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key);

            Q = me.Spellbook.SpellQ;
            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");
            armlet   = me.FindItem("item_armlet");
            abyssal  = me.FindItem("item_abyssal_blade");
            mail     = me.FindItem("item_blade_mail");
            bkb      = me.FindItem("item_black_king_bar");
            blink    = me.FindItem("item_blink");
            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 && !Toolset.invUnit(me))
            {
                if (
                    blink != null &&
                    me.CanCast() &&
                    blink.CanBeCasted() &&
                    me.Distance2D(e) < 1180 &&
                    me.Distance2D(e) > 400 &&
                    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) <= 900 &&
                    (R.CanBeCasted() && me.Mana > R.ManaCost + Q.ManaCost ||
                     !R.CanBeCasted() ||
                     R == null) &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(Q.Name) &&
                    Utils.SleepCheck("Q")
                    )
                {
                    Q.UseAbility(e);
                    Utils.Sleep(200, "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 (armlet != null && !armlet.IsToggled &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(armlet.Name) &&
                    Utils.SleepCheck("armlet"))
                {
                    armlet.ToggleAbility();
                    Utils.Sleep(300, "armlet");
                }

                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");
                }
            }
        }
Beispiel #23
0
        public void Combo()
        {
            if (!Menu.Item("enabled").IsActive())
            {
                return;
            }
            Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key);

            Push = Menu.Item("KeyR").GetValue <KeyBind>().Active;
            Q    = me.Spellbook.SpellQ;
            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");
            medall   = me.FindItem("item_medallion_of_courage") ?? me.FindItem("item_solar_crest");
            Shiva    = me.FindItem("item_shivas_guard");
            var enemies =
                ObjectManager.GetEntities <Hero>()
                .Where(x => x.Team != me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion && !x.IsMagicImmune())
                .ToList();

            if (Active)
            {
                e = Toolset.ClosestToMouse(me);
                if (e == null)
                {
                    return;
                }
                var track = e.HasModifier("modifier_bounty_hunter_track");
                if (Menu.Item("orbwalk").GetValue <bool>() && me.Distance2D(e) <= 1900)
                {
                    Orbwalking.Orbwalk(e, 0, 1600, true, true);
                }
                if (me.Distance2D(e) <= 1400 && e != null && e.IsAlive && !me.IsInvisible())
                {
                    if (
                        Q != null && Q.CanBeCasted() && me.Distance2D(e) <= 1500 &&
                        Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(Q.Name) &&
                        Utils.SleepCheck("Q")
                        )
                    {
                        Q.UseAbility(e);
                        Utils.Sleep(200, "Q");
                    }
                    if (
                        R != null && R.CanBeCasted() && me.Distance2D(e) <= 1500 &&
                        Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(R.Name) &&
                        !track &&
                        !me.IsChanneling() &&
                        Utils.SleepCheck("R")
                        )
                    {
                        R.UseAbility(e);
                        Utils.Sleep(200, "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 (                  // 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 (orchid != null && orchid.CanBeCasted() && me.Distance2D(e) <= 900 &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(orchid.Name) && Utils.SleepCheck("orchid"))
                    {
                        orchid.UseAbility(e);
                        Utils.Sleep(100, "orchid");
                    }

                    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 &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled("item_dagon") &&
                        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 (                     // 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() && (enemies.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() && (enemies.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 (Push && me.IsAlive && R != null && R.CanBeCasted())
            {
                if (!me.HasModifier("modifier_bounty_hunter_wind_walk") || me.IsVisibleToEnemies)
                {
                    foreach (var v in enemies)
                    {
                        var CheckMod = v.Modifiers.Where(y => y.Name == "modifier_bounty_hunter_track").DefaultIfEmpty(null).FirstOrDefault();
                        var invItem  = v.FindItem("item_glimmer_cape") ?? v.FindItem("item_invis_sword") ?? v.FindItem("item_silver_edge") ?? v.FindItem("item_glimmer_cape");
                        if (
                            ((v.ClassId == ClassId.CDOTA_Unit_Hero_Riki || v.ClassId == ClassId.CDOTA_Unit_Hero_Broodmother ||
                              v.ClassId == ClassId.CDOTA_Unit_Hero_Clinkz || v.ClassId == ClassId.CDOTA_Unit_Hero_Invoker ||
                              v.ClassId == ClassId.CDOTA_Unit_Hero_SandKing || v.ClassId == ClassId.CDOTA_Unit_Hero_TemplarAssassin ||
                              v.ClassId == ClassId.CDOTA_Unit_Hero_Treant || v.ClassId == ClassId.CDOTA_Unit_Hero_PhantomLancer
                              ) ||
                             (
                                 v.Modifiers.Any(x =>
                                                 (x.Name == "modifier_riki_permanent_invisibility" ||
                                                  x.Name == "modifier_mirana_moonlight_shadow" ||
                                                  x.Name == "modifier_treant_natures_guise" ||
                                                  x.Name == "modifier_weaver_shukuchi" ||
                                                  x.Name == "modifier_broodmother_spin_web_invisible_applier" ||
                                                  x.Name == "modifier_item_invisibility_edge_windwalk" ||
                                                  x.Name == "modifier_rune_invis" ||
                                                  x.Name == "modifier_clinkz_wind_walk" ||
                                                  x.Name == "modifier_item_shadow_amulet_fade" ||
                                                  x.Name == "modifier_item_silver_edge_windwalk" ||
                                                  x.Name == "modifier_item_edge_windwalk" ||
                                                  x.Name == "modifier_nyx_assassin_vendetta" ||
                                                  x.Name == "modifier_invisible" ||
                                                  x.Name == "modifier_invoker_ghost_walk_enemy"))) ||
                             (invItem != null && invItem.Cooldown <= 0) ||
                             v.Health <= (v.MaximumHealth * 0.5)) &&
                            me.Distance2D(v) <= R.GetCastRange() + me.HullRadius &&
                            (!v.HasModifier("modifier_bounty_hunter_track") || CheckMod != null && CheckMod.RemainingTime <= 2) &&
                            Utils.SleepCheck("R"))
                        {
                            R.UseAbility(v);
                            Utils.Sleep(300, "R");
                        }
                    }
                }
            }
        }
Beispiel #24
0
        public void Combo()
        {
            if (!Menu.Item("enabled").IsActive())
            {
                return;
            }
            Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key);

            Q = me.Spellbook.SpellQ;
            W = me.Spellbook.SpellW;
            E = me.Spellbook.SpellE;
            R = me.Spellbook.SpellR;

            glimmer  = me.FindItem("item_glimmer_cape");
            manta    = me.FindItem("item_manta");
            pipe     = me.FindItem("item_pipe");
            guardian = me.FindItem("item_guardian_greaves") ?? me.FindItem("item_mekansm");
            sphere   = me.FindItem("item_sphere");
            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");
            medall   = me.FindItem("item_medallion_of_courage") ?? me.FindItem("item_solar_crest");
            Shiva    = me.FindItem("item_shivas_guard");

            var modifInv =
                me.Modifiers.All(
                    x =>
                    x.Name == "modifier_item_silver_edge_windwalk" || x.Name == "modifier_item_edge_windwalk" ||
                    x.Name == "modifier_treant_natures_guise" || x.Name == "modifier_rune_invis");
            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 && me.Distance2D(e) <= 1400 && e.IsAlive && !modifInv && Utils.SleepCheck("Combo"))
            {
                if ( //
                    E != null &&
                    E.CanBeCasted() &&
                    me.CanCast() &&
                    !e.HasModifier("oracle_fates_edict") &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(E.Name) &&
                    Utils.SleepCheck("E") &&
                    me.Distance2D(e) <= E.GetCastRange() + 400
                    )
                {
                    E.UseAbility(e);
                    Utils.Sleep(250, "E");
                }

                if ( //
                    Q != null &&
                    Q.CanBeCasted()
                    &&
                    (E == null || !E.CanBeCasted() || !Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(E.Name)) &&
                    me.CanCast() &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(Q.Name) &&
                    !e.HasModifier("oracle_fates_edict") &&
                    me.Distance2D(e) <= Q.GetCastRange() + 400 &&
                    Utils.SleepCheck("Q")
                    )
                {
                    Q.UseAbility(e);
                    Utils.Sleep(250, "Q");
                }

                if ((!Menu.Item("Q spell").GetValue <bool>() || Q == null || !Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(Q.Name)) && (!Q.IsInAbilityPhase && !Q.IsChanneling && !me.IsChanneling()))
                {
                    if (Menu.Item("orbwalk").GetValue <bool>() && me.Distance2D(e) <= 1900 && Utils.SleepCheck("Orbwalk"))
                    {
                        Orbwalking.Orbwalk(e, 0, 1600, true, true);
                        Utils.Sleep(150, "Orbwalk");
                    }
                    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 != null && orchid.CanBeCasted() && me.Distance2D(e) <= 900 &&
                        !e.HasModifier("oracle_fates_edict") &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(orchid.Name) && Utils.SleepCheck("orchid"))
                    {
                        orchid.UseAbility(e);
                        Utils.Sleep(100, "orchid");
                    }

                    if (Shiva != null && Shiva.CanBeCasted() && me.Distance2D(e) <= 600 &&
                        !e.HasModifier("oracle_fates_edict") &&
                        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 &&
                        !e.HasModifier("oracle_fates_edict") &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(ethereal.Name) &&
                        Utils.SleepCheck("ethereal"))
                    {
                        ethereal.UseAbility(e);
                        Utils.Sleep(100, "ethereal");
                    }


                    if ( // Dagon
                        me.CanCast() &&
                        dagon != null &&
                        (ethereal == null ||
                         (me.HasModifier("modifier_item_ethereal_blade_slow") ||
                          ethereal.Cooldown < 17)) &&
                        !e.IsLinkensProtected() &&
                        dagon.CanBeCasted() &&
                        !e.HasModifier("oracle_fates_edict") &&
                        !e.IsMagicImmune() &&
                        Utils.SleepCheck("dagon")
                        )
                    {
                        dagon.UseAbility(e);
                        Utils.Sleep(200, "dagon");
                    } // Dagon Item end
                    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() && !e.HasModifier("oracle_fates_edict") && 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.HasModifier("oracle_fates_edict") &&
                        (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");
                    }
                }
                Utils.Sleep(250, "Combo");
            }
            A();
        }
Beispiel #25
0
        void Drawing_OnDraw(EventArgs args)
        {
            if (me == null)
            {
                return;
            }
            if (!MainMenu.OthersMenu.Item("others").IsActive() || !Game.IsInGame || me == null || Game.IsPaused || Game.IsWatchingGame)
            {
                return;
            }

            //TODO:ATTACKRANGE
            if (MainMenu.OthersMenu.Item("ShowAttakRange").GetValue <bool>())
            {
                Item item = me.Inventory.Items.FirstOrDefault(x => x != null && x.IsValid && (x.Name.Contains("item_dragon_lance") || x.Name.Contains("item_hurricane_pike")));

                if (me.ClassId == ClassId.CDOTA_Unit_Hero_TrollWarlord && me.HasModifier("modifier_troll_warlord_berserkers_rage"))
                {
                    AttackRange = 150 + me.HullRadius + 24;
                }
                else if (me.ClassId == ClassId.CDOTA_Unit_Hero_TrollWarlord && !me.HasModifier("modifier_troll_warlord_berserkers_rage"))
                {
                    AttackRange = me.GetAttackRange() + me.HullRadius + 24;
                }
                else
                if (me.ClassId == ClassId.CDOTA_Unit_Hero_TemplarAssassin)
                {
                    AttackRange = me.GetAttackRange() + me.HullRadius;
                }
                else
                if (me.ClassId == ClassId.CDOTA_Unit_Hero_DragonKnight && me.HasModifier("modifier_dragon_knight_dragon_form"))
                {
                    AttackRange = me.GetAttackRange() + me.HullRadius + 24;
                }
                else
                if (item == null && me.IsRanged)
                {
                    AttackRange = me.GetAttackRange() + me.HullRadius + 24;
                }
                else
                if (item != null && me.IsRanged)
                {
                    AttackRange = me.GetAttackRange() + me.HullRadius + 24;
                }
                else
                {
                    AttackRange = me.GetAttackRange() + me.HullRadius;
                }
                if (rangeDisplay == null)
                {
                    if (me.IsAlive)
                    {
                        rangeDisplay = me.AddParticleEffect(@"particles\ui_mouseactions\drag_selected_ring.vpcf");
                        rangeDisplay.SetControlPoint(1, new Vector3(255, 0, 222));
                        rangeDisplay.SetControlPoint(3, new Vector3(5, 0, 0));
                        rangeDisplay.SetControlPoint(2, new Vector3(_lastRange, 255, 0));
                    }
                }
                else
                {
                    if (!me.IsAlive)
                    {
                        rangeDisplay.Dispose();
                        rangeDisplay = null;
                    }
                    else if (_lastRange != AttackRange)
                    {
                        rangeDisplay.Dispose();
                        _lastRange   = AttackRange;
                        rangeDisplay = me.AddParticleEffect(@"particles\ui_mouseactions\drag_selected_ring.vpcf");
                        rangeDisplay.SetControlPoint(1, new Vector3(255, 0, 222));
                        rangeDisplay.SetControlPoint(3, new Vector3(5, 0, 0));
                        rangeDisplay.SetControlPoint(2, new Vector3(_lastRange, 255, 0));
                    }
                }
            }
            else
            {
                if (rangeDisplay != null)
                {
                    rangeDisplay.Dispose();
                }
                rangeDisplay = null;
            }


            //TODO:TARGETMARKER
            e = Toolset.ClosestToMouse(me, 10000);
            if (e != null && e.IsValid && !e.IsIllusion && e.IsAlive && e.IsVisible &&
                MainMenu.OthersMenu.Item("ShowTargetMarker").GetValue <bool>())
            {
                DrawTarget();
            }
            else if (particleEffect != null)
            {
                particleEffect.Dispose();
                particleEffect = null;
            }
            // TY  splinterjke.:)
        }
Beispiel #26
0
        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.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");
                }
            }
        }
Beispiel #27
0
        public void Combo()
        {
            if (!Menu.Item("enabled").IsActive())
            {
                return;
            }

            E = Toolset.ClosestToMouse(Me);
            if (E == null)
            {
                return;
            }
            _w     = Me.Spellbook.SpellW;
            _r     = Me.Spellbook.SpellR;
            Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key);

            _shiva    = Me.FindItem("item_shivas_guard");
            _ethereal = Me.FindItem("item_ethereal_blade");
            _mom      = Me.FindItem("item_mask_of_madness");
            _urn      = Me.FindItem("item_urn_of_shadows");
            _manta    = Me.FindItem("item_manta");
            _dagon    = Me.Inventory.Items.FirstOrDefault(item => item.Name.Contains("item_dagon"));
            _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");
            _sheep    = E.ClassId == ClassId.CDOTA_Unit_Hero_Tidehunter ? null : Me.FindItem("item_sheepstick");
            _cheese   = Me.FindItem("item_cheese");
            _soul     = Me.FindItem("item_soul_ring");
            _stick    = Me.FindItem("item_magic_stick") ?? Me.FindItem("item_magic_wand");
            _phase    = Me.FindItem("item_phase_boots");
            var v =
                ObjectManager.GetEntities <Hero>()
                .Where(x => x.Team != Me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion && !x.IsMagicImmune())
                .ToList();

            var stoneModif = E.Modifiers.Any(y => y.Name == "modifier_medusa_stone_gaze_stone");

            if (Active && Me.Distance2D(E) <= 1400 && E != null && E.IsAlive)
            {
                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 && !Me.IsInvisible())
            {
                if (
                    _w != null &&
                    _w.CanBeCasted() &&
                    Me.Distance2D(E) <= _w.GetCastRange() - 100 &&
                    Me.Distance2D(E) >= Me.AttackRange + 200 &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_w.Name) &&
                    Utils.SleepCheck("_w")
                    )
                {
                    _w.UseAbility(Prediction.InFront(E, 230));
                    Utils.Sleep(200, "_w");
                }

                if ((_manta != null &&
                     Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_manta.Name)) &&
                    _manta.CanBeCasted() && Me.IsSilenced() && Utils.SleepCheck("_manta"))
                {
                    _manta.UseAbility();
                    Utils.Sleep(400, "_manta");
                }
                if ((_manta != null && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_manta.Name)) &&
                    _manta.CanBeCasted() && (E.Position.Distance2D(Me.Position) <= Me.GetAttackRange() + Me.HullRadius) &&
                    Utils.SleepCheck("_manta"))
                {
                    _manta.UseAbility();
                    Utils.Sleep(150, "_manta");
                }
                if (                 // MOM
                    _mom != null &&
                    _mom.CanBeCasted() &&
                    Me.CanCast() &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_mom.Name) &&
                    Utils.SleepCheck("_mom") &&
                    Me.Distance2D(E) <= 700
                    )
                {
                    _mom.UseAbility();
                    Utils.Sleep(250, "_mom");
                }
                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 ( // Mjollnir
                    _mjollnir != null &&
                    _mjollnir.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsMagicImmune() &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_mjollnir.Name) &&
                    Utils.SleepCheck("_mjollnir") &&
                    Me.Distance2D(E) <= 900
                    )
                {
                    _mjollnir.UseAbility(Me);
                    Utils.Sleep(250, "_mjollnir");
                } // Mjollnir Item end
                if (
                    // _cheese
                    _cheese != null &&
                    _cheese.CanBeCasted() &&
                    Me.Health <= (Me.MaximumHealth * 0.3) &&
                    Me.Distance2D(E) <= 700 &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_cheese.Name) &&
                    Utils.SleepCheck("_cheese")
                    )
                {
                    _cheese.UseAbility();
                    Utils.Sleep(200, "_cheese");
                } // _cheese 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 ( // _sheep
                    _sheep != null &&
                    _sheep.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsLinkensProtected() &&
                    !E.IsMagicImmune() &&
                    Me.Distance2D(E) <= 1400 &&
                    !stoneModif &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_sheep.Name) &&
                    Utils.SleepCheck("_sheep")
                    )
                {
                    _sheep.UseAbility(E);
                    Utils.Sleep(250, "_sheep");
                } // _sheep Item end
                if ( // Abyssal Blade
                    _abyssal != null &&
                    _abyssal.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsStunned() &&
                    !E.IsHexed() &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_abyssal.Name) &&
                    Utils.SleepCheck("_abyssal") &&
                    Me.Distance2D(E) <= 400
                    )
                {
                    _abyssal.UseAbility(E);
                    Utils.Sleep(250, "_abyssal");
                } // Abyssal Item end
                if (_orchid != null && _orchid.CanBeCasted() && Me.Distance2D(E) <= 900 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_orchid.Name) &&
                    Utils.SleepCheck("_orchid"))
                {
                    _orchid.UseAbility(E);
                    Utils.Sleep(100, "_orchid");
                }

                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
                    _ethereal != null &&
                    _ethereal.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsLinkensProtected() &&
                    !E.IsMagicImmune() &&
                    !stoneModif &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_ethereal.Name) &&
                    Utils.SleepCheck("_ethereal")
                    )
                {
                    _ethereal.UseAbility(E);
                    Utils.Sleep(200, "_ethereal");
                } // _ethereal Item end
                if (
                    _blink != null &&
                    Me.CanCast() &&
                    _blink.CanBeCasted() &&
                    Me.Distance2D(E) >= 450 &&
                    Me.Distance2D(E) <= 1150 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_blink.Name) &&
                    Utils.SleepCheck("_blink")
                    )
                {
                    _blink.UseAbility(E.Position);
                    Utils.Sleep(250, "_blink");
                }

                if ( // SoulRing Item
                    _soul != null &&
                    _soul.CanBeCasted() &&
                    Me.CanCast() &&
                    Me.Health >= (Me.MaximumHealth * 0.5) &&
                    Me.Mana <= _r.ManaCost &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_soul.Name)
                    )
                {
                    _soul.UseAbility();
                } // SoulRing Item end
                if ( // Dagon
                    Me.CanCast() &&
                    _dagon != null &&
                    (_ethereal == null ||
                     (E.Modifiers.Any(y => y.Name == "modifier_item_ethereal_blade_slow") ||
                      _ethereal.Cooldown < 17)) &&
                    !E.IsLinkensProtected() &&
                    _dagon.CanBeCasted() &&
                    !E.IsMagicImmune() &&
                    !stoneModif &&
                    Utils.SleepCheck("_dagon")
                    )
                {
                    _dagon.UseAbility(E);
                    Utils.Sleep(200, "_dagon");
                } // Dagon Item end
                if (_phase != null &&
                    _phase.CanBeCasted() &&
                    Utils.SleepCheck("_phase") &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_phase.Name) &&
                    !_blink.CanBeCasted() &&
                    Me.Distance2D(E) >= Me.AttackRange + 20)
                {
                    _phase.UseAbility();
                    Utils.Sleep(200, "_phase");
                }
                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 (
                    _stick != null &&
                    _stick.CanBeCasted() &&
                    _stick.CurrentCharges != 0 &&
                    Me.Distance2D(E) <= 700 &&
                    (Me.Health <= (Me.MaximumHealth * 0.5) ||
                     Me.Mana <= (Me.MaximumMana * 0.5)) &&
                    Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_stick.Name))
                {
                    _stick.UseAbility();
                    Utils.Sleep(200, "mana_items");
                }
                if ( // Satanic
                    _satanic != null &&
                    Me.Health <= (Me.MaximumHealth * 0.3) &&
                    _satanic.CanBeCasted() &&
                    Me.Distance2D(E) <= Me.AttackRange + 50 &&
                    Menu.Item("Item").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("autoUlt").GetValue <bool>() && Me.IsAlive)
            {
                double[] penitence = { 0, 1.15, 1.2, 1.25, 1.3 };
                double[] souls     = { 0, 1.2, 1.3, 1.4, 1.5 };

                _r = Me.Spellbook.SpellR;
                var ultLvl = _r.Level;
                var enemy  =
                    ObjectManager.GetEntities <Hero>()
                    .Where(x => x.Team != Me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion)
                    .ToList();
                if (enemy.Count == 0)
                {
                    return;
                }
                foreach (var z in enemy)
                {
                    if (!z.IsVisible || !z.IsAlive)
                    {
                        continue;
                    }
                    var manna  = (z.MaximumMana - z.Mana);
                    var damage = Math.Floor((manna * _ult[ultLvl]) * (1 - z.MagicDamageResist));

                    var lens = Me.HasModifier("modifier_item_aether_lens");

                    if (z.NetworkName == "CDOTA_Unit_Hero_Spectre" && z.Spellbook.Spell3.Level > 0)
                    {
                        damage =
                            Math.Floor((manna * _ult[ultLvl]) *
                                       (1 - (0.10 + z.Spellbook.Spell3.Level * 0.04)) * (1 - z.MagicDamageResist));
                    }
                    if (z.NetworkName == "CDOTA_Unit_Hero_SkeletonKing" &&
                        z.Spellbook.SpellR.CanBeCasted())
                    {
                        damage = 0;
                    }
                    if (lens)
                    {
                        damage = damage * 1.08;
                    }
                    if (z.HasModifier("modifier_kunkka_ghost_ship_damage_absorb"))
                    {
                        damage = damage * 0.5;
                    }
                    if (z.HasModifier("modifier_item_mask_of_madness_berserk"))
                    {
                        damage = damage * 1.3;
                    }

                    if (z.HasModifier("modifier_chen_penitence"))
                    {
                        damage = damage *
                                 penitence[
                            ObjectManager.GetEntities <Hero>()
                            .FirstOrDefault(
                                x => x.Team == Me.Team && x.ClassId == ClassId.CDOTA_Unit_Hero_Chen)
                            .Spellbook.Spell1.Level];
                    }

                    if (z.HasModifier("modifier_shadow_demon_soul_catcher"))
                    {
                        damage = damage *
                                 souls[
                            ObjectManager.GetEntities <Hero>()
                            .FirstOrDefault(
                                x => x.Team == Me.Team && x.ClassId == ClassId.CDOTA_Unit_Hero_Shadow_Demon)
                            .Spellbook.Spell2.Level];
                    }

                    if (_r != null && _r.CanBeCasted() &&
                        !z.HasModifier("modifier_tusk_snowball_movement") &&
                        !z.HasModifier("modifier_snowball_movement_friendly") &&
                        !z.HasModifier("modifier_templar_assassin_refraction_absorb") &&
                        !z.HasModifier("modifier_ember_spirit_flame_guard") &&
                        !z.HasModifier("modifier_ember_spirit_sleight_of_fist_caster_invulnerability") &&
                        !z.HasModifier("modifier_obsidian_destroyer_astral_imprisonment_prison") &&
                        !z.HasModifier("modifier_puck_phase_shift") &&
                        !z.HasModifier("modifier_eul_cyclone") &&
                        !z.HasModifier("modifier_dazzle_shallow_grave") &&
                        !z.HasModifier("modifier_shadow_demon_disruption") &&
                        !z.HasModifier("modifier_necrolyte_reapers_scythe") &&
                        !z.HasModifier("modifier_medusa_stone_gaze_stone") &&
                        !z.HasModifier("modifier_storm_spirit_ball_lightning") &&
                        !z.HasModifier("modifier_ember_spirit_fire_remnant") &&
                        !z.HasModifier("modifier_nyx_assassin_spiked_carapace") &&
                        !z.HasModifier("modifier_phantom_lancer_doppelwalk_phase") &&
                        !z.FindSpell("abaddon_borrowed_time").CanBeCasted() &&
                        !z.HasModifier("modifier_abaddon_borrowed_time_damage_redirect") &&
                        Me.Distance2D(z) <= _r.GetCastRange() + 50 &&
                        !z.IsMagicImmune() &&
                        enemy.Count(x => (x.Health - damage) <= 0 && x.Distance2D(z) <= 500)
                        >= Menu.Item("ulti").GetValue <Slider>().Value &&
                        enemy.Count(x => x.Distance2D(z) <= 500)
                        >= Menu.Item("ulti").GetValue <Slider>().Value &&
                        damage >= Menu.Item("minDMG").GetValue <Slider>().Value &&
                        Utils.SleepCheck(z.Handle.ToString()))
                    {
                        _r.UseAbility(z);
                        Utils.Sleep(150, z.Handle.ToString());
                        return;
                    }
                }
            }
        } // Combo
        public void ChasingAll(EventArgs args)
        {
            e = Toolset.ClosestToMouse(me);
            if (e == null)
            {
                return;
            }
            if (Combokey && e.IsAlive && !me.IsVisibleToEnemies)
            {
                if (Menu.Item("orbwalk").GetValue <bool>() && me.Distance2D(e) <= 1900)
                {
                    Orbwalking.Orbwalk(e, 0, 1600, true, true);
                }
            }
            if (Combokey && e.IsAlive && me.IsVisibleToEnemies)
            {
                var Spiderlings = ObjectManager.GetEntities <Unit>().Where(spiderlings => spiderlings.ClassID == ClassID.CDOTA_Unit_Broodmother_Spiderling).ToList();
                var count       = Spiderlings.Count();
                for (int s = 0; s < count; ++s)
                {
                    if (Spiderlings[s].Distance2D(e) <= 1500 && Utils.SleepCheck(Spiderlings[s].Handle + "Spiderlings"))
                    {
                        Spiderlings[s].Attack(e);
                        Utils.Sleep(500, Spiderlings[s].Handle + "Spiderlings");
                    }
                }
                for (int s = 0; s < count; ++s)
                {
                    if (Spiderlings[s].Distance2D(e) >= 1500 && Utils.SleepCheck(Spiderlings[s].Handle + "Spiderlings"))
                    {
                        Spiderlings[s].Move(Game.MousePosition);
                        Utils.Sleep(500, Spiderlings[s].Handle + "Spiderlings");
                    }
                }


                var linkens = e.IsLinkensProtected();
                if (e.IsAlive && !e.IsIllusion && me.Distance2D(e) <= 1000)
                {
                    Q = me.Spellbook.SpellQ;

                    W = me.Spellbook.SpellW;

                    R = me.Spellbook.SpellR;

                    // Item

                    sheep = e.ClassID == ClassID.CDOTA_Unit_Hero_Tidehunter ? null : me.FindItem("item_sheepstick");

                    cheese = me.FindItem("item_cheese");

                    orchid = me.FindItem("item_orchid") ?? me.FindItem("item_bloodthorn");

                    Soul = me.FindItem("item_soul_ring");

                    shiva = me.FindItem("item_shivas_guard");

                    dagon = me.Inventory.Items.FirstOrDefault(item => item.Name.Contains("item_dagon"));

                    mom = me.FindItem("item_mask_of_madness");

                    abyssal = me.FindItem("item_abyssal_blade");

                    mjollnir = me.FindItem("item_mjollnir");

                    halberd = me.FindItem("item_heavens_halberd");

                    mail = me.FindItem("item_blade_mail");

                    bkb = me.FindItem("item_black_king_bar");

                    medall = me.FindItem("item_medallion_of_courage") ?? me.FindItem("item_solar_crest");

                    satanic = me.FindItem("item_satanic");

                    if (                     // Q Skill
                        Q != null &&
                        Q.CanBeCasted() &&
                        me.CanCast() &&
                        me.IsVisibleToEnemies &&
                        !e.IsMagicImmune() &&
                        Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(Q.Name) &&
                        me.Distance2D(e) <= 600 &&
                        Utils.SleepCheck("Q")
                        )

                    {
                        Q.UseAbility(e);
                        Utils.Sleep(250, "Q");
                    }                     // Q Skill end



                    if (                    //R Skill
                        R != null &&
                        R.CanBeCasted() &&
                        me.CanCast() &&
                        me.Distance2D(e) <= 350 &&
                        Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(R.Name) &&
                        Utils.SleepCheck("R")
                        )
                    {
                        R.UseAbility();
                        Utils.Sleep(250, "R");
                    }                     // R Skill end


                    if (                     // orchid
                        orchid != null &&
                        orchid.CanBeCasted() &&
                        me.CanCast() &&
                        !e.IsMagicImmune() &&
                        !linkens &&
                        Utils.SleepCheck("orchid") &&
                        me.IsVisibleToEnemies &&
                        me.Distance2D(e) <= 1000
                        )
                    {
                        orchid.UseAbility(e);
                        Utils.Sleep(250, "orchid");
                    }                     // orchid Item end

                    if (                  // sheep
                        sheep != null &&
                        me.IsVisibleToEnemies &&
                        sheep.CanBeCasted() &&
                        me.CanCast() &&
                        !e.IsMagicImmune() &&
                        !linkens &&
                        Utils.SleepCheck("sheep") &&
                        me.Distance2D(e) <= 600
                        )
                    {
                        sheep.UseAbility(e);
                        Utils.Sleep(250, "sheep");
                    }                     // sheep Item end

                    if (                  // Soul Item
                        Soul != null &&
                        Q != null &&
                        Q.CanBeCasted() &&
                        me.Health >= (me.MaximumHealth * 0.6) &&
                        me.Mana <= Q.ManaCost &&
                        Soul.CanBeCasted())
                    {
                        Soul.UseAbility();
                    }                     // Soul Item end

                    if (                  // Shiva Item
                        shiva != null &&
                        me.IsVisibleToEnemies &&
                        shiva.CanBeCasted() &&
                        me.CanCast() &&
                        !e.IsMagicImmune() &&
                        Utils.SleepCheck("shiva") &&
                        me.Distance2D(e) <= 600
                        )
                    {
                        shiva.UseAbility();
                        Utils.Sleep(250, "shiva");
                    }                     // Shiva Item end

                    if (                  // MOM
                        mom != null &&
                        mom.CanBeCasted() &&
                        me.CanCast() &&
                        Utils.SleepCheck("mom") &&
                        me.Distance2D(e) <= 700
                        )
                    {
                        mom.UseAbility();
                        Utils.Sleep(250, "mom");
                    }                     // MOM Item end

                    if (                  // Medall
                        medall != null &&
                        me.IsVisibleToEnemies &&
                        medall.CanBeCasted() &&

                        Utils.SleepCheck("Medall") &&
                        me.Distance2D(e) <= 500
                        )
                    {
                        medall.UseAbility(e);
                        Utils.Sleep(250, "Medall");
                    }                     // Medall Item end

                    if (                  // Abyssal Blade
                        abyssal != null &&
                        me.IsVisibleToEnemies &&
                        abyssal.CanBeCasted() &&
                        me.CanCast() &&
                        !e.IsMagicImmune() &&
                        Utils.SleepCheck("abyssal") &&
                        me.Distance2D(e) <= 400
                        )
                    {
                        abyssal.UseAbility(e);
                        Utils.Sleep(250, "abyssal");
                    }                     // Abyssal Item end

                    if (                  // Hellbard
                        halberd != null &&
                        me.IsVisibleToEnemies &&
                        halberd.CanBeCasted() &&
                        me.CanCast() &&
                        !e.IsMagicImmune() &&
                        Utils.SleepCheck("halberd") &&
                        me.Distance2D(e) <= 700
                        )
                    {
                        halberd.UseAbility(e);
                        Utils.Sleep(250, "halberd");
                    }                     // Hellbard Item end

                    if (                  // Mjollnir
                        mjollnir != null &&
                        me.IsVisibleToEnemies &&
                        mjollnir.CanBeCasted() &&
                        me.CanCast() &&
                        !e.IsMagicImmune() &&
                        Utils.SleepCheck("mjollnir") &&
                        me.Distance2D(e) <= 600
                        )
                    {
                        mjollnir.UseAbility(me);
                        Utils.Sleep(250, "mjollnir");
                    }                     // Mjollnir Item end
                    var v =
                        ObjectManager.GetEntities <Hero>()
                        .Where(x => x.Team != me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion)
                        .ToList();
                    if (mail != null && mail.CanBeCasted() && (v.Count(x => x.Distance2D(me) <= 650) >=
                                                               (Menu.Item("Heelm").GetValue <Slider>().Value)) &&
                        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)) &&
                        Utils.SleepCheck("bkb"))
                    {
                        bkb.UseAbility();
                        Utils.Sleep(100, "bkb");
                    }
                    if (                    // Dagon
                        dagon != null &&
                        dagon.CanBeCasted() &&
                        me.CanCast() &&
                        !e.IsMagicImmune() &&
                        Utils.SleepCheck("dagon")
                        )
                    {
                        dagon.UseAbility(e);
                        Utils.Sleep(250, "dagon");
                    }                     // Dagon Item end


                    if (                    // Satanic
                        satanic != null &&
                        me.Health <= (me.MaximumHealth * 0.3) &&
                        satanic.CanBeCasted() &&
                        me.Distance2D(e) <= 300 &&
                        Utils.SleepCheck("Satanic")
                        )
                    {
                        satanic.UseAbility();
                        Utils.Sleep(250, "Satanic");
                    }                     // Satanic Item end

                    if (Menu.Item("orbwalk").GetValue <bool>() && me.Distance2D(e) <= 1900)
                    {
                        Orbwalking.Orbwalk(e, 0, 1600, true, true);
                    }


                    /***************************************WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW**********************************/

                    var Web =
                        ObjectManager.GetEntities <Unit>().Where(unit => unit.Name == "npc_dota_broodmother_web").ToList();
                    var SpinWeb = GetClosestToWeb(Web, me);
                    if (W != null && W.CanBeCasted() && Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(W.Name))
                    {
                        if ((me.Distance2D(SpinWeb) >= 900 && e.Distance2D(SpinWeb) >= 900) && me.Distance2D(e) <= 800 && Utils.SleepCheck(SpinWeb.Handle + "SpideWeb"))
                        {
                            W.UseAbility(e.Predict(1100));
                            Utils.Sleep(300, SpinWeb.Handle + "SpideWeb");
                        }
                    }
                }
                /***************************************WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW**********************************/
            }
        }
Beispiel #29
0
        public void Combo()
        {
            if (!Menu.Item("enabled").IsActive())
            {
                return;
            }

            E = Toolset.ClosestToMouse(Me);
            if (E == null)
            {
                return;
            }
            Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key);

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

            _blink    = Me.FindItem("item_blink");
            _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");
            _medall   = Me.FindItem("item_medallion_of_courage") ?? Me.FindItem("item_solar_crest");
            _shiva    = Me.FindItem("item_shivas_guard");
            _vail     = Me.FindItem("item_veil_of_discord");

            var modifEther = E.Modifiers.Any(y => y.Name == "modifier_item_ethereal_blade_slow");
            var stoneModif = E.Modifiers.Any(y => y.Name == "modifier_medusa_stone_gaze_stone");
            var v          =
                ObjectManager.GetEntities <Hero>()
                .Where(x => x.Team != Me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion && !x.IsMagicImmune())
                .ToList();
            var isInvisible =
                Me.IsInvisible();

            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 && !isInvisible)
            {
                float   angle = Me.FindAngleBetween(E.Position, true);
                Vector3 pos   = new Vector3((float)(E.Position.X - 100 * Math.Cos(angle)), (float)(E.Position.Y - 100 * Math.Sin(angle)), 0);
                if (
                    _blink != null &&
                    _q.CanBeCasted() &&
                    Me.CanCast() &&
                    _blink.CanBeCasted() &&
                    Me.Distance2D(E) >= Toolset.AttackRange + 150 &&
                    Me.Distance2D(pos) <= 1180 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_blink.Name) &&
                    Utils.SleepCheck("blink")
                    )
                {
                    _blink.UseAbility(pos);
                    Utils.Sleep(250, "blink");
                }
                if (_orchid != null && _orchid.CanBeCasted() && Me.Distance2D(E) <= 900 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_orchid.Name) && Utils.SleepCheck("orchid"))
                {
                    _orchid.UseAbility(E);
                    Utils.Sleep(100, "orchid");
                }
                if (                 // vail
                    _vail != null &&
                    _vail.CanBeCasted() &&
                    Me.CanCast() &&
                    !E.IsMagicImmune() &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_vail.Name) &&
                    Me.Distance2D(E) <= 1500 &&
                    Utils.SleepCheck("vail")
                    )
                {
                    _vail.UseAbility(E.Position);
                    Utils.Sleep(250, "vail");
                }                 // orchid Item end
                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
                    Me.CanCast() &&
                    _dagon != null &&
                    (_ethereal == null ||
                     (modifEther ||
                      _ethereal.Cooldown < 17)) &&
                    !E.IsLinkensProtected() &&
                    _dagon.CanBeCasted() &&
                    Me.Distance2D(E) <= 1400 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled("item_dagon") &&
                    !E.IsMagicImmune() &&
                    !stoneModif &&
                    Utils.SleepCheck("dagon")
                    )
                {
                    _dagon.UseAbility(E);
                    Utils.Sleep(200, "dagon");
                }                 // Dagon Item end
                if (
                    _q != null && _q.CanBeCasted() && Me.Distance2D(E) <= 1500 &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_q.Name) &&
                    Utils.SleepCheck("Q")
                    )
                {
                    _q.UseAbility(E.Predict(400));
                    Utils.Sleep(200, "Q");
                }
                if (
                    _w != null && _w.CanBeCasted() && Me.Distance2D(E) <= 1500 &&
                    Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_w.Name) &&
                    Utils.SleepCheck("W")
                    )
                {
                    _w.UseAbility(E);
                    Utils.Sleep(200, "W");
                }
                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 (_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 (                 // 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()
        {
            if (!Menu.Item("enabled").IsActive())
            {
                return;
            }
            me         = ObjectManager.LocalHero;
            e          = Toolset.ClosestToMouse(me);
            LastHitkey = Menu.Item("LastHit").GetValue <KeyBind>().Active;
            Combokey   = Game.IsKeyDown(Menu.Item("ComboKey").GetValue <KeyBind>().Key);
            Chasekey   = Game.IsKeyDown(Menu.Item("ChaseKey").GetValue <KeyBind>().Key);
            useQ       = Menu.Item("useQ").IsActive();

            if (LastHitkey && !Combokey && !Chasekey && Utils.SleepCheck("combo") && !Game.IsPaused)
            {
                Q = me.Spellbook.SpellQ;

                Soul = me.FindItem("item_soul_ring");


                var spiderlingsLevel = me.Spellbook.SpellQ.Level - 1;


                var enemies = ObjectManager.GetEntities <Hero>().Where(hero => hero.IsAlive && !hero.IsIllusion && hero.IsVisible && hero.Team != me.Team).ToList();

                var creeps = ObjectManager.GetEntities <Creep>().Where(creep => (creep.ClassID == ClassID.CDOTA_BaseNPC_Creep_Lane || creep.ClassID == ClassID.CDOTA_BaseNPC_Creep_Siege || creep.ClassID == ClassID.CDOTA_BaseNPC_Creep_Neutral ||
                                                                                 (creep.ClassID == ClassID.CDOTA_Unit_VisageFamiliar && creep.Team != me.Team) || (creep.ClassID == ClassID.CDOTA_Unit_SpiritBear && creep.Team != me.Team) || (creep.ClassID == ClassID.CDOTA_BaseNPC_Invoker_Forged_Spirit &&
                                                                                                                                                                                                                                                creep.Team != me.Team) || creep.ClassID == ClassID.CDOTA_BaseNPC_Creep &&
                                                                                 creep.IsAlive && creep.IsVisible && creep.IsSpawned) && creep.Health <= 259).ToList();

                var creepQ = ObjectManager.GetEntities <Creep>().Where(creep => (creep.ClassID == ClassID.CDOTA_BaseNPC_Creep_Lane || creep.ClassID == ClassID.CDOTA_BaseNPC_Creep_Siege || creep.ClassID == ClassID.CDOTA_BaseNPC_Creep_Neutral ||
                                                                                 creep.ClassID == ClassID.CDOTA_Unit_SpiritBear || creep.ClassID == ClassID.CDOTA_BaseNPC_Invoker_Forged_Spirit || creep.ClassID == ClassID.CDOTA_BaseNPC_Creep &&
                                                                                 creep.IsAlive && creep.IsVisible && creep.IsSpawned)).ToList();

                var Spiderlings = ObjectManager.GetEntities <Unit>().Where(spiderlings => spiderlings.ClassID == ClassID.CDOTA_Unit_Broodmother_Spiderling).ToList();


                // Creep Q lasthit
                if (useQ && Q.CanBeCasted() && me.IsAlive)
                {
                    foreach (var creep in creepQ)
                    {
                        if (creep.Health <= Math.Floor((spiderQ[spiderlingsLevel]) * (1 - creep.MagicDamageResist)) && creep.Health > 45 && creep.Team != me.Team)
                        {
                            if (creep.Position.Distance2D(me.Position) <= 600 && Utils.SleepCheck("QQQ"))
                            {
                                if (Soul != null && Soul.CanBeCasted() && me.Health >= 400)
                                {
                                    Soul.UseAbility();
                                    Utils.Sleep(300, "QQQ");
                                }
                                else
                                {
                                    Q.UseAbility(creep);
                                }
                                Utils.Sleep(300, "QQQ");
                            }
                        }
                    }
                }
                // Enemy Q lasthit
                if (Q.CanBeCasted() && me.IsAlive)
                {
                    foreach (var enemy in enemies)
                    {
                        if (enemy.Health <= (spiderQ[spiderlingsLevel] - enemy.MagicDamageResist) && enemy.Health > 0)
                        {
                            if (enemy.Position.Distance2D(me.Position) <= 600 && Utils.SleepCheck("QQQ"))
                            {
                                if (Soul != null && Soul.CanBeCasted() && me.Health >= 400)
                                {
                                    Soul.UseAbility();
                                    Utils.Sleep(300, "QQQ");
                                }
                                else
                                {
                                    Q.UseAbility(e);
                                }
                                Utils.Sleep(300, "QQQ");
                            }
                        }
                    }
                }

                //var Spiderling = ObjectManager.GetEntities<Unit>().Where(x => x.ClassID == ClassID.CDOTA_Unit_Broodmother_Spiderling && x.IsAlive && x.IsControllable && x.Team == me.Team).ToList();
                var count = Spiderlings.Count();
                if (count <= 0)
                {
                    return;
                }
                // Autodenies
                for (int s = 0; s < count; ++s)
                {
                    if (Spiderlings[s].Health > 0 && Spiderlings[s].Health <= spiderDenies)
                    {
                        for (int z = 0; z < count; ++z)
                        {
                            if (Spiderlings[s].Position.Distance2D(Spiderlings[z].Position) <= 500 &&
                                Utils.SleepCheck(Spiderlings[z].Handle + "Spiderlings"))
                            {
                                Spiderlings[z].Attack(Spiderlings[s]);
                                Utils.Sleep(350, Spiderlings[z].Handle + "Spiderlings");
                            }
                        }
                    }
                }

                // Auto spider deny and lasthit
                var countcreep = creeps.Count();
                if (countcreep >= 1)
                {
                    for (int c = 0; c < countcreep; c++)
                    {
                        for (int s = 0; s < count; s++)
                        {
                            if (creeps[c].Position.Distance2D(Spiderlings[s].Position) <= 500 &&
                                creeps[c].Team != me.Team && creeps[c].Health > 0 && creeps[c].Health < Math.Floor(spiderDmgStatick * (1 - creeps[c].DamageResist)) &&
                                Utils.SleepCheck(Spiderlings[s].Handle + "Spiderling"))
                            {
                                {
                                    Spiderlings[s].Attack(creeps[c]);
                                    Utils.Sleep(350, Spiderlings[s].Handle + "Spiderling");
                                }
                            }
                            else if (creeps[c].Position.Distance2D(Spiderlings[s].Position) <= 500 &&
                                     creeps[c].Team == me.Team && creeps[c].Health > 0 && creeps[c].Health < Math.Floor(spiderDmgStatick * (1 - creeps[c].DamageResist)) &&
                                     Utils.SleepCheck(Spiderlings[s].Handle + "Spiderlings"))
                            {
                                Spiderlings[s].Attack(creeps[c]);
                                Utils.Sleep(350, Spiderlings[s].Handle + "Spiderlings");
                            }
                        }
                    }
                }

                // Auto spider enemy lasthit
                var countenemy = enemies.Count();
                if (countenemy >= 1)
                {
                    for (int t = 0; t < countenemy; ++t)
                    {
                        for (int s = 0; s < count; ++s)
                        {
                            spiderDmg = Spiderlings.Count(y => y.Distance2D(enemies[t]) < 800) * Spiderlings[s].MinimumDamage;

                            if ((enemies[t].Position.Distance2D(Spiderlings[s].Position)) <= 800 &&
                                enemies[t].Team != me.Team && enemies[t].Health > 0 && enemies[t].Health < Math.Floor(spiderDmg * (1 - enemies[t].DamageResist)) && Utils.SleepCheck(Spiderlings[t].Handle + "AttackEnemies"))
                            {
                                Spiderlings[s].Attack(enemies[t]);
                                Utils.Sleep(350, Spiderlings[t].Handle + "AttackEnemies");
                            }
                        }
                    }
                }
                Utils.Sleep(290, "combo");
            }
        }