Esempio n. 1
0
        /// <summary>
        ///     The cast R.
        /// </summary>
        private static void CastR()
        {
            var target = Variables.TargetSelector.GetTarget(Q1.Range);

            if (R.IsReady() && ComboR.Value && target.IsValidTarget())
            {
                if (RangeForm())
                {
                    if (!Q.IsReady() && !W.IsReady() && (HammerQ_CD_R == 0) && (target.DistanceToPlayer() < Q1.Range))
                    {
                        R.Cast();
                    }
                }
                else
                {
                    if (!Q1.IsReady() && !W1.IsReady() && (CannonQ_CD_R == 0) &&
                        ((CannonW_CD_R == 0) || (CannonE_CD_R == 0)))
                    {
                        R.Cast();
                    }

                    if (!Q1.IsReady() && !W1.IsReady() && !E1.IsReady())
                    {
                        R.Cast();
                    }
                }
            }
        }
Esempio n. 2
0
        private void Jungle()
        {
            if (Program.LaneClear && Player.Mana > RMANA + WMANA + WMANA)
            {
                var mobs = Cache.GetMinions(Player.ServerPosition, 700, MinionTeam.Neutral);
                if (mobs.Count > 0)
                {
                    var mob = mobs[0];
                    if (Range)
                    {
                        if (Q.IsReady() && Config.Item("jungleQ", true).GetValue <bool>())
                        {
                            Q.Cast(mob.ServerPosition);
                            return;
                        }
                        if (W.IsReady() && Config.Item("jungleE", true).GetValue <bool>())
                        {
                            if (SebbyLib.Orbwalking.InAutoAttackRange(mob))
                            {
                                W.Cast();
                            }
                            return;
                        }
                        if (Config.Item("jungleR", true).GetValue <bool>())
                        {
                            R.Cast();
                        }
                    }
                    else
                    {
                        if (Q1.IsReady() && Config.Item("jungleQm", true).GetValue <bool>() && mob.IsValidTarget(Q1.Range))
                        {
                            Q1.Cast(mob);
                            return;
                        }

                        if (W1.IsReady() && Config.Item("jungleWm", true).GetValue <bool>())
                        {
                            if (mob.IsValidTarget(300))
                            {
                                W.Cast();
                            }
                            return;
                        }
                        if (E1.IsReady() && Config.Item("jungleEm", true).GetValue <bool>() && mob.IsValidTarget(E1.Range))
                        {
                            if (mob.IsValidTarget(E1.Range))
                            {
                                E1.Cast(mob);
                            }
                            return;
                        }
                        if (Config.Item("jungleR", true).GetValue <bool>())
                        {
                            R.Cast();
                        }
                    }
                }
            }
        }
Esempio n. 3
0
 private void Jungle()
 {
     if (Program.LaneClear && Player.Mana > RMANA + QMANA)
     {
         var mobs = Cache.GetMinions(Player.ServerPosition, 650, MinionTeam.Neutral);
         if (mobs.Count > 0)
         {
             var mob = mobs[0];
             if (Q1.IsReady() && Config.Item("jungleQ", true).GetValue <bool>())
             {
                 Q1.Cast(mob.ServerPosition);
                 return;
             }
             else if (E.IsReady() && Config.Item("jungleE", true).GetValue <bool>())
             {
                 E.Cast(mob.ServerPosition);
                 return;
             }
             else if (W.IsReady() && Config.Item("jungleW", true).GetValue <bool>())
             {
                 W.Cast();
                 return;
             }
         }
     }
 }
Esempio n. 4
0
        public override void Execute()
        {
            var minion =
                EntityManager.MinionsAndMonsters.GetLaneMinions()
                .OrderByDescending(m => m.Health)
                .FirstOrDefault(m => m.IsValidTarget(Q3.Range));

            if (minion == null)
            {
                return;
            }

            if (Q1.IsReady() && minion.IsValidTarget(Q3.Range) && Settings.UseQ)
            {
                Functions.CastQ(minion);
            }

            if (E.IsReady() && minion.IsValidTarget(E.Range) && Settings.UseE)
            {
                E.Cast(minion);
            }

            if (W.IsReady() && minion.IsValidTarget(W.Range) && Settings.UseW)
            {
                W.Cast();
            }
        }
