コード例 #1
0
 private static void Fight(string mode)
 {
     if (GetValue <bool>(mode, "P") && HaveP && Orbwalk.GetBestHeroTarget != null && Orbwalk.CanAttack)
     {
         return;
     }
     if (GetValue <bool>(mode, "Q") && Q.IsReady())
     {
         if (IsQOne)
         {
             var target = Q.GetTarget();
             if (target != null)
             {
                 var state = Q.Cast(target, PacketCast);
                 if (state.IsCasted())
                 {
                     return;
                 }
                 if (state == Spell.CastStates.Collision && GetValue <bool>(mode, "QCol") && Smite.IsReady())
                 {
                     var pred = Q.GetPrediction(target);
                     if (
                         pred.CollisionObjects.Count(
                             i => i.IsValid <Obj_AI_Minion>() && IsSmiteable((Obj_AI_Minion)i)) == 1 &&
                         CastSmite(pred.CollisionObjects.First()) && Q.Cast(pred.CastPosition, PacketCast))
                     {
                         return;
                     }
                 }
             }
         }
         else
         {
             var target = Q2.GetTarget(0, HeroManager.Enemies.Where(i => !HaveQ(i)));
             if (target != null &&
                 (QAgain(target) ||
                  ((target.HasBuffOfType(BuffType.Knockback) || target.HasBuffOfType(BuffType.Knockup)) &&
                   Player.Distance(target) > 300 && !R.IsReady()) || Q.IsKillable(target, 1) ||
                  !Orbwalk.InAutoAttackRange(target, 100) || (Orbwalk.InAutoAttackRange(target) && !HaveP)) &&
                 Q2.Cast(PacketCast))
             {
                 return;
             }
             if (target == null)
             {
                 var sub = Q2.GetTarget();
                 if (sub != null && ObjHaveQ.Any(i => i.Distance(sub) < Player.Distance(sub)) &&
                     Q2.Cast(PacketCast))
                 {
                     return;
                 }
             }
         }
     }
     if (GetValue <bool>(mode, "E") && E.IsReady())
     {
         if (IsEOne)
         {
             if (E.GetTarget() != null && E.Cast(PacketCast))
             {
                 return;
             }
         }
         else if (
             HeroManager.Enemies.Where(i => i.IsValidTarget(E2.Range) && HaveE(i))
             .Any(
                 i =>
                 EAgain(i) || !Orbwalk.InAutoAttackRange(i, 50) ||
                 (Orbwalk.InAutoAttackRange(i) && !HaveP)) && Player.Mana >= 50 &&
             E2.Cast(PacketCast))
         {
             return;
         }
     }
     if (GetValue <bool>(mode, "R") && R.IsReady())
     {
         var target = R.GetTarget(0, HeroManager.Enemies.Where(i => !HaveQ(i)));
         if (GetValue <bool>(mode, "Q") && Q.IsReady() && !IsQOne && target != null)
         {
             if (CanKill(target, GetQ2Dmg(target, R.GetDamage(target))) && R.CastOnUnit(target, PacketCast))
             {
                 return;
             }
         }
         else
         {
             target = R.GetTarget();
             if (target != null && R.IsKillable(target))
             {
                 if (R.CastOnUnit(target, PacketCast))
                 {
                     return;
                 }
             }
             else if (GetValue <bool>(mode, "RBehind"))
             {
                 foreach (
                     var enemy in HeroManager.Enemies.Where(i => i.IsValidTarget(R.Range) && !R.IsKillable(i)))
                 {
                     R2.UpdateSourcePosition(enemy.ServerPosition, enemy.ServerPosition);
                     if (
                         HeroManager.Enemies.Any(
                             i =>
                             i.IsValidTarget(R2.Range) && i.NetworkId != enemy.NetworkId &&
                             R2.WillHit(
                                 i, enemy.ServerPosition.Extend(Player.ServerPosition, -R2.Range),
                                 (int)enemy.BoundingRadius + 50) && R.IsKillable(i)) &&
                         R.CastOnUnit(enemy, PacketCast))
                     {
                         break;
                     }
                 }
             }
         }
     }
     if (GetValue <bool>(mode, "W") && W.IsReady() && Orbwalk.GetBestHeroTarget != null)
     {
         if (IsWOne)
         {
             if (Player.HealthPercent < GetValue <Slider>(mode, "WHpU").Value)
             {
                 W.Cast(PacketCast);
             }
         }
         else if (!Player.HasBuff("BlindMonkSafeguard") &&
                  (Player.HealthPercent < GetValue <Slider>(mode, "WHpU").Value || !HaveP))
         {
             W.Cast(PacketCast);
         }
     }
 }
コード例 #2
0
ファイル: Helper.cs プロジェクト: loggo090/LeagueSharp
 public static bool CastSmite(Obj_AI_Base target, bool killable = true)
 {
     return(Smite.IsReady() && target.IsValidTarget(760) &&
            (!killable || target.Health < Player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Smite)) &&
            Player.Spellbook.CastSpell(Smite, target));
 }
コード例 #3
0
 public static void JungSteal()
 {
     if (Smite != null)
     {
         var Important = Config.Spell["esmite3r"].Cast <CheckBox>().CurrentValue;
         var minion    = ObjectManager.Get <Obj_AI_Minion>().FirstOrDefault(m => m != null && m.IsMonster && Extensions.IsImportant(m) && Smite.IsInRange(m));
         var Red       = ObjectManager.Get <Obj_AI_Minion>().Where(r => r.IsMonster && r.IsValidTarget(Smite.Range) && r.Name.Contains("Red")).OrderBy(x => x.MaxHealth).LastOrDefault();
         var Blue      = ObjectManager.Get <Obj_AI_Minion>().Where(b => b.IsMonster && b.IsValidTarget(Smite.Range) && b.Name.Contains("Blue")).OrderBy(x => x.MaxHealth).LastOrDefault();
         if (minion != null && minion.IsValid && Important)
         {
             if (minion.Health <= Player.Instance.GetSummonerSpellDamage(minion, DamageLibrary.SummonerSpells.Smite))
             {
                 Smite.Cast(minion);
             }
         }
         if (Red != null && Red.IsValid && Config.Spell["esmitered"].Cast <CheckBox>().CurrentValue)
         {
             if (Red.Health <= Player.Instance.GetSummonerSpellDamage(Red, DamageLibrary.SummonerSpells.Smite))
             {
                 Smite.Cast(Red);
             }
         }
         if (Blue != null && Blue.IsValid && Config.Spell["esmiteblue"].Cast <CheckBox>().CurrentValue)
         {
             if (Blue.Health <= Player.Instance.GetSummonerSpellDamage(Blue, DamageLibrary.SummonerSpells.Smite))
             {
                 Smite.Cast(Blue);
             }
         }
     }
 }
コード例 #4
0
            //---------------------------------------------Combo()------------------------------------------------

            public static void Combo()
            {
                if (R.IsReady() && Menu["UseRCombo"].Cast <CheckBox>().CurrentValue&& R.IsInRange(Target) && SpellDamage(Target, SpellSlot.R) >= Target.Health)
                {
                    R.HitChanceCast(Target, 70);
                }

                if (W.IsReady() && (WRange || (Q.IsReady() && QRange)) && Menu["UseWCombo"].Cast <CheckBox>().CurrentValue)
                {
                    var WPos = Prediction.Position.PredictUnitPosition(Target, 1000).To3D(); W.Cast(CorrectRange(WPos, W.Range));
                }

                else if (Orbwalker.ValidAzirSoldiers.Any())
                {
                    if (Q.IsReady() && Menu["UseQCombo"].Cast <CheckBox>().CurrentValue&& QRange)
                    {
                        Q.HitChanceCast(Target, Menu["QHitChanceCombo"].Cast <Slider>().CurrentValue);
                    }
                    if (E.IsReady() && Menu["UseECombo"].Cast <CheckBox>().CurrentValue)
                    {
                        CastE(Target);
                    }
                }

                if (Smite != null)
                {
                    if (Smite.IsInRange(Target) && Smite.IsReady())
                    {
                        if (Smite.Name.Contains("gank"))
                        {
                            Smite.Cast(Target);
                        }
                        else if (Smite.Name.Contains("duel") && Player.IsInAutoAttackRange(Target))
                        {
                            Smite.Cast(Target);
                        }
                    }
                }

                if (Talisma.IsReady() && Player.CountAlliesInRange(600) > 0)
                {
                    Talisma.Cast();
                }

                if (Exhaust != null && Menu["UseExhaust?"].Cast <CheckBox>().CurrentValue&& TargetSelector.GetPriority(Target) > 3 && Target.IsValidTarget(Exhaust.Range))
                {
                    Exhaust.Cast(Target);
                }

                if (Target.IsValidTarget(500) && Randuin.IsReady())
                {
                    Randuin.Cast();
                }

                if (Target.IsValidTarget(700) && Hextech.IsReady())
                {
                    Hextech.Cast(Target);
                }

                return;
            }
コード例 #5
0
        private static void SmiteOnTick()
        {
            if (!PlayerHasSmite || !Smite.IsReady() || Smite == null || SummonerMenu.GetKeyBindValue("smiteKeybind"))
            {
                return;
            }

            Obj_AI_Base GetJungleMinion;

            var comboBoxValue = SummonerMenu.Get <ComboBox>("comboBox").CurrentValue;
            var sliderSafeDMG = SummonerMenu.GetSliderValue("sliderDMGSmite");

            switch (comboBoxValue)
            {
            case 0:
                GetJungleMinion =
                    EntityManager.MinionsAndMonsters.GetJungleMonsters()
                    .FirstOrDefault(
                        m =>
                        MonsterSmiteables.Contains(m.BaseSkinName) && m.IsValidTarget(Smite.Range) &&
                        Prediction.Health.GetPrediction(m, Game.Ping) <= SmiteDamage() - sliderSafeDMG &&
                        SummonerMenu.GetCheckBoxValue("monster" + m.BaseSkinName));
                break;

            case 1:
                GetJungleMinion =
                    EntityManager.MinionsAndMonsters.GetJungleMonsters()
                    .FirstOrDefault(
                        m =>
                        MonsterSmiteables.Contains(m.BaseSkinName) && m.IsValidTarget(Smite.Range) &&
                        m.Health <= SmiteDamage() - sliderSafeDMG &&
                        SummonerMenu.GetCheckBoxValue("monster" + m.BaseSkinName));
                break;

            default:
                GetJungleMinion = null;
                break;
            }


            if (GetJungleMinion != null)
            {
                Smite.Cast(GetJungleMinion);
            }

            if (!SummonerMenu.GetCheckBoxValue("smiteUseOnChampions"))
            {
                return;
            }

            var keepSmite = SummonerMenu.GetSliderValue("smiteKeep");

            var smiteGanker = Player.Spells.FirstOrDefault(s => s.Name.ToLower().Contains("playerganker"));

            if (Smite.Handle.Ammo < keepSmite)
            {
                return;
            }

            if (smiteGanker != null)
            {
                var target =
                    EntityManager.Heroes.Enemies.FirstOrDefault(
                        e =>
                        Prediction.Health.GetPrediction(e, Game.Ping) - 5 <= SmiteKSDamage() && e.IsValidTarget(Smite.Range));

                if (target != null)
                {
                    Smite.Cast(target);
                }
            }

            var smiteDuel = Player.Spells.FirstOrDefault(s => s.Name.ToLower().Contains("duel"));

            if (smiteDuel != null)
            {
                var target = TargetSelector.GetTarget(Smite.Range, DamageType.Mixed);

                if (target != null && Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) && target.HealthPercent <= 60 &&
                    target.IsInAutoAttackRange(Player.Instance))
                {
                    Smite.Cast(target);
                }
            }
        }
コード例 #6
0
ファイル: Program.cs プロジェクト: lolscripts/wu
            //---------------------------------------------Combo()------------------------------------------------

            public static void Combo()
            {
                bool AARange = Player.IsInAutoAttackRange(Target);

                if ((Scimitar.IsReady() || QSS.IsReady()) && Player.HasBuffOfType(BuffType.Charm) || Player.HasBuffOfType(BuffType.Blind) || Player.HasBuffOfType(BuffType.Fear) || Player.HasBuffOfType(BuffType.Polymorph) || Player.HasBuffOfType(BuffType.Silence) || Player.HasBuffOfType(BuffType.Sleep) || Player.HasBuffOfType(BuffType.Snare) || Player.HasBuffOfType(BuffType.Stun) || Player.HasBuffOfType(BuffType.Suppression) || Player.HasBuffOfType(BuffType.Taunt))
                {
                    Scimitar.Cast(); QSS.Cast();
                }

                if (E.IsReady() && !Player.HasBuff("JaxCounterStrike") && Menu["UseECombo"].Cast <CheckBox>().CurrentValue)
                {
                    if (Target.IsValidTarget(Q.Range))
                    {
                        E.Cast();
                        ETick = Environment.TickCount;
                    }
                }

                if (R.IsReady() && Menu["UseRCombo"].Cast <CheckBox>().CurrentValue)
                {
                    if (Player.CountEnemiesInRange(650) >= Menu["Min Enemies R"].Cast <Slider>().CurrentValue)
                    {
                        R.Cast();
                    }
                    else if (Menu["Use1v1RLogic"].Cast <CheckBox>().CurrentValue&& Target.IsValidTarget(600) && (Player.HealthPercent <= 42 || Target.HealthPercent > 30))
                    {
                        R.Cast();
                    }
                }

                if (Menu["UseQCombo"].Cast <CheckBox>().CurrentValue&& Q.IsReady() && Target.IsValidTarget(Q.Range))
                {
                    if (Menu["QOnDash"].Cast <CheckBox>().CurrentValue&& Player.Distance(Target) <= Player.GetAutoAttackRange() + 100)
                    {
                        if (Target.IsDashing())
                        {
                            Q.Cast(Target);
                        }
                    }
                    else if (Environment.TickCount - ETick >= Menu["QDelayCombo"].Cast <Slider>().CurrentValue)
                    {
                        Q.Cast(Target);
                    }
                }

                if (Smite != null)
                {
                    if (Target.IsValidTarget(Smite.Range) && Smite.IsReady())
                    {
                        if (Smite.Name.Contains("gank"))
                        {
                            Smite.Cast(Target);
                        }
                        else if (Smite.Name.Contains("duel") && AARange)
                        {
                            Smite.Cast(Target);
                        }
                    }
                }

                if (Target.IsValidTarget(Q.Range) && GhostBlade.IsReady())
                {
                    GhostBlade.Cast();
                }

                if (Target.IsValidTarget(550) && BOTRK.IsReady())
                {
                    BOTRK.Cast(Target);
                }

                if (Target.IsValidTarget(550) && Bilgewater.IsReady())
                {
                    Bilgewater.Cast(Target);
                }

                if (Target.IsValidTarget(400) && Tiamat.IsReady())
                {
                    Tiamat.Cast();
                }

                if (Target.IsValidTarget(400) && Hydra.IsReady())
                {
                    Hydra.Cast();
                }

                if (Target.IsValidTarget(500) && Randuin.IsReady())
                {
                    Randuin.Cast();
                }

                if (Target.IsValidTarget(700) && Hextech.IsReady())
                {
                    Hextech.Cast(Target);
                }

                return;
            }
