예제 #1
0
파일: Program.cs 프로젝트: Lat0ur/Ensage-
 private static bool NothingCanCast()
 {
     return(!Q.CanBeCasted() && !W.CanBeCasted() && !R.CanBeCasted() && !Dagon.CanBeCasted() &&
            (!Ethereal.CanBeCasted() || !_menuValue.IsEnabled("item_ethereal_blade")) &&
            (!Hex.CanBeCasted() || !_menuValue.IsEnabled("item_sheepstick")) &&
            (!Shiva.CanBeCasted() || !_menuValue.IsEnabled("item_shivas_guard")) &&
            (!Eul.CanBeCasted() || !_menuValue.IsEnabled("item_cyclone")) &&
            (!Veil.CanBeCasted() || !_menuValue.IsEnabled("item_veil_of_discord")) &&
            (!Orchid.CanBeCasted() || !_menuValue.IsEnabled("item_orchid")));
 }
예제 #2
0
 private static bool nothingCanCast()
 {
     if (!Laser.CanBeCasted() &&
         !Rocket.CanBeCasted() &&
         !Ethereal.CanBeCasted() &&
         !Dagon.CanBeCasted() &&
         !Hex.CanBeCasted() &&
         !Shiva.CanBeCasted() &&
         !Veil.CanBeCasted())
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
예제 #3
0
 static bool Ready_for_refresh()
 {
     if ((ghost != null && ghost.CanBeCasted() && Menu.Item("Items: ").GetValue <AbilityToggler>().IsEnabled(ghost.Name)) ||
         (Soulring != null && Soulring.CanBeCasted() && Menu.Item("Items: ").GetValue <AbilityToggler>().IsEnabled(Soulring.Name)) ||
         (Hex != null && Hex.CanBeCasted() && Menu.Item("Items: ").GetValue <AbilityToggler>().IsEnabled(Hex.Name)) ||
         (Laser != null && Laser.CanBeCasted() && Menu.Item("Skills: ").GetValue <AbilityToggler>().IsEnabled(Laser.Name)) ||
         (Ethereal != null && Ethereal.CanBeCasted() && Menu.Item("Items: ").GetValue <AbilityToggler>().IsEnabled(Ethereal.Name)) ||
         (Dagon != null && Dagon.CanBeCasted() && Menu.Item("Items: ").GetValue <AbilityToggler>().IsEnabled("item_dagon")) ||
         (Rocket != null && Rocket.CanBeCasted() && Menu.Item("Skills: ").GetValue <AbilityToggler>().IsEnabled(Rocket.Name)) ||
         (Shiva != null && Shiva.CanBeCasted() && Menu.Item("Items: ").GetValue <AbilityToggler>().IsEnabled(Shiva.Name)) ||
         (euls != null && euls.CanBeCasted() && Menu.Item("Items: ").GetValue <AbilityToggler>().IsEnabled(euls.Name)))
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
예제 #4
0
        public void Combo()
        {
            if (!Menu.Item("enabled").GetValue <bool>())
            {
                return;
            }

            Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key);
            Q      = me.Spellbook.SpellQ;
            W      = me.Spellbook.SpellW;
            R      = me.Spellbook.SpellR;

            mom      = me.FindItem("item_mask_of_madness");
            urn      = me.FindItem("item_urn_of_shadows");
            dagon    = me.Inventory.Items.FirstOrDefault(x => x.Name.Contains("item_dagon"));
            ethereal = me.FindItem("item_ethereal_blade");
            halberd  = me.FindItem("item_heavens_halberd");
            mjollnir = me.FindItem("item_mjollnir");
            blink    = me.FindItem("item_blink");
            orchid   = me.FindItem("item_orchid") ?? me.FindItem("item_bloodthorn");
            abyssal  = me.FindItem("item_abyssal_blade");
            mail     = me.FindItem("item_blade_mail");
            bkb      = me.FindItem("item_black_king_bar");
            satanic  = me.FindItem("item_satanic");
            medall   = me.FindItem("item_medallion_of_courage") ?? me.FindItem("item_solar_crest");
            Shiva    = me.FindItem("item_shivas_guard");
            var v = ObjectManager.GetEntities <Hero>()
                    .Where(x => x.Team != me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion)
                    .ToList();

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

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

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

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

                if (dagon != null &&
                    dagon.CanBeCasted() &&
                    me.Distance2D(e) <= 500 &&
                    Utils.SleepCheck("dagon"))
                {
                    dagon.UseAbility(e);
                    Utils.Sleep(100, "dagon");
                }
                if (                 // Abyssal Blade
                    abyssal != null &&
                    abyssal.CanBeCasted() &&
                    me.CanCast() &&
                    !e.IsStunned() &&
                    !e.IsHexed() &&
                    Utils.SleepCheck("abyssal") &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(abyssal.Name) &&
                    me.Distance2D(e) <= 400
                    )
                {
                    abyssal.UseAbility(e);
                    Utils.Sleep(250, "abyssal");
                }                 // Abyssal Item end
                if (urn != null && urn.CanBeCasted() && urn.CurrentCharges > 0 && me.Distance2D(e) <= 400 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(urn.Name) && Utils.SleepCheck("urn"))
                {
                    urn.UseAbility(e);
                    Utils.Sleep(240, "urn");
                }
                if (                 // Hellbard
                    halberd != null &&
                    halberd.CanBeCasted() &&
                    me.CanCast() &&
                    !e.IsMagicImmune() &&
                    (e.NetworkActivity == NetworkActivity.Attack ||
                     e.NetworkActivity == NetworkActivity.Crit ||
                     e.NetworkActivity == NetworkActivity.Attack2) &&
                    Utils.SleepCheck("halberd") &&
                    me.Distance2D(e) <= 700 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(halberd.Name)
                    )
                {
                    halberd.UseAbility(e);
                    Utils.Sleep(250, "halberd");
                }
                if (                 // Satanic
                    satanic != null &&
                    me.Health <= (me.MaximumHealth * 0.3) &&
                    satanic.CanBeCasted() &&
                    me.Distance2D(e) <= me.AttackRange + 50 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(satanic.Name) &&
                    Utils.SleepCheck("satanic")
                    )
                {
                    satanic.UseAbility();
                    Utils.Sleep(240, "satanic");
                }                 // Satanic Item end
                if (mail != null && mail.CanBeCasted() && (v.Count(x => x.Distance2D(me) <= 650) >=
                                                           (Menu.Item("Heelm").GetValue <Slider>().Value)) &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(mail.Name) && Utils.SleepCheck("mail"))
                {
                    mail.UseAbility();
                    Utils.Sleep(100, "mail");
                }
                if (bkb != null && bkb.CanBeCasted() && (v.Count(x => x.Distance2D(me) <= 650) >=
                                                         (Menu.Item("Heel").GetValue <Slider>().Value)) &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(bkb.Name) && Utils.SleepCheck("bkb"))
                {
                    bkb.UseAbility();
                    Utils.Sleep(100, "bkb");
                }
            }
            OnTimedEvent();
            if (Active)
            {
                //TODO test
                var ally = ObjectManager.GetEntities <Hero>()
                           .Where(x => x.Team == me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion && !x.Equals(me)).ToList();
                for (int i = 0; i < v.Count; ++i)
                {
                    if ((v.Count(x => x.Distance2D(v[i]) <= 425 + me.HullRadius) >=
                         (Menu.Item("v").GetValue <Slider>().Value)) &&
                        (ally.Count(x => x.Distance2D(me) <= 425 + me.HullRadius) <=
                         (Menu.Item("ally").GetValue <Slider>().Value)))
                    {
                        if (blink != null && blink.CanBeCasted() && me.Distance2D(v[i]) <= blink.GetCastRange() && me.Distance2D(v[i]) > R.GetCastRange() + me.HullRadius &&
                            Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(blink.Name) && Utils.SleepCheck("blink"))
                        {
                            blink.UseAbility(v[i].Position);
                            Utils.Sleep(100, "blink");
                        }
                        if (Q != null && Q.CanBeCasted() && me.Distance2D(v[i]) <= Q.GetCastRange() + me.HullRadius && me.Distance2D(v[i]) > R.GetCastRange() + me.HullRadius &&
                            Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(Q.Name) && Utils.SleepCheck("Q"))
                        {
                            Q.UseAbility(v[i].Position);
                            Utils.Sleep(100, "Q");
                        }
                        if (R != null && R.CanBeCasted() && me.Distance2D(v[i]) <= R.GetCastRange() + me.HullRadius &&
                            Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(R.Name) && Utils.SleepCheck("Q"))
                        {
                            R.UseAbility(v[i].Position);
                            Utils.Sleep(100, "Q");
                        }
                    }
                }
            }
        }
예제 #5
0
        public static void Others(EventArgs args)
        {
            if (!Game.IsInGame || me.ClassID != ClassID.CDOTA_Unit_Hero_EarthSpirit || Game.IsWatchingGame)
            {
                return;
            }

            qKey    = Game.IsKeyDown(menu.Item("qKey").GetValue <KeyBind>().Key);
            wKey    = Game.IsKeyDown(menu.Item("wKey").GetValue <KeyBind>().Key);
            eKey    = Game.IsKeyDown(menu.Item("eKey").GetValue <KeyBind>().Key);
            AutoUlt = menu.Item("oneult").IsActive();
            if (!menu.Item("enabled").IsActive())
            {
                return;
            }

            if (e == null)
            {
                return;
            }

            D = me.Spellbook.SpellD;
            Q = me.Spellbook.SpellQ;
            E = me.Spellbook.SpellE;
            W = me.Spellbook.SpellW;
            F = me.Spellbook.SpellF;
            R = me.Spellbook.SpellR;


            var magnetizemod = e.Modifiers.Where(y => y.Name == "modifier_earth_spirit_magnetize").DefaultIfEmpty(null).FirstOrDefault();

            if (AutoUlt && magnetizemod != null && magnetizemod.RemainingTime <= 0.2 + Game.Ping && me.Distance2D(e) <= D.CastRange && Utils.SleepCheck("Rem"))
            {
                D.UseAbility(e.Position);
                Utils.Sleep(1000, "Rem");
            }
            var remnant = ObjectManager.GetEntities <Unit>().Where(x => x.ClassID == ClassID.CDOTA_Unit_Earth_Spirit_Stone && x.Team == me.Team &&
                                                                   x.Distance2D(me) <= 1700 && x.IsAlive && x.IsValid).ToList();
            var remnantCount = remnant.Count;

            if (Active && me.Distance2D(e) <= 1400 && e.IsAlive && !me.IsInvisible() && Utils.SleepCheck("Combo"))
            {
                Wmod = me.HasModifier("modifier_earth_spirit_rolling_boulder_caster");


                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");
                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");
                soulring = 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");

                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 ( // 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 ( //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 (
                    blink != null &&
                    me.CanCast() &&
                    blink.CanBeCasted() &&
                    me.Distance2D(e) >= 450 &&
                    me.Distance2D(e) <= 1150 &&
                    remnant.Count == 0 &&
                    menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(blink.Name) &&
                    Utils.SleepCheck("blink")
                    )
                {
                    blink.UseAbility(e.Position);
                    Utils.Sleep(250, "blink");
                }

                if ( // SoulRing Item
                    soulring != null &&
                    soulring.CanBeCasted() &&
                    me.CanCast() &&
                    me.Health >= (me.MaximumHealth * 0.5) &&
                    me.Mana <= R.ManaCost &&
                    menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(soulring.Name)
                    )
                {
                    soulring.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 ( // 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");
                } // Satanic Item end

                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");
            }
            if (qKey && me.Distance2D(e) <= 1400 && e != null && e.IsAlive && !me.IsInvisible())
            {
                Wmod = me.HasModifier("modifier_earth_spirit_rolling_boulder_caster");
                if (remnant.Count == 0)
                {
                    if (
                        D.CanBeCasted() &&
                        Q.CanBeCasted() &&
                        !Wmod &&
                        ((blink == null ||
                          !blink.CanBeCasted() ||
                          !menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(blink.Name)) ||
                         (blink != null && me.Distance2D(e) <= 450 && blink.CanBeCasted()))
                        )
                    {
                        if (me.Distance2D(e) <= E.CastRange - 50 &&
                            Utils.SleepCheck("Rem"))
                        {
                            if (me.NetworkActivity == NetworkActivity.Move)
                            {
                                me.Stop();
                            }
                            else
                            {
                                D.UseAbility(Prediction.InFront(me, 100));
                            }
                            Utils.Sleep(600, "Rem");
                        }
                    }
                }
                if (remnantCount >= 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 &&
                            me.Distance2D(r) >= 350 &&
                            ((blink == null ||
                              !blink.CanBeCasted() ||
                              !menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(blink.Name)) ||
                             (blink != null && me.Distance2D(e) <= 450 && blink.CanBeCasted()))
                            )
                        {
                            if (me.Distance2D(e) <= E.CastRange - 50 &&
                                Utils.SleepCheck("Rem"))
                            {
                                if (me.NetworkActivity == NetworkActivity.Move)
                                {
                                    me.Stop();
                                }
                                else
                                {
                                    D.UseAbility(Prediction.InFront(me, 100));
                                }
                                Utils.Sleep(600, "Rem");
                            }
                        }
                        if (
                            me.Distance2D(r) >= 200 &&
                            me.Distance2D(r) <= 350 &&
                            Q.CanBeCasted() &&
                            Utils.SleepCheck("RemMove"))
                        {
                            me.Move(r.Position);
                            Utils.Sleep(300, "RemMove");
                        }
                        if (//Q Skill
                            r != null &&
                            Q != null &&
                            Q.CanBeCasted() &&
                            me.CanCast() &&
                            me.Distance2D(e) <= E.CastRange - 50 &&
                            r.Distance2D(me) <= 210 &&
                            Utils.SleepCheck(r.Handle + "remnantQ")
                            )
                        {
                            Q.CastSkillShot(e);
                            Utils.Sleep(250, r.Handle + "remnantQ");
                        }
                    }
                }
            }
            if (wKey)
            {
                Wmod = me.HasModifier("modifier_earth_spirit_rolling_boulder_caster");
                Task.Delay(350).ContinueWith(_ =>
                {
                    if (remnant.Count == 0)
                    {
                        if (
                            D.CanBeCasted() &&
                            Wmod &&
                            me.Distance2D(e) >= 600 &&
                            Utils.SleepCheck("nextAction")
                            )
                        {
                            D.UseAbility(Prediction.InFront(me, 170));
                            Utils.Sleep(1800 + D.FindCastPoint(), "nextAction");
                        }
                    }
                });
                if (remnantCount >= 1)
                {
                    for (var i = 0; i < remnantCount; ++i)
                    {
                        if (//W Skill
                            W != null &&
                            W.CanBeCasted() &&
                            Game.MousePosition.Distance2D(e) <= 500 &&
                            me.Distance2D(e) <= W.CastRange - 200 &&
                            Utils.SleepCheck(me.Handle + "remnantW")
                            )
                        {
                            W.CastSkillShot(e);
                            Utils.Sleep(250, me.Handle + "remnantW");
                        }
                        else if (//W Skill
                            W != null &&
                            W.CanBeCasted() &&
                            Game.MousePosition.Distance2D(e) >= 500 &&
                            Utils.SleepCheck(me.Handle + "remnantW")
                            )
                        {
                            W.UseAbility(Game.MousePosition);
                            Utils.Sleep(250, me.Handle + "remnantW");
                        }

                        Task.Delay(350).ContinueWith(_ =>
                        {
                            var r = remnant[i];
                            if (r != null && me.Distance2D(r) >= 200)
                            {
                                if (
                                    D.CanBeCasted() &&
                                    Wmod &&
                                    me.Distance2D(e) >= 600

                                    && Utils.SleepCheck("nextAction")
                                    )
                                {
                                    D.UseAbility(Prediction.InFront(me, 170));
                                    Utils.Sleep(1800 + D.FindCastPoint(), "nextAction");
                                }
                            }
                        });
                    }
                }
            }
            if (eKey && me.Distance2D(e) <= 1400 && e != null && e.IsAlive && !me.IsInvisible())
            {
                if (remnant.Count == 0)
                {
                    if (
                        D.CanBeCasted() &&
                        E.CanBeCasted()
                        )
                    {
                        if (me.Distance2D(e) <= E.CastRange - 50 &&
                            Utils.SleepCheck("Rem"))
                        {
                            if (me.NetworkActivity == NetworkActivity.Move)
                            {
                                me.Stop();
                            }
                            else
                            {
                                D.UseAbility(e.Position);
                            }
                            Utils.Sleep(1000, "Rem");
                        }
                    }
                }
                if (remnantCount >= 1)
                {
                    for (int i = 0; i < remnantCount; ++i)
                    {
                        var r = remnant[i];

                        if (r.Distance2D(e) >= 300)
                        {
                            if (
                                D.CanBeCasted() &&
                                (E != null && E.CanBeCasted()) &&
                                !r.HasModifier("modifier_earth_spirit_boulder_smash") &&
                                !r.HasModifier("modifier_earth_spirit_geomagnetic_grip")
                                )
                            {
                                if (me.Distance2D(e) <= E.CastRange - 50 &&
                                    Utils.SleepCheck("Rem"))
                                {
                                    if (me.NetworkActivity == NetworkActivity.Move)
                                    {
                                        me.Stop();
                                    }
                                    else
                                    {
                                        D.UseAbility(e.Position);
                                    }
                                    Utils.Sleep(1000, "Rem");
                                }
                            }
                        }
                        if (r != null &&
                            E != null &&
                            E.CanBeCasted() &&
                            me.CanCast() &&
                            me.Distance2D(r) < E.CastRange &&
                            me.Distance2D(e) <= E.CastRange
                            )
                        {
                            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");
                            }
                        }
                    }
                }
            }
        }