Esempio n. 5
0
        public override void Execute()
        {
            var target = TargetSelector.GetTarget(Q3.Range, DamageType.Magical);

            if (target == null || target.IsZombie)
            {
                return;
            }

            if (Q1.IsReady() && target.IsValidTarget(Q3.Range) && Settings.UseQ && !E.IsReady())
            {
                Functions.CastQ(target);
            }

            if (E.IsReady() && target.IsValidTarget(E.Range) && Settings.UseE)
            {
                E.Cast(target);
            }

            if (W.IsReady() && target.IsValidTarget(W.Range) && Settings.UseW)
            {
                W.Cast();
            }

            if (R.IsReady() && Settings.UseR)
            {
                var targetR = TargetSelector.GetTarget(R.Range, DamageType.Magical);
                if (target == null || target.IsZombie)
                {
                    return;
                }

                R.Cast(targetR);
            }
        }
Esempio n. 6
0
        /// <summary>
        /// The on draw.
        /// </summary>
        /// <param name="args">
        /// The args.
        /// </param>
        private static void OnDraw(EventArgs args)
        {
            foreach (var Enemy in GameObjects.EnemyHeroes.Where(x => x.IsValidTarget(2000)))
            {
                if (DrawDmg.Value)
                {
                    Indicator.Unit = Enemy;
                    Indicator.DrawDmg((float)ComboDamage(Enemy), Color.DarkRed);
                }
            }

            if (RangeForm())
            {
                if (CannonQERange.Value && QE.IsReady() && E.IsReady())
                {
                    Render.Circle.DrawCircle(ObjectManager.Player.Position, QE.Range, System.Drawing.Color.Aqua, 2);
                }
                if (CannonQRange.Value && Q.IsReady())
                {
                    Render.Circle.DrawCircle(ObjectManager.Player.Position, Q.Range, System.Drawing.Color.Cyan, 2);
                }
            }
            else
            {
                if (HammerQRange.Value && Q1.IsReady())
                {
                    Render.Circle.DrawCircle(ObjectManager.Player.Position, Q1.Range, System.Drawing.Color.IndianRed, 2);
                }
            }
        }
Esempio n. 7
0
        //c
        public static void Combo()
        {
            var Target = TargetSelector.GetTarget(Q1.Range, DamageType.Physical);

            if (Target == null)
            {
                return;
            }
            var useQ  = ModesMenu1["ComboQ"].Cast <CheckBox>().CurrentValue;
            var useQ2 = ModesMenu1["ComboQ2"].Cast <CheckBox>().CurrentValue;
            var Qp    = Q1.GetPrediction(Target);

            if (!Target.IsValid())
            {
                return;
            }
            if (Q1.IsReady() && useQ && !Target.IsInvulnerable && Q1.Name.Equals("BlindMonkQOne", StringComparison.InvariantCultureIgnoreCase))
            {
                if (Qp.HitChance >= HitChance.High)
                {
                    Q1.Cast(Qp.CastPosition);
                }
            }

            if (Q2.IsReady() && useQ2 && !Target.IsInvulnerable && Q2.Name.Equals("blindmonkqtwo", StringComparison.InvariantCultureIgnoreCase))
            {
                Q2.Cast();
            }
        }
Esempio n. 8
0
        static void Misc()
        {
            if (misc.check("QKS") && Q1.IsReady())
            {
                var target = TargetSelector.GetTarget(Q1.Range, DamageType.Physical);

                if (target != null && Q1.GetDamage(target) > target.Health)
                {
                    Q1.CastIfHitchanceMinimum(target, hitchance);
                }
            }

            if (misc.check("AUTOPOT") && !myhero.HasBuffOfType(BuffType.Heal) && myhero.HealthPercent <= slider(misc, "POTMIN") && !myhero.InShop())
            {
                if (Items.CanUseItem(myhero, Potion.Id))
                {
                    Potion.Cast();
                }

                else if (Items.CanUseItem(myhero, Biscuit.Id))
                {
                    Biscuit.Cast();
                }

                else if (Items.CanUseItem(myhero, RPotion.Id))
                {
                    RPotion.Cast();
                }

                else if (Items.CanUseItem(myhero, CPotion.Id))
                {
                    CPotion.Cast();
                }
            }
        }
