示例#1
0
        private void OnTimedEvent()
        {
            if (Game.IsPaused || _r == null)
            {
                return;
            }
            if (_r != null)
            {
                if (Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_r.Name))
                {
                    //Console.WriteLine("PING"+(int)Game.Ping);
                    float now = Me.Health;
                    Task.Delay(4000 - (int)Game.Ping).ContinueWith(_ =>
                    {
                        float back4 = Me.Health;
                        if ((Menu.Item("ultMode2").GetValue <bool>() && (now - back4) >= Menu.Item("MomentDownHealth2").GetValue <Slider>().Value ||
                             (Menu.Item("ultMode1").GetValue <bool>() && (((int)Me.MaximumHealth / (4 / (now - back4))) / 1000000) >= ((double)Menu.Item("MomentDownHealth1").GetValue <Slider>().Value / 100))) && _r.CanBeCasted())
                        {
                            if (_r.CanBeCasted() && Utils.SleepCheck("R"))
                            {
                                if (!Me.AghanimState())
                                {
                                    _r.UseAbility();
                                }
                                else
                                {
                                    _r.UseAbility(Me);
                                }
                                Utils.Sleep(250, "R");
                            }
                        }
                    });

                    var ally = ObjectManager.GetEntities <Hero>()
                               .Where(x => x.Team == Me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion && !x.Equals(Me)).ToList();
                    if (Menu.Item("ult").GetValue <bool>() && Me.AghanimState())
                    {
                        foreach (var a in ally)
                        {
                            float allyHealth = a.Health;
                            Task.Delay(4000 - (int)Game.Ping).ContinueWith(_ =>
                            {
                                float backAlly4 = a.Health;
                                if ((Menu.Item("ultMode2Ally").GetValue <bool>() && (allyHealth - backAlly4) >= Menu.Item("MomentAllyDownHealth2").GetValue <Slider>().Value ||
                                     (Menu.Item("ultMode1Ally").GetValue <bool>() && (((int)a.MaximumHealth / (4 / (allyHealth - backAlly4))) / 1000000) >= ((double)Menu.Item("MomentAllyDownHealth1").GetValue <Slider>().Value / 100))) && Me.Distance2D(a) <= 1000 + Me.HullRadius)
                                {
                                    if (_r.CanBeCasted() && Utils.SleepCheck("RAlly"))
                                    {
                                        _r.UseAbility(a);
                                        Utils.Sleep(250, "RAlly");
                                    }
                                }
                            });
                        }
                    }
                }
            }
        }
示例#2
0
        public void Combo()
        {
            Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key);
            if (!Menu.Item("enabled").IsActive())
            {
                return;
            }
            _q = Me.Spellbook.SpellQ;
            _w = Me.Spellbook.SpellW;
            _r = Me.Spellbook.SpellR;
            var v =
                ObjectManager.GetEntities <Hero>()
                .Where(x => x.Team != Me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion)
                .ToList();

            _mom      = Me.FindItem("item_mask_of_madness");
            _urn      = Me.FindItem("item_urn_of_shadows");
            _dagon    = Me.Inventory.Items.FirstOrDefault(item => item.Name.Contains("item_dagon"));
            _mjollnir = Me.FindItem("item_mjollnir");
            _abyssal  = Me.FindItem("item_abyssal_blade");
            _lotusorb = Me.FindItem("item_lotus_orb");
            _mail     = Me.FindItem("item_blade_mail");
            _armlet   = Me.FindItem("item_armlet");
            _bkb      = Me.FindItem("item_black_king_bar");
            _satanic  = Me.FindItem("item_satanic");
            _blink    = Me.FindItem("item_blink");
            _medall   = Me.FindItem("item_medallion_of_courage") ?? Me.FindItem("item_solar_crest");
            _shiva    = Me.FindItem("item_shivas_guard");
            E         = Toolset.ClosestToMouse(Me);
            if (E == null)
            {
                return;
            }
            var stoneModif = E.HasModifier("modifier_medusa_stone_gaze_stone");

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

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

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


                if (_urn != null && _urn.CanBeCasted() && _urn.CurrentCharges > 0 && Me.Distance2D(E) <= 400 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_urn.Name) && Utils.SleepCheck("_urn"))
                {
                    _urn.UseAbility(E);
                    Utils.Sleep(240, "_urn");
                }
                if (                 // Satanic
                    _satanic != null &&
                    Me.Health <= (Me.MaximumHealth * 0.3) &&
                    _satanic.CanBeCasted() &&
                    Me.Distance2D(E) <= Me.AttackRange + 50 &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_satanic.Name) &&
                    Utils.SleepCheck("_satanic")
                    )
                {
                    _satanic.UseAbility();
                    Utils.Sleep(240, "_satanic");
                }                 // Satanic Item end
                if (_mail != null && _mail.CanBeCasted() && (v.Count(x => x.Distance2D(Me) <= 650) >=
                                                             (Menu.Item("Heelm").GetValue <Slider>().Value)) &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_mail.Name) && Utils.SleepCheck("_mail"))
                {
                    _mail.UseAbility();
                    Utils.Sleep(100, "_mail");
                }
                if (_bkb != null && _bkb.CanBeCasted() && (v.Count(x => x.Distance2D(Me) <= 650) >=
                                                           (Menu.Item("Heel").GetValue <Slider>().Value)) &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_bkb.Name) && Utils.SleepCheck("_bkb"))
                {
                    _bkb.UseAbility();
                    Utils.Sleep(100, "_bkb");
                }
                if (Menu.Item("orbwalk").GetValue <bool>() && Me.Distance2D(E) <= 1900)
                {
                    Orbwalking.Orbwalk(E, 0, 1600, true, true);
                }
                if (_q != null && _q.IsInAbilityPhase && v.Count(x => x.Distance2D(Me) <= _q.GetCastRange() + Me.HullRadius + 23) == 0 && Utils.SleepCheck("Phase"))
                {
                    Me.Stop();
                    Utils.Sleep(100, "Phase");
                }
            }
            if (Menu.Item("kill").IsActive())
            {
                if (_r == null || !Me.IsAlive)
                {
                    return;
                }
                var count = v.Count();
                if (count <= 0)
                {
                    return;
                }

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

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


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

                    if (_blink != null && _blink.CanBeCasted() && _r != null && _r.CanBeCasted() && Menu.Item("_blink").IsActive())
                    {
                        if (Me.Distance2D(v[i]) > _r.GetCastRange() + Me.HullRadius + 24 && v[i].Health < _rDmg && Utils.SleepCheck(v[i].Handle.ToString()))
                        {
                            _blink.UseAbility(v[i].Position);
                            Utils.Sleep(150, v[i].Handle.ToString());
                        }
                    }
                    var bonusRange = Menu.Item("killRange").IsActive() ? Menu.Item("Blade").GetValue <Slider>().Value : 0;
                    if (v[i].Health <= _rDmg && v[i].Distance2D(Me) <= _r.GetCastRange() + Me.HullRadius + 24 + bonusRange && Utils.SleepCheck(v[i].Handle.ToString()))
                    {
                        _r.UseAbility(v[i]);
                        Utils.Sleep(150, v[i].Handle.ToString());
                    }
                }
            }
        }