예제 #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");
            }
        }
        public void Combo()
        {
            Active = Game.IsKeyDown(menu.Item("keyBind").GetValue <KeyBind>().Key);
            wKey   = Game.IsKeyDown(menu.Item("wKey").GetValue <KeyBind>().Key);
            oneULT = menu.Item("oneult").IsActive();
            if (!menu.Item("enabled").IsActive())
            {
                return;
            }

            e = me.ClosestToMouseTarget(1800);
            if (e == null)
            {
                return;
            }
            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");
            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");
            soulring = 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 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 (
                    me.Distance2D(e) <= me.AttackRange + 100 &&
                    (!me.IsAttackImmune() || !e.IsAttackImmune()) &&
                    me.NetworkActivity != NetworkActivity.Attack && me.CanAttack() && Utils.SleepCheck("attack")
                    )
                {
                    me.Attack(e);
                    Utils.Sleep(150, "attack");
                }
                else if (
                    (!me.CanAttack() || me.Distance2D(e) >= 0) && me.NetworkActivity != NetworkActivity.Attack &&
                    me.Distance2D(e) <= 900 && Utils.SleepCheck("Move")
                    )
                {
                    me.Move(e.Predict(400));
                    Utils.Sleep(390, "Move");
                }
            }

            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
                    soulring != null &&
                    soulring.CanBeCasted() &&
                    me.CanCast() &&
                    me.Health >= (me.MaximumHealth * 0.5) &&
                    me.Mana <= R.ManaCost &&
                    menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(soulring.Name)
                    )
                {
                    soulring.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 (              // 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.CastRange
                 *      && 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() &&
                        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
                    soulring != null &&
                    soulring.CanBeCasted() &&
                    me.CanCast() &&
                    me.Health >= (me.MaximumHealth * 0.5) &&
                    me.Mana <= R.ManaCost &&
                    menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(soulring.Name)
                    )
                {
                    soulring.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 (              // 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");
                }
            }
        }
예제 #8
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");
                }
            }
        }
예제 #9
0
        public void Combo()
        {
            if (!menu.Item("enabled").IsActive())
            {
                return;
            }

            e = me.ClosestToMouseTarget(1800);
            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");
            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");
            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 ModifInv =
                me.IsInvisible();

            if (Active)
            {
                if (
                    me.Distance2D(e) <= Toolset.AttackRange + 100 && (!me.IsAttackImmune() || !e.IsAttackImmune()) &&
                    me.NetworkActivity != NetworkActivity.Attack && me.CanAttack() && Utils.SleepCheck("attack")
                    )
                {
                    me.Attack(e);
                    Utils.Sleep(190, "attack");
                }
                else
                if (
                    ((!me.CanAttack() && me.Distance2D(e) >= 0) || me.Distance2D(e) >= 300) && me.NetworkActivity != NetworkActivity.Attack &&
                    me.Distance2D(e) <= 1500 && Utils.SleepCheck("Move")
                    )
                {
                    me.Move(e.Predict(350));
                    Utils.Sleep(350, "Move");
                }
            }
            if (Active && me.Distance2D(e) <= 1400 && e != null && e.IsAlive && !ModifInv)
            {
                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 (                 // 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 (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");
                }
            }
        }
예제 #10
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
예제 #11
0
        //private int stage;

        public void Combo()
        {
            target = me.ClosestToMouseTarget(2000);


            if (!Game.IsInGame || Game.IsPaused || Game.IsWatchingGame || Game.IsChatOpen)
            {
                return;
            }

            if (me == null || target == null)
            {
                return;
            }
            // skills
            Q = me.Spellbook.SpellQ;
            W = me.Spellbook.SpellW;
            E = me.Spellbook.SpellE;
            D = me.Spellbook.SpellD;
            R = me.Spellbook.SpellR;
            // itens
            blink      = me.FindItem("item_blink");
            dagon      = me.Inventory.Items.FirstOrDefault(x => x.Name.Contains("item_dagon"));
            ethereal   = me.FindItem("item_ethereal_blade");
            euls       = me.FindItem("item_cyclone");
            Shiva      = me.FindItem("item_shivas_guard");
            orchid     = me.FindItem("item_orchid");
            vail       = me.FindItem("item_veil_of_discord");
            forcestaff = me.FindItem("item_force_staff");
            sheep      = me.FindItem("item_sheepstick");

            //Starting Combo

            var _Is_in_Advantage = (target.HasModifier("modifier_item_blade_mail_reflect") ||
                                    target.HasModifier("modifier_item_lotus_orb_active") ||
                                    target.HasModifier("modifier_nyx_assassin_spiked_carapace") ||
                                    target.HasModifier("modifier_templar_assassin_refraction_damage") ||
                                    target.HasModifier("modifier_ursa_enrage") ||
                                    target.HasModifier("modifier_abaddon_borrowed_time") ||
                                    (target.HasModifier("modifier_dazzle_shallow_grave")));

            if (Game.IsKeyDown(menu.Item("Full").GetValue <KeyBind>().Key) && Utils.SleepCheck("combo"))
            {
                if (me.CanCast() && !me.IsChanneling() && me.Distance2D(target) <= 1200 &&
                    target.IsVisible && target.IsAlive && !target.IsMagicImmune() &&
                    !_Is_in_Advantage)
                {
                    if (me.CanCast())
                    {
                        var v =
                            ObjectManager.GetEntities <Hero>()
                            .Where(x => x.Team != me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion && !x.IsMagicImmune())
                            .ToList();
                        var X   = me.Position.X;
                        var Y   = me.Position.Y;
                        var pos = new Vector3(X, Y, me.Position.Z);
                        if (me.Position.X < 0)
                        {
                            X = me.Position.X + 100;
                        }
                        else
                        {
                            X = me.Position.X - 100;
                        }
                        if (me.Position.Y < 0)
                        {
                            Y = me.Position.Y + 100;
                        }
                        else
                        {
                            Y = me.Position.Y - 100;
                        }
                        uint elsecount = 0;
                        if (blink != null &&
                            blink.CanBeCasted() &&
                            me.Distance2D(target.Position) > 300 &&
                            menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(blink.Name))
                        {
                            blink.UseAbility(target.Position);
                        }
                        elsecount++;
                        if ( // vail
                            vail != null &&
                            vail.CanBeCasted() &&
                            me.CanCast() &&
                            menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(vail.Name) &&
                            !target.IsMagicImmune() &&
                            Utils.SleepCheck("vail") &&
                            me.Distance2D(target) <= 1500
                            )
                        {
                            vail.UseAbility(target.Position);
                        }
                        else
                        {
                            elsecount++;
                        }
                        if (orchid != null && orchid.CanBeCasted() &&
                            menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(orchid.Name))
                        {
                            orchid.UseAbility(target);
                        }
                        else
                        {
                            elsecount++;
                        }
                        if (sheep != null && sheep.CanBeCasted() &&
                            menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(sheep.Name))
                        {
                            sheep.UseAbility(target);
                        }
                        else
                        {
                            elsecount++;
                        }
                        if (ethereal != null &&
                            ethereal.CanBeCasted() &&
                            menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(ethereal.Name))
                        {
                            ethereal.UseAbility(target);
                        }
                        else
                        {
                            elsecount++;
                        }
                        if (Q != null &&
                            Q.CanBeCasted() &&
                            (blink == null ||
                             !blink.CanBeCasted()) &&
                            me.Distance2D(target) < Q.CastRange &&
                            menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(Q.Name))
                        {
                            Q.UseAbility(pos);
                        }
                        else
                        {
                            elsecount++;
                        }

                        if (W != null && W.CanBeCasted() && me.Distance2D(target) < 390 &&
                            menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(W.Name))
                        {
                            W.UseAbility();
                        }
                        else
                        {
                            elsecount++;
                        }
                        if (// Dagon
                            elsecount == 7 &&
                            me.CanCast() &&
                            dagon != null &&
                            (ethereal == null ||
                             (target.HasModifier("modifier_item_ethereal_blade_slow") ||
                              ethereal.Cooldown < 17)) &&
                            !target.IsLinkensProtected() &&
                            dagon.CanBeCasted() &&
                            menu.Item("Items").GetValue <AbilityToggler>().IsEnabled("item_dagon") &&
                            !target.IsMagicImmune() &&
                            Utils.SleepCheck("dagon")
                            )
                        {
                            dagon.UseAbility(target);
                            Utils.Sleep(200, "dagon");
                        }
                        else
                        {
                            elsecount++;   // Dagon Item end
                        }
                        if (elsecount == 8 && Shiva != null &&
                            Shiva.CanBeCasted() &&
                            me.Distance2D(target) <= 600 &&
                            menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(Shiva.Name))
                        {
                            Shiva.UseAbility();
                        }
                        else
                        {
                            elsecount++;
                        }
                        if (elsecount == 9 && R != null && R.CanBeCasted() && (v.Count(x => x.Distance2D(me) <= 650) >=
                                                                               (menu.Item("Heel").GetValue <Slider>().Value)) &&
                            menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(R.Name) && Utils.SleepCheck("R"))
                        {
                            R.UseAbility(target.Position);
                            Utils.Sleep(100, "R");
                        }
                    }
                }
                Utils.Sleep(250, "combo");
            }
            //Escape-combo
            if (Game.IsKeyDown(menu.Item("Escape").GetValue <KeyBind>().Key) && me.Distance2D(target) <= 1200 &&
                target.IsVisible && target.IsAlive && !target.IsMagicImmune() &&
                Utils.SleepCheck("combo2"))
            {
                if (me.CanCast())
                {
                    var X   = me.Position.X;
                    var Y   = me.Position.Y;
                    var pos = new Vector3(X, Y, me.Position.Z);
                    if (me.Position.X < 0)
                    {
                        X = me.Position.X + 100;
                    }
                    else
                    {
                        X = me.Position.X - 100;
                    }
                    if (me.Position.Y < 0)
                    {
                        Y = me.Position.Y + 100;
                    }
                    else
                    {
                        Y = me.Position.Y - 100;
                    }
                    uint elsecount = 0;
                    if (blink != null &&
                        blink.CanBeCasted() &&
                        me.Distance2D(target.Position) > 300 &&
                        menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(blink.Name))
                    {
                        blink.UseAbility(target.Position);
                    }
                    elsecount++;
                    if ( // vail
                        vail != null &&
                        vail.CanBeCasted() &&
                        me.CanCast() &&
                        menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(vail.Name) &&
                        !target.IsMagicImmune() &&
                        Utils.SleepCheck("vail") &&
                        me.Distance2D(target) <= 1500
                        )
                    {
                        vail.UseAbility(target.Position);
                    }
                    else
                    {
                        elsecount++;
                    }
                    if (orchid != null && orchid.CanBeCasted() &&
                        menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(orchid.Name))
                    {
                        orchid.UseAbility(target);
                    }
                    else
                    {
                        elsecount++;
                    }
                    if (sheep != null && sheep.CanBeCasted() &&
                        menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(sheep.Name))
                    {
                        sheep.UseAbility(target);
                    }
                    else
                    {
                        elsecount++;
                    }
                    if (ethereal != null &&
                        ethereal.CanBeCasted() &&
                        menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(ethereal.Name))
                    {
                        ethereal.UseAbility(target);
                    }
                    else
                    {
                        elsecount++;
                    }
                    if (Q != null &&
                        Q.CanBeCasted() &&
                        (blink == null ||
                         !blink.CanBeCasted()) &&
                        me.Distance2D(target) < Q.CastRange &&
                        menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(Q.Name))
                    {
                        Q.UseAbility(pos);
                    }
                    else
                    {
                        elsecount++;
                    }

                    if (W != null && W.CanBeCasted() && me.Distance2D(target) < 390 &&
                        menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(W.Name))
                    {
                        W.UseAbility();
                    }
                    else
                    {
                        elsecount++;
                    }
                    if (// Dagon
                        elsecount == 7 &&
                        me.CanCast() &&
                        dagon != null &&
                        (ethereal == null ||
                         (target.HasModifier("modifier_item_ethereal_blade_slow") ||
                          ethereal.Cooldown < 17)) &&
                        !target.IsLinkensProtected() &&
                        dagon.CanBeCasted() &&
                        menu.Item("Items").GetValue <AbilityToggler>().IsEnabled("item_dagon") &&
                        !target.IsMagicImmune() &&
                        Utils.SleepCheck("dagon")
                        )
                    {
                        dagon.UseAbility(target);
                        Utils.Sleep(200, "dagon");
                    }
                    else
                    {
                        elsecount++;   // Dagon Item end
                    }
                    if (Shiva != null &&
                        Shiva.CanBeCasted() &&
                        me.Distance2D(target) <= 600 &&
                        menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(Shiva.Name))
                    {
                        Shiva.UseAbility();
                    }
                    else
                    {
                        elsecount++;
                    }
                    if (elsecount == 9 && E != null &&
                        E.CanBeCasted() &&
                        D != null &&
                        D.CanBeCasted()
                        &&
                        ((sheep == null || !sheep.CanBeCasted() || !menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(sheep.Name)) &&
                         (Shiva == null || !Shiva.CanBeCasted() || !menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(Shiva.Name)) &&
                         (dagon == null || !dagon.CanBeCasted() || !menu.Item("Items").GetValue <AbilityToggler>().IsEnabled("item_dagon")) &&
                         (ethereal == null || !ethereal.CanBeCasted() || !menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(ethereal.Name)) &&
                         (orchid == null || !orchid.CanBeCasted() || !menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(orchid.Name)) &&
                         (blink == null || !blink.CanBeCasted() || !menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(blink.Name)) &&
                         (W == null || !W.CanBeCasted() || me.Distance2D(target) >= 400 || !menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(W.Name)) &&
                         Utils.SleepCheck("1")))
                    {
                        E.UseAbility();
                        Utils.Sleep(250, "1");
                    }
                    if (
                        D != null &&
                        D.CanBeCasted() &&
                        (sheep == null || !sheep.CanBeCasted() || !menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(sheep.Name)) &&
                        (Shiva == null || !Shiva.CanBeCasted() || !menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(Shiva.Name)) &&
                        (dagon == null || !dagon.CanBeCasted() || !menu.Item("Items").GetValue <AbilityToggler>().IsEnabled("item_dagon")) &&
                        (ethereal == null || !ethereal.CanBeCasted() || !menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(ethereal.Name)) &&
                        (orchid == null || !orchid.CanBeCasted() || !menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(orchid.Name)) &&
                        (blink == null || !blink.CanBeCasted() || !menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(blink.Name)) &&
                        (W == null || !W.CanBeCasted() || me.Distance2D(target) >= 400 || !menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(W.Name)) &&
                        Utils.SleepCheck("12"))
                    {
                        var baseDota =
                            ObjectManager.GetEntities <Unit>()
                            .Where(unit => unit.Name == "npc_dota_base" && unit.Team == me.Team)
                            .ToList();

                        if (baseDota != null)
                        {
                            for (int i = 0; i < baseDota.Count(); ++i)
                            {
                                if (baseDota[i].Distance2D(me) >= 1200)
                                {
                                    D.UseAbility();
                                }
                            }
                        }
                        Utils.Sleep(200, "12");
                    }
                }
                Utils.Sleep(300, "combo2");
            }
        }