Esempio n. 9
0
        /// <summary>
        ///     The cast qe hammer.
        /// </summary>
        private static void CastQEHammer()
        {
            var Enemies = GameObjects.EnemyHeroes.Where(x => (x != null) && x.IsValidTarget());

            foreach (var Enemy in
                     Enemies.Where(x => x.IsValidTarget(E1.Range) && (Q1.GetDamage(x) + HammerEDmg(x) > x.Health)))
            {
                if (RangeForm())
                {
                    if (R.IsReady())
                    {
                        R.Cast();
                    }
                }
                else
                {
                    if (Q1.IsReady() && E1.IsReady())
                    {
                        Q1.Cast(Enemy);
                        if (E1.IsReady())
                        {
                            E1.Cast();
                        }
                    }
                }
            }
        }
Esempio n. 10
0
        private static void AutoSpells(EventArgs args)
        {
            //E
            Edetonation();
            //R
            Actives();
            if (Config.Item("semi-ult").GetValue <KeyBind>().Active)
            {
                var target = TargetSelector.GetTarget(R1.Range, TargetSelector.DamageType.Magical);
                if (target == null || !target.IsValid)
                {
                    return;
                }
                if (R1.IsReady())
                {
                    SpellCast(target, R1.Range, R1, false, 1, false, PredR("prediction.R"));
                }
            }
            if (Config.Item("semi-w").GetValue <KeyBind>().Active)
            {
                var ally = HeroManager.Allies.Where(a => a.IsValid && !a.IsMinion && !a.IsMe).OrderBy(a => a.Distance(Game.CursorPosRaw)).FirstOrDefault();
                if (W1.IsReady())
                {
                    W1.Cast(ally);
                }
            }

            if (Q1.IsReady() && Config.Item("autospells.Q.cc").GetValue <bool>())
            {
                var target = TargetSelector.GetTarget(Q1.Range, TargetSelector.DamageType.Magical);
                if (target == null || !target.IsValid)
                {
                    return;
                }
                var cc = target.HasBuffOfType(BuffType.Snare) ||
                         target.HasBuffOfType(BuffType.Suppression) ||
                         target.HasBuffOfType(BuffType.Taunt) ||
                         target.HasBuffOfType(BuffType.Stun) ||
                         target.HasBuffOfType(BuffType.Charm) ||
                         target.HasBuffOfType(BuffType.Fear);
            }

            if (Q1.IsReady() && Config.Item("autospells.Q.collision").GetValue <bool>())
            {
                var enemies = HeroManager.Enemies.Where(e => e.IsValidTarget(Q1.Range));
                foreach (var enemy in enemies)
                {
                    if (enemy == null)
                    {
                        return;
                    }
                    var collisionobjects = Q1.GetPrediction(enemy).CollisionObjects.Where(c => c.IsEnemy && !c.IsMinion);
                    if (collisionobjects.Count() == 1)
                    {
                        Q1.Cast(enemy);
                    }
                }
            }
        }
Esempio n. 11
0
 public override void useQ(Obj_AI_Base target)
 {
     if (!Q1.IsReady() || target == null || player.IsInvulnerable)
     {
         return;
     }
     Q1.Cast();
 }
Esempio n. 12
0
            public static float ComboDamage(AIHeroClient target, bool r = true)
            {
                var qdmg = Q1.IsReady() ? QDamage(target) : 0;
                var wdmg = W.IsReady() ? WDamage(target) : 0;
                var edmg = E.IsReady() ? EDamage(target) : 0;
                var rdmg = r ? R.IsReady() ? RDamage(target) : VitalManager.VitalDamage(target) : VitalManager.VitalDamage(target);

                return(qdmg + wdmg + edmg + rdmg);
            }
Esempio n. 13
0
        public override void farm()
        {
            var minions = ObjectManager.Get <Obj_AI_Minion>().Where(x => x.IsEnemy && x.Distance(player.Position) <= 250f);

            if (minions.Count() >= 2 &&
                !player.IsInvulnerable &&
                Q1.IsReady())
            {
                Q1.Cast();
            }
        }
Esempio n. 14
0
        /// <summary>
        ///     The cast q hammer.
        /// </summary>
        private static void CastQHammer()
        {
            if (Q1.IsReady())
            {
                var Enemies = GameObjects.EnemyHeroes.Where(x => (x != null) && x.IsValidTarget());

                foreach (var Enemy in Enemies.Where(x => x.IsValidTarget(Q1.Range) && (Q1.GetDamage(x) > x.Health)))
                {
                    Q1.Cast(Enemy);
                }
            }
        }
