Beispiel #1
0
        public void CombinedLastHitExecute()
        {
            this.Update();
            this.setAutoAttackMode();
            if (!Variable.CombinedLastHitActive)
            {
                return;
            }
            if (!this.anyCreepsAround(this.Me))
            {
                return;
            }
            double meleedmg;
            double rangeddmg;
            int    rangedCreepProjectilesInAir;

            this.getLowestHpCreep(Bear, 1000);
            if (this._LowestHpCreep == null)
            {
                return;
            }
            this.getKillableCreep(this._LowestHpCreep, false);
            if (this._creepTarget == null)
            {
                return;
            }
            var MeleeCreep = ObjectManager.GetEntities <Unit>().Where(_x => _x.ClassId == ClassId.CDOTA_BaseNPC_Creep_Lane &&
                                                                      _x.Distance2D(Me) <= 1000 &&
                                                                      _x.Name.Equals("npc_dota_creep_badguys_melee")).FirstOrDefault();

            if (MeleeCreep == null)
            {
                meleedmg = 0;
            }
            else
            {
                meleedmg = GetDmanageOnTargetFromSource(MeleeCreep, _creepTarget, 0);
            }

            bool anyOneHitBear = ObjectManager.TrackingProjectiles.Any(x => x.Target.Name.Equals(Bear.Name));
            //Console.WriteLine("someone hitting bear" + anyOneHitBear);
            var RangedCreep = ObjectManager.GetEntities <Unit>().Where(_x => _x.ClassId == ClassId.CDOTA_BaseNPC_Creep_Lane &&
                                                                       _x.Name.Equals("npc_dota_creep_badguys_ranged")).FirstOrDefault();

            if (RangedCreep == null)
            {
                rangeddmg = 0;
            }
            else
            {
                rangeddmg = GetDmanageOnTargetFromSource(RangedCreep, _creepTarget, 0);
            }
            var RangedCreepProjectilesToKillableCreeps = ObjectManager.TrackingProjectiles.Where(x => x.Source.Name.Equals("npc_dota_creep_badguys_ranged") && x.Target.Name == _creepTarget.Name);

            if (RangedCreepProjectilesToKillableCreeps == null)
            {
                rangedCreepProjectilesInAir = 0;
            }
            else
            {
                rangedCreepProjectilesInAir = RangedCreepProjectilesToKillableCreeps.Count();
            }
            if (this._creepTarget.IsValid && this._creepTarget.IsVisible && this._creepTarget.IsAlive)
            {
                var getDamageFromBear = GetDamangeOnUnit(Bear, _creepTarget, 0);
                var getDamageFromMe   = GetDamangeOnUnit(this.Me, _creepTarget, 0);
                //Console.WriteLine("bear Dmg " + getDamageFromBear);
                //Console.WriteLine("my dmg " + getDamageFromMe);
                var numOfMeleeOnKillable  = MeleeCreepsAttackKillableTarget(_creepTarget);
                var numOfRangedOnKillable = RangedCreepsAttackKillableTarget(_creepTarget);
                if (numOfMeleeOnKillable + numOfRangedOnKillable != 0)
                {
                    if ((_creepTarget.Health < (Bear.Distance2D(_creepTarget) < 150 ? getDamageFromBear : 0) + getDamageFromMe + (numOfMeleeOnKillable * 10) + numOfRangedOnKillable * rangeddmg && rangedCreepProjectilesInAir >= numOfRangedOnKillable - 1 && Me.Distance2D(_creepTarget) >= 400) ||
                        (_creepTarget.Health < (Bear.Distance2D(_creepTarget) < 150 ? getDamageFromBear : 0) + getDamageFromMe + (numOfMeleeOnKillable >= 2 ? 20 : 0) && Me.Distance2D(_creepTarget) > 200 && Me.Distance2D(_creepTarget) <= 400) ||
                        (_creepTarget.Health < (Bear.Distance2D(_creepTarget) < 150 ? getDamageFromBear : 0) + getDamageFromMe - 5)
                        )
                    {
                        if (!Me.IsAttacking())
                        {
                            Me.Attack(_creepTarget);
                        }
                        if (Bear != null)
                        {
                            if (!Bear.IsAttacking())
                            {
                                Bear.Attack(_creepTarget);
                            }
                        }
                    }
                    else if (_creepTarget.Health < 2 * (getDamageFromBear + getDamageFromMe) && _creepTarget.Health > getDamageFromBear + getDamageFromMe)
                    {
                        if (Utils.SleepCheck("A-stop"))
                        {
                            Me.Attack(_creepTarget);
                            Me.Hold();
                            if (Bear != null)
                            {
                                Bear.Hold();
                                Bear.Attack(_creepTarget);
                            }
                            Utils.Sleep(50, "A-stop");
                        }
                    }
                    else
                    {
                        if (Bear != null)
                        {
                            if (Utils.SleepCheck("Follow"))
                            {
                                Bear.Move(this._LowestHpCreep.Position);
                                Utils.Sleep(100, "Follow");
                            }
                        }
                    }
                }
                else
                {
                }
            }
        }