예제 #12
0
        }         // OnClose

        public void Combo()
        {
            if (!Menu.Item("enabled").IsActive() || Game.IsChatOpen || Time.Enabled)
            {
                return;
            }
            Me = ObjectManager.LocalHero;

            Q = Me.Spellbook.SpellQ;
            W = Me.Spellbook.SpellW;
            R = Me.Spellbook.SpellR;

            Leans    = Me.FindItem("item_aether_lens");
            Urn      = Me.FindItem("item_urn_of_shadows");
            Dagon    = Me.Inventory.Items.FirstOrDefault(x => x.Name.Contains("item_dagon"));
            Ethereal = Me.FindItem("item_ethereal_blade");
            Shiva    = Me.FindItem("item_shivas_guard");
            Glimmer  = Me.FindItem("item_glimmer_cape");
            Vail     = Me.FindItem("item_veil_of_discord");
            Orchid   = Me.FindItem("item_orchid") ?? Me.FindItem("item_bloodthorn");
            Abyssal  = Me.FindItem("item_abyssal_blade");
            Atos     = Me.FindItem("item_rod_of_atos");
            Bkb      = Me.FindItem("item_black_king_bar");
            Mail     = Me.FindItem("item_blade_mail");
            Lotus    = Me.FindItem("item_lotus_orb");
            Active   = Game.IsKeyDown(Menu.Item("Combo Key").GetValue <KeyBind>().Key);
            var v = ObjectManager.GetEntities <Hero>().Where(x => x.Team != Me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion && !x.IsMagicImmune()).ToList();

            if (Active && Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(W.Name))
            {
                if (Me.HasModifier("modifier_pudge_rot") && v.Count(x => x.Distance2D(Me) <= W.GetCastRange() + Me.HullRadius) == 0)
                {
                    W.ToggleAbility();
                    Time.Start();
                }
                else if (!Me.HasModifier("modifier_pudge_rot") && v.Count(x => x.Distance2D(Me) <= W.GetCastRange() + Me.HullRadius) > 0)
                {
                    W.ToggleAbility();
                    Time.Start();
                }
            }

            E = Toolset.ClosestToMouse(Me);
            if (E == null || !Me.IsAlive)
            {
                return;
            }
            Sheep = E.ClassId == ClassId.CDOTA_Unit_Hero_Tidehunter ? null : Me.FindItem("item_sheepstick");
            if (R.IsInAbilityPhase || R.IsChanneling || Me.IsChanneling())
            {
                return;
            }
            if (Active)
            {
                MinRangeHook = E.HullRadius + 27;
                CastRange    = Leans != null ? (Q.CastRange + 200 + E.HullRadius) : (Q.CastRange + E.HullRadius);
                EMoveSpeed   = E.HasModifier("modifier_spirit_breaker_charge_of_darkness") ? 550 + ((int)E.Spellbook.Spell1.Level * 50) : E.MovementSpeed;

                Vector2 vector = new Vector2((float)Math.Cos(E.RotationRad) * EMoveSpeed, (float)Math.Sin(E.RotationRad) * EMoveSpeed);
                Vector3 start  = new Vector3((float)((0.3 + (Game.Ping / 1000)) * Math.Cos(E.RotationRad) * EMoveSpeed + E.Position.X),
                                             (float)((0.3 + (Game.Ping / 1000)) * Math.Sin(E.RotationRad) * EMoveSpeed + E.NetworkPosition.Y), E.NetworkPosition.Z);
                Vector3 specialPosition = new Vector3((float)(MinRangeHook * Math.Cos(E.RotationRad) + E.NetworkPosition.X),
                                                      (float)(MinRangeHook * Math.Sin(E.RotationRad) + E.NetworkPosition.Y),
                                                      E.NetworkPosition.Z);
                HookPosition = Interception(start, vector, Me.Position, 1600);
                if (
                    Atos != null && Atos.CanBeCasted() && Me.CanCast() && !E.IsMagicImmune() && !E.HasModifier("modifier_spirit_breaker_charge_of_darkness") &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(Atos.Name) && Me.Distance2D(E) <= 1500 && Utils.SleepCheck("a")
                    )
                {
                    Atos.UseAbility(E);
                    Utils.Sleep(250, "a");
                }
                else if (Q.CanBeCasted() && Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(Q.Name))
                {
                    if (E.NetworkActivity == NetworkActivity.Move || E.HasModifier("modifier_spirit_breaker_charge_of_darkness"))
                    {
                        for (double i = 0.03; i <= 0.135; i += 0.03)
                        {
                            Vector3 estimated = new Vector3((float)(i * Math.Cos(E.RotationRad) * EMoveSpeed + HookPosition.X),
                                                            (float)(i * Math.Sin(E.RotationRad) * EMoveSpeed + HookPosition.Y), E.NetworkPosition.Z);
                            if (GetTimeToTurn(estimated) <= i)
                            {
                                HookPosition = estimated;
                                TimeTurn     = i;
                                break;
                            }
                        }
                        CastPos = (HookPosition - Me.Position) * ((Q.GetCastRange() + Me.HullRadius) / HookPosition.Distance2D(Me.Position)) + Me.Position;
                        if (Me.Position.Distance2D(HookPosition) < CastRange)
                        {
                            Q.UseAbility(CastPos); Time.Interval = 150 + TimeTurn * 1000;
                            Time.Start();
                        }
                    }
                    else
                    {
                        CastPos = (specialPosition - Me.Position) * ((Q.GetCastRange() + Me.HullRadius) / specialPosition.Distance2D(Me.Position)) + Me.Position;
                        if (Me.Position.Distance2D(E.NetworkPosition) < CastRange)
                        {
                            Q.UseAbility(CastPos);
                            Time.Start();
                        }
                    }
                }
                else
                {
                    if (R.IsInAbilityPhase || R.IsChanneling)
                    {
                        return;
                    }
                    uint countElse = 0;
                    countElse += 1;
                    if (Vail != null && Vail.CanBeCasted() && Me.Distance2D(E) <= 1100 && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(Vail.Name) && Utils.SleepCheck("vail"))
                    {
                        Vail.UseAbility(E.Position);
                        Utils.Sleep(130, "vail");
                    }
                    else
                    {
                        countElse += 1;
                    }
                    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");
                    }
                    else
                    {
                        countElse += 1;
                    }
                    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");
                    }
                    else
                    {
                        countElse += 1;
                    }
                    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");
                    }
                    else
                    {
                        countElse += 1;
                    }
                    if (Dagon != null && Dagon.CanBeCasted() && Me.Distance2D(E) <= Dagon.GetCastRange() && Utils.SleepCheck("dagon"))
                    {
                        Dagon.UseAbility(E);
                        Utils.Sleep(100, "dagon");
                    }
                    else
                    {
                        countElse += 1;
                    }
                    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");
                    }
                    else
                    {
                        countElse += 1;
                    }
                    if (Glimmer != null && Glimmer.CanBeCasted() && Me.Distance2D(E) <= 300 && Utils.SleepCheck("glimmer"))
                    {
                        Glimmer.UseAbility(Me);
                        Utils.Sleep(200, "glimmer");
                    }
                    else
                    {
                        countElse += 1;
                    }
                    if (Mail != null && Mail.CanBeCasted() && v.Count(x => x.Distance2D(Me) <= 650) >=
                        (Menu.Item("Heel").GetValue <Slider>().Value) &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(Mail.Name) &&
                        Utils.SleepCheck("mail"))
                    {
                        Mail.UseAbility();
                        Console.WriteLine(countElse.ToString());
                        Utils.Sleep(100, "mail");
                    }
                    else
                    {
                        countElse += 1;
                    }
                    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");
                    }

                    else
                    {
                        countElse += 1;
                    }
                    if (Lotus != null && Lotus.CanBeCasted() && v.Count(x => x.Distance2D(Me) <= 650) >= 2 &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(Lotus.Name) &&
                        Utils.SleepCheck("lotus"))
                    {
                        Lotus.UseAbility(Me);
                        Utils.Sleep(100, "lotus");
                    }
                    else
                    {
                        countElse += 1;
                    }
                    if (countElse == 11 && R != null && R.CanBeCasted() && Me.Distance2D(E) <= R.GetCastRange() + 150 && (!Urn.CanBeCasted() || Urn.CurrentCharges <= 0) && Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(R.Name) &&
                        Utils.SleepCheck("R")
                        )
                    {
                        R.UseAbility(E);
                        Utils.Sleep(150, "R");
                    }
                    else
                    {
                        countElse += 1;
                    }
                    if (Abyssal != null && !R.CanBeCasted() && Abyssal.CanBeCasted() && !E.IsStunned() && !E.IsHexed() &&
                        Me.Distance2D(E) <= 300 && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(Abyssal.Name) && Utils.SleepCheck("abyssal"))
                    {
                        Abyssal.UseAbility(E);
                        Utils.Sleep(200, "abyssal");
                    }
                    else
                    {
                        countElse += 1;
                    }
                    if (Sheep != null && !R.CanBeCasted() && Sheep.CanBeCasted() && !E.IsStunned() && !E.IsHexed() &&
                        Me.Distance2D(E) <= 900 && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(Sheep.Name) && Utils.SleepCheck("sheep"))
                    {
                        Sheep.UseAbility(E);
                        Utils.Sleep(200, "sheep");
                    }
                    else
                    {
                        countElse += 1;
                    }
                    if (countElse == 14 && Me.Distance2D(E) <= 300 && Mail != null &&
                        Mail.CanBeCasted() && (E.NetworkActivity == NetworkActivity.Attack || E.Spellbook.Spells.All(x => x.IsInAbilityPhase)) &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(Mail.Name) &&
                        Utils.SleepCheck("mail"))
                    {
                        Mail.UseAbility();
                        Utils.Sleep(100, "mail");
                    }
                    else
                    {
                        countElse += 1;
                    }
                    if (countElse == 15 && Lotus != null && Lotus.CanBeCasted() && Me.Distance2D(E) <= 600 &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(Lotus.Name) &&
                        Utils.SleepCheck("lotus"))
                    {
                        Lotus.UseAbility(Me);
                        Utils.Sleep(100, "lotus");
                    }
                    if ((R == null || !R.CanBeCasted() || !Q.CanBeCasted() && Me.Distance2D(E) >= R.GetCastRange() + Me.HullRadius && !E.HasModifier("pudge_meat_hook")) && !E.IsAttackImmune())
                    {
                        if (Menu.Item("orbwalk").GetValue <bool>() && Me.Distance2D(E) <= 1900)
                        {
                            Orbwalking.Orbwalk(E, 0, 1600, true, true);
                        }
                    }
                }
            }
        }