Esempio n. 15
0
        /// <summary>
        ///     The cast Q melee.
        /// </summary>
        private static void CastQMelee()
        {
            var Minions = GameObjects.JungleLarge.Where(x => x.IsValidTarget(Q1.Range));

            foreach (var Minion in Minions)
            {
                if (Q1.IsReady())
                {
                    Q1.Cast(Minion);
                }
            }
        }
Esempio n. 16
0
        static void SpamQ()
        {
            if (misc.check("HQ") && Q1.IsReady())
            {
                var target = TargetSelector.GetTarget(Q1.Range, DamageType.Physical);

                if (target != null && target.DistanceToPlayer() < Q1.Range)
                {
                    Q1.CastIfHitchanceMinimum(target, hitchance, true);
                }
            }
        }
Esempio n. 17
0
        /// <summary>
        ///     The cast Q melee.
        /// </summary>
        private static void CastQMelee()
        {
            var target = Variables.TargetSelector.GetTarget(Q1.Range, DamageType.Physical);

            if (target != null)
            {
                if (Q1.IsReady() && target.IsValidTarget(Q1.Range))
                {
                    Q1.Cast(target);
                }
            }
        }
Esempio n. 18
0
        private void FleeMode()
        {
            if (Range)
            {
                if (E.IsReady())
                {
                    E.Cast(Player.Position.Extend(Game.CursorPos, 150));
                }
                else if (R.IsReady())
                {
                    R.Cast();
                }
            }
            else
            {
                if (Q1.IsReady())
                {
                    var mobs = Cache.GetMinions(Player.ServerPosition, Q1.Range);


                    if (mobs.Count > 0)
                    {
                        Obj_AI_Base best;
                        best = mobs[0];

                        foreach (var mob in mobs.Where(mob => mob.IsValidTarget(Q1.Range)))
                        {
                            if (mob.Distance(Game.CursorPos) < best.Distance(Game.CursorPos))
                            {
                                best = mob;
                            }
                        }
                        if (best.Distance(Game.CursorPos) + 200 < Player.Distance(Game.CursorPos))
                        {
                            Q1.Cast(best);
                        }
                    }
                    else if (R.IsReady())
                    {
                        R.Cast();
                    }
                }
                else if (R.IsReady())
                {
                    R.Cast();
                }
            }
            //Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos);
        }
Esempio n. 19
0
 public override void Execute()
 {
     if (Settings.UseE)
     {
         AIHeroClient target = TargetSelector.GetTarget(E.Range, DamageType.Physical);
         if (target != null)
         {
             PredictionResult pred = E.GetPrediction(target);
             if (pred.HitChancePercent >= 80)
             {
                 E.Cast(target);
             }
         }
     }
     if (Settings.UseQ && Q1.IsReady())
     {
         //EntityManager.Heroes.Enemies.ForEach(e => e.Buffs.ForEach(b=>Logger.Debug(b.Name)));
         AIHeroClient target = EntityManager.Heroes.Enemies.Where
                                   (hero => hero.Distance(Player.Instance) < 1200 && hero.HasBuff("urgotcorrosivedebuff"))
                               .OrderByDescending(TargetSelector.GetPriority)
                               .FirstOrDefault();
         if (target != null)
         {
             Q2.Cast(target);
         }
         else
         {
             target = TargetSelector.GetTarget(Q1.Range, DamageType.Physical);
             if (target != null)
             {
                 Q1.Cast(target);
             }
         }
     }
     if (Settings.UseR && R.IsReady())
     {
         AIHeroClient target = TargetSelector.GetTarget(R.Range, DamageType.Mixed);
         if (target == null)
         {
             return;
         }
         if (EntityManager.Heroes.Allies.Count(o => o.Distance(Player.Instance) <= o.GetAutoAttackRange()) >
             EntityManager.Heroes.Enemies.Count(o => o.Distance(target) <= o.GetAutoAttackRange()) && !target.IsUnderHisturret())
         {
             //Should I ever use R during combo?
             R.Cast(target);
         }
     }
 }