コード例 #7
0
ファイル: combo.cs プロジェクト: wade1990/PortAIO
        public static void UpdateCombo()
        {
            var targetW = TargetSelector.GetTarget(600, TargetSelector.DamageType.Magical);

            if (WCombo && W.IsReady() && targetW.IsValidTarget() && !targetW.IsZombie)
            {
                W.Cast();
            }

            var targetE = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical);

            if (ECombo && E.IsReady() && targetE.IsValidTarget() && !targetE.IsZombie &&
                Orbwalking.CanMove(80))
            {
                E.Cast(targetE);
            }

            var targetR = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical);

            if (RCombo && R.IsReady() && targetR.IsValidTarget() && !targetR.IsZombie && Orbwalking.CanMove(80))
            {
                var pred      = R.GetPrediction(targetR);
                var chasetime = (targetR.Position.To2D().Distance(Player.Position.To2D()) - Player.AttackRange
                                 - Player.BoundingRadius - targetR.BoundingRadius)
                                / (Player.MoveSpeed - targetR.MoveSpeed);
                if (targetR.Position.To2D().Distance(Player.Position.To2D()) > Player.AttackRange &&
                    (Player.Position.To2D().GetFirstWallPoint(targetR.Position.To2D()) != null ||
                     chasetime > 1.5 || chasetime < 0) &&
                    !pred.CastPosition.IsWall() && pred.Hitchance >= HitChance.Medium)
                {
                    R.Cast(pred.CastPosition);
                }
            }

            if (ItemData.Blade_of_the_Ruined_King.GetItem().IsReady() || ItemData.Bilgewater_Cutlass.GetItem().IsReady() ||
                ItemData.Youmuus_Ghostblade.GetItem().IsReady())
            {
                var targetA = TargetSelector.GetTarget(550, TargetSelector.DamageType.Magical);
                if (targetA.IsValidTarget() && !targetA.IsZombie)
                {
                    if (BotrkCombo)
                    {
                        ItemData.Blade_of_the_Ruined_King.GetItem().Cast(targetA);
                        ItemData.Bilgewater_Cutlass.GetItem().Cast(targetA);
                    }
                    if (YoumuuCombo)
                    {
                        ItemData.Youmuus_Ghostblade.GetItem().Cast(targetA);
                    }
                }
            }
            if (ItemData.Randuins_Omen.GetItem().IsReady())
            {
                var target = TargetSelector.GetTarget(450, TargetSelector.DamageType.Magical);
                if (target.IsValidTarget() && !target.IsZombie)
                {
                    ItemData.Randuins_Omen.GetItem().Cast();
                }
            }
            if (ComboSmite && Smite.IsReady() && HasSmiteBlue)
            {
                var targetsmiteblue = TargetSelector.GetTarget(Player.BoundingRadius + 620, TargetSelector.DamageType.Magical);
                if (Player.Position.To2D().Distance(targetsmiteblue.Position.To2D()) <= Player.BoundingRadius + targetsmiteblue.BoundingRadius + 500)
                {
                    Player.Spellbook.CastSpell(Smite, targetsmiteblue);
                }
            }
        }
コード例 #8
0
        public override void Execute()
        {
            #region KS

            if (Settings.EnableKSQ && Q.IsReady())
            {
                var targetQ = TargetSelector.GetTarget(Q.Range, DamageType.Magical);
                if (targetQ == null)
                {
                    return;
                }
                var qpred = Q.GetPrediction(targetQ);

                if (targetQ.Health <= Player.Instance.GetSpellDamage(targetQ, SpellSlot.Q) &&
                    qpred.HitChance >= HitChance.High)
                {
                    Q.Cast(qpred.CastPosition);
                    return;
                }
            }
            if (Settings.EnableKSW && W.IsReady())
            {
                var targetW = TargetSelector.GetTarget(SpellManager.W.Range, DamageType.Magical);
                if (targetW == null)
                {
                    return;
                }
                if (targetW.Health <= Player.Instance.GetSpellDamage(targetW, SpellSlot.W))
                {
                    W.Cast();
                    return;
                }
            }

            #endregion

            #region Potion

            if (Settings.EnablePotion && !Player.Instance.IsInShopRange() &&
                Player.Instance.HealthPercent <= Settings.MinHPPotion && !PotionRunning())
            {
                if (Item.HasItem(Utility.HealthPotion.Id) && Item.CanUseItem(Utility.HealthPotion.Id))
                {
                    Utility.HealthPotion.Cast();
                    return;
                }
                if (Item.HasItem(Utility.HuntersPotion.Id) && Item.CanUseItem(Utility.HuntersPotion.Id))
                {
                    Utility.HuntersPotion.Cast();
                    return;
                }
                if (Item.HasItem(Utility.TotalBiscuit.Id) && Item.CanUseItem(Utility.TotalBiscuit.Id))
                {
                    Utility.TotalBiscuit.Cast();
                    return;
                }
                if (Item.HasItem(Utility.RefillablePotion.Id) && Item.CanUseItem(Utility.RefillablePotion.Id))
                {
                    Utility.RefillablePotion.Cast();
                    return;
                }
                if (Item.HasItem(Utility.CorruptingPotion.Id) && Item.CanUseItem(Utility.CorruptingPotion.Id))
                {
                    Utility.CorruptingPotion.Cast();
                    return;
                }
            }

            if (Settings.EnablePotion && !Player.Instance.IsInShopRange() &&
                Player.Instance.ManaPercent <= Settings.MinMPPotion && !PotionRunning())
            {
                if (Item.HasItem(Utility.CorruptingPotion.Id) && Item.CanUseItem(Utility.CorruptingPotion.Id))
                {
                    Utility.CorruptingPotion.Cast();
                    return;
                }
            }

            #endregion

            #region Smite

            if (HasSmite)
            {
                //Red Smite Combo
                if (Config.Smite.SmiteMenu.SmiteCombo && Smite.Name.Equals("s5_summonersmiteduel") &&
                    Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) && Smite.IsReady())
                {
                    foreach (
                        var smiteTarget in
                        EntityManager.Heroes.Enemies
                        .Where(h => h.IsValidTarget(Smite.Range))
                        .Where(h => h.HealthPercent <= Config.Smite.SmiteMenu.RedSmitePercent)
                        .OrderByDescending(TargetSelector.GetPriority))
                    {
                        Smite.Cast(smiteTarget);
                        return;
                    }
                }

                // Blue Smite KS
                if (Config.Smite.SmiteMenu.SmiteEnemies && Smite.Name.Equals("s5_summonersmiteplayerganker") &&
                    Smite.IsReady())
                {
                    var smiteKs =
                        EntityManager.Heroes.Enemies.FirstOrDefault(
                            e =>
                            Smite.IsInRange(e) && !e.IsDead && e.Health > 0 && !e.IsInvulnerable && e.IsVisible &&
                            e.TotalShieldHealth() < Utility.SmiteDmgHero(e));
                    if (smiteKs != null)
                    {
                        Smite.Cast(smiteKs);
                        return;
                    }
                }

                // Smite Monsters
                if (!Config.Smite.SmiteMenu.SmiteToggle || !Smite.IsReady())
                {
                    return;
                }
                {
                    var monsters2 =
                        EntityManager.MinionsAndMonsters.GetJungleMonsters(Player.Instance.ServerPosition, Smite.Range)
                        .Where(
                            e =>
                            !e.IsDead && e.Health > 0 && Utility.MonstersNames.Contains(e.BaseSkinName) &&
                            !e.IsInvulnerable && e.IsVisible && e.Health <= Utility.SmiteDmgMonster(e));
                    foreach (
                        var n in
                        monsters2.Where(
                            n => Config.Smite.SmiteMenu.MainMenu[n.BaseSkinName].Cast <CheckBox>().CurrentValue))
                    {
                        Smite.Cast(n);
                        return;
                    }
                }
            }

            #endregion
        }
コード例 #9
0
ファイル: Program.cs プロジェクト: lolscripts/wu
            //-------------------------------------------JungleClear()-----------------------------------------------

            public static void JungleClear()
            {
                //---------------------------------------------Smite Usage---------------------------------------------

                if (Smite != null && Smite.IsReady() && Menu["Use Smite?"].Cast <CheckBox>().CurrentValue)
                {
                    Obj_AI_Minion Mob = EntityManager.MinionsAndMonsters.GetJungleMonsters(Player.Position, Smite.Range).FirstOrDefault();

                    if (Mob != default(Obj_AI_Minion))
                    {
                        bool kill = GetSmiteDamage() >= Mob.Health;

                        if (kill)
                        {
                            if (Mob.Name.StartsWith("SRU_Red") && Menu["Red?"].Cast <CheckBox>().CurrentValue)
                            {
                                Smite.Cast(Mob);
                            }
                            else if (Mob.Name.StartsWith("SRU_Blue") && Menu["Blue?"].Cast <CheckBox>().CurrentValue)
                            {
                                Smite.Cast(Mob);
                            }
                            else if (Mob.Name.StartsWith("SRU_Murkwolf") && Menu["Wolf?"].Cast <CheckBox>().CurrentValue)
                            {
                                Smite.Cast(Mob);
                            }
                            else if (Mob.Name.StartsWith("SRU_Krug") && Menu["Krug?"].Cast <CheckBox>().CurrentValue)
                            {
                                Smite.Cast(Mob);
                            }
                            else if (Mob.Name.StartsWith("SRU_Gromp") && Menu["Gromp?"].Cast <CheckBox>().CurrentValue)
                            {
                                Smite.Cast(Mob);
                            }
                            else if (Mob.Name.StartsWith("SRU_Razorbeak") && Menu["Raptor?"].Cast <CheckBox>().CurrentValue)
                            {
                                Smite.Cast(Mob);
                            }
                        }
                    }
                }

                if (!W.IsReady() && !E.IsReady())
                {
                    return;
                }

                var monsters = EntityManager.MinionsAndMonsters.GetJungleMonsters(Player.Position, 500);

                if (W.IsReady() && Menu["UseWJungleClear"].Cast <CheckBox>().CurrentValue)
                {
                    if (monsters.Any(it => Player.IsInAutoAttackRange(it)))
                    {
                        W.Cast();
                    }
                }

                if (E.IsReady() && Menu["UseEJungleClear"].Cast <CheckBox>().CurrentValue)
                {
                    if (monsters.Count() == monsters.Where(it => E.IsInRange(it)).Count())
                    {
                        E.Cast();
                    }
                }

                return;
            }
コード例 #10
0
ファイル: Program.cs プロジェクト: lolscripts/wu
            //---------------------------------------------Combo()------------------------------------------------

            public static void Combo()
            {
                if ((Scimitar.IsReady() || QSS.IsReady()) && Player.HasBuffOfType(BuffType.Charm) || Player.HasBuffOfType(BuffType.Blind) || Player.HasBuffOfType(BuffType.Fear) || Player.HasBuffOfType(BuffType.Polymorph) || Player.HasBuffOfType(BuffType.Silence) || Player.HasBuffOfType(BuffType.Sleep) || Player.HasBuffOfType(BuffType.Snare) || Player.HasBuffOfType(BuffType.Stun) || Player.HasBuffOfType(BuffType.Suppression) || Player.HasBuffOfType(BuffType.Taunt))
                {
                    Scimitar.Cast(); QSS.Cast();
                }

                if (Smite != null)
                {
                    if (Target.IsValidTarget(Smite.Range) && Smite.IsReady())
                    {
                        if (Smite.Name.Contains("gank"))
                        {
                            Smite.Cast(Target);
                        }
                        else if (Smite.Name.Contains("duel") && Player.IsInAutoAttackRange(Target))
                        {
                            Smite.Cast(Target);
                        }
                    }
                }

                if (Menu["UseQCombo"].Cast <CheckBox>().CurrentValue&& Q.IsReady() && Target.IsValidTarget(Player.GetAutoAttackRange() + 300) && !Menu["QAfterAA"].Cast <CheckBox>().CurrentValue)
                {
                    Q.Cast();
                }

                if (Menu["UseWCombo"].Cast <CheckBox>().CurrentValue&& W.IsReady() && Player.IsFacing(Target) && Target.IsValidTarget(Player.GetAutoAttackRange() + 300))
                {
                    W.Cast();
                }

                if (Menu["UseECombo"].Cast <CheckBox>().CurrentValue&& E.IsReady() && Target.IsValidTarget(E.Range) && !Player.HasBuff("GarenE"))
                {
                    if (Menu["JEBQ"].Cast <CheckBox>().CurrentValue&& Q.IsReady())
                    {
                        if (Target.HasBuffOfType(BuffType.Silence))
                        {
                            E.Cast();
                        }
                    }
                    else
                    {
                        E.Cast();
                    }
                }

                if (R.IsReady())
                {
                    if (Menu["UseRCombo"].Cast <CheckBox>().CurrentValue&& Target.IsValidTarget(R.Range) && SpellDamage(Target, SpellSlot.R) > (Target.Health + (Target.HasBuff("garenpassiveenemytarget") ? 0 : Target.MagicShield)) + 20)
                    {
                        if (Player.HasBuff("GarenE"))
                        {
                            E.Cast();
                        }
                        R.Cast(Target);
                    }
                }

                if (Target.IsValidTarget(Player.GetAutoAttackRange() + 300) && GhostBlade.IsReady())
                {
                    GhostBlade.Cast();
                }

                if (Target.IsValidTarget(550) && BOTRK.IsReady())
                {
                    BOTRK.Cast(Target);
                }

                if (Target.IsValidTarget(550) && Bilgewater.IsReady())
                {
                    Bilgewater.Cast(Target);
                }

                if (Target.IsValidTarget(400) && Tiamat.IsReady())
                {
                    Tiamat.Cast();
                }

                if (Target.IsValidTarget(400) && Hydra.IsReady())
                {
                    Hydra.Cast();
                }

                if (Target.IsValidTarget(500) && Randuin.IsReady())
                {
                    Randuin.Cast();
                }

                return;
            }