Beispiel #2
0
        //private int[] qDmg = new int[4] {40, 80, 120, 160};

        public void Combo()
        {
            Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key) && !Game.IsChatOpen;
            E      = Toolset.ClosestToMouse(Me);

            if (!Menu.Item("enabled").IsActive())
            {
                return;
            }
            if (E == null)
            {
                return;
            }
            if (Active && E.IsAlive && !E.IsInvul() && !E.IsIllusion)
            {
                _q = Me.Spellbook.SpellQ;

                _w = Me.Spellbook.SpellW ?? Me.FindSpell("tusk_launch_snowball");

                _e = Me.Spellbook.SpellE;

                _r = Me.Spellbook.SpellR;

                _urn = Me.FindItem("item_urn_of_shadows");

                _blink = Me.FindItem("item_blink");

                _satanic = Me.FindItem("item_satanic");

                _dagon = Me.Inventory.Items.FirstOrDefault(item => item.Name.Contains("item_dagon"));

                _halberd = Me.FindItem("item_heavens_halberd");

                _medall = Me.FindItem("item_medallion_of_courage") ?? Me.FindItem("item_solar_crest");

                _abyssal = Me.FindItem("item_abyssal_blade");

                _mjollnir = Me.FindItem("item_mjollnir");

                _soul = Me.FindItem("item_soul_ring");

                _arcane = Me.FindItem("item_arcane_boots");

                _mom = Me.FindItem("item_mask_of_madness");

                _shiva = Me.FindItem("item_shivas_guard");

                _mail = Me.FindItem("item_blade_mail");

                _bkb = Me.FindItem("item_black_king_bar");

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

                var linkens      = E.IsLinkensProtected();
                var modifW       = Me.HasModifier("modifier_tusk_snowball_movement");
                var medallModiff =
                    E.HasModifier("modifier_item_medallion_of_courage_armor_reduction") ||
                    E.HasModifier("modifier_item_solar_crest_armor_reduction");



                if (!Me.IsInvisible())
                {
                    if ( // Q Skill
                        _q != null &&
                        _q.CanBeCasted() &&
                        Me.CanCast() &&
                        Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_q.Name) &&
                        modifW &&
                        !E.IsMagicImmune() &&
                        Me.Distance2D(E) <= 300 &&
                        Utils.SleepCheck("Q")
                        )
                    {
                        _q.UseAbility(E.Predict(400));
                        Utils.Sleep(200, "Q");
                    } // Q Skill end

                    if ( //R Skill
                        _r != null &&
                        (medallModiff ||
                         E.IsMagicImmune() ||
                         _medall == null) &&
                        _r.CanBeCasted() &&
                        Me.CanCast() &&
                        !linkens &&
                        Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_r.Name) &&
                        Me.Distance2D(E) <= 700 &&
                        Utils.SleepCheck("R")
                        )
                    {
                        _r.UseAbility(E);
                        Utils.Sleep(150, "R");
                    } // R Skill end


                    if (_urn != null && _urn.CanBeCasted() && _urn.CurrentCharges > 0 && Me.Distance2D(E) <= 800 &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_urn.Name) && Utils.SleepCheck("urn"))
                    {
                        _urn.UseAbility(E);
                        Utils.Sleep(240, "urn");
                    }
                    float   angle = Me.FindAngleBetween(E.Position, true);
                    Vector3 pos   = new Vector3((float)(E.Position.X + 30 * Math.Cos(angle)), (float)(E.Position.Y + 30 * Math.Sin(angle)), 0);
                    if (
                        _blink != null &&
                        _q.CanBeCasted() &&
                        Me.CanCast() &&
                        _blink.CanBeCasted() &&
                        Me.Distance2D(pos) >= Me.GetAttackRange() + Me.HullRadius + 24 &&
                        Me.Distance2D(pos) <= 1190 &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_blink.Name) &&
                        Utils.SleepCheck("blink")
                        )
                    {
                        _blink.UseAbility(pos);
                        Utils.Sleep(250, "blink");
                    }
                    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 ( // E Skill
                        _e != null &&
                        _e.CanBeCasted() &&
                        Me.CanCast() &&
                        modifW &&
                        Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_e.Name) &&
                        !E.IsMagicImmune() &&
                        Me.Distance2D(E) <= 500 &&
                        Utils.SleepCheck("E")
                        )
                    {
                        _e.UseAbility();
                        Utils.Sleep(350, "E");
                    } // E Skill end
                    if ( // SoulRing Item
                        _soul != null &&
                        Me.Mana <= _q.ManaCost &&
                        _soul.CanBeCasted() &&
                        Utils.SleepCheck("soul")
                        )
                    {
                        _soul.UseAbility();
                        Utils.Sleep(250, "soul");
                    } // SoulRing Item end

                    if ( // Arcane Boots Item
                        _arcane != null &&
                        Me.Mana <= _q.ManaCost &&
                        _arcane.CanBeCasted() &&
                        Utils.SleepCheck("arcane")
                        )
                    {
                        _arcane.UseAbility();
                        Utils.Sleep(250, "arcane");
                    } // Arcane Boots Item end

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

                    if ( // MOM
                        _mom != null &&
                        _mom.CanBeCasted() &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_mom.Name) &&
                        Me.CanCast() &&
                        Utils.SleepCheck("mom") &&
                        Me.Distance2D(E) <= 700
                        )
                    {
                        _mom.UseAbility();
                        Utils.Sleep(250, "mom");
                    } // MOM Item end

                    if ( // Medall
                        _medall != null &&
                        _medall.CanBeCasted() &&
                        !Me.IsInvisible() &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_medall.Name) &&
                        Utils.SleepCheck("Medall") &&
                        Me.Distance2D(E) <= 500
                        )
                    {
                        _medall.UseAbility(E);
                        Utils.Sleep(250, "Medall");
                    } // Medall Item end


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

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

                    if ( // Dagon
                        _dagon != null &&
                        _dagon.CanBeCasted() &&
                        Me.CanCast() &&
                        !E.IsMagicImmune() &&
                        Utils.SleepCheck("dagon")
                        )
                    {
                        _dagon.UseAbility(E);
                        Utils.Sleep(150, "dagon");
                    } // Dagon Item end


                    if ( // Satanic
                        _satanic != null &&
                        Me.Health <= (Me.MaximumHealth * 0.3) &&
                        _satanic.CanBeCasted() &&
                        Me.Distance2D(E) <= 300 &&
                        Utils.SleepCheck("satanic") &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_satanic.Name)
                        )
                    {
                        _satanic.UseAbility();
                        Utils.Sleep(150, "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 ( // W Skill
                        _w != null &&
                        _w.CanBeCasted() &&
                        !E.IsMagicImmune() &&
                        Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_w.Name) &&
                        Utils.SleepCheck("W")
                        )
                    {
                        _w.UseAbility(E);
                        _w.UseAbility();
                        Utils.Sleep(120, "W");
                    }

                    var sigl = ObjectManager.GetEntities <Unit>().FirstOrDefault(x => (x.ClassId == ClassId.CDOTA_BaseNPC_Tusk_Sigil) &&
                                                                                 x.IsAlive && x.IsControllable);

                    if (Menu.Item("SiglControl").IsActive() && sigl != null)
                    {
                        if (E.Position.Distance2D(sigl.Position) < 1550 &&
                            Utils.SleepCheck(sigl.Handle.ToString()))
                        {
                            sigl.Move(Prediction.InFront(E, 350));
                            Utils.Sleep(350, sigl.Handle.ToString());
                        }
                    }
                }
                if (Menu.Item("orbwalk").GetValue <bool>() && Me.Distance2D(E) <= 1900)
                {
                    Orbwalking.Orbwalk(E, 0, 1600, true, true);
                }
            }
            if (Active)
            {
                var modifW = Me.HasModifier("modifier_tusk_snowball_movement");
                if (modifW && Menu.Item("SnowBall").IsActive())
                {
                    var teamarm = ObjectManager.GetEntities <Hero>().Where(ally =>
                                                                           ally.Team == Me.Team && ally.IsAlive && Me.Distance2D(ally) <= 395 &&
                                                                           ally.Health >= (ally.MaximumHealth * 0.4) &&
                                                                           !ally.HasModifier("modifier_tusk_snowball_movement_friendly")).ToList();

                    var unitToSnow =
                        ObjectManager.GetEntities <Unit>().Where(x =>
                                                                 ((x.ClassId == ClassId.CDOTA_BaseNPC_Invoker_Forged_Spirit ||
                                                                   x.ClassId == ClassId.CDOTA_Unit_SpiritBear ||
                                                                   x.ClassId == ClassId.CDOTA_BaseNPC_Warlock_Golem ||
                                                                   x.ClassId == ClassId.CDOTA_Unit_Broodmother_Spiderling ||
                                                                   x.ClassId == ClassId.CDOTA_BaseNPC_Creep) &&
                                                                  !x.IsAttackImmune() && !x.IsInvul() && x.IsVisible &&
                                                                  x.IsAlive && Me.Distance2D(x) <= 395) &&
                                                                 x.IsAlive && x.IsControllable &&
                                                                 !x.HasModifier("modifier_tusk_snowball_movement_friendly") &&
                                                                 !x.HasModifier("modifier_tusk_snowball_movement")).ToList();
                    if (teamarm != null)
                    {
                        foreach (Hero v in teamarm)
                        {
                            if (modifW && v.Distance2D(Me) < 395 &&
                                !v.HasModifier("modifier_tusk_snowball_movement_friendly") && !v.IsInvul() &&
                                !v.IsAttackImmune() && v.IsAlive && Utils.SleepCheck(v.Handle.ToString()))
                            {
                                Me.Attack(v);
                                Utils.Sleep(200, v.Handle.ToString());
                            }
                        }
                    }
                    if (unitToSnow != null)
                    {
                        foreach (Unit v in unitToSnow)
                        {
                            if (modifW && v.Distance2D(Me) < 395 &&
                                !v.HasModifier("modifier_tusk_snowball_movement_friendly") && !v.IsInvul() &&
                                !v.IsAttackImmune() && v.IsAlive && Utils.SleepCheck(v.Handle.ToString()))
                            {
                                Me.Attack(v);
                                Utils.Sleep(200, v.Handle.ToString());
                            }
                        }
                    }
                }
            }
        }