示例#3
0
        private double CalculateDamage(Hero victim)
        {
            double dmgResult = 0;

            _eDmg = _e.GetAbilityData("damage_health_pct") * 0.01f * victim.Health;
            _rDmg = Me.AghanimState() ? _r.GetAbilityData("damage_scepter") : _r.GetAbilityData("damage");

            if (_r != null && Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(_r.Name) &&
                _r.CanBeCasted())
            {
                if (victim.NetworkName == "CDOTA_Unit_Hero_Spectre" && victim.Spellbook.Spell3.Level > 0)
                {
                    dmgResult += _rDmg * (1 - (0.10 + victim.Spellbook.Spell3.Level * 0.04));
                }
                else
                {
                    dmgResult += _rDmg;
                }
            }
            if (_q != null && Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(_q.Name) && _q.CanBeCasted())
            {
                dmgResult += _qDmg[_q.Level];
            }

            if (_w != null && _w.CanBeCasted() && Menu.Item("AutoSpells").GetValue <AbilityToggler>().IsEnabled(_w.Name))
            {
                dmgResult += _wDmg[_w.Level];
            }

            if (victim.NetworkName == "CDOTA_Unit_Hero_SkeletonKing" && victim.Spellbook.SpellR.CanBeCasted())
            {
                dmgResult = 0;
            }

            if (victim.HasModifier("modifier_kunkka_ghost_ship_damage_absorb"))
            {
                dmgResult *= 0.5;
            }

            if (victim.HasModifier("modifier_bloodseeker_bloodrage"))
            {
                var blood = ObjectManager.GetEntities <Hero>()
                            .FirstOrDefault(x => x.ClassId == ClassId.CDOTA_Unit_Hero_Bloodseeker);
                if (blood != null)
                {
                    dmgResult *= _bloodrage[blood.Spellbook.Spell1.Level];
                }
                else
                {
                    dmgResult *= 1.4;
                }
            }

            if (victim.HasModifier("modifier_chen_penitence"))
            {
                var chen =
                    ObjectManager.GetEntities <Hero>()
                    .FirstOrDefault(x => x.Team == Me.Team && x.ClassId == ClassId.CDOTA_Unit_Hero_Chen);
                if (chen != null)
                {
                    dmgResult *= _penitence[chen.Spellbook.Spell1.Level];
                }
            }

            if (victim.HasModifier("modifier_shadow_demon_soul_catcher"))
            {
                var demon = ObjectManager.GetEntities <Hero>()
                            .FirstOrDefault(x => x.Team == Me.Team && x.ClassId == ClassId.CDOTA_Unit_Hero_Shadow_Demon);
                if (demon != null)
                {
                    dmgResult *= _souls[demon.Spellbook.Spell2.Level];
                }
            }

            if (victim.HasModifier("modifier_item_mask_of_madness_berserk"))
            {
                dmgResult *= 1.3;
            }

            _vail = Me.FindItem("item_veil_of_discord");
            if (_vail != null && _vail.CanBeCasted() && !victim.HasModifier("modifier_item_veil_of_discord_debuff") &&
                Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled(_vail.Name))
            {
                dmgResult *= 1.25;
            }

            if (victim.Distance2D(Me) <= 1200 + Me.HullRadius)
            {
                dmgResult += _eDmg;
            }


            var spellamplymult = 1 + (Me.TotalIntelligence / 16 / 100);

            dmgResult  = dmgResult * spellamplymult;
            dmgResult *= 1 - victim.MagicDamageResist;
            int etherealdamage = (int)((Me.TotalIntelligence * 2) + 75);

            if (_ethereal != null && _ethereal.CanBeCasted() && victim.Handle == E?.Handle && (_vail == null || victim.HasModifier("modifier_item_veil_of_discord_debuff") || _vail.CanBeCasted() && Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled(_vail.Name) || !Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled(_vail.Name)))
            {
                dmgResult = dmgResult * 1.4 + etherealdamage;
            }

            if (_dagon != null && _dagon.CanBeCasted() && victim.Handle == E?.Handle && Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled("item_dagon"))
            {
                dmgResult += _dagonDmg[_dagon.Level];
            }
            _shiva = Me.FindItem("item_shivas_guard");
            if (_shiva != null && _shiva.CanBeCasted() && Menu.Item("AutoItems").GetValue <AbilityToggler>().IsEnabled(_shiva.Name))
            {
                dmgResult += 200;
            }



            return(dmgResult);
        } // GetDamageTaken::END