예제 #13
0
 public static void Tinker_In_Madness(EventArgs args)
 {
     if (!Game.IsInGame || Game.IsWatchingGame)
     {
         return;
     }
     me = ObjectMgr.LocalHero;
     if (me == null)
     {
         return;
     }
     if (me.ClassID != ClassID.CDOTA_Unit_Hero_Tinker)
     {
         return;
     }
     //if (Game.IsKeyDown(Menu.Item("Blink On/Off").GetValue<KeyBind>().Key) && !Game.IsChatOpen && Utils.SleepCheck("BLINKTOGGLE"))
     //{
     //    Items["item_blink"] = !Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled("item_blink");
     //    Utils.Sleep(500, "BLINKTOGGLE");
     //}
     //if ((Game.IsKeyDown(Menu.Item("Farm Key").GetValue<KeyBind>().Key)) && !Game.IsChatOpen || (!Utils.SleepCheck("InCombo") && Refresh.IsChanneling))
     //{
     //    FindItems();
     //    autoattack(true);
     //    Vector3 POSMARCH = (Game.MousePosition - me.NetworkPosition) * 10 / Game.MousePosition.Distance2D(me.NetworkPosition) + me.NetworkPosition;
     //    if (stage == 0 && Utils.SleepCheck("FarmRefresh"))
     //    {
     //        if (Blink != null && Blink.CanBeCasted() && Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(Blink.Name) && Utils.SleepCheck("REFRESHEER") && !Refresh.IsChanneling && Utils.SleepCheck("blink") && Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled("item_blink") && !me.IsChanneling())
     //        {
     //            Blink.UseAbility(Game.MousePosition);
     //            Utils.Sleep(100 - Game.Ping, "blink");
     //        }
     //        if (ghost != null && ghost.CanBeCasted() && !me.IsChanneling() && Menu.Item("Items2: ").GetValue<AbilityToggler>().IsEnabled(ghost.Name) && Utils.SleepCheck("ghost_usage") && Utils.SleepCheck("REFRESHEEER"))
     //        {
     //            ghost.UseAbility(false);
     //            Utils.Sleep(600 - Game.Ping, "ghost_usage");
     //        }
     //        if (Soulring != null && Soulring.CanBeCasted() && !me.IsChanneling() && Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(Soulring.Name) && Utils.SleepCheck("soul_ring_usage") && Utils.SleepCheck("REFRESHEEER"))
     //        {
     //            Soulring.UseAbility(false);
     //            Utils.Sleep(600 - Game.Ping, "soul_ring_usage");
     //        }
     //        if (bottle != null && bottle.CanBeCasted() && !me.IsChanneling() && !me.Modifiers.Any(x => x.Name == "modifier_bottle_regeneration") && bottle.CurrentCharges >= 0 && Utils.SleepCheck("bottle_CD") && Menu.Item("Items2: ").GetValue<AbilityToggler>().IsEnabled(bottle.Name) && Utils.SleepCheck("REFRESHEEER"))
     //        {
     //            bottle.UseAbility(false);
     //            Utils.Sleep(1000 - Game.Ping, "bottle_CD");
     //        }
     //        if (March != null && March.CanBeCasted() && !me.IsChanneling() && Menu.Item("Skills: ").GetValue<AbilityToggler>().IsEnabled(March.Name) && me.Mana >= March.ManaCost + 75 && Utils.SleepCheck("MarchUsage"))
     //        {
     //            March.UseAbility(POSMARCH, false);
     //            Utils.Sleep(800 - Game.Ping, "MarchUsage");
     //        }
     //        if ((Soulring == null || !Soulring.CanBeCasted() || !Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(Soulring.Name)) && (!March.CanBeCasted() || March.Level <= 0 || me.Mana <= March.ManaCost + 75 || !Menu.Item("Skills: ").GetValue<AbilityToggler>().IsEnabled(March.Name)) && (Refresh.Level >= 0 && Refresh.CanBeCasted()) && !me.IsChanneling() && Utils.SleepCheck("REFRESHEEER") && Menu.Item("Skills: ").GetValue<AbilityToggler>().IsEnabled(Refresh.Name))
     //        {
     //            Refresh.UseAbility(false);
     //            Utils.Sleep(900 - Game.Ping, "REFRESHEEER");
     //        }
     //        if (Refresh.IsChanneling)
     //        {
     //            stage = 1;
     //            Utils.Sleep(5000 - Game.Ping, "CD_COMBO_FARM");
     //        }
     //        if (me.Mana <= Refresh.ManaCost)
     //            stage = 1;
     //        Utils.Sleep(500 - Game.Ping, "InCombo");
     //    }
     //    if (stage == 1 && Utils.SleepCheck("FarmRefresh"))
     //    {
     //        if (Blink != null && Blink.CanBeCasted() && Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(Blink.Name) && Utils.SleepCheck("REFRESHEER") && !Refresh.IsChanneling && Utils.SleepCheck("blink") && Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled("item_blink") && !me.IsChanneling())
     //        {
     //            Blink.UseAbility(Game.MousePosition);
     //            Utils.Sleep(300 - Game.Ping, "blink");
     //        }
     //        if (ghost != null && ghost.CanBeCasted() && !me.IsChanneling() && Menu.Item("Items2: ").GetValue<AbilityToggler>().IsEnabled(ghost.Name) && Utils.SleepCheck("REFRESHEEER") && Utils.SleepCheck("ghost_usage"))
     //        {
     //            ghost.UseAbility(false);
     //            Utils.Sleep(600 - Game.Ping, "ghost_usage");
     //        }
     //        if (Soulring != null && Soulring.CanBeCasted() && !me.IsChanneling() && Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(Soulring.Name) && Utils.SleepCheck("REFRESHEEER") && Utils.SleepCheck("soul_ring_usage"))
     //        {
     //            Soulring.UseAbility(false);
     //            Utils.Sleep(600 - Game.Ping, "soul_ring_usage");
     //        }
     //        if (bottle != null && bottle.CanBeCasted() && !me.IsChanneling() && !me.Modifiers.Any(x => x.Name == "modifier_bottle_regeneration") && bottle.CurrentCharges >= 0 && Utils.SleepCheck("bottle_CD") && Utils.SleepCheck("REFRESHEEER"))
     //        {
     //            bottle.UseAbility();
     //            Utils.Sleep(1000 - Game.Ping, "bottle_CD");
     //        }
     //        if (March != null && March.CanBeCasted() && !me.IsChanneling() && Menu.Item("Skills: ").GetValue<AbilityToggler>().IsEnabled(March.Name) && me.Mana >= March.ManaCost + 75 && Utils.SleepCheck("REFRESHEEER") && Utils.SleepCheck("MarchUsage"))
     //        {
     //            March.UseAbility(POSMARCH);
     //            Utils.Sleep(800 - Game.Ping, "MarchUsage");
     //        }
     //        if ((Soulring == null || !Soulring.CanBeCasted() || !Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(Soulring.Name)) && (!March.CanBeCasted() || March.Level <= 0 || me.Mana <= March.ManaCost + 75 || !Menu.Item("Skills: ").GetValue<AbilityToggler>().IsEnabled(March.Name)) && Utils.SleepCheck("REFRESHEEER"))
     //        {
     //            if (travel.CanBeCasted() && !me.IsChanneling())
     //            {
     //                if (me.Team == Team.Dire)
     //                    travel.UseAbility(Dire);
     //                if (me.Team == Team.Radiant)
     //                    travel.UseAbility(Radiant);
     //                Utils.Sleep(500 - Game.Ping, "FarmRefresh");
     //            }
     //            if (travel.IsChanneling)
     //                stage = 0;
     //        }
     //    }
     //}
     //else
     //{
     //    autoattack(false);
     //    if (Utils.SleepCheck("CD_COMBO_FARM"))
     //        stage = 0;
     //}
     if ((Game.IsKeyDown(Menu.Item("Smart Blink").GetValue <KeyBind>().Key)) && !Game.IsChatOpen)
     {
         Blink = me.FindItem("item_blink");
         if (Blink != null && Blink.CanBeCasted() && !me.IsChanneling() && !me.Spellbook.Spells.Any(x => x.IsInAbilityPhase) && Utils.SleepCheck("blink"))
         {
             var mousepos = Game.MousePosition;
             Blink.UseAbility(me.Distance2D(mousepos) < 1200 ? mousepos : new Vector3(me.NetworkPosition.X + 1150 * (float)Math.Cos(me.NetworkPosition.ToVector2().FindAngleBetween(mousepos.ToVector2(), true)), me.NetworkPosition.Y + 1150 * (float)Math.Sin(me.NetworkPosition.ToVector2().FindAngleBetween(mousepos.ToVector2(), true)), 100), false);
             Utils.Sleep(200, "blink");
         }
     }
     if ((Game.IsKeyDown(Menu.Item("Combo Key").GetValue <KeyBind>().Key)) && !Game.IsChatOpen)
     {
         target = me.ClosestToMouseTarget(1000);
         if (target != null && target.IsAlive && !target.IsIllusion && !me.IsChanneling() && !me.Spellbook.Spells.Any(x => x.IsInAbilityPhase) && !CanReflectDamage(target))
         {
             autoattack(true);
             FindItems();
             if (target.IsLinkensProtected())
             {
                 if (euls != null && euls.CanBeCasted() && Menu.Item("Items2: ").GetValue <AbilityToggler>().IsEnabled(euls.Name))
                 {
                     if (Utils.SleepCheck("TimingToLinkens"))
                     {
                         euls.UseAbility(target);
                         Utils.Sleep(200, "TimingToLinkens");
                     }
                 }
                 else if (forcestaff != null && forcestaff.CanBeCasted() && Menu.Item("Items2: ").GetValue <AbilityToggler>().IsEnabled(forcestaff.Name))
                 {
                     if (Utils.SleepCheck("TimingToLinkens"))
                     {
                         forcestaff.UseAbility(target);
                         Utils.Sleep(200, "TimingToLinkens");
                     }
                 }
                 else if (Ethereal != null && Ethereal.CanBeCasted() && Menu.Item("Items: ").GetValue <AbilityToggler>().IsEnabled(Ethereal.Name))
                 {
                     if (Utils.SleepCheck("TimingToLinkens"))
                     {
                         Ethereal.UseAbility(target);
                         Utils.Sleep(200, "TimingToLinkens");
                         Utils.Sleep(((me.NetworkPosition.Distance2D(target.NetworkPosition) / 1200) * 1000) + 200, "TimingToLinkens");
                     }
                 }
                 else if (Laser != null && Laser.CanBeCasted() && Menu.Item("Skills: ").GetValue <AbilityToggler>().IsEnabled(Laser.Name))
                 {
                     if (Utils.SleepCheck("TimingToLinkens"))
                     {
                         Laser.UseAbility(target);
                         Utils.Sleep(200, "TimingToLinkens");
                     }
                 }
                 else if (Dagon != null && Dagon.CanBeCasted() && Menu.Item("Items: ").GetValue <AbilityToggler>().IsEnabled("item_dagon"))
                 {
                     if (Utils.SleepCheck("TimingToLinkens"))
                     {
                         Dagon.UseAbility(target);
                         Utils.Sleep(200, "TimingToLinkens");
                     }
                 }
                 else if (Hex != null && Hex.CanBeCasted() && Menu.Item("Items: ").GetValue <AbilityToggler>().IsEnabled(Hex.Name))
                 {
                     if (Utils.SleepCheck("TimingToLinkens"))
                     {
                         Hex.UseAbility(target);
                         Utils.Sleep(200, "TimingToLinkens");
                     }
                 }
             }
             else
             {
                 uint   elsecount   = 0;
                 bool   magicimune  = (!target.IsMagicImmune() && !target.Modifiers.Any(x => x.Name == "modifier_eul_cyclone"));
                 uint[] dagondamage = new uint[5] {
                     400, 500, 600, 700, 800
                 };
                 // glimmer -> ghost -> soulring -> hex -> laser -> ethereal -> dagon -> rocket -> shivas -> euls -> refresh
                 //if(Blink != null && Blink.CanBeCasted() && Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(Blink.Name) && Utils.SleepCheck("Rearm") && !Refresh.IsChanneling && Utils.SleepCheck("blink") && Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled("item_blink") && !me.IsChanneling())
                 //{
                 //    Blink.UseAbility(Game.MousePosition);
                 //    Utils.Sleep(300 - Game.Ping, "blink");
                 //}
                 if (glimmer != null && glimmer.CanBeCasted() && Menu.Item("Items2: ").GetValue <AbilityToggler>().IsEnabled(glimmer.Name) && Utils.SleepCheck("Rearm") && !Refresh.IsChanneling && Utils.SleepCheck("glimmer"))
                 {
                     glimmer.UseAbility(me);
                     Utils.Sleep(200 - Game.Ping, "glimmer");
                 }
                 else
                 {
                     elsecount += 1;
                 }
                 if (veil != null && veil.CanBeCasted() && Menu.Item("Items2: ").GetValue <AbilityToggler>().IsEnabled(veil.Name) && Utils.SleepCheck("Rearm") && !Refresh.IsChanneling && Utils.SleepCheck("veil"))
                 {
                     veil.UseAbility(target.Position);
                     Utils.Sleep(200, "veil");
                 }
                 if (ghost != null && Ethereal == null && ghost.CanBeCasted() && Menu.Item("Items2: ").GetValue <AbilityToggler>().IsEnabled(ghost.Name) && Utils.SleepCheck("Rearm") && !Refresh.IsChanneling && Utils.SleepCheck("ghost"))
                 {
                     ghost.UseAbility();
                     Utils.Sleep(200 - Game.Ping, "ghost");
                 }
                 else
                 {
                     elsecount += 1;
                 }
                 if (Soulring != null && Soulring.CanBeCasted() && Menu.Item("Items: ").GetValue <AbilityToggler>().IsEnabled(Soulring.Name) && Utils.SleepCheck("Rearm") && !Refresh.IsChanneling && Utils.SleepCheck("soulring"))
                 {
                     Soulring.UseAbility();
                     Utils.Sleep(200 - Game.Ping, "soulring");
                 }
                 else
                 {
                     elsecount += 1;
                 }
                 if (Hex != null && Hex.CanBeCasted() && Menu.Item("Items: ").GetValue <AbilityToggler>().IsEnabled(Hex.Name) && magicimune && Utils.SleepCheck("Rearm") && !Refresh.IsChanneling && Utils.SleepCheck("Hex"))
                 {
                     Hex.UseAbility(target);
                     Utils.Sleep(200 - Game.Ping, "Hex");
                 }
                 else
                 {
                     elsecount += 1;
                 }
                 if (Laser != null && Laser.CanBeCasted() && Menu.Item("Skills: ").GetValue <AbilityToggler>().IsEnabled(Laser.Name) && magicimune && Utils.SleepCheck("Rearm") && !Refresh.IsChanneling && Utils.SleepCheck("laser"))
                 {
                     Utils.Sleep(400 - Game.Ping, "laser");
                     Laser.UseAbility(target);
                 }
                 else
                 {
                     elsecount += 1;
                 }
                 if (Ethereal != null && Ethereal.CanBeCasted() && Menu.Item("Items: ").GetValue <AbilityToggler>().IsEnabled(Ethereal.Name) && magicimune && Utils.SleepCheck("Rearm") && !Refresh.IsChanneling && Utils.SleepCheck("ethereal") && me.Distance2D(target) <= Ethereal.CastRange && target.Health >= target.DamageTaken(dagondamage[Dagon.Level - 1], DamageType.Magical, me, false, 0, 0, 0))
                 {
                     Ethereal.UseAbility(target);
                     Utils.Sleep(400 - Game.Ping, "Ethereal");
                     if (Utils.SleepCheck("EtherealTime"))
                     {
                         Utils.Sleep(((me.NetworkPosition.Distance2D(target.NetworkPosition) / 1200) * 1000) + 25, "EtherealTime");
                         Utils.Sleep(((me.NetworkPosition.Distance2D(target.NetworkPosition) / 1200) * 1000) + 200, "EtherealTime2");
                     }
                 }
                 else
                 {
                     elsecount += 1;
                 }
                 if (Dagon != null && Dagon.CanBeCasted() && (!Ethereal.CanBeCasted() || target.Health <= target.DamageTaken(dagondamage[Dagon.Level - 1], DamageType.Magical, me, false, 0, 0, 0)) && Menu.Item("Items: ").GetValue <AbilityToggler>().IsEnabled("item_dagon") && magicimune && Utils.SleepCheck("Rearm") && Utils.SleepCheck("EtherealTime") && !Refresh.IsChanneling && Utils.SleepCheck("dagon"))
                 {
                     Dagon.UseAbility(target);
                     Utils.Sleep(350 - Game.Ping, "dagon");
                 }
                 else
                 {
                     elsecount += 1;
                 }
                 if (Rocket != null && Rocket.CanBeCasted() && Menu.Item("Skills: ").GetValue <AbilityToggler>().IsEnabled(Rocket.Name) && magicimune && Utils.SleepCheck("Rearm") && !Refresh.IsChanneling && Utils.SleepCheck("rocket") && me.Distance2D(target) <= Rocket.CastRange)
                 {
                     Rocket.UseAbility();
                     Utils.Sleep(500 - Game.Ping, "rocket");
                     if (Utils.SleepCheck("RocketTime"))
                     {
                         Utils.Sleep(((me.NetworkPosition.Distance2D(target.NetworkPosition) / 900) * 1000), "RocketTime");
                         Utils.Sleep(((me.NetworkPosition.Distance2D(target.NetworkPosition) / 900) * 1000) + 200, "RocketTime2");
                     }
                 }
                 else
                 {
                     elsecount += 1;
                 }
                 if (Shiva != null && Shiva.CanBeCasted() && Menu.Item("Items: ").GetValue <AbilityToggler>().IsEnabled(Shiva.Name) && magicimune && Utils.SleepCheck("Rearm") && !Refresh.IsChanneling && Utils.SleepCheck("shiva"))
                 {
                     Shiva.UseAbility();
                     Utils.Sleep(200 - Game.Ping, "shiva");
                 }
                 else
                 {
                     elsecount += 1;
                 }
                 if (elsecount == 9 && euls != null && euls.CanBeCasted() && Menu.Item("Items2: ").GetValue <AbilityToggler>().IsEnabled(euls.Name) && magicimune && Utils.SleepCheck("Rearm") && Utils.SleepCheck("EtherealTime2") && Utils.SleepCheck("RocketTime2") && Utils.SleepCheck("euls"))
                 {
                     euls.UseAbility(target);
                     Utils.Sleep(200 - Game.Ping, "euls");
                 }
                 else
                 {
                     elsecount += 1;
                 }
                 if (elsecount == 10 && Refresh != null && Refresh.CanBeCasted() && Menu.Item("Skills: ").GetValue <AbilityToggler>().IsEnabled(Refresh.Name) && !Refresh.IsChanneling && Utils.SleepCheck("Rearm") && Ready_for_refresh())
                 {
                     Refresh.UseAbility();
                     Utils.Sleep(1000, "Rearm");
                 }
                 else
                 {
                     if (!me.IsChanneling() && me.CanAttack() && Utils.SleepCheck("Rearm"))
                     {
                         Orbwalking.Orbwalk(target);
                     }
                 }
             }
         }
         else
         {
             autoattack(false);
             if (!me.IsChanneling() && Utils.SleepCheck("Rearm") && !me.Spellbook.Spells.Any(x => x.IsInAbilityPhase))
             {
                 me.Move(Game.MousePosition);
             }
         }
     }
     else
     {
         autoattack(false);
     }
 }