コード例 #11
0
ファイル: Program.cs プロジェクト: lolscripts/wu
            //---------------------------------------------Combo()------------------------------------------------

            public static void Combo()
            {
                if (R.IsInRange(Target) && R.IsReady())
                {
                    PosAndHits = GetBestRPos(Target.ServerPosition.To2D());

                    if (Menu["UseRCombo"].Cast <CheckBox>().CurrentValue&& PosAndHits.First().Value >= Menu["Min Enemies R"].Cast <Slider>().CurrentValue)
                    {
                        if (EntityManager.Heroes.Allies.Where(ally => ally != Player && ally.Distance(Player) <= 700).Count() > 0)
                        {
                            if (Glory.IsReady())
                            {
                                Glory.Cast();
                            }
                            if (Talisma.IsReady())
                            {
                                Talisma.Cast();
                            }
                        }
                        R.Cast(PosAndHits.First().Key.To3D());
                    }
                }

                if (Smite != null)
                {
                    if (Target.IsValidTarget(Smite.Range) && Smite.IsReady())
                    {
                        if (Smite.Name.Contains("gank"))
                        {
                            Smite.Cast(Target);
                        }
                        else if (Smite.Name.Contains("duel") && Player.IsInAutoAttackRange(Target))
                        {
                            Smite.Cast(Target);
                        }
                    }
                }

                if (Menu["UseQCombo"].Cast <CheckBox>().CurrentValue&& QIsReady && QRange)
                {
                    Q.Cast(Target);
                }

                if (Menu["UseECombo"].Cast <CheckBox>().CurrentValue&& EIsReady && ERange)
                {
                    E.Cast();
                }

                if (Menu["UseWCombo"].Cast <CheckBox>().CurrentValue&& WIsReady && WRange)
                {
                    W.Cast();
                }

                if (Randuin.IsReady() && Target.IsValidTarget(500))
                {
                    Randuin.Cast();
                }

                if (Bilgewater.IsReady() && Target.IsValidTarget(550))
                {
                    Bilgewater.Cast(Target);
                }

                if (BOTRK.IsReady() && Target.IsValidTarget(550))
                {
                    BOTRK.Cast(Target);
                }

                if (Tiamat.IsReady() && Target.IsValidTarget(400))
                {
                    Tiamat.Cast();
                }

                if (Hydra.IsReady() && Target.IsValidTarget(400))
                {
                    Hydra.Cast();
                }

                return;
            }
コード例 #12
0
            //---------------------------------------------Combo()------------------------------------------------

            public static void Combo()
            {
                if (RRange && R.IsReady())
                {
                    PosAndHits = GetBestRPos(Target.ServerPosition.To2D());

                    if (Menu["UseRCombo"].Cast <CheckBox>().CurrentValue&& PosAndHits.First().Value >= Menu["Min Enemies R"].Cast <Slider>().CurrentValue)
                    {
                        if (Menu["RWithStun"].Cast <CheckBox>().CurrentValue)
                        {
                            if (Player.HasBuff("pyromania_particle"))
                            {
                                R.Cast(PosAndHits.First().Key.To3D());
                            }
                        }
                        else
                        {
                            R.Cast(PosAndHits.First().Key.To3D());
                        }
                    }
                }

                if (Menu["UseQCombo"].Cast <CheckBox>().CurrentValue&& QIsReady && RRange)
                {
                    Q.Cast(Target);
                }

                if (Menu["UseWCombo"].Cast <CheckBox>().CurrentValue&& WIsReady && RRange)
                {
                    var WPos = GetBestWPos();
                    if (WPos != default(Vector3))
                    {
                        W.Cast(WPos);
                    }
                }

                if (Smite != null)
                {
                    if (Smite.IsInRange(Target) && Smite.IsReady())
                    {
                        if (Smite.Name.Contains("gank"))
                        {
                            Smite.Cast(Target);
                        }
                        else if (Smite.Name.Contains("duel") && Player.IsInAutoAttackRange(Target))
                        {
                            Smite.Cast(Target);
                        }
                    }
                }

                if (Talisma.IsReady() && CountAlliesInRange(650) > 0)
                {
                    Talisma.Cast();
                }

                if (Exhaust != null && Menu["UseExhaust?"].Cast <CheckBox>().CurrentValue&& TargetSelector.GetPriority(Target) > 3 && Target.IsValidTarget(Exhaust.Range))
                {
                    Exhaust.Cast(Target);
                }

                return;
            }
コード例 #13
0
ファイル: Combo.cs プロジェクト: elosupport/EB-Addons
        public static void Execute()
        {
            var enemiesq = EntityManager.Heroes.Enemies.OrderByDescending
                               (a => a.HealthPercent).Where(a => !a.IsMe && a.IsValidTarget() && a.Distance(Player) <= Q.Range);
            var enemiesr = EntityManager.Heroes.Enemies.OrderByDescending
                               (a => a.HealthPercent).Where(a => !a.IsMe && a.IsValidTarget() && a.Distance(Player) <= R.Range);
            var enemiesw = EntityManager.Heroes.Enemies.OrderByDescending
                               (a => a.HealthPercent).Where(a => !a.IsMe && a.IsValidTarget() && a.Distance(Player) <= W.Range);
            var enemies = EntityManager.Heroes.Enemies.OrderByDescending
                              (a => a.HealthPercent).Where(a => !a.IsMe && a.IsValidTarget() && a.Distance(Player) <= E.Range);
            var target = TargetSelector.GetTarget(1900, DamageType.Magical);

            if (ComboMenu.GetCheckBoxValue("cOne"))
            {
                if (R.IsReady() && target.IsValidTarget(R.Range) && ComboMenu.GetCheckBoxValue("rUse"))
                {
                    foreach (var ultenemies in enemiesr)
                    {
                        R.Cast();
                        R1.Cast(ultenemies);
                    }
                }

                if (E.IsReady() && ComboMenu.GetCheckBoxValue("eUse"))
                {
                    foreach (var eenemies in enemies)

                    {
                        E.Cast(eenemies);
                    }
                }

                if (W.IsReady() && ComboMenu.GetCheckBoxValue("wUse"))
                {
                    W.Cast();
                }

                if (Q.IsReady() && target.IsValidTarget(Q.Range) && ComboMenu.GetCheckBoxValue("qUse"))
                {
                    foreach (var qenemies in enemiesq)
                    {
                        var predQ = Q.GetPrediction(qenemies);

                        {
                            Q.Cast(predQ.CastPosition);
                        }
                    }
                }
                if (MiscMenu["smcb"].Cast <CheckBox>().CurrentValue&& SmiteManager.CanUseOnChamp)
                {
                    var smitetarget = TargetSelector.GetTarget(Smite.Range, DamageType.True);
                    if (smitetarget != null && smitetarget.IsValidTarget() && Smite.IsReady())
                    {
                        Smite.Cast(target.Position);
                    }
                }
            }

            else if (ComboMenu.GetCheckBoxValue("cTwo"))
            {
                if (R.IsReady() && target.IsValidTarget(R.Range) && ComboMenu.GetCheckBoxValue("rUse"))
                {
                    foreach (var ultenemies in enemiesr)
                    {
                        R.Cast();
                        R1.Cast(ultenemies);
                    }
                }

                if (W.IsReady() && ComboMenu.GetCheckBoxValue("wUse"))
                {
                    W.Cast();
                }


                if (E.IsReady() && target.IsValidTarget(E.Range) && ComboMenu.GetCheckBoxValue("eUse"))
                {
                    foreach (var eenemies in enemies)

                    {
                        E.Cast(eenemies);
                    }
                }

                if (Q.IsReady() && target.IsValidTarget(Q.Range) && ComboMenu.GetCheckBoxValue("qUse"))
                {
                    foreach (var qenemies in enemiesq)
                    {
                        var predQ = Q.GetPrediction(qenemies);

                        {
                            Q.Cast(predQ.CastPosition);
                        }
                    }
                }
                if (MiscMenu["smcb"].Cast <CheckBox>().CurrentValue&& SmiteManager.CanUseOnChamp)
                {
                    var smitetarget = TargetSelector.GetTarget(Smite.Range, DamageType.True);
                    if (smitetarget != null && smitetarget.IsValidTarget() && Smite.IsReady())
                    {
                        Smite.Cast(target.Position);
                    }
                }
            }

            else if (ComboMenu.GetCheckBoxValue("cThree"))
            {
                if (R.IsReady() && target.IsValidTarget(R.Range) && ComboMenu.GetCheckBoxValue("rUse"))
                {
                    foreach (var ultenemies in enemiesr)
                    {
                        R.Cast();
                        R1.Cast(ultenemies);
                    }
                }

                if (Q.IsReady() && target.IsValidTarget(Q.Range) && ComboMenu.GetCheckBoxValue("qUse"))
                {
                    foreach (var qenemies in enemiesq)
                    {
                        var predQ = Q.GetPrediction(qenemies);

                        {
                            Q.Cast(predQ.CastPosition);
                        }

                        if (E.IsReady() && ComboMenu.GetCheckBoxValue("eUse"))
                        {
                            foreach (var eenemies in enemies)

                            {
                                E.Cast(eenemies);
                            }
                        }
                    }
                    if (MiscMenu["smcb"].Cast <CheckBox>().CurrentValue&& SmiteManager.CanUseOnChamp)
                    {
                        var smitetarget = TargetSelector.GetTarget(Smite.Range, DamageType.True);
                        if (smitetarget != null && smitetarget.IsValidTarget() && Smite.IsReady())
                        {
                            Smite.Cast(target.Position);
                        }
                    }
                }
            }
        }
コード例 #14
0
ファイル: Program.cs プロジェクト: lolscripts/wu
            //---------------------------------------------Combo()------------------------------------------------

            public static void Combo()
            {
                if (!EBuff())
                {
                    if (Menu["UseECombo"].Cast <CheckBox>().CurrentValue&& EIsReady && ERange)
                    {
                        E.Cast();
                    }
                    if (Menu["UseQCombo"].Cast <CheckBox>().CurrentValue&& QIsReady && QRange)
                    {
                        Q.HitChanceCast(Target, 75);
                    }
                }

                if (Menu["UseRCombo"].Cast <CheckBox>().CurrentValue&& Player.CountEnemiesInRange(R.Range) >= Menu["Min Enemies R"].Cast <Slider>().CurrentValue)
                {
                    R.Cast();
                }

                if (Menu["UseWCombo"].Cast <CheckBox>().CurrentValue&& WIsReady && WRange && Target.HasBuff("kennenmarkofstorm"))
                {
                    W.Cast();
                }

                if (Smite != null)
                {
                    if (Smite.IsInRange(Target) && Smite.IsReady())
                    {
                        if (Smite.Name.Contains("gank"))
                        {
                            Smite.Cast(Target);
                        }
                        else if (Smite.Name.Contains("duel") && Player.IsInAutoAttackRange(Target))
                        {
                            Smite.Cast(Target);
                        }
                    }
                }

                if (Talisma.IsReady() && CountAlliesInRange(650) > 0)
                {
                    Talisma.Cast();
                }

                if (Exhaust != null && Menu["UseExhaust?"].Cast <CheckBox>().CurrentValue&& TargetSelector.GetPriority(Target) > 3 && Target.IsValidTarget(Exhaust.Range))
                {
                    Exhaust.Cast(Target);
                }

                if (ERange && GhostBlade.IsReady())
                {
                    GhostBlade.Cast();
                }

                if (Target.IsValidTarget(550) && BOTRK.IsReady())
                {
                    BOTRK.Cast(Target);
                }

                if (Target.IsValidTarget(550) && Bilgewater.IsReady())
                {
                    Bilgewater.Cast(Target);
                }

                if (Target.IsValidTarget(500) && Randuin.IsReady())
                {
                    Randuin.Cast();
                }

                if (Target.IsValidTarget(700) && Hextech.IsReady())
                {
                    Hextech.Cast(Target);
                }

                return;
            }