Esempio n. 20
0
        private static void JungleClear()
        {
            var jungleMinions = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.Neutral,
                                                         MinionOrderTypes.MaxHealth);

            foreach (var minion in jungleMinions)
            {
                if (Human())
                {
                    if (Q.IsReady())
                    {
                        Q.CastOnUnit(minion);
                    }

                    if (W.IsReady())
                    {
                        if (W.GetPrediction(minion).CollisionObjects.Count >= 1)
                        {
                            W.Cast(minion);
                        }

                        else
                        {
                            W.Cast(minion);
                        }
                    }

                    if (!Q.IsReady() && !W.IsReady() && R.IsReady())
                    {
                        R.Cast();
                    }
                }
                else
                {
                    if (Q1.IsReady())
                    {
                        Q1.CastOnUnit(minion);
                    }

                    if (realcdSQ > 1 && realcdSW > 1 && !Player.HasBuff("EliseSpiderW") && R.IsReady())
                    {
                        if (realcdQ < 1 || realcdW < 1)
                        {
                            R.Cast();
                        }
                    }
                }
            }
        }
Esempio n. 21
0
        private void Game_OnGameUpdate(EventArgs args)
        {
            if (Program.LagFree(0))
            {
                SetMana();
                Jungle();
            }
            if (Program.LagFree(1) && E.IsReady())
            {
                LogicE();
            }
            if (Program.LagFree(2) && Q1.IsReady() && Config.Item("autoQ", true).GetValue <bool>())
            {
                LogicQ();
            }
            if (Program.LagFree(3) && W.IsReady() && Config.Item("autoW", true).GetValue <bool>())
            {
                LogicW();
            }


            if (R.IsReady())
            {
                if (Program.LagFree(4) && Config.Item("autoR", true).GetValue <bool>())
                {
                    LogicR();
                }

                if (Config.Item("useR", true).GetValue <KeyBind>().Active)
                {
                    var t = TargetSelector.GetTarget(2500, TargetSelector.DamageType.Magical);
                    if (t.IsValidTarget())
                    {
                        R.Cast(t, true, true);
                    }
                }
                if (Config.Item("Rjungle", true).GetValue <bool>())
                {
                    KsJungle();
                }
            }
            else
            {
                DragonTime = 0;
            }
        }
Esempio n. 22
0
        private static void FarmMethod()
        {
            var mana  = Config.Item("laneclear.mana.slider").GetValue <Slider>().Value;
            var level = Config.Item("laneclear.level").GetValue <Slider>().Value;

            if (player.ManaPercent < mana || player.Level < level)
            {
                return;
            }

            var eminions = Config.Item("laneclear.E.count").GetValue <Slider>().Value;
            var qminions = Config.Item("laneclear.Q.count").GetValue <Slider>().Value;

            var minions = MinionManager.GetMinions(E1.Range, MinionTypes.All, MinionTeam.Enemy).Where(m => m.IsValid &&
                                                                                                      m.Distance(Player) < E1.Range).ToList();
            var aaminions = MinionManager.GetMinions(E1.Range, MinionTypes.All, MinionTeam.Enemy).Where(m => m.IsValid &&
                                                                                                        m.Distance(Player) < Orbwalking.GetRealAutoAttackRange(player)).ToList();

            var efarmpos = E1.GetCircularFarmLocation(new List <AIBaseClient>(minions), E1.Width);

            if (efarmpos.MinionsHit >= eminions &&
                E1.IsReady() && Config.Item("laneclear.E").GetValue <bool>() && Environment.TickCount - Q1.LastCastAttemptT > 450)
            {
                E1.Cast(efarmpos.Position);
            }

            var qfarmpos = Q1.GetLineFarmLocation(new List <AIBaseClient>(minions), Q1.Width);

            if (qfarmpos.MinionsHit >= qminions &&
                Q1.IsReady() && Config.Item("laneclear.Q").GetValue <bool>() && Environment.TickCount - E1.LastCastAttemptT > 450)
            {
                Q1.Cast(qfarmpos.Position);
            }

            foreach (var minion in aaminions.Where(m => m.IsMinion && !m.IsDead &&
                                                   m.HasBuff("luxilluminatingfraulein")))
            {
                if (minion.IsValid)
                {
                    Player.IssueOrder(GameObjectOrder.AttackUnit, minion);
                }
            }
        }