예제 #14
0
파일: Program.cs 프로젝트: Lat0ur/Ensage-
        private static void Game_OnUpdate(EventArgs args)
        {
            _me = ObjectManager.LocalHero;
            if (!Game.IsInGame || _me == null || _me.ClassID != ClassID.CDOTA_Unit_Hero_Lina)
            {
                return;
            }
            if (Game.IsPaused || Game.IsChatOpen)
            {
                return;
            }

            _menuValue = Menu.Item("enabledAbilities").GetValue <AbilityToggler>();
            _slider    = Menu.Item("distance").GetValue <Slider>().Value;

            Q = _me.Spellbook.Spell1;
            W = _me.Spellbook.Spell2;
            R = _me.Spellbook.Spell4;

            Dagon    = _me.Inventory.Items.FirstOrDefault(item => item.Name.Contains("item_dagon"));
            Hex      = _me.FindItem("item_sheepstick");
            Ethereal = _me.FindItem("item_ethereal_blade");
            Veil     = _me.FindItem("item_veil_of_discord");
            Orchid   = _me.FindItem("item_orchid");
            Shiva    = _me.FindItem("item_shivas_guard");
            Eul      = _me.FindItem("item_cyclone");
            Blink    = _me.FindItem("item_blink");

            if (!Game.IsKeyDown(Menu.Item("Cooombo").GetValue <KeyBind>().Key))
            {
                _targetActive = false;
                return;
            }

            if (!_targetActive)
            {
                _target       = _me.ClosestToMouseTarget(300);
                _targetActive = true;
            }
            else
            {
                var modifHex =
                    _target.Modifiers.Where(y => y.Name == "modifier_sheepstick_debuff")
                    .DefaultIfEmpty(null)
                    .FirstOrDefault();
                var modifEul =
                    _target.Modifiers.Where(y => y.Name == "modifier_eul_cyclone").DefaultIfEmpty(null).FirstOrDefault();

                if (_target == null || !_target.IsAlive || _target.IsIllusion || _target.IsMagicImmune())
                {
                    return;
                }

                if (Blink != null && Blink.CanBeCasted() && _me.Distance2D(_target) > _slider + 100 && _menuValue.IsEnabled("item_blink") && Utils.SleepCheck("blink"))
                {
                    Blink.UseAbility(PositionCalc(_me, _target, _slider));
                    Utils.Sleep(150 + Game.Ping, "blink");
                }
                else if (Eul != null && Eul.CanBeCasted() && Utils.SleepCheck("eul") && _menuValue.IsEnabled("item_cyclone") && Utils.SleepCheck("blink"))
                {
                    Eul.UseAbility(_target);
                    Utils.Sleep(4000 + Game.Ping, "eul");
                }
                else if (Eul == null || Eul.Cooldown > 0 || !_menuValue.IsEnabled("item_cyclone"))
                {
                    if (Orchid != null && Orchid.CanBeCasted() && Utils.SleepCheck("orchid") && modifEul == null &&
                        _menuValue.IsEnabled("item_orchid"))
                    {
                        Orchid.UseAbility(_target);
                        Utils.Sleep(150 + Game.Ping, "orchid");
                    }
                    else if (Shiva != null && Shiva.CanBeCasted() && Utils.SleepCheck("shiva") && modifEul == null &&
                             _menuValue.IsEnabled("item_shivas_guard"))
                    {
                        Shiva.UseAbility();
                        Utils.Sleep(150 + Game.Ping, "shiva");
                    }
                    else if (Veil != null && Veil.CanBeCasted() && Utils.SleepCheck("veil") && modifEul == null &&
                             _menuValue.IsEnabled("item_veil_of_discord"))
                    {
                        Veil.UseAbility(_target.Position);
                        Utils.Sleep(150 + Game.Ping, "veil");
                    }
                    else if (Ethereal != null && Ethereal.CanBeCasted() && Utils.SleepCheck("ethereal") &&
                             modifEul == null && _menuValue.IsEnabled("item_ethereal_blade"))
                    {
                        Ethereal.UseAbility(_target);
                        Utils.Sleep(150 + Game.Ping, "ethereal");
                    }
                    else if (Dagon != null && Dagon.CanBeCasted() && Utils.SleepCheck("dagon") &&
                             modifEul == null)
                    {
                        Dagon.UseAbility(_target);
                        Utils.Sleep(150 + Game.Ping, "dagon");
                    }
                    else if (Hex != null && Hex.CanBeCasted() && Utils.SleepCheck("hex") &&
                             !_target.IsStunned() &&
                             Utils.SleepCheck("eul") && _menuValue.IsEnabled("item_sheepstick"))
                    {
                        Hex.UseAbility(_target);
                        Utils.Sleep(150 + Game.Ping, "hex");
                    }
                    else if (W != null && W.CanBeCasted() && Utils.SleepCheck("w") &&
                             (modifEul != null && modifEul.RemainingTime <= W.GetCastDelay(_me, _target, true) + 0.5 ||
                              modifHex != null && modifHex.RemainingTime <= W.GetCastDelay(_me, _target, true) + 0.5 ||
                              (Hex == null || !_menuValue.IsEnabled("item_sheepstick") || Hex.Cooldown > 0) &&
                              (Eul == null || !_menuValue.IsEnabled("item_cyclone") || Eul.Cooldown < 20 && Eul.Cooldown > 0)))
                    {
                        W.UseAbility(W.GetPrediction(_target, W.GetCastDelay(_me, _target)));
                        Utils.Sleep(150 + Game.Ping, "w");
                    }
                    else if (Q != null && Q.CanBeCasted() && Utils.SleepCheck("q") &&
                             modifEul == null)
                    {
                        Q.UseAbility(_target);
                        Utils.Sleep(150 + Game.Ping, "q");
                    }
                    else if (R != null && R.CanBeCasted() && Utils.SleepCheck("r") &&
                             modifEul == null)
                    {
                        R.UseAbility(_target);
                        Utils.Sleep(150 + Game.Ping, "r");
                    }
                    else if (!_me.IsChanneling() && NothingCanCast() &&
                             !_target.IsAttackImmune() && Utils.SleepCheck("attack"))
                    {
                        _me.Attack(_target);
                        Utils.Sleep(1000 + Game.Ping, "attack");
                    }
                }
            }
        }