コード例 #15
0
ファイル: AutoSmite.cs プロジェクト: loyalvtmc/LeagueSharp-1
        private void ActivatorsLoaded(object o)
        {
            try
            {
                if (o is Activators && (o as Activators).Menu != null)
                {
                    _activators = (o as Activators);

                    Menu = new Menu(Name, Name);

                    var spellsMenu = new Menu("Spells", Name + "Spells");
                    spellsMenu.AddItem(new MenuItem(Name + "SpellsSmite", "Use Smite").SetValue(true));
                    spellsMenu.AddItem(new MenuItem(Name + "SpellsNunu", "Use Nunu Q").SetValue(true));
                    spellsMenu.AddItem(new MenuItem(Name + "SpellsChogath", "Use Cho'Gath R").SetValue(true));
                    spellsMenu.AddItem(new MenuItem(Name + "SpellsOlaf", "Use Olaf E").SetValue(true));

                    var drawingMenu = new Menu("Drawing", Name + "Drawing");
                    drawingMenu.AddItem(new MenuItem(Name + "DrawingUseableColor", "Useable Color").SetValue(Color.Blue));
                    drawingMenu.AddItem(
                        new MenuItem(Name + "DrawingUnusableColor", "Unusable Color").SetValue(Color.Gray));
                    drawingMenu.AddItem(new MenuItem(Name + "DrawingDamageColor", "Damage Color").SetValue(Color.SkyBlue));
                    drawingMenu.AddItem(new MenuItem(Name + "DrawingSmiteRange", "Smite Range").SetValue(true));
                    drawingMenu.AddItem(new MenuItem(Name + "DrawingHeroSpellsRange", "Hero Spells Range").SetValue(true));
                    drawingMenu.AddItem(new MenuItem(Name + "DrawingDamageTillSmite", "Damage till Smite").SetValue(true));

                    Menu.AddSubMenu(spellsMenu);
                    Menu.AddSubMenu(drawingMenu);

                    Menu.AddItem(new MenuItem(Name + "BigCamps", "Big Camps").SetValue(true));
                    Menu.AddItem(new MenuItem(Name + "SmallCamps", "Small Camps").SetValue(false));
                    Menu.AddItem(new MenuItem(Name + "PacketCasting", "Packet Casting").SetValue(false));
                    Menu.AddItem(
                        new MenuItem(Name + "Enabled", "Enabled").SetValue(new KeyBind('N', KeyBindType.Toggle, true)));

                    _activators.Menu.AddSubMenu(Menu);

                    if (IsValidMap)
                    {
                        Utility.Map.MapType map = Utility.Map.GetMap()._MapType;

                        if (map == Utility.Map.MapType.SummonersRift)
                        {
                            _bigMinionNames   = new[] { "AncientGolem", "LizardElder", "Worm", "Dragon" };
                            _smallMinionNames = new[] { "GreatWraith", "Wraith", "GiantWolf", "Golem", "Wight" };
                        }
                        else if (map == Utility.Map.MapType.TwistedTreeline)
                        {
                            _bigMinionNames   = new[] { "TT_Spiderboss" };
                            _smallMinionNames = new[] { "TT_NWraith", "TT_NGolem", "TT_NWolf" };
                        }

                        _smite      = new Smite();
                        _heroSpells = new List <HeroSpell>
                        {
                            new HeroSpell("Nunu", SpellSlot.Q, 155),
                            new HeroSpell("Chogath", SpellSlot.R, 175),
                            new HeroSpell("Olaf", SpellSlot.E, 325)
                        };
                        _heroSpell = _heroSpells.FirstOrDefault(s => s.Available);

                        Game.OnGameUpdate += OnGameUpdate;
                        Drawing.OnDraw    += OnDraw;

                        Initialized = true;
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.WriteBlock(ex.Message, ex.ToString());
            }
        }
コード例 #16
0
ファイル: Program.cs プロジェクト: kirabc/EloBuddy-7
        private static void Misc()
        {
            AIHeroClient target = TargetSelector.GetTarget(1100, DamageType.Magical, Player.Instance.Position);

            if (target != null && target.ValidTarget(1100))
            {
                if (check(misc, "KSQ") && DemSpells.Q.CanCast(target) && Prediction.Health.GetPrediction(target, DemSpells.Q.CastDelay) > 0f &&
                    target.Health < myhero.GetSpellDamage(target, SpellSlot.Q, DamageLibrary.SpellStages.Default) && DemSpells.Q.Cast())
                {
                    return;
                }
                if (check(misc, "KSE") && DemSpells.E.CanCast(target) && target.Health < myhero.GetSpellDamage(target, SpellSlot.E, DamageLibrary.SpellStages.Default) &&
                    Prediction.Health.GetPrediction(target, 1000 * (int)(target.Distance(myhero.Position, false) / DemSpells.E.Speed) + DemSpells.E.CastDelay) > 0f &&
                    DemSpells.E.GetPrediction(target).HitChancePercent >= slider(pred, "EPred") && DemSpells.E.Cast(DemSpells.E.GetPrediction(target).CastPosition))
                {
                    return;
                }

                if (Ignite != null && check(misc, "autoign") && Ignite.IsReady() && target.IsValidTarget(Ignite.Range) &&
                    myhero.GetSummonerSpellDamage(target, DamageLibrary.SummonerSpells.Ignite) > target.Health && Ignite.Cast(target))
                {
                    return;
                }
            }

            if (Smite != null && Smite.IsReady() && key(jungleclear, "SMITEKEY"))
            {
                IEnumerable <Obj_AI_Minion> Monsters = EntityManager.MinionsAndMonsters.GetJungleMonsters(myhero.Position, 500).Where(x => x.IsValidTarget(500) && !x.IsDead &&
                                                                                                                                      !x.Name.ToLower().Contains("mini"));

                if (Monsters != null)
                {
                    using (IEnumerator <Obj_AI_Minion> list = Monsters.GetEnumerator())
                    {
                        Obj_AI_Minion monster = list.Current;

                        if (Smite.CanCast(monster) && monster.Health < myhero.GetSummonerSpellDamage(monster, DamageLibrary.SummonerSpells.Smite) && Smite.Cast(monster))
                        {
                            return;
                        }
                    }
                    return;
                }
            }

            if (check(misc, "AUTOPOT") && (!myhero.HasBuff("RegenerationPotion") && !myhero.HasBuff("ItemMiniRegenPotion") && !myhero.HasBuff("ItemCrystalFlask")) &&
                myhero.HealthPercent <= slider(misc, "POTMIN"))
            {
                if (Item.HasItem(Potion.Id) && Item.CanUseItem(Potion.Id))
                {
                    Potion.Cast();
                }

                else if (Item.HasItem(Biscuit.Id) && Item.CanUseItem(Biscuit.Id))
                {
                    Biscuit.Cast();
                }

                else if (Item.HasItem(RPotion.Id) && Item.CanUseItem(RPotion.Id))
                {
                    RPotion.Cast();
                }
            }

            IEnumerable <Obj_AI_Minion> ValidCrystals = Crystals.Where(x => EntityManager.Heroes.Enemies.Where(y => y.Distance(x) < 230 &&
                                                                                                               y.HasBuff("skarnerpassivecrystalbuffcooldown"))
                                                                       .Any());


            if (check(misc, "PING") && !Pinged && ValidCrystals.Any())
            {
                using (IEnumerator <Obj_AI_Minion> list = ValidCrystals.GetEnumerator())
                {
                    if (list.MoveNext())
                    {
                        Obj_AI_Minion crystal = list.Current;
                        TacticalMap.SendPing(PingCategory.Fallback, crystal.Position);
                        Pinged = true;
                        Core.DelayAction(() => { Pinged = false; }, slider(misc, "PINGDELAY") * 1000);
                        return;
                    }
                }
                return;
            }


            if (key(misc, "SHIELDKEY") && DemSpells.W.IsReady() && myhero.HealthPercent <= slider(misc, "SMINH") && myhero.ManaPercent >= slider(misc, "SMINM"))
            {
                IEnumerable <AIHeroClient> list = EntityManager.Heroes.Enemies.Where(x => x.Distance(myhero.Position) < 400);

                if (list.Any() && list.Count() >= slider(misc, "SMINE") && DemSpells.W.Cast())
                {
                    return;
                }
            }

            if (check(misc, "skinhax"))
            {
                myhero.SetSkinId((int)misc["skinID"].Cast <ComboBox>().CurrentValue);
            }
        }
コード例 #17
0
ファイル: AutoSmite.cs プロジェクト: xioa123/CN
        private void ActivatorsLoaded(object o)
        {
            try
            {
                if (o is Activators && (o as Activators).Menu != null)
                {
                    _activators = (o as Activators);

                    Menu = new Menu(Name, Name);

                    var spellsMenu = new Menu("法术", Name + "Spells");
                    spellsMenu.AddItem(new MenuItem(Name + "SpellsSmite", "使用击打").SetValue(true));
                    spellsMenu.AddItem(new MenuItem(Name + "SpellsNunu", "使用努努 Q").SetValue(true));
                    spellsMenu.AddItem(new MenuItem(Name + "SpellsChogath", "使用大虫子 R").SetValue(true));
                    spellsMenu.AddItem(new MenuItem(Name + "SpellsOlaf", "使用奥拉夫 E").SetValue(true));

                    var drawingMenu = new Menu("绘制", Name + "Drawing");
                    drawingMenu.AddItem(new MenuItem(Name + "DrawingUseableColor", "可用颜色").SetValue(Color.Blue));
                    drawingMenu.AddItem(
                        new MenuItem(Name + "DrawingUnusableColor", "不可用的颜色").SetValue(Color.Gray));
                    drawingMenu.AddItem(new MenuItem(Name + "DrawingDamageColor", "损害颜色").SetValue(Color.SkyBlue));
                    drawingMenu.AddItem(new MenuItem(Name + "DrawingSmiteRange", "攻击范围").SetValue(true));
                    drawingMenu.AddItem(new MenuItem(Name + "DrawingHeroSpellsRange", "英雄法术范围").SetValue(true));
                    drawingMenu.AddItem(new MenuItem(Name + "DrawingDamageTillSmite", "直到伤害").SetValue(true));

                    Menu.AddSubMenu(spellsMenu);
                    Menu.AddSubMenu(drawingMenu);

                    Menu.AddItem(new MenuItem(Name + "BigCamps", "大Camps").SetValue(true));
                    Menu.AddItem(new MenuItem(Name + "SmallCamps", "小Camps").SetValue(false));
                    //                   Menu.AddItem(new MenuItem(Name + "PacketCasting", "封包").SetValue(false));
                    Menu.AddItem(
                        new MenuItem(Name + "Enabled", "启用").SetValue(new KeyBind('N', KeyBindType.Toggle, true)));

                    _activators.Menu.AddSubMenu(Menu);

                    if (IsValidMap)
                    {
                        Utility.Map.MapType map = Utility.Map.GetMap().Type;

                        if (map == Utility.Map.MapType.SummonersRift)
                        {
                            _bigMinionNames   = new[] { "SRU_Blue", "SRU_Red", "SRU_Baron", "SRU_Dragon" };
                            _smallMinionNames = new[] { "SRU_Razorbeak", "SRU_Krug", "SRU_Murkwolf", "SRU_Gromp", "SRU_Crab" };
                        }
                        else if (map == Utility.Map.MapType.TwistedTreeline)
                        {
                            _bigMinionNames   = new[] { "TT_Spiderboss" };
                            _smallMinionNames = new[] { "TT_NWraith", "TT_NGolem", "TT_NWolf" };
                        }

                        _smite      = new Smite();
                        _heroSpells = new List <HeroSpell>
                        {
                            new HeroSpell("Nunu", SpellSlot.Q, 155),
                            new HeroSpell("Chogath", SpellSlot.R, 175),
                            new HeroSpell("Olaf", SpellSlot.E, 325)
                        };
                        _heroSpell = _heroSpells.FirstOrDefault(s => s.Available);

                        Game.OnGameUpdate += OnGameUpdate;
                        Drawing.OnDraw    += OnDraw;

                        Initialized = true;
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.WriteBlock(ex.Message, ex.ToString());
            }
        }
コード例 #18
0
ファイル: PermaActive.cs プロジェクト: NoShurim/Buddys
        public override void Execute()
        {
            if (Player.Instance.Spellbook.IsChanneling || Player.Instance.HasBuff("Absolute Zero") || ChannelingR())
            {
                Orbwalker.DisableAttacking = true;
                Orbwalker.DisableMovement  = true;
                return;
            }
            else
            {
                Orbwalker.DisableAttacking = false;
                Orbwalker.DisableMovement  = false;
            }

            #region Potion


            if (Settings.EnablePotion && !Player.Instance.IsInShopRange() && Player.Instance.HealthPercent <= Settings.MinHPPotion && !PotionRunning() && !ChannelingR())
            {
                if (Item.HasItem(HealthPotion.Id) && Item.CanUseItem(HealthPotion.Id))
                {
                    HealthPotion.Cast();
                    return;
                }
                if (Item.HasItem(HuntersPotion.Id) && Item.CanUseItem(HuntersPotion.Id))
                {
                    HuntersPotion.Cast();
                    return;
                }
                if (Item.HasItem(TotalBiscuit.Id) && Item.CanUseItem(TotalBiscuit.Id))
                {
                    TotalBiscuit.Cast();
                    return;
                }
                if (Item.HasItem(RefillablePotion.Id) && Item.CanUseItem(RefillablePotion.Id))
                {
                    RefillablePotion.Cast();
                    return;
                }
                if (Item.HasItem(CorruptingPotion.Id) && Item.CanUseItem(CorruptingPotion.Id))
                {
                    CorruptingPotion.Cast();
                    return;
                }
            }

            if (Settings.EnablePotion && !Player.Instance.IsInShopRange() && Player.Instance.ManaPercent <= Settings.MinMPPotion && !PotionRunning() && !ChannelingR())
            {
                if (Item.HasItem(CorruptingPotion.Id) && Item.CanUseItem(CorruptingPotion.Id))
                {
                    CorruptingPotion.Cast();
                    return;
                }
            }

            #endregion

            var target = EntityManager.MinionsAndMonsters.Combined.OrderByDescending(a => a.MaxHealth).FirstOrDefault(b => b.Distance(Player.Instance) <= 220);
            if (target != null && Settings.UseAutoQ && Q.IsReady() && Player.Instance.HealthPercent <= Settings.AutoQHealth && !ChannelingR())
            {
                Q.Cast(target);
                return;
            }

            if (Settings.IgniteKS && HasIgnite && SpellManager.Ignite.IsReady() && !ChannelingR())
            {
                var IgniteKS = EntityManager.Heroes.Enemies.FirstOrDefault(e => SpellManager.Ignite.IsInRange(e) && !e.IsDead && e.Health > 0 && !e.IsInvulnerable && e.IsVisible && e.TotalShieldHealth() < Damage.IgniteDmg(e));
                if (IgniteKS != null)
                {
                    SpellManager.Ignite.Cast(IgniteKS);
                    return;
                }
            }

            #region Smite

            if (HasSmite)
            {
                if (MenusSettings.Smite.SmiteMenu.SmiteCombo && Smite.Name.Equals("s5_summonersmiteduel") && Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) && Smite.IsReady())
                {
                    foreach (
                        var smiteTarget in
                        EntityManager.Heroes.Enemies
                        .Where(h => h.IsValidTarget(Smite.Range)).Where(h => h.HealthPercent <= MenusSettings.Smite.SmiteMenu.RedSmitePercent).OrderByDescending(TargetSelector.GetPriority))
                    {
                        Smite.Cast(smiteTarget);
                        return;
                    }
                }

                if (MenusSettings.Smite.SmiteMenu.SmiteEnemies && Smite.Name.Equals("s5_summonersmiteplayerganker") && Smite.IsReady())
                {
                    var smiteKs = EntityManager.Heroes.Enemies.FirstOrDefault(e => Smite.IsInRange(e) && !e.IsDead && e.Health > 0 && !e.IsInvulnerable && e.IsVisible && e.TotalShieldHealth() < SmiteDamage.SmiteDmgHero(e));
                    if (smiteKs != null)
                    {
                        Smite.Cast(smiteKs);
                        return;
                    }
                }

                if (!MenusSettings.Smite.SmiteMenu.SmiteToggle || !Smite.IsReady())
                {
                    return;
                }
                {
                    var monsters2 =
                        EntityManager.MinionsAndMonsters.GetJungleMonsters(Player.Instance.ServerPosition, Smite.Range)
                        .Where(e => !e.IsDead && e.Health > 0 && SmiteDamage.MonstersNames.Contains(e.BaseSkinName) && !e.IsInvulnerable && e.IsVisible && e.Health <= SmiteDamage.SmiteDmgMonster(e));
                    foreach (var n in monsters2.Where(n => MenusSettings.Smite.SmiteMenu.MainMenu[n.BaseSkinName].Cast <CheckBox>().CurrentValue))
                    {
                        Smite.Cast(n);
                        return;
                    }
                }
            }
            #endregion
        }
コード例 #19
0
        public override void Execute()
        {
            #region KS

            if (Settings.EnableKSQ && Q.IsReady())
            {
                var ksQ = TargetSelector.GetTarget(
                    EntityManager.Heroes.Enemies.Where(
                        e => e != null && e.IsValidTarget() && SpellManager.Q.IsInRange(e) &&
                        e.Health <= SpellManager.Qdamage(e)), DamageType.Magical);

                if (ksQ != null)
                {
                    Q.Cast(ksQ);
                }
                return;
            }

            #endregion

            #region Potion

            if (Settings.EnablePotion && !Player.Instance.IsInShopRange() &&
                Player.Instance.HealthPercent <= Settings.MinHPPotion && !PotionRunning())
            {
                if (Item.HasItem(Utility.HealthPotion.Id) && Item.CanUseItem(Utility.HealthPotion.Id))
                {
                    Utility.HealthPotion.Cast();
                    return;
                }
                if (Item.HasItem(Utility.HuntersPotion.Id) && Item.CanUseItem(Utility.HuntersPotion.Id))
                {
                    Utility.HuntersPotion.Cast();
                    return;
                }
                if (Item.HasItem(Utility.TotalBiscuit.Id) && Item.CanUseItem(Utility.TotalBiscuit.Id))
                {
                    Utility.TotalBiscuit.Cast();
                    return;
                }
                if (Item.HasItem(Utility.RefillablePotion.Id) && Item.CanUseItem(Utility.RefillablePotion.Id))
                {
                    Utility.RefillablePotion.Cast();
                    return;
                }
                if (Item.HasItem(Utility.CorruptingPotion.Id) && Item.CanUseItem(Utility.CorruptingPotion.Id))
                {
                    Utility.CorruptingPotion.Cast();
                    return;
                }
            }

            #endregion

            #region Smite

            if (HasSmite)
            {
                //Red Smite Combo
                if (Config.Smite.SmiteMenu.SmiteCombo && Smite.Name.Equals("s5_summonersmiteduel") &&
                    Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) && Smite.IsReady())
                {
                    foreach (
                        var smiteTarget in
                        EntityManager.Heroes.Enemies
                        .Where(h => h.IsValidTarget(Smite.Range))
                        .Where(h => h.HealthPercent <= Config.Smite.SmiteMenu.RedSmitePercent)
                        .OrderByDescending(TargetSelector.GetPriority))
                    {
                        Smite.Cast(smiteTarget);
                        return;
                    }
                }

                // Blue Smite KS
                if (Config.Smite.SmiteMenu.SmiteEnemies && Smite.Name.Equals("s5_summonersmiteplayerganker") &&
                    Smite.IsReady())
                {
                    var smiteKs =
                        EntityManager.Heroes.Enemies.FirstOrDefault(
                            e =>
                            Smite.IsInRange(e) && !e.IsDead && e.Health > 0 && !e.IsInvulnerable &&
                            e.IsVisible &&
                            e.TotalShieldHealth() < Utility.SmiteDmgHero(e));
                    if (smiteKs != null)
                    {
                        Smite.Cast(smiteKs);
                        return;
                    }
                }

                // Smite Monsters
                if (!Config.Smite.SmiteMenu.SmiteToggle || !Smite.IsReady())
                {
                    return;
                }
                {
                    var monsters2 =
                        EntityManager.MinionsAndMonsters
                        .GetJungleMonsters(Player.Instance.ServerPosition, Smite.Range)
                        .Where(
                            e =>
                            !e.IsDead && e.Health > 0 && Utility.MonstersNames.Contains(e.BaseSkinName) &&
                            !e.IsInvulnerable && e.IsVisible && e.Health <= Utility.SmiteDmgMonster(e));
                    foreach (
                        var n in
                        monsters2.Where(
                            n => Config.Smite.SmiteMenu.MainMenu[n.BaseSkinName].Cast <CheckBox>().CurrentValue))
                    {
                        Smite.Cast(n);
                        return;
                    }
                }
            }

            #endregion

            #region W autodisable

            Core.DelayAction(delegate
            {
                //W autodisable thanks to Sunnyline2
                if (Settings.SmartW && Program.WStatus())
                {
                    var monsters =
                        EntityManager.MinionsAndMonsters.CombinedAttackable.Count(
                            monster => monster.IsValidTarget(450));
                    var enemies = EntityManager.Heroes.Enemies.Count(enemy => enemy.IsValidTarget(450));
                    if (monsters == 0 && enemies == 0)
                    {
                        Program.WDisable();
                    }
                }
            }, Settings.WSDelay);

            #endregion

            #region R usage on low hp

            if (Settings2.UseR && R.IsReady())
            {
                if (!Player.Instance.IsInFountainRange() && !Player.Instance.IsInShopRange() &&
                    Player.Instance.HealthPercent < Settings2.RMinHP)
                {
                    R.Cast();
                }
            }

            #endregion
        }
コード例 #20
0
        public override void Execute()
        {
            Events.KS();

            #region Potion

            //Haker

            if (Settings.EnablePotion && !Player.Instance.IsInShopRange() && Player.Instance.HealthPercent <= Settings.MinHPPotion && !PotionRunning())
            {
                if (Item.HasItem(HealthPotion.Id) && Item.CanUseItem(HealthPotion.Id))
                {
                    HealthPotion.Cast();
                    return;
                }
                if (Item.HasItem(HuntersPotion.Id) && Item.CanUseItem(HuntersPotion.Id))
                {
                    HuntersPotion.Cast();
                    return;
                }
                if (Item.HasItem(TotalBiscuit.Id) && Item.CanUseItem(TotalBiscuit.Id))
                {
                    TotalBiscuit.Cast();
                    return;
                }
                if (Item.HasItem(RefillablePotion.Id) && Item.CanUseItem(RefillablePotion.Id))
                {
                    RefillablePotion.Cast();
                    return;
                }
                if (Item.HasItem(CorruptingPotion.Id) && Item.CanUseItem(CorruptingPotion.Id))
                {
                    CorruptingPotion.Cast();
                    return;
                }
            }

            if (Settings.EnablePotion && !Player.Instance.IsInShopRange() && Player.Instance.ManaPercent <= Settings.MinMPPotion && !PotionRunning())
            {
                if (Item.HasItem(CorruptingPotion.Id) && Item.CanUseItem(CorruptingPotion.Id))
                {
                    CorruptingPotion.Cast();
                    return;
                }
            }

            #endregion

            #region Smite

            if (HasSmite)
            {
                //Red Smite Combo
                if (Config.Smite.SmiteMenu.SmiteCombo && Smite.Name.Equals("s5_summonersmiteduel") && Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) && Smite.IsReady())
                {
                    foreach (
                        var smiteTarget in
                        EntityManager.Heroes.Enemies
                        .Where(h => h.IsValidTarget(Smite.Range)).Where(h => h.HealthPercent <= Config.Smite.SmiteMenu.RedSmitePercent).OrderByDescending(TargetSelector.GetPriority))
                    {
                        Smite.Cast(smiteTarget);
                        return;
                    }
                }

                // Blue Smite KS
                if (Config.Smite.SmiteMenu.SmiteEnemies && Smite.Name.Equals("s5_summonersmiteplayerganker") && Smite.IsReady())
                {
                    var smiteKs = EntityManager.Heroes.Enemies.FirstOrDefault(e => Smite.IsInRange(e) && !e.IsDead && e.Health > 0 && !e.IsInvulnerable && e.IsVisible && e.TotalShieldHealth() < SmiteDamage.SmiteDmgHero(e));
                    if (smiteKs != null)
                    {
                        Smite.Cast(smiteKs);
                        return;
                    }
                }

                // Smite Monsters
                if (!Config.Smite.SmiteMenu.SmiteToggle || !Smite.IsReady())
                {
                    return;
                }
                {
                    var monsters2 =
                        EntityManager.MinionsAndMonsters.GetJungleMonsters(Player.Instance.ServerPosition, Smite.Range)
                        .Where(e => !e.IsDead && e.Health > 0 && SmiteDamage.MonstersNames.Contains(e.BaseSkinName) && !e.IsInvulnerable && e.IsVisible && e.Health <= SmiteDamage.SmiteDmgMonster(e));
                    foreach (var n in monsters2.Where(n => Config.Smite.SmiteMenu.MainMenu[n.BaseSkinName].Cast <CheckBox>().CurrentValue))
                    {
                        Smite.Cast(n);
                        return;
                    }
                }
            }
            #endregion
        }
コード例 #21
0
ファイル: PermaActive.cs プロジェクト: MasterScott/EloBuddy
        public override void Execute()
        {
            // KillSteal
            if (Settings.KsQ || (Settings.KsSmite && SpellManager.HasChillingSmite()) || (Settings.KsIgnite && HasIgnite) && Environment.TickCount - lastKSTime > 500)
            {
                var enemies = EntityManager.Heroes.Enemies.Where(e => e.IsValidTarget(600));
                if (Settings.KsQ && Q.IsReady() && PlayerMana >= SettingsMana.MinQMana)
                {
                    var target = enemies.FirstOrDefault(e => Q.IsInRange(e) && e.TotalShieldHealth() < Damages.QDamage(e) && !e.HasBuffOfType(BuffType.SpellImmunity) && !e.HasBuffOfType(BuffType.SpellShield));
                    if (target != null)
                    {
                        lastKSTime = Environment.TickCount;
                        Q.Cast(target);
                        Debug.Write("Casting Q in KS on {0} who has {1}HP.", target.ChampionName, target.Health.ToString());
                        return;
                    }
                }
                if (Settings.KsIgnite && HasIgnite && Ignite.IsReady())
                {
                    var target = enemies.FirstOrDefault(e => W.IsInRange(e) && e.TotalShieldHealth() < Damages.IgniteDmg(e));
                    if (target != null)
                    {
                        lastKSTime = Environment.TickCount;
                        Ignite.Cast(target);
                        Debug.Write("Casting Ignite in KS on {0} who has {1}HP.", target.ChampionName, target.Health.ToString());
                        return;
                    }
                }
                if (Settings.KsSmite && SpellManager.HasChillingSmite() && Smite.IsReady())
                {
                    var target = enemies.FirstOrDefault(e => W.IsInRange(e) && e.TotalShieldHealth() < Damages.SmiteDmgHero(e));
                    if (target != null)
                    {
                        lastKSTime = Environment.TickCount;
                        Ignite.Cast(target);
                        Debug.Write("Casting Smite in KS on {0} who has {1}HP.", target.ChampionName, target.Health.ToString());
                        return;
                    }
                }
            }
            // Auto Q Harass
            if (SettingsHarass.UseAutoQ && Q.IsReady() && PlayerMana >= SettingsHarass.MinAutoQMana && !_Player.IsRecalling() && !PlayerIsUnderEnemyTurret() /* Don't harass under enemy turrets */ && !Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) /* Don't Harass in Combo, it can mess it up */)
            {
                var enemies = EntityManager.Heroes.Enemies.Where(
                    e => e.IsValidTarget(Q.Range)).OrderBy(e => _Player.Distance(e));
                foreach (var enemy in enemies)
                {
                    if (
                        VodkaWarwick.Config.ModesMenu.MenuModes["blacklist" + enemy.ChampionName].Cast <CheckBox>()
                        .CurrentValue)
                    {
                        continue;
                    }
                    Q.Cast(enemy);
                    Debug.WriteChat("Casting Q in Auto Harass, Target: {0}", enemy.ChampionName);
                    break;
                }
            }

            // Potion manager
            if (Settings.Potion && !Player.Instance.IsInShopRange() && Player.Instance.HealthPercent <= Settings.potionMinHP && !(Player.Instance.HasBuff("RegenerationPotion") || Player.Instance.HasBuff("ItemCrystalFlaskJungle") || Player.Instance.HasBuff("ItemMiniRegenPotion") || Player.Instance.HasBuff("ItemCrystalFlask") || Player.Instance.HasBuff("ItemDarkCrystalFlask")))
            {
                if (Item.HasItem(HealthPotion.Id) && Item.CanUseItem(HealthPotion.Id))
                {
                    Debug.WriteChat("Using HealthPotion because below {0}% HP - have {1}% HP", String.Format("{0}", Settings.potionMinHP), String.Format("{0:##.##}", Player.Instance.HealthPercent));
                    HealthPotion.Cast();
                    return;
                }
                if (Item.HasItem(HuntersPotion.Id) && Item.CanUseItem(HuntersPotion.Id))
                {
                    Debug.WriteChat("Using HuntersPotion because below {0}% HP - have {1}% HP", String.Format("{0}", Settings.potionMinHP), String.Format("{0:##.##}", Player.Instance.HealthPercent));
                    HuntersPotion.Cast();
                    return;
                }
                if (Item.HasItem(TotalBiscuit.Id) && Item.CanUseItem(TotalBiscuit.Id))
                {
                    Debug.WriteChat("Using TotalBiscuitOfRejuvenation because below {0}% HP - have {1}% HP", String.Format("{0}", Settings.potionMinHP), String.Format("{0:##.##}", Player.Instance.HealthPercent));
                    TotalBiscuit.Cast();
                    return;
                }
                if (Item.HasItem(RefillablePotion.Id) && Item.CanUseItem(RefillablePotion.Id))
                {
                    Debug.WriteChat("Using RefillablePotion because below {0}% HP - have {1}% HP", String.Format("{0}", Settings.potionMinHP), String.Format("{0:##.##}", Player.Instance.HealthPercent));
                    RefillablePotion.Cast();
                    return;
                }
                if (Item.HasItem(CorruptingPotion.Id) && Item.CanUseItem(CorruptingPotion.Id))
                {
                    Debug.WriteChat("Using CorruptingPotion because below {0}% HP - have {1}% HP", String.Format("{0}", Settings.potionMinHP), String.Format("{0:##.##}", Player.Instance.HealthPercent));
                    CorruptingPotion.Cast();
                    return;
                }
            }
            if (Settings.Potion && !Player.Instance.IsInShopRange() && Player.Instance.ManaPercent <= Settings.potionMinMP && !(Player.Instance.HasBuff("RegenerationPotion") || Player.Instance.HasBuff("ItemMiniRegenPotion") || Player.Instance.HasBuff("ItemCrystalFlask") || Player.Instance.HasBuff("ItemDarkCrystalFlask")))
            {
                if (Item.HasItem(CorruptingPotion.Id) && Item.CanUseItem(CorruptingPotion.Id))
                {
                    Debug.WriteChat("Using CorruptingPotion because below {0}% MP - have {1}% MP", String.Format("{0}", Settings.potionMinMP), String.Format("{0:##.##}", Player.Instance.ManaPercent));
                    CorruptingPotion.Cast();
                }
                if (Item.HasItem(HuntersPotion.Id) && Item.CanUseItem(HuntersPotion.Id))
                {
                    Debug.WriteChat("Using HuntersPotion because below {0}% HP - have {1}% HP", String.Format("{0}", Settings.potionMinHP), String.Format("{0:##.##}", Player.Instance.HealthPercent));
                    HuntersPotion.Cast();
                    return;
                }
            }
        }