示例#4
0
        public void Combo()
        {
            if (!Game.IsInGame || Game.IsPaused || Game.IsWatchingGame)
            {
                return;
            }

            Active = Game.IsKeyDown(Menu.Item("Combo Key").GetValue <KeyBind>().Key) && !Game.IsChatOpen;
            if (Active && Me.IsAlive)
            {
                E = Toolset.ClosestToMouse(Me);
                if (E == null)
                {
                    return;
                }
                _q = Me.Spellbook.SpellQ;

                _w = Me.Spellbook.SpellW;

                _r = Me.Spellbook.SpellR;

                // item
                _sheep = E.ClassId == ClassId.CDOTA_Unit_Hero_Tidehunter ? null : Me.FindItem("item_sheepstick");

                _satanic = Me.FindItem("item_satanic");

                _shiva = Me.FindItem("item_shivas_guard");

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

                _arcane = Me.FindItem("item_arcane_boots");

                _orchid = Me.FindItem("item_orchid") ?? Me.FindItem("item_bloodthorn");

                _mom = Me.FindItem("item_mask_of_madness");

                _vail = Me.FindItem("item_veil_of_discord");

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

                _ethereal = Me.FindItem("item_ethereal_blade");

                _blink = Me.FindItem("item_blink");

                _soul = Me.FindItem("item_soul_ring");

                _cheese = Me.FindItem("item_cheese");

                _halberd = Me.FindItem("item_heavens_halberd");

                _abyssal = Me.FindItem("item_abyssal_blade");

                _mjollnir = Me.FindItem("item_mjollnir");
                var stoneModif = E.HasModifier("modifier_medusa_stone_gaze_stone");
                var linkens    = E.IsLinkensProtected();
                var noBlade    = E.HasModifier("modifier_item_blade_mail_reflect");
                if (E.IsVisible && Me.Distance2D(E) <= 2300 && !noBlade)
                {
                    if (Menu.Item("orbwalk").GetValue <bool>() && Me.Distance2D(E) <= 1900)
                    {
                        Orbwalking.Orbwalk(E, 0, 1600, true, true);
                    }
                    if (
                        _r != null &&
                        _r.CanBeCasted() &&
                        !Me.HasModifier("modifier_nyx_assassin_vendetta") &&
                        Me.Distance2D(E) <= 1400 &&
                        Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_r.Name) &&
                        Utils.SleepCheck("R")
                        )
                    {
                        _r.UseAbility();
                        Utils.Sleep(200, "R");
                    }

                    if (_r != null && (_r.IsInAbilityPhase || Me.HasModifier("modifier_nyx_assassin_vendetta") || _r.IsChanneling))
                    {
                        return;
                    }
                    if (_r == null || !_r.CanBeCasted() && !Me.HasModifier("modifier_nyx_assassin_vendetta") ||
                        !Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_r.Name))
                    {
                        if (stoneModif)
                        {
                            return;
                        }
                        var angle = Me.FindAngleBetween(E.Position, true);
                        var 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) >= 300 &&
                            Me.Distance2D(pos) <= 1180 &&
                            Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_blink.Name) &&
                            Utils.SleepCheck("blink")
                            )
                        {
                            _blink.UseAbility(pos);
                            Utils.Sleep(250, "blink");
                        }
                        if ( // orchid
                            _orchid != null &&
                            _orchid.CanBeCasted() &&
                            Me.CanCast() &&
                            !E.IsLinkensProtected() &&
                            !E.IsMagicImmune() &&
                            Me.Distance2D(E) <= Me.AttackRange + Me.HullRadius + 50 &&
                            Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_orchid.Name) &&
                            Utils.SleepCheck("orchid")
                            )
                        {
                            _orchid.UseAbility(E);
                            Utils.Sleep(250, "orchid");
                        } // orchid Item end
                        if ( // vail
                            _vail != null &&
                            _vail.CanBeCasted() &&
                            Me.CanCast() &&
                            Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_vail.Name) &&
                            !E.IsMagicImmune() &&
                            Utils.SleepCheck("vail") &&
                            Me.Distance2D(E) <= 1500
                            )
                        {
                            _vail.UseAbility(E.Position);
                            Utils.Sleep(250, "vail");
                        }

                        if ( // ethereal
                            _ethereal != null &&
                            _ethereal.CanBeCasted() &&
                            (!_vail.CanBeCasted() ||
                             _vail == null) &&
                            Me.CanCast() &&
                            !linkens &&
                            !E.IsMagicImmune() &&
                            Utils.SleepCheck("ethereal")
                            )
                        {
                            _ethereal.UseAbility(E);
                            Utils.Sleep(150, "ethereal");
                        }

                        if ((_vail == null || !_vail.CanBeCasted() || !Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_vail.Name)) && (_ethereal == null || !_ethereal.CanBeCasted() || !Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_ethereal.Name)))
                        {
                            if ( // sheep
                                _sheep != null &&
                                _sheep.CanBeCasted() &&
                                Me.CanCast() &&
                                !E.IsLinkensProtected() &&
                                !E.IsMagicImmune() &&
                                !E.IsStunned() &&
                                !E.IsHexed() &&
                                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 (
                                _q != null &&
                                _q.CanBeCasted() &&
                                _q.Cooldown <= 0 &&
                                Me.Mana >= _q.ManaCost &&
                                !E.IsStunned() &&
                                !E.IsHexed() &&
                                Me.Distance2D(E) <= _q.GetCastRange() + Me.HullRadius &&
                                !E.IsMagicImmune() &&
                                Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_q.Name) &&
                                Utils.SleepCheck("Q"))
                            {
                                _q.CastSkillShot(E);
                                Utils.Sleep(100, "Q");
                            }
                            if (
                                _w != null &&
                                _w.CanBeCasted() &&
                                Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_w.Name) &&
                                E.Mana >= (E.MaximumMana * 0.2) &&
                                Me.Position.Distance2D(E.Position) < _w.GetCastRange() &&
                                Utils.SleepCheck("W"))
                            {
                                _w.UseAbility(E);
                                Utils.Sleep(100, "W");
                            }

                            if ( // SoulRing Item
                                _soul != null &&
                                Me.Health >= (Me.MaximumHealth * 0.5) &&
                                Me.Mana <= _r.ManaCost &&
                                _soul.CanBeCasted() &&
                                Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_soul.Name) &&
                                Utils.SleepCheck("soul"))
                            {
                                _soul.UseAbility();
                                Utils.Sleep(100, "soul");
                            } // SoulRing Item end

                            if ( // Arcane Boots Item
                                _arcane != null &&
                                Me.Mana <= _q.ManaCost &&
                                _arcane.CanBeCasted() &&
                                Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_arcane.Name) &&
                                Utils.SleepCheck("arcane"))
                            {
                                _arcane.UseAbility();
                                Utils.Sleep(100, "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 ( // Medall
                                _medall != null &&
                                _medall.CanBeCasted() &&
                                Me.CanCast() &&
                                !E.IsMagicImmune() &&
                                Utils.SleepCheck("Medall") &&
                                Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_medall.Name) &&
                                Me.Distance2D(E) <= 500
                                )
                            {
                                _medall.UseAbility(E);
                                Utils.Sleep(250, "Medall");
                            } // Medall Item end

                            if ( // MOM
                                _mom != null &&
                                _mom.CanBeCasted() &&
                                Me.CanCast() &&
                                Utils.SleepCheck("mom") &&
                                Me.Distance2D(E) <= 700 &&
                                Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_mom.Name)
                                )
                            {
                                _mom.UseAbility();
                                Utils.Sleep(250, "mom");
                            } // MOM 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 ( // Abyssal Blade
                                _abyssal != null &&
                                _abyssal.CanBeCasted() &&
                                Me.CanCast() &&
                                !E.IsMagicImmune() &&
                                Utils.SleepCheck("abyssal") &&
                                Me.Distance2D(E) <= 400 &&
                                !E.IsStunned() &&
                                Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_abyssal.Name)
                                )
                            {
                                _abyssal.UseAbility(E);
                                Utils.Sleep(250, "abyssal");
                            } // Abyssal 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 ( // Dagon
                                Me.CanCast() &&
                                _dagon != null &&
                                (_ethereal == null ||
                                 (E.HasModifier("modifier_item_ethereal_blade_slow") ||
                                  _ethereal.Cooldown < 18)) &&
                                !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 ( // Mjollnir
                                _mjollnir != null &&
                                _mjollnir.CanBeCasted() &&
                                Me.CanCast() &&
                                !E.IsMagicImmune() &&
                                Utils.SleepCheck("mjollnir") &&
                                Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_mjollnir.Name) &&
                                Me.Distance2D(E) <= 900
                                )
                            {
                                _mjollnir.UseAbility(Me);
                                Utils.Sleep(250, "mjollnir");
                            } // Mjollnir Item end

                            if ( // Satanic
                                _satanic != null &&
                                Me.Health <= (Me.MaximumHealth * 0.3) &&
                                _satanic.CanBeCasted() &&
                                Me.Distance2D(E) <= 700 &&
                                Utils.SleepCheck("Satanic") &&
                                Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_satanic.Name)
                                )
                            {
                                _satanic.UseAbility();
                                Utils.Sleep(350, "Satanic");
                            } // Satanic Item end
                        }
                    }
                }
            }
            if (!Menu.Item("Kill").GetValue <bool>() || !Me.IsAlive ||
                (!Me.IsVisibleToEnemies && Me.IsInvisible()))
            {
                return;
            }
            var enemies =
                ObjectManager.GetEntities <Hero>()
                .Where(x => x.IsVisible && x.IsAlive && x.Team != Me.Team && !x.IsIllusion).ToList();

            double[] penitence = { 0, 1.15, 1.2, 1.25, 1.3 };
            double[] bloodrage = { 0, 1.15, 1.2, 1.25, 1.3 };
            double[] soul      = { 0, 1.2, 1.3, 1.4, 1.5 };

            if (enemies.Count <= 0)
            {
                return;
            }
            foreach (var v in enemies)
            {
                if (v == null)
                {
                    return;
                }

                var wM   = new[] { 3.5, 4, 4.5, 5 };
                var wDmg = Me.TotalIntelligence * wM[_w.Level - 1];

                var damageW = Math.Floor(wDmg * (1 - v.MagicDamageResist));

                var lens           = Me.HasModifier("modifier_item_aether_lens");
                var spellamplymult = 1 + (Me.TotalIntelligence / 16 / 100);
                if (v.NetworkName == "CDOTA_Unit_Hero_Spectre" && v.Spellbook.Spell3.Level > 0)
                {
                    damageW =
                        Math.Floor(wDmg *
                                   (1 - (0.10 + v.Spellbook.Spell3.Level * 0.04)) * (1 - v.MagicDamageResist));
                }

                if (lens)
                {
                    damageW = damageW * 1.08;
                }
                if (v.HasModifier("modifier_kunkka_ghost_ship_damage_absorb"))
                {
                    damageW = damageW * 0.5;
                }
                if (v.HasModifier("modifier_item_mask_of_madness_berserk"))
                {
                    damageW = damageW * 1.3;
                }
                if (v.HasModifier("modifier_bloodseeker_bloodrage"))
                {
                    var blood =
                        ObjectManager.GetEntities <Hero>()
                        .FirstOrDefault(x => x.ClassId == ClassId.CDOTA_Unit_Hero_Bloodseeker);
                    if (blood != null)
                    {
                        damageW = damageW * bloodrage[blood.Spellbook.Spell1.Level];
                    }
                    else
                    {
                        damageW = damageW * 1.4;
                    }
                }


                if (v.HasModifier("modifier_chen_penitence"))
                {
                    var chen =
                        ObjectManager.GetEntities <Hero>()
                        .FirstOrDefault(x => x.Team == Me.Team && x.ClassId == ClassId.CDOTA_Unit_Hero_Chen);
                    if (chen != null)
                    {
                        damageW = damageW * penitence[chen.Spellbook.Spell1.Level];
                    }
                }


                if (v.HasModifier("modifier_shadow_demon_soul_catcher"))
                {
                    var demon =
                        ObjectManager.GetEntities <Hero>()
                        .FirstOrDefault(x => x.Team == Me.Team && x.ClassId == ClassId.CDOTA_Unit_Hero_Shadow_Demon);
                    if (demon != null)
                    {
                        damageW = damageW * soul[demon.Spellbook.Spell2.Level];
                    }
                }
                damageW = damageW * spellamplymult;

                if (damageW > v.Mana)
                {
                    damageW = v.Mana;
                }


                if ( // vail
                    _vail != null &&
                    _vail.CanBeCasted() &&
                    _w.CanBeCasted() &&
                    v.Health <= damageW * 1.25 &&
                    v.Health >= damageW &&
                    Me.CanCast() &&
                    !v.HasModifier("modifier_item_veil_of_discord_debuff") &&
                    !v.IsMagicImmune() &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_vail.Name) &&
                    Me.Distance2D(v) <= _w.GetCastRange() &&
                    Utils.SleepCheck("vail")
                    )
                {
                    _vail.UseAbility(v.Position);
                    Utils.Sleep(250, "vail");
                }
                var etherealdamage = (int)(((Me.TotalIntelligence * 2) + 75));
                if ( // vail
                    _ethereal != null &&
                    _ethereal.CanBeCasted() &&
                    _w != null &&
                    _w.CanBeCasted() &&
                    v.Health <= etherealdamage + damageW * 1.4 &&
                    v.Health >= damageW &&
                    Me.CanCast() &&
                    !v.HasModifier("modifier_item_ethereal_blade_slow") &&
                    !v.IsMagicImmune() &&
                    Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_ethereal.Name) &&
                    Me.Distance2D(v) <= _ethereal.GetCastRange() + 50 &&
                    Utils.SleepCheck("ethereal")
                    )
                {
                    _ethereal.UseAbility(v);
                    Utils.Sleep(250, "ethereal");
                }

                if (_w != null && v != null && _w.CanBeCasted() &&
                    Me.AghanimState()
                    ? !(Me.Distance2D(v) <= 1050)
                    : !(Me.Distance2D(v) <= _w.GetCastRange() + 50) ||
                    v.HasModifier("modifier_tusk_snowball_movement") ||
                    v.HasModifier("modifier_snowball_movement_friendly") ||
                    v.HasModifier("modifier_templar_assassin_refraction_absorb") ||
                    v.HasModifier("modifier_ember_spirit_flame_guard") ||
                    v.HasModifier("modifier_ember_spirit_sleight_of_fist_caster_invulnerability") ||
                    v.HasModifier("modifier_obsidian_destroyer_astral_imprisonment_prison") ||
                    v.HasModifier("modifier_puck_phase_shift") || v.HasModifier("modifier_eul_cyclone") ||
                    v.HasModifier("modifier_dazzle_shallow_grave") ||
                    v.HasModifier("modifier_shadow_demon_disruption") ||
                    v.HasModifier("modifier_necrolyte_reapers_scythe") ||
                    v.HasModifier("modifier_necrolyte_reapers_scythe") ||
                    v.HasModifier("modifier_storm_spirit_ball_lightning") ||
                    v.HasModifier("modifier_ember_spirit_fire_remnant") ||
                    v.HasModifier("modifier_nyx_assassin_spiked_carapace") ||
                    v.HasModifier("modifier_phantom_lancer_doppelwalk_phase") ||
                    v.FindSpell("abaddon_borrowed_time").CanBeCasted() ||
                    v.HasModifier("modifier_abaddon_borrowed_time_damage_redirect") || v.IsMagicImmune() ||
                    !(v.Health < damageW) || !Utils.SleepCheck(v.Handle.ToString()))
                {
                    continue;
                }
                _w.UseAbility(v);
                Utils.Sleep(150, v.Handle.ToString());
                return;
            }
        }