예제 #15
0
파일: Program.cs 프로젝트: kj2a/QQENSAGEW
        public static void Game_OnUpdate(EventArgs args)
        {
            var me = ObjectManager.LocalHero;

            if (!Game.IsInGame || me == null || Game.IsWatchingGame)
            {
                return;
            }

            keyCombo = Game.IsKeyDown(Menu.Item("ComboKey").GetValue <KeyBind>().Key);

            if (keyCombo)
            {
                var target = me.ClosestToMouseTarget(1200);
                if (target == null)
                {
                    return;
                }
                if (target.IsAlive && !target.IsInvul() && !target.IsIllusion && !target.IsMagicImmune() && !me.IsInvisible())
                {
                    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"));
                    diff     = me.FindItem("item_diffusal_blade") ?? me.FindItem("item_diffusal_blade_2");
                    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");
                    vail     = me.FindItem("item_veil_of_discord");
                    atos     = me.FindItem("item_rod_of_atos");
                    bkb      = me.FindItem("item_black_king_bar");
                    satanic  = me.FindItem("item_satanic");
                    blink    = me.FindItem("item_blink");
                    glimmer  = me.FindItem("item_glimmer_cape");
                    lotusorb = me.FindItem("item_lotus_orb");
                    medall   = me.FindItem("item_medallion_of_courage") ?? me.FindItem("item_solar_crest");
                    sheep    = target.ClassID == ClassID.CDOTA_Unit_Hero_Tidehunter ? null : me.FindItem("item_sheepstick");

                    var qqqqqqqqqqqqq = ObjectManager.GetEntities <Hero>().Where(x => x.Team != me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion && !x.IsMagicImmune()).ToList();
                    var stoneModif    = target.Modifiers.Any(y => y.Name == "modifier_medusa_stone_gaze_stone");

                    if (target.IsVisible && me.Distance2D(target) <= 1200)
                    {
                        var InvForgeds = ObjectManager.GetEntities <Unit>().Where(x => (x.ClassID == ClassID.CDOTA_BaseNPC_Invoker_Forged_Spirit) && x.IsAlive && x.IsControllable);
                        if (InvForgeds != null)
                        {
                            foreach (var v in InvForgeds)
                            {
                                if (target.Position.Distance2D(v.Position) < 1200 && !target.IsAttackImmune() &&
                                    Utils.SleepCheck(v.Handle.ToString()))
                                {
                                    v.Attack(target);
                                    Utils.Sleep(300, v.Handle.ToString());
                                }
                            }
                        }

                        if (me.CanUseItems())
                        {
                            // use items.
                            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() && (target.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(target) <= 700
                                )
                            {
                                mom.UseAbility();
                                Utils.Sleep(250, "mom");
                            }
                            if (                             // Hellbard
                                halberd != null &&
                                halberd.CanBeCasted() &&
                                me.CanCast() &&
                                !target.IsMagicImmune() &&
                                (target.NetworkActivity == NetworkActivity.Attack ||
                                 target.NetworkActivity == NetworkActivity.Crit ||
                                 target.NetworkActivity == NetworkActivity.Attack2) &&
                                Utils.SleepCheck("halberd") &&
                                me.Distance2D(target) <= 700 &&
                                Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(halberd.Name)
                                )
                            {
                                halberd.UseAbility(target);
                                Utils.Sleep(250, "halberd");
                            }

                            if (                             // Mjollnir
                                mjollnir != null &&
                                mjollnir.CanBeCasted() &&
                                me.CanCast() &&
                                !target.IsMagicImmune() &&
                                Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(mjollnir.Name) &&
                                Utils.SleepCheck("mjollnir") &&
                                me.Distance2D(target) <= 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(target) <= 700
                                )
                            {
                                medall.UseAbility(target);
                                Utils.Sleep(250, "Medall");
                            }                             // Medall Item end
                            if (                          // atos Blade
                                atos != null &&
                                atos.CanBeCasted() &&
                                me.CanCast() &&
                                !target.IsLinkensProtected() &&
                                !target.IsMagicImmune() &&
                                Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(atos.Name) &&
                                me.Distance2D(target) <= 2000 &&
                                Utils.SleepCheck("atos")
                                )
                            {
                                atos.UseAbility(target);
                                Utils.Sleep(250, "atos");
                            }                             // atos Item end

                            if (glimmer != null &&
                                glimmer.CanBeCasted() &&
                                me.Distance2D(target) <= 300 &&
                                Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(glimmer.Name) &&
                                Utils.SleepCheck("glimmer"))
                            {
                                glimmer.UseAbility(me);
                                Utils.Sleep(200, "glimmer");
                            }
                            if (diff != null &&
                                diff.CanBeCasted() &&
                                diff.CurrentCharges > 0 &&
                                me.Distance2D(target) <= 400 &&
                                !target.HasModifier("modifier_item_diffusal_blade_slow") &&
                                Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(diff.Name) &&
                                Utils.SleepCheck("diff"))
                            {
                                diff.UseAbility(target);
                                Utils.Sleep(4000, "diff");
                            }
                            if (lotusorb != null && lotusorb.CanBeCasted() &&
                                Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(lotusorb.Name) &&
                                (qqqqqqqqqqqqq.Count(x => x.Distance2D(me) <= 650) >= (Menu.Item("Heelm").GetValue <Slider>().Value) && Utils.SleepCheck("lotusorb"))
                                )
                            {
                                lotusorb.UseAbility(me);
                                Utils.Sleep(250, "lotusorb");
                            }

                            if (                             // vail
                                vail != null &&
                                vail.CanBeCasted() &&
                                me.CanCast() &&
                                !target.IsMagicImmune() &&
                                Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(vail.Name) &&
                                me.Distance2D(target) <= 1500 &&
                                Utils.SleepCheck("vail")
                                )
                            {
                                vail.UseAbility(target.Position);
                                Utils.Sleep(250, "vail");
                            }                             // vail Item end

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

                            if (Shiva != null && Shiva.CanBeCasted() && me.Distance2D(target) <= 600 &&
                                Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(Shiva.Name) &&
                                !target.IsMagicImmune() && Utils.SleepCheck("Shiva"))
                            {
                                Shiva.UseAbility();
                                Utils.Sleep(100, "Shiva");
                            }
                            if (                             // ethereal
                                ethereal != null &&
                                ethereal.CanBeCasted() &&
                                me.CanCast() &&
                                !target.IsLinkensProtected() &&
                                !target.IsMagicImmune() &&
                                !stoneModif &&
                                Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(ethereal.Name) &&
                                Utils.SleepCheck("ethereal")
                                )
                            {
                                ethereal.UseAbility(target);
                                Utils.Sleep(200, "ethereal");
                            }                             // ethereal Item end
                            if (
                                blink != null &&
                                me.CanCast() &&
                                blink.CanBeCasted() &&
                                me.Distance2D(target) >= 450 &&
                                me.Distance2D(target) <= 1150 &&
                                Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(blink.Name) &&
                                Utils.SleepCheck("blink")
                                )
                            {
                                blink.UseAbility(target.Position);
                                Utils.Sleep(250, "blink");
                            }
                            if (                             // Dagon
                                me.CanCast() &&
                                dagon != null &&
                                (ethereal == null ||
                                 (target.Modifiers.Any(y => y.Name == "modifier_item_ethereal_blade_slow") ||
                                  ethereal.Cooldown < 17)) &&
                                !target.IsLinkensProtected() &&
                                dagon.CanBeCasted() &&
                                !target.IsMagicImmune() &&
                                !stoneModif &&
                                Utils.SleepCheck("dagon")
                                )
                            {
                                dagon.UseAbility(target);
                                Utils.Sleep(200, "dagon");
                            }                             // Dagon Item end
                            if (urn != null && urn.CanBeCasted() && urn.CurrentCharges > 0 && me.Distance2D(target) <= 400 &&
                                Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(urn.Name) && Utils.SleepCheck("urn"))
                            {
                                urn.UseAbility(target);
                                Utils.Sleep(240, "urn");
                            }
                            if (                             // Satanic
                                satanic != null &&
                                me.Health <= (me.MaximumHealth * 0.3) &&
                                satanic.CanBeCasted() &&
                                me.Distance2D(target) <= 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() && (qqqqqqqqqqqqq.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() && (qqqqqqqqqqqqq.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");
                            }
                        }
                    }
                }
            }
        }
예제 #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;
            R        = me.Spellbook.SpellR;
            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"));
            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");
            ethereal = me.FindItem("item_ethereal_blade");
            glimmer  = me.FindItem("item_glimmer_cape");
            vail     = me.FindItem("item_veil_of_discord");
            satanic  = me.FindItem("item_satanic");
            blink    = me.FindItem("item_blink");
            medall   = me.FindItem("item_medallion_of_courage") ?? me.FindItem("item_solar_crest");
            e        = me.ClosestToMouseTarget(3000);
            if (e == null)
            {
                return;
            }

            var stoneModif = e.Modifiers.All(y => y.Name == "modifier_medusa_stone_gaze_stone");


            if (me.IsChanneling() || R.IsChanneling || R.IsInAbilityPhase)
            {
                return;
            }
            var v =
                ObjectManager.GetEntities <Hero>()
                .Where(x => x.Team != me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion && !x.IsMagicImmune())
                .ToList();
            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" ||
                    x.Name == "modifier_bounty_hunter_wind_walk");

            if (Active && Utils.SleepCheck("Combo"))
            {
                if (me.HasModifier("modifier_sandking_sand_storm"))
                {
                    return;
                }
                float angle = me.FindAngleBetween(e.Position, true);

                Vector3 pos = new Vector3((float)(e.Position.X - (Q.CastRange - 100) * Math.Cos(angle)),
                                          (float)(e.Position.Y - (Q.CastRange - 100) * Math.Sin(angle)), 0);
                uint elsecount = 1;
                if (elsecount == 1 && (blink != null && blink.CanBeCasted() && me.Distance2D(pos) <= 1100 || blink == null && me.Distance2D(e) <= Q.CastRange - 50))
                {
                    if (
                        R != null && R.CanBeCasted() &&
                        menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(R.Name) &&
                        Utils.SleepCheck("R")
                        )
                    {
                        R.UseAbility();
                        Utils.Sleep(200, "R");
                        Utils.Sleep(300, "Combo");
                    }
                }

                if (!Utils.SleepCheck("Combo") || me.IsChanneling() || R.IsChanneling || R.IsInAbilityPhase)
                {
                    return;
                }

                if (!menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(R.Name) || !R.CanBeCasted())
                {
                    if (
                        blink != null &&
                        blink.CanBeCasted() &&
                        me.Distance2D(e) >= (Q.CanBeCasted() ? Q.CastRange : 450) &&
                        me.Distance2D(pos) <= 1190 &&
                        menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(blink.Name) &&
                        Utils.SleepCheck("blink")
                        )
                    {
                        blink.UseAbility(pos);
                        Utils.Sleep(250, "blink");
                    }
                    if (
                        blink != null &&
                        blink.CanBeCasted() &&
                        me.Distance2D(e) < 1180 &&
                        me.Distance2D(e) > (Q.CanBeCasted() ? Q.CastRange : 450) &&
                        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.CastRange + 300 &&
                        menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(Q.Name) &&
                        Utils.SleepCheck("Q")
                        )
                    {
                        Q.UseAbility(e);
                        Utils.Sleep(200, "Q");
                    }
                }
                if (me.Distance2D(e) <= 2000 && e != null && e.IsAlive && !ModifInv && !me.IsChanneling() && (!R.CanBeCasted() || !menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(R.Name)))
                {
                    if (ethereal != null && ethereal.CanBeCasted() && me.Distance2D(e) <= 700 &&
                        menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(ethereal.Name) &&
                        Utils.SleepCheck("ethereal"))
                    {
                        ethereal.UseAbility(e);
                        Utils.Sleep(100, "ethereal");
                    }

                    if (vail != null && vail.CanBeCasted() && me.Distance2D(e) <= 1100 &&
                        menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(vail.Name) && Utils.SleepCheck("vail"))
                    {
                        vail.UseAbility(e.Position);
                        Utils.Sleep(130, "vail");
                    }


                    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 (glimmer != null &&
                        glimmer.CanBeCasted() &&
                        me.Distance2D(e) <= 300 &&
                        Utils.SleepCheck("glimmer"))
                    {
                        glimmer.UseAbility(me);
                        Utils.Sleep(200, "glimmer");
                    }
                    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");
                        }
                    }
                }
                if (me.IsChanneling() || R.IsChanneling || R.IsInAbilityPhase)
                {
                    return;
                }
                else
                {
                    elsecount++;
                }
                if (me.Distance2D(e) <= 3500 && elsecount == 2 && e != null && e.IsAlive && !me.IsChanneling())
                {
                    if (
                        (!me.CanAttack() || me.Distance2D(e) >= 0) && me.NetworkActivity != NetworkActivity.Attack &&
                        me.Distance2D(e) <= 1500 && Utils.SleepCheck("Move")
                        )
                    {
                        me.Move(e.Predict(350));
                        Utils.Sleep(350, "Move");
                    }
                    if (
                        me.Distance2D(e) <= 300 && (!me.IsAttackImmune() || !e.IsAttackImmune()) &&
                        me.NetworkActivity != NetworkActivity.Attack && me.CanAttack() && Utils.SleepCheck("attack")
                        )
                    {
                        me.Attack(e);
                        Utils.Sleep(190, "attack");
                    }
                }
                Utils.Sleep(200, "Combo");
            }
        }
예제 #17
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");
                }
            }
        }
예제 #18
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");
            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 v =
                ObjectManager.GetEntities <Hero>()
                .Where(x => x.Team != me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion)
                .ToList();

            e = me.ClosestToMouseTarget(1800);
            if (e == null)
            {
                return;
            }
            if (Active && me.Distance2D(e) <= 1400 && e.IsAlive && !me.IsInvisible())
            {
                if (
                    me.Distance2D(e) <= me.AttackRange + 100 && (!me.IsAttackImmune() || !e.IsAttackImmune()) &&
                    me.NetworkActivity != NetworkActivity.Attack && me.CanAttack() && Utils.SleepCheck("attack")
                    )
                {
                    me.Attack(e);
                    Utils.Sleep(150, "attack");
                }
                else if (
                    (!me.CanAttack() || me.Distance2D(e) >= 0) && me.NetworkActivity != NetworkActivity.Attack &&
                    me.Distance2D(e) <= 600 && Utils.SleepCheck("Move")
                    )
                {
                    me.Move(e.Predict(300));
                    Utils.Sleep(390, "Move");
                }
                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 != 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) <= 700 &&
                    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");
                }
                var Ally = ObjectManager.GetEntities <Hero>()
                           .Where(x => x.Team == me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion).ToList();

                var countAlly = Ally.Count();
                var countV    = v.Count();
                for (int i = 0; i < countAlly; ++i)
                {
                    if (
                        Q != null && Q.CanBeCasted() &&
                        !me.IsMagicImmune() &&
                        me.Health <= (me.MaximumHealth * 0.6) &&
                        menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(Q.Name) &&
                        Utils.SleepCheck("Q")
                        )
                    {
                        Q.UseAbility(me);
                        Utils.Sleep(200, "Q");
                    }
                    if (
                        Q != null && Q.CanBeCasted() &&
                        me.Distance2D(e) <= 255 &&
                        !me.IsMagicImmune() &&
                        menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(Q.Name) &&
                        Utils.SleepCheck("Q")
                        )
                    {
                        Q.UseAbility(me);
                        Utils.Sleep(200, "Q");
                    }

                    if (
                        W != null &&
                        W.CanBeCasted() &&
                        me.Distance2D(e) <= 400 &&
                        !Q.CanBeCasted() &&
                        menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(W.Name) &&
                        Utils.SleepCheck("W")
                        )
                    {
                        W.UseAbility(me);
                        Utils.Sleep(200, "W");
                    }
                    for (int z = 0; z < countV; ++z)
                    {
                        if (
                            Q != null && Q.CanBeCasted() &&
                            me.Distance2D(Ally[i]) <= Q.CastRange + 50 &&
                            !Ally[i].IsMagicImmune() &&
                            Ally[i].Health <= (Ally[i].MaximumHealth * 0.6) &&
                            menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(Q.Name) &&
                            Utils.SleepCheck("Q")
                            )
                        {
                            Q.UseAbility(Ally[i]);
                            Utils.Sleep(200, "Q");
                        }
                        else
                        if (
                            W != null && W.CanBeCasted() &&
                            !Q.CanBeCasted() &&
                            me.Distance2D(Ally[i]) <= W.CastRange + 50 &&
                            Ally[i].Health <= (Ally[i].MaximumHealth * 0.6) &&
                            menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(W.Name) &&
                            Utils.SleepCheck("Wq")
                            )
                        {
                            W.UseAbility(Ally[i]);
                            Utils.Sleep(200, "Wq");
                        }
                        if (
                            W != null &&
                            W.CanBeCasted() &&
                            me.Distance2D(Ally[i]) <= W.CastRange + 50 &&
                            !Ally[i].IsMagicImmune() &&
                            ((Ally[i].Distance2D(v[z]) <= Ally[i].AttackRange + Ally[i].HullRadius + 10) ||
                             (Ally[i].Distance2D(v[z]) <= v[i].AttackRange + Ally[i].HullRadius + 10)) &&
                            menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(W.Name) &&
                            Utils.SleepCheck("Ww")
                            )
                        {
                            W.UseAbility(Ally[i]);
                            Utils.Sleep(200, "Ww");
                        }
                        if (
                            Q != null && Q.CanBeCasted() && me.Distance2D(Ally[i]) <= Q.CastRange + 50 &&
                            !Ally[i].IsMagicImmune() &&
                            Ally[i].Distance2D(v[z]) <= 250 + Ally[i].HullRadius - 10 &&
                            menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(Q.Name) &&
                            Utils.SleepCheck("Q")
                            )
                        {
                            Q.UseAbility(Ally[i]);
                            Utils.Sleep(200, "Q");
                        }
                        if (
                            R != null && R.CanBeCasted() &&
                            me.Distance2D(Ally[i]) <= R.CastRange + 50 &&
                            (v.Count(x => x.Distance2D(me) <= R.CastRange) >= (menu.Item("UltCountTarget").GetValue <Slider>().Value)) &&
                            (Ally.Count(x => x.Distance2D(me) <= R.CastRange) >= (menu.Item("UltCountAlly").GetValue <Slider>().Value)) &&
                            Ally[i].Health <= (Ally[i].MaximumHealth / 100 * (menu.Item("HealhUlt").GetValue <Slider>().Value)) &&
                            menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(R.Name) &&
                            Utils.SleepCheck("R")
                            )
                        {
                            R.UseAbility();
                            Utils.Sleep(200, "R");
                        }
                        if (
                            guardian != null && guardian.CanBeCasted() &&
                            me.Distance2D(Ally[i]) <= guardian.CastRange &&
                            (v.Count(x => x.Distance2D(me) <= guardian.CastRange) >= (menu.Item("healsetTarget").GetValue <Slider>().Value)) &&
                            (Ally.Count(x => x.Distance2D(me) <= guardian.CastRange) >= (menu.Item("healsetAlly").GetValue <Slider>().Value)) &&
                            Ally[i].Health <= (Ally[i].MaximumHealth / 100 * (menu.Item("HealhHeal").GetValue <Slider>().Value)) &&
                            menu.Item("ItemsS").GetValue <AbilityToggler>().IsEnabled(guardian.Name) &&
                            Utils.SleepCheck("guardian")
                            )
                        {
                            guardian.UseAbility();
                            Utils.Sleep(200, "guardian");
                        }
                        if (
                            pipe != null && pipe.CanBeCasted() &&
                            me.Distance2D(Ally[i]) <= pipe.CastRange &&
                            (v.Count(x => x.Distance2D(me) <= pipe.CastRange) >= (menu.Item("pipesetTarget").GetValue <Slider>().Value)) &&
                            (Ally.Count(x => x.Distance2D(me) <= pipe.CastRange) >= (menu.Item("pipesetAlly").GetValue <Slider>().Value)) &&
                            menu.Item("ItemsS").GetValue <AbilityToggler>().IsEnabled(pipe.Name) &&
                            Utils.SleepCheck("pipe")
                            )
                        {
                            pipe.UseAbility();
                            Utils.Sleep(200, "pipe");
                        }

                        if (
                            sphere != null && sphere.CanBeCasted() && me.Distance2D(Ally[i]) <= sphere.CastRange + 50 &&
                            !Ally[i].IsMagicImmune() &&
                            ((Ally[i].Distance2D(v[z]) <= Ally[i].AttackRange + Ally[i].HullRadius + 10) ||
                             (Ally[i].Distance2D(v[z]) <= v[i].AttackRange + Ally[i].HullRadius + 10) ||
                             Ally[i].Health <= (me.MaximumHealth * 0.5)) &&
                            menu.Item("ItemsS").GetValue <AbilityToggler>().IsEnabled(sphere.Name) &&
                            Utils.SleepCheck("sphere")
                            )
                        {
                            sphere.UseAbility(Ally[i]);
                            Utils.Sleep(200, "sphere");
                        }
                        if (
                            glimmer != null && glimmer.CanBeCasted() && me.Distance2D(Ally[i]) <= glimmer.CastRange + 50 &&
                            Ally[i].Health <= (me.MaximumHealth * 0.5) &&
                            menu.Item("ItemsS").GetValue <AbilityToggler>().IsEnabled(glimmer.Name) &&
                            Utils.SleepCheck("glimmer")
                            )
                        {
                            glimmer.UseAbility(Ally[i]);
                            Utils.Sleep(200, "glimmer");
                        }
                        if (
                            manta != null && manta.CanBeCasted() &&
                            (me.Distance2D(v[z]) <= me.AttackRange + me.HullRadius + 10) ||
                            (me.Distance2D(v[z]) <= v[i].AttackRange + me.HullRadius + 10) &&
                            menu.Item("ItemsS").GetValue <AbilityToggler>().IsEnabled(manta.Name) &&
                            Utils.SleepCheck("manta")
                            )
                        {
                            manta.UseAbility();
                            Utils.Sleep(200, "manta");
                        }
                    }
                }
            }
        }