コード例 #22
0
        public override void Execute()
        {
            #region Potion

            if (Settings.EnablePotion && !Player.Instance.IsInShopRange() && Player.Instance.HealthPercent <= Settings.MinHPPotion && !PotionRunning())
            {
                if (Item.HasItem(Utility.HealthPotion.Id) && Item.CanUseItem(Utility.HealthPotion.Id))
                {
                    Utility.HealthPotion.Cast();
                    return;
                }
                if (Item.HasItem(Utility.HuntersPotion.Id) && Item.CanUseItem(Utility.HuntersPotion.Id))
                {
                    Utility.HuntersPotion.Cast();
                    return;
                }
                if (Item.HasItem(Utility.TotalBiscuit.Id) && Item.CanUseItem(Utility.TotalBiscuit.Id))
                {
                    Utility.TotalBiscuit.Cast();
                    return;
                }
                if (Item.HasItem(Utility.RefillablePotion.Id) && Item.CanUseItem(Utility.RefillablePotion.Id))
                {
                    Utility.RefillablePotion.Cast();
                    return;
                }
                if (Item.HasItem(Utility.CorruptingPotion.Id) && Item.CanUseItem(Utility.CorruptingPotion.Id))
                {
                    Utility.CorruptingPotion.Cast();
                    return;
                }
            }

            if (Settings.EnablePotion && !Player.Instance.IsInShopRange() && Player.Instance.ManaPercent <= Settings.MinMPPotion && !PotionRunning())
            {
                if (Item.HasItem(Utility.CorruptingPotion.Id) && Item.CanUseItem(Utility.CorruptingPotion.Id))
                {
                    Utility.CorruptingPotion.Cast();
                    return;
                }
            }

            #endregion

            #region W Logic

            if (W.IsReady())
            {
                if (BardPitt.IsRecalling() || BardPitt.IsInShopRange())
                {
                    return;
                }

                var ally = EntityManager.Heroes.Allies.Where(a => a.IsValidTarget(W.Range) && a.HealthPercent <= Settings.WHeal).OrderBy(a => a.Health).FirstOrDefault();
                if (Settings.UseW && ally != null && BardPitt.ManaPercent >= Settings.WMana && !ally.IsRecalling() && !ally.IsInShopRange())
                {
                    var prediction = W.GetPrediction(ally);
                    W.Cast(prediction.UnitPosition);
                    return;
                }

                if (Settings.UseW && BardPitt.HealthPercent <= Settings.WHeal && BardPitt.ManaPercent > Settings.WMana)
                {
                    W.Cast(BardPitt);
                    return;
                }
            }

            #endregion

            //Q KS

            if (Settings.UseQKS && Q.IsReady())
            {
                foreach (var predictionQ in from target in EntityManager.Heroes.Enemies.Where(
                             hero =>
                             hero.IsValidTarget(Q.Range) && !hero.IsDead && !hero.IsZombie && hero.HealthPercent <= 25) let predictionQ = Q.GetPrediction(target) where target.Health + target.TotalShieldHealth() < ObjectManager.Player.GetSpellDamage(target, SpellSlot.Q) where predictionQ.HitChance >= HitChance.High select predictionQ)
                {
                    Q.Cast(predictionQ.CastPosition);
                    return;
                }
            }

            //Ignite KS
            if (Settings.IgniteKS && HasIgnite && SpellManager.Ignite.IsReady())
            {
                var igniteKs = EntityManager.Heroes.Enemies.FirstOrDefault(e => SpellManager.Ignite.IsInRange(e) && !e.IsDead && e.Health > 0 && !e.IsInvulnerable && e.IsVisible && e.TotalShieldHealth() < Utility.IgniteDmg(e));
                if (igniteKs != null)
                {
                    SpellManager.Ignite.Cast(igniteKs);
                    return;
                }
            }

            #region Smite

            if (HasSmite)
            {
                //Red Smite Combo
                if (Config.Smite.SmiteMenu.SmiteCombo && Smite.Name.Equals("s5_summonersmiteduel") && Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) && Smite.IsReady())
                {
                    foreach (
                        var smiteTarget in
                        EntityManager.Heroes.Enemies
                        .Where(h => h.IsValidTarget(Smite.Range)).Where(h => h.HealthPercent <= Config.Smite.SmiteMenu.RedSmitePercent).OrderByDescending(TargetSelector.GetPriority))
                    {
                        Smite.Cast(smiteTarget);
                        return;
                    }
                }

                // Blue Smite KS
                if (Config.Smite.SmiteMenu.SmiteEnemies && Smite.Name.Equals("s5_summonersmiteplayerganker") && Smite.IsReady())
                {
                    var smiteKs = EntityManager.Heroes.Enemies.FirstOrDefault(e => Smite.IsInRange(e) && !e.IsDead && e.Health > 0 && !e.IsInvulnerable && e.IsVisible && e.TotalShieldHealth() < Utility.SmiteDmgHero(e));
                    if (smiteKs != null)
                    {
                        Smite.Cast(smiteKs);
                        return;
                    }
                }

                // Smite Monsters
                if (!Config.Smite.SmiteMenu.SmiteToggle || !Smite.IsReady())
                {
                    return;
                }
                {
                    var monsters2 =
                        EntityManager.MinionsAndMonsters.GetJungleMonsters(Player.Instance.ServerPosition, Smite.Range)
                        .Where(e => !e.IsDead && e.Health > 0 && Utility.MonstersNames.Contains(e.BaseSkinName) && !e.IsInvulnerable && e.IsVisible && e.Health <= Utility.SmiteDmgMonster(e));
                    foreach (var n in monsters2.Where(n => Config.Smite.SmiteMenu.MainMenu[n.BaseSkinName].Cast <CheckBox>().CurrentValue))
                    {
                        Smite.Cast(n);
                        return;
                    }
                }
            }
            #endregion
        }