Beispiel #3
0
        } // GetDamageTaken::END

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

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

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

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

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

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

                                if (Me.AghanimState())
                                {
                                    if (_w != null && _w.CanBeCasted() &&
                                        Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(_w.Name) &&
                                        v.Distance2D(Me) <= 300 + Me.HullRadius + 24 &&
                                        !Me.HasModifier("modifier_earthshaker_enchant_totem") && Utils.SleepCheck("W"))
                                    {
                                        _w.UseAbility(Me);
                                        Utils.Sleep(250, "W");
                                    }
                                }
                                else if (_w != null && _w.CanBeCasted() &&
                                         Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(_w.Name) &&
                                         v.Distance2D(Me) <= _w.GetCastRange() + Me.HullRadius + 24 &&
                                         !Me.HasModifier("modifier_earthshaker_enchant_totem") && Utils.SleepCheck("W"))
                                {
                                    _w.UseAbility();
                                    Utils.Sleep(250, "W");
                                }
                            }
                        }
                    }
                    if (_enemies.Count(
                            x => x.Distance2D(v) <= 500) <= Menu.Item("Heelm").GetValue <Slider>().Value &&
                        _blink != null &&
                        _blink.CanBeCasted() &&
                        Me.CanCast() &&
                        v.Health <= _damage[v.Handle] &&
                        Me.Distance2D(v) <= 1180 &&
                        Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled(_blink.Name) &&
                        Me.Distance2D(v) > 300 &&
                        Utils.SleepCheck("blink")
                        )
                    {
                        _blink.UseAbility(v.Position);
                        Utils.Sleep(250, "blink");
                    }
                    else if (_enemies.Count(
                                 x => Me.Distance2D(x) <= 300 + Me.HullRadius + 24 && v.Health <= _damage[v.Handle]) >= 1)
                    {
                        if (_r == null || !_r.CanBeCasted() ||
                            !Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(_r.Name) || (_r.CanBeCasted() && _enemies.Count(
                                                                                                            x => x.Health <= _damage[v.Handle] && Me.Distance2D(x) <= _r.GetCastRange() + Me.HullRadius + 24) <=
                                                                                                        Menu.Item("Heel").GetValue <Slider>().Value))
                        {
                            if (Me.Distance2D(v) <= 500 + Me.HullRadius + 24 && Me.Distance2D(v) >= 300 + Me.HullRadius + 24 && Utils.SleepCheck("Move"))
                            {
                                Me.Move(v.Position);
                                Utils.Sleep(500, "Move");
                            }
                            if (v.Distance2D(Me) <= 300 + Me.HullRadius + 24)
                            {
                                if (_vail != null &&
                                    _vail.CanBeCasted() &&
                                    Me.CanCast() &&
                                    Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled(_vail.Name) &&
                                    Utils.SleepCheck("vail")
                                    )
                                {
                                    _vail.UseAbility(v.Position);
                                    Utils.Sleep(250, "vail");
                                } // orchid Item endelse
                                else if (_ethereal != null &&
                                         _ethereal.CanBeCasted() &&
                                         Me.CanCast() &&
                                         Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled(_ethereal.Name) &&
                                         Utils.SleepCheck("ethereal")
                                         )
                                {
                                    _ethereal.UseAbility(v);
                                    Utils.Sleep(250, "ethereal");
                                } // orchid Item end
                                else if (_q != null && _q.CanBeCasted() &&
                                         Utils.SleepCheck("Q"))
                                {
                                    _q.UseAbility(v.Position);
                                    Utils.Sleep(250, "Q");
                                }
                                else if (_shiva != null &&
                                         _shiva.CanBeCasted() &&
                                         Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled(_shiva.Name) &&
                                         Utils.SleepCheck("shiva"))
                                {
                                    _shiva.UseAbility();
                                    Utils.Sleep(250, "shiva");
                                }
                                else if (_dagon != null &&
                                         _dagon.CanBeCasted() &&
                                         Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled("item_dagon") &&
                                         Utils.SleepCheck("dagon"))
                                {
                                    _dagon.UseAbility(v);
                                    Utils.Sleep(250, "dagon");
                                }
                                else if (_w != null && _w.CanBeCasted() && !Me.AghanimState() &&
                                         Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(_w.Name) &&
                                         !Me.HasModifier("modifier_earthshaker_enchant_totem") && Utils.SleepCheck("W"))
                                {
                                    _w.UseAbility();
                                    Utils.Sleep(250, "W");
                                }
                                else if (_w != null && _w.CanBeCasted() && Me.AghanimState() &&
                                         Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(_w.Name) &&
                                         !Me.HasModifier("modifier_earthshaker_enchant_totem") && Utils.SleepCheck("W"))
                                {
                                    _w.UseAbility(Me);
                                    Utils.Sleep(250, "W");
                                }
                                else if (!Me.HasModifier("modifier_earthshaker_enchant_totem") &&
                                         Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(_w.Name) &&
                                         v.Health <= (((((Me.MaximumDamage + Me.MinimumDamage) / 2) * (_wDmg[_w.Level] / 100)) + Me.BonusDamage) + _eDmg[_e.Level]))
                                {
                                    if (Me.AghanimState())
                                    {
                                        if (_w != null && _w.CanBeCasted() &&
                                            !Me.HasModifier("modifier_earthshaker_enchant_totem") && Utils.SleepCheck("W"))
                                        {
                                            _w.UseAbility(Me);
                                            Utils.Sleep(250, "W");
                                        }
                                    }
                                    else if (_w != null && _w.CanBeCasted() &&
                                             !Me.HasModifier("modifier_earthshaker_enchant_totem") && Utils.SleepCheck("W"))
                                    {
                                        _w.UseAbility();
                                        Utils.Sleep(250, "W");
                                    }
                                }
                            }
                        }
                    }
                    if (Me.HasModifier("modifier_earthshaker_enchant_totem"))
                    {
                        if (v.Health <=
                            (((Me.MinimumDamage + Me.MaximumDamage) / 2) + Me.BonusDamage) - v.DamageAverage &&
                            !Me.IsAttacking() &&
                            Me.Distance2D(v) <= 300 + Me.HullRadius + 24 &&
                            Utils.SleepCheck("Attack"))
                        {
                            Me.Attack(v);
                            Utils.Sleep(250, "Attack");
                        }
                        else if (Me.Distance2D(v) <= 300 + Me.HullRadius + 24 &&
                                 !Me.IsAttacking() &&
                                 Utils.SleepCheck("Attack"))
                        {
                            Me.Attack(v);
                            Utils.Sleep(250, "Attack");
                        }
                    }
                } // foreach::END
            }
        }         // AutoSpells::END