Esempio n. 23
0
        public override void OnDraw(EventArgs args)
        {
            var draw = Features.Find(f => f.NameFeature == "Draw");

            if (draw.IsChecked("disable"))
            {
                DamageIndicator.Enabled = false;
                return;
            }

            if (!spiderForm)
            {
                if (draw.IsChecked("draw.q"))
                {
                    Circle.Draw(Q1.IsReady() ? Color.Blue : Color.Red, Q1.Range, Player.Instance.Position);
                }

                if (draw.IsChecked("draw.w"))
                {
                    Circle.Draw(W1.IsReady() ? Color.Blue : Color.Red, W1.Range, Player.Instance.Position);
                }

                if (draw.IsChecked("draw.e"))
                {
                    Circle.Draw(E1.IsReady() ? Color.Blue : Color.Red, E1.Range, Player.Instance.Position);
                }
            }
            else
            {
                if (draw.IsChecked("draw.q"))
                {
                    Circle.Draw(Q2.IsReady() ? Color.Blue : Color.Red, Q2.Range, Player.Instance.Position);
                }

                if (draw.IsChecked("draw.e"))
                {
                    Circle.Draw(E2.IsReady() ? Color.Blue : Color.Red, E2.Range, Player.Instance.Position);
                }
            }

            DamageIndicator.Enabled = draw.IsChecked("dmgIndicator");
        }
Esempio n. 24
0
 public override void Execute()
 {
     if (Player.Instance.ManaPercent < 25)
     {
         return;
     }
     // TODO: Add harass logic here
     // See how I used the Settings.UseQ and Settings.Mana here, this is why I love
     // my way of using the menu in the Config class!
     if (Settings.UseE)
     {
         AIHeroClient target = TargetSelector.GetTarget(E.Range, DamageType.Physical);
         if (target != null)
         {
             PredictionResult pred = E.GetPrediction(target);
             if (pred.HitChancePercent >= 80)
             {
                 E.Cast(target);
             }
         }
     }
     if (Settings.UseQ && Q1.IsReady())
     {
         //EntityManager.Heroes.Enemies.ForEach(e => e.Buffs.ForEach(b=>Logger.Debug(b.Name)));
         AIHeroClient target = EntityManager.Heroes.Enemies.Where
                                   (hero => hero.Distance(Player.Instance) < 1200 && hero.HasBuff("urgotcorrosivedebuff"))
                               .OrderBy(TargetSelector.GetPriority)
                               .FirstOrDefault();
         if (target != null)
         {
             Q2.Cast(target);
         }
         else
         {
             target = TargetSelector.GetTarget(Q1.Range, DamageType.Physical);
             if (target != null)
             {
                 Q1.Cast(target);
             }
         }
     }
 }
Esempio n. 25
0
        public static float CalcDamage(Obj_AI_Base target)
        {
            //Calculate Combo Damage
            var aa     = player.GetAutoAttackDamage(target);
            var damage = aa;

            Ignite = player.GetSpellSlot("summonerdot");

            if (Ignite.IsReady())
            {
                damage += player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite);
            }

            if (Config.Item("combo.E").GetValue <bool>()) // edamage
            {
                if (E1.IsReady())
                {
                    damage += E1.GetDamage(target);
                }
            }
            if (target.HasBuff("luxilluminatingfraulein"))
            {
                damage += aa + player.CalcDamage(target, Damage.DamageType.Magical,
                                                 10 + (8 * player.Level) + 0.2 * player.FlatMagicDamageMod);
            }
            if (player.HasBuff("lichbane"))
            {
                damage += player.CalcDamage(target, Damage.DamageType.Magical,
                                            (player.BaseAttackDamage * 0.75) + ((player.BaseAbilityDamage + player.FlatMagicDamageMod) * 0.5));
            }
            if (R1.IsReady()) // rdamage
            {
                damage += R1.GetDamage(target);
            }

            if (Q1.IsReady())
            {
                damage += Q1.GetDamage(target);
            }
            return((float)damage);
        }
Esempio n. 26
0
        private static void JungleMethod()
        {
            var mana = Config.Item("jungleclear.mana.slider").GetValue <Slider>().Value;

            if (player.ManaPercent < mana)
            {
                return;
            }

            var minions = MinionManager.GetMinions(E1.Range, MinionTypes.All, MinionTeam.Neutral).Where(m => m.IsValid &&
                                                                                                        m.Distance(Player) < E1.Range && m != null).OrderBy(m => m.MaxHealth);
            var aaminions = MinionManager.GetMinions(E1.Range, MinionTypes.All, MinionTeam.Neutral).Where(m => m.IsValid &&
                                                                                                          m.Distance(Player) < Orbwalking.GetRealAutoAttackRange(player) && m != null).OrderBy(m => m.MaxHealth);

            var efarmpos = E1.GetCircularFarmLocation(new List <Obj_AI_Base>(minions), E1.Width);

            if (efarmpos.MinionsHit >= 1 &&
                E1.IsReady() && Config.Item("jungleclear.E").GetValue <bool>() && Environment.TickCount - Q1.LastCastAttemptT > 450)
            {
                E1.Cast(efarmpos.Position);
            }

            var qfarmpos = Q1.GetLineFarmLocation(new List <Obj_AI_Base>(minions), Q1.Width);

            if (qfarmpos.MinionsHit >= 1 &&
                Q1.IsReady() && Config.Item("jungleclear.Q").GetValue <bool>() && Environment.TickCount - E1.LastCastAttemptT > 450)
            {
                Q1.Cast(qfarmpos.Position);
            }

            foreach (var minion in aaminions.Where(m => m.IsMinion && !m.IsDead &&
                                                   m.HasBuff("luxilluminatingfraulein")))
            {
                if (minion.IsValid && minion != null)
                {
                    EloBuddy.Player.IssueOrder(GameObjectOrder.AutoAttack, minion);
                }
            }
        }