コード例 #23
0
        private static void Drawing_OnEndScene(EventArgs args)
        {
            if (PlayerHasSmite && Smite.IsReady() && SummonerMenu.GetCheckBoxValue("drawSmiteDamage"))
            {
                foreach (
                    var jg in
                    EntityManager.MinionsAndMonsters.GetJungleMonsters()
                    .Where(m => m.IsValidTarget(Smite.Range + 400) && m.IsHPBarRendered && !m.Name.Contains("Mini")))
                {
                    if (jg.Name.Contains("Blue"))
                    {
                        Height  = 9;
                        Width   = 142;
                        OffsetX = -4;
                        OffsetY = 7;
                    }

                    if (jg.Name.Contains("Red"))
                    {
                        Height  = 9;
                        Width   = 142;
                        OffsetX = -4;
                        OffsetY = 7;
                    }

                    if (jg.Name.Contains("Dragon"))
                    {
                        Height  = 10;
                        Width   = 143;
                        OffsetX = -4;
                        OffsetY = 8;
                    }

                    if (jg.Name.Contains("Baron"))
                    {
                        Height  = 12;
                        Width   = 191;
                        OffsetX = -29;
                        OffsetY = 6;
                    }

                    if (jg.Name.Contains("Herald"))
                    {
                        Height  = 10;
                        Width   = 142;
                        OffsetX = -4;
                        OffsetY = 7;
                    }

                    if (jg.Name.Contains("Razorbeak"))
                    {
                        Height  = 3;
                        Width   = 74;
                        OffsetX = 30;
                        OffsetY = 7;
                    }

                    if (jg.Name.Contains("Murkwolf"))
                    {
                        Height  = 3;
                        Width   = 74;
                        OffsetX = 30;
                        OffsetY = 7;
                    }

                    if (jg.Name.Contains("Krug"))
                    {
                        Height  = 3;
                        Width   = 80;
                        OffsetX = 27;
                        OffsetY = 7;
                    }

                    if (jg.Name.Contains("Gromp"))
                    {
                        Height  = 3;
                        Width   = 86;
                        OffsetX = 24;
                        OffsetY = 6;
                    }

                    if (jg.Name.Contains("Crab"))
                    {
                        Height  = 2;
                        Width   = 61;
                        OffsetX = 36;
                        OffsetY = 21;
                    }

                    DrawLine(jg);
                }
            }
        }
コード例 #24
0
        public static void KillSteal()
        {
            if (Ignite != null && Config.Spell["eIg"].Cast <CheckBox>().CurrentValue)
            {
                switch (Config.Spell["Igstyle"].Cast <ComboBox>().CurrentValue)
                {
                case 0:
                {
                    var target = EntityManager.Heroes.Enemies.Where(t =>
                                                                    t.IsValidTarget(Ignite.Range) &&
                                                                    t.Health <= Player.Instance.GetSummonerSpellDamage(t, DamageLibrary.SummonerSpells.Ignite)).FirstOrDefault();

                    if (target != null && Config.Spell["Ig" + target.ChampionName].Cast <CheckBox>().CurrentValue&& Ignite.IsReady())
                    {
                        Ignite.Cast(target);
                    }
                }
                break;

                case 1:
                {
                    var target = EntityManager.Heroes.Enemies.Where(t =>
                                                                    t.IsValidTarget(Ignite.Range) &&
                                                                    t.Health <= Player.Instance.GetSummonerSpellDamage(t, DamageLibrary.SummonerSpells.Ignite) / 5).FirstOrDefault();

                    if (target != null && Config.Spell["Ig" + target.ChampionName].Cast <CheckBox>().CurrentValue&& Ignite.IsReady())
                    {
                        Ignite.Cast(target);
                    }
                }
                break;
                }
            }
            if (Smite != null && Config.Spell["esmiteKs"].Cast <CheckBox>().CurrentValue&& Extensions.CanUseOnChamp)
            {
                var target = EntityManager.Heroes.Enemies.Where(t =>
                                                                t.IsValidTarget(Smite.Range) &&
                                                                t.Health <= Player.Instance.GetSummonerSpellDamage(t, DamageLibrary.SummonerSpells.Smite)).FirstOrDefault();

                if (target != null && Config.Spell["Smite" + target.ChampionName].Cast <CheckBox>().CurrentValue&& Smite.IsReady())
                {
                    Smite.Cast(target);
                }
            }
        }