Beispiel #4
0
        public void Combo()
        {
            //spell
            _q = Me.Spellbook.SpellQ;
            _w = Me.FindSpell("earthshaker_enchant_totem");
            _e = Me.Spellbook.SpellE;
            _r = Me.Spellbook.SpellR;

            // Item
            _ethereal = Me.FindItem("item_ethereal_blade");
            _vail     = Me.FindItem("item_veil_of_discord");
            _cheese   = Me.FindItem("item_cheese");
            _ghost    = Me.FindItem("item_ghost");
            _orchid   = Me.FindItem("item_orchid") ?? Me.FindItem("item_bloodthorn");
            _atos     = Me.FindItem("item_rod_of_atos");
            _soul     = Me.FindItem("item_soul_ring");
            _arcane   = Me.FindItem("item_arcane_boots");
            _blink    = Me.FindItem("item_blink");
            _shiva    = Me.FindItem("item_shivas_guard");
            _dagon    = Me.Inventory.Items.FirstOrDefault(item => item.Name.Contains("item_dagon"));

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

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

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

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

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

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

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

                                if (
                                    // cheese
                                    _cheese != null &&
                                    _cheese.CanBeCasted() &&
                                    Me.Health <= (Me.MaximumHealth * 0.3) &&
                                    Me.Distance2D(E) <= 700 &&
                                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_cheese.Name) &&
                                    Utils.SleepCheck("cheese")
                                    )
                                {
                                    _cheese.UseAbility();
                                    Utils.Sleep(200, "cheese");
                                } // cheese Item end
                            }
                        }
                    }
                    if (Menu.Item("orbwalk").GetValue <bool>() && Me.Distance2D(E) <= 1600 && !Me.HasModifier("modifier_earthshaker_enchant_totem"))
                    {
                        Orbwalking.Orbwalk(E, 0, 1600, true, true);
                    }
                }
                Utils.Sleep(150, "activated");
            }
            AutoSpells();
        }