示例#5
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
示例#6
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();
        }
示例#7
0
        private void A()
        {
            if (Menu.Item("AutoUlt").GetValue <AbilityToggler>().IsEnabled(_r.Name) && _r.CanBeCasted())
            {
                var enemies =
                    ObjectManager.GetEntities <Hero>()
                    .Where(x => x.IsVisible && x.IsAlive && x.Team != Me.Team && !x.IsIllusion).ToList();


                double[] penitence = { 0, 1.15, 1.2, 1.25, 1.3 };
                double[] bloodrage = { 0, 1.15, 1.2, 1.25, 1.3 };
                double[] soul      = { 0, 1.2, 1.3, 1.4, 1.5 };
                foreach (var v in enemies)
                {
                    if (v == null)
                    {
                        return;
                    }

                    _rDmg = new[] { 450, 650, 850 };


                    var    leans  = Me.FindItem("item_aether_lens");
                    var    agh    = (_rDmg[_r.Level - 1]);
                    double damage = (_rDmg[_r.Level - 1] * (1 - v.MagicDamageResist));
                    if (v.NetworkName == "CDOTA_Unit_Hero_Spectre" && v.Spellbook.Spell3.Level > 0)
                    {
                        damage =
                            Math.Floor(_rDmg[_r.Level - 1] *
                                       (1 - (0.10 + v.Spellbook.Spell3.Level * 0.04)) * (1 - v.MagicDamageResist));
                    }
                    if (v.NetworkName == "CDOTA_Unit_Hero_SkeletonKing" &&
                        v.Spellbook.SpellR.CanBeCasted())
                    {
                        damage = 0;
                    }
                    if (leans != null)
                    {
                        damage = damage * 1.08;
                    }

                    if (!Me.AghanimState() && !v.IsLinkensProtected())
                    {
                        if (Me.HasModifier("modifier_item_aether_lens"))
                        {
                            damage = damage * 1.08;
                        }
                        if (v.HasModifier("modifier_kunkka_ghost_ship_damage_absorb"))
                        {
                            damage = damage * 0.5;
                        }
                        if (v.HasModifier("modifier_item_mask_of_madness_berserk"))
                        {
                            damage = damage * 1.3;
                        }
                        if (v.HasModifier("modifier_bloodseeker_bloodrage"))
                        {
                            var blood =
                                ObjectManager.GetEntities <Hero>()
                                .FirstOrDefault(x => x.ClassId == ClassId.CDOTA_Unit_Hero_Bloodseeker);
                            if (blood != null)
                            {
                                damage = damage * bloodrage[blood.Spellbook.Spell1.Level];
                            }
                            else
                            {
                                damage = damage * 1.4;
                            }
                        }


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


                        if (v.HasModifier("modifier_shadow_demon_soul_catcher"))
                        {
                            var demon =
                                ObjectManager.GetEntities <Hero>()
                                .FirstOrDefault(x => x.Team == Me.Team && x.ClassId == ClassId.CDOTA_Unit_Hero_Shadow_Demon);
                            if (demon != null)
                            {
                                damage = damage * soul[demon.Spellbook.Spell2.Level];
                            }
                        }
                        var spellamplymult = 1 + (Me.TotalIntelligence / 16 / 100);
                        damage = damage * spellamplymult;

                        if (                         // vail
                            _vail != null &&
                            _vail.CanBeCasted() &&
                            Me.Distance2D(v) <= _r.GetCastRange() + Me.HullRadius &&
                            _r.CanBeCasted() &&
                            v.Health <= damage * 1.25 &&
                            v.Health >= damage &&
                            Me.CanCast() &&
                            !v.HasModifier("modifier_item_veil_of_discord_debuff") &&
                            !v.IsMagicImmune() &&
                            Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_vail.Name) &&
                            Me.Distance2D(v) <= _w.GetCastRange() &&
                            Utils.SleepCheck("vail")
                            )
                        {
                            _vail.UseAbility(v.Position);
                            Utils.Sleep(250, "vail");
                        }
                        int etherealdamage = (int)(((Me.TotalIntelligence * 2) + 75));
                        if (                         // vail
                            _ethereal != null &&
                            _ethereal.CanBeCasted() &&
                            _r != null &&
                            _r.CanBeCasted() &&
                            v.Health <= etherealdamage + (damage * 1.4) &&
                            v.Health >= damage &&
                            Me.CanCast() &&
                            !v.HasModifier("modifier_item_ethereal_blade_slow") &&
                            !v.IsMagicImmune() &&
                            Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_ethereal.Name) &&
                            Me.Distance2D(v) <= _ethereal.GetCastRange() + Me.HullRadius &&
                            Utils.SleepCheck("ethereal")
                            )
                        {
                            _ethereal.UseAbility(v);
                            Utils.Sleep(250, "ethereal");
                        }
                        if (_r != null && v != null && _r.CanBeCasted() &&
                            !v.HasModifier("modifier_tusk_snowball_movement") &&
                            !v.HasModifier("modifier_snowball_movement_friendly") &&
                            !v.HasModifier("modifier_templar_assassin_refraction_absorb") &&
                            !v.HasModifier("modifier_ember_spirit_flame_guard")
                            &&
                            !v.HasModifier("modifier_ember_spirit_sleight_of_fist_caster_invulnerability")
                            &&
                            !v.HasModifier("modifier_ember_spirit_sleight_of_fist_caster_invulnerability") &&
                            !v.HasModifier("modifier_obsidian_destroyer_astral_imprisonment_prison") &&
                            !v.HasModifier("modifier_puck_phase_shift") &&
                            !v.HasModifier("modifier_eul_cyclone") &&
                            !v.HasModifier("modifier_dazzle_shallow_grave") &&
                            !v.HasModifier("modifier_shadow_demon_disruption") &&
                            !v.HasModifier("modifier_necrolyte_reapers_scythe") &&
                            !v.HasModifier("modifier_storm_spirit_ball_lightning") &&
                            !v.HasModifier("modifier_ember_spirit_fire_remnant") &&
                            !v.HasModifier("modifier_nyx_assassin_spiked_carapace") &&
                            !v.HasModifier("modifier_phantom_lancer_doppelwalk_phase") &&
                            !v.FindSpell("abaddon_borrowed_time").CanBeCasted() &&
                            !v.HasModifier("modifier_abaddon_borrowed_time_damage_redirect") &&
                            !v.IsMagicImmune() &&
                            v.Health < damage &&
                            Utils.SleepCheck(v.Handle.ToString())
                            )
                        {
                            _r.UseAbility(v);
                            Utils.Sleep(150, v.Handle.ToString());
                            return;
                        }
                    }
                    if (Me.AghanimState() && !v.IsLinkensProtected())
                    {
                        if (_r != null && v != null && _r.CanBeCasted() &&
                            !v.HasModifier("modifier_tusk_snowball_movement") &&
                            !v.HasModifier("modifier_snowball_movement_friendly") &&
                            !v.HasModifier("modifier_templar_assassin_refraction_absorb") &&
                            !v.HasModifier("modifier_ember_spirit_flame_guard")
                            &&
                            !v.HasModifier("modifier_ember_spirit_sleight_of_fist_caster_invulnerability")
                            &&
                            !v.HasModifier("modifier_ember_spirit_sleight_of_fist_caster_invulnerability")
                            &&
                            !v.HasModifier("modifier_obsidian_destroyer_astral_imprisonment_prison") &&
                            !v.HasModifier("modifier_puck_phase_shift") &&
                            !v.HasModifier("modifier_eul_cyclone") &&
                            !v.HasModifier("modifier_dazzle_shallow_grave") &&
                            !v.HasModifier("modifier_shadow_demon_disruption") &&
                            !v.HasModifier("modifier_necrolyte_reapers_scythe") &&
                            !v.HasModifier("modifier_storm_spirit_ball_lightning") &&
                            !v.HasModifier("modifier_ember_spirit_fire_remnant") &&
                            !v.HasModifier("modifier_nyx_assassin_spiked_carapace") &&
                            !v.HasModifier("modifier_phantom_lancer_doppelwalk_phase") &&
                            !v.FindSpell("abaddon_borrowed_time").CanBeCasted() &&
                            !v.HasModifier("modifier_abaddon_borrowed_time_damage_redirect") &&
                            !v.IsMagicImmune() &&
                            Menu.Item("AutoUlt").GetValue <AbilityToggler>().IsEnabled(_r.Name) &&
                            v.Health <= (agh - v.HealthRegeneration * _r.ChannelTime) &&
                            Utils.SleepCheck(v.Handle.ToString())
                            )
                        {
                            _r.UseAbility(v);
                            Utils.Sleep(150, v.Handle.ToString());
                            return;
                        }
                    }
                    if (v.IsLinkensProtected() &&
                        (Me.IsVisibleToEnemies || Game.IsKeyDown(Menu.Item("Combo Key").GetValue <KeyBind>().Key)))
                    {
                        if (_force != null && _force.CanBeCasted() && Me.Distance2D(v) < _force.GetCastRange() &&
                            Menu.Item("Link").GetValue <AbilityToggler>().IsEnabled(_force.Name) &&
                            Utils.SleepCheck(v.Handle.ToString()))
                        {
                            _force.UseAbility(v);
                            Utils.Sleep(500, v.Handle.ToString());
                        }
                        else if (_orchid != null && _orchid.CanBeCasted() && Me.Distance2D(v) < _orchid.GetCastRange() &&
                                 Menu.Item("Link").GetValue <AbilityToggler>().IsEnabled(_orchid.Name) &&
                                 Utils.SleepCheck(v.Handle.ToString()))
                        {
                            _orchid.UseAbility(v);
                            Utils.Sleep(500, v.Handle.ToString());
                        }
                        else if (_atos != null && _atos.CanBeCasted() && Me.Distance2D(v) < _atos.GetCastRange() - 400 &&
                                 Menu.Item("Link").GetValue <AbilityToggler>().IsEnabled(_atos.Name) &&
                                 Utils.SleepCheck(v.Handle.ToString()))
                        {
                            _atos.UseAbility(v);
                            Utils.Sleep(500, v.Handle.ToString());
                        }
                        else if (_dagon != null && _dagon.CanBeCasted() && Me.Distance2D(v) < _dagon.GetCastRange() &&
                                 Menu.Item("Link").GetValue <AbilityToggler>().IsEnabled("item_dagon") &&
                                 Utils.SleepCheck(v.Handle.ToString()))
                        {
                            _dagon.UseAbility(v);
                            Utils.Sleep(500, v.Handle.ToString());
                        }
                        else if (_cyclone != null && _cyclone.CanBeCasted() &&
                                 Me.Distance2D(v) < _cyclone.GetCastRange() &&
                                 Menu.Item("Link").GetValue <AbilityToggler>().IsEnabled(_cyclone.Name) &&
                                 Utils.SleepCheck(v.Handle.ToString()))
                        {
                            _cyclone.UseAbility(v);
                            Utils.Sleep(500, v.Handle.ToString());
                        }
                    }
                }
            }
        }