예제 #19
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();
        }
예제 #20
0
        public void Combo()
        {
            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;
            iron     = me.FindItem("item_branches");
            mom      = me.FindItem("item_mask_of_madness");
            urn      = me.FindItem("item_urn_of_shadows");
            dagon    = me.Inventory.Items.FirstOrDefault(x => x.Name.Contains("item_dagon"));
            ethereal = me.FindItem("item_ethereal_blade");
            halberd  = me.FindItem("item_heavens_halberd");
            mjollnir = me.FindItem("item_mjollnir");
            blink    = me.FindItem("item_blink");
            orchid   = me.FindItem("item_orchid") ?? me.FindItem("item_bloodthorn");
            abyssal  = me.FindItem("item_abyssal_blade");
            mail     = me.FindItem("item_blade_mail");
            bkb      = me.FindItem("item_black_king_bar");
            satanic  = me.FindItem("item_satanic");
            medall   = me.FindItem("item_medallion_of_courage") ?? me.FindItem("item_solar_crest");
            Shiva    = me.FindItem("item_shivas_guard");
            var v =
                ObjectManager.GetEntities <Hero>()
                .Where(x => x.Team != me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion && !x.IsMagicImmune())
                .ToList();

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



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

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

                if (
                    blink != null &&
                    me.CanCast() &&
                    blink.CanBeCasted() &&
                    me.Distance2D(blinkpos) < 1190 &&
                    ((iron == null && me.Distance2D(e) > me.GetAttackRange()) ||
                     (iron != null && iron.CanBeCasted() && !Q.CanBeCasted())) &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(blink.Name) &&
                    Utils.SleepCheck("blink")
                    )
                {
                    blink.UseAbility(blinkpos);
                    Utils.Sleep(250, "blink");
                }

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

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

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

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

                if (dagon != null &&
                    dagon.CanBeCasted() &&
                    me.Distance2D(e) <= 500 &&
                    Utils.SleepCheck("dagon"))
                {
                    dagon.UseAbility(e);
                    Utils.Sleep(100, "dagon");
                }
                if (                 // Abyssal Blade
                    abyssal != null &&
                    abyssal.CanBeCasted() &&
                    me.CanCast() &&
                    !e.IsStunned() &&
                    !e.IsHexed() &&
                    Utils.SleepCheck("abyssal") &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(abyssal.Name) &&
                    me.Distance2D(e) <= 400
                    )
                {
                    abyssal.UseAbility(e);
                    Utils.Sleep(250, "abyssal");
                }                 // Abyssal Item end
                if (urn != null && urn.CanBeCasted() && urn.CurrentCharges > 0 && me.Distance2D(e) <= 400 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(urn.Name) && Utils.SleepCheck("urn"))
                {
                    urn.UseAbility(e);
                    Utils.Sleep(240, "urn");
                }
                if (                 // Hellbard
                    halberd != null &&
                    halberd.CanBeCasted() &&
                    me.CanCast() &&
                    !e.IsMagicImmune() &&
                    (e.NetworkActivity == NetworkActivity.Attack ||
                     e.NetworkActivity == NetworkActivity.Crit ||
                     e.NetworkActivity == NetworkActivity.Attack2) &&
                    Utils.SleepCheck("halberd") &&
                    me.Distance2D(e) <= 700 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(halberd.Name)
                    )
                {
                    halberd.UseAbility(e);
                    Utils.Sleep(250, "halberd");
                }
                if (                 // Satanic
                    satanic != null &&
                    me.Health <= (me.MaximumHealth * 0.3) &&
                    satanic.CanBeCasted() &&
                    me.Distance2D(e) <= me.AttackRange + 50 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(satanic.Name) &&
                    Utils.SleepCheck("satanic")
                    )
                {
                    satanic.UseAbility();
                    Utils.Sleep(240, "satanic");
                }                 // Satanic Item end
                if (mail != null && mail.CanBeCasted() && (v.Count(x => x.Distance2D(me) <= 650) >=
                                                           (Menu.Item("Heelm").GetValue <Slider>().Value)) &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(mail.Name) && Utils.SleepCheck("mail"))
                {
                    mail.UseAbility();
                    Utils.Sleep(100, "mail");
                }
                if (bkb != null && bkb.CanBeCasted() && (v.Count(x => x.Distance2D(me) <= 650) >=
                                                         (Menu.Item("Heel").GetValue <Slider>().Value)) &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(bkb.Name) && Utils.SleepCheck("bkb"))
                {
                    bkb.UseAbility();
                    Utils.Sleep(100, "bkb");
                }
            }
        }
예제 #21
0
        public static void Game_OnUpdate(EventArgs args)
        {
            me = ObjectMgr.LocalHero;

            if (me == null || !Game.IsInGame || me.ClassID != ClassID.CDOTA_Unit_Hero_Tinker)
            {
                return;
            }

            // Ability init
            Laser   = me.Spellbook.Spell1;
            Rocket  = me.Spellbook.Spell2;
            Refresh = me.Spellbook.Spell4;

            // Item init
            Blink    = me.FindItem("item_blink");
            Dagon    = me.Inventory.Items.FirstOrDefault(item => item.Name.Contains("item_dagon"));
            Hex      = me.FindItem("item_sheepstick");
            Soulring = me.FindItem("item_soul_ring");
            Ethereal = me.FindItem("item_ethereal_blade");
            Veil     = me.FindItem("item_veil_of_discord");
            Orchid   = me.FindItem("item_orchid");
            Shiva    = me.FindItem("item_shivas_guard");

            // Manacost calculations
            var manaForCombo = Laser.ManaCost + Rocket.ManaCost;

            if (Dagon != null && Dagon.CanBeCasted())
            {
                manaForCombo += 180;
            }
            if (Hex != null && Hex.CanBeCasted())
            {
                manaForCombo += 100;
            }
            if (Ethereal != null && Ethereal.CanBeCasted())
            {
                manaForCombo += 150;
            }
            if (Veil != null && Veil.CanBeCasted())
            {
                manaForCombo += 50;
            }
            if (Shiva != null && Shiva.CanBeCasted())
            {
                manaForCombo += 100;
            }

            // Main combo
            if (active && toggle)
            {
                if ((target == null || !target.IsVisible) && !me.IsChanneling())
                {
                    me.Move(Game.MousePosition);
                }

                target = me.ClosestToMouseTarget(1000);
                if (target != null && target.IsAlive && !target.IsIllusion && !target.IsMagicImmune() && Utils.SleepCheck("refresh") && !Refresh.IsChanneling)
                {
                    if (Soulring != null && Soulring.CanBeCasted() && me.Health > 300 && Utils.SleepCheck("soulring"))
                    {
                        Soulring.UseAbility();
                        Utils.Sleep(150 + Game.Ping, "soulring");
                    }

                    // Blink

                    if (Blink != null && Blink.CanBeCasted() && (me.Distance2D(target) > 500) && Utils.SleepCheck("Blink") && blinkToggle)
                    {
                        Blink.UseAbility(target.Position);
                        Utils.Sleep(1000 + Game.Ping, "Blink");
                    }

                    // Items
                    else if (Shiva != null && Shiva.CanBeCasted() && Utils.SleepCheck("shiva"))
                    {
                        Shiva.UseAbility();
                        Utils.Sleep(100 + Game.Ping, "shiva");
                        Utils.ChainStun(me, 200 + Game.Ping, null, false);
                    }

                    else if (Veil != null && Veil.CanBeCasted() && Utils.SleepCheck("veil"))
                    {
                        Veil.UseAbility(target.Position);
                        Utils.Sleep(150 + Game.Ping, "veil");
                        Utils.Sleep(300 + Game.Ping, "ve");
                        Utils.ChainStun(me, 170 + Game.Ping, null, false);
                    }

                    else if (Hex != null && Hex.CanBeCasted() && Utils.SleepCheck("hex"))
                    {
                        Hex.UseAbility(target);
                        Utils.Sleep(150 + Game.Ping, "hex");
                        Utils.Sleep(300 + Game.Ping, "h");
                        Utils.ChainStun(me, 170 + Game.Ping, null, false);
                    }

                    else if (Ethereal != null && Ethereal.CanBeCasted() && Utils.SleepCheck("ethereal"))
                    {
                        Ethereal.UseAbility(target);
                        Utils.Sleep(270 + Game.Ping, "ethereal");
                        Utils.ChainStun(me, 200 + Game.Ping, null, false);
                    }

                    else if (Dagon != null && Dagon.CanBeCasted() && Utils.SleepCheck("ethereal") && Utils.SleepCheck("h") && Utils.SleepCheck("dagon") && Utils.SleepCheck("veil"))
                    {
                        Dagon.UseAbility(target);
                        Utils.Sleep(270 + Game.Ping, "dagon");
                        Utils.ChainStun(me, 200 + Game.Ping, null, false);
                    }

                    // Skills
                    else if (Rocket != null && Rocket.CanBeCasted() && Utils.SleepCheck("rocket") && Utils.SleepCheck("ethereal") && Utils.SleepCheck("veil"))
                    {
                        Rocket.UseAbility();
                        Utils.Sleep(150 + Game.Ping, "rocket");
                        Utils.ChainStun(me, 150 + Game.Ping, null, false);
                    }

                    else if (Laser != null && Laser.CanBeCasted() && Utils.SleepCheck("laser") && Utils.SleepCheck("ethereal") && Utils.SleepCheck("rocket"))
                    {
                        Laser.UseAbility(target);
                        Utils.Sleep(150 + Game.Ping, "laser");
                        Utils.ChainStun(me, 150 + Game.Ping, null, false);
                    }

                    else if (Refresh != null && Refresh.CanBeCasted() && me.Mana > 200 && Utils.SleepCheck("refresh") && !Refresh.IsChanneling && nothingCanCast())
                    {
                        Refresh.UseAbility();
                        Utils.ChainStun(me, (Refresh.ChannelTime * 1000) + Game.Ping + 400, null, false);
                        Utils.Sleep(700 + Game.Ping, "refresh");
                    }

                    else if (!me.IsChanneling() && !Refresh.IsChanneling && nothingCanCast())
                    {
                        me.Attack(target);
                    }
                }
            }
        }
예제 #22
0
        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");
            F = 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");
            }
        }
예제 #23
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");
                    }
                }
            }
        }