コード例 #25
0
        public override void Execute()
        {
            #region KS

            if (Settings.Igniteks && HasIgnite && SpellManager.Ignite.IsReady())
            {
                var igniteKs = EntityManager.Heroes.Enemies.FirstOrDefault(e => SpellManager.Ignite.IsInRange(e) && !e.IsDead && !e.IsZombie && !e.IsInvulnerable && e.TotalShieldHealth() < Utility.IgniteDmg(e));
                if (igniteKs != null)
                {
                    SpellManager.Ignite.Cast(igniteKs);
                    return;
                }
            }

            if (Settings.Kse && E.IsReady())
            {
                var targete =
                    EntityManager.Heroes.Enemies.FirstOrDefault(
                        a =>
                        a.IsValidTarget(E.Range) &&
                        a.TotalShieldHealth() <= Player.Instance.GetSpellDamage(a, SpellSlot.E) &&
                        !a.IsZombie);

                if (targete != null)
                {
                    E.Cast(targete);
                    return;
                }
            }



            if (Settings.Ksw && W.IsReady())
            {
                var targetw =
                    EntityManager.Heroes.Enemies.FirstOrDefault(
                        a =>
                        a.IsValidTarget(W.Range) &&
                        a.TotalShieldHealth() <= Player.Instance.GetSpellDamage(a, SpellSlot.W) &&
                        !a.IsZombie);

                if (targetw != null)
                {
                    W.Cast(targetw);
                    return;
                }
            }

            if (Settings.Ksq && Q.IsReady())
            {
                var targetq =
                    EntityManager.Heroes.Enemies.FirstOrDefault(
                        a =>
                        a.IsValidTarget(Player.Instance.GetAutoAttackRange() + 75) &&
                        a.TotalShieldHealth() <= Player.Instance.GetSpellDamage(a, SpellSlot.Q) &&
                        !a.IsZombie);

                if (targetq != null &&
                    targetq.Distance(Player.Instance.ServerPosition) <= Player.Instance.GetAutoAttackRange())
                {
                    Q.Cast();
                    Player.IssueOrder(GameObjectOrder.AutoAttack, targetq);
                    return;
                }
            }



            #endregion

            #region Potion

            if (Settings.EnablePotion && !Player.Instance.IsInShopRange() &&
                Player.Instance.HealthPercent <= Settings.MinHPPotion && !PotionRunning())
            {
                if (Item.HasItem(Utility.HealthPotion.Id) && Item.CanUseItem(Utility.HealthPotion.Id))
                {
                    Utility.HealthPotion.Cast();
                    return;
                }
                if (Item.HasItem(Utility.HuntersPotion.Id) && Item.CanUseItem(Utility.HuntersPotion.Id))
                {
                    Utility.HuntersPotion.Cast();
                    return;
                }
                if (Item.HasItem(Utility.TotalBiscuit.Id) && Item.CanUseItem(Utility.TotalBiscuit.Id))
                {
                    Utility.TotalBiscuit.Cast();
                    return;
                }
                if (Item.HasItem(Utility.RefillablePotion.Id) && Item.CanUseItem(Utility.RefillablePotion.Id))
                {
                    Utility.RefillablePotion.Cast();
                    return;
                }
                if (Item.HasItem(Utility.CorruptingPotion.Id) && Item.CanUseItem(Utility.CorruptingPotion.Id))
                {
                    Utility.CorruptingPotion.Cast();
                    return;
                }
            }

            if (Settings.EnablePotion && !Player.Instance.IsInShopRange() &&
                Player.Instance.ManaPercent <= Settings.MinMPPotion && !PotionRunning())
            {
                if (Item.HasItem(Utility.CorruptingPotion.Id) && Item.CanUseItem(Utility.CorruptingPotion.Id))
                {
                    Utility.CorruptingPotion.Cast();
                    return;
                }
            }

            #endregion

            #region Smite

            if (HasSmite)
            {
                //Red Smite Combo
                if (Config.Smite.SmiteMenu.SmiteCombo && Smite.Name.Equals("s5_summonersmiteduel") &&
                    Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) && Smite.IsReady())
                {
                    foreach (
                        var smiteTarget in
                        EntityManager.Heroes.Enemies
                        .Where(h => h.IsValidTarget(Smite.Range))
                        .Where(h => h.HealthPercent <= Config.Smite.SmiteMenu.RedSmitePercent)
                        .OrderByDescending(TargetSelector.GetPriority))
                    {
                        Smite.Cast(smiteTarget);
                        return;
                    }
                }

                // Blue Smite KS
                if (Config.Smite.SmiteMenu.SmiteEnemies && Smite.Name.Equals("s5_summonersmiteplayerganker") &&
                    Smite.IsReady())
                {
                    var smiteKs =
                        EntityManager.Heroes.Enemies.FirstOrDefault(
                            e =>
                            Smite.IsInRange(e) && !e.IsDead && e.Health > 0 && !e.IsInvulnerable && e.IsVisible &&
                            e.TotalShieldHealth() < Utility.SmiteDmgHero(e));
                    if (smiteKs != null)
                    {
                        Smite.Cast(smiteKs);
                        return;
                    }
                }

                // Smite Monsters
                if (!Config.Smite.SmiteMenu.SmiteToggle || !Smite.IsReady())
                {
                    return;
                }
                {
                    var monsters2 =
                        EntityManager.MinionsAndMonsters.GetJungleMonsters(Player.Instance.ServerPosition, Smite.Range)
                        .Where(
                            e =>
                            !e.IsDead && e.Health > 0 && Utility.MonstersNames.Contains(e.BaseSkinName) &&
                            !e.IsInvulnerable && e.IsVisible && e.Health <= Utility.SmiteDmgMonster(e));
                    foreach (
                        var n in
                        monsters2.Where(
                            n => Config.Smite.SmiteMenu.MainMenu[n.BaseSkinName].Cast <CheckBox>().CurrentValue))
                    {
                        Smite.Cast(n);
                        return;
                    }
                }
            }

            #endregion
        }
コード例 #26
0
            //-------------------------------------------------KS--------------------------------------------------

            public static void KS()
            {
                if (Orbwalker.ValidAzirSoldiers.Any())
                {
                    if (Q.IsReady())
                    {
                        var bye = EntityManager.Heroes.Enemies.FirstOrDefault(it => it.IsValidTarget(Q.Range) && SpellDamage(it, SpellSlot.Q) >= it.Health);
                        if (bye != null)
                        {
                            Q.HitChanceCast(bye, 70);
                        }
                    }

                    if (E.IsReady())
                    {
                        var bye = EntityManager.Heroes.Enemies.FirstOrDefault(it => it.IsValidTarget(E.Range) && SpellDamage(it, SpellSlot.E) >= it.Health);
                        if (bye != null)
                        {
                            CastE(bye); return;
                        }
                    }
                }

                else if (W.IsReady())
                {
                    if (Q.IsReady())
                    {
                        var bye = EntityManager.Heroes.Enemies.FirstOrDefault(it => it.IsValidTarget(Q.Range + W.Range - 150) && SpellDamage(it, SpellSlot.Q) + SpellDamage(it, SpellSlot.W) >= it.Health);
                        if (bye != null)
                        {
                            if (W.Cast(CorrectRange(bye.ServerPosition, W.Range)))
                            {
                                Core.DelayAction(() => Q.HitChanceCast(bye, 70), 50);
                            }
                        }
                    }
                }

                if (Menu["KS.r"].Cast <CheckBox>().CurrentValue&& R.IsReady())
                {
                    var bye = EntityManager.Heroes.Enemies.FirstOrDefault(it => it.IsValidTarget(R.Range) && SpellDamage(it, SpellSlot.R) >= it.Health);
                    if (bye != null)
                    {
                        R.HitChanceCast(bye, 70); return;
                    }
                }

                if (Smite != null)
                {
                    if (Smite.Name.Contains("gank") && Smite.IsReady())
                    {
                        var bye = EntityManager.Heroes.Enemies.FirstOrDefault(enemy => enemy.IsValidTarget(Smite.Range) && DamageLibrary.GetSummonerSpellDamage(Player, enemy, DamageLibrary.SummonerSpells.Smite) >= enemy.Health);
                        if (bye != null)
                        {
                            Smite.Cast(bye); return;
                        }
                    }
                }

                var WEnemy = EntityManager.Heroes.Enemies.FirstOrDefault(it => Orbwalker.ValidAzirSoldiers.Any(enemy => enemy.Distance(it) <= 275));

                if (WEnemy != null && SpellDamage(WEnemy, SpellSlot.W) >= WEnemy.Health)
                {
                    EloBuddy.Player.IssueOrder(GameObjectOrder.AttackTo, WEnemy);
                }

                return;
            }