Esempio n. 27
0
        private static void OnDraw(EventArgs args)
        {
            if (myhero.IsDead)
            {
                return;
            }


            if (draw.check("dq") && (draw.check("drdy") ? Q1.IsReady() : true))
            {
                Render.Circle.DrawCircle(myhero.Position, Q1.Range, Color.Red, 5, true);
            }

            if (draw.check("dw") && (draw.check("drdy") ? W.IsReady() : true))
            {
                Render.Circle.DrawCircle(myhero.Position, W.Range, Color.DarkRed, 5, true);
            }

            if (draw.check("deraa") && (draw.check("drdy") ? E.IsReady() : true))
            {
                Render.Circle.DrawCircle(myhero.Position, E.Range, Color.Red, 5, true);
            }

            var target = TargetSelector.GetTarget(1000f, DamageType.Physical);

            if (target != null)
            {
                if (draw.check("DRAWWAY") && target.GetWaypoints().Any())
                {
                    var wayp = target.GetWaypoints().LastOrDefault();

                    if (wayp.IsValid() && wayp.ToVector3World().IsOnScreen() && target.Position.IsOnScreen())
                    {
                        Drawing.DrawLine(Drawing.WorldToScreen(target.Position), Drawing.WorldToScreen(wayp.ToVector3World()), 2, Color.White);
                    }
                }
            }
        }
Esempio n. 28
0
        private static void Antigapcloser(ActiveGapcloser gapcloser)
        {
            if (player.IsDead || gapcloser.Sender.IsInvulnerable)
            {
                return;
            }

            var targetpos = Drawing.WorldToScreen(gapcloser.Sender.Position);

            if (gapcloser.Sender.IsValidTarget(Q1.Range) && Config.Item("antigap.Q").GetValue <bool>())
            {
                Render.Circle.DrawCircle(gapcloser.Sender.Position, gapcloser.Sender.BoundingRadius,
                                         System.Drawing.Color.DeepPink);
                Drawing.DrawText(targetpos[0] - 40, targetpos[1] + 20, System.Drawing.Color.DodgerBlue, "GAPCLOSER DETECTED!");
            }

            if (Q1.IsReady() && gapcloser.Sender.IsValidTarget(Q1.Range) &&
                Config.Item("antigap.Q").GetValue <bool>())
            {
                SpellCast(gapcloser.Sender, Q1.Range, Q1, true, 1, false, PredQ("prediction.Q"));
                SpellCast(gapcloser.Sender, Q1.Range, Q1, true, 1, false, HitChance.Dashing);
            }
        }
Esempio n. 29
0
        public void Combo()
        {
            var target = ARAMTargetSelector.getBestTarget(1400f);

            manageW();
            if (!player.IsInvulnerable &&
                target.IsValidTarget(Q1.Range) &&
                Q1.IsReady())
            {
                Q1.Cast();
            }
            if (player.IsInvulnerable &&
                target.IsValidTarget(Q2.Range) &&
                Q2.IsReady())
            {
                (Q2 as Skillshot).CastMinimumHitchance(target, HitChance.High);
            }
            if (player.IsInvulnerable &&
                target.IsValidTarget(E2.Range) &&
                E2.IsReady())
            {
                (E2 as Skillshot).CastMinimumHitchance(target, HitChance.High);
            }
        }