Beispiel #5
0
        public void Combo()
        {
            if (!Menu.Item("enabled").GetValue <bool>())
            {
                return;
            }

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

            _q = Me.Spellbook.SpellQ;
            _r = Me.Spellbook.SpellR;
            _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");
            _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 && Me.IsInvisible())
            {
                if (Me.Distance2D(E) <= 150 && Utils.SleepCheck("Attack") && Me.NetworkActivity != NetworkActivity.Attack)
                {
                    Me.Attack(E);
                    Utils.Sleep(150, "Attack");
                }
                else if (Me.Distance2D(E) <= 2400 && Me.Distance2D(E) >= 130 && Me.NetworkActivity != NetworkActivity.Attack && Utils.SleepCheck("Move"))
                {
                    Me.Move(E.Position);
                    Utils.Sleep(150, "Move");
                }
            }
            else if (Active && Me.Distance2D(E) <= 1400 && E.IsAlive && !Me.IsInvisible())
            {
                if (Me.Distance2D(E) >= 400)
                {
                    if (
                        _w != null && _w.CanBeCasted() && Me.Distance2D(E) <= 1100 &&
                        Me.CanAttack() &&
                        Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_w.Name) &&
                        Utils.SleepCheck("W")
                        )
                    {
                        _w.UseAbility();
                        Utils.Sleep(100, "W");
                    }
                }
                if (_w != null && _w.IsInAbilityPhase || Me.HasModifier("modifier_weaver_shukuchi"))
                {
                    return;
                }

                if (Menu.Item("orbwalk").GetValue <bool>())
                {
                    Orbwalking.Orbwalk(E, 0, 1600, true, true);
                }
                if (
                    _blink != null &&
                    Me.CanCast() &&
                    _blink.CanBeCasted() &&
                    Me.Distance2D(E) < 1190 &&
                    Me.Distance2D(E) > Me.AttackRange - 50 &&
                    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) <= Me.AttackRange + 300 &&
                    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();
        }
        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 pikeRange = Me.Modifiers.FirstOrDefault(y => y.Name == "modifier_item_hurricane_pike_range");
                if (pikeRange != 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 &&
                        pikeRange.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 (pikeRange != null && pikeRange.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");
            }
        }