コード例 #27
0
        public static void Draw(EventArgs args)
        {
            try
            {
                if (!CheckBox(Settings.Principal, "Draw"))
                {
                    return;
                }

                Drawing.DrawText(Drawing.WorldToScreen(Player.Instance.Position).X - 40, Drawing.WorldToScreen(Player.Instance.Position).Y + 20, C.Color.White, "Smite");
                Drawing.DrawText(Drawing.WorldToScreen(Player.Instance.Position).X + 12, Drawing.WorldToScreen(Player.Instance.Position).Y + 20, Smite.IsReady() ? C.Color.LimeGreen : C.Color.Red, Smite.IsReady() ? "(Ready)" : "(Cooldown)");

                if (Smite.IsReady())
                {
                    Drawing.DrawCircle(Player.Instance.Position, Smite.Range, C.Color.DarkOrange);

                    foreach (var m in EntityManager.MinionsAndMonsters.GetJungleMonsters(Player.Instance.Position, 3000).Where(x => x.IsHPBarRendered))
                    {
                        if (MNames.Contains(m.CharData.BaseSkinName) || DNames.Contains(m.BaseSkinName))
                        {
                            var Pos   = m.HPBarPosition;
                            var Value = Damage(m) / m.MaxHealth;
                            var Is    = m.CharData.BaseSkinName;

                            if (DNames.Contains(m.BaseSkinName))
                            {
                                var Width = 145;
                                Drawing.DrawLine(new Vector2(Pos.X - 6, Pos.Y + 9), new Vector2(Pos.X - 6 + Width * Value, Pos.Y + 9), 10, C.Color.DarkOrange);
                            }

                            if (Is == "SRU_RiftHerald")
                            {
                                var Width = 145;
                                Drawing.DrawLine(new Vector2(Pos.X - 6, Pos.Y + 6), new Vector2(Pos.X - 6 + Width * Value, Pos.Y + 6), 11, C.Color.DarkOrange);
                            }

                            if (Is == "SRU_Red" || Is == "SRU_Blue")
                            {
                                var Width = 145;
                                Drawing.DrawLine(new Vector2(Pos.X - 4, Pos.Y + 8), new Vector2(Pos.X - 4 + Width * Value, Pos.Y + 8), 11, C.Color.DarkOrange);
                            }

                            if (Is == "SRU_Baron")
                            {
                                var Width = 194;
                                Drawing.DrawLine(new Vector2(Pos.X - 30, Pos.Y + 8), new Vector2(Pos.X - 30 + Width * Value, Pos.Y + 8), 16, C.Color.DarkOrange);
                            }

                            if (Is == "SRU_Gromp")
                            {
                                var Width = 92;
                                Drawing.DrawLine(new Vector2(Pos.X + 21, Pos.Y + 7), new Vector2(Pos.X + 21 + Width * Value, Pos.Y + 7), 4, C.Color.DarkOrange);
                            }

                            if (Is == "SRU_Murkwolf")
                            {
                                var Width = 92;
                                Drawing.DrawLine(new Vector2(Pos.X + 21, Pos.Y + 7), new Vector2(Pos.X + 21 + Width * Value, Pos.Y + 7), 4, C.Color.DarkOrange);
                            }

                            if (Is == "Sru_Crab")
                            {
                                var Width = 61;
                                Drawing.DrawLine(new Vector2(Pos.X + 38, Pos.Y + 22), new Vector2(Pos.X + 38 + Width * Value, Pos.Y + 22), 4, C.Color.DarkOrange);
                            }

                            if (Is == "SRU_Razorbeak")
                            {
                                var Width = 92;
                                Drawing.DrawLine(new Vector2(Pos.X + 21, Pos.Y + 7), new Vector2(Pos.X + 21 + Width * Value, Pos.Y + 7), 4, C.Color.DarkOrange);
                            }

                            if (m.CharData.BaseSkinName == "SRU_Krug")
                            {
                                var Width = 92;
                                Drawing.DrawLine(new Vector2(Pos.X + 21, Pos.Y + 7), new Vector2(Pos.X + 21 + Width * Value, Pos.Y + 7), 4, C.Color.DarkOrange);
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("[DRAWING]: " + e.Message);
            }
        }
コード例 #28
0
        public static void Insec()
        {
            #region Target, Slots, Prediction

            EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos);

            var target = TargetSelector.GetTarget(Q.Range + 800, TargetSelector.DamageType.Physical);
            if (target != null)
            {
                target = TargetSelector.GetSelectedTarget() == null ? target : TargetSelector.SelectedTarget;
            }

            if (target == null)
            {
                return;
            }
            var qpred = Q.GetPrediction(target);

            var col = qpred.CollisionObjects;

            var slot = WardSorter.Wards();
            #endregion

            if (Player.Distance(target) > 500)
            {
                if (Q2() && Q.IsReady() && (R.IsReady() || Environment.TickCount - Lastr < 4000))
                {
                    if (CanQ2())
                    {
                        LeagueSharp.Common.Utility.DelayAction.Add(400, () => Q.Cast());
                    }
                }
            }

            if (Q1() && Player.Distance(target) <= Q.Range)
            {
                OnUpdate.CastSpell(Q, target);
            }


            var poss = InsecPos.WardJumpInsecPosition.InsecPos(target, GetValue("fixedwardrange"), true);
            if (!GetBool("laggy", typeof(bool)))
            {
                var min =
                    SebbyLib.Cache.GetMinions(Player.Position, Q.Range)
                    .Where(
                        x => x.Health > Q.GetDamage(x) + 30 && !x.IsDead);

                foreach (var mins in min.Where(mins => mins.Distance(target) < 800 ||
                                               mins.Distance(poss.To3D()) < 530 ||
                                               (CanWardFlash(target) &&
                                                mins.Distance(target) < 600)).Where(mins => col.Count != 0))
                {
                    if (Q1() && Q.IsReady())
                    {
                        Q.Cast(mins);
                    }
                    if (Q1() && Q.IsReady())
                    {
                        Q.Cast(mins);
                    }

                    if (Q2() && mins.HasBuff("BlindMonkQTwo"))
                    {
                        Q.Cast();
                    }
                }
            }


            if ((Steps == LeeSin.steps.WardJump || Environment.TickCount - Lastwardjump < 1500) && slot != null && W.IsReady() && R.IsReady())
            {
                if (GetValue("fixedwardrange") + Player.ServerPosition.Distance(target.ServerPosition) < 700 &&
                    Environment.TickCount - LastTeleported > 500)
                {
                    WardManager.WardJump.WardJumped(poss.To3D(), false, false);
                    LeeSin.Lastwardjumpd = Environment.TickCount;
                    Canwardflash         = false;
                }
                else if (CanWardFlash(target))
                {
                    Canwardflash = true;
                }
            }

            if (Environment.TickCount - Lastprocessw < 1500 || (Steps == LeeSin.steps.Flash && HasFlash()) ||
                Environment.TickCount - Lastwcasted < 1500 || Player.Distance(poss) < 50)
            {
                if (R.IsReady())
                {
                    R.Cast(target);
                }
            }

            if ((!W.IsReady() || W2()) && !GetBool("prioflash", typeof(bool)) &&
                Environment.TickCount - Lastwcasted > 1500 && LastQ(target))
            {
                Lastflashoverprio = Environment.TickCount;
                R.Cast(target);
            }
            #region Q Smite

            var prediction = Prediction.Prediction.GetPrediction(target, Q.Delay);

            var collision = Q.GetCollision(Player.Position.To2D(),
                                           new List <Vector2> {
                prediction.UnitPosition.To2D()
            });

            foreach (var collisions in collision)
            {
                if (collision.Count == 1)
                {
                    if (collision[0].IsMinion && collision[0].IsEnemy)
                    {
                        if (GetBool("UseSmite", typeof(bool)))
                        {
                            if (Q.IsReady())
                            {
                                if (collision[0].Distance(Player) < 500)
                                {
                                    if (collision[0].Health <= ActiveModes.Smite.GetFuckingSmiteDamage() &&
                                        Smite.IsReady())
                                    {
                                        Q.Cast(prediction.CastPosition);
                                        Player.Spellbook.CastSpell(Smite, collision[0]);
                                    }
                                }
                            }
                        }
                    }
                }
            }

            #endregion
            #region Determine if we want to flash or ward jump

            if (R.IsReady())
            {
                if (slot != null && (W.IsReady() || Environment.TickCount - Lastprocessw < 1500))
                {
                    if (GetBool("prioflash", typeof(bool)) && Player.GetSpellSlot("summonerflash").IsReady())
                    {
                        Steps = LeeSin.steps.Flash;
                        if (Environment.TickCount - Lastqcasted < 600)
                        {
                            Canwardflash = false;
                        }
                        else if (CanWardFlash(target))
                        {
                            Canwardflash = true;
                        }
                    }
                    else if (GetValue("fixedwardrange") + Player.ServerPosition.Distance(target.ServerPosition) < 900)
                    {
                        if (CanWardFlash(target))
                        {
                            Canwardflash = true;
                        }
                        Lastwardjump = Environment.TickCount;
                    }
                }
                else if (GetBool("useflash", typeof(bool)) && target.Distance(Player) < 400 &&
                         Player.GetSpellSlot("SummonerFlash").IsReady() && (slot == null || !W.IsReady() || W2()) &&
                         (Environment.TickCount - Lastwcasted > 2000 || Environment.TickCount - Lastprocessw > 2000))
                {
                    Steps = LeeSin.steps.Flash;
                }
            }

            var wardtotargetpos = Player.Position.Extend(target.Position, Player.Distance(target) - 150);

            if (!Canwardflash)
            {
                return;
            }
            if (Player.HasBuff("BlindMonkQTwodash"))
            {
                return;
            }

            if (Player.Distance(target) < 350 || target.Distance(Player) > 900 ||
                Environment.TickCount - Lastq1Casted < 500 ||
                !CanWardFlash(target) || Environment.TickCount - LeeSin.Lsatcanjump1 < 3000 ||
                target.Buffs.Any(x => x.Name.ToLower().Contains("blindmonkqone")))
            {
                return;
            }



            if (!Checkno1(target))
            {
                return;
            }
            // if ( Q2()) return;
            //  if (!HasFlash()) return;
            if (LastQ(target) &&
                Environment.TickCount - LastTeleported > 500)
            {
                WardManager.WardJump.WardJumped(wardtotargetpos, true, false);
                Wardjumpedto       = Environment.TickCount;
                Wardjumpedtotarget = true;
                Lastflashward      = Environment.TickCount;
            }

            #endregion
        }
コード例 #29
0
ファイル: Jax.cs プロジェクト: 568123745/CN-1
        private void LaneJungClear()
        {
            var minionObj = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.MaxHealth);

            if (minionObj.Count == 0)
            {
                return;
            }
            if (GetValue <bool>("Clear", "E") && E.IsReady() && !Player.HasBuff("JaxEvasion"))
            {
                if (GetValue <bool>("Clear", "Q") && Q.IsReady() && minionObj.Count(i => E.IsInRange(i)) == 0)
                {
                    foreach (var Obj in minionObj)
                    {
                        if (minionObj.Count(i => i.Distance(Obj, true) <= E.RangeSqr) > 1 && E.Cast(PacketCast) && Q.CastOnUnit(Obj, PacketCast))
                        {
                            return;
                        }
                    }
                }
                else if ((minionObj.Count(i => i.MaxHealth >= 1200 && E.IsInRange(i)) > 0 || minionObj.Count(i => E.IsInRange(i)) > 2) && E.Cast(PacketCast))
                {
                    return;
                }
            }
            if (GetValue <bool>("Clear", "W") && W.IsReady() && GetValue <bool>("Clear", "Q") && Q.IsReady() && Player.Mana >= W.Instance.ManaCost + Q.Instance.ManaCost)
            {
                var Obj = minionObj.Find(i => i.MaxHealth >= 1200 && CanKill(i, Q, Q.GetDamage(i) + GetBonusDmg(i)));
                if (Obj != null && W.Cast(PacketCast) && Q.CastOnUnit(Obj, PacketCast))
                {
                    return;
                }
            }
            if (GetValue <bool>("Clear", "Q") && Q.IsReady())
            {
                var Obj = minionObj.Find(i => i.MaxHealth >= 1200 && ((Player.HasBuff("JaxEmpowerTwo") && CanKill(i, Q, Q.GetDamage(i) + GetBonusDmg(i))) || CanKill(i, Q)));
                if (Obj == null && (minionObj.Count(i => Player.Distance(i, true) <= Math.Pow(Orbwalk.GetAutoAttackRange(Player, i) + 40, 2)) == 0 || (GetValue <bool>("Clear", "E") && E.IsReady() && Player.HasBuff("JaxEvasion") && minionObj.Count(i => E.IsInRange(i)) == 0)))
                {
                    Obj = minionObj.MinOrDefault(i => i.Health);
                }
                if (Obj != null && Q.CastOnUnit(Obj, PacketCast))
                {
                    return;
                }
            }
            if (GetValue <bool>("Clear", "Item"))
            {
                var Item = Hydra.IsReady() ? Hydra : Tiamat;
                if (Item.IsReady() && (minionObj.Count(i => Item.IsInRange(i)) > 2 || minionObj.Any(i => i.MaxHealth >= 1200 && i.Distance(Player, true) <= Math.Pow(Item.Range - 80, 2))) && Item.Cast())
                {
                    return;
                }
            }
            if (GetValue <bool>("SmiteMob", "Smite") && Smite.IsReady())
            {
                var Obj = minionObj.Find(i => i.Team == GameObjectTeam.Neutral && CanSmiteMob(i.Name));
                if (Obj != null && CastSmite(Obj))
                {
                    return;
                }
            }
        }
コード例 #30
0
ファイル: AutoSmite.cs プロジェクト: 09samed09/LeagueSharp2
        private void ActivatorsLoaded(object o)
        {
            try
            {
                if (o is Activators && (o as Activators).Menu != null)
                {
                    _activators = (o as Activators);

                    Menu = new Menu(Name, Name);

                    var spellsMenu = new Menu("Spells", Name + "Spells");
                    spellsMenu.AddItem(new MenuItem(Name + "SpellsSmite", "Use Smite").SetValue(true));
                    spellsMenu.AddItem(new MenuItem(Name + "SpellsNunu", "Use Nunu Q").SetValue(true));
                    spellsMenu.AddItem(new MenuItem(Name + "SpellsChogath", "Use Cho'Gath R").SetValue(true));
                    spellsMenu.AddItem(new MenuItem(Name + "SpellsOlaf", "Use Olaf E").SetValue(true));

                    var drawingMenu = new Menu("Drawing", Name + "Drawing");
                    drawingMenu.AddItem(new MenuItem(Name + "DrawingUseableColor", "Useable Color").SetValue(Color.Blue));
                    drawingMenu.AddItem(
                        new MenuItem(Name + "DrawingUnusableColor", "Unusable Color").SetValue(Color.Gray));
                    drawingMenu.AddItem(new MenuItem(Name + "DrawingDamageColor", "Damage Color").SetValue(Color.SkyBlue));
                    drawingMenu.AddItem(new MenuItem(Name + "DrawingSmiteRange", "Smite Range").SetValue(true));
                    drawingMenu.AddItem(new MenuItem(Name + "DrawingHeroSpellsRange", "Hero Spells Range").SetValue(true));
                    drawingMenu.AddItem(new MenuItem(Name + "DrawingDamageTillSmite", "Damage till Smite").SetValue(true));

                    Menu.AddSubMenu(spellsMenu);
                    Menu.AddSubMenu(drawingMenu);

                    Menu.AddItem(new MenuItem(Name + "BigCamps", "Big Camps").SetValue(true));
                    Menu.AddItem(new MenuItem(Name + "SmallCamps", "Small Camps").SetValue(false));
                    //                    Menu.AddItem(new MenuItem(Name + "PacketCasting", "Packet Casting").SetValue(false));
                    Menu.AddItem(
                        new MenuItem(Name + "Enabled", "Enabled").SetValue(new KeyBind('N', KeyBindType.Toggle, true)));

                    _activators.Menu.AddSubMenu(Menu);

                    if (IsValidMap)
                    {
                        Utility.Map.MapType map = Utility.Map.GetMap().Type;

                        if (map == Utility.Map.MapType.SummonersRift)
                        {
                            _bigMinionNames = new[] {"SRU_Blue", "SRU_Red", "SRU_Baron", "SRU_Dragon"};
                            _smallMinionNames = new[] {"SRU_Razorbeak", "SRU_Krug", "SRU_Murkwolf", "SRU_Gromp", "SRU_Crab"};
                        }
                        else if (map == Utility.Map.MapType.TwistedTreeline)
                        {
                            _bigMinionNames = new[] {"TT_Spiderboss"};
                            _smallMinionNames = new[] {"TT_NWraith", "TT_NGolem", "TT_NWolf"};
                        }

                        _smite = new Smite();
                        _heroSpells = new List<HeroSpell>
                        {
                            new HeroSpell("Nunu", SpellSlot.Q, 155),
                            new HeroSpell("Chogath", SpellSlot.R, 175),
                            new HeroSpell("Olaf", SpellSlot.E, 325)
                        };
                        _heroSpell = _heroSpells.FirstOrDefault(s => s.Available);

                        Game.OnGameUpdate += OnGameUpdate;
                        Drawing.OnDraw += OnDraw;

                        Initialized = true;
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.WriteBlock(ex.Message, ex.ToString());
            }
        }
コード例 #31
0
ファイル: Program.cs プロジェクト: lolscripts/wu
            //-------------------------------------------------KS--------------------------------------------------

            public static void KS()
            {
                if (Q.IsReady() && E.IsReady())
                {
                    var bye = EntityManager.Heroes.Enemies.FirstOrDefault(enemy => enemy.IsValidTarget(Q.Range) && SpellDamage(enemy, SpellSlot.Q) + SpellDamage(enemy, SpellSlot.E) >= enemy.Health);
                    if (bye != null)
                    {
                        if (Q.Cast(bye))
                        {
                            var delay = (int)(Game.Ping + Q.CastDelay + (Player.Distance(bye) / QSpeed * 1000));

                            Core.DelayAction(() => E.Cast(bye), delay);

                            return;
                        }
                    }
                }

                if (Q.IsReady())
                {
                    var bye = EntityManager.Heroes.Enemies.FirstOrDefault(enemy => enemy.IsValidTarget(Q.Range) && SpellDamage(enemy, SpellSlot.Q) >= enemy.Health);
                    if (bye != null)
                    {
                        Q.Cast(bye); return;
                    }
                }

                if (E.IsReady())
                {
                    var bye = EntityManager.Heroes.Enemies.FirstOrDefault(enemy => enemy.IsValidTarget(E.Range) && SpellDamage(enemy, SpellSlot.E) >= enemy.Health);
                    if (bye != null)
                    {
                        E.Cast(bye); return;
                    }
                }

                if (R.IsReady())
                {
                    var bye = EntityManager.Heroes.Enemies.FirstOrDefault(enemy => enemy.IsValidTarget(900) && SpellDamage(enemy, SpellSlot.R) >= enemy.Health);
                    if (bye != null)
                    {
                        var RPred = R.GetPrediction(bye);

                        if (RPred.HitChancePercent >= 75)
                        {
                            R.Cast(RPred.CastPosition); return;
                        }
                    }
                }

                if (Smite != null)
                {
                    if (Smite.Name.Contains("gank") && Smite.IsReady())
                    {
                        var bye = EntityManager.Heroes.Enemies.FirstOrDefault(enemy => enemy.IsValidTarget(Smite.Range) && DamageLibrary.GetSummonerSpellDamage(Player, enemy, DamageLibrary.SummonerSpells.Smite) >= enemy.Health);
                        if (bye != null)
                        {
                            Smite.Cast(bye); return;
                        }
                    }
                }
            }