예제 #24
0
        }         // OnClose

        public void Combo()
        {
            if (!Menu.Item("enabled").IsActive() || Game.IsChatOpen || time.Enabled)
            {
                return;
            }
            me = ObjectManager.LocalHero;

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

            leans    = me.FindItem("item_aether_lens");
            urn      = me.FindItem("item_urn_of_shadows");
            dagon    = me.Inventory.Items.FirstOrDefault(x => x.Name.Contains("item_dagon"));
            ethereal = me.FindItem("item_ethereal_blade");
            Shiva    = me.FindItem("item_shivas_guard");
            glimmer  = me.FindItem("item_glimmer_cape");
            vail     = me.FindItem("item_veil_of_discord");
            orchid   = me.FindItem("item_orchid") ?? me.FindItem("item_bloodthorn");
            abyssal  = me.FindItem("item_abyssal_blade");
            atos     = me.FindItem("item_rod_of_atos");
            bkb      = me.FindItem("item_black_king_bar");
            mail     = me.FindItem("item_blade_mail");
            lotus    = me.FindItem("item_lotus_orb");
            Active   = Game.IsKeyDown(Menu.Item("Combo Key").GetValue <KeyBind>().Key);
            var v = ObjectManager.GetEntities <Hero>().Where(x => x.Team != me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion && !x.IsMagicImmune()).ToList();

            if (Active && Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(W.Name))
            {
                if (me.HasModifier("modifier_pudge_rot") && v.Count(x => x.Distance2D(me) <= W.GetCastRange() + me.HullRadius) == 0)
                {
                    W.ToggleAbility();
                    time.Start();
                }
                else if (!me.HasModifier("modifier_pudge_rot") && v.Count(x => x.Distance2D(me) <= W.GetCastRange() + me.HullRadius) > 0)
                {
                    W.ToggleAbility();
                    time.Start();
                }
            }

            e = Toolset.ClosestToMouse(me);
            if (e == null || !me.IsAlive)
            {
                return;
            }
            sheep = e.ClassID == ClassID.CDOTA_Unit_Hero_Tidehunter ? null : me.FindItem("item_sheepstick");
            if (R.IsInAbilityPhase || R.IsChanneling || me.IsChanneling())
            {
                return;
            }
            if (Active)
            {
                minRangeHook = e.HullRadius + 27;
                CastRange    = leans != null ? (Q.CastRange + 200 + e.HullRadius) : (Q.CastRange + e.HullRadius);
                eMoveSpeed   = e.HasModifier("modifier_spirit_breaker_charge_of_darkness") ? 550 + ((int)e.Spellbook.Spell1.Level * 50) : e.MovementSpeed;

                Vector2 vector = new Vector2((float)Math.Cos(e.RotationRad) * eMoveSpeed, (float)Math.Sin(e.RotationRad) * eMoveSpeed);
                Vector3 start  = new Vector3((float)((0.3 + (Game.Ping / 1000)) * Math.Cos(e.RotationRad) * eMoveSpeed + e.Position.X),
                                             (float)((0.3 + (Game.Ping / 1000)) * Math.Sin(e.RotationRad) * eMoveSpeed + e.NetworkPosition.Y), e.NetworkPosition.Z);
                Vector3 specialPosition = new Vector3((float)(minRangeHook * Math.Cos(e.RotationRad) + e.NetworkPosition.X),
                                                      (float)(minRangeHook * Math.Sin(e.RotationRad) + e.NetworkPosition.Y),
                                                      e.NetworkPosition.Z);
                HookPosition = Interception(start, vector, me.Position, 1600);
                if (
                    atos != null && atos.CanBeCasted() && me.CanCast() && !e.IsMagicImmune() && !e.HasModifier("modifier_spirit_breaker_charge_of_darkness") &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(atos.Name) && me.Distance2D(e) <= 1500 && Utils.SleepCheck("a")
                    )
                {
                    atos.UseAbility(e);
                    Utils.Sleep(250, "a");
                }
                else if (Q.CanBeCasted() && Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(Q.Name))
                {
                    if (e.NetworkActivity == NetworkActivity.Move || e.HasModifier("modifier_spirit_breaker_charge_of_darkness"))
                    {
                        for (double i = 0.03; i <= 0.135; i += 0.03)
                        {
                            Vector3 estimated = new Vector3((float)(i * Math.Cos(e.RotationRad) * eMoveSpeed + HookPosition.X),
                                                            (float)(i * Math.Sin(e.RotationRad) * eMoveSpeed + HookPosition.Y), e.NetworkPosition.Z);
                            if (GetTimeToTurn(estimated) <= i)
                            {
                                HookPosition = estimated;
                                TimeTurn     = i;
                                break;
                            }
                        }
                        CastPos = (HookPosition - me.Position) * ((Q.GetCastRange() + me.HullRadius) / HookPosition.Distance2D(me.Position)) + me.Position;
                        if (me.Position.Distance2D(HookPosition) < CastRange)
                        {
                            Q.UseAbility(CastPos); time.Interval = 150 + TimeTurn * 1000;
                            time.Start();
                        }
                    }
                    else
                    {
                        CastPos = (specialPosition - me.Position) * ((Q.GetCastRange() + me.HullRadius) / specialPosition.Distance2D(me.Position)) + me.Position;
                        if (me.Position.Distance2D(e.NetworkPosition) < CastRange)
                        {
                            Q.UseAbility(CastPos);
                            time.Start();
                        }
                    }
                }
                else
                {
                    if (R.IsInAbilityPhase || R.IsChanneling)
                    {
                        return;
                    }
                    uint countElse = 0;
                    countElse += 1;
                    if (vail != null && vail.CanBeCasted() && me.Distance2D(e) <= 1100 && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(vail.Name) && Utils.SleepCheck("vail"))
                    {
                        vail.UseAbility(e.Position);
                        Utils.Sleep(130, "vail");
                    }
                    else
                    {
                        countElse += 1;
                    }
                    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");
                    }
                    else
                    {
                        countElse += 1;
                    }
                    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");
                    }
                    else
                    {
                        countElse += 1;
                    }
                    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");
                    }
                    else
                    {
                        countElse += 1;
                    }
                    if (dagon != null && dagon.CanBeCasted() && me.Distance2D(e) <= dagon.GetCastRange() && Utils.SleepCheck("dagon"))
                    {
                        dagon.UseAbility(e);
                        Utils.Sleep(100, "dagon");
                    }
                    else
                    {
                        countElse += 1;
                    }
                    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");
                    }
                    else
                    {
                        countElse += 1;
                    }
                    if (glimmer != null && glimmer.CanBeCasted() && me.Distance2D(e) <= 300 && Utils.SleepCheck("glimmer"))
                    {
                        glimmer.UseAbility(me);
                        Utils.Sleep(200, "glimmer");
                    }
                    else
                    {
                        countElse += 1;
                    }
                    if (mail != null && mail.CanBeCasted() && v.Count(x => x.Distance2D(me) <= 650) >=
                        (Menu.Item("Heel").GetValue <Slider>().Value) &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(mail.Name) &&
                        Utils.SleepCheck("mail"))
                    {
                        mail.UseAbility();
                        Console.WriteLine(countElse.ToString());
                        Utils.Sleep(100, "mail");
                    }
                    else
                    {
                        countElse += 1;
                    }
                    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");
                    }

                    else
                    {
                        countElse += 1;
                    }
                    if (lotus != null && lotus.CanBeCasted() && v.Count(x => x.Distance2D(me) <= 650) >= 2 &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(lotus.Name) &&
                        Utils.SleepCheck("lotus"))
                    {
                        lotus.UseAbility(me);
                        Utils.Sleep(100, "lotus");
                    }
                    else
                    {
                        countElse += 1;
                    }
                    if (countElse == 11 && R != null && R.CanBeCasted() && me.Distance2D(e) <= R.GetCastRange() + 150 && (!urn.CanBeCasted() || urn.CurrentCharges <= 0) && Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(R.Name) &&
                        Utils.SleepCheck("R")
                        )
                    {
                        R.UseAbility(e);
                        Utils.Sleep(150, "R");
                    }
                    else
                    {
                        countElse += 1;
                    }
                    if (abyssal != null && !R.CanBeCasted() && abyssal.CanBeCasted() && !e.IsStunned() && !e.IsHexed() &&
                        me.Distance2D(e) <= 300 && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(abyssal.Name) && Utils.SleepCheck("abyssal"))
                    {
                        abyssal.UseAbility(e);
                        Utils.Sleep(200, "abyssal");
                    }
                    else
                    {
                        countElse += 1;
                    }
                    if (sheep != null && !R.CanBeCasted() && sheep.CanBeCasted() && !e.IsStunned() && !e.IsHexed() &&
                        me.Distance2D(e) <= 900 && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(sheep.Name) && Utils.SleepCheck("sheep"))
                    {
                        sheep.UseAbility(e);
                        Utils.Sleep(200, "sheep");
                    }
                    else
                    {
                        countElse += 1;
                    }
                    if (countElse == 14 && me.Distance2D(e) <= 300 && mail != null &&
                        mail.CanBeCasted() && (e.NetworkActivity == NetworkActivity.Attack || e.Spellbook.Spells.All(x => x.IsInAbilityPhase)) &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(mail.Name) &&
                        Utils.SleepCheck("mail"))
                    {
                        mail.UseAbility();
                        Utils.Sleep(100, "mail");
                    }
                    else
                    {
                        countElse += 1;
                    }
                    if (countElse == 15 && lotus != null && lotus.CanBeCasted() && me.Distance2D(e) <= 600 &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(lotus.Name) &&
                        Utils.SleepCheck("lotus"))
                    {
                        lotus.UseAbility(me);
                        Utils.Sleep(100, "lotus");
                    }
                    if ((R == null || !R.CanBeCasted() || !Q.CanBeCasted() && me.Distance2D(e) >= R.GetCastRange() + me.HullRadius && !e.HasModifier("pudge_meat_hook")) && !e.IsAttackImmune())
                    {
                        if (Menu.Item("orbwalk").GetValue <bool>() && me.Distance2D(e) <= 1900)
                        {
                            Orbwalking.Orbwalk(e, 0, 1600, true, true);
                        }
                    }
                }
            }
        }
 public static void Tinker_In_Madness(EventArgs args)
 {
     if (!Game.IsInGame || Game.IsWatchingGame)
     {
         return;
     }
     me = ObjectMgr.LocalHero;
     if (me == null)
     {
         return;
     }
     if (me.ClassID != ClassID.CDOTA_Unit_Hero_Tinker)
     {
         return;
     }
     if ((Game.IsKeyDown(Menu.Item("Combo Key").GetValue <KeyBind>().Key)) && !Game.IsChatOpen)
     {
         target = me.ClosestToMouseTarget(1000);
         if (target != null && target.IsAlive && !target.IsIllusion && !me.IsChanneling())
         {
             autoattack(true);
             FindItems();
             if (target.IsLinkensProtected())
             {
                 if (euls != null && euls.CanBeCasted() && Menu.Item("Items2: ").GetValue <AbilityToggler>().IsEnabled(euls.Name))
                 {
                     if (Utils.SleepCheck("TimingToLinkens"))
                     {
                         euls.UseAbility(target);
                         Utils.Sleep(200, "TimingToLinkens");
                     }
                 }
                 else if (forcestaff != null && forcestaff.CanBeCasted() && Menu.Item("Items2: ").GetValue <AbilityToggler>().IsEnabled(forcestaff.Name))
                 {
                     if (Utils.SleepCheck("TimingToLinkens"))
                     {
                         forcestaff.UseAbility(target);
                         Utils.Sleep(200, "TimingToLinkens");
                     }
                 }
                 else if (Ethereal != null && Ethereal.CanBeCasted() && Menu.Item("Items: ").GetValue <AbilityToggler>().IsEnabled(Ethereal.Name))
                 {
                     if (Utils.SleepCheck("TimingToLinkens"))
                     {
                         Ethereal.UseAbility(target);
                         Utils.Sleep(200, "TimingToLinkens");
                         Utils.Sleep((me.NetworkPosition.Distance2D(target.NetworkPosition) / 650) * 1000, "TimingToLinkens");
                     }
                 }
                 else if (Laser != null && Laser.CanBeCasted() && Menu.Item("Skills: ").GetValue <AbilityToggler>().IsEnabled(Laser.Name))
                 {
                     if (Utils.SleepCheck("TimingToLinkens"))
                     {
                         Laser.UseAbility(target);
                         Utils.Sleep(200, "TimingToLinkens");
                     }
                 }
                 else if (Dagon != null && Dagon.CanBeCasted() && Menu.Item("Items: ").GetValue <AbilityToggler>().IsEnabled("item_dagon"))
                 {
                     if (Utils.SleepCheck("TimingToLinkens"))
                     {
                         Dagon.UseAbility(target);
                         Utils.Sleep(200, "TimingToLinkens");
                     }
                 }
                 else if (Hex != null && Hex.CanBeCasted() && Menu.Item("Items: ").GetValue <AbilityToggler>().IsEnabled(Hex.Name))
                 {
                     if (Utils.SleepCheck("TimingToLinkens"))
                     {
                         Hex.UseAbility(target);
                         Utils.Sleep(200, "TimingToLinkens");
                     }
                 }
             }
             else
             {
                 uint elsecount  = 0;
                 bool magicimune = (!target.IsMagicImmune() && !target.Modifiers.Any(x => x.Name == "modifier_eul_cyclone"));
                 if (Utils.SleepCheck("combo"))
                 {
                     // glimmer -> ghost -> soulring -> hex -> laser -> ethereal -> dagon -> rocket -> shivas -> euls -> refresh
                     if (glimmer != null && glimmer.CanBeCasted() && Menu.Item("Items2: ").GetValue <AbilityToggler>().IsEnabled(glimmer.Name) && Utils.SleepCheck("Rearm"))
                     {
                         glimmer.UseAbility(me);
                     }
                     else
                     {
                         elsecount += 1;
                     }
                     if (ghost != null && Ethereal == null && ghost.CanBeCasted() && Menu.Item("Items2: ").GetValue <AbilityToggler>().IsEnabled(ghost.Name) && Utils.SleepCheck("Rearm"))
                     {
                         ghost.UseAbility();
                     }
                     else
                     {
                         elsecount += 1;
                     }
                     if (Soulring != null && Soulring.CanBeCasted() && Menu.Item("Items: ").GetValue <AbilityToggler>().IsEnabled(Soulring.Name) && Utils.SleepCheck("Rearm"))
                     {
                         Soulring.UseAbility();
                     }
                     else
                     {
                         elsecount += 1;
                     }
                     if (Hex != null && Hex.CanBeCasted() && Menu.Item("Items: ").GetValue <AbilityToggler>().IsEnabled(Hex.Name) && magicimune && Utils.SleepCheck("Rearm"))
                     {
                         Hex.UseAbility(target);
                     }
                     else
                     {
                         elsecount += 1;
                     }
                     if (Laser != null && Laser.CanBeCasted() && Menu.Item("Skills: ").GetValue <AbilityToggler>().IsEnabled(Laser.Name) && magicimune && Utils.SleepCheck("Rearm"))
                     {
                         Laser.UseAbility(target);
                     }
                     else
                     {
                         elsecount += 1;
                     }
                     if (Ethereal != null && Ethereal.CanBeCasted() && Menu.Item("Items: ").GetValue <AbilityToggler>().IsEnabled(Ethereal.Name) && magicimune && Utils.SleepCheck("Rearm"))
                     {
                         Ethereal.UseAbility(target);
                         if (Utils.SleepCheck("EtherealTime") && me.Distance2D(target) <= Ethereal.CastRange)
                         {
                             Utils.Sleep((me.NetworkPosition.Distance2D(target.NetworkPosition) / 620) * 1000, "EtherealTime");
                         }
                     }
                     else
                     {
                         elsecount += 1;
                     }
                     if (Dagon != null && Dagon.CanBeCasted() && Menu.Item("Items: ").GetValue <AbilityToggler>().IsEnabled("item_dagon") && magicimune && Utils.SleepCheck("Rearm") && Utils.SleepCheck("EtherealTime"))
                     {
                         Dagon.UseAbility(target);
                     }
                     else
                     {
                         elsecount += 1;
                     }
                     if (Rocket != null && Rocket.CanBeCasted() && Menu.Item("Skills: ").GetValue <AbilityToggler>().IsEnabled(Rocket.Name) && magicimune && Utils.SleepCheck("Rearm"))
                     {
                         Rocket.UseAbility();
                         if (Utils.SleepCheck("RocketTime") && me.Distance2D(target) <= Rocket.CastRange)
                         {
                             Utils.Sleep((me.NetworkPosition.Distance2D(target.NetworkPosition) / 600) * 1000, "RocketTime");
                         }
                     }
                     else
                     {
                         elsecount += 1;
                     }
                     if (Shiva != null && Shiva.CanBeCasted() && Menu.Item("Items: ").GetValue <AbilityToggler>().IsEnabled(Shiva.Name) && magicimune && Utils.SleepCheck("Rearm"))
                     {
                         Shiva.UseAbility();
                     }
                     else
                     {
                         elsecount += 1;
                     }
                     if (elsecount == 9 && euls != null && euls.CanBeCasted() && Menu.Item("Items2: ").GetValue <AbilityToggler>().IsEnabled(euls.Name) && magicimune && Utils.SleepCheck("Rearm") && Utils.SleepCheck("EtherealTime") && Utils.SleepCheck("RocketTime"))
                     {
                         euls.UseAbility(target);
                     }
                     else
                     {
                         elsecount += 1;
                     }
                     if (elsecount == 10 && Refresh != null && Refresh.CanBeCasted() && Menu.Item("Skills: ").GetValue <AbilityToggler>().IsEnabled(Refresh.Name) && !Refresh.IsChanneling && Utils.SleepCheck("Rearm") && Ready_for_refresh())
                     {
                         Refresh.UseAbility();
                         Utils.Sleep(800, "Rearm");
                     }
                     else
                     {
                         if (!me.IsChanneling() && Utils.SleepCheck("Rearm") && me.Distance2D(target) <= me.AttackRange)
                         {
                             me.Attack(target);
                         }
                     }
                     Utils.Sleep(150, "combo");
                 }
             }
         }
         else
         {
             autoattack(false);
             if (!me.IsChanneling() && Utils.SleepCheck("Rearm"))
             {
                 me.Move(Game.MousePosition);
             }
         }
     }
     else
     {
         autoattack(false);
     }
 }
        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
예제 #27
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");
                        }
                    }
                }
            }
        }
예제 #28
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");
                }
            }
        }
예제 #29
0
        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 = me.ClosestToMouseTarget(1800);
            if (e == null)
            {
                return;
            }
            if (Active)
            {
                if (
                    me.Distance2D(e) <= me.AttackRange + 100 && (!me.IsAttackImmune() || !e.IsAttackImmune()) &&
                    me.NetworkActivity != NetworkActivity.Attack && me.CanAttack() && Utils.SleepCheck("attack")
                    )
                {
                    me.Attack(e);
                    Utils.Sleep(150, "attack");
                }
                else if (
                    (!me.CanAttack() || me.Distance2D(e) >= 0) && me.NetworkActivity != NetworkActivity.Attack &&
                    me.Distance2D(e) <= 600 && Utils.SleepCheck("Move")
                    )
                {
                    me.Move(e.Predict(300));
                    Utils.Sleep(390, "Move");
                }
            }
            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");
                }
            }
        }
예제 #30
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;


            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 v =
                ObjectManager.GetEntities <Hero>()
                .Where(x => x.Team != me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion && !x.IsMagicImmune())
                .ToList();

            e = Toolset.ClosestToMouse(me);

            if (Active && 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 (
                    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 (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 != 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) <= 700 &&
                    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");
                }
            }
        }