Ejemplo n.º 1
0
        private static void Obj_AI_Base_OnProcessSpellCast(Obj_AI_Base hero, GameObjectProcessSpellCastEventArgs args)
        {
            if (ShacoClone)
            {
                var clone = ObjectManager.Get <Obj_AI_Minion>().FirstOrDefault(m => m.Name == player.Name && !m.IsMe);

                if (args == null || clone == null)
                {
                    return;
                }
                if (hero.NetworkId != clone.NetworkId)
                {
                    return;
                }
                LastAATick = Core.GameTickCount;
            }

            if (args == null || hero == null)
            {
                return;
            }
            if (MiscMenu["usercc"].Cast <CheckBox>().CurrentValue&& hero is AIHeroClient && hero.IsEnemy &&
                _player.Distance(hero) < Q.Range &&
                isDangerousSpell(
                    args.SData.Name, args.Target as AIHeroClient, hero, args.End, float.MaxValue))
            {
                R2.Cast();
            }

            if (hero.IsMe && args.SData.Name == "JackInTheBox")
            {
                lastBox = System.Environment.TickCount;
            }
        }
Ejemplo n.º 2
0
        private static void PermaActive(EventArgs args)
        {
            if (Menu.Config.Item("ks.q").IsActive())
            {
                foreach (var enemy in HeroManager.Enemies.Where(e => Q.CanCast(e) && Q.IsKillable(e)))
                {
                    Q.Cast(enemy);
                    return;
                }
            }

            if (Menu.Config.Item("ks.r").IsActive())
            {
                var r2 = Player.HasBuff("corkimissilebarragecounterbig");

                if (r2)
                {
                    foreach (var enemy in HeroManager.Enemies.Where(e => R.CanCast(e) && R.IsKillable(e)))
                    {
                        R.Cast(enemy);
                        return;
                    }
                }
                else
                {
                    foreach (var enemy in HeroManager.Enemies.Where(e => R2.CanCast(e) && R2.IsKillable(e)))
                    {
                        R2.Cast(enemy);
                        return;
                    }
                }
            }
        }
Ejemplo n.º 3
0
        private void FlashStunRawr()
        {
            if (!Flash_Ready())
            {
                Combo();
            }

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

            if (!FlashStunCondition(target))
            {
                return;
            }

            var pred = R2.GetPrediction(target, true);

            if (Player.Distance(target) > 600)
            {
                Player.Spellbook.CastSpell(_flashSlot, pred.CastPosition);
                if (StunCount() == 3)
                {
                    E.Cast(packets());
                }
                Utility.DelayAction.Add(50, () => R2.Cast(pred.CastPosition, packets()));
                Utility.DelayAction.Add(100, () => W.Cast(pred.CastPosition, packets()));
            }
        }
Ejemplo n.º 4
0
        private static void KS()
        {
            var targets = TargetSelector.GetTargets(R.IsReady() ? 750 : 500);

            if (targets == null)
            {
                return;
            }

            foreach (var target in targets)
            {
                if (target == null)
                {
                    return;
                }

                if (target.Health <= Q.GetDamage(target) && Q.IsReady() && !Player.IsDashing() && target.IsValidTarget(500))
                {
                    Q.Cast(target);
                }
                if (target.Health <= R.GetDamage(target) && R.IsReady() && target.IsValidTarget(R.Name == "AkaliRb" ? R2.Range : R.Range))
                {
                    if (R.Name == "AkaliRb")
                    {
                        R2.Cast(target);
                    }
                    else
                    {
                        R2.Cast(target);
                    }
                }
            }
        }
Ejemplo n.º 5
0
        private static void ForceSkill()
        {
            if (QTarget == null || !QTarget.IsValidTarget())
            {
                return;
            }
            if (forceR && R1.Name == IsFirstR)
            {
                Player.CastSpell(SpellSlot.R);
                return;
            }
            if (forceQ && QTarget != null && QTarget.IsValidTarget(E.Range + myHero.BoundingRadius + 70) && Q.IsReady())
            {
                Player.CastSpell(SpellSlot.Q, ((Obj_AI_Base)QTarget).ServerPosition);
            }
            if (forceW)
            {
                W.Cast();
            }

            if (forceR2 && R2.Name == IsSecondR)
            {
                var target = TargetSelector.SelectedTarget;

                if (target == null || !target.IsValidTarget())
                {
                    target = TargetSelector.GetTarget(450 + myHero.AttackRange + 170, DamageType.Physical);
                }
                if (target == null || !target.IsValidTarget())
                {
                    return;
                }
                R2.Cast(TargetSelector.SelectedTarget);
            }
        }