示例#8
0
        public void A()
        {
            var enemies =
                ObjectManager.GetEntities <Hero>()
                .Where(x => x.IsVisible && x.IsAlive && x.Team != Me.Team && !x.IsIllusion).ToList();

            if (enemies.Count <= 0 || Me == null || !Me.IsAlive && !_r.CanBeCasted())
            {
                return;
            }

            if (Menu.Item("AutoUlt").GetValue <AbilityToggler>().IsEnabled(_r.Name))
            {
                double[] penitence = { 0, 1.15, 1.2, 1.25, 1.3 };
                double[] bloodrage = { 0, 1.15, 1.2, 1.25, 1.3 };
                double[] souls     = { 0, 1.2, 1.3, 1.4, 1.5 };
                foreach (var v in enemies)
                {
                    _orchid = Me.FindItem("item_orchid") ?? Me.FindItem("item_bloodthorn");
                    _atos   = Me.FindItem("item_rod_of_atos");

                    _rDmg = Me.AghanimState() ? new[] { 725, 875, 1025 } : new[] { 600, 725, 850 };


                    var lens   = Me.HasModifier("modifier_item_aether_lens");
                    var damage = Math.Floor(_rDmg[_r.Level - 1] * (1 - v.MagicDamageResist));
                    if (v.NetworkName == "CDOTA_Unit_Hero_Spectre" && v.Spellbook.Spell3.Level > 0)
                    {
                        damage =
                            Math.Floor(_rDmg[_r.Level - 1] *
                                       (1 - (0.10 + v.Spellbook.Spell3.Level * 0.04)) * (1 - v.MagicDamageResist));
                    }
                    if (v.NetworkName == "CDOTA_Unit_Hero_SkeletonKing" &&
                        v.Spellbook.SpellR.CanBeCasted())
                    {
                        damage = 0;
                    }
                    if (v.NetworkName == "CDOTA_Unit_Hero_Tusk" &&
                        v.Spellbook.SpellW.CooldownLength - 3 > v.Spellbook.SpellQ.Cooldown)
                    {
                        damage = 0;
                    }
                    if (lens)
                    {
                        damage = damage * 1.08;
                    }
                    var rum = v.HasModifier("modifier_kunkka_ghost_ship_damage_absorb");
                    if (rum)
                    {
                        damage = damage * 0.5;
                    }
                    var mom = v.HasModifier("modifier_item_mask_of_madness_berserk");
                    if (mom)
                    {
                        damage = damage * 1.3;
                    }

                    var spellamplymult = 1 + (Me.TotalIntelligence / 16 / 100);
                    if (v.HasModifier("modifier_bloodseeker_bloodrage"))
                    {
                        var blood =
                            ObjectManager.GetEntities <Hero>()
                            .FirstOrDefault(x => x.ClassId == ClassId.CDOTA_Unit_Hero_Bloodseeker);
                        if (blood != null)
                        {
                            damage = damage * bloodrage[blood.Spellbook.Spell1.Level];
                        }
                        else
                        {
                            damage = damage * 1.4;
                        }
                    }


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


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

                    if (                     // vail
                        _vail != null &&
                        _vail.CanBeCasted() &&
                        Me.Distance2D(v) <= _r.GetCastRange() + Me.HullRadius &&
                        _r.CanBeCasted() &&
                        v.Health <= damage * 1.25 &&
                        v.Health >= damage &&
                        Me.CanCast() &&
                        !v.HasModifier("modifier_item_veil_of_discord_debuff") &&
                        !v.IsMagicImmune() &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_vail.Name) &&
                        Me.Distance2D(v) <= _w.GetCastRange() &&
                        Utils.SleepCheck("vail")
                        )
                    {
                        _vail.UseAbility(v.Position);
                        Utils.Sleep(250, "vail");
                    }
                    int etherealdamage = (int)(((Me.TotalIntelligence * 2) + 75));
                    if (                     // vail
                        _ethereal != null &&
                        _ethereal.CanBeCasted() &&
                        _r != null &&
                        _r.CanBeCasted() &&
                        v.Health <= etherealdamage + (damage * 1.4) &&
                        v.Health >= damage &&
                        Me.CanCast() &&
                        !v.HasModifier("modifier_item_ethereal_blade_slow") &&
                        !v.IsMagicImmune() &&
                        Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_ethereal.Name) &&
                        Me.Distance2D(v) <= _ethereal.GetCastRange() + Me.HullRadius &&
                        Utils.SleepCheck("ethereal")
                        )
                    {
                        _ethereal.UseAbility(v);
                        Utils.Sleep(250, "ethereal");
                    }


                    if (_r != null && v != null && _r.CanBeCasted() &&
                        !v.HasModifier("modifier_tusk_snowball_movement") &&
                        !v.HasModifier("modifier_snowball_movement_friendly") &&
                        !v.HasModifier("modifier_templar_assassin_refraction_absorb") &&
                        !v.HasModifier("modifier_ember_spirit_flame_guard") &&
                        !v.HasModifier("modifier_ember_spirit_sleight_of_fist_caster_invulnerability") &&
                        !v.HasModifier("modifier_obsidian_destroyer_astral_imprisonment_prison") &&
                        !v.HasModifier("modifier_puck_phase_shift") &&
                        !v.HasModifier("modifier_eul_cyclone") &&
                        !v.HasModifier("modifier_dazzle_shallow_grave") &&
                        !v.HasModifier("modifier_shadow_demon_disruption") &&
                        !v.HasModifier("modifier_necrolyte_reapers_scythe") &&
                        !v.HasModifier("modifier_storm_spirit_ball_lightning") &&
                        !v.HasModifier("modifier_ember_spirit_fire_remnant") &&
                        !v.HasModifier("modifier_nyx_assassin_spiked_carapace") &&
                        !v.HasModifier("modifier_phantom_lancer_doppelwalk_phase") &&
                        !v.FindSpell("abaddon_borrowed_time").CanBeCasted() &&
                        !v.HasModifier("modifier_abaddon_borrowed_time_damage_redirect") &&
                        !v.IsMagicImmune() &&
                        v.Health <= (damage - 40) &&
                        Me.Distance2D(v) <= _r.GetCastRange() + 50 &&
                        Utils.SleepCheck(v.Handle.ToString())
                        )
                    {
                        _r.UseAbility(v);
                        Utils.Sleep(150, v.Handle.ToString());
                        return;
                    }
                    if (_w != null && v != null && _w.CanBeCasted() && Me.Distance2D(v) <= _w.GetCastRange() + 30 &&
                        !v.IsLinkensProtected()
                        &&
                        (
                            v.HasModifier("modifier_meepo_earthbind") ||
                            v.HasModifier("modifier_pudge_dismember") ||
                            v.HasModifier("modifier_naga_siren_ensnare") ||
                            v.HasModifier("modifier_lone_druid_spirit_bear_entangle_effect") ||
                            v.HasModifier("modifier_legion_commander_duel") ||
                            v.HasModifier("modifier_kunkka_torrent") ||
                            v.HasModifier("modifier_ice_blast") ||
                            v.HasModifier("modifier_enigma_black_hole_pull") ||
                            v.HasModifier("modifier_ember_spirit_searing_chains") ||
                            v.HasModifier("modifier_dark_troll_warlord_ensnare") ||
                            v.HasModifier("modifier_crystal_maiden_frostbite") ||
                            v.HasModifier("modifier_axe_berserkers_call") ||
                            v.HasModifier("modifier_bane_fiends_grip")
                            ||
                            v.ClassId == ClassId.CDOTA_Unit_Hero_Magnataur &&
                            v.FindSpell("magnataur_reverse_polarity").IsInAbilityPhase
                            ||
                            v.ClassId == ClassId.CDOTA_Unit_Hero_Magnataur &&
                            v.FindSpell("magnataur_skewer").IsInAbilityPhase ||
                            v.FindItem("item_blink").IsInAbilityPhase
                            ||
                            v.ClassId == ClassId.CDOTA_Unit_Hero_QueenOfPain &&
                            v.FindSpell("queenofpain_blink").IsInAbilityPhase
                            ||
                            v.ClassId == ClassId.CDOTA_Unit_Hero_AntiMage && v.FindSpell("antimage_blink").IsInAbilityPhase
                            ||
                            v.ClassId == ClassId.CDOTA_Unit_Hero_AntiMage &&
                            v.FindSpell("antimage_mana_void").IsInAbilityPhase
                            ||
                            v.ClassId == ClassId.CDOTA_Unit_Hero_DoomBringer &&
                            v.FindSpell("doom_bringer_doom").IsInAbilityPhase ||
                            v.HasModifier("modifier_rubick_telekinesis") ||
                            v.HasModifier("modifier_item_blink_dagger") ||
                            v.HasModifier("modifier_storm_spirit_electric_vortex_pull") ||
                            v.HasModifier("modifier_winter_wyvern_cold_embrace") ||
                            v.HasModifier("modifier_winter_wyvern_winters_curse") ||
                            v.HasModifier("modifier_shadow_shaman_shackles")
                            ||
                            v.HasModifier("modifier_faceless_void_chronosphere_freeze") &&
                            v.ClassId == ClassId.CDOTA_Unit_Hero_FacelessVoid
                            ||
                            v.ClassId == ClassId.CDOTA_Unit_Hero_WitchDoctor &&
                            v.FindSpell("witch_doctor_death_ward").IsInAbilityPhase
                            ||
                            v.ClassId == ClassId.CDOTA_Unit_Hero_Rattletrap &&
                            v.FindSpell("rattletrap_power_cogs").IsInAbilityPhase
                            ||
                            v.ClassId == ClassId.CDOTA_Unit_Hero_Tidehunter &&
                            v.FindSpell("tidehunter_ravage").IsInAbilityPhase &&
                            !v.IsMagicImmune()
                        ) &&
                        !v.HasModifier("modifier_medusa_stone_gaze_stone") &&
                        Utils.SleepCheck(v.Handle.ToString()))
                    {
                        _w.UseAbility(v);
                        Utils.Sleep(250, v.Handle.ToString());
                    }
                    if (v.IsLinkensProtected() &&
                        (Me.IsVisibleToEnemies || Active))
                    {
                        if (_e != null && _e.CanBeCasted() && Me.Distance2D(v) < _e.GetCastRange() &&
                            Menu.Item("Link").GetValue <AbilityToggler>().IsEnabled(_e.Name) &&
                            Utils.SleepCheck(v.Handle.ToString()))
                        {
                            _e.UseAbility(v);
                            Utils.Sleep(500, v.Handle.ToString());
                        }
                    }
                }
            }
        }