Esempio n. 30
0
        public static void SpellCastR(AIHeroClient target)
        {
            if (target == null)
            {
                return;
            }
            if (!target.IsValid)
            {
                return;
            }
            var rslider = Config.Item("combo.r.slider").GetValue <Slider>().Value;

            #region variables/floats
            //[R] Combo Sequences
            double qdmg = Q1.GetDamage(target);
            double edmg = E1.GetDamage(target);
            double rdmg = R1.GetDamage(target);
            double aa   = Player.GetAutoAttackDamage(target);
            Ignite = player.GetSpellSlot("summonerdot");
            var insideE = Lux_E != null && target.Distance(Lux_E.Position) < E1.Width;
            var thp     = target.Health;
            var AArange = Orbwalking.GetRealAutoAttackRange(player);

            var debuff = target.HasBuff("luxilluminatingfraulein");

            if (debuff)
            {
                rdmg += PassiveDMG(target);
            }
            if (debuff)
            {
                aa += PassiveDMG(target);
            }
            if (insideE)
            {
                rdmg += edmg;
            }

            var qcollision = Q1.GetCollision(player.Position.To2D(), new List <Vector2> {
                Q1.GetPrediction(target).CastPosition.To2D()
            });
            var minioncol = qcollision.Where(x => (x is AIHeroClient) && x.IsEnemy).Count();
            var qpred     = Q1.GetPrediction(target).Hitchance >= HitChance.High;
            var epred     = E1.GetPrediction(target).Hitchance >= HitChance.High;

            var rooted = target.HasBuff("LuxLightBindingMis");


            if (target.Distance(player.Position) < rslider && !rooted)
            {
                return;
            }


            #endregion
            if (insideE && Lux_E != null)
            {
                return;
            }

            //Checks if Allies can kill the bitch
            if (AllyCheck(target, 600) >= 2 && target.Health < rdmg / 2)
            {
                return;
            }
            //Checks if an Ally can kill le bitch
            if (AllyCheck(target, 600) >= 1 && target.Health < rdmg / 2)
            {
                return;
            }

            if (rooted && insideE && rdmg + edmg > thp && target.IsValidTarget(R1.Range))
            {
                SpellCast(target, R1.Range, R1, false, 1, false, PredR("prediction.R"));
            }

            if (E1.IsReady() && thp < edmg && target.IsValidTarget(E1.Range) && epred)
            {
                return;
            }

            if (Q1.IsReady() && thp < qdmg && target.IsValidTarget(Q1.Range) && minioncol <= 1 && qpred)
            {
                return;
            }

            if (insideE && thp < edmg)
            {
                return;
            }

            if (insideE && thp < edmg + aa && target.IsValidTarget(AArange))
            {
                return;
            }

            if (thp < aa && target.IsValidTarget(AArange))
            {
                return;
            }

            if (thp < edmg && E1.IsReady() && rooted && target.IsValidTarget(E1.Range))
            {
                return;
            }

            if (Q1.IsReady() && !E1.IsReady() && thp < qdmg && target.IsValidTarget(Q1.Range) && minioncol <= 1 && qpred)
            {
                return;
            }

            if (E1.IsReady() && !Q1.IsReady() && thp < edmg && target.IsValidTarget(E1.Range) && epred)
            {
                return;
            }

            if (rooted && debuff && thp < aa && target.IsValidTarget(AArange))
            {
                return;
            }

            if (Environment.TickCount - E1.LastCastAttemptT < 100 || Environment.TickCount - Q1.LastCastAttemptT < 800 && !rooted)
            {
                return;
            }

            if (rooted && insideE && thp < rdmg + edmg && target.IsValidTarget(R1.Range))
            {
                SpellCast(target, R1.Range, R1, false, 1, false, PredR("prediction.R"));
            }

            if (rooted && E1.IsReady() && target.IsValidTarget(E1.Range) && thp < rdmg + edmg && target.IsValidTarget(R1.Range))
            {
                SpellCast(target, R1.Range, R1, false, 1, false, PredR("prediction.R"));
            }

            if (rooted && debuff && thp < rdmg + aa && target.IsValidTarget(AArange))
            {
                SpellCast(target, R1.Range, R1, false, 1, false, PredR("prediction.R"));
            }

            if (rooted && debuff && thp < rdmg && target.IsValidTarget(R1.Range))
            {
                SpellCast(target, R1.Range, R1, false, 1, false, PredR("prediction.R"));
            }

            if (thp < rdmg)
            {
                SpellCast(target, R1.Range, R1, false, 1, false, PredR("prediction.R"));
            }
        }