Ejemplo n.º 6
0
        private static void KillStealLogic()
        {
            foreach (var e in EntityManager.Heroes.Enemies.Where(e => !e.IsZombie && !e.HasBuff("KindredrNoDeathBuff") && !e.HasBuff("Undying Rage") && !e.HasBuff("JudicatorIntervention") && e.IsValidTarget()))
            {
                if (Q.IsReady() && KillStealQ)
                {
                    if (myHero.HasBuff("RivenFengShuiEngine"))
                    {
                        if (e.Distance(myHero.ServerPosition) < myHero.AttackRange + myHero.BoundingRadius + 50 && myHero.GetSpellDamage(e, SpellSlot.Q) > e.Health + e.HPRegenRate)
                        {
                            Q.Cast(e.Position);
                        }
                    }
                    else if (!myHero.HasBuff("RivenFengShuiEngine"))
                    {
                        if (e.Distance(myHero.ServerPosition) < myHero.AttackRange + myHero.BoundingRadius && myHero.GetSpellDamage(e, SpellSlot.Q) > e.Health + e.HPRegenRate)
                        {
                            Q.Cast(e.Position);
                        }
                    }
                }

                if (W.IsReady() && KillStealW)
                {
                    if (e.IsValidTarget(W.Range) && myHero.GetSpellDamage(e, SpellSlot.W) > e.Health + e.HPRegenRate)
                    {
                        W.Cast();
                    }
                }

                if (R1.IsReady() && KillStealR)
                {
                    if (myHero.HasBuff("RivenWindScarReady"))
                    {
                        if (E.IsReady() && KillStealE)
                        {
                            if (myHero.ServerPosition.CountEnemiesInRange(R2.Range + E.Range) < 3 && myHero.HealthPercent > 50)
                            {
                                if (Rdame(e, e.Health) > e.Health + e.HPRegenRate && e.IsValidTarget(R2.Range + E.Range - 100))
                                {
                                    R1.Cast();
                                    E.Cast(e.Position);
                                    Core.DelayAction(() => { R2.Cast(e); }, 350);
                                }
                            }
                        }
                        else
                        {
                            if (Rdame(e, e.Health) > e.Health + e.HPRegenRate && e.IsValidTarget(R2.Range - 50))
                            {
                                R1.Cast();
                                R2.Cast(e);
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 7
0
        private static void SemiRLogic()
        {
            var target = MyTargetSelector.GetTarget(R.Range);

            if (target != null && !target.HaveShiledBuff() && target.IsValidTarget(R.Range))
            {
                R2.Cast(target);
            }
        }
Ejemplo n.º 8
0
        public override void ExecuteJungleClear()
        {
            int jungleQValue = Program.jungleClear["Jungle.UseQ"].Cast <ComboBox>().CurrentValue;

            if (jungleQValue != 0 && W.IsReady())
            {
                Obj_AI_Base jungleMobs = Utils.Utils.GetMobs(Q.Range,
                                                             jungleQValue != 1 ? Utils.Utils.MobTypes.All : Utils.Utils.MobTypes.BigBoys,
                                                             jungleQValue != 1 ? jungleQValue : 1);
                if (jungleMobs != null)
                {
                    Q.Cast(jungleMobs);
                }
            }

            int jungleEValue = Program.jungleClear["Jungle.UseE"].Cast <ComboBox>().CurrentValue;

            if (W.IsReady() && jungleEValue != 0)
            {
                Obj_AI_Base jungleMobs = Utils.Utils.GetMobs(E.Range,
                                                             jungleEValue != 1 ? Utils.Utils.MobTypes.All : Utils.Utils.MobTypes.BigBoys,
                                                             jungleEValue != 1 ? jungleEValue : 1);

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

            int jungleRValue = Program.jungleClear["Jungle.UseR"].Cast <ComboBox>().CurrentValue;

            if (jungleRValue != 0 && ObjectManager.Player.Spellbook.GetSpell(SpellSlot.R).Ammo > Program.jungleClear["Jungle.UseR.Lim"].Cast <Slider>().CurrentValue)
            {
                Obj_AI_Base jungleMobs = Utils.Utils.GetMobs(R1.Range, jungleRValue != 1 ? Utils.Utils.MobTypes.All : Utils.Utils.MobTypes.BigBoys, jungleRValue != 1 ? jungleRValue : 1);
                if (jungleMobs != null)
                {
                    var rocketType = Program.jungleClear["Jungle.UseR.Bomb"].Cast <ComboBox>().CurrentValue;
                    if (R1.IsReady() && (rocketType == 0 || rocketType == 1) && !HasBigRocket())
                    {
                        R1.Cast(jungleMobs);
                    }

                    if (R2.IsReady() && (rocketType == 1 || rocketType == 2) && HasBigRocket())
                    {
                        R2.Cast(jungleMobs);
                    }
                }
            }
        }
Ejemplo n.º 9
0
        public override void ExecuteJungleClear()
        {
            int jungleQValue = GetValue <StringList>("Jungle.UseQ").SelectedIndex;

            if (jungleQValue != 0 && W.IsReady())
            {
                Obj_AI_Base jungleMobs = Utils.Utils.GetMobs(Q.Range,
                                                             jungleQValue != 1 ? Utils.Utils.MobTypes.All : Utils.Utils.MobTypes.BigBoys,
                                                             jungleQValue != 1 ? jungleQValue : 1);
                if (jungleMobs != null)
                {
                    Q.Cast(jungleMobs);
                }
            }

            int jungleEValue = GetValue <StringList>("Jungle.UseE").SelectedIndex;

            if (W.IsReady() && jungleEValue != 0)
            {
                Obj_AI_Base jungleMobs = Utils.Utils.GetMobs(E.Range,
                                                             jungleEValue != 1 ? Utils.Utils.MobTypes.All : Utils.Utils.MobTypes.BigBoys,
                                                             jungleEValue != 1 ? jungleEValue : 1);

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

            int jungleRValue = GetValue <StringList>("Jungle.UseR").SelectedIndex;

            if (jungleRValue != 0 && ObjectManager.Player.Spellbook.GetSpell(SpellSlot.R).Ammo > GetValue <Slider>("Jungle.UseR.Lim").Value)
            {
                Obj_AI_Base jungleMobs = Utils.Utils.GetMobs(R1.Range, jungleRValue != 1 ? Utils.Utils.MobTypes.All : Utils.Utils.MobTypes.BigBoys, jungleRValue != 1 ? jungleRValue : 1);
                if (jungleMobs != null)
                {
                    var rocketType = GetValue <StringList>("Jungle.UseR.Bomb").SelectedIndex;
                    if (R1.IsReady() && (rocketType == 0 || rocketType == 1) && !HasBigRocket())
                    {
                        R1.Cast(jungleMobs);
                    }

                    if (R2.IsReady() && (rocketType == 1 || rocketType == 2) && HasBigRocket())
                    {
                        R2.Cast(jungleMobs);
                    }
                }
            }
        }
Ejemplo n.º 10
0
        private static void Burst()
        {
            var target = TargetSelector.SelectedTarget;

            Orbwalker.ForcedTarget = target;
            Orbwalker.OrbwalkTo(target.ServerPosition);
            if (target == null || target.IsZombie || target.IsInvulnerable)
            {
                return;
            }
            if (target.IsValidTarget(800))

            {
                if (E.IsReady())
                {
                    UseItems2(target);
                    Player.CastSpell(SpellSlot.E, target.ServerPosition);
                }
                UseItems2(target);

                if (R1.IsReady() && BurstMenu["burstcombo"].Cast <KeyBind>().CurrentValue&& forceR == false)
                {
                    R1.Cast();
                }

                if (Flash.IsReady() && (myHero.Distance(target.Position) <= 680))
                {
                    Flash.Cast(target.ServerPosition);
                }

                UseItems(target);

                if (target.IsValidTarget(W.Range))
                {
                    if (W.IsReady())

                    {
                        W.Cast();
                    }

                    if (R2.IsReady())

                    {
                        R2.Cast(target.ServerPosition);
                    }
                }
            }
        }
Ejemplo n.º 11
0
        public override void ExecuteLaneClear()
        {
            int laneQValue = Program.laneclear["Lane.UseQ"].Cast <ComboBox>().CurrentValue;

            if (laneQValue != 0 && Q.IsReady())
            {
                Vector2 minions = Q.GetCircularFarmMinions(laneQValue);
                if (minions != Vector2.Zero)
                {
                    Q.Cast(minions);
                }
            }

            int laneEValue = Program.laneclear["Lane.UseE"].Cast <ComboBox>().CurrentValue;

            if (laneEValue != 0 && E.IsReady())
            {
                int minCount = E.GetMinionCountsInRange();
                if (minCount >= laneEValue)
                {
                    E.Cast();
                }
            }

            int laneRValue = Program.laneclear["Lane.UseR"].Cast <ComboBox>().CurrentValue;

            if (laneRValue != 0 && ObjectManager.Player.Spellbook.GetSpell(SpellSlot.R).Ammo >= Program.laneclear["Lane.UseR.Lim"].Cast <Slider>().CurrentValue)
            {
                int rocketType = Program.laneclear["Lane.UseR.Bomb"].Cast <ComboBox>().CurrentValue;
                if (R1.IsReady() && (rocketType == 0 || rocketType == 2) && !HasBigRocket())
                {
                    Vector2 minions = R1.GetCircularFarmMinions(laneRValue);
                    if (minions != Vector2.Zero)
                    {
                        R1.Cast(minions);
                    }
                }
                if (R2.IsReady() && (rocketType == 1 || rocketType == 2) && HasBigRocket())
                {
                    Vector2 minions = R2.GetCircularFarmMinions(laneRValue);
                    if (minions != Vector2.Zero)
                    {
                        R2.Cast(minions);
                    }
                }
            }
        }
Ejemplo n.º 12
0
        public override void ExecuteLaneClear()
        {
            int laneQValue = GetValue <StringList>("Lane.UseQ").SelectedIndex;

            if (laneQValue != 0 && Q.IsReady())
            {
                Vector2 minions = Q.GetCircularFarmMinions(laneQValue);
                if (minions != Vector2.Zero)
                {
                    Q.Cast(minions);
                }
            }

            int laneEValue = GetValue <StringList>("Lane.UseE").SelectedIndex;

            if (laneEValue != 0 && E.IsReady())
            {
                int minCount = E.GetMinionCountsInRange();
                if (minCount >= laneEValue)
                {
                    E.Cast();
                }
            }

            int laneRValue = GetValue <StringList>("Lane.UseR").SelectedIndex;

            if (laneRValue != 0 && ObjectManager.Player.Spellbook.GetSpell(SpellSlot.R).Ammo >= GetValue <Slider>("Lane.UseR.Lim").Value)
            {
                int rocketType = GetValue <StringList>("Lane.UseR.Bomb").SelectedIndex;
                if (R1.IsReady() && (rocketType == 0 || rocketType == 2) && !HasBigRocket())
                {
                    Vector2 minions = R1.GetCircularFarmMinions(laneRValue);
                    if (minions != Vector2.Zero)
                    {
                        R1.Cast(minions);
                    }
                }
                if (R2.IsReady() && (rocketType == 1 || rocketType == 2) && HasBigRocket())
                {
                    Vector2 minions = R2.GetCircularFarmMinions(laneRValue);
                    if (minions != Vector2.Zero)
                    {
                        R2.Cast(minions);
                    }
                }
            }
        }
Ejemplo n.º 13
0
        private static void Harrass()
        {
            var useQHar     = Config.Item("QHar").GetValue <bool>();
            var useEHar     = Config.Item("EHar").GetValue <bool>();
            var useRHar     = Config.Item("RHar").GetValue <bool>();
            var missiles    = Config.Item("AutoRMisCount").GetValue <Slider>().Value;
            var useQHarMana = Config.Item("QHarMana").GetValue <Slider>().Value;
            var useEHarMana = Config.Item("EHarMana").GetValue <Slider>().Value;
            var useRHarMana = Config.Item("RHarMana").GetValue <Slider>().Value;

            if (Q.IsReady() && useQHar && Player.ManaPercentage() >= useQHarMana)
            {
                var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);
                if (t == null)
                {
                    return;
                }
                Q.Cast(t);
            }
            if (E.IsReady() && useEHar && Player.ManaPercentage() >= useEHarMana)
            {
                var t = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical);
                if (t == null)
                {
                    return;
                }
                E.Cast(t);
            }
            var bigMiss = isBigMissle();

            if (bigMiss ? R2.IsReady() : R1.IsReady() && useRHar && Player.Spellbook.GetSpell(SpellSlot.R).Ammo >= missiles && Player.ManaPercentage() >= useRHarMana)
            {
                var t = TargetSelector.GetTarget(bigMiss ? R2.Range : R1.Range, TargetSelector.DamageType.Magical);
                if (t == null)
                {
                    return;
                }
                if (!bigMiss)
                {
                    R1.Cast(t);
                }
                else
                {
                    R2.Cast(t);
                }
            }
        }
Ejemplo n.º 14
0
        public override void Orbwalking_AfterAttack(AttackableUnit target, EventArgs args)
        {
            var t = target as AIHeroClient;

            if (t == null || (!ComboActive && !HarassActive))
            {
                return;
            }

            var useQ = ComboActive ? Program.combo["UseQC"].Cast <CheckBox>().CurrentValue : Program.harass["UseQH"].Cast <CheckBox>().CurrentValue;
            var useE = ComboActive ? Program.combo["UseEC"].Cast <CheckBox>().CurrentValue : Program.harass["UseEH"].Cast <CheckBox>().CurrentValue;
            var useR = ComboActive ? Program.combo["UseRC"].Cast <CheckBox>().CurrentValue : Program.harass["UseRH"].Cast <CheckBox>().CurrentValue;
            var rLim = ComboActive ? Program.combo["RlimC"].Cast <Slider>().CurrentValue : Program.harass["RlimH"].Cast <Slider>().CurrentValue;

            if (useQ && Q.IsReady())
            {
                if (Q.Cast(t, false, true) == LeagueSharp.Common.Spell.CastStates.SuccessfullyCasted)
                {
                    return;
                }
            }

            if (useE && E.IsReady())
            {
                if (E.Cast(t, false, true) == LeagueSharp.Common.Spell.CastStates.SuccessfullyCasted)
                {
                    return;
                }
            }

            if (useR && R1.IsReady() && ObjectManager.Player.Spellbook.GetSpell(SpellSlot.R).Ammo > rLim)
            {
                if (HasBigRocket())
                {
                    R2.Cast(t, false, true);
                }
                else
                {
                    R1.Cast(t, false, true);
                }
            }
        }
Ejemplo n.º 15
0
        public override void Orbwalking_AfterAttack(AttackableUnit unit, AttackableUnit target)
        {
            var t = target as Obj_AI_Hero;

            if (t == null || (!ComboActive && !HarassActive) || !unit.IsMe)
            {
                return;
            }

            var useQ = GetValue <bool>("UseQ" + (ComboActive ? "C" : "H"));
            var useE = GetValue <bool>("UseE" + (ComboActive ? "C" : "H"));
            var useR = GetValue <bool>("UseR" + (ComboActive ? "C" : "H"));
            var rLim = GetValue <Slider>("Rlim" + (ComboActive ? "C" : "H")).Value;

            if (useQ && Q.IsReady())
            {
                if (Q.Cast(t, false, true) == Spell.CastStates.SuccessfullyCasted)
                {
                    return;
                }
            }

            if (useE && E.IsReady())
            {
                if (E.Cast(t, false, true) == Spell.CastStates.SuccessfullyCasted)
                {
                    return;
                }
            }

            if (useR && R1.IsReady() && ObjectManager.Player.Spellbook.GetSpell(SpellSlot.R).Ammo > rLim)
            {
                if (HasBigRocket())
                {
                    R2.Cast(t, false, true);
                }
                else
                {
                    R1.Cast(t, false, true);
                }
            }
        }
Ejemplo n.º 16
0
        private static void RFollow()
        {
            var stormT = EntityManager.Heroes.Enemies.Where(x => x.IsValidTarget(2000, true, ViktorStormObj.Position) && !x.IsZombie && !x.IsDead).OrderBy(x => x.HealthPercent).FirstOrDefault();

            if (stormT != null)
            {
                Core.DelayAction(() => R2.Cast(stormT), 100);
            }

            if (stormT == null && _AutoFollowR == 0)
            {
                var mtarget = EntityManager.MinionsAndMonsters.EnemyMinions.Where(m => m.IsValidTarget(1000));
                if (mtarget.Any())
                {
                    var loc = R2.GetBestCircularCastPosition(mtarget);

                    Core.DelayAction(() => R2.Cast(loc.CastPosition), 100);
                }
            }
        }
Ejemplo n.º 17
0
 private static void checkKS()
 {
     if (!Config.Item("useKS").GetValue <bool>())
     {
         return;
     }
     if (R1.IsReady())
     {
         var bigMiss = isBigMissle();
         List <AIHeroClient> targets = ObjectManager.Get <AIHeroClient>().Where(x => x.IsEnemy && x.IsValidTarget(bigMiss ? R2.Range : R1.Range) && !x.IsZombie && !x.HasBuffOfType(BuffType.Invulnerability) && R1.CanCast(x) && R1.GetDamage(x) * (bigMiss ? 1.5f : 1f) >= x.Health).ToList();
         foreach (var target in targets)
         {
             if (bigMiss)
             {
                 R2.Cast(target, false, true);
             }
             else
             {
                 R1.Cast(target, false, true);
             }
         }
     }
 }
Ejemplo n.º 18
0
        private static void afterAttack(AttackableUnit unit, AttackableUnit target)
        {
            if (_Ob.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
            {
                var useQCombo = Config.Item("QuseCombo").GetValue <bool>();
                var useRCombo = Config.Item("RuseCombo").GetValue <bool>();

                if (Q.IsReady() && useQCombo)
                {
                    var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);
                    if (t == null)
                    {
                        return;
                    }
                    Q.Cast(t);
                }

                var bigMiss = isBigMissle();
                if (bigMiss ? R2.IsReady() : R1.IsReady() && useRCombo)
                {
                    var t = TargetSelector.GetTarget(bigMiss ? R2.Range : R1.Range, TargetSelector.DamageType.Magical);
                    if (t == null)
                    {
                        return;
                    }
                    if (!bigMiss)
                    {
                        R1.Cast(t, false, true);
                    }
                    else
                    {
                        R2.Cast(t, false, true);
                    }
                }
            }
        }
Ejemplo n.º 19
0
        private static void Combo()
        {
            var target = TargetSelector.SelectedTarget;

            if (target == null || !target.IsValidTarget(750))
            {
                target = TargetSelector.GetTarget(R.IsReady() ? 750 : 600, DamageType.Magical);
            }

            if (target == null || target.InAutoAttackRange())
            {
                target = Orbwalker.GetTarget() as AIHeroClient;
            }

            if (target != null && target is AIHeroClient)
            {
                if (Variables.TickCount - TimeCast <= AkaliMenu.QSettings.MoveQ.Value && target.IsValidTarget(570) && !Player.HavePassive() && AkaliMenu.QSettings.MoveQ.Enabled &&

                    !ObjectManager.Get <AITurretClient>()
                    .Any(i => i.IsEnemy && !i.IsDead && (i.Distance(target.Position.Extend(Player.Position, +570)) < 850 + ObjectManager.Player.BoundingRadius))

                    && !target.Position.Extend(Player.Position, +570).IsWall() &&
                    !target.Position.Extend(Player.Position, +570).IsBuilding() &&
                    target.Position.Extend(Player.Position, +570).IsValid()
                    )
                {
                    Orbwalker.AttackState = false;
                    Orbwalker.SetOrbwalkerPosition(target.Position.Extend(Player.Position, +600));
                    //Player.IssueOrder(GameObjectOrder.MoveTo, target.Position.Extend(Player.Position, +600));
                }
                else
                {
                    Orbwalker.SetOrbwalkerPosition(Vector3.Zero);
                    Orbwalker.AttackState = true;
                }

                if (Q.IsReady() && CanUseQNow == true && Q.GetPrediction(target).CastPosition.DistanceToPlayer() <= Q.Range)
                {
                    if (!W.IsReady())
                    {
                        if (!Player.IsDashing() && Variables.TickCount - Last_E > 700 && Variables.TickCount - Last_R > 700)
                        {
                            Q.Cast(Q.GetPrediction(target).CastPosition);
                        }
                    }
                    else
                    {
                        if (Player.Mana - Q.Mana <= Q.Mana - 1.5f * 5)
                        {
                            if (target.IsValidTarget(Q.Range) && !Player.IsDashing() && Variables.TickCount - Last_E > 700 && Variables.TickCount - Last_R > 700)
                            {
                                Q.Cast(Q.GetPrediction(target).CastPosition);
                                if (!Player.IsDashing())
                                {
                                    W.Cast(target.Position);
                                }
                            }
                        }
                    }
                }

                if (W.IsReady() && AkaliMenu.WSettings.TargetCount.Enabled && Player.CountEnemyHeroesInRange(AkaliMenu.WSettings.TargetCount.Value) > 1)
                {
                    if (!Player.IsDashing())
                    {
                        W.Cast(Player.Position);
                    }
                }

                if (Q.IsReady() && Player.Mana > 150 && Player.HealthPercent > 80)
                {
                }
                else
                {
                    var Epred = E.GetPrediction(target, false, -1, CollisionObjects.Minions | CollisionObjects.YasuoWall);
                    if (W.IsReady() && E.IsReady() && Player.Mana - E.Mana <= Q.Mana)
                    {
                        if (E.Name == "AkaliE")
                        {
                            if (Player.HavePassive())
                            {
                                return;
                            }

                            if (CanUseQNow == true)
                            {
                                E.Cast(Epred.CastPosition);
                                DelayAction.Add(1, () => { W.Cast(Epred.CastPosition); });
                            }
                        }

                        if (E.Name == "AkaliEb" && GameObjects.EnemyHeroes.Any(i => i.HasBuff("AkaliEMis")))
                        {
                            E.Cast(Epred.CastPosition);

                            if (target.IsValidTarget(300))
                            {
                                W.Cast(target.Position);
                            }
                        }
                    }
                    else
                    {
                        if (W.IsReady())
                        {
                            if (Player.Mana <= AkaliMenu.WSettings.Wmana.Value && target.Position.DistanceToPlayer() < 500)
                            {
                                W.Cast(Player.Position);
                            }
                        }
                        if (E.Name == "AkaliE")
                        {
                            if (E.IsReady())
                            {
                                if (Player.HavePassive() && target.IsValidTarget(650))
                                {
                                    return;
                                }

                                if (CanUseQNow == true)
                                {
                                    if (Variables.TickCount - Last_Q > 700)
                                    {
                                        E.Cast(Epred.CastPosition);
                                    }
                                }
                            }
                        }
                        if (E.Name == "AkaliEb")
                        {
                            if (E.IsReady())
                            {
                                if (Variables.TickCount - Last_Q > 700)
                                {
                                    E.Cast(Epred.CastPosition);
                                }
                            }
                        }
                    }
                }

                if (!Player.HavePassive() && target.IsValidTarget(R.Name == "AkaliRb" ? R2.Range : R.Range) && AkaliMenu.RSettings.Rcombo.Active)
                {
                    if (target.Health <= R.GetDamage(target) + Player.GetAutoAttackDamage(target))
                    {
                        if (R.Name == "AkaliRb")
                        {
                            R2.Cast(target);
                        }
                        else
                        {
                            R.Cast(target);
                        }
                    }

                    if (R.Name == "AkaliR" && Variables.TickCount - Last_Q > 700)
                    {
                        R.Cast(target);
                    }
                }

                if (R.IsReady())
                {
                    if (target.Health <= R.GetDamage(target) + (39 + 15 * Player.Level) + (Q.IsReady() ? Q.GetDamage(target) : 0))
                    {
                        if (R.Name == "AkaliRb")
                        {
                            R2.Cast(target);
                        }
                        else
                        {
                            R.Cast(target);
                        }
                    }
                }
                if (Q.IsReady() && Player.IsDashing() && Q.GetPrediction(target).CastPosition.DistanceToPlayer() <= Q.Range)
                {
                    if (target.Health <= Q.GetDamage(target) + (39 + 15 * Player.Level))
                    {
                        Q.Cast(Q.GetPrediction(target).CastPosition);
                    }
                }
            }
        }
Ejemplo n.º 20
0
        public static void Execute()
        {
            //////////////////////////////////////////////////////////////////////////////////////////
            var   target = TargetSelector.GetTarget(E.Range, DamageType.Physical);
            float dist   = (float)(Q.Range + player.MoveSpeed * 2.5);
            var   useQ   = ComboMenu.GetCheckBoxValue("qUse");
            var   useW   = ComboMenu.GetCheckBoxValue("wUse");
            var   useE   = ComboMenu.GetCheckBoxValue("eUse");
            var   useR   = ComboMenu.GetCheckBoxValue("rUse");
            var   cmbDmg = Program.ComboDamage(target);

            if (target == null || target.IsInvulnerable || target.MagicImmune)
            {
                return;
            }
            //////////////////////////////////////////////////////////////////////////////////////////

            if (ComboMenu.GetCheckBoxValue("itemss"))
            {
                Eclipse.Activator.Items.CastItems(target);
            }

            if (Program.ShacoClone && !Program.GhostDelay && ComboMenu["useClone"].Cast <CheckBox>().CurrentValue&& !MiscMenu["autoMoveClone"].Cast <CheckBox>().CurrentValue)
            {
                Program.moveClone();
            }

            if (Q.IsReady() && useQ && target.IsValidTarget(Q.Range))
            {
                Q.Cast(Prediction.Position.PredictUnitPosition(target, 500).To3D());
            }

            else
            {
                if (!Program.CheckWalls(target) || Utils.GetPath(player, target.Position) < dist)
                {
                    Q.Cast(player.Position.Extend(target.Position, Q.Range));
                }
            }

            if (W.IsReady() && useW)
            {
                if (target.IsValidTarget(W.Range + 250))
                {
                    Program.HandleW(target);
                }
            }

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

            if (useR && R.IsReady() && !Program.ShacoClone && target.HealthPercent < 60 &&
                cmbDmg < target.Health && target.HealthPercent > cmbDmg && target.HealthPercent > 25)
            {
                R2.Cast();
            }

            if (ComboMenu.GetCheckBoxValue("rLow") && R2.IsReady() && Player.Instance.HealthPercent <= ComboMenu.GetSliderValue("hpR"))
            {
                R2.Cast();
            }
        }
Ejemplo n.º 21
0
        public static void Execute()
        {
            //////////////////////////////////////////////////////////////////////////////////////////
            var   target  = TargetSelector.GetTarget(E.Range, DamageType.Physical);
            float dist    = (float)(Q.Range + player.MoveSpeed * 2.5);
            var   useQ    = ComboMenu.GetCheckBoxValue("qUse");
            var   useW    = ComboMenu.GetCheckBoxValue("wUse");
            var   useE    = ComboMenu.GetCheckBoxValue("eUse");
            var   useR    = ComboMenu.GetCheckBoxValue("rUse");
            var   packets = ComboMenu.GetCheckBoxValue("packets");
            var   cmbDmg  = Program.ComboDamage(target);

            //////////////////////////////////////////////////////////////////////////////////////////

            if (Program.ShacoClone && !Program.GhostDelay && ComboMenu["useClone"].Cast <CheckBox>().CurrentValue&& !MiscMenu["autoMoveClone"].Cast <CheckBox>().CurrentValue)
            {
                Program.moveClone();
            }

            if (Q.IsReady() && useQ && target.IsValidTarget(Q.Range))
            {
                Q.Cast(Prediction.Position.PredictUnitPosition(target, 500).To3D());
            }

            else
            {
                if (!Program.CheckWalls(target) || Utils.GetPath(player, target.Position) < dist)
                {
                    Q.Cast(player.Position.Extend(target.Position, Q.Range));
                }
            }

            if (target != null)
            {
                if (R.IsReady() && target.IsValidTarget() && player.Distance(target) < 400 && player.HasBuff("Deceive") && useR)
                {
                    R.Cast();
                }
            }

            if (W.IsReady() && useW)
            {
                if (!target.IsValidTarget(W.Range))
                {
                    Program.HandleW(target);
                }
            }

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

            if (ComboMenu["user"].Cast <CheckBox>().CurrentValue&& R.IsReady() && !Program.ShacoClone && target.HealthPercent < 75 &&
                cmbDmg <target.Health && target.HealthPercent> cmbDmg && target.HealthPercent > 25)
            {
                R2.Cast();
            }

            if (Player.Instance.HealthPercent <= ComboMenu.GetSliderValue("hpR") && R.IsReady() && ComboMenu.GetCheckBoxValue("rLow"))
            {
                R.Cast();
            }
        }
Ejemplo n.º 22
0
        private void LogicR(Obj_AI_Base target, bool extendedR = false, bool useE = false,
                            Orbwalker.ActiveModes activeMode   = Orbwalker.ActiveModes.None)
        {
            var t = target as AIHeroClient;

            if (t == null)
            {
                return;
            }

            if (extendedR)
            {
                if (!R2.IsInRange(t) && useE)
                {
                    var dist = Player.Instance.Distance(target) - R2.Range;

                    if (dist > E.Range)
                    {
                        return;
                    }

                    var ePrediction = E.GetPrediction(target);

                    if (ePrediction.CastPosition.IsInRange(target, R2.Range))
                    {
                        E.Cast(ePrediction.CastPosition);
                    }

                    var rPrediction = R2.GetPrediction(t);

                    if (rPrediction != null && rPrediction.HitChancePercent >= 75)
                    {
                        R2.Cast(rPrediction.CastPosition);
                    }
                }
                else if (R2.IsInRange(t))
                {
                    var rPrediction = R2.GetPrediction(t);

                    if (rPrediction != null && rPrediction.HitChancePercent >= 75)
                    {
                        R2.Cast(rPrediction.CastPosition);
                    }
                }
            }
            else
            {
                if (!R.IsInRange(t) && useE)
                {
                    var dist = Player.Instance.Distance(target) - R.Range;

                    if (dist > E.Range)
                    {
                        return;
                    }

                    var ePrediction = E.GetPrediction(target);

                    if (ePrediction.CastPosition.IsInRange(target, R.Range))
                    {
                        E.Cast(ePrediction.CastPosition);
                    }

                    var rPrediction = R.GetPrediction(t);

                    if (rPrediction != null && rPrediction.HitChancePercent >= 75)
                    {
                        R.Cast(rPrediction.CastPosition);
                    }
                }
                else if (activeMode == Orbwalker.ActiveModes.Combo)
                {
                    var enemiesAroundTarget = t.CountEnemiesInRange(R.Width);

                    if (enemiesAroundTarget < ComboMenu.GetSliderValue("combo.r.aoe"))
                    {
                        return;
                    }

                    var rPrediction = R.GetPrediction(t);

                    if (rPrediction != null && rPrediction.HitChancePercent >= 75)
                    {
                        R.Cast(rPrediction.CastPosition);
                    }
                }
                else if (R.IsInRange(t))
                {
                    var rPrediction = R.GetPrediction(t);

                    if (rPrediction != null && rPrediction.HitChancePercent >= 75)
                    {
                        R.Cast(rPrediction.CastPosition);
                    }
                }
            }
        }
Ejemplo n.º 23
0
        protected override void Game_OnGameUpdate(EventArgs args)
        {
            if (Player.IsDead)
            {
                return;
            }

            SmartKs();

            if (Menu.Item("FarmT", true).GetValue <KeyBind>().Active)
            {
                Harass();
            }

            if (Menu.Item("wAtk", true).GetValue <bool>())
            {
                AutoAtk();
            }

            switch (Orbwalker.ActiveMode)
            {
            case Orbwalking.OrbwalkingMode.Combo:
                Combo();
                break;

            case Orbwalking.OrbwalkingMode.Mixed:
                Harass();
                break;

            case Orbwalking.OrbwalkingMode.LaneClear:
                Farm();
                JungleClear();
                break;

            case Orbwalking.OrbwalkingMode.Flee:
                Escape();
                break;

            case Orbwalking.OrbwalkingMode.LastHit:
                break;

            case Orbwalking.OrbwalkingMode.Freeze:
                break;

            case Orbwalking.OrbwalkingMode.CustomMode:
                break;

            case Orbwalking.OrbwalkingMode.None:
                if (Menu.Item("insec", true).GetValue <KeyBind>().Active)
                {
                    Orbwalking.MoveTo(Game.CursorPos);

                    _insecTarget = TargetSelector.GetSelectedTarget();

                    if (_insecTarget != null)
                    {
                        if (_insecTarget.HasBuffOfType(BuffType.Knockup) ||
                            _insecTarget.HasBuffOfType(BuffType.Knockback))
                        {
                            if (Player.ServerPosition.Distance(_insecTarget.ServerPosition) < 200)
                            {
                                R2.Cast(InsecPosition);
                            }
                        }

                        Insec();
                    }
                }
                else
                {
                    InsecPosition = new Vector3(0, 0, 0);
                }

                if (Menu.Item("qeCombo", true).GetValue <KeyBind>().Active)
                {
                    var soldierTarget = TargetSelector.GetTarget(900, TargetSelector.DamageType.Magical);

                    Orbwalking.MoveTo(Game.CursorPos);

                    CastQe(soldierTarget, "Null");
                }
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Ejemplo n.º 24
0
        private static void laneClear()
        {
            var Qmana = Config.Item("ManaFarmQ").GetValue <Slider>().Value;
            var Emana = Config.Item("ManaFarmE").GetValue <Slider>().Value;
            var Rmana = Config.Item("ManaFarmR").GetValue <Slider>().Value;
            var useQ  = Config.Item("QLC").GetValue <bool>();
            var useE  = Config.Item("ELC").GetValue <bool>();
            var useR  = Config.Item("RLC").GetValue <bool>();
            var useR2 = Config.Item("BigRClear").GetValue <bool>();
            //var miniR = Config.Item("miniClear").GetValue<bool>();
            var Qcount         = Config.Item("QFarmCount").GetValue <Slider>().Value;
            var Ecount         = Config.Item("EFarmCount").GetValue <Slider>().Value;
            var Rcount         = Config.Item("RFarmCount").GetValue <Slider>().Value;
            var MisCount       = Config.Item("RMisCount").GetValue <Slider>().Value;
            var Ammo           = Player.Spellbook.GetSpell(SpellSlot.R).Ammo;
            var BigMissile     = isBigMissle();
            var harrassinclear = Config.Item("HarInClear").GetValue <bool>();
            var missiles       = Config.Item("AutoRMisCount").GetValue <Slider>().Value;
            var useQHar        = Config.Item("QHar").GetValue <bool>();
            var useEHar        = Config.Item("EHar").GetValue <bool>();
            var useRHar        = Config.Item("RHar").GetValue <bool>();
            var useQHarMana    = Config.Item("QHarMana").GetValue <Slider>().Value;
            var useRHarMana    = Config.Item("RHarMana").GetValue <Slider>().Value;

            if (_Ob.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear && !Orbwalking.CanAttack() && R1.IsReady() && useR && Player.ManaPercentage() > Rmana)
            {
                if (BigMissile)
                {
                    return;
                }

                if (Ammo > MisCount)
                {
                    List <Obj_AI_Base> killableMinions = MinionManager.GetMinions(R1.Range, MinionTypes.All).Where(x => x.Health <= Player.GetAutoAttackDamage(x)).ToList();
                    if (killableMinions.Count >= 2)
                    {
                        var farthestMinion = killableMinions.OrderBy(x => x.Distance(Player.Position)).First();
                        if (R1.GetDamage(farthestMinion) >= farthestMinion.Health)
                        {
                            R1.Cast(farthestMinion);
                        }
                    }
                }
            }

            if (Q.IsReady() && useQ && Player.ManaPercentage() > Qmana)
            {
                List <Obj_AI_Base> QMinionsRange = MinionManager.GetMinions(Player.ServerPosition, Q.Range, MinionTypes.All, MinionTeam.NotAlly);
                List <int>         qRangeCount   = new List <int>();
                foreach (var minion in QMinionsRange)
                {
                    List <Obj_AI_Base> qMinions = MinionManager.GetMinions(minion.Position, Q.Width, MinionTypes.All, MinionTeam.NotAlly);
                    qRangeCount.Add(qMinions.Count());
                }
                if (qRangeCount.Max() >= Qcount)
                {
                    Q.Cast(QMinionsRange[qRangeCount.IndexOf(qRangeCount.Max())]);
                }
            }

            if (E.IsReady() && useE && Player.ManaPercentage() > Emana)
            {
                List <Obj_AI_Base> EMinions = MinionManager.GetMinions(Player.ServerPosition, E.Range, MinionTypes.All, MinionTeam.NotAlly);
                if (EMinions.Count >= Ecount)
                {
                    E.Cast(EMinions[0]);
                }
            }

            if (BigMissile ? R2.IsReady() : R1.IsReady() && useR && (Ammo > MisCount) && Player.ManaPercentage() > Rmana)
            {
                if (BigMissile && !useR2)
                {
                    return;
                }

                List <Obj_AI_Base> RMinionsRange = MinionManager.GetMinions(Player.ServerPosition, (BigMissile ? R2.Range : R1.Range), MinionTypes.All, MinionTeam.NotAlly);
                List <int>         rRangeCount   = new List <int>();
                foreach (var minion in RMinionsRange)
                {
                    List <Obj_AI_Base> rMinions = MinionManager.GetMinions(minion.Position, BigMissile ? 300f : 200f, MinionTypes.All, MinionTeam.NotAlly);
                    rRangeCount.Add(rMinions.Count());
                }
                if (rRangeCount.Max() >= Rcount)
                {
                    if (BigMissile)
                    {
                        R2.Cast(RMinionsRange[rRangeCount.IndexOf(rRangeCount.Max())], false, true);
                    }
                    else
                    {
                        R1.Cast(RMinionsRange[rRangeCount.IndexOf(rRangeCount.Max())], false, true);
                    }
                }
            }

            if (Q.IsReady() && harrassinclear && useQHar && Player.ManaPercentage() >= useQHarMana)
            {
                if (Player.ServerPosition.UnderTurret(true))
                {
                    return;
                }

                var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);
                if (t == null)
                {
                    return;
                }
                Q.CastIfHitchanceEquals(t, HitChance.VeryHigh);
            }

            if (BigMissile ? R2.IsReady() : R1.IsReady() && harrassinclear && useRHar && Player.Spellbook.GetSpell(SpellSlot.R).Ammo >= missiles && Player.ManaPercentage() >= useRHarMana)
            {
                if (Player.ServerPosition.UnderTurret(true))
                {
                    return;
                }

                var t = TargetSelector.GetTarget(BigMissile ? R2.Range : R1.Range, TargetSelector.DamageType.Magical);
                if (t == null)
                {
                    return;
                }
                if (!BigMissile)
                {
                    R1.CastIfHitchanceEquals(t, HitChance.VeryHigh);
                }
                else
                {
                    R2.CastIfHitchanceEquals(t, HitChance.VeryHigh);
                }
            }
        }
Ejemplo n.º 25
0
        public override void Game_OnGameUpdate(EventArgs args)
        {
            if (R1.IsReady() && GetValue <bool>("UseRM"))
            {
                bool bigRocket = HasBigRocket();
                foreach (
                    Obj_AI_Hero hero in
                    ObjectManager.Get <Obj_AI_Hero>()
                    .Where(
                        hero =>
                        hero.IsValidTarget(bigRocket ? R2.Range : R1.Range) &&
                        R1.GetDamage(hero) * (bigRocket ? 1.5f : 1f) > hero.Health))
                {
                    if (bigRocket)
                    {
                        R2.Cast(hero, false, true);
                    }
                    else
                    {
                        R1.Cast(hero, false, true);
                    }
                }
            }

            if ((!ComboActive && !HarassActive) || !Orbwalking.CanMove(100))
            {
                return;
            }

            var useQ = GetValue <bool>("UseQ" + (ComboActive ? "C" : "H"));
            var useE = GetValue <bool>("UseE" + (ComboActive ? "C" : "H"));
            var useR = GetValue <bool>("UseR" + (ComboActive ? "C" : "H"));
            var rLim = GetValue <Slider>("Rlim" + (ComboActive ? "C" : "H")).Value;

            if (useQ && Q.IsReady())
            {
                var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);
                if (t != null)
                {
                    if (Q.Cast(t, false, true) == Spell.CastStates.SuccessfullyCasted)
                    {
                        return;
                    }
                }
            }

            if (useE && E.IsReady())
            {
                var t = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical);
                if (t.IsValidTarget())
                {
                    if (E.Cast(t, false, true) == Spell.CastStates.SuccessfullyCasted)
                    {
                        return;
                    }
                }
            }

            if (useR && R1.IsReady() && ObjectManager.Player.Spellbook.GetSpell(SpellSlot.R).Ammo > rLim)
            {
                bool        bigRocket = HasBigRocket();
                Obj_AI_Hero t         = TargetSelector.GetTarget(bigRocket ? R2.Range : R1.Range, TargetSelector.DamageType.Magical);

                if (t.IsValidTarget())
                {
                    if (bigRocket)
                    {
                        R2.Cast(t, false, true);
                    }
                    else
                    {
                        R1.Cast(t, false, true);
                    }
                }
            }
        }
Ejemplo n.º 26
0
        private void Game_OnGameUpdate(EventArgs args)
        {
            //check if player is dead
            if (Player.IsDead)
            {
                return;
            }

            SmartKs();

            if (menu.Item("escape").GetValue <MenuKeyBind>().Active)
            {
                Orbwalker.Orbwalk(null, Game.CursorPos);
                Escape();
            }
            else if (menu.Item("ComboActive").GetValue <MenuKeyBind>().Active)
            {
                Combo();
            }
            else if (menu.Item("insec").GetValue <MenuKeyBind>().Active)
            {
                Orbwalker.Orbwalk(null, Game.CursorPos);

                _insecTarget = TargetSelector.SelectedTarget;

                if (_insecTarget != null)
                {
                    if (_insecTarget.HasBuffOfType(BuffType.Knockup) || _insecTarget.HasBuffOfType(BuffType.Knockback))
                    {
                        if (Player.Distance(_insecTarget) < 200)
                        {
                            R2.Cast(_rVec);
                        }
                    }

                    Insec();
                }
            }
            else if (menu.Item("qeCombo").GetValue <MenuKeyBind>().Active)
            {
                var soilderTarget = TargetSelector.GetTarget(900);

                Orbwalker.Orbwalk(null, Game.CursorPos);
                CastQe(soilderTarget, "Null");
            }
            else
            {
                if (menu.Item("LaneClearActive").GetValue <MenuKeyBind>().Active)
                {
                    Farm();
                }

                if (menu.Item("HarassActive").GetValue <MenuKeyBind>().Active)
                {
                    Harass();
                }

                if (menu.Item("HarassActiveT").GetValue <MenuKeyBind>().Active)
                {
                    Harass();
                }

                if (menu.Item("wAtk").GetValue <MenuBool>())
                {
                    AutoAtk();
                }
            }
        }
Ejemplo n.º 27
0
        private static void ComboLogic()
        {
            if (ComboW)
            {
                var t = EntityManager.Heroes.Enemies.Find(x => x.IsValidTarget(W.Range) && !x.HasBuffOfType(BuffType.SpellShield));

                if (t != null)
                {
                    if (W.IsReady() && !Orbwalker.CanAutoAttack)
                    {
                        W.Cast();
                    }
                }
            }

            if (E.IsReady())
            {
                var t = EntityManager.Heroes.Enemies.Where(e => e.IsValidTarget(E.Range + myHero.GetAutoAttackRange()));

                if (t == null)
                {
                    return;
                }

                var t12 = t.OrderByDescending(e => TargetSelector.GetPriority(e)).FirstOrDefault();

                if (t12 != null)
                {
                    if (myHero.Distance(t12) > myHero.GetAutoAttackRange() + 20)
                    {
                        E.Cast(t12.ServerPosition);
                    }
                }
                if (ComboE == 0)
                {
                    var t1 = t.OrderByDescending(e => TargetSelector.GetPriority(e)).FirstOrDefault();

                    if (t1 != null)
                    {
                        E.Cast(t1.ServerPosition);
                    }
                }
                else if (ComboE == 1)
                {
                    if (t != null)
                    {
                        E.Cast(Game.CursorPos);
                    }
                }
            }

            if (ComboR)
            {
                if (R1.IsReady())
                {
                    if (useR1 && !myHero.HasBuff("RivenFengShuiEngine"))
                    {
                        var t = TargetSelector.GetTarget(900, DamageType.Physical);
                        if (t == null)
                        {
                            return;
                        }
                        if (t.Distance(myHero.ServerPosition) < E.Range + myHero.AttackRange && myHero.CountEnemiesInRange(500) >= 1)
                        {
                            R1.Cast();
                        }
                    }

                    if (myHero.HasBuff("RivenFengShuiEngine"))
                    {
                        var t = TargetSelector.GetTarget(900, DamageType.Physical);
                        if (t == null)
                        {
                            return;
                        }
                        if (t.ServerPosition.Distance(myHero.ServerPosition) < 850)
                        {
                            switch (R2Mode)
                            {
                            case 0:
                                if (Rdame(t, t.Health) > t.Health && t.IsValidTarget(R2.Range) && t.Distance(myHero.ServerPosition) < 600)
                                {
                                    CastR2 = true;
                                }
                                else
                                {
                                    CastR2 = false;
                                }
                                break;

                            case 1:
                                if (t.HealthPercent < 25 && t.Health > Rdame(t, t.Health) + Damage.GetAutoAttackDamage(myHero, t) * 2)
                                {
                                    CastR2 = true;
                                }
                                else
                                {
                                    CastR2 = false;
                                }
                                break;

                            case 2:
                                if (t.IsValidTarget(R2.Range) && t.Distance(myHero.ServerPosition) < 600)
                                {
                                    CastR2 = true;
                                }
                                else
                                {
                                    CastR2 = false;
                                }
                                break;

                            case 3:
                                CastR2 = false;
                                break;
                            }
                        }

                        if (CastR2)
                        {
                            R2.Cast(t);
                        }
                    }
                }
            }
        }
Ejemplo n.º 28
0
        private static void Game_OnTick(EventArgs args)
        {
            if (Menu.CheckBox(Menu.Principal, "Skin"))
            {
                var id = Menu.Slider(Menu.Principal, "SkinID");
                if (Player.Instance.SkinId != id)
                {
                    Player.Instance.SetSkinId(id);
                }
            }

            if (Ignite.Slot != SpellSlot.Unknown)
            {
                if (Ignite.IsReady() && Menu.CheckBox(Menu.Item, "Ignite"))
                {
                    foreach (var Hero in EntityManager.Heroes.Enemies.Where(x => x.IsValidTarget(Ignite.Range)).OrderBy(x => x.Health))
                    {
                        if (Hero.Health <= Player.Instance.GetSummonerSpellDamage(Hero, DamageLibrary.SummonerSpells.Ignite))
                        {
                            Ignite.Cast(Hero);
                        }
                    }
                }
            }

            if (!W.IsReady())
            {
                TTs = false;
            }

            if (TTs)
            {
                foreach (var Hero in EntityManager.Heroes.Enemies.Where(X => X.Position.Distance(Player.Instance.Position) <= Player.Instance.GetAutoAttackRange()).OrderBy(x => x.Health))
                {
                    TT = Hero;
                }

                foreach (var Minions in EntityManager.MinionsAndMonsters.EnemyMinions.Where(x => x.Position.Distance(Player.Instance.Position) <= Player.Instance.GetAutoAttackRange()).OrderBy(x => x.Health))
                {
                    TT = Minions;
                }

                foreach (var Mob in EntityManager.MinionsAndMonsters.GetJungleMonsters().Where(x => x.Position.Distance(Player.Instance.Position) <= Player.Instance.GetAutoAttackRange()).OrderBy(x => x.Health))
                {
                    TT = Mob;
                }

                if (TT != null)
                {
                    Core.DelayAction(() => Player.IssueOrder(GameObjectOrder.AttackUnit, TT), 50);
                }
            }

            if (Jungle())
            {
                var Monsters = EntityManager.MinionsAndMonsters.GetJungleMonsters().Where(X => X.IsValidTarget(E.Range + Player.Instance.GetAutoAttackRange())).OrderBy(x => x.MaxHealth).FirstOrDefault();

                if (Monsters != null)
                {
                    if (W.IsReady() && Menu.CheckBox(Menu.W, "Jungle"))
                    {
                        if (Monsters.IsValidTarget(RealW()))
                        {
                            W.Cast();
                        }
                    }

                    if (E.IsReady() && Menu.CheckBox(Menu.E, "Jungle"))
                    {
                        if (Monsters.IsValidTarget(E.Range))
                        {
                            E.Cast(Monsters.Position);
                        }
                    }
                }
            }

            if (Lane())
            {
                var Minions = EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy, Player.Instance.Position, RealW());
                var Circle  = EntityManager.MinionsAndMonsters.GetCircularFarmLocation(Minions, 200, RealW());

                if (Q.IsReady() && CountQ == 2)
                {
                    Q.Cast(Circle.CastPosition);
                }

                if (Menu.CheckBox(Menu.W, "Lane"))
                {
                    if (Circle.HitNumber >= Menu.Slider(Menu.W, "LaneMin") && W.IsReady())
                    {
                        W.Cast();
                    }
                }
            }

            if (Combo() && Target != null)
            {
                if (Menu.CheckBox(Menu.Item, "Youmuu"))
                {
                    if (Target.IsValidTarget(E.Range))
                    {
                        Use();
                    }
                }

                if (R.IsReady() && Menu.CheckBox(Menu.R, "UseR1") && R.ToggleState == 1)
                {
                    if (!IsActive && CheckR1(Target))
                    {
                        if (Target.IsValidTarget(RealW(), true) && W.IsReady())
                        {
                            Reset();
                            W.Cast();
                            R.Cast();
                        }
                        else if (Target.IsValidTarget(E.Range + Player.Instance.GetAutoAttackRange(), true) && E.IsReady())
                        {
                            E.Cast(Target.Position);
                            R.Cast();
                        }
                        else if (Target.IsValidTarget(RealQ(), true) && Q.IsReady())
                        {
                            Q.Cast(Target.Position);
                            R.Cast();
                        }
                        else
                        {
                            R.Cast();
                        }
                    }
                }

                if (R2.IsReady() && R.ToggleState >= 2)
                {
                    if (IsActive && CheckR2(Target))
                    {
                        var Pred = R2.GetPrediction(Target);

                        if (Pred.HitChance >= HitChance.High)
                        {
                            if (Target.IsValidTarget(R2.Range))
                            {
                                R2.Cast(Pred.UnitPosition);
                            }
                        }
                    }
                }

                if (Q.IsReady() && CountQ == 2)
                {
                    if (Target.IsValidTarget(RealQ(), true) && !Target.IsValidTarget(Player.Instance.GetAutoAttackRange()))
                    {
                        Q.Cast(Target.Position);
                    }

                    if (Target.IsValidTarget(RealW(), true) && W.IsReady())
                    {
                        Reset();
                        W.Cast();
                    }
                }

                if (E.IsReady())
                {
                    if (Target.IsValidTarget(E.Range + Player.Instance.GetAutoAttackRange(), true))
                    {
                        if (!Target.IsValidTarget(Player.Instance.GetAutoAttackRange()))
                        {
                            E.Cast(Target.Position);
                        }
                    }

                    if (W.IsReady() && Target.IsValidTarget(RealW()))
                    {
                        Reset();
                        W.Cast();
                    }
                }

                if (W.IsReady() && Target.IsValidTarget(RealW()))
                {
                    Reset();
                    W.Cast();
                }
            }

            if (Menu.Keybind(Menu.Misc, "Burst") || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass))
            {
                if (Target.IsValidTarget(E.Range + Flash.Range))
                {
                    var Pred = R2.GetPrediction(Target);
                    E.Cast(Player.Instance.Position.Extend(Target.Position, E.Range).To3D());

                    if (!IsActive)
                    {
                        R.Cast();
                    }

                    if (Flash.IsReady() && Target.Position.Distance(Player.Instance.Position) <= 650)
                    {
                        Flash.Cast(Player.Instance.Position.Extend(Target.Position, Flash.Range).To3D());
                    }

                    if (W.IsReady() && Target.IsValidTarget(RealW()))
                    {
                        Reset();
                        W.Cast();
                    }

                    if (Menu.CheckBox(Menu.Item, "Youmuu"))
                    {
                        if (Target.IsValidTarget(E.Range))
                        {
                            Use();
                        }
                    }

                    if (Q.IsReady())
                    {
                        Q.Cast(Target.Position);
                    }

                    if (IsActive)
                    {
                        R2.Cast(Target.Position);
                    }
                }
            }

            if (Flee())
            {
                if (Menu.CheckBox(Menu.Q, "Flee") && Q.IsReady())
                {
                    Q.Cast((Game.CursorPos.Distance(Player.Instance) > Q.Range ? Player.Instance.Position.Extend(Game.CursorPos, Q.Range - 1).To3D() : Game.CursorPos));
                }

                if (Menu.CheckBox(Menu.E, "Flee") && E.IsReady())
                {
                    E.Cast((Game.CursorPos.Distance(Player.Instance) > E.Range ? Player.Instance.Position.Extend(Game.CursorPos, E.Range - 1).To3D() : Game.CursorPos));
                }
            }
        }
Ejemplo n.º 29
0
        public static void Combo()
        {
            var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);

            if (target != null)
            {
                if (Menu.Config.Item("q.combo").IsActive())
                {
                    if (Q.CanCast(target))
                    {
                        if (target.IsMoving && target.Path.ToList().Count >= 2)
                        {
                            //var qpred = Q.GetPrediction(target);
                            var x = target.Position.Extend(Prediction.GetPrediction(target, Q.Delay).UnitPosition, 300);

                            if (Q.IsInRange(x))
                            {
                                Q.Cast(x);
                                return;
                            }
                        }

                        var qpred = Q.GetPrediction(target);
                        if (qpred.Hitchance >= HitChance.Dashing)
                        {
                            Q.Cast(qpred.CastPosition);
                        }
                    }
                }

                if (Menu.Config.Item("e.combo").IsActive())
                {
                    if (E.IsReady() && Player.IsFacing(target))
                    {
                        E.Cast(target);
                    }
                }
            }

            if (Menu.Config.Item("r.combo").IsActive() && Menu.Config.Item("r.combo.stacks").GetValue <Slider>().Value < R.Instance.Ammo)
            {
                if (R.IsReady())
                {
                    var r2 = Player.HasBuff("corkimissilebarragecounterbig");
                    if (!r2)
                    {
                        var rtarget = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical);
                        if (rtarget == null)
                        {
                            return;
                        }
                        var pred = R.GetPrediction(rtarget);
                        if (R.CanCast(rtarget))
                        {
                            switch (pred.Hitchance)
                            {
                            case HitChance.High:
                            case HitChance.VeryHigh:
                            case HitChance.Immobile:
                                R.Cast(pred.CastPosition);
                                break;

                            case HitChance.Collision:
                                var colliding =
                                    pred.CollisionObjects.OrderBy(o => o.Distance(Player.ServerPosition)).ToList();
                                if (colliding[0].Distance(rtarget.ServerPosition) <= 200 + colliding[0].BoundingRadius)
                                {
                                    R.Cast(pred.CastPosition);
                                }
                                break;
                            }
                        }
                    }
                    else
                    {
                        var rtarget = TargetSelector.GetTarget(R2.Range, TargetSelector.DamageType.Magical);
                        if (rtarget == null)
                        {
                            return;
                        }
                        var pred = R2.GetPrediction(rtarget);
                        if (R2.CanCast(rtarget))
                        {
                            switch (pred.Hitchance)
                            {
                            case HitChance.High:
                            case HitChance.VeryHigh:
                            case HitChance.Immobile:
                                R2.Cast(pred.CastPosition);
                                break;

                            case HitChance.Collision:
                                var colliding =
                                    pred.CollisionObjects.OrderBy(o => o.Distance(Player.ServerPosition)).ToList();
                                if (colliding[0].Distance(rtarget.ServerPosition) <= 200 + colliding[0].BoundingRadius)
                                {
                                    R.Cast(pred.CastPosition);
                                }
                                break;
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 30
0
        public override void Game_OnGameUpdate(EventArgs args)
        {
            if (R1.IsReady() && Program.misc["UseRM"].Cast <CheckBox>().CurrentValue)
            {
                bool bigRocket = HasBigRocket();
                foreach (
                    AIHeroClient hero in
                    ObjectManager.Get <AIHeroClient>()
                    .Where(
                        hero =>
                        hero.LSIsValidTarget(bigRocket ? R2.Range : R1.Range) &&
                        R1.GetDamage(hero) * (bigRocket ? 1.5f : 1f) > hero.Health))
                {
                    if (bigRocket)
                    {
                        R2.Cast(hero, false, true);
                    }
                    else
                    {
                        R1.Cast(hero, false, true);
                    }
                }
            }

            if ((!ComboActive && !HarassActive) || !Orbwalker.CanMove)
            {
                return;
            }

            var useQ = ComboActive ? Program.combo["UseQC"].Cast <CheckBox>().CurrentValue : Program.harass["UseQH"].Cast <CheckBox>().CurrentValue;
            var useE = ComboActive ? Program.combo["UseEC"].Cast <CheckBox>().CurrentValue : Program.harass["UseEH"].Cast <CheckBox>().CurrentValue;
            var useR = ComboActive ? Program.combo["UseRC"].Cast <CheckBox>().CurrentValue : Program.harass["UseRH"].Cast <CheckBox>().CurrentValue;
            var rLim = ComboActive ? Program.combo["RlimC"].Cast <Slider>().CurrentValue : Program.harass["RlimH"].Cast <Slider>().CurrentValue;

            if (useQ && Q.IsReady())
            {
                var t = TargetSelector.GetTarget(Q.Range, DamageType.Magical);
                if (t != null)
                {
                    if (Q.Cast(t, false, true) == LeagueSharp.Common.Spell.CastStates.SuccessfullyCasted)
                    {
                        return;
                    }
                }
            }

            if (useE && E.IsReady())
            {
                var t = TargetSelector.GetTarget(E.Range, DamageType.Physical);
                if (t.IsValidTarget())
                {
                    if (E.Cast(t, false, true) == LeagueSharp.Common.Spell.CastStates.SuccessfullyCasted)
                    {
                        return;
                    }
                }
            }

            if (useR && R1.IsReady() && ObjectManager.Player.Spellbook.GetSpell(SpellSlot.R).Ammo > rLim)
            {
                bool         bigRocket = HasBigRocket();
                AIHeroClient t         = TargetSelector.GetTarget(bigRocket ? R2.Range : R1.Range, DamageType.Magical);

                if (t.LSIsValidTarget())
                {
                    if (bigRocket)
                    {
                        R2.Cast(t, false, true);
                    }
                    else
                    {
                        R1.Cast(t, false, true);
                    }
                }
            }
        }